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

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

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

特表2023-510779ビデオストリームにおけるフィラーデータユニットの処理
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-15
(54)【発明の名称】ビデオストリームにおけるフィラーデータユニットの処理
(51)【国際特許分類】
   H04N 19/70 20140101AFI20230308BHJP
   H04N 19/30 20140101ALI20230308BHJP
【FI】
H04N19/70
H04N19/30
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022542123
(86)(22)【出願日】2021-01-08
(85)【翻訳文提出日】2022-07-15
(86)【国際出願番号】 US2021012840
(87)【国際公開番号】W WO2021142372
(87)【国際公開日】2021-07-15
(31)【優先権主張番号】62/959,108
(32)【優先日】2020-01-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(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)【発明者】
【氏名】ザン,カイ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA31
5C159MC11
5C159ME01
5C159PP04
5C159RC24
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
サブピクチャ、スライス、及びタイルのための制約、制限、及びシグナリングを含むビデオコーディング及びエンコーディングのための方法、デバイス、及びシステムが記載される。ビデオ処理の方法の一例は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行するステップを含む。規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定める。サブビットストリーム抽出プロセスは、ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成される。規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める。
【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、前記サブビットストリーム抽出プロセスは、前記ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、
前記規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、前記VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める、
方法。
【請求項2】
前記VCL NALユニットは、前記VCL NALユニットが属するレイヤの識別子に基づき、取り除かれる、
請求項1に記載の方法。
【請求項3】
前記識別子は、nuh_layer_idである、
請求項2に記載の方法。
【請求項4】
前記ビットストリームは、フィラーペイロードを伴ったSEIメッセージを含むSEI NALユニットが、前記フィラーペイロードとは異なるペイロードを伴ったSEIメッセージを含まないことを定めるフォーマット規則に従う、
請求項1に記載の方法。
【請求項5】
前記ビットストリームは、フィラーペイロードを伴ったSEIメッセージを含むSEI NALユニットが、任意の他のペイロードを伴った他のSEIメッセージを除くよう構成されることを定めるフォーマット規則に従う、
請求項1に記載の方法。
【請求項6】
前記VCL NALユニットは、最大1つの関連するフィラーNALユニットを有する、
請求項1に記載の方法。
【請求項7】
ビデオ処理の方法であって、
ビデオのビデオユニットと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、
前記フォーマット規則は、前記ビデオユニットが可逆モードで又は不可逆モードでコーディングされるかどうかを示す第1シンタックス要素を前記ビットストリームが含むことを定め、
前記ビデオユニットに適用されるパレットモードでのエスケープサンプルを示す第2シンタックス要素のシグナリングは、前記第1シンタックス要素の値に基づき選択的に含まれる、
方法。
【請求項8】
前記エスケープサンプルの二値化方法は、前記第1シンタックス要素に基づく、
請求項7に記載の方法。
【請求項9】
前記エスケープサンプルの算術コーディングにおけるコンテキストコーディングの決定は、フラグに基づく、
請求項7に記載の方法。
【請求項10】
前記ビデオユニットは、コーディングユニット(CU)又はコーディングツリーユニット(CTU)である、
請求項7乃至9のうちいずれか一項に記載の方法。
【請求項11】
前記変換は、前記ビデオを前記ビットストリームの表現からデコーディングすることを有する、
請求項1乃至10のうちいずれか一項に記載の方法。
【請求項12】
前記変換は、前記ビデオを前記ビットストリームの表現にエンコーディングすることを有する、
請求項1乃至10のうちいずれか一項に記載の方法。
【請求項13】
前記変換は、前記ビットストリームを前記ビデオから生成することを有し、当該方法は、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップを更に有する、
請求項1乃至10のうちいずれか一項に記載の方法。
【請求項14】
ビデオを表すビットストリームをコンピュータ可読記録媒体に記憶する方法であって、
請求項1乃至10のうちいずれか一項に記載の方法に従ってビデオからビットストリームを生成するステップと、
前記ビットストリームを前記コンピュータ可読記録媒体に書き込むステップと
を有する方法。
【請求項15】
請求項1乃至14のうちいずれか一項に記載の方法を実装するよう構成されるプロセッサを有するビデオ処理装置。
【請求項16】
命令を記憶しているコンピュータ可読媒体であって、
前記命令は、実行されるときに、プロセッサに、請求項1乃至14のうちいずれか一項に記載の方法を実施させる、
コンピュータ可読媒体。
【請求項17】
請求項1乃至14のうちいずれか一項に記載の方法に従って生成された前記ビットストリームの表現を記憶しているコンピュータ可読媒体。
【請求項18】
ビットストリーム表現を記憶するビデオ処理装置であって、
請求項1乃至14のうちいずれか一項に記載の方法を実装するよう構成されるビデオ処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
適用される特許法及び/又はパリ条約に従う規則の下で、本願は、2020年1月9日付けで出願された米国特許仮出願第62/959108号の優先権及びその利益を適宜請求するようなされる。法の下での全ての目的のために、上記の出願の全開示は、本願の開示の部分として参照により援用される。
【0002】
[技術分野]
本特許明細書は、イメージ及びビデオのコーディング及びデコーディングに関係がある。
【背景技術】
【0003】
デジタルビデオは、インターネット及び他のデジタル通信網で最大のバンド幅使用を占めている。ビデオを受信及び表示することができるユーザ機器の接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は増え続けることが予想される。
【発明の概要】
【0004】
本特許明細書は、ビデオエンコーディング及びデコーディングのためのビデオエンコーダ及びデコーダによって使用され得る技術を開示し、サブピクチャ、スライス、及びタイルのための制約、制限、及びシグナリングを含む。
【0005】
一例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、フォーマット規則に従って1つ以上のアクセスユニットを含み、フォーマット規則は、動作点(Operation Point,OP)に適用する第1メッセージ及び第2メッセージが、第1メッセージがデコーディング順において第2メッセージに先行するようにアクセスユニット内に存在する順序を指定する。
【0006】
他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、フォーマット規則に従って1つ以上のアクセスユニットを含み、フォーマット規則は、動作点(OP)に適用する複数のメッセージが、複数のメッセージのうちの第1メッセージがデコーディング順において複数のメッセージのうちの第2メッセージに先行するようにアクセスユニット内に存在する順序を指定する。
【0007】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ピクチャを含むビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、第1フラグの指示が前記ピクチャに関連したピクチャヘッダの最初にシグナリングされることを定め、前記第1フラグは、前記ピクチャがイントラランダムアクセスポイント(Intra Random Access Point,IRAP)ピクチャ又は漸次デコーディングリフレッシュ(Gradual Decoding Refresh,GDR)ピクチャであるかどうかを示す。
【0008】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のピクチャを含むビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、1つ以上のピクチャの中のピクチャのコーディングが、漸次デコーディングリフレッシュタイプを有するコーディングされたスライスネットワーク抽象化レイヤ(Network Abstraction Layer,NAL)ユニットを含むこと及び当該ピクチャが混合タイプのNALユニットを含むことを示すフラグと関連することを許さない。
【0009】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のピクチャを含むビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、1つ以上のピクチャの中のピクチャのコーディングが、漸次デコーディングリフレッシュタイプを有するコーディングされたスライスネットワーク抽象化レイヤ(NAL)ユニットを含むこと及び当該ピクチャが混合タイプのNALユニットを含まないことを示すフラグと関連することを許す。
【0010】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのピクチャとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームは、第1シンタックス要素がピクチャに関連したピクチャパラメータセット(Picture Parameter Set,PPS)でシグナリングされるかどうかを定めるフォーマット規則に従い、ピクチャは、スライスタイプとともに1つ以上のスライスを含み、第1シンタックス要素は、第1シンタックス要素がゼロに等しいことによりスライスタイプがピクチャヘッダでシグナリングされることを示し、さもなければスライスタイプがスライスヘッダでシグナリングされることを示す。
【0011】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのピクチャとビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、変換はインループフィルタリングプロセスを含み、規則は、インループフィルタリングプロセスに関係がある垂直仮想境界の総数及び水平仮想境界の総数がピクチャレベル又はシーケンスレベルでシグナリングされることを定める。
【0012】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、1つ以上のピクチャを含むビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、他のレイヤからの参照ピクチャを使用する1つのレイヤ内のピクチャのコーディングを、前記他のレイヤからの前記参照ピクチャが前記ビットストリームに存在するかどうかを示す第1シンタックス要素に基づき条件付きで許可し、前記第1シンタックス要素は、前記ピクチャに関連したパラメータセットの識別子がゼロに等しくないかどうかを示す第2シンタックス要素に基づき条件付きで、ビットストリームでシグナリングされる。
【0013】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのピクチャとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、(a)ピクチャ内のコーディングツリーユニット(Coding Tree Unit,CTU)をデコーディングする前のコンテキスト変数の同期化プロセス、及び(b)CTUをデコーディングした後のコンテキスト変数の保存プロセスを有効にする第1シンタックス要素を定義し、第1シンタックス要素は、ピクチャに関連したシーケンスパラメータセット(Sequence Parameter Set,SPS)でシグナリングされる。
【0014】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのピクチャとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、タイル又はタイル特有のCTU行のためのエントリポイントオフセットのシグナリングがピクチャのスライスヘッダに存在するかどうかを示すシンタックス要素を定義し、シンタックス要素は、ピクチャに関連したシーケンスパラメータセット(SPS)でシグナリングされる。
【0015】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、規則は、ビデオに関連したビデオパラメータセット(Video Parameter Set,VPS)内の出力レイヤセット(Output Layer Set,OLS)仮説参照デコーダ(Hypothetical Reference Decoder,HRD)のパラメータの数を示す第1シンタックス要素が第1の所定閾よりも小さいことを定める。
【0016】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、規則は、ビデオに関連したビデオパラメータセット(VPS)内のプロファイル/ティア/レベル(Profile/Tier/Level,PTL)シンタックス構造の数を示すシンタックス要素が所定閾よりも小さいことを定める。
【0017】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、規則は、ビデオパラメータセット(VPS)内のデコーディングピクチャバッファパラメータシンタックス構造の数を示す第1シンタックス要素が、VPSによって指定されたレイヤの数を示す第2シンタックス要素以下でなければならないことを定める。
【0018】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、規則は、終端ネットワーク抽象化レイヤ(NAL)ユニットがビットストリームでのシグナリング又は外部手段を通じた供給によってデコーダに利用可能にされることを許す。
【0019】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、ビットストリーム内の各レイヤがレイヤ間(inter-layer)予測を使用するよう構成されることを示す、シンタックス要素がゼロに等しいことにより、各レイヤを、1つしかサブピクチャを含まないように制限する。
【0020】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオとビデオのビットストリームとの間の変換を規則に従って実行するステップを含み、規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、サブビットストリーム抽出プロセスは、ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、規則は、抽出中に、ビデオコーディングレイヤ(Video Coding Layer,VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める。
【0021】
更なる他の例となる態様では、ビデオ処理方法が開示される。方法は、ビデオのビデオユニットとビデオのビットストリームとの間の変換を実行するステップを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、ビデオユニットが可逆モードで又は不可逆モードでコーディングされるかどうかを示す第1シンタックス要素をビットストリームが含むことを定め、ビデオユニットに適用されるパレットモードでのエスケープサンプルを示す第2シンタックス要素のシグナリングは、第1シンタックス要素の値に基づき選択的に含まれる。
【0022】
更なる他の例となる態様では、ビデオエンコーダ装置が開示される。ビデオエンコーダは、上記の方法を実装するよう構成されたプロセッサを有する。
【0023】
更なる他の例となる態様では、ビデオデコーダ装置が開示される。ビデオデコーダは、上記の方法を実装するよう構成されたプロセッサを有する。
【0024】
更なる他の例となる態様では、コードを記憶しているコンピュータ可読媒体が開示される。コードは、本明細書で記載される方法の1つを、プロセッサにより実行可能なコードの形で具現化する。
【0025】
これらの及び他の特徴は、本明細書の全体にわたって記載される。
【図面の簡単な説明】
【0026】
図1】ルーマコーディングツリーユニット(CTU)を含むピクチャをパーティション化する例を示す。
図2】ルーマCTUを含むピクチャをパーティション化する他の例を示す。
図3】ピクチャのパーティション化の例を示す。
図4】ピクチャのパーティション化の他の例を示す。
図5】開示される技術が実装され得るビデオ処理システムの例のブロック図である。
図6】ビデオ処理に使用されるハードウェアプラットフォームの例のブロック図である。
図7】本開示のいくつかの実施形態に係るビデオコーディングシステムを表すブロック図である。
図8】本開示のいくつかの実施形態に係るエンコーダを表すブロック図である。
図9】本開示のいくつかの実施形態に係るデコーダを表すブロック図である。
図10】ビデオ処理の方法の例のフローチャートを示す。
図11】ビデオ処理の方法の例のフローチャートを示す。
図12】ビデオ処理の方法の例のフローチャートを示す。
図13】ビデオ処理の方法の例のフローチャートを示す。
図14】ビデオ処理の方法の例のフローチャートを示す。
図15】ビデオ処理の方法の例のフローチャートを示す。
図16】ビデオ処理の方法の例のフローチャートを示す。
図17】ビデオ処理の方法の例のフローチャートを示す。
図18】ビデオ処理の方法の例のフローチャートを示す。
図19】ビデオ処理の方法の例のフローチャートを示す。
図20】ビデオ処理の方法の例のフローチャートを示す。
図21】ビデオ処理の方法の例のフローチャートを示す。
図22】ビデオ処理の方法の例のフローチャートを示す。
図23】ビデオ処理の方法の例のフローチャートを示す。
図24】ビデオ処理の方法の例のフローチャートを示す。
図25】ビデオ処理の方法の例のフローチャートを示す。
図26】ビデオ処理の方法の例のフローチャートを示す。
【発明を実施するための形態】
【0027】
セクション見出しは、理解を簡単にするために本明細書で使用されているのであって、各セクションで開示されている技術及び実施形態の適用可能性をそのセクションにのみ制限するものではない。更に、H.266という用語は、開示されている技術の範囲を限定するためではなく、理解を容易にするためにのみ、いくつかの記載で使用されている。そのようなものとして、本明細書で記載される技術は、他のビデオコーデックプロトコル及び設計にも適用可能である。
【0028】
[1.導入]
本明細書は、ビデオコーディング技術に関係がある。具体的に、それは、サブピクチャ、タイル、及びスライスのシグナリングに関する。アイデアは、個別的に又は様々な組み合わせで、マルチレイヤビデオコーディング、例えば、開発中のVVC(Versatile Video Coding)、をサポートするあらゆるビデオコーディング標準又は非標準ビデオコーデックにも適用されてよい。
【0029】
[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
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
【0030】
[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)がVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Model)と呼ばれる参照ソフトウェアに置かれてきた。JVET会議は、四半期ごとに1度同時に開催され、新しいコーディング標準規格では、HEVCと比較してビットレートを50%削減することを目標としている。新しいビデオコーディング標準規格は、2018年4月のJVET会議でVVC(Versatile Video Coding)と公式に命名され、VVCテストモデル(VVC Test Model,VTM)の最初のバージョンがその時にリリースされた。VVC標準化に寄与するに貢献する継続的な取り組みがあるため、毎回のJVET会議で新しいコーディング手法がVVC標準に採用されている。その後、VVCワーキングドラフト及びテストモデルVTMは、毎回の会議の後で更新されている。VVCプロジェクトは現在、2020年7月の会議で技術的完了(FDIS)を目指している。
【0031】
[3.1.HEVCでのピクチャパーティション化手法]
HEVCは、最大転送ユニット(Maximum Transfer Unit,MTU)サイズマッチング、並列処理、及び削減されたエンド間遅延に適用され得る4つの異なるピクチャパーティション化手法、つまり、レギュラースライス(regular slices)、依存性スライス(dependent slices)、タイル、及び波面並列処理(Wavefront Parallel Processing,WPP)を含む。
【0032】
レギュラースライスは、H.264/AVCと同様である。各レギュラースライスは、それ自身のNALユニットにカプセル化され、ピクチャ内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)及びスライス境界にわたるエントロピコーディング依存性は、無効にされる。よって、レギュラースライスは、(ループフィルタリング動作による相互依存性が依然として存在する可能性があるとはいえ)同じピクチャ内の他のレギュラースライスから独立して再構成され得る。
【0033】
レギュラースライスは、H.264/AVCにおいても事実上同じ形式で利用可能である並列化に使用され得る唯一のツールである。レギュラースライスに基づいた並列化は、プロセッサ間又はコア間の通信をそれほど必要としない(予測的にコーディングされたピクチャをデコーディングするときの動き補償のためのプロセッサ間又はコア間データ共有を除く。これは、通常、ピクチャ内予測によるプロセッサ間又はコア間データ共有よりもはるかに重い。)。しかし、同じ理由により、レギュラースライスの使用は、スライスヘッダのビットコストにより、かつ、スライス境界にわたる予測の欠如により、コーディングオーバーヘッドを大きくする可能性がある。更に、レギュラースライスは(後述される他のツールとは対照的に)、レギュラースライスのピクチャ内の独立性と、各レギュラースライスがそれ自身のNALユニットにカプセル化されることとにより、MTUサイズ要件に一致するビットストリームパーティション化のための重要なメカニズムとしても機能する。多くの場合に、並列化の目標と、MTUサイズマッチングの目標とは、ピクチャ内のスライスレイアウトに対して矛盾する要求を突きつける。この解決法の実現は、後述される並列化ツールの開発につながった。
【0034】
依存性スライスは、短いスライスヘッダを有し、いずれのピクチャ内予測も損なわずにツリーブロック境界でのビットストリームのパーティション化を可能にする。基本的に、依存性スライスは、レギュラースライス全体のエンコーディングが終了する前にレギュラースライスの一部が送出されることを可能にすることによって、削減されたエンド間遅延をもたらすように、複数のNALユニットへのレギュラースライスのフラグメンテーションを提供する。
【0035】
WPPでは、ピクチャは、コーディングツリーブロック(CTB)の単一行にパーティション化される。エントロピデコーディング及び予測は、他のパーティション内のCTBからのデータを使用することを許される。並列処理は、CTB行の並列デコーディングを通じて可能であり、CTB行のデコーディングの開始は、対象CTBがデコーディングされる前に対象CTBの右上にあるCTBに関するデータが利用可能であることを確かにするために、CTB2つ分だけ遅延される。このスタッガードスタート(グラフィカルで表現される場合に波面のように見える。)を用いると、並列化は、ピクチャにCTB行が含まれているのと同じ数のプロセッサ/コアにより可能である。ピクチャ内の隣接するツリーブロック行間のピクチャ内予測が認められているので、ピクチャ内予測を有効にするための必要なプロセッサ間/コア間通信は、かなりの量になる可能性がある。WPPパーティション化は、それが適用されない場合と比較して、追加のNALユニットの生成をもたらさないので、WPPは、MTUサイズマッチングのためのツールではない。しかし、MTUサイズマッチングが必要とされる場合には、レギュラースライスが、一定のコーディングオーバーヘッドを有して、WPPとともに使用され得る。
【0036】
タイルは、ピクチャをタイル列及び行にパーティション化する水平及び垂直境界を定義する。タイル列は、ピクチャの上からピクチャの下まで伸びている。同様に、タイル行は、ピクチャの左からピクチャの右まで伸びている。ピクチャ内のタイルの数は、単純に、タイル列の数とタイル行の数とのかけ算として求められ得る。
【0037】
CTBのスキャン順序は、ピクチャのタイルラスタスキャンの順序における次のタイルの左上CTBをデコーディングする前に、(タイルのCTBラスタスキャンの順序において)タイル内でローカルであるよう変更される。レギュラースライスと同様に、タイルは、ピクチャ内予測の依存関係とともに、エントロピデコーディングの依存関係を壊す。しかし、それらは、個々のNALユニットに含まれる必要がない(この点ではWPPと同じ)ので、タイルは、MTUサイズマッチングに使用され得ない。各タイルは、1つのプロセッサ/コアによって処理することができ、隣接するタイルをデコーディングする処理ユニット間のピクチャ内予測に必要とされるプロセッサ間/コア間通信は、スライスが1よりも多いタイルにまたがっている場合の共有スライスヘッダの伝達と、再構成されたサンプル及びメタデータのフィルタリングに関連した共有とに制限される。1よりも多いタイル又はWPPセグメントがスライスに含まれる場合に、スライス内の最初の1つ以外の各タイル又はWPPセグメントのためのエントロピポイントバイトオフセットは、スライスヘッダでシグナリングされる。
【0038】
簡単のために、4つの異なるピクチャパーティション化手法の適用に対する制限は、HEVCで定められている。所与の、コーディングされたビデオシーケンスは、HEVCで定められているプロファイルのほとんどについてタイル及び波面の両方を含むことができない。各スライス及びタイルについて、次の条件のうちの一方又は両方が満たされなければならない:1)スライス内の全てのコーディングされたツリーブロックは、同じタイルに属する;2)タイル内の全てのコーディングされたツリーブロックは、同じスライス内に属する。最後に、波面セグメントは、厳密に1つのCTB行を含み、WPPが使用される場合に、スライスがCTB行内で始まるならば、それは同じCTB行で終わるべきである。
【0039】
HEVCに対する最終の修正は、http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zipから入手することができるJCT-VC出力文書JCTVC-AC1005,J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang (editors),"HEVC Additional Supplemental Enhancement Information (Draft 4)",2017年10月24日で規定されている。この修正が含まれることで、HEVCは、3つのMCTS関連SEIメッセージ、つまり、一時MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ、及びMCTS抽出情報ネスティングSEIメッセージを規定する。
【0040】
一時MCTS SEIメッセージは、ビットストリーム内のMCTSの存在を示し、MCTSをシグナリングする。各MCTSについて、動きベクトルは、MCTS内の完全サンプル位置を及び補間のためにMCTS内の完全サンプル位置のみを必要とする分数サンプル位置を指し示すよう制限され、MCTSの外にあるブロックから導出される時間動きベクトル予測(temporal motion vector prediction)のための動きベクトル候補の利用は、許可されない。このようにして、各MCTSは、MCTSに含まれないタイルの存在なしで独立してデコーディングされ得る。
【0041】
MCTS抽出情報セットSEIメッセージは、MCTSセットのための適合(conforming)ビットストリームを生成するためにMCTSサブビットストリーム(SEIメッセージのセマンティクスの部分として指定される)で使用され得る補足情報を提供する。情報は、複数の抽出情報セットから成り、各抽出情報セットは、複数のMCTSセットを定義し、MCTSサブビットストリーム抽出プロセスの間に使用される置換VPS、SPS、及びPPSのRBSPバイトを含む。MCTSサブビットストリーム抽出プロセスに従ってサブビットストリームを抽出する場合に、パラメータセット(VPS、SPS、及びPPS)は、書き換え又は置換される必要があり、スライスヘッダは、スライスアドレスに関係したシンタックス要素(first_slice_segment_in_pic_flag及びslice_segment_addressを含む)の1つ又は全部が通常は異なる値を有する必要があるので、わずかに更新される必要がある。
【0042】
[3.2.VVCでのピクチャのパーティション化]
VVCでは、ピクチャは、1つ以上のタイル行及び1つ以上のタイル列に分割される。タイルは、ピクチャの長方形領域をカバーするCTUの連続である。タイル内のCTUは、そのタイル内でラスタスキャン順にスキャンされる。
【0043】
スライスは、整数個の完全なタイル、又はピクチャのタイル内の整数個の連続した完全なCTU行から成る。
【0044】
スライスの2つのモード、つまり、ラスタスキャンスライスモード及び長方形スライスモードがサポートされる。ラスタスキャンスライスモードでは、スライスは、ピクチャのタイルラスタスキャンにおける完全なタイルの連続を含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する複数の完全なタイル、又はピクチャの長方形領域を集合的に形成する1つのタイルの複数の連続した完全なCTU行を含む。長方形スライス内のタイルは、そのスライスに対応する長方形領域内でタイルラスタスキャン順にスキャンされる。
【0045】
サブピクチャは、ピクチャの長方形領域を集合的にカバーする1つ以上のスライスを含む。
【0046】
図1は、ピクチャのラスタスキャンスライスパーティション化の例を示し、ピクチャは、12個のタイル及び3つのラスタスキャンスライスに分割されている。
【0047】
図2は、ピクチャの長方形スライスパーティション化の例を示し、ピクチャは、24個のタイル(6つのタイル列及び4つのタイル行)及び9個の長方形スライスに分割されている。
【0048】
図3は、タイル及び長方形スライスにパーティション化されたピクチャの例を示し、ピクチャは、4つのタイル(2つのタイル列及び2つのタイル行)及び4つの長方形スライスに分割されている。
【0049】
図4は、ピクチャのサブピクチャパーティション化の例を示し、ピクチャは、18個のタイルにパーティション化されており、そのうちの12個は、4×4CTUの1つのスライスを夫々がカバーしながら左手側にあり、そのうちの6個は、2×2CTUの2つの垂直にスタックされたスライスを夫々がカバーしながら右手側にあり、けっかとして、寸法が異なる24個のスライス及び24個のサブピクチャが得られる(各スライスはサブピクチャである)。
【0050】
[3.3.VVCでのサブピクチャ、タイル、及びスライスのシグナリング]
最新のVVCドラフトテキストでは、サブピクチャの情報は、サブピクチャレイアウト(すなわち、ピクチャごとのサブピクチャの数並びに各ピクチャの位置及びサイズ)を含み、他のシーケンスレベルサブピクチャ情報は、SPSでシグナリングされる。SPSでシグナリングされるサブピクチャの順序は、サブピクチャインデックスを定義する。サブピクチャIDのリストは、サブピクチャごとに1つであり、例えば、SPSで又はPPSで、明示的にシグナリングされ得る。
【0051】
VVCでのタイルは、HEVCで見られるのと概念的に同じであり、すなわち、各ピクチャは、タイル列及びタイル行にパーティション化されるが、タイルのシグナリングのためのPPSでのシンタックスが異なっている。
【0052】
VVCでは、スライスモードもPPSでシグナリングされる。スライスモードが長方形スライスモードである場合に、ピクチャごとのスライスレイアウト(つまり、ピクチャごとのスライスの数並びに各スライスの位置及びサイズ)は、PPSでシグナリングされる。PPSでシグナリングされるピクチャ内の長方形スライスの順序は、ピクチャレベルスライスインデックスを定義する。サブピクチャレベルスライスインデックスは、ピクチャレベルスライスインデックスの昇順でのサブピクチャ内のスライスの順序として定義される。長方形スライスの位置及びサイズは、(各サブピクチャが1つのスライスしか含まない場合に)SPSでシグナリングされるサブピクチャ位置及びサイズに基づいて、あるいは、(サブピクチャが1よりも多いスライスを含み得る場合に)PPSでシグナリングされるタイル位置及びサイズに基づいて、シグナリング/導出される。スライスモードがラスタスキャンスライスモードである場合には、HEVCで見られるのと同様に、ピクチャ内のスライスのレイアウトは、様々な詳細を有してスライス自体でシグナリングされる。
【0053】
本明細書の発明に最も関連する最新のVVCドラフトテキストにおけるSPS、PPS、及びスライスヘッダシンタックス及びセマンティクスは、次の通りである。
【0054】
7.3.2.3 シーケンスパラメータセットRBSPシンタックス
【表1】
7.4.3.3 シーケンスパラメータセットRBSPセマンティクス
...
1に等しいsubpics_present_flagは、サブピクチャパラメータがSPS RBSPシンタックスに存在することを定める。0に等しいsubpics_present_flagは、サブピクチャパラメータがSPS RBSPシンタックスに存在しないことを定める。
注記2 - ビットストリームがサブビットストリーム抽出プロセスの結果であり、サブビットストリーム抽出プロセスへの入力ビットストリームのサブピクチャのサブセットしか含まない場合に、SPSのRBSP内でsubpics_present_flagの値を1に等しくセットすることが必要とされ得る。
sps_num_subpics_minus1に1をプラスしたものは、サブピクチャの数を指定する。sps_num_subpics_minus1は、0から254の範囲になければならない。存在しない場合には、sps_num_subpics_minus1の値は0に等しいと推測される。
subpic_ctu_top_left_x[i]は、CtbSizeYのユニット内のi番目のサブピクチャの左上CTUの水平位置を指定する。シンタックス要素の長さは、Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY))ビットである。存在しない場合には、subpic_ctu_top_left_x[i]の値は0に等しいと推測される。
subpic_ctu_top_left_y[i]は、CtbSizeYのユニット内のi番目のサブピクチャの左上CTUの垂直位置を指定する。シンタックス要素の長さは、Ceil(Log2(pic_height_max_in_luma_samples/CtbSizeY))ビットである。存在しない場合には、subpic_ctu_top_left_y[i]の値は0に等しいと推測される。
subpic_width_minus1[i]に1をプラスしたものは、CtbSizeYのユニット内のi番目のサブピクチャの幅を指定する。シンタックス要素の長さは、Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY))ビットである。存在しない場合には、subpic_width_minus1[i]の値はCeil(pic_width_max_in_luma_samples/CtbSizeY)-1に等しいと推測される。
subpic_height_minus1[i]に1をプラスしたものは、CtbSizeYのユニット内のi番目のサブピクチャの高さを指定する。シンタックス要素の長さは、Ceil(Log2(pic_height_max_in_luma_samples/CtbSizeY))ビットである。存在しない場合には、subpic_height_minus1[i]の値はCeil(pic_height_max_in_luma_samples/CtbSizeY)-1に等しいと推測される。
1に等しいsubpic_treated_as_pic_flag[i]は、CLVS内の各コーディングされたピクチャのi番目のサブピクチャが、インループフィルタリング動作を除くデコーディングプロセスでピクチャとして扱われることを定める。0に等しいsubpic_treated_as_pic_flag[i]は、CLVS内の各コーディングされたピクチャのi番目のサブピクチャが、インループフィルタリング動作を除くデコーディングプロセスでピクチャとして扱われないことを定める。存在しない場合には、subpic_treated_as_pic_flag[i]の値は0に等しいと推測される。
1に等しいloop_filter_across_subpic_enabled_flag[i]は、インループフィルタリング動作がCLVS内の各コーディングされたピクチャのi番目のサブピクチャの境界にわたって実行され得ることを定める。0に等しいloop_filter_across_subpic_enabled_flag[i]は、インループフィルタリング動作がCLVS内の各コーディングされたピクチャのi番目のサブピクチャの境界にわたって実行されないことを定める。存在しない場合には、loop_filter_across_subpic_enabled_pic_flag[i]の値は1に等しいと推測される。
次の制約が適用されることがビットストリーム適合性の要件である:
- いずれか2つのサブピクチャsubpicA及びsubpicBについて、subpicAのサブピクチャインデックスがsubpicBのそれよりも小さい場合に、subPicAの任意のコーディングされたスライスNALユニットは、デコーディング順でsubPicBの如何なるコーディングされたスライスNALユニットにも先行すべきである。
- サブピクチャの形状は、各サブピクチャが、デコーディングされるときに、ピクチャ境界から成るか又は前にデコーディングされたサブピクチャの境界から成るその左境界全体及び上境界全体を有するようなものでなければならない。
1に等しいsps_subpic_id_present_flagは、サブピクチャIDマッピングがSPSに存在することを定める。0に等しいsps_subpic_id_present_flagは、サブピクチャIDマッピングがSPSに存在しないことを定める。
1に等しいsps_subpic_id_signalling_present_flagは、サブピクチャIDマッピングがSPSでシグナリングされることを定める。0に等しいsps_subpic_id_signalling_present_flagは、サブピクチャIDマッピングがSPSでシグナリングされないことを定める。存在しない場合には、sps_subpic_id_signalling_present_flagの値は0に等しいと推測される。
sps_subpic_id_len_minus1に1をプラスしたものは、シンタックス要素sps_subpic_id[i]を表すために使用されるビットの数を指定する。sps_subpic_id_len_minus1の値は、0以上15以下の範囲になければならない。
sps_subpic_id[i]は、i番目のサブピクチャのサブピクチャIDを指定する。sps_subpic_id[i]シンタックス要素の長さは、sps_subpic_id_len_minus1+1ビットである。存在しない場合には、かつ、sps_subpic_id_present_flagが0に等しい場合には、sps_subpic_id[i]の値は、0以上sps_num_subpics_minus1以下の範囲内の各iについてiに等しいと推測される。
...
7.3.2.4 ピクチャパラメータセットRBSPシンタックス
【表2】
7.4.3.4 ピクチャパラメータセットRBSPセマンティクス
...
1に等しいpps_subpic_id_signalling_present_flagは、サブピクチャIDマッピングがPPSでシグナリングされることを定める。0に等しいpps_subpic_id_signalling_present_flagは、サブピクチャIDマッピングがPPSでシグナリングされないことを定める。sps_subpic_id_present_flagが0であるか、又はsps_subpic_id_signalling_present_flagが1に等しい場合に、pps_subpic_id_signalling_present_flagは0に等しくなければならない。
pps_num_subpics_minus1に1をプラスしたものは、PPSを参照するコーディングされたピクチャ内のサブピクチャの数を指定する。
pps_num_subpic_minus1の値がsps_num_subpics_minus1に等しくなければならないことは、ビットストリーム適合性の要件である。
pps_subpic_id_len_minus1に1をプラスしたものは、シンタックス要素pps_subpic_id[i]を表すために使用されるビットの数を指定する。pps_subpic_id_len_minus1の値は、0以上15以下の範囲になければならない。
pps_subpic_id_len_minus1の値が、CLVS内のコーディングされたピクチャによって参照される全てのPPSについて同じでなければならないことは、ビットストリーム適合性の要件である。
pps_subpic_id[i]は、i番目のサブピクチャのサブピクチャIDを指定する。pps_subpic_id[i]シンタックス要素の長さは、pps_subpic_id_len_minus1+1ビットである。
1に等しいno_pic_partition_flagは、PPSを参照する各ピクチャに適用されるピクチャパーティション化がないことを定める。0に等しいno_pic_partition_flagは、PPSを参照する各ピクチャが1よりも多いタイル又はスライスにパーティション化され得ることを定める。
no_pic_partition_flagの値が、CLVS内のコーディングされたピクチャによって参照される全てのPPSについて同じでなければならないことは、ビットストリーム適合性の要件である。
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をプラスしたものは、0以上num_exp_tile_columns_minus1-1以下の範囲内のiについて、CTBの単位でi番目のタイル列の幅を指定する。tile_column_width_minus1[num_exp_tile_columns_minus1]は、第6.5.1節で指定されるnum_exp_tile_columns_minus1以上のインデックスを有するタイル列の幅を導出するために使用される。存在しない場合には、tile_column_width_minus1[0]の値はPicWidthInCtbs-1に等しいと推測される。
tile_row_height_minus1[i]に1をプラスしたものは、0以上num_exp_tile_rows_minus1-1以下の範囲内のiについて、CTBの単位でi番目のタイル行の高さ幅を指定する。tile_row_height_minus1[num_exp_tile_rows_minus1]は、第6.5.1節で指定されるnum_exp_tile_rows_minus1以上のインデックスを有するタイル行の高さを導出するために使用される。存在しない場合には、tile_row_height_minus1[0]の値はPicHeightInCtbsY-1に等しいと推測される。
0に等しいrect_slice_flagは、各スライス内のタイルがラスタスキャン順にあり、スライス情報がPPSでシグナリングされないことを定める。1に等しいrect_slice_flagは、各スライス内のタイルがピクチャの長方形領域をカバーし、スライス情報がPPSでシグナリングされることを定める。存在しない場合には、rect_slice_flagは1に等しいと推測される。subpics_present_flagが1に等しい場合に、rect_slice_flagの値は1に等しくなければならない。
1に等しいsingle_slice_per_subpic_flagは、各サブピクチャがただ1つの長方形スライスから成ることを定める。0に等しいsingle_slice_per_subpic_flagは、各サブピクチャが1つ以上の長方形スライスから成ってもよいことを定める。subpics_present_flagが0に等しい場合には、single_slice_per_subpic_flagは0に等しくなければならない。single_slice_per_subpic_flagが1に等しい場合には、num_slices_in_pic_minus1はsps_num_subpics_minus1に等しいと推測される。
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に等しいと推測される。
0に等しいtile_idx_delta_present_flagは、tile_idx_deltaの値がPPSに存在せず、PPSを参照するピクチャ内の全ての長方形スライスが第6.5.1節で定義されているプロセスに従ってラスタ順に指定されることを定める。1に等しいtile_idx_delta_present_flagは、tile_idx_deltaの値がPPSに存在してもよく、PPSを参照するピクチャ内の全ての長方形スライスがtile_idx_deltaの値によって示された順序で指定されることを定める。
slice_width_in_tiles_minus1[i]に1をプラスしたものは、タイル列の単位でi番目の長方形スライスの幅を指定する。slice_width_in_tiles_minus1[i]の値は、0以上NumTileColumns-1以下の範囲になければならない。存在しない場合には、slice_width_in_tiles_minus1[i]の値は、第6.5.1節で指定されているように推測される。
slice_height_in_tiles_minus1[i]に1をプラスしたものは、タイル行の単位でi番目の長方形スライスの高さを指定する。slice_height_in_tiles_minus1[i]の値は、0以上NumTileRows-1以下の範囲になければならない。存在しない場合には、slice_height_in_tiles_minus1[i]の値は、第6.5.1節で指定されているように推測される。
num_slices_in_tile_minus1[i]に1をプラスしたものは、i番目のスライスが単一のタイルからのCTU行のサブセットを含む場合についての現在タイル内のスライスの数を指定する。num_slices_in_tile_minus1[i]の値は、0以上RowHeight[tileY]-1以下の範囲になければならない。なお、tileYは、i番目のスライスを含むタイル行インデックスである。存在しない場合には、num_slices_in_tile_minus1[i]の値は0に等しいと推測される。
slice_height_in_ctu_minus1[i]に1をプラスしたものは、i番目のスライスが単一のタイルからのCTU行のサブセットを含む場合について、CTU行の単位でi番目の長方形スライスの高さを指定する。slice_height_in_ctu_minus1[i]の値は、0以上RowHeight[tileY]-1以下の範囲になければならない。なお、tileYは、i番目のスライスを含むタイル行インデックスである。
tile_idx_delta[i]は、i番目の長方形スライスと(i+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に等しいと推測される。
...
7.3.7.1 一般的なスライスヘッダシンタックス
【表3】
7.4.8.1 一般的なスライスヘッダセマンティクス
...
slice_subpic_idは、スライスを含むサブピクチャのサブピクチャ識別子を指定する。slice_subpic_idが存在する場合には、変数SubPicIdxの値は、SubpicIdList[SubPicIdx]がslice_subpic_idに等しいようなものであるよう導出される。そうではない(slice_subpic_idが存在しない)場合には、変数SubPicIdxは、0に等しいよう導出される。ビットでのslice_subpic_idの長さは次の通りのである:
- sps_subpic_id_signalling_present_flagが1に等しい場合に、slice_subpic_idの長さは、sps_subpic_id_len_minus1+1に等しい。
- さもなければ、ph_subpic_id_signalling_present_flagが1に等しい場合に、slice_subpic_idの長さは、ph_subpic_id_len_minus1+1に等しい。
- さもなければ、pps_subpic_id_signalling_present_flagが1に等しい場合に、slice_subpic_idの長さは、pps_subpic_id_len_minus1+1に等しい。
- 上記以外の場合に、slice_subpic_idの長さは、Ceil(Log2(sps_num_subpics_minus1+1))に等しい。
slice_addressは、スライスのスライスアドレスを指定する。存在しない場合には、slice_addressの値は0に等しいと推測される。
rect_slice_flagが0に等しい場合に、次が適用される:
- スライスアドレスは、ラスタスキャンタイルインデックスである。
- slice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットである。
- slice_addressの値は、0以上NumTilesInPic-1以下の範囲になければならない。
そうではない(rect_slice_flagが1に等しい)場合に、次が適用される:
- スライスアドレスは、SubPicIdx番目のサブピクチャ内のスライスのスライスインデックスである。
- slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[SubPicIdx]))ビットである。
- slice_addressの値は、0以上NumSlicesInSubpic[SubPicIdx]-1以下の範囲になければならない。
次の制約が適用されることがビットストリーム適合性の要件である:
- rect_slice_flagが0に等しいか、又はsubpics_present_flagが0に等しい場合に、slice_addressの値は、同じコーディングされたピクチャの如何なる他のコーディングされたスライスNALユニットのslice_addressの値にも等しくてはならない。
- そうではない場合に、slice_subpic_id及びslice_addressの値の組は、同じコーディングされたピクチャの如何なる他のコーディングされたスライスNALユニットのslice_subpic_id及びslice_addressの値の組にも等しくてはならない。
- rect_slice_flagが0に等しいとき、ピクチャのスライスは、それらのslice_address値の昇順になければならない。
- ピクチャのスライスの形状は、各CTUが、デコーディングされるときに、ピクチャ境界から成るか又は前にデコーディングされたCTUの境界から成るその左境界全体及び上境界全体を有するべきであるようなものでなければならない。
num_tiles_in_slice_minus1に1をプラスしたものは、存在する場合に、スライス内のタイルの数を指定する。num_tiles_in_slice_minus1の値は、0以上NumTilesInPic-1以下でなければならない。
現在スライス内のCTUの数を指定する変数NumCtuInCurrSliceと、スライス内のi番目のCTBのピクチャラスタスキャンアドレスを指定する、0以上NumCtuInCurrSlice-1以下の範囲をとるiについてのリストCtbAddrInCurrSlice[i]とは、次のように導出される:
【数1】
変数SubPicLeftBoundaryPos、SubPicTopBoundaryPos、SubPicRightBoundaryPos、及びSubPicBotBoundaryPosは、次のように導出される:
【数2】
...
【0055】
[3.4.JVET-Q0075からの実施形態]
エスケープサンプル(escape samples)は、パレットモードで異常な場合を処理するために用いられる。
【0056】
エスケープサンプルの二値化は、現在のVTMでのEG3である。しかし、一様な分布信号については、固定長二値化が、ひずみ及びビットレートの両方の測定でEG3よりも優れている場合がある。
【0057】
JVET-Q0075は、エスケープサンプルに対して固定長二値化を使用することを提案しており、量子化及び逆量子化プロセスもそれに応じて変更される。
【0058】
提案されている方法でのエスケープサンプルの最大ビット深さは、量子化パラメータに依存し、次のように導出される:

