(57)【要約】  ビデオデコーダが、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット値を有する、第１の長期参照ピクチャと第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号することとを行うように構成され得る。
2015526026.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値と前記ビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、
前記ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と前記第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、前記第１のＰＯＣ値と前記第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、
前記第１の値を使用した前記第１の長期参照ピクチャと、前記第１の値と前記第２の値とを使用した前記第２の長期参照ピクチャとのうちの少なくとも１つに対する前記ビデオデータの現在ピクチャの少なくとも一部分を復号することと
を備える、方法。
【請求項２】
前記第１の値を使用して、前記第１の長期参照ピクチャのための第１のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］として計算することと、
前記第２の長期参照ピクチャのための第２のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］として計算することと、ここにおいて、前記第２のＭＳＢサイクル値を計算することが、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］と前記第２の値とに基づいてＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］を計算することを備える、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記第１の長期参照ピクチャがｊのインデックスに対応し、ここにおいて、前記第２の長期参照ピクチャがｉのインデックスに対応し、ここにおいて、前記第１の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｊ］を備え、ここにおいて、前記第２の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を備え、ここにおいて、ｊが、両端値を含む０からｉ−１までの範囲内である、請求項１に記載の方法。
【請求項４】
前記第１の値と前記第２の値とのうちの少なくとも１つが負整数値を備える、請求項１に記載の方法。
【請求項５】
前記現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数に少なくとも部分的に基づいて前記第１のＰＯＣ値と前記第２のＰＯＣ値とのうちの少なくとも１つを判断することをさらに備える、請求項１に記載の方法。
【請求項６】
ビデオデータを復号するためのデバイスであって、前記デバイスは、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値と前記ビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、前記ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と前記第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、前記第１のＰＯＣ値と前記第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、前記第１の値を使用した前記第１の長期参照ピクチャと、前記第１の値と前記第２の値とを使用した前記第２の長期参照ピクチャとのうちの少なくとも１つに対する前記ビデオデータの現在ピクチャの少なくとも一部分を復号することとを行うように構成されたビデオデコーダを備える、デバイス。
【請求項７】
前記ビデオデコーダは、前記第１の値を使用して、前記第１の長期参照ピクチャのための第１のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］として計算することと、前記第２の長期参照ピクチャのための第２のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］として計算することと、ここにおいて、前記第２のＭＳＢサイクル値を計算することが、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］と前記第２の値とに基づいてＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］を計算することを備える、を行うようにさらに構成された、請求項６に記載のデバイス。
【請求項８】
前記第１の長期参照ピクチャがｉ−１のインデックスに対応し、ここにおいて、前記第２の長期参照ピクチャがｉのインデックスに対応し、ここにおいて、前記第１の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ−１］を備え、ここにおいて、前記第２の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を備える、請求項６に記載のデバイス。
【請求項９】
前記第１の値と前記第２の値とのうちの少なくとも１つが負整数値を備える、請求項６に記載のデバイス。
【請求項１０】
前記ビデオデコーダが、前記現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数に少なくとも部分的に基づいて前記第１のＰＯＣ値と前記第２のＰＯＣ値とのうちの少なくとも１つを判断するようにさらに構成された、請求項６に記載のデバイス。
【請求項１１】
ビデオデータを復号するためのデバイスであって、前記デバイスは、
ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値と前記ビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号するための手段と、
前記ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と前記第１のＭＳＢ値との間の差を表す第２の値を復号するための手段と、ここにおいて、前記第１のＰＯＣ値と前記第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、
前記第１の値を使用した前記第１の長期参照ピクチャと、前記第１の値と前記第２の値とを使用した前記第２の長期参照ピクチャとのうちの少なくとも１つに対する前記ビデオデータの現在ピクチャの少なくとも一部分を復号するための手段と
を備える、デバイス。
【請求項１２】
前記第１の値を使用して、前記第１の長期参照ピクチャのための第１のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］として計算するための手段と、
前記第２の長期参照ピクチャのための第２のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］として計算するための手段と、ここにおいて、前記第２のＭＳＢサイクル値を計算することが、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］と前記第２の値とに基づいてＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］を計算することを備える、
をさらに備える、請求項１１に記載のデバイス。
【請求項１３】
前記第１の長期参照ピクチャがｊのインデックスに対応し、ここにおいて、前記第２の長期参照ピクチャがｉのインデックスに対応し、ここにおいて、前記第１の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｊ］を備え、ここにおいて、前記第２の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を備え、ここにおいて、ｊが、両端値を含む０からｉ−１までの範囲内である、請求項１１に記載のデバイス。
【請求項１４】
前記第１の値と前記第２の値とのうちの少なくとも１つが負整数値を備える、請求項１１に記載のデバイス。
【請求項１５】
前記現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数に少なくとも部分的に基づいて前記第１のＰＯＣ値と前記第２のＰＯＣ値とのうちの少なくとも１つを判断するための手段をさらに備える、請求項１１に記載のデバイス。
【請求項１６】
実行されたとき、
ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値と前記ビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、
前記ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と前記第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、前記第１のＰＯＣ値と前記第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、
前記第１の値を使用した前記第１の長期参照ピクチャと、前記第１の値と前記第２の値とを使用した前記第２の長期参照ピクチャとのうちの少なくとも１つに対する前記ビデオデータの現在ピクチャの少なくとも一部分を復号することと
をプロセッサに行わせる命令を記憶したコンピュータ可読記憶媒体。
【請求項１７】
前記第１の値を使用して、前記第１の長期参照ピクチャのための第１のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］として計算することと、
前記第２の長期参照ピクチャのための第２のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］として計算することと、ここにおいて、前記第２のＭＳＢサイクル値を計算することが、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］と前記第２の値とに基づいてＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］を計算することを備える、
を前記プロセッサに行わせる命令をさらに備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記第１の長期参照ピクチャがｊのインデックスに対応し、ここにおいて、前記第２の長期参照ピクチャがｉのインデックスに対応し、ここにおいて、前記第１の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｊ］を備え、ここにおいて、前記第２の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を備え、ここにおいて、ｊが、両端値を含む０からｉ−１までの範囲内である、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記第１の値と前記第２の値とのうちの少なくとも１つが負整数値を備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数に少なくとも部分的に基づいて前記第１のＰＯＣ値と前記第２のＰＯＣ値とのうちの少なくとも１つを判断することを前記プロセッサに行わせる命令をさらに備える、請求項１６に記載のコンピュータ可読記憶媒体。
【請求項２１】
ビデオデータを符号化する方法であって、前記方法は、
第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する前記現在ピクチャの少なくとも第２の部分とを符号化することと、
前記ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値と前記ビデオデータの前記第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、
前記ビデオデータの前記第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と前記第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、前記第１のＰＯＣ値と前記第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、
を備える、方法。
【請求項２２】
前記第１の値を、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］としての前記第１の長期参照ピクチャのための第１のＭＳＢサイクル値と前記ベースＭＳＢ値との間の差として計算することと、
前記第２の値を、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］としての前記第２の長期参照ピクチャのための第２のＭＳＢサイクル値と前記第１のＭＳＢ値との間の差として計算することと
をさらに備える、請求項２１に記載の方法。
【請求項２３】
前記第１の長期参照ピクチャがｊのインデックスに対応し、ここにおいて、前記第２の長期参照ピクチャがｉのインデックスに対応し、ここにおいて、前記第１の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｊ］を備え、ここにおいて、前記第２の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を備え、ここにおいて、ｊが、両端値を含む０からｉ−１までの範囲内である、請求項２１に記載の方法。
【請求項２４】
前記第１の値と前記第２の値とのうちの少なくとも１つが負整数値を備える、請求項２１に記載の方法。
【請求項２５】
前記第１の値を符号化することと、前記第２の値を符号化することとが、前記現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数に少なくとも部分的に基づいて前記第１の値を符号化することと、前記第２の値を符号化することとを備える、請求項２１に記載の方法。
【請求項２６】
ビデオデータを符号化するためのデバイスであって、前記デバイスは、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する前記現在ピクチャの少なくとも第２の部分とを符号化することと、前記ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値と前記ビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、前記ビデオデータの前記第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と前記第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、前記第１のＰＯＣ値と前記第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、を行うように構成されたビデオエンコーダを備える、デバイス。
【請求項２７】
前記ビデオエンコーダが、前記第１の値を、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］としての前記第１の長期参照ピクチャのための第１のＭＳＢサイクル値と前記ベースＭＳＢ値との間の差として計算することと、前記第２の値を、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］としての前記第２の長期参照ピクチャのための第２のＭＳＢサイクル値と前記第１のＭＳＢ値との間の差として計算することとを行うように構成された、請求項２６に記載のデバイス。
【請求項２８】
前記第１の長期参照ピクチャがｊのインデックスに対応し、ここにおいて、前記第２の長期参照ピクチャがｉのインデックスに対応し、ここにおいて、前記第１の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｊ］を備え、ここにおいて、前記第２の値がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を備え、ここにおいて、ｊが、両端値を含む０からｉ−１までの範囲内である、請求項２６に記載のデバイス。
【請求項２９】
前記第１の値と前記第２の値とのうちの少なくとも１つが負整数値を備える、請求項２６に記載のデバイス。
【請求項３０】
前記第１の値と前記第２の値とを符号化するために、前記ビデオエンコーダが、前記現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数に少なくとも部分的に基づいて前記第１の値と前記第２の値とを符号化するように構成された、請求項２６に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本出願は、その内容全体が参照により本明細書に組み込まれる、２０１２年６月２８日に出願された米国仮出願第６１／６６５，７８４号の利益を主張する。
【０００２】
[0002]  本開示は、ビデオコーディングに関する。
【背景技術】
【０００３】
[0003]  デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０、アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。「ＨＥＶＣ  Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ  ７」または「ＷＤ７」と呼ばれる今度のＨＥＶＣ規格の最近のドラフトは、２０１３年５月１３日在、http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zipからダウンロード可能である、文書ＪＣＴＶＣ−Ｉ１００３、Ｂｒｏｓｓら、「High efficiency video coding (HEVC) Text Specification Draft 7」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３とＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１とのＪｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）、９ｔｈ  Ｍｅｅｔｉｎｇ：Ｓａｎ  Ｊｏｓｅ、Ｃａｌｉｆｏｒｎｉａ、ＵＳＡ、２０１２年４月２７日〜５月７日に記載されている。ビデオコーディングデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００４】
[0004]  ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間的（イントラピクチャ）予測および／または時間的（インターピクチャ）予測を含む。ブロックベースのビデオコーディングでは、ビデオスライス（たとえば、ビデオフレームまたはビデオフレームの一部分）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもある、ビデオブロックに区分され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【０００５】
[0005]  空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は２次元アレイで構成され、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
【発明の概要】
【０００６】
[0006]  概して、本開示では、ビデオコーディングのための長期参照ピクチャをシグナリングするための技法について説明する。参照ピクチャは、概して、他のピクチャのデータの時間的予測コーディングのための参照のために使用され得るピクチャに対応する。概して、長期参照ピクチャは、他の参照ピクチャ、たとえば、短期参照ピクチャよりも長い復号ピクチャバッファに記憶される。本開示では、長期参照ピクチャに関係するシグナリング、たとえば、ピクチャのスライスのスライスヘッダ中で長期参照ピクチャをシグナリングすることに関係する様々な技法について説明する。本開示の技法は、たとえば、効率および／または適用可能性に関する、スライスヘッダ中での長期参照ピクチャのシグナリング方法のための改善を提供し得る。
【０００７】
[0007]  一例では、方法が、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ：picture order count）値のベース最上位ビット（ＭＳＢ：most significant bit）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ：least significant bit）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号することとを含む。
【０００８】
[0008]  別の例では、ビデオデータを復号するためのデバイスが、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号することとを行うように構成されたビデオデコーダを含む。
【０００９】
[0009]  別の例では、デバイスが、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号するための手段と、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号するための手段と、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号するための手段とを含む。
【００１０】
[0010]  別の例では、コンピュータ可読記憶媒体が、実行されたとき、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号することとをプロセッサに行わせる命令を記憶している。
【００１１】
[0011]  別の例では、ビデオデータを符号化する方法が、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する現在ピクチャの少なくとも第２の部分とを符号化することと、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、を含む。
【００１２】
[0012]  別の例では、ビデオデータを符号化するためのデバイスが、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する現在ピクチャの少なくとも第２の部分とを符号化することと、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、を行うように構成されたビデオエンコーダを含む。
【００１３】
[0013]  別の例では、ビデオデータを符号化するためのデバイスは、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する現在ピクチャの少なくとも第２の部分とを符号化するための手段と、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化するための手段と、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を符号化するための手段と、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、を含む。
【００１４】
[0014]  別の例では、コンピュータ可読記憶媒体は、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する現在ピクチャの少なくとも第２の部分とを符号化することと、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、をプロセッサに行わせる命令を記憶している。
【００１５】
[0015]  １つまたは複数の例の詳細を添付の図面および以下の説明に記載する。他の特徴、目的、および利点は、その説明および図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１６】
【図１】[0016]  スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図２】[0017]  スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３】[0018]  スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0019]  コード化ビデオピクチャのシーケンスを示す概念図。
【図５】[0020]  本開示の技法による、長期参照ピクチャのためのピクチャ順序カウント（ＰＯＣ）値を符号化するための例示的な方法を示すフローチャート。
【図６】[0021]  本開示の技法による、長期参照ピクチャのためのＰＯＣ値を復号するための例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１７】
[0022]  概して、ビデオデータは、高速に連続してキャプチャまたは表示されるピクチャのシーケンスによって表される。いくつかの例では、キャプチャされるのではなく（またはそれに加えて）、たとえば、コンピュータグラフィックスを使用して、ピクチャまたはピクチャの一部分が生成され得ることを理解されたい。（概して、ピクチャがキャプチャまたは生成される順序と同じであり得る）ピクチャが表示されるべきである順序は、ピクチャがコーディングされる順序とは異なり得る。ピクチャの表示順序は、概して、ピクチャ順序カウント（ＰＯＣ）値によって表され、ピクチャのコーディング順序は、概して、フレーム番号（ｆｒａｍｅ＿ｎｕｍ）値によって表される。
【００１８】
[0023]  ピクチャのコーディングは、概して、ピクチャ中で生じる冗長データを利用することを伴う。たとえば、イントラ予測コーディングとも呼ばれる空間コーディングは、共通ピクチャのピクセル値の空間的に隣接するブロック間に生じる冗長性を利用する。別の例として、インター予測コーディングとも呼ばれる時間コーディングは、異なる時間インスタンスにおいてキャプチャ、生成、または表示される異なるピクチャ間に生じる冗長性を利用する。より詳細には、ピクチャは、イントラ予測またはインター予測のために指定され得るスライスに分割され得る。さらに、各スライスはブロック（たとえば、最大コーディングユニット（ＬＣＵ：largest coding unit））に分割され得、ブロックの各々は、対応するスライスがイントラ予測のために指定されているか、インター予測のために指定されているかに基づいて、さらに区分されるか、またはコーディングされ得るかのいずれかである。
【００１９】
[0024]  インター予測コーディングの例に関して、（「現在ピクチャ」とも呼ばれる）現在コーディングされているピクチャのブロックは参照ピクチャから予測され得る。ＷＤ７は、「参照ピクチャ」を、１に等しいｎａｌ＿ｒｅｆ＿ｆｌａｇをもつピクチャとして定義する。ｎａｌ＿ｒｅｆ＿ｆｌａｇは、ネットワークアブストラクションレイヤ（ＮＡＬ：network abstraction layer）ユニット中に含まれるデータが参照ピクチャとして扱われるべきであるかどうかを示す、ＮＡＬユニットのシンタックス要素である。ＷＤ７はまた、参照ピクチャが、復号順序での後続のピクチャの復号プロセスにおけるインター予測のために使用され得るサンプル（すなわち、ピクセル値）を含んでいることを規定する。
【００２０】
[0025]  さらに、ＷＤ７は長期参照ピクチャを短期参照ピクチャと区別する。たとえば、ＷＤ７は、長期参照ピクチャを、「長期参照のために使用される」とマークされた参照ピクチャとして定義する。ＷＤ７は、長期参照ピクチャがコード化ビデオシーケンスのためにすべてにおいてシグナリングされるかどうかをシーケンスパラメータセット（ＳＰＳ：sequence parameter set）中のフラグが示すことを規定する。ＷＤ７に従って、ビデオコーダは、スライスのスライスヘッダ中で長期参照ピクチャのＰＯＣ値の最下位ビット（ＬＳＢ）をシグナリングする。ＬＳＢをシグナリングすることは、完全ＰＯＣ値をシグナリングすることに対して、ビット節約を生じ得る。長期参照ピクチャと同じＬＳＢビットを有する２つ以上の参照ピクチャが復号ピクチャバッファ（ＤＰＢ：decoded picture buffer）中にある場合、ビデオコーダは、ＷＤ７に従って、長期参照ピクチャのＰＯＣ値の最上位ビット（ＭＳＢ）をシグナリングし得る。さらに、ＷＤ７に従って、ビデオコーダは、フラグを使用して、シグナリングされた長期参照ピクチャが参照のために現在ピクチャによって使用され得るかどうかを示し得る。
【００２１】
[0026]  ビデオコーダは、本明細書では「ベースＭＳＢ値」と呼ぶ、現在ピクチャのＭＳＢを維持し、ベースＭＳＢ値に対するオフセット値を使用して、たとえば、ピクチャｉのためのシンタックス要素ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］を使用して長期参照ピクチャｉのＭＳＢをシグナリングし得る。このシンタックス要素を、以下で「ＭＳＢサイクル」値と呼ぶ。言い換えれば、特定のピクチャのためのＰＯＣ値を計算するために、ビデオコーダは、（ピクチャのためのＬＳＢ）と連結された（ピクチャのためのベースＭＳＢ＋ＭＳＢサイクル）を計算し得る。
【００２２】
[0027]  ＷＤ７では、ＭＳＢサイクル値は、ベースＭＳＢ値と、ＭＳＢサイクルがシグナリングされていたピクチャ、すなわち、ピクチャｉのためのＭＳＢとの間の差としてコーディングされた。同じＬＳＢ値をもつ２つ以上の長期参照ピクチャがシグナリングされたときのみ、第１のそのような長期参照ピクチャのＭＳＢサイクルはそのようなものとしてシグナリングされることになり、長期参照ピクチャの残りについてのＭＳＢサイクル値は、互いに相対的オフセットとしてシグナリングされた。しかしながら、ＷＤ７に従う、長期参照ピクチャのこのシグナリングは、１つまたは複数の欠陥に遭遇し得る。たとえば、異なるＬＳＢ値をもつ２つの長期参照ピクチャがあるが、両方がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］をシグナリングされる場合、現在シンタックスは、上記で説明したように、すなわち、ベースＭＳＢ値に対するオフセットとしてｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］をシグナリングすることになる。しかしながら、本開示では、ピクチャのためのＭＳＢサイクル値間の差をシグナリングすることがより効率的であり得ることを認識する。
【００２３】
[0028]  ＷＤ７に従う、スライスヘッダ中での長期参照ピクチャのための識別データのシグナリングは、１つまたは複数の欠陥に遭遇し得る。たとえば、現在ピクチャが、ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＊Ｎ−１に等しいＰＯＣ値を有し、ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＊Ｎに等しいＰＯＣ値を有するピクチャが、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］がシグナリングされる第１の長期参照ピクチャである場合、ＷＤ７は、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］をシグナリングするための技法を提供しない。この場合、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］の値は−１（負値）であるべきであるが、そうはなり得ない。
【００２４】
[0029]  別の例として、異なるＬＳＢ値をもつ２つの長期参照ピクチャがあるが、両方がｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］をシグナリングされる場合、現在シンタックスは、そのようなものとしてｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］をシグナリングすることになる。しかしながら、本開示では、ピクチャのうちの１つについての差をシグナリングすることがより効率的であるだろうことを認識する。
【００２５】
[0030]  別の例として、長期参照ピクチャのＬＳＢと同じＬＳＢをシグナリングされる２つ以上の参照ピクチャがＤＰＢ中にあるとき、ＷＤ７は、ＬＴＲＰのＭＳＢサイクルもｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］シンタックス要素を使用してシグナリングされることを規定する。しかしながら、本開示では、現在ピクチャによって短期参照ピクチャとしてマークされるピクチャがＤＰＢ中にある場合、長期参照ピクチャの候補セット中に短期参照ピクチャを含むことにより、結局、必要とされるよりも多くのＭＳＢビットをシグナリングすることになり得ることを認識する。
【００２６】
[0031]  別の例として、ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］に等しいＰＯＣ  ＬＳＢを有するｎ個の参照ピクチャがＤＰＢ中にあるとき、およびｋがｎよりも小さいかまたはそれに等しいｋ個の長期参照ピクチャが、ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］に等しいＬＳＢを有する現在ピクチャ中でシグナリングされた場合、ＷＤ７において定義されたシンタックスは、すべてのｋ個のピクチャが、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］を１に設定されることを規定する。ただし、ｋ＝ｎの場合、本開示では、ビデオコーダが、長期参照ピクチャのすべてのｋについてｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］を１と設定する必要はなく、ただ、ｎ−１個のピクチャについてｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］を１と設定することで十分であろうことを認識する。本開示の技法は、以下の図に関してより詳細に説明するように、これらの欠陥のいずれかまたはすべてを克服し得る。概して、本開示はで、スライスヘッダ中での長期参照ピクチャのためのシグナリングを改善し得る様々な技法について説明する。
【００２７】
[0032]  図１は、スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を利用し得る例示的なビデオ符号化および復号システム１０を示すブロック図である。図１に示すように、システム１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを与えるソースデバイス１２を含む。特に、ソースデバイス１２は、コンピュータ可読媒体１６を介してビデオデータを宛先デバイス１４に与える。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォン、いわゆる「スマート」パッドなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備され得る。
【００２８】
[0033]  宛先デバイス１４は、コンピュータ可読媒体１６を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体１６は、符号化ビデオデータをソースデバイス１２から宛先デバイス１４に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体１６は、ソースデバイス１２が、符号化ビデオデータを宛先デバイス１４にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【００２９】
[0034]  いくつかの例では、符号化データは、出力インターフェース２２からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、Ｂｌｕ−ｒａｙ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス１２によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。
【００３０】
[0035]  宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス１４に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適である、ワイヤレスチャネル（たとえば、Ｗｉ−Ｆｉ（登録商標）接続）、ワイヤード接続（たとえば、ＤＳＬ、ケーブルモデムなど）、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
【００３１】
[0036]  本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーＨＴＴＰ（ＤＡＳＨ：dynamic adaptive streaming over HTTP）などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３２】
[0037]  図１の例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。本開示によれば、ソースデバイス１２のビデオエンコーダ２０は、スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス１２は、外部カメラなど、外部ビデオソース１８からビデオデータを受信し得る。同様に、宛先デバイス１４は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
【００３３】
[0038]  図１の図示のシステム１０は一例にすぎない。スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法は、任意のデジタルビデオ符号化および／または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ／デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス１２および宛先デバイス１４は、ソースデバイス１２が宛先デバイス１４に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス１２、１４は、デバイス１２、１４の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム１０は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのためのビデオデバイス１２とビデオデバイス１４との間の一方向または双方向のビデオ送信をサポートし得る。
【００３４】
[0039]  ソースデバイス１２のビデオソース１８は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および／またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース１８は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース２２によってコンピュータ可読媒体１６上に出力され得る。
【００３５】
[0040]  コンピュータ可読媒体１６は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Ｂｌｕ−ｒａｙディスク、または他のコンピュータ可読媒体などの記憶媒体（すなわち、非一時的記憶媒体）を含み得る。いくつかの例では、ネットワークサーバ（図示せず）は、ソースデバイス１２から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス１４に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス１２から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体１６は、様々な例において、様々な形態の１つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
【００３６】
[0041]  宛先デバイス１４の入力インターフェース２８は、コンピュータ可読媒体１６から情報を受信する。コンピュータ可読媒体１６の情報は、ビデオエンコーダ２０によって定義され、またビデオデコーダ３０によって使用される、ブロックおよび他のコード化ユニット、たとえば、ＧＯＰの特性および／または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス３２は、復号されたビデオデータをユーザに対して表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３７】
[0042]  ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコーディング（ＨＥＶＣ）規格などのビデオコーディング規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ  １０、アドバンストビデオコーディング（ＡＶＣ）と呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。図１には示されていないが、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００３８】
[0043]  ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４（ＡＶＣ）規格は、Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）として知られる共同パートナーシップの成果としてＩＳＯ／ＩＥＣ  Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＭＰＥＧ）とともにＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ（ＶＣＥＧ）によって策定された。いくつかの態様では、本開示で説明する技法は、Ｈ．２６４規格に概して準拠するデバイスに適用され得る。Ｈ．２６４規格は、ＩＴＵ−Ｔ  Ｓｔｕｄｙ  Ｇｒｏｕｐによる２００５年３月付けのＩＴＵ−Ｔ勧告Ｈ．２６４「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではＨ．２６４規格またはＨ．２６４仕様、あるいはＨ．２６４／ＡＶＣ規格または仕様と呼ぶことがある。Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ（ＪＶＴ）はＨ．２６４／ＭＰＥＧ−４  ＡＶＣへの拡張に取り組み続けている。
【００３９】
[0044]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４０】
[0045]  ＪＣＴ−ＶＣは、ＨＥＶＣ規格の開発に取り組んでいる。ＨＥＶＣ規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。ＨＭは、たとえば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３３個ものイントラ予測符号化モードを与え得る。
【００４１】
[0046]  概して、ＨＭの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット（ＬＣＵ）に分割され得ることを記述する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるＬＣＵのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分され得る。各ツリーブロックは、４分木に従ってコーディングユニット（ＣＵ）に分割され得る。概して、４分木データ構造はＣＵごとに１つのノードを含み、ルートノードがツリーブロックに対応する。ＣＵが４つのサブＣＵに分割された場合、ＣＵに対応するノードは４つのリーフノードを含み、リーフノードの各々はサブＣＵのうちの１つに対応する。
【００４２】
[0047]  ４分木データ構造の各ノードは、対応するＣＵのシンタックスデータを与え得る。たとえば、４分木のノードは、そのノードに対応するＣＵがサブＣＵに分割されるかどうかを示す分割フラグを含み得る。ＣＵのシンタックス要素は、再帰的に定義され得、ＣＵがサブＣＵに分割されるかどうかに依存し得る。ＣＵがさらに分割されない場合、そのＣＵはリーフＣＵと呼ばれる。本開示では、元のリーフＣＵの明示的分割が存在しない場合でも、リーフＣＵの４つのサブＣＵをリーフＣＵとも呼ぶ。たとえば、１６×１６サイズのＣＵがさらに分割されない場合、この１６×１６ＣＵが決して分割されなくても、４つの８×８サブＣＵをリーフＣＵとも呼ぶ。
【００４３】
[0048]  ＣＵは、ＣＵがサイズ差異を有さないことを除いて、Ｈ．２６４規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、（サブＣＵとも呼ばれる）４つの子ノードに分割され得、各子ノードは、今度は親ノードとなり、別の４つの子ノードに分割され得る。４分木のリーフノードと呼ばれる、最終的な分割されていない子ノードは、コーディングノードを備え、リーフＣＵとも呼ばれる。コード化ビットストリームに関連するシンタックスデータは、最大ＣＵ深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。それに応じて、ビットストリームは最小コーディングユニット（ＳＣＵ：smallest coding unit）をも定義し得る。本開示では、ＨＥＶＣのコンテキストにおけるＣＵ、ＰＵ、またはＴＵ、あるいは他の規格のコンテキストにおける同様のデータ構造（たとえば、Ｈ．２６４／ＡＶＣにおけるマクロブロックおよびそれのサブブロック）のいずれかを指すために「ブロック」という用語を使用する。
【００４４】
[0049]  ＣＵは、コーディングノードと、コーディングノードに関連する予測ユニット（ＰＵ：prediction unit）および変換ユニット（ＴＵ：transform unit）とを含む。ＣＵのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。ＣＵのサイズは、８×８のピクセルから最大６４×６４以上のピクセルをもつツリーブロックのサイズまでに及び得る。各ＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含んでいることがある。ＣＵに関連するシンタックスデータは、たとえば、ＣＵを１つまたは複数のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。ＰＵは、形状が非方形になるように区分され得る。ＣＵに関連するシンタックスデータは、たとえば、４分木に従ってＣＵを１つまたは複数のＴＵに区分することも記述し得る。ＴＵは、形状が方形または非方形（たとえば、矩形）であり得る。
【００４５】
[0050]  ＨＥＶＣ規格は、ＣＵごとに異なり得るＴＵに従う変換を可能にする。ＴＵは、一般に、区分されたＬＣＵについて定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。ＴＵは、一般にＰＵと同じサイズであるかまたはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造を使用してより小さいユニットに再分割され得る。ＲＱＴのリーフノードは変換ユニット（ＴＵ）と呼ばれることがある。ＴＵに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
【００４６】
[0051]  リーフＣＵは、１つまたは複数の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部または一部分に対応する空間的エリアを表し、そのＰＵの参照サンプルを取り出すためのデータを含み得る。その上、ＰＵは、予測に関係するデータを含む。たとえば、ＰＵがイントラモード符号化されるとき、ＰＵのデータは、ＰＵに対応するＴＵのイントラ予測モードを記述するデータを含み得る残差４分木（ＲＱＴ）中に含まれ得る。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、ＰＵのための１つまたは複数の動きベクトルを定義するデータを含み得る。ＰＵのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（たとえば、１／４ピクセル精度または１／８ピクセル精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルの参照ピクチャリスト（たとえば、リスト０、リスト１、またはリストＣ）を記述し得る。
【００４７】
[0052]  １つまたは複数のＰＵを有するリーフＣＵは、１つまたは複数の変換ユニット（ＴＵ）をも含み得る。変換ユニットは、上記で説明したように、（ＴＵ４分木構造とも呼ばれる）ＲＱＴを使用して指定され得る。たとえば、分割フラグは、リーフＣＵが４つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブＴＵに分割され得る。ＴＵがさらに分割されないとき、そのＴＵはリーフＴＵと呼ばれることがある。概して、イントラコーディングの場合、リーフＣＵに属するすべてのリーフＴＵは同じイントラ予測モードを共有する。すなわち、概して、リーフＣＵのすべてのＴＵの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフＴＵの残差値を、ＴＵに対応するＣＵの一部と元のブロックとの間の差分として計算し得る。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。したがって、ＴＵは、ＰＵよりも大きいことも小さいこともある。イントラコーディングの場合、ＰＵは、同じＣＵについて対応するリーフＴＵとコロケートされ得る。いくつかの例では、リーフＴＵの最大サイズは、対応するリーフＣＵのサイズに対応し得る。
【００４８】
[0053]  その上、リーフＣＵのＴＵはまた、残差４分木（ＲＱＴ）と呼ばれる、それぞれの４分木データ構造に関連付けられ得る。すなわち、リーフＣＵは、リーフＣＵがどのようにＴＵに区分されるかを示す４分木を含み得る。ＴＵ４分木のルートノードは概してリーフＣＵに対応し、ＣＵ４分木のルートノードは概してツリーブロック（またはＬＣＵ）に対応する。分割されないＲＱＴのＴＵはリーフＴＵと呼ばれる。概して、本開示では、特に明記しない限り、リーフＣＵおよびリーフＴＵに言及するためにそれぞれＣＵおよびＴＵという用語を使用する。
【００４９】
[0054]  ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ（ＧＯＰ）は、概して、ビデオピクチャのうちの一連の１つまたは複数を備える。ＧＯＰは、ＧＯＰ中に含まれるいくつかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ピクチャのうちの１つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはＣＵ内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
【００５０】
[0055]  一例として、ＨＭは、様々なＰＵサイズでの予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称的なＰＵサイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズでのインター予測のための非対称区分をサポートする。非対称区分では、ＣＵの一方向は区分されないが、他の方向は２５％と７５％とに区分される。２５％の区分に対応するＣＵの部分は、「ｎ」とその後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、または「Ｒｉｇｈｔ」という表示によって示される。したがって、たとえば、「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に区分された２Ｎ×２Ｎ  ＣＵを指す。
【００５１】
[0056]  本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、１６×１６（16x16）ピクセルまたは１６×１６（16 by 16）ピクセルを指すために互換的に使用され得る。概して、１６×１６ブロックは、垂直方向に１６ピクセルを有し（ｙ＝１６）、水平方向に１６ピクセルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮピクセルを有し、水平方向にＮピクセルを有し、ただし、Ｎは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはＮ×Ｍピクセルを備え得、ただし、Ｍは必ずしもＮに等しいとは限らない。
【００５２】
[0057]  ＣＵのＰＵを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ２０は、ＣＵのＴＵのための残差データを計算し得る。ＰＵは、（ピクセル領域とも呼ばれる）空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、ＴＵは、変換、たとえば、残差ビデオデータへの離散コサイン変換（ＤＣＴ）、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、ＰＵに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含むＴＵを形成し、次いで、ＴＵを変換して、ＣＵの変換係数を生成し得る。
【００５３】
[0058]  変換係数を生成するための任意の変換の後に、ビデオエンコーダ２０は、変換係数の量子化を実行し得る。量子化は、一般に、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にｎビット値がｍビット値に切り捨てられ得、ただし、ｎはｍよりも大きい。
【００５４】
[0059]  量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む２次元行列から１次元ベクトルを生成し得る。走査は、より高いエネルギー（したがってより低い周波数）の係数をアレイの前方に配置し、より低いエネルギー（したがってより高い周波数）の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ２０は、量子化変換係数を走査して、エントロピー符号化され得るシリアル化ベクトルを生成するために、あらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ２０は適応走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後に、ビデオエンコーダ２０は、たとえば、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context-adaptive variable length coding）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：context-adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コーディング、または別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【００５５】
[0060]  ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非０であるか否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられたコンテキストに基づき得る。
【００５６】
[0061]  本開示の技法によれば、ビデオエンコーダ２０およびビデオデコーダ３０は、たとえば、スライスヘッダ、（ピクチャパラメータセット（ＰＰＳ：picture parameter set）とシーケンスパラメータセット（ＳＰＳ）とを含む）パラメータセットなどの中で長期参照ピクチャを識別するためのデータをシグナリングするための改善された技法を利用するように構成され得る。概して、ビデオエンコーダ２０およびビデオデコーダ３０は、本開示の技法のいずれかまたはすべてを、単独でまたは任意の組合せで実行するように構成され得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、長期参照ピクチャのためのデルタＰＯＣ  ＭＳＢサイクルの負値をシグナリングするための方法を実行するように構成され得る。いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、差分コーディングを使用して、異なるＬＳＢ値をもつ長期参照ピクチャのためのデルタＰＯＣ  ＭＳＢサイクル値のより効率的なシグナリングのための方法を実行するように構成され得る。
【００５７】
[0062]  いくつかの例では、現在ピクチャのための短期ｒｅｆｅｒｎｅｃｅピクチャとしてシグナリングされる（または現在ピクチャの短期参照ピクチャセット中に含まれる）参照ピクチャは、不要なデルタＰＯＣ  ＭＳＢサイクル値を送ることを回避するために、長期参照ピクチャのためのデルタＰＯＣ  ＭＳＢサイクル値を送るべきかどうかを決定する際に利用される参照ピクチャから除外され得る。いくつかの例では、ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］に等しいＰＯＣ  ＬＳＢを有する（短期参照ピクチャを含むかまたは除外する）ｎ個の参照ピクチャがＤＰＢ中にあるとき、およびｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］に等しいＬＳＢ値を有するｎ個の長期参照ピクチャが現在ピクチャ中でシグナリングされたとき、ビデオエンコーダ２０はｎ−１個の長期参照ピクチャのためのデルタＰＯＣ  ＭＳＢサイクル値のみを送り得、ビデオデコーダ３０はそれのみを受信し得るが、このデータは、すべてのｎ個の長期参照ピクチャのために送られることが可能である。
【００５８】
[0063]  上記の様々な技法のいずれかまたはすべては、以下の例示的な実装形態に従って実装され得る。以下に示すように、長期参照ピクチャのＭＳＢサイクルを記述するＷＤ７のシンタックス要素が変更され得る。本開示では、アレイＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［］を導出するための例示的な方法についても説明する。本開示では、参照ピクチャセットのための例示的な復号プロセスについてさらに説明する。さらに、本開示では、シンタックス要素ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］およびｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］のセマンティクスについて説明する。ＷＤ７の他のシンタックス要素のシンタックスおよびセマンティクスは不変のままであり得る。
【００５９】
[0064]  表１に、スライスヘッダについてのシンタックスの例示的なセットを表す。下線付きのテキストは、ＷＤ７に対するスライスヘッダシンタックスの変更を表す。変更されたシンタックス要素のセマンティクス、ならびに他のシンタックス要素の変更されたセマンティクスについて以下で説明する。
【表１】
2015526026.tif 000003
【００６０】
[0065]  表１の例では、スライスヘッダシンタックスは追加の要素ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］を含む。このシンタックス要素のセマンティクスについて以下で説明する。いくつかの例では、ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］は、現在ピクチャの長期参照ピクチャセット中に含まれるｉ番目の長期参照ピクチャのピクチャ順序カウント値の最下位ビットの値を指定し得る。ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］シンタックス要素の長さはｌｏｇ２＿ｍａｘ＿ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ＿ｍｉｎｕｓ４＋４ビットであり得る。
【００６１】
[0066]  いくつかの例では、１に等しいｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］は、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］が存在することを指定し得る。０に等しいｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］は、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］が存在しないことを指定し得る。ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］に等しいピクチャ順序カウント値の最下位ビットをもつ、現在ピクチャによって「短期参照のために使用される」とマークされたピクチャを除いて、ｊ個の参照ピクチャが復号ピクチャバッファ中にあり、ただし、ｊは１よりも大きい整数値であるとき、およびｉ番目の長期参照ピクチャが、現在ピクチャによってシグナリングされるｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］に等しいピクチャ順序カウント値の最下位ビットをもつｊ番目の長期参照ピクチャでないとき、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ［ｉ］は１に等しく設定され得る。
【００６２】
[0067]  いくつかの例では、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］は、現在ピクチャの長期参照ピクチャセット中に含まれるｉ番目の長期参照ピクチャのピクチャ順序カウント値の最上位ビットの値を判断するために使用され得る。シグナリングされないとき、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］は値１を取り得る。
【００６３】
[0068]  変数ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］は、以下のアルゴリズムに従って導出され得、ここで、（７−３７）は、ＨＥＶＣのセクション、すなわち、ＷＤ７に対する変更されたセクションを指す。以下の例示的な導出は、ＭＳＢサイクルがそれらの値の昇順に送られることを暗示することに留意されたい。
【数１】
2015526026.tif 000004
【００６４】
[0069]  ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］＊ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＋ｐｉｃ＿ｏｒｄｅｒ＿ｃｎｔ＿ｌｓｂ−ｐｏｃ＿ｌｓｂ＿ｌｔ［ｉ］の値は、両端値を含む１から２24−１の範囲内にあり得る。代替的に、ＭＳＢサイクルは、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］の代わりに、ｕｅ（ｖ）として（すなわち、最初に左ビットをもつ符号なし整数指数ゴロムコード化（Exp-Golomb-coded）シンタックス要素として）ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓＮ［ｉ］をシグナリングすることによって送られ得、ただし、Ｎは１よりも大きい値である。代替的に、ＭＳＢサイクルは、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］の代わりに、ｓｅ（ｖ）として（すなわち、最初に左ビットをもつ符号付き整数指数ゴロムコード化シンタックス要素として）ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］をシグナリングすることによって送られ得る。
【００６５】
[0070]  言い換えれば、本開示の技法によれば、ベースＭＳＢ値に対してではなく、前にコーディングされた長期参照ピクチャ、たとえば、ピクチャｉ−１のＭＳＢサイクルに対して、ピクチャｉのためのＭＳＢサイクルを表す値（たとえば、ビットストリーム中で実際にシグナリングされるｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］）が計算され得る。これは、ピクチャｉのためのＭＳＢサイクルを表す値が、（ピクチャｉのためのＭＳＢとベースＭＳＢとの間の差である）ピクチャｉのための真のＭＳＢサイクル値を表すためにピクチャｉ−１のためのＭＳＢサイクル値に最終的に加算されると仮定すると、この値を、ピクチャｉのためのＰＯＣ値のＭＳＢとピクチャｉ−１のためのＰＯＣ値のＭＳＢとの間の差として計算することに数学的に等価である。これは、連続ＭＳＢサイクル値間の差を表す値が長期参照ピクチャのＭＳＢとベースＭＳＢとの間の差よりも小さくなり得るので、ビットストリーム中でビット節約を達成し得る。
【００６６】
[0071]  いくつかの例では、ビデオエンコーダ２０およびビデオデコーダ３０は、以下の順序付きステップに従って参照ピクチャセットのための導出プロセスおよびピクチャマーキングを実行し得、ここで、ＤＰＢは、ＷＤ７の付属書類Ｃに記載されている復号ピクチャバッファを指す。以下の例における短期参照ピクチャサブセット導出と長期参照ピクチャサブセット導出との順序は、ＷＤ７における順序に対してスワップされることに留意されたい。右マージンの近くの括孤付きの参照符号はＷＤ７のセクションを指すものとする。ＷＤ７のアルゴリズムに対するこのおよび他の変更は、以下の例において下線付きのテキストを使用して示されている。
【００６７】
１．以下が適用される。
【数２】
2015526026.tif 000005
【数３】
2015526026.tif 000006
【００６８】
２．ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒおよびＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ中に含まれるすべての参照ピクチャが「短期参照のために使用される」とマークされる。
【００６９】
３．以下が適用される。
【数４】
2015526026.tif 000007
【数５】
2015526026.tif 000008
【００７０】
４．ＲｅｆＰｉｃＳｅｔＬｔＣＵｒｒおよびＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ中に含まれるすべての参照ピクチャが「長期参照のために使用される」とマークされる。
【００７１】
５．ＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ、ＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒまたはＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌ中に含まれない、復号ピクチャバッファ中のすべての参照ピクチャが「参照のために使用されない」とマークされる。
【００７２】
[0072]  参照ピクチャセット中に含まれるが復号ピクチャバッファ中に存在しない、１つまたは複数の参照ピクチャがあり得る。「参照ピクチャなし」に等しいＲｅｆＰｉｃＳｅｔＳｔＦｏｌｌまたはＲｅｆＰｉｃＳｅｔＬｔＦｏｌｌ中のエントリは無視されるべきである。ａ）ビットストリーム中の第１のコード化ピクチャがＣＲＡピクチャであり、現在コード化ピクチャが、ビットストリーム中の第１のコード化ピクチャに関連するＴＦＤピクチャであり、ｂ）復号順序で現在コード化ピクチャに先行する前のＲＡＰピクチャがＢＬＡピクチャであり、現在コード化ピクチャが、ＢＬＡピクチャに関連するＴＦＤピクチャであるという２つの状態のうちのいずれかが真でない限り、「参照ピクチャなし」に等しいＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＢｅｆｏｒｅ、ＲｅｆＰｉｃＳｅｔＳｔＣｕｒｒＡｆｔｅｒおよびＲｅｆＰｉｃＳｅｔＬｔＣｕｒｒ中の各エントリについて、偶発的ピクチャ損失が推測されるべきである。
【００７３】
[0073]  したがって、本開示の技法によれば、ビデオコーダ（たとえば、ビデオエンコーダ２０および／またはビデオデコーダ３０）は、差分コーディングを使用して、異なるＬＳＢ値を有するピクチャのためのＭＳＢサイクル値を計算し得る。さらに、ビデオコーダは、ＭＳＢサイクルを表す値を使用して、長期参照ピクチャのうちの１つ、たとえば、ピクチャｉ−１またはピクチャｉに対する現在ピクチャをコーディングし得る。たとえば、ビデオコーダは、上記で説明した式（式７−３７）および／または上記で説明したアルゴリズムを使用して参照ピクチャのためのＰＯＣ値を判断し得る。
【００７４】
[0074]  したがって、ビデオエンコーダ２０およびビデオデコーダ３０は、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値をコーディングすることと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値をコーディングすることと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分をコーディングすることとを行うように構成されたビデオコーダの例を表す。
【００７５】
[0075]  たとえば、ビデオエンコーダ２０は、長期参照ピクチャが異なるＬＳＢ値を有するときでも、現在ピクチャのための、（ＭＳＢ値とも呼ばれる）ＭＳＢサイクル値がシグナリングされるべきである２つ以上の長期参照ピクチャがあるかどうかを判断し得る。異なるＬＳＢ値を有するが、ＭＳＢサイクル値がシグナリングされるべきである、２つの（またはそれ以上の）長期参照ピクチャがある場合、ビデオエンコーダ２０は、第１の長期参照ピクチャのためのＭＳＢサイクル値に対する差（またはデルタ）として第２の長期参照ピクチャのためのＭＳＢサイクル値を表すデータを符号化し得る。同様に、ビデオエンコーダ２０は、現在ピクチャのためのＰＯＣ値のベースＭＳＢ値に対する差として第１の長期参照ピクチャのためのＭＳＢサイクル値を表すデータを符号化し得る。ビデオエンコーダ２０は、第１の長期参照ピクチャと第２の長期参照ピクチャとのうちの少なくとも１つに対する現在ピクチャの少なくとも一部分（たとえば、１つまたは複数のブロック）をさらに符号化し得る。
【００７６】
[0076]  したがって、ビデオデコーダ３０が長期参照ピクチャのためのＭＳＢサイクル値を示すデータを受信したとき、ビデオデコーダ３０は、第１の長期参照ピクチャのためのＰＯＣ値のベースＭＳＢ間の差を表す値を復号し、その値をベースＭＳＢに加算することによって第１の長期参照ピクチャのためのＰＯＣ値のＭＳＢを計算し得る。ビデオデコーダ３０はまた、第２の長期参照ピクチャのためのＰＯＣ値のＭＳＢと第１の長期参照ピクチャのためのＰＯＣ値のＭＳＢとの間の差を表す値を復号し、その値を第１の長期参照ピクチャのためのＰＯＣ値のＭＳＢに加算することによって第２の長期参照ピクチャのためのＰＯＣ値のＭＳＢを計算し得る。同様に、ビデオデコーダ３０は、長期参照ピクチャのためのＰＯＣ値のＭＳＢを使用して、第１の長期参照ピクチャと第２の長期参照ピクチャとのうちの少なくとも１つに対する現在ピクチャの少なくとも一部分を復号し得る。
【００７７】
[0077]  ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、適用可能なとき、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダまたはデコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ／デコーダ（コーデック）の一部として統合され得る。ビデオエンコーダ２０および／またはビデオデコーダ３０を含むデバイスは、集積回路、マイクロプロセッサ、および／またはセルラー電話などのワイヤレス通信デバイスを備え得る。
【００７８】
[0078]  図２は、スライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を実装し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
【００７９】
[0079]  図２に示すように、ビデオエンコーダ２０は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図２の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、参照ピクチャメモリ６４と、加算器５０と、変換処理ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。モード選択ユニット４０は、今度は、動き補償ユニット４４と、動き推定ユニット４２と、イントラ予測ユニット４６と、パーティションユニット４８とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図２に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。追加のループフィルタ（ループ内またはループ後）もデブロッキングフィルタに加えて使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、（ループ内フィルタとして）加算器５０の出力をフィルタ処理し得る。
【００８０】
[0080]  符号化プロセス中に、ビデオエンコーダ２０はコーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット４２および動き補償ユニット４４は、時間的予測を行うために、１つまたは複数の参照フレーム中の１つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット４６は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の１つまたは複数の隣接ブロックに対して、受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ２０は、たとえば、ビデオデータの各ブロックに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
【００８１】
[0081]  さらに、パーティションユニット４８は、前のコーディングパスにおける前の区分方式の評価に基づいてビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット４８は、初めにフレームまたはスライスをＬＣＵに区分し、レートひずみ分析（たとえば、レートひずみ最適化）に基づいてＬＣＵの各々をサブＣＵに区分し得る。モード選択ユニット４０は、ＬＣＵをサブＣＵに区分することを示す４分木データ構造をさらに生成し得る。４分木のリーフノードＣＵは、１つまたは複数のＰＵと、１つまたは複数のＴＵとを含み得る。
【００８２】
[0082]  モード選択ユニット４０は、たとえば、誤差結果に基づいてコーディングモード、すなわち、イントラまたはインターのうちの１つを選択し、残差ブロックデータを生成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器５０に与え、参照フレームとして使用するための符号化ブロックを再構成するために、得られたイントラコード化ブロックまたはインターコード化ブロックを加算器６２に与え得る。モード選択ユニット４０はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報など、シンタックス要素をエントロピー符号化ユニット５６に与える。本開示の技法によれば、モード選択ユニット４０は、参照ピクチャが、長期参照ピクチャまたは短期参照ピクチャ、ならびに長期参照ピクチャのためのピクチャ順序カウント（ＰＯＣ）値の最下位ビット（ＬＳＢ）として扱われるべきかどうかなどの参照ピクチャ識別情報をエントロピー符号化ユニット５６に与え得る。本開示の技法によれば、エントロピー符号化ユニット５６、またはビデオエンコーダ２０の別のユニットは、スライスのスライスヘッダ中にそのような参照ピクチャ識別情報を含み得る。代替的に、エントロピー符号化ユニット５６は、ピクチャパラメータセット（ＰＰＳ）またはシーケンスパラメータセット（ＳＰＳ）など、パラメータセット中に（たとえば、どの参照ピクチャが長期参照ピクチャであるかを示すための）参照ピクチャ識別情報を含み得る。
【００８３】
[0083]  上記で説明したように、長期参照ピクチャは、長期参照ピクチャのためのＰＯＣ値のＬＳＢを使用してシグナリングされ得る。たとえば、エントロピー符号化ユニット５６は、スライスヘッダ、ＰＰＳ、またはＳＰＳ中で参照ピクチャのためのＰＯＣ値のＬＳＢをシグナリングすることによって、参照ピクチャが長期参照ピクチャであることを示し得る。このようにしてシグナリングされない他の参照ピクチャは短期参照ピクチャとして扱われ得る。
【００８４】
[0084]  長期参照ピクチャのための識別情報をシグナリングすることによって、エントロピー符号化ユニット５６は、どの参照ピクチャが、比較的長期時間期間の間、ビデオデコーダ（たとえば、ビデオデコーダ３０）の復号ピクチャバッファ（ＤＰＢ）に記憶されるべきであり、どの参照ピクチャがより早く復号ピクチャバッファから除去され得るかを示すデータを与える。概して、長期参照ピクチャは、比較的遅い復号順序時間を有するピクチャをコーディングするための参照ピクチャとして使用され得る。したがって、長期参照ピクチャのための識別情報をシグナリングすることは、参照ピクチャがそれ自体のＤＰＢから廃棄され得るか否かをビデオデコーダが判断することができるように、ビデオデコーダ、たとえば、ビデオデコーダ３０に情報を与える。
【００８５】
[0085]  動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在フレーム（または他のコード化ユニット）内でコーディングされている現在ブロックに対する参照フレーム（または他のコード化ユニット）内の予測ブロックに対する現在ビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ２０は、参照ピクチャの１／４ピクセル位置、１／８ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット４２は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
【００８６】
[0086]  動き推定ユニット４２は、ＰＵの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのＰＵのための動きベクトルを計算する。参照ピクチャは、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ６４に記憶された１つまたは複数の参照ピクチャを識別する。参照ピクチャメモリ６４は長期参照ピクチャと短期参照ピクチャの両方を記憶し得る。動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。
【００８７】
[0087]  動き補償ユニット４４によって実行される動き補償は、動き推定ユニット４２によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。この場合も、いくつかの例では、動き推定ユニット４２と動き補償ユニット４４とは機能的に統合され得る。現在ビデオブロックのＰＵのための動きベクトルを受信すると、動き補償ユニット４４は、参照ピクチャリストのうちの１つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器５０は、以下で説明するように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット４２はルーマ成分に対して動き推定を実行し、動き補償ユニット４４は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。
【００８８】
[0088]  モード選択ユニット４０はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ３０が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。たとえば、ビデオデータのブロックのための動きベクトルを計算した後（動きベクトルは参照ピクチャ中の参照ブロックを指す）、モード選択ユニット４０は、参照ピクチャが記憶された参照ピクチャリスト、および参照ピクチャリスト中の参照ピクチャの位置に対応する参照ピクチャリストへのインデックスなど、動きパラメータの値を生成し得る。これらおよび他の動きパラメータは、動きベクトルコーディングモードに基づいてコーディングされ得る。たとえば、高度動きベクトル予測（ＡＭＶＰ：advanced motion vector prediction）を使用して、エントロピー符号化ユニット５６は、（現在ブロックへの空間ネイバーまたは時間ネイバーに対応する）動きベクトル予測子を識別し、参照ピクチャリストと、参照ピクチャインデックスと、水平および垂直動きベクトル差分値とを明示的にシグナリングし得る。別の例として、マージモードを使用して、エントロピー符号化ユニット５６は、マージインデックスを使用して動きベクトル予測子を識別し得、参照ピクチャリストおよび参照インデックスは、動きベクトル予測子から継承され得る（たとえば、隣接ブロックの動き情報、空間ネイバーであるか、時間ネイバーであるか）。
【００８９】
[0089]  ビデオエンコーダ２０は、参照ピクチャがＤＰＢから廃棄されるべきでないことを示すとともに、参照ピクチャリスト構成プロセス中に使用され得る情報を与えるために、これらのどのピクチャが長期参照ピクチャであるかを示す情報をシグナリングする。このようにして、ビデオデコーダ３０などのビデオデコーダは、インター予測されたブロックのための動き情報として使用される参照インデックスが正しい参照ピクチャを正確に指すように、参照ピクチャリストを正確に再生することが可能であり得る。
【００９０】
[0090]  上記のように、長期参照ピクチャは、長期参照ピクチャのＰＯＣ値を使用してシグナリングされ得る。ＰＯＣ値は、概して、必ずしも（ビットストリーム順序とも呼ばれる）復号順序と同じであるとは限らない、ピクチャの（出力順序とも呼ばれる）表示順序を示すデータに対応する。長期参照ピクチャのためのＰＯＣ値は、最下位ビット（ＬＳＢ）のみを使用してシグナリングされ得る。ＭＳＢを表すデータは、時々、たとえば、２つ以上の長期参照ピクチャが同じＬＳＢを有するとき、シグナリングされ得る。いくつかの事例では、ビデオエンコーダ２０は、ＭＳＢデータがシグナリングされるピクチャのうちの少なくとも２つが異なるＬＳＢを有するときでも、２つの（またはそれ以上の）ピクチャのためのＭＳＢを表すデータがシグナリングされる必要があると判断し得る。
【００９１】
[0091]  本開示の技法によれば、ビデオエンコーダ２０は、ＭＳＢを表すデータを、差、たとえば、ＭＳＢの１つのセットとＭＳＢの別のセットとの間の差としてシグナリングし得る。たとえば、表１に関して上記で説明したように、ビデオエンコーダ２０は、ベースＭＳＢ値と長期参照ピクチャのためのＭＳＢ値との間の差を計算し得る。エントロピー符号化ユニット５６は、この差を、長期参照ピクチャのためのＭＳＢを表す値としてシグナリングし得る。ベースＭＳＢ値は現在ピクチャのＰＯＣ値のＭＳＢに対応し得る。代替的に、ベースＭＳＢ値は、瞬時デコーダリフレッシュ（ＩＤＲ：instantaneous decoder refresh）ピクチャなど、別のピクチャのＰＯＣ値のＭＳＢに対応し得る。
【００９２】
[0092]  １つの長期参照ピクチャのための差分値を符号化した後、エントロピー符号化ユニット５６は、別の長期参照ピクチャのためのＰＯＣ値のＭＳＢと以前の長期参照ピクチャのためのＰＯＣ値のＭＳＢとの間の差を計算し得る。同様に、エントロピー符号化ユニット５６は、ビデオデコーダ３０などのビデオデコーダが後続の長期参照ピクチャのためのＰＯＣ値のＭＳＢを再構成することができるように、後続の長期参照ピクチャのためのこの第２の差分値をシグナリングし得る。このようにして、ビデオエンコーダ２０は、たとえば、ベースＭＳＢ値に対する、または他の長期参照ピクチャのＰＯＣ値のための前に符号化されたＭＳＢに対する差分値として、長期参照ピクチャのためのＰＯＣ値のＭＳＢを表すデータを符号化するように構成され得る。さらに、ビデオエンコーダ２０は、ＰＯＣ値のＬＳＢが異なるときでも、これらの差分値をシグナリングし得る。
【００９３】
[0093]  上記で説明したように、いくつかの例では、ビデオエンコーダ２０は、１つまたは複数の長期参照ピクチャのためのＰＯＣ値のＭＳＢとベースＭＳＢ値（または他の参照ＭＳＢ）との間の差を表す差分値の負整数値を符号化するように構成され得る。たとえば、エントロピー符号化ユニット５６（またはビデオエンコーダ２０の別のユニット）が、現在ピクチャがＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＊Ｎ−１に等しいＰＯＣ値を有し、ＭａｘＰｉｃＯｒｄｅｒＣｎｔＬｓｂ＊Ｎに等しいＰＯＣ値を有するピクチャが、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］がシグナリングされる第１のＬＴＲＰであると判断したとき、エントロピー符号化ユニット５６はＬＴＲＰのＰＯＣ値のＭＳＢのための−１の値をコーディングし得る。
【００９４】
[0094]  さらに、または代替として、ビデオエンコーダ２０は、参照ピクチャセット（または復号ピクチャバッファ）に現在記憶されている参照ピクチャの総数および／または参照ピクチャセット（または復号ピクチャバッファ）に現在記憶されている短期参照ピクチャの数に少なくとも部分的に基づいて、長期参照ピクチャのためのＰＯＣ値を表すデータを符号化するように構成され得る。たとえば、ビデオエンコーダ２０は、長期参照ピクチャと同じＰＯＣ  ＬＳＢ値を有する任意の他の長期参照ピクチャが参照ピクチャセット（または復号ピクチャバッファ）中にあるかどうかに基づいて長期参照ピクチャのためのＰＯＣ  ＭＳＢサイクル値をシグナリングすべきかどうかを判断するように構成され得る。したがって、長期参照ピクチャと同じＰＯＣ  ＬＳＢを有する１つまたは複数の短期参照ピクチャのみが参照ピクチャセット中にあるとき、ビデオエンコーダ２０は、長期参照ピクチャのためのＰＯＣ  ＭＳＢサイクル値を符号化することを回避し得る。
【００９５】
[0095]  さらに、または代替として、ビデオエンコーダ２０は、長期参照ピクチャのためのＰＯＣ値と同じＬＳＢを有するＮ個の長期参照ピクチャが復号ピクチャバッファ中にあるとき、およびビデオエンコーダ２０が長期参照ピクチャのＮ−１個のためのデルタＰＯＣ  ＭＳＢサイクル値をすでに符号化したとき、長期参照ピクチャのためのデルタＰＯＣ  ＭＳＢサイクル値をコーディングしないと判断し得る。
【００９６】
[0096]  イントラ予測ユニット４６は、上記で説明したように、動き推定ユニット４２と動き補償ユニット４４とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット４６は、現在ブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット４６は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット４６（または、いくつかの例では、モード選択ユニット４０）は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
【００９７】
[0097]  たとえば、イントラ予測ユニット４６は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ（または誤差）の量、ならびに符号化ブロックを生成するために使用されるビットレート（すなわち、ビット数）を判断する。イントラ予測ユニット４６は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
【００９８】
[0098]  ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に与え得る。エントロピー符号化ユニット５６は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ２０は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル（コードワードマッピングテーブルとも呼ばれる）と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを送信ビットストリーム中に含め得る。
【００９９】
[0099]  ビデオエンコーダ２０は、コーディングされている元のビデオブロックから、モード選択ユニット４０からの予測データを減算することによって残差ビデオブロックを形成する。加算器５０は、この減算演算を実行する１つまたは複数の構成要素を表す。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット５２は、概念的にＤＣＴと同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット５２は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０１００】
[0100]  量子化の後に、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コーディング（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ）、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット５６によるエントロピーコーディングの後に、符号化ビットストリームは、別のデバイス（たとえば、ビデオデコーダ３０）に送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。
【０１０１】
[0101]  逆量子化ユニット５８および逆変換ユニット６０は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを参照ピクチャメモリ６４のフレームのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器６２は、再構成された残差ブロックを、動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット４２および動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１０２】
[0102]  図２のビデオエンコーダ２０は、ビデオデータの現在ピクチャのためのデータをコーディングすることと、ここにおいて、コーディングされたデータが、現在ピクチャのための長期参照ピクチャのためのピクチャ順序カウント（ＰＯＣ）最上位ビット（ＭＳＢ）サイクルのための負整数値を表す、ＭＳＢサイクルのための負整数値に少なくとも部分的に基づいて長期参照ピクチャに対する現在ピクチャの少なくとも一部分をコーディングすることとを行うように構成され得るビデオエンコーダの一例を表す。
【０１０３】
[0103]  図２のビデオエンコーダ２０はまた、追加または代替として、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する現在ピクチャの少なくとも第２の部分とを符号化することと、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、を行うように構成され得るビデオエンコーダの一例を表す。
【０１０４】
[0104]  図２のビデオエンコーダ２０はまた、追加または代替として、利用可能な参照ピクチャの総数のうち、現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数を判断することと、参照ピクチャの総数と短期参照ピクチャとしてマークされた参照ピクチャの数とに基づいて現在ピクチャのための長期参照ピクチャのための最上位ビット（ＭＳＢ）値をコーディングすることと、利用可能な参照ピクチャのうちの少なくとも１つに対する現在ピクチャの少なくとも一部分をコーディングすることとを行うように構成され得るビデオエンコーダの一例を表す。
【０１０５】
[0105]  図２のビデオエンコーダ２０はまた、追加または代替として、等しい最下位ビット（ＬＳＢ）値をもつピクチャ順序カウント（ＰＯＣ）値を有する、現在ピクチャのための参照ピクチャの数Ｎを判断することと、現在ピクチャの参照ピクチャセットがＮ個の長期参照ピクチャを含み得ると判断することと、それらの判断に基づいて、長期参照ピクチャのうちの多くともＮ−１個のためのデルタＰＯＣ最上位ビット（ＭＳＢ）サイクル値をコーディングすることとを行うように構成され得るビデオエンコーダの一例を表す。
【０１０６】
[0106]  図３は、ライスヘッダ中での長期参照ピクチャの改善されたシグナリングのための技法を実装し得るビデオデコーダ３０の一例を示すブロック図である。図３の例では、ビデオデコーダ３０は、エントロピー復号ユニット７０と、動き補償ユニット７２と、イントラ予測ユニット７４と、逆量子化ユニット７６と、逆変換ユニット７８と、参照ピクチャメモリ８２と、加算器８０とを含む。ビデオデコーダ３０は、いくつかの例では、ビデオエンコーダ２０（図２）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット７４は、エントロピー復号ユニット７０から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
【０１０７】
[0107]  復号プロセス中に、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット７０は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット７０は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット７２に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信し得る。
【０１０８】
[0108]  ビデオスライスがイントラコード化（Ｉ）スライスとしてコーディングされたとき、イントラ予測ユニット７４は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化（すなわち、Ｂ、ＰまたはＧＰＢ）スライスとしてコーディングされたとき、動き補償ユニット７２は、エントロピー復号ユニット７０から受信された動きベクトルと他のシンタックス要素とに基づいて、現在ビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから生成され得る。ビデオデコーダ３０は、参照ピクチャメモリ８２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して、参照ピクチャリスト、リスト０およびリスト１を構成し得る。
【０１０９】
[0109]  ビデオデコーダ３０は、ビデオデコーダ３０がそこから参照ピクチャリストを構成する参照ピクチャセットを判断し得る。いくつかの例では、たとえば、ビデオデコーダ３０がＨＥＶＣに準拠するとき、ビデオデコーダ３０は、ＨＥＶＣ  ＷＤ７のセクション８．３．３に従って参照ピクチャリストを構成し得る。参照ピクチャセットは、概して、復号ピクチャバッファに、たとえば、参照ピクチャメモリ８２内に現在記憶されている参照ピクチャに対応する。参照ピクチャセットのいくつかの参照ピクチャは短期参照ピクチャとしてマークされ得、参照ピクチャセットの他の参照ピクチャは長期参照ピクチャとしてマークされ得る。概して、長期参照ピクチャは、たとえば、参照ピクチャのためのコード化ビデオデータをカプセル化するＮＡＬユニットのネットワークアブストラクションレイヤ（ＮＡＬ）ユニットヘッダ中で「長期参照のために使用される」とマークされる。
【０１１０】
[0110]  本開示の技法によれば、ビデオデコーダ３０は、差分コーディングを使用して長期参照ピクチャのための識別子を復号するように構成され得る。たとえば、第１の長期参照ピクチャ（たとえば、ピクチャのシーケンス中に０のインデックス値を有する長期参照ピクチャ）の場合、ビデオデコーダ３０は、長期参照ピクチャのためのＰＯＣ  ＭＳＢと現在ピクチャのためのＰＯＣ  ＭＳＢとの間の差を示す差分値を復号し得る。現在ピクチャのためのＰＯＣ  ＭＳＢは「ベースＭＳＢ」と呼ばれることがある。他の長期参照ピクチャ（たとえば、ピクチャのシーケンス中に０よりも大きいインデックス値を有する長期参照ピクチャ）の場合、ビデオデコーダ３０は、長期参照ピクチャのためのＰＯＣ  ＭＳＢと前の長期参照ピクチャのためのＰＯＣ  ＭＳＢとの間の差を示す差分値を復号し得る。それについてのＰＯＣ  ＭＳＢが現在判断されている長期参照ピクチャがｉのインデックス値を有すると仮定すると、ビデオデコーダ３０は、ＰＯＣ  ＭＳＢを判断するために、両端値を含む０とｉ−１との間の任意の値のインデックス値を有する長期参照ピクチャのＰＯＣ  ＭＳＢを指し得る。すなわち、ビデオデコーダ３０は、ｊのインデックス値を有する長期参照ピクチャのＰＯＣ  ＭＳＢを指し得、ただし、ｊは、両端値を含む０とｉ−１との間である。いくつかの事例では、差分値は負整数値を有し得る。
【０１１１】
[0111]  長期参照ピクチャのためのＰＯＣ  ＭＳＢ間の差を表す差分値を受信した後、ビデオデコーダ３０は、差分値が適用される（すなわち、差分値が、長期参照ピクチャのためのＰＯＣ  ＭＳＢを再構成するために加算されるべきである）ＰＯＣ  ＭＳＢ値を判断し得る。たとえば、長期参照ピクチャが、（長期参照ピクチャがピクチャのシーケンス中の順序の第１の長期参照ピクチャであることを示す）０のインデックス値を有する場合、ビデオデコーダ３０は、現在ピクチャのＰＯＣ  ＭＳＢ値をベースＭＳＢ値として使用し、ベースＭＳＢ値に、長期参照ピクチャのためにシグナリングされた差分値を加算し得る。別の例として、長期参照ピクチャが、（長期参照ピクチャがピクチャのシーケンス中の順序の第１の長期参照ピクチャでないことを示す）０よりも大きいインデックス値を有する場合、インデックス値がｉであると仮定すると、ビデオデコーダ３０は、シグナリングされた差分値を、インデックス値ｉ−１を有する長期参照ピクチャのためのＰＯＣ  ＭＳＢに加算し得る。
【０１１２】
[0112]  このようにして、ビデオデコーダ３０は、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号し、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号し得、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する。同様に、ビデオデコーダ３０は、第１の値（すなわち、第１の差分値）を使用して、第１の長期参照ピクチャのための第１のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］として計算し、第２の長期参照ピクチャのための第２のＭＳＢサイクル値をＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］として計算し得、ここにおいて、第２のＭＳＢサイクル値を計算することが、ＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ−１］と第２の値（すなわち、第２の差分値）とに基づいてＤｅｌｔａＰｏｃＭＳＢＣｙｃｌｅＬｔ［ｉ］を計算することを備える。
【０１１３】
[0113]  さらに、ビデオデコーダ３０は、長期参照ピクチャのＰＯＣ値のためのＬＳＢを復号し得る。ＬＳＢは、現在ピクチャのためのスライスのスライスヘッダ中、現在ピクチャを含むシーケンスのためのシーケンスパラメータセット（ＳＰＳ）中、現在ピクチャのためのピクチャパラメータセット（ＰＰＳ）中、または他の場所でシグナリングされ得る。ビデオデコーダ３０は、長期参照ピクチャの完全ＰＯＣ値を判断するために、長期参照ピクチャのＰＯＣ値のためのＭＳＢとＬＳＢとを連結し得る。次いで、ビデオデコーダ３０は、ＰＯＣ値によって識別された長期参照ピクチャを含む参照ピクチャリストをアセンブルし得る。このようにして、ビデオデコーダ３０は、動き情報（たとえば、参照ピクチャリストと参照インデックスとを識別するデータ）を使用して、インター予測を実行することができる。たとえば、以下で説明するように、動き補償ユニット７２は、参照ピクチャリストのうちの１つ中のピクチャのうちの１つに対応する、参照ピクチャを識別する動き情報に少なくとも部分的に基づいて、現在ピクチャのブロックのための参照ブロックを判断し得る。参照ピクチャは、長期参照ピクチャのうちの１つに、または短期参照ピクチャに対応し得る。
【０１１４】
[0114]  動き補償ユニット７２は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット７２は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード（たとえば、イントラまたはインター予測）と、インター予測スライスタイプ（たとえば、Ｂスライス、Ｐスライス、またはＧＰＢスライス）と、スライスの参照ピクチャリストのうちの１つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在ビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
【０１１５】
[0115]  動き補償ユニット７２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット７２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット７２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１１６】
[0116]  逆量子化ユニット７６は、ビットストリーム中で与えられ、エントロピー復号ユニット７０によって復号された量子化変換係数を逆量子化（inverse quantize）、すなわち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中の各ビデオブロックについてビデオデコーダ３０によって計算される量子化パラメータＱＰＹの使用を含み得る。逆変換ユニット７８は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆ＤＣＴ、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【０１１７】
[0117]  動き補償ユニット７２が、動きベクトルと他のシンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット７８からの残差ブロックを動き補償ユニット７２によって生成された対応する予測ブロックと加算することによって、復号されたビデオブロックを形成する。加算器８０は、この加算演算を実行する１つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも（コーディングループ中またはコーディングループ後のいずれかで）使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ８２に記憶される。参照ピクチャメモリ８２はまた、図１のディスプレイデバイス３２などのディスプレイデバイス上での後の表示のための、復号ビデオを記憶する。
【０１１８】
[0118]  このようにして、図３のビデオデコーダ３０は、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号することとを行うように構成され得るビデオデコーダの一例を表す。
【０１１９】
[0119]  図３のビデオデコーダ３０はまた、追加または代替として、ビデオデータの現在ピクチャのためのデータを復号することと、ここにおいて、復号データが、現在ピクチャのための長期参照ピクチャ関係詞のためのピクチャ順序カウント（ＰＯＣ）最上位ビット（ＭＳＢ）サイクルのための負整数値を表す、ＭＳＢサイクルのための負整数値に少なくとも部分的に基づいて長期参照ピクチャに対する現在ピクチャの少なくとも一部分を復号することとを行うように構成され得るビデオデコーダの一例を表す。
【０１２０】
[0120]  図３のビデオデコーダ３０はまた、追加または代替として、利用可能な参照ピクチャの総数のうち、現在ピクチャのための短期参照ピクチャとしてマークされた参照ピクチャの数を判断することと、参照ピクチャの総数と短期参照ピクチャとしてマークされた参照ピクチャの数とに基づいて現在ピクチャのための長期参照ピクチャのための最上位ビット（ＭＳＢ）値を復号することと、利用可能な参照ピクチャのうちの少なくとも１つに対する現在ピクチャの少なくとも一部分を復号することとを行うように構成され得るビデオデコーダの一例を表す。
【０１２１】
[0121]  図３のビデオデコーダ３０はまた、追加または代替として、等しい最下位ビット（ＬＳＢ）値をもつピクチャ順序カウント（ＰＯＣ）値を有する、現在ピクチャのための参照ピクチャの数Ｎを判断することと、参照ピクチャセットがＮ個の長期参照ピクチャを含み得ると判断することと、それらの判断に基づいて、長期参照ピクチャのうちの多くともＮ−１個のためのデルタＰＯＣ最上位ビット（ＭＳＢ）サイクル値を復号することとを行うように構成され得るビデオデコーダの一例を表す。
【０１２２】
[0122]  図４は、コード化ビデオピクチャ１００〜１３２のシーケンスを示す概念図である。ピクチャは、階層予測構造内の位置を示すために異なる陰影を付けられている。たとえば、ピクチャ１００、１１６、および１３２は、ピクチャ１００、１１６、１３２が階層予測構造の最上位にあることを表すために黒の陰影を付けられている。ピクチャ１００、１１６、１３２は、たとえば、単一の方向にある他のピクチャ（たとえば、Ｐピクチャ）から予測されるイントラコード化ピクチャまたはインターコード化ピクチャを備え得る。イントラコード化の場合、ピクチャ１００、１１６、１３２は同じピクチャ内のデータからのみ予測される。インターコード化の場合、ピクチャ１１６は、たとえば、ピクチャ１１６からピクチャ１００への破線矢印で示すように、ピクチャ１００のデータに対してコーディングされ得る。ピクチャ１１６、１３２は、それぞれ、ピクチャグループ（ＧＯＰ）１３４、１３６のキーピクチャを形成する。
【０１２３】
[0123]  ピクチャ１０８、１２４は、それらが、符号化階層においてピクチャ１００、１１６、および１３２の次であることを示すために暗い陰影を付けられている。ピクチャ１０８、１２４は、双方向、インターモード予測符号化ピクチャを備え得る。たとえば、ピクチャ１０８はピクチャ１００および１１６のデータから予測され得、ピクチャ１２４はピクチャ１１６および１３２から予測され得る。ピクチャ１０４、１１２、１２０、および１２８は、それらが、符号化階層においてピクチャ１０８および１２４の次であることを示すために、明るい陰影を付けられている。ピクチャ１０４、１１２、１２０、および１２８はまた、双方向、インターモード予測符号化ピクチャを備え得る。たとえば、ピクチャ１０４はピクチャ１００および１０８から予測され得、ピクチャ１１２はピクチャ１０８および１１６から予測され得、ピクチャ１２０はピクチャ１１６および１２４から予測され得、ピクチャ１２８はピクチャ１２４および１３２から予測され得る。概して、参照ピクチャが依然として復号ピクチャバッファ中でバッファされると仮定し、参照ピクチャが現在コーディングされているピクチャよりも早くコーディングされたと仮定すると、階層においてより低いピクチャは、階層においてより高い参照ピクチャから符号化され得る。
【０１２４】
[0124]  最後に、ピクチャ１０２、１０６、１１０、１１４、１１８、１２２、１２６、および１３０は、これらのピクチャが符号化階層において最下位であることを示すために白い陰影を付けられている。ピクチャ１０２、１０６、１１０、１１４、１１８、１２２、１２６、および１３０はまた、双方向、インターモード予測符号化ピクチャであり得る。ピクチャ１０２はピクチャ１００および１０４から予測され得、ピクチャ１０６はピクチャ１０４および１０８から予測され得、ピクチャ１１０はピクチャ１０８および１１２から予測され得、ピクチャ１１４はピクチャ１１２および１１６から予測され得、ピクチャ１１８はピクチャ１１６および１２０から予測され得、ピクチャ１２２はピクチャ１２０および１２４から予測され得、ピクチャ１２６はピクチャ１２４および１２８から予測され得、ピクチャ１３０はピクチャ１２８および１３２から予測され得る。この場合も、コーディング階層においてより低いピクチャが、コーディング階層においてより高い他のピクチャからコーディングされ得ることを理解されたい。さらにまたは代替として、たとえば、ピクチャ１０２、１０６、１１０、または１１４のいずれかまたはすべては、ピクチャ１００、１１６、または１０８のうちのいずれかに対して予測され得る。
【０１２５】
[0125]  ピクチャ１００〜１３２は表示順序で示されている。すなわち、復号に続き、ピクチャ１００はピクチャ１０２の前に表示され、ピクチャ１０２はピクチャ１０４の前に表示され、以下同様である。上記のように、ＰＯＣ値は、概して、未加工ピクチャが、符号化される前にキャプチャまたは生成された順序と実質的に同じでもあるピクチャの表示順序を記述する。しかしながら、符号化階層により、ピクチャ１００〜１３２は異なる順序で復号され得る。さらに、符号化された後、ピクチャ１００〜１３２は、ピクチャ１００〜１３２のための符号化データを含むビットストリーム中に復号順序で構成され得る。たとえば、ピクチャ１１６は、ＧＯＰ１３４のピクチャのうち最後に表示され得る。しかしながら、符号化階層により、ピクチャ１１６はＧＯＰ１３４のうち最初に復号され得る。すなわち、ピクチャ１０８を適切に復号するために、たとえば、ピクチャ１１６は、ピクチャ１０８のための参照ピクチャとして働くために、最初に復号される必要があり得る。同様に、ピクチャ１０８はピクチャ１０４、１０６、１１０、および１１２のための参照フレームとして働き得、したがって、ピクチャ１０４、１０６、１１０、および１１２の前に復号される必要があり得る。
【０１２６】
[0126]  さらに、いくつかのピクチャは長期参照ピクチャとして扱われ得、他のピクチャは短期参照ピクチャとして扱われ得る。たとえば、ピクチャ１００および１１６は長期参照ピクチャを表し、ピクチャ１０８、１０４、および１１２は短期参照ピクチャを表すと仮定する。この例では、ピクチャ１０２および１０６が、ピクチャ１００、１１６、１０８、または１０４のうちのいずれかに対して予測され得るが、ピクチャ１１０および１１４が、ピクチャ１００、１１６、１０８、または１１２のうちのいずれかに対して予測され得る場合であり得る。言い換えれば、ピクチャ１０４は、ピクチャ１１０および１１４をコーディングするときに参照のために利用可能でないことがある。別の例として、ピクチャ１００および１１６が長期参照ピクチャを表し、ピクチャ１０８、１０４、および１１２が短期参照ピクチャを表すと仮定すると、ピクチャ１０８、１０４、および１１２は、ピクチャ１１８、１２２、１２６、および１３０をコーディングするときに参照のために利用可能でないことがある。
【０１２７】
[0127]  本開示の技法によれば、長期参照ピクチャに関するデータは、ピクチャ１００〜１３２のいずれかまたはすべてのためのスライスのスライスヘッダ中でシグナリングされ得る。代替的に、データは、ＰＰＳ、ＳＰＳ、または他のデータ構造中でシグナリングされ得る。
【０１２８】
[0128]  この場合も、ピクチャ１００および１１６が長期参照ピクチャを表すと仮定すると、ビデオエンコーダ２０は、ピクチャ１００のためのＰＯＣ  ＭＳＢを、ベースＭＳＢ値、たとえば、ピクチャ１０２などの現在ピクチャのＰＯＣ  ＭＳＢに対する差として符号化し得る。すなわち、ビデオエンコーダ２０は、ピクチャ１００のためのＰＯＣ  ＭＳＢとピクチャ１０２のためのＰＯＣ  ＭＳＢとの間の差を計算し、ピクチャ１００のための差分値を符号化し得る。同様に、ビデオエンコーダ２０は、ピクチャ１１６のためのＰＯＣ  ＭＳＢとピクチャ１００のためのＰＯＣ  ＭＳＢとの間の差を計算し、ピクチャ１１６のための差分値を符号化し得る。ビデオエンコーダ２０はまた、ピクチャ１００のためのＬＳＢ値とピクチャ１１６のためのＬＳＢ値とを符号化し得る。
【０１２９】
[0129]  したがって、ビデオデコーダ３０は、ピクチャ１００のための差分値を復号し、差分値をピクチャ１０２のためのベースＭＳＢ値に加算することによって、ピクチャ１００のためのＰＯＣ値とピクチャ１１６のためのＰＯＣ値とを再構成し得る。同様に、ビデオデコーダ３０は、ピクチャ１１６のための差分値を復号し、差分値をピクチャ１００のためのＰＯＣ  ＭＳＢに加算し得る。ビデオデコーダ３０はまた、ピクチャ１００のためのＰＯＣ  ＬＳＢ値とピクチャ１１６のためのＰＯＣ  ＬＳＢ値を復号し得る。ビデオデコーダ３０は、ピクチャ１００のためのＰＯＣ値を再生するために、ピクチャ１００のためのＰＯＣ  ＭＳＢをピクチャ１００のためのＰＯＣ  ＬＳＢと連結し得る。同様に、ビデオデコーダ３０は、ピクチャ１１６のためのＰＯＣ値を再生するために、ピクチャ１１６のためのＰＯＣ  ＭＳＢをピクチャ１１６のためのＰＯＣ  ＬＳＢと連結し得る。
【０１３０】
[0130]  このようにして、ビデオエンコーダ２０とビデオデコーダ３０の両方は、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値をコーディングすることと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値をコーディングすることと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分をコーディングすることとを行うように構成され得る。
【０１３１】
[0131]  より詳細には、ビデオエンコーダ２０は、現在ピクチャ、たとえば、ピクチャ１０２のための参照ピクチャリスト中に含まれるべき長期参照ピクチャのためのＰＯＣ値を表すデータを符号化し得る。概して、ビデオエンコーダ２０は、現在ピクチャの少なくとも一部分が参照ピクチャに対して符号化されたとき、参照ピクチャが参照ピクチャリスト中に含まれるべきであることを示し得る。ピクチャのブロックが、ブロックのための動きベクトルが参照ピクチャの参照ブロックを指すように、参照ピクチャに対してインター符号化されたとき、ピクチャの一部分は参照ピクチャに対して符号化されたと見なされ得る。ブロックのための動き情報は、参照ピクチャリスト識別子（たとえば、リスト０またはリスト１）、ならびに参照ピクチャリスト識別子によって識別された参照ピクチャリスト中の参照ピクチャに対応する参照インデックスを含み得る。
【０１３２】
[0132]  したがって、ビデオエンコーダ２０は、ピクチャ１００の参照ブロックに対してピクチャ１０２のブロックを符号化し得る。すなわち、ビデオエンコーダ２０は、ブロックのための動き探索を実行し、他の参照ブロックに対して、ピクチャ１００の参照ブロックが許容誤差値を生成すると判断し得る。同様に、ビデオエンコーダ２０は、ピクチャ１１６の参照ブロックに対してピクチャ１０２の異なるブロックを符号化し得る。
【０１３３】
[0133]  図５は、本開示の技法による、長期参照ピクチャのためのＰＯＣ値を符号化するための例示的な方法を示すフローチャートである。説明のために、図５の方法について、図１および図２のビデオエンコーダ２０ならびにそれの構成要素に関して説明する。ただし、他のビデオ符号化デバイスが図５の方法を実行するように構成され得ることを理解されたい。
【０１３４】
[0134]  初めに、ビデオエンコーダ２０は、１つまたは複数の参照ピクチャを使用して現在ピクチャのデータを符号化する（１５０）。ビデオエンコーダ２０は、次いで、現在ピクチャを符号化するために使用された参照ピクチャを判断する（１５２）。より詳細には、ビデオエンコーダ２０は、現在ピクチャを符号化するとき、利用可能な参照ピクチャのセット中のどの参照ピクチャが参照のために実際に使用されるかを判断し得る。いくつかの例では、ステップ１５０とステップ１５２とは統合され、実質的に同時に実行され得る。利用可能な参照ピクチャは長期参照ピクチャ（ＬＴＲＰ）と短期参照ピクチャ（ＳＴＲＰ）とを含み得る。ビデオエンコーダ２０は、いくつかの様々な試行コーディングパスを介して得られたコーディング結果に基づいて、参照ピクチャを長期参照ピクチャとして設定すべきか、短期参照ピクチャとして設定すべきかを判断し得る。たとえば、コーディング結果（たとえば、レートひずみ最適化（ＲＤＯ：rate-distortion optimization）メトリック）が、概して、特定の参照ピクチャが長期参照ピクチャとして扱われる（参照ピクチャを長期間記憶するために消費されるメモリの量によって潜在的にオフセットされる）ときにより良好であるとき、ビデオエンコーダ２０は、その参照ピクチャを長期参照ピクチャとして扱い得る。
【０１３５】
[0135]  いずれの場合も、参照ピクチャのセットと長期参照ピクチャとして扱われるべきであるそれらの参照ピクチャとを判断した後に、ビデオエンコーダ２０は、どのピクチャが長期参照ピクチャとして現在ピクチャのための参照ピクチャリスト中に含まれるべきであるかを示す情報を符号化し得る。符号化された情報は、長期参照ピクチャのためのＰＯＣ値を表すデータを備え得る。ビデオエンコーダ２０は、現在ピクチャのスライスのスライスヘッダ中、現在ピクチャに対応するＰＰＳ中、現在ピクチャを含むシーケンスのためのＳＰＳ中、または他の場所でこの情報を符号化し得る。
【０１３６】
[0136]  ビデオエンコーダ２０は、順序の第１の長期参照ピクチャのためのＰＯＣ値のＭＳＢを示すデータ、ならびに順序の第１の長期参照ピクチャのためのＰＯＣ値のＬＳＢを示すデータを符号化する（１５４）。ＭＳＢを符号化するために、ビデオエンコーダ２０は、第１の長期参照ピクチャのためのＰＯＣ値のＭＳＢと現在ピクチャのためのＰＯＣ値のＭＳＢとの間の差を計算し、この計算された差分値を符号化し得る。
【０１３７】
[0137]  ビデオエンコーダ２０は、次いで、後続のＬＴＲＰのためのＰＯＣ値のＬＳＢが現在ピクチャのための別の参照ピクチャのためのＰＯＣ値のＬＳＢに等しいかどうかを判断する（１５６）。後続のＬＴＲＰのためのＰＯＣ値のＬＳＢが現在ピクチャのための別の参照のためのＰＯＣ値のＬＳＢに等しいとビデオエンコーダ２０が判断したとき（１５６の「ＹＥＳ」分岐）、ビデオエンコーダ２０は、後続のＬＴＲＰのためのＰＯＣ値のＭＳＢと前のＬＴＲＰ（すなわち、ＰＯＣ  ＭＳＢ情報が符号化された直近のＬＴＲＰ）のためのＰＯＣ値のＭＳＢとの間の差を表すデータを符号化する（１５８）。直近のＬＴＲＰのためのＰＯＣ値のＬＳＢは、必ずしも、現在符号化されているＬＴＲＰのためのＰＯＣ値のＬＳＢと同じであるとは限らない。上記で説明したように、差分値を計算するために、後続のＬＴＲＰがｉのインデックス値を有すると仮定すると、ビデオエンコーダ２０は、ＬＴＲＰｊが、ＰＯＣ  ＭＳＢ情報がコーディングされた前のＬＴＲＰであった場合、ＬＴＲＰｉのためのＰＯＣ値のＭＳＢとＬＴＲＰｊのためのＰＯＣ値のＭＳＢとの間の差を計算し得る。ビデオエンコーダ２０は、次いで、差分値を符号化し得る。この差分値は、ｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ［ｉ］（またはｄｅｌｔａ＿ｐｏｃ＿ｍｓｂ＿ｃｙｃｌｅ＿ｌｔ＿ｐｌｕｓ１［ｉ］）に対応し得る。
【０１３８】
[0138]  差分値を符号化した後、または次のＬＴＲＰのためのＰＯＣ値のＬＳＢが別の参照ピクチャのＬＳＢに等しくないとき（１５６の「ＮＯ」分岐）、ビデオエンコーダ２０はＬＴＲＰのためのＰＯＣ値のＬＳＢをコーディングする（１６０）。ビデオエンコーダ２０は、次いで、現在ピクチャのためのさらなるＬＴＲＰがあるかどうかを判断する（１６２）。現在ピクチャのためのさらなるＬＴＲＰがあるとき（１６２の「ＹＥＳ」分岐）、ビデオエンコーダ２０は、残りのＬＴＲＰのためのＰＯＣ値のＬＳＢを符号化し、必要な場合に、上記で説明した差分コーディングを使用してＭＳＢを符号化することに進む。しかしながら、現在ピクチャのためのさらなるＬＴＲＰがないとき（１６２の「ＮＯ」分岐）、ビデオエンコーダ２０は、符号化データを出力し（１６４）、符号化データは、現在ピクチャのための符号化ブロック、（ＬＳＢ、およびＬＳＢが一意でないとき、ＭＳＢのための差分値を含んだ）現在ピクチャのための長期参照ピクチャのための符号化されたＰＯＣ値などを含み得る。
【０１３９】
[0139]  このようにして、図５の方法は、第１の長期参照ピクチャに対するビデオデータの現在ピクチャの少なくとも第１の部分と第２の長期参照ピクチャに対する現在ピクチャの少なくとも第２の部分とを符号化することと、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を符号化することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を符号化することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、を含む方法の一例を表す。
【０１４０】
[0140]  図６は、本開示の技法による、長期参照ピクチャのためのＰＯＣ値を復号するための例示的な方法を示すフローチャートである。説明のために、図６の方法について、図１および図３のビデオデコーダ３０ならびにそれの構成要素に関して説明する。ただし、他のビデオ復号デバイスが図６の方法を実行するように構成され得ることを理解されたい。
【０１４１】
[0141]  初めに、ビデオデコーダ３０は、現在ピクチャの順序の第１の長期参照ピクチャ（ＬＴＲＰ）のためのＰＯＣ値のＭＳＢとＬＳＢとを復号する（２００）。たとえば、ビデオデコーダ３０は、第１のＬＴＲＰのためのＰＯＣ値のＭＳＢと現在ピクチャのためのＰＯＣ値のＭＳＢとの間の差を表す差分値を復号し得る。ビデオデコーダ３０は、次いで、第１のＬＴＲＰのＭＳＢを取得するために、差分値を現在ピクチャのためのＰＯＣ値のＭＳＢに加算し得る。ビデオデコーダ３０はまた、ＬＴＲＰのためのＰＯＣ値を再生するために、第１のＬＴＲＰのためのＰＯＣ値のＬＳＢを復号し、第１のＬＴＲＰのためのＰＯＣ値のＭＳＢとＬＳＢとを連結し得る。ビデオデコーダ３０はまた、ＭＳＢが送られないとき、第１のＬＴＲＰのみのためのＰＯＣ値のＬＳＢを復号し得、ＬＳＢ値のみを使用して、同じＰＯＣ  ＬＳＢ値をもつ他の参照ピクチャがない場合に識別することができる。
【０１４２】
[0142]  ビデオデコーダ３０は、次いで、次のＬＴＲＰのためのＰＯＣ値のＬＳＢを復号する（２０２）。図６の例では、ビデオデコーダ３０は、次のＬＴＲＰのためのＰＯＣ値のＬＳＢが現在ピクチャのための別のＬＴＲＰのＬＳＢに等しいかどうかを判断する（２０４）。他の例では、たとえば、表１に関して上記で説明したように、ビデオデコーダ３０は、ＭＳＢが次のＬＴＲＰのＰＯＣ値のためにシグナリングされることをフラグ値が示すかどうかを判断し得る。いずれの場合も、ビデオデコーダ３０は、ＭＳＢが次のＬＴＲＰのＰＯＣ値のためにシグナリングされるかどうかを判断し得る。ＭＳＢが次のＬＴＲＰのＰＯＣ値のためにシグナリングされたとき（たとえば、次のＬＴＲＰのためのＰＯＣ値のＬＳＢが別の参照ピクチャのＬＳＢに等しいとき（２０４の「ＹＥＳ」分岐））、ビデオデコーダ３０は、前のＬＴＲＰのためのＰＯＣ値のＭＳＢに対するＭＳＢ差分値を復号する（２０６）。すなわち、ビデオデコーダ３０は、ＬＴＲＰｉのためにシグナリングされた差分値を復号し、差分値をＬＴＲＰｊのためのＰＯＣ値のＭＳＢに加算し得、ただし、ＬＴＲＰｊは、ＭＳＢ情報が復号された前のＬＴＲＰであった。ビデオデコーダ３０は、さらに、（計算されたか、暗黙的に判断されたかにかかわらず）ＭＳＢを次のＬＴＲＰのためのＬＳＢと連結することによって次のＬＴＲＰのＰＯＣ値を再アセンブルし得る。
【０１４３】
[0143]  次のＬＴＲＰのためのＰＯＣ値のＬＳＢが別の参照ピクチャのＬＳＢに等しくないと判断した後に（２０４の「ＮＯ」分岐）、または次のＬＴＲＰのＭＳＢのための差分値を復号した後に、ビデオデコーダ３０は、現在ピクチャのためのさらなるＬＴＲＰがあるかどうかを判断する（２１０）。現在ピクチャのためのさらなるＬＴＲＰがある場合（２１０の「ＹＥＳ」分岐）、ビデオデコーダ３０は、たとえば、上記で説明したように、後続のＬＴＲＰのためのＰＯＣ値を復号することに進む。現在ピクチャのためのさらなるＬＴＲＰがないと（２１０の「ＮＯ」分岐）、ビデオデコーダ３０は、シグナリングされたＬＴＲＰを含む１つまたは複数の参照ピクチャリストをアセンブルする（２１２）。ビデオデコーダ３０は、次いで、（１つまたは複数の）参照ピクチャリストを使用して現在ピクチャを復号する（２１４）。
【０１４４】
[0144]  たとえば、ブロックがインター予測されたとき、ブロックは、参照ピクチャリストと、ブロックのための参照ピクチャを示す、参照ピクチャリストへの参照インデックスとの指示を含み得る。ブロックは、ブロックのための動きベクトルを再構成するためのデータをさらに含み得る。したがって、ビデオデコーダ３０は、動きベクトルを使用して参照ピクチャから参照ブロックを取り出し得る。ビデオデコーダ３０は、たとえば、ブロックのための変換係数を復号し、逆量子化し、逆変換することによって、ブロックの誤差値をさらに復号し得る。ビデオデコーダ３０は、次いで、ブロックを復号するために、参照ブロックを、再構成された残差ブロックと組み合わせ得る。
【０１４５】
[0145]  このようにして、図６の方法は、ビデオデータの現在ピクチャのピクチャ順序カウント（ＰＯＣ）値のベース最上位ビット（ＭＳＢ）値とビデオデータの第１の長期参照ピクチャの第１のＰＯＣ値の第１のＭＳＢ値との間の差を表す第１の値を復号することと、ビデオデータの第２の長期参照ピクチャの第２のＰＯＣ値の第２のＭＳＢ値と第１のＭＳＢ値との間の差を表す第２の値を復号することと、ここにおいて、第１のＰＯＣ値と第２のＰＯＣ値が異なる最下位ビット（ＬＳＢ）値を有する、第１の値を使用した第１の長期参照ピクチャと、第１の値と第２の値とを使用した第２の長期参照ピクチャとのうちの少なくとも１つに対するビデオデータの現在ピクチャの少なくとも一部分を復号することとを含む方法の一例を表す。
【０１４６】
[0146]  例によっては、本明細書で説明した技法のうちいずれかの、いくつかの作用またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る（たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない）ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続してではなくむしろ、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して実行され得る。
【０１４７】
[0147]  １つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、あるいは（２）信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび／またはデータ構造を取り出すために１つまたは複数のコンピュータあるいは１つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１４８】
[0148]  限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびＢｌｕ−ｒａｙディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１４９】
[0149]  命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）などの１つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアおよび／またはソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１５０】
[0150]  本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【０１５１】
[0151]  様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
【図１】
2015526026.tif 000009
【図２】
2015526026.tif 000010
【図３】
2015526026.tif 000011
【図５】
2015526026.tif 000012
【図６】
2015526026.tif 000013
【図４】
2015526026.tif 000014
【国際調査報告】
2015526026.tif 000015
2015526026.tif 000016