(57)【特許請求の範囲】
【請求項１】
データストリームからの変換係数ブロック内の有意変換係数の位置を示す有意マップを復号する有意マップ復号装置であって、
前記変換係数ブロック内の有意変換係数の位置を示す有意マップを、そしてデータストリームからの前記変換係数ブロック内の前記有意変換係数の値を抽出し、前記有意マップを抽出する際に、コンテキスト適応エントロピー復号によって前記データストリームから第１のタイプのシンタックス要素をシーケンシャルに抽出するように構成されたデコーダ（２５０）であって、前記第１のタイプのシンタックス要素は、前記変換係数ブロック内の関連する位置に対して、それぞれその位置において有意または非有意変換係数が配置されるかについてを示すものであるデコーダ（２５０）と、
前記シーケンシャルに抽出された第１のタイプのシンタックス要素を、変換係数ブロックを所定の走査順で走査したそれぞれの位置に、シーケンシャルに関連付けるように構成されたアソシエータ（２５２）と
を備え、
前記デコーダが、前記第１のタイプのシンタックス要素をコンテキスト適応的にエントロピー復号する際に、現在の第１のタイプのシンタックス要素が関連付けられた位置の近隣部で有意変換係数が配置されている位置の数に応じて、前記第１のタイプのシンタックス要素の各々に対して個々に選択されるコンテキストを用いるように構成された
有意マップ復号装置。
【請求項２】
請求項１に記載の有意マップ復号装置において、前記デコーダ（２５０）はさらに、前記それぞれの第１のタイプのシンタックス要素が関連付けられた位置の近隣部が、直接隣接する位置で構成され、あるいは、直接隣接する位置と、前記それぞれの第１のタイプのシンタックス要素が関連付けられた位置から最大で縦方向に１つおよび／または横方向に１つの離れた位置とのいずれかで構成され、前記変換係数ブロックのサイズは８×８以上となる、ように構成された有意マップ復号装置。
【請求項３】
データストリームからの変換係数ブロック内の有意変換係数の位置を示す有意マップを復号する請求項１または２に記載の有意マップ復号装置（１５０）を用いて変換係数ブロックを復号し、前記変換係数ブロックに対してスペクトルドメインから空間ドメインへの変換を実行する（１５２）ように構成された変換ベースのデコーダ。
【請求項４】
予測デコーダであって、
データストリームからの変換係数ブロック内の有意変換係数の位置を示す有意マップを復号する請求項１または２に記載の有意マップ復号装置を用いて変換係数ブロックを復号し、前記変換係数ブロックに対してスペクトルドメインから空間ドメインへの変換を実行して残余のブロックを取得するように構成された変換ベースのデコーダ（１５０、１５２）と、
空間的にサンプリングされた情報信号を表す情報標本の配列（２０）のブロックに対して予測値を与えるように構成された予測器（１５６）と、
前記ブロックの予測値と前記残余のブロックを合成して前記情報標本の配列を再構成する合成器（１５４）と
を備えた予測デコーダ。
【請求項５】
変換係数ブロック内の有意変換係数の位置を示す有意マップをデータストリームに符号化する有意マップ符号化装置であって、前記有意マップ符号化装置は、前記変換係数ブロック内の有意変換係数の位置を示す有意マップを、そして前記変換係数ブロック内の前記有意変換係数の値を前記データストリームに符号化するように構成され、前記有意マップを符号化する際に、コンテキスト適応エントロピー符号化によって第１のタイプのシンタックス要素を前記データストリームにシーケンシャルに符号化し、前記第１のタイプのシンタックス要素は、前記変換係数ブロック内の関連する位置に対して、それぞれその位置において有意または非有意変換係数が配置されるかについてを示し、前記有意マップ符号化装置はさらに、前記変換係数ブロックを所定の走査順で走査して前記第１のタイプのシンタックス要素を前記データストリームにシーケンシャルに符号化するように構成され、前記装置は、前記第１のタイプのシンタックス要素の各々をコンテキスト適応的にエントロピー符号化する際に、現在の第１のタイプのシンタックス要素が関連付けられる位置の近隣部において有意変換係数が配置されている位置の数に応じて、前記第１のタイプのシンタックス要素に対して個々に選択されるコンテキストを用いるように構成された有意マップ符号化装置。
【請求項６】
データストリームからの変換係数ブロック内の有意変換係数の位置を示す有意マップを復号する有意マップ復号方法であって、
前記変換係数ブロック内の有意変換係数の位置を示す有意マップを、そしてデータストリームからの前記変換係数ブロック内の前記有意変換係数の値を抽出するステップであって、前記有意マップを抽出する際に、コンテキスト適応エントロピー復号によって前記データストリームから第１のタイプのシンタックス要素をシーケンシャルに抽出し、前記第１のタイプのシンタックス要素は、前記変換係数ブロック内の関連する位置に対して、それぞれの該位置において有意または非有意変換係数が配置されるかについてを示すものである、ステップと、
前記シーケンシャルに抽出された第１のタイプのシンタックス要素を、前記変換係数ブロックを所定の走査順で走査したそれぞれの位置に、シーケンシャルに関連付けるステップと
を有し、
前記第１のタイプのシンタックス要素をコンテキスト適応的にエントロピー復号する際に、現在の第１のタイプのシンタックス要素が関連付けられる位置の近隣部で有意変換係数が配置されている位置の数に応じて、前記第１のタイプのシンタックス要素の各々に対して個々に選択されるコンテキストが用いられる
有意マップ復号方法。
【請求項７】
変換係数ブロック内の有意変換係数の位置を示す有意マップをデータストリームに符号化する有意マップ符号化方法であって、
前記変換係数ブロック内の有意変換係数の位置を示す有意マップを、そして前記変換係数ブロック内の前記有意変換係数の値を前記データストリームに符号化するステップであって、前記有意マップを符号化する際に、コンテキスト適応エントロピー符号化によって第１のタイプのシンタックス要素を前記データストリームにシーケンシャルに符号化し、前記第１のタイプのシンタックス要素は、前記変換係数ブロック内の関連する位置に対して、それぞれの該位置において、有意または非有意変換係数が配置されるかについてを示し、前記第１のタイプのシンタックス要素を前記データストリームにシーケンシャルに符号化することが、前記変換係数ブロックを所定の走査順で走査することにより実行され、前記第１のタイプのシンタックス要素の各々をコンテキスト適応的にエントロピー符号化する際に、現在の第１のタイプのシンタックス要素が関連付けられる位置の近隣部において有意変換係数が配置されている位置の数に応じて、前記第１のタイプのシンタックス要素に対して個々に選択されるコンテキストが用いられる、ステップ
を有する有意マップ符号化方法。
【請求項８】
コンピュータに、請求項６に記載の有意マップ復号方法の各ステップを実行させるためのコンピュータプログラム。
【請求項９】
コンピュータに、請求項７に記載の有意マップ符号化方法の各ステップを実行させるためのコンピュータプログラム。
【請求項１０】
請求項８に記載のコンピュータプログラムが記録されたコンピュータ可読デジタル記憶媒体。
【請求項１１】
請求項９に記載のコンピュータプログラムが記録されたコンピュータ可読デジタル記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、変換係数ブロック内の有意変換係数の位置を示す有意マップの符号化、およびそのような変換係数ブロックの符号化に関する。そのような符号化は、たとえば、画像および映像の符号化などに用いることができる。
【背景技術】
【０００２】
従来の映像符号化においては、通常、映像シーケンスの画像がブロックに分割される。ブロックまたはブロックの色成分は、動き補償予測またはイントラ予測のいずれかによって予測される。ブロックは、異なるサイズでもよく、正方形または長方形のいずれでもよい。ブロックの全ての標本またはブロックの色成分が、同じ予測パラメータの集合を用いて予測される。このような予測パラメータとしては、参照インデックス（既に符号化された画像の集合のうちの基準画像を識別する）、動きパラメータ（基準画像と現在の画像との間のブロックの移動に対する尺度を特定する）、補間フィルタを特定するためのパラメータ、イントラ予測モードなどがある。動きパラメータは、水平および垂直成分を有するずれベクトルによって、または６個の成分からなるアフィン動きパラメータなどの高次の動きパラメータによって表される。また、複数集合の予測パラメータ（基準インデックスおよび動きパラメータなど）を単一のブロックに関連付けることも可能である。この場合、各集合の予測パラメータについて、ブロックまたはブロックの色成分に対して単一の中間予測信号が生成され、中間予測信号の重み付けされた合計によって、最終予測信号が構築される。重み付けされたパラメータ、および場合によって（重み付けされた合計に加算される）一定のオフセットが、画像、基準画像もしくは基準画像の集合に固定されるか、あるいは、それらが対応するブロックに対する予測パラメータの集合に含まれる。同様に、静止画もブロックに分割されることがあり、そのブロックは（ブロックのＤＣ成分を予測する空間イントラ予測法または単一イントラ予測法といったような）イントラ予測法によって予測される。めったには発生しないが、予測信号がゼロとなることもある。
【０００３】
元のブロックまたは元のブロックの色成分と、対応する予測信号との差は、残留信号ともいわれ、通常は、これが変換および量子化の対象となる二次元変換が残留信号に適用され、結果として得られる変換係数が量子化される。この変換符号化において、特定の集合の予測パラメータが使用されたブロックまたはブロックの色成分が、変換を適用する前にさらに分割されることもある。変換ブロックは、予測に使用されるブロックに等しいか、それより小さい。変換ブロックが、予測に使用されるブロックのうちの２以上を含むことも可能である。静止画または映像シーケンスの一画像における異なる変換ブロックは異なるサイズを持つことができ、変換ブロックは、正方形または長方形のブロックを表すことができる。
【０００４】
結果として得られる量子化された変換係数は、変換係数レベルともいわれ、エントロピー符号化技術を用いて送信される。したがって、変換係数レベルのブロックは、通常は、走査を用いて、走査変換係数値のベクトル（すなわち順序集合）にマッピングされる。なお、異なるブロックに対して異なる走査を利用することができる。走査ジグザグ走査がよく用いられる。インターレースフレームの１つのフィールドの標本のみを含むブロック（これらのブロックは、符号化フィールド内のブロックでもよく、符号化フレーム内のフィールドブロックでもよい）に対しては、フィールドブロックに対して特別に設計された異なる走査を用いることも一般的である。結果として得られる順序シーケンスを符号化するために一般に使用されるエントロピー符号化アルゴリズムは、ラン・レベル符号化である。通常、変換係数レベルの大多数はゼロであり、ゼロに等しい連続する変換係数レベルの集合は、ゼロに等しい連続する変換係数レベル（ラン）の数を符号化することによって効率的に表される。残余の（非ゼロの）変換係数については、実際のレベルが符号化される。ラン・レベル符号には種々の代替手段がある。非ゼロ係数前のランおよび非ゼロ変換係数のレベルが、単一のシンボルまたは符号語を用いて共に符号化される。しばしば、エンド・オブ・ブロックのための特別のシンボルであって、最後の非ゼロ変換係数の後に送信されるシンボルが含まれる。また、非ゼロ変換係数レベルの数を最初に符号化することも可能であり、この数に応じて、レベルおよびランが符号化される。
【０００５】
いくらか異なるアプローチが、Ｈ．２４６における非常に効率的なＣＡＢＡＣエントロピー符号化で用いられる。ここで、変換係数レベルの符号化は、３つのステップに分けられる。最初のステップでは、変換ブロックが有意変換係数レベル（すなわち、非ゼロである変換係数）を含むか否かを示す（これを「シグナリング」という）バイナリシンタックス要素ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇが、各変換ブロックに対して送信される。このシンタックス要素が有意変換係数レベルが存在することを示している場合には、二値化された有意マップが符号化され、どの変換係数レベルが非ゼロ値であるかを特定する。そして、逆走査順で、非ゼロ変換係数レベルの値が符号化される。有意マップは以下のように符号化される。走査順の各係数に対して、対応する変換係数レベルがゼロに等しくないか特定するバイナリシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが符号化される。ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇのビンが１に等しい場合、すなわち、非ゼロ変換係数レベルがこの走査位置に存在する場合、さらなるバイナリシンタックス要素ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが符号化される。このビンは、現在の有意変換係数レベルがブロック内の最後の有意変換係数レベルであるか、またはさらなる有意変換係数レベルが走査順で続くのかを示す。ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが、さらなる有意変換係数が続かないことを示す場合には、ブロックに対する有意マップを特定するためのさらなるシンタックス要素は符号化されない。次のステップでは、ブロック内の位置が有意マップによってすでに決定されている有意変換係数レベルの値が、符号化される。有意変換係数レベルの値が、以下の３つのシンタックス要素を用いることによって、逆走査順で符号化される。バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅは、有意変換係数レベルの絶対値が１より大きいかどうかを示す。バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅが、絶対値が１より大きいことを示す場合、変換係数レベルの絶対値マイナス１を特定するさらなるシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅが送信される。最後に、変換係数値の符号を特定するバイナリシンタックス要素ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇが、各有意変換係数レベルについて符号化される。なお、再度になるが、有意マップに関係するシンタックス要素は走査順で符号化されるが、変換係数レベルの実際の値に関連するシンタックス要素は、逆走査順で変換され、より適切なコンテキストモデルの使用を可能とする。
【０００６】
Ｈ．２６４におけるＣＡＢＡＣエントロピー符号化では、変換係数レベルに対する全てのシンタックス要素が、バイナリ確率モデリングを用いて符号化される。非バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅが最初に二進化、すなわちバイナリ判定（ビン）のシーケンスにマッピングされ、これらのビンがシーケンシャルに符号化される。バイナリシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、直接符号化される。各符号化ビン（バイナリシンタックス要素を含む）は、コンテキストに関連付けられる。コンテキストは、符号化ビンのクラスに対して、確率モデルを表す。２つの可能なビン値の１つに対する確率に関連する測度（ｍｅａｓｕｒｅ）が、対応するコンテキストとともに、すでに符号化されたビンの値に基づいて、各コンテキストに対して推定される。変換符号化に関係するいくつかのビンについて、符号化に使用されるコンテキストは、既に送信されたシンタックス要素に基づいて、またはブロック内の位置に基づいて選択される。
【０００７】
有意マップは、走査位置に対する有意性（変換係数レベルがゼロとは異なること）についての情報を特定する。Ｈ．２６４のＣＡＢＡＣエントロピー符号化では、４×４のブロックサイズについて、バイナリシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇを符号化するために、各走査位置に対して個別のコンテキストが用いられ、ここで、１つの走査位置のｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇに対して異なるコンテキストが用いられる。８×８のブロックサイズについては、４つの連続する走査位置に対して同じコンテキストモデルが使用され、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇについての１６個のコンテキストモデルおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇについての追加の１６個のコンテキストモデルに帰着する。ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇをコンテキストモデル化するこの方法には、ブロックサイズが大きいために、いくつかの不利な点がある。一方で、各走査位置が個別のコンテキストモデルに関連付けられる場合、８×８より大きいブロックが符号化される際には、コンテキストモデルの数が大幅に増加してしまう。このようなコンテキストモデル数の増加は、確率推定の適応性の遅れをまねき、通常は、確率推定の不正確さをもたらしてしまう。これらは、符号化効率に悪影響を与えてしまう。他方で、多数の連続走査位置へのコンテキストモデルの割当て（Ｈ．２６４において８×８ブロックに対して行われるような）も、大きなブロックサイズに対しては最適ではない。なぜなら、非ゼロ変換係数は、通常、変換ブロックの特定の領域（この領域は、残留信号の対応するブロック内の主構造に依存する）に集中するからである。
【０００８】
有意マップの符号化の後に、ブロックは逆走査順で処理される。走査位置が有意である場合、すなわち、係数がゼロとは異なる場合、バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅが送信される。最初に、対応するコンテキストモデルセットのうちの第２のコンテキストモデルがｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素に対して選択される。ブロック内のいずれかのｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素の符号化値が１に等しい（すなわち、絶対係数が２よりも大きい）場合、コンテキストモデリングは、そのセットのうちの第１のコンテキストモデルに戻すように切り替えられ、ブロックの最後までこのコンテキストモデルを用いる。それ以外の（ブロック内のｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの全ての符号化値がゼロであり、対応する絶対係数レベルが１に等しい）場合、コンテキストモデルは、対象ブロックの逆走査において既に符号化または復号化されたゼロに等しいｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素の数に依存して選択される。シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅに対するコンテキストモデル選択は、以下の式で概説できる。ここで、現在のコンテキストモデルインデックスＣｔ＋１は、前のコンテキストモデルインデックスＣｔおよび式におけるｂｉｎｔによって表される前に符号化されたシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの値に基づいて選択される。ブロック内の第１のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅに対して、コンテキストモデルインデックスはＣｔ＝１に等しく設定される。
【数１】
0005911027.tif 000002
【０００９】
同じ走査位置に対するｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素が１に等しいときに、絶対変換係数レベルを符号化するための第２のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅだけが符号化される。非バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅがビンのシーケンスに二進化され、この二進化の第１のビンに対して、コンテキストモデルインデックスが以下に記載するように選択される。二進化の残余のビンが固定コンテキストで符号化される。二進化の第１のビンに対するコンテキストは以下のように選択される。第１のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅシンタックス要素に対して、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅシンタックス要素に対するコンテキストモデルの集合の第１のコンテキストモデルが選択され、対応するコンテキストモデルインデックスがＣｔ＝０に等しく設定される。ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅシンタックス要素のさらなる第１のビン各々に対して、コンテキストモデリングは、その集合における次のコンテキストモデルに切り替えられる。ここで、集合内のコンテキストモデルの数は、５に制限されている。コンテキストモデル選択は、以下の式によって表すことができる。ここで、現在のコンテキストモデルインデックスＣｔ＋１は、前のコンテキストモデルインデックスＣｔの値に基づいて選択される。上述のように、ブロック内の第１のシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅについて、コンテキストモデルインデックスはＣｔ＝０に等しく設定される。なお、異なるコンテキストモデルの集合が、シンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅに対して使用される。
【数２】
0005911027.tif 000003
【００１０】
大きなブロックに対して、この方法にはいくつかの不利益な点がある。有意係数の数が小さいブロックにおける場合よりも大きいので、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅ（１に等しいｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅの値が複数ブロックに対して符号化された場合に用いられる）に対する第１のコンテキストモデルの選択は、通常は過度に早く行われてしまい、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅに対する最後のコンテキストモデルに過度に早く到達してしまう。そのため、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅのほとんどのビンが、単一のコンテキストモデルで符号化される。しかし、これらのビンは、通常は異なる確率を有し、このために、多数のビンに対する単一のコンテキストモデルの使用は、符号化効率に悪影響をもたらす。
【００１１】
一般に、大きなブロックはスペクトル分離変換を行うための計算のオーバーヘッドを増加させるが、小さいブロックおよび大きいブロックの双方を効果的に符号化することができれば、画像などの標本アレイまたは深度マップなどの他の空間的に標本化された情報信号を表す標本アレイを符号化する際に、より良い符号化効率が達成可能となる。この理由は、ブロック内の標本アレイの変換時の空間解像度とスペクトル解像度の間の依存性によるものであり、ブロックが大きければ大きいほど、変換のスペクトル解像度が高くなるからである。一般に、標本アレイに局部的に個別の変換を、そのような個別の変換の領域内で標本アレイのスペクトル成分が大きくは変動しないように、適用することができれば好ましい。小さいブロックに対しては、ブロック内のコンテンツが比較的整合していることが保証される。一方、ブロックが小さ過ぎる場合、スペクトル解像度は低く、非有意変換係数と有意変換係数との比は低くなる。
【００１２】
したがって、変換係数ブロックが大きくても変換係数ブロックに対する効率的な符号化を可能とする符号化スキーム、および変換係数ブロックの有意マップを有することができれば好ましい。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
したがって、本発明の課題は、変換係数ブロックを符号化するための符号化スキームおよび変換係数ブロック内の有意変換係数の位置をそれぞれ示す有意マップを提供し、それにより符号化効率を高めることである。
【課題を解決するための手段】
【００１４】
この課題は、独立請求項に記載される主題によって達成される。
【００１５】
本出願の第１の側面によると、本出願の根底にある概念は、変換係数ブロック内の有意変換係数の位置を示す有意マップを符号化する高符号化効率が、変換係数ブロック内の関連する位置に対して、それぞれの位置に有意または非有意変換係数が配置されるかどうかを示すシーケンシャルに抽出されたシンタックス要素が、変換係数ブロックの位置のうち変換係数ブロックの位置にシーケンシャルに関連付けされる走査順が、以前に関連付けられたシンタックス要素によって示される有意変換係数の位置に応じる場合に達成できるということである。特に、発明者らは、画像、映像または深度マップコンテンツのような標準的な標本アレイコンテンツにおいて、有意変換係数は、ほとんど、縦方向における非ゼロ周波数か横方向における低い周波数、またはその逆に対応する変換係数ブロックの特定の側で集合を形成し、それにより、以前に関連付けられたシンタックス要素によって示される有意変換係数の位置を考慮することによって、それまでに関連付けられたシンタックス要素によって示される有意変換係数の位置とは独立して走査順が事前決定される手順と比較して、変換係数ブロック内の最後の有意変換係数に早く到達する確率が高くなるように走査のさらなる要因を制御することが可能となることを見出した。これは、小さいブロックに対しても当てはまることであるが、より大きなブロックに対して特に当てはまる。
【００１６】
本出願のひとつの実施態様において、エントロピーデコーダは、現在関連付けられているシンタックス要素によって現在示されている有意変換係数が、変換係数ブロック内の正確な位置とは独立した最後の有意変換係数であるかについて認識することを可能とする情報をデータストリームから抽出するように構成され、ここで、エントロピーデコーダは、現在のシンタックス要素がそのような最後の有意変換係数に関係している場合には、さらなるシンタックス要素を予期しないように構成される。この情報は、そのブロック内の有意変換係数の数を含むことができる。代替的に、第２のシンタックス要素が第１のシンタックス要素とインターリーブされ、ここで第２のシンタックス要素は、有意変換係数が配置される関連付けられた位置について、変換係数ブロックにおける最後の変換係数も同じであるか否かについて示すものである。
【００１７】
ひとつの実施態様において、アソシエータは、変換係数ブロック内の所定の位置では、単に、それまで示された有意変換係数の位置に応じた走査順を適用する。たとえば、変換係数ブロック内の位置の互いに分離されたサブセットを横断するいくつかのサブ経路は、第１の方向に沿う最小周波数および他の方向に沿う最大周波数にそれぞれ対応する変換係数ブロックの一対の辺から、第２の方向に沿うゼロ周波数および第１の方向に沿う最大周波数にそれぞれ対応する変換係数ブロックの反対側の対の辺まで、実質的に対角状に延びる。この場合、アソシエータは、サブ経路がサブ経路間で変換係数ブロック内のサブ経路のＤＣ位置までの距離が単調増加するような順序で横断され、各サブ経路が進行方向に沿って割り込みなく横断され、各サブ経路に対して、前のサブ経路中に横断された有意変換係数の位置に応じて、サブ経路が横断される方向がアソシエータによって選択されるように、走査順を選択するように構成される。この方策によって、最後の有意変換係数が配置される最後のサブ経路が、最後の有意変換係数がこの最後のサブ経路のその後半よりも前半に在る確度が高くなるような方向で横断される確率が増加し、それにより、有意または非有意変換係数がそれぞれの位置に配置されるかどうかを示すシンタックス要素の数を減らすことができる。この効果は、大きな変換係数ブロックの場合に特に意味がある。
【００１８】
本出願のさらなる側面によると、本出願は、先行するシンタックス要素のいずれかによって有意であるとして示されたそれぞれのシンタックス要素の近隣部における多数の有意変換係数に応じて、シンタックス要素の各々に対して個々に選択されるコンテキストを用いて、それぞれの位置に有意または非有意変換係数が配置されるかどうかを示す前述のシンタックス要素が、変換係数ブロック内の関連付けられた位置に対してコンテキスト適応的にエントロピー復号される場合に、変換係数ブロック内の有意変換係数の位置を示す有意マップがより効率的に符号化できるという見識に基づく。特に、発明者らは、増加するサイズの変換係数ブロックであれば、有意変換係数は変換係数ブロック内の所定のエリアにある程度集合され、それにより、それまでに所定の走査順で横断された有意変換係数の数に感度を持つだけでなく有意変換係数の近隣部を考慮するコンテキスト適応が、コンテキストのより良い適合をもたらし、それゆえエントロピー符号化の符号化効率を増加させるということを見出した。
【００１９】
もちろん、上記に概説した側面の双方は、望ましい手法で組み合わせることができる。
【００２０】
また、本出願のさらなる側面によると、本出願は、変換係数ブロック内の有意変換係数の位置を示す有意マップが、変換係数ブロック内の有意変換係数の実際の値の符号化に先行する場合で、かつ有意変換係数の値のシーケンスを有意変換係数の位置にシーケンシャルに関連付けるのに用いられる変換係数の位置間の所定の走査順が、補助的に係数走査順でサブブロック内の変換係数の位置を走査しながらサブブロック間でサブブロック走査順を用いてサブブロックで変換係数ブロックを走査する場合、および多数のコンテキストからなる複数の集合から選択された集合が、有意変換係数値の値、サブブロック走査順で既に通過している変換係数ブロックのサブブロック内の変換係数の値に依存して選択された集合の選択、または以前に復号された変換係数ブロックにおいて共に位置するサブブロックの変換係数の値、をシーケンシャルにコンテキスト適応エントロピー復号するために用いられる場合に、変換係数ブロックの符号化についての符号化効率を向上することができるという見識に基づく。このようにして、コンテキスト適応は、変換係数ブロック内の所定のエリアに集められる有意変換係数の上記概説した特性に、非常に適切なものとなる。言い換えると、値は、サブブロック内で、サブブロック統計に基づいて選択されたコンテキストで走査される。
【００２１】
再度になるが、最後の側面も、本出願の前に特定した側面のいずれかに、または両方の側面に組み合わされることができる。
【００２２】
本出願の好ましい実施の形態が図面を参照して以下に説明される。
【図面の簡単な説明】
【００２３】
【図１】ひとつの実施の形態によるエンコーダのブロック図を示す。
【図２Ａ】画像などの標本アレイのブロックへの細分化を概略的に示す。
【図２Ｂ】ブロックへの別の細分化を概略的に示す。
【図２Ｃ】ブロックへの別の細分化を概略的に示す。
【図３】ひとつの実施の形態によるデコーダのブロック図を示す。
【図４】本出願のひとつの実施の形態によるエンコーダのブロック図をより詳細に示す。
【図５】本出願のひとつの実施の形態によるデコーダのブロック図をより詳細に示す。
【図６】ブロックの空間ドメインからスペクトルドメインへの変換を概略的に示す。
【図７】ひとつの実施の形態による変換係数ブロックの有意マップおよび有意変換係数を復号化するための装置のブロック図を示す。
【図８】走査順のサブ経路および異なる横断方向への小分けを概略的に示す。
【図９】ひとつの実施の形態による変換ブロック内のある走査位置に対する近隣定義を概略的に示す。
【図１０】変換ブロックの境界にある変換ブロック内の走査位置についての可能な近隣定義を概略的に示す。
【図１１】本出願のさらなる実施の形態による変換ブロックの可能な走査を示す。
【発明を実施するための形態】
【００２４】
図の説明中において、いくつかの図に登場する要素は、それらの図の各々において同じ参照符号で示され、不要な反復を避けるために、機能が関心事となる限りはそれらの要素の繰返しの説明は回避される。しかしながら、１つの図面に関して与えられた機能および説明は、明示の断りがない限りは他の図面にも適用されるものとする。
【００２５】
図１は、本出願の諸側面が実施されるエンコーダ１０の一例を示す。エンコーダは、一連の情報標本の配列（以下「標本アレイ」という）２０をデータストリームに符号化する。一連の情報標本とは、空間的にサンプリングされたあらゆる種類の情報信号を意味する。たとえば、標本アレイ２０を、静止画像または映像を構成する画像とすることができる。。この場合、情報標本は、ブライトネス値（ｂｒｉｇｈｔｎｅｓｓ  ｖａｌｕｅ）、色値（ｃｏｌｏｒ  ｖａｌｕｅ）、輝度値（ｌｕｍａ  ｖａｌｕｅ）、クロマ値（ｃｈｒｏｍａ  ｖａｌｕｅ）などである。情報標本はまた、標本アレイ２０がたとえば発光時間センサなどによって生成された深度マップである場合には、深度値であってもよい。
【００２６】
エンコーダ１０は、ブロックベースのエンコーダである。すなわち、エンコーダ１０は、標本アレイ２０をブロック４０単位でデータストリーム３０に符号化する。ブロック４０単位の符号化は、必ずしも、エンコーダ１０がこれらのブロック４０を完全に互いに独立して符号化することを意味するものではない。逆に、エンコーダ１０は、残りのブロックを外挿またはイントラ予測するために以前に符号化されたブロックを再構築したものを用いてもよいし、符号化パラメータを設定するための、すなわち、それぞれのブロックに対応する各標本アレイ領域が符号化される手法を設定するための、ブロックの粒度（ｇｒａｎｕｌａｒｉｔｙ）を用いてもよい。
【００２７】
また、エンコーダ１０は、変換符号器である。すなわち、エンコーダ１０は、各ブロック４０内の情報標本を空間ドメインからスペクトルドメインに移すための変換を用いることによって、ブロック４０を符号化する。ＦＦＴのＤＣＴなどのような二次元変換が用いられる。好ましくは、ブロック４０は、正方形または長方形である。
【００２８】
図１に示す標本アレイ２０のブロック４０への細分化は、単に説明の目的を担うだけのものである。図１は、相互に重ならないように隣接する正方形または長方形のブロック４０の規則的な二次元配置に細分化された標本アレイ２０を示す。ブロック４０のサイズは、あらかじめ定めておくことができる。その場合、エンコーダ１０は、データストリーム３０内のブロック４０のブロックサイズについての情報を、復号側に転送しなくてもよい。たとえば、デコーダは、そのあらかじめ定められたブロックサイズを、予期することができる。
【００２９】
一方、いくつかの代替例が可能である。たとえば、ブロックは相互にオーバーラップしてもよい。しかし、その重なりは、各ブロックがいずれの隣接ブロックにも重ならない部分を有するように、または、ブロックの各標本が、所定の方向に沿って現在のブロックに並置して配される隣接ブロックの中で、最大でも１ブロックにしか重ならないように、制限される。後者は、左右の隣接ブロックが、現在のブロックを完全に覆うように重なることができるが、隣接ブロック自体は互いに重ならないことを意味する。同じことが、縦方向および対角方向での隣接についても当てはまる。
【００３０】
さらなる代替例として、標本アレイ２０のブロック４０への細分化をエンーダ１０により標本アレイ２０のコンテンツに適用し、細分化で使用された細分化情報をビットストリーム３０経由でデコーダ側に転送することもできる。
【００３１】
図２ａから２ｃは、標本アレイ２０のブロック４０への細分化についての異なる例を示す。図２ａは、異なるサイズのブロック４０への標本アレイ２０の四分木ベースの細分化を示し、ここでは、サイズが大きくなる順に４０ａ、４０ｂ、４０ｃおよび４０ｄによって、代表的なブロックを示している。図２ａの細分化によると、標本アレイ２０は、最初に、ツリーブロック４０ｄの規則的な二次元配置に分割される。これらのツリーブロック４０ｄは、それに関連付けられて、あるツリーブロック４０ｄが、四分木構造に従ってさらに細分化されるか否かに関する個別の細分化情報を有する。ブロック４０ｄの左側のツリーブロックは、例示的に、四分木構造に従って、より小さいブロックに細分化されている。エンコーダ１０は、図２ａにおいて実線および破線で示したブロックの各々について、１つの二次元変換を実行することができる。言い換えると、エンコーダ１０は、ブロック細分化の単位でアレイ２０を変換することができる。
【００３２】
四分木ベースの細分化の代わりに、より一般的な複分木ベースの細分化を用いてもよく、階層レベルあたりの子ノードの数は、異なる階層レベル間で異なっていてもよい。
【００３３】
図２ｂは、細分化についての他の例を示す。図２ｂによると、標本アレイ２０は、最初に、互いに重ならずに隣接する規則的な二次元配置のマクロブロック４０ｂに分割される。ここで、各マイクロブロック４０ｂには細分化情報が関連付けられ、この細分化情報により、マイクロブロックは、細分化されないか、あるいは、細分化される場合には、異なるマイクロブロックに対して異なる細分化粒度（ｓｕｂ−ｄｉｖｉｓｉｏｎ  ｇｒａｎｕｌａｒｉｔｉｅｓ）が達成されるように、規則的な二次元配に同じサイズのサブブロックに細分化される。この結果は、標本アレイ２０の異なるサイズのブロック４０への細分化となり、異なるサイズの代表例が、４０ａ、４０ｂおよび４０ａ’で示されている。図２ａに示されているように、エンコーダ１０は、図２ｂに実線および破線で示すブロックの各々に二次元変換を実行する。図２ｃについては後述する。
【００３４】
図３は、エンコーダ１０によって生成されたデータストリーム３０を復号して標本アレイ２０の再構成バージョン６０を再構成することができるデコーダ５０を示す。デコーダ５０は、データストリーム３０からブロック４０の各々についての変換係数ブロックを抽出し、変換係数ブロックの各々に逆変換を実行することによって、再構成バージョン６０を再構成する。
【００３５】
エンコーダ１０およびデコーダ５０は、変換係数ブロックについての情報を挿入し、およびこの情報をデータストリームから抽出するために、エントロピー符号化／復号をそれぞれ実行するように構成される。これに関する詳細は後述する。なお、データストリーム３０は、必ずしも標本アレイ２０の全てのブロック４０に対して、変換係数ブロックの情報を含んでいなくてもよい。逆に、ブロック４０の部分集合が、他の手法でビットストリーム３０に符号化されてもよい。たとえば、エンコーダ１０は、ブロック４０うちのあるブロックに対して変換係数ブロックを挿入することをやめるように判断し、その代わりに、代替の符号化パラメータをビットストリーム３０内に挿入して、デコーダ５０がそれを予測できるようにするか、さもなければ、再構成バージョン６０内のそれぞれブロックを満たすようにしてもよい。たとえば、エンコーダ１０は、デコーダ側でデコーダによるテクスチャ合成を行って標本アレイ２０が満たされるように、標本アレイ２０内にブロックを配置するためのテクスチャ解析を行い、これをビットストリーム内で適宜示すようにしてもよい。
【００３６】
以降の図面において説明するように、変換係数ブロックは、必ずしも、標本アレイ２０のそれぞれのブロック４０の元の情報標本のスペクトル領域表現を表すものでなくてもよい。逆に、そのような変換係数ブロックは、それぞれのブロック４０の予測残余のスペクトル領域表現を表すものであってもよい。図４はそのようなエンコーダの実施の形態を示す。図４のエンコーダは、変換段１００、エントロピー符号器１０２、逆変換段１０４、予測器１０６、減算器１０８および加算器１１０を備える。減算器１０８、変換段１００およびエントロピー符号器１０２は、この順序で図４のエンコーダの入力１１２と出力１１４の間に直列に接続される。逆変換段１０４、加算器１１０および予測器１０６は、この順序で変換段１００の出力と減算器１０８の反転入力の間に接続され、予測器１０６の出力はまた、加算器１１０の他の入力に接続される。
【００３７】
図４のコーダは、予測変換ベースのブロック符号器である。すなわち、入力１１２に入る標本アレイ２０のブロックが、同じ標本アレイ２０の以前に符号化および再構成された部分から、あるいは、以前に符号化および再構成された他の標本アレイであって、現在の標本アレイ２０に時間内に先行または後続する標本アレイから、予測される。予測は、予測器１０６によって実行される。減算器１０８は、そのような元のブロックから予測値を減算し、変換段１００は、予測残余に対して二次元変換を実行する。変換段１００内での二次元変換そのものまたは後続の処理が、変換係数ブロック内の変換係数の量子化を導く。量子化された変換係数ブロックは、たとえば、結果であるデータストリームが出力１１４で出力されるようにして、エントロピーエンコーダ１０２内でエントロピー符号化によって無損失で符号化される。逆変換段１０４は、量子化された残余を再構成し、続いて加算器１００は、予測器１０６が上述した現在の符号化された予測ブロックを予測する基礎となる再構成された情報標本を得るために、再構成された残余を対応する予測と合成する。予測器１０６は、ブロックを予測するためにイントラ予測モードおよびインター予測モードのような異なる予測モードを使用でき、予測パラメータは、データストリームへの挿入のためにエントロピーエンコーダ１０２に転送される。
【００３８】
すなわち、図４の実施の形態によると、変換係数ブロックは、標本アレイの実際の情報標本ではなく、標本アレイの残余のスペクトル表示を表す。
【００３９】
なお、図４の実施の形態にはいくつかの代替例が存在し、そのうちのいくつかは明細書の導入部で記載されたものであり、その記載がここで図４の記載に組み込まれる。たとえば、予測器１０６によって生成された予測は、エントロピー符号化されなくてもよい。逆に、副情報が他の符号化スキームを介して復号側に転送されてもよい。
【００４０】
図５は、図４のエンコーダによって生成されたデータストリームを復号することができるデコーダを示す。図５のデコーダは、エントロピーデコーダ１５０、逆変換段１５２、加算器１５４および予測器１５６を備える。エントロピーデコーダ１５０、逆変換段１５２および加算器１５４は、この順で図５のデコーダの入力１５８と出力１６０の間に直列に接続される。エントロピーデコーダ１５０の他の出力が予測器１５６に接続され、次に予測器１５６は、加算器１５４の出力と他の入力との間に接続される。エントロピーデコーダ１５０は、入力１５８で図５のデコーダに入るデータストリームから変換係数ブロックを抽出し、ここで、残余信号を取得するために、段１５２において変換係数ブロックに逆変換が適用される。残余信号は、出力１６０において標本アレイの再構成バージョンの再構成ブロックを取得するように、予測器１５６からの予測と加算器１５４において合成される。再構成バージョンに基づいて予測器１５６が予測を生成し、それにより、エンコーダ側の予測器１０６によって実行された予測を再構築する。エンコーダ側で使用されたのと同じ予測値を取得するために予測器１５６は予測パラメータを用いるが、この予測パラメータは、エントロピーデコーダ１５０が入力１５８のデータストリームから取得する。
【００４１】
なお、上記の実施の形態において、残余の予測および変換が実行される空間的粒度は相互に等しくなくてもよい。これは図２Ｃに示される。同図は、予測粒度の予測ブロックに対する細分化を実線で、残余粒度を破線で示している。図から分かるように、細分化は、相互に独立したエンコーダによって選択される。より厳密には、データストリームのシンタックスは、予測細分化から独立した残余細分化の定義を可能とする。代替的に、残余細分化が予測細分化の拡張であり、各残余ブロックが予測ブロックと等しいか、またはその適切なサブセットとなってもよい。これは、たとえば図２ａおよび図２ｂに示される。ここでも、予測粒度は実線で示され、残余粒度は破線で示されている。これについて、図２ａ−２ｃでは、破線ブロック４０ａを包含する大きい実線ブロックが、たとえば、予測パラメータ設定が個々に実行される予測ブロックとなる一方で、対応付けられた基準符号を有する全てのブロックが、１つの二次元変換が実行される残余ブロックとなる。
【００４２】
上述の実施の形態は、（残余または元の）標本のブロックが、エンコーダ側で変換係数ブロックに変換され、その変換係数ブロックが、デコーダ側で標本の再構成ブロックに逆変換される、という点で共通する。これは、図６に示される。図６は標本２００のブロックを示す。図６の場合、このブロック２００は、例示的に、二次元でサイズが４×４の標本２０２である。標本２０２は、横方向ｘおよび縦方向ｙに沿って、規則的に配置されている。上述の二次元変換Ｔによって、ブロック２００は、スペクトルドメインすなわち変換係数２０６のブロック２０４に変換される。ここで、変換ブロック２０４は、ブロック２００と同じサイズである。すなわち、変換ブロック２０４は、横方向および縦方向の双方において、ブロック２００が有する標本の数と同数の変換係数２０６を有する。しかし、変換Ｔはスペクトル変換であるので、変換ブロック２０４内の変換係数２０６の位置は、ブロック２００のコンテンツの空間位置ではなく、スペクトル成分に対応する。特に、変換ブロック２０４の横軸は、それに沿って横方向のスペクトル周波数が単調増加する軸に対応し、縦軸は、それに沿って縦方向の空間周波数が単調増加する軸に対応し、横方向および縦方向双方での最も高い周波数に対応する変換係数２０６が最下段右側角に位置するように、ＤＣ成分変換係数はブロック２０４の角、ここでは例示的に最上段左角、に位置する。空間方向を無視すれば、所定の変換係数２０６が属する空間周波数は、概して最上段左角から最下段右側角に増加する。逆変換Ｔ−１によって、変換ブロック２０４は、ブロック２００の複製２０８を再取得するようにスペクトルドメインから空間ドメインに再転送される。変換中に量子化／損失がもたらされない場合には、再構成は完全なものとなる。
【００４３】
既に上述したように、ブロック２００のブロックサイズが大きくなると、結果であるスペクトル表示２０４のスペクトル解像度は増加することが、図６からわかる。一方、量子化ノイズは、ブロック２０８全体にわたって拡がる傾向にあり、このため、ブロック２００内の急激かつ非常に局所化したオブジェクトは、量子化ノイズに起因して、元のブロック２００と対比して、再変換ブロックに偏差をもたらす傾向がある。一方、より大きなブロックを用いることの主な有利な効果は、小さなブロックに比べて大きなブロック内では、有意、すなわち、非ゼロ（量子化された）変換係数の数と非有意変換係数の数の比が低減され、それにより、より良い符号化効率が可能となることである。言い換えると、往々にして、有意変換係数、すなわち、ゼロに量子化されていない変換係数は、変換ブロック２０４にわたって疎らに分散される。これに起因して、以降にさらに詳細に記載される実施の形態によると、有意変換係数の位置は、有意マップによって、データストリーム内にシグナリングされる。これとは別に、変換係数が量子化される場合には、有意変換係数の値、すなわち変換係数レベルが、データストリーム内で送信される。
【００４４】
したがって、本出願の実施の形態によると、データストリームからのそのような有意マップを復号するための、またはデータストリームからの対応する有意変換係数値に沿う有意マップを復号するための装置は、図７に示すように実施され、上述のエントロピーデコーダ、すなわちデコーダ５０およびエントロピーデコーダ１５０の各々は、図７に示す装置を構成する。
【００４５】
図７の装置は、マップ／係数エントロピーデコーダ２５０およびアソシエータ２５２を備える。マップ／係数エントロピーデコーダ２５０は入力２５４に接続され、この入力２５４に、有意マップおよび有意変換係数値を表すシンタックス要素が入力される。以下により詳しく記載するように、有意マップおよび有意変換係数値を記述するシンタックス要素がマップ／係数エントロピーデコーダ２５０に入力される順序に関して、異なる確率が存在する。有意マップシンタックス要素は対応するレベルに先行してよく、双方がインターリーブされてもよい。ただし、有意マップを表すシンタックス要素が有意変換係数の値（レベル）に先行し、マップ／係数エントロピーデコーダ２５０がまず有意マップを、そして有意変換係数の変換係数レベルを復号するものとする。
【００４６】
マップ／係数エントロピーデコーダ２５０が有意マップおよび有意変換係数値を表すシンタックス要素をシーケンシャルに復号するのに伴い、アソシエータ２５２は、これらのシーケンシャルに復号されたシンタックス要素／値を、変換ブロック２５６内の位置に関連付けるように構成される。有意マップおよび有意変換係数のレベルを表すシーケンシャルに復号化されたシンタックス要素をアソシエータ２５２が変換ブロック２５６の各位置に関連付ける走査順は、変換ブロック２５６の各位置の間で、これらの要素をデータストリームに導入するために符号化側で使用される順序と同一の一次元の走査順に従う。また、以下により詳しく概説されるように、有意マップのシンタックス要素についての走査順は、有意変換値について用いられる順序と等しくてもよいし、そうでなくてもよい。
【００４７】
マップ／係数エントロピーデコーダ２５０は、破線２５８によって示すように、現在復号されるべきシンタックス要素／レベルをエントロピー復号するための確率推定コンテキストを設定するために、現在復号されるべきシンタックス要素／レベルまでアソシエータ２５２によって生成された、その時点での利用可能な変換ブロック２５６についての情報を利用することができる。たとえば、アソシエータ２５２は、レベル自体、またはそれぞれの位置で有意変換係数が配されているか否か、もしくは変換ブロック２５６のそれぞれの位置について何も知得していないかについての情報といったようなシーケンシャルに関連付けられたシンタックス要素からそれまでに収集された情報を記憶（ログ）し、マップ／係数エントロピーデコーダ２５０がこのメモリにアクセスするようにしてもよい。メモリは図７に示されていないが、アソシエータ２５２およびエントロピーデコーダ２５０によってそれまで取得された事前情報を記憶するためにメモリまたはログバッファが存在することから、参照符号２５６が、このメモリをも示しているとすることができる。したがって、図７は、×印により、有意マップを表現する以前に復号されたシンタックス要素から取得される有意変換係数を示し、「１」は、それぞれの位置での有意変換係数の有意変換係数レベルが既に復号されており、それが１であることを示す。有意マップシンタックス要素がデータストリーム内で有意値に先行する場合には、それぞれの値を復号して「１」を記録する前に、メモリ２５６の「１」の位置には×印（有意変換係数）が記録されている（この状況は、有意マップ全体を表現していることになる）。
【００４８】
以降の説明は、変換係数ブロックまたは有意マップを符号化するための具体的な実施の形態に集中するが、それらの実施の形態は、上述の実施の形態に容易に移行できる。これらの実施の形態において、バイナリシンタックス要素ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇが各変換ブロックに送信され、その変換ブロックが有意変換係数レベル（すなわち、非ゼロである変換係数）を含むか否かを示す。このシンタックス要素が、有意変換係数レベルが存在することを示す場合には、有意マップが符号化される。すなわち、有意変換係数レベルが存在する場合だけ、符号化が行われる。有意マップは、上記のように、どの変換係数レベルが非ゼロ値を有するかを特定する。有意マップ符号化は、バイナリシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇの符号化を含み、各バイナリシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇは、それぞれ関連付けられた係数位置について、対応する変換系係数レベルがゼロに等しくないかどうかを特定する。符号化は、ある走査順で実行され、この走査順は、有意マップ符号化中に、それまで有意と識別された有意係数の位置に依存して変化することができる。これについては以下でさらに詳しく説明する。さらに、有意マップ符号化は、バイナリシンタックス要素ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇの符号化を含む。このバイナリシンタッンクス要素は、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇのシーケンスとともにその位置に分散されており、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇは、有意係数をシグナリングする。ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇビンが１に等しい場合、すなわち、非ゼロ変換係数レベルがこの走査位置に存在する場合には、さらなるバイナリシンタックス要素ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが符号化される。このビンは、現在の有意変換係数レベルが、ブロック内の最後の有意変換係数レベルであるか、またはさらなる有意変換係数レベルが走査順に従うかを示す。ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇが、さらなる有意変換係数が続かないことを示す場合、そのブロックについての有意マップを特定するためには、さらなるシンタックス要素は符号化されない。代替的に、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇのシーケンスの符号化の前に、有意係数位置の数がデータストリーム内にシグナリングされてもよい。次のステップでは、有意変換係数レベルの値が符号化される。上述のように、代替的に、レベルの送信が、有意マップの送信とインターリーブされてもよい。有意変換係数レベルの値は、以下に例示されるさらなる走査順で符号化される。以下の３個のシンタックス要素が使用される。バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅは、有意変換係数レベルの絶対値が１より大きいかを示す。バイナリシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅが、絶対値が１より大きいことを示す場合、変換係数レベル引く１の絶対値を特定するさらなるシンタックス要素ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅが送られる。最後に、変換係数値の符号を特定するバイナリシンタックス要素ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇが、各有意変換係数レベルに対して符号化される。
【００４９】
以下に記載する実施の形態は、ビットレートをさらに低減し、これにより符号化効率を高めることを可能とする。そのようにするために、これらの実施の形態は、変換係数に関係するシンタックス要素に対するコンテキストモデリングについての特定のアプローチを用いる。特に、シンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅに対する新たなコンテキストモデル選択が使用される。またさらに、有意マップ（非ゼロ変換係数レベルの位置を特定する）の符号化／復号化中の走査の適応的な切り替えを説明する。言及されるべきシンタックス要素の意味に関しては、本出願の上述の導入部を参照する。
【００５０】
有意マップを特定するｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇシンタックス要素の符号化が、適応的走査および既に符号化された走査位置の限定された近隣に基づく新たなコンテキストモデリングによって改善される。これらの新たな概念によって、特に大きなブロックサイズに対して、有意マップのより効率的な符号化（すなわち、対応するビットレートの低減）がもたらされる。
【００５１】
以下に概説される実施の形態の１つの側面は、走査順（すなわち、変換係数値のブロックの、変換係数値の順序集合（ベクトル）へのマッピング）が、有意マップについて既に符号化／復号化されたシンタックス要素の値に基づいて、有意マップの符号化／復号化中に適合させられることである。
【００５２】
望ましい実施の形態では、走査順は２以上の所定の走査パターン間で適応的に切り替えられる。望ましい実施の形態では、切り替えはある所定の走査位置でのみ行われる。本発明のさらに望ましい実施の形態では、走査順は所定の２つの所定の走査パターン間で適用的に切り替えられる。望ましい実施の形態では、２つの所定の走査パターン間での切り替えは、ある所定の走査位置でのみ行われる。
【００５３】
走査パターンの切り替えの利点はビットレートの低減であり、これは、符号化されたシンタックス要素の数が少なくなる結果である。直観的な例として、図６を参照すると、大きな変換ブロックに対して特に、特有意変換係数値がブロック境界２７０，２７２のひとつに集中することがよくある。その理由は、残留ブロックが、主に水平または垂直構造を含むからでする。最もよく用いられるジグザグ走査２７４では、最後の有意係数に遭遇するジグザグ走査の最後の対角副走査が有意係数の集中していない側から始まる確率が、約０．５存在する。その場合、ゼロに等しい変換係数レベルに対する多数のシンタックス要素が、最後の非ゼロ変換係数値に達する前に符号化されなければならない。これは、対角副走査が常に有意変換係数レベルが集中する側で開始されるなら、回避できる。
【００５４】
本発明の望ましい実施の形態について、以下にさらに詳しく説明する。
【００５５】
上述したように、大きなブロックサイズに対しても、コンテキストモデルの早い適応を可能とし、かつ高い符号化効率をもたらすために、コンテキストモデルの数を適度に小さく維持することが好ましい。したがって、特定のコンテキストが２以上の走査位置について使用されるべきである。しかし、有意変換係数レベルは、通常は変換ブロックのあるエリアに集中するので（この集中は、通常は、たとえば残余のブロックに存在する或る支配的な構造の結果である）、Ｈ．２６４における８×８ブロックに対して行われるような同じコンテキストを多数の連続走査位置に割り当てる概念は、通常は適切ではない。コンテキスト選択を設計するために、有意変換係数レベルは変換ブロックの所定エリアに集中することが多いという上記の考察を用いることができる。以降において、この考察が利用され得る概念を説明する。
【００５６】
望ましいひとつの実施の形態では、大きい変換ブロック（たとえば、８×８よりも大きいもの）が多数の長方形のサブブロックに（たとえば、１６個のサブブロックに）区分けされ、これらサブブロックの各々が、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよびｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇを符号化するために、個別のコンテキストモデルに関連付けられる（ここでは、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇとｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇに、異なるコンテキストモデルが使用される）。サブブロックへの区分けは、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇとｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇに対して異なっていてもよい。特定のサブブロックに位置する全ての走査位置に対して、同じコンテキストモデルが使用されてもよい。
【００５７】
さらなる望ましい実施の形態では、大きい変換ブロック（たとえば、８×８よりも大きいもの）が、多数の長方形および／または非長方形のサブ領域に区分けされ、これらサブ領域の各々が、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよび／またはｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇを符号化するために、個別のコンテキストモデルに関連付けられる。サブ領域への区分けは、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇとｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇに対して異なっていてもよい。特定のサブ領域に位置する全ての走査位置に対して、同じコンテキストモデルが使用される。
【００５８】
さらなる望ましい実施の形態では、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよび／またはｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇを符号化するためのコンテキストモデルが、現在の走査位置の所定の空間的近隣の、既に符号化されたシンボルに基づいて選択される。所定の近隣は、異なる走査位置に対しては異なっていてもよい。望ましい実施の形態では、コンテキストモデルは、現在の走査位置の所定の空間的近隣における有意変換係数レベルの数に基づいて選択され、ここでは、既に符号化された有意表示のみが計数される。
【００５９】
本発明の望ましい実施の形態について、さらなる詳細を以下に説明する。
【００６０】
上述したように、大きいブロックサイズに対して、従来のコンテキストモデリングは、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅのシンタックス要素に対して、単一のコンテキストモデルで（通常は異なる確率を持つ）、多数のビンを符号化する。大きいブロックサイズについてのこの欠点を回避するために、実施の形態によると、大きいブロックが、小さい特定のサイズの正方形または長方形のサブブロックに分割され、各サブブロックに対して個別のコンテキストモデリングが適用される。さらに、複数の組のコンテキストモデルが使用されてもよく、ここでは、これらのコンテキストモデルの集合の１つが、以前に符号化されたサブブロックの統計の解析に基づいて、各サブブロックに対して選択される。本発明の望ましい実施の形態において、同じブロックのうち以前に符号化されたサブブロックにおける２よりも大きい変換係数（すなわち、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿１＞１）の数が、現在のサブブロックに対するコンテキストモデルの集合を導き出すために用いられる。ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅのシンタックス要素のコンテキストモデリングのこれらの拡張によって、特に大きいブロックサイズに対して、より効率的な両シンタックス要素の符号化がもたらされる。望ましい実施の形態では、サブブロックのブロックサイズは２×２である。他の望ましい実施の形態では、サブブロックのブロックサイズは４×４である。
【００６１】
最初のステップにおいて、所定のサイズよりも大きいブロックが、特定のサイズの小さいサブブロックに分割される。絶対変換係数レベルの符号化処理は、正方形または長方形のブロックであるサブブロックを、走査を用いて、サブブロックの順序集合（ベクトル）にマッピングする。ここで、異なるブロックに対して異なる走査を使用することができる。望ましい実施の形態では、サブブロックはジグザグ走査を用いて処理され、サブブロック内の変換係数レベルは逆ジグザグ走査、すなわち垂直および水平方向で最も高い周波数に属する変換係数から両方の方向において最も低い周波数に関係する係数への走査読み込みで処理される。本発明の他の望ましい実施の形態では、サブブロックの符号化のため、およびサブブロック内の変換係数レベルの符号化のために、逆ジグザグ走査が用いられる。本発明の他の望ましい実施の形態では、有意マップを符号化するために使用されたのと同じ適応的走査（上記参照）が、変換係数レベルのブロック全体を処理するために使用される。
【００６２】
大きい変換ブロックのサブブロックへの分割は、大きい変換ブロックのビンのほとんどに対して、たった１つのコンテキストモデルしか用いないことの問題を回避する。サブブロック内では、（Ｈ．２６４で規定される）最新のコンテキストモデリングまたは固定のコンテキストが、サブブロックの実際のサイズに応じて使用される。さらに、そのようなサブブロックについての統計（確率モデリングでいうところの）は、同じサイズの変換ブロックの統計と異なる。この特性は、コンテキストモデルの集合を拡張することで、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅのシンタックス要素に利用することができる。複数集合のコンテキストモデルを準備し、各サブブロックに対して、これらのコンテキストモデルの集合の１つが、現在の変換ブロックまたは以前に符号化された変換ブロックにおける以前に符号化されたサブブロックの統計に基づいて選択されてもよい。本発明の望ましい実施の形態では、コンテキストモデルの選択された集合は、同じブロックにおいて以前に符号化されたサブブロックの統計に基づいて引き出される。本発明の他の望ましい実施の形態では、コンテキストモデルの選択された集合は、以前に符号化されたブロックの同じサブブロックの統計に基づいて引き出される。望ましい実施の形態では、コンテキストモデルの集合の数は４に等しくなるように設定され、他の望ましい実施の形態では、コンテキストモデルの集合の数は１６に等しくなるように設定される。望ましい実施の形態では、コンテキストモデルの集合を求めるために使用される統計は、以前に符号化されたサブブロックにおいて２よりも大きい絶対変換係数レベルの数である。他の望ましい実施の形態では、コンテキストモデルの集合を求めるために使用される統計は、２より大きい絶対値の、有意係数の数と変換係数レベルの数の差分である。
【００６３】
有意マップの符号化は、以下に概説されるように、すなわち走査順の適応的切り替えによって、実行される。
【００６４】
望ましい実施の形態では、有意マップを符号化するための走査順は、２つの所定の走査パターン間の切り替えによって適応される。走査パターン間の切り替えは、ある所定の走査位置において行われるだけである。走査パターンが切り替えられるか否かの判断は、既に符号化／復号化された有意マップシンタックス要素の値に依存する。望ましい実施の形態では、所定の走査パターンの双方が、ジグザグ走査の走査パターンと同様の対角副走査を伴う走査パターンとなる。走査パターンを図８に示す。走査パターン３００および３０２の双方が、最下段左から最上段右へ、またはその逆の対角線についての多数の対角副走査からなる。対角副走査（図示せず）における走査は、所定の走査パターンの双方に対して、最上段左から最下段右へ行われる。しかし、対角副走査内の走査は異なる（図に示すとおり）。第１の走査パターン３００については、対角副走査は最下段左から最上段右へ走査され（図８の左図）、第２の走査パターン３０２については、対角副走査は最上段右から最下段左へ走査される（図８の右図）。ひとつの実施の形態では、有意マップの符号化は、第２の走査パターンで始まる。シンタックス要素を符号化／復号する間、有意変換係数値の数は、２つのカウンタｃ１およびｃ２によって計数される。第１のカウンタｃ１は、変換ブロックの最下段左部分に位置する有意変換係数の数を計数する。すなわち、この第１のカウンタｃ１は、変換ブロック内の水平座標ｘが垂直座標ｙよりも小さくなる有意変換係数レベルが符号化／復号されるときに、１だけ増分される。第２のカウンタｃ２は、変換ブロックの最上段右部分に位置する有意変換係数の数を計数する。すなわち、この第２のカウンタｃ２は、変換ブロック内の水平座標ｘが垂直座標ｙよりも大きくなる有意変換係数レベルが符号化／復号化されるときに、１だけ増分される。カウンタの適合は図７のアソシエータ２５２によって行うことができ、以下の式によって説明できる。ここで、ｔは走査位置インデックスを表し、双方のカウンタはゼロで初期化される。
【数３】
0005911027.tif 000004
【数４】
0005911027.tif 000005
【００６５】
各対角副走査の終りにおいて、第１および第２の所定の走査パターン３００，３０２のどちらが次の対角副走査に使用されるのかが、アソシエータ２５２によって決定される。この判断は、カウンタｃ１およびｃ２の値に基づいている。変換ブロックの最下段左部分に対する計数値が最下段左部分の計数値よりも大きい場合、最下段左から最上段右への対角副走査を行う走査パターンが使用され、それ以外の場合（変換ブロックの最下段左部分に対する計数値が最下段左部分の計数値以下の場合）、最上段右から最下段左への対角副走査を行う走査パターンが使用される。この判断は、以下の式によって表される。
【数５】
0005911027.tif 000006
【００６６】
上述した本発明の実施の形態は、他の走査パターンにも容易に適用できる。一例として、Ｈ．２６４でフィールドマクロブロックに使用される走査パターンが、副走査に分解される。さらに望ましい実施の形態において、与えられた任意の走査パターンが、副走査に分割れる。副走査の各々について、２つの走査パターンが、（基本走査方向として）最下段左から最上段右へのもの、および最上段右から最下段左へのもので定義される。さらに、副走査内の（変換ブロックの最下段左境界に近い）第１の部分および（変換ブロックの最上段右境界に近い）第２の部分における有意係数の数を計数する２つのカウンタが導入される。最後に、各副走査の終りに（カウンタの値に基づいて）、次の副走査が最下段左から最上段右へ走査されるのか、最上段右から最下段左へ走査されるのかが判断される。
【００６７】
次に、どのようにしてエントロピーデコーダ２５０がコンテキストをモデリングするのかについての実施の形態を説明する。
【００６８】
ひとつの望ましい実施の形態では、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇについてのコンテキストモデリングが、以下のように行われる。４×４のブロックに対して、コンテキストモデリングは、Ｈ．２６４に規定されているように行われる。８×８のブロックに対しては、変換ブロックは１６個の２×２の標本のサブブロックに分離され、これらサブブロックの各々が、個別のコンテキストに関連付けられる。なお、この概念は、上述のように、より大きなブロックサイズ、異なるサブブロック数、および非長方形のサブ領域にも拡張できる。
【００６９】
さらに望ましい実施の形態では、大きい変換ブロックについての（たとえば、８×８よりも大きいブロックについての）コンテキストモデル選択は、（変換ブロック内の）所定の近隣における既に符号化された有意変換係数の数に基づく。本発明の望ましい実施の形態に対応する近隣の定義の一例が図９に示される。×を○で囲ったものは、評価のために常に考慮に入れられる利用可能な近隣であり、×と△のものは、現在の走査位置および現在の走査方向に応じて評価される近隣であり）：
・現在の走査位置が２×２の左角３０４内にある場合、個別のコンテキストモデルが各走査位置に使用され（図９、左図）、
・現在の走査位置が２×２の左角内になく、かつ変換ブロックの第１行または第１列に位置しない場合には、図９の右側に示す近隣が、その周りに何もない現在の走査位置「ｘ」の近隣において有意変換係数の数を評価するために使用され、
・その周りに何もない現在の走査位置「ｘ」が変換ブロックの第１行にあたる場合には、図１０の右図で特定される近隣が使用され、
・現在の走査位置「ｘ」がブロックの第１列にあたる場合には、図１０の左図で特定される近隣が使用される。
【００７０】
言い換えると、デコーダ２５０は、以前に抽出および関連付けられた有意マップシンタックス要素に従って有意変換係数が配置される多数の位置、およびそれぞれの現在の有意マップシンタックス要素が関連付けられる位置（図９の右側および図１０の両側の「ｘ」、および図９の左側の印をつけられた位置のいずれか）の近隣にあるものに制限される位置に応じて、有意マップシンタックス要素の各々について、個々に選択されるコンテキストの使用によってコンテキスト適応的にエントロピー複合化を行うことによって、有意マップシンタックス要素をシーケンシャルに抽出するように構成される。図示するように、現在のシンタックス要素のそれぞれが関連付けられる位置の近隣は、垂直方向における位置および／または水平方向における位置において最大で、単に、直接的に隣接する位置、またはそれぞれの有意マップシンタックス要素が関連付けられる位置から分離された位置、のいずれかの位置からなる。代替的に、それぞれの現在のシンタックス要素に直接隣接する位置が単に考慮される。結果として、変換係数ブロックのサイズは８×８以上の位置となる。
【００７１】
望ましい実施の形態では、特定のｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇを符号化するために使用されるコンテキストモデルは、定義される近隣において既に符号化された有意変換係数レベルの数に応じて選択される。ここで、利用可能なコンテキストモデルの数は、定義された近隣における有意変換係数レベルの数の可能な値よりも小さくなることができる。エンコーダおよびデコーダは、定義された近隣における有意変換係数レベルの数をコンテキストモデルのインデックスにマッピングするためのテーブル（または異なるマッピングメカニズム）を含むことができる。
【００７２】
さらなる望ましい実施の形態では、選択されたコンテキストモデルのインデックスが、定義された近隣における有意変換係数レベルの数に、または使用された近隣のタイプまたは走査位置または走査位置の量子化された値などの１以上の追加のパラメータに依存する。
【００７３】
ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇの符号化について、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇに対するものと同様のコンテキストモデリングが使用できる。一方、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇに対する確率測定は、主に、現在の走査位置の変換ブロックの最上段左角に対する距離に依存する。望ましい実施の形態では、ｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇの符号化に対するコンテキストモデルは、現在の走査位置がある走査対角に基づいて選択される（すなわち、図８の上記実施の形態の場合、ｘおよびｙをそれぞれ変換ブロック内の走査位置の横位置および縦位置として、ｘ＋ｙに基づいて、または現在の副走査と上左ＤＣとの間に（副走査インデックス引く１のような）幾つの副走査が位置するかに基づいて選択される）。本発明の望ましい実施の形態では、異なる値のｘ°＋°ｙに対して同じコンテキストが用いられる。距離測定、すなわち、ｘ＋ｙまたは副走査インデックスは、所定のやり方で（たとえば、ｘ°＋°ｙまたはサブサンインデックスを量子化することによって）コンテキストモデルのセット上にマッピングされ、ここで、距離測定に対する可能な値の数はｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇを符号化するための利用可能なコンテキストモデルの数よりも大きい。
【００７４】
望ましい実施の形態では、異なるサイズの変換ブロックに対して異なるコンテキストモデリング手法が用いられる。
【００７５】
以下に、絶対変換係数レベルの符号化を説明する。
【００７６】
ひとつの望ましい実施の形態では、サブブロックのサイズが２×２であり、サブブロック内のコンテキストモデリングは無効化される。すなわち、２×２のサブブロック内の全ての変換係数に対して、１つの単一のコンテキストモデルが使用される。２×２よりも大きいブロックのみが、細分化処理の影響を受ける。本発明のさらなる望ましい実施の形態では、サブブロックのサイズは４×４であり、サブブロック内のコンテキストモデリングはＨ．２６４におけるように行われ、４×４よりも大きいブロックのみが細分化処理の影響を受ける。
【００７７】
走査順序について、望ましい実施の形態では、ジグザグ走査３２０は、変換ブロック２５６のサブブロック３２２の走査、すなわち、実質的に増加する周波数の方向に沿った走査に用いられ、サブブロック内の変換係数は、逆ジグザグ走査３２６で走査される（図１１）。本発明のさらなる望ましい実施の形態では、サブブロック３２２およびサブブロック３２２内の変換係数レベルの双方が、（矢印３２０が反転される図１１に示すように）逆ジグザグ走査を用いて走査される。他の望ましい実施の形態では、有意マップを符号化するのと同じ適応的走査が変換係数レベルを処理するのに用いられ、ここで、適応判断が同じであるので、有意マップの符号化および変換係数レベル値の符号化の双方について、全く同一の走査が用いられる。なお、走査自体は、通常、コンテキストモデル集合の選択された統計もしくは数に、またはサブブロック内のコンテキストモデリングを有効化または無効化するための判断に依存しない。
【００７８】
次に、係数レベルに対するコンテキストモデリングについての実施の形態を説明する。
【００７９】
望ましい実施の形態では、サブブロックに対するコンテキストモデリングは、上述したＨ．２６４における４×４ブロックに対するコンテキストモデリングと同様である。ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素の符号化に使用されるコンテキストモデルの数、およびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅシンタックス要素の第１のビンは、たとえば、２つのシンタックス要素に対して異なる集合のコンテキストモデルを用いて、５に等しくなる。さらに望ましい実施の形態では、サブブロック内のコンテキストモデリングは無効化され、１つの所定のコンテキストモデルのみが各サブブロック内で用いられる。これらの実施の形態について、サブブロック３２２に対するコンテキストモデルセットは、コンテキストモデル集合の所定の数の中から選択される。サブブロック３２２に対するコンテキストモデルの選択は、既に符号化された１以上のサブブロックのある統計に基づく。望ましい実施の形態では、サブブロックに対してコンテキストモデル集合を選択するために使用される統計は、同じブロック２５６において既に符号化された１以上のサブブロックから採られる。選択されたコンテキストモデルセットを求めるのに、どのように統計が用いられるのかを、以下に説明する。さらに望ましい実施の形態では、統計は、図２ｂにおいてブロック４０ａおよび４０ａ’のような同じブロックサイズを持つ、以前に符号化されたブロックにおける同じサブブロックから採られる。本発明の他の望ましい実施の形態では、統計は、サブブロックに対する選択走査に依存する、同じブロックにおける定義された近隣サブブロックから採られる。また、統計の元が走査順序から独立しているべきであること、およびコンテキストモデルセットを求めるのにどのようにして統計が作成されるのかに注目することが重要である。
【００８０】
望ましい実施の形態では、コンテキストモデル集合の数は４に等しく、一方、他の望ましい実施の形態では、コンテキストモデル集合の数は１６に等しい。共通して、コンテキストモデル集合の数は固定されず、選択された統計に従って適応されるべきである。望ましい実施の形態では、サブブロック３２２に対するコンテキストモデル集合は、既に符号化された１以上のサブブロックにおいて２より大きい絶対変換係数レベルの数に基づいて求められる。コンテキストモデル集合に対するインデックスは、基準サブブロックまたは複数の基準サブブロックにおける２より大きい絶対変換係数レベルの数を、所定のコンテキストモデルインデックスの集合にマッピングすることによって決定される。このマッピングは、２より大きい絶対変換係数レベルの数を量子化することによって、または所定のテーブルによって実施できる。さらに望ましい実施の形態では、サブブロックに対するコンテキストモデル集合は、有意変換係数レベルの数と、既に符号化された１以上のサブブロックにおける２より大きい絶対変換係数レベルの数との差に基づいて求められる。コンテキストモデル集合に対するインデックスは、この差を所定のコンテキストモデルインデックスの集合にマッピングすることによって決定される。このマッピングは、有意変換係数レベルの数と、２より大きい絶対変換係数レベルの数との差を量子化することによって、または所定のテーブルによって実施できる。
【００８１】
他の望ましい実施の形態では、絶対変換係数レベルおよび有意マップを処理するために同じ適応的走査が使用される場合、現在のサブブロックに対するコンテキストモデル集合を求めるのに同じブロックにおけるサブブロックの部分的な統計が使用される。または、利用可能であれば、以前に符号化された変換ブロックにおける以前に符号化されたサブブロックの統計が使用されてもよい。これは、たとえば、コンテキストモデルを求めるためにサブブロックにおける２より大きい絶対変換係数レベルの絶対数を用いる代わりに、２より大きい既に符号化された絶対変換係数レベルの数にサブブロックにおける変換係数の数とサブブロックにおける既に符号化された変換係数の数の比を乗じたものが使用されること、または、有意変換係数レベルの数と、サブブロックにおける２よりも大きい絶対変換係数レベルの数との差を用いる代わりに、既に符号化された有意変換係数レベルの数と、２よりも大きい既に符号化された絶対変換係数レベルの数との差に、サブブロックにおける変換係数の数とサブブロックにおける既に符号化された変換係数の数の比を乗じたものが使用されることを意味する。
【００８２】
サブブロック内のコンテキストモデリングについて、基本的には、Ｈ．２６４に対する最新のコンテキストモデリングの反転が採用される。これは、絶対変換係数レベルおよび有意マップを処理するのに同じ適応的走査が用いられる場合、Ｈ．２６４とは逆方向の走査順の代わりに、基本的に順方向走査順で変換係数レベルが符号化されることを意味する。したがって、コンテキストモデルの切り替えは、それに従って適応されなければならない。ひとつの実施の形態によると、変換係数レベルの符号化は、ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅシンタックス要素に対する第１のコンテキストモデルで始まり、ゼロに等しい２つのｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素が、最後のコンテキストモデル切り替え以降に符号化されたときの集合における次のコンテキストモデルに切り替えられる。言い換えると、コンテキスト選択は、走査順でゼロより大きい既に符号化されたｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅシンタックス要素の数に依存する。ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ＿ｏｎｅに対するコンテキストモデルおよびｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ＿ｏｎｅに対するコンテキストモデルの数は、Ｈ．２６４のものと同じであればよい。
【００８３】
したがって、上述の実施の形態は、デジタル信号処理の分野、特に、画像および映像デコーダおよびエンコーダに適用できる。特に、上述の実施の形態によって、確率モデリングを採用するエントロピーコーダで符号化される係数を変換することに関係するシンタックス要素に対する改善したコンテキストモデリングを用いて、ブロックベースの画像および映像コーデックにおける変換係数に関係するシンタックス要素の符号化を可能とする。最新技術との比較において、特に大きい変換ブロックに対して、向上した符号化効率が達成される。
【００８４】
いくつかの側面を装置の文脈において説明したが、これらの側面は、対応する方法の説明も表していることは明らかであり、ここで、ブロックまたは装置は方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈で記載された側面は、対応するブロックもしくは項目の説明または対応する装置の特徴も表している。
【００８５】
変換ブロックまたは有意マップをそれぞれ表すための独創的な符号化信号は、デジタル記憶媒体に記憶されることができ、またはインターネットのような無線伝送媒体または有線伝送媒体などの伝送媒体で送信されることができる。
【００８６】
ある実施要件によって、本発明の実施の形態は、ハードウェアまたはソフトウェアで実施できる。実施は、電子的に読取り可能な制御信号がそこに記憶される、たとえばフロッピーディスク、ＤＶＤ、ブルーレイ、ＣＤ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭまたはフラッシュメモリなどであって、それぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する（または協働する能力がある）デジタル記憶媒体を用いて実行することができる。したがって、これらのデジタル記憶媒体は、コンピュータ読み取り可能である。
【００８７】
本発明によるいくつかの実施の形態は、電子的に読取り可能な制御信号を有するデータキャリアを備え、それらは、ここに記載された方法の１つが実行されるようにプログラム可能なコンピュータシステムと協働することができる。
【００８８】
一般に、本発明の実施の形態は、プログラムコードを有するコンピュータプログラム製品として実施でき、プログラムコードは、コンピュータプログラム製品がコンピュータ上で稼働するときに方法の１つを実行するために動作可能である。プログラムコードは、たとえば、機械可読キャリアに記憶される。
【００８９】
他の実施の形態は、ここに記載され、機械可読キャリアに記憶された方法の１つを実行するためのコンピュータプログラムからなる。
【００９０】
言い換えると、本発明の方法の実施の形態は、コンピュータプログラムがコンピュータ上で稼働するときに、ここに記載された方法の１つを実行するためのプログラムコードを有するコンピュータプログラムである。
【００９１】
本発明の方法のさらなる実施の形態は、ここに記載された方法の１つを実行するためのコンピュータプログラムが記録されるデータキャリア（またはデジタル記憶媒体若しくはコンピュータ可読媒体）である。
【００９２】
本発明の方法のさらなる実施の形態は、ここに記載された方法の１つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、たとえば、インターネットなどを介したデータ通信接続を介して転送されるように構成されていればよい。
【００９３】
さらなる実施の形態は、たとえば、ここに記載された方法の１つを実行するように構成または適合されたコンピュータまたはプログラム可能なロジックデバイスなどの処理手段からなる。
【００９４】
さらなる実施の形態は、ここに記載された方法の１つを実行するためのコンピュータプログラムがインストールされたコンピュータからなる。
【００９５】
実施の形態によっては、プログラム可能なロジックデバイス（たとえば、フィールド・プログラマブル・ゲート・アレイ）が、ここに記載された方法の機能の一部または全部を実行するのに使用される。実施の形態によっては、フィールド・プログラマブル・ゲート・アレイが、ここに記載された方法の１つを実行するためにマイクロプロセッサと協働することができる。概して、方法は、好ましくはあらゆるハードウェア装置によって実行される。
【００９６】
上記の実施の形態は本発明の原理についての説明的なものに過ぎない。ここに記載された構成および詳細の変形例およびバリエーションは当業者には明らかとなることが理解される。したがって、ここに示した実施の形態の記載および説明によって提示された特定の詳細によってではなく、このすぐ後に示す請求の範囲の記載によってのみ限定されることが意図される。
【図１】
0005911027.tif 000007
【図２Ａ】
0005911027.tif 000008
【図２Ｂ】
0005911027.tif 000009
【図２Ｃ】
0005911027.tif 000010
【図３】
0005911027.tif 000011
【図４】
0005911027.tif 000012
【図５】
0005911027.tif 000013
【図６】
0005911027.tif 000014
【図７】
0005911027.tif 000015
【図８】
0005911027.tif 000016
【図９】
0005911027.tif 000017
【図１０】
0005911027.tif 000018
【図１１】
0005911027.tif 000019