max(1,bitDepth-(max(QpPrimeTsMin,Qp)-4)/6)
【0059】
ここで、bitDepthは、内部ビット深さであり、Qpは、現在の量子化パラメータ(QP)であり、QpPrimeTsMiは、変換スキップブロックのための最小QPであり、maxは、2つの入力の間で多い方の値を得る演算である。
【0060】
また、エスケープサンプルのための量子化プロセスでは、シフト演算しか必要とされない。escapeValを、デコーディングされたエスケープ値とし、reconを、エスケープサンプルの再構成された値とする。値は、次のように導出される:

shift=min(bitDepth-1,(max(QpPrimeTsMin,Qp)-4)/6)

recon=(escapeVal<<shift)
【0061】
保証すべきは、再構成された値のひずみが常に現在の設計のそれ以下であることである。つまり、((escapeVal*levelScale[qP%6])<<(qP/6)+32)>>6である。
【0062】
エンコーダで、量子化は次のように実施される:

escapeVal=(p+(1<<(shift-1)))>>shift

escapeVal=clip3(0,(1<<bd)-1,escapeVal)
【0063】
EG3と、逆量子化テーブル、1回の加算、1回の乗算、及び2回のシフト演算をともなう量子化とを使用する現在の設計と比較して、提案されている方法は、よりずっと簡単であり、たった1回のシフト演算子か必要としない。
【0064】
[3.5.JVET-Q0294からの実施形態]
不可逆及び可逆の混合コーディングで効率的な圧縮を達成するために、JVET-Q0294は、CTUが可逆又は不可逆のどちらのモードでコーディングされるかを示すために各コーディングツリーユニット(CTU)でフラグをシグナリングすることを提案している。CTUが可逆コーディングされる場合には、追加のCTUレベルフラグが、そのCTUのために使用される残差コーディング方法(レギュラー残差コーディング又は変換スキップ残差コーディングのどちらか一方)を指定するようシグナリングされる。
【0065】
[4.本明細書の解決法によって解決される技術的課題の例]
VVCでのサブピクチャ、タイル、及びスライスのシグナリングのための既存の設計には、次の課題がある:
1)sps_num_subpics_minus1のコーディングはu(8)であり、これは、ピクチャごとに256よりも多いサブピクチャを許さない。しかし、特定の用途では、ピクチャごとのサブピクチャの最大数は、256よりも大きい必要があり得る。
2)0に等しいsubpics_present_flag及び1に等しいsps_subpic_id_present_flagを有することが認められる。しかし、subpics_present_flagが0に等しいということは、CLVSにサブピクチャに関する情報が全くないことを意味するので、これには全く意味がない。
3)サブピクチャIDのリストは、サブピクチャの夫々について1つずつ、ピクチャヘッダ(PH)でシグナリングされ得る。しかし、サブピクチャIDのリストがPHでシグナリングされる場合、かつ、サブピクチャのサブセットがビットストリームから抽出される場合に、全てのPHは全て変更される必要がある。これは望ましくない。
4)現在、サブピクチャIDが、1に等しいsps_subpic_id_present_flag(あるいは、シンタックス要素の名称はsubpic_ids_explicitly_signalled_flagに変更される)によって、明示的にシグナリングされるよう指示される場合に、サブピクチャIDはどこにもシグナリングされない場合がある。サブピクチャIDが明示的にシグナリングされるよう指示される場合に、サブピクチャIDがSPS又はPPSのどちらか一方で明示的にシグナリングされる必要があるので、これには問題がある。
5)サブピクチャIDが明示的にシグナリングされない場合に、スライスヘッダシンタックス要素slice_subpic_idは、sps_num_subpics_minus1が0に等しいときを含め、subpics_present_flagが1に等しい限りは、依然としてシグナリングされる必要がある。しかし、slice_subpic_idの長さは、現在、Ceil(Log2(sps_num_subpics_minus1+1))ビットとして指定されているが、sps_num_subpics_minus1が0に等しい場合に0ビットになる。如何なる現在のシンタックス要素の長さも0ビットであることはできないので、これには問題がある。
6)サブピクチャの数並びにそれらのサイズ及び位置を含むサブピクチャレイアウトは、CLVS全体で変化しない。サブピクチャIDがSPS又はPPSで明示的にシグナリングされない場合でさえ、サブピクチャIDの長さは、スライスヘッダ内のサブピクチャIDシンタックス要素について、依然としてシグナリングされる必要がある。
7)rect_slice_flagが1に等しいときはいつでも、シンタックス要素slice_addressはスライスヘッダでシグナリングされ、サブピクチャ内のスライスの数(つまり、NumSlicesInSubpic[SubPicIdx])が1に等しいときを含め,スライスを含むサブピクチャ内のスライスインデックスを指定する。しかし、現在、rect_slice_flagが1に等しい場合に、slice_addressの長さは、Ceil(Log2(NumSlicesInSubpic[SubPicIdx]))ビットであるよう指定されているが、NumSlicesInSubpic[SubPicIdx]が1に等しいときには0ビットになる。如何なる現在のシンタックス要素の長さも0ビットであることはできないので、これには問題がある。
8)シンタックス要素no_pic_partition_flag及びpps_num_subpics_minus1の間には冗長性があるが、最新のVVCテキストには次の制約がある:sps_num_subpics_minus1が0よりも大きい場合に、no_pic_partition_flagの値は1に等しくなければならない。
9)CLVS内で、特定のサブピクチャ位置又はインデックスのサブピクチャID値は、ピクチャごとに変化する可能性がある。これが起こる場合に、原理上、サブピクチャは、同じレイヤ内の参照ピクチャを参照することによってインター予測を使用することはできない。しかし、現在、現在のVVC仕様でこれを禁止する制約がない。
10)現在のVVC設計では、参照ピクチャは、複数のアプリケーション、例えば、スケーラブルビデオコーディング及びマルチビュービデオコーディングをサポートするために、異なるレイヤ内のピクチャであってよい。サブピクチャが異なるレイヤに存在する場合には、レイヤ間予測を許可するか、それとも禁止するかは、検討される必要がある。
【0066】
[5.例となる技術及び実施形態]
上記の課題及び他を解決するために、以下で要約される方法が開示される。発明は、概要を説明するための例と見なされるべきであり、狭義に解釈されるべきではない。更に、これらの発明は、個別的に適用されても、又は任意の方法で組み合わされてもよい。
【0067】
次の略称は、JVET-P1001-vEにあるのと同じ意味を有する。
BP(buffering period)、BP SEI(supplemental enhancement information)、
PT(picture timing)、PT SEI、
AU(access unit)、
OP(operation point)、
DUI(decoding unit information)、DUI SEI、
NAL(network abstraction layer)、
NUT(NAL unit type)、
GDR(gradual decoding refresh)、
SLI(subpicture level information)、SLI SEI
【0068】
1)最初の問題を解決するために、ピクチャごとに256よりも多いサブピクチャを可能にするようsps_num_subpics_minus1のコーディングをu(8)からue(v)へ変更する。
a.更に、sps_num_subpics_minus1の値は、0以上Ceil(pic_width_max_in_luma_samples÷CtbSizeY)*Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1以下の範囲にあるよう制限される。
b.更に、ピクチャごとのサブピクチャの数は、レベルの定義において更に制限される。
【0069】
2)第2の課題を解決するために、「if(subpics_present_flag)」に関してシンタックス要素sps_subpic_id_present_flagのシグナリングを条件付け、つまり、シンタックス要素sps_subpic_id_present_flagは、subpics_present_flagが0に等しい場合にはシグナリングされず、sps_subpic_id_present_flagの値を、それが存在しない場合に0に等しいと推測する。
a.代替的に、シンタックス要素sps_subpic_id_present_flagは、subpics_present_flagが0に等しい場合に依然としてシグナリングされるが、値は、subpics_present_flagが0に等しい場合に、0に等しいことを求められる。
b.更に、シンタックス要素subpics_present_flag及びsps_subpic_id_present_flagの名称は、subpic_info_present_flag及びsubpic_ids_explicitly_signalled_flagに夫々変更される。
【0070】
3)第3の課題を解決するために、PHシンタックスでのサブピクチャIDのシグナリングは解除される。その結果、0以上sps_num_subpics_minus1以下の範囲内のiについて、SubpicIdList[i]は次のように導出される:
【数3】
【0071】
4)第4の課題を解決するために、サブピクチャIDは、サブピクチャが明示的にシグナリングされるよう指示される場合に、SPS又はPPSのどちらか一方でシグナリングされる。
a.これは、次の制約を加えることによって実現される:subpic_ids_explicitly_signalled_flagが0であるか、又はsubpic_ids_in_sps_flagが1に等しい場合に、subpic_ids_in_pps_flagは0に等しくなければならない。そうではない(subpic_ids_explicitly_signalled_flagが1であり、subpic_ids_in_sps_flagが0に等しい)場合に、subpic_ids_in_pps_flagは1に等しくなければならない。
【0072】
5)第5及び第6の課題を解決するために、サブピクチャIDの長さは、SPSフラグsps_subpic_id_present_flag(あるいは、subpic_ids_explicitly_signalled_flagと改名される)の値にかかわらず、SPSでシグナリングされるが、長さは、SPSに対するPPSのパージング依存性を回避するために、サブピクチャIDがPPSで明示的にシグナリングされる場合にPPSでもシグナリングされてよい。この場合に、長さは、スライスヘッダでサブピクチャIDの長さも指定し、サブピクチャIDさえ、SPS又はPPSで明示的にシグナリングされない。その結果、slice_subpic_idの長さは、存在する場合に、SPSでシグナリングされたサブピクチャID長さによっても指定される。
【0073】
6)代替的に、第5及び第6の課題を解決するために、フラグがSPSシンタックスに加えられ、その1の値は、SPSシンタックスでのサブピクチャID長さの存在を指定する。このフラグは、サブピクチャIDがSPS又はPPSで明示的にシグナリングされるかどうかを示すフラグの値から独立して存在する。このフラグの値は、subpic_ids_explicitly_signalled_flagが0に等しい場合に1又は0のどちらかに等しくなるが、フラグの値は、subpic_ids_explicitly_signalled_flagが1に等しい場合には1に等しくなければならない。このフラグが0に等しい、つまり、サブピクチャ長さが存在しない場合には、slice_subpic_idの長さは、Max(Ceil(Log2(sps_num_subpics_minus1+1)),1)ビットであるよう指定される(最新のVVCドラフトテキストでCeil(Log2(sps_num_subpics_minus1+1))ビットであるのとは対照的である)。
a.代替的に、このフラグは、subpic_ids_explicitly_signalled_flagが0に等しい場合にのみ存在し、subpic_ids_explicitly_signalled_flagが1に等しい場合には、このフラグの値は、1に等しいと推測される。
【0074】
7)第7の課題を解決するために、rect_slice_flagが1に等しい場合に、slice_addressの長さは、Max(Ceil(Log2(NumSlicesInSubpic[SubPicIdx])),1)ビットであるよう指定される。
a.代替的に、更に、rect_slice_flagが0に等しい場合にslice_addressの長さは、Ceil(Log2(NumTilesInPic))ビットであるのとは対照的に、Max(Ceil(Log2(NumTilesInPic)),1)ビットであるよう指定される。
【0075】
8)第8の課題を解決するために、「if(subpic_ids_in_pps_flag && pps_num_subpics_minus1>0)」に関してno_pic_partition_flagのシグナリングを条件付け、次の推測を加える:存在しない場合には、no_pic_partition_flagの値は、1に等しいと推測される。
a.代替的に、PPS内のタイル及びスライスシンタックスの後に、例えば、シンタックス要素entropy_coding_sync_enabled_flagの直前に、サブピクチャIDシンタックス(4つ全てのシンタックス要素)を移動し、それから、「if(no_pic_partition_flag)」に関してpps_num_subpics_minus1のシグナリングを条件付ける。
【0076】
9)第9の課題を解決するために、次の制約が指定される:各特定のサブピクチャインデックス(又は同等に、サブピクチャ位置)について、サブピクチャID値は、picAと同じレイヤ内のデコーディング順で前にあるピクチャ内のそれと比較して、ピクチャpicAで変化する場合に、picAがCLVSの最初のピクチャでない限りは、picAにあるサブピクチャは、IDR_W_RADL、IDR_N_LP、又はCRA_NUTに等しいnal_unit_typeを有するコーディングされたスライスNALユニットしか含むべきではない。
a.代替的に、上記の制約は、subpic_treated_as_pic_flag[i]が1に等しいサブピクチャインデックスについてのみ適用される。
b.代替的に、第9項及び第9a項の両方について、「IDR_W_RADL、IDR_N_LP、又はCRA_NUT」を「IDR_W_RADL、IDR_N_LP、CRA_NUT、RSV_IRAP_11、又はRSV_IRAP_12」に変更する。
c.代替的に、picAにあるサブピクチャは、他のタイプのコーディングされたスライスNALユニットを含み得るが、これらのコーディングされたスライスNALユニットは、イントラ予測、イントラブロックコピー(IBC)予測、及びパレットモード予測のうちの1つ以上しか使用しない。
d.代替的に、picAのサブピクチャ内の第1ビデオユニット(例えば、スライス、タイル、ブロック、など)は、前のピクチャ内の第2ビデオユニットを参照し得る。第2ビデオユニット及び第1ビデオユニットは、それら2つのサブピクチャIDが異なる可能性があるとしても、同じサブピクチャインデックスを有するサブピクチャ内にあってよいことが制約される。サブピクチャインデックスは、サブピクチャに割り当てられている一意の番号であり、CLVSにおいて変化することがない。
【0077】
10)特定のサブピクチャインデックス(又は同等に、サブピクチャ位置)について、サブピクチャインデックス又はサブピクチャID値とともにレイヤID値によって識別されるサブピクチャのうちのどれが参照として使用されることを許されているかの指示は、ビットストリームでシグナリングされ得る。
【0078】
11)多重レイヤの場合について、特定の条件(例えば、サブピクチャの数、サブピクチャの位置に依存し得る)が満足される場合に、異なるレイヤ内のサブピクチャからのレイヤ間予測(ILR)が許されるが、一方、特定の条件が満足されない場合には、ILRは無効にされる。
a.一例で、2つのレイヤ内の2つのサブピクチャが同じサブピクチャインデックス値を有するが、サブピクチャID値が異なる場合にさえ、レイヤ間予測は、特定の条件が満足される場合に依然として許され得る。
i.一例で、特定の条件は、「2つのレイヤが異なるビューオーダーインデックス/ビューオーダーID値に関連する場合」である。
b.第1レイヤ内の第1サブピクチャ及び第2レイヤ内の第2サブピクチャは、それら2つのサブピクチャが同じサブピクチャインデックスを有する場合に、コロケート(collocated)位置及び/又は有理数の幅/高さになければならないことが制約され得る。
c.第1レイヤ内の第1サブピクチャ及び第2レイヤ内の第2サブピクチャは、第1サブピクチャが第2参照サブピクチャを参照することができる場合に、コロケート位置及び/又は有理数の幅/高さになければならないことが制約され得る。
【0079】
12)現在サブピクチャが、参照レイヤの領域又はサブピクチャに関連したサンプル値及び/又は他の値、例えば、動き情報及び/又はコーディングモード情報からのレイヤ間予測(ILP)を使用し得るかどうかの指示は、ビットストリームで、例えば、VPS/DPS/SPS/PPS/APS/シーケンスヘッダ/ピクチャヘッダで、シグナリングされる。
a.一例で、参照レイヤの参照領域又はサブピクチャは、現在サブピクチャ内のサンプルの少なくとも1つのコロケートサンプルを含むものである。
b.一例で、参照レイヤの参照領域又はサブピクチャは、現在サブピクチャのコロケート領域の外にある。
c.一例で、そのような指示は、1つ以上のSEIメッセージでシグナリングされる。
d.一例で、そのような指示は、参照レイヤが複数のサブピクチャを有しているか否かにかかわらず、また、複数のサブピクチャが参照レイヤの1つ以上に存在する場合には、コロケート領域をカバーする参照ピクチャ内のサブピクチャに現在ピクチャ内の各サブピクチャが対応するように、現在ピクチャと位置合わせされたサブピクチャにピクチャがパーティション化されるかどうかにかかわらず、また更には、対応/コロケートサブピクチャが現在サブピクチャと同じサブピクチャID値を有しているかどうかにかかわらず、シグナリングされる。
【0080】
13)特定のOPに適用するBP SEIメッセージ及びPT SEIメッセージがAU内に存在する場合に、BP SEIメッセージは、デコーディング順でPT SEIメッセージに先行しなければならない。
【0081】
14)特定のOPに適用するBP SEIメッセージ及びDUI SEIメッセージがAU内に存在する場合に、BP SEIメッセージは、デコーディング順でDUI SEIメッセージに先行しなければならない。
【0082】
15)特定のOPに適用するPT SEIメッセージ及びDUI SEIメッセージがAU内に存在する場合に、PT SEIメッセージは、デコーディング順でDUI SEIメッセージに先行しなければならない。
【0083】
16)ピクチャがIRAP/GDRピクチャフラグであるかどうかのインジケータは、ピクチャヘッダの最初にシグナリングされ、no_output_of_prior_pics_flagは、インジケータが条件とされてシグナリングされ得る。
例となるシンタックス設計は、次の通りである:
【表4】
1に等しいirap_or_gdr_pic_flagは、PHに関連したピクチャがIRAP又はGDRピクチャであることを指定する。0に等しいirap_or_gdr_pic_flagは、PHに関連したピクチャがIRAPピクチャでもGRIピクチャでもないことを指定する。
【0084】
17)mixed_nalu_types_in_pic_flagの値が0に等しいピクチャが、GDR_NUTに等しいnal_unit_typeを有するコーディングされたスライスNALユニットを含むべきではないことは認められない。
【0085】
18)シンタックス要素(つまり、mixed_slice_types_in_pic_flag)は、PPSでシグナリングされる。mixed_slice_types_in_pic_flagが0に等しい場合に、スライスタイプ(B、P、又はI)はPHでコーディングされる。そうではない場合には、スライスタイプはSHでコーディングされる。未使用のスライスタイプに関連したシンタックス値は、ピクチャヘッダで更にスキップされる。シンタックス要素mixed_slice_types_in_pic_flagは、次のように条件付きでシグナリングされる:
【表5】
【0086】
19)SPS又はPPSで、最大N1(例えば、3)個までの垂直仮想境界と最大N2(例えば、3)個までの水平仮想境界をシグナリングする。PHでは、最大N3(例えば、1)個までの余分の垂直境界と最大N4(例えば、1)個までの余分の垂直仮想境界とをシグナリングし、垂直仮想境界の総数がN1以下でなければならず、水平仮想境界がN2以下でなければならないことが制約される。
【0087】
20)SPSでのシンタックス要素inter_layer_ref_pics_present_flagは、条件付きでシグナリングされ得る。例えば、次の通りである:
【表6】
【0088】
21)シンタックス要素entropy_coding_sync_enabled_flag及びentry_point_offsets_present_flagをPPSではなくSPSでシグナリングする。
【0089】
22)vps_num_ptls_minus1及びnum_ols_hrd_params_minus1の値は、値Tよりも小さくなければならないことが必要とされる。例えば、TはJVET-2001-vEで指定されているTotalNumOlssに等しくてよい。
a.Tとvps_num_ptls_minus1又は(vps_num_ptls_minus1+1)との間の差がシグナリングされ得る。
b.Tとhrd_params_minus1又は(hrd_params_minus1+1)との間の差がシグナリングされ得る。
c.上記の差は、一進法符号(unary code)又は指数ゴロム(Exponential Golomb)符号によってシグナリングされ得る。
【0090】
23)vps_num_dpb_params_minus1の値は、vps_max_layers_minus1以下でなければならないことが必要とされる。
a.Tとvps_num_ptls_minus1又は(vps_num_ptls_minus1+1)との間の差がシグナリングされ得る。
b.差は、一進法符号又は指数ゴロム符号によってシグナリングされ得る。
【0091】
24)EOB NALユニットが、ビットストリームに含まれること又は外部手段を通じて供給されることのいずれかによってデコーダに利用可能にされるべきであることが認められる。
【0092】
25)EOB NALユニットが、ビットストリームに含まれること又は外部手段を通じて供給されることのいずれかによってデコーダに利用可能にされてもよいことが認められる。
【0093】
26)レイヤインデックスiを有する各レイヤについて、vps_independent_layer_flag[i]が0に等しい場合に、そのレイヤ内の各ピクチャは、1つのサブピクチャしか含むべきではない。
【0094】
27)サブビットストリーム抽出プロセスで、VCL NALユニットが除かれるかどうかを指定し、また、VCL NALユニットに関連するフィラーデータユニットも取り除き、また、VCL NALユニットに関連するSEI NALユニット内の全てのフィラーSEIユニットも取り除く。
【0095】
28)SEI NALユニットがフィラーSEIメッセージを含む場合に、それは、フィラーSEIメッセージではない如何なる他のSEIメッセージを含むべきではないことが制約される。
a.代替的に、SEI NALユニットがフィラーSEIメッセージを含む場合に、それは、任意の他のSEIメッセージを含むべきであることが制約される。
【0096】
29)VCL NALユニットは、多くても1つの関連するフィラーNALユニットを有するべきであることが制約される。
【0097】
30)VCL NALユニットは、多くても1つの関連するフィラーNALユニットを有するべきであることが制約される。
【0098】
31)ビデオユニットが可逆又は不可逆のどちらのモードでコーディングされるかどうかを示すために、フラグがシグナリングされることが提案され、ビデオユニットはCU又はCTUであってよく、パレットモードでのエスケープサンプルのシグナリングは、フラグに依存してよい。
a.一例で、パレットモードでのエスケープサンプルの二値化方法は、フラグに依存してよい。
b.一例で、パレットモードでのエスケープサンプルのための算術コーディングにおけるコーディングコンテキストの決定は、フラグに依存してよい。
【0099】
[6.実施形態]
以下は、セクション5において上記で要約された項目8を除いた全ての発明態様についてのいくつかの例示的な実施形態であり、これらはVVC仕様に適用され得る。変更されたテキストは、JVET-P2001-v14の最新のVVCテキストに基づいている。追加又は変更された最も関連する部分は、下線付き太字イタリック体で示されており、最も関連する削除部分は、太字二重括弧で囲まれて強調されている。例えば、[[a]]は、「a」が削除されていることを示す。本質的に編集上の変更であって、従って強調表示されていない他のいくつかの変更がある。
【0100】
[6.1.第1実施形態]
【表7】
【0101】
図5は、本明細書で開示されている様々な技術が実装され得る例示的なビデオ処理システム500を示すブロック図である。様々な実施は、システム500のコンポーネントのいくつか又は全てを含み得る。システム500は、ビデオコンテンツを受ける入力部502を含み得る。ビデオコンテンツは、生の又は圧縮されていないフォーマット、例えば、8又は10ビットのマルチコンポーネントピクセル値で受け取られてよく、あるいは、圧縮された又はエンコーディングされたフォーマットにあってもよい。入力部502は、ネットワークインターフェース、ペリフェラルバスインターバス、又はストレージインターフェースに相当してもよい。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(Passive Optical Network,PON)などのような無線インターフェース、及びWi-Fi又はセルラーネットワークなどの無線インターフェースが含まれる。
【0102】
システム500は、本明細書で記載されている様々なコーディング又はエンコーディング方法を実装し得るコーディングコンポーネント504を含んでもよい。コーディングコンポーネント504は、ビデオのコーディングされた表現を生成するよう、入力部502からコーディングコンポーネント504の出力部へのビデオの平均ビットレートを低減し得る。コーディング技術は、従って、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント504の出力は、コンポーネント506によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部502で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース510へ送られる表示可能なビデオを生成するコンポーネント508によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応するデコーディングツール又は動作は、デコーダによって実行されることになることが理解されるだろう。
【0103】
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの様々な電子デバイスで具現化されてもよい。
【0104】
図6は、ビデオ処理装置600のブロック図である。装置600は、本明細書で記載されている方法の1つ以上を実装するために使用され得る。装置600は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(IoT)レシーバ、などで具現化されてもよい。装置600は、1つ以上のプロセッサ602、1つ以上のメモリ604、及びビデオ処理ハードウェア606を含み得る。プロセッサ602は、本明細書で記載される1つ以上の方法を実装するよう構成され得る。メモリ(複数のメモリ)604は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア606は、ハードウェア回路において、本明細書で記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態において、ビデオ処理ハードウェア606は、部分的に全体的に、プロセッサ2202、例えば、グラフィクス処理ユニットの中にあってもよい。
【0105】
図7は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を表すブロック図である。
【0106】
図7に示されるように、ビデオコーディングシステム100は、発信元デバイス110及び送信先デバイス120を含んでよい。発信元デバイス110は、エンコーディングされたビデオデータを生成し、ビデオエンコーディングデバイスと呼ばれ得る。送信先デバイス120は、発信元デバイス110によって生成されたエンコーディングされたビデオデータをデコーディングすることができ、ビデオデコーディングデバイスと呼ばれ得る。
【0107】
発信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
【0108】
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータをエンコーディングする。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。エンコーディングされたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。エンコーディングされたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0109】
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
【0110】
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、発信元デバイス110又は記憶媒体/サーバ130bからエンコーディングされたビデオデータを取得してよい。ビデオデコーダ124は、エンコーディングされたビデオデータをデコーディングしてよい。表示デバイス122は、デコーディングされたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
【0111】
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
【0112】
図8は、ビデオエンコーダ200の例を表すブロックであり、図7に表されているシステム100のビデオエンコーダ114であってよい。
【0113】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図8の例では、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサが、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0114】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピエンコーディングユニット214とを含んでよい。
【0115】
他の例では、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在ビデオブロックが位置しているピクチャであるところの、IBCモードで、予測を実行してよい。
【0116】
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために図8の例では別々に表されている。
【0117】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化し得る。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
【0118】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、エンコーディングされたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ-インター複合予測(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0119】
現在ビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在ビデオブロックと比較することによって、現在ビデオブロックの動き情報を生成してもよい。動き補償ユニット205は、動き情報と、現在ビデオブロックに関連したピクチャ以外のバッファ213からのピクチャのデコーディングされたサンプルとに基づいて、現在ビデオブロックの予測されたビデオブロックを決定してもよい。
【0120】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在ビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在ビデオブロックのために異なる動作を実行してもよい。
【0121】
いくつかの例において、動き推定ユニット204は、現在ビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在ビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在ビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在ビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在ビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在ブロックの予測されたビデオブロックを生成してもよい。
【0122】
他の例では、動き推定ユニット204は、現在ビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在ビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在ビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在ビデオブロックの動き情報として現在ビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在ビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在ビデオブロックの予測されたビデオブロックを生成してもよい。
【0123】
いくつかの例において、動き推定ユニット204は、デコーダのデコーディング処理のために動き情報のフルセットを出力してもよい。
【0124】
いくつかの例において、動き推定ユニット204は、現在ビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在ビデオブロックの動き情報をシグナリングしてもよい。例えば、動き推定ユニット204は、現在ビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に類似していることを決定してもよい。
【0125】
一例において、動き推定ユニット204は、現在ビデオブロックに関連したシンタックス構造において、現在ビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
【0126】
他の例では、動き推定ユニット204は、現在ビデオブロックに関連したシンタックス構造において、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在ビデオブロックの動きベクトルと、指示されたビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在ビデオブロックの動きベクトルを決定するために、指示されたビデオブロックの動きベクトル及び動きベクトル差分を使用してもよい。
【0127】
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングしてもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
【0128】
イントラ予測ユニット206は、現在ビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在ビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックのデコーディングされたサンプルに基づいて、現在ビデオブロックの予測データを生成し得る。現在ビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含み得る。
【0129】
残差生成ユニット207は、現在ビデオブロックから現在ビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される。)によって、現在ビデオブロックの残差データを生成してもよい。現在ビデオブロックの残差データは、現在ビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含み得る。
【0130】
他の例では、例えば、スキップモードで、現在ビデオブロックの残差データは存在しない場合があり、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0131】
変換処理ユニット208は、現在ビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在ビデオブロックの1つ以上の変換係数ビデオブロックを生成してもよい。
【0132】
変換処理ユニット208が現在ビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在ビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在ビデオブロックに関連した変換係数ビデオブロックを量子化してもよい。
【0133】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在ブロックに関連した再構成されたビデオブロックを生成してもよい。
【0134】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
【0135】
エントロピエンコーディングユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピエンコーディングユニット214がデータを受け取るとき、エントロピエンコーディングユニット214は、エントロピエンコーディングされたデータを生成するよう1つ以上のエントロピエンコーディング動作を実行し、そのエントロピエンコーディングされたデータを含むビットストリームを出力し得る。
【0136】
図9は、ビデオデコーダ300の例を表すブロック図であり、図7で表されているシステム100のビデオデコーダ124であってよい。
【0137】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図9の例では、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例では、プロセッサが、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0138】
図9の例では、ビデオデコーダ300は、エントロピデコーディングユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(図8)に関して記載されたエンコーディングパスとは概して逆のデコーディングパスを実行してもよい。
【0139】
エントロピデコーディングユニット301は、エンコーディングされたビットストリームを取り出し得る。エンコーディングされたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータのエンコーディングされたブロック)を含んでもよい。エントロピデコーディングユニット301は、エントロピコーディングされたビデオデータをデコーディングしてよく、エントロピデコーディングされたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してもよい。
【0140】
動き補償ユニット302は、場合により、補間フィルタに基づいた補間を実行して、動き補償されたブロックを生成してもよい。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてもよい。
【0141】
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックのエンコーディング中にビデオエンコーダ200によって使用された補間フィルタを使用してもよい。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
【0142】
動き補償ユニット302は、エンコーディングされたビデオシーケンスのフレーム及び/又はスライスをエンコーディングするために使用されるブロックのサイズと、エンコーディングされたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各パーティションがどのようにエンコーディングされるかを示すモードと、各インターエンコーディングされたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、エンコーディングされたビデオシーケンスをデコーディングするための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
【0143】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピデコーディングユニット301によってデコーディングされた量子化されたビデオブロック係数を逆量子化、すなわち、量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0144】
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、デコーディングされたブロックを形成し得る。望まれる場合には、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、デコーディングされたブロックにフィルタをかけるよう適用されてもよい。デコーディングされたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを供給し、更には、デコーディングされたビデオを表示デバイスでの提示のために生成する。
【0145】
図10~26は、上記の技術的解決法、例えば、図5~9で示されている実施形態を実装することができる方法の例を示す。
【0146】
図10は、ビデオ処理の例示的な方法1000のフローチャートを示す。方法1000は、動作1010で、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマット規則に従って1つ以上のアクセスユニットを含み、フォーマット規則は、動作点(OP)に適用する第1メッセージ及び第2メッセージが、第1メッセージがデコーディング順において第2メッセージに先行するようにアクセスユニット内に存在する順序を指定する。
【0147】
図11は、ビデオ処理の例示的な方法1100のフローチャートを示す。方法1100は、動作1110で、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームは、フォーマット規則に従って1つ以上のアクセスユニットを含み、フォーマット規則は、動作点(OP)に適用する複数のメッセージが、複数のメッセージのうちの第1メッセージがデコーディング順において複数のメッセージのうちの第2メッセージに先行するようにアクセスユニット内に存在する順序を指定する。
【0148】
図12は、ビデオ処理の例示的な方法1200のフローチャートを示す。方法1200は、動作1210で、ピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、第1フラグの指示がピクチャに関連したピクチャヘッダの最初にシグナリングされることを定め、第1フラグは、ピクチャがイントラランダムアクセスポイント(IRAP)ピクチャ又は漸次デコーディングリフレッシュ(GDR)ピクチャであるかどうかを示す。
【0149】
図13は、ビデオ処理の例示的な方法1300のフローチャートを示す。方法1300は、動作1310で、1つ以上のピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、1つ以上のピクチャの中のピクチャのコーディングが、漸次デコーディングリフレッシュタイプを有するコーディングされたスライスネットワーク抽象化レイヤ(NAL)ユニットを含むこと及び当該ピクチャが混合タイプのNALユニットを含むことを示すフラグと関連することを許さない。
【0150】
図14は、ビデオ処理の例示的な方法1400のフローチャートを示す。方法1400は、動作1410で、1つ以上のピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、1つ以上のピクチャの中のピクチャのコーディングが、漸次デコーディングリフレッシュタイプを有するコーディングされたスライスネットワーク抽象化レイヤ(NAL)ユニットを含むこと及び当該ピクチャが混合タイプのNALユニットを含まないことを示すフラグと関連することを許す。
【0151】
図15は、ビデオ処理の例示的な方法1500のフローチャートを示す。方法1500は、動作1510で、ビデオのピクチャとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームは、第1シンタックス要素がピクチャに関連したピクチャパラメータセット(PPS)でシグナリングされるかどうかを定めるフォーマット規則に従い、ピクチャは、スライスタイプとともに1つ以上のスライスを含み、第1シンタックス要素は、第1シンタックス要素がゼロに等しいことによりスライスタイプがピクチャヘッダでシグナリングされることを示し、さもなければスライスタイプがスライスヘッダでシグナリングされることを示す。
【0152】
図16は、ビデオ処理の例示的な方法1600のフローチャートを示す。方法1600は、動作1610で、ビデオのピクチャとビデオのビットストリームとの間の変換を規則に従って実行することを含み、変換はインループフィルタリングプロセスを含み、規則は、インループフィルタリングプロセスに関係がある垂直仮想境界の総数及び水平仮想境界の総数がピクチャレベル又はシーケンスレベルでシグナリングされることを定める。
【0153】
図17は、ビデオ処理の例示的な方法1700のフローチャートを示す。方法1700は、動作1710で、1つ以上のピクチャを含むビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、他のレイヤからの参照ピクチャを使用する1つのレイヤ内のピクチャのコーディングを、他のレイヤからの参照ピクチャがビットストリームに存在するかどうかを示す第1シンタックス要素に基づき条件付きで許可し、第1シンタックス要素は、ピクチャに関連したパラメータセットの識別子がゼロに等しくないかどうかを示す第2シンタックス要素に基づき条件付きで、ビットストリームでシグナリングされる。
【0154】
図18は、ビデオ処理の例示的な方法1800のフローチャートを示す。方法1800は、動作1810で、ビデオのピクチャとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、(a)ピクチャ内のコーディングツリーユニット(Coding Tree Unit,CTU)をデコーディングする前のコンテキスト変数の同期化プロセス、及び(b)CTUをデコーディングした後のコンテキスト変数の保存プロセスを有効にする第1シンタックス要素を定義し、第1シンタックス要素は、ピクチャに関連したシーケンスパラメータセット(SPS)でシグナリングされる。
【0155】
図19は、ビデオ処理の例示的な方法1900のフローチャートを示す。方法1900は、動作1910で、ビデオのピクチャとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、タイル又はタイル特有のCTU行のためのエントリポイントオフセットのシグナリングがピクチャのスライスヘッダに存在するかどうかを示すシンタックス要素を定義し、シンタックス要素は、ピクチャに関連したシーケンスパラメータセット(SPS)でシグナリングされる。
【0156】
図20は、ビデオ処理の例示的な方法2000のフローチャートを示す。方法2000は、動作2010で、ビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、ビデオに関連したビデオパラメータセット(VPS)内の出力レイヤセット(OLS)仮説参照デコーダ(HRD)のパラメータの数を示す第1シンタックス要素が第1の所定閾よりも小さいことを定める。
【0157】
図21は、ビデオ処理の例示的な方法2100のフローチャートを示す。方法2100は、動作2110で、ビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、ビデオに関連したビデオパラメータセット(VPS)内のプロファイル/ティア/レベル(PTL)シンタックス構造の数を示すシンタックス要素が所定閾よりも小さいことを定める。
【0158】
図22は、ビデオ処理の例示的な方法2200のフローチャートを示す。方法2200は、動作2210で、ビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、ビデオパラメータセット(VPS)内のデコーディングピクチャバッファパラメータシンタックス構造の数を示す第1シンタックス要素が、VPSによって指定されたレイヤの数を示す第2シンタックス要素以下でなければならないことを定める。
【0159】
図23は、ビデオ処理の例示的な方法2300のフローチャートを示す。方法2300は、動作2310で、ビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、終端(terminating)ネットワーク抽象化レイヤ(NAL)ユニットがビットストリームでのシグナリング又は外部手段を通じた供給によってデコーダに利用可能にされることを許す。
【0160】
図24は、ビデオ処理の例示的な方法2400のフローチャートを示す。方法2400は、動作2410で、ビデオとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、ビットストリーム内の各レイヤがレイヤ間予測を使用するよう構成されることを示す、シンタックス要素がゼロに等しいことにより、各レイヤを、1つしかサブピクチャを含まないように制限する。
【0161】
図25は、ビデオ処理の例示的な方法2500のフローチャートを示す。方法2500は、動作2510で、ビデオとビデオのビットストリームとの間の変換を規則に従って実行することを含み、規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、サブビットストリーム抽出プロセスは、ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、規則は更に、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める。
【0162】
図26は、ビデオ処理の例示的な方法2600のフローチャートを示す。方法2600は、動作2610で、ビデオのビデオユニットとビデオのビットストリームとの間の変換を実行することを含み、ビットストリームはフォーマット規則に従い、フォーマット規則は、ビデオユニットが可逆モードで又は不可逆モードでコーディングされるかどうかを示す第1シンタックス要素をビットストリームが含むことを定め、ビデオユニットに適用されるパレットモードでのエスケープサンプルを示す第2シンタックス要素のシグナリングは、第1シンタックス要素の値に基づき選択的に含まれる。
【0163】
いくつかの実施形態によって好まれる解決法が次に列挙される。
【0164】
A1.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームは、フォーマット規則に従って1つ以上のアクセスユニットを含み、前記フォーマット規則は、動作点(OP)に適用する第1メッセージ及び第2メッセージが、前記第1メッセージがデコーディング順において前記第2メッセージに先行するようにアクセスユニット(AU)内に存在する順序を指定する、
方法。
【0165】
A2.解決法A1の方法であって、
前記第1メッセージは、バッファリング周期(Buffering Period,BP)補足拡張情報(SEI)メッセージを含み、
前記第2メッセージは、ピクチャタイミング(Picture Timing,PT)SEIメッセージを含む、
方法。
【0166】
A3.解決法A1の方法であって、
前記第1メッセージは、バッファリング周期(BP)補足拡張情報(SEI)メッセージを含み、
前記第2メッセージは、デコーディングユニット情報(Decoding Unit Information,DUI)SEIメッセージを含む、
方法。
【0167】
A4.解決法A1の方法であって、
前記第1メッセージは、ピクチャタイミング(PT)補足拡張情報(SEI)メッセージを含み、
前記第2メッセージは、デコーディングユニット情報(DUI)SEIメッセージを含む、
方法。
【0168】
A5.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームは、フォーマット規則に従って1つ以上のアクセスユニットを含み、前記フォーマット規則は、動作点(OP)に適用する複数のメッセージが、前記複数のメッセージのうちの第1メッセージがデコーディング順において前記複数のメッセージのうちの第2メッセージに先行するようにアクセスユニット内に存在する順序を指定する、
方法。
【0169】
A6.解決法A5の方法であって、
前記複数のメッセージは、バッファリング周期(BP)SEIメッセージ、デコーディングユニット情報(DUI)SEIメッセージ、ピクチャタイミング(PT)SEIメッセージ、及びサブピクチャレベル情報(Subpicture Level Information,SLI)SEIメッセージを含む、
方法。
【0170】
A7.解決法A6の方法であって、
前記デコーディング順は、前記SLI SEIメッセージ、前記BP SEIメッセージ、前記PT SEIメッセージ、及び前記DUI SEIメッセージである、
方法。
【0171】
いくつかの実施形態によって好まれる他の解決法が次に列挙される。
【0172】
B1.ビデオ処理の方法であって、
ピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、第1フラグの指示が前記ピクチャに関連したピクチャヘッダの最初にシグナリングされることを定め、前記第1フラグは、前記ピクチャがイントラランダムアクセスポイント(IRAP)ピクチャ又は漸次デコーディングリフレッシュ(GDR)ピクチャであるかどうかを示す、
方法。
【0173】
B2.解決法B1の方法であって、
前記IRAPピクチャは、前記ビットストリームのデコーディングが前記ピクチャで始まる場合に、前記ピクチャと、出力順における全ての後続ピクチャとが、正確にデコーディング可能であるピクチャである、
方法。
【0174】
B3.解決法B1の方法であって、
前記IRAPピクチャは、Iスライスのみを含む、
方法。
【0175】
B4.解決法B1の方法であって、
前記GDRピクチャは、前記ビットストリームのデコーディングが前記ピクチャで始まる場合に、対応する回復点ピクチャと、デコーディング順及び出力順の両方における全ての後続ピクチャとが、正確にデコーディング可能であるピクチャである、
方法。
【0176】
B5.解決法B1の方法であって、
前記フォーマット規則は、第2フラグが前記ビットストリームでシグナリングされるかどうかが前記指示に基づくことを更に定める、
方法。
【0177】
B6.解決法B5の方法であって、
前記第1フラグは、irap_or_gdr_pic_flagである、
方法。
【0178】
B7.解決法B6の方法であって、
前記第2フラグは、no_output_of_prior_pics_flagである、
方法。
【0179】
B8.解決法B1乃至B7のいずれかの方法であって、
前記第1フラグが1に等しいことは、前記ピクチャがIRAPピクチャ又はGDRピクチャであることを示す、
方法。
【0180】
B9.解決法B1乃至B7のいずれかの方法であって、
前記第1フラグが0に等しいことは、前記ピクチャがIRAPピクチャでもGDRピクチャでもないことを示す、
方法。
【0181】
B10.解決法B1乃至B9のいずれかの方法であって、
前記GDRピクチャ内の各ネットワークアクセスレイヤ(NAL)ユニットは、GDR_NUTに等しいnal_unit_typeシンタックス要素を有する、
方法。
【0182】
いくつかの実施形態によって好まれる更なる他の解決法が次に列挙される。
【0183】
C1.ビデオ処理の方法であって、
1つ以上のピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップを含み、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、前記1つ以上のピクチャの中のピクチャのコーディングが、漸次デコーディングリフレッシュタイプを有するコーディングされたスライスネットワーク抽象化レイヤ(NAL)ユニットを含むこと及び当該ピクチャが混合タイプのNALユニットを含むことを示すフラグと関連することを許さない、
方法。
【0184】
C2.ビデオ処理の方法であって、
1つ以上のピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップを含み、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、前記1つ以上のピクチャの中のピクチャのコーディングが、漸次デコーディングリフレッシュタイプを有するコーディングされたスライスネットワーク抽象化レイヤ(NAL)ユニットを含むこと及び当該ピクチャが混合タイプのNALユニットを含まないことを示すフラグと関連することを許す、
方法。
【0185】
C3.解決法C1又はC2の方法であって、
前記フラグは、mixed_nalu_types_in_pic_flagである、
方法。
【0186】
C4.解決法C3の方法であって、
前記フラグは、ピクチャパラメータセット(PPS)にある、
方法。
【0187】
C5.解決法C1乃至C4のいずれかの方法であって、
前記ピクチャは、漸次デコーディングリフレッシュ(GDR)ピクチャであり、
前記ピクチャ内の各スライス又はNALユニットは、GDR_NUTに等しいnal_unit_typeを有する、
方法。
【0188】
C6.ビデオ処理の方法であって、
ビデオのピクチャと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームは、第1シンタックス要素が前記ピクチャに関連したピクチャパラメータセット(PPS)でシグナリングされるかどうかを定めるフォーマット規則に従い、前記ピクチャは、スライスタイプとともに1つ以上のスライスを含み、前記第1シンタックス要素は、前記第1シンタックス要素がゼロに等しいことにより、前記スライスタイプがピクチャヘッダでシグナリングされることを示し、さもなければ、前記スライスタイプがスライスヘッダでシグナリングされることを示す、
方法。
【0189】
C7.解決法C6の方法であって、
前記第1シンタックス要素は、mixed_slice_types_in_pic_flagである、
方法。
【0190】
C8.解決法C6又はC7の方法であって、
前記第1シンタックス要素は、第2シンタックス要素がゼロに等しいこと、及び/又は第3シンタックス要素がゼロよりも大きいことにより、シグナリングされる、
方法。
【0191】
C9.解決法C8の方法であって、
前記第2シンタックス要素は、前記1つ以上のスライスのうちの各スライス内の1つ以上のタイルの少なくとも1つの特性を指定する、
方法。
【0192】
C10.解決法C9の方法であって、
前記第2シンタックス要素がゼロに等しいことは、前記1つ以上のタイルがラスタスキャン順にあり、スライス情報が前記PPSから除かれることを指定する、
方法。
【0193】
C11.解決法C9の方法であって、
前記第2シンタックス要素が1に等しいことは、前記1つ以上のタイルが前記ピクチャの長方形領域をカバーし、スライス情報が前記PPSでシグナリングされることを指定する、
方法。
【0194】
C12.解決法C9乃至C11のいずれかの方法であって、
前記第2シンタックス要素は、rect_slice_flagである、
方法。
【0195】
C13.解決法C8の方法であって、前記第3シンタックス要素は、前記PPSを参照する前記ピクチャ内の長方形スライスの数を指定する、
方法。
【0196】
C14.解決法C13の方法であって、
前記第3シンタックス要素は、num_slices_in_pic_minus1である、
方法。
【0197】
C15.ビデオ処理の方法であって、
ビデオのピクチャと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記変換はインループフィルタリングプロセスを含み、前記規則は、前記インループフィルタリングプロセスに関係がある垂直仮想境界の総数及び水平仮想境界の総数がピクチャレベル又はシーケンスレベルでシグナリングされることを定める、
方法。
【0198】
C16.解決法C15の方法であって、
前記垂直仮想境界の総数は、ピクチャパラメータセット(PPS)又はシーケンスパラメータセット(SPS)でシグナリングされる最大で第1数(N1)個までの垂直仮想境界と、ピクチャヘッダ(PH)でシグナリングされる最大で第2数(N3)個までの余分の垂直仮想境界とを含み、
前記水平仮想境界の総数は、前記PPS又は前記SPSでシグナリングされる最大で第3数(N2)個までの水平仮想境界と、前記PHでシグナリングされる最大で第4(N4)個までの余分の水平仮想境界とを含む、
方法。
【0199】
C17.解決法C16の方法であって、
N1+N3≦N1及びN2+N4≦N2である、
方法。
【0200】
C18.解決法C16又はC17の方法であって、
N1=3、N2=3、N3=1、及びN4=1である、
方法。
【0201】
いくつかの実施形態によって好まれる更なる他の解決法が次に列挙される。
【0202】
D1.ビデオ処理の方法であって、
1つ以上のピクチャを含むビデオと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、他のレイヤからの参照ピクチャを使用する1つのレイヤ内のピクチャのコーディングを、前記他のレイヤからの前記参照ピクチャが前記ビットストリームに存在するかどうかを示す第1シンタックス要素に基づき条件付きで許可し、前記第1シンタックス要素は、前記ピクチャに関連したパラメータセットの識別子がゼロに等しくないかどうかを示す第2シンタックス要素に基づき条件付きで、前記ビットストリームでシグナリングされる、
方法。
【0203】
D2.解決法D1の方法であって、
前記第1シンタックス要素は、inter_layer_ref_pics_present_flagである、
方法。
【0204】
D3.解決法D1又はD2の方法であって、
前記第1シンタックス要素は、レイヤ間予測が有効にされかつレイヤ間参照ピクチャが使用可能であるかどうかを指定する、
方法。
【0205】
D4.解決法D1の方法であって、
前記第1シンタックス要素は、sps_inter_layer_prediction_enabled_flagである、
方法。
【0206】
D5.解決法D1乃至D4のいずれかの方法であって、
前記第1シンタックス要素は、シーケンスパラメータセット(SPS)にある、
方法。
【0207】
D6.解決法D1乃至D4のいずれかの方法であって、
前記パラメータセットは、ビデオパラメータセット(VPS)である、
方法。
【0208】
D7.解決法D6の方法であって、
前記第2シンタックス要素は、sps_video_parameter_set_idである、
方法。
【0209】
D8.解決法D6又はD7の方法であって、
前記パラメータセットは、他のシンタックス要素による参照のために前記VPSの識別子を供給する、
方法。
【0210】
D9.解決法D7の方法であって、
前記第2シンタックス要素は、シーケンスパラメータセット(SPS)にある、
方法。
【0211】
いくつかの実施形態によって好まれる更なる他の解決法が次に列挙される。
【0212】
E1.ビデオ処理の方法であって、
ビデオのピクチャと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、(a)前記ピクチャ内のコーディングツリーユニット(CTU)をデコーディングする前のコンテキスト変数の同期化プロセス、及び(b)前記CTUをデコーディングした後の前記コンテキスト変数の保存プロセスを有効にする第1シンタックス要素を定義し、前記第1シンタックス要素は、前記ピクチャに関連したシーケンスパラメータセット(SPS)でシグナリングされる、
方法。
【0213】
E2.解決法E1の方法であって、
前記第1シンタックス要素は、前記ピクチャに関連したピクチャパラメータセット(PPS)から除かれる、
方法。
【0214】
E3.解決法E1又はE2の方法であって、
前記CTUは、前記ピクチャ内の各タイル内のCTBの行の第1コーディングツリーブロック(CTB)を有する、
方法。
【0215】
E4.解決法E1乃至E3のいずれかの方法であって、
前記第1シンタックス要素は、entropy_coding_sync_enabled_flagである、
方法。
【0216】
E5.解決法E1乃至E3のいずれかの方法であって、
前記第1シンタックス要素は、sps_entropy_coding_sync_enabled_flagである、
方法。
【0217】
E6.解決法E1乃至E5のいずれかの方法であって、
前記フォーマット規則は、タイル又はタイル特有のCTU行のためのエントリポイントオフセットのシグナリングが前記ピクチャのスライスヘッダに存在するかどうかを示す第2シンタックス要素を定義し、前記第2シンタックス要素は、前記ピクチャに関連した前記SPSでシグナリングされる、
方法。
【0218】
E7.ビデオ処理の方法であって、
ビデオのピクチャと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、タイル又はタイル特有のCTU行のためのエントリポイントオフセットのシグナリングが前記ピクチャのスライスヘッダに存在するかどうかを示すシンタックス要素を定義し、前記シンタックス要素は、前記ピクチャに関連したシーケンスパラメータセット(SPS)でシグナリングされる、
方法。
【0219】
E8.解決法E7の方法であって、
前記フォーマット規則は、前記シンタックス要素の値が1に等しいことに基づいて、前記エントリポイントオフセットのシグナリングを許す、
方法。
【0220】
E9.解決法E7又はE8の方法であって、
前記シンタックス要素は、前記ピクチャに関連したピクチャパラメータセット(PPS)から除かれる、
方法。
【0221】
E10.解決法E7乃至E9のいずれかの方法であって、
前記シンタックス要素は、entry_point_offsets_present_flagである、
方法。
【0222】
E11.解決法E7乃至E9のいずれかの方法であって、
前記シンタックス要素は、sps_entry_point_offsets_present_flagである、
方法。
【0223】
いくつかの実施形態によって好まれる更なる他の解決法が次に列挙される。
【0224】
F1.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、前記ビデオに関連したビデオパラメータセット(VPS)内の出力レイヤセット(OLS)仮説参照デコーダ(HRD)のパラメータの数を示す第1シンタックス要素が第1の所定閾よりも小さいことを定める、
方法。
【0225】
F2.解決法F1の方法であって、
前記第1シンタックス要素は、vps_num_ols_timing_hrd_params_minus1である、
方法。
【0226】
F3.解決法F1又はF2の方法であって、
前記第1の所定閾は、マルチレイヤ出力レイヤセットの数(NumMultiLayerOlssと表される。)から1をマイナスしたものである、
方法。
【0227】
F4.解決法F1乃至F3のいずれかの方法であって、
前記第1シンタックス要素が前記ビットストリームでシグナリングされない場合に、前記第1シンタックス要素はゼロであると推測される、
方法。
【0228】
F5.解決法F1乃至F4のいずれかの方法であって、
前記規則は、前記ビデオに関連したビデオパラメータセット(VPS)内のプロファイル/ティア/レベル(PTL)シンタックス構造の数を示す第2シンタックス要素が、第2の所定閾よりも小さいことを定める、
方法。
【0229】
F6.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、前記ビデオに関連したビデオパラメータセット(VPS)内のプロファイル/ティア/レベル(PTL)シンタックス構造の数を示すシンタックス要素が所定閾よりも小さいことを定める、
方法。
【0230】
F7.解決法F6の方法であって、
前記シンタックス要素は、vps_num_ptls_minus1である、
方法。
【0231】
F8.解決法F6又はF7の方法であって、
前記所定閾は、出力レイヤセットの総数(TotalNumOlssと表される。)である、
方法。
【0232】
F9.解決法F1乃至F8のいずれかの方法であって、
前記所定閾と前記シンタックス要素との間の差は、前記ビットストリームでシグナリングされる、
方法。
【0233】
F10.解決法F9の方法であって、
前記差は、一進法符号を用いてシグナリングされる、
方法。
【0234】
F11.解決法F9の方法であって、
前記差は、指数ゴロム(EG)符号を用いてシグナリングされる、
方法。
【0235】
F12.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、ビデオパラメータセット(VPS)内のデコーディングピクチャバッファパラメータシンタックス構造の数を示す第1シンタックス要素が、VPSによって指定されたレイヤの数を示す第2シンタックス要素以下でなければならないことを定める、
方法。
【0236】
F13.解決法F12の方法であって、
前記第1シンタックス要素と所定閾との間の差は、前記ビットストリームでシグナリングされる、
方法。
【0237】
F14.解決法F12の方法であって、
前記第2シンタックス要素と所定閾との間の差は、前記ビットストリームでシグナリングされる、
方法。
【0238】
F15.解決法F13又はF14の方法であって、
前記差は、一進法符号を用いてシグナリングされる、
方法。
【0239】
F16.解決法F13又はF14の方法であって、
前記差は、指数ゴロム(EG)符号を用いてシグナリングされる、
方法。
【0240】
F17.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、終端ネットワーク抽象化レイヤ(NAL)ユニットがビットストリームでのシグナリング又は外部手段を通じた供給によってデコーダに利用可能にされることを許す、
方法。
【0241】
F18.解決法F17の方法であって、
前記終端NALユニットは、エンド・オブ・ビットストリーム(End of Bitstream,EOB)NALユニットである、
方法。
【0242】
F19.解決法F17の方法であって、
前記終端NALユニットは、エンド・オブ・シーケンス(End of Sequence,EOS)NALユニットである、
方法。
【0243】
F20.解決法F17乃至F19のいずれかの方法であって、
前記外部手段は、パラメータセットを含む、
方法。
【0244】
F21.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、前記ビットストリーム内の各レイヤがレイヤ間予測を使用するよう構成されることを示す、シンタックス要素がゼロに等しいことにより、各レイヤを、1つしかサブピクチャを含まないように制限する、
方法。
【0245】
F22.解決法F21の方法であって、
前記シンタックス要素は、vps_independent_layer_flagである、
方法。
【0246】
いくつかの実施形態によって好まれる更なる他の解決法が次に列挙される。
【0247】
G1.ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、前記サブビットストリーム抽出プロセスは、前記ビットストリームから、目標最大時間識別子(target highest temporal identifier)を有するサブビットストリームを抽出するよう構成され、前記規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、前記VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める、
方法。
【0248】
G2.解決法G1の方法であって、
前記VCL NALユニットは、前記VCL NALユニットが属するレイヤの識別子に基づき、取り除かれる、
方法。
【0249】
G3.解決法G2の方法であって、
前記識別子は、nuh_layer_idである、
方法。
【0250】
G4.解決法G1の方法であって、
前記ビットストリームは、フィラーペイロードを伴ったSEIメッセージを含むSEI NALユニットが、前記フィラーペイロードとは異なるペイロードを伴ったSEIメッセージを含まないことを定めるフォーマット規則に従う、
方法。
【0251】
G5.解決法G1の方法であって、
前記ビットストリームは、フィラーペイロードを伴ったSEIメッセージを含むSEI NALユニットが、任意の他のペイロードを伴った他のSEIメッセージを除くよう構成されることを定めるフォーマット規則に従う、
方法。
【0252】
G6.解決法G1の方法であって、
前記VCL NALユニットは、最大1つの関連するフィラーNALユニットを有する、
方法。
【0253】
G7.ビデオ処理の方法であって、
ビデオのビデオユニットと前記ビデオのビットストリームとの間の変換を実行するステップを有し、
前記ビットストリームはフォーマット規則に従い、前記フォーマット規則は、前記ビデオユニットが可逆モードで又は不可逆モードでコーディングされるかどうかを示す第1シンタックス要素を前記ビットストリームが含むことを定め、前記ビデオユニットに適用されるパレットモードでのエスケープサンプルを示す第2シンタックス要素のシグナリングは、前記第1シンタックス要素の値に基づき選択的に含まれる、
方法。
【0254】
G8.解決法G7の方法であって、
前記エスケープサンプルの二値化方法は、前記第1シンタックス要素に基づく、
方法。
【0255】
G9.解決法G7の方法であって、
前記エスケープサンプルの算術コーディングにおけるコンテキストコーディングの決定は、フラグに基づく、
方法。
【0256】
G10.解決法G7乃至G9のいずれかの方法であって、
前記ビデオユニットは、コーディングユニット(CU)又はコーディングツリーユニット(CTU)である、
方法。
【0257】
いくつかの実施形態によって好まれる更なる他の解決法が次に列挙される。
【0258】
P1.ビデオ処理の方法であって、
ビデオのピクチャと前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記ピクチャ内のサブピクチャの数は、ビット幅が前記サブピクチャの数の値に依存するフィールドとして、前記コーディングされた表現に含まれる、
方法。
【0259】
P2.解決法P1の方法であって、
前記フィールドは、符号語(codeword)を用いて前記サブピクチャの数を表す、
方法。
【0260】
P3.解決法P2の方法であって、
前記符号語は、ゴロム符号語を有する、
方法。
【0261】
P4.解決法P1乃至P3のいずれかの方法であって、
前記サブピクチャの数の値は、前記ピクチャに収まるコーディングツリーブロックの整数個以下であるよう制限される、
方法。
【0262】
P5.解決法P1乃至P4のいずれかの方法であって、
前記フィールドは、前記コーディングされた表現に関連したコーディングレベルに依存する、
方法。
【0263】
P6.ビデオ処理の方法であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、前記ビデオ領域が如何なるサブピクチャも含まないことにより、サブピクチャ識別子を示すシンタックス要素を省略することを定める、
方法。
【0264】
P7.解決法P6の方法であって、
前記コーディングされた表現は、前記ビデオ領域が如何なるサブピクチャも有していないことを示す0の値を有するフィールドを含む、
方法。
【0265】
P8.ビデオ処理の方法であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、前記コーディングされた表現においてビデオ領域ヘッダレベルで前記ビデオ領域内のサブピクチャの識別子を省略することを定める、
方法。
【0266】
P9.解決法P8の方法であって、
前記コーディングされた表現は、前記サブピクチャが前記ビデオ領域ヘッダでリストアップされる順序に従って数的にサブピクチャを識別する、
方法。
【0267】
P10.ビデオ処理の方法であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、シーケンスパラメータセットレベル又はピクチャパラメータセットレベルで前記ビデオ領域内のサブピクチャの識別子及び/又は前記サブピクチャの識別子の長さを含めることを定める、
方法。
【0268】
P11.解決法P10の方法であって、
前記長さは、前記ピクチャパラメータセットレベルに含まれる、
方法。
【0269】
P12.ビデオ処理の方法であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、
前記フォーマット規則は、サブピクチャ識別子長さフィールドがビデオシーケンスレベルで前記コーディングされた表現に含まれるかどうかを示すために、ビデオシーケンスレベルで前記コーディングされた表現にフィールドを含めることを定める、
方法。
【0270】
P13.解決法P12の方法であって、
前記フォーマット規則は、前記コーディングされた表現内の他のフィールドにより、前記ビデオ領域の長さ識別子が前記コーディングされた表現に含まれることが示される場合に、前記フィールドを「1」にセットすることを定める、
方法。
【0271】
P14.ビデオ処理の方法であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、前記ビデオ領域が参照ピクチャとして使用可能であるかどうかを示すために、前記コーディングされた表現に指示を含めることを定める、
方法。
【0272】
P15.解決法P14の方法であって、
前記指示は、レイヤID及びインデックス又は前記ビデオ領域に関連したID値を有する、
方法。
【0273】
P16.ビデオ処理の方法であって、
ビデオのビデオ領域と前記ビデオのコーディングされた表現との間の変換を実行するステップを有し、
前記コーディングされた表現は、フォーマット規則に従い、前記フォーマット規則は、前記ビデオ領域が参照レイヤのビデオ領域に関連した複数のサンプル値からのレイヤ間予測(ILP)を使用する可能性があるかどうかを示すために、前記コーディングされた表現に指示を含めることを定める、
方法。
【0274】
P17.解決法P16の方法であって、
前記指示は、シーケンスレベル、ピクチャレベル、又はビデオレベルで含まれる、
方法。
【0275】
P18.解決法P16の方法であって、
前記参照レイヤの前記ビデオ領域は、前記ビデオ領域内のサンプルの少なくとも1つのコロケートサンプルを有する、
方法。
【0276】
P19.解決法P16の方法であって、
前記指示は、1つ以上の補足拡張情報(SEI)メッセージに含まれる、
方法。
【0277】
P20.ビデオ処理の方法であって、
ビデオのアクセスユニット内の動作点に適用される第1メッセージ及び第2メッセージが前記ビデオのコーディングされた表現に存在するとの決定があると、前記第1メッセージがデコーディング順で前記第2メッセージに先行するように前記コーディングされた表現を構成するステップと、
前記構成するステップに基づき、前記ビデオのビデオ領域と前記コーディングされた表現との間の変換を実行するステップと
を有する方法。
【0278】
P21.解決法P20の方法であって、
前記第1メッセージは、バッファリング周期(BP)補足拡張情報(SEI)メッセージを有し、
前記第2メッセージは、ピクチャタイミング(PT)SEIメッセージを有する、
方法。
【0279】
P22.解決法P20の方法であって、
前記第1メッセージは、バッファリング周期(BP)補足拡張情報(SEI)メッセージを有し、
前記第2メッセージは、デコーディングユニット情報(DUI)SEIメッセージを有する、
方法。
【0280】
P23.解決法P20の方法であって、
前記第1メッセージは、ピクチャタイミング(PT)補足拡張情報(SEI)メッセージを有し、
前記第2メッセージは、デコーディングユニット情報(DUI)SEIメッセージを有する、
方法。
【0281】
P24.上記の解決法のいずれかの方法であって、
前記ビデオ領域は、前記ビデオのサブピクチャを含む、
方法。
【0282】
P25.上記の解決法のいずれかの方法であって、
前記変換は、前記コーディングされた表現をパージング及びデコーディングして、前記ビデオを生成することを有する、
方法。
【0283】
P26.上記の解決法のいずれかの方法であって、
前記変換は、前記ビデオをエンコーディングして、前記コーディングされた表現を生成することを有する、
方法。
【0284】
P27.解決法P1乃至P26のうちの1つ以上に記載される方法を実装するよう構成されたプロセッサを有するビデオデコーディング装置。
【0285】
P28.解決法P1乃至P26のうちの1つ以上に記載される方法を実装するよう構成されたプロセッサを有するビデオエンコーディング装置。
【0286】
P29.プロセッサによって実行される場合に、前記プロセッサに、解決法P1乃至P26のいずれかに記載される方法を実施させるコンピュータコードを記憶しているコンピュータプログラム製品。
【0287】
次の解決法は、上記の技術的解決法に適用される。
【0288】
O1.上記の解決法のいずれかの方法であって、
前記変換は、前記ビデオを前記ビットストリームの表現からデコーディングすることを有する、
方法。
【0289】
O2.上記の解決法のいずれかの方法であって、
前記変換は、前記ビデオを前記ビットストリームの表現へエンコーディングすることを有する、
方法。
【0290】
O3.上記の解決法のいずれかの方法であって、
前記変換は、前記ビデオから前記ビットストリームを生成することを有し、
当該方法は、前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップを更に有する、
方法。
【0291】
O4.ビデオを表すビットストリームをコンピュータ可読記録媒体に記憶する方法であって、
上記の解決法のいずれかに記載の方法に従ってビデオからビットストリームを生成するステップと、
前記ビットストリームを前記コンピュータ可読記録媒体に書き込むステップと
を有する方法。
【0292】
O5.上記の解決法のいずれかで記載される方法を実装するよう構成されたプロセッサを有するビデオ処理装置。
【0293】
O6.実行される場合に、プロセッサに、上記の解決法のいずれかに記載の方法を実施させる命令を記憶しているコンピュータ可読媒体。
【0294】
O7.上記の解決法のいずれかの方法に従って生成されたビットストリーム表現を記憶するコンピュータ可読媒体。
【0295】
O8.ビットストリーム表現を記憶するビデオ処理装置であって、
上記の解決法のいずれかに記載される方法を実装するよう構成されるビデオ処理装置。
【0296】
O9.上記の解決法のいずれかに記載される方法を用いて生成されるビットストリームであって、
コンピュータ可読媒体に記憶されるビットストリーム。
【0297】
本明細書で記載されている開示された及び他の解決法、例、実施形態、モジュール、及び機能動作は、デジタル電子回路で、又は本明細書で開示さえている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、あるいは、それらの1つ以上の組み合わせで実装され得る。開示された及び他の実施形態は、1つ以上のコンピュータプログラム製品、つまり、データ処理装置によって実行されるか又はその動作を制御するコンピュータ可読媒体でエンコーディングされたコンピュータプログラム命令の1つ以上のモジュール、として実装され得る。コンピュータ可読媒体は、マシン可読記憶デバイス、マシン可読記憶基板、メモリデバイス、マシン可読な伝播信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、マシンで生成された電気、光、又は電磁気信号であり、適切な受信器装置への伝送のために情報をエンコーディングするよう生成されている。
【0298】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで、実行されるようデプロイ可能である。
【0299】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0300】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにCD ROM及びDVD-ROMディスクを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0301】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0302】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0303】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
【手続補正書】
【提出日】2022-07-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行するステップを有し、
前記規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、前記サブビットストリーム抽出プロセスは、前記ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、
前記規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、前記VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める、
方法。
【請求項2】
前記VCL NALユニットは、前記VCL NALユニットが属するレイヤの識別子に基づき、取り除かれる、
請求項1に記載の方法。
【請求項3】
前記識別子は、nuh_layer_idである、
請求項2に記載の方法。
【請求項4】
前記ビットストリームは、フィラーペイロードを伴ったSEIメッセージを含むSEI NALユニットが、前記フィラーペイロードとは異なるペイロードを伴ったSEIメッセージを含まないことを定めるフォーマット規則に従う、
請求項1乃至3のうちいずれか一項に記載の方法。
【請求項5】
前記ビットストリームは、フィラーペイロードを伴ったSEIメッセージを含むSEI NALユニットが、任意の他のペイロードを伴った他のSEIメッセージを除くよう構成されることを定めるフォーマット規則に従う、
請求項1乃至3のうちいずれか一項に記載の方法。
【請求項6】
前記変換は、前記ビデオを前記ビットストリームからデコーディングすることを有する、
請求項1乃至のうちいずれか一項に記載の方法。
【請求項7】
前記変換は、前記ビデオを前記ビットストリームにエンコーディングすることを有する、
請求項1乃至のうちいずれか一項に記載の方法。
【請求項8】
ビデオデータを処理する装置であって、
プロセッサと、命令を有する非一時的なメモリとを有し、
前記命令は、前記プロセッサによる実行時に、前記プロセッサに、
ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行させ、
前記規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、前記サブビットストリーム抽出プロセスは、前記ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、
前記規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、前記VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める、
装置。
【請求項9】
プロセッサに、ビデオと前記ビデオのビットストリームとの間の変換を規則に従って実行させ、
前記規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、前記サブビットストリーム抽出プロセスは、前記ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、
前記規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、前記VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める、
命令を記憶する非一時的なコンピュータ可読記憶媒体。
【請求項10】
ビデオ処理装置によって実行された方法によって生成されるビデオのビットストリームを記憶する非一時的なコンピュータ可読記録媒体であって、
前記方法は、規則に従って前記ビデオの前記ビットストリームを生成するステップを有し、
前記規則は、サブビットストリーム抽出プロセスがデコーディングのためにサブビットストリームを生成するよう実施されることを定め、前記サブビットストリーム抽出プロセスは、前記ビットストリームから、目標最大時間識別子を有するサブビットストリームを抽出するよう構成され、
前記規則は、抽出中に、ビデオコーディングレイヤ(VCL)ネットワーク抽象化レイヤ(NAL)ユニットを取り除くと、前記VCL NALユニットに関連する補足拡張情報(SEI)NALユニット内のフィラーデータユニット及びフィラーSEIメッセージも取り除かれることを定める、
非一時的なコンピュータ可読記録媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
[関連出願への相互参照]
本願は、2020年1月9日付けで出願された米国特許仮出願第62/959108号の優先権及びその利益を請求して2021年1月8日付けで出願された国際特許出願第PCT/US2021/012840号に基づくものである。上記の特許出願の全ては、それらの全文を参照により本願に援用される。
【国際調査報告】