(57)【特許請求の範囲】
【請求項１】
ビデオブロックをエンコーディングする方法において、
前記方法は、
前記ビデオブロックをスキャンして、係数の１次元ベクトルを規定することと、
前記係数の１次元ベクトルを分割して、前記ビデオブロックの１組のサブブロックの１次元ベクトルを規定することと、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化することと、
前記シンタックスエレメントに依拠して、前記ゼロでない値のサブブロックの係数をインターリーブして、インターリーブされたサブブロックを規定することと、
前記インターリーブされたサブブロックをエントロピーコード化することと、
ゼロ値のサブブロックのエントロピーコード化をスキップすることとを含み、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、前記ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含む方法。
【請求項２】
前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定する、請求項１記載の方法。
【請求項３】
前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、請求項１記載の方法。
【請求項４】
前記ゼロでない値のサブブロックをエントロピーコード化することは、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行することを含む、請求項１記載の方法。
【請求項５】
ビデオブロックをデコーディングする方法において、
前記方法は、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントと、前記シンタックスエレメントに依拠してインターリーブされ、エントロピーコード化された１組のサブブロックとを含むビットストリームを受け取ることと、
前記インターリーブされ、エントロピーコード化されたサブブロックをエントロピーデコードして、インターリーブされたサブブロックを規定することと、
前記シンタックスエレメントに基づいて、１つ以上のゼロ値のサブブロックを発生させることと、
前記インターリーブされたサブブロックと、前記１つ以上のゼロ値のサブブロックとに基づいて、係数の１次元ベクトルを発生させることと、
前記係数の１次元ベクトルを逆スキャンして、前記ビデオブロックの２次元表現を規定することとを含み、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、
前記受け取られたビットストリームは、前記ゼロ値のサブブロックを含まない方法。
【請求項６】
エンコーダを具備する装置において、
前記エンコーダは、
ビデオブロックをスキャンして、係数の１次元ベクトルを規定し、
前記係数の１次元ベクトルを分割して、前記ビデオブロックの１組のサブブロックの１次元ベクトルを規定し、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化し、
前記シンタックスエレメントに依拠して、前記ゼロでない値のサブブロックの係数をインターリーブして、インターリーブされたサブブロックを規定し、
前記インターリーブされたサブブロックをエントロピーコード化し、
ゼロ値のサブブロックのエントロピーコード化をスキップするように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、前記ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含む装置。
【請求項７】
前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定する、請求項６記載の装置。
【請求項８】
前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、請求項７記載の装置。
【請求項９】
前記エンコーダは、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行することを含む、請求項６記載の装置。
【請求項１０】
前記装置は、集積回路、および、マイクロプロセッサのうちの１つからなる、請求項６記載の装置。
【請求項１１】
デコーダを具備する装置において、
前記デコーダは、
ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントと、前記シンタックスエレメントに依拠して、インターリーブされ、エントロピーコード化された１組のサブブロックとを含むビットストリームを受け取り、
前記インターリーブされ、エントロピーコード化されたサブブロックをエントロピーデコードして、インターリーブされたサブブロックを規定し、
前記シンタックスエレメントに基づいて、１つ以上のゼロ値のサブブロックを発生させ、
前記インターリーブされたサブブロックと、前記１つ以上のゼロ値のサブブロックとに基づいて、係数の１次元ベクトルを発生させ、
前記係数の１次元ベクトルを逆スキャンして、前記ビデオブロックの２次元表現を規定するように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、
前記受け取られたビットストリームは、前記ゼロ値のサブブロックを含まない装置。
【請求項１２】
ビデオエンコーディングデバイス中で実行される際に、前記ビデオエンコーディングデバイスにビデオブロックをエンコードさせる命令を含むコンピュータ読取可能記憶媒体において、
前記命令は、前記ビデオエンコーディングデバイスに、
前記ビデオブロックをスキャンさせて、係数の１次元ベクトルを規定させ、
前記係数の１次元ベクトルを分割させて、前記ビデオブロックの１組のサブブロックの１次元ベクトルを規定させ、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化させ、
前記シンタックスエレメントに依拠して、前記ゼロでない値のサブブロックの係数をインターリーブさせて、インターリーブされたサブブロックを規定させ、
前記インターリーブされたサブブロックをエントロピーコード化させ、
ゼロ値のサブブロックのエントロピーコード化をスキップさせ、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、前記ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含むコンピュータ読取可能記憶媒体。
【請求項１３】
前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定する、請求項１２記載のコンピュータ読取可能記憶媒体。
【請求項１４】
前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、請求項１２記載のコンピュータ読取可能記憶媒体。
【請求項１５】
前記命令は、前記ビデオエンコーディングデバイスに、
コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行させる、請求項１２記載のコンピュータ読取可能記憶媒体。
【請求項１６】
ビデオデコーディングデバイス中で実行される際に、前記ビデオデコーディングデバイスにビデオブロックをデコードさせる命令を含むコンピュータ読取可能記憶媒体において、
前記命令は、前記ビデオデコーディングデバイスに、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントと、前記シンタックスエレメントに依拠して、インターリーブされ、エントロピーコード化された１組のサブブロックとを含むビットストリームを受け取らせ、
前記インターリーブされ、エントロピーコード化されたサブブロックをエントロピーデコードさせて、インターリーブされたサブブロックを規定させ、
前記シンタックスエレメントに基づいて、１つ以上のゼロ値のサブブロックを発生させ、
前記インターリーブされたサブブロックと、前記１つ以上のゼロ値のサブブロックとに基づいて、係数の１次元ベクトルを発生させ、
前記係数の１次元ベクトルを逆スキャンして、前記ビデオブロックの２次元表現を規定させ、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、
前記受け取られたビットストリームは、前記ゼロ値のサブブロックを含まない、コンピュータ読取可能記憶媒体。
【請求項１７】
デバイスにおいて、
ビデオブロックをスキャンして、係数の１次元ベクトルを規定する手段と、
前記係数の１次元ベクトルを分割して、前記ビデオブロックの１組のサブブロックの１次元ベクトルを規定する手段と、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化する手段と、
前記シンタックスエレメントに依拠して、前記ゼロでない値のサブブロックの係数をインターリーブして、インターリーブされたサブブロックを規定する手段と、
前記インターリーブされたサブブロックをエントロピーコード化する手段と、
ゼロ値のサブブロックのエントロピーコード化をスキップする手段とを具備し、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、前記ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含むデバイス。
【請求項１８】
前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定する、請求項１７記載のデバイス。
【請求項１９】
前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、請求項１７記載のデバイス。
【請求項２０】
前記ゼロでない値のサブブロックをエントロピーコード化する手段は、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行する手段を備える、請求項１７記載のデバイス。
【請求項２１】
デバイスにおいて、
エンコーダと、
エントロピーエンコードされ、インターリーブされたサブブロックと、シンタックスエレメントとを含むビットストリームを送る、ワイヤレス送信機とを具備し、
前記エンコーダは、
ビデオブロックをスキャンして、係数の１次元ベクトルを規定し、
前記係数の１次元ベクトルを分割して、前記ビデオブロックの１組のサブブロックの１次元ベクトルを規定し、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをエンコードし、
前記シンタックスエレメントに依拠して、前記ゼロでない値のサブブロックの係数をインターリーブして、インターリーブされたサブブロックを規定し、
前記インターリーブされたサブブロックをエントロピーエンコードし、
ゼロ値のサブブロックのエントロピーコード化をスキップするように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、前記ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含むデバイス。
【請求項２２】
デバイスにおいて、
ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントと、前記シンタックスエレメントに依拠して、インターリーブされ、エントロピーコード化された１組のサブブロックとを含むビットストリームを受け取るワイヤレス受信機と、
デコーダとを具備し、
前記デコーダは、
前記インターリーブされ、エントロピーコード化されたサブブロックをエントロピーデコードして、インターリーブされたサブブロックを規定し、
前記シンタックスエレメントに基づいて、１つ以上のゼロ値のサブブロックを発生させ、
前記インターリーブされたサブブロックと、前記１つ以上のゼロ値のサブブロックとに基づいて、係数の１次元ベクトルを発生させ、
前記係数の１次元ベクトルを逆スキャンして、前記ビデオブロックの２次元表現を規定するように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、
前記受け取られたビットストリームは、前記ゼロ値のサブブロックを含まないデバイス。
【発明の詳細な説明】
【関連出願】
【０００１】
本出願は、２００７年１０月１２日に出願された米国仮出願第６０／９７９，７３９号に対する優先権を主張し、この内容全体は、ここで参照により組み込まれている。
【技術分野】
【０００２】
本開示は、デジタルビデオコード化に関連し、より詳細には、ビデオブロックの係数のエントロピーコード化に関連する。
【背景】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、衛星無線電話機ハンドセットのような、ワイヤレス通信デバイス、ワイヤレスブロードキャストシステム、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタルレコーディングデバイス、ビデオゲームデバイス、ビデオゲームコンソール、および類似物を含む、広範囲のデバイスに組み込むことができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、または、Ｈ．２６４／ＭＰＥＧ−４パート１０、アドバンストビデオコード化（ＡＶＣ）のようなビデオ圧縮技術を実現して、デジタルビデオをより効率的に送受信する。ビデオ圧縮技術は、空間的および時間的予測を実行して、ビデオシーケンスに固有の冗長性を減少させ、または、なくす。
【０００４】
ビデオコード化において、ビデオ圧縮は、一般的に、空間的予測、動き推定、および動き補償を含む。イントラコード化は、空間的予測に依拠して、所定のビデオフレーム内のビデオブロック間の空間的冗長性を減少させ、または、なくす。インターコード化は、時間的予測に依拠して、ビデオシーケンスの連続的ビデオフレームのビデオブロック間の時間的冗長性を減少させ、または、なくす。インターコード化に対して、ビデオエンコーダは、動き推定を実行して、２つ以上の隣接フレームの間の一致するビデオブロックの動きを追跡する。動き推定は、動きベクトルを発成させ、動きベクトルは、１つ以上の参照フレーム中の、対応する予測ビデオブロックに対するビデオブロックの変位を示す。動き補償は、動きベクトルを使用して、参照フレームから予測ビデオブロックを発成させる。動き補償の後、コード化されることになるオリジナルのビデオブロックから、予測ビデオブロックを減ずることによって、所定の残差のビデオブロックが形成される。
【０００５】
ビデオエンコーダは、変換、量子化、およびエントロピーコード化処理を適用して、残差ブロックの通信に関係するビットレートをさらに減少させてもよい。変換技術は、離散コサイン変換、または、概念的に類似のプロセス、ウェーブレット変換、あるいは、潜在的に、他のタイプの変換を含んでもよい。離散コサイン変換、または、概念的に類似のプロセスにおいて、変換プロセスは、１組のピクセル値を、変換係数へと変え、これは、ピクセル値のエネルギーを、周波数ドメインにおいて表現する。量子化は、変換係数に適用され、一般的に、任意の所定の係数に関係するビット数を制限するプロセスを一般的に含む。エントロピーコード化は、量子化された変換係数のシーケンスを集合的に圧縮する１つ以上のプロセスを含む。エントロピーコード化プロセスの例は、コンテンツ適応可変長コード化（ＣＡＶＬＣ）と、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）とを含む。
【０００６】
ＣＡＶＬＣは、ＩＴＵ Ｈ．２６４／ＭＰＥＧ４のＡＶＣ標準規格によってサポートされる１つのタイプのエントロピーコード化技術である。ＣＡＶＬＣは、変換係数のシリアル化された“ラン（ｒｕｎ）”を効率的に圧縮するような方法で、可変長コード化（ＶＬＣ）テーブルを使用する。ＣＡＢＡＣは、ＩＴＵ Ｈ．２６４／ＭＰＥＧ４のＡＶＣ標準規格によってサポートされる、別のタイプのエントロピーコード化技術である。ＣＡＢＡＣは、バイナリ化、コンテキストモデル選択、バイナリ算術コード化を含む、いくつかのステージを含んでもよい。他の多くのタイプのエントロピーコード化技術もまた存在し、新しいエントロピーコード化技術が、将来においておそらく出現することになるだろう。
【０００７】
エンコーディングプロセスにおいて使用されるエントロピーコード化のタイプに関わらず、ビデオデコーダは、逆エントロピーコード化演算を実行して、係数を再構成してもよい。ビデオデコーダは、係数を逆量子化し、逆変換する。ビデオデコーダは、ビデオ情報のデコードされたシーケンスを発生させるために、ビデオブロックに関係する動き情報と残余情報とに基づいて、ビデオ情報をデコードしてもよい。
【概要】
【０００８】
一般的に、本開示は、ビデオブロックのエントロピーコード化のための技術を記述する。本開示は、エントロピーコード化効率を上昇させることができるシンタックスエレメントを提示する。シンタックスエレメントは、所定のビデオブロック内のゼロでない値のサブブロックの数を識別してもよく、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数（例えば、ゼロでない変換係数）を含む所定のビデオブロック内のサブブロックを含む。対照的に、ゼロ値のサブブロックは、ゼロ値の係数だけを含む所定のビデオブロック内のサブブロックを指す。本開示にしたがうと、ゼロ値のサブブロックは、エントロピーエンコーディングの間にスキップされてもよく、また、これらのゼロ値のサブブロックは、シンタックスエレメントに基づいて、デコーダにおいて再構成されることができる。このようにして、ゼロ値の係数のコード化を避けて、コード化効率を上昇させる。提案するシンタックスエレメントは、１つ以上のサブブロックが、エンコーディングプロセスの間にスキップされた、ゼロ値のサブブロックであるという事実を伝達するメカニズムを提供し、これによって、デコーダが、何らかの追加情報の転送なしで、このようなゼロ値サブブロックを再構成することを可能にする。
【０００９】
１つの例において、本開示は、ビデオブロックのコード化の方法を提供し、方法は、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化することと、ビデオブロックのゼロでない値のサブブロックを発生させることと、ゼロでない値のサブブロックをエントロピーコード化することとを含み、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。
【００１０】
別の例では、本開示は、エントロピーコード化ユニットを具備する装置を提供し、エントロピーコード化ユニットは、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化し、ビデオブロックのゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーコード化するように構成されており、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。
【００１１】
別の例では、本開示は、デバイスを提供し、デバイスは、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化する手段と、ビデオブロックのゼロでない値のサブブロックを発生させる手段と、ゼロでない値のサブブロックをエントロピーコード化する手段とを具備し、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。
【００１２】
別の例では、本開示は、エントロピーエンコーディングユニットと、ワイヤレス送信機とを具備するデバイスを提供する。エントロピーエンコーディングユニットは、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをエンコードし、ビデオブロックのゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーエンコードするように構成されており、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。ワイヤレス送信機は、エントロピーコード化されたゼロでない値のサブブロックと、シンタックスエレメントとを含むビットストリームを送る。
【００１３】
別の例では、本開示は、ワイヤレス受信機と、エントロピーデコーディングユニットとを具備するデバイスを提供し、ワイヤレス受信機は、エントロピーコード化されたゼロでない値のサブブロックと、シンタックスエレメントとを含むビットストリームを受け取り、エントロピーデコーディングユニットは、シンタックスエレメントをデコードして、ビデオブロックのゼロでない値のサブブロックの数を決定し、シンタックスエレメントに基づいて、ビデオブロックのゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーデコードするように構成されており、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。
【００１４】
本開示で記述した技術を、ハードウェア、ソフトウェア、ファームウェア、または、これらの任意の組み合わせで実現してもよい。ハードウェアで実現される場合、装置は、集積回路、プロセッサ、ディスクリート論理、または、これらの何らかの組み合わせにおいて実現されてもよい。ソフトウェアにおいて実現される場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、あるいは、デジタル信号プロセッサ（ＤＳＰ）のような、１つ以上のプロセッサにおいて実行されてもよい。技術を実行するソフトウェアは、コンピュータ読取可能媒体中に最初に記憶されていてもよく、プロセッサ中にロードされて実行されてもよい。
【００１５】
したがって、本開示はまた、ビデオコード化デバイス中で実行される際に、ビデオコード化デバイスにビデオブロックをコード化させる命令を含むコンピュータ読取可能媒体も企図しており、命令は、ビデオコード化デバイスに、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化させ、ビデオブロックのゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーコード化させ、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。いくつかのケースでは、コンピュータ読取可能媒体は、コンピュータプログラム製品の一部を形成してもよく、これは、製造業者に対して販売されてもよく、および／または、ビデオコーディングデバイスにおいて使用されてもよい。コンピュータプログラム製品は、コンピュータ読取可能媒体を含んでもよく、いくつかのケースでは、パッケージング素材もまた含んでもよい。
【００１６】
本開示の１つ以上の観点の詳細を、添付の図面と、以下の詳細な説明において開示する。本開示において記述した技術の、他の特徴、目的、および利点は、詳細な説明、図面、および特許請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【００１７】
【図１】図１は、ビデオエンコーディングとデコーディングシステムを図示する例示的なブロック図である。
【図２】図２は、本開示に一貫したビデオエンコーダの例を図示するブロック図である。
【図３】図３は、８×８ビデオブロックのジグザグスキャンを図示する概念図である。
【図４】図４は、図３において示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表の図である。
【図５】図５は、本開示に一貫したビデオデコーダの例を図示するブロック図である。
【図６】図６は、例示的なシンタックスエレメント値、４に対する、図３において示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表の図である。
【図７】図７は、例示的なシンタックスエレメント値、３に対する、図３において示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表の図である。
【図８】図８は、例示的なシンタックスエレメント値、２に対する、図３において示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表の図である。
【図９】図９は、例示的なシンタックスエレメント値、１に対する、図３において示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表の図である。
【図１０】図１０は、本開示に一貫したコード化（すなわち、エンコーディング、または、デコーディング）技術を図示するフロー図である。
【図１１】図１１は、本開示に一貫したエンコーディング技術を図示するフロー図である。
【図１２】図１２は、本開示に一貫したデコーディング技術を図示するフロー図である。
【発明の詳細な説明】
【００１８】
本開示は、ビデオブロックのエントロピーコード化技術を記述する。ビデオブロックは、ビデオフレーム、ビデオスライス、または、他のビデオユニットを形成してもよく、本開示の技術は、フレームまたはスライスのようなビデオユニットのシーケンスのコード化プロセス（例えば、エンコーディングまたはデコーディング）の一部として適用されてもよい。効率的なエントロピーコード化を容易にするために、本開示は、特定のタイプのシンタックスエレメントを提案する。本開示にしたがった、シンタックスエレメントは、所定のビデオブロック内のゼロでない値のサブブロックの数を識別してもよく、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む所定のビデオブロック内のサブブロックを含む。対照的に、ゼロ値のサブブロックは、ゼロ値の係数だけを含む所定のビデオブロック内のサブブロックを指す。
【００１９】
本開示にしたがうと、ゼロ値のサブブロックは、エントロピーエンコーディングの間にスキップされてもよく、ゼロ値のサブブロックは、シンタックスエレメントに基づいて、デコーダにおいて、再構成されてもよい。このようにして、ゼロ値の係数のコード化を避けて、コード化効率を上昇させてもよい。提案するシンタックスエレメントは、１つ以上のサブブロックが、エンコーディングプロセスの間にスキップされたゼロ値のサブブロックであるという事実を伝達するメカニズムを提供し、これによって、デコーダが、何らかの追加情報の転送なしで、このようなゼロ値のサブブロックを再構成することを可能にする。シンタックスエレメントは、ゼロ値のサブブロックであるサブブロックの数を規定してもよく、このようにする際に、コード化されたビデオブロック中のこのようなサブブロック存在する場所や、どのようにサブブロック（ゼロ値およびゼロでない値のサブブロック）がビデオブロック中で規定されるかを、本質的に識別してもよい。
【００２０】
エンコーダ側では、ビデオブロックは、空間ベースの、または、動きベースの予測技術によってコード化されて、それぞれ、例えば、イントラコード化された（Ｉ）フレーム、または、インターコード化された（ＰまたはＢ）フレームを生み出してもよい。ビデオブロックの残余ピクセル値は、エントロピーコード化の前に、変換および量子化されてもよい。１次元ベクトルの係数を規定するために、エントロピーエンコーディングのために、ビデオブロックの係数（例えば、変換され、量子化された係数）がスキャンされてもよい。ジグザグスキャンは、ここで記述する１つの例であるが、垂直型、または、水平型スキャンのような、他のタイプのスキャンもまた使用してもよい。シンタックスエレメントを規定して、ビデオブロック中に存在するゼロでない値のサブブロックの数を識別できる。ゼロでない値のサブブロックに対応する、１組の１次元ベクトルの係数を規定するために、ビデオブロックに対応する、シリアル化された、１次元ベクトルの係数が、シンタックスエレメントに基づいて、インターリーブされてもよい。
【００２１】
（ＣＡＶＬＣ、ＣＡＢＡＣ、または、別のエントロピーコード化方法のような）エントロピーエンコーディングは、ゼロでない値のサブブロックに対応する、１次元ベクトルの係数に関して実行されてもよく、一方、ゼロ値のサブブロックは、無視またはスキップされることができる。エントロピーコード化されたゼロでない値のサブブロックと、シンタックスエレメントとが、デコーダに対して送られることができるエンコードされたビットストリームを規定してもよい。
【００２２】
デコーダ側では、エンコードされたビットストリームが受け取られる。再び、ビットストリームは、エントロピーコード化されたゼロでない値のサブブロックと、シンタックスエレメントとを含んでもよい。ゼロでない値のサブブロックの数を規定するシンタックスエレメントに基づいて、デコーダは、どのサブブロックが、エントロピーエンコードされたゼロでない値のサブブロックであるかと、どのサブブロックが、スキップされたゼロ値のサブブロックであるかとを識別できる。すなわち、シンタックスエレメントは、ゼロでない値のサブブロックの数と、ゼロに等しいすべての係数を持つゼロ値のサブブロックの数との両方を規定してもよい。例えば、特定のビデオブロックサイズに対して、知られている数の期待されるサブブロックがあるとすると、ゼロでない値のサブブロックの数、または、ゼロ値のサブブロックの数を伝達するシンタックスエレメントは、ゼロでない値のサブブロックの数と、ゼロ値のサブブロックの数との両方を規定してもよい。したがって、シンタックスエレメントに基づいて、デコーダは、ゼロでない値のサブブロックをデコードして、ビデオブロックのフルセットの係数を再構成するために、何らかのゼロ値のサブブロックの係数に対するゼロを発生させる。ビデオブロックを再構成するために、逆量子化、逆変換、および、空間ベースのデコーディングまたは動きベースの予測を実行できる。
【００２３】
図１は、本開示の技術を実現してもよい例示的なビデオエンコーディングおよびデコーディングシステム１０を図示する。図１に示したように、システム１０は、通信チャネル１５によって、エンコードされたビデオを、受信デバイス１６に対して送信するソースデバイス１２を含んでもよい。ソースデバイス１２と受信デバイス１６は、何らかの幅広い範囲のデバイスを含んでもよい。何らかのケースにおいて、ソースデバイス１２と、受信デバイス１６とは、ワイヤレス通信デバイスハンドセット、すなわち、いわゆるセルラまたは衛星無線電話機を備える。しかしながら、ビデオブロックのエントロピーコード化に一般的に関連する本開示の技術は、必ずしもワイヤレス適応または設定に制限されていない。
【００２４】
ソースデバイス１２は、ビデオソース２０を含んでいてもよく、ビデオエンコーダ２２、変調器／復調器（ｍｏｄｅｍ）２３、および、送信機２４を含んでもよい。受信機デバイス１６は、受信機２６、モデム２７、ビデオデコーダ２８、およびディスプレイデバイス３０を含む。本開示にしたがうと、ソースデバイス１２のビデオエンコーダ２２は、以下でより詳細に記述するような効率的なエントロピーコード化を実行するように構成されていてもよい。
【００２５】
図１の図示されたシステム１０は、単なる例である。本開示のエントロピーコード化技術は、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）、または、他のエントロピーコード化方法のよう幅広いさまざまなエントロピーコード化方法の何らかのものをサポートする、何らかのエンコーディングまたはデコーディングデバイスに対して実行されてもよい。ソースデバイス１２と受信デバイス１６とは、このようなコード化デバイスの単なる例である。
【００２６】
本開示の技術は、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントのコード化を含んでもよく、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含み、シンタックスエレメントに基づいて、ビデオブロックのゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーコード化する。技術は、エンコーディングプロセスの間にデバイス１２によって実行されてもよく、および／または、デコーディングプロセスの間に、デバイス１６によって実行されてもよい。
【００２７】
一般的に、ソースデバイス１２は、受信デバイス１６に対する送信のためのコード化されたビデオデータを発生する。いくつかのケースにおいて、しかしながら、デバイス１２、１６は、実質的に対称的な方法で動作してもよい。例えば、それぞれのデバイス１２、１６は、ビデオエンコーディングおよびデコーディングコンポーネントを含んでもよい。したがって、システム１０は、ビデオデバイス１２、１６の間の、例えば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、あるいは、ビデオテレフォニーのための、１方向、または、２方向ビデオ送信をサポートしてもよい。
【００２８】
ソースデバイス１２のビデオソース２０は、ビデオカメラ、従前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからのビデオフィードのような、ビデオキャプチャデバイスを含んでもよい。さらなる代替として、ビデオソース２０は、ソースビデオとして、または、ライブビデオ、アーカイブされたビデオ、およびコンピュータ発生されたビデオの組み合わせとして、コンピュータグラフィックベースのデータを発生させてもよい。いくつかのケースでは、ビデオソース２０がビデオカメラである場合、ソースデバイス１２と受信デバイス１６とは、いわゆるカメラ電話機、または、ビデオ電話機を形成してもよい。それぞれのケースにおいて、キャプチャされた、予めキャプチャされた、または、コンピュータ発生されたビデオは、ビデオエンコーダ２２によってエンコーディングされてもよい。エンコーディングされたビデオ情報は、次に、例えば、コード分割多元接続（ＣＤＭＡ）、または、別の通信標準規格もしくは技術のような通信標準規格にしたがって、モデム２３によって変調されてもよく、送信機２４によって受信デバイス１６に送信されてもよい。
【００２９】
受信機デバイス１６の受信機２６は、チャネル１５を通して情報を受信し、モデム２７は、情報を復調する。ビデオデコーダ２８によって実行されるビデオデコーディングプロセスは、ビデオシーケンスの再構成の一部として、エントロピーデコーディングを実行してもよい。エントロピーデコーディングプロセスは、エンコーディングプロセスと同様に、データ圧縮の改善されたレベルをサポートするために、本開示の技術を使用する。ディスプレイデバイス２８は、ユーザに対してデコードされたビデオデータを表示し、ブラウン管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または、別のタイプのディスプレイデバイスのようなさまざまなディスプレイデバイスの何らかのものを含んでいてもよい。
【００３０】
図１の例において、通信チャネル１５は、無線周波数（ＲＦ）スペクトルもしくは１つ以上の物理的送信ライン、または、ワイヤレスおよびワイヤードメディアの任意の組み合わせのような、何らかのワイヤレスおよびワイヤード通信メディアを含んでいてもよい。通信チャネル１５は、ローカルエリアネットワーク、ワイドエリアネットワーク、インターネットのようなグローバルネットワークのような、パケットベースのネットワークの一部を形成していてもよい。通信チャネル１５は、一般的に、ソースデバイス１２から、受信デバイス１６に対して、ビデオデータを送信するための、任意の適切な通信メディア、または、異なる通信メディアの集合体を表す。
【００３１】
ビデオエンコーダ２２とビデオデコーダ２８は、ＣＡＶＡＣ、ＣＡＢＡＣ、または、ＩＴＵ−Ｔ Ｈ．２６４標準規格、代わりに、ＭＰＥＧ−４パート１０、アドバンストビデオコード化（ＡＶＣ）として呼ばれてもよい、別のエントロピーコード化方法をサポートするビデオ圧縮標準規格にしたがって動作してもよい。図１に示していないが、いくつかの観点では、ビデオエンコーダ２２とビデオデコーダ２８は、それぞれ、オーディオエンコーダおよびデコーダと一体化されていてもよく、適切なＭＵＸ−ＤＥＭＵＸユニット、または、共通データストリームもしくは個別のデータストリーム中で、オーディオとビデオの両方のエンコーディングを取り扱うための、他のハードウェアとソフトウェアを含んでいてもよい。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ Ｈ．２２３マルチプレクサプロトコル、または、ユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠していてもよい。
【００３２】
ＩＴＵ Ｈ．２６４／ＭＰＥＧ−４ （ＡＶＣ）標準規格は、ＩＴＵビデオ符号化専門家グループ（ＶＣＥＧ）と、ＩＳＯ／ＩＥＣ動画専門家グループ（ＭＰＥＧ）とが一緒になって、ジョイントビデオチーム（ＪＶＴ）として知られている集合的パートナーシップの成果物として形成した。いくつかの観点では、本開示において記述する技術は、一般的にＨ．２６４標準規格に準拠するデバイスに適用されてもよい。Ｈ．２６４標準規格は、ＩＴＵ−Ｔ学習グループによって、２００５年３月に、ＩＴＵ−Ｔ勧告Ｈ．２６４、汎用オーディオビジュアルサービスのためのアドバンストビデオコード化において記述されており、これを、ここで、Ｈ．２６４標準規格、または、Ｈ．２６４仕様、あるいは、Ｈ．２６４／ＡＶＣ標準規格または仕様として呼ぶ。ジョイントビデオチーム（ＪＶＴ）は、Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣに対する拡張を作業し続けている。
【００３３】
ビデオエンコーダ２２とビデオデコーダ２８とは、それぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、または、これらの何らかの組み合わせとして、実現されてもよい。ビデオエンコーダ２２とビデオデコーダ２８とのそれぞれは、１つ以上のエンコーダまたはデコーダ中に含まれていてもよく、これらのいずれもが、それぞれの移動体デバイス、加入者デバイス、ブロードキャストデバイス、サーバ、または、類似物中の結合されたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として一体化されていてもよい。
【００３４】
ビデオシーケンスは、一連のビデオフレームを含む。いくつかのケースでは、ビデオシーケンスは、画像のグループ（ＧＯＰ）として配置されることができる。ビデオエンコーダ２２は、ビデオデータをエンコードするために、個別のビデオフレーム内のビデオブロック上で動作する。ビデオブロックは、固定の、または可変のサイズを持っていてもよく、特定のコード化標準規格にしたがって、サイズが異なっていてもよい。それぞれのビデオフレームは、一連のスライスを含んでもよい。それぞれのスライスは、一連のマクロブロックを含んでもよく、これは、さらにより小さいブロックへと配置されてもよい。例として、ＩＴＵ−ＴＨ．２６４標準規格は、ルーマコンポーネントに対する１６×１６、８×８、４×４、クローマコンポーネントに対する８×８のようなさまざまなブロックサイズにおけるイントラ予測とともに、ルーマコンポーネントに対する１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４と、クローマコンポーネントに対する対応するスケールサイズのようなさまざまなブロックサイズにおけるインター予測をサポートしてもよい。ビデオブロックは、例えば、離散コサイン変換、または、概念的に類似の変換プロセスのような変換プロセスにしたがって、ピクセルデータのブロック、または、変換係数のブロックを含んでもよい。変換係数は、量子化されてもよい。本開示のエントロピーコード化技術は、典型的に、量子化された変換係数のエントロピーコード化に適用される。
【００３５】
マクロブロックのようなビデオブロックは、より小さいサイズのビデオブロックへと分けられてもよい。より小さいビデオブロックは、よりよい解像度を提供でき、高レベルの詳細を含むビデオフレームのロケーションに対して使用されてもよい。一般的に、マクロブロック（ＭＢ）と、さまざまなより小さいブロックは、すべて、ビデオブロックであるとして考慮されてもよい。さらに、スライスは、ＭＢ、および／または、より小さいブロックのような、一連のビデオブロックであるとして考慮されてもよい。それぞれのスライスは、ビデオフレームの、独立してデコード可能なユニットであってもよい。予測後に、８×８残余ブロック、または、４×４残余ブロック上に、変換が実行されてもよく、イントラ１６×１６予測モードが使用される場合、クローマコンポーネントもしくはルーマコンポーネントに対する４×４ブロックのＤＣ係数に対して、追加的な変換が適用されてもよい。変換に続いて、データは、依然としてビデオブロックとして呼ばれる。しかしながら、変換に続いて、ビデオブロックは、ピクセル値というよりはむしろ、変換係数を含む。したがって、変換されたビデオブロックは、変換係数のブロックを含む。用語“係数”は、一般的に、変換係数を指すが、代わりに、他のタイプの係数または値を指してもよい。
【００３６】
（Ｈ．２６４／ＡＶＣにおいて、または、離散コサイン変換ＤＣＴにおいて使用される、４×４または８×８整数変換のような）イントラ、または、インターベースの予測コード化と変換技術にしたがって、量子化が実行されてもよい。ウェーブレットベースの圧縮のような、他の変換技術が使用されてもよい。量子化は、一般的に、係数を表すのに使用されるデータの量を最大限減少させるために、係数が量子化されるプロセスを指す。量子化プロセスは、いくつかの、または、すべての係数に関係するビット深度を減少させてもよい。例えば、量子化の間に、８ビット値は、７ビット値に切捨てられてもよい。
【００３７】
量子化に続いて、ここで記述する技術にしたがって、エントロピーコード化が実行されてもよい。特に、８×８ビデオブロック、または、１６×１６ビデオブロックのような変換係数のビデオブロックは、１組の４×４サブブロックへとインターリーブされてもよい。インターリーブすることは、それに対するすべての変換係数がゼロであるサブブロックを含む、ゼロ値のサブブロックの作成を促す方法で規定できる。シンタックスエレメントは、このインターリーブを規定し、これによって、ビデオブロック内でサブブロックを規定する。エントロピーコード化の間に、デコーダは、ゼロ値サブブロックを再構成するのにシンタックスエレメントを使用できるので、ゼロ値のサブブロックはスキップされる。すなわち、ゼロでない値のサブブロックだけが、エントロピーコード化プロセスにおいてコード化され、ゼロ値のサブブロックは廃棄され、エンコードされたビットストリームに含まれない。ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を持つサブブロックとして呼ばれる。ゼロ値のサブブロックは、その中で、すべての変換係数がゼロの値を持つサブブロックを指す。
【００３８】
図２は、エンコーディングプロセスの間に本開示の技術を実行するエントロピーエンコーディングユニット４６を含むビデオエンコーダ５０の例を図示するブロック図である。ビデオエンコーダ５０は、ビデオフレーム内のブロックのイントラ、および、インターコード化を実行してもよい。イントラコード化は、空間的予測に依拠しており、所定のビデオフレーム内のビデオ中の空間的冗長性を減少させる、または、なくす。インターコード化は、時間的予測に依拠しており、ビデオシーケンスの隣接フレーム内のビデオ中の時間的冗長性を減少させる、または、なくす。インターコード化に対して、ビデオエンコーダ５０は、動き推定を実行して、２つ以上の隣接フレームの間の一致するビデオブロックの動きを追跡する。イントラモード（Ｉ ｍｏｄｅ）は、空間ベースの圧縮モードを指してもよく、予測（Ｐモード）または２方向（Ｂモード）のようなインターモードは、時間ベースの圧縮モードを指してもよい。
【００３９】
図２に示したように、ビデオエンコーダ５０は、エンコードされることになるビデオフレーム内の現在のビデオブロックを受け取る。図２の例において、ビデオエンコーダ５０は、動き推定ユニット３２、基準フレーム記憶３４、動き補償ユニット３６、ブロック変換ユニット３８、量子化ユニット４０、逆量子化ユニット４２、逆変換ユニット４４、およびエントロピーエンコーディングユニット４６を含む。（示していない）デブロッキングフィルタはまた、濃淡のアーティファクトをなくすために、フィルタブロック境界に含まれてもよい。ビデオエンコーダ５０はまた、合計器４８と合計器５１を含んでもよい。図２は、ビデオブロックのインターコード化のためのビデオエンコーダ５０の時間的予測コンポーネントを図示する。図を簡潔化するために図２には示していないが、ビデオエンコーダ５０はまた、いくつかのビデオブロックのイントラコード化のための空間的予測コンポーネントも含んでもよい。
【００４０】
動き推定ユニット３２は、１つ以上の動きベクトルを決定するために、エンコードされることになるビデオブロックを、１つ以上の隣接ビデオ基準フレーム中のさまざまなブロックに対して比較する。隣接フレームは、基準フレーム記憶３４から取得されてもよく、これは、従前にエンコードされたブロックから再構成されたビデオブロックを記憶するための何らかのタイプのメモリまたはデータ記憶デバイスを含んでもよい。動き推定は、さまざまなサイズ、例えば、１６×１６、１６×８、８×１６、８×８、または、より小さいブロックサイズのブロックに対して実行されてもよい。動き推定ユニット３２は、コードされることになる現在のビデオブロックに最も近く一致する隣接フレーム中のブロックを識別し、ブロックの間の変位を決定する。このベースで、動き推定ユニット３２は、現在のビデオブロックと、現在のビデオブロックをコードするのに使用される予測ブロックとの間の変位の大きさと、軌線を示す動きベクトル（ＭＶ）（または、２方向予測のケースでは、複数のＭＶ）を生み出す。
【００４１】
動きベクトルは、２分の１、または、４分の１ピクセル精度、または、さらにより細かい精度を持っていてもよく、ビデオエンコーダ５０が、整数ピクセルロケーションより高い精度で、動きを追跡して、より良い予測ブロックを取得できるようにしている。分数ピクセル値を持つ動きベクトルが使用されるとき、補償演算は、動き補償ユニット３６中で実行される。動き推定ユニット３２は、ビデオブロックに対する所望の動きベクトルを識別し、結果としての動きベクトルを使用して、動き補償ユニット３６は、動き補償によって予測ビデオブロックを形成する。
【００４２】
ビデオエンコーダ５０は、動き補償ユニット３６によって生み出された予測ビデオブロックを、コード化されているオリジナルのビデオブロックから減ずることによって、残余ビデオブロックを形成する。合計器４８は、この減算演算を実行する。ブロック変換ユニット３８は、残余ブロックに対して、離散コサイン変換（ＤＣＴ）、または、概念的に類似の変換のような変換を適用して、残余変換ブロック係数を含むビデオブロックを生み出す。ブロック変換ユニット３８は、例えば、ＤＣＴに概念的に類似しているＨ．２６４標準規格によって規定されている、他の変換を実行してもよい。
【００４３】
量子化ユニット４０は、ビットレートをさらに減らすために、残余変換係数を量子化する。量子化ユニット４０は、例えば、それぞれの係数をコードするのに使用されるビットの数を制限してもよい。量子化の後、エントロピーエンコーディングユニット４６は、ＣＡＶＬＣまたはＣＡＢＡＣのようなエントロピーコード化方法にしたがって、量子化された変換係数をエンコードして、データをさらに圧縮する。
【００４４】
特に、本開示にしたがうと、エントロピーエンコーディングユニット４６は、（８×８、１６×１６ビデオブロックのような）ビデオブロックを（４×４サブブロックのような）サブブロックへと分けてもよい。例えば、ビデオブロックは、６４個の係数を含む８×８ビデオブロックを含んでもよく、サブブロックは、それぞれが１６個の係数を含む４×４ブロックを含んでもよい。別の例において、ビデオブロックは、２５６個の係数を含む１６×１６ビデオブロックを含んでもよく、サブブロックは、１６個の係数を含む４×４ブロックを含んでもよい。しかしながら、ブロックおよびサブブロックの、他の多くの形状またはサイズが、本開示に一貫している。何らかのケースにおいて、サブブロックは、ゼロでない値のサブブロック、またはゼロ値のサブブロックのいずれかであるとして特徴付けられていてもよい。ゼロでない値のサブブロックは、（例えば、少なくとも１つの係数値、１、２、３、または、より高い値を有する）少なくとも１つのゼロでない係数を持つサブブロックを含み、他方、ゼロ値のサブブロックは、すべてゼロの値の係数を持つサブブロックを含む。
【００４５】
エントロピーエンコーディングユニット４６は、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化し、ここで、ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む。エントロピーエンコーディングユニット４６は、ゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーコード化する。例えば、エントロピーエンコーディングユニット４６は、サブブロックを発生させるために、シンタックスエレメントに基づいて、ビデオブロックの係数をインターリーブしてもよく、このインターリーブは、ゼロ値のサブブロックの作成を促してもよい。エントロピーエンコーディングユニット４６は、ゼロでない値のサブブロックをエントロピーコード化するが、ゼロ値のサブブロックのエントロピーエンコーディングはスキップする。これは、ゼロ値のサブブロックは、このゼロ値を送信する必要なしでシンタックスエレメントに基づいて、デコーダにおいて再構成できるからである。
【００４６】
エントロピーエンコーディングユニット４６によるエントロピーエンコーディングに続いて、エンコードされたビデオは、別のデバイスに送信されてもよく、または、後の送信もしくは取得のためにアーカイブされてもよい。逆量子化ユニット４２と、逆変換ユニット４４は、基準ブロックとして使用するための、ピクセルドメイン中の残余ブロックを再構成するために、それぞれ、逆量子化と、逆変換とを適用する。ゼロ値のサブブロックをこの再構成において使用する。合計器５１は、この再構成された残余ブロックを、動き補償ユニット３６によって生み出された動き補償された予測ブロックに対して追加して、基準フレーム記憶３４中に記憶するために、再構成されたビデオブロックを生み出す。再構成されたビデオブロックは、後続するビデオフレーム中のブロックをエンコードするための基準ブロックとして、動き推定ユニット３２、動き補償ユニット３６によって使用される。
【００４７】
図３は、エントロピーエンコーディングユニット４６（または、エンコーダ５０の別のユニット）によって実行されてもよいジグザグスキャンの概念図である。このようなジグザグスキャンのスキャン順序は、ビデオブロック８０にわたっての矢印にしたがい、係数は、スキャン順序でラベル化されている。特に、図３に示した数値は、シーケンス的１次元ベクトル内の係数の位置を示しており、係数の値を表していない。本開示の技術は、何らかの特定のスキャン順序または技術に制限されていない。しかしながら、図３に図示したようなジグザグスキャンは、より高いエネルギー係数が典型的に、ビデオブロック８０の左上側の角に位置しているので、変換係数に対して非常に有用である。したがって、ジグザグスキャンは、ゼロ値を持つ、より少ない数の係数をより多くもたらすことが多い。エントロピーエンコーディングユニット４６によって実行されるとして記述したが、１次元ベクトルへのジグザグスキャン、または、（水平型もしくは垂直型のような）他のタイプのスキャンは、エンコーディングプロセス中の早期のステージで実行されてもよい。
【００４８】
図４は、図３に示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表である。図４に示したように、４つの異なるインターリーブされたサブブロックを規定することができ、４つの異なる１次元ベクトルとして表現される。４番目毎の係数が、所定のサブブロックに含まれる。したがって、図３のビデオブロック８０は、６４個の係数の１次元ベクトルとして表されることができる：  
(１， ２， ３， ４， ５， ６， ７ ，８， ９， １０， １１， １２， １３， １４， １５， １６， １７， １８， １９， ２０， ２１， ２２， ２３， ２４， ２５， ２６， ２７， ２８， ２９， ３０， ３１， ３２， ３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８， ４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４)  
４つの異なるインターリーブされたサブブロックは、図４に示したように、１６個の係数の４つの異なる１次元ベクトルとして表すことができる。このケースでは、インターリーブされたサブブロック１は、以下のようである：  
(１， ５， ９， １３， １７， ２１， ２５， ２９， ３３， ３７， ４１， ４５， ４９， ５３， ５７， ６１)  
インターリーブされたサブブロック２は、以下のようである：  
(２， ６， １０， １４， １８， ２２， ２６， ３０， ３４， ３８， ４２， ４６， ５０， ５４， ５８， ６２)  
インターリーブされたサブブロック３は、以下のようである：  
(３， ７， １１， １５， １９， ２３， ２７， ３１， ３５， ３９， ４３， ４７， ５１， ５５， ５９， ６３)  
インターリーブされたサブブロック４は、以下のようである：  
(４， ８， １２， １６， ２０， ２４， ２８， ３２， ３６， ４０， ４４， ４８， ５２， ５７， ６０， ６４)
【００４９】
したがって、ビデオブロックの値は、４番目毎の係数が、次のサブブロックから１ずつの各サブブロックオフセットとともに、所定のサブブロック中で結合される。上記、および、図４において示したサブブロック中で、数は、サブブロックへと分けられているビデオブロック内の係数の位置を指す。本開示にしたがうと、１つ以上のゼロ値のビデオブロックの作成を促す方法で、ビデオブロックをインターリーブすることが有用であってもよい。このケースでは、１つ以上のゼロ値のビデオブロックを識別するシンタックスエレメントは、そうでなければ、ゼロ値のビデオブロックをエンコードし伝達するのに必要とされることになるものよりも、かなりより少ないビットを含んでいてもよい。以下により詳細に説明するように、ここでシンタックス（ブロックの数）として呼ぶシンタックスエレメントは、この目的のために使用することができる。
【００５０】
図５は、ビデオデコーダ６０の例を図示し、これは、ここで説明する方法でエンコードされるビデオシーケンスをデコードする。ビデオデコーダ６０は、図２のエントロピーエンコーディングユニット４６によって実行されるエンコーディングの逆のデコーディング機能を実行するエントロピーデコーディングユニット５２を含む。
【００５１】
ビデオデコーダ６０は、ビデオフレーム内のブロックのイントラおよびインターデコーディングを実行してもよい。図５の例において、ビデオデコーダ６０は、（上で言及した）エントロピーデコーディングユニット５２、動き補償ユニット５４、逆量子化ユニット５６、逆変換ユニット５８、および基準フレーム記憶６２を含む。ビデオデコーダ６０はまた、合計器６４もまた含む。オプション的に、ビデオデコーダ６０はまた、合計器６４の出力をフィルタする（示していない）デブロッキングフィルタも含む。図５は、ビデオブロックのインターデコーディングのためのビデオデコーダ６０の時間的予測コンポーネントを図示する。図５には示していないが、ビデオデコーダ６０はまた、いくつかのビデオブロックのイントラデコーディングのための空間的予測コンポーネントも含んでもよい。
【００５２】
留意すべきことに、エントロピーデコーディングユニット５２は、図２のエントロピーエンコーディングユニット４６によって実行されるエンコーディングの逆のデコーディング機能を実行する。一般的に、エントロピーデコーディングユニット５２は、ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化し、ここで、ゼロでない値のサブブロックは、少なくとも１つのゼロでない値の係数を含み、シンタックスエレメントに基づいて、ビデオブロックのゼロでない値のサブブロックを発生させ、ゼロでない値のサブブロックをエントロピーコード化する。
【００５３】
デコーディング側では、ゼロでない値のサブブロックを発生させることは、シンタックスエレメントに基づいて、ビットストリームをパースすることを含む。エントロピーデコーディングユニット５２は、シンタックスエレメントと、エントロピーコード化されたゼロでない値のサブブロックとを含むが、すべてがゼロに等しい係数を持つ何らかのゼロ値のサブブロックは含まない、ビットストリームを受け取る。エントロピーデコーディングユニット５２は、シンタックスエレメントに基づいて、このようなゼロ値サブブロックを識別できる。エントロピーデコーディングユニット５２は、ゼロでない値のサブブロックを発生させるために、シンタックスエレメントに基づいて、ビットストリームをパースし、何らかのゼロ値のサブブロックの１組のゼロ値の係数を再構成する。言い換えると、ゼロ値のサブブロックの係数は、エンコードされたビットストリームから除外され、エントロピーデコーディングユニット５２は、このような値を発生させる。エントロピーデコーディングユニット５２は、単に、シンタックスエレメントを使用して、何らかのゼロ値のサブブロックが除外されたか否かを決定し、したがって、デコーダ６０において発生される必要がある。
【００５４】
例えば、（図２の）エンコーダ５０のエントロピーエンコーダ４６によって実行される、インターリーブプロセスは、ゼロでない値のサブブロックと、ゼロ値のサブブロックとを規定してもよい。さらに、エントロピーエンコーダ４６は、ゼロ値のサブブロックを発生させるために、可能な場合、実行するインターリーブのタイプを選択してもよい。続く例において、ビデオブロックは、８×８ブロックの係数を含み、サブブロックは４×４ブロックを含むことが仮定される。本開示では、しかしながら、何らかの特定のサイズまたは形状のブロックに制限されていない。サブブロックは、一般的に、コード化されているビデオブロックに関係する係数のサブセットであるが、ビデオブロック中の実際の係数の数や、サブブロック中の係数の数は、幅広い変形または実現にしたがう。
【００５５】
シンタックスエレメントは、シンタックス（ブロックの数）として表されてもよい。４つの４×４サブブロックへとインターリーブされることができる、８×８ビデオブロックの例において、シンタックス（ブロックの数）は、１、２、３、または、４の値であることを仮定してもよい。別の例として、１６の４×４サブブロックへとインターリーブされることができる、１６×１６ビデオブロックがあり、このケースにおいて、シンタックス（ブロックの数）は、１、２、３、４、５、６、７、８、９、１０、１１、１２、１３、１４、１５、または、１６の値を仮定してもよい。再び、ビデオブロックの多くの他の形状とサイズが本開示に一貫している。いくつかのケースでは、シンタックス（ブロックの数）の値は、例えば、４つの４×４サブブロックへとインターリーブされることができる、８×８ビデオブロックに対して、１または３の値に対して、制限されていてもよい。
【００５６】
図６は、４の例示的なシンタックスエレメント値に対して、図３に示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表である。すなわち、図６において、シンタックス（ブロックの数）＝４である。このケースでは、インターリーブは、上で説明し、図４に示したものと同じである。４番目毎の係数が、所定のサブブロック中に含められる。図３のビデオブロック８０は、６４個の係数の１次元ベクトルとして表すことができる：  
(１， ２， ３， ４， ５， ６， ７ ，８， ９， １０， １１， １２， １３， １４， １５， １６， １７， １８， １９， ２０， ２１， ２２， ２３， ２４， ２５， ２６， ２７， ２８， ２９， ３０， ３１， ３２， ３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８， ４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４)  
４つの異なるインターリーブされたサブブロックは、図６に示したように、１６個の係数の４つの異なる１次元ベクトルとして表すことができる。このケースでは、シンタックス（ブロックの数）＝４のとき、インターリーブされたサブブロック１は、以下のようである：  
(１， ５， ９， １３， １７， ２１， ２５， ２９， ３３， ３７， ４１， ４５， ４９， ５３， ５７， ６１)  
インターリーブされたサブブロック２は、以下のようである：  
(２， ６， １０， １４， １８， ２２， ２６， ３０， ３４， ３８， ４２， ４６， ５０， ５４， ５８， ６２)  
インターリーブされたサブブロック３は、以下のようである：  
(３， ７， １１， １５， １９， ２３， ２７， ３１， ３５， ３９， ４３， ４７， ５１， ５５， ５９， ６３)  
インターリーブされたサブブロック４は、以下のようである：  
(４， ８， １２， １６， ２０， ２４， ２８， ３２， ３６， ４０， ４４， ４８， ５２， ５７， ６０， ６４)
【００５７】
シンタックス（ブロックの数）＝４を有する、図６の図は、すべてのサブブロックがゼロでない値のサブブロックであり、サブブロックのいずれもがゼロ値のサブブロックを含まないデコーダ６０に対して合図してもよい。
【００５８】
しかしながら、いくつかのケースにおいて、より低い数の係数のいくつか（図３参照のこと）は、ゼロに等しい値を持っていてもよい。図４または６に示したインターリーブが使用される場合、サブブロックのそれぞれが、ゼロでない値を有していてもよい、より大きい数の係数の少なくともいくつかのものを含むことになる。このケースでは、ゼロ値のサブブロックを発生させるのを支援するために、異なるタイプのインターリーブが望ましいかもしれない。例えば、このことは非常に典型的であるが、係数４９から６４のすべてがゼロの値を持つ場合、これらを複数のサブブロック中の他の係数でインターリーブする代わりに、係数４９から６４のすべてを、サブブロック中に含むことが望ましい。
【００５９】
図７は、３の例示的なシンタックスエレメント値に対して、図３に示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表である。すなわち、図７において、シンタックス（ブロックの数）＝３である。このケースでは、３番目毎の係数が、所定のサブブロック中に含められ、４番目のサブブロックは、ゼロ値のサブブロックを形成するために、係数４９−６４を含む。エンコーダは、デコーダにこの事実を伝えるために、このインターリーブを実行でき、３に等しいシンタックスエレメントを使用することができる。
【００６０】
このケースでは、図３のブロック８０が、以下のような６４個の係数の１次元ベクトルとして表すことができる場合：  
(１， ２， ３， ４， ５， ６， ７ ，８， ９， １０， １１， １２， １３， １４， １５， １６， １７， １８， １９， ２０， ２１， ２２， ２３， ２４， ２５， ２６， ２７， ２８， ２９， ３０， ３１， ３２， ３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８， ４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４)  
４つの異なるインターリーブされたサブブロックは、図７に示したように、１６個の係数の４つの異なる１次元ベクトルとして表すことができる。このケースでは、インターリーブされたサブブロック１は、以下のようである：  
(１， ４， ７， １０， １３， １６， １９， ２２， ２５， ２８， ３１， ３４， ３７， ４０， ４３， ４６)  
インターリーブされたサブブロック２は、以下のようである：  
(２， ５， ８， １１， １４， １７， ２０， ２３， ２６， ２９， ３２， ３５， ３８， ４１， ４４， ４７)  
インターリーブされたサブブロック３は、以下のようである：  
(３， ６， ９， １２， １５， １８， ２１， ２４， ２７， ３０， ３３， ３６， ３９， ４２， ４５， ４８)  
サブブロック４は、以下のようである：  
(４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４)
【００６１】
係数４９から６４のすべての値が、ゼロの値を持っているので、サブブロック４は、ビットストリームへとエンコードされていない。したがって、サブブロック４は、ゼロ値のサブブロックであり、これは、シンタックスエレメントによって、デコーダに対して識別可能である。基本的に、シンタックス（ブロックの数）＝３である場合、係数４９から６４のすべての値が、ゼロの値を持つことと、図７に示したように、サブブロック１、２、および３は、インターリーブされることとをデコーダが推定する。結果として、そうでなければ、係数４９から６４に対する情報を伝達する必要のあったであろうビットを、ビットストリームからなくすことができ、コード化効率を向上させることができる。
【００６２】
図８は、２の例示的なシンタックスエレメント値に対して、図３に示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表である。すなわち、図８において、シンタックス（ブロックの数）＝２である。このケースでは、インターリーブは、１つおきの係数、すなわち、２つ毎の係数が、所定のサブブロック中に含められ、３番目と４番目のサブブロックは、２つのゼロ値のサブブロックを形成するために、それぞれ、係数３３−４８と、係数４９−６４を含む。
【００６３】
このケースでは、図３のブロック８０が、以下のような６４個の係数の１次元ベクトルとして表すことができる場合：  
(１， ２， ３， ４， ５， ６， ７ ，８， ９， １０， １１， １２， １３， １４， １５， １６， １７， １８， １９， ２０， ２１， ２２， ２３， ２４， ２５， ２６， ２７， ２８， ２９， ３０， ３１， ３２， ３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８， ４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４)  
４つの異なるインターリーブされたサブブロックは、図８に示したように、１６個の係数の４つの異なる１次元ベクトルとして表すことができる。このケースでは、インターリーブされたサブブロック１は、以下のようである：  
（１， ３， ５， ７， ９， １１， １３， １５， １７， １９， ２１， ２３， ２５， ２７， ２９， ３１）  
インターリーブされたサブブロック２は、以下のようである：  
（２， ４， ６， ８， １０， １２， １４， １６， １８， ２０， ２２， ２４， ２６， ２８， ３０， ３２）  
サブブロック３は、以下のようである：  
（３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８）  
サブブロック４は、以下のようである：  
（４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４）
【００６４】
係数３３から６４のすべての値が、ゼロの値を持っているので、サブブロック３と４は、ビットストリームへとエンコードされていない。したがって、サブブロック３と４は、ゼロ値のサブブロックを含み、これは、シンタックスエレメントによって、識別可能である。基本的に、シンタックス（ブロックの数）＝２である場合、デコーダ６０は、係数３３から６４が、ゼロの値を持つことと、図８に示したように、サブブロック１、および２が、インターリーブされることとが推定してもよい。結果として、このケースでは、そうでなければ、係数３３から６４に対する情報を伝達する必要のあったであろうビットを、ビットストリームからなくすことができ、コード化効率を向上させることができる。
【００６５】
図９は、１の例示的なシンタックスエレメント値に対して、図３に示した８×８ビデオブロックの４つの異なる４×４サブブロックの係数を図示する表である。すなわち、図９において、シンタックス（ブロックの数）＝１である。このケースでは、サブブロックは、スキャン順序で規定され、２番目、３番目、および４番目のサブブロックは、ゼロ値のサブブロックを含む。
【００６６】
このケースでは、図３のブロック８０が、以下のような６４個の係数の１次元ベクトルとして表すことができる場合：  
(１， ２， ３， ４， ５， ６， ７ ，８， ９， １０， １１， １２， １３， １４， １５， １６， １７， １８， １９， ２０， ２１， ２２， ２３， ２４， ２５， ２６， ２７， ２８， ２９， ３０， ３１， ３２， ３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８， ４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４)  
４つの異なるインターリーブされたサブブロックは、図９に示したように、１６個の係数の４つの異なる１次元ベクトルとして表すことができる。このケースでは、サブブロック１は、以下のようである：  
（１， ２， ３， ４， ５， ６， ７ ，８， ９， １０， １１， １２， １３， １４， １５， １６）  
サブブロック２は、以下のようである：  
（１７， １８， １９， ２０， ２１， ２２， ２３， ２４， ２５， ２６， ２７， ２８， ２９， ３０， ３１， ３２）  
サブブロック３は、以下のようである：  
（３３， ３４， ３５， ３６， ３７， ３８， ３９， ４０， ４１， ４２， ４３， ４４， ４５， ４６， ４７， ４８）  
サブブロック４は、以下のようである：  
（４９， ５０， ５１， ５２， ５３， ５４， ５５， ５６， ５７， ５８， ５９， ６０， ６１， ６２， ６３， ６４）
【００６７】
係数１７から６４のすべての値が、ゼロの値を持っているので、サブブロック２、３、および４は、ビットストリームへとエンコードされていない。したがって、サブブロック２、３、および４は、ゼロ値のサブブロックを含み、これは、シンタックスエレメントによって、識別可能である。基本的に、シンタックス（ブロックの数）＝１である場合、デコーダ６０は、係数１７から６４が、ゼロの値を持つことと、図９に示したように、サブブロック１が係数１−１６として規定されることと推定してもよい。
【００６８】
本開示に一貫した、エンコードされたビットストリームは、ゼロでない値のサブブロックに関係するエントロピーコード化されたビットを含み、記述したシンタックスエレメントもまた含み、このことは、デコーダがビットストリームを適切にパースし、ビットストリームから除外された何らかのゼロ値サブブロックに関係するゼロ値を発生させる。シンタックスエレメントは、エンコードされたビットストリームに関係するシンタックス情報として伝達されてもよく、エンコードされたビットストリームに関係するこのようなシンタックス情報を伝達するように特に規定された、ビットストリームの何らかの一部内で伝達されてもよい。いくつかのケースでは、シンタックスエレメントは、ヘッダファイルの一部として、または、ネットワーク抽象レイヤ（ＮＡＬ）ユニットの一部として、伝達されてもよい。何れかのケースにおいて、デコーダは、シンタックス情報を理解するように、また、デコーディングプロセスにおいてシンタックス情報を使用するように、プログラムされてもよい。
【００６９】
図１０は、本開示に一貫したコード化（すなわち、エンコーディングまたはデコーディング）技術を図示するフロー図である。図１０に示したように、エントロピーコード化ユニット（例えば、図２のエントロピーエンコーディングユニット４６、または、図５のエントロピーデコーディングユニット５２）は、シンタックスエレメントをコードして、ビデオブロック中のゼロでない値のサブブロックの数を規定する（１０１）。ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む１組の係数を含んでもよい。対照的に、ゼロ値のサブブロックは、すべての係数がゼロの値を持つことを含む１組の係数を含んでもよい。エントロピーコード化ユニット（例えば、図２のエントロピーエンコーディングユニット４６、または、図５のエントロピーデコーディングユニット５２）は、ゼロでない値のサブブロックを発生させ（１０２）、ゼロでない値のサブブロックをエントロピーコード化する（１０３）。
【００７０】
図１１は、本開示に一貫したエンコード化技術を図示するフロー図である。図１１に示したように、エントロピーエンコーディングユニット４６は、ビデオブロックを、１次元ベクトルへとスキャンする（１１１）。スキャニングは、図３に示したように、ジグザグスキャンを含んでもよく、または、水平スキャン、垂直スキャン、逆ジグザグスキャン、もしくは類似物のような、別のタイプのスキャン技術を含んでもよい。エントロピーエンコーディングユニット４６は、ビデオブロック中のゼロでない値のサブブロックの数を規定するために、シンタックスエレメントをエンコードして（１１２）、ビデオブロックに対応する１次元ベクトルをインターリーブして、サブブロックに対応する１組の１次元ベクトルを発生させる（１１３）。図６−９は、４つの４×４サブブロックへとインターリーブされた８×８ブロックに対する例示的なステップ１１２と１１３を図示し、ここで、インターリーブのタイプはシンタックスエレメントに依拠する。ここで記述するように、エントロピーエンコーディングユニット４６は、ゼロでない値のサブブロックをエントロピーエンコードし（１１４）、ゼロ値のサブブロックは、シンタックスエレメントに基づいて、デコーダにおいて再構成されることができるので、ゼロ値のサブブロックのエンコーディングをスキップしてもよい。
【００７１】
図１２は、本開示に一貫したデコーディング技術を図示するフロー図である。図１２に示したように、エントロピーデコーディングユニット５２は、シンタックスエレメントを含むビットストリームを受け取る（１２１）。エントロピーデコーディングユニット５２は、シンタックスエレメントに基づいて、ビットストリームをパースして、ビデオブロック中のゼロでない値のサブブロックの数を発生させる（１２２）。例えば、シンタックスエレメントは、エントロピーデコーディングユニット５２に、エンコーダによって使用されたインターリーブのタイプを知らせてもよい。図６−９と、上記の対応する記述は、８×８係数ビデオブロックに対して規定されてもよい、１、２、３、および４のシンタックスエレメント値の例を述べる。エントロピーデコーディングユニット５２は、シンタックスエレメントを使用して、ゼロでない値のサブブロックを適切に発生させるために、どのようにビットストリームをパースするかどうかを決定できる。いったん、ゼロでない値のサブブロックが発生されると、エントロピーデコーディングユニット５２は、ゼロでない値のサブブロックをエントロピーデコードし（１２３）、ビットストリーム中に含まれなかった、何らかのゼロ値のサブブロックに対するゼロ値の係数を発生させる（１２４）。再び、シンタックスエレメントは、エントロピーデコーディングユニット５２に、ビットストリーム中に含まれていない、何らかのこのようなゼロ値のサブブロックについて、知らせてもよい。
【００７２】
再び、図１を参照して、本開示と一貫した１つの特定の例において、エンコーダ２２は、ＩＴＵ Ｈ．２６４中で述べたように、４×４ＣＡＶＬＣコード化を適用してもよいが、より大きいスキャンされたビデオブロードキャストクのゼロでない値のサブブロックに対してだけ、このような４×４ＣＡＶＬＣコード化を適用してもよい。記述したシンタックスエレメントは、デコーダに、ゼロ値のサブブロックを知らせる。このケースでは、エンコーダ２２は、ＣＡＶＬＣ技術を適用して、以下のように４×４のゼロでない値のサブブロックの係数をエンコードする。第１に、エンコーダ２２は、４×４のゼロでない値のサブブロック中のゼロでない係数の合計数を、“追跡されたもの（trailing ones）”と組み合わせて、コード化する。追跡されたものの数は、係数ベクトルが、逆スキャン順序で読み取られるときに、１より大きい大きさの係数が生じる前に、生じた、１の大きさを有する係数の数として規定されることができる。この情報をコードするのに使用される可変長コードは、ゼロでない係数の予測数に基づいており、ここで、予測は、従前にエンコードされた隣接ブロック（例えば、上と左の隣接ブロック）中のゼロでない係数に基づいている。
【００７３】
第２に、エンコーダ２２は、何らかの追跡されたもののサインをコード化する。第３に、エンコーダ２２は、追跡されたもの以外のゼロでない係数のレベル（例えば、大きさ）をコード化する。第４に、エンコーダ２２は、最後のゼロでない係数の前に、係数ベクトル中のゼロ値の数をコード化する、すなわち“ラン”の合計。この合計値をコード化するとき使用される、可変長コードは、ブロック中のゼロでない係数の合計数に依拠してもよく、これは、これらの２つの値の間に典型的に何らかの関係があるからである。最後に、エンコーダ２２は、係数ベクトル中の最後のゼロでない値から開始して、それぞれのゼロでない係数の前に発生したランをコード化する。
【００７４】
ランの合計に基づいて、ラン値をエンコードするのに使用される可変長コード化テーブルが、選択されてもよい。例えば、ブロックが、８の“ランの合計”を持ち、第１のランエンコードされたものが６であった場合、すべての残りのランは、０、１、または、２でなければならない。可能なラン長が累進的により短くなるので、より多くの効率的な可変長コードを選択して、特定のラン値を表すのに要求されるビットの数を最小化させることができる。
【００７５】
本開示の技術は、ワイヤレスハンドセット、集積回路（ＩＣ）、または１組のＩＣ（すなわち、チップセット）を含む、幅広いデバイスあるいは装置において実現されてもよい。記述してきた、何らかのコンポーネント、モジュール、または、ユニットは、機能的な観点を強調するように提供し、異なるハードウェアユニットによる実現を必ずしも要求しない。
【００７６】
したがって、ここで記述した技術を、ハードウェア、ソフトウェア、ファームウェア、または、これらの任意の組み合わせで実現してもよい。モジュールまたはコンポーネントとして説明した任意の特徴は、統合された論理デバイス中で一緒に実現されてもよく、別個だが、相互互換性のある論理デバイスとして、個別に実現されてもよい。ソフトウェアにおいて実現される場合、実行されるときに、上で説明した技術のうちの１つ以上を実行する命令を含むプログラムコードを備えるコンピュータ読取可能媒体によって、技術を少なくとも部分的に具現化してもよい。コンピュータ読取可能データ記憶媒体は、パッケージングマテリアルを含んでもよいコンピュータプログラム製品の一部を成してもよい。コンピュータ読取可能媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能プログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気もしくは光学データ記憶媒体、および、これらに類する物を含んでいてもよい。技術は、追加的に、または、代替的に、命令またはデータ構造の形態でコードを担持または搬送してもよく、コンピュータによってアクセスされ、読み出され、および／または、実行されることができる、コンピュータ読取可能通信媒体によって、少なくとも部分的に具体化されてもよい。
【００７７】
１つ以上のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途集積回路（ＡＳＩＣ）、フィールドプログラム可能論理回路（ＦＰＧＡ）、または他の均等な集積もしくはディスクリート論理回路のような１つ以上のプロセッサ、あるいは他の機械によって、コードを実行してもよい。したがって、ここで使用する用語“プロセッサ”は、何らかの前述の構造を指してもよく、または、ここで説明する技術の実現に適した、何らかの他の構造を指してもよい。さらに、いくつかの観点では、エンコーディングおよびデコーディングのために構成された、または、組み合わされたビデオエンコーダ−デコーダ（ＣＯＤＥＣ）に組み込まれた、専用ソフトウェアモジュールまたはハードウェアユニット内に、ここで説明した機能を提供してもよい。
【００７８】
本発明のさまざまな実施形態を説明してきた。これらのおよび他の観点は、特許請求の範囲を逸脱しない。  
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］ビデオブロックをコード化する方法において、
前記方法は、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化することと、
前記ビデオブロックの前記ゼロでない値のサブブロックを発生させることと、
前記ゼロでない値のサブブロックをエントロピーコード化することと
を含み、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む方法。
［２］前記シンタックスエレメントをコード化することは、前記シンタックスエレメントをエンコーディングすることを含み、
前記ゼロでない値のサブブロックを発生させることは、前記シンタックスエレメントに基づいて、前記ビデオブロックをインターリーブすることを含み、
前記ゼロでない値のサブブロックをエントロピーコード化することは、前記ゼロでない値のサブブロックをエントロピーエンコーディングすることを含む、上記［１］の方法。
［３］ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含み、
前記方法は、
前記ゼロ値のサブブロックのエントロピーエンコーディングをスキップすることをさらに含む、上記［２］の方法。
［４］前記コード化することは、デコーディングを含み、
前記方法は、
前記シンタックスエレメントを含むビットストリームを受信することをさらに含み、
前記シンタックスエレメントをコード化することは、前記シンタックスエレメントをデコーディングすることを含み、
前記ゼロでない値のサブブロックを発生させることは、前記シンタックスエレメントに基づいて、前記ビットストリームをパースすることを含み、
前記ゼロでない値のサブブロックをエントロピーコード化することは、前記サブブロックをエントロピーデコーディングすることを含む、上記［１］の方法。
［５］前記ビットストリームは、すべての係数がゼロに等しい係数を持つ、何らかのゼロ値のサブブロックを含まない、上記［４］の方法。
［６］前記ビデオブロックを係数の１次元ベクトルへとスキャンすることをさらに含む、上記［１］の方法。
［７］前記ビデオブロックの前記ゼロでない値のサブブロックを発生させることは、
前記シンタックスエレメントに基づいて、前記１次元ベクトルをインターリーブして、前記ゼロでない値のサブブロックに対応する複数の１次元ベクトルを規定することを含む、上記［６］の方法。
［８］前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定し、
前記方法は、
前記ゼロ値のサブブロックのエントロピーコード化をスキップすることをさらに含む、上記［１］の方法。
［９］前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、上記［１］の方法。
［１０］前記ビデオブロックと、前記サブブロックとは、スキャンされた係数の１次元ベクトルを含む、上記［９］の方法。
［１１］前記ゼロでない値のサブブロックをエントロピーコード化することは、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行することを含む、上記［１］の方法。
［１２］エントロピーコード化ユニットを具備する装置において、
前記エントロピーコード化ユニットは、
ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化し、
前記ビデオブロックの前記ゼロでない値のサブブロックを発生させ、
前記ゼロでない値のサブブロックをエントロピーコード化する
ように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む装置。
［１３］前記エントロピーコード化ユニットは、エントロピーエンコーディングユニットを備え、
前記エントロピーエンコーディングユニットは、
前記シンタックスエレメントをエンコードし、
前記シンタックスエレメントに基づいて、前記ビデオブロックをインターリーブして、前記ゼロでない値のサブブロックを発生させ、
前記ゼロでない値のサブブロックをエントロピーエンコードする
ように構成されている、上記［１２］の装置。
［１４］ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含み、
前記エントロピーエンコーディングユニットは、
前記ゼロ値のサブブロックのエントロピーエンコーディングをスキップするようにさらに構成されている、上記［１３］の装置。
［１５］前記エントロピーエンコーディングユニットは、エントロピーデコーディングユニットを含み、
前記エントロピーデコーディングユニットは、
前記シンタックスエレメントを含むビットストリームを受信し、
前記シンタックスエレメントをデコードし、
前記シンタックスエレメントに基づいて、前記ビットストリームをパースして、前記ゼロでない値のサブブロックを発生させ、
前記サブブロックをエントロピーデコードする
ように構成されている、上記［１２］の装置。
［１６］前記ビットストリームは、すべての係数がゼロに等しい係数を持つ、何らかのゼロ値のサブブロックを含まない、上記［１５］の装置。
［１７］前記エントロピーコード化ユニットは、
前記ビデオブロックを係数の１次元ベクトルへとスキャンするようにさらに構成されている、上記［１２］の装置。
［１８］前記エントロピーコード化ユニットは、
前記シンタックスエレメントに基づいて、前記１次元ベクトルをインターリーブして、前記ゼロでない値のサブブロックに対応する複数の１次元ベクトルを規定するようにさらに構成されている、上記［１２］の装置。
［１９］前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定し、
前記エントロピーコード化ユニットは、
前記ゼロ値のサブブロックのエントロピーコード化をスキップすることをさらに含む、上記［１２］の装置。
［２０］前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、上記［１２］の装置。
［２１］前記ビデオブロックと、前記サブブロックとは、スキャンされた係数の１次元ベクトルを含む、上記［２０］の装置。
［２２］前記エントロピーコード化ユニットは、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行することを含む、上記［１２］の装置。
［２３］前記装置は、集積回路、および、マイクロプロセッサのうちの１つからなる、上記［１２］の装置。
［２４］ビデオコード化デバイス中で実行される際に、前記ビデオコード化デバイスにビデオブロックをコード化させる命令を含むコンピュータ読取可能媒体において、
前記命令は、前記ビデオコード化デバイスに、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化させ、
前記ビデオブロックの前記ゼロでない値のサブブロックを発生させ、
前記ゼロでない値のサブブロックをエントロピーコード化させ、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む、コンピュータ読取可能媒体。
［２５］前記命令は、前記ビデオコード化デバイスに、
前記シンタックスエレメントをエンコードさせ、
前記シンタックスエレメントに基づいて、前記ビデオブロックをインターリーブして、前記ゼロでない値のサブブロックを発生させ、
前記ゼロでない値のサブブロックをエントロピーエンコードさせる、上記［２４］のコンピュータ読取可能媒体。
［２６］ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含み、
前記命令は、前記ビデオコード化デバイスに、
前記ゼロ値のサブブロックのエントロピーエンコーディングをスキップさせる、上記［２５］のコンピュータ読取可能媒体。
［２７］前記命令は、前記ビデオコード化デバイスに、
前記シンタックスエレメントを含むビットストリームを受信させ、
前記シンタックスエレメントをデコードさせ、
前記シンタックスエレメントに基づいて、前記ビットストリームをパースして、前記ゼロでない値のサブブロックを発生させ、
前記サブブロックをエントロピーデコードさせる、上記［２４］のコンピュータ読取可能媒体。
［２８］前記ビットストリームは、すべての係数がゼロに等しい係数を持つ、何らかのゼロ値のサブブロックを含まない、上記［２７］のコンピュータ読取可能媒体。
［２９］前記命令は、前記ビデオコード化デバイスに、
前記ビデオブロックを係数の１次元ベクトルへとスキャンさせる、上記［２４］のコンピュータ読取可能媒体。
［３０］前記命令は、前記ビデオコード化デバイスに、
前記シンタックスエレメントに基づいて、前記１次元ベクトルをインターリーブして、前記ゼロでない値のサブブロックに対応する複数の１次元ベクトルを規定させる、上記［２９］のコンピュータ読取可能媒体。
［３１］前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定し、
前記命令は、前記ビデオコード化デバイスに、
前記ゼロ値のサブブロックのエントロピーコード化をスキップさせる、上記［２４］のコンピュータ読取可能媒体。
［３２］前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、上記［２４］のコンピュータ読取可能媒体。
［３３］前記ビデオブロックと、前記サブブロックとは、スキャンされた係数の１次元ベクトルを含む、上記［３２］のコンピュータ読取可能媒体。
［３４］前記命令は、前記ビデオコード化デバイスに、
コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行させる、上記［２４］のコンピュータ読取可能媒体。
［３５］デバイスにおいて、
前記ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをコード化する手段と、
前記ビデオブロックの前記ゼロでない値のサブブロックを発生させる手段と、
前記ゼロでない値のサブブロックをエントロピーコード化する手段と
を具備し、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む、デバイス。
［３６］コード化は、エンコーディングを含み、
前記シンタックスエレメントをコード化する手段は、前記シンタックスエレメントをエンコーディングする手段を備え、
前記ゼロでない値のサブブロックを発生させる手段は、前記シンタックスエレメントに基づいて、前記ビデオブロックをインターリーブする手段を備え、
前記ゼロでない値のサブブロックをエントロピーコード化する手段は、前記ゼロでない値のサブブロックをエントロピーエンコーディングする手段を備える、上記［３５］のデバイス。
［３７］ゼロ値のサブブロックは、すべての係数がゼロに等しい係数を持つ、前記ビデオブロックのサブブロックを含み、
前記デバイスは、
前記ゼロ値のサブブロックのエントロピーエンコーディングをスキップする手段をさらに具備する、上記［３６］のデバイス。
［３８］コード化は、デコーディングを含み、
前記デバイスは、
前記シンタックスエレメントを含むビットストリームを受信する手段をさらに具備し、
前記シンタックスエレメントをコード化する手段は、前記シンタックスエレメントをデコーディングする手段を備え、
前記ゼロでない値のサブブロックを発生させる手段は、前記シンタックスエレメントに基づいて、前記ビットストリームをパースする手段を備え、
前記ゼロでない値のサブブロックをエントロピーコード化する手段は、前記サブブロックをエントロピーデコーディングする手段を備える、上記［３５］のデバイス。
［３９］前記ビットストリームは、すべての係数がゼロに等しい係数を持つ、何らかのゼロ値のサブブロックを含まない、上記［３８］のデバイス。
［４０］前記ビデオブロックを係数の１次元ベクトルへとスキャンする手段をさらに備える、上記［３５］のデバイス。
［４１］前記ビデオブロックの前記ゼロでない値のサブブロックを発生させる手段は、
前記シンタックスエレメントに基づいて、前記１次元ベクトルをインターリーブして、前記ゼロでない値のサブブロックに対応する複数の１次元ベクトルを規定する手段を備える、上記［４０］のデバイス。
［４２］前記シンタックスエレメントは、前記ゼロでない値のサブブロックの数と、すべての係数がゼロに等しい係数を持つゼロ値のサブブロックの数との両方を規定し、
前記デバイスは、
前記ゼロ値のサブブロックのエントロピーコード化をスキップする手段をさらに具備する、上記［３５］のデバイス。
［４３］前記ビデオブロックは、６４個の係数を有する８×８ビデオブロックと、２５６個の係数を有する１６×１６ビデオブロックとのうちの１つを含み、前記サブブロックは、１６個の係数を有する４×４ブロックを含む、上記［３５］のデバイス。
［４４］前記ビデオブロックと、前記サブブロックとは、スキャンされた係数の１次元ベクトルを含む、上記［４３］のデバイス。
［４５］前記ゼロでない値のサブブロックをエントロピーコード化する手段は、コンテンツ適応可変長コード化（ＣＡＶＬＣ）、または、コンテキスト適応バイナリ算術コード化（ＣＡＢＡＣ）の少なくとも１つを、前記ゼロでない値のサブブロックの係数に実行する手段を備える、上記［３５］のデバイス。
［４６］デバイスにおいて、
エントロピーエンコーディングユニットと、
エントロピーコード化されたゼロでない値のサブブロックと、シンタックスエレメントとを含むビットストリームを送る、ワイヤレス送信機と
を具備し、
前記エントロピーエンコーディングユニットは、
ビデオブロックのゼロでない値のサブブロックの数を規定するシンタックスエレメントをエンコードし、
前記ビデオブロックの前記ゼロでない値のサブブロックを発生させ、
前記ゼロでない値のサブブロックをエントロピーエンコードする
ように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む、デバイス。
［４７］デバイスにおいて、
エントロピーコード化されたゼロでない値のサブブロックと、シンタックスエレメントとを含むビットストリームを受け取るワイヤレス受信機と、
エントロピーデコーディングユニットと
を具備し、
前記エントロピーデコーディングユニットは、
シンタックスエレメントをデコードして、ビデオブロックのゼロでない値のサブブロックの数を決定し、
前記シンタックスエレメントに基づいて、前記ビデオブロックの前記ゼロでない値のサブブロックを発生させ、
前記ゼロでない値のサブブロックをエントロピーデコードする
ように構成されており、
前記ゼロでない値のサブブロックは、少なくとも１つのゼロでない係数を含む、デバイス。
【図１】
0005623602.tif 000002
【図２】
0005623602.tif 000003
【図３】
0005623602.tif 000004
【図４】
0005623602.tif 000005
【図５】
0005623602.tif 000006
【図６】
0005623602.tif 000007
【図７】
0005623602.tif 000008
【図８】
0005623602.tif 000009
【図９】
0005623602.tif 000010
【図１０】
0005623602.tif 000011
【図１１】
0005623602.tif 000012
【図１２】
0005623602.tif 000013