(57)【特許請求の範囲】
【請求項１】
変換ユニットに対する有意係数フラグを再構成することによってエンコードされたビデオのビットストリームをデコーダがデコードするための方法であって、該変換ユニットは、ブロックのシーケンスを含み、該ビットストリームは、有意係数フラグのセットをエンコードし、各セットは、それぞれのブロックに対応しており、該方法は、
第１ブロックに対応する有意係数フラグのセットに対して、該第１ブロックの右のブロックに関連付けられた有意係数グループフラグと、該第１ブロックの下のブロックに関連付けられた有意係数グループフラグとに基づいて、当該セットの有意係数フラグをデコードすることにおいて用いるための複数のコンテキストセットからコンテキストセットを選択することと、
該選択されたコンテキストセットを用いて当該セットの該有意係数フラグをデコードすることと
を含む、方法。
【請求項２】
各有意係数グループフラグは、その関連付けられたブロックが、少なくとも１つの非ゼロ有意係数フラグを含むことが想定されるかどうかを示す、請求項１に記載の方法。
【請求項３】
コンテキストセットを選択することは、前記有意係数グループフラグの両方が非ゼロである場合に、第１コンテキストセットを選択し、そうでない場合に、別のコンテキストセットを選択することを含む、請求項１または請求項２に記載の方法。
【請求項４】
デコードすることは、コンテキスト適応デコーディングを含み、前記コンテキストセットは、前記有意係数フラグの当該セットの該有意係数フラグをコンテキスト適応デコードする際に用いられるコンテキストを識別する、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
コンテキストセットを選択することは、前記第１ブロックが前記変換ユニットにおける前記左上ブロックである場合に、該第１ブロックのＤＣ位置における前記有意係数フラグをデコードするための特定のコンテキストを選択することをさらに含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
コンテキストセットを選択することは、前記第１ブロックが前記変換ユニットの前記左上コーナーに存在するかどうかにさらに基づいている、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
コンテキストセットを選択することは、前記変換ユニットのサイズにさらに基づいている、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
コンテキストセットを選択することは、前記変換ユニットのコンポーネントが、輝度コンポーネントであるか彩度コンポーネントであるかどうかにさらに基づいている、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
変換ユニットに対する有意係数フラグを再構成するためにエンコードされたデータのビットストリームをデコードするためのデコーダであって、該デコーダは、
プロセッサと、
メモリと、
メモリ内に格納され、かつ請求項１〜８のいずれか一項に記載の方法を実行するように該プロセッサを構成するための命令を含むデコーディングアプリケーションと
を含む、デコーダ。
【請求項１０】
変換ユニットに対する有意係数フラグをエンコーダがエンコードすることによってビデオをエンコードして、有意係数フラグのエンコードされたセットのビットストリームを形成するための方法であって、該変換ユニットは、ブロックのシーケンスを含み、有意係数フラグの各セットは、それぞれのブロックに対応しており、該方法は、
第１ブロックに対応する有意係数フラグのセットに対して、該第１ブロックの右のブロックに関連付けられた有意係数グループフラグと、該第１ブロックの下のブロックに関連付けられた有意係数グループフラグとに基づいて、当該セットの有意係数フラグをエンコードすることにおいて用いるための複数のコンテキストセットからコンテキストセットを選択することと、
該選択されたコンテキストセットを用いて当該セットの該有意係数フラグをエンコードすることと
を含む、方法。
【請求項１１】
各有意係数グループフラグは、その関連付けられたブロックが、少なくとも１つの非ゼロ有意係数フラグを含むことが想定されるかどうかを示す、請求項１０に記載の方法。
【請求項１２】
コンテキストセットを選択することは、前記有意係数グループフラグの両方が非ゼロである場合に、第１コンテキストセットを選択し、そうでない場合に、別のコンテキストセットを選択することを含む、請求項１０または１１に記載の方法。
【請求項１３】
エンコードすることは、コンテキスト適応エンコーディングを含み、前記コンテキストセットは、当該セットの前記有意係数フラグをコンテキスト適応エンコードする際に用いられるコンテキストを識別する、請求項１０〜１２のいずれか一項に記載の方法。
【請求項１４】
変換ユニットに対する有意係数フラグをエンコードして、エンコードされたデータのビットストリームを生成するためのエンコーダであって、該エンコーダは、
プロセッサと、
メモリと、
メモリ内に格納され、かつ請求項１０〜１３のいずれかに記載の方法を実行するように前記プロセッサを構成するための命令を含むエンコーディングアプリケーションと
を含む、エンコーダ。
【請求項１５】
プロセッサ実行可能な命令を格納しているプロセッサ読み取り可能な記録媒体であって、該命令は、実行されたときに、請求項１〜８、１０〜１３のいずれか一項に記載の方法をプロセッサに実行させる、プロセッサ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（著作権情報）
本文書および付随する題材の開示の一部分は、著作権の主張がなされる題材を含んでいる。著作権所有者は、特許文書または特許開示は特許商標庁のファイルまたは記録に現れているので、該特許文書または特許開示の何人による複製に対しても異議を有してはいないが、その他のすべての著作権については、どのようなものであっても留保している。
【０００２】
（分野）
本願は、概して、データ圧縮に関し、特に、有意マップを用いてビデオをエンコードおよびデコードするための方法およびデバイスに関している。
【背景技術】
【０００３】
（背景）
データ圧縮は、多くのコンテキストにおいて行われる。データ圧縮は、情報を効率的に格納、伝送、再生するために、通信およびコンピュータネットワーキングにおいて、非常に一般的に用いられている。データ圧縮は、イメージ、オーディオ、ビデオのエンコーディングにおいて、特定の用途を見出している。ビデオは、各ビデオフレームに対して必要な大量のデータと、エンコーディングおよびデコーディングを行うためにしばしば必要とされるスピードとを理由として、データ圧縮に対する重大な挑戦を提示している。ビデオエンコーディングに対する現在の技術水準は、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣビデオコーディング規格である。該規格は、メインプロファイル、ベースラインプロファイル等を含む、異なる用途に対する多くの異なるプロファイルを定義している。次世代のビデオエンコーディング規格は、Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｆｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＨＥＶＣ）といわれるＭＰＥＧ−ＩＴＵの合同研究を通して現在開発中である。該研究は、最終的には、ＭＰＥＧ−Ｈと一般的に称されるビデオコーディング規格をもたらし得るものである。
【０００４】
ブロックベースのコーディングプロセスを用いるＨ．２６４を含む、イメージおよびビデオをエンコード／デコードするための多くの規格が存在する。これらのプロセスにおいて、イメージまたはフレームは、典型的には４×４または８×８であるブロックに分割され、該ブロックは、係数へとスペクトル的に変換され、量子化され、エントロピーエンコードされる。多くの場合においては、変換されるデータは、実際のピクセルデータではなく、予測オペレーションの後の残余データである。予測は、イントラフレーム、すなわちフレーム／イメージ内のブロックごとであり得、あるいはインターフレーム、すなわちフレームの間であり得る（動き予測とも称される）。ＭＰＥＧ−Ｈもまた、これらの特徴を有し得ることが期待されている。
【０００５】
残余データをスペクトル的に変換するときに、これらの規格のうちの多くは、離散コサイン変換（ＤＣＴ）またはそれに対するなんらかの変形の使用を記述する。結果としてのＤＣＴ係数は、その後、量子化器を用いて量子化され、量子化された変換ドメイン係数または指標を生成する。
【０００６】
量子化された変換ドメイン係数のブロックまたは行列（「変換ユニット」と称される場合がある）は、その後、特定のコンテキストモデルを用いて、エントロピーエンコードされる。Ｈ．２６４／ＡＶＣにおいて、そして、ＭＰＥＧ−Ｈに対する現在開発中の仕事において、量子化された変換係数は、（ａ）変換ユニットにおける最終非ゼロ係数の位置を示す最終有意係数位置をエンコードすることと、（ｂ）非ゼロ係数を含む変換ユニットにおける位置（最終有意係数位置以外）を示す有意マップをエンコードすることと、（ｃ）非ゼロ係数の大きさをエンコードすることと、（ｄ）非ゼロ係数のサイン（ｓｉｇｎ）をエンコードすることとにより、エンコードされる。量子化された変換係数のこのエンコーディングは、しばしば、ビットストリーム内のエンコードされたデータの３０〜８０％を占める。
【０００７】
変換ユニットは、典型的には、Ｎ×Ｎである。一般的なサイズは、４×４、８×８、１６×１６、３２×３２を含むが、その他のサイズも可能であり、いくつかの実施形態においては、例えば１６×４、４×１６、８×３２、または３２×８等の非正方サイズを含む。有意マップにおけるシンボルのエントロピーエンコーディングは、コンテキストモデルに基づいている。４×４または８×８の輝度または彩度のブロックまたは変換ユニット（ＴＵ）の場合においては、別個のコンテキストが、ＴＵ内の各係数位置に関連付けられる。エンコーダおよびデコーダは、有意マップのエンコーディングおよびでコーディングの間に、多数の異なるコンテキストを追跡し、かつ調べる必要がある。より大きなＴＵの場合においては、有意フラグをエンコードするためのコンテキストは、隣接する有意フラグの値に依存し得る。例えば、フラグは、隣接するフラグの値に依存する４つまたは５つのコンテキストから選択するコンテキストを有し得る。いくつかの場合においては、ＴＵ内の特定のフラグまたはＴＵのサブブロックは、例えば左上（ＤＣ）位置等の位置に基づくコンテキストを有し得る。
【発明の概要】
【課題を解決するための手段】
【０００８】
（概要）
本願は、コンテキスト適応エンコーディングまたはデコーディングを用いて有意マップをエンコードおよびデコードするための方法およびエンコーダ／デコーダを記載する。エンコーダおよびデコーダは、マルチレベル有意マップを用いる。少なくとも１つの場合において、マルチレベルマップは、例えば１６×１６および３２×３２のＴＵのような、より大きな変換ユニットとともに用いられる。
【０００９】
一局面においては、本願は、変換ユニットに対する有意係数フラグを再構成することによってエンコードされたビデオのビットストリームをデコードするための方法を記載しており、変換ユニットは、ブロックのシーケンスを含み、ビットストリームは、有意係数フラグのセットをエンコードし、各セットは、それぞれのブロックに対応している。方法は、有意係数フラグのセットのうちの１つに対して、有意係数フラグの当該セットに対応するブロックの変換ユニット内の位置に基づいて、当該セットの有意係数フラグをデコードすることにおいて用いるためのコンテキストセットを選択することと、選択されたコンテキストセットを用いて当該セットの有意係数フラグをデコードすることとを含む。
【００１０】
別の局面において、本願は、変換ユニットに対する有意係数フラグを再構成することによって、エンコードされたビデオのビットストリームをデコードするための方法を記載し、変換ユニットは、ブロックのシーケンスを含み、ビットストリームは、有意係数フラグのセットをエンコードし、各セットは、それぞれのブロックに対応している。方法は、有意係数フラグのセットのうちの１つに対して、当該セットに対する有意係数グループフラグを決定することと、有意係数グループフラグがビットストリームからデコードされた場合には、第１コンテキストセットを選択することによって、当該セットの有意係数フラグをデコードすることにおいて用いるためのコンテキストを選択することと、有意係数グループフラグが、有意係数フラグの少なくとも２つの隣接するセットの有意係数グループフラグに基づいて決定された場合には、異なるコンテキストセットを選択することと、選択されたコンテキストセットを用いて、当該セットの有意係数フラグをデコードすることを含む。
【００１１】
一実施形態において、決定することは、有意係数グループフラグが１に等しいことを決定することを含む。
【００１２】
さらなる実施形態において、決定することは、１に等しい有意係数グループフラグを有する有意係数フラグの右の隣接するセットと、１に等しい有意係数フラグの下の隣接するセットとに基づいて、有意係数グループフラグが１に等しいことを推論することを含む。いくつかの実装において、この方法は、デコーディングの後に、セットがすべてのゼロ係数を含むかどうかを決定し、そうである場合には、有意係数フラグの隣接するセットのうちの有意係数グループフラグを推論するかどうかを後で決定することにおいて用いるために、０に等しく設定するために有意係数グループフラグを改訂することを含む。
【００１３】
なおも別の実施形態において、決定することは、有意係数フラグの右の隣接するセットが０に等しい有意係数グループフラグを有しているか、または有意係数フラグの下の隣接するセットが０に等しいので、ビットストリームから有意係数グループフラグをデコードすることを含む。
【００１４】
さらなる実施形態において、第１コンテキストセットは、多くのコンテキストを含み、第１コンテキストセットを選択することは、コンテキストインデックス変数を所定値に設定することを含み、第２コンテキストセットを選択することは、コンテキストインデックス変数を所定値プラスコンテキストの数に設定することを含む。
【００１５】
別の局面においては、本願は、変換ユニットに対する有意係数フラグをエンコードすることによってビデオをエンコードして、有意係数フラグのエンコードされたセットのビットストリームを形成するための方法を記載しており、変換ユニットは、ブロックのシーケンスを含み、有意係数フラグの各セットは、それぞれのブロックに対応している。方法は、有意係数フラグのセットのうちの１つに対して、当該セットに対する有意係数フラグを決定することと、有意係数グループフラグが、ビットストリームの中への挿入のためにエンコードされた場合には、第１コンテキストセットを選択することによって当該セットの有意係数フラグをエンコードすることにおいて用いるためのコンテキストセットを選択し、有意係数グループフラグが、有意係数フラグの少なくとも２つの隣接するセットの有意係数グループフラグに基づいて決定された場合には、異なるコンテキストセットを選択することと、選択されたコンテキストセットを用いて、当該セットの有意係数フラグをエンコードすることとを含む。
【００１６】
さらなる局面において、本願は、エンコードおよびデコードするためのこのような方法を実装するように構成されたエンコーダおよびデコーダを記載している。
【００１７】
なおもさらなる局面において、本願は、実行されたときに、エンコードおよび／またはデコードするための記載された方法を実行するようにプロセッサを構成するコンピュータ実行可能なプログラム命令を格納している持続性のコンピュータ読み取り可能な媒体を記載している。
【００１８】
別の局面において、本願は、変換ユニットに対する有意係数フラグを再構成することによってエンコードされたビデオのビットストリームをデコードするための方法を記載しており、変換ユニットは、ブロックのシーケンスを含み、ビットストリームは、有意係数フラグのセットをエンコードし、各セットは、それぞれのブロックに対応している。方法は第１ブロックに対応する有意係数フラグのセットに対して、第１ブロックの右のブロックに関連付けられた有意係数グループフラグと、第１ブロックの下のブロックに関連付けられた有意係数グループフラグとに基づいて、当該セットの有意係数フラグをデコードすることにおいて用いるための複数のコンテキストからコンテキストセットを選択することと、選択されたコンテキストセットを用いて当該セットの有意係数フラグをデコードすることとを含む。
【００１９】
なおも別の局面において、本願は、変換ユニットに対する有意係数フラグをエンコードすることによってビデオをエンコードして、有意係数フラグのエンコードされたセットのビットストリームをエンコードするための方法を記載しており、変換ユニットは、ブロックのシーケンスを含み、有意係数フラグの各セットは、それぞれのブロックに対応している。方法は、第１ブロックに対応する有意係数フラグのセットに対して、第１ブロックの右のブロックに関連付けられた有意係数グループフラグと、第１ブロックの下のブロックに関連付けられた有意係数グループフラグとに基づいて、当該セットの有意係数フラグをエンコードすることにおいて用いるための複数のコンテキストセットからコンテキストセットを選択することと、選択されたコンテキストセットを用いて当該セットの有意係数フラグをエンコードすることとを含む。
【００２０】
本願のその他の局面および特徴は、当業者によって、添付図面と関連して以下の例の記載を参照することから、理解され得る。
本発明は、例えば、以下を提供する。
（項目１）  
変換ユニットに対する有意係数フラグを再構成することによってエンコードされたビデオのビットストリームをデコードするための方法であって、該変換ユニットは、ブロックのシーケンスを含み、該ビットストリームは、有意係数フラグのセットをエンコードし、各セットは、それぞれのブロックに対応しており、該方法は、
第１ブロックに対応する有意係数フラグのセットに対して、該第１ブロックの右のブロックに関連付けられた有意係数グループフラグと、該第１ブロックの下のブロックに関連付けられた有意係数グループフラグとに基づいて、当該セットの有意係数フラグをデコードすることにおいて用いるための複数のコンテキストセットからコンテキストセットを選択することと、
該選択されたコンテキストセットを用いて当該セットの該有意係数フラグをデコードすることと
を含む、方法。
（項目２）
各有意係数グループフラグは、その関連付けられたブロックが、少なくとも１つの非ゼロ有意係数フラグを含むことが想定されるかどうかを示す、上記項目に記載の方法。
（項目３）
コンテキストセットを選択することは、上記有意係数グループフラグの両方が非ゼロである場合に、第１コンテキストセットを選択し、そうでない場合に、別のコンテキストセットを選択することを含む、上記項目のいずれか一項に記載の方法。
（項目４）
デコードすることは、コンテキスト適応デコーディングを含み、上記コンテキストセットは、上記有意係数フラグの当該セットの該有意係数フラグをコンテキスト適応デコードする際に用いられるコンテキストを識別する、上記項目のいずれか一項に記載の方法。
（項目５）
コンテキストセットを選択することは、上記第１ブロックが上記変換ユニットにおける上記左上ブロックである場合に、該第１ブロックのＤＣ位置における上記有意係数フラグをデコードするための特定のコンテキストを選択することをさらに含む、上記項目のいずれか一項に記載の方法。
（項目６）
コンテキストセットを選択することは、上記第１ブロックが上記変換ユニットの上記左上コーナーに存在するかどうかにさらに基づいている、上記項目のいずれか一項に記載の方法。
（項目７）
コンテキストセットを選択することは、上記変換ユニットのサイズにさらに基づいている、上記項目のいずれか一項に記載の方法。
（項目８）
コンテキストセットを選択することは、上記変換ユニットのコンポーネントが、輝度コンポーネントであるか彩度コンポーネントであるかどうかにさらに基づいている、上記項目のいずれか一項に記載の方法。
（項目９）
変換ユニットに対する有意係数フラグを再構成するためにエンコードされたデータのビットストリームをデコードするためのデコーダであって、該デコーダは、
プロセッサと、
メモリと、
メモリ内に格納され、かつ上記項目のいずれか一項に記載の方法を実行するように該プロセッサを構成するための命令を含むデコーディングアプリケーションと
を含む、デコーダ。
（項目１０）
変換ユニットに対する有意係数フラグをエンコードすることによってビデオをエンコードして、有意係数フラグのエンコードされたセットのビットストリームを形成するための方法であって、該変換ユニットは、ブロックのシーケンスを含み、有意係数フラグの各セットは、それぞれのブロックに対応しており、該方法は、
第１ブロックに対応する有意係数フラグのセットに対して、該第１ブロックの右のブロックに関連付けられた有意係数グループフラグと、該第１ブロックの下のブロックに関連付けられた有意係数グループフラグとに基づいて、当該セットの有意係数フラグをエンコードすることにおいて用いるための複数のコンテキストからコンテキストセットを選択することと、
該選択されたコンテキストセットを用いて当該セットの該有意係数フラグをエンコードすることと
を含む、方法。
（項目１１）
各有意係数グループフラグは、その関連付けられたブロックが、少なくとも１つの非ゼロ有意係数フラグを含むことが想定されるかどうかを示す、上記項目に記載の方法。
（項目１２）
コンテキストセットを選択することは、上記有意係数グループフラグの両方が非ゼロである場合に、第１コンテキストセットを選択し、そうでない場合に、別のコンテキストセットを選択することを含む、上記項目のいずれか一項に記載の方法。
（項目１３）
エンコードすることは、コンテキスト適応エンコーディングを含み、上記コンテキストセットは、当該セットの上記有意係数フラグをコンテキスト適応エンコードする際に用いされるコンテキストセットを識別する、上記項目のいずれか一項に記載の方法。
（項目１４）
変換ユニットに対する有意係数フラグをエンコードして、エンコードされたデータのビットストリームを生成するためのエンコーダであって、該エンコーダは、
プロセッサと、
メモリと、
メモリ内に格納され、かつ上記項目のいずれか一項に記載の方法を実行するように上記プロセッサを構成するための命令を含むエンコーディングアプリケーションと
を含む、エンコーダ。
（項目１５）
プロセッサ実行可能な命令を格納している持続性プロセッサ読み取り可能な媒体であって、該命令は、実行されたときに、上記項目のいずれか一項に記載の方法を実行するように１つ以上のプロセッサを構成する、媒体。
【００２１】
（摘要）
ビデオデータをエンコードおよびデコードするための方法が、マルチレベル有意マップをエンコードまたはデコードするために記載される。異なるコンテキストセットが、変換ユニットの異なる領域内の有意係数フラグをエンコードするために用いられ得る。固定された場合においては、領域は、係数グループボーダーによって定義される。一例においては、左上係数グループが、第１領域であり、その他の係数グループが、第２領域である。動的な場合においては、領域は、係数グループボーダーによって定義されるが、エンコーダおよびデコーダは、この領域に属している各係数グループを動的に決定する。係数グループは、１つの領域または別のものに対して、例えばこれらのそれぞれの有意係数グループフラグが推論されるかどうかに基づいて、割り当てられ得る。
【図面の簡単な説明】
【００２２】
ここで、例として、本願の例示的な実施形態を示す添付図面に対する参照がなされ得る。
【図１】図１は、ブロック図形式において、ビデオをエンコードするためのエンコーダを示している。
【図２】図２は、ブロック図形式において、ビデオをデコードするためのデコーダを示している。
【図３】図３は、１６×１６変換ユニットに対するマルチレベルスキャン順序の例を示している。
【図４】図４は、定義された対角線を用いる２つの固定された領域への１６×１６変換ユニットの分割を例示している。
【図５】図５は、定義された対角線を用いる２つの固定された領域への３２×３２変換ユニットの分割を例示している。
【図６】図６は、コンテキストセットを選択するための領域への１６×１６変換ユニットの係数グループベースの分割を例示している。
【図７】図７は、連続係数グループへと分割された例示的な変換ユニットと、これらの係数グループに対する例示的なそれぞれの有意係数グループフラグとを示している。
【図８】図８は、図７の例に基づく領域への１６×１６変換ユニットの動的に決定された分割の例を示している。
【図９】図９は、推論補正を有する図７の例を示している。
【図１０】図１０は、図９の例に基づく領域への変換ユニットの動的な分割を示している。
【図１１】図１１は、フローチャート形式において、有意マップをエンコードするための例示的な方法を示している。
【図１２】図１２は、フローチャート形式において、エンコードされたデータのビットストリームから有意マップを再構成するための例示的な方法を示している。
【図１３】図１３は、エンコーダの例示的な実施形態の簡略化されたブロック図を示している。
【図１４】図１４は、デコーダの例示的な実施形態の簡略化されたブロック図を示している。
【００２３】
異なる図面において用いられ得る類似した参照番号は、類似した構成要素を示している。
【発明を実施するための形態】
【００２４】
（例示的な実施形態の記載）
以下の記載においては、ビデオコーディングのためのＨ．２６４規格および／または開発中のＭＰＥＧ−Ｈ規格に関連して、いくつかの実施形態が記載されている。当業者であれば、本願は、Ｈ．２６４／ＡＶＣ規格および／またはＭＰＥＧ−Ｈに限定されず、可能性のある将来の規格、マルチビューコーディング規格、スケーラブルビデオコーディング規格、および再構成可能ビデオコーディング規格を含む、その他のビデオコーディング／デコーディング規格に対して適用可能であり得ることを理解し得る。
【００２５】
以下の記載において、ビデオまたはイメージに言及するとき、フレーム、ピクチャ、スライス、タイル、および矩形スライスグループという用語は、いくぶん互換的に用いられ得る。当業者であれば、Ｈ．２６４規格の場合において、フレームは、１つ以上のスライスを含み得ることを理解し得る。また、適用可能なイメージまたはビデオコーディング規格の特定の要件または術語に依存して、特定のエンコーディング／デコーディングオペレーションが、フレームごとに実行されること、いくつかがスライスごとに実行されること、いくつかがピクチャごとに実行されること、いくつかがタイルごとに実行されること、およびいくつかが矩形スライスグループによることも、理解され得る。任意の特定の実施形態において、適用可能なイメージまたはビデオコーディング規格は、以下に記載されるオペレーションが、場合によって、フレームおよび／またはスライスおよび／またはピクチャおよび／またはタイルおよび／または矩形スライスグループに関連して実行されるかどうかを決定し得る。したがって、当業者であれば、本開示に照らして、本明細書中に記載されている特定のオペレーションまたはプロセス、ならびにフレーム、スライス、ピクチャ、タイル、矩形スライスグループに対する特定の言及が、所与の実施形態に対して、フレーム、スライス、ピクチャ、タイル、矩形スライスグループ、またはこれらのうちのいくつかまたはすべてに対して適用可能であるかどうかを理解し得る。また、これは、以下の記載に照らして明らかになり得るように、変換ユニット、コーディングユニット、コーディングユニットのグループ等に対しても当てはまる。
【００２６】
本願は、有意マップをエンコードおよびデコードするための例示的プロセスおよびデバイスを記載している。有意マップは、変換ユニットまたは係数の定義されたユニット（例えば、いくつかの変換ユニット、変換ユニットの一部分、またはコーディングユニット）にマップする、または該変換ユニットまたは係数の定義されたユニットに対応する、フラグのブロック、行列、またはグループである。各フラグは、変換ユニットまたは特定のユニットにおける対応する位置が、非ゼロ係数を含むかどうかを示す。既存の規格においては、これらのフラグは、有意係数フラグと称され得る。既存の規格においては、係数ごとに１つのフラグが存在し、該フラグは、対応する係数がゼロである場合には、ゼロであるビットであり、対応する係数が非ゼロである場合には、１に設定される。本明細書中で用いられる際の用語「有意マップ」は、以下の記載から理解され得るような、変換ユニットに対する有意係数フラグの行列または順序付けられたセット、あるいは本願のコンテキストから明確であり得る、係数の定義されたユニットを意味することが意図されている。
【００２７】
以下の記載に照らして、マルチレベルエンコーディングおよびデコーディング構造が、特定の状況に対して適用可能であり得、これらの状況が、ビデオコンテンツタイプ等のサイド情報（シーケンス、ピクチャ、またはスライスヘッダ内で識別されるような自然なビデオまたはグラフィクス）から決定され得ることが、理解され得る。例えば、２つのレベルが自然なビデオに対して用いられ得、３つのレベルがグラフィクスに対して用いられ得る（これは、典型的には、遥かに希少である）。さらに別の可能性は、シーケンス、ピクチャ、またはスライスヘッダのうちの１つにおいてフラグを提供して、構造が１つ、２つ、または３つのレベルを有しているかどうかを示し、これにより、エンコーダに、現在のコンテンツに対する最も適切な構造を選択するフレキシビリティを可能にすることである。別の実施形態においては、フラグは、コンテンツタイプを表し得、これは、レベルの数に関連付けられ得る。例えば、コンテンツタイプ「グラフィック」は、３つのレベルを特徴とし得る。
【００２８】
本願は、用語「係数グループ」および「有意係数フラグのセット」を互換的に用い得ることに留意されたい。これらは、同じ意味を有することが意図されている。
【００２９】
ここで図１に対する参照がなされ、該図面は、ブロック図形式において、ビデオをエンコードするためのエンコーダ１０を示している。また、図２に対する参照もなされ、該図面は、ビデオをデコードするためのデコーダ５０のブロック図を示している。本明細書中に記載されているエンコーダ１０およびデコーダ５０が、それぞれ、１つ以上の処理要素およびメモリを含む、特定用途向けまたは汎用コンピューティングデバイス上に実装され得ることが理解され得る。エンコーダ１０またはデコーダ５０によって実行されるオペレーションは、場合によって、例えば、特定用途向け集積回路によって実装され得るか、あるいは汎用プロセッサによって実行可能な格納されたプログラム命令によって実装され得る。デバイスは、例えば、基本デバイス機能を制御するためのオペレーティングシステムを含む、付加的ソフトウェアを含み得る。その内部でエンコーダ１０またはデコーダ５０が実装され得るデバイスまたはプラットフォームの範囲は、以下の記載に接した当業者によって理解され得る。
【００３０】
エンコーダ１０は、ビデオソース１２を受信し、かつエンコードされたビットストリーム１４を生成する。デコーダ５０は、エンコードされたビットストリーム１４を受信し、かつデコードされたビデオフレーム１６を出力する。エンコーダ１０およびデコーダ５０は、多くのビデオ圧縮規格に準拠して動作するように構成され得る。例えば、エンコーダ１０およびデコーダ５０は、Ｈ．２６４／ＡＶＣ準拠であり得る。その他の実施形態においては、デコーダ１０およびエンコーダ５０は、ＭＰＥＧ−Ｈ等のＨ．２６４／ＡＶＣの規格の進化型を含む、その他のビデオ圧縮規格に準拠し得る。
【００３１】
エンコーダ１０は、空間予測器２１、コーディングモード選択器２０、変換プロセッサ２２、量子化器２４、およびエントロピーエンコーダ２６を含む。当業者によって理解され得るように、コーディングモード選択器２０は、例えば、対象フレーム／スライスがＩタイプ、ＰタイプまたはＯタイプであるかどうか、ならびにフレーム／スライス内の特定のコーディングユニット（例えば、マクロブロック、コーディングユニット等）が、インターコードまたはイントラコードされるかどうか等、ビデオソースに対する適切なコーディングモードを決定する。変換プロセッサ２２は、空間ドメインデータに基づいて、変換を実行する。特に、変換プロセッサ２２は、ブロックベースの変換を適用して、空間ドメインデータを空間成分に変換する。例えば、多くの実施形態においては、離散コサイン変換（ＤＣＴ）が用いられる。例えば離散サイン変換等のその他の変換が、いくつかの場合においては、用いられ得る。ブロックベースの変換は、コーディングユニット上で、マクロブロックまたはサブブロックベースで、マクロブロックまたはコーディングユニットのサイズに依存して、実行される。Ｈ．２６４規格においては、例えば、典型的な１６×１６マクロブロックは、１６個の４×４変換ブロックを含み、ＤＣＴプロセスが該４×４ブロックに対して実行される。いくつかの場合においては、変換ブロックは、８×８であり得、これは、マクロブロックごとに４つの変換ブロックが存在することを意味している。なおも他の場合においては、変換ブロックは、その他のサイズであり得る。いくつかの場合においては、１６×１６マクロブロックは、４×４および８×８マクロブロックの非重複組み合わせを含み得る。
【００３２】
ブロックベースの変換をピクセルデータのブロックに適用することは、変換ドメイン係数のセットをもたらす。このコンテキストにおける「セット」とは、係数が係数位置を有する順序付けられたセットのことである。いくつかの場合においては、変換ドメイン係数のセットは、係数の「ブロック」または行列として考慮され得る。本明細書中の記載において、フレーズ「変換ドメイン係数のセット」または「変換ドメイン係数のブロック」は、互換的に用いられており、かつ変換ドメイン係数の順序付けられたセットを示すことが意図されている。
【００３３】
変換ドメイン係数のセットは、量子化器２４によって量子化される。量子化された係数および関連付けられた情報は、その後、エントロピーエンコーダ２６によってエンコードされる。
【００３４】
量子化された変換ドメイン係数のブロックまたは行列は、本明細書中では、「変換ユニット」（ＴＵ）と称され得る。いくつかの場合においては、ＴＵは、非正方であり得、例えば、ｎｏｎ−ｓｑｕｒｅ  ｑｕａｄｒａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ（ＮＳＱＴ）であり得る。
【００３５】
イントラコードされたフレーム／スライス（すなわち、タイプＩ）は、その他のフレーム／スライスを参照せずに、エンコードされる。換言すると、これらは、時間的予測を採用していない。しかしながら、イントラコードされたフレームは、空間予測器２１によって図１内に例示されているような、フレーム／スライス内の空間予測に依拠していない。すなわち、特定のブロックをエンコードするときに、ブロック内のデータは、そのフレーム／スライスに対して既にエンコードされているブロック内の近隣のピクセルのデータと比較され得る。予測アルゴリズムを用いることにより、ブロックのソースデータは、残余データに変換され得る。変換プロセッサ２２は、その後、残余データをエンコードする。例えば、Ｈ．２６４は、４×４変換ブロックに対して９つの空間予測モードを記述する。いくつかの実施形態においては、９つのモードのそれぞれは、ブロックを独立的に処理するために用いられ得、レート歪み最適化が、その後、最良モードを選択するために用いられる。
【００３６】
また、Ｈ．２６４規格は、時間予測を活用するために、動き予測／補償の使用を記述している。したがって、エンコーダ１０は、逆量子化器２８、逆変換プロセッサ３０、およびデブロッキングプロセッサ３２を含むフィードバックループを有する。デブロッキングプロセッサ３２は、デブロッキングプロセッサおよびフィルタリングプロセッサを含み得る。これらの要素は、フレーム／スライスを再生するために、デコーダ５０によって実装されるデコーディングプロセスを反映している。フレーム格納３４が、再生されたフレームを格納するために用いられる。このように、動き予測は、何がデコーダ５０において再構成されるフレームであり得るかに基づいており、エンコーディング／デコーディング内に含まれる損失性のある圧縮に起因して再構成されたフレームとは異なり得るオリジナルフレームに基づいてはいない。動き予測器３６は、類似したブロックを識別するという目的のために、現在のフレームに対する比較のためのソースフレーム／スライスとして、フレーム格納３４に格納されるフレーム／スライスを用いる。したがって、それに対して動き予測が適用されるマクロブロックまたはコーディングユニットに対して、変換プロセッサ２２がエンコードする「ソースデータ」は、動き予測プロセスに由来する残余データである。例えば、これは、基準フレーム、空間変位または「動きベクトル」、および基準ブロックと現在のブロックとの間の（もしあれば）相違を表す残余ピクセルデータに関する情報を含み得る。基準フレームおよび／または動きベクトルに関する情報は、変換プロセッサ２２および／または量子化器２４によって処理されないことがあり得るが、その代りに、量子化された係数とともに、ビットストリームの一部分としてエンコードするために、エントロピーエンコーダ２６に供給され得る。
【００３７】
当業者であれば、ビデオエンコーダを実装するための詳細および可能性のある変形を理解し得る。
【００３８】
デコーダ５０は、エントロピーデコーダ５２、逆量子化器５４、逆変換プロセッサ５６、空間補償器５７、およびデブロッキングプロセッサ６０を含む。デブロッキングプロセッサ６０は、デブロッキングおよびフィルタリングプロセッサを含み得る。フレームバッファ５８は、動き補償を適用する際における、動き補償器６２による使用のために、再構成されたフレームを供給する。空間補償器５７は、既にデコードされたブロックから特定のイントラコードされたブロックに対するビデオデータを復元するオペレーションを表す。
【００３９】
ビットストリーム１４は、エントロピーデコーダ５２によって受信され、かつデコードされて、量子化された係数を復元する。また、サイド情報が、エントロピーデコーディングプロセスの間に復元され得、そのうちの一部は、（もしあれば）動き補償における使用のために、動き補償ループに供給され得る。例えば、エントロピーデコーダ５２は、イントラコードされたマクロブロックに対して、動きベクトルおよび／または基準フレーム情報を復元し得る。
【００４０】
量子化された係数は、その後、逆量子化器５４によって逆量子化されて、変換ドメイン係数を生成し、該係数は、その後、逆変換プロセッサ５６による逆変換の対象となり、「ビデオデータ」を再形成する。理解され得るように、例えばイントラコードされたマクロブロックまたはコーディングユニットの場合等のいくつかの場合においては、再形成された「ビデオデータ」は、フレーム内の既にデコードされたブロックに対する空間補償における使用のための残余データである。空間補償器５７は、既にデコードされたブロックからの残余データおよびピクセルデータからビデオデータを生成する。例えばイントラコードされたマクロブロックまたはコーディングユニット等のその他の場合においては、逆変換プロセッサ５６からの再形成された「ビデオデータ」は、異なるフレームからの基準ブロックに対する動き補償における使用のための残余データデある。空間補償および動き補償の両方は、本明細書中では、「予測オペレーション」として称され得る。
【００４１】
動き補償器６２は、特定のインターコードされたマクロブロックまたはコーディングユニットに対して特定されたフレームバッファ５８内に基準ブロックを配置する。該補償器は、インターコードされたマクロブロックまたはコーディングユニットに対して特定された基準フレーム情報および動きベクトルに基づいて、これを行う。該補償器は、その後、残余データとの組み合わせのために、基準ブロックピクセルデータを供給して、コーディングユニット／マクロブロックに対する再構成されたビデオデータに到達する。
【００４２】
デブロッキングプロセッサ６０によって示されているように、ブロッキング／フィルタリングプロセスが、その後、再構成されたフレーム／スライスに対して適用され得る。デブロッキング／フィルタリングの後、フレーム／スライスは、例えば、ディスプレイデバイス上の表示のために、デコードされたビデオフレーム１６として出力される。例えばコンピュータ、セットトップボックス、ＤＶＤまたはブルーレイプレーヤー、および／またはモバイルハンドヘルドデバイス等のビデオ再生機は、出力デバイス上の表示の前にメモリ内にデコードされたフレームをバッファし得るということが理解され得る。
【００４３】
ＭＰＥＧ−Ｈ準拠エンコーダおよびデコーダは、これらと同じまたは類似した特徴の多くを有し得ることが期待されている。
【００４４】
（有意マップエンコーディング）
上述したように、量子化された変換ドメイン係数のブロックまたはセットのエントロピーコーディングは、量子化された変換ドメイン係数のブロックまたはセットに対する有意マップ（例えば、有意係数フラグのセット）をエンコードすることを含む。有意マップは、どの位置（最終位置以外）に非ゼロ係数が現れるかを示すブロックのバイナリマッピングである。有意マップは、スキャン順序（該順序は、垂直、水平、対角線、ジグザグ、またはその他の任意の順序であり得る）にしたがって、ベクトルに変換され得る。スキャンは、典型的には、「逆」順序で行われ、すなわち、最終有意係数から出発し、［０，０］における左上コーナーにおけるフラグに到達するまで、逆方向に、有意マップを通って、逆行して機能する。本記載においては、用語「スキャン順序」は、（場合によって）フラグ、係数、またはグループが処理される順序を意味することが意図されており、口語的に「逆スキャン順序」として称される順序を含み得る。
【００４５】
各有意係数フラグは、その後、適用可能なコンテキスト適応コーディングスキームを用いてエントロピーエンコードされる。例えば、多くの用途においては、ｃｏｎｔｅｘｔ−ａｄａｐｔｉｖｅ  ｂｉｎａｒｙ  ａｒｉｔｈｍｅｔｉｃ  ｃｏｄｉｎｇ（ＣＡＢＡＣ）スキームが用いられ得る。
【００４６】
１６×１６および３２×３２有意マップの場合、有意に対するコンテキストは、隣接する有意係数フラグ値に（最も）基づいている。１６×１６および３２×３２有意マップに対して用いられるコンテキストの中で，［０，０］におけるビット位置に対して専用である、そして（いくつかの例示的な実装においては）隣接するビット位置に対して専用である、特定のコンテキストが存在するが、有意係数フラグのうちのほとんどは、隣接する有意係数フラグの累積値に依存する４つまたは５つのコンテキストのうちの１つをとる。これらの場合においては、有意係数フラグに対する正確なコンテキストの決定は、隣接する位置（典型的には５つの位置であるが、いくつかの場合においては、より多くまたはより少ないことがあり得る）における有意係数フラグの値を決定し、かつ加算することに依存している。
【００４７】
以前の仕事において、本出願人は、変換ユニットの有意マップが係数グループへと区画化され、かつ各係数グループが、所定の順序またはシーケンスにおいてエンコードされる、マルチレベル有意マップの使用を記載した。（ブロック／サブブロックであり得る）各係数グループ内では、有意係数フラグは、スキャン順序において処理される。各係数グループは、係数グループが非ゼロ有意係数フラグを含むと考慮され得るかどうかを示す、有意係数グループフラグに関連付けられる。２０１１年１１月１日に出願され、“Ｍｕｌｔｉ−ｌｅｖｅｌ  Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｍａｐｓ  ｆｏｒ  Ｅｎｃｏｄｉｎｇ  ａｎｄ  Ｄｅｃｏｄｉｎｇ”と題された、米国特許出願第１３／２８６，３３６号、および２０１１年１１月１９日に出願され、“Ｍｕｌｔｉ−ｌｅｖｅｌ  Ｓｉｇｎｉｆｉｃａｎｃｅ  Ｍａｐ  Ｓｃａｎｎｉｎｇ”と題された、米国特許出願第６１／５６１，８７２号に対する参照がなされ得る。両出願の内容は、参照により本明細書中に援用される。
【００４８】
上記の出願において記載されている技術のうちの１つは、１パススキャニングプロセス（すなわち、グループベースまたはマルチレベルスキャニング順序）の実装である。ここで図３に対する参照がなされ、該図面は、例示されているマルチレベル対角線スキャン順序を用いる１６×１６変換ユニット１００を示している。変換ユニット１００は、１６個の連続４×４係数グループまたは「有意係数フラグのセット」へと区画化される。各係数グループ内では、変換ユニット１００の全体にわたってというよりもむしろ、対角線スキャン順序が該グループ内に適用される。セットまたは係数グループ自体は、スキャン順序において処理され、該順序もまた、この例示的な実装においては、対角線スキャン順序である。この例におけるスキャン順序は、「逆」スキャン順序において例示されているということ、すなわち、スキャン順序は、右下係数グループから、左下向き対角線方向に、左上対角線グループに向けて進行して示されているということに留意されたい。いくつかの実装においては、同じスキャン順序が、その他の方向において定義され得、すなわち、エンコーディングの間に適用されるときに、右上向き対角線方向に進行し、あるいはデコーディングが「逆」スキャン順序において適用され得る。
【００４９】
マルチレベル有意マップの使用は、どの係数グループが非ゼロ有意係数フラグを含むと期待され得、かつどの係数グループがすべてのゼロ有意係数フラグを含むかを示す、Ｌ１またはより高レベルの有意マップのエンコーディングを含む。非ゼロ有意係数フラグを含むことが期待され得る係数グループは、それらの有意係数フラグをエンコードさせるが、その一方ですべてのゼロ有意係数フラグを含む係数グループは、（それらが少なくとも１つの非ゼロ有意係数フラグを含むと想定されることによる特別な場合の例外を理由としてエンコードされるグループであるときを除いて）エンコードされない。各係数グループは、（例えば最終有意係数を含むグループ、左上グループ等の、係数グループが想定値のフラグを有する特別な場合に該当するときを除いて）有意係数グループフラグを有する。
【００５０】
係数グループフラグは、係数グループのコンテンツに基づいて、すなわち係数グループ内になんらかの非ゼロ係数が存在するかどうかに基づいて、あるいは係数グループフラグが推論されるかどうかに基づいてのいずれかで、決定される。例えば、少なくとも１つの実施形態においては、係数グループフラグは、係数グループ内に非ゼロ係数が存在しない場合には、ゼロに設定され、係数グループ内に少なくとも１つの非ゼロ係数が存在する場合には、１に設定される。しかしながら、一部の場合においては、ビットを節約するために、係数グループフラグは、エンコードおよびデコードされず、むしろ、隣接する係数グループフラグの値に基づいて推論される。例えば、１つの実施形態においては、係数グループフラグは、より低い隣接する係数グループフラグおよび右の隣接する係数グループフラグが、両方とも１に等しい場合には、１であると推論される。
【００５１】
（有意係数フラグのコンテキストベースの処理）
有意係数フラグのエンコーディングおよびデコーディングは、コンテキストベースであることに基づいている。換言すると、エンコーディングおよびデコーディングは、エンコードされているビンが最も確からしいシンボル（ＭＰＳ）である推定確率を決定することに依存する。そして、この推定確率の決定は、現在のシンボルに対するコンテキストを決定することに依存する。典型的には、コンテキストベースのエンコーダおよびデコーダは、特定のタイプのデータに対してコンテキストがどのように決定されるかを特定し、かつコンテキストのセットを定義する、コンテキストモデルにしたがって機能する。
【００５２】
有意係数フラグの場合においては、コンテキストモデルは、コンテキスト決定を、（［０，０］におけるＤＣ値等の特定の例外を除いて）隣接する有意係数フラグの値に基づくものとしている。例えば、サイズ１６×１６または３２×３２の変換ユニットの場合、有意係数フラグ「ｘ」のコンテキストは、以下に示すように、５つの隣接するフラグに依存している。
【００５３】
【化１】
0005526246.tif 000002
【００５４】
５つの隣接するフラグの値の累積和は、位置ｘにおける有意係数フラグに対するコンテキストを示すために用いられ得る。したがって、６つまでのコンテキストが存在し得る。いくつかの場合においては、コンテキストの数は、例えば４において、キャップされ得る。例示的なコンテキスト決定モデルは、以下のようなものである。
【００５５】
【化２】
0005526246.tif 000003
【００５６】
上記のｃｏｎｔｅｘｔ＿ｘは、有意係数フラグをエンコードするための「コンテキストセット」に対するコンテキストインデックスである。すなわち、特定の有意係数フラグをエンコードするためのコンテキストを決定するときに、コンテキストは、コンテキストセット内に定義されるコンテキストのうちの１つから選択される。
【００５７】
いくつかの例示的な実装においては、１つよりも多くのコンテキストセットが、有意係数フラグをエンコードするためのモデルによって定義され得る。例えば、エンコーダおよびデコーダは、変換ユニットの第１領域に入る有意係数フラグをエンコードするための１つのコンテキストセットと、変換ユニットの第２領域（または第３領域等）に入る有意係数フラグをエンコードするための第２の別個のコンテキストセットとを用い得る。
【００５８】
上述した例を用いて議論すると、第２セットからのコンテキストは、コンテキスト４、５、６および７を含み得、第２領域内の特定の有意係数フラグに対する適切なコンテキストの選択は、以下に示すコンテキスト決定モデルに基づき得る。
【００５９】
【化３】
0005526246.tif 000004
【００６０】
いくつかの現在の実装においては、変換ユニットは、固定された対角線定義を用いて、コンテキスト決定の目的のために、第１領域および第２領域へと分割される。例えば、１６×１６変換ユニットの場合、対角線は、ｘ＋ｙ＝４によって定義される。これは、例示的な１６×１６変換ユニット１１０を例示している、図４に示されているような領域をもたらす。例示的な変換ユニット１１０は、ｘ＋ｙ＜４の対角線定義にしたがって分割された、第１領域１１２および第２領域１１４を含んでいる。すなわち、それに対してｘ＋ｙ＜４であるすべての有意係数フラグは、第１領域１１２内に存在する。この場合においては、［０，０］におけるＤＣ値は、それ自体のコンテキストを有する。いくつかの意味において、ＤＣ位置は、コンテキストセット内の単一のコンテキストが存在する「第３領域」を考慮され得る。
【００６１】
ここで図５に対する参照がなされ、該図面は、３２×３２変換ユニット１２０の例を示している。変換ユニット１２０は、ｘ＋ｙ＜８の対角線定義にしたがって、第１領域１２２および第２領域１２４へと分割または区画化される。すなわち、ＤＣ有意係数フラグ１２６を除いて、それに対してｘ＋ｙ＜８であるすべての有意係数フラグは、第１領域１２２内に存在し、これらの有意係数フラグは、第１コンテキストセットを用いてエンコードされる。それに対してｘ＋ｙ≧８であるその他のすべての有意係数フラグは、第２セット内に存在し、第２コンテキストセットを用いてエンコードされる。ＤＣ有意係数フラグ１２６は、それ自体のコンテキストを用いてエンコードされる。この意味において、ＤＣ位置は、第３領域それだけを考慮され得る。
【００６２】
本願は、変換ユニットの有意係数フラグをエンコードするためのコンテキストセットを選択するためのその他のアプローチを提供する。
【００６３】
第１実施形態においては、上記で与えた対角線定義の例の場合のように、コンテキストセット選択は固定されているが、しかしながら、この第１実施形態においては、第１領域は、対角線によって定義されていない。その代りに、第１領域は、係数グループ定義に対応するように定義される。このように、コンテキストセット選択は、係数グループベースであり、これは、マルチレベル有意マップの実施形態において、有意係数エンコーディングのモジュラリティを改善する。複数の領域が定義され得、これらのうちのそれぞれは、係数グループ境界によって区切られている。ＤＣ位置は、領域として考慮され得る。
【００６４】
図６は、係数グループ定義に基づくコンテキスト領域へと分割または区画化された１６×１６変換ユニット２００の例を示している。この例においては、第１領域２０２は、ＤＣ有意係数フラグ２０６を除き、第１係数グループ内のすべての有意係数フラグを含む（逆スキャン順序における最終係数グループも考慮され得る）。すなわち、第１領域２０２は、［０，０］を除き、それに対してｘ＋ｙ＜４かつｙ＜４であるすべての有意係数フラグを含む。変換ユニット２００のその他の係数グループ内のすべての有意係数フラグは、第２領域２０４内に存在する。第１領域２０２内の有意係数フラグは、第１コンテキストセットを用いてエンコードされ、その一方で第２領域２０４内の有意係数フラグは、第２コンテキストセットを用いてエンコードされる。１つの例示的な実装においては、エンコーダおよび／またはデコーダは、フラグのｘ座標およびｙ座標がそれぞれ変換ユニットの左上コーナーの４つの位置内に存在するかどうかを決定することにより、有意係数フラグが第１領域内に存在するかどうか、すなわち、左上係数グループ内に存在するかどうかを決定する。
【００６５】
その他の変形においては、第１領域は、１つよりも多くの係数グループを含み得る。例えば、３２×３２変換ユニットにおいては、係数グループが４×４である場合には、第１領域は、変換ユニットの左上コーナーにおいて、３つまたは４つの係数グループを含み得る。あるいは、別の例においては、１６×１６変換ユニット２００は、第１領域２０２において、３つ以上の係数グループを含み得る。その他の変形は、本記載を踏まえて理解され得る。
【００６６】
この第１実施形態においては、エンコーダおよびデコーダは、有意係数フラグが属している係数グループに基づいて選択されたコンテキストセットを用いて、それらのコンテキストを決定することにより、有意係数フラグを処理する。変換ユニット内の係数グループの位置は、選択されたコンテキストセットを決定する。すなわち、変換ユニット内の各係数グループは、特定のコンテキストセットに関連付けられる。すなわち、各係数グループは、定義された領域のうちの１つのメンバーであり、各領域は、関連付けられたコンテキストセットを有している。
【００６７】
第２実施形態において、領域は、依然として係数グループベースであるが、第１領域と第２領域との間の境界は、動的に決定される。この第２実施形態の一例においては、分割は、特定の係数グループの係数グループフラグが、１に推論されているかどうかに基づいている。すなわち、係数グループは、その右のおよび下の隣接する係数グループの係数グループフラグに基づいて、領域に割り当てられる。
【００６８】
図７に対する参照がなされ、該図面は、有意係数フラグの４×４連続セット、すなわち係数グループへと分割された１６×１６変換ユニット２２０を図式的に示している。係数グループは、（ｘ＝０，…，３；ｙ＝０，…３）として示されているｘ−ｙ座標を用いてインデックス付けされ得る。係数グループのそれぞれに対して決定された有意係数グループフラグ（ＳＣＧフラグ）は、それぞれの係数グループの内部のダイヤグラムに示されている。
【００６９】
上述の議論から理解され得るように、変換ユニット２２０は、係数グループのうちの１つにおいて最終有意係数（ＬＳＣ）を含む。この例の目的に対して、ＬＳＣは、係数グループ［２，２］に存在すると想定される。スキャン順序における係数グループ［２，２］の以前のすべてのグループは、必然的にすべてのゼロを含む。
【００７０】
係数グループ［２，２］に対する有意係数グループフラグは、それがＬＳＣを含むことから、このことは、それが少なくとも１つの非ゼロ係数を含むことを意味しているので、必然的に１である。
【００７１】
示されている例においては、逆スキャン順序における次の係数グループは、係数グループ［１，３］であり、これはすべてのゼロ係数を含む。したがって、その有意係数グループフラグは、０である。
【００７２】
次の係数グループは、逆スキャン順序であり、グループ［３，０］、［２，１］、および［１，２］は、すべて少なくとも１つの非ゼロ係数を含むことがわかる。したがって、これらのそれぞれは、１の有意係数グループフラグを有する。係数グループ［０，３］は、すべてのゼロ係数を含むことがわかるので、その有意係数グループフラグは、０であるとして決定される。
【００７３】
逆スキャン順序における次のグループは、係数グループ［２，０］である。その右の隣接する係数グループおよびそのより低い隣接する係数グループの両方は、ＳＣＧｆｌａｇ＝１を有し、係数グループ［２，０］に対する有意係数グループフラグは、係数グループ［２，０］においてなんらかの非ゼロ係数が存在するかどうかに関わらず、１として推論されるか、または想定される。同じ推論が、係数グループ［１，１］を用いてなされる。係数グループ［０，２］は、ゼロの有意係数グループフラグを有するより低い隣接する係数グループを有するので、推論はなされない。係数グループ［０，２］の場合においては、非ゼロ係数を含むので、それは、１に設定された有意係数グループフラグであることがわかる。逆スキャン順序におけるすべての残りの係数グループは、１として推論された有意係数グループフラグを有する。
【００７４】
推論された有意係数グループフラグのうちの任意のものは、必ずしも、ビットストリームにおいてエンコードされないか、またはデコーダにおいてデコードされない。これらは、１に等しいと想定され、エンコーダおよびデコーダは、これらのうちの１つがすべてのゼロ係数を含む場合でさえも、これらの係数グループの有意係数フラグを自動的にエンコードする。
【００７５】
ここで図８に対する参照がなされ、該図面は、図７に示されている変換ユニットに基づく第２実施形態の例示的な例証に対する動的領域分割を示している。この第２実施形態においては、有意係数フラグをエンコードするための第１領域（第１領域に属している係数グループにおいてシンボル「１」によって示されている）は、それに対して有意係数フラグが１として推論されている係数グループを含むとして定義されている。第２領域（第２領域に属している係数グループにおいてシンボル「２」によって示されている）は、推論されていない有意係数グループを有する係数グループを含む。それに対する有意係数グループフラグがゼロである係数グループは、これらのグループの有意係数フラグは、エンコードされないので、必ずしも、領域内に含まれないことが理解され得る。ＤＣ位置２２６は、依然としてそれ固有のコンテキストを有し得るので、必ずしも、第１領域の一部分としては考慮されない。
【００７６】
上述した記載から、第１領域および第２領域は、係数グループボーダーに沿った境界を有するが、その変換ユニットから変換ユニットへの動的変化の位置は、問題となっている変換ユニットのコンテンツに依存する。係数グループ境界に沿った領域の分離を維持することにより、モジュラー処理及びコード簡略化におけるなんらかの効率性が、達成可能であり得る。境界の動的移動は、２つの領域に関連付けられたそれぞれのコンテキストセットが、実際の統計的データを反映する確率分布へと収束するスピードを改善し得、これにより、コーディング効率性が改善される速度を改善し得る。
【００７７】
上述した領域決定プロセスを実装するための１つの機構は、その右のおよびより低い隣接する係数グループの有意係数グループフラグに基づいて、各係数グループを領域に割り当てるものであり得ることが理解され得る。すなわち、右のおよびより低い隣接する係数グループの有意係数グループフラグのいずれかが０に等しい場合には、係数グループは、領域２に属し、そうでない場合には、係数グループは、領域１に属する。いくつかの実施形態においては、左上コーナー係数グループは、常に、領域１に分類され得る。
【００７８】
ここで、第３実施形態が記載され、該第３実施形態は、第２実施形態の変形または改良であると考えられ得る。第３実施形態において、領域間の境界は、依然として、有意係数グループが１として推論され、境界が係数グループ境界に沿って位置し続けるかどうかに基づいて、動的に決定されるが、第３実施形態は、推論が正確であったかどうかを評価することと、不正確な推論の再分類に基づいて、後の係数グループの分類に対する調整を行うこととを含む。
【００７９】
ここで図９に対する参照がなされ、該図面は、例示的な変換ユニット２５０を示している。この例において、様々な係数グループに対する有意係数グループフラグの決定は、図７に関連して上述したように行われる。しかしながら、この場合においては、エンコーダおよびデコーダは、推論が正確であったかどうかを評価する。例えば、係数グループ［１，１］は、実際には、すべてのゼロ係数を含み得る。これらの係数は、実際には、有意係数グループフラグが１に設定されているので、ビットストリームにおいてエンコードされ、デコーダによってデコードされるが、不正確な推論または想定による。図９において、これは、「不正確に推論された」として示されている。
【００８０】
係数グループ［１，１］に対する有意係数フラグをデコードする時点において、デコーダは、推論が不正確であることに気付かないことがあり得、したがって、この係数グループが、それが推論された有意係数グループフラグを有しているので、第１領域の一部分であることを理解し得る。したがって、エンコーダおよびデコーダの両方は、係数グループ［１，１］の有意係数フラグをエンコードおよびデコードするときに、第１領域に関連付けられたコンテキストセットを用いる。しかしながら、後続の係数グループを処理するときが来ると、エンコーダおよびデコーダは、不正確な推論のこの知識を考慮に入れ得る。例えば、係数グループ［１，０］および［０，１］に対する有意係数グループフラグを決定するときに、これらは、それらが実際には１に等しいと推論されたフラグを用い、その有意係数フラグがエンコードされている場合でさえも、０に等しい有意係数グループフラグを有しているとして、［１，１］におけるそれらの隣接する係数を考慮し得る。図９に示されているように、係数グループ［１，０］および［０，１］は、それらが実際には少なくとも１つの非ゼロ係数を含むという事実に基づいて、１に設定されたそれらの有意係数グループフラグを有する。
【００８１】
後の係数グループを処理するための不正確な推論のこの「補正」は、領域に対して係数グループを割り当てるという目的のためだけに推論を補正することに限定され得るか、あるいはそれはまた、別の推論を行う際に不正確な推論に依存し得る後の係数グループに対する有意係数フラグを実際に決定するという目的のために補正され得るということが理解され得る。
【００８２】
結果として、それに対して推論が有意係数グループフラグを決定するために用いられる係数グループの数は、丁度３に変化する。これは、有意係数フラグをエンコードするためにコンテキストセットを選択するために用いられる領域の形状に対する影響を有する。図１０は、そこに示されている第１領域および第２領域を用いて変換ユニット２５０を示している。この場合において、領域を構成している係数グループは、必ずしも連続的または隣接的ではないということが理解され得る。
【００８３】
ここで図１１に対する参照がなされ、該図面は、有意係数フラグをエンコードするためにコンテキストセットを選択するためのプロセスの第２実施形態を採用するビデオをエンコードする例示的な方法３００を示している。
【００８４】
方法３００は、係数グループ、すなわち有意係数フラグのセットに対して、有意係数グループフラグがオペレーション３０２において推論されるべきであるかどうかを決定する。上述したように、この例におけるコンテキストモデルは、右の隣接する係数グループおよびより低い隣接する係数グループの有意係数グループフラグの両方が１に等しい場合に、有意係数グループフラグが１に推論されていることを前提としている。それに該当する場合には、オペレーション３０４において、現在の係数グループの有意係数グループフラグは、１に設定される。それに該当しない場合には、エンコーダは、実際には、オペレーション０６によって示されているように、係数グループにおけるデータを見て、なんらかの非ゼロ係数が存在するかどうかを決定する。現在の係数グループのすべての有意係数フラグがゼロである場合には、オペレーション３０８において、有意係数グループフラグは、ゼロに設定される。オペレーション３０８は、有意係数グループフラグをエンコードすることを含み得る。その後、オペレーション３１０において、エンコーダは、スキャン順序において次の係数グループに移動し、処理をやり直すためにオペレーション３０２に戻る。
【００８５】
係数グループが少なくとも１つの非ゼロ有意係数フラグを含むことがわかった場合には、オペレーション３０７において、有意係数グループフラグは、１に設定される。また、オペレーション３０７は、有意係数グループフラグをエンコードすることを含む。
【００８６】
オペレーション３０４において、有意係数グループフラグが推論された場合には、オペレーション３１４において、第１コンテキストセットが選択される。より多くの定義されたコンテキストが存在し、そして第１コンテキストセットが所定数のこれらの定義されたコンテキストを含む実施形態においては、第１コンテキストセットを選択することは、第１コンテキストセット内のこれらの定義されたコンテキストのうちの所定の１つを指すように、コンテキストインデックスを設定することによって実装され得る。
【００８７】
有意係数グループフラグが、オペレーション３０７において、係数グループ内に非ゼロ係数が存在するかどうかに基づいて決定された場合には、オペレーション３１６において、第２コンテキストセットが選択される。いくつかの実装においては、第２コンテキストセットの選択は、第２コンテキストセット内の定義されたコンテキストのうちの１つを指すように、コンテキストインデックス変数を設定することを含む。
【００８８】
第１コンテキストセットまたは第２コンテキストセットを用いるかどうかに関わらず、オペレーション３１８において、選択されたコンテキストセットは、現在の係数グループの有意係数グループフラグをエンコードするために用いられる。最終係数グループに対して、これは、それ固有の割り当てられたコンテキストを用いてＤＣ有意係数フラグをエンコードすることを含み得、そしてその他の任意のこのようなフラグは、変換ユニット内のそれらの位置に基づくそれら固有のコンテキストを有し得る。オペレーション３２０は、それが変換ユニット内の最終係数グループであるかどうかを決定する。そうである場合には、エンコーダは、変換ユニットに関して次のエンコーディングステップに進み得る（これは、係数レベルおよび／またはサインをエンコードすることを含み得る）。そうでない場合には、エンコーダは、逆スキャン順序において次の係数グループに移動し、プロセスを繰り返す。
【００８９】
ここで図１２に対する参照がなされ、該図面は、変換ユニットに対する有意マップを再構成するためにエンコードされたビデオデータのビットストリームをデコードするための例示的な方法４００を示している。有意マップは、有意係数フラグの連続セット、すなわち係数グループに区画化される。
【００９０】
オペレーション４０２において、デコーダは、現在の係数グループに対する有意係数グループフラグが推論されるべきであるかどうかを決定する。そうである場合には、オペレーション４１２において、これは１に設定される。そうでない場合には、オペレーション４０４において、有意係数グループフラグは、ビットストリームからデコードされる。上述したように、この例において、有意係数グループフラグは、右の隣接する有意係数グループおよびより低い隣接する有意係数グループに対する有意係数グループフラグの両方が
１に等しい場合に、推論される。
【００９１】
オペレーション４０８において、デコードされた有意係数グループフラグが０に等しい場合には、オペレーション４０８において、その係数グループのすべての有意係数フラグは、０に設定される。その後、デコーダは、オペレーション４１０によって示されているように、逆スキャン順序において次の係数グループに移動し、その後、オペレーション４０２からのプロセスを繰り返す。
【００９２】
デコードされた有意係数グループフラグがゼロではない場合には、オペレーション４１４において、第２コンテキストが選択される。有意係数グループフラグが１として推論された場合には、オペレーション４１６において、第１コンテキストセットが選択される。いずれの場合においても、オペレーション４１８において、選択されたコンテキストセットは、係数グループの有意係数フラグをデコードするために用いられる。オペレーション４２０は、それが最終係数グループであるかどうかを決定し、そうである場合には、デコーディングの次のフェーズに移動することを含む。そうでない場合には、デコーダは、逆スキャン順序において次の係数グループに移動し、オペレーション４０２に戻り、有意係数フラグに対するデコーディングプロセスを継続する。
【００９３】
以下に、疑似コードを用いたデコーディングプロセスの第１実施形態の一例を例示する。デコーディングプロセスの第１実施形態は、領域が係数グループ境界に沿って固定されるもののうちの１つである。この例の疑似コードは、領域への変換ユニットの１つの可能性のある分割の１つの可能性のある実装にすぎない。
【００９４】
以下の疑似コードにおいて例示されるシンタックスにおいて、変換ユニットのサイズが１６×１６または３２×３２（例えば、ｌｏｇ２ＴｒａｆｏＳｉｚｅ＞３）である場合には、例示的なプロセスが実行される。インデックス変数ｓｉｇＣｔｘに対して以下において用いられる特定の整数値は、多くの定義されたコンテキストに対する所定のインデックスの例に過ぎないことに留意されたい。
【００９５】
このプロセスに対する入力は、色成分インデックスｃＩｄｘ、現在の係数スキャン位置（ｘＣ，ｙＣ）、変換ブロック幅ｌｏｇ２ＴｒａｆｏＷｉｄｔｈ、および変換ブロック高さｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔである。このプロセスの出力は、ｃｔｘＩｄｘＩｎｃである。
【００９６】
変数ｓｉｇＣｔｘは、現在の位置（ｘＣ，ｙＣ）、変換ブロックサイズ、およびシンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇおよびｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇの既にデコードされたビンに依存する。ｓｉｇＣｔｘの導出に対して、以下が当てはまる。
【００９７】
ｌｏｇ２ＴｒａｆｏＷｉｄｔｈがｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔに等しく、ｌｏｇ２ＴｒａｆｏＷｉｄｔｈが２に等しい場合には、ｓｉｇＣｔｘは、ｃｔｘＩｄｘＭａｐ４×４［］を用いて以下のように導かれる。
【００９８】
【化４】
0005526246.tif 000005
【００９９】
そうでなければ、ｌｏｇ２ＴｒａｆｏＷｉｄｔｈがｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔに等しく、ｌｏｇ２ＴｒａｆｏＷｉｄｔｈが３に等しい場合には、ｓｉｇＣｔｘは、ｃｔｘＩｄｘＭａｐ８×８［］を用いて以下のように導かれる。
【０１００】
【化５】
0005526246.tif 000006
【０１０１】
そうでなければ、ｘＣ＋ｙＣが０に等しい場合には、ｓｉｇＣｔｘは、以下のように導かれる。
【０１０２】
【化６】
0005526246.tif 000007
【０１０３】
そうでなければ、（ｘＣ＋ｙＣが０よりも大きい）場合には、ｓｉｇＣｔｘは、以下のように、シンタックス要素ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇの既にデコードされたビンを用いて、導かれる。
【０１０４】
変数ｓｉｇＣｔｘは、０に初期化される。
【０１０５】
ｘＣが（１＜＜ｌｏｇ２ＴｒａｆｏＷｉｄｔｈ）−１未満のときには、以下が当てはまる。
【０１０６】
【化７】
0005526246.tif 000008
【０１０７】
ｘＣが（１＜＜ｌｏｇ２ＴｒａｆｏＷｉｄｔｈ）−１未満かつｙＣが（１＜＜ｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔ）−１のときには、以下が当てはまる。
【０１０８】
【化８】
0005526246.tif 000009
【０１０９】
ｘＣが（１＜＜ｌｏｇ２Ｗｉｄｔｈ）−２未満の場合には、以下が当てはまる。
【０１１０】
【化９】
0005526246.tif 000010
【０１１１】
以下の条件
・ｙＣは、（１＜＜ｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔ）−１未満である、
・ｘＣ％４は０に等しくない、あるいはｙＣ％４は０に等しくない、
・ｘＣ％４は３に等しくない、あるいはｙＣ％４は２に等しくない、
のすべてが正しい場合には、以下が当てはまる。
【０１１２】
【化１０】
0005526246.tif 000011
【０１１３】
ｙＣが（１＜＜ｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔ）−２かつｓｉｇＣｔｘが４未満の場合には、以下が当てはまる。
【０１１４】
【化１１】
0005526246.tif 000012
【０１１５】
変数ｓｉｇＣｔｘは、以下のように改変される。
【０１１６】
ｃＩｄｘが０に等しく、かつｘＣおよびｙＣの両方が１＜＜（ｍａｘ（ｌｏｇ２ＴｒａｆｏＷｉｄｔｈ，ｌｏｇ２ＴｒａｆｏＨｅｉｇｈｔ）−２）以上である場合には、以下が当てはまる。
【０１１７】
【化１２】
0005526246.tif 000013
【０１１８】
そうでなければ、以下が当てはまる。
【０１１９】
【化１３】
0005526246.tif 000014
【０１２０】
コンテキストインデックスのインクリメントｃｔｘＩｄｘＩｎｃは、色成分インデックスｃＩｄｘおよびｓｉｇＣｔｘを用いて、以下のように導かれる。
【０１２１】
ｃＩｄｘが０に等しい場合には、ｃｔｘＩｄｘＩｎｃは、以下のように導かれる。
【０１２２】
【化１４】
0005526246.tif 000015
【０１２３】
そうでなければ、（ｃＩｄｘが０よりも大きい）の場合には、ｃｔｘＩｄｘＩｎｃは、以下のように導かれる。
【０１２４】
【化１５】
0005526246.tif 000016
【０１２５】
デコーディングプロセスの第２実施形態を実装するための例示的なシンタックスもまた、例示される。第２実施形態は、領域が、係数グループフラグが取得された方法、すなわちデコーディングを介するかどうか、または推論によるかどうかに基づいて、動的に決定されるもののうちの１つである。
【０１２６】
第２実施形態に対する例示的なシンタックスは、ｃｔｘＩｄｘＩｎｃの導出の直前に示されているｓｉｇＣｔｘに対する改変が以下によって置換されることを除き、第１実施形態に対して上述されたシンタックスに対するものと実質的に同じであり得る。
【０１２７】
ｃＩｄｘが０に等しく、かつ以下の条件
・（ｘＣ＞＞２）＋（ｙＣ＞＞２）が０に等しい、
・（ｘＣ＜＜２）が（１＜＜ｌｏｇ２ＴｒａｆｏＷｉｄｔｈ−２）−１未満であり、（ｙＣ＞＞２）が（１＜＜ｌｏｇ２ＴｒａｏＨｅｉｇｈｔ−２）−１未満であり、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇ［（ｘＣ＞＞２）＋１］［ｙＣ＞＞２］＋ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆｇｒｏｕｐ＿ｆｌａｇ［ｘＣ＞＞２］［（ｙＣ＞＞２）＋１］が２に等しい
のうちの少なくとも１つが正しい場合には、以下が当てはまる。
【０１２８】
【化１６】
0005526246.tif 000017
【０１２９】
そうでなければ、以下が当てはまる。
【０１３０】
【化１７】
0005526246.tif 000018
【０１３１】
ここで図１３に対する参照がなされ、該図面は、エンコーダ９００の例示的な実施形態の簡略化されたブロック図を示している。エンコーダ９００は、プロセッサ９０２、メモリ９０４、およびエンコーディングアプリケーション９０６を含んでいる。エンコーディングアプリケーション９０６は、メモリ９０４内に格納され、本明細書中に記載されているようなオペレーションを実行するようにプロセッサ９０２を構成するための命令を含んでいる、コンピュータプログラムまたはアプリケーションを含み得る。例えば、エンコーディングアプリケーション９０６は、本明細書中に記載されているプロセスにしたがって、エンコードし、エンコードされたビットストリームを出力し得る。エンコーディングアプリケーション９０６は、例えばコンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ読み取り可能な媒体上に格納され得ることが理解され得る。
【０１３２】
ここで図１４に対する参照がなされ、該図面は、デコーダ１０００の例示的な実施形態の簡略化されたブロック図を示している。デコーダ１０００は、プロセッサ１００２、メモリ１００４、およびデコーディングアプリケーション１００６を含む。デコーディングアプリケーション１００６は、メモリ１００４に格納され、本明細書中に記載されているようなオペレーションを実行するようにプロセッサ１００２を構成するための命令を含んでいる、コンピュータプログラムまたはアプリケーションを含み得る。デコーディングアプリケーション１００６は、少なくとも部分的に、本明細書中に記載されているように、有意係数フラグを再構成することに基づいて、残余を再構成するように構成されたエントロピーデコーダを含み得る。デコーディングアプリケーション１００６は、例えばコンパクトディスク、フラッシュメモリデバイス、ランダムアクセスメモリ、ハードドライブ等のコンピュータ読み取り可能媒体上に格納され得るということが理解され得る。
【０１３３】
本願にしたがうデコーダおよび／またはエンコーダは、サーバ、適切にプログラムされた汎用コンピュータ、オーディオ／ビデオエンコーディングおよび再生デバイス、セットトップテレビジョンボックス、テレビジョンブロードキャスト機器、およびモバイルデバイスを含むがこれらに限定されない、多くのコンピューティングデバイスにおいて実装され得るということが理解され得る。デコーダまたはエンコーダは、本明細書中に記載されている機能を実行するようにプロセッサを構成するための命令を含むソフトウェアによって実装され得る。ソフトウェア命令は、ＣＤ、ＲＡＭ、ＲＯＭ、フラッシュメモリ等を含む、任意の適切な持続性コンピュータ読み取り可能メモリ上に格納され得る。
【０１３４】
本明細書中に記載されているエンコーダ、およびエンコーダを構成するための記載された方法／プロセスを実装するモジュール、ルーチン、プロセス、スレッド、またはその他のソフトウェアコンポーネントは、標準的なコンピュータプログラミング技術および言語を用いて実現され得る。本願は、特定のプロセッサ、コンピュータ言語、コンピュータプログラミング規約、データ構造、その他のこのような実装の詳細に限定されない。当業者は、記載されているプロセスが、特定用途向け集積チップ（ＡＳＩＣ）等の一部分として揮発性または不揮発性メモリに格納されたコンピュータ実行可能コードの一部分として実装され得ることを認識し得る。
【０１３５】
記載された実施形態の特定の適応および改変がなされ得る。したがって、上述した実施形態は、例示的なものであり、限定的なものではないと考慮されるべきである。
【符号の説明】
【０１３６】
１００、１１０、１２０、２００、２２０、２５０  変換ユニット
１１２、１２２、２０２  第１領域
１１４、１２４、２０４  第２領域
１２６、２０６  ＤＣ有意係数フラグ
２２６  ＤＣ位置
【図１】
0005526246.tif 000019
【図２】
0005526246.tif 000020
【図３】
0005526246.tif 000021
【図４】
0005526246.tif 000022
【図５】
0005526246.tif 000023
【図６】
0005526246.tif 000024
【図７】
0005526246.tif 000025
【図８】
0005526246.tif 000026
【図９】
0005526246.tif 000027
【図１０】
0005526246.tif 000028
【図１１】
0005526246.tif 000029
【図１２】
0005526246.tif 000030
【図１３】
0005526246.tif 000031
【図１４】
0005526246.tif 000032