(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-17
(45)【発行日】2024-06-25
(54)【発明の名称】映像コーディングにおけるデブロッキング信号通知
(51)【国際特許分類】
H04N 19/70 20140101AFI20240618BHJP
H04N 19/82 20140101ALI20240618BHJP
H04N 19/86 20140101ALI20240618BHJP
【FI】
H04N19/70
H04N19/82
H04N19/86
(21)【出願番号】P 2022559433
(86)(22)【出願日】2021-04-09
(86)【国際出願番号】 CN2021086111
(87)【国際公開番号】W WO2021204234
(87)【国際公開日】2021-10-14
【審査請求日】2022-11-14
(31)【優先権主張番号】PCT/CN2020/083967
(32)【優先日】2020-04-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】ドン ジピン
(72)【発明者】
【氏名】ジャン リー
(72)【発明者】
【氏名】ワン イェクイ
(72)【発明者】
【氏名】ジャン カイ
(72)【発明者】
【氏名】シュー ジジョン
【審査官】岩井 健二
(56)【参考文献】
【文献】Hendry, Seung Hwan Kim, and SangHeon Lee,[AHG9]: On picture level and slice level tool parameters,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0200-r2,17th Meeting: Brussels, BE,2020年01月,pp.1-9
【文献】Ling Li, et al.,AHG12: Signaling of chroma presence in PPS and APS,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0420-v1,17th Meeting: Brussels, BE,2020年01月,pp.1-3
【文献】Jizheng Xu, et al.,AHG9: On deblocking control parameters,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0121-v1,17th Meeting: Brussels, BE,2020年01月,pp.1-7
【文献】Martin Pettersson, Rickard Sjoberg, and Mitra Damghanian,AHG9: On Picture Header Modifications,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-Q0270,17th Meeting: Brussels, BE,2019年12月,pp.1-8
【文献】Zhipin Deng, et al.,AHG9: On signalling of deblocking control,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-R0072-v2,18th Meeting: by teleconference,2020年04月,pp.1-7
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
フォーマット規則に従って、映像の映像領域と前記映像のビットストリームとの間で変換を行うことを含み、
前記フォーマット規則が
、i)ピクチャパラメータセット内の第1の無効化制御構文要素と、ii)ピクチャヘッダ内の第2の無効化制御構文要素、またはスライスヘッダ内の第3の無効化制御構文要素に基づいて前記映像領域に対するデブロッキングフィルタの適用性を決定することを規定し、
前記第1の無効化制御構文要素の値が0に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照するピクチ
ャに対して有効化されることを規定し、
前記第1の無効化制御構文要素の値が1に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照する前記ピクチ
ャに対して無効化されることを規定
し、
前記フォーマット規則は、前記スライスヘッダに第3の無効化制御構文要素を含めるかどうかが、(1)前記第1の無効化制御構文要素の値、および(2)前記スライスヘッダにおけるデブロッキングパラメータの存在の許容性を示す第5の構文要素の値に依存することを規定する、映像処理方法。
【請求項2】
前記映像領域は、スライスである、請求項1に記載の方法。
【請求項3】
前記フォーマット規則は、前記ピクチャヘッダ内の前記第2の無効化制御構文要素を含むかどうかが、(1)前記第1の無効化制御構文要素の値、および(2)前記ピクチャヘッダにおけるデブロッキングパラメータの存在の許容性を示す第4の構文要素の値に依存することを規定する、請求項1または請求項2に記載の方法。
【請求項4】
前記フォーマット規則が、i)前記第1の無効化制御構文要素の値が1に等しく、ii)前記第4の構文要素の値が、前記ピクチャヘッダに前記デブロッキングパラメータが存在することを許容することを示す1に等しい場合、前記第2の無効化制御構文要素を前記ピクチャヘッダから省略することを規定し、iii)前記第1の無効化制御構文要素の値が0に等しく、かつiv)前記第4の構文要素の値が1に等しい場合、前記第2の無効化制御構文要素が前記ピクチャヘッダに含まれる、請求項3に記載の方法。
【請求項5】
前記フォーマット規則が、前記第2の無効化制御構文要素が存在しない場合、前記第2の無効化制御構文要素の値は、i)前記第1の無効化制御構文要素の値が1に等しく、ii)前記第4の構文要素の値が1に等しい場合、前記ピクチャにおいて前記デブロッキングフィルタが有効化されることを示す一定の値に等しいと推論することを規定し、
そうでない場合、前記第2の無効化制御構文要素の値は、前記第1の無効化制御構文要素の値と等しいと推論される、請求項3または請求項4に記載の方法。
【請求項6】
前記フォーマット規則が、i)前記第1の無効化制御構文要素の値が1に等しく、ii)前記第5の構文要素の値が、前記デブロッキングパラメータが前記スライスヘッダに存在することを許可することを示す1に等しい場合、前記第3の無効化制御構文要素は前記スライスヘッダから省略され、
iii)前記第1の無効化制御構文要素の値が0に等しく、iv)前記第5の構文要素の値が1に等しい場合、前記第3の無効化制御構文要素が前記スライスヘッダに含まれることを規定する、請求項
1に記載の方法。
【請求項7】
前記フォーマット規則が、前記第3の無効化制御構文要素が存在しない場合、i)前記第1の無効化制御構文要素の値が1に等しく、ii)前記第5の構文要素の値が1に等しい場合、前記第3の無効化制御構文要素の値は前記スライスにおいて前記デブロッキングフィルタが有効であることを示す一定の値に等しいと推論される、請求項
1または請求項
6に記載の方法。
【請求項8】
前記フォーマット規則は、前記第5の構文要素が存在しない場合、前記第5の構文要素の値は0に等しいと推論され、このことは、前記デブロッキングパラメータが前記スライスヘッダに存在しないことを示すことを規定する、
請求項1、請求項6
または請求項
7に記載の方法。
【請求項9】
前記フォーマット規則が、適応パラメータセット(APS)内の第6の構文要素の値に対する制約が、前記APSを参照する前記ピクチャまたは前記スライスに応答して前記ピクチャヘッダ(PH)または前記スライスヘッダ(SH)内に含まれる彩度フォーマットインデックスおよびAPS識別子情報に基づき、前記第6の構文要素は、彩度関連のAPS構文要素が前記APSに存在することを許容するかどうかを規定し、前記APSと前記PHまたはSHを構文解析した後に前記制約をチェックする、請求項1から請求項
8のいずれか1項に記載の方法。
【請求項10】
前記彩度フォーマットインデックスが0に等しい場合、ALF_APSに等しいAPSパラメータタイプと、前記PHまたはSHに含まれるAPS識別子情報に等しいAPS識別子とを有するAPSネットワーク抽象化レイヤ(NAL)ユニットの前記第6の構文要素の値は、0に等しく、
前記彩度フォーマットインデックスが0に等しい場合、LMCS_APSに等しいAPSパラメータタイプと、前記PHに含まれる前記APS識別子情報に等しいAPS識別子とを有するAPS NALユニットの前記第6の構文要素の値は、0に等しく、
前記彩度フォーマットインデックスが0に等しい場合、SCALING_APSに等しAPSパラメータタイプと、前記PHに含まれるAPS識別子情報に等しいAPS識別子とを有するAPS NALユニットの前記第6の構文要素の値は、0に等しく、
前記第6の構文要素の値が0に等しいことは、前記彩度関連のAPS構文要素が前記APSに存在することが許容されないことを示す、請求項
9に記載の方法。
【請求項11】
前記変換は、前記映像を前記ビットストリームにエンコーディングすることを含む、請求項1から請求項
10のいずれか1項に記載の方法。
【請求項12】
前記変換は、前記映像を前記ビットストリームからデコーディングすることを含む、請求項1から請求項
10のいずれか1項に記載の方法。
【請求項13】
プロセッサと、前記プロセッサに命令が記憶された非一時的メモリとを備える映像データを処理する装置であって、前記命令が前記プロセッサによって実行されると、前記プロセッサに、
フォーマット規則に従って、映像の映像領域と前記映像のビットストリームとの間で変換を行わせ、
前記フォーマット規則が、i)ピクチャパラメータセット内の第1の無効化制御構文要素と、ii)ピクチャヘッダ内の第2の無効化制御構文要素、またはスライスヘッダ内の第3の無効化制御構文要素とに基づいて前記映像領域に対するデブロッキングフィルタの適用性を決定することを規定し、
前記第1の無効化制御構文要素の値が0に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照するピクチ
ャに対して有効化されることを規定し、
前記第1の無効化制御構文要素の値が1に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照する前記ピクチ
ャに対して無効化されることを規定
し、
前記フォーマット規則は、前記スライスヘッダに第3の無効化制御構文要素を含めるかどうかが、(1)前記第1の無効化制御構文要素の値、および(2)前記スライスヘッダにおけるデブロッキングパラメータの存在の許容性を示す第5の構文要素の値に依存することを規定する、装置。
【請求項14】
プロセッサに、フォーマット規則に従って、映像の映像領域と前記映像のビットストリームとの間で変換を行わせる命令を記憶する非一時的なコンピュータ可読媒体であって、
前記フォーマット規則が、i)ピクチャパラメータセット内の第1の無効化制御構文要素と、ii)ピクチャヘッダ内の第2の無効化制御構文要素、またはスライスヘッダ内の第3の無効化制御構文要素とに基づいて前記映像領域に対するデブロッキングフィルタの適用性を決定することを規定し、
前記第1の無効化制御構文要素の値が0に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照するピクチ
ャに対して有効化されることを規定し、
前記第1の無効化制御構文要素の値が1に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照する前記ピクチ
ャに対して無効化されることを規定
し、
前記フォーマット規則は、前記スライスヘッダに第3の無効化制御構文要素を含めるかどうかが、(1)前記第1の無効化制御構文要素の値、および(2)前記スライスヘッダにおけるデブロッキングパラメータの存在の許容性を示す第5の構文要素の値に依存することを規定する、非一時的なコンピュータ可読記憶媒体。
【請求項15】
映像のビットストリームを記憶する
方法であって
、
フォーマット規則に従って、前記映像の映像領域に対して前記ビットストリームを生成すること
と、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することと、を含み、
前記フォーマット規則が、i)ピクチャパラメータセット内の第1の無効化制御構文要素と、ii)ピクチャヘッダ内の第2の無効化制御構文要素、またはスライスヘッダ内の第3の無効化制御構文要素とに基づいて前記映像領域に対するデブロッキングフィルタの適用性を決定することを規定し、
前記第1の無効化制御構文要素の値が0に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照するピクチ
ャに対して有効化されることを規定し、
前記第1の無効化制御構文要素の値が1に等しいことは、前記デブロッキングフィルタが、前記ピクチャヘッダまたは前記スライスヘッダに存在する情報によってピクチャまたはスライスに対してオーバーライドされない限り、前記ピクチャパラメータセットを参照する前記ピクチ
ャに対して無効化されることを規定
し、
前記フォーマット規則は、前記スライスヘッダに第3の無効化制御構文要素を含めるかどうかが、(1)前記第1の無効化制御構文要素の値、および(2)前記スライスヘッダにおけるデブロッキングパラメータの存在の許容性を示す第5の構文要素の値に依存することを規定する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2021年4月9日出願の国際出願番号第PCT/CN2021/086111号に基づくものであり、2020年4月9日出願の国際出願番号第PCT/CN2020/083967号の優先権および利益を主張するものである。前述のすべての特許出願は、その全体が参照により本明細書に組み込まれる。
【0002】
この特許明細書は、画像および映像コーディングおよびデコーディングに関する。
【背景技術】
【0003】
デジタル映像は、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像を受信および表示することが可能である接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが予測される。
【発明の概要】
【0004】
本願は、コーディングされた表現のデコーディングに有用な制御情報を使用して、映像のコーディングされた表現を処理するために、映像エンコーダおよびデコーダにより使用され得る技術を開示する。
【0005】
1つの例示的な態様において、映像処理方法が開示される。この方法は、1つ以上の彩度成分を有する映像であって、1つ以上のスライスを含む1つ以上の映像ピクチャと、映像のコーディングされた表現との間で変換を行うことを含み、コーディングされた表現は、フォーマット規則に適合し、フォーマット規則は、彩度配列タイプフィールドが変換中に用いられる彩度の変換特性に対する制約を制御することを規定する。
【0006】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、1つ以上の映像領域を含む1つ以上の映像ピクチャからなる映像と、映像のコーディングされた表現との間で変換を行うことを含み、コーディングされた表現は、変換中に映像領域に対するデブロッキングフィルタの適用性を示すデブロッキングモードインジケータを含むことを規定するフォーマット規則に適合している。
【0007】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、1つ以上の映像スライスおよび/または1つ以上の映像サブピクチャからなる1つ以上の映像ピクチャと映像のコーディングされた表現との間で変換を行うことを含み、コーディングされた表現は、映像ピクチャに対してピクチャ分割が無効である場合に、サブピクチャごとの単一スライスモードを有効とみなすか否かを示すフラグを規定するフォーマット規則に適合している。
【0008】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、1つ以上の映像スライスを構成する1つ以上の映像ピクチャからなる映像と、映像のコーディングされた表現との間で変換を行うことを含み、コーディングされた表現は、ピクチャヘッダまたはスライスヘッダにおいてピクチャまたはスライスレベルの彩度量子化パラメータオフセットを信号通知することを規定するフォーマット規則に適合している。
【0009】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、以下を含む。1つ以上の映像スライスを含む1つ以上の映像ピクチャからなる映像と、前記映像のコーディングされた表現との間の変換を実行するステップであって、前記コーディングされた表現は、前記映像の映像ブロックの変換に適用される彩度量子化パラメータ(QP)テーブルが(delta_qp_inval_minus1[i][j]+1)およびdelta_qp_diff_val[i][j]とのXOR動作として導出されると定めるフォーマット規則に従って行われ、delta_qp_in_val_minus1[i][j]はi番目の彩度マッピングテーブルのj番目のピボットポイントの入力座標の導出に用いるデルタ値を指定し、delta_qp_diff_val[i][j]はi番目の彩度QPマッピングテーブルのj番目のピボットポイントの出力座標の導出に用いるデルタ値を指定し、iおよびjは整数である。
【0010】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、フォーマット規則に従って映像と映像のビットストリームとの間で変換を行うことを含み、このフォーマット規則は、ピクチャまたはスライスが適応パラメータセットを参照する場合、ピクチャヘッダまたはスライスヘッダに含まれる情報を使用して、第2のフィールドに基づく適応パラメータセットにおける第1のフィールドの値の制約を導出することを規定する。
【0011】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、フォーマット規則に従って、映像の映像領域とこの映像のビットストリームとの間で変換を行うことを含み、このフォーマット規則は、i)ピクチャパラメータセットレベルおよびii)ピクチャレベルまたはスライスレベルの構文要素に基づいて、この映像領域に対するデブロッキングフィルタの適用可能性を決定することを規定する。
【0012】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、フォーマット規則に従って、映像の現在の映像ブロックとこの映像のビットストリームとの間で変換を行うことを含み、このフォーマット規則は、第1の予測モードの適用可能性を示す第2の構文要素または現在の映像ブロックのブロックサイズのうちの少なくとも1つに基づいて、現在の映像ブロックがスキップモードでコーディングされているかどうかを示す第1の構文要素を省略することを規定し、第1の予測は、ブロックベクトルによって決定されるような、現在の映像ブロックの同じスライスのサンプル値のブロックから導出される。
【0013】
別の例示的な態様において、別の映像処理方法が開示される。この方法は、1以上のピクチャを含む映像とこの映像のビットストリームとをフォーマット規則に従って変換を行うことを含み、このフォーマット規則は、ピクチャにおけるコーディングツリーブロックの数に基づいて、1つのピクチャを映像領域に分割するかどうかを示す指標の存在および/または値を規定する。
【0014】
さらに別の例示的な態様において、映像エンコーダ装置が開示される。この映像エンコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0015】
さらに別の例示的な態様において、映像デコーダ装置が開示される。この映像デコーダは、上述した方法を実装するように構成されたプロセッサを備える。
【0016】
さらに別の例示的な態様では、コードが記憶されたコンピュータ可読媒体が開示される。このコードは、本明細書に記載の方法の1つをプロセッサが実行可能なコードの形式で実施する。
【0017】
これらのおよび他の特徴は、本明細書全体にわたって説明される。
【図面の簡単な説明】
【0018】
【
図1】映像処理システム例を示すブロック図である。
【
図3】映像処理方法の一例を示すフローチャートである。
【
図4】本発明のいくつかの実施形態による映像コーディングシステムを示すブロック図である。
【
図5】本発明のいくつかの実施形態によるエンコーダを示すブロック図である。
【
図6】本発明のいくつかの実施形態によるデコーダを示すブロック図である。
【
図7】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
【
図8A】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
【
図8B】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
【
図8C】開示される技術のいくつかの実装形態に基づく、映像処理の例示的な方法のフローチャートを示す。
【発明を実施するための形態】
【0019】
本明細書では、理解を容易にするために章の見出しを使用しており、その技術および各章に記載された実施形態の適用可能性をその章のみに限定するものではない。さらに、H.266という用語は、ある説明において、理解を容易にするためだけに用いられ、開示される技術の範囲を限定するために用いられたものではない。このように、本明細書で説明される技術は、他の映像コーデックプロトコルおよび設計にも適用可能である。
【0020】
1. 導入
本明細書は、映像コーディング技術に関する。具体的には、映像コーディングにおけるAPS、デブロッキング、サブピクチャ、QPデルタの構文設計に関する。この考えは、個々にまたは様々な組み合わせで、マルチレイヤ映像コーディング、例えば、現在開発されているVVC(Versatile Video Coding)をサポートする任意の映像コーディング規約または非標準映像コーデックに適用されてもよい。
【0021】
2. 略語
APS Adaptation Parameter Set(適応パラメータセット)
AU Access Unit(アクセスユニット)
AUD Access Unit Delimiter(アクセスユニット区切り文字)
AVC Advanced Video Coding(高度映像コーディング)
CLVS Coded Layer Video Sequence(コーディングされたレイヤ映像シーケンス)
CPB Coded Picture Buffer(コーディングされたピクチャバッファ)
CRA Clean Random Access(クリーンランダムアクセス)
CTU Coding Tree Unit(コーディングツリーユニット)
CVS Coded Video Sequence(コーディングされた映像シーケンス)
DPB Decoded Picture Buffer(デコードされたピクチャバッファ)
DPS Decoding Parameter Set(デコーディングパラメータセット)
EOB End Of Bitstream(ビットストリーム終端)
EOS End Of Sequence(シーケンス終端)
GDR Gradual Decoding Refresh(漸次的デコーディングリフレッシュ)
HEVC High Efficiency Video Coding(高効率映像コーディング)
HRD Hypothetical Reference Decoder(仮想参照デコーダ)
IDR Instantaneous Decoding Refresh(瞬時デコーディングリフレッシュ)
JEM Joint Exploration Model(共同探索モデル)
MCTS Motion-Constrained Tile Sets(動き制約タイルセット)
NAL Network Abstraction Layer(ネットワーク抽象化レイヤ)
OLS Output Layer Set(出力レイヤセット)
PH Picture Header(ピクチャヘッダ)
PPS Picture Parameter Set(ピクチャパラメータセット)
PROF Prediction Refinement with Optical Flow(オプティカルフローによる予測微調整)
PTL Profile,Tier and Level(プロファイル、ティアおよびレベル)
PU Picture Unit(ピクチャユニット)
RBSP Raw Byte Sequence Payload(生バイトシーケンスペイロード)
SEI Supplemental Enhancement Information(補足強化情報)
SH Slice Header(スライスヘッダ)
SPS Sequence Parameter Set(シーケンスパラメータセット)
SVC Scalable Video Coding(スケーラブル映像コーディング)
VCL Video Coding Layer(映像コーディングレイヤ)
VPS Video Parameter Set(映像パラメータセット)
VTM VVC Test Model(VVC試験モデル)
VUI Video Usability Information(映像ユーザビリティ情報)
VVC Versatile Video Coding(汎用映像コーディング)
【0022】
3. 初期の協議
映像コーディングする規格は、主に周知のITU-TおよびISO/IEC規格の開発によって発展してきた。ITU-TはH.261とH.263を作り、ISO/IECはMPEG-1とMPEG-4Visualを作り、両団体はH.262/MPEG-2VideoとH.264/MPEG-4AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像コーディング規格は、時間的予測と変換コーディングが利用されるハイブリッド映像コーディング構造に基づく。HEVCを超えた将来の映像コーディング技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と呼ばれる参照ソフトウェアに組み込まれてきた。JVETは四半期に1回開催され、新しいコーディング規格はHEVCに比べて50%のビットレート低減を目指している。2018年4月のJVET会議において、新しい映像コーディング規格を「VVC(Versatile Video Coding)」と正式に命名し、その時、第1版のVVCテストモデル(VTM)をリリースした。VVCの標準化に寄与する努力が続けられているので、すべてのJVET会議において、VVC標準に新しいコーディング技術が採用されている。毎回の会議の後、VVC作業草案およびテストモデルVTMを更新する。VVCプロジェクトは、現在、2020年7月の会合における技術完成(FDIS)を目指している。
【0023】
3.1 PPS構文および意味論
最近のVVC草案テキストにおいて、PPS構文および意味論は、以下の通りである。
【表1】
【表2】
【表3】
【表4】
PPS RBSPは、それが参照される前にデコーディング処理で利用できるか、それを参照するPPS NALユニットのTemporalId以下のTemporalIdを持つ少なくとも一つのAU内に含まれるか、外部手段を通じて提供されるものとする。
1つのPU内の特定の値がpps_pic_parameter_set_idであるすべてのPPS NALユニットは、同じコンテンツを有するものとする。
pps_pic_parameter_set_idは、他の構文要素が参照するPPSを示す。pps_pic_parameter_set_idの値は、0~63の範囲内である。
PPS NALユニットは、nuh_layer_id値に関わらず、pps_pic_parameter_set_idの同じ値空間を共有する。
ppsLayerIdを特定のPPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。特定のVCL NALユニットは、ppsLayerIdがvclLayerId以下であり、nuh_layer_idがppsLayerIdであるレイヤが、vclLayerIdであるnuh_layer_idを有するレイヤを含む少なくとも1つのOLSに含まれていない限り、特定のPPS NALユニットを参照しないものとする。
pps_seq_parameter_set_idはSPSのsps_seq_parameter_set_idの値を規定する。pps_seq_parameter_set_idの値は、0~15の範囲内である。pps_seq_parameter_set_idの値は、1つのCLVSにおけるコーディングされたピクチャが参照するすべてのPPSにおいて同じであるものとする。
1に等しいmixed_nalu_types_nalu_pic_flagは、PPSを参照する各ピクチャが2つ以上のVCL NALユニットを有し、VCL NALユニットがnal_unit_typeの同じ値を有さず、ピクチャがIRAPピクチャでないことを規定する。0に等しいmixed_nalu_types_in_pic_flagは、PPSを参照する各ピクチャが1つ以上のVCL NALユニットを有し、PPSを参照する各ピクチャのVCL NALがnal__unit_typeの同じ値を有することを規定する。
no_mixed_nalu_types_in_pic_constraint_flagが1に等しい場合は、mixed_nalu_types_in_pic_flagの値は0に等しいものとする。
nal_unit_type値nalUnitTypeAがIDR_W_RADL~CRA_NUTの範囲内にある各スライスで、nal_unit_typeの別の値を有する1つ以上のスライスをも含むpicA(すなわち、ピクチャpicAのmixed_nalu_types_in_pic_flagの値が1に等しい)において、下記が適用される。
- このスライスは、対応するsubpic_treated_as_pic_flag[i]の値が1に等しいサブピクチャsubpicAに属するものとする。
- このスライスは、nal_unit_typeがnalUnitTypeAに等しくないVCL NALユニットを含むpicAのサブピクチャに属さないものとする。
- nalUnitTypeAがCRAに等しい場合、デコーディング順および出力順でCLVSにおける現在のピクチャに後続するすべてのPUのために、それらのPUにおけるsubpicAにおけるスライスのRefPicList[0]およびRefPicList[1]は、アクティブエントリにおけるデコーディング順でpicAに先行するいずれのピクチャも含まないとする。
- そうでない場合(すなわち、nalUnitTypeAがIDR_W_RADLまたはIDR_N_LPである)、デコーディング順に現在のピクチャに続くCLVSにおけるすべてのPUについて、これらのPUにおけるsubpicAにおけるスライスのRefPicList[0]もRefPicList[1]のいずれも、アクティブエントリにおいて復号順でpicAに先行する任意のピクチャを含まないものとする。
注1- 1に等しいmixed_nalu_types_in_pic_flagは、PPSを参照するピクチャが、異なるNALユニットタイプを有するスライスを含み、例えば、サブピクチャビットストリームマージ演算に由来するコーディングされたピクチャについて、エンコーダは、ビットストリーム構造のマッチングと更に元のビットストリームのパラメータのアラインメントとを確実にしなければならないことを示す。このようなアラインメントの一例は、以下のようである。sps_idr_rpl_flagの値が0に等しく、mixed_nalu_types_in_pic_flagが1に等しい場合は、PPSを参照するピクチャは、nal_unit_typeがIDR_W_RADLまたはIDR_N_LPと等しいスライスを有することはできない。
pic_width_in_luma_samplesは、PPSを参照してデコードされた各ピクチャの幅を輝度サンプルの単位で規定する。pic_width_in_luma_samplesは、0に等しくないものとし、Max(8,MinCbSizeY)の整数倍であるものとし、pic_width_max_in_luma_samples以下であるものとする。
res_change_in_clvs_allowed_flagが0に等しい場合,pic_width_in_luma_samplesの値はpic_width_max_in_luma_samplesと等しいものとする。
pic_height_in_luma_samplesは、PPSを参照してデコードされた各ピクチャの高さを輝度サンプルの単位で規定する。pic_height_in_luma_samplesは、0に等しくないものとし、Max(8,MinCbSizeY)の整数倍であるものとし、pic_height_max_in_luma_samples以下であるものとする。
res_change_in_clvs_allowed_flagが0に等しい場合、pic_height_in_luma_samplesの値は、pic_height_max_in_luma_samplesに等しいものとする。
変数PicWidthInCtbsY,PicHeightInCtbsY,PicSizeInCtbsY,PicWidthInMinCbsY,PicHeightInMinCbsY,PicSizeInMinCbsY,PicSizeInSamplesY,PicWidthInSamplesCおよびPicHeightInSamplesCは、以下のように導出される。
PicWidthInCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY) (69)
PicHeightInCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY) (70)
PicSizeInCtbsY=PicWidthInCtbsY*PicHeightInCtbsY (71)
PicWidthInMinCbsY=pic_width_in_luma_samples/MinCbSizeY (72)
PicHeightInMinCbsY=pic_height_in_luma_samples/MinCbSizeY (73)
PicSizeInMinCbsY=PicWidthInMinCbsY*PicHeightInMinCbsY (74)
PicSizeInSamplesY=pic_width_in_luma_samples*pic_height_in_luma_samples (75)
PicWidthInSamplesC=pic_width_in_luma_samples/SubWidthC (76)
PicHeightInSamplesC=pic_height_in_luma_samples/SubHeightC (77)
1に等しいpps_conformance_window_flagは、SPSにおける次の適合性クロッピングウィンドウのオフセットパラメータがPPSで次に続くことを示す。0に等しいpps_conformance_window_flagは、適合性クロッピングウィンドウのオフセットパラメータがPPSに存在しないことを示す。
pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetは、出力用のピクチャ座標で設定された矩形領域に関し、デコーディング処理から出力されるCLVSのピクチャのサンプルを規定する。pps_conformance_window_flagが0に等しい場合、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、pps_conf_win_bottom_offsetの値は、0に等しいと推論される。
適合性クロッピングウィンドウは、SubWidthC*pps_conf_win_left_offsetからpic_width_in_luma_samples-(SubWidthC*pps_conf_win_right_offset+1)への水平ピクチャ座標、およびSubHeightC*pps_conf_win_top_offsetからpic_height_in_luma_samples-(SubHeightC*pps_conf_win_bottom_offset+1)への垂直ピクチャ座標を有する輝度サンプルを含む。
SubWidthC*(pps_conf_win_left_offset+pps_conf_win_right_offset)の値は、pic_width_in_luma_samplesよりも小さいものとし、SubHeightC*(pps_conf_win_top_offset+pps_conf_win_bottom_offset)の値は、pic_height_in_luma_samplesより小さいものとする。
ChromaArrayTypeが0に等しくない場合、2つの彩度配列の対応する規定されたサンプルは、ピクチャ座標(x/SubWidthC,y/SubHeightC)を有するサンプルであり、(x,y)は、規定された輝度サンプルのピクチャ座標である。
注2- 適合性クロッピングウィンドウのオフセットパラメータは、出力側でのみ適用される。アンクロップされたピクチャサイズに対しては、すべての内部デコーディング処理が適用される。
ppsAおよびppsBを、同じSPSを参照する任意の2つのPPSとする。ppsAおよびppsBがそれぞれpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの同じ値を有する場合、ppsAおよびppsBは、それぞれpps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetと同じ値を有するものとすることが、ビットストリーム適合性の要件である。
pic_width_in_luma_samplesがpic_width_max_in_luma_samples、およびpic_height_in_luma_samplesがpic_height_max_in_luma_samplesに等しい場合、pps_conf_win_left_offset、pps_conf_win_right_offset、pps_conf_win_top_offset、およびpps_conf_win_bottom_offsetは、それぞれ、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset、およびsps_conf_win_bottom_offsetと等しいことがビットストリーム適合性の要件である。
1に等しいscaling_window_explicit_signalling_flagは、スケーリングウィンドウオフセットパラメータがPPSに存在することを規定する。0に等しいscaling_window_explicit_signalling_flagは、スケーリングウィンドウオフセットパラメータがPPSに存在しないことを規定する。res_change_in_clvs_allowed_flagが0に等しい場合、scaling_window_explicit_signalling_flagの値は0に等しいものとする。
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、およびscaling_win_bottom_offsetは、スケーリング比の計算のためのピクチャサイズに適用されるオフセットを規定する。存在しない場合、scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、scaling_win_bottom_offsetの値は、それぞれpps_conf_win_left_offset、pps_conf_win_right_offset,、pps_conf_win_top_offsetおよびpps_conf_win_bottom_offsetと等しいと推論される。
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)の値は、pic_width_in_luma_samplesより小さいものとし、SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)の値は、pic_height_in_luma_samplesより小さいものとする。
PicOutputWidthLおよびPicOutputHeightLの変数は以下のように導出される。
PicOutputWidthL=pic_width_in_luma_samples-SubWidthC*(scaling_win_right_offset+scaling_win_left_offset) (78)
PicOutputHeightL=pic_height_in_luma_samples-SubWidthC*(scaling_win_bottom_offset+scaling_win_top_offset) (79)
このPPSを参照する現在のピクチャの参照ピクチャのPicOutputWidthL、refPicOutputHeightLを、それぞれ、PicOutputWidthL、PicOutputHeightLとする。ビットストリーム適合性の要件は、以下のすべての条件を満たすことである。
- PicOutputWidthL*2はrefPicWidthInLumaSamples以上であるものとする。
- PicOutputHeightL*2はrefPicHeightInLumaSamples以上であるものとする。
- PicOutputWidthLがrefPicWidthInLumaSamples*8以下であるものとする。
- PicOutputHeightLがrefPicHeightInLumaSamples*8以下であるものとする。
- PicOutputWidthL*pic_width_max_in_luma_samplesはrefPicOutputWidthL*(pic_width_in_luma_samples-Max(8,MinCbSizeY)以上であるものとする。
- PicOutputHeightL*pic_height_max_in_luma_samplesはrefPicOutputHeightL*(pic_height_in_luma_samples-Max(8,MinCbSizeY))以上であるものとする。
1に等しいoutput_flag_present_flagは、PPSを参照するスライスヘッダにpic_output_flag構文要素が存在することを示す。0に等しいoutput_flag_present_flagは、PPSを参照するスライスヘッダにpic_output_flag構文要素が存在しないことを示す。
1に等しいsubpic_id_mapping_in_pps_flagは、PPSにおいてサブピクチャのIDマッピングが信号通知されることを規定する。0に等しいsubpic_id_mapping_in_pps_flagは、PPSにおいてサブピクチャのIDマッピングが信号通知されないことを規定する。subpic_id_mapping_explicitly_signalled_flagが0、またはsubpic_id_mapping_in_sps_flagが1の場合、subpic_id_mapping_in_pps_flagの値は0とする。それ以外の場合(subpic_id_mapping_explicitly_signalled_flagが1に等しく、subpic_id_mapping_in_sps_flagが0に等しい)、subpic_id_mapping_in_pps_flagの値は1に等しいものとする。
pps_num_subpics_minus1はsps_num_subpics_minus1と等しいものとする。
pps_subpic_id_len_minus1はsps_subpic_id_len_minus1に等しいものとする。
pps_subpic_id[i]は、i番目のサブピクチャのサブピクチャIDを規定する。pps_subpic_id[i]の構文要素の長さは、pps_subpic_id_len_minus1+1ビットである。
変数SubpicIdVal[i]は、0~sps_num_subpics_minus1の範囲内にあるiの各値について、以下のように導出される。
for(i=0;i<=sps_num_subpics_minus1;i++)
if(subpic_id_mapping_explicitly_signalled_flag)
SubpicIdVal[i]=subpic_id_mapping_in_pps_flag?pps_subpic_id[i]:sps_subpic_id[i] (80)
else
SubpicIdVal[i]=i
ビットストリーム適合性の要件は、以下の制約の双方が適用されることである。
- 0からsps_num_subpics_minus1の範囲内のiおよびjの任意の2つの異なる値について、SubpicIdVal[i]はSubpicIdVal[j]に等しくならないものとする。
- 現在のピクチャがCLVSの第1のピクチャでない場合、0~sps_num_subpics_minus1の範囲内にあるiの各値について、SubpicIdVal[i]の値が、同じレイヤにおいてデコーディング順に前のピクチャのSubpicIdVal[i]の値に等しくない場合、サブピクチャインデックスiを有する現在のピクチャにおけるサブピクチャのすべてのコーディングされたスライスNALユニットのnal_unit_typeは、IDR_W_RADLからCRA_NUTの範囲内にある特定の値と等しいものとする。
1に等しいno_pic_partition_flagは、PPSを参照する各ピクチャに対してピクチャ分割が適用されないことを規定する。0に等しいno_pic_partition_flagは、PPSを参照する各ピクチャを2つ以上のタイルまたはスライスに分割することができることを規定する。
1つのCLVS内のコーディングされたピクチャによって参照されるすべてのPPSについて、no_pic_partition_flagの値が同じであるものとすることが、ビットストリーム適合性の要件である。
sps_num_subpics_minus1+1の値が1よりも大きい場合、no_pic_partition_flagの値が1でないものとすることが、ビットストリーム適合性の要件である。
pps_log2_ctu_size_minus5+5は、各CTUの輝度コーディングツリーブロックのブロックサイズを規定する。pps_log2_ctu_size_minus5はsps_log2_ctu_size_minus5に等しいものとする。
num_exp_tile_columns_minus1+1は明示的に提供されるタイルの列の幅の数を規定する。num_exp_tile_columns_minus1の値は、0からPicWidthInCtbsY-1までの範囲内にあるものとするno_pic_partition_flagが1に等しい場合は、num_exp_tile_columns_minus1の値は0に等しいと推論される。
num_exp_tile_rows_minus1+1は明示的に提供されるタイルの行の高さの数を規定する。num_exp_tile_rows_minus1の値は、0からPicHeightInCtbsY-1までの範囲内にあるものとする。no_pic_partition_flagが1に等しい場合は、num_tile_rows_minus1の値は0に等しいと推論される。
tile_column_width_minus1[i]+1は、i番目のタイル列の幅を、0~num_exp_tile_columns_minus1-1の範囲内にあるi番目のタイル列のCTB単位で規定する。tile_column_width_minus1[num_exp_tile_columns_minus1]は、6.5.1項で規定されたようにnum_exp_tile_columns_minus1以上であるインデックスでタイル列の幅を導出するのに使用される。tile_column_width_minus1[i]の値は、0~PicWidthInCtbsY-1の範囲内にあるものとする。存在しない場合、tile_column_width_minus1[0]の値は、PicWidthInCtbsY-1に等しいと推論される。
tile_row_height_minus1[i]+1は、i番目のタイル列の高さを、0~num_exp_tile_rows_minus1-1の範囲内にあるi番目のタイル行のCTB単位で規定する。tile_row_height_minus1[num_exp_tile_rows_minus1]は、6.5.1項で規定されたようにnum_exp_tile_rows_minus1以上であるインデックスでタイル行の高さを導出するのに使用される。tile_row_height_minus1[i]の値は、0~PicHeightInCtbsY-1の範囲内にあるものとする存在しない場合、tile_row_height_minus1[0]の値はPicHeightInCtbsY-1に等しいと推論される。
0に等しいrect_slice_flagは、各スライス内のタイルがラスタスキャン順に配列されており、かつスライス情報がPPSで信号通知されないことを規定する。1に等しいrect_slice_flagは、各スライス内のタイルがピクチャの矩形領域を覆い、かつスライス情報がPPSで信号通知されることを規定する。存在しない場合、rect_slice_flagは1に等しいと推論される。subpic_info_present_flagが1に等しいとき、rect_slice_flagの値は1に等しいものとする。
1に等しいsingle_slice_per_subpic_flagは、各サブピクチャがただ1つの矩形スライスで構成されることを規定する。0に等しいsingle_slice_per_subpic_flagは、各サブピクチャが1つ以上の矩形スライスで構成され得ることを規定する。single_slice_per_subpic_flagが1に等しい場合は、num_slices_in_pic_minus1はsps_num_subpics_minus1に等しいと推論される。存在しない場合、single_slice_per_subpic_flagの値は0に等しいと推論される。
num_slices_in_pic_minus1+1は、PPSを参照する各ピクチャの矩形スライスの数を規定する。num_slices_in_pic_minus1の値は、0からMaxSlicesPerPicture-1の範囲内であるとし、MaxSlicesPerPictureは附属書Aで規定されるものとする。no_pic_partition_flagが1の場合、num_slices_in_pic_minus1の値は0に等しいと推定される。
tile_idx_delta_present_flagが0の場合は、PPSにtile_idx_delta値が存在せず、PPSを参照するピクチャの全ての矩形スライスを6.5.1項の処理に従ってラスタオーダで規定することを規定する。1に等しいtile_idx_delta_present_flagは、PPSにtile_idx_delta値が存在し、PPSを参照するピクチャのすべての矩形スライスがtile_idx_delta値で示される順序で規定されることが規定される。存在しない場合、tile_idx_delta_present_flagの値は0と推論される。
slice_width_in_tiles_minus1[i]+1は、i番目の矩形スライスの幅をタイルの列単位で規定する。slice_width_in_tiles_minus1[i]の値は、0からNumTileColumns-1までの範囲内にあるものとする。
slice_width_in_tiles_minus1[i]が存在しない場合、以下が適用される。
- NumTileColumnsが1に等しい場合は、slice_width_in_tiles_minus1[i]の値は0に等しいと推論される。
- そうでない場合、6.5.1項で規定されるように、slice_width_in_tiles_minus1[i]の値を推論する。
slice_height_in_tiles_minus1[i]+1は、i番目の矩形スライスの高さをタイル行単位で規定する。slice_height_in_tiles_minus1[i]の値は、0からNumTileRows-1までの範囲内にあるものとする。
slice_height_in_tiles_minus1[i]が存在しない場合、以下が適用される。
- NumTileRowsが1に等しい、またはtile_idx_delta_present_flagが0に等しく、かつtileIdx%NumTileColumnsが0より大きい場合、slice_height_in_tiles_minus1[i]の値は0に等しい。
- そうでない場合(NumTileRowsが1に等しくなく、tile_idx_delta_present_flagが1に等しいか、またはtileIdx%NumTileColumnsが0に等しい)、tile_idx_delta_present_flagが1に等しいか、またはtileIdx%NumTileColumnsが0に等しい場合slice_height_in_tiles_minus1[i]iの値は、slice_height_in_tiles_minus1[i-1]と等しいと推論される。
num_exp_slices_in_tile[i]は、2つ以上の矩形スライスを含む、現在のタイルにおける明確に提供されるスライスの高さの数を規定する。num_exp_slices_in_tile[i]の値は、0~RowHeight[tileY]-1の範囲内にあるものとする。ここで、tileYは、i番目のスライスを含むタイル行インデックスである。存在しない場合、num_exp_slices_in_tile[i]の値は0に等しいと推論される。num_exp_slices_in_tile[i]が0に等しい場合、変数NumSlicesInTile[i]の値は1に等しいと導出される。
exp_slice_height_in_ctus_minus1[j]+1は、現在のタイルにおけるj番目の矩形スライスの高さをCTU行単位で規定する。exp_slice_height_in_CTUs_minus1[j]の値は、0~RowHeight[tileY]-1の範囲内にあるものとする。ここで、tileYは、現在のタイルのタイル行インデックスである。
num_exp_slices_in_tile[i]が0より大きいとき、変数NumSliceSInTile[i]および0からNumSliceSinTile[i]-1の範囲内にあるkに対するSliceHeightInCtusMinus1[i+k]は、以下のように導出される。
remainingHeightInCtbsY=RowHeight[SliceTopLeftTileIdx[i]/NumTileColumns]
numExpSliceInTile=num_exp_slices_in_tile[i]
for(j=0;j<numExpSliceInTile-1;j++){
SliceHeightInCtusMinus1[i++]=exp_slice_height_in_ctu_minus1[j]
remainingHeightInCtbsY-=SliceHeightInCtusMinus1[j]
}
uniformSliceHeightMinus1=SliceHeightInCtusMinus1[i-1](81)
while(remainingHeightInCtbsY>=(uniformSliceHeightMinus1+1)){
SliceHeightInCtusMinus1[i++]=uniformSliceHeightMinus1
remainingHeightInCtbsY-=(uniformSliceHeightMinus1+1)
j++
}
if(remainingHeightInCtbsY>0){
SliceHeightInCtusMinus1[i++]=remainingHeightInCtbsY
j++
}
NumSlicesInTile[i]=j
tile_idx_delta[i]i番目の矩形スライスにおける第1のタイルのタイルインデックスと、(i+1)番目の矩形スライスにおける第1のタイルのタイルインデックスと、の差を規定する。tile_idx_delta[i]の値は、-NumTilesInPic+1~NumTilesInPic-1の範囲内にあるものとする。存在しない場合、tile_idx_delta[i]の値は0に等しいと推論される。存在する場合、tile_idx_delta[i]の値は0に等しいと推論される。
1に等しいloop_filter_across_tiles_enabled_flagは、PPSを参照しているピクチャにおいて、タイルの境界をまたいでインループフィルタリング動作を行うことができることを規定する。0に等しいloop_filter_across_tiles_enabled_flagは、PPSを参照しているピクチャにおいて、タイルの境界をまたいでインループフィルタリング動作を行わないことを規定する。インループフィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しない場合、loop_filter_across_tiles_enabled_flagの値は1に等しいと推論される。
1に等しいloop_filter_across_slices_enabled_flagは、PPSを参照しているピクチャにおいて、スライスの境界をまたいでインループフィルタリング動作を行うことができることを規定する。0に等しいloop_filter_across_slice_enabled_flagは、PPSを参照しているピクチャにおいて、スライスの境界をまたいでインループフィルタリング動作を行わないことを規定する。インループフィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しない場合、loop_filter_across_slices_enabled_flagの値は0に等しいと推論される。
1に等しいcabac_init_present_flagは、PPSを参照するスライスヘッダにcabac_init_flagが存在することを規定する。0に等しいcabac_init_present_flagは、cabac_init_flagがPPSを参照するスライスヘッダにcabac_init_flagが存在しないことを規定する。
0に等しいnum_ref_idx_active_minus1[i]は、iが0に等しい場合、PまたはBスライスの変数NumRefIdxActive[0]の推論値をnum_ref_idx_active_override_flag=0で規定し、0に等しいnum_ref_idx_active_override_flagは、iが1に等しい場合、Bスライスの変数NumRefIdxActive[1]の推論値をnum_ref_idx_active_override_flag=0で規定する。num_ref_idx_default_active_minus1[i]の値は、0~14の範囲内にあるものとする。
0に等しいrpl1_idx_present_flagは、PPSを参照するピクチャのPH構文構造またはスライスヘッダにref_pic_list_sps_flag[1]およびref_pic_list_idx[1]が存在しないことを規定する。1に等しいrpl1_idx_present_flagは、PPSを参照するピクチャのPH構文構造またはスライスヘッダにref_pic_list_sps_flag[1]およびref_pic_list_idx[1]が存在する場合があることを規定する。
init_qp_minus26+26PPSを参照するスライスごとにSliceQp
Yの初期値を規定する。SliceQp
Yの最初の値は、ph_qp_deltaの非ゼロ値がデコードされるときにはピクチャレベルで、またはslice_qp_deltaの非ゼロ値がデコードされるときにはスライスレベルで、修正される。init_qp_minus26の値は、-(26+QpBdOffset)~+37の範囲内にあるものとする。
1に等しいcu_qp_delta_enabled_flagは、ph_cu_qp_delta_subdiv_intra_sliceおよびph_cu_qp_delta_subdiv_inter_slice構文要素がPPSを参照するPHに存在し、cu_qp_delta_absが変換ユニット構文に存在してもよいことを規定する。cu_qp_delta_flagが0に等しいことは、ph_cu_qp_subdiv_intra_sliceおよびph_cu_qp_subdiv_inter_slice構文要素がPPSを参照するPHに存在せず、cu_qp_delta_absが変換ユニット構文に存在しないことを規定する。
1に等しいpps_chroma_tool_offsets_present_flagは、彩度ツールオフセット関連の構文要素がPPS RBSP構文構造に存在することを規定する。0に等しいpps_chroma_tool_offsets_present_flagは、彩度ツールオフセット関連構文要素がPPS RBSP構文構造に存在することを規定する。ChromaArrayTypeが0に等しい場合、pps_chroma_tool_offsets_present_flagの値は0に等しくなる。
pps_cb_qp_offset、pps_cr_qp_offsetは、Qp’
Cb、Qp’
Crの導出に用いられる輝度量子化パラメータQp’
Yへのオフセットをそれぞれ規定する。pps_cb_qp_offsetおよびpps_cr_qp_offsetの値は、-12~+12の範囲内となる。ChromaArrayTypeが0に等しい場合、pps_cb_qp_offsetとpps_cr_qp_offsetはデコーディング処理には使用されず、デコーダはその数値を無視するものとする。存在しない場合、pps_cb_qp_offsetおよびpps_cr_qp_offsetの値は0に等しいと推論される。
1に等しいpps_joint_cbcr_qp_offset_present_flagは、pps_joint_cbcr_qp_offset_valueおよびjoint_cbcr_qp_offset_list[i]がPPS RBSP構文構造に含まれていることを規定する。0に等しいpps_joint_cbcr_qp_offset_present_flagは、pps_joint_cbcr_qp_offset_valueおよびjoint_cbcr_qp_offset_list[i]がPPS RBSP構文構造に含まれていないことを規定する。ChromaArrayTypeが0またはsps_joint_cbcr_enabled_flagが0に等しい場合、pps_joint_cbcr_qp_offset_present_flagの値は0に等しいものとする。存在しない場合、pps_joint_cbcr_qp_offset_present_flagの値は0に等しいと推論される。
pps_joint_cbcr_qp_offset_valueは、Qp’
CbCrを導出するために用いられる輝度量子化パラメータQp’
Yへのオフセットを示す。pps_joint_cbcr_qp_offset_valueの値は、-12~12の範囲内とする。ChromaArrayTypeが0に等しいか、またはsps_joint_cbcr_enabled_flagが0に等しい場合、pps_joint_cbcr_qp_offset_valueはデコーディング処理に使用されず、デコーダはその値を無視するものとする。pps_joint_cbcr_qp_offset_present_flagが0に等しい場合、pps_joint_cbcr_qp_offset_valueは存在せず、0に等しいと推論される。
1に等しいpps_slice_chroma_qp_offsets_present_flagは、slice_cb_qp_offsetおよびslice_cr_qp_offset構文要素が関連付けられたスライスヘッダに存在することを規定する。0に等しいpps_slice_slice_chroma_qp_offsets_present_flagは、slice_cb_qp_offsetおよびslice_cr_qp_offset構文要素が関連付けられたスライスヘッダに存在しないことを規定する。存在しない場合、pps_slice_chroma_qp_offsets_present_flagの値は0に等しいと推論される。
1に等しいpps_cu_chroma_qp_offset_list_enabled_flagは、PPSを参照するPHにph_cu_chroma_qp_offset_subdiv_intra_sliceおよびph_cu_chroma_qp_offset_subdiv_inter_slice構文要素が存在し、cu_chroma_qp_offset_flagが変換ユニット構文およびパレットコーディング構文に存在する場合もあることを規定する。0に等しいpps_cu_chroma_qp_list_enabled_flagは、ph_cu_chroma_qp_offset_subdiv_intra_sliceおよびph_cu_chroma_qp_offset_subdiv_inter_slice構文要素は、PPSを参照するPHに存在せず、cu_chroma_qp_offset_flagは、変換ユニット構文およびパレットコーディング構文に存在しないことを規定する。存在しない場合、pps_cu_chroma_qp_offset_list_enabled_flagの値は0に等しいと推論される。
chroma_qp_offset_list_len_minus1+1は、PPS RBSP構文構造に含まれるcb_qp_offset_list[i]、cr_qp_offset_list[i]およびjoint_cbcr_qp_offset_list[i]の構文要素の数を規定する。chroma_qp_offset_list_len_minus1の値は、0~5の範囲内とする。
cb_qp_offset_list[i]、cr_qp_offset_list[i]、およびjoint_cbcr_qp_offset_list[i]は、cb_qp_offset_list[i],cr_qp_offset_list[i],joint_cbcr_qp_offset_list[i]はそれぞれQp’
Cb、Qp’
Cr、Qp’
CbCrの導出で使用するオフセットを規定する。cb_qp_offset_list[i]、cr_qp_offset_list[i]、joint_cbcr_qp_offset_list[i]の値は、-12~+12の範囲内にあるものとする。pps_joint_cbcr_qp_offset_present_flagが0に等しい場合、joint_cbcr_qp_offset_list[i]は存在せず、0に等しいと推論される。
0に等しいpps_weighted_pred_flagは、PPSを参照しているP個のスライスに対して重み付け予測が適用されないことを規定する。1に等しいsps_weighted_pred_flagは、PPSを参照しているP個のスライスに対して重み付け予測が適用されることを規定する。sps_weighted_pred_flagが0に等しい場合、pps_weighted_pred_flagの値は0に等しいものとする。
0に等しいpps_weighted_bipred_flagは、PPSを参照しているB個のスライスに対して明示的な重み付け予測が適用されないことを規定する。1に等しいsps_weighted_bipred_flagは、PPSを参照しているB個のスライスに対して明示的な重み付け予測が適用されることを規定する。sps_weighted_bipred_flagが0に等しい場合、pps_weighted_bipred_flagの値は0に等しいものとする。
1に等しいdeblocking_filter_control_present_flagは、PPSにおけるデブロッキングフィルタ制御構文要素の存在を規定する。0に等しいdeblocking_filter_control_present_flagは、PPSにおけるデブロッキングフィルタ制御構文要素の不在を規定する。
1に等しいdeblocking_filter_override_enabled_flagは、PPSを参照するPHにおけるph_deblocking_filter_override_flagの存在を規定し、PPSを参照するスライスヘッダにおけるslice_deblocking_filter_override_flagの存在を規定する。0に等しいdeblocking_filter_override_enabled_flagは、PPSを参照するPHにおけるph_deblocking_filter_override_flagの不在を規定し、PPSを参照するスライスヘッダにおけるslice_deblocking_filter_override_flagの不在を規定する。存在しない場合、deblocking_filter_override_enabled_flagの値は0に等しいと推論される。
1に等しいpps_deblocking_filter_disabled_flagは、デブロッキングフィルタの演算は、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対して適用されないことを規定する。0に等しいpps_deblocking_filter_disabled_flagは、デブロッキングフィルタの演算は、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対して適用されることを規定する。存在しない場合、pps_deblocking_filter_disabled_flagの値は0に等しいと推論される。
pps_beta_offset_div2およびpps_tc_offset_div2は、デフォルトのデブロッキングパラメータオフセットが、PPSを参照するスライスのピクチャヘッダまたはスライスヘッダに存在するデブロッキングパラメータオフセットによって上書きされない限り、PPSを参照するスライスの輝度成分に適用されるβおよびtCのデフォルトのデブロッキングパラメータオフセット(2で割られた)を規定する。pps_beta_offset_div2およびpps_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、pps_beta_offset_div2およびpps_tc_offset_div2の値はいずれも0に等しいと推論される。
pps_cb_beta_offset_div2およびpps_cb_tc_offset_div2は、デフォルトのデブロッキングパラメータオフセットが、PPSを参照するスライスのピクチャヘッダまたはスライスヘッダに存在するデブロッキングパラメータオフセットによって上書きされない限り、PPSを参照するスライスのCb成分に適用されるβおよびtCのデフォルトのデブロッキングパラメータオフセット(2で割られた)を規定する。pps_cb_beta_offset_div2およびpps_cb_tc_offset_div2の値は、共に-12~+12の範囲内となる。存在しない場合、pps_cb_offset_div2およびpps_cb_offset_div2の値はいずれも0に等しいと推論される。
pps_cr_beta_offset_div2およびpps_cr_tc_offset_div2は、デフォルトのデブロッキングパラメータオフセットが、PPSを参照するスライスのピクチャヘッダまたはスライスヘッダに存在するデブロッキングパラメータオフセットによって上書きされない限り、PPSを参照するスライスのCr成分に適用されるβおよびtCのデフォルトのデブロッキングパラメータオフセット(2で割られた)を規定する。pps_cr_beta_offset_div2およびpps_cr_tc_offset_div2の値は、共に-12~+12の範囲内となる。存在しない場合、pps_cr_offset_div2およびpps_cr_offset_div2の値はいずれも0に等しいと推論される。
1に等しいrpl_info_in_ph_flagは、参照ピクチャリスト情報がPH構文構造に含まれており、PH構文構造を含まないPPSを参照するスライスヘッダに含まれていないことを規定する。0に等しいrpl_info_in_ph_flagは、参照ピクチャリスト情報がPH構文構造に含まれておらず、PH構文構造を包含しないPPSを参照するスライスヘッダに存在する場合があることを規定する。
1に等しいdbf_info_in_ph_flagは、PH構文構造にデブロッキングフィルタ情報が存在し、PH構文構造を含まないPPSを参照するスライスヘッダには存在しないことを規定する。0に等しいdbf_info_in_ph_flagは、PH構文構造にデブロッキングフィルタ情報が存在せず、PH構文構造を含まないPPSを参照するスライスヘッダに存在する場合があることを規定する。存在しない場合、dbf_info_in_ph_flagの値は0に等しいと推論される。
1に等しいsao_info_in_ph_flagは、PH構文構造にSAOフィルタ情報が存在し、PH構文構造を含まないPPSを参照するスライスヘッダには存在しないことを規定する。0に等しいsao_info_in_ph_flagは、PH構文構造にSAOフィルタ情報が存在せず、PH構文構造を含まないPPSを参照するスライスヘッダに存在する場合があることを規定する。
1に等しいalf_info_in_ph_flagは、PH構文構造にALF情報が存在し、PH構文構造を含まないPPSを参照するスライスヘッダには存在しないことを規定する。0に等しいalf_info_in_ph_flagは、PH構文構造にALF情報が存在せず、PH構文構造を含まないPPSを参照するスライスヘッダに存在する場合があることを規定する。
1に等しいwp_info_in_ph_flagは、PH構文構造に重み付け予測情報が存在している場合があり、PH構文構造を含まないPPSを参照するスライスヘッダには存在しないことを規定する。0に等しいwp_info_in_ph_flagは、PH構文構造に重み付け予測情報が存在せず、PH構文構造を含まないPPSを参照するスライスヘッダに存在する場合があることを規定する。存在しない場合、wp_info_in_ph_flagの値は0に等しいと推論される。
1に等しいqp_delta_info_in_ph_flagは、PH構文構造にQPデルタ情報が存在し、PH構文構造を含まないPPSを参照するスライスヘッダには存在しないことを規定する。0に等しいqp_delta_info_in_ph_flagは、PH構文構造にQPデルタ情報が存在せず、PH構文構造を含まないPPSを参照するスライスヘッダに存在する場合があることを規定する。
1に等しいpps_ref_wraparound_enabled_flagは、インター予測において水平ラップアラウンド動き補償を適用することを規定する。0に等しいpps_ref_wraparound_enabled_flagは、水平ラップアラウンド動き補償を適用することを規定する。CtbSizeY/MinCbSizeY+1の値がpic_width_in_luma_samples/MinCbSizeY-1より大きい場合pps_ref_wraparound_enabled_flagの値は0に等しいものとする。sps_ref_wraparound_enabled_flagが0に等しい場合、pps_ref_wraparound_enabled_flagの値は0に等しいものとする。
pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2は、水平ラップアラウンド位置を計算するために使用されるオフセットを、MinCbSizeY輝度サンプルの単位で規定する。pps_ref_wraparound_offsetの値は、0~(pic_width_in_luma_samples/MinCbSizeY)-(CtbSizeY/MinCbSizeY)-2の範囲内にあるものとする。
変数PpsRefWraparoundOffsetは、pps_ref_wraparound_offset+(CtbSizeY/MinCbSizeY)+2に等しく設定される。
0に等しいpicture_header_extension_present_flagは、PPSを参照するPHにおいてPH拡張構文要素が存在しないことを規定する。1に等しいpicture_header_extension_present_flagは、PPSを参照するPHにおいてPH拡張構文要素が存在することを規定する。picture_header_extension_present_flagは、本明細書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。
0に等しいslice_header_extension_present_flagは、PPSを参照するコーディングされたピクチャのスライスヘッダにスライスヘッダ拡張構文要素が存在しないことを規定する。1に等しいslice_header_extension_flagは、PPSを参照するコーディングされたピクチャのスライスヘッダにスライスヘッダ拡張構文要素が存在することを規定する。slice_header_extension_present_flagは、本明細書のこのバージョンに準拠するビットストリームにおいて0に等しいものとする。
0に等しいpps_extension_flagは、PPS RBSP構文構造にpps_extension_data_flag構文要素が含まれていないことを規定する。1に等しいpps_extension_flagは、PPS RBSP構文構造にpps_extension_data_flag構文要素が存在することを規定する。
pps_extension_data_flagは任意の値を有することができる。その存在および値は、本明細書バージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。本明細書バージョンに準拠するデコーダは、すべてのpps_extension_data_flag構文要素を無視しなければならない。
【0024】
3.2. APS構文および意味論
最近のVVC草案テキストにおいて、APS構文および意味論は、以下の通りである。
【表5】
【0025】
APS RBSPはALF構文構造、すなわちalf_data()を含む。
【表6】
【表7】
【0026】
APS RBSPはLMCS構文構造、すなわちlmcs_data()を含む。
【表8】
【0027】
APS RBSPは、スケーリングリストデータの構文構造、すなわちscaling_list_data()を含む。
【表9】
各APS RBSPは、それが参照される前にデコーディング処理で利用できるか、それを参照するコーディングされたスライスNALユニットのTemporalId以下のTemporalIdを持つ少なくとも一つのAU内に含まれるか、外部手段を通じて提供されるものとする。
adaptation_parameter_set_idの特定の値を有し、かつPU内のaps_params_typeの特定の値を有するすべてのAPS NALユニットは、それらがプレフィクスであるかサフィックスAPS NALユニットであるかどうかに関わらず、同じコンテンツを有するものとする。
adaptation_parameter_set_idは、他の構文要素が参照するAPSの識別子を提供する。
aps_params_typeがALF_APSまたはSCALING_APSに等しい場合、adaptation_parameter_set_idの値は0~7の範囲内にあるものとする。
aps_params_typeがLMCS_APSに等しい場合、adaptation_parameter_set_idの値は0~3の範囲内にあるものとする。
apsLayerIdを特定のAPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。特定のVCL NALユニットは、apsLayerIdがvclLayerId以下であり、nuh_layer_idがapsLayerIdであるレイヤが、vclLayerIdであるnuh_layer_idを有するレイヤを含む少なくとも1つのOLSに含まれていない限り、特定のAPS NALユニットを参照しないものとする。
aps_params_typeは、表6に示されるように、APSにおいて実行されるAPSパラメータのタイプを規定する。
表6-APSパラメータのタイプコードおよびAPSパラメータのタイプ
【表10】
aps_params_typeの特定の値を有するすべてのAPS NALユニットは、nuh_layer_idの値に関わらず、adaptation_parameter_set_idのために同じ値空間を共有する。aps_params_typeの値が異なるAPS NALユニットは、adaptation_parameter_set_idに別個の値空間を使用する。
注1-APS NALユニット(adaption_parameter_set_idの特定の値およびaps_params_typeの特定の値を有する)は、ピクチャ間で共有されてもよく、ピクチャ内の異なるスライスは、異なるALF APSを参照することができる。
注2-特定のVCL NALユニットに関連付けられたサフィックスAPS NALユニット(このVCL NALユニットは、デコーディング順でサフィックスAPS NALユニットに先行する)は、特定のVCL NALユニットによって使用されるものではなく、サフィックスAPS NALユニットに続くVCL NALユニットによってデコーディング順で使用されるものである。
0に等しいaps_extension_flagは、APS RBSP構文構造にaps_extension_data_flag文要素が含まれていないことを規定する。1に等しいaps_extension_flagは、APS RBSP構文構造にaps_extension_data_flag構文要素が存在することを規定する。
aps_extension_data_flagは任意の値を有することができる。その存在および値は、本明細書バージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。本明細書バージョンに準拠するデコーダは、すべてのaps_extension_data_flag構文要素を無視しなければならない。
1に等しいalf_luma_filter_signal_flagは、輝度フィルタセットが信号通知されることを示す。alf_luma_filter_signal_flag=0は、輝度フィルタセットは信号通知されないことを示す。
1に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されることを示す。0に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されないことを示す。ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しいとする。
alf_luma_filter_signal_flag、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flagおよびalf_cc_cr_filter_signal_flagの少なくとも一つの値は1に等しいとする。
異なる適応ループフィルタの数を規定する変数NumAlfFiltersは、25に設定される。
0に等しいalf_luma_clip_flagは、線形適応ループフィルタリングが輝度成分に適用されることを規定する。1に等しいalf_luma_clip_flagは、非線形適応ループフィルタリングが輝度成分に適用され得ることを規定する。
alf_luma_num_filters_signalled_minus1+1は、輝度係数を信号通知することができる適応ループフィルタクラスの数を規定する。alf_luma_num_filters_signalled_minus1の値は、0~NumAlfFilters-1の範囲にあるものとする。
alf_luma_coeff_delta_idx[filtIdx]は、filtIdxが示すフィルタクラスのための、0からNumAlfFilters-1までの範囲にわたる、信号通知される適応ループフィルタ輝度係数デルタのインデックスを規定する。alf_luma_coeff_delta_idx[filtIdx]が存在しない場合、それは0に等しいと推論される。alf_luma_coeff_delta_idx[filtIdx]の長さは、Ceil(Log2(alf_luma_num_filters_signalled_minus1+1)ビットである。alf_luma_coeff_delta_idx[filtIdx]の値は、0~alf_luma_num_filters_signalled_minus1の範囲にあるものとする。
alf_luma_coeff_abs[sfIdx][j]は、sfIdxで示される信号輝度フィルタのj番目の係数の絶対値を規定する。alf_luma_coeff_abs[sfIdx][j]が存在しない場合、それは0に等しいと推論される。alf_luma_coeff_abs[sfIdx][j]の値は、0から128までの範囲内とする。
alf_luma_coeff_sign[sfIdx][j]は、sfIdxが示すフィルタのj番目の輝度係数の符号を以下のように規定する。
- alf_luma_coeff_sign[sfIdx][j]が0に等しい場合、対応する輝度フィルタ係数は正の値を有する。
- そうでない場合(alf_luma_coeff_sign[sfIdx][j]が1に等しい)、対応する輝度フィルタ係数は負の値を有する。
alf_luma_coeff_sign[sfIdx][j]が存在しない場合、それは0に等しいと推論される。
sfIdx=0..alf_luma_num_filters_signalled_minus1,j=0..11を有する変数filtCoeff[sfIdx][j]は、次のように初期化される。
filtCoeff[sfIdx][j]=alf_luma_coeff_abs[sfIdx][j]* (93)
(1-2*alf_luma_coeff_sign[sfIdx][j])
要素AlfCoeff
L[adaptation_parameter_set_id][filtIdx][j]を有する輝度フィルタ係数AlfCoeff
L[adaptation_parameter_set_id]、(但し、filtIdx=0..NumAlfFilters-1、j=0..11)は以下のように導出される。
AlfCoeff
L[adaptation_parameter_set_id][filtIdx][j]=filtCoeff[alf_luma_coeff_delta_idx[filtIdx]][j] (94)
固定フィルタ係数AlfFixFiltCoeff[i][j](但しi=0..64、j=0..11)、およびのAlfClassToFiltMap[m][n](但しm=0..15、n=0..24)をフィルタマッピングするクラスは、以下のように導出される。
AlfFixFiltCoeff= (95)
{
{0,0,2,-3,1,-4,1,7,-1,1,-1,5}
{0,0,0,0,0,-1,0,1,0,0,-1,2}
{0,0,0,0,0,0,0,1,0,0,0,0}
{0,0,0,0,0,0,0,0,0,0,-1,1}
{2,2,-7,-3,0,-5,13,22,12,-3,-3,17}
{-1,0,6,-8,1,-5,1,23,0,2,-5,10}
{0,0,-1,-1,0,-1,2,1,0,0,-1,4}
{0,0,3,-11,1,0,-1,35,5,2,-9,9}
{0,0,8,-8,-2,-7,4,4,2,1,-1,25}
{0,0,1,-1,0,-3,1,3,-1,1,-1,3}
{0,0,3,-3,0,-6,5,-1,2,1,-4,21}
{-7,1,5,4,-3,5,11,13,12,-8,11,12}
{-5,-3,6,-2,-3,8,14,15,2,-7,11,16}
{2,-1,-6,-5,-2,-2,20,14,-4,0,-3,25}
{3,1,-8,-4,0,-8,22,5,-3,2,-10,29}
{2,1,-7,-1,2,-11,23,-5,0,2,-10,29}
{-6,-3,8,9,-4,8,9,7,14,-2,8,9}
{2,1,-4,-7,0,-8,17,22,1,-1,-4,23}
{3,0,-5,-7,0,-7,15,18,-5,0,-5,27}
{2,0,0,-7,1,-10,13,13,-4,2,-7,24}
{3,3,-13,4,-2,-5,9,21,25,-2,-3,12}
{-5,-2,7,-3,-7,9,8,9,16,-2,15,12}
{0,-1,0,-7,-5,4,11,11,8,-6,12,21}
{3,-2,-3,-8,-4,-1,16,15,-2,-3,3,26}
{2,1,-5,-4,-1,-8,16,4,-2,1,-7,33}
{2,1,-4,-2,1,-10,17,-2,0,2,-11,33}
{1,-2,7,-15,-16,10,8,8,20,11,14,11}
{2,2,3,-13,-13,4,8,12,2,-3,16,24}
{1,4,0,-7,-8,-4,9,9,-2,-2,8,29}
{1,1,2,-4,-1,-6,6,3,-1,-1,-3,30}
{-7,3,2,10,-2,3,7,11,19,-7,8,10}
{0,-2,-5,-3,-2,4,20,15,-1,-3,-1,22}
{3,-1,-8,-4,-1,-4,22,8,-4,2,-8,28}
{0,3,-14,3,0,1,19,17,8,-3,-7,20}
{0,2,-1,-8,3,-6,5,21,1,1,-9,13}
{-4,-2,8,20,-2,2,3,5,21,4,6,1}
{2,-2,-3,-9,-4,2,14,16,3,-6,8,24}
{2,1,5,-16,-7,2,3,11,15,-3,11,22}
{1,2,3,-11,-2,-5,4,8,9,-3,-2,26}
{0,-1,10,-9,-1,-8,2,3,4,0,0,29}
{1,2,0,-5,1,-9,9,3,0,1,-7,20}
{-2,8,-6,-4,3,-9,-8,45,14,2,-13,7}
{1,-1,16,-19,-8,-4,-3,2,19,0,4,30}
{1,1,-3,0,2,-11,15,-5,1,2,-9,24}
{0,1,-2,0,1,-4,4,0,0,1,-4,7}
{0,1,2,-5,1,-6,4,10,-2,1,-4,10}
{3,0,-3,-6,-2,-6,14,8,-1,-1,-3,31}
{0,1,0,-2,1,-6,5,1,0,1,-5,13}
{3,1,9,-19,-21,9,7,6,13,5,15,21}
{2,4,3,-12,-13,1,7,8,3,0,12,26}
{3,1,-8,-2,0,-6,18,2,-2,3,-10,23}
{1,1,-4,-1,1,-5,8,1,-1,2,-5,10}
{0,1,-1,0,0,-2,2,0,0,1,-2,3}
{1,1,-2,-7,1,-7,14,18,0,0,-7,21}
{0,1,0,-2,0,-7,8,1,-2,0,-3,24}
{0,1,1,-2,2,-10,10,0,-2,1,-7,23}
{0,2,2,-11,2,-4,-3,39,7,1,-10,9}
{1,0,13,-16,-5,-6,-1,8,6,0,6,29}
{1,3,1,-6,-4,-7,9,6,-3,-2,3,33}
{4,0,-17,-1,-1,5,26,8,-2,3,-15,30}
{0,1,-2,0,2,-8,12,-6,1,1,-6,16}
{0,0,0,-1,1,-4,4,0,0,0,-3,11}
{0,1,2,-8,2,-6,5,15,0,2,-7,9}
{1,-1,12,-15,-7,-2,3,6,6,-1,7,30}
},
AlfClassToFiltMap= (96)
{
{8,2,2,2,3,4,53,9,9,52,4,4,5,9,2,8,10,9,1,3,39,39,10,9,52}
{11,12,13,14,15,30,11,17,18,19,16,20,20,4,53,21,22,23,14,25,26,26,27,28,10}
{16,12,31,32,14,16,30,33,53,34,35,16,20,4,7,16,21,36,18,19,21,26,37,38,39}
{35,11,13,14,43,35,16,4,34,62,35,35,30,56,7,35,21,38,24,40,16,21,48,57,39}
{11,31,32,43,44,16,4,17,34,45,30,20,20,7,5,21,22,46,40,47,26,48,63,58,10}
{12,13,50,51,52,11,17,53,45,9,30,4,53,19,0,22,23,25,43,44,37,27,28,10,55}
{30,33,62,51,44,20,41,56,34,45,20,41,41,56,5,30,56,38,40,47,11,37,42,57,8}
{35,11,23,32,14,35,20,4,17,18,21,20,20,20,4,16,21,36,46,25,41,26,48,49,58}
{12,31,59,59,3,33,33,59,59,52,4,33,17,59,55,22,36,59,59,60,22,36,59,25,55}
{31,25,15,60,60,22,17,19,55,55,20,20,53,19,55,22,46,25,43,60,37,28,10,55,52}
{12,31,32,50,51,11,33,53,19,45,16,4,4,53,5,22,36,18,25,43,26,27,27,28,10}
{5,2,44,52,3,4,53,45,9,3,4,56,5,0,2,5,10,47,52,3,63,39,10,9,52}
{12,34,44,44,3,56,56,62,45,9,56,56,7,5,0,22,38,40,47,52,48,57,39,10,9}
{35,11,23,14,51,35,20,41,56,62,16,20,41,56,7,16,21,38,24,40,26,26,42,57,39}
{33,34,51,51,52,41,41,34,62,0,41,41,56,7,5,56,38,38,40,44,37,42,57,39,10}
{16,31,32,15,60,30,4,17,19,25,22,20,4,53,19,21,22,46,25,55,26,48,63,58,55}
},
AlfCoeff
L[adaptation_parameter_set_id][filtIdx][j](但しfiltIdx=0..NumAlfFilters-1,j=0..11)の値が、-2
7~2
7-1の範囲内とすることは、ビットストリーム適合性の要件である。
alf_luma_clip_idx[sfIdx][j]は、sfIdxが示す信号通知された輝度フィルタのj番目の係数を乗じる前に使用するクリッピング値のクリッピングインデックスを規定する。alf_luma_clip_idx[sfIdx][j](但しsfIdx=0..alf_luma_num_filters_signalled_minus1かつj=0..11)の値は、0~3の範囲内とすることがビットストリーム適合性の要件である。
filtIdx=0..NumAlfFilters-1およびj=0..11である要素AlfClip
L[adaptation_parameter_set_id][filtIdx][j],を有する輝度フィルタクリッピング値AlfClip
L[adaptation_parameter_set_id][fltIdx][j]は、alf_luma_clip_idx[alf_luma_coeff_delta_idx[filtIdx]][j]に等しく設定されているBitDepthとclipIdxに依存して表8に規定されているように導出される。
0に等しいalf_chroma_clip_flagは、線形適応ループフィルタリングが彩度成分に適用されることを規定し、1に等しいalf_chroma_clip_flagは、非線形適応ループフィルタリングが彩度成分に適用されることを規定する。存在しない場合、alf_chroma_clip_flagは0に等しいと推論される。
alf_chroma_num_alt_filters_minus1+1は、彩度成分のための代替フィルタの数を規定する。alf_chroma_num_alt_filters_minus1の値は、0から7までの範囲内とする。
alf_chroma_coeff_abs[altIdx][j]は、インデックスaltIdxを有する代替彩度フィルタに対するj番目の彩度フィルタ係数の絶対値を規定する。alf_chroma_coeff_abs[altIdx][j]が存在しない場合、それは0に等しいと推論される。alf_chroma_coeff_abs[sfIdx][j]の値は、0から128までの範囲内とする。
alf_chroma_coeff_sign[altIdx][j]は、インデックスaltIdxを有する代替彩度フィルタのj番目の彩度フィルタ係数の符号を以下のように規定する。
-alf_chroma_coeff_sign[altIdx][j]が0に等しい場合、対応する彩度フィルタ係数は正の値を有する。
-そうでない場合(alf_chroma_coeff_sign[altIdx][j]=1)、対応する彩度フィルタ係数は負の値を有する。
alf_chroma_coeff_sign[altIdx][j]が存在しない場合、それは0に等しいと推論される。
要素AlfCoeff
C[adaptation_parameter_set_id][altIdx][j](但し、altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)を有する彩度フィルタ係数AlfCoeff
C[adaptation_parameter_set_id][altIdx]は、以下のように導出される。
AlfCoeff
C[adaptation_parameter_set_id][altIdx][j]=alf_chroma_coeff_abs[altIdx][j]* (97)
(1-2*alf_chroma_coeff_sign[altIdx][j])
altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5であるAlfCoeff
C[adaptation_parameter_set_id][altIdx][j]の値が-2
7-1~2
7-1の範囲内にあることは、ビットストリーム適合性の要件である。
1に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。ChromaArrayTypeが0に等しい場合、alf_cc_cb_filter_signal_flagは0に等しいとする。
alf_cc_cb_filters_signalled_minus1+1は、現在のALF APSで信号通知されたCb色成分のクロスコンポーネントフィルタの数を規定する。alf_cc_cb_filters_signalled_minus1の値は、0から3までの範囲内とする。
alf_cc_cb_mapped_coeff_abs[k][j]は、Cb色成分に対する信号通知されたk番目のクロスコンポーネントフィルタのj番目のマッピングされた係数の絶対値を規定する。alf_cc_cb_mapped_coeff_abs[k][j]が存在しない場合、それは0に等しいと推論される。
alf_cc_cb_coeff_sign[k][j]は、Cb色成分に対する信号通知されたk番目のクロスコンポーネントフィルタのj番目の係数の符号を以下のように規定する。
-alf_cc_cb_coeff_sign[k][j]iが0に等しい場合、対応するクロスコンポーネントフィルタ係数は正の値を有する。
-そうでない場合(alf_cc_cb_sign[k][j]が1に等しい)、対応するクロスコンポーネントフィルタ係数は負の値を有する。
alf_cc_cb_coeff_sign[k][j]が存在しない場合、それは0に等しいと推論される。
j=0..6とする、Cb色成分CcAlfApsCoeff
Cb[adaptation_parameter_set_id][k][j]のための符号付きk番目のクロスコンポーネントフィルタ係数は、以下のように導出される。
-alf_cc_cb_mapped_coeff_abs[k][j]が0に等しい場合、CcAlfApsCoeff
Cb[adaptation_parameter_set_id][k][j]は0に等しく設定される。
-そうでない場合、CcAlfApsCoeff
Cb[adaptation_parameter_set_id][k][j]は、1-2*alf_cc_cb_coeff_sign[k][j])*2
alf_cc_cb_mapped_coeff_abs[k][j]-1に等しく設定される。
1に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。ChromaArrayTypeが0に等しい場合、alf_cc_cr_filter_signal_flagは0に等しいとする。
alf_cc_cr_filters_signalled_minus1+1は、現在のALF APSで信号通知されたCr色成分のクロスコンポーネントフィルタの数を規定する。alf_cc_cr_filters_signalled_minus1の値は、0から3までの範囲内とする。
alf_cc_cr_mapped_coeff_abs[k][j]は、Cr色成分に対する信号通知されたk番目のクロスコンポーネントフィルタのj番目のマッピングされた係数の絶対値を規定する。alf_cc_cr_mapped coeff_abs[k][j]が存在しない場合、それは0に等しいと推論される。
alf_cc_cr_coeff_sign[k][j]は、Cr色成分に対する信号通知されたk番目のクロスコンポーネントフィルタのj番目の係数の符号を以下のように規定する。
-alf_cc_cr_coeff_sign[k][j]が0に等しい場合、対応するクロスコンポーネントフィルタ係数は正の値を有する。
-そうでない場合(alf_cc_cr_sign[k][j]が1に等しい)、対応するクロスコンポーネントフィルタ係数は負の値を有する。
alf_cc_cr_coeff_sign[k][j]が存在しない場合、それは0に等しいと推論される。
j=0..6とする、Cr色成分CcAlfApsCoeff
Cr[adaptation_parameter_set_id][k][j]のための符号付きk番目のクロスコンポーネントフィルタ係数は、以下のように導出される。
-alf_cc_cr_mapped_coeff_abs[k][j]が0に等しい場合、CcAlfApsCoeff
Cr[adaptation_parameter_set_id][k][j]は0に等しく設定される。
-そうでない場合、CcAlfApsCoeff
Cr[adaptation_parameter_set_id][k][j]は、(1-2*alf_cc_cr_coeff_sign[k][j])*2
alf_cc_cr_mapped_coeff_abs[k][j]-1に等しく設定される。
alf_chroma_clip_idx[altIdx][j]は、インデックスaltIdxを有する代替彩度フィルタのj番目の係数を乗じる前に使用するクリッピング値のクリッピングインデックスを規定する。alf_chroma_clip_idx[altIdx][j]の値(但し、altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5である)は、0~3の範囲内にあることがビットストリーム適合性の要件である。
altIdx=0..alf_chroma_num_alt_filters_minus1,j=0..5)である要素AlfClip
C[adaptation_parameter_set_id][altIdx][j]を有する彩度フィルタクリッピング値は、BitDepthおよびalf_chroma_clip_idx[altIdx][j]に等しく設定されているclipIdxに応じて、表8で規定されているように導出される。
表8-ビット深度とclipIdxに依存するAlfClip仕様
【表11】
lmcs_min_bin_idxは、彩度スケーリング構築処理における輝度マッピングに用いる最小ビンインデックスを示す。lmcs_min_bin_idxの値は、0から15までの範囲内にあるべきである。
lmcs_delta_max_bin_idxは、彩度スケーリング構築プロセスを用いた輝度マッピングに使用される、15と最大ビンインデックスLmcsMaxBinIdxとの間のデルタ値を示す。lmcs_delta_max_bin_idxの値は、0から15までの範囲内にあるべきである。LmcsMaxBinIdxの値は、15-lmcs_delta_max_bin_idxに等しく設定される。LmcsMaxBinIdxの値は、lmcs_min_bin_idx以上であるべきである。
lmcs_delta_cw_prec_minus1+1は、構文lmcs_delta_abs_cw[i]の表記に使用するビット数を示す。lmcs_delta_cw_prec_minus1の値は、0からBitDepth-2までの範囲内にあるべきである。
lmcs_delta_abs_cw[i]は、i番目のビンの絶対デルタコードワード値を示す。
lmcs_delta_sign_cw_flag[i]は、変数lmcsDeltaCW[i]の符号を以下のように示す。
-lmcs_delta_sign_cw_flag[i]が0に等しい場合、lmcsDeltaCW[i]は正の値である。
-そうでない場合(lmcs_delta_sign_cw_flag[i]が0に等しくない)、lmcsDeltaCW[i]は負の値である。
lmcs_delta_sign_cw_flag[i]が存在しない場合、0に等しいと推論される。
変数OrgCWは、以下のように導出される。
OrgCW=(1<<BitDepth)/16 (98)
変数lmcsDeltaCW[i]が、i=lmcs_min_bin_idx..LmcsMaxBinIdxのとき、以下のように導出される。
lmcsDeltaCW[i]=(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i] (99)
変数lmcsCW[i]は、以下のように導出される。
- i=0..lmcs_min_bin_idx-1の場合、lmcsCW[i]は0に等しく設定される。
- i=lmcs_min_bin_idx..LmcsMaxBinIdxの場合、以下が適用される。
lmcsCW[i]=OrgCW+lmcsDeltaCW[i] (100)
lmcsCW[i]の値は、(OrgCW>3)から(OrgCW<<3-1)の範囲内にあるべきである。
-i=LmcsMaxBinIdx+1..15の場合、lmcsCW[i]は、0に設定される。
ビットストリーム適合性の要件は、以下の条件が真であることである。
【数1】
変数InputPivot[i]は、i=0..16として、以下のように導出される。
InputPivot[i]=i*OrgCW (102)
変数LmcsPivot[i]は、i=0..16として、変数ScaleCoeff[i]およびInvScaleCoeff[i]は、i=0..15として、以下のように導出される。
LmcsPivot[0]=0;
for(i=0;i<=15;i++){
LmcsPivot[i+1]=LmcsPivot[i]+lmcsCW[i]
ScaleCoeff[i]=(lmcsCW[i]*(1<<11)+(1<<(Log2(OrgCW)-1)))>>(Log2(OrgCW))
if(lmcsCW[i]==0) (103)
InvScaleCoeff[i]=0
else
InvScaleCoeff[i]=OrgCW*(1<<11)/lmcsCW[i]
}
i=lmcs_min_bin_idx..LmcsMaxBinIdxにおいて、LmcsPivot[i]の値が1<<(BitDepth-5)の倍数ではない場合、(LmcsPivot[i]>>(BitDepth-5))の値は(LmcsPivot[i+1]>>(BitDepth-5)の値と等しくないことが、ビットストリーム準拠の要件である。
lmcs_delta_abs_crsは、変数lmcsDeltaCrsの絶対コードワード値を規定する。lmcs_delta_abs_crsの値は、0から7までの範囲内にあるべきである。存在しない場合、lmcs_delta_abs_crsは0に等しいと推論される。
lmcs_delta_sign_crs_flagは、変数lmcsDeltaCrsの符号を規定する。存在しない場合、lmcs_delta_sign_crs_flagは0に等しいと推論される。
変数lmcsDeltaCrsは、以下のように導出される。
lmcsDeltaCrs=(1-2*lmcs_delta_sign_crs_flag)*lmcs_delta_abs_crs (104)
lmcsCW[i]が0に等しくない場合、(lmcsCW[i]+lmcsDeltaCrs)は、(OrgCW>>3)~((OrgCW<<3)-1)の範囲内にあるべきであることが、ビットストリーム準拠の要件である。
変数ChromaScaleCoeff[i]は、i=0…15として、以下のように導出される。
if(lmcsCW[i]==0)
ChromaScaleCoeff[i]=(1<<11)
else
ChromaScaleCoeff[i]=OrgCW*(1<<11)/(lmcsCW[i]+lmcsDeltaCrs)
1に等しいscaling_matrix_for_lfnst_disabled_flagは、LFNSTでコーディングされたブロックにスケーリング行列を適用しないことを規定する。0に等しい_matrix_for_lfnst_disabled_flagは、LFNSTでコーディングされたブロックにスケーリング行列を適用することができることを規定する。
1に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在することを規定する。0に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在しないことを規定する。scaling_list_chroma_present_flagは、ChromaArrayTypeが0に等しい場合は0に、ChromaArrayTypeが0でない場合は1に等しいことがビットストリーム準拠の要件である。
1に等しいscaling_list_copy_mode_flag[id]は、スケーリングリストの値が参照スケーリングリストの値と同じであることを規定する。参照スケーリングリストはscaling_list_pred_id_delta[id]で規定される。scaling_list_copy_mode_flag[id]が0に等しい場合、scaling_list_pred_mode_flagが存在することが規定される。
1に等しいscaling_list_pred_mode_flag[id]は、参照スケーリングリストからスケーリングリストの値を予測できることを規定する。scaling_list_pred_id_delta[id]で参照スケーリングリストを規定する。0に等しいscaling_list_pred_mode_flag[id]は、スケーリングリストの値が明示的に信号通知されることを規定する。存在しない場合、scaling_list_pred_mode_flag[id]の値は0に等しいと推論される。
scaling_list_pred_id_delta[id]は、予測スケーリング行列ScalingMatrixPred[id]を導出するための参照スケーリングリストを規定する。存在しない場合、scaling_list_pred_id_delta[id]の値は0に等しいと推論される。scaling_list_pred_id_delta[id]の値は、0~maxIdDeltaの範囲内にあるべきであり、maxIdDeltaは、idに応じて以下のように導出される。
maxIdDelta=(id<2)?id:((id<8)?(id-2):(id-8)) (106)
変数refIdおよびmatrixSizeは、以下のように導出される。
refId=id-scaling_list_pred_id_delta[id] (107)
matrixSize=(id<2)?2:((id<8)?4:8) (108)
x=0..matrixSize-1,y=0..matrixSize-1の(matrixSize)x(matrixSize)配列ScalingMatrixPred[x][y]および変数ScalingMatrixDCPredは、以下のように導出される。
-scaling_list_copy_mode_flag[id]およびscaling_list_pred_mode_flag[id]が共に0に等しいとき、ScalingMatrixPredの全ての要素は8に等しく設定され、ScalingMatrixDCPredの値は8に等しく設定される。
-あるいは、scaling_list_pred_id_delta[id]が0に等しいとき、ScalingMatrixPredの全要素は16に等しく設定され、ScalingMatrixDCPredは16に等しく設定される。
-あるいは、(scaling_list_copy_mode_flag[id]またはscaling_list_pred_mode_flag[id]が1に等しく、scaling_list_pred_id_delta[id]が0より大きい場合)、ScalingMatrixPredはScalingMatrixRec[refId]に等しく設定され、ScalingMatrixDCPredには以下が適用される。
-refIdが13より大きい場合、ScalingMatrixDCPredは、ScalingMatrixDCRec[refId-14]に等しく設定される。
-そうでない場合(refIdが13以下)、ScalingMatrixDCPredはScalingMatrixPred[0][0]に等しく設定される。
idが13より大きい場合、変数ScalingMatrixDC[id-14]の値を導出するために、list_dc_coef[id-14]が使用される。
ScalingMatrixDCRec[id-14]=(ScalingMatrixDCPred+scaling_list_dc_coef[id-14])&255 (109)
存在しない場合、scaling_list_dc_coef[id-14]の値は0と推論される。scaling_list_dc_coef[id-14]の値は、-128~127の範囲内とする。ScalingMatrixDCRec[id-14]の値は0より大きい。
scaling_list_delta_coef[id][i]は、scaling_list_copy_mode_flag[id]が0に等しい場合に、現在の行列係数ScalingList[id][i]と以前の行列係数ScalingList[id][i-1]の差分を規定する。scaling_list_delta_coef[id][i]の値は、-128~127の範囲内とする。scaling_list_copy_mode_flag[id]が1に等しい場合、ScalingList[id]の全要素は0に等しく設定される。
(matrixSize)x(matrixSize)配列ScalingMatrixRec[id]は、以下のように導出される。
ScalingMatrixRec[id][x][y]=(ScalingMatrixPred[x][y]+ScalingList[id][k])&255 (110)
withk=0..(matrixSize*matrixSize-1),
x=DiagScanOrder[Log2(matrixSize)][Log2(matrixSize)][k][0],かつ
y=DiagScanOrder[Log2(matrixSize)][Log2(matrixSize)][k][1]
ScalingMatrixRec[id][x][y]の値は0より大きいものとする。
【0028】
3.3 PH構文および意味論
最近のVVC草案テキストにおいて、PH構文および意味論は、以下の通りである。
【表12】
【0029】
PH RBSPは、PH構文構造、即ち、picture_header_structure()を含む。
【表13】
【表14】
【表15】
【表16】
【表17】
【表18】
PH構文構造は、PH構文構造に関連付けられたコーディングされたピクチャのすべてのスライスに共通の情報を含む。
1に等しいgdr_or_irap_pic_flagは、現在のピクチャがGDRまたはIRAPピクチャであることを規定する。0に等しいgdr_or_irap_pic_flagは、現在のピクチャがGDRまたはIRAPピクチャであってもなくてもよいことを規定する。
1に等しいgdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャであることを規定する。0に等しいgdr_pic_flagは、PHに関連付けられたピクチャがGDRピクチャでないことを規定する。存在しない場合、gdr_pic_flagの値は0に等しいと推論される。gdr_enabled_flagが0に等しい場合、gdr_pic_flagの値は0に等しいものとする。
0に等しいph_inter_slice_allowed_flagは、ピクチャのすべてのコーディングされたスライスのslice_typeが2であることを規定する。1に等しいph_inter_slice_allowed_flagは、slice_typeが0または1に等しいピクチャに1つ以上のコーディングされたスライスがあってもなくてもよいことを規定する。
0に等しいph_intra_slice_allowed_flagは、ピクチャのすべてのコーディングされたスライスのslice_typeが0または1に等しいことを規定する。1に等しいph_intra_slice_allowed_flagは、ピクチャ内にslice_typeが2に等しい1つ以上のコーディングされたスライスがあってもなくてもよいことを規定する。存在しない場合は、ph_intra_slice_allowed_flagの値が1に等しいと推論される。
注1-PH NALユニットを変更することなく、サブピクチャに基づくビットストリームのマージを実行するように意図されたビットストリームの場合、エンコーダは、ph_inter_slice_allowed_flagおよびph_intra_slice_allowed_flagの両方の値を1に等しく設定することが予想される。
1に等しいnon_reference_picture_flagは、PHに関連付けられたピクチャを参照ピクチャとして使用することができないことを規定する。0に等しいnon_reference_picture_flagは、PHに関連付けられたピクチャを参照ピクチャとして使用してもしなくてもよいことを規定する。
ph_pic_parameter_set_idは、使用中のPPSのpps_pic_parameter_set_idの値を規定する。ph_pic_parameter_set_idの値は、0~63の範囲内である。
PHのTemporalIdの値が、pps_pic_parameter_set_idがph_pic_parameter_set_idであるPPSのTemporalIdの値以上であるものとすることが、ビットストリーム適合性の要件である。
ph_pic_order_cnt_lsbは、現在のピクチャのピクチャオーダカウントモジュロ MaxPicOrderCntLsbを規定する。ph_pic_order_cnt_lsb構文要素の長さは、log2_max_pic_order_cnt_lsb_minus4+4ビットである。ph_pic_order_cnt_lsbの値は、0~MaxPicOrderCntLsb-1の範囲内にあるものとする。
附属書Cに規定されるように、no_output_of_prior_pics_flagは、ビットストリームの最初のピクチャでないCLVSSピクチャのデコーディング後の、DPBにおける前回デコードされたピクチャの出力に影響を及ぼす。
recovery_poc_cntは、デコードされたピクチャの出力順のリカバリポイントを規定する。現在のピクチャがPHに関連付けられたGDRピクチャであり、現在のGDRピクチャのPicOrderCntValにrecovery_poc_cntの値を加えたものであるPicOrderCntValを有するCLVSにおいて、デコーディング順で現在のGDRピクチャに後続するピクチャが存在する場合、このピクチャpicAをリカバリポイントピクチャと呼ぶ。そうでない場合、現在のピクチャのPicOrderCntValにrecovery_poc_cntの値を加えたものよりも大きいPicOrderCntValを有する出力順の第1のピクチャを、リカバリポイントピクチャと呼ぶ。リカバリポイントピクチャは、現在のGDRピクチャにデコーディング順で先行しないものとする。recovery_poc_cntの値は、0~MaxPicOrderCntLsb-1の範囲内にあるものとする。
現在のピクチャがGDRピクチャである場合、変数RpPicOrderCntValは、以下のように導出される。
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (82)
注2-gdr_enabled_flagが1に等しく、現在のピクチャのPicOrderCntValが関連付けられたGDRピクチャのRpPicOrderCntVal以上である場合、出力順で現在および後続のデコードされたピクチャが、デコーディング順で関連付けられたGDRピクチャに先行する前のIRAPピクチャ(存在する場合)からデコーディング処理を開始することによって生成された対応するピクチャに完全に一致する。
ph_extra_bit[i]は1または0に等しくてもよい。本明細書のバージョンに準拠するデコーダは、ph_extra_bit[i]の値を無視しなければならない。その値は、本明細書のバージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。
1に等しいph_poc_msb_present_flagは、構文要素poc_msb_valがPHに存在することを規定する。0に等しいph_poc_msb_present_flagは、構文要素ph_msb_valがPHに存在しないことを規定する。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が0に等しく、現在のレイヤの参照レイヤの現在のAUにピクチャがある場合、ph_poc_msb_present_flagの値は0に等しいものとする。
poc_msb_valは、現在のピクチャのPOC MSB値を規定する。構文要素poc_msb_valの長さは、poc_msb_len_minus1+1ビットである。
1に等しいph_alf_enabled_flagは、PHに関連付けられたすべてのスライスに対して適応ループフィルタを有効化し、スライスにおけるY、Cb、またはCr色成分に適用してもよいことを規定する。0に等しいph_alf_enabled_flagは、PHに関連付けられた1つ以上またはすべてのスライスに対して適応ループフィルタを無効化することができることを規定する。存在しない場合、ph_alf_enabled_flagは0に等しいと推論される。
ph_num_alf_aps_ids_lumaは、PHに関連付けられたスライスが参照するALF APSの数を規定する。
ph_alf_aps_id_luma[i]は、PHに関連付けられたスライスの輝度成分が参照するi番目のALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
0に等しいph_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されないことを示す。1に等しいph_alf_chroma_idcは、適応ループフィルタがCb色成分に適用されることを示す。2に等しいph_alf_chroma_idcは、適応ループフィルタがCr色成分に適用されることを示す。3に等しいph_alf_chroma_idcは、適応ループフィルタがCb色成分とCr色成分に適用されることを示す。ph_alf_chroma_idcが存在しない場合、それは0に等しいと推論される。
ph_alf_aps_id_chroma PHに関連付けられたスライスの彩度成分が参照するALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_chroma[i]に等しいAPS NALユニットのalf_chroma_filter_signal_flagの値は1に等しいものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_chroma[i]であるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_cc_alf_cb_enabled_flagは、Cb色成分のためのクロスコンポーネントフィルタがPHに関連付けられたすべてのスライスに対して有効化され、スライスにおけるCb色成分に適用してもよいことを規定する。0に等しいph_cc_alf_cb_enabled_flagは、Cb色成分のためのクロスコンポーネントフィルタがPHに関連付けられた1つ以上またはすべてのスライスに対して無効化されてもよいことを規定する。存在しない場合、ph_cc_alf_cb_enabled_flagは0に等しいと推論される。
ph_cc_alf_cb_aps_idは、PHに関連付けられたスライスのCb色成分が参照するALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cb_aps_idに等しいAPS NALユニットのalf_cc_cb_filter_signal_flagの値は1に等しいものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cb_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_cc_alf_cr_enabled_flagは、Cb色成分のためのクロスコンポーネントフィルタがPHに関連付けられたすべてのスライスに対して有効化され、スライスにおけるCr色成分に適用してもよいことを規定する。0に等しいph_cc_alf_cr_enabled_flagは、Cr色成分のためのクロスコンポーネントフィルタがPHに関連付けられた1つ以上またはすべてのスライスに対して無効化されてもよいことを規定する。存在しない場合、ph_cc_alf_cr_enabled_flagは0に等しいと推論される。
ph_cc_alf_cr_aps_idは、PHに関連付けられたスライスのCr色成分が参照するALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cr_aps_idに等しいAPS NALユニットのalf_cc_cr_filter_signal_flagの値は1に等しいものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cr_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_lmcs_enabled_flagは、PHに関連付けられたすべてのスライスに対して彩度スケーリングを伴う輝度マッピングが有効化されることを規定する。0に等しいph_lmcs_enabled_flagは、PHに関連付けられた1つ以上またはすべてのスライスに対して彩度スケーリングを伴う輝度マッピングが無効化されることを規定する。存在しない場合、ph_lmcs_enabled_flagの値は0に等しいと推論される。
ph_lmcs_aps_idは、PHに関連付けられたスライスが参照するLMCS APSのadaptation_parameter_set_idを規定する。aps_params_typeがLMCS_APSに等しく、adaptation_parameter_set_idがph_lmcs_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_chroma_residual_scale_flagは、PHに関連付けられたすべてのスライスに対して彩度残差スケーリングが有効化されることを規定する。0に等しいph_chroma_residual_scale_flagは、PHに関連付けられた1つ以上、またはすべてのスライスに対して彩度残差スケーリングが無効化されることを規定する。ph_chroma_residual_scale_flagが存在しない場合、これは0に等しいと推論される。
1に等しいph_scaling_list_present_flagは、参照スケーリングリストAPSに含まれるスケーリングリストデータに基づいて、PHに関連付けられたスライスに使用されるスケーリングリストデータを導出することを規定する。0に等しいph_scaling_list_present_flagは、PHに関連付けられたスライスに対して使用されるスケーリングリストが16になるように設定されることを規定する。存在しない場合、ph_scaling_list_present_flagの値は0と推論される。
ph_scaling_list_aps_idは、スケーリングリストAPSのadaptation_parameter_set_idを規定する。aps_params_typeがSCALING_APSに等しく、adaptation_parameter_set_idがph_scaling_list_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
1に等しいph_virtual_boundaries_present_flagは、PHで仮想境界の情報を信号通知することを規定する。0に等しいph_virtual_boundaries_present_flagは、PHで仮想境界の情報を信号通知しないことを規定する。PHにおいて信号通知される仮想境界が1つ以上ある場合、ピクチャにおいて、仮想境界を跨ぐインループフィルタリング動作は無効化される。インループフィルタリング動作は、デブロッキングフィルタ、サンプル適応オフセットフィルタ、および適応ループフィルタ動作を含む。存在しない場合、ph_virtual_boundaries_present_flagの値は0と推論される。
subpic_info_present_flagが1に等しい場合は、ph_virtual_boundaries_present_flagの値が0に等しいものとすることが、ビットストリーム適合性の要件である。
変数VirtualBoundariesPresentFlagは、以下のように導出される。
VirtualBoundariesPresentFlag=0
if(sps_virtual_boundaries_enabled_flag)
VirtualBoundariesPresentFlag=sps_virtual_boundaries_present_flag||
ph_virtual_boundaries_present_flag(83)
ph_num_ver_virtual_boundariesは、PHに存在するph_virtual_boundaries_pos_x[i]構文要素の数を規定する。ph_num_ver_virtual_boundariesが存在しない場合、0に等しいと推論される。
変数NumVerVirtualBoundariesは、以下のように導出される。
NumVerVirtualBoundaries=0
if(sps_virtual_boundaries_enabled_flag)
NumVerVirtualBoundaries=sps_virtual_boundaries_present_flag?
sps_num_ver_virtual_boundaries:ph_num_ver_virtual_boundaries (84)
ph_virtual_boundaries_pos_x[i]は、i番目の垂直仮想境界の位置を、輝度サンプルを8で割った単位で規定する。ph_virtual_boundaries_pos_x[i]の値は、1からCeil(pic_width_in_luma_samples÷8)-1の範囲内にあるものとする。
iが0からNumVerVirtualBoundaries-1までのリストVirtualBoundariesPosX[i]を、輝度サンプル単位で、垂直仮想境界の位置を規定することにより、以下のように導出する。
for(i=0;i<NumVerVirtualBoundaries;i++)
VirtualBoundariesPosX[i]=(sps_virtual_boundaries_present_flag?
sps_virtual_boundaries_pos_x[i]:ph_virtual_boundaries_pos_x[i])*8 (85)
任意の2つの垂直仮想境界間の距離は、CtbSizeY輝度サンプル以上であるものとする。
ph_num_hor_virtual_boundariesは、PHに存在するph_virtual_boundaries_pos_y[i]構文要素の数を規定する。ph_num_hor_virtual_boundariesが存在しない場合、0に等しいと推論される。
パラメータNumHorVirtualBoundariesは、以下のように導出される。
NumHorVirtualBoundaries=0
if(sps_virtual_boundaries_enabled_flag)
NumHorVirtualBoundaries=sps_virtual_boundaries_present_flag?
sps_num_hor_virtual_boundaries:ph_num_hor_virtual_boundaries (86)
sps_virtual_boundaries_enabled_flagが1に等しく、ph_virtual_boundaries_present_flagが1に等しい場合は、ph_num_ver_virtual_boundariesとph_num_hor_virtual_boundariesの合計は、0より大きいものとする。
ph_virtual_boundaries_pos_y[i]は、i番目の水平方向の仮想境界の位置を、輝度サンプルを8で割った単位で規定する。ph_virtual_boundaries_pos_y[i]の値は、1からCeil(pic_height_in_luma_samples÷8)-1の範囲内にあるものとする。
iが0からNumHorVirtualBoundaries-1までのリストVirtualBoundariesPosY[i]を、輝度サンプル単位で、水平仮想境界の位置を規定することにより、以下のように導出する。
for(i=0;i<NumHorVirtualBoundaries;i++)
VirtualBoundariesPosY[i]=(sps_virtual_boundaries_present_flag?
sps_virtual_boundaries_pos_y[i]:ph_virtual_boundaries_pos_y[i])*8 (87)
任意の2つの水平仮想境界間の距離は、CtbSizeY輝度サンプル以上であるものとする。
pic_output_flagは、附属書Cに規定されるように、デコードされたピクチャの出力および削除処理に影響を及ぼす。pic_output_flagが存在しない場合、1に等しいと推論される。
1に等しいpartition_constraints_override_flagは、パーティション制約パラメータがPHに存在することを規定する。0に等しいpartition_constraints_override_flagは、パーティション制約パラメータがPHに存在しないことを規定する。存在しない場合、partition_constraints_override_flagの値は0に等しいと推論される。
ph_log2_diff_min_qt_min_cb_intra_slice_lumaは、CTUの4分木分割に起因する輝度リーフブロックの輝度サンプルの最小サイズの底2対数と、PHに関連付けられたslice_typeが2(I)であるスライスにおける輝度CUの輝度サンプルの最小コーディングブロックサイズの底2対数と、の差を規定する。ph_log2_diff_min_qt_min_cb_intra_slice_lumaの値は、0~CtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しない場合、ph_log2_diff_min_qt_min_cb_lumaの値はsps_log2_diff_min_qt_min_cb_lumaに等しいと推論される。
ph_max_mtt_hierarchy_depth_intra_slice_lumaは、PHに関連付けられたslice_typeが2(I)であるスライスにおける4分木のマルチタイプツリー分割に起因するコーディングユニットの最大階層深さを規定する。ph_max_mtt_hierarchy_depth_intra_slice_lumaの値は、0~2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しない場合、ph_max_mtt_hierarchy_depth_intra_slice_lumaの値は、sps_max_mtt_hierarchy_depth__intra_slice_lumaと等しくなると推論される。
ph_log2_diff_max_bt_min_qt_intra_slice_lumaは、2値分割を使用して分割され得る輝度コーディングブロックの輝度サンプルの最大サイズ(幅または高さ)の底2対数と、PHに関連付けられた2(I)であるslice_typeを有するスライスのCTUの4分木分割に起因する輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)と、の差を規定する。ph_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraYの範囲内にあるものとする。存在しない場合、ph_log2_diff_max_bt_min_qt_intra_slice_lumaの値は、sps_log2_diff_max_bt_min_qt_intra_slice_lumaと等しくなると推論される。
ph_log2_diff_max_tt_min_qt_intra_slice_lumaは、3進法の分割を使用して分割され得る輝度コーディングブロックの輝度サンプルの最大サイズ(幅または高さ)の底2対数と、PHに関連付けられた2(I)であるslice_typeを有するスライスのCTUの4分木分割に起因する輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)と、の差を規定する。ph_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraYの範囲内にあるものとする。存在しない場合、ph_log2_diff_max_tt_min_qt_intra_slice_lumaの値は、sps_log2_diff_max_tt_min_qt_intra_slice_lumaと等しくなると推論される。
ph_log2_diff_min_qt_min_cb_intra_slice_chromaは、DUAL_TREE_CHROMAに等しいtreeTypeを持つ彩度CTUの4分木分割による彩度リーフブロックの輝度サンプルにおける最小サイズの底2対数と、PHに関連付けられたslice_typeが2(I)のスライスにおけるDUAL_TREE_CHROMAに等しいtreeTypeを持つ彩度CUの輝度サンプルの最小コーディングブロックサイズの底2対数と、の差を規定する。ph_log2_diff_min_qt_min_cb_intra_slice_chromaの値は、0~CtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しない場合、ph_log2_diff_min_qt_min_cb_intra_slice_chromaの値はsps_log2_diff_min_qt_min_cb_chromaに等しいと推論される。
ph_max_mtt_hierarchy_depth_intra_slice_chromaは、PHに関連付けられたslice_typeが2(I)のtreeType=DUAL_TREE_CHROMAであるtreeTypeを有する彩度4分木のマルチタイプツリー分割に起因する彩度コーディングユニットの最大階層深度を規定する。ph_max_mtt_hierarchy_depth_intra_slice_chromaの値は、0~2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しない場合、ph_max_mtt_hierarchy_depth_intra_slice_chromaの値は、sps_max_mtt_hierarchy_depth_intra_slice_chromaと等しいと推論される。
ph_log2_diff_max_bt_min_qt_intra_slice_chromaは、2値分割を使用して分割され得る彩度コーディングブロックの輝度サンプルの最大サイズ(幅または高さ)の底2対数と、PHに関連付けられたslice_typeが2(I)であるスライスにおけるDUAL_TREE_CHROMAと等しいtreeTypeを有する彩度CTUの4分木分割に起因する彩度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)との差を規定する。ph_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraCの範囲内にあるものとする。存在しない場合、ph_log2_diff_max_bt_min_qt_intra_slice_chromaの値は、sps_log2_diff_max_bt_min_qt_intra_slice_chromaと等しくなると推論される。
ph_log2_diff_max_tt_min_qt_intra_slice_chromaは、3進法分割を使用して分割され得る彩度コーディングブロックの輝度サンプルの最大サイズ(幅または高さ)の底2対数と、PHに関連付けられたslice_typeが2(I)であるスライスにおけるDUAL_TREE_CHROMAと等しいtreeTypeを有する彩度CTUの4分木分割に起因する彩度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)との差を規定する。ph_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、0~CtbLog2SizeY-MinQtLog2SizeIntraCの範囲内にあるものとする。存在しない場合、ph_log2_diff_max_tt_min_qt_intra_slice_chromaの値は、sps_log2_diff_max_tt_min_qt_intra_slice_chromaと等しくなると推論される。
ph_cu_qp_delta_subdiv_intra_sliceは、cu_qp_delta_absおよびcu_qp_delta_sign_flagを伝達するイントラスライス内のコーディングユニットの最大のcbSubdiv値を規定する。ph_cu_qp_delta_subdiv_intra_sliceの値は、0~2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)の範囲内にあるものとする。
存在しない場合、ph_cu_qp_delta_subdiv_intra_sliceの値は0に等しいと推論される。
ph_cu_chroma_qp_offset_subdiv_intra_sliceは、cu_chroma_qp_offset_flagを伝達するイントラスライス内のコーディングユニットの最大cbSubdiv値を規定する。ph_cu_qp_offset_subdiv_intra_sliceの値は、0~2*(CtbLog2SizeY-MinQtLog2SizeIntraY+ph_max_mtt_hierarchy_depth_intra_slice_luma)の範囲内にあるものとする。
存在しない場合、ph_cu_chroma_qp_offset_subdiv_intra_sliceの値は0に等しいと推論される。
ph_log2_diff_min_qt_min_cb_inter_sliceは、CTUの4分木分割に起因する輝度リーフブロックの輝度サンプルの最小サイズの底2対数と、PHに関連付けられたslice_typeが0(B)または1(P)と等しいスライスにおける輝度CUに対する輝度サンプルの最小輝度コーディングブロックサイズの底2対数と、の差を規定する。ph_log2_diff_min_qt_min_cb_inter_sliceの値は、0~CtbLog2SizeY-MinCbLog2SizeYの範囲内にあるものとする。存在しない場合、ph_log2_diff_min_qt_min_cb_lumaの値は、sps_log2_diff_min_qt_min_cb_inter_sliceに等しいと推論される。
ph_max_mtt_hierarchy_depth_inter_sliceは、PHに関連付けられたslice_typeが0(B)または1(P)のスライスにおいて、4分木のリーフのマルチタイプツリー分割によるコーディングユニットの最大階層深さを規定する。ph_max_mtt_hierarchy_depth_inter_sliceの値は、0~2*(CtbLog2SizeY-MinCbLog2SizeY)の範囲内にあるものとする。存在しない場合、ph_max_mtt_hierarchy_depth_inter_sliceの値は、sps_max_mtt_hierarchy_depth_inter_sliceに等しいと推論される。
ph_log2_diff_max_bt_min_qt_inter_sliceは、2値分割を使用して分割されることができる輝度コーディングブロックの輝度サンプルの最大サイズ(幅または高さ)の底2対数と、PHに関連付けられた0(B)または1(P)であるスライスにおけるCTUの4分木分割に起因する輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)と、の差を規定する。ph_log2_diff_max_bt_min_qt_inter_sliceの値は、0~CtbLog2SizeY-MinQtLog2SizeInterYの範囲内にあるものとする。存在しない場合、ph_log2_diff_max_bt_min_qt_inter_sliceの値はsps_log2_diff_max_bt_min_qt_inter_sliceに等しいと推論される。
ph_log2_diff_max_tt_min_qt_inter_sliceは、3進法分割を使用して分割されることができる輝度コーディングブロックの輝度サンプルの最大サイズ(幅または高さ)の底2対数と、PHに関連付けられた0(B)または1(P)であるスライスにおけるCTUの4分木分割に起因する輝度リーフブロックの輝度サンプルの最小サイズ(幅または高さ)と、の差を規定する。ph_log2_diff_max_tt_min_qt_inter_sliceの値は、0~CtbLog2SizeY-MinQtLog2SizeInterYの範囲内にあるものとする。存在しない場合、ph_log2_diff_max_tt_min_qt_inter_sliceの値はsps_log2_diff_max_tt_min_qt_inter_sliceに等しいと推論される。
ph_cu_qp_delta_subdiv_inter_sliceは、cu_qp_delta_absおよびcu_qp_delta_sign_flagを伝達するインタースライス内のコーディングユニットの最大のcbSubdiv値を規定する。ph_cu_qp_delta_subdiv_inter_sliceの値は、0~2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)の範囲内にあるものとする。
存在しない場合、ph_cu_qp_delta_subdiv_inter_sliceの値は0に等しいと推論される。
ph_cu_chroma_qp_offset_subdiv_inter_sliceは、cu_chroma_qp_offset_flagを伝達するインタースライス内のコーディングユニットの最大cbSubdiv値を規定する。ph_cu_chroma_qp_offset_subdiv_inter_sliceの値は、0~2*(CtbLog2SizeY-MinQtLog2SizeInterY+ph_max_mtt_hierarchy_depth_inter_slice)の範囲内にあるものとする。
存在しない場合、ph_cu_chroma_qp_offset_subdiv_inter_sliceの値は0に等しいと推論される。
ph_temporal_mvp_enabled_flagは、PHに関連付けられたスライスのインター予測に時間的動きベクトル予測子を使用できるかどうかを規定する。ph_temporal_mvp_enabled_flagが0に等しい場合、PHに関連付けられたスライスの構文要素は、時間的動きベクトル予測子がスライスのデコーディングに使用されないように制約されるものとする。そうでない場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、PHに関連付けられたスライスの復号に時間的動きベクトル予測子を使用してもよい。存在しない場合、ph_temporal_mvp_enabled_flagの値は0に等しいと推論される。DPBにおける参照ピクチャの空間的解像度が現在のピクチャと同じでない場合、ph_temporal_mvp_enabled_flagの値は0に等しいものとする。
サブブロックベースのマージMVP候補の最大数、MaxNumSubblockMergeCandは以下のように導出される。
if(sps_affine_enabled_flag)
MaxNumSubblockMergeCand=5-five_minus_max_num_subblock_merge_cand (88)
else
MaxNumSubblockMergeCand=sps_sbtmvp_enabled_flag&&ph_temporal_mvp_enable_flag
MaxNumSubblockMergeCandの値は、1~5の範囲内である。
1に等しいph_collocated_from_I0_flagは、時間的動きベクトル予測に使用される同一位置に配置されたピクチャが参照ピクチャリスト0から導出されることを規定する。0に等しいph_collocated_from_I0_flagは、時間的動きベクトル予測に使用される同一位置に配置されたピクチャが参照ピクチャリスト1から導出されることを規定する。
ph_collocated_ref_idxは、時間的動きベクトル予測に使用される同一位置に配置されたピクチャの参照インデックスを規定する。
ph_collocated_from_l0_flagが1に等しい場合、ph_collocated_ref_idxは参照ピクチャリスト0のエントリを参照し、ph_collocated_ref_idxの値は0からnum_ref_entries[0][RplsIdx[0]]-1の範囲内にあるものとする。
ph_collocated_from_l0_flagが0に等しい場合、ph_collocated_ref_idxは参照ピクチャリスト1のエントリを参照し、ph_collocated_ref_idxの値は0からnum_ref_entries[1][RplsIdx[1]]-1の範囲内にあるものとする。
存在しない場合、ph_collocated_ref_idxの値は0に等しいと推論される。
1に等しいmvd_l1_zero_flagは、mvd_coding(x0,y0,1)構文構造が構文解析されず、MvdL1[x0][y0][compIdx]およびMvdCpL1[x0][y0][cpIdx][compIdx]がcompIdx=0..1およびcpIdx=0..2の場合、0に設定されることを示す。0に等しいmvd_l1_zero_flagは、mvd_coding(x0,y0,1)構文構造が構文解析されたことを示す。
1に等しいph_fpel_mmvd_enabled_flagは、動きベクトル差を有するマージモードは、PHに関連付けられたスライスの整数サンプル精度を使用することを規定する。0に等しいph_fpel_mmvd_enabled_flagは、動きベクトル差を有するマージモードは、PHに関連付けられたスライスの分数サンプル精度を使用することを規定する。存在しない場合、ph_fpel_mmvd_enabled_flagの値は0であると推論される。
1に等しいph_disable_bdof_flagは、PHに関連付けられたスライスにおいて、双方向オプティカルフローインター予測に基づくインター双予測が無効化されることを規定する。0に等しいph_disable_bdof_flagは、PHに関連付けられたスライスにおいて、双方向オプティカルフローインター予測に基づくインター双予測が有効化されてもされなくてもよいことを規定する。
ph_disable_bdof_flagが存在しない場合、以下が適用される。
-sps_bdof_enabled_flagが1に等しい場合は、ph_disable_bdof_flagの値は0に等しいと推論される。
-そうでない場合(sps_bdof_enabled_flagが0に等しい場合)、ph_disable_bdof_flagの値は1に等しいと推論される。
1に等しいph_disable_dmvr_flagは、PHに関連付けられたスライスにおいて、デコーダ動きベクトル微調整に基づくインター双予測が無効化されることを規定する。0に等しいph_disable_dmvr_flagは、PHに関連付けられたスライスにおいて、デコーダ動きベクトル微調整に基づくインター双予測が有効化してもしなくてもよいことを規定する。
ph_disable_dmvr_flagが存在しない場合、以下が適用される。
-sps_dmvr_enabled_flagが1に等しい場合は、ph_disable_dmvr_flagの値は0に等しいと推論される。
-そうでない場合(sps_dmvr_enable_flagが0に等しい場合)、ph_disable_dmvr_flagの値は1に等しいと推論される。
1に等しいph_disable_prof_flagは、PHに関連付けられたスライスにおいて、オプティカルフローによる予測微調整が無効化されることを規定する。0に等しいph_disable_prof_flagは、PHに関連付けられたスライスにおいて、オプティカルフローによる予測微調整が有効化されてもされなくてもよいことを規定する。
ph_disable_prof_flagが存在しない場合、以下が適用される。
-sps_affine_prof_enabled_flagが1に等しい場合は、ph_disable_prof_flagの値は0に等しいと推論される。
-そうでない場合(sps_affine_prof_enabled_flagが0に等しい場合)、ph_disable_prof_flagの値は1に等しいと推論される。
ph_qp_deltaは、コーディングユニットレイヤにおけるCuQpDeltaValの値によって修正されるまで、ピクチャにおけるコーディングブロックに使用されるQp
Yの初期値を規定する。
qp_delta_info_in_ph_flagが1に等しい場合は、ピクチャのすべてのスライスに対するQp
Y量子化パラメータであるSliceQp
Yの最初の値は、以下のように導出される。
SliceQp
Y=26+init_qp_minus26+ph_qp_delta (89)
SliceQp
Yの値は、-QpBdOffset~63の範囲内である。
ph_joint_cbcr_sign_flagは、tu_joint_cbcr_residual_flag[x0][y0]が1に等しい変換ユニットにおいて、両方の彩度成分の同一位置に配置された残差サンプルは、符号が逆になるかどうかを規定する。1つの変換ユニットに対してtu_joint_cbcr_residual_flag[x0][y0]が1に等しいとき、0に等しいph_joint_cbcr_sign_flagは、Cr(またはCb)成分の各残差サンプルの符号が、同一位置に配置されたCb(またはCr)残差サンプルの符号と同一であることを規定し、1に等しいph_joint_cbcr_sign_flagは、Cr(またはCb)成分の各残差サンプルの符号は、同一位置に配置されたCb(またはCr)の残差サンプルの逆の符号で表されることを規定する。
1に等しいph_sao_luma_enabled_flagは、PHに関連付けられたすべてのスライスの中の輝度成分に対してSAOが有効化されることを規定し、0に等しいph_sao_luma_enabled_flagは、輝度成分のSAOがPHに関連付けられた1つ以上またはすべてのスライスに対して無効化される場合もあることを規定する。ph_sao_luma_enabled_flagが存在しない場合、0に等しいと推論される。
1に等しいph_sao_chroma_enabled_flagは、PHに関連付けられたすべてのスライスの中の彩度成分に対してSAOが有効化されることを規定し、0に等しいph_sao_chroma_enabled_flagは、輝度成分のSAOがPHに関連付けられた1つ以上またはすべてのスライスに対して無効化される場合もあることを規定する。ph_sao_chroma_enabled_flagが存在しない場合、0に等しいと推論される。
0に等しいph_dep_quant_enabled_flagは、現在のピクチャに対して従属量子化が無効化されることを規定する。1に等しいph_dep_quant_enabled_flagは、現在のピクチャに対して従属量子化が有効化されることを規定する。ph_dep_quant_enabled_flagが存在しない場合、0に等しいと推論される。
0に等しいpic_sign_data_hiding_enabled_flagは、現在のピクチャに対し、符号ビットの非表示が無効化されることを規定する。1に等しいpic_sign_data_hiding_enabled_flagは、現在のピクチャに対し、符号ビットの非表示が有効化されることを規定する。pic_sign_data_hiding_enabled_flagが存在しない場合、0に等しいと推論される。
1に等しいph_deblocking_filter_override_flagは、PHにデブロッキングパラメータが存在することを規定する。0に等しいph_deblocking_filter_override_flagは、デブロッキングパラメータがPHに存在しないことを規定する。存在しない場合、ph_deblocking_filter_override_flagの値は0に等しいと推論される。
1に等しいph_deblocking_filter_disabled_flagは、PHに関連付けられたスライスに対してデブロッキングフィルタの演算を適用しないことを規定する。0に等しいph_deblocking_filter_disabled_flagは、PHに関連付けられたスライスに対してデブロッキングフィルタの演算を適用することを規定する。ph_deblocking_filter_disabled_flagが存在しない場合、pps_deblocking_filter_disabled_flagに等しいと推論される。
ph_beta_offset_div2およびph_tc_offset_div2は、PHに関連付けられたスライスの輝度成分に適用されるβおよびtCのデブロッキングパラメータのオフセット(2で割られた)を規定する。ph_beta_offset_div2およびph_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、ph_beta_offset_div2およびph_tc_offset_div2の値は、それぞれpps_beta_offset_div2およびpps_tc_offset_div2に等しいと推論される。
ph_cb_beta_offset_div2およびph_cb_tc_offset_div2は、PHに関連付けられたスライスのCb成分に適用されるβおよびtCのデブロッキングパラメータのオフセット(2で割られた)を規定する。ph_cb_beta_offset_div2およびph_cb_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、ph_cb_beta_offset_div2およびph_cb_tc_offset_div2の値は、それぞれpps_cb_beta_offset_div2およびpps_cb_tc_offset_div2に等しいと推論される。
ph_cr_beta_offset_div2およびph_cr_tc_offset_div2は、PHに関連付けられたスライスのCrコ成分に適用されるβおよびtCのデブロッキングパラメータのオフセット(2で割られた)を規定する。ph_cr_beta_offset_div2およびph_cr_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、ph_cr_beta_offset_div2およびph_cr_tc_offset_div2の値は、それぞれpps_cr_beta_offset_div2およびpps_cr_tc_offset_div2に等しいと推論される。
ph_extension_lengthは、PH拡張データの長さをバイトで規定し、ph_extension_length自体の信号通知に使用されるビットは含まない。ph_extension_lengthの値は、0~256の範囲内である。存在しない場合、ph_extension_lengthの値は0に等しいと推論される。
ph_extension_data_byteは任意の値を有することができる。本明細書のバージョンに準拠するデコーダは、ph_extension_data_byteの値を無視しなければならない。その値は、本明細書のバージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。
【0030】
3.4 SH構文および意味論
最近のVVC草案テキストにおいて、SH構文および意味論は、以下の通りである。
【表19】
【表20】
【表21】
【表22】
Cu_qp_delta_absを含むコーディングユニットの輝度量子化パラメータとその予測値の差を規定する変数CuQpDeltaValは、0に等しく設定される。cu_chroma_qp_offset_flagを含むコーディングユニットの量子化パラメータQp’Cb,Qp’CrおよびQp’CbCrのそれぞれの値を判定する際に用いる値を規定する変数CuQpOffsetCb,CuQpOffsetCrおよびCuQpOffsetCbCrは、すべて0に等しく設定される。
1に等しいpicture_header_in_slice_header_flagは、スライスヘッダにPH構文構造が存在する。picture_header_in_slice_header_flagが0の場合、スライスヘッダにPH構文構造が存在しない。
CLVS内のすべてのコーディングされたスライスにおいて、picture_header_in_slice_header_flagの値が同じであるものとすることが、ビットストリーム適合性の要件である。
1つのコーディングされたスライスに対してpicture_header_in_slice_header_flagが1に等しい場合は、PH_NUTであるnal_unit_typeを有するVCL NALユニットがCLVSに存在しないものとすることが、ビットストリーム適合性の要件である。
picture_header_in_slice_header_flagが0に等しい場合、現在のピクチャにおけるすべてのコーディングされたスライスは、picture_header_in_slice_header_flagが0に等しいものとし、現在のPUはPH NALユニットを有するものとする。
slice_subpic_idは、スライスを含むサブピクチャのサブピクチャIDを規定する。slice_subpic_idが存在する場合、変数CurrSubpicIdxの値は、SubpicIdVal[CurrSubpicIdx]がslice_subpic_idに等しくなるように導出される。そうでない場合(slice_subpic_idが存在しない)、CurrSubpicIdxは0に等しくなるように導出される。slice_subpic_idの長さは、sps_subpic_id_len_minus1+1ビットである。
slice_addressは、スライスのスライスアドレスを規定する。存在しない場合、slice_addressの値は0に等しいと推論される。rect_slice_flagが1でNumSlicesInSubpic[CurrSubpicIdx]が1のとき、slice_addressの値は0と推論される.
rect_slice_flagが0に等しい場合、以下が適用される。
-スライスアドレスは、ラスタスキャンタイルインデックスである。
-slice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットである。
-slice_addressの値は、0からNumTilesInPic-1までの範囲内にあるべきである。
そうでない場合(rect_slice_flagが1に等しい場合)、以下が適用される。
-スライスアドレスは、スライスのサブピクチャレベルスライスインデックスである。
-slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[CurrSubpicIdx]))ビットである。
-slice_addressの値は、0~NumSlicesInSubpic[CurrSubpicIdx]-1までの範囲内とする。
ビットストリーム適合性の要件は、以下の制約が適用されることである。
-rect_slice_flagが0に等しい、またはsubpic_info_present_flagが0に等しい場合、slice_addressの値は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_addressの値に等しくてはならない。
-そうでない場合、slice_subpic_idおよびslice_address値の組は、同じコーディングされたピクチャにおいて任意の他のコーディングされたスライスNALユニットのslice_subpic_idおよびslice_address値の組に等しくてはならない。
-ピクチャのスライスの形状は、各CTUがデコードされた場合、その左側境界全体および最上の境界全体が1つのピクチャの境界、または、以前にデコードされたCTUの境界を含むものでなければならない。
sh_extra_bit[i]は、1または0に等しくてもよい。本明細書のバージョンに準拠するデコーダは、sh_extra_bit[i]の値を無視しなければならない。その値は、本明細書のバージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。
num_tiles_in_slice_minus1+1(存在する場合)は、スライスにおけるタイルの数を規定する。num_tiles_in_slice_minus1の値は、0からNumTilesInPic-1までの範囲内にあるべきである。
現在のスライスにおけるCTUの数を規定する変数NumCtusInCurrSliceと、スライス内のi番目のCTBのピクチャラスタスキャンアドレスを規定しiが0からNumCTUsInCurrSlice-1までの範囲であるリストCtbAddrInCurrSlice[i]とは、以下のように導出される。
if(rect_slice_flag){
picLevelSliceIdx=slice_address
for(j=0;j<CurrSubpicIdx;j++)
picLevelSliceIdx+=NumSlicesInSubpic[j]
NumCtusInCurrSlice=NumCtusInSlice[picLevelSliceIdx]
for(i=0;i<NumCtusInCurrSlice;i++)
CtbAddrInCurrSlice[i]=CtbAddrInSlice[picLevelSliceIdx][i](117)
}else{
NumCtusInCurrSlice=0
for(tileIdx=slice_address;tileIdx<=slice_address+num_tiles_in_slice_minus1;tileIdx++){
tileX=tileIdx%NumTileColumns
tileY=tileIdx/NumTileColumns
for(ctbY=tileRowBd[tileY];ctbY<tileRowBd[tileY+1];ctbY++){
for(ctbX=tileColBd[tileX];ctbX<tileColBd[tileX+1];ctbX++){
CtbAddrInCurrSlice[NumCtusInCurrSlice]=ctbY*PicWidthInCtb+ctbX
NumCtusInCurrSlice++
}
}
}
}
変数SubpicLeftBoundaryPos、SubpicTopBoundaryPos、SubpicRightBoundaryPos、およびSubpicBotBoundaryPosは、以下のように導出される。
if(subpic_treated_as_pic_flag[CurrSubpicIdx]){
SubpicLeftBoundaryPos=subpic_ctu_top_left_x[CurrSubpicIdx]*CtbSizeY
SubpicRightBoundaryPos=Min(pic_width_max_in_luma_samples-1,
(subpic_ctu_top_left_x[CurrSubpicIdx]+
subpic_width_minus1[CurrSubpicIdx]+1)*CtbSizeY-1)
SubpicTopBoundaryPos=subpic_ctu_top_left_y[CurrSubpicIdx]*CtbSizeY(118)
SubpicBotBoundaryPos=Min(pic_height_max_in_luma_samples-1,
(subpic_ctu_top_left_y[CurrSubpicIdx]+
subpic_height_minus1[CurrSubpicIdx]+1)*CtbSizeY-1)
}
slice_type表9に従って、スライスのコーディングタイプを規定する。
表9-slice_typeへの名前の関連付け
【表23】
存在しない場合、slice_typeの値は2に等しいと推論される。
ph_intra_slice_allowed_flagが0に等しい場合、slice_typeの値は0または1に等しいものとする。nal_unit_typeがIDR_W_RADL~CRA_NUTの範囲内にあり、かつvps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しい場合は、slice_typeは2に等しいものとする。
変数MinQtLog2SizeY、MinQtLog2SizeC、MinQtSizeY、MinQtSizeC、MaxBtSizeY、MaxBtSizeC、MinBtSizeY、MaxTtSizeY、MaxTtSizeC、MinTtSizeY、MaxMttDepthYおよびMaxMttDepthCは、次のように導出される。
-slice_typeが2(I)に等しい場合、以下が適用される。
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_luma (119)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_intra_slice_chroma (120)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_intra_slice_luma) (121)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_intra_slice_chroma) (122)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_intra_slice_luma) (123)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_intra_slice_chroma) (124)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_intra_slice_luma (125)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_intra_slice_chroma (126)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_intra_slice (127)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_intra_slice (128)
-そうでない場合(slice_typeが0(B)または1(P)に等しい),以下が適用される。
MinQtLog2SizeY=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice (129)
MinQtLog2SizeC=MinCbLog2SizeY+ph_log2_diff_min_qt_min_cb_inter_slice (130)
MaxBtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_bt_min_qt_inter_slice) (131)
MaxBtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_bt_min_qt_inter_slice) (132)
MaxTtSizeY=1<<(MinQtLog2SizeY+ph_log2_diff_max_tt_min_qt_inter_slice) (133)
MaxTtSizeC=1<<(MinQtLog2SizeC+ph_log2_diff_max_tt_min_qt_inter_slice) (134)
MaxMttDepthY=ph_max_mtt_hierarchy_depth_inter_slice (135)
MaxMttDepthC=ph_max_mtt_hierarchy_depth_inter_slice (136)
CuQpDeltaSubdiv=ph_cu_qp_delta_subdiv_inter_slice (137)
CuChromaQpOffsetSubdiv=ph_cu_chroma_qp_offset_subdiv_inter_slice (138)
-以下が適用される
MinQtSizeY=1<<MinQtLog2SizeY (139)
MinQtSizeC=1<<MinQtLog2SizeC (140)
MinBtSizeY=1<<MinCbLog2SizeY (141)
MinTtSizeY=1<<MinCbLog2SizeY (142)
1に等しいslice_alf_enabled_flagは、適応ループフィルタが有効化され、かつ1つのスライスにおけるY、Cb、またはCr色成分に適用され得ることを規定する。0に等しいslice_alf_enabled_flagは、スライス内のすべての色成分が無効化されることを規定する。存在しない場合、slice_alf_enabled_flagの値はph_alf_enabled_flagと推論される。
slice_num_alf_aps_ids_lumaは、スライスが参照するALF APSの数を規定する。slice_alf_enabled_flagが1に等しく、かつ、slice_num_alf_aps_ids_lumaが存在しない場合、slice_num_alf_aps_ids_lumaの値は、ph_num_alf_aps_ids_lumaの値に等しくなると推論される。
slice_alf_aps_id_luma[i]は、スライスの輝度成分が参照するi番目のALF APSのadaptation_parameter_set_idを規定する。aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_luma[i]が存在しない場合、slice_alf_aps_id_luma[i]の値は、ph_alf_aps_id_luma[i]の値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
slice_alf_chroma_idc=0は、適応ループフィルタがCbおよびCr色成分に適用されないことを示す。slice_alf_chroma_idc=1は、適応ループフィルタがCb色成分に適用されることを示す。slice_alf_chroma_idc=2は、適応ループフィルタがCr色成分に適用されることを示す。slice_alf_chroma_idc=3は、適応ループフィルタがCb色成分とCr色成分に適用されることを示す。slice_alf_chroma_idcが存在しない場合、それはph_alf_chroma_idcに等しいと推論される。
slice_alf_aps_id_chromaは、スライスの彩度成分が参照するALF APSのadaptation_parameter_set_idを規定する。aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_chromaであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_chromaが存在しない場合、slice_alf_aps_id_chromaの値は、ph_alf_aps_id_chromaの値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_chroma[i]に等しいAPS NALユニットのalf_chroma_filter_signal_flagの値は1に等しいものとする。
0に等しいslice_cc_alf_cb_enabled_flagは、クロスコンポーネントフィルタがCb色成分に適用されていないことを規定する。1に等しいslice_cc_alf_cb_enabled_flagは、クロスコンポーネントフィルタが有効であり、Cb色成分に適用されてもされなくてもよいことを規定する。slice_cc_alf_cb_enabled_flagが存在しない場合、ph_cc_alf_cb_enabled_flagに等しいと推論される。
slice_cc_alf_cb_aps_idは、スライスのCb色成分が参照するadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cb_aps_idであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_cc_alf_cb_enabled_flagが1に等しく、かつ、slice_cc_alf_cb_aps_idが存在しない場合、slice_cc_alf_cb_aps_idの値は、ph_cc_alf_cb_aps_idの値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cb_aps_idに等しいAPS NALユニットのalf_cc_cb_filter_signal_flagの値は、1に等しいものとする。
0に等しいslice_cc_alf_cr_enabled_flagは、クロスコンポーネントフィルタがCr色成分に適用されていないことを規定する。1に等しいslice_cc_alf_cb_enabled_flagは、クロスコンポーネント適応ループフィルタが有効であり、Cr色成分に適用されてもされなくてもよいことを規定する。slice_cc_alf_cr_enabled_flagが存在しない場合、ph_cc_alf_cr_enabled_flagに等しいと推論される。
slice_cc_alf_cr_aps_idは、スライスのCr色成分が参照するadaptation_parameter_set_idを規定する。aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cr_aps_idであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_cc_alf_cr_enabled_flagが1に等しく、かつ、slice_cc_alf_cr_aps_idが存在しない場合、slice_cc_alf_cr_aps_idの値は、ph_cc_alf_cr_aps_idの値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cr_aps_idに等しいAPS NALユニットのalf_cc_cr_filter_signal_flagの値は、1に等しいものとする。
colour_plane_idは、separate_colour_plane_flagが1に等しい場合は、現在のスライスに関連付けられた色平面を識別する。colour_plane_idの値は、0~2の範囲内にあるものとし、colour_plane_idの値0、1、2は、それぞれY、Cb、Cr平面に対応する。colour_plane_idの値3は、ITU-T|ISO/IECで将来使用されるように予約されている。
注1-1つのピクチャの異なる色平面のデコーディング処理間には依存性がない。
1に等しいnum_ref_idx_active_override_flagは、構文要素num_ref_idx_active_minus1[0]がPスライスおよびBスライスに存在し、構文要素num_ref_idx_active_minus1[1]がBスライスに存在することを規定する。0に等しいnum_ref_idx_active_override_flagは、構文要素num_ref_idx_active_minus1[0]およびnum_ref_idx_active_minus1[1]が存在しないことを規定する。存在しない場合、num_ref_idx_active_override_flagの値は1に等しいと推論される。
num_ref_idx_active_minus1[i]は、式143に規定するように、変数NumRefIdxActive[i]の導出に使用される。num_ref_idx_active_minus1[i]の値は、0から14までの範囲内にあるべきである。
iが0または1に等しい場合、現在のスライスがBスライスであるとき、num_ref_idx_active_override_flagが1に等しく、num_ref_idx_active_minus1[i]が存在しない場合、num_ref_idx_active_minus1[i]が0ではないと推論する。
現在のスライスがPスライスであるとき、num_ref_idx_active_override_flagが1に等しく、num_ref_idx_active_minus1[0]が存在しない場合、num_ref_idx_active_minus1[0]が0ではないと推論する。
変数NumRefIdxActive[i]は、以下のように導出される。
for(i=0;i<2;i++){
if(slice_type==B||(slice_type==P&&i==0)){
if(num_ref_idx_active_override_flag)
NumRefIdxActive[i]=num_ref_idx_active_minus1[i]+1(143)
else{
if(num_ref_entries[i][RplsIdx[i]]>=num_ref_idx_default_active_minus1[i]+1)
NumRefIdxActive[i]=num_ref_idx_default_active_minus1[i]+1
else
NumRefIdxActive[i]=num_ref_entries[i][RplsIdx[i]]
}
}else/*slice_type==I||(slice_type==P&&i==1)*/
NumRefIdxActive[i]=0
}
NumRefIdxActive[i]-1の値は、スライスをデコードするために使用され得る参照ピクチャリストiの最大参照インデックスを規定する。NumRefIdxActive[i]の値が0に等しい場合、参照ピクチャリストiの参照インデックスを使用せずにスライスをデコードすることができる。
現在のスライスがPスライスであるとき、NumRefIdxActive[0]の値は0より大きいものとする。
現在のスライスがBスライスである場合、NumRefIdxActive[0]およびNumRefIdxActive[1]の両方が0よりも大きいものとする。
cabac_init_flagコンテキスト変数の初期化処理で使用される初期化テーブルを決定する方法を規定する。cabac_init_flagが存在しない場合、0に等しいと推論される。
1に等しいslice_collocated_from_l0_flagは、時間的動きベクトル予測に使用される同一位置に配置されたピクチャが参照ピクチャリスト0から導出されることを規定する。0に等しいslice_collocated_from_l0_flagは、時間的動きベクトル予測に使用される同一位置に配置されたピクチャが参照ピクチャリスト1から導出されることを規定する。
slice_typeがBまたはPであり、ph_temporal_mvp_enabled_flagが1に等しく、slice_collocated_from_l0_flagが存在しない場合、以下が適用される。
-rpl_info_in_ph_flagが1に等しい場合は、slice_collocated_from_l0_flagはph_collocated_from_l0_flagに等しいと推論される。
-そうでない場合(rpl_info_in_ph_flagが0に等しく、slice_typeがPに等しい場合)、slice_collocated_from_l0_flagの値は1に等しいと推論される。
slice_collocated_ref_idxは、時間的動きベクトル予測に使用される同一位置に配置されたピクチャの参照インデックスを規定する。
slice_typeがPであるか、またはslice_typeがBに等しく、slice_collocated_from_l0_flagが1に等しい場合は、slice_collocated_ref_idxは、参照ピクチャリスト0のエントリを参照し、slice_collocated_ref_idxの数値は、0からNumRefIdxActive[0]-1の範囲内にあるものとする。
slice_typeがBに等しく、slice_collocated_from_l0_flagが0に等しい場合、slice_collocated_ref_idxの値は、参照ピクチャリスト1のエントリを参照し、slice_collocated_ref_idxは、0からNumRefIdxActive[1]-1の範囲内にあるものとする。
slice_collocated_ref_idxが存在しない場合、以下が適用される。
-rpl_info_in_ph_flagが1に等しい場合は、slice_collocated_ref_idxの値はph_collocated_ref_idxに等しいと推論される。
-そうでない場合(rpl_info_in_ph_flagが0に等しい)、slice_collocated_ref_idxの値は0に等しいと推論される。
slice_collocated_ref_idxが参照するピクチャは、コーディングされたピクチャのすべてのスライスで同じであるものとすることが、ビットストリーム適合性の要件である。
slice_collocated_ref_idxで参照される参照ピクチャのpic_width_in_luma_samplesとpic_height_in_luma_samplesの値が、それぞれ現在のピクチャのpic_width_in_luma_samplesとpic_height_in_luma_samplesと同じであるものとし、RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]は0に等しいものとすることが、ビットストリーム適合性の要件である。
slice_qp_deltaは、スライスにおけるコーディングブロックに使用されるQp
Yの最初の値を、コーディングユニットレイヤにおけるCuQpDeltaValの値で修正されるまで規定する。
qp_delta_info_in_ph_flagが0に等しい場合、スライスのQp
Y量子化パラメータSliceQp
Yの初期値は、以下のように導出される。
SliceQp
Y=26+init_qp_minus26+slice_qp_delta (144)
SliceQp
Yの値は、-QpBdOffset~63の範囲内である。
以下の条件のいずれかが真であるとき、
-wp_info_in_ph_flagの値は1に等しく、pps_weighted_pred_flagは1に等しく、slice_typeはPである。
-wp_info_in_ph_flagの値は1に等しく、pps_weighted_bipred_flagは1に等しく、slice_typeはBである。
以下が適用される
-NumRefIdxActive[0]の値は、NumWeightsL0の値以下であるものとする。
-0~NumRefIdxActive[0]-1の範囲内にあるiの各参照ピクチャインデックスRefPicList[0][i]について、参照ピクチャインデックスに適用される輝度重み、Cb重み、およびCr重みは、それぞれ、LumaWeightL0[i]、ChromaWeightL0[0][i]、およびChromaWeightL0[1][i]に適用される。
wp_info_in_ph_flagが1に等しく、pps_weighted_bipred_flagが1に等しく、slice_typeがBに等しい場合、以下が適用される。
-NumRefIdxActive[1]の値は、NumWeightsL1の値以下であるものとする。
-0~NumRefIdxActive[1]-1の範囲内にあるiの各参照ピクチャインデックスRefPicList[1][i]について、参照ピクチャインデックスに適用される輝度重み、Cb重み、およびCr重みは、それぞれ、LumaWeightL1[i]、ChromaWeightL1[0][i]、およびChromaWeightL1[1][i]に適用される。
slice_cb_qp_offsetは、Qp’
Cb量子化パラメータの値を決定するときに、pps_cb_qp_offsetの値に加える差分を規定する。slice_cb_qp_offsetの値は、-12~+12の範囲内とする。slice_cb_qp_offsetが存在しない場合、これは0に等しいと推論される。pps_cb_qp_offset+slice_cb_qp_offsetの値は、-12~+12の範囲内とする。
slice_cr_qp_offsetは、Qp’
Cr量子化パラメータの値を決定するときに、pps_cr_qp_offsetの値に加える差分を規定する。slice_cr_qp_offsetの値は、-12~+12の範囲内とする。slice_cr_qp_offsetが存在しない場合、これは0に等しいと推論される。pps_cr_qp_offset+slice_cr_qp_offsetの値は、-12~+12の範囲内とする。
slice_joint_cbcr_qp_offsetは、Qp’
CbCrの値を決定するときに、pps_joint_cbcr_qp_offsetの値に加える差分を規定する。slice_joint_cbcr_qp_offsetの値は、-12~+12以下とする。slice_joint_cbcr_qp_offsetが存在しない場合、これは0に等しいと推論される。pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offsetの値は、-12以上+12以下とする。
1に等しいcu_chroma_qp_offset_enabled_flagは、cu_chroma_qp_offset_flagが変換ユニットおよびパレットコーディング構文に存在し得ることを規定する。0に等しいcu_chroma_qp_offset_enabled_flagは、cu_chroma_qp_offset_flagが変換ユニットまたはパレットコーディング構文に存在しないことを規定する。存在しない場合、cu_chroma_qp_offset_enabled_flagの値は0に等しいと推論される。
1に等しいslice_sao_luma_flagは、現在のスライスにおける輝度成分に対してSAOが有効化されることを規定する。0に等しいslice_sao_luma_flagは、現在のスライスにおける輝度成分に対してSAOが無効化されることを規定する。slice_sao_luma_flagが存在しない場合、ph_sao_luma_enabled_flagに等しいと推論される。
1に等しいslice_sao_chroma_flagは、現在のスライスにおける彩度成分に対してSAOが有効化されることを規定する。0に等しいslice_sao_chroma_flagは、現在のスライスにおける彩度成分に対してSAOが無効化されることを規定する。slice_sao_chroma_flagが存在しない場合、ph_sao_chroma_enabled_flagに等しいと推論される。
1に等しいslice_deblocking_filter_override_flagは、スライスヘッダにデブロッキングパラメータが存在することを規定する。0に等しいslice_deblocking_filter_override_flagは、デブロッキングパラメータがスライスヘッダに存在しないことを規定する。存在しない場合、slice_deblocking_filter_override_flagの値はph_deblocking_filter_override_flagに等しいと推論される。
1に等しいslice_deblocking_filter_disabled_flagは、現在のスライスに対してデブロッキングフィルタの演算が適用されないことを規定する。0に等しいslice_deblocking_filter_disabled_flagは、現在のスライスに対してデブロッキングフィルタの演算が適用されることを規定する。slice_deblocking_filter_disabled_flagが存在しない場合、ph_deblocking_filter_disabled_flagに等しいと推論される。
slice_beta_offset_div2およびslice_tc_offset_div2は、現在のスライスの輝度成分に適用されるβおよびtCのデブロッキングパラメータオフセット(2で割られた)を規定する。slice_cr_beta_offset_div2およびslice_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、slice_beta_offset_div2およびslice_tc_offset_div2の値は、それぞれph_beta_offset_div2およびph_tc_offset_div2に等しいと推論される。
slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2は、現在のスライスのCb成分に適用されるβおよびtCのデブロッキングパラメータオフセット(2で除算)を規定する。slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2の値は、それぞれph_cb_beta_offset_div2およびph_cb_tc_offset_div2に等しいと推論される。
slice_cb_beta_offset_div2およびslice_cb_tc_offset_div2は、現在のスライスのCr成分に適用されるβおよびtCのデブロッキングパラメータオフセット(2で割られた)を規定する。slice_cr_beta_offset_div2およびslice_cr_tc_offset_div2の値は、いずれも-12~12の範囲内にあるものとする。存在しない場合、slice_cr_beta_offset_div2およびslice_cr_tc_offset_div2の値は、それぞれph_cr_beta_offset_div2およびph_cr_tc_offset_div2に等しいと推論される。
1に等しいslice_ts_residual_coding_disabled_flagは、residual_coding()構文構造を使用して、現在のスライスのための変換スキップブロックの残差サンプルを構文解析することを規定する。0に等しいslice_ts_residual_coding_disabled_flagは、residual_ts_coding()構文構造を使用して、現在のスライスのための変換スキップブロックの残差サンプルを構文解析することを規定する。slice_ts_residual_coding_disabled_flaggが存在しない場合、これは0に等しいと推論される。
1に等しいslice_lmcs_enabled_flagは、現在のスライスに対して、彩度スケーリングを伴う輝度マップピンを有効にすることを規定する。0に等しいslice_lmcs_enabled_flagは、現在のスライスに対して、彩度スケーリングを伴う輝度マッピングが有効でないことを規定する。slice_lmcs_enabled_flagが存在しない場合、0に等しいと推論される。
1に等しいslice_scaling_list_present_flagは、SCALING_APSに等しいaps_params_typeとph_scaling_list_aps_idに等しいadaptation_parameter_set_idを有する参照スケーリングリストAPSに含まれるスケーリングリストデータに基づいて、現在のスライスに使用されるスケーリングリストデータを導出することを規定する。0に等しいslice_scaling_list_present_flagは、現在のピクチャに対して使用したスケーリングリストデータが、7.4.3.21項に規定された、導出されたデフォルトのスケーリングリストデータであることを規定する。存在しない場合、slice_scaling_list_present_flagの値は0と推論される。
現在のスライスにおけるエントリ点の数を規定する変数NumEntryPointsは、以下のように導出される。
NumEntryPoints=0
for(i=1;i<NumCtusInCurrSlice;i++){
ctbAddrX=CtbAddrInCurrSlice[i]%PicWidthInCtbsY
ctbAddrY=CtbAddrInCurrSlice[i]/PicWidthInCtbsY
(145)prevCtbAddrX=CtbAddrInCurrSlice[i-1]%PicWidthInCtbsY
prevCtbAddrY=CtbAddrInCurrSlice[i-1]/PicWidthInCtbsY
if(CtbToTileRowBd[ctbAddrY]!=CtbToTileRowBd[prevCtbAddrY]||
CtbToTileColBd[ctbAddrX]!=CtbToTileColBd[prevCtbAddrX]||
(ctbAddrY!=prevCtbAddrY&&sps_wpp_entry_point_offsets_present_flag))
NumEntryPoints++
}
offset_len_minus1+1は、entry_point_offset_minus1[i]構文要素の長さをビット単位で規定する。offset_len_minus1の値は、0~31の範囲内にあるものとする。
entry_point_offset_minus1[i]+1は、i番目のエントリポイントのオフセットをバイトで規定し、offset_len_minus1プラス1ビットで表現される。スライスヘッダの後に続くスライスデータは、NumEntryPoints+1個のサブセットで構成され、サブセットインデックス値は0からNumEntryPointsまでの範囲内にある。スライスデータの第1バイトをバイト0とする。存在する場合、コーディングされたスライスNALユニットのスライスデータ部分に現れるエミュレーション防止バイトは、サブセット特定のために、スライスデータの一部としてカウントされる。サブセット0は、コーディングされたスライスデータのバイト0~entry_point_offset_minus1[0]で構成され、サブセットk(kは1からNumEntryPoints-1の範囲内)は、コーディングされたスライスデータのfirstByte[k]~lastByte[k]のバイトで構成され、firstByte[k]およびlastByte[k]は以下で定義される。
【数2】
lastByte[k]=firstByte[k]+entry_point_offset_minus1[k](147)
最後のサブセット(サブセットインデックスがNumEntryPointsに等しい)は、コーディングされたスライスデータの残りのバイトで構成される。
sps_entropy_coding_sync_enabled_flagが0に等しく、スライスが1つ以上の完全なタイルを含む場合、各サブセットは、同じタイル内にあるスライス内のすべてのCTUのすべてのコーディングされたビットから構成されるものとし、サブセットの数(即ち、NumEntryPointsの値+1)は、スライス内のタイルの数と等しいものとする。
sps_entropy_coding_sync_enabled_flagが0に等しく、かつスライスが単一のタイルからのCTU行のサブセットを含む場合、NumEntryPointsは0に等しく、かつサブセットの数は1に等しいものとする。サブセットは、スライスにおけるすべてのCTUのすべてのコーディングされたビットで構成されるものとする。
sps_entropy_coding_sync_enabled_flagが1に等しい場合は、各サブセットk(kは0~NumEntryPointsの範囲内)は、1つのタイル内のCTU行におけるすべてのCTUのコーディングされたビットから構成されるものとし、サブセットの数(すなわち、NumEntryPoints+1の値)は、スライスにおけるタイル固有のCTU行の総数に等しいものとする。
slice_header_extension_lengthは、スライスヘッダの拡張データの長さをバイトで規定する。slice_header_extension_length自体の信号通知に使用されるビットは含まない。slice_header_extension_lengthの値は、0~256までの範囲内にあるべきである。存在しない場合、slice_header_extension_lengthの値は0に等しいと推論される。
slice_header_extension_data_byte[i]は、任意の値を有していてもよい。本明細書のバージョンに準拠するデコーダは、すべてのslice_header_extension_data_byte[i]構文要素の値を無視しなければならない。その値は、本明細書のバージョンで特定された特徴に対するのデコーダの適合性に影響を与えない。
【0031】
3.5 彩度QPマッピングテーブル
JVET-Q2001-vCの7.3.2.3において、SPSは以下のように彩度QPテーブルと呼ばれる構造を含む。
【表24】
これらは、以下の意味論とQPテーブル導出を有する。
0に等しいsps_joint_cbcr_enabled_flagは、彩度残差の共同コーディングが無効化されることを規定する。1に等しいsps_joint_cbcr_enabled_flagは、彩度残差の共同コーディングが有効化されることを規定する。存在しない場合、sps_joint_cbcr_enabled_flagの値は0に等しいと推論される。
1に等しいsame_qp_table_for_chromaは、1つの彩度QPマッピングテーブルのみが信号通知され、このテーブルが、CbおよびCr残差に適用され、かつsps_joint_cbcr_enabled_flagが1に等しい場合に共同Cb-Cr残差にも適用されることを規定する。0に等しいsame_qp_table_for_chromaは、sps_joint_cbcr_enabled_flagが1に等しい場合、彩度QPマッピングテーブル、CbとCrの2つと、共同Cb-Crに対して追加の1つとがSPSにおいて信号通知されることを規定する。same_qp_table_for_chromaがビットストリームに存在しない場合、same_qp_table_for_chromaの値は1に等しいと推論される。
qp_table_start_minus26[i]+26は、i番目の彩度QPマッピングテーブルを説明するために使用される開始輝度および彩度QPを規定する。qp_table_start_minus26[i]の値は、-26-QpBdOffset~36の範囲内にあるものとする。qp_table_start_minus26[i]がビットストリームに存在しない場合、qp_table_start_minus26[i]の値は0に等しいと推論される。
num_points_in_qp_table_minus1[i]+1は、i番目の彩度QPマッピングテーブルを説明するために使用される点の数を規定する。num_points_in_qp_table_minus1[i]の値は、0~63+QpBdOffsetの範囲内にあるものとする。num_points_in_qp_table_minus1[0]がビットストリームに存在しない場合、num_points_in_qp_table_minus1[0]の値は0に等しいと推論される。
delta_qp_in_val_minus1[i][j]は、i番目の彩度QPマッピングテーブルのj番目のピボット点の入力座標を導出するために使用するデルタ値を規定する。delta_qp_in_val_minus1[0][j]がビットストリームに存在しない場合、delta_qp_in_val_minus1[0][j]の値は0に等しいと推論される。
delta_qp_diff_val[i][j]は、第i彩度QPマッピングテーブルのj番目のピボット点の出力座標を導出するために使用するデルタ値を規定する。
i=0...numQpTables-1のi番目の彩度QPマッピングテーブルChromaQpTable[i]は、以下のように導出される。
qpInVal[i][0]=qp_table_start_minus26[i]+26
qpOutVal[i][0]=qpInVal[i][0]
for(j=0;j<=num_points_in_qp_table_minus1[i];j++){
qpInVal[i][j+1]=qpInVal[i][j]+delta_qp_in_val_minus1[i][j]+1
qpOutVal[i][j+1]=qpOutVal[i][j]+(delta_qp_in_val_minus1[i][j]^delta_qp_diff_val[i][j])
}
ChromaQpTable[i][qpInVal[i][0]]=qpOutVal[i][0]
for(k=qpInVal[i][0]-1;k>=-QpBdOffset;k--)
ChromaQpTable[i][k]=Clip3(-QpBdOffset,63,ChromaQpTable[i][k+1]-1)
for(j=0;j<=num_points_in_qp_table_minus1[i];j++){
sh=(delta_qp_in_val_minus1[i][j]+1)>>1
for(k=qpInVal[i][j]+1,m=1;k<=qpInval[i][j+1];k++,m++)
ChromaQpTable[i][k]=ChromaQpTable[i][qpInVal[i][j]]+
((qpOutVal[i][j+1]-qpOutVal[i][j])*m+sh)/(delta_qp_in_val_minus1[i][j]+1)
}
for(k=qpInVal[i][num_points_in_qp_table_minus1[i]+1]+1;k<=63;k++)
ChromaQpTable[i][k]=Clip3(-QpBdOffset,63,ChromaQpTable[i][k-1]+1)
same_qp_table_for_chromaが1に等しい場合、ChromaQpTable[1][k]およびChromaQpTable[2][k]は、-QpBdOffsetから63までの範囲内にあるkについて、ChromaQpTable[0][k]に等しく設定される。
qpInVal[i][j]、qpOutVal[i][j]の値は、-QpBdOffset~63の範囲内にあり、iが0~numQpTables-1の範囲内にあり、jが0~num_points_in_qp_table_minus1[i]+1の範囲内にあるものとすることが、ビットストリーム適合性の要件である。
上記説明において、QpBdOffsetは以下のように導出される。
bit_depth_minus8は、輝度および彩度配列BitDepthのサンプルのビット深度および彩度量子化パラメータレンジオフセットQpBdOffsetの値を以下のように規定する。
BitDepth=8+bit_depth_minus8
QpBdOffset=6*bit_depth_minus8
bit_depth_minus8は、0から8までの範囲内にある。
【0032】
4. 開示される技術的解決策によって解決される技術課題
APS、デブロッキング、サブピクチャ、QPデルタに対する最新のVVCドラフト仕様の既存設計には、以下のような問題がある。
1) 現在、APS構文要素scaling_list_chroma_present_flagの値は、SPS構文要素chroma_format_idcおよびseparate_colour_plane_flagから導出されたChromaArrayTypeに基づいて制約され、以下のように表現される。ChromaArrayTypeが0に等しい場合、scaling_list_chroma_present_flagは0に等しく、ChromaArrayTypeが0に等しくない場合は、1に等しい。
APSの構文要素の意味論におけるこのような制約は、APSのSPSに対する意味論的な依存性をもたらすが、これはAPS構文にPPS IDまたはSPS IDがないために発生すべきではなく、APSは異なるSPSを参照するピクチャ(またはピクチャのスライス)に適用され、ChromaArrayTypeの異なる値に関連付けられ得る。
a. さらに、いくつかのALF/CC-ALF APS構文要素の意味論にも同様のAPS-SPSの意味論依存が存在し、以下のように表現される。alf_chroma_filter_signal_flag,alf_cc_cb_filter_signal_flag,およびalf_cc_cr_filter_signal_flagは、ChromaArrayTypeが0に等しい場合、0に等しい。
b. 現在、LMCS APSが信号通知されるとき、ChromaArrayTypeが0に等しい(すなわち、CLVSに彩度成分が存在しない)かどうかに関わらず、彩度残差スケーリング関連構文要素は、常にLMCS APS構文構造で信号通知される。その結果、彩度関連構文要素を不必要に信号通知することになる。
2) 最近のVVCテキストにおけるデブロッキング制御メカニズムは、非常に複雑で、簡単でなく、理解しにくく、その結果、誤りを生じやすいとされている。以下に、観察されたいくつかの例示的な問題を示す。
a. 現在のテキストによれば、PPSにおいてデブロッキングフィルタが無効にされても、PHまたはSHにおいてデブロッキングフィルタが有効とされ得る。例えば、最初にpps_deblocking_filter_disabled_flagが1に等しいと信号通知され、deblocking_filter_override_enabled_flagも1に等しいと信号通知されれば、PPSでデブロッキングフィルタが無効であることを示すとともに、デブロッキングフィルタ有効/無効制御をPHまたはSHでオーバーライドできることになる。次に、dbf_info_in_ph_flagが信号通知され、PH構文要素ph_deblocking_filter_disabled_flagが0に等しくなるように信号通知され、最終的にPHに関連付けられたスライスに対してデブロッキングフィルタが有効にされる。このような場合、デブロッキングは、上位レベル(例えば、PPS)で無効とされたにも関わらず、PHで最終的に有効とされる。このような設計ロジックは、VVCテキストに固有のものであり、他のコーディングツール(ALF、SAO、LMCS、TMVP、WP等)の設計ロジックとは全く異なるもので、通常コーディングツールは上位層(SPS、PPS等)で無効であるときは、下位層(PH、SH等)で完全に無効となるものである。
b. また、現在のpps_deblocking_filter_disabled_flagの定義は、「1に等しいpps_deblocking_filter_disabled_flagは、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対してデブロッキングフィルタの操作を適用しないことを規定する。」に類似している。しかし、現在の構文表によると、pps_deblocking_filter_disabled_flagが1に等しく、かつslice_deblocking_filter_disabled_flagが存在しない場合でも、ph_deblocking_filter_disabled_flagが存在し、かつ0に等しいことが信号通知されていればデブロックフィルタの操作が適用される。そのため、pps_deblocking_filter_disabled_flagの現在の定義は正しくない。
c.さらに、現在のテキストによると、PPS構文要素deblocking_filter_override_enabled_flagとpps_deblocking_filter_disabled_flagがともに1に等しい場合、PPSでデブロックを無効にして、デブロッキングフィルタの制御はPHまたはSHでオーバーライドされることが意図されることを規定している。しかし、その後のPH構文要素ph_deblocking_filter_override_flagおよびph_deblocking_filter_disabled_flagは、依然として1となるように信号通知されるかも知れず、結果としてオーバーライド処理は何も変更せず(例えば、デブロッキングはPH/SHで無効のまま)、ただ無意味な信号通知のために不要なビットを使用することになる。
d. さらに、現在のテキストに従って、SH構文要素slice_deblocking_filter_override_flagが存在しない場合、それはph_deblocking_filter_override_flagに等しいと推論される。しかし、前記PPSにおける非明示的または明示的な信号通知の他に、デブロッキングパラメータは、dbf_info_in_ph_flagに従ってPHまたはSHのいずれか一方でのみ信号通知することができるが、両方が信号通知されることはない。そのため、dbf_info_in_ph_flagが真である場合、PHにおけるオーバーライドデブロッキングフィルタパラメータを信号通知することを許可することが意図される。この場合、PHオーバーライドフラグが真であり、前記SHオーバーライドフラグが信号通知されないが、PHオーバーライドフラグに等しいと推論される場合、前記SHにおいて、追加のデブロッキングフィルタパラメータが依然として信号通知されるが、これは、意図と矛盾する。
e. また、SPSレベルのデブロッキングのオン/オフ制御がなく、これが追加され、PPS/PH/SHにおける関連構文要素が適宜更新され得る。
3) 現在、PPS構文要素single_slice_per_subpic_flagが存在しない場合、それは0に等しいと推論される。single_slice_per_subpic_flagが存在しない場合、i)no_pic_partition_flagが1に等しく、ii)no_pic_partition_flagは0に等しく、rect_slice_flagは0に等しい。
ケースi)では、no_pic_partition_flagが1に等しい場合、PPSを参照する各ピクチャにピクチャ分割が適用されないため、各ピクチャには1つのスライスのみが存在し、および結果として各サブピクチャには1つのスライスのみが存在することが規定される。したがって、この場合、single_slice_per_subpic_flagは1に等しいと推論されるべきである。
ii)のケースの場合、rect_slice_flagは0に等しいので、single_slice_per_subpic_flagの推論値は必要とされない。
4) 現在、ピクチャレベルまたはスライスレベルのいずれかにおける輝度qpデルタは、PHまたはSHのいずれかに常に強制的に信号通知されるが、両方には信号通知されない。これに対し、スライスレベルの彩度QPオフセットは、選択的にSHにおいて信号通知される。そのような設計はいくぶん整合性がない。
a. また、PPS構文要素cu_qp_delta_enabled_flagの現在の意味論は、以下のように記述される。cu_qp_delta_enabled_flagが1に等しい場合、PPSを参照するPHにph_cu_qp_delta_subdiv_intra_sliceおよびph_cu_qp_delta_subdiv_inter_slice構文要素が存在すること、および変換単位構文にcu_qp_delta_absが存在してもよいことが規定される...。しかし、cu_qp_delta_absはパレットコーディング構文にも存在する可能性があり、これもcu_qp_delta_enabled_flagで規定する必要がある。言い換えれば、cu_qp_delta_enabled_flagの現在の意味論は十分に明確ではなく、少し紛らわしい。
5) 彩度Qpマッピングテーブルの現在の設計で、彩度Qpが輝度Qpと等しいケースを表現するのは簡単ではない。
6) 現在、subpic_transted_as_pic_flag[i]は、sps_independent_subpics_flagの値に等しいと推論される。しかし、現在のスペックは、subpic_transport_as_pic_flag[i]が0に等しい場合にのみ、水平ラップアラウンドを有効にすることを許可し、ラップアラウンド動き補償は、360映像コンテンツに対して設計される。したがって、1つのピクチャが1つのサブピクチャしか含まない場合(特に、完全な360映像シーケンスが1つのサブピクチャしか含まない場合)、subpic_transport_as_pic_flag[i]の推論値は、0に等しいか、またはラップアラウンド動き補償を可能にする一定の値であると推論され得る。
7) 現在のところ、pps_deblocking_filter_disabled_flagの意味論は正しくなく、不完全であり、例えばpps_deblocking_filter_disabled_flagが1に等しいとき、このPPSを参照するスライスに対してデブロッキングは有効とされているか、または無効とされているかもしれないが、それらの条件は意味論では言及されていない。pps_deblocking_filter_disabled_flagの意味論部分についても同様に0に等しい。
a. さらに、PPS構文要素pps_deblocking_filter_disabled_flagが1に等しく、一方、PH/SH構文要素ph/slice_deblocking_filter_override_flagが1に等しいと信号通知されるとき、ph/slice_deblocking_filter_disabled_flagは依然として、1に等しいと明示的に信号通知することが許される。このフラグの値の組み合わせは、PPSレベルでデブロッキングが無効でピクチャまたはスライスでのオーバーライドを許可すると言われ、次にPH/SHレベルでオーバーライドされようとしていることが示され、その後、同じヘッダ(PH/SH)内でビットが信号通知されて、実際にはオーバーライドされないと判断し、デブロッキングはピクチャ/スライスレベルで無効のままとなる。これは、不必要にビットが使われるだけでなく、混乱を引き起こすために使われるという、二重の好ましくない効果があると主張される。そこで、我々は、デブロッキング制御構文要素の意味論をさらに改善し、オーバーライドを指示することを許可する機能を排除し、同じPHまたはSHにおける次のビットを即時に送信し、心の変化を指示することを提案する。
【0033】
5. 解決策および実施形態の一覧
上述した問題点および上記以外の問題点を解決するために、以下のような方法が開示されている。以下の項目は、一般的な概念を説明するための例であり、狭義に解釈されるべきではない。さらに、これらの項目は、個々に適用されてもよく、または任意の方法で組み合わされてもよい。
【0034】
以下の説明において、SHは1つのPHに関連付けられてもよく、すなわち、SHは1つのスライスに関連付けられ、このスライスはこのPHに関連付けられたピクチャ内にある。SHは1つのPPSに関連付けられてもよく、すなわち、SHは1つのスライスに関連付けられ、このスライスはこのPPSに関連付けられたピクチャ内にある。PHは、PPSに関連付けられてもよく、すなわち、PHは、PPSに関連付けられたピクチャに関連付けられる。
【0035】
以下の説明において、SPSはPPSに関連付けられてもよく、すなわち、PPSはSPSを指してもよい。
【0036】
【化1】
1. 第1の問題を解決するためのAPS構文要素の制約条件について、以下のアプローチの1つ以上が開示される。
a. 一例において、PH構文要素から導出されたChromaArrayTypeに従って、scaling_list_chroma_present_flagの値を制約する。
i. 例えば、scaling_list_chroma_present_flagの値が制約されるかどうかは、例えば、第1の実施例のように、ph_scaling_list_aps_idが存在するか否かに依存し得る。
1) 一例において、ph_scaling_list_aps_idが存在する場合、SCALING_APSに等しいaps_params_typeおよびph_scaling_list_aps_idに等しいadaptation_parameter_set_idを有するAPS NALユニットのscaling_list_chroma_present_flagの値はChromaArrayType==0?0:1と等しいことが要求される。
ii. あるいは、scaling_list_chroma_present_flagは、PH構文要素によって導出されたChromaArrayTypeに基づいて制約されるが、例えば、第1のセットの実施形態のように、ph_scaling_list_aps_idの存在とは無関係に制約される。
1) 一例において、SCALING_APSに等しいaps_params_typeを有するAPS NALユニットのscaling_list_chroma_present_flagの値は、ChromaArrayType==0?0:1に等しいことが必要である。
b. 一例において、PH構文要素によって導出されたChromaArrayTypeに基づいて、lmcs_delta_abs_crsの値を制約する。
i. 例えば、lmcs_delta_abs_crsの値が制約されるかどうかは、例えば、第1のセットの実施形態のように、ph_lmcs_aps_idが存在するか否かに依存してもよい。
1)例えば、ph_lmcs_aps_idが存在する場合、LMCS_APSに等しいaps_params_typeおよびph_lmcs_aps_idに等しいadaptation_parameter_set_idを有するAPSNALユニットのlmcs_delta_abs_crsの値は、ChromaArrayTypeが0に等しければ0とし、そうでなければ0よりも大きいことが要求される。
2) あるいは、ph_lmcs_aps_idが存在する場合、ChromaArrayTypeが0に等しいとき、aps_params_typeがLMCS_APS、adaptation_parameter_set_idがph_lmcs_aps_idのAPS NALユニットのlmcs_delta_abs_crs値は0に等しくなければならない。
ii. あるいは、lmcs_delta_abs_crsは、PH構文要素によって導出されたChromaArrayTypeに基づいて制約されるが、ph_lmcs_aps_idの存在に関わらず、例えば、第1のセットの実施形態のように制約される。
1) 例えば、ph_lmcs_aps_idに等しいAPS NALユニットのlmcs_delta_abs_crsの値は、ChromaArrayTypeが0に等しい場合、0に等しく、そうでない場合、0よりも大きい。
2) 例えば、ChromaArrayTypeが0に等しい場合、APS NALユニットのlmcs_delta_abs_crsの値がph_lmcs_aps_idに等しい値は0に等しい。
c. 一例では、ALF APS構文要素(例えば、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag等)の値を、PH構文要素および/またはSH構文要素が導き出すChromaArrayTypeに従って制約する。
i. 例えば、alf_chroma_filter_signal_flagおよび/またはalf_cc_cb_filter_signal_flagおよび/またはalf_cc_cr_filter_signal_flagの値が制約されるかどうかは、例えば、第1のセットの実施形態のように、ph_alf_aps_id_luma[i]またはslice_alf_aps_id_luma[i]が存在するかどうか、および/またはChromaArrayTypeが0に等しいかどうかによって決定されてもよい。
1) 例えば、ph_alf_aps_id_luma[i]が存在し、ChromaArrayTypeが0に等しい場合、
ALF_APSに等しいALF_APSおよびph_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idを有するAPS NALユニットのalf_chroma_filter_flag、alf_cc_b_filter_flag、alf_cc_cr_filter_flagの値は、全て0に等しいことが必要である。
2) また、slice_alf_aps_id_luma[i]が存在し、ChromaArrayTypeが0に等しい場合、
ALF_APSに等しいALF_APSおよびslice_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idを有するAPS NALユニットのalf_chroma_filter_flag、alf_cc_b_filter_flag、alf_cc_cr_filter_flagの値は、全て0に等しいことが必要である。
ii. あるいは、alf_chroma_filter_signal_flagおよび/またはalf_cc_cb_filter_signal_flagおよび/またはalf_cc_cr_filter_signal_flagは、例えば第1のセットの実施形態のように、ph_alf_aps_id_luma[i]および/またはslice_alf_aps_id_luma[i]の存在とは無関係に、PH構文要素またはSH構文要素により導出されるChromaArrayTypeに基づいて制約される。
1) 例えば、ChromaArrayTypeが0に等しい場合、ALF_APSに等しいaps_params_typeを有するAPS NALユニットのalf_chroma_filter_signal_flag,alf_cc_cb_filter_signal_flag,alf_cc_cr_filter_signal_flagの値は全て0に等しいことが要求される。
2) さらに、ChromaArrayTypeが0に等しい場合、ALF_APSに等しいaps_params_typeを有するAPS NALユニットのalf_chroma_filter_signal_flag,alf_cc_cb_filter_signal_flag,alf_cc_cr_filter_signal_flagの値は全て0に等しいことが要求される。
iii. あるいは、alf_chroma_filter_signal_flagおよび/またはalf_cc_cb_filter_signal_flagおよび/またはalf_cc_cr_filter_signal_flagは、例えば、第1のセットの実施形態におけるように、彩度APS ID関連PHまたはSH構文要素によって導出されたChromaArrayTypeに基づいて制約される。
1) 例えば、alf_chroma_filter_signal_flagは、PH構文要素ph_alf_aps_id_chromaおよび/またはSH構文要素slice_alf_aps_id_chromaによって導出されるChromaArrayTypeによって制約される。
2) 例えば、alf_cc_cb_filter_signal_flagはPH構文要素ph_cc_alf_cb_aps_idおよびSH構文要素slice_cc_alf_cb_aps_idにより導出されるChromaArrayTypeに従って制約される。
3) 例えば、alf_cc_cr_filter_signal_flagはPH構文要素ph_cr_alf_cb_aps_idおよびSH構文要素slice_cr_alf_cb_aps_idにより導出されるChromaArrayTypeに従って制約される。
d. 一例において、ALFおよび/またはスケーリングリストおよび/またはLMCSデータ構文構造におけるAPS構文要素の意味論は、4:0:0映像コーディングおよび/または別個の色平面コーディングであるかどうかに依存しなくてもよい。
i. 例えば、ALFデータ構文構造におけるAPS構文要素(例えば、alf_chroma_filter_signal_flag、alf_cc_cb_filter_signal_flag、alf_cc_cr_filter_signal_flag等)の意味論は、例えば、第1のセットの実施形態のようにSPS/PH/SH構文要素(ChromaArrayType等)によって導出された変数/構文に依存しなくてもよい。
ii. さらに、代替的に、スケーリングリストデータ構文構造におけるAPS構文要素(例えば、scaling_list_chroma_present_flag、およびその他)の意味論は、例えば、第1のセットの実施形態のように、SPS/PH/SH構文要素(例えば、ChromaArrayType)によって導出された変数/構文に依存しなくてもよい。
e. さらに、ALF/スケーリング/LMCS APS NALユニットのTemporIdが制約されるか否かは、例えば、第1のセットの実施形態と同様に、対応するAPS IDが存在するかどうかに依存してもよい。
i. 例えば、ALF APS NALユニットのtemporalIdが制約されるか否かは、ph_alf_aps_id_luma[i]および/またはph_alf_aps_id_chromaおよび/またはph_cc_alf_cb_aps_idおよび/またはph_cc_alf_cr_aps_idが存在するかどうかに依存してもよい。
ii. 例えば、LMCS APS NALユニットのtemporalIdが制約されているかどうかは、ph_lmcs_aps_idが存在するかどうかに依存してもよい。
iii. 例えば、SCALING APS NALユニットのtemporalIdが制約されているかどうかは、ph_scaling_list_aps_idが存在するかどうかに依存することができ
f. さらに、alf_luma_filter_signal_flag、alf_chroma_filter_signal_flagおよび/またはalf_cc_cb_filter_signal_flagおよび/またはalf_cc_cr_filter_signal_flagの値が1に等しくなるかどうかは、例えば、第1のセットの実施形態のように対応するAPS IDが存在するかどうかに依存してもよい。
i. 例えば、alf_luma_filter_signal_flagが1に等しいかどうかは、ph_alf_aps_id_luma[i]および/またはslice_alf_aps_id_luma[i]が存在するかどうかによって決定され得る。
ii. 例えば、alf_chroma_filter_signal_flagが1に等しいかどうかは、ph_alf_aps_id_chromaおよび/またはslice_alf_aps_id_chromaが存在するかどうかに依存してもよい。
iii. 例えば、alf_cc_cb_filter_signal_flagが1に等しいかどうかは、ph_cc_alf_cb_aps_idおよび/またはslice_cc_alf_cb_aps_idが存在するかどうかに依存してもよい。
iv. 例えば、alf_cc_cr_filter_signal_flagが1に等しいかどうかは、ph_cc_alf_cr_aps_idおよび/またはslice_cc_alf_cr_aps_idが存在するかどうかに依存してもよい。
g. 加えて、代替的に、SH内の彩度ALF APS ID構文要素(例えば、slice_alf_aps_id_chroma、slice_cc_alf_cb_aps_id、slice_cr_alf_cb_aps_idおよびその他)が推論されるかどうかは、例えば、第1のセットの実施形態におけるように、ChromaArrayTypeの値に依存してもよい。
i. 例えば、ChromaArrayTypeが0に等しくない場合、SH内の彩度ALF APS ID構文要素(例えば、slice_alf_apsid_chroma、slice_cc_alf_cb_aps_id、slice_cr_alf_cb_aps_id等)の値が推定されてもよい。
h. 一例において、ChromaArrayTypeに基づくAPS構文要素の制約は、PH構文要素またはSH構文要素によって導出されてもよい。
i. 一例において、構文要素が制約されるAPSは、PHまたはSHで信号通知されたインデックス(ph_num_alf_aps_ids_luma、ph_alf_aps_id_chroma、ph_lmcs_aps_id、ph_scaling_list_aps_idなど)によって決定される。
ii. 一例において、ChromaArrayTypeは、SPSで信号通知された情報(chroma_format_idcおよびseparate_color_plane_flag等)により導出され、PPSで信号通知されたインデックス(pps_seq_parameter_set_id等)によって決定し、さらに、PHまたはSHで信号通知されたインデックス(ph_pic_parameter_set_id等)によって決定されてもよい。
iii. 一例において、その制約は、APSおよびPHまたはSHを構文解析した後にチェックされるべきである。
iv. 一例において、構文要素(例えば、aps_chroma_present_flagと呼ばれる)は、APS構文構造(例えば、adapation_parameter_set_rbsp())において、彩度関連APS構文要素が信号通知されるかどうかを規定するように信号通知されてもよい。
v. また、構文要素aps_chroma_present_flagは、ChromaArrayTypeによって制約されてもよい。
a) 例えば、ChromaArrayTypeが0に等しい場合、aps_chroma_present_flagは0に等しくなければな らない。
b) 例えば、ChromaArrayTypeが0よりも大きい場合、aps_chroma_present_flagは1に等しくなければならない。
vi. 加えて、ChromaArrayTypeに基づく制約は、PHまたはSH構文要素によって導出されてもよい。
a) 一例において、ALF_APSに等しいaps_params_typeおよびph/slice_alf_aps_id_luma[i]に等しいadaptation_parameter_set_idを有するAPSNALユニットのaps_chroma_present_flagの値はchromaArrayTypeが0に等しい場合、0等しくしなければならないことが要求される。
a. さらに、代替的に、chromaArrayTypeが0より大きいとき、ALF_APSに等しいaps_params_typeおよびph/slice_alf_aps_id_chroma(および/またはph_cc_alf_cb_aps_idおよび/またはph_cc_alf_cr_aps_id)に等しいaptation_parameter_set_idを有するAPS NALユニットのaps_chroma_present_flagの値は、1に等しくしなければならないことが要求される。
b) 一例において、SCALING_APSに等しいaps_params_typeおよびph_scaling_list_aps_idに等しいadaptation_parameter_set_idを有するAPS NALユニットのaps_chroma_present_flagの値は、chromaArrayTypeが0の場合、0に等しいことが要求される。
a. さらに、代替的に、SCALING_APSに等しいaps_params_typeおよびph_scaling_list_aps_idに等しいadaptation_parameter_set_idを有するAPS NALユニットのaps_chroma_present_flagの値は、chromaArrayTypeが0より大きい場合、1に等しくなければならない。
c) 一例において、LMCS_APSに等しいaps_params_typeおよびph_lmcs_aps_idに等しいadaptation_parameter_set_idを有するAPS NALユニットのaps_chroma_present_flagの値は、chromaArrayTypeが0である場合、0に等しいことが要求される。
vii. さらに、ChromaArrayTypeに基づく制約は、PH/SHにおけるAPS IDの存在にかかわらず、PH構文要素またはSH構文要素によって導出されてもよい。
a) 一例において、SCALING_APSおよび/またはALF_APSおよび/またはLMCS APSに等しいaps_params_typeを有するAPS NALユニットのaps_chroma_present_flagの値は、chromaArrayTypeが0の場合、0に等しいことが要求される。
b) あるいは、代替的に、SCALING_APSおよび/またはALF_APSおよび/またはLMCS APSに等しいaps_params_typeを有するAPS NALユニットのaps_chroma_present_flagの値は、chromaArrayTypeが0よりも大きい場合、1に等しいことが要求される。
2. 第2の課題を解決するためのデブロッキング制御の信号通知について、例えば、第2のセットの実施形態と同様に、以下のアプローチのうち1つ以上が開示される。
a. 一例において、Nビット(N=2など)のデブロッキングモードインジケータ(例えば、deblocking_filter_mode_idcと名付けられ)が信号通知される。
i. 一例において、構文要素deblocking_filter_mode_idcは、u(2)コーディングされる。
a) あるいは、deblocking_filter_mode_idcの構文解析プロセスは、N(例えば、N=2)ビットの符号なし整数である。
ii. 一例において、構文要素deblock_filter_mode_idcは、PPSにおいて信号通知される。
iii. 一例において、構文要素deblocking_filter_mode_idcは、以下の4つのモードを規定するために用いられる:a)デブロッキングが完全に無効であり全てのスライスに対して用いられない、b)デブロッキングが0値のβとtCオフセットを用いて全てのスライスに対して用いられる、c)デブロッキングがPPSにおいて信号通知されたβとtCオフセットを用いて全てのスライスに対して用いられる、d)さらにデブロッキングがいずれかのピクチャまたはスライスレベルにおいて制御される。
b. 構文フラグph/slice_deblocking_filter_used_flagはPHまたはSHにおいて信号通知され、現在のピクチャ/スライスにデブロッキングが使用されるかどうかを規定する。
c. 構文フラグph/slice_deblocking_parameters_override_flagは、PHまたはSHのいずれかにおいて信号通知され、PH/SHにおいて信号通知された値によってβオフセットおよびtCオフセットがオーバーライドされるかどうかを規定する。
i. また、slice_deblocking_parameters_override_flagの値は、存在していない場合、0に等しいと推論する。
d. 一例において、デブロッキング制御を規定する構文要素(例えば、有効フラグ、無効フラグ、制御フラグ、デブロッキングモードインジケータ、デブロッキングフィルタベータ/tcパラメータ等)は、SPSにおいて信号通知されてもよい。
i. 一例において、映像ユニット(例えば、CLVS)においてデブロッキングが有効化されているか否かを規定するSPSにおいて、1つ以上の構文要素が信号通知されてもよい。
ii. また、SPSでデブロッキングを無効にする場合、PPS/PH/SHにおける PPS/PH/SH レベルのデブロッキングのオン/オフ制御に関する構文要素は、全てのスライスに対してデブロッキングを完全に無効にして使用しないことを規定する特定の値に等しくすることが要求され る。
iii. 一例において、デブロッキングフィルタ制御存在フラグは、SPSにおいて信号通知されてもよい。
iv. 例えば、Nビット(N=2など)のデブロッキングモードインジケータ(例えば、deblocking_filter_mode_idcという名前)がSPS内で信号通知されてもよい。
v. 例えば、ベータ/tcデブロッキングパラメータは、SPSにおいて信号通知されてもよい。
vi. 例えば、0値ベータ/tcデブロッキングパラメータを用いてデブロッキングが有効であるかどうかは、SPS構文要素に依存することができる。
vii. 例えば、デブロッキングは、SPS/PPS/PH/SHレベルで適用され、SPSにおいて信号通知されたベータ/tcデブロッキングパラメータを使用することができる。
viii. 例えば、デブロッキングは、SPS/PPS/PH/SHレベルで適用され、SPSにおいて信号通知された0値デブロッキングパラメータを使用することができる。
3. 第3の問題を解決するためのPPS構文要素single_slice_per_subpic_flagの推論について、以下のアプローチの1つ以上が開示される。
a. 一例において、no_pic_partition_flagが1に等しい場合、single_slice_per_subpic_flagは1に等しいと推論し、例えば、single_slice_per_subpic_flagの意味論は次のように変更される。
【化2】
4. 第4の問題を解決するためのピクチャまたはスライスQPデルタ信号通知に関して、以下のアプローチの1つ以上が開示される。
a. 一例において、PHまたはSHのいずれかにおいて、ピクチャまたはスライスレベルの彩度QPオフセットが常に信号通知される。
i. 例えば、映像コンテンツに彩度成分がある(例えば、ChromaArrayTypeが0に等しくない)場合、PPSにおいて信号通知される現在のフラグ(例えば、pps_slice_chroma_qp_offsets_present_flag)を条件とせずに、ピクチャまたはスライスレベルの彩度QPオフセットが常に信号通知されてもよい。
ii. あるいは、映像コンテンツに彩度成分がある(例えば、ChromaArrayTypeが0に等しくない)場合、pps存在フラグに関わらず(例えば、pps_slice_chroma_qp_offsets_present_flag)、slice_cb_qp_offsetおよびslice_cr_qp_offset構文要素は常に関連するスライスヘッダに存在してもよい
iii. さらに、slice_cb_qp_offsetおよびslice_cr_qp_offset構文要素の存在を規定する存在フラグ(例えば、pps_slice_chroma_qp_offsets_present_flag)は、信号通知されない場合もある。
b. 一例において、pps_cu_qp_delta_enabled_flagは、変換ユニット構文およびパレットコーディング構文の両方において、cu_qp_delta_absおよびcu_qp_delta_sign_flagの存在を規定するために使用されてもよく、pps_cu_qp_delta_enabled_flagの意味論は、次のように変更される。
【化3】
c. 一例において、輝度QPデルタは、PHおよびSHの両方において信号通知されてもよい。
i. 例えば、輝度QPデルタ存在フラグは、PPSおよび/またはPHおよび/またはSHにおいて信号通知されてもよい。
ii. 例えば、PH/SHにおいて輝度QPデルタが信号通知されるかどうかは、PPSおよび/またはPH/SHにおける現在のフラグに依存する。
iii. 例えば、PH輝度QPdeltaおよびSH輝度QPdeltaの値を加算して、SliceQpY等の輝度量子化パラメータの算出に用いてもよい。
d. 一例において、彩度QPオフセットは、PHおよびSHの両方において信号通知されてもよい。
i. 例えば、彩度QPオフセット存在フラグは、PPSおよび/またはPHおよび/またはSHにおいて信号通知されてもよい。
ii. 例えば、PH/SHにおいて彩度QPオフセットが信号通知されるかどうかは、PPSおよび/またはPH/SHにおける現在のフラグに依存する。
iii. 例えば、PH彩度QPオフセットおよびSH彩度QPオフセットの値は、加算的であってもよく、CbおよびCr成分の彩度量子化パラメータを導出するために用いられてもよい。
5. 彩度Qpマッピングテーブルに関して、以下のアプローチのうちの1つ以上が開示される。
a. 一例において、彩度QPテーブルの導出プロセスにおいて、XOR演算子は、例えば第3のセットの実施形態のように、(delta_qp_in_val_minus1[i][j]+1)とdelta_qp_diff_val[i][j]との間で行なわれる。
b. SPSでは、sps_ multiple_sets_of_chroma_qp_table_present_flagにフラグを付けることが提案される。
i. sps_multiple_sets_of_chroma_qp_table_present_flagが0に等しい場合、1セットの彩度Qpマッピングテーブルのみが信号通知されることを許可される。
ii. sps_multiple_sets_of_chroma_qp_table_present_flagが1に等しい場合、複数セットの彩度Qpマッピングテーブルが信号通知されることを許可される。
c. B/Pスライスのないシーケンスに対して、複数セットの彩度Qpマッピングテーブルが信号通知されることが許可されない可能性がある。
6. 第6の問題を解決するためのsps_independent_subpics_flagおよびsubpic_transpertage_as_pic_flag[i]について、以下のアプローチの1つ以上が開示される。
a. 一例において、sps_independent_subpics_flagの存在は、サブピクチャの数が1よりも大きいかどうかに依存する。
i. 例えば、サブピクチャの数が1より大きい場合(例えば、(sps_num_subpics_minus1>0))にのみ、sps_independent_subpics_flagが信号通知される。
ii. 例えば、サブピクチャの数が1に等しい場合(例えば、(sps_num_subpics_minus1==0))、sps_independent_subpics_flagの信号通知はスキップされる。
b. また、sps_independent_subpics_flagが存在しない場合、ある値(例えば、0または1)に等しいと推論される。
c. 一例において、subpic_treated_as_pic_flag[i]が存在しない場合、それはある値(例えば、0または1)に等しいと推論される。
d. 一例において、subpic_transport_as_pic_flag[i]が存在しない場合、ラップアラウンド動き補償が可能である(または使用可能である)特定の値に等しいと推論される。
i. また、subpic_transport_as_pic_flag[i]が存在しない場合、水平ラップアラウンド動き補償が可能である(または使用可能である)一定の値に等しいと推論される。
e. 一例において、subpic_transport_as_pic_flag[i]の推論値は、ピクチャが1つのサブピクチャのみを含むかどうか、および/またはサブピクチャがこのピクチャと同じ幅を有するかどうかに依存してもよい。
i. 一例において、サブピクチャの幅がピクチャと同じである場合、subpic_transport_as_pic_flag[i]は、X(例えば、X=0)であると推論されてもよい。
f. 一例において、sps_independent_subpics_flagが存在しない場合、sps_indentent_subpics_flagがどのような値であると推論されるかは、他の構文要素または変数に依存してもよい。
i. 例えば、この推論値は、サブピクチャ情報が存在するかどうか(例えば、subpic_info_present_flagが0または1であるかどうか)に依存することができる。
ii. 例えば、subpic_info_present_flagが0であり、sps_independent_subpics_flagが存在しない場合、所定の値(例えば、0または1)に等しいと推論される。
iii. 例えば、subpic_info_present_flagが1であり、sps_independent_subpics_flagが存在しない場合、所定の値(例えば、0または1)に等しいと推論される。
g. 一例において、subpic_treated_as_pic_flag[i]が存在しないとき、subpic_treated_as_pic_flag[i]がどのような値に推論されるかは、サブピクチャ情報の存在(例えば、subpic_info_present_flag)および/またはCLVS内のサブピクチャの数(例えば、sps_num_subpics_minus1)および/またはsps_independent_subpics_flagに依存してもよい。
i. 一例において、subpic_info_present_flagが0に等しく、subpic_treated_as_pic_flag[i]が存在しない場合、subpic_treated_as_pic_flag[i]の値は一定の値(0など)に等しいと推論される。
ii. 一例において、subpic_info_present_flagが1に等しく、subpic_treated_as_pic_flag[i]が存在しない場合、subpic_treated_as_pic_flag[i]の値は一定の値(1など)に等しいと推論される。
iii. 一例において、subpic_info_present_flagが1に等しく、sps_num_subpics_minus1が0に等しく、subpic_treated_as_pic_flag[i]が存在しない場合、subpic_treated_as_pic_flag[i]の値は一定の値(例えば0または1)に等しいと推論される。
iv. 一例において、subpic_info_present_flagが1に等しく、sps_num_subpics_minus1が0より大きく、sps_independent_subpics_flagが1に等しく、subpic_treated_as_pic_flag[i]が存在しない場合、subpic_treated_as_pic_flag[i]の値は一定の値(例えば0または1)に等しいと推論される。
7. インター予測処理中に境界上でどのようにパディングまたはクリッピングを行うかは、境界のタイプ、ラップアラウンドパディングまたはクリッピングの指示(例えば、pps_ref_wraparound_enabled_flag、sps_ref_wraparound_enabled_flag等)およびサブピクチャの境界をピクチャの境界として扱うことの指示(例えば、subpic_treated_as_pic_flag[i])の複合チェックに依存してもよい。
a. 例えば、1つの境界が1つのピクチャ境界である場合、ラップアラウンドパディングの指示が真であり、サブピクチャ境界をピクチャ境界として扱うことを考慮せずに、ラップアラウンドパディング(またはラップアラウンドクリッピング)が適用されてもよい。
i. 一例において、この境界は垂直境界でなければならない。
b. 例えば、2つの垂直境界の両方がピクチャ境界である場合、ラップアラウンドパディングの指示が真であり、サブピクチャ境界をピクチャ境界として扱う指示を考慮せずに、ラップアラウンドパディング(またはラップアラウンドクリッピング)が適用されてもよい。
c. 一例において、上記のラップアラウンドパディング(またはラップアラウンドクリッピング)は、水平ラップアラウンドパディング/クリッピングを示してもよい。
8. 一例において、異なるサブピクチャに対して、ラップアラウンドパディングまたはクリッピングのための異なる指示が信号通知されてもよい。
9. 一例において、異なるサブピクチャに対して、ラップアラウンドパディングまたはクリッピングのための異なるオフセットが信号通知されてもよい。
10. PH/SHにおいて、ピクチャ/スライスにおいてBスライスが許可/使用されるかどうかを示すために変数Xが用いられ、その変数は、以下の方法のうちの1つを使用して導出される。
a)(rpl_info_in_ph_flag&&num_ref_entries[0][RplsIdx[0]]>0&&num_ref_entries[1][RplsIdx[1]]>0);
b)(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0);
c)(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>1);
d)(rpl_info_in_ph_flag&&num_ref_entries[1][RplsIdx[1]]>0);
e)VVCテキスト中のNumRefIdxActive(例えば、リスト1のためのNumRefIdxActiveがKよりも大きい(例えば、K=0));
f)リスト1のための許可された参照ピクチャの数に基づく。
1) あるいは、PHで信号通知される1つまたは複数の構文要素の信号通知および/または意味論および/または推論は、変数に基づいて変更されてもよい。
i. 一例において、1つまたは複数の構文要素は、例えば、双予測または混合イントラおよびインターコーディング、または複数の予測ブロックからの線形/非線形重み付けによる予測など、複数の予測信号を必要とするコーディングツールを可能にするためのものである。
ii. 一例において、1つまたは複数の構文要素は、以下を含むことができるが、これらに限定されない。
a) ph_collocated_from_l0_flag
b) mvd_l1_zero_flag
c) ph_disable_bdof_flag
d) ph_disable_dmvr_flag
e) num_l1_weights
iii. 一例において、変数が、ピクチャが1つ以上のBスライスを含むことができることを示す場合にのみ、1つまたは複数の構文要素が信号通知され得る。そうでない場合、信号通知はスキップされ、構文要素の値が推論される。
【化4】
iv. 一例において、Xが0に等しい(または偽である)場合、mvd_l1_zero_flagは信号通知されず、その値は1であると推論される。
v. 一例において、1つまたは複数の構文要素の推論は、第1の構文要素の値に依存する。
a) 一例において、ph_disable_bdof_flagについては、以下のように適用される。
【化5】
b) 一例において、ph_disable_dmvr_flagに対して、以下が適用される。
【化6】
c) 一例において、ph_temporal_mvp_enabled_flagおよびrpl_info_in_ph_flagが共に1に等しく、Xが0(または偽)に等しいとき、ph_collocated_from_l0_flagの値は1に等しいと推論される。
d) 一例において、Xが0に等しい(または偽である)場合、num_11_weightsは信号通知されず、その値が0であると推論され、その結果、参照ピクチャリスト1に対する重み付け予測パラメータは、ピクチャのPHまたはSHにおいて信号通知されない。
11. ピクチャをタイル/スライス/サブピクチャに分割するかどうかの指示(例えば、PPSにおけるno_pic_partition_flag)の信号通知は、ピクチャにおけるCTBの数を条件とされ得ることが提案される。
1) 一例において、ピクチャにおけるCTUの数が1に等しい(または2よりも小さい)場合、no_pic_partition_flagは信号通知されない。
2)あるいは、ピクチャ内のCTUの数が1に等しい(または2よりも小さい)場合、no_pic_partition_flagは0に等しいものとして制約される。
12. 第7の課題を解決するためのデブロッキングの構文論および意味論の改善に関しては、例えば第4の実施形態と同様に、以下のアプローチの1つ以上に開示されている。
a. PPSを参照するスライスに対してデブロッキングフィルタの動作が無効(または有効)であるかどうかは、PPSにおいて信号通知されるデブロッキング構文(例えば、pps_deblocking_filter_disabled_flag)とピクチャまたはスライスレベルにおいて信号通知されるデブロッキング構文要素の双方に依存する。
i. 一例において、pps_deblocking_filter_disabled_flagが1に等しい場合、ピクチャまたはスライスレベルで別途指示されない限り、PPSを参照するスライスについてデブロッキングフィルタの動作が無効であることを規定する。
ii. 一例において、pps_deblocking_filter_disabled_flagが0に等しい場合、ピクチャまたはスライスレベルで別途指示されない限り、PPSを参照するスライスに対してデブロッキングフィルタの動作が有効であることが規定される。
b. slice_deblocking_filter_override_flagが存在しない場合、0に等しいと推論する。
c. PPSでデブロッキングフィルタを無効にしている場合およびPH/SHでデブロッキングフィルタをオーバーライドしようとする場合、PH/SHのデブロッキングON/OFF制御フラグの信号通知をスキップする。
i. 一例において、SHにおいてデブロッキングオン/オフ制御フラグ(例えば、slice_deblocking_filter_disabled_flag)が信号通知されるかどうかは、デブロッキングがPPSにおいて無効であるか(例えば、pps_deblocking_filter_disabled_flagの値が1と等しいかどうか)および/またはSH内のオーバーライドフラグ(例えば、slice_deblocking_filter_override_flagが1であるかないか)に依存してもよい。
a) 例えば、pps_deblocking_filter_disabled_flagとph_deblocking_filter_override_flagが1に等しい場合、ph_deblocking_filter_disabled_flagの信号通知はスキップされてもよい。
b) あるいは、deblocking_filter_override_enabled_flagとpps_deblocking_filter_disabled_flagとph_deblocking_filter_override_flagが1に等しいとき、ph_deblocking_filter_disabled_flagの信号の通知は、スキップされてもよい。
ii. また、ph_deblocking_filter_disabled_flagが存在しない場合、次のように推論されてもよい。
a) deblocking_filter_override_enabled_flag,pps_deblocking_filter_disabled_flagおよびph_deblocking_filter_override_flagが全て1に等しい場合、ph_deblocking_filter_disabled_flagの値は0に等しいと推論される。
b) そうでない場合、ph_deblocking_filter_disabled_flagの値は、pps_deblocking_filter_disabled_flagに等しいと推論される。
iii. また、ph_deblocking_filter_disabled_flagが存在しない場合、次のように推論されてもよい。
a)pps_deblocking_filter_disabled_flagとph_deblocking_filter_override_flagがすべて1に等しい場合、ph_deblocking_filter_disabled_flagの値は0と推論される。
b) そうでない場合、ph_deblocking_filter_disabled_flagの値は、pps_deblocking_filter_disabled_flagに等しいと推論される。
iv. 一例において、SHにおいてデブロッキングオン/オフ制御フラグ(例えば、slice_deblocking_filter_disabled_flag)を信号通知するかどうかは、デブロッキングがPPSにおいて無効であるかどうか(例えば、pps_deblocking_filter_disabled_flagの値が1と等しいかどうか)および/またはSHにおけるオーバーライドフラグ(例えば、slice_deblocking_filter_override_flagが1に等しいか否か)に依存してよい。
a) 一例において、deblocking_filter_override_enabled_flagとpps_deblocking_filter_disabled_flagとslice_deblocking_filter_override_flagとが1に等しい場合、slice_deblocking_filter_disabled_flagの信号通知は、スキップされてもよい。
b) あるいは、pps_deblocking_filter_disabled_flagおよびslice_deblocking_filter_override_flagが1のとき、slice_deblocking_filter_disabled_flagの信号通知をスキップしてもよい。
v. さらに、slice_deblocking_filter_disabled_flagが存在しない場合、以下のように推論することができる。
a) deblocking_filter_override_enabled_flag、pps_deblocking_filter_disabled_flagおよびslice_deblocking_filter_override_flagが全て1に等しい場合、slice_deblocking_filter_disabled_flagの値は0に等しいと推論される。
b) そうでない場合、slice_deblocking_filter_disabled_flagの値は、pps_deblocking_filter_disabled_flagに等しいと推定される。
vi. さらに、slice_deblocking_filter_disabled_flagが存在しない場合、以下のように推論することができる。
a) pps_deblocking_filter_disabled_flagおよびslice_deblocking_filter_override_flagが全て1に等しい場合、slice_deblocking_filter_disabled_flagの値は0に等しいと推論される。
b) そうでない場合、slice_deblocking_filter_disabled_flagの値は、pps_deblocking_filter_disabled_flagに等しいと推定される。
13.sps_ibc_enabled_flagが1に等しく、およびブロックサイズが64x64より小さくない場合、cu_skip_flagをスキップすることが提案される。
a. 一例を第5の実施形態に示す。
【0037】
【0038】
6.1. 第1の実施例
これは、上記第5章に要約された項目1の実施形態のセットである。
【0039】
6.1.1. 1.a.iの実施形態
ph_scaling_list_aps_idは、スケーリングリストAPSのadaptation_parameter_set_idを規定する。
aps_params_typeがSCALING_APSに等しく、adaptation_parameter_set_idがph_scaling_list_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
【化8】
…
1に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在することを規定する。0に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在しないことを規定する。[[scaling_list_chroma_present_flagは、ChromaArrayTypeが0に等しい場合は0に、ChromaArrayTypeが0に等しくない場合は1に等しくなければならない]]というのがビットストリーム準拠の要件である。]]
【0040】
6.1.2. 1.a.iiの実施形態
ph_scaling_list_aps_idは、スケーリングリストAPSのadaptation_parameter_set_idを規定する。
aps_params_typeがSCALING_APSに等しく、adaptation_parameter_set_idがph_scaling_list_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
【化9】
…
1に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在することを規定する。0に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在しないことを規定する。[[scaling_list_chroma_present_flagは、ChromaArrayTypeが0に等しい場合は0に、ChromaArrayTypeが0に等しくない場合は1に等しくなければならない]]というのがビットストリーム準拠の要件である。]]
【0041】
6.1.3. 1.b.iの実施形態
ph_lmcs_aps_idは、PHに関連付けられたスライスが参照するLMCS APSのadaptation_parameter_set_idを規定する。
aps_params_typeがLMCS_APSに等しく、adaptation_parameter_set_idがph_lmcs_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
【化10】
【0042】
6.1.4. 1.b.iiの実施形態
ph_lmcs_aps_idは、PHに関連付けられたスライスが参照するLMCS APSのadaptation_parameter_set_idを規定する。
aps_params_typeがLMCS_APSに等しく、adaptation_parameter_set_idがph_lmcs_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
【化11】
【0043】
6.1.5. 1.c.iの実施形態
PH構文要素の意味論は以下のように変更される。
ph_alf_aps_id_luma[i]は、PHに関連付けられたスライスの輝度成分が参照するi番目のALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
【化12】
…
SH構文要素の意味論は以下のように変更される。
…
slice_alf_aps_id_luma[i]は、スライスの輝度成分が参照するi番目のALF APSのadaptation_parameter_set_idを規定する。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_luma[i]が存在しない場合、slice_alf_aps_id_luma[i]の値は、ph_alf_aps_id_luma[i]の値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
【化13】
…
そして、ALFデータ構文構造においてAPS構文要素の意味論は以下のように変更される。
…
1に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されることを示す。0に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されないことを示す。[[ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しいとする。]]
…
1に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cb_filter_signal_flagは0に等しいとする。]]
1に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cr_filter_signal_flagは0に等しいとする。]]
【0044】
6.1.6. 1.c.iiの実施形態
PH構文要素の意味論は以下のように変更される。
ph_alf_aps_id_luma[i]は、PHに関連付けられたスライスの輝度成分が参照するi番目のALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
【化14】
0に等しいph_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されないことを示す。
1に等しいph__alf_chroma_idcは、適応ループフィルタがCb色成分に適用されることを示す。
2に等しいph_alf_chroma_idcは、適応ループフィルタがCr色成分に適用されることを示す。
3に等しいph_alf_chroma_idcは、適応ループフィルタがCbと色成分に適用されることを示す。
ph_alf_chroma_idcが存在しない場合、それは0に等しいと推論される。
…
SH構文要素の意味論は以下のように変更される。
…
slice_alf_aps_id_luma[i]は、スライスの輝度成分が参照するi 番目のALF APSのadaptation_parameter_set_idを規定する。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_luma[i]が存在しない場合、slice_alf_aps_id_luma[i]の値は、ph_alf_aps_id_luma[i]の値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
【化15】
…
そして、ALFデータ構文構造においてAPS構文要素の意味論は以下のように変更される。
…
1に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されることを示す。0に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されないことを示す。[[ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しいとする。]]
…
1に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cb_filter_signal_flagは0に等しいとする。]]
1に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cr_filter_signal_flagは0に等しいとする。]]
【0045】
6.1.7. 1.c.iiiの実施形態
PH構文要素の意味論は以下のように変更される。
…
ph_alf_aps_id_chromaは、PHに関連付けられたスライスの彩度成分が参照するALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_chroma[i]に等しいAPS NALユニットのalf_chroma_filter_signal_flagの値は1に等しいものとする。
【化16】
…
ph_cc_alf_cb_aps_idは、PHに関連付けられたスライスのCb色成分が参照するALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cb_aps_idに等しいAPS NALユニットのalf_cc_cb_filter_signal_flagの値は1に等しいものとする。
【化17】
…
ph_cc_alf_cr_aps_idは、PHに関連付けられたスライスのCr色成分が参照するALF APSのadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cr_aps_idに等しいAPS NALユニットのalf_cc_cr_filter_signal_flagの値は1に等しいものとする。
【化18】
…
SH構文要素の意味論は以下のように変更される。
…
slice_alf_aps_id_chromaは、スライスの彩度成分が参照するALF APSのadaptation_parameter_set_idを規定する。aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_chromaであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_chromaが存在しない場合、slice_alf_aps_id_chromaの値は、ph_alf_aps_id_chromaの値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_chroma[i]に等しいAPS NALユニットのalf_chroma_filter_signal_flagの値は1に等しいものとする。
【化19】
…
slice_cc_alf_cb_aps_idは、スライスのCb色成分が参照するadaptation_parameter_set_idを規定する。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cb_aps_idであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_cc_alf_cb_enabled_flagが1に等しく、かつ、slice_cc_alf_cb_aps_idが存在しない場合、slice_cc_alf_cb_aps_idの値は、ph_cc_alf_cb_aps_idの値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cb_aps_idに等しいAPS NALユニットのalf_cc_cb_filter_signal_flagの値は、1に等しいものとする。
【化20】
…
slice_cc_alf_cr_aps_idは、スライスのCr色成分が参照するadaptation_parameter_set_idを規定する。aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cr_aps_idであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。slice_cc_alf_cr_enabled_flagが1に等しく、かつ、slice_cc_alf_cr_aps_idが存在しない場合、slice_cc_alf_cr_aps_idの値は、ph_cc_alf_cr_aps_idの値に等しいと推論される。
aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cr_aps_idに等しいAPS NALユニットのalf_cc_cr_filter_signal_flagの値は、1に等しいものとする。
【化21】
…
そして、APS構文要素の意味論は、以下のように変更される。
…
1に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されることを示す。0に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されないことを示す。[[ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しいとする。]]
…
1に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cb_filter_signal_flagは0に等しいとする。]]
1に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cr_filter_signal_flagは0に等しいとする。]]
…
【0046】
6.1.8. 1.d.iの実施形態
ALFデータ構文構造におけるAPS構文要素の意味論は、以下のように変更される。
…
1に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されることを示す。0に等しいalf_chroma_filter_signal_flagは、彩度フィルタが信号通知されないことを示す。[[ChromaArrayTypeが0に等しい場合、alf_chroma_filter_signal_flagは0に等しいとする。]]
…
1に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されることを規定する。0に等しいalf_cc_cb_filter_signal_flagは、Cb色成分のクロスコンポーネントフィルタが信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cb_filter_signal_flagは0に等しいとする。]]
1に等しいalf_cc_cr_filter_signal_flagは、Cr色成分のクロスコンポーネントフィルタが信号通知されることを規定する。alf_cc_cr_filter_signal_flagが0に等しい場合、Cr色成分のクロスコンポーネントフィルタは信号通知されないことを規定する。[[ChromaArrayTypeが0に等しい場合、alf_cc_cr_filter_signal_flagは0に等しいとする。]]
…
【0047】
6.1.9. 1.d.iiの実施形態
SCALING LISTデータ構文構造におけるAPS構文要素の意味は、以下のように変更される。
…
1に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在することを規定する。0に等しいscaling_list_chroma_present_flagは、scaling_list_data()に彩度スケーリングリストが存在しないことを規定する。[[scaling_list_chroma_present_flagは、ChromaArrayTypeが0に等しい場合は0に、ChromaArrayTypeが0に等しくない場合は1に等しくなければならない]]というのがビットストリーム準拠の要件である。]]
【0048】
6.1.10. 1.eおよび1.fの実施形態
ph_scaling_list_aps_idは、スケーリングリストAPSのadaptation_parameter_set_idを規定する。
【化22】
-aps_params_typeがSCALING_APSに等しく、adaptation_parameter_set_idがph_scaling_list_aps_idであるAPSNALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
…
ph_lmcs_aps_idは、PHに関連付けられたスライスが参照するLMCSAPSのadaptation_parameter_set_idを規定する。
【化23】
-aps_params_typeがLMCS_APSに等しく、adaptation_parameter_set_idがph_lmcs_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
…
ph_alf_aps_id_luma[i]は、PHに関連付けられたスライスの輝度成分が参照するi番目のALFAPSのadaptation_parameter_set_idを規定する。
【化24】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
0に等しいph_alf_chroma_idcは、適応ループフィルタがCbおよびCr色成分に適用されないことを示す。ph__alf_chroma_idc=1は、適応ループフィルタがCb色成分に適用されることを示す。ph_alf_chroma_idc=2は、適応ループフィルタがCr色成分に適用されることを示す。ph_alf_chroma_idc=3は、適応ループフィルタがCbと色成分に適用されることを示す。ph_alf_chroma_idcが存在しない場合、それは0に等しいと推論される。
ph_alf_aps_id_chromaは、PHに関連付けられたスライスの彩度成分が参照するALF APSのadaptation_parameter_set_idを規定する。
【化25】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_chroma[i]に等しいAPS NALユニットのalf_chroma_filter_signal_flagの値は1に等しいものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_alf_aps_id_chroma[i]であるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
…
ph_cc_alf_cb_aps_idは、PHに関連付けられたスライスのCb色成分が参照するALF APSのadaptation_parameter_set_idを規定する。
【化26】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cb_aps_idに等しいAPS NALユニットのalf_cc_cb_filter_signal_flagの値は1に等しいものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cb_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
…
ph_cc_alf_cr_aps_idは、PHに関連付けられたスライスのCr色成分が参照するALF APSのadaptation_parameter_set_idを規定する。
【化27】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cr_aps_idに等しいAPS NALユニットのalf_cc_cr_filter_signal_flagの値は1に等しいものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがph_cc_alf_cr_aps_idであるAPS NALユニットのTemporalIdは、PHに関連付けられたピクチャのTemporalId以下であるものとする。
…
slice_alf_aps_id_luma[i]は、スライスの輝度成分が参照するi番目のALF APSのadaptation_parameter_set_idを規定する。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_luma[i]が存在しない場合、slice_alf_aps_id_luma[i]の値は、ph_alf_aps_id_luma[i]の値に等しいと推論される。
【化28】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]であるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_luma[i]に等しいAPS NALユニットのalf_luma_filter_signal_flagの値は1に等しいものとする。
…
slice_alf_aps_id_chromaは、スライスの彩度成分が参照するALF APSのadaptation_parameter_set_idを規定する。slice_alf_enabled_flagが1に等しく、かつ、slice_alf_aps_id_chromaが存在しない場合、slice_alf_aps_id_chromaの値は、ph_alf_aps_id_chromaの値に等しいと推論される。
【化29】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_chromaであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_alf_aps_id_chroma[i]に等しいAPS NALユニットのalf_chroma_filter_signal_flagの値は1に等しいものとする。
…
slice_cc_alf_cb_aps_idは、スライスのCb色成分が参照するadaptation_parameter_set_idを規定する。
slice_cc_alf_cb_enabled_flagが1に等しく、かつ、slice_cc_alf_cb_aps_idが存在しない場合、slice_cc_alf_cb_aps_idの値は、ph_cc_alf_cb_aps_idの値に等しいと推論される。
【化30】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cb_aps_idであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cb_aps_idに等しいAPS NALユニットのalf_cc_cb_filter_signal_flagの値は、1に等しいものとする。
…
slice_cc_alf_cr_aps_idは、スライスのCr色成分が参照するadaptation_parameter_set_idを規定する。slice_cc_alf_cr_enabled_flagが1に等しく、かつ、slice_cc_alf_cr_aps_idが存在しない場合、slice_cc_alf_cr_aps_idの値は、ph_cc_alf_cr_aps_idの値に等しいと推論される。
【化31】
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cr_aps_idであるAPS NALユニットのTemporalIdは、コーディングされたスライスNALユニットのTemporalId以下であるものとする。
-aps_params_typeがALF_APSに等しく、adaptation_parameter_set_idがslice_cc_alf_cr_aps_idに等しいAPS NALユニットのalf_cc_cr_filter_signal_flagの値は、1に等しいものとする。
…
【0049】
6.1.11. 1.gの実施形態
SH構文要素の意味論は以下のように変更される。
【化32】
…
slice_cc_alf_cb_aps_idは、スライスのCb色成分が参照するadaptation_parameter_set_idを規定する。
【化33】
…
【化34】
…
【0050】
6.2. 第2のセットの実施形態
これは、上記第5章にまとめた項目2(2.a~2.c)の実施形態のセットである。
構文構造pic_parameter_set_rbsp()は、以下のように変更される。
【表25】
…
【化35】
[[1に等しいdeblocking_filter_control_present_flagは、PPSにおけるデブロッキングフィルタ制御構文要素の存在を規定する。0に等しいdeblocking_filter_control_present_flagは、PPSにおけるデブロッキングフィルタ制御構文要素の不在を規定する。
1に等しいdeblocking_filter_override_enabled_flagは、PPSを参照するPHにおけるph_deblocking_filter_override_flagの存在を規定し、PPSを参照するスライスヘッダにおけるslice_deblocking_filter_override_flagの存在を規定する。0に等しいdeblocking_filter_override_enabled_flagは、PPSを参照するPHにおけるph_deblocking_filter_override_flagの不在を規定し、PPSを参照するスライスヘッダにおけるslice_deblocking_filter_override_flagの不在を規定する。存在しない場合、deblocking_filter_override_enabled_flagの値は0に等しいと推論される。
1に等しいpps_deblocking_filter_disabled_flagは、デブロッキングフィルタの演算は、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対して適用されないことを規定する。0に等しいpps_deblocking_filter_disabled_flagは、デブロッキングフィルタの演算は、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに対して適用されることを規定する。存在しない場合、pps_deblocking_filter_disabled_flagの値は0に等しいと推論される。]]
1に等しいdbf_info_in_ph_flagは、PH構文構造にデブロッキングフィルタ情報が存在し、PH構文構造を含まないPPSを参照するスライスヘッダには存在しないことを規定する。0に等しいdbf_info_in_ph_flagは、デブロッキングフィルタ情報がPH構文構造に存在せず、およびPH構文構造を含まないPPSを参照するスライスヘッダに存在してもよいことを規定する。[[存在しない場合、dbf_info_in_ph_flagの値は0に等しいと推論される。]]
...
そして、構文構造picture_header_structure()は、以下のように変更される。
【表26】
…
【化36】
【化37】
[[1に等しいph_deblocking_filter_disabled_flagは、PHに関連付けられたスライスに対してデブロッキングフィルタの演算を適用しないことを規定する。0に等しいph_deblocking_filter_disabled_flagは、PHに関連付けられたスライスに対してデブロッキングフィルタの演算を適用することを規定する。ph_deblocking_filter_disabled_flagが存在しない場合、pps_deblocking_filter_disabled_flagに等しいと推論される。]]
...
そして、構文構造slice_header()は、以下のように変更される。
【表27】
…
【化38】
【化39】
[[1に等しいslice_deblocking_filter_disabled_flagは、現在のスライスに対してデブロッキングフィルタの演算が適用されないことを規定する。0に等しいslice_deblocking_filter_disabled_flagは、現在のスライスに対してデブロッキングフィルタの演算が適用されることを規定する。slice_deblocking_filter_disabled_flagが存在しない場合、ph_deblocking_filter_disabled_flagに等しいと推論される。]]
...
そして、デブロッキングフィルタ処理のデコーディング処理は、以下のように変更される。
8.8.3 デブロッキングフィルタ処理
8.8.3.1 一般
デブロッキングフィルタ処理は、以下のタイプのエッジを除き、ピクチャのすべてのコーディングサブブロックのエッジおよび変換ブロックのエッジに適用される。
-ピクチャの境界にあるエッジ、
-サブピクチャインデックスsubpicIdxおよびloop_filter_across_subpic_enabled_flag[subpicIdx]を有するサブピクチャの境界に一致するエッジは、0に等しい。
-VirtualBoundariesPresentFlagが1である場合、ピクチャの仮想境界に合致するエッジ
-loop_filter_across_tiles_enabled_flagが0である場合、タイルの境界に合致するエッジ
-loop_filter_across_slices_enabled_flagが0である場合、スライスの境界に合致するエッジ
【化40】
-輝度成分の4×4個のサンプルグリッド境界に対応しないエッジ
-彩度成分の8×8個のサンプルグリッド境界に対応しないエッジ
-輝度成分内のエッジで、エッジの両側がintra_bdpcm_luma_flagが1に等しい場合、
-彩度成分内のエッジで、エッジの両側がintra_bdpcm_chroma_flagが1に等しい場合、
-関連付けられた変換ユニットのエッジでない彩度ブロックのエッジ
エッジのタイプは、垂直または水平であり、表42で規定されるように、変数edgeTypeによって表現される。
表42-edgeTypeとの関連付けの名前
【表28】
【化41】
-変数treeTypeはDUAL_TREE_LUMAに等しく設定される。
-8.8.3.2項で規定されるように、変数treeType、デブロッキング前の再構成ピクチャ、すなわちEDGE_VERに等しく設定された配列recPicture
Lおよび変数edgeTypeを入力として、一方向のデブロッキングフィルタ処理を行い、デブロッキング後の修正された再構成ピクチャ、すなわち配列recPicture
Lを出力として、垂直エッジをフィルタリングする。
-8.8.3.2項で規定されるように、変数treeType、デブロッキング後の修正された再構成ピクチャ、すなわちEDGE_HORに等しく設定された配列recPicture
Lおよび可変edgeTypeを入力として、一方向のデブロッキングフィルタ処理を行い、デブロッキング後の修正された再構成ピクチャ、すなわち配列recPicture
Lを出力として、水平エッジをフィルタリングする。
-ChromaArrayTypeが0に等しくない場合、以下が適用される。
-変数treeTypeをDUAL_TREE_CHROMAと等しく設定する。
-8.8.3.2項で規定されるように、変数treeType、デブロッキング前の再構成ピクチャ、すなわち配列recPicture
cb、recPicture
cr、およびEDGE_VERに等しく設定された可変edgeTypeを入力として、一方向のデブロッキングフィルタ処理を呼び出すことで、垂直エッジをフィルタリングし、デブロッキング後の修正された再構成ピクチャ、すなわち配列recPicture
cb、recPicture
crを出力として再構成する。
-8.8.3.2項で規定されるように、変数treeType、デブロッキング前の修正された再構成ピクチャ、すなわち配列recPicture
cb、recPicture
cr、およびEDGE_HORに等しく設定した変数edgeTypeを入力として、一方向のデブロッキングフィルタ処理を呼び出すことで、水平エッジをフィルタリングし、デブロッキング後の修正された再構成ピクチャ、すなわち配列recPicture
cb、recPicture
crを出力として再構成する。
【0051】
6.3. 第3のセットの実施形態
【化42】
i=0...numQpTables-1のi番目の彩度QPマッピングテーブルChromaQpTable[i]は、以下のように導出される。
qpInVal[i][0]=qp_table_start_minus26[i]+26
qpOutVal[i][0]=qpInVal[i][0]
for(j=0;j<=num_points_in_qp_table_minus1[i];j++){
qpInVal[i][j+1]=qpInVal[i][j]+delta_qp_in_val_minus1[i][j]+1
【化43】
ChromaQpTable[i][qpInVal[i][0]]=qpOutVal[i][0]
for(k=qpInVal[i][0]-1;k>=-QpBdOffset;k--)
ChromaQpTable[i][k]=Clip3(-QpBdOffset,63,ChromaQpTable[i][k+1]-1)
for(j=0;j<=num_points_in_qp_table_minus1[i];j++){
sh=(delta_qp_in_val_minus1[i][j]+1)>>1
for(k=qpInVal[i][j]+1,m=1;k<=qpInval[i][j+1];k++,m++)
ChromaQpTable[i][k]=ChromaQpTable[i][qpInVal[i][j]]+
((qpOutVal[i][j+1]-qpOutVal[i][j])*m+sh)/(delta_qp_in_val_minus1[i][j]+1)
}
for(k=qpInVal[i][num_points_in_qp_table_minus1[i]+1]+1;k<=63;k++)
ChromaQpTable[i][k]=Clip3(-QpBdOffset,63,ChromaQpTable[i][k-1]+1)
same_qp_table_for_chromaが1に等しい場合、ChromaQpTable[1][k]およびChromaQpTable[2][k]は、-QpBdOffsetから63までの範囲内にあるkについて、ChromaQpTable[0][k]に等しく設定される。
qpInVal[i][j]、qpOutVal[i][j]の値は、-QpBdOffset~63の範囲内にあり、iが0~numQpTables-1の範囲内にあり、jが0~num_points_in_qp_table_minus1[i]+1の範囲内にあるものとすることが、ビットストリーム適合性の要件である。
【0052】
6.4. 第4の実施形態
PPSの意味論(JVET-R0159-v2のテキストに基づき、SPSフラグを除く)。
...
【化44】
1に等しいdeblocking_filter_override_enabled_flagは、PPSを参照するPHにおけるph_deblocking_filter_override_flagの存在を規定し、PPSを参照するスライスヘッダにおけるslice_deblocking_filter_override_flagの存在を規定する。0に等しいdeblocking_filter_override_enabled_flagは、PPSを参照するPHにおけるph_deblocking_filter_override_flagの不在を規定し、PPSを参照するスライスヘッダにおけるslice_deblocking_filter_override_flagの不在を規定する。存在しない場合、deblocking_filter_override_enabled_flagの値は0に等しいと推論される。
[[1に等しいpps_deblocking_filter_disabled_flagは、slice_deblocking_filter_disabled_flagおよびph_deblockig_filter_disabled_flagが存在しないPPSを参照するスライスに対して、デブロッキングフィルタの動作が適用されないことを規定する。0に等しいpps_deblocking_filter_disabled_flagは、slice_deblocking_filter_disabled_flagおよびph_deblockig_disabled_flagが存在しないPPSを参照するスライスに対し、デブロッキングフィルタの動作が適用されることを規定する。存在しない場合、pps_deblocking_filter_disabled_flagの値は0に等しいと推論される。
または、
1に等しいpps_deblocking_filter_disabled_flagは、deblocking_filter_override_enabled_flagが0に等しい場合、PPSを参照するスライスに対してデブロッキングフィルタの動作が適用されないことが規定される。0に等しいpps_deblocking_filter_disabled_flagは、deblocking_filter_override_enabled_flagが0に等しい場合、PPSを参照するスライスに対してデブロッキングフィルタの動作が適用されることを規定する。存在しない場合、pps_deblocking_filter_disabled_flagの値は0に等しいと推論される。]]
【化45】
…
構文構造picture_header_structure()は、以下のように変更される。
【表29】
…
1に等しいph_deblocking_filter_override_flagは、PHにデブロッキングパラメータが存在することを規定する。0に等しいph_deblocking_filter_override_flagは、デブロッキングパラメータがPHに存在しないことを規定する。存在しない場合、ph_deblocking_filter_override_flagの値は0に等しいと推論される。
1に等しいph_deblocking_filter_disabled_flagは、デブロッキングフィルタの動作がPHに関連付けされたスライスに対して適用されないことを規定し、[[そこにslice_deblocking_filter_disabled_flagは存在しない。[注意:ph_deblocking_filter_disabled_flagが存在する場合、slice_deblocking_filter_disabled_flagは画像のどのスライスのSHにも存在せず、したがって削除となる。]]]ph_deblocking_filter_disabled_flagが0に等しい場合、デブロッキングフィルタの動作がPHに関連付けされたスライスに対して適用されることを規定し、[[そこにslice_deblocking_filter_disabled_flagは存在しない。[注意:ph_deblocking_filter_disabled_flagが存在する場合、slice_deblocking_filter_disabled_flagは画像のどのスライスのSHにも存在せず、したがって削除となる。]]]
【化46】
【化47】
…
そして、構文構造slice_header()は、以下のように変更される。
【表30】
…
1に等しいslice_deblocking_filter_override_flagは、スライスヘッダにデブロッキングパラメータが存在することを規定する。0に等しいslice_deblocking_filter_override_flagは、デブロッキングパラメータがスライスヘッダに存在しないことを規定する。存在しない場合、slice_deblocking_filter_override_flagの値は[[ph_deblocking_filter_override_flag]]0に等しいと推論される。
1に等しいslice_deblocking_filter_disabled_flagは、現在のスライスに対してデブロッキングフィルタの演算が適用されないことを規定する。0に等しいslice_deblocking_filter_disabled_flagは、現在のスライスに対してデブロッキングフィルタの演算が適用されることを規定する。
slice_deblocking_filter_disabled_flagが存在しない場合、以下のように推論される。
【化48】
【0053】
【0054】
図1は、本明細書で開示される様々な技術が実装され得る例示的な映像処理システム1900を示すブロック図である。様々な実装形態は、システム1900のモジュールの一部または全部を含んでもよい。システム1900は、映像コンテンツを受信するための入力1902を含んでもよい。映像コンテンツは、未加工または非圧縮フォーマット、例えば、8または10ビットのマルチコンポーネント画素値で受信されてもよく、または圧縮またはエンコードされたフォーマットで受信されてもよい。入力1902は、ネットワークインタフェース、周辺バスインタフェース、または記憶インタフェースを表してもよい。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)等の有線インタフェース、およびWi-Fiまたはセルラーインタフェース等の無線インタフェースを含む。
【0055】
システム1900は、本明細書に記載される様々なコーディングまたはエンコーディング方法を実装することができるコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、入力1902からの映像の平均ビットレートをコーディングコンポーネント1904の出力に低減し、映像のコーディングされた表現を生成してもよい。従って、このコーディング技術は、映像圧縮または映像トランスコーディング技術と呼ばれることがある。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、記憶されてもよいし、接続された通信を介して送信されてもよい。入力1902において受信された、記憶されたまたは通信された映像のビットストリーム(またはコーディングされた)表現は、コンポーネント1908によって使用されて、表示インタフェース1910に送信される画素値または表示可能な映像を生成してもよい。ビットストリーム表現からユーザが見ることができる映像を生成する処理は、映像展開と呼ばれることがある。さらに、特定の映像処理動作を「コーディング」動作またはツールと呼ぶが、コーディングツールまたは動作は、エンコーダおよびそれに対応する、コーディングの結果を逆にするデコーディングツールまたは動作が、デコーダによって行われることが理解されよう。
【0056】
周辺バスインタフェースまたは表示インタフェースの例は、ユニバーサルシリアルバス(USB)または高精細マルチメディアインタフェース(HDMI(登録商標))またはディスプレイポート等を含んでもよい。ストレージインタフェースの例は、SATA(Serial Advanced Technology Attachment)、PCI、IDEインタフェース等を含む。本明細書に記載される技術は、携帯電話、ノートパソコン、スマートフォン、またはデジタルデータ処理および/または映像表示を実施可能な他のデバイス等の様々な電子デバイスに実施されてもよい。
【0057】
図2は、映像処理装置3600のブロック図である。装置3600は、本明細書に記載の方法の1つ以上を実装するために使用されてもよい。装置3600は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機等に実施されてもよい。装置3600は、1つ以上のプロセッサ3602と、1つ以上のメモリ3604と、映像処理ハードウェア3606と、を含んでもよい。1つまたは複数のプロセッサ3602は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。メモリ(複数可)3604は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア3606は、本明細書に記載される技術をハードウェア回路にて実装するために使用してもよい。
【0058】
図4は、本開示の技術を利用し得る例示的な映像コーディングシステム100を示すブロック図である。
【0059】
図4に示すように、映像コーディングシステム100は、送信元デバイス110と、送信先デバイス120と、を備えてもよい。送信元デバイス110は、映像エンコーディングデバイスとも称され得るエンコードされた映像データを生成する。送信先デバイス120は、送信元デバイス110によって生成された、エンコードされた映像データをデコードしてよく、映像デコーディングデバイスと呼ばれ得る。
【0060】
送信元デバイス110は、映像ソース112と、映像エンコーダ114と、入出力(I/O)インタフェース116と、を備えてもよい。
【0061】
映像ソース112は、映像キャプチャデバイスなどのソース、映像コンテンツプロバイダからの映像データを受信するためのインタフェース、および/または映像データを生成するためのコンピュータグラフィックスシステム、またはこれらのソースの組み合わせを含んでもよい。映像データは、1または複数のピクチャを含んでもよい。映像エンコーダ114は、映像ソース112からの映像データをエンコードし、ビットストリームを生成する。ビットストリームは、映像データのコーディングされた表現を形成するビットのシーケンスを含んでもよい。ビットストリームは、コーディングされたピクチャおよび関連付けられたデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連付けられたデータは、シーケンスパラメータセット、ピクチャパラメータセット、および他の構文構造を含んでもよい。I/Oインタフェース116は、変復調器(モデム)および/または送信機を含んでもよい。エンコードされた映像データは、ネットワーク130aを介して、I/Oインタフェース116を介して送信先デバイス120に直接送信されてよい。エンコードされた映像データは、送信先デバイス120がアクセスするために、記録媒体/サーバ130bに記憶してもよい。
【0062】
送信先デバイス120は、I/Oインタフェース126、映像デコーダ124、および表示デバイス122を含んでもよい。
【0063】
I/Oインタフェース126は、受信機および/またはモデムを含んでもよい。I/Oインタフェース126は、送信元デバイス110または記憶媒体/サーバ130bからエンコードされた映像データを取得してもよい。映像デコーダ124は、エンコードされた映像データをデコードしてもよい。表示デバイス122は、デコードされた映像データをユーザに表示してもよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、または外部表示デバイスとインタフェースで接続するように構成される送信先デバイス120の外部にあってもよい。
【0064】
映像エンコーダ114および映像デコーダ124は、高効率映像コーディング(HEVC)規格、汎用映像コーディング(VVVM)規格、および他の現在のおよび/または更なる規格等の映像圧縮規格に従って動作してもよい。
【0065】
図5は、映像エンコーダ200の一例を示すブロック図であり、
図4に示されるシステム100における映像エンコーダ114であってもよい。
【0066】
映像エンコーダ200は、本開示の技術のいずれかまたは全部を行うように構成されてもよい。
図5の例において、映像エンコーダ200は、複数の機能コンポーネントを含む。本開示で説明される技術は、映像エンコーダ200の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0067】
映像エンコーダ200の機能性モジュールは、分割ユニット201、予測ユニット202を含んでもよく、予測ユニット202は、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、およびイントラ予測ユニット206、残差生成ユニット207、変換ユニット208、量子化ユニット209、逆量子化ユニット210、逆変換ユニット211、再構成ユニット212、バッファ213、およびエントロピーエンコーディングユニット214を含んでもよい。
【0068】
他の例において、映像エンコーダ200は、より多くの、より少ない、または異なる機能コンポーネントを含んでもよい。一例において、予測ユニット202は、イントラブロックコピー(IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが現在の映像ブロックが位置するピクチャであるIBCモードにおいて予測を行うことができる。
【0069】
さらに、動き推定ユニット204および動き補償ユニット205などのいくつかのコンポーネントは、高度に統合されてもよいが、説明のために、
図5の例においては別個に表現されている。
【0070】
分割ユニット201は、ピクチャを1つ以上の映像ブロックに分割してもよい。映像エンコーダ200および映像デコーダ300は、様々な映像ブロックサイズをサポートしてもよい。
【0071】
モード選択ユニット203は、例えば、誤りの結果に基づいて、イントラまたはインターのコーディングモードのうちの1つを選択し、得られたイントラまたはインターコーディングされたブロックを残差生成ユニット207に供給し、残差ブロックデータを生成して再構成ユニット212に供給し、エンコードされたブロックを参照ピクチャとして使用するために再構成してもよい。いくつかの例において、モード選択ユニット203は、インター予測信号およびイントラ予測信号に基づいて予測を行うCIIP(Combination of Intra and Inter Prediction)モードを選択してもよい。モード選択ユニット203は、インター予測の場合、ブロックのために動きベクトルの解像度(例えば、サブピクセルまたは整数ピクセル精度)を選択してもよい。
【0072】
現在の映像ブロックに対してインター予測を行うために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームと現在の映像ブロックとを比較することにより、現在の映像ブロックのために動き情報を生成してもよい。動き補償ユニット205は、現在の映像ブロックに関連付けられたピクチャ以外のバッファ213からのピクチャの動き情報およびデコードされたサンプルに基づいて、現在の映像ブロックのための予測映像ブロックを判定してもよい。
【0073】
動き推定ユニット204および動き補償ユニット205は、現在の映像ブロックがIスライスであるか、Pスライスであるか、またはBスライスであるかによって、例えば、現在の映像ブロックに対して異なる動作を行ってもよい。
【0074】
いくつかの例において、動き推定ユニット204は、現在の映像ブロックに対して単一方向予測を行い、動き推定ユニット204は、現在の映像ブロックに対して、参照映像ブロック用のリスト0またはリスト1の参照ピクチャを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックと、現在の映像ブロックと参照映像ブロックとの間の空間的変位を示す動きベクトルとを含む、リスト0またはリスト1における参照ピクチャを示す参照インデックスを生成してもよい。動き推定ユニット204は、参照インデックス、予測方向インジケータ、および動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在のブロックの予測映像ブロックを生成してもよい。
【0075】
他の例において、動き推定ユニット204は、現在の映像ブロックを双方向予測してもよく、動き推定ユニット204は、リスト0における参照ピクチャの中から現在の映像ブロックを求めるための参照映像ブロックを検索してもよく、また、リスト1における参照ピクチャの中から現在の映像ブロックを求めるための別の参照映像ブロックを検索してもよい。そして、動き推定ユニット204は、参照映像ブロックを含むリスト0およびリスト1における参照ピクチャを示す参照インデックスと、参照映像ブロックと現在の映像ブロックとの間の空間的変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在の映像ブロックの参照インデックスおよび動きベクトルを、現在の映像ブロックの動き情報として出力してもよい。動き補償ユニット205は、現在の映像ブロックの動き情報が示す参照映像ブロックに基づいて、現在の映像ブロックの予測映像ブロックを生成してもよい。
【0076】
いくつかの例において、動き推定ユニット204は、デコーダのデコーディング処理のために、動き情報のフルセットを出力してもよい。
【0077】
いくつかの例では、動き推定ユニット204は、現在の映像のための動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、別の映像ブロックの動き情報を参照して、現在の映像ブロックの動き情報を信号通知してもよい。例えば、動き推定ユニット204は、現在の映像ブロックの動き情報が近傍の映像ブロックの動き情報に十分に類似していることを判定してもよい。
【0078】
一例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、現在の映像ブロックが別の映像ブロックと同じ動き情報を有することを映像デコーダ300に示す値を示してもよい。
【0079】
他の例において、動き推定ユニット204は、現在の映像ブロックに関連付けられた構文構造において、別の映像ブロックと、動きベクトル差分(MVD;Motion Vector Difference)とを識別してもよい。動きベクトル差分は、現在の映像ブロックの動きベクトルと、示された映像ブロックの動きベクトルとの差分を示す。映像デコーダ300は、示された映像ブロックの動きベクトルおよび動きベクトル差分を使用して、現在の映像ブロックの動きベクトルを決定してもよい。
【0080】
上述したように、映像エンコーダ200は、動きベクトルを予測的に信号通知してもよい。映像エンコーダ200によって実装され得る予測信号通知技術の2つの例は、高度動きベクトル予測(AMVP)およびマージモード信号通知を含む。
【0081】
イントラ予測ユニット206は、現在の映像ブロックに対してイントラ予測を行ってもよい。イントラ予測ユニット206が現在の映像ブロックをイントラ予測する場合、イントラ予測ユニット206は、同じピクチャにおける他の映像ブロックのデコードされたサンプルに基づいて、現在の映像ブロックのための予測データを生成してもよい。現在の映像ブロックのための予測データは、予測された映像ブロックおよび様々な構文要素を含んでもよい。
【0082】
残差生成ユニット207は、現在の映像ブロックから現在の映像ブロックの予測された映像ブロックを減算することによって(例えば、マイナス符号によって示されている)、現在の映像ブロックのための残差データを生成してもよい。現在の映像ブロックの残差データは、現在の映像ブロックにおけるサンプルの異なるサンプル成分に対応する残差映像ブロックを含んでもよい。
【0083】
他の例において、例えば、スキップモードにおいて、現在の映像ブロックのための残差データがなくてもよく、残差生成ユニット207は、減算動作を行わなくてもよい。
【0084】
変換処理ユニット208は、現在の映像ブロックに関連付けられた残差映像ブロックに1つ以上の変換を適用することによって、現在の映像ブロックのための1つ以上の変換係数映像ブロックを生成してもよい。
【0085】
変換処理ユニット208が現在の映像ブロックに関連付けられた変換係数映像ブロックを生成した後、量子化ユニット209は、現在の映像ブロックに関連付けられた1つ以上の量子化パラメータ(QP:Quantization Parameter)値に基づいて、現在の映像ブロックに関連付けられた変換係数映像ブロックを量子化してもよい。
【0086】
逆量子化ユニット210および逆変換ユニット211は、変換係数映像ブロックに逆量子化および逆変換をそれぞれ適用し、変換係数映像ブロックから残差映像ブロックを再構成してもよい。再構成ユニット212は、予測ユニット202によって生成された1つ以上の予測映像ブロックから対応するサンプルに再構成された残差映像ブロックを追加して、バッファ213に格納するための現在のブロックに関連付けられた再構成された映像ブロックを生成してもよい。
【0087】
再構成ユニット212が映像ブロックを再構成した後、映像ブロックにおける映像ブロッキングアーチファクトを縮小するために、ループフィルタリング動作が行われてもよい。
【0088】
エントロピーエンコーディングユニット214は、映像エンコーダ200の他の機能コンポーネントからデータを受信してもよい。エントロピーエンコーディングユニット214がデータを受信すると、エントロピーエンコーディングユニット214は、1つ以上のエントロピーエンコーディング動作を行い、エントロピーエンコードされたデータを生成し、エントロピーエンコードされたデータを含むビットストリームを出力してもよい。
【0089】
図6は、映像デコーダ300の一例を示すブロック図であり、映像デコーダ300は、
図4に示すシステム100における映像デコーダ114であってもよい。
【0090】
映像デコーダ300は、本開示の技術のいずれかまたは全部を行うように構成されてもよい。
図6の例において、映像デコーダ300は、複数の機能コンポーネントを含む。本開示で説明される技術は、映像デコーダ300の様々なコンポーネント間で共有されてもよい。いくつかの例では、プロセッサは、本開示で説明される技術のいずれかまたはすべてを行うように構成してもよい。
【0091】
図6の実施例において、映像デコーダ300は、エントロピーデコーディングユニット301、動き補償ユニット302、イントラ予測ユニット303、逆量子化ユニット304、逆変換ユニット305、および再構成ユニット306、並びにバッファ307を含む。映像デコーダ300は、いくつかの例では、映像エンコーダ200(
図5)に関して説明したエンコーディングパスとほぼ逆のデコーディングパスを行ってもよい。
【0092】
エントロピーデコーディングユニット301は、エンコードされたビットストリームを取り出す。エンコードされたビットストリームは、エントロピーコーディングされた映像データ(例えば、映像データのエンコードされたブロック)を含んでもよい。エントロピーデコーディングユニット301は、エントロピーコーディングされた映像データをデコードし、エントロピーデコードされた映像データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、および他の動き情報を含む動き情報を決定してもよい。動き補償ユニット302は、例えば、AMVPおよびマージモードを行うことで、このような情報を判定してもよい。
【0093】
動き補償ユニット302は、動き補償されたブロックを生成してもよく、場合によっては、補間フィルタに基づいて補間を行う。構文要素には、サブピクセルの精度で使用される補間フィルタのための識別子が含まれてもよい。
【0094】
動き補償ユニット302は、映像ブロックのエンコーディング中に映像エンコーダ200によって使用されるような補間フィルタを使用して、参照ブロックのサブ整数画素のための補間値を計算してもよい。動き補償ユニット302は、受信した構文情報に基づいて、映像エンコーダ200が使用する補間フィルタを決定し、補間フィルタを使用して予測ブロックを生成してもよい。
【0095】
動き補償ユニット302は、エンコードされた映像シーケンスのフレームおよび/またはスライスをエンコードするために使用されるブロックのサイズを判定するための構文情報、エンコードされた映像シーケンスのピクチャの各マクロブロックがどのように分割されるかを記述する分割情報、各分割がどのようにエンコードされるかを示すモード、各インターエンコードされたブロックに対する1つ以上の参照フレーム(および参照フレームリスト)、およびエンコードされた映像シーケンスをデコードするための他の情報のいくつかを使用してもよい。
【0096】
イントラ予測ユニット303は、例えば、ビットストリームにおいて受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成してもよい。逆量子化ユニット303は、ビットストリームに提供され、エントロピーデコーディングユニット301によってデコードされた、量子化された映像ブロック係数を逆量子化(すなわち、逆量子化)する。逆変換ユニット303は、逆変換を適用する。
【0097】
再構成ユニット306は、残差ブロックと、動き補償ユニット202またはイントラ予測ユニット303によって生成された対応する予測ブロックとを合計し、デコードされたブロックを形成してもよい。所望であれば、ブロックアーチファクトを除去するために、デコードされたブロックをフィルタリングするためにデブロッキングフィルタを適用してもよい。デコードされた映像ブロックは、バッファ307に記憶され、バッファ307は、後続の動き補償/イントラ予測のために参照ブロックを提供し、表示デバイスに表示するためにデコードされた映像を生成する。
【0098】
次に、いくつかの実施形態において好適な例を列挙する。
【0099】
以下の項は、前章に記載された技術の例示的な実施形態を示す。以下の項は、前章(例えば、項目1)に記載された技術の例示的な実施形態を示す。
【0100】
1.1つ以上の彩度成分を有する映像であって、1つ以上のスライスを含む1つ以上の映像ピクチャを含む前記映像と、前記映像のコーディングされた表現との間で変換を行うこと(3002)を含み、前記コーディングされた表現はフォーマット規則に準拠し、前記フォーマット規則は、前記変換中に用いられる彩度の変換特性に対する制約を彩度配列タイプフィールドが制御することを規定する、映像処理方法(例えば、
図3に示す方法3000)。
【0101】
2.前記変換特性は、前記1つ以上の彩度成分に対する1つ以上のスケーリングリストの存在を示すフィールドに対する制約を含む、項1に記載の方法。
【0102】
3.前記変換特性は、彩度スケーリングを伴う輝度マッピングを信号通知するために使用されるコードワードを示すフィールドの値に対する制約を含む、項1に記載の方法。
【0103】
4.前記変換特性は、前記変換中に使用される適応ループフィルタセットのための適応パラメータを記述する構文要素の値に対する制約を含む、項1に記載の方法。
【0104】
5.前記フォーマット規則は、4:0:0フォーマットまたは別個のカラーコーディングフォーマットを信号通知する前記彩度アレイタイプフィールドに対して、1つ以上の適応パラメータセットのエントリと同じ意味論を使用することを規定する、項1に記載の方法。
【0105】
6.前記1つ以上のエントリは、適応ループフィルタパラメータ、またはスケーリングリストパラメータ、または彩度スケーリングパラメータを用いた輝度マッピングを含む、項5に記載の方法。
【0106】
7.前記フォーマット規則は、前記適応パラメータセットの前記1つ以上のエントリに対する制約が、前記適応パラメータセットの識別子が前記ビットストリームに含まれているかどうかに依存することをさらに規定する、項5~6に記載の方法。
【0107】
以下の目は、前章(例えば、項目2)に記載された技術の例示的な実施形態を示す。
【0108】
8.映像処理方法は、1つ以上の映像領域を含む1つ以上の映像ピクチャからなる映像と、映像のコーディングされた表現との間で変換を行うことを含み、コーディングされた表現は、変換中に映像領域に対するデブロッキングフィルタの適用性を示すデブロッキングモードインジケータを含むことを規定するフォーマット規則に適合している。
【0109】
9.前記デブロッキングモードインジケータは、Nビットフィールドであり、ここで、Nは、1よりも大きい整数である、項8に記載の方法。
【0110】
10.前記映像領域の前記デブロッキングモードインジケータは、ピクチャパラメータセットに含まれる、項8~9のいずれかに記載の方法
【0111】
11.前記デブロックモードインジケータは、前記デブロッキングフィルタが前記映像領域に適用可能であることを示す前記映像領域のヘッダに含まれるフラグに対応する、項8に記載の方法。
【0112】
12.前記フォーマット規則は、前記デブロッキングモードインジケータにおいて信号通知されたデブロッキングフィルタパラメータがデフォルトパラメータをオーバーライドするかどうかを信号通知するフラグを規定する、項8~11のいずれかに記載の方法。
【0113】
13.前記映像領域は、映像ピクチャまたは映像スライスに対応する、項8~12のいずれかに記載の方法。
【0114】
以下の項は、前章(例えば、項目3)に記載された技術の例示的な実施形態を示す。
【0115】
14.映像処理方法は、1つ以上の映像スライスおよび/または1つ以上の映像サブピクチャを含む1つ以上の映像ピクチャと、この映像のコーディングされた表現との間で変換を行うことを含み、このコーディングされた表現は、映像ピクチャに対してピクチャ分割が無効である場合に、サブピクチャごとの単一スライスモードを映像ピクチャに対して有効とみなされるかどうかを示すフラグを規定するフォーマット規則に準拠している。
【0116】
以下の項は、前章(例えば、項目4)に記載された技術の例示的な実施形態を示す。
【0117】
15.映像処理方法は、1つ以上の映像スライスを含む1つ以上の映像ピクチャを含む映像と、この映像のコーディングされた表現との間で変換を行うことを含み、このコーディングされた表現は、ピクチャヘッダまたはスライスヘッダにおいてピクチャまたはスライスレベルの彩度量子化パラメータオフセットを信号通知することを規定するフォーマット規則に準拠している。
【0118】
16.前記フォーマット規則は、スライスレベルの彩度量子化パラメータオフセットを前記スライスヘッダに含めるように規定する、項15に記載の方法。
【0119】
以下の項は、前章(例えば、項目5)に記載された技術の例示的な実施形態を示す。
【0120】
17.映像処理方法は、以下を含む。
1つ以上の映像スライスを含む1つ以上の映像ピクチャからなる映像と、前記映像のコーディングされた表現との間の変換を実行するステップであって、前記コーディングされた表現は、前記映像の映像ブロックの変換に適用される彩度量子化パラメータ(QP)テーブルが(delta_qp_inval_minus1[i][j]+1)およびdelta_qp_diff_val[i][j]とのXOR動作として導出されると定めるフォーマット規則に従って行われ、delta_qp_in_val_minus1[i][j]はi番目の彩度マッピングテーブルのj番目のピボットポイントの入力座標の導出に用いるデルタ値を指定し、delta_qp_diff_val[i][j]はi番目の彩度QPマッピングテーブルのj番目のピボットポイントの出力座標の導出に用いるデルタ値を指定し、iおよびjは整数である。
【0121】
18.前記変換は、前記映像を前記コーディングされた表現にエンコーディングすることを含む、項目1~17のいずれかに記載の方法。
【0122】
19.前記変換は、前記映像の画素値を生成すべく前記コーディングされた表現をデコーディングすることを含む、項1~17のいずれかに記載の方法。
【0123】
20.項1~19の1つ以上に記載の方法を実装するように構成されたプロセッサを備える、映像デコーディング装置。
【0124】
21.項1~19の1つ以上に記載の方法を実装するように構成されたプロセッサを備える映像エンコーディング装置。
【0125】
22.コンピュータコードが記憶されたコンピュータプログラム製品において、前記コードがプロセッサにより実行されると、前記プロセッサは、項1~19のいずれかに記載の方法を実装する。
【0126】
23.本明細書に記載の方法、装置またはシステム。
【0127】
第2のセットの項は、前章で論じた技術の例示的な実施形態を示す(例えば、項目1.h)。
【0128】
1.フォーマット規則に従って映像と映像のビットストリームとの間で変換を行うこと710を含み、このフォーマット規則は、ピクチャまたはスライスが適応パラメータセットを参照する場合、ピクチャヘッダまたはスライスヘッダに含まれる情報を使用して、第2のフィールドに基づく適応パラメータセットにおける第1のフィールドの値の制約を導出することを規定する、映像データ処理方法(例えば
図7に示すような方法700)。
【0129】
2.第2のフィールドは、映像の彩度フォーマット識別子を示す、項1に記載の方法。
【0130】
3.第2のフィールドは、輝度サンプリングに対する彩度サンプリングを示す、項1または2に記載の方法。
【0131】
4.前記第2のフィールドは、前記映像における彩度成分の存在を示す、項1に記載の方法。
【0132】
5.前記フォーマット規則は、前記適応パラメータセットが、前記ピクチャヘッダまたは前記スライスヘッダに含まれるインデックスによって決定されることをさらに規定する、項1に記載の方法。
【0133】
6.第2のフィールドが、シーケンスパラメータセットに含まれる構文要素である、項1に記載の方法。
【0134】
7.第2のフィールドは、シーケンスパラメータセットに含まれる情報に基づく、項1に記載の方法。
【0135】
8.シーケンスパラメータセットは、ピクチャパラメータセットに含まれる指示によって決定され、ピクチャパラメータセットは、ピクチャヘッダまたはスライスヘッダに含まれる別の指示によってさらに決定される、項7に記載の方法。
【0136】
9.前記適応パラメータセットと前記ピクチャヘッダまたは前記スライスヘッダのうち少なくとも1つとを構文解析した後、前記値をチェックする、項1に記載の方法。
【0137】
10.前記第1のフィールドは、彩度関連構文要素の存在を規定する彩度存在フラグに対応する、項1に記載の方法。
【0138】
11.前記フォーマット規則は、彩度関連構文要素が適応パラメータセット構文構造に含まれるかどうかを規定する構文要素を規定する、項1に記載の方法。
【0139】
12.前記第1フィールドは、APS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットが彩度関連構文要素を含むかどうかを示す彩度存在フラグに対応する項1に記載の方法。
【0140】
13.前記フォーマット規則は、前記第1のフィールドの値が前記第2のフィールドの値に基づいて決定されることをさらに規定する、項1に記載の方法。
【0141】
14.前記第2のフィールドの値が、彩度成分が映像に含まれていないことに呼応して、第1のフィールドの値は、APS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットが彩度関連構文要素を含まないことを示す項13に記載の方法。
【0142】
15.前記第2のフィールドの値が、彩度成分が映像に含まれていることに呼応して、第1のフィールドの値は、APS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットが彩度関連構文要素を含むことを示す項13に記載の方法。
【0143】
16.前記フォーマット規則は、前記第1のフィールドの値が、前記ピクチャヘッダまたは前記スライスヘッダにおけるAPS(適応パラメータセット)識別子に依存することをさらに規定する、項1に記載の方法。
【0144】
17.前記フォーマット規則は、前記第2のフィールドが一定の値を有する場合、ALF(適応ループフィルタ)タイプを示すAPSパラメータタイプを有し、かつ前記APS識別子が前記ピクチャヘッダまたは前記スライスヘッダに含まれる情報に等しいAPSパラメータセットを有するAPS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットの第1のフィールドの値に対する要件を設定することを規定する、項16に記載の方法。
【0145】
18.前記フォーマット規則は、第2のフィールドの値が第2の一定の値に等しい場合、第1のフィールドの値が第1の一定の値に等しい必要条件を設定することを規定する、項17に記載の方法。
【0146】
19.前記第1の一定の値および第2の一定の値が0に等しい、項18に記載の方法。
【0147】
20.前記フォーマット規則は、第2のフィールドの値が第2の一定の値より大きい場合、第1のフィールドの値が第1の一定の値に等しい必要条件を設定することを規定する、項17に記載の方法。
【0148】
21.第1の一定の値が1に等しく、第2の一定の値が0に等しい、項20に記載の方法。
【0149】
22.前記フォーマット規則は、前記第2のフィールドが一定の値を有する場合、SCALINGタイプを示すAPSパラメータタイプを有し、かつ前記APS識別子が前記ピクチャヘッダまたは前記スライスヘッダに含まれる情報に等しいAPSパラメータセットを有するAPS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットの第1のフィールドの値に対する要件を規定することを規定する、項16に記載の方法。
【0150】
23.前記フォーマット規則は、第2のフィールドの値が第2の一定の値に等しい場合、第1のフィールドの値が第1の一定の値に等しい必要条件を設定することを規定する、項22に記載の方法。
【0151】
24.前記第1の一定の値および第2の一定の値が0に等しい、項23に記載の方法。
【0152】
25.前記フォーマット規則は、第2のフィールドの値が第2の一定の値より大きい場合、第1のフィールドの値が第1の一定の値に等しい必要条件を設定することを規定する、項22に記載の方法。
【0153】
26.第1の一定の値が1に等しく、第2の一定の値が0に等しい、項25に記載の方法。
【0154】
27.前記フォーマット規則は、前記第2のフィールドが一定の値を有する場合、LMCS(彩度スケーリングによる輝度マッピング)タイプを示すAPSパラメータタイプを有し、かつ前記APS識別子が前記ピクチャヘッダまたは前記スライスヘッダに含まれる情報に等しいAPSパラメータセットを有するAPS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットの第1のフィールドの値に対する要件を規定することを規定する、項目16に記載の方法。
【0155】
28.前記フォーマット規則は、前記第1のフィールドの値が、前記ピクチャヘッダまたは前記スライスヘッダに設定された前記適応パラメータセットの識別子の存在に依存しないことをさらに規定する、項1に記載の方法。
【0156】
29.前記フォーマット規則は、前記第2のフィールドが一定の値を有する場合、SCALINGタイプを示すAPSパラメータタイプおよび/またはALF(適応ループフィルタリング)タイプおよび/またはLMCS(彩度スケーリングによる輝度マッピング)を有するAPS(適応パラメータセット)NAL(ネットワーク抽象化レイヤ)ユニットの第1のフィールドの値を規定することを規定する、項28に記載の方法。
【0157】
30.前記フォーマット規則は、第2のフィールドの値が第2の一定の値に等しい場合、第1のフィールドの値が第1の一定の値に等しい必要条件を設定することを規定する、項29に記載の方法。
【0158】
31.前記第1の一定の値および第2の一定の値が0に等しい、項29に記載の方法。
【0159】
32.前記フォーマット規則は、第2のフィールドの値が第2の一定の値より大きい場合、第1のフィールドの値が第1の一定の値に等しい必要条件を設定することを規定する、項29に記載の方法。
【0160】
33.第3の一定の値が1に等しいく、第2の一定の値が0に等しい、項32に記載の方法。
【0161】
34.変換は、映像をビットストリームにエンコーディングすることを含む、項1から33のいずれかに記載の方法。
【0162】
35.前記変換は、前記ビットストリームから前記映像をデコーディングすることを含む、項目1から33までのいずれかに記載の方法。
【0163】
36.前記変換は、映像から前記ビットストリームを生成することを含み、前記方法は、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、項1~33のいずれかに記載の方法。
【0164】
37.項1から36のいずれか1つまたは複数に記載された方法を実装するように構成されたプロセッサを含む映像処理装置。
【0165】
38.項1から36のいずれかに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0166】
39.実行されると、項1から36までのいずれか1つ以上に記載された方法をプロセッサに実施させるプログラムコードを格納したコンピュータ可読媒体。
【0167】
40.上述した方法のいずれかに従って生成されたビットストリームを記憶するコンピュータ可読媒体。
【0168】
41.項1から36のうちの1つまたは複数に記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0169】
第3のセットの項は、前章に記載された技術の例示的な実施形態を示す(例えば、項目11~13)。
【0170】
1.フォーマット規則に従って、映像の映像領域とこの映像のビットストリームとの間で変換を行うこと802を含み、このフォーマット規則は、i)ピクチャパラメータセットレベルおよびii)ピクチャレベルまたはスライスレベルの構文要素に基づいて、この映像領域に対するデブロッキングフィルタの適用可能性を決定することを規定する、映像処理方法(例えば、
図8Aに示す方法800)。
【0171】
2.前記映像領域は、スライスである、項1に記載の方法。
【0172】
3.前記フォーマット規則は、ピクチャパラメータセットを参照するスライスに対するデブロッキングフィルタの適用可能性が、ピクチャパラメータセットにおける第1の構文要素と、ピクチャレベルまたはスライスレベルにおける第2の構文要素とに基づくことを規定する、項1に記載の方法。
【0173】
4.前記フォーマット規則は、第1の構文要素の値が、ピクチャレベルまたはスライスレベルで別段の指示がない限り、ピクチャパラメータセットを参照するスライスに対してデブロッキングフィルタを適用するかどうかを規定することを規定する、項3に記載の方法。
【0174】
5.前記第1の構文要素の値が0であることは、情報がピクチャヘッダまたはスライスヘッダを提示することによってピクチャまたはスライスに対してオーバーライドされない限り、ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタを有効化することを規定する、項4に記載の方法。
【0175】
6.前記第1の構文要素の値が1であることは、情報がピクチャヘッダまたはスライスヘッダを提示することによってピクチャまたはスライスに対してオーバーライドされない限り、ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタを無効化することを規定する、項4に記載の方法。
【0176】
7.前記フォーマット規則は、スライスヘッダにデブロッキングパラメータが存在することを示す第3の構文要素が存在しない場合、前記第3の構文要素の値が一定の値に等しいと推論することを規定する、項1に記載の方法。
【0177】
8.前記フォーマット規則は、デブロッキングフィルタの適用可能性をピクチャレベルまたはスライスレベルで示す第2の構文要素を含むかどうかを規定することが、(1)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタを無効化するかどうか、および/または(2)ピクチャヘッダまたはスライスヘッダにおいて、デブロッキング動作のオーバーライドを許可するデブロッキングパラメータが存在するかどうかに依存する、項1に記載の方法
【0178】
9.前記フォーマット規則は、前記第2の構文要素を前記ピクチャヘッダに含めるかどうかを規定することが、(1)前記ピクチャパラメータセットを参照するピクチャのために前記デブロッキングフィルタが無効化されているかどうか、および/または(2)ピクチャヘッダ中のデブロッキングパラメータの存在を示すデブロッキングオーバーライドフラグの値に依存する、項8に記載の方法。
【0179】
10.前記フォーマット規則は、i)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されているかどうかを示すデブロッキングフィルタフラグ、そしてii)ピクチャヘッダレベルのデブロッキングオーバーライドフラグが一定の値を有する場合、前記第2の構文要素を前記ピクチャヘッダから省略することを規定する、項9に記載の方法。
【0180】
11.前記フォーマット規則は、i)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されているかどうかを示すデブロッキングフィルタフラグと、ii)ピクチャヘッダレベルのデブロッキングオーバーライドフラグと、iii)前記デブロッキングオーバーライドフラグの存在を示す存在フラグが一定値以上である場合に、前記第2の構文要素を前記ピクチャヘッダから省略することを規定する、項9に記載の方法。
【0181】
12.前記フォーマット規則は、デブロッキングフィルタの適用可能性を示す第2の構文要素が存在しない場合、前記第2の構文要素の値を推論することを規定する、項9に記載の方法。
【0182】
13.前記フォーマット規則は、i)PPSを参照するスライスに対してデブロッキング動作のオーバーライドが許可されることを示すPPS(ピクチャパラメータセット)レベルのデブロッキングオーバーライドフラグと、ii)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されることを示すPPSレベルのデブロッキングフィルタフラグと、iii)ピクチャヘッダレベルのデブロッキング動作をオーバーライドすべきであることを示すピクチャヘッダレベルの存在フラグの場合に、第2の構文要素の値が、デブロッキングフィルタがピクチャで有効化されていることを示す一定の値と等しいと推論し、そしてそうでない場合には、PPSレベルのデブロッキングフィルタフラグの値と等しくなる第2の構文要素の値を推論することを規定する、項12に記載の方法。
【0183】
14.前記フォーマット規則は、i)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されるかどうかを示すPPS(ピクチャパラメータセット)レベルのデブロッキングフィルタフラグと、ii)ピクチャヘッダレベルのデブロッキング動作をオーバーライドすべきであることを示すピクチャヘッダレベルの存在フラグの場合に、第2の構文要素の値が、デブロッキングフィルタがピクチャで有効化されていることを示す一定の値と等しいと推論し、そしてそうでない場合には、PPSレベルのデブロッキングフィルタフラグの値と等しくなる第2の構文要素の値を推論することを規定する、項12に記載の方法。
【0184】
15.前記フォーマット規則は、前記第2の構文要素を前記スライスヘッダに含めるかどうかを規定することが、(1)前記ピクチャパラメータセットを参照するピクチャのために前記デブロッキングフィルタが無効化されているかどうか、および/または(2)スライスヘッダ中のデブロッキングパラメータの存在を示すデブロッキングオーバーライドフラグの値に依存する、項8に記載の方法。
【0185】
16.前記フォーマット規則は、i)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されているかどうかを示すデブロッキングフィルタフラグと、ii)スライスヘッダレベルのデブロッキングオーバーライドフラグと、iii)前記デブロッキングオーバーライドフラグの存在を示す存在フラグが一定値以上である場合に、前記第2の構文要素を前記ピクチャヘッダから省略することを規定する、項15に記載の方法。
【0186】
17.前記フォーマット規則は、i)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されているかどうかを示すデブロッキングフィルタフラグ、そしてii)デブロッキングオーバーライドフラグが一定の値を有する場合、前記第2の構文要素を前記スライスヘッダから省略することを規定する、項15に記載の方法。
【0187】
18.前記フォーマット規則は、デブロッキングフィルタの適用可能性を示す第2の構文が存在しない場合、前記第2の構文要素の値を推論することを規定する、項15に記載の方法。
【0188】
19.前記フォーマット規則は、i)PPSを参照するスライスに対してデブロッキング動作のオーバーライドが許可されることを示すPPS(ピクチャパラメータセット)レベルのデブロッキングオーバーライドフラグと、ii)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されるかどうかを示すPPSレベルのデブロッキングフィルタフラグと、iii)スライスヘッダレベルのデブロッキング動作をオーバーライドすべきであることを示すスライスヘッダレベルの存在フラグの場合に、第2の構文要素の値が、デブロッキングフィルタがピクチャで有効化されていることを示す一定の値と等しいと推論し、そしてそうでない場合には、PPSレベルのデブロッキングフィルタフラグの値と等しくなる第2の構文要素の値を推論することを規定する、項18に記載の方法。
【0189】
20.前記フォーマット規則は、i)ピクチャパラメータセットを参照するピクチャに対してデブロッキングフィルタが無効化されるかどうかを示すPPS(ピクチャパラメータセット)レベルのデブロッキングフィルタフラグと、ii)スライスヘッダレベルのデブロッキング動作をオーバーライドすべきであることを示すスライスヘッダレベルの存在フラグの場合に、第2の構文要素の値が、デブロッキングフィルタがピクチャで有効化されていることを示す一定の値と等しいと推論し、そしてそうでない場合には、PPSレベルのデブロッキングフィルタフラグの値と等しくなる第2の構文要素の値を推論することを規定する、項目18に記載の方法。
【0190】
21.フォーマット規則に従って、映像の現在の映像ブロックとこの映像のビットストリームとの間で変換を行うこと812を含み、このフォーマット規則は、第1の予測モードの適用可能性を示す第2の構文要素または現在の映像ブロックのブロックサイズのうちの少なくとも1つに基づいて、現在の映像ブロックがスキップモードでコーディングされているかどうかを示す第1の構文要素を省略することを規定し、第1の予測は、ブロックベクトルによって決定されるような、現在の映像ブロックの同じスライスのサンプル値のブロックから導出される、映像処理方法(例えば、
図8Bに示す方法810)。
【0191】
22.前記第2の構文要素は、シーケンスパラメータセットにある、項21に記載の方法。
【0192】
23.第1の予測モードは、イントラブロックコピー予測モードである、項21に記載の方法。
【0193】
24.第2の構文要素が、第1の予測モードが有効であり、ブロックサイズが64x64よりも小さくないことを示す場合、フォーマット規則が第1の構文要素を省略することを規定する、項1に記載の方法。
【0194】
25.フォーマット規則に従って、1以上のピクチャを含む映像とこの映像のビットストリームとの変換を行うこと822を含み、このフォーマット規則は、ピクチャにおけるコーディングツリーブロックの数に基づいて、1つのピクチャを映像領域に分割するかどうかを示す指標の存在および/または値を規定する、映像処理方法(例えば、
図8Cに示すような方法820)。
【0195】
26.前記フォーマット規則は、ピクチャにおけるコーディングツリーブロックの数が1に等しい、または2より小さい場合、前記指示が含まれていないことを規定する、項25に記載の方法。
【0196】
27.前記フォーマット規則は、ピクチャにおけるコーディングツリーブロックの数が1に等しい、または2より小さい場合、前記指示が0に等しい値を有することを規定する、項25に記載の方法。
【0197】
28.変換は、映像をビットストリームにエンコーディングすることを含む、項目1から27のいずれかに記載の方法。
【0198】
29.変換は、ビットストリームから映像をデコーディングすることを含む、項1から27までのいずれかに記載の方法。
【0199】
30.変換は、映像からビットストリームを生成することを含み、方法は、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、項1から27のいずれかに記載の方法。
【0200】
31.項1から30の1または複数に記載の方法を実装するように構成されたプロセッサを備える映像処理装置。
【0201】
32.項1から30のいずれかに記載の方法と、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することをさらに含む、映像のビットストリームを記憶する方法。
【0202】
33.実行された際に、項1から30の1または複数に記載の方法をプロセッサに実装させるプログラムコードを記憶するコンピュータ可読媒体。
【0203】
34.上述した方法のいずれかに従って生成されたビットストリームを記憶するコンピュータ可読媒体。
【0204】
35.項1から30の1または複数に記載の方法を実装するように構成された、ビットストリーム表現を記憶するための映像処理装置。
【0205】
本明細書では、「映像処理」という用語は、映像エンコーディング、映像デコーディング、映像圧縮、または映像展開を指してよい。例えば、映像圧縮アルゴリズムは、映像の画素表現から対応するビットストリーム表現への変換、またはその逆の変換中に適用されてもよい。現在の映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内の同じ場所または異なる場所に拡散されるビットに対応していてもよい。例えば、1つのマクロブロックは、変換およびコーディングされた誤り残差値の観点から、かつビットストリームにおけるヘッダおよび他のフィールドにおけるビットを使用してエンコードされてもよい。さらに、変換中、デコーダは、上記解決策で説明されているように、判定に基づいて、いくつかのフィールドが存在しても存在しなくてもよいという知識を持って、ビットストリームを構文解析してもよい。同様に、エンコーダは、特定の構文フィールドが含まれるべきであるか、または含まれないべきであるかを判定し、構文フィールドをコーディング表現に含めるか、またはコーディング表現から除外することによって、それに応じてコーディング表現を生成してもよい。
【0206】
本明細書に記載された開示された、およびその他の解決策、実施例、実施形態、モジュール、および機能動作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1または複数のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の動作を制御するために、コンピュータ可読媒体上にエンコードされたコンピュータプログラム命令の1または複数のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶デバイス、機械可読記憶基板、メモリデバイス、機械可読伝播信号をもたらす物質の組成物、またはこれらの1または複数の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1または複数の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報をエンコードするために生成される。
【0207】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、また、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1または複数のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1または複数のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。コンピュータプログラムを、1つのコンピュータで実行するように展開することができ、あるいは、1つのサイトに位置する、または複数のサイトにわたって分散され通信ネットワークによって相互接続される複数のコンピュータで実行するように展開することができる。
【0208】
本明細書に記載された処理およびロジックフローは、入力データ上で動作し、出力を生成することによって機能を行うための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって行うことができる。処理およびロジックフローはまた、特定用途のロジック回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって行うことができ、装置はまた、特別目的のロジック回路として実装することができる。
【0209】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを記憶するための1または複数の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、およびメモリデバイスを含み、例えば、EPROM、EEPROM、フラッシュメモリデバイス、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体メモリデバイスを含む。プロセッサおよびメモリは、特定用途のロジック回路によって補完されてもよく、または特定用途のロジック回路に組み込まれてもよい。
【0210】
本特許明細書は多くの詳細を含むが、これらは、任意の主題の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許文献において別個の実施形態のコンテキストで説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、1つの例のコンテキストで説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブコンビネーションまたはサブコンビネーションのバリエーションに向けられてもよい。
【0211】
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で行われること、または示された全ての動作が行われることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている実施形態における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。
【0212】
いくつかの実装形態および実施例のみが記載されており、この特許文献に記載され図示されているコンテンツに基づいて、他の実施形態、拡張および変形が可能である。