IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ バイトダンス インコーポレイテッドの特許一覧

特開2024-15107ビデオコーディングでのサブピクチャ及びタイルの使用
<>
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図1
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図2
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図3
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図4
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図5
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図6
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図7
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図8
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図9
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図10
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図11
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図12
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図13
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図14
  • 特開-ビデオコーディングでのサブピクチャ及びタイルの使用 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024015107
(43)【公開日】2024-02-01
(54)【発明の名称】ビデオコーディングでのサブピクチャ及びタイルの使用
(51)【国際特許分類】
   H04N 19/70 20140101AFI20240125BHJP
   H04N 19/51 20140101ALI20240125BHJP
【FI】
H04N19/70
H04N19/51
【審査請求】有
【請求項の数】10
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023202345
(22)【出願日】2023-11-30
(62)【分割の表示】P 2022572513の分割
【原出願日】2021-05-26
(31)【優先権主張番号】63/030,726
(32)【優先日】2020-05-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ワン,イェ-クイ
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】シュイ,ジィジォン
(72)【発明者】
【氏名】ザン,カイ
(57)【要約】
【課題】ビデオ符号化及びビデオ復号化のためのいくつかの技術について記載する。
【解決手段】一例となる方法は、規則に従ってビデオとビデオのビットストリームとの間の変換を実行するステップを含み、規則は、変換で使用される量子化パラメータテーブルがシーケンスパラメータセットに含まれることを定め、規則は、量子化パラメータテーブル内の点の数を示す第1シンタックス要素がシーケンスパラメータセットに含まれるかどうか又はどのように含まれるかがシーケンスパラメータセット内の第2シンタックス要素に従って制御されることを定める。
【選択図】図5
【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
規則に従ってビデオと該ビデオのビットストリームとの間の変換を実行するステップを有し、
前記規則は、シーケンスパラメータセット内の第1シンタックス要素によって示される、サブピクチャの数から1をマイナスしたものが、ゼロよりも大きい場合、かつ、前記ビデオの第1ビデオピクチャのサブピクチャインデックスsubpicIdxを有する現在のサブピクチャが、コーディングレイヤビデオシーケンス内の前記ビデオの各ビデオピクチャの前記サブピクチャインデックスsubpicIdxを有するサブピクチャがインループフィルタリング動作を除く復号化プロセスでビデオピクチャとして扱われることを示す前記シーケンスパラメータセット内の第2シンタックス要素を有する場合に、
(1)前記第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャと、前記第1ビデオピクチャとが、大きさ情報に関係がある複数のシンタックス要素の夫々について同じ値を有すること、及び
(2)前記第1参照ピクチャリスト又は前記第2参照ピクチャリスト内の各アクティブエントリによって参照される前記第2ビデオピクチャが、前記サブピクチャの数から1をマイナスしたものを示す前記第1シンタックス要素の値がゼロに等しいインターレイヤ参照ピクチャエントリであること
の2つの条件のうちの一方のみが真であることを定める、
方法。
【請求項2】
前記大きさ情報に関係がある複数のシンタックス要素は、
ルーマサンプルの単位でピクチャ幅を示す、ピクチャパラメータセットに含まれる第3シンタックス要素と、
ルーマサンプルの単位でピクチャ高さを示す、前記ピクチャパラメータセットに含まれる第4シンタックス要素と、
前記サブピクチャの数から1をマイナスしたものを示す前記第1シンタックス要素と、
0以上かつ前記サブピクチャの数から1をマイナスしたもの以下の範囲をとるiの各値についての、i番目のサブピクチャの左上コーディングツリーユニット(CTU)の水平位置を示す、前記シーケンスパラメータセットに含まれる第5シンタックス要素、前記i番目のサブピクチャの前記左上CTUの垂直位置を示す、前記シーケンスパラメータセットに含まれる第6シンタックス要素、前記i番目のサブピクチャの幅から1をマイナスしたものを示す、前記シーケンスパラメータセットに含まれる第7シンタックス要素、前記i番目のサブピクチャの高さから1をマイナスしたものを示す、前記シーケンスパラメータセットに含まれる第8シンタックス要素、及び前記i番目のサブピクチャについての前記第2シンタックス要素と
を有する、
請求項1に記載の方法。
【請求項3】
前記規則は、前記変換で使用される量子化パラメータテーブルを記述するために使用される点の数を示す、第9シンタックス要素に1をプラスしたものが、前記シーケンスパラメータセットに含まれ、前記第9シンタックス要素の値が、前記シーケンスパラメータセット内の第10シンタックス要素に従って制御される、ことを定め、
前記第10シンタックス要素の値は、前記量子化パラメータテーブルを記述するために使用される開始ルーマ及びクロマ量子化パラメータを示す、
請求項1に記載の方法。
【請求項4】
前記量子化パラメータテーブルは、クロマ量子化パラメータマッピングテーブルである、
請求項3に記載の方法。
【請求項5】
前記第9シンタックス要素の最大値は、整数と前記第10シンタックス要素の値との間の差に基づく、
請求項3に記載の方法。
【請求項6】
前記変換を実行するステップは、前記ビデオを前記ビットストリームに符号化することを含む、
請求項1乃至5のうちのいずれかに記載の方法。
【請求項7】
前記変換を実行するステップは、前記ビデオを前記ビットストリームから復号することを含む、
請求項1乃至5のうちのいずれかに記載の方法。
【請求項8】
プロセッサと、命令を有する非一時的なメモリとを有し、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
規則に従ってビデオと該ビデオのビットストリームとの間の変換を実行させ、
前記規則は、シーケンスパラメータセット内の第1シンタックス要素によって示される、サブピクチャの数から1をマイナスしたものが、ゼロよりも大きい場合、かつ、前記ビデオの第1ビデオピクチャのサブピクチャインデックスsubpicIdxを有する現在のサブピクチャが、コーディングレイヤビデオシーケンス内の前記ビデオの各ビデオピクチャの前記サブピクチャインデックスsubpicIdxを有するサブピクチャがインループフィルタリング動作を除く復号化プロセスでビデオピクチャとして扱われることを示す前記シーケンスパラメータセット内の第2シンタックス要素を有する場合に、
(1)前記第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャと、前記第1ビデオピクチャとが、大きさ情報に関係がある複数のシンタックス要素の夫々について同じ値を有すること、及び
(2)前記第1参照ピクチャリスト又は前記第2参照ピクチャリスト内の各アクティブエントリによって参照される前記第2ビデオピクチャが、前記サブピクチャの数から1をマイナスしたものを示す前記第1シンタックス要素の値がゼロに等しいインターレイヤ参照ピクチャエントリであること
の2つの条件のうちの一方のみが真であることを定める、
装置。
【請求項9】
プロセッサに、規則に従ってビデオと該ビデオのビットストリームとの間の変換を実行させる命令を記憶し、
前記規則は、シーケンスパラメータセット内の第1シンタックス要素によって示される、サブピクチャの数から1をマイナスしたものが、ゼロよりも大きい場合、かつ、前記ビデオの第1ビデオピクチャのサブピクチャインデックスsubpicIdxを有する現在のサブピクチャが、コーディングレイヤビデオシーケンス内の前記ビデオの各ビデオピクチャの前記サブピクチャインデックスsubpicIdxを有するサブピクチャがインループフィルタリング動作を除く復号化プロセスでビデオピクチャとして扱われることを示す前記シーケンスパラメータセット内の第2シンタックス要素を有する場合に、
(1)前記第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャと、前記第1ビデオピクチャとが、大きさ情報に関係がある複数のシンタックス要素の夫々について同じ値を有すること、及び
(2)前記第1参照ピクチャリスト又は前記第2参照ピクチャリスト内の各アクティブエントリによって参照される前記第2ビデオピクチャが、前記サブピクチャの数から1をマイナスしたものを示す前記第1シンタックス要素の値がゼロに等しいインターレイヤ参照ピクチャエントリであること
の2つの条件のうちの一方のみが真であることを定める、
非一時的なコンピュータ可読記憶媒体。
【請求項10】
ビデオのビットストリームを記憶する方法であって、
規則に従って前記ビデオの前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと、を有し
前記規則は、シーケンスパラメータセット内の第1シンタックス要素によって示される、サブピクチャの数から1をマイナスしたものが、ゼロよりも大きい場合、かつ、前記ビデオの第1ビデオピクチャのサブピクチャインデックスsubpicIdxを有する現在のサブピクチャが、コーディングレイヤビデオシーケンス内の前記ビデオの各ビデオピクチャの前記サブピクチャインデックスsubpicIdxを有するサブピクチャがインループフィルタリング動作を除く復号化プロセスでビデオピクチャとして扱われることを示す前記シーケンスパラメータセット内の第2シンタックス要素を有する場合に、
(1)前記第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャと、前記第1ビデオピクチャとが、大きさ情報に関係がある複数のシンタックス要素の夫々について同じ値を有すること、及び
(2)前記第1参照ピクチャリスト又は前記第2参照ピクチャリスト内の各アクティブエントリによって参照される前記第2ビデオピクチャが、前記サブピクチャの数から1をマイナスしたものを示す前記第1シンタックス要素の値がゼロに等しいインターレイヤ参照ピクチャエントリであること
の2つの条件のうちの一方のみが真であることを定める、
非一時的なコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2020年5月27日付けで出願された米国仮特許出願第63/030726号の優先権及び利益を請求して2021年5月26日付けで出願された国際特許出願第PCT/US2021/034259号に基づいて2022年11月25日付けで提出された特願2022-572513号に基づくものである。上記の全ての特許出願は、それらの全文を参照により本願に援用される。
【0002】
[技術分野]
本特許明細書は、イメージ及びビデオのコーディング及び復号化に関係がある。
【背景技術】
【0003】
デジタルビデオは、インターネット及び他のデジタル通信網で最大のバンド幅使用を占めている。ビデオを受信及び表示することができるユーザ機器の接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は増え続けることが予想される。
【発明の概要】
【0004】
本特許明細書は、ビデオのコーディングされた表現の復号化にとって有用な制御情報を用いて、コーディングされた表現を処理するために、ビデオエンコーダ及びデコーダによって使用され得る技術を開示する。
【0005】
一例となる態様では、ビデオ処理方法が開示される。方法は、規則に従ってビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、前記規則は、前記変換で使用される量子化パラメータテーブルがシーケンスパラメータセットに含まれることを定め、前記規則は、前記量子化パラメータテーブル内の点の数を示す第1シンタックス要素が前記シーケンスパラメータセットに含まれるかどうか又はどのように含まれるかが前記シーケンスパラメータセット内の第2シンタックス要素に従って制御されることを定める。
【0006】
他の例となる態様では、ビデオ処理方法が開示される。方法は、規則に従ってビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、前記規則は、シーケンスパラメータセットで示されるサブピクチャの数から1をマイナスしたものがゼロよりも大きい場合かつ前記シーケンスパラメータセット内のシンタックス要素によりコーディングレイヤビデオシーケンス内の前記ビデオの第1ビデオピクチャのi番目のサブピクチャがインループフィルタリング動作を除く復号化プロセスで前記ビデオの第2ビデオピクチャとして扱われることが示される場合に、次の2つの条件(1)、(2)のうちの一方が真であることを定める:
(1)前記第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される前記第2ビデオピクチャと、前記第1ビデオピクチャとが、次の:
ルーマサンプルの単位でのピクチャ幅と、
ルーマサンプルの単位でのピクチャ高さと、
前記サブピクチャの数から1をマイナスしたものと、
0以上かつ前記サブピクチャの数から1をマイナスしたもの以下の範囲をとるiの各値についての、前記i番目のサブピクチャの左上コーディングツリーユニット(CTU)の水平位置、前記i番目のサブピクチャの前記左上CTUの垂直位置、前記i番目のサブピクチャの幅から1をマイナスしたもの、前記i番目のサブピクチャの高さから1をマイナスしたもの、及び前記i番目のサブピクチャのシンタックス要素と
の夫々について同じ値を有する。
(2)前記第1参照ピクチャリスト又は前記第2参照ピクチャリスト内の各アクティブエントリによって参照される前記第2ビデオピクチャが、前記サブピクチャの数から1をマイナスしたものの値がゼロに等しいインターレイヤ参照ピクチャである。
【0007】
他の例となる態様では、ビデオ処理方法が開示される。方法は、規則に従って、ビデオブロックを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、前記規則は、アフィンコーディングツールが使用可能でありかつサブブロックベースの時間的動きベクトル予測(SbTMVP)コーディングツールが使用不可能である場合に、サブブロックマージ候補の最大数が数Nであることを許されないことを定める。
【0008】
他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、前記ビットストリームは、フォーマット規則に従い、前記フォーマット規則は、アフィンマージモードが使用可能であるかどうかを示すシンタックス要素が前記ビットストリーム内にあるかどうかを定める。
【0009】
他の例となる態様では、ビデオ処理方法が開示される。方法は、規則に従って、1つ以上のサブピクチャを含む1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換を実行するステップを含み、前記規則は、次のサブピクチャ関連シンタックス要素:
同じシーケンスパラメータセットを参照する全てのサブピクチャが同じ寸法を有するかどうかを示す第1シンタックス要素、
同じ寸法を有する全てのサブピクチャの共通の幅及び共通の高さを示す第2シンタックス要素、又は
全てのサブピクチャが同じ寸法を有さない場合に省略される、第2規則に従う1つ以上のシンタックス要素
のうちの1つ以上をシーケンスパラメータセットから指示又は省略することを定める。
【0010】
他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換のために、ルーマサンプルの単位での、ピクチャパラメータセットを参照する各ビデオピクチャの幅が、ルーマコーディングツリーブロックサイズよりも小さいか又はそれと等しいことに応答して、コーディングツリーブロックの単位でのi番目のタイル列の幅から1をマイナスしたものを示す前記ピクチャパラメータセット内の第1シンタックス要素がコーディングツリーブロックの単位でのビデオピクチャの幅から1をマイナスしたものに等しいことを決定するステップと、前記決定に基づき前記変換を実行するステップとを含む。
【0011】
他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のビデオピクチャを含むビデオと該ビデオのビットストリームとの間の変換のために、ルーマサンプルの単位での、ピクチャパラメータセットを参照する各ビデオピクチャの高さが、ルーマコーディングツリーブロックサイズよりも小さいか又はそれと等しいことに応答して、コーディングツリーブロックの単位でのi番目のタイル行の高さから1をマイナスしたものを示す前記ピクチャパラメータセット内の第1シンタックス要素がコーディングツリーブロックの単位でのビデオピクチャの高さから1をマイナスしたものに等しいことを決定するステップと、前記決定に基づき前記変換を実行するステップとを含む。
【0012】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオピクチャを含むビデオと該ビデオのコーディングされた表現との間の変換を実行するステップを含み、前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、前記変換中に使用される1つ以上の初期量子化パラメータ(QP)値を示す1つ以上のシンタックス要素が前記コーディングされた表現において含まれるかどうか又はどこに含まれるかを定める。更なる例となる態様では、ビデオエンコーダ装置が開示される。ビデオエンコーダは、上記の方法を実装するよう構成されたプロセッサを有する。
【0013】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、ビデオのビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、初期量子化パラメータ(QP)値を使用すると決定するステップと、前記決定に基づき変換を実行するステップとを含み、前記コーディングされた表現内のシンタックス要素は、(a)1から25の間にあるか、又は(b)26よりも大きいか、又は(c)前記変換のための最大許容QQP値の関数であるか、又は(d)前記変換に使用されるビットデプスの関数であるオフセット値Kを有するオフセット関係を用いて前記初期QP値を示す。
【0014】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、ビデオのクロマブロックと前記ビデオのコーディングされた表現との間の変換のために、規則に従って、前記クロマブロックを含むピクチャ又はスライスのタイプに基づき1つ以上の量子化パラメータ(QP)テーブルを決定するステップと、前記決定に基づき前記変換を実行するステップとを含む。
【0015】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、ビデオのクロマブロックと前記ビデオのコーディングされた表現との間の変換のために、1つ以上の量子化パラメータ(QP)テーブルを決定するステップと、前記決定に基づき前記変換を実行するステップとを含み、前記変換は、前記1つ以上のQPテーブルに対応する1つ以上のシンタックス要素を定める第1規則、又は前記1つ以上のQPテーブルと前記クロマブロックのコーディング特性との間の関係を定める第2規則に従う。
【0016】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、ビデオのクロマブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップを含み、前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、前記変換に使用される1つ以上のクロマ量子化パラメータ(QP)テーブルに関連したシンタックス要素の特性を定める。
【0017】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、ビデオのコーディングされた表現内の1つ以上のシンタックス要素に関するフォーマット規則に基づき、前記コーディングされた表現で量子化パラメータテーブルをシグナリングするために使用されるシグナリングスキームを決定するステップと、前記決定に基づき、前記ビデオと前記コーディングされた表現との間の変換を実行するステップとを含む。
【0018】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、規則に従ってビデオのビデオブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップを含み、前記規則は、アフィンコーディングの使用が有効にされかつサブブロックベースの時間的動きベクトル予測の使用が無効にされる場合に、サブブロックマージ候補の最大数を制限するために使用される数Nを定める。
【0019】
他の例となる態様では、他のビデオ処理方法が開示される。方法は、1つ以上のビデオサブピクチャを含む1つ以上のビデオピクチャを含むビデオと該ビデオのコーディングされた表現との間の変換を実行するステップを含み、前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、次のサブピクチャ関連シンタックス要素:
同じシーケンスパラメータセットを参照する全てのサブピクチャが同じ寸法を有するかどうかを示す第1シンタックス要素、
同じ寸法を有する全てのサブピクチャの共通の幅及び共通の高さを通知する第2シンタックス要素、又は
第2フォーマット規則に従う第3シンタックス要素
のうちの1つ以上を包含又は省略することを定める。
【0020】
更なる他の例となる態様では、ビデオデコーダ装置が開示される。ビデオデコーダは、上記の方法を実装するよう構成されたプロセッサを有する。
【0021】
更なる他の例となる態様では、コードが記憶されているコンピュータ可読媒体が開示される。コードは、プロセッサ実行可能コードの形で、本明細書で記載される方法の1つを具現化する。
【0022】
これら及び他の特徴は、本明細書にわたって記載される。
【図面の簡単な説明】
【0023】
図1】依存的量子化(dependent quantization)で使用される2つのスカラー量子化器の実例である。
図2】依存的量子化のための状態遷移及び量子化器選択の例を示す。
図3】例となるビデオ処理システムのブロック図である。
図4】ビデオ処理装置のブロック図である。
図5】例となるビデオ処理方法のフローチャートである。
図6】本開示のいくつかの実施形態に係るビデオコーディングシステムを表すブロック図である。
図7】本開示のいくつかの態様に係るエンコーダを表すブロック図である。
図8】本開示のいくつかの態様に係るデコーダを表すブロック図である。
図9】例となるビデオ処理方法のフローチャートである。
図10】例となるビデオ処理方法のフローチャートである。
図11】例となるビデオ処理方法のフローチャートである。
図12】例となるビデオ処理方法のフローチャートである。
図13】例となるビデオ処理方法のフローチャートである。
図14】例となるビデオ処理方法のフローチャートである。
図15】例となるビデオ処理方法のフローチャートである。
【発明を実施するための形態】
【0024】
セクション見出しは、理解を簡単にするために本明細書で使用されているのであって、各セクションで開示されている技術及び実施形態の適用可能性をそのセクションにのみ制限するものではない。更に、H.266という用語は、開示されている技術の範囲を限定するためではなく、理解を容易にするためにのみ、いくつかの記載で使用されている。そのようなものとして、本明細書で記載される技術は、他のビデオコーデックプロトコル及び設計にも適用可能である。
【0025】
[1.導入]
本明細書は、ビデオコーディング技術に関係がある。具体的に、それは、ビデオコーディングにおける初期量子化パラメータ(QP)及びクロマQPテーブルに関係がある。それは、HEVCなどの既存のビデオコーディング標準規格、又は最終承認される予定の標準規格(Versatile Video Coding)に適用されてよい。それはまた、将来のビデオコーディング標準規格又はビデオコーデックにも適用可能であり得る。
【0026】
[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
PTL Profile, Tier and Level
PU Picture Unit
QP Quantization Parameter
RBSP Raw Byte Sequence Payload
SEI Supplemental Enhancement Information
SPS Sequence Parameter Set
SVC Scalable Video Coding
VCL Video Coding Layer
VPS Video Parameter Set
VTM VVC Test Model
VUI Video Usability Information
VVC Versatile Video Coding
【0027】
[3.ビデオコーディングの紹介]
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 AVC(Advanced Video Coding)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、JVET(Joint Video Exploration Team)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG2)との間のJVET(Joint Video Expert Team)が、HEVCと比較してビットレートを50%削減することを目標とするVVC標準規格に取り組むために作られた。
【0028】
VVCドラフトの最新バージョン、つまり、Versatile Video Coding (Draft 8)は、http://phenix.int-evry.fr/jvet/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v13.zipから入手可能であり、最新のテストモデルは、https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/archive/VTM-8.0/VVCSoftware_VTM-VTM-8.0.zipから入手可能である。
【0029】
[3.1.量子化パラメータ制御]
VVCでは、最大QPは51から63に広げられ、初期QPのシグナリングはそれに応じて変更された。SliceQpYの初期値は、slice_qp_deltaの非ゼロ値がコーディングされる場合に、スライスセグメントレイヤで変更される。具体的に、init_qp_minus26の値は、(-26+QpBdOffsetY)から+37の範囲にあるよう変更される。変換ブロックのサイズが4の累乗でない場合に、変換係数は、変換プロセスによる暗黙的なスケーリングを補償するために、181/256(又は181/128)による乗算によってではなく、QP又はQP levelScaleへの変更とともに処理される。変換スキップブロックについては、最小許容量子化パラメータ(QP)は、QPが4に等しい場合に量子化ステップサイズが1になるので、4として定義される。
【0030】
HEVCでは(また、H.264では)、固定ルックアップテーブルが、ルーマ量子化パラメータQPYをクロマ量子化パラメータQPCに変換するために使用される。VVCでは、より柔軟なルーマ-クロマQPマッピングが使用される。固定テーブルを有する代わりに、ルーマ-クロマQPマッピング関係が、柔軟な区分的線形モデルを用いてSPSで通知される。なお、線形モデルに対する唯一の制約は、各区分の傾斜が負になることができないことである(つまり、ルーマQPが大きくなるにつれて、クロマQPは平らなままであるか又は大きくなるべきであり、小さくはならない。)。区分的線形モデルは、1)モデル内の区分の数、2)その区分のための入力(ルーマ)及び出力(クロマ)デルタQP、によって定義される。区分的線形モデルの入力範囲は、[-QpBdOffsetY,63]であり、区分的線形モデルの出力範囲は、[-QpBdOffsetC,63]である。QPマッピング関係は、Cb、Cr、及び結合Cb/Crコーディングについて別々に通知されるか、又は3種類全ての残差コーディングについてまとめて通知され得る。
【0031】
HEVCと同様に、CUレベルのQP適応がVVCでは可能である。ルーマ及びクロマ成分のデルタQP値は別々に通知され得る。クロマ成分については、許可されたクロマQPオフセット値が、HEVCと同様の方法で、PPSにおいてオフセットリストの形で通知される。リストは、Cb、Cr、及び結合Cb/Crコーディングについて別々に定義される。最大6個までのオフセット値が、Cb、Cr、及び結合Cb/Crリストの夫々について許される。CUレベルで、インデックスは、オフセットリスト内のオフセット値のうちのどの1つがそのCUのクロマQPを調整するために使用されるかを示すためにシグナリングされる。CUクロマQPオフセットシグナリングは、VPDU CU QPデルタ利用可能性とも一致し、64×64よりも大きいCUについては、非ゼロCBFを有するか否かにかかわらず第1変換ユニットでクロマQPオフセットを送信する。
【0032】
[3.2.依存的量子化]
更に、同じHEVCスカラー量子化は、依存的スカラー量子化(dependent scalar quantization)と呼ばれる新しい概念とともに使用される。従属的スカラー量子化は、変換係数の許容可能な再構成値のセットが、再構成順序で現在の変換係数レベルに先行する変換係数レベルの値に依存するアプローチを指す。このアプローチの主な効果は、HEVCで使用されている従来の独立したスカラー量子化と比較して、許容可能な再構成ベクトルがN次元ベクトル空間(Nは変換ブロック内の変換係数の数を表す。)でより密に充てんされる。つまり、N次元単位ボリュームあたりの許容可能な再構成ベクトルの所与の平均数について、入力ベクトルと最も近い再構成ベクトルとの間の平均歪みは小さくなる。依存的スカラー量子化のアプローチは、(a)再構成レベルが異なる2つのスカラー量子化器を定義すること、及び(b)2つのスカラー量子化器間を切り替えるプロセスを定義すること、によって実現される。
【0033】
Q0及びQ1によって表記される、使用される2つの量子化器が、図1に示されている。利用可能な再構成レベルの位置は、量子化ステップサイズΔによって一意に指定される。使用されるスカラー量子化器(Q0又はQ1)はビットストリームで明示的にはシグナリングされない。代わりに、現在の変換係数のために使用される量子化器は、コーディング/再構成順序で現在の変換係数に先行する変換係数レベルのパリティによって決定される。
【0034】
図2に示されるように、2つのスカラー量子化器(Q0及びQ1)の間の切り替えは、4つの状態を有する状態機械により実現される。状態は、4つの異なる値:0、1、2、3をとることができる。それは、コーディング/再構成順序で現在の変換係数に先行する変換係数レベルのパリティによって一意に決定される。変換ブロックに対する逆量子化の開始時に、状態は0に等しくセットされる。変換係数はスキャニング順序で(つまり、それらがエントロピ復号化されるのと同じ順序で)再構成される。現在の変換係数が再構成された後、状態は図2に示されるように更新される。ここで、kは、変換係数レベルの値を表す。
【0035】
[3.3.スケーリング行列]
VVCは、デフォルトのスケーリング行列を使用すること、又はユーザにより定義されたスケーリング行列を通知することをサポートする。デフォルト(DEFAULT)モードスケーリング行列は全てフラットであり、全てのTBサイズについて要素は16に等しい。IBC及びイントラコーディングモードは現在、同じスケーリング行列を共有している。よって、ユーザにより定義された(USER_DEFINED)行列の場合については、MatrixType及びMatrixType_DCの数は次の通りに更新される:

