(57)【要約】【課題】適応オフセットフィルタのパラメータの符号化を改善する。【解決手段】動画像復号装置１の適応オフセットフィルタ６０が用いるオフセットを含むフィルタパラメータは、第１単位領域および第１単位領域の集合とは独立したパラメータセットに格納される第１のパラメータ格納方法か、あるいは、第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法か、の何れかの格納方法で符号化データに格納されている。【選択図】図１
2013236358.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のツリーブロックの組から構成される符号化データであるスライスデータから、ツリーブロックを構成する符号化単位に含まれる予測パラメータと量子化予測残差を復号して生成される予測残差と、予測画像とを加算して復号画像を生成する画像復号装置であって、
上記符号化データから、上記ツリーブロックに対応するフィルタ領域のフィルタパラメータを復号する復号手段と、
上記復号手段が復号したフィルタパラメータを用いて、フィルタ処理を行うフィルタ手段と、を備え、
上記符号化データは、上記ツリーブロックのデータと上記フィルタパラメータとが交互に格納される格納方法によりフィルタパラメータを格納していることを特徴とする画像復号装置。
【請求項２】
上記復号手段は、上記ツリーブロックの集合の水平方向のサイズを復号すると共に、該復号の対象となる対象ツリーブロックの座標が該水平方向のサイズの整数倍以外の場合、該対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータからコピーするか否かを示す左マージフラグを復号せずに導出し、該左マージフラグが１の場合、該対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータをコピーして導出することを特徴とする請求項１に記載の画像復号装置。
【請求項３】
上記復号手段は、上記対象ツリーブロックの座標が上記水平方向のサイズの整数倍以外の場合、
上記対象ツリーブロックの左に隣接するツリーブロックが、上記対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックではないとき、上記左マージフラグを１として導出し、
上記対象ツリーブロックの左に隣接するツリーブロックが、上記対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックであるとき、上記左マージフラグを０として導出することを特徴とする請求項２に記載の画像復号装置。
【請求項４】
上記復号手段は、上記対象ツリーブロックの座標が上記水平方向のサイズの整数倍で、かつ、対象ツリーブロックの左に隣接するツリーブロックが対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックではない場合、上記左マージフラグを符号化データから復号することを特徴とする請求項２または３に記載の画像復号装置。
【請求項５】
上記フィルタパラメータは、上記ツリーブロックに含まれる符号化単位の後に格納されていることを特徴とする請求項１に記載の画像復号装置。
【請求項６】
上記フィルタパラメータは、スライス終端を示すフラグの前に格納されていることを特徴とする請求項５に記載の画像復号装置。
【請求項７】
上記フィルタパラメータは、上記ツリーブロックに含まれる符号化ツリーが分割されない場合、かつ、該符号化ツリーの位置が、符号化ツリーブロックＣＴＢの境界に位置する場合、該符号化ツリーにおいて格納されることを特徴とする請求項５または６に記載の画像復号装置。
【請求項８】
上記フィルタパラメータは、符号化単位のＸ座標に符号化ツリーの横幅を加えた座標が符号化ツリーブロックＣＴＢサイズの倍数であり、かつ、符号化単位のＹ座標に符号化ツリーの縦幅を加えた座標が符号化ツリーブロックＣＴＢサイズの倍数である場合に、該符号化ツリーに格納することを特徴とする請求項７に記載の画像復号装置。
【請求項９】
上記フィルタ手段は、上記ツリーブロックを含むスライスが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合、該フィルタパラメータを含まないツリーブロックに対応する領域のフィルタ処理を行わないことを特徴とする請求項６〜８のいずれか１項に記載の画像復号装置。
【請求項１０】
上記フィルタ手段は、上記ツリーブロックを含むスライスが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合、上記ツリーブロックを含むＣＴＢに対応する、該ツリーブロック以外のツリーブロックに含まれるフィルタパラメータを用いて、該ツリーブロックに対応する領域のフィルタ処理を行うことを特徴とする請求項６〜８のいずれか１項に記載の画像復号装置。
【請求項１１】
上記フィルタ手段は、
上記スライスの境界にループフィルタを適用するか否かを示すフラグが、適用することを示す場合、上記ツリーブロックを含むスライスが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合も、上記ツリーブロックに対応する領域のフィルタ処理を行い、
上記フラグが、スライス境界にループフィルタを適用しないことを示す場合、上記ツリーブロックに対応する領域のフィルタ処理を行わないことを特徴とする請求項６〜８のいずれか１項に記載の画像復号装置。
【請求項１２】
上記フィルタ手段は、
上記フィルタパラメータがツリーブロックにインターリーブされている場合、上記ツリーブロックを含むスライスデータが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合も、該ツリーブロックに対応する領域のフィルタ処理を行い、
上記フィルタパラメータがツリーブロックとインターリーブされていていない場合、上記ツリーブロックに対応する領域のフィルタ処理を行わないことを特徴とする請求項６〜８のいずれか１項に記載の画像復号装置。
【請求項１３】
符号化ツリーブロックＣＴＢの途中でスライス分割される分割ＣＴＢの場合には、該分割ＣＴＢに対応する全てのツリーブロックでフィルタパラメータが含まれておらず、
上記フィルタ手段は、上記分割ＣＴＢにはフィルタパラメータを用いたフィルタ処理を行わないことを特徴とする請求項６〜８のいずれか１項に記載の画像復号装置。
【請求項１４】
上記フィルタパラメータは、適応オフセットフィルタのフィルタパラメータと、適応空間フィルタのフィルタパラメータとを含むとともに、適応オフセットフィルタと適応空間フィルタとに共通のオンオフフラグを含むことを特徴とする請求項１、５〜１３のいずれか１項に記載の画像復号装置。
【請求項１５】
上記フィルタパラメータは、適応オフセットフィルタのフィルタパラメータと、適応空間フィルタのフィルタパラメータとを含み、
上記フィルタ手段は、符号化ツリーブロックＣＴＢに対応するフィルタ領域に対して、上記適応オフセットフィルタもしくは上記適応空間フィルタを選択的に選択してフィルタ処理を行うことを特徴とする請求項１、５〜１４のいずれか１項に記載の画像復号装置。
【請求項１６】
上記符号化データは、上記フィルタパラメータが、適応パラメータセットＡＰＳまたはスライスヘッダに格納される第３の格納方法により、フィルタパラメータを格納しており、
上記フィルタ手段は、上記フィルタパラメータが上記第３の格納方法により格納されている場合、上記適応オフセットフィルタの後段で上記適応空間フィルタを適用することを特徴とする請求項１５に記載の画像復号装置。
【請求項１７】
上記フィルタ手段が行うフィルタ処理では、上記適応オフセットフィルタのＹ軸方向の参照範囲と、上記適応空間フィルタのＹ軸方向の参照範囲が等しいことを特徴とする請求項１５に記載の画像復号装置。
【請求項１８】
上記符号化データは、上記フィルタパラメータが、適応パラメータセットＡＰＳまたはスライスヘッダに格納される第３の格納方法により、フィルタパラメータを格納しており、
フィルタパラメータが上記第３の格納方法により格納されている場合、上記フィルタ手段が行うフィルタ処理では、上記適応空間フィルタのＹ軸方向の参照範囲を、上記適応オフセットフィルタのＹ軸方向の参照範囲よりも大きくすることを特徴とする請求項１７に記載の画像復号装置。
【請求項１９】
上記フィルタ手段は、上記適応空間フィルタの参照範囲を決定するバーチャルバウンダリの相対位置を、デブロッキングフィルタの参照範囲により導出することを特徴とする請求項１５に記載の画像復号装置。
【請求項２０】
上記フィルタ手段は、
上記適応オフセットフィルタと上記適応空間フィルタを選択的に用いてフィルタ処理を行う場合、上記適応空間フィルタの参照範囲を決定するバーチャルバウンダリの相対位置をデブロッキングフィルタの参照範囲から導出し、
上記適応オフセットフィルタのフィルタ処理の後段で上記適応空間フィルタのフィルタ処理を行う場合、上記適応空間フィルタの参照範囲を決定するバーチャルバウンダリの相対位置をデブロッキングフィルタの参照範囲と上記適応空間フィルタの参照範囲の和から導出することを特徴とする請求項１６に記載の画像復号装置。
【請求項２１】
上記復号手段は、復号画像のビット深度と、量子化パラメータに依存した閾値を用いて、適応オフセットフィルタの逆量子化を行うことを特徴とする請求項１に記載の画像復号装置。
【請求項２２】
上記復号手段は、復号画像のビット深度と、符号化ツリーブロックＣＴＢサイズに依存した閾値とを用いて、適応オフセットフィルタの逆量子化を行うことを特徴とする請求項１に記載の画像復号装置。
【請求項２３】
上記復号手段は、上記フィルタパラメータがツリーブロックにインターリーブされている場合と、上記フィルタパラメータがツリーブロックにインターリーブされている場合とに依存した閾値を用いて、適応オフセットフィルタの逆量子化を行うことを特徴とする請求項１に記載の画像復号装置。
【請求項２４】
複数の第１単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、
上記第１単位領域に含まれる画素において、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記第１単位領域毎に決定するオフセット決定手段と、
上記オフセット決定手段が決定したオフセットを、上記第１単位領域に含まれる画素の画素値に加算するフィルタ手段と、
上記符号化データからフィルタパラメータを復号する復号手段と、を備え、
上記フィルタパラメータは、上記フィルタ手段が用いるオフセットを含むオフセット情報を第２単位領域毎に含むとともに、
上記フィルタパラメータは、上記第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で符号化データに格納されていることを特徴とする画像フィルタ装置。
【請求項２５】
上記フィルタ手段が、上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合よりも狭い値域で表現されるオフセットを用いることを特徴とする請求項２４に記載の画像フィルタ装置。
【請求項２６】
上記フィルタ手段が、上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合よりも狭い値域で表現されるオフセットを用いることを特徴とする請求項２４に記載の画像フィルタ装置。
【請求項２７】
上記クラス分類方法には、対象画素について、該画素周辺のエッジの状態に基づいてクラス分類を行う第１のクラス分類方法と、対象画素の画素値に基づいてクラス分類を行う第２のクラス分類方法とが含まれており、
上記フィルタ手段が加算するオフセットの値域は、上記第２のクラス分類方法を用いて加算するオフセットを決定された場合と、上記第１のクラス分類方法を用いて加算するオフセット決定された場合とで同じ幅であることを特徴とする請求項２５に記載の画像フィルタ装置。
【請求項２８】
上記クラス分類方法には、上記クラス毎にオフセットの値域が異なるクラス分類方法が含まれていることを特徴とする、請求項２４〜２７のいずれか１項に記載の画像フィルタ装置。
【請求項２９】
上記フィルタ手段が加算するオフセットの値域の最大値は、２のべき乗から２を引いた数となっていることを特徴とする請求項２４〜２８のいずれか１項に記載の画像フィルタ装置。
【請求項３０】
上記フィルタパラメータには、上記第２単位領域の大きさを表す第２単位領域サイズが含まれていることを特徴とする請求項２４に記載の画像フィルタ装置。
【請求項３１】
上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２単位領域サイズは、水平方向の大きさおよび垂直方向の大きさを表す値を含み、
上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２単位領域サイズは、少なくとも水平方向の大きさを表す値を含むことを特徴とする請求項３０に記載の画像フィルタ装置。
【請求項３２】
上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合と前記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合とのいずれの場合でも参照可能なパラメータセットに、上記第２単位領域サイズとして、水平方向の大きさおよび垂直方向の大きさを表す値が含まれていることを特徴とする請求項３０に記載の画像フィルタ装置。
【請求項３３】
符号化データで使用可能な技術要素を定義するプロファイル、または、符号化データを復号する際に必須となる諸性能を定義するレベルに基づいて上記第２単位領域のサイズが決定されることを特徴とする請求項３０に記載の画像フィルタ装置。
【請求項３４】
上記プロファイルまたは上記レベルに基づいて定められた第２単位領域サイズを、上記第２単位領域のサイズの最小値または初期値とすることを特徴とする請求項３３に記載の画像フィルタ装置。
【請求項３５】
上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２単位領域の垂直方向の大きさは上記第１単位領域の垂直方向の大きさと等しいことを特徴とする、請求項３０〜３４のいずれか１項に記載の画像フィルタ装置。
【請求項３６】
符号化データから復号した予測残差に、生成した予測画像を加算して復号画像を生成する画像復号装置であって、
上記予測残差に上記予測画像を加算した加算画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、
上記オフセット加算手段がオフセットを加算した画像を復号画像として出力する出力手段と、を備え、
上記オフセット加算手段には、
上記単位領域に含まれる画素において、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、
上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、
上記符号化データからフィルタパラメータを復号する復号手段と、が備えられており、
上記フィルタパラメータは、上記フィルタ手段が用いるオフセットを含むオフセット情報を第２単位領域毎に含んでいるとともに、
上記フィルタパラメータは、第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で符号化データに格納されていることを特徴とする画像復号装置。
【請求項３７】
生成した予測画像と原画像との差分である予測残差を符号化することによって符号化データを生成する画像符号化装置であって、
原画像を符号化し、復号した復号画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、
上記オフセット加算手段がオフセットを加算した画像から上記予測画像を生成する予測画像生成手段と、
上記予測画像生成手段が生成した予測画像と原画像との差分である予測残差を符号化する符号化手段と、を備え、
上記オフセット加算手段には、
上記単位領域に含まれる画素もおいて、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、
上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられており、
上記符号化手段は、上記フィルタ手段が加算するオフセットを含むオフセット情報が、第２単位領域毎に含まれているフィルタパラメータを符号化するとともに、該フィルタパラメータは、第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で符号化データに格納することを特徴とする画像符号化装置。
【請求項３８】
画像復号装置において復号される、予測画像と原画像との差分である予測残差が符号化された符号化データのデータ構造であって、
画素値データと、
上記画素値データが示す画素値に加算するオフセットを決定するためのクラス分類方法を選択するためのクラス分類方法選択データと、
上記画像復号装置におけるフィルタ手段で用いられる上記オフセットを含むフィルタパラメータと、を含み、
上記フィルタパラメータは、第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で格納されていることを特徴とする符号化データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、そのような画像フィルタを備えている符号化装置、および、復号装置に関する。また、そのような復号装置によって復号される符号化データのデータ構造に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置（符号化装置）、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置（復号装置）が用いられている。具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣに採用されている方式、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式、および、ＨＭ（HEVC TestModel）ソフトウェアに採用されている方式などが挙げられる。
【０００３】
このような符号化方式において、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる最大符号化単位（LCU:Largest Coding Unit、ツリーブロックとも呼ばれる）、最大符号化単位を分割することにより得られる符号化単位（CU:Coding Unit、符号化ノードとも呼ばれる）、および、符号化単位を分割することにより得られるブロックおよびパーティションからなる階層構造により管理され、多くの場合、ブロックを最小単位として符号化される。
【０００４】
また、このような符号化方式においては、通常、入力画像を符号化し、復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分データが符号化される。また、予測画像の生成方法としては、画面間予測（インター予測）、および、画面内予測（イントラ予測）と呼ばれる方法が知られている。
【０００５】
イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。具体的には、イントラ予測においては、通常、予測単位（例えば、ブロック）毎に、予め定められた予測方向（予測モード）群に含まれる予測方向から何れかの予測方向が選択されると共に、局所復号画像における参照画素の画素値を、選択された予測方向に外挿することによって、予測対象領域上の予測画素値が生成される。また、インター予測においては、フレーム全体が復号された参照フレーム（復号画像）内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位（例えば、ブロック）毎に生成される。
【０００６】
非特許文献１には、復号画像のブロック歪みを低減させるデブロッキングフィルタの後段であって、適応的に決定され符号化データ中に符号化されたパラメータを用いてフィルタ処理を行うループフィルタが２つ開示されている。一つは、フィルタパラメータとしてフィルタ係数を用いたフィルタ処理を行う適応的ループフィルタ（「適応フィルタ」、ＡＬＦとも呼ぶ）であり、もう一つは適応的オフセットフィルタ（「適応オフセットフィルタ」「SAO (Sample Adaptive Offset)」とも呼ぶ）である。この適応オフセットフィルタは、デブロッキングフィルタから出力される画像の各画素値に対して、適応的に設定されたオフセットを加算するというものである。
【０００７】
このような適応オフセットフィルタを備えることによって、符号化歪みをより効果的に抑制することができる。
【０００８】
また、非特許文献２には、適応オフセットフィルタのパラメータをツリーブロック単位で格納することが記載されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「High efficiency video coding (HEVC) text specification draft 6」,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7th Meeting: Geneva, CH, 21‐30 November, 2011, JCTVC-H1003dK
【非特許文献２】「High Efficiency Video Coding (HEVC) text specification draft 7」,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, CH, 27 April ‐ 7 May 2012, 2012, JCTVC-I1003_d5
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した適応オフセットフィルタは、複数のオフセット値を含むパラメータを適応的に決定し、符号化する。しかしながら、非特許文献１に開示された方法では、オフセット値の符号化データの長さ（符号長）が長くなる場合があり、復号時および符号化時の処理量が増加する。
【００１１】
例えば、非特許文献１では、オフセット値を適応パラメータセット（ＡＰＳ）に格納する場合、ピクチャ内で用いられるオフセット値をメモリに保持しておく必要がある。このとき、メモリはオフセット値の最大ビット長および使われうるオフセットの数に比例した量で確保する必要があるため、オフセット値の最大ビット長が大きくなると必要メモリ量が増大してしまう。
【００１２】
また、非特許文献１では、適応オフセットフィルタのパラメータをツリーブロック単位に格納することも可能である。その場合、適応オフセットフィルタのパラメータは各ツリーブロックの符号化データの前に格納される。しかしながら、符号化装置においては、適応オフセットフィルタのパラメータの導出および符号化は各ツリーブロックの符号化処理の後である。したがって、適応オフセットフィルタのパラメータを符号化する際には、符号化データを遡って再符号化および再度挿入する処理をしなければならなくなる。同様に、適応ループフィルタのパラメータをツリーブロック単位で格納する場合を仮定した場合も、非特許文献１に開示された方法では、符号化データを遡って再符号化及び再度挿入する処理をしなければならなくなる。
【００１３】
また、非特許文献２に開示された方法では、適応オフセットフィルタのパラメータをツリーブロック単位に格納する。この場合、ツリーブロックのサイズが小さくなると、単位面積当たりのパラメータの符号量のオーバーヘッドが大きくなるため、符号化効率が低下してしまう。
【００１４】
本発明は、上記の問題に鑑みてなされたものであり、その目的は適応オフセットフィルタのパラメータの符号化方法を改善し、パラメータに用いるメモリ使用量あるいは符号化の処理量を低減することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために本発明に係る画像復号装置は、１つ以上のツリーブロックの組から構成される符号化データであるスライスデータから、ツリーブロックを構成する符号化単位に含まれる予測パラメータと量子化予測残差を復号して生成される予測残差と、予測画像とを加算して復号画像を生成する画像復号装置であって、上記符号化データから、上記ツリーブロックに対応するフィルタ領域のフィルタパラメータを復号する復号手段と、上記復号手段が復号したフィルタパラメータを用いて、フィルタ処理を行うフィルタ手段と、を備え、上記符号化データは、上記ツリーブロックのデータと上記フィルタパラメータとが交互に格納される格納方法によりフィルタパラメータを格納していることを特徴としている。
【００１６】
上記の構成によれば、ツリーブロックのデータとフィルタパラメータとが交互に格納された符号化データを用いるので、フィルタパラメータを効率的に利用することができ、処理量の低減を図り、符号化効率を向上させることができる。
【００１７】
上記復号手段は、上記ツリーブロックの集合の水平方向のサイズを復号すると共に該復号の対象となる対象ツリーブロックの座標が該水平方向のサイズの整数倍以外の場合、対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータからコピーするか否かを示す左マージフラグを復号せずに導出し、該左マージフラグが１の場合、該対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータをコピーして導出するものであってもよい。
【００１８】
上記の構成によれば、復号対象のツリーブロックの座標が、当該ツリーブロックを含むツリーブロックの集合の水平方向のサイズの整数倍以外の場合に、対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータからコピーするか否かを示す左マージフラグを復号せずに導出する。これにより、左マージフラグのオーバーヘッドを低減させることができ、符号化効率を向上させることができる。
【００１９】
上記復号手段は、上記対象ツリーブロックの座標が上記水平方向のサイズの整数倍以外の場合、上記対象ツリーブロックの左に隣接するツリーブロックが、上記対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックではないとき、上記左マージフラグを１として導出し、上記対象ツリーブロックの左に隣接するツリーブロックが、上記対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックであるとき、上記左マージフラグを０として導出するものであってもよい。
【００２０】
上記の構成によれば、復号対象のツリーブロックと、該ツリーブロックの左に隣接しているツリーブロックとが、同じスライスまたはタイルに含まれるか否かによって、左マージフラグを導出するので、左マージフラグを適切に導出することができる。
【００２１】
上記復号手段は、上記対象ツリーブロックの座標が上記水平方向のサイズの整数倍で、かつ、対象ツリーブロックの左に隣接するツリーブロックが対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックではない場合、上記左マージフラグを符号化データから復号するものであってもよい。
【００２２】
上記の構成によれば、ツリーブロックの集合の左端に位置するツリーブロックでは、左マージフラグによりツリーブロックの集合をさらにマージすることが可能である。符号化装置で適切に設定されたマージフラグを符号化データから復号するため高い符号化効率を得る効果を奏する。
【００２３】
本発明に係る画像復号装置では、上記フィルタパラメータは、上記ツリーブロックに含まれる符号化単位の後に格納されていてもよい。
【００２４】
上記の構成によれば、フィルタパラメータを決定後、予測パラメータや量子化予測残差を含む符号化単位を再符号化する必要がないため、処理量を低減することができる。
【００２５】
本発明に係る画像復号装置では、上記フィルタパラメータは、スライス終端を示すフラグの前に格納されていてもよい。
【００２６】
上記の構成によれば、フィルタパラメータを決定後、符号化ツリーブロックＣＴＢを構成する符号化ユニットに含まれる予測パラメータおよび量子化予測残差を再符号化する必要がないため、処理量を低減することができる。
【００２７】
なお、上記スライス終端を示すフラグは、end_of_sliceと標記されることもある。
【００２８】
本発明に係る画像復号装置では、上記フィルタパラメータは、上記ツリーブロックに含まれる符号化ツリーが分割されない場合、かつ、該符号化ツリーの位置が、符号化ツリーブロックＣＴＢの境界に位置する場合、該符号化ツリーにおいて格納されてもよい。
【００２９】
上記の構成によれば、符号化ツリーブロックＣＴＢ単位でフィルタパラメータが符号化されるため、ＣＴＢ単位より細かくフィルタパラメータを符号化する場合に比べ、符号量を低減させることができる。また、フィルタ領域の単位がＣＴＢ単位に対応する単位となるため、より細かい単位でフィルタ処理を行う場合に比べフィルタ処理が簡単になる。
【００３０】
本発明に係る画像復号装置では、上記フィルタパラメータは、符号化単位のＸ座標に符号化ツリーの横幅を加えた座標が符号化ツリーブロックＣＴＢサイズの倍数であり、かつ、符号化単位のＹ座標に符号化ツリーの縦幅を加えた座標が符号化ツリーブロックＣＴＢサイズの倍数である場合に、該符号化ツリーに格納するものであってもよい。
【００３１】
上記の構成によれば、符号化ツリーブロックＣＴＢ単位でフィルタパラメータが符号化されるため、ＣＴＢ単位より細かくフィルタパラメータを符号化する場合に比べ、符号量を低減させることができる。また、フィルタ領域の単位がＣＴＢ単位に対応する単位となるため、より細かい単位でフィルタ処理を行う場合に比べフィルタ処理が簡単になる。
【００３２】
本発明に係る画像復号装置では、上記フィルタ手段は、上記ツリーブロックを含むスライスが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合、該フィルタパラメータを含まないツリーブロックに対応する領域のフィルタ処理を行わないものであってもよい。
【００３３】
上記の構成によれば、符号化ツリーブロックＣＴＢの途中でスライス分割が行われる場合においても、非完了ＴＢを含む分割ＣＴＢに関するスライスの復号処理を遅らせることなく、適応ループフィルタ処理を行うことができるため、スループットを向上させることができる。また、処理を遅らせる必要がないため、処理を簡略化することができる。
【００３４】
本発明に係る画像復号装置では、上記フィルタ手段は、上記ツリーブロックを含むスライスが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合、上記ツリーブロックを含むＣＴＢに対応する、該ツリーブロック以外のツリーブロックに含まれるフィルタパラメータを用いて、該ツリーブロックに対応する領域のフィルタ処理を行うものであってもよい。
【００３５】
上記の構成によれば、符号化ツリーブロックＣＴＢの途中でスライス分割が行われる場合においても、適応ループフィルタ処理を行うことができるため、符号化効率を向上させることができる。
【００３６】
本発明に係る画像復号装置では、上記フィルタ手段は、上記スライスの境界にループフィルタを適用するか否かを示すフラグが、適用することを示す場合、上記ツリーブロックを含むスライスが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合も、上記ツリーブロックに対応する領域のフィルタ処理を行い、上記フラグが、スライス境界にループフィルタを適用しないことを示す場合、上記ツリーブロックに対応する領域のフィルタ処理を行わないものであってもよい。
【００３７】
上記の構成によれば、スライス境界にループフィルタ処理を行わない場合には、適応ループフィルタ処理を行わないように制限することでスループットを向上させることができる。また、スライス境界にループフィルタ処理を行う場合には、適応ループフィルタ処理を行うことで符号化効率を向上させることができる。
【００３８】
本発明に係る画像復号装置では、上記フィルタ手段は、上記フィルタパラメータがツリーブロックにインターリーブされている場合、上記ツリーブロックを含むスライスデータが、該ツリーブロックに対応する領域にかかるフィルタ処理に用いるフィルタパラメータを含まない場合も、該ツリーブロックに対応する領域のフィルタ処理を行い、上記フィルタパラメータがツリーブロックとインターリーブされていていない場合、上記ツリーブロックに対応する領域のフィルタ処理を行わないものであってもよい。
【００３９】
上記の構成によれば、ＬＣＵモードの場合には適応ループフィルタ処理を行わないように制限することでスループットを向上させることができる。また、ＡＰＳモードもしくはＳＨモードの場合には、適応ループフィルタ処理を行うことで符号化効率を向上させることができる。
【００４０】
本発明に係る画像復号装置では、符号化ツリーブロックＣＴＢの途中でスライス分割される分割ＣＴＢの場合には、該分割ＣＴＢに対応する全てのツリーブロックでフィルタパラメータが含まれておらず、上記フィルタ手段は、上記分割ＣＴＢにはフィルタパラメータを用いたフィルタ処理を行わないものであってもよい。
【００４１】
上記の構成によれば、分割ＣＴＢにおける適応ループフィルタ処理を簡略化することができるとともに、スループットを向上させることができる。
【００４２】
なお、slice_loop_filter_across_slices_enabled_flagに応じて処理を変更することも可能である。すなわち、slice_loop_filter_across_slices_enabled_flagが１の場合には、分割ＣＴＢに対して適応ループフィルタ処理を適用せず、一方、slice_loop_filter_across_slices_enabled_flagが０の場合には、分割ＣＴＢに対して適応ループフィルタ処理を適用する。適応ループフィルタパラメータの復号は、ＬＣＵモードであり、かつ、slice_loop_filter_across_slices_enabled_flagが１であり、かつ、非分割ＣＴＢの完了ＴＢの場合に行う。非分割ＣＴＢは、スライスの先頭ＣＴＢ以外で、かつＣＴＢの途中でスライス分割されない場合、もしくは、スライス先頭ＣＴＢかつスライス先頭アドレスがＣＴＢの途中でない場合である。
【００４３】
本発明に係る画像復号装置では、上記フィルタパラメータは、適応オフセットフィルタのフィルタパラメータと、適応空間フィルタのフィルタパラメータとを含むとともに、適応オフセットフィルタと適応空間フィルタとに共通のオンオフフラグを含むものであってもよい。
【００４４】
上記の構成によれば、オンオフフラグlf_lcu_onoff_flagおよびマージフラグlf_merge_left_flagを適応オフセットフィルタ５５２、適応空間フィルタ５５３に共通のフラグとすることができ、フラグの符号量を低減することができる。
【００４５】
本発明に係る画像復号装置では、上記フィルタパラメータは、適応オフセットフィルタのフィルタパラメータと、適応空間フィルタのフィルタパラメータとを含み、上記フィルタ手段は、上記符号化ツリーブロックＣＴＢに対応するフィルタ領域に対して、適応オフセットフィルタもしくは適応空間フィルタを選択的に選択してフィルタ処理を行うものであってもよい。
【００４６】
上記の構成によれば、適応オフセットフィルタと適応空間フィルタとを選択的に用いることができ、適応オフセットフィルタの処理後の画像を格納するメモリおよび処理値の画像を転送する転送量を低減することができる。
【００４７】
本発明に係る画像復号装置では、上記符号化データは、上記フィルタパラメータが、適応パラメータセットＡＰＳまたはスライスヘッダに格納される第３の格納方法により、フィルタパラメータを格納しており、上記フィルタ手段は、上記フィルタパラメータが上記第３の格納方法により格納されている場合、上記適応オフセットフィルタの後段で上記適応空間フィルタを適用するものであってもよい。
【００４８】
上記の構成によれば、適応オフセットフィルタの処理後の画像を格納するメモリおよび処理値の画像を転送する転送量を低減することができる。
【００４９】
本発明に係る画像復号装置では、上記フィルタ手段が行うフィルタ処理では、適応オフセットフィルタのＹ軸方向の参照範囲と、適応空間フィルタのＹ軸方向の参照範囲が等しいものであってもよい。
【００５０】
上記の構成によれば、上記適応オフセットフィルタのＹ軸方向の参照範囲と、上記適応空間フィルタのＹ軸方向の参照範囲が等しいので、インターリーブモードで適応フィルタ処理を行う場合に必要なメモリサイズおよび、転送量を低減することができる。
【００５１】
本発明に係る画像復号装置では、上記符号化データは、上記フィルタパラメータが、適応パラメータセットＡＰＳまたはスライスヘッダに格納される第３の格納方法により、フィルタパラメータを格納しており、フィルタパラメータが上記第３の格納方法により格納されている場合、上記フィルタ手段が行うフィルタ処理では、上記適応空間フィルタのＹ軸方向の参照範囲を、上記適応オフセットフィルタのＹ軸方向の参照範囲よりも大きくするものであってもよい。
【００５２】
上記の構成によれば、インターリーブモードでは、適応オフセットフィルタと同じ参照範囲を用い（例えば上下１画素）、非インターリーブモードでは適応オフセットフィルタよりも広い参照範囲（例えば上下３画素）を用いることができ、インターリーブモードにおけるメモリおよび転送量の低減と、非インターリーブモードにおける効果の向上を同時に実現することができる。
【００５３】
本発明に係る画像復号装置では、上記フィルタ手段は、上記適応空間フィルタの参照範囲を決定するバーチャルバウンダリの相対位置を、デブロッキングフィルタの参照範囲により導出するものであってもよい。
【００５４】
上記の構成によれば、インターリーブモードにおける適応空間フィルタのバーチャルバウンダリの位置をＤＦの参照範囲（distDF、例えば、２もしくは３）に設定することができ、参照画素の制限を必要最小限に抑え符号化効率を向上させることができる。
【００５５】
本発明に係る画像復号装置では、上記フィルタ手段は、上記適応オフセットフィルタと上記適応空間フィルタを選択的に用いてフィルタ処理を行う場合、上記適応空間フィルタの参照範囲を決定するバーチャルバウンダリの相対位置をデブロッキングフィルタの参照範囲から導出し、上記適応オフセットフィルタのフィルタ処理の後段で上記適応空間フィルタのフィルタ処理を行う場合、上記適応空間フィルタの参照範囲を決定するバーチャルバウンダリの相対位置をデブロッキングフィルタの参照範囲と上記適応空間フィルタの参照範囲の和から導出するものであってもよい。
【００５６】
上記の構成によれば、非インターリーブモードのバーチャルバウンダリの位置を、インターリーブモードのバーチャルバウンダリの位置よりもＬＣＵに近づくことになる。これにより、適応オフセットフィルタと適応空間フィルタを選択的に用いる場合と、適応オフセットフィルタと適応空間フィルタを順次実行する場合の両者で、必要なメモリ量を低減させること、および転送量を低減させることができる。
【００５７】
本発明に係る画像復号装置では、上記復号手段は、復号画像のビット深度と、量子化パラメータに依存した閾値とを用いて、適応オフセットフィルタの逆量子化を行うものであってもよい。
【００５８】
上記の構成によれば、ビット深度bitDepthと量子化パラメータqpに依存した閾値bitDepthTh1を用いて、適応オフセットフィルタのオフセットの逆量子化を行う。
これにより、オフセットの符号化に必要な符号量と、オフセットの精度のバランスを最適化することができ符号化効率を向上させることができる。
【００５９】
本発明に係る画像復号装置では、上記復号手段は、復号画像のビット深度と、符号化ツリーブロックＣＴＢサイズに依存した閾値を用いて、適応オフセットフィルタの逆量子化を行うものであってもよい。
【００６０】
上記の構成によれば、ビット深度bitDepthとＳＡＯユニットのサイズに依存した閾値bitDepthTh2を用いて、適応オフセットフィルタのオフセットの逆量子化を行うことになる。これにより、オフセットの符号化に必要な符号量と、オフセットの精度のバランスを最適化することができ符号化効率を向上させることができる。
【００６１】
本発明に係る画像復号装置では、上記復号手段は、上記フィルタパラメータがツリーブロックにインターリーブされている場合と、上記フィルタパラメータがツリーブロックにインターリーブされている場合とに依存した閾値を用いて、適応オフセットフィルタの逆量子化を行うものであってもよい。
【００６２】
上記の構成によれば、フィルタパラメータがツリーブロックにインターリーブされている場合と、インターリーブされていない場合とで異なるオフセットの逆量子化方法を用いる。これにより、インターリーブモードでは量子化精度をより適応的に変更することができ、符号化効率を向上させることができる。また、処理量と符号化効率のバランスを向上させることができる。
【００６３】
上記課題を解決するために、本発明に係る画像フィルタ装置は、複数の第１単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、上記第１単位領域に含まれる画素において、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記第１単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記第１単位領域に含まれる画素の画素値に加算するフィルタ手段と、上記符号化データからフィルタパラメータを復号する復号手段と、を備え、上記フィルタパラメータは、上記フィルタ手段が用いるオフセットを含むオフセット情報を第２単位領域毎に含むとともに、上記フィルタパラメータは、上記第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で符号化データに格納されていることを特徴としている。
【００６４】
上記の構成によれば、フィルタパラメータの格納方法が、第１単位領域および該第１単位領域の集合とは独立したパラメータセットに格納される第１のパラメータ格納方法か、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法か、の何れかとなる。これにより、フィルタパラメータに応じて格納方法を異ならせることができ、フィルタパラメータに用いるメモリ使用量あるいは符号化の処理量を低減することができる。
【００６５】
本発明に係る画像フィルタ装置では、上記フィルタ手段が、上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合よりも狭い値域で表現されるオフセットを用いるものであってもよい。
【００６６】
第１の格納方法の場合、ピクチャあるいはスライス内のＳＡＯパラメータを多数保持するために、第２の格納方法の場合よりも多くのメモリが必要となる。しかしながら、上記の構成によれば、第１の格納方法において個々のオフセットの表現に要するビット長を小さくすることができるので、ＳＡＯパラメータを保持するためのメモリ量を削減することができる。
【００６７】
本発明に係る画像フィルタ装置では、上記フィルタ手段が、上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合よりも狭い値域で表現されるオフセットを用いるものであってもよい。
【００６８】
第２の格納方法の場合、各ツリーブロック符号化時には第２単位領域およびフィルタパラメータ情報の挿入処理、すなわち、先に生成された符号化データの途中に、別の符号化データを挿入し、以降の符号化データの位置を繰り下げる処理を実行する必要が生じる。しかしながら、上記の構成によれば、挿入する符号量を小さくすることでき、処理量を軽減することができる。
【００６９】
本発明に係る画像フィルタ装置では、上記クラス分類方法には、対象画素について、該画素周辺のエッジの状態に基づいてクラス分類を行う第１のクラス分類方法と、対象画素の画素値に基づいてクラス分類を行う第２のクラス分類方法とが含まれており、上記フィルタ手段が加算するオフセットの値域は、上記第２のクラス分類方法を用いて加算するオフセットを決定された場合と、上記第１のクラス分類方法を用いて加算するオフセット決定された場合とで同じ幅であってもよい。
【００７０】
オフセットを保持するメモリ領域を、値域が広いバンドオフセットのビット長に合わせて確保される。よって、上記の構成によれば、バンドオフセットとエッジオフセットとにおけるオフセットの値域のビット長が揃えられるので、メモリ領域を最大限に活用することができる。
【００７１】
本発明に係る画像フィルタ装置では、上記クラス分類方法には、上記クラス毎にオフセットの値域が異なるクラス分類方法が含まれていてもよい。
【００７２】
上記の構成によれば、クラス毎のオフセット値の範囲の傾向が異なる場合であっても適切な値域を割り当てることができ、フィルタパラメータの符号量を削減することができる。
【００７３】
本発明に係る画像フィルタ装置では、上記フィルタ手段が加算するオフセットの値域の最大値は、２のべき乗から２を引いた数となっていてもよい。
【００７４】
上記の構成によれば、オフセットの値域を(2^n)-1の形で表せる値域とする。これにより、拡張ゴロム符号を用いたビット列の最大長を抑制することができる。したがって、符号化データの格納に要するメモリ量および最終的な符号化データの符号量を削減することができる。
【００７５】
本発明に係る画像フィルタ装置では、上記フィルタパラメータには、上記第２単位領域の大きさを表す第２単位領域サイズが含まれていてもよい。
【００７６】
上記の構成によれば、第２単位領域のサイズを用いてオフセットの加算処理を行うことができる。
【００７７】
本発明に係る画像フィルタ装置では、上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２単位領域サイズは、水平方向の大きさおよび垂直方向の大きさを表す値を含み、上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２単位領域サイズは、少なくとも水平方向の大きさを表す値を含んでいてもよい。
【００７８】
上記の構成によれば、フィルタパラメータの格納方法に応じて第２単位領域のサイズが設定される。これにより、オフセット情報とツリーブロックとの対応関係を適切にして、必要なメモリ量を低減することができる。
【００７９】
本発明に係る画像フィルタ装置では、上記第１のパラメータ格納方法により格納されているフィルタパラメータを用いる場合と前記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合とのいずれの場合でも参照可能なパラメータセットに、上記第２単位領域サイズとして、水平方向の大きさおよび垂直方向の大きさを表す値が含まれていてもよい。
【００８０】
上記の構成によれば、第２単位領域のサイズ指定を、スライスヘッダや適応フィルタパラメータセットではなく、上位のパラメータセット、例えば、シーケンスパラメータセットに格納することができる。
【００８１】
本発明に係る画像フィルタ装置では、符号化データで使用可能な技術要素を定義するプロファイル、または、符号化データを復号する際に必須となる諸性能を定義するレベルに基づいて上記第２単位領域のサイズが決定されてもよい。
【００８２】
上記の構成によれば、第２単位領域のサイズ指定を、符号化データに直接含めず、プロファイルまたはレベルに基づいて設定するように構成することができる。
【００８３】
本発明に係る画像フィルタ装置では、上記プロファイルまたは上記レベルに基づいて定められた第２単位領域サイズを、上記第２単位領域のサイズの最小値または初期値とするものであってもよい。
【００８４】
上記の構成によれば、プロファイルまたはレベルに基づいて設定される第２単位領域のサイズを設定可能な最小値または初期値とすることができる。
【００８５】
本発明に係る画像フィルタ装置では、上記第２のパラメータ格納方法により格納されているフィルタパラメータを用いる場合、上記第２単位領域の垂直方向の大きさは上記第１単位領域の垂直方向の大きさと等しいものであってもよい。
【００８６】
上記の構成によれば、第２単位領域のサイズを適切に決定することができる。
【００８７】
上記課題を解決するために、本発明に係る画像復号装置は、符号化データから復号した予測残差に、生成した予測画像を加算して復号画像を生成する画像復号装置であって、上記予測残差に上記予測画像を加算した加算画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、上記オフセット加算手段がオフセットを加算した画像を復号画像として出力する出力手段と、を備え、上記オフセット加算手段には、上記単位領域に含まれる画素において、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、上記符号化データからフィルタパラメータを復号する復号手段と、が備えられており、上記フィルタパラメータは、上記フィルタ手段が用いるオフセットを含むオフセット情報を第２単位領域毎に含んでいるとともに、上記フィルタパラメータは、第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で符号化データに格納されていることを特徴としている。
【００８８】
上記の構成によれば、フィルタパラメータの格納方法が、第１単位領域および該第１単位領域の集合とは独立したパラメータセットに格納される第１のパラメータ格納方法か、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法か、の何れかとなる。これにより、フィルタパラメータに応じて格納方法を異ならせることができ、フィルタパラメータに用いるメモリ使用量あるいは符号化の処理量を低減することができる。
【００８９】
上記課題を解決するために、本発明に係る画像符号化装置は、生成した予測画像と原画像との差分である予測残差を符号化することによって符号化データを生成する画像符号化装置であって、原画像を符号化し、復号した復号画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、上記オフセット加算手段がオフセットを加算した画像から上記予測画像を生成する予測画像生成手段と、上記予測画像生成手段が生成した予測画像と原画像との差分である予測残差を符号化する符号化手段と、を備え、上記オフセット加算手段には、上記単位領域に含まれる画素において、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられており、上記符号化手段は、上記フィルタ手段が加算するオフセットを含むオフセット情報が、第２単位領域毎に含まれているフィルタパラメータを符号化するとともに、該フィルタパラメータは、第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で符号化データに格納することを特徴としている。
【００９０】
上記の構成によれば、フィルタパラメータの格納方法が、第１単位領域および該第１単位領域の集合とは独立したパラメータセットに格納される第１のパラメータ格納方法か、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法か、の何れかとなる。これにより、フィルタパラメータに応じて格納方法を異ならせることができ、フィルタパラメータに用いるメモリ使用量あるいは符号化の処理量を低減することができる。
【００９１】
上記課題を解決するために、本発明に係る符号化データのデータ構造は、画像復号装置において復号される、予測画像と原画像との差分である予測残差が符号化された符号化データのデータ構造であって、画素値データと、上記画素値データが示す画素値に加算するオフセットを決定するためのクラス分類方法を選択するためのクラス分類方法選択データと、上記画像復号装置におけるフィルタ手段で用いられる上記オフセットを含むフィルタパラメータと、を含み、上記フィルタパラメータは、第１単位領域および該第１単位領域の集合から独立したパラメータセットに格納される第１のパラメータ格納方法、あるいは、第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法、の何れかの格納方法で格納されていることを特徴としている。
【００９２】
上記の構成によれば、フィルタパラメータの格納方法が、第１単位領域および該第１単位領域の集合とは独立したパラメータセットに格納される第１のパラメータ格納方法か、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法か、の何れかとなる。これにより、フィルタパラメータに応じて格納方法を異ならせることができ、フィルタパラメータに用いるメモリ使用量あるいは符号化の処理量を低減することができる。
【発明の効果】
【００９３】
以上のように、本発明に係る画像フィルタ装置は、第１単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、該画素が分類されたクラスに応じて、上記第１単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記第１単位領域に含まれる画素の画素値に加算するフィルタ手段と、上記符号化データからフィルタパラメータを復号する復号手段と、を備え、上記フィルタパラメータは、上記フィルタ手段が用いるオフセットを含むオフセット情報を第２単位領域毎に含んでいるとともに、上記フィルタパラメータは、上記第１単位領域からも該第１単位領域の集合からも独立したパラメータセットに格納される第１のパラメータ格納方法か、あるいは、上記第１単位領域の符号化データと交互に格納される第２のパラメータ格納方法か、の何れかの格納方法で符号化データに格納されている構成である。
【００９４】
これにより、フィルタパラメータに応じて格納方法を異ならせることができ、フィルタパラメータに用いるメモリ使用量あるいは符号化の処理量を低減することができるという効果を奏する。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施の形態に係る適応オフセットフィルタの構成を示すブロック図である。
【図２】本発明の実施形態に係る符号化データの構成を説明するための図であって、（ａ）は、シーケンスＳＥＱを規定するシーケンスレイヤを示しており、（ｂ）は、ピクチャＰＩＣＴを規定するピクチャレイヤを示しており、（ｃ）は、スライスＳを規定するスライスレイヤを示しており、（ｄ）は、ツリーブロック（Tree block）ＴＢＬＫを規定するツリーブロックレイヤを示しており、（ｅ）は、ツリーブロックＴＢＬＫに含まれる符号化単位（Coding Unit；ＣＵ）を規定するＣＵレイヤを示している。
【図３】上記実施形態に係る動画像復号装置の構成を示すブロック図である。
【図４】上記実施形態に係る符号化データのシーケンスパラメータセットＳＰＳに含まれるシンタックスを示す図である。
【図５】上記実施形態に係る符号化データの適応パラメータセットＡＰＳに含まれるシンタックスを示す図である。
【図６】上記実施形態における、ＡＰＳモード時のシンタックスaps_sao_param()を示す図である。
【図７】上記実施形態における、ＡＰＳモード時のシンタックスsao_unit_vlc()を示す図である。
【図８】上記実施形態における、ＡＰＳモード時のシンタックスsao_offset_vlc()を示す図である。
【図９】上記実施形態における、ＬＣＵモード時のシンタックスslice_header()を示す図である。
【図１０】上記実施形態における、ＬＣＵモード時のシンタックスslice_data()を示す図である。
【図１１】上記実施形態における、ＬＣＵモード時のシンタックスsao_unit_cabac()を示す図である。
【図１２】上記実施形態における、ＬＣＵモード時のシンタックスsao_offset_cabac()を示す図である。
【図１３】別の実施形態に係る符号化データのシーケンスパラメータセットＳＰＳに含まれるシンタックスを示す図である。
【図１４】上記別の実施形態におけるＡＰＳモード時のシンタックスaps_sao_param()を示す図である。
【図１５】上記別の実施形態におけるＬＣＵモード時のシンタックスslice_header()を示す図である。
【図１６】上記別の実施形態におけるＬＣＵモード時のシンタックスslice_data()を示す図である。
【図１７】上記実施形態に係る動画像符号化装置の構成を示すブロック図である。
【図１８】上記実施形態に係る動画像符号化装置の備える適応オフセットフィルタの構成を示すブロック図である。
【図１９】動画像復号装置および動画像符号化装置が、動画像の送受信に利用できることを説明するための図であり、（ａ）は、動画像符号化装置を搭載した送信装置の構成を示したブロック図であり、（ｂ）は、動画像復号装置を搭載した受信装置の構成を示したブロック図である。
【図２０】動画像復号装置および動画像符号化装置が、動画像の記録および再生に利用できることを説明するための図であり、（ａ）は、動画像符号化装置２を搭載した記録装置の構成を示したブロック図であり、（ｂ）は、動画像復号装置を搭載した再生装置の構成を示したブロックである。
【図２１】挿入処理を不要とする、スライスデータＳＤにおけるＣＴＢＳＡＯユニットＳＡＯＰ＿Ｃの別の配置を示す図である。
【図２２】輝度と色差のＳＡＯユニットのサイズを異なる場合における、ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ３の各シンタックス要素を示す図である。
【図２３】ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの例を示す図である。
【図２４】ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの別の例を示す図である。
【図２５】ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの第２の別の例を示す図である。
【図２６】ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの第３の別の例を示す図である。
【図２７】ＬＣＵモードにおいてＳＡＯユニットのサイズを輝度と色差で個々に指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの例を示す図である。
【図２８】ＣＴＢＳＡＯユニット内で指定される、オフセット情報のマージ方法を、輝度と色差で異ならせる例を示す図である。
【図２９】ＣＴＢＳＡＯユニット内で指定される、オフセット情報のマージ方法を、輝度と色差で異ならせる、別の例を示す図である。
【図３０】符号化データにおけるツリーブロックのシンタックスを示す図である。
【図３１】符号化データにおけるツリーブロックのシンタックスを示す図である。
【図３２】ＣＴＢＳＡＯパラメータを、ツリーブロックの内部に配置するシンタックスの、別の例を示す図である。
【図３３】（ａ）は、ツリーブロックにインターリーブする適応フィルタ情報interleave_loop_filter_param()に適応オフセットフィルタに用いるＣＴＢＳＡＯユニットと適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図であり、（ｂ）は、適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図であり、（ｃ）は、interleave_loop_filter_param()に適応オフセットフィルタに用いるＣＴＢＳＡＯユニットのみを含む例を示す図である。
【図３４】ＣＴＢＡＬＦユニットに含まれるalf_info_cabac()の符号化データ構造を示す図である。
【図３５】ツリーブロックにインターリーブする適応フィルタ情報interleave_loop_filter_param()として、適応空間フィルタを適用するか否かを示すオンオフフラグalf_lcu_enable_flagのみを配置する例を示す図であり、（ａ）は、interleave_loop_filter_param()に適応オフセットフィルタに用いるＣＴＢＳＡＯユニットと適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図であり、（ｂ）は、適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図である。
【図３６】適応空間フィルタに用いるフィルタ係数を、ツリーブロックとインターリーブしないで符号化する場合の符号化データの例を示す図であり、（ａ）は、ＡＰＳにおいて、フィルタ係数を含む情報であるalf_param()を格納する例を示す図であり、（ｂ）は、alf_param()の具体的構成を示す図である。
【図３７】（ａ）は、オフセット復号部の別の構成を示すブロック図であり、（ｂ）、（ｃ）は、閾値の例を示す図である。
【図３８】（ａ）は、オフセット復号部の別の構成を示すブロック図であり、（ｂ）は、閾値の例を示す図である。
【図３９】（ａ）は、オフセット復号部の別の構成を示すブロック図であり、（ｂ）、（ｃ）は、閾値の例を示す図である。
【図４０】符号化データにおける符号化単位のシンタックスを示す図である。
【図４１】（ａ）は、スライス境界の例を示す図であり、（ｂ）は、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す図であり、（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。
【図４２】（ａ）は、スライス境界の例を示す図であり、（ｂ）は、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す図であり、（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。
【図４３】（ａ）は、スライス境界の例を示す図であり、（ｂ）は、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す図であり、（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。
【図４４】（ａ）は、スライス境界の例を示す図であり、（ｂ）は、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す図であり、（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。
【図４５】（ａ）は、スライス境界の例を示す図であり、（ｂ）は、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す図であり、（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。
【図４６】動画像復号装置の構成を示すブロック図である。
【図４７】統合適応フィルタの構成を示すブロック図である。
【図４８】（ａ）〜（ｃ）は、適応オフセットフィルタを用いる場合の、符号化データの構成を示す図である。
【図４９】統合適応フィルタの動作を説明する図であり、（ａ）は、ＬＣＵに適応フィルタパラメータをインターリーブするインターリーブモードの場合の動作を示す図であり、（ｂ）は、インターリーブモード以外の場合の動作を示す図である。
【図５０】（ａ）、（ｂ）は、本実施形態を模式的に示す図である。
【図５１】（ａ）はインターリーブモードの適応空間フィルタにおいて参照する画素の範囲を示す図であり、（ｂ）は、フィルタ対象画素の座標に対して参照画素の座標を示す図であり、（ｃ）は、適応オフセットフィルタよりもＹ軸方向に大きい参照画素の範囲を用いる場合を示す図である。
【図５２】（ａ）（ｂ）は、インターリーブモードにおける適応空間フィルタの参照範囲の例を示す図である。
【図５３】（ａ）は、インターリーブモードにおける適応空間フィルタのバーチャルバウンダリにかかる参照画素を示す図であり、（ｂ）は、バーチャルバウンダリにおける参照範囲を示す図である。
【図５４】（ａ）、（ｂ）は、バーチャルバウンダリの設定方法を示す図である。
【図５５】（ａ）は、適応空間フィルタのフィルタ処理を示す図であり、（ｂ）、（ｃ）はフィルタ処理に用いる定義を示す図である。
【図５６】動画像符号化装置の構成を示すブロック図である。
【図５７】変形例における、ＣＴＢＳＡＯユニットの構成を説明するための図である。
【図５８】変形例における、ＣＴＢＳＡＯユニットのサイズを示すパラメータを符号化する例を示す図であり、（ａ）は符号化データのピクチャパラメータセットＰＰＳに含まれるシンタックスを示す図であり、（ｂ）符号化データのスライスヘッダに含まれるシンタックスを示す図である。
【図５９】変形例における、符号化データのスライスデータの構成を示す図である。
【図６０】変形例における、ＣＴＢＳＡＯユニット内で指定される、オフセット情報の左マージシンタックス要素をＳＡＯユニットの左端のＣＴＢのみに格納する例を示す図である。
【図６１】変形例における、オフセット情報の左マージシンタックス要素の符号化・復号方法および導出方法を示す図である。
【図６２】従来技術において、ＣＴＢＳＡＯユニット内で指定される、オフセット情報の左マージシンタックス要素をＳＡＯユニットの左端のＣＴＢのみに格納する例を示す図である。
【図６３】従来技術において、オフセット情報の左マージシンタックス要素の符号化・復号方法および導出方法を示す図である。
【発明を実施するための形態】
【００９６】
＜第１の実施形態＞
（符号化データ＃１）
本実施形態に係る動画像符号化装置２および動画像復号装置１の詳細な説明に先立って、動画像符号化装置２によって生成され、動画像復号装置１によって復号される符号化データ＃１のデータ構造について説明する。
【００９７】
図２は、符号化データ＃１におけるデータの階層構造を示す図である。符号化データ＃１は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図２の（ａ）〜（ｅ）は、それぞれ、シーケンスＳＥＱを既定するシーケンスレイヤ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、ツリーブロック（Tree block）ＴＢＬＫを規定するツリーブロックレイヤ、ツリーブロックＴＢＬＫに含まれる符号化単位（Coding Unit；ＣＵ）を規定するＣＵレイヤを示す図である。
【００９８】
（シーケンスレイヤ）
シーケンスレイヤでは、処理対象のシーケンスＳＥＱ（以下、対象シーケンスとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。シーケンスＳＥＱは、図２の（ａ）に示すように、シーケンスパラメータセットＳＰＳ（Sequence Parameter Set）、ピクチャパラメータセットＰＰＳ（Picture Parameter Set）、適応パラメータセットＡＰＳ（Adaptation Parameter Set）、ピクチャＰＩＣＴ１〜ＰＩＣＴNP（ＮＰはシーケンスＳＥＱに含まれるピクチャの総数）、及び、付加拡張情報ＳＥＩ（Supplemental Enhancement Information）を含んでいる。
【００９９】
シーケンスパラメータセットＳＰＳでは、対象シーケンスを復号するために動画像復号装置１が参照する符号化パラメータの集合が規定されている。ＳＰＳの詳細については後述する。
【０１００】
ピクチャパラメータセットＰＰＳでは、対象シーケンス内の各ピクチャを復号するために動画像復号装置１が参照する符号化パラメータの集合が規定されている。例えば、ピクチャの復号に用いられる量子化幅の基準値（pic_init_qp_minus26）や重み付き予測の適用を示すフラグ（weighted_pred_flag）が含まれる。なお、ＰＰＳは複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のＰＰＳの何れかを選択する。
【０１０１】
適応パラメータセットＡＰＳは、対象シーケンス内の各スライスを復号するために動画像復号装置１が参照する符号化パラメータの集合が規定されている。ＡＰＳの詳細については後述する。なお、ＡＰＳは複数存在してもよい。その場合、対象シーケンス内の各スライスから複数のＡＰＳの何れかを選択する。
【０１０２】
（ピクチャレイヤ）
ピクチャレイヤでは、処理対象のピクチャＰＩＣＴ（以下、対象ピクチャとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。ピクチャＰＩＣＴは、図２の（ｂ）に示すように、ピクチャヘッダＰＨ、および、スライスＳ1〜ＳNSを含んでいる（NSはピクチャＰＩＣＴに含まれるスライスの総数）。
【０１０３】
なお、以下、スライスＳ1〜ＳNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ＃１に含まれるデータであって、添え字を付している他のデータについても同様である。
【０１０４】
ピクチャヘッダＰＨには、対象ピクチャの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれている。なお、符号化パラメータ群は、必ずしもピクチャヘッダＰＨ内に直接含んでいる必要はなく、例えばピクチャパラメータセットＰＰＳへの参照（pic_parameter_set_id）を含むことで、間接的に含めても良い。
【０１０５】
（スライスレイヤ）
スライスレイヤでは、処理対象のスライスＳ（対象スライスとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。スライスＳは、図２の（ｃ）に示すように、スライスヘッダＳＨ、および、ツリーブロックＴＢＬＫ1〜ＴＢＬＫNC（ＮＣはスライスＳに含まれるツリーブロックの総数）のシーケンスを含んでいる。
【０１０６】
スライスヘッダＳＨには、対象スライスの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダＳＨに含まれる符号化パラメータの一例である。
【０１０７】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、または、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるＢスライスなどが挙げられる。
【０１０８】
なお、スライスヘッダＳＨには、上記シーケンスレイヤに含まれる、ピクチャパラメータセットＰＰＳへの参照（pic_parameter_set_id）、適応パラメータセットＡＰＳへの参照（aps_id）を含んでいても良い。
【０１０９】
また、スライスヘッダＳＨには、動画像復号装置１の備える適応オフセットフィルタによって参照されるＳＡＯパラメータＳＡＯＰが含まれている。ＳＡＯパラメータＳＡＯＰの詳細については後述する。
【０１１０】
なお、スライスはピクチャの組（シーケンス）から構成され、スライスは符号化ツリーブロック（CTB:Coding Tree block）の組から構成される。ＣＴＢは、スライスを構成する固定サイズ（例えば６４×６４）のブロックであり、最大符号化単位（ＬＣＵ:Largest Cording Unit）と呼ぶこともある。スライスレイヤを構成する符号化データの粒度は、ＣＴＢよりも小さい単位とすることができる。すなわち、スライスレイヤはＣＴＢの途中から開始すること、及び、ＣＴＢの途中で終了することができる。以下、ＣＴＢの途中にスライス境界がないＣＴＢを非分割ＣＴＢ、ＣＴＢの途中にスライス境界があるＣＴＢを分割ＣＴＢと呼ぶ。スライスレイヤの粒度は、SliceGranularityにより定まる。
【０１１１】
（ツリーブロックレイヤ）
ツリーブロックレイヤでは、処理対象の符号化ツリーブロックを復号するために動画像復号装置１が参照するデータの集合が規定されている。ツリーブロックレイヤの符号化データは、ツリーブロックＴＢＬＫ（以下、対象ツリーブロックとも称する）から構成される。
【０１１２】
ツリーブロックＴＢＬＫは、ツリーブロックヘッダＴＢＬＫＨと、符号化単位情報ＣＵ1〜ＣＵNL（ＮＬはツリーブロックＴＢＬＫに含まれる符号化単位情報の総数）とを含む。ここで、まず、ツリーブロックＴＢＬＫと、符号化単位情報ＣＵとの関係について説明すると次のとおりである。
【０１１３】
ツリーブロックＴＢＬＫは、イントラ予測またはインター予測、および、変換の各処理で用いるブロックサイズを特定するためのユニットに分割される。
【０１１４】
ツリーブロックＴＢＬＫの上記ユニットは、再帰的な４分木分割により分割されている。この再帰的な４分木分割により得られる木構造のノードのことを符号化ツリー（coding tree）と称する。
【０１１５】
以下、符号化ツリーは、中間ノードの場合には、さらに符号化ツリーを含む形で再帰的に分割される。符号化ツリーが末端のノードであるリーフ（leaf）の場合には、符号化ノード（coding node）として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位（ＣＵ）とも称する。
【０１１６】
つまり、符号化単位情報（以下、ＣＵ情報と称する）ＣＵ1〜ＣＵNLは、ツリーブロックＴＢＬＫを再帰的に４分木分割して得られる各符号化ノード（符号化単位）に対応する情報である。
【０１１７】
また、符号化ツリーのルート（root）は、ツリーブロックＴＢＬＫに対応付けられる。換言すれば、ツリーブロックＴＢＬＫは、複数の符号化ノードを再帰的に含む４分木分割の木構造の最上位ノードに対応付けられる。
【０１１８】
なお、各符号化ノードに対応する画像領域のサイズは、当該符号化ノードが直接に属する符号化ノード（すなわち、当該符号化ノードの１階層上位のノードのユニット）のサイズの縦横とも半分である。
【０１１９】
また、ツリーブロックＴＢＬＫのサイズ、および、各符号化ノードのとり得るサイズは、符号化データ＃１のシーケンスパラメータセットＳＰＳに含まれる、最小符号化ノードのサイズ指定情報（log2_min_coding_block_size_minus3）および最大符号化ノードと最小符号化ノードの階層深度の差分（log2_diff_max_min_coding_block_size）に依存する。例えば、最小符号化ノードのサイズが８×８画素であって、最大符号化ノードと最小符号化ノードの階層深度の差分が３である場合、ツリーブロックＴＢＬＫのサイズが６４×６４画素であって、符号化ノードのサイズは、４種類のサイズ、すなわち、６４×６４画素、３２×３２画素、１６×１６画素、および、８×８画素の何れかをとり得る。
【０１２０】
（ツリーブロックヘッダ）
ツリーブロックヘッダＴＢＬＫＨには、対象ツリーブロックの復号方法を決定するために動画像復号装置１が参照する符号化パラメータが含まれる。具体的には、図２の（ｄ）に示すように、対象ツリーブロックの各ＣＵへの分割パターンを指定するツリーブロック分割情報ＳＰ＿ＴＢＬＫ、および、量子化ステップの大きさを指定する量子化パラメータ差分Δｑｐ（qp_delta）が含まれる。
【０１２１】
ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各ＣＵの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
【０１２２】
なお、ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ＣＵの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報ＳＰ＿ＴＢＬＫは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。この場合、ツリーブロックの形状やサイズを併用することで各ＣＵの形状やサイズを特定できる。
【０１２３】
また、量子化パラメータ差分Δｑｐは、対象ツリーブロックにおける量子化パラメータｑｐと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータｑｐ’との差分ｑｐ−ｑｐ’である。
【０１２４】
（ＣＵレイヤ）
ＣＵレイヤでは、処理対象のＣＵ（以下、対象ＣＵとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【０１２５】
ここで、ＣＵ情報ＣＵに含まれるデータの具体的な内容の説明をする前に、ＣＵに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー（prediction tree；ＰＴ）および変換ツリー（transform tree；ＴＴ）のルートとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【０１２６】
予測ツリーにおいては、符号化ノードが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。
【０１２７】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit；ＰＵ）とも称する。
【０１２８】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。
【０１２９】
イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）と、Ｎ×Ｎとがある。
【０１３０】
また、インター予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）、２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、Ｎ×２Ｎ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、および、Ｎ×Ｎなどがある。なお、２Ｎ×ｎＵは、２Ｎ×２Ｎの符号化ノードを上から順に２Ｎ×0.5Ｎと２Ｎ×1.5Ｎの２領域に分割することを示す。２Ｎ×ｎＤは、２Ｎ×２Ｎの符号化ノードを上から順に２Ｎ×1.5Ｎと２Ｎ×0.5Ｎの２領域に分割することを示す。ｎＬ×２Ｎは、２Ｎ×２Ｎの符号化ノードを左から順に0.5Ｎ×２Ｎと1.5Ｎ×２Ｎの２領域に分割することを示す。ｎＲ×２Ｎは、２Ｎ×２Ｎの符号化ノードを左から順に1.5Ｎ×２Ｎと0.5Ｎ×1.5Ｎの２領域に分割することを示す。
【０１３１】
また、変換ツリーにおいては、符号化ノードが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。
【０１３２】
変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な４分木分割によるものがある。
【０１３３】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit；ＴＵ）とも称する。
【０１３４】
（ＣＵ情報のデータ構造）
続いて、図２の（ｅ）を参照しながらＣＵ情報ＣＵに含まれるデータの具体的な内容について説明する。図２の（ｅ）に示すように、ＣＵ情報ＣＵは、具体的には、スキップフラグＳＫＩＰ、ＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩを含んでいる。
【０１３５】
スキップフラグＳＫＩＰは、対象のＣＵについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグＳＫＩＰの値が１の場合、すなわち、対象ＣＵにスキップモードが適用されている場合、そのＣＵ情報ＣＵにおけるＰＴ情報ＰＴＩの一部、および、ＴＴ情報ＴＴＩは省略される。なお、スキップフラグＳＫＩＰは、Ｉスライスでは省略される。
【０１３６】
ＰＴ情報ＰＴＩは、ＣＵに含まれるＰＴに関する情報である。換言すれば、ＰＴ情報ＰＴＩは、ＰＴに含まれる１または複数のＰＵそれぞれに関する情報の集合であり、動画像復号装置１により予測画像を生成する際に参照される。ＰＴ情報ＰＴＩは、図２の（ｅ）に示すように、予測タイプ情報ＰＴｙｐｅ、および、予測情報ＰＩｎｆｏを含んでいる。
【０１３７】
予測タイプ情報ＰＴｙｐｅは、対象ＰＵについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
【０１３８】
予測情報ＰＩｎｆｏは、予測タイプ情報ＰＴｙｐｅが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるＰＵをイントラＰＵとも呼称し、インター予測が適用されるＰＵをインターＰＵとも呼称する。
【０１３９】
また、予測情報ＰＩｎｆｏは、対象ＰＵの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、ＰＵを単位として行われる。予測情報ＰＩｎｆｏの詳細については後述する。
【０１４０】
ＴＴ情報ＴＴＩは、ＣＵに含まれるＴＴに関する情報である。換言すれば、ＴＴ情報ＴＴＩは、ＴＴに含まれる１または複数のＴＵそれぞれに関する情報の集合であり、動画像復号装置１により残差データを復号する際に参照される。なお、以下、ＴＵのことをブロックと称することもある。
【０１４１】
ＴＴ情報ＴＴＩは、図２の（ｅ）に示すように、対象ＣＵの各変換ブロックへの分割パターンを指定するＴＴ分割情報ＳＰ＿ＴＴ、および、量子化予測残差ＱＤ1〜ＱＤNT（ＮＴは、対象ＣＵに含まれるブロックの総数）を含んでいる。
【０１４２】
ＴＴ分割情報ＳＰ＿ＴＴは、具体的には、対象ＣＵに含まれる各ＴＵの形状、サイズ、および、対象ＣＵ内での位置を決定するための情報である。例えば、ＴＴ分割情報ＳＰ＿ＴＴは、対象となるノードの分割を行うのか否かを示す情報（split_transform_unit_flag）の集合により構成できる。
【０１４３】
また、例えば、ＣＵのサイズが、６４×６４の場合、分割により得られる各ＴＵは、３２×３２画素から４×４画素までのサイズをとり得る。
【０１４４】
各量子化予測残差ＱＤは、動画像符号化装置２が以下の処理１〜３を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
【０１４５】
処理１：符号化対象画像から予測画像を減算した予測残差を周波数領域に直交変換（ＤＣＴ変換（Discrete Cosine Transform）またはＤＳＴ変換（Discrete Sine Transform）する；
処理２：処理１にて得られた変換係数を量子化する；
処理３：処理２にて量子化された変換係数を可変長符号化する；
なお、上述した量子化パラメータｑｐは、動画像符号化装置２が変換係数を量子化する際に用いた量子化ステップＱＰの大きさを表す（ＱＰ＝２^(qp/6)）。
【０１４６】
（予測情報ＰＩｎｆｏ）
上述のとおり、予測情報ＰＩｎｆｏには、インター予測情報およびイントラ予測情報の２種類がある。
【０１４７】
インター予測情報には、動画像復号装置１が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象ＣＵの各インターＰＵへの分割パターンを指定するインターＰＵ分割情報、および、各インターＰＵについてのインター予測パラメータが含まれる。
【０１４８】
インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
【０１４９】
一方、イントラ予測情報には、動画像復号装置１が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象ＣＵの各イントラＰＵへの分割パターンを指定するイントラＰＵ分割情報、および、各イントラＰＵについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラＰＵについてのイントラ予測方法（予測モード）を指定するためのパラメータである。
【０１５０】
（シーケンスパラメータセットＳＰＳ）
図４は、本実施形態に係る符号化データ＃１のシーケンスパラメータセットＳＰＳ（図４においてsequence_parameter_set_rbsp()と表記）に含まれるシンタックス要素の一部を示す。
【０１５１】
profile_idx、level_idxはそれぞれビットストリームが適合するプロファイルとレベルを示す。seq_parameter_set_idは、パラメータセットの識別子を示す。chroma_format_idcは、対象シーケンスのカラーフォーマットを示す。pic_width_inluma_samplesとpic_height_in_luma_samplesはそれぞれ対象シーケンスに含まれるピクチャサイズの輝度画素単位での縦または横の長さを示す。sample_adaptive_offset_enable_flagは、対象シーケンスの復号時に適応オフセットフィルタを適用するか否かを示す。adaptive_loop_filter_enable_flagは、対象シーケンスの復号時に適応フィルタを適用するか否かを示す。
【０１５２】
（適応パラメータセットＡＰＳ）
図５は、本実施形態に係る符号化データ＃１の適応パラメータセットＡＰＳ（図５においてaps_rbsp()と表記）に含まれるシンタックス要素の一部を示す。aps_idは、ＡＰＳの識別子である。
【０１５３】
aps_sao_interleaving_flagは、適応オフセットフィルタにより参照されるパラメータ（ＳＡＯパラメータ）がツリーブロック（ＬＣＵ）の符号化データにインターリーブして符号化されているか否かを示す。つまり、aps_sao_interleaving_flagの値が偽であれば、ＳＡＯパラメータはツリーブロックの符号化データにインターリーブされておらず、ＡＰＳ内に存在することを示す。aps_sao_interleaving_flagの値が真であれば、ＳＡＯパラメータはツリーブロックの符号化データにインターリーブされて符号化されており、対象ＡＰＳ内には存在しないことを示す。なお、データをインターリーブするとは、複数種類のデータを小単位に分割し、所定の順序で配置することを意味する。例えば、ＳＡＯのパラメータとツリーブロックの符号化データとが交互に配置されるように符号化する場合を言う。
【０１５４】
aps_sample_adaptive_offset_flagは、ＳＡＯパラメータがインターリーブされていない場合に符号化されるフラグであり、ＡＰＳを参照するスライスにおいて適応オフセットフィルタが適用されるか否かを示す。aps_sao_param()は、ＳＡＯパラメータに対応するシンタックスである。
【０１５５】
（ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ）
図６は、本実施形態に係る符号化データ＃１のＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ（図６においてaps_sao_param()と表記）に含まれる各シンタックス要素を示す図である。
【０１５６】
ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａは、概略的には、所定の領域内（ピクチャまたはスライス）の各ツリーブロックにおけるＡＰＳＳＡＯユニットの集合を含む。ここで、ＡＰＳＳＡＯユニットは適応オフセットフィルタ処理に用いられるフィルタの情報を含むシンタックスであり、詳細は後述する。
【０１５７】
なお、上記所定の領域内の必ずしも全てのツリーブロックに対するＡＰＳＳＡＯユニットおよびＡＰＳＳＡＯオフセットがＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａに含まれるわけではなく、一部のツリーブロックについては他のツリーブロックに適用されたＡＰＳＳＡＯユニットおよびＡＰＳＳＡＯオフセットから複製あるいは参照して適用してもよい。例えば、図６のシンタックスにおいて、sao_one_luma_unit_flag、sao_one_cb_unit_flag、sao_one_cr_unit_flagは、それぞれ、対応するプレーン（順に輝度プレーン、色差Ｃｂプレーン、色差Ｃｒプレーン）において、対象領域内の全ツリーブロックで共通のＡＰＳＳＡＯオフセットを適用するか否かを示す。また、sao_repeat_row_flagは、同一ツリーブロックライン内の全てのツリーブロックに適用するＡＰＳＳＡＯユニットが、各ツリーブロックの上方隣接ツリーブロックにおけるＡＰＳＳＡＯユニットと同一であり、複製あるいは参照して適用されることを示す。
【０１５８】
その他、sao_cb_enable_flagとsao_cr_enable_flagは、それぞれ、ピクチャの対応する色差プレーン（ＣｂプレーンとＣｒプレーン）において適応フィルタを適用するか否かを示すフラグである。また、ピクチャの幅と高さにそれぞれ含まれるツリーブロックの数は、sao_num_lcu_in_width_minus1とsao_num_lcu_in_height_minus1に基づいて導出される。
【０１５９】
（ＡＰＳＳＡＯユニット）
図７は、本実施形態に係る符号化データ＃１のＡＰＳＳＡＯユニット（図７においてsao_unit_vlc()と表記）のシンタックスを示す図である。ＡＰＳＳＡＯユニットは、ＳＡＯの処理単位を表し、１つ以上のツリーブロックと同じ領域に関連付けられるシンタックスである。ＡＰＳＳＡＯユニットが処理対象とする画像上の領域は、対応するツリーブロックが示す領域となる。ＡＰＳＳＡＯユニットは、概略的には、ＡＰＳＳＡＯオフセット情報（sao_offset_vlc()）、および、ＡＰＳＳＡＯオフセット情報のマージ制御情報（sao_merge_up_flag, sao_run_diff）をシンタックス要素として含む。sao_merge_up_flagは、対象ツリーブロックのＡＰＳＳＡＯオフセット情報を、対象ツリーブロックの上方隣接ツリーブロックから複製または参照するか否かを示すフラグである。また、sao_run_diffは、同一ツリーブロックライン内で対象ツリーブロックと同一のＡＰＳＳＡＯオフセットを適用する、対象ツリーブロックに後続するツリーブロックの数を導出する際に用いられる。
【０１６０】
（ＡＰＳＳＡＯオフセット情報）
図８は、本実施形態に係る符号化データ＃１のＡＰＳＳＡＯオフセット情報（図８においてsao_offset_vlc()と表記）のシンタックスを示す図である。ＡＰＳＳＡＯオフセット情報は、オフセットタイプを示すインデックス（オフセットタイプ、sao_type_idx）、画素値域内でオフセットを適用するバンドの位置を示すインデックス（バンドオフセット位置、sao_band_position）、オフセットの値（sao_offset）をシンタックス要素として含む。sao_band_positionは、ＳＡＯのタイプがバンドオフセット（ＢＯ）である場合に用いられる。なお、符号化データ中のオフセットの値は、量子化された値や、線形予測等の予測を用いてオフセット値が導出できる予測残差として符号化されていても良い。sao_type_idxとsao_offsetについては後述する。
【０１６１】
（ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ）
図９は、本実施形態に係る符号化データ＃１のスライスヘッダＳＨ（図９においてslice_header()と表記）の一部として含まれる、ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓのシンタックス要素を示す図である。ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓは、概略的には、各ツリーブロックに対する適応オフセットフィルタ処理のパラメータの格納方法を示す情報である。slice_sao_interleaving_flagは、各ツリーブロックに対して適用する適応オフセットフィルタのパラメータを、スライスデータ内の各ツリーブロックの符号化データにインターリーブして格納しているか否かを示す。このとき、インターリーブして格納される適応オフセットフィルタのパラメータを、ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃと呼ぶ。slice_sao_interleaving_flagの値が偽であれば、ＳＡＯパラメータはツリーブロックの符号化データにインターリーブされていないことを示す。slice_sao_interleaving_flagの値が真であれば、ＳＡＯパラメータはツリーブロックの符号化データにインターリーブされて符号化されていることを示す。slice_sao_interleaving_flagの値が偽の場合には、ＳＡＯパラメータを参照すべきＡＰＳが、対象スライスヘッダＳＨ内のシンタックスaps_idによって指定される。
【０１６２】
slice_sample_adaptiveoffset_flagは、対象スライスにおいて、適応オフセットフィルタ処理が有効か否かを示す。sao_cb_enable_flagとsao_cr_enable_flagは、ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａに含まれる同名のシンタックスと同一である。
【０１６３】
（ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ）
図１０は、本実施形態に係る符号化データ＃１のスライスデータＳＤ（図１０においてslice_data()と表記）の一部として含まれる、ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃの各シンタックス要素を示す図である。ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃは、概略的には、ＣＴＢＳＡＯユニット情報（sao_unit_cabac()）およびＣＴＢＳＡＯオフセット情報（sao_unit_cabac()）をシンタックス要素として含む。
【０１６４】
（ＣＴＢＳＡＯユニット）
図１１は、本実施形態に係る符号化データ＃１のＣＴＢＳＡＯユニット（図１１においてsao_unit_cabac()と表記）のシンタックスを示す図である。ＣＴＢＳＡＯユニットはＳＡＯの処理単位を表し、１つ以上のツリーブロックに関連付けられるシンタックスであり、対応するツリーブロックの符号化データの付近に配置される。ＣＴＢＳＡＯユニットが処理対象とする画像上の領域は、対応するツリーブロックが示す領域となる。図３０は、本実施形態に係る符号化データ＃１のツリーブロック（図３０においてcoding_tree()と表記）のシンタックスを示す図である。ＣＴＢＳＡＯユニットは、概略的には、ＣＴＢＳＡＯオフセット情報（sao_offset_cabac()）、および、ＣＴＢＳＡＯオフセット情報のマージ制御情報（sao_merge_left_flag, sao_merge_up_flag）をシンタックス要素として含む。左マージフラグsao_merge_left_flagは、対象ツリーブロックのＣＴＢＳＡＯオフセット情報を、対象ツリーブロックの左方隣接ツリーブロックから複製するか否かを示すフラグである。上マージフラグsao_merge_up_flagは、ＡＰＳＳＡＯユニットに含まれる同名のシンタックスと同一である。
【０１６５】
（ＣＴＢＳＡＯオフセット情報）
図１２は、本実施形態に係る符号化データ＃１のＣＴＢＳＡＯオフセット情報（図１２においてsao_offset_cabac()と表記）のシンタックスを示す図である。ＣＴＢＳＡＯオフセット情報は、シンタックス要素としてsao_type_idx、sao_band_position、sao_offsetを含み、それぞれ、ＡＰＳＳＡＯオフセット情報に含まれる同名のシンタックスと同一である。
【０１６６】
なお、図６〜図１２に示したDescriptor（記述子）ue(v)は、この記述子に関連付けられたシンタックスは符号なしの数値であり、値が可変長符号化されることを示している。se(v)は、この記述子に関連付けられたシンタックスは符号付きの数値であり、符号と絶対値に分けて可変長符号化されることを示している。ae(v)は、この記述子に関連づけられたシンタックスが算術符号を用いて可変長符号化されることを示している。u(n)は、この記述子に関連付けられたシンタックスは符号なしの数値であり、nビットの固定長符号化が用いられることを示している。f(n)は、固定値のビットパターンが用いられることを示している。
【０１６７】
ここで説明したＡＰＳＳＡＯユニット（sao_unit_vlc()）およびＣＴＢＳＡＯユニット（sao_unit_cabac()）を合わせて、ＳＡＯユニットＵ（第２単位領域）と呼び、ＡＰＳＳＡＯオフセット情報（sao_offset_vlc()）およびＣＴＢＳＡＯオフセット情報（sao_offset_cabac()）を合わせて、ＳＡＯオフセット情報ＯＩと呼ぶ。また、ＡＰＳＳＡＯパラメータＳＡＯＰ＿ＡとＳＨＳＡＯパラメータＳＡＯＰ＿ＳとＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ、および、それらが含むＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩを総称して、ＳＡＯパラメータＳＡＯＰと呼称する。
【０１６８】
以上で説明したように、適応オフセットフィルタに関するパラメータは、適応パラメータセットＡＰＳまたはスライスのいずれかに格納される。特に、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩは、適応パラメータセットＡＰＳ内に一括して符号化されるか、またはスライスデータＳＤの各ツリーブロックの符号化データにインターリーブして符号化され、その格納方法はスライスあるいはピクチャ毎に選択される。ここでは、適応パラメータセットＡＰＳ内に一括して符号化される場合を「ＡＰＳモード」と呼び、スライスデータＳＤの各ツリーブロックの符号化データにインターリーブして符号化される場合を「ＬＣＵモード（インターリーブモード）」と呼ぶ。ＡＰＳモードとＬＣＵモードの選択は、前述のように、slice_sao_interleaving_flagおよびaps_sao_interleaving_flagを用いて制御される。ＡＰＳモードは、ピクチャやスライスなど広い範囲を大域的に最適化してオフセットを設定することに優れており、ＬＣＵモードは、ツリーブロックなどの比較的小さな処理単位での並列処理との親和性が高く、処理スループットの向上に適している。
【０１６９】
次に、オフセットタイプsao_type_idxとオフセットsao_offsetについて、さらに詳細に説明する。
【０１７０】
（sao_type_idx）
sao_type_idxは、適応オフセットフィルタのタイプを表す識別子である。sao_type_idxは、カラー成分毎に、所定の単位（例えばツリーブロック）に対して割り当てられる。したがって、所定の単位の各々におけるタイプの値は、sao_type_idx[component][rx][ry]と添字を用いて表される。添字componentは輝度、色差Ｃｒ、色差Ｃｂのいずれかを示すインデックスであり、rxおよびryはそれぞれ、対象となる所定の単位（例えばＳＡＯユニットあるいはツリーブロック）のxおよびy座標を示す。本実施形態では、sao_type_idx[component][rx][ry]を、単にsao_type_idxやオフセットタイプと呼称することもある。単にsao_type_idxと呼称する場合においても、必要な個々の値はsao_type_idx[component][rx][ry]として参照することが可能である。
【０１７１】
オフセットタイプには大きく分けてエッジオフセット処理（ＥＯ）とバンドオフセット処理（ＢＯ）と呼ばれる２種類がある。エッジオフセット処理とは、処理対象画素の画素値とその周辺画素の画素値との差分に応じて、当該処理対象画素の画素値に複数のオフセットの何れかを加算する処理のことをいう。また、バンドオフセット処理とは、処理対象の各画素値の値に応じて、当該処理対象画素の画素値に複数のオフセットの何れかを加算する処理のことをいう。エッジオフセット処理およびバンドオフセット処理の具体的内容については後述する。
【０１７２】
本実施形態において、sao_type_idxは、０から５までの整数値をとり、オフセットフィルタ前画像（例えば、後述するデブロック済復号画像Ｐ＿ＤＢ）に対して、どのようなフィルタ処理を行うか、あるいはフィルタ処理を行わないかを示す。具体的には以下の通りである。
・sao_type_idx＝０は、対象ツリーブロックにおけるオフセットフィルタ前画像に対して、オフセットフィルタ処理を行わないことを示す。
・sao_type_idx＝１〜４は、対象ツリーブロックにおけるオフセットフィルタ前画像に対して、エッジオフセット処理（ＥＯ）を行うことを示す。
・sao_type_idx＝５は、対象ツリーブロックにおけるオフセットフィルタ前画像に対して、バンドオフセット処理（ＢＯ）を行うことを示す。
【０１７３】
なお、エッジオフセットおよびバンドオフセットに対し、上記で説明したのと異なる数のオフセットタイプが用いられる場合がある。オフセットタイプの個数が本実施形態と異なる場合には、sao_type_idxの値の範囲は、オフセットタイプの総数に応じて変化する。たとえば、オフセットタイプの総数がオフセット処理をしない場合を含めて４個である場合には、sao_type_idxは０から３までの整数値をとる。
【０１７４】
（sao_offset）
sao_offset[component][rx][ry][i]は、本実施形態に係る適応オフセットフィルタ処理において、対象ツリーブロックに含まれる各画素に加算されるオフセットの値を導出するために用いられるパラメータである。本実施形態では、sao_offset[component][rx][ry][i]のことを単にsao_offsetあるいはオフセットもしくはオフセット値と呼称することもある。単にsao_offsetと呼称する場合においても、必要な個々の値はsao_offset[component][rx][ry][i]として参照することが可能である。
【０１７５】
sao_offset[component][rx][ry][i]は、上述の引数component、rx、ryに加えて、インデックスｉによって指定される。ここで、インデックスｉは、オフセットに対応するクラスを指定するためのインデックスである。インデックスｉは、適用するオフセットタイプに属するクラスがＮ個であれば、０〜Ｎ−１の値をとる。
【０１７６】
なお、本実施形態における適応オフセットフィルタの処理では、sao_offsetの値から実際に用いられるオフセット値（以下では、実オフセット値と呼ぶ）を導出して用いる。導出の詳細については後述する。
【０１７７】
次に、sao_offsetとして符号化される値の範囲について説明する。
【０１７８】
オフセットタイプsao_type_idxが５でない場合、すなわちエッジオフセットのオフセットsao_offsetにおいては、値域は、
0 から ( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD ) ) − 1 
である。ここで、bitDepthはオフセット適用対象となる画素値のビット深度を表す値、bitDepthThはオフセット値を量子化する下限のビット深度、bitDepthDはオフセット値の値域のビット数を調整する値である。また、<<は左シフト、Min()は引数のうち最小のものを選択する関数を表す。一方、オフセットタイプsao_type_idxが５である場合、すなわちバンドオフセットのオフセットsao_offsetにおいては、値域は、
−( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD ) ) から ( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD ) − 1 
である。以上から、例えば、bitDepth=8、bitDepthTh=10、 bitDepthD=5 である場合、オフセットsao_offsetの値域は、エッジオフセットの場合は０から７となり、バンドオフセットの場合は−７から７となる。
【０１７９】
〔オフセット値域の制限１（APSモードで狭くする）〕
本実施形態に係る符号化データ＃１においては、ＡＰＳモードにおけるbitDepthDの値（bitDepthD_A）を、ＬＣＵモードにおけるbitDepthDの値（bitDepthD_L）よりも大きくなるように構成する。そのように構成された符号化データ＃１は、例えばbitDepth=8、bitDepthTh=10、 bitDepthD=6 とすれば、オフセットsao_offsetの値域はエッジオフセットの場合は０から３であり、バンドオフセットの場合は−３から３である。この値域はbitDepthD=5とした場合の値域のそれぞれ半分であり、各オフセットのビット長を1ビット短くできる。
【０１８０】
ＡＰＳモードにおいては、ピクチャあるいはスライス内のＳＡＯパラメータＳＡＯＰを多数保持するために、ＬＣＵモードよりも多くのメモリが必要となるが、このようにＡＰＳモードにおいて個々のオフセットの表現に要するビット長を小さくすることにより、ＳＡＯパラメータＳＡＯＰを保持するためのメモリ量を削減することができる。
【０１８１】
なお、オフセットの値域の制限は、コンフォーマンスビットストリームが満たさなければならない範囲として定義することが適当である。コンフォーマンスとは、流通上もしくは規格上で正しく復号できることを保証するために設けるビットストリームが満たすべき条件のことである。本条件で制限されたビットストリームを用いることによって、限られたメモリ量もしくは処理性能の復号装置で復号可能であることを保証することができる。以下のオフセットの値域の制限においても同様にコンフォーマンスビットストリームとして制限することが適当である。
【０１８２】
上記制限では、定数ＴＨＤ＝( Min( bitDepth, bitDepthTh ) − bitDepthD )とした場合、エッジオフセットの範囲は、ＴＨＤ−１ビットで表現可能な範囲に制限され（符号を入れるとＴＨＤビット）、バンドオフセットの範囲は、ＴＨＤビットで表現可能な範囲に制限される。この制限により、オフセットを格納するメモリとして限られたメモリを用いる復号装置においても正常に復号が可能である。
【０１８３】
また、変形例では、本実施形態に係る符号化データ＃１においては、オフセットタイプsao_type_idxが５である場合、すなわちバンドオフセットのオフセットsao_offsetにおいては、値域を、所定の閾値ＴＨＤを用いて、
−ＴＨＤ＋１ からＴＨＤ−１
のように設定する。すなわち、オフセットの値の最小値の絶対値（ＴＨＤ−１）と、オフセットの最大値（ＴＨＤ−１）が同じとなるようなオフセットの値域を設定する。
この場合、オフセットの絶対値は、
0 からＴＨＤ− 1 
に制限することと等価である。ＴＨＤとしては、例えば、( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD ) )が適当である。
【０１８４】
エッジオフセットでは、絶対値の範囲でオフセットが制限されている。バンドオフセットにおいても絶対値の範囲でオフセットを制限できるようにできれば、オフセットの閾値を制限する符号化装置の処理が簡略化される。また、コンフォーマンスビットストリームかどうかを判定する場合に必要な復号装置の処理が簡略化される。
【０１８５】
［変形例１］    〔オフセット値域の制限２（LCUモードで狭くする）〕
上記オフセット値域の制限１で説明した例とは逆に、ＬＣＵモードにおけるbitDepthDの値（bitDepthD_L）を、ＡＰＳモードにおけるbitDepthDの値（bitDepthD_A）よりも大きくなるように構成すれば、ＬＣＵモードにおけるオフセットの値域をより狭め、オフセットsao_offsetの保持に必要なメモリ量を削減できる。ＬＣＵモードにおける各ツリーブロック符号化時にはＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩの挿入処理（先に生成された符号化データの途中に、別の符号化データを挿入し、以降の符号化データ、例えば、ツリーブロックに含まれる予測パラメータ（ＰＵのデータ）や量子化予測残差ＱＤ（ＴＵのデータ）を再符号化する処理）が生じる。挿入する（再符号化する）符号量を小さくすることで、処理量を軽減することができる。例えば、挿入処理を回避する方法として、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩの挿入に備えて一定サイズの空白データを符号化データ＃１に含めておくことが考えられる。ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩのサイズが空白データのサイズよりも小さければ、挿入処理は不要で空白データを上書きするだけでよい。ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩのサイズが空白データのサイズよりも大きければ、挿入処理が発生する。ただし、空白データを常に大きくとることは、処理に必要なメモリ使用量が増加したり、無駄な符号量が発生したりするなどの弊害がある。オフセットの値域をより狭めることで、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩのサイズを小さくし、小さな空白データであっても挿入処理を発生しにくくすることができる。したがって、符号化データ＃１を生成する動画像符号化装置においては、符号化データ＃１の生成の際に大きな空白データでメモリを消費することを回避できる。
【０１８６】
［変形例２］    〔オフセット値域の制限３（バンドオフセットで狭くする）〕
バンドオフセットに対するbitDepthD（bitDepthD_b）とエッジオフセットに対するbitDepthD（bitDepthD_e）を、 
bitDepthD_b = bitDepthD_e − 1
となるようにする。前記の値域から明らかなようにエッジオフセットには符号が必要ないため、エッジオフセットのオフセットsao_offsetの保持に必要なビット長は、バンドオフセットの場合よりも１ビット少ない。しかしながら、オフセットsao_offsetを保持するメモリ領域は、値域が広いバンドオフセットのビット長に合わせて確保されるため、バンドオフセットとエッジオフセットにおけるオフセットの値域のビット長を揃えることで、メモリ領域を最大限に活用することができる。
【０１８７】
［変形例３］    〔オフセット値域の制限４（クラス毎に変更する）〕
bitDepthDの値をインデックスiまたはクラスインデックスclass_idxに基づいて変更することもできる。例えば、オフセットの絶対値が比較的小さいクラスＣｉについては、クラスＣｉにおけるbitDepthD[i]を相対的に小さな値とする。具体的には、エッジオフセットのオフセットsao_offsetについては、値域を、
0 から ( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD_E[i] ) ) − 1
とし、バンドオフセットのオフセットsao_offsetについては、値域を、
−( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD_B[i] ) ) から ( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD_B[i] ) − 1 
と定める。ここで、bitDepthD_E[i]およびbitDepthD_B[i]は、各クラスのクラス毎のオフセット値の範囲の傾向に基づいて定められる所定の値である。例えば、インデックスiが0から3のクラスに対し、それぞれ bitDepthD_E[0] = 5,  bitDepthD_E[1] = 6, bitDepthD_E[2] = 6, bitDepthD_E[3] = 5 とすれば、インデックスiが1および2のクラスの値域だけを他のクラスに対して相対的に狭く制限できる。これにより、クラス毎のオフセット値の範囲の傾向が異なる場合であっても適切な値域が割り当てられ、ＳＡＯパラメータＳＡＯＰの符号量を削減することが可能である。
【０１８８】
［変形例４］    〔オフセット値域の変更（拡張ゴロム符号のビット列を考慮した値域とする）〕
オフセットの値域を次のように制限してもよい。エッジオフセットのオフセットsao_offsetにおいては、値域を、
0 から ( 1<< ( Min( bitDepth, bitDepthTh ) − (bitDepthD-1) ) ) − 2 
とし、バンドオフセットのオフセットsao_offsetにおいては、値域を、
−( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD ) ) + 1 から ( 1<< ( Min( bitDepth, bitDepthTh ) − bitDepthD ) − 1 
とする。上記ではエッジオフセットの範囲の幅（最大値と最小値の差）、バンドオフセットの範囲の幅（最大値と最小値の差）は、ともに、( 1<< ( Min( bitDepth, bitDepthTh ) − (bitDepthD-1) ) ) − 1となる。すなわち、オフセットの範囲は(2^n)-１と表現できる値とする。特に、エッジオフセットについてのオフセットの最大値は、(2^n)-2 と表現できる値である。エッジオフセットに用いられる非負の値の符号化において、オフセットsao_offsetの符号化に用いられる拡張ゴロム符号においては、値(2^n)-1 の符号長は、値(2^n)-2 よりも２ビット長くなる（拡張ゴロム符号の説明は省略する）。この場合、ビット長は、2*n+1となる。
【０１８９】
例えば、符号無し整数値７は、拡張ゴロム符号では、前半のプレフィクス部に“0”、分離ビットに“1”を用いれば、“0001000”（７ビット）と表される。同様に、符号無し整数値６を拡張ゴロム符号で表せば、“00100”（５ビット）である。別の例を挙げれば、符号無し整数値３１は拡張ゴロム符号では “00000100000”（１１ビット）と表され、符号無し整数値３０は “000010000”（９ビット）と表される。このように、符号の種類が(2^n)-1 個の形で表せる値域とすることで、拡張ゴロム符号を用いたビット列の最大長を抑制することができる。
【０１９０】
拡張ゴロム符号のビット列の最大長を１６ビットあるいは３２ビットに制限すると復号処理および符号化処理が簡略化される。よって、2*n+1<=１６を満たすn、すなわち、n=7。もしくは2*n+1<=32を満たすn、すなわちn=15が適当である。この時、範囲は、各々以下のとなる。
【０１９１】
0 から 2^7-2 (=126)
0 から 2^15-2 (=32766)
一方、上記のバンドオフセットの値域は符号つき整数の範囲であるが、この範囲に含まれる整数は(2^n)-1 個の形で表すことができ、エッジオフセットの場合と同様に、拡張ゴロム符号のビット列の最大長を抑制することができる。したがって、符号化データの復号する際に一度に読み出すデータを確保するメモリを減らすことができ、復号処理が簡略化される。また、符号化データの符号化処理において一度に符号化されるメモリを減らすことができ、符号化処理が簡略化される。このような一度に読み出し、符号化されるメモリはＣＰＵのレジスタなどの高速なメモリが利用される。そのためレジスタサイズに収まる１６ビットあるいは３２ビットに制限することが適当である。
【０１９２】
［変形例５］  （ＣＴＢＳＡＯパラメータの別の例）
図１０で説明したスライスデータＳＤでは、ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃが、ツリーブロックの符号化データ（図１０においてcoding_tree()と表記）の直前に配置されていた。しかし、符号化装置において、適応フィルタのフィルタパラメータ（例えば、オフセット値）の決定は、当該ツリーブロックの局所復号画像が得られた後に行われるため、符号化データを遡ってＣＴＢＳＡＯユニットＳＡＯＰ＿Ｃの生成済みの符号化データへの挿入処理を行う必要がある。図２１は、前記挿入処理（再符号化処理）を不要とする、スライスデータＳＤにおけるＣＴＢＳＡＯユニットＳＡＯＰ＿Ｃの別の配置を示したものである。動画像復号装置１では、可変長符号復号部１３は、符号化データ＃１から当該ツリーブロック、すなわち、各パーティションに関する予測パラメータＰＰ（図４０のprediction_unit()）と、各ブロックに関する量子化予測残差ＱＤ（図４０のtransform_unit()）を復号した後に、適応ループフィルタに関するパラメータ）（ここではＳＡＯパラメータＳＡＯＰ）を復号する。図２１に示すように、ツリーブロックの後にＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃを配置することで、符号化装置はツリーブロックの予測処理と適応フィルタのパラメータ決定と同じ順序で、符号化データ＃１を出力すればよく、挿入処理（再符号化処理）が不要となるという効果を奏する。
【０１９３】
［変形例６］  （ＣＴＢＳＡＯパラメータのさらに別の例）
さらに、ＣＴＢＳＡＯパラメータを、ツリーブロックを構成する符号化ツリー内に配置することもできる。図３１は、本実施形態に係る符号化データ＃１における符号化ツリー（図３１においてcoding_tree()と表記）のシンタックスを示す図である（図３０と同一の部分は一部省略している）。
【０１９４】
図３１では、ＣＴＢＳＡＯユニットＳＡＯＰ＿Ｃ８は、ツリーブロックの最後に符号化される、スライスが終端するか否かを示すフラグend_of_slice_flagの前に符号化される。また、ＣＴＢＳＡＯユニットＳＡＯＰ＿Ｃ８が符号化されるのは、対象符号化ツリーがそれ以上分割されない場合（符号化ツリーを分割するか否かを示すフラグsplit_coding_unit_flagが０の場合）である。すなわち、コーディングユニット（もしくはコーディングユニットに対応するＰＣＭユニット）が符号化される場合である。interleave_loop_filter_param()は、ツリーブロックに対応して格納される適応フィルタの符号化パラメータを示すシンタックス要素である。例えば適応オフセットフィルタの場合は、ツリーブロックに対応する画素にかかる適応オフセットフィルタのオフセットタイプ及びオフセットを導出するためのシンタックス要素である。既に説明したＣＴＢＳＡＯユニットに相当する。
【０１９５】
また、例えば、適応ループフィルタ（適応空間フィルタ）の場合でも、ツリーブロックに対応する画素にかかる適応フィルタのフィルタ係数を導出するためのシンタックス要素である。ＣＴＢＳＡＯユニットに似たＣＴＢＡＬＦユニットを用いることができる。ＣＴＢＡＬＦユニットでは、既に説明したＣＴＢＳＡＯユニットと同様に、既に復号済みのフィルタ係数を利用するか否かを示すフラグとしてsao_merge_left_flagに相当するalf_merge_left_flag、sao_merge_up_flagに相当するalf_merge_up_flagを用いることができる。
【０１９６】
また、ＣＴＢＡＬＦユニットとして、フィルタ係数を配置するalf_filter_cabacを用いることができる。
【０１９７】
図３３（ａ）は、ツリーブロックにインターリーブする適応フィルタ情報interleave_loop_filter_param()に適応オフセットフィルタに用いるＣＴＢＳＡＯユニットと適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図である。図３３（ｂ）は、適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図であり、図３３（ｃ）は、interleave_loop_filter_param()に適応オフセットフィルタに用いるＣＴＢＳＡＯユニットのみを含む例を示す図である。
【０１９８】
図３４は、ＣＴＢＡＬＦユニットに含まれるalf_info_cabac()の符号化データ構造を示す図である。alf_info_cabac()は適応空間フィルタのフィルタ係数を配置する。
【０１９９】
図３５は、ツリーブロックにインターリーブする適応フィルタ情報interleave_loop_filter_param()として、適応空間フィルタを適用するか否かを示すオンオフフラグalf_lcu_enable_flagのみを配置する例を示す図である。図３５（ａ）は、interleave_loop_filter_param()に適応オフセットフィルタに用いるＣＴＢＳＡＯユニットと適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図であり、図３５（ｂ）は、適応空間フィルタに用いるＣＴＢＡＬＦユニットを含む例を示す図である。
【０２００】
図３６は、適応空間フィルタに用いるフィルタ係数を、ツリーブロックとインターリーブしないで符号化する場合の符号化データの例を示す図である。フィルタ係数は、スライスヘッダもしくはパラメータセット（例えばＡＰＳ）で符号化する。図３６（ａ）は、ＡＰＳにおいて、フィルタ係数を含む情報であるalf_param()を格納する例を示す図である。図３６（ｂ）は、alf_param()の具体的構成を示す図である。
【０２０１】
ツリーブロックにインターリーブする適応フィルタ情報interleave_loop_filter_param()の符号化位置に対応する対象符号化ツリーの位置がＣＴＢの境界にあることが望ましい。具体的には、図３１に示すＣＴＢＳＡＯユニットＳＡＯＰ＿Ｃ８の条件判定の例では、対象符号化ツリーがその属する最上位の符号化ツリー（ＣＴＢ）内において最も右下に位置するかどうかによりＣＴＢの境界判定を行う。ここで、x0およびy0は対象符号化ツリーの画素単位の左上座標、(1<<log2CbSize)は対象符号化ツリーの大きさ、ＣＴＢサイズCtbSizeは対象符号化ツリーが属する符号化ツリーブロックの大きさを、それぞれ表している。
【０２０２】
対象符号化ツリーがＣＴＢの最も右下に位置しているとき、すなわち、ツリーブロックの末尾の符号化ツリーでのみ、適応フィルタに関するパラメータが復号の対象となる。
【０２０３】
より具体的には、以下に示すように、対象符号化ツリーの右下の座標がＣＴＢの境界に位置する場合でのみ、適応フィルタに関するパラメータが復号の対象となる。
【０２０４】
x0＋(1<<log2CbSize)、y0＋(1<<log2CbSize)
ＣＴＢの境界に位置する場合は、位置がＣＴＢサイズの倍数になる場合であるから、結局、対象符号化ツリーのＸ座標と対象符号化ツリーのサイズの和のＣＴサイズの剰余が０かつ、対象符号化ツリーのＹ座標と対象符号化ツリーのサイズの和のＣＴサイズの剰余が０の場合、すなわち、以下の２つ（図３１の判定式）が成り立つ場合である。
【０２０５】
!(x0＋(1<<log2CbSize) % CtbSize)  かつ
!(y0＋(1<<log2CbSize) % CtbSize)
また、対象符号化ツリーのＸ座標と対象符号化ツリーのサイズの和のＣＴサイズの倍数である適応フィルタのユニットサイズ（LFUnitWidth）の剰余が０であるような、図３２の判定式が成り立つ場合でも良い。
【０２０６】
!(x0＋(1<<log2CbSize) % LFUnitWidth)  かつ
!(y0＋(1<<log2CbSize) % CtbSize)
以上の構成では、ＣＴＢ単位でフィルタパラメータが符号化されるため、ＣＴＢ単位より細かくフィルタパラメータを符号化する場合に比べ、符号量を低減させることができる。また、フィルタ領域の単位がＣＴＢ単位に対応する単位となるため、より細かい単位でフィルタ処理を行う場合に比べフィルタ処理が簡単になる。
【０２０７】
また、以上のデータ構成では、ツリーブロックの最後にＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃを配置することで、符号化装置はツリーブロックの符号化処理と適応フィルタのパラメータ決定と同じ順序で、符号化データ＃１を出力すればよく、再符号化処理が不要となるという効果を奏する。また、スライス終端であるか否かを示すシンタックス要素であるend_of_slice_flag前に復号することで、当該ツリーブロックを復号するために必要な情報の全てがend_of_slice_flagの復号前に復号される（すなわち、end_of_slice_flagが当該ツリーブロックに関わるデータの最後に位置する）ため、データ構造に一貫性を持たせることができる。また、end_of_slice_flagを復号した後の符号化データ上の位置がバイトアライン（８ビット境界にある）させることが容易となるという効果を奏する。
【０２０８】
なお、対象符号化ツリーの位置だけでなく、スライス終端であるか否かを示すシンタックス要素であるend_of_slice_flagの復号値に基づいて、適応フィルタのパラメータを復号するようにしてもよい。ツリーブロックの末尾で符号化する場合には、ツリーブロックの途中でスライス終端が生じた場合には、当該ツリーブロックに対応する適応ループフィルタパラメータinterleave_loop_filter_param()は復号されない。そのため、適応ループフィルタパラメータinterleave_loop_filter_param()が復号されないツリーブロックにおける復号処理を決定するデフォルトの適応フィルタパラメータを定めておくとよい。
【０２０９】
例えば、end_of_slice_flagが1となる符号化ツリーにおいては、interleave_loop_filter_param()において、適応フィルタをオフするよう。具体的には、ＳＡＯのタイプ（sao_type_idx）を０（フィルタ適用なし）と設定するなどの方法で可能である。
【０２１０】
以上のように、ツリーブロックの末尾以外でスライス終端が生じる場合、すなわちシンタックス要素であるend_of_slice_flagが１がツリーブロックの末尾以外で復号された場合には、対応する適応ループフィルタ（ＡＬＦ，ＳＡＯ）をオフとすることによって、適応ループフィルタパラメータinterleave_loop_filter_param()が復号されないツリーブロックにおけるフィルタ処理が確定するという効果を奏する。
【０２１１】
［変形例７］  （ＣＴＢＳＡＯユニットの別の例）
ＣＴＢＳＡＯユニットのシンタックスの別の例を、図２８および図２９を用いて説明する。
【０２１２】
図２８は、ＣＴＢＳＡＯユニット（図２８においてsao_unit_cabac()と表記）内で指定される、オフセット情報のマージ方法を、輝度と色差で異ならせる例を示している。sao_merge_luma_flagは、対象符号化ツリーのＣＴＢＳＡＯオフセット情報を、対象色差符号化ツリーに対応する輝度符号化ツリーから複製または参照するか否かを示すフラグである。また、cIdxは、処理対象の画素値の成分を表すインデックスである。インデックスcIdxは、値０が輝度、値１が色差Cb、値２が色差Crを表す。図２８のＣＴＢＳＡＯユニットを用いる場合、輝度に対しては左方向のオフセット情報および上方向のオフセット情報のどちらとマージするか、あるいはマージをしないかを選択が可能であり、色差に対しては、左方向のオフセット情報および輝度のオフセット情報のどちらとマージするか、あるいはマージをしないかの選択が可能である。
【０２１３】
図２９は、ＣＴＢＳＡＯユニット（図２９においてsao_unit_cabac()と表記）内で指定される、オフセット情報のマージ方法を、輝度と色差で異ならせる、別の例を示している。図２９のＣＴＢＳＡＯユニットを用いる場合、輝度に対しては左方向のオフセット情報および上方向のオフセット情報のどちらとマージするか、あるいはマージをしないかを選択するためのマージ情報が格納されるが、色差に対しては、左方向のオフセット情報とマージするか否かのみが選択可能である。
【０２１４】
なお、輝度に対しては上方向のマージを用い、色差に対しては上方向のマージを用いない上記処理は、適応オフセットフィルタの他、適応フィルタにおいても用いることができる。
【０２１５】
このように、ＬＣＵモードにおける色差の適応フィルタ処理において上方向のマージを用いないようにすることで、色差の適応フィルタ処理において、対象ツリーブロックの１つ上のツリーブロックラインに対するパラメータを保持する必要がなくなり、使用メモリ量が削減できる。
【０２１６】
（動画像復号装置１）
次に、本実施形態に係る動画像復号装置１について、図１および図３を参照して説明する。動画像復号装置１は、その一部に、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣに採用されている方式、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式、および、ＨＭ（HEVC TestModel）ソフトウェアに採用されている技術を含んでいる。
【０２１７】
図３は、動画像復号装置１の構成を示すブロック図である。図３に示すように、動画像復号装置１は、可変長符号復号部１３、動きベクトル復元部１４、バッファメモリ１５、インター予測画像生成部１６、イントラ予測画像生成部１７、予測方式決定部１８、逆量子化・逆変換部１９、加算器２０、デブロッキングフィルタ４１、適応フィルタ５０、および適応オフセットフィルタ６０を含む構成である。動画像復号装置１は、符号化データ＃１を復号することによって動画像＃４を生成するための装置である。
【０２１８】
可変長符号復号部１３は、各パーティションに関する予測パラメータＰＰを、符号化データ＃１から復号する。すなわち、インター予測パーティションに関しては、参照画像インデックスＲＩ、推定動きベクトルインデックスＰＭＶＩ、および、動きベクトル残差ＭＶＤを符号化データ＃１から復号し、これらを動きベクトル復元部１４に供給する。一方、イントラ予測パーティションに関しては、（１）パーティションのサイズを指定するサイズ指定情報、および、（２）予測インデックスを指定する予測インデックス指定情報を符号化データ＃１から復号し、これをイントラ予測画像生成部１７に供給する。また、可変長符号復号部１３は、ＣＵ情報を符号化データから復号し、これを予測方式決定部１８に供給する（不図示）。更に、可変長符号復号部１３は、各ブロックに関する量子化予測残差ＱＤ、および、そのブロックを含むツリーブロックに関する量子化パラメータ差分Δｑｐを符号化データ＃１から復号し、これらを逆量子化・逆変換部１９に供給する。また、可変長符号復号部１３は、符号化データ＃１からＳＡＯパラメータＳＡＯＰを復号し、それらを適応オフセットフィルタ６０に供給する。ＳＡＯパラメータＳＡＯＰは、少なくとも、オフセット情報ＯＩを含む。
【０２１９】
動きベクトル復元部１４は、各インター予測パーティションに関する動きベクトルｍｖを、そのパーティションに関する動きベクトル残差ＭＶＤと、他のパーティションに関する復元済みの動きベクトルｍｖ’とから復元する。具体的には、（１）推定動きベクトルインデックスＰＭＶＩにより指定される推定方法に従って、復元済みの動きベクトルｍｖ’から推定動きベクトルｐｍｖを導出し、（２）導出した推定動きベクトルｐｍｖと動きベクトル残差ＭＶＤとを加算することによって動きベクトルｍｖを得る。なお、他のパーティションに関する復元済みの動きベクトルｍｖ’は、バッファメモリ１５から読み出すことができる。動きベクトル復元部１４は、復元した動きベクトルｍｖを、対応する参照画像インデックスＲＩと共に、インター予測画像生成部１６に供給する。なお、双方向予測（重み付き予測）を行うインター予測パーティションについては、復元した２つの動きベクトルｍｖ１およびｍｖ２を、対応する参照画像インデックスＲＩ１およびＲＩ２と共に、インター予測画像生成部１６に供給する。
【０２２０】
インター予測画像生成部１６は、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル復元部１４から供給された動きベクトルｍｖを用いて、同じく動きベクトル復元部１４から供給された参照画像インデックスＲＩによって指定されるフィルタ済復号画像Ｐ＿ＦＬ’から動き補償画像ｍｃを生成する。ここで、フィルタ済復号画像Ｐ＿ＦＬ’は、局所復号画像Ｐに対して、デブロッキングフィルタ４１によるデブロック処理、適応オフセットフィルタ６０によるオフセットフィルタ処理、および適応フィルタ５０による適応的フィルタ処理を施すことによって得られる画像であり、インター予測画像生成部１６は、フィルタ済復号画像Ｐ＿ＦＬ’を構成する各画素の画素値をバッファメモリ１５から読み出すことができる。インター予測画像生成部１６によって生成された動き補償画像ｍｃは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒとして予測方式決定部１８に供給される。なお、双方向予測（重み付き予測）を行うインター予測パーティションについては、（１）動きベクトルｍｖ１を用いて、参照画像インデックスＲＩ１によって指定されたフィルタ済復号画像Ｐ＿ＦＬ１’から動き補償画像ｍｃ１を生成し、（２）動きベクトルｍｖ２を用いて、参照画像インデックスＲＩ２によって指定されたフィルタ済復号画像Ｐ＿ＦＬ２’から動き補償画像ｍｃ２を生成し、（３）動き補償画像ｍｃ１と動き補償画像ｍｃ２との加重平均にオフセット値を加えることによってインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成する。
【０２２１】
イントラ予測画像生成部１７は、各イントラ予測パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、まず、符号化データ＃１から復号された予測インデックス指定情報およびサイズ指定情報を参照して予測モードを導出し、該予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。続いて、当該予測モードの示す予測方法に従って、バッファメモリから読み出した（不図示）局所復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部１７によって生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測方式決定部１８に供給される。
【０２２２】
また、イントラ予測画像生成部１７は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報ＩＥＭを適応フィルタ５０に供給する（不図示）。
【０２２３】
予測方式決定部１８は、ＣＵ情報に基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部１６にて生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器２０に供給し、後者の場合には、イントラ予測画像生成部１７にて生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器２０に供給する。
【０２２４】
逆量子化・逆変換部１９は、（１）量子化予測残差ＱＤを逆量子化し、（２）逆量子化によって得られたＤＣＴ（Discrete Cosine Transform）係数またはＤＳＴ（Discrete Sine Transform）係数を逆ＤＣＴ変換または逆ＤＳＴ変換し、（３）逆ＤＣＴ変換または逆ＤＳＴ変換によって得られた予測残差Ｄを加算器２０に供給する。なお、量子化予測残差ＱＤを逆量子化する際に、逆量子化・逆変換部１９は、可変長符号復号部１３から供給された量子化パラメータ差分Δｑｐから量子化ステップＱＰを導出する。量子化パラメータｑｐは、直前に逆量子化／逆ＤＣＴ（またはＤＳＴ）変換したツリーブロックに関する量子化パラメータｑｐ’に量子化パラメータ差分Δｑｐを加算することによって導出でき、量子化ステップＱＰは、量子化ステップｑｐからＱＰ＝２ｐｑ／６によって導出できる。また、逆量子化・逆変換部１９による予測残差Ｄの生成は、ブロック（変換単位）を単位として行われる。
【０２２５】
加算器２０は、予測方式決定部１８から供給された予測画像Ｐｒｅｄと、逆量子化・逆変換部１９から供給された予測残差Ｄとを加算することによって局所復号画像Ｐを生成する。
【０２２６】
デブロッキングフィルタ４１は、局所復号画像Ｐにおけるブロック境界、またはＣＵ境界を介して互いに隣接する画素の画素値の差が予め定められた範囲内である場合にはブロック歪みが存在すると判定し、局所復号画像Ｐにおける当該ブロック境界、または当該ＣＵ境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該ＣＵ境界付近の画像の平滑化を行う。デブロッキングフィルタ４１によりデブロッキング処理が施された画像は、デブロック済復号画像Ｐ＿ＤＢとして、適応オフセットフィルタ６０に出力される。
【０２２７】
適応オフセットフィルタ６０は、デブロッキングフィルタ４１から供給されるデブロック済復号画像Ｐ＿ＤＢに対して、符号化データ＃１から復号されたオフセットを用いたオフセットフィルタ処理を、ＱＡＯＵ（第１単位領域）を処理単位として施すことによってオフセットフィルタ済復号画像Ｐ＿ＯＦを生成する。生成されたオフセットフィルタ済復号画像Ｐ＿ＯＦは、適応オフセットフィルタ６０に供給される。適応オフセットフィルタ６０の具体的な構成については、後述するため、ここでは説明を省略する。
【０２２８】
適応フィルタ５０は、適応オフセットフィルタ６０から供給されるオフセットフィルタ済復号画像Ｐ＿ＯＦに対して、符号化データ＃１から復号されたフィルタパラメータＦＰ（フィルタセット番号、フィルタ係数群、領域指定情報、並びにオンオフ情報）を用いたフィルタ処理を施すことによって、フィルタ済復号画像Ｐ＿ＦＬを生成する。フィルタ済復号画像Ｐ＿ＦＬは、動画像＃４として外部に出力されると共に、可変長符号復号部１３によって符号化データから復号されたＰＯＣ指定情報と関連付けてバッファメモリ１５に格納される。
【０２２９】
なお、上記の説明では、ＳＡＯユニットＵを第２単位領域とし、ＱＡＯＵを第１単位領域とする場合を例に挙げたが、本実施形態はこれに限定されるものではなく、これらの単位領域として他のユニットを用いてもよい。
【０２３０】
（適応オフセットフィルタ６０の詳細）
次に、適応オフセットフィルタ６０の詳細について図１を参照して説明する。図１は、適応オフセットフィルタ６０の構成を示すブロック図である。図１に示すように、適応オフセットフィルタ６０は、オフセットタイプ復号部６１、適応フィルタ部６２、オフセット復号部６３、および、オフセット格納部６４を含む。
（オフセットタイプ復号部６１）
オフセットタイプ復号部６１は、入力されるＳＡＯパラメータＳＡＯＰからオフセットタイプsao_type_idxを抽出する。オフセットタイプsao_type_idxは、オフセット復号部６３、特性値算出部６２１、および、オフセット割り付け部６２４に出力される。
（オフセット復号部６３） 
オフセット復号部６３は、入力されるＳＡＯパラメータＳＡＯＰに含まれるオフセットsao_offsetを抽出する。さらに、オフセット復号部は、sao_type_idxおよびsao_offsetに基づいて、実オフセット値sao_offset’を導出し、オフセット格納部６４に出力する。また、オフセットタイプsao_type_idxがバンドオフセットであれば、バンドオフセット位置sao_band_positionも抽出し、出力する。sao_offsetからの実オフセット値sao_offset’の導出は次の通りである。
【０２３１】
オフセットタイプsao_type_idxがエッジオフセットを示している場合には、sao_offsetの値としては符号なしの値が符号化されているが、実オフセット値は、class_idxの値に応じて正負の符号を変更する。より具体的には、class_idx=1または2の場合には実オフセット値は負の値としてフィルタ処理に適用され、class_idx=3または4の場合には、実オフセット値は正の値としてフィルタ処理に適用される。
【０２３２】
オフセットタイプsao_type_idxがバンドオフセットを示している場合には、sao_offsetの値としては符号つきの値が符号化されているため、実オフセット値には、sao_offsetと同じ符号を適用する。
【０２３３】
このほか、実オフセット値sao_offset’の導出時に、画素値のビット深度に応じた逆量子化が行われることもある。例えば、ビット深度が12bitである画像に対する適応オフセットフィルタのオフセット値が、ビット深度10bit相当に量子化されて符号化されている場合、sao_offsetは2bit分桁上げされて実オフセット値が導出される。例えばビット深度が10bit以下である場合など、sao_offsetに対して量子化が行われていない場合には、逆量子化も行われない。
【０２３４】
なお、動画像復号装置１が、符号化データ＃１における各変形例に対応して復号動作を行う場合には、既に説明した各変形例に応じた値域に基づいて、符号化データ＃１からオフセットsao_offsetを復号する。
【０２３５】
逆量子化は、具体的には以下の式で導出される。
【０２３６】
sao_offset << (bitDepth ‐Min( bitDepth, bitDepthTh ) )
ここで、bitDepthはオフセット適用対象となる画素値のビット深度を表す値、bitDepthThはオフセット値を量子化する下限のビット深度である。
【０２３７】
実オフセットは、以下の式で導出される。
【０２３８】
sao_offset’＝ offetSign*sao_offset << (bitDepth ‐Min( bitDepth, bitDepthTh ) )
ここでoffsetSignはオフセットの符号である。
【０２３９】
また、オフセットが予測符号化されている場合には、予測値sao_predを用いて、以下の式により実オフセット値sao_offset’を導出する。
【０２４０】
sao_offset’＝sao_pred ＋  offetSign*sao_offset << (bitDepth ‐Min( bitDepth, bitDepthTh ) )
（オフセット復号部６３の別の構成１）
オフセット復号部６３の別の構成１では、オフセット復号部６３とは逆量子化の方法が異なる。図３７（ａ）は、オフセット復号部６３の別の構成１の構成を示すブロック図である。オフセット復号部６３では、オフセット量子化ステップ導出部６３２で、以下の式により量子化ステップを示す値（ここではシフト値のsao_qshift）を導出する。
【０２４１】
sao_qshift = (bitDepth -Min( bitDepth, bitDepthTh1 ) )
さらにオフセット逆量子化部６３１は以下の式により逆量子化を行う。
【０２４２】
SaoOffsetVal = offsetSign*sao_offset << sao_qshift
ここで量子化精度の上限を定める閾値bitDepthTh1には量子化パラメータqpに依存した値を用いる。
【０２４３】
図３７（ｂ）は、閾値の例である。この例では、
bitDepthTh1 = 10  （0 <= QP < 27）
bitDepthTh1 =  9  （27 <= QP < 37）
bitDepthTh1 =  8  （QP >= 37）
ここで、量子化パラメータqpとしては、対応するオフセットが適用される領域、すなわち、対象ＳＡＯユニットＵの左上座標の量子化パラメータqpを用いることができる。また、対象ＳＡＯユニットＵの左上座標が属するスライスの初期量子化パラメータqpを用いることができる。
【０２４４】
以上では、量子化パラメータqpが大きいほど、量子化精度の上限を定める閾値bitDepthTh1を小さな値に設定することにより、量子化パラメータqpが大きいほど量子化の精度が低くなるように設定する。量子化パラメータqp依存のパラメータはこれに限らず、図３７（ｃ）などのように設定も良い。
【０２４５】
bitDepthTh1 = 12  （0 <= QP <  7）
bitDepthTh1 = 12  （ 7 <= QP < 17）
bitDepthTh1 = 10  （17 <= QP < 27）
bitDepthTh1 =  9  （27 <= QP < 37）
bitDepthTh1 =  8  （QP >= 37）
オフセットの量子化ステップ（ここでは1<<(bitDepth -Min( bitDepth, bitDepthTh1 ) ）が大きいと、オフセットの精度は低くなり適応オフセットフィルタによる符号化歪み低減効果が小さくなるが、オフセットの符号化に必要な符号量が低下する。符号化効率を最大化するためには、オフセットの精度のバランスを取ることが必要である。
【０２４６】
以上では、ビット深度bitDepthと量子化パラメータqpに依存した閾値bitDepthTh1を用いて、適応オフセットフィルタのオフセットの逆量子化を行う。具体的には、量子化パラメータqpが大きいほど量子化の精度が低くなるように設定する。このように、オフセットの符号化精度を、ビット深度bitDepthと量子化パラメータqpに基づいて定めることにより、オフセットの符号化に必要な符号量と、オフセットの精度のバランスを最適化することができ符号化効率を向上させる効果を奏する。
（オフセット復号部６３の別の構成２）
オフセット復号部６３の別の構成２では、オフセット復号部６３とは逆量子化の方法が異なる。オフセット復号部６３では、ＳＡＯユニットＵのサイズを用いて以下のように逆量子化を行う。図３８（ａ）は、オフセット復号部６３の別の構成２の構成を示すブロック図である。オフセット復号部６３では、オフセット量子化ステップ導出部６３３で、以下の式により量子化ステップを示す値（ここではシフト値のsao_qshift）を導出する。
【０２４７】
sao_qshift = (bitDepth -Min( bitDepth, bitDepthTh1 ) )
さらにオフセット逆量子化部６３１は以下の式により逆量子化を行う。
【０２４８】
SaoOffsetVal = offsetSign*sao_offset << sao_qshift
ここで量子化精度の上限を定める閾値bitDepthTh2にはＳＡＯユニットＵのサイズに依存した値を用いる。
【０２４９】
図３８（ｂ）は、閾値の例である。この例では、
bitDepthTh1 = 10  （0 <=ＳＡＯユニットＵのサイズ < 32*32）
bitDepthTh1 =  9  （32*32 <=ＳＡＯユニットＵのサイズ < 64*64）
bitDepthTh1 =  8  （ＳＡＯユニットＵのサイズ >= 64）
ここで、ＳＡＯユニットＵのサイズとしては、対応するオフセットが適用される領域、すなわち、対象ＳＡＯユニットＵの面積を用いることができる。また、スライス内で面積が変化すると、オフセット復号部が複雑になるため、対象ＳＡＯユニットＵの左上座標が属するスライスの左上ＳＡＯユニットＵの面積を用いることもできる。
【０２５０】
オフセットの量子化ステップ（ここでは1<<(bitDepth -Min( bitDepth, bitDepthTh2 ) ）が大きいと、オフセットの精度は低くなり適応オフセットフィルタによる符号化歪み低減効果が小さくなるが、オフセットの符号化に必要な符号量が低下する。符号化効率を最大化するためには、オフセットの精度のバランスを取ることが必要である。
【０２５１】
以上ではＳＡＯユニットのサイズが小さいほど、量子化精度の上限を定める閾値bitDepthTh1を小さな値に設定することにより、ＳＡＯユニットのサイズが小さいほど量子化の精度が低くなるように設定する。
【０２５２】
以上では、ビット深度bitDepthとＳＡＯユニットのサイズに依存した閾値bitDepthTh2を用いて、適応オフセットフィルタのオフセットの逆量子化を行う。これにより、オフセットの符号化に必要な符号量と、オフセットの精度のバランスを最適化することができ符号化効率を向上させる効果を奏する。
（オフセット復号部６３の別の構成３）
オフセット復号部６３の別の構成１では、オフセット復号部６３とは逆量子化の方法が異なる。図３９（ａ）は、オフセット復号部６３の別の構成３の構成を示すブロック図である。オフセット復号部６３では、適応オフセットもモードがインターリーブモードであるかＡＰＳモードであるかによって、異なる量子化ステップの導出方法を用いる。
【０２５３】
ＡＰＳモードの場合には、非インターリーブモードオフセット量子化ステップ導出部６３４は、以下の式によりsao_qshiftを導出する。
【０２５４】
sao_qshift = (bitDepth -Min( bitDepth, bitDepthTh ) )
ここで、bitDepthThは固定値（例えば１０とする）。
【０２５５】
インターリーブモードである場合には、インターリーブモードオフセット量子化ステップ導出部６３５は、既に説明した。オフセット量子化ステップ導出部６３２もしくはオフセット量子化ステップ導出部６３３を用いる。すなわち、以下の式によりsao_qshiftを導出する。
【０２５６】
sao_qshift = (bitDepth -Min( bitDepth, bitDepthThX ) )
ここでbitDepthThXは、量子化パラメータｑｐに依存する値、もしくは、ＳＡＯユニットのサイズに依存する値を用いる。
【０２５７】
以上では、フィルタパラメータがツリーブロックにインターリーブされている場合と、インターリーブされていない場合とで異なるオフセットの逆量子化方法を用いる。ＡＰＳモードでは、オフセットの符号量が、符号化効率に与える影響は比較的小さいため、処理が単純となる方が好ましい。インターリーブモードでは量子化精度をより適応的に変更することでやや処理量が増加するが、符号化効率を向上させることができる。以上の構成では、処理量と符号化効率のバランスを向上させることができる。
（オフセット格納部６４）
オフセット格納部６４は、各オフセットタイプsao_type_idxに応じた各特性値に対して適用される実オフセット値sao_offset’およびバンドオフセット位置sao_band_offsetを記録する。
【０２５８】
あるいは、sao_offsetを格納し、被参照時に実オフセット値sao_offset’を導出して出力するようにしてもよい。
（適応フィルタ部６２）
適応フィルタ部６２は、図１に示すように、特性値算出部６２１、オフセット割り付け部６２４、および、オフセット適用部６２５をさらに含む。
【０２５９】
（特性値算出部６２１）
特性値算出部６２１は、入力されるデブロック済復号画像Ｐ＿ＤＢの画素値に基づいて、オフセットタイプsao_type_idxに対応する特性値を算出する。特性値の算出は各画素位置において実行される。sao_type_idxが０の場合、特性値は算出しない。sao_type_idxが１〜４の場合は、エッジ分類を表す特性値edgeIdxを算出する。特性値edgeIdxはsao_type_idxに応じた特定方向に対する、対象画素と隣接画素の間の画素値変化に基づき設定される。sao_type_idxが５の場合は、画素値の大きさを表す特性値bandIdxを算出する。特性値bandIdxは、対象画素の画素値を量子化した値として計算される。
【０２６０】
（オフセット割り付け部６２４）
オフセット割り付け部６２４は、各画素に対して、オフセットタイプ復号部６１より入力されるオフセットタイプsao_type_idx、オフセット特性値算出部６２１より入力される特性値edgeIdxまたは特性値bandIdxの示すオフセットを、オフセット格納部６４から読み出して設定する。特性値がbandIdxである場合には、オフセット格納部６４からバンドオフセット位置sao_band_positionも読み出して設定する。
【０２６１】
（オフセット適用部６２５）
オフセット適用部６２５は、各画素に対してオフセット割り付け部６２４で設定されたオフセットをデブロック済復号画像Ｐ＿ＤＢの画素値に加算してフィルタ済復号画像Ｐ＿ＦＬの画素値として設定する。
［変形例８］    〔パラメータの格納方法に応じて、サイズ設定値を切り換える〕
上記非特許文献１の技術では、ＳＡＯユニットＵの数が非常に多くなり、メモリ使用量増加の一因となる場合がある。例えば、４Ｋ２Ｋと呼ばれる高解像度画像（4096×2160画素）に対して16×16画素単位のツリーブロックを用いたとき、ツリーブロックの総数は１ラインあたり256個であり、ピクチャ全体では34560個となる。したがって、ツリーブロックに対応するＳＡＯユニットＵの数は、最高時には34560個となり、マージ（複製または参照によるオフセット情報の省略）が全く生じない場合には、オフセット情報ＯＩも34560個となるため、これらを最大数格納可能なメモリ量が必要となる。ＬＣＵモードにおいても、マージ処理によってオフセット情報ＯＩを上方隣接ツリーブロックに対応するオフセット情報ＯＩから参照するためには、１ツリーブロックライン分、すなわち256個のオフセット情報ＯＩを格納するメモリが必要となる。
【０２６２】
このような問題を防ぐため、本実施形態に係る符号化データおよび動画像復号装置は、以下のような構成をとってもよい。
【０２６３】
（格納方法に基づくＳＡＯユニットＵのサイズ設定）
複数のツリーブロックが１個のＳＡＯユニットＵに対応するように、ＳＡＯユニットＵのサイズを定めることで、上記の問題を軽減できる。複数のツリーブロックに対応するサイズのＳＡＯユニットＵでは、対応する各ツリーブロックに対して、同一のオフセット情報ＯＩを適用する。別の表現をすれば、ＳＡＯユニットＵに含まれる複数のツリーブロックに対応するオフセット情報ＯＩは、暗黙的にマージされている。
【０２６４】
まず、ＡＰＳモードにおけるＳＡＯユニットＵのサイズの設定方法について、図１４を用いて説明する。
【０２６５】
（ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ２）
図１４は、変形例８における、ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ２の各シンタックス要素を示す図である。ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ２に含まれるシンタックス要素sao_unit_width_minus1およびsao_unit_height_minus1は、それぞれ、ＡＰＳＳＡＯユニットの水平方向におけるサイズおよび垂直方向におけるサイズを、ツリーブロックの数に基づいて表した値である。つまり、変形例８のＡＰＳモードにおける適応オフセットフィルタの処理単位は、ここで指定されたＳＡＯユニットサイズである。したがって、図１４に含まれるループ変数rxおよびryも、この処理単位に基づいた値となる。
【０２６６】
また、ピクチャ内のＳＡＯユニット数に応じた回数でループを制御するために用いられている変数sao_num_unit_in_width_minus1およびsao_num_unit_in_height_minus1は、それぞれ次の式で求められる。
【０２６７】
PicNumLcuInW = sao_num_lcu_in_width_minus1 + 1
PicNumLcuInH = sao_num_lcu_in_height_minus1 + 1
SaoNumLcuInUnitW = sao_unit_width_minus1 + 1
SaoNumLcuInUnitH = sao_unit_height_minus1 + 1
sao_num_unit_in_width_minus1  = PicNumLcuInW / SaoNumLcuInUnitW + Mod0(PicNumLcuInW, SaoNumLcuInUnitW)
sao_num_unit_in_height_minus1 = PicNumLcuInH / SaoNumLcuInUnitH + Mod0(PicNumLcuInH, SaoNumLcuInUnitH)
ここで、関数Mod0(x,y)は、引数xをyで割った剰余が0であれば0を返し、剰余が0でなければ1を返す関数である。
【０２６８】
なお、ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ２における他のシンタックス要素については、ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａと同一であるため、説明を省略する。
【０２６９】
次に、ＬＣＵモードにおけるＳＡＯユニットＵのサイズの設定方法について、図１５を用いて説明する。
【０２７０】
（ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ２）
図１５は、変形例８における、ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ２の各シンタックス要素を示す図である。ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ２に含まれるシンタックス要素sao_unit_width_minus1は、ＣＴＢＳＡＯユニットに対応するフィルタ対象領域の水平方向におけるサイズ（以下、ＣＴＢＳＡＯユニットの水平方向のサイズと称する）を、ツリーブロックの数に基づいて表した値である。ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ２における他のシンタックス要素については、ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓと同一であるため、説明を省略する。
【０２７１】
ＬＣＵモードにおいては前述のＡＰＳモードとは異なり、ＣＴＢＳＡＯユニットに対応するフィルタ対象領域の垂直方向のサイズ（以下、ＣＴＢＳＡＯユニットの垂直方向のサイズと称する）は明示的に符号化データに含めず、暗黙的に所定の値に固定する。例えば、ＬＣＵモードにおいてはＣＴＢＳＡＯユニットの垂直方向のサイズを１と固定すれば、ツリーブロックのライン単位の処理は常に同一に保たれ、簡潔に装置を構成できる。
【０２７２】
適応オフセットフィルタの処理の単位（ＳＡＯユニットのサイズ）は、ＣＴＢＳＡＯユニットの水平方向のサイズ×ＣＴＢＳＡＯユニットの垂直方向のサイズとなる。具体的には、sao_unit_width_minus1が０の場合にはツリーブロック単位で処理が行われ、０以上とする場合には複数のツリーブロック単位で実行することができる。符号化データの構造においても、sao_unit_width_minus1が０の場合にはツリーブロック単位で適応フィルタ情報が符号化され、０以上とする場合には複数のツリーブロック単位で適応フィルタ情報が符号化される。
【０２７３】
（ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ２）
図１６は、変形例８における、ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ２の各シンタックス要素を示す図である。ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ２は、概略的には、ＣＴＢＳＡＯユニット情報（sao_unit_cabac()）およびＣＴＢＳＡＯオフセット情報（sao_unit_cabac()）をシンタックス要素として含む。ＣＴＢＳＡＯユニット情報（sao_unit_cabac()）およびＣＴＢＳＡＯオフセット情報（sao_unit_cabac()）については既に説明したため省略する。ＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ２のシンタックス冒頭の条件分岐は、sao_interleaving_flagが真、すなわちＬＣＵモードであり、かつ、( xCtb % SaoNumLcuInUnitW == 0)である場合(%は剰余を表す)すなわちＣＴＢＳＡＯユニットに対応するフィルタ対象領域の左端に対応するツリーブロックについてのみ、sao_unit_cabac()が符号化データに含まれることを示している。ここで、xCtbは処理対象ツリーブロックの水平方向の位置をツリーブロック単位で表した値であり、SaoNumLcuInUnitWはＳＡＯユニットの水平方向のサイズをツリーブロック単位で表した値であり、ＡＰＳモードの場合と同様に、sao_unit_width_minus1に基づいて導出される。また、xCtbは処理対象ツリーブロックの水平方向の位置を画素単位で表す場合には、( xCtb % SaoNumLcuInUnitW == 0)の代わりに、( xCtb % (SaoNumLcuInUnitW*CtbSize) == 0)を用いる。
【０２７４】
なお、ＣＴＢＳＡＯユニットに対応するフィルタ対象領域の左端に対応するツリーブロックについてのみではなく、ＣＴＢＳＡＯユニットに対応するフィルタ対象領域の右端に対応するツリーブロックで、適応フィルタパラメータを復号することも好適である。この場合には、( xCtb % SaoNumLcuInUnitW == SaoNumLcuInUnitW-1)の条件分岐を用いる。
【０２７５】
なお、シンタックス冒頭の条件分岐は、sao_interleaving_flagが真、すなわちＬＣＵモードであり、かつ、( xCtb % SaoNumLcuInUnitW == 0)である場合(%は剰余を表す)すなわちＣＴＢＳＡＯユニットに対応するフィルタ対象領域の左端に対応するツリーブロックについてのみ、sao_unit_cabac()が符号化データに含まれることを示している。
【０２７６】
このように、ＳＡＯパラメータＳＡＯＰの格納方法に応じて適応フィルタ処理の単位（ＳＡＯユニット）のサイズを設定することにより、１個のオフセット情報ＯＩを複数のツリーブロックに対応させるようにすれば、オフセット情報ＯＩの最大数を抑制して、必要なメモリ量を低減することができる。
【０２７７】
なお、ピクチャ、タイルおよびスライスなどによって規定される所定の領域の境界を内部に含むようにＳＡＯユニットＵが位置する場合には、処理対象ＳＡＯユニットＵの実質的な水平方向のサイズ（処理対象となる画素が実際に含まれる領域のサイズ）は、指定されたSaoNumLcuInUnitWよりも小さくなる。このような対象ＳＡＯユニットＵに対しては、適応フィルタを適用しないものとして、オフセット情報ＯＩの符号化を省略してもよい。例えば、当該ＳＡＯユニットＵに対するオフセット情報として、sao_type_idx=0(フィルタを適用しない)を割り当てるとよい。
【０２７８】
また、輝度と色差のＳＡＯユニットのサイズを異ならせてもよい。図２２は、その場合における、ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ３の各シンタックス要素を示す図である。ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ３に含まれるシンタックス要素sao_luma_unit_width_minus1は、輝度画素に対するＣＴＢＳＡＯユニットの水平方向におけるサイズを、ツリーブロックの数に基づいて表した値である。また、sao_cb_unit_width_minus1およびsao_cr_unit_width_minus1は、それぞれ、色差Ｃｂおよび色差Ｃｒ画素に対するＣＴＢＳＡＯユニットの水平方向におけるサイズを、ツリーブロックの数に基づいて表した値である。ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓ３における他のシンタックス要素については、ＳＨＳＡＯパラメータＳＡＯＰ＿Ｓと同一であるため、説明を省略する。
【０２７９】
このとき、ＳＡＯのユニットサイズを表す変数SaoNumLcuInUnitWおよびSaoNumLcuInUnitHは画素値の成分によって異なる。変数SaoNumLcuInUnitWおよびSaoNumLcuInUnitHの値は、例えば、処理対象の画素値の成分を示すインデックスcIdxを用いて、次のように導出できる。
【０２８０】
SaoNumLcuInUnitW = ( cIdx == 0 ) ? sao_luma_unit_width_minus1 + 1 :
( cIdx == 1 ) ? sao_cb_unit_width_minus1 + 1 :
( cIdx == 2 ) ? sao_cr_unit_width_minus1 + 1 
SaoNumLcuInUnitH = ( cIdx == 0 ) ? sao_luma_unit_height_minus1 + 1 :
( cIdx == 1 ) ? sao_cb_unit_height_minus1 + 1 :
( cIdx == 2 ) ? sao_cr_unit_height_minus1 + 1 
なお、“ ? : ”は三項演算子であり、例えば式 x?y:z においてxが真の場合には式yの値、xが偽の場合には式zの値が、演算結果の値となる。
【０２８１】
このように、画素値の成分毎にＳＡＯユニットのサイズを異ならせることで、各画素値の成分に応じた効率的な適応フィルタの適用が可能となる。
［変形例９］
上記変形例８で説明したようなＳＡＯユニットのサイズ指定を、スライスヘッダＳＨや適応フィルタパラメータＡＰＳではなく、さらに上位のパラメータセット（例えば、シーケンスパラメータセット）に格納して共用することもできる。これについて図１３を用いて説明する。
【０２８２】
図１３は、符号化データ＃１のシーケンスパラメータセットＳＰＳのシンタックス要素の別の構成を示す図である。なお、図４と同じシンタックス要素については説明を省略する。シンタックス要素sao_unit_width_minus1およびsao_height_minus1は、既に説明した同名のシンタックス要素と同じく、それぞれ、ＳＡＯユニットの水平方向におけるサイズおよび垂直方向におけるサイズを、ツリーブロックの数に基づいて表した値である。図１３に示したシーケンスパラメータセットＳＰＳを用いる場合には、ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ２およびＳＨＳＡＯパラメータＳＡＯ＿Ｓ２は、sao_unit_width_minus1およびsao_unit_height_minus1を含まず、シーケンスパラメータセットＳＰＳに格納されている各々の値を必要に応じて参照すればよい。
［変形例１０］
さらに、ＳＡＯユニットのサイズ指定を、符号化データ＃１に直接含めず、プロファイルまたはレベルに基づいてＳＡＯユニットのサイズを所定の値に設定するように構成することもできる。なお、プロファイルとは、符号化データの構成要素の組み合わせを示すものであり、レベルとは、画像データやメモリサイズなどデコーダが満たすべき量的な要件を示すものである。符号化データ＃１を復号可能な動画像復号装置に要求されるプロファイルとレベルは、シーケンスパラメータセットＳＰＳに含まれるシンタックス要素profile_idcおよびlevel_idcによって特定される。
【０２８３】
プロファイルに基づいて設定する例として、プロファイルＰｒｏｆＡおよびプロファイルＰｒｏｆＢが規定されているとき、プロファイルＰｒｏｆＡではＳＡＯユニットの水平方向のサイズSaoNumLcuInUnitWの値が１、垂直方向のサイズSaoNumLcuInUnitHの値が１であるとする。また、プロファイルＰｒｏｆＢではＳＡＯユニットの水平方向のサイズSaoNumLcuInUnitWの値が４、垂直方向のサイズSaoNumLcuInUnitHの値が２であるとする。profile_idcがプロファイルＰｒｏｆＡを適用することを示していれば、ＳＡＯユニットＵの大きさは、１×１ツリーブロックと設定され、プロファイルＰｒｏｆＢを適用することを示していれば、ＳＡＯユニットＵの大きさは、４×２ツリーブロックと設定される。これはプロファイルが２個以外の場合でも同様である。
【０２８４】
レベルに基づいて設定する例も同様に、レベルＬｖＡおよびレベルＬｖＢが規定されているとき、レベルＬｖＡではＳＡＯユニットの水平方向のサイズSaoNumLcuInUnitWの値が１、垂直方向のサイズSaoNumLcuInUnitHの値が１であるとする。また、レベルＬｖＢではＳＡＯユニットの水平方向のサイズSaoNumLcuInUnitWの値が４、垂直方向のサイズSaoNumLcuInUnitHの値が２であるとする。level_idcがレベルＬｖＡを適用することを示していれば、ＳＡＯユニットＵの大きさは、１×１ツリーブロックと設定され、レベルＬｖＢを適用することを示していれば、ＳＡＯユニットＵの大きさは、４×２ツリーブロックと設定される。これはレベルが２個以外の場合でも同様である。
【０２８５】
プロファイルまたはレベルに基づいてＳＡＯユニットのサイズを設定する場合も、変形例９と同様に、ＡＰＳＳＡＯパラメータＳＡＯＰ＿Ａ２およびＳＨＳＡＯパラメータＳＡＯ＿Ｓ２は、sao_unit_width_minus1およびsao_unit_height_minus1を含まず、シーケンスパラメータセットＳＰＳに格納されている各々の値を必要に応じて参照すればよい。また、シーケンスパラメータセットＳＰＳのシンタックスとしては、図４で説明したものを用いればよい。
【０２８６】
あるいは、プロファイルまたはレベルに基づいて設定されるサイズを設定可能な最小値または初期値として、変形例８および変形例９で説明したように、符号化データ＃１にＳＡＯユニットのサイズを含めても構わない。
［変形例１１］
上記変形例で説明したように、動画像復号装置１では、ＳＡＯユニットのサイズを指定する実施の形態も可能である。これらのサイズ指定方法と、変形例５のＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃの別の配置を組み合わせた変形例を、図２２から図２５を用いて説明する。図２３から図２５は、いずれも、スライスデータＳＤのシンタックス要素を示している。なお、既に説明したものと同名のシンタックス要素については、説明を省略する。
【０２８７】
図２３は、ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの例を示した図である。図２３に示すＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ３においては、冒頭の条件分岐によって、水平方向にSaoNumLcuInUnitW個のツリーブロックを単位とするＳＡＯユニットを用いる場合に、SaoNumLcuInUnitW個毎のツリーブロックの直後、すなわちＳＡＯユニットの終端に位置するツリーブロックにのみ、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩが符号化される。
【０２８８】
図２４は、ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの別の例を示した図である。図２４に示すＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ４においては、先頭の条件判定によって、SaoNumLcuInUnitW個毎のツリーブロックの直後だけでなく、スライスの終端に伴ってSaoNumLcuInUnitW個未満のツリーブロックで終端したＳＡＯユニットに対しても、最後のツリーブロックの直後にＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩが格納される。ここで、moreDataFlagは、ツリーブロックの処理をする際に得られる値で、対象ツリーブロックがスライス終端であるかどうかを示すフラグである。moreDataFlagは、対象ツリーブロック直後にＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩを挿入するか否かの判定に用いられる。
【０２８９】
図２５は、ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの第２の別の例を示した図である。図２５に示すＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ５においては、冒頭の条件判定によって、SaoNumLcuInUnitW個毎のツリーブロックの直後およびスライスの終端に加え、ピクチャ右端にかかるＳＡＯユニットにおいても、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩが格納される。対象ツリーブロックがピクチャ右端か否かは、ツリーブロックの水平方向の位置を表すxCtbと、ピクチャの幅をツリーブロック単位で表した値であるPicWidthInCtbsとに基づいて判定される。
【０２９０】
図２６は、ＬＣＵモードにおいてＳＡＯユニットのサイズを指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの第３の別の例を示した図である。図２６に示すＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ６においては、冒頭の条件判定によって、対象スライス先頭のツリーブロックから数えてSaoNumLcuInUnitW個毎のツリーブロックの直後に、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩが格納される。
【０２９１】
図２７は、ＬＣＵモードにおいてＳＡＯユニットのサイズを輝度と色差で個々に指定し、さらに、ＣＴＢＳＡＯパラメータをツリーブロックの後に配置する場合のシンタックスの例を示した図である。図２７に示すＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ７においては、各画素成分に対応するＳＡＯユニットＵのシンタックス直前に配置された条件判定によって、各画素成分に対応するＳＡＯユニットＵのサイズに応じた頻度で、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩが符号化される。
【０２９２】
図３２は、適応フィルタパラメータ（ＣＴＢＳＡＯパラメータ、ＣＴＢＡＬＦパラメータ）を、ツリーブロック（図３２においてcoding_tree()と表記）の内部に配置するシンタックスの、別の例である。変形例６における図３１と異なり、図３２に示す例では、ＳＡＯユニットの横幅を指定した場合の例を示している。水平方向の位置を判定する際に、最上位のツリーブロックサイズCtbSizeではなく、適応フィルタユニット（ＳＡＯユニット）の横幅LFUnitWidth（LFUnitWidth＝CtbSize * (sao_unit_width_minus1 + 1)）を用いることで、複数（SaoNumLcuInUnitW個）のツリーブロックの末尾、すなわち適応フィルタユニット（ＳＡＯユニット）の終端に位置するツリーブロックの末尾にのみ、適応フィルタユニット（ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩ）が符号化される。
【０２９３】
以上のように、本実施形態に係る動画像復号装置１では、入力される符号化データより復号される復号済の復号画素値に基づいて生成される予測画像に基づいてフィルタ前復号画像を生成し、上記フィルタ前復号画像に一以上のループ内フィルタを適用して復号画像を生成するものであり、上記符号化データ＃１より復号される、所定の値域をもったオフセット情報に基づいて、オフセット値を局所復号画像に加算する適応オフセットフィルタを備えている。
【０２９４】
また、適応オフセットフィルタの処理単位を、オフセット情報の格納方法に基づいて設定することで、各々の格納方法に適した処理単位を設定しながらオフセット情報の最大数を低減することができる。
【０２９５】
このように、値域を制限したオフセットを含む符号化データ＃１を用いて適応オフセットフィルタ処理を行うことで、ＳＡＯパラメータＳＡＯＰの格納に要するメモリ量を低減することができる。
［変形例１２］
Fine Granularity Sliceと呼ばれるＣＴＢの途中でスライス境界が生じる（スライスが終端する、もしくは、スライスが開始する）場合において、適応ループフィルタのフィルタ処理（適応オフセットの適応フィルタ部６２の処理）を変更することもできる。スライス境界の粒度（SliceGranularity）は、ＰＰＳで符号化されるslice_granularityに応じて以下の式で定まる。
【０２９６】
SliceGranularity＝(slice_granularity<<1)
スライスを構成する最小単位（以下スライス境界ユニット）のサイズは、ＣＴＢサイズとslice_granularityにより以下のように定まる。
【０２９７】
スライス境界ユニットのサイズ＝ＣＴＢのサイズ>> slice_granularity
例えば、ＣＴＢサイズが６４×６４、slice_granularityが1の場合には、スライス境界ユニットのサイズは３２×３２となる。
【０２９８】
スライスの開始位置（slice_address）は、ＣＴＢをSliceGranularityで定まるスライス境界ユニットの位置として復号される。スライスの開始位置に対応するＣＴＢのラスタスキャン上の開始位置SliceCtbAddrRSは、以下の式で求めることができる。
【０２９９】
SliceCtbAddrRS = (slice_address>>SliceGranularity)
スライスの終端は、スライス終端を示すフラグend_of_sliceが１により導出される。end_of_sliceが１の直前の符号化ツリーの位置が、スライスの終端位置となる。
【０３００】
分割ＣＴＢは、当該ＣＴＢからスライスからスライスが開始され、その開始位置がＣＴＢの境界でない場合、もしくは、当該ＣＴＢでスライスが終端し、その終端位置がＣＴＢの境界にない場合である。非分割ＣＴＢは上記以外の場合である。
【０３０１】
スライスのアドレスslice_addressが1<<SliceGranularityの倍数である場合、すなわちslice_addressの(1<<SliceGranularity)による剰余が０である場合、スライスの位置はＣＴＢの境界にある。つまり、slice_address%(1<<SliceGranularity)==0はスライス境界を意味する。
【０３０２】
本変形例では、ＬＣＵモードの場合においてツリーブロックの最後に、適応フィルタパラメータinterleave_loop_filter_param()を符号化する図３１に示すようなデータ構成を用いる。
【０３０３】
図４１（ａ）は、スライス境界の例を示す図である。スライス＃１は２つのツリーブロック、ＴＢ＃１とＴＢ＃２Ａから構成され、スライス＃２は、ＴＢ＃２ＢとＴＢ＃３から構成される。ＴＢ＃１、ＴＢ＃３は、ＣＴＢの途中にスライス境界がない非分割ＣＴＢを構成するツリーブロック（以下、単に非分割ＣＴＢと呼ぶ）であり、ＴＢ＃２は、ＣＴＢの途中にスライス境界がある分割ＣＴＢを構成するツリーブロック（以下、単に分割ＣＴＢと呼ぶ）を示す。さらに、ＣＴＢの終端を構成するリーフを含むツリーブロックＴＢを完了ＴＢと呼ぶ。ＣＴＢの途中でスライスが終端しないツリーブロックは完了ＴＢである。ＣＴＢの途中でスライスが終端するツリーブロックは非完了ＴＢと呼ぶ。ＴＢ＃２Ａは、分割ＣＴＢの非完了ＴＢであり、ＴＢ＃２Ｂは、分割ＣＴＢの完了ＴＢである。
【０３０４】
図４１（ｂ）には、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す。スライス＃１は、スライスヘッダＳＨ、ＴＢ＃１、ＬＦparam＃１（ここでLF paramはinterleave_loop_filter_paramを示す）、eos#1（ここでeosはend_of_sliceを示す）、ＴＢ＃２Ａ、eos#２Ａから構成され、スライス＃２は、スライスヘッダＳＨ、ＴＢ＃２Ｂ、ＬＦparam＃２Ｂ、eos#２Ｂ、ＴＢ＃３Ａ、ＬＦparam＃３、eos#３から構成される。図３１のように、対象符号化ツリーがそれ以上分割されない場合（符号化ツリーが末端のノードであるリーフ（leaf）の場合）、かつ、ＣＴＢを構成する最後の符号化ツリーを含む場合のみである。ＣＴＢ終端を含むリーフのみ符号化される場合には、分割ＣＴＢの非完了ＴＢでは適応ループフィルタパラメータが符号化されない（ＬＦparam＃２Ａは符号化されない）。
【０３０５】
図４１（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。図４１（ｃ）に示すように、非分割ＣＴＢと分割ＣＴＢの完了ＴＢでは、適応フィルタを適用する。逆に、分割ＣＴＢの非完了ＴＢでは対応する適応ループフィルタパラメータが符号化されないためフィルタ処理を行わない。分割ＴＢ＃２の適応ループフィルタパラメータにはＬＦparam＃２Ｂがありえる。しかし、スライス＃１（非完了ＴＢを含むスライス）のフィルタ処理で、スライス＃２（非終端ＴＢのＣＴＢの終端を含む完了ＴＢを含むスライス）で復号されるＬＦparam＃２Ｂを用いる場合、スライス＃１の復号処理をスライス＃２の到達時点まで遅らせる必要が生じる。図４１（ａ）はフィルタ適用可能性がyesの領域をグレーとし、noの領域を白にしている。
【０３０６】
以上の構成により、ＣＴＢの途中でスライス分割が行われる場合においても、非完了ＴＢを含む分割ＣＴＢに関するスライスの復号処理を遅らせることなく、適応ループフィルタ処理を行うことができるため、スループットが向上する。また、処理を遅らせる必要がなく処理が簡略化される。
［変形例１３］
ＣＴＢの途中でスライス境界が生じる場合の適応ループフィルタのフィルタ処理の別の例である。本変形例では、ＬＣＵモードの場合においてツリーブロックの最後に、適応フィルタパラメータinterleave_loop_filter_param()を符号化する図３１に示すようなデータ構成を用いる。
【０３０７】
図４２（ａ）は、スライス境界の例を示す図である。図４２（ｂ）には、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す。図４２（ａ）、（ｂ）は各々図４１（ａ）、（ｂ）と構成が同一であるため説明を省略する。
【０３０８】
図４２（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。図４２（ｃ）に示すように、非分割ＣＴＢと分割ＣＴＢの完了ＴＢの両者とも適応フィルタを適用する。分割ＣＴＢの非完了ＴＢでは対応する分割ＣＴＢの完了ＴＢの後に符号化される適応ループフィルタパラメータ（本例ではＬＦparam＃２Ｂ）を用いて適応ループフィルタ処理を行う。
【０３０９】
以上の構成により、ＣＴＢの途中でスライス分割が行われる場合においても、適応ループフィルタ処理を行うことができるため、符号化効率が向上する。
［変形例１４］
ＣＴＢの途中でスライス境界が生じる場合の適応ループフィルタのフィルタ処理の別の例である。本変形例では、ＬＣＵモードの場合においてツリーブロックの最後に、適応フィルタパラメータinterleave_loop_filter_param()を符号化する図３１に示すようなデータ構成を用いる。
【０３１０】
図４３（ａ）は、スライス境界の例を示す図である。図４３（ｂ）には、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す。図４３（ａ）、（ｂ）は各々図４１（ａ）、（ｂ）と構成が同一であるため説明を省略する。
【０３１１】
図４３（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。図４３（ｃ）に示すように、スライス境界にループフィルタ処理を行うことを示すslice_loop_filter_across_slices_enabled_flagが１の場合には、分割ＣＴＢの非完了ＴＢでは適応フィルタを適用せず、逆に、スライス境界にループフィルタ処理を行わない場合には、分割ＣＴＢの非完了ＴＢでも適応フィルタを適用する。なお、slice_loop_filter_across_slices_enabled_flagは、シーケンス単位でループフィルタ処理を制御するフラグseq_loop_filter_across_slices_enabled_flagが１の場合に符号化される。seq_loop_filter_across_slices_enabled_flagが０の場合には、スライス境界にループフィルタ処理を行わない、すなわち、slice_loop_filter_across_slices_enabled_flag＝０とする。
【０３１２】
本例のように適応ループフィルタ処理を行わないように制限する処理をＬＣＵモードのみに適用し、ＡＰＳモードおよびＳＨモードには適用しないことも好適である。すなわち、ＬＣＵモードかつslice_loop_filter_across_slices_enabled_flagが１の場合に、分割ＣＴＢの非完了ＴＢでは適応フィルタを適用せず、それ以外の場合には適用する。
【０３１３】
以上の構成により、スライス境界にループフィルタ処理を行わない場合には、非完了ＴＢに対して適応ループフィルタ処理を行わないように制限することでスループット向上の効果を奏し、スライス境界にループフィルタ処理を行う場合には、非完了ＴＢに対して適応ループフィルタ処理を行うことで符号化効率が向上する効果を奏する。
［変形例１５］
ＣＴＢの途中でスライス境界が生じる場合の適応ループフィルタのフィルタ処理の別の例である。本変形例では、ＡＰＳモードもしくはＳＨモードの場合と、ＬＣＵモードの場合において処理を変える構成も可能である。ＬＣＵモードの場合においてはツリーブロックの最後に、適応フィルタパラメータinterleave_loop_filter_param()を符号化する図３１に示すようなデータ構成を用いる。
【０３１４】
図４４（ａ）は、スライス境界の例を示す図である。図４４（ｂ）には、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す。図４４（ａ）、（ｂ）は各々図４１（ａ）、（ｂ）と構成が同一であるため説明を省略する。
【０３１５】
図４４（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。図４４（ｃ）に示すように、ＬＣＵモードの場合には、分割ＣＴＢの非完了ＴＢでは適応フィルタを適用せず、逆に、ＡＰＳモードおよびＳＨモードでは、分割ＣＴＢの非完了ＴＢでも適応フィルタを適用する。
【０３１６】
以上の構成により、ＬＣＵモードの場合には非完了ＴＢに対して適応ループフィルタ処理を行わないように制限することでスループット向上の効果を奏し、ＡＰＳモードもしくはＳＨモードの場合には、非完了ＴＢに対して適応ループフィルタ処理を行うことで符号化効率が向上する効果を奏する。
［変形例１６］
ＣＴＢの途中でスライス境界が生じる場合の適応ループフィルタのフィルタ処理の別の例である。本変形例では、ＡＰＳモードもしくはＳＨモードの場合と、ＬＣＵモードの場合において処理を変える構成も可能である。ＬＣＵモードの場合においてはツリーブロックの最後に、適応フィルタパラメータinterleave_loop_filter_param()を符号化する図３１に示すようなデータ構成を用いる。
【０３１７】
図４５（ａ）は、スライス境界の例を示す図である。図４５（ｂ）には、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す。
【０３１８】
図４５（ｂ）には、適応ループフィルタパラメータがＬＣＵモード（インタリーブモード）の場合のスライス＃１とスライス＃２の符号化データの構成を示す。スライス＃１は、スライスヘッダＳＨ、ＴＢ＃１、ＬＦparam＃１（ここでLF paramはinterleave_loop_filter_paramを示す）、eos#1（ここでeosはend_of_sliceを示す）、ＴＢ＃２Ａ、eos#２Ａから構成され、スライス＃２は、スライスヘッダＳＨ、ＴＢ＃２Ｂ、eos#２Ｂ、ＴＢ＃３Ａ、ＬＦparam＃３、eos#３から構成される。本例は、図４１（ｂ）の符号化データと異なり、分割ＣＴＢでは、適応ループフィルタパラメータを含まない（図４１（ｂ）では符号化していたＬＦ param＃２Ｂを符号化しない）。より具体的には、スライスヘッダで符号化されるスライス先頭アドレスが、ＣＴＢ境界以外にある場合には、その先頭スライスに対応するＣＴＢのツリーブロックでは、たとえ完了ＴＢであっても、適応ループフィルタパラメータを符号化しない。
【０３１９】
図４５（ｃ）は、適応ループフィルタのフィルタ処理を示す図である。図４５（ｃ）に示すように、分割ＣＴＢの場合には、適応ループフィルタ処理を省略する。
【０３２０】
以上の構成により、分割ＣＴＢにおける適応ループフィルタ処理を簡略化する効果とさらにスループット向上の効果を奏する。
【０３２１】
なお、スライス境界にループフィルタ処理を行うか否かに応じて処理を変更することも可能である。すなわち、スライス境界にループフィルタ処理を行わない場合（seq_loop_filter_across_slices_enabled_flagが０もしくはslice_loop_filter_across_slices_enabled_flagが０の場合）には、分割ＣＴＢに対して適応ループフィルタ処理を適用せず、逆に、スライス境界にループフィルタ処理を行う場合（slice_loop_filter_across_slices_enabled_flagが１の場合）には、分割ＣＴＢに対して適応ループフィルタ処理を適用する。適応ループフィルタパラメータの復号は、ＬＣＵモードであり、かつ、slice_loop_filter_across_slices_enabled_flagが１であり、でかつ、非分割ＣＴＢの完了ＴＢの場合に行う。非分割ＣＴＢは、スライスの先頭ＣＴＢ以外かつＣＴＢの途中でスライス分割されない場合、もしくは、スライス先頭ＣＴＢかつスライス先頭アドレスがＣＴＢの途中でない場合である。
［変形例１７］    〔左マージ情報によるＣＴＢＳＡＯユニット〕
上記非特許文献２の技術では、ＳＡＯユニットＵサイズはＣＴＢサイズと等しい。そのため、ＣＴＢサイズが小さい場合、例えば３２×３２、１６×１６の場合、単位面積当たりのパラメータの符号量のオーバーヘッドが大きくなり、符号化効率が低下するという問題がある。
【０３２２】
図６２は、従来技術における符号化データ＃１の、ツリーブロック単位で符号化されるＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ１０のシンタックスを示す図である。パラメータは、マージ制御情報（sao_merge_left_flag, sao_merge_up_flag）と、ＣＴＢＳＡＯユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）とをシンタックス要素として含む。従来技術では、対象ＣＴＢの左に隣接するＣＴＢが同じスライスに属するか否かを示すフラグleftCtbInSliceと、対象ＣＴＢの左に隣接するＣＴＢが同じタイルに属するか否かを示すフラグleftCtbInTileを導出し、それらフラグの値に応じて、対象ＣＴＢの左に隣接するＣＴＢとマージするか否かを示すフラグsao_merge_left_flag（左マージフラグ）の導出方法を変更する。
【０３２３】
図６３は、従来技術における左マージフラグsao_merge_left_flagの導出方法を示す図である。leftCtbInSliceが１かつleftCtbInTileが１の場合、すなわち、対象ＣＴＢの左に隣接するＣＴＢが同じスライスに属し、さらに同じタイルに属する場合に、フラグsao_merge_left_flagを符号化データから復号する。それ以外の場合、すなわち、対象ＣＴＢの左に隣接するＣＴＢが同じスライスに属さない、もしくは、同じタイルに属さない場合には、フラグsao_merge_left_flagを復号せずに、０を設定する。
【０３２４】
さらに、従来技術では、フラグsao_merge_left_flagで設定されたフラグが１の場合、対象ＣＴＢの左に隣接するＣＴＢＳＡＯユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）を対象ＣＴＢのユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）としてコピーする。
【０３２５】
図５７は、本変形例における、ＣＴＢＳＡＯユニットの構成を示す図である。本変形例では、水平方向に連続したツリーブロック（ＣＴＢ）の集合を１つのＣＴＢＳＡＯユニットとする。ＣＴＢＳＡＯユニットの幅は、sao_unit_width個のＣＴＢの幅であり、高さは１個のＣＴＢの高さである。また、本変形例の動画像復号装置は、各ＣＴＢを復号する時点で、左マージフラグsao_merge_left_flagを復号および導出する。図５７では、左マージフラグsao_merge_left_flagがＣＴＢＳＡＯユニットの左端のＣＴＢで符号化（復号）され、ＣＴＢＳＡＯユニットの左端以外のＣＴＢでは符号化（復号）されずに、導出（infer）されることが図示されている。
【０３２６】
図５８は、本変形例における、符号化データ＃１のツリーブロック（ＣＴＢ）の集合から構成されるＣＴＢＳＡＯユニットの水平方向のサイズを示すシンタックスを示す図である。図５８（ａ）はピクチャパラメータセットの例を示し、図５８（ｂ）はスライスヘッダの例を示す図である。ＣＴＢＳＡＯユニットのサイズはＣＴＢの整数倍であり、シンタックス要素sao_unit_width_minus1は、ＣＴＢの数から１を引いた数を示す。なお、シンタックス要素としてsao_unit_width_minus1ではなく、ＣＴＢの数の底２の対数であるlog2_sao_unit_widthを符号化しても良い。また、輝度と色差の各々に対してＣＴＢＳＡＯユニットのサイズのパラメータを設け、ＣＴＢＳＡＯユニットのサイズを輝度と色差で異なるものとしても良い。
【０３２７】
図５９は、本変形例における、符号化データ＃１のスライスデータslice_dataの構成を示す図である。スライスデータ中で、ＣＴＢＳＡＯパラメータが符号化される。
【０３２８】
図６０は、本変形例における、符号化データ＃１の、ツリーブロック単位で符号化されるＣＴＢＳＡＯパラメータＳＡＯＰ＿Ｃ９のシンタックスを示す図である。パラメータは、マージ制御情報（sao_merge_left_flag, sao_merge_up_flag）と、ＣＴＢＳＡＯユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）とをシンタックス要素として含む。本変形例の符号化データ＃１は、対象ＣＴＢが、ＣＴＢの集合（ＣＴＢＳＡＯユニット）の左端に位置する場合のみ、対象ＣＴＢの左に隣接するＣＴＢとマージするか否かを示すフラグsao_merge_left_flagを含む。また、対象ＣＴＢが、ＣＴＢＳＡＯユニットの左端に位置しない場合には、符号化データはフラグsao_merge_left_flagを含まない。より詳細には、図６０に示すように、対象ＣＴＢの左に隣接するＣＴＢが同じスライスに属するか否かを示すフラグleftCtbInSliceと、対象ＣＴＢの左に隣接するＣＴＢが同じタイルに属するか否かを示すフラグleftCtbInTileにも依存してフラグsao_merge_left_flagを含むか否かを切り換える。
【０３２９】
図６１は、本変形例における、左マージフラグsao_merge_left_flagの導出方法を示す図である。図６１に示すように、ＣＴＢ座標が、ＣＴＢＳＡＯユニットの左端に位置するか否かを示すフラグHeadOfSaoUnitが１で、leftCtbInSliceが１、かつleftCtbInTileが１の場合に、符号化データはフラグsao_merge_left_flagを含む。また、ＣＴＢＳＡＯユニットの左端に位置するか否かを示すフラグHeadOfSaoUnitが１であっても、leftCtbInSliceまたはleftCtbInTileの少なくとも何れかが０の場合には、符号化データはフラグsao_merge_left_flagを含まない。
【０３３０】
本変形例において、可変長符号符号化部２２は、以下のように、マージ制御情報と、ＣＴＢのＳＡＯユニット情報を復号する。まず、パラメータセット（シーケンスパラメータセット、ピクチャパラメータセット、ＡＰＳ）もしくはスライスヘッダから、ＣＴＢＳＡＯユニットのサイズを示すシンタックス要素を復号する。図５８に示す例では、sao_unit_width_minus1を復号し１を加えることで、ＣＴＢＳＡＯユニットのサイズを復号する。続いて、可変長符号符号化部２２は、スライスデータ中の各ＣＴＢの符号化データを復号する時点で、各ＣＴＢに付随するフィルタパラメータを以下のように復号、導出する。以下、各ＣＴＢにおける動作を説明する。
【０３３１】
ＣＴＢ座標がＣＴＢＳＡＯユニットの左端に位置するか否かのフラグHeadOfSaoUnitを以下の式により導出する。
【０３３２】
headOfSaoUnit = ((rx % ((sao_unit_width_minus1 + 1)*CtbSize)  ) == 0) 
ここで、rxはＣＴＢの左上座標、%は剰余、CtbSizeはＣＴＢのサイズ（幅および高さ）である。なお、座標rxがＣＴＢ単位の座標である場合には、以下の式を用いる。
【０３３３】
headOfSaoUnit = ((rx % (sao_unit_width_minus1 + 1)  ) == 0) 
また、水平方向のサイズが対数値log2_sao_unit_widthで符号化されている場合には、以下の式を用いる。
【０３３４】
headOfSaoUnit = ((rx % ((1<<log2_sao_unit_width)*CtbSize)  ) == 0) 
さらに、可変長符号符号化部２２は、対象ＣＴＢの左に隣接するＣＴＢが同じスライスに属するか否かを示すフラグleftCtbInSliceと、対象ＣＴＢの左に隣接するＣＴＢが同じタイルに属するか否かを示すフラグleftCtbInTileを各々以下の式により導出する。
【０３３５】
leftCtbInSlice = CtbAddrInSlice > 0
leftCtbInTile = TileId[ CtbAddrTS ] = = TileId[ CtbAddrRStoTS[ CtbAddrRS ‐ 1 ] ]
ここで、CtbAddrInSliceはスライス先頭のＣＴＢのスライス先頭をベースとしたアドレスを示し、TileId[TS]は、ＣＴＢアドレスTSにおけるタイル識別子を示し、CtbAddrRStoTS[RS]は、ＣＴＢアドレスRSにおけるＣＴＢアドレスTSを示す。
【０３３６】
可変長符号符号化部２２は、ＣＴＢ座標が、ＣＴＢＳＡＯユニットの左端に位置するか否かを示すフラグHeadOfSaoUnitが１で、leftCtbInSliceが１、かつleftCtbInTileが１の場合に、符号化データから、フラグsao_merge_left_flagを復号する。それ以外の場合には、上述した図６１に従い、フラグsao_merge_left_flagを設定する。
【０３３７】
可変長符号符号化部２２は、フラグsao_merge_left_flagが１の場合には、対象ＣＴＢの左に隣接するＣＴＢＳＡＯユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）を対象ＣＴＢのユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）としてコピーして、適応オフセットフィルタ６０に供給する。
【０３３８】
可変長符号符号化部２２は、フラグsao_merge_left_flagが０の場合に、上に隣接するツリーブロックのフィルタパラメータからコピーするか否かを示すフラグsao_upper_merge_flagを導出する。フラグsao_merge_upper_flagが１の場合には、対象ＣＴＢの上に隣接するＣＴＢＳＡＯユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）を対象ＣＴＢのユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）としてコピーして、適応オフセットフィルタ６０に供給する。
【０３３９】
可変長符号符号化部２２は、いずれのマージフラグ（フラグsao_merge_left_flagとフラグsao_merge_upper_flag）も０の場合には、ＣＴＢのユニット情報（sao_type_idx, sao_band_posision, sao_offset_sign, sao_abs_offset）を復号する。
【０３４０】
適応オフセットフィルタ６０は上記したとおりであるので、説明を省略する。
【０３４１】
以上のように、本変形例によれば、ＣＴＢ座標の位置に応じて、左に隣接するツリーブロックからコピーするか否かを示すフラグsao_merge_left_flagを復号することによって、ＣＴＢの集合であるＣＴＢＳＡＯユニット単位で、ＣＴＢのＳＡＯユニット情報を復号する。これによって、パラメータの符号量のオーバーヘッドを低減されることができ、符号化効率を向上させることができる。特に、ＣＴＢサイズが小さい場合、例えば、３２×３２、１６×１６の場合の符号化効率を向上させる効果が大きい。本変形例では、ＣＴＢ座標の座標が、ＣＴＢＳＡＯユニット単位の整数以外の場合には、符号化データは、フラグsao_merge_left_flagを含まず、可変長符号符号化部２２で導出するため、フラグsao_merge_left_flagの符号量を削減することができる。特に、複数のＣＴＢの集合を作る場合、例えばＣＴＢ４つを１つ集合とする場合、フラグsao_merge_left_flagは１、０、０、０、…のように符号化する。フラグの値が１、０の両者をとる場合、ＣＡＢＡＣなどの算術符号化を用いたとしても１つのフラグ当たりの符号量は１ビットに近くなり、オーバーヘッドは非常に大きくなってしまう。
【０３４２】
上記のように、可変長符号符号化部２２は、ツリーブロックの集合の水平方向のサイズを復号し、さらに、対象ツリーブロックの座標が水平方向のサイズの整数倍以外の場合、対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータからコピーするか否かを示す左マージフラグを復号せずに導出し、該左マージフラグが１の場合、対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータをコピーして導出する。
【０３４３】
上記の構成によれば、復号対象のツリーブロックの座標が、当該ツリーブロックを含むツリーブロックの集合の水平方向のサイズの整数倍以外の場合に、対象ツリーブロックのフィルタパラメータを、左に隣接するツリーブロックのフィルタパラメータからコピーするか否かを示す左マージフラグを復号せずに導出する。これにより、左マージフラグのオーバーヘッドを低減させることができ、符号化効率を向上させることができる。
【０３４４】
なお、可変長符号符号化部２２では、ＣＴＢの座標が、ＣＴＢＳＡＯユニット単位の整数以外の場合で、対象ＣＴＢがスライス境界もしくはタイル境界に位置するとき、すなわち、leftCtbInSliceが０もしくはleftCtbInTileが０のとき、フラグsao_merge_left_flagを０として導出する。よって、スライス境界外もしくはタイル境界外のＣＴＢの符号化データをコピーする問題は生じない。可変長符号符号化部２２では、ＣＴＢの座標が、ＣＴＢＳＡＯユニット単位の整数以外の場合で、leftCtbInSliceが１、かつleftCtbInTileが１のとき、フラグsao_merge_left_flagを１として導出する。
【０３４５】
上記のように、可変長符号符号化部２２は、対象ツリーブロックの座標が水平方向のサイズの整数倍以外の場合、対象ツリーブロックの左に隣接するツリーブロックが、対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックではないとき、左マージフラグを１として導出し、対象ツリーブロックの左に隣接するツリーブロックが、対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックであるとき、左マージフラグを０として導出する。
【０３４６】
上記の構成によれば、復号対象のツリーブロックと、該ツリーブロックの左に隣接しているツリーブロックとが、同じスライスまたはタイルに含まれるか否かによって、左マージフラグを導出するので、対象ツリーブロックがスライス境界に係る場合において別スライスに属するＳＡＯユニット情報をマージすることのないように、左マージフラグを適切に導出することができる。
【０３４７】
上記のように、可変長符号符号化部２２は、対象ツリーブロックの座標が上記水平方向のサイズの整数倍で、かつ、対象ツリーブロックの左に隣接するツリーブロックが対象ツリーブロックが含まれているスライスまたはタイルとは異なるスライスまたはタイルに含まれるツリーブロックではない場合、上記左マージフラグを符号化データから復号する。
【０３４８】
上記の構成によれば、ＣＴＢＳＡＯユニット（ツリーブロックの集合）の左端に位置するツリーブロックでは、左マージフラグによりツリーブロックの集合をさらにマージすることが可能であり高い符号化効率を得る効果を奏する。
【０３４９】
（動画像符号化装置２）
次に、符号化対象画像を符号化することによって符号化データ＃１を生成する動画像符号化装置２について、図１７、および図１８を参照して説明する。動画像符号化装置２は、その一部に、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣに採用されている方式、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式、および、ＨＭ（HEVC TestModel）ソフトウェアに採用されている技術を含んでいる。
【０３５０】
図１７は、本実施形態に係る動画像符号化装置２の構成を示すブロック図である。図１７に示すように、動画像符号化装置２は、変換・量子化部２１、可変長符号符号化部２２、逆量子化・逆変換部２３、バッファメモリ２４、イントラ予測画像生成部２５、インター予測画像生成部２６、動きベクトル検出部２７、予測方式制御部２８、動きベクトル冗長性削除部２９、加算器３１、減算器３２、デブロッキングフィルタ３３、適応フィルタ７０、および適応オフセットフィルタ８０を含む構成である。動画像符号化装置２は、動画像＃１０（符号化対象画像）を符号化することによって、符号化データ＃１を生成する装置である。
【０３５１】
変換・量子化部２１は、（１）符号化対象画像から予測画像Ｐｒｅｄを減算した予測残差Ｄをブロック毎にＤＣＴ変換（Discrete Cosine Transform）またはＤＳＴ変換（Discrete Sine Transform）し、（２）ＤＣＴ変換により得られたＤＣＴ係数またはＤＳＴ変換により得られたＤＳＴ係数を量子化し、（３）量子化により得られた量子化予測残差ＱＤを可変長符号符号化部２２および逆量子化・逆変換部２３に供給する。なお、変換・量子化部２１は、（１）量子化の際に用いる量子化ステップＱＰを、ツリーブロック毎に選択し、（２）選択した量子化ステップＱＰの大きさを示す量子化パラメータ差分Δｑｐを可変長符号符号化部２２に供給し、（３）選択した量子化ステップＱＰを逆量子化・逆変換部２３に供給する。ここで、量子化パラメータ差分Δｑｐとは、ＤＣＴ（またはＤＳＴ）変換／量子化するツリーブロックに関する量子化パラメータｑｐ（ＱＰ＝２^(qp/6)）の値から、直前にＤＣＴ（またはＤＳＴ）変換／量子化したツリーブロックに関する量子化パラメータｑｐ’の値を減算して得られる差分値のことを指す。
【０３５２】
可変長符号符号化部２２は、（１）変換・量子化部２１から供給された量子化予測残差ＱＤ並びにΔｑｐ、（２）後述する予測方式制御部２８から供給された予測パラメータＰＰ、および、（３）後述する適応フィルタ７０から供給されたフィルタパラメータＦＰ（フィルタセット番号、フィルタ係数群、領域指定情報、並びにオンオフ情報）を可変長符号化することによって、符号化データ＃１を生成する。また、可変長符号符号化部２２は、適応オフセットフィルタ８０から供給されるＳＡＯパラメータＳＡＯＰを可変長符号化し、符号化データ＃１に含める。ＳＡＯパラメータＳＡＯＰは、少なくとも、オフセット情報ＯＩを含む。
【０３５３】
逆量子化・逆変換部２３は、（１）量子化予測残差ＱＤを逆量子化し、（２）逆量子化によって得られたＤＣＴ係数あるいはＤＳＴ係数を逆ＤＣＴ（Discrete Cosine Transform）変換あるいは逆ＤＳＴ（Discrete Sine Transform）変換し、（３）逆ＤＣＴ変換あるいは逆ＤＳＴ変換によって得られた予測残差Ｄを加算器３１に供給する。量子化予測残差ＱＤを逆量子化する際には、変換・量子化部２１から供給された量子化ステップＱＰを利用する。なお、逆量子化・逆変換部２３から出力される予測残差Ｄは、変換・量子化部２１に入力される予測残差Ｄに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
【０３５４】
イントラ予測画像生成部２５は、各パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、（１）各パーティションついてイントラ予測に用いる予測モードを選択し、（２）選択した予測モードを用いて、局所復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部２５は、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを、予測方式制御部２８に供給する。
【０３５５】
また、イントラ予測画像生成部２５は、各パーティションについて選択された予測モードと、各パーティションのサイズから各パーティションについての予測インデックスＰＩを特定し、当該予測インデックスＰＩを予測方式制御部２８に供給する。
【０３５６】
また、イントラ予測画像生成部２５は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報ＩＥＭを適応フィルタ７０に供給する（不図示）。
【０３５７】
動きベクトル検出部２７は、各パーティションに関する動きベクトルｍｖを検出する。具体的には、（１）参照画像として利用するフィルタ済復号画像Ｐ＿ＦＬ’を選択し、（２）選択したフィルタ済復号画像Ｐ＿ＦＬ’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルｍｖを検出する。ここで、フィルタ済復号画像Ｐ＿ＦＬ’は、復号済みの復号画像に対して、デブロッキングフィルタ３３によるデブロック処理、適応オフセットフィルタ８０による適応的オフセット処理、および、適応フィルタ７０による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部２７は、フィルタ済復号画像Ｐ＿ＦＬ’を構成する各画素の画素値をバッファメモリ２４から読み出すことができる。動きベクトル検出部２７は、検出した動きベクトルｍｖを、参照画像として利用したフィルタ済復号画像Ｐ＿ＦＬ’を指定する参照画像インデックスＲＩと共に、インター予測画像生成部２６および動きベクトル冗長性削除部２９に供給する。なお、双方向予測（重み付き予測）を行うパーティションについては、参照画像として２枚のフィルタ済復号画像Ｐ＿ＦＬ１’およびＰ＿ＦＬ２’を選択し、２枚のフィルタ済復号画像Ｐ＿ＦＬ１’およびＰ＿ＦＬ２’の各々に対応する動きベクトルｍｖ１およびｍｖ２、並びに、参照画像インデックスＲＩ１およびＲＩ２をインター予測画像生成部２６および動きベクトル冗長性削除部２９に供給する。
【０３５８】
インター予測画像生成部２６は、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル検出部２７から供給された動きベクトルｍｖを用いて、動きベクトル検出部２７から供給された参照画像インデックスＲＩによって指定されるフィルタ済復号画像Ｐ＿ＦＬ’から動き補償画像ｍｃを生成する。動きベクトル検出部２７と同様、インター予測画像生成部２６は、フィルタ済復号画像Ｐ＿ＦＬ’を構成する各画素の画素値をバッファメモリ２４から読み出すことができる。インター予測画像生成部２６は、生成した動き補償画像ｍｃ（インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ）を、動きベクトル検出部２７から供給された参照画像インデックスＲＩと共に、予測方式制御部２８に供給する。なお、双方向予測（重み付き予測）をパーティションについては、（１）動きベクトルｍｖ１を用いて、参照画像インデックスＲＩ１によって指定されたフィルタ済復号画像Ｐ＿ＦＬ１’から動き補償画像ｍｃ１を生成し、（２）動きベクトルｍｖ２を用いて、参照画像インデックスＲＩ２によって指定されたフィルタ済参照画像Ｐ＿ＦＬ２’から動き補償画像ｍｃ２を生成し、（３）動き補償画像ｍｃ１と動き補償画像ｍｃ２との加重平均にオフセット値を加えることによってインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成する。
【０３５９】
予測方式制御部２８は、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａおよびインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部２８は、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器３１および減算器３２に供給すると共に、イントラ予測画像生成部２５から供給された予測インデックスＰＩを予測パラメータＰＰとして可変長符号符号化部２２に供給する。一方、インター予測を選択した場合、予測方式制御部２８は、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器３１および減算器３２に供給すると共に、インター予測画像生成部２６から供給された参照画像インデックスＲＩ、並びに、動きベクトル冗長性削除部２９（後述）から供給された推定動きベクトルインデックスＰＭＶＩおよび動きベクトル残差ＭＶＤを予測パラメータＰＰとして可変長符号符号化部２２に供給する。
【０３６０】
予測方式制御部２８にて選択された予測画像Ｐｒｅｄを、符号化対象画像から減算することによって、減算器３２にて予測残差Ｄが生成される。減算器３２にて生成された予測残差Ｄは、上述したとおり、変換・量子化部２１によってＤＣＴ（またはＤＳＴ）変換／量子化される。一方、予測方式制御部２８にて選択された予測画像Ｐｒｅｄを、逆量子化・逆変換部２３にて生成された予測残差Ｄに加算することによって、加算器３１にて局所復号画像Ｐが生成される。加算器３１にて生成された局所復号画像Ｐは、デブロッキングフィルタ３３、適応オフセットフィルタ８０および適応フィルタ７０を経由したのち、フィルタ済復号画像Ｐ＿ＦＬとしてバッファメモリ２４に格納され、インター予測における参照画像として利用される。
【０３６１】
なお、動きベクトル冗長性削除部２９は、動きベクトル検出部２７によって検出された動きベクトルｍｖにおける冗長性を削除する。具体的には、（１）動きベクトルｍｖの推定に用いる推定方法を選択し、（２）選択した推定方法に従って推定動きベクトルｐｍｖを導出し、（３）動きベクトルｍｖから推定動きベクトルｐｍｖを減算することにより動きベクトル残差ＭＶＤを生成する。動きベクトル冗長性削除部２９は、生成した動きベクトル残差ＭＶＤを、選択した推定方法を示す推定動きベクトルインデックスＰＭＶＩと共に、予測方式制御部２８に供給する。
【０３６２】
デブロッキングフィルタ３３は、局所復号画像Ｐにおけるブロック境界、またはＣＵ境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、局所復号画像Ｐにおける当該ブロック境界、または当該ＣＵ境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該ＣＵ境界付近の画像の平滑化を行う。デブロッキングフィルタ３３によりデブロッキング処理が施された画像は、デブロック済復号画像Ｐ＿ＤＢとして、適応オフセットフィルタ８０に出力される。
【０３６３】
適応オフセットフィルタ８０は、デブロッキングフィルタ３３から供給されるデブロック済復号画像Ｐ＿ＤＢに対して、適応的オフセットフィルタ処理を施すことによってオフセットフィルタ済復号画像Ｐ＿ＯＦを生成する。生成されたオフセットフィルタ済復号画像Ｐ＿ＯＦは、適応フィルタ７０に供給される。適応オフセットフィルタ８０の具体的な構成については、後述するため、ここでは説明を省略する。
【０３６４】
適応フィルタ７０は、適応オフセットフィルタ８０から供給されるオフセットフィルタ済復号画像Ｐ＿ＯＦに対して、適応的なフィルタ処理を施すことによって、フィルタ済復号画像Ｐ＿ＦＬを生成する。適応フィルタ７０によりフィルタ処理が施されたフィルタ済復号画像Ｐ＿ＦＬは、バッファメモリ２４に格納される。適応フィルタ７０によって用いられるフィルタ係数は、フィルタ済復号画像Ｐ＿ＦＬと符号化対象画像＃１０との誤差がより小さくなるように定められたものであり、このようにして定められたフィルタ係数がフィルタパラメータＦＰとして符号化され、動画像復号装置１に伝送される。
【０３６５】
（適応オフセットフィルタ８０）
次に、適応オフセットフィルタ８０について、図１６を参照して説明する。図１６は、適応オフセットフィルタ８０の構成を示すブロック図である。図１６に示すように、適応オフセットフィルタ８０は、オフセット設定部８１、オフセット情報符号化部８２、および適応フィルタ部６２を含む構成である。
【０３６６】
（オフセット設定部８１）
オフセット設定部８１は、対象となる処理単位（例えばツリーブロック）について、入力される動画像＃１０とデブロック済復号画像Ｐ＿ＤＢに基づいて、各処理単位に対して適用するＳＡＯオフセット情報ＯＩを設定して出力する。ＳＡＯオフセット情報ＯＩは、オフセットタイプsao_type_idxおよびオフセットsao_offset[component][rx][ry][i]を含む。オフセットタイプsao_type_idxがバンドオフセットの場合には、バンドオフセット位置sao_band_positionも設定して出力する。
ＳＡＯオフセット情報ＯＩの各パラメータの値は、符号化効率がより向上するよう設定するとよい。特に、オフセットsao_offsetの値は、符号化データ＃１についての種々の変形例に対応する動画像符号化装置においては、既に説明したような値域の条件を満たす範囲で設定する。
【０３６７】
また、オフセット設定部は、各処理単位に対応するＳＡＯオフセット情報ＯＩに基づいて同一のＳＡＯオフセット情報を共用する領域を決定し、ＳＡＯユニットＵのマージ制御情報（sao_merge_up_flag, sao_merge_left_flag, sao_run_diffのいずれかまたは複数）として設定する。
【０３６８】
オフセット設定部８１は、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩを含むＳＡＯパラメータＳＡＯＰを、オフセット情報符号化部に出力する。
【０３６９】
（オフセット情報符号化部８２）
オフセット情報符号化部８２は、オフセット設定部８１で設定されたＳＡＯパラメータＳＡＯＰを符号化する。ＡＰＳモードの場合、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩの符号化データは可変長符号化によって生成され、適応パラメータセットＡＰＳに格納される。ＬＣＵモードの場合には、ＳＡＯユニットＵおよびＳＡＯオフセット情報ＯＩの符号化データは処理単位（例えばツリーブロック）毎に、算術符号を用いた可変長符号化によって生成され、スライスデータＳＤ内の各処理単位の前に格納される。
【０３７０】
なお、上述した実施形態では、適応オフセットフィルタ６０、８０において実行される処理として記載したが、加算するオフセットの値域を限定する処理以外の処理については、適応オフセットフィルタ６０、８０以外のブロックが実行する構成であってもよい。
【０３７１】
＜第２の実施形態＞
（動画像復号装置１´）
次に、本実施形態に係る動画像復号装置１´について、図４６および図４７を参照して説明する。動画像復号装置１´は、既に説明した動画像復号装置１の一部構成が異なるものである。
【０３７２】
図４６は、動画像復号装置１´の構成を示すブロック図である。図４６に示すように、動画像復号装置１´は、可変長符号復号部１３、動きベクトル復元部１４、バッファメモリ１５、インター予測画像生成部１６、イントラ予測画像生成部１７、予測方式決定部１８、逆量子化・逆変換部１９、加算器２０、デブロッキングフィルタ４１、統合適応フィルタ５５を含む構成である。
【０３７３】
図４７は、統合適応フィルタ５５の構成を示すブロック図である。図４７に示すように、統合適応フィルタ５５は、フィルタ情報復号部５５１、適応オフセットフィルタ５５２、適応空間フィルタ５５３、切り替え部５５４を含む。フィルタ情報復号部５５１は、オンオフフラグ復号部５５１ａ、マージフラグ復号部５５１ｂ、フィルタタイプ復号部５５１ｃ、オフセット復号部５５１ｄ、フィルタ係数復号部５５１ｅを含む。適応オフセットフィルタ５５２は、特性値算出部５５２ａ、オフセット割付部５５２ｂ、オフセット加算部５５２ｃを含む。適応空間フィルタ５５３は、空間フィルタ部５５３ａを含む。図５０は、本構成を模式的に示す図である。
【０３７４】
図４８は、統合適応フィルタ５５を用いる場合の、符号化データの構成を示す図である。適応フィルタパラメータinterleave_loop_filter_paramは、ＣＴＢ単位で符号化されるパラメータであり、既に図３１において説明した適応フィルタパラメータに対応する。図４８に示すように、適応フィルタパラメータは、オンオフフラグlf_lcu_enable_flag、マージフラグlf_merge_left_flagおよびsao_offset_cabac、alf_info_cabacを含む。
【０３７５】
（フィルタ情報復号部５５１）
フィルタ情報復号部５５１において、オンオフフラグ復号部５５１ａは、当該ＣＴＢの適応フィルタのオンオフを制御するlf_lcu_enable_flagを復号する。lf_lcu_enable_flagが０の場合には、フィルタ処理をオフとし、lf_lcu_enable_flagが１の場合に、適応オフセットフィルタ５５２、適応空間フィルタ５５３においてフィルタ処理を行う。フィルタ処理がオンの場合で、ＣＴＢのＸ座標が０より大きい場合、かつ、スライスの先頭ＣＴＢ以外の場合には、マージフラグ復号部５５１ｂは、既に適用したオフセットもしくはフィルタ係数を用いるか否かを指定するマージフラグlf_merge_left_flagを復号する。マージフラグが１の場合には、左のＣＴＢで適用したフィルタのフィルタタイプlf_filter_typeおよびオフセット情報もしくはフィルタ係数を用いてフィルタ処理を行う。マージフラグが０の場合には、フィルタタイプ復号部５５１ｃはフィルタタイプlf_filter_typeを復号する。フィルタタイプlf_filter_typeは適応フィルタの種別を示す情報であり、０の場合には、オフセット復号部５５１ｄにおいて図４８（ｂ）に示すsao_offset_cabacの情報、すなわち、sao_type_idxおよびsao_band_posisionおよびsao_offsetを復号する。さらに、適応オフセットフィルタ５５２において適応オフセットフィルタを適用する。なお、オンオフフラグlf_lcu_onoff_flagおよびマージフラグlf_merge_left_flagを適応オフセットフィルタ５５２、適応空間フィルタ５５３に共通のフラグとすることにより、フラグの符号量を低減する効果を奏する。
【０３７６】
フィルタタイプlf_filter_typeが１の場合には、フィルタ係数復号部５５１ｅにおいて、図４８（ｃ）に示すalf_info_cabacの情報、すなわち、フィルタバッファのフィルタ係数を使用するか否かを示すフラグalf_new_filter_set_flagおよびフィルタバッファのフィルタ係数のインデックスalf_filtered_filter_set_idxおよびフィルタ係数alf_filt_coeffを復号する。さらに、適応空間フィルタ５５３において適応空間フィルタを適用する。
【０３７７】
図４９は、統合適応フィルタ５５の動作を説明する図である。図４９（ａ）には、ＬＣＵに適応フィルタパラメータをインターリーブするインターリーブモードの場合の動作を示し、図４９（ｂ）にはインターリーブモード以外の場合の動作を示す。インターリーブモードでは、適応オフセットフィルタと適応空間フィルタを選択的に用いる。非インターリーブモードでは、適応オフセットフィルタの後に、適応空間フィルタを用いる。適応するフィルタの選択は、LCU単位の適応フィルタパラメータinterleave_loop_filter_paramに含まれるフィルタタイプlf_filter_typeに基づいて行われる。適応オフセットフィルタの後に、適応空間フィルタを用いる場合には、適応オフセットフィルタ処理後の画像を一時的にメモリ（フレームメモリもしくはラインメモリ）に格納する必要があるため、メモリの必要量が大きくなる。またメモリとプロセッサ間でデータを転送する場合には、転送量が大きくなる。インターリーブモードでは高いスループットを実現するユースケースで使用されるため、メモリ量およびデータ転送量が低くなる構成が好ましい。
【０３７８】
図４９に示す構成のように、適応フィルタパラメータをＬＣＵ単位でインターリーブし、適応オフセットフィルタ５５２と適応空間フィルタ５５３を選択的に用いる統合適応フィルタ５５を用いることにより、適応オフセットフィルタの処理後の画像を格納するメモリおよび処理値の画像を転送する転送量を低減する効果を奏する。
【０３７９】
（適応オフセットフィルタ５５２）
適応オフセットフィルタ５５２の動作は、適応オフセットフィルタ６０と同様であるので説明の詳細は省略する。特性値算出部５５２ａが特性値算出部６２１、オフセット割り付け部５５２ｂがオフセット割り付け部６２４、オフセット加算部５５２ｃがオフセット適用部６２５に相当し、各々、画素の分類、画素の分類に応じたオフセットの割り付け、オフセットの加算を行う。
【０３８０】
図５１（ｃ）では、適応オフセットフィルタがエッジオフセットＥＯである場合に特性値算出部５５２ａで参照する画素を示す。適応オフセットフィルタでは、上下１画素の画素値を参照するため、ＬＣＵ単位でフィルタ処理を行う場合には、フィルタ対象領域であるＬＣＵに加え、ＬＣＵの上下１ライン分の画像も復号し格納する必要がある。格納するメモリとしてフレームバッファもしくはラインバッファを必要とする。
【０３８１】
（適応空間フィルタ５５３）
適応空間フィルタ５５３は、空間フィルタ部５５３ａにおいて対象画素の周囲の画素値と重み係数alf_flt_coeffの積和から導出される空間フィルタにより、フィルタ処理を行う。
【０３８２】
（適応空間フィルタ５５４）
切り替え部５５４は、適応オフセットフィルタ５５２と適応空間フィルタ５５３の出力の何れかを選択する。本実施形態のインターリーブモードのように、適応オフセットフィルタ５５２と適応空間フィルタ５５３を選択的に用いる場合には、統合適応フィルタ５５を１つのピクチャに１回のみ適用する。適応オフセットフィルタ５５２の後段に適応空間フィルタ５５３を用いる場合には、統合適応フィルタ５５を１つのピクチャに２回のみ適用し、１回目の適用では切り替え部５５４は、適応オフセットフィルタ５５２を選択し、２回目の適用では切り替え部５５４は、適応空間フィルタ５５３を選択する。
【０３８３】
図５１（ａ）は、インターリーブモードの適応空間フィルタ５５３において参照する画素の範囲を示す。図５１（ｂ）に示すように、フィルタ対象画素の座標に対して参照画素の座標はＹ軸方向では１画素異なる範囲（上下１画素の画素値）を参照する。例えば、図５１（ｃ）のような、適応オフセットフィルタよりもＹ軸方向に大きい参照画素の範囲を用いると、適応空間フィルタのために多くのメモリを必要とするため、ハードが複雑となる。
【０３８４】
以上、図５１（ｂ）で説明したようにＹ軸方向に対して適応オフセットフィルタと同じ参照範囲とすることにより、インターリーブモードで適応フィルタ処理を行う場合に必要なメモリサイズ及び、転送量を低減する効果を奏する。
【０３８５】
図５１（ｃ）は、非インターリーブモードの適応空間フィルタ５５３において参照する画素の範囲を示す。図４９で説明したように非インターリーブモードの場合、適応オフセットフィルタ５５２でフィルタ処理した画像に対して、適応空間フィルタ５５３でフィルタ処理を行う。この場合インターリーブモードのようなスループットおよび転送量の制限はないため、２つのフィルタのＹ軸方向の参照範囲が等しい必要はない。適応空間フィルタ５５３では、大きな参照範囲を用いた方が符号化歪み低減の効果が大きいことから、適応空間フィルタ５５３では図５１（ｃ）に示すように上下１ラインよりも大きい参照範囲を用いる。図５２（ａ）（ｂ）は各々、インターリーブモードにおける適応空間フィルタの参照範囲の別の例である。この例のようにＹ軸方向に対して適応オフセットフィルタと同じ参照範囲であればＸ軸方向の範囲は異なっても良い。
【０３８６】
以上のように、インターリーブモードでは、適応オフセットフィルタと同じ参照範囲を用い（例えば上下１画素）、非インターリーブモードでは適応オフセットフィルタよりも広い参照範囲（例えば上下３画素）を用いることによって、インターリーブモードにおけるメモリおよび転送量の低減と、非インターリーブモードにおける効果の向上を同時に実現することができる。
【０３８７】
（適応空間フィルタ５５３の別の構成）
適応空間フィルタ５５３の別の構成として、バーチャルバウンダリと呼ばれる参照範囲を適応的に変更する方法がある。
【０３８８】
図５３（ｂ）はバーチャルバウンダリにおける参照範囲を示す図である。バーチャルバウンダリでは、ＬＣＵの下４ライン目にバーチャルバウンダリと呼ぶ仮想的なラインを設定する。フィルタの適用対象画素のＹ座標がＬＣＵ内のバーチャルバウンダリよりも上の領域においては、バーチャルバウンダリの下の画素を参照しない。図５３（ｂ）はこのような例を示す。さらに、フィルタの適用対象画素のＹ座標がＬＣＵ内のバーチャルバウンダリよりも下の領域においては、バーチャルバウンダリよりも上の画素を参照しない。デブロッキングフィルタ、適応オフセットフィルタ、適応空間フィルタの順にフィルタ処理を行う場合、適応空間フィルタの参照画素は、デブロッキングフィルタ、適応オフセットフィルタがかかる範囲になる。ＬＣＵ単位でフィルタ処理を行う場合、ＬＣＵの境界にデブロッキングフィルタを適用することになるが、この場合デブロッキングフィルタでＹ軸方向にdistDF（例えば、３画素）、適応オフセットフィルタでさらにＹ軸方向にdistSAO（例えば１画素）、画素を参照する必要が生じる。このため２つのフィルタをあわせて４画素分が処理対象になる。今のバーチャルバウンダリの上の領域で適応空間フィルタ処理を行う場合、下の４画素はデブロッキングフィルタと適応オフセットフィルタで影響を受ける。この４画素を参照する場合、適応空間処理の実行を、下の４画素がフィルタ処理されるまで遅延させる必要が生じる。処理を遅延させる場合、その間、デブロッキングフィルタ及び適応オフセットフィルタが適用された画素値をメモリ（フレームメモリ及びラインメモリ）に格納する必要が生じ、多くのメモリ及び転送量を必要とする。バーチャルバウンダリはこの問題にバーチャルバウンダリの下の画素を参照しないことにより、メモリ及び転送量を低減する効果を奏する。
【０３８９】
図５４（ｂ）は、具体的なバーチャルバウンダリの動作を説明する図である。まずバーチャルバウンダリの位置を示すvbLineをＬＣＵの高さ−（distDF+distDF）として導出する。さらに、バーチャルバウンダリとの相対位置をdist2VBとして導出する。
【０３９０】
図５５（ａ）は、適応空間フィルタ５５３のフィルタ処理を示す図である。適応空間フィルタ５５３では、図５５（ｂ）で定義される参照画素のＸ軸方向の相対座標hosPos[i] と図５５（ｃ）で定義される参照画素のＹ軸方向の相対座標verPos[j]で示される座標の画素値を参照することにより線形和によりフィルタ処理を行う。図５５（ｃ）の定義においてバーチャルバウンダリとの距離をdist2VBに応じて参照画素のＹ軸方向の相対座標を制限することにより、バーチャルバウンダリを超える位置の参照画素を参照しないでフィルタ処理を行う。
【０３９１】
図５３（ａ）は、本実施形態のインターリーブモードにおける適応空間フィルタのバーチャルバウンダリにかかる参照画素を示す図である。本実施形態のインターリーブモードにおいては、図４９（ａ）で説明したように、適応オフセットフィルタと適応空間フィルタを選択的に切り替える。そのため、適応空間フィルタはデブロックフィルタ後の画素値になる。デブロックフィルタの参照範囲はdistDF（ここではdistDF＝３）画素である場合、バーチャルバウンダリの位置はＬＣＵの下限―distDFの位置になる。これは、図４９（ｂ）で説明した場合によりも、１画素だけＬＣＵ境界に近い位置になる。バーチャルバウンダリの位置をＬＣＵ境界に近づけると、参照範囲の制限にかかる範囲が低減するため符号化効率が高まる。
【０３９２】
図５４（ａ）は、具体的なバーチャルバウンダリの設定方法を示す図である。図５４（ｂ）に示すように、本実施形態の統合適応フィルタ７５のように、適応オフセットフィルタと適応空間フィルタを選択的に用いる場合のバーチャルバウンダリは、適応オフセットフィルタの後段に適応空間フィルタを用いる場合によりも、distSAO（具体的には１ライン）だけ上の位置にvbLineを設定する。
【０３９３】
以上の構成では、インターリーブモードにおける適応空間フィルタのバーチャルバウンダリの位置をＤＦの参照範囲（distDF、具体的には２もしくは３）に設定することにより、参照画素の制限を必要最小限に抑え符号化効率を向上させる効果を奏する。
【０３９４】
再度、図５３（ｂ）、図５４（ｂ）を参照する。これらは、非インターリーブモードなど、適応空間フィルタを適応オフセットフィルタの後段に位置する場合のバーチャルバウンダリにかかる適応空間フィルタの処理である。この構成では、適応オフセットフィルタの参照範囲（distSAO、例えば１）を考慮し、バーチャルバウンダリの位置をＤＦの参照範囲と適応オフセットフィルタの参照範囲の和（distDF＋distSAO）に設定する。このように、非インターリーブモードのバーチャルバウンダリの位置を、インターリーブモードのバーチャルバウンダリの位置よりも１画素だけＬＣＵに近づける。vbLineを１だけ小さくすることによって、適応オフセットフィルタと適応空間フィルタを選択的に用いる場合と、適応オフセットフィルタと適応空間フィルタを順次実行する場合の両者で、メモリ低減および転送量低減の効果を奏する。
【０３９５】
（動画像符号化装置２´）
次に、本実施形態に係る動画像符号化装置２´について、図５６を参照して説明する。動画像符号化装置２´は、既に説明した動画像符号化装置２の一部構成が異なるものである。
【０３９６】
図５６は、動画像符号化装置２´の構成を示すブロック図である。図５６に示すように、動画像符号化装置２´は、変換・量子化部２１、可変長符号符号化部２２、逆量子化・逆変換部２３、バッファメモリ２４、イントラ予測画像生成部２５、インター予測画像生成部２６、動きベクトル検出部２７、予測方式制御部２８、動きベクトル冗長性削除部２９、加算器３１、減算器３２、デブロッキングフィルタ３３、および統合適応フィルタ７５を含む構成である。なお、動画像符号化装置２と同様の機能をもつブロックは同じ部材番号を付し、その説明を省略する。
【０３９７】
統合適応フィルタ７５は、上述した統合適応フィルタ５５と同様の機能を有するものであるので、その説明は省略する。
【０３９８】
（応用例）
上述した動画像復号装置１および動画像符号化装置２は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（ＣＧおよびＧＵＩを含む）であってもよい）。
【０３９９】
まず、上述した動画像復号装置１および動画像符号化装置２を、動画像の送信および受信に利用できることを、図１９を参照して説明する。
【０４００】
図１９（ａ）は、動画像符号化装置２を搭載した送信装置Ａの構成を示したブロック図である。図１９（ａ）に示すように、送信装置Ａは、動画像を符号化することによって符号化データを得る符号化部Ａ１と、符号化部Ａ１が得た符号化データで搬送波を変調することによって変調信号を得る変調部Ａ２と、変調部Ａ２が得た変調信号を送信する送信部Ａ３と、を備えている。上述した動画像符号化装置２は、この符号化部Ａ１として利用される。
【０４０１】
送信装置Ａは、符号化部Ａ１に入力する動画像の供給源として、動画像を撮像するカメラＡ４、動画像を記録した記録媒体Ａ５、動画像を外部から入力するための入力端子Ａ６、および画像を生成または加工する画像処理部Ａ７を更に備えていてもよい。図１９（ａ）においては、これら全てを送信装置Ａが備えた構成を例示しているが、一部を省略しても構わない。
【０４０２】
なお、記録媒体Ａ５は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体Ａ５と符号化部Ａ１との間に、記録媒体Ａ５から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０４０３】
図１９（ｂ）は、動画像復号装置１を搭載した受信装置Ｂの構成を示したブロック図である。図１９（ｂ）に示すように、受信装置Ｂは、変調信号を受信する受信部Ｂ１と、受信部Ｂ１が受信した変調信号を復調することによって符号化データを得る復調部Ｂ２と、復調部Ｂ２が得た符号化データを復号することによって動画像を得る復号部Ｂ３と、を備えている。上述した動画像復号装置１は、この復号部Ｂ３として利用される。
【０４０４】
受信装置Ｂは、復号部Ｂ３が出力する動画像の供給先として、動画像を表示するディスプレイＢ４、動画像を記録するための記録媒体Ｂ５、および、動画像を外部に出力するための出力端子Ｂ６を更に備えていてもよい。図１９（ｂ）においては、これら全てを受信装置Ｂが備えた構成を例示しているが、一部を省略しても構わない。
【０４０５】
なお、記録媒体Ｂ５は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部Ｂ３と記録媒体Ｂ５との間に、復号部Ｂ３から取得した動画像を記録用の符号化方式に従って符号化する符号化部（不図示）を介在させるとよい。
【０４０６】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送（ここでは、送信先が予め特定されていない送信態様を指す）であってもよいし、通信（ここでは、送信先が予め特定されている送信態様を指す）であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、および有線通信の何れによって実現してもよい。
【０４０７】
例えば、地上デジタル放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を無線放送で送受信する送信装置Ａ／受信装置Ｂの一例である。また、ケーブルテレビ放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を有線放送で送受信する送信装置Ａ／受信装置Ｂの一例である。
【０４０８】
また、インターネットを用いたＶＯＤ（Video On Demand）サービスや動画共有サービスなどのサーバ（ワークステーションなど）／クライアント（テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど）は、変調信号を通信で送受信する送信装置Ａ／受信装置Ｂの一例である（通常、ＬＡＮにおいては伝送媒体として無線または有線の何れかが用いられ、ＷＡＮにおいては伝送媒体として有線が用いられる）。ここで、パーソナルコンピュータには、デスクトップ型ＰＣ、ラップトップ型ＰＣ、およびタブレット型ＰＣが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
【０４０９】
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置Ａおよび受信装置Ｂの双方として機能する。
【０４１０】
次に、上述した動画像復号装置１および動画像符号化装置２を、動画像の記録および再生に利用できることを、図２０を参照して説明する。
【０４１１】
図２０（ａ）は、上述した動画像復号装置１を搭載した記録装置Ｃの構成を示したブロック図である。図２０（ａ）に示すように、記録装置Ｃは、動画像を符号化することによって符号化データを得る符号化部Ｃ１と、符号化部Ｃ１が得た符号化データを記録媒体Ｍに書き込む書込部Ｃ２と、を備えている。上述した動画像符号化装置２は、この符号化部Ｃ１として利用される。
【０４１２】
なお、記録媒体Ｍは、（１）ＨＤＤ（Hard Disk Drive）やＳＳＤ(Solid State Drive)などのように、記録装置Ｃに内蔵されるタイプのものであってもよいし、（２）ＳＤメモリカードやＵＳＢ（Universal Serial Bus）フラッシュメモリなどのように、記録装置Ｃに接続されるタイプのものであってもよいし、（３）ＤＶＤ（Digital Versatile Disc）やＢＤ（Blu-ray Disc:登録商標）などのように、記録装置Ｃに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０４１３】
また、記録装置Ｃは、符号化部Ｃ１に入力する動画像の供給源として、動画像を撮像するカメラＣ３、動画像を外部から入力するための入力端子Ｃ４、動画像を受信するための受信部Ｃ５、および、画像を生成または加工する画像処理部Ｃ６を更に備えていてもよい。図２０（ａ）においては、これら全てを記録装置Ｃが備えた構成を例示しているが、一部を省略しても構わない。
【０４１４】
なお、受信部Ｃ５は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部Ｃ５と符号化部Ｃ１との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部（不図示）を介在させるとよい。
【０４１５】
このような記録装置Ｃとしては、例えば、ＤＶＤレコーダ、ＢＤレコーダ、ＨＤ（Hard Disk）レコーダなどが挙げられる（この場合、入力端子Ｃ４または受信部Ｃ５が動画像の主な供給源となる）。また、カムコーダ（この場合、カメラＣ３が動画像の主な供給源となる）、パーソナルコンピュータ（この場合、受信部Ｃ５または画像処理部Ｃ６が動画像の主な供給源となる）、スマートフォン（この場合、カメラＣ３または受信部Ｃ５が動画像の主な供給源となる）なども、このような記録装置Ｃの一例である。
【０４１６】
図２０（ｂ）は、上述した動画像復号装置１を搭載した再生装置Ｄの構成を示したブロックである。図２０（ｂ）に示すように、再生装置Ｄは、記録媒体Ｍに書き込まれた符号化データを読み出す読出部Ｄ１と、読出部Ｄ１が読み出した符号化データを復号することによって動画像を得る復号部Ｄ２と、を備えている。上述した動画像復号装置１は、この復号部Ｄ２として利用される。
【０４１７】
なお、記録媒体Ｍは、（１）ＨＤＤやＳＳＤなどのように、再生装置Ｄに内蔵されるタイプのものであってもよいし、（２）ＳＤメモリカードやＵＳＢフラッシュメモリなどのように、再生装置Ｄに接続されるタイプのものであってもよいし、（３）ＤＶＤやＢＤなどのように、再生装置Ｄに内蔵されたドライブ装置（不図示）に装填されるものであってもよい。
【０４１８】
また、再生装置Ｄは、復号部Ｄ２が出力する動画像の供給先として、動画像を表示するディスプレイＤ３、動画像を外部に出力するための出力端子Ｄ４、および、動画像を送信する送信部Ｄ５を更に備えていてもよい。図２０（ｂ）においては、これら全てを再生装置Ｄが備えた構成を例示しているが、一部を省略しても構わない。
【０４１９】
なお、送信部Ｄ５は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部Ｄ２と送信部Ｄ５との間に、動画像を伝送用の符号化方式で符号化する符号化部（不図示）を介在させるとよい。
【０４２０】
このような再生装置Ｄとしては、例えば、ＤＶＤプレイヤ、ＢＤプレイヤ、ＨＤＤプレイヤなどが挙げられる（この場合、テレビジョン受像機等が接続される出力端子Ｄ４が動画像の主な供給先となる）。また、テレビジョン受像機（この場合、ディスプレイＤ３が動画像の主な供給先となる）、デスクトップ型ＰＣ（この場合、出力端子Ｄ４または送信部Ｄ５が動画像の主な供給先となる）、ラップトップ型またはタブレット型ＰＣ（この場合、ディスプレイＤ３または送信部Ｄ５が動画像の主な供給先となる）、スマートフォン（この場合、ディスプレイＤ３または送信部Ｄ５が動画像の主な供給先となる）、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイＤ３または送信部Ｄ５が動画像の主な供給先となる)なども、このような再生装置Ｄの一例である。
【０４２１】
（ソフトウェアによる構成）
最後に、動画像復号装置１および動画像符号化装置２の各ブロック、特に可変長符号復号部１３、動きベクトル復元部１４、インター予測画像生成部１６、イントラ予測画像生成部１７、予測方式決定部１８、逆量子化・逆変換部１９、デブロッキングフィルタ４１、適応フィルタ５０、適応オフセットフィルタ６０、変換・量子化部２１、可変長符号符号化部２２、逆量子化・逆変換部２３、イントラ予測画像生成部２５、インター予測画像生成部２６、動きベクトル検出部２７、予測方式制御部２８、動きベクトル冗長性削除部２９、デブロッキングフィルタ３３、適応フィルタ７０、適応オフセットフィルタ８０は、集積回路（ＩＣチップ）上に形成された論理回路によってハードウェア的に実現していてもよいし、ＣＰＵ（central processing unit）を用いてソフトウェア的に実現してもよい。
【０４２２】
後者の場合、動画像復号装置１および動画像符号化装置２は、各機能を実現する制御プログラムの命令を実行するＣＰＵ、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである動画像復号装置１および動画像符号化装置２の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記の動画像復号装置１および動画像符号化装置２に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ（micro processing unit））が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０４２３】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ（compact disc read-only memory）／ＭＯディスク（magneto-optical disc）／ＭＤ（Mini Disc）／ＤＶＤ（digital versatile disc）／ＣＤ−Ｒ（CD Recordable）等の光ディスクを含むディスク類、ＩＣカード（メモリカードを含む）／光カード等のカード類、マスクＲＯＭ／ＥＰＲＯＭ（erasable programmable read-only memory）／ＥＥＰＲＯＭ（登録商標）（electrically erasable and programmable read-only memory）／フラッシュＲＯＭ等の半導体メモリ類、あるいはＰＬＤ（Programmable logic device）やＦＰＧＡ（Field Programmable Gate Array）等の論理回路類などを用いることができる。
【０４２４】
また、動画像復号装置１および動画像符号化装置２を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ（local area network）、ＩＳＤＮ（integrated services digital network）、ＶＡＮ（value-added network）、ＣＡＴＶ（community antenna television/cable television）通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、ＩＥＥＥ（institute of electrical and electronic engineers）１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ（asymmetric digital subscriber loop）回線等の有線でも、ＩｒＤＡ（infrared data association）やリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１無線、ＨＤＲ（high data rate）、ＮＦＣ（Near Field Communication）、ＤＬＮＡ（Digital Living Network Alliance）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０４２５】
本発明は上述した各実施の形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０４２６】
本発明は、画像データにオフセットフィルタリングを行う画像フィルタに好適に用いることができる。また、符号化データを復号する復号装置、および、符号化データを符号化する符号化装置に好適に適用することができる。
【符号の説明】
【０４２７】
１      動画像復号装置（画像復号装置）
２      動画像符号化装置（画像符号化装置）
１６      インター予測画像生成部（予測画像生成手段）
１７      イントラ予測画像生成部（予測画像生成手段）
２２      可変長符号符号化部（符号化手段）
２５      イントラ予測画像生成部（予測画像生成手段）
２６      インター予測画像生成部（予測画像生成手段）
６０      適応オフセットフィルタ（画像フィルタ装置、オフセット加算手段）
６１      オフセットタイプ復号部（復号手段）
６３      オフセット復号部（復号手段）
８０      適応オフセットフィルタ（画像フィルタ装置、オフセット加算手段）
６２１      特性値算出部
６２４      オフセット割り付け部（クラス分類方法選択手段、クラス分類手段、オフセット決定手段）
６２５      オフセット適用部（フィルタ手段）
【図１】
2013236358.tif 000003
【図２】
2013236358.tif 000004
【図３】
2013236358.tif 000005
【図４】
2013236358.tif 000006
【図５】
2013236358.tif 000007
【図６】
2013236358.tif 000008
【図７】
2013236358.tif 000009
【図８】
2013236358.tif 000010
【図９】
2013236358.tif 000011
【図１０】
2013236358.tif 000012
【図１１】
2013236358.tif 000013
【図１２】
2013236358.tif 000014
【図１３】
2013236358.tif 000015
【図１４】
2013236358.tif 000016
【図１５】
2013236358.tif 000017
【図１６】
2013236358.tif 000018
【図１７】
2013236358.tif 000019
【図１８】
2013236358.tif 000020
【図１９】
2013236358.tif 000021
【図２０】
2013236358.tif 000022
【図２１】
2013236358.tif 000023
【図２２】
2013236358.tif 000024
【図２３】
2013236358.tif 000025
【図２４】
2013236358.tif 000026
【図２５】
2013236358.tif 000027
【図２６】
2013236358.tif 000028
【図２７】
2013236358.tif 000029
【図２８】
2013236358.tif 000030
【図２９】
2013236358.tif 000031
【図３０】
2013236358.tif 000032
【図３１】
2013236358.tif 000033
【図３２】
2013236358.tif 000034
【図３３】
2013236358.tif 000035
【図３４】
2013236358.tif 000036
【図３５】
2013236358.tif 000037
【図３６】
2013236358.tif 000038
【図３７】
2013236358.tif 000039
【図３８】
2013236358.tif 000040
【図３９】
2013236358.tif 000041
【図４０】
2013236358.tif 000042
【図４１】
2013236358.tif 000043
【図４２】
2013236358.tif 000044
【図４３】
2013236358.tif 000045
【図４４】
2013236358.tif 000046
【図４５】
2013236358.tif 000047
【図４６】
2013236358.tif 000048
【図４７】
2013236358.tif 000049
【図４８】
2013236358.tif 000050
【図４９】
2013236358.tif 000051
【図５０】
2013236358.tif 000052
【図５１】
2013236358.tif 000053
【図５２】
2013236358.tif 000054
【図５３】
2013236358.tif 000055
【図５４】
2013236358.tif 000056
【図５５】
2013236358.tif 000057
【図５６】
2013236358.tif 000058
【図５７】
2013236358.tif 000059
【図５８】
2013236358.tif 000060
【図５９】
2013236358.tif 000061
【図６０】
2013236358.tif 000062
【図６１】
2013236358.tif 000063
【図６２】
2013236358.tif 000064
【図６３】
2013236358.tif 000065