(57)【要約】      （修正有）【課題】画像の再構成されたサンプルセットの補償オフセットを復号するための方法および装置を提供する。【解決手段】サンプル適応オフセットによるフィルタリング処理に関するパラメータを復号する際に、パラメータが、サンプル適応オフセットループフィルタリング無しを示す場合、あるいは、第１のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、復号されるパラメータは、第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、第１のタイプとは異なる第２のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、第１のクロマコンポーネントおよび第２のクロマコンポーネントにそれぞれ専用のパラメータを復号する。【選択図】図１０
2018139426.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一部の画像を構成するために復号されたサンプルに対して、サンプル適応オフセットによるフィルタリング処理を行う方法であって、
符号化されたサンプルの第１のクロマコンポーネントおよび第２のクロマコンポーネントを復号するステップと、
前記サンプル適応オフセットによるフィルタリング処理に関するパラメータを復号するステップと、
前記復号されたサンプル適応オフセットのパラメータに基づいて、前記復号された第１のクロマコンポーネントおよび第２のクロマコンポーネントに対してフィルタリング処理を行うステップと、を有し、
前記パラメータが、サンプル適応オフセットループフィルタリング無しを示す場合、前記復号されるパラメータは、前記第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、
前記パラメータが、第１のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、前記復号されるパラメータは、前記第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、
前記パラメータが、前記第１のタイプとは異なる第２のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、前記第１のクロマコンポーネントおよび第２のクロマコンポーネントにそれぞれ専用のパラメータが復号される、ことを特徴とする方法。
【請求項２】
請求項１に記載の方法の各ステップを実現するためのコンピュータプログラムの命令を格納するコンピュータ可読記憶媒体。
【請求項３】
少なくとも一部の画像を構成するために復号されたサンプルに対して、サンプル適応オフセットによるフィルタリング処理を行う装置であって、
符号化されたサンプルの第１のクロマコンポーネントおよび第２のクロマコンポーネントを復号する手段と、
前記サンプル適応オフセットによるフィルタリング処理に関するパラメータを復号する手段と、
前記復号されたサンプル適応オフセットのパラメータに基づいて、前記復号された第１のクロマコンポーネントおよび第２のクロマコンポーネントに対してフィルタリング処理を行う手段と、を有し、
前記パラメータが、サンプル適応オフセットループフィルタリング無しを示す場合、前記復号されるパラメータは、前記第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、
前記パラメータが、第１のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、前記復号されるパラメータは、前記第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、
前記パラメータが、前記第１のタイプとは異なる第２のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、前記第１のクロマコンポーネントおよび第２のクロマコンポーネントにそれぞれ専用のパラメータが復号される、ことを特徴とする装置。
【請求項４】
請求項３に記載の各手段を実現するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオコーデックの符号化効率および／または復号化の複雑さを改善するために、画像の再構成されたサンプルのセットのための補償オフセットを復号するための方法および装置に関する。本発明はさらにデジタル画像のシーケンスを復号するための方法および装置に関する。
【背景技術】
【０００２】
本発明は、デジタル信号処理の分野で、特にビデオ圧縮の分野でビデオストリーム中の空間的および時間的冗長性を低減するために動き補償を使用することに、適用されてもよい。
【０００３】
例えば、Ｈ．２６３、Ｈ．２６４、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＳＶＣのような多くのビデオ圧縮フォーマットは、空間的および時間的冗長性を除去するためにブロックベース離散コサイン変換（ＤＣＴ）および動き補償を使用する。それらはしばしば予測ビデオフォーマットと呼ばれる。映像信号の各フレームまたは画像は符号化され、独立して復号化できるスライスに分割される。スライスは一般的にはフレームの長方形の部分であり、またはより一般的にはフレームの一部またはフレーム全体である。さらに、各スライスはマクロブロック（ＭＢ）に分割されてもよく、各マクロブロックはブロックに、一般的には６４×６４、３２×３２、１６×１６または８×８画素のブロックにさらに分割される。
【０００４】
Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）では６４×６４から４×４のブロックが使用されてもよい。パーティショニングは最大符号化ユニット（ＬＣＵ）に基づいて四分木構造に従って構成される。ＬＣＵは、例えば６４×６４の正方形のブロックに対応する。ＬＣＵを分割する必要がある場合、分割フラグはＬＣＵが４つの３２×３２ブロックに分割されることを示す。同様に、これらの４ブロックのいずれかを分割する必要がある場合、分割フラグが真に設定され３２×３２のブロックが４つの１６×１６のブロックなどに分割される。スプリットフラグが偽に設定されている際には、現在のブロックは符号化ユニットＣＵである。ＣＵは６４×６４、３２×３２、１６×１６または８×８画素に等しいサイズを有する。
【０００５】
画像のブロックを符号化する符号化モードとして２つのファミリがある：イントラ予測と呼ばれる空間的な予測に基づいた符号化モード、および時間的予測に基づいた符号化モード（インター、マージ、スキップ）である。空間的および時間的な予測モードの両方において、残差は元のブロックから予測値を減算することにより計算される。
【０００６】
イントラブロックは一般的にその因果境界で符号化された画素からイントラ予測処理により予測される。イントラ予測では、予測方向が符号化される。
【０００７】
時間的予測は、符号化されるブロックへの最も似通った画像部またはリファレンスエリアを、ビデオシーケンスの過去または将来のフレームのいずれかであるリファレンスフレームの中に見出すことである。このステップは一般的には動き推定として知られる。次に、符号化されるブロックは一般的に動き補償と呼ばれるステップでリファレンスエリアを使用して予測され−動き補償のために使用するリファレンスエリアを示す動きベクトルに対する動き情報の項目と共に、符号化されるブロックおよびリファレンス部との間の差分が符号化される。時間的予測では、少なくとも１つの動きベクトルが符号化される。
【０００８】
動き情報の符号化コストをさらに低減するために、動きベクトルを直接符号化するよりも、動きが均等であると仮定すると動きベクトルおよび動きベクトル予測子との間の差分の点から動きベクトルは符号化されてもよく、一般的には符号化されるブロックの周辺ブロックの１つまたは複数の動きベクトルから計算される。
【０００９】
Ｈ．２６４では、例えば動きベクトルは符号化されるブロックの因果的近傍に位置する動きベクトルから、例えば符号化されるブロックの上方および左側に位置する３つのブロックから計算された中央値予測子に関して符号化される。中央値予測子および現在ブロックの動きベクトルとの間の、残差動きベクトルと呼ばれる、唯一の違いが符号化コストを削減するためにビットストリーム内で復号化される。
【００１０】
残差動きベクトルを使用した符号化はいくらかのビットレートを節約するが、符号化されるブロックの動きベクトルの値を復号化するために動きベクトル予測子の同じ計算を復号器が行うことを必要とする。
【００１１】
符号化および復号化処理の両方は符号化された画像の復号化処理を含んでいてもよい。この処理は一般的には符号器および対応する復号器が同じリファレンスフレームを有することを可能にする将来の動き推定を目的として符号器側で行われる。
【００１２】
符号化されたフレームを再構成するため、画素エリアにおける「復号化」残差を提供するために残差は逆量子化され逆変換される。第１の再構成は次に１つまたはいくつかの種類のポストフィルタリング処理によりフィルタリングされる。これらのポストフィルタは同じリファレンスフレームを両側で使用されるようにするために、符号器および復号器側での復元されたフレームに適用される。このポストフィルタリングの目的は圧縮アーチファクトを除去し画像品質を改善することである。例えば、Ｈ．２６４／ＡＶＣはデブロッキングフィルタを使用する。このフィルタは残差のＤＣＴ量子化およびブロック動き補償に起因するブロッキングアーチファクトを除去することができる。現在のＨＥＶＣ規格では、３種類のループフィルタが使用される：デブロッキングフィルタ、サンプル適応オフセット（ＳＡＯ）および適応ループフィルタ（ＡＬＦ）。
【００１３】
図１は公知のＨＥＶＣ実施態様のループフィルタ処理のステップを示すフローチャートである。最初のステップ１０１において、符号器または復号器はフルフレームの再構成を生成する。次に、ステップ１０２においてデブロッキングフィルタがデブロックされた再構成を生成する１０３ためにこの第１の再構成に適用される。デブロッキングフィルタの目的は、残差量子化およびブロック動き補償またはブロックイントラ予測により生成されたブロックアーチファクトを除去することである。これらのアーチファクトは低ビットレートで視覚的に重要である。デブロッキングフィルタは２つの隣接ブロックの特性に応じてブロック境界を平滑化するように動作する。各ブロックの符号化モード、残差コーディングのために使用される量子化パラメータ、および境界における隣接画素差分が考慮される。同じ基準／分類がすべてのフレームに適用され、追加データは送信されない。デブロッキングフィルタはブロッキングアーチファクトを除去することにより現在のフレームの視覚的品質を改善し、それはまた後続のフレームのための動き推定および動き補償を改善する。実際に、ブロックアーチファクトの高周波数が除去され、それ故にこれらの高周波数は次のフレームのテクスチャ残差で補償される必要はない。
【００１４】
デブロッキングフィルタの後に、デブロックされた再構成がステップ１０４においてサンプル適応オフセット（ＳＡＯ）ループフィルタによりフィルタリングされる。結果のフレーム１０５は次のインターフレームのためのリファレンスフレームとして表示され使用されるであろう再構成フレーム１０７を生成するためにステップ１０６において次に適応ループフィルタ（ＡＬＦ）でフィルタリングされる。
【００１５】
ＳＡＯループフィルタおよびＡＬＦの目的は、デブロッキングフィルタでは何の情報も送信されないのとは対照的に、追加データを送信することによりフレーム再構成を改善することである。
【００１６】
ＳＡＯループフィルタの原理は各画素をクラスに分類し、クラスの各画素のそれぞれの画素値に同一のオフセット値を加算することである。このように１つのオフセットが各クラスに送信される。ＳＡＯループフィルタリングはフレームエリアに２種類の分類（クラス分け）を提供する：エッジオフセットおよびバンドオフセット。エッジオフセット分類はその対応する画素値を２つの隣接画素の画素値と比較することにより各画素のクラスを決定することを含む。また、２つの隣接画素は２つの隣接画素の方向を示すパラメータに依存する。これらの方向は０度（水平方向）、４５度（対角線方向）、９０度（垂直方向）および１３５度（第２の対角線方向）である。使用される方向は現在のＨＥＶＣ仕様でｓａｏ＿ｔｙｐｅ＿ｉｄｘと呼ばれるＳＡＯパラメータにより与えられる。別表の表１に示すように、その値は典型的に０から５まで変化する。ｓａｏ＿ｔｙｐｅ＿ｉｄｘはまたＳＡＯフィルタリングが行われるか否かおよびＳＡＯフィルタリングのタイプを示すために使用される。
【００１７】
説明のために、画素値（またはサンプル）Ｃに加算されるオフセットは、所定の方向について、Ｃｎ１およびＣｎ２が２つの隣接画素またはサンプル（指定された方向に応じた）の値を指定する別表の表２に記載の通りのルールに従って決定できる。従って、値Ｃが２つの値Ｃｎ１およびＣｎ２よりも小さい際には、Ｃに加算されるオフセットは＋Ｏ１であり、それがＣｎ１またはＣｎ２よりも小さくかつ他の値（Ｃｎ１またはＣｎ２）に等しい際には、使用されるオフセットは＋Ｏ２であり、それがＣｎ１またはＣｎ２よりも大きくかつ他の値（Ｃｎ１またはＣｎ２）に等しい際には、使用されるオフセットは−Ｏ３であり、それがＣｎ１またはＣｎ２よりも大きい際には、使用されるオフセットは−Ｏ４である。これらの条件がいずれも満たされない際には、オフセット値は現在の画素値Ｃに加算されない。
【００１８】
エッジオフセットモードに従って、各オフセットの絶対値のみがビットストリームに符号化され、適用される符号が現在の画素が属する分類の関数として決定されることに留意すべきである。したがって、別表の表２によれば、正のオフセットは分類１および２に関連する一方、負のオフセットは分類３および４に関連する。
【００１９】
分類の第２のタイプは画素値に依存するバンドオフセット分類である。ＳＡＯバンドオフセットにおけるクラスは画素値の範囲に対応する。このように、同じオフセットが画素値の所与の範囲内の画素値を有するすべての画素に加算される。
【００２０】
フレームの内容により適応的であるためには、ＳＡＯフィルタリングは現在のフレームをいくつかの空間領域に分割するいくつかのフレームエリアに適用される。現在、フレームエリアはＨＥＶＣにおける最大符号化単位の有限数に対応する。その結果、１つのフレームエリアは、いくつかのフレームエリアのみがフィルタリングされるようにＳＡＯによりフィルタリングされてもまたはされなくてもよい。また、ＳＡＯが有効になっている際には、１つだけＳＡＯ分類が使用される：各分類のために送信される関連するパラメータに応じたエッジオフセットまたはバンドオフセット。最後に、各ＳＡＯリーフノードに対して、そのパラメータだけでなくＳＡＯ分類およびすべてのクラスのオフセットが送信される。
【００２１】
符号化されるビデオデータの画像はサンプル値の２次元アレイのセット（カラーチャネルとしても知られる）として提供されてもよく、サンプル値の各入力は、輝度の強度、及び中間グレースケール色から青色または赤色への色差の強度の指標（ＹＵＶ）、または赤色、緑色、または青色の光成分強度の指標（ＲＧＢ）のような色成分コンポーネントの強度を表す。ＹＵＶのモデルは１つのルミナンス（Ｙ）および２つのクロミナンス（ＵＶ）コンポーネントに関して色空間を定義する。一般的に、Ｙは輝度コンポーネントを、ＵおよびＶはクロミナンス（色）またはクロマコンポーネントを表す。
【００２２】
ＳＡＯフィルタリングはルミナンスに独立におよびＵおよびＶの両方のクロマコンポーネントに一般的に適用される。
【００２３】
ＳＡＯバンドオフセットの公知の実施態様は画素値の範囲を図２に示す同じサイズの３２の定義済み範囲に分割する。画素値の範囲の最小値は常に０であり、最大値は次の関係Ｍａｘ＝２Ｂｉｔｄｅｐｔｈ
に従って画素値のビット深度に依存する。
【００２４】
画素値のすべての範囲を３２の範囲に分割すると、高速な分類が出来る、各画素を分類するための５ビットの使用が可能となる。従って１つの画素を分類するために、５ビットのみが３２のクラスの一つまたはすべての範囲の一つにおいてチェックされる。これは一般的に８ビットで符号化された値の最上位５ビットをチェックすることにより行われる。
【００２５】
例えば、ビット深度が８ビットである際には、画素の可能な最大値は２５５である。このように、画素値の範囲は０から２５５までの間である。このビット深度８ビット用に、各クラスが８画素値の範囲を含む。
【００２６】
ＳＡＯバンドフィルタリングの目的は最初のクラスまたはバンドにより決定された４つの連続したクラスまたは範囲のグループに属する画素のフィルタリングである。後者は復号器がフィルタリングされる画素の４つの連続したクラスまたは範囲を決定できるようにビットストリーム内で送信される。この位置を表すパラメータは現在のＨＥＶＣ仕様書でｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎと呼ばれる。
【００２７】
説明のために、フィルタリングされる画素の４つの連続したクラスまたは範囲２０１から２０４のグループは図２ではグレーの領域として表される。上述したように、このグループはその位置（例えば、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）により識別できる。所与の例によれば、クラスまたは範囲２０１は６４および７１の間に含まれる値を有する画素に関系する。同様に、クラスまたは範囲２０２から２０４は７２および７９、８０および８７、８８および９６の間それぞれに含まれる値を有する画素に関系する。
【００２８】
図３は現在のフレームエリア３０３（一般的には処理された画像の１つのコンポーネントに対応するＬＣＵブロック）のために符号器内でオフセットを選択する方法のステップを示すフローチャートである。フレームエリアはＮ個の画素を含む。最初のステップ３０１において、変数ＳｕｍｊおよびＳｕｍＮｂＰｉｘｊは４つの範囲の各々についてゼロの値に設定される。ｊは現在の範囲またはクラス番号を示す。Ｓｕｍｊは範囲ｊ内の画素の値およびそれら元の画素に対応する値との差分の和を示す。ＳｕｍＮｂＰｉｘｊは範囲ｊ内の画素の数を示す。
【００２９】
ステップ３０２において、カウンタ変数ｉは値ゼロに設定される。次に、フレームエリア３０３の最初の画素Ｐｉがステップ３０４において抽出され、現在の画素Ｐｉに対応するクラス番号Ｊがステップ３０５において取得される。次に、現在の画素Ｐｉのクラス番号Ｊが値「該当なし」に対応するか否かを決定するために、別表の表２を参照して上述したように、ステップ３０６でテストが実行される。現在の画素Ｐｉのクラス番号Ｊが値「該当なし」に対応する場合、カウンタ変数ｉの値がフレームエリア３０３の後続の画素を分類するために１だけインクリメントされる。一方、現在の画素Ｐｉのクラス番号Ｊが値「該当なし」に対応しない場合、現在の画素Ｐｉに対応するＳｕｍＮｂＰｉｘｊ変数が１だけインクリメントされ、Ｐｉおよびその元の値Ｐｉｏｒｇとの間の差分がステップ３０７でＳｕｍｊに加算される。
【００３０】
次のステップにおいて、カウンタ変数ｉがフレームエリア３０３の他の画素に分類を適用するために１だけインクリメントされる。ステップ３０９において、フレームエリア３０３のＮ個のすべての画素が分類されているか否か（すなわち、ｉ≧＝Ｎか）が決定され、はいの場合、各クラス用のＯｆｆｓｅｔｊがステップ３１０においてオフセット選択アルゴリズムの最終結果として各クラスｊ用のオフセットを提示するオフセットテーブル３１１を作成するために計算される。このオフセットはクラスｊの画素の画素値およびそれらの元の画素値それぞれとの間の差分の平均値として計算される。クラスｊ用のＯｆｆｓｅｔｊは次式で与えられる。
Ｏｆｆｓｅｔｊ＝Ｓｕｍｊ／ＳｕｍＮｂＰｉｘｊ
計算されたオフセットＯｆｆｓｅｔｊは歪みに関して最適なオフセットとみなせる。これは以下ではＯｏｐｔｊと呼ばれる。このオフセットから、レート歪み基準に従って改善されたオフセット値Ｏ＿ＲＤｊを決定することが可能である。
【００３１】
図４は改善されたレート歪み基準に従ってオフセットを決定するための方法のステップを示すフローチャートである。最初のステップ４０１において、現在の範囲またはクラス番号ｊのレート歪み値Ｊｊは所定の最大可能値（ｍａｘ＿ＶＡＬＵＥ）に初期化される。
【００３２】
次に、ステップ４０２でオフセットＯｊをＯｏｐｔｊからゼロに変更するためにループが起動される。値Ｏｏｐｔｊが負でならば、変数Ｏｊはそれがゼロに達するまで１だけインクリメントされ、値Ｏｏｐｔｊが正でならば、変数Ｏｊはゼロに達するまで１だけデクリメントされる。
【００３３】
ステップ４０３において、変数Ｏｊに関連したレート歪みコスト、Ｊ（Ｏｊ）と示される、は例えば次の式に従って計算される。
【００３４】
【数１】
2018139426.tif 000003
【００３５】
λはラグランジュパラメータであり、Ｒ（Ｏｊ）はＯｊに関連付けられた符号語のために必要なビット数を提供する関数である。
【００３６】
【数２】
2018139426.tif 000004
【００３７】
に対応する式の一部はオフセットＯｊにより与えられる歪みに関する改善に関連する。
【００３８】
ステップ４０４において、値Ｊ（Ｏｊ）およびＪｊは互いに比較される。値Ｊ（Ｏｊ）が値Ｊｊよりも小さい場合、ＪｊはＪ（Ｏｊ）の値に設定され、Ｏ＿ＲＤｊはＯｊの値に設定される。
【００３９】
ステップ４０５において、オフセットＯｊのすべての可能な値が処理されたか否かが決定される（すなわちＯｊ＝０か）。オフセットＯｊがゼロに等しい場合、ループは終了し、クラスｊのための改善されたオフセット値（Ｏ＿ＲＤｊ）が識別される。若しくは、ループは次のＯｊ値で継続する。
【００４０】
図３を参照することにより説明されたアルゴリズムは、分類タイプをオフセットバンドに従った最初のクラスまたは範囲（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）の位置を決定するために使用できることに留意されたい。そのために、インデックスｊは区間［０，３２］の値を表す（［１，４］の代わりに）。換言すれば、値４は図３のモジュール３０１、３１０、および３１１内で値３２により置き換えられる。
【００４１】
より具体的には、現在画素の値およびその元の値Ｐｏｒｇｉとの差分Ｓｕｍｊは図２に示される３２のクラスの各々について計算することができる、すなわち各範囲ｊ（ｊは区間［０，３２］に属する）に対してと言うことである。
【００４２】
次に、改善されたオフセットＯ＿ＲＤｊはレート歪みの点で図４を参照することにより記述されるものと同様のアルゴリズムに従って３２のクラスについて計算することができる。
【００４３】
次に、最初のクラスまたは範囲の位置を決定することができる。
【００４４】
図５はＨＥＶＣのＳＡＯバンドオフセットのためのＳＡＯバンド位置を決定するための方法のステップを示すフローチャートである。これらのステップは図４を参照して説明されたものの後に行われるので、Ｊｊで示されるレート歪み値はすでに各クラスｊについて計算されている。
【００４５】
最初のステップ５０１において、レート歪み値Ｊは所定の最大可能値（ＭＡＸ＿ＶＡＬＵＥ）に初期化される。次に、４つの連続したクラスのグループの最初のクラスの２８の可能な位置に対応する、インデックスｉをゼロから２７まで変化させるためのループがステップ５０２で起動される。
【００４６】
ステップ５０３において、現在のバンドのレート歪み値に対応する変数Ｊ’ｊ、すなわちインデックスｉを有するクラスからの４つの連続したクラスを含むバンドはゼロに初期化される。次に、現在のバンドの４つのクラスに対応する、インデックスｊをｉからのｉ＋３に変更させるためのループがステップ５０４で起動される。
【００４７】
次に、ステップ５０５において、変数Ｊ’ｉの値はインデックスｊ（Ｊｊ）を有するクラスのレート歪み値の値だけインクリメントされる。このステップは現在のバンドの４つのクラスについて繰り返される、すなわちインデックスｊがｉ＋３に達するまでと言うことである（ステップ５０６）。ステップ５０７において、現在のバンドのレート歪み値Ｊ’ｊがレート歪み値Ｊよりも小さいか否かを決定するためにテストが行われる。現在のバンドのレート歪み値Ｊ’ｊがレート歪み値Ｊよりも小さい場合、レート歪み値Ｊは現在のバンドのレート歪みＪ’ｊの値に設定され、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎで示されるバンド位置の値はインデックスｉの値に設定される。
【００４８】
これらのステップは４つの連続したクラスのグループの最初のクラスの２８の可能な位置について（ステップ５０８）使用されるバンド位置を決定するために繰り返される。
【００４９】
図６は、ＳＡＯループフィルタに従って、一般的には処理される画像の１つのコンポーネントに対応するＬＣＵブロックである、フレームエリアをフィルタリングするための方法のステップを示すフローチャートである。
【００５０】
このようなアルゴリズムはフレームを復号化する復号器において、および次のフレームのための動き推定および補償に使用されるリファレンスフレームを生成する符号器において一般的に実行される。
【００５１】
最初のステップ６０１において、ＳＡＯフィルタリングパラメータが、例えば受信されたビットストリームから取得される。所与のフレームのエリアのために、これらのパラメータは一般的にはテーブル６０３およびｓａｏ＿ｔｙｐｅ＿ｉｄｘのパラメータに格納することができる４つのオフセットを備える。後者に応じて、これらのパラメータはＳＡＯバンド位置をさらに備えていてもよい。説明のために、ｓａｏ＿ｔｙｐｅ＿ｉｄｘタイプの取得されたパラメータが５に等しい場合、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎタイプの対応するパラメータが次に取得される（６０２）。前のフレームエリアの対応するパラメータの値の関数として所与のフレームエリアのＳＡＯパラメータの値を決定することを可能にするものとして他のパラメータを取得することができる。ｓａｏ＿ｔｙｐｅ＿ｉｄｘパラメータのための値ゼロのような所与のＳＡＯパラメータの所与値はＳＡＯフィルタリングが適用されないことを示していてもよいことに留意されたい。
【００５２】
ステップ６０４において、カウンタ変数ｉは値ゼロに設定される。次に、Ｎの画素からなる、フレームエリア６０５の最初の画素Ｐｉは前述したようにステップ６０６で抽出され、エッジオフセット分類またはバンドオフセット分類に従ってステップ６０７で分類される。
【００５３】
ステップ６０８において、画素Ｐｉがフィルタリングされる画素のクラスに属するか否かを決定するテストが行われる。画素Ｐｉがフィルタリングされる画素のクラスに属する場合、その関連するクラス番号ｊが識別され、その関連するオフセット値Ｏｆｆｓｅｔｊがステップ６１０でオフセットテーブル６０３から取得される。次に、ステップ６１１において、ＯｆｆｓｅｔｊはＰ’ｉ（６１２）と呼ばれる新たな画素値を生成するために画素Ｐｉの値に加算される。ステップ６１３において、画素Ｐ’ｉは処理されたフレームエリア６１６内の画素Ｐｉを置き換える。一方、画素Ｐｉがフィルタリングされる画素のクラスに属していない場合、ステップ６１３で画素Ｐｉ６０９はフレームエリア内で変更されないままとなる。
【００５４】
次に、画素Ｐｉを処理した後、カウンタ変数ｉは現在のフレームエリア６０５の次の画素と同様にフィルタを適用するためにステップ６１４で１だけインクリメントされる。
【００５５】
ステップ６１５において現在のフレームエリア６０５のすべてのＮ個の画素が処理されたか否かが判断される（ｉ≧Ｎ）。はいの場合、図１を参照すること（１０５を参照）により、処理されるフレームエリア６１６は再構成されＳＡＯ再構成フレームに追加できる。
【００５６】
補償の選択および送信のための公知の方法の欠点は、多数のパラメータが符号器から復号器へ送信されＳＡＯバッファに記憶されなければならないことである。また、これらのパラメータを復号化し処理するために復号器により行われる処理は複雑である。
【発明の概要】
【発明が解決しようとする課題】
【００５７】
本発明は上記の問題の１つまたは複数に対処するために考案されている。
【課題を解決するための手段】
【００５８】
本発明によれば、少なくとも一部の画像を構成するために復号されたサンプルに対して、サンプル適応オフセットによるフィルタリング処理を行う方法であって、符号化されたサンプルの第１のクロマコンポーネントおよび第２のクロマコンポーネントを復号するステップと、前記サンプル適応オフセットによるフィルタリング処理に関するパラメータを復号するステップと、前記復号されたサンプル適応オフセットのパラメータに基づいて、前記復号された第１のクロマコンポーネントおよび第２のクロマコンポーネントに対してフィルタリング処理を行うステップと、を有し、前記パラメータが、サンプル適応オフセットループフィルタリング無しを示す場合、前記復号されるパラメータは、前記第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、前記パラメータが、第１のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、前記復号されるパラメータは、前記第１のクロマコンポーネントと第２のクロマコンポーネントとで共有され、前記パラメータが、前記第１のタイプとは異なる第２のタイプのサンプル適応オフセットによるフィルタリング処理に関するパラメータである場合、前記第１のクロマコンポーネントおよび第２のクロマコンポーネントにそれぞれ専用のパラメータが復号される、ことを特徴とする方法。
【００５９】
本発明による方法の少なくとも一部はコンピュータで実行されてもよい。従って、本発明は、全てハードウェア実施形態、全てソフトウェア実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）または本明細書にて「回路」、「モジュール」または「システム」として参照されるソフトウェアおよびハードウェアの側面を組み合わせた実施形態の形を取ってもよい。さらに、本発明は媒体内に具現化されたコンピュータ使用可能プログラムコードを有する表現の任意の有形媒体内に具現化されるコンピュータプログラム製品の形を取ってもよい。
【００６０】
本発明はソフトウェアで実現できるので、本発明は任意の適切なキャリア媒体上のプログラム可能な装置に提供するためのコンピュータ可読コードとして具現化できる。有形のキャリア媒体はフロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、磁気テープ装置または固体メモリデバイス等の記憶媒体を含む。一過性（一時的）キャリア媒体は電気信号、電子信号、光信号、音響信号、磁気信号または電磁信号、例えばマイクロ波またはＲＦ信号などの信号を含む。
【００６１】
このように、本発明の第５の態様によれば、プログラム可能な装置のためのコンピュータプログラム製品であって、コンピュータプログラム製品はその中にロードされた際にプログラム可能な装置により実行される本発明の上記第１または第２の態様を具現化する方法の各ステップを実現するための一連の命令を備える。
【００６２】
同様に、本発明の第６の態様によれば、本発明の上記第１または第２の態様を具現化する方法の各ステップを実現するためのコンピュータプログラムの命令を記憶するコンピュータ読み出し可能な記憶媒体が提供される。
【００６３】
本発明の実施形態が、一例として、以下の図面を参照して説明される。
【図面の簡単な説明】
【００６４】
【図１】図１は、従来技術のループフィルタ処理のステップを示すフローチャートである。
【図２】図２は、従来技術のＨＥＶＣ処理のサンプル適応バンドオフセット分類をグラフィカルに示す。
【図３】図３は、ＨＥＶＣのＳＡＯバンドオフセットのための補償オフセットを決定するための処理のステップを示すフローチャートである。
【図４】図４は、レート歪みの観点からＳＡＯオフセットを選択するための処理を示すフローチャートである。
【図５】図５は、ＨＥＶＣのＳＡＯバンドオフセットのためのＳＡＯバンド位置を決定するための方法のステップを示すフローチャートである。
【図６】図６は、ＳＡＯループフィルタに従ってフレームエリアをフィルタリングするための方法のステップを示すフローチャートである。
【図７】図７は、本発明の１つまたは複数の実施形態が実現されるデータ通信システムを模式的に示すブロック図である。
【図８】図８は、本発明の１つまたは複数の実施形態が実現される処理デバイスのコンポーネントを示すブロック図である。
【図９】図９は、本発明の実施形態による符号化方法のステップを示すフローチャートである。
【図１０】図１０は、本発明の１つまたは複数の実施形態に沿ったループフィルタリング処理のステップを示すフローチャートである。
【図１１】図１１は、本発明の実施形態による復号化方法のステップを示すフローチャートである。
【図１２】図１２は、適応パラメータセットモードに従ってビットストリームからＳＡＯパラメータを取得するための方法のステップを示すフローチャートである。
【図１３】図１３は、ＬＣＵモードに従ってビットストリームからＳＡＯパラメータを取得するための方法のステップを示すフローチャートである。
【図１４】図１４は、ビットストリーム内のＳＡＯパラメータを読み出すための方法のステップを示すフローチャートである。
【図１５】図１５は、現在のフレームエリアを処理するためのループフィルタで使用されるパラメータを決定するための本発明の第１の実施形態による方法のステップを示すフローチャートである。
【図１６】図１６は、現在のフレームエリアを処理するためのループフィルタで使用されるパラメータを決定するための本発明の第１の実施形態による方法のステップを示すフローチャートである。
【図１７】図１７は、第２のコンポーネントに関連付けられたオフセットのミラーリングされた値に対応するコンポーネントに関連付けられたオフセットの値による特定の実施形態を示す。
【図１８】図１８は、バンドオフセット分類を使用するＳＡＯループフィルタを適用する際に、第１のコンポーネントに関連付けられたオフセットの値から、如何に第２のコンポーネントに関連付けられたオフセットの値を取得できるかを示す。
【図１９】図１９は、バンドオフセット分類を使用するＳＡＯループフィルタを適用する際に、第１のコンポーネントＸに関連付けられｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの値から第２のコンポーネントＺに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの値を取得する方法を示す図である。
【図２０】図２０は、レート歪み基準に従って２つまたは３つのコンポーネントにより使用される最適なオフセットを決定するための方法のステップを示すフローチャートである。
【図２１】図２１は、２つのコンポーネント間で共有されるＳＡＯバンド位置を決定するための方法のステップを示すフローチャートである。
【図２２】図２２は、本発明の特定の実施形態によるビットストリームを復号化するための方法のステップを示すフローチャートである。
【図２３】図２３は、他のコンポーネントＺを同様にフィルタリングする為の１つのコンポーネントＸのＳＡＯ分類の使用を示す。
【発明を実施するための形態】
【００６５】
図７は本発明の１つまたは複数の実施形態が実現されるデータ通信システムを示す。データ通信システムは、データ通信ネットワーク７００を介して、受信装置、この場合クライアント端末７０２に、データストリームのデータパケットを送信するように動作可能である送信装置、この場合サーバ７０１を備える。データ通信ネットワーク７００はＷｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）またはＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）である。このようなネットワークは、例えば無線ネットワーク（Ｗｉｆｉ／８０２．１１ａまたはｂまたはｇ）、イーサネット（登録商標）ネットワーク、インターネットネットワークまたはいくつかの異なるネットワークで構成される混合ネットワークであってもよい。本発明の特定の実施形態において、データ通信システムはサーバ７０１が複数のクライアントに同一のデータコンテンツを送信するデジタルテレビジョン放送システムであってもよい。
【００６６】
サーバ７０１により提供されるデータストリーム７０４はビデオおよびオーディオデータを表すマルチメディアデータから構成されてもよい。オーディオおよびビデオデータストリームは、本発明のいくつかの実施形態において、マイクおよびカメラそれぞれを使用してサーバ７０１によりキャプチャされる。いくつかの実施形態においてデータストリームはサーバ７０１上に格納されてもよく、または別のデータプロバイダからサーバ７０１により受信されてもよく、またはサーバ７０１で生成されてもよい。サーバ７０１にはビデオおよびオーディオストリームを符号化するための符号器が設けられ、符号器への入力としてデータのよりコンパクトな表現である送信のための圧縮されたビットストリームを提供する。
【００６７】
送信されるデータ量に対する送信されるデータ品質比率を良くするために、ビデオデータの圧縮は、例えばＨＥＶＣフォーマットまたはＨ．２６４／ＡＶＣフォーマットに従ったものであってもよい。
【００６８】
クライアント７０２は送信されるビットストリームを受信し、表示装置上にビデオ画像をおよびラウドスピーカにより音声データを再生するために再構成されたビットストリームを復号化する。
【００６９】
ストリーミングシナリオは図７の例で考慮されているが、本発明のいくつかの実施形態において符号器および復号器との間のデータ通信は、例えば光ディスク等のようなメディア記憶デバイスを使用して行うことが好ましい。
【００７０】
本発明の１つまたは複数の実施形態において、ビデオ画像は最終画像におけるフィルタリングされた画素を提供するために画像の再構成画素への適用するための補償オフセットを表すデータと共に送信される。
【００７１】
図８は本発明の少なくとも１つの実施形態を実現するように構成された処理デバイス８００を模式的に示す。処理デバイス８００はマイクロコンピュータ、ワークステーションまたは軽量ポータブル機器等のようなデバイスであってもよい。デバイス８００は、通信バス８１３を備え、
ＣＰＵと表記される、マイクロプロセッサ等のような中央処理ユニット８１１と、
ＲＯＭと表記される、本発明を実施するためのコンピュータプログラムを記憶するための読み出し専用メモリ８０７と、
ＲＡＭと表記される、本発明の実施形態によるデジタル画像のシーケンスを符号化する方法、および／またはビットストリームを復号化する方法を実施するために必要な変数およびパラメータを記録するように構成されたレジスタだけでなく、本発明の実施形態の方法の実行可能なコードを記憶するためのランダムアクセスメモリ８１２と、
処理されるデジタルデータが送信または受信される通信ネットワーク８０３に接続される通信インターフェイス８０２と、
接続される。
【００７２】
必要に応じて、装置８００はまた以下のコンポーネントを含んでいてもよい。
【００７３】
本発明の１つまたは複数の実施形態の方法を実施するためのコンピュータプログラム、および本発明の１つまたは複数の実施形態の実施中に使用されるまたは作製されるデータを格納するためのハードディスク等のようなデータ記憶手段８０４と、
ディスクドライブはディスク８０６からデータを読み出す、または前記ディスク上にデータを書き込むように構成されている、ディスク８０６用のディスクドライブ８０５と、データを表示するおよび／またはキーボード８１０または任意の他のポインティング手段によりユーザとのグラフィカルインターフェイスとして機能する画面８０９。
【００７４】
装置８００は、例えばデジタルカメラ８２０またはマイク８０８等などのような様々な周辺機器に接続できる。それらは入力／出力カード（図示せず）に接続され、装置８００にマルチメディアデータを供給する。
【００７５】
通信バスは装置８００に含まれるか、またはそれに接続された様々な要素間の通信および相互運用性を提供する。バスの表現は限定されず、特に中央処理ユニットは直接装置８００の任意の要素に、または装置８００の他の要素を用いて命令を通信するように動作可能である。
【００７６】
ディスク８０６は、例えばコンパクトディスク（ＣＤ−ＲＯＭ）、書き換え可能または不可な、ＺＩＰディスクまたはメモリカード等の任意の情報媒体により置き換えることができる。また、一般的な用語では、マイクロコンピュータによりまたはマイクロプロセッサにより読み出すことができる、装置内に統合化されたまたはそうではない、またリムーバブルでも良く、そして実行することにより本発明によるデジタル画像のシーケンスを符号化する方法および／またはビットストリームを復号化する方法を実現可能にする１つまたは複数のプログラムを記憶するように構成される情報記憶手段により、置き換えることができる。
【００７７】
実行可能コードは読み出し専用メモリ８０７内、ハードディスク８０４上または前述の例えばディスク８０６等のようなリムーバブルデジタル媒体上のいずれかに格納されてもよい。変形例によれば、プログラムの実行可能コードは、実行される前に装置８００のハードディスク８０４等のような記憶手段の１つに格納するために、インターフェイス８０２を介して、通信ネットワーク８０３によって受信できる。
【００７８】
中央処理ユニット８１１は本発明による命令またはプログラムまたはプログラム群のソフトウェアコードの一部の実行を制御し指示するように構成され、命令は前記記憶手段のいずれかに格納される。電源投入されると、不揮発性メモリ内、例えばハードディスク８０４上または読み出し専用メモリ８０７、に格納されたプログラムまたはプログラム群はランダムアクセスメモリ８１２内に転送される。そして、その場合、ランダムアクセスメモリ８１２はプログラムまたはプログラム群の実行可能コードを含むことになる。また、本発明を実現するために必要な変数およびパラメータを格納するためのレジスタにも転送する。
【００７９】
本実施形態において、装置は本発明を実施するためのソフトウェアを使用するプログラム可能な装置である。しかしながら、代替的には、本発明はハードウェア内に実装されてもよい（例えば、特定用途向け集積回路またはＡＳＩＣの形態で）。
【００８０】
図９は本発明の少なくとも１つの実施形態による符号器９００のブロック図を示す。符号器は接続されるモジュールにより表され、各モジュールは、例えばデバイス８００のＣＰＵ８１１により実行されるプログラミング命令の形態で実施するように構成されており、方法の少なくとも１つの対応するステップが本発明の１つまたは複数の実施形態による画像シーケンスの画像を符号化する少なくとも１つの実施形態を実施する。
【００８１】
デジタル画像ｉ０からｉｎ９０１までのオリジナルのシーケンスは符号器９００により入力として受信される。各デジタル画像は画素として知られているサンプルのセットにより表される。
【００８２】
ビットストリーム９１０は符号化処理の実施後に符号器９００により出力される。ビットストリーム９１０は複数の符号化ユニットまたはスライスを有し、各スライスはスライス本体およびスライス本体を符号化するために使用される符号化パラメータの符号化値を送信するためのスライスヘッダを有し、符号化されたビデオデータを含む。
【００８３】
入力デジタル画像ｉ０からｉｎ９０１はモジュール９０２により画素のブロックに分割される。ブロックは画像部分に対応し、可変サイズ（例えば、４×４、８×８、１６×１６、３２×３２、６４×６４画素）であってもよい。符号化モードは各入力ブロックごとに選択される。符号化モードの２つのファミリが提供される：空間的予測符号化に基づいた符号化モード（イントラ予測）、および時間的予測に基づいた符号化モード（インター符号化、マージ、スキップ）。可能な符号化モードがテストされる。
【００８４】
モジュール９０３はイントラ予測処理を実施する。その時、符号化される所与のブロックは、符号化される前記ブロックの近傍の画素から計算される予測子により予測される。選択されたイントラ予測子および所与のブロックとその予測子との間の差分の表示はイントラ符号化が選択された場合の残差を提供するように符号化される。
【００８５】
時間的予測は動き推定モジュール９０４および動き補償モジュール９０５により実施される。初めに、リファレンス画像９１６のセットの中からリファレンス画像が選択され、符号化される所与のブロックに最も近いエリアである、リファレンスエリアまたは画像部分とも呼ばれる、リファレンス画像の一部は動き推定モジュール９０４により選択される。動き補償モジュール９０５は次に選択されたエリアを使用して符号化されるブロックを予測する。残差ブロックとも呼ばれる、選択されたリファレンスエリアおよび所与のブロックとの間の差分は動き補償モジュール９０５により計算される。選択されたリファレンスエリアは動きベクトルにより示される。
【００８６】
このようにどちらの場合においても（空間的および時間的予測）、残差は元のブロックから予測を減算することにより計算される。
【００８７】
モジュール９０３により実施されるイントラ予測において、予測方向が符号化される。時間的予測において、少なくとも１つの動きベクトルが符号化される。
【００８８】
インター予測が選択された場合、動きベクトルおよび残差ブロックに対する情報が符号化される。ビットレートをさらに減少させるために、動きが均一であると仮定して、動きベクトルは動きベクトル予測子に関する差分により符号化される。動き情報予測子のセットの動きベクトル予測子は動きベクトル予測および符号化モジュール９１７により動きベクトル場９１８から取得される。
【００８９】
符号器９００は、レート歪み基準等のような、符号化コスト基準を適用することにより符号化モードの選択をするための選択モジュール９０６をさらに備える。冗長性をさらに低減するために、変換（ＤＣＴ等のような）が変換モジュール９０７により残差ブロックに適用され、取得された変換されたデータは次に量子化モジュール９０８により量子化され、エントロピー符号化モジュール９０９によりエントロピー符号化される。最後に、符号化されている現在のブロックの符号化された残差ブロックはビットストリーム９１０に挿入される。
【００９０】
符号器９００はまた後続画像の動き推定のためのリファレンス画像を生成するために符号化画像の復号化を行う。これにより符号器および復号器が同じリファレンスフレームを有するビットストリームを受信することを可能となる。逆量子化モジュール９１１は量子化データの逆量子化を行い、その後逆変換モジュール９１２による逆変換を行う。逆イントラ予測モジュール９１３は予測情報を使用して、どの予測子を所与のブロックに使用するかを決定すし、逆動き補償モジュール９１４はリファレンス画像９１６のセットから取得されたリファレンスエリアにモジュール９１２により取得された残差を実際に加算する。
【００９１】
ポストフィルタリングは次に画素の再構成されたフレームをフィルタリングするためにモジュール９１５により適用される。本発明の実施形態においてＳＡＯループフィルタが使用され、補償オフセットが再構成される画像の再構成される画素の画素値に加算される。
【００９２】
図１０は本発明の少なくとも１つの実施形態によるループフィルタリング処理のステップを示すフローチャートである。最初のステップ１００１において、符号器はフルフレームの再構成を生成する。次に、ステップ１００２においてデブロッキング再構成を生成するために１００３デブロッキングフィルタがこの第１の再構成に適用される。デブロッキングフィルタの目的は残差量子化およびブロック動き補償またはブロックイントラ予測により発生したブロックアーチファクトを除去することである。これらのアーチファクトは低ビットレートで視覚的に重要である。デブロッキングフィルタは２つの隣接ブロックの特性に応じてブロック境界を平滑化するように動作する。各ブロックの符号化モード、残差コーディングに使用される量子化パラメータ、および境界における隣接画素差分が考慮される。同じ基準／分類がすべてのフレームに適用され、追加データは送信されない。デブロッキングフィルタはブロッキングアーチファクトを除去することにより現在のフレームの視覚的品質を改善し、それはまた後続のフレームのための動き推定および動き補償をも改善する。実際に、ブロックアーチファクトの高周波数が除去され、それ故これらの高周波数は次のフレームのテクスチャ残差で補償される必要はない。
【００９３】
デブロッキングフィルタの後で、画素の分類に基づいてステップ１００４においてサンプル適応オフセット（ＳＡＯ）ループフィルタによりデブロッキングされた再構成がフィルタリングされる。表示され次のインターフレームのためのリファレンスフレームとして使用される再構成フレーム１００７を生成するために、結果としてのフレーム１００５が、ステップ１００６において適応ループフィルタ（ＡＬＦ）で次にフィルタリングされてもよい。
【００９４】
ステップ１００４においてフレームエリアの各画素はその画素値に従って決定された分類クラスに分類される。クラスは画素値の所定範囲に対応する。同じ補償オフセット値が画素値の所定の範囲内の画素値を有するすべての画素の画素値に加算される。
【００９５】
サーバおよびクライアントとの間で交換されるおよび／またはサンプル適応オフセットフィルタリングのための画素を復号化するためにローカルまたはリモートに格納されるＳＡＯパラメータの符号化および／または復号化が、図１２から２３のいずれ１つを参照して以下に詳細に説明される。
【００９６】
図１１は本発明の実施形態による符号器からデータを受信するために使用されうる復号器１１００のブロック図を示す。復号器は接続されているモジュールにより表され、各モジュールは、例えばデバイス８００のＣＰＵ８１１により実行されるプログラミング命令の形態で、復号器１１００により実施される方法の対応するステップを実施するように構成される。
【００９７】
復号器１１００は、符号化ユニットを含むえるビットストリーム１１０１を受信する。各符号化ユニットは、符号化パラメータの情報を含むヘッダと符号化されたビデオデータを含む本体で構成されている。図９に関して説明したように、符号化されたビデオデータはエントロピー符号化され、動きベクトル予測子インデックスは所与のブロックに対して所定数のビットに基づいて符号化される。受信された符号化されたビデオデータはモジュール１１０２によりエントロピー復号化される。残差データは次にモジュール１１０３により逆量子化され、次に画素値を取得するために、逆変換がモジュール１１０４により適用される。
【００９８】
符号化モードを示すモードデータもまたエントロピー復号化され、モードに基づいて、イントラタイプ復号化またはインタータイプ復号化が画像データの符号化ブロック上で実行される。
【００９９】
イントラモードの場合、イントラ予測子はビットストリーム内で指定されるイントラ予測モードに基づいてイントラ逆予測モジュール１１０５により決定される。
【０１００】
インターモードの場合、動き予測情報は符号器により使用されるリファレンスエリアを見つけるようにビットストリームから抽出される。動き予測情報はリファレンスフレームインデックスおよび動きベクトル残差から構成される。動きベクトル予測子は動きベクトル復号化モジュール１１１０により動きベクトルを取得するために動きベクトル残差に加算される。
【０１０１】
動きベクトル復号化モジュール１１１０は動き予測により符号化される現在のブロック各々に対して動きベクトル復号化を適用する。一旦現在のブロックのための動きベクトル予測子のインデックスが取得されると、現在のブロックに関連する動きベクトルの実際の値は、モジュール１１０６により逆動き補償を適用するために復号化され、使用することができる。復号化された動きベクトルにより指示されるリファレンス画像部分は逆動き補償１１０６を適用するためにリファレンス画像１１０８から抽出される。動きベクトル場データ１１１１は後続の復号化された動きベクトルの逆予測に使用されるために復号化された動きベクトルで更新される。
【０１０２】
最後に、復号化されたブロックが取得される。ポストフィルタリングは、図９を参照して説明したように符号器で適用されるポストフィルタリングモジュール９１５と同様に、ポストフィルタリングモジュール１１０７により適用される。復号化されたビデオ信号１１０９は復号器１０００により最終的に提供される。
【０１０３】
図１２は適応パラメータセット（ＡＰＳ）モードに従ってビットストリームからＳＡＯパラメータを取得するための方法のステップを示すフローチャートである。従って、図１２は、適応パラメータセットモードがフレームエリアごとにＳＡＯパラメータの単一のセットを関連付けるために使用される際に、ＳＡＯパラメータがビットストリーム内に保存される方法を示す。このモードによれば、ＳＡＯパラメータのセットは、サイズが最大のコーディングユニット（ＬＣＵ）のサイズの倍数である矩形枠エリアに対して有効である。この特定のモードのためのフレームのすべてのＳＡＯパラメータを格納するためのビット量を低減するために、ランレングス符号化技術が上記フレームエリアからの予測フラグと同様に使用される。
【０１０４】
ＨＥＶＣの現在の仕様で実行されたＡＰＳモードによれば、ＳＡＯループフィルタリングが所与のピクチャのコンポーネントが有効になっているか否かを示すフラグが存在する。これは、例えばＹＵＶ方式に従って符号化されたピクチャを考慮する場合、ＵまたはＶコンポーネントのためのＳＡＯパラメータを有効または無効にすることができることを意味する。
【０１０５】
このようなフラグは最初のステップ１２０１で読み出される。次に、ステップ１２０２においてＳＡＯパラメータのセットが適用されるフレームエリアのサイズが取得される。上述したように、ＡＰＳモードを使用する際にＳＡＯループフィルタリングが適用されなければならないフレームエリアは、ＬＣＵサイズに等しいかまたはＬＣＵサイズの倍数サイズに対応するエリアに対応する。
【０１０６】
次に、ループがＸと表記されるシーケンスの各色コンポーネントを連続して扱うためにステップ１２０３で起動される。このループで、ステップ１２０４で実行される各コンポーネントの「単一性」フラグを読み出すことができる。次に、読み出した「単一性」フラグが真であるか否かを判断するためにステップ１２０５でテストが実行される。読み出した「単一性」フラグが真でならば、画像全体に対する現在の処理されたコンポーネントＸに関する１つの単一ＳＡＯパラメータセットのみが存在する。このような場合には、ＳＡＯパラメータはステップ１２０６で、ビットストリーム内で、読み出される。このようなステップは図１４を参照して詳細に説明される。一方、読み出された「単一性」フラグが真ではない場合、現在の処理されたコンポーネントＸに関する画像全体のためのＳＡＯパラメータが複数存在する。このような場合には、ＳＡＯパラメータはステップ１２０８から１２１８を参照して説明されるように次のステップにおいて読み出される。
【０１０７】
次に、現在の処理されるコンポーネントＸが処理される最後のコンポーネントであるか否かを判断するためにステップ１２０７でテストが行われる。現在の処理されるコンポーネントＸが処理される最後のコンポーネントならば、アルゴリズムはステップ１２０３に分岐され、前のステップが残っているコンポーネントに対して繰り返される。
【０１０８】
１つのコンポーネントに対して「単一性」フラグが真ならば、ステップ１２０８から１２１８はそのコンポーネントに対して実行されないことに留意すべきである。
【０１０９】
ステップ１２０８から、ＳＡＯパラメータはコンポーネントごとに複数のＳＡＯパラメータのセットが存在する際には、各フレームエリアおよび各コンポーネント毎に決定される。
【０１１０】
ステップ１２０２で決定されたフレームエリアサイズに従って処理される所与のピクチャの各フレームエリアを連続的に扱うためにステップ１２０８で、ループは起動される。図１２の所与の例において、処理が画像のフレームエリアの最初の行から開始し、画像の最後の行まで続くことにより、フレームエリアはラスタスキャン順に処理される。フレームエリアは画像の左側から右側に向かって処理される。
【０１１１】
次に、別のループが、Ｘと表記される各コンポーネントを連続的に扱うためにステップ１２０９で起動される。ステップ１２０１で読み出した現在のコンポーネントの「有効」フラグが偽ならば、関係しているコンポーネントのための次のステップはステップ１２０９で無視され、次のコンポーネントが処理されるように選択されることをここでは注意すべきである。ステップ１２１０において「リピート行フラグ」が読み出される。次に、ステップ１２１１においてそのフラグが真であるか否かを判断するためにテストが実行される。それが真ならば、フレームエリアの前の行のＳＡＯパラメータはフレームエリアの現在の行のために使用される。これにより、現在の行が前の行と同じパラメータを使用することを単に信号で伝えることによりビットストリーム内のＳＡＯパラメータを表す多くのビットを節約できる。
【０１１２】
一方、読み出された「リピート行フラグ」が偽ならば、現在のフレームエリアはビットストリーム内で符号化されステップ１２１３へアルゴリズムは分岐される。ステップ１２１３において、予測技法（ランレングス符号化または上記フレームエリアのＳＡＯパラメータの値を使用する）が現在の行内の前のフレームのエリアに関連付けられたＳＡＯパラメータを符号化して表すために使用されるか否かを判断するためのテストが行われるその場合、現在のフレームエリアのＳＡＯパラメータは現在の行内でステップ１２１４において前のフレームエリアから推定される。具体的には、２つの構文要素が使用される：ＳＡＯパラメータがランレングス法に従って符号化されるか、または上記フレームエリアのＳＡＯパラメータから推定されるかを、それぞれ示すｓａｏ＿ｒｕｎ＿ｄｉｆｆおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇである。一方、答えがステップ（１２１３）において否定ならば、この特定のフレームエリアのためのＳＡＯパラメータがビットストリーム内で明示的に符号化される。従って、これらのＳＡＯパラメータはステップ１２１５でビットストリームから読み出される。このステップは１２０６と同様であり、図１４を参照してさらに説明される。
【０１１３】
ステップ１２１２に続いて、ＳＡＯパラメータが行全体について決定される際に、現在のコンポーネントが処理される最後のコンポーネントであるか否かを判断するためにステップ１２１６において、テストが行われる。それが処理される最後のコンポーネントではない場合、アルゴリズムは次のコンポーネントを処理するためにステップ１２０９へ分岐される。同様に、ＳＡＯパラメータがステップ１２１４またはステップ１２１５のいずれかの実行により現在のフレームエリアのために決定される際に、アルゴリズムは現在のコンポーネントが処理される最後のコンポーネントであるか否かを判断するためにステップ１２１６に分岐される。再度、それが処理される最後のコンポーネントではない場合、アルゴリズムは次のコンポーネントを処理するためにステップ１２０９に分岐される。
【０１１４】
一方、すべてのコンポーネントが処理された場合、最後のフレームエリアが処理されたか否かを判断するためにステップ１２１７でテストが行われる。最後のフレームエリアが処理されていない場合、処理はステップ１２０８に分岐され、前のステップが繰り返される。そうでなければ、処理は終了する。
【０１１５】
この段階では、図１４を参照して提示される異なるパラメータでＳＡＯパラメータのセットは各フレームエリアおよび各コンポーネントに関連付けられる。
【０１１６】
図１３はＬＣＵモードに従ってビットストリームからＳＡＯパラメータを取得するための方法のステップを示すフローチャートである。したがって、図１３はＳＡＯパラメータをＡＰＳモードに符号化するための代替を示す。より具体的には、図１３は、最大符号化ユニット（ＬＣＵ）モード表現がＬＣＵごとのＳＡＯパラメータの単一のセットを関連付けるために使用される際に、ＳＡＯパラメータがビットストリーム内に格納される方法を示す。コストのかかる、ＬＣＵごとのＳＡＯパラメータの１つのセットを符号化することを回避するために、予測的なスキームが使用される。所与の例において、この予測的なモードは現在のＬＣＵの左側に位置するＬＣＵが同じＳＡＯパラメータを使用した場合にチェックすることにある。そうでない場合、第２のチェックが現在のＬＣＵの上方に位置するＬＣＵで行われる。この予測的な手法によりＬＣＵモードのためのＳＡＯパラメータを表現するデータの量を削減することができる。これはマージフラグと呼ばれる専用フラグの使用に基づく。
【０１１７】
ステップ１３０１においてＸと表記される各コンポーネントを連続して扱うためにループが起動される。説明のために、画像はＹＵＶ方式に従って依然として符号化されているものとする。次に、ステップ１３０３においてｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘと表記されるフラグ（ＸはＹ、ＵまたはＶを表す）が処理され、復号化されるビットストリーム１３０２から読み出される。その値が真ならば、現在のＬＣＵの左側に位置するＬＣＵのＳＡＯパラメータは現在のＬＣＵを処理するために使用されるようにステップ１３０４で選択される。より具体的には、これにより現在のＬＣＵに適用されるＳＡＯループフィルタのタイプのステップ１３０８での決定が可能となる。
【０１１８】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘと表記される読み出しフラグが偽ならば、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記されるフラグ（ＸはＹ、ＵまたはＶを表す）がビットストリーム１３０２から読み出され、復号化される。その値が真ならば、現在のＬＣＵの上方に位置するＬＣＵのＳＡＯパラメータは現在のＬＣＵを処理するために使用されるようにステップ１３０６で選択される。再度、これにより現在のＬＣＵに適用されるＳＡＯループフィルタのタイプのステップ１３０８での決定が可能となる。
【０１１９】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記される読み出しフラグが偽ならば、現在のＬＣＵを処理するために使用されるＳＡＯパラメータはステップ１３０７でビットストリーム１３０２から読み出され復号化される。後者は図１４を参照して説明される。
【０１２０】
この段階では、現在のＬＣＵを処理するためのＳＡＯパラメータが取得され、現在のＬＣＵに適用されるＳＡＯループフィルタのタイプがステップ１３０８で決定される。
【０１２１】
次に、ステップ１３０９においてすべてのコンポーネントＹ、ＵおよびＶが現在のＬＣＵのために処理されたか否かを判断するためにテストが行われる。すべてのコンポーネントが処理されたわけではない場合、次のコンポーネントが選択され、アルゴリズムはステップ１３０１に分岐され、前のステップが繰り返される。
【０１２２】
次に、次のＬＣＵは同様に処理されることができる。
【０１２３】
図１４はビットストリーム内のＳＡＯパラメータを読み出すための方法のステップを示すフローチャートである。従って、図１４はＳＡＯパラメータが符号化ビットストリーム内に保存される方法を示す。
【０１２４】
最初のステップ１４０２において、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘと表記されるフラグ（ＸはＹ、Ｕ、またはＶを表す）がビットストリーム１４０１から読み出され、復号化される。この構文要素を表す符号語は固定長符号または算術符号化の任意の方法を使用することができる。
【０１２５】
別表の表１を参照して上述したように、この構文要素によりコンポーネントＸを処理するためにフレームエリア上で適用されるＳＡＯループフィルタのタイプを決定することができる。所与の例によれば、フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘ（または一般的にｓａｏ＿ｔｙｐｅ＿ｉｄｘ）は適用されるＳＡＯループフィルタに依存する５つの値の１つを取ることができる。別表の表１で述べたように、０はＳＡＯループフィルタに対応せず、１から４は別表の表２を参照して説明したようにエッジオフセットＳＡＯループフィルタの４つの分類に対応し、値５はバンドオフセットＳＡＯループフィルタに対応する。
【０１２６】
フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘを読み出し復号化した後、このインデックスの値が厳密に正であるか否かを判断するためにステップ１４０２でテストが行われる。このインデックスの値がゼロに等しい場合、ＳＡＯループフィルタは現在のフレームのエリアに適用されないことを意味し、ＳＡＯパラメータの決定はステップ１４０７で終了する。一方、フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘの値が厳密に正であれば、ＳＡＯパラメータは現在のフレームエリアのためにビットストリーム１４０１内に存在する。
【０１２７】
次に、適用されるＳＡＯループフィルタのタイプがバンドオフセットタイプ（ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘ＝＝５）であるか否かを判断するためにステップ１４０３でテストが行われる。適用されるＳＡＯループフィルタがバンドオフセットタイプならば、ＳＡＯバンドの位置がステップ１４０４でビットストリーム１４０１内にて読み出され、復号化される。
【０１２８】
ＳＡＯバンドの位置がステップ１４０４で読み出された後、ステップ１４０６でビットストリーム１４０１からの４つのＯｆｆｓｅｔｊ（ｊは１から４まで変化）を読み出し、復号化するためにステップ１４０５で、ループが起動される。これら４つのオフセットは図２を参照して説明したようにＳＡＯバンドオフセットの４つの範囲に関連する４つのオフセットに対応する。
【０１２９】
同様に、フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘの値が正であり且つ５とは異なる場合、ビットストリーム１４０１から４つのＯｆｆｓｅｔｊ（ｊは１から４まで変化）を読み出し、復号化するためにステップ１４０５でループが起動される。これら４つのオフセットは別表の表２を参照して説明したようにＳＡＯエッジオフセットの４つのタイプの４つのオフセットに対応する。
【０１３０】
４つのオフセットがステップ１４０６で読み出され、復号化された際には、ＳＡＯパラメータの読み出しはステップ１４０７で終了する。
【０１３１】
第１の主要な実施形態によれば、一部またはすべてのＳＡＯパラメータがコンポーネント間で共有される。そのために、１つのコンポーネントから別のものへのＳＡＯパラメータを導出するために処理が定義される。コンポーネント間のこのような依存関係は２種類のＳＡＯ分類（エッジおよびバンドオフセット）のために定義できる。
【０１３２】
図１３を参照して以前に説明したように、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記される２つのフラグが、以前に処理されたＳＡＯパラメータの関数としてＳＡＯパラメータを取得するために、ＬＣＵモードのためのＨＥＶＣの現在の実行で使用される。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘと表記されるフラグは、現在のＬＣＵのコンポーネントＸを処理するのに使用されるＳＡＯパラメータが、現在のＬＣＵの左側に位置するＬＣＵの同じコンポーネントを処理するために使用されることを特定することを目的とする。同様に、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記されるフラグは、現在のＬＣＵのコンポーネントＸを処理するのに使用されるＳＡＯパラメータが現在のＬＣＵの上方に位置するＬＣＵの同じコンポーネントを処理するために使用されることを特定することを目的とする。
【０１３３】
特定の実施形態によれば、これらのフラグは現在のＬＣＵの２つまたは３つのコンポーネントについて共通である。換言すれば、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇタイプのフラグは現在のＬＣＵのコンポーネントを処理するのに使用されるＳＡＯパラメータが別のＬＣＵの同じコンポーネントを処理するのに使用されることを指定するが、現在のＬＣＵの２つまたは３つのコンポーネントを処理するのに使用されるＳＡＯパラメータが別のＬＣＵの同じ２つから３つのコンポーネントを処理するのに使用されることを指定することにもはや使用されない。説明のために、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＵＶおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＵＶと表記されるフラグは現在のＬＣＵのＵおよびＶコンポーネントを処理するのに使用されるＳＡＯパラメータが現在のＬＣＵの左側または上方に位置するＬＣＵのＵおよびＶコンポーネントをそれぞれ処理するために使用されることを指定すると考えることができる。
【０１３４】
別の特定の実施形態によれば、フラグは現在のＬＣＵの２つまたは３つのコンポーネントを処理するのに使用されるＳＡＯパラメータが別のＬＣＵのコンポーネントを処理するのに使用されることを指定するために使用される。結果として、現在のＬＣＵのコンポーネントに関連付けられたフラグは、左側または上方のどちらのＬＣＵがリファレンスとして使用されるかを、およびそのＬＣＵの中で、コンポーネントのどちらがＳＡＯパラメータを取得するために使用されるかを示すことができる。したがって、フラグは以下のようであってもよい：ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｙ、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｕ、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｖ、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｙ、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｕ、およびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｖである。説明のために、フラグｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｖを参照する現在のＬＣＵのコンポーネントのＳＡＯパラメータは現在のＬＣＵの左側に位置するＬＣＵのコンポーネントＶに関連付けられたＳＡＯパラメータである。
【０１３５】
この実施形態において、ＬＣＵの各コンポーネントに関連付けられたＳＡＯパラメータはそれら別のＬＣＵを参照する際に同一であることが好ましい（このＬＣＵの各コンポーネントについて）。説明のために、コンポーネントがフラグｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｖを参照する現在のＬＣＵのすべてのコンポーネントのＳＡＯパラメータは現在のＬＣＵの左側に位置するＬＣＵのコンポーネントＶに関連付けられたＳＡＯパラメータである。従って、左輝度（Ｙ）コンポーネントのＳＡＯパラメータは現在のＬＣＵのクロマ（Ｕ）コンポーネントをフィルタリングするために使用できる。
【０１３６】
図１５は現在のフレームエリアを処理するためのループフィルタ内で使用されるパラメータを決定するための本発明の第１の実施形態による方法のステップを示すフローチャートである。図１５に挙げられた例は本明細書で上述した２つの特定の実施形態の組み合わせとして見ることができる。
【０１３７】
ステップ１５０２においてｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｙと表記されるフラグがビットストリーム１５０１から取得され、このフラグの値が１に等しいか否かを判断するためにテストが行われる（すなわち、それが真ならば）。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｙと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＹ、Ｕ、およびＶをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの左側に位置するＬＣＵ内のコンポーネントＹをフィルタリングするために予め決定されたものに等しいとステップ１５０３で決定される。
【０１３８】
従って、現在のＬＣＵのコンポーネントＵおよびＶに適用されるループフィルタのタイプを定義する、現在のＬＣＵのフラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｕおよびｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｖの値は、現在のＬＣＵの左側に位置するＬＣＵのフラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｙのそれに等しいと考えられる。同じように、現在のＬＣＵのコンポーネントＵおよびＶをフィルタリングするために使用される他のＳＡＯパラメータ、例えばオフセット値、および必要に応じて、バンド位置（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｕおよびｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｖ）は、現在のＬＣＵの左側に位置するＬＣＵのコンポーネントＹから取得される。
【０１３９】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｙと表記されるフラグが偽ならば、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｙと表記されるフラグはビットストリーム１５０１から取得され、このフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにステップ１５０４でテストが行われる。ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｙと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＹ、Ｕ、およびＶをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの上方に位置するＬＣＵ内のコンポーネントＹをフィルタリングするために予め決定されたＳＡＯパラメータと同じであることがステップ１５０５で判断される。
【０１４０】
従って、現在のＬＣＵのコンポーネントＵおよびＶに適用されるループフィルタのタイプを定義する、現在のＬＣＵのフラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｕおよびｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｖの値は、現在のＬＣＵの上方に位置するＬＣＵのフラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｙのそれに等しいと考えられる。同じように、現在のＬＣＵのコンポーネントＵおよびＶをフィルタリングするために使用される他のＳＡＯパラメータ、例えばオフセット値と必要に応じて、バンド位置（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｕおよびｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｖ）が、現在のＬＣＵの上方に位置するＬＣＵのコンポーネントＹのそれらから取得される。
【０１４１】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｙと表記されるフラグが偽ならば、現在のＬＣＵのコンポーネントＹのためのＳＡＯパラメータは、図１４を参照することにより、上述したようにステップ１５１１でビットストリーム１５０１から抽出される。この場合、フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｙ、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｙ（必要なら）、および４つのｏｆｆｓｅｔｊ＿Ｙの値はビットストリーム１５０１から抽出される。
【０１４２】
次に、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｙと表記されるフラグが偽ならば、ステップ１５０６においてｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＵＶと表記されるフラグがビットストリーム１５０１から取得され、このフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにテストが行われる。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＵＶと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＵおよびＶをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの左側に位置するＬＣＵ内でコンポーネントＵおよびＶをそれぞれフィルタリングするために予め決定されたそれらに等しいとステップ１５０７で決定される。
【０１４３】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＵＶと表記されるフラグが偽ならば、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＵＶと表記されるフラグはビットストリーム１５０１から取得され、このフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにステップ１５０８でテストが行われる。ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＵＶと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＵおよびＶをフィルタリングするために使用されるＳＡＯパラメータが、現在のＬＣＵの上方に位置するＬＣＵ内でコンポーネントＵおよびＶをそれぞれフィルタリングするために予め決定されたＳＡＯパラメータに等しいとステップ１５０９で決定される。
【０１４４】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＵＶと表記されるフラグが偽ならば、現在のＬＣＵのコンポーネントＵおよびＶのためのＳＡＯパラメータは図１４を参照することにより、上述したようにステップ１５１０でビットストリーム１５０１から抽出される。この場合、フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｕ、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｖ、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｕ（必要な場合）、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｖ（必要な場合）、４つのｏｆｆｓｅｔｊ＿Ｕ、および４つのｏｆｆｓｅｔｊ＿Ｖの値はビットストリーム１５０１から抽出される。この段階で（１５１２を参照）、現在のＬＣＵのすべてのコンポーネントのためのすべてのＳＡＯパラメータが利用可能である。
【０１４５】
次に、ステップ１５１３においてＳＡＯループフィルタは現在のＬＣＵのすべてのコンポーネントに適用され、復号化処理は次の復号化ステップ１３１４に進む。
【０１４６】
さらに特定の実施形態によれば、現在のＬＣＵのすべてのコンポーネントに共通のフラグ、例えばｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＹＵＶおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＹＵＶフラグを使用できる。この場合、両方のフラグが偽であるならば、一般的にｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘ（ＸはＹ、Ｕ、またはＶを表す）と呼ばれる、各コンポーネントを対象にしたフラグを使用できる。
【０１４７】
図１６は現在のフレームエリアを処理するためのループフィルタ内で使用されるパラメータを決定するための本発明の第１の実施形態による方法のステップを示すフローチャートである。図１６に挙げられた例は、本明細書で上述された第３の特定の実施形態へより具体的に向けられる。
【０１４８】
ステップ１６０２においてｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＹＵＶと表記されるフラグが、ビットストリーム１６０１から取得されこのフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにテストが行われる。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＹＵＶと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＹ、Ｕ、およびＶをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの左側に位置するＬＣＵ内でコンポーネントＹ、Ｕ、およびＶをそれぞれフィルタリングするために予め決定されたＳＡＯパラメータと等しいとステップ１６０３で決定される。
【０１４９】
従って、現在のＬＣＵのコンポーネントＹ、Ｕ、およびＶに適用されるループフィルタのタイプを定義する、現在のＬＣＵ用のフラグｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｙ、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｕ、およびｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｖの値は、現在のＬＣＵの左側に位置するＬＣＵの対応するフラグの値に等しいと考えられる。同様に、現在のＬＣＵのコンポーネントＹ、ＵおよびＶをフィルタリングするために使用される他のＳＡＯパラメータは、現在のＬＣＵの左側に位置するＬＣＵの対応するコンポーネントのＳＡＯパラメータから取得される。
【０１５０】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿ＹＵＶと表記されるフラグが偽ならば、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＹＵＶと表記されるフラグがビットストリーム１６０１から取得され、このフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにステップ１６０４でテストが行われる。ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＹＵＶと表記されるフラグが真でならば、現在のＬＣＵのコンポーネントＹ、ＵおよびＶをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの上方に位置するＬＣＵ内でコンポーネントＹ、ＵおよびＶをそれぞれフィルタリングするために予め決定されたＳＡＯパラメータと等しいとステップ１６０５で決定される。
【０１５１】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿ＹＵＶと表記されるフラグが偽ならば、ＳＡＯパラメータが以前に処理されたＳＡＯパラメータの関数として取得するか否かを判断するために、現在のＬＣＵの各コンポーネントに関連付けられたフラグが復号化される。
【０１５２】
そのために、現在のＬＣＵの各コンポーネントを順次処理するためにステップ１６０６でループが起動される。各コンポーネントＸ毎に（ＸはＹ、Ｕ、またはＶに等しい）、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘと表記されるフラグがビットストリーム１６０１から抽出され、このフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにテストがステップ１６０７で行われる。ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＸをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの左側に位置するＬＣＵ内の同じコンポーネントをフィルタリングするために予め決定されたＳＡＯパラメータと等しいとステップ１６０８で決定される。
【０１５３】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇ＿Ｘと表記されるフラグが偽ならば、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記されるフラグがビットストリーム１６０１から取得され、このフラグの値が１に等しいか否か（すなわち、それが真ならば）を判断するためにテストが、ステップ１６０９で行われる。ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記されるフラグが真ならば、現在のＬＣＵのコンポーネントＸをフィルタリングするために使用されるＳＡＯパラメータが現在のＬＣＵの上方に位置するＬＣＵ内の同じコンポーネントをフィルタリングするために予め決定されたＳＡＯパラメータと等しいとステップ１６１０で決定される。
【０１５４】
一方、ｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇ＿Ｘと表記されるフラグが偽ならば、現在のＬＣＵのコンポーネントＸのＳＡＯパラメータがステップ１６１１でビットストリーム１６０１から抽出される。
【０１５５】
次に、現在のＬＣＵのコンポーネントＸのためのＳＡＯパラメータを取得した後、ステップ１６１２においてコンポーネントＸがコンポーネントＶであるか否かを判断するためにテストが行われる。コンポーネントＸがコンポーネントＶでないならば、処理は次のコンポーネントを処理するためにステップ１６０６に分岐される。一方、コンポーネントＸがコンポーネントＶならば、ステップ１６１３でＳＡＯパラメータが復号化され現在のＬＣＵのすべてのコンポーネントで利用可能である。
【０１５６】
次に、ステップ１６１４において現在のＬＣＵのコンポーネントが取得されたＳＡＯパラメータを使用してＳＡＯループフィルタ内でフィルタリングされ、復号器はステップ１６１５で次の復号化ステップに進む。
【０１５７】
図１５および図１６を参照して説明した実施形態は図１３を参照して説明したＬＣＵ構文に基づくことに留意すべきである。しかしながら、これらの実施形態はまた図１２を参照して説明したようにＡＰＳのためのＳＡＯ構文にも基づくことができる。その特定の場合において、コンポーネント間で共有されたパラメータは、単一性と表記されるフラグおよびｓａｏ＿ｒｕｎ＿ｄｉｆｆおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇと表記される繰り返し行および構文要素と同様にＳＡＯパラメータである。
【０１５８】
上述したように、特に別表の表１を参照することにより、構文要素または現在のＬＣＵの現在のコンポーネントを指定するｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるフラグは、その値がゼロに等しい際には処理されない。そうでなければ、ＳＡＯタイプを指定する。フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘの値が１、２、３、または４に等しい場合、エッジオフセット分類が現在のＬＣＵをフィルタリングするために使用され、フラグｓａｏ＿ｔｙｐｅ＿ｉｄｘの値が５に等しい場合、ＳＡＯバンドオフセットが現在のＬＣＵをフィルタリングするために使用される。
【０１５９】
上述した本発明の実施形態によれば、ｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるこのようなフラグは２つまたは３つのコンポーネント間で共有することができる。
【０１６０】
別の特定の実施形態において、コンポーネントはｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるフラグのいくつかの値のみを共有することができる。換言すれば、第２のコンポーネントは、この値が値の所定のセットに属する場合にのみ、第１のコンポーネントのｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるフラグの値を共有する。したがって、本実施形態によれば、ｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるフラグの値が条件付きで共有される。
【０１６１】
説明のために、コンポーネントＹに関連付けられたｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるフラグは所与のＬＣＵのためにコンポーネントＵと共有されていると仮定することができる。しかしながら、この値がエッジオフセットタイプのＳＡＯ分類を示す場合（すなわち、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＝１、２、３、または４）でも、コンポーネントＹにより与えられるエッジオフセット分類の方向を使用する代わりに、エッジオフセットの方向がコンポーネントＵに関連付けられたビットストリームの一部から取得可能にすることができる。コンポーネントＹに関連付けられたｓａｏ＿ｔｙｐｅ＿ｉｄｘと表記されるフラグの値がエッジオフセットに等しくなければ（ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＝０または５）、方向情報はビットストリームから抽出されない。換言すれば、コンポーネントＹのためのＳＡＯタイプがゼロまたは５ならば、このＳＡＯパラメータ（タイプに関する）はコンポーネントＵおよびＶにより使用されることになる。しかしながら、ＳＡＯタイプがコンポーネントＹのためのエッジオフセットタイプならば（すなわち、値が１から４）、専用のＳＡＯタイプがコンポーネントＵおよびＶのために使用されることになる。
【０１６２】
上述したように、ＳＡＯパラメータ（エッジオフセットタイプの画素分類を使用するＳＡＯループフィルタに関連付けられた）は５つの有りうるクラスのうちの４つのクラスに関係する４つのオフセットを備える。最初のクラス（クラス「０」）はＳＡＯフィルタリングに対応しない。本明細書においてエッジオフセット分類の方向がＳＡＯタイプで示されることを想起されたい。
【０１６３】
本発明の実施形態によれば、エッジオフセットフィルタがエッジオフセット分類の方向の現在のＬＣＵのために独立して選択される際にこれらの４つのオフセットは２つまたは３つのコンポーネント間で共有することができる。
【０１６４】
第１の特定の実施形態によれば、同じオフセットが２つまたは３つのコンポーネントのために使用される。その結果、３つのコンポーネントで画素をフィルタリングするために、２つまたは３つのコンポーネントがそれぞれ同じ４つのオフセットを共有する場合、８または１２オフセットの代わりに４つのオフセットのみがビットストリームから抽出れば良い。
【０１６５】
当然のことながら、同じオフセットで２つまたは３つのコンポーネントの処理を可能にするためには、そのような一般的なオフセットは符号器側で計算されなければならない。後述するように、この符号化の選択はバンドオフセットフィルタリングのために使用されるものと同じである。
【０１６６】
別の特定の実施形態において、コンポーネントＺに関連付けられたオフセットＯｚｊは以下のように重み係数βｊに従って別のコンポーネントＸのオフセットＯｘｊから導出される。
Ｏｚｊ＝βｊＯｘｊ
【０１６７】
重み係数βｊはｊの値がなんであっても（β＝βｊ）またはそうでなくとも同じで良い。βの値またはβｊの値は所定および一定で良く、またはシーケンスヘッダまたはスライスヘッダのような特定のヘッダ内で送信されても良く、またはＬＣＵによる送信ＬＣＵでも良い（またはより一般的にはフレームエリア毎）。
【０１６８】
値が１つのＬＣＵから別のものへ変化する場合、それらは動的に符号器および復号器側で計算できる。
【０１６９】
重み係数の値は次式に従って計算することができる。
【０１７０】
【数３】
2018139426.tif 000005
【０１７１】
ここで
【０１７２】
【数４】
2018139426.tif 000006
【０１７３】
はクラスｊの画素ｉのコンポーネントＺの値であり、および特に別表の表２を参照することにより、
【０１７４】
【数５】
2018139426.tif 000007
【０１７５】
は上述したようにクラスｊの画素ｉの隣接のコンポーネントＺの値である。
【０１７６】
従って、重み係数βｊの値は、分類された画素およびそれらの隣接画素のコンポーネントＺの平均（最大）差分および分類された画素およびそれらの隣接画素のコンポーネントＸの平均（最大）差分との間の比である。他の関係または数式が重み係数βｊ（またはβ）の値を計算するために使用されることができる。
【０１７７】
さらに別の特定の実施形態において、ビットストリーム内で符号化されたオフセットの値は重み係数βｊ（またはβ）の値に基づいても良いが、それらは判断される。そのような実施形態において、重み係数βまたはβｊの値が１未満ならば、オフセットＯｚｊの値がオフセットＯｘｊの値の代わりにビットストリーム内で符号化される。
【０１７８】
実際、この式において、βｊ＜１であれば、Ｏｚｊ＝βｊであり、Ｏｘｊ、Ｏｚｊ＜Ｏｘｊである。その結果、オフセット値ＯｚｊはＯｘｊの値よりもビットストリーム内で符号化されるより少ないビットで良い。復号器が重み係数βｊの値を把握しているかまたは決定することができるので、ビットストリームからＯｚｊの値を復号化し、以下の式に従ってＯｘｊの値を決定することができる。
Ｏｚｊ＝（１／βｊ）×Ｏｘｊ
【０１７９】
さらに特定の実施形態において、第２のコンポーネントＺに関連付けられたオフセットＯｚｊの絶対値は、第１のコンポーネントＸに関連付けられたオフセットＯｘ（５−ｊ）の絶対値に等しい。本明細書においてこの特定の実施形態によれば、エッジオフセットクラスのためのオフセットの符号がアーチファクトを低減するために予め決められているので絶対値のみが使用されることに留意すべきである。
【０１８０】
図１７は、このような特定の実施形態を示す。
この実施形態において、コンポーネントに関連付けられたオフセットは第２のコンポーネントに関連付けられたミラーリングされた値に対応する。図示のように、コンポーネントＺの４つのクラスのためのオフセットは、オフセットの逆の順序を考慮することによりコンポーネントＸからのオフセットから導出される。本明細書においてオフセットに適用される符号は分類から推定されることを留意すべきである。
【０１８１】
さらに別の特定の実施形態において、第２のコンポーネントに関連付けられたオフセットとして使用される第１のコンポーネントに関連付けられたオフセットのミラーリングされた値は重み係数βｊで重み付けしても良い。この特定の実施形態によれば、第２のコンポーネントＺに関連付けられたＯｚｊのオフセットの絶対値は、次式に従って第１のコンポーネントＸに関連付けられたオフセットＯｘ（５−ｊ）の重み付けされた絶対値に等しい。
Ｏｚｊ＝βｊＯｘ（５−ｊ）
【０１８２】
上述したように、ＳＡＯバンドオフセットフィルタは２つのタイプのパラメータを必要とする。第１のタイプは、位置（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）に向けられ、第２のタイプは所与の位置から定義されているバンドの４つのクラスに関連する４つのオフセットに向けられる。本発明の実施形態によれば、フレームエリアのコンポーネントに関連付けられた２つのタイプのパラメータは、すでに処理された別のフレームのエリアのコンポーネントに関連付けられた対応するパラメータから別個に取得されてもよい。しかしながら、位置（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）およびオフセットに関連する実施形態は容易に組み合わされることができる。また、エッジオフセットの実施形態を参照して前述したように、バンドオフセットフィルタリングのための位置およびオフセットに関連するこれらの実施形態または実施形態の組み合わせは、上述したようにマージフラグの値またはＡＰＳのためのＳＡＯ構文の関数として適用される。
【０１８３】
コンポーネントに関連付けられたＳＡＯパラメータが２つまたは３つのコンポーネントを処理するために使用できるので、以下の説明は例示のために２つのコンポーネントを処理するための１つのコンポーネントに関連付けられたＳＡＯパラメータの使用に焦点を当てることに留意すべきである。
【０１８４】
図１８は第２のコンポーネントＺに関連したオフセットの値が、バンドオフセット分類を使用してＳＡＯループフィルタを適用する際に、如何に第１のコンポーネントＸに関連したオフセットの値から取得きるかを示す。
【０１８５】
参照１８０１は、現在のＨＥＶＣ仕様に従って、特にバンドオフセット分類を使用するＳＡＯループフィルタを適用するためのコンポーネントに関連付けられたオフセットのＳＡＯパラメータの使用を示す。各コンポーネントに関連付けられたオフセットは符号化された画像を送信するために使用されるビットストリームにすべて符号化される。説明のために、ビットストリームは、第１のコンポーネントＸに関連付けられた、一般的にＯｘｊと呼ばれるオフセットＯｘ１からＯｘ４、および第１のコンポーネントＺに関連付けられた、一般的にＯｚｊと呼ばれるＯｚ１からＯｚ４を備える。参照１８０１により示されるように、オフセットＯｘｊは、ＢＯ  Ｘと表記される４つの連続したクラスを備える第１のバンドに対応し、オフセットＯｚｊはＢＯ  Ｚと表記される４つの連続したクラスをまた備える第２のバンドに対応する。
【０１８６】
参照１８０２はオフセットＯｚｊがオフセットＯｘｊに等しい第１の特定の実施形態を示す。従って、オフセットＯｚｊはビットストリーム内でエンコードされない。それらはエッジオフセットフィルタリングを参照することにより、上述したように対応するマージフラグを使用することによりカバーすることができる。同様に、重み係数βまたはβｊはオフセットＯｚｊがオフセットＯｘｊ（Ｏｚｊ＝βｊＯｘｊ）の関数として決定できるように使用することができる。再度、重み係数βまたはβｊの値または複数の値は予め定義されても良いし、ビットストリーム内の異なるレベル（配列レベル、フレームレベル、スライスレベル、またはＬＣＵレベル）で表現されても良い。この状態で、重み係数βまたはβｊの値または複数の値は負でも良い（エッジオフセットのために、オフセットの符号がクラスの関数として決定される）。特に、重み係数はマイナス１とすることが出来る（β＝−１）。
【０１８７】
さらに別の特定の実施形態において、重み係数βまたはβｊの値または複数の値は動的に決定しても良い。説明のために、重み係数βまたはβｊの値または複数の値はバンド（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）の位置の関数として決定することができる。例えば、バンドＺのクラスｊおよびバンドＸのクラスｊが区間の中央の観点から同じサブ区間内ではない場合（図１８で太線で表されている）、β＝−１であり、そうでなければβ＝１である。ここで、完全な区間が２つのサブ区間に分割され、第１のサブ区間は画素値０から１２７の区間であり、第２のサブ区間は画素値１２８から２５６の区間である（画素値のために８ビット深度が使用される際）ことが考えられる。
【０１８８】
別の実施形態によれば、重み係数βｊの値は、区間の中心までのコンポーネントＺの現在のクラス（または重み係数βの値のクラスのセット）の距離と、区間の中心までのコンポーネントＸの現在のクラス（または重み係数βの値のクラスのセット）の距離と、の比の関数として決定され、以下のように表されることができる：
【０１８９】
【数６】
2018139426.tif 000008
【０１９０】
ここで、
【０１９１】
【数７】
2018139426.tif 000009
【０１９２】
は現在のコンポーネントＺおよび区間の中心との間の距離であり、
【０１９３】
【数８】
2018139426.tif 000010
【０１９４】
は現在のコンポーネントＸおよび区間の中心との間の距離である。別の実施形態では、逆の比が考えられる。エッジオフセットに関する限り、他の関係および式が重み係数βまたはβｊの値または複数の値を決定するために使用できる。また、上述したように、オフセットＯｘｊまたはオフセットＯｚｊは、オフセットＯｘｊまたはオフセットＯｚｊを符号化するために必要なビット数を減少させるために重み係数βまたはβｊの値または複数の値に応じて（しかしながらそれらは判断される）ビットストリーム内に挿入しても良い。
【０１９５】
参照１８０３は第１のコンポーネントに関連付けられたオフセットのミラーリングされた値が如何にバンドオフセットフィルタリングのための第２のコンポーネントに関連付けられたオフセットの値として使用できるかを示す。エッジオフセットフィルタリングを参照して上述したように、オフセットＯｚｊおよびＯｘｊとの間の関係は次式により表されることができる。
Ｏｚｊ＝Ｏｘ（５−ｊ）
【０１９６】
再度、この特定の実施形態は、式Ｏｚｊ＝βｊＯｘ（５−ｊ）に従って重み係数の使用で組み合わされることができる。特定の実施形態において、βｊは−１である。
【０１９７】
バンドオフセットフィルタリングのためのオフセットの具体的な導出は、画素バンドオフセット分類の変形を可能にするクラスのサイズの増加または減少である。参照１６０４はこのような分類適応の一例を示す。図示の例によれば、クラスごとの画素数はコンポーネントＸのためのバンド分類と比較してコンポーネントＺのために２で除算される。したがって、バンドオフセットフィルタリングに従って、コンポーネントＺのための画素分類は６ビットのチェックを必要とする。換言すれば、上位６ビットは画素を分類するためにチェックされなければならない。したがって、フル画素値区間がコンポーネントＺのために６４の範囲に分割することが考えられる。
【０１９８】
この関係は実行のために固定しても良いし、またはシーケンス、フレーム、スライス、またはＬＣＵレベルで示しても良い。それはコンポーネントＸのための画素範囲サイズおよびＬＣＵ（またはシーケンス、フレーム、またはスライス）レベルでのコンポーネントＺのための画素範囲サイズの比を考慮ことにより動的に決定されることができる。従って、コンポーネントＺのためのクラスのサイズは以下のように決定できる。
【０１９９】
【数９】
2018139426.tif 000011
【０２００】
全ての、ｉ＝０  〜  Ｎ、
ここでＰｚｉはコンポーネントＺの画素であり、ＰｘｉはコンポーネントＸの画素である。バンド分類を簡素化するために、クラスごとの画素値の数は２のべき乗に等しい（最上位ビットのビットチェックを許可する）。
【０２０１】
この特定の実施形態は、参照１８０５により示されるようにバンドオフセットのオフセットの導出のために記述されたすべての他の特定の実施形態と組み合わされることができる。参照１８０５においては、本実施形態はコンポーネントＸに関連付けられたミラーリングされた値オフセットの使用と組み合わされている。
【０２０２】
ＳＡＯエッジおよびバンドフィルタリングの両方に適用可能である別の特定の実施形態において、１つのコンポーネントからのオフセットは２つまたは３つのコンポーネントから導出できる。
【０２０３】
１つまたは２つの他のコンポーネントのためのオフセットを決定（または導出）するための１つのコンポーネントからのオフセットの使用に関連する、ＳＡＯエッジおよびバンドフィルタリングの両方に適用可能であるすべての記述された実施形態は、第２のコンポーネントおよび／または第３のコンポーネントのオフセットが記憶される必要がないので、そのような導出が系統的に（すべてのＬＣＵのために）使用される際に、特に要求されるメモリバッファのサイズに関して、利点を提示する。
【０２０４】
別の特定の実施形態において（ＳＡＯエッジおよびバンドフィルタリングの両方のための）、コンポーネント間のオフセットの導出は第１のコンポーネントからのオフセットに従って第２のコンポーネントからのオフセットを予測するために使用できる。（この説明はコンポーネント間のオフセットを共有専用である）。この実施形態において、コンポーネントＺのオフセットの残差はコンポーネントＺのオフセット値を直接符号化する代わりにビットストリーム内で符号化される。復号器側でコンポーネントＺのオフセットは残差オフセットをコンポーネントＸのオフセットに加算することにより取得される。
【０２０５】
ＳＡＯエッジおよびバンドオフセットフィルタリングの両方に適用可能な別の特定の実施形態において、コンポーネント間のオフセットの導出は第１のコンポーネントに関連付けられたオフセットに従って第２のコンポーネントに関連付けられたオフセットのコンテキスト算術符号化のためのコンテキストとして使用できる。
【０２０６】
ＳＡＯエッジおよびバンドフィルタリングの両方に適用可能なさらに別の特定の実施形態において、２つのコンポーネント間のオフセットの導出はビットストリーム内でシグナリングでき、従来のモードと競合することができ、それによって、オフセットがすべてのコンポーネントのためにビットストリーム内で符号化される。
【０２０７】
上述したように、バンド位置（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ）はフル画素値区間内のバンドの最初のクラスの位置である。標準５ビットチェックを考慮することにより、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの値は範囲［０；３２］に属する。本発明の実施形態によれば、このパラメータは２つまたは３つのコンポーネント間で共有できる。説明のためにコンポーネントＸに関連付けられたその値からコンポーネントＺに関するこのパラメータの導出に焦点を当てて説明する。
【０２０８】
図１９は、第２のコンポーネントＺに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの値が、バンドオフセット分類を使用してＳＡＯループフィルタを適用する際に、第１のコンポーネントＸに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの値からどのようにして取得されるかを示す。
【０２０９】
参照１９０１は現在のＨＥＶＣ仕様に従ってビットストリーム内で送信される２つのｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ値の一例を示す。
【０２１０】
参照１９０２により示される特定の実施形態において、共通ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ値はコンポーネントＺおよびコンポーネントＸの両方のために使用される。
【０２１１】
特定の実施形態において、バンドの中心位置はフル画素区間の中心と比較される。結果の値はｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ−１４に等しい（１４は区間（１６）の中心からバンドの中心（−２）引いたものに相当する）。
【０２１２】
従って、参照１９０３により示される特定の実施形態において、コンポーネントＺに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚはフル画素区間の中心に対して、コンポーネントＸに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘに対称であると定義される。したがって、（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚ−１４）は−（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘ−１４）に等しいとみなされる。この例においてｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘは６に等しいので、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚはこのように２２に等しい（−（６−１４）＋１４＝２２）。
【０２１３】
参照１９０４により示されるさらに特定の実施形態において、重み係数βは、コンポーネントＸに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘ値およびフル画素区間の中心の位置の関数としてのコンポーネントＺに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚ値を決定するために使用される。前の実施形態と同様に、これはフル画素区間の中心および各コンポーネントＸおよびＺのｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ値との間の相対位置に基づく。この例によれば、使用される関係は以下で有り得る。
ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚ−１４＝β（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘ−１４）
すなわち
ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚ＝β（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘ−１４）＋１４
【０２１４】
図１９に挙げられた例において、β＝−１／２である。その場合、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘは６であり、その結果ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚは１８（−１／２（６−１４）＋１４＝１８）となる。
【０２１５】
重み係数βの値は実行のために予め定義しても良いし、または任意のレベル（シーケンス、フレーム、スライス、またはＬＣＵ）で送信しても良い。
【０２１６】
ＳＡＯエッジおよびバンドフィルタリングの両方に適用可能なさらに別の特定の実施形態において、２つのコンポーネント間のｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの導出は、ビットストリーム内でシグナリングされる、またｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータ値がすべてのコンポーネントのためにビットストリーム内で符号化される従来のモードと競合できる。
【０２１７】
ＳＡＯパラメータが２つまたは３つの色コンポーネント間で共有される際に、ＳＡＯパラメータの符号化の選択は好ましくは符号化効率に関連する。換言すれば、共有ＳＡＯパラメータを選択することはこれらのパラメータおよび関連付けられた値の符号化効率が有利になるように考慮する。レート歪みコストの点で最良のオフセットの選択はエッジおよびバンドオフセットフィルタリングの両方のために同じであることをここで想起されたい。
【０２１８】
これらのオフセットが２つのコンポーネントＺおよびＸとの間で共有される際のオフセットの符号化選択は、どのようなＳＡＯタイプ（バンドのエッジ）が使用されてもバンド中心の選択の前に、以下に記述される。
【０２１９】
１つのコンポーネントに対して歪みの点で最適なオフセットを決定するための符号化処理を図示する図３を参照して説明したように、コンポーネントＸに関連するＳｕｍＸｊおよびＳｕｍＮｂＰｉｘＸｊ値およびコンポーネントＺに関連するＳｕｍＺｊおよびＳｕｍＮｂＰｉｘＺｊ値はすべてのクラスｊについて分かっている。ＳｕｍＸｊおよびＳｕｍＺｊはクラスｊ内の画素値およびコンポーネントＸおよびＺそれぞれのためのそれらの元の値の差分の和である。ＳｕｍＮｂＰｉｘＸｊおよびＳｕｍＮｂＰｉｘＺｊはＸおよびＺコンポーネントそれぞれのためのクラスｊ内の画素の数である。これら４つのパラメータの値はすでにすべてのクラスについて計算されているものと想定される。
【０２２０】
目的がＯｚｊ＝Ｏｘｊを得ることである特定の実施形態において、最適なオフセットＯｏｐｔｊは次式により決定できる。
Ｏｏｐｔｊ＝Ｏｚｊ＝Ｏｘｊ＝（ＳｕｍＸｊ＋ＳｕｍＺｊ）／（ＳｕｍＮｂＰｉｘＸｊ＋ＳｕｍＮｂＰｉｘＺｊ）
【０２２１】
次に、各コンポーネントを独立して処理するために上述したように、符号器はレート歪み基準に関して最良オフセットＯｘｊを決定する。
【０２２２】
これは、Ｏｚｊ＝Ｏｘｊである特定の実施形態で、次のようにレート歪みコストを最小限に抑えることにある。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝ＳｕｍＮｂＰｉｘＸｊ×（Ｏｘｊ×Ｏｘｊ）−ＳｕｍＸｊ×Ｏｘｊ×２＋ＳｕｍＮｂＰｉｘＺ（ｊ）×（Ｏｘｊ×Ｏｘｊ）−ＳｕｍＺ（ｊ）×Ｏｘｊ×２＋λＲ（Ｏｘｊ）
【０２２３】
それは次式に従って簡略化されることができる。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝（ＳｕｍＮｂＰｉｘＸｊ＋ＳｕｍＮｂＰｉｘＺｊ）×（Ｏｊ×Ｏｊ）−（ＳｕｍＸｊ＋ＳｕｍＺｊ）×Ｏｊ×２＋λＲ（Ｏｊ）
【０２２４】
ミラーリングされた値がエッジオフセットケースのためのオフセットを決定する（Ｏｚｊ＝−Ｏｘ（５−ｊ））対象となる特定の実施形態において、最適なオフセットは次式により定義できる。
Ｏｏｐｔｊ＝Ｏｚ（５−ｊ）＝Ｏｘｊ＝（ＳｕｍＸｊ−ＳｕｍＺ（５−ｊ））／（ＳｕｍＮｂＰｉｘＸｊ＋ＳｕｍＮｂＰｉｘＺ（５−ｊ））
【０２２５】
次に、符号器はレート歪み基準に関して最良のオフセットＯｘｊを決定する。これは、Ｏｚ（５−ｊ）＝−Ｏｘｊである特定の実施形態によれば、次のようにレート歪みコストを最小限に抑えることにある。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝ＳｕｍＮｂＰｉｘＸｊ×（Ｏｘｊ×Ｏｘｊ）−ＳｕｍＸｊ×Ｏｘｊ×２＋ＳｕｍＮｂＰｉｘＺ（５−ｊ）×（Ｏｚ（５−ｊ）×Ｏｚ（５−ｊ））−ＳｕｍＺ（５−ｊ）×Ｏｚ（５−ｊ）×２＋λＲ（Ｏｘｊ）
【０２２６】
または
Ｊ（Ｏｘｊ、Ｏｚｊ）＝ＳｕｍＮｂＰｉｘＸｊ×（Ｏｘｊ×Ｏｘｊ）−ＳｕｍＸｊ×Ｏｘｊ×２＋ＳｕｍＮｂＰｉｘＺ（５−ｊ）×（Ｏｘｊ×Ｏｘｊ）＋ＳｕｍＺ（５−ｊ）×Ｏｘｊ×２＋λＲ（Ｏｘｊ）
Ｏｚｊ＝−Ｏｘｊである特定の実施形態において、最適なオフセットＯｏｐｔｊは次式により決定される。
Ｏｏｐｔｊ＝（ＳｕｍＸｊ−ＳｕｍＺｊ）／（ＳｕｍＮｂＰｉｘＸｊ＋ＳｕｍＮｂＰｉｘＺｊ）
【０２２７】
次に、符号器はレート歪み基準に関して最良のオフセットＯｘｊを決定する。これは、Ｏｚｊ＝−Ｏｘｊである特定の実施形態によれば、次のようにレート歪みコストを最小限に抑えることにある。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝ＳｕｍＮｂＰｉｘＸｊ×（Ｏｘｊ×Ｏｘｊ）−ＳｕｍＸｊ×Ｏｘｊ×２＋ＳｕｍＮｂＰｉｘＺ（ｊ）×（Ｏｘ（ｊ）×Ｏｘ（ｊ））＋ＳｕｍＺ（ｊ）×Ｏｘ（ｊ）×２＋λＲ（Ｏｘｊ）
【０２２８】
それは次式により簡略化できる。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝（ＳｕｍＮｂＰｉｘＸｊ＋ＳｕｍＮｂＰｉｘＺｊ）×（Ｏｘｊ×Ｏｘｊ）−（ＳｕｍＸｊ−ＳｕｍＺｊ）×Ｏｘｊ×２＋λＲ（Ｏｘｊ）
【０２２９】
Ｏｚｊ＝βｊＯｘｊである特定の実施形態において、符号器はコンポーネントＸのための最適ＯｏｐｔＸｊ値およびコンポーネントＺのための最適ＯｏｐｔＺｊ値を独立に決定する。次に、符号器はレート歪み基準に関して最良のオフセットＯｘｊを決定する。これは、Ｏｚｊ＝βｊＯｘｊである特定の実施形態によれば、図４を参照して記述されるようにレート歪みコストを最小限に抑えることにある。
【０２３０】
図２０はレート歪み基準に従って２つまたは３つのコンポーネントにより使用される最適なオフセットを決定するための方法のステップを示すフローチャートである。図２０に示される処理は図４を参照して説明されたものに基づく。ステップ２００１、２００４、２００５、および２００６はそれぞれステップ４０１、４０４、４０５、および４０６と同様である。
【０２３１】
ステップ２００２は、ステップ２００２で起動されたループがオフセットＯｘｊをｓｉｇｎ（ＯｏｐｔＸｊ）×ｍａｘ（ｆｘＯｏｐｔＸｊ、ＯｏｐｔＺｊ）からゼロまで変化させる点でステップ４０２とは異なる。ここで、ｆはβｊ＜１である場合には１／βｊに等しく、それ以外の場合にはβｊに等しい。
【０２３２】
Ｏｚｊ＝βｊＯｘｊである一般化された実施形態において、レート歪み基準は次式に従って計算される。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝ＳｕｍＮｂＰｉｘＸｊ×（Ｏｘｊ×Ｏｘｊ）−ＳｕｍＸｊ×Ｏｘｊ×２＋ＳｕｍＮｂＰｉｘＺ（ｊ）×（βｊ×Ｏｘｊ×βｊ×Ｏｘｊ）−ＳｕｍＺ（ｊ）×βｊ×Ｏｘｊ×２＋λＲ（Ｏｘｊ）
【０２３３】
それはまた次のようにも書かれることができる。
Ｊ（Ｏｘｊ、Ｏｚｊ）＝（ＳｕｍＮｂＰｉｘＸｊ＋ＳｕｍＮｂＰｉｘＺ（ｊ）×（βｊ）×（βｊ））×（Ｏｘｊ×Ｏｘｊ）−（ＳｕｍＸｊ＋ＳｕｍＺ（ｊ）×βｊ）×Ｏｘｊ×２＋λＲ（Ｏｘｊ）
【０２３４】
ステップ２００３において、βｊ＝−１である特定のケースを説明のために考える。
【０２３５】
２つのコンポーネントＸおよびＺとの間で共有されるｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ値の選択は次の関係に従って決定できる。
ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚ＝β（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘ−１４）＋１４
【０２３６】
図２１は２つのコンポーネント間で共有されるＳＡＯバンド位置を決定するための方法のステップを示すフローチャートである。これは図５を参照して記述された方法に基づく。図２１に示される処理はコンポーネントＺに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚの値をコンポーネントＸに関連付けられたｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘの値から決定することを目的とする。
【０２３７】
図２１に示される処理と図５に示される処理との間の主な違いは次式に従って、コンポーネントＺに関連付けられたクラスおよびコンポーネントＸに関連付けられたクラスの両方のレート歪み値が一緒に加算されるモジュール２１０５に関連する。
Ｊ’ｉ＝Ｊ’ｉ＋ＪＺｊ＋ＪＸｊｘ
【０２３８】
ここでＪＺｊはコンポーネントＺのクラスｊのレート歪み値であり、ＪＸｊｘはコンポーネントＸのクラスｊのレート歪み値である。またｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚをｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘと共同して選択するために、インデックスｊｘは次式に従って導出される。
ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｚ＝β（ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘ−１４）＋１４
【０２３９】
従って、ｊｘはβ（ｊ−１４）＋１４となる。
【０２４０】
復号化の複雑さを低減するためにコンポーネントの分類を回避する第２の主な態様によれば、ＳＡＯクラス内の画素は単一コンポーネントの関数として決定される。画素位置はフィルタリングされる必要があるコンポーネントまたはコンポーネント群を決定するために次に使用される。従って、画素コンポーネントがそのコンポーネントに従ってフィルタリングされる場合、その画素の他のコンポーネントまたは他の２つのコンポーネントがフィルタリングされる。
【０２４１】
図２２は本発明の特定の実施形態によるビットストリームを復号化するための方法のステップを示すフローチャートである。この図に示される処理は図６に示されたものに基づく。これはコンポーネントＺをフィルタリングするコンポーネントＸの分類を使用することを目的とする。
【０２４２】
最初のステップ２２０１は図１２、図１３、および図１４を参照して記述した処理に従ってＳＡＯパラメータを決定することにある。しかしながら、図２２に示されるアルゴリズムによれば、ｓａｏ＿ｔｙｐｅ＿ｉｄｘパラメータの値および、それが５に等しい場合、コンポーネントＸのためのｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎパラメータの値のみはステップ２２０２でビットストリーム（図示せず）から決定される。実際に、これらのパラメータは分類に関連しているが、それらがコンポーネントＸの分類に従ってフィルタリングされるコンポーネントＺを分類するために必要とされない。
【０２４３】
次に、ステップ２２０３においてコンポーネントＸに関連付けられた４つのオフセットはビットストリームから取得される。同様に、コンポーネントＺに関連付けられた４つのオフセットはステップ２２０４でビットストリームから取得される。これらのオフセットは上記のように他のコンポーネントおよび／または別のＬＣＵに関連付けられた他のオフセットの関数として決定されることができることに留意されたい。
【０２４４】
ステップ２２０５において、カウンタ変数ｉは値ゼロに設定される。次に、Ｎ個の画素を備えるコンポーネントＸのフレームエリア（参照２２０６）の最初の画素Ｐｘｉはステップ２２０７で抽出される。同様に、コンポーネントＺのフレームエリア（参照２２０８）の最初の画素Ｐｚｉはステップ２２０９で抽出される。例示のために、コンポーネントＺのフレームエリアはまたＮ画素を含む（コンポーネントＸおよびＺはフレームエリア当たり同量の画素を有する）ことが認められる。
【０２４５】
次に、ステップ２２１０において、最初の画素ＰｘｉのコンポーネントＸは、別表の表２および図２をそれぞれ参照することにより前述のように、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿Ｘパラメータの値（必要な場合ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ＿Ｘパラメータの値）によりエッジオフセット分類またはバンドオフセット分類に従って分類される。
【０２４６】
ステップ２２１１において、画素ＰｘｉのコンポーネントＸがフィルタリングされるか否かを判断するためにテストが行われる（すなわちＰｘｉがＳＡＯクラスに属する場合）。ＰｘｉがＳＡＯクラスに属する場合、関連するクラス番号ｊが識別され、対応するオフセット値がステップ２２１２でコンポーネントＸに関連付けられたオフセットテーブルから取得される。次に、ステップ２２１３において、画素ＰｘｉのコンポーネントＸはその値に取得されたオフセットを加算することによりフィルタリングされる。画素ＰｘｉのフィルタリングされたコンポーネントＸはＰ’ｘｉ（２２１４参照）と呼ばれる。同時にまたは順次に、コンポーネントＺに関連付けられたおよびクラス番号ｊに対応するオフセット値がステップ２２１５でコンポーネントＺに関連付けられたオフセットテーブルから取得される。次に、ステップ２２１６において、画素ＰｚｉのコンポーネントＺがその値に取得されたオフセットを加算することによりフィルタリングされる。画素ＰｚｉのフィルタリングされたコンポーネントＺはＰ’ｚｉ（２２１７参照）と呼ばれる。
【０２４７】
次に、ステップ２２１８において、フィルタリングされたコンポーネントＰ’ｘｉおよびＰ’ｚｊはそれぞれ２２１９および２２２０と呼ばれるフィルタリングされたフレームエリアのコンポーネントＸおよびコンポーネントＺに入れられる。ステップ２２１８において、フィルタリングされた画素Ｐ’ｘｉおよびＰ’ｚｊは２２１９および２２２０と呼ばれる処理されたフレームの画素ＰｘｉおよびＰｚｊをそれぞれ置き換える。
【０２４８】
ＰｘｉがＳＡＯクラスに属さない場合、フィルタリングされたフレームエリアのコンポーネントＸおよびコンポーネントＺ内のコンポーネントＰｘｉおよびＰｚｊはステップ２２２１、２２２２、および２２１８で変更されない。
【０２４９】
次に、ステップ２２２３において、カウンタ変数ｉは現在のフレームエリアの次の画素と同様にフィルタリング処理を適用するために１だけインクリメントされる。
【０２５０】
ステップ２２２４において、現在のフレームエリアのすべてのＮ個の画素が処理されたか否かが判断される（ｉ≧Ｎ）。はいの場合、フレームエリアのフィルタリングされたコンポーネントＸおよびＺが再構成され、ＳＡＯ再構成されたフレームに加算されることができる。
【０２５１】
図２２は、両方のコンポーネントが現在のフレームエリアのための同じ画素数を有する際に、別のコンポーネントＺと同様にフィルタリングするための１つのコンポーネントＸのＳＡＯ分類の使用を示す。
【０２５２】
しかしながら、フレームエリアのコンポーネントは必ずしも同じ画素数を有していない。コンポーネントＸのための画素の相対数に基づいて、コンポーネントＺのための画素数に関する表記されたＮｘ、表記されたＮｚ、２つのケースが考慮されることができる。フレームエリア内の２つの異なるコンポーネントの画素数の差分は一般的には２の倍数であるので、画素コンポーネント数間の非整数関係を考慮に入れることは一般的に必要ではない。
【０２５３】
コンポーネントＺの画素数がコンポーネントＸの画素数よりも大きい（Ｎｘ＜Ｎｚ）ケースを考慮すると、図２２を参照して記述されるアルゴリズムは、ＰｚｉがＮｚ／Ｎｘ画素のグループであることを考慮することにより簡単に構成することができる。従って、オフセットＯｆｆｓｅｔＺｉが画素Ｐｚｉのグループに加算される際に、このオフセットは画素Ｐｚｉのグループのすべての画素に適用される。また、特定の実施形態において、オフセットＯｆｆｓｅｔＺｉが画素Ｐｚｉのグループと同じサイズのオフセットのグループであることが考えられる。
【０２５４】
コンポーネントＸの画素数がコンポーネントＺの画素数よりも大きい（Ｎｘ＞Ｎｚ）ケースを考慮すると、いくつかの実施形態が考えられる。このようなケースにおいて、図２２を参照して記述されるステップ２２１６および２２１８はコンポーネントＸの画素数およびコンポーネントＺの画素数との間の関係を考慮する必要がある。図２２において、ＰｚｉはＰｚ（ｉ／Ｎｘ）により変更される。
【０２５５】
第１の特定の実施形態において、オフセットＯｆｆｓｅｔＺｉはＰｘｉが少なくとも一度フィルタリングされた場合にのみグループＰｚ（ｉ／Ｎｘ）に加算される。
【０２５６】
別の特定の実施形態によれば、図２２のステップ２２１８はＰｘｉがフィルタリングされた回数を考慮する。それが２×Ｎｘ／Ｎｚより大きい場合、ＯｆｆｓｅｔＺｉはＰｚ（ｉ／Ｎｘ）に加算される。
【０２５７】
さらに特定の実施形態によれば、ステップ２２１８はＮｘ／Ｎｚ回、Ｐｚ（ｉ／Ｎｘ）またはＰ’ｚ（ｉ／Ｎｘ）を受信し、コンポーネントＺのためのフィルタリングされたフレームエリア（２２２０）内に入れられる画素値を生成するために平均値を算出する。
【０２５８】
図２３は同様に他のコンポーネントＺをフィルタリングするために１つのコンポーネントＸのＳＡＯ分類の使用を示す。
【０２５９】
説明のため、ブロック２３０１のグレー画素は現在の実行ＨＥＶＣに従ったコンポーネントＸのための現在のクラスｊのタイプｉのＳＡＯループフィルタのためにフィルタリングされた画素を表す。同様に、ブロック２３０２の黒画素は現在のＨＥＶＣ仕様に従ったコンポーネントＺのための現在のクラスｊのタイプｉのＳＡＯループフィルタのためにフィルタリングされた画素を表す。
【０２６０】
したがって、図２３に示されるように、コンポーネントＸにおけるグレー画素とコンポーネントＺにおける黒画素は現在のＨＥＶＣ仕様を考慮するといつも同じ位置になるとは限らない。
【０２６１】
さらに説明のため、ブロック２３０３のグレー画素は現在の実行ＨＥＶＣに従ったコンポーネントＸのための現在のクラスｊのタイプｉのＳＡＯループフィルタのためにフィルタリングされた画素を表す。しかしながら、ブロック２３０４の黒くされた画素はコンポーネントＸの分類（ブロック２３０３）に従ってコンポーネントＺのためのＳＡＯループフィルタのためにフィルタリングされた画素を表す。従って、グレー画素および黒くされた画素が同じ位置に配置される。これは両方のコンポーネントのために１つの分類のみの使用を結果としてもたらす。
【０２６２】
両方の主な実施形態は符号化効率および復号化複雑性を最適化するために組み合わせることができることに留意されたい。
【０２６３】
特定の実施形態を参照して本明細書上記で本発明を説明してきたが、本発明は特定の実施形態に限定されるものではなく、変更が本発明の範囲内にあることは当業者には明らかであろう。特に、説明のために先の説明はＹＵＶコンポーネントを参照したが、ＲＧＢ（赤、緑および青のコンポーネント）のような他の方式を使用しても良い。
【０２６４】
例えば、前述の実施形態は画像の画素およびそれらに対応する画素値に関連して説明してきたが、本発明のコンテキスト内で、画素のグループが対応するグループの画素値と一緒に考慮されてもよいことが理解されるであろう。サンプルはこのように画像の１つまたは複数の画素に対応してもよい。
【０２６５】
本発明のさらなる態様が以下に提示される。
【０２６６】
本発明の第１のさらなる態様によれば、複数のサンプルを備える画像の少なくとも一部を符号化する方法が提供され、各サンプルは少なくとも２つのコンポーネントを備え、符号化された画像は少なくとも１つのフィルタリングパラメータを備え、前記方法は、
少なくとも１つの符号化されたサンプルを提供するために画像の少なくとも１つのサンプルの第１および第２のコンポーネントを符号化することと、
少なくとも前記１つの符号化されたサンプルを復号化することと、
前記画像の少なくとも１つのサンプルの少なくとも１つのコンポーネントと、前記少なくとも１つの対応する復号化されたサンプルの前記少なくとも１つの対応するコンポーネントと、の間の差分の関数として、前記少なくとも１つのフィルタリングパラメータを計算し、前記少なくとも１つのフィルタリングパラメータは復号化されたサンプルの少なくとも第１および第２のコンポーネントを独立してフィルタリングするためにループフィルタ内で使用されるように計算することと、
を有する。
【０２６７】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減させることを可能とする。
【０２６８】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータは、前記少なくとも１つのフィルタリングパラメータの符号化効率が最適であるように、複数の推定されるフィルタリングパラメータの関数として決定される。
【０２６９】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータは、画像の一部のサンプルの少なくとも１つのコンポーネントと対応する復号化されたサンプル、画像の一部内の少なくとも１つのコンポーネントのサンプル数、および画像の一部のサンプルの２つのコンポーネントの値の少なくとも１つの対応するコンポーネントとの間の差分の関数として決定される。
【０２７０】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータは、画像の前記」少なくとも１つのサンプルの第１のコンポーネントと、前記少なくとも１つの対応する復号化されたサンプルの対応する第１のコンポーネントとの間の差分の関数として計算される第１のフィルタリングパラメータ、および画像の少なくとも１つのサンプルの第２のコンポーネントおよび少なくとも１つの対応する復号化されたサンプルの対応する第２のコンポーネントとの間の差分の関数として計算される第２のフィルタリングパラメータの関数として決定断される。
【０２７１】
ある実施形態において、第１および第２のフィルタリングパラメータは画像の一部の複数のサンプルの関数として計算される。
【０２７２】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータはフィルタリングされるサンプルコンポーネントに加算される少なくとも１つオフセットを備える。
【０２７３】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータは少なくとも１つのオフセットを重み付けするための少なくとも１つの重み係数をさらに備える。
【０２７４】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータはフィルタリングされるサンプルコンポーネントの少なくとも１つのクラスを定義するバンドの少なくとも１つの位置をさらに備える。
【０２７５】
ある実施形態において、前記方法は異なるコンポーネントの推定される異なるレート歪み値の関数として少なくとも１つの位置を決定するステップをさらに備える。
【０２７６】
さらにある実施形態において、前記少なくとも１つのフィルタリングパラメータは第１のサンプルの少なくとも第１のコンポーネントに関連付けられた少なくとも１つのフラグをさらに備え、前記少なくとも１つのフラグは少なくとも第１のコンポーネントをフィルタリングするための第２のサンプルの少なくとも第２のコンポーネントに関連付けられた少なくとも１つのフィルタリングパラメータの参照を示している。
【０２７７】
ある実施形態において、前記少なくとも１つのフィルタリングパラメータは、第１のサンプルの少なくとも第１のコンポーネントに関連付けられた少なくとも１つのフラグをさらに備え、前記少なくとも１つのフラグは前記第１のサンプルの複数のコンポーネントをフィルタリングするための第２のサンプルの少なくとも第２のコンポーネントに関連付けられた少なくとも１つのフィルタリングパラメータへの参照を示している。
【０２７８】
本発明の第２のさらなる態様によれば、複数のサンプルを含む画像の少なくとも一部を復号化する方法が提供され、各サンプルは少なくとも２つのコンポーネントを有し、符号化された画像は少なくとも１つのフィルタリングパラメータを有し、前記方法は、
少なくとも１つの再構成されたサンプルの第１および第２のコンポーネントを提供するために、少なくとも１つの符号化されたサンプルの第１および第２のコンポーネントを復号化することと、
前記少なくとも１つのフィルタリングパラメータを復号化することと、
ループフィルタ内で前記少なくとも１つの再構成されたサンプルをフィルタリングし、少なくとも１つの再構成されたサンプルの第１のコンポーネントおよび第２のコンポーネントのフィルタリングは復号化された少なくとも１つのフィルタリングパラメータの少なくとも１つの共通のフィルタリングパラメータに基づいてフィルタリングすることと、
を有する。
【０２７９】
コンポーネント間の相互依存性を考慮することにより、本発明によれば、ＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少させ、そして分類の複雑さを低減させることができる。
【０２８０】
ある実施形態において、前記方法は前記少なくとも１つのフィルタリングパラメータへの参照を示す少なくとも１つのフラグを取得するステップをさらに有する。
【０２８１】
ある実施形態において、前記方法は前記取得された少なくとも１つのフラグを分析し、分析に応じて少なくとも１つの共通のフィルタリングパラメータを取得するステップをさらに備える。
【０２８２】
さらなるある実施形態において、前記方法は少なくとも１つのフィルタリングパラメータへの参照を示す少なくとも別のフラグを取得するステップ、および前記取得された少なくとも別のフラグを分析するステップをさらに備え、少なくとも１つのフラグを取得するステップは取得された少なくとも別のフラグを分析するステップに応じて行われる。
【０２８３】
ある実施形態において、前記方法は復号化された少なくとも１つのフィルタリングパラメータの関数として前記少なくとも１つの再構成されたサンプルの少なくとも前記第１のコンポーネントをフィルタリングするために使用されるフィルタリングパラメータを計算するステップをさらに備える。
【０２８４】
ある実施形態において、前記方法は復号化された少なくとも１つのフィルタリングパラメータの関数として前記少なくとも１つの再構成されたサンプルの前記第１および第２のコンポーネントをフィルタリングするために使用されるフィルタリングパラメータを計算するステップをさらに備える。
【０２８５】
さらなるある実施形態において、前記方法は少なくとも１つの重み係数を取得するステップをさらに有し、前記計算されたフィルタリングパラメータは取得された少なくとも１つの重み係数に基づく。
【０２８６】
ある実施形態において、前記方法は前記少なくとも１つの重み係数を復号化するステップをさらに有し、前記少なくとも１つの重み係数は復号化される画像の一部と一緒に受信される。
【０２８７】
ある実施形態において、前記共通のフィルタリングパラメータは前記少なくとも１つの再構成されたサンプルの少なくとも前記第１のコンポーネントに加算される少なくとも１つのオフセット値を備える。
【０２８８】
ある実施形態において、前記共通のフィルタリングパラメータは、フィルタリングされるサンプルコンポーネントの少なくとも１つのクラスを定義するバンドの少なくとも１つの位置を備える。
【０２８９】
さらなるある実施形態において、前記方法は前記少なくとも１つの再構成されたサンプルの少なくとも前記第１のコンポーネントをフィルタリングするための前記バンドの前記少なくとも１つの位置に適用される少なくとも１つの重み係数を取得するステップをさらに備える。
【０２９０】
本発明の第３のさらなる態様によれば、複数のサンプルを備える画像の少なくとも一部を符号化する方法が提供され、各サンプルは少なくとも２つのコンポーネントを有し、符号化された画像は少なくとも１つのフィルタリングパラメータを有し、前記方法は、
少なくとも１つの符号化されたサンプルを提供するために前記画像の少なくとも１つのサンプルの第１および第２のコンポーネントを符号化することと、
前記少なくとも１つの符号化されたサンプルを復号化することと、
前記画像の前記少なくとも１つのサンプルのコンポーネントと前記少なくとも１つの復号化されたサンプルの前記対応するコンポーネントとの間の差分の関数として少なくとも１つのフィルタリングパラメータを計算し、少なくとも前記１つのフィルタリングパラメータは復号化されたサンプルの少なくとも第１および第２のコンポーネントを独立してフィルタリングするためにループフィルタ内で使用されるように計算されること、と、
を有する。
【０２９１】
コンポーネント間の相互依存性を考慮することにより、本発明によれば、ＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、および分類の複雑さを低減することが出来る。
【０２９２】
本発明の第４のさらなる態様によれば、複数のサンプルを含む画像の少なくとも一部を復号化する方法が提供され、各サンプルは少なくとも２つのコンポーネントを有し、符号化された画像は少なくとも１つのフィルタリングパラメータを有し、前記方法は、
第１の再構成されたサンプルの第１のコンポーネントおよび第２の再構成されたサンプルの第２のコンポーネントを提供するために、第１の符号化されたサンプルの第１のコンポーネントおよび第２の符号化されたサンプルの第２のコンポーネントを復号化することと、
前記少なくとも１つのフィルタリングパラメータを復号化することと、
ループフィルタ内で再構成されたサンプルをフィルタリングし、前記第１の再構成されたサンプルの前記第１のコンポーネントおよび前記第２の再構成されたサンプルの前記第２のコンポーネントのフィルタリングは、復号化された前記少なくとも１つのフィルタリングパラメータの少なくとも１つの共通のフィルタリングパラメータに基づく。
【０２９３】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減させることが出来る。
【０２９４】
ある実施形態において、前記方法は、前記少なくとも１つの再構成されたサンプルの前記第２のコンポーネントをフィルタリングするために使用されるフィルタリングパラメータの関数として、前記少なくとも１つの再構成されたサンプルの前記第１のコンポーネントをフィルタリングするために使用されるフィルタリングパラメータを計算するステップをさらに備える。
【０２９５】
ある実施形態において、第１の複数のフィルタリングパラメータは前記第１の再構成されたサンプルの前記第１のコンポーネントに関連付けられ、第２の複数のフィルタリングパラメータは前記第２の再構成されたサンプルの前記第２のコンポーネントに関連付けられ、前記第１の複数のフィルタリングパラメータのフィルタリングパラメータ値は前記第２の複数のフィルタリングパラメータのフィルタリングパラメータ値に等しく、前記第１の複数のフィルタリングパラメータのフィルタリングパラメータ値は前記第２の複数のフィルタリングパラメータのフィルタリングパラメータ値の順序とは逆の順序である。
【０２９６】
別の実施形態において、第１の複数のフィルタリングパラメータは前記第１の再構成されたサンプルの前記第１のコンポーネントに関連付けられ、第２の複数のフィルタリングパラメータは前記第２の再構成されたサンプルの前記第２のコンポーネントに関連付けられ、前記第１の複数のフィルタリングパラメータの前記フィルタリングパラメータ値は所定の重み係数により乗算された前記第２の複数のフィルタリングパラメータの前記フィルタリングパラメータ値に等しい。
【０２９７】
本発明の第５のさらなる態様によれば、プログラム可能な装置のためのコンピュータプログラム製品が提供され、コンピュータプログラム製品は、プログラム可能な装置にロードされ実行された際に、上述した第１から第４のさらなる態様の１つを具現化する方法の各ステップを実現するための一連の命令を備える。
【０２９８】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、および分類の複雑さを低減することが出来る。
【０２９９】
本発明の第６のさらなる態様によれば、上述した第１から第４のさらなる態様の１つを具現化する方法の各ステップを実現するためのコンピュータプログラムの命令を記憶するコンピュータ読み出し可能な記憶媒体が提供される。
【０３００】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減することが出来る。
【０３０１】
本発明の第７のさらなる態様によれば、複数のサンプルを備える画像の少なくとも一部を符号化するための符号化装置が提供され、各サンプルは少なくとも２つのコンポーネントを有し、符号化された画像は少なくとも１つのフィルタリングパラメータを有し、前記符号化装置は、
少なくとも１つの符号化されたサンプルを提供するために、前記画像の少なくとも１つのサンプルの第１および第２のコンポーネントを符号化するための手段と、
前記少なくとも１つの符号化されたサンプルを復号化するための手段と、
前記画像の前記少なくとも１つのサンプルの少なくとも１つのコンポーネントと前記少なくとも１つの対応する復号化されたサンプルの前記少なくとも１つの対応するコンポーネントとの間の差分の関数として、前記少なくとも１つのフィルタリングパラメータを計算するための手段であって、前記少なくとも１つのフィルタリングパラメータは復号化されたサンプルの少なくとも第１および第２のコンポーネントを独立してフィルタリングするループフィルタ内で使用されるように計算される、手段と、
を有する。
【０３０２】
コンポーネント間の相互依存性を考慮することにより、本発明によれば、ＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減することが出来る。
【０３０３】
ある実施形態において、前記装置はフラグを符号化するための手段をさらに有し、前記少なくとも１つのフィルタリングパラメータは第１のサンプルの少なくとも第１のコンポーネントに関連付けられた少なくとも１つのフラグを有し、前記少なくとも１つのフラグは少なくとも第１のコンポーネントをフィルタリングするための第２のサンプルの少なくとも第２のコンポーネントに関連付けられた前記少なくとも１つのフィルタリングパラメータへの参照を示す。
【０３０４】
別の実施形態において、前記装置はフラグを符号化するための手段をさらに有し、前記少なくとも１つのフィルタリングパラメータは、第１のサンプルの少なくとも第１のコンポーネントに関連付けられた少なくとも１つのフラグをさらに有し、前記少なくとも１つのフラグは、第１のサンプルの複数のコンポーネントをフィルタリングするための第２のサンプルの少なくとも第２のコンポーネントに関連付けられた少なくとも１つのフィルタリングパラメータへの参照を示す。
【０３０５】
本発明の第８のさらなる態様によれば、複数のサンプルを備える画像の少なくとも一部を復号化する復号化装置が提供され、各サンプルは少なくとも２つのコンポーネントを有し、前記符号化された画像は少なくとも１つのフィルタリングパラメータを有し、前記装置は、
少なくとも１つの再構成されたサンプルの第１および第２のコンポーネントを提供するために、少なくとも１つの符号化されたサンプルの第１および第２のコンポーネントを復号化するための手段と、
前記少なくとも１つのフィルタリングパラメータを復号化するための手段と、
ループフィルタ内で前記少なくとも１つの再構成されたサンプルをフィルタリングするための手段であって、前記少なくとも１つの再構成されたサンプルの前記第１のコンポーネントおよび前記第２のコンポーネントのフィルタリングは復号化された少なくとも１つのフィルタリングパラメータの少なくとも１つの共通のフィルタリングパラメータに基づく、手段と、を有する。
【０３０６】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減することが出来る。
【０３０７】
ある実施形態において、前記装置は少なくとも１つのフィルタリングパラメータへの参照を示す少なくとも１つのフラグを取得するための手段、少なくとも１つのフィルタリングパラメータへの参照を示す少なくとも別のフラグを取得する手段、および取得された前記少なくとも別のフラグを分析するための手段、前記少なくとも１つのフラグを取得するための手段は取得された少なくとも別のフラグを分析するための手段に応答する、をさらに有する。
【０３０８】
ある実施形態において、前記装置は復号化された前記少なくとも１つのフィルタリングパラメータの関数として、前記少なくとも１つの再構成されたサンプルの少なくとも前記第１のコンポーネントをフィルタリングするために使用されるフィルタリングパラメータを計算するための手段をさらに有する。
【０３０９】
さらなるある実施形態において、前記装置は前記復号化された少なくとも１つのフィルタリングパラメータの関数として前記少なくとも１つの再構成されたサンプルの前記第１および第２のコンポーネントをフィルタリングするために使用されるフィルタリングパラメータを計算するための手段をさらに有する。
【０３１０】
本発明の第９のさらなる態様によれば複数のサンプルを備える画像の少なくとも一部を符号化するための符号化装置が提供され、各サンプルは少なくとも２つのコンポーネントを備え、符号化された画像は少なくとも１つのフィルタリングパラメータを有し、前記装置は、
少なくとも１つの符号化されたサンプルを提供するために前記画像の少なくとも１つのサンプルの第１および第２のコンポーネントを符号化するための手段と、
前記少なくとも１つの符号化されたサンプルを復号化するための手段と、
前記画像の前記少なくとも１つのサンプルのコンポーネントと前記少なくとも１つの復号化されたサンプルの前記対応するコンポーネントとの間の差分の関数として、前記少なくとも１つのフィルタリングパラメータを計算するための手段であって、前記少なくとも１つのフィルタリングパラメータは復号化されたサンプルの少なくとも第１および第２のコンポーネントを独立してフィルタリングするためにループフィルタ内で使用されるように計算される、手段と、
を有する。
【０３１１】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減させることが出来る。
【０３１２】
本発明の第１０のさらなる態様によれば、複数のサンプルを備える画像の少なくとも一部を復号化する復号化装置が提供され、各サンプルは少なくとも２つのコンポーネントを有し、符号化された画像は少なくとも１つのフィルタリングパラメータを備え、前記装置は、
第１の再構成されたサンプルの第１のコンポーネントおよび第２の再構成されたサンプルの第２のコンポーネントを提供するために、第１の符号化されたサンプルの第１のコンポーネントおよび第２の符号化されたサンプルの第２のコンポーネントを復号化するための手段と、
前記少なくとも１つのフィルタリングパラメータを復号化するための手段と、
ループフィルタ内で、再構成されたサンプルをフィルタリングするための手段であって、前記第１の再構成されたサンプルの前記第１のコンポーネントおよび前記第２の再構成されたサンプルの前記第２のコンポーネントのフィルタリングは前記復号化された少なくとも１つのフィルタリングパラメータの少なくとも１つの共通のフィルタリングパラメータに基づく、手段と、
を有する。
【０３１３】
コンポーネント間の相互依存性を考慮することにより、本発明によればＳＡＯの符号化効率を改善し、ＳＡＯパラメータを格納するのに必要なメモリバッファを減少し、また分類の複雑さを低減させることが出来る。
【０３１４】
ある実施形態において、前記装置はフィルタリングパラメータを計算する手段をさらに備え、第１の複数のフィルタリングパラメータは前記第１の再構成されたサンプルの前記第１のコンポーネントに関連付けられ、第２の複数のフィルタリングパラメータは前記第２の再構成されたサンプルの前記第２のコンポーネントに関連付けられ、前記第１の複数のフィルタリングパラメータのフィルタリングパラメータ値は前記第２の複数のフィルタリングパラメータのフィルタリングパラメータ値に等しく、前記第１の複数のフィルタリングパラメータのフィルタリングパラメータ値は前記第２の複数のフィルタリングパラメータのフィルタリングパラメータ値の順序とは逆の順序である。
【０３１５】
別の実施形態において、前記装置はフィルタリングパラメータを計算する手段をさらに備え、第１の複数のフィルタリングパラメータは前記第１の再構成されたサンプルの前記第１のコンポーネントに関連付けられ、第２の複数のフィルタリングパラメータは前記第２の再構成されたサンプルの前記第２のコンポーネントに関連付けられ、前記第１の複数のフィルタリングパラメータの前記フィルタリングパラメータ値は所定の重み係数により乗算された前記第２の複数のフィルタリングパラメータの前記フィルタリングパラメータ値に等しい。
【０３１６】
多くのさらなる変更および変形は前述の例示的な実施形態を参照して当業者には自明であろう、それら実施形態は単に例示として挙げられており且つ本発明の範囲を限定するために意図されるものではなく、添付の特許請求の範囲によってのみ判断される。特に、適切な場合には異なる実施形態からの異なる特徴は入れ替えられてもよい。
【０３１７】
特許請求の範囲において、単語「有する（ｃｏｍｐｒｉｓｉｎｇ）」は他の要素またはステップを除外せず、不定冠詞「ａ」または「ａｎ」は複数を除外しない。異なる特徴が相互に異なる従属請求項に記載されているという単なる事実は、これら特徴の組み合わせが有利に使用されることができないことを示すものではない。
【０３１８】
【表１】
2018139426.tif 000012
【０３１９】
【表２】
2018139426.tif 000013
【図１】
2018139426.tif 000014
【図２】
2018139426.tif 000015
【図３】
2018139426.tif 000016
【図４】
2018139426.tif 000017
【図５】
2018139426.tif 000018
【図６】
2018139426.tif 000019
【図７】
2018139426.tif 000020
【図８】
2018139426.tif 000021
【図９】
2018139426.tif 000022
【図１０】
2018139426.tif 000023
【図１１】
2018139426.tif 000024
【図１２】
2018139426.tif 000025
【図１３】
2018139426.tif 000026
【図１４】
2018139426.tif 000027
【図１５】
2018139426.tif 000028
【図１６】
2018139426.tif 000029
【図１７】
2018139426.tif 000030
【図１８】
2018139426.tif 000031
【図１９】
2018139426.tif 000032
【図２０】
2018139426.tif 000033
【図２１】
2018139426.tif 000034
【図２２】
2018139426.tif 000035
【図２３】
2018139426.tif 000036