- MatrixType:30=2(イントラ及びICB/インターの場合には2)×3(Y/Cb/Cr成分)×5(正方TBサイズ:ルーマの場合には4×4から64×64,クロマの場合には4×4から32×32)

- MatrixType_DC:14=2(イントラ及びICB/インターの場合の2×Y成分の1)×3(TBサイズ:16×16,32×32,64×64)+4(イントラ及びICB/インターの場合の2×Cb/Cr成分の2)×2(TBサイズ:16×16,32×32)
【0036】
DC値は、次のスケーリング行列:16×16、32×32、及び64×64について別々にコーディングされる。8×8よりも小さいサイズのTBについては、1つのスケーリング行列内の全要素がシグナリングされる。TBが8×8よりも大きいか又はそれと等しいサイズを有する場合には、1つの8×8スケーリング行列内の64個の要素のみが基本スケーリング行列としてシグナリングされる。8×8よりも大きいサイズの正方行列を取得するために、8×8の基本スケーリング行列は、対応する正方サイズ(つまり、16×16、32×32、64×64)に(要素の複製によって)アップサンプリングされる。64点変換のための高周波係数のゼロ化が適用される場合に、スケーリング行列の対応する高周波もゼロ化される。すなわち、TBの幅又は高さが32より以上である場合に、係数の左又は上半分のみが保たれ、残りの係数はゼロに割り当てられる。更に、64×64のスケーリング行列についてシグナリングされる要素の数も、右下の4×4個の要素が決して使用されないので、8×8から3つの4×4サブ行列に低減される。VVCでは、2×2、2×4、及び4×2のクロマイントラブロック(CB)は存在せず、より小さいイントラブロックサイズは2×8及び8×2に等しく、最小クロマイントラブロックコピー(IBC)ブロックサイズも同じである。更に、インター予測は4×4ルーマCBについて使用不可能である。従って、小さい2×2クロマブロックは、サブブロック変換(SBT)を適用することによってのみ生成され得る。これらの性質を考えると、2×2イントラクロマ量子化行列(QM)はデフォルトのQMリストから除外され、このサイズについてのユーザにより定義されたイントラQMをコーディングしない。
【0037】
ユーザにより定義された量子化行列(QM)のコーディングを改善するために、次のアプローチが考えられている。
- 基本サイズが現在のQMと同じである前にコーディングされたQMを参照できるようにする。
- 現在のQMと参照QMとの間の要素間の差をコーディングできるようにする。
- 現在のQM内の要素の元のDPCMコーディングを維持する。
- matrixIdとsizeIdとを組み合わせる単一の行列識別子scalingListIdを使用する。
【0038】
[3.4.クロマ残差の結合コーディング]
VVCは、クロマ残差が一緒にコーディングされるモードをサポートしており、これはJCCR(Joint Coding of Chroma Residuals)と呼ばれている。結合クロマコーディングモードの使用(アクティブ化)は、TUレベルのフラグtu_joint_cbcr_residual_flagによって示され、選択されたモードは、クロマCBFによって暗黙的に示される。フラグtu_joint_cbcr_residual_flagは、TUの一方又は両方のクロマCBFが1に等しい場合に存在する。PPS及びスライスヘッダで、クロマQPオフセット値は、常用の(regular)クロマ残差コーディングモードについてシグナリングされる通常のクロマQPオフセット値と区別するために結合クロマ残差コーディングモードについてシグナリングされる。これらのクロマQPオフセット値は、結合クロマ残差コーディングモードを用いてコーディングされたブロックのクロマQP値を導出するために使用される。対応する結合クロマコーディングモード(次の表中のモード2)がTUでアクティブである場合に、このクロマQPオフセットは、そのTUの量子化及び復号化の間に、適用されたルーマ派生クロマQPに加えられる。他のモード(次の表中のモード1及び3)については、クロマQPは、従来のCb又はCrブロックの場合と同様に導出される。送信された変換ブロックからのクロマ残差(resCb及びresCr)の再構成プロセスは、表1で表現される。このモードがアクティブにされる場合に、1つの単一結合クロマ残差ブロック(次の表中のresJointC[x][y])がシグナリングされ、Cbの残差ブロック(resCb)及びCrの残差ブロック(resCr)は、tu_cbf_cb、tu_cbf_cr、及びCSignなどの情報を考慮して導出される。CSignは、スライスヘッダで指定される符号値である。エンコーダ側で、結合クロマ成分は、以下で説明されるように導出される。(上の表でリストアップされている)モードに応じてresJointC{1,2}は、次の通りにエンコーダによって生成される:
- モードが2に等しい場合(再構成Cb=Cによる単一残差、Cr=CSign*C)、結合残差は次の式に従って決定される:

