(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化するための方法であって、
前記ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成することと、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を備えた方法。
【請求項２】
前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、請求項１に記載の方法。
【請求項３】
前記第１の断片は前記第２の断片を参照せずに復号可能であり、前記第２の断片は前記第１の断片を参照せずに復号可能である、請求項１に記載の方法。
【請求項４】
前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが１つまたは複数の前記量子化行列を含むことを示すフラグを含む、請求項１に記載の方法。
【請求項５】
前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、請求項１に記載の方法。
【請求項６】
前記パラメータセットを含むＮＡＬユニットのサイズは、通信プロトコルの最大伝送単位（ＭＴＵ）のサイズよりも大きく、
前記方法は、
前記第１のＮＡＬユニットを前記通信プロトコルの第１のパケット内にカプセル化することと、
前記第２のＮＡＬユニットを前記通信プロトコルの第２のパケット内にカプセル化することと、
前記第１のパケットと前記第２のパケットとを通信チャネル上で送ることと、
をさらに備える、請求項１に記載の方法。
【請求項７】
前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、請求項１に記載の方法。
【請求項８】
ビデオデータを復号する方法であって、
パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
少なくとも部分的に前記パラメータセットに基づいて、前記ビデオデータの１つまたは複数のコード化ピクチャを復号することと、
を備える方法。
【請求項９】
前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、請求項８に記載の方法。
【請求項１０】
前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、請求項８に記載の方法。
【請求項１１】
前記ビットストリームを受信することは、通信プロトコルにおいて、前記第１のＮＡＬユニットをカプセル化する第１のパケットと、前記第２のＮＡＬユニットをカプセル化する第２のパケットとを受信することを備える、請求項８に記載の方法。
【請求項１２】
前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、請求項８に記載の方法。
【請求項１３】
ビデオデータを記憶する記憶媒体と、
前記ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成することと、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を行うように構成された１つまたは複数のプロセッサを備えたコンピューティングデバイス。
【請求項１４】
前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、請求項１３に記載のコンピューティングデバイス。
【請求項１５】
前記第１の断片は前記第２の断片を参照せずに復号可能であり、前記第２の断片は前記第１の断片を参照せずに復号可能である、請求項１３に記載のコンピューティングデバイス。
【請求項１６】
前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが１つまたは複数の前記量子化行列を含むことを示すフラグを含む、請求項１３に記載のコンピューティングデバイス。
【請求項１７】
前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、請求項１３に記載のコンピューティングデバイス。
【請求項１８】
前記パラメータセットを含むＮＡＬユニットのサイズは、通信プロトコルの最大伝送単位（ＭＴＵ）のサイズよりも大きく、
前記１つまたは複数のプロセッサは、
前記第１のＮＡＬユニットを前記通信プロトコルの第１のパケット内にカプセル化することと、
前記第２のＮＡＬユニットを前記通信プロトコルの第２のパケット内にカプセル化することと、
前記第１のパケットと前記第２のパケットとを通信チャネル上に送ることと、
をさらに行うように構成された、請求項１３に記載のコンピューティングデバイス。
【請求項１９】
前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、請求項１３に記載のコンピューティングデバイス。
【請求項２０】
前記コンピューティングデバイスはビデオエンコーダを備える、請求項１３に記載のコンピューティングデバイス。
【請求項２１】
ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成するための手段と、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成するための手段と、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を備えたコンピューティングデバイス。
【請求項２２】
コンピューティングデバイスの１つまたは複数のプロセッサによって実行されたとき、前記コンピューティングデバイスに、
ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成することと、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項２３】
パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
少なくとも部分的に前記パラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号することと、
を行うように構成された１つまたは複数のプロセッサを備えたコンピューティングデバイス。
【請求項２４】
前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、請求項２３に記載のコンピューティングデバイス。
【請求項２５】
前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、請求項２３に記載のコンピューティングデバイス。
【請求項２６】
前記パラメータセットを含むＮＡＬユニットのサイズは、通信プロトコルの最大伝送単位（ＭＴＵ）よりも大きく、
前記１つまたは複数のプロセッサは、前記通信プロトコルにおいて、前記第１のＮＡＬユニットをカプセル化する第１のパケットと、前記第２のＮＡＬユニットをカプセル化する第２のパケットとを受信するように構成された、
請求項２３に記載のコンピューティングデバイス。
【請求項２７】
前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、請求項２３に記載のコンピューティングデバイス。
【請求項２８】
前記コンピューティングデバイスはビデオデコーダを備える、請求項２３に記載のコンピューティングデバイス。
【請求項２９】
パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信するための手段と、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
少なくとも部分的に前記パラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号するための手段と、
を備えるコンピューティングデバイス。
【請求項３０】
コンピューティングデバイスの１つまたは複数のプロセッサによって実行されたとき、前記コンピューティングデバイスに、
パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、前記パラメータセットは複数の量子化行列をシグナリングし、前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むか、または前記パラメータセットの前記量子化行列の１サブセットのみを含むかを示すフラグを備え、
少なくとも部分的に前記パラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号することと、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
【請求項３１】
前記コンピューティングデバイスは、
集積回路、
マイクロプロセッサ、または、
電話ハンドセット
のうちの少なくとも１つを備える、請求項１３に記載のコンピューティングデバイス。
【請求項３２】
前記コンピューティングデバイスは、
集積回路、
マイクロプロセッサ、または、
ワイヤレスハンドセット
のうちの少なくとも１つを備える、請求項２３に記載のコンピューティングデバイス。
【請求項３３】
前記ビデオデータをキャプチャするように構成されたカメラをさらに備える、請求項１３に記載のコンピューティングデバイス。
【請求項３４】
前記ビデオデータの前記１つまたは複数の復号されたピクチャを表示するように構成されたディスプレイをさらに備える、請求項２３に記載のコンピューティングデバイス。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、２０１１年１０月３１日に出願された米国仮特許出願第６１／５５３，６５２号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディング（すなわち、ビデオデータの符号化および／または復号）に関し、詳細にはビデオコーディングにおけるパラメータセットに関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップコンピュータまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込むことができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部）はビデオブロックに区分され、これらのビデオブロックは、ツリーブロック、コーディングユニット（ＣＵ）および／またはコーディングノードと呼ばれる場合がある。ピクチャのイントラコード化（Ｉ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス内のビデオブロックは、同じピクチャの中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャの中の参照サンプルに対する時間的予測を使用することができる。ピクチャはフレームと呼ばれる場合があり、参照ピクチャは参照フレームと呼ばれる場合がある。
【０００５】
[0005]空間的予測または時間的予測は、コード化されるべきブロック用の予測ブロックをもたらす。残差データは、コード化されるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は次いで量子化することができる。量子化係数は、最初に２次元アレイで構成され、係数の１次元ベクトルを生成するために走査することができ、なお一層の圧縮を達成するためにエントロピーコーディングを適用することができる。
【発明の概要】
【０００６】
[0006]一般に、ビデオエンコーダは、複数のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成する。ＮＡＬユニットは、ビデオデータに関連付けられたパラメータセットの異なる複数の断片（fragment）を含む。ビデオデコーダは、パラメータセットの断片を含むＮＡＬユニットを含むビットストリームを受信することができる。ビデオデコーダは、少なくとも部分的にパラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号する。
【０００７】
[0007]一態様では、本開示は、ビデオデータを符号化するための方法を記載する。方法は、第１のＮＡＬユニットを生成することを備える。第１のＮＡＬユニットは、ビデオデータに関連付けられたパラメータセットの第１の断片を含む。方法はまた、第２のＮＡＬユニットを生成することを備える。第２のＮＡＬユニットはパラメータセットの第２の断片を含み、第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである。
【０００８】
[0008]別の態様では、本開示は、ビデオデータを復号する方法を記載する。方法は、第１のＮＡＬユニットと第２のＮＡＬユニットとを備えるビットストリームを受信することを備える。第１のＮＡＬユニットはパラメータセットの第１の断片を含み、第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。加えて、方法は、少なくとも部分的にパラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号することを備える。
【０００９】
[0009]別の態様では、本開示は、第１のＮＡＬユニットを生成するように構成された１つまたは複数のプロセッサを備えるコンピューティングデバイスを記載する。第１のＮＡＬユニットは、ビデオデータに関連付けられたパラメータセットの第１の断片を含む。１つまたは複数のプロセッサはまた、第２のＮＡＬユニットを生成するように構成される。第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。
【００１０】
[0010]別の態様では、本開示は、第１のＮＡＬユニットを生成するための手段を備えるコンピューティングデバイスを記載する。第１のＮＡＬユニットは、ビデオデータに関連付けられたパラメータセットの第１の断片を含む。コンピューティングデバイスはまた、第２のＮＡＬユニットを生成するための手段を備える。第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。
【００１１】
[0011]別の態様では、本開示は、コンピューティングデバイスの１つまたは複数のプロセッサによって実行されたとき、コンピューティングデバイスに第１のＮＡＬユニットを生成させる命令を記憶するコンピュータ可読記憶媒体を記載する。第１のＮＡＬユニットは、ビデオデータに関連付けられたパラメータセットの第１の断片を含む。命令はまた、コンピューティングデバイスに第２のＮＡＬユニットを生成させる。第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。
【００１２】
[0012]別の態様では、本開示は、第１のＮＡＬユニットと第２のＮＡＬユニットとを備えるビットストリームを受信するように構成された１つまたは複数のプロセッサを備えるコンピューティングデバイスを記載する。第１のＮＡＬユニットはパラメータセットの第１の断片を含む。第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。１つまたは複数のプロセッサはまた、少なくとも部分的にパラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号するように構成される。
【００１３】
[0013]別の態様では、本開示は、第１のＮＡＬユニットと第２のＮＡＬユニットとを備えるビットストリームを受信するための手段を備えるコンピューティングデバイスを記載する。第１のＮＡＬユニットはパラメータセットの第１の断片を含み、第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。加えて、コンピューティングデバイスは、少なくとも部分的にパラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号するための手段を備える。
【００１４】
[0014]別の態様では、本開示は、コンピューティングデバイスの１つまたは複数のプロセッサによって実行されたとき、コンピューティングデバイスに第１のＮＡＬユニットと第２のＮＡＬユニットとを備えるビットストリームを受信させる命令を記憶するコンピュータ可読記憶媒体を記載する。第１のＮＡＬユニットはパラメータセットの第１の断片を含み、第２のＮＡＬユニットはパラメータセットの第２の断片を含む。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。命令はまた、コンピューティングデバイスに、少なくとも部分的にパラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号させる。
【００１５】
[0015]本開示の１つまたは複数の例の詳細が、添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１６】
【図１】本開示に記載される技法のうちの１つまたは複数を実装できる例示的なビデオコーディングシステムを示すブロック図。
【図２】本開示に記載される技法のうちの１つまたは複数を実装できる例示的なビデオエンコーダを示すブロック図。
【図３】本開示に記載される技法のうちの１つまたは複数を実装できる例示的なビデオデコーダを示すブロック図。
【図４】本開示の１つまたは複数の技法によるビデオエンコーダの例示的な動作を示すフローチャート。
【図５】本開示の１つまたは複数の技法により、パラメータセットのＮＡＬユニットを解析するビデオデコーダの例示的な動作を示すフローチャート。
【図６】本開示の１つまたは複数の技法により、パラメータセットのＮＡＬユニット内の量子化行列テーブルを解析するビデオデコーダの例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１７】
[0022]ビットストリームが通信ネットワーク内で伝送されるとき、ビットストリームは、リアルタイムプロトコル（ＲＴＰ）などの通信プロトコルに準拠する一連のパケットに分割することができる。単一のパケットが含むことができるデータ量には、最大伝送単位（ＭＴＵ）サイズなどの制限が存在する。通常、パケットの各々は、単一のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを含む。しかしながら、ＮＡＬユニットがＭＴＵサイズよりも大きい場合、ＮＡＬユニットは２つ以上のパケットの中に分割され、搬送される。一般に、パケットの伝送中にパケットのうちの１つだけでも損失または破壊された場合ＮＡＬユニット全体が無駄になる可能性があるので、ＮＡＬユニットを２つ以上のパケットの中に分割することは望ましくない。
【００１８】
[0023]ビデオエンコーダは、ピクチャパラメータセット（ＰＰＳ）およびシーケンスパラメータセット（ＳＰＳ）などのパラメータセットを含むＮＡＬユニットを生成することができる。パラメータセットに量子化行列が含まれると、パラメータセットを含むＮＡＬユニットは、エンドツーエンド伝送経路のＭＴＵサイズよりも大きくなる場合がある。それに応じて、パケッタイザ（packetizer）はＮＡＬユニットを２つ以上のパケットの中に分割する場合がある。パケットのうちのいずれか１つが損失すると、ＮＡＬユニット全体が無駄になる可能性があるので、ＮＡＬユニットを複数のパケットの中に分割することは望ましくない場合がある。このため、ビデオデコーダ３０は、ＮＡＬユニットの損失した部分のデータがなければ、ＮＡＬユニットの受信された部分のデータを解釈することができない場合がある。
【００１９】
[0024]本開示の技法によれば、ビデオエンコーダは、パラメータセットの様々な断片（fragment）を含む複数のＮＡＬユニットを生成することができる。たとえば、ビデオエンコーダは、第１のＮＡＬユニットと第２のＮＡＬユニットとを生成することができる。第１のＮＡＬユニットはパラメータセットの第１の断片を含むことができ、第２のＮＡＬユニットはパラメータセットの第２の断片を含むことができる。他のＮＡＬユニットはパラメータセットの他の断片を含むことができる。パラメータセットの様々な断片を含む各ＮＡＬユニットは、通信チャネル上の別個のパケットで伝送することができる。パラメータセットの断片を含む各ＮＡＬユニットをカプセル化するパケットのサイズは、ＭＴＵサイズ以下であり得る。様々なＮＡＬユニット内のパラメータセットの断片を送ると、パラメータセットの任意の受信された断片は、パラメータセットの他の断片が受信されたかどうかにかかわらず、まだ有用であり得るという意味で、誤り耐性が増大し得る。
【００２０】
[0025]添付の図面は例を示す。添付の図面内で参照番号によって示される要素は、以下の説明において同様な参照番号によって示される要素に対応する。本開示では、順序を示す言葉（たとえば、「第１の」、「第２の」、「第３の」など）で始まる名称を有する要素は、それらの要素が特定の順序を有することを必ずしも示唆しない。そうではなく、そのような順序を示す言葉は、同じまたは同様のタイプの様々な要素を指すために使用されるにすぎない。
【００２１】
[0026]図１は、本開示の技法を実装することができる例示的なビデオコーディングシステム１０を示すブロック図である。本明細書で使用され記載される「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指す場合がある。
【００２２】
[0027]図１に示されたように、ビデオコーディングシステム１０は、ソースデバイス１２と宛先デバイス１４とを含む。ソースデバイス１２は、符号化されたビデオデータを生成する。したがって、ソースデバイス１２は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれる場合がある。宛先デバイス１４は、ソースデバイス１２によって生成された、符号化されたビデオデータを復号することができる。したがって、宛先デバイス１４は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれる場合がある。ソースデバイス１２および宛先デバイス１４は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
【００２３】
[0028]ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備えることができる。
【００２４】
[0029]宛先デバイス１４は、チャネル１６を介してソースデバイス１２から符号化されたビデオデータを受信することができる。チャネル１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動することが可能な、あるタイプの媒体またはデバイスを備えることができる。一例では、チャネル１６は、ソースデバイス１２が符号化されたビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にする、１つまたは複数の通信媒体を備えることができる。この例では、ソースデバイス１２は、ワイヤレス通信プロトコルなどの通信規格に従って、符号化されたビデオデータを変調することができ、変調されたビデオデータを宛先デバイス１４に送信することができる。通信媒体は、無線周波数（ＲＦ）スペクトルおよび／または１つもしくは複数の物理伝送線路などの、１つまたは複数のワイヤレス通信媒体または有線通信媒体を備えることができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、または、インターネットなどのグローバルネットワークなどのパケットベースネットワークの一部を形成することができる。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を容易にするルータ、スイッチ、基地局、または他の機器を含むことができる。
【００２５】
[0030]別の例では、チャネル１６は、ソースデバイス１２によって生成された、符号化されたビデオデータを記憶する記憶媒体に対応することができる。この例では、宛先デバイス１４は、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスすることができる。記憶媒体は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化されたビデオデータを記憶するための他の適切なデジタル記憶媒体などの様々なローカルにアクセスされるデータ記憶媒体を含むことができる。
【００２６】
[0031]さらなる例では、チャネル１６は、ソースデバイス１２によって生成された、符号化されたビデオを記憶するファイルサーバまたは別の中間ストレージデバイスを含むことができる。この例では、宛先デバイス１４は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは別の中間ストレージデバイスに記憶された、符号化されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶すること、および符号化されたビデオデータを宛先デバイス１４に送信することが可能な、あるタイプのサーバであり得る。例示的なファイルサーバには、（たとえば、ウェブサイト用の）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、およびローカルディスクドライブが含まれる。
【００２７】
[0032]宛先デバイス１４は、インターネット接続などの標準的なデータ接続を介して、符号化されたビデオデータにアクセスすることができる。例示的なタイプのデータ接続には、ファイルサーバに記憶された、符号化されたビデオデータにアクセスするのに適切な、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（たとえば、ＤＳＬ、ケーブルモデムなど）、またはその両方の組合せが含まれ得る。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００２８】
[0033]本開示の技法は、ワイヤレスの用途または設定には限定されない。本技法は、オーバージエア（over-the-air）テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途などの様々なマルチメディアの用途のいずれかをサポートするビデオコーディングに適用することができる。いくつかの例では、ビデオコーディングシステム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成することができる。
【００２９】
[0034]本開示の技法は、符号化デバイスと復号デバイスとの間の任意のデータ通信を必ずしも含むとは限らないビデオコーディング設定（たとえば、ビデオ符号化またはビデオ復号）に適用することができる。他の例では、データは、ローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどを行うことができる。符号化デバイスは、データを符号化しメモリに記憶することができ、かつ／または、復号デバイスは、メモリからデータを取り出し復号することができる。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、かつ／またはメモリからデータを取り出して復号するだけのデバイスによって実行される。
【００３０】
[0035]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含むことができる。ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および／もしくは、ビデオデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含むことができる。
【００３１】
[0036]ビデオエンコーダ２０は、キャプチャされた、プリキャプチャされた、またはコンピュータ生成されたビデオデータを符号化することができる。符号化されたビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信することができる。符号化されたビデオデータは、復号および／または再生のために、宛先デバイス１４によって後でアクセスするために、記憶媒体またはファイルサーバ上に記憶することもできる。
【００３２】
[0037]図１の例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。いくつかの例では、入力インターフェース２８は、受信機および／またはモデムを含むことができる。宛先デバイス１４の入力インターフェース２８は、チャネル１６を介して符号化されたビデオデータを受信することができる。
【００３３】
[0038]ディスプレイデバイス３２は、宛先デバイス１４と一体であり得るか、またはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含むことができ、外部ディスプレイデバイスとインターフェースするように構成することもできる。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。一般に、ディスプレイデバイス３２は、復号されたビデオデータを表示する。ディスプレイデバイス３２は、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスを備えることができる。
【００３４】
[0039]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオ圧縮規格に従って動作することができ、ＨＥＶＣテストモデル（ＨＭ）に準拠することができる。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ４」または「ＷＤ４」と呼ばれる来たるべきＨＥＶＣ規格の最近のドラフトは、Ｂｒｏｓｓら、「ＷＤ４：Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ４  ｏｆ  Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）、第６回会合：イタリア  トリノ、２０１１年７月に記載され、２０１２年９月２７日現在、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／６＿Ｔｏｒｉｎｏ／ｗｇ１１／ＪＣＴＶＣ−Ｆ８０３−ｖ３．ｚｉｐからダウンロードされ、その内容全体が参照により本明細書に組み込まれる。
【００３５】
[0040]代替として、ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む、他のプロプライエタリ（proprietary）または業界の規格に従って動作することができる。しかしながら、本開示の技法は、いかなる特定のコーディング規格またはコーディング技法にも限定されない。
【００３６】
[0041]ビデオエンコーダ２０およびビデオデコーダ３０は、各々１つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ハードウェア、またはそれらの任意の組合せなどの様々な適切な回路のいずれかとして実装することができる。本技法がソフトウェア内で部分的に実施される場合、デバイスは、適切な非一時的コンピュータ可読記憶媒体にソフトウェア用の命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェア内で実行して、本開示の技法を実行することができる。（ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む）上記のいずれかは、１つまたは複数のプロセッサであると考えることができる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダ内に含まれる場合があり、それらのいずれかは、それぞれのデバイス内の複合エンコーダ／デコーダ（コーデック）の一部として統合される場合がある。
【００３７】
[0042]本開示は、概して、ビデオエンコーダ２０がビデオデコーダ３０などの別のデバイスに、ある情報を「シグナリング（signaling）」することに言及する場合がある。しかしながら、ビデオエンコーダ２０は、特定のシンタックス要素をビデオデータの様々な符号化された部分に関連付けることにより、情報をシグナリングできることを理解されたい。つまり、ビデオエンコーダ２０は、ビデオデータの様々な符号化された部分にいくつかのシンタックス要素を記憶することによって、データを「シグナリング」することができる。場合によっては、そのようなシンタックス要素は、ビデオデコーダ３０によって受信および復号される前に、符号化および（たとえば、ストレージシステムに）記憶することができる。したがって、「シグナリング」という用語は、概して、圧縮されたビデオデータを復号するために使用されるシンタックスまたは他のデータの通信を指す場合がある。そのような通信は、リアルタイムまたはほぼリアルタイムに起こる場合がある。代替として、そのような通信は、符号化時に符号化されたビットストリーム内でシンタックス要素を媒体に記憶するときに起こる場合があるなど、ある時間帯にわたって起こる場合があり、次いで、これらの要素は、この媒体に記憶された後の任意の時間に、復号デバイスによって取り出すことができる。
【００３８】
[0043]ビデオエンコーダ２０は、ビデオソース１８または別のソースからビデオデータを受信することができる。ビデオデータは一連のピクチャを表すことができる。ピクチャの各々は、ビデオの一部を形成する静止画像であり得る。場合によっては、ピクチャはビデオ「フレーム」と呼ぶ場合がある。
【００３９】
[0044]ビデオエンコーダ２０は、コード化ピクチャと関連データとを含むビットストリームを生成することができる。コード化ピクチャは、ピクチャのコード化された表現である。関連データは、シーケンスパラメータセット（ＳＰＳ）と、ピクチャパラメータセット（ＰＰＳ）と、適応パラメータセット（ＡＰＳ）と、他のシンタックス構造とを含むことができる。ＳＰＳは、ピクチャの０個以上のシーケンスに適用可能なパラメータを含むことができる。ＰＰＳは、０個以上のピクチャに適用可能なパラメータを含むことができる。ＡＰＳは、０個以上のピクチャに適用可能なパラメータを含むことができる。ＡＰＳ内のパラメータは、ＰＰＳ内のパラメータよりも変化し得るパラメータであり得る。
【００４０】
[0045]コード化ピクチャを生成するために、ビデオエンコーダ２０は、ピクチャを等しいサイズのビデオブロックに区分することができる。ビデオブロックはサンプルの２次元アレイであり得る。サンプルは、ピクセルのルミナンス値またはクロミナンス値を示す値であり得る。ビデオブロックの各々は、ツリーブロックと関連付けられる。場合によっては、ツリーブロックは、最大コーディングユニット（ＬＣＵ）または「コーディングツリーブロック」と呼ばれる場合がある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣなどの従来の規格のマクロブロックに広い意味で類似する場合がある。しかしながら、ツリーブロックは、特定のサイズに必ずしも限定されるものではなく、１つまたは複数のコーディングユニット（ＣＵ）を含む場合がある。ビデオエンコーダ２０は、４分木区分を使用して、ツリーブロックのビデオブロックをＣＵに関連付けられたビデオブロックに区分することができるので、「ツリーブロック」という名前である。
【００４１】
[0046]ビデオエンコーダ２０は、ビデオデータの各ピクチャを１つまたは複数のスライスに区分することができる。スライスは整数個のツリーブロックを含む場合がある。ビデオエンコーダ２０は、ピクチャの各スライスに関連付けられた符号化されたデータを生成することができる。スライスに関連付けられた符号化されたデータは、「コード化スライス」と呼ばれ得る。コード化スライスを生成するために、ビデオエンコーダ２０は、スライス内の各ツリーブロックに関連付けられた符号化されたデータを生成することができる。スライスに関連付けられた符号化されたデータは、コード化ツリーブロックと呼ばれ得る。
【００４２】
[0047]コード化ツリーブロックを生成するために、ビデオエンコーダ２０は、ツリーブロックのビデオブロック上で４分木区分を再帰的に実行して、ビデオブロックを徐々により小さいビデオブロックに分割することができる。より小さいビデオブロックの各々は、異なるＣＵに関連付けることができる。区分されたＣＵは、そのビデオブロックが他のＣＵに関連付けられたビデオブロックに区分されたＣＵであり得る。区分されていないＣＵは、そのビデオブロックが他のＣＵに関連付けられたビデオブロックに区分されていないＣＵであり得る。
【００４３】
[0048]ビデオエンコーダ２０は、区分されていないＣＵごとに１つまたは複数の予測ユニット（ＰＵ）を生成することができる。ＣＵのＰＵの各々は、ＣＵのビデオブロック内の異なるビデオブロックに関連付けることができる。ビデオエンコーダ２０は、ＣＵのＰＵごとに予測ビデオブロックを生成することができる。ＰＵの予測ビデオブロックはサンプルのブロックであり得る。
【００４４】
[0049]ビデオエンコーダ２０は、イントラ予測またはインター予測を使用して、ＰＵ用の予測ビデオブロックを生成することができる。ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ビデオブロックを生成する場合、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号されたサンプルに基づいて、ＰＵの予測ビデオブロックを生成することができる。
【００４５】
[0050]ビデオエンコーダ２０がインター予測を使用してピクチャのＰＵの予測ビデオブロックを生成する場合、ビデオエンコーダ２０は、ピクチャに関連付けられた一組の参照ピクチャを検索して、参照ピクチャ内の１つまたは複数の参照ブロックを識別することができる。参照ブロックは、ＰＵのビデオブロックに視覚的に対応するビデオブロックであり得る。参照ピクチャは、ＰＵを含むピクチャ以外のピクチャである。ビデオエンコーダ２０は、ＰＵ用の動き情報（たとえば、参照ピクチャインデックス、動きベクトル、予測方向インジケータなど）を生成することができる。以下に記載されるように、ビデオデコーダ３０は、ＰＵ用の動き情報を使用して、１つまたは複数の参照ブロックを識別することができる。加えて、ビデオエンコーダ２０は、１つまたは複数の識別された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成することができる。
【００４６】
[0051]ビデオエンコーダ２０は、ＣＵのＰＵの予測ビデオブロックに基づいて、ＣＵ用の残差ビデオブロックを生成することができる。ＣＵ用の残差ビデオブロックは、ＣＵのＰＵ用の予測ビデオブロック内のサンプルと、ＣＵの元のビデオブロック内のサンプルとの間の差分を示すことができる。
【００４７】
[0052]さらに、ビデオエンコーダ２０は、再帰的な４分木区分を実行して、ＣＵの残差ビデオブロックをＣＵのＴＵに関連付けられた残差ビデオブロックに区分することができる。ビデオコーダ２０は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用して、係数ブロック（すなわち、係数のブロック）を生成することができる。概念的に、係数ブロックは係数の２次元（２Ｄ）行列であり得る。ビデオエンコーダ２０は、係数ブロックに対して量子化プロセスを実行することができる。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために係数を量子化するプロセスを指し、さらなる圧縮を行う。ビデオエンコーダ２０は、量子化された係数ブロック内の係数を表すシンタックス要素のセットを生成することができる。ビデオエンコーダ２０は、これらのシンタックス要素のうちの少なくともいくつかに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）オペレーションなどのエントロピー符号化オペレーションを適用することができる。
【００４８】
[0053]ビデオエンコーダ２０によって生成されたビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを含むことができる。ＮＡＬユニットの各々は、ＮＡＬユニット内のデータのタイプの指示と、データを含むバイトとを含むシンタックス構造であり得る。たとえば、ＮＡＬユニットは、ＳＰＳ、ＰＰＳ、コード化スライス、補助強化情報（ＳＥＩ：supplemental enhancement information）、アクセスユニットデリミタ（delimiter）、フィラーデータ（filler data）、または別のタイプのデータを表すデータを含む場合がある。コード化スライスのＮＡＬユニットは、コード化スライスを含むＮＡＬユニットである。ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットは、コード化スライスのＮＡＬユニット用の別の用語である。非ＶＣＬのＮＡＬユニットは、ＶＣＬのＮＡＬユニットではないＮＡＬユニットである。
【００４９】
[0054]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信することができる。ビットストリームは、ビデオエンコーダ２０によって符号化されたビデオデータのコード化された表現を含むことができる。ビデオデコーダ３０は、ビットストリームに対して解析オペレーション（parsing operation）を実行することができる。解析オペレーションを実行することの一部として、ビデオデコーダ３０は、ビットストリームからシンタックス要素を抽出することができる。ビットストリームからシンタックス要素を抽出することの一部として、ビデオデコーダ３０は、ビットストリーム内のデータに対してエントロピー復号（たとえば、ＣＡＶＡＣ復号）オペレーションを実行することができる。ビデオデコーダ３０は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを復元することができる。シンタックス要素に基づいてビデオデータを復元するプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ２０によって実行されるプロセスの逆であり得る。
【００５０】
[0055]ビデオデコーダ３０は、ピクチャ内のＣＵに関連付けられたシンタックス要素に基づいて、ＣＵのＰＵ用の予測ビデオブロックを生成することができる。場合によっては、ビデオデコーダ３０は、ＰＵに関連付けられたピクチャの復号されたサンプルに基づいて、イントラ予測を使用してＰＵ用の予測ビデオブロックを生成することができる。他の場合には、ビデオデコーダ３０は、現在ピクチャに関連付けられた一組の参照ピクチャ内の参照ピクチャに基づいて、インター予測を使用してＰＵ用の予測ビデオブロックを生成することができる。ビデオデコーダ３０がインター予測を使用してＰＵの予測ビデオブロックを生成する場合、ビデオデコーダ３０は、ＰＵ用の動き情報を使用して、一組の参照ピクチャ内の１つまたは複数の参照ブロックを識別することができる。ビデオデコーダ３０は、１つまたは複数の参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成することができる。
【００５１】
[0056]ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた係数ブロックを逆量子化することができる。ビデオデコーダ３０は、逆量子化された係数ブロックに対して逆変換を適用して、ＣＵのＴＵに関連付けられた残差ビデオブロックを復元することができる。ビデオデコーダ３０は、予測ビデオブロックと残差ビデオブロックとに基づいて、ＣＵのビデオブロックを復元することができる。このようにして、ビデオデコーダ３０は、ビットストリーム内のシンタックス要素に基づいて、ＣＵのビデオブロックを復元することができる。
【００５２】
[0057]上述されたように、ビデオエンコーダ２０は係数ブロックを量子化することができ、ビデオデコーダ３０は係数ブロックを逆量子化することができる。いくつかの例では、ビデオエンコーダ２０は、量子化行列を使用して係数ブロックを量子化することができる。量子化行列は、係数ブロックと同じ次元を有する値の２次元アレイであり得る。ビデオエンコーダ２０がＣＵのＴＵに関連付けられた係数ブロック内の係数を量子化するとき、ビデオエンコーダ２０はＣＵに関連付けられた量子化パラメータ（ＱＰ）の値を、係数ブロック内の係数の位置に対応する量子化行列内の位置にある値と乗算することができる。ビデオデコーダ３０は、係数ブロックを逆量子化するとき、ビデオエンコーダ２０が係数ブロックを量子化するとき使用した同じＱＰ値と量子化行列とを使用することができる。
【００５３】
[0058]ビデオエンコーダ２０は、同じサイズの様々な係数ブロックを量子化するとき、様々な量子化行列を使用することができる。同じサイズの様々な係数ブロックを量子化するとき様々な量子化行列を使用すると、復号されたビデオデータの主観的品質が向上し得る。ビデオエンコーダ２０は、同じサイズの係数ブロックを量子化するために使用される量子化行列を動的に生成することができる。ビデオエンコーダ２０は量子化行列を動的に生成することができるので、ビデオデコーダ３０は、ビデオエンコーダ２０が使用できるすべての量子化行列で事前構成されない。
【００５４】
[0059]ビデオデコーダ３０は、ビデオエンコーダ２０が係数ブロックを量子化するために使用する同じ量子化行列を使用して、係数ブロックを逆量子化するので、かつビデオデコーダ３０は、ビデオエンコーダ２０が使用できるすべての量子化行列で事前構成されないので、ビデオエンコーダ２０は、ビットストリームに量子化行列を含めることができる。たとえば、ビットストリームは、複数の量子化行列をシグナリングするパラメータセットを含むことができる。この例では、ビデオエンコーダ２０は、ＰＰＳに関連付けられたスライス内の係数ブロックを量子化するために使用される量子化行列を、ＰＰＳに含めることができる。別の例では、ビデオエンコーダ２０は、ＳＰＳに関連付けられたＰＰＳに関連付けられたスライス内の係数ブロックを量子化するためにＱＰ値とともに使用される量子化行列を、ＳＰＳに含めることができる。
【００５５】
[0060]上記に示されたように、ビデオエンコーダ２０はＰＰＳとＳＰＳとを含むＮＡＬユニットを生成することができる。ＰＰＳとＳＰＳとを含むＮＡＬユニットは、非ＶＣＬのＮＡＬユニットである。ＰＰＳまたはＳＰＳに量子化行列が含まれると、ＰＰＳまたはＳＰＳを含むＮＡＬユニットは、エンドツーエンド伝送経路のＭＴＵサイズよりも大きくなる。ＭＴＵサイズは様々なサイズであり得る。たとえば、ネットワークレイヤにあるイーサネット（登録商標）上のエンドツーエンド伝送経路のＭＴＵサイズは、１５００バイトであり得る。別の例では、いくつかのタイプのワイヤレスネットワークを必要とするエンドツーエンド伝送経路のＭＴＵサイズは、２００または３００バイトであり得る。他の例では、ＭＴＵサイズは、物理レイヤ、ネットワークレイヤ、トランスポートレイヤ、アプリケーションレイヤなどのネットワークスタックの様々なレイヤにある様々な通信プロトコル内の伝送単位の最大サイズであり得る。それに応じて、パケッタイザは、ＭＴＵサイズよりも大きいＮＡＬユニットを２つ以上のパケットの中に分割することができる。パケットのうちのいずれか１つが損失すると、ＮＡＬユニット全体が無駄になり得るので、ＮＡＬユニットを複数のパケットの中に分割することは望ましくない場合がある。これは、ビデオデコーダ３０は、ＮＡＬユニットの損失した部分のデータがなければ、ＮＡＬユニットの受信された部分のデータを解釈することができないからである。
【００５６】
[0061]Ｈ．２６４／ＡＶＣの場合、イントラ予測用、インター予測用、ならびにＹ成分、Ｃｂ成分およびＣｒ成分用にも、個別の量子化行列が使用される。Ｈ．２６４／ＡＶＣには、４×４の係数ブロック用の６個の量子化行列が存在する。Ｈ．２６４／ＡＶＣだけに、８×８のＹ成分の係数ブロック用の量子化行列が可能である。したがって、Ｈ．２６４／ＡＶＣには、８×８の係数ブロック用の２つの可能な量子化行列が存在する。
【００５７】
[0062]ドラフトのＨＥＶＣ規格では、４×４、８×８、１６×１６、および３２×３２の変換サイズが可能である。さらに、ドラフトのＨＥＶＣ規格では、２４個の量子化行列（すなわち、４×４、８×８、１６×１６、および３２×３２の係数ブロック、イントラ／インター、およびＹ成分、Ｃｂ成分、Ｃｒ成分用の個別の量子化行列）が存在する可能性がある。したがって、８１６０個の値をシグナリングする必要があり得る。Ｈ．２６４／ＡＶＣに使用される方法（予測残差の指数型ゴロムコード化、１次予測、ジグザグ走査）と同じ方法を使用すると、２４個の量子化行列すべてをシグナリングするためにほぼ２５，０００ビットが必要になり得る。したがって、効率的な圧縮方法を使用するときでも、量子化行列を含み、基礎となるトランスポートプロトコルによってフレーム化されることなく単一の伝送単位（たとえば、リアルタイムトランスポートプロトコルのパケット）にカプセル化することができる単一のＮＡＬユニットを生成することは、実現可能ではない可能性がある。
【００５８】
[0063]本開示の技法によれば、ビデオエンコーダ２０は、同じパラメータセットの様々な断片を含む複数のＮＡＬユニットを生成することができる。パラメータセットは、ＳＰＳ、ＰＰＳ、およびＡＰＳ、または別のタイプのパラメータセットであり得る。これらのＮＡＬユニットの各々のサイズは、ソースデバイス１２がＮＡＬユニットを送ろうとしているエンドツーエンド伝送経路の（たとえば、１５００バイトであり得る）ＭＴＵサイズ以下であり得る。
【００５９】
[0064]たとえば、ビデオエンコーダ２０は第１のＮＡＬユニットを生成することができる。第１のＮＡＬユニットは、ビデオデータに関連付けられたパラメータセットの第１の断片を含むことができる。加えて、ビデオエンコーダ２０は第２のＮＡＬユニットを生成することができる。第２のＮＡＬユニットはパラメータセットの第２の断片を含むことができる。第１のＮＡＬユニットおよび第２のＮＡＬユニットは、非ＶＣＬのＮＡＬユニットであり得る。この例では、ソースデバイス１２または別のコンピューティングデバイスは、第１のＮＡＬユニットを通信プロトコルの第１のパケットにカプセル化することができる。ソースデバイス１２または別のコンピューティングデバイスは、第２のＮＡＬユニットを通信プロトコルの第２のパケットにカプセル化することができる。ソースデバイス１２または別のコンピューティングデバイスは、チャネル１６上で第１のパケットと第２のパケットとを送ることができる。宛先デバイス１４は、通信プロトコル内の第１のパケットと第２のパケットとを含むビットストリームを受信することができる。
【００６０】
[0065]ビデオエンコーダ２０は、パラメータセットの他の各断片が損失しても、断片の各々が少なくともいくぶんビデオデコーダ３０に有用であるように、パラメータセットの断片を生成することができる。たとえば、ビデオエンコーダ２０は、ビデオデコーダ３０が断片内のデータを正確に解釈するためにパラメータセットの別の断片内のいかなるデータも必要としないように、断片を生成することができる。たとえば、この例では、ビデオエンコーダ２０は、第１の断片を含む第１のＮＡＬユニットを生成することができ、第２の断片を含む第２のＮＡＬユニットを生成することができる。第１の断片は、第２の断片を参照せずに復号可能であり得、第２の断片は、第１の断片を参照せずに復号可能であり得る。このようにして、様々なＮＡＬユニット内のパラメータセットの断片を送ると、パラメータセットの任意の受信された断片は、パラメータセットの他の断片が伝送内で受信、破壊、または損失されたかどうかにかかわらず、デコーダにより依然復号可能なので、まだ有用であり得るという意味で、誤り耐性が増大し得る。
【００６１】
[0066]いくつかの例では、ビデオエンコーダ２０は、量子化行列間の差分をシグナリングすることによって、パラメータセット内の量子化行列をシグナリングすることができる。その結果、ビデオデコーダ３０は、量子化行列用のシグナリングされた差分を別の量子化行列に加算することによって、量子化行列を復元（すなわち、予測）することができる。いくつかの例では、ビデオデコーダ３０は、１つもしくは複数の他の量子化行列から、または量子化行列用のシグナリングされた値のサブセットから量子化行列の値を補間することによって、量子化行列を復元することができる。
【００６２】
[0067]しかしながら、いくつかの例では、ビデオエンコーダ２０は、パラメータセットの１つの断片内の量子化行列がパラメータセットの別の断片内の量子化行列に依存しないように、量子化行列用の予測モードを選択することができる。たとえば、第１のＮＡＬユニットは量子化行列の第１のサブセットを含むことができ、第２のＮＡＬユニットは量子化行列の第２のサブセットを含む。この例では、ビデオエンコーダ２０は、量子化行列の第１のサブセット内の各量子化行列が第２のＮＡＬユニット内のデータを参照せずに決定可能であり得るし、量子化行列の第２のサブセット内の各量子化行列が第１のＮＡＬユニット内のデータを参照せずに決定可能であり得るように、量子化行列用の予測モードを選択することができる。たとえば、この例では、パラメータセットの様々な断片内に量子化行列間の差分コード化は存在し得ない。
【００６３】
[0068]パラメータセットが一組の量子化行列を含むいくつかの例では、パラメータセットの断片を含む各ＮＡＬユニットは、許可されたタイプの量子化行列の予測を示す１つまたは複数のシンタックス要素を含むことができる。さらに、パラメータセットが一組の量子化行列を含むいくつかの例では、パラメータセットの断片を含むＮＡＬユニットは、断片がパラメータセットの量子化行列のすべてを含まないことを明示するシンタックス要素を含むことができる。
【００６４】
[0069]図２は、本開示の技法を実装するように構成された例示的なビデオエンコーダ２０を示すブロック図である。図２は、説明の目的で提供され、本開示において広く例示され記載される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキスト内のビデオエンコーダ２０を記載する。しかしながら、本開示の技法は、他のコーディング規格またはコーディング方法に適用可能であり得る。
【００６５】
[0070]図２の例では、ビデオエンコーダ２０は、複数の機能構成要素を含む。ビデオエンコーダ２０の機能構成要素は、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換処理ユニット１１０と、復元ユニット１１２と、フィルタユニット１１３と、復号ピクチャバッファ１１４と、エントロピー符号化ユニット１１６とを含む。予測処理ユニット１００は、インター予測処理ユニット１２１と、動き推定ユニット１２２と、動き補償ユニット１２４と、イントラ予測処理ユニット１２６とを含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能構成要素を含む場合がある。さらに、動き推定ユニット１２２と動き補償ユニット１２４は、高度に統合できるが、図２の例では、説明の目的で別々に表されている。加えて、図２の例には示されていないが、いくつかの例では、ビデオエンコーダ２０は、ビデオエンコーダ２０の他の機能構成要素によって生成されたデータに基づいて、ＮＡＬユニットを生成する構成要素を含む場合がある。
【００６６】
[0071]ビデオエンコーダ２０は、ピクチャを符号化することができる。ピクチャを符号化することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスを符号化することができる。スライスを符号化することの一部として、ビデオエンコーダ２０は、スライス内のツリーブロックを符号化することができる。
【００６７】
[0072]ビデオエンコーダ２０は、ラスタ走査順序に従って、スライスのツリーブロックを符号化することができる。言い換えれば、ビデオエンコーダ２０は、スライス内のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次に低い行にわたって左から右に進み、以下同様の順序で、ビデオエンコーダ２０がスライス内のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化することができる。
【００６８】
[0073]ラスタ走査順序に従ってツリーブロックを符号化する結果として、所与のツリーブロックの上側および左側のツリーブロックは符号化することができるが、所与のツリーブロックの下側および右側のツリーブロックはまだ符号化されていない。その結果、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上側および左側のツリーブロックを符号化することによって生成された情報にアクセスすることができる可能性がある。しかしながら、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下側および右側のツリーブロックを符号化することによって生成された情報にアクセスすることはできない可能性がある。
【００６９】
[0074]ツリーブロックを符号化することの一部として、予測処理ユニット１００は、ツリーブロックのビデオブロックに対して４分木区分を実行して、ビデオブロックを徐々により小さいビデオブロックに分割することができる。より小さいビデオブロックの各々は、異なるＣＵと関連付けることができる。たとえば、予測処理ユニット１００は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックの１つまたは複数を４つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
【００７０】
[0075]ＣＵに関連付けられたビデオブロックのサイズは、８×８サンプルから、最大で６４×６４サンプル以上のツリーブロックのサイズまでわたる場合がある。本開示では、「Ｎ×Ｎ（ＮｘＮ）」および「Ｎ×Ｎ（Ｎ  ｂｙ  Ｎ）」は、垂直方向の寸法および水平方向の寸法に関するビデオブロックのサンプルの寸法、たとえば、１６×１６（１６ｘ１６）サンプルまたは１６×１６（１６  ｂｙ  １６）サンプルを指すように互換的に使用することができる。一般に、１６×１６のビデオブロックは、垂直方向に１６個のサンプルを有し（ｙ＝１６）、水平方向に１６個のサンプルを有する（ｘ＝１６）。同様に、Ｎ×Ｎのブロックは、一般に、垂直方向にＮ個のサンプルを有し、水平方向にＮ個のサンプルを有し、ここで、Ｎは非負整数値を表す。
【００７１】
[0076]さらに、ツリーブロックを符号化することの一部として、予測処理ユニット１００は、ツリーブロック用の階層型４分木データ構造を生成することができる。たとえば、ツリーブロックは、４分木データ構造のルートノードに対応することができる。予測処理ユニット１００が、ツリーブロックのビデオブロックを４つのサブブロックに区分する場合、ルートノードは、４分木データ構造内に４つの子ノードを有する。子ノードの各々は、サブブロックの１つに関連付けられたＣＵに対応する。予測処理ユニット１００が、サブブロックの１つを４つのサブサブブロックに区分する場合、サブブロックに関連付けられたＣＵに対応するノードは、サブサブブロックの１つに関連付けられたＣＵに各々が対応する、４つの子ノードを有することができ、以下同様である。
【００７２】
[0077]４分木データ構造の各ノードは、対応するツリーブロックまたはＣＵ用のシンタックスデータ（たとえば、シンタックス要素）を含む場合がある。たとえば、４分木の中のノードは、そのノードに対応するＣＵのビデオブロックが４つのサブブロックに区分される（すなわち、分割される）かどうかを示す分割フラグを含む場合がある。ＣＵのシンタックス要素は再帰的に定義される場合があり、ＣＵのビデオブロックがサブブロックに分割されるかどうかに依存する場合がある。ビデオブロックが区分されていないＣＵは、４分木データ構造におけるリーフノードに対応する場合がある。コード化ツリーブロックは、対応するツリーブロック用の４分木データ構造に基づくデータを含む場合がある。
【００７３】
[0078]ビデオエンコーダ２０は、ツリーブロックのＣＵを符号化して、ＣＵの符号化された表現（すなわち、コード化ＣＵ）を生成することができる。ビデオエンコーダ２０は、Ｚ走査順序に従って、ツリーブロックのＣＵを符号化することができる。言い換えれば、ビデオエンコーダ２０は、上左のＣＵと、上右のＣＵと、下左のＣＵと、次いで下右のＣＵとを、その順序で符号化することができる。ビデオエンコーダ２０が区分されたＣＵを符号化するとき、ビデオエンコーダ２０は、Ｚ走査順序に従って区分されたＣＵのビデオブロックのサブブロックに関連付けられたＣＵを符号化することができる。言い換えれば、ビデオエンコーダ２０は、上左のサブブロックに関連付けられたＣＵと、上右のサブブロックに関連付けられたＣＵと、下左のサブブロックに関連付けられたＣＵと、次いで下右のサブブロックに関連付けられたＣＵとを、その順序で符号化することができる。
【００７４】
[0079]Ｚ走査順序に従ったツリーブロックのＣＵの符号化の結果として、所与のＣＵの上、上左、上右、左、および下左のＣＵは符号化されている。所与のＣＵの下または右のＣＵはまだ符号化されていない。その結果、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接するいくつかのＣＵを符号化することによって生成された情報にアクセスすることができる可能性がある。しかしながら、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する他のＣＵを符号化することによって生成された情報にアクセスすることができない可能性がある。
【００７５】
[0080]ＣＵを符号化することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの中で、ＣＵのビデオブロックを区分することができる。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なＰＵサイズをサポートすることができる。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、イントラ予測用の２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、インター予測用の２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、または同様の対称ＰＵサイズとをサポートすることができる。ビデオエンコーダ２０およびビデオデコーダ３０は、インター予測用の２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分もサポートすることができる。
【００７６】
[0081]インター予測処理ユニット１２１は、ＣＵの各ＰＵに対してインター予測を実行することができる。インター予測は時間圧縮を提供することができる。インター予測処理ユニット１２１は、ＰＵ用の予測データを生成することができる。ＰＵ用の予測データは、ＰＵに対応する予測ビデオブロックとＰＵ用の動き情報とを含むことができる。動き推定ユニット１２２は、ＰＵ用の動き情報を生成することができる。場合によっては、動き推定ユニット１２２は、マージモードまたは高度動きベクトル予測（ＡＭＶＰ）モードを使用して、ＰＵの動き情報をシグナリングすることができる。動き補償ユニット１２４は、現在ピクチャとは異なる１つまたは複数のピクチャ（すなわち、参照ピクチャ）のサンプルに基づいて、ＰＵの予測ビデオブロックを生成することができる。
【００７７】
[0082]スライスは、Ｉスライス、Ｐスライス、またはＢスライスであり得る。動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵがＩスライス内にあるか、Ｐスライス内にあるか、Ｂスライス内にあるかに応じて、ＣＵのＰＵに対して異なる動作を実行することができる。Ｉスライスでは、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス内にある場合、動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵに対してインター予測を実行しない。
【００７８】
[0083]ＰＵがＰスライス内にある場合、ＰＵを含むピクチャは、「リスト０」と呼ばれる参照ピクチャのリストに関連付けられる。いくつかの例では、リスト０に列記された各参照ピクチャは、表示順序において現在ピクチャの前に現れる。リスト０の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含む。動き推定ユニット１２２は、Ｐスライス内のＰＵ用の参照ブロックを求めて、リスト０の参照ピクチャを検索することができる。ＰＵの参照ブロックは、ＰＵのビデオブロック内のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット１２２は、様々なメトリクスを使用して、参照ピクチャ内のサンプルのセットがどの程度密接にＰＵのビデオブロック内のサンプルに対応するかを決定することができる。たとえば、動き推定ユニット１２２は、絶対値差分和（ＳＡＤ）、２乗差分和（ＳＳＤ）、または他の差分メトリクスにより、参照ピクチャ内のサンプルのセットがどの程度密接にＰＵのビデオブロック内のサンプルに対応するかを決定することができる。
【００７９】
[0084]動き推定ユニット１２２は、Ｐスライス内のＰＵの参照ブロックを含む、リスト０の参照ピクチャを示す参照ピクチャインデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成することができる。動き推定ユニット１２２は、動きベクトルを様々な精度に生成することができる。たとえば、動き推定ユニット１２２は、１／４サンプル精度、１／８サンプル精度、または他の分数のサンプル精度で動きベクトルを生成することができる。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ内の整数位置のサンプル値から補間することができる。動き推定ユニット１２２は、ＰＵの動き情報として、参照ピクチャインデックスと動きベクトルとを出力することができる。動き補償ユニット１２４は、ＰＵの動き情報に関連付けられた参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成することができる。
【００８０】
[0085]ＰＵがピクチャのＢスライス内にある場合、ＰＵを含むピクチャは、「リスト０」および「リスト１」と呼ばれる参照ピクチャの２つのリストに関連付けることができる。いくつかの例では、リスト１に列記された各参照ピクチャは、表示順序においてピクチャの後に現れる。
【００８１】
[0086]さらに、ＰＵがＢスライス内にある場合、動き推定ユニット１２２は、ＰＵについての単方向インター予測または双方向インター予測を実行することができる。ＰＵについての単方向インター予測を実行するために、動き推定ユニット１２２は、ＰＵ用の参照ブロックを求めてリスト０またはリスト１の参照ピクチャを検索することができる。動き推定ユニット１２２は、参照ブロックを含む、リスト０またはリスト１の参照ピクチャを示す参照ピクチャインデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成することができる。加えて、動き推定ユニット１２２は、参照ブロックがリスト０またはリスト１にある参照ピクチャ内にあるかどうかを示す予測方向インジケータを生成することができる。
【００８２】
[0087]ＰＵについての双方向インター予測を実行するために、動き推定ユニット１２２は、ＰＵ用の参照ブロックを求めてリスト０の参照ピクチャを検索することができ、ＰＵ用の別の参照ブロックを求めてリスト１の参照ピクチャを検索することもできる。動き推定ユニット１２２は、参照ブロックを含む、リスト０およびリスト１の参照ピクチャを示す参照ピクチャインデックスと、参照ブロックとＰＵとの間の空間変位を示す動きベクトルとを生成することができる。ＰＵの動き情報は、ＰＵの参照ピクチャインデックスと動きベクトルとを含むことができる。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成することができる。
【００８３】
[0088]イントラ予測処理ユニット１２６は、ＰＵに対してイントラ予測を実行することができる。イントラ予測は空間圧縮を提供することができる。イントラ予測処理ユニット１２６は、ＰＵと同じピクチャ内の復号されたサンプルに基づいて、ＰＵ用の予測データを生成することができる。ＰＵ用の予測データは、予測ビデオブロックと様々なシンタックス要素とを含むことができる。イントラ予測処理ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライスの中のＰＵに対してイントラ予測を実行することができる。
【００８４】
[0089]ＰＵに対してイントラ予測を実行するために、イントラ予測処理ユニット１２６は、複数のイントラ予測モードを使用して、ＰＵ用の予測データの複数のセットを生成することができる。イントラ予測モードを使用してＰＵ用の予測データのセットを生成するために、イントラ予測処理ユニット１２６は、イントラ予測モードに関連付けられた方向および／または勾配（gradient）で、隣接ＰＵのビデオブロックからＰＵのビデオブロックにわたって、サンプルを延ばすことができる。隣接ＰＵは、ＰＵ、ＣＵおよびツリーブロックについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、および／または左にあり得る。イントラ予測処理ユニット１２６は、様々な数のイントラ予測モード、たとえば、３３個の方向のイントラ予測モードを使用することができる。いくつかの例では、イントラ予測モードの数はＰＵのサイズに依存する場合がある。
【００８５】
[0090]予測処理ユニット１００は、ＰＵについてインター予測処理ユニット１２１によって生成された予測データ、またはＰＵについてイントラ予測処理ユニット１２６によって生成された予測データの中から、ＰＵ用の予測データを選択することができる。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／歪みのメトリクスに基づいて、ＰＵ用の予測データを選択する。
【００８６】
[0091]残差生成ユニット１０２は、ＣＵのビデオブロックからＣＵのＰＵの予測ビデオブロックを減算することによって、ＣＵ用の残差データを生成することができる。ＣＵの残差データは、ＣＵのビデオブロック内のサンプルの様々なサンプル成分に対応する残差ビデオブロックを含むことができる。たとえば、残差データは、ＣＵのＰＵの予測ビデオブロック内のサンプルの輝度成分と、ＣＵの元のビデオブロック内のサンプルの輝度成分との間の差分に対応する、残差ビデオブロックを含むことができる。加えて、ＣＵの残差データは、ＣＵのＰＵの予測ビデオブロック内のサンプルのクロミナンス成分と、ＣＵの元のビデオブロック内のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含むことができる。
【００８７】
[0092]予測処理ユニット１００は、４分木区分を実行して、ＣＵの残差ビデオブロックをサブブロックに区分することができる。各々の分割されていない残差ビデオブロックは、ＣＵの異なるＴＵに関連付けることができる。ＣＵのＴＵに関連付けられた残差ビデオブロックのサイズおよび位置は、ＣＵのＰＵに関連付けられたビデオブロックのサイズおよび位置に基づく場合があるか、または基づかない場合がある。「残差４分木」（ＲＱＴ）として知られる４分木構造は、残差ビデオブロックの各々に関連付けられたノードを含む場合がある。ＣＵのＴＵはＲＱＴのリーフノードに対応する場合がある。
【００８８】
[0093]変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用することによって、ＣＵのＴＵごとに１つまたは複数の係数ブロックを生成することができる。係数ブロックの各々は係数の２Ｄ行列であり得る。変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに様々な変換を適用することができる。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向変換、または概念的に同様の変換を、ＴＵに関連付けられた残差ビデオブロックに適用することができる。
【００８９】
[0094]量子化ユニット１０６は、ＣＵのＴＵに関連付けられた係数ブロック内の係数を量子化することができる。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。たとえば、ｎビットの係数は量子化を通じてｍビットに切り捨てることができ、ここでｎはｍよりも大きい。量子化ユニット１０６は、ＣＵに関連付けられたＱＰ値とともに量子化行列を使用して、ＣＵのＴＵに関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた変換係数ブロックに適用される量子化の程度を調整することができる。
【００９０】
[0095]逆量子化ユニット１０８および逆変換処理ユニット１１０は、それぞれ、係数ブロックに逆量子化と逆変換とを適用して、係数ブロックから残差ビデオブロックを復元することができる。復元ユニット１１２は、復元された残差ビデオブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ビデオブロックからの対応するサンプルに追加して、ＴＵに関連付けられた復元されたビデオブロックを生成することができる。このようにしてＣＵのＴＵごとにビデオブロックを復元することによって、ビデオエンコーダ２０は、ＣＵのビデオブロックを復元することができる。
【００９１】
[0096]フィルタユニット１１３は、デブロッキング動作を実行して、ＣＵに関連付けられたビデオブロック内のブロッキングアーティファクトを低減することができる。１つまたは複数のデブロッキング動作を実行した後、フィルタユニット１１３は、復号ピクチャバッファ１１４にＣＵの復元されたビデオブロックを記憶することができる。動き推定ユニット１２２および動き補償ユニット１２４は、復元されたビデオブロックを含む参照ピクチャを使用して、後続ピクチャのＰＵに対してインター予測を実行することができる。加えて、イントラ予測処理ユニット１２６は、復号ピクチャバッファ１１４内の復元されたビデオブロックを使用して、ＣＵと同じピクチャ内の他のＰＵに対してイントラ予測を実行することができる。
【００９２】
[0097]エントロピー符号化ユニット１１６は、ビデオエンコーダ２０の他の機能構成要素からデータを受信することができる。たとえば、エントロピー符号化ユニット１１６は、量子化ユニット１０６から係数ブロックを受信することができ、予測処理ユニット１００からシンタックス要素を受信することができる。エントロピー符号化ユニット１１６は、データに対して１つまたは複数のエントロピー符号化オペレーションを実行して、エントロピー符号化データを生成することができる。たとえば、ビデオエンコーダ２０は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）オペレーション、ＣＡＢＡＣオペレーション、変数−変数（Ｖ２Ｖ）レングスコーディングオペレーション、シンタックスベースのコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）オペレーション、Ｐｒｏｂａｂｉｌｉｔｙ  Ｉｎｔｅｒｖａｌ  Ｐａｒｔｉｔｉｏｎｉｎｇ  Ｅｎｔｒｏｐｙ（ＰＩＰＥ）コーディングオペレーション、または別のタイプのエントロピー符号化オペレーションをデータに対して実行することができる。エントロピー符号化ユニット１１６は、エントロピー符号化データを含むビットストリームを出力することができる。
【００９３】
[0098]データに対してエントロピー符号化オペレーションを実行することの一部として、エントロピー符号化ユニット１１６は、コンテキストモデルを選択することができる。エントロピー符号化ユニット１１６がＣＡＢＡＣオペレーションを実行している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示すことができる。ＣＡＢＡＣのコンテキストでは、「ビン」という用語は、シンタックス要素の２値化されたバージョンのビットを指すために使用される。
【００９４】
[0099]上述されたように、ビデオエンコーダ２０は、一連のＮＡＬユニットを含むビットストリームを生成し得る。ＮＡＬユニットの各々は、ＮＡＬユニットヘッダと、生のバイトシーケンスペイロード（ＲＢＳＰ）とを含み得る。ＮＡＬユニットのＮＡＬユニットヘッダは、ＮＡＬユニットのタイプを示すシンタックス要素（ｎａｌ＿ｕｎｉｔ＿ｔｙｐｅ）を含み得る。ＲＢＳＰは、ＮＡＬユニット内にカプセル化された整数個のバイトを含むシンタックス構造であり得る。ＲＢＳＰは、空か、または、後にＲＢＳＰストップビットおよび０個以上の０に等しい後続ビットが続くシンタックス要素を含む、データのストリングの形態を有するかのいずれかであり得る。様々なタイプのＮＡＬユニットは、様々なタイプのＲＢＳＰを含む。様々なタイプのＲＢＳＰは、様々なタイプのコード化ビデオデータを含む。
【００９５】
[0100]たとえば、コード化スライスのＮＡＬユニットは、スライスに関連付けられたコード化シンタックス要素を含むＲＢＳＰを含む場合がある。スライスに関連付けられたコード化シンタックス要素は、ビデオデコーダ３０がスライス内のビデオブロックの量子化された係数を決定するために使用できるシンタックス要素と、ビデオデコーダ３０がスライスのインター予測されたＰＵの動き情報を決定するために使用できるシンタックス要素と、イントラ予測コーディングモードなどとを含む場合がある。さらに、パラメータセットのＮＡＬユニットは、パラメータセットのデータを含むＲＢＳＰを含む場合がある。例示的なタイプのパラメータセットのＮＡＬユニットには、ＰＰＳのＮＡＬユニット、ＳＰＳのＮＡＬユニット、ＡＰＳのＮＡＬユニット、およびパラメータセットを含む他のタイプのＮＡＬユニットが含まれる。ＰＰＳのＮＡＬユニットは、ＰＰＳのデータを含むＲＢＳＰを含むＮＡＬユニットである。ＳＰＳのＮＡＬユニットは、ＳＰＳのデータを含むＲＢＳＰを含むＮＡＬユニットである。ＡＰＳのＮＡＬユニットは、ＡＰＳのデータを含むＲＢＳＰを含むＮＡＬユニットである。
【００９６】
[0101]本開示の技法によれば、ビデオエンコーダ２０は、パラメータセットの断片のデータを含むＲＢＳＰを含むＮＡＬユニットを生成することができる。パラメータセットの断片のデータを含むＲＢＳＰは、様々なシンタックスに適合することができる。たとえば、ＡＰＳのＮＡＬユニットのＲＢＳＰは、下記表１のシンタックスに適合することができる。下記の例はＡＰＳのＮＡＬユニットを参照して説明されるが、本開示の技法は、ＰＰＳおよびＳＰＳなどの他のタイプのパラメータセットに適用可能であり得る。
【表１】
0005890031.tif 000002
【００９７】
[0102]表１の例示的なシンタックスでは、ａｐｓ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄパラメータは、ＡＰＳの識別子として働く値を指定する。ａｐｓ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄシンタックス要素の同じ値を有するＡＰＳのＮＡＬユニットは、同じＡＰＳに属する。
【００９８】
[0103]表１の例示的なシンタックスでは、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素は、量子化行列がＡＰＳ内でシグナリングされたかどうかを指定する。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素が０に等しい場合、量子化行列は現在のＡＰＳ内でシグナリングされず、現在のＡＰＳを参照するコード化ピクチャに使用されない。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素が１に等しい場合、量子化行列は現在のＡＰＳ内でシグナリングされ、現在のＡＰＳを参照するコード化ピクチャに使用される。このようにして、パラメータセットのＮＡＬユニットは、パラメータセットのＮＡＬユニットが１つまたは複数の量子化行列を含むことを示すフラグを含むことができる。
【００９９】
[0104]さらに、表１の例示的なシンタックスでは、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素は、許可された量子化行列予測のタイプを指定する。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が０に等しい場合、量子化行列内の量子化行列予測だけが許可される。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が１に等しい場合、同じパラメータセットのＮＡＬユニット内の量子化行列係数予測が、行列内または行列間の両方で許可される。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が２に等しい場合、同じパラメータセット内の量子化行列予測が、量子化行列とともに、量子化行列間だが１つのＮＡＬユニット内で、または、同じパラメータセットの異なるＮＡＬユニット内の量子化行列間で、許可される。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が３に等しい場合、量子化行列内から、同じパラメータセットのＮＡＬユニット内の他の量子化行列から、同じパラメータセットの異なるＮＡＬユニットからの他の量子化行列から、および異なるパラメータセット内の他の量子化行列からの量子化行列の予測がすべて許可される。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が０または１に等しい場合、ＡＰＳのセグメントは別個に復号可能であり得る。すなわち、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が０または１に等しい場合、パラメータセットの各セグメントは、パラメータセットの任意の他のセグメントを参照せずに復号することができる。
【０１００】
[0105]表１の例示的なシンタックスでは、ｑｍ＿ｆｒａｇｍｅｎｔ＿ｏｎｌｙ＿ａｐｓ＿ｆｌａｇシンタックス要素が１に等しい場合、現在のＡＰＳのＮＡＬユニットは、サンプル適応型オフセット（ＳＡＯ）関連シンタックス要素および適応型ループフィルタ（ＡＬＦ）関連シンタックス要素などの他のシンタックス要素ではなく、行列テーブルだけを含むことができる。ｑｍ＿ｆｒａｇｍｅｎｔ＿ｏｎｌｙ＿ａｐｓ＿ｆｌａｇシンタックス要素が０に等しい場合、現在のＡＰＳのＮＡＬユニットは、量子化行列と、ＳＡＯ関連シンタックス要素およびＡＬＦ関連シンタックス要素などの他のシンタックス要素の両方を含むことができる。存在しないとき、ｑｍ＿ｆｒａｇｍｅｎｔ＿ｏｎｌｙ＿ａｐｓ＿ｆｌａｇシンタックス要素は、０に等しいと推論される。このようにして、パラメータセットのＮＡＬユニットは、パラメータセットのＮＡＬユニットがパラメータセットの量子化行列のすべてを含むことを示すフラグを含むことができる。
【０１０１】
[0106]表１の例示的なシンタックスは、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｔａｂｌｅシンタックス構造を含む。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｔａｂｌｅシンタックス構造は、下記表２の例示的なシンタックスに適合することができる。
【表２】
0005890031.tif 000003
【０１０２】
[0107]表２のｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｔａｂｌｅシンタックス構造は、１つのＡＰＳのＮＡＬユニット内でシグナリングされた量子化行列を含むことができる。上記に示されたように、ａｐｓ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄシンタックス要素の同じ値を有するＮＡＬユニットの各々は、同じＡＰＳに属することができる。同じＡＰＳに属するＮＡＬユニットは、２４個の量子化行列の１つのフルセットを互いに含むことができる。
【０１０３】
[0108]表２の例示的なシンタックスでは、ｒｅｕｓｅ＿ｑｍ＿ｔａｂｌｅ＿ｆｌａｇシンタックス要素が１に等しい場合、ビデオデコーダ３０は、現在のＡＰＳの量子化行列が別のＡＰＳの量子化行列と等しいことを決定することができる。ｒｅｕｓｅ＿ａｐｓ＿ｉｄシンタックス要素は、他のＡＰＳの識別子を指定する。ｒｅｕｓｅ＿ｑｍ＿ｔａｂｌｅ＿ｆｌａｇシンタックス要素が０に等しい場合、現在のＡＰＳの量子化行列は、量子化行列テーブルの残りの部分内でシグナリングされる。
【０１０４】
[0109]さらに、表２の例では、ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が１に等しい場合、量子化行列テーブルは、現在のＡＰＳのすべての量子化行列を含むというわけではない。ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が０に等しい場合、量子化行列テーブルは、現在のＡＰＳのすべての量子化行列を含む。ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が存在しないとき、ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素は、０に等しいと推論される。
【０１０５】
[0110]表２の例示的なシンタックスでは、ｎｕｍ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｃｅｓシンタックス要素は、この量子化行列テーブル内でシグナリングされた量子化行列の数を指定する。ｎｕｍ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｃｅｓシンタックス要素が存在しないとき、この量子化行列テーブル内でシグナリングされた量子化行列の数は、２４に等しいと推論することができる。ｎｕｍ＿ｒｅｆ＿ａｐｓ＿ｆｏｒ＿ｑｍシンタックス要素は、この量子化行列テーブル内で画定された量子化行列を予測するために使用される参照ＡＰＳの数を指定する。ｒｅｆ＿ａｐｓ＿ｉｄ［ｉ］シンタックス要素は、この量子化行列テーブル内で画定された量子化行列を予測するために使用されるｉ番目の参照ＡＰＳの識別子を指定する。ｑｕａｎ＿ｍａｔｒｉｘ＿ｉｄ［ｉ］シンタックス要素は、この量子化行列テーブル内でシグナリングされたｉ番目の量子化行列の識別子を指定する。
【０１０６】
[0111]表２の例示的なシンタックスでは、ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］は、ｉ番目の量子化行列の予測モードを指定する。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が１に等しいとき、ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素の長さは１ビットであり得る。ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃシンタックス要素が２または３に等しいとき、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃ［ｉ］シンタックス要素の長さは２ビットであり得る。ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素が０に等しい場合、ｉ番目の量子化行列自体の内部の量子化行列予測が許可される。ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素が１に等しい場合、ｉ番目の量子化行列は、同じＡＰＳのＮＡＬユニット内の量子化行列から予測される。ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素が２に等しい場合、ｉ番目の量子化行列は、同じＡＰＳの量子化行列から予測される。ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素が３に等しい場合、ｉ番目の量子化行列は、異なるＡＰＳの量子化行列から予測される。
【０１０７】
[0112]したがって、ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素が０よりも大きい場合、ｉ番目の量子化行列は、ｑｍ＿ｉｄ［ｉ］シンタックス要素によって示された別の量子化行列から予測することができる。ビデオエンコーダ２０は、ｉ番目の量子化行列と予測された量子化行列との間の予測誤差を形成することができる。予測誤差は、ｉ番目の量子化行列と予測された量子化行列との間の差分を示すことができる。ビデオエンコーダ２０は、後に符号付き指数ゴロムコードまたは他の可変長コードが続くジグザグ走査を使用して予測誤差を符号化することができる。他の量子化行列がいずれかの次元でｉ番目の量子化行列よりも小さい場合、ビデオエンコーダ２０は、線形補間または別の補間方法を使用して、予測された量子化行列を形成することができる。
【０１０８】
[0113]他の量子化行列がいずれかの次元でｉ番目の量子化行列（すなわち、現在の量子化行列）よりもサイズにおいて大きい場合、ビデオエンコーダ２０は、予測された量子化行列を以下のように導出することができる。現在の量子化行列をＱ１、サイズをＮ×Ｎとする。さらに、他の量子化行列をＱ２、サイズをｋＮ×ｋＮとする。また、予測された量子化行列をＰＱ、サイズをＮ×Ｎとする。ｋは２の累乗である整数であり得る。この例では、ビデオエンコーダ２０は、Ｑ２（ｋｉ，ｋｊ）を中心とするサイズ（２ｍ＋１）×（２ｍ＋１）のウィンドウ内のＱ２のサンプルを平均化することによって、ＰＱ（ｉ，ｊ）を形成することができる。ビデオエンコーダ２０は、平均値を最も近いピクセルに丸めることができる。いくつかの例では、ビデオエンコーダ２０は、ウィンドウ内部のサンプルに重みを異なるように割り当てることができる。
【０１０９】
[0114]別の例では、ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ［ｉ］シンタックス要素が０であるとき、ビデオエンコーダ２０は、ジグザグ走査またはラスタ走査などの特定の走査で、量子化行列係数に対して空間予測を実行することができる。ビデオエンコーダ２０は、ゴロムコード化、指数ゴロムコード化、または他の可変長コードを使用して、予測誤差を符号化することができる。量子化行列パラメータの符号化は、損失の多い場合がある。量子化行列用の復号プロセスは、ビデオエンコーダ２０が損失の多い符号化を使用するか、または損失のない符号化を使用するかにかかわらず、同じであり得る。
【０１１０】
[0115]さらに、表２の例示的なシンタックスでは、ｒｅｆ＿ａｐｓ＿ｉｄｘ［ｉ］シンタックス要素は、両端値を含む０からｎｕｍ＿ｒｅｆ＿ａｐｓ＿ｆｏｒ＿ｑｍ−１までの範囲のすべてのｊの値についてｒｅｆ＿ａｐｓ＿ｉｄ［ｉ］シンタックス要素によって識別されたＡＰＳのリストへのインデックスを指定する。ｑｍ＿ｉｄ［ｉ］シンタックス要素は、現在のＡＰＳのｉ番目の量子化行列を予測するために使用された、ｒｅｆ＿ａｐｓ＿ｉｄｘ［ｉ］シンタックス要素によって識別されたＡＰＳ内でシグナリングされた量子化行列の識別子を指定する。ｑｍ＿ｐｒｅｄ＿ｓｋｉｐ＿ｆｌａｇ［ｉ］シンタックス要素が１に等しい場合、ｉ番目の量子化行列が予測され、係数は、予測された量子化行列を改善するためにシグナリングされない。ｑｍ＿ｐｒｅｄ＿ｓｋｉｐ＿ｆｌａｇ［ｉ］シンタックス要素が０に等しい場合、ｉ番目の量子化行列の係数は、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｃｏｅｆｓシンタックステーブル内でシグナリングされる。ｑｍ＿ｐｒｅｄ＿ｓｋｉｐ＿ｆｌａｇ［ｉ］シンタックス要素は、存在しないとき０に等しいと推論される。
【０１１１】
[0116]別の例では、ＡＰＳのＲＢＳＰは、下記表３に示された例示的なシンタックスに適合することができる。
【表３】
0005890031.tif 000004
【０１１２】
[0117]表３の例示的なシンタックスでは、ａｐｓ＿ｉｄシンタックス要素は、ＡＰＳの識別子を指定する。１つのＡＰＳに関連付けられた２つ以上のＡＰＳのＮＡＬユニットが存在する場合がある。同じＡＰＳの断片を含むＡＰＳのＮＡＬユニットの各々は、ａｐｓ＿ｉｄシンタックス要素の同じ値を指定することができる。
【０１１３】
[0118]さらに、表３の例示的なシンタックスでは、ｆｉｒｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が１に等しい場合、ＡＰＳのＮＡＬユニットは、ａｐｓ＿ｉｄシンタックス要素によって識別されたＡＰＳの最初のＡＰＳのＮＡＬユニットである。ｆｉｒｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が０に等しい場合、ＡＰＳのＮＡＬユニットは、ａｐｓ＿ｉｄシンタックス要素によって識別されたＡＰＳの最初のＡＰＳのＮＡＬユニットではない。１に等しいｆｉｒｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素によって識別された最初のＡＰＳのＮＡＬユニットは、「ヘッダ」シンタックス要素、たとえば、様々なタイプの情報、その上ＡＬＦ関連情報およびＳＡＯ関連情報などのＡＰＳに含まれる他のタイプの情報の存在を示すフラグを含む。表３の例示的なシンタックスでは、１つのＡＰＳの他のＡＰＳのＮＡＬユニットは、量子化行列情報のみを含む。他の例では、他のＡＰＳのＮＡＬユニットが他のタイプの情報を含むことも可能であり得る。
【０１１４】
[0119]表３の例示的なシンタックスでは、ｌａｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が１に等しい場合、ＡＰＳのＮＡＬユニットは、ａｐｓ＿ｉｄシンタックス要素によって識別されたＡＰＳの最後のＡＰＳのＮＡＬユニットである。ｌａｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が０に等しい場合、ＡＰＳのＮＡＬユニットは、ａｐｓ＿ｉｄシンタックス要素によって識別されたＡＰＳの最後のＡＰＳのＮＡＬユニットではない。ｆｉｒｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素およびｌａｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が両方１に等しい場合、ａｐｓ＿ｉｄシンタックス要素によって識別されたＡＰＳは１つだけのＡＰＳ断片を含む。
【０１１５】
[0120]表３の例示的なシンタックスでは、ａｐｓ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素は、量子化行列が現在のＡＰＳ内でシグナリングされたかどうかを指定する。ａｐｓ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素が０に等しい場合、量子化行列は現在のＡＰＳ内でシグナリングされず、現在のＡＰＳを参照するコード化ピクチャに使用されない。ａｐｓ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素が１に等しい場合、量子化行列は現在のＡＰＳ内でシグナリングされ、現在のＡＰＳを参照するコード化ピクチャに使用される。ａｐｓ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素が存在しない（すなわち、ｆｉｒｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇシンタックス要素が０に等しい）場合、ａｐｓ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇシンタックス要素は１に等しいと推論することができる。
【０１１６】
[0121]表３の例示的なシンタックスでは、ａｐｓ＿ｓａｍｐｌｅ＿ａｄａｐｔｉｖｅ＿ｏｆｆｓｅｔ＿ｆｌａｇシンタックス要素が１に等しい場合、ＳＡＯは現在のＡＰＳを参照するスライスに適用される。ａｐｓ＿ｓａｍｐｌｅ＿ａｄａｐｔｉｖｅ＿ｏｆｆｓｅｔ＿ｆｌａｇシンタックス要素が０に等しい場合、ＳＡＯは現在のＡＰＳを参照するスライスに適用されない。アクティブなＡＰＳが存在しない場合、ａｐｓ＿ｓａｍｐｌｅ＿ａｄａｐｔｉｖｅ＿ｏｆｆｓｅｔ＿ｆｌａｇシンタックス要素は０に等しいと推論することができる。アクティブなＡＰＳは、現在コード化されているスライスによって参照されるＡＰＳであり得る。ａｐｓ＿ａｄａｐｔｉｖｅ＿ｌｏｏｐ＿ｆｉｌｔｅｒ＿ｆｌａｇシンタックス要素が１に等しい場合、ＡＬＦは現在のＡＰＳを参照するスライスに適用される。ａｐｓ＿ａｄａｐｔｉｖｅ＿ｌｏｏｐ＿ｆｉｌｔｅｒ＿ｆｌａｇシンタックス要素が０に等しい場合、ＡＬＦは現在のＡＰＳを参照するスライスに適用されない。アクティブなＡＰＳが存在しない場合、ａｐｓ＿ａｄａｐｔｉｖｅ＿ｌｏｏｐ＿ｆｉｌｔｅｒ＿ｆｌａｇシンタックス要素は０に等しいと推論することができる。
【０１１７】
[0122]さらに、ｎｕｍ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｃｅｓ＿ｍｉｎｕｓ１シンタックス要素プラス１は、現在のＡＰＳのＮＡＬユニット内でシグナリングされた量子化行列の数を指定する。ｎｕｍ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｃｅｓ＿ｍｉｎｕｓ１シンタックス要素が存在しない場合、ｎｕｍ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｃｅｓ＿ｍｉｎｕｓ１シンタックス要素の値は、２３に等しいと推論することができる。
【０１１８】
[0123]いくつかの例では、表３の要素「ｉｆ（ｍｏｒｅ＿ｒｂｓｐ＿ｄａｔａ（））」は、「ｉｆ（ｆｉｒｓｔ＿ａｐｓ＿ｆｒａｇｍｅｎｔ＿ｆｌａｇ）」と置き換えられる。このようにして、最初のＡＰＳの断片だけが量子化行列以外の情報を含むことができる。さらに、いくつかの例では、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｃｏｅｆｓ（ｉ）の一例内、または同じＡＰＳのＮＡＬユニット内のｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｃｏｅｆｓ（ｉ）の異なる例にわたる予測が許可される。しかしながら、異なるＡＰＳのＮＡＬユニットにわたる従属関係は許可されない。これにより、現在のＡＰＳに関連付けられたすべての他のＡＰＳのＮＡＬユニットが損失しても、いかなる単一の受信されたＡＰＳのＮＡＬユニットもそれだけで有用であることが保証される。
【０１１９】
[0124]下記表４は、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｔａｂｌｅ用の別の例示的なシンタックスを示す。表４の例示的なシンタックスでは、第１の量子化行列の量子化行列識別子がシグナリングされる。しかしながら、量子化行列は特定の順序に従うので、第１の量子化行列以外の量子化行列の量子化行列識別子は、明示的にシグナリングされない。
【表４】
0005890031.tif 000005
【０１２０】
[0125]表４の例示的なシンタックスでは、ｉｄ＿ｓｔａｒｔシンタックス要素は、このテーブル内でシグナリングされた最初の量子化行列の識別子を指定する。シグナリングされた量子化行列は、ｉｄ＿ｓｔａｒｔシンタックス要素によって指定された値からｉｄ＿ｓｔａｒｔシンタックス要素によって指定された値プラスｎｕｍ＿ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｃｅｓシンタックス要素によって指定された値マイナス１までの範囲の識別子を有する。すなわち、ｉ番目の量子化行列は、ｉｄ＿ｓｔａｒｔシンタックス要素によって指定された値プラスｉに等しい量子化行列識別子を有する。表４の他のシンタックス要素は、表２の例示的なシンタックス内の対応するシンタックス要素と同じセマンティクスを有することができる。
【０１２１】
[0126]上記の例では、量子化行列は、あらかじめ規定された順序で、１つまたは複数のパラメータセットのＮＡＬユニット内でシグナリングすることができる。いくつかの例では、あらかじめ規定された順序は、より重要な量子化行列がより重要でない量子化行列よりも早くシグナリングされる優先順序であり得る。量子化行列のインデックスは、シグナリングされた量子化行列のリスト内の位置へのインデックスである。
【０１２２】
[0127]たとえば、量子化行列の１つの可能な順序では、サイズ４×４のすべての量子化行列が最初にシグナリングされ、次にサイズ８×８の量子化行列がシグナリングされ、次にサイズ１６×１６の量子化行列がシグナリングされ、最後にサイズ３２×３２の量子化行列がシグナリングされる。特定のブロックサイズ以内で、順序は、Ｙイントラ係数ブロック用の量子化行列、Ｙインター係数ブロック用の量子化行列、Ｕイントラ係数ブロック用の量子化行列、Ｖイントラ係数ブロック用の量子化行列、Ｕインター係数ブロック用の量子化行列、およびＶインター係数ブロック用の量子化行列であり得る。
【０１２３】
[0128]Ｙイントラ係数ブロックは、イントラ予測を使用して生成されたＹ（すなわち、ルミナンス）サンプルの予測ビデオブロックに基づく係数ブロックであり得る。Ｙインター係数ブロックは、インター予測を使用して生成されたＹ（すなわち、ルミナンス）サンプルの予測ビデオブロックに基づく係数ブロックであり得る。Ｕイントラ係数ブロックは、イントラ予測を使用して生成されたＵ（すなわち、ＵクロミナンスまたはＣｂクロミナンス）サンプルの予測ビデオブロックに基づく係数ブロックであり得る。Ｕインター係数ブロックは、インター予測を使用して生成されたＵサンプルの予測ビデオブロックに基づく係数ブロックであり得る。Ｖイントラ係数ブロックは、イントラ予測を使用して生成されたＶ（すなわち、ＶクロミナンスまたはＣｒクロミナンス）サンプルの予測ビデオブロックに基づく係数ブロックであり得る。Ｕインター係数ブロックは、インター予測を使用して生成されたＶサンプルの予測ビデオブロックに基づく係数ブロックであり得る。
【０１２４】
[0129]別の例では、量子化行列を異なる順序で列記することができる。最初に、ビデオエンコーダ２０は、送られたすべてのブロックサイズについてルミナンス量子化行列を、以下の順序でシグナリングすることができる：Ｙイントラ４×４、Ｙインター４×４、Ｙイントラ８×８、Ｙインター８×８、Ｙイントラ１６×１６、Ｙインター１６×１６、Ｙイントラ３２×３２、およびＹインター３２×３２。これらの量子化行列の後に、Ｕ成分用の量子化行列およびＶ成分用の量子化行列が続く。サイズ４×４のクロマ量子化行列が最初にシグナリングされ、８×８、１６×１６、および３２×３２が続く。特定のブロックサイズ以内で、順序は、Ｕイントラ、Ｖイントラ、Ｕインター、Ｖインターであり得る。いくつかの例では、ビデオエンコーダ２０は、量子化行列のこの順序付けが保持されるような順序で量子化行列を含むＮＡＬユニットを出力することができる。
【０１２５】
[0130]上記の表１〜表４は、ＡＰＳのシンタックスまたはＡＰＳ内のシンタックスを記載した。しかしながら、他のタイプのパラメータセットは、表２もしくは表４または他のシンタックスに適合する量子化行列を含む場合がある。たとえば、ＳＰＳまたはＰＰＳは、表２もしくは表４または他のシンタックスに適合する量子化行列を含む場合がある。その上、上述されたＡＰＳのシンタックス要素は、ＳＰＳおよびＰＰＳなどの他のタイプのパラメータセットに含まれる場合がある。さらに、いくつかの例では、情報をＳＰＳまたはＰＰＳ内で繰り返しシグナリングすることができる。そのような情報は、量子化行列がシグナリングされ使用されたかどうか、許可された予測のタイプなどを示す情報を含む場合がある。
【０１２６】
[0131]図３は、本開示の技法を実装するように構成された例示的なビデオデコーダ３０を示すブロック図である。図３は、説明の目的で提供され、本開示において広く例示され記載される技法を限定するものではない。説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキスト内のビデオデコーダ３０を記載する。しかしながら、本開示の技法は、他のコーディング規格またはコーディング方法に適用可能であり得る。
【０１２７】
[0132]図３の例では、ビデオデコーダ３０は複数の機能構成要素を含む。ビデオデコーダ３０の機能構成要素は、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換処理ユニット１５６と、復元ユニット１５８と、フィルタユニット１５９と、復号ピクチャバッファ１６０とを含む。予測処理ユニット１５２は、動き補償ユニット１６２とイントラ予測処理ユニット１６４とを含む。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能構成要素を含む場合がある。
【０１２８】
[0133]ビデオデコーダ３０は、符号化されたビデオデータを備えるビットストリームを受信することができる。ビットストリームは複数のシンタックス要素を含むことができる。エントロピー復号ユニット１５０はビットストリームを解析することができる。ビットストリームを解析した結果として、エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を抽出することができる。ビットストリームを解析することの一部として、エントロピー復号ユニット１５０は、ビットストリーム内のエントロピー符号化されたシンタックス要素をエントロピー復号することができる。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換処理ユニット１５６、復元ユニット１５８、およびフィルタユニット１５９は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成することができる。
【０１２９】
[0134]上記で説明されたように、ビットストリームは一連のＮＡＬユニットを備えることができる。ビットストリームのＮＡＬユニットは、コード化スライスのＮＡＬユニットと、ＳＰＳのＮＡＬユニットと、ＰＰＳのＮＡＬユニットと、ＳＥＩのＮＡＬユニットなどとを含む場合がある。ビットストリームを解析することの一部として、エントロピー復号ユニット１５０は、ＳＰＳのＮＡＬユニットからＳＰＳを、ＰＰＳのＮＡＬユニットからＰＰＳを、ＳＥＩのＮＡＬユニットからＳＥＩデータなどを抽出しエントロピー復号することができる。
【０１３０】
[0135]ビットストリームを解析することの一部として、エントロピー復号ユニット１５０は、ビットストリーム内のコード化スライスのＮＡＬユニットからコード化スライスを抽出しエントロピー復号することができる。コード化スライスの各々は、スライスヘッダとスライスデータとを含むことができる。スライスヘッダは、スライスに関係するシンタックス要素を含むことができる。スライスヘッダ内のシンタックス要素は、スライスを含むピクチャに関連付けられたＰＰＳを識別するシンタックス要素を含むことができる。エントロピー復号ユニット１５０は、コード化されたスライスヘッダ内のシンタックス要素に対して、ＣＡＢＡＣ復号オペレーションなどのエントロピー復号オペレーションを実行して、スライスヘッダを復元することができる。
【０１３１】
[0136]コード化スライスのＮＡＬユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット１５０は、スライスデータ内のコード化ＣＵからシンタックス要素を抽出することができる。抽出されたシンタックス要素は、係数ブロックに関連するシンタックス要素を含むことができる。エントロピー復号ユニット１５０は、シンタックス要素のうちの少なくともいくつかに対してＣＡＢＡＣ復号オペレーションを実行することができる。
【０１３２】
[0137]加えて、ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた残差ビデオブロックを復元することができる。ＴＵの残差ビデオブロックを復元するために、逆量子化ユニット１５４は、ＴＵに関連付けられた係数ブロックを逆量子化、すなわち、量子化解除することができる。いくつかの例では、逆量子化ユニット１５４は、ＣＵに関連付けられた量子化行列とＱＰ値とを使用して、ＣＵのＴＵに関連付けられた係数ブロックを逆量子化することができる。いくつかの例では、量子化行列は、１つまたは複数のパラメータセット内でシグナリングすることができる。
【０１３３】
[0138]逆量子化ユニット１５４が係数ブロックを逆量子化した後、逆変換処理ユニット１５６は、ＴＵ用の残差ビデオブロックを生成するために、係数ブロックに１つまたは複数の逆変換を適用することができる。たとえば、逆変換処理ユニット１５６は、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ）、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用することができる。
【０１３４】
[0139]いくつかの例では、逆変換処理ユニット１５６は、ビデオエンコーダ２０からのシグナリングに基づいて、係数ブロックに適用すべき逆変換を決定することができる。そのような例では、逆変換処理ユニット１５６は、係数ブロックに関連付けられたツリーブロック用の４分木のルートノードでシグナリングされた変換に基づいて、逆変換を決定することができる。他の例では、逆変換処理ユニット１５６は、ブロックサイズ、コーディングモードなどの１つまたは複数のコーディング特性から逆変換を推論することができる。いくつかの例では、逆変換処理ユニット１５６はカスケード逆変換を適用することができる。
【０１３５】
[0140]ＰＵがスキップモードで符号化されるか、またはＰＵの動き情報がマージモードを使用して符号化された場合、動き補償ユニット１６２は、ＰＵ用のマージ候補リストを生成することができる。動き補償ユニット１６２は、マージ候補リスト内の選択されたマージ候補を識別することができる。動き補償ユニット１６２は、選択されたマージ候補によって示された動き情報に関連付けられた、１つまたは複数の参照ブロックに基づいて、ＰＵ用の予測ビデオブロックを生成することができる。
【０１３６】
[0141]ＰＵの動き情報がＡＭＶＰモードを使用して符号化された場合、動き補償ユニット１６２は、リスト０のＭＶ予測器候補リストおよび／またはリスト１のＭＶ予測器候補リストを生成することができる。動き補償ユニット１６２は、選択されたリスト０のＭＶ予測器候補リストおよび／または選択されたリスト１のＭＶ予測器候補リストを決定することができる。次に、動き補償ユニット１６２は、リスト０の動きベクトル差分（ＭＶＤ）、リスト１のＭＶＤ、選択されたリスト０のＭＶ予測器候補リストによって指定されたリスト０の動きベクトル、および／または選択されたリスト１のＭＶ予測器候補リストによって指定されたリスト１の動きベクトルに基づいて、リスト０のＰＵ用動きベクトルおよび／またはリスト１のＰＵ用動きベクトルを決定することができる。動き補償ユニット１６２は、リスト０の動きベクトルおよびリスト０の参照ピクチャインデックス、および／またはリスト１の動きベクトルおよびリスト１の参照ピクチャインデックス、に関連付けられた参照ブロックに基づいて、ＰＵ用の予測ビデオブロックを生成することができる。
【０１３７】
[0142]いくつかの例では、動き補償ユニット１６２は、補間フィルタに基づいて補間を実行することによって、ＰＵの予測ビデオブロックを改善することができる。サブサンプル精度を有する動き補償に使用されるべき補間フィルタ用の識別子は、シンタックス要素に含まれる場合がある。動き補償ユニット１６２は、ＰＵの予測ビデオブロックの生成中にビデオエンコーダ２０によって使用されるのと同じ補間フィルタを使用して、参照ブロックのサブ整数サンプルについて補間された値を算出することができる。動き補償ユニット１６２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成することができる。
【０１３８】
[0143]ＰＵがイントラ予測を使用して符号化された場合、イントラ予測処理ユニット１６４は、イントラ予測を実行して、ＰＵ用の予測ビデオブロックを生成することができる。たとえば、イントラ予測処理ユニット１６４は、ビットストリーム内のシンタックス要素に基づいて、ＰＵ用のイントラ予測モードを決定することができる。
【０１３９】
[0144]復元ユニット１５８は、ＣＵのＴＵに関連付けられた残差ビデオブロックと、ＣＵのＰＵの予測ビデオブロックとを使用して、ＣＵのビデオブロックを復元することができる。たとえば、復元ユニット１５８は、残差ビデオブロックのサンプルを予測ビデオブロック内の対応するサンプルに加算して、ＣＵのＹ、Ｃｂ、およびＣｒのビデオブロックを復元することができる。
【０１４０】
[0145]フィルタユニット１５９は、デブロッキング動作を実行して、ＣＵに関連付けられたビデオブロック内のブロッキングアーティファクトを低減することができる。復号ピクチャバッファ１６０は、ＣＵに関連付けられたビデオブロックを記憶することができる。復号ピクチャバッファ１６０は、後続の動き補償、イントラ予測、および図１のディスプレイデバイス３２などのディスプレイデバイス上での提示に、参照ピクチャを提供することができる。たとえば、予測処理ユニット１５２は、復号ピクチャバッファ１６０内のビデオブロックに基づいて、他のＣＵのＰＵに対して、イントラ予測動作またはインター予測動作を実行することができる。
【０１４１】
[0146]図４は、本開示の１つまたは複数の技法によるビデオエンコーダ２０の例示的な動作２００を示すフローチャートである。動作２００では、ビデオエンコーダ２０は、パラメータセットを含むＮＡＬユニットのサイズがＭＴＵサイズよりも大きくなるかどうかを決定し得る（２０２）。パラメータセットを含むＮＡＬユニットのサイズがＭＴＵサイズよりも大きくならないとの決定（２０２の「いいえ」）に応答して、ビデオエンコーダ２０は、パラメータセットを含む単一のＮＡＬユニットを生成することができる（２０４）。
【０１４２】
[0147]一方、パラメータセットを含むＮＡＬユニットのサイズがＭＴＵサイズよりも大きくなるとの決定（２０２の「はい」）に応答して、ビデオエンコーダ２０は、パラメータセットの断片を含む複数（すなわち、２つ以上）のＮＡＬユニットを生成し得る（２０６）。下記に記載される図５および図６は、パラメータセットの断片を含むＮＡＬユニットを解析するための例示的な動作を記載するフローチャートである。ビデオエンコーダ２０は、ビデオデコーダ３０が図５および図６の例示的な動作に従って断片を解析できるように、断片を生成し得る。
【０１４３】
[0148]ビデオエンコーダ２０は、一連のＮＡＬユニットを含むビットストリームを出力し得る（２０８）。ビットストリーム内のＮＡＬユニットは、アクション２０４で生成されたＮＡＬユニットまたはアクション２０６で生成された複数のＮＡＬユニットを含み得る。このようにして、ビデオエンコーダ２０は、その中で少なくともいくつかのＮＡＬユニットがパラメータセット全体ではなくパラメータセットの断片を含むビットストリームを生成する。さらに、ＮＡＬユニットが任意の点でパケットに分割されるシステムとは対照的に、ビデオエンコーダ２０は、断片が単独で復号可能であり得るように断片を生成し得る。
【０１４４】
[0149]図５は、本開示の１つまたは複数の技法により、パラメータセットのＮＡＬユニットを解析するビデオデコーダ３０の例示的な動作２５０を示すフローチャートである。動作２５０では、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットを受信し得る（２５２）。パラメータセットのＮＡＬユニットは、ＳＰＳのＮＡＬユニット、ＰＰＳのＮＡＬユニット、ＡＰＳのＮＡＬユニット、または別のタイプのパラメータセットを含むＮＡＬユニットであり得る。パラメータセットのＮＡＬユニットは、完全なパラメータセットまたはパラメータセットの断片を含む場合がある。ビデオデコーダ３０は、チャネル１６（図１）から、コンピュータ可読記憶媒体から、または別のソースから、パラメータセットのＮＡＬユニットを受信し得る。
【０１４５】
[0150]ビデオデコーダ３０は、パラメータセットのＮＡＬユニットからの量子化行列フラグ（ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｆｌａｇ）を解析し得る（２５４）。量子化行列フラグは、量子化行列がパラメータセット内で指定されたかどうかを示すことができる。ビデオデコーダ３０は、パラメータセットのＮＡＬユニットが量子化行列を含むことを量子化行列フラグが示すかどうかを決定し得る（２５６）。
【０１４６】
[0151]パラメータセットのＮＡＬユニットが量子化行列を含むことを量子化行列フラグが示すとの決定（２５６の「はい」）に応答して、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットからの量子化行列インジケータ（ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃ）と量子化行列オンリーフラグ（ｑｍ＿ｆｒａｇｍｅｎｔ＿ｏｎｌｙ＿ａｐｓ＿ｆｌａｇ）とを解析し得る（２５８）。ビデオデコーダ３０は、パラメータセットのＮＡＬユニットが量子化行列を含むだけであることを量子化行列オンリーフラグが示すかどうかを決定し得る（２６０）。パラメータセットのＮＡＬユニットが量子化行列を含むだけではないことを量子化行列オンリーフラグが示すとの決定（２６０の「いいえ」）に応答して、またはパラメータセットのＮＡＬユニットが量子化行列を含むことを量子化行列フラグが示すとの決定（２５６の「いいえ」）に応答して、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットからの他のシンタックス要素を解析し得る（２６２）。
【０１４７】
[0152]パラメータセットのＮＡＬユニットが量子化行列を含むだけであることを量子化行列オンリーフラグが示すとの決定（２６０の「はい」）に応答して、またはアクション２６２でビデオデコーダ３０が他のシンタックス要素を解析する場合、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットが量子化行列を含むことを量子化行列フラグが示すかどうかを決定し得る（２６４）。パラメータセットのＮＡＬユニットが量子化行列を含むことを量子化行列フラグが示すとの決定（２６４の「はい」）に応答して、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットからの量子化行列テーブルを解析し得る（２６６）。ビデオデコーダ３０は、図６の例示的な動作に従って量子化行列テーブルを解析し得る。パラメータセットのＮＡＬユニットが量子化行列を含まないことを量子化行列フラグが示すとの決定（２６４の「いいえ」）に応答して、または量子化行列テーブルを解析した後、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットを解析することを終了することができる。
【０１４８】
[0153]図６は、本開示の１つまたは複数の技法により、パラメータセットのＮＡＬユニット内の量子化行列テーブルを解析するビデオデコーダ３０の例示的な動作３００を示すフローチャートである。動作３００では、ビデオデコーダ３０は、パラメータセットのＮＡＬユニットからの再利用フラグ（ｒｅｕｓｅ＿ｑｍ＿ｔａｂｅ＿ｆｌａｇ）を解析し得る（３０２）。次いで、ビデオデコーダ３０は、ビデオデコーダ３０が参照パラメータセットの量子化行列テーブルを現在のパラメータセットの量子化行列テーブルとして再利用することを再利用フラグが示すかどうかを決定し得る（３０４）。ビデオデコーダ３０が参照パラメータセットの量子化行列テーブルを現在のパラメータセットの量子化行列テーブルとして再利用することを再利用フラグが示すとの決定（３０４の「はい」）に応答して、ビデオデコーダ３０は、量子化行列テーブルからの再利用パラメータセット識別子（ｒｅｕｓｅｄ＿ａｐｓ＿ｉｄ）を解析し得る（３０６）。ビデオデコーダ３０は、現在のパラメータセットの量子化行列テーブルとして、再利用パラメータセット識別子によって指定された識別子を有するパラメータセットによって指定された量子化行列テーブルを使用し得る。
【０１４９】
[0154]一方、ビデオデコーダ３０が参照パラメータセットの量子化行列テーブルを現在のパラメータセットの量子化行列テーブルとして再利用しないことを再利用フラグが示すとの決定（３０４の「いいえ」）に応答して、ビデオデコーダ３０は、量子化行列テーブルからの断片フラグ（ｆｒａｇｍｅｎｔ＿ｆｌａｇ）を解析し得る（３０８）。断片フラグは、量子化行列テーブルが現在のパラメータセットの量子化行列のすべてを含むかどうかを示し得る。ビデオデコーダ３０は、量子化行列テーブルが現在のパラメータセットのすべての量子化行列を含むことを断片フラグが示すかどうかを決定し得る（３１０）。
【０１５０】
[0155]量子化行列テーブルが現在のパラメータセットのすべての量子化行列を含まないことを断片フラグが示すとの決定（３１０の「いいえ」）に応答して、ビデオデコーダ３０は、量子化テーブル内の量子化行列の数を示すシンタックス要素（ｎｕｍ＿ｒｅｆ＿ａｐｓ＿ｆｏｒ＿ｑｍ）を量子化テーブルから解析し得る（３１２）。量子化行列テーブルが現在のパラメータセットのすべての量子化行列を含むわけではないことを断片フラグが示す場合、ＮＡＬユニットは、完全なパラメータセットではなく、現在のパラメータセットの断片を含み得る。
【０１５１】
[0156]量子化行列テーブルが現在のパラメータセットのすべての量子化行列を含むことを断片フラグが示すかどうかにかかわらず、ビデオデコーダ３０は、量子化行列インジケータが相互依存予測タイプを示すかどうかを決定し得る（３１４）。相互依存予測タイプでは、ビデオデコーダ３０は、量子化行列内から、同じパラメータセットのＮＡＬユニット内の他の量子化行列から、同じパラメータセットの異なるＮＡＬユニットからの他の量子化行列から、および異なるパラメータセット内の他の量子化行列から、量子化行列を決定し得る。
【０１５２】
[0157]量子化行列インジケータが相互依存予測タイプを示すとの決定（３１４の「はい」）に応答して、ビデオデコーダ３０は、参照パラメータセットの数を示すシンタックス要素（ｎｕｍ＿ｒｅｆ＿ａｐｓ＿ｆｏｒ＿ｑｍ）を量子化テーブルから解析し得る（３１６）。加えて、ビデオデコーダ３０は、参照パラメータセットごとの識別子（ｒｅｆ＿ａｐｓ＿ｉｄ［ｉ］）を量子化テーブルから解析し得る（３１８）。
【０１５３】
[0158]量子化行列インジケータが相互依存予測タイプを示さないとの決定（３１４の「いいえ」）に応答して、またはアクション３１６とアクション３１８とを実行した後、ビデオデコーダ３０は、カウンタを０に初期化し、カウンタが量子化行列テーブル内の量子化行列の数よりも小さいかどうかを決定し得る（３２０）。カウンタが量子化行列テーブル内の量子化行列の数よりも小さいとの決定（３２０の「はい」）に応答して、ビデオデコーダ３０は、量子化行列テーブルからの現在の量子化行列用の量子化行列識別子（ｑｕａｎ＿ｍａｔｒｉｘ＿ｉｄ［ｉ］）を解析し得る（３２２）。現在の量子化行列は、カウンタの現在値に関連付けられた量子化行列テーブル内の位置にある量子化行列であり得る。加えて、ビデオデコーダ３０は、行列内予測だけが許可される（すなわち、ｑｕａｎｔｉｚａｔｉｏｎ＿ｍａｔｒｉｘ＿ｉｄｃ＝０）ことを量子化行列インジケータが示すかどうかを決定し得る（３２４）。ビデオデコーダ３０が行列内予測を実行するとき、ビデオデコーダ３０は、量子化行列の値のサブセットに基づいて、量子化行列を決定し得る。
【０１５４】
[0159]行列内予測だけが許可されることを量子化行列インジケータが示さないとの決定（３２４の「いいえ」）に応答して、ビデオデコーダ３０は、現在の量子化行列の予測モードを示すシンタックス要素（ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ）を量子化行列テーブルから解析し得る（３２６）。行列内予測だけが許可されることを量子化行列インジケータが示すとの決定（３２４の「はい」）に応答して、またはアクション３２６でシンタックス要素を解析した後、ビデオデコーダ３０は、現在の量子化行列が参照パラメータセットから予測される（たとえば、ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ＝＝３）かどうかを決定し得る（３２８）。現在の量子化行列が参照パラメータセットから予測されるとの決定定（３２８の「はい」）に応答して、ビデオデコーダ３０は、参照ピクチャセットの識別子（ｒｅｆ＿ａｐｓ＿ｉｄｘ）を量子化行列テーブルから解析し得る（３３０）。
【０１５５】
[0160]現在の量子化行列が参照パラメータセットから予測されないとの決定（３２８の「いいえ」）に応答して、またはアクション３３０で識別子を解析した後、ビデオデコーダ３０は、行列内予測が現在の量子化行列に許可された（たとえば、ｑｍ＿ｐｒｅｄｉｃｔｉｏｎ＿ｍｏｄｅ＞０）かどうかを決定し得る（３３２）。行列内予測が現在の量子化行列に許可されないとの決定（３３２の「いいえ」）に応答して、ビデオデコーダ３０は、現在の量子化行列の識別子（ｑｍ＿ｉｄ［ｉ］）を量子化行列テーブルから解析し得る（３３４）。加えて、ビデオデコーダ３０は、スキップフラグを量子化行列テーブルから解析し得る（３３６）。
【０１５６】
[0161]スキップフラグを解析した後、または行列内予測が許可されるとの決定（３３２の「はい」）後、ビデオデコーダ３０は、係数が現在の量子化行列用の量子化行列テーブル内でシグナリングされたことをスキップフラグが示すかどうかを決定し得る（３３８）。スキップフラグが存在せず、したがって量子化行列テーブルから解析されない場合、ビデオデコーダ３０は、スキップフラグが０に等しいと推論することができる。係数が現在の量子化行列用の量子化行列テーブル内でシグナリングされたとの決定（３３８の「はい」）に応答して、ビデオデコーダ３０は、現在の量子化行列の係数を量子化行列テーブルから解析し得る（３４０）。
【０１５７】
[0162]現在の量子化行列用の係数を解析した後、または係数が現在の量子化行列用の量子化行列テーブル内でシグナリングされないとの決定（３３８の「いいえ」）に応答して、ビデオデコーダ３０は、カウンタを増分し、カウンタが量子化行列テーブル内の量子化行列の数よりも小さいかどうかを再び決定し得る（３２０）。このようにして、ビデオデコーダ３０は、量子化行列テーブル内の量子化行列の各々に対して、アクション３２２〜３４０を実行し得る。どの予測タイプを量子化行列に使用するか選択することによって、ビデオエンコーダ２０は、そうするように構成された場合、ビデオデコーダ３０がパラメータセットの断片を別個に復号できることを保証することができる。
【０１５８】
[0163]１つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装することができる。ソフトウェアに実装される場合、機能は、１つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行することができる。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含むことができる。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、または（２）信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載された技法を実装するための命令、コードおよび／またはデータ構造を取り出すために、１つもしくは複数のコンピュータまたは１つもしくは複数のプロセッサによってアクセスできる、任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含むことができる。
【０１５９】
[0164]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【０１６０】
[0165]命令は、１つもしくは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または他の等価な集積回路もしくはディスクリート論理回路によって実行することができる。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書に記載された技法の実装に適した他の構造のいずれかを指すことができる。さらに、いくつかの態様では、本明細書に記載された機能は、符号化および復号のために構成された専用のハードウェアおよび／もしくはソフトウェアのモジュール内に提供され、または複合コーデックに組み込むことができる。また、本技法は、１つまたは複数の回路または論理要素に完全に実装することができる。
【０１６１】
[0166]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置に実装することができる。開示された技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが本開示に記載されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上述されたように、様々なユニットが、適切なソフトウェアおよび／またはファームウェアとともに、上述された１つまたは複数のプロセッサを含めて、コーデックハードウェアユニット内で組み合わされるか、または相互動作可能なハードウェアユニットの集合によって提供される場合がある。
【０１６２】
[0167]様々な例が記載された。これらおよび他の例は、以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオデータを符号化するための方法であって、
前記ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成することと、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を備えた方法。
［２］  前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、［１］に記載の方法。
［３］  前記第１の断片は前記第２の断片を参照せずに復号可能であり、前記第２の断片は前記第１の断片を参照せずに復号可能である、［１］に記載の方法。
［４］  前記パラメータセットは複数の量子化行列をシグナリングする、［１］に記載の方法。
［５］  前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが１つまたは複数の前記量子化行列を含むことを示すフラグを含む、［４］に記載の方法。
［６］  前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むかどうかを示すフラグを備える、［４］に記載の方法。
［７］  前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、［４］に記載の方法。
［８］  前記パラメータセットを含むＮＡＬユニットのサイズは、通信プロトコルの最大伝送単位（ＭＴＵ）のサイズよりも大きく、
前記方法は、
前記第１のＮＡＬユニットを前記通信プロトコルの第１のパケット内にカプセル化することと、
前記第２のＮＡＬユニットを前記通信プロトコルの第２のパケット内にカプセル化することと、
前記第１のパケットと前記第２のパケットとを通信チャネル上で送ることと、
をさらに備える、［１］に記載の方法。
［９］  前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、［１］に記載の方法。
［１０］  ビデオデータを復号する方法であって、
パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、
少なくとも部分的に前記パラメータセットに基づいて、前記ビデオデータの１つまたは複数のコード化ピクチャを復号することと、
を備える方法。
［１１］  前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、［１０］に記載の方法。
［１２］  前記パラメータセットは複数の量子化行列をシグナリングする、［１０］に記載の方法。
［１３］  少なくとも部分的に前記第１のＮＡＬユニット内のフラグに基づいて、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むことを決定することをさらに備える、［１２］に記載の方法。
［１４］  前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、［１２］に記載の方法。
［１５］  前記ビットストリームを受信することは、前記通信プロトコルにおいて、前記第１のＮＡＬユニットをカプセル化する第１のパケットと、前記第２のＮＡＬユニットをカプセル化する第２のパケットとを受信することを備える、［１０］に記載の方法。
［１６］  前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、［１０］に記載の方法。
［１７］  ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成することと、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を行うように構成された１つまたは複数のプロセッサを備えたコンピューティングデバイス。
［１８］  前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、［１７］に記載のコンピューティングデバイス。
［１９］  前記第１の断片は前記第２の断片を参照せずに復号可能であり、前記第２の断片は前記第１の断片を参照せずに復号可能である、［１７］に記載のコンピューティングデバイス。
［２０］  前記パラメータセットは複数の量子化行列をシグナリングする、［１７］に記載のコンピューティングデバイス。
［２１］  前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが１つまたは複数の前記量子化行列を含むことを示すフラグを含む、［２０］に記載のコンピューティングデバイス。
［２２］  前記第１のＮＡＬユニットは、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むかどうかを示すフラグを備える、［２０］に記載のコンピューティングデバイス。
［２３］  前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、［２０］に記載のコンピューティングデバイス。
［２４］  前記パラメータセットを含むＮＡＬユニットのサイズは、通信プロトコルの最大伝送単位（ＭＴＵ）のサイズよりも大きく、
前記方法は、
前記第１のＮＡＬユニットを前記通信プロトコルの第１のパケット内にカプセル化することと、
前記第２のＮＡＬユニットを前記通信プロトコルの第２のパケット内にカプセル化することと、
前記第１のパケットと前記第２のパケットとを通信チャネル上に送ることと、
をさらに備える、［１７］に記載のコンピューティングデバイス。
［２５］  前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、［１７］に記載のコンピューティングデバイス。
［２６］  前記コンピューティングデバイスはビデオエンコーダを備える、［１７］に記載のコンピューティングデバイス。
［２７］  ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成するための手段と、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成するための手段と、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を備えたコンピューティングデバイス。
［２８］  コンピューティングデバイスの１つまたは複数のプロセッサによって実行されたとき、前記コンピューティングデバイスに、
ビデオデータに関連付けられたパラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットを生成することと、
前記パラメータセットの第２の断片を含む第２のＮＡＬユニットを生成することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットである、
を行わせる命令を記憶したコンピュータ可読記憶媒体。
［２９］  パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、
少なくとも部分的に前記パラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号することと、
を行うように構成された１つまたは複数のプロセッサを備えたコンピューティングデバイス。
［３０］  前記パラメータセットはシーケンスパラメータセットおよびピクチャパラメータセットのうちの１つである、［２９］に記載のコンピューティングデバイス。
［３１］  前記パラメータセットは複数の量子化行列をシグナリングする、［２９］に記載のコンピューティングデバイス。
［３２］  少なくとも部分的に前記第１のＮＡＬユニット内のフラグに基づいて、前記第１のＮＡＬユニットが前記パラメータセットの前記量子化行列のすべてを含むことを決定することをさらに備える、［３１］に記載のコンピューティングデバイス。
［３３］  前記第１のＮＡＬユニットは前記量子化行列の第１のサブセットを含み、前記第２のＮＡＬユニットは前記量子化行列の第２のサブセットを含み、量子化行列の前記第１のサブセット内の各量子化行列は前記第２のＮＡＬユニット内のデータを参照せずに決定可能であり、量子化行列の前記第２のサブセット内の各量子化行列は前記第１のＮＡＬユニット内のデータを参照せずに決定可能である、［３１］に記載のコンピューティングデバイス。
［３４］  前記パラメータセットを含むＮＡＬユニットのサイズは、通信プロトコルの最大伝送単位（ＭＴＵ）よりも大きく、
前記ビットストリームを受信することは、前記通信プロトコルにおいて、前記第１のＮＡＬユニットをカプセル化する第１のパケットと、前記第２のＮＡＬユニットをカプセル化する第２のパケットとを受信することを備える、
［２９］に記載のコンピューティングデバイス。
［３５］  前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、前記パラメータセットを識別するシンタックス要素を含む、［２９］に記載のコンピューティングデバイス。
［３６］  前記コンピューティングデバイスはビデオデコーダを備える、［２９］に記載のコンピューティングデバイス。
［３７］  パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信するための手段と、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、
少なくとも部分的に前記パラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号するための手段と、
を備えるコンピューティングデバイス。
［３８］  コンピューティングデバイスの１つまたは複数のプロセッサによって実行されたとき、前記コンピューティングデバイスに、
パラメータセットの第１の断片を含む第１のネットワークアブストラクションレイヤ（ＮＡＬ）ユニットと、前記パラメータセットの第２の断片を含む第２のＮＡＬユニットとを備えるビットストリームを受信することと、前記第１のＮＡＬユニットおよび前記第２のＮＡＬユニットは、非ビデオコーディングレイヤ（ＶＣＬ）のＮＡＬユニットであり、
少なくとも部分的に前記パラメータセットに基づいて、ビデオデータの１つまたは複数のコード化ピクチャを復号することと、
を行わせる命令を記憶するコンピュータ可読記憶媒体。
【図１】
0005890031.tif 000006
【図２】
0005890031.tif 000007
【図３】
0005890031.tif 000008
【図４】
0005890031.tif 000009
【図５】
0005890031.tif 000010
【図６】
0005890031.tif 000011