(57)【特許請求の範囲】
【請求項１】
ビデオデータをエンコードする方法であって、前記方法は、
エンコードビットストリームのビットの第１シーケンスにおいて、ビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードすること、ここで、前記ヘッダ情報をエンコードすることは前記ビデオブロックの各々毎に複数のヘッダシンタックス要素を複数のヘッダシンタックス要素の異なるタイプのグループに配置すること、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のエンコードランをインタリーブすることを含む、
前記エンコードビットストリームのビットの第２シーケンスにおいて、前記複数のビデオブロックの残差情報をエンコードすることを具備する方法。
【請求項２】
前記複数のビデオブロックの前記ヘッダ情報をエンコードすることは、前記複数のビデオブロックの前記ヘッダ情報をランレングスエンコードすることを具備する請求項１の方法。
【請求項３】
エンコードビットストリームのビットの前記第１シーケンスにおける前記複数のビデオブロックのヘッダ情報をエンコードすることは、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループの少なくとも幾つかのランを連続してエンコードすることを具備する請求項1
の方法。
【請求項４】
ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブすることは、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードすることを具備する請求項１の方法。
【請求項５】
最短の第１ランを有するヘッダシンタクス要素のグループのうちの１つを除く前記ヘッダシンタクス要素の他のグループの全てのいずれかに関して第２ランをエンコードするより前に、前記最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの前記１つに関して前記第２ランをエンコードすることをさらに具備すること請求項４の方法。
【請求項６】
前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロックからの量子化パラメータの変更（デルタＱＰ）、および変換サイズの少なくとも１つを含む請求項１の方法。
【請求項７】
ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信することをさらに具備する請求項１の方法。
【請求項８】
ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードすることをさらに具備する請求項１の方法。
【請求項９】
前記指標をエンコードすることは、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードすることを具備する請求項８の方法。
【請求項１０】
前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、
前記方法は、
第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードすることをさらに具備する請求項１の方法。
【請求項１１】
前記コード単位は、スライスおよびフレームのうちの１つを具備する請求項１の方法。
【請求項１２】
前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードすることは、可変長コーディングまたは算術コーディングを用いて前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードすることを具備する請求項１の方法。
【請求項１３】
エンコードビットストリームのビットの第１シーケンスにおいてビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードするように構成される第１エンコーディングモジュールと、ここで、前記第1エンコーディングモジュールは前記ビデオブロックの各々毎に複数のヘッダシンタックス要素を複数のヘッダシンタックス要素の異なるタイプのグループに配置し、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のエンコードランをインタリーブする、
前記エンコードビットストリームのビットの第２シーケンスにおいて前記複数のビデオブロックの残差情報をエンコードする第２エンコーディングモジュールと、を具備するエンコーディングデバイス。
【請求項１４】
前記第１エンコーディングモジュールは、前記複数のビデオブロックの前記ヘッダ情報をランレングスコードするランレングスコーディングモジュールを具備する請求項１３のデバイス。
【請求項１５】
前記第１エンコーディングモジュールは、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループの少なくとも幾つかのランを連続してエンコードする請求項１４のデバイス。
【請求項１６】
前記第１エンコーディングモジュールは、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードする請求項１５のデバイス。
【請求項１７】
前記第１エンコーディングモジュールは、最短の第１ランを有するヘッダシンタクス要素のグループのうちの１つを除く前記ヘッダシンタクス要素の他のグループの全てのいずれかに関して第２ランをエンコードするより前に、前記最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの前記１つに関して前記第２ランをエンコードする請求項１６のデバイス。
【請求項１８】
前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロックからの量子化パラメータの変更（デルタＱＰ）、および変換サイズの少なくとも１つを含む請求項１３のデバイス。
【請求項１９】
ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信する送信機をさらに具備する請求項１３のデバイス。
【請求項２０】
前記第１エンコーディングモジュールは、ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードする請求項１３のデバイス。
【請求項２１】
前記第１エンコーディングモジュールは、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードする請求項２０のデバイス。
【請求項２２】
前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、
前記第１および第２エンコーディングモジュールの少なくとも１つは、
第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードする請求項１３のデバイス。
【請求項２３】
前記コード単位は、スライスおよびフレームのうちの１つを具備する請求項１３のデバイス。
【請求項２４】
前記デバイスは、無線通信デバイスを具備する請求項１３のデバイス。
【請求項２５】
前記エンコーディングデバイスは、可変長コーディングまたは算術コーディングのうちの１つを用いてデータをエンコードする請求項１３のデバイス。
【請求項２６】
プロセッサに、
エンコードビットストリームのビットの第１シーケンスにおいてビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードさせる命令と、ここで、前記プロセッサに前記ヘッダ情報をエンコードさせる前記命令は前記プロセッサに前記ビデオブロックの各々毎に複数のヘッダシンタックス要素を複数のヘッダシンタックス要素の異なるタイプのグループに配置させ、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のエンコードランをインタリーブさせる、
前記エンコードビットストリームのビットの第２シーケンスにおいて前記複数のビデオブロックの残差情報をエンコードさせる命令と、を具備するコンピュータ読み取り可能な媒体。
【請求項２７】
前記プロセッサに前記複数のビデオブロックの前記ヘッダ情報をエンコードさせる命令は、前記プロセッサに、前記複数のビデオブロックの前記ヘッダ情報をランレングスエンコードさせる命令を具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項２８】
前記プロセッサに、エンコードビットストリームのビットの前記第１シーケンスにおける前記複数のビデオブロックのヘッダ情報をエンコードさせる命令は、前記プロセッサに、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループのそれぞれのランを連続してエンコードさせる命令を具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項２９】
前記プロセッサに、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブさせる命令は、前記プロセッサに、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードさせる命令を具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項３０】
前記プロセッサに、最短の第１ランを有するヘッダシンタクス要素のグループのうちの１つを除く前記ヘッダシンタクス要素の他のグループの全てのいずれかに関して第２ランをエンコードするより前に、前記最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの前記１つに関して第２ランをエンコードさせる命令をさらに具備する請求項２９のコンピュータ読み取り可能な媒体。
【請求項３１】
前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロックからの量子化パラメータの変更（デルタＱＰ）、および変換サイズの少なくとも１つを含む請求項２６のコンピュータ読み取り可能な媒体。
【請求項３２】
前記プロセッサに、ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信させる命令をさらに具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項３３】
前記プロセッサに、ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードさせる命令をさらに具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項３４】
前記プロセッサに、前記指標をエンコードさせる命令は、前記プロセッサに、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードさせる命令を具備する請求項３３のコンピュータ読み取り可能な媒体。
【請求項３５】
前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、
前記コンピュータ読み取り可能な媒体は、
前記プロセッサに、第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードさせる命令をさらに具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項３６】
前記コード単位は、スライスおよびフレームのうちの１つを具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項３７】
前記プロセッサに、前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードさせる命令は、可変長コーディングまたは算術コーディングを用いて前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードさせる命令を具備する請求項２６のコンピュータ読み取り可能な媒体。
【請求項３８】
エンコードビットストリームのビットの第１シーケンスにおいてビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードする手段と、ここで、前記ヘッダ情報をエンコードする手段は前記ビデオブロックの各々毎に複数のヘッダシンタックス要素を複数のヘッダシンタックス要素の異なるタイプのグループに配置し、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のエンコードランをインタリーブする、
前記エンコードビットストリームのビットの第２シーケンスにおいて前記複数のビデオブロックの残差情報をエンコードする手段と、を具備するエンコーディングデバイス。
【請求項３９】
前記ヘッダ情報エンコード手段は、前記複数のビデオブロックの前記ヘッダ情報をランレングスエンコードする請求項３８のデバイス。
【請求項４０】
前記ヘッダ情報エンコード手段は、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループの少なくとも幾つかのランを連続してエンコードする請求項３８のデバイス。
【請求項４１】
前記ヘッダ情報エンコード手段は、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブする請求項３８のデバイス。
【請求項４２】
前記ヘッダ情報エンコード手段は、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードする請求項３８のデバイス。
【請求項４３】
前記ヘッダ情報エンコード手段は、最短の第１ランを有するヘッダシンタクス要素のグループのうちの１つを除く前記ヘッダシンタクス要素の他のグループの全てのいずれかに関して第２ランをエンコードするより前に、前記最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの前記１つに関して第２ランをエンコードする請求項４２のデバイス。
【請求項４４】
前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロックからの量子化パラメータの変更（デルタＱＰ）、および変換サイズの少なくとも１つを含む請求項３８のデバイス。
【請求項４５】
ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信する手段をさらに具備する請求項３８のデバイス。
【請求項４６】
前記ヘッダ情報エンコード手段は、ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードする請求項３８のデバイス。
【請求項４７】
前記ヘッダ情報エンコード手段は、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードする請求項４６のデバイス。
【請求項４８】
前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、
前記デバイスは、
第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードする手段をさらに具備する請求項３８のデバイス。
【請求項４９】
前記コード単位は、スライスおよびフレームのうちの１つを具備する請求項３８のデバイス。
【請求項５０】
前記エンコーディングデバイスは、可変長コーディングまたは算術コーディングのうちの１つを用いてデータをエンコードする請求項３８のデバイス。
【請求項５１】
ビデオデータをデコードする方法であって、前記方法は、
コード単位の複数のビデオブロックのヘッダ情報を得るために、エンコードビットストリームのビットの第１シーケンスをデコードすること、ここで、前記複数のビデオブロックの前記ヘッダ情報は複数のヘッダシンタックス要素の異なるタイプのグループに配置され、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のインタリーブされたエンコードランを含む、
前記複数のビデオブロックの残差情報を得るために、前記エンコードビットストリームのビットの第２シーケンスをデコードし、
前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付けることを具備する方法。
【請求項５２】
前記複数のビデオブロックのそれぞれの前記残差情報と対応するヘッダ情報とを関連付けることは、前記複数のビデオブロックのそれぞれの前記残差情報と複数の対応するヘッダシンタクス要素とを関連付けることを具備する請求項５１の方法。
【請求項５３】
ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出することをさらに具備する請求項５１の方法。
【請求項５４】
前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いて、前記コード単位の前記ビデオブロックのそれぞれを再構成することをさらに具備する請求項５１の方法。
【請求項５５】
前記ビデオブロックのそれぞれを再構成することは、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位のビデオブロックのそれぞれを再構成することを具備する請求項５４の方法。
【請求項５６】
前記ビデオブロックのそれぞれを再構成することは、前記コード単位のビットの前記２つのシーケンスの残り部分をデコードするとともに、前記コード単位の各ビデオブロックを再構成することを具備する請求項５４の方法。
【請求項５７】
ヘッダ情報を得るためにビットの前記第１シーケンスをデコードすることおよび残差情報を得るためにビットの前記第２シーケンスをデコードすることは、ビットの前記第１シーケンスおよびビットの前記第２シーケンスをともにデコードすることを具備する請求項５１の方法。
【請求項５８】
コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンスをデコードし、前記複数のビデオブロックの残差情報を得るために前記エンコードビットストリームのビットの第２シーケンスをデコードする少なくとも１つのデコーダモジュールと、
前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付けるヘッダ関連付けモジュールと、を具備し、前記複数のビデオブロックの前記ヘッダ情報は複数のヘッダシンタックス要素の異なるタイプのグループに配置され、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のインタリーブされたエンコードランを含む、デコーディングデバイス。
【請求項５９】
前記ヘッダ関連付けモジュールは、前記複数のビデオブロックのそれぞれの前記残差情報と複数の対応するヘッダシンタクス要素とを関連付ける請求項５８のデバイス。
【請求項６０】
前記少なくとも１つのデコーダは、ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出する請求項５８のデバイス。
【請求項６１】
前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いる前記コード単位の前記ビデオブロックのそれぞれを再構成する手段をさらに具備する請求項５８のデバイス。
【請求項６２】
前記再構成する手段は、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位のビデオブロックのそれぞれを再構成することを具備する請求項６１のデバイス。
【請求項６３】
前記再構成する手段は、前記デコーダモジュールが前記コード単位の第２ビデオブロックのヘッダ情報を得るためにビットの前記第１シーケンスの一部をデコードするとともに、前記コード単位の第１ビデオブロックを再構成する請求項６１のデバイス。
【請求項６４】
前記デバイスは、無線通信デバイスを具備する請求項５８のデバイス。
【請求項６５】
前記少なくとも１つのデコーダモジュールは、ビットの前記第１シーケンスとビットの前記第２シーケンスとをともにデコードする請求項５８のデバイス。
【請求項６６】
少なくとも１つのプロセッサに、
コード単位の複数のビデオブロックのヘッダ情報を得るために、エンコードビットストリームのビットの第１シーケンスをデコードさせ、ここで、前記複数のビデオブロックの前記ヘッダ情報は複数のヘッダシンタックス要素の異なるタイプのグループに配置され、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のインタリーブされたエンコードランを含む、
前記複数のビデオブロックの残差情報を得るために、前記エンコードビットストリームのビットの第２シーケンスをデコードさせ、
前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付けさせる命令を具備するコンピュータ読み取り可能な媒体。
【請求項６７】
前記少なくとも１つのプロセッサに、前記複数のビデオブロックのそれぞれの前記残差情報と対応するヘッダ情報とを関連付けさせる命令は、前記少なくとも１つのプロセッサに、前記複数のビデオブロックのそれぞれの前記残差情報と、複数の対応するヘッダシンタクス要素とを関連付けさせる命令を具備する請求項６６のコンピュータ読み取り可能な媒体。
【請求項６８】
前記少なくとも１つのプロセッサに、ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出させる命令をさらに具備する請求項６６のコンピュータ読み取り可能な媒体。
【請求項６９】
前記少なくとも１つのプロセッサに、前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いる前記コード単位の前記ビデオブロックのそれぞれを再構成させる命令をさらに具備する請求項６６のコンピュータ読み取り可能な媒体。
【請求項７０】
前記少なくとも１つのプロセッサに、前記ビデオブロックのそれぞれを再構成させる前記命令は、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位の各ビデオブロックを再構成するための命令を具備する請求項６９のコンピュータ読み取り可能な媒体。
【請求項７１】
前記少なくとも１つのプロセッサに、前記ビデオブロックのそれぞれを再構成させる前記命令は、前記コード単位の第２ビデオブロックのヘッダ情報を得るために、ビットの前記第１シーケンスの一部をデコードするとともに、前記コード単位の第１ビデオブロックを再構成するための命令を具備する請求項６９のコンピュータ読み取り可能な媒体。
【請求項７２】
少なくとも１つのプロセッサに、ビットの前記第１シーケンスおよびビットの前記第２シーケンスをともにデコードさせる命令をさらに具備する請求項６６のコンピュータ読み取り可能な媒体。
【請求項７３】
コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンス、および前記複数のビデオブロックの残差情報を得るために前記エンコードビットストリームのビットの第２シーケンスをデコードする手段と、ここで、前記複数のビデオブロックの前記ヘッダ情報は複数のヘッダシンタックス要素の異なるタイプのグループに配置され、前記第1シーケンスのビット内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のインタリーブされたエンコードランを含む、
前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付ける手段と、を具備するデコーディングデバイス。
【請求項７４】
前記関連付ける手段は、前記複数のビデオブロックのそれぞれの前記残差情報と複数の対応するヘッダシンタクス要素とを関連付ける請求項７３のデバイス。
【請求項７５】
ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出する手段をさらに具備する請求項７３のデバイス。
【請求項７６】
前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いて、前記コード単位の前記ビデオブロックのそれぞれを再構成する手段をさらに具備する請求項７３のデバイス。
【請求項７７】
前記再構成する手段は、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位のビデオブロックのそれぞれを再構成する請求項７６のデバイス。
【請求項７８】
前記再構成する手段は、前記デコードする手段が前記コード単位の第２ビデオブロックのヘッダ情報を得るためにビットの前記第１シーケンスの一部をデコードするとともに、前記コード単位の第１ビデオブロックを再構成する請求項７６のデバイス。
【請求項７９】
前記デコードする手段は、ビットの前記第１シーケンスとビットの前記第２シーケンスとをともにデコードする請求項７３のデバイス。
【請求項８０】
ビットの前記第1シーケンス内の複数のヘッダシンタックス要素の異なるタイプの前記グループの複数の部分の複数のエンコードランをインタリーブすることは、
前記ビデオブロックの複数のヘッダシンタックス要素の第1グループのための第１ランをエンコードすること、
ヘッダシンタックス要素の前記第1グループのための第２ランをエンコードする前に前記ビデオブロックのヘッダシンタックス要素の少なくとも第２グループのための第１ランをエンコードすること、を含み、前記第１グループの前記ヘッダシンタックス要素は前記第１ラン及び第２ランにおいて異なる値を有する、請求項１の方法。
【請求項８１】
前記第1エンコーディングモジュールは前記ビデオブロックのヘッダシンタックス要素の第１グループのための第１ランをエンコードし、
ヘッダシンタックス要素の前記第１グループのための第２ランをエンコードする前に前記ビデオブロックのヘッダシンタックス要素の少なくとも第２グループのための第１ランをエンコードし、前記第１グループの前記ヘッダシンタックス要素は前記第１ラン及び前記第２ランにおいて異なる値を有する、請求項１３のデバイス。
【請求項８２】
ビットの前記第１シーケンス内のヘッダシンタックス要素の異なるタイプの前記グループの部分のエンコードされたランを前記プロセッサにインタリーブさせる命令は前記プロセッサに、前記ビデオブロックのヘッダシンタックス要素の第１グループのための第１ランをエンコードさせ、
ヘッダシンタックス要素の前記第１グループのための第２ランをエンコードする前に前記ビデオブロックのヘッダシンタックス要素の少なくとも第２グループのための第１ランをエンコードさせ、前記第１グループの前記ヘッダシンタックス要素は前記第１ラン及び前記第２ランにおいて異なる値を有する、請求項２６のコンピュータ読み取り可能な媒体。
【請求項８３】
前記ヘッダ情報をエンコードする手段は
前記ビデオブロックのヘッダシンタックス要素の第１グループのための第１ランをエンコードし、
ヘッダシンタックス要素の前記第１グループのための第２ランをエンコードする前に前記ビデオブロックのヘッダシンタックス要素の第２グループのための第１ランをエンコードし、前記第１グループの前記ヘッダシンタックス要素は前記第１ラン及び前記第２ランにおいて異なる値を有する、請求項３８のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、デジタルビデオコーディングに関し、より詳細には、ビデオシーケンスのブロックヘッダ情報をコーディングすることに関する。
【０００２】
この出願は、全内容を参照することによりここに組み込まれる、２００７年１０月１２日に提出された、米国仮出願番号６０／９７９，７３４の利益を主張する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、無線通信デバイス、無線ブロードキャストシステム、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、携帯または衛星無線電話などを含む、広範囲のデバイスに組み込まれうる。デジタルビデオデバイスは、デジタルビデオをより効率的に送受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４または、一般にアドバンスドビデオコーディング（ＡＶＣ）を呼ばれるＨ．２６４／ＭＰＥＧ−４（Ｐａｒｔ １０）のようなビデオ圧縮手法を実装する。ビデオ圧縮手法は、ビデオシーケンスにおける特有の冗長度を削減しまたは除去するために、時空間予測をおこなう。
【０００４】
ビデオコーディングでは、ビデオ圧縮はしばしば空間予測、動き推定および動き補償を含む。イントラコーディングは、あるビデオフレーム内のビデオブロック間の空間冗長度を削減しまたは除去するために、空間予測に依存する。インターコーディングは、ビデオシーケンスの連続するビデオフレームのビデオブロック間の時間冗長度を削減しまたは除去するために、時間予測に依存する。インターコーディングについては、ビデオエンコーダは、２以上の隣接フレーム間でマッチングしているビデオブロックの移動を追跡するために動き推定をおこなう。動き推定は動きベクトルを生成し、動きベクトルは、１以上の参照フレームにおいて対応する予測ビデオブロックに関連するビデオブロックの変位を示す。動き補償は、参照フレームから予測ビデオブロックを特定して生成するために動きベクトルを用いる。動き補償の後、残差情報のブロックは、コードされる元のビデオブロックから予測ビデオブロックを減じることにより生成される。それゆえ、残差情報は、予測ビデオブロックと残差情報とを識別する際に、コードされたビデオブロックがデコーダで再構成されうることができるように、コードされているビデオブロックと予測ビデオブロックとの間の差を定量する。
【０００５】
ビデオエンコーダは、残差情報のブロックの通信に関連したビットレートをさらに削減するために、変換、量子化およびエントロピーコーディング処理を適用してもよい。一般に、エントロピーコーディングは、変換および量子化操作によって作り出された残差係数をさらに圧縮するために、算術符号または可変長符号（ＶＬＣ）のアプリケーションを伴う。複数の例は、コンテキスト適応性のある２進算術コーディング（ＣＡＢＡＣ）とコンテキスト適応性のある可変長コーディング（ＣＡＶＬＣ）とを含み、いくつかのエンコーダにおいて代替となるエントロピーコーディングモードとして用いられてもよい。ビデオデコーダは、ブロックのそれぞれに関して動き情報と残差情報とを用いて、エンコードされたビデオを再構成するために逆演算をおこなう。
【発明の概要】
【０００６】
この開示は、ビデオデータのコード単位のビデオブロック間のヘッダ情報における相関を利用する、階層エンコードビットストリーム構造を生成する手法を記述する。この開示の手法に従って動作するように構成されたビデオエンコーダは、スライスのビデオブロックの残差情報とスライスのビデオブロックのヘッダ情報（または、他のコード単位）とを分離する。ブロックのそれぞれのヘッダ情報は、ブロックタイプシンタクス要素、予測モードシンタクス要素、分割サイズシンタクス要素、動きベクトルシンタクス要素、コードされたブロックパターンシンタクス要素または他のタイプのシンタクス要素のような、複数のヘッダシンタクス要素を含んでもよい。
【０００７】
ビデオエンコーダは、ヘッダシンタクス要素の種類に基づいてグループの中へのブロックのヘッダシンタクス要素を配置してもよい。例えば、ビデオエンコーダは、ブロックのそれぞれのブロックタイプシンタクス要素を一緒にグループ化してもよく、ブロックのそれぞれの予測モードシンタクス要素をグループ化するなどしてもよい。ビデオエンコーダは、スライスのブロック間のヘッダ情報の相関をよりよく利用するために、シンタクス要素のグループをランレングスエンコードする。同じブロックタイプシンタクス要素を備えるスライスの多くのブロックに関して、例えば、ビデオエンコーダは、Ｎのランとしてスライスのブロックのブロックタイプをエンコードしてもよく、ここでＮは、同じブロックタイプを有するスライスにおける連続ブロック数である。
【０００８】
ヘッダシンタクス要素のグループの各々をエンコードした後に、ビデオエンコーダは、スライスのブロックのそれぞれに関する残差情報をエンコードしてもよい。スライスのブロックに関するエンコードされたヘッダ情報は、ビットストリームの１つの“レイヤ”として見なされてもよく、残差情報は、ビットストリームの別の“レイヤ”として見なされてもよい。言いかえれば、ビデオエンコーダは、スライスのブロックのエンコードされたヘッダ情報に対応するビットの第１シーケンスをエンコードしてもよく、スライスのブロックのエンコードされた残差情報に対応するビットの第２シーケンスをエンコードしてもよい。
【０００９】
１つの態様では、エンコードビットストリームのビットの第１シーケンスにおけるビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードすること、エンコードビットストリームのビットの第２シーケンスにおける複数のビデオブロックの残差情報をエンコードすることを含む。
【００１０】
別の態様では、エンコーディングデバイスは、エンコードビットストリームのビットの第１シーケンスにおけるビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードする第１エンコーディングモジュールと、エンコードビットストリームのビットの第２シーケンスにおける複数のビデオブロックの残差情報をエンコードする第２エンコードモジュールとを含む。
【００１１】
別の態様では、プロセッサに、エンコードビットストリームのビットの第１シーケンスにおけるビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードさせ、エンコードビットストリームのビットの第２シーケンスにおける複数のビデオブロックの残差情報をエンコードさせる命令を含むコンピュータ読み取り可能な媒体。
【００１２】
別の態様では、エンコードデバイスは、エンコードビットストリームのビットの第１シーケンスにおけるビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードする手段と、エンコードビットストリームのビットの第２シーケンスにおける複数のビデオブロックの残差情報をエンコードする手段とを具備する。
【００１３】
別の態様では、ビデオデータをデコードする方法は、コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンスをデコードし、複数のビデオブロックの残差情報を得るためにエンコードビットストリームのビットの第２シーケンスをデコードし、対応するヘッダ情報と複数のビデオブロックのそれぞれの残差情報とを関連付けることを含む。
【００１４】
別の態様では、デコーディングデバイスは、コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンスをデコードし、複数のビデオブロックの残差情報を得るためにエンコードビットストリームのビットの第２シーケンスをデコードする少なくとも１つのデコーダモジュールと、対応するヘッダ情報と複数のビデオブロックのそれぞれの残差情報とを関連付けるヘッダ関連付けモジュールとを含む。
【００１５】
別の態様では、少なくとも１つのプロセッサに、コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンスをデコードさせ、複数のビデオブロックの残差情報を得るためにエンコードビットストリームのビットの第２シーケンスをデコードさせ、対応するヘッダ情報と複数のビデオブロックのそれぞれの残差情報とを関連付ける命令を含むコンピュータ読み取り可能な媒体。
【００１６】
別の態様では、デコーディングデバイスは、コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンスをデコードする手段と、複数のビデオブロックの残差情報を得るためにエンコードビットストリームのビットの第２シーケンスをデコードする手段と、複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付ける手段と、を含む。
【００１７】
この開示に記述された手法は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組み合わせで実装してもよい。ソフトウェアで実装する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、他の等価の集積または離散論理回路のような、１以上のプロセッサを参照してもよいプロセッサにおいて、実行されてもよい。手法を実行する命令を含むソフトウェアは、コンピュータ読み取り可能な媒体に最初に記憶され、プロセッサによって実行されおよびロードされてもよい。
【００１８】
従って、この開示はまた、プロセッサに、この開示で記述されているような任意の様々な手法を行わせる命令を含むコンピュータ読み取り可能な媒体を意図する。いくつかの場合では、コンピュータ読み取り可能な媒体は、メーカーに売られ、および／または、デバイスに用いられてもよい、コンピュータプログラム製品の一部を形成してもよい。コンピュータプログラム製品は、コンピュータ読み取り可能な媒体を含んでもよく、場合によっては、包装材料（packaging material）も含んでもよい。
【００１９】
本開示の１以上の態様の詳細は、以下の記述および添付図面において説明される。この開示において記述された手法の他の特徴、オブジェクトおよび利点は、詳細な説明および図面、および特許請求の範囲から明白になるだろう。
【図面の簡単な説明】
【００２０】
【図１】ビデオエンコーディングおよびデコーディングシステムを示すブロック図。
【図２】ビデオエンコーダの一例を示すブロック図。
【図３】本開示の態様に従って、階層エンコードビットストリームを生成するように構成されたエントロピーエンコーディング部のブロック図。
【図４】ビデオデコーダの一例を示すブロック図。
【図５】この開示の態様に従って、階層エンコードビットストリームをデコードするように構成されたエントロピーデコーディング部の一例を示すブロック図。
【図６】この開示の態様に従って、インタリーブされた階層エンコードビットストリームをデコードするように構成されたエントロピーデコーディング部の別例を示すブロック図。
【図７Ａ】エンコードビットストリーム構造例を示す図。
【図７Ｂ】エンコードビットストリーム構造例を示す図。
【図７Ｃ】エンコードビットストリーム構造例を示す図。
【図８】階層エンコードビットストリームを生成するエントロピーエンコーディング部の動作例を示すフローチャート。
【図９】階層エンコードビットストリームをデコードするエントロピーデコーディング部の動作例を示すフローチャート。
【図１０】インタリーブされた階層エンコードビットストリームをデコードするエントロピーデコーディング部の動作例を示すフローチャート。
【発明を実施するための形態】
【００２１】
この開示はビデオデータをコーディングするための手法を記述する。ビデオデータは、ビデオシーケンスの一連のビデオフレームであってもよい。ビデオエンコーダは、ビデオデータをエンコードするために、ビデオフレームのそれぞれを、複数のピクセルのブロックまたは変換係数のブロック（ここで“ブロック”と呼ばれる）に分割してもよい。ビデオエンコーダはその後、一連のビデオフレームのブロックのそれぞれをエンコードし、エンコードビットストリームを出力する。各ブロックについては、例えば、ビデオエンコーダは、ブロックに関するヘッダ情報とブロックに関する残差情報とをエンコードしてもよい。各ブロックのヘッダ情報は、ブロックタイプ、予測モード、分割サイズ、動きベクトル、エンコードブロックパターン、前のブロックからの量子化パラメータの変更（デルタＱＰ）、変換サイズなどのようなブロックの特定の特性を識別する多くのシンタクス要素を含んでもよい。ヘッダ情報は、予測ブロックを生成するためにデコーダによって用いられる。各ブロックの残差情報は、予測ブロックと残差情報とを生成するために用いられるヘッダ情報を識別する際、コードされたビデオブロックがデコーダで再構成されうることができるように、ブロックと１以上の予測ブロックとの間の差を定量する。
【００２２】
従来のビデオエンコーダは、ブロックごとのやり方でビデオブロックをエンコードする。言いかえれば、従来のビデオエンコーダは、第１ブロックのヘッダ情報に続いて第１ブロックの対応する残差情報をエンコードし、その後、第２ブロックのヘッダ情報に続いて第２ブロックの対応する残差情報をエンコードする。従来のビデオエンコーダは、全てのコード単位のブロック（例えば、スライスまたはフレーム）がエンコードされるまで、ブロックごとのやり方でビデオブロックをエンコードし続ける。このように、従来のビデオエンコーダは、ブロックごとのエンコードビットストリーム構造によってブロックを生成することとして見られてもよい。
【００２３】
コード単位の多くのブロックに関するヘッダ情報は、空間的に相関してもよい。言いかえれば、スライスの多くのブロック（または他のコード単位）は、同じようなブロックヘッダ情報、すなわち同じヘッダシンタクス要素の１つ以上を含んでもよい。例えば、スライスの多くのブロックは、同じブロックタイプ、同じデルタＱＰなどを有してもよい。そのような相関の利用によって、よりよいコーディング効率はエントロピーエンコーダによって実現されてもよい。エントロピーエンコーダが算術コーディングを用いるとき、そのような相関は、隣接するブロックの同じシンタクス要素の値に基づく算術コーディングコンテキストを形成することにより通常利用される。エントロピーエンコーダが可変長コーディング（ＶＬＣ）を用いるとき、そのような相関は、隣接するブロックの同じシンタクス要素の値からの現シンタクス要素の値を予測することにより通常利用される。従来のビデオエンコーダがブロックごとの基準でスライスのビデオブロックをエンコードするので、従来のビデオエンコーダは、スライスのブロック間のヘッダ情報の相関を完全に利用することができなくてもよい。これは、エントロピーエンコーダが可変長コーディングを用いる場合には特に当てはまる。例として、ブロックタイプに関するヘッダシンタクス要素を用いて、たとえ多くの連続ブロックが同じブロックタイプを有しても、ＶＬＣモードで動作する従来のビデオエンコーダは、ブロックタイプが前のブロックと同じであることを示すために各ブロックに関する１ビットフラグを送ってもよい。それゆえ、ＶＬＣを用いる従来のビデオエンコーダは、スライスのブロック間のヘッダ情報の相関を利用するために、１シンタクス要素当たりの１ブロック当たり少なくとも１ビットをエンコードしてもよい。
【００２４】
この開示は、階層エンコードビットストリーム構造の生成に関する手法を説明する。階層エンコードビットストリーム構造を生成するように構成されたビデオエンコーダは、スライスの多くのブロック（または他のコード単位）のヘッダシンタクス要素をグループ化し、グループ化されたヘッダシンタクス要素を一緒にエンコードするように構成されてもよい。ビデオエンコーダは、スライスのブロック間、すなわち、ブロック境界をこえてヘッダ情報の相関をよりよく利用するために、グループ化されたシンタクス要素をランレングスエンコードしてもよい。同じブロックタイプを備えるスライスの多くのブロックについては、例えば、ビデオエンコーダは、従来のビデオエンコーダによっておこなわれるようなブロック当たり１ビットをエンコードする代わりに、Ｎのランとしてスライスのブロックのブロックタイプをエンコードしてもよい。ここでＮは、同じブロックタイプを有するスライスにおける連続ブロック数である。
【００２５】
この開示の手法は、例えば、従来のＶＬＣ手法と比較して、複数のブロックに関するブロックヘッダ情報をエンコードするために費やされるビット数の低減をもたらしてもよい。上の例において、ＶＬＣを用いるビデオエンコーダは、ブロックタイプをエンコードするためにブロック当たり１ビット未満を費やしてもよい一方、ＶＬＣを用いる従来のビデオエンコーダは、同じブロックタイプ情報をエンコードするためにブロック当たり少なくとも１ビットを費やすであろう。算術コーディングを用いるビデオエンコーダはまた、この開示において記述される階層エンコードビットストリーム構造を利用してもよい。ＶＬＣと算術コーディングとの両方に関する階層エンコードビットストリームを用いることで、ＶＬＣと算術コーダとの間でより一定のビットストリーム構造を提供してもよい。さらに、階層ビットストリーム構造は、ヘッダレイヤと残差レイヤとに等しくない誤り保護に関する機会を提供する。例えば、より重要な情報を伝えるヘッダレイヤは、残差レイヤよりも、よい誤り保護を提供してもよい。
【００２６】
図１は、ビデオエンコーディングおよびデコーディングシステム１０を示すブロック図である。図１に示されるように、システム１０は、通信チャネル１６を経て受信デバイス１４にエンコードビデオデータを送信するソースデバイス１２を含む。通信チャネル１６は、無線周波数（ＲＦ）スペクトルまたは１以上の物理的伝送路、または、無線および有線の媒体の組み合わせのような、任意の無線または有線の通信媒体を具備してもよい。通信チャネル１６は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバネットワークのようなパケットに基づくネットワークの一部を形成してもよい。通信チャネル１６は、一般に、ソースデバイス１２から受信デバイス１４にエンコードビデオデータを送信するために、任意の適した通信媒体、または異なる通信媒体の一群を表わす。
【００２７】
ソースデバイス１２は、受信デバイス１４への送信用のエンコードビデオデータを生成する。ソースデバイス１２は、ビデオソース１８、ビデオエンコーダ２０および送信機２２を含んでもよい。ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダから与えられるビデオのような、ビデオキャプチャデバイスを含んでもよい。さらなる代替として、ビデオソース１８は、ソースビデオ、またはライブビデオとコンピュータとで生成されたビデオとの組み合せのように、コンピュータグラフィックスに基づいたデータを生成してもよい。いくつかの場合、ビデオソース１８がビデオカメラである場合、ソースデバイス１２は、いわゆるカメラ付き電話またはテレビ電話を形成してもよい。いずれの場合にも、キャプチャされ、予めキャプチャされ、またはコンピュータで生成されたビデオは、送信機２２と通信チャネル１６とを経たソースデバイス１２から受信デバイスへの送信のためにビデオエンコーダ２０によってエンコードされてもよい。
【００２８】
ビデオエンコーダ２０は、ビデオソース１８からビデオデータを受信する。ビデオソース１８から受信されたビデオデータは、一連のビデオフレームであってもよい。ビデオエンコーダ２０は、ビデオデータをエンコードするために、個々のビデオフレーム内のピクセルのブロック（または、変換係数のブロック）で動作する。ビデオブロックは、固定サイズまたは可変サイズを有してもよく、特定のコーディング標準に従いサイズが異なってもよい。いくつかの場合では、各ビデオフレームはコード単位である一方、他の場合では、各ビデオフレームは、コード単位を形成する一連のスライスに分割されてもよい。言いかえれば、各スライスは、フレームのビデオブロックの一部だけを含むコード単位であってもよい。ビデオフレームは、任意の様々な方法でスライスに分割されてもよい。例えば、ビデオフレームは、ビデオフレームの上段３分の１におけるブロックに対応する第１スライス、ビデオフレームの中央３分の１におけるブロックに対応する第２スライス、およびビデオフレームの下段３分の１におけるブロックに対応する第３スライスを備える、フレーム内のブロックの空間位置に基づいたスライスに分割されてもよい。別の例として、ビデオフレームは、他の全てのブロックが同じスライスに属する場合、２つのスライスに分けられてもよい。そのようなスライスグループ分けは、“チェッカーボード”スライスとしばしば呼ばれる。さらに別の例において、スライスは、ビデオフレーム内のオブジェクトとして識別されたビデオフレームの位置内のブロックに対応してもよい。ビデオフレームをスライスに分割するための他の手法もまた、用いられてもよい。
【００２９】
マクロブロック（ＭＢ）としばしば呼ばれる各ビデオブロックは、サブブロックに配置されてもよい。一例として、国際電気通信連合標準化セクタ（ＩＴＵ−Ｔ）Ｈ．２６４標準は、ルマコンポーネントおよびクロマコンポーネントに関する対応する縮尺に関する４×４、４×８、８×４、８×８、８×１６、１６×８、１６×１６のような様々なブロックサイズにおけるインター予測と同様に、ルマコンポーネントに関する４×４、１６×１６、８×８、クロマコンポーネントに関する８×８、のような様々なブロックサイズにおけるイントラ予測をサポートする。より小さなビデオブロックはよりよい解像度を提供することができ、より高い詳細度（levels of detail）を含むビデオフレームの位置に用いられてもよい。一般に、ＭＢおよび様々なサブブロックは、ビデオブロックであると考えられてもよい。したがって、ＭＢはビデオブロックであると考えられてもよく、ＭＢが分割されるかサブ分割（sub-partition）される場合、ＭＢはそれら自身でビデオブロックのセットを定義すると考えられてもよい。加えて、スライスは、ＭＢおよび／またはサブブロックのセットのようなビデオブロックのセットであると考えられてもよい。述べたように、各スライスは、ビデオフレームの独立してデコード可能な単位であってもよい。ビデオフレームがコード単位（どちらかといえばスライス）である場合、ビデオフレームはまた、ＭＢおよび／またはサブブロックのセットのようなビデオブロックのセットであると考えられうる。
【００３０】
ビデオブロックのイントラまたはインターに基づく予測に続いて、ビデオエンコーダ２０は、ビデオブロックで多くの他の演算をおこなってもよい。図２に関してさらに詳細に説明されるように、これらの付加的な演算は、（Ｈ．２６４／ＡＶＣまたは離散コサイン変換ＤＣＴにおいて用いられる４×４または８×８整数変換のような）変換演算、量子化演算、および、（可変長コーディング（ＶＬＣ）、２進算術コーディングまたは別のエントロピーコーディング手法のような）エントロピーコーディング演算を含んでもよい。
【００３１】
ビデオエンコーダ２０は、階層エンコードビットストリーム構造を生成するためにこの開示において記述された手法に従って、コード単位（例えば、スライスまたはフレーム）の複数のビデオブロックをエンコードする。ビデオエンコーダ２０は、ビデオエンコーダ２０によって生成されたスライスのビデオブロックの残差情報（すなわち、残差係数）と、ビデオエンコーダ２０によって生成されたスライスのビデオブロックのヘッダ情報とを分離する。ビデオエンコーダ２０は、グループの中にブロックに関するヘッダシンタクス要素を配置してもよい。いくつかの場合において、グループのそれぞれは、ブロックの特定のシンタクス要素の連続配置を含む。例えば、ブロックタイプシンタクス要素のグループは、その順に、スライスの第１ブロックのブロックタイプシンタクス要素、スライスの第２ブロックのブロックタイプシンタクス要素、スライスの第３ブロックのブロックタイプシンタクス要素などを含んでもよい。ビデオエンコーダ２０はまた、予測モード、分割サイズ、動きベクトル、エンコードブロックパターン、デルタＱＰ、変換サイズなどのような他のヘッダシンタクス要素に関する同様なグループを生成してもよい。
【００３２】
ビデオエンコーダ２０は、ランレングスエンコードを用いて、ヘッダシンタクス要素のグループのそれぞれをエンコードする。ブロックヘッダシンタクス要素のグループをエンコードするランレングスは、ビデオエンコーダ２０がスライスのブロック間のヘッダシンタクス要素の相関を利用することを可能にする。スライスの最初の３つのブロックが同じブロックタイプシンタクス要素を有する場合、例えば、ビデオエンコーダ２０は、各ブロックの個々のヘッダにおいて分離した１ビットフラグまたはブロックタイプをエンコードするかわりに、３つのブロックのブロックタイプを表すために長さ３のランをエンコードしてもよい。その結果、ビデオエンコーダ２０は、複数のブロックに関するブロックヘッダ情報をより効率的にエンコードしてもよい。いくつかの実例では、ビデオエンコーダ２０は、２進算術コーディングと同様のコーディング効率を備えた、ヘッダシンタクス要素をエンコードするためのＶＬＣを用いてもよい。
【００３３】
ヘッダシンタクス要素のグループのそれぞれをエンコードした後に、ビデオエンコーダ２０は、スライスのブロックのそれぞれに関する残差情報をエンコードする。スライスのブロックに関するエンコードされたヘッダ情報は、ビットストリームの１つの“レイヤ”として見られてもよく、残差情報はビットストリームの別の“レイヤ”として見られてもよい。言いかえれば、ビデオエンコーダ２０は、“ヘッダレイヤ”としてここで呼ばれる、スライスのブロックのエンコードされたヘッダ情報に対応するビットの第１シーケンスをエンコードしてもよく、“残差レイヤ”としてここで呼ばれる、スライスのブロックのエンコードされた残差情報に対応するビットの第２シーケンスをエンコードしてもよい。それゆえ、ここで用いられるように、用語“ヘッダレイヤ”“残差レイヤ”は、エンコードされた階層ビットストリーム内のビットの異なるシーケンスを参照する。
【００３４】
いくつかの実例では、ビデオエンコーダ２０は、スライスの対応する残差レイヤをエンコードして送信する前に、エンコードされた階層ビットストリーム構造においてスライスのヘッダレイヤをエンコードして送信してもよい。しかし、他の実例では、ビデオエンコーダ２０は、スライスの対応する残差レイヤをエンコードし送信した後にエンコードされた階層ビットストリーム構造においてスライスのヘッダレイヤをエンコードして送信してもよい。いずれの場合も、ビデオエンコーダ２０は、エンコードされた階層ビットストリーム構造がヘッダレイヤから残差レイヤまで、または、残差レイヤからヘッダレイヤまで推移する位置を示す識別子をさらにエンコードしてもよい。ソースデバイス１２は、送信機２２を経てデバイスを受信するためにエンコードビデオデータを送信する。
【００３５】
受信デバイス１４は、受信機２４、ビデオデコーダ２６およびディスプレイデバイス２８を含んでもよい。受信機２４は、チャネル１６を経てソースデバイス１２からビデオデータのエンコードされた階層ビットストリームを受信する。ビデオデコーダ２６は、スライスのブロックに関するヘッダ情報とスライスのブロックに関する残差情報とを得るために、ビデオデータの階層ビットストリームをデコードする。ビデオデコーダ２６は、ヘッダレイヤから残差レイヤまでの推移の位置を示す階層ビットストリーム内の識別子を用いて、ヘッダレイヤと残差レイヤとを識別してもよい。ビデオデコーダ２６は、スライスの各ブロックの残差情報とヘッダ情報（すなわち、ヘッダシンタクス要素）とを関連付ける。ビデオデコーダ２６は、ヘッダ情報を用いる各ブロックに関する予測ブロックを生成し、ブロックの対応する残差情報と予測ブロックとを結合することにより、スライスのビデオブロックを再構成する。受信デバイス１４は、ディスプレイデバイス２８を経て再構成されたビデオブロックをユーザに表示してもよい。ディスプレイデバイス２８は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機的な発光ダイオードディスプレイまたは別の種類の表示部のような、任意の様々なディスプレイデバイスを含んでもよい。
【００３６】
いくつかの場合では、ソースデバイス１２および受信デバイス１４は、実質的に対称的なやり方で動作してもよい。例えば、ソースデバイス１２および受信デバイス１４は、ビデオエンコーディングおよびデコーディングコンポーネントをそれぞれ含んでもよい。それゆえ、システム１０は、ビデオデバイス１２、１４の間の一方向または双方向ビデオ送信、例えば、ビデオストリーミング、ビデオブロードまたはテレビ電話に関してサポートしてもよい。
【００３７】
ビデオエンコーダ２０およびビデオデコーダ２６は、ムービングピクチャエキスパートグループ（ＭＰＥＧ）−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６３またはＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ １０、アドバンスドビデオコーディング（ＡＶＣ）のような画像圧縮規格に従って動作してもよい。図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ２６は、オーディオエンコーダおよびデコーダにそれぞれ統合されてもよく、共通データストリームまたは分離データストリームにおける音声とビデオとの両方のエンコーディングを処理するために、適切なＭＵＸ−ＤＥＭＵＸ部、または他のハードウェアおよびソフトウェアを含んでもよい。このように、ソースデバイス１２および受信デバイス１４は、マルチメディアデータで動作してもよい。妥当な場合、ＭＵＸ−ＤＥＭＵＸ部は、ＩＴＵ Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに一致してもよい。
【００３８】
Ｈ．２６４／ＭＰＥＧ−４ ＡＶＣ規格は、ジョイントビデオチーム（ＪＶＴ）として知られている共同パートナーシップの製品としてＩＳＯ／ＩＥＣ ＭＰＥＧと一緒にＩＴＵ−Ｔビデオコーディングエキスパートグループ（ＶＣＥＧ）によって公式化された。いくつかの態様では、この開示に記述された手法は、Ｈ．２６４規格に一般的に一致するデバイスに適用されてもよい。Ｈ．２６４規格は、Ｈ．２６４規格またはＨ．２６４仕様、またはＨ．２６４／ＡＶＣ規格または仕様としてここで呼ばれてもよい、ＩＴＵ−Ｔ研究グループによる、２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４、オーディオビジュアルサービス全般のためのアドバンスビデオエンコードに記述される。
【００３９】
いくつかの場合は、ビデオエンコーダ２０およびビデオデコーダ２６は、空間的、時間的、および／または信号対雑音比（ＳＮＲ）スケーラビリティに関するスケーラブルビデオコーディング（ＳＶＣ）をサポートするように構成されてもよい。エンコーダ２０およびデコーダ２６は、ベースレイヤおよび１以上のスケーラブルなエンハンスメントレイヤのエンコーディング、送信、デコーディングをサポートすることにより、スケーラビリティの様々な段階をサポートしてもよい。スケーラブルビデオコーディングについては、ベースレイヤは、品質のベースラインレベルを備えるビデオデータを運ぶ。１以上のエンハンスメントレイヤは、より高い空間的、時間的および／またはＳＮＲレベルをサポートするために付加的なデータを運ぶ。ベースレイヤは、エンハンスメントレイヤの送信よりもより信頼できるやり方で送信されてもよい。ベースおよびエンハンスメントレイヤは、ヘッダレイヤおよび残差データレイヤのような同じコード単位内のビットの分離シーケンスではない。代わりに、ベースおよびエンハンスメントレイヤは、ベースレイヤおよびエンハンスメントレイヤが同じキャリアまたはサブキャリアで送信されうるが、異なるパケット誤り率（ＰＥＲ）に起因する異なる送信特性を備えるような、物理レイヤで階層的変調を用いてエンコードされる。
【００４０】
いくつかの態様では、ビデオ放送に関して、この開示に記述された手法は、技術規格ＴＩＡ−１０９９（“ＦＬＯ仕様”）として２００７年７月に公表された、フォワードリンクオンリー（ＦＬＯ）エアインタフェース仕様“Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast,”、を用いて、地上波（terrestrial）モバイルマルチメディアマルチキャスト（ＴＭ３）システムにおけるリアルタイムビデオサービスを伝達するためのエンハンスドＨ．２６４ビデオコーディングに適用されてもよい。すなわち、通信チャネル１６は、ＦＬＯ規格などに従う無線ビデオ情報をブロードキャストするために用いられる無線情報チャネルを含んでもよい。ＦＬＯ規格は、ビットストリームシンタクスおよびセマンティクスを定義し、ＦＬＯエアインタフェースのために適した処理をデコードする例を含む。
【００４１】
あるいは、ビデオは、ＤＶＢ−Ｈ（デジタルビデオブロードキャストハンドヘルド）、ＩＳＤＢ−Ｔ（統合サービスディジタルブロードキャスト）またはＤＭＢ（デジタルメディアブロードキャスト）のような他の規格に従ってブロードキャストされてもよい。ゆえに、ソースデバイス１２は、モバイル無線端末、ビデオストリーミングサーバ、またはビデオブロードキャストサーバであってもよい。しかし、この開示に記述された手法は、ブロードキャスト、マルチキャストまたは２点間システムの任意の特定のタイプに限定されない。ブロードキャストの場合には、ソースデバイス１２は、ビデオデータのいくつかのチャネルを複数の受信デバイスにブロードキャストしてもよく、受信デバイスのそれぞれは図１の受信デバイス１４と同様であってもよい。従って、単一の受信デバイス１４は図１に示されるが、ビデオブロードキャストに関して、ソースデバイス１２は、典型的にビデオコンテンツを多くの受信デバイスに同時にブロードキャストするだろう。
【００４２】
他の実施例では、送信機２２、通信チャネル１６および受信機２４は、１以上のイーサネット（登録商標）、電話（例えば、ＰＯＴＳ）、ケーブル、電力線および光ファイバーシステムを含む任意の有線または無線通信システム、および／または、１以上の符号分割多重接続（ＣＤＭＡまたはＣＤＭＡ２０００）通信システム、周波数分割多重接続（ＦＤＭＡ）システム、直交周波数分割多重（ＯＦＤＭ）アクセスシステム、ＧＳＭ（（移動通信用グローバルシステム）（登録商標））のような時分割多重アクセス（ＴＤＭＡ）システム、ＧＰＲＳ（汎用パケット無線サービス）、またはＥＤＧＥ（エンハンスドデータＧＳＭ環境）、ＴＥＴＲＡ（地上基盤無線システム）モバイル電話システム、広帯域符号分割多元接続（ＷＣＤＭＡ（登録商標））システム、高データレート１ｘＥＶ−ＤＯ（第１世代エボリューションデータのみ）または１ｘＥＶ−ＤＯゴールドマルチキャストシステム、ＩＥＥＥ ８０２．１８システム、ＭｅｄｉａＦＬＯＴＭシステム、ＤＭＢシステム、ＤＶＢ−Ｈシステム、または２以上のデバイス間のデータ通信に関する別のスキームを含む無線システムに従う通信に関して構成されてもよい。
【００４３】
各ビデオ符号器２０およびビデオデコーダ２６は、１以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、離散ロジック、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせとして実装されてもよい。ビデオエンコーダ２０およびビデオデコーダ２６のそれぞれは、１以上のエンコーダまたはデコーダに含まれてもよく、どちらかは、それぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに組み合わされたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合されてもよい。加えて、ソースデバイス１２および受信デバイス１４は、エンコードビデオの送信および受信に関する適切な変調、復調、周波数変換、フィルタリング、および増幅コンポーネントをそれぞれ含んでもよく、規定通りに、無線通信をサポートするために十分なアンテナおよび無線周波数（ＲＦ）無線コンポーネントを含む。しかし、図の容易さのために、そのようなコンポーネントは、図１における受信デバイス１４の受信機２４およびソースデバイス１２の送信機２２であることとして集約される。
【００４４】
図２は、図１のソースデバイス１２のそれに対応してもよいビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０は、ビデオフレーム内のブロックのイントラおよびインターコーディングをおこなってもよい。イントラコーディングは、あるビデオフレーム内のビデオデータにおける空間的冗長性を削減するか除去するために、空間予測に依存する。イントラコーディングに関して、ビデオエンコーダ２０は、同じフレーム内の既にコードされたブロックを用いて、空間予測をおこなう。インターコーディングは、ビデオシーケンスの隣接したフレーム内のビデオにおける時間的冗長性を削減するか除去するために、時間予測に依存する。インターコーディングに関して、ビデオエンコーダ２０は、２以上の隣接するフレーム間で一致するビデオブロックの移動を追跡するために動き推定をおこなう。
【００４５】
図２に示されるように、ビデオエンコーダ２０は、エンコードされるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、動き推定部３２、参照フレームストア３４、動き補償部３６、ブロック変換部３８、量子化部４０、逆量子化部４２、逆変換部４４およびエントロピーエンコーディング部４６を含む。インループデブロッキングフィルタ（図示せず）は、ブロッキングアーチファクトを除去するために再構成されたビデオブロックに適用されてもよい。ビデオエンコーダ２０はまた、加算器４８Ａおよび４８Ｂ（“加算器４８”）を含む。図２は、ビデオブロックのインターコーディングのためのビデオエンコーダ２０の時間予測コンポーネントを示す。説明を簡単にするために図２に図示しないが、ビデオエンコーダ２０はまた、いくつかのビデオブロックのイントラコーディングに関する空間予測コンポーネントを含んでもよい。この開示のビデオブロックエンコーディング手法は、イントラコードされたブロックまたはインターコードされたブロックのような、任意のブロックのビデオデータに関して適用されてもよい。
【００４６】
時間予測をおこなうために、動き推定部３２は、１以上の動きベクトルを生成するために、現在のビデオブロックと１以上の隣接したビデオフレームにおけるブロックとを比較する。現在のビデオブロックは、現在コードされているビデオブロックを参照し、ビデオエンコーダ２０のための入力を含んでもよい。隣接した１以上のフレーム（現在のビデオブロックが比較されるビデオブロックを含む）は、参照フレームストア３４から読み出されてもよい。参照フレームストア３４は、１以上の以前にエンコードされたフレームまたは以前にエンコードされたフレーム内のブロックを記憶するために、任意の種類のメモリまたはデータ記憶デバイスを含んでもよい。動き推定部３２は、通常はあるレート歪み基準に従って、現在のビデオブロックに対して最良の予測を提供する隣接したフレームにおけるブロックを識別する。動き推定は、可変サイズ、例えば１６×１６、１６×８、８×１６、８×８、またはより小さなブロックサイズのブロックに関しておこなわれてもよい。
【００４７】
動き推定部３２は、現在のビデオブロックと現在のビデオブロックをコードするために用いられる識別された予測ブロックとの間の変位の軌跡および大きさを示す動きベクトル（ＭＶ）（または、双方向予測の場合には複数のＭＶ）を生成する。動きベクトルは、２分の１または４分の１精度、またはさらによい精度を有してもよく、ビデオエンコーダ２０が整数ピクセル位置よりも高精度に動きを追跡し、よりよい予測ブロックを得ることを可能にする。得られる動きベクトルを用いて、動き補償部３６は動き補償によって予測ビデオブロックを形成する。整数ピクセル精度の場合には、動き補償部３６は、動きベクトルによって予測ブロックであるとして識別された位置でブロックを単に選択する。小数ピクセル精度の場合には、動き補償部３６は、予測ブロックを形成するために補間をおこなってもよい。
【００４８】
ビデオエンコーダ２０は、加算器４８Ａでの現在のビデオブロックからのインターコーディングの場合、動き補償部３６によって生成された予測ビデオブロックを減じることによって、（図２において“ＲＥＳＩＤ ＩＮＦＯ”とラベル付けされた）残差情報を生成する。上述したように、残差情報は、コードされている現在のビデオブロックと予測ビデオブロックとの間の差を定量する。ブロック変換部３８は、残差変換係数を作り出すために、残差情報に、ＤＣＴまたは４ｘ４または８×８の整数変換のような変換を適用する。量子化部４０は、ビットレートをさらに削減するために残差変換係数を量子化する。
【００４９】
量子化の後、逆量子化部４２および逆変換部４４は、（図２において“ＲＥＣＯＮ ＲＥＳＩＤ”とラベル付けされた）残差情報を再構成するために逆量子化と逆変換とをそれぞれ適用する。加算器４８Ａは、参照フレームストア３４における記憶用に、再構成されたビデオブロックを作り出すために動き補償部３６によって作り出された予測ブロックに再構成された残差情報を加える。再構成されたビデオブロックは、続くビデオフレームにおけるブロックをエンコードするために、動き推定部３２および動き補償部３６によって用いられてもよい。
【００５０】
エントロピーエンコーディング部４６は、量子化部４０から現在のビデオブロックに関する量子化された残差係数の形式における残差情報を受信する。加えて、エントロピーエンコーディング部４６は、現在のビデオブロックに関するブロックヘッダ情報を受信する。ヘッダ情報は、例えば、現在のビデオブロックの特定の特性を識別する多くのヘッダシンタクス要素を含んでもよい。インターコードされているブロックに関する１つのそのようなヘッダシンタクス要素は、動き推定部３２から受信された現在のビデオブロックの１以上の動きベクトルであってもよい。現在のビデオブロックの他のヘッダシンタクス要素は、例えば、ブロックタイプ（インターまたはイントラ）、予測モード（インターコードされたブロックに関する順／双方向予測またはイントラコードブロックに関する予測方向性）、分割サイズ（１６×１６および８×８など）、コードされたブロックパターン（ルマおよび／またはクロマＣＢＰ）、デルタＱＰ、変換サイズなどのようなものを含んでもよい。他のヘッダシンタクス要素は、ビデオエンコーダ２０内の（図２に示されない）他のコンポーネントから受信されてもよい。
【００５１】
従来のビデオエンコーダでは、各ビデオブロックに関するヘッダシンタクス要素および各ビデオブロックに関する対応する残差情報はブロックごとにエンコードされる。言いかえれば、従来のビデオエンコーダは、第１ブロックのヘッダ情報に続く第１ブロックの対応する残差情報をエンコードし、第２ブロックのヘッダ情報に続く第２ブロックに関する対応する残差情報をエンコードするなど、スライスの全てのビデオブロックがエンコードされて送信されるまで、エンコードする。このように、従来のビデオエンコーダは、図６Ａに関してより詳細に記述されるように、ブロックエンコードビットストリーム構造によってブロックを生成するとして見なされてもよい。
【００５２】
しかし、スライスのブロックに関するヘッダシンタクス要素は、空間的に相関してもよい。言いかえれば、スライスのブロックの少なくとも一部が、同じようなヘッダ情報、すなわち、同じヘッダシンタクス要素の１以上を含んでもよい。この開示の手法に従って、エントロピーエンコーディング部４６は、詳細に以下で記述されるように、スライスの２つ以上のブロックのヘッダ情報を一緒にエンコードする。のビデオブロックの残差情報とスライスのビデオブロックのヘッダ情報とを分離する。エントロピーエンコーディング部４６は、ヘッダシンタクス要素の種類に基づくグループへのブロックのヘッダ情報を配置する。例えば、エントロピーエンコーディング部４６は、シンタクス要素のタイプのそれぞれに関して、第１グループの中に一緒に各ブロックのブロックタイプシンタクス要素をグループ化してもよく、第２グループの中に一緒に各ブロックの予測モードシンタクス要素をグループ化するなどしてもよい。それゆえ、シンタクス要素のグループのそれぞれは、連続するブロックのシンタクス要素を含んでもよい。１つの事例では、シンタクス要素のそのようなグループは、第１グループが第２グループの前に送られ、第２グループが第３グループ前に送られるなどのように、連続的に配置されてもよい。別の実例では、シンタクス要素のそのようなグループは、インタリーブされたやり方で配置されてもよい。ヘッダシンタクス要素配置の両方のタイプは、詳細に以下に記述される。
【００５３】
ヘッダシンタクス要素の分離および配置に続いて、エントロピーエンコーディング部４６は、ヘッダレイヤを生成するためにランレングスコーディングを用いて、グループのヘッダシンタクス要素をエンコードする。したがって、ヘッダレイヤは、１ブロック以上のヘッダ情報を含む。１ブロック以上のヘッダ情報のエンコーディングは、エントロピーエンコーディング部４６が冗長度を削減し、特にＶＬＣを用いる場合、スライスの複数のブロックにわたってヘッダ情報の相関をよりよく利用することを可能にする。エントロピーエンコーディング部４６はさらに、スライスのブロックの残差情報をヘッダ情報から分離してエンコードする。このように、エントロピーエンコーディング部４６は、各ブロックのヘッダ情報に続く、対応するブロックの残差情報を連続的にエンコードしない。代わりに、エントロピーエンコーディング部４６は、ビットの第１シーケンス、すなわち、スライスの複数のビデオブロックのエンコードされたヘッダ情報に対応するヘッダレイヤ、および、ビットの第２シーケンス、すなわち、スライスの複数のビデオブロックのエンコードされた残差情報に対応する残差レイヤを含む階層ビットストリーム構造におけるブロックをエンコードする。
【００５４】
エントロピーエンコーディング部４６は、ヘッダレイヤから残差レイヤまでの推移が生じる階層ビットストリーム内の位置を識別する指標をさらにエンコードしてもよい。エントロピーエンコーディング部４６は、エンコードビットストリームにおけるレイヤ分離の位置を識別するために、指標の多くの異なる種類をエンコードしてもよい。例えば、エントロピーエンコーディング部４６は、そのような分離の位置を識別するために、ある長さの固有のビットパターンをエンコードしてもよい。別の例として、エントロピーエンコーディング部４６は、ヘッダレイヤの長さ、例えば、ビット長を示す、ヘッダレイヤにおけるシンタクス要素をエンコードしてもよい。
【００５５】
エントロピーエンコーディング部４６は、スライスをエントロピーエンコードする前に、スライスのブロックに関するヘッダ情報および残差情報の生成を待つ。従って、ビデオエンコーダ２０は、スライスのブロックに関するヘッダ情報および残差情報の生成を待つ間に、いくらかの遅延を経験するかもしれない。これは、リアルタイムエンコーディングを要求されるアプリケーションおよび／またはビデオエンコーダ２０がメモリリソースを制限されるときのような、いくつかのアプリケーションに適していないかもしれない。しかし、リアルタイムエンコーディングが要求されないアプリケーション（例えば、ビデオストリーミングおよびビデオブロードキャスティング）、またはビデオエンコーダ２０が豊富なメモリリソースを有するときのような、他のアプリケーションに関して、階層ビットストリーム処理は、コヒーレントビットストリーム構造および高いコーディング効率の利点を提供する。
【００５６】
階層ビットストリーム構造におけるスライスのブロックをエンコーディングすることは、エントロピーエンコーディング部４６にコーディング効率を改善することを可能にし、ＶＬＣを用いるように構成されたときにスライスのブロックのヘッダ情報の相関をよりよく利用する。エントロピーエンコーディング部４６はまた、算術コーディングを用いるように構成されたときにこの開示に記述された階層エンコードビットストリーム構造を利用してもよい。ＶＬＣおよび算術コーディングの両方のために階層エンコードビットストリームを用いることは、ＶＬＣと算術コーディングとの間でより一定のビットストリーム構造を提供してもよい。さらに、階層ビットストリーム構造は、ヘッダレイヤと残差レイヤとに等しくない誤り保護のための機会を提供する。例えば、より重要な情報を運ぶヘッダレイヤは、残差レイヤよりもよい誤り保護を提供してもよい。
【００５７】
いくつかの実例では、エントロピーエンコーディング部４６は、ブロックごとのビットストリーム構造と共にこの開示に記述された階層ビットストリーム構造を用いてもよい。言いかえれば、エントロピーエンコーディング部４６は、階層ビットストリーム構造の形式におけるいくつかのコード単位をエンコードし、ブロックごとのビットストリーム構造の形式における他のコード単位をエンコードしてもよい。例えば、１つのベースレイヤビットストリームおよび１以上のエンハンスメントレイヤビットストリームを含むスケーラブルビデオビットストリームでは、ベースレイヤビットストリームは、エンハンスメントレイヤが階層ビットストリーム構造の形式においてエンコードされてもよい間、ブロックごとのビットストリーム構造の形式においてエンコードされてもよい。そのような処理は、（既存のＨ．２６４／ＡＶＣデコーダがベースレイヤをデコードすることができるような）ベースレイヤビットストリームに関するバックワード互換性、およびエンハンスメントレイヤに関するより高いコーディング効率の利益を提供する。この場合、エントロピーエンコーディング部４６は、ビットストリーム構造の種類、すなわち、ビットストリームが階層構造それともブロックごとの構造に配置されるかを示すためのコード単位ヘッダ（例えば、スライスヘッダまたはピクチャまたはシーケンスレベルヘッダ）内のフラグを含んでもよい。このように、エントロピーエンコーディング部４６は、階層エンコードビットストリーム構造とブロックごとのエンコードビットストリーム構造との両方を、例えば構造間で動的に切り替えることによって利用してもよい。
【００５８】
この開示に記述された階層エンコード手法は、フレームのスライスのブロックをエンコードすることに関して記述されるが、手法は、階層ビットストリーム構造における他のコード単位をエンコードすることに用いられてもよい。例えば、ビデオエンコーダ２０は、階層ビットストリーム構造において、１スライス以上、全フレームまたは全シーケンスのような、スライスよりも大きいコード単位をエンコードしてもよい。さらに、この開示の手法はＶＬＣまたは算術コーディングを用いて、コード単位をエンコードするために用いられてもよい。
【００５９】
図３は、開示の態様に従う階層エンコードビットストリームを生成するように構成されたエントロピーエンコーディング部４６のブロック図である。エントロピーエンコーディング部４６は、図１および２のビデオエンコーダ２０内に存在してもよい。エントロピーエンコーディング部４６は、複数のブロックに関するブロックデータを受信し、デコーディング用の別のデバイスへの送信のために、階層エンコードビットストリームを生成する。図３の例では、エントロピーエンコーディング部４６は、ブロックデータ分離モジュール５０、ヘッダ情報メモリ５２、残差情報メモリ５６、ランレングスコーディング（ＲＬＣ）モジュール５８および可変長コーディング（ＶＬＣ）モジュール５９を含む。
【００６０】
動作中に、ブロックデータ分離モジュール５０は、スライスのビデオブロックに関するブロックデータを受信する。ブロックデータ分離モジュール５０は、ブロックデータがビデオエンコーダ２０の他のコンポーネント、例えば、量子化部４０、動き推定部３２などによって生成されるとき、スライスのビデオブロックに関するブロックデータを受信してもよい。各ブロックに関して受信されたブロックデータは、（例えば、量子化された残差変換係数の形式における）残差情報、および（例えば、１以上の動きベクトル、ブロックタイプ、予測モード、分割サイズ、コードされたブロックパターン、デルタＱＰ、変換サイズなどのような、１以上のヘッダシンタクス要素の形式における）ヘッダ情報を含んでもよい。
【００６１】
ブロックデータ分離モジュール５０は、ブロックのヘッダ情報と各ブロックの残差情報とを分離する。ブロックデータ分離モジュール５０は、例えば、残差情報メモリ５６に各ブロックの残差情報を記憶し、ヘッダ情報メモリ５２に各ブロックのヘッダ情報を記憶してもよい。ブロック分離モジュール５０は、スライスのビデオブロックに関するブロックデータを受信し、残差情報とヘッダ情報とを分離し、それぞれのメモリ５６および５２に分離された情報を記憶することを継続する。
【００６２】
スライスの各ブロックのブロックデータを受信して分離した後に、ヘッダグルーピングモジュール５４は、ランレングスコーディングを用いて、スライスのブロック間のヘッダ情報の相関を利用するために、スライスのブロックのヘッダ情報をグループ化する。ヘッダグループピングモジュール５４は、同じグループの中に各ブロックの同じヘッダシンタクス要素をグループ化してもよい。一例として、ゼロと等しいデルタＱＰおよびゼロと等しいブロックタイプを有する第１ブロック、ゼロと等しいデルタＱＰおよびゼロと等しいブロックタイプを有する第２ブロック、ゼロと等しいデルタＱＰおよび１と等しいブロックタイプを有する第３ブロック、ゼロと等しいデルタＱＰおよび１と等しい第４ブロック、および、１と等しいデルタＱＰおよびゼロと等しいブロックタイプを有する第５ブロック、を備えるデルタＱＰシンタクス要素およびブロックタイプシンタクス要素を含むヘッダ情報を備える５つのブロックを含むスライスを仮定する。この例において、ヘッダグループピングモジュール５４は、２つのグループ、ブロックタイプシンタクス要素の１つのグループおよびデルタＱＰシンタクス要素の１つのグループにブロックのヘッダシンタクス要素をグループ化する。
【００６３】
ＲＬＣモジュール５８は、冗長度を削減し、かつスライスのブロック間のヘッダシンタクス要素の相関を利用するためにヘッダシンタクス要素のグループの各々のランをエンコードする。１つのインスタンスでは、ＲＬＣモジュール５８は、ヘッダシンタクス要素のグループのそれぞれを連続してエンコードしてもよい。それゆえ、ＲＬＣモジュール５８は、ブロックの第２シンタクス要素のランの前にブロックの第１シンタクス要素のランを連続してエンコードするなど、ＲＬＣモジュール５８がブロックの最後のシンタクス要素に関するランをエンコードするまでエンコードする。上の例において、ＲＬＣモジュール５８は、５つのブロックのデルタＱＰシンタクス要素のランの前に５つのブロックのブロックタイプシンタクス要素のランを連続してエンコードする。特に、ＲＬＣモジュール５８は、｛０，２｝の第１ブロックタイプランに続いて、｛１，２｝の第２ブロックタイプラン、続いて｛０，１｝の第３ブロックタイプラン、続いて｛０，４｝の第１デルタＱＰラン、続いて｛１，１｝の第２デルタＱＰランを連続してエンコードする。
【００６４】
あるいは、ＲＬＣモジュール５８は、ヘッダシンタクス要素のランが互いの間でインタリーブされるようなスライスのブロックのヘッダ情報をエンコードする。例えば、ＲＬＣモジュール５８は、シンタクス要素のうちのいずれかの付加的なランをエンコーディングする前に、各シンタクス要素に関する少なくとも１つのランをエンコードしてもよい。この場合、ブロックタイプとデルタＱＰシンタクス要素とを備える５つのブロックスライスの上の例に関して、ＲＬＣモジュール５８は、｛０、２｝の第１ブロックタイプランに続いて、｛０、４｝の第１デルタＱＰラン、続いて｛１、２｝の第２ブロックタイプラン、続いて｛０、１｝の第３ブロックタイプラン、続いて｛１、１｝の第２デルタＱＰランをエンコードする。このように、ＲＬＣモジュール５８は、シンタクス要素が現在のブロックをデコーディングするために必要とされる位置でシンタクス要素のエンコードされたランをインタリーブし、それによって、デコーダでヘッダシンタクス要素と残差情報とを関連付けることの複雑性を低減する。例えば、ＲＬＣモジュール５８は、第１ブロックタイプランが第１デルタＱＰランより短いので、第２デルタＱＰランより前に第２ブロックタイプランをエンコードする。第１デルタＱＰランが第１ブロックタイプランより短かった場合、第２デルタＱＰランは、第２ブロックタイプランより前にエンコードされてもよい。このように、ＲＬＣモジュール５８は、同じシンタクス要素の以前のランが使い尽くされた際（すなわち、終了した場合）、エンコードするべき付加的なランがある場合、シンタクス要素の付加的なランをエンコードする。いくつかの実例では、エントロピーコーディング部４６は、ヘッダレイヤが連続するやり方またはインタリーブされるやり方に配置されるかどうかを示すフラグをエンコードしてもよい。
【００６５】
スライスのブロックのシンタクス要素のランの生成に続いて、ＶＬＣモジュール５９は、階層ビットストリームのヘッダレイヤを生成するためにシンタクス要素のランをエンコードする。ＶＬＣモジュール５９は、階層ビットストリームの残差レイヤを生成するために複数の各々のブロックの残差情報をさらにヘッダ情報とは別々にエンコードする。このように、ＶＬＣモジュール５９は、複数のビデオブロックのヘッダ情報に対応するビットの第１シーケンス、および、複数のビデオブロックの残差情報に対応するビットの第２シーケンスを含むために階層ビットストリームをエンコードする。ＶＬＣモジュール５９は、１以上の可変長コーディングテーブルを用いて、残差情報とヘッダ情報とのシンタクス要素のランをエンコードしてもよい。
【００６６】
ＶＬＣモジュール５９は、特定のスライスに関してヘッダレイヤから残差レイヤまでの推移の位置を識別する指標をさらに生成してもよい。１つの事例では、ＶＬＣモジュール５９は、ヘッダレイヤの終了を示すビットの固有のパターンをエンコードしてもよい。あるいは、ＶＬＣモジュール５９は、ヘッダレイヤの長さ、例えばビット長を示すヘッダレイヤの先頭でシンタクス要素をエンコードしてもよい。その上、エントロピーエンコーディング部４６が階層ビットストリーム構造およびブロックごとのビットストリーム構造の両方を生成してもよい場合、ＶＬＣモジュール５９は、ビットストリーム構造の種類、すなわち、ビットストリームが階層構造またはブロックごとの構造に配置されるかどうかを示すためにスライスヘッダ内のフラグを設定してもよい。
【００６７】
図３のエントロピーエンコーディング部４６は、ＶＬＣをおこなうとして記述されるが、その手法は算術コーディングに用いられてもよい。例えば、エントロピーエンコーディング部４６は、ＶＬＣモジュール５９の代わりに算術コーディングモジュールを含んでもよい。シンタクス要素のランは、階層ビットストリームのヘッダレイヤを生成するために算術コーディングされてもよく、残差情報は、階層ビットストリームの残差レイヤを生成するために分離して算術コーディングされてもよい。あるいは、エントロピーエンコーディング部４６は、ヘッダ情報と残差情報とをエンコードするために、算術コーディングとＶＬＣとの組合せを用いてもよい。例えば、ヘッダシンタクス要素のランは、ＶＬＣを用いてエンコードされてもよく、残差情報は、算術コーディングを用いてエンコードされてもよいし、またはその逆でもよい。
【００６８】
図４は、図１のビデオデコーダに対応するビデオデコーダ２６の例を示すブロック図である。ビデオデコーダ２６は、ビデオフレーム内のブロックのイントラおよびインターデコードをおこなってもよい。図４の例では、ビデオデコーダ２６は、エントロピーデコーディング部６０、動き補償部６２、逆量子化部６４、逆変換部６６および参照フレームストア６８を含む。ビデオデコーダ２６はまた、逆変換部６６および動き補償部６２の出力を組み合わせる加算器６９を含む。図４は、ビデオブロックのインターデコーディングに関するビデオデコーダ２６の時間予測コンポーネントを示す。図４に示されないが、ビデオデコーダ２６はまた、いくつかのビデオブロックのイントラデコーディングのために、空間予測コンポーネント、例えば空間予測モジュールを含む。
【００６９】
エントロピーデコーディング部６０は、エンコードビデオビットストリームを受信し、ビットストリームをデコードするために可変長デコーディング手法（例えば、１以上の可変長コーディングテーブルを用いる）を適用する。上に詳細に記述されるように、エンコードビデオビットストリームは、スライスのブロック間のヘッダ情報の相関をより効率的に利用するために、階層ビットストリーム構造として配置されてもよい。例えば、受信ビットストリームは、複数のブロックのヘッダ情報に対応するビットの第１シーケンス、すなわちヘッダレイヤ、および、複数のブロックの残差情報に対応するビットの第２シーケンス、すなわち残差レイヤを含んでもよい。エントロピーデコーディング部６０は、スライスのブロックのヘッダ情報と残差情報とを読み出すために、図２のエントロピーエンコーディング部４６に関する逆のやり方においてデコーディングをおこなう。
【００７０】
ビットのどのシーケンスがヘッダ情報に対応するか、または、ビットのどのビットシーケンスが残差情報に対応するかを決定するために、エントロピーデコーディング部６０は、ヘッダレイヤと残差レイヤとの間の推移が生じる位置を識別する階層ビットストリーム内の指標を検出する。例えば、エントロピーデコーディング部６０は、エンコードビットストリームがヘッダレイヤから残差レイヤまで推移していることを示す固有のビットパターンを検出してもよい。別の例として、エントロピーデコーディング部６０は、ヘッダレイヤの長さ、例えばビット長を示すヘッダシンタクス要素を検出してもよい。しかし、エントロピーデコーディング部６０は、ヘッダレイヤから残差レイヤまでの推移を識別するために、多くの他の指標を検出してもよい。
【００７１】
エントロピーデコーディング部６０は、ヘッダおよび残差レイヤをデコードし、デコードされたヘッダシンタクス要素と残差情報とを記憶する。エントロピーデコーディング部６０は、ブロックの対応するヘッダシンタクス要素に各ブロックの残差情報を関連づける。エントロピーデコーディング部６０は、同じブロックに属するシンタクス要素をグループ化するために、デコードされたヘッダシンタクス要素を再配置してもよい。このように、エントロピーデコーディング部６０は、ブロックごとの順序にブロックデータを再配置する。連続する階層ビットストリームの場合には、例えば、エントロピーデコーディング部６０がヘッダ情報をデコードして記憶し、残差情報をデコードして記憶し、各ブロックのヘッダおよび残差情報を整理し、デコーディング部の他のコンポーネントにそのような情報を提供してもよい。しかし、インタリーブされた階層ビットストリームの場合には、エントロピーデコーディング部６０が、以下に詳細に記述されるようなヘッダレイヤおよび残差レイヤ全体を完全にデコードする前に、スライスのブロックのうちのいくつかを再構成し始めてもよい。
【００７２】
ビデオデコーダ２６は、ヘッダシンタクス要素および残差情報を用いて、ブロックごとにビデオのフレームを再構成する。ヘッダシンタクス要素は、１以上のコンポーネントを構成するためにビデオデコーダ２６によって用いられてもよい。例えば、エントロピーデコーディング部６０は、動き補償部６２に動きベクトルおよび分割サイズを、逆量子化部６４に逆量子化中に用いるＱＰ値を、というように提供してもよい。ビデオデコーダ２６のコンポーネントは、予測ブロックと残差ブロックとを生成し、ビデオブロックについて再構成するために予測ブロックと残差ブロックとを組み合わせる。
【００７３】
各インターコードされたブロックに関して、動き補償部６２は、エントロピーデコーディング部６０から１以上の動きベクトルと分割サイズを、参照フレームストア６８から１以上の再構成された参照フレームを受け取り、予測ブロック、すなわち、動き補償ブロックを生成する。逆量子化部６４は、ＱＰシンタクス要素に従う量子化された残差係数を逆に量子化する（inverse quantize）、すなわち、逆量子化する（de-quantize）。逆変換部６６は、残差ブロックを作り出すために逆量子化された残差係数に、逆変換、例えば、逆ＤＣＴまたは逆４ｘ４または８×８の整数変換を適用する。加算器６９は、デコードブロックを形成するために、逆変換部６６からの残差ブロックと動き補償部６２によって生成された予測ブロックとを加算する。
【００７４】
ブロックに基づくビデオエンコーディングはときどき、コードされたビデオフレームのブロック境界で視覚的に知覚可能なブロックノイズ（blockiness）をもたらすことがある。そのような場合、デブロッキングフィルタリングは、視覚的に知覚可能なブロックノイズをなくすまたは低減するために、ブロック境界を滑らかにしてもよい。そのため、デブロッキングフィルタ（図示せず）はまた、ブロックノイズアーチファクトを除去するためにデコードされたブロックをフィルタするために適用されてもよい。任意の選択的なデブロックフィルタリングに続き、再構成されたブロックはその後、動き補償のための参照ブロックを提供し、（図１のデバイス２８のような）ディスプレイデバイスを駆動するためにデコードされたビデオも生成する、参照フレームストア６８に置かれる。
【００７５】
図５は、この開示のある態様に従う階層エンコードビットストリームをデコードするように構成されたエントロピーデコーディング部６０の例を示すブロック図である。エントロピーデコーディング部６０は、図１および４のビデオデコーダ２６内に存在してもよい。エントロピーデコーディング部６０は、スライスの階層エンコードビデオビットストリームを受信し、ビデオデータを再構成することに用いるスライスのブロックに関するブロックデータを生成する。図５の例では、エントロピーデコーディング部６０は、ＶＬＣデコーディングモジュール７２、ＲＬＣデコーディングモジュール７４、ヘッダ情報メモリ７６、残差情報メモリ７８およびヘッダ関連付けモジュール７９を含む。
【００７６】
ＶＬＣデコーディングモジュール７２は、スライスの階層ビットストリームをデコードする。上述したように、ビデオエンコーダ２０は、ブロックのエンコードされたヘッダ情報に対応するビットの第１シーケンス（すなわちヘッダレイヤ）、およびブロックのエンコードされた残差情報に対応するビットの第２シーケンス（すなわち残差レイヤ）を含む、階層ビットストリーム構造を用いてスライスをエンコードする。ヘッダレイヤおよび残差レイヤからの推移の位置は、１以上の指標を用いて、階層ビットストリーム内で識別されてもよい。
【００７７】
ＶＬＣデコーディングモジュール７２は、可変長デコーディング手法、例えば、ヘッダレイヤおよび残差レイヤをデコードするために１以上の可変長コーディングテーブルを用いることを適用する。ＶＬＣデコーディングモジュール７２は、例えば、ヘッダレイヤをデコードするためにコーディングテーブルのあるセット、および残差レイヤをデコードするためにコーディングテーブルの別のセットを用いてもよい。ヘッダレイヤから残差レイヤまでの推移を検出する際、ＶＬＣデコーディングモジュール７２は、コーディングテーブルの異なるセットを選択してもよい。デコードされたヘッダ情報および残差情報は、ヘッダ情報メモリ７４および残差情報メモリ７８内にそれぞれ記憶されてもよい。
【００７８】
ヘッダレイヤの可変長デコーディングをおこなった後に、ＲＬＣデコーディングモジュール７４は、スライスのブロックに関するヘッダ情報を得るためにヘッダレイヤをランレングスデコードする。デコードされたヘッダ情報は、シンタクス要素の種類に基づいてグループ化される多くのシンタクス要素を含む。一例を挙げれば、シンタクス要素は、スライスの全てのブロックに関する第１タイプ（例えば、ブロックタイプ）のシンタクス要素が一緒にグループ化され、スライスの全てのブロックに関する第２タイプ（例えば、予測モード）のシンタクス要素がグループ化されるなどのように、グループ化されてもよい。このように、デコードされたヘッダ情報は、第１タイプの全てのシンタクス要素が第２タイプの全てのシンタクス要素に先行し、第２タイプの全てのシンタクス要素が第３タイプの全てのシンタクス要素に先行するなどのように、連続して配置される。
【００７９】
あるいは、ヘッダ情報のシンタクス要素は、互いの間でインタリーブされてもよい。例えば、第１タイプのシンタクス要素の第１サブセットに続いて、第２タイプのシンタクス要素の第１サブセットがあってもよく、第２タイプのシンタクス要素の第１サブセットに続いて第３タイプのシンタクス要素の第１サブセットがあってもよく、第３タイプのシンタクス要素の第１サブセットに続いて、第１タイプのシンタクス要素の第２サブセットがあってもよいなどである。このように、ヘッダシンタクス要素のランは、互いの間でインタリーブされる。エントロピーデコーディング部６０は、ヘッダレイヤのシンタクス要素が連続するやり方またはインタリーブされたやり方で配置されるかどうかを示すフラグを識別してもよい。
【００８０】
ヘッダ関連付けモジュール７９は、ブロックのヘッダシンタクス要素とスライスの各ブロックの残差情報とを関連付ける。例えば、ヘッダ関連付けモジュール７９は、スライスのブロックのそれぞれの残差情報が、対応するヘッダシンタクス要素に関連付けられるまで、デコードされたヘッダレイヤの各ヘッダシンタクス要素の第１値とスライスの第１ブロックの残差情報とを関連付け、各ヘッダシンタクス要素の第２値とスライスの第２ブロックの残差情報とを関連付けるなどしてもよい。
【００８１】
ヘッダ関連付けモジュール７９が、対応するヘッダシンタクス要素とブロックの残差情報とを関連付けるように、ヘッダ関連付けモジュール７９は、ブロックの再構成用のビデオデコーダの他のコンポーネントにそのブロックのブロックデータを出力する。いくつかの実例では、ヘッダ関連付けモジュール７９は、図４に上述されるようにビデオデコーダの異なるコンポーネントにブロックデータの一部を出力してもよい。このように、ヘッダ関連付けモジュール７９は、ビデオデータの再構成のために、ブロックごとの構造にスライスのブロックデータを再編成する。
【００８２】
図５のエントロピーデコーディング部６０は、ＶＬＣデコーディングをおこなうと記述されるが、その手法は、算術コーディングに同様に用いられてもよい。例えば、エントロピーデコーディング部６０は、ＶＬＣデコーディングモジュール７２の代わりに算術デコーディングモジュールを含んでもよい。階層ビットストリームのヘッダレイヤは、ヘッダシンタクス要素のランを生成するために算術デコードされてもよく、階層ビットストリームの残差レイヤは、残差情報を生成するために分離して算術デコードされてもよい。あるいは、エントロピーデコーディング部６０は、ヘッダ情報と残差情報とをデコードするためにＶＬＣおよび算術デコーディングの組み合せを用いてもよい。
【００８３】
図６は、この開示のある態様に従う階層エンコードビットストリームをデコードするように構成された別のエントロピーデコーディング部８０の例を示すブロック図である。エントロピーデコーディング部８０は、図１および４のビデオデコーダ２６内に存在してもよい。エントロピーデコーディング部８０は、スライスのインタリーブされた階層エンコードビデオビットストリームを受信し、ビデオデータを再構成することに用いるスライスのブロックに関するブロックデータを生成する。図６の例では、エントロピーデコーディング部８０は、分割モジュール８２、ヘッダデコーディングモジュール８４、残差デコーディングモジュール８５、ヘッダ情報メモリ８６、残差情報メモリ８８およびヘッダ関連付けモジュール８９を含む。
【００８４】
分割モジュール８２は、スライスの階層ビットストリームを受信し、ヘッダレイヤおよび残差レイヤに階層ビットストリームを分割する。上述したように、ビデオエンコーダ２０は、ヘッダレイヤから残差レイヤまでの推移の位置を識別する指標、例えば、ヘッダレイヤの終わりでのビットの固有のシーケンスまたはヘッダレイヤの長さを示すヘッダシンタクス要素、を備えるスライスをエンコードしてもよい。分割モジュール８２は、指標に基づく推移の位置を識別し、残差レイヤとヘッダレイヤとを分離する。分割モジュール８２は、エンコードされたヘッダレイヤをヘッダデコーディングモジュール８４に提供し、エンコードされた残差レイヤを残差デコーディングモジュール８５に提供する。
【００８５】
エントロピーデコーディング部８０は、スライスのブロックの同期したブロックごとのデコードをおこなってもよい。ヘッダデコーディングモジュール８４は、例えば、１以上のシンタクス要素の形式で、ヘッダ情報を得るためにヘッダレイヤをデコードし、ヘッダ情報メモリ８６にヘッダシンタクス要素を記憶する。ヘッダデコーディングモジュール８４は、ヘッダシンタクス要素のランを得るためにＶＬＣまたは算術デコーディング手法を用い、ヘッダシンタクス要素を得るためにランをランレングスデコードしてもよい。インタリーブされた階層ビットストリームは、互いの間でインタリーブされた異なるヘッダシンタクス要素のランに配置される。同じシンタクス要素の先のランが終了するとき、シンタクス要素の次のランが生じる。このように、シンタクス要素のエンコードされたランは、シンタクス要素が現在のブロックをデコーディングするために必要とされる位置に置かれ、それによって、デコーダでヘッダシンタクス要素と残差情報とを関連付けることの複雑性が低減する。それゆえ、ヘッダデコーディングモジュール８４は、ヘッダシンタクス要素のランをすべてデコードせずに、スライスの第１ブロックに関するヘッダシンタクス要素を得るためにランをデコードしてもよい。
【００８６】
残差デコーディングモジュール８５は、例えば、変換係数の形式において、残差情報を得るために残差レイヤをデコードし、残差情報メモリ８８に残差係数を記憶する。残差デコーディングモジュール８５は、変換係数を得るためにＶＬＣまたは算術コーディング手法を用いて、残差レイヤをデコードしてもよい。残差デコーディングモジュール８５およびヘッダデコーディングモジュール８４は、残差レイヤおよびヘッダレイヤをともにデコードしてもよい。
【００８７】
ヘッダ関連付けモジュール８９は、ブロックのヘッダシンタクス要素とスライスの各ブロックの残差情報とを関連付ける。例えば、ヘッダ関連付けモジュール８９は、第１ブロックのヘッダ情報と残差情報とがデコードされるとすぐに、スライスの第１ブロックのブロックデータを生成してもよい。特に、ヘッダ関連付けモジュール８９は、デコードされたヘッダレイヤのヘッダシンタクス要素の第１ランのそれぞれの値とスライスの第１ブロックの残差情報とを関連付ける。それゆえ、ビデオデコーダ２６における他のコンポーネントは、ヘッダ情報と残差情報との残りがデコードされる前に、スライスの第１ブロックを再構成し始めてもよい。ヘッダ関連付けモジュール８９は、情報がデコードされるとともに、対応するヘッダシンタクス要素と残差情報とを関連付け続ける。このように、ヘッダレイヤのインタリーブされた配置は、ビデオデコーダ２６が、ヘッダ情報と残差情報とを記憶することを要求される低減されたメモリ量および低減された遅延量で、スライスのブロックの、同期したブロックごとのデコーディングをおこなうことを可能にする。
【００８８】
図７Ａ−７Ｃは、ビットストリーム構造例を示す。図７Ａは、ブロックごとのビットストリーム構造例９０を示し、図７Ｂおよび７Ｃは、階層ビットストリーム構造例９２Ａおよび９２Ｂをそれぞれ示す。ブロックごとのビットストリーム構造９０は、各ブロックのヘッダ情報および対応する残差情報が連続してエンコードされるように、配置されてもよい。特に、ブロックごとのビットストリーム構造は、（図７Ａにおいて“ＭＢ １”とラベル付けされた）第１ブロックのエンコードされたヘッダ情報９４Ａに続いて、ブロックＭＢ １の対応するエンコードされた残差情報９６Ａがあり、（図７Ａにおいて“ＭＢ ２”とラベル付けされた）第２ブロックのエンコードされたヘッダ情報９４Ｂに続いて、第２ブロックＭＢ２に関する対応するエンコードされた残差情報９６Ｂがあるなど、（図７Ａにおいて“ＭＢ ｎ”とラベル付けされた）最後のブロックまで続くように配置される。
【００８９】
図７Ａにおいてさらに示されるように、ブロックＭＢ １のヘッダ情報９４Ａは、ヘッダシンタクス要素９８Ａ１−９８Ｋ１（まとめて“ヘッダシンタクス要素９８”）を含む。ヘッダシンタクス要素９８は、ブロックタイプ（インターまたはイントラ）、予測モード（イントラコードされるブロックに関する予測方向性、またはインターコードされるブロックに関する順／逆／双方向予測）、分割サイズ（１６×１６、８×８など）、動きベクトル、コードされるブロックパターン（ＣＢＰ）、デルタＱＰ、変換サイズなどを含んでもよい。言いかえれば、ヘッダシンタクス要素９８のそれぞれは、異なるシンタクス要素に対応してよい。一例として、シンタクス要素９８Ａ１は、ブロックタイプシンタクス要素に対応してもよく、シンタクス要素９８Ｂ１は、予測モードシンタクス要素に対応してもよく、シンタクス要素９８Ｃ１は、分割サイズシンタクス要素に対応してもよく、ブロックタイプシンタクス要素９８Ｋ１は、ＣＢＰシンタクス要素に対応してもよい。しかし、ヘッダ情報９４Ａは、より多くまたはより少数のシンタクス要素９８を含んでもよい。ビットストリーム９０の他のブロックのエンコードされたヘッダ情報９４はまた、ヘッダシンタクス要素を含んでもよい。例えば、ブロックＭＢ ２のエンコードされたヘッダ情報９４Ｂは、ヘッダシンタクス要素９８Ａ２−９８Ｋ２（図７Ａに図示せず）、ブロックＭＢ ｎのエンコードされたヘッダ情報９４Ｎは、ヘッダシンタクス要素９８Ａｎ−９８Ｋｎ（図７Ａに図示せず）を含んでもよい。それゆえ、ブロックごとのビットストリーム構造における、ヘッダシンタクス要素および対応する残差情報は、各ブロックに関して連続してエンコードされる。
【００９０】
上述したように、ブロックＭＢ １からＭＢ ｎまでは、同じヘッダシンタクス要素の１以上に関して同じ値を有してもよい。例えば、ブロックの第１部分は、ブロックタイプシンタクス要素の同じ値を有してもよく、ブロックの第２部分は、デルタＱＰシンタクス要素の同じ値を有してもよい。ブロックごとのビットストリーム９０がブロックごとを基準に配置される、すなわち、連続するブロックのエンコードされたヘッダ情報９４に続いて同じブロックの対応する残差情報９６があるため、ブロックごとのビットストリーム９０は、ブロック間のヘッダ情報の相関を完全に利用することができなくてもよい。例としてブロックタイプに関するヘッダシンタクス要素を用いて、多くの連続するブロックが同じブロックタイプを有する場合でも、エントロピーエンコーダがＶＬＣコーディングを用いて、前のブロックタイプから現在のブロックタイプを予測する場合、少なくとも１ビットのフラグは、ブロックタイプシンタクス要素を表わすために、各ブロックのエンコードされたヘッダ情報９４内に含まれる。例えば、現在のブロックタイプが同様にエンコードされる必要がある場合、１である１ビットフラグは、現在のブロックタイプが前のブロックタイプと同じであることを示し、一方、０である１ビットフラグは、現在のブロックタイプが前のブロックタイプとは異なることを示す。それゆえ、シンタクス要素９８当たりのブロック当たり少なくとも１つのビットは、ブロック間のヘッダ情報の相関を利用するために送信される。
【００９１】
図７Ｂは、この開示の態様に従うヘッダレイヤと残差レイヤとを含む連続する階層ビットストリーム構造９２Ａを示す。ヘッダレイヤは、冗長度を削減し、かつブロックにわたってヘッダ情報の相関をよりよく利用するために、一緒にエンコードされる全てのブロックのエンコードヘッダ情報を含む。図７Ｂに示されるように、ヘッダレイヤは、連続的に配置されるエンコードされたシンタクス要素ラン９９Ａ−９９Ｋ（まとめて、“ＳＥラン９９”）を含む。エンコードされたヘッダシンタクス要素ラン９９Ａは、ブロックの全てに関して同一タイプのランレングスコードされたヘッダシンタクス要素を含む。特に、エンコードされたヘッダＳＥラン９９Ａは、ブロックＭＢ１のヘッダシンタクス要素９８Ａ１、ブロックＭＢ ２の９８Ａ２など、ブロックＭＢ ｎのシンタクス要素９８Ａｎまでに関する１以上のエンコードされたランを含み、エンコードされたＳＥラン９９Ｂは、ブロックＭＢ１のヘッダシンタクス要素９８Ｂ１、ブロックＭＢ２の９８Ｂ２、などからブロックＭＢ ｎのシンタクス要素９８Ｂｎまでに関する１以上のランを含む。それゆえ、連続する階層ビットストリーム構造９２Ａは、連続して配置されたヘッダシンタクス要素の種類のそれぞれのＳＥラン９９を含む。残差レイヤは、各ブロックに関するエンコードされた残差データを含む。
【００９２】
図７Ｃは、ヘッダレイヤと残差レイヤとを含むインタリーブされた階層ビットストリーム構造９２Ｂを示す。インタリーブされた階層ビットストリーム構造９２Ｂのヘッダレイヤは、異なるヘッダシンタクス要素のラン９９がヘッダレイヤ内にインタリーブされるエンコードされたヘッダ情報を含む。これは、ヘッダレイヤのインタリーブされた配置と呼ばれる。図７Ｃにおいて示されるように、ヘッダレイヤは、ＳＥラン９９Ａ１、ＳＥラン９９Ｂ１からＳＥラン９９Ｋ１までに続いて、ＳＥラン９９Ｘ２などを含む。ＳＥラン９９Ａ１は、シンタクス要素９８Ａの第１ランのエンコードされたランである。シンタクス要素９８Ａは、シンタクス要素９８Ａ１，９８Ａ２，…，９８Ａｎを含むグループを参照する。言いかえると、シンタクス要素９８Ａ１，９８Ａ２，…，９８Ａｎは、まとめてシンタクス要素９８Ａと呼ばれる。同様に、ＳＥラン９９Ｂ１からＳＥラン９９Ｋ１までは、シンタクス要素９８Ｂから９８Ｋまでの第１ランに関するランがそれぞれエンコードされる。シンタクス要素９８Ｂおよび９８Ｋは、シンタクス要素９８Ｂ１，９８Ｂ２，９８Ｂｎおよび９８Ｋ１，９８Ｋ２，９８Ｋｎを含む集合的なグループをそれぞれ参照する。ＳＥラン９９Ｘ２は、最短の第１ランを備えるシンタクス要素の第２ランに関してエンコードされたランである。例えば、シンタクス要素９８Ｂの第１ラン９９Ｂ１が最短の第１ランである場合、ＳＥラン９９Ｘ２はそのとき、シンタクス要素９８Ｂの第２ランである。しかし、シンタクス要素９８Ｋの第１ラン９９Ｋ１が最短のシンタクス要素である場合、ＳＥラン９９Ｘ２はそのとき、シンタクス要素９８Ｋの第２ランである。それゆえ、ヘッダレイヤは、任意の他のシンタクス要素９８の任意の第２のエンコードされたランより前に、各シンタクス要素に関して少なくとも１つのエンコードされたＳＥラン９９を含んでもよい。以下に詳細に記述されるように、これは、ヘッダレイヤおよび残差レイヤ全体を完全にデコーディングする前に、デコーダがスライスのブロックを再構成し始めることを可能にする。
【００９３】
このように、インタリーブされた階層ビットストリーム構造９２Ｂは、シンタクス要素の１つのランが使い尽くされた（すなわち、終了した）際、同じシンタクス要素に関する次のランがエンコードされる（１である場合）ような、ヘッダレイヤ内でインタリーブされた異なるヘッダシンタクス要素のＳＥラン９９に配置されてもよい。そのため、インタリーブされた階層ビットストリーム構造９２Ｂは、固定構造である代わりにランのそれぞれの値に動的に基づいて配置される。図７Ｃのインタリーブされた階層ビットストリーム構造９２Ｂはたった１つの第２ランを含むように示され、インタリーブされた階層ビットストリーム構造９２Ｂは、シンタクス要素の任意の一部または全てに関する第２ランを含んでもよい。さらに、ヘッダシンタクス要素は、ヘッダシンタクス要素の任意の一部または全てに関する付加的なラン（例えば、第３ラン、第４ラン、第５ランなど）を含んでもよい。ヘッダシンタクス要素の付加的なランは、ヘッダシンタクス要素の前のランが終了する位置でインタリーブされたやり方でエンコードされる。そのため、ヘッダシンタクス要素の第３ランは、ヘッダシンタクス要素のランの長さに依存して、異なるヘッダシンタクス要素の第２ランなどの前に生じてもよい。
【００９４】
連続する階層ビットストリーム構造９２Ａとインタリーブされた階層ビットストリーム構造９２Ｂとはまた、ヘッダレイヤおよび残差レイヤからの推移が生じる位置を識別する指標９７を含む。図７Ｂおよび図７Ｃに示された例では、指標９７は、推移に置かれるが、他の実例では、指標９７は、ヘッダレイヤの長さを示すヘッダレイヤの先頭でのヘッダシンタクス要素でもよい。
【００９５】
図８は、階層エンコードビットストリームを生成するエントロピーエンコーディング部４６の動作例を示すフローチャートである。エントロピーエンコーディング部４６は、スライスのビデオブロックのブロックデータを受信する（１００）。エントロピーエンコーディング部４６は、ビデオエンコーダ２０、例えば、量子化部４０または動き推定部３２の他のコンポーネントからブロックデータを受信してもよい。受信ブロックデータは、（例えば、量子化された残差係数の形式における）残差情報と（例えば、１以上の動きベクトル、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、デルタＱＰ、変換サイズなどのような、１以上のヘッダシンタクス要素の形式における）ヘッダ情報とを含んでもよい。
【００９６】
ブロックデータ分離モジュール５０は、ブロックの残差情報とブロックのヘッダ情報とを分離する（１０２）。ブロックデータ分離モジュール５０は、１以上の記憶モジュールにヘッダ情報と残差情報とを記憶してもよい（１０４）。いくつかの実例では、記憶モジュールは、分離した記憶モジュールでもよい。他の実例では、記憶モジュールは、同じ記憶モジュールでもよい。
【００９７】
エントロピーエンコーディング部４６は、ブロックがスライスの終わりかどうかを決定する（１０６）。ブロックがスライスの最後のブロックではない場合、エントロピーエンコーディング部は、連続するブロックに関するブロックデータを受信し、連続するブロックの残差情報と連続するブロックのヘッダ情報とを分離し、分離されたブロック情報を記憶する。
【００９８】
ブロックがスライスの最後のブロックである場合、ヘッダグルーピングモジュール５４は、ランレングスコーディングを用いて、スライスのブロック間のヘッダ情報の相関を利用するために、スライスのブロックのヘッダ情報を配置する（１０８）。ヘッダグルーピングモジュール５４は、ヘッダシンタクス要素の種類に基づいて、複数のグループに各ブロックのヘッダシンタクス要素をグループ化してもよい。例えば、ヘッダグルーピングモジュールは、ブロックタイプシンタクス要素グループにブロックのブロックタイプシンタクス要素をグループ化してもよい。ヘッダグルーピングモジュール５４はまた、予測モード、分割サイズ、動きベクトル、ＣＢＰ、ＱＰ、変換サイズなどのような他のヘッダシンタクス要素に関する同様なグループを生成してもよい。
【００９９】
エントロピーエンコーディング部４６は、ヘッダレイヤへのスライスのブロックのヘッダ情報をエンコードする（１１０）。例えば、ＲＬＣモジュール５８は、冗長度を削減し、かつスライスのブロック間のヘッダシンタクス要素の相関を利用するために、ヘッダシンタクス要素のグループのそれぞれをランレングスエンコードする。１つの事例では、ＲＬＣモジュール５８は、ブロックの第１ヘッダシンタクス要素のランに続いて、ブロックの第２シンタクス要素のランをエンコードするなど、ＲＬＣモジュール５８がブロックの最後のシンタクス要素のランをエンコードするまで、エンコードする。あるいは、ＲＬＣモジュール５８は、様々なヘッダシンタクス要素のランが互いの間でインタリーブされるような、ヘッダシンタクス要素のランをエンコードする。スライスのブロックのシンタクス要素のランの生成に続いて、ＶＬＣモジュール５９は、階層ビットストリームのヘッダレイヤを生成するためにシンタクス要素のランをエンコードする。
【０１００】
エントロピーエンコーディング部４６はまた、ヘッダレイヤの終わりを識別する指標をエンコードしてもよい（１１２）。１つの事例では、ＶＬＣモジュール５９はヘッダレイヤの終わりを示すビットの固有のパターンをエンコードしてもよい。あるいは、ＶＬＣモジュール５９は、ヘッダレイヤの長さ、（例えば、ビット長を示すヘッダレイヤの先頭でシンタクス要素をエンコードしてもよい。
【０１０１】
エントロピーエンコーディング部４６はまた、階層ビットストリームの残差レイヤを生成するためにブロックのそれぞれの残差情報をエンコードする（１１４）。エントロピーエンコーディング部４６は、ＶＬＣまたは算術エンコードを用いて、残差情報をエンコードしてもよい。このように、エントロピーエンコード部は、ブロックのヘッダ情報に対応するビットの第１シーケンスと、ブロックの残差情報に対応するビットの第２シーケンスとを含む階層エンコードビットストリームを生成する。エントロピーエンコーディング部４６は、階層エンコードビットストリームを送信する（１１６）。
【０１０２】
図９は、階層エンコードビットストリームをデコーディングするエントロピーデコーディング部６０の動作例を示すフローチャートである。エントロピーデコーディング部６０は、スライスの階層エンコードビデオビットストリームを受信する（１２０）。エントロピーデコーディング部６０は、スライスのブロックのヘッダシンタクス要素を得るためにビットストリームのヘッダレイヤをデコードする（１２２）。ＶＬＣデコーディングモジュール７２は、可変長デコーディング手法、例えば、ヘッダレイヤをデコードするために１以上の可変長コーディングテーブルを用いることを適用する。ヘッダレイヤの可変長デコーディングをおこなった後に、ＲＬＣデコーディングモジュール７４は、スライスのブロックに関するヘッダ情報を得るためにヘッダレイヤをデコードする。
【０１０３】
デコードされたヘッダ情報は、シンタクス要素のタイプに基づいてグループ化される多くのシンタクス要素を含む。一例を挙げれば、シンタクス要素は、スライスのすべてのブロックに関する第１タイプ（例えば、ブロックタイプ）のシンタクス要素が一緒にグループ化され、スライスのすべてのブロックに関する第２タイプ（例えば、予測モード）のシンタクス要素が共にグループ化されるなどのようにグループ化されてもよい。あるいは、ヘッダ情報のシンタクス要素は、互いの間でインタリーブされてもよい。例えば、各シンタクス要素に関する少なくとも１つのランは、シンタクス要素の任意の付加的なランをエンコーディングする前にエンコードされてもよい。同じシンタクス要素の前のランが終了するとき、シンタクス要素の付加的なランがエンコードされる。このように、シンタクス要素の付加的なランは、シンタクス要素が現在のブロックをデコーディングするために必要とされる位置でエンコードされ、それによって、デコーダでヘッダシンタクス要素と残差情報とを関連付けることの複雑性を削減する。エントロピーデコーディング部６０は、ヘッダシンタクス要素を記憶する（１２４）。
【０１０４】
エントロピーデコーディング部６０は、ヘッダレイヤから残差レイヤまでの推移を識別する指標を検出する（１２６）。ヘッダレイヤから残差レイヤまでの推移を検出する際、ＶＬＣデコーディングモジュール７２は、ビットストリームの残差レイヤをデコードする（１２８）。ＶＬＣデコーディングモジュール７２は、いくつかの事例では、残差レイヤをデコーディングすることに関するコーディングテーブルの異なるセットを選択してもよい。ＶＬＣデコーディングモジュール７２は、残差情報を記憶する（１３０）。
【０１０５】
ヘッダ関連付けモジュール７９は、ブロックのヘッダシンタクス要素とスライスの第１ブロックの残差情報とを関連付ける（１３２）。例えば、ヘッダ関連付けモジュール７９は、デコードされたヘッダレイヤの各ヘッダシンタクス要素の第１値と、スライスの第１ブロックの残差情報とを関連付ける。エントロピーデコーディング部６０は、ブロックの再構成のためにビデオデコーダ２６の他のコンポーネントに、ブロックのブロックデータを出力する（１３４）。いくつかの実例では、ヘッダ関連付けモジュール７９は、図４に上述されるようなビデオデコーダの異なるコンポーネントにブロックデータの一部を出力してもよい。
【０１０６】
エントロピーデコーディング部６０は、ブロックがスライスの終わりかどうかを決定する（１３６）。ブロックがスライスの最後のブロックではない場合、エントロピーデコーディング部６０は、連続するブロックのヘッダシンタクス要素とスライスの連続するブロックの残差情報とを関連付ける。ブロックがスライスの最後のブロックである場合、エントロピーデコーディング部６０は、別の階層エンコードビットストリームを受信するのを待つ。
【０１０７】
図１０は、インタリーブされた階層エンコードビットストリームをデコードするエントロピーデコーディング部８０の動作例を示すフローチャートである。エントロピーデコーディング部８０は、スライスのインタリーブされた階層エンコードビデオビットストリームを受信する（１４０）。エントロピーデコーディング部８０は、ヘッダレイヤと残差レイヤとの間の推移を識別するインタリーブされた階層ビットストリームにおける指標を検出する（１４２）。エントロピーデコーディング部８０は、ヘッダレイヤと残差レイヤとにビットストリームを分割する（１４４）。エントロピーデコーディング部８０は、ヘッダデコードモジュールにエンコードされたヘッダレイヤを供給し、残差デコーディングモジュール８５にエンコードされた残差レイヤを供給する（１４５）。
【０１０８】
エントロピーデコーディング部８０は、スライスのブロックのヘッダシンタクス要素を得るために、ビットストリームのヘッダレイヤをデコードする（１４６）。エントロピーデコーディング部８０のヘッダデコーディングモジュール８４は、ヘッダシンタクス要素のランを得るためにＶＬＣまたは算術コーディング手法を用いてもよく、ヘッダシンタクス要素を得るためにランをランレングスデコードしてもよい。インタリーブされた階層ビットストリームは、互いの間でインタリーブされた異なるヘッダシンタクス要素のランに配置される。同じシンタクス要素の前のランが終わる際、シンタクス要素の連続するランが生じる。このように、シンタクス要素のエンコードされたランは、シンタクス要素が現在のブロックをデコードするために必要となる位置に置かれ、それによって、デコーダでヘッダシンタクス要素と残差情報とを関連付けることの複雑性を低減する。エントロピーデコーディング部８０は、ヘッダ情報メモリ８６にビットストリームの一部のデコードされたヘッダシンタクス要素を記憶する（１４８）。
【０１０９】
エントロピーデコーディング部８０は、残差変換係数を得るために残差情報をデコードする（１５０）。エントロピーデコーディング部８０の残差デコーディングモジュール８５は、残差変換係数を得るために、ＶＬＣまたは算術コーディング手法を用いて残差レイヤをデコードしてもよい。エントロピーデコーディング部８０は、残差情報メモリ８８に残差変換係数を記憶する（１５２）。エントロピーデコーディング部８０は、残差レイヤとヘッダレイヤとをともにデコードしてもよく、それによって、全てのコード単位（例えば、スライス）に関してデコードされたヘッダ情報および残差情報を記憶することによって、被ったメモリ要求とデコーディング遅延とを削減する。
【０１１０】
エントロピーデコーディング部８０は、第１ブロックに関するブロックデータを生成するために、ブロックの対応するヘッダシンタクスとスライスの第１ブロックの残差情報とを関連付ける（１５４）。エントロピーデコーディング部８０は、エントロピーデコーディング部８０の他のコンポーネントによって第１ブロックの再構成のために第１ブロックのブロックデータを出力する（１５６）。例えば、ヘッダ関連付けモジュール８９は、第１ブロックのヘッダ情報および残差情報がデコードされるとすぐに、スライスの第１ブロックに関するブロックデータを生成してもよい。言いかえれば、ヘッダ関連付けモジュール８９は、エントロピーデコーディング部８０がヘッダ情報および残差情報の残りをまだデコードしている間、第１ブロックに関するブロックデータを生成してもよい。
【０１１１】
エントロピーデコーディング部８０は、ブロックがスライスの終わりかどうかを判定する（１５８）。ブロックがスライスの最後のブロックではない場合、連続するブロックのヘッダシンタクス要素および残差情報が利用可能であるとすぐに、エントロピーデコーディング部８０は、連続するブロックのヘッダシンタクス要素とスライスの連続するブロックの残差情報とを関連させる。このように、ヘッダレイヤのインタリーブされた配置は、エントロピーデコーディング部８０が、削減された遅延量およびメモリ要求でスライスのブロックの同期されたブロックごとのデコーディングをおこなうことを可能にする。ブロックがスライスの最後のブロックである場合、エントロピーデコーディング部８０は、別の階層エンコードビットストリームを受信するのを待つ。
【０１１２】
この開示に記述された手法は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組み合わせで実装されてもよい。モジュールまたはコンポーネントとして記述された任意の特徴は、集積論理デバイスと一緒に実装されてもよいし、別個であるが相互利用可能な論理デバイスとして分離して実装されてもよい。ソフトウェアを実装する場合、その手法は、実行されたときに、上述された１以上の方法をおこなう命令を具備するコンピュータ読み取り可能な媒体によって少なくとも部分的に実現されてもよい。コンピュータ読み取り可能な媒体は、包装材料を含んでもよいコンピュータプログラム製品の一部を形成してもよい。コンピュータ読み取り可能な媒体は、同期型ＤＲＡＭ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体などのようなものを具備してもよい。
【０１１３】
手法は、付加的または代替的に、命令またはデータ構造の形式におけるコードを通信するまたは運び、コンピュータによって実行され、および／または読み出され、アクセスされうるコンピュータ読み取り可能な通信媒体によって少なくても部分的に実現されてもよい。
【０１１４】
コードは、１以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積または離散（discrete）論理回路のような、１以上のプロセッサによって実行されてもよい。したがって、ここで用いられる用語“プロセッサ”は、上述の構造のいずれかまたはここに記述された手法の実装に適する任意の他の構造を参照してもよい。加えて、いくつかの態様では、ここに記述された機能は、エンコードしデコードするように構成され、または組み合わされたビデオエンコーダデコーダ（ＣＯＤＥＣ）に組み込まれる専用のソフトウェアモジュールまたはハードウェアモジュール内に提供されてもよい。
【０１１５】
本発明の様々な実施形態は記述されている。これらおよび他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをエンコードする方法であって、前記方法は、エンコードビットストリームのビットの第１シーケンスにおいて、ビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードし、前記エンコードビットストリームのビットの第２シーケンスにおいて、前記複数のビデオブロックの残差情報をエンコードすることを具備する方法。
［２］  前記複数のビデオブロックの前記ヘッダ情報をエンコードすることは、前記複数のビデオブロックの前記ヘッダ情報をランレングスエンコードすることを具備する［１］の方法。
［３］  前記ヘッダ情報は、前記複数のビデオブロックのそれぞれにヘッダシンタクス要素の複数の異なる種類を含み、前記方法は、ヘッダシンタクス要素のグループに前記複数のビデオブロックの前記ヘッダ情報を配置し、前記グループのそれぞれは、前記複数のビデオブロックのそれぞれからヘッダシンタクス要素の前記異なる種類のうちの１つのヘッダシンタクス要素を含むことをさらに具備する［１］の方法。
［４］  エンコードビットストリームのビットの前記第１シーケンスにおける前記複数のビデオブロックのヘッダ情報をエンコードすることは、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループのそれぞれのランを連続してエンコードすることを具備する［３］の方法。
［５］  エンコードビットストリームのビットの前記第１シーケンスにおける前記複数のビデオブロックのヘッダ情報をエンコードすることは、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブすることを具備する［３］の方法。
［６］  ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブすることは、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードすることを具備する［５］の方法。
［７］  ヘッダシンタクス要素の前記他のグループのいずれかに関して第２ランをエンコードするより前に、最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの１つに関して第２ランをエンコードすることをさらに具備すること［６］の方法。
［８］  前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロック（デルタＱＰ）からの量子化パラメータの変更、および変換サイズの少なくとも１つを含む［３］の方法。
［９］  ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信することをさらに具備する［１］の方法。
［１０］  ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードすることをさらに具備する［１］の方法。
［１１］  前記指標をエンコードすることは、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードすることを具備する［１０］の方法。
［１２］  前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、前記方法は、第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードすることをさらに具備する［１］の方法。
［１３］  前記コード単位は、スライスおよびフレームのうちの１つを具備する［１］の方法。  ［１４］  前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードすることは、可変長コーディングまたは算術コーディングを用いて前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードすることを具備する［１］の方法。
［１５］  エンコードビットストリームのビットの第１シーケンスにおいてビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードする第１エンコーディングモジュールと、前記エンコードビットストリームのビットの第２シーケンスにおいて前記複数のビデオブロックの残差情報をエンコードする第２エンコーディングモジュールと、を具備するエンコーディングデバイス。
［１６］  前記第１エンコーディングモジュールは、前記複数のビデオブロックの前記ヘッダ情報をランレングスコードするランレングスコーディングモジュールを具備する［１５］のデバイス。
［１７］  前記ヘッダ情報は、前記複数のビデオブロックのそれぞれにヘッダシンタクス要素の複数の異なる種類を含み、前記デバイスは、ヘッダシンタクス要素のグループに前記複数のビデオブロックの前記ヘッダ情報を配置するヘッダグルーピングモジュールをさらに具備し、前記グループのそれぞれは、前記複数のビデオブロックのそれぞれからヘッダシンタクス要素の前記異なる種類のうちの１つのヘッダシンタクス要素を含む［１５］のデバイス。
［１８］  前記第１エンコーディングモジュールは、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループのそれぞれのランを連続してエンコードする［１７］のデバイス。
［１９］  前記第１エンコーディングモジュールは、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブする［１８］のデバイス。
［２０］  前記第１エンコーディングモジュールは、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードする［１９］のデバイス。
［２１］  前記第１エンコーディングモジュールは、ヘッダシンタクス要素の前記他のグループのいずれかに関して第２ランをエンコードするより前に、最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの１つに関して第２ランをエンコードする［２０］のデバイス。
［２２］  前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロック（デルタＱＰ）からの量子化パラメータの変更、および変換サイズの少なくとも１つを含む［１７］のデバイス。
［２３］  ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信する送信機をさらに具備する［１５］のデバイス。
［２４］  前記第１エンコーディングモジュールは、ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードする［１５］のデバイス。
［２５］  前記第１エンコーディングモジュールは、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードする［２４］のデバイス。
［２６］  前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、前記第１および第２エンコーディングモジュールの少なくとも１つは、第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードする［１５］のデバイス。
［２７］  前記コード単位は、スライスおよびフレームのうちの１つを具備する［１５］のデバイス。
［２８］  前記デバイスは、無線通信デバイスを具備する［１５］のデバイス。
［２９］  前記エンコーディングデバイスは、可変長コーディングまたは算術コーディングのうちの１つを用いてデータをエンコードする［１５］のデバイス。
［３０］  プロセッサに、エンコードビットストリームのビットの第１シーケンスにおいてビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードさせ、前記エンコードビットストリームのビットの第２シーケンスにおいて前記複数のビデオブロックの残差情報をエンコードさせる命令を具備するコンピュータ読み取り可能な媒体。
［３１］  前記プロセッサに前記複数のビデオブロックの前記ヘッダ情報をエンコードさせる命令は、前記プロセッサに、前記複数のビデオブロックの前記ヘッダ情報をランレングスエンコードさせる命令を具備する［３０］のコンピュータ読み取り可能な媒体。
［３２］  前記ヘッダ情報は、前記複数のビデオブロックのそれぞれにヘッダシンタクス要素の複数の異なる種類を含み、前記コンピュータ読み取り可能な媒体は、前記プロセッサに、ヘッダシンタクス要素のグループに前記複数のビデオブロックの前記ヘッダ情報を配置させ、前記グループのそれぞれは、前記複数のビデオブロックのそれぞれからヘッダシンタクス要素の前記異なる種類のうちの１つのヘッダシンタクス要素を含む命令をさらに具備する［３０］のコンピュータ読み取り可能な媒体。
［３３］  前記プロセッサに、エンコードビットストリームのビットの前記第１シーケンスにおける前記複数のビデオブロックのヘッダ情報をエンコードさせる命令は、前記プロセッサに、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループのそれぞれのランを連続してエンコードさせる命令を具備する［３２］のコンピュータ読み取り可能な媒体。
［３４］  前記プロセッサに、エンコードビットストリームのビットの前記第１シーケンスにおける前記複数のビデオブロックのヘッダ情報をエンコードさせる命令は、前記プロセッサに、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブさせる命令を具備する［３２］のコンピュータ読み取り可能な媒体。
［３５］  前記プロセッサに、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブさせる命令は、前記プロセッサに、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードさせる命令を具備する［３４］のコンピュータ読み取り可能な媒体。
［３６］  前記プロセッサに、ヘッダシンタクス要素の前記他のグループのいずれかに関して第２ランをエンコードするより前に、最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの１つに関して第２ランをエンコードさせる命令をさらに具備する［３５］のコンピュータ読み取り可能な媒体。
［３７］  前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロック（デルタＱＰ）からの量子化パラメータの変更、および変換サイズの少なくとも１つを含む［３２］のコンピュータ読み取り可能な媒体。
［３８］  前記プロセッサに、ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信させる命令をさらに具備する［３０］のコンピュータ読み取り可能な媒体。
［３９］  前記プロセッサに、ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードさせる命令をさらに具備する［３０］のコンピュータ読み取り可能な媒体。
［４０］  前記プロセッサに、前記指標をエンコードさせる命令は、前記プロセッサに、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードさせる命令を具備する［３９］のコンピュータ読み取り可能な媒体。
［４１］  前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、前記コンピュータ読み取り可能な媒体は、前記プロセッサに、第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードさせる命令をさらに具備する［３０］のコンピュータ読み取り可能な媒体。
［４２］  前記コード単位は、スライスおよびフレームのうちの１つを具備する［３０］のコンピュータ読み取り可能な媒体。
［４３］  前記プロセッサに、前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードさせる命令は、可変長コーディングまたは算術コーディングを用いて前記ヘッダ情報と前記残差情報との少なくとも１つをエンコードさせる命令を具備する［３０］のコンピュータ読み取り可能な媒体。
［４４］  エンコードビットストリームのビットの第１シーケンスにおいてビデオデータのコード単位の複数のビデオブロックのヘッダ情報をエンコードする手段と、前記エンコードビットストリームのビットの第２シーケンスにおいて前記複数のビデオブロックの残差情報をエンコードする手段と、を具備するエンコーディングデバイス。
［４５］  前記ヘッダ情報エンコード手段は、前記複数のビデオブロックの前記ヘッダ情報をランレングスエンコードする［４４］のデバイス。
［４６］  前記ヘッダ情報は、前記複数のビデオブロックのそれぞれにヘッダシンタクス要素の複数の異なる種類を含み、前記デバイスは、ヘッダシンタクス要素のグループに前記複数のビデオブロックの前記ヘッダ情報を配置する手段をさらに具備し、前記グループのそれぞれは、前記複数のビデオブロックのそれぞれからヘッダシンタクス要素の前記異なる種類のうちの１つのヘッダシンタクス要素を含む［４４］のデバイス。
［４７］  前記ヘッダ情報エンコード手段は、ビットの前記第１シーケンスを生成するためにヘッダシンタクス要素の前記グループのそれぞれのランを連続してエンコードする［４６］のデバイス。
［４８］  前記ヘッダ情報エンコード手段は、ビットの前記第１シーケンス内のヘッダシンタクス要素の前記グループの一部のエンコードされたランをインタリーブする［４６］のデバイス。
［４９］  前記ヘッダ情報エンコード手段は、ヘッダシンタクス要素の前記グループのいずれかの第２ランをエンコードする前に、ヘッダシンタクス要素の前記グループのそれぞれに第１ランをエンコードする［４８］のデバイス。
［５０］  前記ヘッダ情報エンコード手段は、ヘッダシンタクス要素の前記他のグループのいずれかに関して第２ランをエンコードするより前に、最短の第１ランを有するヘッダシンタクス要素の前記グループのうちの１つに関して第２ランをエンコードする［４９］のデバイス。
［５１］  前記ヘッダシンタクス要素は、ブロックタイプ、予測モード、分割サイズ、コードされるブロックパターン、動きベクトル、前のブロック（デルタＱＰ）からの量子化パラメータの変更、および変換サイズの少なくとも１つを含む［４５］のデバイス。
［５２］  ビットの前記第２シーケンスの前にビットの前記第１シーケンスを送信する手段をさらに具備する［４４］のデバイス。
［５３］  前記ヘッダ情報エンコード手段は、ビットの前記第１シーケンスからビットの前記第２シーケンスまでの推移が生じる前記エンコードビットストリーム内の位置を識別する指標をエンコードする［４４］のデバイス。
［５４］  前記ヘッダ情報エンコード手段は、前記推移の前記位置でのビットの固有のシーケンス、および、ビットの前記第１シーケンスの長さを示すシンタクス要素のうちの１つをエンコードする［５３］のデバイス。
［５５］  前記コード単位は、ビットの前記第１シーケンスとして前記複数のビデオブロックの前記エンコードされたヘッダ情報と、ビットの前記第２シーケンスとして前記複数のビデオブロックの前記エンコードされた残差情報とを含む第１コード単位を具備し、前記デバイスは、第２コードデータ単位のブロックごとのヘッダ情報に続いて、前記対応するブロックに関する前記残差情報があるようなブロックごとの第２コード単位をエンコードする手段をさらに具備する［４４］のデバイス。
［５６］  前記コード単位は、スライスおよびフレームのうちの１つを具備する［４４］のデバイス。
［５７］  前記エンコーディングデバイスは、可変長コーディングまたは算術コーディングのうちの１つを用いてデータをエンコードする［４４］のデバイス。
［５８］  ビデオデータをデコードする方法であって、前記方法は、コード単位の複数のビデオブロックのヘッダ情報を得るために、エンコードビットストリームのビットの第１シーケンスをデコードし、前記複数のビデオブロックの残差情報を得るために、前記エンコードビットストリームのビットの第２シーケンスをデコードし、前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付けることを具備する方法。
［５９］  前記複数のビデオブロックのそれぞれの前記残差情報と対応するヘッダ情報とを関連付けることは、前記複数のビデオブロックのそれぞれの前記残差情報と複数の対応するヘッダシンタクス要素とを関連付けることを具備する［５８］の方法。
［６０］  ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出することをさらに具備する［５８］の方法。
［６１］  前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いて、前記コード単位の前記ビデオブロックのそれぞれを再構成することをさらに具備する［５８］の方法。
［６２］  前記ビデオブロックのそれぞれを再構成することは、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位のビデオブロックのそれぞれを再構成することを具備する［６１］の方法。
［６３］  前記ビデオブロックのそれぞれを再構成することは、前記コード単位のビットの前記２つのシーケンスの残り部分をデコードするとともに、前記コード単位の各ビデオブロックを再構成することを具備する［６１］の方法。
［６４］  ヘッダ情報を得るためにビットの前記第１シーケンスをデコードすることおよび残差情報を得るためにビットの前記第２シーケンスをデコードすることは、ビットの前記第１シーケンスおよびビットの前記第２シーケンスをともにデコードすることを具備する［５８］の方法。
［６５］  コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンスをデコードし、前記複数のビデオブロックの残差情報を得るために前記エンコードビットストリームのビットの第２シーケンスをデコードする少なくとも１つのデコーダモジュールと、前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付けるヘッダ関連付けモジュールと、を具備するデコーディングデバイス。
［６６］  前記ヘッダ関連付けモジュールは、前記複数のビデオブロックのそれぞれの前記残差情報と複数の対応するヘッダシンタクス要素とを関連付ける［６５］のデバイス。
［６７］  前記少なくとも１つのデコーダは、ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出する［６５］のデバイス。
［６８］  前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いる前記コード単位の前記ビデオブロックのそれぞれを再構成する手段をさらに具備する［６５デバイス。
［６９］  前記再構成する手段は、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位のビデオブロックのそれぞれを再構成することを具備する［６８］のデバイス。
［７０］  前記再構成する手段は、前記デコーダモジュールが前記コード単位の第２ビデオブロックのヘッダ情報を得るためにビットの前記第１シーケンスの一部をデコードするとともに、前記コード単位の第１ビデオブロックを再構成する［６８］のデバイス。
［７１］  前記デバイスは、無線通信デバイスを具備する［６５］のデバイス。
［７２］  前記少なくとも１つのデコーダモジュールは、ビットの前記第１シーケンスとビットの前記第２シーケンスとをともにデコードする［６５］のデバイス。
［７３］  少なくとも１つのプロセッサに、コード単位の複数のビデオブロックのヘッダ情報を得るために、エンコードビットストリームのビットの第１シーケンスをデコードさせ、前記複数のビデオブロックの残差情報を得るために、前記エンコードビットストリームのビットの第２シーケンスをデコードさせ、前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付けさせる命令を具備するコンピュータ読み取り可能な媒体。
［７４］  前記少なくとも１つのプロセッサに、前記複数のビデオブロックのそれぞれの前記残差情報と対応するヘッダ情報とを関連付けさせる命令は、前記少なくとも１つのプロセッサに、前記複数のビデオブロックのそれぞれの前記残差情報と、複数の対応するヘッダシンタクス要素とを関連付けさせる命令を具備する［７３］のコンピュータ読み取り可能な媒体。
［７５］  前記少なくとも１つのプロセッサに、ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出させる命令をさらに具備する［７３］のコンピュータ読み取り可能な媒体。
［７６］  前記少なくとも１つのプロセッサに、前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いる前記コード単位の前記ビデオブロックのそれぞれを再構成させる命令をさらに具備する［７３］のコンピュータ読み取り可能な媒体。
［７７］  前記少なくとも１つのプロセッサに、前記ビデオブロックのそれぞれを再構成させる前記命令は、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位の各ビデオブロックを再構成するための命令を具備する［７６］のコンピュータ読み取り可能な媒体。
［７８］  前記少なくとも１つのプロセッサに、前記ビデオブロックのそれぞれを再構成させる前記命令は、前記符号部の第２ビデオブロックのヘッダ情報を得るために、ビットの前記第１シーケンスの一部をデコードするとともに、前記コード単位の第１ビデオブロックを再構成するための命令を具備する［７６］のコンピュータ読み取り可能な媒体。
［７９］  少なくとも１つのプロセッサに、ビットの前記第１シーケンスおよびビットの前記第２シーケンスをともにデコードさせる命令をさらに具備する［７３］のコンピュータ読み取り可能な媒体。
［８０］  コード単位の複数のビデオブロックのヘッダ情報を得るためにエンコードビットストリームのビットの第１シーケンス、および前記複数のビデオブロックの残差情報を得るために前記エンコードビットストリームのビットの第２シーケンスをデコードする手段と、前記複数のビデオブロックのそれぞれの残差情報と対応するヘッダ情報とを関連付ける手段と、を具備するデコーディングデバイス。
［８１］  前記関連付ける手段は、前記複数のビデオブロックのそれぞれの前記残差情報と複数の対応するヘッダシンタクス要素とを関連付ける［８０］のデバイス。
［８２］  ビットの前記第１シーケンスが終わり、ビットの前記第２シーケンスが始まる位置を識別する、前記エンコードビットストリーム内の指標を検出する手段をさらに具備する［８０］のデバイス。
［８３］  前記それぞれのブロックの前記残差情報と前記対応するヘッダ情報とを用いて、前記コード単位の前記ビデオブロックのそれぞれを再構成する手段をさらに具備する［８０］のデバイス。
［８４］  前記再構成する手段は、前記それぞれのヘッダ情報と残差情報とがデコードされるとすぐに、前記コード単位のビデオブロックのそれぞれを再構成する［８３］のデバイス。
［８５］  前記再構成する手段は、前記デコードする手段が前記コード単位の第２ビデオブロックのヘッダ情報を得るためにビットの前記第１シーケンスの一部をデコードするとともに、前記コード単位の第１ビデオブロックを再構成する［８３］のデバイス。
［８６］  前記デコードする手段は、ビットの前記第１シーケンスとビットの前記第２シーケンスとをともにデコードする［８０］のデバイス。
【図１】
0005646700.tif 000002
【図２】
0005646700.tif 000003
【図３】
0005646700.tif 000004
【図４】
0005646700.tif 000005
【図５】
0005646700.tif 000006
【図６】
0005646700.tif 000007
【図７Ａ】
0005646700.tif 000008
【図７Ｂ】
0005646700.tif 000009
【図７Ｃ】
0005646700.tif 000010
【図８】
0005646700.tif 000011
【図９】
0005646700.tif 000012
【図１０】
0005646700.tif 000013