(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号するための方法であって、
復号されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す情報を復号することと、前記参照ピクチャセットは、復号されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
復号されるべき前記現在のピクチャの前記参照ピクチャセットに属す前記参照ピクチャを示す前記情報に基づいて復号されるべき前記現在のピクチャの前記参照ピクチャセットを導出することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが復号される前に、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを復号することと、
を備える方法。
【請求項２】
ビデオデータを符号化するための方法であって、
符号化されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す情報を符号化することと、前記参照ピクチャセットは、符号化されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
符号化されるべき前記現在のピクチャの前記参照ピクチャセットに属す前記参照ピクチャを示す前記情報に基づいて符号化されるべき前記現在のピクチャの前記参照ピクチャセットを導出することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが符号化される前に、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを符号化することと、
を備える方法。
【請求項３】
前記参照ピクチャセットに基づいて、前記現在のピクチャの参照ピクチャリストを構成することをさらに備え、
前記ＤＰＢから前記復号ピクチャを削除することは、前記現在のピクチャの前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除することを備える、請求項１または２に記載の方法。
【請求項４】
前記復号ピクチャを出力するべき時間を決定することと、
前記決定された時間に基づいて、および前記現在のピクチャを復号するのに先立って、前記復号ピクチャを出力することと、
をさらに備える、請求項１に記載の方法。
【請求項５】
前記現在のピクチャを復号した後、前記現在のピクチャを前記ＤＰＢに記憶することをさらに備える、請求項１に記載の方法。
【請求項６】
前記ＤＰＢが満杯かどうか決定することと、
前記ＤＰＢが満杯であることに応答して、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択することと、
前記選択されたピクチャを出力することと、
をさらに備える、請求項１に記載の方法。
【請求項７】
前記出力ピクチャが前記参照ピクチャセットに含まれないと決定することと、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にすることと、
前記現在のピクチャを復号した後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶することと、
をさらに備える、請求項６に記載の方法。
【請求項８】
ビデオデータを復号するためのデバイスであって、
参照ピクチャを記憶するように構成された復号ピクチャバッファ（ＤＰＢ）と、
復号されるべき現在のピクチャの参照ピクチャセットに属す前記ＤＰＢに記憶された参照ピクチャを示す情報を復号することと、前記参照ピクチャセットは、復号されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
復号されるべき前記現在のピクチャの前記参照ピクチャセットに属す参照ピクチャを示す前記情報に基づいて復号されるべき前記現在のピクチャの前記参照ピクチャセットを導出することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが復号される前に、前記ＤＰＢに記憶された復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを復号することと、
を行うように構成されたビデオデコーダと、を備えるデバイス。
【請求項９】
ビデオデータを符号化するためのデバイスであって、
参照ピクチャを記憶するように構成された復号ピクチャバッファ（ＤＰＢ）と、
符号化されるべき現在のピクチャの参照ピクチャセットに属す前記ＤＰＢに記憶された参照ピクチャを示す情報を符号化することと、前記参照ピクチャセットは、符号化されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
符号化されるべき前記現在のピクチャの参照ピクチャセットに属す前記参照ピクチャを示す前記情報に基づいて符号化するべき前記現在のピクチャの前記参照ピクチャセットを導出することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが符号化される前に、前記ＤＰＢに記憶された復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを符号化することと、
を行うように構成されたビデオエンコーダとを備えるデバイス。
【請求項１０】
前記ビデオデコーダは、
前記参照ピクチャセットに基づいて、前記現在のピクチャの参照ピクチャリストを構成するように構成され、
前記ＤＰＢから前記復号ピクチャを削除するために、前記ビデオデコーダは、前記現在のピクチャの前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除するように構成される、請求項８に記載のデバイス。
【請求項１１】
前記ビデオデコーダは、
前記復号ピクチャを出力するべき時間を決定し、
前記決定された時間に基づいて、および前記現在のピクチャを復号するのに先立って、前記復号ピクチャを出力するように構成される、請求項８に記載のデバイス。
【請求項１２】
前記ビデオデコーダは、
前記現在のピクチャを復号した後、前記現在のピクチャを前記ＤＰＢに記憶するように構成される、請求項８に記載のデバイス。
【請求項１３】
前記ビデオデコーダは、
前記ＤＰＢが満杯かどうか決定し、
前記ＤＰＢが満杯であることに応答して、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択し、
前記選択されたピクチャを出力するように構成される、請求項８に記載のデバイス。
【請求項１４】
前記ビデオデコーダは、
前記出力ピクチャが前記参照ピクチャセットに含まれないと決定し、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にし、
前記現在のピクチャを復号した後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶するように構成される、請求項１３に記載のデバイス。
【請求項１５】
前記デバイスは、
前記現在のピクチャを表示するように構成されたディスプレイまたは前記現在のピクチャをキャプチャするように構成されたカメラのうちの少なくとも１つを備えるワイヤレス通信デバイス、
マイクロプロセッサ、または
集積回路のうちの１つを備える、請求項８または９に記載のデバイス。
【請求項１６】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータを復号するためのデバイスのプロセッサに、
復号されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す情報を復号することと、前記参照ピクチャセットは、復号されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
復号されるべき現在のピクチャの参照ピクチャセットに属す前記参照ピクチャを示す前記情報に基づいて復号されるべき前記現在のピクチャの前記参照ピクチャセットを導出することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが復号される前に、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを復号することと、
を行わせる、コンピュータ可読記憶媒体。
【請求項１７】
命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータを復号するためのデバイスのプロセッサに、
符号化されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す情報を符号化することと、前記参照ピクチャセットは、符号化されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
符号化されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す前記情報に基づいて符号化されるべき前記現在のピクチャの前記参照ピクチャセットを導出することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが符号化される前に、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除することと、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを符号化することと、
を行わせる、コンピュータ可読記憶媒体。
【請求項１８】
前記命令は、前記プロセッサに、
前記参照ピクチャセットに基づいて、前記現在のピクチャの参照ピクチャリストを構成させる命令をさらに備え、
前記プロセッサに、前記ＤＰＢから前記復号ピクチャを削除させる前記命令は、前記プロセッサに、前記現在のピクチャの前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除させる命令を備える、請求項１６または１７に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記命令は、前記プロセッサに、
前記復号ピクチャを出力するべき時間を決定させ、
前記決定された時間に基づいて、および前記現在のピクチャを復号するのに先立って、前記復号ピクチャを出力させる命令をさらに備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記命令は、前記プロセッサに、
前記現在のピクチャを復号した後、前記現在のピクチャを前記ＤＰＢに記憶させる命令をさらに備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記命令は、前記プロセッサに、
前記ＤＰＢが満杯かどうか決定させ、
前記ＤＰＢが満杯であることに応答して、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択させ、
前記選択されたピクチャを出力させる命令をさらに備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２２】
前記命令は、前記プロセッサに、
前記出力ピクチャが前記参照ピクチャセットに含まれないと決定させ、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にさせ、
前記現在のピクチャを復号した後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶させる命令をさらに備える、請求項２１に記載のコンピュータ可読記憶媒体。
【請求項２３】
ビデオデータを復号するためのデバイスであって、
復号されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す情報を復号する手段と、前記参照ピクチャセットは、復号されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
復号されるべき前記現在のピクチャの前記参照ピクチャセットに属す前記参照ピクチャを示す前記情報に基づいて復号されるべき前記現在のピクチャの前記参照ピクチャセットを導出する手段と、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが復号される前に、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定する手段と、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに復号されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除する手段と、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを復号する手段と、
を備えるデバイス。
【請求項２４】
ビデオデータを符号化するためのデバイスであって、
符号化されるべき現在のピクチャの参照ピクチャセットに属す参照ピクチャを示す情報を符号化する手段と、前記参照ピクチャセットは、符号化されるべき前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
符号化されるべき前記現在のピクチャの前記参照ピクチャセットに属す前記参照ピクチャを示す前記情報に基づいて符号化されるべき前記現在のピクチャの前記参照ピクチャセットを導出する手段と、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記現在のピクチャが符号化される前に、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことを決定する手段と、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャが出力に必要とされないとともに符号化されるべき前記現在のピクチャの前記参照ピクチャセット中で識別されないことに基づいて、前記ＤＰＢから前記復号ピクチャを削除する手段と、
前記現在のピクチャの前記参照ピクチャセットを導出した後、前記復号ピクチャの前記削除に続いて、前記現在のピクチャを符号化する手段と、
を備えるデバイス。
【請求項２５】
前記参照ピクチャセットに基づいて、前記現在のピクチャの参照ピクチャリストを構成する手段をさらに備え、
前記ＤＰＢから前記復号ピクチャを削除する前記手段は、前記現在のピクチャの前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除する手段を備える、請求項２３または２４に記載のデバイス。
【請求項２６】
前記復号ピクチャを出力するべき時間を決定する手段と、
前記決定された時間に基づいて、および前記現在のピクチャを復号するのに先立って、前記復号ピクチャを出力する手段と、
をさらに備える、請求項２３に記載のデバイス。
【請求項２７】
前記現在のピクチャを復号した後、前記現在のピクチャを前記ＤＰＢに記憶する手段をさらに備える、請求項２３に記載のデバイス。
【請求項２８】
前記ＤＰＢが満杯かどうか判断する手段と、
前記ＤＰＢが満杯であることに基づいて「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択する手段と、
前記ＤＰＢが満杯であることに基づいて前記選択されたピクチャを出力する手段と、
をさらに備える、請求項２３に記載のデバイス。
【請求項２９】
前記出力ピクチャが前記参照ピクチャセットに含まれないと決定する手段と、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にする手段と、
前記現在のピクチャを復号した後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶する手段と、
をさらに備える、請求項２８に記載のデバイス。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、各々の内容全体が参照により組み込まれる、
２０１１年９月２３日に出願した米国仮出願第６１／５３８，７８７号、
２０１１年９月２６日に出願した米国仮特許出願第６１／５３９，４３３号、および
２０１１年９月３０日に出願した米国仮特許出願第６１／５４２，０３４号の利益を主張する。
【技術分野】
【０００２】
本開示は、ビデオコーディングに関し、より詳細には、ビデオデータをコーディングするための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオ圧縮技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を実施する。ブロックベースのビデオコーディングの場合、ビデオスライス（すなわち、ビデオピクチャまたはビデオピクチャの一部分）が、ツリーブロック、コーティングツリーブロック（ＣＴＢ）、コーディングツリーユニット（ＣＴＵ）、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]空間的予測または時間的予測によって、コーディングされるべきブロックの予測ブロックが生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化ブロックと予測ブロックとの間の差分を示す残差データに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]概して、本開示は、ビデオコーディングにおいて使用するための参照ピクチャセットの導出に関連した技法について記載する。たとえば、参照ピクチャセットは、複数の参照ピクチャサブセットの組合せをなし得る。参照ピクチャサブセットの各々は、複数の潜在的参照ピクチャであるが、すべてよりも少ない潜在的参照ピクチャを識別し得る。本開示に記載する例示的技法において、ビデオコーダ（エンコーダまたはデコーダ）は、潜在的参照ピクチャのサブセットの識別子を各々が含む複数のリストを構成し得る。これらの複数のリストから、ビデオコーダは複数の参照ピクチャサブセットを構成し得、その結果、ビデオコーダは参照ピクチャセットを導出する。
【０００７】
[0007]参照ピクチャセットの導出に関連した技法に加え、本開示は、簡略化された参照ピクチャリスト初期化技法について記載する。そのような参照ピクチャリスト初期化は、参照ピクチャを並べ替える必要をなくし得る。たとえば、参照ピクチャリスト修正が必要とされない場合、初期参照ピクチャリストは、最終参照ピクチャリストを形成することができ、それ以上の並べ替えは要求しなくてよい。これらの技法は、参照ピクチャリストのエントリが最大許容エントリ数に等しくなるまで、ビデオコーダが参照ピクチャリストに参照ピクチャを繰り返し追加するような、参照ピクチャリストの構成も対象とし得る。
【０００８】
[0008]いくつかの例では、これらの技法は、参照ピクチャリスト修正を対象とする。たとえば、ビデオコーダは、初期参照ピクチャリストの構成の後、参照ピクチャサブセットのうちの１つまたは複数を参照し、参照ピクチャリスト中の参照ピクチャサブセットに１つまたは複数のピクチャを含めることによって、初期参照ピクチャリストを修正し得る。
【０００９】
[0009]いくつかの例では、ビデオコーダは、復号ピクチャバッファ（ＤＰＢ）管理を実施し得る。これらの例では、ビデオコーダは、復号ピクチャが参照ピクチャセットに属さない場合、ＤＰＢからその復号ピクチャを削除し得る。いくつかの事例では、ビデオコーダは、現在のピクチャのコーディングの前に、復号ピクチャを削除し得る。
【００１０】
[0010]一例では、本開示は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることを含む、ビデオデータをコーディングするための方法について記載する。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この方法はまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することと、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングすることとを含む。
【００１１】
[0011]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングするように構成されたビデオコーダを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このビデオコーダはまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成し、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングするようにも構成される。
【００１２】
[0012]一例では、本開示は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせる命令を記憶したコンピュータ可読記憶媒体について記載する。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。命令はまた、プロセッサに、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成させ、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングさせる。
【００１３】
[0013]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする手段を含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このデバイスはまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成する手段と、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングする手段とを含む。
【００１４】
[0014]一例では、本開示は、ビデオデータをコーディングするための方法について記載し、この方法は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この方法はまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することと、参照ピクチャリストエントリの数が許容参照リストエントリの最大数以下である限り、複数の参照ピクチャサブセットのうちの第１のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第２のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第３のサブセットからの参照ピクチャを参照ピクチャリストに追加することと、参照ピクチャリストに基づいて現在のピクチャをコーディングすることと、を含む。
【００１５】
[0015]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングするように構成されたビデオコーダを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このビデオコーダは、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成し、参照ピクチャリストエントリの数が許容参照リストエントリの最大数以下である限り、複数の参照ピクチャサブセットのうちの第１のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第２のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第３のサブセットからの参照ピクチャを参照ピクチャリストに追加し、参照ピクチャリストに基づいて現在のピクチャをコーディングするようにも構成される。
【００１６】
[0016]一例では、本開示は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせる命令を記憶したコンピュータ可読記憶媒体について記載する。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この命令はまた、プロセッサに、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成させ、参照ピクチャリストエントリの数が許容参照リストエントリの最大数以下である限り、複数の参照ピクチャサブセットのうちの第１のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第２のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第３のサブセットからの参照ピクチャを参照ピクチャリストに追加させ、参照ピクチャリストに基づいて現在のピクチャをコーディングさせる。
【００１７】
[0017]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする手段を含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このデバイスはまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成する手段と、参照ピクチャリストエントリの数が許容参照リストエントリの最大数以下である限り、複数の参照ピクチャサブセットのうちの第１のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第２のサブセットからの参照ピクチャ、続いて複数の参照ピクチャサブセットのうちの第３のサブセットからの参照ピクチャを参照ピクチャリストに追加する手段と、参照ピクチャリストに基づいて現在のピクチャをコーディングする手段と、を含む。
【００１８】
[0018]一例では、本開示は、ビデオデータをコーディングするための方法について記載し、この方法は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この方法はまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することと、複数の参照ピクチャサブセットから参照ピクチャリスト中の第１のエントリセットに参照ピクチャを追加することと、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定することと、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくないとき、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくなるまで、参照ピクチャサブセットのうちの少なくとも１つからの１つまたは複数の参照ピクチャを、第１のエントリセットの後に続く、参照ピクチャリスト中のエントリに、繰り返し再追加することと、参照ピクチャリストに基づいて現在のピクチャをコーディングすることとを含む。
【００１９】
[0019]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングするように構成されたビデオコーダを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このビデオコーダは、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成し、複数の参照ピクチャサブセットから参照ピクチャリスト中の第１のエントリセットに参照ピクチャを追加し、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定し、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくないとき、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくなるまで、参照ピクチャサブセットのうちの少なくとも１つからの１つまたは複数の参照ピクチャを、第１のエントリセットの後に続く、参照ピクチャリスト中のエントリに、繰り返し再追加し、参照ピクチャリストに基づいて現在のピクチャをコーディングするようにも構成される。
【００２０】
[0020]一例では、本開示は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせる命令を記憶したコンピュータ可読記憶媒体について記載する。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この命令はまた、プロセッサに、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成させ、複数の参照ピクチャサブセットから参照ピクチャリスト中の第１のエントリセットに参照ピクチャを追加させ、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定させ、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくないとき、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくなるまで、参照ピクチャサブセットのうちの少なくとも１つからの１つまたは複数の参照ピクチャを、第１のエントリセットの後に続く、参照ピクチャリスト中のエントリに、繰り返し再追加させ、参照ピクチャリストに基づいて現在のピクチャをコーディングさせる。
【００２１】
[0021]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする手段を含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このデバイスはまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成する手段と、複数の参照ピクチャサブセットからの参照ピクチャを参照ピクチャリスト中の第１のエントリセットに追加する手段と、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定する手段と、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくないとき、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくなるまで、参照ピクチャサブセットのうちの少なくとも１つから、第１のエントリセットの後に続く、参照ピクチャリスト中のエントリに、１つまたは複数の参照ピクチャを繰り返し再追加する手段と、参照ピクチャリストに基づいて現在のピクチャをコーディングする手段とを含む。
【００２２】
[0022]一例では、本開示は、ビデオデータをコーディングするための方法について記載し、この方法は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この方法は、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することと、構成された参照ピクチャサブセットに基づいて初期参照ピクチャリストを構成することと、参照ピクチャ修正が必要とされるとき、構成された参照ピクチャサブセットのうちの少なくとも１つにおいて参照ピクチャを識別することと、修正参照ピクチャリストを構成するために、識別された参照ピクチャを初期参照ピクチャの現在のエントリに追加することとを含む。この方法は、修正参照ピクチャリストに基づいて現在のピクチャをコーディングすることをさらに含む。
【００２３】
[0023]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングするように構成されたビデオコーダを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このビデオコーダは、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成し、構成された参照ピクチャサブセットに基づいて初期参照ピクチャリストを構成し、参照ピクチャ修正が必要とされるとき、構成された参照ピクチャサブセットのうちの少なくとも１つにおいて参照ピクチャを識別し、修正参照ピクチャリストを構成するために、識別された参照ピクチャを初期参照ピクチャの現在のエントリに追加するようにも構成される。ビデオコーダは、修正参照ピクチャリストに基づいて現在のピクチャをコーディングするようにも構成される。
【００２４】
[0024]一例では、本開示は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせる命令を記憶したコンピュータ可読記憶媒体について記載する。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。命令はまた、プロセッサに、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成させ、構成された参照ピクチャサブセットに基づいて初期参照ピクチャリストを構成させ、参照ピクチャ修正が必要とされるとき、構成された参照ピクチャサブセットのうちの少なくとも１つにおいて参照ピクチャを識別させ、修正参照ピクチャリストを構成するために、識別された参照ピクチャを初期参照ピクチャの現在のエントリに追加させる。命令はまた、プロセッサに、修正参照ピクチャリストに基づいて現在のピクチャをコーディングさせる。
【００２５】
[0025]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする手段を含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このデバイスはまた、参照ピクチャセットの参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成する手段と、構成された参照ピクチャサブセットに基づいて初期参照ピクチャリストを構成する手段と、参照ピクチャ修正が必要とされるとき、構成された参照ピクチャサブセットのうちの少なくとも１つにおいて参照ピクチャを識別する手段と、修正参照ピクチャリストを構成するために、識別された参照ピクチャを初期参照ピクチャの現在のエントリに追加する手段とを含む。デバイスは、修正参照ピクチャリストに基づいて現在のピクチャをコーディングする手段も含む。
【００２６】
[0026]一例では、本開示は、ビデオデータをコーディングするための方法について記載し、この方法は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この方法は、コード化情報に基づいて参照ピクチャセットを導出することと、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないかどうか決定することと、復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないとき、ＤＰＢから復号ピクチャを削除することと、復号ピクチャの削除に続いて、現在のピクチャをコーディングすることとを含む。
【００２７】
[0027]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングするように構成されたビデオコーダを含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このビデオコーダは、コード化情報に基づいて参照ピクチャセットを導出し、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないかどうか決定し、復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないとき、ＤＰＢから復号ピクチャを削除し、復号ピクチャの削除に続いて、現在のピクチャをコーディングするようにも構成される。
【００２８】
[0028]一例では、本開示は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせる命令を記憶したコンピュータ可読記憶媒体について記載する。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。命令はまた、プロセッサに、コード化情報に基づいて参照ピクチャセットを導出させ、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないかどうか決定させ、復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないとき、ＤＰＢから復号ピクチャを削除させ、復号ピクチャの削除に続いて、現在のピクチャをコーディングさせる。
【００２９】
[0029]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする手段を含む。この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このデバイスはまた、コード化情報に基づいて参照ピクチャセットを導出する手段と、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないかどうか決定する手段と、復号ピクチャが出力に必要とされないとともに参照ピクチャセット中で識別されないとき、ＤＰＢから復号ピクチャを削除する手段と、復号ピクチャの削除に続いて、現在のピクチャをコーディングする手段とを含む。
【００３０】
[0030]一例では、本開示は、ビデオデータをコーディングする方法について記載し、この方法は、パラメータセット中で識別される候補長期参照ピクチャを示すシンタックス要素をコーディングすることを含む。この例では、候補長期参照ピクチャのうちの１つまたは複数は、現在のピクチャの参照ピクチャセットに属す。また、この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。この方法はまた、パラメータセット中で識別されたどの候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すかを示すシンタックス要素をコーディングすることと、どの候補長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すかの指示に基づいて、複数の参照ピクチャサブセットのうちの少なくとも１つを構成することとを含む。この例では、複数の参照ピクチャサブセットが参照ピクチャセットを形成する。
【００３１】
[0031]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、パラメータセット中で識別された候補長期参照ピクチャを示すシンタックス要素をコーディングするように構成されたビデオコーダを含む。この例では、候補長期参照ピクチャのうちの１つまたは複数は、現在のピクチャの参照ピクチャセットに属す。また、この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このビデオコーダは、パラメータセット中で識別されたどの候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すかを示すシンタックス要素をコーディングし、どの候補長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すかの指示に基づいて、複数の参照ピクチャサブセットのうちの少なくとも１つを構成するようにも構成される。この例では、複数の参照ピクチャサブセットが参照ピクチャセットを形成する。
【００３２】
[0032]一例では、本開示は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、パラメータセット中で識別された候補長期参照ピクチャを示すシンタックス要素をコーディングさせる命令を記憶したコンピュータ可読記憶媒体について記載する。この例では、候補長期参照ピクチャのうちの１つまたは複数は、現在のピクチャの参照ピクチャセットに属す。また、この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。命令はまた、プロセッサに、パラメータセット中で識別されたどの候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すかを示すシンタックス要素をコーディングさせ、どの候補長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すかの指示に基づいて、複数の参照ピクチャサブセットのうちの少なくとも１つを構成させる。この例では、複数の参照ピクチャサブセットが参照ピクチャセットを形成する。
【００３３】
[0033]一例では、本開示は、ビデオデータをコーディングするためのデバイスについて説明する。このデバイスは、パラメータセット中で識別された候補長期参照ピクチャを示すシンタックス要素をコーディングする手段を含む。この例では、候補長期参照ピクチャのうちの１つまたは複数は、現在のピクチャの参照ピクチャセットに属す。また、この例では、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。このデバイスはまた、パラメータセット中で識別されたどの候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すかを示すシンタックス要素をコーディングする手段と、どの候補長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すかの指示に基づいて、複数の参照ピクチャサブセットのうちの少なくとも１つを構成する手段とを含む。この例では、複数の参照ピクチャサブセットが参照ピクチャセットを形成する。
【００３４】
[0034]１つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００３５】
【図１】本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】符号化され送信される複数のピクチャを含む例示的ビデオシーケンスを示す概念図。
【図３】本開示で説明する技法を実装し得る例示的なビデオエンコーダを示すブロック図。
【図４】本開示で説明する技法を実装し得る例示的なビデオデコーダを示すブロック図。
【図５】参照ピクチャセットを導出する例示的操作を示すフローチャート。
【図６】参照ピクチャリストを構成する例示的操作を示すフローチャート。
【図７】参照ピクチャリストを構成する別の例示的操作を示すフローチャート。
【図８】初期参照ピクチャリストを修正する例示的操作を示すフローチャート。
【図９】復号ピクチャ削除の例示的操作を示すフローチャート。
【図１０】どの長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すか決定する例示的操作を示すフローチャート。
【発明を実施するための形態】
【００３６】
[0045]本開示の技法は概して、インター予測に使われる参照ピクチャの管理を対象とする。たとえば、ビデオコーダ（たとえば、ビデオエンコーダまたはビデオデコーダ）は、復号ピクチャバッファ（ＤＰＢ）を含む。ＤＰＢは、参照ピクチャを含む復号ピクチャを記憶する。参照ピクチャは、ピクチャをインター予測するために使われる可能性があり得るピクチャである。言い換えると、ビデオコーダは、ＤＰＢに記憶された１つまたは複数の参照ピクチャに基づいて、ピクチャのコーディング（符号化または復号）中にそのピクチャを予測することができる。
【００３７】
[0046]ＤＰＢを効率的に使用するために、たとえば、ＤＰＢ中での復号ピクチャの記憶プロセス、参照ピクチャのマーキングプロセス、ＤＰＢからの復号ピクチャの出力および削除プロセスなどのＤＰＢ管理プロセスが指定され得る。概して、いくつかの現行および開発中のビデオコーディング規格では、ＤＰＢ管理は、ピクチャ識別および参照ピクチャ識別、参照ピクチャリスト構成、参照ピクチャマーキング、ＤＰＢからのピクチャ出力、ＤＰＢへのピクチャ挿入、およびＤＰＢからのピクチャ削除という側面のうちの１つまたは複数を含み得る。
【００３８】
[0047]理解を助けるため、いくつかのビデオコーディング規格に従って、参照ピクチャマーキングおよび参照ピクチャリスト構成がどのように起こり得るかを、以下で手短に説明する。本開示に記載する技法のうちのいくつかは、ＤＰＢの使用効率を向上させるように、参照ピクチャマーキング、参照ピクチャリスト構成、ならびにＤＰＢピクチャ削除および出力に存在し得る問題に対処する。
【００３９】
[0048]参照ピクチャマーキングのために、インター予測に使われる参照ピクチャの、Ｍ（ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ）と呼ばれる最大数が、アクティブシーケンスパラメータセット中で示される。参照ピクチャは、復号されると、「参照に使用される」とマーキングされる。参照ピクチャの復号により、Ｍ個より多いピクチャが「参照に使用される」とマーキングされた場合、少なくとも１つのピクチャが「参照に使用されない」とマーキングされていなければならない。ＤＰＢ削除プロセスは次いで、「参照に使用されない」とマーキングされたピクチャが出力にも必要とされない場合、それらのピクチャをＤＰＢから削除することになる。
【００４０】
[0049]ピクチャは、復号されると、非参照ピクチャまたは参照ピクチャのいずれかになり得る。参照ピクチャは、長期参照ピクチャであっても短期参照ピクチャであってもよく、「参照に使用されない」とマーキングされると、参照にはそれ以上必要とされなくなる。いくつかのビデオコーディング規格には、参照ピクチャのステータスを変える参照ピクチャマーキング操作があり得る。
【００４１】
[0050]参照ピクチャマーキングには、スライディングウィンドウおよび適応メモリ制御という、２つのタイプの操作があり得る。参照ピクチャマーキングのための操作モードは、ピクチャに基づいて選択されてよく、スライディングウィンドウ操作は、一定数の短期参照ピクチャをもつ先入れ先出しキューとして作用し得る。言い換えると、復号時間が最も早い短期参照ピクチャが、暗黙的に、削除される最初のものである（参照用に使われないピクチャとマーキングされる）。
【００４２】
[0051]ただし、適応メモリ制御は、短期または長期ピクチャを明示的に削除する。適応メモリ制御は、短期および長期ピクチャなどのステータスを切り替えることも可能にする。たとえば、適応メモリ制御において、ビデオエンコーダは、どのピクチャが参照に使用されるものとマーキングされるべきかを指定するシンタックス要素をシグナリングすることができる。ビデオデコーダは、シンタックス要素を受信し、指定された通りにピクチャをマーキングすればよい。スライディングウィンドウ中、ビデオエンコーダは、どのピクチャが参照に使用されるものとマーキングされるかはシグナリングする必要はなくてよい。そうではなく、ビデオデコーダは、暗黙的に（すなわち、シンタックス要素を受信せずに）、どのピクチャがスライディングウィンドウ内にあるかに基づいて、どのピクチャが参照に使用されるものとマーキングされるか決定し得る。
【００４３】
[0052]ビデオコーダは、どの参照ピクチャをインター予測目的で使うことができるかを示す参照ピクチャリストの構成も課せられ得る。これらの参照ピクチャリストの２つは、それぞれリスト０およびリスト１と呼ばれる。ビデオコーダは最初に、リスト０とリスト１とを構成するためのデフォルトの構成技法（たとえば、リスト０とリスト１とを構成するための事前設定された構成方式）を利用する。オプションで、初期リスト０およびリスト１が構成された後、ビデオデコーダは、初期リスト０とリスト１とを修正するようビデオデコーダに命令するシンタックス要素が存在するときは、それらのシンタックス要素を復号すればよい。
【００４４】
[0053]ビデオエンコーダは、ＤＰＢ中の参照ピクチャの識別子（１つまたは複数）を示すシンタックス要素をシグナリングすればよく、ビデオエンコーダは、現在のピクチャのコード化ブロックを復号するのに、どの１つまたは複数の参照ピクチャを使うべきかを示すインデックスを、リスト０、リスト１、またはリスト０とリスト１の両方内に含むシンタックス要素をシグナリングしてもよい。ビデオデコーダは、これに対して、受信した識別子を使って、リスト０、リスト１、またはリスト０とリスト１の両方の中にリストされた１つの参照ピクチャまたは複数の参照ピクチャについての１つまたは複数のインデックス値を識別する。１つの参照ピクチャまたは複数の参照ピクチャのインデックス値（１つまたは複数）ならびに識別子（１つまたは複数）から、ビデオデコーダは、１つの参照ピクチャもしくは複数の参照ピクチャ、またはその一部（１つもしくは複数）を、ＤＰＢから取り出し、取り出された１つまたは複数の参照ピクチャと、コード化ブロックの復号に使われる１つまたは複数の参照ピクチャ内のブロックを識別する１つまたは複数の動きベクトルとに基づいて、現在のピクチャのコード化ブロックを復号する。
【００４５】
[0054]たとえば、双予測ピクチャの第１または第２の参照ピクチャリストについての参照ピクチャリスト構成は、２つのステップ、すなわち参照ピクチャリスト初期化と、参照ピクチャリスト修正（参照ピクチャリスト並べ替え（reordering）とも呼ばれる）とを含む。参照ピクチャリスト初期化は、参照ピクチャメモリ（復号ピクチャバッファとしても知られる）中の参照ピクチャを、ＰＯＣ（ピクチャの表示順で整列されるピクチャオーダーカウント）値の順序に基づいてリストに入れる暗黙的機構であってよい。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中にリストに入れられたピクチャの位置をどの新しい位置にも修正し、または参照ピクチャメモリ中のどの参照ピクチャも、そのピクチャが初期化リストに属さなくても、どの位置に入れてもよい。参照ピクチャリスト並べ替え（修正）後のいくつかのピクチャは、リスト中のはるかに離れた位置に入れられる場合がある。ただし、ピクチャの位置が、リストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終参照ピクチャリストのエントリとは見なされない。アクティブ参照ピクチャの数は、各リスト用のスライスヘッダに入れてシグナリングされ得る。
【００４６】
[0055]本開示に記載する技法は、様々なビデオコーディング規格に適用可能であり得る。ビデオコーディング規格の例は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびにスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含むＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られている）を含む。さらに、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）がある。
【００４７】
[0056]単に例示のために、本技法は、ＨＥＶＣ規格のコンテキストにおいて説明される。これ以降ＨＥＶＣ  ＷＤ８と呼ばれる、ＨＥＶＣの最新の作業草案（ＷＤ）が、２０１２年７月２０日の時点で、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐから入手可能である。
【００４８】
[0057]上述したように、本開示に記載する技法は、復号ピクチャバッファ（ＤＰＢ）管理のための既存ソリューションに存在し得る問題に対処することができる。一例として、本開示に記載するいくつかの例示的技法では、「参照に使用されない」という参照ピクチャのマーキングは、必要とされなくてよい。たとえば、本開示に記載する技法は、時間的スケーラビリティに適合することができないＤＰＢ管理技法に関連した問題、長期参照ピクチャのシグナリングオーバーヘッドに関連した問題、参照ピクチャリストの初期化および修正に伴う効率および複雑さに関連した問題に対処することができる。本開示に記載する技法は、参照ピクチャリスト初期化中の参照ピクチャリスト中の未完エントリに対する「参照ピクチャなし」というマーキングに関連した問題、復号ピクチャのＤＰＢからの出力、ＤＰＢへの挿入、およびＤＰＢからの削除に関連した問題、ならびにピクチャオーダーカウント（ＰＯＣ）値に対する可能値に関連した問題にも対処することができる。
【００４９】
[0058]本開示に記載する技法によると、参照ピクチャリストは、参照ピクチャセットから構成される。参照ピクチャセットは、たとえば、次の瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、またはリンク切断アクセス（ＢＬＡ：broken link access）ピクチャまで、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャ中のブロックのインター予測に使うことができる、復号順で関連ピクチャの前のすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャとして定義される。言い換えると、参照ピクチャセット中の参照ピクチャは、以下の特性を必要とし得る。すなわち、（１）すべてが、復号順で現在のピクチャに先立ち、（２）現在のピクチャをインター予測し、および／またはいくつかの例では、次のＩＤＲピクチャまたはＢＬＡピクチャまで、現在のピクチャに復号順で続くどのピクチャもインター予測するために使うことができる。参照ピクチャセットの他の代替定義もあってよく、それについては以下に挙げる。
【００５０】
[0059]本開示に記載する例示的技法において、ビデオコーダは参照ピクチャセットを導出することができ、そのような導出の後、ビデオコーダは参照ピクチャリストを構成することができる。たとえば、参照ピクチャセット中の参照ピクチャのみが、参照ピクチャリストを構成するのに使われる候補参照ピクチャであり得る。
【００５１】
[0060]参照ピクチャセットを構成するために、ビデオコーダは、複数の参照ピクチャサブセットを構成すればよい。参照ピクチャサブセットの組合せは、参照ピクチャセットを共に形成し得る。たとえば、ビデオエンコーダは、コード化ビットストリーム中で、参照ピクチャセットに含まれる参照ピクチャ用の識別子をビデオデコーダが決定するための値を明示的にシグナリングすることができる。たとえば、参照ピクチャの識別子は、ピクチャオーダーカウントであってよい。各ピクチャは、ＰｉｃＯｒｄｅｒＣｎｔと呼ばれる１つのピクチャオーダーカウントに関連付けられる。ＰｉｃＯｒｄｅｒＣｎｔは、前のＩＤＲピクチャに対し復号順で対応するピクチャの出力順または表示順を示し、いくつかの他の代替法では、同じコード化ビデオシーケンス中の他のピクチャの出力順位置に対する、関連ピクチャの出力順における位置を示す。
【００５２】
[0061]ＰｉｃＯｒｄｅｒＣｎｔは、ピクチャオーダーカウント（ＰＯＣ）値と呼ばれ得る。ＰＯＣ値は、ピクチャの出力または表示順を示すことができ、ピクチャを識別するのに使うことができる。たとえば、コード化ビデオシーケンス内で、より小さいＰＯＣ値をもつピクチャは、より大きいＰＯＣ値をもつピクチャよりも早く出力または表示される。
【００５３】
[0062]ビデオデコーダは、参照ピクチャ用の識別子を決定し、これらの識別子から、複数の参照ピクチャサブセットを構成することができる。これらの参照ピクチャサブセットから、ビデオデコーダは、後でより詳しく説明するように、参照ピクチャセットを導出することができる。いくつかの例では、参照ピクチャサブセットの各々は、参照ピクチャサブセット中で参照ピクチャが重複しないという点で、異なる参照ピクチャを含む。このように、参照ピクチャの各々は、参照ピクチャサブセットのうちのただ１つの中に存在することができ、他の参照ピクチャサブセット中に存在することはできない。ただし、本開示の態様はそのように限定されると考えられるべきでない。
【００５４】
[0063]参照ピクチャセットまたはそのサブセット中の参照ピクチャの識別子（たとえば、ＰＯＣ値）を決定した後、ビデオデコーダは、参照ピクチャサブセットを構成することができる。後でより詳しく説明するように、ビデオデコーダは、６つの参照ピクチャサブセットを構成することができるが、ビデオデコーダは、より多いまたはより少ない参照ピクチャサブセットを構成することが可能であり得る。
【００５５】
[0064]これらの６つの参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌと名付けられる。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ参照ピクチャサブセットと呼ばれる場合があり、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒ参照ピクチャサブセットと呼ばれる場合がある。
【００５６】
[0065]ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、短期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、短期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるか、ならびに短期参照ピクチャが、現在のピクチャと、復号順で現在のピクチャに続くピクチャとをインター予測するために使われる可能性があり得るか、それとも復号順で現在のピクチャに続くピクチャのみをインター予測するために使われる可能性があり得るかに基づいて、短期参照ピクチャを識別することができる。
【００５７】
[0066]たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早いとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの、ＰＯＣ値などの識別情報を含むことができ、およびそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が後であるとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの識別情報を含むことができ、それだけを含むことができる。
【００５８】
[0067]ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、およびそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が遅く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、それだけを含むことができる。
【００５９】
[0068]ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、長期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、長期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるかに基づいて、長期参照ピクチャを識別することができる。
【００６０】
[0069]たとえば、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットは、現在のピクチャのインター予測において参照用に使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての長期参照ピクチャの識別情報を含むことができ、それだけを含むことができる。ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての長期参照ピクチャの識別情報を含むことができ、それだけを含むことができる。
【００６１】
[0070]参照ピクチャサブセットを構成した後、ビデオデコーダは、参照ピクチャサブセットを、参照ピクチャセットを導出するように異なる順序で並べればよい。一例として、参照ピクチャセットの順序は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｅｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌとなり得る。ただし、参照ピクチャセットを導出するように、サブセットの他の順序付けも可能であり得る。たとえば、別の例として、参照ピクチャセットの順序は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、その後にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャセットが続き、その後にＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットが続き、その後にＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットが続き、その後にＲｅｆＰｉｃＳｅｔＦｏｌｌ１参照ピクチャサブセットが続き、その後にＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットが続いてよい。
【００６２】
[0071]本開示に記載する技法によると、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒサブセットは、現在のピクチャ中のブロックのインター予測において使うことができるとともに、復号順で現在のピクチャに続くピクチャのうちの１つまたは複数のピクチャのインター予測において使うことができるすべての参照ピクチャを含む。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌサブセットは、現在のピクチャ中のブロックのインター予測においては使われないが、復号順で現在のピクチャに続くピクチャのうちの１つまたは複数のピクチャのインター予測において使うことができるすべての参照ピクチャを含む。
【００６３】
[0072]６つの参照ピクチャサブセットは、例示目的でのみ記載され、限定的と見なされるべきでないことを理解されたい。代替例では、より多いまたはより少ない参照ピクチャサブセットがあってよい。これらの代替例におけるそのような参照ピクチャサブセットについては、以下でより詳しく説明する。
【００６４】
[0073]これらの開示において記載するいくつかの技法では、ビデオデコーダは、復号ピクチャに、「参照に使用される」、「参照に使用されない」、「短期参照に使用される」、または「長期参照に使用される」とマーキングする必要がなくてよい。そうではなく、ＤＰＢに記憶された復号ピクチャがインター予測に必要とされるかどうかは、そのピクチャが現在のピクチャの参照ピクチャセットに含まれるかどうかによって示される。代替例では、ビデオデコーダが、復号ピクチャに、「参照に使用される」、「参照に使用されない」、「短期参照に使用される」、または「長期参照に使用される」としてマーキングすることが可能な場合がある。これらの例では、ビデオデコーダがピクチャを復号した後、そのピクチャは参照ピクチャとなり、「参照に使用される」とマーキングされる。次いで、参照ピクチャセット導出のためのプロセスの呼出しの後、ＤＰＢには記憶されているが現在のピクチャの参照ピクチャセットには含まれないすべての参照ピクチャは、ＤＰＢからの復号ピクチャの削除が起こり得る前に、「参照に使用されない」とマーキングされる。したがって、ＤＰＢに記憶された復号ピクチャがインター予測に必要とされるかどうかは、そのピクチャが「参照に使用される」とマーキングされているかどうかによって示すことができる。
【００６５】
[0074]ビデオデコーダが、複数の参照ピクチャサブセットから参照ピクチャセットを導出すると、ビデオデコーダは、参照ピクチャセットから参照ピクチャリスト（たとえば、リスト０およびリスト１）を構成することができる。たとえば、参照ピクチャリストの構成は、初期化ステップと、可能性としては修正ステップとを含み得る。上述したように参照ピクチャセットを導出することによって、ビデオデコーダは、参照ピクチャリスト初期化および参照ピクチャリスト修正に関する効率を向上させ、複雑さを低下させることが可能であり得る。
【００６６】
[0075]ビデオデコーダが参照ピクチャリストを構成することができる様々なやり方があり得る。本開示に記載する技法は、ビデオデコーダが、（初期）参照ピクチャリストに含まれるべき参照ピクチャを並べ替える必要なく、参照ピクチャリストを構成することができる機構を提供する。たとえば、ビデオデコーダは、初期参照ピクチャリストを構成するために参照ピクチャサブセットをビデオデコーダが使用するデフォルトの参照リスト構成技法を実装するように構成し得る。すると、参照ピクチャリストの修正が必要とされない場合、最終参照ピクチャリストは、参照ピクチャリストのいかなる追加の並べ替えも必要なく、初期参照ピクチャリストと同じになり得る。
【００６７】
[0076]いくつかの例では、本開示に記載する技法は、未完エントリ（non-completed entries）が残らないように、参照ピクチャリストを構成することに関連し得る。たとえば、これらの技法は、参照ピクチャサブセットのうちの１つまたは複数から、参照ピクチャリストに参照ピクチャを繰り返し追加することができる。たとえば、ビデオデコーダが、初期参照ピクチャリストを構成するために、参照ピクチャサブセットのうちの１つまたは複数のサブセットからの参照ピクチャを追加した後、ビデオデコーダは、参照ピクチャリスト中のエントリの数が最大許容エントリ数未満であるかどうか決定することができる。参照ピクチャリスト中のエントリの数が、許容エントリ数の最大数未満である場合、ビデオデコーダは、参照ピクチャリスト中の、参照ピクチャリストを構成するのに使われる参照ピクチャサブセットのうちの１つから、参照ピクチャのうちの少なくとも１つを再追加し得る。参照ピクチャのこの再追加（再リストとも呼ばれる）は、ビデオデコーダによって参照ピクチャが最初に追加された場所と比較して、参照ピクチャリスト内の異なる場所で起こり得る。
【００６８】
[0077]本開示において使われるように、再リストまたは再追加は、初期参照ピクチャリスト中のあらかじめ追加された（たとえば、識別された）参照ピクチャを再度追加する（たとえば、再度識別する）ことを指す。ただし、参照ピクチャを再追加するとき、参照ピクチャは、初期参照ピクチャリスト中の２つの異なるエントリに置くことができる。言い換えると、参照ピクチャを再追加するとき、同じ参照ピクチャを識別する、初期参照ピクチャリスト中への２つのインデックス値があり得る。
【００６９】
[0078]いくつかの例では、本開示に記載する技法は、初期参照ピクチャリストの修正に関連し得る。たとえば、ビデオデコーダは、初期参照ピクチャリストを構成することができる。ビデオデコーダは、ビデオエンコーダによってコード化ビットストリーム中でシグナリングされるシンタックス要素に基づいて、参照ピクチャリスト修正が必要とされると決定し得る。参照ピクチャリスト修正が必要とされるとき、ビデオデコーダは、構成された参照ピクチャサブセットのうちの少なくとも１つのサブセット中の参照ピクチャを識別することができる。ビデオデコーダは、初期参照ピクチャリストの現在のエントリ中の、識別された参照ピクチャをリストして（たとえば、追加して）、修正参照ピクチャリストを構成することができる。ビデオデコーダは次いで、修正参照ピクチャリストに基づいて現在のピクチャを復号することができる。
【００７０】
[0079]いくつかの例では、本開示に記載する技法は、復号ピクチャバッファ（ＤＰＢ）からの復号ピクチャの出力および削除に関連し得る。例示的技法は、現在のピクチャをコーディングするのに先立って、ＤＰＢから復号ピクチャを削除することができる。たとえば、例示的技法は、復号ピクチャが現在のピクチャの参照ピクチャセット中で識別されない場合、およびその復号ピクチャが出力に必要とされない（すなわち、出力を意図されていない、または出力を意図されているが、すでに出力されている）場合、その復号ピクチャを削除することができる。
【００７１】
[0080]図１は、本開示で説明する技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。概して、参照ピクチャセットは、１つのピクチャに関連する参照ピクチャのセットとして定義され、それは、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャ中のインター予測に使うことができる、復号順で関連ピクチャに先立つすべての参照ピクチャからなる。いくつかの例では、関連ピクチャに先立つ参照ピクチャは、次の瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、またはリンク切断アクセス（ＢＬＡ）ピクチャまでの参照ピクチャであり得る。言い換えると、参照ピクチャセット中の参照ピクチャはすべて、現在のピクチャに復号順で先立ち得る。また、参照ピクチャセット中の参照ピクチャは、現在のピクチャをインター予測し、および／または次のＩＤＲピクチャまたはＢＬＡピクチャまでの、現在のピクチャに復号順で続くどのピクチャもインター予測するために使うことができる。
【００７２】
[0081]参照ピクチャセットの他の代替定義もあってよい。たとえば、参照ピクチャセットは、１つのピクチャに関連する参照ピクチャのセットであって、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができるとともに、ｔｅｍｐｏｒａｌ＿ｉｄが関連ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下である、関連ピクチャ自体を除くすべての参照ピクチャからなる。ｔｅｍｐｏｒａｌ＿ｉｄは、時間的識別値であり得る。時間的識別値は、現在のピクチャをコーディングするために、どのピクチャを使うことができるかを示す階層的値であってよい。概して、特定のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、それ以上のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、逆は成り立たない。たとえば、１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、１、２、３、．．．のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、０のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャにはなり得ない。
【００７３】
[0082]最も低いｔｅｍｐｏｒａｌ＿ｉｄ値は、最も低い表示レートも示し得る。たとえば、ビデオデコーダが、０のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒７．５個のピクチャになり得る。ビデオデコーダが、０および１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒１５個のピクチャになり得、以下同様である。
【００７４】
[0083]別の例として、参照ピクチャセットは、１つのピクチャに関連する参照ピクチャのセットであって、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができる、関連ピクチャ自体を除くすべての参照ピクチャからなる。さらに別の例として、参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができる、関連ピクチャ自体を含み得るすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャと定義され得る。別の例として、参照ピクチャセットは、関連ピクチャまたは復号順で関連ピクチャに続くどのピクチャのインター予測にも使うことができるとともに、関連ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下のｔｅｍｐｏｒａｌ＿ｉｄをもつ、関連ピクチャ自体を含み得るすべての参照ピクチャからなる、あるピクチャに関連付けられた１組の参照ピクチャとして定義され得る。
【００７５】
[0084]さらに別の例として、参照ピクチャセットの上記定義において、「インター予測に使うことができる」というフレーズは、「インター予測に使われる」で置き換えられる。参照ピクチャセットの代替定義があり得るが、本開示では、関連ピクチャまたは復号順で関連ピクチャに続く任意のピクチャ中のインター予測に使うことができる、復号順で関連ピクチャに先立つすべての参照ピクチャからなる、あるピクチャに関連する１組の参照ピクチャである参照ピクチャセットの定義で、例を説明する。
【００７６】
[0085]たとえば、参照ピクチャセット中の参照ピクチャのいくつかは、復号順で現在のピクチャに続くピクチャではなく、現在のピクチャのブロックをインター予測するのに使われる可能性があり得る参照ピクチャである。参照ピクチャセット中の参照ピクチャのいくつかは、現在のピクチャのブロックと、復号順で現在のピクチャに続く１つまたは複数のピクチャ中のブロックとをインター予測するのに使われる可能性があり得る参照ピクチャである。参照ピクチャセット中の参照ピクチャのいくつかは、復号順で現在のピクチャに続く１つまたは複数のピクチャ中のブロックをインター予測するのに使われる可能性があり得るとともに、現在のピクチャ中のブロックをインター予測するのに使うことができない参照ピクチャである。
【００７７】
[0086]本開示において使われるように、インター予測に使われる可能性があり得る参照ピクチャは、インター予測に使うことはできるが、必ずしもインター予測に使われなくてもよい参照ピクチャを指す。たとえば、参照ピクチャセットは、インター予測に使われる可能性があり得る参照ピクチャを識別することができる。ただし、このことは、識別された参照ピクチャがすべて、インター予測に使われなければならないことを意味するわけではない。そうではなく、これらの識別された参照ピクチャのうちの１つまたは複数が、インター予測に使われてよいが、すべてが必ずしもインター予測に使われなくてもよい。
【００７８】
[0087]図１に示すように、システム１０は、宛先デバイス１４による復号のために符号化ビデオを生成するソースデバイス１２を含む。ソースデバイス１２および宛先デバイス１４は、それぞれビデオコーディングデバイスの一例であり得る。ソースデバイス１２は、通信チャネル１６を介して宛先デバイス１４に符号化ビデオを送信するか、あるいは、必要に応じて符号化ビデオが宛先デバイス１４によってアクセスされ得るように記憶媒体１７またはファイルサーバ１９に符号化ビデオを記憶し得る。
【００７９】
[0088]ソースデバイス１２および宛先デバイス１４は、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどのワイヤレスハンドセット、またはワイヤレス通信のために装備される他のそのようなワイヤレスデバイスを含む、広範なデバイスのうちのどれを備えてもよい。ソースデバイス１２および宛先デバイス１４の追加例は、デジタルテレビ、デジタルダイレクトブロードキャストシステムにおけるデバイス、ワイヤレスブロードキャストシステムにおけるデバイス、携帯情報端末（ＰＤＡ）、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、ｅブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー無線電話、衛星無線電話、テレビ会議デバイス、およびビデオストリーミングデバイス、ワイヤレス通信デバイスなどを含むが、それに限定されない。
【００８０】
[0089]上記のように、多くの場合、ソースデバイス１２および／または宛先デバイス１４は、ワイヤレス通信のために装備され得る。したがって、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、またはワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ１９は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。
【００８１】
[0090]ただし、本開示の技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、単方向または二方向のビデオ送信をサポートするように構成され得る。
【００８２】
[0091]図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、出力インターフェース２４とを含む。ソースデバイス１２において、ビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付き電話またはテレビ電話を形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００８３】
[0092]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオはビデオエンコーダ２０によって符号化され得る。符号化ビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、出力インターフェース２４を介して宛先デバイス１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器または他の構成要素を含み得る。出力インターフェース２４は、増幅器、フィルタ、および１つまたは複数のアンテナを含む、データを送信するために設計された回路を含み得る。
【００８４】
[0093]ビデオエンコーダ２０によって符号化された、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオはまた、後で消費するために記憶媒体１７またはファイルサーバ１９に記憶され得る。記憶媒体１７は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、または符号化ビデオを記憶するための他の好適なデジタル記憶媒体を含み得る。記憶媒体１７に記憶された符号化ビデオは、次いで、復号および再生のために宛先デバイス１４によってアクセスされ得る。
【００８５】
[0094]ファイルサーバ１９は、符号化ビデオを記憶することと、その符号化ビデオを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、ローカルディスクドライブ、または符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイスに送信することとが可能な他のタイプのデバイスを含む。ファイルサーバ１９からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。ファイルサーバ１９は、インターネット接続を含む任意の標準データ接続を介して宛先デバイス１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、または両方の組合せを含み得る。
【００８６】
[0095]宛先デバイス１４は、図１の例では、入力インターフェース２６と、モデム２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。宛先デバイス１４の入力インターフェース２６は、一例として、チャネル１６を介して、または代替例として、記憶媒体１７もしくはファイルサーバ１７から情報を受信し、モデム２８は、情報を復調して、ビデオデコーダ３０向けの復調ビットストリームを生じる。復調されたビットストリームは、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体１７またはファイルサーバ１９に記憶された符号化ビデオデータに含まれ得る。一例として、シンタックスは符号化ビデオデータで埋め込まれ得るが、本開示の態様はそのような要件に限定されると考えられるべきでない。ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されたシンタックス情報は、コーディングツリーユニット（ＣＴＵ）、コーディングツリーブロック（ＣＴＢ）、予測ユニット（ＰＵ：prediction unit）、コーディングユニット（ＣＵ）またはコーディングされたビデオの他のユニット、たとえば、ビデオスライス、ビデオピクチャ、およびビデオシーケンスまたはピクチャのグループ（ＧＯＰ：group of pictures）などのビデオブロックの特性および／または処理を記述するシンタックス要素を含み得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、ビデオデータを符号化または復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００８７】
[0096]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００８８】
[0097]図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体、あるいはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースのネットワークの一部を形成することができる。通信チャネル１６は、概して、ワイヤード媒体またはワイヤレス媒体の任意の好適な組合せを含む、ビデオデータをソースデバイス１２から宛先デバイス１４に送信するのに好適な任意の通信媒体、または様々な通信媒体の集合体を表す。通信チャネル１６は、ソースデバイス１２から宛先デバイス１４への通信を支援するのに有用であり得る、ルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００８９】
[0098]ビデオエンコーダ２０およびビデオデコーダ３０は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、ならびにスケーラブルビデオコーディング（ＳＶＣ）およびマルチビュービデオコーディング（ＭＶＣ）拡張を含むＩＴＵ−Ｔ  Ｈ．２６４（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られている）などのビデオ圧縮規格に従って動作し得る。さらに、ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）とＩＳＯ／ＩＥＣ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｏｎ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって現在開発中の新しいビデオコーディング規格、すなわち、高効率ビデオコーディング（ＨＥＶＣ）規格がある。これ以降ＨＥＶＣ  ＷＤ８と呼ばれる、ＨＥＶＣの最新の作業草案（ＷＤ）が、２０１２年７月２０日の時点で、ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｎｔ−ｅｖｒｙ．ｆｒ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／１０＿Ｓｔｏｃｋｈｏｌｍ／ｗｇ１１／ＪＣＴＶＣ−Ｊ１００３−ｖ８．ｚｉｐから入手可能である。
【００９０】
[0099]ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。単に例示のために、本技法は、ＨＥＶＣ規格に従って説明される。
【００９１】
[0100]図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットはＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠することができる。
【００９２】
[0101]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、マイクロプロセッサを含む１つまたは複数のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法がソフトウェアで部分的に実施されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実施し得る。
【００９３】
[0102]ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。いくつかの事例では、ビデオエンコーダ２０およびビデオデコーダ３０は、情報（たとえば、ピクチャおよびシンタックス要素）をコーディングするビデオコーダと通常呼ばれ得る。ビデオコーダがビデオエンコーダ２０に対応するとき、情報のコーディングは符号化を指し得る。ビデオコーダがビデオデコーダ３０に対応するとき、情報のコーディングは復号を指し得る。
【００９４】
[0103]さらに、本開示で説明する技法は、情報をシグナリングするビデオエンコーダ２０を指し得る。ビデオエンコーダ２０が情報をシグナリングするとき、本開示の技法は、概して、ビデオエンコーダ２０が情報を提供する任意の方法を指す。たとえば、ビデオエンコーダ２０がビデオデコーダ３０にシンタックス要素をシグナリングするとき、それは、ビデオエンコーダ２０が出力インターフェース２４および通信チャネル１６を介してビデオデコーダ３０にシンタックス要素を送信したこと、あるいはビデオエンコーダ２０がビデオデコーダ３０による最終的な受信のために記憶媒体１７および／またはファイルサーバ１９上に出力インターフェース２４を介してシンタックス要素を記憶したことを意味し得る。このように、ビデオエンコーダ２０からビデオデコーダ３０へのシグナリングは、ビデオデコーダ３０によって直ちに受信されるビデオエンコーダ２０からの送信が、可能ではあり得るが、必要とされると解釈されるべきでない。そうではなく、ビデオエンコーダ２０からビデオデコーダ３０へのシグナリングは、直接あるいは（たとえば、記憶媒体１７および／またはファイルサーバ１９内の）中間記憶装置を介して、ビデオエンコーダ２０がビデオデコーダ３０による最終的な受信についての情報を提供するためのいずれの技法としても解釈されるべきである。
【００９５】
[0104]ビデオエンコーダ２０およびビデオデコーダ３０は、参照ピクチャセットを導出するための、本開示に記載する例示的技法を実装するように構成すればよい。たとえば、ビデオデコーダ３０は、ピクチャごとに一度、参照ピクチャセットを導出するためのプロセスを呼び出すことができる。ビデオデコーダ３０は、スライスヘッダの復号の後で、ただしどのコーディングユニットの復号にも先立って、およびスライスの参照ピクチャリスト構成のための復号プロセスに先立って、参照ピクチャセットを導出するためのプロセスを呼び出すことができる。
【００９６】
[0105]上述したように、参照ピクチャセットは、現在のピクチャおよび次の瞬時復号リフレッシュ（ＩＤＲ）ピクチャ、またはリンク切断アクセス（ＢＬＡ）ピクチャまでの、復号順において今後のコード化ピクチャの復号プロセスにおいて使われる参照ピクチャの絶対記述である。本開示に記載する例において、ビデオエンコーダ２０は、参照ピクチャセットに属す参照ピクチャ用の識別子をビデオデコーダ３０がそこから決定することができる値を明示的にシグナリングすることができる。参照ピクチャセットシグナリングは、参照ピクチャセットに含まれるすべての参照ピクチャが、いくつかのピクチャ、たとえばＩＤＲピクチャを除いて明示的にリストされ、参照ピクチャセットシンタックス要素がスライスヘッダに含まれず、参照ピクチャセットが空になるように導出されるという意味で、明示的である。
【００９７】
[0106]参照ピクチャセットを導出するためにビデオデコーダ３０が使用することができるコード化ビットストリーム中で、ビデオエンコーダ２０がシンタックス要素をシグナリングすることができる様々なやり方があり得る。たとえば、ビデオエンコーダ２０は、シンタックス要素を、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ピクチャヘッダ（あれば）、スライスヘッダ、またはそれらのどの組合せに入れてシグナリングしてもよい。説明のためにのみ、ビデオエンコーダ２０は、より詳しく説明したように、ＳＰＳと、ＰＰＳと、スライスヘッダとを使って、シンタックス要素をシグナリングすることができる。
【００９８】
[0107]参照ピクチャセットを導出するために、ビデオデコーダ３０は、参照ピクチャセットに属すピクチャ用の識別子を決定するための復号プロセスを実装し得る。ビデオデコーダ３０は次いで、複数の参照ピクチャサブセットを構成し得、サブセットの各々は、参照ピクチャセットに属す参照ピクチャのうちのゼロ個以上のピクチャを識別する。ビデオデコーダ３０は、企図される参照ピクチャサブセットから参照ピクチャセットを導出することができる。たとえば、ビデオデコーダ３０は、複数の参照ピクチャサブセットを特定の順序でリストして、参照ピクチャセットを導出することができる。
【００９９】
[0108]参照ピクチャセットに属すピクチャ用の識別子をビデオデコーダ３０が決定することができる、様々なやり方があり得る。概して、ビデオエンコーダ２０は、参照ピクチャセットに属すピクチャを含むピクチャ用の識別子を、ビデオデコーダ３０がそこから決定することができる値をシグナリングすることができる。ピクチャの識別子は、ＰｉｃＯｒｄｅｒＣｎｔ（すなわち、ピクチャオーダーカウント（ＰＯＣ）値）であり得る。上述したように、ＰＯＣ値は、ピクチャの表示または出力順を示すことができ、より小さいＰＯＣ値をもつピクチャが、より大きいＰＯＣ値をもつピクチャよりも早く表示される。所与のピクチャのＰＯＣ値は、前の瞬時復号リフレッシュ（ＩＤＲ）ピクチャに相対的であり得る。たとえば、ＩＤＲピクチャについてのＰｉｃＯｒｄｅｒＣｎｔ（すなわち、ＰＯＣ値）は０であり、表示または出力順でＩＤＲピクチャの後のピクチャについてのＰＯＣ値は１であり、表示または出力順において、ＰＯＣ値１をもつピクチャの後のＰＯＣ値は２であり得、以下同様に続く。
【０１００】
[0109]本開示に記載する技法によると、現在のピクチャがＩＤＲピクチャでないとき、現在のピクチャのＰＯＣ値を導出するために、以下のことが適用され得る。以下は、理解を助けることを意図しており、限定的と見なされるべきではない。
【０１０１】
[0110]たとえば、以下のすべてを含むピクチャのリストに関連付けられたＰｉｃＯｒｄｅｒＣｎｔ値（ＰＯＣ値）を要素として含むリスト変数ｌｉｓｔＤについて検討する。すなわち、（１）リスト中の最初のピクチャが、復号順において前のＩＤＲピクチャであり、（２）他のすべてのピクチャが、復号順に、リスト中の最初のピクチャの後に続き、現在のピクチャに復号順において先行するか、または現在のピクチャである。この例では、現在のピクチャは、参照ピクチャセットのための導出プロセスの呼出しに先立って、ｌｉｓｔＤに含まれている。また、ＰＯＣ値の昇順にソートされるｌｉｓｔＤの要素を含むリスト変数ｌｉｓｔＯについて検討する。この例では、ｌｉｓｔＯは、別のピクチャのＰＯＣ値に等しい値をもつＰＯＣ値を含まなくてもよい。
【０１０２】
[0111]いくつかの例では、ＰＯＣ値は、両端値を含む−２pocLen-1〜２pocLen-1−１の範囲に制限され得る。この例では、ｐｏｃＬｅｎは、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ＋ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ、およびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４は、後でより詳しく説明するように、ピクチャパラメータセットシンタックスの一部としてビデオデコーダ３０がコード化ビットストリーム中で受信するシンタックス要素であり得る。別の例として、ＰＯＣ値は、両端値を含む−２31〜２31−１の範囲に制限され得る。
【０１０３】
[0112]一例として、ビデオデコーダ３０は、コード化ビットストリーム（すなわち、ビデオエンコーダ２０によってシグナリングされるビットストリーム）中で、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素を受信することができる。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素は、コード化ピクチャについてのピクチャオーダーカウントモジュロＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂを指定し得る。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素の長さは、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４＋４ビットであり得る。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂの値は、両端値を含む０〜ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ−１の範囲内であり得る。ビデオデコーダ３０は、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素を、復号されるべき現在のピクチャについてのスライスヘッダシンタックス中で受信することができる。
【０１０４】
[0113]ビデオデコーダ３０はまた、ビデオエンコーダ２０によってシグナリングされるコード化ビットストリーム中で、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素を受信することができる。ビデオデコーダ３０は、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素を、シーケンスパラメータセット中で受信することができる。ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕ４の値は、両端値を含む０〜１２の範囲内であり得る。ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素は、ビデオデコーダ３０がＰＯＣ値を決定するための復号プロセスにおいて使う変数ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値を指定し得る。たとえば、以下のようになる。
【０１０５】
MaxPicOrderCntLsb = 2(log2_max_pic_order_cnt_lsb_minus4 + 4)
[0114]これらの受信シンタックス要素から、ビデオデコーダ３０は、現在のピクチャのＰＯＣ値を次のように決定することができる。たとえば、ビデオデコーダ３０は、現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂを決定することができる。現在のピクチャについてのＰＯＣ値は、現在のピクチャについての決定されたＰｉｃＯｒｄｅｒＣｎｔＭｓｂに、現在のピクチャについての受信されたｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂをプラスしたものとなり得る。
【０１０６】
[0115]以下で、関数ＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＸ）は、ピクチャＸについてのＰＯＣ値に等しい。関数ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＡ，ｐｉｃＢ）は、ＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＡ）からＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＢ）を引いたものに等しい。いくつかの例では、コード化ビットストリームは、両端値を含む−２15〜２15−１の範囲を超える、復号プロセスにおいて使われるＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｐｉｃＡ，ｐｉｃＢ）の値を生じるデータを含まなくてよい。さらに、Ｘを現在のピクチャとし、ＹおよびＺを同じシーケンス中の２つの他のピクチャとし、ここでＹおよびＺは、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（Ｘ，Ｙ）とＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（Ｘ，Ｚ）の両方が正であり、または両方が負であるとき、Ｘからの同じ出力順方向であると見なされる。また、いくつかの例では、ビデオエンコーダ２０は、前のＩＤＲピクチャのサンプリング時間に相対した、対応するピクチャのサンプリング時間に比例するＰｉｃＯｒｄｅｒＣｎｔを割り当てることができる。
【０１０７】
[0116]現在のピクチャについてのＰＯＣ値を決定するプロセスの一部として、ビデオデコーダ３０は、変数ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂおよびｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂを決定すればよい。たとえば、現在のピクチャがＩＤＲピクチャである場合、ビデオデコーダ３０は、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂを０に等しく設定し、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂを０に等しく設定すればよい。そうでない場合（すなわち、現在のピクチャがＩＤＲピクチャでない場合）、ビデオデコーダ３０は、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂを、現在のピクチャ以下のｔｅｍｐｏｒａｌ＿ｉｄをもつ、復号順において前の参照ピクチャのＰｉｃＯｒｄｅｒＣｎｔＭｓｂに等しく設定し、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂを、現在のピクチャ以下のｔｅｍｐｏｒａｌ＿ｉｄをもつ、復号順において前の参照ピクチャのｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂの値に等しく設定すればよい。
【０１０８】
[0117]これらの変数値およびシンタックス要素の値（たとえば、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＭｓｂ、ｐｒｅｖＰｉｃＯｒｄｅｒＣｎｔＬｓｂ、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ、およびＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値）を用いて、ビデオデコーダ３０は、ＰｉｃＯｒｄｅｒＣｎｔＭｓｂの値を、以下の擬似コードに記述するステップに基づいて決定することができる。ビデオデコーダ３０は、以下の擬似コードに記述するステップを実装して、現在のピクチャのＰＯＣ値を導出するのに使われる、各現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂを決定し得ることを理解されたい。
【数１】
0006038929.tif 000002
【０１０９】
[0118]現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂを決定した後、ビデオデコーダ３０は、現在のピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂおよび現在のピクチャについてのｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂに基づいて、現在のピクチャについてのＰＯＣ値を決定することができる。ビデオデコーダ３０は、現在のピクチャについてのＰＯＣ値を次のように決定することができる。
【０１１０】
PicOrderCnt=PicOrderCntMsb+pic_order_cnt_lsb
[0119]ピクチャの復号の後、ビデオデコーダ３０は、参照ピクチャセットに属す参照ピクチャの各々を含む、そのピクチャについてのＰｉｃＯｒｄｅｒＣｎｔＭｓｂ値と、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ値と、ＰＯＣ値とを、ビデオデコーダ３０の復号ピクチャバッファ（ＤＰＢ）に記憶してよい。このように、ＤＰＢ中の各ピクチャは、ＰＯＣ値、ＰｉｃＯｒｄｅｒＣｎｔＭｓｂ値、およびｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ値に関連付けられる。
【０１１１】
[0120]現在のピクチャの参照ピクチャセットに含まれる参照ピクチャのＰＯＣ値を決定するための方法について、以下でより詳しく説明する。決定されたＰＯＣ値から、ビデオデコーダ３０は、参照ピクチャセットのための導出プロセスを実施することができる。ただし、ビデオデコーダ３０が参照ピクチャセットのための導出プロセスを実施するやり方を説明するのに先立って、ビデオエンコーダ２０によってシグナリングされるコード化ビットストリーム中でビデオデコーダ３０が受信することができるシンタックス要素のテーブルを、以下に挙げる。たとえば、ビデオエンコーダ２０は、以下のテーブル中のシンタックス要素を、ビデオデコーダ３０が受信するコード化ビットストリームに入れてシグナリングすることができる。これらのシンタックス要素のうちのいくつかについては、上で述べた。これらのシンタックス要素から、ビデオデコーダ３０は、参照ピクチャセットに含まれる参照ピクチャのＰＯＣ値を決定し、さらに参照ピクチャセットを導出することができる。
【０１１２】
[0121]たとえば、本開示に記載する技法では、シーケンスパラメータセット（ＳＰＳ）未加工バイトシーケンスペイロード（ＲＢＳＰ）シンタックス（sequence parameter set (SPS) raw byte sequence payload (RBSP) syntax）、すなわちｓｅｑ＿ｐａｒａｍａｔｅｒ＿ｓｅｔ＿ｒｂｓｑ（）、ピクチャパラメータセット（ＰＰＳ）ＲＢＳＰシンタックス、すなわちｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｒｂｓｐ（）、スライスヘッダシンタックス、すなわちｓｌｉｃｅ＿ｈｅａｄｅｒ（）、および参照ピクチャリスト修正シンタックス、すなわちｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ（）というシンタックス構造が、前のビデオコーディング規格に対して修正される。参照ピクチャセットの導出、および１つまたは複数の参照ピクチャリストの初期化の説明に続いて、参照ピクチャリスト修正について、より詳しく説明する。
【０１１３】
[0122]また、本開示に記載する技法によると、短期参照ピクチャセットシンタックス、すなわちｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）、および長期参照ピクチャセットシンタックス、すなわちｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）というシンタックス構造が、コード化ビットストリームに追加される。ビデオデコーダ３０は、参照ピクチャサブセットを構成する目的で、短期参照ピクチャセットシンタックスと、長期参照ピクチャセットシンタックスとを使用することができ、参照ピクチャサブセットから、ビデオデコーダ３０は参照ピクチャセットを導出する。
【０１１４】
[0123]たとえば、ビデオデコーダ３０が、参照ピクチャセットに属す参照ピクチャについてのＰＯＣ値を決定するために、ビデオエンコーダ２０は参照ピクチャ識別情報をシグナリングし、ビデオデコーダ３０はこの情報を使って、ピクチャパラメータセット中のＰＯＣ値を決定し、リストに対するインデックスがスライスヘッダ中で参照され得る。ただし、これは、ビデオエンコーダ２０がそのような参照ピクチャ識別情報をシグナリングすることができる１つの例示的やり方である。
【０１１５】
[0124]ある代替例では、ビデオエンコーダ２０は、参照ピクチャ情報をシーケンスパラメータセットに入れてシグナリングすることができ、リストに対するインデックスはスライスヘッダ中で参照することができ、そうすることによってシグナリングオーバーヘッドを削減することができる。別の代替例では、ビデオコーダは、参照ピクチャ情報を、新しいタイプのパラメータセット（たとえば、参照ピクチャセットパラメータセット（ＲＰＳＰＳ））に入れてシグナリングすることができ、ＲＰＳＰＳ  ｉｄならびに参照ピクチャ識別情報のリストに対するインデックスは両方とも、スライスヘッダ中で参照され得る。こうすることにより、シグナリングオーバーヘッドを削減することができ、かつピクチャパラメータセットまたはシーケンスパラメータセットの数の必要が増大されることはない。他の例では、ビデオエンコーダ２０は、参照ピクチャ識別情報をシグナリングするのに、これらの例示的技法のどのような組合せを使用してもよい。
【表１】
0006038929.tif 000003
【０１１６】
[0125]ｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓは、ルーマサンプル中の各復号ピクチャの幅を指定し得る。ｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓの値は、両端値を含む０〜２16−１の範囲内であり得る。
【０１１７】
[0126]ｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓは、ルーマサンプル中の各復号ピクチャの高さを指定し得る。ｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓの値は、両端値を含む０〜２16−１の範囲内であり得る。
【０１１８】
[0127]テーブル１に示されるように、ビデオデコーダ３０は、シーケンスパラメータセット（ＳＰＳ）中で、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素を受信することができる。上述したように、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕ４の値は、ＰＯＣ値を決定するための復号プロセスにおいてビデオデコーダ３０が使う変数ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値を指定することができ、ここでＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＝２(log2_max_pic_order_cnt_lsb_minus4+4)である。
【表２】
0006038929.tif 000004
【０１１９】
[0128]ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ＿ｐｐｓは、ピクチャパラメータセットに含まれるｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造の数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔｓ＿ｐｐｓの値は、両端値を含む０〜３２の範囲内とする。
【０１２０】
[0129]０に等しいｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、ピクチャパラメータセットを参照するどのコード化ピクチャのインター予測にも、長期参照ピクチャが使われず、シンタックス要素ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓが存在しないことを指定する。１に等しいｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇは、ピクチャパラメータセットを参照する１つまたは複数のコード化ピクチャのインター予測に長期参照ピクチャを使うことができ、シンタックス要素ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓが存在することを指定する。
【０１２１】
[0130]ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４に４を加えたものは、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ａｄｄ＿ｆｏｌｌ［ｉ］シンタックス要素のビット長を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４の値は、両端値を含む０〜１２の範囲内とする。
【０１２２】
[0131]ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａプラスｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４プラス４は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素のビット長を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａの値は、両端値を含む０〜２８−ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４の範囲内であり得る。１つの特定のシーケンスパラメータセットを参照するすべてのピクチャパラメータセット中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ＋ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｌｅｎ＿ｍｉｎｕｓ４＋４の値は、同一であり得る。
【０１２３】
[0132]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓは、ピクチャパラメータセットに含まれる長期参照ピクチャの識別の数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓの値は、両端値を含む０〜３２の範囲内であり得る。
【０１２４】
[0133]ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］は、ピクチャパラメータセットに含まれる第ｉの長期参照ピクチャ識別情報を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］を表すのに使われるビットの数は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｄｅｌｔａ＋ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。
【表３】
0006038929.tif 000005
【０１２５】
[0134]短期参照ピクチャセットシンタックスは、短期ピクチャ用であり得る。短期ピクチャは、それについての識別情報がコード化ピクチャ用のｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造に含まれ、スライスヘッダ（１つもしくは複数）に含まれるか、または参照されるピクチャパラメータセットおよびスライスヘッダ（１つまたは複数）中のｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘシンタックス要素による参照に含まれる参照ピクチャとして定義され得る。スライスヘッダシンタックス要素を、以下のテーブル４に挙げる。
【０１２６】
[0135]ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０１２７】
[0136]ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０の範囲内であり得る。
【０１２８】
[0137]ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ０は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ０の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１の範囲内であり得る。
【０１２９】
[0138]ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ１は、以下で説明するように、コード化ピクチャの参照ピクチャセットの導出にｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造が使われるとき、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１中の短期参照ピクチャの数を指定する。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ１の値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１−ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｆｏｌｌ０の範囲内とする。
【０１３０】
[0139]ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ｍｉｎｕｓ１［ｉ］は、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造に含まれる第ｉの短期参照ピクチャの識別情報を指定する。
【表４−１】
0006038929.tif 000006
【表４−２】
0006038929.tif 000007
【０１３１】
[0140]ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇは、ＩＤＲピクチャの復号の後で復号ピクチャバッファ中のあらかじめ復号されたピクチャがどのように扱われるかを指定する。ＩＤＲピクチャがビットストリーム中の最初のＩＤＲピクチャであるとき、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇの値は、復号プロセスに影響する可能性はない。ＩＤＲピクチャがビットストリーム中の最初のＩＤＲピクチャではなく、アクティブシーケンスパラメータセットから導出されたｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇの値が、先行ピクチャについてのアクティブなシーケンスパラメータセットから導出されたｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇの値とは異なり得るとき、１に等しいｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇは、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇの実効値にかかわらず、デコーダによって推論することができるが、必ずしも推論できるわけではない。
【０１３２】
[0141]１に等しいｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｐｐｓ＿ｆｌａｇは、現在のピクチャ用の参照ピクチャセットに含まれる短期参照ピクチャセットの識別情報が、参照されるピクチャパラメータセットに存在することを指定する。０に等しいｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｐｐｓ＿ｆｌａｇは、現在のピクチャ用の参照ピクチャセットに含まれる短期参照ピクチャセットの識別情報が、参照されるピクチャパラメータセットに存在しないことを指定する。
【０１３３】
[0142]ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘは、現在のピクチャ用の参照ピクチャセット中の短期参照ピクチャセットの識別情報を含む、参照されるピクチャパラメータセットに含まれる、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造のインデックスを指定する。
【０１３４】
[0143]変数ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０およびＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１は、次のように指定される。
【０１３５】
NumShortTermCurr0 = num_short_term_curr0 
NumShortTermCurr1 = num_short_term_curr1
[0144]上式で、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０およびｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０は、それぞれ、参照されるピクチャパラメータセットに存在し、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘによって参照されるか、またはスライスヘッダに直接存在する、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造中の同じ名称のシンタックス要素である。
【０１３６】
[0145]ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、スライスを復号するのに使われるものとする参照ピクチャリスト０についての最大参照インデックスを指定する。
【０１３７】
[0146]現在のスライスがＰまたはＢスライスであり、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が存在しないとき、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ｄｅｆａｕｌｔ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に等しいと推論され得る。
【０１３８】
[0147]ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、両端値を含む０〜１５の範囲内であり得る。
【０１３９】
[0148]ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、スライスを復号するのに使われるものとする参照ピクチャリスト１についての最大参照インデックスを指定する。
【０１４０】
[0149]現在のスライスがＰまたはＢスライスであり、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が存在しないとき、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ｄｅｆａｕｌｔ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に等しいと推論され得る。
【０１４１】
[0150]ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、両端値を含む０〜１５の範囲内であり得る。
【表５】
0006038929.tif 000008
【０１４２】
[0151]長期参照ピクチャセットシンタックスは、長期ピクチャ用であり得る。長期ピクチャは、コード化ピクチャ用のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造に、それについての識別情報が含まれる参照ピクチャとして定義され得る。
【０１４３】
[0152]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒは、参照されるピクチャパラメータセットに識別情報が含まれるとともに現在のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０１４４】
[0153]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒは、参照されるピクチャパラメータセットに識別情報が含まれないとともに現在のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒの範囲内であり得る。
【０１４５】
[0154]変数ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒは、次のように指定される。
【０１４６】
NumLongTermCurr=num_long_term_pps_curr+num_long_term_add_curr
[0155]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌは、参照されるピクチャパラメータセットに識別情報が含まれ、現在のピクチャのインター予測に使われず、復号順で現在のピクチャに続くピクチャのうちのどのピクチャのインター予測にも使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【０１４７】
[0156]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌは、参照されるピクチャパラメータセットに識別情報が含まれず、現在のピクチャのインター予測に使われず、復号順で後に続くピクチャのうちのどのピクチャのインター予測にも使うことができるすべての長期参照ピクチャの数を指定する。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌが存在しない場合、値は、０に等しいものとして導出され得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓ−ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌの範囲内であり得る。
【０１４８】
[0157]ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］は、参照されるピクチャパラメータセットから現在のピクチャの参照ピクチャセットに継承される第ｉの長期参照ピクチャの、参照されるピクチャパラメータセットに含まれる長期参照ピクチャ識別情報のリストに対するインデックスを指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］の値は、両端値を含む０〜３１の範囲内であり得る。
【０１４９】
[0158]ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ａｄｄ［ｉ］は、参照されるピクチャパラメータセットから継承されないが、現在のピクチャの参照ピクチャセットに含まれる第ｉの長期参照ピクチャの長期参照ピクチャ識別情報を指定する。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ａｄｄ＿ｃｕｒｒ［ｉ］を表すのに使われるビットの数は、ｌｏｎｇ＿ｔｅｒｍ＿ｐｉｃ＿ｉｄ＿ｌｅｎ＿ｍｉｎｕｓ４＋４に等しくなり得る。
【０１５０】
[0159]上記シグナリングされたまたは導出された値（すなわち、テーブル１〜５中の値）を用いて、ビデオデコーダ３０は、参照ピクチャセットを導出することができる。上述したように、導出された参照ピクチャセットは、現在のピクチャ（すなわち、現在復号中のピクチャ）と、現在のピクチャに復号順において続くピクチャとをコーディング／予測するのに使われる可能性があり得る参照ピクチャを識別することができる。本開示に記載する技法によると、導出された参照ピクチャセット中の参照ピクチャすべての復号順は、現在のピクチャの復号順よりも早い。
【０１５１】
[0160]導出プロセスは、複数の参照ピクチャサブセットから参照ピクチャセットを構成することを含み得る。このプロセスは、スライスヘッダの復号の後で、ただしどのコーディングユニットの復号にも先立って、およびスライスの参照ピクチャリスト構成のための復号プロセスに先立って、ピクチャごとに一度呼び出すことができる。たとえば、導出された値およびシグナリングされたシンタックス要素から、ビデオデコーダ３０は、参照ピクチャセットに属す参照ピクチャについてのＰＯＣ値を決定することができる。決定されたＰＯＣ値から、ビデオデコーダ３０は、参照ピクチャセットを共に形成する参照ピクチャサブセットを構成することができる。このように、参照ピクチャサブセットを構成することによって、ビデオデコーダ３０は、参照ピクチャセットを構成することができる。たとえば、ビデオデコーダ３０は、参照ピクチャサブセットを特定のやり方で並べて、参照ピクチャセットを導出することができる。順序付けは、ビデオデコーダ３０が参照ピクチャサブセットをリストして参照ピクチャセットを導出するやり方を指し得る。
【０１５２】
[0161]上述したように、参照ピクチャセットを導出するために、ビデオデコーダ３０は複数の参照ピクチャサブセットを構成してよい。いくつかの例では、ビデオデコーダ３０は６つの参照ピクチャサブセットを構成し得る。６つの参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌと名付けられ得る。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０はＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅと呼ばれることがあり、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１はＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒと呼ばれることがある。
【０１５３】
[0162]６つの参照ピクチャサブセットは、例示の目的で記載され、限定的と解釈されるべきでないことを理解されたい。一例として、ビデオデコーダ３０は、たとえば、サブセットのうちのいくつかを組み合わせることによって、６つの参照ピクチャサブセットよりも少ない参照ピクチャサブセットを構成してよい。ビデオデコーダ３０が６未満の参照ピクチャサブセットを構成するこれらの例のうちのいくつかについては、後で説明する。ただし、説明のために、ビデオデコーダ３０が６つの参照ピクチャサブセットを構成する例を用いて、本技法を記載する。
【０１５４】
[0163]ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、短期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、短期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるか、ならびに短期参照ピクチャが、現在のピクチャと、復号順で現在のピクチャに続くピクチャとをインター予測するために使われる可能性があり得るか、それとも復号順で現在のピクチャに続くピクチャのみをインター予測するために使われる可能性があり得るかに基づいて、短期参照ピクチャを識別することができる。
【０１５５】
[0164]たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早いとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの、ＰＯＣ値などの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が後であるとともに、現在のピクチャのインター予測において参照用に使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【０１５６】
[0165]ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が早く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットは、現在のピクチャよりも出力または表示順が遅く、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得、現在のピクチャのインター予測においては参照用に使うことができない、すべての短期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【０１５７】
[0166]ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、長期参照ピクチャを識別することができる。いくつかの例では、これらの参照ピクチャサブセットは、長期参照ピクチャが、コーディングされている現在のピクチャよりも表示順が早いか、それとも表示順が後であるかに基づいて、長期参照ピクチャを識別することができる。
【０１５８】
[0167]たとえば、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットは、現在のピクチャのインター予測において参照用に使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るすべての長期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットは、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測において参照用に使われる可能性があり得るとともに、現在のピクチャのインター予測においては参照用に使うことができない、すべての長期参照ピクチャの識別情報を含むことができ、かつそれだけを含むことができる。
【０１５９】
[0168]復号されるべき現在のピクチャがＩＤＲピクチャである場合、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを空に設定してよい。というのは、ＩＤＲピクチャはインター予測することができず、復号順においてＩＤＲピクチャの後のピクチャは、参照用に復号する際に、ＩＤＲピクチャに先立つどのピクチャも使うことができないからであり得る。そうでない場合（たとえば、現在のピクチャが非ＩＤＲピクチャであるとき）、ビデオデコーダ３０は、以下の擬似コードを実装することによって、短期参照ピクチャサブセットと長期参照ピクチャサブセットとを構成することができる。
【０１６０】
[0169]たとえば、ビデオデコーダ３０が、スライスヘッダ中で、または参照されるピクチャパラメータセットへの参照によって、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造のインスタンスを復号するとき、ビデオデコーダ３０は、以下の擬似コードを実装して、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットを構成することができる。
【数２】
0006038929.tif 000009
【０１６１】
[0170]ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇが０に等しいとビデオデコーダ３０が決定した場合、このケースに対しては長期参照ピクチャがないので、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒとＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌとを空に設定してよい。そうではなく、ビデオデコーダ３０がスライスヘッダ中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造のインスタンスを復号する場合、ビデオデコーダ３０は、以下の擬似コードを実装して、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを構成することができる。
【数３】
0006038929.tif 000010
【０１６２】
[0171]本開示に記載する技法によると、参照ピクチャが、コード化ピクチャの参照ピクチャセットの６つのサブセットのうちのいずれかに含まれる場合、ＰｉｃＯｒｄｅｒＣｎｔ（ＰＯＣ値）の特定の値をもつ参照ピクチャは、そのコード化ピクチャの参照ピクチャセットに含まれると言うことができる。ＰｉｃＯｒｄｅｒＣｎｔの特定の値をもつ参照ピクチャは、ＰｉｃＯｒｄｅｒＣｎｔ（ＰＯＣ値）のその特定の値が、そのサブセットに含まれるＰｉｃＯｒｄｅｒＣｎｔ値のうちの１つに等しい場合、参照ピクチャセットの特定のサブセットに含まれると言われる。
【０１６３】
[0172]参照ピクチャサブセットを構成した後、ビデオデコーダ３０は、参照ピクチャセットを導出することができる。たとえば、ビデオデコーダ３０は、参照ピクチャサブセットを並べて、参照ピクチャセットを導出することができる。一例として、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット、次いで、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットをリストすることができる。別の例として、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセット、その後に続くＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、次いで、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットをリストすることができる。
【０１６４】
[0173]ビデオデコーダ３０が参照ピクチャサブセットを並べるやり方での他の順列も、参照ピクチャセットを導出するために可能であり得る。いくつかの例では、参照ピクチャサブセットの構成と参照ピクチャセットの導出は組み合わせることができる。たとえば、参照ピクチャサブセットの構成の結果、自動的に、ビデオデコーダ３０が参照ピクチャセットを導出することになり得る。言い換えると、ビデオデコーダ３０は、参照ピクチャサブセットを構成し、参照ピクチャセットを導出するための異なるステップを実施する必要がなくなり得るが、ビデオデコーダ３０が最初に参照ピクチャサブセットを構成し、次いで、参照ピクチャセットを導出することも可能であり得る。
【０１６５】
[0174]また、本開示に記載する技法によると、上述したように参照ピクチャセットを構成した結果、ビデオデコーダ３０は、以下の制約を満たし得る。言い換えると、参照ピクチャサブセットのうちの１つの中で識別される参照ピクチャは、他の参照ピクチャサブセットのうちのいずれの中でも識別することはできない。言い換えると、参照ピクチャサブセットのうちの１つの中で識別される参照ピクチャは、他の参照ピクチャサブセットのうちのいずれの中でも識別することはできない。別の例として、導出された参照ピクチャセット中には、参照ピクチャセットを形成する参照ピクチャサブセットのうちのいずれかに含まれる現在のピクチャよりも大きいｔｅｍｐｏｒａｌ＿ｉｄをもつ参照ピクチャは存在し得ない。
【０１６６】
[0175]上述のように、時間的識別値（ｔｅｍｐｏｒａｌ＿ｉｄ）は、現在のピクチャをコーディング／予測するために、どのピクチャを使うことができるかを示す階層的値であってよい。概して、特定のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、それ以上のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、逆は成り立たない。たとえば、１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャは、可能性としては、１、２、３、．．．のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャ用の参照ピクチャになり得るが、０のｔｅｍｐｏｒａｌ＿ＩＤ値をもつピクチャ用の参照ピクチャにはなり得ない。
【０１６７】
[0176]最も低いｔｅｍｐｏｒａｌ＿ｉｄ値は、最も低い表示レートも示し得る。たとえば、ビデオデコーダ３０が、０のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒７．５個のピクチャになり得る。ビデオデコーダ３０が、０および１のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみを復号した場合、表示レートは、毎秒１５個のピクチャになり得、以下同様である。
【０１６８】
[0177]いくつかの例では、現在のピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみが、現在のピクチャの参照ピクチャセットに含まれ得る。上述したように、現在のピクチャのｔｅｍｐｏｒａｌ＿ｉｄ以下のｔｅｍｐｏｒａｌ＿ｉｄ値をもつピクチャのみが、参照ピクチャとして使われ得る。したがって、より低いまたは等しいｔｅｍｐｏｒａｌ＿ｉｄ値をもつすべての参照ピクチャが、現在のピクチャによってインター予測に使うことができ、参照ピクチャセットに含めることができる。また、現在のピクチャよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値を有し、復号順で現在のピクチャに続くとともに現在のピクチャよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値を有するピクチャによって使われるべきであるいくつかの参照ピクチャは、参照ピクチャセットから除外される。
【０１６９】
[0178]これらの技法を用いて、参照ピクチャセットの導出のためのピクチャ識別に加え、ｔｅｍｐｏｒａｌ＿ｉｄのシグナリングが必要とされないので、参照ピクチャセットシグナリングはより効率的になる。たとえば、ビデオエンコーダ２０は、参照ピクチャセットに属す参照ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ値をシグナリングしなくてよく、ビデオデコーダ３０は、参照ピクチャセットを導出する目的で、参照ピクチャセットに属す参照ピクチャのｔｅｍｐｏｒａｌ＿ｉｄ値を受信する必要がなくてよい。
【０１７０】
[0179]さらに、このようにして、構成された参照ピクチャサブセットは、現在のピクチャのものよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値をもつ参照ピクチャを識別することができる。たとえば、ビデオデコーダ３０は、参照ピクチャサブセットを構成し、参照ピクチャサブセットのうちのいずれかの中で識別された参照ピクチャが、現在のピクチャのものよりも大きいｔｅｍｐｏｒａｌ＿ｉｄ値をもたないようにすることが可能であってよく、これは、ビットストリーム一致が、ビデオエンコーダ２０によってシグナリングされるとともにビデオデコーダ３０によって受信されるビットストリームにｔｅｍｐｏｒａｌ＿ｉｄ値が含まれないことを要求し得るからである。このようにして、ビデオデコーダ３０は、参照ピクチャセットに属す参照ピクチャについての時間的識別値を受信することなく、参照ピクチャセットを導出することができる。
【０１７１】
[0180]上記例では、ビデオデコーダ３０は、６つの参照ピクチャサブセット、すなわち短期参照ピクチャ用に４つ（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１）と、長期参照ピクチャ用に２つ（すなわち、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ）とを構成することができる。ただし、本開示の態様はそのように限定されない。他の例では、これらの参照ピクチャサブセットのうちの２つ以上を組み合わせて１つの参照ピクチャサブセットにしてよく、その結果、ビデオデコーダ３０が構成するより少ない参照ピクチャサブセットが生じる。以下では、ビデオデコーダ３０がより少ない参照ピクチャサブセットを構成し得るいくつかの非限定的例について説明する。ビデオデコーダ３０がより少ない参照ピクチャサブセットを構成し得る他のやり方もあり得る。
【０１７２】
[0181]たとえば、いくつかの例では、現在のピクチャ用のサブセットと、復号順において以降のピクチャ用のサブセットの区別がない場合がある。したがって、ＲｅｆＰｉｃＳｅｔＳｔ０およびＲｅｆＰｉｃＳｅｔＳｔ１と呼ばれる、短期参照ピクチャ用の２つのサブセットがあってよく、ＲｅｆＰｉｃＳｅｔＬｔと呼ばれる、長期参照ピクチャ用のただ１つのサブセットがあってよい。この例では、ＲｅｆＰｉｃＳｅｔＳｔ０参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０が連結結果の始端である。この例では、ＲｅｆＰｉｃＳｅｔＳｔ１参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１とＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１が連結結果の始端である。ＲｅｆＰｉｃＳｅｔＬｔ参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒとＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌの連結であってよく、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒが連結結果の始端である。
【０１７３】
[0182]別の例として、現在のピクチャよりも早いまたは後の出力順をもつサブセットの区別がない場合がある。これは、短期参照ピクチャにのみ当てはまり得る。したがって、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒおよびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌと呼ばれる、短期参照ピクチャ用の２つのサブセットがあり得る。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０とＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０が連結結果の始端である。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０とＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０が連結結果の始端である。
【０１７４】
[0183]別の例として、上で言及した両方のタイプの区別が適用されない場合がある。したがって、ＲｅｆＰｉｃＳｅｔＳｔと呼ばれる、短期参照ピクチャ用のただ１つのサブセット、およびＲｅｆＰｉｃＳｅｔＬｔと呼ばれる、長期参照ピクチャ用のただ１つのサブセットがあってよい。ＲｅｆＰｉｃＳｅｔＳｔ参照ピクチャサブセットは、リストされる順序（または他の任意の順序）でＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１の連結であってよく、ＲｅｆＰｉｃＳｅｔＬｔは上記と同じであり得る。
【０１７５】
[0184]上記技法は、ビデオデコーダ３０が参照ピクチャセットを導出することができる例示的やり方を説明する。符号化プロセス中、ビデオエンコーダ２０は、再構成プロセスと呼ばれるものにおいて、後続ピクチャを符号化する目的で、符号化ピクチャを復号する必要もあり得る。したがって、いくつかの例では、ビデオエンコーダ２０は、参照ピクチャセットを導出するようにも構成されてよい。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャセットを導出するためにビデオデコーダ３０が実装した同じ技法を実装してよい。ただし、ビデオエンコーダ２０による参照ピクチャセットの導出は、すべての例において要求されなくてもよく、ビデオデコーダ３０が、参照ピクチャセットを導出する唯一のコーダであってよい。
【０１７６】
[0185]したがって、いくつかの例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）が、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、それぞれ、符号化または復号する）ことができる。たとえば、ビデオエンコーダ２０は、どの参照ピクチャが参照ピクチャセットに属すか決定するための値を含む符号化ビットストリームをシグナリングすればよい。同様に、ビデオデコーダ３０は、ビットストリームを復号して、どの参照ピクチャが参照ピクチャセットに属すか決定すればよい。
【０１７７】
[0186]ビデオコーダは、参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することができる。たとえば、ビデオコーダは、６つの参照ピクチャサブセット（すなわち、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセット）を構成することができ、サブセットの各々は、ゼロ個以上の参照ピクチャを識別する。いくつかの例では、ビデオコーダは、複数の参照ピクチャサブセットに基づいて、現在のピクチャをコーディングすることができる。
【０１７８】
[0187]たとえば、ビデオコーダは、構成された複数の参照ピクチャサブセットから、参照ピクチャセットを導出することができる。たとえば、ビデオコーダは、参照ピクチャサブセットを、参照ピクチャセットを導出するためのどの順序で並べてもよく、または参照ピクチャセットを、参照ピクチャサブセットの構成の一部として導出してよい。いくつかの例では、導出された参照ピクチャセットから、ビデオコーダは、現在のピクチャをコーディングすることができる。参照ピクチャセットは複数の参照ピクチャサブセットから導出されるので、ビデオコーダは、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングするものと見なすことができる。
【０１７９】
[0188]いくつかの例では、参照ピクチャサブセットを並べるために、ビデオコーダは、参照ピクチャセット中で参照ピクチャサブセットがリストされるべき順序で、参照ピクチャサブセットを構成すればよい。たとえば、ビデオコーダは、最初にＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０参照ピクチャサブセットを構成し、次いで、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１参照ピクチャサブセットを構成すればよい。この説明のための例において、参照ピクチャセット中の参照ピクチャサブセットの順序は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、およびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１が、その順序であってよいが、他の順序も可能である。
【０１８０】
[0189]本開示に記載する例示的技法によると、参照ピクチャセットを導出した後、ビデオデコーダ３０は、現在のピクチャ内のスライスの復号を開始してよい。復号プロセスの一部は、１つまたは２つの参照ピクチャリストの構成を伴う。参照ピクチャリストとは、ＰまたはＢスライスの予測に使われる参照ピクチャのリストである。Ｐスライスの復号プロセスのために、１つの参照ピクチャリスト（リスト０）がある。Ｂスライスの復号プロセスのために、２つの参照ピクチャリスト（リスト０およびリスト１）がある。参照ピクチャリスト０またはＲｅｆＰｉｃＬｉｓｔ０と呼ばれることがあるリスト０は、ＰまたはＢスライスのインター予測に使われる参照ピクチャリストである。Ｐスライス用に使われるすべてのインター予測は、リスト０を使う。参照ピクチャリスト０は、Ｂスライスについての双予測に使われる２つの参照ピクチャリストの一方であり、他方が参照ピクチャリスト１である。参照ピクチャリスト１またはＲｅｆＰｉｃＬｉｓｔ１と呼ばれることがあるリスト１は、Ｂスライスの予測に使われる参照ピクチャリストである。参照ピクチャリスト１は、Ｂスライスについての予測に使われる２つの参照ピクチャリストの一方であり、他方が参照ピクチャリスト０である。Ｂスライス中のいくつかのブロックは、リスト０とリスト１の両方を使って双予測することができ、Ｂスライス中のいくつかのブロックは、リスト０またはリスト１のいずれかを使って単予測することができる。
【０１８１】
[0190]参照ピクチャリストを構成するために、ビデオデコーダ３０は、初期リスト０と、Ｂスライス用には初期リスト１とを構成するためのデフォルトの構成技法を実装すればよい。初期リスト０および初期リスト１の構成は、初期化プロセスと呼ばれ得る。いくつかの例では、コード化ビットストリームは、ビデオデコーダ３０が初期リスト０および／または初期リスト１を修正して、最終リスト０と最終リスト１とを生成するべきであることを示し得る。初期リスト０および／または初期リスト１の修正は、修正プロセスと呼ばれ得る。修正プロセスは、すべての例において要求されなくてもよく、ビデオデコーダ３０が修正プロセスを実装することができる方法について、以下でより詳しく説明する。本開示に記載する技法によると、初期リスト０または初期リスト１の修正が必要とされないとき、最終リスト０または最終リスト１（すなわち、現在のピクチャのスライスを復号するのに使われる参照ピクチャリスト０または１）は、初期リスト０または初期リスト１に等しくなり得る。このように、参照ピクチャリストの並べ替えは、必要とされない場合もある。
【０１８２】
[0191]本開示に記載する技法では、参照ピクチャサブセットの各々の中の参照ピクチャはすでに正しい順序になっているので、修正プロセスが必要とされるかどうかにかかわらず、初期リスト０または初期リスト１に含まれるべき参照ピクチャの並べ替えをビデオデコーダ３０が実施する必要がなくてもよいように、ビデオデコーダ３０は、初期リスト０または初期リスト１を構成することができる。たとえば、いくつかの他の技法では、修正プロセスが必要とされるかどうかにかかわらず、初期リスト０または初期リスト１に参照ピクチャを追加またはリストするときの、初期リスト０または初期リスト１に含まれるべき参照ピクチャの、ＰＯＣ値による並べ替えが必要とされる。
【０１８３】
[0192]初期化プロセスにおいて、ビデオデコーダ３０は、初期リスト０と初期リスト１とを構成するためのデフォルトの構成技法を実装してよい。デフォルトの構成技法は、ビデオデコーダ３０が、ビデオデコーダ３０が初期参照ピクチャリストを構成するべきであり、または参照ピクチャが初期参照ピクチャリスト中で識別されるべきである方法に関するシンタックス要素をビデオエンコーダ２０から受信することなく、初期参照ピクチャリストを構成することを意味し得る。
【０１８４】
[0193]ビデオデコーダ３０は、ＰまたはＢスライスヘッダを復号するとき、参照ピクチャリスト構成プロセスを呼び出してよい。たとえば、Ｐスライスを復号するとき、ビデオデコーダ３０は、初期リスト０を構成するためのプロセスを呼び出すことはできるが、Ｐスライス中のブロックは、リスト０中で識別される参照ピクチャを参照して単予測されるだけなので、初期リスト１を構成するためのプロセスを呼び出すことはできない。Ｂスライス中のブロックは、リスト０およびリスト１の各々の中で識別される参照ピクチャを参照して双予測され得るので、Ｂスライスを復号するとき、ビデオデコーダ３０は、初期リスト０を構成し、初期リスト１を構成するためのプロセスを呼び出すことができる。
【０１８５】
[0194]本開示に記載する例示的技法によると、ビデオデコーダ３０は、初期リスト０と初期リスト１とを構成するために、参照ピクチャサブセットを使用してよい。たとえば、初期リスト０および初期リスト１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、またはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中で識別されるゼロ個以上の参照ピクチャをリストすることができる。この例では、参照ピクチャリスト構成プロセスが呼び出されるとき、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒには、少なくとも１つの参照ピクチャがあり得る。初期リスト０および初期リスト１は、同じ参照ピクチャサブセットにある１つまたは複数の参照ピクチャを識別し得るが、ビデオデコーダ３０が初期リスト０中で参照ピクチャを追加する順序は、ビデオデコーダ３０が初期リスト１中で参照ピクチャを追加する順序とは異なり得る。
【０１８６】
[0195]本開示では、ビデオデコーダ３０が、初期リスト０または初期リスト１中の参照ピクチャサブセットのうちの１つまたは複数から、参照ピクチャを追加する（たとえば、リストする）とき、本開示は、初期リスト０または初期リスト１中の参照ピクチャを識別するビデオデコーダ３０に言及する。たとえば、複数の参照ピクチャサブセットは、各々が、ゼロ以上の参照ピクチャを識別することができる。初期リスト０と初期リスト１とを構成するために、ビデオデコーダ３０は、初期リスト０または初期リスト１への参照ピクチャサブセット中で識別される、参照ピクチャのうちの１つまたは複数を識別することができる。
【０１８７】
[0196]混乱を避けるため、および明快性を助けるために、本開示は、参照ピクチャサブセット中で識別される参照ピクチャのうちのゼロ個以上を、ビデオデコーダ３０が初期リスト０および初期リスト１にリストしまたは追加して、初期リスト０と初期リスト１とを構成することに言及する場合がある。このように、ビデオデコーダ３０が参照ピクチャを追加またはリストすることは、ビデオデコーダ３０が、参照ピクチャサブセットに識別された参照ピクチャの識別子を追加またはリストすることを意味する。したがって、結果として得られる初期リスト０および初期リスト１は、現在のピクチャのブロックまたはスライスをコーディングするために使われる可能性があり得る、参照ピクチャについての複数の識別子を含む。これらの参照ピクチャは、ビデオデコーダ３０およびビデオエンコーダ２０のそれぞれの復号ピクチャバッファに記憶される。
【０１８８】
[0197]たとえば、初期リスト０を構成するために、ビデオデコーダ３０は、最初に、初期リスト０中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０において識別された参照ピクチャ、続いて、初期リスト０中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１において識別された参照ピクチャ、次いで、初期リスト０中のＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒにおいて識別された参照ピクチャをリスト（たとえば、追加）すればよい。初期リスト１を構成するために、ビデオデコーダ３０は、最初に、初期リスト１中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１において識別された参照ピクチャ、続いて、初期リスト１中のＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０において識別された参照ピクチャ、次いで、初期リスト１中のＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒにおいて識別された参照ピクチャをリスト（たとえば、追加）すればよい。
【０１８９】
[0198]さらに、参照ピクチャサブセットに参照ピクチャを異なる順序で追加することに加え、ビデオデコーダ３０は、リスト０とリスト１とを構成するとき、参照ピクチャサブセットの各々からの異なる数の参照ピクチャを使用することができる。たとえば、リスト０およびリスト１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒからの参照ピクチャすべてを含む必要はない。そうではなく、これらの例示的参照ピクチャサブセットから、初期リスト０と初期リスト１とを構成するためにリストされる参照ピクチャの数は、初期リスト０および初期リスト１の各々における参照ピクチャの最大数を示すシンタックス要素に基づき得る。
【０１９０】
[0199]たとえば、初期リスト０に対して、ビデオエンコーダ２０は、ＰおよびＢスライスについてのｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素をスライスヘッダ中で、および双予測されるＢスライスについてのｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素をシグナリングすればよい。上述したように、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、初期リスト０中にあり得る参照ピクチャの最大数を定義することができ、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、初期リスト１中にあり得る参照ピクチャの最大数を定義することができる。いくつかの例では、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値とは異なることが可能であり得るが、これはすべての例において必要なわけではない。いくつかの例では、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値と同じであり得る。
【０１９１】
[0200]上述したように、ビデオデコーダ３０は、コード化ビットストリーム中で、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０およびｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１についての値を受信することができる。ビデオデコーダ３０は、変数ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０を、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０に等しく定義し、変数ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１を、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１に等しく定義すればよい。ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャの数を示すことができ、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中の参照ピクチャの数を示すことができる。
【０１９２】
[0201]ビデオデコーダ３０は、コード化ビットストリーム中で、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒについての値も受信することができる。ビデオデコーダ３０は、変数ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒを、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒにｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒを加えたものに等しいものとして定義すればよい。ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒは、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャの数を示し得る。
【０１９３】
[0202]初期リスト０を構成するために、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中のすべての参照ピクチャを初期リスト０に追加するまで、および初期リスト０中のエントリの数（たとえば、リスト０中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ビデオデコーダ３０は、最初にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャを初期リスト０に追加すればよい。たとえば、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャの数を示し得る。この例では、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０からリストされる参照ピクチャの数がＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０と等しくなるまで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットからの参照ピクチャをリストする（たとえば、追加する）ことができる。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０の参照ピクチャを初期リスト０にリストする間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト０にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよい。
【０１９４】
[0203]ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中のすべての参照ピクチャを識別するまで、および初期リスト０中のエントリの数（たとえば、リスト０中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中の参照ピクチャを追加すればよい。たとえば、上記と同様に、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中の参照ピクチャの数を示し得る。この例では、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１からリストされる参照ピクチャの数がＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１と等しくなるまで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットからの参照ピクチャをリストすることができる。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１からの参照ピクチャをリストする間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト０にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよい。
【０１９５】
[0204]ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中のすべての参照ピクチャをリストするまで、および初期リスト０中のエントリの数（たとえば、リスト０中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャをリストすればよい。たとえば、上記と同様に、ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒは、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャの数を示し得る。この例では、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒからリストされる参照ピクチャの数がＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒと等しくなるまで、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットからの参照ピクチャをリストすることができる。ただし、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒから参照ピクチャを初期リスト０にリストする間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト０にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中にあったとしても、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよい。
【０１９６】
[0205]以下の擬似コードは、ビデオデコーダ３０が初期リスト０を構成することができるやり方を示す。
【数４】
0006038929.tif 000011
【０１９７】
[0206]上記擬似コードにおいて、ＲｅｆＰｉｃＬｉｓｔ０は初期リスト０であり得る。リスト０の修正が必要とされない例において、最終リスト０は初期リスト０と等しくなり得る。したがって、リスト０の修正が必要とされない例では、上記擬似コードにおけるＲｅｆＰｉｃＬｉｓｔ０は、最終リスト０であり得る。
【０１９８】
[0207]ビデオデコーダ３０は、初期リスト１を同様に構成してよい。ただし、初期リスト１を構成するために、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから初期リスト１に、続いて、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから初期リスト１に、続いて、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから初期リスト１に、参照ピクチャを追加すればよい。また、上記と同様に、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットのうちのいずれか１つから参照ピクチャをリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、これらの参照ピクチャサブセット中に追加参照ピクチャがあったとしても、ビデオデコーダ３０は、参照ピクチャの追加を停止してよい。
【０１９９】
[0208]たとえば、初期リスト１を構成するために、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中のすべての参照ピクチャを識別するまで、および初期リスト１中のエントリの数（たとえば、リスト１中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ビデオデコーダ３０は、最初に、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１から参照ピクチャをリストすればよい。たとえば、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ１の値は、ビデオデコーダ３０がいつ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中の参照ピクチャすべてをリストするのを完了したかを示し得る。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中の参照ピクチャをリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト１にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト１の構成を完了してしまってよい。
【０２００】
[0209]ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０からすべての参照ピクチャをリストするまで、および初期リスト１中のエントリの数（たとえば、リスト１中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャをリストすればよい。たとえば、上記と同様、ＮｕｍＳｈｏｒｔＴｅｒｍＣｕｒｒ０の値は、ビデオデコーダ３０がいつ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャすべてをリストするのを完了したかを示し得る。ただし、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０から参照ピクチャを初期リスト１にリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト１にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中にあったとしても、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中の参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト１の構成を完了してしまってよい。
【０２０１】
[0210]ビデオデコーダ３０が、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中のすべての参照ピクチャをリストし、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった後、ビデオデコーダ３０は次いで、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中のすべての参照ピクチャをリストするまで、および初期リスト１中のエントリの数（たとえば、リスト１中で識別される参照ピクチャの数）がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャをリストすればよい。たとえば、上記と同様、ＮｕｍＬｏｎｇＴｅｒｍＣｕｒｒの値は、ビデオデコーダ３０がいつ、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャすべてをリストするのを完了したかを示し得る。ただし、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャをリストする間、初期リスト１中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しくなった場合、ビデオデコーダ３０は、初期リスト１にリストされていない追加ピクチャが、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中にあったとしても、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャを追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト１の構成を完了してしまってよい。
【０２０２】
[0211]以下の擬似コードは、ビデオデコーダ３０が初期リスト１を構成することができるやり方を示す。
【数５】
0006038929.tif 000012
【０２０３】
[0212]上記擬似コードにおいて、ＲｅｆＰｉｃＬｉｓｔ１は初期リスト１であり得る。リスト１の修正が必要とされない例において、最終リスト１は初期リスト１と等しくなり得る。したがって、リスト１の修正が必要とされない例では、上記擬似コードにおけるＲｅｆＰｉｃＬｉｓｔ１は、最終リスト１であり得る。
【０２０４】
[0213]以上は、参照ピクチャリスト修正が必要とされないとき、ビデオデコーダ３０が最終リスト０と最終リスト１とを構成することができる１つの例示的やり方である。他の例では、ビデオデコーダ３０は、参照ピクチャサブセットを、上述したものとは異なる順序で追加してよい。さらにいくつかの他の例では、ビデオデコーダ３０は、上述したもの以外の参照ピクチャサブセットを追加してよい。
【０２０５】
[0214]前述の例は、ビデオデコーダ３０によって実施される参照ピクチャリスト構成のための技法について記載したが、本開示の態様はそのように限定されるわけではなく、ビデオエンコーダ２０は、参照ピクチャリストを構成するための同様の技法を実装することができる。ただし、ビデオデコーダ３０が参照ピクチャリストを構成するのと同じやり方で、ビデオエンコーダ２０が参照ピクチャリストを構成することが必要なわけではない。
【０２０６】
[0215]したがって、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、符号化または復号する）ように構成してよい。上述したように、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。
【０２０７】
[0216]ビデオコーダは、ゼロ個以上の参照ピクチャを各々が識別する複数の参照ピクチャサブセットを構成するように構成されてよい。たとえば、ビデオコーダは、少なくともＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを構成することができる。ビデオコーダは、上述したような、追加参照ピクチャサブセットを構成することができる。
【０２０８】
[0217]ビデオコーダは次いで、第１の参照ピクチャサブセットからの参照ピクチャを、続いて第２の参照ピクチャサブセットからの参照ピクチャを、続いて第３の参照ピクチャサブセットからの参照ピクチャを、初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数以下である限り、初期参照ピクチャリストに追加すればよい。たとえば、ビデオコーダは、初期リスト０中のエントリの数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから、続いてＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから、続いてＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒサブセットから、初期リスト０に参照ピクチャをリストすればよい。繰返しになるが、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１の値は、リスト０についての最大許容参照ピクチャリストエントリ数を示し得る。
【０２０９】
[0218]いくつかの例では、ビデオコーダは、第１の参照ピクチャサブセット中のすべての参照ピクチャが初期参照ピクチャリスト中でリストされ、または初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数と等しくなるまで、初期参照ピクチャリストにある第１の参照ピクチャサブセット中の参照ピクチャから追加してよい。初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数未満であるとき、および第１の参照ピクチャサブセットから参照ピクチャを追加した後、ビデオコーダは、第２の参照ピクチャサブセット中のすべての参照ピクチャが初期参照ピクチャリスト中でリストされ、または初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数と等しくなるまで、初期参照ピクチャリスト中の第２の参照ピクチャサブセットから参照ピクチャを追加してよい。初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数未満であるとき、および第２の参照ピクチャサブセットから参照ピクチャを追加した後、ビデオコーダは、第３の参照ピクチャサブセット中のすべての参照ピクチャが初期参照ピクチャリスト中でリストされ、または初期参照ピクチャリストエントリの数が最大許容参照ピクチャリストエントリ数と等しくなるまで、初期参照ピクチャリスト中の第３の参照ピクチャサブセットから参照ピクチャを追加してよい。
【０２１０】
[0219]ビデオコーダは、初期リスト１を同様に構成してよい。たとえば、ビデオコーダは、初期リスト１中の初期参照ピクチャリストエントリの数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である限り、第２の参照ピクチャサブセットからの参照ピクチャを、続いて第１の参照ピクチャサブセットからの参照ピクチャを、続いて第３の参照ピクチャサブセットからの参照ピクチャを初期リスト１に追加してよい。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素は、リスト１中の最大許容エントリ数を定義し得る。
【０２１１】
[0220]いくつかの例では、たとえば修正が必要とされないとき、初期リスト０および初期リスト１は、最終リスト０および最終リスト１と等しくなり得る。言い換えると、ビデオコーダは、修正が必要とされないとき、初期リスト０および初期リスト１の修正なしで、最終リスト０と最終リスト１とを構成することができる。これらのケースでは、初期リスト０と初期リスト１とを構成した後、ビデオコーダは、最終リスト０および最終リスト１（すなわち、ビデオコーダが現在のピクチャのブロックをコーディングするのに使う参照ピクチャリスト）を構成するための追加ステップを実施する必要がなくてよい。
【０２１２】
[0221]上記擬似コードに示されるように、ビデオデコーダ３０は、ｃＩｄｘがｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である間、初期リスト０を構成することができ、ｃＩｄｘがｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１以下である間、初期リスト１を構成することができる。結果として、ビデオデコーダ３０は、参照ピクチャリスト中に未完エントリ（non-completed entry）を残さずに、初期リスト０と初期リスト１とを構成することができる。たとえば、いくつかの他のビデオコーディング技法では、これらの他のビデオ技法のためのビデオデコーダは、本開示に記載するもの以外の技法を使用して、初期リスト０とリスト１とを構成することになる。これらの他のビデオコーディング技法については、初期リスト０および初期リスト１中のエントリの数が最大許容エントリ数未満だった場合、これらの他のビデオコーディング技法のためのビデオデコーダは、リスト０およびリスト１中の残りのエントリを、未完エントリに対する「参照ピクチャなし」で埋めることになる。未完エントリは、参照ピクチャを識別する最後のエントリの後の、および最後の可能エントリまでのリスト０およびリスト１中のエントリを指す。
【０２１３】
[0222]理解を助けるための説明のための例として、これらの他のビデオコーディング技法のためのビデオデコーダは、リスト０を５つのエントリで構成することができ、最大許容エントリ数は１０個のエントリである。この例では、これらの他のビデオコーディング技法のためのビデオデコーダは、第６〜第１０のエントリを「参照ピクチャなし」として埋めることになる。この例では、未完エントリは、第６のエントリ（たとえば、参照ピクチャを識別する最後のエントリの後のエントリ）から第１０のエントリ（たとえば、最大許容エントリ数で定義される最後の可能エントリ）までとなる。
【０２１４】
[0223]本開示の技法によると、ビデオデコーダ３０は、未完エントリが残らないように、初期リスト０と初期リスト１とを構成することができる。また、参照ピクチャリスト修正が要求されない例では、最終リスト０および最終リスト１は初期リスト０および初期リスト１と等しくなり得る。したがって、参照ピクチャリスト修正が要求されない例では、ビデオデコーダ３０は、未完エントリがないように、最終リスト０と最終リスト１とを構成すればよい。参照ピクチャリスト修正が要求される場合であっても、修正の結果、いかなる未完エントリもない場合がある。したがって、参照ピクチャリスト修正が要求される例であっても、ビデオデコーダ３０は、未完エントリがないように、最終リスト０と最終リスト１とを構成すればよい。
【０２１５】
[0224]たとえば、リスト０およびリスト１は、エントリをもつリストと見なすことができ、各エントリは、参照ピクチャを（たとえば、ピクチャのＰＯＣ値によって）識別することができる。言い換えると、ビデオデコーダ３０は、参照ピクチャを、リスト０およびリスト１の各エントリ中のピクチャのＰＯＣ値によって識別することができる。リスト０およびリスト１中のエントリの数は、それぞれ、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１およびｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素によって定義することができる。
【０２１６】
[0225]未完エントリが確実になくなるようにするために、初期リスト０および初期リスト１の各可能エントリ中でどの参照ピクチャが識別されるべきかをビデオデコーダ３０が決定するまで、ビデオデコーダ３０は、初期リスト０および初期リスト１に参照ピクチャサブセットから参照ピクチャを繰り返しリスト（たとえば、追加または識別）すればよい。たとえば、上述したように、初期リスト０を構成するために、初期リスト０にＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを追加した後、ビデオデコーダ３０は、初期リスト０にＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャを追加すればよい。
【０２１７】
[0226]いくつかの例では、ビデオデコーダ３０が初期リスト０にＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャを追加した後、初期リスト０中のエントリの総数が、リスト０中の最大許容エントリ数未満である可能性がある。たとえば、初期リスト０を構成するための擬似コードにおいて、ｃＩｄｘは、リスト０中のエントリの数を示し得る。いくつかの例では、ビデオデコーダ３０が、初期リスト０中のＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の参照ピクチャを識別した後、ｃＩｄｘの値は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満であってよく、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１はリスト０中の最大許容エントリ数を指定する。
【０２１８】
[0227]本開示に記載する技法によると、複数の参照ピクチャサブセットのうちの３つから参照ピクチャをリストした後、初期リスト０中のエントリの数が最大許容エントリ数未満である場合、ビデオデコーダ３０は、リスト０中のすべてのエントリが満杯になるまで、３つの参照ピクチャサブセットから参照ピクチャを繰り返し追加してよい。たとえば、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャセットから参照ピクチャを追加し、初期リスト０中のエントリの数が最大許容エントリ数未満になった後、ビデオデコーダ３０は次いで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから参照ピクチャを再リスト（たとえば、再追加または再識別）すればよい。
【０２１９】
[0228]本開示に記載する態様において、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャをリストすると、ビデオデコーダ３０は、これらの複数の参照ピクチャサブセットから、参照ピクチャリスト（たとえば、リスト０）中の第１のエントリセットに参照ピクチャを追加していると見なされ得る。たとえば、第１のエントリセットは、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャを識別した参照ピクチャリスト中のエントリであり得る。次いで、参照ピクチャリスト中のエントリの数が最大許容エントリ数未満である場合、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットのうちの少なくとも１つから、第１のエントリセットの後に続く、参照ピクチャリスト中のエントリに、１つまたは複数の参照ピクチャを再リスト（たとえば、再追加または再識別）してよい。第１のエントリセットの後に続くエントリは、後で説明するように、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットのうちの１つまたは複数から、すでにリストされた参照ピクチャを追加する第１のエントリセットに続くエントリであり得る。
【０２２０】
[0229]ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから参照ピクチャを再追加する間、初期リスト０中のエントリの総数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に等しくなった場合、ビデオデコーダ３０は、初期リスト０中で参照ピクチャを再追加するのを停止してよい。この場合、ビデオデコーダ３０は、初期リスト０の構成を完了してしまってよく、未完エントリは残り得ない。それ以外の場合、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットからすべての参照ピクチャが再リストされるまで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから参照ピクチャを再追加してよい。
【０２２１】
[0230]ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中のすべての参照ピクチャを再追加した後、初期リスト０中のエントリの数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった場合、ビデオデコーダ３０は、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットから参照ピクチャを再リストしたのと同様にして、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを再追加してよい。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中のすべての参照ピクチャを再追加した後、初期リスト０中のエントリの数がｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１未満になった場合、ビデオデコーダ３０は、ビデオデコーダ３０がＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットから参照ピクチャを再リストしたのと同様にして、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットから参照ピクチャを再追加してよい。ビデオデコーダ３０は、初期リスト０中のエントリの数が、リスト０用の最大許容エントリ数と等しく（すなわち、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１と等しく）なるまで、参照ピクチャサブセットから参照ピクチャを繰り返し追加する。
【０２２２】
[0231]たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中に１つの参照ピクチャ、ＲｅｆＰｉｃＳｅｔＣｕｒｒ１中に１つの参照ピクチャ、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中に１つの参照ピクチャがあると仮定する。また、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１が５に等しいと仮定する。この例では、ビデオデコーダ３０は、初期リスト０中の２つのエントリにあるＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャを識別することができる。たとえば、ビデオデコーダ３０は、初期リスト０の最初のエントリにあるＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャを識別し、初期リスト０の第４のエントリにあるＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャを再識別することができる。この例では、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０中の参照ピクチャについてのインデックス値は、初期リスト０中の最初のエントリについてのインデックス［０］、および初期リスト０中の第４のエントリについてのインデックス［３］であり得る。したがって、いくつかの例では、参照ピクチャサブセットのうちの１つにある１つの参照ピクチャが、初期参照ピクチャリスト中で複数回リスト（たとえば、識別）される場合がある。
【０２２３】
[0232]ビデオデコーダ３０は、初期リスト１に未完エントリがないように、初期リスト１を同様に構成してよい。たとえば、ビデオデコーダ３０は、初期リスト１中のエントリの数がリスト１中の最大許容エントリ数に等しく（すなわち、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１に等しく）なるまで、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットにある参照ピクチャを、その順序で繰り返し追加してよい。
【０２２４】
[0233]このように、初期リスト０と初期リスト１とを構成するための上記擬似コードでは、「ｆｏｒ」ループが「ｗｈｉｌｅ」ループ内に入れ子にされるので、ビデオデコーダ３０は、初期リスト０および初期リスト１に未完エントリが残らない（すなわち、初期化プロセスの後で未完エントリがない）ように、初期リスト０と初期リスト１とを構成し得る。いくつかの例では、初期リスト０および初期リスト１中のエントリの各々は、参照ピクチャサブセットのうちの１つにある参照ピクチャを識別し得る。いくつかの例では、参照ピクチャサブセットのうちの１つにある１つまたは複数の参照ピクチャが、最終参照ピクチャリスト中で複数回、ただし異なるインデックス値をもつ異なるエントリにおいて識別されることが可能であり得る。
【０２２５】
[0234]前述の例は、ビデオデコーダ３０によって実施される、未完エントリなしの参照ピクチャリスト構成のための技法について記載したが、本開示の態様はそのように限定されるわけではなく、ビデオエンコーダ２０は、未完エントリなしの参照ピクチャリストを構成するための同様の技法を実装することができる。ただし、ビデオデコーダ３０が参照ピクチャリストを構成するのと同じやり方で、ビデオエンコーダ２０が参照ピクチャリストを構成することが必要なわけではない。
【０２２６】
[0235]したがって、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、符号化または復号する）ように構成してよい。上述したように、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別する。
【０２２７】
[0236]ビデオコーダは、参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセット（たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット）を構成することができる。ビデオコーダは、複数の参照ピクチャサブセットから参照ピクチャリスト中の第１のエントリセットに参照ピクチャをリスト（たとえば、識別または追加）し得る。ビデオコーダは、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定し得る。
【０２２８】
[0237]参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数と等しくないとき、ビデオコーダは、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくなるまで、参照ピクチャのうちの少なくとも１つから、第１のエントリセットの後に続く参照ピクチャリスト中のエントリに、１つまたは複数の参照ピクチャを繰り返し再追加（たとえば、再識別）し得る。ビデオコーダは次いで、構成された参照ピクチャリストに基づいて、現在のピクチャをコーディングし得る。
【０２２９】
[0238]上述したように、いくつかの例では、ビデオエンコーダ２０は、ビデオデコーダ３０に１つまたは複数の初期参照ピクチャリストを修正するよう命令するシンタックス要素をシグナリングすることができる。たとえば、ビデオデコーダ３０は、上述したように１つまたは複数の初期参照ピクチャリストを構成し得る。次いで、いくつかの事例では、ビデオデコーダ３０は、１つまたは複数の初期参照ピクチャリストを修正して１つまたは複数の最終参照ピクチャリストを構成するようビデオデコーダ３０に命令する、コード化ビットストリームにあるシンタックス要素を復号することができる。概して、修正中、ビデオデコーダ３０は、参照ピクチャリストの初期化の後、参照ピクチャリストのうち１つのリストのエントリにおける複数の参照ピクチャサブセットのうちの１つまたは複数において識別されたピクチャのうちの１つまたは複数をマッピングすればよい。
【０２３０】
[0239]たとえば、ビデオデコーダ３０が上述したように１つまたは複数の初期参照ピクチャリストを構成した後、ビデオデコーダ３０は、コード化ビットストリームによって命令されたように、初期参照ピクチャリストのうちの１つにおけるエントリのうちの少なくとも１つを修正してよい。たとえば、ビデオエンコーダ２０は、修正シンタックス要素の一部として、参照ピクチャリストのエントリが初期化プロセスの一部として参照ピクチャをすでに識別し得るとしても、複数の参照ピクチャサブセットのうちの１つにあるどのピクチャが、参照ピクチャリストのそのエントリにおいて識別されるべきかを示すことができる。いくつかの例では、本開示に記載する参照ピクチャリスト修正技法は、柔軟なやり方での修正を可能にし得る。たとえば、ビデオデコーダ３０が、参照ピクチャリストの一方または両方において、初期参照ピクチャリストにはない参照ピクチャを識別することが可能であり得る。
【０２３１】
[0240]本開示において使われるように、「修正参照ピクチャリスト」というフレーズは、初期参照ピクチャリストの修正後の参照ピクチャリストを指す。修正参照ピクチャリストは、最終参照ピクチャリストであり得る。修正参照ピクチャリスト中のエントリの数は、リスト０の場合はｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１、リスト１の場合はｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１である。参照ピクチャは、リスト０およびリスト１に対する修正参照リスト中の２つ以上のインデックス（たとえば、エントリ）において現れる場合がある。
【０２３２】
[0241]参照ピクチャリスト修正のために、ビデオエンコーダ２０は、テーブル６のシンタックス要素をシグナリングすればよい。
【表６】
0006038929.tif 000013
【０２３３】
[0242]シンタックス要素ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃ、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘおよびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘは、初期参照ピクチャリストから、スライスを復号するために使われるべき参照ピクチャリストへの変化を指定し得る。
【０２３４】
[0243]１に等しいｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０は、参照ピクチャリスト０を指定するためのシンタックス要素ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが存在することを指定し得る。０に等しいｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０は、このシンタックス要素が存在しないことを指定する。
【０２３５】
[0244]ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０が１に等しいとき、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０に続くｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが３に等しくない回数は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１を超えてはならない。
【０２３６】
[0245]１に等しいｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１は、参照ピクチャリスト１を指定するためのシンタックスｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが存在することを指定し得る。０に等しいｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１は、このシンタックス要素が存在しないことを指定し得る。
【０２３７】
[0246]ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１が１に等しいとき、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１に続くｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが３に等しくない回数は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１を超えてはならない。
【０２３８】
[0247]ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃは、ｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘまたはｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘとともに、参照ピクチャのうちのどれが再マッピングされるかを指定し得る。ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃの値は、テーブル７において指定される。ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０またはｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１の直後にくる第１のｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃの値は３に等しくならないことがある。
【０２３９】
[0248]ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘは、参照ピクチャリスト中の現在のインデックスに移される参照ピクチャのＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１またはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒへのインデックスを指定する。ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘの値は、両端値を含む０〜ｍａｘ＿ｎｕｍ＿ｒｅｆ＿ｆｒａｍｅｓの範囲内であり得る。
【表７】
0006038929.tif 000014
【０２４０】
[0249]参照ピクチャリスト修正のために、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０が１に等しいとき、ビデオデコーダ３０は、初期参照ピクチャリスト０（すなわち、初期リスト０）を修正し得、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１が１に等しいとき、ビデオデコーダ３０は、初期参照ピクチャリスト１（すなわち、初期リスト１）を修正し得る。参照ピクチャリスト修正の理解を助けるために、変数ｒｅｆＩｄｘＬ０が初期リスト０中へのインデックスであり、変数ｒｅｆＩｄｘＬ１が初期リスト１中へのインデックスであると仮定する。言い換えると、ｒｅｆＩｄｘＬ０は初期リスト０のエントリを識別し得（すなわち、初期リスト０へのインデックスが初期リスト０のエントリを識別する）、ｒｅｆＩｄｘＬ１は初期リスト１のエントリを識別し得る。ｒｅｆＩｄｘＬ０およびｒｅｆＩｄｘＬ１変数は、最初に０に等しく設定され得る。
【０２４１】
[0250]ビデオデコーダ３０は、シンタックス要素がビットストリーム中に出現するプロセスにおいて、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃについてのシンタックス要素を処理することができる。たとえば、初期リスト０に参照ピクチャリスト修正が必要とされることをビデオエンコーダ２０がシグナリングした場合、ビデオデコーダ３０は、初期リスト０を修正するためにビデオエンコーダ２０がｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素をシグナリングした順序を処理してよい。同様に、たとえば、初期リスト１に参照ピクチャリスト修正が必要とされることをビデオエンコーダ２０がシグナリングした場合、ビデオデコーダ３０は、初期リスト１を修正するためにビデオエンコーダ２０がｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素をシグナリングする順序を処理してよい。
【０２４２】
[0251]ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値は、テーブル７に示されるように、０、１、２、または３であり得る。ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値が３である場合、ビデオデコーダ３０は、初期参照ピクチャリストの修正を停止し得る。そうでない場合、ビデオデコーダ３０は、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値が３になるまで、初期参照ピクチャリストを修正し続け得る。たとえば、ビデオエンコーダ２０は、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素についての複数の値をシグナリングし得、ビデオデコーダ３０は、コード化ビットストリーム中に値が存在する順序で、値の各々を処理し得る。ビデオデコーダ３０がｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値を３となるように処理したとき、ビデオデコーダ３０は、さらなる修正は必要とされないと決定し得る。
【０２４３】
[0252]３以外のもの（すなわち、０、１、または２）であるｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値は、どの参照ピクチャサブセットから、参照ピクチャリストの現在のエントリにおいてリストされる（たとえば、追加される）べき参照ピクチャをビデオデコーダ３０が識別するべきであるかを指示し得る。上述したように、参照ピクチャリストの現在のエントリはｒｅｆＩｄｘＬＸの値で識別することができ、ＬＸはリスト０またはリスト１のいずれかである。たとえば、ビデオデコーダ３０が初期リスト０を修正中であり、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが０である場合、テーブル７に従って、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０にあるどの参照ピクチャが、参照ピクチャリストの現在のエントリにおいて識別されるべきかを、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘの値に基づいて決定し得る。ビデオデコーダ３０が初期リスト１を修正中であり、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが０である場合、テーブル７に従って、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１にあるどの参照ピクチャが、参照ピクチャリストの現在のエントリにおいて識別されるべきかを、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘの値に基づいて決定し得る。たとえば、変数ｃｕｒＲｅｆＰｉｃＳｅｔは、初期リスト０または初期リスト１を修正するために、どの参照ピクチャサブセットをビデオデコーダ３０が使うべきかを定義し得る。
【０２４４】
[0253]たとえば、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが０に等しく、ビデオデコーダ３０が初期リスト０を修正中である場合、ｃｕｒＲｅｆＰｉｃＳｅｔはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットに等しくなる。ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｘが０に等しく、ビデオデコーダ３０が初期リスト１を修正中である場合、ｃｕｒＲｅｆＰｉｃＳｅｔはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットに等しくなる。
【０２４５】
[0254]ビデオデコーダ３０が初期リスト０を修正中であり、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが１である場合、テーブル７に従って、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１にあるどの参照ピクチャが、参照ピクチャリストの現在のエントリにおいて識別されるべきかを、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘの値に基づいて決定し得る。ビデオデコーダ３０が初期リスト１を修正中であり、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが１である場合、テーブル７に従って、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０にあるどの参照ピクチャが、参照ピクチャリストの現在のエントリにおいて識別されるべきかを、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘの値に基づいて決定し得る。
【０２４６】
[0255]この場合、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが１に等しく、ビデオデコーダ３０が初期リスト０を修正中である場合、ｃｕｒＲｅｆＰｉｃＳｅｔはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットに等しくなる。ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｘが１に等しく、ビデオデコーダ３０が初期リスト１を修正中である場合、ｃｕｒＲｅｆＰｉｃＳｅｔはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットに等しくなる。
【０２４７】
[0256]ビデオデコーダ３０が初期リスト０または初期リスト１を修正中であり、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが２である場合、テーブル７に従って、ビデオデコーダ３０は、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒにあるどの参照ピクチャが、参照ピクチャリストの現在のエントリにおいて識別されるべきかを、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘの値に基づいて決定し得る。この例では、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃが２に等しく、ビデオデコーダ３０が初期リスト０または初期リスト１を修正中である場合、ｃｕｒＲｅｆＰｉｃＳｅｔはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットに等しくなる。
【０２４８】
[0257]上述したように、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘシンタックス要素は、複数の参照ピクチャサブセットのうちの１つのサブセットの中へのインデックスを指示し得る。言い換えると、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘシンタックス要素は、複数の参照ピクチャサブセットのうちの１つからのエントリを、ビデオデコーダ３０に指示し得る。ビデオデコーダ３０は、複数の参照ピクチャサブセットのうちの１つのサブセットのエントリにおいて識別された参照ピクチャを、初期リスト０または初期リスト１の現在のインデックスにおいて識別されるべき参照ピクチャとして決定し得る。
【０２４９】
[0258]変数ｃｕｒＲｅｆＰｉｃＰｏｃは、ＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒＲｅｆＰｉｃＳｅｔ［ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ］）に等しくなり得る。このように、ｃｕｒＲｅｆＰｉｃＰｏｃの値は、ｃｕｒＲｅｆＰｉｃＳｅｔのｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘエントリ中で識別された参照ピクチャのＰＯＣ値になり得る。上述したように、ｃｕｒＲｅｆＰｉｃＳｅｔは、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値に基づいて、およびビデオデコーダ３０が初期リスト０それとも初期リスト１を修正中であるかに基づいて、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、またはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒに等しくなり得る。
【０２５０】
[0259]ビデオデコーダ３０は、参照ピクチャリスト修正のための以下の擬似コードを実装することができる。たとえば、以下の擬似コードにおいて、ビデオデコーダ３０は、初期参照ピクチャリストのエントリにおいて、ｃｕｒＲｅｆＰｉｃＰｏｃに等しいＰＯＣ値をもつピクチャを識別することができる。ｒｅｆＩｄｘＬＸ変数は、初期参照ピクチャリスト中のエントリについてのインデックス位置を示す。たとえば、ビデオデコーダ３０が初期リスト０を修正中であるとき、ｒｅｆＩｄｘＬＸはｒｅｆＩｄｘＬ０であってよく、ビデオデコーダ３０が初期リスト１を修正中であるとき、ｒｅｆＩｄｘＬＸはｒｅｆＩｄｘＬ１であってよい。
【０２５１】
[0260]ビデオデコーダ３０が、初期参照ピクチャリスト（すなわち、初期リスト０または初期リスト１）中でｃｕｒＲｅｆＰｉｃＰＯＣに等しいＰＯＣ値をもつ参照ピクチャを識別した後、ビデオデコーダ３０は、他の残りのピクチャの位置を、リスト中でより後にシフトすればよい。たとえば、ビデオデコーダ３０は、現在のエントリに続くエントリにある、初期参照ピクチャリスト中で識別された参照ピクチャを、次のエントリに移して、修正参照ピクチャリストを構成すればよい。説明のための例として、初期参照ピクチャリスト中の現在のエントリが、インデックス［２］をもつ第３のエントリであると仮定する。ビデオデコーダ３０は、インデックス［２］をもつ第３のエントリ中で現在識別される参照ピクチャを、次のエントリ（たとえば、インデックス［３］をもつ第４のエントリ）に移してよい。ビデオデコーダ３０は、インデックス［３］をもつ第４のエントリ中で現在識別される参照ピクチャを、インデックス［４］をもつ第５のエントリに移してよい。いくつかの例では、ビデオデコーダ３０は、初期参照ピクチャリスト中の最後のエントリから始めて、そのエントリにおいて識別される参照ピクチャを、時間的に新しいエントリに移せばよい。次いで、第２から最後のエントリにおいて識別される参照ピクチャを最後のエントリに移し、ビデオデコーダ３０が現在のエントリに達するまで、以下同様にする。
【０２５２】
[0261]ビデオデコーダ３０は次いで、ｒｅｆＩｄｘＬＸ変数の値を増分してよい。この擬似コードにおいて、ＲｅｆＰｉｃＬｉｓｔＸ（すなわち、ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１）の長さは、一時的に、最終参照ピクチャリストに必要とされる長さよりも、１つの要素分だけ長くされる。たとえば、上述したように、ビデオデコーダ３０は、初期参照ピクチャリスト中の最後のエントリから始めて、その最後のエントリを一時的エントリに移し、第２から最後のエントリを最後のエントリに移し、以下同様に続けて、初期参照ピクチャリストを修正することができる。擬似コードの実行後、ビデオデコーダ３０は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１によりインデックス０におけるエントリのみを保持すればよく、ここでｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１はリスト０についてのｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１、およびリスト１についてのｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１である。
【数６】
0006038929.tif 000015
【０２５３】
[0262]上記擬似コードにおいて、ＲｅｆＰｉｃＬｉｓｔＸは、ビデオデコーダ３０が初期リスト０それとも初期リスト１を修正中であるかに基づいて、ＲｅｆＰｉｃＬｉｓｔ０（すなわち、最終リスト０）またはＲｅｆＰｉｃＬｉｓｔ１（すなわち、最終リスト１）のいずれかを指す。ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌＸ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ビデオデコーダ３０が初期リスト０それとも初期リスト１を修正中であるかに基づいて、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１またはｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１のいずれかを指す。
【０２５４】
[0263]上記技法は、ビデオデコーダ３０が初期参照ピクチャリストを修正することができる例示的やり方を説明する。符号化プロセス中、ビデオエンコーダ２０は、後続ピクチャを符号化する目的で、符号化ピクチャを復号する必要もあり得る。したがって、いくつかの例では、ビデオエンコーダ２０は、上述したように、初期参照ピクチャリストを構成し、初期参照ピクチャリストを修正するように構成されてもよい。ただし、ビデオエンコーダ２０は、すべての例において１つまたは複数の初期参照ピクチャリストを修正する必要はない場合がある。いくつかの例では、ビデオデコーダ３０は、上述した技法を使用して初期参照ピクチャを修正する唯一のコーダであり得る。
【０２５５】
[0264]したがって、いくつかの例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）は、上述した技法を使用して、初期参照ピクチャリスト（たとえば、初期リスト０または初期リスト１）を構成することができる。ビデオコーダは、コード化ビットストリーム中のコード化シンタックス要素に基づいて、参照ピクチャリスト修正が必要とされるかどうか決定することができる。参照ピクチャリスト修正が必要とされるとき、ビデオコーダは初期参照ピクチャリストを修正してよい。
【０２５６】
[0265]たとえば、参照ピクチャリスト修正が必要とされるとき、ビデオコーダは、構成された参照ピクチャサブセットのうちの少なくとも１つの中の参照ピクチャを識別することができる。ビデオコーダは、初期参照ピクチャリストの現在のエントリ中の、識別された参照ピクチャサブセットをリストして（たとえば、追加して）、修正参照ピクチャリストを構成することができる。ビデオコーダは次いで、修正参照ピクチャリストに基づいて、現在のピクチャをコーディング（たとえば、符号化または復号）すればよい。
【０２５７】
[0266]一例として、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを構成することができる。これらの参照ピクチャサブセットのうちの少なくとも１つにおいて参照ピクチャを識別するために、ビデオコーダは、これらの参照ピクチャサブセットのうち少なくとも１つのサブセットの中へのインデックスを決定すればよい。ビデオコーダは次いで、決定されたインデックスに基づいて、これらの参照ピクチャサブセットのうち少なくとも１つのサブセットのエントリにおいてで識別された参照ピクチャを決定すればよい。
【０２５８】
[0267]たとえば、ビデオコーダは、ビデオコーダが参照ピクチャサブセットのうちの１つ（たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットのうちの１つ）を識別する際に用いる、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素など、第１のシンタックス要素をコーディング（たとえば、符号化または復号）すればよい。ビデオコーダは、識別された参照ピクチャサブセット（たとえば、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットのうちの１つ）の中へのインデックスを示す、ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘシンタックス要素など、第２のシンタックス要素をコーディングすればよい。
【０２５９】
[0268]いくつかの例では、ビデオコーダは、初期参照ピクチャリスト中の参照ピクチャを移すようにさらに構成されてよい。たとえば、ビデオコーダは、現在のエントリに続くエントリにある、初期参照ピクチャリスト中で識別された参照ピクチャを、修正参照ピクチャリスト中の次のエントリに移せばよい。
【０２６０】
[0269]以上の例は、ビデオエンコーダ２０およびビデオデコーダ３０が参照ピクチャセットを導出することができる方法、ならびに修正が必要とされないとき、および修正が必要とされるときに参照ピクチャリストを構成するための例示的技法を記載した。ただし、本開示に記載する技法は、そのように限定されるわけではない。いくつかの例では、本開示に記載する技法は、復号ピクチャバッファ（ＤＰＢ）管理を対象とし得る。ＤＰＢは、復号ピクチャを記憶するバッファであり得る。
【０２６１】
[0270]ビデオエンコーダ２０およびビデオデコーダ３０の各々は、それぞれのＤＰＢを含み得る。たとえば、符号化プロセスの一部として、ビデオエンコーダ２０は、現在のピクチャを復号し、復号ピクチャをビデオエンコーダ２０のＤＰＢに記憶し、ＤＰＢに記憶された復号ピクチャを、後続ピクチャのインター予測のために使用することができる。同様に、復号プロセスの一部として、ビデオデコーダ３０は、現在のピクチャを復号し、復号ピクチャをビデオデコーダ３０のＤＰＢに記憶することができる。ビデオデコーダ３０は次いで、復号ピクチャを、後続ピクチャのインター予測のために使用することができる。
【０２６２】
[0271]いくつかの例では、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかのためのＤＰＢは、復号ピクチャを、出力並べ替えまたは出力遅延のために記憶することができる。たとえば、ビデオデコーダ３０は、復号ピクチャが出力用に並べ替えられるべきであると、または復号ピクチャの出力が遅らされるべきであると決定してよい。これらの例では、ビデオデコーダ３０のＤＰＢは、復号ピクチャを、出力並べ替えまたは出力遅延のために記憶することができる。
【０２６３】
[0272]本開示に記載するＤＰＢ管理技法は、ＤＰＢが復号ピクチャを出力および削除する方法を対象とし得る。ｏｕｔｐｕｔ＿ｆｌａｇシンタックス要素は、復号ピクチャ出力および削除プロセスに影響する場合があり、ネットワークアブストラクションレイヤ（ＮＡＬ）ユニットセマンティクスの一部として定義され得る。ＮＡＬユニットは、後に続くべきデータのタイプと、必要に応じてエミュレーション防止バイトをもつ、散在される未加工バイトシーケンスペイロード（ＲＢＳＰ）の形でデータを含むバイトとの指示を含むシンタックス構造として定義され得る。ＲＢＳＰは、ＮＡＬユニット中にカプセル化される、整数個のバイトを含むシンタックス構造であり得る。ＲＢＳＰは、空であってもよく、またはシンタックス要素、それに続くＲＢＳＰストップビット、およびそれに続く、０に等しい、ゼロ個以上の後続ビットを含むデータビット列の形を有する。テーブル８は、ＮＡＬユニットシンタックスを定義する。
【表８】
0006038929.tif 000016
【０２６４】
[0273]テーブル８において、ｏｕｔｐｕｔ＿ｆｌａｇは、後でより詳しく説明するように、復号ピクチャ出力および削除プロセスに影響し得る。どのピクチャに対しても、ｏｕｔｐｕｔ＿ｆｌａｇが１に等しい場合、ピクチャは出力を意図されている。そうでない場合、ピクチャが出力されることはない。本開示に記載する技法では、変数ＯｕｔｐｕｔＦｌａｇは、ｏｕｔｐｕｔ＿ｆｌａｇシンタックス要素に等しい。
【０２６５】
[0274]いくつかの例では、現在のアクセスユニットのコード化ピクチャのどのコード化スライスＮＡＬユニットも、以下のうちの１つまたは複数のように、前のアクセスユニットのコード化ピクチャのどのコード化スライスＮＡＬユニットとも異なってよい。たとえば、ｎａｌ＿ｒｅｆ＿ｉｄｃ値のうちの１つが０に等しい場合、ｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄ値が異なってよく、ｎａｌ＿ｒｅｆ＿ｉｄｃ値が異なってよい。ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ値が異なってよい。ＩｄｒＰｉｃＦｌａｇ値が異なってよい。ＩｄｒＰｉｃＦｌａｇは両方に対して１に等しくてよく、ｉｄｒ＿ｐｉｃ＿ｉｄ値は異なってよい。
【０２６６】
[0275]本開示に記載する技法では、アクセスユニットは、復号順において連続するとともに１つのコード化ピクチャを含む１組のＮＡＬユニットとして定義され得る。コード化ピクチャに加え、１つの補助コード化ピクチャ、または他のＮＡＬユニットは、コード化ピクチャのスライスを含むことはできない。いくつかの例では、アクセスユニットの復号により、復号ピクチャが生じ得る。コード化ピクチャは、復号プロセスによって使用されるべきピクチャのコード化表現であり得る。
【０２６７】
[0276]テーブル４に示されるように、スライスヘッダシンタックスは、ｐｉｃ＿ｐａｒａｍｅｔｅｒ＿ｓｅｔ＿ｉｄシンタックス要素と、ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素と、ＩｄｒＰｉｃＦｌａｇシンタックス要素と、ｉｄｒ＿ｐｉｃ＿ｉｄシンタックス要素とを含み得る。テーブル８に示されるように、ＮＡＬユニットシンタックスは、ｎａｌ＿ｒｅｆ＿ｉｄｃシンタックス要素を含み得る。
【０２６８】
[0277]説明のために、ＤＰＢ管理技法を、仮想参照デコーダ（ＨＲＤ）の観点から説明する。ＨＲＤは、符号化プロセスが生じ得る準拠ＮＡＬユニットストリームまたは準拠バイトストリームの変動性に対する制約を指定する仮想デコーダモデルとして定義され得る。ただし、本開示に記載する技法によると、ビデオデコーダ３０はＤＰＢ管理技法を実装することができ、いくつかの例では、ビデオエンコーダ２０がＤＰＢ管理技法を実装することも可能であり得る。
【０２６９】
[0278]ＨＤＲモデルは、コード化ピクチャバッファ（ＣＰＢ）と、瞬時復号プロセスと、復号ピクチャバッファ（ＤＰＢ）とを定義することができる。ＣＰＢは、他の以前の規格において定義されるＨＤＲモデルのＣＰＢと同様であり得る（すなわち、ＣＰＢは、コード化ピクチャを記憶することができる）。本開示に記載する技法は、他の規格における操作とは異なる、ＤＰＢ操作を対象とする。繰返しになるが、ビデオデコーダ３０および可能性としてはビデオエンコーダ２０が、後で説明するようにＤＰＢ操作を実装し得ることを理解されたい。
【０２７０】
[0279]概して、本開示に記載する技法は、ＤＰＢにおける復号ピクチャの出力および削除に関連する。復号ピクチャの出力は、このコンテキストでは、復号中のピクチャの、表示、記憶または他の目的での出力を意味する。ただし、出力される復号ピクチャは、必ずしもＤＰＢから削除される必要はない。たとえば、ビデオデコーダ３０は、出力される復号ピクチャを、後続ピクチャをインター予測するための参照ピクチャとして使用する必要があり得るので、ビデオデコーダ３０は、その復号ピクチャをＤＰＢから削除しなくてよい。復号ピクチャの削除は、このコンテキストでは、ＤＰＢからの復号ピクチャの削除を意味する。
【０２７１】
[0280]たとえば、ビデオデコーダ３０は、復号ピクチャを、ビデオデコーダ３０のＤＰＢに、ピクチャが復号される順序で記憶すればよい。ただし、ピクチャの復号順は、ピクチャの出力順と同じでなくてよい。たとえば、復号順において現在のピクチャの後に続く、現在のピクチャよりも早く出力されるべきピクチャがあり得る。したがって、いくつかの例では、ビデオデコーダ３０は、復号順で並べられている、ＤＰＢ中のピクチャを、ビデオデコーダ３０が出力順に並べ替えるための並べ替えを実施してよい。ビデオデコーダ３０は次いで、復号ピクチャを、その出力順に出力すればよい。ビデオデコーダ３０は、ピクチャが出力に必要とされない（すなわち、出力済みであるか、または出力を意図されていない）、また、インター予測に必要とされない（すなわち、インター予測のための参照ピクチャとして使われる必要がない）場合、復号ピクチャからピクチャを削除してもよい。
【０２７２】
[0281]本開示に記載する技法では、復号ピクチャが出力済みであるか、または出力を意図されていない場合、および導出された参照ピクチャセット中で復号ピクチャが識別されない場合は、インター予測参照にはそれ以上必要とされない（すなわち、それ以上インター予測のための参照ピクチャとして使われる必要がない）ことと等価なので、ビデオデコーダ３０は、ＤＰＢから復号ピクチャを削除してよい。繰返しになるが、上述したように、参照ピクチャセットは、現在のピクチャをインター予測するのに使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するのに使われる可能性があり得る参照ピクチャを識別することができる。本開示に記載する技法によると、導出された参照ピクチャセット中で復号ピクチャが識別されない場合、その復号ピクチャは、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャとをインター予測する（たとえば、復号する）ための参照ピクチャとして必要とされなくてよい。したがって、このような復号ピクチャは、復号ピクチャがインター予測に使われる予定がないのであれば、このような復号ピクチャをＤＰＢ中に保つ必要があり得ないので、復号ピクチャが出力に必要とされない場合、ＤＰＢから削除してよい。
【０２７３】
[0282]さらに、本開示に記載する技法では、ビデオデコーダ３０は、現在のピクチャの復号に先立って、復号ピクチャを削除してよい。たとえば、上述したように、ビデオデコーダ３０は、現在のピクチャの復号に先立って、参照ピクチャセットを導出し、参照ピクチャリスト（１つまたは複数）を構成することができる。ビデオデコーダ３０は、現在のピクチャを復号するのに先立って参照ピクチャセットを導出することができるので、ビデオデコーダ３０は、出力に必要とされない復号ピクチャが、現在のピクチャを復号するのに先立って削除されるべきかどうか決定するように構成すればよい。たとえば、参照ピクチャセットを導出した後、および現在のピクチャを復号するのに先立って、ビデオデコーダ３０は、出力された復号ピクチャまたは出力を意図されていない復号ピクチャが、参照ピクチャセット中で識別されていないかどうか決定することができる。次いで、現在のピクチャを復号するのに先立って、ビデオデコーダ３０は、復号ピクチャが参照ピクチャセット中で識別されない場合、出力に必要とされない（すなわち、すでに出力されているか、または出力を意図されていない）復号ピクチャを削除してよい。
【０２７４】
[0283]いくつかの例では、ビデオデコーダ３０は、現在のピクチャを復号するのに先立って、復号ピクチャを削除してよい。ただし、ビデオデコーダ３０は、参照ピクチャリスト（１つまたは複数）を構成した後、復号ピクチャを削除してよい。たとえば、ビデオデコーダ３０は、参照ピクチャセットを導出することができ、参照ピクチャセットに基づいて参照ピクチャリストを構成することができる。次いで、現在のピクチャを復号するのに先立って、ビデオデコーダ３０は、復号ピクチャを削除してよい。いくつかの例では、ビデオデコーダ３０は、参照ピクチャリスト（１つまたは複数）を構成した後、復号ピクチャを出力してもよい。
【０２７５】
[0284]本開示は、ＤＰＢ中の復号ピクチャの削除技法について、少なくとも２つ観点から記載する。第１の観点では、ビデオデコーダ３０は、ピクチャが出力を意図されている場合、出力時間に基づいて、復号ピクチャを削除してよい。第２の観点では、ビデオデコーダ３０は、ピクチャが出力を意図されている場合、ＰＯＣ値に基づいて、復号ピクチャを削除してよい。いずれの観点でも、ビデオデコーダ３０は、復号ピクチャが参照ピクチャセット中にないとき、および現在のピクチャを復号するのに先立って、出力に必要とされない（すなわち、すでに出力されているか、または出力を意図されていない）復号ピクチャを削除してよい。
【０２７６】
[0285]ＤＰＢは複数のバッファを含んでよく、各バッファは、参照ピクチャとして使われるべき、または将来の出力のために保有される復号ピクチャを記憶することができる。最初に、ＤＰＢは空である（すなわち、ＤＰＢ充満度（fullness）はゼロに設定される）。記載した例示的技法では、ＤＰＢからの復号ピクチャの削除は、現在のピクチャの復号の前、ただしビデオデコーダ３０が現在のピクチャの最初のスライスのスライスヘッダを解析した後に起こり得る。
【０２７７】
[0286]第１の観点では、以下の技法は、以下の系列で、時間ｔr（ｎ）において瞬時に起こり得る。この例では、ｔr（ｎ）は、現在のピクチャを含むアクセスユニットｎのＣＰＢ削除時間（すなわち、復号時間）である。本開示で説明するように、瞬時に起こる技法は、ＨＤＲモデルでは、ピクチャの復号が、ゼロに等しい、ピクチャを復号するための期間をもつ瞬時（すなわち、無制限に高速）であると仮定されることを意味し得る。
【０２７８】
[0287]現在のピクチャがＩＤＲピクチャである場合、およびＩＤＲピクチャが最初のＩＤＲピクチャではなく、アクティブシーケンスパラメータセットから導出されたｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇの値の値が、それぞれ、先行ピクチャに関してアクティブだったシーケンスパラメータセットから導出されたｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓまたはｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇの値とは異なるとき、ビデオデコーダ３０は、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇの実効値にかかわらず、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇシンタックス要素が１に等しいと推論してよい。現在のピクチャがＩＤＲピクチャである場合、およびｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇが実際に１に等しく、または１に等しいと推論されるとき、ビデオデコーダ３０は、ＤＰＢ内のピクチャを出力せずに、ＤＰＢのすべてのバッファを空にしてよく、ＤＰＢ充満度を０に設定すればよい。
【０２７９】
[0288]上でテーブル１に示したように、シーケンスパラメータセットは、ｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓ、およびｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｌｕｍａ＿ｓａｍｐｌｅｓシンタックス要素を含み得る。シーケンスパラメータセットは、ｍａｘ＿ｄｅｃ＿ｆｒａｍｅ＿ｂｕｆｆｅｒｉｎｇシンタックス要素も含み得る。上でテーブル４に示したように、スライスヘッダシンタックスは、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇシンタックス要素を含み得る。
【０２８０】
[0289]現在のピクチャがＩＤＲピクチャではないとき、ビデオデコーダ３０は、以下の条件が真であるＤＰＢ内のすべてのピクチャ（ｍ）を削除してよい。第１の条件は、ピクチャが現在のピクチャの参照ピクチャセットに含まれないことであってよい。第２の条件は、ピクチャが、０に等しいＯｕｔｐｕｔＦｌａｇをもち、またはピクチャのＤＰＢ出力時間が現在のピクチャのＣＰＢ削除時間以下であることであり得る。この例では、ＣＰＢ削除時間は、削除プロセスが起こるｔr（ｎ）（たとえば、現在のピクチャの復号に先立つ時間）である。復号ピクチャｍのＤＰＢ出力時間は、変数ｔo,dpb（ｍ）によって定義することができる。したがって、ＣＰＢ削除時間以下であるＤＰＢ出力時間は、ｔo,dpb（ｍ）≦ｔr（ｎ）と表すことができる。ＤＰＢ出力時間（ｔo,dpb）の導出については、以下でより詳しく定義する。
【０２８１】
[0290]このようにして、ビデオデコーダ３０は、復号ピクチャの出力時間に基づいて、ピクチャを復号するのに先立って、および復号ピクチャが参照ピクチャセット中で識別されないとき、ＤＰＢから復号ピクチャを削除することができる。ビデオデコーダ３０がＤＰＢから復号ピクチャを削除すると、ビデオデコーダ３０は、ＤＰＢ充満度を１だけ減分してよい。
【０２８２】
[0291]以下では、復号ピクチャを出力するべき時間（たとえば、復号ピクチャのＤＰＢ出力時間）をビデオデコーダ３０が決定することができる方法について説明し、いつビデオデコーダ３０が復号ピクチャをＤＰＢに記憶することができるかについても説明する。上述したように、ピクチャのＤＰＢ出力時間は、そのピクチャがＤＰＢから削除されるかどうか決定する際の要因となり得る。
【０２８３】
[0292]ビデオデコーダ３０がピクチャを復号するとき、ビデオデコーダ３０は、ピクチャをＤＰＢに記憶し、ＤＰＢ充満度を１だけ増分する。ピクチャが、１に等しいＯｕｔｐｕｔＦｌａｇを有するとき、ビデオデコーダ３０は、以下の式に基づいて、ピクチャについてのＤＰＢ出力時間を導出することができる。
【数７】
0006038929.tif 000017
【０２８４】
[0293]この式において、ｄｐｂ＿ｏｕｔｐｕｔ＿ｄｅｌａｙ（ｎ）は、ピクチャを含むアクセスユニットに関連付けられたピクチャタイミングＳＥＩメッセージ中で指定され得る。ＳＥＩメッセージは、Ｈ．２６４／ＡＶＣ規格など、いくつかの規格において定義され得る。
【０２８５】
[0294]ｔo,dpb（ｎ）値は、いつピクチャが出力されるべきかを定義し得る。たとえば、ＯｕｔｐｕｔＦｌａｇが１に等しく、ｔo,dpb（ｎ）がｔr（ｎ）に等しい場合、ビデオデコーダ３０はピクチャを出力してよい。そうではなく、ＯｕｔｐｕｔＦｌａｇが０に等しい場合、ビデオデコーダ３０はピクチャを出力することができない。ＯｕｔｐｕｔＦｌａｇが１に等しく、ｔo,dpb（ｎ）がｔr（ｎ）よりも大きい事例では、ビデオデコーダ３０は、以降の時間に（たとえば、時間ｔo,dpb（ｎ）で）ピクチャを出力することができる。
【０２８６】
[0295]いくつかの例では、ビデオデコーダ３０がピクチャを出力するとき、ビデオデコーダ３０はピクチャをクロップしてよい。たとえば、ビデオデコーダ３０は、ピクチャ用のアクティブシーケンスパラメータセット中で指定されたクロッピング矩形を使用することができる。ピクチャをクロップするための技法は概して、Ｈ．２６４／ＡＶＣ規格などの規格において十分に確立され、記載されている。
【０２８７】
[0296]いくつかの例では、ビデオデコーダ３０は、ピクチャについてのＤＰＢ出力時間と、出力順においてそのピクチャに続くピクチャについてのＤＰＢ出力時間との間の差を決定することができる。たとえば、ピクチャ（ｎ）が、ビデオデコーダ３０が出力するピクチャであり、出力される、ビットストリームの最後のピクチャではないとき、ビデオデコーダ３０は、Δｔo,dpb（ｎ）の値が、次のように定義されると決定することができる。
【数８】
0006038929.tif 000018
【０２８８】
[0297]上記式において、ｎnは、出力順においてピクチャ（ｎ）に続くとともに１に等しいＯｕｔｐｕｔＦｌａｇをもつピクチャを示す。また、上記式において、Δｔo,dpb（ｎ）は、ピクチャと、出力順においてその後に続くピクチャとの間のＤＰＢ出力時間の差を表す。
【０２８９】
[0298]復号ピクチャを削除するための第２の観点において、ＨＤＲは、アクセスユニットがＣＰＢから削除されたとき、瞬時にこれらの技法を実装すればよい。繰返しになるが、ビデオデコーダ３０は、ＤＰＢからの復号ピクチャの削除を実施することができ、ビデオデコーダ３０は、必ずしもＣＰＢを含まなくてよい。概して、本開示では、復号ピクチャの削除は、ビデオデコーダ３０によって実施され、ビデオエンコーダ２０によって実施されてもよい。これらの例では、ビデオデコーダ３０およびビデオエンコーダ２０は、ＣＰＢを要求しなくてよい。そうではなく、ＣＰＢは、説明のためにのみ、ＨＤＲモデルの一部として説明される。
【０２９０】
[0299]上記のように、復号ピクチャを削除するための第２の観点において、ビデオデコーダ３０は、現在のピクチャの復号の前、ただし現在のピクチャの最初のスライスのスライスヘッダを解析した後、ＤＰＢからピクチャを削除してよい。また、復号ピクチャを削除するための第１の観点と同様、第２の観点において、ビデオデコーダ３０は、現在のピクチャがＩＤＲピクチャであるとき、第１の観点に関して上述したのと同様の機能を実施することができる。
【０２９１】
[0300]そうではなく、現在のピクチャがＩＤＲピクチャではない場合、ビデオデコーダ３０は、「出力に必要とされない」とマーキングされたピクチャを記憶するとともに、現在のピクチャの参照ピクチャセットに含まれないピクチャを記憶するＤＰＢのバッファを、出力せずに空にしてよい。ビデオデコーダ３０は、ＤＰＢ充満度を、ビデオデコーダ３０が空にしたバッファの数だけ減分してもよい。空きバッファがなくなった（すなわち、ＤＰＢ充満度がＤＢＰサイズに等しくなった）とき、ビデオデコーダ３０は、後で説明する「バンピング（bumping）」プロセスを実施すればよい。いくつかの例では、空きバッファがない場合、ビデオデコーダ３０は、ビデオデコーダ３０が現在の復号ピクチャを記憶することができる空きバッファがあるバンピングプロセス繰り返しユニットを実装すればよい。
【０２９２】
[0301]現在のピクチャが、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇが１に等しくないとともに１に等しいと推論されないＩＤＲピクチャであるとき、ビデオデコーダ３０は、以下を実施すればよい。ビデオデコーダ３０は、「出力に必要とされない」とマーキングされたピクチャを記憶するとともに、現在のピクチャの参照ピクチャセットに含まれないＤＰＢのバッファを、出力せずに空にしてよい。ビデオデコーダ３０は、「バンピング」プロセスを繰り返し呼び出すことによって、ＤＰＢ内のすべての空でないバッファを空にしてよく、ＤＰＢ充満度を０に設定すればよい。
【０２９３】
[0302]言い換えると、現在のピクチャがＩＤＲピクチャであるとき、ビデオデコーダ３０は、ＤＰＢ内のすべてのバッファを空にするための技法を実施すればよい。現在のピクチャがＩＤＲピクチャではないとき、ビデオデコーダ３０は、復号ピクチャを、現在の復号ピクチャを記憶するためのフリーバッファに移動するための技法を実施すればよい。
【０２９４】
[0303]たとえば、ビデオデコーダ３０が現在のピクチャを復号した後、ビデオデコーダ３０は、現在のピクチャをＤＰＢに記憶し、ＤＰＢ充満度を１だけ増分してよい。いくつかの例では、現在のピクチャのＯｕｔｐｕｔＦｌａｇが１に等しい場合、ビデオデコーダ３０は、現在のピクチャを、「出力に必要とされる」とマーキングすればよい。そうではなく、現在のピクチャのＯｕｔｐｕｔＦｌａｇが０に等しい場合、ビデオデコーダ３０は、現在のピクチャを、「出力に必要とされない」とマーキングすればよい。
【０２９５】
[0304]上述したように、いくつかの例では、ビデオデコーダ３０は、バンピングプロセスを実装してよい。概して、バンピングプロセスは、復号ピクチャの出力を伴う。たとえば、ビデオデコーダ３０は、現在のピクチャがＩＤＲピクチャであり、ｎｏ＿ｏｕｔｐｕｔ＿ｏｆ＿ｐｒｉｏｒ＿ｐｉｃｓ＿ｆｌａｇが１に等しくないとともに、１に等しいと推論されないときのためのバンピングプロセスを実施すればよい。ビデオデコーダ３０は、ＤＰＢ中に空きバッファがなく（すなわち、ＤＰＢ充満度がＤＰＢのサイズに等しく）、復号（非ＩＤＲ）ピクチャの記憶に空きバッファが必要とされる場合にバンピングプロセスを実施してもよい。
【０２９６】
[0305]概して、ビデオデコーダ３０は、以下のステップを実施して、バンピングプロセスを実施することができる。ビデオデコーダ３０は最初に、出力されるべきピクチャを決定すればよい。たとえば、ビデオデコーダ３０は、「出力に必要とされる」とマーキングされている、ＤＰＢ中のピクチャすべてのうち、より小さいＰｉｃＯｒｄｅｒＣｎｔ（ＰＯＣ）値をもつピクチャを選択してよい。ビデオデコーダ３０は、ピクチャ用のアクティブシーケンスパラメータセット中で指定されたクロッピング矩形を使って、選択されたピクチャをクロップしてよい。ビデオデコーダ３０は、クロップされたピクチャを出力すればよく、ピクチャを「出力に必要とされない」とマーキングすればよい。ビデオデコーダ３０は、クロップされ出力されたピクチャを記憶したＤＰＢのバッファを調べればよい。ピクチャが参照ピクチャセットに含まれない場合、ビデオデコーダ３０は、そのバッファを空にし、ＤＰＢ充満度を１だけ減分してよい。
【０２９７】
[0306]ＤＰＢ管理のための上記技法は、ビデオデコーダ３０のコンテキストから記載されているが、いくつかの例では、ビデオエンコーダ２０が同様の技法を実装してよい。ただし、同様の技法を実装するビデオエンコーダ２０が、すべての例において要求されるわけではない。いくつかの例では、ビデオデコーダ３０がこれらの技法を実装する場合があり、ビデオエンコーダ２０がこれらの技法を実装しない場合がある。
【０２９８】
[0307]このように、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）が、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることができる。繰返しになるが、参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別することができる。
【０２９９】
[0308]ビデオコーダは、上述した例示的技法を含むどの方法でも、参照ピクチャセットを導出することができる。ビデオコーダは、復号ピクチャバッファに記憶された復号ピクチャが出力に必要とされず、参照ピクチャセット中で識別されないかどうか決定することができる。復号ピクチャが出力済みであり、参照ピクチャセット中で識別されないとき、ビデオコーダは、復号ピクチャバッファから復号ピクチャを削除し得る。復号ピクチャの削除に続いて、ビデオコーダは、現在のピクチャをコーディングし得る。たとえば、ビデオコーダは、上述したように、参照ピクチャリスト（１つまたは複数）を構成し、参照ピクチャリスト（１つまたは複数）に基づいて、現在のピクチャをコーディングすることができる。
【０３００】
[0309]前の例では、参照ピクチャセットを導出するために、修正が必要とされないときおよび修正が必要とされるときに参照ピクチャリストから参照ピクチャリストを構成する、ビデオエンコーダ２０およびビデオデコーダ３０が利用することができる技法、ならびに復号ピクチャバッファ（ＤＰＢ）管理のための技法について記載した。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示に記載する技法は、どのピクチャが参照ピクチャセットに属し、長期参照ピクチャであるか（または言い換えると、どのピクチャが長期参照ピクチャセットに属すか）をビデオエンコーダ２０がシグナリングする方法、およびどのピクチャが長期参照ピクチャセットに属すかをビデオデコーダ３０が決定する方法に関連し得る。
【０３０１】
[0310]たとえば、テーブル２は、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓ、およびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素を、ピクチャパラメータセットの一部として含む。ただし、本開示の態様はそのように限定されない。いくつかの他の例では、シーケンスパラメータセット（たとえば、テーブル１）は、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓおよびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素を含み得る。シーケンスパラメータセットがこれらのシンタックス要素を含む例において、本開示は、混乱を避けるために、シンタックス要素をｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｓｐｓおよびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］と呼ぶ場合がある。説明のために、これらの技法については、シーケンスパラメータセットがこれらのシンタックス要素を含む例を用いて記載してある。
【０３０２】
[0311]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｐｐｓの定義と同様、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｓｐｓシンタックス要素は、シーケンスパラメータセットに含まれる候補長期参照ピクチャの数を指定し得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃｓ＿ｓｐｓの値は、両端値を含む０〜３２の範囲内であり得る。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素の定義と同様、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］シンタックス要素は、シーケンスパラメータセットに含まれる第ｉの長期間参照ピクチャ識別情報を指定し得る。
【０３０３】
[0312]いくつかの例では、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］シンタックス要素は、現在のピクチャの参照ピクチャセットに属す候補長期参照ピクチャを示し得る。候補長期参照ピクチャは、ビデオデコーダ３０が現在のピクチャまたは復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するのに使用することができる長期参照ピクチャであり得る候補長期参照ピクチャのうちの１つまたは複数である。言い換えると、候補長期参照ピクチャは、長期参照ピクチャであるとともに可能性としては現在のピクチャをインター予測するのに使われ、復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するのに使われ得るピクチャを示し得る。いくつかの例では、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］シンタックス要素は、候補長期参照ピクチャについてのＰＯＣ値を含み得る。
【０３０４】
[0313]ただし、すべての候補長期参照ピクチャが、必ずしもインター予測に使われるわけではない。たとえば、すべての候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すわけではない。そうではなく、候補長期参照ピクチャのうちのゼロ個以上のピクチャが、参照ピクチャセットに属す。
【０３０５】
[0314]本開示に記載する技法では、ビデオエンコーダ２０は、パラメータセット中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄシンタックス要素（たとえば、シーケンスパラメータセット中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓシンタックス要素、またはピクチャパラメータセット中のｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓシンタックス要素）をシグナリングすることができる。ビデオデコーダ３０は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄシンタックス要素を受信し、候補長期参照ピクチャを識別することができる。本開示に記載する技法によると、ビデオデコーダ３０はさらに、候補長期参照ピクチャのうちのどれが参照ピクチャセットに属すか決定することができる。たとえば、ビデオデコーダ３０は、この決定を、ビデオエンコーダ２０によってコード化ビットストリーム中でシグナリングされる追加シンタックス要素に基づいて実施するように構成されてよい。
【０３０６】
[0315]テーブル４に示されるように、ビデオエンコーダ２０は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造を、現在のピクチャのスライスヘッダに入れてシグナリングすることができる。テーブル５は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造を記述する。たとえば、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造は、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌシンタックス要素を含み得る。繰返しになるが、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌシンタックス要素が、ピクチャパラメータセットに含まれる長期参照ピクチャの数として定義されるが、候補長期参照ピクチャがシーケンスパラメータセットに含まれる例では、これらのシンタックス要素は、シーケンスパラメータセットに含まれる候補長期参照ピクチャの数を定義し得ることに留意されたい。たとえば、混乱を避けるために、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素はｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ＿ｃｕｒｒシンタックス要素と呼ばれる場合があり、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌシンタックス要素はｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ＿ｃｕｒｒシンタックス要素と呼ばれる場合がある。
【０３０７】
[0316]ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素と同様、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ＿ｃｕｒｒシンタックス要素は、候補長期参照ピクチャとして、参照されるシーケンスパラメータセットにその識別情報が含まれるすべての長期参照ピクチャであって、現在のピクチャおよび復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を定義し得る。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌシンタックス要素と同様、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ＿ｆｏｌｌシンタックス要素は、候補長期参照ピクチャとして、シーケンスパラメータセットにその識別情報が含まれ、現在のピクチャのインター予測に使われず、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を定義し得る。
【０３０８】
[0317]また、スライスヘッダ中でシグナリングされるｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］シンタックス要素を含み得る。繰返しになるが、候補長期参照ピクチャがシーケンスパラメータセット中でシグナリングされる例では、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］シンタックス要素は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｓｐｓ［ｉ］シンタックス要素として見なすことができる。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］シンタックス要素と同様、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｓｐｓ［ｉ］シンタックス要素は、参照ピクチャパラメータセットから現在のピクチャの参照ピクチャセットに継承される第ｉの長期参照ピクチャの、参照されるシーケンスパラメータセットに含まれる候補長期参照ピクチャ識別情報のリストの中へのインデックスを定義し得る。言い換えると、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｓｐｓ［ｉ］シンタックス要素は、シーケンスパラメータセット中の候補長期参照ピクチャのリストの中へのインデックスを識別し得る。インデックスから、ビデオデコーダ３０は、候補長期参照ピクチャ中の長期参照ピクチャを識別することができ、識別された長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すと決定することができる。
【０３０９】
[0318]たとえば、ビデオデコーダ３０は、テーブル５の場合と同様に、以下の擬似コードを実装して、候補長期参照ピクチャのうちのどれが現在のピクチャの参照ピクチャセットに属すか決定することができる。
【数９】
0006038929.tif 000019
【０３１０】
[0319]このようにして、ビデオデコーダ３０は、パラメータセット中で識別される候補長期参照ピクチャを示すシンタックス要素を復号することができる。たとえば、パラメータセットがシーケンスパラメータセットである場合、ビデオデコーダ３０は、シーケンスパラメータセット中で識別される候補長期参照ピクチャを示すｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］シンタックス要素を復号することができる。パラメータセットがピクチャパラメータセットである場合、ビデオデコーダ３０は、ピクチャパラメータセット中で識別される候補長期参照ピクチャを示すｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素を復号することができる。
【０３１１】
[0320]ビデオデコーダ３０は、パラメータセット中で識別されるどの候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すかを示すシンタックス要素を復号することもできる。たとえば、パラメータセットがシーケンスパラメータセットである場合、ビデオデコーダ３０はｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ＿ｃｕｒｒ、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｓｐｓ＿ｆｏｌｌ、およびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｓｐｓ［ｉ］シンタックス要素を復号することができ、パラメータセットがピクチャパラメータセットである場合、ビデオデコーダ３０はｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒ、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｆｏｌｌ、およびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］シンタックス要素を復号することができる。いずれの例でも、ビデオデコーダ３０は、これらのシンタックス要素を、現在のピクチャのスライスヘッダから復号することができる。
【０３１２】
[0321]本開示に記載する技法によると、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］およびｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］シンタックス要素は、参照ピクチャセットに属す候補長期参照ピクチャについてのピクチャオーダーカウント（ＰＯＣ）値のリストと見なすことができ、パラメータセット（たとえば、ピクチャパラメータセットおよびシーケンスパラメータセット）の一部としてコーディング（すなわち、符号化または復号）され得る。ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｓｐｓ［ｉ］またはｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］シンタックス要素は、候補長期参照ピクチャについてのＰＯＣ値のリストの中へのインデックス値（たとえば、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］またはｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］の中へのインデックス）を与えるものと見なすことができる。いくつかの例では、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｓｐｓ［ｉ］またはｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘ＿ｐｐｓ［ｉ］シンタックス要素は、現在のピクチャのスライスヘッダの一部としてコーディングされ得る。
【０３１３】
[0322]上記では、ビデオエンコーダ２０およびビデオデコーダ３０が、それぞれ、どのピクチャが現在のピクチャの長期参照ピクチャセットに属すかを示すためのシンタックス要素を符号化または復号することができる１つのやり方を説明している。シンタックス要素から、ビデオデコーダ３０およびビデオエンコーダ２０は、どのピクチャが現在のピクチャの長期参照ピクチャセットに属すか決定することができる。ビデオデコーダ３０およびビデオエンコーダ２０が、どのピクチャが長期参照ピクチャセットに属すか決定した後、ビデオエンコーダ２０およびビデオデコーダ３０は、複数の参照ピクチャサブセットのうちの少なくとも１つの参照ピクチャサブセットを構成し、上述したように参照ピクチャセットを導出することができる。たとえば、どのピクチャが長期参照ピクチャセットに属すかに関する決定に基づいて、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオエンコーダ２０およびビデオデコーダ３０が参照ピクチャセットを導出するのに使用するＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを構成することができる。
【０３１４】
[0323]いくつかの例では、候補長期参照ピクチャに含まれない長期参照ピクチャセットに属すピクチャがあり得る。したがって、現在のピクチャの長期参照ピクチャセットにどのピクチャが属すかをビデオエンコーダ２０およびビデオデコーダ３０が決定することができる追加のやり方があり得る。
【０３１５】
[0324]たとえば、テーブル５に示されるように、スライスヘッダのｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造は、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ａｄｄ［ｉ］シンタックス要素を含む。このシンタックス要素は、参照ピクチャパラメータセットからは継承されないが、現在のピクチャの参照ピクチャセットに含まれる、第ｉの長期参照ピクチャの、ＰＯＣ値など、長期参照ピクチャ識別を指定することができる。繰返しになるが、シーケンスパラメータセット中で候補長期参照ピクチャが識別される例では、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｄｅｌｔａ＿ａｄｄ［ｉ］シンタックス要素は、シーケンスパラメータセットからは継承されないが、現在のピクチャの参照ピクチャセットに含まれる、第ｉの長期参照ピクチャの長期参照ピクチャ識別を指定することができる。
【０３１６】
[0325]言い換えると、ｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｐｐｓ［ｉ］またはｌｏｎｇ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｉｄ＿ｓｐｓ［ｉ］シンタックス要素は、候補長期参照ピクチャを識別することができるが、必ずしも現在のピクチャの参照ピクチャセット中の長期参照ピクチャすべてを識別できるわけではない。たとえば、現在のピクチャと、候補長期参照ピクチャの一覧に含まれない、復号順で現在のピクチャに続く１つまたは複数のピクチャとをインター予測するために使われるべき長期参照ピクチャがあり得る。そのような長期参照ピクチャについて、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、現在のピクチャの参照ピクチャセットに属す長期参照ピクチャを識別する識別情報を符号化または復号することができる。
【０３１７】
[0326]たとえば、テーブル５に示されるように、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれ、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒおよびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌシンタックス要素を符号化または復号することができる。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素は、参照されるピクチャパラメータセットまたはシーケンスパラメータセット（適用可能な場合）にその識別情報が含まれないとともに現在のピクチャおよび復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を定義することができる。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｆｏｌｌシンタックス要素は、参照されるピクチャパラメータセットまたはシーケンスパラメータセット（適用可能な場合）にその識別情報が含まれず、現在のピクチャのインター予測に使うことができず、復号順で現在のピクチャに続く１つまたは複数のピクチャのインター予測に使うことができるすべての長期参照ピクチャの数を定義することができる。
【０３１８】
[0327]ビデオデコーダ３０は、どの長期参照ピクチャが参照ピクチャセットに属すか決定するために、以下の擬似コードを実装すればよい。この例では、長期参照ピクチャは、候補長期参照ピクチャに含まれなくてよい。
【数１０】
0006038929.tif 000020
【０３１９】
[0328]上述したように、本開示に記載する技法は、ＨＥＶＣ規格に従って実施することができる。以下は、理解を助けるための、ＨＥＶＣ規格についての手短な説明である。さらに、これらの技法は、ＨＥＶＣ規格のコンテキストで説明されるが、これらの技法は、固有規格を含む他の規格に拡張可能であり得る。
【０３２０】
[0329]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを提供するが、ＨＭは３３個ものイントラ予測符号化モードを提供し得る。
【０３２１】
[0330]一般に、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ）に分割され得ることを記載する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと同様の目的を有する。スライスは、復号順序でいくつかの連続的なツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。たとえば、４分木のルートノードとしてのツリーブロックは、４つの子ノードに分割され得、各子ノードは、次に、親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード、すなわち、コード化ビデオブロックを備える。コード化ビットストリームに関連するシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。ツリーブロックは、いくつかの例では、ＬＣＵと呼ばれることがある。
【０３２２】
[0331]ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ）および変換ユニット（ＴＵ）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８ピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従って、ＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形であり得る。
【０３２３】
[0332]ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【０３２４】
[0333]一般に、ＰＵは、予測プロセスに関連したデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵは、ＰＵについてのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵについての動きベクトルを定義するデータを含み得る。ＰＵについての動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【０３２５】
[0334]概して、ＴＵは、変換プロセスと量子化プロセスとのために使用される。１つまたは複数のＰＵを有する所与のＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。予測の後に、ビデオエンコーダ２０は、ＰＵに対応する残差値を計算し得る。残差値は、エントロピーコーディングのためのシリアル化変換係数（serialized transform coefficient）を生成するために、ＴＵを使用して変換係数に変換され、量子化され、走査され得るピクセル差分値を備える。本開示では、一般に、ＣＵのコーディングノードを指すために「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示では、コーディングノードならびにＰＵおよびＴＵを含む、ツリーブロック、すなわち、ＬＣＵまたはＣＵを指す「ビデオブロック」という用語も使用し得る。
【０３２６】
[0335]ビデオシーケンスは、一般的に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、一般に、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ内に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、１つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコーディングノードに対応し得る。ビデオブロックは、サイズを固定することも変更することもでき、指定のコーディング規格に応じてサイズが異なることがある。
【０３２７】
[0336]一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【０３２８】
[0337]本開示では、「Ｎ×Ｎ」および「Ｎ by Ｎ」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６ピクセルまたは１６by１６ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ここで、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備えてよく、ただし、Ｍは必ずしもＮに等しいとは限らない。
【０３２９】
[0338]ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域においてピクセルデータを備え得、ＴＵは、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【０３３０】
[0339]変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実施し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、この場合、ｎはｍよりも大きい。
【０３３１】
[0340]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実施し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【０３３２】
[0341]ＣＡＢＡＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実施するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられるコンテキストに基づき得る。
【０３３３】
[0342]図２は、符号化され送信される複数のピクチャを含む例示的ビデオシーケンス３３を示す概念図である。場合によっては、ビデオシーケンス３３はピクチャのグループ（ＧＯＰ）と呼ばれることがある。ビデオシーケンス３３は、図示のように、表示順でピクチャ３５Ａ、３６Ａ、３８Ａ、３５Ｂ、３６Ｂ、３８Ｂ、および３５Ｃ、ならびに最終ピクチャ３９を含む。ピクチャ３４は、シーケンス３３の前に発生するシーケンスの表示順における最終のピクチャである。図２は概して、ビデオシーケンスのための例示的な予測構造を表し、異なるスライスまたはピクチャタイプ（たとえば、Ｐピクチャもしくはスライス、またはＢピクチャもしくはスライス）のビデオブロックを予測するために使われるピクチャ参照を示すことだけを意図している。実際のビデオシーケンスは、様々なピクチャタイプのより多いまたはより少ないビデオピクチャを異なる表示順で含み得る。ビデオシーケンス３３は、図２に示すものよりも多いまたは少ないピクチャを含んでよく、ビデオシーケンス３３中に示されるピクチャは、理解のため、および例として示されている。
【０３３４】
[0343]ブロックベースのビデオコーディングの場合、シーケンス３３中に含まれるビデオピクチャの各々は、コーディングユニット（ＣＵ）や予測ユニット（ＰＵ）などのビデオブロックに区分され得る。たとえば、ビデオピクチャの各ＣＵは、１つまたは複数のＰＵを含み得る。イントラコード化（Ｉ）ピクチャ中のビデオブロックは、同じピクチャ中の隣接ブロックに関する空間的予測を使用して予測される。インターコード化（ＰまたはＢ）ピクチャ中のビデオブロックは、同じピクチャ中の隣接ブロックに関する空間的予測、または他の参照ピクチャに関する時間的予測を使用し得る。
【０３３５】
[0344]Ｂピクチャ中のビデオブロックは、２つの異なる参照ピクチャリスト（たとえば、リスト０およびリスト１と呼ばれる参照ピクチャリスト０および１）から２つの動きベクトルを算出するための双方向予測を使って予測することができる。場合によっては、Ｂピクチャ中のビデオブロックは、２つの異なる参照ピクチャリストのうちの１つからの単方向予測を使用して予測され（たとえば、単方向Ｂコード化され）得る。Ｐピクチャ中のビデオブロックは、単一の参照ピクチャリストからの単一の動きベクトルを計算するために、単方向予測を使用して予測され得る。新生のＨＥＶＣ規格によると、ビデオブロックは、２つの参照ピクチャリストのうちの１つから単一の動きベクトルを計算するための単方向予測、または２つの参照ピクチャリストから２つの動きベクトルを計算するための双方向予測のいずれかを使用して符号化され得る。２つの参照ピクチャリストは、たとえば、過去の参照ピクチャもしくは将来の参照ピクチャまたは過去および将来の参照ピクチャの両方を、表示または出力順で、また、常に過去の参照ピクチャを復号順で含み得る。
【０３３６】
[0345]図２の例では、最終ピクチャ３９は、イントラモードコーディングのためにＩピクチャに指定される。他の例では、最終ピクチャ３９は、Ｉピクチャであってよい、前のシーケンスの最終ピクチャ３４に関する、（たとえば、Ｐピクチャとして）インターモードコーディングを用いてコーディングされ得る。ビデオピクチャ３５Ａ〜３５Ｃ（総称して「ビデオピクチャ３５」）は、過去のフレームと将来のピクチャとに関する双方向予測を使用して、コーディングのためにＢピクチャに指定される。図示の例では、ピクチャ３５Ａは、ピクチャ３４および３６Ａからビデオピクチャ３５Ａへの矢印によって示されるように、最終ピクチャ３４とピクチャ３６Ａとを参照してＢピクチャとして符号化される。ピクチャ３５Ｂおよび３５Ｃは同様に符号化される。
【０３３７】
[0346]ビデオピクチャ３６Ａ〜３６Ｂ（総称して「ビデオピクチャ３６」）は、過去のピクチャを参照して単方向予測を使用してピクチャとしてコーディング用に指定され得る。図示の例では、ピクチャ３６Ａは、ピクチャ３４からビデオピクチャ３６Ａへの矢印によって示されるように、最終ピクチャ３４を参照してＰピクチャとして符号化される。ピクチャ３６Ｂは、同様に符号化される。
【０３３８】
[0347]ビデオピクチャ３８Ａ〜３８Ｂ（総称して「ビデオピクチャ３８」）は、過去のピクチャを参照して双方向予測を使用してコーディング用に指定され得る。他の例では、ビデオピクチャ３８は、参照ピクチャリスト中に含まれる実質的に同様の過去のピクチャに関する双方向予測を使用して符号化され得る。図示の例では、ピクチャ３８Ａは、ピクチャ３６Ａからビデオピクチャ３８Ａへの２つの矢印によって示されるように、ピクチャ３６Ａへの２つの参照を用いて符号化される。ピクチャ３８Ｂは、同様に符号化される。
【０３３９】
[0348]本開示に記載する技法によると、ビデオエンコーダ２０は、シーケンス３３中のピクチャの各々についての参照ピクチャセットをシグナリングすることができる。たとえば、ピクチャ３５Ａの場合、この参照ピクチャセットは、ピクチャ３５Ａ、ならびに復号順においてピクチャ３５Ａに続くピクチャをインター予測するのに使われる可能性があり得るすべての参照ピクチャをインター予測するのに使うことができるすべての参照ピクチャを識別することができる。たとえば、ピクチャ３５Ａについての参照ピクチャセットは、ピクチャ３４およびピクチャ３６ＡについてのＰＯＣ値、ならびに復号順においてピクチャ３５Ａに続くピクチャをインター予測に使われる可能性があり得るものなど、追加参照ピクチャについてのＰＯＣ値を含み得る。ピクチャ３５Ａに続くピクチャは、この例では、復号順においてピクチャ３５Ａに続くとともに、ビデオシーケンス３３内にあるピクチャであり得る。
【０３４０】
[0349]ビデオデコーダ３０は次いで、ピクチャ３５Ａ用の参照ピクチャセットを上述したように導出することができる。たとえば、ビデオデコーダ３０は、上述したように、参照ピクチャセットに属す参照ピクチャについてのＰＯＣ値を決定することができる。ビデオデコーダ３０はさらに、少なくとも４つまたは少なくとも５つの参照ピクチャサブセットを、いくつかの例では、上述した６つまでの参照ピクチャサブセットを構成することができる。ビデオデコーダ３０は、６つの参照ピクチャセットを、特定の順序で配置して、ピクチャ３５Ａ用の参照ピクチャセットを導出すればよい。
【０３４１】
[0350]ビデオデコーダ３０はさらに、上述したように初期参照ピクチャリストを構成することができ、この場合、初期参照ピクチャリストに含まれるべきピクチャの並べ替えは必要とされない。参照ピクチャリスト修正が無効にされた場合、ビデオデコーダ３０は、最終参照ピクチャリストを、初期参照ピクチャリストに等しく設定すればよい。また、ビデオデコーダ３０は、参照ピクチャリスト中に未完エントリがないように、参照ピクチャリストを構成すればよい。たとえば、ビデオデコーダ３０は、参照ピクチャリスト中のエントリの数が参照ピクチャリストの最大許容エントリ数に等しくなるまで、参照ピクチャサブセットから参照ピクチャを繰り返しリストすればよい。いくつかの例では、ビデオデコーダ３０は、上述したように（たとえば、構成された参照ピクチャサブセットのうち少なくとも１つのサブセット中の参照ピクチャに基づいて）初期参照ピクチャリストを修正してよい。さらに、いくつかの例では、ビデオデコーダ３０は、復号されるべき現在のピクチャの参照ピクチャセット中で識別されないとともに出力に必要とされない復号ピクチャを削除するなど、本開示に記載する例示的技法を使用して、ビデオデコーダ３０のＤＰＢから復号ピクチャを削除してよい。また、いくつかの例では、ビデオデコーダ３０は、上述したように、どの長期参照ピクチャが参照ピクチャセットに属すか決定することができ、この場合候補長期参照ピクチャのリストの識別情報は、パラメータセットに含まれ得る。
【０３４２】
[0351]図３は、本開示で説明する技法を実装し得る例示的なビデオエンコーダ２０を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）または双予測（Ｂモード）などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【０３４３】
[0352]図３の例では、ビデオエンコーダ２０は、区分ユニット３５と、予測モジュール４１と、復号ピクチャバッファ（ＤＰＢ）６４と、加算器５０と、変換モジュール５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測モジュール４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測モジュール４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換モジュール６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図３に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のループフィルタ（ループ内またはループ後）が使用され得る。
【０３４４】
[0353]図３に示すように、ビデオエンコーダ２０はビデオデータを受信し、区分ユニット３５はデータをビデオブロックに区分する。この区分は、たとえば、ＬＣＵおよびＣＵの４分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオエンコーダ２０は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに（および、場合によっては、タイルと呼ばれるビデオブロックのセットに）分割され得る。予測モジュール４１は、誤り結果（たとえば、コーディングレートおよびひずみレベル）に基づいて現在ビデオブロックのために、複数のイントラコーディングモードのうちの１つ、または複数のインターコーディングモードのうちの１つなど、複数の可能なコーディングモードのうちの１つを選択し得る。予測モジュール４１は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器５０に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器６２に与え得る。
【０３４５】
[0354]予測モジュール４１内のイントラ予測モジュール４６は、空間圧縮を行うために、コーディングされるべき現在ブロックと同じピクチャまたはスライス中の１つまたは複数の隣接ブロックに対する現在ビデオブロックのイントラ予測コーディングを実施し得る。予測モジュール４１内の動き推定ユニット４２および動き補償ユニット４４は、時間圧縮を行うために、１つまたは複数の参照ピクチャ中の１つまたは複数の予測ブロックに対する現在ビデオブロックのインター予測コーディングを実施する。
【０３４６】
[0355]動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスをＰスライスまたはＢスライスに指定し得る。動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット４２によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する現在ビデオピクチャ内のビデオブロックのＰＵの変位を示し得る。
【０３４７】
[0356]予測ブロックは、絶対値差分和（ＳＡＤ）、差分２乗和（ＳＳＤ）、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングすべきビデオブロックのＰＵにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、復号ピクチャバッファ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【０３４８】
[0357]動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのＰＵについての動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、復号ピクチャバッファ６４に記憶された１つまたは複数の参照ピクチャを識別する。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【０３４９】
[0358]動き補償ユニット４４によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在のビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実施する１つまたは複数の構成要素を表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
【０３５０】
[0359]イントラ予測モジュール４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実施されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測モジュール４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測モジュール４６は、たとえば、別々の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測モジュール４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測モジュール４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を決定する。イントラ予測モジュール４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックについてのひずみおよびレートから比率を計算し得る。
【０３５１】
[0360]ブロック用のイントラ予測モードを選択した後、イントラ予測モジュール４６は、ブロック用に選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
【０３５２】
[0361]予測モジュール４１が、インター予測またはイントラ予測のいずれかを介して、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック中の残差ビデオデータは、１つまたは複数のＴＵ中に含まれ、変換モジュール５２に適用され得る。変換モジュール５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール５２は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【０３５３】
[0362]変換モジュール５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット５６が走査を実施し得る。
【０３５４】
[0363]量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピー符号化方法または技法を実施し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後に、符号化ビットストリームは、ビデオデコーダ３０に送信されるか、あるいはビデオデコーダ３０が後で送信するかまたは取り出すためにアーカイブされ得る。エントロピー符号化ユニット５６はまた、コーディングされている現在ビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【０３５５】
[0364]逆量子化ユニット５８および逆変換モジュール６０は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するためのサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、復号ピクチャバッファ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０３５６】
[0365]本開示によると、予測モジュール４１は、上述した例示的機能を実施するための１つの例示的ユニットを表す。たとえば、予測モジュール４１は、どの参照ピクチャが参照ピクチャセットに属すか決定し、ビデオエンコーダ２０に、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングさせればよい。また、再構成プロセス（たとえば、参照ピクチャとして使用し、復号ピクチャバッファ６４に記憶するためのピクチャを再構成するのに使われるプロセス）中、予測モジュール４１は、参照ピクチャのうちの１つまたは複数を各々が識別する複数の参照ピクチャサブセットを構成することができる。予測モジュール４１は、構成された複数の参照ピクチャサブセットから、参照ピクチャセットを導出することもできる。また、予測モジュール４１は、上述した複数組の例示的擬似コードのうちのいずれか１つまたは複数を実装して、本開示に記載する１つまたは複数の例示的技法を実装すればよい。
【０３５７】
[0366]いくつかの例では、予測モジュール４１は、上述したように初期参照ピクチャリストを構成してよい。いくつかの例では、初期参照ピクチャリストに含まれるべきピクチャの並べ替えは必要とされない。また、予測モジュール４１は、参照ピクチャリスト中に未完エントリがないように、参照ピクチャリストを構成すればよい。いくつかの例では、予測モジュール４１は、上述したように初期参照ピクチャリストを修正して、修正参照ピクチャリストを構成することもできる。さらに、いくつかの例では、予測モジュール４１は、上述したように、ＤＰＢ６４からの復号ピクチャの削除を実装することができる。さらに、いくつかの例では、予測モジュール４１は、上述したように、現在のピクチャ用の参照ピクチャセットにどの長期参照ピクチャが属すか決定するように構成されてよい。
【０３５８】
[0367]他の例では、予測モジュール４１以外のユニットが上述の例を実装し得る。いくつかの他の例では、予測モジュール４１は、ビデオエンコーダ２０の１つまたは複数の他のユニットとともに、上述した例を実装することができる。さらにいくつかの他の例では、ビデオエンコーダ２０のプロセッサまたはユニット（図３には図示せず）は、単独で、またはビデオエンコーダ２０の他のユニットとともに、上述した例を実装することができる。
【０３５９】
[0368]図４は、本開示で説明する技法を実装し得る例示的なビデオデコーダ３０を示すブロック図である。図４の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測モジュール８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、復号ピクチャバッファ（ＤＰＢ）９２とを含む。予測モジュール８１は、動き補償ユニット８２と、イントラ予測モジュール８４とを含む。ビデオデコーダ３０は、いくつかの例では、図３のビデオエンコーダ２０に関して説明した符号化パスとは概して逆の復号パスを実施し得る。
【０３６０】
[0369]復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数と、動きベクトルと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測モジュール８１に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０３６１】
[0370]ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされるとき、予測モジュール８１のイントラ予測モジュール８４は、シグナリングされたイントラ予測モードと、現在ピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオピクチャがインターコード化（すなわち、Ｂ、またはＰ）スライスとしてコーディングされるとき、予測モジュール８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、復号ピクチャバッファ９２に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト０およびリスト１を構成し得る。いくつかの例では、ビデオデコーダ３０は、導出された参照ピクチャセット中で識別された参照ピクチャから、リスト０とリスト１とを構成することができる。
【０３６２】
[0371]動き補償ユニット８２は、動きベクトルと他のシンタックス要素とを解析することによって現在ビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、ＢスライスまたはＰスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数についての構成情報と、スライスの各インター符号化ビデオブロックについての動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素のいくつかを使用する。
【０３６３】
[0372]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオ符号器２０によって使用される補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット８２は、受信されたシンタックス要素からビデオ符号器２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０３６４】
[0373]逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された、量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、ビデオスライス中の各ビデオブロックについてビデオエンコーダ２０によって計算される量子化パラメータを使用して量子化の程度を決定し、同様に、適用すべき逆量子化の程度を決定することを含み得る。逆変換モジュール８８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０３６５】
[0374]予測モジュール８１が、インター予測またはイントラ予測のいずれかに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換モジュール８８からの残差ブロックを予測モジュール８１によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実施する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するか、またはさもなければビデオ品質を改善するために、（コーディングループ内またはコーディングループ後の）他のループフィルタも使用され得る。次いで、所与のピクチャ内の復号されたビデオブロックは、その後の動き補償に使用される参照ピクチャを記憶する復号ピクチャバッファ９２に記憶される。復号ピクチャバッファ９２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
【０３６６】
[0375]本開示によると、予測モジュール８１は、上述した例示的機能を実施するための１つの例示的ユニットを表す。たとえば、予測モジュール８１は、どの参照ピクチャが参照ピクチャセットに属すか決定することができる。また、予測モジュール８１は、参照ピクチャのうちの１つまたは複数のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することができる。予測モジュール８１は、構成された複数の参照ピクチャサブセットから、参照ピクチャセットを導出することもできる。また、予測モジュール８１は、上述した複数組の例示的擬似コードのうちのいずれか１つまたは複数を実装して、本開示に記載する１つまたは複数の例示的技法を実装すればよい。
【０３６７】
[0376]いくつかの例では、予測モジュール８１は、上述したように初期参照ピクチャリストを構成してよい。いくつかの例では、初期参照ピクチャリストに含まれるべきピクチャの並べ替えは必要とされない。また、予測モジュール８１は、参照ピクチャリスト中に未完エントリがないように、参照ピクチャリストを構成すればよい。いくつかの例では、予測モジュール８１は、上述したように初期参照ピクチャリストを修正して、修正参照ピクチャリストを構成することもできる。さらに、いくつかの例では、予測モジュール８１は、上述したように、ＤＰＢ９４からの復号ピクチャの削除を実装することができる。さらに、いくつかの例では、予測モジュール８１は、上述したように、現在のピクチャ用の参照ピクチャセットにどの長期参照ピクチャが属すか決定するように構成されてよい。
【０３６８】
[0377]他の例では、予測モジュール８１以外のユニットが上述の例を実装し得る。いくつかの他の例では、予測モジュール８１は、ビデオデコーダ３０の１つまたは複数の他のユニットとともに、上述した例を実装することができる。さらにいくつかの他の例では、ビデオデコーダ３０のプロセッサまたはユニット（図４には図示せず）は、単独で、またはビデオデコーダ３０の他のユニットとともに、上述した例を実装することができる。
【０３６９】
[0378]図５は、参照ピクチャセットを導出する例示的操作を示すフローチャートである。説明のためにのみ、図５の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。たとえば、いくつかの例では、ビデオコーダ（たとえば、ビデオエンコーダ２０またはビデオデコーダ３０）が、参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする（たとえば、符号化または復号する）ことができる（９４）。参照ピクチャセットは、現在のピクチャをインター予測するため、および復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る参照ピクチャを識別することができる。
【０３７０】
[0379]たとえば、ビデオエンコーダ２０がステップ９４を実施するとき、ビデオエンコーダ２０は、参照ピクチャセットに属す参照ピクチャについての識別子を示す値を符号化することができる。たとえば、ビデオエンコーダ２０は、ビットストリーム中でｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂシンタックス要素と、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素とをシグナリングすることができる。ビデオデコーダ３０がステップ９４を実施するとき、ｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４シンタックス要素から、ビデオデコーダ３０は、ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂの値を決定することができる。ビデオデコーダ３０は次いで、参照ピクチャセットに属す参照ピクチャについての識別子（たとえば、ＰＯＣ値）を決定することができる。
【０３７１】
[0380]ビデオコーダは、参照ピクチャのうちのゼロ個以上のピクチャを各々が識別する複数の参照ピクチャサブセットを構成することができる（９６）。たとえば、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットを構成することができる。ただし、本開示の態様はそのように限定されない。いくつかの例では、ビデオコーダは、５つの参照ピクチャサブセットを構成することができ、そのうち４つは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットのうちの４つであってよく、第５のサブセットは、残りの６つの参照ピクチャサブセットの２つの組合せ（たとえば、ＲｅｆＰｉｃＳｅｔＦｏｌｌ０およびＲｅｆＰｉｃＳｅｔＦｏｌｌ１参照ピクチャサブセットの組合せ）であってよい。
【０３７２】
[0381]いくつかの例では、ビデオコーダは、以下の４つの参照ピクチャサブセットのうちの少なくとも２つを構成することができる。他の例では、ビデオコーダは、少なくとも以下の４つの参照ピクチャサブセットを構成することができる。第１の参照ピクチャサブセットは、復号順で現在のピクチャに先立ち、出力順で現在のピクチャに先立つとともに、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数とをインター予測するために使われる可能性があり得る短期参照ピクチャを識別することができる。第２の参照ピクチャサブセットは、復号順で現在のピクチャに先立ち、出力順で現在のピクチャに続くとともに、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数とをインター予測するために使われる可能性があり得る短期参照ピクチャを識別することができる。
【０３７３】
[0382]第３の参照ピクチャサブセットは、復号順で現在のピクチャに先立つとともに、現在のピクチャと、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数とをインター予測するために使われる可能性があり得る長期参照ピクチャを識別することができる。第４の参照ピクチャサブセットは、復号順で現在のピクチャに先立つとともに、現在のピクチャをインター予測するためには使うことができず、復号順で現在のピクチャに続く１つまたは複数のピクチャのうちの１つまたは複数をインター予測するために使われる可能性があり得る長期参照ピクチャを識別することができる。
【０３７４】
[0383]ビデオコーダは、複数の参照ピクチャサブセットから、参照ピクチャセットを導出することができる（９８）。たとえば、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ参照ピクチャサブセットのうちの少なくとも２つを、特定の順序で並べて、参照ピクチャセットを導出すればよい。
【０３７５】
[0384]いくつかの例では、ビデオコードによって実施される順序付けは、参照ピクチャサブセットの各々の中のピクチャが、参照ピクチャセット内で順次識別され得ることを意味し得る。これらの例では、ビデオコーダは、参照ピクチャセットの中へのインデックス値で、参照ピクチャセット中の参照ピクチャを参照すればよい。
【０３７６】
[0385]ビデオコーダは、導出された参照ピクチャセットに基づいて、現在のピクチャをコーディングすればよい（１００）。ビデオコーダが参照ピクチャサブセットから参照ピクチャセットを導出するので、ビデオコーダは、複数の参照ピクチャサブセットに基づいて現在のピクチャをコーディングするものと見なされ得ることを理解されたい。たとえば、ビデオコーダは、複数の参照ピクチャサブセットに基づいて（たとえば、複数の参照ピクチャサブセットから導出される導出された参照ピクチャセットから）、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つを構成することができる。ビデオコーダは次いで、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つに基づいて、現在のピクチャをコーディングすればよい。
【０３７７】
[0386]図６は、参照ピクチャリストを構成する例示的操作を示すフローチャートである。説明のためにのみ、図６の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。図５と同様に、ビデオコーダは、参照ピクチャを示す情報をコーディングして（１０２）、複数の参照ピクチャサブセットを構成すればよい（１０４）。
【０３７８】
[0387]ビデオコーダは次いで、参照ピクチャサブセットから、初期参照ピクチャリストに参照ピクチャを追加して、初期参照ピクチャリストを構成すればよい（１０６）。いくつかの例では、ビデオエンコーダ２０とビデオデコーダ３０の両方が、初期参照ピクチャリストを構成することができる。たとえば、ビデオエンコーダ２０は、初期参照ピクチャリストを構成して、ＤＰＢ６４に記憶するための再構成ビデオブロックを作成することができる。ビデオデコーダ３０は、その復号プロセスの一部として初期参照ピクチャリストを構成すればよく、初期参照ピクチャリストを構成するための方法に関する情報をビデオデコーダ３０がビデオエンコーダ２０から受信する必要がないデフォルトの構成技法を実装すればよい。
【０３７９】
[0388]いくつかの例では、初期参照ピクチャリストを構成するために、ビデオコーダは、複数の参照ピクチャサブセットのうちの第１のサブセットからの参照ピクチャを初期参照ピクチャリストに、続いて第２のサブセットからの参照ピクチャを初期参照ピクチャリストに、続いて第３のサブセットからの参照ピクチャを初期参照ピクチャリストに追加すればよい。ビデオコーダは、初期参照ピクチャリスト中にリストされる参照ピクチャの総数が初期参照ピクチャリスト中の最大許容エントリ数以下である限り、これらの参照ピクチャサブセットから参照ピクチャを追加すればよい。たとえば、参照ピクチャリストに参照ピクチャを追加する間のどの時点でも、初期参照ピクチャリスト中のエントリの数が許容初期参照リストエントリの最大数に等しくなった場合、ビデオコーダは、初期参照ピクチャリストにどの追加ピクチャを追加するのも停止してよい。
【０３８０】
[0389]ビデオコーダは、現在のピクチャのビデオブロックが双予測される例などと同様に、別の初期参照ピクチャリストを構成し得る。この例では、この別の初期参照ピクチャリストを構成するために、ビデオコーダは、この別の初期参照ピクチャリスト中のエントリの総数がエントリの許容数以下である限り、第２のサブセットからの参照ピクチャを別の初期参照ピクチャリストに、続いて第１のサブセットからの参照ピクチャを別の初期参照ピクチャリストに、続いて第３のサブセットからの参照ピクチャを別の初期参照ピクチャリストに追加すればよい。これらの例では、第１のサブセットはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットであり得、第２のサブセットはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセットであり得、第３のサブセットはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットであり得る。
【０３８１】
[0390]何らかの例では、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中で識別された参照ピクチャを追加するために、ビデオコーダは、これらの参照ピクチャサブセットの各々の中の参照ピクチャの数をビデオコーダがそこから決定することができるシンタックス要素をコーディング（たとえば、符号化または復号）すればよい。たとえば、ビデオコーダは、ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０シンタックス要素とｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１シンタックス要素とをコーディングすればよい。ｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ０シンタックス要素およびｎｕｍ＿ｓｈｏｒｔ＿ｔｅｒｍ＿ｃｕｒｒ１シンタックス要素は、それぞれ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセットおよびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中で識別された参照ピクチャの数を示し得る。
【０３８２】
[0391]ビデオコーダは、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素とｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素とをコーディングしてもよい。ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素は、ピクチャパラメータセット（ＰＰＳ）にその識別が含まれる長期参照ピクチャの数を示すことができ、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素は、ＰＰＳにその識別情報が含まれない長期参照ピクチャの数を示すことができる。この例では、これらの長期参照ピクチャは、現在のピクチャをインター予測するために使われる可能性があり得、復号順で現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る。
【０３８３】
[0392]ビデオコーダは、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素およびｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素に基づいて、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャの数を決定することができる。たとえば、ビデオコーダは、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ｐｐｓ＿ｃｕｒｒシンタックス要素の値と、ｎｕｍ＿ｌｏｎｇ＿ｔｅｒｍ＿ａｄｄ＿ｃｕｒｒシンタックス要素の値を合計して、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中の参照ピクチャの数を決定することができる。
【０３８４】
[0393]ビデオコーダは、１つまたは複数の参照ピクチャリストに基づいて現在のピクチャをコーディングすればよい（１０８）。たとえば、ビデオコーダは、導出された参照ピクチャセットに基づいて、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つを構成することができる。ビデオコーダは次いで、第１の参照ピクチャリストおよび第２の参照ピクチャリストのうちの少なくとも１つに基づいて、現在のピクチャをコーディングすればよい。
【０３８５】
[0394]図７は、参照ピクチャリストを構成する別の例示的操作を示すフローチャートである。説明のためにのみ、図７の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。図５と同様に、ビデオコーダは、参照ピクチャを示す情報をコーディングして（１１０）、複数の参照ピクチャサブセットを構成すればよい（１１２）。ビデオコーダは、参照ピクチャを、参照ピクチャリストの第１のエントリセットに追加すればよい（１１４）。たとえば、参照ピクチャリスト中のエントリの数は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ０＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１またはｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌ１＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１シンタックス要素によって定義される、最大許容エントリ数に等しくてよい。
【０３８６】
[0395]この例では、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中で識別された参照ピクチャを、第１のエントリセットにリストする（たとえば、追加する）ことができる。たとえば、リスト０の場合、ビデオコーダは、リスト０の第１のエントリセットに、順序通りに、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中で識別された参照ピクチャを追加すればよい。リスト１の場合、ビデオコーダは、リスト１の第１のエントリセットに、順序通りに、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセット中で識別された参照ピクチャを追加すればよい。
【０３８７】
[0396]ビデオコーダは次いで、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定すればよい（１１６）。参照ピクチャリスト中のエントリの数が最大許容エントリ数以上である場合（１１６の「ＮＯ」）、ビデオコーダは、参照ピクチャリストに基づいて、現在のピクチャをコーディングしてよい（１１８）。
【０３８８】
[0397]そうではなく、参照ピクチャリスト中のエントリの数が最大許容エントリ数未満である場合（１１６の「ＹＥＳ」）、ビデオコーダは、参照ピクチャサブセットのうちの少なくとも１つから、第１のエントリセットの後に続く参照ピクチャリスト中のエントリに、１つまたは複数の参照ピクチャを再リスト（たとえば、再識別または再追加）してよい（１２０）。たとえば、ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット中で識別された１つもしくは複数の参照ピクチャを、リスト０中でリスト０中の第１のエントリセットの後に続くエントリにおいて、またはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット中で識別された１つもしくは複数の参照ピクチャを、リスト１中で、リスト１中の第１のエントリセットの後に続くエントリにおいて追加してよい。このようにして、ビデオコーダは、参照ピクチャリスト中の２つ以上のエントリにおける、第１の参照ピクチャサブセットの少なくとも１つの参照ピクチャを識別することができる。
【０３８９】
[0398]ビデオコーダは次いで、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しいかどうか決定すればよい（１２２）。参照ピクチャリスト中のエントリの数が最大許容エントリ数以上である場合（１２２の「ＮＯ」）、ビデオコーダは、参照ピクチャリストに基づいて、現在のピクチャをコーディングしてよい（１２４）。
【０３９０】
[0399]そうではなく、参照ピクチャリスト中のエントリの数が最大許容エントリ数未満である場合（１２２の「ＹＥＳ」）、ビデオコーダは、参照ピクチャサブセットのうちの少なくとも１つから、第１のエントリセットの後に続く参照ピクチャリスト中のエントリに、１つまたは複数の参照ピクチャを再リスト（たとえば、再識別または再追加）してよい（１２０）。たとえば、この状況において、ビデオコーダは、第１の参照ピクチャサブセット中で識別された追加参照ピクチャを再追加してよい。ビデオコーダが第１の参照ピクチャサブセット中の参照ピクチャすべてをすでに再追加している場合、ビデオコーダは、第２の参照ピクチャサブセット（たとえば、リスト０に対してはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０参照ピクチャサブセット、またはリスト１に対してはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１参照ピクチャサブセット）から、１つまたは複数の参照ピクチャを再追加してよい。このプロセスは、参照ピクチャリスト中のエントリの数が最大許容エントリ数以上になる（１２２の「ＮＯ」）まで繰り返してよい。
【０３９１】
[0400]このように参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数と等しくないとき、ビデオコーダは、参照ピクチャリスト中のエントリの数が参照ピクチャリスト中の最大許容エントリ数に等しくなるまで、参照ピクチャサブセットのうちの少なくとも１つから、第１のエントリセットの後に続く参照ピクチャリスト中のエントリに、１つまたは複数の参照ピクチャを繰り返し再リスト（たとえば、再識別または再追加）してよい。この結果、参照ピクチャリストの各エントリが参照ピクチャのうちの１つを識別するように、および参照ピクチャリストのうちの少なくとも２つのエントリが参照ピクチャの同じ参照ピクチャを識別するように、参照ピクチャリストのエントリに、参照ピクチャをビデオコーダがリストすることになり得る。
【０３９２】
[0401]図８は、初期参照ピクチャリストを修正する例示的操作を示すフローチャートである。説明のためにのみ、図８の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。図６と同様に、ビデオコーダは、参照ピクチャを示す情報をコーディングして（１２６）、複数の参照ピクチャサブセットを構成すればよい（１２８）。複数の参照ピクチャサブセットは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットを含み得る。ビデオコーダは、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１、およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ参照ピクチャサブセットに基づいて、初期参照ピクチャリストを上述したように構成すればよい（１３０）。
【０３９３】
[0402]ビデオコーダは、参照ピクチャリスト修正が必要とされるかどうか決定することができる（１３２）。たとえば、ビデオコーダは、初期リスト０または初期リスト１が修正される必要があるかどうかを示す、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ０およびｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｍｏｄｉｆｉｃａｔｉｏｎ＿ｆｌａｇ＿ｌ１などのシンタックス要素をコーディングしてよい。初期参照ピクチャリストの修正が必要とされない場合（１３２の「ＮＯ」）、ビデオコーダは、初期参照ピクチャリストに基づいて、現在のピクチャをコーディングすればよい（１３４）。
【０３９４】
[0403]修正が必要とされる場合（１３２の「ＹＥＳ」）、ビデオコーダは、構成された参照ピクチャサブセットのうちの少なくとも１つの中の参照ピクチャを識別することができる（１３６）。たとえば、ビデオコーダは、ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素をコーディングすればよい。ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値は、参照ピクチャを識別するのに、どの参照ピクチャサブセットをビデオコーダが使用するべきかを示し得る。ビデオコーダは、参照ピクチャを識別するのにビデオコーダが使用するべき参照ピクチャサブセット中へのインデックスを示すｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘシンタックス要素もコーディングしてよい。
【０３９５】
[0404]ビデオコーダは、初期参照ピクチャリスト中の識別された参照ピクチャを、現在のエントリにおいてリスト（たとえば、追加または識別）して、修正参照ピクチャリストを構成すればよい（１３８）。現在のエントリは、最初は、インデックス０で定義される、初期参照ピクチャリスト中のエントリであり得る。ｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の値が３ではない、コード化ビットストリーム中のｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃシンタックス要素の各事例に対して、ビデオコーダは、初期エントリの値を１だけ増分すればよい（たとえば、エントリの次の値が、インデックス１で定義される）。ビデオコーダは、修正参照ピクチャリストに基づいて、現在のピクチャをコーディングすればよい（１４０）。
【０３９６】
[0405]図９は、復号ピクチャ削除の例示的操作を示すフローチャートである。説明のためにのみ、図８の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。図５と同様に、ビデオコーダ（たとえば、ビデオ符号化２０またはビデオデコーダ３０）は、参照ピクチャセットの参照ピクチャを示す情報をコーディング（たとえば、符号化または復号）してよく（１４２）、コード化（たとえば、符号化または復号）された情報から参照ピクチャセットを導出すればよい（１４４）。
【０３９７】
[0406]ビデオコーダは、復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされず（すなわち、すでに出力されているか、または出力されることを意図されていない）、参照ピクチャセット中で識別されないかどうか決定することができる（１４６）。復号ピクチャが出力に必要とされ、または参照ピクチャセット中で識別される場合（１４６の「ＮＯ」）、ビデオコーダは、復号されたものをＤＰＢから削除しなくてよく、復号ピクチャをＤＰＢに記憶したままにすればよい（１４８）。
【０３９８】
[0407]復号ピクチャが出力済みであり、参照ピクチャセット中で識別されないとき（１４６の「ＹＥＳ」）、ビデオコーダは、ＤＰＢから復号ピクチャを削除してよい（１５０）。ビデオコーダは次いで、復号ピクチャを削除した後、現在のピクチャをコーディングしてよい（１５２）。
【０３９９】
[0408]上述したように、ビデオコーダは、現在のピクチャをコーディングするための参照ピクチャセットに基づいて、参照ピクチャリストを構成することができる。いくつかの例では、ビデオコーダは、参照ピクチャリストを構成した後、ＤＰＢから復号ピクチャを削除してよい。さらに、出力された復号ピクチャについて、ビデオコーダは、復号ピクチャを出力するべき時間を決定してよく、決定した時間に基づいて、および現在のピクチャのコーディングに先立って、復号ピクチャを出力すればよい。
【０４００】
[0409]いくつかの例では、ビデオコーダは、コード化（たとえば、復号）されたピクチャをＤＰＢに記憶してよい。いくつかの例では、ビデオコーダは、記憶に先立って、ＤＰＢが満杯であると決定してよい。これらの例では、ビデオコーダは、「出力に必要とされる」とマーキングされるとともにＤＰＢに記憶されたすべての復号ピクチャのうち最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ、ＤＰＢに現在記憶されている復号ピクチャを選択してよい。ビデオコーダは次いで、選択したピクチャを出力すればよい。さらに、ビデオコーダは、出力されたピクチャが現在のピクチャの参照ピクチャセットに含まれないと決定し得る。この場合、ビデオコーダは、出力されたピクチャを記憶したＤＰＢ内のバッファを空にしてよく、ＤＰＢ内のそのバッファにコード化ピクチャを記憶すればよい。
【０４０１】
[0410]図１０は、どの長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すか決定する例示的操作を示すフローチャートである。説明のためにのみ、図１０の方法は、ビデオエンコーダ２０またはビデオデコーダ３０のいずれかに対応するビデオコーダによって実施することができる。
【０４０２】
[0411]ビデオコーダ（たとえば、ビデオ符号化２０またはビデオデコーダ３０）は、パラメータセット中で識別される候補長期参照ピクチャを示すシンタックス要素をコーディングしてよい（１５４）。いくつかの例では、候補長期参照ピクチャのうちの１つまたは複数は、現在のピクチャの参照ピクチャセットに属す。本開示に記載する技法によると、パラメータセットは、シーケンスパラメータセットまたはピクチャパラメータセットであってよい。いくつかの例では、候補長期参照ピクチャを示すシンタックス要素をコーディングするために、ビデオコーダは、パラメータセット中の候補長期参照ピクチャについてのＰＯＣ値のリストをコーディングし、現在のピクチャのスライスヘッダ中のリストへのインデックス値をコーディングすればよい。
【０４０３】
[0412]ビデオコーダは、パラメータセット中で識別されるどの候補長期参照ピクチャが、現在のピクチャの参照ピクチャセットに属すかを示すシンタックス要素をコーディングすることができる（１５６）。たとえば、ビデオコーダは、現在のピクチャのスライスヘッダ中に、どの候補長期参照ピクチャが参照ピクチャセットに属すかを示すシンタックス要素をコーディングすることができる。
【０４０４】
[0413]いくつかの例では、参照ピクチャセットに属すすべての長期参照ピクチャが、候補長期参照ピクチャに含まれるわけではない。これらの例では、ビデオコーダはさらに、参照ピクチャセットに属す長期参照ピクチャを示すシンタックス要素をコーディングすることができる（１５８）。ビデオコーダは次いで、どの候補長期参照ピクチャが現在のピクチャの参照ピクチャセットに属すかの指示に基づいて、複数の参照ピクチャサブセットのうちの少なくとも１つを構成することができる（１６０）。
【０４０５】
[0414]上記例では、様々な例について、これらの例に対する可能な代替物とともに記載した。以下では、これらの例に対するいくつかの追加代替物について説明するが、これらは、上述したこれらの例のうちの１つまたは複数に対する代替例と見なすことができる。さらに、これらの代替例は、上述した例とともに、または上述した例とは別個に使うことができる。
【０４０６】
[0415]たとえば、参照ピクチャセット概念についての代替例、パラメータセット中での参照ピクチャセットのシグナリングのための代替例、参照ピクチャセットのサブセットの代替例、および参照ピクチャマーキングのための代替例については、すでに上述した。以下では、追加代替例を挙げる。
【０４０７】
[0416]たとえば、ＮＡＬユニットヘッダ用に、上記例では、ＮＡＬユニットヘッダシンタックスは、ｎａｌ＿ｒｅｆ＿ｉｄｃ、ｔｅｍｐｏｒａｌ＿ｉｄ、およびｏｕｔｐｕｔ＿ｆｌａｇシンタックス要素を含み得る。ある代替例では、ｎａｌ＿ｒｅｆ＿ｉｄｃ（２ビット）は、ｎａｌ＿ｒｅｆ＿ｆｌａｇ（１ビット）で置き換えられる。この例では、１に等しいｎａｌ＿ｒｅｆ＿ｆｌａｇは、０よりも大きいｎａｌ＿ｒｅｆ＿ｉｄｃとしてのセマンティクスを有し、０に等しいｎａｌ＿ｒｅｆ＿ｆｌａｇは、０に等しいｎａｌ＿ｒｅｆ＿ｉｄｃと同じセマンティクスを有する。ある代替例では、ｎａｌ＿ｒｅｆ＿ｉｄｃ（２ビット）は、削除される。参照ピクチャの定義は、復号順において後続ピクチャの復号プロセスにおいてインター予測に使うことができるサンプルを含むピクチャに変えることができる。ある代替例では、ｔｅｍｐｏｒａｌ＿ｉｄはＮＡＬユニットヘッダシンタックスには存在せず、値は、すべてのピクチャについて同じになるように導出される。ある代替例では、ｏｕｔｐｕｔ＿ｆｌａｇはＮＡＬユニットヘッダシンタックスには存在せず、値は、すべてのピクチャについて１に等しくなるように導出される。
【０４０８】
[0417]ピクチャオーダーカウントのシグナリングおよび算出のために、上記技法は、ＡＶＣにおけるピクチャオーダーカウントタイプ０と同様であり得る、ピクチャオーダーカウントの１つのシグナリングおよび算出法を利用してよい。ＡＶＣにおけるピクチャオーダーカウントタイプ１および２と同じ、ピクチャオーダーカウントのシグナリングおよび算出のための２つの代替法を、それぞれ、適用することができる。３つのやり方のうちの２つの任意の組合せ、または３つすべてのやり方の組合せが適用されてもよい。
【０４０９】
[0418]ピクチャ識別のために、上記技法は、ピクチャ識別についてのピクチャオーダーカウント（ＰＯＣ：picture order count）値を使用し得る。ある代替例では、時間的参照（ＴＲ：temporal reference）がピクチャ識別として使われる。ＴＲを定義する１つのやり方は、任意の２つのピクチャの間のＰＯＣ差が提示時間またはサンプリング時間差に比例するようにＰＯＣが制限されるとき、ＴＲがＰＯＣと同じになるものである。ある代替例では、復号順を示すｆｒａｍｅ＿ｎｕｍ（一方、ＰＯＣは出力または表示順を示す）、またはｆｒａｍｅ＿ｎｕｍから導出される、３２ビットの符号なし整数値の任意の値でよい変数（たとえば、ＵｎＷｒａｐｐｅｄＦｒａｍｅＮｕｍと名付けられる）を、ピクチャ識別として使うことができる。基本的に、ＵｎＷｒａｐｐｅｄＦｒａｍｅＮｕｍは、ｆｒａｍｅ＿ｎｕｍのアンラップバージョンであり得る。たとえば、ｆｒａｍｅ＿ｎｕｍが８ビットで表される場合、ｆｒａｍｅ＿ｎｕｍの最大値は２５５である。ｆｒａｍｅ＿ｎｕｍについての２５５の後の次の値は０である。ＵｎＷｒａｐｐｅｄＦｒａｍｅＮｕｍの値は、ｆｒａｍｅ＿ｎｕｍが０までラップする位置において増大し続ける。
【０４１０】
[0419]パラメータセット中で長期参照ピクチャをシグナリングするために、上記例では、ビデオエンコーダ２０は、絶対長期参照ピクチャ識別情報のリストをピクチャパラメータセット中でシグナリングすればよく、ビットで表される、絶対長期参照ピクチャ識別情報の長さについての情報をシグナリングすればよく、リストに対するインデックスは、スライスヘッダ中で参照されてよく、したがってシグナリングオーバーヘッドを削減する。ある代替例では、差分長期参照ピクチャ識別情報のリストは、シーケンスパラメータセット中でシグナリングすることができ、リストに対するインデックスは、スライスヘッダ中で参照されてよく、したがってシグナリングオーバーヘッドを削減する。ある代替例では、ビットで表される、絶対長期参照ピクチャ識別情報の長さについての情報をシグナリングすることができるが、長さは、定数、たとえば、３２と見なされ得る。様々な例において、上記例のうちのいずれの組合せも適用される。
【０４１１】
[0420]短期参照ピクチャのシグナリングのために、上記例では、コード化ピクチャの参照ピクチャセット中の短期参照ピクチャに対して、すべてが参照されるピクチャパラメータセット中でシグナリングされるか、またはすべてがスライスヘッダ中でシグナリングされる。ある代替例では、コード化ピクチャの参照ピクチャセット中の短期参照ピクチャに対して、一部が、参照されるピクチャパラメータセット中でシグナリングされ、それ以外はスライスヘッダ中でシグナリングされる。
【０４１２】
[0421]参照ピクチャリスト初期化のために、ある代替例では、参照ピクチャリスト初期化プロセスにおいて、最初に短期参照ピクチャがリストに追加されてよく、第２に、任意選択で、長期参照ピクチャがそのリストに追加されてよい。その後で、参照ピクチャリスト中のエントリの数（ＲｅｆＰｉｃＬｉｓｔ０またはＲｅｆＰｉｃＬｉｓｔ１のいずれか）が依然としてｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ｌｘ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１の値未満である場合（ｌｘはｌ０またはｌ１である）、残りのエントリには、「参照ピクチャなし」とマーキングすればよい。ある代替例では、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１中のエントリ、および可能性としては長期間参照ピクチャを追加した後、参照ピクチャリストが依然として完了していない場合、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０および／またはＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１中のピクチャが追加され得ることも可能であり得る。ある代替例では、参照ピクチャリスト初期化プロセスは、参照ピクチャリスト中で短期参照ピクチャを追加するだけでよい。このようなケースでは、長期参照ピクチャは、参照ピクチャリスト修正（ＲＰＬＭ）シンタックステーブルにおいてシグナリングされたとき、参照ピクチャリスト修正コマンドを使うことによって、参照ピクチャリストに追加されるだけでよい。
【０４１３】
[0422]参照ピクチャリスト修正のために、ある代替例では、参照ピクチャリスト修正は、前のインデックスが現在のインデックスの予測子として使われる差分方式でｒｅｆ＿ｐｉｃ＿ｓｅｔ＿ｉｄｘもシグナリングし得る。この例では、異なるｍｏｄｉｆｉｃａｔｉｏｎ＿ｏｆ＿ｒｅｆ＿ｐｉｃ＿ｉｄｃ値が、異なるインデックス付けカテゴリーに対応してよく（ＲｅｆＰｉｃＬｉｓｔｘにはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒｘ、ＲｅｆＰｉｃＬｉｓｔ（１−ｘ）にはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒｘ、またはＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ）、これらの各々は、異なる予測子を維持する。予測子は、同じカテゴリーに属すシンタックス要素が解析されるだけで、アップデートすることができる。ある代替例では、参照ピクチャリスト修正はピクチャ数の差に基づき得る。ある代替例では、参照ピクチャリスト修正はＰＯＣ値の差に基づき得る。
【０４１４】
[0423]復号ピクチャバッファ（ＤＰＢ）操作のために、上記例では、現在のピクチャの復号の後、および復号順において次のコード化ピクチャのスライスヘッダを解析する前に、現在の復号ピクチャはＤＰＢに記憶される。ある代替例では、現在のピクチャの復号の後、および復号順において次のコード化ピクチャのスライスヘッダを解析する前に、現在の復号ピクチャは（ＤＰＢではなく）一時メモリに記憶される。現在の復号ピクチャは、復号順において次のコード化ピクチャのスライスヘッダと、そのピクチャの参照ピクチャセットの構成とを解析した後、依然として参照または出力に必要とされる場合、ＤＰＢに記憶される。この瞬間、参照にも出力にも必要とされない場合、復号ピクチャは（一時バッファから）単に破棄すればよい。
【０４１５】
[0424]また、上記例では、ＤＰＢからの復号ピクチャの削除は、現在のピクチャのスライスヘッダを解析した直後、および現在のピクチャのどのスライスも復号する前に起こる。ある代替例では、存在する場合、復号ピクチャのマーキング、およびＤＰＢからの削除は、現在のピクチャが全体的に復号された後に起こる。
【０４１６】
[0425]上記例では、現在のピクチャ用の参照ピクチャセットのサブセットＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１は、すべての復号ピクチャについて導出される。ただし、これは、イントラピクチャには必要でなくてよい。イントラピクチャ参照ピクチャセット導出のため、ある代替例では、イントラコーディングされる非ＩＤＲピクチャのために（すなわち、コード化ピクチャのすべてのスライスがＩスライスである）、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１は、導出された後に空でなくても、コード化ピクチャの復号において必要とされないので、導出されない。非ＩＤＲイントラピクチャ用に空でないＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０またはＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１を認めると、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０およびＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１が両方とも空であってはならない、１つまたは複数のインターコード化ピクチャのインスタンスｓｈｏｒｔ＿ｔｅｒｍ＿ｒｅｆ＿ｐｉｃ＿ｓｅｔ（）シンタックス構造を共有することが可能になる。
【０４１７】
[0426]損失検出のために、参照ピクチャの損失検出または現在のピクチャを正しく復号することができるかどうかの早期検出のための以下の異なる方法が可能であり得る。様々な例において、参照ピクチャセットの導出の後、ビデオデコーダ３０（たとえば、デコーダ側）は、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒに含まれる参照ピクチャの存在について調べればよい。ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１およびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒに含まれる参照ピクチャのいずれも、ＤＰＢには存在しない場合、デコーダ側は、その参照ピクチャが失われ、現在のピクチャが正しく復号される見込みはないと推論してよく、たとえば、エンコーダ側（たとえば、ビデオエンコーダ２０）にピクチャ損失（１つまたは複数）を通知することによって、状況を改善するための何らかのアクションをとればよく、エンコーダは、失われた参照ピクチャ（１つもしくは複数）を再送信し、またはインター予測参照のためにデコーダ側において正しいとわかっている参照ピクチャのみを使って次のピクチャ（１つもしくは複数）を符号化すればよい。
【０４１８】
[0427]様々な例において、参照ピクチャセットの導出の後、デコーダ側は、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌに含まれる参照ピクチャの存在を調べればよい。ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ０、ＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ１およびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌに含まれる参照ピクチャのいずれもＤＰＢには存在しない場合、デコーダ側は、その参照ピクチャが失われ、復号順において後に続くピクチャのうちのいくつかは、いくつかのアクションがとられない限り正しく復号される見込みがないと推論してよく、たとえば、エンコーダ側にピクチャ損失（１つまたは複数）を通知することによって、状況を改善するための何らかのアクションをとればよく、エンコーダは、失われた参照ピクチャ（１つまたは複数）を再送信し、またはインター予測参照のためにデコーダ側において正しいとわかっている参照ピクチャのみを使って次のピクチャ（１つまたは複数）を符号化すればよい。
【０４１９】
[0428]エンコーダ側（たとえば、ビデオエンコーダ２０）参照ピクチャセット組成のために、上記例を用いて、エンコーダ側における参照ピクチャセット組成のための以下の異なる方法が可能であり得る。たとえば、様々な例において、エンコーダは、現在のピクチャのためのデコーダ側での参照ピクチャセット導出の後（１）ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０が、現在のピクチャよりも早い出力順をもつとともに現在のピクチャのインター予測における参照に使われるすべての短期参照ピクチャの識別情報を含み、およびそれだけを含み、（２）ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１が、現在のピクチャよりも後の出力順をもつとともに現在のピクチャのインター予測における参照に使われるすべての短期参照ピクチャの識別情報を含み、およびそれだけを含み、（３）ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒが、現在のピクチャのインター予測における参照に使われるすべての長期参照ピクチャの識別情報を含み、およびそれだけを含むように、参照ピクチャセット関連シンタックス構造を組み立てる。
【０４２０】
[0429]様々な例において、エンコーダ（たとえば、ビデオエンコーダ２０）は、現在のピクチャ用のデコーダ側での参照ピクチャセット導出の後、（１）ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ０が、１）現在のピクチャよりも早い出力順をもつとともに現在のピクチャのインター予測における参照用に使われるすべての短期参照ピクチャと、２）現在のピクチャよりも早い出力順をもつとともに現在のピクチャのインター予測における参照に使用されない１つまたは複数の短期参照ピクチャとの識別情報を含み、およびそれだけを含み、（２）ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒ１が、１）現在のピクチャよりも後の出力順をもつとともに現在のピクチャのインター予測における参照に使われるすべての短期参照ピクチャと、２）現在のピクチャよりも後の出力順をもつとともに現在のピクチャのインター予測における参照に使用されない１つまたは複数の短期参照ピクチャとの識別情報を含み、およびそれだけを含み、ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒが、１）現在のピクチャのインター予測における参照に使われるすべての長期参照ピクチャと、２）現在のピクチャのインター予測における参照に使用されない１つまたは複数の長期参照ピクチャとの識別情報を含み、およびにそれだけを含むように、参照ピクチャセット関連シンタックス構造を組み立てることができる。
【０４２１】
[0430]このようにして、上記個々の技法または、代替例のどの組合せも含む、それらのどの組合せも、以下に関連した技法を提供することができる。ただし、以下のリストは、理解しやすくするために挙げるのであって、限定的と見なされるべきでない。上記技法のうちの１つまたは複数は、一緒に、または別個に実装することができる。さらに、上記技法は例であり、具体例技法に対して限定的と見なされるべきでない。
【０４２２】
[0431]ＤＰＢ管理方法が時間的スケーラビリティに適合するような、参照ピクチャセットについてのｔｅｍｐｏｒａｌ＿ｉｄに対する制約、すなわちシグナリングオーバーヘッドは、削減することができ、きれいに抽出されたビットストリームサブセットのための簡単なビットストリーム抽出プロセスが可能になり得る。
【０４２３】
[0432]ピクチャパラメータセットおよびインデックス中でシグナリングされる長期参照ピクチャサブセットは、スライスヘッダに含まれ得る。こうすることにより、長期ピクチャを効率的にシグナリングすることができる。
【０４２４】
[0433]現在のピクチャまたは復号順において後に続くピクチャについての分離、現在のピクチャよりも早いまたは後の出力順をもつものについての分離を含む、参照ピクチャセットの、様々なサブセットへの分離。これらは、参照リスト初期化および参照ピクチャリスト修正についての効率を改善し、複雑さを削減することができる。
【０４２５】
[0434]短期ピクチャ識別シグナリングにおける二重微分コーディングは、効率を改善し得る。拡張および制限された長期ピクチャ識別により、効率および柔軟性を改善することができる。簡略化された参照ピクチャリスト初期化により、参照ピクチャリスト中で未完エントリを「参照ピクチャなし」とマーキングする必要がなくなり得るが、これはすべての例において要求されるわけではない。
【０４２６】
[0435]ＤＰＢからの復号ピクチャ出力、挿入および削除のための簡略化されたプロセス。ピクチャオーダーカウント（ＰＯＣ）は負の場合がある。これにより、ＰＯＣが負であってはならない場合には認められなかった場合があるいくつかの重要な使用ケースが可能になり得る。ピクチャが参照ピクチャであるかどうかのシグナリングは、復号プロセスにおいて必要とされないが、依然としてシグナリングされる可能性はあり得る。「参照に使用されない」という参照ピクチャのマーキングは、それ以上必要とされなくてよい。
【０４２７】
[0436]１つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。各機能は、ソフトウェアで実装される場合、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、データ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０４２８】
[0437]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザディスク（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０４２９】
[0438]命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明する技法の実装に好適な他の構造のいずれかを指す。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０４３０】
[0439]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０４３１】
[0440]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビデオデータをコーディングするための方法であって、
参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることと、前記参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することと、
復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することと、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、前記ＤＰＢから前記復号ピクチャを削除することと、
前記復号ピクチャの前記削除に続いて、前記現在のピクチャをコーディングすることと、
を備える方法。
［Ｃ２］  前記参照ピクチャセットに基づいて参照ピクチャリストを構成することをさらに備え、
前記ＤＰＢから前記復号ピクチャを削除することは、前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除することを備える、Ｃ１に記載の方法。
［Ｃ３］  前記復号ピクチャを出力するべき時間を決定することと、
前記決定された時間に基づいて、および前記現在のピクチャをコーディングするのに先立って、前記復号ピクチャを出力することと、
をさらに備える、Ｃ１に記載の方法。
［Ｃ４］  前記現在のピクチャをコーディングした後、前記現在のピクチャを前記ＤＰＢに記憶することをさらに備える、Ｃ１に記載の方法。
［Ｃ５］  前記ＤＰＢが満杯かどうか決定することと、
前記ＤＢＰが満杯のとき、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択することと、
前記選択されたピクチャを出力することと、
をさらに備える、Ｃ１に記載の方法。
［Ｃ６］  前記出力ピクチャが前記参照ピクチャセットに含まれないと決定することと、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にすることと、
前記現在のピクチャをコーディングした後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶することと、
をさらに備える、Ｃ５に記載の方法。
［Ｃ７］  コーディングすることは、ビデオデコーダを用いて、前記参照ピクチャセットに属す参照ピクチャを示す情報を復号することを備え、前記参照ピクチャセットは、前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
導出することは、前記ビデオデコーダを用いて、前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することを備え、
決定することは、前記ビデオデコーダを用いて、前記復号ピクチャバッファ（ＤＰＢ）に記された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することを備え、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、削除することは、前記ビデオデコーダを用いて、前記ＤＰＢから前記復号ピクチャを削除することを備え、
前記復号ピクチャの前記削除の後に続いて、コーディングすることは、前記ビデオデコーダを用いて、前記現在のピクチャを復号することを備える、Ｃ１に記載の方法。
［Ｃ８］  コーディングすることは、ビデオエンコーダを用いて、前記参照ピクチャセットに属す参照ピクチャを示す情報を符号化することを備え、前記参照ピクチャセットは、前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
導出することは、前記ビデオエンコーダを用いて、前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することを備え、
決定することは、前記ビデオエンコーダを用いて、前記復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することを備え、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、削除することは、前記ビデオエンコーダを用いて、前記ＤＰＢから前記復号ピクチャを削除することを備え、
前記復号ピクチャの前記削除の後に続いて、コーディングすることは、前記ビデオエンコーダを用いて、前記現在のピクチャを符号化することを備える、Ｃ１に記載の方法。
［Ｃ９］  ビデオデータをコーディングするためのデバイスであって、
参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることと、前記参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することと、
復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することと、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、前記ＤＰＢから前記復号ピクチャを削除することと、
前記復号ピクチャの前記削除に続いて、前記現在のピクチャをコーディングすることと、
を行うように構成されたビデオコーダを備えるデバイス。
［Ｃ１０］  前記ビデオコーダは、
前記参照ピクチャセットに基づいて参照ピクチャリストを構成するように構成され、
前記ＤＰＢから前記復号ピクチャを削除するために、前記ビデオコーダは、前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除するように構成される、Ｃ９に記載のデバイス。
［Ｃ１１］  前記ビデオコーダは、
前記復号ピクチャを出力するべき時間を決定し、
前記決定された時間に基づいて、および前記現在のピクチャをコーディングするのに先立って、前記復号ピクチャを出力するように構成される、Ｃ９に記載のデバイス。
［Ｃ１２］  前記ビデオコーダは、
前記現在のピクチャをコーディングした後、前記現在のピクチャを前記ＤＰＢに記憶するように構成される、Ｃ９に記載のデバイス。
［Ｃ１３］  前記ビデオコーダは、
前記ＤＰＢが満杯かどうか決定し、
前記ＤＢＰが満杯のとき、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択し、
前記選択されたピクチャを出力するように構成される、Ｃ９に記載のデバイス。
［Ｃ１４］  前記ビデオコーダは、
前記出力ピクチャが前記参照ピクチャセットに含まれないと決定し、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にし、
前記現在のピクチャをコーディングした後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶するように構成される、Ｃ１３に記載のデバイス。
［Ｃ１５］  前記デバイスはビデオデコーダを備え、前記ビデオデコーダは、
前記参照ピクチャセットに属す参照ピクチャを示す情報を復号することと、前記参照ピクチャセットは、前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することと、
前記復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することと、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、前記ＤＰＢから前記復号ピクチャを削除することと、
前記復号ピクチャの前記削除に続いて、前記現在のピクチャを復号することと、
を行うように構成された、Ｃ９に記載のデバイス。
［Ｃ１６］  前記デバイスはビデオエンコーダを備え、前記ビデオエンコーダは、
前記参照ピクチャセットに属す参照ピクチャを示す情報を符号化することと、前記参照ピクチャセットは、前記現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することと、
前記復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することと、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、前記ＤＰＢから前記復号ピクチャを削除することと、
前記復号ピクチャの前記削除に続いて、前記現在のピクチャを符号化することと、
を行うように構成された、Ｃ９に記載のデバイス。
［Ｃ１７］  前記デバイスは、
ワイヤレス通信デバイス、
マイクロプロセッサ、および
集積回路のうちの１つを備える、Ｃ９に記載のデバイス。
［Ｃ１８］  命令を記憶したコンピュータ可読記憶媒体であって、前記命令は、実行されると、ビデオデータをコーディングするためのデバイスのプロセッサに、
参照ピクチャセットに属す参照ピクチャを示す情報をコーディングすることと、前記参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
前記コーディングされた情報に基づいて前記参照ピクチャセットを導出することと、
復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定することと、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、前記ＤＰＢから前記復号ピクチャを削除することと、
前記復号ピクチャの前記削除に続いて、前記現在のピクチャをコーディングすることと、
を行わせる、コンピュータ可読記憶媒体。
［Ｃ１９］  前記プロセッサに、
前記参照ピクチャセットに基づいて参照ピクチャリストを構成させる命令をさらに備え、
前記プロセッサに、前記ＤＰＢから前記復号ピクチャを削除させる前記命令は、前記プロセッサに、前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除させる命令を備える、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２０］  前記プロセッサに、
前記復号ピクチャを出力するべき時間を決定させ、
前記決定された時間に基づいて、および前記現在のピクチャをコーディングするのに先立って、前記復号ピクチャを出力させる命令をさらに備える、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２１］  前記プロセッサに、
前記現在のピクチャをコーディングした後、前記現在のピクチャを前記ＤＰＢに記憶させる命令をさらに備える、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２２］  前記プロセッサに、
前記ＤＰＢが満杯かどうか決定させ、
前記ＤＢＰが満杯のとき、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択させ、
前記選択されたピクチャを出力させる命令をさらに備える、Ｃ１８に記載のコンピュータ可読記憶媒体。
［Ｃ２３］  前記プロセッサに、
前記出力ピクチャが前記参照ピクチャセットに含まれないと決定させ、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にさせ、
前記現在のピクチャをコーディングした後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶させる命令をさらに備える、Ｃ２２に記載のコンピュータ可読記憶媒体。
［Ｃ２４］  ビデオデータをコーディングするためのデバイスであって、
参照ピクチャセットに属す参照ピクチャを示す情報をコーディングする手段と、前記参照ピクチャセットは、現在のピクチャをインター予測するために使われる可能性があり得るとともに復号順で前記現在のピクチャに続く１つまたは複数のピクチャをインター予測するために使われる可能性があり得る前記参照ピクチャを識別し、
前記コーディングされた情報に基づいて前記参照ピクチャセットを導出する手段と、
復号ピクチャバッファ（ＤＰＢ）に記憶された復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないかどうか決定する手段と、
前記復号ピクチャが出力に必要とされないとともに前記参照ピクチャセット中で識別されないとき、前記ＤＰＢから前記復号ピクチャを削除する手段と、
前記復号ピクチャの前記削除に続いて、前記現在のピクチャをコーディングする手段と、
を備えるデバイス。
［Ｃ２５］  前記参照ピクチャセットに基づいて参照ピクチャリストを構成する手段をさらに備え、
前記ＤＰＢから前記復号ピクチャを削除する前記手段は、前記参照ピクチャリストを構成した後、前記ＤＰＢから前記復号ピクチャを削除する手段を備える、Ｃ２４に記載のデバイス。
［Ｃ２６］  前記復号ピクチャを出力するべき時間を決定する手段と、
前記判断された時間に基づいて、および前記現在のピクチャをコーディングするのに先立って、前記復号ピクチャを出力する手段と、
をさらに備える、Ｃ２４に記載のデバイス。
［Ｃ２７］  前記現在のピクチャをコーディングした後、前記現在のピクチャを前記ＤＰＢに記憶する手段をさらに備える、Ｃ２４に記載のデバイス。
［Ｃ２８］  前記ＤＰＢが満杯かどうか判断する手段と、
前記ＤＢＰが満杯のとき、
「出力に必要とされる」とマーキングされるとともに、前記ＤＰＢに記憶されたすべての復号ピクチャのうち、最も小さいピクチャオーダーカウント（ＰＯＣ）値をもつ前記ＤＰＢ中の復号ピクチャを選択する手段と、
前記選択されたピクチャを出力する手段と、
をさらに備える、Ｃ２４に記載のデバイス。
［Ｃ２９］  前記出力ピクチャが前記参照ピクチャセットに含まれないと決定する手段と、
前記出力ピクチャを記憶した、前記ＤＰＢ内のバッファを空にする手段と、
前記現在のピクチャをコーディングした後、前記ＤＰＢ内の前記バッファに前記現在のピクチャを記憶する手段と、
をさらに備える、Ｃ２８に記載のデバイス。
【図１】
0006038929.tif 000021
【図２】
0006038929.tif 000022
【図３】
0006038929.tif 000023
【図４】
0006038929.tif 000024
【図５】
0006038929.tif 000025
【図６】
0006038929.tif 000026
【図７】
0006038929.tif 000027
【図８】
0006038929.tif 000028
【図９】
0006038929.tif 000029
【図１０】
0006038929.tif 000030