【文献】
Benjamin Bross Fraunhofer HHI,High Efficiency Video Coding (HEVC) text specification draft 9[online], JCTVC-K JCTVC-K1003_v1,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v1.zip>,pp.29-31,60-66,242,243
【文献】
Munsi Haque 1730 N. First Street San Jose, CA 95112, USA,Simplifications of HRD parameters for Temporal Scalability[online], JCTVC-J JCTVC-J0272,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0272-v1.zip>,pp.1-7
【文献】
Munsi Haque 1730 N. First Street San Jose, CA 95112, USA,AHG10: VUI and HRD syntax designs agreed by the BoG on VPS and NUH[online], JCTVC-J JCTVC-J0548,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J0548-v2.zip>,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信することは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することを備える、
請求項1に記載の方法。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信することは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することを備える、
請求項1に記載の方法。
前記コード化ビデオシーケンスを受信することは、前記符号化ピクチャの表現を形成するビットのシーケンスを備えるコード化ビットストリームを受信することを備え、方法は、
前記タイムスケールおよびクロックティック中の前記ユニットの数によって少なくとも部分的に定義される、コード化ピクチャバッファおよび復号ピクチャバッファのビデオバッファリングモデルへの、前記コード化ビットストリームの準拠を検証することをさらに備える、
請求項1に記載の方法。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記プロセッサは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することを行うようにさらに構成される、
請求項17に記載のデバイス。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記プロセッサは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することを行うようにさらに構成される、
請求項17に記載のデバイス。
前記コード化ビデオシーケンスを受信するために、前記プロセッサは、前記符号化ピクチャの表現を形成するビットのシーケンスを備えるコード化ビットストリームを受信することを行うようにさらに構成され、
前記プロセッサは、前記タイムスケールおよびクロックティック中の前記ユニットの数によって少なくとも部分的に定義される、コード化ピクチャバッファおよび復号ピクチャバッファのビデオバッファリングモデルへの、前記コード化ビットストリームの準拠を検証することを行うようにさらに構成される、
請求項17に記載のデバイス。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するための前記手段は、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信するための手段を備える、
請求項33に記載のデバイス。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するための前記手段は、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信するための手段を備える、
請求項33に記載のデバイス。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記命令はさらに、前記1つまたは複数のプロセッサに、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することを行わせる、
請求項38に記載の非一時的コンピュータ可読記憶媒体。
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記命令はさらに、前記1つまたは複数のプロセッサに、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することを行わせる、
請求項38に記載の非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0017】
[0026]本開示は、ビデオコーディングのための様々な技法について、より詳細には、たとえば、ピクチャ出力タイミングを指定するため、および/または仮想参照復号器(HRD)などのバッファリングもしくは復号モデルを定義するために、タイミング情報をシグナリングするための技法について説明する。概して、「シグナリング」という用語は、本開示では、コード化ビットストリーム内で起こるシグナリングを指すのに使われる。符号化器が、ビデオ符号化プロセスの一部として、ビットストリーム中の、情報をシグナリングするためのシンタックス要素を生成し得る。復号デバイスまたは他のビデオ処理デバイスが、コード化ビットストリームを受信し、ビデオ復号プロセスまたは他のビデオ処理の一部として、コード化ビットストリーム中のシンタックス要素を解釈し得る。たとえば、出力順序付けに従ってコード化ビデオシーケンス中の所与のピクチャから次のピクチャに切り替えるための出力タイミングを示すために、コード化ビデオシーケンスについてのタイミング情報は、いくつかの場合には、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングすればよい。1に等しい、POC値の差分は、所与のピクチャについてのPOC値と、出力順序付けによる次のピクチャについてのPOC値との、たとえば、出力順序付けによる、第2のピクチャについてのPOC値と、第3のピクチャについてのPOC値との間の差分を表し得る。ビデオタイミング情報は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数をビデオタイミング情報がシグナリングするかどうかを指定する条件も含み得る。言い換えると、条件が成り立つ場合のみ、ビデオタイミング情報は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数をシグナリングする。場合によっては、条件が成り立たず、ビデオタイミング情報は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数をシグナリングしない。クロックティックの数は、タイムスケール(たとえば、シグナリングされる情報用の時間座標系を定義する、27MHzなどの発振器周波数に対応する)と、「クロックティック」と呼ばれる、クロックティックカウンタの1の増分に対応するタイムスケールで動作するクロックの時間ユニットの数とに依存し得る。
【0018】
[0027]いくつかの例では、本開示の技法は、コード化ビデオシーケンス用の、VPSシンタックス構造中またはSPSシンタックス構造のVUI部中で、1に等しい、POC値の差分に対応するクロックティックの数をシグナリングするための条件を定義するすべてのシンタックス要素を直接シグナリングすることを含み得る。つまり、いくつかの場合には、条件は、VPSシンタックス構造中またはSPSシンタックス構造のVUI部中でシグナリングされる追加情報(すなわち、シンタックス要素)への1つまたは複数の依存を有し得る。これらのシンタックス要素は、以下で説明されるように、タイミング情報存在フラグを含み得る。
【0019】
[0028]ビデオコーディング規格には、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、および、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264が含まれる。
【0020】
[0029]さらに、ITU−Tビデオコーディングエキスパートグループ(VCEG)とISO/IECモーションピクチャエキスパートグループ(MPEG:Motion Picture Experts Group)とのビデオコーディング共同研究部会(JCT−VC:Joint Collaboration Team on Video Coding)によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)がある。HEVCの、最新であるとともにHEVC WD9または以下では単にWD9と呼ばれる作業草案(WD)は、Brossら、「Proposed editorial improvements for High Efficiency Video Coding (HEVC) text specification draft 9 (SoDIS)」、ITU−T SG 16 WP 3とISO/IEC JTC 1/SC 29/WG 11とのビデオコーディング共同研究部会(JCT−VC)、第12回会合:スイス、ジュネーブ、2013年1月14〜23日であり、2013年1月7日の時点で、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L0030-v1.zipから入手可能である。
【0021】
[0030]「HEVC Working Draft 10」または「WD10」と呼ばれるHEVC規格の最近のドラフトは、文書JCTVC−L1003v34、Brossら、「High efficiency video coding (HEVC) text specification draft 10 (for FDIS & Last Call))」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第12回会合:スイス、ジュネーブ、2013年1月14〜23日に記載されており、この文書は、http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zipからダウンロード可能である。
【0022】
[0031]HEVC規格の別のドラフトは、本明細書で「WD10改訂版」と呼ばれ、Brossら、「Editors’ proposed corrections to HEVC version 1」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのビデオコーディング共同研究部会(JCT−VC)、第13回会合、韓国、仁川、2013年4月に記載されており、この文書は2013年6月7日現在、http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zipから入手可能である。
【0023】
[0032]HEVCの規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスのモデルに基づく。HMは、他の以前のビデオコーディング規格、たとえばITU−T H.264/AVCの開発中に利用可能なビデオコーディングデバイスに対して、現在のビデオコーディングデバイスの能力が向上していると仮定する。たとえば、H.264は9つのイントラ予測符号化モードを与えるが、HEVCは35個ものイントラ予測符号化モードを与える。HEVC WD9およびHEVC WD10の内容全体は、参照によって本明細書に組み込まれている。
【0024】
[0033]ビデオコーディング規格は通常、ビデオバッファリングモデルの仕様を含む。AVCおよびHEVCでは、バッファリングモデルは、コード化ピクチャバッファ(CPB)と復号ピクチャバッファ(DPB)の両方のバッファリングモデルを含む仮想参照復号器(HRD)と呼ばれる。HEVC WD9において定義されているように、HRDとは、符号化プロセスが生成し得るネットワークアブストラクションレイヤ(NAL)ユニットストリームまたは準拠するバイトストリームの変動性に対する制約を指定する仮想復号器モデルである。CPBおよびDPB挙動は、数学的に指定される。HRDは、異なるタイミング、バッファサイズおよびビットレートに直接制約を課し、ビットストリーム特性および統計に間接的に制約を課す。HRDパラメータの完全セットには、初期CPB除去遅延、CPBサイズ、ビットレート、初期DPB出力遅延、およびDPBサイズの5つの基本パラメータが含まれる。
【0025】
[0034]AVCおよびHEVCでは、ビットストリーム適合および復号器適合は、HRD仕様の一部として指定される。「仮想参照復号器」は「復号器」という用語を含むが、HRDは、一般に、ビットストリーム適合を保証するために符号化器側で必要とされ、一般に、復号器側では必要とされない。2つのタイプのビットストリームまたはHRD適合、すなわち、タイプIおよびタイプIIが指定される。また、出力タイミング復号器適合および出力順序復号器適合の2つのタイプの復号器適合が指定される。
【0026】
[0035]HEVC WD9では、HRD動作は、hrd_parameters( )シンタックス構造、バッファリング期間補足強調情報(SEI)メッセージ、ピクチャタイミングSEIメッセージ中で、および時には復号ユニット情報SEIメッセージ中でもシグナリングされるパラメータを要求する。hrd_parameters( )シンタックス構造は、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはそれらのどの組合せの中でもシグナリングされ得る。
【0027】
[0036]HEVC WD9では、hrd_parameters( )シンタックス構造は、タイムスケールとクロックティック中のユニットの数とを含む、ビデオタイミング情報のシグナリングのためのシンタックス要素を含む。SPSのビデオユーザビリティ情報(VUI)部は、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント(POC)値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうかを示すフラグを含み、比例する場合、クロックティックの数は、1に等しい、ピクチャ順序カウント値の差分に対応する。
【0028】
[0037]HEVC WD9における関連シンタックスおよびセマンティクスは、次のようになる。テーブル1は、WD9による例示的なビデオパラメータセットローバイトシーケンスペイロード(RBSP)シンタックス構造を示す。
【0030】
[0038]上のテーブル1において、シンタックス要素vps_num_hrd_parametersは、ビデオパラメータセットローバイトシーケンスペイロード(RBSP)中に存在するhrd_parameters()シンタックス構造の数を指定する。この仕様のこのバージョンに準拠するビットストリーム中で、vps_num_hrd_parametersの値は1以下とする。vps_num_hrd_parametersの値は、HEVC WD9では1以下であることが要求されるが、復号器は、両端値を含む0〜1024の範囲内の、vps_num_hrd_parametersの他の値がシンタックス中に現れるようにするものとする。
【0031】
[0039]シンタックス要素hrd_op_set_idx[ i ]は、ビデオパラメータセットによって指定される動作点セットのリスト中で、ビデオパラメータセット(VPS)中の第iのhrd_parameters( )シンタックス構造が該当する動作点セットのインデックスを指定する。この仕様のこのバージョンに準拠するビットストリーム中で、hrd_op_set_idx[ i ]の値は、0に等しいものとする。hrd_op_set_idx[ i ]の値は、HEVC WD9では1以下であることが要求されるが、復号器は、0〜1023の範囲内の、hrd_op_set_idx[ i ]の他の値がシンタックス中に現れるようにするものとする。
【0032】
[0040]1に等しいシンタックス要素cprms_present_flag[ i ]は、すべてのサブレイヤにとって共通するHRDパラメータが、ビデオパラメータセット中の第iのhrd_parameters( )シンタックス構造中に存在することを指定する。0に等しいcprms_present_flag[ i ]は、すべてのサブレイヤに対して共通するHRDパラメータが、ビデオパラメータセット中の第iのhrd_parameters( )シンタックス構造中に存在せず、ビデオパラメータセット中の第(i−1)のhrd_parameters( )シンタックス構造と同じになるように導出されることを指定する。cprms_present_flag[ 0 ]は、1に等しいと推論される。
【0033】
[0041]以下のテーブル2は、WD9によるVUIパラメータのシンタックス構造を示す。
【0035】
[0042]上のテーブル2において、1に等しいシンタックス要素hrd_parameters_present_flagは、シンタックス構造hrd_parameters( )がhrd_parameters( )シンタックス構造中に存在することを指定する。0に等しいhrd_parameters_present_flagは、シンタックス構造hrd_parameters( )がvui_parameters( )シンタックス構造中に存在しないことを指定する。
【0036】
[0043]1に等しいシンタックス要素poc_proportional_to_timing_flagは、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例することを示す。0に等しいシンタックス要素poc_proportional_to_timing_flagは、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例してもしなくてもよいことを示す。
【0037】
[0044]シンタックス要素num_ticks_poc_diff_one_minus1プラス1は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数を指定する。
【0038】
[0045]以下のテーブル3は、WD9による例示的なHRDパラメータシンタックス構造を示す。
【0040】
[0046]上のテーブル3において、1に等しいシンタックス要素timing_info_present_flagは、num_units_in_tickおよびtime_scaleがhrd_parameters( )シンタックス構造中に存在することを指定する。timing_info_present_flagが0に等しい場合、num_units_in_tickおよびtime_scaleはhrd_parameters( )シンタックス構造中に存在しない。存在しない場合、timing_info_present_flagの値は0であると推論される。
【0041】
[0047]シンタックス要素num_units_in_tickは、クロックティックカウンタの1の増分(クロックティックと呼ばれる)に対応する周波数time_scaleHzで動作するクロックの時間ユニットの数である。シンタックス要素num_units_in_tickについての値は、0よりも大きいものとする。クロックティックとは、sub_pic_cpb_params_present_flagが0に等しいとき、コード化データ中で表され得る最小時間間隔である。たとえば、ビデオ信号のピクチャレートが25Hzであるとき、time_scaleは27,000,000に等しくてよく、num_units_in_tickは1,080,000に等しくてよい。
【0042】
[0048]シンタックス要素time_scaleは、1秒間に過ぎる時間ユニットの数である。たとえば、27MHzクロックを使って時間を測定する時間座標系は、27,000,000のtime_scaleを有する。シンタックス要素time_scaleについての値は、0よりも大きいものとする。
【0043】
[0049]HEVC WD9において指定されるとともに上で説明されたタイミングシグナリングは、いくつかの問題を呈し得る。第1に、シンタックス要素num_ticks_poc_diff_one_minus1のシグナリングのための条件は、「if( poc_proportional_to_timing_flag && timing_info_present_flag )」である。この条件は、2つのシグナリングされるシンタックス要素、すなわちpoc_proportional_to_timing_flagおよびtiming_info_present_flagへの依存を含む。ただし、条件についてのtiming_info_present_flagが、SPSのVUI部中のhrd_parameters( )シンタックス構造(存在する場合)のシンタックス要素timing_info_present_flagを参照するか、それともVPS中のhrd_parameters( )シンタックス構造のシンタックス要素timing_info_present_flagを参照する参照するかは、HEVC WD9仕様からは明らかでない。
【0044】
[0050]さらに、スケーラブルビデオビットストリームの複数のレイヤまたは複数の可能なビットストリームサブセットは、タイムスケールおよびクロックティック中のユニットの数の共通値を共有することができ、これらは、HEVC WD9において、hrd_parameters( )シンタックス構造のシンタックス要素time_scaleおよびnum_units_in_tick中で指定され、これらは、たとえば、SPSのVUI部中およびVPS中で繰り返しシグナリングされてよい。そのような複製は、ビットストリーム中に存在する場合、ビット浪費をもたらし得る。
【0045】
[0051]さらに、ピクチャ順序カウント(POC)値は通常、POC値がスケーラブルビデオビットストリームのレイヤのうちのいずれかについての出力時間に比例する場合、スケーラブルビデオビットストリームのすべてのレイヤについての出力時間に比例する。ただし、HEVC WD9仕様は、スケーラブルビデオビットストリーム中で、POC値がスケーラブルビデオビットストリームのすべてのレイヤまたはすべての可能なビットストリームサブセットについての出力時間に比例するというインジケーションをシグナリングすることを規定していない。スケーラブルビデオビットストリームの「レイヤ」への言及は、たとえば、スケーラブルレイヤ、テクスチャビュー、および/または深度ビューを指し得る。さらに、HEVC WD9は、フラグpoc_proportional_to_timing_flagが、VUIシンタックス中で常にシグナリングされ、SPSのVUIシンタックス構造中で常にシグナリングされることを指定するが、フラグpoc_proportional_to_timing_flagは、シンタックス要素time_scaleおよびnum_units_in_tickもビットストリーム中でシグナリングされない場合、有用性をもたない。
【0046】
[0052]本開示の技法は、上記問題のうちの1つまたは複数を解決し、ならびに、HRD動作のためのパラメータの効率的シグナリングを可能にするための他の改善点を提供することができる。これらの技法の様々な例について、HEVC WD9とそれに対する可能な改善点とを参照して本明細書で説明される。解決策は、たとえば、ビデオバッファリングモデルのための仕様を含む、AVCおよびHEVCを含むどのビデオコーディング規格にも該当するが、例示のために、本説明は、HEVC WD9において定義されるとともに本開示の技法に従って修正されたHRDパラメータのシグナリングに特有である。
【0047】
[0053]
図1は、本開示で説明される技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。
図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを生成するソースデバイス12を含む。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
【0048】
[0054]宛先デバイス14は、リンク16を介して復号されるべき符号化ビデオデータを受信し得る。リンク16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が、符号化ビデオデータをリアルタイムで宛先デバイス14に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を支援するために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
【0049】
[0055]代替的に、符号化データは、出力インターフェース22からストレージデバイス32に出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイス32からアクセスされ得る。ストレージデバイス32は、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体のような、種々の分散されたデータ記憶媒体もしくはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス32は、ソースデバイス12によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイス32から、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイト用の)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブがある。宛先デバイス14は、インターネット接続を含むいずれかの標準データ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイス32からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、または両方の組合せであり得る。
【0050】
[0056]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【0051】
[0057]
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオ符号化器20と、出力インターフェース22とを含む。場合によっては、出力インターフェース22は変調器/復調器(モデム)および/または送信機を含み得る。ソースデバイス12において、ビデオソース18は、たとえばビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および/もしくはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、またはそのようなソースの組合せを含み得る。一例として、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き携帯電話またはビデオ電話を形成し得る。ただし、本開示で説明される技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。
【0052】
[0058]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオ符号化器20によって符号化され得る。符号化ビデオデータは、ソースデバイス12の出力インターフェース22を介して宛先デバイス14に直接送信され得る。符号化ビデオデータは、さらに(または代替として)、復号および/または再生のための宛先デバイス14または他のデバイスによる後のアクセスのためにストレージデバイス32上に記憶され得る。
【0053】
[0059]宛先デバイス14は、入力インターフェース28と、ビデオ復号器30と、ディスプレイデバイス32とを含む。場合によっては、入力インターフェース28は、受信機および/またはモデムを含み得る。宛先デバイス14の入力インターフェース28は、リンク16を介して符号化ビデオデータを受信する。リンク16を介して通信され、またはストレージデバイス32上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオ復号器30のようなビデオ復号器が使用するためのビデオ符号化器20によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信され、記憶媒体上に記憶され、またはファイルサーバを記憶した符号化ビデオデータとともに含まれ得る。
【0054】
[0060]ディスプレイデバイス32は、宛先デバイス14と一体であってよく、またはその外部にあり得る。いくつかの例では、宛先デバイス14は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス14はディスプレイデバイスであり得る。概して、ディスプレイデバイス32は、復号ビデオデータをユーザに表示し、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【0055】
[0061]ビデオ符号化器20およびビデオ復号器30は、現在開発中の高効率ビデオコーディング(HEVC)規格のようなビデオ圧縮規格に従って動作することができ、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオ符号化器20およびビデオ復号器30は、代替的にMPEG−4,Part10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例には、MPEG−2およびITU−T H.263がある。
【0056】
[0062]
図1には示されていないが、いくつかの態様では、ビデオ符号化器20およびビデオ復号器30は、それぞれオーディオ符号化器および復号器と統合される場合があり、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するのに適したMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含むことができる。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
【0057】
[0063]ビデオ符号化器20およびビデオ復号器30はそれぞれ、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアのような、様々な好適な符号化器回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、本開示の技法を実施するために、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行し得る。ビデオ符号化器20およびビデオ復号器30の各々は1つまたは複数の符号化器または復号器中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合符号化器/復号器(コーデック)の一部として統合されてよい。
【0058】
[0064]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供することができる。
【0059】
[0065]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記述する。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。たとえば、4分木のルートノードとしてのツリーブロックは、4つの子ノードに分割されてよく、各子ノードが今度は親ノードとなり、別の4つの子ノードに分割されてよい。4分木のリーフノードとしての、最終的な、分割されていない子ノードは、コーディングノード(すなわち、コード化ビデオブロック)を備える。コード化ビットストリームに関連付けられるシンタックスデータは、ツリーブロックが分割され得る最大回数を定義し得、コーディングノードの最小サイズをも定義し得る。
【0060】
[0066]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、概して、コーディングノードのサイズに対応し、一般に、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及ぶ場合がある。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUと関連付けられるシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかで異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従ってCUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形であり得る。
【0061】
[0067]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、通常、PUと同じサイズであるか、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換係数を生成するように変換されてよく、その変換係数は量子化され得る。
【0062】
[0068]一般に、PUは、予測プロセスに関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUは、そのPU用のイントラ予測モードを記述するデータを含む場合がある。別の例として、PUがインターモード符号化されるとき、PUは、そのPU用の動きベクトルを定義するデータを含む場合がある。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルについての分解能(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトル用の参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述することができる。
【0063】
[0069]一般に、TUは、変換プロセスおよび量子化プロセスのために使用される。1つまたは複数のPUを有する所与のCUは、1つまたは複数の変換ユニット(TU)を含む場合もある。予測に続いて、ビデオ符号化器20は、PUに従ってコーディングノードによって識別されたビデオブロックから残差値を計算し得る。コーディングノードは、次いで、元のビデオブロックではなく残差値を参照するように更新される。残差値はピクセル差分値を備え、ピクセル差分値は、エントロピーコーディングのためのシリアル化変換係数(serialized transform coefficient)を生成するためにTU中で指定された変換と他の変換情報とを使用して変換係数に変換され、量子化され、走査され得る。コーディングノードはこれらのシリアル化変換係数を指すようにもう一度更新され得る。本開示は、一般に、CUのコーディングノードを指すのに「ビデオブロック」という用語を使用する。いくつかの特定の場合において、本開示は、コーディングノードならびにPUおよびTUを含む、ツリーブロック、すなわち、LCUまたはCUを指すのにも「ビデオブロック」という用語を使用し得る。
【0064】
[0070]ビデオシーケンスは、通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうち1つまたは複数のヘッダ中、または他の場所に含み得る。各ピクチャのスライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオ符号化器20は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはCU内のコーディングノードに対応し得る。ビデオブロックは、一定のサイズまたは可変のサイズを有してよく、指定されたコーディング規格に従ってサイズが異なる場合がある。
【0065】
[0071]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
【0066】
[0072]本開示では、たとえば16×16ピクセルまたは16かける16ピクセルなど、「N×N」および「NかけるN(N by N)」は、垂直および水平の寸法に関して、ビデオブロックのピクセル範囲を示すために区別なく使用され得る。一般的に、16×16ブロックは、垂直方向に16個のピクセルを有し(y=16)、水平方向に16個のピクセルを有する(x=16)。同様に、N×Nブロックは一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ここでNは非負の整数値を表す。ブロック中のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックはN×Mピクセルを備えてよく、この場合に、Mは必ずしもNに等しいとは限らない。
【0067】
[0073]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオ符号化器20は、CUのTUによって指定された変換が適用される残差データを計算し得る。残差データは、符号化されていないピクチャのピクセルと、CUに対応する予測値との間のピクセル差分に対応し得る。ビデオ符号化器20は、CUのための残差データを形成し、次いで、残差データを変換して、変換係数を生成し得る。
【0068】
[0074]変換係数を生成するための任意の変換後に、ビデオ符号化器20は、変換係数の量子化を実施することができる。量子化は、概して、係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減させることができる。たとえば、量子化中にnビット値をmビット値に切り捨てることができ、ここで、nはmよりも大きい。
【0069】
[0075]いくつかの例では、ビデオ符号化器20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオ符号化器20は適応走査を実施し得る。1次元ベクトルを形成するために量子化変換係数を走査した後に、ビデオ符号化器20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオ符号化器20はまた、ビデオデータを復号する際にビデオ復号器30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
【0070】
[0076]CABACを実行するために、ビデオ符号化器20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実施するために、ビデオ符号化器20は、送信されるべきシンボルの可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率決定は、シンボルに割り当てられるコンテキストに基づき得る。
【0071】
[0077]ソースデバイス12は、本開示で説明される技法に従って、シンタックス構造に準拠するシンタックス要素を含むように符号化ビットストリームを生成することができる。いくつかの例では、ビデオ符号化器20は、コード化ビデオシーケンス用の、ビデオパラメータセット(VPS)シンタックス構造中またはシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を定義するすべての変数を直接シグナリングするように符号化ビットストリームを生成することができる。言い換えると、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件についてのシンタックス要素を、VPSシンタックス構造またはSPSシンタックス構造のVUI部に組み込まれている別のシンタックス構造(HRDパラメータのシンタックス構造など)中でシグナリングするのではなく、ビデオ符号化器20は、VPSおよびVUIシンタックス構造のいずれか/両方内に組み込まれている可能性がある別のシンタックス構造を参照することなく、VPSおよび/またはVUIシンタックス構造中で条件を定義するシンタックス要素をシグナリングするための符号化ビットストリームを生成する。シンタックス要素は、HRDパラメータのシンタックス構造のシンタックス要素としてHEVC WD9において指定されるtiming_info_present_flagシンタックス要素を含み得る。その結果、本技法は、条件を定義するシンタックス要素のソースをシンタックス中で明白に指定することによって、HEVC WD9仕様における曖昧性を削減し、可能性としては、なくすことができる。
【0072】
[0078]ビデオ符号化器20は、HEVC WD9などのビデオコーディング仕様またはHEVC WD10などの後継仕様において定義される1つまたは複数のビットストリーム準拠テストとして指定される要件への準拠について、符号化ビットストリームをテストすればよい。ビデオ符号化器20は、準拠について符号化ビットストリームをテストするのに、仮想参照復号器を含み、または場合によっては使うことができる。本明細書で説明される技法によると、ビデオ符号化器20は、コード化ビデオシーケンス用の、VPSシンタックス構造から、またはSPSシンタックス構造のVUI部中で、1に等しい、POC値の差分に対応するクロックティックの数をシグナリングするための条件を定義するシンタックス要素を決定するために、符号化ビットストリームを復号することによって、準拠について符号化ビットストリームをテストすることができる。シンタックス要素値によって条件が成り立つ場合、ビデオ符号化器20は、1に等しい、POC値の差分に対応するクロックティックの数を決定し、決定したクロックティックの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0073】
[0079]いくつかの事例では、宛先デバイス14において、テストされているビデオ復号器30(すなわち、VUT)は、いくつかの場合には、コード化ビデオシーケンス用の、VPSシンタックス構造中またはSPSシンタックス構造のVUI部中で、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を定義するすべてのシンタックス要素を直接シグナリングするために、ビデオ符号化器20によって生成された符号化ビットストリームの表現を受信し得る。ビデオ復号器30は、コード化ビデオシーケンス用の、VPSシンタックス構造から、またはSPSシンタックス構造のVUI部中で、1に等しい、POC値の差分に対応するクロックティックの数をシグナリングするための条件を定義するシンタックス要素を決定するために、符号化ビットストリームを復号することができる。シンタックス要素値によって条件が成り立つ場合、ビデオ復号器30は、1に等しい、POC値の差分に対応するクロックティックの数を決定し、決定したクロックティックの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0074】
[0080]いくつかの例では、ビデオ符号化器20は、所与のコード化ビデオシーケンス用のVPSおよびVUIシンタックス構造の各々においてタイムスケールとクロックティック中のユニットの数とを多くとも一度シグナリングするための符号化ビットストリームを生成することができる。つまり、符号化ビットストリーム用の所与のVPSシンタックス構造中で、ビデオ符号化器20は、タイムスケールとクロックティックシンタックス要素中のユニットの数とを多くとも一度シグナリングすることができる。同様に、符号化ビットストリーム用の所与のVUIシンタックス構造(たとえば、SPSシンタックス構造のVUI部)中で、ビデオ符号化器20は、クロックティックシンタックス要素中のタイムスケールとユニットの数とを、多くとも一度シグナリングすることができる。その結果、本明細書で説明される技法に従って動作するビデオ符号化器20は、符号化ビットストリーム中の、タイムスケールシンタックス要素のインスタンスの数(WD9によるtime_scale)と、クロックティックシンタックス要素中のユニットの数(WD9によるnum_units_in_tick)とを削減することができる。さらに、ビデオ符号化器20は、いくつかの事例では、VPSおよび/またはVUIシンタックス構造内に組み込まれたHRDパラメータのシンタックス構造中ではなく、所与のコード化ビデオシーケンス用のVPSおよびVUIシンタックス構造の各々の中で、タイムスケールとクロックティック中のユニットの数とを直接シグナリングするための符号化ビットストリームを生成することができる。
【0075】
[0081]本明細書で説明される技法によると、ビデオ符号化器20は、タイムスケールとクロックティック中のユニットの数とを所与のコード化ビデオシーケンス用のVPSおよびVUIシンタックス構造の各々の中で多くとも一度シグナリングするためにビデオ符号化器20によって生成された符号化ビットストリームを、クロックティックシンタックス要素中のタイムスケールとユニットの数とをVPSシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVPSシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために符号化ビットストリームを復号することによって、準拠についてテストすることができる。いくつかの事例では、ビデオ符号化器20は、クロックティックシンタックス要素中のタイムスケールとユニットの数とをVUIシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVUIシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、符号化ビットストリームを復号することによって、符号化ビットストリームを準拠についてテストすることができる。タイムスケールおよびクロックティック中のユニットの数は、VPSおよび/またはVUIシンタックス構造内に組み込まれたHRDパラメータのシンタックス構造中以外でシグナリングされ得る。ビデオ符号化器20は、決定されたタイムスケールおよびクロックティック中の決定されたユニットの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0076】
[0082]いくつかの事例では、宛先デバイス14において、テストされているビデオ復号器30は、いくつかの場合には、タイムスケールとクロックティック中のユニットの数とを、所与のコード化ビデオシーケンス用のVPSおよびVUIシンタックス構造の各々の中で多くとも一度シグナリングするために、ビデオ符号化器20によって生成された符号化ビットストリームの表現を受信し得る。ビデオ復号器30は、クロックティックシンタックス要素中のタイムスケールとユニットの数とを、VPSシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVPSシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、符号化ビットストリームを復号することができる。いくつかの事例では、ビデオ復号器30は、クロックティックシンタックス要素中のタイムスケールとユニットの数とをVUIシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVUIシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、符号化ビットストリームを復号することによって、符号化ビットストリームを準拠についてテストすることができる。タイムスケールおよびクロックティック中のユニットの数は、VPSおよび/またはVUIシンタックス構造内に組み込まれたHRDパラメータのシンタックス構造中以外でシグナリングされ得る。ビデオ復号器30は、決定されたタイムスケールおよびクロックティック中の決定されたユニットの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0077】
[0083]いくつかの例では、ビデオ符号化器20は、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのPOC値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうかを示すフラグを、1つまたは複数のコード化ビデオシーケンス用のVPSシンタックス構造中でシグナリングするために、符号化ビットストリームを生成することができる。このインジケーションフラグは代替として、タイミングインジケーションフラグに比例するPOCと呼ばれ得る。その結果、ビデオ符号化器20は、コード化ビデオシーケンスの複数のレイヤについて、および/または複数のレイヤを有するスケーラブルビデオビットストリームについてシグナリングされるタイミング情報中のインジケーションのインスタンスの数を削減することができる。いくつかの事例では、ビデオ符号化器20は、このフラグを、クロックティックシンタックス要素中のタイムスケールおよびユニットの数も含まれる場合のみ、VPSシンタックス構造中に含めることができる。ビデオ符号化器20は、このようにして、タイミングインジケーションに比例するPOCを使うために必要とされるクロックティック情報も存在しない場合、この特定のタイミング情報(すなわち、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのPOC値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうか)をシグナリングするのを避けることができる。
【0078】
[0084]本明細書で説明される技法によると、ビデオ符号化器20は、1つまたは複数のコード化ビデオシーケンス用のVPSシンタックス構造中で、タイミングインジケーションフラグに比例するPOCをシグナリングするために、ビデオ符号化器20によって生成された符号化ビットストリームを、準拠についてテストすることができる。ビデオ符号化器20は、フラグについての値を決定するために符号化ビットストリームを復号することによって、準拠について符号化ビットストリームをテストすることができる。ビデオ符号化器20は、追加または代替として、クロックティックシンタックス要素中のタイムスケールおよびユニットの数も含まれる場合のみ、VPSシンタックス構造中でフラグをシグナリングするためにビデオ符号化器20によって生成された符号化ビットストリームをテストすることができる。ビデオ符号化器20は、タイミングインジケーションフラグに比例するPOCの決定された値と、クロックティックシンタックス要素中のタイムスケールおよびユニットの数とを、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0079】
[0085]いくつかの事例では、宛先デバイス14において、テストされているビデオ復号器30は、いくつかの場合には、1つまたは複数のコード化ビデオシーケンス用のVPSシンタックス構造中で、タイミングインジケーションフラグに比例するPOCをシグナリングするための、ビデオ符号化器20によって生成された符号化ビットストリームの表現を受信し得る。ビデオ復号器30は、フラグについての値を決定するために符号化ビットストリームを復号することによって、準拠について符号化ビットストリームをテストすることができる。ビデオ復号器30は、追加または代替として、クロックティックシンタックス要素中のタイムスケールおよびユニットの数も含まれる場合のみ、VPSシンタックス構造中でフラグをシグナリングするためにビデオ復号器30によって生成された符号化ビットストリームをテストすることができる。ビデオ復号器30は、タイミングインジケーションフラグに比例するPOCの決定された値と、クロックティックシンタックス要素中のタイムスケールおよびユニットの数とを、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0080】
[0086]
図2は、本開示で説明される技法を実装し得る例示的なビデオ符号化器20を示すブロック図である。ビデオ符号化器20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実施することができる。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために、空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード)は、いくつかの空間ベースの圧縮モードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースの圧縮モードのいずれかを指し得る。
【0081】
[0087
図2の例では、ビデオ符号化器20は、区分ユニット35と、予測モジュール41と、参照ピクチャメモリ64と、加算器50と、変換モジュール52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。予測モジュール41は、動き推定ユニット42と、動き補償ユニット44と、イントラ予測モジュール46とを含む。ビデオブロック再構成のために、ビデオ符号化器20はまた、逆量子化ユニット58と、逆変換モジュール60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(
図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタリングすることになる。デブロッキングフィルタに加えて追加のループフィルタ(ループ内またはループ後)も使用され得る。
【0082】
[0088]
図2に示されるように、ビデオ符号化器20はビデオデータを受信し、区分ユニット35はデータをビデオブロックに区分する。この区分は、たとえば、LCUおよびCUの4分木構造に応じて、スライス、タイル、または他のより大きいユニットへの区分、ならびにビデオブロック区分をも含み得る。ビデオ符号化器20は、一般に、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。予測モジュール41は、誤り結果(たとえば、コーディングレートおよび歪みのレベル)に基づいて、現在のビデオブロックに対して、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つのような、複数の可能なコーディングモードのうちの1つを選択し得る。予測モジュール41は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生じさせるために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
【0083】
[0089]予測モジュール41内のイントラ予測モジュール46は、空間圧縮を行うために、コーディングされるべき現在のブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対する現在のビデオブロックのイントラ予測コーディングを実施し得る。予測モジュール41内の動き推定ユニット42および動き補償ユニット44は、時間圧縮を行うために、1つまたは複数の参照ピクチャ中の1つまたは複数の予測ブロックに対する現在のビデオブロックのインター予測コーディングを実施する。
【0084】
[0090]動き推定ユニット42は、ビデオシーケンスの所定のパターンに従ってビデオスライスのためのインター予測モードを決定するように構成され得る。所定のパターンは、シーケンス中のビデオスライスを、Pスライス、Bスライス、またはGPBスライスに指定し得る。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実施される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、参照ピクチャ内の予測ブロックに対する、現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。
【0085】
[0091]予測ブロックは、絶対値差分和(SAD)、差分2乗和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるべきビデオブロックのPUに厳密に一致することがわかるブロックである。いくつかの例では、ビデオ符号化器20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオ符号化器20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実施し、分数ピクセル精度で動きベクトルを出力し得る。
【0086】
[0092]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUについての動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
【0087】
[0093]動き補償ユニット44によって実施される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実施することを伴い得る。現在ビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオ符号化器20は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマおよびクロマの両方の差分成分を含み得る。加算器50は、この減算演算を実施する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオ復号器30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素55を生成することができる。
【0088】
[0094]動き補償ユニット44は、本開示で説明される技法に従って、シンタックス構造に準拠するシンタックス要素55を生成することができる。いくつかの例では、ビデオ符号化器20は、ビデオブロックに関連付けられた、ビデオパラメータセット(VPS)シンタックス構造中またはシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を定義するすべてのシンタックス要素を直接シグナリングするようにシンタックス要素55を生成することができる。言い換えると、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件についてのシンタックス要素を、VPSシンタックス構造またはSPSシンタックス構造のVUI部に組み込まれている別のシンタックス構造(HRDパラメータのシンタックス構造など)中でシグナリングするのではなく、動き補償ユニット44は、VPSおよびVUIシンタックス構造のいずれか/両方内に組み込まれている可能性がある別のシンタックス構造を参照することなく、VPSおよび/またはVUIシンタックス構造中で条件を定義するシンタックス要素についてのシンタックス要素をシグナリングするための符号化ビットストリームを生成する。
【0089】
[0095]いくつかの例では、動き補償ユニット44は、所与のコード化ビデオシーケンス用のVPSおよびVUIシンタックス構造の各々においてタイムスケールとクロックティック中のユニットの数とを多くとも一度シグナリングするようにシンタックス要素55を生成することができる。つまり、符号化ビットストリーム用の所与のVPSシンタックス構造中で、動き補償ユニット44は、クロックティックシンタックス要素中のタイムスケールおよびユニットの数を多くとも一度シグナリングするようにシンタックス要素55を生成することができる。同様に、符号化ビットストリーム用の所与のVUIシンタックス構造(たとえば、SPSシンタックス構造のVUI部)中で、動き補償ユニット44は、タイムスケールをシグナリングするようにシンタックス要素55を生成し、クロックティックシンタックス要素中のユニットの数を多くとも一度生成することができる。さらに、動き補償ユニット44は、いくつかの事例では、VPSおよび/またはVUIシンタックス構造内に組み込まれたHRDパラメータのシンタックス構造中ではなく、所与のコード化ビデオシーケンス用のVPSおよびVUIシンタックス構造の各々の中で、タイムスケールとクロックティック中のユニットの数とを直接シグナリングするようにシンタックス要素55を生成することができる。
【0090】
[0096]いくつかの例では、動き補償ユニット44は、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのPOC値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうかを示すフラグを、1つまたは複数のコード化ビデオシーケンス用のVPSシンタックス構造中でシグナリングするように、シンタックス要素55を生成することができる。このインジケーションフラグは代替として、タイミングインジケーションフラグに比例するPOCと呼ばれ得る。その結果、動き補償ユニット44は、コード化ビデオシーケンスの複数のレイヤについて、および/または複数のレイヤを有するスケーラブルビデオビットストリームについてシグナリングされるタイミング情報中のインジケーションのインスタンスの数を削減することができる。いくつかの事例では、動き補償ユニット44は、このフラグを、クロックティックシンタックス要素中のタイムスケールおよびユニットの数も含まれる場合のみ、VPSシンタックス構造中に含めることができる。動き補償ユニット44は、このようにして、タイミングインジケーションに比例するPOCを使うために必要とされるクロックティック情報も存在しない場合、この特定のタイミング情報(すなわち、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのPOC値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうか)をシグナリングするのを避けることができる。
【0091】
[0097]シンタックス要素55を生成するための上記技法を遂行するための、HEVC WD9テキストに対する例示的な変更は、次のようになる(言及されない他の部分は、HEVC WD9と比べて修正されえない)。
【0092】
[0098]以下は、上記問題のうちの1つまたは複数を解決するように修正されたビデオパラメータセットRBSPシンタックス構造の例である(下線付きシンタックスは、HEVC WD9のビデオパラメータセットRBSPシンタックス構造への追加であり、他のシンタックスは、HEVC WD9と比較して不変であってよい)。
【0094】
[0099]テーブル4は、以下のビデオパラメータセット(VPS)RBSPセマンティクスに従って、新規追加シンタックス要素を定義する。
【0095】
[0100]1に等しいvps_timing_info_present_flagは、vps_num_units_in_tick、vps_time_scale、およびvps_poc_proportional_to_timing_flagがビデオパラメータセット中に存在することを指定する。0に等しいvps_timing_info_present_flagは、vps_num_units_in_tick、vps_time_scale、およびvps_poc_proportional_to_timing_flagがビデオパラメータセット中に存在しないことを指定する。
【0096】
[0101]vps_num_units_in_tickは、クロックティックカウンタの1の増分(クロックティックと呼ばれる)に対応する、周波数vps_time_scaleHzで動作するクロックの時間ユニットの数である。vps_num_units_in_tickの値は、0よりも大きいものとする。秒の単位でのクロックティックは、vps_time_scaleで除算されたvps_num_units_in_tickの商に等しい。たとえば、ビデオ信号のピクチャレートが25Hzであるとき、vps_time_scaleは27,000,000に等しくてよく、vps_num_units_in_tickは1,080,000に等しくてよく、したがってクロックティックは0.04秒であってよい。
【0097】
[0102]vps_time_scaleは、1秒間に過ぎる時間ユニットの数である。たとえば、27MHzクロックを使って時間を測定する時間座標系は、27,000,000のvps_time_scaleを有する。vps_time_scaleの値は、0よりも大きいものとする。
【0098】
[0103]1に等しいvps_poc_proportional_to_timing_flagは、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例することを示す。0に等しいvps_poc_proportional_to_timing_flagは、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例してもしなくてもよいことを示す。
【0099】
[0104]vps_num_ticks_poc_diff_one_minus1プラス1は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数を指定する。vps_num_ticks_poc_diff_one_minus1の値は、両端値を含む0〜2^32−1の範囲内であるものとする。
【0100】
[0105]以下は、上記問題のうちの1つまたは複数を解決するように修正されたVUIパラメータのシンタックス構造の例である(下線付きシンタックスは、HEVC WD9のVUIパラメータのシンタックス構造への追加であり、斜体シンタックスは、HEVC WD9のVUIパラメータのシンタックス構造から削除されており、シンタックステーブルの他の部分は、HEVC WD9と比較して不変である)。
【0102】
[0106]テーブル5は、以下のVUIパラメータのセマンティクス(削除されたシンタックス要素についてのセマンティクスも同様に削除される)に従って新規追加シンタックス要素を定義する。
【0103】
[0107]1に等しいsps_timing_info_present_flagは、sps_num_units_in_tick、sps_time_scale、およびsps_poc_proportional_to_timing_flagがvui_parameters()シンタックス構造中に存在することを指定する。0に等しいsps_timing_info_present_flagは、sps_num_units_in_tick、sps_time_scale、およびsps_poc_proportional_to_timing_flagがvui_parameters()シンタックス構造中に存在しないことを指定する。
【0104】
[0108]sps_num_units_in_tickは、クロックティックカウンタの1の増分(クロックティックと呼ばれる)に対応する、周波数sps_time_scaleHzで動作するクロックの時間ユニットの数である。sps_num_units_in_tickは、0よりも大きいものとする。秒の単位でのクロックティックは、sps_time_scaleで除算されたsps_num_units_in_tickの商に等しい。たとえば、ビデオ信号のピクチャレートが25Hzであるとき、sps_time_scaleは27,000,000に等しくてよく、sps_num_units_in_tickは1,080,000に等しくてよく、したがってクロックティックは0.04秒に等しくてよい(式(1)参照)。vps_num_units_in_tickが、シーケンスパラメータセットによって参照されるビデオパラメータセット中に存在するとき、sps_num_units_in_tickは、存在するとき、vps_num_units_in_tickに等しいものとする。
【0105】
[0109]変数ClockTick(本明細書では、「クロックティック」とも呼ばれる)を導出するための公式は、次のように修正される。
【0107】
[0110]sps_time_scaleは、1秒間に過ぎる時間ユニットの数である。たとえば、27MHzクロックを使って時間を測定する時間座標系は、27,000,000のsps_time_scaleを有する。sps_time_scaleの値は、0よりも大きいものとする。vps_time_scaleが、シーケンスパラメータセットによって参照されるビデオパラメータセット中に存在するとき、sps_time_scaleは、存在するとき、vps_time_scaleに等しいものとする。
【0108】
[0111]1に等しいsps_poc_proportional_to_timing_flagは、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例することを示す。0に等しいsps_poc_proportional_to_timing_flagは、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例してもしなくてもよいことを示す。vps_poc_proportional_to_timing_flagが、シーケンスパラメータセットによって参照されるビデオパラメータセット中に存在するとき、sps_poc_proportional_to_timing_flagは、存在するとき、vps_poc_proportional_to_timing_flagに等しいものとする。
【0109】
[0112]sps_num_ticks_poc_diff_one_minus1プラス1は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数を指定する。sps_num_ticks_poc_diff_one_minus1の値は、両端値を含む0〜2^32−1の範囲内であるものとする。vps_num_ticks_poc_diff_one_minus1が、シーケンスパラメータセットによって参照されるビデオパラメータセット中に存在するとき、sps_num_ticks_poc_diff_one_minus1は、存在するとき、sps_num_ticks_poc_diff_one_minus1に等しいものとする。
【0110】
[0113]以下は、上記問題のうちの1つまたは複数を解決するように修正されたHRDパラメータのシンタックス構造の例である(斜体シンタックスは、HEVC WD9のHRDパラメータのシンタックス構造から削除されている)。
【0112】
[0114]テーブル6の例示的な修正されたHRDパラメータのシンタックス構造に従って削除されたシンタックス要素についてのセマンティクスも、同様に削除される。
【0113】
[0115]イントラ予測モジュール46は、上記で説明されたように、動き推定ユニット42と動き補償ユニット44とによって実施されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測モジュール46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測モジュール46は、たとえば、別々の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測モジュール46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。たとえば、イントラ予測モジュール46は、様々なテストされたイントラ予測モードのためのレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択することができる。レート歪み分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された、元の符号化されていないブロックとの間の歪み(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測モジュール46は、どのイントラ予測モードがブロックに対して最良のレート歪み値を呈するかを決定するために、様々な符号化ブロックに対する歪みおよびレートから比率を計算することができる。
【0114】
[0116]いずれの場合も、あるブロックに対するイントラ予測モードを選択した後、イントラ予測モジュール46は、ブロックに対する選択されたイントラ予測モードを示す情報をエントロピーコーディングユニット56に提供することができる。エントロピーコーディングユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオ符号化器20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々のために使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および修正されたイントラ予測モードインデックステーブルのインジケーションとを含み得る構成データを含み得る。
【0115】
[0117]予測モジュール41が、インター予測またはイントラ予測のいずれかを介して、現在のビデオブロック用の予測ブロックを生成した後、ビデオ符号化器20は、現在のビデオブロックから予測ブロックを減算することによって残差ビデオブロックを形成する。残差ブロック内の残差ビデオデータは、1つまたは複数のTUに含まれ、変換モジュール52に適用され得る。変換モジュール52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を使用して、残差ビデオデータを残差変換係数に変換する。変換モジュール52は、残差ビデオデータをピクセル領域から周波数領域などの変換領域に変換し得る。
【0116】
[0118]変換モジュール52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実施し得る。代替的に、エントロピー符号化ユニット56が走査を実施し得る。
【0117】
[0119]量子化の後、エントロピー符号化ユニット56は量子化変換係数をエントロピー符号化する。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピー符号化方法もしくは技法を実施し得る。エントロピー符号化ユニット56によるエントロピー符号化の後に、符号化ビットストリームは、ビデオ復号器30に送信されるか、またはビデオ復号器30が後で送信するかもしくは取り出すためにアーカイブされ得る。エントロピー符号化ユニット56はまた、コード化されている現在のビデオスライスのための動きベクトルと他のシンタックス要素とをエントロピー符号化し得る。
【0118】
[0120]逆量子化ユニット58および逆変換モジュール60は、それぞれ逆量子化および逆変換を適用して、参照ピクチャの参照ブロックとして後で使用するためにピクセル領域において残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャリストのうちの1つの内の参照ピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用し得る。加算器62は、参照ピクチャメモリ64(復号ピクチャバッファ(DPB)と呼ばれることがある)に記憶するための参照ブロックを生成するために、再構成された残差ブロックを動き補償ユニット44によって生成された動き補償予測ブロックに加算する。参照ブロックは、後続のビデオフレームまたはピクチャ中のブロックをインター予測するために、動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
【0119】
[0121]ビデオ符号化器20は随意には、ビデオ符号化器20の要素によって生成された符号化ビットストリームを、HRD57用に定義されるバッファモデルへの準拠について調べるための仮想参照復号器(HRD)57(破線の使用により、随意として示されている)を含み得る。HRD57は、タイプIおよび/またはタイプIIビットストリームまたはビットストリームサブセットを、HRD準拠について調べればよい。HRD57の動作のために必要とされるパラメータのセットが、2つのタイプのHRDパラメータセット、すなわちNAL HRDパラメータおよびVCL HRDパラメータのうちの1つによってシグナリングされる。上述されたように、HRDパラメータセットは、SPSシンタックス構造および/またはVPSシンタックス構造内に組み込まれ得る。
【0120】
[0122]HRD57は、HEVC WD9などのビデオコーディング仕様またはHEVC WD10などの後継仕様において定義される1つまたは複数のビットストリーム準拠テストとして指定される要件への準拠について、ビデオブロックと、関連付けられたシンタックス要素55とをテストすればよい。たとえば、HRD57は、コード化ビデオシーケンス用の、VPSシンタックス構造から、またはSPSシンタックス構造のVUI部中で、1に等しい、POC値の差分に対応するクロックティックの数をシグナリングするための条件を定義するシンタックス要素を決定するために、シンタックス要素55を処理することによって、準拠について符号化ビットストリームをテストすることができる。シンタックス要素値によって条件が成り立つ場合、HRD57は、1に等しい、POC値の差分に対応するクロックティックの数を決定し、決定したクロックティックの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。本明細書における、シンタックス要素に関する「処理」という用語の使用は、抽出、復号および抽出、読取り、解析、ならびに復号器/HRD57によって使用可能な形でシンタックス要素を取得するための他のどのサービス可能動作または動作の組合せも指し得る。
【0121】
[0123]別の例として、HRD57は、クロックティックシンタックス要素中のタイムスケールとユニットの数とをVPSシンタックス構造中で多くとも一度符号化するシンタックス要素55のVPSシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、符号化ビットストリームを復号することによって、符号化ビットストリームを準拠についてテストすることができる。いくつかの事例では、HRD57は、クロックティックシンタックス要素中のタイムスケールとユニットの数とをVUIシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVUIシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、シンタックス要素55を復号することによって、符号化ビットストリームを準拠についてテストすることができる。タイムスケールおよびクロックティック中のユニットの数は、VPSおよび/またはVUIシンタックス構造内に組み込まれたHRDパラメータのシンタックス構造中以外でシグナリングされ得る。HRD57は、決定されたタイムスケールおよびクロックティック中の決定されたユニットの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0122】
[0124]本明細書で説明される技法によると、HRD57は、1つまたは複数のコード化ビデオシーケンス用のシンタックス要素55のVPSシンタックス構造から、タイミングインジケーションフラグに比例するPOCについての値を復号することによって、準拠について符号化ビットストリームをテストすることができる。HRD57は、追加または代替として、クロックティックシンタックス要素中のタイムスケールおよびユニットの数も含まれる場合のみ、VPSシンタックス構造中のタイミングインジケーションフラグに比例するPOCについての値を復号することによって、準拠について符号化ビットストリームをテストすることができる。HRD57は、タイミングインジケーションフラグに比例するPOCの決定された値と、クロックティックシンタックス要素中のタイムスケールおよびユニットの数とを、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPBアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0123】
[0125]
図3は、本開示で説明される技法を実装し得る例示的なビデオ復号器76を示すブロック図である。
図3の例では、ビデオ復号器76は、コード化ピクチャバッファ(CPB)78と、エントロピー復号ユニット80と、予測モジュール81と、逆量子化ユニット86と、逆変換ユニット88と、加算器90と、復号ピクチャバッファ(DPB)92とを含む。予測モジュール81は、動き補償ユニット82と、イントラ予測モジュール84とを含む。ビデオ復号器76は、いくつかの例では、
図2のビデオ符号化器20に関して説明された符号化パスとは概して逆の復号パスを実施し得る。ビデオ復号器76は、宛先デバイス14のビデオ復号器30の、または
図2の仮想参照復号器57の例示的な事例を表し得る。
【0124】
[0126]CPB78は、符号化ピクチャビットストリームからのコード化ピクチャを記憶する。一例では、CBP78は、アクセスユニット(AU)を復号順序で含む先入れ先出しバッファである。AUとは、指定された分類規則に従って互いに関連付けられたネットワークアブストラクションレイヤ(NAL)ユニットのセットであり、復号順序で連続し、各々は、正確に1つのコード化ピクチャを含む。復号順序とは、ピクチャが復号される順序であり、ピクチャが表示される順序(すなわち、表示順序)とは異なってよい。CPBの動作は、仮想参照復号器(HRD)によって指定され得る。
【0125】
[0127]復号プロセス中に、ビデオ復号器76は、ビデオ符号化器20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオ復号器76のエントロピー復号ユニット80は、量子化係数と、動きベクトルと、他のシンタックス要素55とを生成するために、ビットストリームを復号する。エントロピー復号ユニット80は、予測モジュール81に動きベクトルと他のシンタックス要素55とを転送する。ビデオ復号器76は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素55を受信し得る。符号化ビデオビットストリームは、以下で説明される技法に従ってシグナリングされるタイミング情報を含み得る。たとえば、符号化ビデオビットストリームは、HRD動作用のパラメータをシグナリングするための、本明細書で説明される技法によるシンタックス構造を有する、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、またはそれらのどの組合せも含み得る。
【0126】
[0128]ビデオスライスがイントラコード化(I)スライスとしてコード化されるとき、予測モジュール81のイントラ予測モジュール84は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロック用の予測データを生成することができる。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、予測モジュール81の動き補償ユニット82は、エントロピー復号ユニット80から受信された動きベクトルおよび他のシンタックス要素55に基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうち1つの内の参照ピクチャのうち1つから生成され得る。ビデオ復号器76は、DPB92に記憶された参照ピクチャに基づいて、デフォルトの構築技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構築し得る。
【0127】
[0129]動き補償ユニット82は、動きベクトルと他のシンタックス要素55とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット82は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数についての構築情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックについてのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを決定するために、受信されたシンタックス要素55のうちのいくつかを使用する。
【0128】
[0130]動き補償ユニット82はまた、補間フィルタに基づいて補間を実施し得る。動き補償ユニット82は、参照ブロックのサブ整数ピクセルの補間値を計算するために、ビデオブロックの符号化中にビデオ符号化器20によって使用された補間フィルタを使用し得る。この場合、動き補償ユニット82は、受信されたシンタックス要素55からビデオ符号化器20によって使用された補間フィルタを決定し、予測ブロックを生成するためにその補間フィルタを使用し得る。
【0129】
[0131]逆量子化ユニット86は、ビットストリーム中で与えられエントロピー復号ユニット80によって復号された、量子化変換係数を逆量子化(inverse quantize)、すなわち、量子化解除(de-quantize)する。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス中の各ビデオブロックについてビデオ符号化器20によって計算される量子化パラメータを使用することを含み得る。逆変換ユニット88は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
【0130】
[0132]動き補償ユニット82が、動きベクトルおよび他のシンタックス要素55に基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオ復号器76は、逆変換ユニット88からの残差ブロックを動き補償ユニット82によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実施する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または別の方法でビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。所与のフレームまたはピクチャ中の復号ビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶するDPB92に記憶される。DPB92はまた、
図1のディスプレイデバイス32のようなディスプレイデバイス上での後の表示のために、復号ビデオを記憶する。CPB78と同様、一例では、DPB92の動作は、仮想参照復号器(HRD)によって指定され得る。
【0131】
[0133]本開示において説明される符号化器20および復号器76は、本開示で説明されるビデオコーディングプロセスにおいてタイミングをシグナリングするための技法を実施するように構成されたデバイスの例を表す。したがって、時間をシグナリングするための、本開示で説明される動作は、符号化器20、復号器76または両方によって実施され得る。いくつかの事例では、符号化器20はタイミング情報をシグナリングすることができ、復号器76は、そのようなタイミング情報を、たとえば、1つまたは複数のHRD特徴、特性、パラメータ、または条件を定義する際に使うために受信することができる。
【0132】
[0134]ビデオ復号器76は、いくつかの事例では、テストされているビデオ復号器76(すなわち、VUT)であり得る。ビデオ復号器76は、コード化ビデオシーケンス用の、VPSシンタックス構造中またはシンタックス要素55のSPSシンタックス構造のVUI部中で、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を定義するすべてのシンタックス要素を直接シグナリングするために、ビデオ符号化器20によって生成された符号化ビットストリームの表現を受信し得る。ビデオ復号器76は、コード化ビデオシーケンス用の、VPSシンタックス構造から、またはSPSシンタックス構造のVUI部中で、1に等しい、POC値の差分に対応するクロックティックの数をシグナリングするための条件を定義するシンタックス要素を決定するために、符号化ビットストリームを復号することができる。シンタックス要素値によって条件が成り立つ場合、ビデオ復号器76は、1に等しい、POC値の差分に対応するクロックティックの数を決定し、決定したクロックティックの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中の、CPB78のアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0133】
[0135]別の例では、ビデオ符号化器20は、タイムスケールとクロックティック中のユニットの数とを、所与のコード化ビデオシーケンス用のシンタックス要素55のVPSおよびVUIシンタックス構造の各々の中で多くとも一度シグナリングするための、ビデオ符号化器20によって生成された符号化ビットストリームの表現を受信し得る。ビデオ復号器76は、クロックティックシンタックス要素中のタイムスケールとユニットの数とを、VPSシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVPSシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、符号化ビットストリームを復号することができる。いくつかの事例では、ビデオ復号器76は、クロックティックシンタックス要素中のタイムスケールとユニットの数とをVUIシンタックス構造中で多くとも一度符号化する符号化ビットストリームのVUIシンタックス構造から、タイムスケールとクロックティック中のユニットの数とを決定するために、符号化ビットストリームを復号することによって、符号化ビットストリームを準拠についてテストすることができる。タイムスケールおよびクロックティック中のユニットの数は、VPSおよび/またはVUIシンタックス構造内に組み込まれたHRDパラメータのシンタックス構造中以外でシグナリングされ得る。ビデオ復号器76は、決定されたタイムスケールおよびクロックティック中の決定されたユニットの数を、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPB78のアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0134】
[0136]別の例では、ビデオ復号器76は、1つまたは複数のコード化ビデオシーケンス用のシンタックス要素55のVPSシンタックス構造中で、タイミングインジケーションフラグに比例するPOCをシグナリングするための、ビデオ符号化器20によって生成された符号化ビットストリームの表現を受信し得る。ビデオ復号器76は、フラグについての値を決定するために符号化ビットストリームを復号することによって、準拠について符号化ビットストリームをテストすることができる。ビデオ復号器76は、追加または代替として、クロックティックシンタックス要素中のタイムスケールおよびユニットの数も含まれる場合のみ、VPSシンタックス構造中でフラグをシグナリングするためにビデオ復号器76によって生成された符号化ビットストリームをテストすることができる。ビデオ復号器76は、タイミングインジケーションフラグに比例するPOCの決定された値と、クロックティックシンタックス要素中のタイムスケールおよびユニットの数とを、たとえば、符号化ビットストリーム中に含まれる符号化ピクチャの復号中のCPB78のアンダーフローまたはオーバーフローを決定するための入力として使うことができる。
【0135】
[0137]
図4は、参照ピクチャセット用の例示的なコーディング構造100を示すブロック図である。コーディング構造100は、スライス102A〜102E(集合的に、「スライス102」)を含む。コーディング構造100に関連付けられたピクチャ順序カウント108は、参照ピクチャセット中の対応するスライスの出力順序を示す。たとえば、Iスライス102Aが最初に出力されるべきであり(POC値0)、bスライス102Bが2番目に出力されるべきである(POC値1)。コーディング構造100に関連付けられた復号順序110は、参照ピクチャセット中の対応するスライスについての復号順序を示す。たとえば、Iスライス102Aが最初に出力されるべきであり(復号順序1)、bスライス102Bが2番目に出力されるべきである(復号順序2)。
【0136】
[0138]矢印104は、ピクチャについての出力時間を、時間連続体tに沿って示す。時間間隔106は、1に等しい、ピクチャ順序カウント(POC)値の差分に対応する時間間隔を表す。時間間隔106は、クロックティックの数を含んでよく、この数は、タイムスケール(たとえば、シグナリングされる情報用の時間座標系を定義する、27MHzなどの発振器周波数に対応する)と、「クロックティック」と呼ばれる、クロックティックカウンタの1の増分に対応するタイムスケールで動作するクロックの時間ユニットの数とに依存し得る。本明細書で説明される技法によると、ビデオ符号化器20は、コード化ビデオシーケンス用の、ビデオパラメータセット(VPS)シンタックス構造中で、またはシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を定義するシンタックス要素を直接シグナリングするようにビットストリームを生成することができる。
【0137】
[0139]
図5は、本開示で説明される技法による動作の例示的な方法を示すフローチャートである。ビデオ符号化器20は、コード化ビデオシーケンスを生成するように、ビデオシーケンスのピクチャを符号化する(200)。ビデオ符号化器20は、コード化ビデオシーケンス用のパラメータセットをさらに生成する。パラメータセットは、シーケンスパラメータセット(SPS)シンタックス構造に従って、および/またはビデオパラメータセット(VPS)シンタックス構造に従って符号化されたパラメータを含み得る。本明細書で説明される技法によると、ビデオ符号化器20は、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を、コード化ビデオシーケンス用に、VPSシンタックス構造に直接、および/またはSPSシンタックス構造に直接符号化する(202)。「直接」という用語は、そのような符号化が、VPSシンタックス構造またはSPSシンタックス構造中に(適用可能に)、HEVC WD9において定義される仮想参照復号器(HRD)パラメータセットに対応するものなど、別個のパラメータセットシンタックス構造について定義されたクロックティック中のユニットの数およびタイムスケール用のシンタックス要素を組み込むことなく生成され得ることを示す。
【0138】
[0140]さらに、ビデオ符号化器20は、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を、コード化ビデオシーケンスのVPSシンタックス構造および/またはSPSシンタックス構造に直接符号化する(204)。条件は、ブール式用の変数を表す1つまたは複数のシンタックス要素を含んでよく、その場合、ビデオ符号化器20は、各々のそのようなシンタックス要素を、コード化ビデオシーケンスのVPSシンタックス構造および/またはSPSシンタックス構造に直接符号化することができる。ビデオ符号化器20は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のVPSシンタックス構造および/またはSPSシンタックス構造とを出力する(206)。いくつかの場合には、ビデオ符号化器20は、これらの構造を、ビデオ符号化器20のHRDに出力する。
【0139】
[0141]
図6A〜6Bは、本開示で説明される技法による動作の例示的な方法を示すフローチャートである。
図6Aにおいて、ビデオ符号化器20は、コード化ビデオシーケンスを生成するように、ビデオシーケンスのピクチャを符号化する(300)。ビデオ符号化器20は、コード化ビデオシーケンス用のパラメータセットをさらに生成する。パラメータセットは、ビデオパラメータセット(VPS)シンタックス構造に従って符号化されたパラメータを含み得る。本明細書で説明される技法によると、ビデオ符号化器20は、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を、直接、および多くとも一度、コード化ビデオシーケンス用のVPSシンタックス構造に符号化する(302)。いくつかの事例では、VPSシンタックス構造がHRDパラメータの複数のインスタンスを含む場合であっても、シンタックス要素を、HRDパラメータセット(または他の任意の組み込みパラメータセットシンタックス構造)ではなくVPSシンタックス構造に(多くとも一度)直接符号化することによって、VPSシンタックス構造は、クロックティック中のユニットの数およびタイムスケールの各々についての単一のシンタックス要素を含み得る。ビデオ符号化器20は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のVPSシンタックス構造とを出力する(304)。いくつかの場合には、ビデオ符号化器20は、これらの構造を、ビデオ符号化器20のHRDに出力する。
【0140】
[0142]
図6Bにおいて、ビデオ符号化器20は、コード化ビデオシーケンスを生成するように、ビデオシーケンスのピクチャを符号化する(310)。ビデオ符号化器20は、コード化ビデオシーケンス用のパラメータセットをさらに生成する。パラメータセットは、ビデオパラメータセット(SPS)シンタックス構造に従って符号化されたパラメータを含み得る。本明細書で説明される技法によると、ビデオ符号化器20は、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を、直接、および多くとも一度、コード化ビデオシーケンス用のSPSシンタックス構造に符号化する(312)。いくつかの事例では、SPSシンタックス構造がHRDパラメータの複数のインスタンスを含む場合であっても、シンタックス要素を、HRDパラメータセット(または他の任意の組み込みパラメータセットシンタックス構造)ではなくSPSシンタックス構造に(多くとも一度)直接符号化することによって、SPSシンタックス構造は、クロックティック中のユニットの数およびタイムスケールの各々についての単一のシンタックス要素を含み得る。ビデオ符号化器20は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のSPSシンタックス構造とを出力する(314)。いくつかの場合には、ビデオ符号化器20は、これらの構造を、ビデオ符号化器20のHRDに出力する。いくつかの事例では、ビデオ符号化器20は、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を、VPSシンタックス構造とコード化ビデオシーケンス用のSPSシンタックス構造の両方に符号化することができる。
【0141】
[0143]
図7は、本開示で説明される技法による動作の例示的な方法を示すフローチャートである。ビデオ符号化器20は、コード化ビデオシーケンスを生成するように、ビデオシーケンスのピクチャを符号化する(400)。ビデオ符号化器20は、コード化ビデオシーケンス用のパラメータセットをさらに生成する。パラメータセットは、ビデオパラメータセット(VPS)シンタックス構造に従って符号化されたパラメータを含み得る。タイミング情報が、たとえば、HRDバッファリングモデルを定義するために含まれるべきである場合(402のはい分岐)、ビデオ符号化器20は、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント(POC)値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうかを指定する値を有するシンタックス要素を、コード化ビデオシーケンス用のVPSシンタックス構造に直接符号化する(404)。シンタックス要素は、セマンティック的には、HEVC WD9によって定義されるpoc_proportional_to_timing_flagと同様であり得る。タイミング情報は、クロックティック中のユニットの数とタイムスケールとを表し得る。
【0142】
[0144]シンタックス要素の値が真の場合(406のはい分岐)、ビデオ符号化器20は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数についてのシンタックス要素も符号化する(408)。ビデオ符号化器20は、シンタックス要素をVPSに符号化するので、シンタックス要素の値は、スケーラブルビデオビットストリームのすべてのレイヤまたはすべての可能なビットストリームサブセットに該当し得るが、それは、VPSが、最も高いレイヤのパラメータセットを表すとともにコード化ピクチャシーケンスの全体的特性を記述するからである。
【0143】
[0145]タイミング情報がVPSシンタックス構造中に含まれるべきでない場合(402のいいえ分岐)、ビデオ符号化器20は、POCがタイミング情報に比例することを示すためのシンタックス要素も、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数についてのシンタックス要素も符号化しない。POCがタイミング情報に比例しない(すなわち、値が偽である)場合(406のいいえ分岐)、ビデオ符号化器20は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数についてのシンタックス要素を符号化しない。
【0144】
[0146]ビデオ符号化器20は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のVPSシンタックス構造とを出力する(410)。いくつかの場合には、ビデオ符号化器20は、これらの構造を、ビデオ符号化器20のHRDに出力する。
【0145】
[0147]
図8は、本開示で説明される技法による動作の例示的な方法を示すフローチャートである。ビデオ復号器デバイス30またはビデオ符号化器デバイス20の仮想参照復号器57(以下では、「復号器」)は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のビデオパラメータセット(VPS)シンタックス構造および/またはシーケンスパラメータセット(SPS)シンタックス構造とを受信する(500)。コード化ビデオシーケンスおよび/またはシンタックス構造(1つもしくは複数)は、1つまたは複数の符号化ピクチャを含むビットストリームに符号化され得る。
【0146】
[0148]復号器は、VPSシンタックス構造および/またはSPSシンタックス構造中で直接、1に等しい、ピクチャ順序カウント(POC)値の差分に対応するクロックティックの数をシグナリングするための条件を指定するシンタックス要素を抽出するように、VPSシンタックス構造および/またはSPSシンタックス構造を処理する(502)。条件は、ブール式用の変数を表す1つまたは複数のシンタックス要素を含んでよく、その場合、復号器は、各々のそのようなシンタックス要素を、コード化ビデオシーケンスのVPSシンタックス構造および/またはSPSシンタックス構造から直接処理することができる。
【0147】
[0149]復号器は、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を、コード化ビデオシーケンス用のVPSシンタックス構造から直接、および/またはコード化ビデオシーケンス用のSPSシンタックス構造から直接抽出するために、VPSシンタックス構造および/またはSPSシンタックス構造をさらに処理する(504)。復号器は次いで、VPSシンタックス構造および/またはSPSシンタックス構造から抽出されるとともに対応するシンタックス要素から読み取られた、条件についての値と、クロックティック中のユニットの数と、タイムスケールとによって少なくとも部分的に定義されるビデオバッファリングモデルへの、コード化ビデオシーケンスの準拠を検証すればよい(506)。
【0148】
[0150]
図9A〜9Bは、本開示で説明される技法による動作の例示的な方法を示すフローチャートである。
図9Aにおいて、ビデオ復号器デバイス30またはビデオ符号化器デバイス20の仮想参照復号器57(以下では、「復号器」)は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のビデオパラメータセット(VPS)シンタックス構造とを受信する(600)。コード化ビデオシーケンスおよび/またはVPSシンタックス構造は、1つまたは複数の符号化ピクチャを含むビットストリームに符号化され得る。
【0149】
[0151]本明細書で説明される技法によると、復号器は、コード化ビデオシーケンス用のVPSシンタックス構造中で直接、および多くとも一度発生する、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を抽出するように、VPSシンタックス構造を処理する(602)。復号器は次いで、VPSシンタックス構造から抽出されるとともに対応するシンタックス要素から読み取られた、クロックティック中のユニットの数についての値と、タイムスケールとによって少なくとも部分的に定義されるビデオバッファリングモデルへの、コード化ビデオシーケンスの準拠を検証すればよい(604)。
【0150】
[0152]
図9Bにおいて、復号器は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のビデオパラメータセット(SPS)シンタックス構造とを受信する(610)。コード化ビデオシーケンスおよび/またはSPSシンタックス構造は、1つまたは複数の符号化ピクチャを含むビットストリームに符号化され得る。
【0151】
[0153]本明細書で説明される技法によると、復号器は、コード化ビデオシーケンス用のSPSシンタックス構造中で直接、および多くとも一度発生する、クロックティック中のユニットの数およびタイムスケール用のシンタックス要素を抽出するように、SPSシンタックス構造を処理する(612)。復号器は次いで、SPSシンタックス構造から抽出されるとともに対応するシンタックス要素から読み取られた、クロックティック中のユニットの数についての値と、タイムスケールとによって少なくとも部分的に定義されるビデオバッファリングモデルへの、コード化ビデオシーケンスの準拠を検証すればよい(614)。
【0152】
[0154]
図10は、本開示で説明される技法による動作の例示的な方法を示すフローチャートである。
図10において、ビデオ復号器デバイス30またはビデオ符号化器デバイス20の仮想参照復号器57(以下では、「復号器」)は、コード化ビデオシーケンスと、コード化ビデオシーケンス用のビデオパラメータセット(VPS)シンタックス構造とを受信する(700)。コード化ビデオシーケンスおよび/またはVPSシンタックス構造は、1つまたは複数の符号化ピクチャを含むビットストリームに符号化され得る。
【0153】
[0155]復号器は、復号順序で、コード化ビデオシーケンス中の第1のピクチャではない、コード化ビデオシーケンス中の各ピクチャについてのピクチャ順序カウント値が、コード化ビデオシーケンス中の第1のピクチャの出力時間に関して、ピクチャの出力時間に比例するかどうかを指定するシンタックス要素を抽出するように、VPSシンタックス構造を処理する(702)。シンタックス要素についての値が真の場合、復号器は、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数についてのシンタックス要素を抽出するように、VPSシンタックス構造をさらに処理する(706)。復号器は次いで、VPSシンタックス構造から抽出されるとともに対応するシンタックス要素から読み取られた、1に等しい、ピクチャ順序カウント値の差分に対応するクロックティックの数についての値によって少なくとも部分的に定義されるビデオバッファリングモデルへの、コード化ビデオシーケンスの準拠を検証すればよい(708)。
【0154】
[0156]1つまたは複数の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せに実装され得る。ソフトウェアに実装される場合、機能は、1つもしくは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、データ記憶媒体などの有形媒体、または、たとえば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応する、コンピュータ可読記憶媒体を含むことができる。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または、(2)信号もしくは搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示に記載された技法を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つもしくは複数のコンピュータ、または1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。
【0155】
[0157]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0156】
[0158]命令は、1つもしくは複数のデジタル信号プロセッサ(DSP)などの1つもしくは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明された技法の実施に適した任意の他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/もしくはソフトウェアモジュール内で提供され、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中で完全に実装され得る。
【0157】
[0159]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示された技法を実施するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明されたが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要はない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
【0158】
[0160]様々な例について説明がされてきた。これらおよび他の例は、以下の特許請求の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを処理する方法であって、
ビデオシーケンスの符号化ピクチャを備えるコード化ビデオシーケンスを受信することと、
タイムスケールとクロックティック中のユニットの数とを含む前記コード化ビデオシーケンスについてのタイミングパラメータを、前記コード化ビデオシーケンスによって参照されるビデオパラメータセット(VPS)シンタックス構造中で多くとも一度、および前記コード化ビデオシーケンスによって参照されるシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で多くとも一度受信することと
を備える方法。
[C2]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信することは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することを備える、
[C1]に記載の方法。
[C3]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することは、前記タイムスケールをvps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をvps_num_units_in_tickシンタックス要素として受信することを備える、
[C2]に記載の方法。
[C4]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信することは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することを備える、
[C1]に記載の方法。
[C5]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することは、前記タイムスケールをsps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をsps_num_units_in_tickシンタックス要素として受信することを備える、
[C4]に記載の方法。
[C6]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信することは、
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素として受信することを備える、
[C1]に記載の方法。
[C7]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信することは、
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素として受信することを備える、
[C1]に記載の方法。
[C8]
前記コード化ビデオシーケンスを受信することは、前記符号化ピクチャの表現を形成するビットのシーケンスを備えるコード化ビットストリームを受信することを備え、方法は、
前記タイムスケールおよびクロックティック中の前記ユニットの数によって少なくとも部分的に定義される、コード化ピクチャバッファおよび復号ピクチャバッファのビデオバッファリングモデルへの、前記ビットストリームの準拠を検証することをさらに備える、
[C1]に記載の方法。
[C9]
前記タイミングパラメータは、仮想参照復号動作についてのタイミングパラメータを備える、
[C1]に記載の方法。
[C10]
ビデオデータを符号化する方法であって、
符号化ピクチャを備えるコード化ビデオシーケンスを生成するように、ビデオシーケンスのピクチャを符号化することと、
タイムスケールとクロックティック中のユニットの数とを、ビデオパラメータセット(VPS)シンタックス構造中で多くとも一度、およびシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で多くとも一度、少なくとも部分的にシグナリングすることによって、前記コード化ビデオシーケンスについてのタイミングパラメータをシグナリングすることと
を備える、方法。
[C11]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で多くとも一度シグナリングすることは、前記タイムスケールをvps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をvps_num_units_in_tickシンタックス要素としてシグナリングすることを備える、
[C10]に記載の方法。
[C12]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で多くとも一度シグナリングすることは、前記タイムスケールをsps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をsps_num_units_in_tickシンタックス要素としてシグナリングすることを備える、
[C10]に記載の方法。
[C13]
前記タイミングパラメータをシグナリングすることは、
前記VPSシンタックス構造に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素を使って、前記タイムスケールとクロックティック中の前記ユニットの数とをシグナリングすることをさらに備える、
[C10]に記載の方法。
[C14]
前記タイミングパラメータをシグナリングすることは、
前記SPSシンタックス構造に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素を使って、前記タイムスケールとクロックティック中の前記ユニットの数とをシグナリングすることをさらに備える、
[C10]に記載の方法。
[C15]
前記符号化ピクチャの表現を形成するビットのシーケンスを備えるコード化ビットストリームを生成することをさらに備え、
前記タイミングパラメータは、前記ビットストリームの準拠を検証するための、コード化ピクチャバッファおよび復号ピクチャバッファのビデオバッファリングモデルを少なくとも部分的に定義する、
[C10]に記載の方法。
[C16]
前記タイミングパラメータは、仮想参照復号動作についてのタイミングパラメータを備える、
[C10]に記載の方法。
[C17]
ビデオデータを処理するためのデバイスであって、
プロセッサを備え、前記プロセッサは、
ビデオシーケンスの符号化ピクチャを備えるコード化ビデオシーケンスを受信することと、
タイムスケールとクロックティック中のユニットの数とを含む前記コード化ビデオシーケンスについてのタイミングパラメータを、前記コード化ビデオシーケンスによって参照されるビデオパラメータセット(VPS)シンタックス構造中で多くとも一度、および前記コード化ビデオシーケンスによって参照されるシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で多くとも一度受信することと
を行うように構成される、デバイス。
[C18]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記プロセッサは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することを行うようにさらに構成される、
[C17]に記載のデバイス。
[C19]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信するために、前記プロセッサは、前記タイムスケールをvps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をvps_num_units_in_tickシンタックス要素として受信することを行うようにさらに構成される、
[C18]に記載のデバイス。
[C20]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記プロセッサは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することを行うようにさらに構成される、
[C17]に記載のデバイス。
[C21]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信するために、前記プロセッサは、前記タイムスケールをsps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をsps_num_units_in_tickシンタックス要素として受信することを行うようにさらに構成される、
[C20]に記載のデバイス。
[C22]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記プロセッサは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素として受信することを行うようにさらに構成される、
[C17]に記載のデバイス。
[C23]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記プロセッサは、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素として受信することを行うようにさらに構成される、
[C17]に記載のデバイス。
[C24]
前記コード化ビデオシーケンスを受信するために、前記プロセッサは、前記符号化ピクチャの表現を形成するビットのシーケンスを備えるコード化ビットストリームを受信することを行うようにさらに構成され、
前記プロセッサは、前記タイムスケールおよびクロックティック中の前記ユニットの数によって少なくとも部分的に定義される、コード化ピクチャバッファおよび復号ピクチャバッファのビデオバッファリングモデルへの、前記ビットストリームの準拠を検証することを行うようにさらに構成される、
[C17]に記載のデバイス。
[C25]
前記タイミングパラメータは、仮想参照復号動作についてのタイミングパラメータを備える、
[C17]に記載のデバイス。
[C26]
ビデオデータを符号化するためのデバイスであって、
プロセッサを備え、前記プロセッサは、
符号化ピクチャを備えるコード化ビデオシーケンスを生成するように、ビデオシーケンスのピクチャを符号化することと、
タイムスケールとクロックティック中のユニットの数とを、ビデオパラメータセット(VPS)シンタックス構造中で多くとも一度、およびシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で多くとも一度、少なくとも部分的にシグナリングすることによって、前記コード化ビデオシーケンスについてのタイミングパラメータをシグナリングすることと
を行うように構成される、デバイス。
[C27]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で多くとも一度シグナリングするために、前記プロセッサは、前記タイムスケールをvps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をvps_num_units_in_tickシンタックス要素としてシグナリングすることを行うようにさらに構成される、
[C26]に記載のデバイス。
[C28]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で多くとも一度シグナリングするために、前記プロセッサは、前記タイムスケールをsps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をsps_num_units_in_tickシンタックス要素としてシグナリングすることを行うようにさらに構成される、
[C26]に記載のデバイス。
[C29]
前記タイミングパラメータをシグナリングするために、前記プロセッサは、前記VPSシンタックス構造に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素を使って、前記タイムスケールとクロックティック中の前記ユニットの数とをシグナリングすることを行うようにさらに構成される、
[C26]に記載のデバイス。
[C30]
前記タイミングパラメータをシグナリングするために、前記プロセッサは、前記SPSシンタックス構造に組み込まれた、仮想参照復号器(HRD)パラメータのシンタックス構造中でシグナリングされないシンタックス要素を使って、前記タイムスケールとクロックティック中の前記ユニットの数とをシグナリングすることを行うようにさらに構成される、
[C26]に記載のデバイス。
[C31]
前記プロセッサは、前記符号化ピクチャの表現を形成するビットのシーケンスを備えるコード化ビットストリームを生成することを行うようにさらに構成され、
前記タイミングパラメータは、前記ビットストリームの準拠を検証するための、コード化ピクチャバッファおよび復号ピクチャバッファのビデオバッファリングモデルを少なくとも部分的に定義する、
[C26]に記載のデバイス。
[C32]
前記タイミングパラメータは、仮想参照復号動作についてのタイミングパラメータを備える、
[C26]に記載のデバイス。
[C33]
ビデオデータを処理するためのデバイスであって、
ビデオシーケンスの符号化ピクチャを備えるコード化ビデオシーケンスを受信するための手段と、
タイムスケールとクロックティック中のユニットの数とを含む前記コード化ビデオシーケンスについてのタイミングパラメータを、前記コード化ビデオシーケンスによって参照されるビデオパラメータセット(VPS)シンタックス構造中で多くとも一度、および前記コード化ビデオシーケンスによって参照されるシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で多くとも一度受信するための手段と
を備えるデバイス。
[C34]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するための前記手段は、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信するための手段を備える、
[C33]に記載のデバイス。
[C35]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信するための前記手段は、前記タイムスケールをvps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をvps_num_units_in_tickシンタックス要素として受信するための手段を備える、
[C34]に記載のデバイス。
[C36]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するための前記手段は、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信するための手段を備える、
[C33]に記載のデバイス。
[C37]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信するための前記手段は、前記タイムスケールをsps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をsps_num_units_in_tickシンタックス要素として受信するための手段を備える、
[C36]に記載のデバイス。
[C38]
1つまたは複数のプロセッサによる実行時に、前記1つまたは複数のプロセッサに、
ビデオシーケンスの符号化ピクチャを備えるコード化ビデオシーケンスを受信することと、
タイムスケールとクロックティック中のユニットの数とを含む前記コード化ビデオシーケンスについてのタイミングパラメータを、前記コード化ビデオシーケンスによって参照されるビデオパラメータセット(VPS)シンタックス構造中で多くとも一度、および前記コード化ビデオシーケンスによって参照されるシーケンスパラメータセット(SPS)シンタックス構造のビデオユーザビリティ情報(VUI)部中で多くとも一度受信することと
を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体。
[C39]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記命令はさらに、前記1つまたは複数のプロセッサに、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信することを行わせる、
[C38]に記載の非一時的可読記憶媒体。
[C40]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記VPSシンタックス構造中で受信するために、前記命令はさらに、前記1つまたは複数のプロセッサに、前記タイムスケールをvps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をvps_num_units_in_tickシンタックス要素として受信することを行わせる、
[C39]に記載の非一時的可読記憶媒体。
[C41]
前記コード化ビデオシーケンスについての前記タイミングパラメータを受信するために、前記命令はさらに、前記1つまたは複数のプロセッサに、前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信することを行わせる、
[C38]に記載の非一時的可読記憶媒体。
[C42]
前記タイムスケールとクロックティック中の前記ユニットの数とを、前記SPSシンタックス構造の前記VUI部中で受信するために、前記命令はさらに、前記1つまたは複数のプロセッサに、前記タイムスケールをsps_time_scaleシンタックス要素として、およびクロックティック中の前記ユニットの数をsps_num_units_in_tickシンタックス要素として受信することを行わせる、
[C41]に記載の非一時的可読記憶媒体。