(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-21
(54)【発明の名称】映像パラメータセット又はシーケンスパラメータセットを符号化又は復号化するための方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20230614BHJP
【FI】
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022553205
(86)(22)【出願日】2021-03-26
(85)【翻訳文提出日】2022-11-02
(86)【国際出願番号】 US2021024385
(87)【国際公開番号】W WO2021195514
(87)【国際公開日】2021-09-30
(32)【優先日】2020-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】511050697
【氏名又は名称】アリババ グループ ホウルディング リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】チェン,ジエ
(72)【発明者】
【氏名】ルオ,ジャンコン
(72)【発明者】
【氏名】イエ,ヤン
(72)【発明者】
【氏名】リャオ,ル-リン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159RB09
5C159RC11
5C159UA02
5C159UA05
5C159UA16
(57)【要約】
本開示は、映像を符号化するためのコンピュータ実施方法を提供する。この方法は、符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及びCVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、VPS内の対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化することを含む。
【特許請求の範囲】
【請求項1】
映像を符号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及び
前記CVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、映像パラメータセット(VPS)内の対応するOLSに当てはまるPTLシンタックス構造の、前記VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を含むコンピュータ実施方法。
【請求項2】
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、前記VPS内の前記第1のPTLシンタックス要素をシグナリングすることなく、前記ビットストリームを符号化すること
をさらに含む、請求項1に記載の方法。
【請求項3】
PTLシンタックス構造の数が1を上回り、及び前記OLSの数と異なることに応答して、固定長を有する前記第1のPTLシンタックス要素を前記VPS内でシグナリングすること
をさらに含む、請求項1に記載の方法。
【請求項4】
前記PTLシンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、前記ビットストリームのシーケンスパラメータセット(SPS)内にあるかどうかを判定すること、
第1の値が1を上回るかどうかを判定することであって、前記第1の値は、前記SPSを参照する符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定すること、及び
前記PTLシンタックス構造、前記DPBパラメータシンタックス構造、又は前記HRDパラメータシンタックス構造の少なくとも1つが前記SPS内にあり、かつ前記第1の値が1を上回る場合、前記SPS内の前記DPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグをシグナリングすること
をさらに含む、請求項1に記載の方法。
【請求項5】
前記第1の値が1以下である場合、前記SPS内で前記フラグをシグナリングすることなく、前記DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングすること
をさらに含む、請求項4に記載の方法。
【請求項6】
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、前記第1のSPSシンタックス要素は、前記第1のSPSシンタックス要素の前記値がゼロを上回るとき、前記SPSによって参照される前記VPSの識別子を指定すること、
前記第1のSPSシンタックス要素の前記値がゼロを上回ることに応答して、対応するVPSシンタックス要素に基づき、前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を割り当てること、及び
前記第1のSPSシンタックス要素の前記値がゼロに等しいことに応答して、前記SPSを参照する各CLVS内にある時間軸方向サブレイヤの前記最大数を指定する前記第2のSPSシンタックス要素の前記範囲を、ゼロ以上、固定値以下の範囲であるように割り当てること
をさらに含む、請求項1に記載の方法。
【請求項7】
映像を復号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
前記CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、映像パラメータセット(VPS)を復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、前記VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
を含むコンピュータ実施方法。
【請求項8】
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、前記第1のPTLシンタックス要素によって指定される前記PTLシンタックス構造が当てはまる前記OLSのインデックスに等しいように前記第1のPTLシンタックス要素を決定すること
をさらに含む、請求項7に記載の方法。
【請求項9】
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、前記VPSを復号化するとき、前記第1のPTLシンタックス要素の復号化をスキップすること
をさらに含む、請求項7に記載の方法。
【請求項10】
PTLシンタックス構造の数が1に等しいことに応答して、前記第1のPTLシンタックス要素をゼロであると判定すること
をさらに含む、請求項9に記載の方法。
【請求項11】
PTLシンタックス構造の数が1を上回り、かつ前記OLSの数と異なることに応答して、前記VPS内の固定長を有する前記第1のPTLシンタックス要素を復号化すること
をさらに含む、請求項7に記載の方法。
【請求項12】
前記ビットストリームは、前記VPS及びシーケンスパラメータセット(SPS)を含み、前記方法は、
前記PTLシンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、前記SPS内にあることに応答して、前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第1の値が1を上回るかどうかを判定すること、及び
前記第1の値が1を上回ることに応答して、前記SPS内の前記DPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグを復号化すること
をさらに含む、請求項7に記載の方法。
【請求項13】
前記第1の値が1以下であることに応答して、前記フラグがゼロに等しいと推論し、及び前記SPS内の前記フラグを復号化することなく、前記DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化すること
をさらに含む、請求項12に記載の方法。
【請求項14】
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、前記第1のSPSシンタックス要素は、前記第1のSPSシンタックス要素の前記値がゼロを上回るとき、SPSによって参照される前記VPSの識別子を指定すること、及び
前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、前記第2のSPSシンタックス要素の範囲は、前記第1のSPSシンタックス要素の前記値がゼロを上回る場合、前記SPSによって参照される前記VPSの対応するVPSシンタックス要素に基づくか、又は前記第1のSPSシンタックス要素の前記値がゼロに等しい場合、固定値に基づくこと
をさらに含む、請求項7に記載の方法。
【請求項15】
機器であって、
命令を記憶するように構成されるメモリと、
前記メモリに結合されるプロセッサとを含み、前記プロセッサは、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
前記CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、映像パラメータセット(VPS)を復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、前記VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
を前記機器に行わせるために前記命令を実行するように構成される、機器。
【請求項16】
前記プロセッサは、
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、前記第1のPTLシンタックス要素によって指定される前記PTLシンタックス構造が当てはまる前記OLSのインデックスに等しいように前記第1のPTLシンタックス要素を決定すること
を行うために前記命令を実行するように構成される、請求項15に記載の機器。
【請求項17】
前記プロセッサは、
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の前記数が1に等しいことに応答して、前記VPSを復号化するとき、前記第1のPTLシンタックス要素の復号化をスキップすること
を行うために前記命令を実行するように構成される、請求項15に記載の機器。
【請求項18】
前記プロセッサは、
PTLシンタックス構造の数が1に等しいことに応答して、前記第1のPTLシンタックス要素をゼロであると判定すること
を行うために前記命令を実行するように構成される、請求項17に記載の機器。
【請求項19】
前記プロセッサは、
PTLシンタックス構造の数が1を上回り、かつ前記OLSの数と異なることに応答して、前記VPS内の固定長を有する前記第1のPTLシンタックス要素を復号化すること
を行うために前記命令を実行するように構成される、請求項15に記載の機器。
【請求項20】
前記プロセッサは、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、前記第1のSPSシンタックス要素は、前記第1のSPSシンタックス要素の前記値がゼロを上回るとき、SPSによって参照される前記VPSの識別子を指定すること、及び
前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、前記第2のSPSシンタックス要素の範囲は、前記第1のSPSシンタックス要素の前記値がゼロを上回る場合、前記SPSによって参照される前記VPSの対応するVPSシンタックス要素に基づくか、又は前記第1のSPSシンタックス要素の前記値がゼロに等しい場合、固定値に基づくこと
を行うために前記命令を実行するように構成される、請求項15に記載の機器。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本開示は、参照によりその全体が本明細書に援用される、2020年3月26日に出願された米国仮特許出願第62/994,995号に対する優先権の利益を主張する。
【0002】
技術分野
[0002] 本開示は、概して、映像処理に関し、より具体的には、映像パラメータセット(VPS)及びシーケンスパラメータセット(SPS)をシグナリングするための映像処理方法に関する。
【背景技術】
【0003】
背景
[0003] 映像は、視覚情報を取り込んだ静的ピクチャ(又は「フレーム」)のセットである。記憶メモリ及び伝送帯域幅を低減するために、映像を記憶又は伝送前に圧縮し、表示前に復元することができる。圧縮プロセスは、通常、符号化と称され、復元プロセスは、通常、復号化と称される。最も一般的には、予測、変換、量子化、エントロピー符号化及びインループフィルタリングに基づく、標準化映像符号化技術を用いる様々な映像符号化フォーマットが存在する。特定の映像符号化フォーマットを指定する、高効率ビデオコーディング(HEVC/H.265)規格、多用途ビデオコーディング(VVC/H.266)標準及びAVS規格などの映像符号化規格が標準化機関によって開発されている。進化した映像符号化技術が映像規格に次々と採用されるに従って、新たな映像符号化規格の符号化効率が一層高くなる。
【発明の概要】
【課題を解決するための手段】
【0004】
開示の概要
[0004] 本開示の実施形態は、映像を符号化するためのコンピュータ実施方法を提供する。いくつかの実施形態では、この方法は、符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及びCVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、VPS内の対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化することを含む。
【0005】
[0005] いくつかの実施形態では、この方法は、符号化映像シーケンス(CVS)が、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及びCVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化することを含む。
【0006】
[0006] いくつかの実施形態では、この方法は、プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、ビットストリームのシーケンスパラメータセット(SPS)内にあるかどうかを判定すること、第1の値が1を上回るかどうかを判定することであって、第1の値は、SPSを参照する符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定すること、及びPTLシンタックス構造、DPBパラメータシンタックス構造、又はHRDパラメータシンタックス構造の少なくとも1つが、SPS内にあり、かつ第1の値が1を上回る場合、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグをシグナリングすることを含む。
【0007】
[0007] いくつかの実施形態では、この方法は、第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、第1のSPSシンタックス要素の値がゼロを上回ることに応答して、対応するVPSシンタックス要素に基づき、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を割り当てること、及び第1のSPSシンタックス要素の値がゼロに等しいことに応答して、SPSを参照する各CLVS内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を、ゼロ以上、固定値以下の範囲であるように割り当てることを含む。
【0008】
[0008] いくつかの実施形態では、この方法は、PTL関連情報を指定する1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を符号化すること、及びビットストリームの映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)内で可変長を有する1つ以上のPTLシンタックス要素をシグナリングすることを含む。
【0009】
[0009] いくつかの実施形態では、この方法は、可変長を有する映像パラメータセット(VPS)シンタックス要素を符号化すること、及びVPSシンタックス要素をVPS内でシグナリングすることであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連することを含む。
【0010】
[0010] 本開示の実施形態は、映像を復号化するためのコンピュータ実施方法を提供する。いくつかの実施形態では、この方法は、符号化映像シーケンス(CVS)を含むビットストリームを受信すること、CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及びPTLシンタックス構造の数がOLSの数に等しいことに応答して、VPSを復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすることを含む。
【0011】
[0011] いくつかの実施形態では、この方法は、符号化映像シーケンス(CVS)を含むビットストリームを受信すること、CVSが、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及びCVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素の復号化をスキップすることを含む。
【0012】
[0012] いくつかの実施形態では、この方法は、映像パラメータセット(VPS)及びシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、SPS内にあることに応答して、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第1の値が1を上回るかどうかを判定すること、及び第1の値が1を上回ることに応答して、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグを復号化することを含む。
【0013】
[0013] いくつかの実施形態では、この方法は、第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、及びSPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、第2のSPSシンタックス要素の範囲は、第1のSPSシンタックス要素の値がゼロを上回る場合、SPSによって参照されるVPSの対応するVPSシンタックス要素に基づくか、又は第1のSPSシンタックス要素の値がゼロに等しい場合、固定値に基づくことを含む。
【0014】
[0014] いくつかの実施形態では、この方法は、映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、及びVPS又はSPS内の1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を復号化することであって、1つ以上のPTLシンタックス要素は、PTL関連情報を指定することを含む。
【0015】
[0015] いくつかの実施形態では、この方法は、映像パラメータセット(VPS)を含むビットストリームを受信すること、及びVPS内の可変長を有するVPSシンタックス要素を復号化することであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連することを含む。
【0016】
[0016] 本開示の実施形態は、機器を提供する。いくつかの実施形態では、この機器は、命令を記憶するように構成されるメモリと、メモリに結合されるプロセッサとを含み、プロセッサは、映像を符号化するためのコンピュータ実施方法を行うために命令を実行するように構成される。いくつかの実施形態では、この機器は、命令を記憶するように構成されるメモリと、メモリに結合されるプロセッサとを含み、プロセッサは、映像を復号化するためのコンピュータ実施方法を行うために命令を実行するように構成される。
【0017】
[0017] 本開示の実施形態は、映像を符号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読記憶媒体を提供する。
【0018】
[0018] 本開示の実施形態は、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読記憶媒体を提供する。
【0019】
図面の簡単な説明
[0019] 本開示の実施形態及び様々な態様を以下の詳細な説明及び添付図面に示す。図中に示す様々な特徴は、縮尺通りに描かれていない。
【図面の簡単な説明】
【0020】
【
図1】[0020]本開示のいくつかの実施形態に従う、映像シーケンスの一例の構造を示す概略図である。
【
図2A】[0021]本開示の実施形態に従う、ハイブリッド映像符号化システムの例示的な符号化プロセスを示す概略図である。
【
図2B】[0022]本開示の実施形態に従う、ハイブリッド映像符号化システムの別の例示的な符号化プロセスを示す概略図である。
【
図3A】[0023]本開示の実施形態に従う、ハイブリッド映像符号化システムの例示的な復号化プロセスを示す概略図である。
【
図3B】[0024]本開示の実施形態に従う、ハイブリッド映像符号化システムの別の例示的な復号化プロセスを示す概略図である。
【
図4】[0025]本開示のいくつかの実施形態に従う、映像を符号化又は復号化するための例示的な機器のブロック図である。
【
図5】[0026]本開示のいくつかの実施形態に従う、例示的なビットストリームの概略図である。
【
図6A】[0027]本開示のいくつかの実施形態に従う、PTLシンタックス構造の例示的な符号化シンタックス表を示す。
【
図6B】[0028]本開示のいくつかの実施形態に従う、DPBパラメータシンタックス構造の例示的な符号化シンタックス表を示す。
【
図7A】[0029]本開示のいくつかの実施形態に従う、HRDパラメータシンタックス構造の例示的な符号化シンタックス表を示す。
【
図7B】[0030]本開示のいくつかの実施形態に従う、HRDパラメータシンタックス構造の別の例示的な符号化シンタックス表を示す。
【
図8A】[0031]本開示のいくつかの実施形態に従う、VPS未加工バイトシーケンスペイロード(RBSP)シンタックス構造の一部の例示的な符号化シンタックス表を示す。
【
図8B】[0031]本開示のいくつかの実施形態に従う、VPS未加工バイトシーケンスペイロード(RBSP)シンタックス構造の一部の例示的な符号化シンタックス表を示す。
【
図9】[0032]本開示のいくつかの実施形態に従う、SPS RBSPシンタックス構造の一部の例示的な符号化シンタックス表を示す。
【
図10A】[0033]本開示のいくつかの実施形態に従う、例示的な映像符号化方法のフローチャートを示す。
【
図10B】[0034]本開示のいくつかの実施形態に従う、
図10Aの映像符号化方法に対応する例示的な映像復号化方法のフローチャートを示す。
【
図10C】[0035]本開示のいくつかの実施形態に従う、例示的なVPSシンタックス構造の一部を示す。
【
図10D】[0036]本開示のいくつかの実施形態に従う、例示的なVPSシンタックス構造の一部を示す。
【
図11A】[0037]本開示のいくつかの実施形態に従う、例示的な映像符号化方法のフローチャートを示す。
【
図11B】[0038]本開示のいくつかの実施形態に従う、
図11Aの映像符号化方法に対応する例示的な映像復号化方法のフローチャートを示す。
【
図11C】[0039]本開示のいくつかの実施形態に従う、例示的なVPSシンタックス構造の一部を示す。
【
図11D】[0040]本開示のいくつかの実施形態に従う、例示的なVPSシンタックス構造の一部を示す。
【
図12A】[0041]本開示のいくつかの実施形態に従う、例示的な映像符号化方法のフローチャートを示す。
【
図12B】[0042]本開示のいくつかの実施形態に従う、
図12Aの映像符号化方法に対応する例示的な映像復号化方法のフローチャートを示す。
【
図12C】[0043]本開示のいくつかの実施形態に従う、例示的なSPSシンタックス構造の一部を示す。
【発明を実施するための形態】
【0021】
詳細な説明
[0044] ここで、添付の図面に例が示された例示的な実施形態を詳細に参照する。以下の説明は、添付の図面を参照し、図面において、異なる図面における同じ符号は、別途示されない限り、同じ又は同様の要素を表す。例示的な実施形態の以下の説明において示される実装形態は、本発明に従う全ての実装形態を表すものではない。むしろ、それらは、添付の請求項において列挙されるとおりの本発明に関連する態様に従う機器及び方法の単なる例にすぎない。本開示の特定の態様が以下においてより詳細に説明される。参照により組み込まれる用語及び/又は定義と矛盾する場合、本明細書において提供される用語及び定義が優先する。
【0022】
[0045] ITU-Tビデオコーディングエキスパートグループ(ITU-T VCEG)及びISO/IECムービングピクチャエクスパートグループ(ISO/IECMPEG)のジョイントビデオエクスパーツチーム(JVET)は、現在、多用途ビデオコーディング(VVC/H.266)規格を開発している。VVC規格は、その前身、高効率ビデオコーディング(HEVC/H.265)規格の圧縮効率を2倍にすることを目指している。換言すれば、VVCの目標は、半分の帯域幅を用いてHEVC/H.265と同じ主観的品質を達成することである。
【0023】
[0046] 半分の帯域幅を用いてHEVC/H.265と同じ主観的品質を達成するために、JVETは、共同探索モデル(JEM)参照ソフトウェアを用いてHEVCを超える技術を開発している。符号化技術がJEMに組み込まれたため、JEMはHEVCよりも実質的に高い符号化性能を達成した。
【0024】
[0047] VVC規格は最近開発されたものであり、より優れた圧縮性能をもたらすより多くの符号化技術を組み込み続けている。VVCは、HEVC、H.264/AVC、MPEG2、H.263等などの現代的な映像圧縮規格において用いられてきた同じハイブリッド映像符号化システムに基づく。
【0025】
[0048] 映像は、視覚情報を記憶するために時系列で配列された静的ピクチャ(又は「フレーム」)のセットである。映像取り込みデバイス(例えば、カメラ)を、それらのピクチャを時系列で取り込んで記憶するために用いることができ、映像再生デバイス(例えば、テレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤ又は表示機能を有する任意のエンドユーザ端末)を、このようなピクチャを時系列で表示するために用いることができる。また、いくつかの用途では、映像取り込みデバイスが、取り込まれた映像を、監督、会議開催又は生放送などのために、映像再生デバイス(例えば、モニタを有するコンピュータ)へリアルタイムに伝送することができる。
【0026】
[0049] このような用途によって必要とされる記憶空間及び伝送帯域幅を低減するために、映像を記憶及び伝送前に圧縮し、表示前に復元することができる。圧縮及び復元は、プロセッサ(例えば、汎用コンピュータのプロセッサ)によって実行されるソフトウェア又は特殊ハードウェアによって実施され得る。圧縮のためのモジュールは一般的に「符号器」と称され、復元のためのモジュールは一般的に「復号器」と称される。符号器及び復号器はまとめて「コーデック」と称され得る。符号器及び復号器は、種々の好適なハードウェア、ソフトウェア又はこれらの組み合わせの任意のものとして実施することができる。例えば、符号器及び復号器のハードウェア実装形態は、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、個別論理又はこれらの任意の組み合わせなどの回路機構を含むことができる。符号器及び復号器のソフトウェア実装形態は、プログラムコード、コンピュータ実行可能命令、ファームウェア又はコンピュータ可読媒体内に固定された任意の好適なコンピュータ実施アルゴリズム若しくはプロセスを含むことができる。映像圧縮及び復元は、MPEG-1、MPEG-2、MPEG-4、H.26xシリーズ又は同様のものなど、様々なアルゴリズム又は規格によって実施され得る。いくつかの用途では、コーデックは映像を第1の符号化規格から復元し、復元された映像を、第2の符号化規格を用いて再圧縮することができる。この場合、コーデックは、「トランスコーダ」と称され得る。
【0027】
[0050] 映像符号化プロセスは、ピクチャを再構成するために用いることができる有用な情報を識別して維持し、再構成のために重要でない情報を無視することができる。無視された、重要でない情報を完全に再構成することができない場合、このような符号化プロセスは、「非可逆」と称され得る。さもなければ、それは「可逆」と称され得る。大抵の符号化プロセスは非可逆であり、これは、必要とされる記憶空間及び伝送帯域幅を低減するためのトレードオフである。
【0028】
[0051] 符号化中のピクチャ(「現在のピクチャ」と称される)の有用な情報は、参照ピクチャ(例えば、以前に符号化され、再構成されたピクチャ)に対する変化を含む。このような変化は、ピクセルの位置の変化、明るさの変化、又は色の変化を含むことができ、これらの中でも、位置の変化が最も重要である。オブジェクトを表現するピクセルのグループの位置の変化は、参照ピクチャと現在のピクチャとの間のオブジェクトの動きを反映することができる。
【0029】
[0052] 別のピクチャを参照することなく符号化されたピクチャ(即ちそれがそれ自身の参照ピクチャである)は「Iピクチャ」と称される。以前のピクチャを参照ピクチャとして用いて符号化されたピクチャは「Pピクチャ」と称される。以前のピクチャ及び将来のピクチャの両方を参照ピクチャとして用いて符号化されたピクチャ(即ち、参照は、「双方向性」である)は「Bピクチャ」と称される。
【0030】
[0053]
図1は、本開示のいくつかの実施形態に従う、例示的な映像シーケンス100の構造を示す。映像シーケンス100は、ライブ映像、又は取り込まれ、アーカイブされた映像であり得る。映像シーケンス100は、現実の映像、コンピュータ生成映像(例えば、コンピュータゲーム映像)、又はこれらの組み合わせ(例えば、拡張現実感効果を伴う現実の映像)であり得る。映像シーケンス100は、映像取り込みデバイス(例えば、カメラ)、以前に取り込まれた映像を包含する映像アーカイブ(例えば、記憶デバイス内に記憶された映像ファイル)、又は映像コンテンツプロバイダからの映像を受信するための映像供給インターフェース(例えば、映像放送トランシーバ)から入力され得る。
【0031】
[0054]
図1に示されるように、映像シーケンス100は、ピクチャ102、104、106及び108を含む、タイムラインに沿って時間軸方向に配列された一連のピクチャを含むことができる。ピクチャ102~106は連続しており、ピクチャ106及び108間にさらなるピクチャが存在する。
図1において、ピクチャ102はIピクチャであり、その参照ピクチャはピクチャ102自身である。ピクチャ104はPピクチャであり、その参照ピクチャは、矢印によって指示されるように、ピクチャ102である。ピクチャ106はBピクチャであり、その参照ピクチャは、矢印によって指示されるように、ピクチャ104及び108である。いくつかの実施形態では、ピクチャ(例えば、ピクチャ104)の参照ピクチャは、そのピクチャの直前又は直後になくてもよい。例えば、ピクチャ104の参照ピクチャは、ピクチャ102の前のピクチャであり得る。ピクチャ102~106の参照ピクチャは単なる例にすぎず、本開示は参照ピクチャの実施形態を、
図1に示される例として限定しないことに留意されたい。
【0032】
[0055] 典型的に、映像コーデックは、このようなタスクの計算の複雑性のため、ピクチャ全体を一度に符号化又は復号化しない。むしろ、映像コーデックは、ピクチャを基本セグメントに分割し、ピクチャをセグメントごとに符号化又は復号化することができる。このような基本セグメントは本開示において基本処理ユニット(「BPU」)と称される。例えば、
図1における構造110は、映像シーケンス100のピクチャ(例えば、ピクチャ102~108の任意のもの)の例示的な構造を示す。構造110では、ピクチャが4×4基本処理ユニットに分割され、それらの境界は破線として示されている。いくつかの実施形態では、基本処理ユニットは、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263若しくはH.264/AVC)では「マクロブロック」と、又はいくつかの他の映像符号化規格(例えば、H.265/HEVC若しくはH.266/VVC)では「符号化ツリーユニット」(「CTU」)と称され得る。基本処理ユニットは、128×128、64×64、32×32、16×16、4×8、16×32などピクチャにおける可変サイズ、又はピクセルの任意の随意の形状及びサイズを有することができる。基本処理ユニットのサイズ及び形状は、符号化効率と、基本処理ユニットにおいて維持されるべき詳細さのレベルとのバランスに基づいて、ピクチャのために選択することができる。
【0033】
[0056] 基本処理ユニットは、コンピュータメモリ内に(例えば、映像フレームバッファ内に)記憶された異なる種類の映像データのグループを含むことができる、論理ユニットであり得る。例えば、カラーピクチャの基本処理ユニットは、無色の輝度情報を表現するルマ成分(Y)、色情報を表現する1つ以上のクロマ成分(例えば、Cb及びCr)、並びに関連シンタックス要素を含むことができ、ここで、ルマ及びクロマ成分は基本処理ユニットの同じサイズを有することができる。ルマ及びクロマ成分は、いくつかの映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーブロック」(「CTB」)と称され得る。基本処理ユニットに対して遂行される任意の演算は、そのルマ及びクロマ成分の各々に対して繰り返し遂行され得る。
【0034】
[0057] 映像符号化は複数の演算段階を有し、
図2A~
図2B及び
図3A~
図3Bにその例が示されている。段階ごとに、基本処理ユニットのサイズは依然として処理のために大きすぎるものになり得、そのため、本開示において「基本処理サブユニット」と称されるセグメントにさらに分割され得る。いくつかの実施形態では、基本処理サブユニットは、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263若しくはH.264/AVC)では「ブロック」と、又はいくつかの他の映像符号化規格(例えば、H.265/HEVC若しくはH.266/VVC)では「符号化ユニット」(「CU」)と称され得る。基本処理サブユニットは、基本処理ユニットと同じであるか又はそれよりも小さいサイズを有することができる。基本処理ユニットと同様に、基本処理サブユニットも、コンピュータメモリ内に(例えば、映像フレームバッファ内に)記憶された異なる種類の映像データ(例えば、Y、Cb、Cr及び関連シンタックス要素)のグループを含むことができる、論理ユニットである。基本処理サブユニットに対して遂行される任意の動作は、そのルマ及びクロマ成分の各々に対して繰り返し遂行され得る。このような分割は、処理の必要に応じてさらなるレベルまで遂行され得ることに留意されたい。また、異なる段階は、異なる方式を用いて基本処理ユニットを分割することができることにも留意されたい。
【0035】
[0058] 例えば、モード決定段階(
図2Bにその一例が示されている)において、符号器は、どのような予測モード(例えば、イントラピクチャ予測又はインターピクチャ予測)を基本処理ユニットのために用いるかを決定することができるが、基本処理ユニットは、このような決定を行うには大きすぎるものになり得る。符号器は基本処理ユニットを複数の基本処理サブユニット(例えば、H.265/HEVC又はH.266/VVCの場合のように、CU)に分割し、個々の基本処理サブユニットごとに予測の種類を決めることができる。
【0036】
[0059] 別の例として、予測段階(
図2A~
図2Bにその例が示されている)において、符号器は基本処理サブユニット(例えば、CU)のレベルで予測演算を遂行することができる。しかし、場合により、基本処理サブユニットは、依然として、処理するには大きすぎるものになり得る。符号器は基本処理サブユニットをより小さいセグメント(例えば、H.265/HEVC又はH.266/VVCでは「予測ブロック」又は「PB」と称される)にさらに分割することができ、そのレベルで予測演算が遂行され得る。
【0037】
[0060] 別の例として、変換段階(
図2A~
図2Bにその例が示されている)において、符号器は残差基本処理サブユニット(例えば、CU)のための変換演算を遂行することができる。しかし、場合により、基本処理サブユニットは、依然として、処理するには大きすぎるものになり得る。符号器は基本処理サブユニットをより小さいセグメント(例えば、H.265/HEVC又はH.266/VVCでは「変換ブロック」又は「TB」と称される)にさらに分割することができ、そのレベルで変換演算が遂行され得る。同じ基本処理サブユニットの分割方式は、予測段階及び変換段階において異なり得ることに留意されたい。例えば、H.265/HEVC又はH.266/VVCでは、同じCUの予測ブロック及び変換ブロックが異なるサイズ及び数を有し得る。
【0038】
[0061]
図1の構造110では、基本処理ユニット112は、3×3基本処理サブユニットにさらに分割され、それらの境界は、点線として示されている。同じピクチャの異なる基本処理ユニットは、異なる方式で基本処理サブユニットに分割され得る。
【0039】
[0062] いくつかの実装形態では、並列処理及び誤り耐性の能力を映像符号化及び復号化にもたらすために、ピクチャを処理のための領域に分割することができ、これにより、符号化又は復号化プロセスは、ピクチャの1つの領域に関して、ピクチャのいかなる他の領域からの情報にも依存しなくてすむ。換言すれば、ピクチャの各領域は独立して処理され得る。そうすることにより、コーデックはピクチャの異なる領域を並行して処理することができ、そのため、符号化効率を増大させる。また、領域のデータが処理中に破損したか、又はネットワーク伝送中に失われたときには、コーデックは、破損した又は失われたデータを頼ることなく、同じピクチャの他の領域を正しく符号化又は復号化することもでき、そのため、誤り耐性の能力をもたらす。いくつかの映像符号化規格では、ピクチャを異なる種類の領域に分割することができる。例えば、H.265/HEVC及びH.266/VVCは2種類の領域:「スライス」及び「タイル」を提供する。また、映像シーケンス100の異なるピクチャは、ピクチャを領域に分割するための異なる区分方式を有することができることにも留意されたい。
【0040】
[0063] 例えば、
図1では、構造110は3つの領域114、116及び118に分割され、それらの境界は構造110の内部の実線として示されている。領域114は4つの基本処理ユニットを含む。領域116及び118の各々は6つの基本処理ユニットを含む。
図1における構造110の基本処理ユニット、基本処理サブユニット、及び領域は、単なる例にすぎず、本開示は、その実施形態を限定しないことに留意されたい。
【0041】
[0064]
図2Aは、本開示の実施形態に従う、例示的な符号化プロセス200Aの概略図を示す。例えば、符号化プロセス200Aは符号器によって遂行され得る。
図2Aに示されるように、符号器は、プロセス200Aに従って映像シーケンス202を映像ビットストリーム228に符号化することができる。
図1における映像シーケンス100と同様に、映像シーケンス202は、時間軸方向順序で配列されたピクチャ(「原ピクチャ」と称される)のセットを含むことができる。
図1における構造110と同様に、映像シーケンス202の各原ピクチャは、符号器によって処理のために基本処理ユニット、基本処理サブユニット、又は領域に分割され得る。いくつかの実施形態では、符号器は、映像シーケンス202の原ピクチャごとに基本処理ユニットのレベルでプロセス200Aを遂行することができる。例えば、符号器は、プロセス200Aを反復的な方法で遂行することができ、その場合、符号器は、基本処理ユニットをプロセス200Aの1回の反復において符号化することができる。いくつかの実施形態では、符号器は、プロセス200Aを映像シーケンス202の各原ピクチャの領域(例えば、領域114~118)のために並行して遂行することができる。
【0042】
[0065]
図2Aにおいて、符号器は、映像シーケンス202の原ピクチャの基本処理ユニット(「原BPU」と称される)を予測段階204に供給し、予測データ206及び予測BPU208を生成することができる。符号器は、予測BPU208を原BPUから減算し、残差BPU210を生成することができる。符号器は、残差BPU210を変換段階212及び量子化段階214に供給し、量子化変換係数216を生成することができる。符号器は、予測データ206及び量子化変換係数216を2値符号化段階226に供給し、映像ビットストリーム228を生成することができる。構成要素202、204、206、208、210、212、214、216、226及び228は「順方向経路」と称され得る。プロセス200A中、量子化段階214後、符号器は、量子化変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構成残差BPU222を生成することができる。符号器は、再構成残差BPU222を予測BPU208に加算し、プロセス200Aの次の反復のために予測段階204において用いられる、予測基準224を生成することができる。プロセス200Aの構成要素218、220、222及び224は「再構成経路」と称され得る。再構成経路は、符号器及び復号器の両方が同じ参照データを予測のために用いることを確実にするために用いられ得る。
【0043】
[0066] 符号器は、原ピクチャの各原BPUを(順方向経路内で)符号化し、原ピクチャの次の原BPUを符号化するための予測基準224を(再構成経路内で)生成するために、プロセス200Aを反復的に遂行することができる。原ピクチャの全ての原BPUを符号化した後、符号器は、映像シーケンス202内の次のピクチャを符号化するために進むことができる。
【0044】
[0067] プロセス200Aを参照すると、符号器は、映像取り込みデバイス(例えば、カメラ)によって生成された映像シーケンス202を受信することができる。本明細書において用いられる用語「受信する」は、受信すること、入力すること、獲得すること、取得すること、得ること、読み込むこと、アクセスすること、又はデータを入力するための任意の方法による任意の行為を指すことができる。
【0045】
[0068] 予測段階204において、現在の反復において、符号器は、原BPU及び予測基準224を受信し、予測演算を遂行し、予測データ206及び予測BPU208を生成することができる。予測基準224は、プロセス200Aの以前の反復の再構成経路から生成され得る。予測段階204の目的は、予測データ206を抽出することにより、情報冗長性を低減することであり、予測データ206は、予測データ206及び予測基準224から原BPUを予測BPU208として再構成するために用いることができる。
【0046】
[0069] 理想的には、予測BPU208は、原BPUと同一であり得る。しかし、非理想的な予測及び再構成演算のため、予測BPU208は、概して、原BPUとは若干異なる。このような差を記録するために、予測BPU208を生成した後、符号器は、それを原BPUから減算し、残差BPU210を生成することができる。例えば、符号器は、予測BPU208のピクセルの値(例えば、グレースケール値又はRGB値)を原BPUの対応するピクセルの値から減算することができる。残差BPU210の各ピクセルは、原BPU及び予測BPU208の対応するピクセル間のこのような減算の結果としての残差値を有することができる。原BPUと比べて、予測データ206及び残差BPU210はより少数のビットを有することができるが、それらは、著しい品質劣化を伴うことなく原BPUを再構成するために用いられ得る。そのため、原BPUは、圧縮される。
【0047】
[0070] 残差BPU210をさらに圧縮するために、変換段階212において、符号器は、それを2次元「基底パターン」のセットに分解することにより、残差BPU210の空間的冗長性を低減することができ、各基底パターンは「変換係数」に関連付けられている。基底パターンは同じサイズ(例えば、残差BPU210のサイズ)を有することができる。各基底パターンは、残差BPU210の変化周波数(例えば、輝度変化の周波数)成分を表現することができる。基底パターンの何れも、いかなる他の基底パターンのいかなる結合(例えば、線形結合)から再現することができない。換言すれば、分解は、残差BPU210の変化を周波数領域に分解することができる。このような分解は関数の離散フーリエ変換と類似しており、この場合、基底パターンは離散フーリエ変換の基底関数(例えば、三角関数)と類似しており、変換係数は、基底関数に関連付けられた係数と類似している。
【0048】
[0071] 異なる変換アルゴリズムは、異なる基底パターンを用いることができる。例えば、離散余弦変換、離散正弦変換又は同様のものなど、様々な変換アルゴリズムを変換段階212において用いることができる。変換段階212における変換は逆演算可能である。即ち、符号器は、変換の逆演算(「逆変換」と称される)によって残差BPU210を回復することができる。例えば、残差BPU210のピクセルを回復するために、逆変換は、基底パターンの対応するピクセルの値にそれぞれの関連係数を乗算し、積を加算していき、加重和を生成することができる。映像符号化規格のために、符号器及び復号器は両方とも同じ変換アルゴリズム(従って同じ基底パターン)を用いることができる。そのため、符号器は変換係数のみを記録することができ、復号器は、基底パターンを符号器から受信することなく、変換係数から残差BPU210を再構成することができる。残差BPU210と比べて、変換係数はより少数のビットを有することができるが、それらは、著しい品質劣化を伴うことなく残差BPU210を再構成するために用いられ得る。そのため、残差BPU210は、さらに圧縮される。
【0049】
[0072] 符号器は、量子化段階214において変換係数をさらに圧縮することができる。変換プロセスにおいて、異なる基底パターンは異なる変化周波数(例えば、輝度変化周波数)を表現することができる。人間の眼は、概して、低周波数変化を認識することがより得意であるため、符号器は、復号化において著しい品質劣化を生じさせることなく高周波数変化の情報を無視することができる。例えば、量子化段階214において、符号器は、各変換係数を整数値(「量子化パラメータ」と称される)で除算し、商をその最近傍の整数に丸めることにより、量子化変換係数216を生成することができる。このような演算後、高周波数基底パターンの一部の変換係数は、0に変換され得、低周波数基底パターンの変換係数はより小さい整数に変換され得る。符号器は0値の量子化変換係数216を無視することができ、これによって変換係数は、さらに圧縮される。量子化プロセスも逆演算可能であり、この場合、量子化変換係数216は、量子化の逆演算(「逆量子化」と称される)において変換係数に再構成され得る。
【0050】
[0073] 符号器はこのような除算の剰余を丸め演算において無視するため、量子化段階214は非可逆になり得る。典型的に、量子化段階214はプロセス200Aにおいて最大の情報損失に寄与し得る。情報損失が大きいほど、量子化変換係数216は少ないビットを必要とし得る。異なる情報損失レベルを得るために、符号器は量子化パラメータ又は量子化プロセスの任意の他のパラメータの異なる値を用いることができる。
【0051】
[0074] 2値符号化段階226において、符号器は、例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応2値算術符号化、又は任意の他の可逆若しくは非可逆圧縮アルゴリズムなどの2値符号化技法を用いて、予測データ206及び量子化変換係数216を符号化することができる。いくつかの実施形態では、予測データ206及び量子化変換係数216のほかに、符号器は、例えば、予測段階204において用いられる予測モード、予測演算のパラメータ、変換段階212における変換の種類、量子化プロセスのパラメータ(例えば、量子化パラメータ)、符号器制御パラメータ(例えば、ビットレート制御パラメータ)、又は同様のものなど、他の情報を2値符号化段階226において符号化することができる。符号器は、2値符号化段階226の出力データを用いて映像ビットストリーム228を生成することができる。いくつかの実施形態では、映像ビットストリーム228をネットワーク伝送のためにさらにパケット化することができる。
【0052】
[0075] プロセス200Aの再構成経路を参照すると、逆量子化段階218において、符号器は、量子化変換係数216に対して逆量子化を遂行し、再構成変換係数を生成することができる。逆変換段階220において、符号器は、再構成変換係数に基づいて再構成残差BPU222を生成することができる。符号器は、再構成残差BPU222を予測BPU208に加算し、プロセス200Aの次の反復において用いられることになる予測基準224を生成することができる。
【0053】
[0076] プロセス200Aの他の変形形態を、映像シーケンス202を符号化するために用いることもできることに留意されたい。いくつかの実施形態では、プロセス200Aの段階は、符号器により、異なる順序で遂行され得る。いくつかの実施形態では、プロセス200Aの1つ以上の段階を単一の段階に組み合わせることができる。いくつかの実施形態では、プロセス200Aの単一の段階を複数の段階に分割することができる。例えば、変換段階212及び量子化段階214を単一の段階に組み合わせることができる。いくつかの実施形態では、プロセス200Aは追加の段階を含むことができる。いくつかの実施形態では、プロセス200Aは
図2Aにおける1つ以上の段階を省略することができる。
【0054】
[0077]
図2Bは、本開示の実施形態に従う、別の例示的な符号化プロセス200Bの概略図を示す。プロセス200Bはプロセス200Aから変更され得る。例えば、プロセス200Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠した符号器によって用いられ得る。プロセス200Aと比べて、プロセス200Bの順方向経路は、モード決定段階230を追加的に含み、予測段階204を空間的予測段階2042及び時間的予測段階2044に分割する。プロセス200Bの再構成経路は、ループフィルタ段階232及びバッファ234を追加的に含む。
【0055】
[0078] 概して、予測技法は2つの種類:空間的予測及び時間的予測に分類することができる。空間的予測(例えば、イントラピクチャ予測又は「イントラ予測」)は、現在のBPUを予測するために、同じピクチャ内の1つ以上のすでに符号化された隣接BPUからのピクセルを用いることができる。即ち、空間的予測における予測基準224は、隣接BPUを含むことができる。空間的予測はピクチャの固有の空間的冗長性を低減することができる。時間的予測(例えば、インターピクチャ予測又は「インター予測」)は、現在のBPUを予測するために、1つ以上のすでに符号化されたピクチャからの領域を用いることができる。即ち、時間的予測における予測基準224は、符号化ピクチャを含むことができる。時間的予測は、ピクチャの固有の時間的冗長性を低減することができる。
【0056】
[0079] プロセス200Bを参照すると、順方向経路内において、符号器は、予測演算を空間的予測段階2042及び時間的予測段階2044において遂行する。例えば、空間的予測段階2042において、符号器はイントラ予測を遂行することができる。符号化中のピクチャの原BPUのために、予測基準224は、(順方向経路内で)符号化され、(再構成経路内で)再構成された1つ以上の隣接BPUを同じピクチャ内に含むことができる。符号器は、隣接BPUを外挿することによって予測BPU208を生成することができる。外挿技法は、例えば、線形外挿若しくは補間、多項式外挿若しくは補間、又は同様のものを含むことができる。いくつかの実施形態では、符号器は、予測BPU208のピクセルごとに、対応するピクセルの値を外挿することによるなどして、外挿をピクセルレベルで遂行することができる。外挿のために用いられる隣接BPUは、(例えば、原BPUの上の)鉛直方向、(例えば、原BPUの左の)水平方向、(例えば、原BPUの左下、右下、左上若しくは右上の)対角方向、又は用いられる映像符号化規格において定義される任意の方向など、様々な方向から原BPUに対して位置することができる。イントラ予測のために、予測データ206は、例えば、用いられる隣接BPUの場所(例えば、座標)、用いられる隣接BPUのサイズ、外挿のパラメータ、原BPUに対する用いられる隣接BPUの方向、又は同様のものを含むことができる。
【0057】
[0080] 別の例として、時間的予測段階2044において、符号器はインター予測を遂行することができる。現在のピクチャの原BPUのために、予測基準224は、(順方向経路内で)符号化され、(再構成経路内で)再構成された1つ以上のピクチャ(「参照ピクチャ」と称される)を含むことができる。いくつかの実施形態では、参照ピクチャはBPUごとに符号化され、再構成され得る。例えば、符号器は、再構成残差BPU222を予測BPU208に加算し、再構成BPUを生成することができる。同じピクチャの全ての再構成BPUが生成されたとき、符号器は、再構成ピクチャを参照ピクチャとして生成することができる。符号器は、参照ピクチャの範囲(「探索窓」と称される)内のマッチング領域を探索するために「動き推定」の演算を遂行することができる。参照ピクチャ内の探索窓の場所は、現在のピクチャの原BPUの場所に基づいて決定することができる。例えば、探索窓は、参照ピクチャ内の、現在のピクチャ内の原BPUと同じ座標を有する場所に中心を有することができ、所定の距離にわたって外へ拡張され得る。符号器が(例えば、画素再帰アルゴリズム、ブロックマッチングアルゴリズム、又は同様のものを用いることによって)探索窓内の原BPUと同様の領域を識別したとき、符号器は、このような領域をマッチング領域と決定することができる。マッチング領域は、原BPUとは異なる(例えば、原BPUよりも小さい、それに等しい、それよりも大きい、又は異なる形状の)寸法を有することができる。参照ピクチャ及び現在のピクチャが(例えば、
図1に示されるように)タイムライン内で時間的に分離されているため、時間が経過するにつれてマッチング領域は原BPUの場所へ「移動する」と見なすことができる。符号器は、このような動きの方向及び距離を「動きベクトル」として記録することができる。(例えば、
図1におけるピクチャ106のように)複数の参照ピクチャが用いられるときには、符号器は、参照ピクチャごとにマッチング領域を探索し、その関連動きベクトルを決定することができる。いくつかの実施形態では、符号器は、それぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを付与することができる。
【0058】
[0081] 動き推定は、例えば、並進、回転、ズーミング、又は同様のものなど、様々な種類の動きを識別するために用いることができる。インター予測のために、予測データ206は、例えば、マッチング領域の場所(例えば、座標)、マッチング領域に関連付けられた動きベクトル、参照ピクチャの数、参照ピクチャに関連付けられた重み、又は同様のものを含むことができる。
【0059】
[0082] 予測BPU208を生成するために、符号器は「動き補償」の演算を遂行することができる。動き補償は、予測データ206(例えば、動きベクトル)及び予測基準224に基づいて予測BPU208を再構成するために用いることができる。例えば、符号器は、動きベクトルに従って参照ピクチャのマッチング領域を移動させることができ、その場合、符号器は、現在のピクチャの原BPUを予測することができる。(例えば、
図1におけるピクチャ106のように)複数の参照ピクチャが用いられるときには、符号器は、それぞれの動きベクトルに従って参照ピクチャのマッチング領域を移動させ、マッチング領域のピクセル値を平均することができる。いくつかの実施形態では、符号器がそれぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを付与した場合、符号器は、ピクセル値の加重和を、移動されたマッチング領域に加算することができる。
【0060】
[0083] いくつかの実施形態では、インター予測は、一方向性又は双方向性であり得る。一方向性インター予測は、現在のピクチャに対して同じ時間方向の1つ以上の参照ピクチャを用いることができる。例えば、
図1におけるピクチャ104は、参照ピクチャ(例えば、ピクチャ102)がピクチャ104に先行する、一方向インター予測ピクチャである。双方向インター予測は、現在のピクチャに対して両方の時間方向にある1つ以上の参照ピクチャを用いることができる。例えば、
図1におけるピクチャ106は、参照ピクチャ(例えば、ピクチャ104及び108)がピクチャ104に対して両方の時間方向にある、双方向インター予測ピクチャである。
【0061】
[0084] プロセス200Bの順方向経路をなおも参照すると、空間的予測段階2042及び時間的予測段階2044後、モード決定段階230において、符号器は、予測モード(例えば、イントラ予測又はインター予測の一方)をプロセス200Bの現在の反復のために選択することができる。例えば、符号器は、レート-歪み最適化技法を遂行することができる。本技法では、符号器は、候補予測モードのビットレート及び候補予測モード下での再構成参照ピクチャの歪みに依存するコスト関数の値を最小化するための予測モードを選択することができる。選択された予測モードに応じて、符号器は、対応する予測BPU208及び予測データ206を生成することができる。
【0062】
[0085] プロセス200Bの再構成経路内において、イントラ予測モードが順方向経路内で選択された場合、予測基準224(例えば、現在のピクチャにおいて符号化され、再構成された現在のBPU)を生成した後、符号器は、予測基準224を後の使用のために(例えば、現在のピクチャの次のBPUの外挿のために)空間的予測段階2042に直接供給することができる。インター予測モードが順方向経路内で選択された場合、予測基準224(例えば、全てのBPUが符号化され、再構成された現在のピクチャ)を生成した後、符号器は、予測基準224をループフィルタ段階232に供給することができ、そこで、符号器は、ループフィルタを予測基準224に適用し、インター予測によって導入された歪み(例えば、ブロッキングアーチファクト)を低減又は解消することができる。符号器は、例えば、デブロッキング、サンプル適応オフセット(SAO)、適応ループフィルタ(ALF)、又は同様のものなど、様々なループフィルタ技法をループフィルタ段階232において適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像シーケンス202の将来のピクチャのためのインター予測基準ピクチャとして用いられるために)バッファ234(又は「復号化ピクチャバッファ(DPB)」)内に記憶され得る。符号器は、1つ以上の参照ピクチャを、時間的予測段階2044において用いられるためにバッファ234内に記憶することができる。いくつかの実施形態では、符号器は、ループフィルタのパラメータ(例えば、ループフィルタ強度)を、量子化変換係数216、予測データ206、及び他の情報と共に、2値符号化段階226において符号化することができる。
【0063】
[0086]
図3Aは、本開示の実施形態に従う、例示的な復号化プロセス300Aの概略図を示す。プロセス300Aは、
図2Aにおける圧縮プロセス200Aに対応する復元プロセスであり得る。いくつかの実施形態では、プロセス300Aはプロセス200Aの再構成経路と似たものであり得る。復号器は、プロセス300Aに従って映像ビットストリーム228を映像ストリーム304に復号化することができる。映像ストリーム304は映像シーケンス202とよく似たものであり得る。しかし、圧縮及び復元プロセス(例えば、
図2A~
図2Bにおける量子化段階214)における情報損失のため、概して、映像ストリーム304は映像シーケンス202と同一ではない。
図2A~
図2Bにおけるプロセス200A及び200Bと同様に、復号器は、映像ビットストリーム228内に符号化されたピクチャごとに基本処理ユニット(BPU)のレベルでプロセス300Aを遂行することができる。例えば、復号器は、プロセス300Aを反復的な方法で遂行することができ、その場合、復号器は、基本処理ユニットをプロセス300Aの1回の反復において復号化することができる。いくつかの実施形態では、復号器は、プロセス300Aを、映像ビットストリーム228内に符号化された各ピクチャの領域(例えば、領域114~118)のために並行して遂行することができる。
【0064】
[0087]
図3Aにおいて、復号器は、符号化ピクチャの基本処理ユニット(「符号化BPU」と称される)に関連付けられた映像ビットストリーム228の部分を2値復号化段階302に供給することができる。2値復号化段階302において、復号器は、当該部分を予測データ206及び量子化変換係数216に復号化することができる。復号器は、量子化変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構成残差BPU222を生成することができる。復号器は、予測データ206を予測段階204に供給し、予測BPU208を生成することができる。復号器は、再構成残差BPU222を予測BPU208に加算し、予測基準224を生成することができる。いくつかの実施形態では、予測基準224をバッファ(例えば、コンピュータメモリ内の復号化ピクチャバッファ)内に記憶することができる。復号器は、予測演算をプロセス300Aの次の反復において遂行するために予測基準224を予測段階204に供給することができる。
【0065】
[0088] 復号器は、符号化ピクチャの各符号化BPUを復号化し、符号化ピクチャの次の符号化BPUを符号化するための予測基準224を生成するために、プロセス300Aを反復的に遂行することができる。符号化ピクチャの全ての符号化BPUを復号化した後、復号器は、ピクチャを表示のために映像ストリーム304に出力し、映像ビットストリーム228内の次の符号化ピクチャを復号化するために進むことができる。
【0066】
[0089] 2値復号化段階302において、復号器は、符号器によって用いられた2値符号化技法(例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応2値算術符号化、又は任意の他の可逆圧縮アルゴリズム)の逆演算を遂行することができる。いくつかの実施形態では、予測データ206及び量子化変換係数216のほかに、復号器は、例えば、予測モード、予測演算のパラメータ、変換の種類、量子化プロセスのパラメータ(例えば、量子化パラメータ)、符号器制御パラメータ(例えば、ビットレート制御パラメータ)、又は同様のものなど、他の情報を2値復号化段階302において復号化することができる。いくつかの実施形態では、映像ビットストリーム228がネットワークを通じてパケットの形で伝送される場合、復号器は映像ビットストリーム228を、それを2値復号化段階302に供給する前にデパケット化することができる。
【0067】
[0090]
図3Bは、本開示の実施形態に従う、別の例示的な復号化プロセス300Bの概略図を示す。プロセス300Bはプロセス300Aから変更され得る。例えば、プロセス300Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠した復号器によって用いられ得る。プロセス300Aと比べて、プロセス300Bは、予測段階204を空間的予測段階2042及び時間的予測段階2044に追加的に分割し、ループフィルタ段階232及びバッファ234を追加的に含む。
【0068】
[0091] プロセス300Bにおいて、復号化中の符号化ピクチャ(「現在のピクチャ」と称される)の符号化基本処理ユニット(「現在のBPU」と称される)のために、復号器によって2値復号化段階302から復号化された予測データ206は、いかなる予測モードが符号器によって現在のBPUを符号化するために用いられたかに依存して、様々な種類のデータを含むことができる。例えば、イントラ予測が符号器により、現在のBPUを符号化するために用いられた場合、予測データ206は、イントラ予測、イントラ予測演算のパラメータ、又は同様のものを指示する予測モードインジケータ(例えば、フラグ値)を含むことができる。イントラ予測演算のパラメータは、例えば、参照として用いられる1つ以上の隣接BPUの場所(例えば、座標)、隣接BPUのサイズ、外挿のパラメータ、原BPUに対する隣接BPUの方向、又は同様のものを含むことができる。別の例として、インター予測が符号器により、現在のBPUを符号化するために用いられた場合、予測データ206は、インター予測、インター予測演算のパラメータ、又は同様のものを指示する予測モードインジケータ(例えば、フラグ値)を含むことができる。インター予測演算のパラメータは、例えば、現在のBPUに関連付けられた参照ピクチャの数、参照ピクチャにそれぞれ関連付けられた重み、それぞれの参照ピクチャ内の1つ以上のマッチング領域の場所(例えば、座標)、マッチング領域にそれぞれ関連付けられた1つ以上の動きベクトル、又は同様のものを含むことができる。
【0069】
[0092] 予測モードインジケータに基づいて、復号器は、空間的予測段階2042において空間的予測(例えば、イントラ予測)を遂行するべきか、又は時間的予測段階2044において時間的予測(例えば、インター予測)を遂行するべきかを決定することができる。このような空間的予測又は時間的予測を遂行することの詳細は
図2Bにおいて説明されており、以下、繰り返されない。このような空間的予測又は時間的予測を遂行した後、復号器は、予測BPU208を生成することができる。復号器は、
図3Aにおいて説明されたように、予測BPU208及び再構成残差BPU222を加算し、予測基準224を生成することができる。
【0070】
[0093] プロセス300Bにおいて、復号器は、予測演算をプロセス300Bの次の反復において遂行するために予測基準224を空間的予測段階2042又は時間的予測段階2044に供給することができる。例えば、現在のBPUが空間的予測段階2042においてイントラ予測を用いて復号化される場合、予測基準224(例えば、復号化された現在のBPU)を生成した後、復号器は、予測基準224を後の使用のために(例えば、現在のピクチャの次のBPUの外挿のために)空間的予測段階2042に直接供給することができる。現在のBPUが時間的予測段階2044においてインター予測を用いて復号化される場合、予測基準224(例えば、全てのBPUが復号化された参照ピクチャ)を生成した後、符号器は、予測基準224をループフィルタ段階232に供給し、歪み(例えば、ブロッキングアーチファクト)を低減又は解消することができる。復号器は、
図2Bにおいて説明されたとおりの方法で、ループフィルタを予測基準224に適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像ビットストリーム228の将来の符号化ピクチャのためのインター予測基準ピクチャとして用いられるために)バッファ234(例えば、コンピュータメモリ内の復号化ピクチャバッファ(DPB))内に記憶され得る。復号器は、1つ以上の参照ピクチャを、時間的予測段階2044において用いられるためにバッファ234内に記憶することができる。いくつかの実施形態では、予測データ206の予測モードインジケータが、インター予測が、現在のBPUを符号化するために用いられたことを指示するときには、予測データはループフィルタのパラメータ(例えば、ループフィルタ強度)をさらに含むことができる。バッファ234からの再構成されたピクチャは、エンドユーザが見るためにTV、PC、スマートフォン、又はタブレットなどのディスプレイに送信することもできる。
【0071】
[0094]
図4は、本開示の実施形態に従う、映像を符号化又は復号化するための例示的な機器400のブロック図である。
図4に示されるように、機器400はプロセッサ402を含むことができる。プロセッサ402が、本明細書において説明される命令を実行したとき、機器400は映像符号化又は復号化のための特殊機械になることができる。プロセッサ402は、情報を操作又は処理する能力を有する任意の種類の回路機構であり得る。例えば、プロセッサ402は、中央処理装置(又は「CPU」)、グラフィック処理装置(又は「GPU」)、ニューラル処理装置(「NPU」)、マイクロコントローラユニット(「MCU」)、光プロセッサ、プログラマブル論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、知的財産(IP)コア、プログラマブル論理アレイ(PLA)、プログラマブルアレイ論理(PAL)、ジェネリックアレイ論理(GAL)、複合プログラマブル論理装置(CPLD)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)、又は同様のものの任意の数の任意の組み合わせを含むことができる。いくつかの実施形態では、プロセッサ402は、単一の論理構成要素としてグループ化されたプロセッサのセットでもあり得る。例えば、
図4に示されるように、プロセッサ402は、プロセッサ402a、プロセッサ402b、及びプロセッサ402nを含む、複数のプロセッサを含むことができる。
【0072】
[0095] 機器400は、データ(例えば、命令のセット、コンピュータコード、中間データ又は同様のもの)を記憶するように構成されたメモリ404も含むことができる。例えば、
図4に示されるように、記憶されるデータは、プログラム命令(例えば、プロセス200A、200B、300A、又は300Bにおける段階を実施するためのプログラム命令)、並びに処理のためのデータ(例えば、映像シーケンス202、映像ビットストリーム228、又は映像ストリーム304)を含むことができる。プロセッサ402は(例えば、バス410を介して)プログラム命令及び処理のためのデータにアクセスし、プログラム命令を実行し、処理のためのデータに対する演算又は操作を遂行することができる。メモリ404は高速ランダムアクセス記憶デバイス又は不揮発性記憶デバイスを含むことができる。いくつかの実施形態では、メモリ404は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティデジタル(SD)カード、メモリスティック、コンパクトフラッシュ(登録商標)(CF)カード、又は同様のものの任意の数の任意の組み合わせを含むことができる。メモリ404は、単一の論理構成要素としてグループ化されたメモリのグループ(
図4には示されていない)でもあり得る。
【0073】
[0096] バス410は、内部バス(例えば、CPU-メモリバス)、外部バス(例えば、ユニバーサルシリアルバスポート、ペリフェラルコンポーネントインターコネクトエクスプレスポート)、又は同様のものなど、機器400の内部の構成要素間でデータを転送する通信デバイスであり得る。
【0074】
[0097] 曖昧さを生じさせることなく説明を容易にするために、プロセッサ402及び他のデータ処理回路は、本開示においてまとめて「データ処理回路」と称される。データ処理回路は、完全にハードウェアとして、又はソフトウェア、ハードウェア若しくはファームウェアの組み合わせとして実施され得る。加えて、データ処理回路は、単一の独立モジュールであり得るか、又は機器400の任意の他の構成要素に完全に若しくは部分的に組み合わされ得る。
【0075】
[0098] 機器400は、ネットワーク(例えば、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク又は同様のもの)との有線又は無線通信を提供するためのネットワークインターフェース406をさらに含むことができる。いくつかの実施形態では、ネットワークインターフェース406は、ネットワークインターフェースコントローラ(NIC)、無線周波数(RF)モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、Bluetooth(登録商標)アダプタ、赤外線アダプタ、近距離無線通信(「NFC」)アダプタ、セルラーネットワークチップ、又は同様のものの任意の数の任意の組み合わせを含むことができる。
【0076】
[0099] いくつかの実施形態では、任意選択的に、機器400は、1つ以上の周辺デバイスへの接続を提供するための周辺インターフェース408をさらに含むことができる。
図4に示されるように、周辺デバイスは、限定するものではないが、カーソル制御デバイス(例えば、マウス、タッチパッド若しくはタッチスクリーン)、キーボード、ディスプレイ(例えば、陰極線管ディスプレイ、液晶ディスプレイ若しくは発光ダイオードディスプレイ)、映像入力デバイス(例えば、カメラ若しくは映像アーカイブに結合された入力インターフェース)、又は同様のものを含むことができる。
【0077】
[0100] 映像コーデック(例えば、プロセス200A、200B、300A又は300Bを遂行するコーデック)は、機器400内の任意のソフトウェア又はハードウェアモジュールの任意の組み合わせとして実施され得ることに留意されたい。例えば、プロセス200A、200B、300A、又は300Bの一部又は全ての段階は、メモリ404内にロードされ得るプログラム命令など、機器400の1つ以上のソフトウェアモジュールとして実施され得る。別の例として、プロセス200A、200B、300A、又は300Bの一部又は全ての段階は、特殊データ処理回路(例えば、FPGA、ASIC、NPU、又は同様のもの)など、機器400の1つ以上のハードウェアモジュールとして実施され得る。
【0078】
[0101]
図5は、本開示のいくつかの実施形態に従う、符号器によって符号化されるビットストリーム500の一例の概略図である。いくつかの実施形態では、ビットストリーム500の構造を、
図2A~
図2B及び
図3A~
図3Bに示す映像ビットストリーム228に適用することができる。
図5では、ビットストリーム500は、映像パラメータセット(VPS)510、シーケンスパラメータセット(SPS)520、ピクチャパラメータセット(PPS)530、ピクチャヘッダ540、スライス550~570を含み、これらは、同期マーカM1~M7によって隔てられている。スライス550~570は、対応するヘッダブロック(例えば、ヘッダ552)及びデータブロック(例えば、データ554)をそれぞれ含み、各データブロックは、1つ以上のCTU(例えば、データ554内のCTU1~CTUn)を含む。
【0079】
[0102] 一部の実施形態によれば、ネットワーク抽象化レイヤ(NAL)ユニット又はバイトストリーム形式のビットのシーケンスであるビットストリーム500が、1つ以上の符号化映像シーケンス(CVS)を形成する。CVSは、1つ以上の符号化レイヤ映像シーケンス(CLVS)を含む。いくつかの実施形態では、CLVSがピクチャユニット(PU)のシーケンスであり、各PUは、1つの符号化ピクチャを含む。とりわけ、PUは、ペイロードとしてのピクチャヘッダシンタックス構造、1つ以上の映像符号化レイヤ(VCL)NALユニットを含む1つの符号化ピクチャ、及び任意選択的に1つ以上の他の非VCL NALユニットを含む、ゼロ又は1つのピクチャヘッダNALユニット(例えば、ピクチャヘッダ540)を含む。VCL NALユニットは、符号化スライスNALユニット(例えば、スライス550~570)、及びいくつかの実施形態ではVCL NALユニットとして分類されるNALユニットの種類の予約値を有するNALユニットのサブセットの総称である。符号化スライスNALユニットは、スライスヘッダ及びスライスデータブロック(例えば、ヘッダ552及びデータ554)を含む。
【0080】
[0103] 換言すれば、本開示のいくつかの実施形態では、レイヤは、NALレイヤIDの特定の値を有する映像符号化レイヤ(VCL)NALユニット、及び関連する非VCL NALユニットのセットであり得る。これらのレイヤの中で、高い圧縮性能を実現するために様々なレイヤ間にレイヤ間予測を適用することができる。
【0081】
[0104] いくつかの実施形態では、全てではないが、いくつかのレイヤの復号化をサポートするために出力レイヤセット(OLS)が指定され得る。OLSは、レイヤの指定セットを含むレイヤのセットであり、レイヤの指定セットにおいて、レイヤのセット内の1つ以上のレイヤが、出力レイヤであると指定される。従って、OLSは、1つ以上の出力レイヤと、レイヤ間予測のために出力レイヤを復号化するのに必要な他のレイヤとを含み得る。
【0082】
[0105] いくつかの実施形態では、ビットストリームに対する制約、従ってビットストリームを復号化するのに必要な能力に対する限界を指定するために、「プロファイル」、「ティア」及び「レベル」(「PTL」として集合的に知られる)が使用される。プロファイル、ティア及びレベルは、個々の復号器の実装間の相互運用点を示すために使用することもできる。「プロファイル」は、ビットストリームシンタックスのサブセットであり、そのプロファイルに準拠する復号器によってサポートされ得るアルゴリズムの特徴及び限界のサブセットを指定する。所与のプロファイルのシンタックスによって課される境界内において、復号化ピクチャの指定のサイズなど、ビットストリーム内のシンタックス要素によって取られる値に応じて符号器及び復号器の性能の変動を求めることが可能である。いくつかの応用例では、特定のプロファイル内のシンタックスの全ての仮想的使用を扱うことができる復号器を実装することは、実用的でも経済的でもない場合がある。
【0083】
[0106] 加えて、「ティア」及び「レベル」が各プロファイル内で指定される。ティアのレベルは、ビットストリーム内のシンタックス要素の値に課される指定の制約のセットである。これらの制約は、値に対する簡単な制限であり得る。代わりに、これらは、値の算術的組み合わせ(例えば、ピクチャ幅×ピクチャ高さ×1秒当たりの復号化ピクチャ数)に対する制約の形態を取り得る。いくつかの実施形態では、全てのプロファイルについて、ティア及びレベルの定義の同じセットが使用される。いくつかの実装形態は、サポートされるプロファイルごとに、異なるティアと、ティア内の異なるレベルとをサポートし得る。所与のプロファイルに関して、ティアのレベルは、概して、特定の復号器の処理負荷及びメモリ機能に対応する。低いティアについて指定されるレベルは、高いティアについて指定されるレベルよりも制約され得る。
【0084】
[0107]
図6Aは、本開示のいくつかの実施形態に従う、太字で強調された、VPS又はSPS内でシグナリングされるPTLシンタックス構造600Aの例示的な符号化シンタックス表を示す。いくつかの実施形態では、パラメータTargetOlsIdx及びHtidによって識別される各演算点のPTL関連情報は、映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)内でシグナリングされるPTLシンタックス構造600A内のパラメータ610A及び620A(例えば、general_profile_idc及びgeneral_tier_flag)及びPTLシンタックス構造内に見られるか又はPTLシンタックス構造から導出されるパラメータ630A(例えば、sublayer_level_idc[Htid])によって示され得る。TargetOlsIdxは、復号化されるターゲットOLSのOLSインデックスを識別するために使用される変数であり、Htidは、復号化される最上位の時間軸方向サブレイヤを識別するために使用される変数である。
【0085】
[0108] 上記の段落で説明したように、復号化ピクチャバッファ(DPB)は、復号化ピクチャを記憶するためのピクチャ記憶バッファを含む。ピクチャ記憶バッファのそれぞれは、「参照目的に使用される」と印付けされるか、又は将来出力するために保持される復号化ピクチャを含み得る。いくつかの実施形態では、OLS内の最下位レイヤから開始し、OLS内のレイヤのnuh_layer_id値の小さい順にプロセスが逐次的に適用されるように指定され、レイヤごとに別々に適用され、nuh_layer_idは、VCL NALユニットが属するレイヤの識別子又は非VCL NALユニットが当てはまるレイヤの識別子を指定するパラメータである。いくつかの実施形態では、nuh_layer_idの値は、符号化ピクチャ又はPUのVCL NALユニットに関して同じであるべきである。プロセスは、現在のピクチャを復号化する前にDPBからピクチャを出力し、除去するプロセス、現在の復号化ピクチャを印付けし記憶するプロセス、追加のバンピングのプロセスを含む。
【0086】
[0109]
図6Bは、本開示のいくつかの実施形態に従う、太字で強調された、VPS又はSPS内でシグナリングされるDPBパラメータシンタックス構造600Bの例示的な符号化シンタックス表を示す。
図6Bに示すように、上記のプロセスを適用し、ビットストリームの適合性をチェックするのに必要なパラメータであるDPBパラメータ610B、620B、及び630Bは、VPS又はSPS内でシグナリングされるDPBパラメータシンタックス構造600B内に見られるか又はDPBパラメータシンタックス構造から導出され得る。これらのパラメータは、max_dec_pic_buffering_minus1[Htid]、max_num_reorder_pics[Htid]及びMaxLatencyPictures[Htid])を含み得る。
【0087】
[0110] いくつかの実施形態では、パラメータ610B(例えば、max_dec_pic_buffering_minus1[i])プラス1は、Htidがインデックスiに等しい場合、ピクチャ記憶バッファを単位にしたDPBの最大所要サイズを指定する。パラメータ610Bの値は、0以上、(MaxDpbSize-1)以下の範囲内にあり得る。MaxDpbSizeは、ピクチャ記憶バッファを単位にした最大復号化ピクチャバッファサイズを指定するパラメータである。インデックスiが0を上回る場合、max_dec_pic_buffering_minus1[i]は、max_dec_pic_buffering_minus1[i-1]以上であるものとする。0以上、(maxSubLayersMinus1-1)以下の範囲内のインデックスiに関してmax_dec_pic_buffering_minus1[i]がない場合、subLayerInfoFlagが0に等しいことにより、パラメータ610Bは、max_dec_pic_buffering_minus1[maxSubLayersMinus1]に等しいと推論される。
【0088】
[0111] パラメータ620B(例えば、max_num_reorder_pics[i])は、OLSのピクチャの最大許容数を指定し、Htidがインデックスiに等しい場合、OLS内の任意のピクチャに復号順で先行し、当該ピクチャに出力順で続き得る。パラメータ620Bの値は、0以上、max_dec_pic_buffering_minus1[i]以下の範囲内にあり得る。インデックスiが0を上回る場合、パラメータ620Bは、max_num_reorder_pics[i-1]以上であり得る。0以上、maxSubLayersMinus1マイナス1以下の範囲内のインデックスiに関してパラメータ620Bがない場合、subLayerInfoFlagが0に等しいことにより、パラメータ620Bは、max_num_reorder_pics[maxSubLayersMinus1]に等しいと推論される。
【0089】
[0112] パラメータ630Bは、OLS内のピクチャの最大数を指定するMaxLatencyPictures[i]の値を計算するために使用することができ、Htidがインデックスiに等しい場合、OLS内の任意のピクチャに出力順で先行し、当該ピクチャに復号順で続き得る。パラメータ630Bが0に等しい場合、対応する限界は、表されない。パラメータ630Bが0に等しくない場合、MaxLatencyPictures[i]の値を以下の式に基づいて求めることができる。
MaxLatencyPictures[i]=max_num_reorder_pics[i]+max_latency_increase_plus1[i]-1 (式1)
【0090】
[0113] パラメータ630Bの値は、0以上、(232-2)以下の範囲内にあり得る。0以上、maxSubLayersMinus1マイナス1以下の範囲内のインデックスiに関してパラメータ630Bがない場合、subLayerInfoFlagが0に等しいことにより、パラメータ630Bは、max_latency_increase_plus1[maxSubLayersMinus1]に等しいと推論される。
【0091】
[0114] 仮想参照復号器(HRD)は、符号化プロセスがもたらし得る準拠NALユニットストリーム又は準拠バイトストリームの多様性に対する制約を指定し、ビットストリーム及び復号器の適合性をチェックするために使用することができる仮想復号器モデルである。2種類のビットストリーム又はビットストリームサブセットがVVCに関するHRD準拠のチェックの対象となる。タイプIビットストリームと名付けられる第1の種類は、ビットストリーム内の全てのアクセスユニット(AU)についてnal_unit_typeが充填データNALユニット(FD_NUT)に等しい、VCL NALユニット及びNALユニットを含むNALユニットストリームである。タイプIIビットストリームと名付けられる第2の種類は、ビットストリーム内の全てのAUに関するVCL NALユニット及び充填データNALユニットに加えて、(1)充填データNALユニット以外の追加の非VCL NALユニット、又は(2)NALユニットストリームからのバイトストリームを形成する全てのleading_zero_8bitsシンタックス要素、zero_byteシンタックス要素、start_code_prefix_one_3bytesシンタックス要素及びtrailing_zero_8bitsシンタックス要素の少なくとも1つを含む。いくつかの実施形態では、leading_zero_8bitsは、0×00に等しいバイトであり、zero_byteは、0×00に等しいシングルバイトであり、開始符号プレフィックスと呼ばれるstart_code_prefix_one_3bytesは、0×000001に等しい3バイトの固定値シーケンスであり、trailing_zero_8bitsは、0×00に等しいバイトである。いくつかの実施形態では、leading_zero_8bitsシンタックス要素がビットストリームの最初のバイトストリームNALユニット内にある。NALユニットシンタックス構造に従い、4バイトシーケンス0×00000001に先行する0×00に等しい(zero_byteシンタックス要素と、その後に続くstart_code_prefix_one_3bytesシンタックス要素として解釈すべき)いかなるバイトも、先行するバイトストリームNALユニットの一部であるtrailing_zero_8bitsシンタックス要素と見なされる。
【0092】
[0115]
図7A及び
図7Bは、本開示のいくつかの実施形態に従う、太字で強調された、HRDパラメータシンタックス構造700A及び700Bのそれぞれの例示的な符号化シンタックス表を示す。700A及び700Bは、VPS又はSPS内でシグナリングされ得る。
図7A及び
図7Bに示すように、HRDパラメータの2つのセット(NAL HRDパラメータ及びVCL HRDパラメータ)を使用することができる。HRDパラメータは、VPSの一部又はSPSの一部であり得る、
図7Aの汎用HRDパラメータシンタックス構造700A及び
図7BのOLS HRDパラメータシンタックス構造700Bによってシグナリングされ得る。
【0093】
[0116] 上記で説明したように、OLS、PTLシンタックス構造(例えば、
図6AのPTLシンタックス構造600A)、DPBパラメータシンタックス構造(例えば、
図6BのDPBパラメータシンタックス構造600B)、及びHRDパラメータシンタックス構造(例えば、
図7A及び
図7Bのシンタックス構造700A、700B)は、VPS又はSPS内でシグナリングされ得る。これらのシンタックス構造のそれぞれについて、VPS又はSPSは、各OLSに適用されるシンタックス構造のセット、及びシンタックス構造のインデックスをシグナリングする。
【0094】
[0117]
図8は、本開示のいくつかの実施形態に従う、太字で強調された、VPS内でシグナリングされるVPS未加工バイトシーケンスペイロード(RBSP)シンタックス構造800の一部の例示的な符号化シンタックス表を示す。
図8に示すように、VPSパラメータ810(vps_max_layers_minus1)プラス1は、VPSを参照する各CVS内のレイヤの最大許容数を指定する。VPSパラメータ812(vps_max_sublayers_minus1)プラス1は、VPSを参照する各CVS内のレイヤ内にあり得る時間軸方向サブレイヤの最大数を指定する。いくつかの実施形態では、VPSパラメータ812の値は、0以上、既定の静的な値(例えば、6)以下の範囲内にある。1に等しいVPSパラメータ814(each_layer_is_an_ols_flag)は、各OLSが1つのレイヤを含み、VPSを参照するCVS内の各レイヤ自体が、唯一の出力レイヤである単一の含まれるレイヤを有するOLSであることを示す。0に等しいVPSパラメータ814は、OLSが複数のレイヤを含み得ることを示す。VPSパラメータ810が0に等しい場合、VPSパラメータ814の値は、1に等しいと推論される。いくつかの実施形態では、対応するフラグが、VPSによって指定されるレイヤの1つ以上がレイヤ間予測を使用できることを指定する場合(例えば、vps_all_independent_layers_flagが0に等しい場合)、VPSパラメータ814の値は、0に等しいと推論される。
【0095】
[0118] いくつかの実施形態では、VPSパラメータ816(ols_mode_idc)の値が0以上2以下の範囲内にあり得、VPSパラメータ816の3の値は、将来使用するために予約することができる。いくつかの実施形態では、0に等しいVPSパラメータ816は、VPSによって指定されるOLSの総数(TotalNumOlss)がVPSパラメータ810プラス1の値に等しく、i番目のOLSが、0~インデックスiのレイヤインデックスを有するレイヤを含み、各OLSについてOLS内の最上位レイヤのみが出力されることを指定する。1に等しいVPSパラメータ816は、VPSによって指定されるOLSの総数がVPSパラメータ810プラス1に等しく、i番目のOLSが、0~インデックスiのレイヤインデックスを有するレイヤを含み、各OLSについてOLS内の全てのレイヤが出力されることを指定する。2に等しいVPSパラメータ816は、VPSによって指定されるOLSの総数がVPSパラメータ818を使用して明確にシグナリングされ、各OLSについて出力されるレイヤが明確にシグナリングされ、他のレイヤがOLSの出力レイヤの直接的又は間接的な参照レイヤであることを指定する。
【0096】
[0119] いくつかの実施形態では、対応するフラグが、VPSによって指定される全てのレイヤがレイヤ間予測を使用することなしに独立に符号化されることを指定し(例えば、vps_all_independent_layers_flagが1に等しい)、VPSパラメータ814が0に等しい場合、VPSパラメータ816の値は、2に等しいと推論される。
【0097】
[0120] VPSパラメータ816が2に等しい場合、OLSの総数マイナス1を示すために、VPSパラメータ818(num_output_layer_sets_minus1)がシグナリングされる。換言すれば、VPSパラメータ818プラス1は、VPSパラメータ816が2に等しいときにVPSによって指定されるOLSの総数(例えば、変数TotalNumOlss)を指定する。変数TotalNumOlssは、以下のようにコードから導出し、計算することができる。
if(vps_max_layers_minus1==0)
TotalNumOlss=1
else if(each_layer_is_an_ols_flag||ols_mode_idc==0||ols_mode_idc==1)
TotalNumOlss=vps_max_layers_minus1+1
else if(ols_mode_idc==2)
TotalNumOlss=num_output_layer_sets_minus1+1
【0098】
[0121] 加えて、VPSパラメータ816が2に等しい場合、1に等しいVPSパラメータ820(ols_output_layer_flag[i][j])は、j番目のレイヤ(即ちvps_layer_id[j]に等しいnuh_layer_idを有するレイヤ)がi番目のOLSの出力レイヤであることを指定し、0に等しいVPSパラメータ820は、j番目のレイヤがi番目のOLSの出力レイヤではないことを指定する。別の言い方をすれば、対応するフラグ(例えば、VPSパラメータ820)をシグナリングすることにより、あるOLS内でレイヤが出力レイヤであるかそうでないかを示すために、CVS内のレイヤごとに各OLSを定めることができる。
【0099】
[0122] VPSパラメータ822(vps_num_ptls_minus1)プラス1は、VPS内のPTLシンタックス構造の数を指定する。VPSパラメータ822の値は、OLSの総数(即ちTotalNumOlss)未満であり得る。
【0100】
[0123] 1に等しいVPSパラメータ824(pt_present_flag[i])は、プロファイル、ティア、及び全般的な制約情報が、VPS内のi番目のPTLシンタックス構造内にあることを指定する。0に等しいVPSパラメータ824は、プロファイル、ティア、及び全般的な制約情報が、VPS内のi番目のPTLシンタックス構造内にないことを指定する。いくつかの実施形態では、pt_present_flag[0]の値が1に等しいと推論される。VPSパラメータ824が0に等しい場合、VPS内のi番目のPTLシンタックス構造に関するプロファイル、ティア、及び全般的な制約情報は、VPS内の(i-1)番目のPTLシンタックス構造のものと同じであると推論される。
【0101】
[0124] VPSパラメータ826(ptl_max_temporal_id[i])は、VPS内のi番目のPTLシンタックス構造内にレベル情報がある最上位サブレイヤ表現の時間的識別子(TemporalId)を指定する。VPSパラメータ826の値は、0以上、VPSパラメータ812以下の範囲内にあり得る。VPSパラメータ812が0に等しい場合、VPSパラメータ826の値は、0に等しいと推論される。VPSパラメータ812が0を上回り、対応するフラグ(例えば、vps_all_layers_same_num_sublayers_flag)が1に等しい場合、VPSパラメータ826の値は、VPSパラメータ812に等しいと推論される。
【0102】
[0125] いくつかの実施形態では、VPSパラメータ828(vps_ptl_alignment_zero_bit)が0に等しくなり得る。いくつかの実施形態では、VPSパラメータ830(ols_ptl_idx[i])は、i番目のOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する。存在する場合、VPSパラメータ830の値は、0以上、VPSパラメータ822以下の範囲内にあり得る。VPSパラメータ828が0に等しい場合、VPSパラメータ830の値は、0に等しいと推論される。
【0103】
[0126] i番目のOLS内のレイヤの数を指定する変数であるNumLayersInOls[i]が1に等しい場合、i番目のOLSに当てはまるPTLシンタックス構造も、i番目のOLS内のレイヤによって参照されるSPS内にある。いくつかの実施形態では、i番目のOLS内のレイヤの数が1に等しい場合、i番目のOLSに関してVPS内において及びSPS内においてシグナリングされるPTLシンタックス構造が同一であり得ることは、ビットストリーム適合性の要件である。
【0104】
[0127] VPSパラメータ832(vps_num_dpb_params)は、VPS内のDPBパラメータシンタックス構造の数を指定する。いくつかの実施形態では、VPSパラメータ832の値は、0以上16以下の範囲内にあり得る。ない場合、VPSパラメータ832の値は、0に等しいと推論される。
【0105】
[0128] VPSパラメータ834(vps_sublayer_dpb_params_present_flag)は、VPS内のDPBパラメータシンタックス構造内のシンタックス要素(例えば、max_dec_pic_buffering_minus1[]、max_num_reorder_pics[]及びmax_latency_increase_plus1[])の存在を制御するために使用される。ない場合、VPSパラメータ834は、0に等しいと推論される。
【0106】
[0129] VPSパラメータ836(dpb_max_temporal_id[i])は、VPS内のi番目のDPBパラメータシンタックス構造内にDPBパラメータがあり得る最上位サブレイヤ表現のTemporalIdを指定する。VPSパラメータ836の値は、0以上、VPSパラメータ812以下の範囲内にあり得る。VPSパラメータ812が0に等しい場合、VPSパラメータ836の値は、0に等しいと推論される。VPSパラメータ812が0を上回り、対応するフラグ(例えば、vps_all_layers_same_num_sublayers_flag)が1に等しい場合、VPSパラメータ836の値は、VPSパラメータ812に等しいと推論される。
【0107】
[0130] VPSパラメータ838(ols_dpb_pic_width[i])及びVPSパラメータ840(ols_dpb_pic_height[i])は、i番目のOLSに関する各ピクチャ記憶バッファのルマサンプル単位の幅及び高さをそれぞれ指定する。
【0108】
[0131] VPSパラメータ842(ols_dpb_params_idx[i])は、NumLayersInOls[i]が1を上回るとき、i番目のOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する。ある場合、VPSパラメータ842の値は、0以上、VPSパラメータ832マイナス1以下の範囲内にあり得る。VPSパラメータ842がない場合、VPSパラメータ842の値は、0に等しいと推論される。いくつかの実施形態では、NumLayersInOls[i]が1に等しい場合、i番目のOLSに当てはまるDPBパラメータシンタックス構造は、i番目のOLS内のレイヤによって参照されるSPS内にある。
【0109】
[0132] 1に等しいVPSパラメータ844(vps_general_hrd_params_present_flag)は、汎用HRDパラメータシンタックス構造(例えば、
図7Aのシンタックス構造700A)及び他のHRDパラメータがVPS RBSPシンタックス構造内にあることを指定する。0に等しいVPSパラメータ844は、汎用HRDパラメータシンタックス構造及び他のHRDパラメータがVPS RBSPシンタックス構造内にないことを指定する。ない場合、VPSパラメータ844の値は、0に等しいと推論される。NumLayersInOls[i]が1に等しい場合、i番目のOLSに当てはまる汎用HRDパラメータシンタックス構造は、i番目のOLS内のレイヤによって参照されるSPS内にある。
【0110】
[0133] 1に等しいVPSパラメータ846(vps_sublayer_cpb_params_present_flag)は、VPS内のi番目のOLS HRDパラメータシンタックス構造(例えば、
図7Bのシンタックス構造700B)が、0以上、VPSパラメータ850の値以下の範囲内にあるTemporalIdを有するサブレイヤ表現に関するHRDパラメータを含むことを指定する。0に等しいVPSパラメータ846は、VPS内のi番目のOLS HRDパラメータシンタックス構造が、VPSパラメータ850のみの値に等しいTemporalIdを有するサブレイヤ表現に関するHRDパラメータを含むことを指定する。VPSパラメータ812が0に等しい場合、VPSパラメータ846の値は、0に等しいと推論される。
【0111】
[0134] VPSパラメータ846が0に等しい場合、0以上、VPSパラメータ850マイナス1の値以下の範囲内にあるTemporalIdを有するサブレイヤ表現に関するHRDパラメータは、VPSパラメータ850に等しいTemporalIdを有するサブレイヤ表現のものと同じであると推論される。いくつかの実施形態では、
図7BのOLS HRDパラメータシンタックス構造700B内の条件ステートメント「if(general_vcl_hrd_params_present_flag)」の下、HRDパラメータがfixed_pic_rate_general_flag[i]シンタックス要素から始まり、sublayer_hrd_parameters(i)シンタックス構造までのものを含む。
【0112】
[0135] VPSパラメータ848(num_ols_hrd_params_minus1)プラス1は、VPSパラメータ844が1に等しいとき、汎用HRDパラメータシンタックス構造内にあるOLS HRDパラメータシンタックス構造の数を指定する。VPSパラメータ848の値は、0以上、TotalNumOlssマイナス1の値以下の範囲内にあり得る。
【0113】
[0136] VPSパラメータ850(hrd_max_tid[i])は、i番目のOLS HRDパラメータシンタックス構造内にHRDパラメータが含まれる最上位サブレイヤ表現のTemporalIdを指定する。VPSパラメータ850の値は、0以上、VPSパラメータ812以下の範囲内にあり得る。VPSパラメータ812が0に等しい場合、VPSパラメータ850の値は、0に等しいと推論される。VPSパラメータ812が0を上回り、対応するフラグ(例えば、vps_all_layers_same_num_sublayers_flag)が1に等しい場合、VPSパラメータ850の値は、VPSパラメータ812に等しいと推論される。
【0114】
[0137] VPSパラメータ852(ols_hrd_idx[i])は、NumLayersInOls[i]が1を上回るとき、i番目のOLSに当てはまるOLS HRDパラメータシンタックス構造の、VPS内のOLS HRDパラメータシンタックス構造のリストに対するインデックスを指定する。VPSパラメータ852の値は、0以上、VPSパラメータ848以下の範囲内にあり得る。NumLayersInOls[i]が1に等しい場合、i番目のOLSに当てはまるOLS HRDパラメータシンタックス構造は、i番目のOLS内のレイヤによって参照されるSPS内にある。いくつかの実施形態では、VPSパラメータ848プラス1の値がTotalNumOlssに等しい場合、VPSパラメータ852の値は、インデックスiに等しいと推論される。いくつかの実施形態では、NumLayersInOls[i]が1を上回り、VPSパラメータ848が0に等しい場合、VPSパラメータ852の値は、0に等しいと推論される。
【0115】
[0138] シーケンスパラメータセット(SPS)のレイヤが独立したレイヤである場合、PTLパラメータシンタックス構造、DPBパラメータシンタックス構造、及びHRDパラメータシンタックス構造は、SPS内でシグナリングされ得る。
【0116】
[0139]
図9は、本開示のいくつかの実施形態に従う、太字で強調された、SPS内でシグナリングされるSPS RBSPシンタックス構造900の一部の例示的な符号化シンタックス表を示す。
図9に示すように、SPSパラメータ910(sps_seq_parameter_set_id)は、他のシンタックス要素による参照のためのSPSに関する識別子を提供する。nuh_layer_idの値に関係なく、SPS NALユニットは、SPSパラメータ910の同じ値空間を共有する。spsLayerIdを特定のSPS NALユニットのnuh_layer_idの値とし、vclLayerIdを特定のVCL NALユニットのnuh_layer_idの値とする。spsLayerIdがvclLayerId以下であり、spsLayerIdに等しいnuh_layer_idを有するレイヤが、vclLayerIdに等しいnuh_layer_idを有するレイヤを含む少なくとも1つのOLS内に含まれない限り、特定のVCL NALユニットは、特定のSPS NALユニットを参照することはできない。
【0117】
[0140] SPSパラメータ912(sps_video_parameter_set_id)は、SPSパラメータ912が0を上回るとき、SPSによって参照されるVPSのvps_video_parameter_set_idの値を指定する。いくつかの実施形態では、SPSパラメータ912が0に等しい場合、対応するSPSは、VPSを参照せず、SPSを参照する各CLVSを復号化するとき、VPSは、参照されない。加えて、対応するVPSパラメータ810の値は、0に等しいと推論され、CVSは、1つのレイヤのみを含み(即ち、CVS内のVCL NALユニットは、nuh_layer_idの同じ値を有し)、GeneralLayerIdx[nuh_layer_id]の値は、0に等しいと推論され、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]の値は、1に等しいと推論される。vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]が1に等しい場合、特定のnuh_layer_id値、nuhLayerIdと共にCLVSによって参照されるSPSは、nuhLayerIdに等しいnuh_layer_idを有することができる。いくつかの実施形態では、SPSパラメータ912の値は、CVS内のCLVSによって参照されるSPS内で同じであり得る。
【0118】
[0141] SPSパラメータ914(sps_max_sublayers_minus1)プラス1は、SPSを参照する各CLVS内にあり得る時間軸方向サブレイヤの最大数を指定する。SPSパラメータ914の値は、0以上、対応するVPSパラメータ812以下の範囲内にあり得る。
【0119】
[0142] いくつかの実施形態では、SPSパラメータ916(sps_reserved_zero_4bits)がビットストリーム内の0に等しくなり得る。SPSパラメータ916の他の値は、将来使用するために予約することができる。
【0120】
[0143] 1に等しいSPSパラメータ918(sps_ptl_dpb_hrd_params_present_flag)は、PTLシンタックス構造及びDPBパラメータシンタックス構造がSPS内にあり、汎用HRDパラメータシンタックス構造及びOLS HRDパラメータシンタックス構造もSPS内にあり得ることを指定する。0に等しいSPSパラメータ918は、これらの4つのシンタックス構造の何れもSPS内にないことを指定する。SPSパラメータ918の値は、vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]に等しくなり得る。
【0121】
[0144] SPSパラメータ920(sps_sublayer_dpb_params_flag)は、SPS内のDPBパラメータシンタックス構造内のシンタックス要素(例えば、max_dec_pic_buffering_minus1[i]、max_num_reorder_pics[i]及びmax_latency_increase_plus1[i])の存在を制御するために使用される。ない場合、SPSパラメータ920の値は、0に等しいと推論され得る。
【0122】
[0145] 1に等しいSPSパラメータ922(sps_general_hrd_params_present_flag)は、SPSが汎用HRDパラメータシンタックス構造及びOLS HRDパラメータシンタックス構造を含むことを指定する。0に等しいSPSパラメータ922は、SPSが汎用HRDパラメータシンタックス構造又はOLS HRDパラメータシンタックス構造を含まないことを指定する。
【0123】
[0146] 1に等しいSPSパラメータ924(sps_sublayer_cpb_params_present_flag)は、SPS内のOLS HRDパラメータシンタックス構造が、0以上、SPSパラメータ914以下の範囲内にあるTemporalIdを有するサブレイヤ表現に関するHRDパラメータを含むことを指定する。0に等しいSPSパラメータ924は、SPS内のOLS HRDパラメータシンタックス構造が、SPSパラメータ914のみに等しいTemporalIdを有するサブレイヤ表現に関するHRDパラメータを含むことを指定する。SPSパラメータ914が0に等しい場合、SPSパラメータ924の値は、0に等しいと推論される。SPSパラメータ924が0に等しい場合、0以上、SPSパラメータ914マイナス1以下の範囲内にあるTemporalIdを有するサブレイヤ表現に関するHRDパラメータは、SPSパラメータ914に等しいTemporalIdを有するサブレイヤ表現に関するものと同じであると推論される。いくつかの実施形態では、
図7BのOLS HRDパラメータシンタックス構造700B内の条件ステートメント「if(general_vcl_hrd_params_present_flag)」の下、これらのHRDパラメータがfixed_pic_rate_general_flag[i]シンタックス要素から始まり、sublayer_hrd_parameters(i)シンタックス構造までのものを含む。
【0124】
[0147] 上記のVPS又はSPS内のPTL、DPB、及びHRDパラメータのシグナリング、及びOLSのシグナリングに関して、いくつかの問題がある。
【0125】
[0148] 例えば、
図8に示すように、DPB及びHRDパラメータをシグナリングするために、シンタックス構造の数(DPBパラメータのためのVPSパラメータ832及びHRDパラメータのためのVPSパラメータ848)及びi番目のOLSに適用されるシンタックス構造のインデックス(DPBパラメータのためのVPSパラメータ842及びHRDパラメータのためのVPSパラメータ852)が「ue(v)」符号化方法によってVPS内でシグナリングされ、「ue(v)」符号化方法は、小さい値が少ないビットで符号化され、大きい値が多いビットで符号化される可変長符号化方法である。他方で、PTLパラメータをシグナリングするために、シンタックス構造の数であるVPSパラメータ822、及びi番目のOLSに適用されるシンタックス構造のインデックスであるVPSパラメータ830が「u(8)」によって符号化され、「u(8)」は、0~255の範囲内の値について8ビット使用する固定長符号化方法である。
【0126】
[0149] 従って、DPB、HRD、及びPTLパラメータ間の、シンタックス構造の数及びシンタックス構造のインデックスの符号化方法は、異なり得る。加えて、多くの場合、実際の応用においてPTLシンタックス構造の数は、相対的に少ない。これらのシンタックス要素(例えば、VPSパラメータ822及び830)に8ビット使用することは、シグナリングのオーバヘッドを不必要に増やす。
【0127】
[0150] さらに、各OLSに何れのPTL、DPB、及びHRDシンタックス構造が適用されるのかを指定するために、各OLSに関してVPS内でインデックス(例えば、VPSパラメータ830、842、又は852)がシグナリングされる。しかし、OLSの数がシンタックス構造の数に等しい場合、効率的な符号器は、シンタックス構造からOLSへの1対1のマッピングを行い、未使用のシンタックス構造から生じるビットの無駄を回避することができる。従って、符号器は、インデックスをシグナリングすることなく、シンタックス構造をそのシンタックス構造が適用されるOLSの順序でシグナリングすることができる。復号器側において、i番目のシンタックス構造がi番目のOLSに適用されると推論することができる。インデックスのシグナリングをスキップすることによってビット数を減らすことができ、従って符号化効率を改善することができる。いくつかの実施形態では、このメカニズムがHRDパラメータに使用される。いくつかの実施形態では、このメカニズムがPTL及びDPBパラメータにも使用され、シグナリングのオーバヘッドの増加又はシグナリング設計の不整合を防ぐことができる。
【0128】
[0151] さらに、SPSでは、SPSパラメータ914が0を上回る場合にシグナリングされるSPSパラメータ920は、SPS内のDPBパラメータシンタックス構造600B内のパラメータ610B、620B、及び630Bを含むシンタックス要素の存在を制御する。SPSパラメータ920である。SPSパラメータ918が0に等しい場合、DPBパラメータシンタックス構造は、シグナリングされない。別の言い方をすれば、SPSパラメータ914が0を上回り、SPSパラメータ918が0に等しい場合、SPSパラメータ920のシグナリングは、冗長である。
【0129】
[0152] 加えて、
図8のシンタックス構造800では、OLSの総数を指定するために使用されるVPSパラメータ818がコード長8で固定長符号化される。従って、VPSパラメータ818の最大値は、255である。CVS内のレイヤごとにOLSがVPSパラメータ820によって定められ、OLSの総数は、VPSパラメータ820の組み合わせの数以下である。CVS内のレイヤの最大数(即ちVPSパラメータ810プラス1の値)が8未満である場合、VPSパラメータ818に8ビットの固定長符号化を使用することは、不必要であり得る。
【0130】
[0153]
図10Aは、本開示のいくつかの実施形態に従う、例示的な映像符号化方法1000Aのフローチャートを示す。いくつかの実施形態では、映像符号化方法1000Aは、
図5に示すビットストリーム500を生成するために符号器(例えば、
図2Aのプロセス200A又は
図2Bのプロセス200Bを実行する符号器)によって実行され得る。例えば、符号器は、映像シーケンスのためのビットストリーム(例えば、
図2A又は
図2Bの映像ビットストリーム228)を生成するために、映像シーケンス(例えば、
図2A又は
図2Bの映像シーケンス202)を符号化又はトランスコードするための機器(例えば、
図4における機器400)の1つ以上のソフトウェア又はハードウェアコンポーネントとして実装され得る。例えば、プロセッサ(例えば、
図4のプロセッサ402)が映像符号化方法1000Aを実行することができる。
【0131】
[0154] 映像符号化方法1000Aを参照すると、ステップ1010aでは、符号器は、可変長を有するPTL関連情報を指定する1つ以上のPTLシンタックス要素(例えば、
図8のVPSパラメータ822又はVPSパラメータ830)を符号化する。ステップ1020aでは、符号器は、ビットストリーム(例えば、
図5のビットストリーム500)のVPS(例えば、
図5のVPS510)又はSPS(例えば、
図5のSPS520)内で、可変長を有する1つ以上のPTLシンタックス要素をシグナリングする。
【0132】
[0155]
図10Bは、本開示のいくつかの実施形態に従う、
図10Aの映像符号化方法1000Aに対応する例示的な映像復号化方法1000Bのフローチャートを示す。いくつかの実施形態では、映像復号化方法1000Bは、
図5のビットストリーム500を復号化するために復号器(例えば、
図3Aの復号化プロセス300A又は
図3Bの復号化プロセス300Bを実行する復号器)によって実行され得る。例えば、復号器は、ビットストリームの映像ストリーム(例えば、
図3A又は
図3Bの映像ストリーム304)を再構成するために、ビットストリーム(例えば、
図3A又は
図3Bの映像ビットストリーム228)を復号化するための機器(例えば、
図4の機器400)の1つ以上のソフトウェア又はハードウェアコンポーネントとして実装することができる。例えば、プロセッサ(例えば、
図4のプロセッサ402)が映像復号化方法1000Bを実行することができる。
図10Bを参照すると、映像復号化方法1000B内において、ステップ1010bでは、復号化されるVPS又はSPSを含むビットストリーム(例えば、
図5のビットストリーム500)を復号器が受信する。ステップ1020bでは、復号器は、VPS又はSPS内の可変長を有するPTL関連情報を指定する1つ以上のPTLシンタックス要素を復号化する。
【0133】
[0156]
図10C及び
図10Dは、本開示のいくつかの実施形態に従う、例示的なVPSシンタックス構造1000C及び1000Dをそれぞれ示す。VPSシンタックス構造1000C及び1000Dのそれぞれは、方法1000A及び1000B内で使用され得る。VPSシンタックス構造1000C及び1000Dは、
図8のシンタックス構造800に基づいて修正される。
【0134】
[0157]
図10Cに示すように、いくつかの実施形態では、可変長を用いて符号化又は復号化されるPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定する第1のPTLシンタックス要素(例えば、VPSパラメータ830)、又はVPS若しくはSPS内のPTLシンタックス構造の数を指定する第2のPTLシンタックス要素(例えば、VPSパラメータ822)を含み得る。第1のPTLシンタックス要素及び第2のPTLシンタックス要素は、指数-Golombコードを使用することによって符号化又は復号化され得る。例えば、PTLシンタックス構造の数(例えば、VPSパラメータ822)及びPTLシンタックス構造のインデックス(例えば、VPSパラメータ830)は、0次指数-Golombコードである「ue(v)」の符号化方法を使用して符号化され得る。設計の一貫性の観点から、PTLパラメータを「ue(v)」符号化方法によってシグナリングすることにより、PTLパラメータをDPB及びHDRパラメータと同じ方法でシグナリングすることができる。
図10Cに示すように、記述子822d及び830dは、VPSパラメータ822及び830の符号化方法がu(8)からue(v)に変更されることをそれぞれ示す。
図10Cのシンタックス構造1000C内に示すセマンティクス(表の左欄)は、変更されず、従って
図8のシンタックス構造800にあるのと同じである。
【0135】
[0158]
図10Dのシンタックス構造1000Dに示すように、他のいくつかの実施形態では、第1のPTLシンタックス要素(例えば、VPSパラメータ830)を符号化するとき、VPS又はSPS内のPTLシンタックス構造の数の、底を2とする対数以上の最小の整数であるように、第1のPTLシンタックス要素の長さを設定することができる。他のいくつかの実施形態では、第2のPTLシンタックス要素(例えば、VPSパラメータ822)を符号化するとき、第2のPTLシンタックス要素の長さは、u(8)などの固定長であり得る。
【0136】
[0159] 例えば、PTLシンタックス構造のインデックス(例えば、VPSパラメータ830)は、ビット数が固定されていない「u(v)」の符号化方法を使用して符号化することができる。ビット数は、PTLシンタックス構造の数(例えば、VPSパラメータ822)に関連する値など、依然としてu(8)で符号化される他のシンタックス要素の値に依存する。従って、VPSパラメータ822の値をシンタックス解析した後、VPSパラメータ830の長さがCeil(log2(vps_num_ptls_minus1+1))として計算され、ここで、log2(x)は、xの底を2とする対数であり、Ceil(x)は、x以上の最小の整数であり、次いでVPSパラメータ830がCeil(log2(vps_num_ptls_minus1+1))ビットと共にシンタックス解析される。具体的には、VPSパラメータ830では、符号化方法がu(8)からu(v)に変更され得る。
図8に示す実施形態と同様に、存在する場合、VPSパラメータ830の値は、0以上、VPSパラメータ822以下の範囲内にあり得る。VPSパラメータ828が0に等しい場合、VPSパラメータ830の値は、0に等しいと推論される。
【0137】
[0160] いくつかの実施形態では、PTL又はDPBシンタックス構造の数がOLSの数に等しい場合、インデックス(例えば、VPSパラメータ830及び842)をシグナリングなしに推論することができる。インデックスのシグナリングを省くことにより、シグナリングのコストを減らすことができる。
【0138】
[0161]
図11Aは、本開示のいくつかの実施形態に従う、例示的な映像符号化方法1100Aのフローチャートを示す。
図11Bは、本開示のいくつかの実施形態に従う、
図11Aの映像符号化方法1100Aに対応する例示的な映像復号化方法1100Bのフローチャートを示す。
図10Aの方法1000A及び
図10Bの方法1000Bと同様に、映像符号化方法1100A及び映像復号化方法1100Bは、機器の1つ以上のソフトウェア又はハードウェアコンポーネント(例えば、命令のセットを実行するプロセッサ)として実装される符号器及び復号器によって実行され得る。
【0139】
[0162]
図11Aに示す映像符号化方法1100Aを参照すると、ステップ1110aでは、符号器は、VPS内のPTLシンタックス構造の数(vps_num_ptls_minus1+1)とOLSの数(TotalNumOlss)とが同じであるかどうかを判定する。換言すれば、符号器は、符号化映像シーケンス(CVS)が、等しい数のPTLシンタックス構造とOLSとを含むかどうかを判定する。
【0140】
[0163] CVSが、等しい数のPTLシンタックス構造とOLSとを含むこと(ステップ1110a - はい)に応答して、符号器は、ステップ1120a及び1130aをバイパスし、i番目のOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素(例えば、ols_ptl_idx[i])をシグナリングすることなく、ビットストリームを符号化する。
【0141】
[0164] PTLシンタックス構造の数がOLSの数と異なること(ステップ1110a - いいえ)に応答して、ステップ1120aでは、符号器は、(例えば、パラメータvps_num_ptls_minus1がゼロを上回るかどうかを判定することにより)PTLシンタックス構造の数が1に等しいかどうかを判定する。PTLシンタックス構造の数が1以下であること(ステップ1120a - いいえ)に応答して、符号器は、ステップ1130aをバイパスし、VPS内で第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化する。
【0142】
[0165] PTLシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1110a - いいえ、ステップ1120a - はい)に応答して、符号器は、ステップ1130aを実行し、VPS(又はSPS)内で第1のPTLシンタックス要素をシグナリングする。いくつかの実施形態では、第1のPTLシンタックス要素が固定長でシグナリングされる。
【0143】
[0166] 他のいくつかの実施形態では、ステップ1120aがステップ1110a前に実行される。PTLシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1120a - はい、ステップ1110a - いいえ)に応答して、ステップ1130aが実行され、さもなければステップ1130aがスキップされる。例えば、PTLシンタックス構造の数が1に等しいこと(ステップ1120a - いいえ)に応答して、符号器は、ステップ1110a及び1130aの両方をバイパスすることができる。
【0144】
[0167] PTLシンタックス要素の符号化と同様に、DPBシンタックス要素に関するインデックス(例えば、VPSパラメータ842)の符号化は、一定の条件が満たされる場合、シグナリングなしに推論することができる。
【0145】
[0168] ステップ1140aでは、符号器は、VPS内のDPBパラメータシンタックス構造の数(vps_num_dpb_params)と、OLSの数(TotalNumOlss)とが同じであるかどうかを判定する。換言すれば、符号器は、符号化映像シーケンス(CVS)が、等しい数のDPBパラメータシンタックス構造と、OLSとを含むかどうかを判定する。
【0146】
[0169] DPBパラメータシンタックス構造の数がOLSの数と等しいこと(ステップ1140a - はい)に応答して、符号器は、ステップ1150a及び1160aをバイパスし、i番目のOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素(例えば、ols_dpb_params_idx[i])をシグナリングすることなく、ビットストリームを符号化する。
【0147】
[0170] DPBパラメータシンタックス構造の数がOLSの数と異なること(ステップ1140a - いいえ)に応答して、ステップ1150aでは、符号器は、(例えば、パラメータvps_num_dpb_paramsが1を上回るかどうかを判定することにより)DPBパラメータシンタックス構造の数が1に等しいかどうかを判定する。DPBパラメータシンタックス構造の数が1以下であること(ステップ1150a - いいえ)に応答して、符号器は、ステップ1160aをバイパスし、第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化する。
【0148】
[0171] DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1140a - いいえ、ステップ1150a - はい)に応答して、符号器は、ステップ1160aを実行し、VPS内で第1のDPBシンタックス要素をシグナリングする。いくつかの実施形態では、第1のDPBシンタックス要素がue(v)を使用して可変長でシグナリングされる。
【0149】
[0172] いくつかの実施形態では、ステップ1150aがステップ1140a前に実行される。DPBシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1150a - はい、ステップ1140a - いいえ)に応答して、ステップ1160aが実行され、さもなければステップ1160aがスキップされる。例えば、DPBシンタックス構造の数が1に等しいこと(ステップ1150a - いいえ)に応答して、符号器は、ステップ1140a及び1160aの両方をバイパスすることができる。
【0150】
[0173]
図11Bに示す映像復号化方法1100Bを参照すると、復号器側では、ステップ1110bにおいて、復号器は、符号化映像シーケンス(CVS)を含むビットストリーム(例えば、
図5の映像ビットストリーム500)を受信する。ステップ1120bでは、復号器は、VPS内のPTLシンタックス構造の数(vps_num_ptls_minus1+1)と、OLSの数(TotalNumOlss)とが同じであるかどうかを判定する。いくつかの実施形態では、復号器は、OLSに関連する1つ以上のVPSシンタックス要素を復号化して、OLSの数(TotalNumOlss)の情報を得る。
【0151】
[0174] PTLシンタックス構造の数がOLSの数と同じであること(ステップ1120b - はい)に応答して、ステップ1125bでは、復号器は、i番目のOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素(例えば、ols_ptl_idx[i])がi番目のOLSのシーケンス番号(例えば、インデックスi)に等しいと推論する。PTLシンタックス構造の数がOLSの数と異なること(ステップ1120b - いいえ)に応答して、ステップ1130bでは、復号器は、(例えば、パラメータvps_num_ptls_minus1が0を上回るかどうかを判定することにより)PTLシンタックス構造の数が1に等しいかどうかを判定する。PTLシンタックス構造の数が1以下であること(ステップ1130b - いいえ)に応答して、ステップ1135bでは、復号器は、第1のPTLシンタックス要素をゼロであると推論する。
【0152】
[0175] PTLシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1120b - いいえ、ステップ1130b - はい)に応答して、復号器は、ステップ1140bを実行し、VPS又はSPS内に符号化された第1のPTLシンタックス要素を復号化する。いくつかの実施形態では、VPS又はSPS内で第1のPTLシンタックス要素が固定長でシグナリングされる。
【0153】
[0176] いくつかの実施形態では、ステップ1130bがステップ1120b前に実行される。PTLシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1130b - はい、ステップ1120b - いいえ)に応答して、ステップ1140aが実行され、さもなければステップ1140aがスキップされる。
【0154】
[0177] 同様に、ステップ1150bでは、復号器は、VPS内のDPBパラメータシンタックス構造の数(vps_num_dpb_params)と、OLSの数(TotalNumOlss)とが同じであるかどうかを判定する。
【0155】
[0178] DPBパラメータシンタックス構造の数がOLSの数と同じであること(ステップ1150b - はい)に応答して、ステップ1155bでは、復号器は、i番目のOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素(例えば、ols_dpb_params_idx[i])がi番目のOLSのシーケンス番号(例えば、インデックスi)に等しいと推論する。
【0156】
[0179] DPBパラメータシンタックス構造の数がOLSの数と異なること(ステップ1150b - いいえ)に応答して、ステップ1160bでは、復号器は、(例えば、パラメータvps_num_dpb_paramsが1を上回るかどうかを判定することにより)DPBパラメータシンタックス構造の数が1に等しいかどうかを判定する。DPBパラメータシンタックス構造の数が1以下であること(ステップ1160b - いいえ)に応答して、ステップ1165bでは、復号器は、第1のDPBシンタックス要素をゼロであると推論する。
【0157】
[0180] DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1150b - いいえ、ステップ1160b - はい)に応答して、復号器は、ステップ1170bを実行し、VPS内の第1のDPBシンタックス要素を復号化する。いくつかの実施形態では、第1のDPBシンタックス要素がue(v)を使用して可変長でシグナリングされる。
【0158】
[0181] いくつかの実施形態では、ステップ1160bがステップ1150b前に実行される。DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なること(ステップ1160b - はい、ステップ1150b - いいえ)に応答して、ステップ1170bが実行され、さもなければステップ1170bがスキップされる。
【0159】
[0182]
図11Cは、本開示のいくつかの実施形態に従う、提案した方法1100A及び1100Bの可能な実装形態に関連する例示的なVPSシンタックス構造1100Cの一部を示す。
図11CのVPSシンタックス構造1100Cは、
図8のシンタックス構造800に基づいて修正される。
【0160】
[0183]
図8に示す実施形態と比較して、VPSシンタックス構造1100Cの条件ステートメント1110cに示すように、VPSパラメータ830は、VPSパラメータ822(vps_num_ptls_minus1)プラス1の値が、VPSによって指定されるOLSの総数(TotalNumOlss)に等しくなく、かつ0に等しくない場合にシグナリングされる。VPSパラメータ822プラス1の値がTotalNumOlssに等しい場合、VPSパラメータ830の値は、インデックスiに等しいと推論される。VPSパラメータ822が0に等しい場合、VPSパラメータ830の値は、0に等しいと推論される。
【0161】
[0184] 同様にVPSシンタックス構造1100Cの条件ステートメント1120cに示すように、VPSパラメータ842(ols_dpb_params_idx[i])は、VPSパラメータ832がTotalNumOlssに等しくなく、かつ0に等しくない場合にシグナリングされる。VPSパラメータ842がシグナリングされないとき、VPSパラメータ832の値がTotalNumOlssに等しい場合、VPSパラメータ842の値は、インデックスiであると推論される。VPSパラメータ832が0に等しい場合、VPSパラメータ842の値は、0に等しいと推論される。
【0162】
[0185] 上記で説明したように、符号化又は復号化プロセス中、符号器又は復号器は、VPS内のOLSの数(TotalNumOlss)を求めなければならない場合がある。いくつかの実施形態では、復号器及び符号器は、VPSシンタックス要素(例えば、VPSパラメータ816)によって示されるOLSモード及び別のVPSシンタックス要素(例えば、VPSパラメータ810)によって示されるCVS内のレイヤの最大数に従ってOLSの数を導出することができる。いくつかの実施形態では、符号器は、VPSによって指定されるOLSの数に関連する固定長を有するVPSシンタックス要素(例えば、VPSパラメータ818)を符号化することができ、復号器は、その固定長を有するVPSシンタックス要素を復号化して、VPSによって指定されるOLSの数を求めることができる。いくつかの実施形態では、符号器は、VPSを参照するCVS内に含まれるOLSの数に関連する可変長を有するVPSシンタックス要素(例えば、VPSパラメータ818)を符号化することができ、復号器は、その可変長を有するVPSシンタックス要素を復号化して、VPSを参照するCVS内に含まれるOLSの数を求めることができる。VPSを参照するCVS内のレイヤの組み合わせの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さは、最大許容数に等しくあり得る。
【0163】
[0186]
図11Dは、本開示のいくつかの実施形態に従う、
図8のシンタックス構造800に基づいて修正され、可変長を有するVPSシンタックス要素を符号化又は復号化する可能な実装形態に関連する、例示的なVPSシンタックス構造1100Dの一部を示す。一部の事例では、OLSの総数がCVS内の全てのレイヤのVPSパラメータ820(ols_output_layer_flag)の組み合わせの数によって制限され、TotalNumOlssが以下の不等式を満たす。
TotalNumOlss≦2
vps_max_layers_minus1+1
【0164】
[0187] VPSパラメータ816が2に等しいとき、VPSパラメータ818プラス1は、VPSによって指定されるOLSの総数を指定する。従って、VPSパラメータ818は、(vps_max_layers_minus1+1)ビット(例えば、VPSパラメータ810プラス1の値)で表すことができる。
【0165】
[0188] いくつかの実施形態では、
図11Dに示すように、VPSパラメータ818のための符号化方法が可変長符号化であり得ることを、イタリック体で強調してある記述子818dが示し、VPSパラメータ818の長さは、既定値(例えば、8)又はVPSパラメータ810プラス1(即ちVPSを参照するCVS内のレイヤの最大許容数)の何れか小さい方である。例えば、いくつかの実施形態では、VPSパラメータ818の長さは、以下のmin関数に基づいて求めることができる。
Min(8,vps_max_layers_minus1+1)
【0166】
[0189] 再び
図9を参照する。上記で説明したように、SPSパラメータ914の値は、0以上、対応するVPSパラメータ812以下の範囲内にあり得る。いくつかの実施形態では、SPSパラメータ912が0に等しい場合、SPSは、VPSを参照せず、従って対応するVPSパラメータ812がなく、そのため、SPSパラメータ914の範囲が未定義である。SPSパラメータ912(sps_video_parameter_set_id)が0に等しい場合、独立しているSPSパラメータ914の値の範囲をVPSパラメータ812に割り当てることにより、この問題を解決するためにシンタックスを修正することができる。
【0167】
[0190]
図12Aは、本開示のいくつかの実施形態に従う、例示的な映像符号化方法1200Aのフローチャートを示す。
図12Bは、本開示のいくつかの実施形態に従う、
図12Aの映像符号化方法1200Aに対応する例示的な映像復号化方法1200Bのフローチャートを示す。
図10Aの方法1000A及び
図10Bの方法1000Bと同様に、映像符号化方法1200A及び映像復号化方法1200Bは、機器の1つ以上のソフトウェア又はハードウェアコンポーネント(例えば、命令のセットを実行するプロセッサ)として実装される符号器及び復号器によって実行され得る。
【0168】
[0191]
図12Aに示す映像符号化方法1200Aを参照すると、ステップ1210aでは、符号器は、SPSを参照する各CLVS内にあり得る時間軸方向サブレイヤの最大数に関連する第1のSPSシンタックス要素(例えば、SPSパラメータ914 sps_max_sublayers_minus1)を符号化する。ステップ1220aでは、符号器は、SPS内にPTLシンタックス構造、DPBパラメータシンタックス構造、及び/又はHRDパラメータシンタックス構造があるかどうかを判定する。例えば、符号器は、判定を行い、次いでその判定に基づいてSPSパラメータ918(sps_ptl_dpb_hrd_params_present_flag)の値を設定することができる。判定が真(ステップ1220a - はい)である場合、符号器は、ステップ1230aを行い、SPSパラメータ914がゼロを上回るかどうかを判定することにより、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数が1を上回るかどうかを判定する。
【0169】
[0192] 両方の条件が満たされる場合(ステップ1220a - はい、ステップ1230a - はい)、ステップ1240aでは、符号器は、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)をシグナリングする。次いで、符号器は、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングするためのステップ1250aを実行する。
【0170】
[0193] 時間軸方向サブレイヤの最大数が1以下である場合(ステップ1220a - はい、ステップ1230a - いいえ)、符号器は、ステップ1240aをバイパスし、フラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)をシグナリングしないが、0に等しく設定することにより、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングするためのステップ1250aを実行する。
【0171】
[0194] SPS内に、PTLシンタックス構造、DPBパラメータシンタックス構造、及びHRDパラメータシンタックス構造の何れもない場合(ステップ1220a - いいえ)、符号器は、ステップ1230a~1250aをバイパスし、フラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)及びDPBシンタックス要素をシグナリングすることなく、SPSを符号化する。
【0172】
[0195] いくつかの実施形態では、映像符号化方法1200A内のSPSパラメータ914の符号化に関して、SPSがVPSを参照するとき、SPSパラメータ914(sps_max_sublayers_minus1)の範囲をVPSパラメータ812(vps_max_sublayers_minus1)のものと同じに設定することができる。SPSがVPSを参照しない、従って対応するVPSパラメータ812(vps_max_sublayers_minus1)が存在しない場合、既定値を設定することによってSPSパラメータ914の範囲を依然として定めることができる。例えば、VPSパラメータ812の値は、0~既定の静的な値(例えば、6)の範囲内にあり得る。従って、SPSパラメータ914の値は、0以上、MaxSubLayerマイナス1以下の範囲内にあり得、パラメータMaxSubLayerの値は、以下のように三項演算子を使用してコードから導出し、計算することができる。
MaxSubLayer=(sps_video_parameter_set_id==0?6:vps_max_sublayers_minus1)+1
【0173】
[0196] 別の言い方をすれば、符号器は、SPSパラメータ912の値を最初に決定することができ、SPSパラメータ912は、SPSパラメータ912の値がゼロを上回るとき、SPSによって参照されるVPSの識別子を指定し、SPSパラメータ912の値がゼロに等しい場合、SPSがVPSを参照しないことを示す。次いで、SPSパラメータ912の値がゼロを上回ることに応答して、符号器は、対応するVPSパラメータ812に基づき、SPSを参照する各CLVS内にある時間軸方向サブレイヤの最大数を指定するSPSパラメータ914の範囲を割り当てる。即ち、SPSパラメータ914(例えば、sps_max_sublayers_minus1)の値は、(両端値を含めて)0~VPSパラメータ812(例えば、vps_max_sublayers_minus1)の範囲内にある。他方で、SPSパラメータ912の値がゼロに等しいことに応答して、符号器は、SPSパラメータ914の範囲を、ゼロ以上、固定値(例えば、6)以下の範囲であるように割り当てる。即ち、SPSパラメータ914(例えば、sps_max_sublayers_minus1)の値は、(両端値を含めて)0~6の範囲内にある。
【0174】
[0197] 従って、SPSパラメータ912が0に等しい場合、SPSパラメータ914に推論値を与えることができる。従って、SPSパラメータ914の最大値は、SPSがいかなるVPSも参照しない場合に入手可能である。いくつかの実施形態では、SPSパラメータ912が0に等しい場合、VPSパラメータ812(vps_max_sublayers_minus1)の値が既定の静的な値(例えば、6)に等しいと推論されるようにセマンティックを変更することができる。
【0175】
[0198]
図12Bに示す映像復号化方法1200Bを参照すると、復号器側では、ステップ1210bにおいて、復号器は、復号化されるSPSを含むビットストリーム(例えば、
図5の映像ビットストリーム500)を受信する。ステップ1220bでは、復号器は、第1のSPSシンタックス要素(例えば、SPSパラメータ914 sps_max_sublayers_minus1)を復号化する。いくつかの実施形態では、復号器側でSPSを復号化するとき、復号器は、SPSパラメータ912の値を最初に決定し、次いでSPSパラメータ914を復号化することができる。SPSパラメータ914の範囲は、SPSパラメータ912の値がゼロを上回る場合、SPSによって参照されるVPSの対応するVPSパラメータ812に基づくか、又はSPSパラメータ912の値がゼロに等しい場合、固定値に基づく。
【0176】
[0199] ステップ1230bでは、復号器は、SPS内にPTLシンタックス構造、DPBパラメータシンタックス構造、及び/又はHRDパラメータシンタックス構造があるかどうかを判定する。例えば、復号器は、SPSパラメータ918(sps_ptl_dpb_hrd_params_present_flag)が1に等しいかどうかに基づいて判定を行うことができる。判定が真(ステップ1230b - はい)である場合、復号器は、ステップ1240bを行い、SPSパラメータ914がゼロを上回るかどうかを判定することにより、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数が1を上回るかどうかを判定する。
【0177】
[0200] 両方の条件が満たされる場合(ステップ1230b - はい、ステップ1240b - はい)、ステップ1250bでは、復号器は、SPS内でシグナリングされ、DPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)を復号化する。次いで、復号器は、フラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)の値に基づいて、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化するためのステップ1260bを実行する。
【0178】
[0201] 時間軸方向サブレイヤの最大数が1以下である場合(ステップ1230b - はい、ステップ1240b - いいえ)、復号器は、ステップ1250bをバイパスし、フラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)をゼロに等しいと推論し、次いでフラグ(例えば、SPSパラメータ920、sps_sublayer_dpb_params_flag)の値に基づいて、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化するためのステップ1260bを実行する。
【0179】
[0202] SPS内に、PTLシンタックス構造、DPBパラメータシンタックス構造、及びHRDパラメータシンタックス構造の何れもない場合(ステップ1230b - いいえ)、復号器は、ステップ1240b~1260bをバイパスし、フラグ及びDPBシンタックス要素を復号化することなく、SPSを復号化する。
【0180】
[0203]
図12Cは、本開示のいくつかの実施形態に従う、提案した方法1200A及び1200Bの可能な実装形態に関連する、例示的なSPSシンタックス構造1200Cの一部を示す。
図12CのSPSシンタックス構造1200Cは、
図9のシンタックス構造900に基づいて修正され得る。上記で説明したように、いくつかの実施形態では、SPSパラメータ920の信号は、SPSパラメータ918及びSPSパラメータ914の両方に基づかせることができる。従って、
図12Cに示すように、シンタックス要素SPSパラメータ920は、SPSパラメータ918が1に等しく、かつSPSパラメータ914が0を上回る条件下で、シグナリングする(又は復号化する)ことができる。さもなければ、SPSパラメータ920は、シグナリングされない(又は復号化されない)。
【0181】
[0204] 上記の内容に鑑みて、本開示の様々な実施形態で提案したように、可変長を使用してPTLシンタックス要素の符号化又は復号化を適用することにより、DPB、HRD、及びPTLパラメータ間のシンタックス構造の数及びシンタックス構造のインデックスの符号化方法が一貫した効率的なものになり得、それらのシンタックス要素に固定長を使用することによって生じるシグナリングのオーバヘッドを減らすことができる。加えて、シンタックス要素がシグナリングされない場合にシンタックス要素の値を適切に推論することにより、一部の事例でインデックスのシグナリングをスキップすることができ、それは、出力ビットの数を減らし、従って符号化効率を改善する。この方法は、シグナリングのオーバヘッドを減らし、シグナリング設計の一貫性を保証するために、PTL及びDPBパラメータだけでなく、HRDパラメータにも使用することができる。
【0182】
[0205] 実施形態は、以下の条項を用いてさらに記述することができる:
1.映像を符号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及び
CVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、VPS内の対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を含むコンピュータ実施方法。
2.PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、VPS内の第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
をさらに含む、条項1に記載の方法。
3.PTLシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、固定長を有する第1のPTLシンタックス要素をVPS内でシグナリングすること
をさらに含む、条項1に記載の方法。
4.映像を符号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)が、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
CVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を含むコンピュータ実施方法。
5.DPBパラメータシンタックス構造の数が1以下であるかどうかを判定すること、及び
DPBパラメータシンタックス構造の数が1に等しいことに応答して、VPS内の第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
をさらに含む、条項4に記載の方法。
6.DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、可変長を有する第1のDPBシンタックス要素をVPS内でシグナリングすること
をさらに含む、条項4に記載の方法。
7.映像を符号化するためのコンピュータ実施方法であって、
プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、ビットストリームのシーケンスパラメータセット(SPS)内にあるかどうかを判定すること、
第1の値が1を上回るかどうかを判定することであって、第1の値は、SPSを参照する符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定すること、及び
PTLシンタックス構造、DPBパラメータシンタックス構造、又はHRDパラメータシンタックス構造の少なくとも1つがSPS内にあり、かつ第1の値が1を上回る場合、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグをシグナリングすること
を含むコンピュータ実施方法。
8.第1の値が1以下である場合、SPS内でフラグをシグナリングすることなく、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングすること
をさらに含む、条項7に記載の方法。
9.映像を符号化するためのコンピュータ実施方法であって、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、
第1のSPSシンタックス要素の値がゼロを上回ることに応答して、対応するVPSシンタックス要素に基づき、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を割り当てること、及び
第1のSPSシンタックス要素の値がゼロに等しいことに応答して、SPSを参照する各CLVS内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を、ゼロ以上、固定値以下の範囲であるように割り当てること
を含むコンピュータ実施方法。
10.映像を符号化するためのコンピュータ実施方法であって、
PTL関連情報を指定する1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を符号化すること、及び
ビットストリームの映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)内で可変長を有する1つ以上のPTLシンタックス要素をシグナリングすること
を含むコンピュータ実施方法。
11.1つ以上のPTLシンタックス要素を符号化することは、
可変長を有する第1のPTLシンタックス要素を符号化することであって、第1のPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定すること
を含む、条項10に記載の方法。
12.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、1つ以上のPTLシンタックス要素を符号化することは、
Nの底を2とする対数以上の最小の整数であるように第1のPTLシンタックス要素の長さを設定すること
をさらに含む、条項11に記載の方法。
13.1つ以上のPTLシンタックス要素を符号化することは、
指数-Golombコードを使用することによって第1のPTLシンタックス要素を符号化すること
を含む、条項11に記載の方法。
14.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、1つ以上のPTLシンタックス要素を符号化することは、
可変長を有する第2のPTLシンタックス要素を符号化することであって、第2のPTLシンタックス要素は、Nを指定すること
を含む、条項10に記載の方法。
15.映像を符号化するためのコンピュータ実施方法であって、
可変長を有する映像パラメータセット(VPS)シンタックス要素を符号化すること、及び
VPSシンタックス要素をVPS内でシグナリングすることであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連すること
を含むコンピュータ実施方法。
16.VPSを参照する符号化映像シーケンス(CVS)内のレイヤの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さを最大許容数に等しく設定すること
をさらに含む、条項15に記載の方法。
17.映像を復号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数がOLSの数に等しいことに応答して、VPSを復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
を含むコンピュータ実施方法。
18.PTLシンタックス構造の数がOLSの数に等しいことに応答して、第1のPTLシンタックス要素によって指定されるPTLシンタックス構造が当てはまるOLSのインデックスに等しいように第1のPTLシンタックス要素を決定すること
をさらに含む、条項17に記載の方法。
19.PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、VPSを復号化するとき、第1のPTLシンタックス要素の復号化をスキップすること
をさらに含む、条項17に記載の方法。
20.PTLシンタックス構造の数が1に等しいことに応答して、第1のPTLシンタックス要素をゼロであると判定すること
をさらに含む、条項19に記載の方法。
21.PTLシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、VPS内の固定長を有する第1のPTLシンタックス要素を復号化すること
をさらに含む、条項17に記載の方法。
22.映像を復号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
CVSが、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
CVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素の復号化をスキップすること
を含むコンピュータ実施方法。
23.DPBパラメータシンタックス構造の数が1以下であるかどうかを判定すること、及び
DPBパラメータシンタックス構造の数が1以下であることに応答して、VPSを復号化するとき、第1のDPBシンタックス要素の復号化をスキップすること
をさらに含む、条項22に記載の方法。
24.DPBパラメータシンタックス構造の数が1以下であることに応答して、第1のDPBシンタックス要素をゼロであると判定すること、及び
DPBシンタックス構造の数がOLSの数に等しいことに応答して、第1のDPBシンタックス要素によって指定されるDPBパラメータシンタックス構造が当てはまるOLSのインデックスに等しいように、第1のDPBシンタックス要素を決定すること
をさらに含む、条項23に記載の方法。
25.DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、VPS内の可変長を有する第1のDPBシンタックス要素を復号化すること
をさらに含む、条項23に記載の方法。
26.映像を復号化するためのコンピュータ実施方法であって、
映像パラメータセット(VPS)及びシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、
プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つがSPS内にあることに応答して、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第1の値が、1を上回るかどうかを判定すること、及び
第1の値が1を上回ることに応答して、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグを復号化すること
を含むコンピュータ実施方法。
27.第1の値が1以下であることに応答して、フラグがゼロに等しいと推論し、SPS内のフラグを復号化することなく、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化すること
をさらに含む、条項26に記載の方法。
28.映像を復号化するためのコンピュータ実施方法であって、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、及び
SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、第2のSPSシンタックス要素の範囲は、第1のSPSシンタックス要素の値がゼロを上回る場合、SPSによって参照されるVPSの対応するVPSシンタックス要素に基づくか、又は第1のSPSシンタックス要素の値がゼロに等しい場合、固定値に基づくこと
を含むコンピュータ実施方法。
29.映像を復号化するためのコンピュータ実施方法であって、
映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、及び
VPS又はSPS内の1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を復号化することであって、1つ以上のPTLシンタックス要素は、PTL関連情報を指定すること
を含むコンピュータ実施方法。
30.1つ以上のPTLシンタックス要素を復号化することは、
可変長を有する第1のPTLシンタックス要素を復号化することであって、第1のPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定すること
を含む、条項29に記載の方法。
31.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、第1のPTLシンタックス要素の長さは、Nの底を2とする対数以上の最小の整数である、条項30に記載の方法。
32.第1のPTLシンタックス要素は、指数-Golombコードを使用することによって符号化される、条項30に記載の方法。
33.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、1つ以上のPTLシンタックス要素を復号化することは、
可変長を有する第2のPTLシンタックス要素を復号化することであって、第2のPTLシンタックス要素は、Nを指定すること
を含む、条項29に記載の方法。
34.映像を復号化するためのコンピュータ実施方法であって、
映像パラメータセット(VPS)を含むビットストリームを受信すること、及び
VPS内の可変長を有するVPSシンタックス要素を復号化することであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連すること
を含むコンピュータ実施方法。
35.VPSを参照する符号化映像シーケンス(CVS)内のレイヤの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さは、最大許容数に等しい、条項34に記載の方法。
36.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及び
CVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、VPS内の対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を機器に行わせるために命令を実行するように構成される、機器。
37.プロセッサは、
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、VPS内の第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を行うために命令を実行するように構成される、条項36に記載の機器。
38.プロセッサは、
PTLシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、固定長を有する第1のPTLシンタックス要素をVPS内でシグナリングすること
を行うために命令を実行するように構成される、条項36に記載の機器。
39.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
符号化映像シーケンス(CVS)が、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
CVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を機器に行わせるために命令を実行するように構成される、機器。
40.プロセッサは、
DPBパラメータシンタックス構造の数が1以下であるかどうかを判定すること、及び
DPBパラメータシンタックス構造の数が1に等しいことに応答して、VPS内の第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を行うために命令を実行するように構成される、条項39に記載の機器。
41.プロセッサは、
DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、可変長を有する第1のDPBシンタックス要素をVPS内でシグナリングすること
を行うために命令を実行するように構成される、条項39に記載の機器。
42.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、ビットストリームのシーケンスパラメータセット(SPS)内にあるかどうかを判定すること、
第1の値が1を上回るかどうかを判定することであって、第1の値は、SPSを参照する符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定すること、及び
PTLシンタックス構造、DPBパラメータシンタックス構造、又はHRDパラメータシンタックス構造の少なくとも1つがSPS内にあり、かつ第1の値が1を上回る場合、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグをシグナリングすること
を機器に行わせるために命令を実行するように構成される、機器。
43.プロセッサは、
第1の値が1以下である場合、SPS内でフラグをシグナリングすることなく、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングすること
を行うために命令を実行するように構成される、条項42に記載の機器。
44.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、
第1のSPSシンタックス要素の値がゼロを上回ることに応答して、対応するVPSシンタックス要素に基づき、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を割り当てること、及び
第1のSPSシンタックス要素の値がゼロに等しいことに応答して、SPSを参照する各CLVS内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を、ゼロ以上、固定値以下の範囲であるように割り当てること
を機器に行わせるために命令を実行するように構成される、機器。
45.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
PTL関連情報を指定する1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を符号化すること、及び
ビットストリームの映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)内で可変長を有する1つ以上のPTLシンタックス要素をシグナリングすること
を機器に行わせるために命令を実行するように構成される、機器。
46.プロセッサは、
可変長を有する第1のPTLシンタックス要素を符号化することであって、第1のPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定すること
によって、1つ以上のPTLシンタックス要素を符号化するために命令を実行するように構成される、条項45に記載の機器。
47.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、プロセッサは、
Nの底を2とする対数以上の最小の整数であるように第1のPTLシンタックス要素の長さを設定すること
によって、1つ以上のPTLシンタックス要素を符号化するために命令を実行するように構成される、条項46に記載の機器。
48.プロセッサは、
指数-Golombコードを使用することによって第1のPTLシンタックス要素を符号化すること
によって、1つ以上のPTLシンタックス要素を符号化するために命令を実行するように構成される、条項46に記載の機器。
49.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、プロセッサは、
可変長を有する第2のPTLシンタックス要素を符号化することであって、第2のPTLシンタックス要素は、Nを指定すること
によって、1つ以上のPTLシンタックス要素を符号化するために命令を実行するように構成される、条項45に記載の機器。
50.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
可変長を有する映像パラメータセット(VPS)シンタックス要素を符号化すること、及び
VPSシンタックス要素をVPS内でシグナリングすることであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連すること
を機器に行わせるために命令を実行するように構成される、機器。
51.プロセッサは、
VPSを参照する符号化映像シーケンス(CVS)内のレイヤの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さを最大許容数に等しく設定すること
を行うために命令を実行するように構成される、条項50に記載の機器。
52.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数がOLSの数に等しいことに応答して、VPSを復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
を機器に行わせるために命令を実行するように構成される、機器。
53.プロセッサは、
PTLシンタックス構造の数がOLSの数に等しいことに応答して、第1のPTLシンタックス要素によって指定されるPTLシンタックス構造が当てはまるOLSのインデックスに等しいように、第1のPTLシンタックス要素を決定すること
を行うために命令を実行するように構成される、条項52に記載の機器。
54.プロセッサは、
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、VPSを復号化するとき、第1のPTLシンタックス要素の復号化をスキップすること
を行うために命令を実行するように構成される、条項52に記載の機器。
55.プロセッサは、
PTLシンタックス構造の数が1に等しいことに応答して、第1のPTLシンタックス要素をゼロであると判定すること
を行うために命令を実行するように構成される、条項54に記載の機器。
56.プロセッサは、
PTLシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、VPS内の固定長を有する第1のPTLシンタックス要素を復号化すること
を行うために命令を実行するように構成される、条項52に記載の機器。
57.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
CVSが、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
CVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素の復号化をスキップすること
を機器に行わせるために命令を実行するように構成される、機器。
58.プロセッサは、
DPBパラメータシンタックス構造の数が1以下であるかどうかを判定すること、及び
DPBパラメータシンタックス構造の数が1以下であることに応答して、VPSを復号化するとき、第1のDPBシンタックス要素の復号化をスキップすること
を行うために命令を実行するように構成される、条項57に記載の機器。
59.プロセッサは、
DPBパラメータシンタックス構造の数が1以下であることに応答して、第1のDPBシンタックス要素をゼロであると判定すること、及び
DPBシンタックス構造の数がOLSの数に等しいことに応答して、第1のDPBシンタックス要素によって指定されるDPBパラメータシンタックス構造が当てはまるOLSのインデックスに等しいように、第1のDPBシンタックス要素を決定すること
を行うために命令を実行するように構成される、条項58に記載の機器。
60.プロセッサは、
DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、VPS内の可変長を有する第1のDPBシンタックス要素を復号化すること
を行うために命令を実行するように構成される、条項58に記載の機器。
61.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
映像パラメータセット(VPS)及びシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、
プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つがSPS内にあることに応答して、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第1の値が、1を上回るかどうかを判定すること、及び
第1の値が1を上回ることに応答して、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグを復号化すること
を機器に行わせるために命令を実行するように構成される、機器。
62.プロセッサは、
第1の値が1以下であることに応答して、フラグがゼロに等しいと推論し、SPS内のフラグを復号化することなく、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化すること
を行うために命令を実行するように構成される、条項61に記載の機器。
63.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、及び
SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、第2のSPSシンタックス要素の範囲は、第1のSPSシンタックス要素の値がゼロを上回る場合、SPSによって参照されるVPSの対応するVPSシンタックス要素に基づくか、又は第1のSPSシンタックス要素の値がゼロに等しい場合、固定値に基づくこと
を機器に行わせるために命令を実行するように構成される、機器。
64.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、及び
VPS又はSPS内の1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を復号化することであって、1つ以上のPTLシンタックス要素は、PTL関連情報を指定すること
を機器に行わせるために命令を実行するように構成される、機器。
65.プロセッサは、
可変長を有する第1のPTLシンタックス要素を復号化することであって、第1のPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定すること
によって、1つ以上のPTLシンタックス要素を復号化するために命令を実行するように構成される、条項64に記載の機器。
66.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、第1のPTLシンタックス要素の長さは、Nの底を2とする対数以上の最小の整数である、条項65に記載の機器。
67.第1のPTLシンタックス要素は、指数-Golombコードを使用することによって符号化される、条項65に記載の機器。
68.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、プロセッサは、
可変長を有する第2のPTLシンタックス要素を復号化することであって、第2のPTLシンタックス要素は、Nを指定すること
によって、1つ以上のPTLシンタックス要素を復号化するために命令を実行するように構成される、条項64に記載の機器。
69.命令を記憶するように構成されるメモリと、
メモリに結合されるプロセッサとを含み、プロセッサは、
映像パラメータセット(VPS)を含むビットストリームを受信すること、及び
VPS内の可変長を有するVPSシンタックス要素を復号化することであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連すること
を機器に行わせるために命令を実行するように構成される、機器。
70.VPSを参照する符号化映像シーケンス(CVS)内のレイヤの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さは、最大許容数に等しい、条項69に記載の機器。
71.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を符号化するための方法を装置に行わせるために、装置の1つ以上のプロセッサによって実行可能であり、方法は、
符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及び
CVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、VPS内の対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を含む、非一時的コンピュータ可読記憶媒体。
72.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、VPS内の第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を装置にさらに行わせる、条項71に記載の非一時的コンピュータ可読記憶媒体。
73.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
PTLシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、固定長を有する第1のPTLシンタックス要素をVPS内でシグナリングすること
を装置にさらに行わせる、条項71に記載の非一時的コンピュータ可読記憶媒体。
74.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を符号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
符号化映像シーケンス(CVS)が、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
CVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を含む、非一時的コンピュータ可読記憶媒体。
75.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
DPBパラメータシンタックス構造の数が1以下であるかどうかを判定すること、及び
DPBパラメータシンタックス構造の数が1に等しいことに応答して、VPS内の第1のDPBシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を装置にさらに行わせる、条項74に記載の非一時的コンピュータ可読記憶媒体。
76.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、可変長を有する第1のDPBシンタックス要素をVPS内でシグナリングすること
を装置にさらに行わせる、条項74に記載の非一時的コンピュータ可読記憶媒体。
77.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を符号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、ビットストリームのシーケンスパラメータセット(SPS)内にあるかどうかを判定すること、
第1の値が1を上回るかどうかを判定することであって、第1の値は、SPSを参照する符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定すること、及び
PTLシンタックス構造、DPBパラメータシンタックス構造、又はHRDパラメータシンタックス構造の少なくとも1つがSPS内にあり、かつ第1の値が1を上回る場合、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグをシグナリングすること
を含む、非一時的コンピュータ可読記憶媒体。
78.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
第1の値が1以下である場合、SPS内でフラグをシグナリングすることなく、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングすること
を装置にさらに行わせる、条項77に記載の非一時的コンピュータ可読記憶媒体。
79.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を符号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、
第1のSPSシンタックス要素の値がゼロを上回ることに応答して、対応するVPSシンタックス要素に基づき、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を割り当てること、及び
第1のSPSシンタックス要素の値がゼロに等しいことに応答して、SPSを参照する各CLVS内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を、ゼロ以上、固定値以下の範囲であるように割り当てること
を含む、非一時的コンピュータ可読記憶媒体。
80.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を符号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
PTL関連情報を指定する1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を符号化すること、及び
ビットストリームの映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)内で可変長を有する1つ以上のPTLシンタックス要素をシグナリングすること
を含む、非一時的コンピュータ可読記憶媒体。
81.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
可変長を有する第1のPTLシンタックス要素を符号化することであって、第1のPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定すること
によって、1つ以上のPTLシンタックス要素を装置に符号化させる、条項80に記載の非一時的コンピュータ可読記憶媒体。
82.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、装置の1つ以上のプロセッサによって実行可能な命令のセットは、
Nの底を2とする対数以上の最小の整数であるように第1のPTLシンタックス要素の長さを設定すること
によって、1つ以上のPTLシンタックス要素を装置に符号化させる、条項81に記載の非一時的コンピュータ可読記憶媒体。
83.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
指数-Golombコードを使用することによって第1のPTLシンタックス要素を符号化すること
によって、1つ以上のPTLシンタックス要素を装置に符号化させる、条項81に記載の非一時的コンピュータ可読記憶媒体。
84.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、装置の1つ以上のプロセッサによって実行可能な命令のセットは、
可変長を有する第2のPTLシンタックス要素を符号化することであって、第2のPTLシンタックス要素は、Nを指定すること
によって、1つ以上のPTLシンタックス要素を装置に符号化させる、条項80に記載の非一時的コンピュータ可読記憶媒体。
85.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を符号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
可変長を有する映像パラメータセット(VPS)シンタックス要素を符号化すること、及び
VPSシンタックス要素をVPS内でシグナリングすることであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連すること
を含む、非一時的コンピュータ可読記憶媒体。
86.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
VPSを参照する符号化映像シーケンス(CVS)内のレイヤの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さを最大許容数に等しく設定すること
を装置にさらに行わせる、条項85に記載の非一時的コンピュータ可読記憶媒体。
87.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数がOLSの数に等しいことに応答して、VPSを復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
を含む、非一時的コンピュータ可読記憶媒体。
88.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
PTLシンタックス構造の数がOLSの数に等しいことに応答して、第1のPTLシンタックス要素によって指定されるPTLシンタックス構造が当てはまるOLSのインデックスに等しいように、第1のPTLシンタックス要素を決定すること
を装置にさらに行わせる、条項87に記載の非一時的コンピュータ可読記憶媒体。
89.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、VPSを復号化するとき、第1のPTLシンタックス要素の復号化をスキップすること
を装置にさらに行わせる、条項87に記載の非一時的コンピュータ可読記憶媒体。
90.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
PTLシンタックス構造の数が1に等しいことに応答して、第1のPTLシンタックス要素をゼロであると判定すること
を装置にさらに行わせる、条項89に記載の非一時的コンピュータ可読記憶媒体。
91.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
PTLシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、VPS内の固定長を有する第1のPTLシンタックス要素を復号化すること
を装置にさらに行わせる、条項87に記載の非一時的コンピュータ可読記憶媒体。
92.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
CVSが、等しい数の復号化ピクチャバッファ(DPB)パラメータシンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
CVSが、等しい数のDPBパラメータシンタックス構造とOLSとを有することに応答して、対応するOLSに当てはまるDPBパラメータシンタックス構造の、VPS内のDPBパラメータシンタックス構造のリストに対するインデックスを指定する第1のDPBシンタックス要素の復号化をスキップすること
を含む、非一時的コンピュータ可読記憶媒体。
93.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
DPBパラメータシンタックス構造の数が1以下であるかどうかを判定すること、及び
DPBパラメータシンタックス構造の数が1以下であることに応答して、VPSを復号化するとき、第1のDPBシンタックス要素の復号化をスキップすること
を装置にさらに行わせる、条項92に記載の非一時的コンピュータ可読記憶媒体。
94.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
DPBパラメータシンタックス構造の数が1以下であることに応答して、第1のDPBシンタックス要素をゼロであると判定すること、及び
DPBシンタックス構造の数がOLSの数に等しいことに応答して、第1のDPBシンタックス要素によって指定されるDPBパラメータシンタックス構造が当てはまるOLSのインデックスに等しいように、第1のDPBシンタックス要素を決定すること
を装置にさらに行わせる、条項93に記載の非一時的コンピュータ可読記憶媒体。
95.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
DPBパラメータシンタックス構造の数が1を上回り、かつOLSの数と異なることに応答して、VPS内の可変長を有する第1のDPBシンタックス要素を復号化すること
を装置にさらに行わせる、条項93に記載の非一時的コンピュータ可読記憶媒体。
96.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
映像パラメータセット(VPS)及びシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、
プロファイル/ティア/レベル(PTL)シンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つがSPS内にあることに応答して、SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第1の値が、1を上回るかどうかを判定すること、及び
第1の値が1を上回ることに応答して、SPS内のDPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグを復号化すること
を含む、非一時的コンピュータ可読記憶媒体。
97.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
第1の値が1以下であることに応答して、フラグがゼロに等しいと推論し、SPS内のフラグを復号化することなく、DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化すること
を装置にさらに行わせる、条項96に記載の非一時的コンピュータ可読記憶媒体。
98.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、第1のSPSシンタックス要素は、第1のSPSシンタックス要素の値がゼロを上回るとき、SPSによって参照される映像パラメータセット(VPS)の識別子を指定すること、及び
SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、第2のSPSシンタックス要素の範囲は、第1のSPSシンタックス要素の値がゼロを上回る場合、SPSによって参照されるVPSの対応するVPSシンタックス要素に基づくか、又は第1のSPSシンタックス要素の値がゼロに等しい場合、固定値に基づくこと
を含む、非一時的コンピュータ可読記憶媒体。
99.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
映像パラメータセット(VPS)又はシーケンスパラメータセット(SPS)を含むビットストリームを受信すること、及び
VPS又はSPS内の1つ以上のプロファイル/ティア/レベル(PTL)シンタックス要素を復号化することであって、1つ以上のPTLシンタックス要素は、PTL関連情報を指定すること
を含む、非一時的コンピュータ可読記憶媒体。
100.装置の1つ以上のプロセッサによって実行可能な命令のセットは、
可変長を有する第1のPTLシンタックス要素を復号化することであって、第1のPTLシンタックス要素は、PTLシンタックス構造のインデックスを指定すること
によって、1つ以上のPTLシンタックス要素を装置に復号化させる、条項99に記載の非一時的コンピュータ可読記憶媒体。
101.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、第1のPTLシンタックス要素の長さは、Nの底を2とする対数以上の最小の整数である、条項100に記載の非一時的コンピュータ可読記憶媒体。
102.第1のPTLシンタックス要素は、指数-Golombコードを使用することによって符号化される、条項100に記載の非一時的コンピュータ可読記憶媒体。
103.VPS又はSPSは、N個のPTLシンタックス構造を含み、Nは、整数であり、装置の1つ以上のプロセッサによって実行可能な命令のセットは、
可変長を有する第2のPTLシンタックス要素を復号化することであって、第2のPTLシンタックス要素は、Nを指定すること
によって、1つ以上のPTLシンタックス要素を装置に復号化させる、条項99に記載の非一時的コンピュータ可読記憶媒体。
104.命令のセットを記憶する非一時的コンピュータ可読記憶媒体であって、命令のセットは、映像を復号化するための方法を装置に行わせるために装置の1つ以上のプロセッサによって実行可能であり、方法は、
映像パラメータセット(VPS)を含むビットストリームを受信すること、及び
VPS内の可変長を有するVPSシンタックス要素を復号化することであって、VPSシンタックス要素は、VPSを参照する符号化映像シーケンス(CVS)内に含まれる出力レイヤセット(OLS)の数に関連すること
を含む、非一時的コンピュータ可読記憶媒体。
105.VPSを参照する符号化映像シーケンス(CVS)内のレイヤの最大許容数が既定の長さの値よりも小さい場合、VPSシンタックス要素の長さは、最大許容数に等しい、条項104に記載の非一時的コンピュータ可読記憶媒体。
【0183】
[0206] いくつかの実施形態では、命令を含む非一時的コンピュータ可読記憶媒体も提供され、命令は、デバイス(本開示の符号器及び復号器など)により、上述の方法を遂行するために実行され得る。一般的な形態の非一時的媒体としては、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ又は任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM及びEPROM、FLASH(登録商標)-EPROM又は任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップ又はカートリッジ、並びにこれらのネットワーク化バージョンが挙げられる。デバイスは、1つ以上のプロセッサ(CPU)、入力/出力インターフェース、ネットワークインターフェース及び/又はメモリを含むことができる。
【0184】
[0207] 「第1」及び「第2」などの本明細書における関係語は、単に、実体又は動作を別の実体又は動作と区別するために使用されるにすぎず、これらの実体又は動作間のいかなる実際の関係又は順序も必要とせず、暗示もしないことに留意されたい。さらに、単語「含む」、「有する」、「含有する」及び「包含する」並びに他の同様の形式は、意味が均等であり、これらの単語の任意のものに続く要素若しくは要素群は、このような要素若しくは要素群の限定列挙であることを意味されないか、又は列挙された要素若しくは要素群のみに限定されることを意味されない点でオープンエンドなものであることを意図される。
【0185】
[0208] 本明細書において使用するとき、別途特に断りのない限り、用語「又は」は、実行不可能な場合を除き、全ての可能な組み合わせを包含する。例えば、データベースがA又はBを含むことができると述べられた場合、このとき、別途特に断りのない限り又は実行不可能でない限り、データベースは、A、B、A及びBを含むことができる。第2の例として、データベースがA、B又はCを含むことができると述べられた場合、このとき、別途特に断りのない限り又は実行不可能でない限り、データベースは、A、B、C、A及びB、A及びC、B及びC、A及びB及びCを含むことができる。
【0186】
[0209] 上述の実施形態は、ハードウェア若しくはソフトウェア(プログラムコード)又はハードウェア及びソフトウェアの組み合わせによって実施され得ることが理解される。ソフトウェアによって実施される場合、それは、上述のコンピュータ可読媒体内に記憶され得る。ソフトウェアは、プロセッサによって実行されたとき、本開示の方法を遂行することができる。本開示において説明される計算ユニット及び他の機能ユニットは、ハードウェア若しくはソフトウェア又はハードウェア及びソフトウェアの組み合わせによって実施され得る。当業者は、上述のモジュール/ユニットの複数のものを1つのモジュール/ユニットとして組み合わせることができ、上述のモジュール/ユニットの各々を複数のサブモジュール/サブユニットにさらに分割できることも理解するであろう。
【0187】
[0210] 上述の本明細書において、実施形態は、実装形態ごとに異なり得る多くの特定の詳細を参照して説明された。上述の実施形態の特定の適応形態及び変更形態がなされ得る。本明細書の考慮及び本明細書において開示された本発明の実施から、他の実施形態が当業者に明らかになり得る。本明細書及び実施例は、例としてのみ考慮されることが意図されており、本発明の真の範囲及び趣旨は、添付の請求項によって指示される。また、図に示されるステップの配列は、単に例示目的のためのものにすぎず、ステップのいかなる特定の配列にも限定されることを意図されないことも意図される。そのため、当業者は、これらのステップが、同じ方法を実施しながらも、異なる順序で遂行され得ることを理解することができる。
【0188】
[0211] 図面及び本明細書において、例示的な実施形態が開示された。しかし、これらの実施形態に対する多くの変形形態及び変更形態がなされ得る。従って、特定の用語が採用されていても、これらは、単に、一般的な説明の意味で使用されているにすぎず、限定を目的として使用されているものではない。
【手続補正書】
【提出日】2023-03-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像を符号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)が、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを含むかどうかを判定すること、及び
前記CVSが、等しい数のPTLシンタックス構造とOLSとを含むことに応答して、映像パラメータセット(VPS)内の対応するOLSに当てはまるPTLシンタックス構造の、前記VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素をシグナリングすることなく、ビットストリームを符号化すること
を含むコンピュータ実施方法。
【請求項2】
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、前記VPS内の前記第1のPTLシンタックス要素をシグナリングすることなく、前記ビットストリームを符号化すること
をさらに含む、請求項1に記載の方法。
【請求項3】
PTLシンタックス構造の数が1を上回り、及び前記OLSの数と異なることに応答して、固定長を有する前記第1のPTLシンタックス要素を前記VPS内でシグナリングすること
をさらに含む、請求項1に記載の方法。
【請求項4】
前記PTLシンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、前記ビットストリームのシーケンスパラメータセット(SPS)内にあるかどうかを判定すること、
第1の値が1を上回るかどうかを判定することであって、前記第1の値は、前記SPSを参照する符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定すること、及び
前記PTLシンタックス構造、前記DPBパラメータシンタックス構造、又は前記HRDパラメータシンタックス構造の少なくとも1つが前記SPS内にあり、かつ前記第1の値が1を上回る場合、前記SPS内の前記DPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグをシグナリングすること
をさらに含む、請求項1に記載の方法。
【請求項5】
前記第1の値が1以下である場合、前記SPS内で前記フラグをシグナリングすることなく、前記DPBパラメータシンタックス構造内の1つ以上のシンタックス要素をシグナリングすること
をさらに含む、請求項4に記載の方法。
【請求項6】
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、前記第1のSPSシンタックス要素は、前記第1のSPSシンタックス要素の前記値がゼロを上回るとき、前記SPSによって参照される前記VPSの識別子を指定すること、
前記第1のSPSシンタックス要素の前記値がゼロを上回ることに応答して、対応するVPSシンタックス要素に基づき、前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素の範囲を割り当てること、及び
前記第1のSPSシンタックス要素の前記値がゼロに等しいことに応答して、前記SPSを参照する各CLVS内にある時間軸方向サブレイヤの前記最大数を指定する前記第2のSPSシンタックス要素の前記範囲を、ゼロ以上、固定値以下の範囲であるように割り当てること
をさらに含む、請求項1に記載の方法。
【請求項7】
映像を復号化するためのコンピュータ実施方法であって、
符号化映像シーケンス(CVS)を含むビットストリームを受信すること、
前記CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、映像パラメータセット(VPS)を復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、前記VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
を含むコンピュータ実施方法。
【請求項8】
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、前記第1のPTLシンタックス要素によって指定される前記PTLシンタックス構造が当てはまる前記OLSのインデックスに等しいように前記第1のPTLシンタックス要素を決定することをさらに含む、請求項7に記載の方法。
【請求項9】
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の数が1に等しいことに応答して、前記VPSを復号化するとき、前記第1のPTLシンタックス要素の復号化をスキップすること
をさらに含む、請求項7に記載の方法。
【請求項10】
PTLシンタックス構造の数が1に等しいことに応答して、前記第1のPTLシンタックス要素をゼロであると判定すること
をさらに含む、請求項9に記載の方法。
【請求項11】
PTLシンタックス構造の数が1を上回り、かつ前記OLSの数と異なることに応答して、前記VPS内の固定長を有する前記第1のPTLシンタックス要素を復号化することをさらに含む、請求項7に記載の方法。
【請求項12】
前記ビットストリームは、前記VPS及びシーケンスパラメータセット(SPS)を含み、前記方法は、
前記PTLシンタックス構造、復号化ピクチャバッファ(DPB)パラメータシンタックス構造、又は仮想参照復号器(HRD)パラメータシンタックス構造の少なくとも1つが、前記SPS内にあることに応答して、前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第1の値が1を上回るかどうかを判定すること、及び
前記第1の値が1を上回ることに応答して、前記SPS内の前記DPBパラメータシンタックス構造内のシンタックス要素の存在を制御するように構成されるフラグを復号化すること
をさらに含む、請求項7に記載の方法。
【請求項13】
前記第1の値が1以下であることに応答して、前記フラグがゼロに等しいと推論し、及び前記SPS内の前記フラグを復号化することなく、前記DPBパラメータシンタックス構造内の1つ以上のシンタックス要素を復号化すること
をさらに含む、請求項12に記載の方法。
【請求項14】
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、前記第1のSPSシンタックス要素は、前記第1のSPSシンタックス要素の前記値がゼロを上回るとき、SPSによって参照される前記VPSの識別子を指定すること、及び
前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、前記第2のSPSシンタックス要素の範囲は、前記第1のSPSシンタックス要素の前記値がゼロを上回る場合、前記SPSによって参照される前記VPSの対応するVPSシンタックス要素に基づくか、又は前記第1のSPSシンタックス要素の前記値がゼロに等しい場合、固定値に基づくこと
をさらに含む、請求項7に記載の方法。
【請求項15】
映像シーケンスに関連するビットストリームを記憶する非一時的コンピュータ可読記憶媒体であって、前記ビットストリームは、前記ビットストリーム内で符号化される1つ又は複数のピクチャを復号化するための符号化映像シーケンス(CVS)を含み、前記1つ又は複数のピクチャは、
前記CVSが、等しい数のプロファイル/ティア/レベル(PTL)シンタックス構造と出力レイヤセット(OLS)とを有するかどうかを判定すること、及び
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、映像パラメータセット(VPS)を復号化するとき、対応するOLSに当てはまるPTLシンタックス構造の、前記VPS内のPTLシンタックス構造のリストに対するインデックスを指定する第1のPTLシンタックス要素の復号化をスキップすること
によって復号化可能である、非一時的コンピュータ可読記憶媒体。
【請求項16】
前記1つ又は複数のピクチャは、さらに、
PTLシンタックス構造の数が前記OLSの数に等しいことに応答して、前記第1のPTLシンタックス要素によって指定される前記PTLシンタックス構造が当てはまる前記OLSのインデックスに等しいように前記第1のPTLシンタックス要素を決定すること
によって復号化可能である、請求項15に記載の
非一時的コンピュータ可読記憶媒体。
【請求項17】
前記1つ又は複数のピクチャは、さらに、
PTLシンタックス構造の数が1に等しいかどうかを判定すること、及び
PTLシンタックス構造の前記数が1に等しいことに応答して、前記VPSを復号化するとき、前記第1のPTLシンタックス要素の復号化をスキップすること
によって復号化可能である、請求項15に記載の
非一時的コンピュータ可読記憶媒体。
【請求項18】
前記1つ又は複数のピクチャは、さらに、
PTLシンタックス構造の数が1に等しいことに応答して、前記第1のPTLシンタックス要素をゼロであると判定すること
によって復号化可能である、請求項17に記載の
非一時的コンピュータ可読記憶媒体。
【請求項19】
前記1つ又は複数のピクチャは、さらに、
PTLシンタックス構造の数が1を上回り、かつ前記OLSの数と異なることに応答して、前記VPS内の固定長を有する前記第1のPTLシンタックス要素を復号化すること
によって復号化可能である、請求項15に記載の
非一時的コンピュータ可読記憶媒体。
【請求項20】
前記1つ又は複数のピクチャは、さらに、
第1のシーケンスパラメータセット(SPS)シンタックス要素の値を決定することであって、前記第1のSPSシンタックス要素は、前記第1のSPSシンタックス要素の前記値がゼロを上回るとき、SPSによって参照される前記VPSの識別子を指定すること、及び
前記SPSを参照する各符号化レイヤ映像シーケンス(CLVS)内にある時間軸方向サブレイヤの最大数を指定する第2のSPSシンタックス要素を復号化することであって、前記第2のSPSシンタックス要素の範囲は、前記第1のSPSシンタックス要素の前記値がゼロを上回る場合、前記SPSによって参照される前記VPSの対応するVPSシンタックス要素に基づくか、又は前記第1のSPSシンタックス要素の前記値がゼロに等しい場合、固定値に基づくこと
によって復号化可能である、請求項15に記載の
非一時的コンピュータ可読記憶媒体。
【国際調査報告】