[0021]ビデオエンコーダは、符号化ビデオデータを含むビットストリームを生成し得る。ビデオデータの各ピクチャはルーマサンプルのアレイを含み得、たとえば、ブロック中に配置されたクロマサンプルの2つの対応するアレイをも含み得る。ビデオデータのピクチャを符号化するために、ビデオエンコーダはピクチャのための複数のコーディングツリーユニット(CTU:coding tree unit)を生成し得る。CTUの各々は、ピクチャ内のルーマサンプルの異なる、等しいサイズのブロックに関連し得、クロマサンプルの対応するブロックにも関連し得る。ビデオエンコーダは、各CTUについて1つまたは複数のコーディングユニット(CU:coding unit)を生成し得る。CTUのCUの各々はCTUのルーマブロック内のルーマブロックに関連し得、CTUのクロマブロック内の2つの対応するクロマブロックにも関連し得る。
[0022]さらに、ビデオエンコーダは、各CUについて1つまたは複数の予測ユニット(PU:prediction unit)を生成し得る。ビデオエンコーダは、CUの各PUについてルーマ予測ブロックとクロマ予測ブロックとを生成し得る。ビデオエンコーダは、イントラ予測またはインター予測を使用してPUのための予測ブロックを生成し得る。ビデオエンコーダがCUの1つまたは複数のPUのための予測ブロックを生成した後、ビデオエンコーダは、CUに関連するルーマ残差ブロックとクロマ残差ブロックとを生成し得る。CUのルーマ残差ブロックおよびクロマ残差ブロックは、それぞれ、CUのPUのためのルーマ予測ブロックおよびクロマ予測ブロック中のサンプルと、CUの元のルーマブロックおよび元のクロマブロックとの間の差を示し得る。ビデオエンコーダはCUの残差ブロックを変換ブロックに区分し得る。さらに、ビデオエンコーダは、変換係数ブロックを生成するために各変換ブロックに1つまたは複数の変換を適用し得る。ビデオエンコーダは変換係数ブロックを量子化し得、変換係数ブロックの変換係数を表すシンタックス要素にエントロピーコーディングを適用し得る。ビデオエンコーダは、エントロピー符号化されたシンタックス要素を含むビットストリームを出力し得る。
[0023]ビデオエンコーダがビデオデータの現在ピクチャを符号化し始めるとき、ビデオエンコーダは現在ピクチャのための参照ピクチャセット(RPS:reference picture set)を判断し得る。現在ピクチャのためのRPSは5つのサブセット(すなわち、参照ピクチャサブセット)を有し得る。これらの5つの参照ピクチャサブセットは、RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurrおよびRefPicSetLtFollである。RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll中の参照ピクチャは「短期参照ピクチャ(short-term reference picture)」または「STRP」と呼ばれる。RefPicSetLtCurrおよびRefPicSetLtFoll中の参照ピクチャは「長期参照ピクチャ」または「LTRP」と呼ばれる。いくつかの事例では、LTRPは、STRPよりも長い時間期間の間インター予測において使用するのに利用可能なままであり得る。ビデオエンコーダは、ビデオデータの各ピクチャについて5つの参照ピクチャサブセットを再生成し得る。
[0024]さらに、現在ピクチャの現在スライスがPスライスであるとき、ビデオエンコーダは、現在スライスのための単一の参照ピクチャリスト、すなわちRefPicList0を生成するために、現在ピクチャのRefPicStCurrAfter参照ピクチャサブセットとRefPicStCurrBefore参照ピクチャサブセットとRefPicStLtCurr参照ピクチャサブセットとからの参照ピクチャを使用し得る。現在スライスがBスライスであるとき、ビデオエンコーダは、現在スライスのための2つの参照ピクチャリスト、すなわちRefPicList0およびRefPicList1を生成するために、現在ピクチャのRefPicStCurrAfter参照ピクチャサブセットとRefPicStCurrBefore参照ピクチャサブセットとRefPicStLtCurr参照ピクチャサブセットとからの参照ピクチャを使用し得る。ビデオエンコーダが、インター予測を使用して現在ピクチャのPUの予測ブロックを生成するとき、ビデオエンコーダは、現在スライスのための参照ピクチャリストのうちの1つまたは複数中の1つまたは複数の参照ピクチャ内のサンプルに基づいてPUの予測ブロックを生成し得る。
[0025]ビデオエンコーダは、シーケンスパラメータセット(SPS:sequence parameter set)中でLTRPエントリのセットをシグナリングし得る。言い換えれば、SPSはLTRPエントリのセットを明示的に示し得る。LTRPエントリの各々は、現在ピクチャのための(RefPicStLtCurrまたはRefPicStLtFollのいずれかの中の)長期参照ピクチャセット中にあるものとして参照ピクチャを示し得る。さらに、ビデオエンコーダは、現在ピクチャの(コーディング順序で)第1のスライスのスライスヘッダ中で、現在ピクチャに適用可能なSPS中で示されるLTRPエントリへのインデックスをシグナリングし得る。このようにして、スライスヘッダは、LTRPエントリ、またはLTRPエントリ「へのインデックス」を「暗黙的に」シグナリングし得る。さらに、ビデオエンコーダは、現在ピクチャの第1のスライスのスライスヘッダ中で、LTRPエントリの追加のセットをシグナリングし得る。言い換えれば、スライスヘッダは、追加のLTRPエントリを明示的にシグナリングし得る。
[0026]SPS中で明示的に示される各それぞれのLTRPエントリについて、ビデオエンコーダは、それぞれのLTRPエントリによって示される参照ピクチャが現在ピクチャによって使用されるかどうかをシグナリングし得る。現在ピクチャによって使用される、SPS中で明示的にシグナリングされるLTRPエントリによって示される参照ピクチャは、本明細書では、SPSの現在LTRPと呼ぶことがある。現在ピクチャによって使用されない、SPS中で明示的にシグナリングされるLTRPエントリによって示される参照ピクチャは、本明細書では、SPSの非現在LTRPと呼ぶことがある。同様に、スライスヘッダ中で暗黙的におよび明示的にシグナリングされる各それぞれのLTRPエントリについて、スライスヘッダは、それぞれのLTRPエントリによって示される参照ピクチャが現在ピクチャによって使用されるかどうかを示し得る。現在ピクチャによって使用される、スライスヘッダ中で暗黙的におよび明示的にシグナリングされるLTRPエントリによって示される参照ピクチャは、本明細書では、スライスヘッダの現在LTRPと呼ぶことがある。現在ピクチャによって使用されない、スライスヘッダ中で暗黙的におよび明示的にシグナリングされるLTRPエントリによって示される参照ピクチャは、本明細書では、スライスヘッダの非現在LTRPと呼ぶことがある。
[0027]現在ピクチャのためのRefPicStLtCurr参照ピクチャサブセットは、現在ピクチャの第1のスライスヘッダの現在LTRPと現在ピクチャに適用可能なSPSの現在LTRPとを含み得る。現在ピクチャのRefPicStLtFoll参照ピクチャサブセットは、現在ピクチャに適用可能なSPSの非現在LTRPと現在ピクチャの第1のスライスヘッダの非現在LTRPとを含み得る。
[0028]上記で説明したシグナリング方式は、いくつかの欠点を有し得る。たとえば、ビデオエンコーダは、参照ピクチャを示すLTRPエントリを明示的にシグナリングし、また、同じ参照ピクチャを示すLTRPエントリを暗黙的にシグナリングするスライスヘッダを潜在的に生成し得る。したがって、現在ピクチャのRefPicStLtCurrおよび/またはRefPicStLtFollは、同じ参照ピクチャを2回潜在的に含み得る。上記で説明したシグナリング方式の別の例示的な欠点では、スライスヘッダ自体は、同じLTRPエントリを複数回明示的にシグナリングし得る。同様に、SPSは、同じLTRPエントリを複数回明示的にシグナリングし得る。SPSまたはスライスヘッダのいずれか中で同じLTRPエントリを複数回明示的にシグナリングすることは、コーディング効率を低減し得る。上記で説明したシグナリング方式の別の例示的な欠点では、SPSは、特定の参照ピクチャが現在ピクチャによって参照のために使用されないことを示すLTRPエントリを含み得、同時に、スライスヘッダ(またはSPS)は、特定のLTRPが現在ピクチャによって参照のために使用されることを示すLTRPエントリを含み得、またはその逆も同様である。特定の参照ピクチャが現在ピクチャによって参照のために使用されるかどうかの間のこの混乱が、ビデオデコーダについての復号問題を引き起こし得る。
[0029]本開示の技法によれば、ビデオエンコーダは、同じ参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示す複数のLTRPエントリをスライスヘッダ中で(明示的にまたは暗黙的にのいずれかで)シグナリングすることを制限され得る。そうではなく、ビデオエンコーダは、スライスヘッダが、同じ参照ピクチャを示す2つのLTRPエントリをシグナリングすることを禁止する制限にスライスヘッダが従うように構成される。ビデオエンコーダが、同じ参照ピクチャを示す複数のLTRPエントリをシグナリングすることを制限されるので、LTRPエントリは、参照ピクチャが現在ピクチャによって参照のために使用されるかどうかに関して矛盾するシンタックス要素を含むことができない。さらに、本開示の技法によれば、ビデオエンコーダは、同じLTRPエントリを複数回示すスライスヘッダを生成することを制限され得る。すなわち、ビデオエンコーダは、同じLTRPエントリを複数回暗黙的にシグナリングすることを制限され、同じLTRPエントリを複数回明示的にシグナリングすることを制限され、同じLTRPエントリを暗黙的におよび明示的にシグナリングすることを制限され得る。したがって、ビデオエンコーダは、LTRPエントリを高々1回暗黙的にまたは明示的にシグナリングし得る。これらの制限は、ビデオエンコーダが、同じLTRPエントリを明示的におよび暗黙的にシグナリングするためにシンタックス要素をSPSまたはスライスヘッダ中に含めることが可能でないことがあるので、コーディング効率を潜在的に増加させ得る。
[0030]したがって、ビデオデコーダが現在ピクチャの現在スライスのスライスヘッダを復号し得る。1つまたは複数のLTRPエントリの1セットがスライスヘッダ中でシグナリングされ得る。1つまたは複数のLTRPエントリのセットは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含み得る。1つまたは複数のLTRPエントリのセットは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、第2のLTRPエントリを含み得る。ビデオデコーダは、1つまたは複数のLTRPエントリに少なくとも部分的に基づいて、現在ピクチャのための参照ピクチャリストを生成し得、現在ピクチャのための参照ピクチャリスト中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいて、現在ピクチャを再構成し得る。
[0031]図1は、本開示の技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で使用する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、総称的にビデオ符号化またはビデオ復号を指すことがある。
[0032]図1に示されるように、ビデオコーディングシステム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12は符号化ビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれることがある。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号し得る。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれることがある。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
[0033]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備え得る。
[0034]宛先デバイス14は、チャネル16を介してソースデバイス12から符号化ビデオデータを受信し得る。チャネル16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする1つまたは複数の通信媒体を備え得る。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って符号化ビデオデータを変調し得、変調されたビデオデータを宛先デバイス14に送信し得る。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、ワイヤレスおよび/またはワイヤード通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)など、パケットベースネットワークの一部を形成し得る。1つまたは複数の通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にする、ルータ、スイッチ、基地局、または他の機器を含み得る。
[0035]別の例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、ディスクアクセスまたはカードアクセスを介して記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオデータを記憶するための他の好適なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
[0036]さらなる例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶するファイルサーバまたは別の中間ストレージデバイスを含み得る。この例では、宛先デバイス14は、ストリーミングまたはダウンロードを介して、ファイルサーバまたは他の中間ストレージデバイスに記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス14に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバには、(たとえば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブが含まれる。
[0037]宛先デバイス14は、インターネット接続などの標準的なデータ接続を通して符号化ビデオデータにアクセスし得る。データ接続の例示的なタイプとしては、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適な、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せがあり得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0038]本開示の技法は、ワイヤレスの用途または設定には限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の適用例など、様々なマルチメディア適用例をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
[0039]図1は例にすぎず、本開示の技法は、符号化デバイスと復号デバイスとの間のデータ通信を必ずしも含むとは限らないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データがローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶し得、および/またはビデオ復号デバイスはメモリからデータを取り出し、復号し得る。多くの例では、符号化および復号は、互いに通信しないが、メモリにデータを符号化し、および/またはメモリからデータを取り出して復号するだけであるデバイスによって実行される。
[0040]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオデータを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/またはビデオデータを生成するためのコンピュータグラフィックスシステム、あるいはビデオデータのそのようなソースの組合せを含み得る。
[0041]ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化し得る。いくつかの例では、ソースデバイス12は、出力インターフェース22を介して宛先デバイス14に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータはまた、復号および/または再生のための宛先デバイス14による後のアクセスのために記憶媒体またはファイルサーバ上に記憶され得る。
[0042]図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信し得る。ディスプレイデバイス32は、宛先デバイス14と一体であり得るか、またはその外部にあり得る。概して、ディスプレイデバイス32は、復号ビデオデータを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを備え得る。
[0043]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェアなど、様々な好適な回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装された場合、デバイスは、好適な非一時的コンピュータ可読記憶媒体にソフトウェアの命令を記憶し得、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)上記のいずれも、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0044]本開示では、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及することがある。「シグナリング」という用語は、概して、圧縮ビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムに行われ得る。代替的に、そのような通信は、符号化時に符号化ビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶するときに行われることがあるなど、ある時間期間にわたって行われ得、次いで、これらの要素は、この媒体に記憶された後の任意の時間に復号デバイスによって取り出され得る。
[0045]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、それのスケーラブルビデオコーディング(SVC)拡張、マルチビュービデオコーディング(MVC)拡張、およびMVCベースの3DV拡張を含む、ISO/IEC MPEG−4 Visualおよび(ISO/IEC MPEG−4 AVCとしても知られる)ITU−T H.264などのビデオ圧縮規格に従って動作する。場合によっては、MVCベースの3DVに準拠する任意の正当なビットストリームは、MVCプロファイル、たとえばステレオハイプロファイルに準拠するサブビットストリームを常に含んでいる。他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、およびITU−T H.264、ISO/IEC Visualに従って動作し得る。
[0046]他の例では、ビデオエンコーダ20およびビデオデコーダ30は、ITU−Tビデオコーディングエキスパートグループ(VCEG:Video Coding Experts Group)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのジョイントコラボレーションチームオンビデオコーディング(JCT−VC:Joint Collaboration Team on Video Coding)によって開発された高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格に従って動作し得る。「HEVC Working Draft 8」と呼ばれるHEVC規格のドラフトは、その内容全体が参照により本明細書に組み込まれる、2013年6月20日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zipから入手可能である、Brossら、「High Efficiency Video Coding (HEVC) text specification draft 8」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのジョイントコラボレーティブチームオンビデオコーディング(JCT−VC)、第10回会議、Stockholm、Sweden、2012年2月に記載されている。
[0047]HEVCおよび他のビデオコーディング仕様では、ビデオシーケンスは一般に一連のピクチャを含む。ピクチャは「フレーム」と呼ばれることもある。ピクチャは、SL、SCbおよびSCrと表される3つのサンプルアレイを含み得る。SLはルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbはCbクロミナンスサンプルの2次元アレイである。SCrはCrクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。他の例では、ピクチャはモノクロームであり得、ルーマサンプルのアレイのみを含み得る。
[0048]ピクチャの符号化表現を生成するために、ビデオエンコーダ20はコーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのN×Nブロックであり得る。CTUは「ツリーブロック」または「最大コーディングユニット」(LCU:largest coding unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCなど、他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。スライスは、ラスタ走査において連続的に順序付けられた整数個のCTUを含み得る。
[0049]コーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックに対して4分木区分を再帰的に実行して、コーディングツリーブロックを、したがって「コーディングツリーユニット」という名称があるコーディングブロックに分割し得る。コーディングブロックはサンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、CbサンプルアレイおよびCrサンプルアレイ、ならびにコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造を有するピクチャのルーマサンプルの1つのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロックであり得る。ピクチャがモノクロームである事例、またはピクチャが3つの別個のカラープレーンとして表される事例では、CUは、サンプルのコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ピクチャのルーマサンプルの1つの予測ブロックと、クロマサンプルの2つの対応する予測ブロックと、予測ブロックサンプルを予測するために使用されるシンタックス構造とであり得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロックとCb予測ブロックとCr予測ブロックとのための予測ルーマブロックと予測Cbブロックと予測Crブロックとを生成し得る。
[0050]ビデオエンコーダ20は、イントラ予測またはインター予測を使用してPUのための予測ブロックを生成し得る。ビデオエンコーダ20がイントラ予測を使用してPUの予測ブロックを生成した場合、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。
[0051]ビデオエンコーダ20がインター予測を使用してPUの予測ブロックを生成するとき、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20は、PUの予測ブロックを生成するために単予測または双予測を使用し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために単予測を使用するとき、PUは単一の動きベクトルを有し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために双予測を使用するとき、PUは2つの動きベクトルを有し得る。
[0052]ビデオエンコーダ20は、CUの1つまたは複数のPUのための予測ルーマブロックと予測Cbブロックと予測Crブロックとを生成した後、ビデオエンコーダ20はCUのためのルーマ残差ブロックを生成し得る。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つ中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差を示す。さらに、ビデオエンコーダ20はCUのためのCb残差ブロックを生成し得る。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つ中のCbサンプルとCUの元のCbコーディングブロック中の対応するサンプルとの間の差を示し得る。ビデオエンコーダ20はまた、CUのためのCr残差ブロックを生成し得る。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つ中のCrサンプルとCUの元のCrコーディングブロック中の対応するサンプルとの間の差を示し得る。
[0053]さらに、ビデオエンコーダ20は4分木区分を使用して、CUのルーマ残差ブロックとCb残差ブロックとCr残差ブロックとを1つまたは複数のルーマ変換ブロックとCb変換ブロックとCr変換ブロックとに分解し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロックと、クロマサンプルの2つの対応する変換ブロックと、変換ブロックサンプルを変換するために使用されるシンタックス構造とであり得る。したがって、CUの各TUは、ルーマ変換ブロックとCb変換ブロックとCr変換ブロックとに関連付けられ得る。TUに関連付けられたルーマ変換ブロックはCUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックはCUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックはCUのCr残差ブロックのサブブロックであり得る。
[0054]ビデオエンコーダ20は、TUのルーマ変換ブロックに1つまたは複数の変換を適用してTUのためのルーマ係数ブロックを生成し得る。係数ブロックは変換係数の2次元ブロックであり得る。変換係数はスカラー量であり得る。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用してTUのためのCb係数ブロックを生成し得る。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用してTUのためのCr係数ブロックを生成し得る。
[0055]係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、ビデオエンコーダ20は係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現する処理を指す。ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC:Context-Adaptive Binary Arithmetic Coding)を実行し得る。ビデオエンコーダ20は、エントロピー符号化されたシンタックス要素をビットストリーム中に出力し得る。
[0056]さらに、ビデオデコーダ30は逆量子化を実行し得、CUの変換ブロックを再構成するために係数ブロックに逆変換を適用し得る。ビデオエンコーダ20は、CUの再構成された変換ブロックとCUのPUの予測ブロックとに少なくとも部分的に基づいて、CUのコーディングブロックを再構成し得る。ビデオエンコーダ20の復号ピクチャバッファ(DPB:decoded picture buffer)が、複数のピクチャのCUの再構成されたコーディングブロックを記憶し得る。ビデオエンコーダ20は、DPBに記憶されたピクチャ(すなわち、参照ピクチャ)を使用して、他のピクチャのPUに対してインター予測を実行し得る。
[0057]ビデオエンコーダ20は、コーディングされたピクチャと関連データとの表現を形成するビットのシーケンスを含むビットストリームを出力し得る。ビットストリームは、一連のネットワークアブストラクションレイヤ(NAL:network abstraction layer)ユニットを備え得る。NALユニットの各々はNALユニットヘッダを含み、ローバイトシーケンスペイロード(RBSP:raw byte sequence payload)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを含むシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化された整数個のバイトを含んでいるシンタックス構造であり得る。いくつかの例では、RBSPはゼロビットを含む。
[0058]異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化し得る。たとえば、第1のタイプのNALユニットはピクチャパラメータセット(PPS:picture parameter set)のためのRBSPをカプセル化し得、第2のタイプのNALユニットは、コーディングされたスライスのためのRBSPをカプセル化し得、第3のタイプのNALユニットは補足エンハンスメント情報(SEI:supplemental enhancement information)のためのRBSPをカプセル化し得、以下同様である。(パラメータセットおよびSEIメッセージのためのRBSPではなく)ビデオコーディングデータのためのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL:video coding layer)NALユニットと呼ばれることがある。
[0059]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームをパースして、ビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成し得る。ビデオデータを再構成するためのプロセスは、一般に、ビデオエンコーダ20によって実行されるプロセスの逆であり得る。たとえば、ビデオデコーダ30は、PUの動きベクトルを使用して、現在CUのPUのための予測ブロックを判断し得る。加えて、ビデオデコーダ30は、現在CUのTUに関連付けられた係数ブロックを逆量子化し得る。ビデオデコーダ30は、係数ブロックに対して逆変換を実行して、現在CUのTUに関連付けられた変換ブロックを再構成し得る。ビデオデコーダ30は、現在CUのPUのための予測ブロックのサンプルを現在CUのTUの変換ブロックの対応するサンプルに追加することによって現在CUのコーディングブロックを再構成し得る。現在ピクチャの各CUのためのコーディングブロックを再構成することによって、ビデオデコーダ30は現在ピクチャを再構成し得る。ビデオデコーダ30は、他のピクチャ中のPUのインター予測において使用するために、再構成された現在ピクチャをDPBに記憶し得る。
[0060]ピクチャ順序カウント(POC:picture order count)値は、1つの時間インスタンスにおいて(すなわち、1つのアクセスユニット中で)生じる1つまたは複数のピクチャを識別する値である。ベースHEVCでは、1つのアクセスユニット中にただ1つのピクチャが生じる。スケーラブル、マルチビュー、または3次元ビデオコーディングでは、複数のピクチャが1つの時間インスタンスにおいて生じ得、したがって、POC値は、複数のピクチャを、すなわち、異なるレイヤにおいて識別し得る。ビデオエンコーダ20およびビデオデコーダ30は、ピクチャのPOC値を使用して(たとえば、インター予測において使用する)ピクチャを識別し得る。
[0061]ビデオエンコーダ20がビデオデータの現在ピクチャを符号化し始めたとき、ビデオエンコーダ20は、POC値の5つのリスト、すなわち、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollを生成し得る。ビデオエンコーダ20は、POC値のこれらの5つのリストを使用して、現在ピクチャのための5つの対応する参照ピクチャサブセット、すなわち、RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurr、およびRefPicSetLtFollを生成し得る。POC値のリスト中の各POC値(たとえば、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFoll)について、ビデオエンコーダ20は、DPBがPOC値を有する参照ピクチャを含むかどうかを判断し得、そうである場合、ビデオエンコーダ20は、POC値のリストに対応する参照ピクチャセット中にその参照ピクチャを含める。
[0062]RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll中の参照ピクチャは「短期参照ピクチャ」または「STRP」と呼ばれる。RefPicSetLtCurrおよびRefPicSetLtFoll中の参照ピクチャは「長期参照ピクチャ」または「LTRP」と呼ばれる。いくつかの事例では、LTRPは、STRPよりも長い時間期間の間インター予測において使用するのに利用可能なままであり得る。ビデオエンコーダ20は、POC値の5つのリストと、ビデオデータの各ピクチャについての対応する参照ピクチャセットとを再生成し得る。
[0063]さらに、現在ピクチャの現在スライスがPスライスであるとき、ビデオエンコーダ20は、現在スライスのための単一の参照ピクチャリスト、すなわちRefPicList0を生成するために、現在ピクチャのRefPicStCurrAfter参照ピクチャサブセットとRefPicStCurrBefore参照ピクチャサブセットとRefPicStLtCurr参照ピクチャサブセットとからの参照ピクチャを使用し得る。現在スライスがBスライスであるとき、ビデオエンコーダ20は、現在スライスのための2つの参照ピクチャリスト、すなわちRefPicList0およびRefPicList1を生成するために、現在ピクチャのRefPicStCurrAfter参照ピクチャサブセットとRefPicStCurrBefore参照ピクチャサブセットとRefPicStLtCurr参照ピクチャサブセットとからの参照ピクチャを使用し得る。ビデオエンコーダ20が、インター予測を使用して現在ピクチャのPUの予測ブロックを生成するとき、ビデオエンコーダ20は、現在スライスのための参照ピクチャリストのうちの1つまたは複数中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいてPUの予測ブロックを生成し得る。
[0064]ビデオエンコーダ20は、シーケンスパラメータセット(SPS)中でLTRPエントリのセットをシグナリングし得る。言い換えれば、SPSはLTRPエントリのセットを明示的にシグナリングし得る。LTRPエントリの各々は、参照ピクチャを示し得、参照ピクチャが現在ピクチャによって参照のために使用されるかどうかを示し得る。さらに、ビデオエンコーダ20は、現在ピクチャの(コーディング順序で)第1のスライスのスライスヘッダ中で、現在ピクチャに適用可能であるSPS中でシグナリングされるLTRPエントリへのインデックスをシグナリングし得る。このようにして、スライスヘッダは、LTRPエントリ(すなわち、LTRPエントリへのインデックス)を暗黙的にシグナリングし得る。さらに、ビデオエンコーダ20は、現在ピクチャの第1のスライスのスライスヘッダ中で、追加のLTRPエントリをシグナリングし得る。言い換えれば、スライスヘッダは、追加のLTRPエントリを明示的にシグナリングし得る。
[0065]以下の表1に、LTRPに関する、SPS内の部分のシンタックスを示す。
[0066]上記の表1の例示的なシンタックスおよび本開示の他のシンタックス表では、型記述子ue(v)をもつシンタックス要素は、左ビットが先頭の0次指数ゴロム(Exp−Golomb)コーディングを使用して符号化される可変長符号なし整数であり得る。表1および以下の表の例では、形式u(n)の記述子を有するシンタックス要素は、長さnの符号なし値であり、ただし、nは非負整数である。
[0067]表1において、シンタックス要素long_term_ref_pics_present_flagは、SPSがLTRPのセットを示すシンタックス要素を含むかどうかを示す。シンタックス要素num_long_term_ref_pics_spsは、SPS中でシグナリングされるLTRPの数を示す。シンタックス要素lt_ref_pic_poc_lsb_sps[i]は、LTRPのセット中の位置iにおけるLTRPのPOC値の最下位ビット(LSB)を示す。いくつかの例では、SPSは、LSBのみを使用して表され得る最大POC値を示すシンタックス要素(たとえば、log2_max_pic_order_cnt_lsb_minus4)を含む。そのような例では、LSBのみを使用して表され得る最大POC値(たとえば、MaxPicOrderCntLsb)は、以下に等しくなり得る。
[0068]上記の表1において、シンタックス要素used_by_curr_pic_lt_sps_flag[i]は、LTRPエントリのセット中の位置iにおけるLTRPエントリが現在ピクチャの参照ピクチャセットにおいて使用されるかどうかを示す。SPS中のLTRPエントリは、lt_ref_pic_poc_lsb_sps[i]とused_by_curr_pic_lt_sps_flag[i]とからなるタプルとして定義され得る。言い換えれば、LTRPエントリは、LSBシンタックス要素と使用シンタックス要素とであり得、ただし、LSBシンタックス要素は参照ピクチャのPOC値のLSBを示し、使用シンタックス要素は、参照ピクチャが現在ピクチャによって参照のために使用されるかどうかを示す。
[0069]以下の表2に、LTRPに関するスライスヘッダの一部分のシンタックスを示す。
[0070]表2において、シンタックス要素num_long_term_spsは、現在ピクチャのための適用可能なSPSにおいて指定された候補LTRPの数を示す。シンタックス要素num_long_term_picsは、現在ピクチャのLTRPセット中に含まれる、スライスヘッダにおいて指定されたLTRPエントリの数を示す。シンタックス要素lt_idx_sps[i]は、現在ピクチャのための適用可能なSPSによって指定されたLTRPエントリへのインデックスを指定する。poc_lsb_lt[i]シンタックス要素は、現在ピクチャのLTRPセット中のi番目のLTRPのPOC値の最下位ビットの値を指定し得る。used_by_curr_pic_lt_flag[i]シンタックス要素は、現在ピクチャのLTRPセット中に含められるべきi番目のLTRPが現在ピクチャによって参照のために使用されるかどうかを指定し得る。
[0071]シンタックス要素delta_poc_msb_present_flag[i]は、delta_poc_msb_cycle_lt[i]シンタックス要素がスライスヘッダ中に存在するかどうかを示す。delta_poc_msb_cycle_lt[i]シンタックス要素は、現在ピクチャのLTRPセット中のi番目のLTRPの最上位ビット(MSB)の値を判断するために使用される。一般に、STRPは、ピクチャの拡張されたシーケンスのためのDPB中に残らない。したがって、STRPのPOC値のLSBは、異なるSTRPを区別するのに十分であり得る。対照的に、LTRPは、ピクチャのより長いシーケンスのためのDPB中に残り得る。したがって、LTRPの完全なPOC値(すなわち、POC値のMSBおよびLSB)は、DPB中の異なるLTRPを区別し、DPB中でLTRPをSTRPと区別するために必要とされ得る。
[0072]スライスヘッダ中でシグナリングされる異なるLTRP間のピクチャの数は、POC値のLSBのみを使用して示され得る異なるピクチャの数よりも著しく大きくなる可能性が比較的低いので、異なるLTRPのPOC値のMSB間の差を示すために必要とされるビット数は、異なるLTRPのPOC値のMSBを明示的に示すために必要とされるビット数よりも小さくなる可能性が高い。したがって、delta_poc_msb_cycle_ltシンタックス要素は、LTRPのPOC値のMSB間の差を示し得る。さらに、第1のLTRPのPOC値のLSBと第2のLTRPのPOC値のLSBとの間の差がない場合、delta_poc_msb_present_flagシンタックス要素は、スライスヘッダが、第1のLTRPのPOC値のMSBと第2のLTRPのPOC値のMSBとの間の差を表す第2のLTRPのためのdelta_poc_msb_cycle_ltシンタックス要素を含むことを示し得る。言い換えれば、delta_pos_msb_present_flag[i]シンタックス要素は、delta_poc_msb_cycle_lt[i]シンタックス要素が、i番目のLTRPのPOC値のLSBが(i−1)番目のLTRPのPOC値のLSBに等しいとき、MSBまたはi番目のLTRPと(i−1)番目のLTRPとの差を示すことを示し得る。
[0073]したがって、表1および表2のシンタックスにおいて、LTRPのシグナリングは、SPSまたはスライスヘッダ中でLTRPのPOC値のLSBをシグナリングすることを伴い、場合によっては、スライスヘッダ中でMSBサイクル差をシグナリングすることを伴い得る。
[0074]スライスヘッダ中のLTRPエントリは、poc_lsb_lt[i]シンタックス要素とused_by_curr_pic_lt_flag[i]シンタックス要素とによってシグナリングされるLSBおよびフラグ、またはlt_idx_sps[i]シンタックス要素によって示されるSPS中のエントリに対応するLSBおよびフラグのいずれかとして定義され得る。lt_idx_sps[i]シンタックス要素を使用してLTRPエントリがスライスヘッダ中でシグナリングされるとき、本開示では、LTRPエントリをスライスヘッダ中でインデックス付けされると呼び、対応するエントリはSPSから導出される。poc_lsb_lt[i]シンタックス要素とused_by_curr_pic_lt_flag[i]シンタックス要素とを使用してLTRPエントリがスライスヘッダ中でシグナリングされるとき、本開示では、LTRPエントリをスライスヘッダ中で明示的にシグナリングされると呼ぶ。
[0075]SPS中で明示的にシグナリングされる各それぞれのLTRPエントリについて、ビデオエンコーダ20は、それぞれのLTRPエントリによって示される参照ピクチャが現在ピクチャによって使用されるかどうかをシグナリングし得る。現在ピクチャのためのRefPicStLtCurr参照ピクチャサブセットは、現在ピクチャによって参照のために使用され得る、スライスヘッダ中でシグナリングされるLTRPエントリによって示される参照ピクチャを含む。現在ピクチャのRefPicStLtFoll参照ピクチャサブセットは、現在ピクチャによって参照のために使用されない、スライスヘッダ中でシグナリングされるLTRPエントリによって示される参照ピクチャを含み得る。
[0076]ビデオデコーダ30はビットストリームからSPSとスライスヘッダとを取得し得る。ビデオデコーダ30が現在ピクチャの第1のスライスを復号し始めたとき、ビデオデコーダ30は、特定のSPSが現在ピクチャに適用可能であると判断し得る。さらに、ビデオデコーダ30は、適用可能なSPS中のシンタックス要素および/またはスライスヘッダ中のシンタックス要素に少なくとも部分的に基づいて、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFoll中に含まれるべきPOC値を判断し得る。ビデオデコーダ30は、次いで、PocStCurrBeforeとPocStCurrAfterとPocStFollとPocLtCurrとPocLtFollとを使用して、現在ピクチャのための参照ピクチャサブセット、すなわち、RefPicSetStCurrBeforeとRefPicSetStCurrAfterとRefPicSetStFollとRefPicSetLtCurrとRefPicSetLtFollとを判断し得る。その後、ビデオデコーダ30は、RefPicStCurrBeforeとRefPicSetStCurrAfterとRefPicSetLtCurrとを使用して、現在ピクチャのための1つまたは複数の参照ピクチャリスト(たとえば、RefPicList0およびRefPicList1)を判断し得る。上記で説明したように、ビデオデコーダ30は、PUのインター予測のために参照ピクチャリスト中の参照ピクチャを使用し得る。
[0077]上記で説明したシグナリング方式は、いくつかの欠点を有する。上記で説明したシグナリング方式の1つの例示的な欠点では、スライスヘッダ自体は、同じLTRPエントリを複数回明示的にシグナリングし得る。言い換えれば、上記で説明したセマンティクス中には、同じLTRPエントリが、1つのスライスヘッダ中で2回以上シグナリングされる(明示的にまたはインデックス付けされる)ことを却下する制限がない。上記で説明したシグナリング方式の別の例示的な欠点では、SPSは、特定のLTRPが現在ピクチャによって使用されないことを示し得、同時に、スライスヘッダは、特定のLTRPが現在ピクチャによって使用されることを示し得、またはその逆も同様である。たとえば、スライスヘッダは、同じ参照ピクチャを示すが、used_by_curr_pic_flagシンタックス要素のための異なる値を有するLTRPエントリを明示的にシグナリングし、および/またはそのLTRPエントリにインデックス付けし得る。したがって、上記で説明したシンタックスおよびセマンティクスは、特定の参照ピクチャがRefPicSetLtCurrサブセットとRefPicSetLtFollサブセットの両方中にあることを示すLTRPエントリをシグナリングするスライスヘッダを可能にする。特定のLTRPが現在ピクチャによって参照のために使用されるかどうかの間のこの混乱が、ビデオデコーダ30についての復号問題を引き起こし得る。
[0078]したがって、本開示の1つまたは複数の技法によれば、スライスヘッダ中でシグナリングされる(明示的にまたはインデックス付けされる)各LTRPは、スライスヘッダ中でシグナリングされる(明示的にまたはインデックス付けされる)すべてのLTRPの間で別個の参照ピクチャを参照しなければならないような制限が追加され得る。たとえば、ビデオエンコーダ20は、同じLTRPを示す複数のLTRPエントリを暗黙的にシグナリングすること(すなわち、インデックス付けすること)を制限され、同じLTRPを複数回示す複数のLTRPエントリを明示的にシグナリングすることを制限され、同じLTRPを示すLTRPエントリを暗黙的におよび明示的にシグナリングすることを制限される。
[0079]したがって、ビデオエンコーダ20は、現在ピクチャの現在スライスのためのスライスヘッダ中で第1のLTRPエントリをシグナリングし得る。第1のLTRPエントリは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示し得る。現在ピクチャの長期参照ピクチャセットは、RefPicSetLtCurr、およびRefPicSetLtFoll中に参照ピクチャを含み得る。さらに、ビデオエンコーダ20は、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、スライスヘッダ中で第2のLTRPエントリをシグナリングし得る。いくつかの例では、ビットストリーム中のスライスヘッダ中でシグナリングされる2つのLTRPエントリが、現在ピクチャの長期の参照ピクチャセット中に同じ参照ピクチャがあることを示す場合、ビットストリームはビットストリームコンフォーマンステストに不合格になり得る。
[0080]いくつかの例では、ビデオエンコーダ20は、スライスヘッダ中に第1のLTRPエントリへのインデックスを含めることによって第1のLTRPエントリをシグナリングし得る。いくつかの例では、ビデオエンコーダ20は、特定の参照ピクチャが現在ピクチャの参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、スライスヘッダ中に第2のLTRPエントリを含めることによって、第2のLTRPエントリをシグナリングし得る。たとえば、ビデオエンコーダ20は、スライスヘッダがSPS中の等価LTRPエントリへのインデックスを含む場合、スライスヘッダが特定のLTRPエントリを明示的に含むことを禁止する制限にスライスヘッダが従うようなスライスヘッダを生成し得る。したがって、スライスヘッダが特定のLTRPを含み、SPS中に等価LTRPエントリへのインデックスを含む場合、ビットストリームはビットストリームコンフォーマンステストに不合格になり得る。この例では、特定のLTRPエントリはLSBシンタックス要素と使用シンタックス要素とを含む。さらに、この例では、等価LTRPエントリは、特定のLTRPエントリのLSBシンタックス要素に一致するLSBシンタックス要素を含み、等価LTRPエントリは、特定のLTRPの使用シンタックス要素に一致する使用シンタックス要素を含む。特定のLTRPエントリのLSBシンタックス要素と等価LTRPエントリのLSBシンタックス要素とは、POC値のLSBを示す。特定のLTRPエントリの使用シンタックス要素と等価LTRPエントリの使用シンタックス要素とは、参照ピクチャが現在ピクチャによって参照のために使用され得るかどうかを示す。
[0081]別の例では、SPS中のLTRPエントリのセットは、第1のLTRPエントリと第2のLTRPエントリとを含み得る。この例では、ビデオエンコーダ20は、スライスヘッダ中に第1のLTRPエントリへのインデックスを含め得、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、スライスヘッダ中に第2のLTRPエントリへのインデックスを含め得る。
[0082]さらに別の例では、ビデオエンコーダ20は、スライスヘッダ中に第1のLTRPエントリを含めることによって第1のLTRPエントリをシグナリングし得る。さらに、ビデオエンコーダ20は、スライスヘッダ中に第2のLTRPエントリを含めることによって第2のLTRPエントリをシグナリングし得る。したがって、ビデオエンコーダ20は、スライスヘッダ中に第1のLTRPエントリを含め得、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、スライスヘッダ中に第2のLTRPエントリを含め得る。このようにして、ビデオエンコーダ20は、スライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含むことを禁止する制限にスライスヘッダが従うようなスライスヘッダを生成し得る。したがって、ビットストリーム中のスライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含む場合、ビットストリームはビットストリームコンフォーマンステストに不合格になり得る。
[0083]上記のように、現在ピクチャの長期参照ピクチャセットは、第1のサブセット(たとえば、RefPicStLtCurr)と第2のサブセット(たとえば、RefPicStLtFoll)とを含み得る。第1のサブセットは、現在ピクチャによって参照のために使用されるLTRPを含み得、第2のサブセットは、他のピクチャによって参照のために使用されるLTRPを含み得る。本開示の技法によれば、ビデオエンコーダ20は、第1のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、第2のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、第1のサブセットおよび第2のサブセットが同じPOC値をもつ参照ピクチャを含むことを禁止する制限とにスライスヘッダが従うようなスライスヘッダを生成し得る。したがって、第1のサブセットが、同じPOC値をもつ2つの参照ピクチャを含む場合、および/または第2のサブセットが、同じPOC値をもつ2つの参照ピクチャを含む場合、ビットストリームはビットストリームコンフォーマンステストに不合格になり得る。
[0084]さらに、いくつかの例では、SPS中の1つまたは複数のLTRPエントリのセット中の各それぞれのLTRPエントリについて、スライスヘッダは、スライスヘッダがそれぞれのLTRPエントリへのインデックスのコピーをすでに含まない場合のみ、それぞれのLTRPエントリへのインデックスを含む。このようにして、ビデオエンコーダ20は、スライスヘッダがSPS中の単一のLTRPエントリへの2つのインデックスを含むことを禁止する制限に従うスライスヘッダを生成し得る。したがって、スライスヘッダがSPS中に単一のLTRPエントリへの2つのインデックスを含む場合、ビットストリームはビットストリームコンフォーマンステストに不合格になり得る。
[0085]HEVCワーキングドラフト8のシグナリング方式の別の例示的な欠点では、SPSは、同じLTRPエントリを複数回明示的にシグナリングし得る。SPSまたはスライスヘッダのいずれか中で同じLTRPエントリを複数回明示的にシグナリングすることは、コーディング効率を低減し得る。言い換えれば、上記で説明したセマンティクスには、SPS中で2回以上シグナリングされる同じLTRPエントリのための制限がない。
[0086]本開示の1つまたは複数の技法内の一致では、SPS中でシグナリングされるLTRPエントリの間の重複LTRPエントリを却下する制限が追加され得る。言い換えれば、ビデオエンコーダ20は、同じLTRPエントリを複数回明示的にシグナリングするSPSを生成することを制限される。たとえば、ビデオエンコーダ20は、SPSが特定のLTRPエントリのコピーをすでに含まない場合のみ、SPSが特定のLTRPエントリを含むようなSPSを生成し得る。このようにして、ビデオエンコーダ20は、SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限にSPSが準拠するようなSPSを生成し得る。いくつかの事例では、(ビデオエンコーダ20またはビデオデコーダ30などの)デバイスは、ビットストリームがHEVCなどのビデオコーディング規格に適合しているかどうかを判断するために、ビットストリームコンフォーマンステストを実行し得る。SPSが同じLTRPエントリの2つ以上のコピーを含む場合、ビットストリームは、ビットストリームコンフォーマンステストを満たすことに失敗し得る。
[0087]HEVCワーキングドラフト8のシグナリング方式の別の例示的な欠点では、ビデオエンコーダ20はLTRPエントリを明示的に示し、また、同じLTRPエントリを暗黙的に示すスライスヘッダを潜在的に生成し得る。したがって、現在ピクチャのRefPicStLtCurrおよび/またはRefPicStLtFollは、同じLTRPエントリを2回潜在的に含み得る。言い換えれば、LTRPエントリは、SPS中でシグナリングされ、スライスヘッダ中でインデックス付けされ得る(すなわち、暗黙的に示され得る)。しかしながら、上記で説明したセマンティクスは、SPS中でシグナリングされるLTRPエントリが、スライスヘッダ中でも明示的にシグナリングされることを可能にし得る。そのようなフレキシビリティは不要であり得る。
[0088]したがって、本開示の1つまたは複数の技法によれば、SPS中に等価LTRPエントリが含まれるとき、スライスヘッダ中でLTRPエントリが直接シグナリングされないような制限が追加され得る。したがって、SPS中の各それぞれのLTRPエントリについて、スライスヘッダは、特定のLTRPエントリがSPS中のそれぞれのLTRPエントリに一致した場合、特定のLTRPエントリを含まない。たとえば、SPSが、2つの一致するLTRPエントリを含む場合、ビットストリームはビットストリームコンフォーマンステストに不合格になり得る。
[0089]HEVCワーキングドラフト8のシグナリング方式の別の例示的な欠点では、delta_poc_msb_present_flag[i]シンタックス要素の値は、delta_poc_msb_cycle_lt[i]シンタックス要素のシグナリングを調整する。言い換えれば、delta_poc_msb_cycle_lt[i]シンタックス要素のシグナリングは、delta_poc_msb_present_flag[i]シンタックス要素の値に依存する。上記で説明したように、delta_poc_msb_present_flag[i]シンタックス要素は、i番目のLTRPのPOC値のMSBが(i−1)番目のLTRPのPOC値のMSBに等しい場合、delta_poc_msb_cycle_lt[i]シンタックス要素が存在しないことを示し得る。delta_poc_msb_cycle_lt[i]シンタックス要素は、指数ゴロムコーディングされる(すなわち、ue(v)コーディングされる)。しかしながら、delta_poc_msb_present_flag[i]シンタックス要素の明示的シグナリングは必要でないことがあり、delta_poc_msb_cycle_lt[i]シンタックス要素は、すべての場合(すなわち、POC値のMSBがシグナリングされる場合と、POC値のMSBがシグナリングされない場合の両方)をカバーするように変更され得る。
[0090]したがって、本開示の1つまたは複数の技法によれば、delta_poc_msb_present_flag[i]シンタックス要素はスライスヘッダシンタックスから削除され、delta_poc_msb_cycle_lt[i]シンタックス要素のセマンティクスは、可能な場合をすべてカバーするように変更される。本明細書で説明するように、現在ピクチャのためのi番目のLTRPのためのdelta_poc_msb_cycle_ltシンタックス要素(または等価シンタックス要素)の値は、MaxPicOrderCntLsbを法とするPOC値がi番目のLTRPのPOC値のLSBに等しい、現在ピクチャのためのSTRPとしてシグナリングされるそれらのピクチャを除いて、複数の参照ピクチャがDPB中にあるとき、0よりも大きくなるように要求され得、ただし、MaxPicOrderCntLsbは、POC値のLSBのみを使用して表され得る最も大きい値である。
[0091]HEVCワーキングドラフト8のシグナリング方式の別の例示的な欠点では、同じLSBをもつ2つの参照ピクチャがDPB中にあり、ピクチャのうちの1つがSTRPとしてシグナリングされ、他のピクチャがLTRPとしてシグナリングされるとき、HEVCワーキングドラフト8のセマンティクスは、LTRPのMSB情報がシグナリングされることを規定する。しかしながら、この場合、LTRPのためのMSB情報はシグナリングされる必要はない。したがって、本開示の1つまたは複数の技法によれば、参照ピクチャセットのセマンティクスおよび導出プロセスは、同じLSBを有するPOC値をもつn個(ただしn>1)の参照ピクチャがDPB中にあり、それらのピクチャのうちの(n−1)個のピクチャがSTRPとしてシグナリングされ、n番目のピクチャがLTRPとしてシグナリングされるとき、LTRPのPOC値のMSBがシグナリングされることが許されないように変更され得る。
[0092]HEVCワーキングドラフト8では、SPSは、複数の短期参照ピクチャセット(STRPS:short term reference picture set)シンタックス構造(たとえば、short_term_ref_pic_setシンタックス構造)を含み得る。スライスヘッダは、STRPシンタックス構造を含むか、または適用可能なSPS中でSTRPシンタックス構造のうちの1つを示す1つまたは複数のシンタックス要素を含むかのいずれかであり得る。現在ピクチャのためのSTRP(すなわち、RefPicSetStCurrBefore、RefPicSetStCurrAfterおよびRefPicSetStFoll)のセットは、STRPシンタックス構造でシグナリングされ得る。
[0093]より詳細には、現在ピクチャのためのSTRPのセットは、2つの方法のうちの1つでSTRPシンタックス構造でシグナリングされ得る。第1の方法では、STRPシンタックス構造は、ビデオデコーダ30が、適用可能なSPS中の参照STRPシンタックス構造でのシンタックス要素に少なくとも部分的に基づいて、DeltaPocS0値のアレイとDeltaPocS1値のアレイとを判断することを可能にするシンタックス要素を含む。第2の方法では、STRPシンタックス構造は、ビデオデコーダ30が、他のSTRPシンタックス構造への参照なしにDeltaPocS0値のアレイとDeltaPocS1値のアレイとを判断することを可能にするシンタックス要素を含む。DeltaPocS0値のアレイは、PocStCurrBefore、およびPocStFoll中のPOC値を判断するために現在ピクチャのPOC値に加算すべき値を示す。DeltaPocS1値のアレイは、PocStCurrAfterおよびPocStFoll中のPOC値を判断するために現在ピクチャのPOC値から減算すべき値を示す。上記のように、ビデオデコーダ30は、PocStCurrBeforeに少なくとも部分的に基づいてRefPicSetStCurrBeforeを判断し得る。ビデオデコーダ30は、PocStCurrAfterに少なくとも部分的に基づいてRefPicSetStCurrAfterを判断し得る。ビデオデコーダ30は、PocStFollに少なくとも部分的に基づいてRefPicStFollを判断し得る。
[0094]HEVCワーキングドラフト8のシグナリング方式の別の例示的な欠点は、STRPのリスト中で同じSTRPを繰り返すことが可能であるということであり、それは却下されるべきである。言い換えれば、SPSは、複数の同等のSTRPシンタックス構造を含み得る。また、スライスヘッダ中で明示的にシグナリングされるSTRPシンタックス構造が、SPS中でシグナリングされるSTRPシンタックス構造と同等であることが可能であり、それも却下されるべきである。したがって、本開示の1つまたは複数の技法は、SPS中でシグナリングされる2つの短期参照ピクチャセット候補(すなわち、2つのSTRPシンタックス構造)が同等でないようにビデオエンコーダ20を制限し得る。さらに、本開示の1つまたは複数の技法によれば、ビデオエンコーダ20は、同等のパターン(すなわち、STRPシンタックス構造)がSPS中の短期RPS候補(すなわち、STRPシンタックス構造)の間でシグナリングされる場合、スライスヘッダ中でSTRPシンタックス構造をシグナリングすることを制限される。すなわち、同等の候補(すなわち、同等のSTRPシンタックス構造)がSPS中の候補リスト中に存在する場合、短期参照ピクチャセットパターン(すなわち、STRPシンタックス構造)はスライスヘッダ中で明示的にシグナリングされ得ない。
[0095]図2は、本開示の技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。図2は、説明を目的に与えられており、本開示において広く例示され説明される技法を限定するものと見なされるべきではない。説明のために、本開示では、HEVCコーディングのコンテキストにおいてビデオエンコーダ20について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。
[0096]図2の例では、ビデオエンコーダ20は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、再構成ユニット112と、フィルタユニット114と、復号ピクチャバッファ116と、エントロピー符号化ユニット118とを含む。予測処理ユニット100は、インター予測処理ユニット120と、イントラ予測処理ユニット126とを含む。インター予測処理ユニット120は、動き推定ユニット122と、動き補償ユニット124とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[0097]ビデオエンコーダ20はビデオデータを受信し得る。ビデオエンコーダ20はビデオデータのピクチャのスライス中の各CTUを符号化し得る。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB:coding tree block)と、ピクチャの対応するCTBとに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は4分木区分を実行して、CTUのCTBを徐々により小さいブロックに分割し得る。より小さいブロックはCUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、CTUに関連付けられたCTBを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分し得、以下同様である。
[0098]ビデオエンコーダ20はCTUのCUを符号化して、CUの符号化表現(すなわち、コーディングされたCU)を生成し得る。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの中で、CUに関連付けられたコーディングブロックを区分し得る。したがって、各PUは、ルーマ予測ブロックと対応するクロマ予測ブロックとに関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記のように、CUのサイズはCUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズはPUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測用の2N×2NまたはN×NのPUサイズと、インター予測用の2N×2N、2N×N、N×2N、N×N、または同様の対称PUサイズとをサポートし得る。ビデオエンコーダ20およびビデオデコーダ30は、インター予測用の2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズに対する非対称区分もサポートし得る。
[0099]インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによって、PUについての予測データを生成し得る。PUのための予測データは、PUの予測ブロックとPUのための動き情報とを含み得る。インター予測処理ユニット120は、PUがIスライス中にあるか、Pスライス中にあるか、Bスライス中にあるかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、インター予測処理ユニット120は、PUに対してインター予測を実行しない。
[0100]ビデオエンコーダ20が現在ピクチャを符号化し始めたとき、インター予測処理ユニット120は現在ピクチャのための参照ピクチャサブセットを判断し得る。さらに、インター予測処理ユニット120は、現在ピクチャのための参照ピクチャサブセットに少なくとも部分的に基づいて、現在ピクチャのための1つまたは複数の参照ピクチャリストを判断し得る。インター予測処理ユニット120は、現在ピクチャに適用可能なSPS中のシンタックス要素と現在ピクチャの1つまたは複数のスライスの1つまたは複数のスライスヘッダとを使用して、現在ピクチャのための参照ピクチャサブセットをシグナリングし得る。
[0101]本開示の1つまたは複数の技法によれば、インター予測処理ユニット120は、現在ピクチャの現在スライスのためのスライスヘッダが、同じ参照ピクチャに関連付けられた2つのLTRPエントリを(明示的に、またはインデックス付けを介してのいずれでも)シグナリングしないようなスライスヘッダを生成し得る。たとえば、インター予測処理ユニット120は、スライスヘッダ中で第1のLTRPエントリをシグナリングし得る。この例では、第1のLTRPエントリは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示し得る。さらに、この例では、インター予測処理ユニット120は、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、スライスヘッダ中で第2のLTRPエントリをシグナリングし得る。
[0102]PUがPスライス中にある場合、動き推定ユニット122は、PUの参照領域について参照ピクチャのリスト(たとえば、「RefPicList0」)中の参照ピクチャを探索し得る。PUのための参照領域は、PUの予測ブロックに最も密接に対応するサンプルブロックを含む参照ピクチャ内の領域であり得る。動き推定ユニット122は、PUのための参照領域を含んでいる参照ピクチャのRefPicList0中の位置を示す参照インデックスを生成し得る。さらに、動き推定ユニット122は、PUのコーディングブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示す動きベクトルを生成し得る。たとえば、動きベクトルは、現在の復号ピクチャ中の座標から参照ピクチャ中の座標までのオフセットを実現する2次元ベクトルであり得る。動き推定ユニット122は、PUの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示される参照ロケーションにおける実際のサンプルまたは補間サンプルに基づいて、PUの予測ブロックを生成し得る。
[0103]PUがBスライス中にある場合、動き推定ユニット122は、PUのための単予測または双予測を実行し得る。PUのための単予測を実行するために、動き推定ユニット122は、PUのための参照領域についてRefPicList0の参照ピクチャまたは第2の参照ピクチャリスト(「RefPicList1」)を探索し得る。動き推定ユニット122は、PUの動き情報として、参照領域を含んでいる参照ピクチャのRefPicList0またはRefPicList1中の位置を示す参照インデックス、PUのサンプルブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示す動きベクトル、および参照ピクチャがRefPicList0中にあるのかRefPicList1中にあるのかを示す1つまたは複数の予測方向インジケータを出力し得る。動き補償ユニット124は、PUの動きベクトルによって示される参照領域における実際のサンプルまたは補間サンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成し得る。
[0104]PUのための双方向インター予測を実行するために、動き推定ユニット122は、PUのための参照領域についてRefPicList0中の参照ピクチャを探索し得、PUのための別の参照領域についてRefPicList1中の参照ピクチャをも探索し得る。動き推定ユニット122は、参照領域を含んでいる参照ピクチャのRefPicList0およびRefPicList1中の位置を示す参照インデックスを生成し得る。さらに、動き推定ユニット122は、参照領域に関連付けられた参照ロケーションとPUの予測ブロックとの間の空間変位を示す動きベクトルを生成し得る。PUの動き情報は、PUの参照インデックスと動きベクトルとを含み得る。動き補償ユニット124は、PUの動きベクトルによって示される参照領域における実際のサンプルまたは補間サンプルに少なくとも部分的に基づいて、PUの予測サンプルブロックを生成し得る。
[0105]イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUについての予測データを生成し得る。PUの予測データは、PUのための予測サンプルブロックと、様々なシンタックス要素とを含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行し得る。
[0106]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、複数のイントラ予測モードを使用して、PUのための予測データの複数のセットを生成し得る。イントラ予測処理ユニット126は、PUの予測ブロックを生成するために空間的に隣接するブロックからのサンプルを使用し得る。隣接PUは、PU、CU、およびCTUについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUに関連付けられた予測ブロックのサイズに依存し得る。
[0107]予測処理ユニット100は、PUのためにインター予測処理ユニット120によって生成された予測データ、またはPUのためにイントラ予測処理ユニット126によって生成された予測データの中からCUのPUのための予測データを選択し得る。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/ひずみ測定基準に基づいて、CUのPUのための予測データを選択する。選択された予測データの予測ブロックは、本明細書では、選択された予測サンプルブロックと呼ばれることがある。
[0108]残差生成ユニット102は、CUのルーマコーディングブロックとCUのCbコーディングブロックとCUのCrコーディングブロックとCUのPUの選択された予測ルーマブロックとCUのPUの予測CbブロックとCUのPUの予測Crブロックとに基づいて、CUのルーマ残差ブロックとCUのCb残差ブロックとCUのCr残差ブロックとを生成し得る。たとえば、残差生成ユニット102は、残差ブロック中の各サンプルがCUのコーディングブロック中のサンプルとCUのPUの対応する選択された予測ブロック中の対応するサンプルとの間の差に等しい値を有するようにCUの残差ブロックを生成し得る。
[0109]変換処理ユニット104は4分木区分を実行して、CUに関連付けられた残差ブロックをCUのTUに関連付けられた変換ブロックに区分し得る。したがって、TUは、ルーマ変換ブロックと2つの対応するクロマ変換ブロックとに関連付けられ得る。CUのTUのルーマ変換ブロックとクロマ変換ブロックとのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT:residual quad-tree)として知られる4分木構造は、領域の各々に関連付けられたノードを含み得る。CUのTUはRQTのリーフノードに対応し得る。
[0110]変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUの各TUについて係数ブロックを生成し得る。変換処理ユニット104は、TUに関連付けられた変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向性変換、または概念的に同様の変換を変換ブロックに適用し得る。いくつかの例では、変換処理ユニット104は変換ブロックに変換を適用しない。そのような例では、変換ブロックは係数ブロックとして扱われ得る。
[0111]量子化ユニット106は、係数ブロック中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にnビットの変換係数がmビットの変換係数に切り捨てられることがあり、ここで、nはmよりも大きい。量子化ユニット106は、CUに関連付けられた量子化パラメータ(QP:quantization parameter)値に基づいて、CUのTUに関連付けられた係数ブロックを量子化し得る。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化は情報に損失をもたらし得、したがって、量子化変換係数は、元の係数よりも低い精度を有し得る。
[0112]逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、係数ブロックに逆量子化と逆変換とを適用して、係数ブロックから残差ブロックを再構成し得る。再構成ユニット112は、再構成された残差ブロックのサンプルを、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに追加して、TUに関連付けられた再構成された変換ブロックを生成し得る。このようにCUの各TUについて変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成し得る。
[0113]フィルタユニット114は、1つまたは複数のデブロッキング動作を実行して、CUに関連付けられたコーディングブロック内のブロッキングアーティファクトを低減させ得る。復号ピクチャバッファ116は、フィルタユニット114が、再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後、再構成されたコーディングブロックを記憶し得る。インター予測処理ユニット120は、再構成されたコーディングブロックを含んでいる参照ピクチャを使用して、他のピクチャのPUに対してインター予測を実行し得る。加えて、イントラ予測処理ユニット126は、復号ピクチャバッファ116中の再構成されたコーディングブロックを使用して、CUと同じピクチャ中の他のPUに対してイントラ予測を実行し得る。
[0114]エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能構成要素からデータを受信し得る。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受信し得、予測処理ユニット100からシンタックス要素を受信し得る。エントロピー符号化ユニット118は、データに対して1つまたは複数のエントロピー符号化演算を実行してエントロピー符号化データを生成し得る。たとえば、エントロピー符号化ユニット118は、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)演算、CABAC演算、変数−変数(V2V:variable-to-variable)レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)演算、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算をデータに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化データを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUのためのRQTを表すデータを含み得る。
[0115]図3は、本開示の技法を実装するように構成された例示的なビデオデコーダ30を示すブロック図である。図3は、説明のために与えられており、本開示おいて広く例示され説明される技法に対する限定ではない。説明のために、本開示では、HEVCコーディングの状況において、ビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。また、ビットストリームは、エントロピーコーディングされないシンタックス要素を含み得る。
[0116]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構成ユニット158と、フィルタユニット160と、復号ピクチャバッファ162とを含む。予測処理ユニット152は、動き補償ユニット164と、イントラ予測処理ユニット166とを含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。
[0117]ビデオデコーダ30はビットストリームを受信し得る。エントロピー復号ユニット150は、ビットストリームをパースして、ビットストリームからシンタックス要素を取得し得る。エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから取得されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。
[0118]ビットストリームは、一連のNALユニットを備え得る。ビットストリームのNALユニットは、コーディングされたスライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コーディングされたスライスNALユニットからシンタックス要素を取得し、エントロピー復号し得る。コーディングされたスライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関係するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられた(すなわち、適用可能な)PPSを識別するシンタックス要素を含み得る。
[0119]ビットストリームからシンタックス要素を取得することに加えて、ビデオデコーダ30は、CUに対して再構成演算を実行し得る。CUに対して再構成演算を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成演算を実行し得る。CUの各TUについて再構成動作を実行することによって、ビデオデコーダ30はCUの残差ブロックを再構成し得る。
[0120]CUのTUに対して再構成動作を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)し得る。逆量子化ユニット154は、CUに関連付けられたQPの値を使用して、量子化の程度を判断し、同様に、逆量子化ユニット154が適用するための逆量子化の程度を判断し得る。すなわち、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比はまた、もしあれば、採用されたエントロピーコーディングの方法に依存し得る。
[0121]逆量子化ユニット154が係数ブロックを逆量子化した後に、逆変換処理ユニット156は、TUに関連付けられた残差ブロックを生成するために係数ブロックに1つまたは複数の逆変換を適用し得る。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT:Karhunen-Loeve transform)、逆回転変換、逆方向性変換、または別の逆変換を係数ブロックに適用し得る。
[0122]イントラ予測を使用してPUが符号化される場合、イントラ予測処理ユニット166は、イントラ予測を実行して、PUのための予測ブロックを生成し得る。イントラ予測処理ユニット166は、イントラ予測モードを使用して、空間的に隣接するPUの予測ブロックに基づいて、PUのための予測ルーマブロックと予測Cbブロックと予測Crブロックとを生成し得る。イントラ予測処理ユニット166は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PUのためのイントラ予測モードを判断し得る。
[0123]ビデオデコーダ30が現在ピクチャを復号し始めたとき、予測処理ユニット152は、現在ピクチャに適用可能なSPS中のシンタックス要素と現在ピクチャのスライスのスライスヘッダ中のシンタックス要素とに基づいて、現在ピクチャのための参照ピクチャサブセットを判断し得る。現在ピクチャのための参照ピクチャサブセットは、RefPicSetStCurrBeforeと、RefPicSetStCurrAfterと、RefPicSetStFollと、RefPicSetLtCurrと、RefPicSetLtFollとを含み得る。
[0124]1つまたは複数のLTRPエントリがスライスヘッダ中でシグナリングされ得る。LTRPエントリは、インデックスを使用してスライスヘッダ中でシグナリングされ、および/またはスライスヘッダ中で明示的にシグナリングされ得る。スライスヘッダ中でシグナリングされるLTRPエントリの各々は、現在ピクチャの長期参照ピクチャサブセット(たとえば、RefPicSetLtCurrおよびRefPicSetLtFoll)中の参照ピクチャを示す。本開示の1つまたは複数の技法によれば、スライスヘッダ中でシグナリングされる2つのLTRPエントリは、同じ参照ピクチャが現在ピクチャの長期参照ピクチャセット中に含まれることを示すことができない。たとえば、1つまたは複数のLTRPエントリのセットが、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含むとき、1つまたは複数のLTRPエントリのセットは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、第2のLTRPエントリを含む。
[0125]予測処理ユニット152は、復号ピクチャバッファ162中の参照ピクチャと、RefPicSetStCurrBefore、RefPicSetStCurrAfter、およびRefPicSetLtCurr中の参照ピクチャとに少なくとも部分的に基づいて、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを構成し得る。さらに、PUがインター予測を使用して符号化される場合、エントロピー復号ユニット150はPUの動き情報を抽出し得る。動き補償ユニット164は、PUの動き情報に基づいて、PUの1つまたは複数の参照領域を判断し得る。動き補償ユニット164は、PUのための1つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、PUのための予測ルーマブロックと予測Cbブロックと予測Crブロックとを生成し得る。
[0126]再構成ユニット158は、適用可能なとき、CUのTUに関連付けられたルーマ変換ブロック、Cb変換ブロック、Cr変換ブロックならびにCUのPUの予測ルーマブロック、予測Cbブロック、および予測Crブロックを使用して、すなわち、イントラ予測データまたはインター予測データのいずれかを使用して、CUのルーマコーディングブロックとCbコーディングブロックとCrコーディングブロックを再構成し得る。たとえば、再構成ユニット158は、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックのサンプルを、予測ルーマブロック、予測Cbブロック、および予測Crブロックの対応するサンプルに加算して、CUのルーマコーディングブロックとCbコーディングブロックとCrコーディングブロックとを再構成し得る。
[0127]フィルタユニット160は、CUのルーマコーディングブロックとCbコーディングブロックとCrコーディングブロックとに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング動作を実行し得る。ビデオデコーダ30は、CUのルーマコーディングブロックとCbコーディングブロックとCrコーディングブロックとを復号ピクチャバッファ162に記憶し得る。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ162中のルーマブロックとCbブロックとCrブロックとに基づいて、他のCUのPUに対してイントラ予測演算またはインター予測演算を実行し得る。このようにして、ビデオデコーダ30は、ビットストリームから、有意なルーマ係数ブロックの変換係数レベルを取得し、変換係数レベルを逆量子化し、変換ブロックを生成するために変換係数レベルに変換を適用し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、表示のためにコーディングブロックを出力し得る。
[0128]図4は、本開示の1つまたは複数の技法によるビデオエンコーダ20の例示的な動作200を示すフローチャートである。図4の例に示されているように、ビデオエンコーダ20はSPSを生成する(202)。さらに、ビデオエンコーダ20は、現在ピクチャの現在スライスのためのスライスヘッダ中で第1のLTRPエントリをシグナリングする(204)。第1のLTRPエントリは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示す。さらに、ビデオエンコーダ20は、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、スライスヘッダ中で第2のLTRPエントリをシグナリングする(206)。
[0129]いくつかの例では、SPSは、第1のLTRPエントリを含む1つまたは複数のLTRPエントリのセットを含む。いくつかのそのような例では、ビデオエンコーダ20は、SPSが第1のLTRPエントリのコピーをすでに含まない場合のみ、SPSが第1のLTRPエントリを含むようなSPSを生成する。すなわち、ビデオエンコーダ20は、SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限にSPSが準拠するようなSPSを生成し得る。たとえば、SPSが同じLTRPエントリの2つ以上のコピーを含む場合、ビットストリームは、ビットストリームコンフォーマンステストに合格することに失敗し得る。
[0130]図5は、本開示の1つまたは複数の技法による、ビデオデコーダ30の例示的な動作250を示すフローチャートである。図5の例に示すように、ビデオデコーダ30は、ビットストリームから、現在ピクチャに適用可能であるSPSを取得する(252)。さらに、ビデオデコーダ30は、ビットストリームから、現在ピクチャの現在スライスのスライスヘッダを取得する(254)。1つまたは複数のLTRPエントリの1セットがスライスヘッダ中でシグナリングされる。1つまたは複数のLTRPエントリのセットは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含み得る。さらに、1つまたは複数のLTRPエントリのセットは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、第2のLTRPエントリを含み得る。
[0131]ビデオデコーダ30は、1つまたは複数のLTRPエントリに少なくとも部分的に基づいて、現在ピクチャのための参照ピクチャリストを生成する(256)。さらに、ビデオデコーダ30は、現在ピクチャのための参照ピクチャリスト中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいて、現在ピクチャを再構成する(258)。
[0132]いくつかの例では、SPSは第1のLTRPエントリを含み得、スライスヘッダは第1のLTRPエントリへのインデックスを含み得る。さらに、いくつかのそのような例では、スライスヘッダは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、第2のLTRPエントリを含み得る。たとえば、スライスヘッダは、スライスヘッダがSPS中の等価LTRPエントリへのインデックスを含む場合、スライスヘッダが特定のLTRPエントリを含むことを禁止する制限に従い得る。したがって、スライスヘッダが特定のLTRPを含み、SPS中に等価LTRPエントリがある場合、ビットストリームはビットストリームコンフォーマンステストを満たすことに失敗し得る。この例では、特定のLTRPエントリはLSBシンタックス要素と使用シンタックス要素とを含む。さらに、この例では、等価LTRPエントリは、特定のLTRPエントリのLSBシンタックス要素に一致するLSBシンタックス要素を含み、等価LTRPエントリは、特定のLTRPの使用シンタックス要素に一致する使用シンタックス要素を含む。
[0133]SPSが第1のLTRPエントリを含む他の例では、SPSはまた、第2のLTRPエントリを含み得、スライスヘッダは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、第2のLTRPエントリへのインデックスを含み得る。
[0134]いくつかの例では、SPSは、SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限に従い得る。したがって、SPSは、同じLSBシンタックス要素と使用フラグシンタックス要素とを有する2つのLTRPエントリを含むことを禁止される。さらに、スライスヘッダは、スライスヘッダがSPS中の単一のLTRPエントリへの2つのインデックスを含むことを禁止する制限に従い得る。たとえば、SPSがインデックス「2」に関連付けられたLTRPエントリを含む場合、スライスヘッダは、インデックス値「2」を2回以上含むことができない。
[0135]他の例では、スライスヘッダは第1のLTRPエントリを含み得る。そのような例では、スライスヘッダは、特定の参照ピクチャが現在ピクチャの長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、第2のLTRPエントリを含み得る。したがって、スライスヘッダは、スライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含むことを禁止する制限に従い得る。
[0136]以下のセクションでは、本開示の1つまたは複数の技法を実装し得るHEVCワーキングドラフト8への変更について説明する。以下のセクションでは、HEVCワーキングドラフト8に挿入されたテキストは以下でイタリック体で示され、HEVCワーキングドラフト8から削除されたテキストは以下で取消し線として示されている。以下で言及されない他の部分は、HEVCワーキングドラフト8の場合と同じであり得る。
[0137]HEVCワーキングドラフト8のセクション7.4.2.2では、used_by_curr_pic_lt_sps_flag[i]のためのセマンティクスは、以下のように変更される。
0に等しいused_by_curr_pic_lt_sps_flag[i]は、シーケンスパラメータセットにおいて指定されているi番目の候補長期参照ピクチャが、それの参照ピクチャセット中に、シーケンスパラメータセットにおいて指定されているi番目の候補長期参照ピクチャを含むピクチャによって参照のために使用されないことを指定する。両端値を含む0〜num_long_term_ref_pics_sps−1の範囲内のiおよびjの任意の値について、iがjに等しくなく、lt_ref_pic_poc_lsb_sps[i]がlt_ref_pic_poc_lsb_sps[j]に等しい場合、used_by_curr_pic_lt_sps_flag[i]は、used_by_curr_pic_lt_sps_flag[j]に等しくないものとする。
[0138]HEVCワーキングドラフト8のセクション7.4.2.2へのこの変更は、本開示の1つまたは複数の技法によれば、スライスヘッダが(明示的にまたはインデックス付けされた)重複LTRPをシグナリングすることを却下する制限を実装し得る。
[0139]HEVC WD8のセクション7.3.5.1では、スライスヘッダシンタックスは、以下の表3に示される変更され得る。
HEVC WD8のセクション7.3.5.1へのこの変更は、本開示の1つまたは複数の技法によれば、すべての場合をカバーするために、delta_poc_msb_present_flag[i]シンタックス要素の削除と、delta_poc_msb_cycle_ltシンタックス要素の変更とを実装し得る。
[0140]HEVC WD8のセクション7.4.5.1では、スライスヘッダセマンティクスは、以下のように変更され得る。poc_lsb_lt[i]は、現在ピクチャの長期参照ピクチャセット中に含まれるi番目の長期参照ピクチャのピクチャ順序カウント値の最下位ビットの値を指定する。poc_lsb_lt[i]シンタックス要素の長さはlog2_max_pic_order_cnt_lsb_minus4+4ビットである。両端値を含むnum_long_term_sps〜num_long_term_sps+num_long_term_pics−1の範囲内のjおよびkの任意の値について、jがkよりも小さい場合、poc_lsb_lt[j]はpoc_lsb_lt[k]以上であるものとする。0に等しいused_by_curr_pic_lt_flag[i]は、現在ピクチャの長期参照ピクチャセット中に含まれるi番目の長期参照ピクチャが現在ピクチャによって参照のために使用されないことを指定する。両端値を含む0〜num_long_term_ref_pics_sps−1の範囲内のjの任意の値について、poc_lsb_lt[i]がlt_ref_pic_poc_lsb_sps[j]に等しい場合、used_by_curr_pic_lt_flag[i]は、used_by_curr_pic_lt_sps_flag[j]に等しくないものとする。変数PocLsbLt[i]およびUsedByCurrPicLt[i]は、以下のように導出される。
− iがnum_long_term_sps未満である場合、PocLsbLt[i]はlt_ref_pic_poc_lsb_sps[lt_idx_sps[i]]に等しく設定され、UsedByCurrPicLt[i]はused_by_curr_pic_lt_sps_flag[lt_idx_sps[i]]に等しく設定される。
− そうでない場合、PocLsbLt[i]はpoc_lsb_lt[i]に等しく設定され、UsedByCurrPicLt[i]はused_by_curr_pic_lt_flag[i]に等しく設定される。
delta_poc_msb_cycle_lt_plus1[i]−1は、現在ピクチャの長期参照ピクチャセット中に含まれるi番目の長期参照ピクチャのピクチャ順序カウント値の最上位ビットの値を判断するために使用される。delta_poc_msb_cycle_lt_plus1[i]は、MaxPicOrderCntLsbを法とするピクチャ順序カウントがPocLsbLt[i]に等しい、現在ピクチャのための短期参照ピクチャとしてシグナリングされるピクチャを除いて、復号ピクチャバッファ中に2つ以上の参照ピクチャがあるとき、0よりも大きいものとする。注意− delta_poc_msb_cycle_lt_plus1[i]の値が0であるとき、MSBサイクルは、i番目の長期参照ピクチャのためにシグナリングされないものと見なされる。変数DeltaPocMSBCycleLt[i]は以下のように導出される。
DeltaPocMSBCycleLt[i]*MaxPicOrderCntLsb+pic_order_cnt_lsb−PocLsbLt[i]の値は、両端値を含む1〜224−1の範囲内にあるものとする。両端値を含む0〜num_long_term_sps+num_long_term_pics−1の範囲内のiおよびjについて、iがjに等しくなく、PocLsbLt[i]がPocLsbLt[j]に等しい場合、DeltaPocMSBCycleLt[i]はDeltaPocMSBCycleLt[j]に等しくないものとする。
[0141]used_by_curr_pic_lt_flag[i]シンタックス要素のセマンティクスへの変更は、本開示の1つまたは複数の技法によれば、適用可能なSPSが等価LTRPを示すとき、スライスヘッダがLTRPを明示的に示すものではないという制限を実装し得る。さらに、本開示の1つまたは複数の技法によれば、HEVCワーキングドラフト8のセクション7.4.5.1への上記に示した変更は、delta_poc_msb_present_flag[i]シンタックス要素のセマンティクスを削除する。さらに、本開示の1つまたは複数の技法によれば、HEVCワーキングドラフト8のセクション7.4.5.1への上記に示した変更は、delta_poc_msb_cycle_ltシンタックス要素のセマンティクスを変更する。さらに、delta_poc_msb_cycle_lt_plus1シンタックス要素のためのセマンティクスにおける「現在ピクチャのための短期参照ピクチャとしてシグナリングされるピクチャを除いて」という節は、DPB中に同じLSBをもつn個(ただしn>1)の参照ピクチャがあり、それらの参照ピクチャのうちのn−1個の参照ピクチャがSTRPとしてシグナリングされ、n番目のピクチャがLTRPとしてシグナリングされるとき、ビデオエンコーダ20がLTRPのMSBをシグナリングすることを制限するための本開示の技法の実装形態の一部であり得る。さらに、「両端値を含む0〜num_long_term_sps+num_long_term_pics−1の範囲内のiおよびjについて、iがjに等しくなく、PocLsbLt[i]がPocLsbLt[j]に等しい場合、DeltaPocMSBCycleLt[i]はDeltaPocMSBCycleLt[j]に等しくないものとする」という節は、スライスヘッダ中でシグナリングされる各LTRPが、スライスヘッダ中でシグナリングされるすべてのLTRPの間の別個の参照ピクチャを参照しなければならないことを規定する本開示の技法の実装形態の一部であり得る。
[0142]代替例では、「両端値を含む0〜num_long_term_sps+num_long_term_pics−1の範囲内のiおよびjについて、iがjに等しくなく、PocLsbLt[i]がPocLsbLt[j]に等しい場合、DeltaPocMSBCycleLt[i]はDeltaPocMSBCycleLt[j]に等しくないものとする。」という節がdelta_poc_msb_cycle_lt_plus1[i]シンタックス要素のセマンティクスから省略されることを除いて、スライスヘッダセマンティクスは、上記の例で示されるものと同じであり得る。
[0143]HEVCワーキングドラフト8のセクション8.3.2では、参照ピクチャセットのための復号プロセスは、以下のように変更され得る。
・・・
ピクチャ順序カウント値の5つのリストが、参照ピクチャセット、すなわち、NumPocStCurrBefore個、NumPocStCurrAfter個、NumPocStFoll個、NumPocLtCurr個、およびNumPocLtFoll個の要素をそれぞれ伴う、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollを導出するように構築される。
− 現在のピクチャがIDRピクチャである場合、PocStCurrBefore、PocStCurrAfter、PocStFoll、PocLtCurr、およびPocLtFollがすべて空に設定され、NumPocStCurrBefore、NumPocStCurrAfter、NumPocStFoll、NumPocLtCurr、およびNumPocLtFollがすべて0に設定される。
− そうでない場合、ピクチャ順序カウント値の5つのリストとエントリの数との導出について、以下が適用される。
− ここで、PicOrderCntValは、8.3.1節において指定されている現在ピクチャのピクチャ順序カウントである。
− 注意2 − 両端値を含む0からnum_short_term_ref_pic_sets−1の範囲内にあるStRpsIdxの値は、アクティブシーケンスパラメータセットからの短期参照ピクチャセットが使用されていることを示し、ここで、StRpsIdxは、短期参照ピクチャセットがsequenceparameterセット中でシグナリングされる順序での、短期参照ピクチャセットのリストに対する短期参照ピクチャセットのインデックスである。num_short_term_ref_pic_setsに等しいStRpsIdxは、スライスヘッダ中で明示的にシグナリングされる短期参照ピクチャセットが使用されていることを示す。
参照ピクチャセットは、RefPicSetStCurrBefore、RefPicSetStCurrAfter、RefPicSetStFoll、RefPicSetLtCurrおよびRefPicSetLtFollという、参照ピクチャエントリの5つのリストからなる。変数NumPocTotalCurrは、NumPocStCurrBefore+NumPocStCurrAfter+NumPocLtCurrに等しく設定される。
1. 以下が適用される。
2. RefPicSetLtCUrrおよびRefPicSetLtFoll中に含まれるすべての参照ピクチャが「長期参照のために使用される」とマークされ、以下の制約が適用される。
両端値を含む0〜NumPocLtCurr−1の範囲内にある各iについて、以下の条件が適用されることは、ビットストリームコンフォーマンスの要件である。
・ 両端値を含む0〜NumPocStCurrBefore−1の範囲内に、RefPicSetLtCurr[i]のPicOrderCntValがPocStCurrBefore[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStCurrAfter−1の範囲内に、RefPicSetLtCurr[i]のPicOrderCntValがPocStCurrAfter[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStFoll−1の範囲内に、RefPicSetLtCurr[i]のPicOrderCntValがPocStFoll[j]に等しいjがないものとする。
3. 以下が適用される。
− 現在ピクチャがCRAピクチャであるとき、(存在するとき)復号順序で先行するRAPピクチャに復号順序で先行する参照ピクチャセット中に含まれるピクチャが存在しないものとする。
− 現在ピクチャが末尾のピクチャであるとき、8.3.3節において指定されているように利用不可能な参照ピクチャを生成するための復号プロセスによって生成されたRefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurr中にピクチャが存在しないものとする。
− 現在ピクチャが末尾のピクチャであるとき、出力順序または復号順序で関連付けられたRAPピクチャに先行する参照ピクチャセット中にピクチャが存在しないものとする。
− 現在ピクチャがDLPピクチャであるとき、ピクチャの以下のタイプのいずれかである、RefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurr中に含まれるピクチャが存在しないものとする。
− TFDピクチャ。
− 8.3.3節において指定されているように利用不可能な参照ピクチャを生成するための復号プロセスによって生成されたピクチャ。
− 復号順序で関連付けられたRAPピクチャに先行するピクチャ。
− sps_temporal_id_nesting_flagが1に等しいとき、以下が適用される。tIdAを現在ピクチャpicAのTemporalIdの値とする。復号順序でピクチャpicBに後続し、復号順序でピクチャpicAに先行する、tIdB未満であるtIdCに等しいTemporalIdをもつピクチャpicCが存在するとき、tIdAよりも小さいかまたはそれに等しいtIdBに等しいTemporalIdをもつピクチャpicBは、picAのRefPicSetStCurrBefore、RefPicSetStCurrAfterまたはRefPicSetLtCurr中に含まれないものとする。
− 注意5− ピクチャは、5つの参照ピクチャセットリストのうちの2つ以上の中に含まれ得ない。
− 両端値を含む0〜num_short_term_ref_pic_setsの範囲内のidxAおよびidxBの任意の2つの異なる値について、以下のうちの1つまたは複数は真である。
− NumNegativePics[idxA]はNumNegativePics[idxB]に等しくない。
− NumPositivePics[idxA]はNumPositivePics[idxB]に等しくない。
− NumNegativePics[idxA]およびNumPositivePics[idxA]が、それぞれNumNegativePics[idxB]およびNumPositivePics[idxB]に等しいとき、UsedByCurrPicS0[idxA][i]がUsedByCurrPicS0[idxB][i]に等しくないか、もしくはDeltaPocS0[idxA][i]がDeltaPocS0[idxB][i]に等しくない、両端値を含む0〜NumNegativePics[idxB]−1の範囲内のiが存在するか、またはUsedByCurrPicS1[idxA][j]がUsedByCurrPicS1[idxB][j]に等しくないか、もしくはDeltaPocS1[idxA][j]がDeltaPocS1[idxB][j]に等しくない、両端値を含む0〜NumPositivePics[idxB]1の範囲内のjが存在するかのいずれかであるか、あるいはそのようなiとjの両方が存在する。
− 注意− シーケンスパラメータセット中でシグナリングされる2つの短期参照ピクチャセット候補は同等であり得ず、同等の候補がシーケンスパラメータセット中の候補リスト中に存在する場合、短期参照ピクチャセットパターンはスライスヘッダ中で明示的にシグナリングされ得ない。
代替的に、以下の条件は、参照ピクチャセット導出プロセスに追加される。
− 両端値を含む0〜NumPocLtFoll−1の範囲内の各iについて、RefPicSetLtFoll[i]が「参照ピクチャなし」に等しくないとき、RefPicSetLtFoll[i]のPicOrderCntValがRefPicSetLtCurr[j]のPicOrderCntValに等しい、両端値を含む0〜NumPocLtCurr−1の範囲内にjがないものとすることは、ビットストリームコンフォーマンスの要件である。
[0144]HEVCワーキングドラフト8のセクション8.3.2で(A)と標示された変更は、すべての可能な場合(すなわち、POC値のMSBがシグナリングされる場合と、POC値のMSBがシグナリングされない場合の両方)をカバーするように、delta_poc_msb_present_flag[i]シンタックス要素を削除し、delta_poc_msb_cycle_lt[i]シンタックス要素を変更するための本開示の技法の実装形態の一部であり得る。(B)、(C)、(D)、および(F)と標示された変更は、同じLSBをもつn個(ただしn>1)の参照ピクチャがDPB中にあり、それらの参照ピクチャのうちのn−1個の参照ピクチャがSTRPとしてシグナリングされ、n番目のピクチャがLTRPとしてシグナリングされるとき、ビデオエンコーダ20がLTRPのMSBをシグナリングすることを制限するための本開示の技法の実装形態の一部であり得る。
[0145]上記で(E)と標示された変更は、SPS中でシグナリングされる2つのSTRP候補が同等でなく、SPS中で短期RPS候補の間で同等のパターンがシグナリングされる場合、スライスヘッダ中でSTRPSパターンが明示的にシグナリングされないものとするようにビデオエンコーダ20を制限するための本開示の技法の実装形態の一部であり得る。
[0146]いくつかの例では、上記に示した参照ピクチャセットのための復号プロセス中の要素2は、以下と置き換えられ得る。
2.RefPicSetLtCUrrおよびRefPicSetLtFoll中に含まれるすべての参照ピクチャが「長期参照のために使用される」とマークされ、以下の制約が適用される。
両端値を含む0〜NumPocLtCurr−1の範囲内にある各iについて、以下の条件が適用されることは、ビットストリームコンフォーマンスの要件である。
・ 両端値を含む0〜NumPocStCurrBefore−1の範囲内に、RefPicSetLtCurr[i]のPicOrderCntValがPocStCurrBefore[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStCurrAfter−1の範囲内に、RefPicSetLtCurr[i]のPicOrderCntValがPocStCurrAfter[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStFoll−1の範囲内に、RefPicSetLtCurr[i]のPicOrderCntValがPocStFoll[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocLtCurr−1の範囲内に、jがiに等しくない、RefPicSetLtCurr[i]のPicOrderCntValがRefPicSetLtCurr[j]のPicOrderCntValに等しいjがないものとする。
両端値を含む0〜NumPocLtFoll−1の範囲内にある各iについて、RefPicSetLtFoll[i]が「参照ピクチャなし」に等しくないとき、以下の条件が適用されることは、ビットストリームコンフォーマンスの要件である。
・ 両端値を含む0〜NumPocStCurrBefore−1の範囲内に、RefPicSetLtFoll[i]のPicOrderCntValがPocStCurrBefore[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStCurrAfter−1の範囲内に、RefPicSetLtFoll[i]のPicOrderCntValがPocStCurrAfter[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStFoll−1の範囲内に、RefPicSetLtFoll[i]のPicOrderCntValがPocStFoll[j]に等しいjがないものとする。
・ 両端値を含む0〜NumPocStFoll−1の範囲内に、RefPicSetLtFoll[i]のPicOrderCntValがRefPicSetLtCurr[j]のPicOrderCntValに等しいjがないものとする。
・ 両端値を含む0〜NumPocLtFoll−1の範囲内に、jがiに等しくなく、RefPicSetLtFoll[j]が「参照ピクチャなし」に等しくない、RefPicSetLtFoll[i]のPicOrderCntValがRefPicSetLtFoll[j]のPicOrderCntValに等しいjがないものとする。
[0147]上記のボールドのイタリック体で示された節は、上記に示した参照ピクチャセットのための例示的な復号プロセス中にない節である。上記のボールドのイタリック体で示された節は、スライスヘッダ中でシグナリングされる(明示的にまたはインデックス付けされる)各LTRPが、スライスヘッダ中でシグナリングされる(明示的にまたはインデックス付けされる)すべてのLTRPの間で別個の参照ピクチャを参照しなければならないことを規定し得る。
[0148]代替例では、「両端値を含む0〜NumPocLtFoll−1の範囲内の各iについて、RefPicSetLtFoll[i]が『参照ピクチャなし』に等しくないとき、RefPicSetLtFoll[i]のPicOrderCntValがRefPicSetLtCurr[j]のPicOrderCntValに等しい、両端値を含む0〜NumPocLtCurr−1の範囲内にjがないものとすることは、ビットストリームコンフォーマンスの要件である」という節は、上記の例から省略され、以下によって置き換えられ得る。
代替的に、Eqn7〜33におけるDeltaPocMSBCycleLt[i]の導出では、「delta_poc_msb_cycle_lt_plus1[i]−1」は「Max(0,delta_poc_msb_cycle_lt_plus1[i]−1)」と交換される。DeltaPocMSBCycleLt[i]の得られた導出は、以下で与えられる。
変数DeltaPocMSBCycleLt[i]は以下のように導出される。
DeltaPocMSBCycleLt[i]を判断する例示的な方法は、すべての可能な場合(すなわち、POC値のMSBがシグナリングされる場合と、POC値のMSBがシグナリングされない場合の両方)をカバーするように、delta_poc_msb_present_flag[i]シンタックス要素を削除することと、delta_poc_msb_cycle_lt[i]シンタックス要素を変更することとの実装形態の一部であり得る。
[0149]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0150]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびBlu−rayディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
[0151]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0152]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0153]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、前記方法は、
ビットストリームから、現在ピクチャの現在スライスのスライスヘッダを取得することと、ここにおいて、1つまたは複数の長期参照ピクチャ(LTRP)エントリのセットが前記スライスヘッダ中でシグナリングされ、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含み、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、
前記1つまたは複数のLTRPエントリに少なくとも部分的に基づいて、前記現在ピクチャのための参照ピクチャリストを生成することと、
前記現在ピクチャのための前記参照ピクチャリスト中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在ピクチャを再構成することと
を備える方法。
[C2]
前記方法が、前記ビットストリームから、前記現在ピクチャに適用可能であるシーケンスパラメータセット(SPS)を取得することをさらに備え、前記SPSが前記第1のLTRPエントリを含み、
前記スライスヘッダが前記第1のLTRPエントリへのインデックスを含む、C1に記載の方法。
[C3]
前記スライスヘッダは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、C2に記載の方法。
[C4]
前記SPSが前記第1のLTRPエントリと前記第2のLTRPエントリとを含み、
前記スライスヘッダは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリへのインデックスを含む、C2に記載の方法。
[C5]
前記SPSは、前記SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限に従う、C2に記載の方法。
[C6]
前記スライスヘッダは、前記スライスヘッダが前記SPS中の単一のLTRPエントリへの2つのインデックスを含むことを禁止する制限に従う、C2に記載の方法。
[C7]
前記SPS中の各それぞれのLTRPエントリについて、前記スライスヘッダは、特定のLTRPエントリが前記SPS中の前記それぞれのLTRPエントリに一致した場合、前記特定のLTRPエントリを含まない、C2に記載の方法。
[C8]
前記スライスヘッダは、前記スライスヘッダが前記SPS中の等価LTRPエントリへのインデックスを含む場合、前記スライスヘッダが特定のLTRPエントリを含むことを禁止する制限に従い、ここにおいて、前記特定のLTRPエントリが最下位ビット(LSB)シンタックス要素と使用シンタックス要素とを含み、前記等価LTRPエントリが、前記特定のLTRPエントリのLSBシンタックス要素に一致する前記LSBシンタックス要素を含み、前記等価LTRPエントリが、前記特定のLTRPの使用シンタックス要素に一致する前記使用シンタックス要素を含み、ここにおいて、前記特定のLTRPエントリの前記LSBシンタックス要素と前記等価LTRPエントリの前記LSBシンタックス要素とがピクチャ順序カウント(POC)値のLSBを示し、ここにおいて、前記特定のLTRPエントリの前記使用シンタックス要素と前記等価LTRPエントリの前記使用シンタックス要素とは、前記現在ピクチャによって参照のために参照ピクチャが使用されるかどうかを示す、C2に記載の方法。
[C9]
前記スライスヘッダは、前記第1のLTRPエントリを含み、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、C1に記載の方法。
[C10]
前記スライスヘッダは、前記スライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含むことを禁止する制限に従う、C1に記載の方法。
[C11]
前記現在ピクチャの前記長期参照ピクチャセットが第1のサブセットと第2のサブセットとを含み、前記第1のサブセットが、前記現在ピクチャによって参照のために使用されるLTRPを含み、前記第2のサブセットが、他のピクチャによって参照のために使用されるLTRPを含む、C1に記載の方法。
[C12]
前記スライスヘッダは、前記第1のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第2のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第1のサブセットおよび前記第2のサブセットが同じPOC値をもつ参照ピクチャを含むことを禁止する制限とに従う、C11に記載の方法。
[C13]
ビットストリームから、現在ピクチャの現在スライスのスライスヘッダを取得することと、ここにおいて、1つまたは複数の長期参照ピクチャ(LTRP)エントリのセットが前記スライスヘッダ中でシグナリングされ、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含み、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、
前記1つまたは複数のLTRPエントリに少なくとも部分的に基づいて、前記現在ピクチャのための参照ピクチャリストを生成することと、
前記現在ピクチャのための前記参照ピクチャリスト中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在ピクチャを再構成することと
を行うように構成された1つまたは複数のプロセッサを備えるビデオ復号デバイス。
[C14]
前記1つまたは複数のプロセッサが、前記ビットストリームから、前記現在ピクチャに適用可能であるシーケンスパラメータセット(SPS)を取得するようにさらに構成され、前記SPSが前記第1のLTRPエントリを含み、
前記スライスヘッダが前記第1のLTRPエントリへのインデックスを含む、C13に記載のビデオ復号デバイス。
[C15]
前記スライスヘッダは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、C14に記載のビデオ復号デバイス。
[C16]
前記SPSが前記第1のLTRPエントリと前記第2のLTRPエントリとを含み、
前記スライスヘッダは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリへのインデックスを含む、C14に記載のビデオ復号デバイス。
[C17]
前記SPSは、前記SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限に従う、C14に記載のビデオ復号デバイス。
[C18]
前記スライスヘッダは、前記スライスヘッダが前記SPS中の単一のLTRPエントリへの2つのインデックスを含むことを禁止する制限に従う、C14に記載のビデオ復号デバイス。
[C19]
前記SPS中の各それぞれのLTRPエントリについて、前記スライスヘッダは、特定のLTRPエントリが前記SPS中の前記それぞれのLTRPエントリに一致した場合、前記特定のLTRPエントリを含まない、C14に記載のビデオ復号デバイス。
[C20]
前記スライスヘッダは、前記スライスヘッダが前記SPS中の等価LTRPエントリへのインデックスを含む場合、前記スライスヘッダが特定のLTRPエントリを含むことを禁止する制限に従い、ここにおいて、前記特定のLTRPエントリが最下位ビット(LSB)シンタックス要素と使用シンタックス要素とを含み、前記等価LTRPエントリが、前記特定のLTRPエントリのLSBシンタックス要素に一致する前記LSBシンタックス要素を含み、前記等価LTRPエントリが、前記特定のLTRPの使用シンタックス要素に一致する前記使用シンタックス要素を含み、ここにおいて、前記特定のLTRPエントリの前記LSBシンタックス要素と等価LTRPエントリの前記LSBシンタックス要素とがピクチャ順序カウント(POC)値のLSBを示し、ここにおいて、前記特定のLTRPエントリの前記使用シンタックス要素と前記等価LTRPエントリの前記使用シンタックス要素とは、前記現在ピクチャによって参照のために参照ピクチャが使用されるかどうかを示す、C14に記載のビデオ復号デバイス。
[C21]
前記スライスヘッダは、前記第1のLTRPエントリを含み、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、C13に記載のビデオ復号デバイス。
[C22]
前記スライスヘッダは、前記スライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含むことを禁止する制限に従う、C13に記載のビデオ復号デバイス。
[C23]
前記現在ピクチャの前記長期参照ピクチャセットが第1のサブセットと第2のサブセットとを含み、前記第1のサブセットが、前記現在ピクチャによって参照のために使用されるLTRPを含み、前記第2のサブセットが、他のピクチャによって参照のために使用されるLTRPを含む、C13に記載のビデオ復号デバイス。
[C24]
前記スライスヘッダは、前記第1のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第2のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第1のサブセットおよび前記第2のサブセットが同じPOC値をもつ参照ピクチャを含むことを禁止する制限とに従う、C23に記載のビデオ復号デバイス。
[C25]
ビットストリームから、現在ピクチャの現在スライスのスライスヘッダを取得するための手段と、ここにおいて、1つまたは複数の長期参照ピクチャ(LTRP)エントリのセットが前記スライスヘッダ中でシグナリングされ、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含み、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、
前記1つまたは複数のLTRPエントリに少なくとも部分的に基づいて、前記現在ピクチャのための参照ピクチャリストを生成するための手段と、
前記現在ピクチャのための前記参照ピクチャリスト中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在ピクチャを再構成するための手段と
を備えるビデオ復号デバイス。
[C26]
ビデオ復号デバイスによって実行されたとき、
ビットストリームから、現在ピクチャの現在スライスのスライスヘッダを取得することと、ここにおいて、1つまたは複数の長期参照ピクチャ(LTRP)エントリのセットが前記スライスヘッダ中でシグナリングされ、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す第1のLTRPエントリを含み、ここにおいて、1つまたは複数のLTRPエントリの前記セットは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記第2のLTRPエントリを含む、
前記1つまたは複数のLTRPエントリに少なくとも部分的に基づいて、前記現在ピクチャのための参照ピクチャリストを生成することと、
前記現在ピクチャのための前記参照ピクチャリスト中の1つまたは複数の参照ピクチャに少なくとも部分的に基づいて、前記現在ピクチャを再構成することと
を行うように前記ビデオ復号デバイスを構成する命令を記憶したコンピュータ可読記憶媒体。
[C27]
ビデオデータを符号化する方法であって、前記方法は、
現在ピクチャの現在スライスのためのスライスヘッダ中で、第1の長期参照ピクチャ(LTRP)エントリをシグナリングすることと、前記第1のLTRPエントリは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す、
前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中で前記第2のLTRPエントリをシグナリングすることと
を備える方法。
[C28]
前記方法が、前記現在ピクチャに適用可能であるシーケンスパラメータセット(SPS)を生成することをさらに備え、前記SPSが前記第1のLTRPエントリを含み、
前記第1のLTRPエントリをシグナリングすることが、前記スライスヘッダ中に前記第1のLTRPエントリへのインデックスを含めることを備える、C27に記載の方法。
[C29]
前記第2のLTRPエントリをシグナリングすることは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中に前記第2のLTRPエントリを含めることを備える、C28に記載の方法。
[C30]
前記SPSが前記第1のLTRPエントリと前記第2のLTRPエントリとを含み、
前記第2のLTRPエントリをシグナリングすることは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中に前記第2のLTRPエントリへのインデックスを含めることを備える、C28に記載の方法。
[C31]
前記SPSを生成することは、前記SPSが前記第1のLTRPエントリのコピーをすでに含まない場合のみ、前記SPSが前記第1のLTRPエントリを含むような前記SPSを生成することを備える、C28に記載の方法。
[C32]
前記SPSを生成することは、前記SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限に前記SPSが従うような前記SPSを生成することを備える、C28に記載の方法。
[C33]
前記SPS中の各それぞれのLTRPエントリについて、前記スライスヘッダは、前記スライスヘッダが前記それぞれのLTRPエントリへの前記インデックスのコピーをすでに含まない場合のみ、前記それぞれのLTRPエントリへのインデックスを含む、C28に記載の方法。
[C34]
前記スライスヘッダは、前記スライスヘッダが前記SPS中の単一のLTRPエントリへの2つのインデックスを含むことを禁止する制限に従う、C28に記載の方法。
[C35]
前記SPS中の各それぞれのLTRPエントリについて、前記スライスヘッダは、特定のLTRPエントリが前記SPS中の前記それぞれのLTRPエントリに一致した場合、前記特定のLTRPエントリを含まない、C28に記載の方法。
[C36]
前記スライスヘッダは、前記スライスヘッダが前記SPS中の等価LTRPエントリへのインデックスを含む場合、前記スライスヘッダが特定のLTRPエントリを含むことを禁止する制限に従い、ここにおいて、前記特定のLTRPエントリが最下位ビット(LSB)シンタックス要素と使用シンタックス要素とを含み、前記等価LTRPエントリが、前記特定のLTRPエントリのLSBシンタックス要素に一致する前記LSBシンタックス要素を含み、前記等価LTRPエントリが、前記特定のLTRPの使用シンタックス要素に一致する前記使用シンタックス要素を含み、ここにおいて、前記特定のLTRPエントリの前記LSBシンタックス要素と前記等価LTRPエントリの前記LSBシンタックス要素とがピクチャ順序カウント(POC)値のLSBを示し、ここにおいて、前記特定のLTRPエントリの前記使用シンタックス要素と前記等価LTRPエントリの前記使用シンタックス要素とは、前記現在ピクチャによって参照のために参照ピクチャが使用されるかどうかを示す、C28に記載の方法。
[C37]
前記第1のLTRPエントリをシグナリングすることが、前記スライスヘッダ中に前記第1のLTRPエントリを含めることを備え、
前記第2のLTRPエントリをシグナリングすることは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中に前記第2のLTRPエントリを含めることを備える、C27に記載の方法。
[C38]
前記スライスヘッダを生成することは、前記スライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含むことを禁止する制限に前記スライスヘッダが従うような前記スライスヘッダを生成することを備える、C27に記載の方法。
[C39]
前記現在ピクチャの前記長期参照ピクチャセットが第1のサブセットと第2のサブセットとを含み、前記第1のサブセットが、前記現在ピクチャによって参照のために使用されるLTRPを含み、前記第2のサブセットが、他のピクチャによって参照のために使用されるLTRPを含む、C27に記載の方法。
[C40]
前記スライスヘッダは、前記第1のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第2のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第1のサブセットおよび前記第2のサブセットが同じPOC値をもつ参照ピクチャを含むことを禁止する制限とに従う、C39に記載の方法。
[C41]
現在ピクチャの現在スライスのためのスライスヘッダ中で、第1の長期参照ピクチャ(LTRP)エントリをシグナリングすることと、前記第1のLTRPエントリは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す、
前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中で前記第2のLTRPエントリをシグナリングすることと
を行うように構成された1つまたは複数のプロセッサを備えるビデオ符号化デバイス。
[C42]
前記1つまたは複数のプロセッサは、
前記現在ピクチャに適用可能であるシーケンスパラメータセット(SPS)を生成することと、前記SPSが前記第1のLTRPエントリを含む、
前記スライスヘッダ中に前記第1のLTRPエントリへのインデックスを含めることと
を行うように構成された、C41に記載のビデオ符号化デバイス。
[C43]
前記1つまたは複数のプロセッサは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中に前記第2のLTRPエントリを含めるように構成された、C42に記載のビデオ符号化デバイス。
[C44]
前記SPSが前記第1のLTRPエントリと前記第2のLTRPエントリとを含み、
前記1つまたは複数のプロセッサは、前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中に前記第2のLTRPエントリへのインデックスを含めるように構成された、C42に記載のビデオ符号化デバイス。
[C45]
前記1つまたは複数のプロセッサは、前記SPSが前記第1のLTRPエントリのコピーをすでに含まない場合のみ、前記SPSが前記第1のLTRPエントリを含むような前記SPSを生成するように構成された、C42に記載のビデオ符号化デバイス。
[C46]
前記1つまたは複数のプロセッサは、前記SPSが同じLTRPエントリの2つ以上のコピーを含むことを禁止する制限に前記SPSが従うような前記SPSを生成するように構成された、C42に記載のビデオ符号化デバイス。
[C47]
前記SPS中の各それぞれのLTRPエントリについて、前記スライスヘッダは、前記スライスヘッダが前記それぞれのLTRPエントリへの前記インデックスのコピーをすでに含まない場合のみ、前記それぞれのLTRPエントリへのインデックスを含む、C42に記載のビデオ符号化デバイス。
[C48]
前記1つまたは複数のプロセッサは、前記スライスヘッダが前記SPS中の単一のLTRPエントリへの2つのインデックスを含むことを禁止する制限に前記スライスヘッダが従うような前記スライスヘッダを生成するように構成された、C42に記載のビデオ符号化デバイス。
[C49]
前記SPS中の各それぞれのLTRPエントリについて、前記スライスヘッダは、特定のLTRPエントリが前記SPS中の前記それぞれのLTRPエントリに一致した場合、前記特定のLTRPエントリを含まない、C42に記載のビデオ符号化デバイス。
[C50]
前記1つまたは複数のプロセッサは、前記スライスヘッダが前記SPS中の等価LTRPエントリへのインデックスを含む場合、前記スライスヘッダが特定のLTRPエントリを含むことを禁止する制限に前記スライスヘッダが従うような前記スライスヘッダを生成するように構成され、ここにおいて、前記特定のLTRPエントリが最下位ビット(LSB)シンタックス要素と使用シンタックス要素とを含み、前記等価LTRPエントリが、前記特定のLTRPエントリのLSBシンタックス要素に一致する前記LSBシンタックス要素を含み、前記等価LTRPエントリが、前記特定のLTRPの使用シンタックス要素に一致する前記使用シンタックス要素を含み、ここにおいて、前記特定のLTRPエントリの前記LSBシンタックス要素と等価LTRPエントリの前記LSBシンタックス要素とがピクチャ順序カウント(POC)値のLSBを示し、ここにおいて、前記特定のLTRPエントリの前記使用シンタックス要素と前記等価LTRPエントリの前記使用シンタックス要素とは、前記現在ピクチャによって参照のために参照ピクチャが使用されるかどうかを示す、C42に記載のビデオ符号化デバイス。
[C51]
前記1つまたは複数のプロセッサは、
前記スライスヘッダ中に前記第1のLTRPエントリを含めることと、
前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを前記第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中に前記第2のLTRPエントリを含めることと
を行うように構成された、C41に記載のビデオ符号化デバイス。
[C52]
前記1つまたは複数のプロセッサは、前記スライスヘッダが、同じPOC値を有する参照ピクチャを示す2つのLTRPエントリを含むことを禁止する制限に前記スライスヘッダが従うような前記スライスヘッダを生成するように構成された、C41に記載のビデオ符号化デバイス。
[C53]
前記現在ピクチャの前記長期参照ピクチャセットが第1のサブセットと第2のサブセットとを含み、前記第1のサブセットが、前記現在ピクチャによって参照のために使用されるLTRPを含み、前記第2のサブセットが、他のピクチャによって参照のために使用されるLTRPを含む、C41に記載のビデオ符号化デバイス。
[C54]
前記1つまたは複数のプロセッサは、前記第1のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第2のサブセットが、同じPOC値をもつ2つの参照ピクチャを含むことを禁止する制限と、前記第1のサブセットおよび前記第2のサブセットが同じPOC値をもつ参照ピクチャを含むことを禁止する制限とに前記スライスヘッダが従うような前記スライスヘッダを生成するように構成された、C53に記載のビデオ符号化デバイス。
[C55]
現在ピクチャの現在スライスのためのスライスヘッダ中で、第1の長期参照ピクチャ(LTRP)エントリをシグナリングするための手段と、前記第1のLTRPエントリは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す、
前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中で前記第2のLTRPエントリをシグナリングするための手段と
を備えるビデオ符号化デバイス。
[C56]
ビデオ符号化デバイスによって実行されたとき、
現在ピクチャの現在スライスのためのスライスヘッダ中で、第1の長期参照ピクチャ(LTRP)エントリをシグナリングすることと、前記第1のLTRPエントリは、特定の参照ピクチャが前記現在ピクチャの長期参照ピクチャセット中にあることを示す、
前記特定の参照ピクチャが前記現在ピクチャの前記長期参照ピクチャセット中にあることを第2のLTRPエントリが示さない場合のみ、前記スライスヘッダ中で前記第2のLTRPエントリをシグナリングすることと
を行うように前記ビデオ符号化デバイスを構成する命令を記憶したコンピュータ可読記憶媒体。