(57)【要約】  −フィルタ・パラメータの複数の候補セットをビットストリームから復号することと、−前記ピクチャの現行ブロックに関して、フィルタ・パラメータの候補セットのうちの１つを識別するインデックスをビットストリームから復号することと、−現行ブロックをビットストリームから復号することと、−復号されたインデックスによって識別されるフィルタ・パラメータの候補セットを用いて復号された現行ブロックをフィルタリングすることとを含む、前記ピクチャ部分のブロックを復号する復号方法を開示する。【選択図】図１３Ａ
2020522170.tif 000002
【特許請求の範囲】
【請求項１】
−フィルタ・パラメータの複数の候補セットをビットストリームから復号することと、
−ピクチャ部分の現行ブロックに関して、フィルタ・パラメータの前記候補セットのうちの１つを識別するインデックスを前記ビットストリームから復号することと、
−前記現行ブロックを前記ビットストリームから復号することと、
−前記復号されたインデックスによって識別されるフィルタ・パラメータの前記候補セットを用いて前記復号された現行ブロックをフィルタリングすることであって、前記現行ブロックの前記インデックスの最大値は、前記現行ブロックの前に復号されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の増加関数である、フィルタリングすることと
を含む方法。
【請求項２】
フィルタ・パラメータの前記複数の候補セットは、復号順で最初に復号される前記ピクチャ部分のブロックに関連するビットストリームの部分から復号される、請求項１に記載の方法。
【請求項３】
フィルタ・パラメータの複数の候補セットを表すデータを前記ビットストリームから復号することを含む、請求項１または２のいずれか１項に記載の方法。
【請求項４】
フィルタ・パラメータの前記複数の候補セットの前記候補セットは、その使用の順序で前記ビットストリームから復号される、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記現行ブロックをフィルタリングする前に、フィルタ・パラメータの前記候補セットを並べ換えることをさらに含む、請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記現行ブロックのすぐ左に配置されたブロックが使用可能である時にそのようなブロックをフィルタリングするのに使用されるフィルタ・パラメータの前記セットが最初にリストされるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項５に記載の方法。
【請求項７】
前記現行ブロックの前に復号されたブロックをフィルタリングするのに使用されるフィルタ・パラメータの前記候補セットが、前記現行ブロックの前に復号されたブロックと前記現行ブロックとの間の空間距離に依存する順序でリストされるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項５または６に記載の方法。
【請求項８】
前記現行ブロックの前に復号されたブロックをフィルタリングするのに使用されないフィルタ・パラメータの少なくとも１つの候補セットが、前記現行ブロックの前に復号された前記ブロックをフィルタリングするのに使用されるフィルタ・パラメータの最後の候補セットの前に挿入されるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項５から７のいずれか１項に記載の方法。
【請求項９】
前記現行ブロックの前に復号されたブロックによって使用されず、次に使用される最初の候補であるフィルタ・パラメータの候補セットが、前記現行ブロックの後に復号する前記ピクチャ部分のブロックの個数と前記現行ブロックの前に復号されるブロックによってまだ使用されていないフィルタ・パラメータの候補セットの個数との関数である位置に挿入されるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項５から７のいずれか１項に記載の方法。
【請求項１０】
フィルタ・パラメータの前記複数の候補セット内に、ブロックがフィルタリングされないことを指定するフィルタ・パラメータの候補セットを挿入することをさらに含む、請求項１から９のいずれか１項に記載の方法。
【請求項１１】
ブロックがフィルタリングされないことを指定するフィルタ・パラメータの前記候補セットは、事前定義の位置のフィルタ・パラメータの前記候補セットの間に挿入される、請求項１０に記載の方法。
【請求項１２】
−再構成されたブロックと呼ばれる、ピクチャ部分の現行ブロックの再構成されたバージョンを判定することと、
−フィルタ・パラメータの複数の候補セットを入手し、フィルタ・パラメータの前記候補セットのうちの１つを識別する、前記現行ブロックのインデックスを判定することと、
−前記インデックスによって識別されるフィルタ・パラメータの前記複数の候補セットのうちのフィルタ・パラメータの前記候補セットを用いて、前記再構成されたブロックをフィルタリングすることであって、前記現行ブロックの前記インデックスの最大値は、前記現行ブロックの前に再構成されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の増加関数である、フィルタリングすることと、
−ビットストリーム内で、フィルタ・パラメータの前記複数の候補セット、前記現行ブロック、および前記インデックスを符号化することと
を含む方法。
【請求項１３】
フィルタ・パラメータの前記複数の候補セットは、前記現行ブロックが属するスライスのスライス・ヘッダ内で符号化される、請求項１２に記載の方法。
【請求項１４】
フィルタ・パラメータの前記複数の候補セットは、符号化順で最初に符号化する前記ピクチャ部分のブロックに関連する前記ビットストリームの部分内で符号化される、請求項１２に記載の方法。
【請求項１５】
前記ビットストリーム内で、フィルタ・パラメータの複数の候補セットを表すデータを符号化することを含む、請求項１２から１４のいずれか１項に記載の方法。
【請求項１６】
フィルタ・パラメータの前記複数の候補セットの前記候補セットは、その使用の順序で前記ビットストリーム内で符号化される、請求項１２から１４のいずれか１項に記載の方法。
【請求項１７】
前記現行ブロックをコーディングする前に、フィルタ・パラメータの前記候補セットを並べ換えることをさらに含む、請求項１２から１６のいずれか１項に記載の方法。
【請求項１８】
−フィルタ・パラメータの複数の候補セットをビットストリームから復号する手段と、
−ピクチャ部分の現行ブロックに関して、フィルタ・パラメータの前記候補セットのうちの１つを識別するインデックスを前記ビットストリームから復号する手段と、
−前記現行ブロックを前記ビットストリームから復号する手段と、
−前記復号されたインデックスによって識別されるフィルタ・パラメータの前記候補セットを用いて前記復号された現行ブロックをフィルタリングする手段であって、前記現行ブロックの前記インデックスの最大値は、前記現行ブロックの前に復号されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の増加関数である、フィルタリングする手段と
を含む復号器。
【請求項１９】
フィルタ・パラメータの前記複数の候補セットは、復号順で最初に復号される前記ピクチャ部分のブロックに関連するビットストリームの部分から復号される、請求項１８に記載の復号器。
【請求項２０】
フィルタ・パラメータの複数の候補セットを表すデータを前記ビットストリームから復号する手段を含む、請求項１８から１９のいずれか１項に記載の復号器。
【請求項２１】
フィルタ・パラメータの前記複数の候補セットの前記候補セットは、その使用の順序で前記ビットストリームから復号される、請求項１８から２０のいずれか１項に記載の復号器。
【請求項２２】
前記現行ブロックをフィルタリングする前に、フィルタ・パラメータの前記候補セットを並べ換える手段をさらに含む、請求項１８から２１のいずれか１項に記載の復号器。
【請求項２３】
前記現行ブロックのすぐ左に配置されたブロックが使用可能である時にそのようなブロックをフィルタリングするのに使用されるフィルタ・パラメータの前記セットが最初にリストされるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項２２に記載の復号器。
【請求項２４】
前記現行ブロックの前に復号されたブロックをフィルタリングするのに使用されるフィルタ・パラメータの前記候補セットが、前記現行ブロックの前に復号されたブロックと前記現行ブロックとの間の空間距離に依存する順序でリストされるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項２２または２３に記載の復号器。
【請求項２５】
前記現行ブロックの前に復号されたブロックをフィルタリングするのに使用されないフィルタ・パラメータの少なくとも１つの候補セットが、前記現行ブロックの前に復号された前記ブロックをフィルタリングするのに使用されるフィルタ・パラメータの最後の候補セットの前に挿入されるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項２２から２４のいずれか１項に記載の復号器。
【請求項２６】
前記現行ブロックの前に復号されたブロックによって使用されず、次に使用される最初の候補であるフィルタ・パラメータの候補セットが、前記現行ブロックの後に復号する前記ピクチャ部分のブロックの個数と前記現行ブロックの前に復号されるブロックによってまだ使用されていないフィルタ・パラメータの候補セットの個数との関数である位置に挿入されるように、フィルタ・パラメータの前記候補セットは並べ換えられる、請求項２２から２４のいずれか１項に記載の復号器。
【請求項２７】
フィルタ・パラメータの前記複数の候補セット内に、ブロックがフィルタリングされないことを指定するフィルタ・パラメータの候補セットを挿入する手段をさらに含む、請求項１８から２６のいずれか１項に記載の復号器。
【請求項２８】
ブロックがフィルタリングされないことを指定するフィルタ・パラメータの前記候補セットは、事前定義の位置のフィルタ・パラメータの前記候補セットの間に挿入される、請求項２７に記載の復号器。
【請求項２９】
−再構成されたブロックと呼ばれる、ピクチャ部分の現行ブロックの再構成されたバージョンを判定する手段と、
−フィルタ・パラメータの複数の候補セットを入手し、フィルタ・パラメータの前記候補セットのうちの１つを識別する、前記現行ブロックのインデックスを判定する手段と、
−前記インデックスによって識別されるフィルタ・パラメータの前記複数の候補セットのうちのフィルタ・パラメータの前記候補セットを用いて、前記再構成されたブロックをフィルタリングする手段であって、前記現行ブロックの前記インデックスの最大値は、前記現行ブロックの前に再構成されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の増加関数である、フィルタリングする手段と、
−ビットストリーム内で、フィルタ・パラメータの前記複数の候補セット、前記現行ブロック、および前記インデックスを符号化する手段と
を含む符号器。
【請求項３０】
フィルタ・パラメータの前記複数の候補セットは、前記現行ブロックが属するスライスのスライス・ヘッダ内で符号化される、請求項２９に記載の符号器。
【請求項３１】
フィルタ・パラメータの前記複数の候補セットは、符号化順で最初に符号化する前記ピクチャ部分のブロックに関連する前記ビットストリームの部分内で符号化される、請求項２９に記載の符号器。
【請求項３２】
前記ビットストリーム内で、フィルタ・パラメータの複数の候補セットを表すデータを符号化する手段を含む、請求項２９から３１のいずれか１項に記載の符号器。
【請求項３３】
フィルタ・パラメータの前記複数の候補セットの前記候補セットは、その使用の順序で前記ビットストリーム内で符号化される、請求項２９から３１のいずれか１項に記載の符号器。
【請求項３４】
前記現行ブロックをコーディングする前に、フィルタ・パラメータの前記候補セットを並べ換える手段をさらに含む、請求項２９から３３のいずれか１項に記載の符号器。
【発明の詳細な説明】
【技術分野】
【０００１】
本原理は、全般的には、ピクチャ部分のブロックを符号化し、復号する方法およびデバイスに関し、より具体的には、ループ内フィルタリング、たとえばサンプル適応オフセット・フィルタリングを用いるピクチャの符号化および復号の方法およびデバイスに関する。
【背景技術】
【０００２】
高い圧縮効率を達成するために、ビデオ・コーディング方式は、通常、ビデオ・コンテンツ内の空間冗長性および時間冗長性を活用するために予測および変換を使用する。一般に、イントラ予測またはインター予測が、イントラ・フレーム相関またはインター・フレーム相関を活用するのに使用され、その後、しばしば残差と表される、元の画像内のサンプルのグループと予測された画像内のサンプルのグループとの間の差が、変換され、量子化され、エントロピ・コーディングされる。ビデオを再構成するために、圧縮されたデータが、予測、変換、量子化、およびエントロピ・コーディングに対応する逆プロセスによって復号される。
【０００３】
伝統的なビデオ・コーディング方式は、再構成された画像の品質を改善するためにループ内フィルタリング・プロセスを含む。ループ内フィルタリングは、デブロッキング・フィルタリング（ＤＦ）、ＨＥＶＣのサンプル適応オフセット（ＳＡＯ）フィルタリング、および／またはウィーナー・フィルタなどの適応ループ・フィルタリングＡＬＦなど、複数のフィルタリング・プロセスを含むことができる。これらのフィルタは、この順序でまたは異なる順序で連続して適用され得る。サンプル適応オフセット・フィルタリング・プロセスは、文書ＩＴＵ−Ｔ  Ｈ．２６５、表題「Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」（２０１５年４月の版）のセクション８．７．３に記載されている。ＳＡＯフィルタリングは、コーディング・アーティファクト、たとえばリンギング・アーティファクトまたはバンディング・アーティファクトを減らすために、いくつかの再構成されたサンプルにオフセットを加算することを含む。ＳＡＯフィルタリングが使用可能にされる（またはアクティブ化される）時には、２タイプのフィルタリングすなわち、エッジ・オフセット（ＥＯ）タイプまたはバンド・オフセット（ＢＯ）タイプが実行され得る。ＳＡＯフィルタリングは、まず、あるＣＴＢ（コーディング・ツリー・ブロック）のサンプルを複数のカテゴリに分類することと、各サンプルに、そのカテゴリに依存する特定のオフセットを加算することとによってサンプル歪みを減らす。したがって、色成分ごとのＳＡＯパラメータのセット（たとえばオフセット、おそらくはオフセット符号、フィルタ・タイプなどを含むＳＡＯパラメータのセット）が、符号器側で判定され、ＣＴＵ（コーディング・ツリー・ユニット）の他の構文要素の後に、ＣＴＵレベルで符号化される。帯域幅を節約するために、ＳＡＯパラメータは、必ずしもＣＴＵごとに符号化されるのではない。したがって、ＣＴＵでは、隣接するＣＴＵからそのＳＡＯパラメータを継承することができる。ＳＡＯパラメータのこの復号モードは、マージ・モード（ｍｅｒｇｅ  ｍｏｄｅ）と呼ばれる。より正確には、ＨＥＶＣでは、ＣＴＵは、図１に示されているように、その真上（マージ・アップ）またはすぐ左（マージ・レフト）に配置されたＣＴＵからそのＳＡＯパラメータを継承することができる。この図では、ＳＡＯパラメータのセットは、効果的に、ＣＴＵ  ０、２、および６に関して符号化される。他のＣＴＵは、そのＳＡＯパラメータを継承する。一例として、ＣＴＵ  １、４、および５は、ＣＴＵ  ０からそのＳＡＯパラメータを継承し、ＣＴＵ  ３は、ＣＴＵ  ２からそのＳＡＯパラメータを継承し、ＣＴＵ  ７は、ＣＴＵ  ６からそのＳＡＯパラメータを継承する。
【０００４】
ＣＴＵは、ラスタ・スキャン順で符号化／復号されるので、マージに関するＳＡＯパラメータの候補セットの選択は、制限される。一例として、ＣＴＵ  ３は、そのＳＡＯパラメータをＣＴＵ  ２から継承することだけができ、ＣＴＵ  １、４、５は、そのＳＡＯパラメータをＣＴＵ  ０から継承することだけができる。ＣＴＵ  ７は、そのＳＡＯパラメータをＣＴＵ  ６から直接に（マージ・レフト）またはＣＴＵ  ２から間接に（すなわち  ＣＴＵ  ３を介して、マージ・アップ）継承することができる。したがって、図１のＣＴＵのほとんどが、単一のＣＴＵからそのＳＡＯパラメータを継承することだけができるが、３セットのＳＡＯパラメータがビットストリーム内で符号化された（すなわち、ＣＴＵ  ０、２、および６ごとに１セットのＳＡＯパラメータ）ので、この方法は非効率的である。
【発明の概要】
【０００５】
−フィルタ・パラメータの複数の候補セットをビットストリームから復号することと、
−ピクチャの現行ブロック（現在ブロック：current block）に関して、フィルタ・パラメータの候補セットのうちの１つを識別するインデックスをビットストリームから復号することと、
−現行ブロックをビットストリームから復号することと、
−復号されたインデックスによって識別されるフィルタ・パラメータの候補セットを用いて復号された現行ブロックをフィルタリングすることと
を含む、ピクチャ部分のブロックを復号する復号方法が開示される。
【０００６】
−フィルタ・パラメータの複数の候補セットをビットストリームから復号する手段と、
−ピクチャの現行ブロックに関して、フィルタ・パラメータの候補セットのうちの１つを識別するインデックスをビットストリームから復号する手段と、
−現行ブロックをビットストリームから復号する手段と、
−復号されたインデックスによって識別されるフィルタ・パラメータの候補セットを用いて復号された現行ブロックをフィルタリングする手段と
を含む復号デバイスも開示される。
【０００７】
変形形態では、ビットストリームにアクセスするように構成された通信インターフェースと、
−フィルタ・パラメータの複数の候補セットをアクセスされたビットストリームから復号し、
−ピクチャの現行ブロックに関して、フィルタ・パラメータの候補セットのうちの１つを識別するインデックスをアクセスされたビットストリームから復号し、
−現行ブロックをアクセスされたビットストリームから復号し、
−復号されたインデックスによって識別されるフィルタ・パラメータの候補セットを用いて復号された現行ブロックをフィルタリングする
ように構成された少なくとも１つのプロセッサとを含む復号デバイスが開示される。
【０００８】
以下の実施形態は、上で開示された復号方法および復号デバイスにあてはまる。
【０００９】
特定の実施形態では、フィルタ・パラメータの複数の候補セットは、現行ブロックが属するスライスのスライス・ヘッダから復号される。
【００１０】
有利なことに、フィルタ・パラメータの複数の候補セットは、復号順で最初に復号されるピクチャ部分のブロックに関連するビットストリームの部分から復号される。
【００１１】
別の特定の実施形態では、復号方法は、ビットストリームから、フィルタ・パラメータの複数の候補セットを表すデータを復号することをさらに含む。
【００１２】
有利なことに、フィルタ・パラメータの複数の候補セットの候補セットは、その使用の順序でビットストリームから復号される。
【００１３】
特定の実施形態では、現行ブロックのインデックスの最大値は、現行ブロックの前に復号されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の増加関数である。
【００１４】
別の特定の実施形態では、復号方法は、現行ブロックをフィルタリングする前に、フィルタ・パラメータの候補セットを並べ換えることをさらに含む。
【００１５】
有利なことに、現行ブロックのすぐ左に配置されたブロックが使用可能である時にそのようなブロックをフィルタリングするのに使用されるフィルタ・パラメータのセットが最初にリストされるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００１６】
有利なことに、現行ブロックの前に復号されたブロックをフィルタリングするのに使用されるフィルタ・パラメータの候補セットが、現行ブロックの前に復号されたブロックと現行ブロックとの間の空間距離に依存する順序でリストされるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００１７】
有利なことに、現行ブロックの前に復号されたブロックをフィルタリングするのに使用されないフィルタ・パラメータの少なくとも１つの候補セットが、現行ブロックの前に復号されたブロックをフィルタリングするのに使用されるフィルタ・パラメータの最後の候補セットの前に挿入されるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００１８】
有利なことに、現行ブロックの前に復号されたブロックによって使用されず、次に使用される最初の候補であるフィルタ・パラメータの候補セットが、現行ブロックの後に復号するピクチャ部分のブロックの個数と現行ブロックの前に復号されるブロックによってまだ使用されていないフィルタ・パラメータの候補セットの個数との関数である位置に挿入されるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００１９】
有利なことに、この方法は、フィルタ・パラメータの複数の候補セット内に、フィルタ・パラメータの事前定義の候補セット、たとえばブロックがフィルタリングされないことを指定するフィルタ・パラメータの候補セットを挿入することをさらに含む。
【００２０】
有利なことに、ブロックがフィルタリングされないことを指定するフィルタ・パラメータの候補セットは、事前定義の位置のフィルタ・パラメータの候補セットの間に挿入される。
【００２１】
特定の実施形態では、フィルタ・パラメータの前記複数の候補セットは、フィルタ・ルマ・パラメータを含み、この方法は、フィルタ・クロマ・パラメータの別の複数の候補セットとフィルタ・クロマ・パラメータの候補セットのうちの１つを識別する別のインデックスとを復号することをさらに含む。復号された現行ブロック・ルマ・サンプルのフィルタリングは、復号されたインデックスによって識別されるフィルタ・ルマ・パラメータの候補セットを用いて行われ、復号された現行ブロック・クロマ・サンプルのフィルタリングは、復号された別のインデックスによって識別されるフィルタ・クロマ・パラメータの候補セットを用いて行われる。
【００２２】
−再構成されたブロックと呼ばれる、ピクチャ部分の現行ブロックの再構成されたバージョンを判定することと、
−フィルタ・パラメータの複数の候補セットを入手し、フィルタ・パラメータの候補セットのうちの１つを識別する、現行ブロックのインデックスを判定することと、
−インデックスによって識別されるフィルタ・パラメータの複数の候補セットのうちのフィルタ・パラメータの候補セットを用いて、再構成されたブロックをフィルタリングすることと、
−ビットストリーム内で、フィルタ・パラメータの複数の候補セット、現行ブロック、およびインデックスを符号化することと
を含む、ピクチャ部分のブロックを符号化する符号化方法も開示される。
【００２３】
−再構成されたブロックと呼ばれる、ピクチャ部分の現行ブロックの再構成されたバージョンを判定する手段と、
−フィルタ・パラメータの複数の候補セットを入手し、フィルタ・パラメータの候補セットのうちの１つを識別する、現行ブロックのインデックスを判定する手段と、
−インデックスによって識別されるフィルタ・パラメータの複数の候補セットのうちのフィルタ・パラメータの候補セットを用いて、再構成されたブロックをフィルタリングする手段と、
−ビットストリーム内で、フィルタ・パラメータの複数の候補セット、現行ブロック、およびインデックスを符号化する手段と
を含む符号化デバイスも開示される。
【００２４】
変形形態では、ピクチャ部分にアクセスするように構成された通信インターフェースと、
−再構成されたブロックと呼ばれる、アクセスされたピクチャ部分の現行ブロックの再構成されたバージョンを判定し、
−フィルタ・パラメータの複数の候補セットを入手し、フィルタ・パラメータの候補セットのうちの１つを識別する、現行ブロックのインデックスを判定し、
−インデックスによって識別されるフィルタ・パラメータの複数の候補セットのうちのフィルタ・パラメータの候補セットを用いて、再構成されたブロックをフィルタリングし、
−ビットストリーム内で、フィルタ・パラメータの複数の候補セット、現行ブロック、およびインデックスを符号化する
ように構成された少なくとも１つのプロセッサとを含む符号化デバイスが開示される。
【００２５】
フィルタ・パラメータの複数の候補セットを表すコーディングされたデータと、ピクチャ部分の少なくとも１つの現行ブロックを表すコーディングされたデータと、フィルタ・パラメータの候補セットのうちで現行ブロックの復号されたバージョンのフィルタリングに使用される候補セットを識別する少なくとも１つのインデックスを表すコーディングされたデータとを含む、ピクチャ部分のブロックを表すビットストリームも開示される。
【００２６】
変形形態では、ピクチャ部分のブロックを表すビットストリームをその上に記憶された非一時的プロセッサ可読媒体が開示される。ビットストリームは、フィルタ・パラメータの複数の候補セットを表すコーディングされたデータと、ピクチャ部分の少なくとも１つの現行ブロックを表すコーディングされたデータと、フィルタ・パラメータの候補セットのうちで現行ブロックの復号されたバージョンのフィルタリングに使用される候補セットを識別する少なくとも１つのインデックスを表すコーディングされたデータとを含む。
【００２７】
−フィルタ・パラメータの複数の候補セットを表すコーディングされたデータを送信することと、
−ピクチャ部分の少なくとも１つの現行ブロックを表すコーディングされたデータを送信することと、
−フィルタ・パラメータの候補セットのうちで現行ブロックの復号されたバージョンのフィルタリングに使用される候補セットを識別する少なくとも１つのインデックスを表すコーディングされたデータを送信することと
を含む送信方法が開示される。
【００２８】
−フィルタ・パラメータの複数の候補セットを表すコーディングされたデータを送信するための手段と、
−ピクチャ部分の少なくとも１つの現行ブロックを表すコーディングされたデータを送信するための手段と、
−フィルタ・パラメータの候補セットのうちで現行ブロックの復号されたバージョンのフィルタリングに使用される候補セットを識別する少なくとも１つのインデックスを表すコーディングされたデータを送信するための手段と
を含む送信デバイスが開示される。
【００２９】
ピクチャ部分にアクセスするように構成された通信インターフェースと、
−フィルタ・パラメータの複数の候補セットを表すコーディングされたデータを送信し、
−ピクチャ部分の少なくとも１つの現行ブロックを表すコーディングされたデータを送信し、
−フィルタ・パラメータの候補セットのうちで現行ブロックの復号されたバージョンのフィルタリングに使用される候補セットを識別する少なくとも１つのインデックスを表すコーディングされたデータを送信する
ように構成された少なくとも１つのプロセッサとを含む送信デバイスが開示される。
【００３０】
以下の実施形態は、上で開示されたコーディング方法、コーディング・デバイス、ビットストリーム、プロセッサ可読媒体、送信方法、および送信デバイスにあてはまる。
【００３１】
有利なことに、フィルタ・パラメータの複数の候補セットは、現行ブロックが属するスライスのスライス・ヘッダ内で符号化される。
【００３２】
有利なことに、フィルタ・パラメータの複数の候補セットは、符号化順で最初に符号化するピクチャ部分のブロックに関連するビットストリームの部分内で符号化される。
【００３３】
有利なことに、ビットストリーム内で、フィルタ・パラメータの複数の候補セットを表すデータを符号化することを含むこと。
【００３４】
有利なことに、フィルタ・パラメータの複数の候補セットの候補セットは、その使用の順序でビットストリーム内で符号化される。
【００３５】
有利なことに、現行ブロックのインデックスの最大値は、現行ブロックの前に符号化されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の増加関数である。
【００３６】
有利なことに、現行ブロックをコーディングする前に、フィルタ・パラメータの候補セットを並べ換えることをさらに含むこと。
【００３７】
有利なことに、現行ブロックのすぐ左に配置されたブロックが使用可能である時にそのようなブロックをフィルタリングするのに使用されるフィルタ・パラメータのセットが最初にリストされるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００３８】
有利なことに、現行ブロックの前に符号化されたブロックをフィルタリングするのに使用されるフィルタ・パラメータの候補セットが、現行ブロックの前に符号化されたブロックと現行ブロックとの間の空間距離に依存する順序でリストされるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００３９】
有利なことに、現行ブロックの前に符号化されたブロックをフィルタリングするのに使用されないフィルタ・パラメータの少なくとも１つの候補セットが、現行ブロックの前に符号化されたブロックをフィルタリングするのに使用されるフィルタ・パラメータの最後の候補セットの前に挿入されるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００４０】
有利なことに、現行ブロックの前に符号化されたブロックによって使用されず、次に使用される最初の候補であるフィルタ・パラメータの候補セットが、現行ブロックの後に符号化されたピクチャ部分のブロックの個数と現行ブロックの前に符号化されるブロックによってまだ使用されていないフィルタ・パラメータの候補セットの個数との関数である位置に挿入されるように、フィルタ・パラメータの候補セットは並べ換えられる。
【００４１】
有利なことに、この方法は、フィルタ・パラメータの複数の候補セット内に、フィルタ・パラメータの事前定義の候補セット、たとえば、ブロックがフィルタリングされないことを指定するフィルタ・パラメータの候補セットを挿入することをさらに含む。
【００４２】
有利なことに、ブロックがフィルタリングされないことを指定するフィルタ・パラメータの候補セットは、事前定義の位置のフィルタ・パラメータの候補セットの間に挿入される。
【００４３】
特定の実施形態では、フィルタ・パラメータの前記複数の候補セットは、フィルタ・ルマ・パラメータを含み、この方法は、フィルタ・クロマ・パラメータの別の複数の候補セットを入手することと、フィルタ・クロマ・パラメータの候補セットのうちの１つを識別する現行ブロックの別のインデックスを判定することとをさらに含む。再構成されたブロック・ルマ・サンプルのフィルタリングは、インデックスによって識別されるフィルタ・ルマ・パラメータの候補セットを用いて行われ、再構成されたブロック・クロマ・サンプルのフィルタリングは、別のインデックスによって識別されるフィルタ・クロマ・パラメータの候補セットを用いて行われる。この方法は、ビットストリーム内で、フィルタ・ルマ・パラメータの複数の候補セットおよびフィルタ・クロマ・パラメータの別の複数の候補セットと、現行ブロックと、インデックスとを符号化することをさらに含む。
【図面の簡単な説明】
【００４４】
【図１】従来技術による、上または左に配置された隣接するＣＴＵからそのＳＡＯパラメータを継承するＣＴＵを示す図である。
【図２】特定の非限定的な実施形態による、ビットストリーム内でピクチャを符号化するように構成された送信器の例示的なアーキテクチャを表す図である。
【図３】本原理による符号化方法を実行するように適合された例示的なビデオ符号器を示す図である。
【図４】従来技術による、ＥＯ（エッジ・オフセット）サンプル分類の４つの１Ｄ方向パターンを示す絵図の例を示す図である。
【図５】従来技術による、関連する開始バンド位置および４つの連続するバンドのオフセットと共にＢＯ（バンド・オフセット）を示す絵図の例を示す図である。
【図６Ａ】特定の非限定的な実施形態による、ビットストリーム内でピクチャ部分のブロックを符号化する方法を表す流れ図である。
【図６Ｂ】特定の非限定的な実施形態による、ビットストリーム内でピクチャ部分のブロックを符号化する方法を表す流れ図である。
【図６Ｃ】特定の非限定的な実施形態による、ビットストリーム内でピクチャ部分のブロックを符号化する方法を表す流れ図である。
【図７】本原理による、フィルタ・パラメータの複数の候補セットを参照するピクチャ部分のブロックを示す絵図の例を示す図である。
【図８】本原理による、ピクチャ部分のブロックを表すビットストリームの絵図の例を示す図であり、フィルタ・パラメータの複数の候補セットは、第１のブロックに関連する構文要素を用いてシグナリングされる。
【図９】フィルタ・パラメータの複数の候補セットを入手し、ピクチャ部分のブロックごとにインデックスを判定する方法を表す流れ図である。
【図１０】ピクチャ部分のブロックの異なるスキャンを示す絵図の例を示す図である。
【図１１】特定の非限定的な実施形態による、ビットストリームからピクチャを復号するように構成された受信器の例示的なアーキテクチャを示す図である。
【図１２】本原理による復号方法を実行するように適合された例示的なビデオ復号器を示す図である。
【図１３Ａ】特定の非限定的な実施形態による、ビットストリームからピクチャ部分のブロックを復号する方法を表す流れ図である。
【図１３Ｂ】特定の非限定的な実施形態による、ビットストリームからピクチャ部分のブロックを復号する方法を表す流れ図である。
【図１３Ｃ】特定の非限定的な実施形態による、ビットストリームからピクチャ部分のブロックを復号する方法を表す流れ図である。
【図１４】本原理による、フィルタ・パラメータの複数の候補セットを参照するピクチャ部分のブロックを示す絵図の例を示す図である。
【図１５】本原理による、フィルタ・パラメータの複数の候補セットを参照するピクチャ部分のブロックを示す別の絵図の例を示す図である。
【図１６】フィルタ・ブロックのサイズおよび形状がＣＴＵのサイズおよび形状とは異なる場合の、１つのＣＴＵブロックとフィルタ・ブロック・サイズとを示す絵図の例を示す図である。
【図１７】フィルタ・ブロック・サイズが長方形である場合の、フィルタ・ブロック・マップを示す絵図の例を示す図である。
【発明を実施するための形態】
【００４５】
図面および説明が、本原理の明瞭な理解に関係する要素を示すために単純化されると同時に、明瞭さのために通常の符号化／復号デバイスに見られる多数の他の要素を除去していることを理解されたい。用語第１および第２が、本明細書で様々な要素を記述するのに使用される場合があるが、これらの要素が、これらの用語によって限定されてはならないことを理解されたい。これらの用語は、ある要素を別の要素から区別するためにのみ使用される。
【００４６】
ピクチャは、モノクローム・フォーマットのルマ・サンプルのアレイ、４：２：０、４：２：２、および４：４：４カラー・フォーマットのルマ・サンプルのアレイおよびクロマ・サンプルの２つの対応するアレイ、または、より一般的には緑、赤、青などの３つの色成分のアレイである。一般に、「ブロック」は、サンプル・アレイ（たとえば、ルマＹ）内の特定のエリアに対処し、「ユニット」は、すべての色成分（たとえば、ルマＹとおそらくクロマＣｂおよびクロマＣｒ）の同一位置に配置されたブロックを含む。スライスは、ＨＥＶＣコーディング・ツリー・ユニットまたはＨ．２６４マクロブロック・ユニットなど、整数個数の基本コーディング・ユニットである。スライスは、完全なピクチャならびにその一部からなるものとすることができる。各スライスは、１つまたは複数のスライス・セグメントを含むことができる。
【００４７】
以下では、単語「再構成された」および「復号された」が、交換可能に使用され得る。必ずではないが通常、「再構成された」は符号器側で使用され、「復号された」は、復号器側で使用される。用語「復号された」または「再構成された」が、ビットストリームが部分的に「復号され」または「再構成され」、たとえばデブロッキング・フィルタリングの後であるがＳＡＯフィルタリングの前に入手される信号を意味する場合があり、再構成されたサンプルが、表示に使用される最終的な復号された出力とは異なる場合があることに留意されたい。我々は、用語「画像」、「ピクチャ」、および「フレーム」を交換可能に使用する場合もある。
【００４８】
様々な実施形態を、ＨＥＶＣ標準規格に関して説明する。しかし、本原理は、ＨＥＶＣに限定されず、たとえば、ＨＥＶＣまたはＦｏｒｍａｔ  Ｒａｎｇｅ  Ｅｘｔｅｎｓｉｏｎ（ＲＥｘｔ）、Ｓｃａｌａｂｉｌｉｔｙ  Ｅｘｔｅｎｓｉｏｎ（ＳＨＶＣ）、Ｍｕｌｔｉ−Ｖｉｅｗ  Ｅｘｔｅｎｓｉｏｎ（ＭＶ−ＨＥＶＣ）などのＨＥＶＣ  ｅｘｔｅｎｓｉｏｎおよびＨ．２６６を含む他の標準規格、勧告、およびその拡張に適用され得る。様々な実施形態は、ピクチャ部分のブロック、たとえばスライスのブロックの符号化／復号に関して説明される。これらは、ピクチャ全体またはピクチャのシーケンス全体を符号化／復号するために適用され得る。
【００４９】
様々な方法が上で説明され、方法のそれぞれは、説明される方法を達成するために１つまたは複数のステップまたはアクションを含む。ステップまたはアクションの特定の順序が、方法の正しい動作のために要求されない限り、特定のステップおよび／またはアクションの順序および／または使用を変更し、または組み合わせることができる。
【００５０】
図２は、特定の非限定的な実施形態による、ビットストリーム内でピクチャを符号化するように構成された送信器１０００の例示的なアーキテクチャを表す。
【００５１】
送信器１０００は、内部メモリ１０３０（たとえば、ＲＡＭ、ＲＯＭ、および／またはＥＰＲＯＭ）と一緒に１つまたは複数のプロセッサ１００５を含み、プロセッサ１００５は、たとえば、ＣＰＵ、ＧＰＵ、および／またはＤＳＰ（デジタル信号プロセッサの英語頭字語）を含むことができる。送信器１０００は、出力情報を表示し、かつ／またはユーザがコマンドおよび／もしくはデータを入力することを可能にするようにそれぞれ適合された１つまたは複数の通信インターフェース１０１０（たとえば、キーボード、マウス、タッチパッド、ウェブカム）と、送信器１０００の外部であってもよい電源１０２０とを含む。送信器１０００は、１つまたは複数のネットワーク・インターフェース（図示せず）を含むこともできる。符号器モジュール１０４０は、コーディング機能を実行するためにデバイス内に含まれ得るモジュールを表す。さらに、当業者に既知のように、符号器モジュール１０４０は、送信器１０００の別々の要素として実施され得、あるいは、ハードウェアとソフトウェアとの組合せとしてプロセッサ（１つまたは複数）１００５内に組み込まれ得る。
【００５２】
ピクチャは、ソースから入手され得る。異なる実施形態によれば、ソースは、下記とすることができるが、これに限定はされない。
−ローカル・メモリ、たとえば、ビデオ・メモリ、ＲＡＭ、フラッシュ・メモリ、ハード・ディスク、
−ストレージ・インターフェース、たとえば、マス・ストレージ、ＲＯＭ、光ディスク、または磁気サポートとのインターフェース、
−通信インターフェース、たとえば、有線インターフェース（たとえば、バス・インターフェース、広域ネットワーク・インターフェース、ローカル・エリア・ネットワーク・インターフェース）または無線インターフェース（ＩＥＥＥ  ８０２．１１インターフェースまたはＢｌｕｅｔｏｏｔｈインターフェースなど）、
−ピクチャ取込回路（たとえば、たとえばＣＣＤ（すなわち、電荷結合素子）またはＣＭＯＳ（すなわち、相補型金属酸化膜半導体）などのセンサ）。
【００５３】
異なる実施形態によれば、ビットストリームは、宛先に送られ得る。一例として、ビットストリームは、リモート・メモリまたはローカル・メモリ内、たとえばビデオ・メモリまたはＲＡＭ、ハード・ディスク内に記憶され得る。変形形態では、ビットストリームは、ストレージ・インターフェース、たとえば、マス・ストレージ、ＲＯＭ、フラッシュ・メモリ、光ディスク、または磁気サポートとのインターフェースに送られ、かつ／または通信インターフェース、たとえばポイント・ツー・ポイント・リンク、通信バス、ポイント・ツー・マルチポイント・リンク、またはブロードキャスト・ネットワークへのインターフェースを介して送信される。
【００５４】
例示的で非限定的な実施形態によれば、送信器１０００は、メモリ１０３０内に記憶されたコンピュータ・プログラムをさらに含む。コンピュータ・プログラムは、命令を含み、この命令は、送信器１０００、具体的にはプロセッサ１００５によって実行される時に、送信器１０００が図６Ａから図６Ｃを参照して説明される符号化方法を実行することを可能にする。変形形態によれば、コンピュータ・プログラムは、送信器１０００の外部で非一時的デジタル・データ・サポート上、たとえば、すべて当技術分野で既知の、ＨＤＤ、ＣＤ−ＲＯＭ、ＤＶＤ、読取専用および／もしくはＤＶＤドライブならびに／または書込可能ＤＶＤドライブなどの外部記憶媒体上に記憶される。したがって、送信器１０００は、コンピュータ・プログラムを読み取る機構を含む。さらに、送信器１０００は、対応するＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）ポート（図示せず）を介して１つまたは複数のＵＳＢタイプのストレージ・デバイス（たとえば、「メモリ・スティック」）にアクセスすることができる。
【００５５】
例示的で非限定的な実施形態によれば、送信器１０００は、下記とすることができるが、これに限定はされない。
−モバイル・デバイス、
−通信デバイス、
−ゲーム・デバイス、
−タブレット（またはタブレット・コンピュータ）、
−ラップトップ、
−静止画カメラ、
−ビデオ・カメラ、
−符号化チップまたは符号化デバイス／装置、
−静止画サーバ、
−ビデオ・サーバ（たとえば、ブロードキャスト・サーバ、ビデオオンデマンド・サーバ、またはウェブ・サーバ）。
【００５６】
図３は、図６Ａから図６Ｃの符号化方法を実行するように適合された例示的なビデオ符号器１００、たとえばＨＥＶＣビデオ符号器を示す。ビデオ符号器１００は、送信器１０００またはそのような送信器１０００の一部の例である。
【００５７】
コーディングに関して、ピクチャは、通常は基本コーディング・ユニット、たとえばＨＥＶＣのコーディング・ツリー・ユニット（ＣＴＵ）またはＨ．２６４のマクロブロック・ユニットに区分される。おそらく連続する基本コーディング・ユニットのセットが、スライスにグループ化される。基本コーディング・ユニットは、すべての色成分の基本コーディング・ブロックを含む。ＨＥＶＣでは、最小のルマ・コーディング・ツリー・ブロック（ＣＴＢ）サイズ１６×１６が、以前のビデオ・コーディング標準規格で使用されたマクロブロック・サイズに対応する。用語ＣＴＵおよびＣＴＢが、本明細書で符号化／復号方法および符号化／復号装置を記述するのに使用されるが、これらの方法および装置が、これらの特定の用語によって限定されてはならず、これらの特定の用語が、他の標準規格で異なって表される（たとえば、マクロブロック、コーディング・ブロック）可能性があることを理解されたい。
【００５８】
ＨＥＶＣでは、ＣＴＢは、コーディング・ブロック（ＣＢ）への四分木区分のルートであり、コーディング・ブロックは、１つまたは複数の予測ブロック（ＰＢ）に区分され、変換ブロック（ＴＢ）への四分木区分のルートを形成する。コーディング・ブロック、予測ブロック、および変換ブロックに対応して、コーディング・ユニット（ＣＵ）は、予測ユニット（ＰＵ）と、変換ユニット（ＴＵ）の木構造セットとを含み、ＰＵは、すべての色成分の予測情報を含み、ＴＵは、色成分ごとの残差コーディング構文構造を含む。ルマ成分のＣＢ、ＰＢ、およびＴＢのサイズは、対応するＣＵ、ＰＵ、およびＴＵにあてはまる。本願では、用語「ブロック」または「ピクチャ・ブロック」は、ＣＴＵ、ＣＵ、ＰＵ、ＴＵ、ＣＢ、ＰＢ、およびＴＢのいずれを指すのにも使用され得る。さらに、用語「ブロック」または「ピクチャ・ブロック」は、Ｈ．２６４／ＡＶＣまたは他のビデオ・コーディング標準規格で指定されるマクロブロック、パーティション、およびサブブロックを指すのに使用され得、より一般的には様々なサイズのサンプルのアレイを指すのに使用され得る。
【００５９】
例示的な符号器１００では、ピクチャは、下で説明する符号器要素によって符号化される。符号化されるピクチャは、ＣＵ単位で処理される。各ＣＵは、イントラ・モードまたはインター・モードのいずれかを使用して符号化される。ＣＵがイントラ・モードで符号化される時に、符号器要素は、イントラ予測（１６０）を実行する。インター・モードでは、動き推定（１７５）および動き補償（１７０）が実行される。符号器は、イントラ・モードまたはインター・モードのどちらをＣＵの符号化に使用すべきかを判断し（１０５）、予測モード・フラグによってイントラ／インター判断を示す。残差が、元のピクチャ・ブロックから予測されたサンプル・ブロック（プレディクタとも称する）を減算する（１１０）ことによって計算される。
【００６０】
イントラ・モードのＣＵは、同一スライス内の再構成された隣接するサンプルから予測される。ＤＣモード、平面モード、および３３個の角度予測モードを含む３５個のイントラ予測モードのセットが、ＨＥＶＣで使用可能である。イントラ予測参照は、現行ブロックに隣接する行および列から再構成される。参照は、以前に再構成されたブロックから使用可能なサンプルを使用して、水平方向および垂直方向のブロック・サイズの２倍にわたって延びる。角度予測モードがイントラ予測に使用される時に、参照サンプルは、角度予測モードによって示される方向に沿ってコピーされ得る。
【００６１】
現行ブロックに適用可能なルマ・イントラ予測モードは、２つの異なるオプションを使用してコーディングされ得る。適用可能なモードが、３つのｍｏｓｔ  ｐｒｏｂａｂｌｅ  ｍｏｄｅ（ＭＰＭ）の構成されたリストに含まれる場合に、モードは、ＭＰＭリスト内のインデックスによってシグナリングされる。そうではない場合には、モードは、モード・インデックスの固定長２値化によってシグナリングされる。３つのｍｏｓｔ  ｐｒｏｂａｂｌｅ  ｍｏｄｅは、上および左の隣接するブロックのイントラ予測モードから導出される。
【００６２】
インターＣＵに関して、対応するコーディング・ブロックは、１つまたは複数の予測ブロックにさらに区分される。インター予測は、ＢＰレベルで実行され、対応するＰＵは、インター予測がどのように実行されるのかに関する情報を含む。
【００６３】
ＨＥＶＣでは、動き補償の動き情報の精度は、ルマ成分に関して１／４サンプル、クロマ成分に関して１／８サンプルである。７タップまたは８タップの補間フィルタが、分数サンプル・サンプル位置の補間に使用される、すなわち、水平方向と垂直方向との両方のフル・サンプル位置の１／４、１／２、および３／４が、ルマに関してアドレッシングされ得る。
【００６４】
残差が変換され（１２５）、量子化される（１３０）。量子化された変換係数ならびに動きベクトルおよび他の構文要素がエントロピ・コーディング（１４５）されて、ビットストリームを出力する。符号器は、変換をスキップし、４×４ＴＵに基づいて、変換されていない残差信号に直接に量子化を適用することもできる。符号器は、変換と量子化との両方を迂回することもできる、すなわち、残差は、変換プロセスまたは量子化プロセスの的用なしで直接にコーディングされる。直接ＰＣＭコーディングでは、予測は適用されず、コーディング・ユニット・サンプルは、ビットストリームに直接にコーディングされる。
【００６５】
符号器は、復号ループを含み、したがって、さらなる予測の参照を提供するために符号化されたブロックを復号する。量子化された変換係数は、残差を復号するために、逆量子化され（１４０）、逆変換される（１５０）。ピクチャ・ブロックは、復号された残差と予測されたサンプル・ブロックとを組み合わせる（１５５）ことによって再構成される。ループ内フィルタ（１６５）が、たとえばコーディング・アーティファクトを減らすためにデブロッキング／ＳＡＯ（サンプル適応オフセット）フィルタリングを実行するために、再構成されたピクチャに適用される。フィルタリングされたピクチャは、参照ピクチャ・バッファ（１８０）に記憶され、他のピクチャの参照として使用され得る。
【００６６】
ＨＥＶＣでは、ＳＡＯフィルタリングは、ビデオ・レベル、スライス・レベル、およびＣＴＢレベルでアクティブ化され、非アクティブ化され得る。２つのＳＡＯモードすなわち、エッジ・オフセット（ＥＯ）およびバンド・オフセット（ＢＯ）が指定される。ＥＯに関して、サンプル分類は、フィルタリングされるピクチャ内の局所方向構造に基づく。ＢＯに関して、サンプル分類は、サンプル値に基づく。ＥＯまたはＢＯのパラメータは、隣接物から明示的にコーディングされまたは導出され得る（マージ・アップまたはマージ・レフト）。ＳＡＯは、ルマ成分およびクロマ成分に適用され得、ＳＡＯモードは、Ｃｂ成分およびＣｒ成分に関して同一である。ＳＡＯパラメータは、色成分ごとに個別に構成される。より正確には、ＳＡＯパラメータのセット（すなわち、オフセット、ＳＡＯタイプ（ＥＯ、ＢＯ、および非アクティブ化）、ＥＯの場合のクラス、およびＢＯの場合のバンド位置）が、ＣＴＵレベルで符号化される。
【００６７】
ＳＡＯフィルタリングがＣＴＢに関してアクティブ化される場合に、そのＣＴＢ内のサンプルは、ＮＣ個のカテゴリ、たとえばＨＥＶＣではＮＣ＝５個のカテゴリに分類される。カテゴリｃ（ｓ）内のサンプルｓに関して、サンプルは、ｓ＝ｓ＋ｏｆｆ（ｃ（ｓ））に調整され得、ここで、ｏｆｆ（ｎ）は、カテゴリｎのオフセット値である。ＨＥＶＣでは、４つ（＝ＮＣ−１）のみのカテゴリのオフセット値が、ビットストリームから復号され、他のオフセット値には０がセットされる。ＢＯに関して、絶対オフセット値および符号が復号される。ＥＯに関して、絶対オフセット値だけが復号され、符号は、カテゴリから推論される（カテゴリ１および２に関しては正の符号、カテゴリ３および４に関しては負の符号）。
【００６８】
エッジ・オフセット
ＥＯは、図４に示されているように、サンプル分類に関して４つの１Ｄ方向パターンすなわち、水平、垂直、斜め１３５°、および斜め４５°を使用し、図４では、ラベル「ｐｃ」が、現行サンプルを表し、ラベル「ｐ０」および「ｐ１」が、２つの隣接するサンプルを表す。４つのＥＯクラスは、方向に基づいて指定され、各ＥＯクラスは、１つの方向に対応する。ＥＯを使用可能にするＣＴＢごとに１つのみの選択されたＥＯクラスは、ビットストリーム内でサイド情報としてシグナリングされる。
【表１】
2020522170.tif 000003
表１
【００６９】
所与のＥＯクラスに関して、ＣＴＢの内部の各サンプルは、局所勾配に基づいて、５つ（ＮＣ＝５）のカテゴリのうちの１つに分類される。具体的には、「ｐｃ」としてラベルを付けられた現行サンプル値は、選択された１Ｄ方向に沿った２つの隣接物と比較される。サンプルの分類ルールを、表１に要約する。カテゴリ１および４は、それぞれ選択された１Ｄパターンに沿った局所的な谷および局所的なピークに関連し、カテゴリ２および３は、それぞれ選択された１Ｄパターンに沿った凹状角および凸状角に関連する。正のオフセットが、カテゴリ１および２に関して使用され、負のオフセットが、カテゴリ３および４に関して使用される。
【００７０】
現行サンプル値が、カテゴリ１〜４に属さない場合（すなわち、現行サンプル値が、その２つの隣接物と同一ではない場合、またはｐ０＜ｐｃ＜ｐ１もしくはｐ０＞ｐｃ＞ｐ１である場合）には、現行サンプル値はカテゴリ０に含まれ、ＳＡＯは適用されない（すなわち、オフセットは０である）。カテゴリ１〜４に関しては、オフセットが符号化される。より正確には、カテゴリごとに１つの絶対値の、４つのオフセットの絶対値が、符号器によってシグナリングされる。オフセットの符号は、符号化されないが、対応するＥＯカテゴリから暗黙のうちに導出される。
【００７１】
バンド・オフセット
ＢＯに関して、サンプル値の範囲（たとえば、８ビットで０〜２５５）は、３２個のバンドに均等に分割される。１つのオフセットが、その値が同一のバンドに属するすべてのサンプルに加算される。ＨＥＶＣでは、（ＮＣ−１）＝４個の連続するバンドのオフセットおよび開始バンド位置だけが、図５に示されているように復号器にシグナリングされる。この図では、開始バンドは、１８番目のバンドであり、符号化されるオフセット値は、｛０，０，２，３｝である。開始バンド位置（すなわち、インデックス）は、３２個のバンド内の符号化されるオフセットと共に、第１のバンドの位置を示す。１つのオフセットが、（ＮＣ−１）個のバンドのそれぞれについてコーディングされ、残りのバンドは、０と等しいオフセットを有する。開始バンド位置が最後のバンド位置に近い時には、バンドが循環バッファとして管理されるので、オフセット値は、不連続なバンドに対応することができる。ＢＯに関して、この４つのシグナリングされるバンドを、４つのカテゴリと考えることができ、残りのバンドを、別のカテゴリと考えることができる。本願では、我々は、用語「バンド」および「カテゴリ」を交換可能に使用する。ＨＥＶＣでのＢＯに関して、オフセットは、４つのバンドに関して符号化される。より正確には、４つのオフセットの絶対値（４つのバンドのそれぞれについて１つの絶対値）が、符号器によってシグナリングされる。オフセットの符号も、符号器によってシグナリングされる。
【００７２】
図６Ａは、特定の非限定的な実施形態による、ビットストリーム内でピクチャ部分のブロックを符号化する方法の流れ図を表す。ピクチャ部分は、ピクチャ全体またはその部分の一部、たとえばスライスとすることができる。
【００７３】
この方法は、ステップＳ１００で始まる。ステップＳ１１０では、たとえば符号器１００などの送信器１０００が、ピクチャ部分の現行ブロックにアクセスする。
【００７４】
ステップＳ１２０では、送信器が、再構成されたブロックとも命名される、アクセスされたブロックの再構成されたバージョンを判定する。再構成されたブロックは、通常、ルマ・ブロックすなわちルマ・サンプルのブロックと、クロマ・ブロックすなわちクロマ・サンプルのブロックとを含む。再構成されたブロックの判定は、必ずではないが通常、部分的な符号化（おそらくはエントロピ・コーディングなし）とそれに続く復号とを含む。部分的な符号化は、残差のブロックを入手するためにアクセスされたブロックからプレディクタを減算することと、残差のブロックを変換係数のブロックに変換することと、変換係数の量子化されたブロックを入手するために量子化ステップ・サイズを用いて係数のブロックを量子化することとを含む。符号器側でのブロックの復号は、必ずではないが通常、残差のブロックを入手するために変換係数の量子化されたブロックを逆量子化し、逆変換することと、再構成されたブロックを入手するために残差のブロックにプレディクタを加算することとを含む。この方法は、ステップＳ１３０に継続する前に、すべての再構成されたブロックからなる再構成されたピクチャ部分を入手するために、ピクチャ部分のすべてのブロックにわたってステップＳ１１０およびＳ１２０をループすることができる。
【００７５】
ステップＳ１３０では、送信器が、両方の成分ルマとクロマとに関するフィルタ・パラメータの複数の候補セットを入手し、さらに、複数の候補セットの中で、ステップＳ１４０で再構成されたブロックのフィルタリングに使用される１つの候補セットを識別するインデックス（ｍｅｒｇｅ＿ｉｄｘ）をピクチャ部分のブロックごとに判定する。フィルタ・パラメータのセットは、少なくとも１つのフィルタ・パラメータを含む。
【００７６】
フィルタ・パラメータの複数の候補セットは、オフラインで判定され、したがってメモリから入手され得る。変形形態では、フィルタ・パラメータの複数の候補セットは、図９によって示されるように、ピクチャ部分の内容から、ＲＤＯと称するレート−歪み最適化（Ｒａｔｅ−Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ）によってオンザフライで判定される。この後者の場合に、復号方法に関して開示される異なる変形形態（たとえば、図１３ＡのステップＳ２５０に関して開示される、リスト内の候補セットの並べ換え）は、コーディング・レートを判定する時にもあてはまる。この目的で、最良のレート−歪みトレードオフをもたらす候補セットのリストが選択される。特定の実施形態では、候補セットのリストは、ＯＦＦ候補セットと称するフィルタ・パラメータの特定の候補セットを含む。一例として、ＯＦＦ候補は、候補セットのリスト内で事前定義の位置、たとえば２番目の位置に置かれる。
【００７７】
インデックスは、ピクチャ部分のブロックごとにも判定され、前記インデックスは、複数の候補セットの中で、再構成されたブロックのフィルタリングに使用される１つの候補セットを識別する。インデックスは、ＲＤＯによっても判定され得る。候補セットのリストの並べ換えの場合に、インデックスの判定は、リスト並べ換えの後に行われる。
【００７８】
ステップＳ１４０では、送信器が、ステップＳ１３０で判定されたインデックスによって識別されるフィルタ・パラメータの候補セットを用いて、再構成されたブロックをフィルタリングする。インデックスｍｅｒｇｅ＿ｉｄｘがＯＦＦ候補を識別する場合には、そのブロックは、ステップＳ１４０ではフィルタリングされない。特定の実施形態では、フィルタは、ＳＡＯフィルタであり、図３を参照して開示されたフィルタリング・ステップが、適用される。この方法は、ステップＳ１５０に継続する前に、ピクチャ部分のすべてのブロックをフィルタリングするために、すべてのこれらのブロックにわたってステップＳ１４０をループすることができる。
【００７９】
ステップＳ１５０では、送信器が、ビットストリーム内でフィルタ・パラメータの複数の候補セットを符号化する。図７を参照すると、フィルタ・パラメータの３つの候補セットが符号化される（ｃ−０、ｃ−１、およびｃ−２）。図７の右側のピクチャ部分の各ブロックは、そのフィルタ・パラメータを３つの候補セットのうちの１つから継承する。図７では、ブロックＢｌｋ＿０、Ｂｌｋ＿１、Ｂｌｋ＿４、およびＢｌｋ＿５が、同一のフィルタ・パラメータすなわち、候補セットｃ−０のフィルタ・パラメータを有し、ブロックＢｌｋ＿２およびＢｌｋ＿３が、同一のフィルタ・パラメータすなわち、候補セットｃ−１のフィルタ・パラメータを有し、ブロックＢｌｋ＿６およびＢｌｋ＿７が、同一のフィルタ・パラメータすなわち、候補セットｃ−２のフィルタ・パラメータを有する。ステップＳ１３０で入手されるリスト内にＯＦＦ候補が存在する場合に、ＯＦＦ候補は、ビットストリーム内で符号化されるのではなく、復号器側で候補セットのリストに追加される。図７では、明瞭さのために、使用される候補セットは、元の候補セット・リスト順の番号によって参照される。リストの並べ換えの場合には、２つのブロックがフィルタリングに同一の候補セットを使用する場合であっても、コーディングされるインデックス（ｍｅｒｇｅ＿ｉｄｘ）の値が、この２つのブロックに関して異なる場合がある。逆に、インデックスの値を判定する前のリストの並べ換えの故に、２つのブロックが、２つの異なる候補セットに対応する、コーディングされるインデックスの同一の値を有する場合がある。
【００８０】
有利なことに、フィルタ・パラメータの複数の候補セットは、スライスのヘッダ内で符号化される。変形形態では、フィルタ・パラメータの複数の候補セットは、符号化される順序でピクチャ部分の最初のブロック（たとえば、図７のＢｌｋ＿０）のレベルで符号化される。一例として、図８では、フィルタ・パラメータの３つの候補セットが、最初のブロック、Ｂｌｋ＿０の構文要素と共に符号化される。
【００８１】
別の実施形態では、送信器が、前記ビットストリーム内で、フィルタ・パラメータの複数の候補セットのデータ表現を符号化する。一例として、符号化されるデータｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１は、符号化されるフィルタ・パラメータの候補セットの個数から１を引いたものである。ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１の値は、必ず、１つのピクチャ部分、たとえば１つのスライス内のブロックの個数から１を引いたものより小さいので、構文要素ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１を表すビットの個数は、ｌｏｇ２（１つのピクチャ部分内のブロックの個数引く１）より小さい。
【００８２】
ＳＡＯフィルタリングに関するＨＥＶＣタイプの構文の例を、表２および表３に示す。表２によれば、ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１が符号化された後に、ＳＡＯパラメータの各候補セットが符号化される。表２の例では、候補セット、ここではＯＦＦ候補は、推論され、コーディングされない。候補が推論されない場合には、構文は、表３に示されているように変更される。表４は、本原理によるＳＡＯパラメータの候補セットの符号化を示す。
【００８３】
ＳＡＯパラメータは、以下の通りである。
【００８４】
１と等しいｓｌｉｃｅ＿ｓａｏ＿ｌｕｍａ＿ｆｌａｇ（スライス・ヘッダ内で符号化される）は、ＳＡＯが現行スライス内のルマ成分に関して使用可能にされ、ルマ成分のＳＡＯパラメータが存在することを指定し、０と等しいｓｌｉｃｅ＿ｓａｏ＿ｌｕｍａ＿ｆｌａｇは、ＳＡＯが現行スライス内のルマ成分に関して使用不能にされ、ルマ成分のＳＡＯパラメータが存在しないことを指定する。
【００８５】
１と等しいｓｌｉｃｅ＿ｓａｏ＿ｃｈｒｏｍａ＿ｆｌａｇ（スライス・ヘッダ内で符号化される）は、ＳＡＯが現行スライス内のクロマ成分に関して使用可能にされ、クロマ成分のＳＡＯパラメータが存在することを指定し、０と等しいｓｌｉｃｅ＿ｓａｏ＿ｃｈｒｏｍａ＿ｆｌａｇは、ＳＡＯが現行スライス内のクロマ成分に関して使用不能にされ、クロマ成分のＳＡＯパラメータが存在しないことを指定する。
【００８６】
ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａは、ルマ成分のオフセット・タイプを指定する。
【００８７】
ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｃｈｒｏｍａは、クロマ成分のオフセット・タイプを指定する。
【００８８】
ＳａｏＴｙｐｅＩｄｘ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］は、色成分ｃＩｄｘの候補セットｉｄｘＣａｎｄのオフセット・タイプを指定する（０不適用、バンド・オフセット、またはエッジ・オフセット）。一例として、値０は、ＳＡＯフィルタリングが適用されないことを示し、値１は、ＳＡＯフィルタリングがバンド・オフセットを用いて適用されることを示し、値２は、ＳＡＯフィルタリングがエッジ・オフセットを用いて適用されることを示す。ＳａｏＴｙｐｅＩｄｘ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］は、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａ構文要素およびｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｃｈｒｏｍａ構文要素から導出される。ＳａｏＴｙｐｅＩｄｘ［０］［ｉｄｘＣａｎｄ］は、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａと等しくなるようにセットされ、ＳａｏＴｙｐｅＩｄｘ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］は、ｃＩｄｘ＝１または２に関してｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｃｈｒｏｍａと等しくなるようにセットされる。
【００８９】
ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］［ｉ］は、色成分ｃＩｄｘの候補セットｉｄｘＣａｎｄのｉ番目のカテゴリのオフセット値を指定する。
【００９０】
ｓａｏ＿ｏｆｆｓｅｔ＿ｓｉｇｎ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］［ｉ］は、色成分ｃＩｄｘの候補セットｉｄｘＣａｎｄのｉ番目のカテゴリのオフセット値の符号を指定する。
【００９１】
ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］は、ＳａｏＴｙｐｅＩｄｘ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］がバンド・オフセットと等しい時に、サンプル範囲の最初のバンド・オフセットの値を指定する。
【００９２】
ｓａｏ＿ｅｏ＿ｃｌａｓｓ＿ｌｕｍａは、ルマ成分のエッジ・オフセット・クラスを指定する。
【００９３】
ｓａｏ＿ｅｏ＿ｃｌａｓｓ＿ｃｈｒｏｍａは、クロマ成分のエッジ・オフセット・クラスを指定する。
【表２】
2020522170.tif 000004
表２
【表３】
2020522170.tif 000005
表３
【表４】
2020522170.tif 000006
表４
【００９４】
ステップＳ１６０では、送信器が、ビットストリーム内で、現行ブロックとステップＳ１３０で判定されたインデックス（ｍｅｒｇｅ＿ｉｄｘ）とを符号化する。ここでの符号化は、エントロピ・コーディングを指す。その結果、現行ブロック、より正確にはコーディング・パラメータ（たとえば、コーディング・モード、可能な動きベクトルなど）を伴うステップＳ１２０で入手された変換係数が、たとえばＣｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ（ＣＡＢＡＣ）またはＣｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｖａｒｉａｂｌｅ−ｌｅｎｇｔｈ  ｃｏｄｉｎｇ（ＣＡＶＬＣ）を使用して、ビットストリーム内でエントロピ・コーディングされる。座標（ｒｘ，ｒｙ）のブロックに関するインデックスｍｅｒｇｅ＿ｉｄｘの符号化は、ＯＦＦ候補セットが候補セットのリストに存在する場合には表５によって示され、ＯＦＦ候補セットが候補セットのリストに存在しない場合には表６によって示される。インデックスは、たとえば、ＨＥＶＣ標準規格の９．３．３．２で指定されるＴｒｕｎｃａｔｅｄ  Ｒｉｃｅ（ＴＲ）２値化を使用して、ｃＭａｘ＝ｉｄｘ＿ｍａｘを用いて符号化される。ｉｄｘ＿ｍａｘは、復号器側で同一の形で判定される。ｉｄｘ＿ｍａｘは、所与のブロックのインデックスの最大の可能な値を表すことができる。
【００９５】
図８を参照すると、インデックスは、ブロック（ｍｅｒｇｅ＿ｉｄｘ）ごとに符号化される。このインデックスは、フィルタ・パラメータの候補セットのうちの１つを識別する。一実施形態では、すべてのブロックがマージ・モードである、すなわち、すべてのブロックが、フィルタ・パラメータの候補セットのうちの１つからそのフィルタ・パラメータを継承する。これは、いくつかのビットを節約することを可能にする。というのは、あるブロックに関して、そのブロックがマージ・モードであるか否か、すなわち、そのブロックが隣接ブロックからそのフィルタ・パラメータを継承するか否かを示すフラグを符号化する必要がないからである。具体的には、ＳＡＯパラメータが隣接ＣＴＵの対応するＳＡＯパラメータから導出されることを指定するＨＥＶＣフラグｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇを符号化する必要はない。
【００９６】
ＯＦＦ候補セットが候補セットのリストに存在しない場合には、ｍｅｒｇｅ＿ｉｄｘは、最初のブロックＢｌｋ＿０に関して推論され得、したがって、符号化されない（表６のｉｆ  （ｒｘ＝＝０  ａｎｄ  ｒｙ＝＝０）  ｛…｝を参照されたい）。
【表５】
2020522170.tif 000007
表５
【表６】
2020522170.tif 000008
表６
【００９７】
この方法は、対応するインデックスと共にピクチャ部分のすべてのブロックを符号化するために、ピクチャ部分のすべてのブロックにわたってステップＳ１６０をループすることができる。
【００９８】
この方法は、ステップＳ１８０で終了する。
【００９９】
本原理は、ＳＡＯフィルタに適用され得るが、このタイプのフィルタに制限はされず、少なくとも１つのフィルタ・パラメータのセットがブロック・レベルで定義されなければならない他のフィルタに適用され得る。
【０１００】
図６Ａの実施形態では、フィルタ・パラメータの候補セットの単一のリスト内でルマ・フィルタ・パラメータおよびクロマ・フィルタ・パラメータの候補セットを識別する単一のインデックスが符号化される。実際には、表４に示されているように、フィルタ・パラメータの候補セットは、ルマ成分に関するパラメータ（たとえば、ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓ［０］［ｉｄｘＣａｎｄ］［ｉ］）およびクロマ成分に関するパラメータ（たとえば、ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓ［１］［ｉｄｘＣａｎｄ］［ｉ］）を含む。図６Ａの方法の変形形態を、図６Ｂに示す。この変形形態では、ルマ成分およびクロマ成分が、別々に処理される。この動作モードを、デュアル・モードと呼ぶ。デュアル・モードでは、第１のインデックスと第２のインデックスとが符号化される。第１のインデックスは、フィルタ・ルマ・パラメータの候補セットの第１のリスト内のルマ・フィルタ・パラメータの候補セットを識別し、第２のインデックスは、フィルタ・クロマ・パラメータの候補セットの第２のリスト内のクロマ・フィルタ・パラメータの候補セットを識別する。図６Ａのステップと同一の図６Ｂのステップは、同一の符号によって識別される。
【０１０１】
この方法は、ステップＳ１００で始まる。ステップＳ１１０では、たとえば符号器１００などの送信器１０００が、ピクチャ部分の現行ブロックにアクセスする。
【０１０２】
ステップＳ１２０では、送信器が、アクセスされたブロックの再構成されたバージョンすなわち再構成されたルマ・ブロックおよび再構成されたクロマ・ブロック（１つまたは複数）を判定する。
【０１０３】
ステップＳ１３２では、送信器が、フィルタ・ルマ・パラメータの第１の複数の候補セットを入手し、ピクチャ部分のブロックごとに第１のインデックス（ｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａ）をさらに判定する。第１のインデックスは、第１の複数の候補セットの中で１つの候補セットを識別する。
【０１０４】
ステップＳ１３４では、送信器が、フィルタ・クロマ・パラメータの第２の複数の候補セットを入手し、ピクチャ部分のブロックごとに第２のインデックス（ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａ）をさらに判定する。第２のインデックスは、第２の複数の候補セットの中で１つの候補セットを識別する。
【０１０５】
Ｓ１３０に関して開示される変形形態は、ステップＳ１３２とステップＳ１３４との両方に適用される。
【０１０６】
ステップＳ１４２では、送信器が、第１のインデックスによって識別されるフィルタ・ルマ・パラメータの候補セットを用いて、再構成されたルマ・ブロックをフィルタリングする。
【０１０７】
ステップＳ１４４では、送信器が、第２のインデックスによって識別されるフィルタ・クロマ・パラメータの候補セットを用いて、再構成されたクロマ・ブロック（１つまたは複数）をフィルタリングする。
【０１０８】
この方法は、すべてのブロックをフィルタリングするために、ピクチャ部分のすべてのブロックにわたってステップＳ１４２およびステップＳ１４４をループすることができる。ステップＳ１４０に関して開示される変形形態は、ステップＳ１４２およびステップＳ１４４に適用される。
【０１０９】
ステップＳ１５５では、送信器が、フィルタ・ルマ・パラメータの第１の複数の候補セットとフィルタ・クロマ・パラメータの第２の複数の候補セットとをビットストリーム内で符号化する。Ｓ１５０の変形形態は、ステップＳ１５５に適用される。
【０１１０】
ＳＡＯフィルタリングに関するＨＥＶＣタイプの構文の例を、表７および表８に示す。
【表７】
2020522170.tif 000009
表７
【０１１１】
ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿１＿ｍｉｎｕｓ１は、ルマ候補の個数から１を引いたものである。
【０１１２】
ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｍｉｎｕｓ１は、クロマ候補の個数から１を引いたものである。
【０１１３】
ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｄｅｌｔａ＿ａｂｓおよびｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｄｅｌｔａ＿ｓｉｇｎは、下記のようにｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｍｉｎｕｓ１の値を導出することを可能にする。
ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｍｉｎｕｓ１＝ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿１＿ｍｉｎｕｓ１＋（１−２＊ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｄｅｌｔａ＿ｓｉｇｎ）＊ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿２＿ｄｅｌｔａ＿ａｂｓ
【表８】
2020522170.tif 000010
表８
【０１１４】
ステップＳ１６５では、送信器が、ビットストリーム内で、現行ブロック（より正確には、ルマ成分およびクロマ成分）と、ステップＳ１３２およびＳ１３４で判定された第１および第２のインデックス（ｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａおよびｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａ）とを符号化する。候補セットのリストの並べ換えは、ルマ成分とクロマ成分とに関して別々に行われ得る。変形形態では、並べ換えは共通である。たとえば、並べ換えは、まず、ルマ成分に関する候補セットのリストに関して行われ、クロマ成分（１つまたは複数）に関する候補セットのリストは、同一の形で並べ換えられる。
【０１１５】
図６Ｃに示されたステップＳ１６０の特定の実施形態では、デュアル・モードが、現行シーケンス（たとえば、ＳＰＳ（シーケンス・パラメータ・セットの英語頭字語）内で符号化される）に関して、現行ピクチャ（たとえば、ＰＰＳ（ピクチャ・パラメータ・セットの英語頭字語）内で符号化される）に関して、または現行スライス（たとえば、スライス・ヘッダ内で符号化されまたはスライスの最初のブロック内で符号化される）に関して使用可能にされるか否かを示すフラグが符号化される。そのようなフラグの例が、表９で言及されるｓｌｉｃｅ＿ｄｕａｌ＿ｍｅｒｇｅである。
【０１１６】
別の変形形態では、デュアル・モードが現行シーケンス、現行ピクチャ、現行スライスに関して使用可能にされるか否かを示すフラグは符号化されず、デュアル・モードは、デフォルトですべてのスライスに関して使用可能にされる。
【０１１７】
変形形態では、デュアル・モードが、現行シーケンス、現行ピクチャ、または現行スライスに関して使用可能にされるものとして示される場合に、ステップＳ１６００で、デュアル・モードが現行ブロックに関して使用可能にされる（すなわち、現行ブロックがインデックスの前に符号化される）かどうかを示す別のフラグ（表９のｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄ）が符号化される。
【０１１８】
デュアル・モードが現行ブロックに関して使用可能にされる（ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄが真または１と等しい）場合には、ステップＳ１６１０で、２つのインデックスｍｅｒｇｅ＿ｉｄｘ＿１およびｍｅｒｇｅ＿ｉｄｘ＿２（１つはルマ、１つはクロマに関する）が、現行ブロックに関して符号化される。そうではない、すなわち、ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄが偽または０と等しい場合には、ステップＳ１６２０で、第１の複数の候補セット内の１つの候補セットおよび第２の複数の候補セット内の１つの候補セットを識別する単一のインデックスが、現行ブロックに関して符号化される。
【０１１９】
符号器側では、ルマ・インデックスおよびクロマ・インデックスが同一である場合に、符号化方法は、ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄに偽をセットする。インデックスが異なる場合には、符号化方法は、ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄに真をセットする。この後者の場合に、値は、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａに関して絶対に使用されない、すなわち、ｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａの値である。この情報は、１ビットを節約するのに使用され得る。この場合に、我々は、両方のインデックスに関して同一の値を符号化することができるが、この同一の値は、復号器側では、１つはｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａ、１つはｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａの、２つの異なる値と解釈される。より正確には、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａは、復号された値を１つ増分したものと等しくなるようにセットされる。その結果、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａに対応する復号された値が、ｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａ以上である場合には、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａは、復号された値を１つ増分したものと等しくなるようにセットされる（表９に示されているように）。
【０１２０】
構文の一例を、表９に示す。
【表９】
2020522170.tif 000011
表９
【０１２１】
注１：デュアル・モードが使用可能にされる場合には、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａの値は、ｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａと異ならなければならない。
【０１２２】
ｓｌｉｃｅ＿ｄｕａｌ＿ｍｅｒｇｅは、デュアル・モードが現行スライス内で使用可能にされるかどうかを示す。
【０１２３】
ｍｅｒｇｅ＿ｉｄｘ＿１は、このブロックに関して並べ換えられた後の候補セットのリスト内の最初のインデックス位置に対応する。存在しない場合には、ｓａｏ＿ｍｅｒｇｅ＿ｉｄｘ＿１は、（−１）であると推論される。
【０１２４】
ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄは、デュアル・モードがこのブロックに関して使用可能にされるかどうか、すなわち、構文要素ｍｅｒｇｅ＿ｉｄｘ＿２が存在するかどうかを示す。存在しない（デュアル・モードが、現行シーケンス、現行ピクチャ、または現行スライスに関して使用不能にされていると示される）場合には、ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄは、０と等しいと推論される。
【０１２５】
ｍｅｒｇｅ＿ｉｄｘ＿２は、このブロックに関して並べ換えられた後の候補セットのリスト内の２番目のインデックス位置に対応する。存在しない場合に、ｓａｏ＿ｍｅｒｇｅ＿ｉｄｘ＿２は、ｓａｏ＿ｍｅｒｇｅ＿ｉｄｘ＿１と等しいと推論される。
【０１２６】
ｓｌｉｃｅ＿ｓａｏ＿ｌｕｍａ＿ｆｌａｇが１と等しい場合に、ｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａは、フィルタ・ルマ・パラメータの候補セットのリスト内で、再構成されたルマ・ブロックのフィルタリングに使用される  を識別するインデックスである。
【０１２７】
ｓｌｉｃｅ＿ｓａｏ＿ｃｈｒｏｍａ＿ｆｌａｇが１と等しい場合に、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａは、フィルタ・クロマ・パラメータの候補セットのリスト内で、再構成されたクロマ・ブロック（１つまたは複数）のフィルタリングに使用されるフィルタ・クロマ・パラメータを識別するインデックスである。
【０１２８】
図９は、特定の非限定的な実施形態による、フィルタ・パラメータの複数の候補セットを入手し、ピクチャ部分のブロックごとに、ブロックをフィルタリングするのに使用される１つの候補セットを識別するインデックスを判定する方法の流れ図を表す。初めに、フィルタ・パラメータの候補セットのリストは、空であるかＯＦＦ候補のみを含むかのいずれかである。
【０１２９】
ステップＳ１３００では、送信器が、ＲＤＯを使用してピクチャ部分のブロックごとにフィルタ・パラメータを判定する。このために、ピクチャ部分の各ブロックは、既に候補セットの現行リスト内にあるフィルタ・パラメータの候補セットを選択する（インデックスｍｅｒｇｅ＿ｉｄｘの符号化を伴うマージ・モード）か、候補セットの現行リストに追加されるフィルタ・パラメータの新しい候補セットを定義するか（フィルタ・パラメータの新しいセットの符号化を伴う新規モード）の選択を有する。新規モードが選択される場合、すなわち、新しい候補セットが定義される場合に、ＲＤコストは、現行ブロックの歪み削減およびフィルタ・パラメータのコーディング・レートに基づく。マージ・モードが選択される場合に、ＲＤコストは、現行ブロックの歪み削減およびインデックスｍｅｒｇｅ＿ｉｄｘのコーディング・レートに基づく。Ｓ１３００の終りに、候補セットの最良リストと呼ばれるフィルタ・パラメータの候補セットのリストが入手される。
【０１３０】
変形実施形態では、ピクチャ部分のブロックは、フィルタ・パラメータの候補セットの現行リストを判定するために、異なるスキャン順に従ってスキャンされ得る。図１０は、ピクチャ部分のブロックの異なるスキャンを示す絵図の例である。この場合に、ＲＤコストは、現行スキャン順に関してピクチャ部分に対して計算され、ステップＳ１３０２で、これまでに入手された最良のＲＤコストと比較される。現行スキャン順のＲＤコストが、これまでに入手された最良のＲＤコストより少ない場合には、ステップＳ１３０４で、現行候補セットが候補セットの最良リストとして記憶され、そうではない場合には、候補セットの最良リストは変更されず、この方法は、すべてのスキャン順がテストされるまで継続する。したがって、スキャン順にわたるループの終りに、最良のＲＤコスト・トレード・オフに対応する、候補セットの最良リストと命名されるフィルタ・パラメータの候補セットのリストが、所与のスキャン順に関して入手される。最後に、候補セットの最良リストは、候補セットの最良リストがラスタ・スキャン順とは異なるスキャン順に関して入手された場合に、ラスタ・スキャン順で並べ換えられる。
【０１３１】
特定の非限定的な実施形態では、ピクチャ部分のすべてのブロックは、モード新規である、すなわち、複数の候補セットの判定中にのみすなわちステップＳ１３００中にのみ、モード・マージが使用不能にされる。この場合には、フィルタ・パラメータの新しい候補セットが、ピクチャ部分のブロックごとに判定される。
【０１３２】
ステップＳ１３０６では、ピクチャ部分のブロックごとに、前のステップで入手された候補セットの最良リストを使用して、マージ・モードで、このブロックの最良ＲＤコストを提供するインデックスを選択することによって、インデックスが判定される。このインデックスは、候補セットの最良リストの候補セットのうちの１つを参照する。ステップＳ１３０６中に、ピクチャ部分のすべてのブロックは、マージ・モードである。入手されたインデックスが記憶され、ＲＤコストが、ステップＳ１３０６で判定されたインデックスを用いてピクチャ部分に対して計算される。最良ＲＤコストの値には、この計算されたＲＤコスト値がセットされる。このステップで、候補セットの最良リストは、変更されないままになる。
【０１３３】
ステップＳ１３０８では、候補セットのフィルタ・パラメータが、ＲＤＯによって洗練される（たとえば、ＳＡＯフィルタリングの場合にＳＡＯタイプおよびオフセット）。このために、候補セットのフィルタ・パラメータは、フィルタリングにこの候補セットを使用して、ピクチャ部分のすべてのブロックに対して計算された歪み削減に基づいて洗練される。ピクチャ部分のうちでこの候補セットを使用する領域は、この候補セットを使用するブロックのすべてのサンプルすなわち、そのｍｅｒｇｅ＿ｉｄｘがこの候補セットを参照するブロックのすべてのサンプルを含む。
【０１３４】
変形形態では、候補セットの洗練の後に、新しいインデックスが、洗練された候補セットを使用してＲＤＯによってピクチャ部分のブロックに関して判定される。このステップは、Ｓ１３０６と同一である。
【０１３５】
ステップＳ１３０８の終りに、ＲＤコストが、ステップＳ１３０８で判定された洗練された候補セットおよびおそらくは新しいインデックスを用いてピクチャ部分に対して計算され得る。このＲＤコストは、これまでに入手された最良のＲＤコストと比較される。現行ＲＤコストがこれまでに入手された最良のＲＤコストより少ない場合には、洗練された候補セットおよび新しいインデックスが、次のステップでの使用のために記憶され、そうではない場合には、候補セットの最良リストは、変更されないままになり、ステップＳ１３０８の前に入手されたインデックスが、次のステップの入力として保持される。
【０１３６】
オプションのステップ１３１０では、各領域Ｒ１およびＲ２に関して計算された対応するＲＤコストの和（ＲＤｃｏｓｔ１＋ＲＤｃｏｓｔ２）が、そのフィルタ・パラメータがＲ１およびＲ２の和集合からなる領域Ｒに関して判定される単一の候補セットを使用する時に入手されるＲＤコストより多い場合に、領域Ｒ１およびＲ２に対応するフィルタ・パラメータの２つの候補セットＣ１およびＣ２が、単一の候補セットにマージされ得る。領域Ｒ１は、Ｃ１を使用する、すなわち、そのｍｅｒｇｅ＿ｉｄｘがＣ１を参照するピクチャ部分内のブロックのすべてのサンプルを含み、Ｒ２は、Ｃ２を使用する、すなわち、そのｍｅｒｇｅ＿ｉｄｘがＣ２を参照するピクチャ部分内のブロックのすべてのサンプルを含む。単一の候補セットのフィルタ・パラメータは、両方の領域Ｒのすべてのブロックに対して計算される歪み削減に基づいて判定される。２つの候補セットがマージされる時に、ブロックのインデックスが更新される。理論上、候補セットのすべての対が、マージに関してテストされ得る。実際には、最大のＲＤコスト削減を提供する候補セットの対がマージされ、この方法は、候補セットのフィルタ・パラメータを洗練するためにステップＳ１３０８に戻ることができる。ＲＤコストは、ピクチャ部分に対して計算され、ステップＳ１３１２で、これまでに入手された最良のＲＤコストと比較される。ＲＤコストが、これまでに入手された最良のＲＤコストより少ない場合には、マージされた候補セットを有する現行候補セットおよび更新されたインデックスが、ステップＳ１３１４で記憶され、そうではない場合には、候補セットの最良リストおよびインデックスは、変更されないままになり、この方法は、候補セットの新しい対に継続するか、ステップＳ１３１６に継続することができる。
【０１３７】
オプションのステップＳ１３１６では、我々は、候補セットの現行リストからの１つの候補セットの除去をテストし、ＲＤコストが減少するか否かを評価する。１つの候補セットの除去の場合には、ブロックのインデックスが更新される。この方法は、その後、フィルタ・パラメータを洗練するために、ステップＳ１３０８に戻ることができる。ＲＤコストが、ピクチャ部分に関して計算され、ステップＳ１３１８で、これまでに入手された最良のＲＤコストと比較される。ＲＤコストが、これまでに入手された最良のＲＤコストより多い場合には、候補セットは、候補セットの現行リストから除去されない。この場合に、候補セットの最良リストおよびインデックスは、変更されないままになる。そうではない場合には、１つの候補セットの除去の後に入手された候補セットの現行リストおよび更新されたインデックスが、ステップＳ１３２０で記憶される。これは、推論される時のＯＦＦ候補を除くすべての候補セットについて行われ得る。
【０１３８】
ステップＳ１３２２では、成分ごとに個別に入手されたＲＤコスト値に基づいて、ピクチャ部分のフィルタリングを有効にするか否かを判断する。前のステップＳ１３００からＳ１３２０では、ＲＤコストは、すべての成分すなわちルマ成分およびクロマ成分を考慮して計算された。ステップＳ１３２２では、ＲＤコストは、成分ごとに個別に計算される。前に判定されたフィルタ・パラメータを用いるピクチャ部分のブロックのフィルタリングが、そのブロックをフィルタリングしないことと比較して、ある成分に関するＲＤコストの減少をもたらす場合には、フィルタリングは、ピクチャ部分およびこの成分に関して有効にされる。そうではない場合には、フィルタリングは、この成分に関して有効にされない。この判断は、成分ごとに（すなわち、ルマおよびクロマに関して独立に）行われる。ＳＡＯフィルタリングの特定の事例では、フラグｓｌｉｃｅ＿ｓａｏ＿ｌｕｍａ＿ｆｌａｇ／ｓｌｉｃｅ＿ｓａｏ＿ｃｈｒｏｍａ＿ｆｌａｇは、フィルタリングが有効にされる場合に強制的に真にされる。
【０１３９】
候補のリストが、使用の順序で並べ換えられる。
【０１４０】
特定の非限定的な実施形態では、停止条件が満足されるまで、ステップＳ１３０６からＳ１３１６が反復して繰り返され得る。停止条件は、
ｏ候補セットのマージがこれ以上はない、
ｏ候補セットをこれ以上除去できない、
ｏステップＳ１３０８でこれ以上の洗練が不可能である、または
ｏ最大反復ループの回数に達した
とすることができる（これに限定はされない）。ステップの順序は、異なって配置され得る。たとえば、Ｓ１３１０の前にＳ１３１６を、かつ／またはＳ１３０６の前にＳ１３０８を実行することができる。Ｓ１３１０およびＳ１３１６など、ステップの一部は、オプションとすることができる。
【０１４１】
ステップＳ１３００、Ｓ１３０８、Ｓ１３１０、およびＳ１３１６では、フィルタ・パラメータが、１つのブロックまたは複数のブロックからなる１つの領域に関して判定される。ＳＡＯフィルタリングの特定の事例では、フィルタ・パラメータは、２０１１年にＭＭＳＰで公表されたＳａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ  ｆｏｒ  ＨＥＶＣと題するＦｕ他の文書に開示されているように判定され得る。
【０１４２】
まず、タイプｔ（ＢＯ、ＥＯ＿０、ＥＯ＿９０、ＥＯ＿４５、ＥＯ＿１３０）およびＳＡＯタイプｔ内のカテゴリｃ（ＢＯのバンド・インデックスまたはＥＯの半ピーク、半谷、フル・ピーク、フル谷）ごとに、このカテゴリ内の領域ｉのサンプルの個数Ｎｉ，ｔ，ｃと、再構成された信号と元の信号との間の差の対応する和ｅｉ，ｔ，ｃとを収集する。対応するオフセットは、ａｉ，ｔ，ｃと表され、次のように推定され得る。
【数１】
2020522170.tif 000012
【０１４３】
ＲＤコストは、次式を使用して入手され、次式では、λは、ラグランジュ乗数であり、Ｄｉ，ｔ，ｃは、歪み削減であり、Ｒｉ，ｔ，ｃは、対応するオフセットの推定されたレート（コーディングに使用されるビット数）である。
Ｊｉ，ｔ，ｃ＝Ｄｉ，ｔ，ｃ＋λ．Ｒｉ，ｔ，ｃ
【０１４４】
文書Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ  ｆｏｒ  ＨＥＶＣで、Ｆｕは、Ｄｉ，ｔ，ｃが、ａｉ，ｔ，ｃ、ｅｉ，ｔ，ｃ、およびＮｉ，ｔ，ｃのみの関数として表現され得ることを示す。その結果、オフセットａｉ，ｔ，ｃの値が、ＲＤコストＪｉ，ｔ，ｃを最小化するために判定／洗練され得る。
【０１４５】
候補セットに関して、ＳＡＯパラメータは、３つの成分のタイプｔ、カテゴリｃ、およびオフセットａｉ，ｔ，ｃの値であり、Ｒｉ，ｔ，ｃは、これらのデータのコーディングに使用されるビットの（推定された）個数である。領域ｉは、フィルタリングにこの候補セットを使用するブロックからなる。
【０１４６】
モード・マージでコーディングされるブロックに関して、Ｒｉ，ｔ，ｃは、ｍｅｒｇｅ−ｉｄｘをコーディングするのに使用されるビットに（推定された）個数である。領域ｉは、ブロックである。
【０１４７】
総ＲＤｃｏｓｔを導出するために、歪み削減は、すべての候補の歪み削減の和であり、レートは、候補レート（ＳＡＯパラメータ・タイプおよびオフセットのコーディング）とブロック・レート（マージ・インデックスのコーディング）との和である。
【０１４８】
図１１は、特定の非限定的な実施形態による、復号されたピクチャを入手するためにビットストリームからピクチャを復号するように構成された受信器２０００の例示的なアーキテクチャを表す。
【０１４９】
受信器２０００は、１つまたは複数のプロセッサ２００５を含み、プロセッサ２００５は、たとえば、内部メモリ２０３０（たとえば、ＲＡＭ、ＲＯＭ、および／またはＥＰＲＯＭ）と一緒にＣＰＵ、ＧＰＵ、および／またはＤＳＰ（デジタル信号プロセッサの英語頭字語）を含むことができる。受信器２０００は、出力情報を表示し、かつ／またはユーザがコマンドおよび／もしくはデータ（たとえば、復号されたピクチャ）を入力することを可能にするようにそれぞれ適合された１つまたは複数の通信インターフェース２０１０（たとえば、キーボード、マウス、タッチパッド、ウェブカム）と、受信器２０００の外部であってもよい電源２０２０とを含む。受信器２０００は、１つまたは複数のネットワーク・インターフェース（図示せず）を含むこともできる。復号器モジュール２０４０は、復号機能を実行するためにデバイス内に含まれ得るモジュールを表す。さらに、当業者に既知のように、復号器モジュール２０４０は、受信器２０００の別々の要素として実施され得、あるいは、ハードウェアとソフトウェアとの組合せとしてプロセッサ（１つまたは複数）２００５内に組み込まれ得る。
【０１５０】
ビットストリームは、ソースから入手され得る。異なる実施形態によれば、ソースは、下記とすることができるが、これに限定はされない。
−ローカル・メモリ、たとえば、ビデオ・メモリ、ＲＡＭ、フラッシュ・メモリ、ハード・ディスク、
−ストレージ・インターフェース、たとえば、マス・ストレージ、ＲＯＭ、光ディスク、または磁気サポートとのインターフェース、
−通信インターフェース、たとえば、有線インターフェース（たとえば、バス・インターフェース、広域ネットワーク・インターフェース、ローカル・エリア・ネットワーク・インターフェース）または無線インターフェース（ＩＥＥＥ  ８０２．１１インターフェースまたはＢｌｕｅｔｏｏｔｈインターフェースなど）、
−画像取込回路（たとえば、たとえばＣＣＤ（すなわち、電荷結合素子）またはＣＭＯＳ（すなわち、相補型金属酸化膜半導体）などのセンサ）。
【０１５１】
異なる実施形態によれば、復号されたピクチャは、宛先、たとえばディスプレイ・デバイスに送られ得る。一例として、復号されたピクチャは、リモート・メモリまたはローカル・メモリ内、たとえばビデオ・メモリまたはＲＡＭ、ハード・ディスク内に記憶される。変形形態では、復号されたピクチャは、ストレージ・インターフェース、たとえば、マス・ストレージ、ＲＯＭ、フラッシュ・メモリ、光ディスク、または磁気サポートとのインターフェースに送られ、かつ／または通信インターフェース、たとえばポイント・ツー・ポイント・リンク、通信バス、ポイント・ツー・マルチポイント・リンク、またはブロードキャスト・ネットワークへのインターフェースを介して送信される。
【０１５２】
特定の非限定的な実施形態によれば、受信器２０００は、メモリ２０３０内に記憶されたコンピュータ・プログラムをさらに含む。コンピュータ・プログラムは、命令を含み、この命令は、受信器２０００、具体的にはプロセッサ２００５によって実行される時に、受信器が図１３Ａから図１３Ｃを参照して説明される復号方法を実行することを可能にする。変形形態によれば、コンピュータ・プログラムは、受信器２０００の外部で非一時的デジタル・データ・サポート上、たとえば、すべて当技術分野で既知の、ＨＤＤ、ＣＤ−ＲＯＭ、ＤＶＤ、読取専用および／もしくはＤＶＤドライブならびに／または書込可能ＤＶＤドライブなどの外部記憶媒体上に記憶される。したがって、受信器２０００は、コンピュータ・プログラムを読み取る機構を含む。さらに、受信器２０００は、対応するＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）ポート（図示せず）を介して１つまたは複数のＵＳＢタイプのストレージ・デバイス（たとえば、「メモリ・スティック」）にアクセスすることができる。
【０１５３】
例示的で非限定的な実施形態によれば、受信器２０００は、下記とすることができるが、これに限定はされない。
−モバイル・デバイス、
−通信デバイス、
−ゲーム・デバイス、
−セットトップ・ボックス、
−ＴＶセット、
−タブレット（またはタブレット・コンピュータ）、
−ラップトップ、
−ビデオ・プレイヤ、たとえばＢｌｕ−ｒａｙプレイヤ、ＤＶＤプレイヤ、
−ディスプレイ、
−復号チップまたは復号デバイス／装置。
【０１５４】
図１２は、図１３Ａまたは図１３Ｂの復号方法を実行するように適合された例示的なビデオ復号器２００、たとえばＨＥＶＣビデオ復号器のブロック図を示す。ビデオ復号器２００は、受信器２０００またはそのような受信器２０００の一部の例である。例示的な復号器２００では、ビットストリームが、下で説明するように復号器要素によって復号される。ビデオ復号器２００は、一般に、ビデオ・データの符号化の一部としてビデオ復号を実行する、図２で説明した符号化パスに相反する復号パスを実行する。
【０１５５】
具体的には、復号器の入力は、ビデオ符号器１００によって生成され得るビデオ・ビットストリームを含む。ビットストリームは、まず、変換係数、動きベクトル、および他のコーディングされた情報を入手するためにエントロピ復号（２３０）される。変換係数は、残差を復号するために逆量子化（２４０）され、逆変換（２５０）される。その後、復号された残差は、復号／再構成されたピクチャ・ブロックを入手するために、予測されたサンプル・ブロック（プレディクタとも称する）と組み合わされる（２５５）。予測されたサンプル・ブロックは、イントラ予測（２６０）または動き補償された予測（すなわち、インター予測）（２７５）から入手（２７０）され得る。上で説明したように、ＡＭＶＰ技法およびマージ・モード技法が、動き補償中に使用され得、動き補償は、参照ブロックのサブ整数サンプルの補間された値を計算するために補間フィルタを使用することができる。ループ内フィルタ（２６５）が、再構成されたピクチャに適用される。ループ内フィルタは、デブロッキング・フィルタおよびＳＡＯフィルタを含むことができる。フィルタリングされたピクチャは、参照ピクチャ・バッファ（２８０）で記憶される。
【０１５６】
図１３Ａは、特定の非限定的な実施形態による、ビットストリームからピクチャ部分のブロックを復号する方法の流れ図を表す。ピクチャ部分は、ピクチャ全体またはその部分の一部、たとえばスライスとすることができる。
【０１５７】
この方法は、ステップＳ２００で開始する。ステップＳ２１０では、復号器２００などの受信器２０００が、ビットストリームにアクセスする。ステップＳ２２０では、受信器が、ビットストリームからフィルタ・パラメータの複数の候補セットを復号する。したがって、複数の候補セットは、それらが復号される順序に従って順序付けられる。図７に関して、フィルタ・パラメータの３つの候補セット（ｃ−０、ｃ−１、およびｃ−２）が復号される。図７の右側のピクチャ部分の各ブロックは、３つの候補セットのうちの１つからそのフィルタ・パラメータを継承する。図７では、ブロックＢｌｋ＿０、Ｂｌｋ＿１、Ｂｌｋ＿４、およびＢｌｋ＿５が、同一のフィルタ・パラメータすなわち、候補セットｃ−０のフィルタ・パラメータを有し、ブロックＢｌｋ＿２およびＢｌｋ＿３が、同一のフィルタ・パラメータすなわち、候補セットｃ−１のフィルタ・パラメータを有し、ブロックＢｌｋ＿６およびＢｌｋ＿７が、同一のフィルタ・パラメータすなわち、候補セットｃ−２のフィルタ・パラメータを有する。
【０１５８】
特定の実施形態では、ＯＦＦ候補セットと称するフィルタ・パラメータの特定の候補セットが、復号された候補セットのリストに追加される。一例として、ＯＦＦ候補は、事前定義の位置、たとえば２番目の位置で、復号された候補セットの間に挿入される。ＯＦＦ候補は、ビットストリームからは復号されない。ＯＦＦ候補は、ブロックがフィルタリングされないことを示すのに使用される。
【０１５９】
有利なことに、フィルタ・パラメータの複数の候補セットが、スライスのヘッダから復号される。変形形態では、フィルタ・パラメータの複数の候補セットは、復号順でピクチャ部分の第１のブロック（たとえば、図７のＢｌｋ＿０）のレベルで復号される。一例として、図８では、フィルタ・パラメータの３つの候補セットが、第１のブロックＢｌｋ＿０の構文要素と共に符号化されている。
【０１６０】
別の実施形態では、受信器は、前記ビットストリームから、フィルタ・パラメータの複数の候補セットを表すデータを復号する。一例として、復号されるデータｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１は、復号されるフィルタ・パラメータの候補セットの個数から１を引いたものである。ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１の値が、ピクチャ部分内、たとえば１スライス内のブロックの個数から１を引いたものより必ず小さいので、構文要素ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１を表すビットの個数は、ｌｏｇ２（１つのピクチャ部分内のブロックの個数−１）より小さい。
【０１６１】
ＳＡＯフィルタリングに関するＨＥＶＣタイプの構文の例が、表１および表２に示されている。表２によれば、ｎｕｍ＿ｓａｏ＿ｃａｎｄ＿ｍｉｎｕｓ１が復号された後に、ＳＡＯパラメータの各候補セットが、ｓａｏ＿ｃａｎｄ（ｉｄｘＣａｎｄ）を呼び出すことによって復号される。ＯＦＦ候補セットが、復号された候補セットのリストに追加されない場合には、構文は、表３によって示されるように変更される。表４は、本原理によるＳＡＯパラメータのセットの復号を示す。
【０１６２】
以下のＳＡＯパラメータが復号される：ｓｌｉｃｅ＿ｓａｏ＿ｌｕｍａ＿ｆｌａｇ、ｓｌｉｃｅ＿ｓａｏ＿ｃｈｒｏｍａ＿ｆｌａｇ、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｌｕｍａ、ｓａｏ＿ｔｙｐｅ＿ｉｄｘ＿ｃｈｒｏｍａ、ｓａｏ＿ｏｆｆｓｅｔ＿ａｂｓ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］［ｉ］、ｓａｏ＿ｏｆｆｓｅｔ＿ｓｉｇｎ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］［ｉ］、ｓａｏ＿ｂａｎｄ＿ｐｏｓｉｔｉｏｎ［ｃＩｄｘ］［ｉｄｘＣａｎｄ］、ｓａｏ＿ｅｏ＿ｃｌａｓｓ＿ｌｕｍａ、ｓａｏ＿ｅｏ＿ｃｌａｓｓ＿ｃｈｒｏｍａ。
【０１６３】
ステップＳ２３０では、受信器が、前記ビットストリームから、フィルタ・パラメータの復号された候補セットのうちの１つを識別するインデックス（ｍｅｒｇｅ＿ｉｄｘ）を、前記ピクチャの現行ブロックに関して復号する。座標（ｒｘ，ｒｙ）のブロックのインデックスｍｅｒｇｅ＿ｉｄｘの復号は、ＯＦＦ候補セットが復号された候補セットのリストに追加される場合には表５によって示され、ＯＦＦ候補セットが復号された候補セットのリストに追加されない場合には表６によって示される。
【０１６４】
図８を参照すると、インデックスは、ブロックごとに復号される（ｍｅｒｇｅ＿ｉｄｘ）。このインデックスは、フィルタ・パラメータの候補セットのうちの１つを識別する。一実施形態では、すべてのブロックが、マージ・モードである、すなわち、すべてのブロックが、そのフィルタ・パラメータをフィルタ・パラメータの候補セットのうちの１つから継承する。これは、ブロックがマージ・モードであるか否か、すなわち、ブロックが隣接ブロックからそのフィルタ・パラメータを継承するか否かを示すフラグをブロックに関して復号する必要がないので、いくつかのビットを節約することを可能にする。具体的には、ＳＡＯパラメータが隣接するＣＴＵの対応するＳＡＯパラメータから導出されることを示すＨＥＶＣフラグｓａｏ＿ｍｅｒｇｅ＿ｌｅｆｔ＿ｆｌａｇおよびｓａｏ＿ｍｅｒｇｅ＿ｕｐ＿ｆｌａｇを復号する必要はもうない。
【０１６５】
特定の実施形態では、フィルタ・パラメータの複数の候補セットは、その最初の使用の順序と同一の順序でビットストリームから復号される。この場合に、所与のブロックのインデックスの最大の可能な値（ｉｄｘ＿ｍａｘ）は、ブロック番号に伴って増加する。より具体的には、マージ・インデックスが、以前に復号されたどのブロックによってもまだ使用されていない候補セットに対応する場合に限って、ｉｄｘ＿ｍａｘが増分される。一例として、ｂｌｋ＿０のインデックスが０と等しい、すなわち、ｂｌｋ＿０がｃ＿０で定義されたフィルタ・パラメータを使用する場合に、ｂｌｋ＿１のインデックスも０と等しい場合には、ｉｄｘ＿ｍａｘは、ｂｌｋ＿２に関して増分されないが、ｂｌｋ＿１のインデックスが１と等しい、すなわち、ｂｌｋ＿１が、まだ使用されていない候補セットであるｃ＿１で定義されるフィルタ・パラメータを使用する場合には、ｉｄｘ＿ｍａｘは、ｂｌｋ＿２に関して増分される。
【０１６６】
しかし、ｍｅｒｇｅ＿ｉｄｘの値が、以前に復号されたブロックによってまだ使用されていない候補に対応するかどうかの情報が、構文解析ステージで使用不能である場合がある。
【０１６７】
したがって、変形形態では、ｉｄｘ＿ｍａｘの値は、リスト内の最初の候補が必ず既に使用された候補（最初のブロックを除く）なので、ｍｅｒｇｅ＿ｉｄｘの解析された値が非０である場合に限って増分される。ＨＥＶ標準規格の９．３．３．２で指定されるＴｒｕｎｃａｔｅｄ  Ｒｉｃｅ（ＴＲ）２値化、ｃＭａｘの値はｉｄｘ＿ｍａｘである。
【０１６８】
変形形態では、値ｉｄｘ＿ｍａｘは、現行ブロックの前に復号されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットの個数の別の増加関数である。
【０１６９】
ステップＳ２４０では、受信器が、前記ビットストリームから前記現行ブロックを復号する。復号されるブロックは、通常、ルマ・ブロックおよびクロマ・ブロックを含む。
【０１７０】
ブロックの復号は、必ずではないが通常、変換係数のブロックを入手するためのブロックを表すビットストリームの部分のエントロピ復号と、残差のブロックを入手するための変換係数のブロックの逆量子化および逆変換と、復号されたブロックを入手するための残差のブロックへのプレディクタの加算とを含む。場合により、ブロックＳ２３０およびＳ２４０の順序は、入れ替えられ得る。
【０１７１】
オプションのステップＳ２５０では、ステップＳ２３０で復号されたインデックスが候補セットのリストからフィルタ・パラメータのセットを取り出すのに使用される前に、フィルタ・パラメータの候補セットが並べ換えられる。特定の実施形態では、フィルタ・パラメータの候補セットは、ピクチャ部分のブロックが復号されるたびに並べ換えられる。並べ換えは、ブロックがフィルタリングされる前に達成される。
【０１７２】
第１の実施形態では、フィルタ・パラメータの候補セットは、現行ブロックのすぐ左に配置されたブロックが使用可能である時に、そのようなブロックに使用されるフィルタ・パラメータのセットが、フィルタリング・パラメータの候補セットのリスト内の最初の位置に置かれるように、並べ換えられる。
【０１７３】
別の実施形態では、フィルタ・パラメータの候補セットは、前のブロックと称する、現行ブロックの前に復号されたブロックのフィルタリングに使用されたフィルタ・パラメータの候補セットが、現行ブロックへのこの前のブロックの空間距離に依存する順序でリストされるように、並べ換えられる。一実施形態では、フィルタ・パラメータの候補セットは、空間的に最も近い隣接するブロックによって既に使用されたパラメータが、フィルタ・パラメータの候補セットのリストの最上部に現れるように並べ換えられる。複数のブロックが同一の候補セットを使用する場合には、現行ブロックに空間的に最も近いブロックだけが、考慮に入れられる。これは、使用された候補セットのマップを作成することによって行われ得る。フィルタリング・パラメータの候補セットのリストの動的な並べ換えの例が、図１４に関連して表１０に示されている。候補セットは、現行ブロックが復号されるたびに並べ換えられる。この例では、次のまだ使用されていない候補が、リストの末尾に置かれる。リスト並べ換えのプロセスは、現行ブロックＢｌｋ＿５の復号に関して図１５に示されている。Ｂｌｋ＿５を復号する時に、最後に使用された候補セットは、｛ｃ＿０，ｃ＿１，ｃ＿２，ｃ＿３｝である。ｃ＿０は、Ｂｌｋ＿０およびＢｌｋ＿４によって使用され、ｃ＿１は、Ｂｌｋ＿１によって使用され、ｃ＿２は、Ｂｌｋ＿２によって使用され、ｃ＿３は、Ｂｌｋ＿３によって使用された。ブロックＢｌｋ＿４、Ｂｌｋ＿１、Ｂｌｋ＿２、Ｂｌｋ＿３へのＢｌｋ＿５のより小さい正方形ユークリッド距離は、それぞれ｛１，１，２，５｝である。候補セットｃ＿０に関して、Ｂｌｋ＿４からＢｌｋ＿５への空間距離は考慮に入れられるが、Ｂｌｋ＿０からＢｌｋ＿５への距離は考慮に入れられない。というのは、Ｂｌｋ＿４が、空間的にＢｌｋ＿０よりＢｌｋ＿５に近いからである。したがって、Ｂｌｋ＿５を復号する時に、最も近い使用された候補セットは、ｃ＿０（左）、ｃ＿１（上）、ｃ＿２（上−右）、およびｃ＿３（上−右−右）である。候補ｃ＿４は、まだ使用されておらず、したがって、リストの末尾に置かれる。
【表１０】
2020522170.tif 000013
表１０
【０１７４】
変形形態では、現行ブロックの前に復号されたブロックのフィルタリングに使用されていないフィルタ・パラメータの少なくとも１つの候補セット、たとえば次に使用される最初の候補が、現行ブロックの前に復号された前記ブロックのフィルタリングに使用されたフィルタ・パラメータの最後の候補セットの位置の前である位置ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗに挿入される。ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗの値は、復号器側で先験的に既知である。たとえば、ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗは、２をセットされ得、あるいは、ビットストリーム内で符号化され得る。この変形形態は、表１１によって示される。この例では、次に使用される、まだ使用されていない候補は、位置２（表１１では斜体で強調表示）に置かれる。Ｂｌｋ＿５に関して、候補ｃ＿４は、リスト内の位置２に置かれるが、表１０では、リストの末尾に置かれた。前に復号されたブロックのフィルタリングに使用された候補セットの個数が、厳密にｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗより少ない場合には、前に復号されたブロックのフィルタリングに使用されていない最初の候補セットの位置は、ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗの前に挿入され得る。前に復号されたブロックは、現行ブロックの前に復号されたブロックである。
【表１１】
2020522170.tif 000014
表１１
【０１７５】
表１０および１１は、ＯＦＦ候補セットが復号された候補セットのリストに追加されない場合を示す。ＯＦＦ候補セットが復号された候補セットのリストに追加される場合には、ｍｅｒｇｅ＿ｉｄｘは、最初のブロックについて推論されるのではなく復号される。この後者の場合に、ｉｄｘ＿ｍａｘの値は、表１０および１１で１つだけ増分される。
【０１７６】
別の実施形態では、ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗは、ピクチャ部分内の現行ブロックの後で復号される残っているブロックの個数および前に復号されたブロックのフィルタリングにまだ使用されていない候補セットの個数の関数である。たとえば、位置ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗは、新しい候補セットの使用の発生の確率から導出される。たとえば、位置ｐｏｓ＿ｆｉｒｓｔ＿ｎｅｗは、ＰまたはＰ＋１の整数部分と等しいものとすることができ、ここで、Ｐ＝（復号すべき残っているブロックの個数）／（まだ使用されていない候補セットの個数）である。
【０１７７】
別の実施形態では、ＯＦＦ候補と称するフィルタ・パラメータの特定の候補セットが、候補セットのリストに追加されるが、復号されない。ブロックのインデックスがこの特定の候補を識別する場合には、対応するブロックは、フィルタリングされない。
【０１７８】
一例では、ＯＦＦ候補の位置ｐｏｓ＿ｏｆｆは、リストの先頭に近く、たとえば、リスト内の最初の位置（ｐｏｓ＿ｏｆｆ＝０）または２番目／３番目の位置（ｐｏｓ＿ｏｆｆ＝１またはｐｏｓ＿ｏｆｆ＝２）である。特定の実施形態では、リスト内のＯＦＦ候補の位置ｐｏｓ＿ｏｆｆは、リストが並べ換えられる場合に変更されない。変形形態では、その位置は、固定されない、すなわち、制限を伴って他の候補セットと同一の並べ換えルールに従う。制限は、リスト内のＯＦＦ候補の位置が、固定された位置、たとえば位置２を超えることができないことである。
【０１７９】
ステップＳ２６０で、受信器は、復号されたインデックスによって識別されるフィルタ・パラメータの候補セットを用いて、復号された現行ブロックをフィルタリングする。インデックスｍｅｒｇｅ＿ｉｄｘがＯＦＦ候補を識別する場合には、ブロックは、ステップＳ２６０でフィルタリングされない。特定の実施形態では、フィルタは、ＳＡＯフィルタであり、図３を参照して開示されたフィルタリング・ステップが適用される。
【０１８０】
この方法は、ピクチャ部分内のすべてのブロックを復号し、フィルタリングするために、ステップＳ２３０からＳ２６０までをループすることができる。特定の非限定的な実施形態では、ピクチャ部分のすべてのブロックが、これらのブロックのフィルタリングを開始する前に復号され得る。変形形態では、ピクチャ部分のいくつかのブロックのフィルタリングは、ピクチャ部分のすべてのブロックが復号される前に開始することができる。
【０１８１】
この方法は、ステップＳ２８０で終了する。
【０１８２】
本原理による符号化および復号の方法および装置は、ＳＡＯフィルタリングに限定されない。この方法は、局所的に、たとえばブロック・レベルで適用され得るフィルタ・パラメータによって定義されるすべてのフィルタに適用され得る。
【０１８３】
図１３Ａの実施形態では、フィルタ・パラメータの候補セットの単一のリスト内でルマ・フィルタ・パラメータおよびクロマ・フィルタ・パラメータの候補セットを識別する単一のインデックスが復号される。図１３Ａの方法の変形形態が、図１３Ｂに示されている。この変形形態では、ルマ成分およびクロマ成分が、別々に処理される。この動作のモードは、デュアル・モードと呼ばれる。デュアル・モードでは、第１のインデックスおよび第２のインデックスが復号される。第１のインデックスは、フィルタ・ルマ・パラメータの候補セットの第１のリスト内のルマ・フィルタ・パラメータの候補セットを識別し、第２のインデックスは、フィルタ・クロマ・パラメータの候補セットの第２のリスト内のクロマ・フィルタ・パラメータの候補セットを識別する。
【０１８４】
図１３Ａのステップと同一の図１３Ｂのステップは、同一の符号によって識別される。
【０１８５】
この方法は、ステップＳ２００で開始する。ステップＳ２１０では、復号器２００などの受信器２０００が、ビットストリームにアクセスする。
【０１８６】
ステップＳ２２２では、受信器が、ビットストリームからフィルタ・ルマ・パラメータの第１の複数の候補セットを復号する。
【０１８７】
ステップＳ２２４では、受信器が、ビットストリームからフィルタ・クロマ・パラメータの第２の複数の候補セットを復号する。
【０１８８】
ステップＳ２３２では、受信器が、前記ピクチャの現行ブロックに関して、前記ビットストリームからフィルタ・ルマ・パラメータの復号された候補セットのうちの１つを識別する第１のインデックス（ｍｅｒｇｅ＿ｌｕｍａ＿ｉｄｘ）を復号する。
【０１８９】
ステップＳ２３４では、受信器が、現行ブロックに関して、前記ビットストリームからフィルタ・クロマ・パラメータの復号された候補セットのうちの１つを識別する第２のインデックス（ｍｅｒｇｅ＿ｃｈｒｏｍａ＿ｉｄｘ）を復号する。
【０１９０】
ステップＳ２４０では、受信器が、前記ビットストリームから前記現行ブロックを復号する。
【０１９１】
オプションのステップＳ２５２では、候補セットのリストからフィルタ・ルマ・パラメータのセットを識別するために第１のインデックスを使用する前に、フィルタ・ルマ・パラメータの候補セットが並べ換えられる。
【０１９２】
オプションのステップＳ２５４では、候補セットのリストからフィルタ・クロマ・パラメータのセットを識別するために第２のインデックスを使用する前に、フィルタ・クロマ・パラメータの候補セットが並べ換えられる。
【０１９３】
候補セットのリストの並べ換えは、ルマ成分およびクロマ成分に関して別々に行われ得る。変形形態では、並べ換えは共通である。たとえば、並べ換えは、まず、ルマ成分に関する候補セットのリストに関して行われ、クロマ成分（１つまたは複数）に関する候補セットのリストは、同一の形で並べ換えられる。
【０１９４】
ステップＳ２６５では、受信器が、それぞれ復号された第１のインデックスおよび第２のインデックスによって識別されるフィルタ・ルマ・パラメータの候補セットおよびフィルタ・クロマ・パラメータの候補セットを用いて、復号された現行ブロックをフィルタリングする。より正確には、復号されたルマ・ブロックが、第１のインデックスによって識別されるフィルタ・ルマ・パラメータの候補セットを用いてフィルタリングされ、復号されたクロマ・ブロック（１つまたは複数）が、第２のインデックスによって識別されるフィルタ・クロマ・パラメータの候補セットを用いてフィルタリングされる。
【０１９５】
図１３Ｃによって示されるステップＳ２３８の特定の実施形態では、デュアル・モードが現行シーケンス（たとえば、ＳＰＳ（シーケンス・パラメータ・セットの英語頭字語）から復号される）に関して、現行ピクチャ（たとえば、ＰＰＳ（ピクチャ・パラメータ・セットの英語頭字語）から復号される）に関して、または現行スライス（たとえば、スライス・ヘッダから復号されまたはスライスの最初のブロック内で符号化される）に関して使用可能にされるか否かを示すフラグが復号される。そのようなフラグの例が、表９で言及されるｓｌｉｃｅ＿ｄｕａｌ＿ｍｅｒｇｅである。
【０１９６】
別の変形形態では、デュアル・モードが現行シーケンス、現行ピクチャ、現行スライスに関して使用可能にされるか否かを示すフラグは復号されず、デュアル・モードは、デフォルトですべてのスライスに関して使用可能にされる。
【０１９７】
変形形態では、デュアル・モードが、現行シーケンス、現行ピクチャ、または現行スライスに関して使用可能にされる場合に、デュアル・モードが現行ブロックに関して使用可能にされるかどうかを示す別のフラグ（表９のｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄ）が、ステップＳ２３１で復号される（たとえば、インデックスの前に復号される）。
【０１９８】
デュアル・モードが現行ブロックに関して使用可能にされる（ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄが真または１と等しい）場合には、２つのインデックス（１つはルマ、１つはクロマに関する）が、現行ブロックに関してステップＳ２３２およびＳ２３４で復号される。そうではない、すなわち、ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄが偽または０と等しい場合には、ステップＳ２３５で、第１の複数の候補セット内の１つの候補セットおよび第２の複数の候補セット内の１つの候補セットを識別する単一のインデックスが現行ブロックに関して復号される。
【０１９９】
ｄｕａｌ＿ｍｏｄｅ＿ｂｌｏｃｋ＿ｅｎａｂｌｅｄが真であり、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａに対応する復号された値がｍｅｒｇｅ＿ｉｄｘ＿ｌｕｍａ以上である場合には、ｍｅｒｇｅ＿ｉｄｘ＿ｃｈｒｏｍａは、１つ増分された復号された値と等しくなるようにセットされる（表９の注１参照）。
【０２００】
この方法は、ピクチャ部分のすべてのブロックを復号し、フィルタリングするために、ステップＳ２３２からＳ２６５までにわたってループすることができる。
【０２０１】
この方法は、ステップＳ２８０で終了する。
【０２０２】
特定の実施形態では、フィルタ・ブロック、サイズ、たとえばＳＡＯブロック・サイズは、ＣＴＵサイズとは異なる。この場合に、フィルタ・パラメータは、ＣＴＵサイズとは異なる、再構成されたピクチャの領域に適用される。フィルタリング・ステージでは、ピクチャまたはスライスは、それぞれがフィルタ・ブロックに対応する複数の領域に副分割される。フィルタ・パラメータは、フィルタ・ブロックごとに判定され、このフィルタ・ブロック上では一定である。フィルタ・ブロック・サイズは、フィルタ・パラメータが変化することのできない最小の領域のサイズである。たとえば、ＳＡＯフィルタリングが、再構成されたピクチャ内の１つの領域のサンプルを複数のカテゴリに分類し、各サンプルに、そのカテゴリに依存する特定のオフセットを加算する場合に、ＳＡＯブロック・サイズは、この領域のサイズになる。Ｈ．２６５では、ＳＡＯブロック・サイズは、１つのＣＴＢのサイズと等しい。
【０２０３】
フィルタ・ブロック・サイズは、スライス・ヘッダ内で、ピクチャ・パラメータ・セット内で、またはシーケンス・パラメータ・セット内で指定され得、インデックスは、現行スライスに関して使用すべきフィルタ・ブロック・サイズおよび形状を示す。正方形または長方形のフィルタ・ブロック・サイズの例が、図１６に示されている。この例では、水平および垂直のフィルタ・ブロック・サイズは、右シフト（２のべきによる除算）または左シフト（２のべきによる乗算）を用いてＣＴＵサイズから導出される。図１６では、フィルタ・ブロックは、灰色で表現される。
【０２０４】
一実施形態では、フィルタ・ブロック・サイズがＣＴＵサイズと等しいのか、より小さい（たとえば、水平と垂直との両方で２つ減らされる）のかを示すために、たとえばスライス・ヘッダ内で、フラグが符号化される（それぞれ復号される）。
【０２０５】
変形形態では、フィルタ・ブロック・サイズが正方形ではない時に、空間距離の導出は、垂直および水平の、異なるフィルタ・ブロック・サイズを考慮に入れることができる。この場合に、空間距離は、サンプルの個数単位で表現された距離に比例する。別の変形形態では、空間距離の導出は、実際の垂直および水平のフィルタ・ブロック・サイズではなく、水平および垂直のフィルタ・ブロック位置だけを考慮する。この場合に、空間距離は、図１７に示されているように、フィルタ・ブロック・マップ内で表される距離に比例する。フィルタ・ブロック・マップは、フィルタ領域（またはＳＡＯフィルタ領域）ごとに、フィルタ・パラメータの候補セットのそれぞれを識別するインデックスの値を用いて構築される。フィルタ・ブロック・マップＸ（またはＹ軸）座標は、ＳＡＯフィルタ領域サイズ／形状とは独立に、水平（または垂直）方向のフィルタ領域の個数に対応する。
【０２０６】
本明細書で説明される実施態様は、たとえば、方法またはプロセス、装置、ソフトウェア・プログラム、データ・ストリーム、または信号で実施され得る。単一の形態の実施態様の文脈でのみ議論される（たとえば、方法またはデバイスとしてのみ議論される）場合であっても、議論される特徴の実施態様は、他の形態（たとえば、プログラム）で実施され得る。装置は、たとえば、適当なハードウェア、ソフトウェア、およびハードウェアで実施され得る。方法は、たとえば、たとえばコンピュータ、マイクロプロセッサ、集積回路、またはプログラム可能論理デバイスを含む処理デバイス全般を指す、たとえばプロセッサなどの装置で実施され得る。プロセッサは、たとえば、コンピュータ、セル電話機、ポータブル／携帯情報端末（「ＰＤＡ」）、およびエンドユーザの間での情報の通信を容易にする他のデバイスなどの通信デバイスをも含む。
【０２０７】
本明細書で説明される様々なプロセスおよび特徴の実施態様は、様々な異なる機器またはアプリケーション、特にたとえば機器またはアプリケーションで実施され得る。そのような機器の例は、符号器、復号器、復号器からの出力を処理するポストプロセッサ、符号器に入力を供給するプリプロセッサ、ビデオ・コーダ、ビデオ復号器、ビデオ、コーデック、ウェブ・サーバ、セットトップ・ボックス、ラップトップ、パーソナル・コンピュータ、セル電話機、ＰＤＡ、および他の通信デバイスを含む。明瞭であるように、機器は、モバイルとすることができ、移動車両内に設置されることすら可能である。
【０２０８】
さらに、方法は、プロセッサによって実行される命令によって実施され得、そのような命令（および／または実施態様によって作られるデータ値）は、たとえば集積回路、ソフトウェア担体、またはたとえばハード・ディスク、コンパクト・ディスケット（「ＣＤ」）、光ディスク（たとえば、しばしばデジタル多用途ディスクまたはデジタル・ビデオ・ディスクと呼ばれるＤＶＤなど）、ランダム・アクセス・メモリ（「ＲＡＭ」）、または読取専用メモリ（「ＲＯＭ」）などの他のストレージ・デバイスなどのプロセッサ可読媒体に記憶され得る。命令は、プロセッサ可読媒体上で有形に実施されるアプリケーション・プログラムを形成することができる。命令は、たとえば、ハードウェア内、ファームウェア内、ソフトウェア内、またはその組合せとすることができる。命令は、たとえば、オペレーティング・システム、別々のアプリケーション、またはこの２つの組合せに見出され得る。したがって、プロセッサは、たとえば、プロセスを実行するように構成されたデバイスと、プロセスを実行する命令を有するプロセッサ可読媒体（ストレージ・デバイスなど）を含むデバイスとの両方として特徴を表され得る。さらに、プロセッサ可読媒体は、命令に加えてまたはその代わりに、実施態様によって作られたデータ値を記憶することができる。
【０２０９】
当業者に明白であるように、実施態様は、たとえば記憶されまたは送信され得る情報を搬送するようにフォーマットされた様々な信号を作ることができる。情報は、たとえば、方法を実行する命令または説明される実施態様によって作られたデータを含むことができる。たとえば、信号は、説明される実施形態の構文を書き込むか読み取るルールをデータとして搬送し、または説明される実施形態によって書き込まれた実際の構文値をデータとして搬送するようにフォーマットされ得る。そのような信号は、たとえば電磁波（たとえば、スペクトルのラジオ周波数部分を使用する）またはベースバンド信号としてフォーマットされ得る。フォーマッティングは、たとえば、データ・ストリームを符号化することと、符号化されたデータ・ストリームを用いて搬送波を変調することとを含むことができる。信号が搬送する情報は、たとえば、アナログ情報またはデジタル情報とすることができる。信号は、既知のように、様々な異なる有線リンクまたは無線リンクを介して送信され得る。信号は、プロセッサ可読媒体上に記憶され得る。
【０２１０】
複数の実施態様を説明した。それでも、様々な変更を行えることを理解されたい。たとえば、異なる実施態様の要素を組み合わせ、補足し、変更し、または除去して、他の実施態様を作ることができる。さらに、当業者は、他の構造およびプロセスが、開示された構造およびプロセスと置換され得、結果の実施態様が、開示された実施態様と少なくとも実質的に同一の結果（１つまたは複数）を達成するために、少なくとも実質的に同一の形（１つまたは複数）で、少なくとも実質的に同一の機能（１つまたは複数）を実行することを理解しよう。したがって、上記および他の実施態様は、本願によって企図されている。
【図１】
2020522170.tif 000015
【図２】
2020522170.tif 000016
【図３】
2020522170.tif 000017
【図４】
2020522170.tif 000018
【図５】
2020522170.tif 000019
【図６Ａ】
2020522170.tif 000020
【図６Ｂ】
2020522170.tif 000021
【図６Ｃ】
2020522170.tif 000022
【図７】
2020522170.tif 000023
【図８】
2020522170.tif 000024
【図９】
2020522170.tif 000025
【図１０】
2020522170.tif 000026
【図１１】
2020522170.tif 000027
【図１２】
2020522170.tif 000028
【図１３Ａ】
2020522170.tif 000029
【図１３Ｂ】
2020522170.tif 000030
【図１３Ｃ】
2020522170.tif 000031
【図１４】
2020522170.tif 000032
【図１５】
2020522170.tif 000033
【図１６】
2020522170.tif 000034
【図１７】
2020522170.tif 000035
【国際調査報告】
2020522170.tif 000036
2020522170.tif 000037
2020522170.tif 000038