(57)【要約】      （修正有）【課題】ビデオコード化プロセスにおける低遅延バッファリングのための技法を提供する。【解決手段】ビデオ復号技法は、復号されたピクチャに関する、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定することと、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定することと、を含む。【選択図】図６
2018110425.tif 000002
【特許請求の範囲】
【請求項１】
ビデオを復号する方法であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を備える、方法。
【請求項２】
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号することと、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力することと、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記第２のＤＰＢ出力時間を決定することは、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、請求項１に記載の方法。
【請求項４】
前記第１のＤＰＢ出力時間を決定することは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、請求項１に記載の方法。
【請求項５】
ビデオを符号化する方法であって、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達することと、
を備える、方法。
【請求項６】
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化することと、
をさらに備える、請求項５に記載の方法。
【請求項７】
前記第２のＤＰＢ出力時間を決定することは、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、請求項５に記載の方法。
【請求項８】
前記第１のＤＰＢ出力時間を決定することは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、請求項５に記載の方法。
【請求項９】
ビデオデータを復号するように構成された装置であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を行うように構成されたビデオデコーダ、
を備える、装置。
【請求項１０】
前記ビデオデコーダは、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号することと、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力することと、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
を行うようにさらに構成される、請求項９に記載の装置。
【請求項１１】
前記ビデオデコーダは、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第２のＤＰＢ出力時間を決定するように構成される、請求項９に記載の装置。
【請求項１２】
前記ビデオデコーダは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定するように構成される、請求項９に記載の装置。
【請求項１３】
ビデオデータを符号化するように構成された装置であって、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達することと、
を行うように構成されたビデオエンコーダ、
を備える、装置。
【請求項１４】
前記ビデオエンコーダは、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化することと、
を行うようにさらに構成される、請求項１３に記載の装置。
【請求項１５】
前記ビデオエンコーダは、前記第２のＤＰＢ出力時間はサブピクチャクロックチックによって前記第２のＤＰＢ出力遅延、ＣＰＢ除去時間に結果の値を加えることによってを備えると決定するように構成される、請求項１３に記載の装置。
【請求項１６】
前記ビデオエンコーダは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定するように構成される、請求項１３に記載の装置。
【請求項１７】
ビデオデータを復号するように構成された装置であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信するための手段と、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定するための手段と、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定するための手段と、
を備える、装置。
【請求項１８】
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信するための手段と、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号するための手段と、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力するための手段と、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
をさらに備える、請求項１７に記載の装置。
【請求項１９】
前記第２のＤＰＢ出力時間を決定するための手段は、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、請求項１７に記載の装置。
【請求項２０】
前記第１のＤＰＢ出力時間を決定するための手段は、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、請求項１７に記載の装置。
【請求項２１】
ビデオデータを符号化するように構成された装置であって、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定するための手段と、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定するための手段と、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達するための手段と、
を備える、装置。
【請求項２２】
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達するための手段と、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化するための手段と、
をさらに備える、請求項２１に記載の装置。
【請求項２３】
前記第２のＤＰＢ出力時間を決定するための手段は、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、請求項２１に記載の装置。
【請求項２４】
前記第１のＤＰＢ出力時間を決定するための手段は、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、請求項２１に記載の装置。
【請求項２５】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は実行されるとき、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を行わせる、コンピュータ可読記憶媒体。
【請求項２６】
前記命令は前記１つまたは複数のプロセッサに、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号することと、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力することと、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
をさらに行わせる、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２７】
前記命令は前記１つまたは複数のプロセッサに、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第２のＤＰＢ出力時間を決定すること、を行わせる、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２８】
前記命令は前記１つまたは複数のプロセッサに、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定すること、を行わせる、請求項２５に記載のコンピュータ可読記憶媒体。
【請求項２９】
命令を記憶するコンピュータ可読記憶媒体であって、前記命令は実行されるとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達することと、
を行わせる、コンピュータ可読記憶媒体。
【請求項３０】
前記命令は前記１つまたは複数のプロセッサに、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化することと、
をさらに行わせる、請求項２９に記載のコンピュータ可読記憶媒体。
【請求項３１】
前記１つまたは複数のプロセッサに前記第２のＤＰＢ出力時間を決定することを行わせるための前記命令は、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延、およびＣＰＢ除去時間に結果の値を加えることを備える、請求項２９に記載のコンピュータ可読記憶媒体。
【請求項３２】
前記命令は前記１つまたは複数のプロセッサに、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定すること、を行わせる、請求項２９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本願は、２０１２年１２月１９日付で提出された米国仮出願第６１／７３９，６３２号、および２０１２年１２月２１日付で提出された米国仮出願第６１／７４５，４２３号の利益を主張し、その両方の内容全体が参照により本明細書に組み込まれている。
【技術分野】
【０００２】
[0002]本開示は、ビデオコード化に関し、より具体的には、ビデオコード化プロセスにおける低遅延バッファリングのための技法に関する。
【背景技術】
【０００３】
[0003]デジタルビデオ能力は、デジタルテレビ、デジタルディレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、ｅ−ｂｏｏｋリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲームデバイス、ビデオゲーム機、セルラ式または衛星無線電話、いわゆる「スマートフォン」、ビデオ電話会議デバイス、ビデオストリーミングデバイス等を含む、幅広い範囲のデバイスに組み込まれることができる。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４、Ｐａｒｔ  １０、高度ビデオコード化（ＡＶＣ：Advanced Video Coding）、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格、およびそのような規格の延長によって定義されている規格に説明されているもののような、ビデオ圧縮技法を実行する。ビデオデバイスは、そのようなビデオ圧縮技法を実行することによって、より効率的にデジタルビデオ情報を送信、受信、符号化、復号、および／または記憶することができる。
【０００４】
[0004]ビデオ圧縮技法は、ビデオシーケンスに内在する冗長を低減または除去するために、空間的（イントラピクチャ）予測、および／または時間的（インターピクチャ）予測を行う。ブロックベースのビデオコード化では、ビデオスライス（すなわち、ビデオフレームまたはビデオフレームの一部）は、ツリーブロック、コード化単位（ＣＵ）および／またはコード化ノードとも称されうる、ビデオブロックに区分されうる。ピクチャのイントラコード化された（Ｉ）スライスにおけるビデオブロックは、同じピクチャ内の隣接するブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化された（ＰまたはＢ）スライスにおけるビデオブロックは、同じピクチャ内の隣接するブロックにおける参照サンプルに対する空間的予測、または他の参照ピクチャにおける参照サンプルに対する時間的予測を使用することができる。ピクチャは、フレームと称され、参照ピクチャは参照フレームと称されうる。
【０００５】
[0005]空間的または時間的予測は、予測ブロックを利用する。残差データは、コード化されるべき元のブロックと予測ブロックとの間の画素の差分を表す。インターコード化されたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトル、およびコード化されたブロックと予測ブロックとの間の差分を示す残差データにしたがって符号化される。イントラコード化されたブロックは、イントラコード化モードおよび残差データにしたがって符号化される。さらなる圧縮のために、残差データは画素ドメインから変換ドメインに変換され、その結果、その後量子化されうる残差変換係数をもたらしうる。最初は２次元のアレイ内に配置される量子化された変換係数は、変換係数の１次元ベクトルを作り出すために走査され、エントロピーコード化がさらなる圧縮を達成するために適用されうる。
【発明の概要】
【０００６】
[0006]概して本開示は、ビデオコード化のための技法を説明しており、より具体的には、ビデオコード化プロセスにおける低遅延バッファリングのための技法を説明している。１つまたは複数の例において、本開示は、ビデオバッファ遅延を改善するために、ビデオデコーダがサブピクチャレベルで動作しているときに使用されるべき復号ピクチャバッファ（ＤＰＢ：decoded picture buffer）出力遅延を信号伝達するための技法を提案している。
【０００７】
[0007]本開示の一例では、ビデオを復号する方法は、復号されたピクチャに関する、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定することと、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定することと、を備える。
【０００８】
[0008]本開示の別の例では、ビデオを符号化する方法は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定することと、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定することと、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を信号伝達することと、を備える。
【０００９】
[0009]本開示の別の例では、ビデオデータを復号するように構成された装置は、復号されたピクチャに関する、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を受信し、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定し、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定するように構成されたビデオデコーダ、を備える。
【００１０】
[0010]本開示の別の例では、ビデオデータを符号化するように構成された装置は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定し、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定し、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を信号伝達するように構成されたビデオエンコーダ、を備える。
【００１１】
[0011]本開示の別の例では、ビデオデータを復号するように構成された装置は、復号されたピクチャに関する、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を受信するための手段と、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定するための手段と、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定するための手段と、を備える。
【００１２】
[0012]本開示の別の例では、ビデオデータを符号化するように構成された装置は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定するための手段と、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定するための手段と、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を信号伝達するための手段と、を備える。
【００１３】
[0013]別の例では、本開示は、実行されるとき、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、復号されたピクチャに関する、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を受信することと、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定することと、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定することと、を行わせる命令を記憶するコンピュータ可読記憶媒体を開示している。
【００１４】
[0014]別の例では、本開示は、実行されるとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定することと、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定することと、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を信号伝達することと、を行わせる命令を記憶するコンピュータ可読記憶媒体を開示している。
【００１５】
[0015]１つまたは複数の例の詳細は、添付図面および以下の説明において述べられている。他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【００１６】
【図１】本開示において説明されている技法を利用しうる実例となるビデオ符号化および復号システムを例示しているブロック図である。
【図２】仮想参照デコーダ（ＨＲＤ）のためのバッファモデルを例示しているブロック図である。
【図３】本開示において説明されている技法を実行しうる実例となるビデオエンコーダを例示しているブロック図である。
【図４】本開示において説明されている技法を実行しうる実例となるビデオデコーダを例示しているブロック図である。
【図５】本開示の技法にしたがった実例となる符号化方法を図示しているフローチャートである。
【図６】本開示の技法にしたがった実例となる復号方法を図示しているフローチャートである。
【発明を実施するための形態】
【００１７】
[0022]本開示は、サブピクチャベースのコード化ピクチャバッファ（ＣＰＢ：coded picture buffer）動作とサブピクチャタイミングベースの復号ピクチャバッファ（ＤＰＢ）動作との両方を含む、一般的なサブピクチャベースの仮想参照デコーダ（ＨＲＤ）を通じて、相互動作様式で、低減されるコデック（コーダ／デコーダ）遅延を達成する様々な方法および技法を説明している。
【００１８】
[0023]ＣＰＢおよび／またはＤＰＢ遅延時間を最小化することに対する現在の手法は、以下の欠点を示す。復号されたピクチャの出力時間は、最後の復号単位（すなわち、アクセス単位レベルの動作のためのアクセス単位自体）の復号時間（すなわち、ＣＰＢ除去時間）に信号伝達されたＤＰＢ出力遅延を加えたものに等しい。したがって、遅延を低減するための２つの手法が一般に使用される。１つは、復号時間をより早期にシフトすることである。もう１つは、（ＣＰＢ除去時間に対して）信号伝達されたＤＰＢ出力遅延の値を低減することである。しかしながら、極低（ultra-low）遅延バッファリングモデルに関する既存の解決策は、サブピクチャベースのＣＰＢ動作を伴うだけであり、遅延を低減するための第１の手法を利用するだけである。
【００１９】
[0024]これらの欠点の観点から、本開示は、ＣＰＢ除去時間に対して信号伝達されたＤＰＢ出力遅延の低減された値の信号伝達および使用を介して復号遅延をさらに低減するための技法を提案する。
【００２０】
[0025]図１は、本開示において説明されている技法を利用しうる実例となるビデオ符号化および復号システム１０を例示しているブロック図である。図１で図示されているように、システム１０は、宛先デバイス（宛先機器）１４によって後の時間に復号されるべき符号化されたビデオデータを生成するソースデバイス（発信源機器）１２を含む。ソースデバイス１２および宛先デバイス１４は、デスクトップコンピュータ、ノートブック（すなわち、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンのような電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、ディスプレイデバイス（表示装置）、デジタルメディアプレイヤ、ビデオゲーム機、ビデオストリーミングデバイス等を含む、幅広い範囲のデバイスのいずれも備えることができる。いくつかのケースでは、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために装備されうる。
【００２１】
[0026]宛先デバイス１４は、リンク１６を介して、復号されるべき符号化されたビデオデータを受信することができる。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化されたビデオデータを移動する能力を有するあらゆるタイプの媒体またはデバイスを備えることができる。一例において、リンク１６は、ソースデバイス１２がリアルタイムで、直接宛先デバイス１４に符号化されたビデオデータを送信することを可能にする通信媒体を備えることができる。符号化されたビデオデータは、ワイヤレス通信プロトコルのような通信規格にしたがって変調され、宛先デバイス１４に送信されうる。通信媒体は、無線周波数（ＲＦ）スペクトルまたは１つまたは複数の物理送信ラインのような、あらゆるワイヤレスまたは有線通信媒体を備えることができる。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのようなグローバルネットワークのような、パケットベースのネットワークの一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を容易にするのに役立ちうるあらゆる他の機器を含むことができる。
【００２２】
[0027]代わりとして、符号化されたデータは、出力インターフェース２２から記憶デバイス３３に出力されうる。同様に、符号化されたデータは、入力インターフェースによって記憶デバイス（記憶装置）３３からアクセスされうる。記憶デバイス３３は、ハードドライブ、ブルーレイディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ、揮発性または非揮発性メモリ、あるいは符号化されたビデオデータを記憶するためのあらゆる他の適したデジタル記憶媒体のような、様々な、分散型のまたはローカルでアクセスされるデータ記憶媒体のうちのいずれも含むことができる。さらなる例において、記憶デバイス３３は、ソースデバイス１２によって生成された符号化されたビデオを保持することができる別の中間記憶デバイスまたはファイルサーバに対応しうる。宛先デバイス１４は、ストリーミングまたはダウンロードを介して記憶デバイス３３からの記憶されたビデオデータにアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶すること、および宛先デバイス１４にその符号化されたビデオデータを送信することの能力を有するサーバのいずれのタイプでもありうる。実例となるファイルサーバは、（例えば、ウェブサイトのための）ウェブサーバ、ＦＴＰサーバ、ネットワーク接続ストレージ（記憶）（ＮＡＳ）デバイス（装置）、またはローカルディスクドライブを含む。宛先デバイス１４は、インターネット接続を含む、あらゆる標準データ接続を通じて符号化されたビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された、符号化されたビデオデータにアクセスするのに適している、ワイヤレスチャネル（例えば、Ｗｉ−Ｆｉ（登録商標）接続）、有線接続（例えば、ＤＳＬ、ケーブルモデム等）、またはその両方の組み合わせを含むことができる。記憶デバイス３３からの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組み合わせでありうる。
【００２３】
[0028]本開示の技法は、ワイヤレスアプリケーションまたは設定に必ずしも限定されるわけではない。技法は、無線テレビブロードキャスト、ケーブルテレビ送信、衛星テレビ送信、例えばインターネットを介したストリーミングビデオ送信、データ記憶媒体上での記憶のためのデジタルビデオの符号化、データ記憶媒体上に記憶されたデジタルビデオの復号、または他のアプリケーションのような様々なマルチメディアアプリケーションのいずれかをサポートする、ビデオコード化に適用されうる。いくつかの例では、システム１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、および／またはビデオ電話通信のようなアプリケーションをサポートするために１方向、または２方向のビデオ送信をサポートするように構成されうる。
【００２４】
[0029]図１の例では、ソースデバイス１２は、ビデオソース１８、ビデオエンコーダ２０、出力インターフェース２２を含む。いくつかのケースにおいて、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含むことができる。ソースデバイス１２において、ビデオソース１８は、例えば、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステム、またはそのような発信源の組み合わせといった、ビデオキャプチャデバイス（撮像装置）のような発信源を含むことができる。一例として、ビデオソース（ビデオ発信源）１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、いわゆるカメラ付電話、またはビデオ電話を形成することができる。しかしながら、本開示で説明されている技法は、一般にビデオコード化に適用可能であり、ワイヤレスおよび／または有線アプリケーションに適用されうる。
【００２５】
[0030]撮影された、予め撮影された（pre-captured）、またはコンピュータにより生成されたビデオは、ビデオエンコーダ２０によって符号化されうる。符号化されたビデオデータは、ソースデバイス１２の出力インターフェース２２を介して、宛先デバイス１４に直接送信されうる。符号化されたビデオデータは、そのうえ（または代わりとして）、復号および／または再生のために、宛先デバイス１４または他のデバイスによる後のアクセスのために記憶デバイス３３上に記憶されうる。
【００２６】
[0031]宛先デバイス１４は、入力インターフェース２８、ビデオデコーダ３０、およびディスプレイデバイス３２を含む。いくつかのケースでは、入力インターフェース２８は、受信機および／またはモデムを含むことができる。宛先デバイス１４の入力インターフェース２８は、リンク１６をわたって、符号化されたビデオデータを受信する。リンク１６をわたって通信された、または記憶デバイス３３上で提供された符号化されたビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０のようなビデオデコーダによって使用される、ビデオエンコーダ２０によって生成された様々なシンタックス要素を含むことができる。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバに記憶された符号化されたビデオデータと共に含まれうる。
【００２７】
[0032]ディスプレイデバイス３２は、宛先デバイス１４と一体化されうる、あるいは宛先デバイス１４の外部にありうる。いくつかの例では、宛先デバイス１４は、一体化されたディスプレイデバイスを含むことができ、また外部のディスプレイデバイスとインターフェースで接続するように構成されうる。他の例では、宛先デバイス１４は、ディスプレイデバイスでありうる。概して、ディスプレイデバイス３２は、ユーザに対して、復号されたビデオデータをディスプレイし、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれも備えることができる。
【００２８】
[0033]ビデオエンコーダ２０およびビデオデコーダ３０は、現在開発中の高効率ビデオコード化（ＨＥＶＣ）規格のような、ビデオ圧縮規格にしたがって動作し、ＨＥＶＣテストモデル（ＨＭ）に準拠しうる。ＨＥＶＣは、ＩＴＵ−Ｔビデオコード化専門家グループ（ＶＣＥＧ：Video Coding Experts Group）およびＩＳＯ／ＩＥＣ動画専門家グループ（ＭＰＥＧ：Motion Picture Experts Group）から成るビデオコード化共同研究部会（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって展開されている。Ｂｒｏｓｓ他による「High Efficiency Video Coding （ＨＥＶＣ） text specification draft 9」という名の、以下でＨＥＶＣ  ＷＤ９と称される、１つのＨＥＶＣのワーキングドラフトは、２０１３年７月５日付けで、http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v13.zipから利用可能である。ＨＥＶＣ  ＷＤ９の全体の内容は、本明細書に参照により組み込まれている。
【００２９】
[0034]代わりとして、ビデオエンコーダ２０およびビデオデコーダ３０は、ＭＰＥＧ―４、Ｐａｒｔ１０、アドバンスドビデオコード化（ＡＶＣ）、またはそのような規格の延長として代わりに称される、ＩＴＵ−Ｔ  Ｈ．２６４規格のような、他の専有または工業規格（proprietary or industry standards）にしたがって動作することができる。しかしながら本開示の技法は、いずれの特定のコード化規格にも限定されない。ビデオ圧縮規格の他の例は、ＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３を含む。
【００３０】
[0035]図１では図示されていないけれども、いくつかの態様では、ビデオエンコーダ２０およびビデオデコーダ３０は各々、音声エンコーダおよびデコーダと一体化され、共通のデータストリームまたは別個のデータストリームにおける音声およびビデオの両方の符号化を管理するために、適切なＭＵＸ−ＤＥＭＵＸユニットまたは他のハードウェアおよびソフトウェアを含むことができる。適用可能である場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ．Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに準拠しうる。
【００３１】
[0036]ビデオエンコーダ２０およびビデオデコーダ３０は各々、１つまたは複数のマイクロプロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらのあらゆる組み合わせのような、様々な適したエンコーダ回路のいずれかとして実装されうる。技法が部分的にソフトウェアで実行されるとき、デバイスは、適した非トランジトリなコンピュータ可読媒体にソフトウェアのための命令を記憶することができ、本開示の技法を実行するために、１つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行できる。ビデオエンコーダ２０およびビデオデコーダ３０の各々は、１つまたは複数のエンコーダまたはデコーダに含まれることができ、エンコーダまたはデコーダのどちらも、それぞれのデバイスにおける組み合わされたエンコーダ／デコーダ（ＣＯＤＥＣ）の一部として一体化されうる。
【００３２】
[0037]ＪＣＴ−ＶＣは、ＨＥＶＣ規格の発展に従事している。ＨＥＶＣ規格化の試みは、ＨＥＶＣテストモデル（ＨＭ）と称されるビデオコード化デバイスの発展型モデルに基づく。ＨＭは、例えば、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣにしたがった既存のデバイスと比較するとビデオコード化デバイスのいくつかの追加の能力を想定する。例えば、Ｈ．２６４が、９つのイントラ予測符号化モードを提供するのに対し、ＨＭは、３３もの数のイントラ予測符号化モードを提供することができる。
【００３３】
[0038]概して、ＨＭのワーキングモデルは、ビデオフレームまたはピクチャが輝度サンプルおよび彩度サンプルの両方を含む最大コード化単位（ＬＣＵ）またはツリーブロックのシーケンスに分割されうることを説明する。ツリーブロックは、Ｈ．２６４規格のマクロブロックと類似した目的を有する。スライスは、いくつかの連続するツリーブロックをコード化順序で含む。ビデオフレームまたはピクチャは、１つまたは複数のスライスに区分されうる。各ツリーブロックは四分木にしたがってコード化単位（ＣＵ）に分けられうる。例えば、あるツリーブロックは、四分木のルートノードとして、４個の子ノードに分けられ、各子ノードは、次々に親ノードとなり、別の４個の子ノードに分けられうる。最後の分けられない子ノードは、四分木のリーフノードとして、コード化ノード、すなわちコード化されたビデオブロックを備える。コード化されたビットストリームに関連付けられたシンタックスデータは、ツリーブロックが分けられうる回数の最大数を定義し、またコード化ノードの最小サイズを定義することができる。
【００３４】
[0039]ＣＵは、コード化ノードと、コード化ノードに関連付けられた変換単位（ＴＵ）および予測単位（ＰＵ）とを含む。ＣＵのサイズは一般に、コード化ノードのサイズに対応し、通常形が正方形でなければならない。ＣＵのサイズは、８×８画素から、最大の６４×６４またはそれより大きい画素を有するツリーブロックのサイズまでの範囲に及ぶ。各ＣＵは、１つまたは複数のＰＵおよび１つまたは複数のＴＵを含むことができる。ＣＵに関連付けられたシンタックスデータは、例えば、ＣＵの１つまたは複数のＰＵへの区分を記述しうる。区分モードは、ＣＵがスキップまたは直接モード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なりうる。ＰＵは、形が非正方形になるように区分されうる。ＣＵに関連付けられたシンタックスデータはまた、例えば、四分木にしたがったＣＵの１つまたは複数のＴＵへの区分を記述することもできる。ＴＵは、形が正方形または非正方形であることができる。
【００３５】
[0040]ＨＥＶＣ規格は、異なるＣＵに対して異なりうるＴＵにしたがった変換を許容する。ＴＵは通常、区分されたＬＣＵのために定義された所与のＣＵ内のＰＵのサイズに基づいてサイズ変更されるけれども、このことが常に当てはまるわけではない。ＴＵは通常、ＰＵと同じサイズであるか、またはＰＵよりも小さい。いくつかの例では、ＣＵに対応する残差サンプルは、「残差四分木」（ＲＱＴ）として知られる四分木構造を使用してより小さい単位にさらに分割されうる。ＲＱＴのリーフノードは、変換単位（ＴＵ）と称されうる。ＴＵに関連付けられた画素差分値は、量子化されうる変換係数を作り出すために変換されうる。
【００３６】
[0041]概して、ＰＵは、予測プロセスに関するデータを含む。例えば、ＰＵがイントラモード符号化されるとき、ＰＵは、そのＰＵのためのイントラ予測モードを記述するデータを含むことができる。別の例として、ＰＵがインターモード符号化されるとき、ＰＵは、そのＰＵのための動きベクトルを定義するデータを含むことができる。ＰＵのための動きベクトルを定義するデータは、例えば、動きベクトルの水平コンポーネント、動きベクトルの垂直コンポーネント、動きベクトルのための解像度（例えば、４分の１画素精度または８分の１画素精度）、動きベクトルが指す参照ピクチャ、および／または動きベクトルに関する参照ピクチャリスト（例えば、リスト０、リスト１、またはリストＣ）を記述することができる。
【００３７】
[0042]概して、ＴＵは、変換および量子化プロセスに使用される。１つまたは複数のＰＵ有する所与のＣＵはまた、１つまたは複数の変換単位（ＴＵ）を含むことができる。予測に続いて、ビデオエンコーダ２０は、ＰＵにしたがってコード化ノードによって識別されたビデオブロックから残差値を計算することができる。その後、コード化ノードは、元のビデオブロックよりはむしろ残差値を参照するように更新される。残差値は、エントロピーコード化のための直列変換係数（serialized transform coefficient）を作り出すために、変換係数へと変換され、量子化され、この変換情報およびＴＵで指定された他の変換情報を使用して走査されうる画素差分値を備える。コード化ノードは、これらの直列変換係数を参照するように再度更新されうる。本開示は通常、ＣＵのコード化ノードを指すように「ビデオブロック」という用語を使用する。いくつかの指定のケースでは、本開示はまた、コード化ノードと、ＰＵおよびＴＵとを含むツリーブロック、すなわち、ＬＣＵまたはＣＵを指すようにも「ビデオブロック」という用語を使用することができる。
【００３８】
[0043]ビデオシーケンスは通常、一連のビデオフレームまたはピクチャを含む。グループオブピクチャ（ＧＯＰ）は一般に、一連の１つまたは複数のビデオピクチャを備える。ＧＯＰは、ＧＯＰのヘッダ、１つまたは複数のピクチャのヘッダ、またはその他の場所に、ＧＯＰ内に含まれたピクチャの数を記述するシンタックスデータを含むことができる。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライスシンタックスデータを含むことができる。ビデオエンコーダ２０は通常、ビデオデータを符号化するために、個別のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、ＣＵ内のコード化ノードに対応しうる。ビデオブロックは、一定または可変のサイズを有し、指定されたコード化規格にしたがってサイズが異なりうる。
【００３９】
[0044]例として、ＨＭは、様々なＰＵサイズにおける予測をサポートする。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ＨＭは、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズにおけるイントラ予測、および２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、またはＮ×Ｎの対称ＰＵサイズにおけるインター予測をサポートする。ＨＭはまた、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズにおけるインター予測のための非対称区分をサポートする。非対称区分において、ＣＵの一方向が区分されないのに対して、もう一方の方向は２５％および７５％に区分される。２５％区分に対応するＣＵの部分は、「上」、「下」、「左」、または「右」の指示が続く「ｎ」によって示される。したがって、例えば、「２Ｎ×ｎＵ」は、上部では２Ｎ×０．５Ｎ  ＰＵと、下部では２Ｎ×１．５Ｎ  ＰＵで水平に区分される２Ｎ×２Ｎ  ＣＵを指す。
【００４０】
[0045]本開示では、「Ｎ×Ｎ」および「ＮｂｙＮ」は、垂直および水平次元の観点からのビデオブロックの画素次元、例えば、１６×１６画素、または１６ｂｙ１６画素を指すために交換可能に使用されうる。概して、１６×１６ブロックは、垂直方向に１６画素（ｙ＝１６）、および水平方向に１６画素（ｘ＝１６）を有することになる。同様に、Ｎ×Ｎブロックは概して、垂直方向にＮ画素、および水平方向にＮ画素を有し、Ｎは、自然数値を表す。ブロックにおける画素は、行と列で配置されうる。その上、ブロックは、水平方向において、垂直方向と同じ数の画素を必ずしも有する必要はない。例えば、ブロックは、Ｎ×Ｍ画素を備えることができ、ここにおいて、Ｍは必ずしもＮと等しくはない。
【００４１】
[0046]ＣＵのＰＵを使用するイントラ予測コード化またはインター予測コード化に続いて、ビデオエンコーダ２０は、ＣＵのＴＵによって指定された変換が適用される残差データを計算することができる。残差データは、ＣＵに対応する予測値と非符号化ピクチャの画素との間の画素差分に対応しうる。ビデオエンコーダ２０は、ＣＵのための残差データを形成し、その後、変換係数を作り出すために残差データを変換することができる。
【００４２】
[0047]変換係数を作り出すための任意の変換に続いて、ビデオエンコーダ２０は、変換係数の量子化を実行することができる。量子化は一般に、係数を表すために使用されるデータの量をできる限り低減し、さらなる圧縮を提供するように変換係数が量子化されるプロセスを指す。量子化プロセスは、係数のいくつか、またはすべてに関連付けられたビット深度を低減することができる。例えば、ｎビット値は、量子化中にｍビット値に丸められ、ここにおいてｎはｍよりも大きい。
【００４３】
[0048]いくつかの例では、ビデオエンコーダ２０は、エントロピー符号化されることができる直列ベクトル（serialied vector）を作り出すように量子化された変換係数を走査するために、所定の走査順序を利用することができる。他の例では、ビデオエンコーダ２０は、適応走査を実行することができる。１次元ベクトルを形成するように量子化された変換係数を走査した後、ビデオエンコーダ２０は、例えば、コンテキスト適応可変長コード化（ＣＡＶＬＣ：context adaptive variable length coding）、コンテキスト適応二進演算コード化（ＣＡＢＡＣ：context adaptive binary arithmetic coding）、シンタックスベースのコンテキスト適応二進演算コード化（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）、確率間隔区分エントロピー（ＰＩＰＥ：Probability Interval Partitioning Entropy）コード化または別のエントロピー符号化方法にしたがって、１次元のベクトルをエントロピー符号化することができる。ビデオエンコーダ２０はまた、ビデオデータを復号する際にビデオデコーダ３０によって使用される符号化されたビデオデータに関連付けられたシンタックス要素をエントロピー符号化することもできる。
【００４４】
[0049]ＣＡＢＡＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当てることができる。コンテキストは、例えば、シンボルの隣接する値が非ゼロであるか否かに関しうる。ＣＡＶＬＣを実行するために、ビデオエンコーダ２０は、送信されるべきシンボルのための可変長コードを選択することができる。ＶＬＣにおけるコードワードは、より長いコードがより可能性の低いシンボルに対応するのに対して比較的短いコードがより可能性の高いシンボルに対応するように構成されうる。このように、ＶＬＣの使用は、例えば送信されるべき各シンボルに対して等しい長さのコードワードを使用することを通じてビット節約を獲得することができる。確率の決定は、シンボルに割り当てられたコンテキストに基づきうる。
【００４５】
[0050]ビデオエンコーダ２０およびビデオデコーダ３０を使用することができるビデオアプリケーションは、局所再生、ストリーミング、ブロードキャスト／マルチキャスト、および対話アプリケーションを含むことができる。対話アプリケーションは、ビデオ電話およびビデオ会議を含む。対話アプリケーションはまた、そのようなリアルタイムアプリケーションが多大な遅延を許容しない点で、低遅延アプリケーションと称される。良好なユーザエクスペリエンスでは、対話アプリケーションは、全体のシステムの比較的低いエンドツーエンド遅延（end-to-end delay）、すなわちビデオフレームがソースデバイスで撮影される時間とビデオフレームが宛先デバイスで表示される時間との間の遅延を要求する。通常、対話アプリケーションに関する許容可能なエンドツーエンド遅延は、４００ｍｓ未満であるべきである。約１５０ｍｓのエンドツーエンド遅延は、非常に良好であると考えられる。
【００４６】
[0051]対話アプリケーションの各処理ステップは、全体の端末相互間の遅延に寄与しうる。処理ステップからの実例となる遅延は、撮影遅延、前処理遅延、符号化遅延、送信遅延、（ジッタ除去（de-jittering）のための）受信バッファリング遅延、復号遅延、復号ピクチャ出力遅延、後処理遅延、および表示遅延を含む。通常、コデック遅延（符号化遅延、復号遅延、および復号ピクチャ出力遅延）は、対話アプリケーションで最小化されることが目的とされる。特に、コード化構造は、復号ピクチャ出力遅延がゼロに等しい、またはゼロに近くあるようにピクチャの復号順序および出力順序が同一であることを確実にすべきである。
【００４７】
[0052]ビデオコード化規格は通常、ビデオバッファリングモデルの仕様を含む。ＡＶＣおよびＨＥＶＣにおいて、バッファリングモデルは、コード化ピクチャバッファ（ＣＰＢ）および復号ピクチャバッファ（ＤＰＢ）の両方のバッファリングモデルを含む、仮想参照デコーダ（ＨＲＤ）と称される。ＣＰＢは、復号のためのコード化ピクチャを含む先入れ先出しのバッファである。ＤＰＢは、参照（例えば、インター予測）、出力再順序付け、出力遅延、および最終的な表示に使用される復号されたピクチャを保持するバッファである。ＣＰＢおよびＤＰＢの働き（behavior）は、ＨＲＤによって数学的に指定される。ＨＲＤは、異なるタイミング、バッファサイズ、およびビットレートに制約を直接課し、ビットストリーム特性および統計に制約を間接的に課す。ＨＲＤパラメータの完全なセットは、５つの基本パラメータ：初期ＣＰＢ除去遅延、ＣＰＢサイズ、ビットレート、初期ＤＰＢ出力遅延、およびＤＰＢサイズを含む。
【００４８】
[0053]ＡＶＣおよびＨＥＶＣにおいて、ビットストリーム適合性（bitstream conformance）およびデコーダ適合性（decoder conformance）は、ＨＲＤ仕様の一部として指定される。ＨＲＤは、デコーダと称されるけれども、ＨＲＤによって指定されるいくつかの技法はまた、通常デコーダ側で必要とされないけれども、ビットストリーム適合性を保証するためにエンコーダ側で通常必要とされる。ビットストリームまたはＨＲＤ適合性の２つのタイプ、すなわちタイプＩおよびタイプＩＩ、が指定される。また、デコーダ適合性の２つのタイプ（すなわち、出力タイミングデコーダ適合性および出力順序デコーダ適合性）が指定される。
【００４９】
[0054]タイプＩのビットストリームは、ビットストリームにおけるすべてのアクセス単位に関するＦＤ＿ＮＵＴに等しいnal_unit_typeを有するネットワーク抽象化レイヤ（ＮＡＬ）単位（フィルタデータＮＡＬ単位）およびビデオコード化レイヤ（ＶＣＬ）ＮＡＬ単位のみを含む、ＮＡＬ単位ストリームである。タイプＩＩビットストリームは、ビットストリームにおけるすべてのアクセス単位に関するフィルタデータＮＡＬ単位およびＶＣＬ  ＮＡＬ単位に加えて、以下：フィルタデータＮＡＬ単位以外の追加の非ＶＣＬ  ＮＡＬ単位、ＮＡＬ単位トリームからバイトストリームを形成するleading_zero_8bits、zero_byte、start_code_prefix_one_3bytes、およびtrailing_zero_8bitsのシンタックス要素のすべて、の少なくとも１つを含む。
【００５０】
[0055]図２は、仮想参照デコーダ（ＨＲＤ）のためのバッファモデルを例示しているブロック図である。ＨＲＤは以下のように動作する。指定された到着スケジュールにしたがってＣＰＢ１０２に流れる復号単位に関連付けられたデータは、仮想ストリームスケジューラ（ＨＳＳ）１００によって運ばれる。ＨＳＳ１００に運ばれるストリームは、上記で定義されたようなタイプＩまたはタイプＩＩビットストリームでありうる。各復号単位に関連付けられたデータは、復号単位のＣＰＢ除去時間において、復号プロセス１０４を用いて（例えば、ビデオデコーダ３０によって）除去および復号される。復号プロセス１０４は、ビデオデコーダ３０によって実行される。復号プロセス１０４を用いて作り出される各復号されたピクチャは、ＤＰＢ１０６に置かれる。復号されたピクチャは、復号プロセス１０４中（例えば、インター予測中）に参照ピクチャとして使用されうる。復号されたピクチャは、それがもはやインター予測参照のために必要とされなくなる、およびもはや出力のために必要とされなくなるとき、ＤＰＢ１０６から除去される。いくつかの例では、ＤＰＢ１０６における復号されたピクチャは、表示される前に出力クロッピングユニット１０８によってクロップされうる。出力クロッピングユニット１０８は、ビデオデコーダ３０の一部でありうるか、またはビデオデコーダの出力をさらに処理するように構成された外部プロセッサ（例えば、表示プロセッサ）の一部でありうる。
【００５１】
[0056]ＡＶＣおよびＨＥＶＣ  ＨＲＤモデルでは、復号またはＣＰＢ除去は、アクセス単位（ＡＵ）ベースであり、ピクチャ復号が瞬間的なものであることが前提とされる（例えば、図２における復号プロセス１０４は瞬間的なものであると前提される）。アクセス単位は、ネットワーク抽象化レイヤ（ＮＡＬ）単位のセットであり、１つのコード化されたピクチャを含む。実際のアプリケーションでは、適合デコーダ（conforming decoder）が厳密に、ＡＵの復号を開始するために、例えば、ビデオエンコーダ２０によって生成されたピクチャタイミング補足強化情報（ＳＥＩ）メッセージで信号伝達される復号時間に従う場合、特定の復号されたピクチャを出力する最も早い可能性のある時間は、その特定のピクチャの復号時間（すなわち、ピクチャが復号され始める時間）にその特定のピクチャを復号するために必要な時間を加えたものに等しい。現実世界でピクチャを復号ために必要な時間は、ゼロに等しくあることはできない。
【００５２】
[0057]ＨＥＶＣ  ＷＤ９は、時折、極低遅延と称される、低減されたコデック遅延を可能にするサブピクチャベースのＣＰＢ動作のサポートを含む。サブピクチャレベルのＣＰＢ動作が、（ＨＥＶＣ仕様書で指定されていない外部手段によって指定されうる）デコーダによって好まれるかどうか、およびサブピクチャＣＰＢパラメータが（ＨＥＶＣ仕様書で指定されていない外部手段を通じて、またはビットストリームにおいて）存在するかどうかに依存して、ＣＰＢは、ＡＵレベル（すなわち、ピクチャレベル）またはサブピクチャレベル（すなわち、ピクチャ全体よりも小さい）のどちらかで動作することができる。両方の条件が真であるとき、ＣＰＢはサブピクチャレベルで動作する（およびこのケースでは、各復号単位はＡＵのサブセットとして定義される）。復号単位（ＤＵ）は、デコーダが動作する単位である。そうでなければ、ＣＰＢはＡＵレベルで動作する（およびこのケースでは、各復号単位はＡＵとして定義される）。シンタックス要素SubPicCpbFlagが０に等しい場合、ＤＵはＡＵに等しい。そうでなければ、ＤＵはＡＵのサブセットである。
【００５３】
[0058]サブピクチャレベルのＣＰＢパラメータのためのＨＥＶＣシンタックスは以下を含む：
―以下のシンタックスは、シーケンスパラメータセット（ＳＰＳ）のビデオユーザビリティ情報（ＶＵＩ）部にある
ｏサブピクチャレベルのＣＰＢパラメータが存在するかどうか
ｏサブチッククロック（sub tick clock）の導出のための、チック除数（tick divisor）
ｏＣＰＢ除去遅延長
ｏ復号単位ＣＰＢ除去遅延値が、ピクチャタイミングＳＥＩメッセージで信号伝達されるか、復号単位情報ＳＥＩメッセージで信号伝達されるか
ｏサブピクチャレベルでのＣＰＢ動作のためのＣＰＢサイズ値の長さ
―以下のシンタックスは、バッファリング期間ＳＥＩメッセージにある
ｏサブピクチャレベルのＣＰＢ動作のための初期ＣＰＢ除去遅延のセットおよび遅延オフセット
―以下のシンタックスは、ピクチャタイミングＳＥＩメッセージにある
ｏアクセス単位における復号単位の数
ｏ各復号単位におけるＮＡＬ単位の数
ｏ復号単位に関する復号単位ＣＰＢ除去遅延値
―以下のシンタックスは、ピクチャタイミングＳＥＩメッセージにある
ｏアクセス単位における復号単位のリストの各復号単位のインデックス
ｏ各復号単位に関する復号単位ＣＰＢ除去遅延値
[0059]ＣＰＢおよび／またはＤＰＢ遅延時間を最小化することに対する現在の手法は、以下の欠点を見せる。復号されたピクチャの出力時間は、最後のＤＵ（つまり、ＡＵレベルの動作に関してＡＵ自体）の復号時間（すなわち、ＣＰＢ除去時間）に信号伝達されたＤＰＢ出力遅延を加えたものに等しい。したがって、遅延を低減するための２つの手法が一般に使用される。１つは、復号時間をより早期にシフトすることである。もう１つは、（ＣＰＢ除去時間と比較して）信号伝達されたＤＰＢ出力遅延の値を低減することである。しかしながら、極低遅延バッファリングモデルに関する既存の解決策は、サブピクチャベースのＣＰＢ動作を伴うだけであり、遅延を低減するためのその最初の手法を利用するだけである。
【００５４】
[0060]これらの欠点の観点から、本開示は、ＣＰＢ除去時間と比較して信号伝達されたＤＰＢ出力支援の低減された値の信号伝達および使用を介して復号遅延をさらに低減するための技法を提案する。
【００５５】
[0061]特に、本開示の一例では、各ＡＵのＣＰＢ除去時間と比較したＤＰＢ出力遅延の１つの追加の信号伝達された値は、例えばピクチャタイミングＳＥＩメッセージにおいて、エンコーダによって信号伝達される。この追加の信号伝達されたＤＰＢ出力遅延は、サブピクチャベースのＨＲＤ動作のためのＤＰＢ出力時間の導出において使用される。別の例では、追加で信号伝達されたＤＰＢ出力遅延に加えて、ＤＰＢ出力時間は、チッククロックの代わりにサブチッククロックを使用して導出される。
【００５６】
[0062]いくつかの詳細な例が以下で提供されている。特別に言及されていない場合、以下の例の態様は、ＨＥＶＣ  ＷＤ９で定義されるように動作することができる。
【００５７】
[0063]本開示の一例にしたがうと、ピクチャタイミングＳＥＩメッセージの実例となるシンタックスおよびセマンティクスは、以下の通りである。本開示で変えられるまたは紹介されるシンタックス要素は、太字で図示されている。
【表１】
2018110425.tif 000003
【００５８】
[0064]本開示のこの例では、太字にされたシンタックス要素は、以下の通りに動作しうる。シンタックス要素pic_dpb_output_du_delayは、ＨＥＤがサブピクチャレベルで動作するとき（すなわち、SubPicCpbFlagが１に等しいとき）ピクチャのＤＰＢ出力時間を計算するために使用される。シンタックス要素pic_dpb_output_du_delayは、復号されたピクチャがＤＰＢから出力される前に、ＣＰＢからのアクセス単位における最後の復号単位の除去の後、いくつのサブサブクロックチックを待機すべきかを指定する。
【００５９】
[0065]一例では、シンタックス要素pic_dpb_output_du_delayの長さは、dpb_output_delay_length_minus1+1によってビット単位で与えられる。別の例では、シンタックス要素pic_dpb_output_du_delayの長さは、別のシンタックス要素の値に１を加えたものによってビット単位で与えられ、ここにおいて、例えば、そのシンタックス要素は、dpb_output_delay_length_du_minus1と名付けられ、シーケンスパラメータセットのＶＵＩ部において信号伝達される。
【００６０】
[0066]出力タイミング適合デコーダから出力される任意のピクチャのpic_dpb_output_du_delayから導出される出力時間は、任意の後続のコード化されたビデオシーケンスにおけるすべてのピクチャのpic_dpb_output_du_delayから導出された出力時間に、復号順序で先行するものとする。一例では、このシンタックス要素の値によって確立されるピクチャ出力順序は、ＨＥＶＣ  ＷＤ９で指定されるような、シンタックス要素PicOrderCntValの値によって確立されるものと同じ順序であるものとする。シンタックス要素PicOrderCntValは、現在のピクチャのピクチャ順序カウント（ＰＯＣ）を示す。ＰＯＣ値は、同じコード化されたビデオシーケンスにおけるＤＰＢから出力されるべき他のピクチャの出力順序位置に対する、出力順序における関連付けられたピクチャの位置を示すＤＰＢから出力されるべき各ピクチャに関連付けられる変数である。
【００６１】
[0067]「バンピング（bumping）」プロセス（すなわち、ピクチャがＤＰＢから除去されるプロセス）によって出力されないピクチャに関しては、それらが、１に等しい、または１に等しいと推測されるno_output_of_prior_pics_flagを有する、瞬時復号リフレッシュ（ＩＤＲ）またはブロークンリンクアクセス（ＢＬＡ）ピクチャに、復号順序で先行するので、pic_dpb_output_du_delayから導出された出力時間は、同じコード化されたビデオシーケンス内のすべてのピクチャに関連するPicOrderCntValの増加する値で増加するものとする。シンタックス要素no_output_of_prior_pics_flagは、ＩＤＲまたはＢＬＡピクチャの復号後にＤＰＢにおける以前に復号されたピクチャがどのように扱われるかを指定する。no_output_of_prior_pics_flagが１に等しい、または１に等しいと推測される場合、ＩＤＲまたはＢＬＡピクチャを復号した後、それらの以前に復号されたピクチャは、出力されないだろうけれども、復号ピクチャバッファ（ＤＰＢ）から直接フラッシュ／除去されるだろう。
【００６２】
[0068]「バンピング」プロセスは、以下のケースにおいて引き起こされる。
―現在のピクチャはＩＤＲまたはＢＬＡピクチャであり、no_output_of_prior_pics_flagは１に等しくなく、１に等しいと推測されない。
―現在のピクチャはＩＤＲピクチャでもＢＬＡピクチャでもなく、「出力に必要」とマークされるＤＰＢにおけるピクチャの数は、復号順序でいずれのピクチャにも先行する、許容されるピクチャの最大数（sps_max_num_reorder_pics[HighestTid]）よりも大きい。
―現在のピクチャはＩＤＲピクチャでもＢＬＡピクチャでもなく、ＤＰＢにおけるピクチャの数は、ピクチャ記憶バッファのユニットにおけるＤＰＢの最大の要求されるサイズ（sps_max_dec_pic_buffering[HighestTid]）に等しい。
「バンピング」プロセスは、以下の順序付けられたステップを含む：
１．出力に関して１番目であるピクチャは、「出力に必要」とマークされるＤＰＢにおけるすべてのピクチャのPicOrderCntValの最小の値を有するものとして選択される。
２．ピクチャは、ピクチャに関するアクティブなシーケンスパラメータセットで指定される適合性クロッピングウィンドウを使用してクロップされ、クロップされたピクチャは出力され、そのピクチャは「出力に必要でない」とマークされる。
３．クロップおよび出力されたピクチャを含んだピクチャ記憶バッファが「参照に使用されない」とマークされたピクチャを含む場合、ピクチャ記憶バッファは空にされる。つまり、ピクチャが、表示のために出力されており、もはやインター予測に必要とされない場合、それは「バンピング」されうる、すなわち、ＤＰＢから除去されうる。
【００６３】
[0069]コード化されたビデオシーケンスにおけるいずれの２つのピクチャに関しても、サブピクチャレベルのＨＲＤ動作の下で導出された２つのピクチャの出力時間の間の差異は、ＡＵレベル（すなわち、ピクチャレベル）のＨＲＤ動作の下で導出された同じ差異と同一であるものとする。
【００６４】
[0070]実例となるピクチャ出力プロセスは以下の通りである。以下は、アクセ単位ｎのＣＰＢ除去時間ｔｒ（ｎ）で瞬間的に起こる。ピクチャｎが１に等しいPicOutputFlagを有するか否か（すなわち、サブピクチャＨＲＤが使用されるか）に基づいて、そのＤＰＢ出力時間ｔｏ，ｄｐｂ（ｎ）は、以下の数式によって導出される：
【数１】
2018110425.tif 000004
ここにおいて、pic_dpb_output_delay（ｎ）およびpic_dpb_output_du_delay（ｎ）は、それぞれ、アクセス単位ｎに関連付けられたピクチャタイミングＳＥＩメッセージにおいて指定された、pic_dpb_output_delayおよびpic_dpb_output_du_delayの値である。変数ｔｃは以下通りに導出され、クロックチックと呼ばれる：
【数２】
2018110425.tif 000005
変数ｔｃ＿ｓｕｂは以下通りに導出され、サブピクチャクロックチックと呼ばれる：
【数３】
2018110425.tif 000006
【００６５】
[0071]本開示の例にしたがって、現在のピクチャの出力は以下の通りに指定される：
―PicOutputFlagが１およびto,dpb（ｎ）＝ｔｒ（ｎ）である場合、現在のピクチャは出力される。
―そうでなければ、PicOutputFlagが０に等しい場合、上記で概説された「バンピング」プロセスによって指定されているように、現在のピクチャは出力されないけれども、ＤＰＢに記憶されることになる。
―そうでなければ（PicOutputFlagが１およびｔｏ，ｄｐｂ（ｎ）＞ｔｒ（ｎ）に等しい）、（「バンピング」プロセスによって指定されているように）現在のピクチャは後に出力され、ＤＰＢに記憶されることになり、ならびに、ｔｏ，ｄｐｂ（ｎ）に先行する時間に、１に等しいno_output_of_prior_pics_flagの推側または復号によって出力されないと示されない限り、時間ｔｏ，ｄｐｂ（ｎ）に出力される。出力されるとき、ピクチャは、アクティブなシーケンスパラメータセットで指定される適合性クロッピングウィンドウを使用してクロッピングされるものとする。
【００６６】
[0072]ピクチャｎが出力されるピクチャであり、かつ出力されるビットストリームの最後のピクチャでないとき、
【数４】
2018110425.tif 000007
（すなわち、ピクチャ間のＤＰＢ出力時間）の値は次のように定義される：
【数５】
2018110425.tif 000008
ここにおいて、ｎｎは、出力順序でピクチャｎに続くピクチャを示し、１に等しいPicOutputFlagを有する。
【００６７】
[0073]図３は、本開示において説明されている技法を実行しうる実例となるビデオエンコーダを例示しているブロック図である。ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラおよびインターコード化を実行することができる。イントラコード化は、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に頼る。インターコード化は、ビデオシーケンスの近接フレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に頼る。イントラモード（Ｉモード）は、いくつかの空間ベースの圧縮モードのうちのいずれも指すことができる。単方向予測（Ｐモード）または双方向予測（Ｂモード）のようなインターモードは、いくつかの時間ベースの圧縮モードのうちのいずれも指すことができる。
【００６８】
[0074]図３の例では、ビデオエンコーダ２０は、予測処理ユニット４１、参照ピクチャメモリ６４、加算器５０、変換処理ユニット５２、量子化ユニット５４、およびエントロピー符号化ユニット５６を含む。予測処理ユニット４１は、動き推定ユニット４２、動き補償ユニット４４、およびイントラ予測処理ユニット４６を含む。ビデオブロック再構成では、ビデオエンコーダ２０はまた、逆量子化ユニット５８、逆変換処理ユニット６０、および加算器６２を含む。デブロッキングフィルタ（図３には図示せず）もまた、再構成されたビデオからブロック歪み（blockiness artifact）を除去するようにブロック境界をフィルタリングするために含まれうる。所望される場合、デブロッキングフィルタは通常、加算器６２の出力をフィルタするだろう。（ループ中またはループ後の）追加のループフィルタもまた、デブロッキングフィルタに加えて使用されうる。
【００６９】
[0075]図３に図示されているように、ビデオエンコーダ２０は、ビデオデータを受信し、予測処理ユニット４１は、ビデオブロックにデータを区分することができる。この区分はまた、例えば、ＬＣＵおよびＣＵの四分木構造にしたがって、ビデオブロックの区分に加えて、スライス、タイル、または他のより大きな単位への区分を含むことができる。ビデオエンコーダ２０は概して、符号化されるべきビデオスライス内のビデオブロックを符号化するコンポーネントを例示している。スライスは、複数のビデオブロック（および場合により、タイルと称されるビデオブロックのセット）に分割されうる。予測処理ユニット４１は、エラー結果（例えば、コード化レートおよび歪みのレベル）に基づいて現在のビデオブロックのために、複数のイントラコード化モードのうちの１つ、または複数のインターコード化モードのうちの１つ、のような複数の可能なコード化モードのうちの１つを選択することができる。予測処理ユニット４１は、残差ブロックデータを生成する加算器５０に、および参照ピクチャとして使用される符号化されたブロックを再構成する加算器６２に、結果として生じるイントラまたはインターコード化されたブロックを提供することができる。
【００７０】
[0076]予測処理ユニット４１内のイントラ予測処理ユニット４６は、空間的圧縮を提供するためにコード化されるべき現在のブロックと同じフレームまたはスライスにおける１つまたは複数の近隣ブロックに関連して現在のビデオブロックのイントラ予測コード化を実行することができる。予測処理ユニット４１内の動き推定ユニット４２および動き補償ユニット４４は、時間的圧縮を提供するために、１つまたは複数の参照ピクチャにおける１つまたは複数の予測ブロックに関連して現在のビデオブロックのインター予測コード化を実行する。
【００７１】
[0077]動き推定ユニット４２は、ビデオシーケンスに関する所定のパターンにしたがって、ビデオスライスのためのインター予測モードを決定するように構成されうる。所定のパターンは、Ｐスライス、Ｂスライス、またはＧＰＢスライスとしてシーケンスにおけるビデオスライスを指定することができる。動き推定ユニット４２および動き補償ユニット４４は、高度に一体化されうるけれども、概念的な目的のために別個に例示されている。動き推定ユニット４２によって実行される動き推定は、動きベクトルを生成するプロセスであり、動きベクトルは、ビデオブロックに関する動きを推定する。動きベクトルは、例えば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックのＰＵの変位を示すことができる。
【００７２】
[0078]予測ブロックは、絶対値差分の和（ＳＡＤ）、二乗差分の和（ＳＳＤ）、または他の差分メトリックによって決定されうる、画素差分の観点からコード化されるべきビデオブロックのＰＵに密接に一致すると発見されるブロックである。いくつかの例では、ビデオエンコーダ２０は、参照ピクチャメモリ６４に記憶された参照ピクチャのサブ整数画素位置に関する値を計算することができる。例えば、ビデオエンコーダ２０は、参照ピクチャの４分の１画素位置、８分の１画素位置、または他の分数画素位置の値を補間することができる。したがって、動き推定ユニット４２は、分数画素位置および全画素位置に対する動き探索を実行し、分数画素精度で動きベクトルを出力しうる。
【００７３】
[0079]動き推定ユニット４２は、ＰＵの位置と参照ピクチャの予測ブロックの位置を比較することによって、インターコード化されたスライスにおけるビデオブロックのＰＵに関する動きベクトルを計算する。参照ピクチャは、各々が参照ピクチャメモリ６４に記憶された１つまたは複数のピクチャを識別する、第１の参照ピクチャリスト（リスト０）または第２の参照ピクチャリスト（リスト１）から選択されうる。動き推定ユニット４２は、エントロピー符号化ユニット５６および動き補償ユニット４４に計算された動きベクトルを送る。
【００７４】
[0080]動き補償ユニット４４によって実行される動き補償は、動き推定によって決定される動きベクトルに基づいて予測ブロックを取り込むことまたは生成することを、場合によりサブ画素精度に対する補間を実行することを、伴いうる。現在のビデオブロックのＰＵに関する動きベクトルを受信すると、動き補償ユニット４４は、動きベクトルが参照ピクチャリストのうちの１つにおいて指し示す予測ブロックを探索することができる。ビデオエンコーダ２０は、コード化されている現在のビデオブロックの画素値から予測ブロックの画素値を減算することによって、画素差分値を形成して、残差ビデオブロックを形成する。画素差分値は、ブロックに関する残差データを形成し、輝度および彩度差分のコンポーネントの両方を含むことができる。加算器５０は、この減算演算を実行する１つまたは複数のコンポーネントを表す。動き補償ユニット４４はまた、ビデオスライスのビデオブロックを復号する際に、ビデオデコーダ３０によって使用されるビデオスライスおよびビデオブロックに関連付けられたシンタックス要素を生成することができる。
【００７５】
[0081]イントラ予測処理ユニット４６は、上記に説明されるように、動き推定ユニット４２および動き補償ユニット４４によって実行されるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測処理ユニット４６は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定することができる。いくつかの例では、イントラ予測処理ユニット４６は、例えば、別個の符号化パス中に様々なイントラ予測モードを使用して現在のブロックを符号化することができ、イントラ予測処理ユニット４６（または、いくつかの例ではモード選択ユニット４０）は、テストされたモードから使用すべき適切なイントラ予測モードを選択することができる。
【００７６】
[0082]例えば、イントラ予測処理ユニット４６は、様々なテストされたイントラ予測モードのためにレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中の、最良のレート歪み特性を有するイントラ予測モードを選択することができる。レート歪み分析は概して、符号化されたブロックを作り出すために使用されるビットレート（つまり、ビットの数）に加えて、符号化されたブロックと、符号化されたブロックを作り出すために符号化された元の符号化されていないブロックとの間の歪み（または誤り）の量を決定することができる。イントラ予測処理ユニット４６は、どのイントラ予測モードがそのブロックに関する最良のレート歪み値を示すかを決定するために、歪みの割合及び様々な符号化されたブロックについての変化量を計算しうる。
【００７７】
[0083]いずれのケースでも、ブロックのためのイントラ予測モードを選択した後で、イントラ予測処理ユニット４６は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット５６に提供することができる。エントロピー符号化ユニット５６は、本開示の技法にしたがって、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ２０は、送信されたビットストリーム構成データを含むことができ、それは、複数のイントラ予測モードインデックス表および複数の変更されたイントラ予測モードインデックス表（コードワードマッピング表とも称される）、様々なブロックに関する符号化コンテキストの定義、最も可能性の高いイントラ予測モードの指示、イントラ予測モードインデックス表、およびコンテキストの各々に使用すべき変更されたイントラ予測モードインデックス表、を含むことができる。
【００７８】
[0084]予測処理ユニット４１がインター予測またはイントラ予測のいずれかを介して現在のビデオブロックに関する予測ブロックを生成した後で、ビデオエンコーダ２０は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロックにおける残差ビデオデータは、１つまたは複数のＴＵに含まれ、変換処理ユニット５２に適用されうる。変換処理ユニット５２は、離散コサイン変換（ＤＣＴ）または概念上類似の変換のような変換を使用して残差ビデオデータを残差変換係数に変換する。変換処理ユニット５２は、残差ビデオデータを画素ドメインから周波数ドメインのような変換ドメインに変換することができる。
【００７９】
[0085]変換処理ユニット５２は、量子化ユニット５４に結果として生じる変換係数を送ることができる。量子化ユニット５４は、さらにビットレートを低減するために変換係数を量子化する。量子化プロセスは、係数のいくつか、またはすべてに関連付けられたビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって変更されうる。いくつかの例では、量子化ユニット５４はその後、量子化された変換係数を含む行列の走査を実行することができる。代わりとして、エントロピー符号化ユニット５６が、その走査を実行することができる。
【００８０】
[0086]量子化に続いて、エントロピー符号化ユニット５６は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット５６は、コンテキスト適応可変長コード化（ＣＡＶＬＣ）、コンテキスト適応二進演算コード化（ＣＡＢＡＣ）、シンタックスベースのコンテキスト適応二進演算コード化（ＳＢＡＣ）、確率間隔区分エントロピー（ＰＩＰＥ）コード化または別のエントロピー符号化方法または技法を実行することができる。エントロピー符号化ユニット５６によるエントロピー符号化に続いて、符号化されたビットストリームは、ビデオデコーダ３０に送信されるか、またはビデオデコーダ３０による後の送信または検索のためにアーカイブされうる。エントロピー符号化ユニット５６はまた、コード化されている現在のビデオスライスのための他のシンタックス要素および動きベクトルをエントロピー符号化することもできる。
【００８１】
[0087]逆量子化ユニット５８および逆変換処理ユニット６０は、参照ピクチャの参照ブロックとして後に使用する画素ドメインにおける残差ブロックを再構成するために、逆量子化および逆変換を、それぞれ適用する。動き補償ユニット４４は、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つの予測ブロックに残差ブロックを追加することによって参照ブロックを計算することができる。動き補償ユニット４４はまた、動き推定において使用するサブ整数画素値を計算するために、再構成された残差ブロックに１つまたは複数の補間フィルタを適用することもできる。加算器６２は、参照ピクチャメモリ６４（復号ピクチャバッファとも呼ばれる）への記憶のための参照ブロックを作り出すために動き補償ユニット４４によって作り出された動き補償予測ブロックに再構成されたビデオブロックを追加する。参照ブロックは、後続のビデオフレームまたはピクチャにおいてブロックをインター予測するために、参照ブロックとして動き推定ユニット４２および動き補償ユニット４４によって使用されうる。
【００８２】
[0088]ビデオエンコーダ２０は、本開示の技法を実行するように構成されうる。一例では、ビデオエンコーダ２０は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定し、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定し、符号化されたビデオビットストリームにおいて第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を信号伝達するように構成されうる。本開示の技法にしたがったビデオエンコーダ２０の動作のさらなる例は、図５を参照して以下で論じられることになる。
【００８３】
[0089]図４は、本開示において説明されている技法を実行しうる実例となるビデオデコーダ３０を例示しているブロック図である。図４の例では、ビデオデコーダ３０は、コード化ピクチャバッファ（ＣＰＢ）７８、エントロピー復号ユニット８０、予測処理ユニット８１、逆量子化ユニット８６、逆変換処理ユニット８８、加算器９０、および復号ピクチャバッファ（ＤＰＢ）９２を含む。予測処理ユニット８１は、動き補償ユニット８２およびイントラ予測処理ユニット８４を含む。ビデオデコーダ３０は、いくつかの例では、図３のビデオエンコーダ２０に関して説明された符号化パスと概して逆の復号パスを実行することができる。
【００８４】
[0090]ＣＰＢ７８は、符号化されたピクチャビットストリームからのコード化されたピクチャを記憶する。一例では、ＣＰＢ７８は、復号順序で、アクセス単位（ＡＵ）を含む先入れ先出しバッファである。ＡＵは、指定された分類規則にしたがって互いに関連付けられ、復号順序で連続的であり、正確に１つのコード化されたピクチャを含む、ネットワーク抽象化レイヤ（ＮＡＬ）単位のセットである。復号順序は、ピクチャが復号される順序であり、ピクチャが表示される順序（すなわち、表示順序）とは異なりうる。ＣＰＢの動作は、本開示の技法にしたがって動作する仮想参照デコーダ（ＨＲＤ）のような、ＨＲＤによって指定されうる。
【００８５】
[0091]復号プロセス中、ビデオデコーダ３０は、ビデオエンコーダ２０から、符号化されたビデオスライスのビデオブロックおよび関連付けられたシンタックス要素を表す符号化されたビデオビットストリームを受信する。ビデオデコーダ３０のエントロピー復号ユニット８０は、量子化された係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット８０は、動きベクトルおよび他のシンタックス要素を予測処理ユニット８１に転送する。ビデオデコーダ３０は、ビデオスライスレベルおよび／またはビデオブロックレベルでシンタックス要素を受信することができる。
【００８６】
[0092]ビデオスライスがイントラコード化された（Ｉ）スライスとしてコード化されるとき、予測処理ユニット８１のイントラ予測処理ユニット８４は、現在のフレームまたはピクチャの以前に復号されたブロックからの信号伝達されたイントラ予測モードおよびデータに基づいて現在のビデオスライスのビデオブロックに関する予測データを生成することができる。ビデオフレームがインターコード化された（すなわち、ＢまたはＰ）スライスとしてコード化されるとき、予測処理ユニット８１の動き補償ユニット８２は、エントロピー復号ユニット８０から受信された動きベクトルおよび他のシンタックス要素に基づいて現在のビデオスライスのビデオブロックに関する予測ブロックを作り出す。予測ブロックは、参照ピクチャリストのうちの１つ内の参照ピクチャのうちの１つから作り出されうる。ビデオデコーダ３０は、ＤＰＢ９２に記憶された参照ピクチャに基づいて、デフォルト構成技法を使用して参照フレームリスト、リスト０およびリスト１を構成することができる。
【００８７】
[0093]動き補償ユニット８２は、動きベクトルおよび他のシンタックス要素を解析することによって現在のビデオスライスのビデオブロックに関する予測情報を決定し、復号されている現在のビデオブロックに関する予測ブロックを作り出すためにその予測情報を使用する。例えば、動き補償ユニット８２は、ビデオスライスのビデオブロックをコード化するために使用される予測モード（例えば、イントラまたはインター予測）を決定するために受信されたシンタックス要素、インター予測スライスタイプ（例えば、ＢスライスまたはＰスライス）、スライスのための参照ピクチャリストのうちの１つまたは複数に関する構成情報、スライスの各インター符号化されたビデオブロックのための動きベクトル、スライスの各インターコード化されたビデオブロックのためのインター予測ステータス、および現在のビデオスライスにおけるビデオブロックを復号する他の情報、のうちのいくつかを使用する。
【００８８】
[0094]動き補償ユニット８２はまた、補間フィルタに基づいて補間を実行することもできる。動き補償ユニット８２は、参照ブロックのサブ整数画素のために補間された値を計算するために、ビデオブロックの符号化中にビデオエンコーダ２０によって使用されるような補間フィルタを使用することができる。このケースにおいて、動き補償ユニット８２は、受信されたシンタックス要素からビデオエンコーダ２０によって使用される補間フィルタを決定し、予測ブロックを作り出すために補間フィルタを使用することができる。
【００８９】
[0095]逆量子化ユニット８６は、ビットストリームにおいて提供され、エントロピー復号ユニット８０によって復号された量子化された変換係数を逆量子化（inverse quantize）、すなわち非量子化（de quantize）する。逆量子化プロセスは、適用されるべき、量子化の程度および同様に、逆量子化の程度を決定するための、ビデオスライスにおける各ビデオブロックに関してビデオエンコーダ２０によって計算される量子化パラメータの使用を含むことができる。逆変換処理ユニット８８は、画素ドメインにおいて残差ブロックを作り出すために、変換係数に逆変換、例えば、逆ＤＣＴ、逆整数変換、または概念上類似の逆変換プロセスを適用する。
【００９０】
[0096]動き補償ユニット８２が動きベクトルおよび他のシンタックス要素に基づいて現在のビデオブロックに関する予測ブロックを生成した後で、ビデオデコーダ３０は、逆変換処理ユニット８８からの残差ブロックを動き補償ユニット８２によって生成される対応する予測ブロックと合計することによって復号されたビデオブロックを形成する。加算器９０は、この加算演算を実行する１つまたは複数のコンポーネントを表す。所望される場合、デブロッキングフィルタもまた、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタするように適用されうる。（コード化ループ内またはコード化ループ後のどちらかの）他のループフィルタもまた、画素遷移を円滑にするか、または別の方法でビデオ品質を改善するために使用されうる。所与のフレームまたはピクチャにおける復号されたビデオブロックは、その後、後続の動き補償に使用される参照ピクチャを記憶する、ＤＰＢ９２に記憶される。ＤＰＢ９２はまた、図１のディスプレイデバイス３２のようなディスプレイデバイス上での後の表示のために復号されたビデオも記憶する。ＣＰＢ７８と同様に、一例では、ＤＰＢ９２の動作は、本開示の技法によって定義されているように、ＨＲＤによって指定されうる。
【００９１】
[0097]ビデオデコーダ３０は、本開示の技法を実行するように構成されうる。一例では、ビデオデコーダ３０は、復号されたピクチャに関する、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を受信し、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定し、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定するように構成されうる。本開示の技法にしたがったビデオデコーダ３０の動作のさらなる例は、図６を参照して以下で論じられることになる。
【００９２】
[0098]図５は、本開示の技法にしたがった実例となる符号化方法を図示しているフローチャートである。図５の技法は、ビデオエンコーダ２０の１つまたは複数の構造によって実行されうる。
【００９３】
[0099]一例では、ビデオエンコーダ２０は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定し（５００）、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定する（５０２）ように構成されうる。ビデオエンコーダ２０は、符号化されたビデオビットストリームにおいて、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を信号伝達する（５０４）ようにさらに構成されうる。
【００９４】
[0100]ビデオエンコーダ２０は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルにあるか、サブピクチャレベルにあるかを示すサブピクチャＣＰＢフラグを信号伝達し（５０６）、サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化する（５０８）ようにさらに構成されうる。
【００９５】
[0101]本開示の一例では、第２のＤＰＢ出力時間を決定することは、サブピクチャクロックチックによって第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える。本開示の別の例では、第１のＤＰＢ出力時間を決定することは、クロックチックによって第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える。
【００９６】
[0102]図６は、本開示の技法にしたがった実例となる復号方法を図示しているフローチャートである。図６の技法は、ビデオデコーダ３０の１つまたは複数の構造によって実行されうる。
【００９７】
[0103]一例では、ビデオデコーダ３０は、ビデオデコーダのためのＨＲＤ設定がピクチャレベルにあるか、サブピクチャレベルにあるかを示すサブピクチャＣＰＢフラグを受信し（６００）、サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号する（６０２）ように構成されうる。
【００９８】
[0104]ビデオデコーダ３０は、復号されたピクチャに関する、第１のＤＰＢ出力遅延および第２のＤＰＢ出力遅延を受信し（６０４）、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すケースにおいて、第１のＤＰＢ出力遅延を使用して第１のＤＰＢ出力時間を決定し（６０６）、復号されたピクチャに関して、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して第２のＤＰＢ出力時間を決定する（６０８）ようにさらに構成されうる。
【００９９】
[0105]ビデオデコーダ３０は、ＨＲＤ設定に基づいて、第１のＤＰＢ出力時間または第２のＤＰＢ出力時間に基づく復号ピクチャバッファからピクチャを出力する（６１０）ようにさらに構成されうる。ビデオデコーダのためのＨＲＤ設定がピクチャレベルでの動作を示すことをサブピクチャＣＰＢフラグが示す場合に第１の出力時間が使用され、ビデオデコーダのためのＨＲＤ設定がサブピクチャレベルでの動作を示すことをサブピクチャＣＰＢフラグが示す場合に第２のＤＰＢ出力時間が使用される。
【０１００】
[0106]本開示の別の例では、ビデオデコーダ３０は、サブピクチャクロックチックによって第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって、第２のＤＰＢ出力時間を決定するように構成される。本開示の別の例では、ビデオデコーダ３０は、クロックチックによって第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって、第１のＤＰＢ出力時間を決定するように構成される。
【０１０１】
[0107]１つまたは複数の例では、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実行されうる。ソフトウェアで実行される場合には、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上で記憶されるか、またはコンピュータ可読媒体をわたって送信され、ハードウェアベースの処理ユニットによって実行されうる。コンピュータ可読媒体はまた、例えば、通信プロトコルにしたがって、コンピュータプログラムの１つの場所から別の場所への伝送を容易にするあらゆる媒体を含む通信媒体、またはデータ記憶媒体のような有体の媒体に対応する、コンピュータ可読記憶媒体を含むことができる。このように、コンピュータ可読媒体は、概して、（１）非トランジトリである有体のコンピュータ可読記憶媒体、または（２）信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示で説明されている技法の実行のための命令、コード、および／またはデータ構造を検索するために、１つまたは複数のコンピュータ、あるいは１つまたは複数のプロセッサによってアクセスされることができるあらゆる利用可能な媒体でありうる。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【０１０２】
[0108]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光学ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、フラッシュメモリ、あるいは命令またはデータ構造の形式で望ましいプログラムコードを記憶するために使用されることができ、かつコンピュータによってアクセスされうる何らかの他の媒体を備えることができる。さらに、あらゆる接続手段（connection）は適切にコンピュータ可読媒体と呼ばれる。例えば、命令が、ウェブサイトから、サーバから、あるいは同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用している他の遠隔ソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、あるいは赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続手段、搬送波、信号、または他の一時的な媒体を含まないが、代わりとして非一時的な有体の記憶媒体を対象にすることは理解されるべきである。本明細書で使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光学ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含み、ここにおいてディスク（disk）は、大抵磁気的にデータを再生し、一方ディスク（disc）は、レーザーを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１０３】
[0109]命令は、１つまたは複数のデジタルシグナルプロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（ＦＰＧＡ）、または、他の同等な集積またはディスクリートな論理回路、のような１つまたは複数のプロセッサによって実行されうる。したがって、本明細書で使用される場合の「プロセッサ」という用語は、前述の構造、または本明細書で説明されている技法の実行に適した何らかの他の構造のいずれも指すことができる。追加で、いくつかの態様では、本明細書で説明されている機能は、符号化および復号のために構成された専用ハードウェアモジュールおよび／またはソフトウェアモジュール内で提供されうる、あるいは組み合わせられたコデックに組み込まれうる。また、技法は、１つまたは複数の回路あるいは論理要素において十分に実行されることができる。
【０１０４】
[0110]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、幅広い種類のデバイスまたは装置において実行されうる。様々なコンポーネント、モジュール、またはユニットは、開示されている技法を実行するように構成されたデバイスの機能的な態様を強調するために本開示で説明されているけれども、必ずしも異なるハードウェアユニットによる実現を要求しない。むしろ、上で説明されたように、様々なユニットは、適したソフトウェアおよび／またはファームウェアと関連して、コデックハードウェアユニットで組み合わせられうる、あるいは、上で説明されたような１つまたは複数のプロセッサを含む、対話型（interoperative）ハードウェアユニットの集合によって提供されうる。
【０１０５】
[0111]様々な例が説明されてきた。これらの例および他の例は、次の請求項の範囲内にある。
【図１】
2018110425.tif 000009
【図２】
2018110425.tif 000010
【図３】
2018110425.tif 000011
【図４】
2018110425.tif 000012
【図５】
2018110425.tif 000013
【図６】
2018110425.tif 000014
【手続補正書】
【提出日】平成30年3月12日(2018.3.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオを復号する方法であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を備える、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
[0111]様々な例が説明されてきた。これらの例および他の例は、次の請求項の範囲内にある。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［１］  ビデオを復号する方法であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を備える、方法。
［２］  前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号することと、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力することと、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
をさらに備える、［１］に記載の方法。
［３］  前記第２のＤＰＢ出力時間を決定することは、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、［１］に記載の方法。
［４］  前記第１のＤＰＢ出力時間を決定することは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、［１］に記載の方法。
［５］  ビデオを符号化する方法であって、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達することと、
を備える、方法。
［６］  前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化することと、
をさらに備える、［５］に記載の方法。
［７］  前記第２のＤＰＢ出力時間を決定することは、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、［５］に記載の方法。
［８］  前記第１のＤＰＢ出力時間を決定することは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることを備える、［５］に記載の方法。
［９］  ビデオデータを復号するように構成された装置であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を行うように構成されたビデオデコーダ、
を備える、装置。
［１０］  前記ビデオデコーダは、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号することと、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力することと、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
を行うようにさらに構成される、［９］に記載の装置。
［１１］  前記ビデオデコーダは、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第２のＤＰＢ出力時間を決定するように構成される、［９］に記載の装置。
［１２］  前記ビデオデコーダは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定するように構成される、［９］に記載の装置。
［１３］  ビデオデータを符号化するように構成された装置であって、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達することと、
を行うように構成されたビデオエンコーダ、
を備える、装置。
［１４］  前記ビデオエンコーダは、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化することと、
を行うようにさらに構成される、［１３］に記載の装置。
［１５］  前記ビデオエンコーダは、前記第２のＤＰＢ出力時間はサブピクチャクロックチックによって前記第２のＤＰＢ出力遅延、ＣＰＢ除去時間に結果の値を加えることによってを備えると決定するように構成される、［１３］に記載の装置。
［１６］  前記ビデオエンコーダは、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定するように構成される、［１３］に記載の装置。
［１７］  ビデオデータを復号するように構成された装置であって、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信するための手段と、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定するための手段と、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定するための手段と、
を備える、装置。
［１８］  前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信するための手段と、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号するための手段と、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力するための手段と、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
をさらに備える、［１７］に記載の装置。
［１９］  前記第２のＤＰＢ出力時間を決定するための手段は、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、［１７］に記載の装置。
［２０］  前記第１のＤＰＢ出力時間を決定するための手段は、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、［１７］に記載の装置。
［２１］  ビデオデータを符号化するように構成された装置であって、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定するための手段と、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定するための手段と、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達するための手段と、
を備える、装置。
［２２］  前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達するための手段と、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化するための手段と、
をさらに備える、［２１］に記載の装置。
［２３］  前記第２のＤＰＢ出力時間を決定するための手段は、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、［２１］に記載の装置。
［２４］  前記第１のＤＰＢ出力時間を決定するための手段は、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えるための手段を備える、［２１］に記載の装置。
［２５］  命令を記憶するコンピュータ可読記憶媒体であって、前記命令は実行されるとき、ビデオデータを復号するように構成されたデバイスの１つまたは複数のプロセッサに、
復号されたピクチャに関する第１の復号ピクチャバッファ（ＤＰＢ）出力遅延および第２のＤＰＢ出力遅延を受信することと、
前記復号されたピクチャに関して、ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、前記第１のＤＰＢ出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記復号されたピクチャに関して、前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、前記第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
を行わせる、コンピュータ可読記憶媒体。
［２６］  前記命令は前記１つまたは複数のプロセッサに、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを受信することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを復号することと、
前記第１のＤＰＢ出力時間または前記第２のＤＰＢ出力時間に基づいて、復号ピクチャバッファからピクチャを出力することと、ここにおいて、前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第１のＤＰＢ出力時間が使用され、前記ビデオデコーダのための前記ＨＲＤ設定が前記サブピクチャレベルでの動作を示すことを前記サブピクチャＣＰＢフラグが示す場合に前記第２のＤＰＢ出力時間が使用される、
をさらに行わせる、［２５］に記載のコンピュータ可読記憶媒体。
［２７］  前記命令は前記１つまたは複数のプロセッサに、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第２のＤＰＢ出力時間を決定すること、を行わせる、［２５］に記載のコンピュータ可読記憶媒体。
［２８］  前記命令は前記１つまたは複数のプロセッサに、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定すること、を行わせる、［２５］に記載のコンピュータ可読記憶媒体。
［２９］  命令を記憶するコンピュータ可読記憶媒体であって、前記命令は実行されるとき、ビデオデータを符号化するように構成されたデバイスの１つまたは複数のプロセッサに、
ビデオデコーダのための仮想参照デコーダ（ＨＲＤ）設定がピクチャレベルでの動作を示すケースにおいて、第１の復号ピクチャバッファ（ＤＰＢ）出力遅延を使用して、第１のＤＰＢ出力時間を決定することと、
前記ビデオデコーダのための前記ＨＲＤ設定がサブピクチャレベルでの動作を示すケースにおいて、第２のＤＰＢ出力遅延を使用して、第２のＤＰＢ出力時間を決定することと、
前記第１のＤＰＢ出力遅延および前記第２のＤＰＢ出力遅延を信号伝達することと、
を行わせる、コンピュータ可読記憶媒体。
［３０］  前記命令は前記１つまたは複数のプロセッサに、
前記ビデオデコーダのための前記ＨＲＤ設定が前記ピクチャレベルにあるか、または前記サブピクチャレベルにあるかを示すサブピクチャコード化ピクチャバッファ（ＣＰＢ）フラグを信号伝達することと、
前記サブピクチャＣＰＢフラグに基づいてビデオピクチャを符号化することと、
をさらに行わせる、［２９］に記載のコンピュータ可読記憶媒体。
［３１］  前記１つまたは複数のプロセッサに前記第２のＤＰＢ出力時間を決定することを行わせるための前記命令は、サブピクチャクロックチックによって前記第２のＤＰＢ出力遅延、およびＣＰＢ除去時間に結果の値を加えることを備える、［２９］に記載のコンピュータ可読記憶媒体。
［３２］  前記命令は前記１つまたは複数のプロセッサに、クロックチックによって前記第１のＤＰＢ出力遅延を増大させ、ＣＰＢ除去時間に結果の値を加えることによって前記第１のＤＰＢ出力時間を決定すること、を行わせる、［２９］に記載のコンピュータ可読記憶媒体。
【外国語明細書】
2018110425000001.pdf