resJointC[x][y]=(resCb[x][y]+CSign*resCr[x][y])/2

- それ以外の場合、モードが1に等しい(再構成Cb=Cによる単一残差、Cr=(CSign*C)/2)の場合、結合残差は次の式に従って決定される:

resJointC[x][y]=(4*resCb[x][y]+2*CSign*resCr[x][y])/5

- それ以外の場合(モードが3に等しい、つまり、再構成Cr=Cによる単一残差、Cb=(CSign*C)/2)、結合残差は次の式に従って決定される:

resJointC[x][y]=(4*resCr[x][y]+2*CSign*resCb[x][y])/5

【表1】
【0039】
上記の3つの結合クロマコーディングモードはIスライスでのみサポートされる。P及びBスライスでは、モード2しかサポートされない。従って、P及びBスライスでは、シンタックス要素tu_joint_cbcr_residual_flagは、両方のクロマcbfsが1である場合にのみ存在する。変換深さはtu_cbf_luma及びtu_cbf_cbのコンテキストモデリングでは除かれる点に留意されたい。
【0040】
[3.5.SPS内のクロマQPテーブル]
JVET-Q2001-vCの7.3.2.3節で、SPSは、次に示されるように、クロマQPテーブルと呼ばれる構造を含む:
【表2】
それらは、次のセマンティクス及び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は、Cb及びCrについて2つあり、sps_joint_cbcr_enabled_flagが1に等しい場合には結合Cb-Crについて更に1つあるクロマQPマッピングマップが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]は、次のように導出される:
【数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]の値が、0以上numQpTables-1以下の範囲をとるi及び0以上num_points_in_qp_table_minus1[i]+1以下の範囲をとるjについて、-QpBdOffset以上63以下の範囲内になければならないことである。

上記の説明中、QpBdOffsetは次のように導出される:

bit_depth_minus8は、ルーマ及びクロマアレイのサンプルのビットデプスBitDepthと、ルーマ及びクロマ量子化パラメータレンジオフセットの値QpBdOffsetを次のように指定する:
BitDepth=8+bit_depth_minus8
QpBdOffset=6*bit_depth_minus8

bit_depth_minus8は、0以上8以下の範囲内になければならない。
【0041】
[3.6.PPS内の初期QP]
init_qp_minus26と呼ばれるシンタックス要素がPPSに存在する。セマンティクスは次の通りである:

init_qp_minus26に26をプラスしたものは、PPSを参照する各スライスのSliceQpYの初期値を指定する。SliceQpYの初期値は、ph_qp_deltaに非ゼロ値が復号される場合にピクチャレベルで、又はslice_qp_deltaの非ゼロ値が復号される場合にスライスレベルで変更される。init_qp_minus26の値は、-(26+QpBdOffset)以上37以下の範囲内になければならない。

qp_delta_info_in_ph_flagが1に等しいとき、ピクチャの全スライスのためのQpY量子化パラメータの初期値SliceQpYは次のように導出される:
SliceQpY=26+init_qp_minus26+ph_qp_delta

qp_delta_info_in_ph_flagが0に等しいとき、スライスのQpY量子化パラメータの初期値SliceQpYは次のように導出される:
SliceQpY=26+init_qp_minus26+slice_qp_delta

