(57)【特許請求の範囲】
【請求項１】
ビデオデータを符号化するための方法であって、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断することと、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断することと、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断することと、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成することと、
を備える方法。
【請求項２】
ビデオデータを復号するための方法であって、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断することと、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断することと、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断することと、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成することと、
を備える方法。
【請求項３】
前記構成された参照ピクチャセットの前記復号順を並べ替えずに前記構成された参照ピクチャセットから初期参照ピクチャリストを構成することをさらに備える、請求項１または２に記載の方法。
【請求項４】
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、請求項１または２に記載の方法。
【請求項５】
前記現在のピクチャと前記第１および第２のサブセットの各参照ピクチャとの間の前記それぞれの距離を判断することは、それぞれのデルタピクチャオーダーカウント値に基づく、請求項１または２に記載の方法。
【請求項６】
前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される参照ピクチャの前記第２のサブセットから構成されるべきであることを示すシンタックス要素をコーディングすることをさらに備える、請求項１または２に記載の方法。
【請求項７】
前記方法が、
前記パラメータセットを受信することと、
前記スライスヘッダを受信することと
をさらに備える、請求項２に記載の方法。
【請求項８】
前記方法が、
前記パラメータセットを生成することと、
前記スライスヘッダを生成することと
をさらに備える、請求項１に記載の方法。
【請求項９】
ビデオデータを符号化するためのデバイスであって、
前記ビデオデータの少なくとも一部を記憶するように構成されたメモリと、
１つまたは複数のプロセッサを備えるビデオエンコーダと
を備え、前記ビデオエンコーダが、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断することと、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断することと、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断することと、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成することと、
を行うように構成される、デバイス。
【請求項１０】
ビデオデータを復号するためのデバイスであって、
前記ビデオデータの少なくとも一部を記憶するように構成されたメモリと、
１つまたは複数のプロセッサを備えるビデオデコーダと
を備え、前記ビデオデコーダが、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断することと、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断することと、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断することと、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成することと、
を行うように構成される、デバイス。
【請求項１１】
前記１つまたは複数のプロセッサが、前記構成された参照ピクチャセットの前記復号順を並べ替えずに前記構成された参照ピクチャセットから初期参照ピクチャリストを構成するように構成される、請求項９または１０に記載のデバイス。
【請求項１２】
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、請求項９または１０に記載のデバイス。
【請求項１３】
前記１つまたは複数のプロセッサが、デルタピクチャオーダーカウント値に基づいて、前記現在のピクチャと前記第１および第２のサブセットの各参照ピクチャとの間の前記距離を判断するように構成される、請求項９または１０に記載のデバイス。
【請求項１４】
前記１つまたは複数のプロセッサが、前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される参照ピクチャの前記第２のサブセットから構成されるべきであることを示すシンタックス要素をコーディングするようにさらに構成される、請求項９または１０に記載のデバイス。
【請求項１５】
前記ビデオデコーダの前記１つまたは複数のプロセッサが、前記パラメータセットを受信し、前記スライスヘッダを受信するように構成される、請求項１０に記載のデバイス。
【請求項１６】
前記ビデオエンコーダの前記１つまたは複数のプロセッサが、前記パラメータセットを生成し、前記スライスヘッダを生成するように構成される、請求項９に記載のデバイス。
【請求項１７】
前記デバイスが、
集積回路、
マイクロプロセッサ、または
前記ビデオエンコーダを含むワイヤレス通信デバイス
のうちの少なくとも１つを備える、請求項９に記載のデバイス。
【請求項１８】
ビデオ符号化のためのデバイスであって、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断するための手段と、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断するための手段と、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断するための手段と、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成するための手段と、
を備えるデバイス。
【請求項１９】
ビデオ復号のためのデバイスであって、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断するための手段と、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断するための手段と、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断するための手段と、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成するための手段と、
を備えるデバイス。
【請求項２０】
前記構成された参照ピクチャセットの前記復号順を並べ替えずに前記構成された参照ピクチャセットから初期参照ピクチャリストを構成するための手段をさらに備える、請求項１８または１９に記載のデバイス。
【請求項２１】
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、請求項１８または１９に記載のデバイス。
【請求項２２】
前記現在のピクチャと前記第１および第２のサブセットの各参照ピクチャとの間の前記距離が、それぞれのデルタピクチャオーダーカウント値に基づく、請求項１８または１９に記載のデバイス。
【請求項２３】
前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される参照ピクチャの前記第２のサブセットから構成されるべきであることを示すシンタックス要素をコーディングするための手段をさらに備える、請求項１８または１９に記載のデバイス。
【請求項２４】
前記デバイスが、前記パラメータセットを受信するための手段と、前記スライスヘッダを受信するための手段とをさらに備える、請求項１９に記載のデバイス。
【請求項２５】
前記デバイスが、前記パラメータセットを生成するための手段と、前記スライスヘッダを生成するための手段とをさらに備える、請求項１８に記載のデバイス。
【請求項２６】
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
現在のピクチャ用の参照ピクチャセットがパラメータセットで識別される参照ピクチャの第１のサブセットおよびスライスヘッダで識別される参照ピクチャの第２のサブセットから構成されるべきであると判断することと、
前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャの前記第１のサブセットの各参照ピクチャとの間の出力順でのそれぞれの距離が値よりも大きいと判断することと、
前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャの前記第２のサブセットの各参照ピクチャとの間の前記出力順でのそれぞれの距離が前記値以下であると判断することと、
前記パラメータセットで識別される前記参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される前記参照ピクチャの前記第２のサブセットに基づいて、復号順にしたがって前記参照ピクチャセットを構成することと
を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
前記構成された参照ピクチャサブセットから初期参照ピクチャリストを構成させる命令をさらに記憶する、請求項２６に記載の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記構成された参照ピクチャセットの前記復号順を並べ替えずに前記初期参照ピクチャリストを構成することによって、前記初期参照ピクチャリストを構成させる命令をさらに記憶する、請求項２７に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、請求項２７に記載の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記現在のピクチャと前記第１および第２のサブセットの各参照ピクチャとの間の前記それぞれの距離が、それぞれのデルタピクチャオーダーカウント値に基づく、請求項２７に記載の非一時的コンピュータ可読記憶媒体。
【請求項３１】
前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される参照ピクチャの前記第１のサブセットおよび前記スライスヘッダで識別される参照ピクチャの前記第２のサブセットから構成されるべきであることを示すシンタックス要素をコーディングさせるさらなる命令を記憶する、請求項２７に記載の非一時的コンピュータ可読記憶媒体。
【請求項３２】
前記１つまたは複数のプロセッサがビデオデコーダを備え、前記非一時的コンピュータ可読記憶媒体が、前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記パラメータセットを受信させ、前記スライスヘッダを受信させるさらなる命令を記憶する、請求項２７に記載の非一時的コンピュータ可読記憶媒体。
【請求項３３】
前記１つまたは複数のプロセッサがビデオエンコーダを備え、前記非一時的コンピュータ可読記憶媒体が、前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記パラメータセットを生成させ、前記スライスヘッダを生成させるさらなる命令を記憶する、請求項２７に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、各々の内容全体が参照により本明細書に組み込まれる、
２０１１年１０月１０日に出願された米国仮出願第６１／５４５，５２５号、および
２０１１年１０月２１日に出願された米国仮出願第６１／５５０，２７６号
の利益を主張する。
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータをコーディングするための技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実施する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオピクチャまたはビデオピクチャの一部分）が、ツリーブロック、コーティングツリーブロック（ＣＴＢ）、コーディングツリーユニット（ＣＴＵ）、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
本開示の技法は概して、ビデオコーディングプロセスにおけるインター予測に使われる参照ピクチャの管理を対象とする。より詳細には、本開示の技法は、ピクチャパラメータセット（ＰＰＳ）などのパラメータセットでどの参照ピクチャがシグナリングされるべきかと、ビデオデコーダが参照ピクチャセットを構成するとき、ビデオデータのスライス用の初期参照ピクチャリストを構成するために参照ピクチャセットを並べ替える必要がないように、スライスヘッダでどの参照ピクチャがシグナリングされるべきかと、を選択することを対象とする。
【０００７】
一例では、ビデオデータをコーディングするための方法は、現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断することであって、現在のピクチャと、スライスヘッダで識別される参照ピクチャのうちのいずれかとの間の、出力順での距離が、現在のピクチャと、パラメータセットで識別される参照ピクチャのうちのいずれかとの間の距離よりも大きい、判断することと、パラメータセットおよびスライスヘッダで識別される参照ピクチャに基づいて参照ピクチャセットを構成することとを含む。
【０００８】
別の例では、ビデオデータをコーディングするためのデバイスは、現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断することであって、現在のピクチャと、スライスヘッダで識別される参照ピクチャのうちのいずれかとの間の、出力順での距離が、現在のピクチャと、パラメータセットで識別される参照ピクチャのうちのいずれかとの間の距離よりも大きい、判断することと、パラメータセットおよびスライスヘッダで識別される参照ピクチャに基づいて参照ピクチャセットを構成することとを行うように構成されたビデオコーダを含む。
【０００９】
別の例では、ビデオデータをコーディングするためのデバイスは、現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断するための手段であって、現在のピクチャと、スライスヘッダで識別される参照ピクチャのうちのいずれかとの間の、出力順での距離が、現在のピクチャと、パラメータセットで識別される参照ピクチャのうちのいずれかとの間の距離よりも大きい、手段と、パラメータセットおよびスライスヘッダで識別される参照ピクチャに基づいて参照ピクチャセットを構成するための手段とを含む。
【００１０】
別の例では、１つまたは複数のプロセッサによって実行されると、１つまたは複数のプロセッサに、現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断することであって、現在のピクチャと、スライスヘッダで識別される参照ピクチャのうちのいずれかとの間の、出力順での距離が、現在のピクチャと、パラメータセットで識別される参照ピクチャのうちのいずれかとの間の距離よりも大きい、判断することと、パラメータセットおよびスライスヘッダで識別される参照ピクチャに基づいて参照ピクチャセットを構成することとを行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
【００１１】
１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】符号化され送信される複数のピクチャを含む例示的ビデオシーケンスを示す概念図。
【図３】本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図４】本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図５】参照ピクチャセットを導出する例示的操作を示すフローチャート。
【図６】参照ピクチャリストを構成する例示的操作を示すフローチャート。
【図７】参照ピクチャリストを構成する例示的操作を示すフローチャート。
【発明を実施するための形態】
【００１３】
本開示の技法は概して、ビデオコーディングプロセスにおけるインター予測に使われる参照ピクチャの管理を対象とする。より詳細には、本開示の技法は、ピクチャパラメータセット（ＰＰＳ）などのパラメータセットでどの参照ピクチャがシグナリングされるべきかと、ビデオデコーダが参照ピクチャセットを構成するとき、ビデオデータのスライス用の初期参照ピクチャリストを構成するために参照ピクチャセットを並べ替える必要がないように、スライスヘッダでどの参照ピクチャがシグナリングされるべきかと、を選択することを対象とする。
【００１４】
ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は通常、復号ピクチャバッファ（ＤＰＢ）を含む。ＤＰＢは、参照ピクチャを含む復号ピクチャを記憶する。参照ピクチャは、ピクチャをインター予測するために使われる可能性があり得るピクチャである。したがって、ビデオコーダは、ＤＰＢに記憶された参照ピクチャの１つまたは複数のブロックに基づいて、現時点でコーディングされているピクチャのブロックを予測することができる。
【００１５】
ＤＰＢを効率的に使用するために、どの参照ピクチャがビデオデコーダにとって利用可能となるかがビデオエンコーダにわかるように、ＤＰＢ管理プロセスが指定され得る。指定され得るＤＰＢ管理の態様は、たとえば、ＤＰＢ中での復号ピクチャの記憶プロセス、参照ピクチャのマーキングプロセス、ＤＰＢからの復号ピクチャの出力および削除プロセスなどを含む。概して、いくつかの現行および開発中のビデオコーディング規格では、ＤＰＢ管理は、ピクチャ識別および参照ピクチャ識別、参照ピクチャリスト構成、参照ピクチャマーキング、ＤＰＢからのピクチャ出力、ＤＰＢへのピクチャ挿入、およびＤＰＢからのピクチャ削除という側面のうちの１つまたは複数を含み得る。
【００１６】
理解を助けるため、以下の説明ではいくつかのビデオコーディング規格に従って、参照ピクチャマーキングおよび参照ピクチャリスト構成がどのように起こり得るかを概観する。参照ピクチャマーキングのために、インター予測に使われる参照ピクチャの、Ｍ（ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ）と呼ばれる最大数が、アクティブシーケンスパラメータセット中で示される。参照ピクチャは、復号されると、「参照に使用される」とマーキングされる。参照ピクチャの復号により、Ｍ個より多いピクチャが「参照に使用される」とマーキングされた場合、少なくとも１つのピクチャが「参照に使用されない」とマーキングされていなければならない。ＤＰＢ削除プロセスは次いで、「参照に使用されない」とマーキングされたピクチャが出力にも必要とされない場合、それらのピクチャをＤＰＢから削除することになる。
【００１７】
ピクチャは、復号されると、非参照ピクチャまたは参照ピクチャのいずれかになり得る。参照ピクチャは、長期参照ピクチャであっても短期参照ピクチャであってもよく、参照ピクチャは、「参照に使用されない」とマーキングされると、参照にはそれ以上必要とされなくなる。いくつかのビデオコーディング規格には、参照ピクチャのステータスを変える参照ピクチャマーキング操作があり得る。
【００１８】
参照ピクチャマーキングには、概してスライディングウィンドウ制御および適応メモリ制御と呼ばれる、２つのタイプの制御操作があり得る。参照ピクチャマーキングのための操作モードは、ピクチャベースで選択することができる。スライディングウィンドウ操作は、一定数の短期参照ピクチャをもつ先入れ先出しキューとして作用し得る。言い換えると、スライディングウィンドウ操作では、復号時間が最も早い短期参照ピクチャが、暗黙的に、削除される最初のものである（参照用に使われないピクチャとマーキングされる）。
【００１９】
適応メモリ制御操作は、対照的に、短期または長期参照ピクチャを明示的に削除する。適応メモリ制御は、短期および長期参照ピクチャなどのステータスを切り替えることも可能にする。たとえば、適応メモリ制御操作において、ビデオエンコーダは、どのピクチャが参照に使用されるものとマーキングされるべきかを指定するシンタックス要素をシグナリングすることができる。ビデオデコーダは、シンタックス要素を受信し、指定された通りにピクチャをマーキングすればよい。適応メモリ制御操作とは異なり、スライディングウィンドウ操作中、ビデオエンコーダは、どのピクチャが参照に使用されるものとマーキングされるかはシグナリングする必要はなくてよい。そうではなく、ビデオデコーダは、暗黙的に（すなわち、シンタックス要素を受信せずに）、どのピクチャがスライディングウィンドウ内にあるかに基づいて、どのピクチャが参照に使用されるものとマーキングされるか判断してよい。
【００２０】
ビデオコーダは、どの参照ピクチャをインター予測目的で使うことができるかを示す参照ピクチャリストのビデオのスライス用の構成も課せられ得る。これらの参照ピクチャリストのうちの２つは、それぞれリスト０およびリスト１と呼ばれる。ビデオコーダは最初に、ビデオのスライス用の、リスト０とリスト１とを構成するためのデフォルトの構成技法（たとえば、リスト０とリスト１とを構成するための事前設定された構成方式）を利用する。任意選択で、初期リスト０およびリスト１が構成された後、ビデオデコーダは、初期リスト０とリスト１とを修正するようビデオデコーダに命令するシンタックス要素が存在するときは、それらのシンタックス要素を復号すればよい。
【００２１】
ビデオエンコーダは、ＤＰＢ中の参照ピクチャの識別子（１つまたは複数）を示すシンタックス要素をシグナリングすればよく、ビデオエンコーダは、現在のピクチャのコード化ブロックを復号するのに、どの１つまたは複数の参照ピクチャを使うべきかを示す索引を、リスト０、リスト１、またはリスト０とリスト１の両方内に含むシンタックス要素をシグナリングしてもよい。ビデオデコーダは、これに対して、受信した識別子を使って、リスト０、リスト１、またはリスト０とリスト１の両方の中にリストされた１つの参照ピクチャまたは複数の参照ピクチャについての１つまたは複数の索引値を識別する。１つの参照ピクチャまたは複数の参照ピクチャの索引値（１つまたは複数）ならびに識別子（１つまたは複数）から、ビデオデコーダは、１つの参照ピクチャもしくは複数の参照ピクチャ、またはその一部（１つもしくは複数）を、ＤＰＢから取り出し、取り出された１つまたは複数の参照ピクチャと、コード化ブロックの復号に使われる１つまたは複数の参照ピクチャ内のブロックを識別する１つまたは複数の動きベクトルとに基づいて、現在のピクチャのコード化ブロックを復号する。
【００２２】
双予測ピクチャの第１または第２の参照ピクチャリストについての参照ピクチャリスト構成は、２つのステップ、すなわち参照ピクチャリスト初期化と、参照ピクチャリスト修正（参照ピクチャリスト並べ替えとも呼ばれる）とを含むことが可能である。参照ピクチャリスト初期化は、参照ピクチャメモリ（復号ピクチャバッファとしても知られる）中の参照ピクチャを、ＰＯＣ（ピクチャの表示順で整列されるピクチャオーダーカウント）値の順序に基づいてリストに入れる暗黙的機構であってよい。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中にリストに入れられたピクチャの位置をどの新しい位置にも修正し、または参照ピクチャメモリ中のどの参照ピクチャも、そのピクチャが初期化リストに属さなくても、どの位置に入れてもよい。参照ピクチャリスト並べ替え（修正）後のいくつかのピクチャは、リスト中のはるかに離れた位置に入れられる場合がある。ただし、ピクチャの位置が、リストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終参照ピクチャリストのエントリとは見なされない。アクティブ参照ピクチャの数は、各リスト用のスライスヘッダに入れてシグナリングされ得る。
【００２３】
本開示に記載する技法は、様々なビデオコーディング規格に適用可能であり得る。ビデオコーディング規格の例は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびにスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含むＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られている）を含む。さらに、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）がある。
【００２４】
単に例示のために、本技法は、ＨＥＶＣ規格のコンテキストにおいて説明される。これ以降ＨＥＶＣ  ＷＤ８と呼ばれる、ＨＥＶＣの最新の作業草案（ＷＤ）が、２０１２年１０月８日の時点で、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐから入手可能である。
【００２５】
本開示に記載する技法によると、参照ピクチャリストは、参照ピクチャセットから構成される。参照ピクチャセットは概して、たとえば、次の瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、またはリンク切断アクセス（ＢＬＡ：broken link access）ピクチャまで、復号順で関連ピクチャに先立ち、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャ中のブロックのインター予測に使うことができる、すべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャとして定義される。言い換えると、参照ピクチャセット中の参照ピクチャは、以下の特性を必要とし得る。すなわち、（１）すべてが、復号順で現在のピクチャに先立ち、（２）現在のピクチャをインター予測し、かつ／または現在のピクチャに復号順で続くどのピクチャも、およびいくつかの例では、次のＩＤＲピクチャまたはＢＬＡピクチャまでの、現在のピクチャに復号順で続くどのピクチャも、インター予測するために使うことができる。参照ピクチャセットの他の代替定義もあってよく、それについては以下に挙げる。
【００２６】
本開示に記載する例示的技法において、ビデオコーダ（ビデオエンコータまたはビデオデコーダなど）は参照ピクチャセットを導出することができ、そのような導出の後、ビデオコーダはビデオデータのスライス用の参照ピクチャリストを構成することができる。たとえば、参照ピクチャセット中の参照ピクチャのみが、スライス用の参照ピクチャリストを構成するのに使われる候補参照ピクチャであり得る。
【００２７】
参照ピクチャセットを構成するために、ビデオコーダは、複数の参照ピクチャサブセットを構成すればよい。参照ピクチャサブセットの組合せは、参照ピクチャセットを共に形成し得る。たとえば、ビデオエンコーダは、コード化ビットストリーム中で、参照ピクチャセットに含まれる参照ピクチャ用の識別子をビデオデコーダが判断するための値を明示的にシグナリングすることができる。たとえば、参照ピクチャの識別子は、ピクチャオーダーカウントであってよい。各ピクチャは、ＰｉｃＯｒｄｅｒＣｎｔと呼ばれる１つのピクチャオーダーカウントに関連付けられる。ＰｉｃＯｒｄｅｒＣｎｔは、前のＩＤＲピクチャに復号順で相対した、対応するピクチャの出力順または表示順を示し、いくつかの他の代替法では、同じコード化ビデオシーケンス中の他のピクチャの出力順位置に相対した、関連ピクチャの出力順における位置を示す。
【００２８】
ＰｉｃＯｒｄｅｒＣｎｔは、ピクチャオーダーカウント（ＰＯＣ）値と呼ばれ得る。ＰＯＣ値は、ピクチャの出力または表示順を示すことができ、ピクチャを識別するのに使うことができる。たとえば、コード化ビデオシーケンス内で、より小さいＰＯＣ値をもつピクチャは、より大きいＰＯＣ値をもつピクチャよりも早く出力または表示される。
【００２９】
ビデオデコーダは、参照ピクチャ用の識別子を判断し、これらの識別子から、ビデオデコーダは、複数の参照ピクチャサブセットを構成することができる。これらの参照ピクチャサブセットから、ビデオデコーダは、後でより詳しく説明するように、参照ピクチャセットを導出することができる。いくつかの例では、参照ピクチャサブセットの各々は異なる参照ピクチャを含み、これは参照ピクチャサブセット中で参照ピクチャが重複しないことを意味する。このように、参照ピクチャの各々は、参照ピクチャサブセットのうちのただ１つの中に存在することができ、他の参照ピクチャサブセット中に存在することはできない。ただし、本開示の態様はそのように限定されると考えられるべきでない。
【００３０】
参照ピクチャセットまたはそのサブセット中の参照ピクチャの識別子（たとえば、ＰＯＣ値）を判断した後、ビデオデコーダは、参照ピクチャサブセットを構成することができる。後でより詳しく説明するように、ビデオデコーダは、６つの参照ピクチャサブセットを構成することができるが、ビデオデコーダは、より多いまたはより少ない参照ピクチャサブセットを構成することが可能であり得る。
【００３１】
これらの６つの参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌと名付けられる。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ参照ピクチャサブセットと呼ばれる場合があり、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ参照ピクチャサブセットと呼ばれる場合がある。
【００３２】
ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、短期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、短期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるか、ならびに短期参照ピクチャが、現在のピクチャと、復号順で現在のピクチャに続くピクチャとをインター予測するために使われる可能性があり得るか、それとも復号順で現在のピクチャに続くピクチャのみをインター予測するために使われる可能性があり得るかに基づいて、短期参照ピクチャを識別することができる。
【００３３】
たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早いとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの、ＰＯＣ値などの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が後であるとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【００３４】
ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が遅く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【００３５】
ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、長期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、長期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるかに基づいて、長期参照ピクチャを識別することができる。
【００３６】
たとえば、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットは、現在のピクチャのインター予測において参照用に使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての長期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての長期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【００３７】
参照ピクチャサブセットを構成した後、ビデオデコーダは、参照ピクチャサブセットを、参照ピクチャセットを導出するように異なる順序で並べればよい。一例として、参照ピクチャセットの順序は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｅｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌとなり得る。ただし、参照ピクチャセットを導出するように、サブセットの他の順序付けも可能であり得る。たとえば、別の例として、参照ピクチャセットの順序は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、その後にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャセットが続き、その後にＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットが続き、その後にＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットが続き、その後にＲｅｆＰｉｃＳｅｔＦｏｌｌ１参照ピクチャサブセットが続き、その後にＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットが続いてよい。
【００３８】
本開示に記載する技法によると、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒサブセットは、現在のピクチャ中のブロックのインター予測において使うことができるとともに、復号順で現在のピクチャに続くピクチャのうちの１つまたは複数のピクチャのインター予測において使うことができるすべての参照ピクチャを含む。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌサブセットは、現在のピクチャ中のブロックのインター予測においては使われないが、復号順で現在のピクチャに続くピクチャのうちの１つまたは複数のピクチャのインター予測において使うことができるすべての参照ピクチャを含む。
【００３９】
６つの参照ピクチャサブセットは、例示目的でのみ記載され、限定的と見なされるべきでないことを理解されたい。代替例では、より多いまたはより少ない参照ピクチャサブセットがあってよい。これらの代替例におけるそのような参照ピクチャサブセットについては、以下でより詳しく説明する。
【００４０】
本開示において記載するいくつかの技法では、ビデオデコーダは、復号ピクチャを、「参照に使用される」、「参照に使用されない」、「短期参照に使用される」、または「長期参照に使用される」とマーキングする必要がなくてよい。そうではなく、ＤＰＢに記憶された復号ピクチャがインター予測に必要とされるかどうかは、そのピクチャが現在のピクチャの参照ピクチャセットに含まれるかどうかによって示される。代替例では、ビデオデコーダが、復号ピクチャに、「参照に使用される」、「参照に使用されない」、「短期参照に使用される」、または「長期参照に使用される」としてマーキングすることが可能な場合がある。これらの例では、ビデオデコーダがピクチャを復号した後、そのピクチャは参照ピクチャとなり、「参照に使用される」とマーキングされる。次いで、参照ピクチャセット導出のためのプロセスの呼出しの後、ＤＰＢには記憶されているが現在のピクチャの参照ピクチャセットには含まれないすべての参照ピクチャは、ＤＰＢからの復号ピクチャの削除が起こり得る前に、「参照に使用されない」とマーキングされる。したがって、ＤＰＢに記憶された復号ピクチャがインター予測に必要とされるかどうかは、そのピクチャが「参照に使用される」とマーキングされているかどうかによって示すことができる。
【００４１】
ビデオデコーダが、複数の参照ピクチャサブセットから参照ピクチャセットを導出すると、ビデオデコーダは、参照ピクチャセットから参照ピクチャリスト（たとえば、リスト０およびリスト１）を構成することができる。たとえば、参照ピクチャリストの構成は、初期化ステップと、可能性としては修正ステップとを含み得る。上述したように参照ピクチャセットを導出することによって、ビデオデコーダは、参照ピクチャリスト初期化および参照ピクチャリスト修正に関する効率を向上させ、複雑さを低下させることが可能であり得る。
【００４２】
ビデオデコーダが参照ピクチャリストを構成することができる様々なやり方があり得る。本開示に記載する技法は、ビデオデコーダが、（初期）参照ピクチャリストに含まれるべき参照ピクチャを並べ替える必要なく、参照ピクチャリストを構成することができる機構を提供する。たとえば、ビデオデコーダは、初期参照ピクチャリストを構成するために参照ピクチャサブセットをビデオデコーダが使用するデフォルトの参照リスト構成技法を実装するように構成してよい。すると、参照ピクチャリストの修正が必要とされない場合、最終参照ピクチャリストは、参照ピクチャリストのいかなる追加の並べ替えも必要なく、初期参照ピクチャリストと同じになり得る。
【００４３】
上で提示したように、参照ピクチャセットのいくつかの参照ピクチャはピクチャパラメータセット（ＰＰＳ）中でシグナリングすることができ、参照ピクチャセットの他の参照ピクチャはスライスヘッダ中でシグナリングすることができる。ビデオデコーダは次いで、ＰＰＳとスライスヘッダの両方の中の参照ピクチャを使って参照ピクチャセットを構成することができる。ただし、これらの技法は、ビデオデコーダがビデオのスライス用の初期参照ピクチャリストを構成することができる前に、構成された参照ピクチャセットをビデオデコーダが並べ替えることを要求し得る。この中間並べ替えステップは処理サイクルを浪費し、そうすることによってビデオデコーダが現在のピクチャを復号するのにかかる時間量を増大させる場合がある。
【００４４】
これに対処するために、一例として、本開示は、参照ピクチャセットを構成するために、ＰＰＳからのどの参照ピクチャをビデオデコーダが使うべきかを示す「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」シンタックス要素、「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」シンタックス要素、「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０」シンタックス要素、および「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１」シンタックス要素について記載する。本技法は、どのピクチャがスライスヘッダに含まれ得るかに適用される限定についても記載する。このように、ビデオデコーダが、初期参照ピクチャリストを構成する前に参照ピクチャセットを並べ替える必要がないように、ビデオデコーダは参照ピクチャセットを構成することができる。
【００４５】
本開示の技法において、「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」シンタックス要素が真にセットされている（たとえば、１の値を有する）とき、ビデオデコーダは、現在のピクチャ用の参照ピクチャセットが、現在のピクチャのＰＰＳ中およびスライスヘッダ中の両方の参照ピクチャから構成されることになると判断する。「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」シンタックス要素は、ＰＰＳ内の候補参照ピクチャセットを識別するシンタックス要素である。１つの説明のための例として、５つの参照ピクチャ候補がある場合があり、各候補は１０個の参照ピクチャを含み得る。「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」シンタックス要素の値は、この例では、５つの候補のうちの１つを指し得る。
【００４６】
候補の各々の中の参照ピクチャは、ピクチャのデルタＰＯＣ値によって順序付けることができる。ＰＯＣ値はピクチャの出力順を示し、デルタＰＯＣ値は、現在のピクチャのＰＯＣ値と参照ピクチャのＰＯＣ値との間の差分であり得る。一例として、１つの候補セット中の１０個の参照ピクチャが−５〜−１および１〜５のデルタＰＯＣ値を有し得るが、他の値も可能である。この例では、−５のデルタＰＯＣ値は、参照ピクチャのＰＯＣ値から現在のピクチャのＰＯＣ値を減算すると−５になることを意味する。ＰＯＣ値が出力順を示すので、負のデルタＰＯＣ値は、参照ピクチャが現在のピクチャよりも早く出力される（たとえば、表示される）ことを示すことができ、正のデルタＰＯＣ値は、参照ピクチャが現在のピクチャの後で出力されることを示すことができる。
【００４７】
ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０シンタックス要素の値は、現在のピクチャよりも出力順が早い何個の参照ピクチャが、識別された候補から削除されるべきかを示す。ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１シンタックス要素の値は、現在のピクチャよりも出力順が遅い何個の参照ピクチャが、識別された候補セットから削除されるべきかを示す。いくつかの例において、ビデオデコーダが削除するピクチャは、現在のピクチャから出力順が最も離れているものである。
【００４８】
たとえば、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０およびｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１の値が両方とも２に等しいと仮定する。この例において、ビデオデコーダは、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ値によって識別される候補の参照ピクチャから、２つのピクチャを削除してよい。前述の例では、参照ピクチャは、−５〜−１および１〜５のデルタＰＯＣ値に対応する参照ピクチャであり得る。この例では、ビデオデコーダは、−５〜−１のデルタＰＯＣ値をもつ参照ピクチャに対応する、参照ピクチャのうちの２つと、１〜５のデルタＰＯＣ値をもつ参照ピクチャに対応する、参照ピクチャのうちの２つとを削除してよい。さらに、いくつかの事例において、ビデオデコーダが削除する参照ピクチャは、−５、−４、４、および５のデルタＰＯＣ値に対応する参照ピクチャであってよく、というのはこれらの参照ピクチャが、出力順において現在のピクチャから最も離れている参照ピクチャであるからである。
【００４９】
したがって、この例では、ビデオデコーダは、ＰＰＳ内の識別された候補中の参照ピクチャのうちの６つを、ビデオデコーダが使うべきであると判断することができる。具体的には、この例では、参照ピクチャは、−３〜−１および１〜３のデルタＰＯＣ値に対応するものになる。
【００５０】
ビデオデコーダは次いで、スライスのスライスヘッダから、参照ピクチャセットの残りのピクチャを識別すればよい。ただし、ビデオデコーダが参照ピクチャセットを並べ替える必要がなくてよいことを確実にするために、どの参照ピクチャがスライスヘッダに含まれ得るかに対して、いくつかの制限が課され得る。
【００５１】
いくつかの例において、スライスヘッダ中で識別される参照ピクチャは、ＰＰＳ中で識別される参照ピクチャのうちのどれよりも、距離において、出力順において離れていなければならない。たとえば、前の例に沿うと、−６または＋６のデルタＰＯＣ値をもつ参照ピクチャは、ＰＰＳ中の参照ピクチャのうちのどれよりも離れているので、スライスヘッダに含まれ得る参照ピクチャとして適格であり得る。
【００５２】
ビデオデコーダは次いで、参照ピクチャセットを、２つのサブセットの組合せとして構成することができる。第１のサブセットは、現在のピクチャに時間的に先立って出現する参照ピクチャを含むことができ、第２のサブセットは、時間的に現在のピクチャの後に続いて出現する参照ピクチャを含むことができる。ビデオデコーダは、第１のサブセットの参照ピクチャを、ＰＰＳ中においてデルタＰＯＣ値で識別される、現在のピクチャに最も近い参照ピクチャから始まり、スライスヘッダ中においてデルタＰＯＣ値で識別される、現在のピクチャから最も離れた参照ピクチャまでの降ＰＯＣ順で順序付ければよい。ビデオデコーダは、第２のサブセット中の参照ピクチャを、ＰＰＳ中においてデルタＰＯＣ値で識別される、現在のピクチャに最も近い参照ピクチャから始まり、スライスヘッダ中においてデルタＰＯＣ値で識別される、現在のピクチャから最も離れた参照ピクチャまでの昇ＰＯＣ順で順序付ければよい。このように、ビデオデコーダは、ビデオデコーダが初期参照ピクチャリストを構成するとき、ビデオデコーダが参照ピクチャセットを並べ替える必要がなくてよいように、参照ピクチャセットを構成することができる。
【００５３】
図１は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。概して、参照ピクチャセットは、あるピクチャに関連付けられた１組の参照ピクチャとして定義される。参照ピクチャセットは、復号順で関連ピクチャに先立ち、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャ中のインター予測に使うことができる、すべての参照ピクチャからなる。いくつかの例では、関連ピクチャに先立つ参照ピクチャは、次の瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、またはリンク切断アクセス（ＢＬＡ）ピクチャまでの参照ピクチャであり得る。言い換えると、参照ピクチャセット中の参照ピクチャはすべて、現在のピクチャに復号順で先立ち得る。また、参照ピクチャセット中の参照ピクチャは、現在のピクチャをインター予測し、かつ／または次のＩＤＲピクチャまたはＢＬＡピクチャまでの、現在のピクチャに復号順で続くどのピクチャもインター予測するために使うことができる。
【００５４】
参照ピクチャセットの他の代替定義もあってよい。たとえば、参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができるとともに、ｔｅｍｐｏｒａｌ＿ｉｄが関連ピクチャ以下である、関連ピクチャ自体を除くすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャであってよい。ｔｅｍｐｏｒａｌ＿ｉｄは、時間的識別値であり得る。時間的識別値は、現在のピクチャをコーディングするために、どのピクチャを使うことができるかを示す階層的値であってよい。概して、特定のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、それ以上のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、逆は成り立たない。たとえば、１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、１、２、３、．．．のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、０のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャにはなり得ない。
【００５５】
最も低いｔｅｍｐｏｒａｌ＿ｉｄ値は、最も低い表示レートも示し得る。たとえば、ビデオデコーダが、０のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒７．５個のピクチャになり得る。ビデオデコーダが、０および１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒１５個のピクチャになり得、以下同様である。
【００５６】
別の例として、参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができる、関連ピクチャ自体を除くすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャであってよい。さらに別の例として、参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができる、関連ピクチャ自体を含み得るすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャと定義され得る。別の例として、参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができるとともに、関連ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下のｔｅｍｐｏｒａｌ＿ｉｄをもつ、関連ピクチャ自体を含み得るすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャとして定義され得る。
【００５７】
さらに別の例として、参照ピクチャセットの上記定義において、「インター予測に使うことができる」というフレーズは、「インター予測に使われる」で置き換えられる。参照ピクチャセットの代替定義があり得るが、本開示では、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャ中のインター予測に使うことができる、復号順で関連ピクチャに先立つすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャである参照ピクチャセットの定義で、例を説明する。
【００５８】
たとえば、参照ピクチャセット中の参照ピクチャのいくつかは、復号順で現在のピクチャに続くピクチャではなく、現在のピクチャのブロックをインター予測するのに使われる可能性があり得る参照ピクチャである。参照ピクチャセット中の参照ピクチャのいくつかは、現在のピクチャのブロックであって、復号順で現在のピクチャに続く１つまたは複数のピクチャ中のブロックをインター予測するのに使われる可能性があり得る参照ピクチャである。参照ピクチャセット中の参照ピクチャのいくつかは、復号順で現在のピクチャに続く１つまたは複数のピクチャ中のブロックをインター予測するのに使われる可能性があり得るとともに、現在のピクチャ中のブロックをインター予測するのに使うことができない参照ピクチャである。
【００５９】
本開示において使われるように、インター予測に使われる可能性があり得る参照ピクチャは、インター予測に使うことはできるが、必ずしもインター予測に使われなくてもよい参照ピクチャを指す。たとえば、参照ピクチャセットは、インター予測に使われる可能性があり得る参照ピクチャを識別することができる。ただし、このことは、識別された参照ピクチャがすべて、インター予測に使われなければならないことを意味するわけではない。そうではなく、これらの識別された参照ピクチャのうちの１つまたは複数が、インター予測に使われてよいが、すべてが必ずしもインター予測に使われなくてもよい。
【００６０】
図１に示すように、システム１０は、宛先デバイス１４による復号のために符号化ビデオを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、それぞれビデオコーディングデバイスの一例であり得る。ソースデバイス１２は、通信チャネル１６を介して宛先デバイス１４に符号化ビデオを送信するか、あるいは、必要に応じて符号化ビデオが宛先デバイス１４によってアクセスされ得るように記憶媒体１７またはファイルサーバ１９に符号化ビデオを記憶し得る。
【００６１】
ソースデバイス１２および宛先デバイス１４は、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどのワイヤレスハンドセット、またはワイヤレス通信のために装備される他のそのようなワイヤレスデバイスを含む、広範なデバイスのうちのどれを備えてもよい。ソースデバイス１２および宛先デバイス１４の追加例は、デジタルテレビ、デジタルダイレクトブロードキャストシステムにおけるデバイス、ワイヤレスブロードキャストシステムにおけるデバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、ｅブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー無線電話、衛星無線電話、テレビ会議デバイス、およびビデオストリーミングデバイス、ワイヤレス通信デバイスなどを含むが、それに限定されない。
【００６２】
上記のように、多くの場合、ソースデバイス１２および／または宛先デバイス１４は、ワイヤレス通信のために装備され得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ１９は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。
【００６３】
ただし、本開示の技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、単方向または二方向のビデオ送信をサポートするように構成され得る。
【００６４】
図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、出力インターフェース２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはテレビ電話を形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００６５】
キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオはビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、出力インターフェース２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。出力インターフェース２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００６６】
ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体１７またはファイルサーバ１９に記憶され得る。記憶媒体１７は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための他の好適なデジタル記憶媒体を含み得る。記憶媒体１７に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００６７】
ファイルサーバ１９は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ１９からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ１９は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、または両方の組合せを含み得る。
【００６８】
宛先デバイス１４は、図１の例では、入力インターフェース２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の入力インターフェース２６は、一例として、チャネル１６を介して、または代替例として、記憶媒体１７もしくはファイルサーバ１７から情報を受信し、モデム２８は、情報を復調して、ビデオデコーダ３０向けの復調ビットストリームを生じる。復調されたビットストリームは、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体１７またはファイルサーバ１９に記憶された符号化ビデオデータに含まれ得る。一例として、シンタックスは符号化ビデオデータで埋め込まれ得るが、本開示の態様はそのような要件に限定されると考えられるべきでない。ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されたシンタックス情報は、コーディングツリーユニット（ＣＴＵ）、コーディングツリーブロック（ＣＴＢ）、予測ユニット（ＰＵ：prediction unit）、コーディングユニット（ＣＵ）またはコーディングされたビデオの他のユニット、たとえば、ビデオスライス、ビデオピクチャ、およびビデオシーケンスまたはピクチャのグループ（ＧＯＰ：group of pictures）などのビデオブロックの特性および／または処理を記述するシンタックス要素を含み得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００６９】
ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００７０】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースのネットワークの一部を形成することができる。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を支援するのに有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００７１】
ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびにスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含むＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られている）などのビデオ圧縮規格に従って動作し得る。さらに、上で参照したように、ビデオエンコーダ２０およびビデオエンコーダ３０は、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって現在開発中の新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）規格に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。単に例示のために、本技法は、ＨＥＶＣ規格に従って説明される。
【００７２】
図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００７３】
ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、マイクロプロセッサを含む１つまたは複数のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法がソフトウェアで部分的に実施されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実施し得る。
【００７４】
ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。いくつかの事例では、ビデオエンコーダ２０およびビデオデコーダ３０は、情報（たとえば、ピクチャおよびシンタックス要素）をコーディングするビデオコーダと通常呼ばれ得る。ビデオコーダがビデオエンコーダ２０に対応するとき、情報のコーディングは符号化を指し得る。ビデオコーダがビデオデコーダ３０に対応するとき、情報のコーディングは復号を指し得る。
【００７５】
さらに、本開示で説明する技法は、情報をシグナリングするビデオエンコーダ２０を指し得る。ビデオエンコーダ２０が情報をシグナリングするとき、本開示の技法は、概して、ビデオエンコーダ２０が情報を提供する任意の方法を指す。たとえば、ビデオエンコーダ２０がビデオデコーダ３０にシンタックス要素をシグナリングするとき、それは、ビデオエンコーダ２０が出力インターフェース２４および通信チャネル１６を介してビデオデコーダ３０にシンタックス要素を送信したこと、あるいはビデオエンコーダ２０がビデオデコーダ３０による最終的な受信のために記憶媒体１７および／またはファイルサーバ１９上に出力インターフェース２４を介してシンタックス要素を記憶したことを意味し得る。このように、ビデオエンコーダ２０からビデオデコーダ３０へのシグナリングは、ビデオデコーダ３０によって直ちに受信されるビデオエンコーダ２０からの送信が、可能ではあり得るが、必要とされると解釈されるべきでない。そうではなく、ビデオエンコーダ２０からビデオデコーダ３０へのシグナリングは、直接あるいは（たとえば、記憶媒体１７および／またはファイルサーバ１９内の）中間記憶装置を介して、ビデオエンコーダ２０がビデオデコーダ３０による最終的な受信についての情報を提供するためのいずれの技法としても解釈されるべきである。
【００７６】
ビデオエンコーダ２０およびビデオデコーダ３０は、参照ピクチャセットを導出するための、本開示に記載する例示的技法を実装するように構成すればよい。たとえば、ビデオデコーダ３０は、ピクチャごとに一度、参照ピクチャセットを導出するためのプロセスを呼び出すことができる。ビデオデコーダ３０は、スライスヘッダの復号の後で、ただしどのコーディングユニットの復号にも先立って、およびスライスの参照ピクチャリスト構成のための復号プロセスに先立って、参照ピクチャセットを導出するためのプロセスを呼び出すことができる。
【００７７】
上述したように、参照ピクチャセットは、現在のピクチャおよび次の瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、またはリンク切断アクセス（ＢＬＡ）ピクチャまでの、復号順において今後のコード化ピクチャの復号プロセスにおいて使われる参照ピクチャの絶対記述である。本開示に記載する例において、ビデオエンコーダ２０は、参照ピクチャセットに属す参照ピクチャ用の識別子をビデオデコーダ３０がそこから判断することができる値を明示的にシグナリングすることができる。参照ピクチャセットシグナリングは、参照ピクチャセットに含まれるすべての参照ピクチャが、ＩＤＲピクチャなどのいくつかのピクチャを除いて明示的にリストされるという意味で、明示的である。参照ピクチャセットシンタックス要素がスライスヘッダに含まれない場合は、参照ピクチャセットが空であると解釈される。
【００７８】
参照ピクチャセットを導出するためにビデオデコーダ３０が使用することができるコード化ビットストリーム中で、ビデオエンコーダ２０がシンタックス要素をシグナリングすることができる様々なやり方があり得る。たとえば、ビデオエンコーダ２０は、シンタックス要素を、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャヘッダ（あれば）、スライスヘッダ、またはそれらのどの組合せに入れてシグナリングしてもよい。説明のためにのみ、ビデオエンコーダ２０は、より詳しく説明したように、ＳＰＳと、ＰＰＳと、スライスヘッダとを使って、シンタックス要素をシグナリングすることができる。本開示の技法は、ピクチャパラメータセットなどのパラメータセット中でどの参照ピクチャがシグナリングされるべきかと、ビデオデコーダが参照ピクチャセットを構成するとき、ビデオデータのスライス用の初期参照ピクチャリストを構成するために参照ピクチャセットを並べ替える必要がないように、スライスヘッダ中でどの参照ピクチャがシグナリングされるべきかと、を選択することを対象とする。
【００７９】
参照ピクチャセットを導出するために、ビデオデコーダ３０は、参照ピクチャセットに属すピクチャ用の識別子を判断するための復号プロセスを実装すればよい。ビデオデコーダ３０は次いで、複数の参照ピクチャサブセットを構成することができ、サブセットの各々は、参照ピクチャセットに属す参照ピクチャのうちのゼロ個以上のピクチャを識別する。ビデオデコーダ３０は、企図される参照ピクチャサブセットから参照ピクチャセットを導出することができる。たとえば、ビデオデコーダ３０は、複数の参照ピクチャサブセットを特定の順序でリストして、参照ピクチャセットを導出することができる。
【００８０】
参照ピクチャセットに属すピクチャ用の識別子をビデオデコーダ３０が判断することができる、様々なやり方があり得る。概して、ビデオエンコーダ２０は、参照ピクチャセットに属すピクチャを含むピクチャ用の識別子を、ビデオデコーダ３０がそこから判断することができる値をシグナリングすることができる。ピクチャの識別子は、ＰｉｃＯｒｄｅｒＣｎｔ（すなわち、ピクチャオーダーカウント（ＰＯＣ）値）であり得る。上述したように、ＰＯＣ値は、ピクチャの表示または出力順を示すことができ、より小さいＰＯＣ値をもつピクチャが、より大きいＰＯＣ値をもつピクチャよりも早く表示される。所与のピクチャのＰＯＣ値は、前の瞬時復号リフレッシュ（ＩＤＲ）ピクチャに相対し得る。たとえば、ＩＤＲピクチャについてのＰｉｃＯｒｄｅｒＣｎｔ（すなわち、ＰＯＣ値）は０であってよく、表示または出力順でＩＤＲピクチャの後のピクチャについてのＰＯＣ値は１であってよく、表示または出力順において、ＰＯＣ値１をもつピクチャの後のＰＯＣ値は２であってよく、以下同様に続く。
【００８１】
本開示に記載する技法によると、現在のピクチャがＩＤＲピクチャでないとき、現在のピクチャのＰＯＣ値を導出するために、以下のことが適用され得る。以下は、理解を助けることを意図しており、限定的と見なされるべきではない。
【００８２】
たとえば、以下のすべてを含むピクチャのリストに関連付けられたＰｉｃＯｒｄｅｒＣｎｔ値（ＰＯＣ値）を要素として含むリスト変数ｌｉｓｔＤについて検討する。すなわち、（１）リスト中の最初のピクチャが、復号順において前のＩＤＲピクチャであり、（２）他のすべてのピクチャが、復号順において、リスト中の最初のピクチャの後に続き、現在のピクチャに復号順において先行するか、または現在のピクチャである。この例では、現在のピクチャは、参照ピクチャセットのための導出プロセスの呼出しに先立って、ｌｉｓｔＤに含まれている。また、ＰＯＣ値の昇順にソートされるｌｉｓｔＤという要素を含むリスト変数ｌｉｓｔＯについて検討する。この例では、ｌｉｓｔＯは、別のピクチャのＰＯＣ値に等しい値をもつＰＯＣ値を含まなくてもよい。
【００８３】
いくつかの例では、ＰＯＣ値は、両端値を含む−２pocLen-1〜２pocLen-1−１の範囲に制限され得る。この例では、ｐｏｃＬｅｎは、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ＋ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ、およびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４は、後でより詳しく説明するように、ピクチャパラメータセットシンタックスの一部としてビデオデコーダ３０がコード化ビットストリーム中で受信するシンタックス要素であり得る。別の例として、ＰＯＣ値は、両端値を含む−２31〜２31−１の範囲に制限され得る。
【００８４】
一例として、ビデオデコーダ３０は、コード化ビットストリーム（すなわち、ビデオエンコーダ２０によってシグナリングされるビットストリーム）中で、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素を受信することができる。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素は、コード化ピクチャについてのピクチャオーダーカウントモジュロＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂを指定し得る。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素の長さは、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４＋４ビットであり得る。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂの値は、両端値を含む０〜ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ−１の範囲内であり得る。ビデオデコーダ３０は、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素を、復号されるべき現在のピクチャについてのスライスヘッダシンタックス中で受信することができる。
【００８５】
ビデオデコーダ３０はまた、ビデオエンコーダ２０によってシグナリングされるコード化ビットストリーム中で、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素を受信することができる。ビデオデコーダ３０は、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素を、シーケンスパラメータセット中で受信することができる。ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕ４の値は、両端値を含む０〜１２の範囲内であり得る。ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素は、ビデオデコーダ３０がＰＯＣ値を判断するための復号プロセスにおいて使う変数ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値を指定し得る。たとえば、以下のようになる。
【数１】
0005972984.tif 000002
【００８６】
これらの受信シンタックス要素から、ビデオデコーダ３０は、現在のピクチャのＰＯＣ値を次のように判断することができる。たとえば、ビデオデコーダ３０は、現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂを判断することができる。現在のピクチャについてのＰＯＣ値は、現在のピクチャについての判断されたＰｉｃＯｒｄｅｒＣｎｔＭｓｂに、現在のピクチャについての受信されたｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂをプラスしたものとなり得る。
【００８７】
以下で、関数ＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ）は、ピクチャＸについてのＰＯＣ値に等しい。関数ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＡ，ｐｉｃＢ）は、ＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＡ）からＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＢ）を引いたものに等しい。いくつかの例では、コード化ビットストリームは、両端値を含む−２15〜２15−１の範囲を超える、復号プロセスにおいて使われるＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＡ，ｐｉｃＢ）の値を生じるデータを含まなくてよい。さらに、Ｘを現在のピクチャとし、ＹおよびＺを同じシーケンス中の２つの他のピクチャとし、ここでＹおよびＺは、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（Ｘ，Ｙ）とＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（Ｘ，Ｚ）の両方が正であり、または両方が負であるとき、Ｘからの同じ出力順方向であると見なされる。また、いくつかの例では、ビデオエンコーダ２０は、前のＩＤＲピクチャのサンプリング時間に相対した、対応するピクチャのサンプリング時間に比例するＰｉｃＯｒｄｅｒＣｎｔを割り当てることができる。
【００８８】
現在のピクチャについてのＰＯＣ値を判断するプロセスの一部として、ビデオデコーダ３０は、変数ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂおよびｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂを判断すればよい。たとえば、現在のピクチャがＩＤＲピクチャである場合、ビデオデコーダ３０は、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂを０に等しく設定し、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂを０に等しく設定すればよい。そうでない場合（すなわち、現在のピクチャがＩＤＲピクチャでない場合）、ビデオデコーダ３０は、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂを、現在のピクチャ以下のｔｅｍｐｏｒａｌ＿ｉｄをもつ、復号順において前の参照ピクチャのＰｉｃＯｒｄｅｒＣｎｔＭｓｂに等しく設定し、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂを、現在のピクチャ以下のｔｅｍｐｏｒａｌ＿ｉｄをもつ、復号順において前の参照ピクチャのｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂの値に等しく設定すればよい。
【００８９】
これらの変数値およびシンタックス要素の値（たとえば、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂ、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂ、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ、およびＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値）を用いて、ビデオデコーダ３０は、ＰｉｃＯｒｄｅｒＣｎｔＭｓｂの値を、以下の擬似コードに記述するステップに基づいて判断することができる。ビデオデコーダ３０は、以下の擬似コードに記述するステップを実装して、現在のピクチャのＰＯＣ値を導出するのに使われる、各現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂを判断し得ることを理解されたい。
【数２】
0005972984.tif 000003
【００９０】
現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂを判断した後、ビデオデコーダ３０は、現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂおよび現在のピクチャについてのｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂに基づいて、現在のピクチャについてのＰＯＣ値を判断することができる。ビデオデコーダ３０は、現在のピクチャについてのＰＯＣ値を次のように判断することができる。
【数３】
0005972984.tif 000004
【００９１】
ピクチャの復号の後、ビデオデコーダ３０は、参照ピクチャセットに属す参照ピクチャの各々を含む、そのピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂ値と、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ値と、ＰＯＣ値とを、ビデオデコーダ３０の復号ピクチャバッファ（ＤＰＢ）に記憶してよい。このように、ＤＰＢ中の各ピクチャは、ＰＯＣ値、ＰｉｃＯｒｄｅｒＣｎｔＭｓｂ値、およびｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ値に関連付けられる。
【００９２】
現在のピクチャの参照ピクチャセットに含まれる参照ピクチャのＰＯＣ値を判断するための方法について、以下でより詳しく説明する。判断されたＰＯＣ値から、ビデオデコーダ３０は、参照ピクチャセットのための導出プロセスを実施することができる。ただし、ビデオデコーダ３０が参照ピクチャセットのための導出プロセスを実施するやり方を説明するのに先立って、ビデオエンコーダ２０によってシグナリングされるコード化ビットストリーム中でビデオデコーダ３０が受信することができるシンタックス要素のテーブルを、以下に挙げる。たとえば、ビデオエンコーダ２０は、以下のテーブル中のシンタックス要素を、ビデオデコーダ３０が受信するコード化ビットストリームに入れてシグナリングすることができる。これらのシンタックス要素のうちのいくつかについては、上で述べた。これらのシンタックス要素から、ビデオデコーダ３０は、参照ピクチャセットに含まれる参照ピクチャのＰＯＣ値を判断し、さらに参照ピクチャセットを導出することができる。
【００９３】
たとえば、本開示に記載する技法では、シーケンスパラメータセット（ＳＰＳ）未加工バイトシーケンスペイロード（ＲＢＳＰ）シンタックス、すなわちｓｅｑ＿ｐａｒａｍａｔｅｒ＿ｓｅｔ＿ｒｂｓｑ（）、ピクチャパラメータセット（ＰＰＳ）ＲＢＳＰシンタックス、すなわちｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｒｂｓｐ（）、スライスヘッダシンタックス、すなわちｓｌｉｃｅ＿ｈｅａｄｅｒ（）、および参照ピクチャリスト修正シンタックス、すなわちｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ（）というシンタックス構造が、前のビデオコーディング規格に対して修正される。参照ピクチャセットの導出、および１つまたは複数の参照ピクチャリストの初期化の説明に続いて、参照ピクチャリスト修正について、より詳しく説明する。
【００９４】
また、本開示に記載する技法によると、短期参照ピクチャセットシンタックス、すなわちｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）、および長期参照ピクチャセットシンタックス、すなわちｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）というシンタックス構造が、コード化ビットストリームに追加される。ビデオデコーダ３０は、参照ピクチャサブセットを構成する目的で、短期参照ピクチャセットシンタックスと、長期参照ピクチャセットシンタックスとを使用することができ、参照ピクチャサブセットから、ビデオデコーダ３０は参照ピクチャセットを導出する。
【００９５】
たとえば、ビデオデコーダ３０が、参照ピクチャセットに属す参照ピクチャについてのＰＯＣ値を判断するために、ビデオエンコーダ２０は参照ピクチャ識別情報をシグナリングすればよく、ビデオデコーダ３０はこの情報を使って、ピクチャパラメータセット中のＰＯＣ値を判断し、リストに対する索引がスライスヘッダ中で参照され得る。ただし、これは、ビデオエンコーダ２０がそのような参照ピクチャ識別情報をシグナリングすることができる１つの例示的やり方である。
【００９６】
ある代替例では、ビデオエンコーダ２０は、参照ピクチャ情報をシーケンスパラメータセットに入れてシグナリングすることができ、リストに対する索引はスライスヘッダ中で参照することができ、そうすることによってシグナリングオーバーヘッドを削減することができる。別の代替例では、ビデオコーダは、参照ピクチャ情報を、新しいタイプのパラメータセット（たとえば、参照ピクチャセットパラメータセット（ＲＰＳＰＳ））に入れてシグナリングすることができ、ＲＰＳＰＳ  ｉｄならびに参照ピクチャ識別情報のリストに対する索引は両方とも、スライスヘッダ中で参照され得る。こうすることにより、シグナリングオーバーヘッドを削減することができ、かつピクチャパラメータセットまたはシーケンスパラメータセットの数の必要が増大されることはない。他の例では、ビデオエンコーダ２０は、参照ピクチャ識別情報をシグナリングするのに、これらの例示的技法のどのような組合せを使用してもよい。
【００９７】
以下のテーブル１はＳＰＳ  ＲＢＳＰシンタックスの例を示す。
【表１】
0005972984.tif 000005
【００９８】
ｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓは、ルーマサンプル中の各復号ピクチャの幅を指定し得る。ｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓの値は、両端値を含む０〜２16−１の範囲内であり得る。
【００９９】
ｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓは、ルーマサンプル中の各復号ピクチャの高さを指定し得る。ｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓの値は、両端値を含む０〜２16−１の範囲内であり得る。
【０１００】
テーブル１に示されるように、ビデオデコーダ３０は、シーケンスパラメータセット（ＳＰＳ）中で、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素を受信することができる。上述したように、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕ４の値は、ＰＯＣ値を判断するための復号プロセスにおいてビデオデコーダ３０が使う変数ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値を指定することができ、ここでＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＝２(log2_max_pic_order_cnt_lsb_minus4+4)である。
【０１０１】
以下のテーブル２はＰＰＳ  ＲＢＳＰシンタックスの例を示す。
【表２】
0005972984.tif 000006
【０１０２】
シンタックス要素「ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ＿ｐｐｓ」は、ピクチャパラメータセットに含まれるｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造の数を指定する。シンタックス要素「ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ＿ｐｐｓ」の値は、両端値を含む０〜３２の範囲であり得る。
【０１０３】
０に等しいｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、ピクチャパラメータセットを参照するどのコード化ピクチャのインター予測にも、長期参照ピクチャが使われず、シンタックス要素ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓが存在しないことを指定する。１に等しいｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、ピクチャパラメータセットを参照する１つまたは複数のコード化ピクチャのインター予測に長期参照ピクチャを使うことができ、シンタックス要素ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓが存在することを指定する。
【０１０４】
ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４に４を加えたものは、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ａｄｄ＿ｆｏｌｌ［ｉ］シンタックス要素のビット長を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４の値は、両端値を含む０〜１２の範囲内であり得る。
【０１０５】
ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａプラスｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４プラス４は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素のビット長を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａの値は、両端値を含む０〜２８−ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４の範囲内であり得る。１つの特定のシーケンスパラメータセットを参照するすべてのピクチャパラメータセット中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ＋ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４＋４の値は、同一であり得る。
【０１０６】
ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓは、ピクチャパラメータセットに含まれる長期参照ピクチャの識別の数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓの値は、両端値を含む０〜３２の範囲内であり得る。
【０１０７】
ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］は、ピクチャパラメータセットに含まれる第ｉの長期参照ピクチャ識別情報を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］を表すのに使われるビットの数は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ＋ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。
【０１０８】
以下のテーブル３は短期参照ピクチャセットシンタックスを示す。
【表３】
0005972984.tif 000007
【０１０９】
短期参照ピクチャセットシンタックスは、短期ピクチャ用であり得る。短期ピクチャは、それについての識別情報がコード化ピクチャ用のｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造に含まれ、スライスヘッダ（１つもしくは複数）に含まれるか、または参照されるピクチャパラメータセットおよびスライスヘッダ（１つまたは複数）中のｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘシンタックス要素による参照に含まれる参照ピクチャとして定義され得る。スライスヘッダシンタックス要素を、以下のテーブル４に挙げる。
【０１１０】
ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０１１１】
ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０の範囲内であり得る。
【０１１２】
ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ０は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ０の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１の範囲内であり得る。
【０１１３】
ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ１は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ１の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ０の範囲内であり得る。
【０１１４】
ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｍｉｎｕｓ１［ｉ］は、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造に含まれる第ｉの短期参照ピクチャの識別情報を指定する。
【０１１５】
以下のテーブル４はスライスヘッダシンタックスの例を示す。
【表４−１】
0005972984.tif 000008
【表４−２】
0005972984.tif 000009
【０１１６】
ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇは、ＩＤＲピクチャの復号の後で復号ピクチャバッファ中のあらかじめ復号されたピクチャがどのように扱われるかを指定する。ＩＤＲピクチャがビットストリーム中の最初のＩＤＲピクチャであるとき、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇの値は、復号プロセスに影響する可能性はない。ＩＤＲピクチャがビットストリーム中の最初のＩＤＲピクチャではなく、アクティブシーケンスパラメータセットから導出されたｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇの値が、先行ピクチャについてのアクティブなシーケンスパラメータセットから導出されたｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇの値とは異なり得るとき、１に等しいｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇは、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇの実効値にかかわらず、デコーダによって推論することができるが、必ずしも推論できるわけではない。
【０１１７】
１に等しいｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｐｐｓ＿ｆｌａｇは、現在のピクチャ用の参照ピクチャセットに含まれる短期参照ピクチャセットの識別情報が、参照されるピクチャパラメータセットに存在することを指定する。０に等しいｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｐｐｓ＿ｆｌａｇは、現在のピクチャ用の参照ピクチャセットに含まれる短期参照ピクチャセットの識別情報が、参照されるピクチャパラメータセットに存在しないことを指定する。
【０１１８】
ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘは、現在のピクチャ用の参照ピクチャセット中の短期参照ピクチャセットの識別情報を含む、参照されるピクチャパラメータセットに含まれる、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造の索引を指定する。
【０１１９】
変数ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０およびＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１は、次のように指定される。
【数４】
0005972984.tif 000010
【０１２０】
上式で、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０およびｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０は、それぞれ、参照されるピクチャパラメータセットに存在し、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘによって参照されるか、またはスライスヘッダに直接存在する、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造中の同じ名称のシンタックス要素である。
【０１２１】
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、スライスを復号するのに使うことができる参照ピクチャリスト０についての最大参照索引を指定する。
【０１２２】
現在のスライスがＰまたはＢスライスであり、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が存在しないとき、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ｄｅｆａｕｌｔ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に等しいと推論され得る。
【０１２３】
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、両端値を含む０〜１５の範囲内であり得る。
【０１２４】
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、スライスを復号するのに使うことができる参照ピクチャリスト１についての最大参照索引を指定する。
【０１２５】
現在のスライスがＰまたはＢスライスであり、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が存在しないとき、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ｄｅｆａｕｌｔ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に等しいと推論され得る。
【０１２６】
ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、両端値を含む０〜１５の範囲内であり得る。以下のテーブル５は長期参照ピクチャシンタックスの例を示す。
【表５】
0005972984.tif 000011
【０１２７】
長期参照ピクチャセットシンタックスは、長期ピクチャ用であり得る。長期ピクチャは、コード化ピクチャ用のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造に、それについての識別情報が含まれる参照ピクチャとして定義され得る。
【０１２８】
ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒは、参照されるピクチャパラメータセットに識別情報が含まれるとともに現在のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０１２９】
ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒは、参照されるピクチャパラメータセットに識別情報が含まれないとともに現在のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒの範囲内であり得る。
【０１３０】
変数ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒは、次のように指定される。
【０１３１】
ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒ＝ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒ＋ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒ
ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌは、参照されるピクチャパラメータセットに識別情報が含まれ、現在のピクチャのインター予測に使われず、復号順で現在のピクチャに続くピクチャのうちのどのピクチャのインター予測にも使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０１３２】
ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌは、参照されるピクチャパラメータセットに識別情報が含まれず、現在のピクチャのインター予測に使われず、復号順で後に続くピクチャのうちのどのピクチャのインター予測にも使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌの範囲内であり得る。
【０１３３】
ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］は、参照されるピクチャパラメータセットから現在のピクチャの参照ピクチャセットに継承される第ｉの長期参照ピクチャの、参照されるピクチャパラメータセットに含まれる長期参照ピクチャ識別情報のリストに対する索引を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］の値は、両端値を含む０〜３１の範囲内であり得る。
【０１３４】
ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ａｄｄ［ｉ］は、参照されるピクチャパラメータセットから継承されないが、現在のピクチャの参照ピクチャセットに含まれる第ｉの長期参照ピクチャの長期参照ピクチャ識別情報を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ａｄｄ＿ｃｕｒｒ［ｉ］を表すのに使われるビットの数は、ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。
【０１３５】
上記シグナリングされたまたは導出された値（すなわち、テーブル１〜５中の値）を用いて、ビデオデコーダ３０は、参照ピクチャセットを導出することができる。上述したように、導出された参照ピクチャセットは、現在のピクチャ（すなわち、現在復号中のピクチャ）と、現在のピクチャに復号順において続くピクチャとをコーディング／予測するのに使われる可能性があり得る参照ピクチャを識別することができる。本開示に記載する技法によると、導出された参照ピクチャセット中の参照ピクチャすべての復号順は、現在のピクチャの復号順よりも早い。
【０１３６】
導出プロセスは、複数の参照ピクチャサブセットから参照ピクチャセットを構成することを含み得る。このプロセスは、スライスヘッダの復号の後で、ただしどのコーディングユニットの復号にも先立って、およびスライスの参照ピクチャリスト構成のための復号プロセスに先立って、ピクチャごとに一度呼び出すことができる。たとえば、導出された値およびシグナリングされたシンタックス要素から、ビデオデコーダ３０は、参照ピクチャセットに属す参照ピクチャについてのＰＯＣ値を判断することができる。判断されたＰＯＣ値から、ビデオデコーダ３０は、参照ピクチャセットを共に形成する参照ピクチャサブセットを構成することができる。このように、参照ピクチャサブセットを構成することによって、ビデオデコーダ３０は、参照ピクチャセットを構成することができる。たとえば、ビデオデコーダ３０は、参照ピクチャサブセットを特定のやり方で並べて、参照ピクチャセットを導出することができる。順序付けは、ビデオデコーダ３０が参照ピクチャサブセットをリストして参照ピクチャセットを導出するやり方を指し得る。
【０１３７】
上述したように、参照ピクチャセットを導出するために、ビデオデコーダ３０は複数の参照ピクチャサブセットを構成してよい。いくつかの例では、ビデオデコーダ３０は６つの参照ピクチャサブセットを構成し得る。６つの参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌと名付けられ得る。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０はＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅと呼ばれることがあり、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１はＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒと呼ばれることがある。
【０１３８】
６つの参照ピクチャサブセットは、例示の目的で記載され、限定的と解釈されるべきでないことを理解されたい。一例として、ビデオデコーダ３０は、たとえば、サブセットのうちのいくつかを組み合わせることによって、６つの参照ピクチャサブセットよりも少ない参照ピクチャサブセットを構成してよい。ビデオデコーダ３０が６未満の参照ピクチャサブセットを構成するこれらの例のうちのいくつかについては、後で説明する。ただし、説明のために、ビデオデコーダ３０が６つの参照ピクチャサブセットを構成する例を用いて、本技法を記載する。
【０１３９】
ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、短期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、短期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるか、ならびに短期参照ピクチャが、現在のピクチャと、復号順で現在のピクチャに続くピクチャとをインター予測するために使われる可能性があり得るか、それとも復号順で現在のピクチャに続くピクチャのみをインター予測するために使われる可能性があり得るかに基づいて、短期参照ピクチャを識別することができる。
【０１４０】
たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早いとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの、ＰＯＣ値などの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が後であるとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【０１４１】
ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が遅く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【０１４２】
ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、長期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、長期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるかに基づいて、長期参照ピクチャを識別することができる。
【０１４３】
たとえば、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットは、現在のピクチャのインター予測において参照用に使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての長期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての長期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【０１４４】
復号されるべき現在のピクチャがＩＤＲピクチャである場合、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを空に設定してよい。というのは、ＩＤＲピクチャはインター予測することができず、復号順においてＩＤＲピクチャの後のピクチャは、参照用に復号する際に、ＩＤＲピクチャに先立つどのピクチャも使うことができないからであり得る。そうでない場合（たとえば、現在のピクチャが非ＩＤＲピクチャであるとき）、ビデオデコーダ３０は、以下の擬似コードを実装することによって、短期参照ピクチャサブセットと長期参照ピクチャサブセットとを構成することができる。
【０１４５】
たとえば、ビデオデコーダ３０が、スライスヘッダ中で、または参照されるピクチャパラメータセットへの参照によって、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造のインスタンスを復号するとき、ビデオデコーダ３０は、以下の擬似コードを実装して、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットを構成することができる。
【数５】
0005972984.tif 000012
【０１４６】
ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが０に等しいとビデオデコーダ３０が判断した場合、このケースに対しては長期参照ピクチャがないので、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒとＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌとを空に設定してよい。そうではなく、ビデオデコーダ３０がスライスヘッダ中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造のインスタンスを復号する場合、ビデオデコーダ３０は、以下の擬似コードを実装して、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを構成することができる。
【数６】
0005972984.tif 000013
【０１４７】
本開示に記載する技法によると、参照ピクチャが、コード化ピクチャの参照ピクチャセットの６つのサブセットのうちのいずれかに含まれる場合、ＰｉｃＯｒｄｅｒＣｎｔ（ＰＯＣ値）の特定の値をもつ参照ピクチャは、そのコード化ピクチャの参照ピクチャセットに含まれると言うことができる。ＰｉｃＯｒｄｅｒＣｎｔの特定の値をもつ参照ピクチャは、ＰｉｃＯｒｄｅｒＣｎｔ（ＰＯＣ値）のその特定の値が、そのサブセットに含まれるＰｉｃＯｒｄｅｒＣｎｔ値のうちの１つに等しい場合、参照ピクチャセットの特定のサブセットに含まれると言われる。
【０１４８】
参照ピクチャサブセットを構成した後、ビデオデコーダ３０は、参照ピクチャセットを導出することができる。たとえば、ビデオデコーダ３０は、参照ピクチャサブセットを並べて、参照ピクチャセットを導出することができる。一例として、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット、次いで、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットをリストすることができる。別の例として、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、次いで、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットをリストすることができる。
【０１４９】
ビデオデコーダ３０が参照ピクチャサブセットを並べるやり方での他の順列も、参照ピクチャセットを導出するために可能であり得る。いくつかの例では、参照ピクチャサブセットの構成と参照ピクチャセットの導出は組み合わせることができる。たとえば、参照ピクチャサブセットの構成の結果、自動的に、ビデオデコーダ３０が参照ピクチャセットを導出することになり得る。言い換えると、ビデオデコーダ３０は、参照ピクチャサブセットを構成し、参照ピクチャセットを導出するための異なるステップを実施する必要がなくなり得るが、ビデオデコーダ３０が最初に参照ピクチャサブセットを構成し、次いで、参照ピクチャセットを導出することも可能であり得る。
【０１５０】
また、本開示に記載する技法によると、上述したように参照ピクチャセットを構成した結果、ビデオデコーダ３０は、以下の制約を満たし得る。言い換えると、参照ピクチャサブセットのうちの１つの中で識別される参照ピクチャは、他の参照ピクチャサブセットのうちのいずれの中でも識別することはできない。言い換えると、参照ピクチャサブセットのうちの１つの中で識別される参照ピクチャは、他の参照ピクチャサブセットのうちのいずれの中でも識別することはできない。別の例として、導出された参照ピクチャセット中には、参照ピクチャセットを形成する参照ピクチャサブセットのうちのいずれかに含まれる現在のピクチャよりも大きいｔｅｍｐｏｒａｌ＿ｉｄをもつ参照ピクチャは存在し得ない。
【０１５１】
上述のように、時間的識別値（ｔｅｍｐｏｒａｌ＿ｉｄ）は、現在のピクチャをコーディング／予測するために、どのピクチャを使うことができるかを示す階層的値であってよい。概して、特定のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、それ以上のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、逆は成り立たない。たとえば、１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、１、２、３、．．．のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、０のｔｅｍｐｏｒａｌ＿ＩＤ値をもつピクチャ用の参照ピクチャにはなり得ない。
【０１５２】
最も低いｔｅｍｐｏｒａｌ＿ｉｄ値は、最も低い表示レートも示し得る。たとえば、ビデオデコーダ３０が、０のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒７．５個のピクチャになり得る。ビデオデコーダ３０が、０および１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒１５個のピクチャになり得、以下同様である。
【０１５３】
いくつかの例では、現在のピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみが、現在のピクチャの参照ピクチャセットに含まれ得る。上述したように、現在のピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみが、参照ピクチャとして使われ得る。したがって、より低いまたは等しいｔｅｍｐｏｒａｌ＿ｉｄ値をもつすべての参照ピクチャが、現在のピクチャによってインター予測に使うことができ、参照ピクチャセットに含めることができる。また、現在のピクチャよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値を有し、復号順で現在のピクチャに続くとともに現在のピクチャよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値を有するピクチャによって使われるべきであるいくつかの参照ピクチャは、参照ピクチャセットから除外される。
【０１５４】
これらの技法を用いて、参照ピクチャセットの導出のためのピクチャ識別に加え、ｔｅｍｐｏｒａｌ＿ｉｄのシグナリングが必要とされないので、参照ピクチャセットシグナリングはより効率的になる。たとえば、ビデオエンコーダ２０は、参照ピクチャセットに属す参照ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ値をシグナリングしなくてよく、ビデオデコーダ３０は、参照ピクチャセットを導出する目的で、参照ピクチャセットに属す参照ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ値を受信する必要がなくてよい。
【０１５５】
さらに、このようにして、構成された参照ピクチャサブセットは、現在のピクチャのものよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値をもつ参照ピクチャを識別することができる。たとえば、ビデオデコーダ３０は、参照ピクチャサブセットを構成し、参照ピクチャサブセットのうちのいずれかの中で識別された参照ピクチャが、現在のピクチャのものよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値をもたないようにすることが可能であってよく、これは、ビットストリーム一致が、ビデオエンコーダ２０によってシグナリングされるとともにビデオデコーダ３０によって受信されるビットストリームにｔｅｍｐｏｒａｌ＿ｉｄ値が含まれないことを要求し得るからである。このようにして、ビデオデコーダ３０は、参照ピクチャセットに属す参照ピクチャについての時間的識別値を受信することなく、参照ピクチャセットを導出することができる。
【０１５６】
上記例では、ビデオデコーダ３０は、６つの参照ピクチャサブセット、すなわち短期参照ピクチャ用に４つ（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１）と、長期参照ピクチャ用に２つ（すなわち、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ）とを構成することができる。ただし、本開示の態様はそのように限定されない。他の例では、これらの参照ピクチャサブセットのうちの２つ以上を組み合わせて１つの参照ピクチャサブセットにしてよく、その結果、ビデオデコーダ３０が構成するより少ない参照ピクチャサブセットが生じる。以下では、ビデオデコーダ３０がより少ない参照ピクチャサブセットを構成し得るいくつかの非限定的例について説明する。ビデオデコーダ３０がより少ない参照ピクチャサブセットを構成し得る他のやり方もあり得る。
【０１５７】
たとえば、いくつかの例では、現在のピクチャ用のサブセットと、復号順において以降のピクチャ用のサブセットの区別がない場合がある。したがって、ＲｅｆＰｉｃＳｅｔＳｔ０およびＲｅｆＰｉｃＳｅｔＳｔ１と呼ばれる、短期参照ピクチャ用の２つのサブセットがあってよく、ＲｅｆＰｉｃＳｅｔＬｔと呼ばれる、長期参照ピクチャ用のただ１つのサブセットがあってよい。この例では、ＲｅｆＰｉｃＳｅｔＳｔ０参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０が連結結果の始端である。この例では、ＲｅｆＰｉｃＳｅｔＳｔ１参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１とＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１が連結結果の始端である。ＲｅｆＰｉｃＳｅｔＬｔ参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒとＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌの連結であってよく、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒが連結結果の始端である。
【０１５８】
別の例として、現在のピクチャよりも早いまたは後の出力順をもつサブセットの区別がない場合がある。これは、短期参照ピクチャにのみ当てはまり得る。したがって、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌと呼ばれる、短期参照ピクチャ用の２つのサブセットがあり得る。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０とＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０が連結結果の始端である。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０とＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０が連結結果の始端である。
【０１５９】
別の例として、上で言及した両方のタイプの区別が適用されない場合がある。したがって、ＲｅｆＰｉｃＳｅｔＳｔと呼ばれる、短期参照ピクチャ用のただ１つのサブセット、およびＲｅｆＰｉｃＳｅｔＬｔと呼ばれる、長期参照ピクチャ用のただ１つのサブセットがあってよい。ＲｅｆＰｉｃＳｅｔＳｔ参照ピクチャサブセットは、リストされる順序（または他の任意の順序）でＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＬｔは上記と同じであり得る。
【０１６０】
上記技法は、ビデオデコーダ３０が参照ピクチャセットを導出することができる例示的やり方を説明する。符号化プロセス中、ビデオエンコーダ２０は、再構成プロセスと呼ばれるものにおいて、後続ピクチャを符号化する目的で、符号化ピクチャを復号する必要もあり得る。したがって、いくつかの例では、ビデオエンコーダ２０は、参照ピクチャセットを導出するようにも構成されてよい。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャセットを導出するためにビデオデコーダ３０が実装した同じ技法を実装してよい。ただし、ビデオエンコーダ２０による参照ピクチャセットの導出は、すべての例において要求されなくてもよく、ビデオデコーダ３０が、参照ピクチャセットを導出する唯一のコーダであってよい。
【０１６１】
したがって、いくつかの例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）が、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、それぞれ、符号化または復号する）ことができる。たとえば、ビデオエンコーダ２０は、どの参照ピクチャが参照ピクチャセットに属すか判断するための値を含む符号化ビットストリームをシグナリングすればよい。同様に、ビデオデコーダ３０は、ビットストリームを復号して、どの参照ピクチャが参照ピクチャセットに属すか判断すればよい。
【０１６２】
ビデオコーダは、参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することができる。たとえば、ビデオコーダは、６つの参照ピクチャサブセット（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセット）を構成することができ、サブセットの各々は、ゼロ個以上の参照ピクチャを識別する。いくつかの例では、ビデオコーダは、複数の参照ピクチャサブセットに基づいて、現在のピクチャをコーディングすることができる。
【０１６３】
たとえば、ビデオコーダは、構成された複数の参照ピクチャサブセットから、参照ピクチャセットを導出することができる。たとえば、ビデオコーダは、参照ピクチャサブセットを、参照ピクチャセットを導出するためのどの順序で並べてもよく、または参照ピクチャセットを、参照ピクチャサブセットの構成の一部として導出してよい。いくつかの例では、導出された参照ピクチャセットから、ビデオコーダは、現在のピクチャをコーディングすることができる。参照ピクチャセットは複数の参照ピクチャサブセットから導出されるので、ビデオコーダは、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングするものと見なすことができる。
【０１６４】
いくつかの例では、参照ピクチャサブセットを並べるために、ビデオコーダは、参照ピクチャセット中で参照ピクチャサブセットがリストされるべき順序で、参照ピクチャサブセットを構成すればよい。たとえば、ビデオコーダは、最初にＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットを構成すればよい。この説明のための例において、参照ピクチャセット中の参照ピクチャサブセットの順序は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１が、その順序であってよいが、他の順序も可能である。
【０１６５】
本開示に記載する例示的技法によると、参照ピクチャセットを導出した後、ビデオデコーダ３０は、現在のピクチャ内のスライスの復号を開始してよい。復号プロセスの一部は、１つまたは２つの参照ピクチャリストの構成を伴う。参照ピクチャリストとは、ＰまたはＢスライスの予測に使われる参照ピクチャのリストである。Ｐスライスの復号プロセスのために、１つの参照ピクチャリスト（リスト０）がある。Ｂスライスの復号プロセスのために、２つの参照ピクチャリスト（リスト０およびリスト１）がある。参照ピクチャリスト０またはＲｅｆＰｉｃＬｉｓｔ０と呼ばれることがあるリスト０は、ＰまたはＢスライスのインター予測に使われる参照ピクチャリストである。Ｐスライス用に使われるすべてのインター予測は、リスト０を使う。参照ピクチャリスト０は、Ｂスライスについての双予測に使われる２つの参照ピクチャリストの一方であり、他方が参照ピクチャリスト１である。参照ピクチャリスト１またはＲｅｆＰｉｃＬｉｓｔ１と呼ばれることがあるリスト１は、Ｂスライスの予測に使われる参照ピクチャリストである。参照ピクチャリスト１は、Ｂスライスについての予測に使われる２つの参照ピクチャリストの一方であり、他方が参照ピクチャリスト０である。Ｂスライス中のいくつかのブロックは、リスト０とリスト１の両方を使って双予測することができ、Ｂスライス中のいくつかのブロックは、リスト０またはリスト１のいずれかを使って単予測することができる。
【０１６６】
参照ピクチャリストを構成するために、ビデオデコーダ３０は、初期リスト０と、Ｂスライス用には初期リスト１とを構成するためのデフォルトの構成技法を実装すればよい。初期リスト０および初期リスト１の構成は、初期化プロセスと呼ばれ得る。いくつかの例では、コード化ビットストリームは、ビデオデコーダ３０が初期リスト０および／または初期リスト１を修正して、最終リスト０と最終リスト１とを生成するべきであることを示し得る。初期リスト０および／または初期リスト１の修正は、修正プロセスと呼ばれ得る。修正プロセスは、すべての例において要求されなくてもよく、ビデオデコーダ３０が修正プロセスを実装することができる方法について、以下でより詳しく説明する。本開示に記載する技法によると、初期リスト０または初期リスト１の修正が必要とされないとき、最終リスト０または最終リスト１（すなわち、現在のピクチャのスライスを復号するのに使われる参照ピクチャリスト０または１）は、初期リスト０または初期リスト１に等しくなり得る。このように、参照ピクチャリストの並べ替えは、必要とされない場合もある。
【０１６７】
本開示に記載する技法では、参照ピクチャサブセットの各々の中の参照ピクチャはすでに正しい順序になっているので、修正プロセスが必要とされるかどうかにかかわらず、初期リスト０または初期リスト１に含まれるべき参照ピクチャの並べ替えをビデオデコーダ３０が実施する必要がなくてもよいように、ビデオデコーダ３０は、初期リスト０または初期リスト１を構成することができる。たとえば、いくつかの他の技法では、修正プロセスが必要とされるかどうかにかかわらず、初期リスト０または初期リスト１に参照ピクチャを追加またはリストするときの、初期リスト０または初期リスト１に含まれるべき参照ピクチャの、ＰＯＣ値による並べ替えが必要とされる。
【０１６８】
初期化プロセスにおいて、ビデオデコーダ３０は、初期リスト０と初期リスト１とを構成するためのデフォルトの構成技法を実装してよい。デフォルトの構成技法は、ビデオデコーダ３０が、ビデオデコーダ３０が初期参照ピクチャリストを構成するべきであり、または参照ピクチャが初期参照ピクチャリスト中で識別されるべきである方法に関するシンタックス要素をビデオエンコーダ２０から受信することなく、初期参照ピクチャリストを構成することを意味し得る。
【０１６９】
ビデオデコーダ３０は、ＰまたはＢスライスヘッダを復号するとき、参照ピクチャリスト構成プロセスを呼び出してよい。たとえば、Ｐスライスを復号するとき、ビデオデコーダ３０は、初期リスト０を構成するためのプロセスを呼び出すことはできるが、Ｐスライス中のブロックは、リスト０中で識別される参照ピクチャを参照して単予測されるだけなので、初期リスト１を構成するためのプロセスを呼び出すことはできない。Ｂスライス中のブロックは、リスト０およびリスト１の各々の中で識別される参照ピクチャを参照して双予測され得るので、Ｂスライスを復号するとき、ビデオデコーダ３０は、初期リスト０を構成し、初期リスト１を構成するためのプロセスを呼び出すことができる。
【０１７０】
本開示に記載する例示的技法によると、ビデオデコーダ３０は、初期リスト０と初期リスト１とを構成するために、参照ピクチャサブセットを使用してよい。たとえば、初期リスト０および初期リスト１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、またはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中で識別されるゼロ個以上の参照ピクチャをリストすることができる。この例では、参照ピクチャリスト構成プロセスが呼び出されるとき、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒには、少なくとも１つの参照ピクチャがあり得る。初期リスト０および初期リスト１は、同じ参照ピクチャサブセットにある１つまたは複数の参照ピクチャを識別し得るが、ビデオデコーダ３０が初期リスト０中で参照ピクチャを追加する順序は、ビデオデコーダ３０が初期リスト１中で参照ピクチャを追加する順序とは異なり得る。
【０１７１】
本開示では、ビデオデコーダ３０が、初期リスト０または初期リスト１中の参照ピクチャサブセットのうちの１つまたは複数から、参照ピクチャを追加する（たとえば、リストする）とき、本開示は、初期リスト０または初期リスト１中の参照ピクチャを識別するビデオデコーダ３０に言及する。たとえば、複数の参照ピクチャサブセットは、各々が、ゼロ以上の参照ピクチャを識別することができる。初期リスト０と初期リスト１とを構成するために、ビデオデコーダ３０は、初期リスト０または初期リスト１への参照ピクチャサブセット中で識別される、参照ピクチャのうちの１つまたは複数を識別することができる。
【０１７２】
混乱を避けるため、および明快性を助けるために、本開示は、参照ピクチャサブセット中で識別される参照ピクチャのうちのゼロ個以上を、ビデオデコーダ３０が初期リスト０および初期リスト１にリストしまたは追加して、初期リスト０と初期リスト１とを構成することに言及する場合がある。このように、ビデオデコーダ３０が参照ピクチャを追加またはリストすることは、ビデオデコーダ３０が、参照ピクチャサブセットに識別された参照ピクチャの識別子を追加またはリストすることを意味する。したがって、結果として得られる初期リスト０および初期リスト１は、現在のピクチャのブロックまたはスライスをコーディングするために使われる可能性があり得る、参照ピクチャについての複数の識別子を含む。これらの参照ピクチャは、ビデオデコーダ３０およびビデオエンコーダ２０のそれぞれの復号ピクチャバッファに記憶される。
【０１７３】
たとえば、初期リスト０を構成するために、ビデオデコーダ３０は、最初に、初期リスト０中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０において識別された参照ピクチャ、続いて、初期リスト０中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１において識別された参照ピクチャ、次いで、初期リスト０中のＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒにおいて識別された参照ピクチャをリスト（たとえば、追加）すればよい。初期リスト１を構成するために、ビデオデコーダ３０は、最初に、初期リスト１中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１において識別された参照ピクチャ、続いて、初期リスト１中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０において識別された参照ピクチャ、次いで、初期リスト１中のＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒにおいて識別された参照ピクチャをリスト（たとえば、追加）すればよい。
【０１７４】
さらに、参照ピクチャサブセットに参照ピクチャを異なる順序で追加することに加え、ビデオデコーダ３０は、リスト０とリスト１とを構成するとき、参照ピクチャサブセットの各々からの異なる数の参照ピクチャを使用することができる。たとえば、リスト０およびリスト１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒからの参照ピクチャすべてを含む必要はない。そうではなく、これらの例示的参照ピクチャサブセットから、初期リスト０と初期リスト１とを構成するためにリストされる参照ピクチャの数は、初期リスト０および初期リスト１の各々における参照ピクチャの最大数を示すシンタックス要素に基づき得る。
【０１７５】
たとえば、初期リスト０に対して、ビデオエンコーダ２０は、ＰおよびＢスライスについてのｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素をスライスヘッダ中で、および双予測されるＢスライスについてのｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素をシグナリングすればよい。上述したように、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、初期リスト０中にあり得る参照ピクチャの最大数を定義することができ、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、初期リスト１中にあり得る参照ピクチャの最大数を定義することができる。いくつかの例では、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値とは異なることが可能であり得るが、これはすべての例において必要なわけではない。いくつかの例では、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値と同じであり得る。
【０１７６】
上述したように、ビデオデコーダ３０は、コード化ビットストリーム中で、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０およびｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１についての値を受信することができる。ビデオデコーダ３０は、変数ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０を、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０に等しく定義し、変数ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１を、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１に等しく定義すればよい。ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャの数を示すことができ、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中の参照ピクチャの数を示すことができる。
【０１７７】
ビデオデコーダ３０は、コード化ビットストリーム中で、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒについての値も受信することができる。ビデオデコーダ３０は、変数ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒを、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒにｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒを加えたものに等しいものとして定義すればよい。ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒは、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャの数を示し得る。
【０１７８】
初期リスト０を構成するために、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中のすべての参照ピクチャを初期リスト０に追加するまで、および初期リスト０中のエントリの数（たとえば、リスト０中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ビデオデコーダ３０は、最初にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャを初期リスト０に追加すればよい。たとえば、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャの数を示し得る。この例では、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０からリストされる参照ピクチャの数がＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０と等しくなるまで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットからの参照ピクチャをリストする（たとえば、追加する）ことができる。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０の参照ピクチャを初期リスト０にリストする間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト０にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよい。
【０１７９】
ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中のすべての参照ピクチャを識別するまで、および初期リスト０中のエントリの数（たとえば、リスト０中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中の参照ピクチャを追加すればよい。たとえば、上記と同様に、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中の参照ピクチャの数を示し得る。この例では、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１からリストされる参照ピクチャの数がＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１と等しくなるまで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットからの参照ピクチャをリストすることができる。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１からの参照ピクチャをリストする間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト０にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよい。
【０１８０】
ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中のすべての参照ピクチャをリストするまで、および初期リスト０中のエントリの数（たとえば、リスト０中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャをリストすればよい。たとえば、上記と同様に、ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒは、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャの数を示し得る。この例では、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒからリストされる参照ピクチャの数がＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒと等しくなるまで、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットからの参照ピクチャをリストすることができる。ただし、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒから参照ピクチャを初期リスト０にリストする間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト０にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中にあったとしても、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよい。
【０１８１】
以下の擬似コードは、ビデオデコーダ３０が初期リスト０を構成することができるやり方を示す。
【数７】
0005972984.tif 000014
【０１８２】
上記擬似コードにおいて、ＲｅｆＰｉｃＬｉｓｔ０は初期リスト０であり得る。リスト０の修正が必要とされない例において、最終リスト０は初期リスト０と等しくなり得る。したがって、リスト０の修正が必要とされない例では、上記擬似コードにおけるＲｅｆＰｉｃＬｉｓｔ０は、最終リスト０であり得る。
【０１８３】
ビデオデコーダ３０は、初期リスト１を同様に構成してよい。ただし、初期リスト１を構成するために、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから初期リスト１に、続いて、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから初期リスト１に、続いて、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから初期リスト１に、参照ピクチャを追加すればよい。また、上記と同様に、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットのうちのいずれか１つから参照ピクチャをリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、これらの参照ピクチャサブセット中に追加参照ピクチャがあったとしても、ビデオデコーダ３０は、参照ピクチャの追加を停止してよい。
【０１８４】
たとえば、初期リスト１を構成するために、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中のすべての参照ピクチャを識別するまで、および初期リスト１中のエントリの数（たとえば、リスト１中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１から参照ピクチャをリストすればよい。たとえば、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１の値は、ビデオデコーダ３０がいつ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中の参照ピクチャすべてをリストするのを完了したかを示し得る。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中の参照ピクチャをリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト１にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト１の構成を完了してしまってよい。
【０１８５】
ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０からすべての参照ピクチャをリストするまで、および初期リスト１中のエントリの数（たとえば、リスト１中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャをリストすればよい。たとえば、上記と同様、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０の値は、ビデオデコーダ３０がいつ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャすべてをリストするのを完了したかを示し得る。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０から参照ピクチャを初期リスト１にリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト１にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト１の構成を完了してしまってよい。
【０１８６】
ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中のすべての参照ピクチャをリストするまで、および初期リスト１中のエントリの数（たとえば、リスト１中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャをリストすればよい。たとえば、上記と同様、ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒの値は、ビデオデコーダ３０がいつ、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャすべてをリストするのを完了したかを示し得る。ただし、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャをリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト１にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中にあったとしても、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト１の構成を完了してしまってよい。
【０１８７】
以下の擬似コードは、ビデオデコーダ３０が初期リスト１を構成することができるやり方を示す。
【数８】
0005972984.tif 000015
【０１８８】
上記擬似コードにおいて、ＲｅｆＰｉｃＬｉｓｔ１は初期リスト１であり得る。リスト１の修正が必要とされない例において、最終リスト１は初期リスト１と等しくなり得る。したがって、リスト１の修正が必要とされない例では、上記擬似コードにおけるＲｅｆＰｉｃＬｉｓｔ１は、最終リスト１であり得る。
【０１８９】
以上は、参照ピクチャリスト修正が必要とされないとき、ビデオデコーダ３０が最終リスト０と最終リスト１とを構成することができる１つの例示的やり方である。他の例では、ビデオデコーダ３０は、参照ピクチャサブセットを、上述したものとは異なる順序で追加してよい。さらにいくつかの他の例では、ビデオデコーダ３０は、上述したもの以外の参照ピクチャサブセットを追加してよい。
【０１９０】
前述の例は、ビデオデコーダ３０によって実施される参照ピクチャリスト構成のための技法について記載したが、本開示の態様はそのように限定されるわけではなく、ビデオエンコーダ２０は、参照ピクチャリストを構成するための同様の技法を実装することができる。ただし、ビデオデコーダ３０が参照ピクチャリストを構成するのと同じやり方で、ビデオエンコーダ２０が参照ピクチャリストを構成することが必要なわけではない。
【０１９１】
したがって、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、符号化または復号する）ように構成してよい。上述したように、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。
【０１９２】
ビデオコーダは、ゼロ個以上の参照ピクチャを各々が識別する複数の参照ピクチャサブセットを構成するように構成されてよい。たとえば、ビデオコーダは、少なくともＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを構成することができる。ビデオコーダは、上述したような、追加参照ピクチャサブセットを構成することができる。
【０１９３】
ビデオコーダは次いで、第１の参照ピクチャサブセットからの参照ピクチャを、続いて第２の参照ピクチャサブセットからの参照ピクチャを、続いて第３の参照ピクチャサブセットからの参照ピクチャを、初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数以下である限り、初期参照ピクチャリストに追加すればよい。たとえば、ビデオコーダは、初期リスト０中のエントリの数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから、続いてＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから、続いてＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒサブセットから、初期リスト０に参照ピクチャをリストすればよい。繰返しになるが、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、リスト０についての最大許容参照ピクチャリストエントリ数を示し得る。
【０１９４】
いくつかの例では、ビデオコーダは、第１の参照ピクチャサブセット中のすべての参照ピクチャが初期参照ピクチャリスト中でリストされ、または初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数と等しくなるまで、初期参照ピクチャリストにある第１の参照ピクチャサブセット中の参照ピクチャから追加してよい。初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数未満になったとき、および第１の参照ピクチャサブセットから参照ピクチャを追加した後、ビデオコーダは、第２の参照ピクチャサブセット中のすべての参照ピクチャが初期参照ピクチャリスト中でリストされ、または初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数と等しくなるまで、初期参照ピクチャリスト中の第２の参照ピクチャサブセットから参照ピクチャを追加してよい。初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数未満になったとき、および第２の参照ピクチャサブセットから参照ピクチャを追加した後、ビデオコーダは、第３の参照ピクチャサブセット中のすべての参照ピクチャが初期参照ピクチャリスト中でリストされ、または初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数と等しくなるまで、初期参照ピクチャリスト中の第３の参照ピクチャサブセットから参照ピクチャを追加してよい。
【０１９５】
ビデオコーダは、初期リスト１を同様に構成してよい。たとえば、ビデオコーダは、初期リスト１中の初期参照ピクチャリストエントリの数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、第２の参照ピクチャサブセットからの参照ピクチャを、続いて第１の参照ピクチャサブセットからの参照ピクチャを、続いて第３の参照ピクチャサブセットからの参照ピクチャを初期リスト１に追加してよい。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素は、リスト１中の最大許容エントリ数を定義し得る。
【０１９６】
いくつかの例では、たとえば修正が必要とされないとき、初期リスト０および初期リスト１は、最終リスト０および最終リスト１と等しくなり得る。言い換えると、ビデオコーダは、修正が必要とされないとき、初期リスト０および初期リスト１の修正なしで、最終リスト０と最終リスト１とを構成することができる。これらのケースでは、初期リスト０と初期リスト１とを構成した後、ビデオコーダは、最終リスト０および最終リスト１（すなわち、ビデオコーダが現在のピクチャのブロックをコーディングするのに使う参照ピクチャリスト）を構成するための追加ステップを実施する必要がなくてよい。
【０１９７】
上記擬似コードに示されるように、ビデオデコーダ３０は、ｃＩｄｘがｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である間、初期リスト０を構成することができ、ｃＩｄｘがｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である間、初期リスト１を構成することができる。結果として、ビデオデコーダ３０は、初期リスト０と初期リスト１とを構成することができ、参照ピクチャリスト中に未完エントリは残らない。たとえば、いくつかの他のビデオコーディング技法では、これらの他のビデオ技法のためのビデオデコーダは、本開示に記載するもの以外の技法を使用して、初期リスト０とリスト１とを構成することになる。これらの他のビデオコーディング技法については、初期リスト０および初期リスト１中のエントリの数が最大許容エントリ数未満だった場合、これらの他のビデオコーディング技法のためのビデオデコーダは、リスト０およびリスト１中の残りのエントリを、未完エントリに対する「参照ピクチャなし」で埋めることになる。未完エントリは、参照ピクチャを識別する最後のエントリの後の、および最後の可能エントリまでのリスト０およびリスト１中のエントリを指す。
【０１９８】
理解を助けるための説明のための例として、これらの他のビデオコーディング技法のためのビデオデコーダは、リスト０を５つのエントリで構成することができ、最大許容エントリ数は１０個のエントリである。この例では、これらの他のビデオコーディング技法のためのビデオデコーダは、第６〜第１０のエントリを「参照ピクチャなし」として埋めることになる。この例では、未完エントリは、第６のエントリ（たとえば、参照ピクチャを識別する最後のエントリの後のエントリ）から第１０のエントリ（たとえば、最大許容エントリ数で定義される最後の可能エントリ）までとなる。
【０１９９】
本開示は、ＰＰＳ中のシグナリングされる参照ピクチャセットの組合せと、スライスヘッダまたはＡＰＳ中のシグナリングされる参照ピクチャセットが組み合わされるとき、構成された短期参照ピクチャセットが、参照ピクチャをそのＰＯＣ値によって並べ替えずに、短期参照ピクチャセットのサブセットの作成の際に、または初期参照ピクチャリストの作成の際に使われ得るような、参照ピクチャセットの効率的シグナリングのための様々な技法について記載する。さらに、開示する技法は、どの参照ピクチャがＰＰＳから継承されるべきか、およびどれがスライスヘッダまたはＡＰＳ中で直接シグナリングされるべきかについての正確な制御を可能にする。
【０２００】
上で提示したように、参照ピクチャセットのいくつかの参照ピクチャはピクチャパラメータセット（ＰＰＳ）中でシグナリングすることができ、参照ピクチャセットの他の参照ピクチャはスライスヘッダ中でシグナリングすることができる。ビデオデコーダは次いで、ＰＰＳとスライスヘッダの両方の中の参照ピクチャを使って参照ピクチャセットを構成することができる。ただし、これらの技法は、ビデオデコーダがビデオのスライス用の初期参照ピクチャリストを構成することができる前に、構成された参照ピクチャセットをビデオデコーダが並べ替えることを要求し得る。この中間並べ替えステップは処理サイクルを浪費し、そうすることによってビデオデコーダが現在のピクチャを復号するのにかかる時間量を増大させる場合がある。
【０２０１】
これに対処するために、一例として、本開示は、参照ピクチャセットを構成するために、ＰＰＳからのどの参照ピクチャをビデオデコーダが使うべきかを示す「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」シンタックス要素、「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」シンタックス要素、「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０」シンタックス要素、および「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１」シンタックス要素について記載する。本技法は、どのピクチャがスライスヘッダに含まれ得るかに適用される限定についても記載する。このように、ビデオデコーダが、初期参照ピクチャリストを構成する前に参照ピクチャセットを並べ替える必要がないように、ビデオデコーダは参照ピクチャセットを構成することができる。
【０２０２】
本開示の技法において、「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」シンタックス要素が真にセットされている（たとえば、１の値を有する）とき、ビデオデコーダは、現在のピクチャ用の参照ピクチャセットが、現在のピクチャのＰＰＳ中およびスライスヘッダ中の両方の参照ピクチャから構成されることになると判断する。「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」シンタックス要素は、ＰＰＳ内の候補参照ピクチャを識別するシンタックス要素である。１つの説明のための例として、５つの参照ピクチャ候補がある場合があり、各候補は１０個の参照ピクチャを含み得る。「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」シンタックス要素の値は、この例では、５つの候補のうちの１つを指し得る。
【０２０３】
候補の各々の中の参照ピクチャは、ピクチャのデルタＰＯＣ値によって順序付けることができる。ＰＯＣ値はピクチャの出力順を示し、デルタＰＯＣ値は、現在のピクチャのＰＯＣ値と参照ピクチャのＰＯＣ値との間の差分であり得る。一例として、１つの候補中の１０個の参照ピクチャが−５〜−１および１〜５のデルタＰＯＣ値を有し得るが、他の値も可能である。この例では、−５のデルタＰＯＣ値は、参照ピクチャのＰＯＣ値から現在のピクチャのＰＯＣ値を減算すると−５になることを意味する。ＰＯＣ値が出力順を示すので、負のデルタＰＯＣ値は、参照ピクチャが現在のピクチャよりも早く出力される（たとえば、表示される）ことを示すことができ、正のデルタＰＯＣ値は、参照ピクチャが現在のピクチャの後で出力されることを示すことができる。
【０２０４】
ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０シンタックス要素の値は、現在のピクチャよりも出力順が早い何個の参照ピクチャが、識別された候補から削除されるべきかを示す。ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１シンタックス要素の値は、現在のピクチャよりも出力順が遅い何個の参照ピクチャが、識別された候補から削除されるべきかを示す。いくつかの例において、ビデオデコーダが削除するピクチャは、現在のピクチャから出力順が最も離れているものである。
【０２０５】
たとえば、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０およびｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１の値が両方とも２に等しいと仮定する。この例において、ビデオデコーダは、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ値によって識別される候補の参照ピクチャから、２つのピクチャを削除してよい。前述の例では、参照ピクチャは、−５〜−１および１〜５のデルタＰＯＣ値に対応する参照ピクチャであり得る。この例では、ビデオデコーダは、−５〜−１のデルタＰＯＣ値をもつ参照ピクチャに対応する、参照ピクチャのうちの２つと、１〜５のデルタＰＯＣ値をもつ参照ピクチャに対応する、参照ピクチャのうちの２つとを削除してよい。さらに、いくつかの事例において、ビデオデコーダが削除する参照ピクチャは、−５、−４、４、および５のデルタＰＯＣ値に対応する参照ピクチャであってよく、というのはこれらの参照ピクチャが、出力順において現在のピクチャから最も離れている参照ピクチャであるからである。
【０２０６】
したがって、この例では、ビデオデコーダは、ＰＰＳ内の識別された候補中の参照ピクチャのうちの６つを、ビデオデコーダが使うべきであると判断することができる。具体的には、この例では、参照ピクチャは、−３〜−１および１〜３のデルタＰＯＣ値に対応するものになる。
【０２０７】
ビデオデコーダは次いで、スライスのスライスヘッダから、参照ピクチャセットの残りのピクチャを識別すればよい。ただし、ビデオデコーダが参照ピクチャセットを並べ替える必要がなくてよいことを確実にするために、どの参照ピクチャがスライスヘッダに含まれ得るかに対して、いくつかの制限が課され得る。
【０２０８】
いくつかの例において、スライスヘッダ中で識別される参照ピクチャは、ＰＰＳ中で識別される参照ピクチャのうちのどれよりも、距離において、出力順において離れていなければならない。たとえば、前の例に沿うと、−６または＋６のデルタＰＯＣ値をもつ参照ピクチャは、ＰＰＳ中の参照ピクチャのうちのどれよりも離れているので、スライスヘッダに含まれ得る参照ピクチャとして適格であり得る。
【０２０９】
ビデオデコーダは次いで、参照ピクチャセットを、２つのサブセットの組合せとして構成することができる。第１のサブセットは、現在のピクチャに時間的に先立って出現する参照ピクチャを含むことができ、第２のサブセットは、時間的に現在のピクチャの後に続いて出現する参照ピクチャを含むことができる。ビデオデコーダは、第１のサブセットの参照ピクチャを、ＰＰＳ中においてデルタＰＯＣ値で識別される、現在のピクチャに最も近い参照ピクチャから始まり、スライスヘッダ中においてデルタＰＯＣ値で識別される、現在のピクチャから最も離れた参照ピクチャまでの降ＰＯＣ順で順序付ければよい。ビデオデコーダは、第２のサブセット中の参照ピクチャを、ＰＰＳ中においてデルタＰＯＣ値で識別される、現在のピクチャに最も近い参照ピクチャから始まり、スライスヘッダ中においてデルタＰＯＣ値で識別される、現在のピクチャから最も離れた参照ピクチャまでの昇ＰＯＣ順で順序付ければよい。このように、ビデオデコーダは、ビデオデコーダが初期参照ピクチャリストを構成するとき、ビデオデコーダが参照ピクチャセットを並べ替える必要がなくてよいように、参照ピクチャセットを構成することができる。
【０２１０】
テーブル６は、開示する技法を実装するための例示的シンタックスおよびセマンティクスを示す。
【表６】
0005972984.tif 000016
【０２１１】
参照ピクチャセットシンタックス構造の内容は、ピクチャのすべてのスライスヘッダ中で同じであり得る。
【０２１２】
１に等しくセットされたシンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｐｐｓ＿ｆｌａｇ」は、現在のピクチャの短期参照ピクチャセットがアクティブピクチャパラメータセット中のみのシンタックス要素を使って作成され得ることを指定することができる。０に等しくセットされたシンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｐｐｓ＿ｆｌａｇ」は、現在のピクチャの短期参照ピクチャセットが、ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造中で明示的にシグナリングされる、可能性としてはアクティブピクチャパラメータセット中のシンタックス要素によって示される短期参照ピクチャと組み合わされた、ゼロ個以上の短期参照ピクチャを使って作成され得ることを指定することができる。
【０２１３】
シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ」は、現在のピクチャの参照ピクチャセットの作成に使うことができるアクティブピクチャパラメータセット中で指定される短期参照ピクチャセットのリストへの索引を指定することができる。シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ」はｃｅｉｌ（ｌｏｇ２（ｎｕｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ））ビットによって表すことができ、シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ」の値は、両端値を含む０〜ｎｕｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ−１の範囲内であり得る。
【０２１４】
０〜ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ＿ｐｐｓ［ｉｄｘ］＋ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ＿ｐｐｓ［ｉｄｘ］の範囲内の、ｉ個すべての値についての変数ＲｐｓＰｏｃ［ｉ］およびＲｐｓＢｙＣｕｒｒＰｉｃ［ｉ］、ならびに変数Ｏｆｆｓｅｔ、およびＲｐｓＮｕｍＲｅｆＰｉｃｓは、次のように導出することができる。
【数９】
0005972984.tif 000017
【０２１５】
上式で、ＰｉｃＯｒｄｅｒＣｎｔは、現在のピクチャのピクチャオーダーカウントである。
【０２１６】
１に等しくセットされたシンタックス要素「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」は、アクティブピクチャパラメータセットからのシンタックス要素が、ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造中の明示的シグナリングと組み合わせて、リストＲｐｓＰｏｃおよびＲｐｓＢｙＣｕｒｒＰｉｃの値を割り当てるのに使われることを指定することができる。０に等しくセットされたシンタックス要素「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」は、アクティブピクチャパラメータセットからのシンタックス要素が、ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造中の明示的シグナリングと組み合わせて、リストＲｐｓＰｏｃおよびＲｐｓＢｙＣｕｒｒＰｉｃの値を割り当てるのに使われないことを指定することができる。
【０２１７】
シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘ」は、明示的シグナリングと組み合わせて、現在のピクチャの参照ピクチャセットの作成に使うことができるリストＲｐｓＰｏｃおよびＲｐｓｂｙＣｕｒｒＰｉｃへの索引を指定することができる。シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｔｉｎａｔｉｏｎ＿ｉｄｘ」はｃｅｉｌ（ｌｏｇ２（ｎｕｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ））ビットによって表すことができ、シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｔｉｎａｔｉｏｎ＿ｉｄｘ」の値は、両端値を含む０〜ｎｕｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ−１の範囲内であり得る。
【０２１８】
シンタックス要素「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０」および「ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１」は、それぞれ、次のように、リストＲｐｓＰｏｃおよびＲｐｓｂｙＣｕｒｒＰｉｃの導出において使われる変数Ｏｆｆｓｅｔ０およびＯｆｆｓｅｔ１の値を指定することができる。ｉｄｘは、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｃｏｍｂｉｎａｔｉｏｎ＿ｉｄｘに等しいとする。ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ０の値は、両端値を含む０〜ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ＿ｐｐｓ［ｉｄｘ］の範囲内であり得る。ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｏｆｆｓｅｔ１の値は、両端値を含む０〜ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ＿ｐｐｓ［ｉｄｘ］の範囲内であり得る。
【０２１９】
変数Ｏｆｆｓｅｔ０およびＯｆｆｓｅｔ１は次のように導出される。
【数１０】
0005972984.tif 000018
【０２２０】
シンタックス要素「ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇ」が０に等しくセットされている場合、変数Ｏｆｆｓｅｔ０およびＯｆｆｓｅｔ１は両方とも、０に等しいと推論され得る。
【０２２１】
シンタックス要素「ｎｕｍ＿ｎｅｇａｔｉｖｅ＿ｐｉｃｓ」は、後続のｎｅｇａｔｉｖｅ＿ｄｅｌｔａ＿ｐｏｃ＿ｍｉｎｕｓ１［ｉ］およびｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｆｌａｇ０［ｉ］シンタックス要素の数を指定することができる。ｎｕｍ＿ｎｅｇａｔｉｖｅｔ＿ｐｉｃｓの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０２２２】
変数Ｏｆｆｓｅｔは次のように導出することができる。
【数１１】
0005972984.tif 000019
【０２２３】
両端値を含む０〜Ｏｆｆｓｅｔ０の範囲内の、ｉ個すべての値についての変数ＲｐｓＰｏｃ［ｉ］およびＲｐｓＢｙＣｕｒｒＰｉｃ［ｉ］は、次のように導出することができる。
【数１２】
0005972984.tif 000020
【０２２４】
上式で、ＰｉｃＯｒｄｅｒＣｎｔは、現在のピクチャのピクチャオーダーカウントである。
【０２２５】
シンタックス要素「ｎｅｇａｔｉｖｅ＿ｄｅｌｔａ＿ｐｏｃ＿ｍｉｎｕｓ１［ｉ］」に１を加えたものは、２つのピクチャオーダーカウント値の間の絶対差分を指定することができる。ｎｅｇａｔｉｖｅ＿ｄｅｌｔａ＿ｐｏｃ＿ｍｉｎｕｓ１［ｉ］の値は、両端値を含む０〜ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ−１の範囲内であり得る。
【０２２６】
変数ＲｐｓＰｏｃ［ｉ＋Ｏｆｆｓｅｔ０］は、次のように導出することができる。
【数１３】
0005972984.tif 000021
【０２２７】
上式で、ＰｉｃＯｒｄｅｒＣｎｔは、現在のピクチャのピクチャオーダーカウントである。
【０２２８】
Ｏｆｆｓｅｔ０が０よりも大きいとき、ＲｐｓＰｏｃ［Ｏｆｆｓｅｔ０］の値はＲｐｓＰｏｃ［Ｏｆｆｓｅｔ０−１］の値未満であり得る。これは、ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇが１に等しいときの以下の制約を表す。現在のピクチャのもの未満のピクチャオーダーカウントを有する参照ピクチャが、現在のピクチャの短期参照ピクチャセットに含まれるために、スライスヘッダ中で直接シグナリングされるどのピクチャも、ＰＰＳから継承されるどのピクチャのもの未満のピクチャオーダーカウントを有してもよい。
【０２２９】
０に等しいシンタックス要素「ｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｆｌａｇ０［ｉ］」は、現在のピクチャのもの未満のピクチャオーダーカウントを有する第ｉの短期参照ピクチャが、現在のピクチャのインター予測において使われないことを指定することができる。
【０２３０】
変数ＲｐｓＢｙＣｕｒｒＰｉｃ［ｉ＋Ｏｆｆｓｅｔ０］は、次のように導出することができる。
【数１４】
0005972984.tif 000022
【０２３１】
シンタックス要素「ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓ」は、後続のｐｏｓｉｔｉｖｅ＿ｄｅｌｔａ＿ｐｏｃ＿ｍｉｎｕｓ１［ｉ］およびｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｆｌａｇ１［ｉ］シンタックス要素の数を指定することができる。ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−Ｏｆｆｓｅｔの範囲内であり得る。存在しないとき、ｎｕｍ＿ｐｏｓｉｔｉｖｅ＿ｐｉｃｓの値は、０に等しいと推論され得る。
【０２３２】
変数ＲｐｓＮｕｍＲｅｆＰｉｃｓは、次のように導出することができる。
【数１５】
0005972984.tif 000023
【０２３３】
両端値を含むＯｆｆｓｅｔ〜Ｏｆｆｓｅｔ＋Ｏｆｆｓｅｔ１−１の範囲内の、ｉ個すべての値についての変数ＲｐｓＰｏｃ［ｉ］およびＲｐｓＢｙＣｕｒｒＰｉｃ［ｉ］は、次のように導出することができる。
【数１６】
0005972984.tif 000024
【０２３４】
上式で、ＰｉｃＯｒｄｅｒＣｎｔは、現在のピクチャのピクチャオーダーカウントである。
【０２３５】
シンタックス要素「ｄｅｌｔａ＿ｐｏｃ＿ｍｉｎｕｓ１［ｉ］」は、２つのピクチャオーダーカウント値の間の絶対差分を指定することができる。ｄｅｌｔａ＿ｐｏｃ＿ｍｉｎｕｓ１［ｉ］の値は、両端値を含む０〜ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ−１の範囲内であり得る。
【０２３６】
変数ＲｐｓＰｏｃ［ｉ＋Ｏｆｆｓｅｔ＋Ｏｆｆｓｅｔ１］は、次のように導出することができる。
【数１７】
0005972984.tif 000025
【０２３７】
上式で、ＰｉｃＯｒｄｅｒＣｎｔは、現在のピクチャのピクチャオーダーカウントである。
【０２３８】
Ｏｆｆｓｅｔ１が０よりも大きいとき、ＲｐｓＰｏｃ［Ｏｆｆｓｅｔ＋Ｏｆｆｓｅｔ１］の値は、ＲｐｓＰｏｃ［Ｏｆｆｓｅｔ＋Ｏｆｆｓｅｔ１−１］の値よりも大きくなり得る。これは、ｃｏｍｂｉｎｅ＿ｗｉｔｈ＿ｒｅｆｅｒｅｎｃｅ＿ｆｌａｇが１に等しいときの以下の制約を表す。現在のピクチャのものよりも大きいピクチャオーダーカウントを有する参照ピクチャが、現在のピクチャの短期参照ピクチャセットに含まれるために、スライスヘッダ中で直接シグナリングされるどのピクチャも、ＰＰＳから継承されるどのピクチャのものよりも大きいピクチャオーダーカウントを有してもよい。
【０２３９】
０に等しくセットされたシンタックス要素「ｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｆｌａｇ１［ｉ］」は、現在のピクチャのものよりも大きいピクチャオーダーカウントを有する第ｉの短期参照ピクチャが、現在のピクチャのインター予測において使われないことを指定することができる。
【０２４０】
変数ＲｐｓｂｙＣｕｒｒＰｉｃ［ｉ＋Ｏｆｆｓｅｔ＋Ｏｆｆｓｅｔ１］］は、次のように導出することができる。
【数１８】
0005972984.tif 000026
【０２４１】
シンタックス要素「ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ」は、参照されるピクチャパラメータセット中で指定されるとともに現在のピクチャの長期参照ピクチャセットに含まれるべきである長期参照ピクチャの数を指定することができる。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０２４２】
変数ＬｔＯｆｆｓｅｔは次のように導出される。
【数１９】
0005972984.tif 000027
【０２４３】
シンタックス要素「ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ」は、参照されるピクチャパラメータセット中で指定されないとともに現在のピクチャの長期参照ピクチャセットに含まれるべきである長期参照ピクチャの数を指定することができる。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓの範囲内であり得る。
【０２４４】
変数ＬｔＲｐｓＮｕｍＲｅｆＰｉｃｓは次のように導出される。
【数２０】
0005972984.tif 000028
【０２４５】
シンタックス要素「ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］」は、参照されるピクチャパラメータセットから現在のピクチャの長期参照ピクチャセットに継承される第ｉの長期参照ピクチャの、参照されるピクチャパラメータセット中で指定される長期参照ピクチャのリストに対する索引を指定し得る。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］の値は、両端値を含む０〜３１の範囲内であり得る。
【０２４６】
変数ＬｔＲｐｓＰｏｃ［ｉ］およびＬｔＲｐｓＢｙＣｕｒｒＰｉｃ［ｉ］は、次のように導出することができる。
【数２１】
0005972984.tif 000029
【０２４７】
シンタックス要素「ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｐｏｃ＿ｄｅｌｔａ＿ａｄｄ［ｉ］」は、参照されるピクチャパラメータセットから継承されないが現在のピクチャの長期参照ピクチャセットに含まれる第ｉの長期参照ピクチャのピクチャオーダーカウントを指定することができる。シンタックス要素「ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｐｏｃ＿ｄｅｌｔａ＿ａｄｄ［ｉ］」を表すのに使われるビットの数は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｐｏｃ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。
【０２４８】
変数ＬｔＲｐｓＰｏｃ［ｉ＋ＬｔＯｆｆｓｅｔ］は、次のように導出される。
【数２２】
0005972984.tif 000030
【０２４９】
上式で、ＰｉｃＯｒｄｅｒＣｎｔは、現在のピクチャのピクチャオーダーカウントである。
【０２５０】
０に等しくセットされたシンタックス要素「ｕｓｅｄ＿ｂｙ＿ｃｕｒｒ＿ｐｉｃ＿ｆｌａｇ＿ａｄｄ［ｉ］」は、参照されるピクチャパラメータセットから継承されないが現在のピクチャの長期参照ピクチャセットに含まれる第ｉの長期参照ピクチャが、現在のピクチャのインター予測において使われないことを指定することができる。
【０２５１】
変数ＬｔＲｐｓｂｙＣｕｒｒＰｉｃ［ｉ＋ＬｔＯｆｆｓｅｔ］は、次のように導出される。
【数２３】
0005972984.tif 000031
【０２５２】
上述したように、本開示に記載する技法は、ＨＥＶＣ規格に従って実施することができる。以下は、理解を助けるための、ＨＥＶＣ規格についての手短な説明である。さらに、これらの技法は、ＨＥＶＣ規格のコンテキストで説明されるが、これらの技法は、固有規格を含む他の規格に拡張可能であり得る。
【０２５３】
ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【０２５４】
一般に、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ）に分割され得ることを記載する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、復号順序でいくつかの連続的なツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。ツリーブロックは、いくつかの例では、ＬＣＵと呼ばれることがある。
【０２５５】
ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形であり得る。
【０２５６】
ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【０２５７】
一般に、ＰＵは、予測プロセスに関連したデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵについての動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【０２５８】
概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指す「ビデオブロック」という用語も使用し得る。
【０２５９】
ビデオシーケンスは、一般的に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ内に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、１つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。
【０２６０】
一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【０２６１】
本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、ただし、Ｍは必ずしもＮに等しいとは限らない。
【０２６２】
ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【０２６３】
変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実施し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、この場合、ｎはｍよりも大きい。
【０２６４】
いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実施し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【０２６５】
ＣＡＢＡＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられるコンテキストに基づき得る。
【０２６６】
図２は、符号化され送信される複数のピクチャを含む例示的ビデオシーケンス３３を示す概念図である。場合によっては、ビデオシーケンス３３はピクチャのグループ（ＧＯＰ）と呼ばれることがある。ビデオシーケンス３３は、図示のように、表示順でピクチャ３５Ａ、３６Ａ、３８Ａ、３５Ｂ、３６Ｂ、３８Ｂ、および３５Ｃ、ならびに最終ピクチャ３９を含む。ピクチャ３４は、シーケンス３３の前に発生するシーケンスの表示順における最終のピクチャである。図２は概して、ビデオシーケンスのための例示的な予測構造を表し、異なるスライスまたはピクチャタイプ（たとえば、Ｐピクチャもしくはスライス、またはＢピクチャもしくはスライス）のビデオブロックを予測するために使われるピクチャ参照を示すことだけを意図している。実際のビデオシーケンスは、様々なピクチャタイプのより多いまたはより少ないビデオピクチャを異なる表示順で含み得る。ビデオシーケンス３３は、図２に示すものよりも多いまたは少ないピクチャを含んでよく、ビデオシーケンス３３中に示されるピクチャは、理解のため、および例として示されている。
【０２６７】
ブロックベースのビデオコーディングの場合、シーケンス３３中に含まれるビデオピクチャの各々は、コーディングユニット（ＣＵ）や予測ユニット（ＰＵ）などのビデオブロックに区分され得る。たとえば、ビデオピクチャの各ＣＵは、１つまたは複数のＰＵを含み得る。イントラコード化（Ｉ）ピクチャ中のビデオブロックは、同じピクチャ中の隣接ブロックに関する空間的予測を使用して予測される。インターコード化（ＰまたはＢ）ピクチャ中のビデオブロックは、同じピクチャ中の隣接ブロックに関する空間的予測、または他の参照ピクチャに関する時間的予測を使用し得る。
【０２６８】
Ｂピクチャ中のビデオブロックは、２つの異なる参照ピクチャリスト（たとえば、リスト０およびリスト１と呼ばれる参照ピクチャリスト０および１）から２つの動きベクトルを算出するための双方向予測を使って予測することができる。場合によっては、Ｂピクチャ中のビデオブロックは、２つの異なる参照ピクチャリストのうちの１つからの単方向予測を使用して予測され（たとえば、単方向Ｂコード化され）得る。Ｐピクチャ中のビデオブロックは、単一の参照ピクチャリストからの単一の動きベクトルを計算するために、単方向予測を使用して予測され得る。新生のＨＥＶＣ規格によると、ビデオブロックは、２つの参照ピクチャリストのうちの１つから単一の動きベクトルを計算するための単方向予測、または２つの参照ピクチャリストから２つの動きベクトルを計算するための双方向予測のいずれかを使用して符号化され得る。２つの参照ピクチャリストは、たとえば、過去の参照ピクチャもしくは将来の参照ピクチャまたは過去および将来の参照ピクチャの両方を、表示または出力順で、また、常に過去の参照ピクチャを復号順で含み得る。
【０２６９】
図２の例では、最終ピクチャ３９は、イントラモードコーディングのためにＩピクチャに指定される。他の例では、最終ピクチャ３９は、Ｉピクチャであってよい、前のシーケンスの最終ピクチャ３４に関する、（たとえば、Ｐピクチャとして）インターモードコーディングを用いてコーディングされ得る。ビデオピクチャ３５Ａ〜３５Ｃ（総称して「ビデオピクチャ３５」）は、過去のフレームと将来のピクチャとに関する双方向予測を使用して、コーディングのためにＢピクチャに指定される。図示の例では、ピクチャ３５Ａは、ピクチャ３４および３６Ａからビデオピクチャ３５Ａへの矢印によって示されるように、最終ピクチャ３４とピクチャ３６Ａとを参照してＢピクチャとして符号化される。ピクチャ３５Ｂおよび３５Ｃは同様に符号化される。
【０２７０】
ビデオピクチャ３６Ａ〜３６Ｂ（総称して「ビデオピクチャ３６」）は、過去のピクチャを参照して単方向予測を使用してピクチャとしてコーディング用に指定され得る。図示の例では、ピクチャ３６Ａは、ピクチャ３４からビデオピクチャ３６Ａへの矢印によって示されるように、最終ピクチャ３４を参照してＰピクチャとして符号化される。ピクチャ３６Ｂは、同様に符号化される。
【０２７１】
本開示に記載する技法によると、ビデオエンコーダ２０は、シーケンス３３中のピクチャの各々についての参照ピクチャセットをシグナリングすることができる。たとえば、ピクチャ３５Ａの場合、この参照ピクチャセットは、ピクチャ３５Ａ、ならびに復号順においてピクチャ３５Ａに続くピクチャをインター予測するのに使われる可能性があり得るすべての参照ピクチャをインター予測するのに使うことができるすべての参照ピクチャを識別することができる。たとえば、ピクチャ３５Ａについての参照ピクチャセットは、ピクチャ３４およびピクチャ３６ＡについてのＰＯＣ値、ならびに復号順においてピクチャ３５Ａに続くピクチャをインター予測に使われる可能性があり得るものなど、追加参照ピクチャについてのＰＯＣ値を含み得る。ピクチャ３５Ａに続くピクチャは、この例では、復号順においてピクチャ３５Ａに続くとともに、ビデオシーケンス３３内にあるピクチャであり得る。
【０２７２】
ビデオデコーダ３０は次いで、ピクチャ３５Ａ用の参照ピクチャセットを上述したように導出することができる。たとえば、ビデオデコーダ３０は、上述したように、参照ピクチャセットに属す参照ピクチャについてのＰＯＣ値を判断することができる。ビデオデコーダ３０はさらに、少なくとも４つまたは少なくとも５つの参照ピクチャサブセットを、いくつかの例では、上述した６つまでの参照ピクチャサブセットを構成することができる。ビデオデコーダ３０は、６つの参照ピクチャセットを、特定の順序で配置して、ピクチャ３５Ａ用の参照ピクチャセットを導出すればよい。
【０２７３】
ビデオデコーダ３０はさらに、上述したように初期参照ピクチャリストを構成することができ、この場合、初期参照ピクチャリストに含まれるべきピクチャの並べ替えは必要とされない。
【０２７４】
図３は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【０２７５】
図３の例では、ビデオエンコーダ２０は、区分ユニット３５と、予測モジュール４１と、復号ピクチャバッファ（ＤＰＢ）６４と、加算器５０と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測モジュール４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測モジュール４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換モジュール６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図３に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のループフィルタ（ループ内またはループ後）が使用され得る。
【０２７６】
図３に示すように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分は、たとえば、ＬＣＵおよびＣＵの４分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測モジュール４１は、誤り結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測モジュール４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【０２７７】
予測モジュール４１内のイントラ予測モジュール４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じピクチャまたはスライス中の１つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実施し得る。予測モジュール４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実施する。
【０２７８】
動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを判断するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライスまたはＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオピクチャ内のビデオブロックのＰＵの変位を示し得る。
【０２７９】
予測ブロックは、絶対値差分和（ＳＡＤ）、差分２乗和（ＳＳＤ）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングすべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０２８０】
動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵについての動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、復号ピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルと他のシンタックス要素とをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０２８１】
動き補償ユニット４４によって実施される動き補償は、動き推定によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０２８２】
イントラ予測モジュール４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測モジュール４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測モジュール４６は、たとえば、別々の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測モジュール４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測モジュール４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測モジュール４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックについてのひずみおよびレートから比率を計算し得る。
【０２８３】
ブロック用のイントラ予測モードを選択した後、イントラ予測モジュール４６は、ブロック用に選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【０２８４】
予測モジュール４１が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換モジュール５２に適用され得る。変換モジュール５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０２８５】
変換モジュール５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【０２８６】
量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法または技法を実施し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、あるいはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０２８７】
逆量子化ユニット５８および逆変換モジュール６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、復号ピクチャバッファ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０２８８】
本開示によると、予測モジュール４１は、上述した例示的機能を実施するための１つの例示的ユニットを表す。たとえば、予測モジュール４１は、どの参照ピクチャが参照ピクチャセットに属すか判断し、ビデオエンコーダ２０に、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせればよい。また、再構成プロセス（たとえば、参照ピクチャとして使用し、復号ピクチャバッファ６４に記憶するためのピクチャを再構成するのに使われるプロセス）中、予測モジュール４１は、参照ピクチャのうちの１つまたは複数を各々が識別する複数の参照ピクチャサブセットを構成することができる。予測モジュール４１は、構成された複数の参照ピクチャサブセットから、参照ピクチャセットを導出することもできる。また、予測モジュール４１は、上述した複数組の例示的擬似コードのうちのいずれか１つまたは複数を実装して、本開示に記載する１つまたは複数の例示的技法を実装すればよい。
【０２８９】
いくつかの例では、予測モジュール４１は、上述したように初期参照ピクチャリストを構成してよい。いくつかの例では、短期参照ピクチャセットまたは初期参照ピクチャリストに含まれるべきピクチャの並べ替えは必要とされない。他の例では、予測モジュール４１以外のユニットが上述の例を実装し得る。いくつかの他の例では、予測モジュール４１は、ビデオエンコーダ２０の１つまたは複数の他のユニットとともに、上述した例を実装することができる。さらにいくつかの他の例では、ビデオエンコーダ２０のプロセッサまたはユニット（図３には図示せず）は、単独で、またはビデオエンコーダ２０の他のユニットとともに、上述した例を実装することができる。
【０２９０】
図４は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図４の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測モジュール８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、復号ピクチャバッファ（ＤＰＢ）９２とを含む。予測モジュール８１は、動き補償ユニット８２と、イントラ予測モジュール８４とを含む。ビデオデコーダ３０は、いくつかの例では、図３のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
【０２９１】
復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測モジュール８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０２９２】
ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測モジュール８１のイントラ予測モジュール８４は、シグナリングされたイントラ予測モードと、現在ピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオピクチャがインターコード化（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測モジュール８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。いくつかの例では、ビデオデコーダ３０は、導出された参照ピクチャセット中で識別された参照ピクチャから、リスト０とリスト１とを構成することができる。
【０２９３】
動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を判断し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
【０２９４】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオ符号器２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオ符号器２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０２９５】
逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を判断し、同様に、適用すべき逆量子化の程度を判断することを含み得る。逆変換モジュール８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０２９６】
予測モジュール８１が、インター予測またはイントラ予測のいずれかに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換モジュール８８からの残差ブロックを予測モジュール８１によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために、（コーディングループ内またはコーディングループ後の）他のループフィルタも使用され得る。次いで、所与のピクチャ内の復号されたビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する復号ピクチャバッファ９２に記憶される。復号ピクチャバッファ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
【０２９７】
本開示によると、予測モジュール８１は、上述した例示的機能を実施するための１つの例示的ユニットを表す。たとえば、予測モジュール８１は、どの参照ピクチャが参照ピクチャセットに属すか判断することができる。また、予測モジュール８１は、参照ピクチャのうちの１つまたは複数のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することができる。予測モジュール８１は、構成された複数の参照ピクチャサブセットから、参照ピクチャセットを導出することもできる。また、予測モジュール８１は、上述した複数組の例示的擬似コードのうちのいずれか１つまたは複数を実装して、本開示に記載する１つまたは複数の例示的技法を実装すればよい。
【０２９８】
いくつかの例では、予測モジュール８１は、上述したように初期参照ピクチャリストを構成してよい。いくつかの例では、短期参照ピクチャセットまたは初期参照ピクチャリストに含まれるべきピクチャの並べ替えは必要とされない。他の例では、予測モジュール８１以外のユニットが上述の例を実装し得る。いくつかの他の例では、予測モジュール８１は、ビデオデコーダ３０の１つまたは複数の他のユニットとともに、上述した例を実装することができる。さらにいくつかの他の例では、ビデオデコーダ３０のプロセッサまたはユニット（図４には図示せず）は、単独で、またはビデオデコーダ３０の他のユニットとともに、上述した例を実装することができる。
【０２９９】
図５は、参照ピクチャセットを導出する例示的操作を示すフローチャートである。説明のためにのみ、図５の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。たとえば、いくつかの例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）が、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、符号化または復号する）ことができる（９４）。参照ピクチャセットは、現在のピクチャをインター予測するため、および復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別することができる。
【０３００】
たとえば、ビデオエンコーダ２０がステップ９４を実施するとき、ビデオエンコーダ２０は、参照ピクチャセットに属す参照ピクチャについての識別子を示す値を符号化することができる。たとえば、ビデオエンコーダ２０は、ビットストリーム中でｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素と、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素とをシグナリングすることができる。ビデオデコーダ３０がステップ９４を実施するとき、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素から、ビデオデコーダ３０は、ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値を判断することができる。ビデオデコーダ３０は次いで、参照ピクチャセットに属す参照ピクチャについての識別子（たとえば、ＰＯＣ値）を判断することができる。
【０３０１】
ビデオコーダは、複数の参照ピクチャサブセットを構成することができる。各参照ピクチャサブセットは、ゼロ個の参照ピクチャを識別することができ、または参照ピクチャのうちの１つもしくは複数を識別することができる（９６）。たとえば、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを構成することができる。ただし、本開示の態様はそのように限定されない。いくつかの例では、ビデオコーダは、５つの参照ピクチャサブセットを構成することができ、そのうち４つは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットのうちの４つであってよく、そのうちの第５のサブセットは、残りの６つの参照ピクチャサブセットの２つの組合せ（たとえば、ＲｅｆＰｉｃＳｅｔＦｏｌｌ０およびＲｅｆＰｉｃＳｅｔＦｏｌｌ１参照ピクチャサブセットの組合せ）であってよい。
【０３０２】
いくつかの例では、ビデオコーダは、以下の４つの参照ピクチャサブセットのうちの少なくとも２つを構成することができる。他の例では、ビデオコーダは、少なくとも以下の４つの参照ピクチャサブセットを構成することができる。第１の参照ピクチャサブセットは、復号順で現在のピクチャに先立ち、出力順で現在のピクチャに先立つとともに、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数とをインター予測するために使われる可能性があり得る短期参照ピクチャを識別することができる。第２の参照ピクチャサブセットは、復号順で現在のピクチャに先立ち、出力順で現在のピクチャに続くとともに、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数とをインター予測するために使われる可能性があり得る短期参照ピクチャを識別することができる。
【０３０３】
第３の参照ピクチャサブセットは、復号順で現在のピクチャに先立つとともに、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数とをインター予測するために使われる可能性があり得る長期参照ピクチャを識別することができる。第４の参照ピクチャサブセットは、復号順で現在のピクチャに先立つとともに、現在のピクチャをインター予測するためには使うことができず、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数をインター予測するために使われる可能性があり得る長期参照ピクチャを識別することができる。
【０３０４】
ビデオコーダは、複数の参照ピクチャサブセットから、参照ピクチャセットを導出することができる（９８）。たとえば、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットのうちの少なくとも２つを、特定の順序で並べて、参照ピクチャセットを導出すればよい。
【０３０５】
いくつかの例では、ビデオコードによって実施される順序付けは、参照ピクチャサブセットの各々の中のピクチャが、参照ピクチャセット内で順次識別され得ることを意味し得る。これらの例では、ビデオコーダは、参照ピクチャセットの中への索引値で、参照ピクチャセット中の参照ピクチャを参照すればよい。
【０３０６】
ビデオコーダは、導出された参照ピクチャセットに基づいて、現在のピクチャをコーディングすればよい（１００）。ビデオコーダが参照ピクチャサブセットから参照ピクチャセットを導出するので、ビデオコーダは、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングするものと見なされ得ることを理解されたい。たとえば、ビデオコーダは、複数の参照ピクチャサブセットに基づいて（たとえば、複数の参照ピクチャサブセットから導出される導出された参照ピクチャセットから）、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つを構成することができる。ビデオコーダは次いで、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つに基づいて、現在のピクチャをコーディングすればよい。
【０３０７】
図６は、参照ピクチャリストを構成する例示的操作を示すフローチャートである。説明のためにのみ、図６の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。図５と同様に、ビデオコーダは、参照ピクチャを示す情報をコーディングして（１０２）、複数の参照ピクチャサブセットを構成すればよい（１０４）。
【０３０８】
ビデオコーダは次いで、参照ピクチャサブセットから、初期参照ピクチャリストに参照ピクチャを追加して、初期参照ピクチャリストを構成すればよい（１０６）。いくつかの例では、ビデオエンコーダ２０とビデオデコーダ３０の両方が、初期参照ピクチャリストを構成することができる。たとえば、ビデオエンコーダ２０は、初期参照ピクチャリストを構成して、ＤＰＢ６４に記憶するための再構成ビデオブロックを作成することができる。ビデオデコーダ３０は、その復号プロセスの一部として初期参照ピクチャリストを構成すればよく、初期参照ピクチャリストを構成するための方法に関する情報をビデオデコーダ３０がビデオエンコーダ２０から受信する必要がないデフォルトの構成技法を実装すればよい。ビデオデコーダ３０は、たとえば、初期参照ピクチャリストをＤＰＢ９２に記憶することができる。
【０３０９】
いくつかの例では、初期参照ピクチャリストを構成するために、ビデオコーダは、複数の参照ピクチャサブセットのうちの第１のサブセットから初期参照ピクチャリストに参照ピクチャを、続いて第２のサブセットから初期参照ピクチャリストに参照ピクチャを、続いて第３のサブセットから参照ピクチャを、初期参照ピクチャリストに追加すればよい。ビデオコーダは、初期参照ピクチャリスト中にリストされる参照ピクチャの総数が初期参照ピクチャリスト中の最大許容エントリ数以下である限り、これらの参照ピクチャサブセットから参照ピクチャを追加すればよい。たとえば、参照ピクチャリストに参照ピクチャを追加する間のどの時点でも、初期参照ピクチャリスト中のエントリの数が許容初期参照リストエントリの最大数に等しくなった場合、ビデオコーダは、初期参照ピクチャリストにどの追加ピクチャを追加するのも停止してよい。
【０３１０】
ビデオコーダは、現在のピクチャのビデオブロックが双予測される例などと同様に、別の初期参照ピクチャリストを構成すればよい。この例では、この別の初期参照ピクチャリストを構成するために、ビデオコーダは、この別の初期参照ピクチャリスト中のエントリの総数がエントリの許容数以下である限り、第２のサブセットから別の初期参照ピクチャリストに参照ピクチャを、続いて第１のサブセットから別の初期参照ピクチャリストに参照ピクチャを、続いて第３のサブセットから別の初期参照ピクチャリストに参照ピクチャを追加すればよい。これらの例では、第１のサブセットはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットであってよく、第２のサブセットはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットであってよく、第３のサブセットはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットであってよい。
【０３１１】
何らかの例では、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中で識別された参照ピクチャを追加するために、ビデオコーダは、これらの参照ピクチャサブセットの各々の中の参照ピクチャの数をビデオコーダがそこから判断することができるシンタックス要素をコーディング（たとえば、符号化または復号）すればよい。たとえば、ビデオコーダは、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０シンタックス要素とｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１シンタックス要素とをコーディングすればよい。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０シンタックス要素およびｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１シンタックス要素は、それぞれ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットおよびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中で識別された参照ピクチャの数を示し得る。
【０３１２】
ビデオコーダは、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素とｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素とをコーディングしてもよい。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素は、ピクチャパラメータセット（ＰＰＳ）にその識別が含まれる長期参照ピクチャの数を示すことができ、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素は、ＰＰＳにその識別情報が含まれない長期参照ピクチャの数を示すことができる。この例では、これらの長期参照ピクチャは、現在のピクチャをインター予測するために使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る。
【０３１３】
ビデオコーダは、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素に基づいて、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャの数を判断することができる。たとえば、ビデオコーダは、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素の値と、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素の値を合計して、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャの数を判断することができる。
【０３１４】
ビデオコーダは、１つまたは複数の参照ピクチャリストに基づいて現在のピクチャをコーディングすればよい（１０８）。たとえば、ビデオコーダは、導出された参照ピクチャセットに基づいて、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つを構成することができる。ビデオコーダは次いで、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つに基づいて、現在のピクチャをコーディングすればよい。
【０３１５】
図７は、参照ピクチャセットを導出する例示的操作を示すフローチャートである。説明のためにのみ、図７の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。
【０３１６】
ビデオコーダは、現在のピクチャ用の参照ピクチャセットが、パラメータセット中およびスライスヘッダ中で識別される参照ピクチャから構成されるべきであると判断する（１１２）。現在のピクチャと、スライスヘッダ中で識別される参照ピクチャのうちのいずれかとの間の距離が、現在のピクチャと、パラメータセット中で識別される参照ピクチャのうちのいずれかとの間の距離よりも大きくなるように、パラメータセットに含まれるピクチャおよびスライスヘッダに含まれるピクチャが、パラメータセットおよびスライスヘッダに含められるために選択され得る。パラメータセットおよびスライスヘッダ中で識別される参照ピクチャに基づいて、ビデオコーダは、参照ピクチャセットを構成することができる（１１４）。構成された参照ピクチャセットから、ビデオコーダは、構成された参照ピクチャセットを並べ替えずに、初期参照ピクチャリストを構成することができる（１１６）。パラメータセットは、たとえば、ＰＰＳを含み得る。現在のピクチャと参照ピクチャとの間の距離は、上述したように、デルタピクチャオーダーカウント値に基づいて判断され得る。
【０３１７】
１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０３１８】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０３１９】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０３２０】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０３２１】
様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータをコーディングするための方法であって、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断することであって、前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャのうちのいずれかとの間の出力順での距離が前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャのうちのいずれかとの間の距離よりも大きい、判断することと、
前記パラメータセットおよび前記スライスヘッダで識別される前記参照ピクチャに基づいて、前記参照ピクチャセットを構成することと、を備える方法。
［Ｃ２］
前記構成された参照ピクチャセットから初期参照ピクチャリストを構成すること、をさらに備える、Ｃ１に記載の方法。
［Ｃ３］
前記初期参照ピクチャリストを構成することが、前記構成された参照ピクチャセットを並べ替えずに前記初期参照ピクチャリストを構成することを備える、Ｃ２に記載の方法。
［Ｃ４］
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、Ｃ１に記載の方法。
［Ｃ５］
前記現在のピクチャと前記参照ピクチャとの間の前記距離が、デルタピクチャオーダーカウント値に基づいて判断される、Ｃ１に記載の方法。
［Ｃ６］
シンタックス要素をコーディングすることであって、前記シンタックス要素が、前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される前記参照ピクチャおよび前記スライスヘッダで識別される前記参照ピクチャから構成されるべきであることを示す、コーディングすることをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
コーディングすることが復号することを備え、前記方法が、前記パラメータセットを受信することと、前記スライスヘッダを受信することとをさらに備える、Ｃ１に記載の方法。
［Ｃ８］
コーディングすることが符号化することを備え、前記方法が、前記パラメータセットを生成することと、前記スライスヘッダを生成することとをさらに備える、Ｃ１に記載の方法。
［Ｃ９］
ビデオデータをコーディングするためのデバイスであって、ビデオコーダを備え、前記ビデオコーダが、現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断することであって、前記現在のピクチャと前記スライスヘッダで識別される前記参照ピクチャのうちのいずれかとの間の出力順での距離が前記現在のピクチャと前記パラメータセットで識別される前記参照ピクチャのうちのいずれかとの間の距離よりも大きい、判断することと、前記パラメータセットおよび前記スライスヘッダで識別される前記参照ピクチャに基づいて、前記参照ピクチャセットを構成することとを行うように構成される、デバイス。
［Ｃ１０］
前記ビデオコーダが、前記構成された参照ピクチャセットから初期参照ピクチャリストを構成するようにさらに構成される、Ｃ９に記載のデバイス。
［Ｃ１１］
前記ビデオコーダが、前記構成された参照ピクチャセットを並べ替えずに前記初期参照ピクチャリストを構成することによって、前記初期参照ピクチャリストを構成する、Ｃ１０に記載のデバイス。
［Ｃ１２］
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、Ｃ９に記載のデバイス。
［Ｃ１３］
前記ビデオコーダが、デルタピクチャオーダーカウント値に基づいて、前記現在のピクチャと前記参照ピクチャとの間の前記距離を判断する、Ｃ９に記載のデバイス。
［Ｃ１４］
前記ビデオコーダがシンタックス要素をコーディングするようにさらに構成され、前記シンタックス要素が、前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される前記参照ピクチャおよび前記スライスヘッダで識別される前記参照ピクチャから構成されるべきであることを示す、Ｃ９に記載のデバイス。
［Ｃ１５］
前記ビデオコーダがビデオデコーダを備え、前記ビデオデコーダが、前記パラメータセットを受信し、前記スライスヘッダを受信するように構成される、Ｃ９に記載のデバイス。
［Ｃ１６］
前記ビデオコーダがビデオエンコーダを備え、前記ビデオエンコーダが、前記パラメータセットを生成し、前記スライスヘッダを生成するように構成される、Ｃ９に記載のデバイス。
［Ｃ１７］
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオコーダを含むワイヤレス通信デバイスとのうちの少なくとも１つを備える、Ｃ９に記載のデバイス。
［Ｃ１８］
ビデオコーディングのためのデバイスであって、
現在のピクチャ用の参照ピクチャセットが、パラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断するための手段であって、前記現在のピクチャと、前記スライスヘッダで識別される前記参照ピクチャのうちのいずれかとの間の、出力順での距離が、前記現在のピクチャと、前記パラメータセットで識別される前記参照ピクチャのうちのいずれかとの間の距離よりも大きい、手段と、
前記パラメータセットおよび前記スライスヘッダで識別される前記参照ピクチャに基づいて、前記参照ピクチャセットを構成するための手段と、を備えるデバイス。
［Ｃ１９］
前記構成された参照ピクチャセットから初期参照ピクチャリストを構成するための手段をさらに備える、Ｃ１８に記載のデバイス。
［Ｃ２０］
前記構成された参照ピクチャセットを並べ替えずに前記初期参照ピクチャリストを構成するための前記手段が、前記初期参照ピクチャリストを構成する、Ｃ１９に記載のデバイス。
［Ｃ２１］
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、Ｃ１８に記載のデバイス。
［Ｃ２２］
前記現在のピクチャと前記参照ピクチャとの間の前記距離が、デルタピクチャオーダーカウント値に基づいて判断される、Ｃ１８に記載のデバイス。
［Ｃ２３］
シンタックス要素をコーディングするための手段であって、前記シンタックス要素が、前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される前記参照ピクチャおよび前記スライスヘッダで識別される前記参照ピクチャから構成されるべきであることを示す、手段をさらに備える、Ｃ１８に記載のデバイス。
［Ｃ２４］
コーディングするための前記手段が復号するための手段を備え、前記デバイスが、前記パラメータセットを受信するための手段と、前記スライスヘッダを受信するための手段とをさらに備える、Ｃ１８に記載のデバイス。
［Ｃ２５］
コーディングするための前記手段が符号化するための手段を備え、前記デバイスが、前記パラメータセットを生成するための手段と、前記スライスヘッダを生成するための手段とをさらに備える、Ｃ１８に記載のデバイス。
［Ｃ２６］
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
現在のピクチャ用の参照ピクチャセットがパラメータセットで識別される参照ピクチャおよびスライスヘッダで識別される参照ピクチャから構成されるべきであると判断することでであって、前記現在のピクチャと、前記スライスヘッダで識別される前記参照ピクチャのうちのいずれかとの間の、出力順での距離が、前記現在のピクチャと、前記パラメータセットで識別される前記参照ピクチャのうちのいずれかとの間の距離よりも大きい、判断することと、
前記パラメータセットおよび前記スライスヘッダで識別される前記参照ピクチャに基づいて、前記参照ピクチャセットを構成することとを行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
［Ｃ２７］
前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、
前記構成された参照ピクチャサブセットに基づいて初期参照ピクチャリストを構成させる命令をさらに記憶する、Ｃ２６に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ２８］
前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記構成された参照ピクチャセットを並べ替えずに前記初期参照ピクチャリストを構成することによって、前記初期参照ピクチャリストを構成させる命令をさらに記憶する、Ｃ２７に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ２９］
前記パラメータセットがピクチャパラメータセット（ＰＰＳ）を備える、Ｃ２７に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ３０］
前記現在のピクチャと前記参照ピクチャとの間の前記距離が、デルタピクチャオーダーカウント値に基づいて判断される、Ｃ２７に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ３１］
前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、シンタックス要素をコーディングさせるさらなる命令を記憶し、前記シンタックス要素が、前記現在のピクチャ用の前記参照ピクチャセットが、前記パラメータセットで識別される前記参照ピクチャおよび前記スライスヘッダで識別される前記参照ピクチャから構成されるべきであることを示す、Ｃ２７に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ３２］
前記１つまたは複数のプロセッサがビデオデコーダを備え、前記非一時的コンピュータ可読記憶媒体が、前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記パラメータセットを受信させ、前記スライスヘッダを受信させるさらなる命令を記憶する、Ｃ２７に記載の非一時的コンピュータ可読記憶媒体。
［Ｃ３３］
前記１つまたは複数のプロセッサがビデオデコーダを備え、前記非一時的コンピュータ可読記憶媒体が、前記１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに、前記パラメータセットを生成させ、前記スライスヘッダを生成させるさらなる命令を記憶する、Ｃ２７に記載の非一時的コンピュータ可読記憶媒体。
【図１】
0005972984.tif 000032
【図３】
0005972984.tif 000033
【図４】
0005972984.tif 000034
【図５】
0005972984.tif 000035
【図６】
0005972984.tif 000036
【図７】
0005972984.tif 000037
【図２】
0005972984.tif 000038