(57)【要約】      （修正有）【課題】単一参照ピクチャリストを使用してピクチャのビデオブロックを符号化又は復号するための効率的な方法を提供する。【解決手段】単一参照ピクチャリストは、ビデオブロックを符号化又は復号するために使用される１つ以上の参照ピクチャのための識別子を含む。ビデオエンコーダ又はデコーダが、単一参照ピクチャリストを使用して、２つの参照ピクチャから予測されるビデオブロックを符号化又は復号し、同じ単一参照ピクチャリストを使用して、１つの参照ピクチャから予測されるビデオブロックを符号化又は復号する。【選択図】図５
2015188231.tif 000002
【特許請求の範囲】
【請求項１】
ビデオデータをコード化する方法であって、
ビデオコーダが、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、
前記ビデオコーダが、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することと
を備える方法。
【請求項２】
前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化すること
を更に備える、請求項１に記載の方法。
【請求項３】
前記単一参照ピクチャリスト中で識別された前記１つ以上の参照ピクチャは、表示順序が前記現在ビデオピクチャに対して全て時間的に前である参照ピクチャと、前記現在ビデオピクチャに対して全て時間的に後である参照ピクチャと、前記現在ビデオピクチャに対して時間的に前と時間的に後の両方である参照ピクチャとのうちの１つを備える、請求項１に記載の方法。
【請求項４】
前記現在ピクチャの前記ビデオブロックをコード化することが、前記現在ピクチャの前記ビデオブロックを復号することを備え、
他の参照ピクチャリスト中の参照ピクチャのためのインデックス値をコード化することなしに、前記現在ピクチャが双方向予測を使用してコード化されるときに、前記２つの参照ピクチャが前記単一参照ピクチャリストのみ内のどこに位置するかを示すインデックス値を復号すること
を更に備える、請求項１に記載の方法。
【請求項５】
前記単一参照ピクチャリストを構成することが、他の参照ピクチャリストを構成することなしに前記単一参照ピクチャリストのみを構成することを備える、請求項１に記載の方法。
【請求項６】
前記単一参照ピクチャリストを構成することが、前記現在ピクチャと前記単一参照ピクチャリスト中に含まれる前記参照ピクチャの各々との間の時間距離に基づいて前記単一参照ピクチャリストを構成することを備える、請求項１に記載の方法。
【請求項７】
前記単一参照ピクチャリストを構成することは、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャからより遠い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャにより近い参照ピクチャのための識別子を含めることを備える、請求項１に記載の方法。
【請求項８】
前記単一参照ピクチャリストを構成することは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、
前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、
前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第１の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第２の参照ピクチャのための識別子を含めることと、
前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第１の参照ピクチャのための前記識別子を含めることと
を備える、請求項１に記載の方法。
【請求項９】
前記第１の時間距離が前記第２の時間距離に等しいとき、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、
前記第２の参照ピクチャが前記第１の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることと
を更に備える、請求項８に記載の方法。
【請求項１０】
前記第１の時間距離を決定することが、前記現在ピクチャと前記第１のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することを備え、前記第２の時間距離を決定することが、前記現在ピクチャと前記第２のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することを備える、請求項８に記載の方法。
【請求項１１】
前記単一参照ピクチャリストを構成することは、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャにより近い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャからより遠い参照ピクチャのための識別子を含めることを備える、請求項１に記載の方法。
【請求項１２】
前記単一参照ピクチャリストを構成することは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、
前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、
前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第２の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第１の参照ピクチャのための識別子を含めることと、
前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第２の参照ピクチャのための前記識別子を含めることと
を備える、請求項１に記載の方法。
【請求項１３】
前記第１の時間距離が前記第２の時間距離に等しいとき、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、
前記第１の参照ピクチャが前記第２のピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、
前記第２の参照ピクチャが前記第１の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることと
を更に備える、請求項１２に記載の方法。
【請求項１４】
前記方法がビデオ復号の方法を備え、
ビデオシーケンス、ビデオピクチャ、及びビデオスライスのうちの少なくとも１つ内の全てのビデオブロックについてコード化が単方向予測に制約されることを示す１つ以上のシンタックス要素を復号することと、
前記単一参照ピクチャリスト中で識別されたただ１つの参照ピクチャに関する単方向予測を使用して前記ビデオブロックを復号することと
を更に備える、請求項１に記載の方法。
【請求項１５】
前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャ内のビデオブロックの数を示す１つ以上のシンタックス要素をコード化すること
を更に備える、請求項１に記載の方法。
【請求項１６】
前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャのエリアを示す１つ以上のシンタックス要素をコード化すること
を更に備える、請求項１に記載の方法。
【請求項１７】
復号された参照ピクチャを記憶するように動作可能なメモリと、
前記メモリに記憶された１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、
前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することと
を行うように動作可能なビデオコーダと
を備えるビデオコード化装置。
【請求項１８】
前記ビデオコーダは、前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化するように更に動作可能である、請求項１７に記載のビデオコード化装置。
【請求項１９】
前記単一参照ピクチャリスト中で識別された前記１つ以上の参照ピクチャは、表示順序が前記現在ビデオピクチャに対して全て時間的に前である参照ピクチャと、前記現在ビデオピクチャに対して全て時間的に後である参照ピクチャと、前記現在ビデオピクチャに対して時間的に前と時間的に後の両方である参照ピクチャとのうちの１つを備える、請求項１７に記載のビデオコード化装置。
【請求項２０】
前記ビデオコーダが、前記現在ピクチャの前記ビデオブロックを復号するビデオデコーダを備え、前記ビデオデコーダは、他の参照ピクチャリスト中の参照ピクチャのためのインデックス値をコード化することなしに、前記現在ピクチャが双方向予測を使用してコード化されるときに、前記２つの参照ピクチャが前記単一参照ピクチャリストのみ内のどこに位置するかを示すインデックス値を復号するように更に動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２１】
前記ビデオコーダが、他の参照ピクチャリストを構成するように動作可能であることなしに、前記単一参照ピクチャリストのみを構成するように動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２２】
前記ビデオコーダが、前記現在ピクチャと前記単一参照ピクチャリスト中に含まれる前記参照ピクチャの各々との間の時間距離に基づいて前記単一参照ピクチャリストを構成するように動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２３】
前記ビデオコーダは、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャからより遠い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャにより近い参照ピクチャのための識別子を含めるように動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２４】
前記単一参照ピクチャリストを構成するために、前記ビデオコーダは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、
前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、
前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第１の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第２の参照ピクチャのための識別子を含めることと、
前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第１の参照ピクチャのための前記識別子を含めることと
を行うように動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２５】
前記第１の時間距離が前記第２の時間距離に等しいとき、前記ビデオコーダは、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、
前記第２の参照ピクチャが前記第１の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることと
を行うように動作可能である、請求項２４に記載のビデオコード化装置。
【請求項２６】
前記ビデオコーダが、前記第１の時間距離を決定するために前記現在ピクチャと前記第１のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することと、前記第２の時間距離を決定するために前記現在ピクチャと前記第２のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することとを行うように動作可能である、請求項２４に記載のビデオコード化装置。
【請求項２７】
前記ビデオコーダは、前記単一参照ピクチャリストを構成するために、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャにより近い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャからより遠い参照ピクチャのための識別子を含めるように動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２８】
前記単一参照ピクチャリストを構成するために、前記ビデオコーダは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、
前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、
前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第２の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第１の参照ピクチャのための識別子を含めることと、
前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第２の参照ピクチャのための前記識別子を含めることと
を行うように動作可能である、請求項１７に記載のビデオコード化装置。
【請求項２９】
前記第１の時間距離が前記第２の時間距離に等しいとき、前記ビデオコーダは、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、
前記第１の参照フレームが前記第２の参照フレームよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、
前記第２の参照フレームが前記第１の参照フレームよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることと
を行うように動作可能である、請求項２８に記載のビデオコード化装置。
【請求項３０】
前記ビデオコーダがビデオデコーダを備え、前記ビデオデコーダは、ビデオシーケンス、ビデオピクチャ、及びビデオスライスのうちの少なくとも１つ内の全てのビデオブロックについてコード化が単方向予測に制約されることを示す１つ以上のシンタックス要素を復号することと、前記単一参照ピクチャリスト中で識別されたただ１つの参照ピクチャに関する単方向予測を使用して前記ビデオブロックを復号することとを行うように更に動作可能である、請求項１７に記載のビデオコード化装置。
【請求項３１】
前記ビデオコーダが、前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャ内のビデオブロックの数を示す１つ以上のシンタックス要素をコード化するように更に動作可能である、請求項１７に記載のビデオコード化装置。
【請求項３２】
前記ビデオコーダが、前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャのエリアを示す１つ以上のシンタックス要素をコード化するように更に動作可能である、請求項１７に記載のビデオコード化装置。
【請求項３３】
前記ビデオコーダが、ビデオデコーダ及びビデオエンコーダのうちの１つを備える、請求項１７に記載のビデオコード化装置。
【請求項３４】
復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成するための手段と、
前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化するための手段と
を備えるビデオコード化装置。
【請求項３５】
前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化するための手段
を更に備える、請求項３４に記載のビデオコード化装置。
【請求項３６】
前記単一参照ピクチャリストを構成するための前記手段は、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャからより遠い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャにより近い参照ピクチャのための識別子を含めるための手段を備える、請求項３４に記載のビデオコード化装置。
【請求項３７】
前記単一参照ピクチャリストを構成するための前記手段は、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャにより近い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャからより遠い参照ピクチャのための識別子を含めるための手段を備える、請求項３４に記載のビデオコード化装置。
【請求項３８】
ビデオコーダ中で実行されると、
復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、
前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することと
を前記ビデオコーダに行わせる、ビデオデータをコード化するための命令を備える非一時的コンピュータ可読記憶媒体。
【請求項３９】
前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化すること
を前記ビデオコーダに行わせる命令を更に備える、請求項３８に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、それぞれの内容全体が参照により本明細書に組み込まれる、２０１１年１月２４日に出願された米国仮出願第６１／４３５，４９６号、２０１１年２月２２日に出願された米国仮出願第６１／４４５，４７６号、及び２０１１年３月８日に出願された米国仮出願第６１／４５０，５５０号の利益を主張する。
【０００２】
本開示は、ビデオコード化に関し、より詳細には、ビデオインターコード化技法に関する。
【背景技術】
【０００３】
デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップ又はデスクトップコンピュータ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム機器、ビデオゲームコンソール、セルラー電話又は衛星無線電話、ビデオ遠隔会議機器などを含む、広範囲にわたる機器に組み込まれ得る。デジタルビデオ機器は、デジタルビデオ情報をより効率的に送信及び受信するための、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）によって定義された規格、又は新生の高効率ビデオコード化（ＨＥＶＣ：High Efficiency Video Coding）規格、及びそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実施する。
【０００４】
ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減又は除去するために空間的予測及び／又は時間的予測を実行する。ブロックベースのビデオコード化では、ビデオピクチャ又はスライスがビデオブロック又はコード化単位（ＣＵ：coding unit）に区分され得る。イントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロックに関する空間的予測を使用して符号化される。インターコード化（Ｐ又はＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロックに関する空間的予測、又は他の参照ピクチャに関する時間的予測を使用し得る。ビデオコード化機器は、インターピクチャコード化中に使用するための参照ピクチャのリストをメモリに記憶する。現在コード化ピクチャの前の表示時間をもつ参照ピクチャのリストはリスト０と呼ばれ、現在コード化ピクチャの後の表示時間をもつ参照ピクチャのリストはリスト１と呼ばれる。
【０００５】
Ｐスライス中のビデオブロックは、リスト０中の過去参照ピクチャを指し示す単一動きベクトルを用いる単方向予測を使用して符号化され得る。Ｂスライス中のビデオブロックは、それぞれ、（ａ）リスト０中の過去参照ピクチャを指し示す単一動きベクトルを用いる単方向予測、（ｂ）リスト１中の未来参照ピクチャを指し示す単一動きベクトルを用いる単方向予測、（ｃ）又はリスト０及びリスト１中の過去及び未来参照ピクチャを指し示す２つの動きベクトルを用いる双方向予測を使用して符号化され得る。Ｐ及びＢスライス分類は、以降、リスト０及びリスト１が同じ時間方向又は異なる時間方向における参照ピクチャを含み得ることを除いて、ビデオブロックがＢスライスとして符号化される、一般化Ｐ／Ｂ（ＧＰＢ）スライスを含むように拡張された。ＧＰＢスライスの特定の一例では、リスト０とリスト１とは同一であり得る。
【０００６】
参照ピクチャリスト情報を示すように定義されたシンタックス要素は、符号化され、コード化ビデオスライスのスライスヘッダ中で復号機器に信号伝達される。コード化ビデオスライス及びそれの関連するシンタックス要素を受信すると、デコーダは、シンタックス要素に基づいてリスト０及びリスト１のための参照ピクチャリスト構成を実行する。Ｂスライスでは、各コード化ビデオブロックは、ビデオブロックが双方向予測（Ｂｉ）されるのか、リスト０から順方向において単方向予測（Ｐｒｅｄ＿Ｌ０）されるのか、又はリスト１から逆方向において単方向予測（Ｐｒｅｄ＿Ｌ１）されるのかを示すための関連するシンタックス要素、即ち、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃを有し得る。従って、Ｂスライスのためのｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃシンタックス要素は、Ｂｉ、Ｐｒｅｄ＿Ｌ０、又はＰｒｅｄ＿Ｌ１の３つのステータスのうちの１つを示すために２ビットを消費する。
【発明の概要】
【０００７】
概して、本開示は、ビデオブロックが双方向予測を使用してインターコード化されるのか、単方向予測を使用してインターコード化されるのかにかかわらず、ビデオコーダがビデオピクチャのビデオブロックをコード化し得る、単一参照ピクチャリストを構成するための技法に関する。例えば、単一参照ピクチャリストのみを用いて、ビデオコーダは、単一参照ピクチャリスト中に両方とも含まれる２つの参照ピクチャに関する双方向予測を使用してビデオブロックをコード化し得る。単一参照ピクチャリスト中の参照ピクチャは、現在ピクチャに対して全て時間的に前であるか、時間的に後であるか、又は時間的に前と後の両方であり得る。幾つかの例では、ビデオコーダはまた、ビデオシーケンス、ビデオピクチャ、又はビデオスライス中の全てのビデオブロックのコード化が、ただ１つの参照ピクチャに関する単方向予測に限定されるかどうかを示す情報をコード化し得、これにより、あまり複雑でないコード化技法を実施し得る。
【０００８】
ビデオピクチャの各コード化ビデオブロックは、ビデオブロックが単一参照ピクチャリストから双方向予測（Ｂｉ）されるのか、単一参照ピクチャリストから単方向予測（Ｕｎｉ）されるのかを示すための関連するシンタックス要素を有し得る。従って、本技法は、ビデオブロックが双方向予測されるのか単方向予測されるのかにかかわらず、ビデオピクチャ中のビデオブロックについてのインター予測ステータスをコード化するコストを低減することになる。例えば、双方向予測ビデオブロックと単方向予測ビデオブロックの両方をインターコード化するために単一参照ピクチャリストのみが必要とされることがあるので、複数の参照ピクチャリスト（例えば、従来のリスト０及びリスト１）の構成は必要とされないことがあり、これは、必要とされる計算リソースの量を低減し得る。更に、このようにして、単方向予測ビデオブロックをインターコード化するために単一参照ピクチャリストのみが必要とされ、追加の参照ピクチャリストは必要とされないことがあるので、ビデオコーダは、単方向予測ビデオブロックがリスト０に関して予測されるのか、リスト１に関して予測されるのか（例えば、従来のシンタックス要素Ｐｒｅｄ＿Ｌ０及びＰｒｅｄ＿Ｌ１）を指定する必要がなく、これは、信号伝達される必要があるシンタックス要素の量を低減し得る。
【０００９】
一例では、本開示では、ビデオコーダを用いて、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することを含む、ビデオデータをコード化する方法について説明する。本方法はまた、ビデオコーダを用いて、単一参照ピクチャリスト中で識別された参照ピクチャのうちの２つに関する双方向予測と、単一参照ピクチャリスト中で識別された参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することを含む。
【００１０】
別の例では、本開示では、復号された参照ピクチャを記憶するように動作可能なメモリを含むビデオコード化機器について説明する。本ビデオコード化機器はまた、メモリに記憶された１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成するように動作可能なビデオコーダを含む。ビデオコーダはまた、単一参照ピクチャリスト中で識別された参照ピクチャのうちの２つに関する双方向予測と、単一参照ピクチャリスト中で識別された参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化するように動作可能である。
【００１１】
別の例では、本開示では、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成するための手段を含むビデオコード化機器について説明する。本ビデオコード化機器はまた、単一参照ピクチャリスト中で識別された参照ピクチャのうちの２つに関する双方向予測と、単一参照ピクチャリスト中で識別された参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化するための手段を含む。
【００１２】
別の例では、本開示では、ビデオコーダ中で実行されると、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、単一参照ピクチャリスト中で識別された参照ピクチャのうちの２つに関する双方向予測と、単一参照ピクチャリスト中で識別された参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することとをビデオコーダに行わせる、ビデオデータをコード化するための命令を備えるコンピュータ可読記憶媒体について説明する。
【００１３】
１つ以上の例の詳細を添付の図面及び以下の説明に記載する。他の特徴、目的、及び利点は、その説明及び図面、ならびに特許請求の範囲から明らかになろう。
【図面の簡単な説明】
【００１４】
【図１】ビデオブロックの双方向予測と単方向予測の両方のための単一参照ピクチャリストを効率的にコード化し、構成するための技法を利用し得る例示的なビデオ符号化及び復号システムを示すブロック図。
【図２】ビデオピクチャを表示順序で含む例示的なビデオシーケンスを示す概念図。
【図３】本開示の１つ以上の態様による技法を実施し得る例示的なビデオエンコーダを示すブロック図。
【図４】本開示の１つ以上の態様による技法を実施し得る例示的なビデオデコーダを示すブロック図。
【図５】本開示の１つ以上の態様による、ビデオブロックをコード化する例示的な動作を示すフローチャート。
【図６】本開示の１つ以上の態様による、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施するための例示的な動作を示すフローチャート。
【図７】本開示の１つ以上の態様による、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施するための例示的な動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
本開示では、単一参照ピクチャリストのみの中の参照ピクチャに関する双方向予測又は単方向予測のいずれかを使用してスライスのビデオブロックをコード化、例えば、復号又は符号化するための例示的な技法について説明する。例えば、ビデオコーダは、同じ単一参照ピクチャリスト中に含まれる１つ又は２つの参照ピクチャを指し示す２つの動きベクトルを用いる双方向予測を使用して、Ｂスライスのビデオブロックをコード化し得る。幾つかの例では、２つの動きベクトルの各々は同じ参照ピクチャを指し示し得る。幾つかの他の例では、２つの動きベクトルの各々は２つの異なる参照ピクチャを指し示し得る。簡潔のために、例の多くでは、２つの動きベクトルが２つの異なる参照ピクチャを指し示す場合について説明するが、本開示の態様はそのように限定されない。
【００１６】
ビデオコーダは、単一参照ピクチャリスト中に含まれる１つの参照ピクチャを指し示す１つの動きベクトルを用いる単方向予測を使用してＢスライス又はＰスライスのビデオブロックをコード化し得る。同様に、ビデオコーダは、単一参照ピクチャリスト中に含まれる１つ又は２つの参照ピクチャを使用して、一般化Ｐ／Ｂ（ＧＰＢ）スライスのビデオブロックをコード化し得る。
【００１７】
本開示で説明する１つ以上の例示的な技法によれば、ビデオコーダは、ビデオブロックがＢスライスであるのか、Ｐスライスであるのか、ＧＰＢスライスであるのかにかかわらず、そのビデオブロックが２つの動きベクトルに関してコード化される（例えば、１つ又は２つの参照ピクチャに関して双方向予測される）とき、又はそのビデオブロックが１つの動きベクトルに関してコード化される（例えば、１つの参照ピクチャを用いて単方向予測される）とき、ビデオブロックをコード化するために単一参照ピクチャリストのみを利用し得る。言い換えれば、ビデオコーダ、例えば、ビデオエンコーダ又はビデオデコーダは、全てのタイプのインターコード化ビデオスライスのビデオブロックをコード化、例えば、符号化又は復号するための単一参照リストを構成し得る。これらの例示的な技法のうちの１つ又は複数によれば、ビデオブロックが双方向予測されるのか単方向予測されるのか（例えば、双方向予測又は単方向予測Ｂスライス、単方向予測Ｐスライス、若しくは双方向予測又は単方向予測ＧＰＢスライス）にかかわらず、他の参照ピクチャリストは、ビデオブロックをコード化するために必要とされない。
【００１８】
本開示で使用する「スライス」という用語は、ピクチャの一部分を指すが、ピクチャの全体を包含し得る。本開示で使用する「ピクチャ」という用語は、ビデオコンテンツの例を指す。例えば、連続ピクチャを迅速に表示すると、ビデオ再生が滑らかになる。幾つかの部分では、「ピクチャ」という用語は、「フレーム」という用語と互換的に使用され得る。
【００１９】
単一参照ピクチャリストは、スライスのビデオブロックをコード化するために使用される１つ以上の参照ピクチャを識別する識別子を含む。これらの参照ピクチャは、ビデオコード化機器のメモリに記憶され得る。１つ以上の参照ピクチャのための識別子は、参照ピクチャに割り当てられたピクチャ順序カウント（ＰＯＣ：picture order count）値及び／又はピクチャ数値であり得る。ＰＯＣ値は、ビデオシーケンス又はグループ・オブ・ピクチャ（ＧＯＰ）中のピクチャの表示順序を示し得る。ピクチャ数値は、ビデオシーケンス又はＧＯＰ中のピクチャのコード化順序を示し得る。一例として、別のピクチャと比較してより小さいＰＯＣ値をもつピクチャは、より早く表示されるが、必ずしもより早くコード化されるとは限らない。別のピクチャと比較してより小さいピクチャ数値をもつピクチャは、より早くコード化されるが、必ずしもより早く表示されるとは限らない。参照ピクチャは、現在ピクチャからの参照ピクチャの時間距離に基づいて、単一参照ピクチャリスト中で編成され得る。時間距離は、例えば、所与の参照ピクチャと現在符号化されているピクチャとのＰＯＣ値及び／又はピクチャ数値間の差として定義され得る。
【００２０】
一例として、ビデオコーダは、Ｐスライスのビデオブロックを予測するために、又はただ１つの参照ピクチャに関してコード化されるＢスライス若しくはＧＰＢスライスのビデオブロックを単方向予測するために、単一参照ピクチャリストを利用し得る。ビデオコーダはまた、２つの異なる参照ピクチャに関してコード化されるＢスライスを双方向予測するために、同じ単一参照ピクチャリストを利用し得る。この場合、２つの異なる参照ピクチャの両方が単一参照ピクチャリスト中で識別される。これは、ビデオコーダが、Ｐスライス、Ｂスライス、及び／又はＧＰＢスライスを処理する方法の類似度を高め、それにより、ビデオコーダの処理効率が高まり得る。言い換えれば、ビデオブロックが１つ又は２つの参照ピクチャに関してコード化されるとき、ビデオコーダは、任意のタイプのインターコード化スライスのビデオブロックをコード化するために、２つ以上の参照ピクチャリストを構成する必要がないことがある。
【００２１】
本開示で説明する例示的な技法のうちの１つ以上では、これらのスライスタイプのビデオブロックが、それぞれ、ただ１つの参照ピクチャリスト（例えば、単一参照ピクチャリスト）中で識別された（１つ以上の）参照ピクチャを用いてコード化され得るので、ビデオコーダは、インターコード化スライスがＰスライスであるのか、Ｂスライスであるのか、更にはＧＰＢスライスであるのかを示すか又は場合によっては認識する（例えば、決定する）必要がないことがある。これは、コード化される必要がある情報の量を低減し得る。例えば、全てのタイプのインターコード化スライス中のビデオブロックは、同じ単一参照ピクチャリストに関してコード化され、また、ビデオブロックを予測するために使用される参照ピクチャの数にかかわらず、同じ単一参照ピクチャリストに関してコード化されるので、ビデオエンコーダは、インターコード化スライスの特定タイプを示すシンタックス情報を符号化する必要がなく、ビデオデコーダは、インターコード化スライスの特定タイプを示す情報を復号する必要がないことがある。
【００２２】
幾つかの例では、ビデオデコーダは、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施し得る。単一参照ピクチャリストを構成するためのデフォルト構成技法は、ビデオデコーダが単一参照ピクチャリストを構成するための設定された定義された方法を指す。概して、ビデオデコーダは、ビデオエンコーダによって信号伝達されるコード化命令を受信することなしに、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施し得る。
【００２３】
単一参照ピクチャリストを構成するためのデフォルト構成技法は、概して、現在ピクチャのビデオブロックをコード化するために使用される参照ピクチャと現在ピクチャとの間の時間距離に基づき得る。一例として、参照ピクチャと現在ピクチャとの間の時間距離はプレゼンテーション時間の差であり得る。上記で説明したように、各ピクチャは、ピクチャが表示、即ち提示される順序を示すピクチャ順序カウント（ＰＯＣ）値を割り当てられ得、プレゼンテーション時間の差は、１つ以上の参照ピクチャと現在ピクチャとのＰＯＣ値の差であり得る。
【００２４】
別の例として、参照ピクチャと現在ピクチャとの間の時間距離はコード化時間の差であり得る。上記で説明したように、各ピクチャは、ピクチャがコード化、例えば復号される順序を示すピクチャ数値を割り当てられ得、コード化時間の差は、１つ以上の参照ピクチャと現在ピクチャとのピクチャ数値の差であり得る。説明及び明快のために、本開示の技法について、時間距離がプレゼンテーション時間の差であるコンテキストにおいて説明する。但し、本開示の態様はそのように限定されず、時間距離はコード化時間（例えば、復号時間）の差であり得る。
【００２５】
デフォルト構成技法の一部として、ビデオデコーダは、現在ピクチャまでの参照ピクチャの時間距離に基づいて、単一参照ピクチャリスト中に参照ピクチャのための識別子を含め得る。参照ピクチャのための識別子は、参照ピクチャのＰＯＣ値、又はピクチャ数値であり得る。２つの参照ピクチャと現在ピクチャとの間の時間距離が等しい場合、デフォルト構成技法は、以下でより詳細に説明するように、２つの参照ピクチャのいずれが、他の参照ピクチャの前に単一参照ピクチャリスト中に含まれるべきであるかを定義し得る。
【００２６】
単一参照ピクチャリストを構成するためのデフォルト構成技法は、コード化される情報の量を更に低減し得る。例えば、デフォルト構成技法を用いると、ビデオデコーダは、単一参照ピクチャリストを構成すべき方法を示す情報を復号する必要がない。そうではなく、ビデオデコーダは、単一参照ピクチャリストの各エントリ中に追加されるべき各参照ピクチャなど、単一参照ピクチャリストをどのように構成するかを明示的に示す情報の受信に依拠しないデフォルト構成技法を実施するようにプログラム又は場合によっては構成され得る。このようにして、ビデオエンコーダは、ビデオデコーダが単一参照ピクチャリストを構成すべきである方法でビデオデコーダに命令するシンタックス情報を信号伝達する必要がないことがある。
【００２７】
コード化される情報の量を低減するために、幾つかの例では、ビデオエンコーダは、ピクチャのスライス、ピクチャの全体、又はピクチャのセットが単方向予測コード化に限定されるかどうかを示すシンタックス要素を符号化し得る。単方向予測コード化は、ただ１つの参照ピクチャに関するコード化を意味する。より詳細に説明するように、コード化が単方向予測コード化に限定されることを示すシンタックス要素をｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素と呼ぶ。
【００２８】
一例として、インターコード化スライスの各ビデオブロックは、１つの参照ピクチャ又は２つの参照ピクチャに関してコード化され得る。所与のスライス中の全てのビデオブロックが１つの参照ピクチャに関してコード化されるとき、ビデオエンコーダは、スライスがＰスライスであるのか、Ｂスライスであるのか、ＧＰＢスライスであるのかにかかわらず、スライスがただ１つの参照ピクチャに関してコード化されることを示すためにｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を符号化し得る。ビデオデコーダは、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を復号して、現在スライス中の全てのビデオブロックがただ１つの参照ピクチャに関して符号化されることを認識（例えば、決定）し得る。
【００２９】
この例では、現在スライス中の各ビデオブロックについて、ビデオデコーダは、ビデオブロックを符号化するために使用された単一参照ピクチャリスト中の単一の参照ピクチャを示すシンタックス要素を復号することを予想し得、必ずしも、他の参照ピクチャがビデオブロックを符号化するために使用されたかどうかを示す追加のシンタックス要素を待つ必要があるとは限らないであろう。このようにして、コード化が単方向予測コード化に限定されることを示すシンタックス要素は、ビデオデコーダが全てのインターコード化スライスを処理する方法で類似度を更に促進し、ならびにビデオデコーダの計算効率を更に促進し（例えば、スライスを復号することに関連する複雑さを低下させ）得る。
【００３０】
ビデオエンコーダは、各スライスに付加されたヘッダ中で、予測が単方向予測コード化に限定されるかどうかを示すこの新しいシンタックス要素（例えば、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素）を信号伝達し得る。スライスヘッダ中に埋め込まれるものとして説明したが、この新しいシンタックス要素は、ピクチャパラメータセット（ＰＰＳ）又はシーケンスパラメータセット（ＳＰＳ）など、別個に信号伝達されるパラメータセット中に埋め込まれ得る。
【００３１】
コード化が単方向予測コード化に限定されるとき、ビデオコーダは、スライス中のビデオブロックが単方向予測されるのみであることを意味する「真」を示す１に等しい値をもつｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素をコード化し得る。そうでない場合、ビデオコーダは、スライス中のビデオブロックが双方向予測又は単方向予測され得ることを意味する「偽」を示す０に等しい値をもつｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素をコード化するか、又はｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素をまったくコード化しない。
【００３２】
コード化が単方向予測コード化に限定されない場合、ビデオエンコーダはまた、１つ又は２つの参照ピクチャに関する双方向予測を使用して符号化されるスライスのブロックの割合を示す情報を信号伝達し得る。幾つかの例では、双方向予測を使用して符号化されるスライスのブロックの割合を示す情報を信号伝達することに加えて又はその代わりに、ビデオエンコーダは、双方向予測を使用して符号化されるスライス内のエリアの割合を示す情報を信号伝達し得る。双方向予測されるスライスのブロックの割合又は双方向予測されるスライスのエリアの割合を示す情報は、スライスヘッダ中に埋め込まれるか、ＰＰＳ又はＳＰＳ中に別個に埋め込まれるか、あるいは、より低いレベルに準拠するデコーダが、双方向予測（bi-prediction）を使用する、より少ないパーセントのコード化単位（ＣＵ）を有し得、従って、より少ない復号計算を必要とするように、レベル定義中に埋め込まれ得る。
【００３３】
図１は、本開示の例による、ビデオブロックの双方向予測と単方向予測の両方のための単一参照ピクチャリストを効率的にコード化し、構成するための技法を利用し得る例示的なビデオ符号化及び復号システム１０を示すブロック図である。概して、単一参照ピクチャリストは、代替的に単一参照フレームリストと呼ばれることがある。図１に示すように、システム１０は、宛先機器１４によって復号するための符号化ビデオを生成する発信源１２を含む。発信源１２及び宛先機器１４は、それぞれビデオコード化機器の一例であり得る。発信源１２は、通信チャネル１６を介して宛先機器１４に符号化ビデオを送信し得、又は、符号化ビデオが必要に応じて宛先機器１４によってアクセスされ得るように、符号化ビデオを記憶媒体１７又はファイルサーバ１９に記憶し得る。
【００３４】
発信源１２及び宛先機器１４は、デスクトップコンピュータ、ノートブック（即ち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、所謂スマートフォンなどの電話ハンドセット、テレビジョン、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソールなどを含む、広範囲にわたる機器のいずれかを備え得る。多くの場合、そのような機器はワイヤレス通信が可能であり得る。従って、通信チャネル１６は、符号化ビデオデータの送信に好適なワイヤレスチャネル、ワイヤードチャネル、又はワイヤレスチャネルとワイヤードチャネルとの組合せを備え得る。同様に、ファイルサーバ１９は、インターネット接続を含む任意の標準データ接続を介して宛先機器１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデムなど）、又は両方の組合せを含み得る。
【００３５】
本開示の例による、任意のタイプのスライスのビデオブロックをコード化するための単一参照ピクチャリストを構成するための技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、又は他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコード化に適用され得る。幾つかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、及び／又はビデオテレフォニーなどの適用例をサポートするために、一方向又は双方向のビデオ送信をサポートするように構成され得る。
【００３６】
図１の例では、発信源１２は、ビデオソース１８と、ビデオエンコーダ２０と、変調器／復調器（モデム）２２と、出力インターフェース２４とを含む。発信源１２において、ビデオソース１８は、ビデオカメラなどの撮像装置、以前に撮影されたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、及び／又はソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、若しくはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、発信源１２及び宛先機器１４は、所謂カメラ付き携帯電話又はビデオ電話を形成し得る。但し、本開示で説明する技法は、概してビデオコード化に適用可能であり得、ワイヤレス及び／又はワイヤード適用例に適用され得る。
【００３７】
撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはビデオエンコーダ２０によって符号化され得る。符号化されたビデオ情報は、ワイヤレス通信プロトコルなどの通信規格に従ってモデム２２によって変調され、出力インターフェース２４を介して宛先機器１４に送信され得る。モデム２２は、信号変調のために設計された様々なミキサ、フィルタ、増幅器又は他の構成要素を含み得る。出力インターフェース２４は、増幅器、フィルタ、及び１つ以上のアンテナを含む、データを送信するために設計された回路を含み得る。
【００３８】
ビデオエンコーダ２０によって符号化された、撮影されたビデオ、以前に撮影されたビデオ、又はコンピュータ生成ビデオはまた、後で消費するために記憶媒体１７又はファイルサーバ１９に記憶され得る。記憶媒体１７は、ブルーレイ（登録商標）ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は符号化ビデオを記憶するための他の好適なデジタル記憶媒体を含み得る。記憶媒体１７に記憶された符号化ビデオは、次いで、復号及び再生のために宛先機器１４によってアクセスされ得る。
【００３９】
ファイルサーバ１９は、符号化ビデオを記憶することと、その符号化ビデオを宛先機器１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（ＮＡＳ）機器、ローカルディスクドライブ、又は符号化ビデオデータを記憶することと、符号化ビデオデータを宛先機器に送信することとが可能な他タイプの機器を含む。ファイルサーバ１９からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組合せであり得る。ファイルサーバ１９は、インターネット接続を含む任意の標準データ接続を介して宛先機器１４によってアクセスされ得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ接続）、ワイヤード接続（例えば、ＤＳＬ、ケーブルモデム、イーサネット（登録商標）、ＵＳＢなど）、又は両方の組合せを含み得る。
【００４０】
図１の例では、宛先機器１４は、入力インターフェース２６と、モデム２８と、ビデオデコーダ３０と、表示装置３２とを含む。宛先機器１４の入力インターフェース２６はチャネル１６を介して情報を受信し、モデム２８はその情報を復調して、ビデオデコーダ３０のための復調されたビットストリームを生成する。復調されたビットストリームは、ビデオデータを復号する際にビデオデコーダ３０が使用する、ビデオエンコーダ２０によって生成された様々なシンタックス情報を含み得る。そのようなシンタックスはまた、記憶媒体１７又はファイルサーバ１９に記憶された符号化ビデオデータとともに含まれ得る。一例として、シンタックスは符号化ビデオデータとともに埋め込まれ得るが、本開示の態様は、そのような要件に限定されるものと見なすべきではない。ビデオデコーダ３０によっても使用される、ビデオエンコーダ２０によって定義されるシンタックス情報は、予測単位（ＰＵ：prediction unit）、コード化単位（ＣＵ）又はコード化ビデオの他の単位、例えば、ビデオスライス、ビデオピクチャ、及びビデオシーケンス又はグループ・オブ・ピクチャ（ＧＯＰ）の特性及び／又は処理を記述するシンタックス要素を含み得る。ビデオエンコーダ２０及びビデオデコーダ３０の各々は、ビデオデータを符号化又は復号することが可能であるそれぞれのエンコーダデコーダ（コーデック）の一部を形成し得る。
【００４１】
表示装置３２は、宛先機器１４と一体化されるか又はその外部にあり得る。幾つかの例では、宛先機器１４は、一体型表示装置を含み、また、外部表示装置とインターフェースするように構成され得る。他の例では、宛先機器１４は表示装置であり得る。概して、表示装置３２は、復号されたビデオデータをユーザに対して表示し、液晶表示器（ＬＣＤ）、プラズマ表示器、有機発光ダイオード（ＯＬＥＤ）表示器、又は別のタイプの表示装置など、様々な表示装置のいずれかを備え得る。
【００４２】
図１の例では、通信チャネル１６は、無線周波数（ＲＦ）スペクトル又は１つ以上の物理伝送線路など、任意のワイヤレス又はワイヤード通信媒体、若しくはワイヤレス媒体とワイヤード媒体との任意の組合せを備え得る。通信チャネル１６は、ローカルエリアネットワーク、ワイドエリアネットワーク、又はインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信チャネル１６は、概して、ワイヤード媒体又はワイヤレス媒体の任意の好適な組合せを含む、ビデオデータを発信源１２から宛先機器１４に送信するのに好適な任意の通信媒体、又は様々な通信媒体の集合体を表す。通信チャネル１６は、発信源１２から宛先機器１４への通信を可能にするのに有用であり得るルータ、スイッチ、基地局、又は任意の他の機器を含み得る。
【００４３】
ビデオエンコーダ２０及びビデオデコーダ３０は、新生の高効率ビデオコード化（ＨＥＶＣ）規格又は代替的にＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）とも呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、ビデオ圧縮規格に従って動作し得る。ＨＥＶＣ規格は、ＩＴＵ−Ｔ／ＩＳＯ／ＩＥＣ  Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＪＣＴ−ＶＣ）によって現在開発中である。但し、本開示の技法は、いかなる特定のコード化規格にも限定されない。他の例には、ＭＰＥＧ−２及びＩＴＵ−Ｔ  Ｈ．２６３がある。
【００４４】
図１には示されていないが、幾つかの態様では、ビデオエンコーダ２０及びビデオデコーダ３０は、それぞれオーディオエンコーダ及びオーディオデコーダと統合され得、また、共通のデータストリーム又は別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するための適切なＭＵＸ−ＤＥＭＵＸユニット、又は他のハードウェア及びソフトウェアを含み得る。適用可能な場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、又はユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４５】
ビデオエンコーダ２０及びビデオデコーダ３０はそれぞれ、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、又はそれらの任意の組合せとして実施され得る。本技法がソフトウェアで部分的に実施されるとき、機器は、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、１つ以上のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。
【００４６】
ビデオエンコーダ２０及びビデオデコーダ３０の各々は１つ以上のエンコーダ又はデコーダ中に含まれ得、そのいずれも、それぞれの機器において複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。幾つかの事例では、ビデオエンコーダ２０及びビデオデコーダ３０は、一般に、情報（例えば、ピクチャ及びシンタックス要素）をコード化するビデオコーダと呼ばれることがある。情報のコード化は、ビデオコーダがビデオエンコーダ２０に対応するときには符号化を指し得る。情報のコード化は、ビデオコーダがビデオデコーダ３０に対応するときには復号を指し得る。
【００４７】
更に、本開示で説明する技法は、ビデオエンコーダ２０がシンタックス要素などの情報を信号伝達することを指し得る。ビデオエンコーダ２０が情報を信号伝達するとき、本開示の技法は、概して、ビデオエンコーダ２０が情報を与える方法を指す。例えば、ビデオエンコーダ２０がビデオデコーダ３０にシンタックス要素を信号伝達するとき、それは、ビデオエンコーダ２０が、出力インターフェース２４及び通信チャネル１６を介してビデオデコーダ３０にシンタックス要素を送信したこと、又はビデオエンコーダ２０が、ビデオデコーダ３０による最終的な受信のために、出力インターフェース２４を介してシンタックス要素を記憶媒体１７及び／又はファイルサーバ１９に記憶したことを意味し得る。このようにして、ビデオエンコーダ２０からビデオデコーダ３０への信号伝達は、ビデオデコーダ３０によって直ちに受信されるビデオエンコーダ２０からの送信が可能であり得るが、これを必要とするものと解釈されるべきではない。そうではなく、ビデオエンコーダ２０からビデオデコーダ３０への信号伝達は、ビデオエンコーダ２０が、ビデオデコーダ３０による最終的な受信のために情報を与える技法として解釈されるべきである。
【００４８】
本開示の例では、ビデオエンコーダ２０は、イントラ予測又はインター予測を使用して、ビデオブロックと呼ばれる、ビデオデータのピクチャの一部分を符号化し得る。ビデオブロックはスライスの一部分であり得、スライスはピクチャの一部分であり得る。説明のために、本開示で説明する例示的な技法について、概して、スライスのビデオブロックに関して説明する。例えば、スライスのイントラ予測ビデオブロックは、スライス内のビデオブロックがイントラ予測されること（例えば、スライス内又はスライスを含むピクチャ内の隣接ブロックに関して予測されること）を意味する。同様に、スライスのインター予測ビデオブロックは、スライス内のビデオブロックがインター予測されること（例えば、１つ以上の参照ピクチャの１つ又は２つのビデオブロックに関して予測されること）を意味する。
【００４９】
イントラコード化ビデオブロックと呼ばれるイントラ予測ビデオブロックの場合、ビデオエンコーダ２０は、ピクチャ内の他の部分に関してビデオブロックを予測し、符号化する。ビデオデコーダ３０は、ビデオデータの他のピクチャを参照することなしにイントラコード化ビデオブロックを復号し得る。インターコード化ビデオブロックと呼ばれるインター予測ビデオブロックの場合、ビデオエンコーダ２０は、１つ又は２つのピクチャ内の１つ又は２つの部分に関してビデオブロックを予測し、符号化する。これらの他のピクチャは参照ピクチャと呼ばれ、参照ピクチャはまた、更に他の１つ以上の参照ピクチャに関して予測されるピクチャ、又はイントラ予測ピクチャであり得る。
【００５０】
スライス内のインター予測ビデオブロックは、１つの参照ピクチャを指し示す１つの動きベクトル、又は２つの異なる参照ピクチャを指し示す２つの動きベクトルに関して予測されるビデオブロックを含み得る。ビデオブロックが、１つの参照ピクチャを指し示す１つの動きベクトルに関して予測されるとき、そのビデオブロックは単方向予測されると見なされる。ビデオブロックが、２つの異なる参照ピクチャを指し示す２つの動きベクトルに関して予測されるとき、そのビデオブロックは双方向予測されると見なされる。幾つかの例では、動きベクトルはまた、参照ピクチャ情報（例えば、動きベクトルがどの参照ピクチャを指し示すかを示す情報）を含み得る。但し、本開示の態様はそのように限定されない。
【００５１】
例えば、Ｐスライスは、表示順序において、スライスを含むピクチャに対して時間的に前に発生する１つの参照ピクチャに関して予測されるビデオブロックを含み得る。Ｂスライスは、表示順序において、スライスを含むピクチャに対して時間的に前に発生する１つの参照ピクチャに関して予測されるか、表示順序において、スライスを含むピクチャに対して時間的に後に発生する１つの参照ピクチャに関して予測されるか、又は、それぞれ表示順序において、スライスを含むピクチャに対して時間的に前の１つの参照ピクチャと時間的に後の１つの参照ピクチャとに関して予測されるビデオブロックを含み得る。
【００５２】
幾つかの例では、Ｐスライス及びＢスライス分類は一般化Ｐ／Ｂ（ＧＰＢ）スライスに拡張される。ＧＰＢスライスでは、ビデオブロックはＢスライスとして符号化される。２つの参照ピクチャから予測されるＧＰＢスライスのビデオブロックでは、幾つかの例では、参照ピクチャの両方が、表示順序において、スライスを含むピクチャに対して時間的に前であるか、又は、表示順序において、スライスを含むピクチャに対して時間的に後であり得る。Ｂスライスと同様に、２つの参照ピクチャから予測されるＧＰＢスライスのビデオブロックでは、表示順序において、スライスを含むピクチャに対して、一方の参照ピクチャは時間的に後であり得、他方の参照ピクチャは時間的に前であり得る。
【００５３】
例えば、単方向予測ビデオブロックは、１つの参照ピクチャを指し示す１つの動きベクトルから予測されるビデオブロックであり、Ｐスライス、Ｂスライス、又はＧＰＢスライスの単方向予測ビデオブロックであり得る。双方向予測ビデオブロックは、２つの異なる参照ピクチャをそれぞれ指し示す２つの動きベクトルから予測されるビデオブロックであり、Ｂスライス又はＧＰＢスライスの双方向予測ビデオブロックであり得る。より詳細に説明するように、ビデオエンコーダ２０及びビデオデコーダ３０は単一参照ピクチャリストを利用し、幾つかの例では、ビデオブロックがＰスライスの一部であるのか、Ｂスライスの一部であるのか、ＧＰＢスライスの一部であるのかにかかわらず、単方向予測ビデオブロックと双方向予測ビデオブロックの両方を符号化又は復号するために単一参照ピクチャリストのみを利用し得る。
【００５４】
例えば、インター予測ビデオブロックでは、ビデオエンコーダ２０は、ビデオエンコーダ２０が現在ビデオブロックを予測するためにどの参照ピクチャを利用したかを示す参照ピクチャリストを構成するものと見なされ得る。ビデオデコーダ３０も、ビデオエンコーダ２０が現在ビデオブロックを符号化するためにどの参照ピクチャを利用したかを示す参照ピクチャリストを構成し得るので、ビデオデコーダ３０は、ビデオエンコーダ２０によって利用された参照ピクチャに基づいて現在ビデオブロックを復号することができる。
【００５５】
より詳細に説明するように、本開示で説明する例示的な技法では、ビデオエンコーダ２０がビデオブロックを予測した方法にかかわらず、ビデオエンコーダ２０がビデオブロックを予測するためにどの参照ピクチャを利用したかを示す単一参照ピクチャリストをビデオデコーダ３０が構成する方法について説明する。ビデオデコーダ３０は、この単一参照ピクチャリストを利用して、ビデオブロックがインター予測される方法にかかわらず、インター予測ビデオブロックを復号し得る。幾つかの例では、ビデオエンコーダ２０は、ビデオエンコーダ２０がビデオブロックを予測するためにどの参照ピクチャを利用すべきであるかを示すそれ自体の単一参照ピクチャリストを使用して、ビデオブロックを予測し得る。
【００５６】
任意のタイプのスライスのためのビデオブロックの例には、コード化単位（ＣＵ）、予測単位（ＰＵ）、又は変換単位（ＴＵ）がある。現在ビデオブロックを予測するために、ビデオエンコーダ２０は、現在ビデオブロックと同様のコンテンツを含む１つ又は２つの参照ピクチャのブロックを識別する。ビデオエンコーダ２０は、各識別されたブロックについて、現在ビデオブロックのブロックの位置と、参照ピクチャの各々中の一致する１つ以上のブロックの位置との差を識別する動きベクトルを決定する。
【００５７】
幾つかの例では、ビデオエンコーダ２０及びビデオデコーダ３０は、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックを予測するためにどの参照ピクチャが利用されるかを示す単一参照ピクチャリストをそれぞれ構成し得る。代替的に、一方のみ、例えば、ビデオエンコーダ２０ではなくビデオデコーダ３０が単一参照ピクチャリストを構成し得る。ビデオエンコーダ２０も同様の方法で単一参照ピクチャリストを構成し得るという了解の下で、ビデオデコーダ３０が単一参照ピクチャリストを構成することに関する様々な例について説明する。但し、本開示の幾つかの部分では、理解を助けるために、単一参照ピクチャリストの構成についてビデオエンコーダ２０の観点から説明する。
【００５８】
単一参照ピクチャリスト中の１つ以上の参照ピクチャのための識別子は、参照ピクチャに割り当てられたピクチャ順序カウント（ＰＯＣ）値及び／又はピクチャ数値であり得る。ＰＯＣ値は、ビデオシーケンス又はグループ・オブ・ピクチャ（ＧＯＰ）中のピクチャの表示順序を示し得る。ピクチャ数値は、ビデオシーケンス又はＧＯＰ中のピクチャのコード化順序を示し得る。一例として、別のピクチャと比較してより小さいＰＯＣ値をもつピクチャは、より早く表示されるが、必ずしもより早くコード化されるとは限らない。別のピクチャと比較してより小さいピクチャ数値をもつピクチャは、より早くコード化されるが、必ずしもより早く表示されるとは限らない。
【００５９】
例えば、ビデオデコーダ３０は、スライスのビデオブロックを復号するために使用される、例えば、ＰＯＣ値又はピクチャ数値を用いて参照ピクチャを示し得る、それの単一参照ピクチャリストを構成し得る。１つ以上の例示的な技法では、ビデオデコーダ３０は、この単一参照ピクチャリストを使用して、ビデオブロックが予測される方法にかかわらず、例えば、ビデオブロックが単方向予測されるのか双方向予測されるのかにかかわらず、ビデオブロックを復号し得る。
【００６０】
その上、ビデオデコーダ３０は、ビデオブロックを符号化するために使用される参照ピクチャの数にかかわらず、単一参照ピクチャリストを使用してビデオブロックを復号し得る。例えば、Ｐスライスのビデオブロックが１つの参照ピクチャに関して予測されると仮定すると、この例では、単一参照ピクチャリストは、Ｐスライスのビデオブロックを予測するために使用される参照ピクチャのための識別子を含む。ＧＰＢスライスのビデオブロックが２つの異なる参照ピクチャに関して予測されると仮定すると、この例では、単一参照ピクチャリストは、Ｐスライスのビデオブロックを予測するために使用される参照ピクチャのための識別子を含み、ＧＰＢスライスのビデオブロックを予測するために使用される参照ピクチャの両方のための識別子を含む。
【００６１】
ビデオデコーダ３０は、スライスのビデオブロックが予測された方法にかかわらず、そのスライスのビデオブロックを復号するために単一参照ピクチャリストを利用するので、この単一参照ピクチャリストは、異なるスライスタイプ間の一般化を更に促進し得る。例えば、従来の技法は、リスト０と呼ばれる第１の参照ピクチャリストの構成と、リスト１と呼ばれる第２の参照ピクチャリストの構成とを必要とした。これらの従来の技法では、Ｐスライスのビデオブロックの場合、ビデオデコーダ３０は、ビデオブロックをＰスライスのビデオブロックであるものとして識別するシンタックス情報を復号するであろう。ビデオデコーダ３０は、次いで、Ｐスライスのビデオブロックを予測するために使用される参照ピクチャのための識別子がリスト０中のどこに位置するかを示すシンタックス情報を復号するであろう。
【００６２】
これらの従来の技法では、Ｂスライスのビデオブロックの場合、ビデオデコーダ３０は、ビデオブロックをＢスライスのビデオブロックであるものとして識別するシンタックス情報を復号するであろう。ビデオデコーダ３０は、次いで、ビデオブロックが、リスト０中で識別されたただ１つの参照ピクチャから予測されるのか、リスト１中で識別されたただ１つの参照ピクチャから予測されるのか、又は、一方のピクチャはリスト０中で識別され、他方のピクチャはリスト１中で識別される、２つの参照ピクチャから予測されるのかを示すシンタックス情報を復号するであろう。ビデオデコーダ３０は、次いで、Ｂスライスのビデオブロックを予測するために使用される１つ以上の参照ピクチャのための識別子が、リスト０、リスト１、又はリスト０とリスト１の両方中のどこに位置するかを示すシンタックス情報を復号するであろう。
【００６３】
従来の技法では、ＧＰＢスライスのビデオブロックの場合、ビデオデコーダ３０はリスト１とリスト０とを構成するであろう。しかしながら、幾つかの特殊な状況では、ビデオデコーダ３０は、特定のＧＰＢスライスについてリスト１とリスト０とが同一であることを示すシンタックス情報を復号するであろう。これらの状況では、ビデオデコーダ３０は、リスト０を構成し、リスト１を作成するためにリスト０の複製を作成し、又はその逆も同様である。Ｂスライスと同様に、これらの状況でも、従来の技法では、ビデオデコーダ３０は、ＧＢＰスライスのビデオブロックが、リスト０中で識別されたただ１つの参照ピクチャから予測されるのか、リスト１中で識別されたただ１つの参照ピクチャから予測されるのか、又は、一方のピクチャはリスト０中で識別され、他方のピクチャはリスト１中で識別される、２つの参照ピクチャから予測されるのかを示すシンタックス情報を復号するであろう。ビデオデコーダ３０は、次いで、ＧＢＰスライスのビデオブロックを予測するために使用される１つ以上の参照ピクチャのための識別子が、リスト０、リスト１、又はリスト０とリスト１の両方中のどこに位置するかを示すシンタックス情報を復号するであろう。
【００６４】
本開示で説明する例示的な実施形態では、ビデオデコーダ３０は、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックを復号するために第１及び第２の参照ピクチャリスト（例えば、リスト０及びリスト１）に依拠する必要がないことがあり、むしろ、任意のスライスタイプのビデオブロックを復号するために同じ単一参照ピクチャリストを利用し得る。例えば、本開示で説明する例示的な実施形態では、ビデオブロックが１つの参照ピクチャに関して符号化される場合、ビデオデコーダ３０は、参照ピクチャのための識別子が単一参照ピクチャリスト中のどこに位置するかを示すシンタックス情報を復号し得る。また、本開示で説明する例示的な実施形態では、ビデオブロックが２つの参照ピクチャ（例えば、第１の参照ピクチャ及び第２の参照ピクチャ）に関して符号化される場合、ビデオデコーダ３０は、第１の参照ピクチャのための識別子が単一参照ピクチャリスト中のどこに位置するかを示すシンタックス情報を復号し得、第２の参照ピクチャのための識別子が、同じ単一参照ピクチャリスト中のどこに位置するかを示すシンタックス情報を復号し得る。
【００６５】
幾つかの例では、第１及び第２の参照ピクチャは同じ参照ピクチャであり得る。これらの例では、ビデオデコーダ３０は、依然として、第１の参照ピクチャのための識別子が単一参照ピクチャリスト中のどこに位置するかを示すシンタックス情報を復号し得、第２の参照ピクチャのための識別子が、同じ単一参照ピクチャリスト中のどこに位置するかを示すシンタックス情報を復号し得る。しかしながら、この例では、第１及び第２の参照ピクチャのための識別子が単一参照ピクチャリスト中のどこに位置するかを示す復号されたシンタックス情報は、同じシンタックス情報であり得る。
【００６６】
また、本開示で説明する１つ以上の例では、ビデオデコーダ３０は、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックを復号するために単一参照ピクチャリストのみを構成し得るので、ビデオエンコーダ２０は、ビデオブロックがＰスライスのためのビデオブロックであるのか、Ｂスライスのためのビデオブロックであるのか、ＧＰＢスライスのためのビデオブロックであるのかに関する情報を信号伝達する（例えば、示す）必要がないことがある。言い換えれば、幾つかの例では、任意のスライスタイプのビデオブロックを復号するための参照ピクチャリストは、同じ単一参照ピクチャリストであり、幾つかの例では、唯一の単一参照ピクチャリストであるので、スライスタイプの指示はあまり関連性はない。このようにして、本開示で説明する例示的な実施形態では、ビデオエンコーダ２０によって生成されるビットストリーム中のシンタックス要素の量を低減し、ビデオデコーダ３０によって受信されるビットストリーム中のシンタックス要素の量を低減し得る。
【００６７】
コード化、例えば、符号化又は復号されるシンタックス要素の量を更に低減するために、幾つかの例では、ビデオデコーダ３０は、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施し得る。例えば、単一参照ピクチャリストを構成するためのデフォルト構成技法は、ビデオデコーダ３０が単一参照ピクチャリストを構成すべきである方法を示すシンタックス要素をビデオデコーダ３０が受信することを必要としない。これらの例では、ビデオエンコーダ２０は、ビデオデコーダ３０が単一参照ピクチャリストを構成すべきである方法でビデオデコーダ３０に命令するシンタックス要素を符号化せず、それにより、信号伝達される必要があるシンタックス要素の量を更に低減し得る。
【００６８】
単一参照ピクチャリストを構成するためのデフォルト構成技法は、ビデオデコーダ３０が単一参照ピクチャリストを構成するための設定された定義された方法を指す。以下でより詳細に説明するように、デフォルト構成技法の様々な例示的な実施形態があり得る。いずれの場合も、ビデオエンコーダ２０は、どの参照ピクチャが単一参照ピクチャリスト内に属するかを示すために、例示的な実施形態のうちの少なくとも１つを利用し得る。次いで、ビデオデコーダ３０は、任意のスライスタイプのビデオブロックを復号するために、どの参照ピクチャが単一参照ピクチャリスト内に属するかを示すためにビデオエンコーダ２０が利用したのと同じ例示的な実施形態を利用して単一参照ピクチャリストを構成し得る。
【００６９】
単一参照ピクチャリストを構成するためのデフォルト構成技法は、概して、現在ピクチャのビデオブロックを予測するために使用される参照ピクチャと現在ピクチャとの間の時間距離に基づき得る。これらの参照ピクチャは、前に復号されていることがある。例えば、ビデオデコーダ３０は、前に復号された参照ピクチャを用いてビデオブロックを復号し得る。ビデオデコーダ３０は、前に復号された参照ピクチャを内部バッファ又はメモリに記憶し得る。
【００７０】
一例として、参照ピクチャと現在ピクチャ（例えば、予測されたビデオブロックを含むピクチャ）との間の時間距離はプレゼンテーション時間の差であり得る。上記で説明したように、各ピクチャは、ピクチャが表示、即ち提示される順序を示すピクチャ順序カウント（ＰＯＣ）値を割り当てられ得る。この例では、２つのピクチャ間の時間距離は、２つのピクチャのＰＯＣ値の差の絶対値であり得る。例えば、表示順序が現在ピクチャの直前にくる参照ピクチャと現在ピクチャとのＰＯＣ値の差の絶対値は１になるので、その参照ピクチャと現在ピクチャとの間の時間距離は１である。別の例として、表示順序が現在ピクチャのすぐ隣のピクチャの直後にくる参照ピクチャと現在ピクチャとのＰＯＣ値の差の絶対値は２になるので、その参照ピクチャと現在ピクチャとの間の時間距離は２である。
【００７１】
単一参照ピクチャリストを構成するためのデフォルト構成技法の一例では、ビデオデコーダ３０は、現在ピクチャまでの参照ピクチャの時間距離に基づいて、参照ピクチャの各々のための識別子を単一参照ピクチャリストに昇順で含め得る。例えば、ビデオデコーダ３０は、単一参照ピクチャリスト中の、現在ピクチャから時間的により遠い（例えば、ＰＯＣ値の差がより大きい）参照ピクチャのための識別子よりも早い位置において、現在ピクチャに時間的により近い（例えば、ＰＯＣ値の差がより小さい）参照ピクチャのための識別子を配置し得る。この例では、参照ピクチャが、現在ピクチャに対して時間的に前であるのか時間的に後であるのかは無関係であり得る。また、この例では、参照ピクチャのための識別子は、参照ピクチャのピクチャ数値又はＰＯＣ値であり得る。
【００７２】
単一参照ピクチャリストを構成するためのデフォルト構成技法の別の例では、ビデオデコーダ３０は、現在ピクチャまでの参照ピクチャの時間距離に基づいて、参照ピクチャの各々のための識別子を単一参照ピクチャリストに降順で含め得る。例えば、ビデオデコーダ３０は、単一参照ピクチャリスト中の、現在ピクチャに時間的により近い参照ピクチャのための識別子よりも早い位置において、現在ピクチャから時間的により遠い参照ピクチャのための識別子を配置し得る。上記と同様に、この例では、参照ピクチャが、現在ピクチャに対して時間的に前であるのか時間的に後であるのかは無関係であり得る。また、上記と同様に、このオプションでは、参照ピクチャのための識別子は、参照ピクチャのピクチャ数値又はＰＯＣ値であり得る。
【００７３】
幾つかの事例では、２つの参照ピクチャと現在ピクチャとの間の時間距離が等しいことが可能であり得る。例えば、第１の参照ピクチャは、現在ピクチャの直前にくるピクチャであり得、第２の参照ピクチャは、現在ピクチャの直後にくるピクチャであり得る。この例では、現在ピクチャと第１の参照ピクチャとの間の時間距離は、現在ピクチャと第２の参照ピクチャとの間の時間距離と同じである。
【００７４】
２つの参照ピクチャと現在ピクチャとの間の時間距離が等しい場合、ビデオデコーダ３０は、単一参照ピクチャリスト中のより早い位置において、より早いプレゼンテーション時間、例えば、より小さいＰＯＣ値をもつ参照ピクチャのための識別子を含め、単一参照ピクチャリスト中のより遅い位置において、より遅いプレゼンテーション時間、例えば、より大きいＰＯＣ値をもつ参照ピクチャのための識別子を含め得る。代替例として、ビデオデコーダ３０は、単一参照ピクチャリスト中のより早い位置において、より遅いプレゼンテーション時間、例えば、より大きいＰＯＣ値をもつ参照ピクチャのための識別子を含め、単一参照ピクチャリスト中のより遅い位置において、より早いプレゼンテーション時間、例えば、より小さいＰＯＣ値をもつ参照ピクチャのための識別子を含め得る。
【００７５】
いずれの例でも、参照ピクチャのための識別子は、ＰＯＣ値又はピクチャ数値であり得る。例えば、ビデオデコーダ３０は、どの参照ピクチャが単一参照ピクチャリスト中で最初に含まれるかを決定するためにＰＯＣ値を利用し得る。しかしながら、ビデオデコーダ３０は、参照ピクチャのための識別子としてＰＯＣ値又はピクチャ数値を単一参照ピクチャリストに含め得る。
【００７６】
上記の例では、時間距離をプレゼンテーション順序の関数であるものとして説明したが、本開示の態様はそのように限定されない。代替例では、時間距離はコード化順序の関数であり得る。この場合も、コード化順序はピクチャ数値によって識別され得る。これらの代替例では、ビデオデコーダ３０は、現在ピクチャと参照ピクチャとのピクチャ数値間の差の絶対値に基づいて時間距離を決定し得る。ビデオデコーダ３０は、上記で説明したように、昇順又は降順で、但し、ＰＯＣ値ではなくピクチャ数値の差に基づいて、参照ピクチャのための識別子をリストし得る。この例では、参照ピクチャのための識別子は、ピクチャ数値又はＰＯＣ値であり得る。
【００７７】
また、これらの代替例では、２つの参照ピクチャと現在ピクチャとの間のピクチャ数値の差が同じである場合、ビデオデコーダ３０は、上記の例で説明したように、単一の参照ピクチャ中で一方の参照ピクチャを他方よりも早く配置し得る。この状況では、ビデオデコーダ３０は、ピクチャ数値に基づいて、単一参照ピクチャリスト中に参照ピクチャを配置し得る。簡潔のために、本開示の技法はそのように限定されないという理解の下で、本開示の技法について、時間距離がＰＯＣ値に基づくコンテキストにおいて説明する。
【００７８】
単に例示のために上記の例について説明した。概して、ビデオデコーダ３０は、ビデオデコーダ３０が、ビデオブロックを符号化するために使用される参照ピクチャの数にかかわらず、任意のスライスのビデオブロックを復号することができる単一参照ピクチャリストを構成するための任意のデフォルト構成技法を採用し得る。本開示の態様は、上記で説明した例に限定されるものと解釈すべきではない。
【００７９】
デフォルト構成技法は並べ替えステップをも含み得るが、並べ替えステップは、デフォルト構成技法のあらゆる例において必要とされるとは限らない。並べ替えより前に、単一参照ピクチャリストは初期化されたピクチャリストと見なされ得る。並べ替えの後に、単一参照ピクチャリストは参照ピクチャのための同じ識別子を含み得るが、単一参照ピクチャリスト中の参照ピクチャのこれらの識別子の位置は変化していることがある。
【００８０】
例えば、単一参照ピクチャリストは、複数の位置をもつ配列と見なされ得る。配列内の各位置は、それのインデックス値で識別され得、参照ピクチャのうちの１つのための識別子を格納し得る。並べ替えを用いて、ビデオデコーダ３０は、単一参照ピクチャリストの少なくとも１つのインデックス値が参照ピクチャの異なる識別子に関連付けられるように、単一参照ピクチャリスト内の参照ピクチャのための識別子の位置を変更し得る。
【００８１】
幾つかの例では、ビデオエンコーダ２０は、ピクチャのスライス又は全体のビデオブロックの予測を単方向予測（例えば、ただ１つの参照ピクチャに関する予測）に制限し得る。そのような制約は、任意のスライスタイプのビデオブロックについてただ１つの動きベクトルがあることを示すために単方向予測コード化と呼ばれることがある。例えば、そのような制約がある場合、Ｂスライス及びＧＰＢスライスのビデオブロックは、２つ以上の参照ピクチャを用いて符号化され得ない。概して、１つ又は２つの参照ピクチャを指し示す２つの動きベクトルに関して予測されるスライスのビデオブロックを符号化及び復号することは、１つの参照ピクチャを指し示すただ１つの動きベクトルから予測されるスライスのビデオブロックを符号化及び復号することと比較して、より複雑であり得る。例えば、補償複雑さは、単方向予測スライスと比較して、双方向予測スライスでは２倍になり得る。
【００８２】
ビデオエンコーダ２０は、スライスのビデオブロックが単方向予測コード化に制約されるかどうかを示すシンタックス要素を符号化し得る。説明のために、このシンタックス要素を「ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙ」と呼ぶ。ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素が「１」（例えば、真）であるとき、それは、スライス内のビデオブロックの全てが単方向予測コード化に制約されることを示す。ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素が「０」（例えば、偽）であるとき、それは、スライスのビデオブロックが１つ又は２つの参照ピクチャに関してコード化されることが可能であることを示す。言い換えれば、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙが０である場合、スライス内の１つ以上のビデオブロックは、場合によっては、２つ以上の参照ピクチャに関してコード化され得るが、依然として、適切な参照ピクチャを選択した結果として、いずれのビデオブロックも２つ以上の参照ピクチャに関して予測されないことが可能であり得る。
【００８３】
幾つかの例では、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素はスライスのヘッダの一部であり得る。これらの例では、ビデオエンコーダ２０は、各予測されたスライスに付加されたヘッダ中でｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を信号伝達し得る。代替例では、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素は、必ずしも各予測されたスライスのヘッダの一部であるとは限らない。例えば、ピクチャ全体が単方向予測コード化のみに制約されることが可能であり得る。これらの例では、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素は、ピクチャ全体のヘッダの一部であり得、必ずしもスライスレベルにあるとは限らない。
【００８４】
幾つかの代替例では、ビデオエンコーダ２０は、スライス又はピクチャとは別個にｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を信号伝達し得る。例えば、グループ・オブ・ピクチャ（ＧＯＰ）内のピクチャが全て単方向予測される場合、ビデオエンコーダ２０は、ピクチャパラメータセット（ＰＰＳ）又はシーケンスパラメータセット（ＳＰＳ）中でｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を信号伝達し得る。また、ＧＯＰ内のピクチャの全てが単方向予測されるとは限らない例でも、ビデオエンコーダ２０が、あるスライス又はピクチャについて、ＰＰＳ又はＳＰＳ中でｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックスを信号伝達することが可能であり得る。
【００８５】
ピクチャが単方向予測に制約されない例では、ビデオエンコーダ２０は、スライス内のいくつのビデオブロックが２つの参照ピクチャに関して符号化されるかを示す情報を信号伝達し得る。例えば、ビデオエンコーダ２０は、２つの参照ピクチャに関して符号化されるスライス内のビデオブロック、例えば、予測ユニットの割合を示すシンタックス要素を信号伝達し得る。２つの参照ピクチャに関して符号化されるビデオブロックの割合を示すシンタックス要素を信号伝達することに加えて又はその代わりに、ビデオエンコーダ２０は、２つの複数ピクチャに関して符号化されるビデオブロックによってピクチャのどのくらいが包含されるかを示すシンタックス要素を信号伝達し得る。一例として、ビデオエンコーダ２０は、ピクチャ内のビデオブロックの１０％が２つの参照ピクチャに関して符号化されることを示すシンタックス要素を信号伝達し、及び／又は、２つの参照ピクチャに関して符号化されるビデオブロックがピクチャの２５％を包含することを示すシンタックス要素を信号伝達し得る。ビデオエンコーダ２０は、スライスヘッダ又はピクチャヘッダ中で、若しくはＰＰＳ又はＳＰＳの一部として別個に、そのようなシンタックス要素を信号伝達し得る。
【００８６】
上記で説明したシンタックス要素は、説明のために与えたものであり、本開示のあらゆる例において必要であるとは限らない。例えば、ビデオエンコーダ２０は、任意のスライスタイプのビデオブロックを予測するためにどの参照ピクチャが使用されたかを示す単一参照ピクチャリストを構成し得る。ビデオブロックについて、ビデオエンコーダ２０は、ビデオブロックを予測するために使用される１つ以上の動きベクトルを信号伝達し、１つ以上の参照ピクチャの識別子が単一参照ピクチャリスト中に位置する位置を識別するインデックス値を信号伝達し得る。動きベクトル及びインデックス値に加えて、ビデオエンコーダ２０は、場合によっては、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素などのシンタックス要素を信号伝達し得る。更に、ビデオエンコーダ２０は、場合によっては、（例えば、ピクチャ内のビデオブロックの割合として、及び／又はピクチャにおけるビデオブロックによって包含されるエリアの割合として）いくつのビデオブロックが複数の参照ピクチャに関してコード化されるかを示すシンタックス要素を信号伝達し得る。
【００８７】
幾つかの例では、ビデオブロックの動きベクトルを信号伝達する代わりに、ビデオエンコーダ２０は、１つ以上の動き予測子を信号伝達し得る。動きベクトルは、１つ以上の動き予測子から予測され得る。例えば、動き予測子の平均が動きベクトルになり得る。例えば、ある動きベクトルのためにＮ個の動き予測子が使用される場合、Ｎ個の動き予測子の平均がその動きベクトルになり得る。
【００８８】
ビデオデコーダ３０は、通信チャネル１６を介して発信源１２から直接、又は記憶媒体１７若しくはファイルサーバ１９から、この情報の全てを受信し得る。ビデオデコーダ３０は、次いで、それ自体の単一参照ピクチャリストを構成し得る。一例として、ビデオデコーダ３０は、デフォルト構成技法を実施することによって（例えば、単一参照ピクチャリストをどのように構成するかについての情報を受信することなしに）、それ自体の単一参照ピクチャリストを構成し得る。次いで、ビデオエンコーダ２０が、単一参照ピクチャリストを並べ替えるようにビデオデコーダ３０に命令する情報を信号伝達した場合、ビデオデコーダ３０は単一参照ピクチャリストを並べ替え得る。
【００８９】
任意のスライスタイプのビデオブロックを復号するために、ビデオデコーダ３０は、１つ以上の動きベクトル情報と１つ以上のインデックス値とを復号し得る。１つ以上のインデックス値を用いて、ビデオデコーダ３０は、ビデオブロックが単方向予測されるのか双方向予測されるのかにかかわらず、またビデオブロックがＰスライスであるのか、Ｂスライスであるのか、ＧＰＢスライスであるのかにかかわらず、単一参照ピクチャリストから１つ以上の参照ピクチャを識別し得る。ビデオデコーダ３０は、それのメモリから識別された１つ以上の参照ピクチャを取り出し、取り出された１つ以上の参照ピクチャと復号された１つ以上の動きベクトル情報とを用いてビデオブロックを復号し得る。この場合も、ビデオブロックを復号するために使用される１つ以上の参照ピクチャは、前に復号され記憶された１つ以上の参照ピクチャである。
【００９０】
ビデオエンコーダ２０が、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素などのシンタックス要素、及び／又は複数の参照ピクチャに関して符号化されるビデオブロックの割合などの追加のシンタックス要素を信号伝達する例では、ビデオデコーダ３０は、復号のためにこれらのシンタックス要素を利用し得る。例えば、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙが１（例えば、真）であることをビデオエンコーダ２０が示した場合、ビデオデコーダ３０は、２つ以上の参照ピクチャに関して符号化されたビデオブロックを復号するために必要とされ得る初期化ステップをバイパスし得る。例えば、ビデオデコーダ３０は、ビデオブロックを含むスライスについてｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙフラグが真であるとき、そのビデオブロックを復号するために、単一参照ピクチャリスト内の２つのインデックス値を待つべきでないことを認識し得る。このようにして、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素はビデオデコーダ３０の計算効率を高め得る。
【００９１】
いくつのビデオブロック、例えば、予測ユニットが複数の参照ピクチャに関してコード化されるかを示すシンタックス要素は、効率的なビデオデコーダ３０処理を同様に促進し得る。例えば、そのようなシンタックス要素を用いて、ビデオデコーダ３０は、いくつのビデオブロックが単一参照ピクチャリスト内の２つ以上のインデックス値を必要とするか（例えば、２つの参照ピクチャに関して符号化されるビデオブロックの割合）に関して知り得る。これはビデオデコーダ３０の計算効率を高め得る。例えば、幾つかの事例では、上記で説明したように、双方向予測は単方向予測よりも計算量的に複雑であり得る。いくつのビデオブロックが単一参照ピクチャリスト内の２つ以上のインデックス値を必要とするかについての指示を用いて、ビデオデコーダ３０は、予測がどのくらい複雑になるかに関して知り得、双方向予測及び単方向予測スライスを復号するために適切なリソースを割り振ることが可能になり得る。
【００９２】
上記で説明したように、ＪＣＴ−ＶＣは、将来のＨ．２６５規格と呼ばれることがあるＨＥＶＣ規格の開発に取り組んでいる。以下は、理解を助けるためのＨＥＶＣ規格のより詳細な説明である。但し、上記のように、本開示の技法は、ＨＥＶＣ規格に限定されず、ビデオコード化全般に適用可能であり得る。
【００９３】
ＨＥＶＣの規格化の取り組みは、ＨＥＶＣテストモデル（ＨＭ）と呼ばれるビデオコード化機器のモデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣによる既存の機器に対してビデオコード化機器の幾つかの追加の能力を仮定する。例えば、Ｈ．２６４は９つのイントラ予測符号化モードを与えるが、ＨＭは３３個ものイントラ予測符号化モードを与える。
【００９４】
ＨＭでは、ビデオデータのブロックをコード化ユニット（ＣＵ）と呼ぶ。ビットストリーム内のシンタックスデータが、画素の数に関して最大のコード化ユニットである最大コード化ユニット（ＬＣＵ：largest coding unit）を定義し得る。概して、ＣＵは、ＣＵがサイズ差異を有しないことを除いて、Ｈ．２６４に従ってコード化されたマクロブロックと同様の目的を有する。従って、ＣＵはサブＣＵに分割され得る。概して、本開示におけるＣＵへの言及は、ピクチャの最大コード化ユニット又はＬＣＵのサブＣＵを指すことがある。ＬＣＵはサブＣＵに分割され得、各サブＣＵは、更にサブＣＵに分割され得る。ビットストリームのシンタックスデータは、ＣＵ深さと呼ばれる、ＬＣＵが分割され得る最大回数を定義し得る。それに応じて、ビットストリームは最小コード化ユニット（ＳＣＵ：smallest coding unit）をも定義し得る。
【００９５】
更に分割されないＣＵは、１つ以上の予測ユニット（ＰＵ）を含み得る。概して、ＰＵは、対応するＣＵの全部又は一部分を表し、そのＰＵの参照サンプルを取り出すためのデータを含む。例えば、ＰＵがイントラモード符号化、即ち、イントラ予測されるとき、ＰＵは、ＰＵのイントラ予測モードを記述するデータを含み得る。別の例として、ＰＵがインターモード符号化、即ち、インター予測されるとき、ＰＵは、ＰＵの動きベクトルを定義するデータを含み得る。
【００９６】
ＰＵの動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度（例えば、１／４画素精度もしくは１／８画素精度）、動きベクトルが指し示す参照ピクチャ、及び／又は動きベクトルの参照ピクチャリストを記述し得る。（１つ又は複数の）ＰＵを定義するＣＵのデータはまた、例えば、ＣＵを１つ以上のＰＵに区分することを記述し得る。区分モードは、ＣＵが、スキップモード符号化又はダイレクトモード符号化されるか、イントラ予測モード符号化されるか、若しくはインター予測モード符号化されるかによって異なり得る。
【００９７】
１つ以上のＰＵを有するＣＵはまた、１つ以上の変換単位（ＴＵ：transform unit）を含み得る。ＰＵを使用した予測の後に、ビデオエンコーダ２０は、ＰＵに対応するＣＵの部分の残差値を計算し得る。残差値は、エントロピーコード化のためのシリアル化変換係数（serialized transform coefficient）を生成するために、変換係数に変換され、量子化され、走査され得る画素差分値に対応する。ＴＵは、必ずしもＰＵのサイズに制限されるとは限らない。従って、ＴＵは、同じＣＵの対応するＰＵよりも大きいことも小さいこともある。幾つかの例では、ＴＵの最大サイズは、対応するＣＵのサイズであり得る。本開示では、ＣＵ、ＰＵ、又はＴＵのいずれかを指すために「ビデオブロック」という用語を使用する。
【００９８】
ビデオシーケンスは、一般に一連のビデオピクチャを含む。グループ・オブ・ピクチャ（ＧＯＰ）は、概して、一連の１つ以上のビデオピクチャを備える。ＧＯＰは、ＧＯＰ中に含まれる幾つかのピクチャを記述するシンタックスデータを、ＧＯＰのヘッダ中、ＧＯＰの１つ以上のピクチャのヘッダ中、又は他の場所に含み得る。各ピクチャは、それぞれのピクチャのための符号化モードを記述するピクチャシンタックスデータを含み得る。ビデオエンコーダ２０は、一般に、ビデオデータを符号化するために、個々のビデオピクチャ内のビデオブロックに対して動作する。ビデオブロックは、コード化単位（ＣＵ）又はＣＵの区分単位（ＰＵ：partition unit）に対応し得る。ビデオブロックは、固定サイズ又は可変サイズを有し得、指定のコード化規格に応じてサイズが異なり得る。各ビデオピクチャは複数のスライスを含み得る。各スライスは、１つ以上のＰＵを含み得る、複数のＣＵを含み得る。
【００９９】
一例として、ＨＥＶＣテストモデル（ＨＭ）は、様々なＣＵサイズでの予測をサポートする。ＬＣＵのサイズはシンタックス情報によって定義され得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２Ｎ又はＮ×Ｎのサイズでのイントラ予測をサポートし、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、又はＮ×Ｎの対称サイズでのインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、及びｎＲ×２Ｎのインター予測のための非対称分割をサポートする。非対称分割では、ＣＵの一方向は分割されないが、他の方向が２５％と７５％とに分割される。２５％の分割に対応するＣＵの部分は、「ｎ」と、その後ろに付く「Ｕｐ」、「Ｄｏｗｎ」、「Ｌｅｆｔ」、又は「Ｒｉｇｈｔ」という指示とによって示される。従って、例えば「２Ｎ×ｎＵ」は、上部の２Ｎ×０．５Ｎ  ＰＵと下部の２Ｎ×１．５Ｎ  ＰＵとで水平方向に分割される２Ｎ×２Ｎ  ＣＵを指す。
【０１００】
本開示では、「Ｎ×Ｎ（NxN）」と「Ｎ×Ｎ（N by N）」とは、垂直寸法と水平寸法とに関するビデオブロック（例えば、ＣＵ、ＰＵ、又はＴＵ）の画素寸法、例えば、１６×１６（１６ｘ１６）画素又は１６×１６（16 by 16）画素を指すために互換的に使用され得る。一般に、１６×１６ブロックは、垂直方向に１６画素を有し（ｙ＝１６）、水平方向に１６画素を有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、一般に、垂直方向にＮ画素を有し、水平方向にＮ画素を有し、Ｎは非負整数値を表す。ブロック中の画素は行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数の画素を有する必要があるとは限らない。例えば、ブロックはＮ×Ｍ画素を備え得、Ｍは必ずしもＮに等しいとは限らない。
【０１０１】
イントラ予測コード化又はインター予測コード化を行ってＣＵのためのＰＵを生成した後、ビデオエンコーダ２０は、残差データを計算して、ＣＵのための１つ以上の変換単位（ＴＵ）を生成し得る。ＣＵのＰＵは、（画素領域とも呼ばれる）空間領域において画素データを備え得、一方、ＣＵのＴＵは、例えば、残差ビデオデータへの離散コサイン変換（ＤＣＴ：discrete cosine transform）、整数変換、ウェーブレット変換、又は概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャの画素と、ＣＵのＰＵの予測値との間の画素差分に対応し得る。ビデオエンコーダ２０は、ＣＵのための残差データを含む１つ以上のＴＵを形成し得る。ビデオエンコーダ２０は、次いで、変換係数を生成するために、それらのＴＵを変換し得る。
【０１０２】
変換係数を生成するための変換の後、変換係数の量子化が実行され得る。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減して、さらなる圧縮を行うために、変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。例えば、量子化中にｎビット値がｍビット値に切り捨てられ得、ｎはｍよりも大きい。
【０１０３】
幾つかの例では、ビデオエンコーダ２０は、エントロピー符号化され得るシリアル化ベクトルを生成するために、予め定義された走査順序を利用して量子化変換係数を走査し得る。他の例では、ビデオエンコーダ２０は適応型走査を実行し得る。量子化変換係数を走査して１次元ベクトルを形成した後、ビデオエンコーダ２０は、例えば、コンテキスト適応型可変長コード化（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースコンテキスト適応型バイナリ算術コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、又は別のエントロピー符号化方法に従って１次元ベクトルをエントロピー符号化し得る。
【０１０４】
ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、例えば、隣接値が非０か否かに関係し得る。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルの可変長コードを選択し得る。ＶＬＣにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、ＶＬＣの使用は、例えば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられたコンテキストに基づき得る。
【０１０５】
ビデオデコーダ３０は、ビデオエンコーダ２０の方法と本質的に対称的な方法で動作し得る。例えば、ビデオデコーダ３０は、ビデオピクチャの符号化されたＣＵを表す、エントロピー符号化されたデータを受信し得る。ビデオデコーダ３０は、インター予測ＣＵを復号するためにどの参照ピクチャが必要とされるかを識別するために、デフォルト構成技法を利用して単一参照ピクチャリストを構成し得る。
【０１０６】
図２は、ピクチャ３４、３５Ａ、３６Ａ、３８Ａ、３５Ｂ、３６Ｂ、３８Ｂ、及び３５Ｃを表示順序で含む、例示的なビデオシーケンス３３を示す概念図である。これらのピクチャのうちの１つ又は複数は、Ｐスライス、Ｂスライス、又はＧＰＢスライスを含み得る。場合によっては、ビデオシーケンス３３はグループ・オブ・ピクチャ（ＧＯＰ）と呼ばれることがある。ピクチャ３９は、シーケンス３３の後に発生するシーケンスの表示順序における最初のピクチャである。図２は、概して、ビデオシーケンスの例示的な予測構造を表し、単に、様々なインター予測スライスタイプを符号化するために使用されるピクチャ参照を示すものである。実際のビデオシーケンスは、異なる表示順序で様々なスライスタイプを含むより多い又はより少ないビデオピクチャを含んでいることがある。
【０１０７】
ブロックベースビデオコード化では、シーケンス３３中に含まれるビデオピクチャの各々はビデオブロック又はコード化ユニット（ＣＵ）に区分され得る。ビデオピクチャの各ＣＵは、１つ以上の予測ユニット（ＰＵ）を含み得る。イントラ予測ピクチャ中のビデオブロック又はＰＵは、同じピクチャ中の隣接ブロックに関する空間的予測を使用して符号化される。インター予測ピクチャ中のビデオブロック又はＰＵは、同じピクチャ中の隣接ブロックに関する空間的予測、又は他の参照ピクチャに関する時間的予測を使用し得る。
【０１０８】
Ｂスライス又はＧＰＢスライス中のビデオブロックは、単一参照ピクチャリスト中で識別された２つの参照ピクチャから２つの動きベクトルを計算するために、双方向予測コード化を使用して符号化され得る。Ｐスライスのビデオブロック、及び場合によっては、Ｂスライス又はＧＰＢスライスのビデオブロックは、単一参照ピクチャリスト中で識別された１つの参照ピクチャからの単方向予測コード化を使用して符号化され得る。本開示で説明する１つ以上の例によれば、図２に示す１つ以上のピクチャのインター予測ビデオブロックは、ビデオブロックがインター予測される方法にかかわらず（例えば、ビデオブロックがＰスライスの一部であるのか、Ｂスライスの一部であるのか、ＧＰＢスライスの一部であるのかにかかわらず）、また、ビデオブロックを符号化するために使用される参照ピクチャの数にかかわらず（例えば、ビデオブロックが単方向予測されるのか双方向予測されるのかにかかわらず）、単一参照ピクチャリスト中で示された参照ピクチャに関してインター予測され得る。
【０１０９】
図２の例では、最初のピクチャ３４は、イントラモードコード化のためにＩピクチャに指定される。他の例では、最初のピクチャ３４は、前のシーケンスの最初のピクチャに関するインターモードコード化を用いて、例えば、Ｐピクチャ、Ｂピクチャ、又はＧＰＢピクチャとしてコード化され得る。ビデオピクチャ３５Ａ〜３５Ｃ（総称して「ビデオピクチャ３５」）は、過去ピクチャと未来ピクチャとに関する双方向予測を使用するコード化のためにＢピクチャ又はＧＰＢピクチャに指定される。図示の例では、ピクチャ３５Ａは、ピクチャ３４とピクチャ３６Ａとからビデオピクチャ３５Ａへの矢印によって示されるように、最初のピクチャ３４とピクチャ３６Ａとに関するＢピクチャ又はＧＰＢピクチャとして符号化される。ピクチャ３５Ｂ及び３５Ｃは同様に符号化される。
【０１１０】
ビデオピクチャ３６Ａ〜３６Ｂ（総称して「ビデオピクチャ３６」）は、過去ピクチャに関する単方向予測を使用するコード化のために、Ｐピクチャ、Ｂピクチャ、又はＧＰＢピクチャに指定され得る。図示の例では、ピクチャ３６Ａは、ピクチャ３４からビデオピクチャ３６Ａへの矢印によって示されるように、最初のピクチャ３４に関するＰピクチャ、Ｂピクチャ、又はＧＰＢピクチャとして符号化される。ピクチャ３６Ｂは、ピクチャ３８Ａからビデオピクチャ３６Ｂへの矢印によって示されるように、ピクチャ３８Ａに関するＰピクチャ、Ｂピクチャ、又はＧＰＢピクチャとして同様に符号化される。
【０１１１】
ビデオピクチャ３８Ａ〜３８Ｂ（総称して「ビデオピクチャ３８」）は、同じ過去ピクチャに関する単方向予測を使用するコード化のために、Ｐピクチャ、Ｂピクチャ、又はＧＰＢピクチャに指定され得る。図示の例では、ピクチャ３８Ａは、ピクチャ３６Ａからビデオピクチャ３８Ａへの２つの矢印によって示されるように、ピクチャ３６Ａへの２つの参照を用いて符号化される。ピクチャ３８Ｂは同様に符号化される。
【０１１２】
図３は、本開示の１つ以上の態様による技法を実施し得るビデオエンコーダ２０の一例を示すブロック図である。ビデオエンコーダ２０はまた、スライス又はピクチャのビデオブロックが単方向予測に制約されるかどうかを示すシンタックス要素、いくつのビデオブロックが複数の参照ピクチャを用いて符号化されるかを示すシンタックス要素、及び／又はピクチャのどのくらいが複数の参照ピクチャを用いて符号化されるかを示すシンタックス要素を信号伝達するための技法を随意に実施し得る。ビデオエンコーダ２０は、ビデオピクチャ内のビデオブロックのイントラ及びインターコード化を実行し得る。イントラコード化は、所与のビデオピクチャ内のビデオの空間的冗長性を低減又は除去するために空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接ピクチャ内のビデオの時間的冗長性を低減又は除去するために時間的予測に依拠する。イントラモード（Ｉモード）は、幾つかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測（Ｐモード）、双方向予測（Ｂモード）、又は一般化Ｐ及びＢ予測などのインターモードは、幾つかの時間ベースの圧縮モードのいずれかを指し得る。
【０１１３】
図３の例では、ビデオエンコーダ２０は、モード選択ユニット４０と、予測ユニット４１と、参照ピクチャメモリ６４と、加算器５０と、変換ユニット５２と、量子化ユニット５４と、エントロピー符号化ユニット５６とを含む。予測ユニット４１は、動き推定ユニット４２と、動き補償ユニット４４と、イントラ予測ユニット４６とを含む。ビデオブロック再構成のために、ビデオエンコーダ２０はまた、逆量子化ユニット５８と、逆変換ユニット６０と、加算器６２とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ（図３に図示せず）も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器６２の出力をフィルタ処理することになる。
【０１１４】
図３に示すように、ビデオエンコーダ２０は、符号化されるべきビデオピクチャ又はスライス内の現在ビデオブロックを受信する。ピクチャ又はスライスは、一例として、複数のビデオブロック又はＣＵに分割され得るが、ＰＵ及びＴＵも含み得る。モード選択ユニット４０は、誤差結果に基づいて、現在ビデオブロックのためのコード化モードのうちの１つ、即ち、イントラ又はインターを選択し得、予測ユニット４１は、残差ブロックデータを生成するために、得られたイントラ又はインターコード化ブロックを加算器５０に与え、参照ピクチャとして使用する符号化ブロックを再構成するために、得られたイントラ又はインターコード化ブロックを加算器６２に与え得る。
【０１１５】
予測ユニット４１内のイントラ予測ユニット４６は、空間圧縮を行うために、コード化されるべき現在ブロックと同じピクチャ又はスライス中の１つ以上の隣接ブロックに対する現在ビデオブロックのイントラ予測コード化を実行し得る。予測ユニット４１内の動き推定ユニット４２及び動き補償ユニット４４は、時間圧縮を行うために、１つ以上の参照ピクチャ中の１つ以上の予測ブロックに対する現在ビデオブロックのインター予測コード化を実行する。１つ以上の参照ピクチャは単一参照ピクチャリスト６６から選択され得る。ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された復号された参照ピクチャに基づいて単一参照ピクチャリスト６６を構成し得る。
【０１１６】
動き推定ユニット４２は、ビデオシーケンスの所定のパターンに従ってビデオピクチャのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオピクチャ又はスライスをＰピクチャ又はＰスライス、Ｂピクチャ又はＢスライス、及びＧＰＢピクチャ又はＧＰＢスライスに指定し得る。動き推定ユニット４２は、ビデオスライスのビデオブロックをＰスライスとして符号化すべきか、Ｂスライスとして符号化すべきか、ＧＰＢスライスとして符号化すべきかを決定し得る。
【０１１７】
動き推定ユニット４２と動き補償ユニット４４とは、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット４２によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する現在ビデオピクチャ内のビデオブロックの変位を示し得る。予測ブロックは、絶対値差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、又は他の差分メトリックによって決定され得る画素差分に関して、コード化されるべきビデオブロックにぴったり一致することがわかるブロックである。幾つかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置の値を計算し得る。例えば、ビデオエンコーダ２０は、参照ピクチャの１／４画素位置、１／８画素位置、又は他の分数画素位置の値を計算し得る。従って、動き推定ユニット４２は、フル画素位置と分数画素位置とに対する動き探索を実行し、分数画素精度で動きベクトルを出力し得る。
【０１１８】
動き推定ユニット４２は、ビデオブロックの位置を単一参照ピクチャリスト６６中の参照ピクチャの予測ブロックの位置と比較することによって、インターコード化ビデオブロックのビデオブロックの動きベクトルを計算する。例えば、ビデオブロックが単方向予測されるとき、動き推定ユニット４２は、ビデオブロックに対して単方向予測コード化を使用し、参照ピクチャのための識別子（例えば、参照ピクチャのＰＯＣ値又はピクチャ数値）を含む単一参照ピクチャリスト６６中で示された１つの参照ピクチャから単一の動きベクトルを計算し得る。この例では、ビデオブロックは、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックであり得る。別の例では、ビデオスライスが双方向予測されるとき、動き推定ユニット４２は、ビデオブロックに対して双方向予測コード化を使用し、２つの参照ピクチャのための識別子を含む単一参照ピクチャリスト６６中で示された２つの異なる参照ピクチャから２つの動きベクトルを計算し得る。この例では、ビデオブロックは、Ｂスライス又はＧＰＢスライスのビデオブロックであり得る。
【０１１９】
言い換えれば、単一参照ピクチャリスト６６は、双方向予測ビデオブロックを予測するために使用される参照ピクチャの両方を識別する識別子を含み得、単一参照ピクチャリスト６６は、単方向予測ビデオブロックを予測するために使用される参照ピクチャを識別する識別子を含み得る。このようにして、単一参照ピクチャリスト６６は、（例えば、ビデオブロックが単方向予測され、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックである場合）時間的に前の参照ピクチャのみのための識別子、（例えば、ビデオブロックが単方向予測され、Ｂスライス又はＧＰＢスライスのビデオブロックである場合）時間的に後の参照ピクチャのみのための識別子、又は（例えば、ビデオブロックが双方向予測され、Ｂスライス又はＧＰＢスライスのビデオブロックである場合）時間的に後の参照ピクチャと時間的に前の参照ピクチャの両方のための識別子を含み得る。この例では、時間的に後の参照ピクチャは、予測されたビデオブロックを含むピクチャの後に表示される参照ピクチャを指す。また、この例では、時間的に前の参照ピクチャは、予測されたビデオブロックを含むピクチャより前に表示される参照ピクチャを指す。
【０１２０】
動き推定ユニット４２は、計算された動きベクトルをエントロピー符号化ユニット５６と動き補償ユニット４４とに送る。動き補償ユニット４４によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを伴い得る。より詳細には、インター予測ブロックの場合、動き補償ユニット４４は、参照ピクチャメモリ６４に記憶された復号された参照ピクチャから単一参照ピクチャリスト６６を構成し得る。現在ビデオブロックのための動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが単一参照ピクチャリスト６６中で指し示す予測ブロックの位置を特定し得る。ビデオエンコーダ２０は、コード化されている現在ビデオブロックの画素値から予測ブロックの画素値を減算して、画素差分値を形成することによって、残差ビデオブロックを形成する。画素差分値は、ブロックのための残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器５０は、この減算演算を実行する１つ以上の構成要素を表す。
【０１２１】
ビデオブロックが２つの参照ピクチャから予測される（例えば、双方向予測される）幾つかの例では、動き補償ユニット４４は、動き予測子を一緒に使用して２つの動きベクトルを符号化し得、２つの動きベクトルの各々は、それらのそれぞれの参照ピクチャを指し示す。動き予測子の使用は、あらゆる例のために必要であるとは限らず、単に例示のために説明するものである。説明しやすいように、それらのそれぞれの参照ピクチャを指し示す２つの動きベクトルを第１及び第２の動きベクトルと呼ぶ。
【０１２２】
動き補償ユニット４４は、第２の動きベクトルを表すために従来使用されるシンタックス要素を低減又は削除することによって、動きベクトルを信号伝達するために使用されるビットを低減し得る。ビデオエンコーダ２０は、次いで、第１の動きベクトルと第２の動きベクトルとをジョイント符号化する。例えば、ビデオエンコーダ２０は、動き予測子に対して第１の動きベクトルを従来の方法で符号化し、次いで、第１の動きベクトルに対して第２の動きベクトルを符号化し得る。ビデオエンコーダ２０は、一例として、ビデオブロックレベルにおいて、各双方向予測ビデオブロックについての他の予測シンタックスとともに、ジョイント符号化された動きベクトルをビデオデコーダ３０に信号伝達する。
【０１２３】
動き補償ユニット４４は、動き推定ユニット４２から現在ビデオブロックのための第１の動きベクトルと第２の動きベクトルとを受信する。動き補償ユニット４４は、次いで、隣接ビデオブロックの動きベクトルから第１の動きベクトルのための第１の動き予測子を生成する。例えば、現在ビデオブロックのための第１の動きベクトルは、リスト６６からの単一の参照ピクチャ中の予測ブロックを指し示し得る。従って、第１の動き予測子は、リスト６６からの同じ単一の参照ピクチャ中の別のブロックを指し示す、符号化されるべき現在ビデオブロックに隣接する隣接ビデオブロックの動きベクトルから生成され得る。
【０１２４】
動き補償ユニット４４は、第１の動き予測子に対する第１の動きベクトルを表すためのシンタックス要素を生成する。例えば、動き補償ユニット４４は、第１の動きベクトルと第１の動き予測子との間の差を示すように定義された第１のシンタックス要素、即ち、ｍｖｄと、第１の動き予測子がそこから生成された参照ピクチャの単一参照ピクチャリスト６６中のインデックスを示すように定義された第２のシンタックス要素、即ち、ｒｅｆ＿ｉｄｘとを生成する。このようにして、ビデオエンコーダ２０は、動き補償ユニット４４によって生成されたシンタックス要素を用いて、第１の動き予測子に対して第１の動きベクトルを従来の方法で符号化し得る。
【０１２５】
動き補償ユニット４４は、隣接ビデオブロックからの第２の動きベクトルのための第２の動き予測子を生成しないことがあるが、代わりに第２の動き予測子として第１の動きベクトルを使用する。ビデオエンコーダ２０は、次いで、第１の動きベクトルに対して、ビデオブロックのための第２の動きベクトルを符号化する。このようにして、第２の動きベクトルは、第１の動きベクトルと第２の動きベクトルとの間の差として符号化され得る。幾つかの例では、動き補償ユニット４４は、第２の動きベクトルについてのいかなるシンタックス要素も生成しないことがある。他の例では、動き補償ユニット４４は、第２の動きベクトルと第１の動きベクトルとの間の差を示すように定義される第１のシンタックス要素のみを生成し得る。
【０１２６】
場合によっては、動きベクトルが同じ参照ピクチャ又は実質的に同様の参照ピクチャを指し示すとき、ビデオエンコーダ２０は、第１の動きベクトルと第２の動きベクトルとを単にジョイント符号化し得る。第１の動きベクトルと第２の動きベクトルとが同じ参照ピクチャをポイントしないとき、第２の動き予測子として第１の動きベクトルを使用する前に、第１の動きベクトルは、第１の動きベクトルと第２の動きベクトルとの間の時間距離に従ってスケーリングされ得る。
【０１２７】
幾つかの例では、現在ブロックの動きベクトルのための動き予測子は、隣接ブロックの複数の動きベクトルから生成され得る。この場合、動き補償ユニット４４は、隣接ビデオブロックの複数の候補動きベクトルから、現在ビデオブロックの第１の動きベクトルのための第１の動き予測子を生成し得る。動き補償ユニット４４はまた、第１の動きベクトル又は第１の動き予測子を含む複数の候補動きベクトルから、現在ビデオブロックの第２の動きベクトルのための第２の動き予測子を生成し得る。この場合、第２の動きベクトルは、依然として、限定はしないが第１の動きベクトルに基づいて（例えば、また第１の動き予測子に基づき得る）、第１の動きベクトルに対して符号化され得る。動き補償ユニット４４が複数の候補動きベクトルから動き予測子を生成する例では、これらの複数の候補動きベクトルは、動き予測子を生成するために処理され得る（平均、メディアンフィルタ、多数決原理、又は他の技法など）。例えば、動き補償ユニット４４は、動き予測子を生成するために、平均化された４つの候補動きベクトルを利用し得る。
【０１２８】
動き補償ユニット４４はまた、ビデオシーケンスレベル、ビデオピクチャレベル、ビデオスライスレベル、ビデオコード化単位レベル、又はビデオ予測単位レベルのうちの１つ又は複数における予測情報を表すように定義されたシンタックス要素を生成し得る。例えば、動き補償ユニット４４は、予測が単方向予測コード化に制約されるかどうかを示すシンタックス要素を生成し得る。例えば、動き補償ユニット４４は、Ｐスライス、Ｂスライス、又はＧＰＢスライスのためのビデオブロックを、ただ１つの参照ピクチャから予測されるように（例えば、単方向予測に）制約し得る。これらの状況では、動き補償ユニット４４は、動き補償ユニット４４が予測を単方向予測のみに制約したかどうかを示す、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙと呼ばれるシンタックス要素を生成し得る。ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素は、１ビット（例えば、真の場合は「１」、及び偽の場合は「０」）によって表される、真及び偽の２つの状態をもつフラグと見なされ得る。
【０１２９】
真のとき、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙは、予測が単方向予測に限定される（例えば、ただ１つの参照ピクチャが、特定のビデオブロックを符号化又は復号するために使用される）ことを示す。この場合、スライスのビデオブロックは、１つの参照ピクチャから予測される。しかしながら、これは、ビデオブロックの全てが同じ参照ピクチャから予測されることが可能であり得るが、それを意味しない。そうではなく、スライスのあるビデオブロックはある参照ピクチャから予測され得、スライスの別のビデオブロックは別の参照ピクチャから予測され得、但し、これらのビデオブロックの両方は、ただ１つの参照ピクチャから予測される。偽のとき、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙは、予測が単方向予測に限定されないことを示す。この場合、スライスの一部又は全部のブロックは、依然として、１つの参照ピクチャに関して予測され得ることが可能であり得る。
【０１３０】
動き補償ユニット４４はまた、スライスのビデオブロックが予測された方法を示す追加のシンタックス要素を随意に含め得る。例えば、動き補償ユニット４４は、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙが偽であるとき、スライス（例えば、Ｂスライス又はＧＰＢスライス）のいくつのビデオブロックが２つ以上の参照ピクチャに関して予測されるかを示し得る。そのような指示は割合として信号伝達され得る。別の例として、動き補償ユニット４４は、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙが偽であるとき、ピクチャのどのくらいが２つ以上の参照ピクチャに関して予測されるかを示し得る。そのような指示も割合として信号伝達され得る。
【０１３１】
動き補償ユニット４４は、これらのシンタックス要素を、スライス又はピクチャのヘッダ中に、又はスライス及びピクチャとは別個に含め得る。例えば、シーケンスパラメータセット（ＳＰＳ）又はピクチャパラメータセット（ＰＰＳ）中のピクチャのビデオブロックの全てが単方向予測される場合、動き補償ユニット４４は、ＳＰＳ又はＰＰＳの一部としてｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を含め得る。動き補償ユニット４４は、同様に、いくつのスライスが２つの参照ピクチャに関してインター予測されるかを示すシンタックス要素と、ピクチャのどのくらいが２つの参照ピクチャに関してインター予測されるかを示すシンタックス要素とを含め得る。幾つかの例では、動き補償ユニット４４はまた、ビデオブロックが双方向予測を使用してコード化、例えば、予測されるのか、単方向予測を使用してコード化、例えば、予測されるのかを示す１つ以上のシンタックス要素を含め得る。
【０１３２】
以下の表１〜表３に、動き補償ユニット４４が、それぞれＳＰＳ、ＰＰＳ、及びスライスヘッダの一部としてｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素を含める方法を示す擬似コードを与える。
【表１】
2015188231.tif 000003
【表２】
2015188231.tif 000004
【表３】
2015188231.tif 000005
【０１３３】
表１〜表３の例示的な擬似コードでは、（例えば、表１及び表２の）ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙフラグが１に等しいとき、又は（例えば、表３の）ｎｏｎ＿ｕｎｉ＿ｐｒｅｄｉｃｔ＿ｆｌａｇが０に等しいとき、インター予測ビデオブロックは、ただ１つの参照ピクチャを用いて予測される。例えば、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙ＿ｆｌａｇは、真を表す「１」又は偽を表す「０」のいずれかのバイナリ値であり得、ｎｏｎ＿ｕｎｉ＿ｐｒｅｄｉｃｔ＿ｆｌａｇは、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙ＿ｆｌａｇとは逆のブーリアン値であり得る。表３の例では、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１は、ビデオデコーダ３０がスライスを復号するために利用することができる単一参照ピクチャリスト６６のための最大参照インデックスを指定する。幾つかの例では、動き補償ユニット４４は、更に、スライスを符号化するために使用される参照ピクチャの数を示すｎｕｍ＿ｐｒｅｄｉｃｔｏｒｓ＿ｐｕシンタックス要素を含め得る。
【０１３４】
動き補償ユニット４４はまた、動き補償ユニット４４がビデオブロックをインター予測した方法を示し得る追加のシンタックス要素を含め得る。例えば、動き補償ユニット４４は、ピクチャのいくつのスライスが複数の参照ピクチャに関して予測される（双方向予測される）かを示すシンタックス要素を含め得る。別の例として、動き補償ユニット４４は、ピクチャのどのくらいのエリアが複数の参照ピクチャに関して予測されるかを示すシンタックス要素を含め得る。ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素及びこれらの追加のシンタックス要素は、上記で説明したように、スライス又はピクチャを符号化及び／又は復号することの複雑さを低減し得る。
【０１３５】
概して、動き補償ユニット４４は、現在ビデオブロックがそこから予測される各参照ピクチャについての動きベクトル情報又は動き予測子情報を信号伝達する。単に説明及び簡潔のために、動き補償ユニット４４は動きベクトル情報を信号伝達すると仮定する。動き補償ユニット４４はまた、参照ピクチャのための１つ以上の識別子が単一参照ピクチャリスト中のどこに位置するかを示す、ビデオデコーダ３０によって構成される単一参照ピクチャリストの１つ以上のインデックス値についての情報を信号伝達する。
【０１３６】
ビデオブロックが単一の参照ピクチャに関して予測される例では、動き補償ユニット４４は、ビデオブロックと、参照ピクチャの一致するブロックとの間の残差を信号伝達する。ビデオブロックが２つの参照ピクチャに関して予測される例では、動き補償ユニット４４は、ビデオブロックと、参照ピクチャの各々の一致するブロックとの間の残差を信号伝達し得る。動き補償ユニット４４は、ビデオデコーダ３０がそこからビデオブロックを復号するこの１つ以上の残差を信号伝達し得る。
【０１３７】
動き補償ユニット４４は、任意のスライスタイプのビデオブロックのための単一参照ピクチャリスト６６を構成し得る。代替例では、動き補償ユニット４４以外のビデオエンコーダ２０のユニットが単一参照ピクチャリスト６６を構成し得る。しかしながら、例示のために、動き補償ユニット４４が単一参照ピクチャリスト６６を構成することに関する例について説明する。
【０１３８】
単一参照ピクチャリスト６６は、動き補償ユニット４４が任意のスライスタイプのビデオブロックを符号化するために利用した１つ以上の参照ピクチャのための識別子を含み得る。言い換えれば、単一参照ピクチャリスト６６中に格納された参照ピクチャのための識別子は、ビデオブロックがＰスライスの部分であるのか、Ｂスライスの部分であるのか、ＧＰＢスライスの部分であるのかにかかわらず、参照ピクチャの識別子であり得る。また、Ｂスライス又はＧＰＢスライスのビデオブロックが２つの参照ピクチャに関して符号化されるとき、単一参照ピクチャリスト６６は参照ピクチャの各々のための識別子を含む。このようにして、ビデオブロックが２つ以上の参照ピクチャに関して符号化されるときを含めて、任意のスライスタイプのビデオブロックを符号化するためにどの参照ピクチャが利用されたかを識別するために、単一参照ピクチャリスト６６のみが必要とされ得る。
【０１３９】
幾つかの例では、動き補償ユニット４４は、単一参照ピクチャリスト６６を構成するためのデフォルト構成技法を利用し得る。例えば、現在ピクチャのビデオブロックについて、動き補償ユニット４４は、現在ピクチャと、ビデオブロックを符号化するために使用される１つ以上の参照ピクチャとの間の時間差を決定し得る。一例では、動き補償ユニット４４は、単一参照ピクチャリスト６６中の位置において、現在ピクチャから時間的により遠い１つ以上の参照ピクチャのための識別子よりも早く、現在ピクチャに時間的により近い１つ以上の参照ピクチャのための識別子を含め得る。代替例として、動き補償ユニット４４は、単一参照ピクチャリスト６６中の位置において、現在ピクチャに時間的により近い１つ以上の参照ピクチャのための識別子よりも早く、現在ピクチャから時間的により遠い１つ以上の参照ピクチャのための識別子を含め得る。
【０１４０】
現在ピクチャと１つ以上の参照ピクチャとの間の時間距離は、それらのそれぞれのＰＯＣ値又はピクチャ数値に基づき得る。例示及び簡潔のために、本技法についてＰＯＣ値に関して説明するが、本技法は、代わりにピクチャ数値を同様に使用し得る。
【０１４１】
一例として、現在ピクチャと第１の参照ピクチャとの間のＰＯＣ値の差の絶対値が、現在ピクチャと第２の参照ピクチャとの間のＰＯＣ値の差の絶対値よりも小さい場合、第１の参照ピクチャは、第２の参照ピクチャよりも時間的に近いと見なされる。また、この例では、第１の参照ピクチャと第２の参照ピクチャとが両方とも時間的に前の参照ピクチャであるのか時間的に後の参照ピクチャであるのか、又は、一方が時間的に前の参照ピクチャであり、他方が時間的に後の参照ピクチャであるのかは関係しない。動き補償ユニット４４が単一参照ピクチャリスト６６に含める識別子は、１つ以上の参照ピクチャのＰＯＣ値又はピクチャ数値であり得る。
【０１４２】
２つの参照ピクチャ間の時間距離が等しい例では、動き補償ユニット４４は、より低いＰＯＣ値をもつ参照ピクチャのための識別子を単一参照ピクチャリスト６６に最初に含め、より高いＰＯＣ値をもつ参照ピクチャを２番目に挿入し得る。代替例として、動き補償ユニット４４は、より高いＰＯＣ値をもつ参照ピクチャのための識別子を単一参照ピクチャリスト６６に最初に含め、より低いＰＯＣ値をもつ参照ピクチャを２番目に挿入し得る。
【０１４３】
各ビデオブロックについて、動き補償ユニット４４は、各１つ以上の参照ピクチャに関連する１つ以上の動きベクトルを示す情報と、各動きベクトルに関連する１つ以上の参照ピクチャが、ビデオデコーダ３０が構成する単一参照ピクチャ中のどこに位置するかをビデオデコーダ３０に示すインデックス値とを信号伝達し得る。例えば、ビデオブロックが２つの参照ピクチャに関してコード化されるとき、動き補償ユニット４４は、２つの参照ピクチャの各々のための識別子が、ビデオデコーダ３０が構成する唯一の単一参照ピクチャリスト内のどこに位置するかを示す情報を信号伝達し得る。他の参照ピクチャリストは、ビデオブロックを復号するために必要とされないので、動き補償ユニット４４は、そのような他の参照ピクチャリストのためのインデックス値は信号伝達しないことがある。インデックス値情報は、以下でより詳細に説明するようにエントロピー符号化ユニット５６によって符号化され得る。
【０１４４】
幾つかの例では、動き補償ユニット４４は、ビデオデコーダ３０がそれの単一参照ピクチャリストを構成すべきである方法を示すシンタックス要素を含める必要がないことがある。ビデオデコーダ３０側で構成される単一の参照ピクチャは、所与のビデオブロックについて単一参照ピクチャリスト６６中の参照ピクチャと同一である参照ピクチャのための識別子を含み得る。ビデオデコーダ３０がそれの単一参照ピクチャリストを構成すべきである方法を示すシンタックス要素を信号伝達しないことによって、動き補償ユニット４４は、信号伝達される必要がある情報の量を低減し得る。
【０１４５】
幾つかの例では、動き補償ユニット４４によって信号伝達されるシンタックス要素はまた、単一参照ピクチャリスト６６中の参照ピクチャに適用される予測重み及びオフセットを表すように定義されるシンタックス要素を含み得る。予測重み及びオフセットを表すシンタックス要素は、関連する参照ピクチャリストの各参照ピクチャにある重み及びオフセット値を適用するようにデコーダ３０に命令するテーブルを備え得る。場合によっては、予測重み及びオフセットテーブルは、参照ピクチャのルーマ部分とクロマ部分とに異なる重み及びオフセットを与え得る。表４は、予測重みテーブルシンタックスのための例示的な擬似コードを含む。
【表４】
2015188231.tif 000006
【０１４６】
幾つかの例では、動き補償ユニット４４は、ビデオデコーダ３０のローカルで構成された単一参照ピクチャリストをビデオデコーダ３０に並べ替えさせるシンタックス要素を含め得る。これらの例では、動き補償ユニット４４は、ビデオブロックを復号するために使用される参照ピクチャが、並べ替えられた単一参照ピクチャリスト中のどこに位置するかを表すインデックス値を与え得る。ビデオデコーダ３０の単一の参照ピクチャの並べ替えは、あらゆる例において必要であるとは限らない。表５に、ビデオデコーダ３０の単一参照ピクチャリストを並べ替えるようにビデオデコーダ３０に命令するために動き補償ユニット４４が信号伝達し得る例示的な擬似コードを示す。
【表５】
2015188231.tif 000007
【０１４７】
表５の擬似コードでは、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｒｅｏｄｅｒｉｎｇ＿ｆｌａｇは、ビデオデコーダ３０が、特定のビデオブロックのためのそれの構成された単一参照ピクチャリストを並べ替えるべきかどうかを示す。例えば、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｒｅｏｒｄｅｒｉｎｇ＿ｆｌａｇが「０」に等しい場合、ビデオデコーダ３０は、それの構成された参照ピクチャリストを並べ替えないように命令される。
【０１４８】
ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｒｅｏｒｄｅｒｉｎｇ＿ｆｌａｇが「１」に等しい場合、ビデオデコーダ３０は、それの構成された単一参照ピクチャリストを並べ替えるように命令される。それの単一参照ピクチャリストを再構成するために、ビデオデコーダ３０は、ビデオデコーダ３０がそれの単一参照ピクチャリストを並べ替えるべきである方法をその値が命令する変数であるｒｅｏｒｄｅｒｉｎｇ＿ｏｆ＿ｐｉｃ＿ｎｕｍｓ＿ｉｄｃを復号することを予想する。幾つかの例では、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｒｅｏｒｄｅｒｉｎｇ＿ｆｌａｇが「１」に等しいとき、ｒｅｆ＿ｐｉｃ＿ｌｉｓｔ＿ｒｅｏｒｄｅｒｉｎｇ＿ｆｌａｇに続くｒｅｏｒｄｅｒｉｎｇ＿ｏｆ＿ｐｉｃ＿ｎｕｍｓ＿ｉｄｃが３に等しくならない回数は、ｎｕｍ＿ｒｅｆ＿ｉｄｘ＿ａｃｔｉｖｅ＿ｍｉｎｕｓ１＋１を超え得ない。
【０１４９】
概して、並べ替えシンタックス要素は、並べ替えられた参照ピクチャリストが、単一参照ピクチャリスト６６の短期参照ピクチャであるのか、単一参照ピクチャリスト６６の長期参照ピクチャであるのかと、参照ピクチャがどのように並べ替えられるかとを定義し得る。例えば、シンタックス要素は、短期参照ピクチャ並べ替えの場合には、予測ブロックのピクチャからのオフセットを定義し得、長期参照ピクチャ並べ替えの場合には、ピクチャに新しいインデックス番号を割り当て得る。
【０１５０】
表６に、ビデオデコーダ３０がそれを用いてビデオブロックを復号し得る、ビデオブロックのための擬似コードを与える。表６の例示的な擬似コードでは、任意のインターコード化スライスタイプのビデオブロックが、ビデオデコーダ３０側で構成された同じ単一参照ピクチャリストに基づいて復号されるので、動き補償ユニット４４は、インターコード化スライスの特定のタイプを示すシンタックス要素を含める必要がないことがある。動き補償ユニット４４は、ビデオブロックが双方向予測を使用してコード化、例えば、予測されるのか、単方向予測を使用してコード化、例えば、予測されるのかを示すシンタックス要素を含め得る。これは、ビデオデコーダ３０が、予測ビデオブロックを復号し始める前に追加の動きベクトル又はインデックス値を待つ必要があるかどうかをビデオデコーダ３０が決定することを可能にし得る。
【０１５１】
例えば、ビデオブロックが双方向予測される場合、ビデオデコーダ３０は、ビデオブロックを復号するために、２つの動きベクトルのためのシンタックス要素と２つの参照ピクチャのためのインデックス値とを復号し得る。ビデオブロックが単方向予測される場合、ビデオデコーダ３０は、ビデオデコーダ３０が、参照ピクチャのための１つの動きベクトル情報と１つのインデックス値とを復号した後にビデオブロックを復号することができることを知り得、これは処理効率を促進し得る。ビデオブロックが双方向予測を使用してコード化されるのか、単方向予測を使用してコード化されるのかを示すシンタックス要素は、そのような処理効率を促進し得る。また、表６の例示的な擬似コードでは、ビデオデコーダ３０は、１つの参照ピクチャ又は２つの参照ピクチャに関して符号化されたビデオブロックを復号するために単一参照ピクチャリストのみを使用するので、動き補償ユニット４４は、異なる参照ピクチャリスト（例えば、従来のリスト０及びリスト１）を区別する必要がないことがある。
【表６−１】
2015188231.tif 000008
【表６−２】
2015188231.tif 000009
【表６−３】
2015188231.tif 000010
【表６−４】
2015188231.tif 000011
【０１５２】
表６の例示的な擬似コードにおいて、ｂｉ＿ｐｒｅｄ＿ｆｌａｇは、現在ビデオブロックが単方向予測されるのか双方向予測されるのかを示し得る。言い換えれば、ｂｉ＿ｐｒｅｄ＿ｆｌａｇは、ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示すシンタックス要素であり得る。例えば、ｂｉ＿ｐｒｅｄ＿ｆｌａｇが「１」に等しい場合、現在ビデオブロックは双方向予測コード化される（例えば、２つの参照ピクチャに関してコード化される）。この場合、ビデオデコーダ３０は、２つの動きベクトルについての情報を復号することを予想する。ｂｉ＿ｐｒｅｄ＿ｆｌａｇが「０」に等しい場合、現在ビデオブロックは単方向予測である。この場合、ビデオデコーダ３０は、ただ１つの動きベクトルについての情報を復号することを予想し、ビデオブロックを復号する前に別の動きベクトルを待つ必要がないことがある。
【０１５３】
本開示で説明する技法に関連して、ｂｉ＿ｐｒｅｄ＿ｆｌａｇは、従来の技法と比較して、信号伝達される必要がある情報の量の低減を可能にし得る。例えば、従来の技法では、ビデオエンコーダは、ビデオブロックが双方向予測されるのか単方向予測されるのかを示すフラグを信号伝達し、単方向予測されるとき、ビデオエンコーダは、ビデオブロックが従来のリスト０中の参照ピクチャから予測されるのか、従来のリスト１中の参照ピクチャから予測されるのかを信号伝達するであろう。本開示で説明する１つ以上の例示的な技法では、（従来のリスト０及びリスト１ではなく）単一参照ピクチャリストのみがビデオブロックを予測するために必要とされ得るので、ｂｉ＿ｐｒｅｄ＿ｆｌａｇが、ビデオブロックが単方向予測されることを示す「０」に等しいとき、ビデオエンコーダ２０は、ビデオブロックを予測するために使用されたピクチャのための識別子をどのピクチャリストが含むかを示す情報を信号伝達する必要がないことがある。
【０１５４】
動き補償ユニット４４が、現在ビデオブロックのための予測ブロックを生成した後、ビデオエンコーダ２０は、現在ビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。変換ユニット５２は、残差ブロックから１つ以上の変換ユニット（ＴＵ）を形成し得る。変換ユニット５２は、離散コサイン変換（ＤＣＴ）又は概念的に同様の変換など、変換をＴＵに適用し、残差変換係数を備えるビデオブロックを生成する。変換は、残差ブロックを画素領域から周波数領域などの変換領域に変換し得る。
【０１５５】
変換ユニット５２は、得られた変換係数を量子化ユニット５４に送り得る。量子化ユニット５４は、ビットレートを更に低減するために変換係数を量子化する。量子化プロセスは、係数の一部又は全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。幾つかの例では、量子化ユニット５４は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット５６が走査を実行し得る。
【０１５６】
量子化の後、エントロピー符号化ユニット５６は、量子化変換係数をエントロピーコード化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応型可変長コード化（ＣＡＶＬＣ）、コンテキスト適応型バイナリ算術コード化（ＣＡＢＡＣ）、又は別のエントロピー符号化技法を実行し得る。エントロピー符号化ユニット５６によるエントロピー符号化の後、符号化されたビットストリームは、ビデオデコーダ３０などのビデオデコーダに送信されるか、あるいは後で送信するか又は取り出すためにアーカイブされ得る。
【０１５７】
エントロピー符号化ユニット５６はまた、コード化されている現在ビデオピクチャのための動きベクトルと他の予測シンタックス要素とをエントロピー符号化し得る。例えば、エントロピー符号化ユニット５６は、符号化されたビットストリーム中で送信するために動き補償ユニット４４によって生成された適切なシンタックス要素を含むヘッダ情報を構成し得る。シンタックス要素をエントロピー符号化するために、エントロピー符号化ユニット５６は、ＣＡＢＡＣを実行し、コンテキストモデルに基づいてシンタックス要素を１つ以上のバイナリビットに２値化し得る。エントロピー符号化ユニットはまた、ＣＡＶＬＣを実行し、コンテキストに基づく確率に従ってシンタックス要素をコードワードとして符号化し得る。
【０１５８】
ビデオブロックが２つの参照ピクチャから予測される幾つかの例では、エントロピー符号化ユニット５６は、他の参照ピクチャを指し示す動きベクトルに基づいて、参照ピクチャのうちの１つを指し示す動きベクトルを符号化し得る。エントロピー符号化ユニット５６はまた、ビデオデコーダ３０によって構成される単一参照ピクチャリスト中のどこに他の参照ピクチャが位置するかを示す情報に基づいて、ビデオデコーダ３０によって構成される単一参照ピクチャリスト中のどこに参照ピクチャのうちの１つが位置するかを示す情報を符号化し得る。但し、エントロピー符号化ユニット５６は、あらゆる例においてそのような符号化を実行する必要があるとは限らず、そのような符号化は、単に例示のために与えたものである。
【０１５９】
逆量子化ユニット５８及び逆変換ユニット６０は、それぞれ逆量子化及び逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するために、画素領域において残差ブロックを再構成する。動き補償ユニット４４は、残差ブロックを単一参照ピクチャリスト６６内の参照ピクチャのうちの１つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット４４はまた、再構成された残差ブロックに１つ以上の補間フィルタを適用して、動き推定において使用するサブ整数画素値を計算し得る。加算器６２は、再構成された残差ブロックを動き補償ユニット４４によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ６４に記憶するための参照ブロックを生成する。参照ブロックは、後続のビデオピクチャ中のブロックをインター予測するために、動き推定ユニット４２及び動き補償ユニット４４によって参照ブロックとして使用され得る。
【０１６０】
図４は、本開示の１つ以上の態様による技法を実施し得る例示的なビデオデコーダを示すブロック図である。図４の例では、ビデオデコーダ３０は、エントロピー復号ユニット８０と、予測ユニット８１と、逆量子化ユニット８６と、逆変換ユニット８８と、加算器９０と、参照ピクチャメモリ９２とを含む。予測ユニット８１は、動き補償ユニット８２とイントラ予測ユニット８４とを含む。ビデオデコーダ３０は、幾つかの例では、ビデオエンコーダ２０（図３）に関して説明した符号化パスとは概して逆の復号パスを実行し得る。
【０１６１】
復号プロセス中に、ビデオデコーダ３０は、符号化ビデオブロックと、ビデオエンコーダ２０などのビデオエンコーダからのコード化情報を表すシンタックス要素とを含む符号化ビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化係数、動きベクトル、及び他の予測シンタックスを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、予測ユニット８１に動きベクトルと他の予測シンタックスとを転送する。ビデオデコーダ３０は、ビデオ予測ユニットレベル、ビデオコード化ユニットレベル、ビデオスライスレベル、ビデオピクチャレベル、及び／又はビデオシーケンスレベルにおいてシンタックス要素を受信し得る。
【０１６２】
ビデオスライスがイントラコード化（Ｉ）スライスとしてコード化されるとき、予測ユニット８１のイントラ予測ユニット８４は、信号伝達されたイントラ予測モードと、現在ピクチャの前に復号されたブロックからのデータとに基づいて、現在ビデオピクチャのビデオブロックについての予測データを生成し得る。ビデオブロックがインター予測されるとき、予測ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された１つ以上の動きベクトルと予測シンタックスとに基づいて、現在ビデオピクチャのビデオブロックの予測ブロックを生成する。予測ブロックは単一の参照ピクチャ９４から生成され得る。単一参照ピクチャリスト９４は、参照ピクチャメモリ９２に記憶された参照ピクチャに基づいて構成され得る。上記で説明したように、例示的な技法では、動き補償ユニット８２は、同じ単一参照ピクチャリスト９４を使用して任意のタイプのビデオブロックを復号し得、他の参照ピクチャリストを使用する必要がないことがある。また、動き補償ユニット８２は、ビデオブロックが１つの参照ピクチャに関して符号化されるのか、２つの参照ピクチャに関して符号化されるのかにかかわらず、同じ単一参照ピクチャリストを使用してビデオブロックを復号し得る。
【０１６３】
動き補償ユニット８２は、動きベクトルと予測シンタックスとを構文解析することによって現在ビデオブロックについての予測情報を決定し、予測情報使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。例えば、動き補償ユニット８２は、受信されたシンタックス要素の幾つかを使用して、現在ピクチャを符号化するために使用されたＣＵのサイズと、ピクチャの各ＣＵがどのように分割されるかを記述する分割情報と、各分割がどのように符号化されたかを示すモード（例えば、イントラ予測又はインター予測）と、ピクチャの各インター予測ビデオブロックの動きベクトルと、ピクチャの各インター予測ビデオブロックの動き予測方向と、現在ビデオピクチャを復号するための他の情報とを決定する。
【０１６４】
動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット８２は、ビデオブロックの符号化中にビデオエンコーダ２０によって使用された補間フィルタを使用して、参照ブロックのサブ整数画素の補間値を計算し得る。動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
【０１６５】
本開示の技法によれば、ビデオデコーダ３０は、単一参照ピクチャリスト９４のみを構成することによって、ビデオブロックをコード化するコストを低減し得る。例えば、ビデオデコーダ３０は、単一参照ピクチャリスト９４を構成するためのデフォルト構成技法を実施し得る。また、ビデオデコーダ３０は他の参照ピクチャリストを構成する必要がないことがある。ビデオデコーダ３０は、ビデオエンコーダ２０の単一参照ピクチャリスト６６を構成するためにビデオエンコーダ２０が実施した同じデフォルト構成技法を実施し得る。また、ビデオデコーダ３０は、ビデオブロックを含むスライスタイプにかかわらず、またビデオブロックが単方向予測されるのか双方向予測されるのか（例えば、それぞれ、１つの参照ピクチャから予測されるのか２つの参照ピクチャから予測されるのか）にかかわらず、単一参照ピクチャリスト９４中で示された参照ピクチャを使用して、インター予測されたビデオブロックを復号し得る。
【０１６６】
例えば、ビデオデコーダ３０は、現在ピクチャのビデオブロックと、参照ピクチャメモリ９２に記憶された１つ以上の参照ピクチャとの間の時間距離を決定し得る。参照ピクチャメモリ９２に記憶された参照ピクチャは、前に復号された参照ピクチャであり得る。一例では、ビデオデコーダ３０は、単一参照ピクチャリスト９４中の、現在ピクチャから時間的により遠い参照ピクチャの識別子よりも早い位置において、現在ピクチャに時間的により近い参照ピクチャの識別子（例えば、ＰＯＣ値又はピクチャ数値）を含め得る。代替例では、ビデオデコーダ３０は、単一参照ピクチャリスト８４中の、現在ピクチャに時間的により近い参照ピクチャの識別子よりも早い位置において、現在ピクチャから時間的により遠い参照ピクチャの識別子を含め得る。現在ピクチャと１つ以上の参照ピクチャとの間の時間距離は、現在ピクチャのＰＯＣ値又はピクチャ数値と、１つ以上の参照ピクチャのＰＯＣ値又はピクチャ数値との間の差の絶対値に基づき得る。これらの例では、参照ピクチャが、時間的に前の参照ピクチャであるのか時間的に後の参照ピクチャであるのかは関係しない。
【０１６７】
２つの参照ピクチャと現在ピクチャとの間の時間距離が同じである場合、ビデオデコーダ３０は、単一参照ピクチャリスト９４のより早い位置において、より小さいＰＯＣ値又はピクチャ数値をもつ参照ピクチャのための識別子を含め、単一参照ピクチャリスト９４中のより遅い位置において、より大きいＰＯＣ値又はピクチャ数値をもつ参照ピクチャのための識別子を含め得る。代替例では、２つの参照ピクチャと現在ピクチャとの間の時間距離が同じであるとき、ビデオデコーダ３０は、単一参照ピクチャリスト９４中のより早い位置において、より大きいＰＯＣ値又はピクチャ数値をもつ参照ピクチャのための識別子を含め、単一参照ピクチャリスト９４中のより遅い位置において、より小さいＰＯＣ値又はピクチャ数値をもつ参照ピクチャのための識別子を含め得る。
【０１６８】
エントロピー復号ユニット８０によって復号されたシンタックス要素が、単一参照ピクチャリスト９４中の識別子を並べ替えるようにビデオデコーダ３０に命令した場合、ビデオデコーダは、単一参照ピクチャリスト９４を並べ替え得る。受信された並べ替えシンタックス要素は、ビデオデコーダ３０が単一参照ピクチャリスト９４中の参照ピクチャの識別子を並べ替えるべきである方法でビデオデコーダ３０に命令し得、ビデオデコーダ３０は、命令されたように単一参照ピクチャリスト９４を並べ替え得る。
【０１６９】
エントロピー復号ユニット８０によって復号されたシンタックス要素は、動きベクトル情報と、動きベクトル情報に関連する参照ピクチャの識別子のインデックス値とを含み得る。インデックス値は、参照ピクチャのための識別子が単一参照ピクチャリスト９４中のどこに位置するかを示す単一参照ピクチャリスト９４のインデックス値であり得る。復号のために他の参照ピクチャリストを利用する必要がないことがあるので、エントロピー復号ユニット８０は、単一参照ピクチャリスト９４以外の他の参照ピクチャリストのためのインデックス値を復号する必要がないことがある。
【０１７０】
インデックス値を用いて、動き補償ユニット８２は、それが単一参照ピクチャリスト９４からビデオブロックを復号するために使用すべきである１つ以上の参照ピクチャを識別し、それらの１つ以上の参照ピクチャを参照ピクチャメモリ９２から取り出し得る。動きベクトル情報は、動き補償ユニット８２が、ビデオブロックを復号するために、１つ以上の参照ピクチャのどの１つ以上のブロックを利用すべきであるかを動き補償ユニット８２に示す。動き補償ユニット８２は、次いで、ビデオブロックを最終的に復号するための予測ブロックを生成し得る。
【０１７１】
例示的な例として、エントロピー復号ユニット８０は、１つの参照ピクチャに関して符号化（例えば、単方向予測）され得るか又は２つの参照ピクチャに関して符号化（例えば、双方向予測）され得る現在ビデオブロックを復号するための情報を復号し得る。この例では、現在ビデオブロックが２つの参照ピクチャに関して符号化されると仮定する。復号された情報は、２つの参照ピクチャのための識別子が単一参照ピクチャリスト９４中のどこに位置するかを表すインデックス値、及び、現在ビデオブロックに一致する、一致するブロックが２つの参照ピクチャ中のどこに位置するかを示す動きベクトル情報を示し得る。
【０１７２】
動き補償ユニット８２は、次いで、インデックス値に基づいて、単一参照ピクチャリスト９４内に格納された２つの参照ピクチャのための識別子を決定し得る。動き補償ユニット８２は、決定された識別子に基づいて参照ピクチャメモリ９２から参照ピクチャを受信し得る。動き補償ユニット８２は、次いで、参照ピクチャと動きベクトル情報とに基づいて現在ビデオブロックを復号し得る。
【０１７３】
別の例示的な例として、現在ビデオブロックが１つの参照ピクチャのみに関して符号化されると仮定する。この例では、復号された情報は、ただ１つの参照ピクチャのためのインデックス値とただ１つの参照ピクチャのための動きベクトルとを示し得る。動き補償ユニット８２は、次いで、前の例と同様に現在ビデオブロックを復号し得るが、動き補償ユニット８２は、現在ビデオブロックを復号するためにただ１つの参照ピクチャを利用し得る。
【０１７４】
上記の例示的な例のいずれでも、動き補償ユニット８２は、単一参照ピクチャリスト９４中で示された参照ピクチャのみに基づいてビデオブロックを復号することができるので、ビデオブロックがＰスライスの一部であるのか、Ｂスライスの一部であるのか、ＧＰＢスライスの一部であるのかは重要でないことがある。従来の技法では、動き補償ユニット８２は、２つの異なるリストを必要とし、また、動き補償ユニット８２が２つのリストのいずれを使用すべきかを知るように、ビデオブロックがＰスライスの一部であるのか、Ｂスライスの一部であるのか、ＧＰＢスライスの一部であるのかに関する指示を必要とした。
【０１７５】
また、上記の例示的な例のいずれでも、ビデオブロックが１つの参照ピクチャに関して符号化されるのか、２つの参照ピクチャに関して符号化されるのかは重要でないことがある。動き補償ユニット８２は、ビデオブロックが１つの参照ピクチャに関して符号化されるとき、そのビデオブロックを符号化するためにどの参照ピクチャが利用されたかを決定するために単一参照ピクチャリスト９４のみを使用する。動き補償ユニット８２はまた、ビデオブロックが２つの参照ピクチャに関して符号化されるとき、そのビデオブロックを符号化するためにどの参照ピクチャが利用されたかを決定するために同じ単一参照ピクチャリスト９４を使用する。言い換えれば、復号のためにどの１つ以上の参照ピクチャを使用すべきかを決定するために動き補償ユニット８２が使用する復号されたインデックス値は、これらの例では、単一参照ピクチャリスト９４のみに関するものであり得、他の参照ピクチャリストに関するものではない。
【０１７６】
ビデオデコーダ３０はまた、参照ピクチャの重み及びオフセット値を示すシンタックス要素を使用して、単一参照ピクチャリスト９４中の参照ピクチャに予測重み及びオフセットを適用し得る。予測重み及びオフセットを表すシンタックス要素は、単一参照ピクチャリスト９４の各参照ピクチャにある重み及びオフセット値を適用するようにデコーダ３０に命令するテーブルを備え得る。
【０１７７】
逆量子化ユニット８６は、ビットストリーム中で与えられ、エントロピー復号ユニット８０によって復号された量子化変換係数を逆量子化（inverse quantize）、即ち、逆量子化（de-quantize）する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するための、各ビデオブロック又はＣＵについてビデオエンコーダ２０によって計算された量子化パラメータＱＰYの使用を含み得る。逆変換ユニット８８は、逆変換、例えば、逆ＤＣＴ、逆整数変換、又は概念的に同様の逆変換プロセスを変換係数に適用して、画素領域において残差ブロックを生成する。
【０１７８】
動き補償ユニット８２が、動きベクトルと予測シンタックス要素とに基づいて現在ビデオブロックのための予測ブロックを生成した後、ビデオデコーダ３０は、逆変換ユニット８８からの残差ブロックを動き補償ユニット８２によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器９０は、この加算演算を実行する１つ以上の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、デブロッキングフィルタを適用して復号ブロックをフィルタ処理することもある。復号ビデオブロックは、次いで、参照ピクチャメモリ９２に記憶され、参照ピクチャメモリ９２は、その後の動き補償のための参照ピクチャの参照ブロックを与える。参照ピクチャメモリ９２はまた、図１の表示装置３２などの表示装置上での表示のために復号ビデオを生成する。
【０１７９】
幾つかの例では、エントロピー復号ユニット８０はまた、（例えば、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙフラグを用いて）ビデオブロック、ビデオスライス、ビデオピクチャ、又はピクチャグループのための符号化が単方向予測に制約されるかどうかを示すシンタックス要素を復号し得る。ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素は動き補償ユニット８２の計算効率を高め得る。例えば、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素が真であるとき、動き補償ユニット８２は、それが復号のためにどの参照ピクチャを使用すべきかを決定するために、２つの異なるインデックス値を待つ必要がないことを知り得る。そうではなく、動き補償ユニット８２は、ｕｎｉ＿ｐｒｅｄ＿ｏｎｌｙシンタックス要素が真であるとき、単一の参照ピクチャのためのインデックス値と動きベクトル情報とを受信した直後に現在ビデオブロックの復号を開始し得る。
【０１８０】
図５は、本開示の１つ以上の態様による、ビデオブロックをコード化する例示的な動作を示すフローチャートである。理解しやすいように、図５のフローチャートはビデオコーダを指す。「ビデオコーダ」という用語は、ビデオエンコーダ２０又はビデオデコーダ３０への共通の参照であり得る。言い換えれば、図５のフローチャートに示す機能は、ビデオエンコーダ２０又はビデオデコーダ３０のいずれか、あるいはビデオエンコーダ２０とビデオデコーダ３０の両方によって実行され得る。また、図５で使用する「コード化」という用語は、ビデオコーダがビデオエンコーダ２０に対応するときには符号化を指し、ビデオコーダがビデオデコーダ３０に対応するときには復号を指す。
【０１８１】
ビデオコーダは、１つ以上の参照ピクチャのための識別子を含む単一参照ピクチャリストを構成する（１００）。幾つかの例では、ビデオコーダは、１つ以上の参照ピクチャをビデオコード化機器（例えば、発信源１２又は宛先機器１４）のメモリに記憶するか、又はビデオコーダ内（例えば、参照ピクチャメモリ６４又は参照ピクチャメモリ９２）に記憶し得る。ビデオコーダは、上記で説明し、図６及び図７に更に示すように、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施し得る。幾つかの例では、ビデオコーダは、単一参照ピクチャリスト以外（例えば、単一参照ピクチャリスト６６又は単一参照ピクチャリスト９４以外）の他の参照ピクチャリストを構成しないことがある。
【０１８２】
ビデオコーダは、ビデオブロックが１つの参照ピクチャに関してコード化されるかどうかを決定する（１０２）。例えば、ビデオエンコーダ２０は、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックがただ１つの参照ピクチャに関して符号化されるかどうか、あるいはＢスライス又はＧＰＢスライスのビデオブロックが２つの参照ピクチャに関して符号化されるかどうかを決定し得る。同様に、ビデオデコーダ３０は、Ｐスライス、Ｂスライス、又はＧＰＢスライスのビデオブロックがただ１つの参照ピクチャに関して復号されるかどうか、若しくはＢスライス又はＧＰＢスライスのビデオブロックが２つの参照ピクチャに関して復号されるかどうかを決定し得る。
【０１８３】
２つの参照ピクチャに関してコード化されるとき（１０２のいいえ分岐）、ビデオコーダは、識別子が単一参照ピクチャリスト中のどこに位置するかを示すインデックス値をコード化する（１０５）。例えば、ビデオブロックが２つの異なる参照ピクチャに関してコード化されるとき、ビデオデコーダ３０は、参照ピクチャの各々のための識別子が単一参照ピクチャリスト９４中のどこに格納されるかを示すインデックス値を復号し得る。ビデオコーダは、他の参照ピクチャリストのためのインデックス値をコード化しないことがある。この場合も、ビデオコーダによって構成される単一参照ピクチャリスト中に格納される参照ピクチャのための識別子は、現在ピクチャのビデオブロックをコード化するために必要とされ得る参照ピクチャの全てを識別するのに十分であり得る。ビデオコーダは、単一参照ピクチャリストのみ中で識別された少なくとも２つの参照ピクチャを使用して現在ピクチャのビデオブロックをコード化する（１０６）。
【０１８４】
ただ１つの参照ピクチャに関してコード化されるとき（１０２のはい分岐）、ビデオコーダは、識別子が単一参照ピクチャリスト中のどこに位置するかを示すインデックス値をコード化する（１０３）。例えば、ビデオブロックが１つの参照ピクチャに関してコード化されるとき、ビデオデコーダ３０は、ビデオブロックを予測するために使用された参照ピクチャのための識別子が単一参照ピクチャリスト９４中のどこに格納されるかを示すインデックス値を復号し得る。ビデオコーダは、他の参照ピクチャリストのためのインデックス値をコード化しないことがある。ビデオコーダは、単一参照ピクチャリストのみ中で識別された参照ピクチャのうちの１つを使用して現在ピクチャのビデオブロックをコード化する（１０４）。
【０１８５】
例えば、いずれの状況（例えば、図５のブロック１０４又はブロック１０６）でも、ビデオコーダは、従来のリスト０及びリスト１、又はリスト０及びリスト０の複製を使用してビデオブロックをコード化する必要がないことがある。そうではなく、単一参照ピクチャリストは、ビデオブロックがただ１つの参照ピクチャに関してコード化されるときに、参照ピクチャのための識別子を与えるのに十分であり、ビデオブロックが２つの異なる参照ピクチャに関してコード化されるときに、参照ピクチャのための識別子を与えるのに十分であり得る。また、２つの参照ピクチャに関してコード化されるとき、２つの参照ピクチャは、表示順序が現在ピクチャに対して全て時間的に前、全て時間的に後、及び時間的に前と時間的に後の両方であり得る。このようにして、ビデオブロックがＰスライスのビデオブロックであるのか、Ｂスライスのビデオブロックであるのか、ＧＰＢスライスのビデオブロックであるのかは重要でないことがある。
【０１８６】
図６及び図７は、本開示の１つ以上の態様による、単一参照ピクチャリストを構成するためのデフォルト構成技法を実施するための例示的な動作を示すフローチャートである。図５と同様に、図６及び図７のフローチャートについてビデオコーダに関して説明する。ビデオコーダの例には、ビデオエンコーダ２０及びビデオデコーダ３０がある。概して、図６及び図７の例では、ビデオコーダは、コード化ビデオブロックを含む現在ピクチャと単一参照ピクチャリスト中に含まれる参照ピクチャの各々との間の距離に基づいて単一参照ピクチャリストを構成し得る。
【０１８７】
図６の例では、ビデオコーダは、単一参照ピクチャリスト中の参照ピクチャを昇順で順序付け得る。例えば、ビデオコーダは、単一参照ピクチャリスト中の位置において、表示順序又はコード化順序が現在ピクチャからより遠い参照ピクチャよりも早く、表示順序又はコード化順序が現在ピクチャにより近い参照ピクチャのための識別子を含め得る。
【０１８８】
例えば、ビデオコーダは、現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定し（１１０）、現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定する（１１２）。時間距離を決定するために、ビデオコーダは、現在ピクチャと第１のピクチャとのＰＯＣ間又はピクチャ数値間の差の絶対値と、現在ピクチャと第２のピクチャとのＰＯＣ間又はピクチャ数値間の差の絶対値とを決定し得る。
【０１８９】
ビデオコーダは、第１の時間距離が第２の時間距離よりも小さいかどうかを決定する（１１４）。第１の時間距離が第２の時間距離よりも小さいとき（１１４のはい分岐）、ビデオコーダは、単一参照ピクチャリスト中のより早い位置において第１の参照ピクチャのための識別子を含め、単一参照ピクチャリスト中のより遅い位置において第２の参照ピクチャのための識別子を含める（１１６）。
【０１９０】
第１の時間距離が第２の時間距離以上であるとき（１１４のいいえ分岐）、ビデオコーダは、第１の時間距離が第２の時間距離に等しいかどうかを決定する（１１８）。この場合、第１の時間距離が第２の時間距離に等しくないとき（１１８のいいえ分岐）、第２の時間距離は第１の時間距離よりも小さい。第２の時間距離が第１の時間距離よりも小さいとき、ビデオコーダは、単一参照ピクチャリスト中のより早い位置において第２の参照ピクチャのための識別子を含め、単一参照ピクチャリスト中のより遅い位置において第１の参照ピクチャのための識別子を含める（１２０）。
【０１９１】
第１の時間距離が第２の時間距離に等しいとき（１１８のはい分岐）、ビデオコーダは、第１の参照ピクチャ及び第２の参照ピクチャのそれぞれのＰＯＣ又はピクチャ数値に基づいて、第１の参照ピクチャが第２の参照ピクチャよりも表示順序又はコード化順序が早いかどうかを決定する（１２２）。第１の参照ピクチャが第２の参照ピクチャよりも表示順序又はコード化順序が早いとき（１２２のはい分岐）、ビデオコーダは、単一参照ピクチャリスト中の、第２の参照ピクチャのための識別子よりも早い位置において第１の参照ピクチャのための識別子を含める（１２４）。第２の参照ピクチャが第１の参照ピクチャよりも表示順序又はコード化順序が早いとき（１２２のいいえ分岐）、ビデオコーダは、単一参照ピクチャリスト中の、第１の参照ピクチャのための識別子よりも早い位置において第２の参照ピクチャのための識別子を含める（１２６）。
【０１９２】
図７の例では、ビデオコーダは、単一参照ピクチャリスト中の参照ピクチャを降順で順序付け得る。例えば、ビデオコーダは、単一参照ピクチャリスト中の位置において、表示順序又はコード化順序が現在ピクチャにより近い参照ピクチャよりも早く、表示順序又はコード化順序が現在ピクチャからより遠い参照ピクチャのための識別子を含め得る。例えば、図６と同様に、ビデオコーダは、現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定し（１３０）、現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定する（１３２）。
【０１９３】
ビデオコーダは、第１の時間距離が第２の時間距離よりも小さいかどうかを決定する（１３４）。第１の時間距離が第２の時間距離よりも小さいとき（１３４のはい分岐）、ビデオコーダは、単一参照ピクチャリスト中のより早い位置において第２の参照ピクチャのための識別子を含め、単一参照ピクチャリスト中のより遅い位置において第１の参照ピクチャのための識別子を含める（１３６）。
【０１９４】
第１の時間距離が第２の時間距離以上であるとき（１３４のいいえ分岐）、ビデオコーダは、第１の時間距離が第２の時間距離に等しいかどうかを決定する（１３８）。この場合、第１の時間距離が第２の時間距離に等しくないとき（１３８のいいえ分岐）、第２の時間距離は第１の時間距離よりも小さい。第２の時間距離が第１の時間距離よりも小さいとき、ビデオコーダは、単一参照ピクチャリスト中のより早い位置において第１の参照ピクチャのための識別子を含め、単一参照ピクチャリスト中のより遅い位置において第２の参照ピクチャのための識別子を含める（１４０）。
【０１９５】
第１の時間距離が第２の時間距離に等しいとき（１３８のはい分岐）、ビデオコーダは、第１の参照ピクチャ及び第２の参照ピクチャのそれぞれのＰＯＣ又はピクチャ数値に基づいて、第１の参照ピクチャが第２の参照ピクチャよりも表示順序又はコード化順序が早いかどうかを決定する（１４２）。第１の参照ピクチャが第２の参照ピクチャよりも表示順序又はコード化順序が早いとき（１４２のはい分岐）、ビデオコーダは、単一参照ピクチャリスト中の、第１の参照ピクチャのための識別子よりも早い位置において第２の参照ピクチャのための識別子を含める（１４４）。第２の参照ピクチャが第１の参照ピクチャよりも表示順序が早いとき（１４２のいいえ分岐）、ビデオコーダは、単一参照ピクチャリスト中の、第２の参照ピクチャのための識別子よりも早い位置において第１の参照ピクチャのための識別子を含める（１４６）。
【０１９６】
１つ以上の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組合せで実施され得る。ソフトウェアで実施した場合、機能は、１つ以上の命令又はコードとしてコンピュータ可読媒体上に記憶されるか、又はコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、例えば、通信プロトコルに従ってある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体又は通信媒体など、有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、（１）非一時的である有形コンピュータ可読記憶媒体、又は（２）信号若しくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実施のための命令、コード及び／又はデータ構造を取り出すために１つ以上のコンピュータあるいは１つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
【０１９７】
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又は他の光ディスクストレージ、磁気ディスクストレージ、若しくは他の磁気ストレージ機器、フラッシュメモリ、又は命令若しくはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、又は赤外線、無線、及びマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、又は赤外線、無線、及びマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。但し、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク（disk）及びディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）、及びブルーレイディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【０１９８】
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）などの１つ以上のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、あるいは他の等価な集積回路又はディスクリート論理回路によって実行され得る。従って、本明細書で使用する「プロセッサ」という用語は、前述の構造、又は本明細書で説明した技法の実施に好適な他の構造のいずれかを指し得る。更に、幾つかの態様では、本明細書で説明した機能は、符号化及び復号のために構成された専用ハードウェア及び／又はソフトウェアモジュール内に与えられ得、あるいは複合コーデックに組み込まれ得る。また、本技法は、１つ以上の回路又は論理要素において完全に実施され得る。
【０１９９】
本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）、又はＩＣのセット（例えば、チップセット）を含む、多種多様な機器又は装置において実施され得る。本開示では、開示した技法を実行するように構成された機器の機能的態様を強調するために、様々な構成要素、モジュール、又はユニットについて説明したが、それらの構成要素、モジュール、又はユニットを必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェア及び／又はファームウェアとともに、上記で説明した１つ以上のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、又は相互動作ハードウェアユニットの集合によって与えられ得る。
【０２００】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
【図１】
2015188231.tif 000012
【図２】
2015188231.tif 000013
【図３】
2015188231.tif 000014
【図４】
2015188231.tif 000015
【図５】
2015188231.tif 000016
【図６】
2015188231.tif 000017
【図７】
2015188231.tif 000018
【手続補正書】
【提出日】平成27年6月18日(2015.6.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオデータをコード化する方法であって、
ビデオコーダが、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、
前記ビデオコーダが、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することと
を備える方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０２００
【補正方法】変更
【補正の内容】
【０２００】
様々な例について説明した。これら及び他の例は以下の特許請求の範囲内に入る。
以下に本件出願当初の特許請求の範囲］に記載された発明を付記する。
［１］  ビデオデータをコード化する方法であって、
ビデオコーダが、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、前記ビデオコーダが、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することとを備える方法。
［２］  前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化することを更に備える、［１］に記載の方法。
［３］  前記単一参照ピクチャリスト中で識別された前記１つ以上の参照ピクチャは、表示順序が前記現在ビデオピクチャに対して全て時間的に前である参照ピクチャと、前記現在ビデオピクチャに対して全て時間的に後である参照ピクチャと、前記現在ビデオピクチャに対して時間的に前と時間的に後の両方である参照ピクチャとのうちの１つを備える、［１］に記載の方法。
［４］  前記現在ピクチャの前記ビデオブロックをコード化することが、前記現在ピクチャの前記ビデオブロックを復号することを備え、
他の参照ピクチャリスト中の参照ピクチャのためのインデックス値をコード化することなしに、前記現在ピクチャが双方向予測を使用してコード化されるときに、前記２つの参照ピクチャが前記単一参照ピクチャリストのみ内のどこに位置するかを示すインデックス値を復号することを更に備える、［１］に記載の方法。
［５］  前記単一参照ピクチャリストを構成することが、他の参照ピクチャリストを構成することなしに前記単一参照ピクチャリストのみを構成することを備える、［１］に記載の方法。
［６］  前記単一参照ピクチャリストを構成することが、前記現在ピクチャと前記単一参照ピクチャリスト中に含まれる前記参照ピクチャの各々との間の時間距離に基づいて前記単一参照ピクチャリストを構成することを備える、［１］に記載の方法。
［７］  前記単一参照ピクチャリストを構成することは、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャからより遠い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャにより近い参照ピクチャのための識別子を含めることを備える、［１］に記載の方法。
［８］  前記単一参照ピクチャリストを構成することは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第１の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第２の参照ピクチャのための識別子を含めることと、前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第１の参照ピクチャのための前記識別子を含めることとを備える、［１］に記載の方法。
［９］  前記第１の時間距離が前記第２の時間距離に等しいとき、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、前記第２の参照ピクチャが前記第１の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることとを更に備える、［８］に記載の方法。
［１０］  前記第１の時間距離を決定することが、前記現在ピクチャと前記第１のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することを備え、前記第２の時間距離を決定することが、前記現在ピクチャと前記第２のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することを備える、［８］に記載の方法。
［１１］  前記単一参照ピクチャリストを構成することは、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャにより近い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャからより遠い参照ピクチャのための識別子を含めることを備える、［１］に記載の方法。
［１２］  前記単一参照ピクチャリストを構成することは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第２の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第１の参照ピクチャのための識別子を含めることと、前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第２の参照ピクチャのための前記識別子を含めることとを備える、［１］に記載の方法。
［１３］  前記第１の時間距離が前記第２の時間距離に等しいとき、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、前記第１の参照ピクチャが前記第２のピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、前記第２の参照ピクチャが前記第１の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることとを更に備える、［１２］に記載の方法。
［１４］  前記方法がビデオ復号の方法を備え、
ビデオシーケンス、ビデオピクチャ、及びビデオスライスのうちの少なくとも１つ内の全てのビデオブロックについてコード化が単方向予測に制約されることを示す１つ以上のシンタックス要素を復号することと、前記単一参照ピクチャリスト中で識別されたただ１つの参照ピクチャに関する単方向予測を使用して前記ビデオブロックを復号することとを更に備える、［１］に記載の方法。
［１５］  前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャ内のビデオブロックの数を示す１つ以上のシンタックス要素をコード化することを更に備える、［１］に記載の方法。
［１６］  前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャのエリアを示す１つ以上のシンタックス要素をコード化することを更に備える、［１］に記載の方法。
［１７］  復号された参照ピクチャを記憶するように動作可能なメモリと、前記メモリに記憶された１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することとを行うように動作可能なビデオコーダとを備えるビデオコード化装置。
［１８］  前記ビデオコーダは、前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化するように更に動作可能である、［１７］に記載のビデオコード化装置。
［１９］  前記単一参照ピクチャリスト中で識別された前記１つ以上の参照ピクチャは、表示順序が前記現在ビデオピクチャに対して全て時間的に前である参照ピクチャと、前記現在ビデオピクチャに対して全て時間的に後である参照ピクチャと、前記現在ビデオピクチャに対して時間的に前と時間的に後の両方である参照ピクチャとのうちの１つを備える、［１７］に記載のビデオコード化装置。
［２０］  前記ビデオコーダが、前記現在ピクチャの前記ビデオブロックを復号するビデオデコーダを備え、前記ビデオデコーダは、他の参照ピクチャリスト中の参照ピクチャのためのインデックス値をコード化することなしに、前記現在ピクチャが双方向予測を使用してコード化されるときに、前記２つの参照ピクチャが前記単一参照ピクチャリストのみ内のどこに位置するかを示すインデックス値を復号するように更に動作可能である、［１７］に記載のビデオコード化装置。
［２１］  前記ビデオコーダが、他の参照ピクチャリストを構成するように動作可能であることなしに、前記単一参照ピクチャリストのみを構成するように動作可能である、［１７］に記載のビデオコード化装置。
［２２］  前記ビデオコーダが、前記現在ピクチャと前記単一参照ピクチャリスト中に含まれる前記参照ピクチャの各々との間の時間距離に基づいて前記単一参照ピクチャリストを構成するように動作可能である、［１７］に記載のビデオコード化装置。
［２３］  前記ビデオコーダは、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャからより遠い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャにより近い参照ピクチャのための識別子を含めるように動作可能である、［１７］に記載のビデオコード化装置。
［２４］  前記単一参照ピクチャリストを構成するために、前記ビデオコーダは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第１の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第２の参照ピクチャのための識別子を含めることと、前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第１の参照ピクチャのための前記識別子を含めることとを行うように動作可能である、［１７］に記載のビデオコード化装置。
［２５］  前記第１の時間距離が前記第２の時間距離に等しいとき、前記ビデオコーダは、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、前記第２の参照ピクチャが前記第１の参照ピクチャよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることとを行うように動作可能である、［２４］に記載のビデオコード化装置。
［２６］  前記ビデオコーダが、前記第１の時間距離を決定するために前記現在ピクチャと前記第１のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することと、前記第２の時間距離を決定するために前記現在ピクチャと前記第２のピクチャとのピクチャ順序カウント値間の差の絶対値を決定することとを行うように動作可能である、［２４］に記載のビデオコード化装置。
［２７］  前記ビデオコーダは、前記単一参照ピクチャリストを構成するために、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャにより近い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャからより遠い参照ピクチャのための識別子を含めるように動作可能である、［１７］に記載のビデオコード化装置。
［２８］  前記単一参照ピクチャリストを構成するために、前記ビデオコーダは、
前記現在ピクチャと第１の参照ピクチャとの間の第１の時間距離を決定することと、前記現在ピクチャと第２の参照ピクチャとの間の第２の時間距離を決定することと、前記第１の時間距離が前記第２の時間距離よりも小さいときには、前記単一参照ピクチャリスト中のより早い位置において前記第２の参照ピクチャのための識別子を含めることと、前記単一参照ピクチャリスト中のより遅い位置において前記第１の参照ピクチャのための識別子を含めることと、前記第２の時間距離が前記第１の時間距離よりも小さいときには、前記単一参照ピクチャリスト中の前記より早い位置において前記第１の参照ピクチャのための前記識別子を含めることと、前記単一参照ピクチャリスト中の前記より遅い位置において前記第２の参照ピクチャのための前記識別子を含めることとを行うように動作可能である、［１７］に記載のビデオコード化装置。
［２９］  前記第１の時間距離が前記第２の時間距離に等しいとき、前記ビデオコーダは、
前記第１の参照ピクチャが前記第２の参照ピクチャよりも表示順序が早いかどうかを決定することと、前記第１の参照フレームが前記第２の参照フレームよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第１の参照ピクチャのための前記識別子よりも早い位置において前記第２の参照ピクチャのための前記識別子を含めることと、前記第２の参照フレームが前記第１の参照フレームよりも表示順序が早いときには、前記単一参照ピクチャリスト中の、前記第２の参照ピクチャのための前記識別子よりも早い位置において前記第１の参照ピクチャのための前記識別子を含めることとを行うように動作可能である、［２８］に記載のビデオコード化装置。
［３０］  前記ビデオコーダがビデオデコーダを備え、前記ビデオデコーダは、ビデオシーケンス、ビデオピクチャ、及びビデオスライスのうちの少なくとも１つ内の全てのビデオブロックについてコード化が単方向予測に制約されることを示す１つ以上のシンタックス要素を復号することと、前記単一参照ピクチャリスト中で識別されたただ１つの参照ピクチャに関する単方向予測を使用して前記ビデオブロックを復号することとを行うように更に動作可能である、［１７］に記載のビデオコード化装置。
［３１］  前記ビデオコーダが、前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャ内のビデオブロックの数を示す１つ以上のシンタックス要素をコード化するように更に動作可能である、［１７］に記載のビデオコード化装置。
［３２］  前記ビデオコーダが、前記単一参照ピクチャリスト中の２つの参照ピクチャに関する双方向予測を使用してコード化される前記現在ピクチャのエリアを示す１つ以上のシンタックス要素をコード化するように更に動作可能である、［１７］に記載のビデオコード化装置。
［３３］  前記ビデオコーダが、ビデオデコーダ及びビデオエンコーダのうちの１つを備える、［１７］に記載のビデオコード化装置。
［３４］  復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成するための手段と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化するための手段とを備えるビデオコード化装置。
［３５］  前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化するための手段
を更に備える、［３４］に記載のビデオコード化装置。
［３６］  前記単一参照ピクチャリストを構成するための前記手段は、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャからより遠い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャにより近い参照ピクチャのための識別子を含めるための手段を備える、［３４］に記載のビデオコード化装置。
［３７］  前記単一参照ピクチャリストを構成するための前記手段は、前記単一参照ピクチャリスト中の、表示順序が前記現在ピクチャにより近い参照ピクチャよりも早い位置において、表示順序が前記現在ピクチャからより遠い参照ピクチャのための識別子を含めるための手段を備える、［３４］に記載のビデオコード化装置。
［３８］  ビデオコーダ中で実行されると、復号された参照ピクチャを記憶するメモリからの１つ以上の参照ピクチャの各々のための識別子を含む単一参照ピクチャリストを構成することと、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの２つに関する双方向予測と、前記単一参照ピクチャリスト中で識別された前記参照ピクチャのうちの１つに関する単方向予測とのうちの１つを使用して、現在ピクチャのビデオブロックをコード化することとを前記ビデオコーダに行わせる、ビデオデータをコード化するための命令を備える非一時的コンピュータ可読記憶媒体。
［３９］  前記ビデオブロックが双方向予測を使用してコード化されるのか単方向予測を使用してコード化されるのかを示す１つ以上のシンタックス要素をコード化することを前記ビデオコーダに行わせる命令を更に備える、［３８］に記載の非一時的コンピュータ可読記憶媒体。
【外国語明細書】
2015188231000001.pdf