(57)【要約】      （修正有）【課題】画素の特性を反映した適応オフセットフィルタを適用した画像フィルタ装置等を実現する。【解決手段】画像フィルタ装置は、複数の単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、を備えている。【選択図】図１
2013138395.tif 000002
【特許請求の範囲】
【請求項１】
複数の単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、
上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、
上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、を備えていることを特徴とする画像フィルタ装置。
【請求項２】
上記クラス分類方法選択手段は、上記単位領域に含まれる画素の画素値が色差を示す場合と輝度を示す場合とで、異なる候補群から、クラス分類方法を選択することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項３】
上記の異なる候補群は、上記クラス分類方法選択手段が、上記単位領域に含まれる画素の画素値が色差を示す場合に選択する候補群を色差候補群とし、上記単位領域に含まれる画素の画素値が輝度を示す場合に選択する候補群を輝度候補群とした場合に、上記色差候補群に含まれるクラス分類方法が示すクラス数が、上記輝度候補群に含まれるクラス分類方法が示すクラス数よりも多いものであることを特徴とする請求項２に記載の画像フィルタ装置。
【請求項４】
上記の異なる候補群は、上記クラス分類方法選択手段が、上記単位領域に含まれる画素の画素値が色差を示す場合に選択する候補群を色差候補群とし、上記単位領域に含まれる画素の画素値が輝度を示す場合に選択する候補群を輝度候補群とした場合に、上記色差候補群に含まれるクラス分類方法の種類の数が、上記輝度候補群に含まれるクラス分類方法の種類の数よりも少ないものであることを特徴とする請求項２に記載の画像フィルタ装置。
【請求項５】
上記フィルタ手段は、上記クラス分類方法選択手段が、対象画素について、当該画素周辺のエッジの状態に基づいてクラス分類を行うクラス分類方法を選択し、上記対象画素の画素値が色差を示す場合、上記対象画素の画素値が輝度を示す場合であればオフセットを加算しないクラスに分類された画素の画素値にもオフセットを加算することを特徴とする請求項１〜４のいずれか１項に記載の画像フィルタ装置。
【請求項６】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、上記の複数の候補のうちの２つ以上の候補で、オフセット加算処理が行われるクラスに分類される画素値の範囲に重複があることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項７】
上記クラス分類方法選択手段は、上記対象画素の画素値が色差を示す場合、所定の値域の画素が分類されるクラスが重複しているクラス分類方法の候補の中からクラス分類方法を選択することを特徴とする請求項５に記載の画像フィルタ装置。
【請求項８】
上記所定の値域は、無彩色あるいは低い彩度を示す値域であることを特徴とする請求項７に記載の画像フィルタ装置。
【請求項９】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれており、
上記複数の変換テーブルのうち、少なくとも２つの変換テーブルの所定の範囲に含まれる画素値は、オフセット加算処理が行われるクラスと対応付けられていることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１０】
上記変換テーブルは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとを対応付けており、
上記所定の範囲は、他のクラスよりも対応付けられている値域が少ないクラスと対応付けられている値域の範囲であることを特徴とする請求項９に記載の画像フィルタ装置。
【請求項１１】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれており、
上記複数の変換テーブルは互いに、オフセット加算処理が行われるクラスと対応付けられている画素値の範囲が異なることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１２】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、
上記複数の変換テーブルは互いに、各クラスと対応付けられている値域の数が異なることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１３】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた３つ以上の変換テーブルが含まれており、
上記３つ以上の変換テーブルには、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、他の変換テーブルよりも広い変換テーブルと、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、上記広い変換テーブルにおける画素値の範囲よりも狭い変換テーブルと、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域である変換テーブルと、
が含まれていることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１４】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた３つ以上の変換テーブルが含まれており、
上記３つ以上の変換テーブルには、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含む第１変換テーブルと、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域を含む第２変換テーブルと、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、上記第１変換テーブルおよび第２変換テーブルにおける画素値の範囲以外の範囲を含む１つ以上の変換テーブルと、
が含まれていることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１５】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた３つ以上の変換テーブルが含まれており、
上記３つ以上の変換テーブルのいずれかを示す符号化データの符号長が、
オフセット加算処理が行われるクラスと対応する画素値の範囲が画素値の値域の中央を含む変換テーブルを示す場合に最も短く、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびその付近を含む変換テーブルを示す場合に最も長くなる、符号化データを用いるものであることを特徴とする請求項１４に記載の画像フィルタ装置。
【請求項１６】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであって、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、
上記クラス分類方法選択手段は、前記画素値が色差を示すものである場合には、前記画素値が輝度を示すものである場合よりも、多くの数の値域に区分した変換テーブルを含むクラス分類方法を選択することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１７】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであって、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、
上記クラス分類方法選択手段は、前記画素値が色差を示すものである場合、オフセット加算処理が行われないクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域である変換テーブルを含むクラス分類方法を選択することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１８】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであって、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、
上記クラス分類方法選択手段は、前記画素値が色差を示すものである場合、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含む第１変換テーブルと、
オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含まない第３変換テーブルと、
を含むとともに、上記第１変換テーブルにおけるオフセット加算処理が行われるクラスと対応する画素値の範囲が、上記第３変換テーブルにおけるオフセット加算処理が行われるクラスと対応する画素値の範囲よりも狭いクラス分類方法を選択することを特徴とする請求項１に記載の画像フィルタ装置。
【請求項１９】
上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、
それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、
上記複数の変換テーブルには、
画素値の値域の中で連続していない複数の範囲が、オフセット加算処理が行われるクラスと対応する画素値の範囲となる変換テーブル
が含まれていることを特徴とする請求項１に記載の画像フィルタ装置。
【請求項２０】
複数の単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、
上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、
上記画素の画素値の上限値、下限値、およびこれらに近接する画素値の画素について、上記オフセット決定手段が決定したオフセットを加算後の画素値が、上記上限値を上回るか、または上記下限値を下回らないように、加算するオフセットを修正するオフセット修正手段と、
上記オフセット決定手段が決定したオフセットまたは上記オフセット修正手段が修正したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、を備えていることを特徴とする画像フィルタ装置。
【請求項２１】
符号化データから復号した予測残差に、生成した予測画像を加算して復号画像を生成する画像復号装置であって、
上記予測残差に上記予測画像を加算した加算画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、
上記オフセット加算手段がオフセットを加算した画像を復号画像として出力する出力手段と、を備え、
上記オフセット加算手段には、
上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、
上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられていることを特徴とする画像復号装置。
【請求項２２】
生成した予測画像と原画像との差分である予測残差を符号化することによって符号化データを生成する画像符号化装置であって、
原画像を符号化し、復号した復号画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、
上記オフセット加算手段がオフセットを加算した画像から上記予測画像を生成する予測画像生成手段と、
上記予測画像生成手段が生成した予測画像と原画像との差分である予測残差を符号化する符号化手段と、を備え、
上記オフセット加算手段には、
上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、
上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、
上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、
上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられていることを特徴とする画像符号化装置。
【請求項２３】
画像復号装置において復号される、予測画像と原画像との差分である予測残差が符号化された符号化データのデータ構造であって、
画素値データと、
上記画素値データが示す画素値に加算するオフセットを決定するためのクラス分類方法を選択するためのクラス分類方法選択データと、を含み、
上記画像復号装置は、上記クラス分類方法選択データが示すクラス分類方法に従って、対象画素のクラスを分類し、該クラスに対応するオフセットを対象画素に加算して、復号画像を生成することを特徴とする符号化データのデータ構造。
【請求項２４】
入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、
上記画素値毎に、上記複数のオフセットの中から当該画素値に対し加算するオフセットを選択する方法であるオフセット選択方法を、複数の候補の中から決定するオフセット選択方法決定手段と、
上記オフセット選択方法決定手段が決定したオフセット選択方法に従って、上記複数のオフセットの中からオフセットを選択するオフセット選択手段と、
上記オフセット選択手段が選択したオフセットを、上記画素値に加算するフィルタ手段と、を備えていることを特徴とする画像フィルタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のフィルタリングを行う画像フィルタ装置に関する。また、画像フィルタを用いて画像を符号化する画像符号化装置、および、画像フィルタを用いて画像を復号する画像復号装置に関する。また、符号化データのデータ構造に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置（符号化装置）、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置（復号装置）が用いられている。具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣに採用されている方式、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式、および、ＨＭ（HEVC TestModel）ソフトウェアに採用されている方式などが挙げられる。
【０００３】
このような符号化方式において、動画像を構成する画像（ピクチャ）は、画像を分割することにより得られるスライス、スライスを分割することにより得られる最大符号化単位（LCU:Largest Coding Unit、ツリーブロックとも呼ばれる）、最大符号化単位を分割することにより得られる符号化単位（CU:Coding Unit、符号化ノードとも呼ばれる）、および、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、多くの場合、ブロックを最小単位として符号化される。
【０００４】
また、このような符号化方式においては、通常、入力画像を符号化し、復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分データが符号化される。また、予測画像の生成方法としては、画面間予測（インター予測）、および、画面内予測（イントラ予測）と呼ばれる方法が知られている。
【０００５】
イントラ予測においては、同一フレーム内の局所復号画像に基づいて、当該フレームにおける予測画像が順次生成される。具体的には、イントラ予測においては、通常、予測単位（例えば、ブロック）毎に、予め定められた予測方向（予測モード）群に含まれる予測方向から何れかの予測方向が選択されると共に、局所復号画像における参照画素の画素値を、選択された予測方向に外挿することによって、予測対象領域上の予測画素値が生成される。また、インター予測においては、フレーム全体が復号された参照フレーム（復号画像）内の参照画像に対し、動きベクトルを用いた動き補償を適用することによって、予測対象フレーム内の予測画像が予測単位（例えば、ブロック）毎に生成される。
【０００６】
非特許文献１には、復号画像のブロック歪みを低減させるデブロッキングフィルタの後段であって、適応的に決定されたフィルタ係数を用いたフィルタ処理を行う適応的ループフィルタ（「適応フィルタ」とも呼ぶ）の前段に導入された適応的オフセットフィルタ（「適応オフセットフィルタ」とも呼ぶ）が開示されている。この適応オフセットフィルタは、デブロッキングフィルタから出力される画像の各画素値に対して、適応的に設定されたオフセットを加算するというものである。
【０００７】
このような適応オフセットフィルタを備えることによって、ブロック歪みをより効果的に抑制することができる。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】“WD4: Working Draft 4 of High-Efficiency Video Coding”,「JCTVC-F803-v5」,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JCT1/SC29/WG11, 6th Meeting: Torino, IT, 07/2011
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した適応オフセットフィルタは、対象となる画素が、輝度画素の場合であっても色差画素の場合であっても同じ処理方法を用いて適用されている。すなわち、輝度画素と色差画素との特性の違いが処理方法に反映されていない。そのため、符号化効率が低下してしまっている。換言すれば、画素の特性に応じた処理方法となっていないため、符号化効率が低下している。
【００１０】
本発明は、上記の問題に鑑みてなされたものであり、その目的は画素の特性を反映した適応オフセットフィルタを適用した画像フィルタ装置等を実現することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、を備えていることを特徴としている。
【００１２】
上記の構成によれば、クラス分類方法選択手段が選択したクラス分類方法にしたがって、対象画素のクラスが分類される。そして、分類されたクラスに基づいて、対象画素にオフセットが加算される。
【００１３】
よって、画素毎にクラス分類方法を選択することができるので、画素の特性に応じてクラス分類方法を選択することができる。したがって、画素の特性を反映したクラス分類方法によりクラス分類を行うことができる。
【００１４】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができる。
【００１５】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、上記単位領域に含まれる画素の画素値が色差を示す場合と輝度を示す場合とで、異なる候補群から、クラス分類方法を選択するものであってもよい。
【００１６】
上記の構成によれば、クラス分類方法の候補が、対象画素の画素値が色差を示す場合（色差画素）と輝度を示す場合（輝度画素）とで異なる。
【００１７】
これにより、色差画素と輝度画素とのそれぞれの特性に応じてクラス分類方法を選択することができる。また、色差画素および輝度画素それぞれの特性に応じてクラス分類方法を選択することができるので、符号化効率を向上させることができる。
【００１８】
本発明に係る画像フィルタ装置では、上記の異なる候補群は、上記クラス分類方法選択手段が、上記単位領域に含まれる画素の画素値が色差を示す場合に選択する候補群を色差候補群とし、上記単位領域に含まれる画素の画素値が輝度を示す場合に選択する候補群を輝度候補群とした場合に、上記色差候補群に含まれるクラス分類方法が示すクラス数が、上記輝度候補群に含まれるクラス分類方法が示すクラス数よりも多いものであってもよい。
【００１９】
上記の構成によれば、色差画素のクラス分類方法に含まれるクラス数は、輝度画素のクラス分類方法に含まれるクラス数よりも多くなる。
【００２０】
これにより、色差画素の場合は、輝度画素よりもオフセットが加算される場合を多くすることができる。
【００２１】
本発明に係る画像フィルタ装置では、上記の異なる候補群は、上記クラス分類方法選択手段が、上記単位領域に含まれる画素の画素値が色差を示す場合に選択する候補群を色差候補群とし、上記単位領域に含まれる画素の画素値が輝度を示す場合に選択する候補群を輝度候補群とした場合に、上記色差候補群に含まれるクラス分類方法の種類の数が、上記輝度候補群に含まれるクラス分類方法の種類の数よりも少ないものであってもよい。
【００２２】
上記の構成によれば、色差画素のクラス分類方法の種類の数が輝度画素のクラス分類方法の種類の数よりも少なくなる。
【００２３】
これにより、色差画素の場合は、クラス分類方法の種類の全てを処理することに伴う処理量を削減することができる。
【００２４】
例えば、クラス分類方法の種類としてオフセットタイプを考えると、上記の構成によれば、色差画素のクラス分類方法に含まれるオフセットタイプ数は、輝度画素のクラス分類方法に含まれるオフセットタイプ数よりも少なくなる。
【００２５】
これにより、色差画素の場合は、全てのバンドオフセットタイプを処理することに伴う処理量を削減することができる。
【００２６】
本発明に係る画像フィルタ装置では、上記フィルタ手段は、上記クラス分類方法選択手段が、対象画素について、当該画素周辺のエッジの状態に基づいてクラス分類を行うクラス分類方法を選択し、上記対象画素の画素値が色差を示す場合、上記対象画素の画素値が輝度を示す場合であればオフセットを加算しないクラスに分類された画素の画素値にもオフセットを加算するものであってもよい。
【００２７】
本願発明者の実験によれば、対象画素周辺のエッジの状態に基づいてクラス分類を行うクラス分類方法の場合、対象画素が輝度画素のときはオフセットを加算しないクラスであっても、色差画素のときはオフセットを加算することにより符号化効率が向上することがわかった。
【００２８】
したがって、上記の構成によれば、対象画素周辺のエッジの状態に基づいてクラス分類を行うクラス分類方法で、対象画素の画素値が色差を示す場合、対象画素の画素値が輝度を示す場合であればオフセットを加算しないクラスであってもオフセットが加算されるので、符号化効率を向上させることができる。
【００２９】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、上記の複数の候補のうちの２つ以上の候補で、オフセット加算処理が行われるクラスに分類される画素値の範囲に重複があるものであってもよい。
【００３０】
上記の構成によれば、重複する範囲に含まれる画素値に対しては、オフセットが加算されるクラスに分類される可能性が高くなる。よって、画質等に影響を及ぼす可能性が高い画素値を重複する範囲に含まれるようにすることで、画質等の向上を図ることができる。
【００３１】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、上記対象画素の画素値が色差を示す場合、所定の値域の画素が分類されるクラスが重複しているクラス分類方法の候補の中からクラス分類方法を選択するものであってもよい。
【００３２】
上記の構成によれば、所定の値域の画素が重複しているクラスに分類される可能性が高くなる。よって、当該所定の値域の画素に対しては、オフセットが加算される可能性が高くなる。そして、主観画質に及ぼす影響が大きい値域を所定の値域とすれば、所定の値域に対しオフセットを加算する可能性が高くなることで、主観画質を効率的に向上させることができる。
【００３３】
上記所定の値域は、無彩色あるいは低い彩度を示す値域であってもよい。上記の構成によれば、無彩色あるいは低い彩度の画素に対して、オフセットが加算される可能性が高くなる。そして、無彩色あるいは低い彩度の画素は、主観画質に及ぼす影響が大きいので、無彩色あるいは低い彩度の画素に対しオフセットを加算する可能性が高くなることで、主観画質を向上させることができる。
【００３４】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれており、上記複数の変換テーブルのうち、少なくとも２つの変換テーブルの所定の範囲に含まれる画素値は、オフセット加算処理が行われるクラスと対応付けられているものであってもよい。
【００３５】
上記の構成によれば、所定の範囲に含まれる画素値に対しては、オフセットが加算される可能性が高くなる。よって、オフセットを加算することが好ましい画素値が含まれる値域を所定の範囲とすれば、当該画素値にオフセットを加算できる可能性が高めることができる。
【００３６】
所定の範囲は、例えば、中間調、暗部、明部などの値域や、色差の場合における低彩度領域を設定することができる。
【００３７】
本発明に係る画像フィルタ装置では、上記変換テーブルは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとを対応付けており、上記所定の範囲は、他のクラスよりも対応付けられている値域が少ないクラスと対応付けられている値域の範囲であってもよい。
【００３８】
上記の構成によれば、他のクラスよりも対応付けられている値域が少ないクラスと対応付けられている値域の範囲が所定の範囲となる。他のクラスよりも対応付けられている値域が少ないクラスと対応付けられている値域は、クラスが細かく対応付けられている値域ということができる。当該値域は、オフセットを加算することにより主観画質の向上を図ることができる値域と考えられる。そして、上記の構成によれば、この値域の画素値にオフセットを加算する可能性を高めることができる。これにより、主観画質を向上させる可能性を高めることができる。
【００３９】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれており、上記複数の変換テーブルは互いに、オフセット加算処理が行われるクラスと対応付けられている画素値の範囲が異なるものであってもよい。
【００４０】
上記の構成によれば、１つのクラス分類方法の中に、オフセット加算処理が行われるクラスと対応付けられている画素値の範囲が異なる変換テーブルが含まれるので、画素値の集中している度合に応じて変換テーブルを選択することができる。
【００４１】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、上記複数の変換テーブルは互いに、各クラスと対応付けられている値域の数が異なるものであってもよい。
【００４２】
上記の構成によれば、１つのクラス分類方法の中に、各クラスと対応付けられている値域の数が異なる変換テーブルが含まれるので、より細かくクラス分類を行った方が好ましい場合にも適切な変換テーブルを提供することができる。
【００４３】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた３つ以上の変換テーブルが含まれており、上記３つ以上の変換テーブルには、オフセット加算処理が行われるクラスと対応する画素値の範囲が、他の変換テーブルよりも広い変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、上記広い変換テーブルにおける画素値の範囲よりも狭い変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域である変換テーブルと、が含まれているものであってもよい。
【００４４】
上記の構成によれば、１つのクラス分類方法の中に、オフセット加算処理が行われるクラスと対応する画素値の範囲が、他の変換テーブルよりも広い変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、他の変換テーブルよりも狭い変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域である変換テーブルと、が含まれる。
【００４５】
これにより、様々な画素値の分布に対応することができる。例えば、画素値が値域全体に渡っている場合や一部に偏っている場合であっても適切な変換テーブルを提供することができる。
【００４６】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた３つ以上の変換テーブルが含まれており、上記３つ以上の変換テーブルには、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含む第１変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域を含む第２変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、上記第１変換テーブルおよび第２変換テーブルにおける画素値の範囲以外の範囲を含む１つ以上の変換テーブルと、が含まれているものであってもよい。
【００４７】
上記の構成によれば、１つのクラス分類方法の中に、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含む第１変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端および中央を含まない１つ以上の変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域を含む第２変換テーブルと、が含まれる。
【００４８】
これにより、画素値が広く分布せずいずれかの範囲に集中しやすい場合であっても適切な変換テーブルを提供することができる。
【００４９】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた３つ以上の変換テーブルが含まれており、上記３つ以上の変換テーブルのいずれかを示す符号化データの符号長が、オフセット加算処理が行われるクラスと対応する画素値の範囲が画素値の値域の中央を含む変換テーブルを示す場合に最も短く、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびその付近を含む変換テーブルを示す場合に最も長くなる符号化データを用いるものであってもよい。
【００５０】
上記の構成によれば、符号化データにおいて上記３つ以上の変換テーブルのいずれかを示す場合の符号長が、オフセット加算処理が行われるクラスと対応する画素値の範囲が画素値の値域の中央を含む変換テーブルを示す場合に最も短く、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の両端およびその付近を含む変換テーブルを示す場合に最も長くなる。
【００５１】
これにより、値域の中央を含む帯域に対応する変換テーブルを選択する場合に、変換テーブルを示す符号量を低減することができる。
【００５２】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであって、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、上記クラス分類方法選択手段は、前記画素値が色差を示すものである場合には、前記画素値が輝度を示すものである場合よりも、多くの数の値域に区分した変換テーブルを含むクラス分類方法を選択するものであってもよい。
【００５３】
上記の構成によれば、画素値が色差を示すものである場合には、前記画素値が輝度を示すものである場合よりも、多くの数の値域に区分した変換テーブルを用いてクラス分類が行われる。これにより、画素値が色差を示す場合は、輝度を示す場合よりもより細かい区分が可能となる。色差は輝度と比較してより狭い範囲に画素値が集中していることが多いので、上記の構成とすることにより、より的確かつ効率的に色差の画素値を分類することができ、符号化効率を向上させることができる。
【００５４】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであって、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、上記クラス分類方法選択手段は、前記画素値が色差を示すものである場合、オフセット加算処理が行われないクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域である変換テーブルを含むクラス分類方法を選択するものであってもよい。
【００５５】
上記の構成によれば、画素値が色差を示す場合、オフセット加算処理が行われないクラスと対応する画素値の範囲が、画素値の値域の両端およびこれに近接する値域である変換テーブルを用いてクラス分類が行われる。色差の画素値は、値域の中央付近における発生頻度が高いため。上記の構成により、より的確かつ効率的に色差の画素値を分類することができ、符号化効率を向上させることができる。
【００５６】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであって、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、上記クラス分類方法選択手段は、前記画素値が色差を示すものである場合、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含む第１変換テーブルと、オフセット加算処理が行われるクラスと対応する画素値の範囲が、画素値の値域の中央を含まない第３変換テーブルと、を含むとともに、上記第１変換テーブルにおけるオフセット加算処理が行われるクラスと対応する画素値の範囲が、上記第３変換テーブルにおけるオフセット加算処理が行われるクラスと対応する画素値の範囲よりも狭いクラス分類方法を選択するものであってもよい。
【００５７】
上記の構成によれば、画素値が色差を示す場合、画素値の値域の中央を含む範囲および、画素値の値域の中央を含まない範囲にオフセットを加算するとともに、画素値の値域の中央を含む範囲が、画素値の値域の中央を含まない範囲よりも狭くなる。
色差の画素値は、低彩度を表す値域の中心付近において発生頻度が高くなる傾向にある。よって、上記の構成により、色差の発生頻度が高い値域付近を細かく分類しながら比較的広範囲の画素値に対しオフセットを加算することができる。
【００５８】
本発明に係る画像フィルタ装置では、上記クラス分類方法選択手段は、対象画素の画素値の大きさに基づいてクラス分類を行うクラス分類方法を複数の候補から選択するものであり、それぞれの上記候補には、画素値とクラスとを対応付けた複数の変換テーブルが含まれるとともに、該複数の変換テーブルのそれぞれは、画素値が複数の値域に区分され、区分されたそれぞれの値域とクラスとが対応付けられており、上記複数の変換テーブルには、画素値の値域の中で連続していない複数の範囲が、オフセット加算処理が行われるクラスと対応する画素値の範囲となる変換テーブルが含まれているものであってもよい。
【００５９】
上記の構成によれば、クラス分類方法の中に、画素値の値域の中で連続していない複数の範囲が、オフセット加算処理が行われるクラスと対応する画素値の範囲となる変換テーブルが含まれる。これにより、少ないクラス数で多くの画素値をクラス分類することができるので、クラス分類に必要な符号量を削減することができるとともに、符号化効率を向上させることができる。
【００６０】
上記課題を解決するために、本発明に係る画像フィルタ装置は、複数の単位領域から構成される入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記画素の画素値の上限値、下限値、およびこれらに近接する画素値の画素について、上記オフセット決定手段が決定したオフセットを加算後の画素値が、上記上限値を上回るか、または上記下限値を下回らないように、加算するオフセットを修正するオフセット修正手段と、上記オフセット決定手段が決定したオフセットまたは上記オフセット修正手段が修正したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、を備えていることを特徴としている。
【００６１】
上記の構成によれば、決定したオフセットを当該画素の画素値に加算した場合に、画素値の値域からはみ出てしまうことを防止することができる。また、オフセットを修正することにより、画素値が値域からはみ出てしまうことを防止するので、その後のクリップ処理を削減することができる。
【００６２】
上記課題を解決するために、本発明に係る画像復号装置は、符号化データから復号した予測残差に、生成した予測画像を加算して復号画像を生成する画像復号装置であって、上記予測残差に上記予測画像を加算した加算画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、上記オフセット加算手段がオフセットを加算した画像を復号画像として出力する出力手段と、を備え、上記オフセット加算手段には、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられていることを特徴としている。
【００６３】
上記の構成によれば、クラス分類方法選択手段が選択したクラス分類方法にしたがって、対象画素のクラスが分類される。そして、分類されたクラスに基づいて、対象画素にオフセットが加算される。
【００６４】
よって、画素毎にクラス分類方法を選択することができるので、画素の特性に応じてクラス分類方法を選択することができる。したがって、画素の特性を反映したクラス分類方法によりクラス分類を行うことができる。
【００６５】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができる。
【００６６】
上記課題を解決するために、本発明に係る画像符号化装置は、生成した予測画像と原画像との差分である予測残差を符号化することによって符号化データを生成する画像符号化装置であって、原画像を符号化し、復号した復号画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、上記オフセット加算手段がオフセットを加算した画像から上記予測画像を生成する予測画像生成手段と、上記予測画像生成手段が生成した予測画像と原画像との差分である予測残差を符号化する符号化手段と、を備え、上記オフセット加算手段には、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられていることを特徴としている。
【００６７】
上記の構成によれば、クラス分類方法選択手段が選択したクラス分類方法にしたがって、対象画素のクラスが分類される。そして、分類されたクラスに基づいて、対象画素にオフセットが加算される。
【００６８】
よって、画素毎にクラス分類方法を選択することができるので、画素の特性に応じてクラス分類方法を選択することができる。したがって、画素の特性を反映したクラス分類方法によりクラス分類を行うことができる。
【００６９】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができる。
【００７０】
上記課題を解決するために、本発明に係る符号化データのデータ構造は、画像復号装置において復号される、予測画像と原画像との差分である予測残差が符号化された符号化データのデータ構造であって、画素値データと、上記画素値データが示す画素値に加算するオフセットを決定するためのクラス分類方法を選択するためのクラス分類方法選択データと、を含み、上記画像復号装置は、上記クラス分類方法選択データが示すクラス分類方法に従って、対象画素のクラスを分類し、該クラスに対応するオフセットを対象画素に加算して、復号画像を生成することを特徴としている。
【００７１】
上記の構成によれば、クラス分類方法選択データで示されたクラス分類方法にしたがって、対象画素のクラスが分類される。そして、分類されたクラスに基づいて、対象画素にオフセットが加算される。
【００７２】
よって、画素毎にクラス分類方法を選択することができるので、画素の特性に応じてクラス分類方法を選択することができる。したがって、画素の特性を反映したクラス分類方法によりクラス分類を行うことができる。
【００７３】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができる。
【００７４】
上記課題を解決するために、本発明に係る画像フィルタ装置は、入力画像の各画素値に、複数のオフセットの中から選択したオフセットを加算する画像フィルタ装置であって、上記画素値毎に、上記複数のオフセットの中から当該画素値に対し加算するオフセットを選択する方法であるオフセット選択方法を、複数の候補の中から決定するオフセット選択方法決定手段と、上記オフセット選択方法決定手段が決定したオフセット選択方法に従って、上記複数のオフセットの中からオフセットを選択するオフセット選択手段と、上記オフセット選択手段が選択したオフセットを、上記画素値に加算するフィルタ手段と、を備えていることを特徴としている。
【００７５】
上記の構成によれば、画素値に加算するオフセットを選択する方法であるオフセット選択方法を、複数の候補の中から決定することができる。これにより、一律に同じ方法でオフセットが加算されることなく、画素毎にオフセット選択方法を決定することができる。
【００７６】
よって、画素の特性に応じて、オフセット選択方法を決定することができ、画素の特性を反映したオフセット選択方法によりオフセットを加算することができる。
【００７７】
また、画素の特性を反映したオフセット選択方法を用いることにより、符号化効率を向上させることができる。
【発明の効果】
【００７８】
以上のように、本発明に係る画像フィルタ装置は、単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、を備えている構成である。
【００７９】
これにより、画素の特性を反映したクラス分類方法によりクラス分類を行うことができるという効果を奏する。
【００８０】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができるという効果を奏する。
【００８１】
また、本発明に係る画像復号装置は、予測残差に上記予測画像を加算した加算画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、上記オフセット加算手段がオフセットを加算した画像を復号画像として出力する出力手段と、を備え、上記オフセット加算手段には、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられている構成である。
【００８２】
これにより、画素の特性を反映したクラス分類方法によりクラス分類を行うことができるという効果を奏する。
【００８３】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができるという効果を奏する。
【００８４】
また、本発明に係る画像符号化装置は、原画像を符号化し、復号した復号画像に対し、単位領域毎にオフセットを加算するオフセット加算手段と、上記オフセット加算手段がオフセットを加算した画像から上記予測画像を生成する予測画像生成手段と、上記予測画像生成手段が生成した予測画像と原画像との差分である予測残差を符号化する符号化手段と、を備え、上記オフセット加算手段には、上記単位領域に含まれる画素を、複数のクラスの何れに分類するかを決定する方法であるクラス分類方法を、複数の候補の中から選択するクラス分類方法選択手段と、上記クラス分類方法選択手段が選択したクラス分類方法に従って、上記画素のクラス分類を行うクラス分類手段と、上記クラス分類手段がクラス分類した画素の画素値に加算するオフセットを、当該画素が分類されたクラスに応じて、上記単位領域毎に決定するオフセット決定手段と、上記オフセット決定手段が決定したオフセットを、上記単位領域に含まれる画素の画素値に加算するフィルタ手段と、が備えられている構成である。
【００８５】
これにより、画素の特性を反映したクラス分類方法によりクラス分類を行うことができるという効果を奏する。
【００８６】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができるという効果を奏する。
【００８７】
また、本発明に係る符号化データのデータ構造は、画素値データと、上記画素値データが示す画素値に加算するオフセットを決定するためのクラス分類方法を選択するためのクラス分類方法選択データと、を含み、上記画像復号装置は、上記クラス分類方法選択データが示すクラス分類方法に従って、対象画素のクラスを分類し、該クラスに対応するオフセットを対象画素に加算して、復号画像を生成する構成である。
【００８８】
これにより、画素の特性を反映したクラス分類方法によりクラス分類を行うことができるという効果を奏する。
【００８９】
また、画素の特性を反映したクラス分類方法を用いることにより、符号化効率を向上させることができるという効果を奏する。
【００９０】
また、本発明に係る画像フィルタ装置は、画素値毎に、上記複数のオフセットの中から当該画素値に対し加算するオフセットを選択する方法であるオフセット選択方法を、複数の候補の中から決定するオフセット選択方法決定手段と、上記オフセット選択方法決定手段が決定したオフセット選択方法に従って、上記複数のオフセットの中からオフセットを選択するオフセット選択手段と、上記オフセット選択手段が選択したオフセットを、上記画素値に加算するフィルタ手段と、を備えている構成である。
【００９１】
これにより、画素の特性に応じて、オフセット選択方法を決定することができ、画素の特性を反映したオフセット選択方法によりオフセットを加算することができるという効果を奏する。
【００９２】
また、画素の特性を反映したオフセット選択方法を用いることにより、符号化効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施の形態に係る適応オフセットフィルタの構成を示すブロック図である。
【図２】上記実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成を示す図であり、（ａ）〜（ｄ）は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびＣＵレイヤを示す図であり、（ｅ）はリーフでないＱＡＯＵに関するＱＡＯＵ情報の構成を示す図であり、（ｆ）はリーフのＱＡＯＵに関するＱＡＯＵ情報の構成を示す図である。
【図３】上記実施形態に係るオフセット情報およびＱＡＯＵ情報のシンタクスを示す図であり、（ａ）は、（ｂ）および（ｃ）に示すシンタクスを呼び出す適応オフセットフィルタ全体のシンタクスを示す図である。（ｂ）は、ＱＡＯＵ情報のシンタクスを示す図であり、（ｃ）は、オフセット情報のシンタクスを示す図である。
【図４】上記実施形態に係るオフセット単位の分割の態様を示す図であり、（ａ）はsao_depth＝０の場合を示す図であり、（ｂ）はsao_depth＝１の場合を示す図であり、（ｃ）はsao_depth＝２の場合を示す図であり、（ｄ）はsao_depth＝３の場合を示す図であり、（ｅ）はsao_depth＝４の場合を示す図である。
【図５】上記実施形態に係る動画像復号装置の構成を示すブロック図である。
【図６】上記実施の形態に係るオフセット情報復号部が用いる変換テーブルの例を示す図である。
【図７】上記実施形態を説明するための図であって、（ａ）は、対象の処理単位を構成する分割深度３の各ＱＡＯＭＵと各ＱＡＯＭＵに割り付けられたＱＡＯＵインデックスとを示す図であり、（ｂ）は、ＱＡＯＵインデックス０〜９の各々に関連付けられたオフセットタイプおよび各オフセットタイプにおいて選択可能な各クラスに関するオフセットを示す図である。
【図８】上記実施形態に係るクラス分類部の構成を示すブロック図である。
【図９】上記実施形態に係る適応オフセットフィルタによるオフセット処理を説明するための図であって、（ａ）〜（ｄ）は、それぞれ、sao_type_idx＝１〜４のときに参照される画素を示す図である。
【図１０】上記実施の形態に係る適応オフセットフィルタによるオフセット処理を説明するための図であって、（ａ）は、処理対象画素ｘの画素値ｐｉｘ［ｘ］と画素ａまたはｂの画素値との大小関係を示す模式図、およびその大小関係に応じた関数Ｓｉｇｎの値を示す図であり、（ｂ）は、処理対象画素ｘの画素値と、画素ａおよびｂの画素値との大小関係を示す模式図、およびその大小関係に応じたＥｄｇｅＣｌａｓｓの値を示す図であり、（ｃ）〜（ｄ）は、ＥｄｇｅＣｌａｓｓからｃｌａｓｓ＿ｉｄｘへの変換を表す変換テーブルを示す図である。
【図１１】上記実施形態に係る適応オフセットフィルタによるオフセット処理を説明するための図であって、（ａ）は、sao_type_idx＝５であるときのクラス分類を概略的に示す図であり、（ｂ）sao_type_idx＝６であるときのクラス分類を概略的に示す図である。
【図１２】上記実施の形態において、バンドオフセットが指定された場合のクラス分類の一例を示す図であり、（ａ）は、成分が輝度の場合のクラス分類の一例を示す図であり、（ｂ）は成分が色差の場合のクラス分類の一例を示す図である。（ｃ）は成分が色差の場合のクラス分類の別の一例を示す図であり、（ｄ）は成分が色差の場合のクラス分類のさらに別の一例を示す図である。
【図１３】上記実施形態に係る適応オフセットフィルタ処理部による処理の流れを示すフローチャートである。
【図１４】上記実施形態に係るオフセット情報復号部の構成を示すブロック図である。
【図１５】上記実施形態に係る動画像符号化装置の構成を示すブロック図である。
【図１６】上記実施形態に係る動画像符号化装置の備える適応オフセットフィルタの構成を示すブロック図である。
【図１７】上記実施形態に係る動画像符号化装置の備える適応オフセットフィルタのオフセット算出部による処理の流れを示すフローチャートである。
【図１８】上記実施形態において、対象の処理単位に含まれるＱＡＯＭＵに付されたＱＡＯＭＵ番号の一例を示す図であって、（ａ）は、分割深度が０であるＱＡＯＭＵに付されたＱＡＯＭＵ番号を示す図であり、（ｂ）は、分割深度が１であるＱＡＯＭＵに付されたＱＡＯＭＵ番号を示す図であり、（ｃ）は、分割深度が２であるＱＡＯＭＵに付されたＱＡＯＭＵ番号を示す図であり、（ｄ）は、分割深度が３であるＱＡＯＭＵに付されたＱＡＯＭＵ番号を示す図であり、（ｅ）は、分割深度が４であるＱＡＯＭＵに付されたＱＡＯＭＵ番号を示す図である。
【図１９】上記実施形態に係る動画像符号化装置の備える適応オフセットフィルタのオフセット情報選択部による処理の流れを示すフローチャートである。
【図２０】上記実施の形態において、ＱＡＯＵインデックスが「ｑ」のＱＡＯＵについて、オフセットタイプそれぞれについての２乗誤差を算出する概要を示す図である。
【図２１】上記実施形態に係る動画像符号化装置の備える適応オフセットフィルタのオフセット情報選択部による処理を説明するための図であって、（ａ）は、分割深度が０および１である場合の分割の態様を示す図であり、（ｂ）は、分割深度が１である場合の分割の態様を示す図であり、（ｃ）は、分割深度が２である場合の分割の態様を示す図であり、（ｄ）は、オフセット情報選択部によって決定された分割の一例を示す図である。
【図２２】上記実施の形態において、画素値の適応クリップ処理の例を示す図である。
【図２３】動画像復号装置および動画像符号化装置が、動画像の送受信に利用できることを説明するための図であり、（ａ）は、動画像符号化装置を搭載した送信装置の構成を示したブロック図であり、（ｂ）は、動画像復号装置を搭載した受信装置の構成を示したブロック図である。
【図２４】動画像復号装置および動画像符号化装置が、動画像の記録および再生に利用できることを説明するための図であり、（ａ）は、動画像符号化装置２を搭載した記録装置の構成を示したブロック図であり、（ｂ）は、動画像復号装置を搭載した再生装置の構成を示したブロックである。
【図２５】上記実施形態に係る動画像復号装置の備えるオフセット加算部の構成を示すブロック図である。
【図２６】上記実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成の別の例のリーフのＱＡＯＵに関するＱＡＯＵ情報の構成を示す図である。
【図２７】上記実施形態に係る動画像復号装置の備える適応オフセットフィルタによるオフセット処理を説明するための図であって、（ａ）はオフセットとして加算される値の範囲を示す図であり、（ｂ）はオフセット加算によって演算結果が画素値の下限を下回る場合を示す図であり、（ｃ）はオフセット加算によって演算結果が画素値の上限を超える場合を示す図である。
【図２８】上記実施形態において、オフセット制限領域の設定例を示す図である。
【図２９】上記実施形態において、バンドオフセットが指定された場合のクラス分類の別の例を示す図であり、（ａ）は、オフセット制限領域を無効クラス（クラス０）とする場合の一例を示す図であり、（ｂ）は従来技術とオフセット制限領域を用いる場合とを併用する例を示す図である。
【図３０】上記実施形態において、オフセット制限領域の別の設定例を示す図である。
【図３１】（ａ）〜（ｃ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類の別の例を示す図である。
【図３２】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類の別の例を示す図である。
【図３３】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図である。
【図３４】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図である。
【図３５】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図である。
【図３６】上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図である。
【図３７】上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図である。
【図３８】（ａ）、（ｂ）は、上記実施形態において、輝度と色差とで、別の量子化方法によってバンドインデックスを算出する方法を示す図である。
【図３９】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図である。
【図４０】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、色差のクラス分類において、値の小さな範囲および値の大きな範囲を、オフセットを加算しないクラスに分類する例を示す図である。
【図４１】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、色差のクラス分類において、値の小さな範囲および値の大きな範囲において広い範囲の値を同じクラスに分類する例を示す図である。
【図４２】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、色差のクラス分類において、中心値およびその付近の画素値の分類を、中心から離れた画素値の分類よりも細かく分類する例を示す図である。
【図４３】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、色差のクラス分類において、中心値およびその付近の画素値の分類を、中心から離れた画素値の分類よりも細かく分類する例を別の示す図である。
【図４４】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、色差のクラス分類において、中心値およびその付近の画素値をオフセットを加算するクラスに分類するクラス分類を、複数のクラス分類の先頭のクラス分類として用いる例を示す別の図である。
【図４５】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例を示す図である。
【図４６】（ａ）、（ｂ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例を示す別の図である。
【図４７】（ａ）〜（ｃ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例を示す別の図である。
【図４８】（ａ）〜（ｃ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例を示す別の図である。
【図４９】（ａ）〜（ｃ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例を示す別の図である。
【図５０】（ａ）〜（ｃ）は、上記実施形態において、バンドオフセットが指定された場合のクラス分類のさらに別の例を示す図であり、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例を示す別の図である。
【発明を実施するための形態】
【００９４】
〔実施の形態１〕
（符号化データ＃１）
本実施形態に係る動画像符号化装置２および動画像復号装置１の詳細な説明に先立って、動画像符号化装置２によって生成され、動画像復号装置１によって復号される符号化データ＃１のデータ構造について説明する。
【００９５】
図２は、符号化データ＃１のデータ構造を示す図である。符号化データ＃１は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。図２の（ａ）〜（ｄ）は、それぞれ、ピクチャＰＩＣＴを規定するピクチャレイヤ、スライスＳを規定するスライスレイヤ、ツリーブロック（Tree block）ＴＢＬＫを規定するツリーブロックレイヤ、ツリーブロックＴＢＬＫに含まれる符号化単位（Coding Unit；ＣＵ）を規定するＣＵレイヤを示す図である。
【００９６】
（ピクチャレイヤ）
ピクチャレイヤでは、処理対象のピクチャＰＩＣＴ（以下、対象ピクチャとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。ピクチャＰＩＣＴは、図２の（ａ）に示すように、ピクチャヘッダＰＨ、および、スライスＳ1〜ＳNSを含んでいる（ＮＳはピクチャＰＩＣＴに含まれるスライスの総数）。
【００９７】
なお、以下、スライスＳ1〜ＳNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ＃１に含まれるデータであって、添え字を付している他のデータについても同様である。
【００９８】
ピクチャヘッダＰＨには、対象ピクチャの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれている。例えば、動画像符号化装置２が符号化の際に用いた可変長符号化のモードを示す符号化モード情報（entropy_coding_mode_flag）は、ピクチャヘッダＰＨに含まれる符号化パラメータの一例である。
【００９９】
entropy_coding_mode_flagが０の場合、当該ピクチャＰＩＣＴは、ＣＡＶＬＣ（Context-based Adaptive Variable Length Coding）によって符号化されている。また、entropy_coding_mode_flagが１である場合、当該ピクチャＰＩＣＴは、ＣＡＢＡＣ（Context-based Adaptive Binary Arithmetic Coding）によって符号化されている。
【０１００】
なお、ピクチャＰＩＣＴは、ピクチャヘッダＰＨの他に、ピクチャパラメータセット（ＰＰＳ：Picture Parameter Set）を含む構成であってもよい。
【０１０１】
（スライスレイヤ）
スライスレイヤでは、処理対象のスライスＳ（対象スライスとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。スライスＳは、図２の（ｂ）に示すように、スライスヘッダＳＨ、および、ツリーブロックＴＢＬＫ1〜ＴＢＬＫNC（ＮＣはスライスＳに含まれるツリーブロックの総数）のシーケンスを含んでいる。
【０１０２】
スライスヘッダＳＨには、対象スライスの復号方法を決定するために動画像復号装置１が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報（slice_type）は、スライスヘッダＳＨに含まれる符号化パラメータの一例である。
【０１０３】
スライスタイプ指定情報により指定可能なスライスタイプとしては、（１）符号化の際にイントラ予測のみを用いるＩスライス、（２）符号化の際に単方向予測、または、イントラ予測を用いるＰスライス、（３）符号化の際に単方向予測、双方向予測、または、イントラ予測を用いるＢスライスなどが挙げられる。
【０１０４】
また、スライスヘッダＳＨには、動画像復号装置１の備える適応フィルタによって参照されるフィルタパラメータＦＰが含まれている。なお、フィルタパラメータＦＰは、ピクチャヘッダＰＨ、またはピクチャパラメータセットＰＰＳに含まれる構成としてもよい。
【０１０５】
（ツリーブロックレイヤ）
ツリーブロックレイヤでは、処理対象のツリーブロックＴＢＬＫ（以下、対象ツリーブロックとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。なお、ツリーブロックのことを最大符号化単位（ＬＣＵ:Largest Cording Unit）と呼ぶこともある。
【０１０６】
ツリーブロックＴＢＬＫは、ツリーブロックヘッダＴＢＬＫＨと、符号化単位情報ＣＵ1〜ＣＵNL（ＮＬはツリーブロックＴＢＬＫに含まれる符号化単位情報の総数）とを含む。ここで、まず、ツリーブロックＴＢＬＫと、符号化単位情報ＣＵとの関係について説明すると次のとおりである。
【０１０７】
ツリーブロックＴＢＬＫは、イントラ予測またはインター予測、および、変換の各処理で用いるブロックサイズを特定するためのユニットに分割される。
【０１０８】
ツリーブロックＴＢＬＫの上記ユニットは、再帰的な４分木分割により分割されている。この再帰的な４分木分割により得られる木構造のことを以下、符号化ツリー（coding tree）と称する。
【０１０９】
以下、符号化ツリーの末端のノードであるリーフ（leaf）に対応するユニットを、符号化ノード（coding node）として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位（ＣＵ）とも称する。
【０１１０】
つまり、符号化単位情報（以下、ＣＵ情報と称する）ＣＵ1〜ＣＵNLは、ツリーブロックＴＢＬＫを再帰的に４分木分割して得られる各符号化ノード（符号化単位）に対応する情報である。
【０１１１】
また、符号化ツリーのルート（root）は、ツリーブロックＴＢＬＫに対応付けられる。換言すれば、ツリーブロックＴＢＬＫは、複数の符号化ノードを再帰的に含む４分木分割の木構造の最上位ノードに対応付けられる。
【０１１２】
なお、各符号化ノードに対応する画像領域のサイズは、当該符号化ノードが直接に属する符号化ノード（すなわち、当該符号化ノードの１階層上位のノードのユニット）のサイズの縦横とも半分である。
【０１１３】
また、各符号化ノードのとり得るサイズは、符号化データ＃１のシーケンスパラメータセットＳＰＳに含まれる、符号化ノードのサイズ指定情報および最大階層深度（maximum hierarchical depth）に依存する。例えば、ツリーブロックＴＢＬＫのサイズが６４×６４画素であって、最大階層深度が３である場合には、当該ツリーブロックＴＢＬＫ以下の階層における符号化ノードは、４種類のサイズ、すなわち、６４×６４画素、３２×３２画素、１６×１６画素、および８×８画素の何れかをとり得る。
【０１１４】
また、ブロック構造としては、スライスＳが分割されて、ツリーブロックＴＢＬＫが形成され、ツリーブロックＴＢＬＫが分割されて符号化単位ＣＵが形成されている。
【０１１５】
（ツリーブロックヘッダ）
ツリーブロックヘッダＴＢＬＫＨには、対象ツリーブロックの復号方法を決定するために動画像復号装置１が参照する符号化パラメータが含まれる。具体的には、図２の（ｃ）に示すように、対象ツリーブロックの各ＣＵへの分割パターンを指定するツリーブロック分割情報ＳＰ＿ＴＢＬＫ、および、量子化ステップの大きさを指定する量子化パラメータ差分Δｑｐ（qp_delta）が含まれる。
【０１１６】
ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各ＣＵの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
【０１１７】
なお、ツリーブロック分割情報ＳＰ＿ＴＢＬＫは、ＣＵの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報ＳＰ＿ＴＢＬＫは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。この場合、ツリーブロックの形状やサイズを併用することで各ＣＵの形状やサイズを特定できる。
【０１１８】
また、量子化パラメータ差分Δｑｐは、対象ツリーブロックにおける量子化パラメータｑｐと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータｑｐ’との差分ｑｐ−ｑｐ’である。
【０１１９】
（ＣＵレイヤ）
ＣＵレイヤでは、処理対象のＣＵ（以下、対象ＣＵとも称する）を復号するために動画像復号装置１が参照するデータの集合が規定されている。
【０１２０】
ここで、ＣＵ情報ＣＵに含まれるデータの具体的な内容の説明をする前に、ＣＵに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー（prediction tree；ＰＴ）および変換ツリー（transform tree；ＴＴ）のルートとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
【０１２１】
予測ツリーにおいては、符号化ノードが１または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する１または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた１または複数の予測ブロックを含む。
【０１２２】
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位（prediction unit；ＰＵ）とも称する。
【０１２３】
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との２つがある。
【０１２４】
イントラ予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）と、Ｎ×Ｎとがある。
【０１２５】
また、インター予測の場合、分割方法は、２Ｎ×２Ｎ（符号化ノードと同一サイズ）、２Ｎ×Ｎ、Ｎ×２Ｎ、および、Ｎ×Ｎなどがある。
【０１２６】
また、変換ツリーにおいては、符号化ノードが１または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する１または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた１または複数の変換ブロックを含む。
【０１２７】
変換ツリーにおける分割には、符号化ノードと同一のサイズの領域を変換ブロックとして割り付けるものと、上述したツリーブロックの分割と同様、再帰的な４分木分割によるものがある。
【０１２８】
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位（transform unit；ＴＵ）とも称する。
【０１２９】
（ＣＵ情報のデータ構造）
続いて、図２の（ｄ）を参照しながらＣＵ情報ＣＵに含まれるデータの具体的な内容について説明する。図２の（ｄ）に示すように、ＣＵ情報ＣＵは、具体的には、スキップフラグＳＫＩＰ、ＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩを含んでいる。
【０１３０】
スキップフラグＳＫＩＰは、対象のＣＵについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグＳＫＩＰの値が１の場合、すなわち、対象ＣＵにスキップモードが適用されている場合、そのＣＵ情報ＣＵにおけるＰＴ情報ＰＴＩ、および、ＴＴ情報ＴＴＩは省略される。なお、スキップフラグＳＫＩＰは、Ｉスライスでは省略される。
【０１３１】
ＰＴ情報ＰＴＩは、ＣＵに含まれるＰＴに関する情報である。換言すれば、ＰＴ情報ＰＴＩは、ＰＴに含まれる１または複数のＰＵそれぞれに関する情報の集合であり、動画像復号装置１により予測画像を生成する際に参照される。ＰＴ情報ＰＴＩは、図２の（ｄ）に示すように、予測タイプ情報ＰＴｙｐｅ、および、予測情報ＰＩｎｆｏを含んでいる。
【０１３２】
予測タイプ情報ＰＴｙｐｅは、対象ＰＵについての予測画像生成方法として、イントラ予測を用いるのか、または、インター予測を用いるのかを指定する情報である。
【０１３３】
予測情報ＰＩｎｆｏは、予測タイプ情報ＰＴｙｐｅが何れの予測方法を指定するのかに応じて、イントラ予測情報、または、インター予測情報より構成される。以下では、イントラ予測が適用されるＰＵをイントラＰＵとも呼称し、インター予測が適用されるＰＵをインターＰＵとも呼称する。
【０１３４】
また、予測情報ＰＩｎｆｏは、対象ＰＵの形状、サイズ、および、位置を指定する情報が含まれる。上述のとおり予測画像の生成は、ＰＵを単位として行われる。予測情報ＰＩｎｆｏの詳細については後述する。
【０１３５】
ＴＴ情報ＴＴＩは、ＣＵに含まれるＴＴに関する情報である。換言すれば、ＴＴ情報ＴＴＩは、ＴＴに含まれる１または複数のＴＵそれぞれに関する情報の集合であり、動画像復号装置１により残差データを復号する際に参照される。なお、以下、ＴＵのことをブロックと称することもある。
【０１３６】
ＴＴ情報ＴＴＩは、図２の（ｄ）に示すように、対象ＣＵの各変換ブロックへの分割パターンを指定するＴＴ分割情報ＳＰ＿ＴＴ、および、量子化予測残差ＱＤ1〜ＱＤNT（ＮＴは、対象ＣＵに含まれるブロックの総数）を含んでいる。
【０１３７】
ＴＴ分割情報ＳＰ＿ＴＴは、具体的には、対象ＣＵに含まれる各ＴＵの形状、サイズ、および、対象ＣＵ内での位置を決定するための情報である。例えば、ＴＴ分割情報ＳＰ＿ＴＴは、対象となるノードの分割を行うのか否かを示す情報（split_transform_unit_flag）と、その分割の深度を示す情報（trafoDepth）とから実現することができる。なお、ＴＴ分割情報ＳＰ＿ＴＴは、基本的には四分木の各ノードに対して符号化されるが、変換サイズに関する制約（最大変換サイズ、最小変換サイズ、四分木の最大階層深度）に応じて省略されて推定される場合もある。
【０１３８】
各量子化予測残差ＱＤは、動画像符号化装置２が以下の処理１〜３を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
【０１３９】
処理１：符号化対象画像から予測画像を減算した予測残差を周波数領域に直交変換（ＤＣＴ変換（Discrete Cosine Transform）またはＤＳＴ変換（Discrete Sine Transform）する；
処理２：処理１にて得られた変換係数を量子化する；
処理３：処理２にて量子化された変換係数を可変長符号化する；
なお、上述した量子化パラメータｑｐは、動画像符号化装置２が変換係数を量子化する際に用いた量子化ステップＱＰの大きさを表す（ＱＰ＝２qp/6）。
【０１４０】
（予測情報ＰＩｎｆｏ）
上述のとおり、予測情報ＰＩｎｆｏには、インター予測情報およびイントラ予測情報の２種類がある。
【０１４１】
インター予測情報には、動画像復号装置１が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、インター予測情報には、対象ＣＵの各インターＰＵへの分割パターンを指定するインターＰＵ分割情報、および、各インターＰＵについてのインター予測パラメータが含まれる。
【０１４２】
インター予測パラメータには、参照画像インデックスと、推定動きベクトルインデックスと、動きベクトル残差とが含まれる。
【０１４３】
一方、イントラ予測情報には、動画像復号装置１が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータが含まれる。より具体的には、イントラ予測情報には、対象ＣＵの各イントラＰＵへの分割パターンを指定するイントラＰＵ分割情報、および、各イントラＰＵについてのイントラ予測パラメータが含まれる。イントラ予測パラメータは、各イントラＰＵについてのイントラ予測方法（予測モード）を指定するためのパラメータである。
【０１４４】
（オフセット単位）
また、本実施形態において、各ピクチャまたは各スライスは、４分木構造によって複数のオフセット単位（単位領域、ＱＡＯＵ：Quad Adaptive Offset Unitとも呼ぶ）に再帰的に分割される。ここで、ＱＡＯＵとは、本実施形態に係る適応オフセットフィルタによるオフセットフィルタ処理の処理単位である。
【０１４５】
図２（ｅ）、および（ｆ）に示すように、各ＱＡＯＵに関する情報であるＱＡＯＵ情報は、自身（自ＱＡＯＵ）が更に分割されるのか否かを示すsao_split_flagを含んでいる。あるＱＡＯＵに含まれるsao_split_flagが、該ＱＡＯＵがさらに分割されるものであることを示している場合（すなわち、当該ＱＡＯＵがリーフではない場合）には、図２（ｅ）に示すように、該ＱＡＯＵに関するＱＡＯＵ情報には、該ＱＡＯＵに含まれる複数のＱＡＯＵの各々に関するＱＡＯＵ情報が含まれる。
【０１４６】
一方で、あるＱＡＯＵに含まれるsao_split_flagが、該ＱＡＯＵがそれ以上分割されないものであることを示している場合（すなわち、当該ＱＡＯＵがリーフである場合）には、図２（ｆ）に示すように、該ＱＡＯＵに関するＱＡＯＵ情報には、該ＱＡＯＵに関するオフセット情報ＯＩが含まれる。また、オフセット情報ＯＩには、図２（ｆ）に示すように、オフセットタイプを指定するオフセットタイプ指定情報ＯＴＩ、および、オフセットタイプに応じて定まるオフセット群が含まれている。さらに、図２（ｆ）に示すように、オフセット群には、複数のオフセットが含まれている。
【０１４７】
なお、符号化データ中のオフセットは量子化された値である。また、符号化データ中のオフセットは、何らかの予測、例えば線形予測を用いることによって得られる予測残差であっても良い。
【０１４８】
次に、適応オフセットフィルタに関するシンタクスについて、図３を参照して説明する。
【０１４９】
図３（ａ）は、適応オフセットフィルタ全体のシンタクスであり、図３（ｂ）および図３（ｃ）に示すシンタクスを呼び出すシンタクスである。パラメータsao_flagは適応オフセットフィルタを適用するか否かを選択するフラグであり、当該フラグが真（すなわち「１」）である場合のみ、輝度画素に対する適応オフセットフィルタに対応する、当該フラグに後続するＱＡＯＵ情報およびオフセット情報ＯＩを格納する。sao_flagが真の場合には、色差（Ｃｂ）および色差（Ｃｒ）についても、各々に対応するフラグsao_flag_cbおよびsao_flag_crを用いて、画素データの各成分に対して適応オフセットフィルタを適用するか否かを選択する。そして、適用しない場合には当該成分に対応するＱＡＯＵ情報およびオフセット情報を格納しない。
【０１５０】
フラグsao_flag、sao_flag_cb、sao_flag_crによって、適応オフセットフィルタの適用が指定された場合のみ、対応する成分に対して、シンタクスsao_split_param()およびsao_offset_param()が最上位階層を指定して呼び出される。ここで、sao_split_param()はＱＡＯＵの分割構造を表し、sao_offset_param()はその分割構造を用いて各リーフＱＡＯＵにおけるオフセットを表している。
【０１５１】
sao_split_param()およびsao_offset_param()の各シンタクスに与えられる引数は、component、sao_depth、ys、xsである。sao_depthは、ＱＡＯＵの分割深度を表すパラメータであり、ysおよびxsは、それぞれ、ＱＡＯＵ（または後述するＱＡＯＭＵのｙ方向の位置およびｘ方向の位置を表すためのパラメータである。最上位階層の呼び出しでは、sao_depthL＝０、ys＝０、xs＝０が与えられる。componentは、輝度（Ｙ）、色差（Ｃｂ）、色差（Ｃｒ）を表すパラメータであり、輝度（Ｙ）の場合は０、色差（Ｃｂ）の場合は１、色差（Ｃｒ）の場合は２として呼び出される。なお、componentの値は、処理対象の成分が区別できれば他の値でもよい。
【０１５２】
図３（ｂ）は、上述の図２（ｅ）で説明したＱＡＯＵ情報（図３（ｂ）のsao_split_param()に相当）のシンタクスを示す図である。図３（ｂ）のシンタクス３０１Ｂに示すように、分割深度sao_depthが所定のsaoMaxDepthで設定される最大値よりも小さければ、パラメータsao_split_flagによって、ＱＡＯＵがさらに分割されるかどうかが選択される。より具体的には、sao_split_flagは、前述の引数component，sao_depth，ys，xsによって何れのＱＡＯＵに対するフラグかを指定されるものであり、sao_split_flag[component][sao_depth][ys][xs]とも表記する。
【０１５３】
ＱＡＯＵが分割される場合には、次の階層深度のsao_split_param()が再帰的に呼び出される。分割深度が最大値に達した（sao_depthがsaoMaxDepthより小さくない）場合には、sao_split_flag[component][sao_depth][ys][xs]には０が設定され、それ以上の分割は行われない。
【０１５４】
図３（ｃ）は、オフセット情報のシンタクスを示す図である。図３（ｃ）のシンタクス３０１Ｃにおける（ｃｘ１）で示すブロックは、上述のsao_split_flagが真の場合に呼び出されるシンタクスを示しており、図２（ｅ）の場合に相当する。
【０１５５】
一方、シンタクス３０１Ｃにおける（ｃｘ２）で示すブロックは、上述のsao_split_flagが真でない場合に呼び出されるシンタクスであり、図２（ｆ）の場合に相当する。図３（ｃ）のシンタクス３０１Ｃに示すように、オフセット情報ＯＩには、後述するパラメータsao_type_idx[component][sao_depth][ys][xs]が含まれている。また、パラメータsao_type_idx[component][sao_depth][ys][xs]が０でない場合、オフセット情報ＯＩには、後述するパラメータsao_offset[component][sao_depth][ys][xs][i]が含まれている。
【０１５６】
また、図３に示したDescriptor（記述子）ue(v)は、この記述子に関連付けられたシンタクスは符号なしの数値であり、値が可変長符号化されることを示している。se(v)は、この記述子に関連付けられたシンタクスは符号付きの数値であり、符号と絶対値に分けて可変長符号化されることを示している。ae(v)は、この記述子に関連づけられたシンタクスが算術符号を用いて可変長符号化されることを示している。また、「|」は、いずれかの符号化方法が選択的に用いられることを示している。
【０１５７】
次に、sao_depthの値に応じたＱＡＯＵの分割の態様について、図４を参照して説明する。図４は、sao_depthの値に応じたＱＡＯＵの分割の態様を示す図であり、（ａ）はsao_depth＝０の場合の分割の態様を示し、（ｂ）はsao_depth＝１の場合の分割の態様を示し、（ｃ）はsao_depth＝２の場合の分割の態様を示し、（ｄ）はsao_depth＝３の場合の分割の態様を示し、（ｅ）はsao_depth＝４の場合の分割の態様を示している。
【０１５８】
図４（ａ）〜（ｅ）に示すように、各ＱＡＯＵは、sao_depth、および（xs、ys）によって指定される。図４（ａ）に示すように、sao_depth＝０であるとき、xsおよびysはそれぞれ０であり、図４（ｂ）に示すように、sao_depth＝１であるとき、xsおよびysはそれぞれ０および１の何れかの値をとり得る。また、図４（ｃ）に示すように、sao_depth＝２であるとき、xsおよびysはそれぞれ０、１、２および３の何れかの値をとり得る。一般に、与えられたsao_depthに対して、xsおよびysは、それぞれ０〜２sao_depth−１の値をとり得る。このような分割の態様は、輝度（Ｙ）、色差（Ｃｂ）および色差（Ｃｒ）において共通である。
【０１５９】
（sao_type_idx）
sao_type_idx[component][sao_depth][ys][xs]は、上述の図２（ｆ）のオフセットタイプ指定情報ＯＴＩに対応するものであり、各ＱＡＯＵについてのオフセットタイプを指定するためのパラメータである。本実施形態では、sao_type_idx[component][sao_depth][ys][xs]を、単にsao_type_idxやオフセットタイプと呼称することもある。単にsao_type_idxと呼称する場合においても、必要な個々の値はsao_type_idx[component][sao_depth][ys][xs]として参照することが可能である。
【０１６０】
オフセットタイプには大きく分けてエッジオフセット処理（ＥＯ）とバンドオフセット処理（ＢＯ）と呼ばれる２種類がある。エッジオフセット処理とは、処理対象画素の画素値とその周辺画素の画素値との差分に応じて、当該処理対象画素の画素値に複数のオフセットの何れかを加算する処理のことをいう。また、バンドオフセット処理とは、処理対象の各画素値の大きさに応じて、当該処理対象画素の画素値に複数のオフセットの何れかを加算する処理のことをいう。エッジオフセット処理およびバンドオフセット処理の具体的内容については後述する。
【０１６１】
本実施形態において、sao_type_idxは、後述する変形例を除いては０から６までの整数値をとり、オフセットフィルタ前画像（例えば、後述するデブロック済復号画像Ｐ＿ＤＢ）に対して、どのようなフィルタ処理を行うか、あるいはフィルタ処理を行わないかを示す。具体的には以下の通りである。
・sao_type_idx＝０は、対象ＱＡＯＵにおけるオフセットフィルタ前画像に対して、オフセットフィルタ処理を行わないことを示す。
・sao_type_idx＝１〜４は、対象ＱＡＯＵにおけるオフセットフィルタ前画像に対して、エッジオフセット処理（ＥＯ）を行うことを示す。さらに、sao_type_idx＝１〜４で示されるオフセットタイプを順に、「ＥＯ＿０」「ＥＯ＿１」「ＥＯ＿２」「ＥＯ＿３」と呼ぶ。
・sao_type_idx＝５または６は、対象ＱＡＯＵにおけるオフセットフィルタ前画像に対して、バンドオフセット処理（ＢＯ）を行うことを示す。さらに、sao_type_idx＝５または６で示されるオフセットタイプを順に、「ＢＯ＿０」「ＢＯ＿１」と呼ぶ。
【０１６２】
なお、後述する一部の変形例では、エッジオフセットおよびバンドオフセットに対し、上記で説明したよりも多くのオフセットタイプが用いられる場合がある。例えば、バンドオフセットのタイプが３個以上用いられる場合には、オフセットタイプの呼称を順に「ＢＯ＿２」「ＢＯ＿３」となるよう添字を変えて区別する。さらに、上記のようにオフセットタイプの個数が変形前と異なる場合には、sao_type_idxの値の範囲は、オフセットタイプの総数に応じて変化する。たとえば、オフセットタイプの総数が９個である場合には、sao_type_idxは０から８までの整数値をとる。
【０１６３】
（sao_offset）
sao_offset[component][sao_depth][ys][xs][i]は、本実施形態に係る適応オフセットフィルタ処理において、対象ＱＡＯＵに含まれる各画素に加算されるオフセットの具体的な値を表すパラメータである。本実施形態では、sao_offset[component][sao_depth][ys][xs][i]のことを単にsao_offsetあるいはオフセットと呼称することもある。単にsao_offsetと呼称する場合においても、必要な個々の値はsao_offset[component][sao_depth][ys][xs][i]として参照することが可能である。
【０１６４】
sao_offset[component][sao_depth][ys][xs][i]は、上述の引数component、sao_depth、ys、xsに加えて、インデックス“ｉ”によって指定される。ここで、インデックスｉは、クラスを指定するためのインデックスであり、class_idxとも表記する。インデックスｉは、エッジオフセットの場合、参照するタイプに属する０以外のクラス数がＮec個であれば、０〜Ｎecの何れかの整数値をとる。例えばＮec＝５のタイプであれば、ｉは０〜５の何れかの整数値をとる。また、バンドオフセットの場合、参照するタイプに属する０以外のクラス数がＮbc個であれば、０〜Ｎbcの何れかの整数値をとる。例えばＮbc＝１６のタイプであれば、ｉは０〜１６の何れかの整数値をとり、Ｎbc＝８のタイプであれば、ｉは０〜８の何れかの整数値をとる。何れの場合もｉが０の場合は、オフセットを加算しないクラスを表している。このため、ｉが０の場合はオフセットの符号化は行わない。以下では、ｉ＝０のクラスは、無効クラスとも呼称する。また、オフセットを加算するクラスは、有効クラスとも呼称する。また、ｉの値の最大値は、各オフセットタイプに属する有効クラス数で決まり、（component，sao_type_idx）を添字とする、エンコーダとデコーダで共通な所定の値の配列saoNumClassから参照される。
【０１６５】
後述するように、本実施形態に係る適応オフセットフィルタは、対象ＱＡＯＵに含まれる対象画素を上記複数のクラスの何れかに分類し、該対象画素に対して、該対象画素が分類されたクラスについてのオフセットOffsetを加算する。
【０１６６】
（動画像復号装置１）
次に、本実施形態に係る動画像復号装置１について、図１および図５〜８を参照して説明する。動画像復号装置１は、その一部に、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣに採用されている方式、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式、および、ＨＭ（HEVC TestModel）ソフトウェアに採用されている技術を含んでいる。
【０１６７】
図５は、動画像復号装置１の構成を示すブロック図である。図５に示すように、動画像復号装置１は、可変長符号復号部１３、動きベクトル復元部１４、バッファメモリ１５、インター予測画像生成部１６、イントラ予測画像生成部１７、予測方式決定部１８、逆量子化・逆変換部１９、加算器２０、デブロッキングフィルタ４１、適応フィルタ５０、および適応オフセットフィルタ６０を含む構成である。動画像復号装置１は、符号化データ＃１を復号することによって動画像＃４を生成するための装置である。
【０１６８】
可変長符号復号部１３は、各パーティションに関する予測パラメータＰＰを、符号化データ＃１から復号する。すなわち、インター予測パーティションに関しては、参照画像インデックスＲＩ、推定動きベクトルインデックスＰＭＶＩ、および、動きベクトル残差ＭＶＤを符号化データ＃１から復号し、これらを動きベクトル復元部１４に供給する。一方、イントラ予測パーティションに関しては、（１）パーティションのサイズを指定するサイズ指定情報、および、（２）予測インデックスを指定する予測インデックス指定情報を符号化データ＃１から復号し、これをイントラ予測画像生成部１７に供給する。また、可変長符号復号部１３は、ＣＵ情報を符号化データから復号し、これを予測方式決定部１８に供給する（不図示）。更に、可変長符号復号部１３は、各ブロックに関する量子化予測残差ＱＤ、および、そのブロックを含むツリーブロックに関する量子化パラメータ差分Δｑｐを符号化データ＃１から復号し、これらを逆量子化・逆変換部１９に供給する。また、可変長符号復号部１３は、符号化データ＃１からＦＰ（フィルタパラメータ）を抽出し、抽出したＦＰを適応フィルタ５０に供給する。また、可変長符号復号部１３は、符号化データ＃１からＱＡＯＵ情報を抽出し、抽出したＱＡＯＵ情報を適応オフセットフィルタ６０に供給する。
【０１６９】
動きベクトル復元部１４は、各インター予測パーティションに関する動きベクトルｍｖを、そのパーティションに関する動きベクトル残差ＭＶＤと、他のパーティションに関する復元済みの動きベクトルｍｖ’とから復元する。具体的には、（１）推定動きベクトルインデックスＰＭＶＩにより指定される推定方法に従って、復元済みの動きベクトルｍｖ’から推定動きベクトルｐｍｖを導出し、（２）導出した推定動きベクトルｐｍｖと動きベクトル残差ＭＶＤとを加算することによって動きベクトルｍｖを得る。なお、他のパーティションに関する復元済みの動きベクトルｍｖ’は、バッファメモリ１５から読み出すことができる。動きベクトル復元部１４は、復元した動きベクトルｍｖを、対応する参照画像インデックスＲＩと共に、インター予測画像生成部１６に供給する。なお、双方向予測（重み付き予測）を行うインター予測パーティションについては、復元した２つの動きベクトルｍｖ１およびｍｖ２を、対応する参照画像インデックスＲＩ１およびＲＩ２と共に、インター予測画像生成部１６に供給する。
【０１７０】
インター予測画像生成部１６は、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル復元部１４から供給された動きベクトルｍｖを用いて、同じく動きベクトル復元部１４から供給された参照画像インデックスＲＩによって指定されるフィルタ済復号画像Ｐ＿ＦＬ’から動き補償画像ｍｃを生成する。ここで、フィルタ済復号画像Ｐ＿ＦＬ’は、局所復号画像Ｐに対して、デブロッキングフィルタ４１によるデブロック処理、適応オフセットフィルタ６０によるオフセットフィルタ処理、および適応フィルタ５０による適応的フィルタ処理を施すことによって得られる画像であり、インター予測画像生成部１６は、フィルタ済復号画像Ｐ＿ＦＬ’を構成する各画素の画素値をバッファメモリ１５から読み出すことができる。インター予測画像生成部１６によって生成された動き補償画像ｍｃは、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒとして予測方式決定部１８に供給される。なお、双方向予測（重み付き予測）を行うインター予測パーティションについては、（１）動きベクトルｍｖ１を用いて、参照画像インデックスＲＩ１によって指定されたフィルタ済復号画像Ｐ＿ＦＬ１’から動き補償画像ｍｃ１を生成し、（２）動きベクトルｍｖ２を用いて、参照画像インデックスＲＩ２によって指定されたフィルタ済復号画像Ｐ＿ＦＬ２’から動き補償画像ｍｃ２を生成し、（３）動き補償画像ｍｃ１と動き補償画像ｍｃ２との加重平均にオフセット値を加えることによってインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成する。
【０１７１】
イントラ予測画像生成部１７は、各イントラ予測パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、まず、符号化データ＃１から復号された予測インデックス指定情報およびサイズ指定情報を参照して予測モードを導出し、該予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。続いて、当該予測モードの示す予測方法に従って、バッファメモリから読み出した（不図示）局所復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部１７によって生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａは、予測方式決定部１８に供給される。
【０１７２】
また、イントラ予測画像生成部１７は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報ＩＥＭを適応フィルタ５０に供給する（不図示）。
【０１７３】
予測方式決定部１８は、ＣＵ情報に基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部１６にて生成されたインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器２０に供給し、後者の場合には、イントラ予測画像生成部１７にて生成されたイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器２０に供給する。
【０１７４】
逆量子化・逆変換部１９は、（１）量子化予測残差ＱＤを逆量子化し、（２）逆量子化によって得られたＤＣＴ（Discrete Cosine Transform）係数またはＤＳＴ（Discrete Sine Transform）係数を逆ＤＣＴ変換または逆ＤＳＴ変換し、（３）逆ＤＣＴ変換または逆ＤＳＴ変換によって得られた予測残差Ｄを加算器２０に供給する。なお、量子化予測残差ＱＤを逆量子化する際に、逆量子化・逆変換部１９は、可変長符号復号部１３から供給された量子化パラメータ差分Δｑｐから量子化ステップＱＰを導出する。量子化パラメータｑｐは、直前に逆量子化／逆ＤＣＴ（またはＤＳＴ）変換したツリーブロックに関する量子化パラメータｑｐ’に量子化パラメータ差分Δｑｐを加算することによって導出でき、量子化ステップＱＰは、量子化ステップｑｐからＱＰ＝２ｐｑ／６によって導出できる。また、逆量子化・逆変換部１９による予測残差Ｄの生成は、ブロック（変換単位）を単位として行われる。
【０１７５】
加算器２０は、予測方式決定部１８から供給された予測画像Ｐｒｅｄと、逆量子化・逆変換部１９から供給された予測残差Ｄとを加算することによって局所復号画像Ｐを生成する。
【０１７６】
デブロッキングフィルタ４１は、局所復号画像Ｐにおけるブロック境界、またはＣＵ境界を介して互いに隣接する画素の画素値の差が予め定められた範囲内である場合にはブロック歪みが存在すると判定し、局所復号画像Ｐにおける当該ブロック境界、または当該ＣＵ境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該ＣＵ境界付近の画像の平滑化を行う。デブロッキングフィルタ４１によりデブロッキング処理が施された画像は、デブロック済復号画像Ｐ＿ＤＢとして、適応オフセットフィルタ６０に出力される。
【０１７７】
適応オフセットフィルタ６０は、デブロッキングフィルタ４１から供給されるデブロック済復号画像Ｐ＿ＤＢに対して、符号化データ＃１から復号されたオフセットを用いたオフセットフィルタ処理を、ＱＡＯＵを処理単位として施すことによってオフセットフィルタ済復号画像Ｐ＿ＯＦを生成する。生成されたオフセットフィルタ済復号画像Ｐ＿ＯＦは、適応オフセットフィルタ６０に供給される。適応オフセットフィルタ６０の具体的な構成については、後述するため、ここでは説明を省略する。
【０１７８】
適応フィルタ５０は、適応オフセットフィルタ６０から供給されるオフセットフィルタ済復号画像Ｐ＿ＯＦに対して、符号化データ＃１から復号されたフィルタパラメータＦＰ（フィルタセット番号、フィルタ係数群、領域指定情報、並びにオンオフ情報）を用いたフィルタ処理を施すことによって、フィルタ済復号画像Ｐ＿ＦＬを生成する。フィルタ済復号画像Ｐ＿ＦＬは、動画像＃４として外部に出力されると共に、可変長符号復号部１３によって符号化データから復号されたＰＯＣ指定情報と関連付けてバッファメモリ１５に格納される。
【０１７９】
（適応オフセットフィルタ６０）
次に、適応オフセットフィルタ６０の詳細について、図１を参照して説明する。図１は、適応オフセットフィルタ６０の構成を示すブロック図である。図１に示すように、適応オフセットフィルタ６０は、適応オフセットフィルタ情報復号部６１および適応オフセットフィルタ処理部６２を含む構成である。
【０１８０】
（適応オフセットフィルタ情報復号部６１）
図１に示すように、適応オフセットフィルタ情報復号部６１は、オフセット情報復号部６１１、およびＱＡＯＵ構造復号部６１２を含む構成である。
【０１８１】
オフセット情報復号部６１１は、符号化データ＃１に含まれているＱＡＯＵ情報を参照し、ＱＡＯＵ情報に含まれているオフセット情報ＯＩを復号する。また、オフセット情報ＯＩを復号することによって得られたsao_type_idx[component][sao_depth][ys][xs]およびsao_offset[component][sao_depth][ys][xs][i]の各値を、それぞれの引数（component，sao_depth，ys，xs）および（component，sao_depth，ys，xs，i）に関連付けて、オフセット情報格納部６２１に供給する。
【０１８２】
より詳細には、オフセット情報復号部６１１は、符号化データ＃１からコードを復号し、復号したコードをsao_type_idxの値に変換して、引数に関連付けてオフセット情報格納部６２１に供給する。ここで、オフセット情報復号部６１１は、処理対象のＱＡＯＵの画素の成分によってコードの復号方法を変更している。このＱＡＯＵの成分などの条件をパラメータ条件と呼ぶ。一般のパラメータ条件に応じたオフセット情報の復号は図１４を用いて後述する。
【０１８３】
コードの復号方法は、処理対象が輝度のＱＡＯＵである場合と色差のＱＡＯＵである場合とで異なるものであってもよい。異なる場合には、例えば輝度と色差とで異なるバイナリゼーションを用いるものや、異なるコンテキストを用いるものであってもよい。
【０１８４】
また、オフセット情報復号部６１１は、復号したコードからsao_type_idxの値への変換を、図６に示すような変換テーブル８０１Ａを用いて行う。図６の変換テーブル８０１Ａでは、コードからオフセットタイプへの変換パターンの一例を示している。オフセット情報復号部６１１は、変換テーブル８０１Ａを用いて、復号したコードをオフセットタイプに変換する。図６の変換テーブル８０１Ａでは、コード「１」に対しオフセットタイプ「ＥＯ＿０」（sao_type_idx＝１）が対応付けられており、コード「２」に対しオフセットタイプ「ＥＯ＿１」（sao_type_idx＝２）が対応付けられており、コード「３」に対しオフセットタイプ「ＥＯ＿２」（sao_type_idx＝３）が対応付けられている。以下、コード４〜６についても同様である。
【０１８５】
なお、コードとオフセットタイプの対応付けは、変換テーブル８０１Ａに示したものに限られない。図６の変換テーブル８０１Ｂに一例を示すように、出現頻度がより高いオフセットタイプをビット長のより短いコードに対応付けたり、あるいは変換テーブル８０１Ｃに一例を示すように、用いないオフセットタイプを省略したりしてもよい。また、これらの変換テーブルを動的に変更したり切り替えたりしてもよい。
【０１８６】
ＱＡＯＵ構造復号部６１２は、ＱＡＯＵ情報に含まれているsao_split_flag[component][sao_depth][ys][xs]を復号することによって、ＱＡＯＵの分割構造を決定し、決定されたＱＡＯＵの分割構造を表すＱＡＯＵ構造情報を、オフセット情報格納部６２１に供給する。
【０１８７】
（適応オフセットフィルタ処理部６２）
図１に示すように、適応オフセットフィルタ処理部６２は、オフセット情報格納部６２１、ＱＡＯＵ制御部６２２、オフセットタイプ導出部６２３、クラス分類部６２４、オフセット属性設定部６２５、オフセット導出部６２６、およびオフセット加算部６２７を含む構成である。
【０１８８】
オフセット情報格納部６２１は、ＱＡＯＵ構造情報、sao_type_idx[component][sao_depth][ys][xs]、およびsao_offset[component][sao_depth][ys][xs][i]に基づいて、各ＱＡＯＵについて指定されたオフセットタイプ、および該オフセットタイプにおいて選択可能な各クラスに関するオフセットの具体的な値を管理および格納するものであり、マップメモリおよびリストメモリを備えた構成である。
【０１８９】
マップメモリ、およびリストメモリについて、図７を参照して説明する。図７は、マップメモリおよびリストメモリに格納される例を示す図であり、図７（ａ）はマップメモリに格納されるＱＡＯＵの識別番号（ＱＡＯＵインデックス）の一例を説明するための図であり、図７（ｂ）はリストメモリに格納される情報の一例を説明するための図である。
【０１９０】
マップメモリ６０１には、最大分割深度に対するオフセット最小単位（ＱＡＯＭＵ:Quad Adaptive Offset Minimum Unitとも呼称する）に割り付けられたＱＡＯＵインデックスが格納されている。言い換えれば、マップメモリ６０２は、最大分割深度に対するＱＡＯＭＵを用いてＱＡＯＵの分割構造を表すものである。
【０１９１】
図７（ａ）では、対象の処理単位（例えばＬＣＵ）を構成する分割深度３の各ＱＡＯＭＵと、各ＱＡＯＭＵを含むＱＡＯＵインデックスを示している。なお、図７（ａ）では、簡易的に連番でインデックス０〜９をＱＡＯＵに割り付けているが、実用上は、ＱＡＯＵインデックスから分割深度をテーブル参照等の容易な手段で導出できることが好ましい。また、図７（ａ）に示す例においては、ＱＡＯＵインデックス＝Ｉによって指定されるＱＡＯＵをＱＡＯＵ０〜ＱＡＯＵ９と表記している。また、図７（ａ）における細線はＱＡＯＭＵの境界を示しており、太線はＱＡＯＵの境界を示している。
【０１９２】
図７（ａ）に示すＱＡＯＵ０は、４つの最大分割深度のＱＡＯＭＵから構成されており、これら４つのＱＡＯＭＵには、ＱＡＯＵインデックスとして０が割り付けられている。一方、ＱＡＯＵ３は、１つのＱＡＯＭＵから構成されており、このＱＡＯＭＵには、ＱＡＯＵインデックスとして３が割り付けられている。このように、マップメモリには、各ＱＡＯＭＵに割り付けられたＱＡＯＵインデックスが格納されている。
【０１９３】
また、リストメモリ６０２には、各ＱＡＯＵインデックスに対し、該ＱＡＯＵインデックスに関連付けられたオフセットタイプ、および該オフセットタイプにおいて選択可能な各クラスに関するオフセットの具体的な値が互いに関連付けられて格納されている。
【０１９４】
具体的に、図７（ｂ）を参照して説明する。図７（ｂ）では、ＱＡＯＵインデックス０〜９の各々に関連付けられたオフセットタイプおよび各オフセットタイプにおいて選択可能な各クラスに関するオフセットを示している。図７（ｂ）における「ｘｘｘ」は、互いに異なり得る具体的な数値を表している。
【０１９５】
図７（ｂ）に示すように、オフセットタイプがバンドオフセットである場合、該オフセットタイプに関してリストメモリに格納されるオフセットの個数は、図示した場合のバンドオフセットの有効クラス数が１６個であることから、オフセット１〜オフセット１６の合計１６個である。ここで、オフセット１〜オフセット１６は、sao_type_idx[component][sao_depth][ys][xs]の値が５または６である場合の、sao_offset[component][sao_depth][ys][xs][1]〜sao_offset[component][sao_depth][ys][xs][16]によってそれぞれ指定される値のことを指す。
【０１９６】
一方、オフセットタイプがエッジオフセットである場合、該オフセットタイプに関してリストメモリに格納されるオフセットの個数は、エッジオフセットの有効クラス数に同じであり、オフセット１〜５の合計５個である。ここで、オフセット１〜５は、sao_type_idx[component][sao_depth][ys][xs]の値が１から４の何れかである場合の、sao_offset[component][sao_depth][ys][xs][1]〜sao_offset[component][sao_depth][ys][xs][5]によってそれぞれ指定される値のことを指す。なお、使用されないオフセットのメモリには何も格納されない。また、常に使用されないオフセットのメモリについては確保を省略してもよく、それにより使用メモリ量の削減が可能である。
【０１９７】
また、本実施形態では、処理対象のＱＡＯＵが表す成分、すなわち、輝度画素であるか色差画素であるかに応じて、オフセットの個数を異ならせてもよい。例えば、輝度画素については、エッジオフセットの有効クラス数すなわちオフセットの個数をオフセット１〜４の４個とし、色差画素については後述する第５のオフセットを用い、オフセット１〜５の５個を用いる。具体的には、sao_type_idxが１〜４（エッジオフセット）であるときに図３（ｃ）のsaoNumClassを参照して得られる値を、component＝０（輝度）に対しては４、component＝１または２（色差）に対しては５とする。
【０１９８】
発明者の実験によれば、従来技術ではオフセット処理が行われないクラス０に分類されていた画素に対してもオフセット処理をすることで、輝度画素については符号化効率は向上しないが、色差画素に対しては符号化効率が向上することがわかった。
【０１９９】
よって、上記のように輝度画素と色差画素とで、エッジオフセットで使用するクラス数を異ならせることにより、符号化効率を向上させることができる。したがって上記のように少なくとも色差については第５のオフセットを用いて、従来クラス０に分類されていた画素をクラス５に分類して処理することが好ましい。
【０２００】
ＱＡＯＵ制御部６２２は、適応オフセットフィルタ処理部６２に含まれる各部を制御する。また、ＱＡＯＵ制御部６２２は、ＱＡＯＵ構造情報を参照して、デブロック済復号画像Ｐ＿ＤＢを１または複数のＱＡＯＵに分割し、各ＱＡＯＵを所定の順序でスキャンする。また、処理対象とする対象ＱＡＯＭＵを表すＱＡＯＭＵ番号をオフセットタイプ導出部６２３に供給する。
【０２０１】
オフセットタイプ導出部６２３は、オフセット情報格納部６２１のマップメモリおよびリストメモリを参照し、ＱＡＯＵ制御部６２２から供給されたＱＡＯＭＵ番号によって指定されるオフセットタイプを導出する。また、導出したオフセットタイプを、クラス分類部６２４に供給する。
【０２０２】
（クラス分類部６２４）
クラス分類部６２４は、対象ＱＡＯＵに含まれる各画素を、オフセットタイプ導出部６２３から供給されるオフセットタイプにおいて選択可能な複数のクラスの何れかに分類する。また、当該オフセットタイプと、各画素が分類されたクラスを示すクラスインデックスとをオフセット導出部６２６に供給する。
【０２０３】
（クラス分類部６２４の構成）
図８は、クラス分類部６２４の構成を示すブロック図である。
【０２０４】
図８に示すように、クラス分類部６２４は、適応的エッジオフセットクラス分類部６２４１、および、適応的バンドオフセットクラス分類部６２４４、から構成されている。また、適応的エッジオフセットクラス分類部６２４１は、使用エッジオフセットクラス選択部６２４２、およびエッジオフセットクラス分類部６２４３から構成され、適応的バンドオフセットクラス分類部６２４４は、使用バンドオフセットクラス・バンド幅選択部６２４５、およびバンドオフセットクラス分類部６２４６から構成されている。
【０２０５】
クラス分類部６２４は、パラメータ条件およびオフセットタイプに応じて、各画素をクラスに分類する。オフセットタイプがエッジオフセットを示す場合には、適応的エッジオフセットクラス分類部６２４１により画素を分類し、オフセットタイプがバンドオフセットの場合には、適応的バンドオフセットクラス分類部６２４４において、画素を分類する。
【０２０６】
適応的エッジオフセットクラス分類部６２４１は、パラメータ条件に応じて適応的に、画素をクラスに分類する手段であり、使用エッジオフセットクラス選択部６２４２とエッジオフセットクラス分類部６２４３とを備えている。
【０２０７】
使用エッジオフセットクラス選択部６２４２は、使用するクラスの種類を選択する。使用エッジオフセットクラス選択部６２４２は、画素の分類に用いるパラメータをエッジオフセットクラス分類部６２４３に入力する。具体的には、オフセットタイプおよびパラメータ条件に応じて選択したエッジクラス変換テーブルを入力する。パラメータ条件の一つは、画素の表す成分の種別であり、成分が輝度である場合と色差である場合それぞれに応じた変換テーブルを選択して入力する。
【０２０８】
エッジオフセットクラス分類部６２４３は、与えられたオフセットタイプに対応する参照画素と、エッジクラス変換テーブルに基づいて画素を分類する。なお、使用エッジオフセットクラス選択部６２４２は、オフセットタイプをエッジオフセットクラス分類部６２４３に入力する代わりに、参照画素の位置が特定できる別のパラメータを用いて入力してもよい。例えば、エッジオフセットＥＯ＿０〜ＥＯ＿３に対応づけられた他のインデクスや、処理対象画素と参照画素の相対座標を、入力として用いることができる。
【０２０９】
適応的バンドオフセットクラス分類部６２４４は、パラメータ条件に応じて適応的に、画素をクラスに分類する手段であり、使用バンドオフセットクラス・バンド幅選択部６２４５とバンドオフセットクラス分類部６２４６とを備えている。
【０２１０】
使用バンドオフセットクラス・バンド幅選択部６２４５は、画素値の分類に用いるパラメータをバンドオフセットクラス分類部６２４６に入力する。具体的には、バンド幅とバンドクラス変換テーブルを入力する。パラメータ条件の一つは画素の表す成分の種別であり、成分が輝度である場合と色差である場合それぞれに応じたバンドクラス変換テーブルを選択して入力する。
【０２１１】
バンドオフセットクラス分類部６２４６は、入力されたバンド幅とバンドクラス変換テーブルに応じて画素値をクラスに分類する。入力であるバンド幅は、バンド幅自体ではなく、バンド幅に対応する整数でも構わない。例えばバンド幅を２＾ＢＷＢｉｔとする場合、その２を底とする対数であるＢＷＢｉｔや、画素のビット深度からバンド幅に用いるビット数を求めるための値、例えば、ＢＷＢｉｔ＝ＰＩＣ＿ＤＥＰＴＨ−５であれば５を、バンド幅の代わりに用いても構わない。
【０２１２】
次に、クラス分類部６２４による分類処理について、図９および図１０を参照してさらに詳細に説明する。
【０２１３】
（エッジオフセットの場合）
オフセットタイプ導出部６２３から供給されるオフセットタイプが１〜４の何れかであれば、エッジオフセット処理が行われる。このときクラス分類部６２４は、処理対象の画素の近傍にエッジが存在するか否か、およびエッジが存在する場合にはエッジの種類を判定し、判定した結果に応じて、当該処理対象の画素を、複数のクラスの何れかに分類する。
【０２１４】
より具体的には、まず、クラス分類部６２４は、処理対象画素ｘのエッジ種別を表すＥｄｇｅＣｌａｓｓを導出する。ＥｄｇｅＣｌａｓｓは、オフセットのクラスインデックスｃｌａｓｓ＿ｉｄｘを導出するための中間値である。また、ＥｄｇｅＣｌａｓｓは、処理対象画素ｘの画素値ｐｉｘ［ｘ］と、該処理対象画素に隣接するか、または頂点を共有する２つの画素ａ、ｂの画素値ｐｉｘ［ａ］、ｐｉｘ［ｂ］とを用いて導出する。以降、ＥｄｇｅＣｌａｓｓを導出するために、処理対象画素とともに用いられる画素を参照画素と呼称する。また、何れの画素を参照画素するかは、オフセットタイプに依存する。図９（ａ）〜（ｄ）は、各エッジオフセットタイプにおける参照画素の位置を説明するための図であり、いずれも画素ｘが処理対象画素を示し、画素ａと画素ｂが参照画素を示す。
【０２１５】
・オフセットタイプＥＯ＿０（sao_type_idx＝１）のとき
図９（ａ）に示すように、処理対象画素ｘの左側に隣接する画素を画素ａとし、処理対象画素の右側に隣接する画素を画素ｂとする。
【０２１６】
・オフセットタイプＥＯ＿１（sao_type_idx＝２）のとき
図９（ｂ）に示すように、処理対象画素ｘの上側に隣接する画素を画素ａとし、処理対象画素の下側に隣接する画素を画素ｂとする。
【０２１７】
・オフセットタイプＥＯ＿２（sao_type_idx＝３）のとき
図９（ｃ）に示すように、処理対象画素ｘの左上の頂点を共有する画素を画素ａとし、処理対象画素の右下の頂点を共有する画素を画素ｂとする。
【０２１８】
・オフセットタイプＥＯ＿３（sao_type_idx＝４）のとき
図９（ｄ）に示すように、処理対象画素ｘの左下の頂点を共有する画素を画素ａとし、処理対象画素の右上の頂点を共有する画素を画素ｂとする。
【０２１９】
画素ａおよび画素ｂが定まれば、それらと処理対象画素ｘとの差分の符号
Ｓｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ａ］）、および
Ｓｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ｂ］）
を用いて、クラス分類部６２４は、エッジ種別ＥｄｇｅＣｌａｓｓを導出する。ここで、Ｓｉｇｎ（ｚ）は、
Ｓｉｇｎ（ｚ）＝＋１  （ｚ＞０のとき）
Ｓｉｇｎ（ｚ）＝０    （ｚ＝０のとき）
Ｓｉｇｎ（ｚ）＝−１  （ｚ＜０のとき）
の各値をとる関数である。図１０（ａ）は、図９に示す処理対象画素ｘの画素値（図中の白丸）と画素ａまたはｂの画素値（図中の黒丸）との大小関係を丸の高低で示す模式図、およびその大小関係に応じた関数Ｓｉｇｎの値を示している。よって、画素ｘの画素値ｐｉｘ［ｘ］と画素ｐ（ｐはａまたはｂ）の画素値ｐｉｘ［ｐ］との大小関係と関数Ｓｉｇｎの値との関係は、
ｐｉｘ［ｘ］＜ｐｉｘ［ｐ］の場合はＳｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ｐ］）＝−１、
ｐｉｘ［ｘ］＝ｐｉｘ［ｐ］の場合はＳｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ｐ］）＝０、
ｐｉｘ［ｘ］＞ｐｉｘ［ｐ］の場合はＳｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ｐ］）＝＋１、
となる。
【０２２０】
続いて、クラス分類部６２４は、Ｓｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ａ］）、およびＳｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ｂ］）に基づいて、次式によってＥｄｇｅＣｌａｓｓを導出する。
【０２２１】
ＥｄｇｅＣｌａｓｓ＝Ｓｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ａ］）＋Ｓｉｇｎ（ｐｉｘ［ｘ］−ｐｉｘ［ｂ］）＋２
図１０（ｂ）は、処理対象画素ｘの画素値と参照画素ａおよびｂの画素値の大小関係の種別の模式図および、各大小関係に応じたＥｄｇｅＣｌａｓｓ値を示している。図１０（ｂ）に示すように、
・画素値ｐｉｘ［ｘ］に対し、画素値ｐｉｘ［ａ］および画素値ｐｉｘ［ｂ］のいずれも大きい場合は、ＥｄｇｅＣｌａｓｓ＝０となる。
・画素値ｐｉｘ［ｘ］に対し、画素値ｐｉｘ［ａ］および画素値ｐｉｘ［ｂ］のうち、一方の画素値が大きく、他方の画素値が同じ場合は、ＥｄｇｅＣｌａｓｓ＝１となる。
・画素値ｐｉｘ［ｘ］に対し、画素値ｐｉｘ［ａ］および画素値ｐｉｘ［ｂ］のうち、一方の画素値が小さく、他方の画素値が同じ場合は、ＥｄｇｅＣｌａｓｓ＝３となる。
・画素値ｐｉｘ［ｘ］に対し、画素値ｐｉｘ［ａ］および画素値ｐｉｘ［ｂ］のいずれの画素値も小さい場合は、ＥｄｇｅＣｌａｓｓ＝４となる。
・画素値ｐｉｘ［ｘ］に対し、画素値ｐｉｘ［ａ］および画素値ｐｉｘ［ｂ］のうち、一方の画素値が小さく、他方の画素値が大きい場合、または、画素値ｐｉｘ［ｘ］に対し、画素値ｐｉｘ［ａ］および画素値ｐｉｘ［ｂ］のいずれの画素値も同じ場合は、ＥｄｇｅＣｌａｓｓ＝２となる。
【０２２２】
続いて、クラス分類部６２４は、導出したＥｄｇｅＣｌａｓｓに基づいて、処理対象画素ｘが属するべきクラスのクラスインデックス（class_idx）を以下のように導出する。
・処理対象画素が輝度画素である場合
ｃｌａｓｓ＿ｉｄｘ  ＝  ＥｏＴｂｌＹ[ＥｄｇｅＣｌａｓｓ]
・処理対象画素が色差画素である場合
ｃｌａｓｓ＿ｉｄｘ  ＝  ＥｏＴｂｌＣ[ＥｄｇｅＣｌａｓｓ]
ここで、ＥｏＴｂｌＹおよびＥｏＴｂｌＣは、ＥｄｇｅＣｌａｓｓからｃｌａｓｓ＿ｉｄｘを導出するための変換テーブルであり、以下ではエッジクラス変換テーブルと呼称する。ＥｏＴｂｌＹは輝度画素に対して用いられ、ＥｏＴｂｌＣは色差画素に対して用いられる。このように、クラス分類部６２４は、処理対象画素ｘの表す成分、すなわち輝度画素か色素画素かに応じてエッジクラス変換テーブルを使い分け、輝度画素と色差画素それぞれの特性に適応するように、各画素をクラスに分類する。
【０２２３】
次に、図１０（ｃ）、（ｄ）に、ＥｏＴｂｌＹおよびＥｏＴｂｌＣ（クラス分類方法）の具体例を示す。図１０（ｃ）の変換テーブル１００１Ａは、輝度画素に対して用いられるエッジクラス変換テーブルＥｏＴｂｌＹであり、ＥｄｇｅＣｌａｓｓ＝２の画素はクラス０と分類してオフセット処理をしない。
【０２２４】
図１０（ｄ）の変換テーブル１００１Ｂは、色差画素に対して用いられるエッジクラス変換テーブルＥｏＴｂｌＣであり、５種類のエッジ種別すべてに対してオフセット処理をする場合に用いられる。
【０２２５】
なお、ここでは画素の表す成分をパラメータ条件としてエッジクラス変換テーブルを切り替えたが、これ以外のパラメータ条件に応じて、エッジクラス変換テーブルを選択しても良い。パラメータ条件の他の例としては、分割深度（sao_depth）やＱＡＯＵサイズがある。具体例を挙げれば、分割深度が閾値以上の場合にのみ、上記のように輝度画素にはエッジクラス変換テーブル１００１Ａを、色差画素にはエッジクラス変換テーブル１００１Ｂを用い、それ以外の場合には共通のエッジクラス変換テーブルとして１００１Ａを用いることができる。また別の例としては、ＱＡＯＵサイズが閾値未満の場合にのみ、輝度画素にはエッジクラス変換テーブル１００１Ａを、色差画素にはエッジクラス変換テーブル１００１Ｂを用い、それ以外の場合には共通のエッジクラス変換テーブルとして１００１Ａを用いることができる。
【０２２６】
（バンドオフセットの場合）
オフセットタイプ導出部６２３から供給されるオフセットタイプが５または６であればバンドオフセット処理が行われる。このとき、クラス分類部６２４は、処理対象画素ｘの画素値ｐｉｘ［ｘ］に応じて、当該処理対象画素の画素値を複数のクラスの何れかに分類する。本実施形態では、色差画素の画素値の特性を利用するため、輝度画素と色差画素では異なる分類が用いられる。なお、以下で用いる数ｍａｘは、処理対象画素ｘの画素値の取り得る最大値を表しており、例えば８ビットの符号なし整数で表現される画素であれば、最大画素値ｍａｘ＝２５５である。また、便宜上、ｍａｘ１＝ｍａｘ＋１とする。さらに、“／”による除算の余りは切り捨てとする。
【０２２７】
バンドオフセット処理について、図１１および図１２を用いて説明する。
【０２２８】
図１１は、適応オフセットフィルタ６０によるオフセット処理を説明するための図である。それぞれ、
（ａ）処理対象画素ｘが輝度画素かつオフセットタイプＢＯ＿０（sao_type_idx＝５）
（ｂ）処理対象画素ｘが輝度画素かつオフセットタイプＢＯ＿１（sao_type_idx＝６）
（ｃ）処理対象画素ｘが色差画素かつオフセットタイプＢＯ＿０（sao_type_idx＝５）
（ｄ）処理対象画素ｘが色差画素かつオフセットタイプＢＯ＿１（sao_type_idx＝６）
であるときのクラス分類を概略的に示している。いずれも、斜線が付されていない値域は画素ｘがクラス０に分類されることを示し、斜線が付された値域はクラス０以外であること示す。（ａ）〜（ｄ）それぞれの場合について詳細に説明すれば、以下の通りである。
（ａ）処理対象画素ｘが輝度画素かつオフセットタイプＢＯ＿０（sao_type_idx＝５）のとき、クラス分類部６２４は、処理対象画素ｘの画素値ｐｉｘ［ｘ］が、
（ｍａｘ１×１／４）≦ｐｉｘ［ｘ］＜（ｍａｘ１×３／４）          （式Ｅ１）
を満たしている場合に、当該処理対象画素をクラス０以外のクラスに分類する。すなわち、処理対象画素の画素値が、図１１（ａ）における斜線の範囲内である場合に、当該処理対象画素をクラス０以外のクラスに分類する。
（ｂ）処理対象画素ｘが輝度画素かつオフセットタイプＢＯ＿１（sao_type_idx＝６）のとき、クラス分類部６２４は、処理対象画素ｘの画素値ｐｉｘ［ｘ］が、
ｐｉｘ［ｘ］＜（ｍａｘ１×１／４）または（ｍａｘ１×３／４）≦ｐｉｘ［ｘ］
（式Ｅ２）
を満たしている場合に、当該処理対象画素をクラス０以外のクラスに分類する。すなわち、処理対象画素の画素値が、図１１（ｂ）における斜線の範囲内である場合に、当該処理対象画素をクラス０以外のクラスに分類する。
（ｃ）処理対象画素ｘが色差画素かつオフセットタイプＢＯ＿０（sao_type_idx＝５）のとき、クラス分類部６２４は、処理対象画素ｘの画素値ｐｉｘ［ｘ］が、
（ｍａｘ１×４／３２）≦ｐｉｘ［ｘ］＜（ｍａｘ１×２０／３２）    （式Ｅ３）
を満たしている場合に、当該処理対象画素をクラス０以外のクラスに分類する。すなわち、処理対象画素の画素値が、図１１（ｃ）における斜線の範囲内である場合に、当該処理対象画素をクラス０以外のクラスに分類する。
（ｄ）処理対象画素ｘが色差画素かつオフセットタイプＢＯ＿１（sao_type_idx＝６）のとき、クラス分類部６２４は、処理対象画素ｘの画素値ｐｉｘ［ｘ］が、
（ｍａｘ１×１２／３２）≦ｐｉｘ［ｘ］＜（ｍａｘ１×２８／３２）  （式Ｅ４）
を満たしている場合に、当該処理対象画素をクラス０以外のクラスに分類する。すなわち、処理対象画素の画素値が、図１１（ｄ）における斜線の範囲内である場合に、当該処理対象画素をクラス０以外のクラスに分類する。
【０２２９】
なお、ｍａｘ＝２５５であるとき、上記の条件（式Ｅ１）〜(式Ｅ４)は、ｐｉｘ［ｘ］を量子化幅８で量子化し、それぞれ
（式Ｅ１）    ８≦（ｐｉｘ［ｘ］／８）≦２３
（式Ｅ２）        （ｐｉｘ［ｘ］／８）≦７  または  ２４≦（ｐｉｘ［ｘ］／８）
（式Ｅ３）    ４≦（ｐｉｘ［ｘ］／８）≦１９
（式Ｅ４）  １２≦（ｐｉｘ［ｘ］／８）≦２７
と表現することもできるし、量子化幅１６を用いてそれぞれ、
（式Ｅ１）  ４≦（ｐｉｘ［ｘ］／１６）≦１１
（式Ｅ２）      （ｐｉｘ［ｘ］／１６）≦３  または  １２≦（ｐｉｘ［ｘ］／１６）
（式Ｅ３）  ２≦（ｐｉｘ［ｘ］／１６）≦９
（式Ｅ４）  ６≦（ｐｉｘ［ｘ］／１６）≦１３
と表現することもできる。
【０２３０】
クラス分類部６２４によるクラス分類処理をより詳細に説明すれば以下の通りである。
【０２３１】
オフセットタイプがＢＯ＿０かＢＯ＿１の何れかであるとき、クラス分類部６２４は、処理対象画素ｘが属するべきクラスのクラスインデックス（ｃｌａｓｓ＿ｉｄｘ）を、処理対象画素ｘの表す画素の成分、画素値の値域（バンド）を表すバンドインデックス（ｂａｎｄ＿ｉｄｘ）、およびオフセットタイプ（ｓａｏ＿ｔｙｐｅ＿ｉｄｘ）に応じて、次のように導出する。
・処理対象画素が輝度画素である場合
ｃｌａｓｓ＿ｉｄｘ
＝  ＢｏＴｂｌＹ[ｓａｏ＿ｔｙｐｅ＿ｉｄｘ][ｂａｎｄ＿ｉｄｘ]
・処理対象画素が色差画素である場合
ｃｌａｓｓ＿ｉｄｘ
＝  ＢｏＴｂｌＣ[ｓａｏ＿ｔｙｐｅ＿ｉｄｘ][ｂａｎｄ＿ｉｄｘ]
ここで、ＢｏＴｂｌＹおよびＢｏＴｂｌＣは、ｂａｎｄ＿ｉｄｘとｓａｏ＿ｔｙｐｅ＿ｉｄｘとから、ｃｌａｓｓ＿ｉｄｘを導出するために用いられる変換テーブルであり、以下ではバンドクラス変換テーブルと呼ぶ。ＢｏＴｂｌＹは輝度画素に対して用いられ、ＢｏＴｂｌＣは色差画素に対して用いられる。このように、クラス分類部６２４は、処理対象画素ｘの表す成分、すなわち輝度画素か色差画素かに応じてバンドクラス変換テーブルを使い分け、輝度画素と色差画素それぞれの特性に適応するように、各画素値をクラスに分類する。すなわち、ｂａｎｄ＿ｉｄｘからｃｌａｓｓ＿ｉｄｘへの変換が行われる。
【０２３２】
なお、ここでｂａｎｄ＿ｉｄｘは次式
ｂａｎｄ＿ｉｄｘ  ＝  ｐｉｘ［ｘ］＞＞ＢＷＢｉｔ
（“＞＞”は右シフト演算）
で導出される。ＢＷＢｉｔは、画像ビット深度をＰＩＣ＿ＤＥＰＴＨとする場合に、各々ＰＩＣ＿ＤＥＰＴＨ−ＢＷＢｉｔで導出される値であり、画素値を２ＢＷＢｉｔ段階の値に量子化する。ＢＷＢｉｔで右シフトすることは、（１＜＜ＢＷＢｉｔ）で除算することに対応する（“＜＜”は左シフト演算）。例えば、ＢＷＢｉｔ＝３であれば、ＢＷＢｉｔで右シフトすることは、８での除算に対応し、各画素値の量子化幅（バンド幅）が８であることを意味する。このときＰＩＣ＿ＤＥＰＴＨ＝８であれば、ｂａｎｄ＿ｉｄｘで示されるバンドの数は２８／２３＝３２種類となる。
【０２３３】
続いて、輝度と色差とで、異なる量子化幅を用いる場合を説明する。図３８は、輝度および色差のｂａｎｄ＿ｉｄｘの算出方法を示す図である。図３８（ａ）に示すように輝度のバンドインデックスｂａｎｄ＿ｉｄｘ＿Ｙは、以下の式で算出する。
【０２３４】
ＢＷＢｉｔＹ＝BitDepthＹ - 5
ｂａｎｄ＿ｉｄｘ＿Ｙ  ＝  ｐｉｘ［ｘ］＞＞ＢＷＢｉｔＹ
ここで、BitDepthＹは輝度の画像ビット深度ＰＩＣ＿ＤＥＰＴＨである。輝度のシフト値ＢＷＢｉｔＹは輝度のビット深度から所定の定数ＮＹ（ここでは５）を引くことによって算出される。
【０２３５】
図３８（ｂ）に示すように色差のバンドインデックスｂａｎｄ＿ｉｄｘ＿Ｃは、以下の式で算出する。
【０２３６】
ＢＷＢｉｔＣ＝BitDepthＣ - 6
ｂａｎｄ＿ｉｄｘ＿Ｃ  ＝  ｐｉｘ［ｘ］＞＞ＢＷＢｉｔＣ
ここで、BitDepthＣは色差の画像ビット深度ＰＩＣ＿ＤＥＰＴＨである。輝度のシフト値ＢＷＢｉｔＹは輝度のビット深度から所定の定数ＮＣ（ここでは６）を引くことによって算出される。
【０２３７】
上記の算出方法によると、色差のバンド幅の方が、輝度のバンド幅よりも狭い。色差のヒストグラムを観察すると、輝度のヒストグラムと比較して、狭い値の範囲に画素値が集中していることが多い。そのため、色差を効率的に分類するためには、狭いバンド幅を用いて画素値を分類することが有効である。このとき、輝度は３２段階、色差は６４段階に量子化される。すなわち、輝度をＮ１段階、色差をＮ２段階に量子化するとすれば、上記処理は、Ｎ２＞Ｎ１となるように量子化を行う。
【０２３８】
以上のように、色差のシフト値ＢＷＢｉｔＣおよび輝度のシフト値ＢＷＢｉｔＹの算出において、色差のシフト値の算出に用いる所定の定数ＮＣの方が、輝度のシフト値の算出に用いる所定の定数ＮＹよりも大きな値を用いることにより、輝度よりも色差の方が狭いバンド幅を用いることになる。これにより、輝度よりも色差の方が多くの段階に分解され、狭い帯域に集中する色差を好適に分類することができる。すなわち、比較的多くのバンドに分解することができる。これにより輝度の量子化と、色差の量子化を同じ方法で行う場合に比べ符号化効率を向上させることができる。
【０２３９】
次に、バンドクラス変換テーブルＢｏＴｂｌＹおよびＢｏＴｂｌＣ（クラス分類方法）の具体例を図１２に示す。図１２（ａ）、（ｂ）それぞれにおいて、「ＢＯ＿０」は、sao_type_idx＝５であることを示しており、「ＢＯ＿１」は、sao_type_idx＝６であることを示している。図１２（ａ）のバンドクラス変換テーブル１３０１は、処理対象画素ｘが輝度画素である場合に用いられる変換テーブルであり、図１２（ｂ）のバンドクラス変換テーブル１３０２は、処理対象画素ｘが色差画素である場合に用いられる変換テーブルである。
【０２４０】
処理対象が輝度画素かつsao_type_idx＝５（ＢＯ＿０）のとき、図１２（ａ）の中段に示すように、クラス分類部６２４は、バンドインデックスｂａｎｄ＿ｉｄｘが
８≦ｂａｎｄ＿ｉｄｘ≦２３
を満たすｂａｎｄ＿ｉｄｘに属する処理対象画素ｘについて、ｂａｎｄ＿ｉｄｘの値に応じてクラスインデックス１から１６までの何れかのクラスに分類する。
【０２４１】
また、処理対象が輝度画素かつsao_type_idx＝６（ＢＯ＿１）のとき、図１２（ａ）の下段に示すように、クラス分類部６２４は、バンドインデックスｂａｎｄ＿ｉｄｘが
ｂａｎｄ＿ｉｄｘ≦７  または  ２４≦ｂａｎｄ＿ｉｄｘ
を満たすｂａｎｄ＿ｉｄｘに属する処理対象画素ｘについて、ｂａｎｄ＿ｉｄｘの値に応じてクラスインデックス１から１６までの何れかのクラスに分類する。
【０２４２】
処理対象が色差画素かつsao_type_idx＝５（ＢＯ＿０）のとき、図１２（ｂ）の中段に示すように、クラス分類部６２４は、バンドインデックスｂａｎｄ＿ｉｄｘが
４≦ｂａｎｄ＿ｉｄｘ≦１９
を満たすｂａｎｄ＿ｉｄｘに属する処理対象画素ｘについて、ｂａｎｄ＿ｉｄｘの値に応じてクラスインデックス１から１６までの何れかのクラスに分類する。
【０２４３】
また、処理対象が色差画素かつsao_type_idx＝６（ＢＯ＿１）のとき、図１２（ｂ）の下段に示すように、クラス分類部６２４は、バンドインデックスｂａｎｄ＿ｉｄｘが１２≦ｂａｎｄ＿ｉｄｘ≦２７を満たすｂａｎｄ＿ｉｄｘに属する処理対象画素ｘについて、ｂａｎｄ＿ｉｄｘの値に応じてクラスインデックス１から１６までの何れかのクラスに分類する。
【０２４４】
図１２（ｃ）および図１２（ｄ）は、バンドクラス変換テーブルＢｏＴｂｌＣの、別の例である。
【０２４５】
図１２（ｂ）に示すバンドクラス変換テーブル１３０２、および図１２（ｃ）に示すバンドクラス変換テーブル１３０３では、ＢＯ＿０とＢＯ＿１のどちらでもオフセット処理が行われるバンド（２つのタイプで重複するバンド）が存在するが、バンドクラス変換テーブル１３０２とバンドクラス変換テーブル１３０３とでは、重複するバンド数が異なる。
【０２４６】
また、図１２（ｂ）に示すバンドクラス変換テーブル１３０２、および図１２（ｃ）に示すバンドクラス変換テーブル１３０３では、画素値０付近と画素値ｍａｘ付近のいくつかのバンドが、オフセット処理を行わないことを意味するクラス０に常に分類されているが、図１２（ｄ）に示すバンドクラス変換テーブル１３０４では、全てのバンドがＢＯ＿０またはＢＯ＿１の何れかでオフセット処理が行われるようにしている。
【０２４７】
図１２（ｄ）に示すバンドクラス変換テーブル１３０４は、複数のバンドを１つのクラスに分類する例でもあり、色差の各色の中間階調部分について、２バンドを１クラスに分類している。ここでは各色の中間階調部分について２バンドを１クラスに分類する例を示したが、画素値０や画素値ｍａｘ付近のバンドを１クラスに分類してもよい。また、３個以上のバンドを１クラスに分類してもよい。
【０２４８】
色差画像においては、画素値の中央付近、すなわち無彩色およびそれに近い画素値を含むバンドの出現頻度が高い。したがって、当該バンドをオフセット補正することは主観画質の向上にも有効である。そこで、図１２（ｂ）、（ｃ）、（ｄ）に示すバンドクラス変換テーブル１３０２、１３０３、１３０４のように、無彩色付近のバンドを複数のタイプ何れにおいてもオフセット処理するようにすることで、何れのタイプが選択されても当該バンドはオフセット処理の効果を得ることが可能となる。これにより、符号化効率や主観画質を向上させることができる。なお、これは色差画像における無彩色値域に限られず、主観画質上あるいは符号化効率上で重要な画素値域が無彩色およびその付近同様に決定できるのであれば、上記の無彩色の場合と同様に当該値域を複数のタイプでオフセット処理する構成であってもよい。
【０２４９】
なお、ここでは画素の表す成分をパラメータ条件としてバンドクラス変換テーブルを切り替えたが、これ以外のパラメータ条件に応じて、バンドクラス変換テーブルを選択しても良い。パラメータ条件の他の例としては、分割深度（sao_depth）やＱＡＯＵサイズが挙げられる。例えば、分割深度が閾値以上の場合にのみ、輝度画素と色差画素とで異なるバンドクラス変換テーブルを用い、それ以外の場合には共通のバンドクラス変換テーブルを用いることができる。また別の例では、ＱＡＯＵサイズが閾値未満の場合にのみ、輝度画素と色差画素とで異なるバンドクラス変換テーブルを用い、それ以外の場合には共通のバンドクラス変換テーブルを用いることができる。
【０２５０】
オフセット属性設定部６２５は、オフセットのシフト値（ＯＦＦＳＥＴ＿ＳＨＩＦＴ）を決定し、オフセット導出部に出力する。符号化データのオフセットは、画素ビット深度（ＰＩＣ＿ＤＥＰＴＨとも呼称する）よりも精度の低い、オフセットのビット深度（ＯＦＦＳＥＴ＿ＤＥＰＴＨとも呼称する）で符号化される。すなわち、符号化データ中のオフセットは、量子化されており、シフト値とは、逆量子化を行うために必要なビットシフト量を示している。また、オフセット属性設定部６２５は、オフセットのビット深度とオフセットの値域とを決定する。ここでは、オフセットのビット深度は、オフセット属性設定部６２５に入力される図示されない画素ビット深度から決定する。画素ビット深度とは、適応オフセットフィルタ６０の入力画像を構成する画素値の値域をビット幅で示すものであり、画素ビット深度がＮビットのとき、画素値は０から(２＾Ｎ)−１の範囲を取る。
【０２５１】
ＳＡＯのオフセットのビット深度およびシフト値の導出には以下の式を用いる。なお、パラメータ条件に基づいて他の値を用いるようにしても良い。
【０２５２】
ＯＦＦＳＥＴ＿ＤＥＰＴＨ  ＝  ＭＩＮ（ＰＩＣ＿ＤＥＰＴＨ，１０）
ＯＦＦＳＥＴ＿ＳＨＩＦＴ  ＝  ＰＩＣ＿ＤＥＰＴＨ―ＯＦＦＳＥＴ＿ＤＥＰＴＨ
上記の式によれば、例えば、ＰＩＣ＿ＤＥＰＴＨが８ビットの場合には、ＯＦＦＳＥＴ＿ＤＥＰＴＨは４ビットであり、ＰＩＣ＿ＤＥＰＴＨが１０ビットの場合には、ＯＦＦＳＥＴ＿ＤＥＰＴＨは６ビットである。
【０２５３】
オフセット導出部６２６は、オフセット情報格納部６２１のリストメモリを参照し、対象ＱＡＯＵに含まれる各画素について、クラス分類部６２４から供給されるオフセットタイプおよびクラスインデックスによって指定されるオフセットを導出する。さらに、オフセット導出部６２６は、オフセット逆量子化部（不図示）を備える。オフセット逆量子化部は、オフセットのビット深度と画素ビット深度とを合わせるように、オフセット属性設定部６２５によって設定されたシフト値だけオフセットを左ビットシフトすなわち逆量子化を行う。このような逆量子化を行うことで、後述するオフセット加算部６２７の加算処理において、同一のビット深度にて、画素値とオフセットの加算を行うことが可能である。各画素について逆量子化したオフセットは、オフセット加算部６２７に供給される。
【０２５４】
図２５は、オフセット加算部６２７の構成を示すブロック図である。オフセット加算部６２７は加算部６２７１およびクリップ部６７７２を含む。加算部６２７１は、対象ＱＡＯＵにおけるデブロック済復号画像Ｐ＿ＤＢの各画素に対して、オフセット導出部６２６から供給されるオフセットを加算する。クリップ部６２７２は、加算部６２７１が出力する結果を、画素ビット深度で表現可能な値に収まるようにクリップ処理をする。なお、クリップ処理とは、任意の値を、所定の値域に包含される値に変換する処理である。ここで、オフセット加算におけるクリップ処理の必要性について、図２７を用いて説明する。図２７において、（ａ）は、オフセットの値域が−Ｑ０〜＋Ｑ１である場合を表している。オフセットの値域の幅（ＯＦＦＳＥＴ＿ＲＡＮＧＥ（range of offset value）とも呼称する）は、ＯＦＦＳＥＴ＿ＤＥＰＴＨに基づいて決定され、その値は以下の式で表される。なお、Ｄはオフセット精度からオフセットの値域を求めるための差分値を表す項であり、本実施形態においては、Ｄ＝４を用いる。
【０２５５】
ＯＦＦＳＥＴ＿ＲＡＮＧＥ＝ＯＦＦＳＥＴ＿ＤＥＰＴＨ−Ｄ
上記の式によれば、例えば、ＯＦＦＳＥＴ＿ＤＥＰＴＨが８ビットの場合、ＯＦＦＳＥＴ＿ＲＡＮＧＥは４ビットであり、正負の範囲を対称にとれば、オフセットの値域は−８〜７である。すなわち、Ｑ０＝８，Ｑ１＝７  である。
【０２５６】
図２７（ｂ）は、画素値（pixel value）の範囲を０〜ｍａｘで示す数直線であり、オフセット加算後の値が画素値の下限０を下回る場合があることを示している。図２７（ｃ）は、同じく画素値の範囲を０〜ｍａｘで示す数直線であり、オフセット加算後の値が画素値の上限ｍａｘを超える場合があることを示している。図２７の（ｂ）および（ｃ）に示したように、オフセットの加算によって画素値が所定の範囲を超える場合があるため、クリップ処理が必要とされる。例えば、画素ビット深度がＮビットの場合は、画素値の値域は０〜（２＾Ｎ）−１であり、オフセット加算後の値がこの範囲内に収まるように、クリップ処理を行う必要がある。なお、図２５では、加算部とクリップ部とを別々の構成として表したが、これらの代わりに、演算とクリップ処理とが一体となった飽和演算を用いた飽和演算部（不図示）を用いる構成としてもよい。
オフセット加算部６２７は、デブロック済復号画像Ｐ＿ＤＢに含まれる全てのＱＡＯＵを処理して得られる画像を、オフセットフィルタ済復号画像Ｐ＿ＯＦとして出力する。
【０２５７】
次に、適応オフセットフィルタ処理部６２における処理の流れについて、図１３を参照して説明する。図１３は、適応オフセットフィルタ処理部６２による処理の流れを示すフローチャートである。
【０２５８】
（ステップＳ１０１）
まず、ＱＡＯＵ制御部６２２は、オフセット情報格納部６２１からＱＡＯＵ構造情報を取得する。
【０２５９】
（ステップＳ１０２）
続いて、ＱＡＯＵ制御部６２２は、処理対象とする対象ＱＡＯＭＵのＱＡＯＭＵ番号をループ変数とする第１のループを開始する。
【０２６０】
（ステップＳ１０３）
ＱＡＯＵ制御部６２２は、オフセットタイプ導出部６２３にＱＡＯＭＵ番号を供給する。オフセットタイプ導出部６２３は、ＱＡＯＵ制御部６２２から供給されたＱＡＯＭＵ番号によって指定されるオフセットタイプを、オフセット情報格納部６２１のマップメモリおよびリストメモリから読み出す。また、オフセットタイプ導出部６２３は、読み出したオフセットタイプを、クラス分類部６２４に供給する。
【０２６１】
（ステップＳ１０４）
ＱＡＯＵ制御部６２２は、オフセットタイプ導出部６２３が読み出したオフセットタイプが「０」（“sao_type_idx”＝０）であったとき（ステップＳ１０４でＹＥＳ）、ＱＡＯＵ制御部６２２は、処理対象のＱＡＯＭＵの全画素に対してオフセットを加算しないようオフセット加算部６２７を制御し、ステップＳ１１１から処理を続行する。
【０２６２】
（ステップＳ１０５）
ＱＡＯＵ制御部６２２は、オフセットタイプ導出部６２３が読み出したオフセットタイプが「０」（“sao_type_idx”＝０）ではなかったとき（ステップＳ１０４でＮＯ）、続いて、対象ＱＡＯＭＵに含まれる各画素の画素番号をループ変数とする第２のループを開始する。ここで、画素番号とは、対象ＱＡＯＭＵに含まれる画素を互いに識別するためのものであって、例えば、対象ＱＡＯＭＵに含まれる各画素に対して、所定のスキャン順に付されたものである。また、そのような画素番号に代えて、対象ＱＡＯＭＵに含まれる各画素のｘ座標およびｙ座標をループ変数としてもよい。
【０２６３】
（ステップＳ１０６）
続いて、クラス分類部６２４は、処理対象の画素を、オフセットタイプ導出部６２３から供給されるオフセットタイプにおいて選択可能な複数のクラスの何れかに分類する。また、当該オフセットタイプと、処理対象の画素が分類されたクラスを示すクラスインデックスとをオフセット導出部６２６に供給する。
【０２６４】
（ステップＳ１０７）
ＱＡＯＵ制御部６２２は、対象画素の分類結果がクラス０（“class_idx”＝０）であったとき（ステップＳ１０７でＹＥＳ）、該対象画素に対しては、オフセットを加算しないようオフセット加算部６２７を制御し、ステップＳ１１０から処理を続行する。
【０２６５】
（ステップＳ１０８）
対象画素の分類結果がクラス０（“class_idx”＝０）ではなかったとき（ステップＳ１０７でＮＯ）、続いて、オフセット導出部６２６は、処理対象の画素に対して加算すべきオフセットをオフセット情報格納部６２１から読み出す。すなわち、クラス分類部６２４から供給されるオフセットタイプおよびクラスインデックスによって指定されるオフセットを読み出す。
【０２６６】
（ステップＳ１０９）
続いて、オフセット加算部６２７は、デブロック済復号画像Ｐ＿ＤＢの処理対象画素の画素値に対して、オフセット導出部６２６から供給されるオフセットを加算する。
【０２６７】
（ステップＳ１１０）
本ステップは、第２のループの終端である。
【０２６８】
（ステップＳ１１１）
本ステップは、第１のループの終端である。
【０２６９】
以上が、適応オフセットフィルタ処理部６２における処理の流れである。
【０２７０】
（バンドオフセットの他のタイプ構成例）
ここで、バンドオフセットの他のタイプ構成例を、図３１〜３７を用いて説明する。
【０２７１】
図３１（ａ）〜（ｃ）、図３２（ａ）、（ｂ）は、いずれも、それぞれ０を除く８つのクラスを含む２個のバンドオフセットタイプを構成するための、バンドクラス変換テーブルの具体例である。各例とも、画素値の値域を３２バンドに分割していくつかのクラスに対応づける点では図１２で示した例と同様であるが、バンドとクラスの対応付けの方法において異なる。
【０２７２】
図３１（ａ）に示すバンドクラス変換テーブル３１０１においては、タイプＢＯ＿０では各バンドを８個の有効クラスに対応づける。タイプＢＯ＿１は、中央付近のバンドを８個の有効クラスと１個の無効クラスに対応づける。分割深度が小さいＱＡＯＵは面積が広いために画素値の分布も幅広くなる傾向が強い。この場合でも、タイプＢＯ＿０では多くのバンド（この例では全バンド）がいずれかのクラスに対応づけられることから、画素値の分布が幅広い場合であっても、多くの画素に対してオフセット処理適用が可能であるという利点を持つ。一方、タイプＢＯ＿１は、色差の画素値をはじめとした中央付近の画素値が多い場合に効果が高くなる。
【０２７３】
図３１（ｂ）に示すバンドクラス変換テーブル３１０２は、（ａ）で示したバンドクラス変換テーブル３１０１よりも、より中央に近い画素値を重視した例である。タイプＢＯ＿０は（ａ）と同様であるが、タイプＢＯ＿１は（ａ）の半分の幅であり、１バンドが１クラスに対応付けられている。これにより、中央付近の画素値の出現頻度が高い場合には、より精度の高いオフセット処理が適用できる。したがって、色差に対しては特に効果的である。
【０２７４】
図３１（ｃ）に示すバンドクラス変換テーブル３１０３は、中央付近の画素値に対してさらに重点的にオフセット処理を適用する例である。対応するバンド幅の異なるＢＯ＿０およびＢＯ＿１を併用することによって、中央付近に画素値が集中する場合であっても、画素値の集中の度合いに応じてタイプを切り替えて、適切にオフセット処理を適用できる。
【０２７５】
図３２（ａ）に示すバンドクラス変換テーブル３２０１は、隣接しない画素値のバンドに同一のクラスを対応付ける例である。特に色差画像においては、画素値の分布は集中する傾向にあり、これはＱＡＯＵが小さくなるほど顕著である。このとき、大きく異なる画素値が同時にＱＡＯＵ内に出現する頻度は低い。したがって、バンドクラス変換テーブル３２０１に示すように大きく異なる画素値を表す複数バンドを同一クラスに対応づけても、実質的にはいずれか一方のバンドにのみオフセット処理をしている場合が多い。このように、大きく異なる画素値を表す複数バンドを同一クラスに対応づけることで、単一のオフセットタイプながら複数の画素値分布に適応することができる。
【０２７６】
図３２（ｂ）に示すバンドクラス変換テーブル３２０２は、バンドクラス変換テーブル３２０１で示した例と同様に複数バンドを同一クラスに対応づける例であるが、中央付近の画素値に対する精度を上げる場合の例である。
【０２７７】
図３３（ａ）、（ｂ）、図３４（ａ）、（ｂ）、図３５（ａ）、（ｂ）、図３６、および図３７は、いずれも、それぞれ無効クラス（クラス０）を除く８つの有効クラスを含む４個のバンドオフセットタイプを構成するための、バンドクラス変換テーブルの具体例である。各例とも、画素値の値域を３２バンドに分割していくつかのクラスに対応づける点では図１２で示した例と同様であるが、バンドとクラスの対応付けの方法において異なり、また、バンドオフセットタイプの種類を４個としている。
【０２７８】
図３３（ａ）に示すバンドクラス変換テーブル３３０１は、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、中央部の広帯域、低画素値域および高画素値域、第１の中間調の狭帯域、第２の中間調の狭帯域に割り当てた例である。なお、以下では、「広帯域」とは、各タイプが含む有効クラスが、より多いバンド（例えばバンド半数以上とし、図３３〜３６では１６以上のバンド）を含むことを指し、「狭帯域」とは、より少ないバンド（例えば半数未満のバンドとし、図３３〜３６では１６未満のバンド）を含むことを指す。また、「低画素値域および高画素値域」は、輝度画素においては暗部または明部の画素値を意味し、色差画素においては、彩度の高い画素値を意味する。（ａ）に示すバンドクラス変換テーブル３３０１のタイプ構成によれば、タイプＢＯ＿０で中央付近の広い範囲に対応し、タイプＢＯ＿１で暗部と明部の領域または高彩度領域、タイプＢＯ＿２で中間調の低画素値側、ＢＯ＿３で中間調の高画素値側にそれぞれ対応している。ＢＯ＿２およびＢＯ＿３は、色差の画素値が緑や赤といった一色に集中する場合に適応したタイプである。
【０２７９】
図３３（ｂ）に示すバンドクラス変換テーブル３３０２は、（ａ）に示すバンドクラス変換テーブル３３０１と同様に、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、中央部の広帯域、低画素値域および高画素値域、第１の中間調の狭帯域、第２の中間調の狭帯域に割り当てた例である。バンドクラス変換テーブル３３０１との違いはタイプＢＯ＿０のみである。（ｂ）に示すバンドクラス変換テーブル３３０２のタイプ構成によれば、タイプＢＯ＿０を用いて、中央付近のオフセット補正性能を維持しながら、（ａ）に示すバンドクラス変換テーブル３３０１よりも広帯域の画素値分布に対応することが可能である。
【０２８０】
図３４（ａ）に示すバンドクラス変換テーブル３４０１は、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、広帯域、低画素値域および高画素値域、第１の中間調の狭帯域、第２の中間調の狭帯域に割り当てた例である。図３３（ａ）に示すバンドクラス変換テーブル３３０１および図３３（ｂ）に示すバンドクラス変換テーブル３３０２との違いはタイプＢＯ＿０のみである。図３４（ａ）に示すバンドクラス変換テーブル３４０１のタイプ構成によれば、タイプＢＯ＿０によって大きなＱＡＯＵなどで画素値が値域全体にわたって出現する場合に対応できる。さらに、タイプＢＯ＿０では、クラス２，３，２８，２９を無効クラスとしている。映像データの規格によっては、画素値の値域が８ｂｉｔで０〜２５５であっても、使用できる画素値の範囲が、輝度で１６〜２３５，色差で１６〜２４０と定められている場合がある。このような場合、予測誤差等により、値域内ながら前記範囲外の値となった画素値に対しては、オフセット加算による補正効果が高い。バンドクラス変換テーブル３４０１のタイプＢＯ＿０では、前記範囲内の両端付近にあたるクラス２，３，２８，２９を無効クラスとするとで、オフセット加算によって画素値が範囲外となることを防ぎ、範囲外にあたるクラス０，１，３０，３１については有効クラスとすることで、オフセット加算により範囲内の値へと補正される効果を奏する。
【０２８１】
図３４（ｂ）に示すバンドクラス変換テーブル３４０２は、図３４（ａ）に示すバンドクラス変換テーブル３４０１と同様に、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、全帯域、中央部の広帯域、低画素値域、高画素値域に割り当てた例である。ただしバンドクラス変換テーブル３４０２のタイプ構成によれば、タイプＢＯ＿２およびタイプＢＯ＿３の対応する帯域が広くとられており、画素値がより広く分布する画像に適している。
【０２８２】
図３５（ａ）に示すバンドクラス変換テーブル３５０１は、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、全帯域、中央部の狭帯域、低画素値域、高画素値域に割り当てた例である。図３４（ｂ）に示すバンドクラス変換テーブル３４０２とは、タイプＢＯ＿１の割り当てにおいてのみ異なる。バンドクラス変換テーブル３５０１のタイプ構成によれば、タイプＢＯ＿１によって中央部をより高い精度で補正することができ、中央に画素値が集中する画像に適している。
【０２８３】
図３５（ｂ）に示すバンドクラス変換テーブル３５０２は、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、中央部の広帯域、低画素値域および高画素値域、低画素値域、高画素値域に割り当てた例である。各帯域に均等にタイプを適応させることにより、画素値の分布がどの帯域に集中しても適応が容易である。
【０２８４】
図３６に示すバンドクラス変換テーブル３６０１は、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、全帯域、低画素値域および高画素値域、中央部の広帯域、中央部の狭帯域に割り当てた例である。中央部に適応するタイプを２種類設け、中央部を重点的に補正することが可能である。
【０２８５】
以上の具体例で示したオフセットタイプは、本実施形態の他のオフセットタイプに追加あるいは交換して用いることができる。その場合、オフセットタイプを指定するsao_type_idxのとりうる値は、オフセットの総数に合わせて設定される。クラスを指定するためのインデックスclass_idxの範囲は、クラス数が８個であることから０〜７となる。
【０２８６】
また、以上の具体例は、輝度のみあるいは色差のみに選択的に用いてもよいし、輝度と色差とで共通に用いてもよい。特に、図３３〜３６を参照して説明したように、２個よりも多いオフセットタイプを用いるタイプ構成であれば、輝度や色差の画素値の特性に適したタイプをともに有しているため、輝度と色差でタイプ構成を切り替えることなく、最も効果の高いオフセットタイプを用いることができる。
【０２８７】
また、以上の各具体例においては、複数のタイプが同一のバンドのオフセット処理に対応している場合がある。例えば、図３６に示すバンドクラス変換テーブル３６０１の例では、中央の８バンドは、タイプＢＯ＿０，ＢＯ＿２およびＢＯ＿３のいずれによってもオフセット処理される。また、このような重複は中央のバンドに限らず、図３３（ｂ）に示すバンドクラス変換テーブル３３０２の例では、バンド４，５，６，７およびバンド２４，２５，２６，２７が、タイプＢＯ＿０およびタイプＢＯ＿１でオフセット処理の対称となっている。このように、所定の範囲の画素値を複数のタイプでオフセット処理できるようにすることで、所定の範囲の画素値に関してオフセット処理される機会を増加させることができる。所定の範囲としては、色差の中央付近や、輝度の上限付近および下限付近などが挙げられるが、これに限られず、出現頻度の高い画素値やオフセット補正の効果が高い画素値を前記所定の範囲として、複数のタイプでオフセット処理できるようにしておくことで、符号化効率が向上できる。なお、この複数のタイプはバンドオフセットの全てのオフセットタイプである必要はない。
【０２８８】
図３７に示すバンドクラス変換テーブル３７０１は、４個のタイプＢＯ＿０〜ＢＯ＿３を順に、中央部の狭帯域、低画素値域側の中間調域、高画素値域側の中間調域、低画素値域および高画素値域に割り当てた例である。各タイプに狭い範囲に対応するクラスが含まれ、精度の高いオフセット処理が可能である。小さなＱＡＯＵの場合、例えば６４×６４などの局所的なブロックに対して行われる適応オフセット処理の場合には、画素値の分布は、大きなＱＡＯＵと比べると一部の範囲に集中する傾向がある。図３７に示すバンドクラス変換テーブル３７０１の例では複数のタイプ間で帯域が重複していないが、比較的小さなブロックを用いる適応オフセットフィルタ処理においては、重要な画素値の範囲に対応する狭帯域と広帯域の複数タイプを用意するよりも、狭帯域に対して精度の高いタイプを複数用意することにより、画素値が中央以外に集中する場合にも適応することができる。
【０２８９】
図３９（ａ）に示すバンドテーブル変換テーブル３９０１は、複数のバンドテーブルで重なりがない。すなわち画素値Ｘについて、Ｘが複数のクラスに分類される画素値Ｘが存在しないことになる。また、各クラス分類は連続である。すなわち、いずれも量子化された画素値Ｘ１、Ｘ２、Ｘ３において、画素値Ｘ１と画素値Ｘ３が同じクラスに属する場合、必ず画素値Ｘ２も画素値Ｘ１とＸ３と同じクラスに属することになる。連続かつ重なりのないバンド変換テーブルを用いる場合には、ある領域の画素値の代表値（例えば平均値や中央値や最頻値）が含まれるクラス分類を選択することにより、エンコーダは簡易な処理で好適な分類を選択することが可能である。
【０２９０】
図３９（ｂ）に示すバンド変換テーブル３９０２は、値の小さな範囲および値の大きな範囲において広い範囲の値を同じクラスに分類する例を示す図である。これにより、分類されない範囲を減らすことができる。
【０２９１】
図４０に示すバンド変換テーブル４００１、４００２は、図３８で説明したように色差を６４段階に量子化する場合に用いるテーブルである。０〜６３までのバンドインデックスを分類するための１つのテーブルを２つに分けて示した図であり、４００１は前半（０〜３１）、４００２は後半（３２〜６３）を示す。
【０２９２】
図４１は、値の小さな範囲および値の大きな範囲を、オフセットを加算しないクラス（無効クラス）に分類する例を示す図である。これにより、色差の発生頻度が高い中心値付近の画素値に対して、細かい分類を行うことが可能になり高い符号化効率を得ることができる。
【０２９３】
図４１に示すバンド変換テーブル４１０１、４１０２は、値の小さな範囲および値の大きな範囲において広い範囲の値を同じクラスに分類する例である。
【０２９４】
図４２に示すバンド変換テーブル４２０１、４２０２は、色差のクラス分類において、中心値およびその付近の画素値の分類を、中心から離れた画素値の分類よりも細かく分類する例を示す図である。色差のヒストグラムの観察によれば、画素値の発生頻度は低彩度を表す中心付近の画素値において高くなる傾向にある。したがって、図４２に示すテーブルを用いることで、色差の発生頻度が高い中心値付近の画素値を細かく分類しながら比較的広範囲の画素値をオフセット加算するクラス（有効クラス）に割り当てることができる。
【０２９５】
図４３に示すバンド変換テーブル４３０１、４３０２も、色差のクラス分類において、中心値およびその付近の画素値の分類を、中心から離れた画素値の分類よりも細かく分類する例である。
【０２９６】
図４４に示すバンド変換テーブル４４０１、４４０２は、色差のクラス分類において、中心値およびその付近の画素値を有効クラスに分類するクラス分類を、複数のクラス分類の先頭の（最初の）クラス分類として用いる例である。すなわち、より小さな値のオフセットタイプの値を割り当てる。上述したように、色差では中心値およびその付近の画素値は出現頻度が高く、したがって当該画素値を有効クラスに分類するクラス分類の適用頻度も高くなる傾向がある。適用頻度の高いクラス分類に小さなオフセットタイプを割り当てることで、オフセットタイプの符号化に要する符号量を低減することができる。
【０２９７】
図４５に示すバンド変換テーブル４５０１、４５０２は、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例である。同時に発生する確率の低い離れた画素値を同じクラスに分類することによって、量子化幅を小さくし、さらに細かい分類を行うバンド変換テーブルを用いた場合においても広い範囲の値域をカバーすることができる。すなわち、オフセットが加算されない範囲を狭くして、符号化効率を向上することができる。
【０２９８】
図４６に示すバンド変換テーブル４６０１、４６０２は、中心値およびその付近の画素値から離れた画素値を分類するクラス分類において、いずれも量子化された画素値Ｘ１、画素値Ｘ２、画素値Ｘ３（Ｘ１＜Ｘ２＜Ｘ３）について、互いに隣接しない画素値Ｘ１とＸ３を、Ｘ２を分類するクラスとは異なる同じクラスに分類する例である。さらに、画像の空間的相関性から近接する画素では画素値も近くなることを利用して、クラス分類のパターンに周期的構造を用いることにより、少ないクラス分類を用いて、広い値域を分類することが可能である。ここでは２つのクラス分類を用いて全ての値域をカバーしつつ、近い値を異なるクラスに分類することができる。つまり、値域を少ないクラスかつ小さな量子化ステップで効率的に分類することが可能であるため、高い符号化効率を得ることができる。また、少ないクラス数を用いることによって、クラス分類に必要なフラグの符号量を削減することができ、高い符号化効率を得ることができる。さらに、少ないクラス数を用いるとことによって、符号化装置で最適なクラス分類を選択する際の処理量も削減できる。
【０２９９】
以下の図４７〜図５０は、輝度と色差とに対して、異なるクラス分類を用いる例である。
【０３００】
図４７に示すバンド変換テーブル４７０１、４７０２、４７０３は、周期的構造を備える２つのクラス分類の別の例である。３２段階に分類される輝度は変換テーブル４７０１を用い、６４段階に分類される色差は変換テーブル４７０２、４７０３を用いる。
【０３０１】
図４８に示すバンド変換テーブル４８０１、４８０２、４８０３は、周期的構造を備える２つのクラス分類の別の例である。３２段階に分類される輝度は変換テーブル４８０１を用い、６４段階に分類される色差は変換テーブル４８０２、４８０３を用いる。
【０３０２】
図４９に示すバンド変換テーブル４９０１、４９０２、４９０３は、周期的構造を備える２つのクラス分類の別の例である。３２段階に分類される輝度は変換テーブル４９０１を用い、６４段階に分類される色差は変換テーブル４９０２、４９０３を用いる。
【０３０３】
図５０に示すバンド変換テーブル５００１、５００２、５００３は、周期的構造を備える２つのクラス分類の別の例である。３２段階に分類される輝度は変換テーブル５００１を用い、６４段階に分類される色差は変換テーブル５００２、５００３を用いる。
【０３０４】
（オフセット情報復号部６１１の構成）
次に、オフセット情報復号部６１１の構成について、図１４を参照して説明する。図１４は、適応オフセットのパラメータの種類（パラメータ条件）に応じて、使用するオフセットタイプを変更する、かつ／もしくは、適応オフセットのパラメータ条件に応じて、クラスの分類数を変更するオフセット情報復号部６１１のブロック図である。
【０３０５】
オフセット情報復号部６１１は、適応的オフセットタイプ復号部６１１１、および適応的オフセット復号部６１１４から構成されている。また、適応的オフセットタイプ復号部６１１１は、使用オフセットタイプ選択部６１１２、およびオフセットタイプ復号部６１１３から構成され、適応的オフセット復号部６１１４は、使用オフセット数選択部６１１５、およびオフセット復号部６１１６から構成されている。なお、パラメータ条件とは、画素値から算出される値以外のパラメータであり、既に説明した画素の成分（コンポーネント）の他、階層、オフセットタイプ、ブロックサイズ（ＱＡＯＵサイズ）、ＱＰがある。
【０３０６】
適応的オフセットタイプ復号部６１１１は、符号化データ中のＱＡＯＵ情報から、パラメータ条件に応じて適応的にオフセットタイプを復号する手段であり、使用オフセットタイプ選択部６１１２とオフセットタイプ復号部６１１３を備えている。
【０３０７】
使用オフセットタイプ選択部６１１２は、パラメータ条件に応じて使用するオフセットタイプの集合を選択する手段である。使用オフセットタイプ選択部６１１２は、パラメータ条件に応じて図６で説明したような変換テーブルを選択し、オフセットタイプ復号部６１１３に入力する。また使用可能なオフセットタイプの最大数をオフセットタイプ復号部６１１３に入力する。使用可能なオフセットタイプの最大数とは、オフセットタイプのとりうる値の種類の数である。本実施形態では図６の変換テーブルを用いる。したがってオフセットタイプの最大数は７となる。なお、後述の一部の変形例では、８個以上のオフセットタイプを用いる場合がある。それらの例では、特に図示しない場合においても、少なくとも重複のないコードを各オフセットタイプに割り当てる変換テーブルを用いる。
【０３０８】
使用オフセットタイプ選択部６１１２は、パラメータ条件に応じた変換テーブルを供給する。本実施形態では、既に説明したように変換テーブル８０１を用いる。ただし、複数の変換テーブルを備える構成として、パラメータ条件に応じて何れの変換テーブルを用いるかを切り替えてもよい。例えば、パラメータ条件として画素の成分を用いて、成分が色差である場合に使用するエッジオフセットタイプと、成分が輝度である場合に使用するエッジオフセットタイプを異なるものとしてもよい。具体例を挙げれば、成分が色差である場合には、図６の変換テーブル８０１Ｃに示すように、オフセットタイプのうちＥＯ＿２およびＥＯ＿３を含まないものを用いる。変換テーブル８０１Ｃの場合には、オフセットタイプの最大数は５である。
【０３０９】
オフセットタイプ復号部６１１３は、入力された変換テーブルとオフセットタイプの最大数に応じて符号化データからオフセットタイプを復号する。オフセットタイプの最大数をＮとすれば、コードの取り得る範囲が０からＮ−１までのＮ個に制限されることから、コードの符号化に要するビット数を低減することができる。例えば、最大数が２ｍ−１より大きく、２ｍ以下であるときｍビットの固定長符号化を用いることができる。また、最大値とＮ−１とするＴｒｕｎｃａｔｅｄ  ｕｎａｒｙ符号化や、Ｔｒｕｎｃａｔｅｄ  Ｒｉｃｅ符号化を用いることもできる。
【０３１０】
適応的オフセット復号部６１１４は、符号化データ中のＱＡＯＵ情報から、パラメータ条件に応じて適応的にオフセットを復号する手段であり、使用オフセット数選択部６１１５とオフセット復号部６１１６とを備えている。
【０３１１】
使用オフセット数選択部６１１５は、パラメータ条件に応じて、使用するオフセット数の最大値とオフセットの精度を選択する手段である。パラメータ条件の一つは画素の表す成分であり、成分が輝度である場合に使用するエッジオフセットの数は、成分が色差である場合に使用するエッジオフセットの数と異なる。例えば、成分が輝度である場合には、オフセット数は４個とし、成分が色差である場合には、オフセット数を５個とすることができる。既に説明したエッジクラス変換テーブルについて、輝度には図１０（ｄ）のエッジクラス変換テーブル１００１Ｂを用い、色差には図１０（ｃ）のエッジクラス変換テーブル１００１Ａを用いれば、適応オフセットフィルタ処理が行われないクラス０を除くクラス数はそれぞれ、図１０（ｄ）では４個、図１０（ｃ）では５個となる。これは、必要なオフセット数を示している。
【０３１２】
オフセット復号部６１１６は、各オフセットタイプで用いるオフセット数に応じて符号化データからオフセットを復号する。
【０３１３】
このように、動画像復号装置１では、パラメータ条件に応じて適応的に符号化データを復号し、画素のクラス分類を行う。
【０３１４】
以上のように、本実施形態では、パラメータ条件に応じてクラス分類を変更している。より詳細には、処理対象の画素の表す成分に応じて、エッジオフセットの場合には輝度画素と色差画素とでクラス数が異なるように分類し、バンドオフセットの場合には、輝度画素と色差画素とでバンドとクラスの対応関係が異なるように分類している。これにより、輝度と色差の特性の違いに適応することでき、符号化効率を向上させることができる。
【０３１５】
（クリップ処理の削減）
以下、バンドオフセット処理の場合にオフセット加算部６２７におけるクリップ処理の削減を目的とした、適応オフセットフィルタ処理部６２の処理方法について説明する。
【０３１６】
（クリップ処理の削減方法１）  画素値の判定によるクリップ処理削減
ここでは、図１３の、適応オフセットフィルタ処理部６２による処理の流れを示すフローチャートの、ステップＳ１０９の代わりに、次のステップＳ１０９Ａ（不図示）を用いる。他のステップについては、既に説明したものと同様である。
（ステップＳ１０９Ａ）
ステップＳ１０８に続いて、オフセット加算部６２７は、デブロック済復号画像Ｐ＿ＤＢの処理対象画素の画素値に対して、オフセット導出部６２６から供給されるオフセットを加算する。ただし、当該画素値が所定の「オフセット制限領域」で表される値域に含まれる場合には、オフセットの加算を行わない。
【０３１７】
ここで、上記のオフセット制限領域について図２８を用いて説明する。図２８は、オフセット制限領域の例を示す図である。オフセット制限領域ＯＬＲ０は、画素値０以上Ｌｉｍ０未満の範囲であり、オフセット制限領域ＯＬＲ１は、画素値Ｌｉｍ１以上ｍａｘ以下の範囲である。Ｌｉｍ０およびＬｉｍ１の値は、オフセットの値域が−Ｑ０〜＋Ｑ１である場合、Ｑ０≦Ｌｉｍ０  かつ  Ｌｉｍ１≦ｍａｘ−Ｑ１ となるように定められる。オフセット制限領域ＯＬＲ０およびオフセット制限領域ＯＬＲ１に含まれる画素値は、オフセット処理の結果が画素値の値域０〜ｍａｘを超える可能性がある。そこで、ステップＳ１０９Ａにおいてオフセットの加算を行わないようにすれば、クリップ処理の省略が可能である。オフセット制限領域ＯＬＲ０およびオフセット制限領域ＯＬＲ１に含まれない画素値については、オフセット加算後の値が画素値の値域０〜ｍａｘを外れないため、クリップ処理は本来必要がない。したがって前記のように設定されたオフセット制限領域を用いれば、画素値の値域全体においてクリップ部６２７２でのクリップ処理が省略でき、適応オフセット処理の処理量を削減することができる。
【０３１８】
（クリップ処理の削減方法２）
使用オフセットタイプ選択部６１１２における事前分岐によるクリップ処理削減
また、オフセット制限領域に属する画素値が、クラス０（無効クラス）に分類されるようにしてもよい。これを図２９を用いて説明する。図２９はオフセット制限領域を考慮したバンドクラス変換テーブルの例を示す図である。（ａ）に示すバンドクラス変換テーブル２９０１は、ＢＯ_１の場合に、従来のＢＯ＿１とは異なり、バンドインデックス０，１，３０，３１のバンドをクラス０としている。これは、８ビットの画素値で表せば、Ｌｉｍ０＝１６かつＬｉｍ１＝２４０の場合に対応する。実際には８ビット画素値の場合のオフセットの範囲は−８〜７であり、すなわちＱ０＝８およびＱ１＝７であることから、  Ｑ０≦Ｌｉｍ０  かつ  Ｌｉｍ１≦ｍａｘ−Ｑ１  を満たす。使用オフセットタイプ選択部６１１２でこの変換テーブルを用いるようにすれば、クリップが必要な画素値はクラス０となりオフセット加算の対象とはならないため、上記ステップ１０８Ａを用いるまでもなく、元のステップＳ１０８を用いつつ、バンドオフセットの加算処理におけるクリップ処理を省略できる。
【０３１９】
図２９（ｂ）に示すバンドクラス変換テーブル２９０２は、(ａ)に示すバンドクラス変換テーブル２９０１と同様のオフセット制限領域に該当する画素値をクラス０として分類するオフセットタイプをＢＯ＿２として、従来のＢＯ＿１タイプと併用する場合のバンドクラス変換テーブルの例を示している。この変換テーブルを用いる場合は、符号化データで用いられうるバンドオフセットの種類は３種類であり、オフセットタイプの総数は８個となる。
【０３２０】
（クリップ処理の削減方法３）
ビットストリーム中のシンタックス要素の値域制限によるクリップ処理削減
さらに、クリップ処理を削減する別の方法を説明する。例えば、符号化データ＃１において、図２８に示すオフセット制限領域ＯＬＲ０に対応するクラスにおけるオフセットの範囲を、０または正の値と制限すれば、明らかにオフセット加算後の画素値は０未満とはならない。同様に、オフセット制限領域ＯＬＲ１に対応するクラスにおけるオフセットの範囲を、０または負の値と制限すれば、明らかにオフセット加算後の画素値はｍａｘより大きな値となることはない。このように、バンド変換テーブルの特定のクラスに対して、オフセット制限領域を考慮してオフセットの値域を制限すれば、オフセット加算後のクリップ処理を削減することができ、処理の高速化が可能である。この方法をとる場合には、図２９に示したような、バンドクラス変換テーブルの変更は不要である。
【０３２１】
なお、オフセット制限領域を表すＬｉｍ０およびＬｉｍ１については、画素ビット深度に応じた固定値としてもよいし、オフセットタイプがＢＯである場合には、バンド位置に応じて設定してもよい。あるいは、符号化データ＃１に符号化して伝送してもよい。図２６は、オフセット制限領域情報ＲＩを含むＱＡＯＵを符号化して伝送する場合のデータ構造の一例を示している。オフセットタイプ情報ＯＴＩが、バンドオフセットを示している場合に、オフセット制限領域情報ＲＩが符号化される。オフセット制限領域情報ＲＩはオフセット制限領域あるいはオフセット制限領域に相当するクラスの配置が表現できればよく、例として、閾値となる画素値Ｌｉｍ０およびＬｉｍ１や、あるい別の例として、クラスインデックスを示す閾値ＬｉｍＣ０およびＬｉｍＣ１を符号化する。後者の場合、クラスインデックスがＬｉｍＣ０以下またはＬｉｍＣ１以上のクラスを、オフセット制限領域に相当するクラスとして扱う。図２８を用いて具体的に説明すれば、オフセット制限領域ＯＬＲ０に相当するクラスはクラスインデックス０および１であり、オフセット制限領域ＯＬＲ１に相当するクラスはクラスインデックス３０および３１である。したがって、ＬｉｍＣ０＝１，ＬｉｍＣ１＝３０をオフセット制限領域情報ＲＩを符号化するとよい。値の範囲は、ＰＩＣ＿ＤＥＰＴＨが８ビットでバンド幅が２＾ＢＷＢｉｔであるとき、ＬｉｍＣ０は０〜（２＾（８−ＢＷＢｉｔ）−２）  であり、ＬｉｍＣ１は  ＬｉｍＣ０＋１〜（２＾（８−ＢＷＢｉｔ）−１）である。
【０３２２】
（クリップ処理の削減方法４）
以上では、値域の下限と上限に１個ずつ１組のオフセット制限領域を設定する例を説明したが、オフセット制限領域の設定はこれに限らず、図３０のように、２組以上のオフセット制限領域を設定してもよい。
【０３２３】
図３０は、値域の下限側に２個、上限側に２個のオフセット制限領域を設定する例である。下限側にはオフセット制限領域ＯＬＲ００およびオフセット制限領域ＯＬＲ０１、上限側にはオフセット制限領域ＯＬＲ１０およびオフセット制限領域ＯＬＲ１１が配置されている。それぞれのオフセット制限領域の範囲は、オフセット制限領域ＯＬＲ００は画素値０以上Ｌｉｍ００未満であり、オフセット制限領域ＯＬＲ０１は画素値Ｌｉｍ００以上Ｌｉｍ０１未満であり、オフセット制限領域ＯＬＲ１１は画素値Ｌｉｍ１１以上Ｌｉｍ１０未満であり、オフセット制限領域ＯＬＲ１０は画素値Ｌｉｍ１０以上ｍａｘ以下である。このようなオフセット制限領域の構成は、使用可能な画素値の範囲が０〜ｍａｘよりも狭く設定されている場合に用いるとよい。例えば、画素ビット深度が８ビットのときに輝度で１６〜２３５、色差で１６〜２４０と画素値の範囲が規定されている場合に、オフセット制限領域ＯＬＲ００およびオフセット制限領域ＯＬＲ１０においては、オフセット加算後の値が画素値の値域を超えず、さらに前記範囲に収まるかまたは近づくようにオフセットの範囲を制限するとよく、オフセット制限領域ＯＬＲ０１およびオフセット制限領域ＯＬＲ１１においては、オフセット加算後の値が前記範囲を超えないように、オフセットの加算をしないか、オフセットの範囲を制限するとよい。これにより、画素値の値域の中にさらに使用可能な画素値の範囲が定められている場合であっても、オフセット値による補正の効果を高めて符号化効率を向上することができる。
【０３２４】
上記いずれの方法においても、オフセット加算後の画素値が画素ビット深度で表現可能な範囲を超えないようにオフセットの値域を制限するためのオフセット制限領域を設定することで、加算後のクリップ処理を省略し、処理を高速化することができる。
【０３２５】
（動画像符号化装置２）
次に、符号化対象画像を符号化することによって符号化データ＃１を生成する動画像符号化装置２について、図１５〜２０を参照して説明する。動画像符号化装置２は、その一部に、Ｈ．２６４／ＭＰＥＧ−４．ＡＶＣに採用されている方式、ＶＣＥＧ（Video Coding Expert Group）における共同開発用コーデックであるＫＴＡソフトウェアに採用されている方式、その後継コーデックであるＴＭｕＣ（Test Model under Consideration）ソフトウェアに採用されている方式、および、ＨＭ（HEVC TestModel）ソフトウェアに採用されている技術を含んでいる。
【０３２６】
図１５は、本実施形態に係る動画像符号化装置２の構成を示すブロック図である。図１５に示すように、動画像符号化装置２は、変換・量子化部２１、可変長符号符号化部２２、逆量子化・逆変換部２３、バッファメモリ２４、イントラ予測画像生成部２５、インター予測画像生成部２６、動きベクトル検出部２７、予測方式制御部２８、動きベクトル冗長性削除部２９、加算器３１、減算器３２、デブロッキングフィルタ３３、適応フィルタ７０、および適応オフセットフィルタ８０を含む構成である。動画像符号化装置２は、動画像＃１０（符号化対象画像）を符号化することによって、符号化データ＃１を生成する装置である。
【０３２７】
変換・量子化部２１は、（１）符号化対象画像から予測画像Ｐｒｅｄを減算した予測残差Ｄをブロック毎にＤＣＴ変換（Discrete Cosine Transform）またはＤＳＴ変換（Discrete Sine Transform）し、（２）ＤＣＴ変換により得られたＤＣＴ係数またはＤＳＴ変換により得られたＤＳＴ係数を量子化し、（３）量子化により得られた量子化予測残差ＱＤを可変長符号符号化部２２および逆量子化・逆変換部２３に供給する。なお、変換・量子化部２１は、（１）量子化の際に用いる量子化ステップＱＰを、ツリーブロック毎に選択し、（２）選択した量子化ステップＱＰの大きさを示す量子化パラメータ差分Δｑｐを可変長符号符号化部２２に供給し、（３）選択した量子化ステップＱＰを逆量子化・逆変換部２３に供給する。ここで、量子化パラメータ差分Δｑｐとは、ＤＣＴ（またはＤＳＴ）変換／量子化するツリーブロックに関する量子化パラメータｑｐ（ＱＰ＝２ｐｑ／６）の値から、直前にＤＣＴ（またはＤＳＴ）変換／量子化したツリーブロックに関する量子化パラメータｑｐ’の値を減算して得られる差分値のことを指す。
【０３２８】
可変長符号符号化部２２は、（１）変換・量子化部２１から供給された量子化予測残差ＱＤ並びにΔｑｐ、（２）後述する予測方式制御部２８から供給された予測パラメータＰＰ、および、（３）後述する適応フィルタ７０から供給されたフィルタパラメータＦＰ（フィルタセット番号、フィルタ係数群、領域指定情報、並びにオンオフ情報）を可変長符号化することによって、符号化データ＃１を生成する。また、可変長符号符号化部２２は、適応オフセットフィルタ８０から供給されるＱＡＯＵ情報を符号化し、符号化データ＃１に含める。
【０３２９】
逆量子化・逆変換部２３は、（１）量子化予測残差ＱＤを逆量子化し、（２）逆量子化によって得られたＤＣＴ係数あるいはＤＳＴ係数を逆ＤＣＴ（Discrete Cosine Transform）変換あるいは逆ＤＳＴ（Discrete Sine Transform）変換し、（３）逆ＤＣＴ変換あるいは逆ＤＳＴ変換によって得られた予測残差Ｄを加算器３１に供給する。量子化予測残差ＱＤを逆量子化する際には、変換・量子化部２１から供給された量子化ステップＱＰを利用する。なお、逆量子化・逆変換部２３から出力される予測残差Ｄは、変換・量子化部２１に入力される予測残差Ｄに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。
【０３３０】
イントラ予測画像生成部２５は、各パーティションに関する予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。具体的には、（１）各パーティションついてイントラ予測に用いる予測モードを選択し、（２）選択した予測モードを用いて、局所復号画像Ｐから予測画像Ｐｒｅｄ＿Ｉｎｔｒａを生成する。イントラ予測画像生成部２５は、生成したイントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを、予測方式制御部２８に供給する。
【０３３１】
また、イントラ予測画像生成部２５は、各パーティションについて選択された予測モードと、各パーティションのサイズから各パーティションについての予測インデックスＰＩを特定し、当該予測インデックスＰＩを予測方式制御部２８に供給する。
【０３３２】
また、イントラ予測画像生成部２５は、対象パーティションのサイズ、および、対象パーティションに割り付けられた予測モードを示す情報であるイントラ符号化モード情報ＩＥＭを適応フィルタ７０に供給する（不図示）。
【０３３３】
動きベクトル検出部２７は、各パーティションに関する動きベクトルｍｖを検出する。具体的には、（１）参照画像として利用するフィルタ済復号画像Ｐ＿ＦＬ’を選択し、（２）選択したフィルタ済復号画像Ｐ＿ＦＬ’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルｍｖを検出する。ここで、フィルタ済復号画像Ｐ＿ＦＬ’は、復号済みの復号画像に対して、デブロッキングフィルタ３３によるデブロック処理、適応オフセットフィルタ８０による適応的オフセット処理、および、適応フィルタ７０による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部２７は、フィルタ済復号画像Ｐ＿ＦＬ’を構成する各画素の画素値をバッファメモリ２４から読み出すことができる。動きベクトル検出部２７は、検出した動きベクトルｍｖを、参照画像として利用したフィルタ済復号画像Ｐ＿ＦＬ’を指定する参照画像インデックスＲＩと共に、インター予測画像生成部２６および動きベクトル冗長性削除部２９に供給する。なお、双方向予測（重み付き予測）を行うパーティションについては、参照画像として２枚のフィルタ済復号画像Ｐ＿ＦＬ１’およびＰ＿ＦＬ２’を選択し、２枚のフィルタ済復号画像Ｐ＿ＦＬ１’およびＰ＿ＦＬ２’の各々に対応する動きベクトルｍｖ１およびｍｖ２、並びに、参照画像インデックスＲＩ１およびＲＩ２をインター予測画像生成部２６および動きベクトル冗長性削除部２９に供給する。
【０３３４】
インター予測画像生成部２６は、各インター予測パーティションに関する動き補償画像ｍｃを生成する。具体的には、動きベクトル検出部２７から供給された動きベクトルｍｖを用いて、動きベクトル検出部２７から供給された参照画像インデックスＲＩによって指定されるフィルタ済復号画像Ｐ＿ＦＬ’から動き補償画像ｍｃを生成する。動きベクトル検出部２７と同様、インター予測画像生成部２６は、フィルタ済復号画像Ｐ＿ＦＬ’を構成する各画素の画素値をバッファメモリ２４から読み出すことができる。インター予測画像生成部２６は、生成した動き補償画像ｍｃ（インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒ）を、動きベクトル検出部２７から供給された参照画像インデックスＲＩと共に、予測方式制御部２８に供給する。なお、双方向予測（重み付き予測）をパーティションについては、（１）動きベクトルｍｖ１を用いて、参照画像インデックスＲＩ１によって指定されたフィルタ済復号画像Ｐ＿ＦＬ１’から動き補償画像ｍｃ１を生成し、（２）動きベクトルｍｖ２を用いて、参照画像インデックスＲＩ２によって指定されたフィルタ済参照画像Ｐ＿ＦＬ２’から動き補償画像ｍｃ２を生成し、（３）動き補償画像ｍｃ１と動き補償画像ｍｃ２との加重平均にオフセット値を加えることによってインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを生成する。
【０３３５】
予測方式制御部２８は、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａおよびインター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部２８は、イントラ予測画像Ｐｒｅｄ＿Ｉｎｔｒａを予測画像Ｐｒｅｄとして加算器３１および減算器３２に供給すると共に、イントラ予測画像生成部２５から供給された予測インデックスＰＩを予測パラメータＰＰとして可変長符号符号化部２２に供給する。一方、インター予測を選択した場合、予測方式制御部２８は、インター予測画像Ｐｒｅｄ＿Ｉｎｔｅｒを予測画像Ｐｒｅｄとして加算器３１および減算器３２に供給すると共に、インター予測画像生成部２６から供給された参照画像インデックスＲＩ、並びに、動きベクトル冗長性削除部２９（後述）から供給された推定動きベクトルインデックスＰＭＶＩおよび動きベクトル残差ＭＶＤを予測パラメータＰＰとして可変長符号符号化部２２に供給する。
【０３３６】
予測方式制御部２８にて選択された予測画像Ｐｒｅｄを、符号化対象画像から減算することによって、減算器３２にて予測残差Ｄが生成される。減算器３２にて生成された予測残差Ｄは、上述したとおり、変換・量子化部２１によってＤＣＴ（またはＤＳＴ）変換／量子化される。一方、予測方式制御部２８にて選択された予測画像Ｐｒｅｄを、逆量子化・逆変換部２３にて生成された予測残差Ｄに加算することによって、加算器３１にて局所復号画像Ｐが生成される。加算器３１にて生成された局所復号画像Ｐは、デブロッキングフィルタ３３、適応オフセットフィルタ８０および適応フィルタ７０を経由したのち、フィルタ済復号画像Ｐ＿ＦＬとしてバッファメモリ２４に格納され、インター予測における参照画像として利用される。
【０３３７】
なお、動きベクトル冗長性削除部２９は、動きベクトル検出部２７によって検出された動きベクトルｍｖにおける冗長性を削除する。具体的には、（１）動きベクトルｍｖの推定に用いる推定方法を選択し、（２）選択した推定方法に従って推定動きベクトルｐｍｖを導出し、（３）動きベクトルｍｖから推定動きベクトルｐｍｖを減算することにより動きベクトル残差ＭＶＤを生成する。動きベクトル冗長性削除部２９は、生成した動きベクトル残差ＭＶＤを、選択した推定方法を示す推定動きベクトルインデックスＰＭＶＩと共に、予測方式制御部２８に供給する。
【０３３８】
デブロッキングフィルタ３３は、局所復号画像Ｐにおけるブロック境界、またはＣＵ境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、局所復号画像Ｐにおける当該ブロック境界、または当該ＣＵ境界に対してデブロッキング処理を施すことによって、当該ブロック境界、または当該ＣＵ境界付近の画像の平滑化を行う。デブロッキングフィルタ３３によりデブロッキング処理が施された画像は、デブロック済復号画像Ｐ＿ＤＢとして、適応オフセットフィルタ８０に出力される。
【０３３９】
適応オフセットフィルタ８０は、デブロッキングフィルタ３３から供給されるデブロック済復号画像Ｐ＿ＤＢに対して、適応的オフセットフィルタ処理を施すことによってオフセットフィルタ済復号画像Ｐ＿ＯＦを生成する。生成されたオフセットフィルタ済復号画像Ｐ＿ＯＦは、適応フィルタ７０に供給される。適応オフセットフィルタ８０の具体的な構成については、後述するため、ここでは説明を省略する。
【０３４０】
適応フィルタ７０は、適応オフセットフィルタ８０から供給されるオフセットフィルタ済復号画像Ｐ＿ＯＦに対して、適応的なフィルタ処理を施すことによって、フィルタ済復号画像Ｐ＿ＦＬを生成する。適応フィルタ７０によりフィルタ処理が施されたフィルタ済復号画像Ｐ＿ＦＬは、バッファメモリ２４に格納される。適応フィルタ７０によって用いられるフィルタ係数は、フィルタ済復号画像Ｐ＿ＦＬと符号化対象画像＃１０との誤差がより小さくなるように定められたものであり、このようにして定められたフィルタ係数がフィルタパラメータＦＰとして符号化され、動画像復号装置１に伝送される。
【０３４１】
（適応オフセットフィルタ８０）
次に、適応オフセットフィルタ８０について、図１６を参照して説明する。図１６は、適応オフセットフィルタ８０の構成を示すブロック図である。図１６に示すように、適応オフセットフィルタ８０は、適応オフセットフィルタ情報設定部８１および適応オフセットフィルタ処理部８２を含む構成である。
【０３４２】
また、図１６に示すように、適応オフセットフィルタ情報設定部８１は、オフセット算出部８１１、オフセットクリップ部８１２、オフセット情報選択部８１３を含む構成である。
【０３４３】
（オフセット算出部８１１）
オフセット算出部８１１は、対象の処理単位（例えばＬＣＵ）に含まれる所定の分割深度までの全てのＱＡＯＵに対して、処理対象のＱＡＯＵの階層に応じて存在する全てのオフセットタイプおよび全てのクラスについてのオフセットを算出する。ここで、オフセットタイプおよびクラスは、動画像復号装置１の説明において説明したものと同じものを指す。
【０３４４】
次に、オフセット算出部８１１における処理の流れについて、図１７を参照して説明する。図１７は、オフセット算出部８１１による処理の流れを示すフローチャートである。
【０３４５】
（ステップＳ２０１）
まず、オフセット算出部８１１は、処理対象とする対象ＱＡＯＭＵのＱＡＯＭＵ番号をループ変数とする第１のループを開始する。ＱＡＯＭＵ番号は、例えば、図１８に示すように、各ＱＡＯＭＵを識別する番号である。ＱＡＯＭＵ番号は分割深度０から最大の分割深度までを通して、付されている。最大の分割深度が４の場合は、分割深度の全ＱＡＯＭＵ（１＋４＋１６＋６４＋２５６＝３４１個）に対して、図１８に示すように、０〜３４０の値がＱＡＯＭＵ番号として付される。
【０３４６】
例えば、図１８では、
（ａ）に、分割深度が０であるＱＡＯＭＵに付されたＱＡＯＭＵ番号が示されており、
（ｂ）に、分割深度が１であるＱＡＯＭＵに付されたＱＡＯＭＵ番号が示されており、
（ｃ）に、分割深度が２であるＱＡＯＭＵに付されたＱＡＯＭＵ番号が示されており、
（ｄ）に、分割深度が３であるＱＡＯＭＵに付されたＱＡＯＭＵ番号が示されており、
（ｅ）に、分割深度が４であるＱＡＯＭＵに付されたＱＡＯＭＵ番号が示されている。
【０３４７】
よって、図１８（ａ）〜（ｅ）に示す例の場合であれば、当該第１のループは、ＱＡＯＭＵ番号＝０から、ＱＡＯＭＵ番号＝３４０までのループである。
【０３４８】
（ステップＳ２０２）
続いて、オフセット算出部８１１は、対象ＱＡＯＭＵに対して選択可能なオフセットタイプをループ変数とする第２のループを開始する。本実施形態ではsao_type_idxとして０から６を用いているが、sao_type_idx＝０（オフセット処理無し）の場合のオフセットは０であるため、当該第２のループは、オフセットタイプ１からオフセットタイプ６までのループである。
【０３４９】
（ステップＳ２０３）
続いて、オフセット算出部８１１は、対象ＱＡＯＭＵに含まれる画素を単位とする第３のループを開始する。
【０３５０】
（ステップＳ２０４）
続いて、オフセット算出部８１１は、対象画素を複数のクラスの何れかに分類する。より具体的には、処理対象の画素の成分に応じて選択可能なクラスの何れかに分類する。例えば、処理対象の成分が輝度であり、第２のループ変数であるオフセットタイプが１〜４であるとき、対象画素をクラス１〜４の何れかに分類する。本ステップにおける分類処理は、動画像復号装置１における適応オフセットフィルタ６０の備えるクラス分類部６２４による分類処理と同じ処理である。
【０３５１】
また、対象ＱＡＯＭＵに関して、クラス毎に、当該クラスに分類された画素の数count[component][part_idx][sao_type_idx][class_idx]を算出する。ここで、part_idxは、ＱＡＯＵインデックスを表す。
【０３５２】
（ステップＳ２０５）
続いて、オフセット算出部８１１は、対象画素におけるデブロック済復号画像Ｐ＿ＤＢの画素値と該対象画素における符号化対象画像＃１０の画素値との差分をとることによって該対象画素における差分画素値を算出する。より具体的には、対象画素の位置を（ｘ、ｙ）としたとき、Ｐ＿ＤＢ（ｘ、ｙ）−Ｏｒｇ（ｘ、ｙ）を算出する。ここで、Ｐ＿ＤＢ（ｘ、ｙ）は、対象画素におけるデブロック済復号画像Ｐ＿ＤＢの画素値を表しており、Ｏｒｇ（ｘ、ｙ）は、対象画素の位置における符号化対象画像＃１０の画素値を表している。
【０３５３】
（ステップＳ２０６）
本ステップは、第３のループの終端である。本ステップが終了した時点で、対象ＱＡＯＵに含まれる全ての画素に関して、差分画素値が算出されていることになる。
【０３５４】
（ステップＳ２０７）
続いて、オフセット算出部８１１は、対象ＱＡＯＭＵに含まれる各画素についての差分画素値のクラス毎の総和を、該クラスの分類回数で除算することによってオフセットを算出する。より具体的には、オフセット算出部８１１は、対象ＱＡＯＭＵ、対象オフセットタイプ、および対象クラスについてのオフセットoffset[component][part_idx][sao_type_idx][class_idx]を以下の式を用いて算出する。
【０３５５】
offset[component][part_idx][sao_type_idx][class_idx] = 
Σ(P_DB(x、y)-Org(x、y))/count[component][part_idx][sao_type_idx][class_idx]
ここで、記号Σは、part_idxによって指定される対象ＱＡＯＭＵ、およびsao_type_idxによって指定される対象オフセットタイプにおいて、class_idxによって指定される対象クラスに分類された画素についての差分和をとることを示している。
【０３５６】
（ステップＳ２０８）
本ステップは第２のループの終端である。
【０３５７】
（ステップＳ２０９）
本ステップは第３のループの終端である。
【０３５８】
以上の処理により、オフセット算出部８１１は、対象ＬＣＵに含まれる所定の分割深度までの全てのＱＡＯＭＵに対して、全てのオフセットタイプおよび全てのクラスについてのオフセットを算出する。
【０３５９】
オフセット算出部８１１は、上記の処理によって算出したオフセット、オフセットタイプ、クラス、および、ＱＡＯＵの分割構造を表すＱＡＯＵ構造情報からなるオフセット情報をオフセットクリップ部８１２に供給する。
【０３６０】
（オフセットクリップ部８１２）
オフセットクリップ部８１２は、オフセット算出部８１１から供給されるオフセットに対して以下に示すようなクリップ処理１、クリップ処理２の何れかの処理によってクリップの処理を行う。
【０３６１】
（クリップ処理１）
オフセットクリップ部８１２は、オフセット算出部８１１から供給される各オフセットの取り得る値を制限するために、最大値と最小値によるクリップ処理を行う。例えば、−８から７までの値にクリップすることにより、各オフセットを４ビットで表現できる。クリップされた各オフセットは、オフセット情報選択部８１３に供給される。クリップするビット幅は、動画像復号装置１と同様、画像のビット深度とオフセットのビット深度に応じて設定される。
【０３６２】
このように、各オフセットをクリップすることによって、各オフセットが格納されるメモリ（不図示）のメモリサイズを削減することができる。また、符号化データ＃１に含まれるオフセットの符号量を削減することにより、符号化効率の向上を図ることができる。また、過度なオフセットの加算が抑制されるため、適切な画質が保証される。
【０３６３】
（クリップ処理２）
また、オフセットクリップ部８１２は、オフセット算出部８１１から供給される各オフセットのクリップ範囲を、オフセットタイプに応じて異なる範囲に設定する構成としてもよい。
【０３６４】
例えば、オフセットタイプがエッジオフセットである場合には、オフセットのビット数を８ビットとし、オフセットタイプがバンドオフセットである場合には、オフセットのビット数を４ビットとするようにクリップ範囲を設定する。より一般には、オフセットタイプがエッジオフセットである場合のオフセットのビット数をＢ０ビットとし、オフセットタイプがバンドオフセットである場合のオフセットのビット数をＢ１ビットとしたとき、バンドオフセットがエッジオフセットよりも多数のオフセットを必要とするのであれば、Ｂ０＞Ｂ１が満たされるようにオフセットのビット数を定めてクリップ範囲を設定する。
【０３６５】
このようにオフセットタイプに応じて、オフセットのビット数を異ならせることによって、各オフセットを格納するためのメモリに過度なメモリサイズを要求することなく、符号化効率の向上を図ることができる。
【０３６６】
なお、オフセットの値域の幅が２ｍ−１以上２ｍ未満のとき、当該オフセットを符号化するための符号化方式として、ｍビットの固定長符号化を用いることができる。より具体的には、最大値をｔｈとするＴｒｕｎｃａｔｅｄ  ｕｎａｒｙ符号化や、Ｔｒｕｎｃａｔｅｄ  Ｒｉｃｅ符号化を用いることができる。
【０３６７】
また、上記クリップ処理１および２を組み合わせて得られるクリップ処理も本実施形態に含まれる。また、適応オフセットフィルタ８０は、オフセットクリップ部８１２を備えない構成としてもよい。
【０３６８】
また、オフセットクリップ部８１２は、オフセット算出部８１１から供給される各オフセットのクリップ範囲を、処理対象の画素値の表す成分に応じて異なる範囲に設定する構成としてもよい。
【０３６９】
例えば、成分が輝度である場合には、オフセットのビット数を４ビットとし、成分が色差である場合には、オフセットのビット数を５ビットとするようにクリップ範囲を設定する。量子化幅により大きな値を用いられるなどの理由で、色差における画質の劣化が大きくなる場合には上記のようにするとよい。
【０３７０】
（オフセット情報選択部８１３）
オフセット情報選択部８１３は、ＲＤコスト（Rate-Distortion cost）がより小さくなるオフセットタイプ、クラス、オフセットの組み合わせ、および、それに対応するＱＡＯＵ分割構造を決定し、決定したオフセットタイプ、クラス、オフセットおよび、それに対応するＱＡＯＵ分割構造を示すＱＡＯＵ情報を可変長符号符号化部２２に供給する。また、オフセット情報選択部８１３は、決定したオフセットをＱＡＯＵ毎に適応オフセットフィルタ処理部８２に供給する。
【０３７１】
オフセット情報選択部８１３の処理について図１９〜２１を参照してより具体的に説明すれば以下の通りである。図１９は、オフセット情報選択部８１３による処理の流れを示すフローチャートである。
【０３７２】
（ステップＳ３０１）
まず、オフセット情報選択部８１３は、処理対象とする対象ＱＡＯＭＵのＱＡＯＭＵ番号をループ変数とする第１のループを開始する。
【０３７３】
（ステップＳ３０２）
続いて、オフセット情報選択部８１３は、対象ＱＡＯＭＵに対して選択可能なオフセットタイプをループ変数とする第２のループを開始する。ここでは適応オフセットフィルタ処理をしないことを選択する場合もあるため、当該第２のループは、オフセットタイプ０からオフセットタイプ６までのループである。
【０３７４】
（ステップＳ３０３）
続いて、オフセット情報選択部８１３は、対象オフセットタイプについて、対象ＱＡＯＭＵにおけるオフセットフィルタ済復号画像Ｐ＿ＯＦと符号化対象画像＃１０との二乗誤差を算出する。
【０３７５】
（ステップＳ３０４）
本ステップは第２のループの終端である。
【０３７６】
（ステップＳ３０５）
本ステップは第１のループの終端である。第１および第２のループが終了した時点で、各ＱＡＯＭＵに関して、全てのオフセットタイプについての二乗誤差が算出されることになる。
【０３７７】
（ステップＳ３０６）
続いて、オフセット情報選択部８１３は、対象の処理単位（例えばＬＣＵ）をＱＡＯＵに分割するＱＡＯＵ分割構造のうち、ＲＤコストがより小さくなるＱＡＯＵ分割構造を決定する。
【０３７８】
本ステップにおけるオフセット情報選択部８１３の具体的な処理例を、図２０および図２１を参照して説明すれば以下の通りである。
【０３７９】
図２０は、ＱＡＯＵインデックスが「ｑ」のＱＡＯＵについて、オフセットタイプそれぞれについての２乗誤差を算出する概要を示す図である。図２０に示すように、オフセット情報選択部８１３は、全てのＱＡＯＭＵについて、オフセットタイプそれぞれについての２乗誤差を算出する。そして、算出した２乗誤差が最小となるオフセットタイプを当該ＱＡＯＵのオフセットタイプとする。これにより、全てのＱＡＯＭＵ（ＱＡＯＭＵ番号０〜３４０）について、オフセットタイプが決定する。
【０３８０】
次に、オフセット情報選択部８１３は、分割深度を０としたときのＲＤコストＪ０と分割深度を１とした場合の各ＱＡＯＭＵのＲＤコストＪ１〜Ｊ４を計算する（図２１（ａ）、（ｂ））。ここでは、分割深度１のＲＤコストの総和（Ｊ１＋Ｊ２＋Ｊ３＋Ｊ４）が分割深度０のＲＤコストＪ０よりも小さいものとして、分割深度１の分割を採用する（図２１（ｃ））。
【０３８１】
続いて、オフセット情報選択部８１３は、分割深度を２とした場合の、各ＱＡＯＭＵのＲＤコストＪ５〜Ｊ２０を計算する（図２１（ｄ））。オフセット情報選択部８１３は、分割深度１のＱＡＯＭＵのＲＤコスト（Ｊ１，Ｊ２，Ｊ３，Ｊ４）と、該分割深度１の各ＱＡＯＭＵに含まれる分割深度２のＱＡＯＭＵのＲＤコストの和（Ｊ５＋Ｊ６＋Ｊ９＋Ｊ１０，Ｊ７＋Ｊ８＋Ｊ１１＋Ｊ１２，Ｊ１３＋Ｊ１４＋Ｊ１７＋Ｊ１８，Ｊ１５＋Ｊ１６＋Ｊ１９＋Ｊ２０）とをそれぞれ比較し、分割深度２のＱＡＯＭＵのＲＤコストの和の方が小さい場合には、該分割深度１のＱＡＯＭＵを分割深度２のＱＡＯＭＵに更新する（図２１（ｄ））。このように、各ＱＡＯＭＵのＲＤコストを、さらにもう１階層分割した場合のＲＤコストと比較してより小さい方に更新する処理を、最大の分割深度に到達するまで繰り返す。これによって、ＲＤコストがより小さくなるＱＡＯＵ分割構造が決定される。図２１（ｅ）は、分割深度１のＱＡＯＭＵからＱＡＯＭＵ１とＱＡＯＭＵ４が選択され、それ以外は分割深度２のＱＡＯＭＵが選択された分割状態を示している。
【０３８２】
（適応オフセットフィルタ処理部８２）
適応オフセットフィルタ処理部８２は、対象ＱＡＯＵにおけるデブロック済復号画像Ｐ＿ＤＢの各画素に対して、オフセット情報選択部８１３から供給されるオフセットを加算する。適応オフセットフィルタ処理部８２は、デブロック済復号画像Ｐ＿ＤＢに含まれる全てのＱＡＯＵに対して処理を行って得られる画像をオフセットフィルタ済復号画像Ｐ＿ＯＦとして出力する。なお、適応オフセットフィルタ処理部８２の構成は、適応オフセットフィルタ処理部６２と同一のため、ここでは説明を省略する。
【０３８３】
また、適応クリップタイプを用いる構成であってもよい。すなわち、オフセットタイプの１つとして、適応クリップ（ＡＣ）タイプを設けるようにしてもよい。この場合、オフセットタイプは、ＥＯ、ＢＯ、ＡＣの３種類となる。適応クリップタイプ（ＡＣ）では、オフセットを用いず、下限値ｃ１と上限値ｃ２とのクリップを用いて、画素値ｘがｃ１≦ｘ≦ｃ２となるように画素値を補正する。
【０３８４】
図２２は適応クリップタイプを説明する図である。図２２（ａ）はビット深度が８ビットの場合に下限値ｃｌ１および上限値ｃｌ２を用いてクリップを行う例であり、図２２（ｂ）および（ｃ）は、下限値ｃｌ１および上限値ｃｌ２の例として、輝度に対してはｃｌ１＝１６、ｃｌ２＝２３５、色差に対してはｃｌ１＝１６、ｃｌ２＝２４０を用いる例である。テレビ放送の映像信号など、画素値のビット深度で表現可能な範囲とは異なる範囲で下限値および上限値が定められている場合に用いるとよい。
【０３８５】
適応クリップタイプを用いることにより、オフセットの符号化処理や多数のオフセットを保持するメモリが不要となる。なお、クリップの下限値および上限値を、固定値でなく適応的に与える場合には、下限値と上限値を符号化すればよい。この場合は、それぞれ適当な固定値からの差分、たとえば下限値は１６からのオフセット、上限値は２３５からのオフセットを符号化することが好ましい。特に、上限値は大きな値となるため、このようにすることで、符号化効率を下げることがない。
【０３８６】
（クリップ処理の削減）
動画像復号装置１について既に説明したように、バンドオフセット処理においては、クリップ処理の削減が可能である。ここでは、前記動画像復号装置１における各々のクリップ処理の削減方法に対応する符号化データ＃１を生成するための、動画像符号化装置２における処理方法について説明する。なお、既出の内容については説明を適宜省略する。
【０３８７】
（クリップ処理の削減方法１）
動画像復号装置１におけるクリップ処理の削減方法１の項で説明した方法に対応する、動画像符号化装置２の処理について説明する。動画像符号化装置２における適応オフセットフィルタ処理部８２の構成は、動画像復号装置１の適応オフセットフィルタ処理部６２と同一であり、動画像復号装置１の説明において適応オフセットフィルタ処理部６２の変形として説明した例が、そのまま適用される。
【０３８８】
（クリップ処理の削減方法２）
動画像復号装置１におけるクリップ処理の削減方法２の項で説明した方法に対応する、動画像符号化装置２の処理についても、上記の方法１と同様に、動画像復号装置１の説明において適応オフセットフィルタ処理部６２の変形として説明した例が、そのまま適用される。加えて、図２９の（ａ）または（ｂ）に示すバンドクラス変換テーブル２９０１、２９０２を、適応オフセットフィルタ情報設定部８１で用いればよい。
【０３８９】
（クリップ処理の削減方法３）
動画像復号装置１におけるクリップ処理の削減方法３の項で説明した方法に対応する、動画像符号化装置２の処理について説明する。動画像符号化装置２の適応オフセットフィルタ情報設定部８１において、オフセットクリップ部８１２がオフセットを所定の値域にクリップすることは既に説明した。ここで、オフセットタイプがバンドオフセットの場合に、クラスの値域に応じてオフセットの値を制限することで、クリップ処理を削減することができる。具体的には、図２８に示すオフセット制限領域ＯＬＲ０に対応するクラスにおけるオフセットの範囲を、０または正の値と制限すれば、明らかにオフセット加算後の画素値は０未満とはならない。同様に、オフセット制限領域ＯＬＲ１に対応するクラスにおけるオフセットの範囲を、０または負の値と制限すれば、明らかにオフセット加算後の画素値はｍａｘより大きな値となることはない。ただし、これらの制限は、オフセットの精度や分割深度や画素の種別などに基づいて決定される、オフセットの所定の値域を超えない範囲で行う。
【０３９０】
（クリップ処理の削減方法４）
動画像復号装置１におけるクリップ処理の削減方法４の項で説明した方法に対応する、動画像符号化装置２の処理についても、上記の方法３と同様に、オフセットクリップ部８１２において、２組以上設定されたオフセット制限領域のそれぞれに対応するクラスの値域に応じた制限を施すとよい。これにより、画素値を規定の範囲に近づけるとともに、クリップ処理を削減することができる。
【０３９１】
上記いずれの方法においても、オフセットの値域と画素ビット深度に基づいて、クリップ処理を生じないオフセット制限領域を設定したうえで符号化された符号化データを用いれば、動画像復号装置１におけるクリップ処理を軽減し、処理を高速化することができる。
【０３９２】
（付記事項１）
上述したように、画素値の成分をはじめとするパラメータ条件に応じてクラス分類のための変換テーブルを切り替える方法は、さらに他のパラメータ条件と組み合わせることもできる。例えば、ＱＡＯＵの階層が閾値以上である場合や、ＱＡＯＵのサイズが所定の閾値以下の場合、あるいはＱＰ値が所定の閾値以上である場合にのみ上述のような成分の種類に応じた処理や変換テーブルの切り替えを行い、それ以外の場合には切り替えずに、輝度画素と同一の処理や変換テーブルを色差画素でも用いてもよい。
【０３９３】
（付記事項２）
また、特定タイプのピクチャ、例えばＢピクチャや非参照ピクチャ（ＩＤＲピクチャ）でのみ、上述のようなパラメータ条件に応じた処理や変換テーブルの切り替えを行ってもよい。例えば、Ｉピクチャは相対的にＰピクチャおよびＢピクチャよりも誤差が小さいため、Ｉピクチャでは輝度画素と色差画素とで変換テーブルの切り替えを行わず、ＰピクチャおよびＢピクチャでのみ上述のような変換テーブルの切り替えを行うとよい。
【０３９４】
（付記事項３）
また、符号化プロファイルやレベル等を表す符号化パラメータに応じて、上述のように、パラメータ条件に応じた処理や変換テーブルの切り替えを行ってもよい。例えば、処理量や複雑度が小さいことが優先される場合には、上述のような変換テーブルの切り替えを行わず、そうでない場合には、変換テーブルの切り替えを行うようにするとよい。
【０３９５】
（応用例）
上述した動画像復号装置１および動画像符号化装置２は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像（ＣＧおよびＧＵＩを含む）であってもよい）。
【０３９６】
まず、上述した動画像復号装置１および動画像符号化装置２を、動画像の送信および受信に利用できることを、図２３を参照して説明する。
【０３９７】
図２３（ａ）は、動画像符号化装置２を搭載した送信装置Ａの構成を示したブロック図である。図２３（ａ）に示すように、送信装置Ａは、動画像を符号化することによって符号化データを得る符号化部Ａ１と、符号化部Ａ１が得た符号化データで搬送波を変調することによって変調信号を得る変調部Ａ２と、変調部Ａ２が得た変調信号を送信する送信部Ａ３と、を備えている。上述した動画像符号化装置２は、この符号化部Ａ１として利用される。
【０３９８】
送信装置Ａは、符号化部Ａ１に入力する動画像の供給源として、動画像を撮像するカメラＡ４、動画像を記録した記録媒体Ａ５、動画像を外部から入力するための入力端子Ａ６、および画像を生成または加工する画像処理部Ａ７を更に備えていてもよい。図２３（ａ）においては、これら全てを送信装置Ａが備えた構成を例示しているが、一部を省略しても構わない。
【０３９９】
なお、記録媒体Ａ５は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体Ａ５と符号化部Ａ１との間に、記録媒体Ａ５から読み出した符号化データを記録用の符号化方式に従って復号する復号部（不図示）を介在させるとよい。
【０４００】
図２３（ｂ）は、動画像復号装置１を搭載した受信装置Ｂの構成を示したブロック図である。図２３（ｂ）に示すように、受信装置Ｂは、変調信号を受信する受信部Ｂ１と、受信部Ｂ１が受信した変調信号を復調することによって符号化データを得る復調部Ｂ２と、復調部Ｂ２が得た符号化データを復号することによって動画像を得る復号部Ｂ３と、を備えている。上述した動画像復号装置１は、この復号部Ｂ３として利用される。
【０４０１】
受信装置Ｂは、復号部Ｂ３が出力する動画像の供給先として、動画像を表示するディスプレイＢ４、動画像を記録するための記録媒体Ｂ５、および、動画像を外部に出力するための出力端子Ｂ６を更に備えていてもよい。図２３（ｂ）においては、これら全てを受信装置Ｂが備えた構成を例示しているが、一部を省略しても構わない。
【０４０２】
なお、記録媒体Ｂ５は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部Ｂ３と記録媒体Ｂ５との間に、復号部Ｂ３から取得した動画像を記録用の符号化方式に従って符号化する符号化部（不図示）を介在させるとよい。
【０４０３】
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送（ここでは、送信先が予め特定されていない送信態様を指す）であってもよいし、通信（ここでは、送信先が予め特定されている送信態様を指す）であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、および有線通信の何れによって実現してもよい。
【０４０４】
例えば、地上デジタル放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を無線放送で送受信する送信装置Ａ／受信装置Ｂの一例である。また、ケーブルテレビ放送の放送局（放送設備など）／受信局（テレビジョン受像機など）は、変調信号を有線放送で送受信する送信装置Ａ／受信装置Ｂの一例である。
【０４０５】
また、インターネットを用いたＶＯＤ（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）、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【０４２２】
本発明は上述した各実施の形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０４２３】
本発明は、画像データにオフセットフィルタリングを行う画像フィルタに好適に用いることができる。また、符号化データを復号する復号装置、および、符号化データを符号化する符号化装置に好適に適用することができる。
【符号の説明】
【０４２４】
１      動画像復号装置（画像復号装置）
２      動画像符号化装置（画像符号化装置）
１６      インター予測画像生成部（予測画像生成手段）
１７      イントラ予測画像生成部（予測画像生成手段）
２５      イントラ予測画像生成部（予測画像生成手段）
２６      インター予測画像生成部（予測画像生成手段）
６０      適応オフセットフィルタ（画像フィルタ装置、オフセット加算手段）
８０      適応オフセットフィルタ（画像フィルタ装置、オフセット加算手段）
６２３      オフセットタイプ導出部（オフセット決定手段）
６２４      クラス分類部（クラス分類方法選択手段、クラス分類手段、オフセット選択方法決定手段、オフセット選択手段）
６２５      オフセット属性設定部
６２６      オフセット導出部（オフセット決定手段）
６２７      オフセット加算部（フィルタ手段、オフセット修正手段）
【図１】
2013138395.tif 000003
【図２】
2013138395.tif 000004
【図３】
2013138395.tif 000005
【図４】
2013138395.tif 000006
【図５】
2013138395.tif 000007
【図６】
2013138395.tif 000008
【図７】
2013138395.tif 000009
【図８】
2013138395.tif 000010
【図９】
2013138395.tif 000011
【図１０】
2013138395.tif 000012
【図１１】
2013138395.tif 000013
【図１２】
2013138395.tif 000014
【図１３】
2013138395.tif 000015
【図１４】
2013138395.tif 000016
【図１５】
2013138395.tif 000017
【図１６】
2013138395.tif 000018
【図１７】
2013138395.tif 000019
【図１８】
2013138395.tif 000020
【図１９】
2013138395.tif 000021
【図２０】
2013138395.tif 000022
【図２１】
2013138395.tif 000023
【図２２】
2013138395.tif 000024
【図２３】
2013138395.tif 000025
【図２４】
2013138395.tif 000026
【図２５】
2013138395.tif 000027
【図２６】
2013138395.tif 000028
【図２７】
2013138395.tif 000029
【図２８】
2013138395.tif 000030
【図２９】
2013138395.tif 000031
【図３０】
2013138395.tif 000032
【図３１】
2013138395.tif 000033
【図３２】
2013138395.tif 000034
【図３３】
2013138395.tif 000035
【図３４】
2013138395.tif 000036
【図３５】
2013138395.tif 000037
【図３６】
2013138395.tif 000038
【図３７】
2013138395.tif 000039
【図３８】
2013138395.tif 000040
【図３９】
2013138395.tif 000041
【図４０】
2013138395.tif 000042
【図４１】
2013138395.tif 000043
【図４２】
2013138395.tif 000044
【図４３】
2013138395.tif 000045
【図４４】
2013138395.tif 000046
【図４５】
2013138395.tif 000047
【図４６】
2013138395.tif 000048
【図４７】
2013138395.tif 000049
【図４８】
2013138395.tif 000050
【図４９】
2013138395.tif 000051
【図５０】
2013138395.tif 000052