(57)【特許請求の範囲】
【請求項１】
ビデオデータをエンコーディングする方法であって、
コード単位の１以上のエンコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在ビデオブロックのシンタクス要素をエンコードするために用いるコーディングテーブルを選択することであって、
前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、前記コーディングテーブルを選択することは、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択することを具備する、選択することと、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をエンコードすること、
を具備する方法。
【請求項２】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記方法は、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプのうちの少なくとも１つを関連付ける第２のコーディングテーブルを選択することを更に具備する請求項１の方法。
【請求項３】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項２の方法。
【請求項４】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記方法は、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測し、
前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在ビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功であることを示すフラグをエンコードすることをさらに具備する請求項１の方法。
【請求項５】
前記現在ビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測することは、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測することを具備し、
前記フラグをエンコードすることは、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す前記フラグをエンコードすることを具備する請求項４の方法。
【請求項６】
前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示す前記フラグをエンコードし、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードすることをさらに具備する請求項５の方法。
【請求項７】
前記フラグは第１フラグであり、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にエンコードすることは、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測し、
前記予測された予測モードが前記現在ビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードすることを具備する請求項６の方法。
【請求項８】
前記１以上のエンコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項１の方法。
【請求項９】
前記現在ビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも、前記現在ビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する請求項８の方法。
【請求項１０】
前記エンコードされたシンタクス要素を送信することをさらに具備する請求項１の方法。
【請求項１１】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項１の方法。
【請求項１２】
コード単位の１以上のエンコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在ビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択する選択部であって、前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、前記選択部が他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択する、選択部と、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をエンコードするコーディング部と、を含むエンコーディング部を具備するエンコーディングデバイス。
【請求項１３】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記選択部は、前記１以上のエンコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付ける第２のコーディングテーブルを選択することを具備する請求項１２のデバイス。
【請求項１４】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項１３のデバイス。
【請求項１５】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する予測部をさらに具備し、
前記コーディング部は、前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在ビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功であることを示すフラグをエンコードする請求項１２のデバイス。
【請求項１６】
前記予測部は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測し、
前記コーディング部は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す前記フラグをエンコードする請求項１５のデバイス。
【請求項１７】
前記コーディング部は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示す前記フラグをエンコードし、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードする請求項１６のデバイス。
【請求項１８】
前記フラグは第１フラグであり、前記予測部は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測し、
前記コーディング部は、前記予測された予測モードが前記現在ビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードする請求項１７のデバイス。
【請求項１９】
前記１以上のエンコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項１２のデバイス。
【請求項２０】
前記現在ビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも前記現在ビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する請求項１９のデバイス。
【請求項２１】
前記エンコードされたシンタクス要素を送信する送信機をさらに具備する請求項１２のデバイス。
【請求項２２】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項１２のデバイス。
【請求項２３】
前記デバイスは、無線通信デバイスを具備する請求項１２のデバイス。
【請求項２４】
前記デバイスは、集積回路デバイスを具備する請求項１２のデバイス。
【請求項２５】
命令から構成されるプログラムを格納するコンピュータ可読記録媒体であって、前記命令がコンピュータによって実行させて、プロセッサに、
コード単位の１以上のエンコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在ビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択させることであって、
前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択させる命令を具備する、選択させることと、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をエンコードさせることと、
を実施させている、コンピュータ可読記録媒体。
【請求項２６】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記命令は、前記プロセッサに、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプの少なくとも１つを関連付ける第２のコーディングテーブルを選択させる命令を更に具備する請求項２５のコンピュータ可読記録媒体。
【請求項２７】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項２６のコンピュータ可読記録媒体。
【請求項２８】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記コンピュータ可読記録媒体は、前記プロセッサに、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測させ、
前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在ビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功であることを示すためのフラグをエンコードさせる命令をさらに具備する請求項２５のコンピュータ可読記録媒体。
【請求項２９】
前記プロセッサに前記現在ビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測させる命令は、前記プロセッサに、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測させる命令を具備し、
前記プロセッサに前記フラグをエンコードさせる命令は、前記プロセッサに、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す前記フラグをエンコードさせる命令を具備する請求項２８のコンピュータ可読記録媒体。
【請求項３０】
前記プロセッサに、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示すための前記フラグをエンコードさせ、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードさせる命令をさらに具備する請求項２９のコンピュータ可読記録媒体。
【請求項３１】
前記フラグは第１フラグであり、前記プロセッサに、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にエンコードさせる命令は、前記プロセッサに、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測させ、
前記予測された予測モードが前記現在ビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードさせる命令を具備する請求項３０のコンピュータ可読記録媒体。
【請求項３２】
前記１以上のエンコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項２５のコンピュータ可読記録媒体。
【請求項３３】
前記現在ビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも、前記現在ビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する請求項３２のコンピュータ可読記録媒体。
【請求項３４】
前記プロセッサに、前記エンコードされたシンタクス要素を送信させる命令をさらに具備する請求項２５のコンピュータ可読記録媒体。
【請求項３５】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項２５のコンピュータ可読記録媒体。
【請求項３６】
コード単位の１以上のエンコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在ビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択する手段であって、前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択する手段が選択する、選択する手段と、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をエンコードする手段と、
を具備するエンコーディングデバイス。
【請求項３７】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記選択する手段は、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプのうちの少なくとも１つを関連付ける第２のコーディングテーブルを選択する請求項３６のデバイス。
【請求項３８】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項３７のデバイス。
【請求項３９】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する手段をさらに具備し、
前記エンコードする手段は、前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在ビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功することを示すフラグをエンコードする請求項３６のデバイス。
【請求項４０】
前記予測手段は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測し、
前記エンコードする手段は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す前記フラグをエンコードする請求項３９のデバイス。
【請求項４１】
前記エンコードする手段は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在ビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示すための前記フラグをエンコードし、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードする請求項４０のデバイス。
【請求項４２】
前記フラグは第１フラグであり、前記予測手段は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測し、
前記エンコードする手段は、前記予測された予測モードが前記現在ビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードする請求項４１のデバイス。
【請求項４３】
前記１以上のエンコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項３６のデバイス。
【請求項４４】
前記現在ビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも前記現在ビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する請求項４３のデバイス。
【請求項４５】
前記エンコードされたシンタクス要素を送信する手段をさらに具備する請求項３６のデバイス。
【請求項４６】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項３６のデバイス。
【請求項４７】
ビデオデータをデコードする方法であって、
コード単位の１以上のデコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在ビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択することであって、
前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、前記コーディングテーブルを選択することは、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択することを具備する、選択することと、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をデコードすることと、を具備する方法。
【請求項４８】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記方法は、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプのうちの少なくとも１つを関連付ける第２のコーディングテーブルを選択することを更に具備する請求項４７の方法。
【請求項４９】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項４８の方法。
【請求項５０】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記方法は、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測し、
フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在ビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択することをさらに具備する請求項４７の方法。
【請求項５１】
前記現在ビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測することは、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測することを具備し、
前記少なくとも１つの予測されたシンタクス要素を選択することは、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す場合、前記現在ビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを同時に選択することを具備する請求項５０の方法。
【請求項５２】
前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードすることをさらに具備する請求項５１の方法。
【請求項５３】
前記フラグは第１フラグであり、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にデコードすることは、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測し、
第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在ビデオブロックの前記予測モードとして前記予測された予測ブロックを選択することを具備する請求項５２の方法。
【請求項５４】
前記１以上のデコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項４７の方法。
【請求項５５】
前記現在ビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも、前記現在ビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する請求項４７の方法。
【請求項５６】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項４７の方法。
【請求項５７】
コード単位の１以上のデコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択する選択部であって、前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを前記選択部が選択する、選択部と、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をデコードするデコーディング部と、を具備するデコーディングデバイス。
【請求項５８】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記選択部は、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプのうちの少なくとも１つを関連付ける第２のコーディングテーブルを選択する請求項５７のデバイス。
【請求項５９】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項５８のデバイス。
【請求項６０】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する予測部をさらに具備し、
前記デコーディング部は、フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在ビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択する請求項５７のデバイス。
【請求項６１】
前記予測部は、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測し、
前記デコーディング部は、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す場合、前記現在ビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして同時に前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを選択する請求項６０のデバイス。
【請求項６２】
前記デコーディング部は、前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードする請求項６１のデバイス。
【請求項６３】
前記フラグは第１フラグであり、
前記予測部は、前記１以上のデコード済みビデオブロックの１つに基づいて前記現在ビデオブロックの前記予測モードを予測し、
前記デコーディング部は、第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在ビデオブロックの前記予測モードとして前記予測された予測ブロックを選択する請求項６２のデバイス。
【請求項６４】
前記１以上のデコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項５７のデバイス。
【請求項６５】
前記現在ビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも前記現在ビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する請求項６４のデバイス。
【請求項６６】
前記デバイスは無線通信デバイスを具備する請求項５７のデバイス。
【請求項６７】
前記デバイスは、集積回路デバイスを具備する請求項５７のデバイス。
【請求項６８】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項５７のデバイス。
【請求項６９】
命令から構成されるプログラムを格納するコンピュータ可読記録媒体であって、前記命令がコンピュータによって実行させて、プロセッサに、
コード単位の１以上のデコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択させることであって、
前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択させる命令を具備する、選択させることと、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をデコードさせることと、
を実施させている、コンピュータ可読記録媒体。
【請求項７０】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記命令は、前記プロセッサに、前記１以上のデコード済みビデオブロック前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプの少なくとも１つを関連付ける第２のコーディングテーブルを選択させる命令を更に具備する請求項６９ｍｐコンピュータ可読記録媒体。
【請求項７１】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項７０のコンピュータ可読記録媒体。
【請求項７２】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記コンピュータ可読記録媒体は、前記プロセッサに、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測させ、
フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在ビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択させる命令をさらに具備する請求項６９のコンピュータ可読記録媒体。
【請求項７３】
前記プロセッサに前記現在ビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測させる命令は、前記プロセッサに、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測させる命令を具備し、
前記プロセッサに前記少なくとも１つの予測されたシンタクス要素を選択させる命令は、前記プロセッサに、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す場合、前記現在ビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを同時に選択させる命令を具備する請求項７２のコンピュータ可読記録媒体。
【請求項７４】
前記プロセッサに、前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードさせることをさらに具備する請求項７３のコンピュータ可読記録媒体。
【請求項７５】
前記フラグは第１フラグであり、前記プロセッサに、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にデコードさせる命令は、前記プロセッサに、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測させ、
第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在ビデオブロックの前記予測モードとして前記予測された予測ブロックを選択させる命令を具備する請求項７４のコンピュータ可読記録媒体。
【請求項７６】
前記１以上のデコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項６９のコンピュータ可読記録媒体。
【請求項７７】
前記現在ビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも、前記現在ビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する請求項７６のコンピュータ可読記録媒体。
【請求項７８】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項６９のコンピュータ可読記録媒体。
【請求項７９】
コード単位の１以上のデコード済みビデオブロックの対応シンタクス要素に基づいて前記コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択する手段であって、前記現在ビデオブロックの前記シンタクス要素が前記現在ビデオブロックのブロックタイプを特定し、ここにおいて、前記ブロックタイプはビデオブロックの分割サイズに関連しており、前記１以上のエンコード済みビデオブロックが第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードに前記第１ブロックタイプを関連付けるコーディングテーブルを選択する手段が選択する、選択する手段と、
前記選択されたコーディングテーブルを用いて前記現在ビデオブロックの前記シンタクス要素をデコードする手段と、
を具備するデコーディングデバイス。
【請求項８０】
前記コーディングテーブルが第１のコーディングテーブルで構成され、前記選択する手段は、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードに前記他のブロックタイプのうちの少なくとも１つを関連付けるコーディングテーブルを選択する請求項７９のデバイス。
【請求項８１】
前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む請求項８０のデバイス。
【請求項８２】
前記シンタクス要素は、前記現在ビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する手段をさらに具備し、
前記デコードする手段は、フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在ビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択する請求項７９のデバイス。
【請求項８３】
前記予測手段は、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを同時に予測し、
前記デコードする手段は、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に成功であることを示す場合、前記現在ビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを同時に選択する請求項８２のデバイス。
【請求項８４】
前記デコードする手段は、前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が同時に不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードする請求項８３のデバイス。
【請求項８５】
前記フラグは第１フラグであり、
前記予測手段は、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在ビデオブロックの前記予測モードを予測し、
前記デコードする手段は、第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在ビデオブロックの前記予測モードとして前記予測された予測ブロックを選択する請求項８４のデバイス。
【請求項８６】
前記１以上のデコード済みビデオブロックが前記現在ビデオブロックに隣接するビデオブロックを具備する請求項７９のデバイス。
【請求項８７】
前記現在ビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも、前記現在ビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在ビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する請求項８６のデバイス。
【請求項８８】
前記コード単位は、フレームおよびスライスのうちの１つを具備する請求項７９のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、デジタルビデオコーディングに関し、より詳細には、ビデオシーケンスのブロックのヘッダ情報のコーディングに関する。
【０００２】
この出願は、全内容を参照することによりここに組み込まれる、２００７年１０月１２日に提出された、米国仮出願番号６０／９７９，７３４の利益を主張する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、無線通信デバイス、無線ブロードキャストシステム、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、携帯または衛星無線電話などを含む、広範囲のデバイスに組み込まれうる。デジタルビデオデバイスは、デジタルビデオをより効率的に送受信するために、ＭＰＥＧ−２、ＭＰＥＧ−４または、一般にアドバンスドビデオコーディング（ＡＶＣ）を呼ばれるＨ．２６４／ＭＰＥＧ−４（Ｐａｒｔ １０）のようなビデオ圧縮手法を実装する。ビデオ圧縮手法は、ビデオシーケンスにおける特有の冗長度を削減しまたは除去するために、時空間予測をおこなう。
【０００４】
ビデオコーディングでは、ビデオ圧縮は典型的に、予測ビデオブロックを生成するために、空間予測および／または動き推定および動き補償を含む。イントラコーディングは、あるビデオフレーム内のビデオブロック間の空間冗長度を削減しまたは除去するために、空間予測に依存する。空間予測は、Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣの場合、イントラ１６ｘ１６ブロックタイプ、イントラ８ｘ８ブロックタイプおよびイントラ４ｘ４ブロックタイプのような、多くの異なるイントラコーディングするブロックタイプに関して行われてもよい。インターコーディングは、ビデオシーケンスの連続するビデオフレームのビデオブロック間の時間冗長度を削減しまたは除去するために、時間予測に依存する。時間予測はまた、Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣの場合、インター１６ｘ１６、インター１６ｘ８、インター８ｘ１６、インター８ｘ８、インター８ｘ４、インター４ｘ８およびインター４ｘ４のような、多くの異なるインターコーディングするブロックタイプに関して行われてもよい。
【０００５】
空間または時間予測の後、残差情報のブロックは、コードされるべき元のビデオブロックから予測ビデオブロックを減じることにより生成される。それゆえ、残差情報は、予測ビデオブロックと元のブロックとの差を定量する。ビデオエンコーダは、ブロックのヘッダ情報とともに、ブロックの残差情報をエンコードする。ブロックのヘッダ情報は、予測モード、ルマコードブロックパターン（ＣＢＰ）、クロマＣＢＰ、１以上の動きベクトルなどのような、現在のビデオブロックと関連した付加的な情報と同様に、現在のビデオブロックのブロックタイプを示してもよい。ビデオエンコーダは、算術コード、可変長コード（ＶＬＣ）、固定長コードまたはそれらの組合せを用いて、ヘッダ情報と残差情報とを一般的にエンコードする。例は、コンテキスト適応型２値算術コーディング（ＣＡＢＡＣ）とコンテキスト適応型可変長コーディング（ＣＡＶＬＣ）とを含む。ビデオデコーダは、ブロックのそれぞれに関する残差情報とヘッダ情報とを用いてエンコードされたビデオを再構成するために逆演算をおこなう。
【発明の概要】
【０００６】
この開示は、１以上のエンコード済み（previously encoded）ビデオブロックに基づいてビデオブロックヘッダ情報を適応的にコーディングするための手法を記述する。特に、ビデオエンコーダは、コード単位（例えば、フレームまたはスライス）の１以上のエンコード済みブロックのシンタクス要素に基づいて、前記コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを適応的に選択してもよい。一態様では、ビデオエンコーダは、現在のビデオブロックに隣接する１以上のすでにエンコードされたビデオブロック（すなわち、隣接ビデオブロック）のブロックタイプに基づいて現在のブロックのブロックタイプをエンコードする際に用いるために、コーディングテーブルを適応的に選択してもよい。例えば、ビデオエンコーダは、２つ以上の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有するとき、イントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとイントラ１６ｘ１６ブロックタイプとを関連付けるコーディングテーブルを適応的に選択してもよい。これは、ビデオエンコーダがより高解像度（例えば、高精細度（ＨＤ）ビデオシーケンス）でより効率的にビデオシーケンスをエンコードすることを可能にしてもよい。
【０００７】
ビデオエンコーダはまた、少なくとも１つのエンコード済みブロックに基づいて現在のブロックの１以上の他のヘッダシンタクス要素を予測してもよい。予測が成功である、すなわち、１以上の予測されたヘッダシンタクス要素が現在のブロックの実際のヘッダシンタクス要素の値と同じである場合、ビデオエンコーダは、シンタクス要素の各々の値を別々にエンコードするか、シンタクス要素を束に（bundle）して、より長いコードワードでそれらをエンコードする代わりに、予測の成功を示すフラグ（例えば、１ビットのフラグ）をエンコードしてもよい。ビデオデコーダは、ビデオエンコーダと同様のやり方で、１以上のヘッダシンタクス要素の値を予測してもよく、エンコードされたフラグが予測の成功を示すとき、ブロックに関して予測されたヘッダシンタクス要素の値を選択してもよい。
【０００８】
そのような手法は、一連のビデオフレームのビデオブロックをエンコードするために用いられるビット数をさらに減少してもよい。
【０００９】
一態様では、方法は、コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択し、選択されたコーディングテーブルを用いて現在のブロックのシンタクス要素をエンコードすることを含む。
【００１０】
別の態様では、エンコーディングデバイスは、コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択する選択部と、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をエンコードするコーディング部と、を含むエンコーディング部を含む。
【００１１】
別の態様では、コンピュータ読み取り可能な媒体は、プロセッサに、コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択させ、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をエンコードさせる命令を含む。
【００１２】
別の態様では、エンコーディングデバイスは、コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択する手段と、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をエンコードする手段と、を含む。
【００１３】
別の態様では、ビデオデータをデコードする方法は、コード単位の１以上のデコード済み（previously decoded）ビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択し、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をデコードすることを含む。
【００１４】
別の態様では、デコーディングデバイスは、コード単位の１以上のデコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択する選択部と、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をデコードするデコーディング部と、を含む。
【００１５】
別の態様では、コンピュータ読み取り可能な媒体は、プロセッサに、コード単位の１以上のデコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択させ、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をデコードさせる命令を含む。
【００１６】
別の態様では、デコーディングデバイスは、コード単位の１以上のデコード済みビデオブロックの対応するシンタクス要素に基づいて、コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択する手段と、選択されたコーディングテーブルを用いて現在のビデオブロックのシンタクス要素をデコードする手段と、を含む。
【００１７】
この開示に記述された手法は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組み合わせで実装してもよい。ソフトウェアで実装する場合、ソフトウェアは、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、他の等価の集積または離散論理回路のような、１以上のプロセッサを参照してもよいプロセッサにおいて、実行されてもよい。手法を実行する命令を含むソフトウェアは、コンピュータ読み取り可能な媒体に最初に記憶され、プロセッサによって実行されおよびロードされてもよい。
【００１８】
従って、この開示はまた、プロセッサに、この開示で記述されているような任意の様々な手法を行わせる命令を含むコンピュータ読み取り可能な媒体を意図する。いくつかの場合では、コンピュータ読み取り可能な媒体は、メーカーに売られ、および／または、デバイスに用いられてもよい、コンピュータプログラム製品の一部を形成してもよい。コンピュータプログラム製品は、コンピュータ読み取り可能な媒体を含んでもよく、場合によっては、包装材料（packaging material）も含んでもよい。
【００１９】
本開示の１以上の態様の詳細は、以下の記述および添付図面において説明される。この開示において記述された手法の他の特徴、オブジェクトおよび利点は、詳細な説明および図面、および特許請求の範囲から明白になるだろう。
【図面の簡単な説明】
【００２０】
【図１】ビデオエンコーディングおよびデコーディングシステムを示すブロック図。
【図２】この開示に従うコーディング手法をおこなうビデオエンコーダの例を示すブロック図。
【図３】より詳細な図２のビデオエンコーダのエントロピーエンコーディング部例を示すブロック図。
【図４】この開示において記述されるコーディング技術に従ってビデオデータをデコードするビデオデコーダの例を示すブロック図。
【図５】より詳細なデコーディング部例を示すブロック図。
【図６】ビデオブロックに関するヘッダ情報をエンコードするエンコーディング部の動作例を示すフローチャート。
【図７】ビデオシーケンスのエンコードされたビデオブロックをデコードするデコーディング部の動作例を示すフローチャート。
【発明を実施するための形態】
【００２１】
図１は、この開示において記述されるコーディング手法をおこなうビデオエンコーディングおよびデコーディングシステム１０を示すブロック図である。図１に示されるように、システム１０は、通信チャネル１６を経て受信デバイス１４にエンコードビデオデータを送信するソースデバイス１２を含む。通信チャネル１６は、無線周波数（ＲＦ）スペクトルまたは１以上の物理的伝送路、または、無線および有線の媒体の組み合わせのような、任意の無線または有線の通信媒体を含んでもよい。通信チャネル１６は、ローカルエリアネットワーク、広域ネットワーク、またはインターネットのようなグローバネットワークのようなパケットに基づくネットワークの一部を形成してもよい。通信チャネル１６は、一般に、ソースデバイス１２から受信デバイス１４にエンコードビデオデータを送信するために、任意の適した通信媒体、または異なる通信媒体の一群を表わす。
【００２２】
ソースデバイス１２は、受信デバイス１４への送信用のエンコードビデオデータを生成する。ソースデバイス１２は、ビデオソース１８、ビデオエンコーダ２０および送信機２２を含んでもよい。ソースデバイス１２のビデオソース１８は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダから与えられるビデオのような、ビデオキャプチャデバイスを含んでもよい。さらなる代替として、ビデオソース１８は、ソースビデオ、またはライブビデオとコンピュータとで生成されたビデオとの組み合せのように、コンピュータグラフィックスに基づいたデータを生成してもよい。いくつかの場合、ビデオソース１８がビデオカメラである場合、ソースデバイス１２は、いわゆるカメラ付き電話またはテレビ電話を形成してもよい。いずれの場合にも、キャプチャされ、予めキャプチャされ、またはコンピュータで生成されたビデオは、送信機２２と通信チャネル１６とを経たソースデバイス１２から受信デバイスへの送信のためにビデオエンコーダ２０によってエンコードされてもよい。
【００２３】
ビデオエンコーダ２０は、ビデオソース１８からビデオデータを受信する。ビデオソース１８から受信されるビデオデータは、一連のビデオフレームであってもよい。フレームのいくつかは、スライスに分けられてもよい。ビデオエンコーダ２０は、ビデオデータをエンコードするために、個々のビデオフレーム内のピクセル（ビデオブロックとここでは呼ばれる）のブロックで動作する。コード単位（例えば、フレームまたはスライス）は、複数のブロックを含んでもよい。ビデオブロックは固定または可変サイズを有してもよく、指定されたコーディング標準に従ってサイズが異なってもよい。しばしばマクロブロック（ＭＢ）と呼ばれる、各ビデオブロックは、サブブロックに配置されてもよい。一例として、国際電気通信連合標準化セクタ（ＩＴＵ−Ｔ）Ｈ．２６４標準は、ルマコンポーネントおよびクロマコンポーネントに関する対応する縮尺に関する４×４、４×８、８×４、８×８、８×１６、１６×８、１６×１６のような様々なブロックサイズにおけるインター予測と同様に、ルマコンポーネントに関する４×４、１６×１６、８×８、クロマコンポーネントに関する８×８、のような様々なブロックサイズにおけるイントラ予測をサポートする。一般に、ＭＢおよび様々なサブブロックは、ビデオブロックであると考えられてもよい。したがって、ＭＢはビデオブロックであると考えられてもよく、ＭＢが分割されるかサブ分割（sub-partition）される場合、ＭＢはそれら自身でビデオブロックのセットを定義すると考えられてもよい。
【００２４】
ビデオブロックの各々に関して、ビデオエンコーダ２０は、ブロックに関してブロックタイプを選択する。ここで用いられるように、用語“ブロックタイプ”は、ブロックが、ブロックの分割サイズと同様にインター予測またはイントラ予測を用いて予測されるかどうかを参照する。例えば、Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ標準は、イントラ１６ｘ１６、イントラ１６ｘ８、イントラ８ｘ１６、イントラ８ｘ８、イントラ８ｘ４、イントラ４ｘ８、イントラ４ｘ４、イントラ１６ｘ１６、イントラ８ｘ８およびイントラ４ｘ４を含む多くのインターおよびイントラ予測ブロックタイプをサポートする。以下に詳細に記述されるように、ビデオエンコーダ２０は、任意の様々な要因に基づいて、ビデオブロックの各々に関するブロックタイプのうちの１つを選択してもよい。
【００２５】
イントラコーディングに関して、ビデオエンコーダ２０は、現在のブロック内の変動に基づいてイントラ予測ブロックタイプの１つを選択してもよい。現在のビデオブロック内の変動が大きいとき、例えば、詳細度またはテクスチャの高いレベルのために、ビデオエンコーダ２０は、イントラ４ｘ４またはイントラ８ｘ８コーディングモードのようなより細かいブロック分割でイントラ予測ブロックタイプを選択してもよい。しかし、現在のビデオブロック内の変動が小さいとき、ビデオエンコーダ２０は、イントラ１６ｘ１６ブロックタイプのような、より大きなブロック分割でイントラ予測ブロックタイプを選択してもよい。
【００２６】
より細かいビデオ解像度（例えば、コモンイメージフォーマット（ＣＩＦ）またはクォーター−ＣＩＦ（ＱＣＩＦ）ビデオシーケンス）によるビデオシーケンスのイントラコードフレーム関して、ビデオエンコーダ２０は、典型的にイントラ４ｘ４またはイントラ８ｘ８ブロックタイプを用いて、より多くのビデオブロックを予測する。より細かい解像度によるイントラコードフレームでは、１６ｘ１６ブロックは、４ｘ４または８ｘ８ブロックよりも多くの変動を含んでもよい。それゆえ、フレーム内の４ｘ４または８ｘ８ブロックは、フレーム内の１６ｘ１６ブロックよりも滑らかであってもよい。例えば、ビデオシーケンスの４ｘ４ブロックはシーンの滑らかな部分（例えば人の額）を含んでもよいが、一方、１６ｘ１６ブロックがより多くのテクスチャ（例えば額、いくらかの髪および人の目の一部）を含んでもよい。しかし、高解像度（例えば、高精細度（ＨＤ）ビデオシーケンス）によるビデオシーケンスでイントラコードフレームのために、ビデオエンコーダ２０は、イントラ４ｘ４またはイントラ８ｘ８ブロックタイプを用いるよりも多くのイントラ１６ｘ１６ブロックタイプを用いるブロックを予測してもよい。例えば、４ｘ４ブロックおよび１６ｘ１６ブロックは両方とも、高いフレーム解像度のため、ただ人の額だけを含んでもよく、それゆえ、同様の滑らかさを有してもよい。
【００２７】
ビデオブロックのイントラまたはインター基準の予測の後で、ビデオエンコーダ２０は、ビデオブロックでの多くの他の演算をおこなってもよい。図２に関してさらに詳細に記述されるように、これらの追加的な演算は、（Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣで用いられる４ｘ４または８ｘ８整数変換、または離散コサイン変化 ＤＣＴのような）変換演算、量子化演算およびエントロピーコーディング演算を含んでもよい。ビデオエンコーダ２０はその後、ビデオフレームのシーケンスのブロックの各々をエンコードして、エンコードされたビットストリームを出力する。各ブロックに関して、例えば、ビデオエンコーダ２０は、ブロックに関するブロック残差情報とブロックに関するヘッダ情報とをエンコードしてもよい。各ブロックのヘッダ情報は、選択されたブロックタイプ、予測モード、コードブロックパターン（ルマおよび／またはクロマＣＢＰ）、動きベクトルなどのようなブロックの特定の特性を識別する多くのシンタクス要素を含んでもよい。各ブロックの残差情報は、入力ビデオブロックと１以上の予測ブロックとの差を量子化する。
【００２８】
エントロピーエンコーディングの間、従来のビデオエンコーダは、多くのヘッダシンタクス要素を一緒に束にしてもよく、単一のコードワードとして束をエンコードしてもよい。Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ標準においてイントラ１６ｘ１６予測を用いるイントラ予測されたブロックのために、例えば、従来のビデオエンコーダは、ブロックタイプシンタクス要素、予測モードシンタクス要素（例えば、ＤＣ、水平、垂直および平面）、（例えば、ルマおよびクロマに関する量子化変換係数が任意の非ゼロ値を有するかどうかを示す）ルマおよびクロマに関してコードブロックパターンシンタクス要素を一緒に束にしてエンコードし、可変長コーディング（ＶＬＣ）を用いる単一のコードワードとして、束にされたシンタクス要素をエンコードする。ＶＬＣでは、エンコードされるべき可能性のある各シンタクス要素またはエンコードされるべきシンタクス要素の組み合せは、コードワードが割り当てられる。最も起こる確率が高いあるシンタクス要素の値に最も短いコードワードが割り当てられ、ＶＬＣのコードワードは長さが変化する。  
Ｈ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ標準に従って動作している従来のビデオエンコーダは、イントラ４ｘ４とイントラ８ｘ８ブロックタイプとがイントラ１６ｘ１６ブロックタイプよりもより頻繁に選択される仮定に基づいて、イントラ４ｘ４およびイントラ８ｘ８ブロックタイプよりも長いコードワードをイントラ１６ｘ１６ブロックタイプに割り当てる。そのような仮定は、小さなビデオ解像度（例えば、ＣＩＦまたはＱＣＩＦビデオシーケンス）を備えるビデオシーケンスに対して当てはまってもよい。しかし、高解像度（例えば、ＨＤビデオシーケンス）を備えるビデオシーケンスに関して、イントラ１６ｘ１６ブロックタイプは、イントラ４ｘ４またはイントラ８ｘ８ブロックタイプよりもより頻繁に選択されてもよい。ビデオシーケンスが大きなスムーズ領域を含み、かつ量子化が高い量子化パラメータ（ＱＰ）へ媒体でおこなわれる場合、これは特に正しい可能性がある。そのようなビデオシーケンスでは、従来のＨ．２６４／ＭＰＥＧ−４ Ｐａｒｔ１０ ＡＶＣ標準に従うイントラ１６ｘ１６ブロックタイプをコーディングすることは、非常に効率が悪いかもしれない。特に、ＨＤアプリケーションに関して、イントラ１６ｘ１６ブロックタイプに用いられるより長いコードワードは、非ＨＤアプリケーションよりも、よりいっそう頻繁に送信されるかもしれず、過度の帯域幅消費を引き起こす。
【００２９】
イントラ１６ｘ１６ブロックタイプを用いて予測される多くのビデオブロックを含むビデオストリームをより効率的にエンコードするために、ビデオエンコーダ２０は、この開示において記述されるように、適応可能なヘッダ情報コーディング手法をおこなう。ビデオエンコーダ２０は、１以上のエンコード済みブロックの対応するシンタクス要素に基づいて、現在のビデオブロックのシンタクス要素をエンコードするのに用いる、コーディングテーブルを適応的に選択してもよい。一態様では、ビデオエンコーダ２０は、“隣接ビデオブロック”としてここで呼ばれる、現在のビデオブロックに隣接する１以上のビデオブロックに基づいて、現在のビデオブロックのブロックタイプをエンコードする際に用いるために、コーディングテーブルを適応的に選択してもよい。ビデオエンコーダ２０は、ブロックタイプをエンコードするためのコーディングテーブル（コードブックとも呼ばれる）を選択する際の任意の位置で任意の数の隣接ブロックを分析してもよい。しかし、説明の目的のため、ビデオエンコーダ２０は、いくつかの態様において、現在のブロックの直上に位置する隣接ブロック（“上側の隣接ブロック”）と、現在のブロックの直接左の隣接ブロック（“左側の隣接ブロック”）に基づいて、ブロックタイプをエンコードするためにコーディングテーブルを適応的に選択するとして、記述されるだろう。
【００３０】
イントラ予測ブロックに関して、例えば、ビデオエンコーダ２０は、上側の隣接ブロックと左側の隣接ブロックとの両方がイントラ１６ｘ１６ブロックタイプを有さないとき、イントラ４ｘ４または８ｘ８ブロックタイプと、イントラ１６ｘ１６ブロックタイプよりも短いコードワードとを関連付けるコーディングテーブルを選択してもよい。Ｈ．２６４／ＭＰＥＧ４ Ｐａｒｔ１０ ＡＶＣ標準では、ブロックタイプがイントラ４ｘ４かまたはイントラ８ｘ８ブロックタイプかを示すために、付加的なシンタクス要素ｔｒａｎｓｆｏｒｍ＿ｓｉｚｅ＿８ｘ８＿ｆｌａｇが１ビットを用いてコードされる場合、イントラ４ｘ４およびイントラ８ｘ８ブロックタイプが、コードワード“０”で表される一方、イントラ１６ｘ１６ブロックタイプはコードワード“１０”で典型的に表される。  
しかし、ビデオエンコーダ２０は、上側の隣接ブロックと左側の隣接ブロックとがイントラ１６ｘ１６ブロックタイプを有するとき、イントラ１６ｘ１６ブロックタイプとイントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとを関連付けるコーディングテーブルを選択してもよい。この場合、ビデオエンコーダ２０と関連するエントロピーエンコーディング部は、より短いコードワードを用いるブロックヘッダにおけるイントラ１６ｘ１６ブロックタイプのためにブロックタイプをエンコードしてもよい。例えば、ビデオエンコーダ２０は、上側および左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有するとき、コードワード“０”でイントラ１６ｘ１６ブロックタイプを表現し、コードワード“１０”でイントラ４ｘ４および８ｘ８ブロックタイプを表現するコーディングテーブルを選択してもよい。それゆえ、ビデオエンコーダ２０は、上側および左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、現在のビデオブロックがイントラ１６ｘ１６ブロックタイプであるという可能性が増加するという発見的手法の下で動作する。このように、ビデオエンコーダ２０は、イントラ１６ｘ１６ブロックタイプがより頻繁に用いられるとき、ブロックタイプをより効率的にエンコードするコーディングテーブルを適応的に選択する。コーディングイントラ予測ブロックタイプに関するコーディングテーブルを選択するという状況が記述されるが、この開示の手法はまた、エンコード済みビデオブロックのブロックタイプに基づいてインター予測ブロックタイプに関するコーディングテーブルを適応的に選択することが適用されてもよい。その上、この開示の手法は、予測モード、ルマＣＢＰ、クロマＣＢＰ、ブロック分割、動きベクトルなどのような、現在のビデオブロックの他のシンタクス要素をコーディングすることに関してコーディングテーブルを適応的に選択するためにさらに適用されてもよい。
【００３１】
ビデオエンコーダ２０は、少なくとも１つのエンコード済みブロックに基づいて現在のブロックの１以上の他のヘッダシンタクス要素をさらに予測しようとしてもよい。例えば、ビデオエンコーダ２０は、以前のブロック（例えば上側および左側の隣接ブロック）からや現在のブロックのルマ／クロマＣＢＰシンタクス要素および／または予測モードシンタクス要素を予測しようとしてもよい。例えば、ビデオエンコーダ２０は予測モード、ルマＣＢＰおよびクロマＣＢＰを予測しようとしてもよく、予測が成功である場合、予測が成功であることを示すフラグをエンコードしてもよい。予測モード、ルマＣＢＰおよびクロマＣＢＰの予測が成功でない場合、以下に詳細に記述されるように、ビデオエンコーダ２０は、シンタクス要素の各々を別々にエンコードしてもよい。あるいは、ビデオエンコーダ２０は、以前のブロックから現在のブロックの予測モードを予測しようとしてもよい。予測が成功である場合、ビデオエンコーダ２０は、予測モードの２ビットの固定長コードワードの代わりに、予測モードの成功した予測を示すためのフラグ（例えば、１ビットフラグ）をエンコードし、それゆえ、少なくとも１ビットを保存する。ビデオエンコーダ２０は、ルマＣＢＰとクロマＣＢＰとを別々にエンコードする。予測モードの予測が不成功である場合、シンタクス要素の各々は別々にエンコードされる。
【００３２】
ソースデバイス１２は、送信機２２を経てデバイスを受信するためにエンコードビデオデータを送信する。受信デバイス１４は、受信機２４、ビデオデコーダ２６およびディスプレイデバイス２８を含んでもよい。受信機２４は、チャネル１６を経てソースデバイス１２からビデオデータのエンコードビデオビットストリームを受信する。ビデオデコーダ２６は、コード単位のエンコードビデオブロックの残差情報とヘッダ情報とを得るために、エンコードビデオビットストリームをデコードする。ビデオデコーダ２６は、１以上のエンコード済みブロックのブロックタイプに基づいて、現在のビデオブロックのブロックタイプをデコードするのに用いるためのコーディングテーブル（例えば、コードブック）を適応的に選択する。例えば、ビデオデコーダ２６は、上側の隣接ブロックと左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、イントラ１６ｘ１６ブロックタイプとイントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとを関連付けるコーディングテーブルを適応的に選択してもよい。
【００３３】
ビデオデコーダ２６は、ビデオエンコーダ２０と同じやり方で、現在のブロックの予測モードシンタクス要素および／またはルマ／クロマＣＢＰシンタクス要素の予測をさらにおこなってもよい。エンコードビットストリームが、予測モードとルマ／クロマＣＢＰとの予測が成功であることを示しているフラグを含むとき、ビデオデコーダ２６は、現在のブロックに関するシンタクス要素として予測された予測モードとルマ／クロマＣＢＰとを用いる。フラグが予測モードとルマ／クロマＣＢＰｓとの予測が失敗したことを示すとき、ビデオデコーダ２６は、エンコードビットストリームから予測モードとルマ／クロマＣＢＰとをデコードする。あるいは、ビデオエンコーダ２０がそのような特徴をおこなう場合、ビデオデコーダ２６は、以前のブロックから現在のブロックの予測モードを予測しようとしてもよい。
【００３４】
ビデオデコーダ２６は、デコードされたヘッダ情報とデコードされた残差情報とを用いるスライスのブロックの各々を再構成する。ビデオデコーダ２６は、ブロックの各々に関する予測ブロックを生成するために、少なくとも一部のヘッダ情報を用いてもよく、ブロックの各々を再構成するために、対応する残差情報とブロックの各々の予測ブロックを結合してもよい。受信デバイス１４は、ディスプレイデバイス２８を経て再構成されたビデオブロックをユーザに表示してもよい。ディスプレイデバイス２８は、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機的な発光ダイオードディスプレイまたは別の種類の表示部のような、任意の様々なディスプレイデバイスを含んでもよい。
【００３５】
いくつかの場合では、ソースデバイス１２および受信デバイス１４は、実質的に対称的なやり方で動作してもよい。例えば、ソースデバイス１２および受信デバイス１４は、ビデオエンコーディングおよびデコーディングコンポーネントをそれぞれ含んでもよい。それゆえ、システム１０は、ビデオデバイス１２、１４の間の一方向または双方向ビデオ送信、例えば、ビデオストリーミング、ビデオブロードまたはテレビ電話に関してサポートしてもよい。
【００３６】
ビデオエンコーダ２０およびビデオデコーダ２６は、ムービングピクチャエキスパートグループ（ＭＰＥＧ）−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ Ｈ．２６３またはＩＴＵ−Ｔ Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ １０、アドバンスドビデオコーディング（ＡＶＣ）のような画像圧縮規格に従って動作してもよい。図１には示されないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ２６は、オーディオエンコーダおよびデコーダにそれぞれ統合されてもよく、共通データストリームまたは分離データストリームにおける音声とビデオとの両方のエンコードを処理するために、適切なＭＵＸ−ＤＥＭＵＸ部、または他のハードウェアおよびソフトウェアを含んでもよい。このように、ソースデバイス１２および受信デバイス１４は、マルチメディアデータで動作してもよい。妥当な場合、ＭＵＸ−ＤＥＭＵＸ部は、ＩＴＵ Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに一致してもよい。
【００３７】
いくつかの態様では、ビデオ放送に関して、この開示に記述された手法は、技術規格ＴＩＡ−１０９９（“ＦＬＯ仕様”）として２００７年７月に公表された、フォワードリンクオンリー（ＦＬＯ）エアインタフェース仕様“Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast,”、を用いて、地上波（terrestrial）モバイルマルチメディアマルチキャスト（ＴＭ３）システムにおけるリアルタイムビデオサービスを伝達するためのエンハンスドＨ．２６４ビデオコーディングに適用されてもよい。すなわち、通信チャネル１６は、ＦＬＯ規格などに従う無線ビデオ情報をブロードキャストするために用いられる無線情報チャネルを含んでもよい。ＦＬＯ規格は、ビットストリームシンタクスおよびセマンティクスを定義し、ＦＬＯエアインタフェースのために適した処理をデコードする例を含む。
【００３８】
あるいは、ビデオは、ＤＶＢ−Ｈ（デジタルビデオブロードキャストハンドヘルド）、ＩＳＤＢ−Ｔ（統合サービスディジタルブロードキャスト）またはＤＭＢ（デジタルメディアブロードキャスト）のような他の規格に従ってブロードキャストされてもよい。ゆえに、ソースデバイス１２は、モバイル無線端末、ビデオストリーミングサーバ、またはビデオブロードキャストサーバであってもよい。しかし、この開示に記述された手法は、ブロードキャスト、マルチキャストまたは２点間システムの任意の特定のタイプに限定されない。ブロードキャストの場合には、ソースデバイス１２は、ビデオデータのいくつかのチャネルを複数の受信デバイスにブロードキャストしてもよく、受信デバイスの各々は図１の受信デバイス１４と同様であってもよい。従って、単一の受信デバイス１４は図１に示されるが、ビデオブロードキャストに関して、ソースデバイス１２は、典型的にビデオコンテンツを多くの受信デバイスに同時にブロードキャストするだろう。
【００３９】
他の実施例では、送信機２２、通信チャネル１６および受信機２４は、１以上のイーサネット（登録商標）、電話（例えば、ＰＯＴＳ）、ケーブル、電力線および光ファイバーシステムを含む任意の有線または無線通信システム、および／または、１以上の符号分割多重接続（ＣＤＭＡまたはＣＤＭＡ２０００）通信システム、周波数分割多重接続（ＦＤＭＡ）システム、直交周波数分割多重（ＯＦＤＭ）アクセスシステム、ＧＳＭ（移動通信用グローバルシステム）のような時分割多重アクセス（ＴＤＭＡ）システム、ＧＰＲＳ（汎用パケット無線サービス）、またはＥＤＧＥ（エンハンスドデータＧＳＭ環境）、ＴＥＴＲＡ（地上基盤無線システム）モバイル電話システム、広帯域符号分割多元接続（ＷＣＤＭＡ）システム、高データレート１ｘＥＶ−ＤＯ（第１世代エボリューションデータのみ）または１ｘＥＶ−ＤＯゴールドマルチキャストシステム、ＩＥＥＥ ８０２．１８システム、ＭｅｄｉａＦＬＯＴＭシステム、ＤＭＢシステム、ＤＶＢ−Ｈシステム、または２以上のデバイス間のデータ通信に関する別のスキームを含む無線システムに従う通信に関して構成されてもよい。
【００４０】
各ビデオエンコーダ２０およびビデオデコーダ２６は、１以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、離散ロジック、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組み合わせとして実装されてもよい。ビデオエンコーダ２０とビデオデコーダ２６の各々は、１以上のエンコーダまたはデコーダに含まれてもよく、どちらかは、それぞれのモバイルデバイス、加入者デバイス、ブロードキャストデバイス、サーバなどに組み合わされたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として統合されてもよい。加えて、ソースデバイス１２および受信デバイス１４は、エンコードビデオの送信および受信に関する適切な変調、復調、周波数変換、フィルタリング、および増幅コンポーネントをそれぞれ含んでもよく、規定通りに、無線通信をサポートするために十分なアンテナおよび無線周波数（ＲＦ）無線コンポーネントを含む。しかし、図の容易さのために、そのようなコンポーネントは、図１における受信デバイス１４の受信機２４およびソースデバイス１２の送信機２２であることとして集約される。
【００４１】
図２は、この開示のコーディング手法をおこなうビデオエンコーダ２０の例を示すブロック図である。ビデオエンコーダ２０は、図１のソースデバイス１２のそれと一致してもよい。ビデオエンコーダ２０は、コード単位内、例えばビデオまたはスライス内のブロックのイントラおよびインターコーディングをおこなう。イントラコーディングは、あるビデオフレーム、スライスまたは他のコード単位内のビデオデータにおける空間的冗長性を削減するか除去するために、空間予測に依存する。説明の目的のために、手法はフレームのスライスに関して記述されるだろう。しかし、手法は、フレームの任意の部分または全フレームのような、任意のコード単位のために用いられてもよい。イントラコーディングに関して、ビデオエンコーダ２０は、コードされているブロックと同じスライス内で１以上のエンコード済みブロックに基づく予測ブロックを形成する。インターコーディングは、ビデオシーケンスの隣接したフレーム内における時間的冗長性を削減するか除去するために、時間予測に依存する。インターコーディングに関して、ビデオエンコーダ２０は、２以上の隣接するフレーム間で一致するビデオブロックの移動を追跡するために動き推定をおこなう。
【００４２】
図２に示されるように、ビデオエンコーダ２０は、エンコードされるべきビデオフレームまたはスライス内の現在のビデオブロックを受信する。ビデオエンコーダ２０は、時間予測と空間予測とをおこなうためのコンポーネントを含む。図２の例では、ビデオエンコーダ２０は、空間予測部３０、動き推定部３２、モード選択部３３、参照フレームストア３４、動き補償部３６、ブロック変換部３８、量子化部４０、逆量子化部４２、逆変換部４４およびエントロピーエンコーディング部４６を含む。インループデブロッキングフィルタ（図示せず）は、ブロッキングアーチファクトを除去するために再構成されたビデオブロックに適用されてもよい。ビデオエンコーダ２０はまた、加算器４８Ａおよび４８Ｂ（“加算器４８”）を含む。動き推定部３２と動き補償部３６とは、ビデオブロックのインターコーディングに関する時間予測をおこなう。空間予測部３０は、ビデオブロックのイントラコーディングの空間予測をおこなう。
【００４３】
時間予測をおこなうために、動き推定部３２は、１以上の動きベクトルを生成するために、現在のビデオブロックと１以上の隣接したビデオフレームにおけるブロックとを比較する。現在のビデオブロックは、現在エンコードされているビデオブロックを参照し、ビデオエンコーダ２０のための入力を含んでもよい。隣接した１以上のフレーム（現在のビデオブロックが比較されるビデオブロックを含む）は、フレームストア３４から読み出されてもよい。フレームストア３４は、１以上のエンコード済みフレームまたはブロックを記憶するために、任意の種類のメモリまたはデータ記憶デバイスを含んでもよい。この場合、フレームストアは、エンコード済みフレーム内のブロックを記憶してもよい。動き推定部３２は、現在のビデオブロックに最も合致する隣接フレームにおけるブロック（例えば、最小二乗誤差（ＭＳＥ）、差分二乗和（sum of squared difference）（ＳＳＤ）、差分絶対和（sum of absolute difference）（ＳＡＤ）、または最小のレート−歪みコストを有する隣接フレームにおけるブロック）を識別する。動き推定は、現在のビデオブロックのブロックタイプに基づいて、可変サイズ、例えば１６×１６、１６×８、８×１６、８×８、またはより小さいブロックサイズのブロックに関しておこなわれてもよい。
【００４４】
動き推定部３２は、現在のビデオブロックと現在のビデオブロックをコードするために用いられる識別された予測ブロックとの間の変位の軌跡および大きさを示す動きベクトル（ＭＶ）（または、双方向予測の場合には複数のＭＶ）を生成する。動きベクトルは、２分の１または４分の１精度、またはさらによい精度を有してもよく、ビデオエンコーダ２０が整数ピクセル位置よりも高精度に動きを追跡し、よりよい予測ブロックを得ることを可能にする。得られる動きベクトルを用いて、動き補償部３６は動き補償によって予測ビデオブロックを形成する。整数ピクセル精度の場合には、動き補償部３６は、動きベクトルによって予測ブロックであるとして識別された位置でブロックを選択する。小数ピクセル精度の場合には、動き補償部３６は、予測ブロックを形成するために補間をおこなってもよい。
【００４５】
空間予測の場合、空間予測部３０は、一般のフレーム内の１以上の隣接ブロックに基づいて予測ブロックを生成する。例えば、空間予測部３０は、現在のフレーム内の１以上の隣接ブロックと選択された予測モードとを用いて補間をおこなうことによって、予測ブロックを生成してもよい。現在のフレーム内の１以上の隣接ブロックは、例えば、フレームストア３４から取り出されてもよい。それゆえ、空間予測の場合、フレームストア３４は、デコードされて再構成されている現在のフレームのエンコード済みブロックを記憶してもよい。例えば、イントラ１６ｘ１６ブロックタイプに関して、空間予測部３０は、４つの予測モード（ＤＣ予測モード、水平予測モード、垂直予測モードおよび平行予測モード）のうちの１つを用いて予測ブロックを生成してもよい。他の例として、空間予測部３０は、予測ブロックとして現在のフレーム内で隣接ブロックのうちの１つを選択してもよい。このように、空間予測部３０は、隣接したフレーム内のブロックの代わりに予測ブロックを生成するために、一般のフレーム内のブロックに依存する。
【００４６】
モード選択部３３は、現在のブロックをエンコードするために選択されたコーディングモードに基づく動き補償部３６によって生成される予測ブロックと、空間予測部３０によって生成された予測ブロックとの間で選択的に切り替える。このように、ビデオエンコーダ２０は、例えばフレーム単位またはブロック単位で、インターコーディングおよびイントラコーディングを選択的におこなってもよい。ビデオエンコーダ２０は、加算器４８Ａでの現在のビデオブロックから作り出された、選択された予測ブロックを減じることによって、（図２において“ＲＥＳＩＤ ＩＮＦＯ”とラベル付けされた）残差情報を生成する。それゆえ、イントラコーディングの場合、ビデオエンコーダ２０は、加算器４８Ａで現在のビデオブロックから空間予測部３０によって選択された予測ブロック出力を減じることによって、残差情報を生成する。インターコーディングの場合、ビデオエンコーダ２０は、加算器４８Ａで現在のビデオブロックから動き補償部３６によって選択された予測ブロック出力を減じることによって、残差情報を生み出す。上述したように、残差情報は、コードされている現在のビデオブロックと予測ビデオブロックとの間の差を定量する。ブロック変換部３８は、残差変換係数を作り出すために、残差情報に、ＤＣＴまたは４ｘ４または８×８の整数変換のような変換を適用する。量子化部４０は、ビットレートをさらに削減するために残差変換係数を量子化する。
【００４７】
量子化の後、逆量子化部４２および逆変換部４４は、（図２において“ＲＥＣＯＮ ＲＥＳＩＤ”とラベル付けされた）残差情報を再構成するために逆量子化と逆変換とをそれぞれ適用する。加算器４８Ｂは、フレームストア３４における記憶用に、再構成されたビデオブロックを作り出すために動き補償部３６または空間予測部３０によって作り出された予測ブロックに再構成された残差情報を加える。再構成されたビデオブロックは、続くビデオフレームにおけるブロックをインターコードするために、動き推定部３２および動き補償部３６によって用いられてもよい。加えて、再構成されたブロックは、現在のフレームにおける別のブロックをイントラコードするために、空間予測部３０によって用いられてもよい。
【００４８】
エントロピーエンコーディング部４６は、量子化部４０から現在のビデオブロックに関する量子化された残差係数の形式における残差情報を受信する。加えて、エントロピーエンコーディング部４６は、モード選択部３３とビデオエンコーダ２０内の他のコンポーネントとから、１以上のヘッダシンタクス要素の形式における、他の現在のビデオブロックに関するブロックヘッダ情報を受信する。ヘッダシンタクス要素は、現在のビデオブロックの特定の特徴を識別してもよい。イントラコードされるブロックに関して、例えば、エントロピーエンコーディング部４６は、モード選択部３３からブロックタイプシンタクス要素および予測モードシンタクス要素、量子化部４０からのルマおよびクロマに関するＣＢＰシンタクス要素を受信してもよい。インターコードされるブロックに関して、エントロピーエンコーディング部４６は、動き推定部３２から現在のビデオブロックに関するシンタクス要素として１以上の動きベクトルをさらに受信してもよい。上述されたシンタクス要素は、エントロピーエンコーディング部４６によって受信されてもよいシンタクス要素の例である。エントロピーエンコーディング部４６は、より多くまたはより少数のシンタクス要素を受信してもよい。
【００４９】
エントロピーエンコーディング部４６は、エンコードビットストリームを生成するために、現在のビデオブロックに関するヘッダ情報と残差情報とをエンコードする。エントロピーエンコーディング部４６は、この開示において記述される手法に従って、ブロックの各々のヘッダ情報をエンコードする。特に、エントロピーエンコーディング部４６は、エンコード済みブロックの対応するシンタクス要素に基づいてブロックの各々のシンタクス要素をエンコードするのに用いる、コーディングテーブルを適応的に選択する。言い換えると、エントロピーエンコーディング部４６は、エンコード済みブロックのシンタクス要素に基づいてブロックごと基準でのコーディングテーブルを適応的に選択する。このように、エントロピーエンコーディング部４６は、１以上のエンコード済みブロックのシンタクス要素に基づいて、フレームの第１ブロックに関する第１コーディングテーブルとフレームの第２ブロックに関する第２コーディングテーブルとを選択してもよい。いくつかの場合には、選択をする際に用いられるエンコード済みブロックは、選択されたコーディングテーブルと異なるコーディングテーブルを用いてエンコードされている。
【００５０】
一態様では、エントロピーエンコーディング部４６は、現在のビデオブロック（すなわち、隣接するビデオブロック）に隣接する１以上のビデオブロックに基づいて、イントラ予測ブロックタイプをエンコードするのに用いる、コーディングテーブルを適応的に選択してもよい。別の態様では、エントロピーエンコーディング部４６は、イントラ１６ｘ１６ブロックタイプを有するエンコード済みブロックの割合に基づいて、コーディングテーブルを選択してもよい。しかし、説明の目的のため、エントロピーエンコーディング部４６は、現在のブロックの直上に位置する隣接ブロック（“上側の隣接ブロック”）と、現在のブロックの直接左の隣接ブロック（“左側の隣接ブロック”）に基づいて、イントラ予測ブロックタイプをエンコードするためにコーディングテーブルを適応的に選択するとして、記述されるだろう。しかし、エントロピーエンコーディング部４６は、エンコードするためにコーディングモードテーブルを選択する際に、任意の位置での多くの隣接ブロックを分析してもよい。その上、エントロピーエンコーディング部４６は、エンコード済みビデオブロックのブロックタイプに基づいてインター予測ブロックタイプのためのコーディングテーブルを適応的に選択するために、同様の手法を用いてもよい。その上、この開示の手法は、例えば予測モード、ルマＣＢＰ、クロマＣＢＰ、ブロック分割、動きベクトルなどのような現在のビデオブロックの他のシンタクス要素をコーディングするためのコーディングテーブルを適応的に選択するためにさらに適用されてもよい。
【００５１】
エントロピーエンコーディング部４６は、上側の隣接ブロックと左側の隣接ブロックとの両方がイントラ１６ｘ１６ブロックタイプを有さないとき、イントラ４ｘ４または８ｘ８ブロックタイプとイントラ１６ｘ１６ブロックタイプよりも短いコードワードとを関連付けるコーディングテーブルを選択してもよい。エントロピーエンコーディング部４６は、例えば、Ｈ．２６４／ＭＰＥＧ４ Ｐａｒｔ１０ ＡＶＣ標準に従って、例えば、１６ｘ１６ブロックタイプとコードワード“１０”（すなわち、２ビットのコードワード）とを関連付け、イントラ４ｘ４とイントラ８ｘ８ブロックタイプとコードワード“０”（すなわち、１ビットのコードワード）とを関連付けるコーディングテーブルを選択する。エントロピーエンコーディング部４６は、上側の隣接ブロックと左側の隣接ブロックが両方ともイントラ１６ｘ１６ブロックタイプを有するとき、イントラ１６ｘ１６ブロックタイプとイントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとを関連付けるコーディングテーブルを選択してもよい。一例を挙げれば、選択されたコーディングテーブルは、上側および左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有するとき、イントラ１６ｘ１６ブロックタイプとコードワード“０”（すなわち、１ビットのコードワード）とを関連付けてもよく、イントラ４ｘ４および８ｘ８ブロックタイプとコードワード“１０”（すなわち、２ビットのコードワード）とを関連付けてもよい。  
それゆえ、エントロピーエンコーディング部４６は、上側および左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、現在のビデオブロックがイントラ１６ｘ１６ブロックタイプであるという可能性が増加するという発見的手法の下で動作する。いくつかの場合は、現在のブロックは、イントラ１６ｘ１６ブロックタイプでなくてもよく、適応的に選択されたコーディングテーブルはイントラ８ｘ８または４ｘ４ブロックタイプに用いられるより長いコードワードをもたらしてもよい。しかし、たいてい発見的手法は真実であり、イントラ１６ｘ１６ブロックタイプをエンコードするためのビットの節約をもたらす。このように、ビデオエンコーダ２０は、イントラ１６ｘ１６ブロックタイプがより頻繁に用いられるとき、ブロックをより効率的にエンコードするコーディングテーブルを適応的に選択する。
【００５２】
エントロピーエンコーディング部４６はまた、ブロックヘッダシンタクス要素をエンコードするために用いられるビット数をさらに減らそうとするために、少なくとも１つのエンコード済みブロックに基づく現在のブロックの１以上の他のシンタクス要素を予測してもよい。例えば、エントロピーエンコーディング部４６は、以前のブロック（例えば、上側および左側の隣接ブロック）から、現在のブロックのルマ／クロマＣＢＰシンタクス要素と予測モードシンタクス要素とを一緒に予測しようとしてもよい。例えば、エントロピーエンコーディング部４６は、隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つのルマ／クロマＣＢＰおよび予測モードであるべき現在のブロックのルマ／クロマＣＢＰおよび予測モードを予測してもよい。エントロピーエンコーディング部４６は、現在のブロックの予測モードおよびルマ／クロマＣＢＰと、予測された予測モードおよびルマ／クロマＣＢＰとを比較し、予測が成功である場合、すなわち、それらが同じである場合、エントロピーエンコーディング部４６は予測が成功であることを示すフラグをエンコードする。エントロピーエンコーディング部４６はそれゆえ、予測モードおよびルマ／クロマＣＢＰを束にして、各シンタクス要素を別々にエンコードする代わりにフラグ（例えば、１ビットのフラグ）を用いてそれらを表し、シンタクス要素をエンコードするために用いるビット数のさらなる減少をもたらす。
【００５３】
予測モード、ルマＣＢＰおよびクロマＣＢＰの予測が成功していない場合、エントロピーエンコーディング部４６は、予測の失敗を示すためのフラグを設定する。エントロピーエンコーディング部４６は、以前のブロックから現在のブロックの予測モードのみを予測しようとしてもよい。例えば、エントロピーエンコーディング部４６は、隣接ブロックのうちの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つの予測モードである現在のブロックの予測モードを予測してもよい。エントロピーエンコーディング部４６は、現在のブロックの予測モードと、予測された予測モードとを比較し、予測が成功である場合、すなわち、それらが同じである場合、エントロピーエンコーディング部４６は予測が成功であることを示す予測モードフラグ（例えば、１ビットの予測モードフラグ）をエンコードする。予測が成功である場合、１ビットの予測モードフラグは、予測モードの２ビットの固定長コードワードの代わりに送られ、それゆえ、少なくとも１つの付加的ビットを節約する。エントロピーエンコーディング部４６は、ルマＣＢＰとクロマＣＢＰとを別々にエンコードする。予測モードの予測がまた不成功であり、またはエントロピーエンコーディング部４６が予測モードを予測しようとしない場合、エントロピーエンコーディング部４６は、予測が成功であるかどうか示すための付加的なフラグをコーディングすることなしに、別々のコードブックを用いてシンタクス要素の各々をエンコードする。
【００５４】
エントロピーエンコーディング部４６は、この開示の一態様に従って、イントラコーディング手法をおこなうために、以下の疑似コード例に従って動作してもよい。
【００５５】
Ｅｎｃｏｄｅ  Ｉ１６ＭＢｔｙｐｅ（ｃｕｒｒＭＢ）  
｛  
上側のＭＢタイプがＩ１６である場合、ｕｐＩ１６を１と等しくする；  
左側のＭＢタイプがＩ１６である場合、ｌｅｆｔＩ１６を１と等しくする；  
ｉｆ（ｕｐＩ１６＝１＆＆ｌｅｆｔＩ１６＝１）  
｛Ｉ１６、Ｉ４／８、ＩＰＣＭ｝に関するコードワード｛“０”、“１０”、“１１”｝を用いてｃｕｒｒＭＢＴｙｐｅをコードする；  
Ｅｌｓｅ  
｛Ｉ４／８、Ｉ１６、ＩＰＣＭ｝に関するコードワード｛“０”、“１０”、“１１”｝を用いてｃｕｒｒＭＢＴｙｐｅをコードする；  
／／以下のコードは、ｃｕｒｒＭＢのＩ１６ｍｏｄｅ／ＣＢＰｓを予測する  
｛  
ｕｐＶａｌｕｅ＝ｕｐＩ１６？Ｉ１６ｖａｌｕｅ（ｕｐＭＢ）：０；  
ｌｅｆｔＶａｌｕｅ＝ｌｅｆｔＩ１６？Ｉ１６ｖａｌｕｅ（ｌｅｆｔＭＢ）：０；  
Ｉｆ（ｕｐＩ１６＆＆ｌｅｆｔＩ１６）  
ｐｒｅｄＶａｌｕｅ＝ｍｉｎ（ｕｐＶａｌｕｅ，ｌｅｆｔＶａｌｕｅ）；  
Ｅｌｓｅ  ｉｆ（ｕｐＩ１６）  
ｐｒｅｄＶａｌｕｅ＝ｕｐＶａｌｕｅ；  
Ｅｌｓｅ  ｉｆ（ｌｅｆｔＩ１６）  
ｐｒｅｄＶａｌｕｅ＝ｌｅｆｔＶａｌｕｅ；  
Ｅｌｓｅ  
ｐｒｅｄＶａｌｕｅ＝−１；  
ｃｕｒｒＶａｌｕｅ＝Ｉ１６ｖａｌｕｅ（ｃｕｒｒＭＢ）；  
ｉｆ（ｒｅｄＶａｌｕｅ＝＝−１）  
｛  
２ビットＦＬＣにおいてｃｕｒｒＰｒｅｄＭｏｄｅを送る  
１ビットＦＬＣにおいてがｃｕｒｒＬｕｍａＣＢＰを送る  
コードワード｛０、１０、１１｝を用いてｃｕｒｒＣｈｒｏｍａＣＢＰを送る  
｝  
Ｅｌｓｅ  ｉｆ（ｃｕｒｒＶａｌｕｅ＝＝ＰｒｅｄＶａｌｕｅ）  
フラグ“１”を送る  
Ｅｌｓｅ  
｛  
フラグ“０”を送る  
２ビットＦＬＣにおいてｃｕｒｒＰｒｅｄＭｏｄｅを送る  
１ビットＦＬＣにおいてがｃｕｒｒＬｕｍａＣＢＰを送る  
コードワード｛０、１０、１１｝を用いてｃｕｒｒＣｈｒｏｍａＣＢＰを送る  
｝  
｝  
｝  
Ｉｎｔ  Ｉ１６ｖａｌｕｅ（ｔｈｉｓＭＢ）  
｛  
ｔｈｉｓＭＢの予測モードをｔｈｉｓＰｒｅｄＭｏｄｅにする  
ｔｈｉｓＭＢのルマＣＢＰをｔｈｉｓＬｕｍａＭｏｄｅにする  
ｔｈｉｓＭＢのクロマＣＢＰをｔｈｉｓＣｈｒｏｍａＭｏｄｅにする  
ｒｅｔｕｒｎ ｔｈｉｓＰｒｅｄＭｏｄｅ＋（ｔｈｉｓＬｕｍａＣＢＰ＜＜４）＋（ｔｈｉｓＣｈｒｏｍａＣＢＰ＜＜２）；  
｝
最初に、エントロピーエンコーディング部４６は、上側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、変数ｕｐＩ１６を“１”に設定し、上側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、変数ｕｐＩ１６を“０”に設定する。同様に、エントロピーエンコーディング部４６は、左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、変数ｌｅｆｔＩ１６を“１”に設定し、左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、変数ｌｅｆｔＩ１６を“０”に設定する。
【００５６】
エントロピーエンコーディング部４６は、上側および左側の隣接ブロックのブロックタイプに基づいて現在のブロックのブロックタイプを選択的にエンコードする。特に、エントロピーエンコーディング部４６は、ｕｐＩ１６とｌｅｆｔＩ１６との両方が“１”と等しいとき、イントラ１６ｘ１６（Ｉ１６）、イントラ４ｘ４または８ｘ８（Ｉ４／８）および生のピクセルデータ（raw pixel data）（ＩＰＣＭ）に関して、コードワード“０”、“１０”および“１１”を用いて現在のブロックのブロックタイプ（すなわち、ｃｕｒｒＭＢｔｙｐｅ）をそれぞれエンコードする。それゆえ、イントラ１６ｘ１６（Ｉ１６）ブロックタイプに割り当てられる可変長コードワードは、イントラ４ｘ４または８ｘ８ブロックタイプ（Ｉ４／８）または生のピクセルデータ（ＩＰＣＭ）ブロックタイプに割り当てられる可変長コードワードよりも短い。ｕｐＩ１６、ｌｅｆｔＩ１６、または、その両方が、イントラ１６ｘ１６以外のブロックタイプを有するとき、エントロピーエンコーディング部４６は、ブロックタイプＩ４／８、Ｉ１６、ＩＰＣＭに関するコードワード“０”、“１０”、 “１１”をそれぞれ用いて、現在のブロックのブロックタイプ（すなわち、ｃｕｒｒＭＢｔｙｐｅ）をエンコードする。
【００５７】
疑似コード例において上述されたが、エントロピーエンコーディング部４６は、上側および左側の隣接ブロックに基づいて現在のブロックのブロックタイプをエンコードする際に用いるコーディングテーブルを選択し、エントロピーエンコーディング部４６は、選択をする際により隣接するブロックを分析してもよい。さらに、エントロピーエンコーディング部４６は、他の基準、例えば、イントラ１６ｘ１６ブロックタイプを有するエンコード済みブロックの割合に基づいてエンコードする際に用いるためにコーディングテーブルを選択してもよい。例えば、エントロピーエンコーディング部４６は、最後の２０のうちの少なくとも１０のエンコード済みブロックがイントラ１６ｘ１６ブロックタイプを有するとき、イントラ１６ｘ１６ブロックタイプと関連したより短いコードワードを有するコーディングテーブルを選択してもよい。
【００５８】
予測モードとＣＢＰ（ルマおよびクロマ）とを予測するために、エントロピーエンコーディング部４６は、変数ｕｐＶａｌｕｅとｌｅｆｔＶａｌｕｅとを初期化する。変数ｕｐＶａｌｕｅとｌｅｆｔＶａｌｕｅとは、上側の隣接ブロックと左側の隣接ブロックとのそれぞれに関する、予測モードとＣＢＰ（ルマおよびクロマ）との値である。ｕｐＩ１６が“１”と等しくないとき、すなわち、上側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有さないとき、エントロピーエンコーディング部４６は、ｕｐＶａｌｕｅを“０”に等しく設定する。ｕｐＩ１６が“１”と等しいとき、すなわち、上側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有するとき、エントロピーエンコーディング部４６は、Ｉ１６ｖａｌｕｅ関数を用いてｕｐＶａｌｕｅを計算する。Ｉ１６ｖａｌｕｅ関数は、最下位の２ビットが上側の隣接ブロックの予測モードと対応し、次の２つの有効ビットが上側の隣接ブロックのクロマＣＢＰと対応し、次のビットが上側の隣接ブロックのルマＣＢＰと対応する値を返す。エントロピーエンコーディング部４６は、ｕｐＶａｌｕｅと同様の方法でｌｅｆｔＶａｌｕｅを決定する。特に、エントロピーエンコーディング部４６は、ｌｅｆｔＩ１６が“１”と等しくないときに、ｌｅｆｔＶａｌｕｅを“０”と等しく設定し、ｌｅｆｔＩ１６が“１”と等しいときに、ｌｅｆｔＶａｌｕｅをＩ１６ｖａｌｕｅ関数から返される値に設定する。
【００５９】
エントロピーエンコーディング部４６は、隣接ブロックのブロックタイプに基づく現在のブロックに関するＣＢＰ値および予測モードの値（ｐｒｅｄＶａｌｕｅ）、および、隣接ブロックのＣＢＰ値および予測モードの値、すなわち、ｕｐＶａｌｕｅおよびｌｅｆｔＶａｌｕｅを予測する。ｕｐＩ１６とｌｅｆｔＩ１６とが“１”と等しい場合、すなわち、両方の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、エントロピーエンコーディング部４６は、ｐｒｅｄＶａｌｕｅをｕｐＶａｌｕｅおよびｌｅｆｔＶａｌｕｅの最小値と等しく設定する。疑似コード例においてエントロピーエンコーディング部４６がｐｒｅｄＶａｌｕｅをｕｐＶａｌｕｅとｌｅｆｔＶａｌｕｅとの最小値と等しく設定するが、エントロピーエンコーディング部４６は、ｐｒｅｄＶａｌｕｅをｕｐＶａｌｕｅとｌｅｆｔＶａｌｕｅとの最大値、または２つの値の組み合わせと等しく設定してもよい。
【００６０】
両方の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有さないとき、エントロピーエンコーディング部４６は、ｕｐＩ１６だけが１と等しい場合、ｐｒｅｄＶａｌｕｅをｕｐＶａｌｕｅと等しく設定し、ｌｅｆｔＩ１６だけが“１”と等しい場合、ｐｒｅｄＶａｌｕｅをｌｅｆｔＶａｌｕｅと等しく設定する。このように、エントロピーエンコーディング部４６は、イントラ１６ｘ１６ブロックタイプを有する隣接ブロックに関する予測モードとＣＢＰ値とを用いて、現在のブロックに関する予測モードとＣＢＰ値との値（ｐｒｅｄＶａｌｕｅ）を予測する。ｕｐＩ１６とｌｅｆｔＩ１６とのどちらも“１”と等しくない、すなわち、近隣のブロックタイプのどちらもイントラ１６ｘ１６ではない場合、エントロピーエンコーディング部４６はｐｒｅｄＶａｌｕｅを“１”に等しく設定する。ｐｒｅｄＶａｌｕｅを“−１”と等しく設定することは、現在のブロックに関する予測モードとＣＢＰ値との値（ｐｒｅｄＶａｌｕｅ）を予測するために用いる隣接ブロックがないことを示す。
【００６１】
エントロピーエンコーディング部４６はその後、Ｉ１６ｖａｌｕｅ関数を用いて現在のブロックに関する予測モードとＣＢＰとの値（ｃｕｒｒＶａｌｕｅ）を計算する。ｃｕｒｒＶａｌｕｅを計算した後に、エントロピーエンコーディング部４６は、ｃｕｒｒＶａｌｕｅとｐｒｅｄＶａｌｕｅとの比較に基づく現在のブロックの予測モードとＣＢＰとをエンコードする。ｐｒｅｄＶａｌｕｅが“−１”と等しい、すなわち、予測のために用いる隣接ブロックがない場合、エントロピーエンコーディング部４６は、２ビットの固定長コードを用いて現在のブロックの予測モード（ｃｕｒｒＰｒｅｄＭｏｄｅ）をエンコードし、１ビットの固定長コードを用いてルマＣＢＰ（ｃｕｒｒＬｕｍａＣＢＰ）をエンコードし、可変長コードワード｛０、１０、１１｝を用いてクロマＣＢＰ（ｃｕｒｒＣｈｒｏｍａＣＢＰ）をエンコードする。
【００６２】
ｃｕｒｒＰｒｅｄＭｏｄｅに関する２ビットの固定長コードは、４つの予測モードのうちの１つに対応する。例えば、垂直予測モードはコード“００”と対応してもよく、水平予測モードは“０１”と対応してもよく、ＤＣ予測モードは“１０”と対応してもよく、平面予測モードは、“１１”と対応してもよい。ｃｕｒｒＬｕｍａＣＢＰに関する１ビットの固定長コードは、任意の非ゼロのルマ係数があるかどうかを示す。例えば、“０”のｃｕｒｒＬｕｍａＣＢＰは、非ゼロのルマ係数がないことを示し、“１”のｃｕｒｒＬｕｍａＣＢＰは、少なくとも１つの非ゼロのルマ係数があることを示す。ｃｕｒｒＣｈｒｏｍａＣＢＰに関する可変長コードワードは、非ゼロのクロマ係数があるかどうかを示す。例えば、“０”のｃｕｒｒＣｈｒｏｍａＣＢＰ値は、全てのクロマＡＣおよびＤＣ係数がゼロであることを示し、“１０”のｃｕｒｒＣｈｒｏｍａＣＢＰ値は、少なくとも１つの非ゼロのクロマＤＣ係数があるが非ゼロのクロマＡＣ係数がないことを示し、“１１”のｃｕｒｒＣｈｒｏｍａＣＢＰ値は、少なくとも１つの非ゼロのクロマＤＣ係数があり、かつ少なくとも１つの非ゼロのクロマＡＣ係数があることを示す。
【００６３】
ｐｒｅｄＶａｌｕｅが“−１”と等しくない場合、エントロピーエンコーディング部４６は、ｃｕｒｒＶａｌｕｅがｐｒｅｄＶａｌｕｅと等しいかどうか、もしそう場合、予測が成功であることを示すために“１”と等しく設定される１ビットのフラグを送る。エントロピーエンコーディング部４６は、このビデオブロックに関する予測モードまたはルマ／クロマＣＢＰに関して任意の他の情報を送らなくてもよい。その代わりに、１ビットのフラグは、予測値（ｐｒｅｄＶａｌｕｅ）が正しく、それゆえ、デコーダが上述したような同様のやり方で、デコーダによって予測される予測モードとルマ／クロマＣＢＰとを用いることを可能にすることをデコーダに示す。このように、エントロピーエンコーディング部４６は、“１”と等しく設定される１ビットのフラグを送ることによって、予測モードとルマ／クロマＣＢＰとを一緒に束にする。予測モードとＣＢＰ値との予測が成功であることを示す１ビットのフラグを送ることは、ヘッダ情報に関してエンコードされる必要があるビット数を減らす。
【００６４】
ｐｒｅｄＶａｌｕｅが“−１”と等しくなく、かつｃｕｒｒＶａｌｕｅと等しくない場合、エントロピーエンコーディング部４６は、予測が失敗したこと、すなわち、ｃｕｒｒＶａｌｕｅはｐｒｅｄＶａｌｕｅと等しくないことをデコーダに示すために１ビットのフラグを“０”と等しく設定する。
【００６５】
１ビットのフラグの後で、エントロピーエンコーディング部４６は、上に詳細に記述したように、２ビットの固定長コードを用いる現在のブロックの予測モード（ｃｕｒｒＰｒｅｄＭｏｄｅ）をエンコードし、１ビットの固定長コードを用いるルマＣＢＰ（ｃｕｒｒＬｕｍａＣＢＰ）をエンコードし、可変長コードワード｛０、１０、１１｝を用いるクロマＣＢＰ（ｃｕｒｒＣｈｒｏｍａＣＢＰ）をエンコードする。それゆえ、この場合、予測モードとコードブロックパターン（ＣＢＰ）とは、一緒に束にされる代わりに、別々に送られる。
【００６６】
この開示のさらなる態様では、予測モードとルマ／クロマＣＢＰとの予測が失敗する、すなわち、ｃｕｒｒＶａｌｕｅがｐｒｅｄＶａｌｕｅと等しくないとき、エントロピーエンコーディング部４６は、１以上の隣接ブロックの予測モードから現在のブロックの予測モードを予測しようとしてもよい。言い換えると、エントロピーエンコーディング部４６はまた、ルマおよびクロマＣＢＰを予測しようとすることなしに予測モードを予測しようとしてもよい。予測モードを予測するための疑似コード例は、下で提供される。
【００６７】
ＰｒｅｄＩ１６ｍｏｄｅ（ｃｕｒｒＭＢ）  
｛  
ｕｐＭｏｄｅを現在のブロックの直上の隣接ブロックの予測モードとする；  
ｌｅｆｔＭｏｄｅを現在のブロックの直接左の隣接ブロックの予測モードとする；  
Ｉｆ（ｕｐＩ１６＆＆ｌｅｆｔＩ１６）  
ｐｒｅｄＭｏｄｅ＝ｍｉｎ（ｕｐＭｏｄｅ，ｌｅｆｔＭｏｄｅ）；  
Ｅｌｓｅ ｉｆ（ｕｐＩ１６）  
ｐｒｅｄＭｏｄｅ＝ｕｐＭｏｄｅ；  
Ｅｌｓｅ ｉｆ（ｌｅｆｔＩ１６）  
ｐｒｅｄＭｏｄｅ＝ｌｅｆｔＭｏｄｅ；  
Ｅｌｓｅ   
ｐｒｅｄＭｏｄｅ＝−１；  
ｃｕｒｒＰｒｅｄＭｏｄｅをｃｕｒｒＭＢに関するＩ１６予測モードにする  
ｉｆ（ｐｒｅｄＭｏｄｅ＝＝−１）  
２−ｂｉｔ ＦＬＣを用いてｃｕｒｒＰｒｅｄＭｏｄｅを送る  
Ｅｌｓｅ ｉｆ（ｃｕｒｒＰｒｅｄＭｏｄｅ＝＝ｐｒｅｄＭｏｄｅ）  
フラグ“１”を送る  
Ｅｌｓｅ   
｛  
フラグ“０”を送る  
コードワード｛０、１０、１１｝を用いてｃｕｒｒＰｒｅｄＭｏｄｅを送る  
｝  
｝
エントロピーエンコーディング部４６は、現在のブロックより直上および現在のブロックの直接左の隣接ブロックの予測モードと等しくなるように変数ｕｐＭｏｄｅとｌｅｆｔＭｏｄｅとを初期化してもよい。エントロピーエンコーディング部４６は、１以上の隣接ブロックに基づいて現在のブロックの予測モード（ｐｒｅｄＭｏｄｅ）を予測する。ｕｐＩ１６とｌｅｆｔＩ１６とが“１”と等しい、すなわち、両方の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有する場合、エントロピーエンコーディング部４６は、ｕｐＭｏｄｅとｌｅｆｔＭｏｄｅとの最小値としてｐｒｅｄＭｏｄｅを設定する。エントロピーエンコーディング部４６は、最小値の代わりにｕｐＭｏｄｅとｌｅｆｔＭｏｄｅとの最大値または２つの組み合せを用いてもよい。両方の隣接ブロックがイントラ１６ｘ１６ブロックタイプではない場合、エントロピーエンコーディング部４６は、ｕｐＩ１６が“１”と等しい場合、ｐｒｅｄＭｏｄｅが上側の隣接ブロックの予測モード（ｕｐＭｏｄｅ）と等しくなるように設定し、ｌｅｆｔＩ１６が“１”と等しい場合、ｐｒｅｄＭｏｄｅが左側の隣接ブロックの予測モードと等しくなるように設定する。ｕｐＩ１６とｌｅｆｔＩ１６とのどちらも“１”と等しくない場合、エントロピーエンコーディング部４６は、ｐｒｅｄＭｏｄｅを“−１”と等しく設定する。これは、現在のブロックの予測モードを予測するために用いられうるイントラ１６ｘ１６の隣接ブロックがないことを示す。
【００６８】
エントロピーエンコーディング部４６は、予測された予測モード（ｐｒｅｄＭｏｄｅ）に基づいて現在のブロックの予測モード（ｃｕｒｒＰｒｅｄＭｏｄｅ）をエンコードする。ｐｒｅｄＭｏｄｅが“−１”と等しい場合、エントロピーエンコーディング部４６は、４つの考えられる予測モードのうちの１つに対応する２ビットの固定長コードを用いてｃｕｒｒＰｒｅｄＭｏｄｅをエンコードする。加えて、エントロピーエンコーディング部４６は、上述したように、１ビットの固定長コードを用いるルマＣＢＰ（ｃｕｒｒＬｕｍａＣＢＰ）と、可変長コードワード｛０、１０、１１｝を用いるクロマＣＢＰ（ｃｕｒｒＣｈｒｏｍａＣＢＰ）とをエンコードする。ｐｒｅｄＭｏｄｅが“−１”と等しくない場合、エントロピーエンコーディング部４６は、ｃｕｒｒＰｒｅｄＭｏｄｅがｐｒｅｄＭｏｄｅと等しいかどうかを決定し、もしそうであれば、“１”と等しい１ビットのフラグを送る。エントロピーエンコーディング部４６は、現在のブロックの予測モードに関して、任意の他の情報を送らなくてもよい。その代わりに、１ビットのフラグは、予測モードの予測が成功していたことをデコーダに示す。デコーダは、したがって、現在のブロックの予測モードとして、予測された予測モード（ｐｒｅｄＭｏｄｅ）を用いてもよい。エントロピーエンコーディング部４６は、１ビットの固定長コードを用いるｃｕｒｒＬｕｍａＣＢＰをまだエンコードしてもよく、可変長コード｛０、１０、１１｝を用いるｃｕｒｒＣｈｒｏｍａＣＢＰをエンコードしてもよい。それゆえ、予測モード、ルマＣＢＰおよびクロマＣＢＰの束の予測が失敗するときでも、現在の予測モードの成功した予測は、現在のブロックをコードするために必要なビット数の減少をもたらすかもしれない。
【００６９】
ｐｒｅｄＭｏｄｅが“−１”またはｃｕｒｒＰｒｅｄＭｏｄｅと等しくない場合、エントロピーエンコーディング部４６は、予測モードの予測が失敗したこと、すなわちｃｕｒｒＰｒｅｄＭｏｄｅがｐｒｅｄＭｏｄｅと等しくないことをデコーダに示すために１ビットのフラグを“０”と等しく設定する。１ビットのフラグの後で、エントロピーエンコーディング部４６は、コードワード｛０、１０、１１｝を用いる現在のブロックの予測モード（ｃｕｒｒＰｒｅｄＭｏｄｅ）をエンコードする。ｃｕｒｒＰｒｅｄＭｏｄｅがｐｒｅｄＭｏｄｅと等しくないので、３つの他の考えられる予測モードのみ残っている。それゆえ、エントロピーエンコーディング部４６は、可変長コードワード｛０、１０、１１｝を用いるｃｕｒｒＰｒｅｄＭｏｄｅをエンコードしてもよい。エントロピーエンコーディング部４６はまた、上に詳細に記述したように、ｃｕｒｒＬｕｍａＣＢＰとｃｕｒｒＣｈｒｏｍａＣＢＰとをエンコードする。
【００７０】
図３は、開示の態様に従うビデオブロックをエンコードするように構成される一例のエントロピーエンコーディング部４６を示すブロック図である。エントロピーエンコーディング部４６は、図１および２のビデオエンコーダ２０内に存在してもよい。エントロピーエンコーディング部４６は、ブロックに関するブロックデータを受信し、デコーディングに関する別のデバイスに、送信のためにエンコードビットストリームを生成する。図３の例では、エントロピーエンコーディング部４６は、エンコーディング部５０、コーディングテーブル選択部５２およびシンタクス要素予測部５４を含む。
【００７１】
エンコーディング部５０は、１以上のコーディングテーブルを用いるブロックに関するブロックデータをエンコードする。エンコーディング部５０は、コーディングテーブル選択部５２から、エンコーディングに用いるコーディングテーブルを得てもよい。コーディングテーブル選択部５２は、データの異なるタイプをエンコードするために、多くのコーディングテーブルを記憶してもよい。例えば、コーディングテーブル選択部５２は、残差情報をエンコーディングするための１以上のコーディングテーブル、ヘッダシンタクス要素の各タイプをエンコーディングするための１以上のコーディングテーブル、ヘッダシンタクス要素の束をエンコーディングするための１以上のコーディングテーブルなどを記憶してもよい。いくつかの場合には、コーディングテーブル選択部５２は、コーディングテーブルを記憶しなくてもよく、しかしその代わりに、外部にあるストレージから正しいコーディングテーブルをエントロピーエンコーディング部４６に取りだしてもよい。
【００７２】
コーディングテーブル選択部５２は、エンコード済みブロックのブロックタイプに基づいて現在のブロックのブロックタイプシンタクス要素をエンコードする際に、エンコーディング部５０による使用のためにコーディングテーブルを適応的に選択してもよい。一態様では、コーディングテーブル選択部５２は、１以上の隣接ビデオブロックに基づいて、例えば上に詳述したように、上側および左側の隣接ブロックに基づいて、現在のブロックのブロックタイプをエンコードする際に用いるために、コーディングテーブルを適応的に選択してもよい。コーディングテーブル選択部５２は、例えば、上側の隣接ブロックと左側の隣接ブロックとの両方ともイントラ１６ｘ１６ブロックタイプを有さないとき、イントラ４ｘ４または８ｘ８ブロックタイプとイントラ１６ｘ１６ブロックタイプよりも短いコードワードとを関連付ける第１コーディングテーブルを選択してもよく、上側の隣接ブロックと左側の隣接ブロックとの両方ともイントラ１６ｘ１６ブロックタイプを有するとき、イントラ１６ｘ１６ブロックタイプとイントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとを関連付ける第２コーディングテーブルを選択してもよい。別の態様では、コーディングテーブル選択部５２は、イントラ１６ｘ１６ブロックタイプを有するエンコード済みブロックの割合に基づいてコーディングテーブルを選択してもよい。エンコーディング部５０は、選択されたコーディングテーブルに従って現在のブロックのブロックタイプシンタクス要素をエンコードする。
【００７３】
いくつかの実例では、シンタクス要素予測部５４は、エンコード済みブロックに基づいて現在のブロックの１以上の他のシンタクス要素を予測しようとしてもよい。イントラ予測ブロックに関して、例えば、シンタクス要素予測部５４は、現在のブロックのルマ／クロマＣＢＰシンタクス要素と予測モードシンタクス要素とを予測しようとしてもよく、かつ／または、ルマ／クロマＣＢＰシンタクス要素を予測することなしに現在のブロックの予測モードシンタクス要素を予測しようとしてもよい。シンタクス要素予測部５４は、隣接ブロックのうちの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つのルマ／クロマＣＢＰおよび予測モードである現在のブロックのルマ／クロマＣＢＰおよび予測モードを予測してもよい。
【００７４】
エンコーディング部５０は、シンタクス要素予測部５４から予測されたシンタクス要素を受信し、予測されたシンタクス要素と現在のブロックの実際のシンタクス要素とを比較する。予測が成功である、すなわち、予測されたシンタクス要素と実際のシンタクス要素とが同じ場合、エンコーディング部５０は、シンタクス要素（例えば、上の例の予測モードおよびルマ／クロマＣＢＰ）の予測が成功していたことを示すフラグをエンコードする。エンコーディング部５０は、それゆえ、予測モードとルマ／クロマＣＢＰとを束にして、各シンタクス要素を別々にエンコードする代わりに、フラグ（例えば、１ビットのフラグ）を用いてそれらを表し、シンタクス要素をエンコードするために用いられるビット数のさらなる減少をもたらす。
【００７５】
予測モード、ルマＣＢＰおよびクロマＣＢＰ（または、他のシンタクス要素）の予測が成功していない場合、エンコーディング部５０は、予測の失敗を示すためのフラグをエンコードする。予測モードとルマ／クロマＣＢＰとの予測が不成功である場合、シンタクス要素予測部５４は、ルマ／クロマＣＢＰを予測することなしに、以前のブロックから現在のブロックの予測モードを予測しようとしてもよい。例えば、シンタクス要素予測部５４は、隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つの予測モードである現在のブロックの予測モードを予測してもよい。
【００７６】
エンコーディング部５０は、現在のブロックの予測モードとシンタクス予測部５４から受信される予測された予測モードとを比較し、予測が成功である場合、エンコーディング部５０は、予測モードの予測が成功していたことを示すフラグをエンコードする。エンコーディング部５０は、それらのシンタクス要素に関連したそれぞれのコーディングテーブルを用いて、ルマＣＢＰとクロマＣＢＰとをエンコードする。予測モードの予測も不成功であり、または、予測モードを予測しようとしない場合、エンコーディング部５０は、コーディングテーブル選択部５２から取り出されるそれぞれのコーディングテーブルを用いてシンタクス要素の各々をエンコードする。
【００７７】
図４は、この開示のコーディング手法に従ってビデオデータをデコードするビデオデコーダ２６の例を示すブロック図である。例えば、ビデオデコーダ２６、図１の受信デバイス１４のそれに対応する。ビデオデコーダ２６は、ビデオフレーム内のブロックのイントラおよびインターデコーディングをおこなってもよい。図４の例では、ビデオデコーダ２６は、エントロピーデコーディング部６０、空間予測部６２、動き補償部６３、逆量子化部６４、逆変換部６６およびフレームストア６８を含む。ビデオデコーダ２６はまた、逆変換部６６の出力と、ビデオブロックがインターコードされているかイントラコードされているかどうかに依存した、動き補償部６３または空間予測部６２のそれぞれの出力とを結合する加算器６９とを含む。図４は、ビデオブロックのイントラデコーディングに関するビデオデコーダ２６の空間予測コンポーネントを示す。
【００７８】
エントロピーデコーディング部６０は、エンコードビデオビットストリームを受信し、（例えば、量子化された残差係数の形式における）残差情報と（例えば、１以上のヘッダシンタクス要素の形式における）ヘッダ情報とを得るために、エンコードビットストリームをデコードする。上に詳細に記述したように、エントロピーエンコーディング部４６（図２）は、エンコード済みブロックのブロックタイプに基づいてブロックタイプをエンコードする際に用いるために、コーディングテーブル（例えば、コードブック）を適応的に選択する。したがって、エントロピーデコーディング部６０は、現在のブロックのブロックタイプを正しくデコードするためにエントロピーエンコーディング部４６と同様のやり方で、ブロックタイプをデコードする際の使用のため、コーディングテーブルを適応的に選択してもよい。
【００７９】
一態様では、エントロピーデコーディング部６０は、現在のスライスの１以上の隣接ブロック（すなわち、隣接ビデオブロック）に基づいて、現在のブロックのブロックタイプをデコードするために、コーディングテーブルを適応的に選択する。フレームの第１ビデオブロックに関するような、エンコード済み隣接ビデオブロックがないビデオブロックに関して、エントロピーデコーディング部６０は、デフォルトのコーディングテーブルを選択してもよい。例えば、デフォルトのコーディングテーブルは、イントラ１６ｘ１６ブロックタイプに割り当てられるコードワードよりも短いコードワードをイントラ４ｘ４および８ｘ８ブロックタイプに割り当てるコーディングテーブルであってもよい。デコード済み隣接ビデオブロックが存在するスライス内のビデオブロックに関して、エントロピーデコーディング部６０は、デコーディングのためのコーディングテーブルを選択する際の任意の場所でいくつかの隣接ブロックを分析してもよい。しかし、説明の目的のために、エントロピーデコーディング部６０は、上側の隣接ブロックと左側の隣接ブロックとに基づいてブロックのブロックタイプをデコードするためのコーディングテーブルを適応的に選択するとして記述されるだろう。
【００８０】
例えば、イントラ予測ブロックタイプの場合、エントロピーデコーディング部６０は、上側の隣接ブロックと左側の隣接ブロックとがイントラ１６ｘ１６ブロックタイプを有するとき、イントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとイントラ１６ｘ１６ブロックタイプとを関連付けるコーディングテーブルを選択してもよい。例えば、上側および左側の隣接ブロックがイントラ１６ｘ１６ブロックタイプを有するときに選択されたコーディングテーブルは、コードワード“０”、“１０”および“１１”を、イントラ１６ｘ１６ブロックタイプ、イントラ４ｘ４または８ｘ８ブロックタイプ、および生のピクセルデータブロックタイプ（ＩＰＣＭ）に、それぞれ関連付けてもよい。上側の隣接ブロックと左側の隣接ブロックとがイントラ１６ｘ１６ブロックタイプを有さないとき、エントロピーデコーディング部６０は、イントラ４ｘ４／８ｘ８ブロックタイプとより短い可変長コードワードとを関連付け、イントラ１６ｘ１６ブロックタイプとより長いコードワードとを関連付けるコーディングテーブルを選択してもよい。エントロピーデコーディング部６０は、隣接ブロックに基づいて選択されたコーディングテーブルを用いる現在のブロックのブロックタイプをデコードする。
【００８１】
上述される例では、エントロピーデコーディング部６０が隣接ブロックに基づいてコーディングテーブルを選択するが、エントロピーデコーディング部６０は、他の基準に基づいてコーディングテーブルを選択してもよい。例えば、エントロピーデコーディング部６０は、しきい値を超えるイントラ１６ｘ１６ブロックタイプを有する（例えば、最後の２０のエンコード済みブロックの少なくとも１０がイントラ１６ｘ１６ブロックタイプを有する）エンコード済みブロックの割合に基づいてコーディングテーブルを選択してもよい。その上、エントロピーデコーディング部６０は、イントラコードブロックに加えてインターコードブロックのブロックタイプのデコーディングのために、コーディングテーブルを適応的に選択してもよい。
【００８２】
エントロピーデコーディング部６０はさらに、現在のブロックの予測モード、ルマＣＢＰおよびクロマＣＢＰをデコードする。上述したように、エントロピーエンコーディング部４６（図２）は、１以上の隣接ブロックのシンタクス要素から、現在のブロックに関する１以上の他のシンタクス要素（例えば予測モードおよびルマ／クロマＣＢＰ）を予測してもよい。予測が成功である例では、エントロピーエンコーディング部４６は、予測モードとルマ／クロマＣＢＰとを束にして、予測が成功であることを示しているフラグ（例えば、１ビットのフラグ）を送信する。それゆえ、エントロピーデコーディング部６０はまた、エントロピーエンコーディング部４６と同様のやり方で１以上のシンタクス要素の予測をおこなってもよい。例えば、エントロピーデコーディング部６０は、以前のブロック（例えば、上側および左側の隣接ブロック）の１以上から、現在のブロックのルマ／クロマＣＢＰシンタクス要素と予測モードシンタクス要素とを予測してもよい。エントロピーデコーディング部６０は、隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つの予測モードおよびルマ／クロマＣＢＰである現在のブロックの予測モードおよびルマ／クロマＣＢＰを予測してもよい。エンコードビットストリームにおけるフラグが予測モードおよびＣＢＰの予測が成功であることを示す場合、エントロピーデコーディング部６０は、現在のブロックの予測モードおよびＣＢＰとして予測された予測モードおよびＣＢＰを選択する。
【００８３】
エンコードビットストリームのフラグが予測が成功していないことを示すとき、エントロピーデコーディング部６０は、別々のコードワードとして、予測モード、ルマＣＢＰおよびクロマＣＢＰを受信する。エントロピーデコーディング部６０は、４つのイントラ１６ｘ１６予測モードのうちの１つに対応する２ビットの固定長コードを備えるコーディングテーブルを用いて予測モードをデコードしてもよい。例えば、垂直予測モードはコードワード“００”と対応してもよく、水平予測モードはコードワード“０１”と対応してもよく、ＤＣ予測モードはコードワード“１０”と対応してもよく、平面予測モードはコードワード“１１”と対応してもよい。エントロピーデコーディング部６０は、１ビットの固定長コードワードを備えるコーディングテーブルを用いて（非ゼロのルマ係数があるかどうかを示す）ルマＣＢＰをデコードしてもよい。エントロピーデコーディング部６０は、可変長コードワードを備えるコーディングテーブルを用いて（非ゼロのクロマ係数があるかどうかを示す）クロマＣＢＰをデコードしてもよい。例えば、クロマコーディングテーブルは、すべてのクロマＡＣおよびＤＣ係数がゼロであることを示すコードワード“０”と、 少なくとも１つの非ゼロのクロマＤＣ係数があるが非ゼロのクロマＡＣ係数がないことを示すコードワード“１０”と、少なくとも１つの非ゼロのクロマＤＣ係数がありかつ少なくとも１つの非ゼロのクロマＡＣ係数があることを示すコードワード“１１”を含んでもよい。
【００８４】
いくつかの態様では、エントロピーエンコーディング部４６（図２）は、予測モードおよびルマ／クロマＣＢＰの組み合せの予測が失敗するとき、予測モードを予測しようとしてもよく、予測モードの予測が成功であるかどうか示すフラグをエンコードしようとしてもよい。したがって、エントロピーデコーディング部６０は、１以上の隣接ブロックに基づいて予測モードの予測をおこなってもよい。例えば、エントロピーデコーディング部６０は、隣接ブロックのうちの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つの予測モードである現在のブロックの予測モードを予測してもよい。フラグが予測モードの予測が成功であることを示す場合、エントロピーデコーディング部６０は、現在のブロックの予測モードとして予測された予測モードを選択する。予測が不成功であることをフラグが示す、または、エントロピーデコーディング部６０が予測モードを予測するように構成されない場合、エントロピーデコーディング部６０は、予測モードを別々にデコードする。
【００８５】
エントロピーデコーディング部６０によっておこなわれるエンコードビデオデータのエントロピーデコーディングの後で、ビデオデコーダ２６は、ヘッダ情報と残差情報とを用いてビデオシーケンスのフレームをブロックごとに再構成する。エントロピーデコーディング部６０は、ヘッダ情報の少なくとも一部を用いて予測ブロックを生成する。例えば、イントラコードブロック（またはスライス）の場合、エントロピーデコーディング部６０は、予測ブロックの生成のために、（このブロックのための予測モードおよびブロックタイプのような）ヘッダ情報の少なくとも一部を空間予測部６２に提供してもよい。空間予測部６２は、ヘッダ情報に従って一般のスライス内で１以上の隣接ブロック（または、隣接ブロックの部分）を用いる予測ブロックを生成する。例えば、空間予測部３０は、予測モードシンタクス要素によって指定されるイントラ予測モードを用いて、ブロックタイプシンタクス要素によって示される分割サイズの予測ブロックを生成してもよい。現在のスライスの範囲内の１以上の隣接ブロック（または隣接ブロックの部分）は、例えば、フレームストア６８から取り出されてもよい。
【００８６】
インターコードされたブロックの場合（またはスライス）の場合、エントロピーデコーディング部６０は、予測ブロックの生成のために、ヘッダ情報の少なくとも一部を動き補償部６３に提供してもよい。例えば、動き補償部６３は、エントロピーエンコーディング部６０から１以上の動きベクトルおよびブロックタイプを、参照フレームストア６８から１以上の再構成された参照フレームを受け取り、予測ブロック、すなわち、動き補償ブロックを生成する。
【００８７】
エントロピーデコーディング部６０は、例えば、１以上の量子化された残差係数の形式における残差情報を逆量子化部６４に提供する。逆量子化部６４は、量子化された残差係数を逆に量子化する（inverse quantize）、すなわち、逆量子化する（de-quantize）。逆変換部６６は、残差ブロックを作り出すために逆量子化された残差係数に、逆変換、例えば、逆ＤＣＴまたは逆４ｘ４または８×８の整数変換を適用する。加算器６９は、デコードされたブロックを形成するために、逆変換部６６からの残差ブロックと空間予測部６２によって生成された予測ブロックとを加算する。
【００８８】
ブロックに基づいたビデオコーディングはときどき、コードビデオフレームのブロック境界で視覚的に知覚可能なブロックノイズ（blockiness）をもたらすことがある。そのような場合、デブロッキングフィルタリングは、視覚的に知覚可能なブロックノイズをなくすまたは低減するために、ブロック境界を滑らかにしてもよい。そのため、デブロッキングフィルタ（図示せず）はまた、ブロックノイズを除去するためにデコードされたブロックをフィルタするために適用されてもよい。任意の選択的なデブロックフィルタリングに続き、再構成されたブロックはその後、空間および時間予測ための参照ブロックを提供し、（図１のデバイス２８のような）ディスプレイデバイスを駆動するためにデコードされたビデオも生成する、フレームストア６８に置かれる。
【００８９】
図５は、さらに詳細な、ビデオデコーダ２６のエントロピーデコーディング部６０のようなデコーディング部の例を示すブロック図である。エントロピーデコーディング部６０は、ブロックに関するエンコードビデオデータを受信し、残差情報およびヘッダ情報の形式におけるブロックデータを生成するためにビデオデータをデコードする。図３の例では、エントロピーエンコーディング部４６は、デコーディング部７０、コーディングテーブル選択部７１およびシンタクス要素予測部７２を含む。
【００９０】
コーディングテーブル選択部７１およびシンタクス要素予測部７２は、図３のコーディングテーブル選択部５２およびシンタクス要素選択部５４と実質的に同様である。コーディングテーブル選択部７１は、上に詳細に記述されたように、デコード済みブロックのブロックタイプに基づいて現在のブロックのブロックタイプシンタクス要素をデコードする際にデコーディング部７０による使用のためにコーディングテーブルを適応的に選択する。シンタクス要素予測部７２は、少なくとも１つのデコード済みブロックに基づいて現在のブロックの１以上の他のシンタクス要素を予測し、予測されたシンタクス要素をデコーディング部７０に提供する。デコーディング部７０は、シンタクス要素予測部７２から予測されたシンタクス要素を受信し、エンコードビットストリームにおけるフラグがエンコーダで成功した予測を示す場合、デコーディング部７０は、現在のブロックのシンタクス要素として予測されたシンタクス要素を選択する。
【００９１】
図６は、この開示の手法に従うビデオブロックに関するヘッダ情報をエンコードする、ビデオエンコーダ２０のエントロピーエンコーディング部４６のようなエンコーディング部の動作例を示すフローチャートである。図６は、ブロックのブロックタイプシンタクス要素をエンコードすることとの関連で記述される。しかし、上述したように、この開示の手法は、予測モード、ルマＣＢＰ、クロマＣＢＰ、ブロック分割、動きベクトルなどのような、現在のビデオブロックの他のシンタクス要素をコーディングするためのコーディングテーブルを適応的に選択するためにさらに適用されてもよい。エントロピーエンコーディング部４６は、エンコードされるべきビデオブロックのヘッダ情報を受信する（７３）。ビデオブロックのヘッダ情報は、ブロックタイプ、予測モード、ルマＣＢＰおよびクロマＣＢＰのような、ブロックの特定の特徴を識別する多くのシンタクス要素を含んでもよい。
【００９２】
エントロピーエンコーディング部４６は、エンコード済みブロックのブロックタイプに基づいてブロックのブロックタイプをエンコードする際に用いるためのコーディングテーブルを適応的に選択する（７４）。一例を挙げれば、エントロピーエンコーディング部４６は、１以上の隣接ビデオブロックに基づいて、例えば、上側の隣接ブロックおよび左側の隣接ブロックのブロックタイプに基づいて、現在のブロックのブロックタイプをエンコードする際に用いるために、コーディングテーブルを適応的に選択してもよい。イントラコードブロックに関して、エントロピーエンコーディング部４６は、上側の隣接ブロックおよび左側の隣接ブロックが両方ともイントラ１６ｘ１６ブロックタイプを有さないとき、イントラ１６ｘ１６ブロックタイプよりも短いコードワードとイントラ４ｘ４または８ｘ８ブロックタイプとを関連付けるコーディングテーブルを選択してもよく、上側および左側の隣接ブロックの両方ともイントラ１６ｘ１６ブロックタイプを有するとき、イントラ４ｘ４または８ｘ８ブロックタイプよりも短いコードワードとイントラ１６ｘ１６ブロックタイプとを関連付けるコーディングテーブルを選択してもよい。エントロピーエンコーディング部４６は、選択されたコーディングテーブルに従って、ブロックのブロックタイプをエンコードする（７５）。
【００９３】
エントロピーエンコーディング部４６は、１以上のエンコード済みブロックから現在のブロックの予測モード、ルマＣＢＰおよびクロマＣＢＰを予測するかどうかを決定する（７６）。エントロピーエンコーディング部４６が、予測モード、ルマＣＢＰおよびクロマＣＢＰを予測するように構成されるとき、エントロピーエンコーディング部４６はそれらの予測を生成する（７８）。例えば、エントロピーエンコーディング部４６は、隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つのルマ／クロマＣＢＰおよび予測モードである現在のブロックのルマ／クロマＣＢＰおよび予測モードを予測してもよい。
【００９４】
エントロピーエンコーディング部４６は、現在のブロックの予測モードおよびルマ／クロマＣＢＰが、予測された予測モードおよびルマ／クロマＣＢＰと同じかどうかを決定する（８０）。予測モードとルマ／クロマＣＢＰｓとが予測されたものと同じである場合、エントロピーエンコーディング部４６は、モードおよびＣＢＰの予測が成功であることを示すフラグをエンコードする（８２）。エントロピーエンコーディング部４６は、エンコードビットストリームを送信する（８４）。この場合、エンコードビットストリームは、エンコードブロックタイプシンタクス要素とエンコードフラグとを含む。
【００９５】
予測された予測モードおよびルマ／クロマＣＢＰが現在のブロックの予測モードおよびルマ／クロマＣＢＰと同じではない場合、エントロピーエンコーディング部４６は、予測が不成功であったことを示すためのフラグをエンコードする（８６）。モードおよびＣＢＰの予測が不成功だったことを示すフラグをエンコードした後、またはエントロピーエンコーディング部４６がモードおよびＣＢＰの予測を行わないとき、エントロピーエンコーディング部４６は、現在のブロックの予測モードを予測するかどうかを決定する（８８）。エントロピーエンコーディング部４６が予測モードを予測するように構成されないとき、エントロピーエンコーディング部４６は、残りのヘッダシンタクス要素を別々にエンコードする（９６）。この場合、残りのヘッダシンタクス要素は、ブロックタイプ、予測モード、および、ルマおよびクロマＣＢＰを含む。エントロピーエンコーディング部４６が予測モードを予測するように構成されるとき、エントロピーエンコーディング部４６は、隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つの予測モードである現在のブロックの予測モードを予測してもよい（９０）。
【００９６】
エントロピーエンコーディング部４６は、現在のブロックの予測モードが予測された予測モードと同じかどうかを決定する（９２）。現在のブロックの予測モードが予測された予測モードと同じである場合、エントロピーエンコーディング部４６は、予測モードの予測が成功であることを示すためのフラグをエンコードする（９４）。エントロピーエンコーディング部４６は、残りのヘッダシンタクス要素をさらに別々にエンコードする（９６）。この場合、残りのヘッダシンタクス要素は、ルマＣＢＰとクロマＣＢＰとを含む。
【００９７】
現在のブロックの予測モードが予測された予測モードと同じではない場合、エントロピーエンコーディング部４６は、予測モードの予測が不成功であることを示すためのフラグをエンコードする（９８）。エントロピーエンコーディング部４６は、残りのヘッダシンタクス要素を別々にエンコードする（９６）。この場合、残りのヘッダシンタクス要素は、ルマおよびクロマＣＢＰと同様に予測モードを含む。残りのシンタクス要素をエンコードした後に、エントロピーエンコーディング部４６は、エンコードビットストリームを送信する（８４）。エントロピーエンコーディング部４６は、エンコードデータを生成されたときに送信（例えば、エンコードブロックタイプが生成され続いてエンコードフラグがあるときに送信）してもよい。あるいは、エントロピーエンコーディング部４６は、ブロックに関してエンコードデータを記憶してもよく、同時にブロックに関するエンコードデータを送信してもよい。あるいは、エントロピーエンコーディング部４６は、スライスにおける全てのブロックに関してエンコードデータを記憶してもよく、同時にスライスにおける全てのブロックに関するエンコードデータを送信してもよい。
【００９８】
図７は、この開示の手法に従うビデオブロックのヘッダ情報をデコードする、デコーダ２６のエントロピーデコーディング部６０のようなデコーディング部の動作例を示すフローチャートである。図７は、ブロックのブロックタイプシンタクス要素をデコーディングすることとの関連で記述される。しかし、上述したように、この開示の手法は、予測モード、ルマＣＢＰ、クロマＣＢＰ、ブロック分割、動きベクトルなどのような、現在のビデオブロックの他のシンタクス要素をデコードするために、コーディングテーブルを適応的に選択するためにさらに適用されてもよい。エントロピーデコーディング部６０は、エンコードビデオブロックを受信する（１００）。エントロピーデコーディング部６０は、エンコードブロックのブロックタイプをデコードする際に用いるために、コーディングテーブルを適応的に選択する（１０２）。一態様では、エントロピーデコーディング部６０は、現在のスライスの１以上のデコード済みブロックのブロックタイプに基づいて、現在のブロックのブロックタイプをデコードするために、コーディングテーブルを適応的に選択する。イントラコードブロックに関して、例えば、エントロピーデコーディング部６０は、上側および左側の隣接ブロックの両方ともイントラ１６ｘ１６ブロックタイプを有するとき、イントラ４ｘ４または８ｘ８ブロックタイプよりもイントラ１６ｘ１６ブロックタイプに、より短いコードワードを関連付けるコーディングテーブルを選択してもよく、上側の隣接ブロックおよび左側の隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有さないとき、イントラ１６ｘ１６ブロックタイプよりもイントラ４ｘ４／８ｘ８ブロックタイプに、より短いコードワードを関連付けるコーディングテーブルを選択する。他の態様では、エントロピーデコーディング部６０は、他の判定基準に基づいて、例えば、イントラ１６ｘ１６ブロックタイプを有するデコード済みブロックの割合に基づいて、コーディングテーブルを選択してもよい。エンコーダおよびデコーダ同期を維持するために、エンコーダおよびデコーダは、コーディングテーブルを選択するために同じ判定基準を用いる。エントロピーデコーディング部６０は、選択されたコーディングテーブルを用いて、現在のブロックのブロックタイプをデコードする（１０４）。
【００９９】
エントロピーデコーディング部６０はまた、１以上の隣接ブロックのルマ／クロマＣＢＰと予測モードとから、現在のブロックに関するルマ／クロマＣＢＰと予測モードとを予測してもよい（１０６）。例えば、エントロピーデコーディング部６０は、隣接ブロックのうちの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、隣接ブロックのうちの１つのルマ／クロマＣＢＰおよび予測モードである現在のブロックのルマ／クロマＣＢＰおよび予測モードを予測してもよい。エントロピーデコーディング部６０は、エンコードビットストリームにおけるフラグが予測モードおよびＣＢＰの予測が成功であることを示すかどうかを決定してもよい（１０８）。エンコードトストリームにおけるフラグが予測モードとＣＢＰとの予測が成功であることを示す、例えば、予測の成功を表すフラグが１と等しい場合、エントロピーデコーディング部６０は、現在のブロックの予測モードおよびＣＢＰとして、予測された予測モードおよびＣＢＰを選択してもよい（１１０）。
【０１００】
予測モードとルマ／クロマＣＢＰとの予測が不成功である、例えば、予測の成功を表すフラグがゼロと等しいとき、エントロピーデコーディング部６０は、１以上の隣接ブロックの予測モードからブロックの予測モードを予測してもよい（１１２）。例えば、隣接ブロックの少なくとも１つがイントラ１６ｘ１６ブロックタイプを有するとき、エントロピーデコーディング部６０は、隣接ブロックのうちの１つの予測モードである現在のブロックの予測モードを予測してもよい。エントロピーデコーディング部６０は、エンコードビットストリームにおけるフラグが予測モードの予測が成功であることを示すかどうかを判定する（１１４）。例えば、フラグは、予測モードの予測が成功であるとき１に設定され、予測モードの予測が不成功であるとき０に設定される。フラグが予測モードの予測が成功であることを示す場合、エントロピーデコーディング部６０は、現在のブロックの予測モードとして予測された予測モードを選択する（１１６）。
【０１０１】
現在のブロックの予測モードとして予測された予測モードを選択した後、またはフラグが予測モードの予測が不成功であることを示すとき、エントロピーデコーディング部６０は、それぞれのコーディングテーブルを用いてブロックの残りのヘッダシンタクス要素を別々にデコードする（１１８）。予測モードがうまく予測されるとき、エントロピーデコーディング部６０によってデコードされる残りのヘッダシンタクス要素は、ルマおよびクロマＣＢＰを含む。予測モードの予測が不成功であるとき、エントロピーデコーディング部６０によってデコードされる残りのヘッダシンタクス要素は、それぞれのコーディングテーブルを用いる予測モード、ルマＣＢＰ、およびクロマＣＢＰを含む（１１８）。
【０１０２】
この開示に記述された手法は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの任意の組み合わせで実装されてもよい。部（unit）またはコンポーネントとして記述された任意の特徴は、集積論理デバイスと一緒に実装されてもよいし、別個であるが相互利用可能な論理デバイスとして別々に実装されてもよい。ソフトウェアを実装する場合、その手法は、実行されたときに、上述された１以上の方法をおこなう命令を含むコンピュータ読み取り可能な媒体によって少なくとも部分的に実現されてもよい。コンピュータ読み取り可能な媒体は、包装材料を含んでもよいコンピュータプログラム製品の一部を形成してもよい。コンピュータ読み取り可能な媒体は、同期型ＤＲＡＭ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気的消去可能な読み出し専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気または光学データ記憶媒体などのようなものを含んでもよい。
【０１０３】
コードは、１以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価な集積または離散（discrete）論理回路のような、１以上のプロセッサによって実行されてもよい。したがって、ここで用いられる用語“プロセッサ”は、上述の構造のいずれかまたはここに記述された手法の実装に適する任意の他の構造を参照してもよい。加えて、いくつかの態様では、ここに記述された機能は、エンコーディングしデコーディングするように構成され、または組み合わされたビデオエンコーダデコーダ（ＣＯＤＥＣ）に組み込まれる専用のソフトウェア部またはハードウェア部内に提供されてもよい。複数の部（units）としての異なる特徴の描写は、図示されるデバイスの異なる機能的態様を強調することを意図し、そのような部が別々のハードウェアまたはソフトウェアコンポーネントによって理解されなければならないことを必ずしも暗示するわけではない。むしろ、１以上の部に関連する機能は、共通のまたは別々のハードウェアまたはソフトウェアコンポーネント内で統合されてもよい。
【０１０４】
本発明の様々な実施形態は記述されている。これらおよび他の実施形態は、以下の特許請求の範囲の範囲内である。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータをエンコーディングする方法であって、
コード単位の１以上のエンコード済み（previously encoded）ビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択し、
前記選択されたコーディングテーブルを用いて前記現在のブロックの前記シンタクス要素をエンコードすることを具備する方法。
［２］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、
前記コーディングテーブルを選択することは、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択することを具備する［１］の方法。
［３］  前記コーディングテーブルを選択することは、前記１以上のエンコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付けるコーディングテーブルを選択することを具備する［２］の方法。
［４］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［３］の方法。
［５］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記方法は、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測し、
前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在のビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功であることを示すフラグをエンコードすることをさらに具備する［１］の方法。
［６］  前記現在のビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測することは、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測することを具備し、
前記フラグをエンコードすることは、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す前記フラグをエンコードすることを具備する［５］の方法。
［７］  前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す前記フラグをエンコードし、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードすることをさらに具備する［６］の方法。
［８］  前記フラグは第１フラグであり、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にエンコードすることは、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測し、
前記予測された予測モードが前記現在のビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードすることを具備する［７］の方法。
［９］  前記コーディングテーブルを選択することは、前記現在のビデオブロックに隣接する１以上のエンコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択することを具備する［１］の方法。
［１０］  前記現在のビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも、前記現在のビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する［９］の方法。
［１１］  前記エンコードされたシンタクス要素を送信することをさらに具備する［１］の方法。
［１２］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備する［１］の方法。
［１３］  前記コード単位は、フレームおよびスライスのうちの１つを具備する［１］の方法。
［１４］  コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択する選択部と、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をエンコードするコーディング部と、を含むエンコーディング部を具備するエンコーディングデバイス。
［１５］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、
前記選択部は、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択する［１４］のデバイス。
［１６］  前記選択部は、前記１以上のエンコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付けるコーディングテーブルを選択することを具備する［１５］のデバイス。
［１７］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［１６］のデバイス。
［１８］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する予測部をさらに具備し、
前記コーディング部は、前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在のビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功であることを示すフラグをエンコードする［１４］のデバイス。
［１９］  前記予測部は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測し、
前記コーディング部は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す前記フラグをエンコードする［１８］のデバイス。
［２０］  前記コーディング部は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す前記フラグをエンコードし、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードする［１９］のデバイス。
［２１］  前記フラグは第１フラグであり、前記予測部は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測し、
前記エンコード部は、前記予測された予測モードが前記現在のビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードする［２０］のデバイス。
［２２］  前記選択部は、前記現在のビデオブロックに隣接する前記１以上のエンコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択する［１４］のデバイス。
［２３］  前記現在のビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも前記現在のビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する［２２］のデバイス。
［２４］  前記エンコードされたシンタクス要素を送信する送信機をさらに具備する［１４］のデバイス。
［２５］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備する［１４］のデバイス。
［２６］  前記コード単位は、フレームおよびスライスのうちの１つを具備する［１４］のデバイス。
［２７］  前記デバイスは、無線通信デバイスを具備する［１４］のデバイス。
［２８］  前記デバイスは、集積回路デバイスを具備する［１４］のデバイス。
［２９］  プロセッサに、
コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択させ、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をエンコードさせる命令を具備するコンピュータ読み取り可能な媒体。
［３０］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、
前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択させる命令を具備する［２９］のコンピュータ読取り可能な媒体。
［３１］  前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、前記１以上のエンコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプの少なくとも１つとを関連付けるコーディングテーブルを選択させる命令を具備する［３０］のコンピュータ読取り可能な媒体。
［３２］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［３１］のコンピュータ読み取り可能な媒体。
［３３］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記コンピュータ読み取り可能な媒体は、前記プロセッサに、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測させ、
前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在のビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功であることを示すためのフラグをエンコードさせる命令をさらに具備する［２９］のコンピュータ読み取り可能な媒体。
［３４］  前記プロセッサに前記現在のビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測させる命令は、前記プロセッサに、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測させる命令を具備し、
前記プロセッサに前記フラグをエンコードさせる命令は、前記プロセッサに、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す前記フラグをエンコードさせる命令を具備する［３３］のコンピュータ読み取り可能な媒体。
［３５］  前記プロセッサに、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示すための前記フラグをエンコードさせ、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードさせる命令をさらに具備する［３４］のコンピュータ読み取り可能な媒体。
［３６］  前記フラグは第１フラグであり、前記プロセッサに、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にエンコードさせる命令は、前記プロセッサに、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測させ、
前記予測された予測モードが前記現在のビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードさせる命令を具備する［３５］のコンピュータ読み取り可能な媒体。
［３７］  前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、前記現在のビデオブロックに隣接する１以上のエンコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択させる命令を具備する［２９］のコンピュータ読み取り可能な媒体。
［３８］  前記現在のビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも、前記現在のビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する［３７のコンピュータで読み取り可能な媒体。
［３９］  前記プロセッサに、前記エンコードされたシンタクス要素を送信させる命令をさらに具備する［２９］のコンピュータ読み取り可能な媒体。
［４０］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備する［２９］のコンピュータ読み取り可能な媒体。
［４１］  前記コード単位は、フレームおよびスライスのうちの１つを具備する［２９］のコンピュータ読み取り可能な媒体。
［４２］  コード単位の１以上のエンコード済みビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のビデオブロックのシンタクス要素をエンコードするために用いられるコーディングテーブルを選択する手段と、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をエンコードする手段と、を具備するエンコーディングデバイス。
［４３］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、前記選択手段は、前記１以上のエンコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択する［４２］のデバイス。
［４４］  前記選択手段は、前記１以上のエンコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付けるコーディングテーブルを選択する［４３］のデバイス。
［４５］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［４４］のデバイス。
［４６］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する手段をさらに具備し、
前記エンコードする手段は、前記少なくとも１つの予測されたヘッダシンタクス要素が、前記現在のビデオブロックの実際のヘッダシンタクス要素と同じである場合、前記少なくとも１つの他のヘッダシンタクス要素の前記予測が成功することを示すフラグをエンコードする［４２］のデバイス。
［４７］  前記予測手段は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測し、
前記エンコードする手段は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じである場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す前記フラグをエンコードする［４６］のデバイス。
［４８］  前記エンコードする手段は、前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰが前記現在のビデオブロックの実際の予測モード、ルマＣＢＰおよびクロマＣＢＰと同じではない場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示すための前記フラグをエンコードし、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にエンコードする［４７］のデバイス。
［４９］  前記フラグは第１フラグであり、前記予測手段は、前記１以上のエンコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測し、
前記エンコードする手段は、前記予測された予測モードが前記現在のビデオブロックの実際の予測モードと同じである場合、前記予測モードの前記予測が成功であることを示す第２フラグをエンコードする［４８］のデバイス。
［５０］  前記選択手段は、前記現在のビデオブロックに隣接する１以上のエンコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択する［４２］のデバイス。
［５１］  前記現在のビデオブロックに隣接する前記１以上のエンコード済みビデオブロックは、少なくとも前記現在のビデオブロックの直上に位置する第１のエンコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のエンコード済み隣接ビデオブロックと、を具備する［５０］のデバイス。
［５２］  前記エンコードされたシンタクス要素を送信する手段をさらに具備する［４２］のデバイス。
［５３］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備する［４２］のデバイス。
［５４］  前記コード単位は、フレームおよびスライスのうちの１つを具備する［４２］のデバイス。
［５５］  ビデオデータをデコードする方法であって、
コード単位の１以上のデコード済み（previously decoded）ビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択し、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をデコードすることを具備する方法。
［５６］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、
前記コーディングテーブルを選択することは、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択することを具備する［５５］の方法。
［５７］  前記コーディングテーブルを選択することは、前記１以上のデコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付けるコーディングテーブルを選択することを具備する［５６］の方法。
［５８］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［５７］の方法。
［５９］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記方法は、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測し、
フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在のビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択することをさらに具備する［５５］の方法。
［６０］  前記現在のビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測することは、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測することを具備し、
前記少なくとも１つの予測されたシンタクス要素を選択することは、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを選択することを具備する［５９］の方法。
［６１］  前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードすることをさらに具備する［６０］の方法。
［６２］  前記フラグは第１フラグであり、
前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にデコードすることは、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測し、
第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モードとして前記予測された予測ブロックを選択することを具備する［６１］の方法。
［６３］  前記コーディングテーブルを選択することは、前記現在のビデオブロックに隣接する１以上のデコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択することを具備する［５５］の方法。
［６４］  前記現在のビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも、前記現在のビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する［６３］の方法。
［６５］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備し、
前記コード単位は、フレームおよびスライスのうちの１つを具備する［５５］の方法。
［６６］  コード単位の１以上のデコード済みビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択する選択部と、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をデコードするデコーディング部と、を具備するデコーディングデバイス。
［６７］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、
前記選択部は、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択する［６６］のデバイス。
［６８］  前記選択部は、前記１以上のデコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付けるコーディングテーブルを選択する［６７］のデバイス。
［６９］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［６８］のデバイス。
［７０］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する予測部をさらに具備し、
前記デコーディング部は、フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在のビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択する［６７］のデバイス。
［７１］  前記予測部は、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測し、
前記デコーディング部は、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを選択する［７０］のデバイス。
［７２］  前記デコーディング部は、前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードする［７１］のデバイス。
［７３］  前記フラグは第１フラグであり、
前記予測部は、前記１以上のデコード済みビデオブロックの１つに基づいて前記現在のビデオブロックの前記予測モードを予測し、
前記デコーディング部は、第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モードとして前記予測された予測ブロックを選択する［７２］のデバイス。
［７４］  前記選択部は、前記現在のビデオブロックに隣接する１以上のデコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択する［６６］のデバイス。
［７５］  前記現在のビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも前記現在のビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する［７４］のデバイス。
［７６］  前記デバイスは無線通信デバイスを具備する［６６］のデバイス。
［７７］  前記デバイスは、集積回路デバイスを具備する［６６］のデバイス。
［７８］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備し、
前記コード単位は、フレームおよびスライスのうちの１つを具備する［６６］のデバイス。
［７９］  プロセッサに、
コード単位の１以上のデコード済みビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択させ、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をデコードさせる命令を具備するコンピュータ読み取り可能な媒体。
［８０］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択させる命令を具備する［７９］のコンピュータ読み取り可能な媒体。
［８１］  前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、前記１以上のデコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプの少なくとも１つとを関連付けるコーディングテーブルを選択させる命令を具備する［８０］のコンピュータ読み取り可能な媒体。
［８２］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［８１］のコンピュータ読み取り可能な媒体。
［８３］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記コンピュータ読み取り可能な媒体は、前記プロセッサに、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測させ、
フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在のビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択させる命令をさらに具備する［７９］のコンピュータ読み取り可能な媒体。
［８４］  前記プロセッサに前記現在のビデオブロックのうちの少なくとも１つの他のヘッダシンタクス要素を予測させる命令は、前記プロセッサに、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測させる命令を具備し、
前記プロセッサに前記少なくとも１つの予測されたシンタクス要素を選択させる命令は、前記プロセッサに、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを選択させる命令を具備する［８３］のコンピュータ読み取り可能な媒体。
［８５］  前記プロセッサに、前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードさせることをさらに具備する［８４］のコンピュータ読み取り可能な媒体。
［８６］  前記フラグは第１フラグであり、前記プロセッサに、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を別々にデコードさせる命令は、前記プロセッサに、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測させ、
第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モードとして前記予測された予測ブロックを選択させる命令を具備する［８５］のコンピュータ読み取り可能な媒体。
［８７］  前記プロセッサに前記コーディングテーブルを選択させる命令は、前記プロセッサに、前記現在のビデオブロックに隣接する１以上のデコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択させる命令を具備する［７９］のコンピュータ読み取り可能な媒体。
［８８］  前記現在のビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも、前記現在のビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する［８７］のコンピュータ読み取り可能な媒体。
［８９］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備し、
前記コード単位は、フレームおよびスライスのうちの１つを具備する［７９］のコンピュータ読み取り可能な媒体。
［９０］  コード単位の１以上のデコード済みビデオブロックの対応するシンタクス要素に基づいて、前記コード単位の現在のエンコードされたビデオブロックのシンタクス要素をデコードするために用いられるコーディングテーブルを選択する手段と、
前記選択されたコーディングテーブルを用いて前記現在のビデオブロックの前記シンタクス要素をデコードする手段と、を具備するデコーディングデバイス。
［９１］  前記現在のビデオブロックの前記シンタクス要素は、前記現在のビデオブロックのブロックタイプを具備し、
前記選択手段は、前記１以上のデコード済みビデオブロックが前記第１ブロックタイプのブロックタイプを有する場合、他のブロックタイプよりも短いコードワードと第１ブロックタイプとを関連付けるコーディングテーブルを選択する［９０］のデバイス。
［９２］  前記選択手段は、前記１以上のデコード済みビデオブロックのうちの少なくとも１つが前記第１ブロックタイプのブロックタイプを有さない場合、前記第１ブロックタイプに関連するコードワードよりも短いコードワードと前記他のブロックタイプのうちの少なくとも１つとを関連付けるコーディングテーブルを選択する［９１］のデバイス。
［９３］  前記第１ブロックタイプがイントラ１６ｘ１６ブロックタイプであり、前記他のブロックタイプは、少なくともイントラ４×４ブロックタイプおよびイントラ８×８ブロックタイプを含む［９２］のデバイス。
［９４］  前記シンタクス要素は、前記現在のビデオブロックの第１ヘッダシンタクス要素を具備し、前記デバイスは、
前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの少なくとも１つの他のヘッダシンタクス要素を予測する手段をさらに具備し、
前記デコードする手段は、フラグが前記シンタクス要素の前記予測が成功であることを示す場合、前記現在のビデオブロックの前記シンタクス要素として前記少なくとも１つの予測されたヘッダシンタクス要素を選択する［９０］のデバイス。
［９５］  前記予測手段は、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックのクロマコードブロックパターン（ＣＢＰ）、ルマＣＢＰおよび予測モードを予測し、
前記デコードする手段は、フラグが前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モード、ルマＣＢＰおよびクロマＣＢＰとして前記予測された予測モード、ルマＣＢＰおよびクロマＣＢＰを選択する［９４］のデバイス。
［９６］  前記デコードする手段は、前記フラグが、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの前記予測が不成功であることを示す場合、前記予測モード、前記ルマＣＢＰおよび前記クロマＣＢＰの各々を、別々にデコードする［９５］のデバイス。
［９７］  前記フラグは第１フラグであり、
前記予測手段は、前記１以上のデコード済みビデオブロックのうちの１つに基づいて前記現在のビデオブロックの前記予測モードを予測し、
前記デコードする手段は、第２フラグが前記予測モードの前記予測が成功であることを示す場合、前記現在のビデオブロックの前記予測モードとして前記予測された予測ブロックを選択する［９６］のデバイス。
［９８］  前記選択手段は、前記現在のビデオブロックに隣接する１以上のデコード済みビデオブロックの前記対応するシンタクス要素に基づいて、前記コーディングテーブルを選択する［９０］のデバイス。
［９９］  前記現在のビデオブロックに隣接する前記１以上のデコード済みビデオブロックは、少なくとも、前記現在のビデオブロックの直上に位置する第１のデコード済み隣接ビデオブロックと、前記現在のビデオブロックの直接左に位置する第２のデコード済み隣接ビデオブロックと、を具備する［９８］のデバイス。
［１００］  前記シンタクス要素は、ブロックタイプ、予測モード、コードブロックパターン（ＣＢＰ）およびブロック分割のうちの１つを具備し、
前記コード単位は、フレームおよびスライスのうちの１つを具備する［９０］のデバイス。
【図１】
0005925416.tif 000002
【図２】
0005925416.tif 000003
【図３】
0005925416.tif 000004
【図４】
0005925416.tif 000005
【図５】
0005925416.tif 000006
【図６】
0005925416.tif 000007
【図７】
0005925416.tif 000008