SliceQpYの値は、-QpBdOffset以上+63以下の範囲内になければならない。
【0042】
[4.開示されている技術的解決法及び実施形態によって解決される技術的課題]
1.初期QP値(つまり、init_qp_minus26)のシグナリングが妥当でない場合がある。
2.I及びB/Pピクチャ又はスライスは異なるクロマQPテーブルを必要とする場合があるが、それらは現在のVVCドラフトテキストでは同じものを共有している。
3.変換スキップは他のクロマQPテーブルを必要とする場合がある。
4.クロマQPテーブル開始点はQP範囲全体をカバーしなければならないが、これは現在の設計では当てはまらない。
5.クロマQPテーブルは、偏った開始点を有する可能性がある。
6.クロマQPテーブル内の点の数は0であることが可能でなければならないが、これは、num_points_in_qp_table_minus1がコーディングされ、シンタックス要素の最小許容値が0に等しく、相応して、点の最小数が1であるということで、現在の設計では許されない。
7.クロマQPの導出においてQPクリッピングを指定することは、導出されたクロマQP値を制限するためのビットストリームコンフォーマンス制約を指定することと比べて、前者が違反の発生を防ぐので、優れている場合がある。
8.最新のVVCドラフトテキストで、SHシンタックス要素slice_ts_residual_coding_disabled_flagは、変換スキップベースの残差コーディング(transform skip based residual coding,TSRC)又は常用の残差コーディング(regular residual coding,RRC)が変換ブロックのために使用されるかどうかを指定するために使用される。しかし、現在のブロックがTSRC又はRRCを使用中であるかどうかの上位(SPS/PPS)及び/又は下位(CU/TU)レベルの制御フラグが存在する場合がある。更に、異なるレベル制御フラグ間及び制御フラグと変換スキップフラグとの間のインタラクションが更に指定される。
9.現在のVVCでは、ルーマALFがSPS/PH/SHで無効にされる場合に、クロマALF及びCC-ALFは暗黙的に使用不可能である。しかし、そのような制限はCTUレベルでは適用されない。ルーマALFがCTUについて使用不可能であるとき、クロマALF及びCC-ALFは依然としてCTUについて適用される可能性がある。そのような設計は、上位レベルでルーマALFに基づきクロマALF/CC-ALFを制御する意図と矛盾する。
10.クロマQPテーブルは、カラーフォーマットに応じて、値のデフォルトセットを有する場合がある。
11.JVET-Q2001-vEの最新VVCドラフトのC.6節で定められているサブビットストリーム抽出プロセスで、1つのステップは次のように定められている:
- 次の条件の全てが真である全てのNALユニットをoutBitstreamから削除する:
- nal_unit_typeがIDR_W_RADL、IDR_N_LP、又はCRA_NUTに等しくない。
- nuh_layer_idが、0以上NumLayersInOls[targetOlsIdx]-1以下の範囲をとるjの値について、LayerIdInOls[targetOlsIdx][j]に等しい。
- TemporalIdがNumSubLayersInLayerInOLS[targetOlsIdx][j]よりも大きいか又はそれと等しい。
しかし、これは、3つ全ての条件を満たす非VCL NALユニットなどのパラメータセットも削除されることを意味する。これは好ましくなく、PPA及びAPSなどのパラメータセットは、異なるTemporalId値を有するピクチャによって共有され得、ビットストリームの先頭に置かれ得る。
12.現在の仕様は、8つのALF_APS、8つのSCALING_APS、及び3つのLMCS APSを夫々認めている。しかし、ピクチャのために許されているAPS NALユニットの数は十分でない場合がある。例えば、典型的な使用ケースは、ピクチャが96個のサブピクチャを含むものであり、各サブピクチャは異なるALF_APSを必要とする場合がある。そのような場合に、現在の8つのALF_APS NALユニットは、適当なコーディング効率を達成するには不十分である。従って、より多くの数のAPSをサポートする必要がある。
13.JVET-S0071は、次の通りに、JVET-R2001-vA/v10でのVVC設計に、サブピクチャレイアウトのシグナリングためのショートカットを加えることを提案している:
a.sps_subpic_same_res_flagを追加する。1に等しい場合に、全てのサブピクチャが同じ幅及び高さを夫々有していることを示す。
b.sps_subpic_same_res_flagが1に等しい場合に、sps_subpic_width_minus1[i]及びsps_subpic_height_minus1[i]は、iが0に等しいときにのみシグナリングされ、sps_subpic_ctu_top_left_x[i]及びsps_subpic_ctu_top_left_y[i]は全てのi値についてスキップされる。
しかし、シンタックス設計はいくぶん乱雑であり、全てのサブピクチャが同じ幅及び高さを夫々有している場合に、サブピクチャの数は導出可能であるからシグナリングされるべきではない。
【0043】
[5.実施形態及び解決法の例のリスト]
上記の課題及び述べられていないその他の課題を解決するために、以下で要約されている方法が開示される。項目は、概要を説明するための例と見なされるべきであり、狭い意味で解釈されるべきではない。更に、これらの項目は、個々に適用されても、又はあらゆる方法で組み合わされてもよい。
【0044】
以下で、floor(x)は、x以下である最大整数を返す関数を表す。
【0045】
1.初期QP値を指定するために使用され、例えば、現在、JVET-Q2001-vCでinit_qp_minus26と表記される初期QP値シンタックス要素は、PHに移動されてよい。
a.代替的に、初期QP値シンタックス要素はPHで繰り返されてもよい。
b.代替的に、初期QP値シンタックス要素は、PPS及びPHの両方でシグナリングされてもよく、PHでシグナリングされた初期QP値シンタックス要素は、PPSでシグナリングされた初期QP値シンタックス要素に優先するか又はそれを更新し得る(シグナリングされたデルタを加えることによる)。
c.代替的に、初期QP値シンタックス要素は、SPSでシグナリングされ、場合により、PPS、PH,及びSHのうちの1つ以上でもシグナリングされ得る。存在する場合に、下位レベルでの値は、上位レベルでシグナリングされた値に優先するか又はそれを更新する(シグナリングされたデルタを加えることによる)。更新する場合に、上位レベルでシグナリングされた初期QP値はue(v)コーディングされ、下位レベルでシグナリングされたデルタ値はse(v)コーディングされる。
【0046】
2.初期QP値の指示のための複数のシンタックス要素が、特定のタイプに従ってSPS/PPS/PH/SHでシグナリングされてよい。
a.一例で、それらの夫々は特定のタイプに対応してよい。
b.一例で、特定のタイプには、ピクチャ/スライスタイプ(例えば、I/P/B、イントラ/インター)が含まれてよい。
c.一例で、特定のタイプには、ビデオコンテンツタイプ(例えば、スクリーンコンテンツ又はカメラ捕捉コンテンツ)が含まれてよい。
d.一例で、特定のタイプには、サブピクチャのインデックス又は他のサブピクチャ識別情報が含まれてよい。つまり、異なるサブピクチャは、初期QP導出のために異なるシンタックス要素と関連付けられてよい。
e.一例で、特定のタイプには、スライスのインデックス又は他のスライス識別情報が含まれてよい。つまり、異なるスライスは、初期QP導出のために異なるシンタックス要素と関連付けられてよい。
f.一例で、特定のタイプには、タイルのインデックス又は他のタイル識別情報が含まれてよい。つまり、異なるタイルは、初期QP導出のために異なるシンタックス要素と関連付けられてよい。
g.一例で、測定のタイプには、変換タイプ(例えば、変換スキップモード又は非変換スキップモード)が含まれてよい。
【0047】
3.初期QP値シンタックス要素(例えば、SH/PH/PPS/SPS内)は、26に等しくない数Kによってオフセットされてよい。
a.一例で、Kは26よりも小さい。
b.一例で、シンタックス要素は、init_qp_minusKによって置換されてもよく、及び/又はシンタックス要素の値は、Kが26よりも小さい場合に、-(K+QpBdOffset)以上(63-K)以下の範囲内になければならない。
i.一例で、Kは20に等しい。代替的に、更に、シンタックス要素は、init_qp_minus20によって置換されてもよく、及び/又はシンタックス要素の値は、-(20+QpBdOffset)以上43(つまり、63-20)以下の範囲内になければならない。
c.一例で、Kは26よりも大きい。
i.一例で、シンタックス要素は、init_qp_minusKによって置換されてもよく、かつ、シンタックス要素の値は、Kが26よりも大きい定数である場合に、-(K+QpBdOffset)以上(63-K)以下の範囲内になければならない。
ii.一例で、Kは32に等しい。代替的に、更に、シンタックス要素は、init_qp_minus32によって置換されてもよく、かつ、シンタックス要素の値は、-(32+QpBdOffset)以上31(つまり、63-32)以下の範囲内になければならない。
d.代替的に、Kは、最大許容QP及び/又は最小許容QPの関数にセットされてよい。例えば、Kは、(最大許容QP-最小許容QP)/2又は(最大許容QP+1-最小許容QP)/2に等しくセットされてよい。
e.上記の例で、Kはピクチャ/スライス/ブロックタイプ、及び/又は予測モード及び/又はビットデプスに依存してもよい。
i.一例で、Iスライス/ピクチャのKの値は、P/Bスライス/ピクチャのそれ以下である。
【0048】
4.初期QP値シンタックス要素(SH/PH/PPS内)は、内部ビットデプスに依存した数だけオフセットされてよい。
a.一例で、初期QP値シンタックス要素は、fllor((-QpBdOffset+M)/2)によってオフセットされてよい。
i.代替的に、更に、シンタックス要素の値にfllor((-QpBdOffset+M)/2)をプラスしたものは、-QpBdOffset以上63以下の範囲内になければならない。
b.一例で、初期QP値シンタックス要素は、fllor((-QpBdOffset+M)/2)+Kによってオフセットされてもよい。ここで、Kは定数である。
i.代替的に、更に、シンタックス要素の値に(fllor((-QpBdOffset+M)/2)+K)をプラスしたものは、-QpBdOffset以上N以下の範囲内になければならない。
c.上記の例で、Nは、最大許容QP値(例えば、63)にセットされてよい。
d.上記の例で、Mは、最大許容QP値(例えば、63)又は最大許容QP値に1をプラス/マイナスしたものにセットされてよい。
【0049】
5.クロマQPテーブルは、ピクチャ/スライスタイプに従って決定されてよい。
a.一例で、異なるピクチャ/スライスタイプは、クロマQPテーブルの異なる組を有してよい。
b.一例で、Iピクチャ/スライスは、それら自体のクロマQPテーブルを有してよい。
c.一例で、I及びB及びPピクチャ/スライスは夫々、それら自体のクロマQPテーブルを有してよい。
d.一例で、B及びPピクチャ/スライスは、クロマQPテーブルの同じ組を共有してよい。
e.一例で、ピクチャ/スライスタイプは、M個の場合に分類されてよい(I専用及びBP共有の場合にM=2,I/B/P別個の場合にM=3)。シグナリングされるクロマQPテーブルの数はMに依存してよい。
i.一例で、シグナリングされるクロマQPテーブルの数は、M*numQpTablesにセットされてよい。ここで、(numQpTables=same_qp_table_for_chroma?1:(sps_joint_cbcr_enabled_flag?3:2))であり、Mは1よりも大きい。
1)代替的に、更に、same_qp_table_for_chromaのセマンティクスは、「1に等しいsame_qp_table_for_chromaは、ただ1つのクロマQPマッピングテーブルがピクチャ/スライスタイプについてシグナリングされることをしている」に更に変更されてもよい。
ii.一例で、更に、シグナリングされるクロマQPテーブルの数は、(same_qp_table_for_chroma?1:(M*(sps_joint_cbcr_enabled_flag?3:2)))にセットされてよく、Mは1よりも大きい。
iii.一例で、カテゴリごとに、全てのブロックが同じクロマQPテーブルを共有するかどうかの指示が最初にシグナリングされ、QPテーブルの数は(same_qp_table_for_chroma?1:(sps_joint_cbcr_enabled_flag?3:2))にセットされてよく、その後にクロマQPテーブルの詳細情報が続く。
1)代替的に、更に、全てのカテゴリについて、クロマQPマッピングテーブルを記述するために使用される開始ルーマ及びクロマQPの指示が、例えば、実際の値からK(例えば、K=26)をマイナスしたものを使用して、更にシグナリングされてもよい。
2)代替的に、更に、クロマQPテーブルを記述するために使用される開始ルーマ及びクロマQPの指示が、例えば、実際の値からK(例えば、イントラスライス/ピクチャの場合にはK=1又はインタースライス/ピクチャの場合にはK=32)をマイナスしたものと、カテゴリインデックスに依存するKとを使用して、更にシグナリングされてもよい。
【0050】
6.指示、例えば、sps_non_intra_present_flagは、現在のシーケンスがB/Pスライスを含む可能性があるかどうかを示すようSPSに加えられてもよい。
a.一例で、フラグが1であるとき、それは、現在のシーケンス内の全てのスライスがイントラスライスであることを示す。
b.一例で、フラグが0であるとき、それは、現在のシーケンスにB/Pスライスが存在する可能性があることを示す。
【0051】
7.ひと組又はふた組のクロマQPテーブルがSPSでシグナリングされてよい。
a.フラグ(例えば、sps_one_set_of_chroma_qp_tables_flagと呼ばれる。)がSPSに加えられる。
b.1に等しいsps_one_set_of_chroma_qp_tables_flagは、SPSにおけるひと組のクロマQPテーブルの存在を指定する(つまり、現在のVVCドラフトテキストと同様)。クロマQPテーブルのこの組は、イントラコーディングされたエンティティ(ピクチャ、スライス、CTU、CU、又はコーディングされたブロック)にのみ適用される。
i.一例で、クロマQPテーブルの唯一の組は、SPSを参照するCLVS内のイントラピクチャ(全てのスライスがイントラスライス、つまり、Iスライスである。)にのみ適用される。
ii.一例で、クロマQPテーブルの唯一の組は、SPSを参照するCLVS内のイントラスライスにのみ適用される。
iii.一例で、クロマQPテーブルの唯一の組は、SPSを参照するCLVS内のイントラCTUにのみ適用される。
iv.一例で、クロマQPテーブルの唯一の組は、SPSを参照するCLVS内のイントラCUにのみ適用される。
v.一例で、クロマQPテーブルの唯一の組は、SPSを参照するCLVS内のイントラコーディングされたブロックにのみ適用される。
c.1に等しいsps_one_set_of_chroma_qp_tables_flagは、SPSにおけるひと組のクロマQPテーブルの存在を指定する(つまり、現在のVVCドラフトテキストと同様)。クロマQPテーブルのこの組は、イントラ及びインターコーディングされたエンティティ(ピクチャ、スライス、CTU、CU、又はコーディングされたブロック)の両方に適用される。
d.0に等しいsps_one_set_of_chroma_qp_tables_flagは、SPSにおけるふた組のクロマQPテーブルの存在を指定する(つまり、もうひと組のクロマQPテーブルを追加する)。クロマQPテーブルの0番目の組は、イントラコーディングされたエンティティ(ピクチャ、スライス、CTU、CU、又はコーディングされたブロック)にのみ適用され、クロマQPテーブルの1番目の組は、インターコーディングされたエンティティ(ピクチャ、スライス、CTU、CU、又はコーディングされたブロック)にのみ適用される。
i.一例で、クロマQPテーブルの0番目の組は、SPSを参照するCLVS内のイントラピクチャ(全てのスライスがイントラスライス、つまり、Iスライスである。)にのみ適用され、クロマQPテーブルの1番目の組は、SPSを参照するCLVS内のインターピクチャ(全てのスライスがインタースライス、つまり、B又はPスライスである。)にのみ適用される。
ii.一例で、クロマQPテーブルの0番目の組は、SPSを参照するCLVS内のイントラスライスにのみ適用され、クロマQPテーブルの1番目の組は、SPSを参照するCLVS内のインタースライスにのみ適用される。
iii.一例で、クロマQPテーブルの0番目の組は、SPSを参照するCLVS内のイントラCTUにのみ適用され、クロマQPテーブルの1番目の組は、SPSを参照するCLVS内のインターCTUにのみ適用される。
iv.一例で、クロマQPテーブルの0番目の組は、SPSを参照するCLVS内のイントラCUにのみ適用され、クロマQPテーブルの1番目の組は、SPSを参照するCLVS内のインターCUにのみ適用される。
v.一例で、クロマQPテーブルの0番目の組は、SPSを参照するCLVS内のイントラコーディングされたブロックにのみ適用され、クロマQPテーブルの1番目の組は、SPSを参照するCLVS内のインターコーディングされたブロックにのみ適用される。
e.フラグは、ChromaArrayTypeが0に等しくない場合にしか送信されなくてよい。
f.例示的な実装は、実施形態4に示される。
g.他の例示的な実装は、実施形態5に示される。
【0052】
8.クロマQPテーブルは、予測モードに従って決定されてよい。
a.一例で、イントラCU及び他のCUは、クロマQPテーブルの異なる組を有してよい。
i.一例で、それは、デュアルツリー及び/又は局所デュアルツリーにのみ適用され得る。
b.代替的に、イントラ/パレットCU及び他のCUは、クロマQPテーブルの異なる組を有してもよい。
c.代替的に、イントラ/IBC/パレットCU及び他のCUは、クロマQPテーブルの異なる組を有してもよい。
d.代替的に、イントラ/IBC CU及び他のCUは、クロマQPテーブルの異なる組を有してもよい。
e.上記の例で、シグナリングされるクロマQPテーブルの数は、予測モードの分類された組の数に依存してよい。
f.上記の例で、予測モードは、ルーマCBの予測モードを意味し得る。
【0053】
9.変換スキップブロックは、クロマQPテーブルの異なる組を有してよい。
a.一例で、それは、変換スキップモードでコーディングされたルーマブロックにのみ適用され得る。
【0054】
10.クロマQPテーブル開始点シンタックス要素、つまり、現在JVET-Q2001-vCでqp_table_start_minus26と表されているものの最大許容値は、37であってよい。
【0055】
11.クロマQPテーブル開始点シンタックス要素、つまり、現在JVET-Q2001-vCでqp_table_start_minus26と表されているものは、26よりも小さい数Kによってオフセットされてもよい。
a.一例で、シンタックス要素は、qp_table_start_minusKによって置換されてもよく、及び/又はシンタックス要素の値にKをプラスしたものは、-(K+QpBdOffset)以上(M-K)以下の範囲内になければならず、ここで、Kは26よりも小さい。
b.一例で、シンタックス要素は、qp_table_start_minusKによって置換されてもよく、及び/又はシンタックス要素の値は、-(K+QpBdOffset)以上(M-1-K)以下の範囲内になければならず、ここで、Kは26よりも小さい。
i.一例で、Kは20に等しい。代替的に、更に、シンタックス要素は、init_qp_minus20によって置換されてもよく、及び/又はシンタックス要素の値に20をプラスしたものは、-(20+QpBdOffset)以上(M-20)以下の範囲内になければならない。
ii.一例で、Kは20に等しい。代替的に、更に、シンタックス要素は、init_qp_minus20によって置換されてもよく、及び/又はシンタックス要素の値に20をプラスしたものは、-(20+QpBdOffset)以上(M-1-20)以下の範囲内になければならない。
c.代替的に、初期QP値シンタックス要素は、26よりも大きい数Kによってオフセットされてよい。
i.一例で、シンタックス要素は、init_qp_minusKによって置換されてもよく、かつ、シンタックス要素の値にKをプラスしたものは、-(K+QpBdOffset)以上(M-K)以下の範囲内になければならず、ここで、Kは26よりも大きい定数である。
ii.一例で、シンタックス要素は、init_qp_minusKによって置換されてもよく、かつ、シンタックス要素の値にKをプラスしたものは、-(K+QpBdOffset)以上(M-1-K)以下の範囲内になければならず、ここで、Kは26よりも大きい定数である。
1)一例で、Kは32に等しい。代替的に、更に、シンタックス要素は、init_qp_minus32によって置換されてもよく、かつ、シンタックス要素の値に32をプラスしたものは、-(32+QpBdOffset)以上(M-32)以下の範囲内になければならない。
2)一例で、Kは32に等しい。代替的に、更に、シンタックス要素は、init_qp_minus32によって置換されてもよく、かつ、シンタックス要素の値に32をプラスしたものは、-(32+QpBdOffset)以上(M-1-32)以下の範囲内になければならない。
d.上記の例で、Kは、ピクチャ/スライスタイプ、及び/又は予測モード及び/又はビットデプスに依存してよい。
i.一例で、イントラピクチャ/スライスについて、Kは1にセットされる。
ii.一例で、P/Bピクチャ/スライスについて、Kは32にセットされる。
e.上記の例で、Mは、最大許容QP値、例えば、63であってよい。
f.一例で、Kは0である。
i.代替的に、更に、シンタックス要素は、sv(e)の代わりに、uv(e)で2値化されてもよい。
【0056】
12.クロマQPテーブル開始点シンタックス要素、つまり、JVET-Q2001-vCでqp_table_start_minus26として表記されるものは、現在のピクチャがイントラのみのピクチャであるかどうかに依存する値によってオフセットされてよい。
a.代替的に、オフセットはintra_only_constraint_flagに依存してもよい。
【0057】
13.クロマQPテーブル内のピボット点の数に関するシンタックス要素、つまり、num_points_in_qp_table_minus1として現在表記されているものは、点の0個の数を提示することが可能であるべきである。
a.一例で、シンタックス要素num_points_in_qp_table_minus1は、クロマQPテーブル内の点の数を特定するために使用されるnum_points_in_qp_tableによって置換されてもよく、値は非負整数である。
i.一例で、ピボット点の数を表すシンタックス要素の値は、0から(63+QpBdOffset)までの範囲内になければならない。
b.代替的に、更に、クロマQPテーブル内のピボット点の数がゼロであるとき、クロマQPテーブルのi番目のエントリは、ルーマQPテーブルのi番目のエントリに等しくセットされる。
c.代替的に、更に、クロマQPテーブル内のピボット点の数がゼロであるとき、クロマQPテーブルのi番目のエントリは、(ルーマQPテーブルのi番目のエントリ+オフセット)に等しくセットされる。
i.一例で、オフセットは、コーディングされたメソッド(例えば、JCCRオン及びオフ)に依存してもよい。
【0058】
14.クロマQPテーブル開始点シンタックス要素、つまり、JVET-Q2001-vCでqp_table_start_minus26として現在表記されているもののパージングは、ピボット点の数が0であるか否かを条件としてもよい。
a.一例で、ピボット点の数が0であるとき、シンタックス要素のパージングはスキップされてもよい。
【0059】
15.クロマQPテーブルの導出プロセスで、XOR演算子は、(delta_qp_in_val_minus1[i][j]+1)とdelta_qp_diff_val[i][j]との間で実行されるべきである。
a.例は実施形態3で示されている。
【0060】
16.QPクリッピングは、クロマQPテーブルインデックスに常に適用されてもよい。
a.一例で、クリッピング範囲は-QpBdOffset以上63以下である。
【0061】
17.QPクリッピングは、クロマQPテーブル内のマッピングされたクロマQPに常に適用されてもよい。
a.一例で、クリッピング範囲は-QpBdOffset以上63以下である。
【0062】
18.クロマQPテーブルは、SPS及びPPSの両方でシグナリングされてよい。
a.一例で、PPSでのクロマQPテーブルは、SPSでの対応するテーブルに優先してもよい。
【0063】
19.クロマQPテーブルは、PH又はSHでシグナリングされてよい。
a.一例で、PH又はSHでのクロマQPテーブルは、SPS又はPPSでの対応するテーブルに優先してもよい。
【0064】
20.デフォルトのクロマQPテーブルは、ChromaArrayTypeに依存してもよい。
a.一例で、ChromaArrayTypeが3に等しい(つまり、4:4:4カラーフォーマット、かつ、separate_colour_plane_flagが0に等しい)とき、同一性QPクロマQPテーブル(つまり、ルーマQP=クロマQP)はデフォルトとしてセットされてよい。
b.一例で、ChromaArrayTypeが2に等しい(つまり、4:2:2カラーフォーマット)とき、同一性QPクロマQPテーブル(つまり、ルーマQP=クロマQP)はデフォルトとしてセットされてよい。
【0065】
21.第8の課題を解決するためのRRC及びTSRCの制御に関して、次のアプローチのうちの1つ以上は、例えば、実施形態の第7の組として、開示される:
a.一例で、ビデオユニット(CLVS/ピクチャのグループ/ピクチャ/スライス/タイル/CTU行/CTU/CU/PU/TU)に対してTSRCを許すべきかどうかは、SPS/PPS/PH/SH/ブロック/CU/TUレベルでシグナリングされるシンタックス要素(例えば、1つ以上のフラグ)に依存してよい。
i.例えば、TSRC有効化/無効化フラグが、PH又はSHのどちらか一方で、しかし両方でではなく、シグナリングされてよい。
1)更に、PH又はSHでTSRC有効化/無効化フラグをシグナリングすべきかどうかは、PPS/SPSでシグナリングされるシンタックス要素に依存してよい。
2)更に、TSRC有効化/無効化フラグがPHでシグナリングされるとき、SHでTSRC有効化/無効化フラグはシグナリングされない。
3)更に、TSRC有効化/無効化フラグがSHに存在しないとき、それは、PH内のTSRC有効化/無効化フラグに等しいと推測される。
ii.代替的に、TSRC有効化/無効化フラグはPH及びSHの両方でシグナリングされてもよい。
1)追加的に、更に、PH内のTSRC有効化/無効化フラグにより、PHを参照する全てのスライスに対してTSRCが使用不可能であることが測定される場合には、SHでTSRC有効化/無効化フラグはシグナリングされなくてもよい。
iii.例えば、ブロック/CU/TUレベルのTSRC有効化/無効化フラグは、ae(v)コーディングなどのコンテキスト適応算術エントロピコーディングされた(context-adaptive arithmatic entropy-coded)シンタックス要素でコーディングされる。
iv.例えば、SPS/PPS/PH/SHレベルのTSRC有効化/無効化フラグは、n=1などのnビットを使用する符号なし整数(例えば、u(1)コーディング)でコーディングされる。
b.更に、ビデオユニットのためのTSRC有効化/無効化フラグのシグナリングは、変換スキップがビデオユニットに対して使用可能である/使用されているかどうかに依存してもよい。
i.例えば、変換スキップがSPSレベルで無効にされる(例えば、sps_transform_skip_enabled_flagが0に等しい)場合に、PPSレベルでのTSRC有効化/無効化フラグは、現在のPPSを参照するピクチャに対してTSRCが使用不可能であることを特定する特定の値に等しいことを求められる。
ii.更に、変換スキップがより上位レベルで無効にされる(例えば、sps_transform_skip_enabled_flagが0に等しい)場合に、下位レベル及び/又は同じレベル(例えば、SPS/PH/SH/ブロック/CU/TUレベル)でTSRC有効化/無効化フラグがシグナリングされない。
iii.代替的に、更に、変換スキップモードがより上位レベル(例えば、SPS)で有効にされるが、ビデオユニットに使用されない(例えば、TUレベルのtransform_skip_flagが0である)場合に、現在のビデオユニット(例えば、TU)のTSRC有効化/無効化フラグはシグナリングされない。
iv.更に、TSRC有効化/無効化フラグがビデオユニットレベルでシグナリングされないとき、TSRC有効化/無効化フラグの値は、TSRCがそのビデオユニットに対して使用不可能であることを特定する特定の値であると推測される。
c.代替的に、更に、下位レベルでのTSRC有効化/無効化フラグのシグナリングは、より上位レベルでのTSRC有効化/無効化フラグに依存してもよい。
i.例えば、ピクチャ/スライスレベルでのTSRC有効化/無効化フラグのシグナリングは、TSRCがSPS/PPSレベルで有効にされるかどうかに依存してよい。
ii.更に、ブロック/CU/TUレベルでのTSRC有効化/無効化フラグのシグナリングは、TSRCがSPS/PPS/ピクチャ/スライスレベルで有効にされるかどうかに依存してよい。
1)例えば、TSRCがより上位レベル(例えば、SPS/PPS/ピクチャ/スライスレベル)で無効にされるとき、ブロック/CU/TUレベルでのTSRC有効化/無効化フラグはシグナリングされない。
2)追加的に、更に、TSRC有効化/無効化フラグが存在しないとき、それは特定の値(例えば、TSRCが現在のビデオユニットに対して使用不可能であることを特定する値)であると推測される。
iii.更に、PPSレベルでのTSRC有効化/無効化フラグの値は、TSRCがSPSレベルで有効にされるかどうかに依存してよい。
1)例えば、SPSレベルのTSRC有効化/無効化フラグによりTSRCがCLVSに対して使用不可能であることが特定されるとき、PPSレベルのTSRC有効化/無効化フラグの値は、現在のPPSを参照するピクチャに対してTSRCが使用不可能であることを特定する特定の値に等しいと推測される。
【0066】
ALF及びCC-ALFに関して
22.現在のCTUのためのクロマALF/CC-ALFの利用の指示は、ルーマALFが現在のCTUに対して使用不可能であるときにシグナリングされない、ことが提案される。
a.代替的に、更に、利用は、ルーマALFがCUTに対して使用不可能であるときに偽であると推測される。言い換えると、クロマALF/CC-ALFは、ルーマALFがCUTで使用不可能であるときに使用不可能である。
【0067】
サブビットストリーム抽出に関して
23.アレイNumSubLayersInLayerInOLS[ ][ ]で運ばれる情報は、VCL NALユニットの削除のためにのみVVCでサブビットストリーム抽出プロセスにおいて使用されてよい、ことが提案される。
a.一例で、VVCのC.6節で規定されているサブビットストリーム抽出プロセス内の次のステップ:
- 次の条件の全てが真である全てのNALユニットをoutBitstreamから削除する:
- nal_unit_typeがIDR_W_RADL、IDR_N_LP、又はCRA_NUTに等しくない。
- nuh_layer_idが、0以上NumLayersInOls[targetOlsIdx]-1以下の範囲をとるjの値について、LayerIdInOls[targetOlsIdx][j]に等しい。
- TemporalIdがNumSubLayersInLayerInOLS[targetOlsIdx][j]よりも大きいか又はそれと等しい。
は、次であるよう変更される:
- 次の条件の全てが真である全てのVCL NALユニットをoutBitstreamから削除する:
- nal_unit_typeがIDR_W_RADL、IDR_N_LP、又はCRA_NUTに等しくない。
- nuh_layer_idが、0以上NumLayersInOls[targetOlsIdx]-1以下の範囲をとるjの値について、LayerIdInOls[targetOlsIdx][j]に等しい。
- TemporalIdがNumSubLayersInLayerInOLS[targetOlsIdx][j]よりも大きいか又はそれと等しい。
【0068】
APSの数に関して
以下の議論の中で、
「フィルタの最大許容数」は、「シーケンス/ピクチャ/スライスについて1つ又は複数のAPSによってシグナリングされ得るフィルタの最大許容数」を指すことができる。
「APS NALユニットの最大許容数」は、「シーケンス/ピクチャ/スライスについてシグナリングされ得るAPS NALユニットの最大許容数」を指すことができる。
「フィルタ係数の最大許容数」は、「シーケンス/ピクチャ/スライスについて1つ又は複数のAPSによってシグナリングされ得るフィルタ係数の最大許容数」を指すことができる。
【0069】
24.第12の課題を解決するためのAPS NALユニットの数に関して:
a.以下のAPS NALユニットの種類は、ALF APS、LMCA APS、及びSCALING APSのうちの1つ以上であってよい。
b.一例で、異なる色成分に関する情報を含むAPSは、別々にシグナリングされてよい。
i.例えば、APS NALユニットは、ルーマ関連シンタックス要素(例えば、ルーマフィルタ)しか含まなくてもよい。
ii.更に、APS NALユニットは、クロマ(例えば、Cb及び/又はCr)関連シンタックス要素(例えば、クロマフィルタ)しか含まなくてもよい。
1)例えば、APS NALユニットは、クロマALFシンタックス要素しか含まなくてもよい。
2)例えば、APS NALユニットは、CCALFシンタックス要素しか含まなくてもよい。
3)代替的に、APS NALユニットは、CCALF Cbシンタックス要素しか含まなくてもよい。
4)代替的に、APS NALユニットは、CCALF Crシンタックス要素しか含まなくてもよい。
iii.例えば、ALF(及び/又はLMCS及び/又はスケーリングリスト)のルーマ及びクロマフィルタは、異なるAPSタイプ(例えば、aps_params_type)を有してもよい。
iv.例えば、1つ又は複数のSEが、どの色成分がAPSに含まれているかを示すようAPSでシグナリングされる。
c.一例で、シーケンス/ピクチャ/スライスについてシグナリングされ得るAPS NALユニットの最大許容数は、予め定義された値(例えば、予め定義されたメモリサイズ又は予め定義されたフィルタの数)に依存してもよい。
d.一例で、シーケンス/ピクチャ/スライスについてAPSでシグナリングされるフィルタの数は、APSでシグナリングされるフィルタの最大許容数以下でなければならない。
e.一例で、シーケンス/ピクチャ/スライスについてAPSでシグナリングされるフィルタ係数の数は、APSでシグナリングされるフィルタ係数の最大許容数以下でなければならない。
i.APSでシグナリングされるフィルタの最大許容数は、予め定義された数であってよい。
ii.APSでシグナリングされるフィルタ係数の最大許容数は、異なるAPSタイプごとに異なってよい。
iii.APSでシグナリングされるフィルタ係数の最大許容数は、エンコーダからデコーダへ、例えば、VPS/SPS/PPS/PH/SH/シーケンスヘッダで、シグナリングされてよい。
f.一例で、シーケンス/ピクチャ/スライスについてAPSでシグナリングされるフィルタの数は、APSでシグナリングされるフィルタの最大許容数以下でなければならない、ことが求められる。
g.一例で、異なる色成分についてAPSでシグナリングされるフィルタの最大許容数は、異なってもよい。
i.一例で、APSでシグナリングされるルーマフィルタの最大許容数及びAPSでシグナリングされるクロマフィルタの最大数は、異なってもよい。
ii.例えば、特定のAPSタイプ(例えば、ALF/LMCS/SCALING)のAPSでシグナリングされるルーマフィルタの最大許容数及びAPSでシグナリングの最大許容数は、第1の特定値に等しい。
iii.更に、特定のAPSタイプ(例えば、ALF/LMCS/SCALING)のAPSでシグナリングされるクロマ(例えば、Cb及び/又はCr)フィルタの最大許容数は、第2の特定値に等しい。
iv.例えば、全てのAPSタイプ(例えば、ALF/LMCS/SCALING)のAPSでシグナリングされるルーマフィルタの最大許容数は、第1の特定値に等しい。
v.更に、すべてのAPSタイプ(例えば、ALF/LMCS/SCALING)のAPSでシグナリングされるクロマ(例えば、Cb及び/又はCr)フィルタの最大許容数は、第2の特定値に等しい。
h.一例で、ALFルーマフィルタの最大許容数、ALFクロマフィルタの最大許容数、及びCCALFフィルタの最大許容数は、異なってもよい。
i.例えば、ALFルーマフィルタの最大許容数は、X1に等しい(例えば、X1=25×8=200)。
ii.例えば、ALF APSユニットについて、ALFクロマフィルタの最大許容数は、X2に等しい(例えば、X2=8×8=64)。
iii.例えば、ALF APSユニットについて、CCALFフィルタの最大許容数は、X3に等しい(例えば、X3=4×8×2=64)。
1)代替的に、CCALF Cbフィルタの最大許容数はY1である(例えば、Y1=4×8=32)。
2)更に、CCALF Crフィルタの最大許容数はY2である(例えば、Y2=4×8=32)。
iv.一例で、X1、X2、X3、Y1、Y2は、予め定義された値である。
i.一例で、APS NALユニット内のフィルタの最大許容数の夫々は、K_iに等しく、ここで、Kは特定の値を示し,iはフィルタタイプ(例えば、ルーマフィルタ、クロマフィルタ、ccalfフィルタ、など)を示す。
i.例えば、ALFルーマフィルタのK_iは、25×8=200に等しい。
ii.例えば、ALFクロマフィルタのK_iは、8×8=64に等しい。
iii.例えば、CCALFフィルタのK_iは、4×8×2=64に等しい。
1)代替的に、CCALF CbフィルタのK_iは、4×8=32に等しい。
2)代替的に、CCALF CrフィルタのK_iは、4×8=32に等しい。
j.一例で、最大許容数は、エンコーダからデコーダへ、例えば、VPS/SPS/PPS/PH/SH/シーケンスヘッダで、シグナリングされてよい。
i.例えば、この項での「最大許容数」は、APS NALユニットの最大許容数、フィルタの最大許容数、又はフィルタ係数の最大許容数を指すことができる。
ii.例えば、特定のタイプ(例えば、ALF APSに等しいaps_params_type)のAPS NALユニットの最大許容数がシグナリングされてよい。
1)例えば、最大許容数はSPSレベルでシグナリングされてよい。
2)例えば、最大許容数はPS/SHレベルでシグナリングされてよい。
iii.例えば、最大許容数のシグナリングは、コーディングツール(ALF/CCALF/LMCS/スケーリングリスト)が使用可能であるか否かに依存してもよい。
1)一例で、ALF/CCALFが使用不可能であるとき、ALF/CCALF APSの最大許容数はシグナリングされなくてもよい。
a.更に、数は、存在しない場合に特定の値(例えば、0)に等しいと推測される。
2)一例で、CCALFが使用不可能であるとき、CCALF APS ID(例えば、ph_cc_alf_cb_aps_id、ph_cc_alf_cr_aps_id、slice_cc_alf_cb_aps_id、slice_cc_alf_cr_aps_id)に等しいAPS ID(例えば、adaptation_parameter_set_id)を有するALF APSについての最大許容数は、シグナリングされなくてもよい。
a.更に、数は、存在しない場合に特定の値(例えば、0)に等しいと推測される。
3)より小さいビデオユニット(例えば、ピクチャ、スライス)についての最大許容数をシグナリングする方法は、上位レベル(例えば、SPS)についての最大許容数に依存してもよい。
a.例えば、ALFルーマAPSの最大許容数は、ALF APSの最大許容数に依存する。
iv.例えば、最大許容数(Nと表される。)から導出される変数(例えば、N-M又はM-N,ここで、MはNよりも小さい特定の値である。)がシグナリングされてもよい。
k.一例で、最大許容数はクロマフォーマットに依存する。
i.例えば、ルーマ/クロマについての最大許容数は、ChromaArrayTypeが0(例えば、4:0:0及び別個の色平面コーディングを伴う4:0:0)に等しいか否かに依存してもよい。
ii.例えば、ALF/SCALING/LMCS APSの最大許容数は、ChromaArrayTypeが0に等しいか否かに依存する。
l.一例で、上記の最大許容数は、コーディングツールが使用可能であるかどうかに依存してもよい。
i.例えば、上記の最大許容数は、ALFが使用可能であるかどうか、及び/又はCCALFがSPS/PPS/PH/SHレベルで有効にされるかどうかに依存する。
ii.例えば、ALF APSの最大許容数は、ALFが使用可能であるかどうか、及び/又はCCALFがSPS/PPS/PH/SHレベルで有効にされるかどうかに依存する。
iii.例えば、LMCA APSの最大許容数は、LMCSが使用可能であるかどうか、及び/又はクロマ残差スケーリング(chroma residual scaling,CRS)がSPS/PPS/PH/SHレベルで有効にされるかどうかに依存する。
iv.例えば、SCALING APSの最大許容数は、明示的スケーリングリストがSPS/PPS/PH/SHレベルで有効にされるかどうかに依存する。
m.一例で、APS IDをコーディングする方法は、制限された数に依存してもよい。
i.一例で、APS IDは、0以上K(例えば、127又は255)以下の範囲で、ue(v)コーディングされてよい。
ii.代替的に、APS IDは、X=7又は8などで、u(X)コーディングされてもよい。
1)Xは、APS IDがコーディングされる前にシグナリングされてよい。
2)Xは、APS IDがコーディングされる前に導出されてよい。
3)Xは、最大許容数に基づき導出されてよい。
iii.代替的に、APS IDの最大数(max number)がシグナリングされる。
1)例えば、APS IDの最大数は、X=7又は8などで、u(X)コーディングされてもよい。
2)更に、APS IDはu(v)コーディングされてもよい。
iv.例えば、上記のAPS IDは、次の1つ以上であってよい:
1)APSシンタックス構造内のadaptation_parameter_set_id。
2)PHシンタックス構造内のph_alf_aps_id_luma[i]、ph_alf_aps_id_chroma、ph_cc_alf_cb_aps_id、ph_cc_alf_cr_aps_id。
3)SHシンタックス構造内のslice_alf_aps_id_luma[i]、slice_alf_aps_id_chroma、slice_cc_alf_cb_aps_id、slice_cc_alf_cr_aps_id。
4)PHシンタックス構造内のph_lmcs_aps_id。
5)PHシンタックス構造内のph_scaling_list_aps_id。
n.一例で、上記の制約は、ビットストリームコンフォーマンス、ビットストリーム制約、又はシンタックステーブルでの明示的なシグナリングによって表されてよい。
o.一例で、上記の制限/限定/制約は、プロファイル/レベル/一般制約フラグ、などに依存してもよい。
【0070】
25.QPテーブル内の点の数を特定するシンタックス要素のシグナリング及び/又は範囲及び/又は推測は、他のシンタックス要素に依存する、ことが提案される。
a.num_points_in_qp_table_minus1[i]の最大値を(最大QP値)-(i番目のクロマQPマッピングテーブルを記述するために使用される開始ルーマ及びクロマQP)にセットすることが提案される。
i.一例で、最大値は、(63-(qp_table_start_minus26[i]+26))にセットされる。
ii.一例で、最大値は、(64-(qp_table_start_minus26[i]+26))にセットされる。
【0071】
26.アフィンが使用可能でありかつSbTMVPが使用不可能であるときに、サブブロックマージ候補の最大数が0(MaxNumSubblockMergeCand)であることを許されないことが提案される。
a.一例で、サブブロックマージ候補の最大数は、アフィンが使用可能でありかつSbTMVPが使用不可能であるときに、0よりも大きいよう制限される。
b.一例で、sps_five_minus_max_num_subblock_merge_candの範囲は、SPSのSbTMVP有効化フラグ(例えば、sps_sbtmvp_enabled_flag)の値にかかわらず、[0,4]からである。
c.コンフォーマンスビットストリームは、アフィンが使用可能であるときに、MaxNumSubblockMergeCandの値が1以上5以下の範囲内になければならないことを満足すべきである。
i.代替的に、更に、MaxNumSubblockMergeCandの値は、アフィンが使用不可能であるときには、0以上1以下の範囲内になければならない。
d.代替的に、更に、merge_subblock_flagをシグナリングすべきかどうは、サブブロックマージ候補の最大数をチェックする代わりに、アフィンが使用可能であるかどうかに依存する。
【0072】
27.アフィンマージモードが許可されているかどうかを示すよう第1シンタックス要素を加えることが提案される。
a.代替的に、更に、第1シンタックス要素は、例えば、SPSアフィンフラグが有効にされているかどうかに従って、条件付きでシグナリングされてよい。
b.代替的に、更に、サブブロックマージ候補の最大数の指示は、第1シンタックス要素によりアフィンマージモードが使用可能であることが示される場合にシグナリングされてよい。
【0073】
28.課題13を解決するために、サブピクチャレイアウトが次のようにシグナリングされる。
a.例えばsps_subpic_same_res_flagと呼ばれるフラグが、SPSを参照する全てのサブピクチャが夫々同じ幅及び高さを有するかどうかを特定するために加えられる。
b.sps_subpic_same_res_flagが1に等しいとき、全てのサブピクチャの共通の幅及び高さが、CTUの単位で、例えば、2つの新しいシンタックス要素、つまり、sps_uniform_subpic_width_minus1及びsps_uniform_subpic_height_minus1によって、夫々シグナリングされる。
i.一例で、更に、numSubpicColsと表記されるサブピクチャ列の数は、(sps_pic_width_max_in_luma_samples/((sps_uniform_subpic_width_minus1+1)*CtbSizeY)))に等しいよう導出され、numSubpicRowsと表記されるサブピクチャ行の数は、(sps_pic_height_max_in_luma_samples/((sps_uniform_subpic_height_minus1+1)*CtbSizeY)))に等しいよう導出され、sumSubpicsと表記されるサブピクチャの数は、numSubpicCols*numSubpicRowsに等しいよう導出される。
ii.一例で、更に、sps_num_subpics_minus1はスキップさえ、値は、numSubpics-1に等しいと推測される。
iii.一例で、0以上sps_num_subpics_minus1以下の範囲をとるiの各値について、sps_subpic_ctu_top_left_x[i]、sps_subpic_ctu_top_left_y[i]、sps_subpic_width_minus1[i]、及びsps_subpic_height_minus1[i]の値は夫々、(sps_uniform_subpic_width_minus1+1)*(i%numSubpicCols)、(sps_uniform_subpic_height_minus1+1)*(i/numSubpicCols)、sps_uniform_subpic_width_minus1、及びsps_uniform_subpic_height_minus1に等しいと推測される。
iv.一例で、0以上sps_num_subpics_minus1以下の範囲をとるiの各値について、sps_independent_subpics_flagが0に等しいとき、sps_subpic_treated_as_pic_flag[i]及びsps_loop_filter_across_subpic_enabled_flag[i]はシグナリングされる。
c.sps_subpic_same_res_flagが0に等しいとき、JVET-Q2001-vA/v10での現在サブピクチャレイアウトシグナリングが適用される。
d.一例で、sps_pic_width_max_in_luma_samplesがCtbSizeYより小さいか又はそれと等しいとき、sps_uniform_subpic_width_minus1はスキップされ、0に等しいと推測される。
e.一例で、sps_pic_height_max_in_luma_sampleがCtbSizeYよりも小さいか又はそれと等しいとき、sps_uniform_subpic_height_minus1はスキップされ、0に等しいと推測される。
f.一例で、sps_uniform_subpic_width_minus1及びsps_uniform_subpic_height_minus1はue(v)コーディングされ、sps_subpic_ctu_top_left_x[i]、sps_subpic_ctu_top_left_y[i]、sps_subpic_width_minus1[i]、及びsps_subpic_height_minus1[i]もue(v)コーディングされる。
g.一例で、sps_uniform_subpic_width_minus1及びsps_uniform_subpic_height_minus1は、JVET-Q2001-vA/v10でのsps_subpic_width_minus1[i]及びsps_subpic_height_minus1[i]と夫々同じ長さで、u(v)コーディングされる。
h.一例で、SPSシンタックスは次の通りに変更される。太字イタリック体の下線付きテキストは、新たに加えられたテキストを示し、二重括弧(例えば、[[ ]])は、かっこ内のテキストの削除を示す:
【表3】
i.一例で、SPSシンタックスは次の通りに変更される:
【表4】
【0074】
29.JVET-Q2001-vA/v10での最新VVC仕様テキストに対する次の変更が提案される:
【表5】
【0075】
30.前の項に対する次の変更が提案される:
【表6】
【0076】
31.pps_pic_width_in_luma_samplesがCtbSizeYよりも小さいか又はそれと等しいとき、pps_tile_column_width_minus1[i]は、PicWidthInCtbsY-1に等しいことを求められる。
【0077】
32.pps_pic_height_in_luma_samplesがCtbSizeYよりも小さいか又はそれと等しいとき、pps_tile_row_height_minus1[i]は、PicHeight-1に等しいことを求められる。
【0078】
[6.実施形態]
[6.1.実施形態1:スライスタイプに従うクロマQPテーブル]
太字イタリック体の下線付きテキストでマークされた変更は、JVET-Q2001-vCに基づいている。また、削除されたテキストは、二重括弧(例えば、[[ ]])でマークされており、二重括弧の間に削除されてテキストが示されている。
【表7】
【0079】
[6.2.実施形態2:マッピングされたクロマQPのピボット点の数及びクリッピング]
太字イタリック体の下線付きテキストでマークされた変更は、JVET-Q2001-vCに基づいている。
【表8】
【0080】
[6.3.実施形態3]
太字イタリック体の下線付きテキストでマークされた変更は、JVET-Q2001-vEに基づいている。
【表9】
【0081】
[6.4.実施形態4]
新たに加えられたテキストは、太字イタリック体の下線付きテキストでマークされ、削除されたテキストは二重括弧(例えば、[[ ]])でマークされ、二重括弧の間に削除されてテキストが示されている。それは、JVET-Q2001-vEに基づいている。
【表10】
【0082】
[6.5.実施形態5]
新たに加えられたテキストは、太字イタリック体の下線付きテキストでマークされ、削除されたテキストは二重括弧(例えば、[[ ]])でマークされ、二重括弧の間に削除されてテキストが示されている。それは、JVET-Q2001-vEに基づいている。
【表11】
【0083】
[6.6.実施形態6]
JVET-Q2001-vEの上に提案された仕様変更は、次のように説明される。削除されたテキストは二重括弧(例えば、[[ ]])でマークされ、二重括弧の間に削除されてテキストが示されている。新たに加えられたテキストは、太字イタリック体の下線付きテキストで強調表示されている。
【表12】
【0084】
[6.7.第7組の実施形態]
これは、上記のセクション5で要約された項目20の一連の実施形態である。
変更されたテキストは、JVET-Q2001-vEの最新VVCテキストに基づいている。追加又は変更されている最も関連する部分は、太字イタリック体の下線付きテキストで強調表示されており、削除されテキストのいくつかは、二重括弧(例えば、[[ ]])でマークされ、二重括弧の間に削除されてテキストが示されている。
【0085】
[6.7.1.例となる実施形態]
一例で、SPSシンタックス構造は、次のように変更され得る:
【表13】
一例で、PPSシンタックス構造は、次のように変更され得る:
【表14】
一例で、PHシンタックス構造は、次のように変更され得る:
【表15】
一例で、PHシンタックス構造は、次のように変更され得る:
【表16】
一例で、transform_unit()シンタックス構造は、次のように変更され得る:
【表17】
【0086】
[6.7.2.他の例となる実施形態]
代替的に、PPS、PS、SHシンタックスは、次のように変更され得る:
【表18】
【0087】
[6.7.3.他の例となる実施形態]
代替的に、PPS、SHシンタックスは、次のように変更され得る:
【表19】
【0088】
[6.7.4.他の例となる実施形態]
代替的に、SHシンタックスは、次のように変更され得る:
【表20】
【0089】
図3は、本明細書で開示されている様々な技術が実装され得る例示的なビデオ処理システム1900を示すブロック図である。様々な実施は、システム1900のコンポーネントのいくつか又は全てを含み得る。システム1900は、ビデオコンテンツを受ける入力部1902を含み得る。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受け取られてよく、あるいは、圧縮又は符号化されたフォーマットにあってもよい。入力部1902は、ネットワークインターフェース、ペリフェラルバスインターバス、又はストレージインターフェースに相当し得る。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(Passive Optical Network,PON)などのような有線インターフェース、及びWi-Fi又はセルラーネットワークなどの無線インターフェースが含まれる。
【0090】
システム1900は、本明細書で記載されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント1904を含んでもよい。コーディングコンポーネント1904は、ビデオのコーディングされた表現を生成するよう、入力部1902からコーディングコンポーネント1904の出力部へのビデオの平均ビットレートを低減し得る。コーディング技術は、従って、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント1904の出力は、コンポーネント1906によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部1902で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース1910へ送られる表示可能なビデオを生成するコンポーネント1908によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応する復号化ツール又は動作は、デコーダによって実行されることになることが理解されるだろう。
【0091】
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI(Peripheral Component Interconnect)、IDE(Integrated Drive Electronics)インターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、あるいは、デジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの、様々な電子デバイスで具現化されてもよい。
【0092】
図4は、ビデオ処理装置3600のブロック図である。装置3600は、本明細書で記載されている方法の1つ以上を実装するために使用され得る。装置3600は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現化されてもよい。装置3600は、1つ以上のプロセッサ3602、1つ以上のメモリ3604、及びビデオ処理ハードウェア3606を含み得る。プロセッサ3602は、本明細書で記載される1つ以上の方法を実装するよう構成され得る。メモリ(複数のメモリ)3604は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア3606は、ハードウェア回路において、本明細書で記載されるいくつかの技術を実装するために使用され得る。
【0093】
図6は、本開示の技術を利用し得る、例となるビデオコーディングシステム100を表すブロック図である。
【0094】
図6に示されるように、ビデオコーディングシステム100は、送信元デバイス110及び送信先デバイス120を含んでよい。送信元デバイス110は、符号化されたビデオデータを生成し、ビデオ符号化デバイスと呼ばれ得る。送信先デバイス120は、送信元デバイス110によって生成された符号化されたビデオデータを復号することができ、ビデオ復号化デバイスと呼ばれ得る。
【0095】
送信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
【0096】
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータを符号化する。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットの連続を含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。符号化されたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。符号化されたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0097】
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
【0098】
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、送信元デバイス110又は記憶媒体/サーバ130bから符号化されたビデオデータを取得してよい。ビデオデコーダ124は、符号化されたビデオデータを復号してよい。表示デバイス122は、復号されたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
【0099】
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
【0100】
図7は、ビデオエンコーダ200の例を表すブロック図であり、図6に表されているシステム100のビデオエンコーダ114であってよい。
【0101】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図7の例では、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサが、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0102】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピ符号化ユニット214とを含んでよい。
【0103】
他の例では、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるところの、IBCモードで、予測を実行してよい。
【0104】
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために図7の例では別々に表されている。
【0105】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
【0106】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、符号化されたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ-インター複合予測(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0107】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成し得る。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連したピクチャ以外のバッファ213からのピクチャの復号されたサンプルとに基づいて、現在のビデオブロックの予測されたビデオブロックを決定し得る。
【0108】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在のビデオブロックのために異なる動作を実行してもよい。
【0109】
いくつかの例において、動き推定ユニット204は、現在のビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在のビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のブロックの予測されたビデオブロックを生成してもよい。
【0110】
他の例では、動き推定ユニット204は、現在のビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、それらの参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在のビデオブロックの動き情報として、現在のビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のビデオブロックの予測されたビデオブロックを生成してもよい。
【0111】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために動き情報のフルセットを出力してもよい。
【0112】
いくつかの例において、動き推定ユニット204は、現在のビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報をシグナリングしてもよい。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に類似していることを決定してもよい。
【0113】
一例において、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、現在のビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
【0114】
他の例では、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造において、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在のビデオブロックの動きベクトルと、指示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在のビデオブロックの動きベクトルを決定するために、指示されたビデオブロックの動きベクトル及び動きベクトル差分を使用し得る。
【0115】
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングしてもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
【0116】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行してよい。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックの復号されたサンプルに基づいて、現在のビデオブロックの予測データを生成し得る。現在のビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含み得る。
【0117】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される。)によって、現在のビデオブロックの残差データを生成してよい。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含み得る。
【0118】
他の例では、例えば、スキップモードで、現在のビデオブロックの残差データは存在しない場合があり、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0119】
変換処理ユニット208は、現在のビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックの1つ以上の変換係数ビデオブロックを生成してよい。
【0120】
変換処理ユニット208が現在のビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連した変換係数ビデオブロックを量子化してよい。
【0121】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在のブロックに関連した再構成されたビデオブロックを生成してよい。
【0122】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
【0123】
エントロピ符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピ符号化ユニット214がデータを受け取るとき、エントロピ符号化ユニット214は、エントロピ符号化されたデータを生成するよう1つ以上のエントロピ符号化動作を実行し、そのエントロピ符号化されたデータを含むビットストリームを出力し得る。
【0124】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にする決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理においてそのツール又はモードを使用又は実装するが、結果として得られるビットストリームをツール又はモードの利用に基づき必ずしも変更しなくてもよい。すなわち、ビデオのブロックからビデオのビットストリーム(又はビットストリーム表現)への変換は、決定又は判断に基づいてビデオ処理ツール又はモードが有効にされる場合に、そのツール又はモードを使用する。他の例では、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビデオ処理ツール又はモードに基づきビットストリームが変更されていることを知った上で、ビットストリームを処理する。すなわち、ビデオのビットストリームからビデオのブロックへの変換は、決定又は判断に基づき有効にされたビデオ処理ツール又はモードを用いて実行される。
【0125】
図8は、ビデオデコーダ300の例を表すブロック図であり、図6で表されているシステム100のビデオデコーダ114であってよい。
【0126】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図8の例では、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサが、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0127】
図8の例では、ビデオデコーダ300は、エントロピ復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(図7)に関して記載された符号化パスとは概して逆の復号化パスを実行してもよい。
【0128】
エントロピ復号化ユニット301は、符号化されたビットストリームを取り出し得る。符号化されたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータの符号化されたブロック)を含んでもよい。エントロピ復号化ユニット301は、エントロピコーディングされたビデオデータを復号してよく、エントロピ復号されたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してよい。
【0129】
動き補償ユニット302は、場合により、補間フィルタに基づいた補間を実行して、動き補償されたブロックを生成してよい。サブピクセル精度で使用される補間フィルタのための識別子が、シンタックス要素に含まれてもよい。
【0130】
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックの符号化中にビデオエンコーダ200によって使用された補間フィルタを使用し得る。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
【0131】
動き補償ユニット302は、符号化されたビデオシーケンスのフレーム及び/又はスライスを符号化するために使用されるブロックのサイズと、符号化されたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各パーティションがどのように符号化されるかを示すモードと、各インター符号化されたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、符号化されたビデオシーケンスを復号するための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
【0132】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピ復号化ユニット301によって復号された量子化されたビデオブロック係数を逆量子化、すなわち、量子化解除する。逆変換ユニット305は逆変換を適用する。
【0133】
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、復号されたブロックを形成し得る。必要に応じて、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、復号されたブロックにフィルタをかけるよう適用されてもよい。復号されたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを供給し、更には、復号されたビデオを表示デバイスでの提示のために生成する。
【0134】
いくつかの実施形態によって好ましい解決法のリストが、次に提供される。
【0135】
以下の解決法は、前のセクション(例えば、項目1)で説明された技術の実施例を示す。
【0136】
解決法1.
ビデオ処理の方法(例えば、図5の方法)であって、
ビデオピクチャを含むビデオと前記ビデオのコーディングされた表現との間の変換を実行するステップ(502)を有し、
前記コーディングされた表現は、フォーマット規則に従い、
前記フォーマット規則は、前記変換中に使用される1つ以上の初期量子化パラメータ(QP)値を示す1つ以上のシンタックス要素が前記コーディングされた表現に含まれるかどうか及びどこに含まれるかを定める、
方法。
【0137】
解決法2.
前記フォーマット規則は、前記1つ以上のQP値を示すシンタックス要素が、該シンタックス要素をピクチャパラメータセットに含めずに、ピクチャヘッダに含まれることを定める、
解決法1に記載の方法。
【0138】
解決法3.
前記フォーマット規則は、前記1つ以上のQP値を示すシンタックス要素が、ピクチャパラメータセットに含まれ、1つ以上のピクチャヘッダで繰り返されることを定める、
解決法1に記載の方法。
【0139】
解決法4.
前記フォーマット規則は、前記1つ以上のシンタックス要素が、規則に従って、シーケンスパラメータセット、ピクチャパラメータセット、ピクチャヘッダ、及びシーケンスヘッダのうちの2つ以上を含む複数のレベルで前記コーディングされた表現に含まれることを定める、
解決法1に記載の方法。
【0140】
解決法5.
前記規則は、ビデオピクチャのビデオピクチャタイプに基づく、
解決法4に記載の方法。
【0141】
以下の解決法は、前のセクション(例えば、項目2~3)で説明された技術の実施例を示す。
【0142】
解決法6.
ビデオ処理の方法であって、
ビデオのビデオブロックと前記ビデオのコーディングされた表現との間の変換のために、初期量子化パラメータ(QP)値を使用することを決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有し、
前記コーディングされた表現内のシンタックス要素は、(a)1から25の間にあるか、又は(b)26よりも大きいか、又は(c)前記変換のための最大許容QP値の関数であるか、又は(d)前記変換に使用されるビットデプスの関数であるオフセット値Kを含むオフセット関係を用いて、初期QP値を示す、
方法。
【0143】
解決法7.
Kは、前記ビデオブロックのタイプ又は前記ビデオブロックを含むビデオスライス若しくはビデオピクチャのタイプの関数である、
解決法6に記載の方法。
【0144】
以下の解決法は、前のセクション(例えば、項目4~5)で説明された技術の実施例を示す。
【0145】
解決法8.
ビデオ処理方法であって、
ビデオのクロマブロックと前記ビデオのコーディングされた表現との間の変換のために、規則に従って、前記クロマブロックを含むピクチャ又はスライスのタイプに基づき1つ以上の量子化パラメータ(QP)テーブルを決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有する方法。
【0146】
解決法9.
前記規則は、前記1つ以上のQPテーブルがI、B及びPビデオピクチャについて異なることを定める、
解決法8に記載の方法。
【0147】
解決法10.
前記規則は、Iコーディングされたビデオピクチャの前記1つ以上のQPテーブルが、B及びPコーディングされたビデオピクチャの前記1つ以上のQPテーブルとは異なることを定める、
解決法8に記載の方法。
【0148】
解決法11.
前記規則は、前記クロマブロックが属するピクチャタイプ及びスライスタイプの分類に基づき、
数Mは、前記分類に対するインデックスを表し、Mは、1よりも大きい整数である、
解決法8~10のいずれかに記載の方法。
【0149】
以下の解決法は、前のセクション(例えば、項目6~8)で説明された技術の実施例を示す。
【0150】
解決法12.
ビデオ処理方法であって、
ビデオのクロマブロックと前記ビデオのコーディングされた表現との間の変換のために、1つ以上の量子化パラメータ(QP)テーブルを決定するステップと、
前記決定に基づき前記変換を実行するステップと
を有し、
前記変換は、前記1つ以上のQPテーブルに対応する1つ以上のシンタックス要素を指定する第1規則、又は前記1つ以上のQPテーブルと前記クロマブロックのコーディング特性との間の関係を指定する第2規則に従う、
方法。
【0151】
解決法13.
前記第1規則は、前記1つ以上のシンタックス要素が、前記コーディングされた表現に関連したシーケンスパラメータセットに含まれることを定める、
解決法12に記載の方法。
【0152】
解決法14.
前記第2規則は、前記1つ以上のQPテーブルが、前記変換に使用される予測モードに基づくことを定める、
解決法12~13のいずれかに記載の方法。
【0153】
解決法15.
前記第2規則は、イントラコーディングされたクロマブロックの前記1つ以上のQPテーブルは、他の予測モードを使用するクロマブロックとは異なる、
解決法13に記載の方法。
【0154】
以下の解決法は、前のセクション(例えば、項目9~14)で説明された技術の実施例を示す。
【0155】
解決法16.
ビデオ処理方法であって、
ビデオのクロマブロックと前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、
前記フォーマット規則は、前記変換に使用される1つ以上のクロマ量子化パラメータ(QP)テーブルに関連したシンタックス要素の特性を定める、
方法。
【0156】
解決法17.
前記フォーマット規則は、前記1つ以上のクロマQPテーブルの開始点シンタックス要素の最大値を定める、
解決法16に記載の方法。
【0157】
解決法18.
前記フォーマット規則は、前記1つ以上のクロマQPテーブルの開始点シンタックス要素が、26よりも小さい数Kによってオフセットされた値を有することを定める、
解決法16に記載の方法。
【0158】
解決法19.
前記フォーマット規則は、前記1つ以上のクロマQPテーブルの開始点シンタックス要素が、前記クロマブロックの現在ピクチャがイントラ専用ピクチャであるかどうかに依存する値によってオフセットされることを定める、
解決法16に記載の方法。
【0159】
解決法20.
前記フォーマット規則は、前記1つ以上のクロマQPテーブル内のピボット点の数がゼロであることを定める、
解決法16~19のいずれかに記載の方法。
【0160】
解決法21.
前記1つ以上のクロマQPテーブル内のピボット点の数がゼロであることにより、前記1つ以上のクロマQPテーブルのi番目のエントリは、対応するルーマQPテーブルのi番目のエントリに等しくセットされる、
解決法16~20のいずれかに記載の方法。
【0161】
解決法22.
前記シンタックス要素は、前記コーディングされた表現においてシーケンスパラメータセット及びピクチャパラメータセットの両方に含まれる、
解決法16~21のいずれかに記載の方法。
【0162】
解決法23.
前記シンタックス要素は、ピクチャヘッダ又はシーケンスヘッダのどちらか一方に含まれる、
解決法16~22のいずれかに記載の方法。
【0163】
以下の解決法は、前のセクション(例えば、項目25)で説明された技術の実施例を示す。
【0164】
解決法24.
ビデオ処理方法であって、
ビデオのコーディングされた表現内の1つ以上のシンタックス要素に関するフォーマット規則に基づき、前記コーディングされた表現で量子化パラメータテーブルをシグナリングするために使用されるシグナリングスキームを決定するステップと、
前記決定に基づき、前記ビデオと前記コーディングされた表現との間の変換を実行するステップと
を有する方法。
【0165】
解決法25.
前記シグナリングスキームは、前記量子化パラメータテーブル内の点の数の指示を有する、
解決法24に記載の方法。
【0166】
以下の解決法は、前のセクション(例えば、項目26)で説明された技術の実施例を示す。
【0167】
解決法26.
ビデオ処理方法であって、
ビデオのビデオブロックと前記ビデオのコーディングされた表現との間の変換を規則に従って実行するステップを有し、
前記規則は、アフィンコーディングの使用が有効にされ、サブブロックベースの時間的動きベクトル予測の使用が無効にされる場合に、サブブロックマージ候補の最大数を制限するために使用される数Nを指定する、
方法。
【0168】
N=0である、
解決法26に記載の方法。
【0169】
以下の解決法は、前のセクション(例えば、項目27~29)で説明された技術の実施例を示す。
【0170】
解決法28.
ビデオ処理方法であって、
1つ以上のビデオサブピクチャを含む1つ以上のビデオピクチャを含むビデオと該ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、
前記フォーマット規則は、次のサブピクチャに関連したシンタックス要素:
同じシーケンスパラメータセットを参照する全てのサブピクチャが同じ寸法を有するかどうかを示す第1シンタックス要素、
同じ寸法を有する全てのサブピクチャの共通の幅及び共通の高さを通知する第2シンタックス要素、又は
第2フォーマット規則に従う第3シンタックス要素
のうちの1つ以上を包含又は省略することを定める、
方法。
【0171】
解決法29.
前記第2フォーマット規則は、特定の条件の下でサンプル幅を示すシンタックス要素を省略することを定める、
解決法28に記載の方法。
【0172】
解決法30.
前記変換は、前記ビデオを前記コーディングされた表現に符号化することを有する、
解決法1~29のいずれかに記載の方法。
【0173】
解決法31.
前記変換は、前記コーディングされた表現を復号して、前記ビデオのピクセル値を生成することを有する、
解決法1~29のいずれかに記載の方法。
【0174】
解決法32.
解決法1~31のうちの1つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ復号化装置。
【0175】
解決法33.
解決法1~31のうちの1つ以上に記載の方法を実装するよう構成されたプロセッサを有するビデオ符号化装置。
【0176】
解決法34.
コンピュータコードを記憶し、
前記コードは、プロセッサによって実行される場合に、前記プロセッサに、解決法1~31のいずれかに記載の方法を実装させる、
コンピュータプログラム製品。
【0177】
図9は、ビデオ処理の例となる方法900のフローチャートである。動作902は、規則に従ってビデオとビデオのビットストリームとの間の変換を実行することを含み、規則は、変換に使用される量子化パラメータテーブルがシーケンスパラメータセットに含まれることを定め、規則は、量子化パラメータテーブル内の点の数を示す第1シンタックス要素がシーケンスパラメータセットに含まれるかどうか又はどのように含まれるかが、シーケンスパラメータセット内の第2シンタックス要素に従って制御されることを定める。
【0178】
方法900のいくつかの実施形態で、量子化パラメータテーブルは、クロマ量子化パラメータマッピングテーブルである。方法900のいくつかの実施形態で、第1シンタックス要素の値に1をプラスしたものは、量子化パラメータテーブル内の点の数に等しい。方法900のいくつかの実施形態で、第2シンタックス要素の値は、量子化パラメータテーブルを記述するために使用される開始ルーマ及びクロマ量子化パラメータを示す。方法900のいくつかの実施形態で、量子化パラメータテーブル内の点の数の最大値は、第2シンタックス要素の値に基づく。方法900のいくつかの実施形態で、規則は、量子化パラメータテーブル内の点の数の最大値から1をマイナスしたものが、最大量子化パラメータ値と、i番目のクロマ量子化パラメータマッピングテーブルを記述するために使用される開始ルーマ及びクロマ量子化パラメータとの間の差であることを定める。
【0179】
方法900のいくつかの実施形態で、最大値は、(63-(qp_table_start_minus26[i]+26))にセットされる。方法900のいくつかの実施形態で、最大値は、(64-(qp_table_start_minus26[i]+26))にセットされる。
【0180】
図10は、ビデオ処理の例となる方法1000のフローチャートである。動作1002は、規則に従ってビデオとビデオのビットストリームとの間の変換を実行することを含み、規則は、シーケンスパラメータセットで示される、サブピクチャの数から1をマイナスしたものが、ゼロよりも大きい場合、かつ、シーケンスパラメータセット内のシンタックス要素により、コーディングされたレイヤビデオシーケンス内のビデオの第1ビデオピクチャのi番目のサブピクチャが、インループフィルタリング動作を除く復号化プロセスでビデオの第2ビデオピクチャとして扱われることが示される場合に、次の2つの条件のうちの一方が真であることを定める:
(1)第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャと、第1ビデオピクチャとが、次の:
ルーマサンプルの単位でのピクチャ幅と、
ルーマサンプルの単位でのピクチャ高さと、
サブピクチャの数から1をマイナスしたものと、
0以上かつサブピクチャの数から1をマイナスしたもの以下の範囲をとるiの各値についての、i番目のサブピクチャの左上コーディングツリーユニット(CTU)の水平位置、i番目のサブピクチャの左上CTUの垂直位置、i番目のサブピクチャの幅から1をマイナスしたもの、i番目のサブピクチャの高さから1をマイナスしたもの、及びi番目のサブピクチャのシンタックス要素と
の夫々について、同じ値を有すること、及び
(2)第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャが、サブピクチャの数から1をマイナスしたものの値がゼロに等しいインターレイヤ参照ピクチャであること。
【0181】
図11は、ビデオ処理の例となる方法1100のフローチャートである。動作1102は、規則に従って、ビデオブロックを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、規則は、アフィンコーディングツールが使用可能でありかつサブブロックベースの時間的動きベクトル予測(SbTMVP)コーディングツールが使用不可能である場合に、サブブロックマージ候補の最大数が数Nであることを許されないことを定める。
【0182】
方法1100のいくつかの実施形態において、N=0である。方法1100のいくつかの実施形態において、Nは0よりも大きい。方法1100のいくつかの実施形態において、シーケンスパラメータセットでサポートされているサブブロックベースのマージ動きベクトル予測候補の最大数から5をマイナスしたものの範囲は、SbTMVPコーディングツールが使用可能又は使用不可能であるかどうかを示すシーケンスパラメータセット内のシンタックス要素の値にかかわらず[0,4]からである。方法1100のいくつかの実施形態において、ビットストリームは、アフィンコーディングツールが使用可能である場合に、1以上5以下の範囲内からのサブブロックベースのマージ動きベクトル予測候補の最大数の値を含むコンフォーマンスビットストリームである。方法1100のいくつかの実施形態において、ビットストリームは、アフィンコーディングツールが使用不可能である場合に、0以上1以下の範囲内からのサブブロックベースのマージ動きベクトル予測候補の最大数の値を含むコンフォーマンスビットストリームである。方法1100のいくつかの実施形態において、ビットストリームは、マージサブブロック動作が使用可能であるかどうかが、アフィンコーディングツールが使用可能であるかどうかに基づき、前記サブブロックマージ候補の最大数に基づかないことを示すシンタックス要素を含む。
【0183】
図12は、ビデオ処理の例となる方法1200のフローチャートである。動作1202は、1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、アフィンマージモードが使用可能であるかどうかを示すシンタックス要素がビットストリーム内にあるかどうかを定める。
【0184】
方法1200のいくつかの実施形態において、フォーマット規則は、アフィンマージモードがシーケンスパラメータにおいて有効にされているかどうかに基づき、シンタックス要素がビットストリームで選択的に示されることを定める。方法1200のいくつかの実施形態において、フォーマット規則は、シンタックス要素よりアフィンマージモードが使用可能であることが示される場合に、サブブロックマージ候補の最大数がビットストリームで示されることを定める。
【0185】
図13は、ビデオ処理の例となる方法1300のフローチャートである。動作1302は、規則に従って、1つ以上のサブピクチャを含む1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、規則は、次のサブピクチャ関連シンタックス要素:
同じシーケンスパラメータセットを参照する全てのサブピクチャが同じ寸法を有するかどうかを示す第1シンタックス要素、
同じ寸法を有する全てのサブピクチャの共通の幅及び共通の高さを示す第2シンタックス要素、又は
全てのサブピクチャが同じ寸法を有さない場合に省略される、第2規則に従う1つ以上のシンタックス要素
のうちの1つ以上をシーケンスパラメータセットから指示又は省略することを定める。
【0186】
方法1300のいくつかの実施形態において、規則は、numSubpicColsと表記されるサブピクチャ列の数が、(sps_pic_width_max_in_luma_samples/((sps_uniform_subpic_width_minus1+1)*CtbSizeY)))に等しいよう導出され、numSubpicRowsと表記されるサブピクチャ行の数が、(sps_pic_height_max_in_luma_samples/((sps_uniform_subpic_height_minus1+1)*CtbSizeY)))に等しいよう導出され、sumSubpicsと表記されるサブピクチャの数が、numSubpicCols*numSubpicRowsに等しいよう導出されることを定める。方法1300のいくつかの実施形態において、規則は、sps_num_subpics_minus1がシーケンスパラメータセットから除かれることを定め、sps_num_subpics_minus1の値は、numSubpics-1に等しいと推測される。方法1300のいくつかの実施形態において、規則は、0以上sps_num_subpics_minus1以下の範囲をとるiの各値について、sps_subpic_ctu_top_left_x[i]、sps_subpic_ctu_top_left_y[i]、sps_subpic_width_minus1[i]、及びsps_subpic_height_minus1[i]の値が夫々、(sps_uniform_subpic_width_minus1+1)*(i%numSubpicCols)、(sps_uniform_subpic_height_minus1+1)*(i/numSubpicCols)、sps_uniform_subpic_width_minus1、及びsps_uniform_subpic_height_minus1に等しいと推測されることを定める。
【0187】
方法1300のいくつかの実施形態において、規則は、0以上sps_num_subpics_minus1以下の範囲をとるiの各値について、sps_independent_subpics_flagが0に等しい場合に、sps_subpic_treated_as_pic_flag[i]及びsps_loop_filter_across_subpic_enabled_flag[i]がシーケンスパラメータセットで示されることを定める。方法1300のいくつかの実施形態において、第2規則は、現在のサブピクチャレイヤシグナリングを使用することを定める。方法1300のいくつかの実施形態において、規則は、sps_pic_width_max_in_luma_samplesがCtbSizeYよりも小さいか又はそれと等しい場合に、sps_uniform_subpic_width_minus1がシーケンスパラメータセットから除かれ、0に等しいと推測されることを定める。方法1300のいくつかの実施形態において、規則は、sps_pic_height_max_in_luma_samplesがCtbSizeYよりも小さいか又はそれと等しい場合に、sps_uniform_subpic_height_minus1がシーケンスパラメータセットから除かれ、0に等しいと推測されることを定める。
【0188】
方法1300のいくつかの実施形態において、規則は、sps_uniform_subpic_width_minus1、sps_uniform_subpic_height_minus1、sps_subpic_ctu_top_left_x[i]、sps_subpic_ctu_top_left_y[i]、sps_subpic_width_minus1[i]、及びsps_subpic_height_minus1[i]がue(v)コーディングされることを定める。方法1300のいくつかの実施形態において、規則は、sps_uniform_subpic_width_minus1及びsps_uniform_subpic_height_minus1が夫々、sps_subpic_width_minus1[i]及びsps_subpic_height_minus1[i]と同じ長さでu(v)コーディングされることを定める。方法1300のいくつかの実施形態において、シーケンスパラメータセットは、ビデオの全てのサブピクチャが夫々同じ幅及び高さを有するかどうかを示す第1シンタックス要素と、全てのサブピクチャの共通の幅を示す第2シンタックス要素と、全てのサブピクチャの共通の高さを示す第3シンタックス要素とを含む。方法1300のいくつかの実施形態において、規則は、シーケンスパラメータセットで示される、サブピクチャの数から1をマイナスしたものが、ゼロよりも大きい場合、かつ、シーケンスパラメータセット内のシンタックス要素により、コーディングされたレイヤビデオシーケンス内のビデオの第1ビデオピクチャのi番目のサブピクチャが、インループフィルタリング動作を除く復号化プロセスでビデオの第2ビデオピクチャとして扱われることが示される場合に、次の2つの条件のうちの一方が真であることを定める:
(1)第1ビデオピクチャの第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャと、第1ビデオピクチャとが、次の:
ルーマサンプルの単位でのピクチャ幅と、
ルーマサンプルの単位でのピクチャ高さと、
サブピクチャの数から1をマイナスしたものと、
0以上かつサブピクチャの数から1をマイナスしたもの以下の範囲をとるiの各値についての、i番目のサブピクチャの左上コーディングツリーユニット(CTU)の水平位置、i番目のサブピクチャの前記左上CTUの垂直位置、i番目のサブピクチャの幅から1をマイナスしたもの、i番目のサブピクチャの高さから1をマイナスしたもの、i番目のサブピクチャのシンタックス要素、及びi番目のサブピクチャの識別値と
の夫々について、同じ値を有すること、及び
(2)第1参照ピクチャリスト又は第2参照ピクチャリスト内の各アクティブエントリによって参照される第2ビデオピクチャが、サブピクチャの数から1をマイナスしたものの値がゼロに等しいインターレイヤ参照ピクチャであること。
【0189】
図14は、ビデオ処理の例となる方法1400のフローチャートである。動作1402は、1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換のために、ルーマサンプルの単位での、ピクチャパラメータセットを参照する各ビデオピクチャの幅が、ルーマコーディングツリーブロックサイズよりも小さいか又はそれと等しいことに応答して、コーディングツリーブロックの単位でのi番目のタイル列の幅から1をマイナスしたものを示すピクチャパラメータセット内の第1シンタックス要素がコーディングツリーブロックの単位でのビデオピクチャの幅から1をマイナスしたものに等しいことを決定することを含む。動作1404は、決定に基づき変換を実行することを含む。
【0190】
図15は、ビデオ処理の例となる方法1500のフローチャートである。動作1502は、1つ以上のビデオピクチャを含むビデオとビデオのビットストリームとの間の変換のために、ルーマサンプルの単位での、ピクチャパラメータセットを参照する各ビデオピクチャの高さが、ルーマコーディングツリーブロックサイズよりも小さいか又はそれと等しいことに応答して、コーディングツリーブロックの単位でのi番目のタイル行の高さから1をマイナスしたものを示すピクチャパラメータセット内の第1シンタックス要素がコーディングツリーブロックの単位でのビデオピクチャの高さから1をマイナスしたものに等しいことを決定することを含む。動作1504は、決定に基づき変換を実行することを含む。
【0191】
方法900~1500のいくつかの実施形態で、変換を実行することは、ビデオをビットストリームに符号化することを有する。方法900~1500のいくつかの実施形態で、変換を実行することは、ビットストリームをビデオから生成することを有し、方法は更に、ビットストリームを非一時的なコンピュータ可読記録媒体に記憶する動作を有する。方法900~1500のいくつかの実施形態で、変換を実行することは、ビデオをビットストリームから復号することを有する。
【0192】
いくつかの実施形態で、ビデオ復号化装置は、方法900~1500の1つ以上の実施形態に記載される方法を実装するよう構成されたプロセッサを有する。いくつかの実施形態で、ビデオ符号化装置は、方法900~1500の1つ以上の実施形態に記載される方法を実装するよう構成されたプロセッサを有する。いくつかの実施形態で、コンピュータプログラム製品は命令を記憶しており、命令は、プロセッサによって実行される場合に、プロセッサに、方法900~1500の1つ以上の実施形態に記載される方法を実装させる。いくつかの実施形態で、非一時的なコンピュータ可読記憶媒体は、方法900~1500の1つ以上の実施形態に記載される方法に従って生成されたビットストリームを記憶する。いくつかの実施形態で、非一時的なコンピュータ可読記憶媒体は、プロセッサに、方法900~1500の1つ以上の実施形態に記載される方法を実装させる命令を記憶している。いくつかの実施形態で、ビットストリーム生成の方法は、方法900~1500の1つ以上の実施形態に記載される方法に従ってビデオのビットストリームを生成するステップと、ビットストリームをコンピュータ可読プログラム媒体に記憶するステップとを有する。いくつかの実施形態は、本明細書で記載される方法、装置、開示されている方法に従って生成されたビットストリーム、又はシステムを提供する。
【0193】
本明細書中、「ビデオ処理」(video processing)という用語は、ビデオ符号化(video encoding)、ビデオ復号化(video decoding)、ビデオ圧縮(video compression)又はビデオ圧縮解除(video decompression)を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現への変換中に、又はその逆も同様に、適用されてもよい。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内でコロケートされているか又は異なった場所に広がっているかのどちらかであるビットに対応してもよい。例えば、マクロブロックは、変換及びコーディングされた誤差残余値に関して、更には、ビットストリーム内のヘッダ及び他のフィールドにおけるビットを用いて、符号化されてよい。更に、変換中に、デコーダは、上記の解決法で記載されるように、決定に基づき、いくつかのフィールドが存在又は不存在であり得ると知った上で、ビットストリームをパースし得る。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきか又は含まれないべきかを決定し、それに応じて、コーディングされた表現にシンタックス要素を含めること又はコーディングされた表現からシンタックス要素を除くことによって、コーディングされた表現を生成し得る。
【0194】
本明細書中で記載されている開示された及び他の解決法、例、実施形態、モジュール及び機能動作は、デジタル電子回路で、あるいは、本明細書で開示されている構造及びそれらの構造的な同等物を含むコンピュータソフトウェア、ファームウェア、又はハードウェアで、あるいは、それらのうちの1つ以上の組み合わせで実装可能である。開示された及び他の実施形態は、1つ以上のコンピュータプログラム製品、つまり、データ処理装置によって実行されるか又はその動作を制御するためにコンピュータ可読媒体で符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装可能である。コンピュータ可読媒体は、マシン可読記憶デバイス、マシン可読記憶基板、メモリデバイス、マシン可読な伝播信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、マシンにより生成された電気的、光学的、又は電磁気信号であり、適切なレシーバ装置への伝送のために情報を符号化するよう生成される。
【0195】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するわけではない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようデプロイ可能である。
【0196】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、FPGA(Field Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0197】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、消去可能なプログラム可能リード・オンリー・メモリ(EPROM)、電気的消去可能なプログラム可能リード・オンリー・メモリ(EEPROM)、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにコンパクトディスク型リード・オンリー・メモリ(CD ROM)及びデジタルバーサタイルディスク型リード・オンリー・メモリ(DVD-ROM)ディスクを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0198】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態で組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0199】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0200】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
【外国語明細書】