(57)【要約】  映像データのビットストリームから複数の符号化単位を復号化する方法が開示されている。この方法は、ビットストリームの第１のデータブロックから複数の符号化単位の符号化単位構造を決定する。符号化単位構造は、複数の符号化単位への符号化単位の分割を記述する。この方法は、決定された符号化単位構造に従って、ビットストリームの第２のデータブロックから複数の符号化単位に対するバイパス符号化されたデータを復号化する。この方法は、決定された符号化単位構造に従って、ビットストリームの第３のデータブロックから複数の符号化単位に対する残差データを復号化する。この方法は、その後、残差データおよびバイパス符号化されたデータを使用してビットストリームから複数の符号化単位を形成する。符号化する方法も開示されている。【選択図】  図８
2015507885.tif 000002
【特許請求の範囲】
【請求項１】
映像データのビットストリームから少なくとも１個の符号化単位を復号化する方法であって、
前記ビットストリームから、前記少なくとも１個の符号化単位への符号化単位の分割および複数の予測単位への前記少なくとも１個の符号化単位の分割を記述する前記少なくとも１個の符号化単位の符号化単位構造を決定することと、
前記決定された符号化単位構造に従って、前記ビットストリームの中の隣接符号化されたデータの第１のブロックから前記少なくとも１個の符号化単位の中の前記複数の予測単位の各々に対する算術符号化された最確モードフラグを復号化することと、
前記決定された符号化単位構造に従って、前記ビットストリームの中の隣接符号化されたデータの第２のブロックから前記少なくとも１個の符号化単位の中の前記複数の予測単位の各々に対するバイパス符号化されたデータを復号化することと、
前記最確モードフラグの各々および前記バイパス符号化されたデータに従って、前記複数の予測単位の各々に対するイントラ予測モードを決定することと、
前記決定されたイントラ予測モードを使用して前記ビットストリームから前記少なくとも１個の符号化単位を復号化することと、
を備える方法。
【請求項２】
前記バイパス符号化されたデータは、最確モードインデックスを含む、請求項１に記載の方法。
【請求項３】
前記バイパス符号化されたデータは、残留モード値を含む、請求項１に記載の方法。
【請求項４】
少なくとも１個の符号化単位を映像データのビットストリームに符号化する方法であって、
前記ビットストリームの第１のデータブロックを形成するために、前記少なくとも１個の符号化単位への符号化単位の分割および複数の予測単位への前記少なくとも１個の符号化単位の分割を記述する前記少なくとも１個の符号化単位の符号化単位構造を符号化することと、
前記少なくとも１個の符号化単位の中の前記複数の予測単位の各々に対する最確フラグを前記ビットストリームの前記第１のデータブロックの隣接符号化されたデータに算術符号化することと、
前記ビットストリームの隣接符号化されたデータの第２のデータブロックを形成するために、前記符号化単位構造に従って、前記少なくとも１個の符号化単位の中の前記複数の予測単位の各々に対するバイパス符号化されたデータを符号化することと、
前記ビットストリームの第３のデータブロックを形成するために、前記符号化単位構造に従って、前記複数の符号化単位の各々に対する残差データを符号化することと、
前記複数の符号化単位を映像データの前記ビットストリームに符号化するために、前記第１、第２および第３のデータブロックを映像データの記憶することと、
を備える方法。
【請求項５】
前記バイパス符号化されたデータは、最確モードインデックスを含む、請求項４に記載の方法。
【請求項６】
前記バイパス符号化されたデータは、残留モード値を含む、請求項４に記載の方法。
【請求項７】
映像データのビットストリームから複数の符号化単位を復号化する方法であって、
前記ビットストリームの第１のデータブロックから、前記複数の符号化単位への符号化単位の分割を記述する前記複数の符号化単位の符号化単位構造を決定することと、
前記決定された符号化単位構造に従って、前記ビットストリームの第２のデータブロックから前記複数の符号化単位に対するバイパス符号化されたデータを復号化することと、
前記決定された符号化単位構造に従って、前記ビットストリームの第３のデータブロックから前記複数の符号化単位に対する残差データを復号化することと、
前記残差データおよび前記バイパス符号化されたデータを使用して前記ビットストリームから前記複数の符号化単位を形成することと、
を備える方法。
【請求項８】
前記決定された符号化単位構造に従って前記第２のデータブロックのサイズを決定することをさらに備える、請求項７に記載の方法。
【請求項９】
現在符号化単位がより小さい符号化単位より大きいとき、分割値フラグが前記ビットストリームから復号化され、前記現在符号化単位が最小符号化単位とサイズが等しい場合、前記分割値フラグが零であると推定されるように前記分割フラグ値を決定することをさらに備える、請求項７に記載の方法。
【請求項１０】
前記符号化単位構造がリーフノードにあるか否かを決定するために、前記決定された分割フラグ値を使用することをさらに備える、請求項９に記載の方法。
【請求項１１】
前記ビットストリームは、精細粒度スライスが最大符号化単位に対して有効にされていないとき、前記方法が前記最大符号化単位（ＬＣＵ）に適用されるように、ならびに、前記精細粒度スライスが前記最大符号化単位に対して有効にされているとき、前記方法が精細粒度スライス閾値とサイズが等しい各細分符号化単位に適用されるように、各最大符号化単位の開始時に前記精細粒度スライス有効フラグを符号化する、請求項７に記載の方法。
【請求項１２】
前記複数の符号化単位のうちの符号化単位の残留モードが可変長符号を使用して符号化され、前記方法は、前記符号化単位に関連付けられた最確モードフラグ値と予測単位サイズとに基づいて最小長さを計算することをさらに備える、請求項７に記載の方法。
【請求項１３】
前記複数の符号化単位の残留モードが可変長符号を使用して符号化され、前記方法は、前記複数の符号化単位に関連付けられた前記符号化単位構造、最確モードフラグ値、および予測単位サイズに基づいて、最小長さを計算することをさらに備える、請求項７に記載の方法。
【請求項１４】
前記バイパス符号化されたデータの長さが未知であるとき、前記方法は、少なくともいくつかのバイパス符号化されたデータを含むデータのセグメントを決定するために前記ビットストリームにアクセスすることと、前記データのセグメントから最確モードインデックスおよび残留モードを復号化することと、全てのバイパス符号化されたデータが前記データのセグメントから復号化されたとき、累計長さがその後に前記ビットストリームから消費されるように、前記復号化されたデータの前記累計長さを定めることと、をさらに備える、請求項７に記載の方法。
【請求項１５】
複数の符号化単位を映像データのビットストリームに符号化する方法であって、
前記ビットストリームの第１のデータブロックを形成するために、前記複数の符号化単位への符号化単位の分割を記述する前記複数の符号化単位の符号化単位構造を符号化することと、
前記ビットストリームの第２のデータブロックを形成するために、前記符号化単位構造に従って、前記複数の符号化単位に対するバイパス符号化されたデータを符号化することと、
前記ビットストリームの第３のデータブロックを形成するために、前記符号化単位構造に従って、前記複数の符号化単位に対する残差データを符号化することと、
前記複数の符号化単位を映像データの前記ビットストリームに符号化するために、前記第１、第２および第３のデータブロックを記憶することと、
を備える方法。
【請求項１６】
前記符号化単位構造を符号化するために分割フラグを前記第１のデータブロックに記憶することをさらに備える、請求項１５に記載の方法。
【請求項１７】
前記第１のブロックを算術符号化することをさらに備える、請求項１５に記載の方法。
【請求項１８】
前記第２のブロックをバイパス符号化することをさらに備える、請求項１５に記載の方法。
【請求項１９】
請求項１〜１８のいずれか１項に記載の方法による映像データのビットストリームに関連付けられている符号化単位を処理するように構成されているコンピュータ化装置。
【請求項２０】
請求項１〜１８のいずれか１項に記載の方法を実行するためにコンピュータ化装置によって実行可能であるプログラムが記録されているコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、広くは、デジタル映像信号処理に、特に、正方形形状または非正方形形状を有することがある変換単位（ＴＵ）の残差係数を符号化および復号化する方法、装置およびシステムに関する。
【背景技術】
【０００２】
映像データの伝送および蓄積用のアプリケーションを含む映像符号化用の多くのアプリケーションが今では存在する。多くの映像符号化規格も開発され、その他が現在のところ開発中である。映像符号化標準化の進展は、「映像符号化共同研究部会（ＪＣＴ−ＶＣ）」と呼ばれるグループの形成をもたらした。映像符号化共同研究部会（ＪＣＴ−ＶＣ）は、映像符号化専門家グループ（ＶＣＥＧ）としても知られている国際電気通信連合（ＩＴＵ）の電気通信標準化部門（ＩＴＵ−Ｔ）の研究グループ１６、課題６（ＳＧ１６／Ｑ６）のメンバーと、動画像専門家グループ（ＭＰＥＧ）としても知られている国際標準化機構／国際電気標準会議  共同技術委員会１／小委員会２９／作業グループ１１（ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１）のメンバーとを含む。
【０００３】
映像符号化共同研究部会（ＪＣＴ−ＶＣ）は、「Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ」として知られる現在存在する映像符号化規格を遥かに凌ぐために新しい映像符号化規格を作るという目標がある。Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ規格は、それ自体が、ＭＰＥＧ−４およびＩＴＵ−Ｔ  Ｈ．２６３のような以前の映像符号化規格の大幅な改善である。開発中の新しい映像符号化規格は、「高効率映像符号化（ＨＥＶＣ）」と呼ばれている。映像符号化共同研究部会ＪＣＴ−ＶＣは、高効率映像符号化（ＨＥＶＣ）のため提案されたテクノロジーに起因し、高解像度または高フレームレートで動作させるために規格の拡張実施をするときに困難さを生み出す実施課題も検討している。
【０００４】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ映像符号化標準の高圧縮効率を達成するために困難な１つの分野は、映像データを表現するために使用される残差係数の符号化である。映像データは、各フレームがサンプルの２次元アレイを有しているフレームの系列により形成される。一般的に、フレームは、１つの輝度チャンネルおよび２つの色度チャンネルを含む。各フレームは、１個以上のスライスに分解される。各スライスは、１個以上の最大符号化単位（ＬＣＵ）を格納している。最大符号化単位（ＬＣＵ）は、６４個の輝度サンプルのような、エッジ次元が２のべき乗であり、等しい幅および高さを有する固定サイズを有している。開発中の高効率映像符号化（ＨＥＶＣ）規格の１つの特徴は、「精細粒度スライス」である。精細粒度スライス特徴が有効にされたとき、スライス境界は、最大符号化単位（ＬＣＵ）境界に制限されない。精細粒度スライスは、ビットストリームレベルで有効にされることがある。
【０００５】
符号化ツリーは、各最大符号化単位（ＬＣＵ）を４個の均等サイズの領域に細分することを可能とし、各領域は、親最大符号化単位（ＬＣＵ）の幅および高さの半分を有している。１つ１つの領域は、４個の均等サイズの領域にさらに細分されることがある。領域がさらに細分されない場合、領域の全体を占める符号化単位が存在する。このような細分化プロセスは、領域のサイズが最小符号化単位（ＳＣＵ）サイズに達するまで再帰的に適用されることがあり、最小符号化単位（ＳＣＵ）のサイズが符号化単位（ＣＵ）であると推測される。最大符号化単位の符号化単位の階層への再帰的細分は、四分木構造を有し、符号化木と呼ばれる。符号化単位（ＣＵ）または領域は、「深さ」として知られた特性を有し、この深さは、細分化の階層の中のレベルの観点からこれらの符号化ツリーの位置のことを指す。この細分化プロセスは、算術符号化されたフラグとしてビットストリームの中で符号化される。精細粒度スライスが有効にされたとき、スライス境界が存在することがある符号化単位の最小サイズを決定する閾値が特定される。
【０００６】
符号化単位の組は、これらの符号化単位が符号化ツリーのリーフノードを占めるので、さらに細分されない符号化ツリーの中に存在する。変換ツリーは、これらの符号化単位に存在する。変換ツリーは、符号化ツリーのため使用されるように四分木構造を使用して符号化単位をさらに分解する。この変換ツリーのリーフノードで、残差データが変換単位（ＴＵ）を使用して符号化される。符号化ツリーとは違って、変換ツリーは、符号化単位を、非正方形形状を有している変換単位に細分することがある。さらに、変換ツリー構造は、変換単位（ＴＵ）が親符号化単位によって提供されるエリアの全てを占めることを必要とすることはない。
【０００７】
符号化ツリーのリーフノードでの各符号化単位は、１つずつが予測単位（ＰＵ）として知られている予測データサンプルの１つ以上のアレイに細分される。各予測単位（ＰＵ）は、イントラ予測プロセスまたはインター予測プロセスを適用することにより導出された入力フレームデータの一部分の予測を格納している。いくつかの方法が、符号化単位（ＣＵ）内部の予測単位（ＰＵ）を符号化するため使用されることがある。単一の予測単位（ＰＵ）は、符号化単位（ＣＵ）のエリア全体を占めることがあり、符号化単位（ＣＵ）は、水平方向または垂直方向のいずれかで２個の均等サイズの矩形状予測単位（ＰＵ）に分けられることがある。更に、符号化単位（ＣＵ）は、４個の均等サイズの正方形予測単位（ＰＵ）に分けられることがある。
【０００８】
映像符号器は、映像データをシンタックス要素の系列に変換することにより映像データをビットストリームに圧縮する。コンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）スキームは、ＭＰＥＧ４−ＡＶＣ／Ｈ．２６４映像圧縮標準に規定された算術符号化スキームと同一の算術符号化スキームを使用して、開発中の高効率映像符号化（ＨＥＶＣ）標準の内部に規定される。開発中の高効率映像符号化（ＨＥＶＣ）標準では、コンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）が使用されているとき、各シンタックス要素は、利用可能なビンの組から選択されたビンの系列として表現される。利用可能なビンの組は、１個のビン当たり１個のコンテキストで、コンテキストモデルから取得される。各コンテキストは、算術符号化または復号化演算のための尤もらしいビン値（「ｖａｌＭＰＳ」）および確率状態を保持する。ビンは、コンテキストとの関連がないバイパス符号化されてもよいことに注意すべきである。バイパス符号化されたビンは、ビットストリームの中で１ビットを費やし、その結果、値１であるか、または、値０であるかの確率が等しいビンに適している。シンタックス要素からこのようなビンの系列を作成することは、シンタックス要素を「２値化すること」として知られている。
【０００９】
映像符号器または映像復号器において、別個のコンテキスト情報が各ビンに対して利用可能であるため、ビンに対するコンテキスト選択は、符号化効率を改善する手段を提供する。特に、符号化効率は、関連したコンテキスト情報が使用された前のビンのインスタンスからの統計的特性が現在のビンのインスタンスの統計的特性と相関させるように、特有のビンを選択することにより改善されることがある。このようなコンテキスト選択は、最適コンテキストを決定するために空間的局所情報を頻繁に利用する。
【００１０】
開発中の高効率映像符号化（ＨＥＶＣ）標準およびＨ．２６４／ＭＰＥＧ−４  ＡＶＣでは、現在ブロックの予測は、他のフレームから、または、前に復号化された現在ブロックの内部の近傍領域からのいずれかからの参照サンプルに基づいて導出される。予測サンプルデータと所望サンプルデータとの間の差は、残差として知られている。残差の周波数ドメイン表現は、残差係数の２次元アレイである。表現法により、２次元アレイの左上隅は、低周波数情報を表す残差係数を格納している。
【００１１】
開発中の高効率映像符号化（ＨＥＶＣ）標準のスループットの一態様は、高ビットレートで映像データを符号化または復号化する能力に関係する。開発中の高効率映像符号化（ＨＥＶＣ）標準で採用されたコンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）スキームは、「バイパス符号化」と呼ばれる「等確率」動作モードをサポートする。このモードでは、ビンは、コンテキストモデルからのコンテキストに関連付けられていないので、コンテキストモデル更新ステップが存在しない。このモードでは、各ビンがスループットを増加させるバイパス符号化されている場合、ビットストリームから複数の隣接するビンを並列に読み取ることが可能である。例えば、ハードウェア実装は、ビットストリームを符号化／復号化するスループットを増加させるために、隣接するバイパス符号化されたデータのグループを並列に書き込む／読み取ることがある。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、既存の配置構成の１つ以上の不利点を実質的に解決する、または、少なくとも改善することである。
【課題を解決するための手段】
【００１３】
本発明の一態様によれば、映像データのビットストリームから複数の符号化単位を復号化する方法であって、ビットストリームの第１のデータブロックから、複数の符号化単位への符号化単位の分割を記述する複数の符号化単位の符号化単位構造を決定することと、決定された符号化単位構造に従って、ビットストリームの第２のデータブロックから複数の符号化単位に対するバイパス符号化されたデータを復号化することと、決定された符号化単位構造に従って、ビットストリームの第３のデータブロックから複数の符号化単位に対する残差データを復号化することと、
残差データおよびバイパス符号化されたデータを使用してビットストリームから複数の符号化単位を形成することと、を備える方法が提供される。
【００１４】
望ましくは、この方法は、決定された符号化単位構造に従って第２のデータブロックのサイズを決定することをさらに備える。
【００１５】
好ましくは、この方法は、現在符号化単位がより小さい符号化単位より大きいとき、分割値フラグがビットストリームから復号化され、現在符号化単位が最小符号化単位とサイズが等しい場合、分割値フラグが零であると推定されるように分割フラグ値を決定することをさらに有する。この実施形態は、符号化単位構造がリーフノードにあるか否かを決定するために、決定された分割フラグ値を使用することをさらに有しても良い。
【００１６】
別の実施形態では、ビットストリームは、精細粒度スライスが最大符号化単位に対して有効にされていないとき、この方法が最大符号化単位（ＬＣＵ）に適用されるように、そして、精細粒度スライスが最大符号化単位に対して有効にされているとき、この方法が精細粒度スライス閾値とサイズが等しい各細分符号化単位に適用されるように、各最大符号化単位の開始時に精細粒度スライス有効フラグを符号化する。
【００１７】
好ましくは、複数の符号化単位のうちの符号化単位の残留モードが可変長符号を使用して符号化され、前記方法は、符号化単位に関連付けられた最確モードフラグ値と予測単位サイズとに基づいて最小長さを計算することをさらに備える。
【００１８】
望ましくは、複数の符号化単位の残留モードは、可変長符号を使用して符号化され、上記方法は、複数の符号化単位に関連付けられた符号化単位構造、最確モードフラグ値、および予測単位サイズに基づいて、最小長さを計算することをさらに備える。
【００１９】
有利な点として、バイパス符号化されたデータの長さが未知であるとき、この方法は、少なくともいくつかのバイパス符号化されたデータを格納しているデータのセグメントを決定するためにビットストリームにアクセスすることと、データのセグメントから最確モードインデックスおよび残留モードを復号化することと、全てのバイパス符号化されたデータがデータのセグメントから復号化されたとき、累計長さがその後にビットストリームから消費されるように、復号化されたデータの累計長さを規定することと、をさらに備える。
【００２０】
本開示の別の態様によれば、複数の符号化単位を映像データのビットストリームに符号化する方法であって、ビットストリームの第１のデータブロックを形成するために、複数の符号化単位への符号化単位の分割を記述する複数の符号化単位の符号化単位構造を符号化することと、ビットストリームの第２のデータブロックを形成するために、符号化単位構造に従って、複数の符号化単位に対するバイパス符号化されたデータを符号化することと、ビットストリームの第３のデータブロックを形成するために、符号化単位構造に従って、複数の符号化単位に対する残差データを符号化することと、複数の符号化単位を映像データのビットストリームに符号化するために、第１、第２および第３のデータブロックを記憶することと、を備える方法が提供される。
【００２１】
望ましくは、この方法は、符号化単位構造を符号化するために分割フラグを第１のデータブロックに記憶することをさらに備える。
【００２２】
好ましくは、この方法は、第１のブロックを算術符号化することをさらに備える。
【００２３】
有利な点として、この方法は、第２のブロックをバイパス符号化することをさらに備える。
【００２４】
別の態様によれば、映像データのビットストリームから少なくとも１つの符号化単位を復号化する方法であって、ビットストリームから、少なくとも１つの符号化単位への符号化単位の分割および複数の予測単位への少なくとも１つの符号化単位の分割を記述する少なくとも１つの符号化単位の符号化単位構造を決定することと、決定された符号化単位構造に従って、ビットストリームの中の隣接符号化されたデータの第１のブロックから少なくとも１つの符号化単位の中で複数の予測単位の１つずつに対する算術符号化された最確モードフラグを復号化することと、決定された符号化単位構造に従って、ビットストリームの中の隣接符号化されたデータの第２のデータブロックから少なくとも１つの符号化単位の中で複数の予測単位の１つずつに対するバイパス符号化されたデータを復号化することと、最確モードフラグおよびバイパス符号化されたデータに従って複数の予測単位の１つずつに対するイントラ予測モードを決定することと、決定されたイントラ予測モードを使用してビットストリームから少なくとも１つの符号化単位を復号化することと、を備える方法が開示される。
【００２５】
好ましくは、バイパス符号化されたデータは、最確モードインデックスを格納している。バイパス符号化されたデータは、代替的または付加的に残留モード値を格納していることがある。
【００２６】
その他の態様がさらに開示される。
【００２７】
本発明の少なくとも１つの実施形態が次に添付図面を参照して説明される。
【図面の簡単な説明】
【００２８】
【図１】映像符号器の機能モジュールを示す概略ブロック図である。
【図２】映像復号器の機能モジュールを示す概略ブロック図である。
【図３（Ａ）】図１の符号器が実施される汎用コンピュータシステムの概略ブロック図である。
【図３（Ｂ）】図２の復号器が実施される汎用コンピュータシステムの概略ブロック図である。
【図４】エントロピー符号器の機能モジュールを示す概略ブロック図である。
【図５】エントロピー復号器の機能モジュールを示す概略ブロック図である。
【図６（Ａ）】最大符号化単位（ＬＣＵ）の例を示す概略ブロック図である。
【図６（Ｂ）】最大符号化単位（ＬＣＵ）の例を示す概略ブロック図である。
【図６（Ｃ）】最大符号化単位（ＬＣＵ）の例を示す概略ブロック図である。
【図７】最大符号化単位（ＬＣＵ）の例を表す従来型のビットストリームを示す概略ブロック図である。
【図８】最大符号化単位（ＬＣＵ）の例を表す本開示によるビットストリームを示す概略ブロック図である。
【図９】図８のビットストリームに類似したビットストリームの最大符号化単位（ＬＣＵ）のシンタックス要素を復号化する本開示による方法を示す概略フローチャートである。
【図１０】ビットストリームの最大符号化単位（ＬＣＵ）のシンタックス要素を復号化する本開示による要約された方法を示す概略フローチャートである。
【図１１】最大符号化単位（ＬＣＵ）のシンタックス要素を符号化する本開示による方法を示す概略フローチャートである。
【図１２】ビットストリームの最大符号化単位（ＬＣＵ）のシンタックス要素を符号化する本開示による要約された方法を示す概略フローチャートである。
【図１３】構文解析する本開示による代替的な方法によって生成された最大符号化単位（ＬＣＵ）の例を表すビットストリームを示す概略ブロック図である。
【図１４】最大符号化単位（ＬＣＵ）のシンタックス要素を復号化する本開示による代替的な方法を示す概略フローチャートである。
【図１５】最大符号化単位（ＬＣＵ）の内部のスライス境界と共に最大符号化単位（ＬＣＵ）の例を示す概略ブロック図である。
【図１６】精細粒度スライス（ＦＧＳ）が有効な状態で構文解析する方法によって生成された最大符号化単位（ＬＣＵ）の例を表すビットストリームを示す概略ブロック図である。
【図１７】最大符号化単位（ＬＣＵ）のシンタックス要素を復号化する本開示によるさらなる代替的な方法を示す概略フローチャートである。
【発明を実施するための形態】
【００２９】
添付図面のいずれか１つ以上では、同じ参照番号がステップおよび／または特徴に付けられているが、これらのステップおよび／または特徴は、別段の意図が示されない限り、本説明の目的のため、同じ機能または動作を有している。
【００３０】
図１は、映像符号器１００の機能モジュールを示す概略ブロック図である。図２は、対応する映像復号器２００の機能モジュールを示す概略ブロック図である。映像符号器１００および映像復号器２００は、図３Ａおよび３Ｂに示されるように、汎用コンピュータシステム３００を使用して実施され、様々な機能モジュールがコンピュータシステム３００の内部の専用ハードウェアによって、コンピュータシステム３００の内部で実行可能なソフトウェアによって、または、専用ハードウェアとコンピュータシステム３００の内部で実行可能なソフトウェアとの組合せによって実施されることがある。
【００３１】
図３Ａに有るように、コンピュータシステム３００は、コンピュータモジュール３０１と、キーボード３０２、マウスポインタ機器３０３、スキャナ３２６、カメラ３２７、およびマイクロホン３８０のような入力機器と、プリンタ３１５、ディスプレイ機器３１４およびスピーカ３１７を含む出力機器とを含む。コンピュータモジュール３０１は外部変調器−復調器（モデム）送受信機器３１６を用いて、接続３２１を介して通信ネットワーク３２０との間で通信する。通信ネットワーク３２０は、インターネット、セルラ電気通信ネットワーク、またはプライベートＷＡＮのようなワイド・エリア・ネットワーク（ＷＡＮ）でもよい。接続３２１が電話回線である場合、モデム３１６は、従来型の「ダイヤルアップ」モデムでもよい。または、接続３２１が大容量（例えば、ケーブル）接続である場合、モデム３１６は、ブロードバンドモデムでもよい。ワイヤレスモデムは、通信ネットワーク３２０へのワイヤレス接続のため使用されることもある。
【００３２】
コンピュータモジュール３０１は、一般的に、少なくとも１台のプロセッサユニット３０５とメモリユニット３０６とを含む。例えば、メモリユニット３０６は、半導体ランダム・アクセス・メモリ（ＲＡＭ）および半導体リード・オンリー・メモリ（ＲＯＭ）を有する。コンピュータモジュール３０１は、映像ディスプレイ３１４、スピーカ３１７およびマイクロホン３８０につながる音声−映像インターフェース３０７と、キーボード３０２、マウス３０３、スキャナ３２６、カメラ３２７および場合によってはジョイスティックまたは他のヒューマンインターフェース機器（図示せず）につながるＩ／Ｏインターフェース３１３と、外部モデム３１６およびプリンタ３１５のためのインターフェース３０８とを含むある程度の個数の入力／出力（Ｉ／Ｏ）インターフェースをさらに含む。いくつかの実施例では、モデム３１６は、コンピュータモジュール３０１の内部、例えば、インターフェース３０８の内部に組み込まれることがある。コンピュータモジュール３０１は、接続３２３を介したローカル・エリア・ネットワーク（ＬＡＮ）として知られているローカル・エリア通信ネットワーク３２２へのコンピュータシステム３００の結合を可能にするローカル・ネットワーク・インターフェース３１１をさらに有している。図３Ａに示されるように、ローカル通信ネットワーク３２２は、接続３２４を介して、一般的には、いわゆる「ファイアウォール」機器または同様の機能の機器を含むことになるワイドネットワーク３２０にさらにつながる。ローカル・ネットワーク・インターフェース３１１は、Ｅｔｈｅｒｎｅｔ（登録商標）回路カード、Ｂｌｕｅｔｏｏｔｈ（登録商標）ワイヤレス配置、またはＩＥＥＥ  ８０２．１１ワイヤレス配置を備えることがあるが、しかし、多数の他のタイプのインターフェースがインターフェース３１１のため実施されることがある。
【００３３】
Ｉ／Ｏインターフェ−ス３０８および３１３は、直列と並列のいずれかまたは両方の接続することができ、前者は、一般的に、ユニバーサル・シリアル・バス（ＵＳＢ）規格に従って実施され、対応するＵＳＢコネクタ（図示せず）を有している。記憶機器３０９が設けられ、一般的に、ハード・ディスク・ドライブ（ＨＤＤ）３１０を含む。フロッピー（登録商標）・ディスク・ドライブおよび磁気テープドライブ（図示せず）のような他の記憶機器もまた使用されることがある。光学ディスクドライブ３１２は、一般的に、不揮発性データ供給源としての役目を果たすように設けられている。例えば、光学ディスク（例えば、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、ＵＳＢ−ＲＡＭ、ポータブル外付けハードドライブ、およびフロッピー（登録商標）ディスクのようなポータブルメモリ機器は、システム３００への適切なデータ源として使用されることがある。一般的に、ＨＤＤ３１０、光学ドライブ３１２、ネットワーク３２０および３２２、またはカメラ３２７のうちのいずれもが符号化される映像データの送信元でもよく、または、ディスプレイ３１４と共に、記憶もしくは再生される復号化された映像データの宛先でもよい。
【００３４】
コンピュータモジュール３０１のコンポーネント３０５から３１３は、一般的に、相互接続型バス３０４を介して、そして、当業者に公知のコンピュータシステム３００の従来型の動作モードをもたらすように通信する。例えば、プロセッサ３０５は、接続３１８を使用してシステムバス３０４に連結されている。同様に、メモリ３０６および光学ディスクドライブ３１２は、接続３１９によってシステムバス３０４に連結されている。上述の配置が実施されることが可能なコンピュータの実施例は、ＩＢＭ−ＰＣおよび互換機、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎ、Ａｐｐｌｅ  Ｍａｃ（登録商標）、または同様のコンピュータシステムを含む。
【００３５】
適切または必要な場合、符号器１００および復号器２００は、後述の方法と同様にコンピュータシステム３００を使用して実装され、符号器１００と、復号器２００と、後述される図１０および図１１のプロセスとは、コンピュータシステム３００の内部で実行可能である１つ以上のソフトウェア・アプリケーション・プログラム３３３として実装されることがある。具体的には、符号器１００、復号器２００、および記載された方法のステップは、コンピュータシステム３００の内部で実行されるソフトウェア３３３の中の命令３３１（図３Ｂを参照）によって達成される。ソフトウェア命令３３１は、１つずつが１つ以上の特有のタスクを実行する１つ以上のコードモジュールとして形成されることがある。ソフトウェアは、２つの別個の部分に分割されることもあり、第１の部分および対応するコードモジュールが記載された方法を実行し、第２の部分および対応するコードモジュールが第１の部分とユーザとの間のユーザインターフェースを管理する。
【００３６】
ソフトウェアは、例えば、後述の記憶装置を含むコンピュータ読み取り可能な媒体に記憶される。ソフトウェアは、コンピュータ読み取り可能な媒体からコンピュータシステム３００に取り込まれ、その後、コンピュータシステム３００によって実行される。このようなソフトウェアまたはコンピュータプログラムが記録されているコンピュータ読み取り可能な媒体は、コンピュータ・プログラム・プロダクトである。コンピュータシステム３００におけるコンピュータ・プログラム・プロダクトの使用は、好ましくは、符号器１００、復号器２００および記載された方法を実施する有利な装置を達成する。
【００３７】
ソフトウェア３３３は、一般的に、ＨＤＤ３１０またはメモリ３０６に記憶される。ソフトウェアは、コンピュータ読み取り可能な媒体からコンピュータシステム３００に取り込まれ、コンピュータシステム３００によって実行される。このようにして、例えば、ソフトウェア３３３は、光学ディスクドライブ３１２によって読み取られる光学的に読み取り可能なディスク記憶媒体（例えば、ＣＤ−ＲＯＭ）３２５に記憶される。
【００３８】
いくつかの例では、アプリケーションプログラム３３３は、１つ以上のＣＤ−ＲＯＭ３２５に符号化されてユーザに供給され、対応する機器３１２を介して読み取られても良いし、または、ネットワーク３２０もしくは３２２からユーザによって読み取られても良い。さらに、ソフトウェアは、他のコンピュータ読み取り可能な媒体からコンピュータシステム３００に取り込まれても良い。コンピュータ読み取り可能な記憶媒体は、記録された命令および／またはデータを実行および／または処理のためコンピュータシステム３００に提供する何らかの非一時的な実体のある記憶媒体のことを指す。このような記憶媒体の実施例は、フロッピー（登録商標）ディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ハード・ディスク・ドライブ、ＲＯＭもしくは集積回路、ＵＳＢメモリ、磁気光学ディスク、または、ＰＣＭＣＩＡカードなどのようなコンピュータ読み取り可能なカードを含み、これらの機器がコンピュータモジュール３０１の内部であるか、または、外部であるかを問わない。ソフトウェア、アプリケーションプログラム、命令および／または映像データもしくは符号化された映像データのコンピュータモジュール３０１への供給にも関与する一時的または実体のないコンピュータ読み取り可能な伝送媒体の実施例は、無線もしくは赤外線伝送チャンネルと、別のコンピュータもしくはネットワーク型機器へのネットワーク接続と、電子メール送信およびウェブサイトなどに記録された情報を含むインターネットもしくはイントラネットとを含む。
【００３９】
前述のアプリケーションプログラム３３３の第２の部分および対応するコードモジュールは、ディスプレイ３１４に描写または表現される１つ以上のグラフィカル・ユーザ・インターフェース（ＧＵＩ）を実施するために実行される。一般的にキーボード３０２およびマウス３０３の操作を通じて、コンピュータシステム３００とアプリケーションのユーザは、制御コマンドおよび／または入力をＧＵＩに関連付けられたアプリケーションに提供するために機能的に適合できるようにインターフェースを操作しても良い。スピーカ３１７を介して出力された音声プロンプトと、マイクロホン３８０を介して入力されたユーザ音声コマンドとを利用する音声インターフェースのような他の形式の機能的に適合できるユーザインターフェースがさらに実施されても良い。
【００４０】
図３Ｂは、プロセッサ３０５および「メモリ」３３４の詳細概略ブロック図である。メモリ３３４は、図３Ａにおけるコンピュータモジュール３０１によってアクセスされる可能性がある（ＨＤＤ３０９および半導体メモリ３０６を含む）全てのメモリモジュールの論理的集合体を表わす。
【００４１】
コンピュータモジュール３０１が最初に電源投入されたとき、電源投入自己テスト（ＰＯＳＴ）プログラム３５０が動く。ＰＯＳＴプログラム３５０は、一般的に図３Ａの半導体メモリ３０６のＲＯＭ３４９に記憶される。ソフトウェアを記憶するＲＯＭ３４９のようなハードウェア機器は、時にはファームウェアと呼ばれることがある。ＰＯＳＴプログラム３５０は、適切な機能動作を保証するためにコンピュータモジュール３０１の内部のハードウェアを試験し、一般的に、正しい動作のためプロセッサ３０５、メモリ３３４（３０９、３０６）、および、一般的にＲＯＭ３４９に記憶されている基本入力−出力システムソフトウェア（ＢＩＯＳ）モジュール３５１を点検する。ＰＯＳＴプログラム３５０が動作に成功すると、ＢＩＯＳ３５１は、図３Ａのハード・ディスク・ドライブ３１０を作動させる。ハード・ディスク・ドライブ３１０の作動は、ハード・ディスク・ドライブ３１０に常駐するブートストラップ・ローダ・プログラム３５２をプロセッサ３０５によって実行させる。これは、オペレーティングシステム３５３をＲＡＭメモリ３０６に取り込み、この後にオペレーティングシステム３５３は、動作を開始する。オペレーティングシステム３５３は、システム・レベル・アプリケーションであり、プロセッサ管理、メモリ管理、機器管理、記憶装置管理、ソフトウェア・アプリケーション・インターフェース、および汎用ユーザインターフェースを含む様々な高レベル機能を実現させるためにプロセッサ３０５によって実行可能である。
【００４２】
オペレ−ティングシステム３５３は、コンピュータモジュール３０１で動いている各プロセスまたはアプリケーションが別のプロセスに割り当てられたメモリと衝突することなく実行するために十分なメモリを有していることを保証するためにメモリ３３４（３０９、３０６）を管理する。さらに、図３Ａのシステム３００で利用可能な異なるタイプのメモリは、各プロセスが効率的に動くように適切に使用されるべきである。その結果、集合的なメモリ３３４は、（特に断らない限り）メモリの特定のセグメントが割り当てられる方法を示すことではなく、むしろ、コンピュータシステム３００によってアクセス可能なメモリの一般的な見方と、このようなメモリが使用される方法とを与えることが意図されている。
【００４３】
図３Ｂに示されるように、プロセッサ３０５は、制御ユニット３３９、算術論理ユニット（ＡＬＵ）３４０、および、時にはキャッシュメモリと呼ばれるローカルまたは内部メモリ３４８を含む多くの機能モジュールを含む。キャッシュメモリ３４８は、一般的に、レジスタセクションに多数の記憶レジスタ３４４〜３４６を含む。１本以上の内部バス３４１は、これらの機能モジュールを機能的に相互接続する。プロセッサ３０５は、一般的に、接続３１８を使用して、システムバス３０４を介して外部機器と通信する１つ以上のインターフェース３４２を有している。メモリ３３４は、接続３１９を使用してバス３０４に連結されている。
【００４４】
アプリケーションプログラム３３３は、条件付き分岐およびループ命令を含むことがある一連の命令３３１を含む。プログラム３３３は、プログラム３３３の実行中に使用されるデータ３３２をさらに含む。命令３３１およびデータ３３２は、メモリ位置３２８、３２９、３３０および３３５、３３６、３３７にそれぞれ記憶される。命令３３１とメモリ位置３２８〜３３０との相対的なサイズに依存して、特有の命令がメモリ位置３３０に示された命令によって表されるように単一のメモリ位置に記憶される。または、命令は、多くのの部分にセグメント化され、メモリ位置３２８および３２９に示された命令セグメントによって表されるように、各部分が別個のメモリ位置に記憶されても良い。
【００４５】
一般に、プロセッサ３０５は、このプロセッサの内部で実行される命令セットが与えられる。プロセッサ３０５は、後に続く入力を待ち、プロセッサ３０５は、別の命令セットを実行することによりこの入力に反応する。各入力は、図３Ａに全てが表された、入力機器３０２、３０３のうちの１つ以上によって生成されたデータ、ネットワーク３２０、３０２のうちの１つを経由して外部供給源から受信されたデータ、記憶機器３０６、３０９のうちの１つから取り出されたデータ、または、対応する読み取り装置３１２に挿入された記憶媒体３２５から取り出されたデータを含む多数の供給源のうちの１つ以上から提供される。命令セットの実行により、データが出力されることがある。命令セットの実行は、データまたは変数をメモリ３３４に記憶することを伴うこともある。
【００４６】
符号器１００、復号器２００および記載された方法は、対応するメモリ位置３５５、３５６、３５７でメモリ３３４に記憶されている入力変数３５４を使用する。符号器１００、復号器２００および記載された方法は、メモリ３３４の対応するメモリ位置３６２、３６３、３６４に記憶される出力変数３６１を生成する。中間変数３５８は、メモリ位置３５９、３６０、３６６および３６７に記憶される。
【００４７】
図３Ｂのプロセッサ３０５を参照すると、レジスタ３４４、３４５、３４６、算術論理ユニット（ＡＬＵ）３４０、および制御ユニット３３９は、プログラム３３３を構成する命令セットの中のあらゆる命令の「フェッチ、デコード、および実行」サイクルを実行するために必要とされるマイクロ動作のシーケンスを実行するために協働する。各フェッチ、デコード、および実行サイクルは、
（ａ）メモリ位置３２８、３２９、３３０から命令３３１をフェッチまたは読み取るフェッチ動作と、
（ｂ）制御ユニット３３９がどちらの命令がフェッチされたかを決定するデコード動作と、
（ｃ）制御ユニット３３９および／またはＡＬＵ３４０が命令を実行する命令動作と、
を含む。
【００４８】
その後、次の命令のためのさらなるフェッチ、デコード、および実行サイクルが実行される。同様に、記憶サイクルは、制御ユニット３３９が値をメモリ位置３３２に記憶または書き込むことにより実行される。
【００４９】
後述される図１から図１７のプロセスにおける各ステップまたはサブプロセスは、プログラム３３３の中の１つ以上のセグメントに関連付けられ、一般的に、プログラム３３３の中の上記のセグメントのための命令セットの中のあらゆる命令に対するフェッチ、デコードおよび実行サイクルを実行するために協働するプロセッサ３０５内のレジスタセクション３４４、３４５、３４７と、ＡＬＵ３４０と、制御ユニット３３９とによって実行される。
【００５０】
符号器１００、復号器２００および前記方法は、記載された方法の機能またはサブ機能を実行する１台以上の集積回路のような専用ハードウェアで代替的に実施されても良い。このような専用ハードウェアは、グラフィックプロセッサ、デジタル信号プロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、または１台以上のマイクロプロセッサおよび関連したメモリを含んでも良い。前記システムの正味の結果は、映像データのビットストリームに関連付けられた符号単位を処理するように構成されているコンピュータ化装置である。
【００５１】
前述のとおり、映像符号器１００は、ハード・ディスク・ドライブ３０５に常駐し、プロセッサ３０５によってこれの実行中に制御されるソフトウェア・アプリケーション・プログラム３３３の１つ以上のソフトウェア・コード・モジュールとして実施されても良い。特に、映像符号器１００は、それぞれがソフトウェア・アプリケーション・プログラム３３３の１つ以上のソフトウェア・コード・モジュールとして実施されるモジュール１０２〜１１２、１１４および１１５を備える。
【００５２】
図１の映像符号器１００は、高効率映像符号化（ＨＥＶＣ）映像復号化パイプラインの一つの実施例であるが、モジュール１０２〜１１２、１１４および１１５によって実行される処理段は、ＶＣ−１またはＨ．２６４／ＭＰＥＧ−４  ＡＶＣのような他の映像コーデックに共通している。映像符号器１００は、符号化されていないフレームデータ１０１を輝度および色度サンプルを含む一連のフレームとして受信する。映像符号器１００は、フレームデータ１０１の各フレームを、例えば、符号化単位（ＣＵ）ツリーとして表現可能である符号化単位（ＣＵ）の階層的な組に分割する。
【００５３】
映像符号器１００は、マルチプレクサモジュール１１０から、予測単位（ＰＵ）１２０として知られている予測データサンプルのアレイを出力することにより動作する。差分モジュール１１５は、予測単位（ＰＵ）１２０とフレームデータ１０１から受信された対応するデータサンプルのアレイとの間の差分を出力する。この差分は、残差データサンプル１２２として知られている。
【００５４】
差分モジュール１１５からの残差データサンプル１２２は、変換モジュール１０２によって受信され、変換モジュールは、変換ツリーの中の各変換単位（ＴＵ）に対する変換係数１２４を作成するために空間表現から周波数ドメイン表現に差分を変換する。開発中の高効率映像符号化（ＨＥＶＣ）標準のため、周波数ドメイン表現への変換は、従来型のＤＣＴをシフトおよび加算を使用して実施されるように修正した修正離散コサイン変換（ＤＣＴ）を使用して実施される。変換係数１２４は、次に、スケールおよび量子化モジュール１０３に入力され、残差係数１２６を生成するためにスケーリングされ、量子化される。スケールおよび量子化プロセスは、精度の損失を招く。残差係数１２６は、残差係数１２６の再スケーリングバージョンである再スケーリングされた変換係数１２８を生成するためにスケールおよび量子化モジュール１０３によって実行されたスケーリングを逆転させる逆スケーリングモジュール１０５への入力として考えられる。残差係数１２６はさらに、符号化されたビットストリーム１１３の中の残差係数を符号化するエントロピー符号器モジュール１０４への入力として考えられる。スケールおよび量子化モジュール１０３の結果として生じる精度の損失のため、再スケーリングされた変換係数１２８は、元の変換係数１２４と同一ではない。逆スケーリングモジュール１０５からの再スケーリングされた変換係数１２８は、その後、逆変換モジュール１０６へ出力される。逆変換モジュール１０６は、復号器で生成された空間ドメイン表現と同一である再スケーリングされた変換係数１２８の空間ドメイン表現１３０を生成するために、周波数ドメインから空間ドメインへの逆変換を実行する。
【００５５】
動き推定モジュール１０７は、フレームデータ１０１をメモリ３０６の内部に構成されているフレーム・バッファ・モジュール１１２に記憶された前のフレームデータと比較することにより動きベクトル１３２を生成する。動きベクトル１３２は、その後、動きベクトル１３２から導出された空間オフセットを考慮して、フレーム・バッファ・モジュール１１２に記憶されたサンプルをフィルタリングすることによりインター予測された参照サンプル１３４を生成する動き補償モジュール１０８に入力される。図１に示されないが、動きベクトル１３２は、符号化されたビットストリーム１１３における符号化のためのエントロピー符号器モジュール１０４にシンタックス要素としてさらに送られる。イントラフレーム予測モジュール１０９は、マルチプレクサモジュール１１０の出力１２０と逆変換モジュール１０６からの出力１３０とを合計する合計モジュール１１４から取得されたサンプル１３８を使用してイントラ予測参照サンプル１３６を生成する。
【００５６】
予測単位（ＰＵ）は、イントラ予測またはインター予測方法を使用して符号化されることがある。イントラ予測またはインター予測を使用するか否かに関する決定は、結果として生じる符号化されたビットストリーム１１３の所望のビットレートとイントラ予測またはインター予測のいずれかによって取り入れられた画像品質歪みとの間でレートと歪みのどちらを取るかに従って行われる。イントラ予測が使用される場合、１つのイントラ予測モードが同様にレートと歪みのどちらを取るかに従って、可能なモードの組の中から選択される。１つのイントラ予測モードは、予測単位毎に選択される。高効率映像符号化（ＨＥＶＣ）テストモデル５．０（ＨＭ−５．０）は、３５個のイントラ予測モードをサポートするが、全てのイントラ予測モードが全ての予測単位サイズのため使用できるわけではない。例えば、８×８予測単位は、選択のため利用可能である３５個のイントラ予測モードを有することがあり、４×４予測単位は、ある実施例では、選択に利用可能である１８個のイントラ予測モードを有することがあり、他の実施形態では、選択に利用可能である１９個のモードを有することがある。マルチプレクサモジュール１１０は、図示されないが、技術的に周知である制御論理により決定された現在の予測モード１４２に依存して、イントラフレーム予測モジュール１０９からのイントラ予測された参照フレーム１３６、または、動き補償ブロック１０８からのインター予測された参照フレーム１３４のいずれかを選択する。予測モード１４２は、エントロピー符号器１０４にさらに供給され、従って、記載されるように変換単位の走査順序を決定するか、または、さもなければ、確立するために使用される。インターフレーム予測は、斜め走査順序だけを使用するが、イントラフレーム予測は、斜め走査、平行走査、または垂直走査順序を使用することがある。
【００５７】
合計モジュール１１４は、デブロッキング・フィルタ・モジュール１１１に入力される合計１３８を生成する。デブロッキング・フィルタ・モジュール１１１は、ブロック境界に沿ってフィルタリングを実行し、メモリ３０６の内部に構成されたフレーム・バッファ・モジュール１１２に書き込まれた非ブロック化されたサンプル１４０を生成する。フレーム・バッファ・モジュール１１２は、将来の参照のため複数の過去のフレームからのデータを保持するために十分な容量をもつバッファである。
【００５８】
映像符号器１００では、１つの変換単位（ＴＵ）の内部の残差データサンプル１２２は、入力フレームデータ１０１のデータサンプルと入力フレームデータ１０１のデータサンプルの予測１２０との間の差分を検出することにより決定される。この差分は、変換単位（ＴＵ）の残差係数の空間表現を提供する。
【００５９】
変換単位（ＴＵ）の残差係数は、２次元有意度マップに変換される。
【００６０】
変換単位（ＴＵ）の中の残差係数の有意度マップは、その後、有意度係数フラグのリストと呼ばれるフラグ値の１次元リストを形成するために走査順序として知られている特有の順序で走査される。走査順序は、イントラ予測モジュール１０９から予測モード１４２で受信された走査パターンのような走査パターンによって記載されるか、または、そうではない場合、特定されることがある。走査パターンは、水平、垂直、斜めまたはジグザグでもよい。高効率映像符号化（ＨＥＶＣ）テストモデルの第５版は、逆方向に走査を実行するが、しかし、順方向の走査もまた可能である。１６×１６、３２×３２、４×１６、１６×４、８×３２、および３２×８変換単位（ＴＵ）に対し、変換単位（ＴＵ）がサブブロックの組に分割され、各サブブロックが正方形形状を有している２−レベル走査が規定される。上位レベルでは、走査は、逆方向斜め左下走査のような走査を使用して各下位レベルを走査することにより実行される。サブブロックレベルとしても知られている下位レベルでは、走査は、逆方向斜め左下走査のような走査を使用してさらに実行される。ＨＥＶＣ参照モデル第５．０版では、走査動作は、最後の有意係数の後に１個の残差係数を開始し（ここで、「〜の後に」は、残差係数の逆方向走査の方向である）、有意度マップの左上位置に到達するまで進む。この特性を有し、ＨＥＶＣ参照モデル第５．０版に一致する走査動作は、「逆方向走査」として知られている。ＨＥＶＣ参照ソフトウェア第５．０版では、最後の有意係数の位置が変換単位（ＴＵ）の中の係数の座標を符号化することによりシグナル通知される。この技術に精通している者は、この文脈における形容詞「最後の」の使用が特有の走査順序に依存していることが分かるであろう。ある走査パターンに従って、「最後の」非零残差係数、または、対応する値１である有意係数フラグは、別の走査パターンによっては「最後の」ものではないことがある。最後の有意係数より先行する各残差係数の有意性を示す重要係数フラグのリストは、ビットストリームに符号化される。最後の有意係数フラグの位置に先行する符号化は、この残差係数が重要であったことを暗黙的に示すので、最後の有意係数フラグ値は、ビットストリームに明示的に符号化されるために必要とされない。
【００６１】
変換単位（ＴＵ）の左上に向かってより大きい値をもつ残差係数のクラスタリングは、有意であるリストの中の前方で最有意フラグをもたらし、一方、有意フラグは、このリストの後方で殆ど見つからない。
【００６２】
前述のとおり、映像符号器１００は、エントロピー符号化方法を実施するエントロピー符号器モジュール１０４をさらに備える。エントロピー符号器モジュール１０４は、スケールおよび量子化モジュール１０３から受信された次の残差係数データ（または残差係数）１２６からシンタックス要素を生成する。エントロピー符号器モジュール１０４は、符号化されたビットストリーム１１３を出力する。  より詳細には後述する。開発中の高効率映像符号化（ＨＥＶＣ）規格に対し、符号化されたビットストリーム１１３は、ネットワーク抽象化層（ＮＡＬ）単位に境界が画定される。フレームの各スライスは、１個のＮＡＬ単位に収容されている。
【００６３】
エントロピー符号器モジュール１０４で実施されるエントロピー符号化方法のいくつかの代替案が存在する。開発中の高効率映像符号化（ＨＥＶＣ）規格は、コンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣにおいて見られるコンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）の変形をサポートする。代替的なエントロピー符号化スキームは、当分野で周知の確率区間分割エントロピー（ＰＩＰＥ）符号器である。
【００６４】
複数の映像符号化方法をサポートする映像符号器１００に対し、サポートされるエントロピー符号化方法のうちの１つが符号器１００の構成に従って選択される。さらに、各フレームからの符号化単位の符号化中に、エントロピー符号器モジュール１０４は、各スライスがフレームの一部分に対する画像データを格納している状態で各フレームが１フレーム当たりに１つ以上のスライスを有するように、符号化されたビットストリーム１１３を書き込む。１フレーム当たりに１つのスライスを生成することによって、各スライス境界を画定することに関連付けられたオーバーヘッドが削減される。しかし、フレームを複数のスライスに分割することも可能である。
【００６５】
図２の映像復号器２００は、ハード・ディスク・ドライブ３０５に常駐し、プロセッサ３０５によってこれの実行中に制御されるソフトウェア・アプリケーション・プログラム３３３の１つ以上のソフトウェア・コード・モジュールとして実装されることがある。具体的には、映像復号器２００は、それぞれがソフトウェア・アプリケーション・プログラム３３３の１つ以上のソフトウェア・コード・モジュールとして実施されることがあるモジュール２０２〜２０８、および２１０を含む。映像復号器２００は、高効率映像符号化（ＨＥＶＣ）映像復号化パイプラインを参照して説明されているが、モジュール２０２〜２０８、および２０９によって実行される処理段は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ、ＭＰＥＧ−２およびＶＣ−１のようなエントロピー符号化を採用する他の映像コーデックに共通している。
【００６６】
符号化されたビットストリーム１１３のような符号化されたビットストリームは、映像復号器２００によって受信される。符号化されたビットストリーム１１３は、メモリ３０６、ハード・ディスク・ドライブ３１０、ＣＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、または、他のコンピュータ読み可能な記憶媒体から読み取られても良い。または、符号化されたビットストリーム１１３は、通信ネットワーク３２０に接続されているサーバ、または、無線周波数受信機のような外部供給源から受信されても良い。符号化されたビットストリーム１１３は、復号化されるフレームデータを表す符号化されたシンタックス要素を含む。
【００６７】
符号化されたビットストリーム１１３は、エントロピー復号器モジュール２０２に入力され、エントロピー復号器は、符号化されたビットストリーム１１３からシンタックス要素を抽出し、シンタックス要素の値を映像復号器２００内の他のブロックに送る。エントロピー符号器モジュール１０４を参照して説明されているようなエントロピー復号器モジュール２０２で実施される複数のエントロピー復号化方法が存在することがある。残差係数データを表現しているシンタックス要素データ２２０は、逆スケールおよび変換モジュール２０３に送られ、動きベクトル情報を表現しているシンタックス要素データ２２２は、動き補償モジュール２０４に送られる。逆スケールおよび変換モジュール２０３は、再構成された変換係数を作成するために残差係数データについて逆スケーリングを実行する。モジュール２０３は、その後、再構成された変換係数を周波数ドメイン表現から空間ドメイン表現に変換するために逆変換を実行し、逆変換モジュール１０６を参照して説明された逆変換のような残差サンプル２２４を生成する。
【００６８】
動き補償モジュール２０４は、出力された、復号化されたフレームデータの予測である予測単位（ＰＵ）に対するインター予測された参照サンプル２２８を生成するために、メモリ３０６の内部に構成されたフレーム・バッファ・ブロック２０８からの前のフレームデータ２２６と組み合わされた、エントロピー復号器モジュール２０２からの動きベクトルデータ２２２を使用する。シンタックス要素が現在の符号化単位がイントラ予測を使用して符号化されたことを示す場合、イントラフレーム予測モジュール２０５は、予測単位（ＰＵ）に空間的に隣接しているサンプルを使用して予測単位（ＰＵ）に対するイントラ予測された参照サンプル２３０を生成する。空間的に隣接しているサンプルは、合計モジュール２１０から出力された合計２３２から取得される。マルチプレクサモジュール２０６は、符号化されたビットストリーム１１３の中のシンタックス要素によって指示された現在の予測モードに依存して、予測単位（ＰＵ）に対するイントラ予測された参照サンプルまたはインター予測された参照サンプルを選択する。マルチプレクサモジュール２０６から出力されたサンプル２３４のアレイは、合計２３２を生成するために合計モジュール２１０によって逆スケールおよび変換モジュール２０３からの残差サンプル２２４に加算され、この合計は、その後、デブロッキング・フィルタ・モジュール２０７およびイントラフレーム予測モジュール２０５のそれぞれに入力される。符号器１００とは対照的に、イントラフレーム予測モジュール２０５は、エントロピー復号器２０２から予測モード２３６を受信する。マルチプレクサ２０６は、エントロピー復号器２０２からイントラフレーム予測／インターフレーム予測選択信号を受信する。デブロッキング・フィルタ・モジュール２０７は、データブロック境界に沿って見えるアーティファクトを平滑化するためにデータブロック境界に沿ってフィルタリングを実行する。デブロッキング・フィルタ・モジュール２０７の出力は、メモリ３０６の内部に構成されたフレーム・バッファ・モジュール２０８に書き込まれる。フレーム・バッファ・モジュール２０８は、将来の参照のため複数の復号化されたフレームを保持するために十分な記憶装置を提供する。復号化されたフレーム２０９は、フレーム・バッファ・モジュール２０８からさらに出力される。
【００６９】
エントロピー符号器１０４は、図４を参照して説明する。残差係数４０１のようなシンタックス要素は、２値化モジュール４０４に入力される。変換単位（ＴＵ）サイズ４０２は２値化モジュール４０４に入力される。変換単位（ＴＵ）のサイズを示す変換単位（ＴＵ）サイズが符号化される。走査パターン４０３は、２値化モジュール４０４に入力される。２値化モジュール４０４は、各シンタックス要素をビンの系列に２値化する。各ビンは、ビン値４０６およびコンテキストインデックス４０５を備える。ビン値４０６およびコンテキストインデックス４０５は、コンテキストモデル４０７によって受信され、コンテキストモデルは、コンテキストインデックス４０５に従って選択されたコンテキスト４０８を出力する。コンテキスト４０８は、ビン値４０５に従って更新される。コンテキスト４０８を更新する方法は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣにおけるコンテキスト適応バイナリ算術符号化（ＣＡＢＡＣ）によって使用される方法に対応する。バイナリ算術符号器４０９は、ビンを符号化されたビットストリーム１１３に符号化するためにコンテキスト４０８およびビン値４０６を使用する。
【００７０】
エントロピー復号器２０２は、図５を参照して説明される。変換単位（ＴＵ）サイズ５０２および走査パターン５０１は、逆２値化モジュール５０３によって受信される。逆２値化モジュール５０３は、２値化モジュール４０４の逆演算を実行することにより残差係数５０９を出力する。コンテキストインデックス５０４は、復号化されるビン毎に逆２値化モジュール５０３から出力される。コンテキストモデル５０５は、コンテキストインデックス５０４によって選択されたコンテキスト５０６を出力する。バイナリ算術復号器５０７は、コンテキスト５０６を使用して符号化されたビットストリーム１１３からビン値５０８を復号化する。ビン値５０８は、コンテキストモデル５０５によって受信され、コンテキスト５０６を更新するために使用される。ビン値５０８は、逆２値化モジュール５０３によってさらに受信される。
【００７１】
最大符号化単位（ＬＣＵ）６００の例を、図６Ａを参照して説明する。最大符号化単位（ＬＣＵ）６００は、６４×６４輝度サンプルの正方形形状を有している。最大符号化単位６００は、符号化単位１  ６０１から符号化単位１０  ６０８に再帰的に細分される。最大符号化単位（ＬＣＵ）６００の分割は、最大符号化単位（ＬＣＵ）を格納している領域を１つずつが親領域の垂直および水平寸法の半分を有し、全体で親領域の面積を完全に占める４個の均等サイズの正方形形状の重なり合いのない領域へ再帰的分割することを可能にする階層レベルを利用する。領域がより小さい領域にこれ以上細分されなくなると、その領域を完全に占める符号化単位が存在する。細分化の特定のレベルで、領域サイズは、最小符号化単位（ＳＣＵ）として知られているサイズに等しくなり、この時点で、さらなる細分化は、不可能か、または、そうでなければ、表現法または実用性により禁止されることがある。開発中の高効率映像符号化（ＨＥＶＣ）規格に対し、最小符号化単位（ＳＣＵ）サイズは、８×８輝度サンプルとして構成される。各符号化単位は、いくつかの可能なサイズのうちの１つを有し、例えば、符号化単位１  ６０１は、サイズ３２×３２を有し、符号化単位２  ６０２は、サイズ１６×１６を有し、符号化単位４  ６０３は、サイズ８×８を有している。開発中の高効率映像符号化（ＨＥＶＣ）規格で使用される選択された最大符号化単位（ＬＣＵ）サイズおよび最小符号化単位（ＳＣＵ）サイズに依存して、他の符号化単位サイズがさらに可能である。
【００７２】
最大符号化単位（ＬＣＵ）６００の細分は、図６Ｂを参照してさらに説明される。ここで、最大符号化単位（ＬＣＵ）６０４の領域で、分割が発生し、最大符号化単位（ＬＣＵ）の領域を領域６０５のような４個の均等サイズの領域に分割する。次の分割は、領域６０７のような４個のさらに小さい領域を与えるために使用される。領域サイズが領域６０６のような最小符号化単位（ＳＣＵ）の寸法に達すると、さらなる分割は、不可能である。さらなる分割が発生しない各領域で、一つの符号化単位が、その領域を完全に占める。
【００７３】
図６Ｂの最大符号化単位（ＬＣＵ）６０４は、図６Ｃに示されるように階層符号化ツリー６３０としても表現されることがある。最大符号化単位（ＬＣＵ）を表すために階層ツリーを使用するとき、符号化単位の１つずつは、リーフノードを形成することになり、さらなる細分領域を格納している領域は、非リーフノードを形成することになる。ツリー６３０のルートノード６３２は、図６Ｂの領域６０４に基づき、６４×６４サンプルを表すレベルにある。ルートノードの下には、領域６０５のような３２×３２サンプルの領域を表す第２層がある。図６Ａの符号化単位１は、リーフノード６３４として表現され、符号化単位２〜８を含む領域は、非リーフノード６４０によって表現される。サイズ１６×１６をもつ領域は、ツリー６３０の第３層に示され、リーフノード６３６が符号化単位２を表現し、図６Ｂの領域６０７は、非リーフノード６４２として表現されている。ツリー６３０の第４層および最終層は、リーフノード６３８によって表現されている符号化単位４  ６０３を含む領域６０６のようなサイズ８×８をもつ領域を表す。ツリーの中の符号化単位のサイズがツリーの深さが増加するのにつれて減少することは、上記から明らかである。
【００７４】
後で詳述されるように、分割フラグは、領域が最大符号化単位（ＬＣＵ）におけるリーフノードであることを指示するために使用される。符号化ツリー６３０は、最大符号化単位（ＬＣＵ）の符号化構造を表す１つの方式であると考えられる。
【００７５】
従来型の方式で最大符号化単位（ＬＣＵ）６００を符号化するビットストリーム７００は、図６および図７を参照して説明する。映像の画像フレームは、１スライス毎に多くの最大符号化単位（ＬＣＵ）を有していることがあるので、符号化されたビットストリーム１１３のような符号化されたビットストリームは、図７に示されたビットストリーム７００の多くのインスタンスを備えることがある。図７は、「Ｓ」というマークが付けられたセグメントが算術符号化された分割フラグを有し、「Ａ」というマークが付けられたセグメントが１個以上の算術符号化された、２値化されたシンタックス要素またはこれの一部（群）を有し、「Ｂ」というマークが付けられたセグメントが１個以上のバイパス符号化された、２値化されたシンタックス要素またはこれの一部（群）を有し、「Ａ、Ｂ」というマークが付けられたセグメントが算術符号化とバイパス符号化との混合を使用して符号化された、１個以上の２値化されたシンタックス要素を格納するように、符号化された、２値化されたシンタックス要素を表現する表現法を採用する。ビットストリーム７００は、スライスが一般的に一体として連結された複数の最大符号化単位（ＬＣＵ）で構成されているので、符号化されたビットストリーム１１３の一部を表現している。ＬＣＵ寸法の整数倍ではないフレームサイズに対して、分割フラグの推定は、符号化単位を通過するフレーム境界を防止する。フレーム境界を超えることになる符号化単位は、ビットストリームの中に符号化されていない。符号化単位１  ６０１は、ビットストリーム７００の中のビットストリームコンポーネント１  ７０１に符号化されている。符号化単位２〜符号化単位１０は、同様に、ビットストリーム７００中のビットストリーム成分２からビットストリーム成分１０に符号化されている。
【００７６】
分割フラグは、領域が分けられていることを示すために使用され、フラグ値１は、領域が分けられていることを示し、フラグ値０は、領域が分けられていないことを示す。分けられている領域は、４個の均等サイズの重なり合いのないさらに小さい領域に細分され、これらの小さい領域が親領域の全体を集合的に占める。所定の最小符号化単位（ＳＣＵ）とサイズが等しい領域はどれでも、この領域が細分化されないことを示すために分割フラグに対して値０が推定される。最小符号化単位のサイズより大きい領域はどれでも、分割フラグが符号化されることを必要とする。
【００７７】
分割フラグ７０９は、最大符号化単位（ＬＣＵ）６００の領域６０４が領域６０５のような４個の３２×３２領域に分割されることを示す。分割フラグ７１０は、領域６０５がさらに分割されないことを示す。符号化単位４  ６０３は、最小符号化単位（ＳＣＵ）であるので、さらなる分割は、可能ではない。その結果、分割フラグは、符号化単位４〜７の各々に対して符号化されない。しかし、領域６０７が細分されていることを示すために値が１である分割フラグが存在する。領域６０７に対する分割フラグ７１１は、符号化単位４  ６０３の前に位置している。
【００７８】
ビットストリームコンポーネント１  ７０１は、算術符号化とバイパス符号化との混合を使用して２値化されたシンタックス要素を含んでいる。算術符号化された予測モード７０３は、符号化単位１  ６０１がインター予測を使用するか、または、イントラ予測を使用するかを決定する。符号化単位がイントラ予測を使用する場合、算術符号化された最確モードフラグ７０４は、イントラ予測のための最確モードが使用されるか、または、イントラ予測モードの符号化のための代替的なスキームが使用されるかを符号化する。最確モードが使用中である場合、イントラ予測モード符号７０５は、１ビットの長さで最確モードインデックスをバイパス符号化する。最確モードインデックスは、イントラ予測の２つの所定の最確モードのうち符号化単位のため使用されるのがどちらであるかを決定する。最確モードが使用されない場合、イントラ予測モード符号７０５は、符号化単位のためのイントラ予測モードを特定する残留モードを符号化する。イントラ予測モード符号７０５は、残留モードのため５または６ビットの長さを有しても良い。データブロック７０６は、符号化単位６０１の内部の１つ以上の変換単位に対して算術およびバイパス符号化を使用する。ビットストリームコンポーネント１  ７０１は、符号化単位１を復号化するために必要とされる全てのシンタックス要素を有している。同様に、ビットストリームコンポーネント２〜１０は、各々符号化単位２〜１０をそれぞれ復号化するために必要とされるシンタックス要素を有している。
【００７９】
最大符号化単位（ＬＣＵ）６００を符号化する本開示によるビットストリーム８００を、図６および８を参照して説明する。図８は、符号化された、２値化されたシンタックス要素を表現するため図７の表現法を採用する。ビットストリーム８００は、最大符号化単位（ＬＣＵ）６００を符号化する符号化されたビットストリーム１１３の一部を表す。ビットストリーム８００は、第１の詳細レベル８２０で見ることができる３個の部分、すなわち、符号化単位１〜１０の符号化単位構造に関する情報を集める算術符号化された第１のデータブロック８０１と、符号化単位１〜１０に対するイントラ予測モードに関する情報を集めるバイパス符号化された第２のデータブロック８０２と、符号化単位１〜１０に対する算術符号化とバイパス符号化の両方がなされたデータを格納し、残差データの情報を集める第３のデータブロック８０３とを有している。ビットストリーム７００と異なり、ビットストリーム８００の３つの部分のうちの１つずつは、符号化単位１〜１０に関する情報を有していても良い。
【００８０】
算術符号化された第１のデータブロックは、好ましくは、分割フラグと、予測モードと、イントラ予測が使用されているとき、必要に応じて符号化単位１から１０に対する最確モード情報とを記憶するために使用される。第１のデータブロックは、図８におけるビットストリーム８００の第２の詳細レベル８３０でさらに詳細に示されている。第２の詳細レベル８３０で表されるように、第１の分割フラグ８１３は、最大符号化単位（ＬＣＵ）６００の領域６０４が領域６０５のような４個の３２×３２領域に分割されていることを示すために値１を有している。分割フラグ８０７は、領域６０５にさらなる分割がないことを示すために値０を有している。予測モード８０８は、符号化単位１がインター予測を使用するか、または、イントラ予測を使用するかを示すために値を符号化する。符号化単位１がイントラ予測を使用するとき、最確モードフラグ８０９は、最確モードまたは残留モードのいずれかが符号化単位のイントラ予測のため使用されたか否かを示す。分割フラグのさらなるインスタンスに対して、予測モード値および最確モードフラグは、最大符号化単位（ＬＣＵ）６００の符号化単位２〜１０を表すためにビットストリーム部分８０４で符号化される。最初に、分割フラグ８１３と、分割フラグ８０７と、予測モード８０８と、最確モードフラグ８０９と、ビットストリーム部分８０４とが全部で、算術符号化されたシンタックス要素を除いて構成されるビットストリーム部分８０１の一部を形成する。
【００８１】
第２のデータブロック８０２は、符号化単位１  ６０１がイントラ予測を使用するときにビットストリーム８００の中に存在するバイパスデータ８１０を含んでいる。イントラ符号化が使用中であり、かつ、最確モードフラグ８０９が最確モードは使用されていることを示すとき、バイパスデータ８１０は、２つの最確モードのうちの１つの使用を符号化するインデックスである。インデックスは、１ビットの固定長を占める。または、イントラ予測が使用され、最確モードフラグ８０９が、残留モードが使用されていることを示すとき、バイパスデータ８１０は、３３種類の異なる残留イントラ予測モード（３５個の可能なイントラ予測モードのうち、２個の最確モードが除外され、残り３３個の残留モードがそのままにされる）のうちの１つの使用を符号化するインデックスである。この場合、バイパスデータ８１０は、符号化されたイントラ予測モードに依存して、５ビットまたは６ビットのいずれかの長さを有している。バイパスデータ８１０の長さまたはサイズは、符号化単位構造によって確立された、バイパスデータ８１０の最初の５ビットから決定されても良い。最初の５ビットを検査した後に６番目のビットがビットストリームから必要とされるか否かを決定することが可能である。インター予測が符号化単位１  ６０１のため使用されているとき、バイパスデータ８１０は、ビットストリーム８００から省かれる。バイパスデータ８１０のさらなるインスタンスは、符号化単位２〜１０のうちの少なくとも１個がイントラ予測を使用する場合、バイパス・データ・ブロック８０５の中に符号化単位２〜１０のため存在する。バイパス・データ・ブロック８０２は、要求されたとき、バイパスデータ８１０およびバイパス・データ・ブロック８０５を符号化する。
【００８２】
第３のデータブロック８０３は、算術およびバイパス符号化されたデータブロック８１１としてさらに詳細に表されている。データブロック８１１は、映像データを発生させるために予測モード情報と共に使用される可能性がある変換単位のための残差係数を格納している符号化単位１  ６０１の内部で１個以上の変換単位を符号化する。算術符号化されたスライスフラグ８１２の終端が図７を参照して説明されたのと同じ条件で存在する。
【００８３】
ビットストリーム８００を復号化する方法９００を、図６、８および９を参照して説明する。方法９００は、ビットストリーム８００を受信し、ビットストリーム８００の中の符号化単位の復号化を可能にするために３個のデータブロックを処理する。方法９００は、分割フラグ８０７のような分割フラグの値が決定される分割フラグ値決定ステップ９０１で始まる。符号化単位が最小符号化単位（ＳＣＵ）より大きいとき、分割フラグ値は、ビットストリーム８００からの分割フラグを復号化することにより決定される。符号化単位が符号化単位４  ６０６のような最小符号化単位（ＳＣＵ）とサイズが等しいとき、分割フラグ値は、零であると推定される。
【００８４】
分割フラグの値は、その後、符号化単位構造が現時点でリーフノードにあるか否かを決定するために使用される。分割フラグ値が零である場合、リーフ・ノード・テスト・ステップ９０２は、符号化単位予測モードステップ９０３に制御を渡す。そうではない場合、リーフ・ノード・テスト・ステップ９０２は、制御を分割フラグ値決定ステップ９０１に戻し、図６Ｂに関連して前述されたツリー６３０のような符号化ツリーの中の現在レベルより１レベル低いレベルにある領域を示すために符号化ツリーの深さが増加されている。領域は、深さ優先方式で符号化ツリーを処理することによりラスタ走査順序で処理される。ラスタ走査順序の処理は、図６Ａの符号化単位１〜１０が順序正しく処理されることを確実にする。
【００８５】
符号化単位予測モードステップ９０３は、予測モード値を決定する。予測モード値は、予測モード８０８のような予測モードを復号化することにより決定される。予測モードは、符号化単位のため使用される予測モードと符号化単位を１つ以上の予測単位に分割するために使用される分割モードとを両方共に特定する。可能な分割モードは、Ｎ×Ｎまたは２Ｎ×２Ｎである。分割モードがＮ×Ｎである場合、符号化単位は、それぞれが予測モードを含む４個の予測単位に分割される。分割モードが２Ｎ×２Ｎである場合、符号化単位は、一つだけ予測単位を含んでいる。Ｎ×Ｎおよび２Ｎ×２Ｎ分割モードは、結果として正方形形状の予測単位となる。他の分割モード、例えば、２Ｎ×ＮおよびＮ×２Ｎが同様に可能であり、結果として矩形形状予測単位となる。イントラ予測またはインター予測は、符号化単位レベルで特定され、従って、Ｎ×Ｎに対して、全部で４個の予測単位は、イントラ予測ということになるが、各予測単位は、異なるイントラ予測モードを有していることがあり、それ故に、各予測単位は、別個の最確モード（ＭＰＭ）フラグおよび予測モードを有していることに注意すべきである。方法９００は、一つの予測単位を有している各符号化単位に関連して一般的に説明されているが、方法９００は、複数の予測単位を格納している符号化単位をカバーするように拡張されても良い。
【００８６】
分割フラグ値が零であり、かつ、符号化単位に対する予測モード値がイントラ予測を特定する場合、ＭＰＭフラグステップ９０４は、最確モードフラグ値を決定する。最確モードフラグ値は、図８の最確モードフラグ８０４のような最確モードフラグを復号化することにより決定される。これ以上のノードテストステップ９０５は、最大符号化単位（ＬＣＵ）のうちの最後の符号化単位に到達したか否かを決定する。到達した場合、制御をイントラ予測モード決定ステップ９０６に渡す。到達しない場合、制御を分割フラグ値決定ステップ９０１に戻す。
【００８７】
図６の符号化単位１  ６０１のような３２×３２イントラ予測符号化単位に対して、符号化単位は、符号化単位の分割モードに依存して、１個、２個または４個の予測単位のいずれかを含んでいても良い。ステップ９０６および９０７は、ステップ９０１から９０５において決定された符号化単位構造について反復する。イントラ予測モード決定ステップ９０６は、以下のとおり予測単位に対するイントラ予測モードを決定する。予測単位に対する最確モードフラグ値が、最確モデルが使用されたことを示す場合、１ビット最確モードインデックス値がバイパス復号化を使用してビットストリーム８００から復号化される。１ビット最確モードインデックス値は、２個の可能な最確モードのうちのどちらの１つが使用中であるかを示す。そうではない場合、最確モードフラグ値は、残留モードの使用を示し、残留モード値は、バイパス復号化を使用してビットストリーム８００から復号化される。有効イントラ予測モード値の個数と、可変長符号の範囲とは、予測単位のサイズに依存している。所定の予測単位サイズに対する利用可能なイントラ予測モードの中で、残留モードの個数は、利用可能なモードの個数から最確モードの個数を減算したものに等しい。残留モードの個数が２のべき乗である場合、残留モードは、固定長符号を使用され、そうではない場合、可変長符号が使用される。例えば、１８個の利用可能なイントラ予測モードおよび２個の最確モードを含むイントラ予測された４×４予測単位は、１６個の残留モードを有し、その結果、残留モードを符号化するために４ビット符号を使用する。また、１９個の利用可能なイントラ予測モードおよび２個の最確モードを含むイントラ予測された４×４予測単位は、１７個の残留モードを有し、その結果、残留モードを符号化するために４または５ビット符号を使用する。例えば、２個の最確モードを含むイントラ予測された８×８予測単位は、３３個の残留モードを有し、その結果、５ビットまたは６ビットのいずれかの可変長符号を使用する。一実施形態では、可変長符号は、残留モードのため使用された可変長符号の長さを決定するために少なくとも十分な個数のビンを読み取ることにより復号化される。このような予測単位に対して、６番目のビットが復号化される必要があるか否かを決定するために５ビットを復号化することが可能である。その結果、２回目の読み取りが復号化された十分なビットに基づいて残留モードの後に続く部分を復号化するために行われる。他の実施形態には、最確モードフラグの後に符号化され、予測単位が所定の残留モードを使用することを示す算術符号化された残留モードフラグを導入する。所定の残留モード、例えば、「Ｐｌａｎａｒイントラ予測」が使用されていない場合、他の残留モードのうちの１つがバイパス符号化された残留モードシンタックス要素を使用して符号化される。例えば、イントラ予測された４×４予測単位が２個の最確モードおよび１個の所定の残留モードを含む１９個の利用可能なモードを有している場合、固定長４ビット残留モードシンタックス要素を使用して符号化されることがある１６個の他の残留モードが存在する。同様に、イントラ予測された８×８予測単位が２個の最確モードおよび１個の���定の残留モードを含む３５個の利用可能なモードを有している場合、固定長５ビット残留モードシンタックス要素を使用して符号化される３２個の他の残留モードが存在する。残留モードまたは他の残留モードの個数が２のべき乗である場合、固定長符号は、使用された残留モードまたは他の残留モードを符号化するために十分である。予測単位に対するイントラ予測モードは、その後、最確モードフラグ値と、最確モードインデックス値および残留モード値のいずれか一方とを使用して決定される。または、所定の残留モードフラグと、場合によっては、他の残留モードとが、予測単位に対するイントラ予測モードを決定するために使用される。複数の可変長符号が連結されている場合、符号の復号化を完了するためさらなる読み取りが必要であるか否かを決定するために、最小長の組み合わされた符号の読み取りを実行することが可能である。ビットストリーム８００は、第２のデータブロック８０２の中で隣接した可変長残留モードの最小長部分のそれぞれを符号化し、その後、第２のデータブロック８０２の中の可変長残留モードのいずれかの残留データを符号化しても良い。この符号化を使用して、１回の読み取りで全ての最短部分を読み取り、可変長残留モードの読み取りを完了するために残留データの長さを決定する実施形態が可能である。
【００８８】
これ以上のノードテストステップ９０７は、符号化ツリーの中にイントラ予測モードが決定されるべきこれ以上のノードが存在するか否かを決定する。ステップ９０７実行の結果は、イントラ予測モード決定ステップ９０６が最大符号化単位（ＬＣＵ）の全てのノードについて反復することである。
【００８９】
残差データ復号化ステップ９０８は、第３のデータブロック８０３を復号化する。残差データ復号化ステップ９０８は、最大符号化単位（ＬＣＵ）６００の中の符号化単位１〜１０に対する各変換単位を復号化する。各変換単位が復号化されるとき、逆スケールおよび変換モジュール２０３は、残差サンプル２２４を生成するために周波数ドメインから空間ドメインに残差データを変換する。イントラ予測モードを使用して、イントラフレーム予測モジュール２０５は、各予測単位に対する予測２３４を決定する。最大符号化単位（ＬＣＵ）６００を復号化するさらなるステップは、図２において説明された動作と一致する。
【００９０】
ビットストリーム８００を復号化する方法１０００を、図１０を参照して説明する。方法１０００は、算術符号化された第１のデータブロック８０１の中の分割フラグ情報に基づいて最大符号化単位（ＬＣＵ）を複数の符号化単位へ分割することを表すために符号化単位構造を構築する符号化単位構造決定ステップ１００１から始まる。符号化単位に関する他の情報は、第１のデータブロック８０１から同様に決定される。この情報は、符号化単位に対する予測モード値と、符号化単位のうちの何らかの予測単位に対するＭＰＭフラグとを含む。これが行われる方法のさらなる詳細は図９の、分割フラグ値決定ステップ９０１、リーフ・ノード・ステップ９０２、符号化単位予測モード値決定ステップ９０３、予測単位ＭＰＭフラグ値決定ステップ９０５、およびこれ以上のノードステップ９０６で前述されている。
【００９１】
次にバイパス符号化データ復号化ステップ１００２は、バイパス符号化された第２のデータブロック８０２を復号化する。バイパス符号化された第２のデータブロック８０２は、最大符号化単位（ＬＣＵ）のイントラ予測された各符号化単位に対するイントラ予測モードについての情報を提供する。バイパス符号化データ復号化ステップ１００２は、前述された図９のイントラ予測モード決定ステップ９０６およびこれ以上のノードステップ９０７でさらに詳細に説明されている。
【００９２】
方法１０００は、その後、残差データが第３のデータブロック８０３から復号化される残差データ復号化ステップ１００３に進む。前述のとおり、第３のデータブロック８０３は、算術符号化およびバイパス符号化の両方が行われたデータを有している。残差データ復号化ステップ１００３は、上記図９の残差データ復号化ステップ９０８でさらに詳細に説明されている。
【００９３】
最後に、符号化単位形成ステップ１００４は、図２に関連して説明されているように、バイパス符号化データ復号化ステップ１００２からのイントラ予測モードと残差データ復号化ステップ１００３からの残差データとを組み合わせて、復号化された符号化単位を形成する。復号化された符号化単位が形成されると、イントラ予測モードおよび残差データは、復号化された映像フレームの一部分を形成するために組み合わされる。
【００９４】
方法１０００は、図９の方法９００に関連して説明されているが、この方法は、後述される図１４の方法１４００および図１７の方法１７００のような他の方法も対象としても良い。
【００９５】
ここで、ビットストリーム８００を符号化する方法１１００を、図１１を参照して説明する。方法１１００は、ビットストリーム８００を符号化し、ビットストリーム８００の中の符号化単位の復号化を可能にするために３個のデータブロックを生成する。方法１１００は、分割フラグ８０７のような分割フラグの値が符号化される分割フラグ値符号化ステップ１１０１から始まる。分割フラグの位置を支配する得ルールは、図６Ａおよび図６Ｂに関連してさらに詳細に前述されている。符号化単位が最小符号化単位（ＳＣＵ）より大きいとき、分割フラグは、適切な分割フラグ値をビットストリーム８００に符号化する。しかし、分割フラグは、符号化単位が図６Ｂの符号化単位４  ６０６のような最小符号化単位（ＳＣＵ）と等しいサイズであるときは符号化されない。
【００９６】
分割フラグ値が零である場合、分割フラグの零は、現在符号化単位が符号化ツリーのリーフノードであることを示すので、リーフ・ノード・テスト・ステップ１１０２は、符号化単位予測モード値符号化ステップ１１０３に制御を渡す。符号化ツリーの現在ノードが非リーフノードである場合、リーフ・ノード・テスト・ステップ１１０２は、分割フラグ値符号化ステップ１１０１に制御を戻し、符号化ツリーの深さは、図６Ｃに関連して前述されたツリー６３０のような符号化ツリーの中の現在レベルより１レベル下の領域まで増大する。図９の方法９００と同様に、深さ優先方式で符号化ツリーを処理することにより、領域はラスタ走査順序で処理される。ラスタ走査順序を使用することにより、図６Ａにおける符号化単位１〜１０が確実に順序正しく処理されることとなる。
【００９７】
単位予測モード符号化ステップ１１０３は、予測モード値を符号化する。インター予測された予測単位およびイントラ予測された予測単位の両方を有しているスライスに対して、予測モードは、使用された予測のタイプを特定する。イントラ予測された予測単位だけを有しているスライスに対して、予測モードは、符号化されたビットストリーム１１３において符号化されない。図９の方法９００と同様に、予測モードは、符号化単位のため使用される予測モードおよび分割モードの両方を特定する。方法１１００は、単一の予測単位を含む符号化単位に関連して説明されているが、この方法は、複数の予測単位を含む符号化単位をカバーするように拡張されても良い。
【００９８】
分割フラグ値が零であり、符号化単位に対する予測モード値がイントラ予測を特定するとき、ＭＰＭフラグ符号化ステップ１１０４は、最確モードフラグ値を符号化する。図１のイントラフレーム予測モジュール１０９は、予測単位に対するイントラ予測モードを決定する。イントラ予測予測モジュール１０９は、イントラ予測に対する２個の最確モードをさらに決定する。決定されたイントラ予測モードが最確モードのうちの一方に等しい場合、最確モードの使用を示す１が最確モードフラグ値にセットされる。そうではない場合、残留モードの使用を示す０が最確モードフラグ値にセットされる。図８の最確モードフラグ８０４のような最確モードフラグは、最確モードフラグ値として符号化される。これ以上のノードテストステップ１１０５は、最大符号化単位（ＬＣＵ）のうちの最後の符号化単位に到達したか否かを決定する。到達した場合、制御をバイパスデータ符号化ステップ１１０６に渡す。到達しない場合、制御は、分割フラグ値符号化ステップ１１０１を実行するために戻る。
【００９９】
図６の符号化単位１  ６０１のような３２×３２イントラ予測符号化単位に対して、符号化単位は、符号化単位の分割モードに依存して、１個、２個または４個のいずれかの予測単位を有しても良い。バイパスデータ符号化ステップ１１０６は、以下のとおり予測単位に対するイントラ予測モードを符号化する。予測単位に対する最確モードフラグ値が、最確モードが使用されていることを示す場合、２個の利用可能な最確モードのうちのどちらの１つが選択されたかを示す１ビット最確モードインデックス値は、バイパス復号化を使用してビットストリーム８００に符号化される。そうではない場合、最確モードフラグ値は、残留モードの使用を示し、残留モード値は、バイパス符号化を使用してビットストリーム８００に符号化される。複数の最確モードインデックス値または残留モード値が連結された場合、各予測単位に対する符号を別個に書き込むのではなく、組み合わされた符号を１回の動作中に書き込むことを実行することが可能である。
【０１００】
これ以上のノードテストステップ１１０７は、符号化ツリーの中にイントラ予測モードが決定されるべき何らかのこれ以上のノードが存在するか否かを決定する。この結果、バイパスデータ符号化ステップ１１０６が最大符号化単位（ＬＣＵ）の全てのノードについて反復するように実行する。バイパスデータ符号化ステップ１１０６およびこれ以上のノードステップ１１０７についての反復は、書き込まれるデータの長さを予め決めるために、バイパスデータを符号化されたビットストリーム１１３に書き込む前に行われても良い。
【０１０１】
残差データ符号化ステップ１１０８は、第３のデータブロック８０３を符号化する。残差データ符号化ステップ１１０８は、最大符号化単位（ＬＣＵ）６００の中の符号化単位１〜１０に対する各変換単位を符号化されたビットストリーム１１３に符号化する。各変換単位を符号化するために、残差サンプル１２２は、変換ブロック１０２によって変換係数１２４に変換される。スケールおよび量子化ブロック」１０３は、その後、変換係数１２４を残差係数１２６に変換する。残差係数１２６は、エントロピー符号器１０４によって符号化されたビットストリーム１１３に符号化される。最大符号化単位（ＬＣＵ）６００を符号化するさらなるステップは、図１の映像符号器１００で説明された動作と同じである。
【０１０２】
ビットストリーム８００を符号化する方法１２００を、図１２を参照して説明する。方法１２００は、複数の符号化単位への最大符号化単位（ＬＣＵ）の分割を表すために、分割フラグ情報を算術符号化された第１のデータブロック８０１の中に符号化することにより、符号化単位構造を符号化する符号化単位構造符号化ステップ１２０１から始まる。符号化単位に関する他の情報が第１のデータブロック８０１の中にさらに符号化される。この情報は、符号化単位に対する予測モード値と符号化単位のいずれかの予測単位に対するＭＰＭフラグとを含む。これがどの様に行われるかのさらなる詳細は、図１１の分割フラグ値符号化ステップ１１０１、リーフ・ノード・ステップ１１０２、符号化単位予測モード値符号化ステップ１１０３ステップ、予測単位ＭＰＭフラグ値符号化ステップ１１０５、およびこれ以上のノードステップ１１０６において前述されている。
【０１０３】
次に、バイパス符号化データ符号化ステップ１２０２は、バイパス符号化された第２のデータブロック８０２を符号化する。バイパス符号化された第２のデータブロック８０２は、最大符号化単位（ＬＣＵ）の中のイントラ予測された符号化単位の１つずつに使用されるイントラ予測モードについての情報を符号化する。バイパス符号化データ符号化ステップ１２０２は、前述の図１１のバイパスデータ符号化ステップ１１０６およびこれ以上のノードステップ１１０７においてさらに詳細に説明されている。
【０１０４】
方法１２００は、その後、残差データが第３のデータブロック８０３に符号化される残差データ符号化ステップ１２０３に進む。前述したように、第３のデータブロック８０３は、算術符号化およびバイパス符号化の両方が行われたデータを有する。残差データを符号化するステップ１２０３は、上記図１１の残差データ符号化ステップ１１０８においてさらに詳細に説明されている。
【０１０５】
データブロック記憶ステップ１２０４は、符号化されたビットストリーム１１３の中で、算術符号化されたデータをデータブロック８０１に、バイパス符号化されたデータをデータブロック８０２に、算術符号化されたデータおよびバイパス符号化されたデータの混合物をデータブロック８０３に記憶する。データブロック記憶ステップ１２０４は、データブロックを記憶する単一のステップとして、または、データブロックが方法１２００におけるそれぞれのステップによって生成されるとき、符号化されたデータの中間バッファリングとして実装されても良い。
【０１０６】
方法１２００は、図１１の方法１１００に関連して説明されているが、この方法は、後述される図１４の方法１４００および図１７の方法１７００のような復号化に関連する他の符号化方法もまたカバーすることがある。
【０１０７】
最大符号化単位（ＬＣＵ）６００を符号化する別のビットストリーム１３００を、図１３を参照して説明する。図１３は、符号化された、２値化されたシンタックス要素を表現するため図７の表現法を採用する。ビットストリーム１３００は、最大符号化単位（ＬＣＵ）６００を符号化する符号化されたビットストリーム１１３の一部を表す。第１のデータブロック１３０１は、第１のデータブロック８０１と類似する構造を有し、単独で算術符号化を使用してシンタックス要素を符号化する。第１のデータブロック１３０１は、第１のデータブロック１３０１が予測モード１３０８のような予測モードを使用して符号化単位について予測モード値を算術符号化するので、第１のデータブロック８０１と類似している。第１のデータブロック８０１と対照的に、第１のデータブロック１３０１は、第１のデータブロック８０１の最確モードフラグ８０９のような最確モードフラグを符号化しない。その代わり、最確モードフラグ１３０９は、バイパス符号化を使用して第２のデータブロック１３０２で符号化される。第２のデータブロック１３０２は、第２のデータブロック８０２について説明されているようにシンタックス要素を符号化するために単独でバイパス符号化を使用する。バイパス符号化を使って最確モードフラグを符号化することは、１回の読み取り動作でバイパスビンのより大きいグループを読み取ることによって、より高いスループットを伴う復号化を可能にすることができる。バイパスデータ８１０と同様に、予測モード１３０８がイントラ予測の使用を示すとき、ビットストリーム１３００は、最確モードインデックスまたは残留モードのいずれかを表すバイパスデータ１３１０を含む。
【０１０８】
ここで、他の実施形態を、他のビットストリーム１３００を復号化する図１４の方法１４００に関連して説明する。分割フラグ値決定ステップ１４０１、リーフ・ノード・ステップ１４０２、符号化単位予測モード値決定ステップ１４０３、およびこれ以上のノードステップ１４０４は、図９の分割フラグ値決定ステップ９０１、リーフ・ノード・ステップ９０２、符号化単位予測モード値決定ステップ９０３、これ以上のノードステップ９０５と同様に動作する。方法９００と対照的に、図９の予測単位ＭＰＭフラグ値決定ステップ９０４に対応するステップは、図１４のステップの上記セットに含まれていない。その代わり、ステップ１４０５である対応するステップが方法１４００の後の方で行われる。予測単位ＭＰＭフラグ値決定ステップ１４０５は、バイパス符号化された最確モードフラグ１３０９がビットストリーム１３００から復号化される点を除いて、図９の対応するステップ９０４と同様に予測ユニットＭＰＭフラグ値を決定する。イントラ予測モード決定ステップ１４０６、これ以上のノードステップ１４０７、および残差データ復号化ステップ１４０８は、図９のイントラ予測モード決定ステップ９０６、これ以上のノードステップ９０７、および残差データ復号化ステップ９０８を参照して説明されたように動作する。
【０１０９】
次に、図１５の最大符号化単位（ＬＣＵ）１５００の例を説明すれる。最大符号化単位（ＬＣＵ）１５００は、図６の最大符号化単位（ＬＣＵ）６００と同一の符号化単位１〜１０の構成を有している。しかし、最大符号化単位（ＬＣＵ）６００と異なり、最大符号化単位（ＬＣＵ）１５００は、精細粒度スライスが有効にされているので、符号化単位９  １５０３と符号化単位１０  １５０５との間にスライス境界を含む。その結果、図１５の符号化単位１〜９は、１番目のスライスにあり、符号化単位１０  １５０５は、２番目のスライスにある。
【０１１０】
次に、図１６に示された、最大符号化単位（ＬＣＵ）１５００を符号化するビットストリーム１６００を説明する。ビットストリーム１６００は、精細粒度スライスが有効にされ、精細粒度スライス閾値がスライス境界を３２×３２符号化単位境界に制限するように構成されている状態で符号化される。精細粒度スライスが有効にされたとき、最大符号化単位（ＬＣＵ）１５００は、精細粒度スライス閾値以上のサイズのいずれかの領域で別個のスライスに分割される。スライス・エンド・シンタックス要素は、スライスの終端を示す。スライス・エンド・シンタックス要素は、精細粒度スライス閾値と等しいサイズの各領域の中の最後の符号化単位の後に符号化される。図１６では、６４×６４最大符号化単位（ＬＣＵ）が３２×３２という境界サイズを有している４個のスライス・エンド・シンタックス要素がある。スライス・エンド・シンタックス・フラグ要素は、符号化単位１、８、９および１０の後に位置することになる。１つのスライスにおけるシンタックス要素がこのスライスの中の符号化単位を完全に記述することが要件である。精細粒度スライスが有効にされたとき、最大符号化単位（ＬＣＵ）１５００を２つのスライスに分割する決定は、ビットストリーム１６００を符号化する途中で行われることがある。その結果、複数の符号化単位からの情報が第１、第２および第３のデータブロックにグループ化されると、グループの中の符号化単位は、エンドフラグを通り過ぎて広がることがない。ビットストリームコンポーネント１６０１は、符号化単位１に対するシンタックス要素を有する。ビットストリームコンポーネント１６０２は、領域６０７の中に含まれている図１５の符号化単位２〜８を符号化する第１のデータブロック１６１５、第２のデータブロック１６１６および第３のデータブロック１６０７を有する。図１５の符号化単位２〜８を符号化する第１のデータブロック１６１５、第２のデータブロック１６１６および第３のデータブロック１６０７は、図８の第１のデータブロック８０１、第２のデータブロック８０２および第３のデータブロック８０３と類似している。ビットストリーム８００と対照的に、シンタックス要素のビットストリーム１６００の中の第１、第２および第３のデータブロックへのグルーピングは、精細粒度スライス閾値に限定される。精細粒度スライス閾値に３２×３２が設定されると、符号化単位１、９および１０は、他の符号化単位とグルーピングされることがなく、符号化単位２〜８は、グループ化される。スライス・エンド・フラグ１６１４は、第１のスライスが符号化単位９  １５０３の後に終了し、第２のスライスは、図１５の符号化単位１０  １５０５で始まることをシグナル通知する。
【０１１１】
一実施形態では、ビットストリーム１６００は、最大符号化単位（ＬＣＵ）１５００のような各最大符号化単位（ＬＣＵ）の開始時に精細粒度スライス有効フラグを符号化する。精細粒度スライスが最大符号化単位（ＬＣＵ）に対して有効にされないとき、方法９００がこの最大符号化単位（ＬＣＵ）に適用される。精細粒度スライスが最大符号化単位（ＬＣＵ）に対して有効にされたとき、方法９００は、精細粒度スライス閾値とサイズが等しい個々の細分化された符号化単位に適用される。
【０１１２】
ここで、さらなる他の実施形態を、ビットストリーム８００を復号化する図１７の方法１７００に関連して説明する。分割フラグ値決定ステップ１７０１、リーフ・ノード・ステップ１７０２、符号化単位予測モード値決定ステップ１７０３、予測単位ＭＰＭフラグ値決定ステップ１７０４、およびこれ以上のノードステップ１７０５は、図９の対応するステップである分割フラグ値決定ステップ９０１、リーフ・ノード・ステップ９０２、符号化単位予測モード値決定ステップ９０３、予測単位ＭＰＭフラグ値決定ステップ９０４、およびこれ以上のノードステップ９０５と同様に動作する。結果として生じる符号化単位構造および最確モード情報は、バイパス・データ・ブロック８０２を読み取るためにバイパスデータ読み取りステップ１７０６によって使用される。バイパス・データ・ブロック８０２の長さは、最確モードインデックスおよび残留モードの長さを合計することによって符号化単位構造および最確モード情報により決定される。バイパスデータ読み取りステップ１７０６は、単一の動作で、または、複数の動作でバイパス・データ・ブロック８０２を読み取っても良いが、これは、一度に１つの予測単位に対する情報を読み取ることに限定されない。読み取られるデータの量は、既に決定されたバイパス・データ・ブロック８０２の長さである。
【０１１３】
次に、イントラ予測モードを予測単位に割り当てるステップ１７０７は、バイパスデータ読み取りステップ１７０６からのバイパスデータを分割し、各予測単位に対するイントラ予測モードを決定する。残差データ復号化ステップ１７０８は、図９の残差データ復号化ステップ９０８に関連して説明されたように動作する。
【０１１４】
残留モードが、図９を参照して説明した５または６ビット符号のような可変長符号を使用して符号化されたとき、バイパス符号化されたデータ８０２の長さは、バイパスデータ読み取りステップ１７０６の前に決定することが出来ない。その代わりに、最小長は、符号化単位構造の知識と、最確モードフラグ値および予測単位サイズとに基づいて計算することが出来る。最小長は、符号化されたビットストリーム１１３から読み取られ、予測単位のうちの少なくとも１つのイントラ予測モードを決定するために構文解析されることがある。構文解析は、バイパスデータの長さが分かるまで繰り返し適用されることがある。１回以上の後続のバイパスデータ読み取りは、符号化されたビットストリーム１１３からバイパス符号化されたデータ８０２の全体を読み取るために実行されることがある。前述した他の実施形態のバイパスデータ技術のための可変長符号を図１７の方法１７００に関連して説明しているが、この技術は、図９の方法９００のような前述された他の復号化方法の間に適用されることがある。
【０１１５】
最確モードフラグがバイパス符号化されたとき、方法１７００の変形が予測単位ＭＰＭフラグ値決定ステップ１７０４を削除し、予測単位ＭＰＭフラグ値決定ステップ１７０４の機能をバイパスデータ読み取りステップ１７０６に組み込むために動作することが出来る。
【０１１６】
長さが未知であるバイパス符号化されたデータを消費する他の実施形態は、少なくともいくつかのバイパス符号化されたデータを含んでいるデータのセグメントを決定するために符号化されたビットストリーム１１３にアクセスするように動作する。しかし、前に説明されたアプローチとは異なり、データは、ビットストリームから消費されない。最確モードインデックスおよび残留モードは、データのセグメントから復号化され、復号化されたデータの長さの累計が維持される。全てのバイパス符号化されたデータがデータのセグメントから復号化されると、累計長さがその後にビットストリームから消費される。その結果、データのセグメントがバイパス符号化された第２のデータブロック８０２を越えてビットストリームデータにアクセスするが、データは消費されることがなく、それ故に、算術およびバイパスの第３のデータブロック８０３が残差データ復号化ステップによる復号化のため利用可能となる。前述の他の実施形態の可変長符号復号化技術を、図１７の方法１７００に関連して説明しているが、この技術は、図９の方法９００のような前述の他の復号化方法の間に適用されても良い。
【０１１７】
方法９００、１０００、１４００および１７００は、映像復号器２００に適用されたとき、符号化されたビットストリーム１１３のような符号化されたビットストリームを構文解析するスループットの増加を実現する実施形態を可能にする。これは、バイパス符号化されたデータの連結に起因して、１回の動作でより大量のバイパス符号化されたデータを読み取ることを通じて行われる。スループット増加は、バイパス符号化されたデータの読み取りまたは書き込みがシステムのスループットを増加させるために並列に実行される可能性があるハードウェア実施に対して最も顕著である。符号化を実行するためにこれに応じて変更される方法１１００、１２００と方法１４００および１７００とが符号化されたビットストリームを生成するため適用されるときに、映像符号器１００に対して同様の利点が得られる。
【０１１８】
この詳細な説明に続く別表Ａは、前述の図９の方法９００によって復号化される可能性がある図８のビットストリーム８００を特定するために高周波映像符号化（ＨＥＶＣ）テストモデル５．０（ＨＭ−５．０）に加えられる可能性がある変形を表現している。
【産業上の利用可能性】
【０１１９】
前述の配置構成は、コンピュータおよびデータ処理産業に、そして、特に、映像信号のような信号の符号化・復号化のためのデジタル信号処理に適用できる。
【０１２０】
上記は、例示的であり、かつ、限定的ではない本発明のいくつかの実施形態だけを記載し、変形および／または変更は、発明の範囲および趣旨から逸脱することなくこれらの実施形態に加えることが出来る。
（オーストラリアのみ）
本明細書のコンテキストにおいて、用語「〜を備える（ｃｏｍｐｒｉｓｉｎｇ）」は、「〜を主に含むが、必ずしも限定されない（ｉｎｃｌｕｄｉｎｇ  ｐｒｉｎｃｉｐａｌｌｙ  ｂｕｔ  ｎｏｔ  ｎｅｃｅｓｓａｒｉｌｙ  ｓｏｌｅｌｙ）」または「〜を有する（ｈａｖｉｎｇ）」または「〜を含む（ｉｎｃｌｕｄｉｎｇ）」を意味するものであり、「〜だけからなる（ｃｏｎｓｉｓｔｉｎｇ  ｏｎｌｙ  ｏｆ）」を意味するものではない。「ｃｏｍｐｒｉｓｅ」および「ｃｏｍｐｒｉｓｅｓ」のような用語「〜を備える（ｃｏｍｐｒｉｓｉｎｇ）」の活用形は、相応して変化する意味を有している。
【０１２１】
別表Ａ
以下は、前述の図９の方法９００によって復号化することが可能な図８のビットストリーム８００を特定するために高機能映像符号化（ＨＥＶＣ）テストモデル５．０（ＨＭ−５．０）に加えられることがある変形を表現している。
符号化ツリーシンタックス
【０１２２】
【表１−１】
2015507885.tif 000003
【０１２３】
【表１−２】
2015507885.tif 000004
【０１２４】
【表１−３】
2015507885.tif 000005
【０１２５】
分割およびＭＰＭフラグに対する符号化ツリーシンタックス
【０１２６】
【表２−１】
2015507885.tif 000006
【０１２７】
【表２−２】
2015507885.tif 000007
【０１２８】
輝度イントラモードに対する符号化ツリーシンタックス
【０１２９】
【表３−１】
2015507885.tif 000008
【０１３０】
符号化単位シンタックス
【０１３１】
【表４−１】
2015507885.tif 000009
【０１３２】
【表４−２】
2015507885.tif 000010
【０１３３】
【表４−３】
2015507885.tif 000011
【０１３４】
分割モードおよびＭＰＭフラグに対する符号化単位シンタックス
【０１３５】
【表５】
2015507885.tif 000012
【０１３６】
輝度イントラモードに対する符号化単位シンタックス
【０１３７】
【表６】
2015507885.tif 000013
【０１３８】
予測単位シンタックス
【０１３９】
【表７−１】
2015507885.tif 000014
【０１４０】
【表７−２】
2015507885.tif 000015
【０１４１】
【表７−３】
2015507885.tif 000016
【０１４２】
ＭＰＭフラグに対する予測単位シンタックス
【０１４３】
【表８】
2015507885.tif 000017
【０１４４】
輝度イントラモードに対する予測単位シンタックス
【０１４５】
【表９】
2015507885.tif 000018
【０１４６】
以下の符号化ツリーシンタックスは、１、２および３のラベルが付けられた３つのカテゴリに従うデータブロックへのシンタックス要素の割り当てを示す。
符号化ツリーシンタックス
【０１４７】
【表１０−１】
2015507885.tif 000019
【０１４８】
【表１０−２】
2015507885.tif 000020
【０１４９】
符号化単位シンタックス
【０１５０】
【表１１−１】
2015507885.tif 000021
【０１５１】
【表１１−２】
2015507885.tif 000022
【０１５２】
予測単位シンタックス
【０１５３】
【表１２−１】
2015507885.tif 000023
【０１５４】
【表１２−２】
2015507885.tif 000024
【０１５５】
【表１２−３】
2015507885.tif 000025
【０１５６】
（別表Ａの終わり）
【図１】
2015507885.tif 000026
【図２】
2015507885.tif 000027
【図３（Ａ）】
2015507885.tif 000028
【図３（Ｂ）】
2015507885.tif 000029
【図４】
2015507885.tif 000030
【図５】
2015507885.tif 000031
【図６（Ａ）】
2015507885.tif 000032
【図６（Ｂ）】
2015507885.tif 000033
【図６（Ｃ）】
2015507885.tif 000034
【図７】
2015507885.tif 000035
【図８】
2015507885.tif 000036
【図９】
2015507885.tif 000037
【図１０】
2015507885.tif 000038
【図１１】
2015507885.tif 000039
【図１２】
2015507885.tif 000040
【図１３】
2015507885.tif 000041
【図１４】
2015507885.tif 000042
【図１５】
2015507885.tif 000043
【図１６】
2015507885.tif 000044
【図１７】
2015507885.tif 000045
【国際調査報告】
2015507885.tif 000046
2015507885.tif 000047
2015507885.tif 000048