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

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

▶ ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッドの特許一覧

特許7490809ビデオ符号化復号化における構文要素の通知のための方法及び装置
<>
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図1
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図2
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図3
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図4
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図5
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図6
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図7
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図8
  • 特許-ビデオ符号化復号化における構文要素の通知のための方法及び装置 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】ビデオ符号化復号化における構文要素の通知のための方法及び装置
(51)【国際特許分類】
   H04N 19/103 20140101AFI20240520BHJP
   H04N 19/157 20140101ALI20240520BHJP
   H04N 19/172 20140101ALI20240520BHJP
   H04N 19/174 20140101ALI20240520BHJP
   H04N 19/513 20140101ALI20240520BHJP
   H04N 19/70 20140101ALI20240520BHJP
【FI】
H04N19/103
H04N19/157
H04N19/172
H04N19/174
H04N19/513
H04N19/70
【請求項の数】 21
(21)【出願番号】P 2022561521
(86)(22)【出願日】2021-04-07
(65)【公表番号】
(43)【公表日】2023-05-24
(86)【国際出願番号】 US2021026271
(87)【国際公開番号】W WO2021207423
(87)【国際公開日】2021-10-14
【審査請求日】2022-12-02
(31)【優先権主張番号】63/007,355
(32)【優先日】2020-04-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/009,404
(32)【優先日】2020-04-13
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/010,005
(32)【優先日】2020-04-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/010,619
(32)【優先日】2020-04-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/015,663
(32)【優先日】2020-04-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521147444
【氏名又は名称】ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100229264
【弁理士】
【氏名又は名称】清水 正一
(72)【発明者】
【氏名】チェン イーウェン
(72)【発明者】
【氏名】シュウ シャオユウ
(72)【発明者】
【氏名】マー ツン-チュアン
(72)【発明者】
【氏名】チュウ ホンチェン
(72)【発明者】
【氏名】チェン ウェイ
(72)【発明者】
【氏名】ワン シエンリン
(72)【発明者】
【氏名】ユウ ビン
【審査官】久保 光宏
(56)【参考文献】
【文献】Benjamin Bross, et al.,"Versatile Video Coding (Draft 8)",Document: JVET-Q2001-vE, [online],JVET-Q2001 (version 15),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2020年03月12日,Pages 39-50,63,107,117,124,125,150,[令和5年8月24日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=9675> and <URL: https://jvet-experts.org/doc_end_user/documents/17_Brussels/wg11/JVET-Q2001-v15.zip>.,(See document file "JVET-Q2001-vE.docx" in the zip file "JVET-Q2001-v15.zip".)
【文献】Yi-Wen Chen, et al.,"AHG9: On syntax signaling conditions in picture header",Document: JVET-R0324, [online],JVET-R0324 (version 1),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2020年04月04日,Pages 1-2,[令和5年11月6日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=9968> and <URL: https://jvet-experts.org/doc_end_user/documents/18_Alpbach/wg11/JVET-R0324-v1.zip>.,(See document file "JVET-R0324.docx" in the zip file "JVET-R0324-v1.zip".)
【文献】Yi-Wen Chen, et al.,"AHG9: On syntax signaling conditions in picture header",Document: JVET-R0324, [online],JVET-R0324 (version 4),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,2020年04月13日,Pages 1-5,[令和6年4月9日検索], インターネット, <URL: https://jvet-experts.org/doc_end_user/current_document.php?id=9968> and <URL: https://jvet-experts.org/doc_end_user/documents/18_Alpbach/wg11/JVET-R0324-v4.zip>.,(See document file "JVET-R0324_r3.docx" in the zip file "JVET-R0324-v4.zip".)
(58)【調査した分野】(Int.Cl.,DB名)
H04N19/00-19/98
CSDB(日本国特許庁)
学術文献等データベース(日本国特許庁)
IEEEXplore(IEEE)
(57)【特許請求の範囲】
【請求項1】
エンコーダによって画像に関連する画像ヘッド(PH:picture head)において、符号化復号化ツールが前記PHに関する1つまたは複数のスライスに対して無効化されるかどうかを指定する無効化フラグが存在するかどうかを決定することと、
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて、前記エンコーダによって前記画像のシーケンスパラメータセット(SPS:sequence parameter sets)に通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することと
を含
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける第1の有効化フラグが1に等しく且つ前記SPSにおける第2の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を0と推定することと、
を含む、ビデオ復号化のための方法。
【請求項2】
前記SPSにおける前記第1の有効化フラグは、前記符号化復号化ツールが有効化されるかどうかを指定し、前記第1の有効化フラグは、1に等しくなれば、前記符号化復号化ツールが有効化されることを指定し、0に等しくなれば、前記符号化復号化ツールが無効化されることを指定し、
前記SPSにおける第2の有効化フラグは、前記SPSを参照する前記PHにおいて前記無効化フラグか存在するかどうかを指定し、前記第2の有効化フラグは、0に等しくなれば、前記SPSを参照するPHにおいて前記無効化フラグか存在しないことを指定し、1に等しくなれば、前記SPSを参照するPHにおいて前記無効化フラグが存在できることを指定する、
請求項1に記載の方法。
【請求項3】
前記無効化フラグの値が1に等しいと決定したことに応じて、前記エンコーダによって前記符号化復号化ツールを前記1つまたは複数のスライスの復号化に無効にすることと、
前記無効化フラグの値が0に等しいと決定したことに応じて、前記エンコーダによって前記符号化復号化ツールを前記1つまたは複数のスライスの復号化に有効にすることと、
を含む、請求項1に記載の方法。
【請求項4】
前記符号化復号化ツールは、デコーダ動きベクトル微細化(DMVR:decoder motion vector refinement)ベースのインター双予測および双方向オプティカルフロー(BDOF:bi-directional optical flow inter prediction)ベースのインター双予測のうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項5】
1つまたは複数の参照画像リストから前記画像に関連する1つまたは複数のスライスが双予測ではないと決定したに応じて、前記エンコーダによって前記無効化フラグが前記PHにおいて存在しないと決定すること、
を更に含む、請求項に記載の方法。
【請求項6】
前記無効化フラグは、前記DMVRベースのインター双予測が前記PHに関連する1つまたは複数のスライスに対して無効化されているかどうかを指定し、
前記符号化復号化ツールを前記1つまたは複数のスライスの復号化に無効にすることは、前記DMVRベースのインター双予測を前記1つまたは複数のスライスの復号化に無効にすることを含み、
前記符号化復号化ツールを前記1つまたは複数のスライスの復号化に有効にすることは、前記DMVRベースのインター双予測を前記1つまたは複数のスライスの復号化に有効にすることを含む、
請求項に記載の方法。
【請求項7】
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは
前記SPSにおける前記第1の有効化フラグが1に等しく且つ前記SPSにおける第2の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、
前記SPSにおける前記第1の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、
更に
請求項に記載の方法。
【請求項8】
前記PHにおいて第1の参照画像リスト及び第2の参照画像リストを含む複数の参照画像リストが通知され且つ前記第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて、前記画像に関連する1つまたは複数のスライスが双予測ではないと決定すること、
を更に含み、
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける前記第1の有効化フラグが0に等しく且つ前記SPSにおける第2の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグを1と推定することと、
前記SPSにおける前記第1の有効化フラグが1に等しく且つ前記SPSにおける前記第2の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、
を含む、請求項に記載の方法。
【請求項9】
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける前記第1の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、
前記SPSにおける前記第2の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、
を含む、請求項に記載の方法。
【請求項10】
前記SPSにおける前記第1の有効化フラグの値をWと決定すること、を含み、
前記SPSにおける前記第1の有効化フラグは、前記DMVRベースのインター双予測が有効化されるかどうかを指定し、1に等しくなれば、前記DMVRベースのインター双予測が有効化されることを指定し、0に等しくなれば、前記DMVRベースのインター双予測が無効化されることを指定し、
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける第2の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1-Wと推定することを更に含み、
前記SPSにおける前記第2の有効化フラグは、前記SPSを参照する前記PHにおいて前記無効化フラグか存在するかどうかを指定し、0に等しくなれば、前記SPSを参照するPHにおいて前記無効化フラグか存在しないことを指定し、1に等しくなれば、前記SPSを参照するPHにおいて前記無効化フラグか存在できることを指定する
請求項に記載の方法。
【請求項11】
前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける前記第2の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1と推定すること
を含む、請求項10に記載の方法。
【請求項12】
前記PHにおいて第1の参照画像リスト及び第2の参照画像リストを含む複数の参照画像リストが通知され且つ前記第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて、前記画像に関連する複数のスライスが双予測ではないと決定すること、を更に含み、
前記SPSにおける前記第2の有効化フラグが0に等しくないと決定したことに応じて前記無効化フラグの値を1と推定することは、
前記SPSにおける前記第2の有効化フラグが1に等しいと決定したことに応じて前記無効化フラグの値を1と推定すること
を更に含む、請求項11に記載の方法。
【請求項13】
前記無効化フラグは、前記BDOFベースのインター双予測が前記PHに関連する1つまたは複数のスライスに対して無効化されるかどうかを指定し、
前記符号化復号化ツールを前記1つまたは複数のスライスの復号化に無効にすることは、前記BDOFベースのインター双予測を前記1つまたは複数のスライスの復号化に無効にすることを含み、
前記符号化復号化ツールを前記1つまたは複数のスライスの復号化に有効にすることは、前記BDOFベースのインター双予測を前記1つまたは複数のスライスの復号化に有効にすることを含む、
請求項に記載の方法。
【請求項14】
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは
前記SPSにおける前記第1の有効化フラグが1に等しく且つ前記SPSにおける第2の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定し、前記SPSにおける前記第1の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、又は
前記SPSにおける前記第の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1と推定し、前記SPSにおける前記第の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと
更に
請求項13に記載の方法。
【請求項15】
前記PHにおいて第1の参照画像リスト及び第2の参照画像リストを含む複数の参照画像リストが通知され且つ前記第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて、前記画像に関連する複数のスライスが双予測ではないと決定すること、
を更に含み
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける前記第の有効化フラグが0に等しく且つ前記SPSにおける前記第の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグを1と推定することと、
前記SPSにおける前記第の有効化フラグが1に等しく且つ前記SPSにおける前記第の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定することと、
を含む、請求項14に記載の方法。
【請求項16】
前記SPSにおける前記の有効化フラグの値をVと決定すること、を含み、
前記SPSにおける前記の有効化フラグは、前記BDOFベースのインター双予測が有効化されるかどうかを指定し、1に等しくなれば、前記BDOFベースのインター双予測が有効化されることを指定し、0に等しくなれば、前記BDOFベースのインター双予測が無効化されることを指定し、
前記画像の前記SPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける前記の有効化フラグが0に等しいと決定したことに応じて、前記無効化フラグの値を1-Vと推定すること、を更に含み、
前記SPSにおける前記第の有効化フラグは、前記SPSを参照するPHにおいて前記無効化フラグか存在するかどうかを指定し、0に等しくなれば、前記SPSを参照するPHにおいて前記無効化フラグか存在しないことを指定し、1に等しくなれば、前記SPSを参照するPHにおいて前記無効化フラグか存在することを指定する、
請求項13に記載の方法。
【請求項17】
前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて前記画像のSPSにおいて通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することは、
前記SPSにおける前記第の有効化フラグが0に等しくないと決定したことに応じて、前記無効化フラグの値を1と推定すること、
を含む、請求項16に記載の方法。
【請求項18】
前記PHにおいて第1の参照画像リスト及び第2の参照画像リストを含む複数の参照画像リストが通知され且つ前記第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて、前記画像に関連する複数のスライスが双予測ではないと決定すること、
を更に含み、
前記SPSにおける前記第の有効化フラグが0に等しくないと決定したことに応じて前記無効化フラグの値を1と推定することは、
前記SPSにおける前記第の有効化フラグが1に等しいと決定したことに応じて、前記無効化フラグの値を1と推定すること、
を含む、請求項17に記載の方法。
【請求項19】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されるメモリと、を含み、
前記1つまたは複数のプロセッサは、前記命令を実行すると、請求項1~18のいずれか一項に記載の方法を実行させる、
ように構成される、ビデオ符号化復号化のための装置。
【請求項20】
コンピュータ読取可能な命令を格納しているビデオ符号化復号化のための非一時的なコンピュータ読取可能な記憶媒体であって、
前記コンピュータ読取可能な命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
請求項1~18のいずれか一項に記載の方法を実行させる、ビデオ符号化復号化のための非一時的なコンピュータ読取可能な記憶媒体。
【請求項21】
命令を格納しているコンピュータプログラムであって、
前記命令が、プロセッサによって実行されると、前記プロセッサに、
請求項1~18のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2020年4月8日に提出されて発明の名称が「ビデオ符号化復号化における構文要素の通知」である米国仮出願第63/007355号、2020年4月13日に提出されて発明の名称が「ビデオ符号化復号化における構文要素の通知」である米国仮出願第63/009404号、2020年4月14日に提出されて発明の名称が「ビデオ符号化復号化における構文要素の通知」である米国仮出願第63/010005号、2020年4月15日に提出されて発明の名称が「ビデオ符号化復号化における構文要素の通知」である米国仮出願第60/010619号、2020年4月26日に提出されて発明の名称が「ビデオ符号化復号化における構文要素の通知」である米国仮出願第63/015663号に対する優先権を主張するものであり、これらの特許出願の開示のすべてを参照によって本願明細書に援引する。
【技術分野】
【0002】
本願は、ビデオ符号化復号化及び圧縮に関し、特に、限定されないが、ビデオ符号化における構文要素の通知のための方法及び装置に関する。
【背景技術】
【0003】
多種のビデオ符号化復号化技術は、ビデオデータを圧縮することに使用されることができる。ビデオ符号化復号化は、1つまたは複数のビデオ符号化復号化標準に従って実行される。ビデオ符号化復号化標準には、多用途ビデオ符号復号化(VVC:Versatile Video Coding)、共同探査試験モデル(JEM:Joint Exploration Test Model)、高効率ビデオ符号化復号化(H.265/HEVC:High Efficiency Video Coding)、高度なビデオ符号化復号化(H.264/AVC:Advanced Video Coding)、及び動画専門家グループ(MPEG:Moving picture Experts Group)符号化復号化などを含む。ビデオ符号化復号化では、一般に、ビデオ画像またはシーケンスに存在する冗長性による予測方法(例えば、インター予測、イントラ予測など)を利用する。ビデオ符号化復号化技術の重要な目標は、ビデオ品質の低下を回避しまたは最小限に抑えながら、ビデオデータをより低いビットレートの形式に圧縮することである。
【発明の概要】
【0004】
本開示は、ビデオ符号化復号化における構文要素の通知に関する技術の例を述べる。
【0005】
本開示の第1の方面に従い、ビデオ符号化複号化のための方法を提供する。この方法は、エンコーダによって画像に関連する画像ヘッド(PH:picture head)において、符号化複号化ツールが前記PHに関する1つまたは複数のスライスに無効化されるかどうかを指定する無効化フラグが存在するかどうかを決定することを含む。これに応じて、この方法は、前記PHにおいて前記無効化フラグが存在しないと決定したことに応じて、前記エンコーダによって前記画像のシーケンスパラメータセット(SPS:sequence parameter sets)に通知された1つ又は複数の有効化フラグから前記無効化フラグの値を推定することを含む。
【0006】
本開示の第2の方面に従い、ビデオ符号化複号化のための方法を提供する。この方法は、エンコーダによって画像に関連する画像ヘッド(PH)において、時間的動きベクトル予測(TMVP:temporal motion vector prediction)に使用される画像が前記画像に関連する複数の参照画像リストのうちのある参照画像リストから導出されるか否かを指定するフラグが存在するかどうかを決定することを含む。これに応じて、この方法は、前記PHにおいて前記フラグが存在しないと決定したことに応じて、前記エンコーダによって前記参照画像リストにおける参照画像の数から前記フラグの値を推定することを含む。
【0007】
本開示の第3の方面に従い、ビデオ符号化複号化のための方法を提供する。この方法は、エンコーダによって画像に関連するPHにおいて、前記画像の画像パラメータセット(PPS:picture parameter sets)における第1の重み付け予測(WP:weighted prediction)フラグ及び前記画像のPHにおける第2のWPフラグから参照画像リストにおいて通知される重みの数を指定し前記画像に関連するWP構文にあるフラグが存在するかどうかを決定することを含む。これに応じて、この方法は、前記PHにおいて前記フラグが存在しないと決定したことに応じて、前記エンコーダによって前記画像に関連する複数の参照画像リストからのある参照画像リストにおける参照画像の数から前記フラグの値を推定することを含む。
【0008】
本開示の第4の方面に従い、ビデオ符号化複号化のための方法を提供する。この方法は、エンコーダによって、有効化フラグにより、1つまたは複数の時間的動きベクトル予測子が、画像のPHに関連する1つまたは複数のスライスのためのインター予測に使用されるかどうかを指定することを含む。これに応じて、この方法は、エンコーダによって、スケーリング率の算出のために前記画像のサイズに適用される複数のオフセットから前記有効化フラグの値を制約することを含む。
【0009】
本開示の第5の方面に従い、ビデオ符号化復号化のための装置を提供する。この装置は、1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されるメモリと、を含む。前記1つまたは複数のプロセッサは、前記命令を実行すると、本開示の第1の方面に記載の方法を実行させるように構成される。
【0010】
本開示の第6の方面に従い、ビデオ符号化復号化のための装置を提供する。この装置は、1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されるメモリと、を含む。前記1つまたは複数のプロセッサは、前記命令を実行すると、本開示の第2の方面に記載の方法を実行させるように構成される。
【0011】
本開示の第7の方面に従い、ビデオ符号化復号化のための装置を提供する。この装置は、1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されるメモリと、を含む。前記1つまたは複数のプロセッサは、前記命令を実行すると、本開示の第3の方面に記載の方法を実行させるように構成される。
【0012】
本開示の第8の方面に従い、ビデオ符号化復号化のための装置を提供する。この装置は、1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されるメモリと、を含む。前記1つまたは複数のプロセッサは、前記命令を実行すると、本開示の第4の方面に記載の方法を実行させるように構成される。
【0013】
本開示の第9の方面に従い、コンピュータ読取可能な命令を格納しているビデオ符号化復号化のための非一時的なコンピュータ読取可能な記憶媒体を提供する。前記命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、本開示の第1の方面に記載の方法を実行させる。
【0014】
本開示の第10の方面に従い、コンピュータ読取可能な命令を格納しているビデオ符号化復号化のための非一時的なコンピュータ読取可能な記憶媒体を提供する。前記命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、本開示の第2の方面に記載の方法を実行させる。
【0015】
本開示の第11の方面に従い、コンピュータ読取可能な命令を格納しているビデオ符号化復号化のための非一時的なコンピュータ読取可能な記憶媒体を提供する。前記命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、本開示の第3の方面に記載の方法を実行させる。
【0016】
本開示の第12の方面に従い、コンピュータ読取可能な命令を格納しているビデオ符号化復号化のための非一時的なコンピュータ読取可能な記憶媒体を提供する。前記命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、本開示の第4の方面に記載の方法を実行させる。
【図面の簡単な説明】
【0017】
本開示の例のより具体的な説明は、添付の図面に示す特定の例を参照して与えられる。これらの図面はいくつかの例を示しているに過ぎず、したがって範囲の限定でないと考すれば、これらの例は、添付の図面を使用することにより、追加の特異性および詳細が説明される。
【0018】
図1図1は、本開示のある実施形態に係る例示的なビデオエンコーダを示すブロック図である。
図2図2は、本開示のある実施形態に係る例示的なビデオデコーダを示すブロック図である。
図3図3は、本開示のある実施形態に係る、マルチ符号化木ユニット(CTU:Coding Tree Unit)に分割された画像の例を示す。
図4図4A~4Dは、本開示のある実施形態に係る、マルチタイプ木分割モードを示す概略図である。
図5図5は、本開示のある実施形態に係る、ビデオ符号化復号化のための例示的な装置を示すブロック図である。
図6図6は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
図7図7は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
図8図8は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
図9図9は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、例が添付の図面に示されている具体的な実施の形態を詳細に参照する。以下の詳細な説明において、ここで述べる趣旨を容易に理解するために、複数の非限定的な具体的な詳細を述べる。ただし、各種の変形を実現することができることは、当業者にとって明らかである。例えば、ここで述べる趣旨がデジタルビデオ機能を有する多くの種類の電子装置で実現され得ることは、業者にとって明らかである。
【0020】
本明細書における「1つの実施形態」、「実施形態」、「例」、「ある実施形態」、「ある例」または類似の表現への言及は、述べる特定の特徴、構造または特性が少なくとも1つの実施形態または例に含まれることを意味する。1つまたは複数の実施形態と結合して述べる特徴、構造、要素または特性は、明確に別段の指示をしない限り、他の実施形態にも適用可能である。
【0021】
本開示の全体では、「第1」、「第2」、「第3」などの用語はすべて、関連する要素、例えば、装置、部品、構成、ステップなどへの言及のためのものとしてのみ使用され、文脈が明確に別段の指示をしない限り、任意の空間的または時間的な順を意味するものでない。たとえば、「第1の装置」および「第2の装置」は、2つの別個に形成された装置、または同一の装置における2つの部分、部品、または操作状態を指すものであって、任意に名前が付けられることができる。
【0022】
「モジュール」、「サブモジュール」、「回路」、「サブ回路」、「回路システム」、「サブ回路システム」、「ユニット」または「サブユニット」という用語は、1つまたは複数のプロセッサによって実行できるコードまたは命令を格納するメモリ(共有、専用、またはグループ)を含む。モジュールは、コードまたは命令を格納しているか、または格納していない1つまたは複数の回路が含む場合がある。モジュールまたは回路は、直接または間接的に接続されている1つまたは複数の部品を含むことが可能である。これらの部品は、互いに物理的に接続したり、互いに隣り合って位置したり、またはそうでないことが可能である。
【0023】
ここで使用されるように、「(もし)…たら」または「(もし)…ば」、「(もし)…と」という用語は、文脈に応じて、「…ときに」または「…に応じて」を意味すると理解されることが可能である。これらの用語は、請求の範囲に出現する場合、関連する限定または特徴が条件付き的または選択的であることを意味していない場合がある。たとえば、一つの方法は、i)条件Xが存在する場合、機能または動作X'が実行されるステップと、ii)条件Yが存在する場合、機能または動作Y'が実行されるステップとを含む。この方法は、機能または動作X'を実行する能力と、機能または動作Y'を実行する能力との両方を含めて実現される必要がある。そこで、機能X'とY'とは両方とも、異なる時間にこの方法の複数回の実行で実現されることが可能である。
【0024】
ユニットまたはモジュールは、完全にソフトウェアによって実現されてもよく、完全にハードウェアによって実現されてもよく、またはハードウェアとソフトウェアとの組み合わせによって実現されてもよい。完全的なソフトウェアの実現では、たとえば、ユニットまたはモジュールが、特定の機能を実行するために、直接的または間接的に互いにリンクされている機能的に関連するコードブロックまたはソフトウェア部品を含むことが可能である。
【0025】
図1は、ブロックに基づく処理を用いる多くのビデオ符号化復号化標準と組み合わせて使用されることが可能である例示的なブロックに基づく混合ビデオエンコーダ100のブロック図を示す。エンコーダ100には、ビデオフレームが、処理を行うための複数のビデオブロックに区画される。予測は、特定のビデオブロックごとに、インター予測アプローチまたはイントラ予測アプローチに基づいて形成される。インター予測では、以前に再構成されたフレームからの画素に基づいて、動き推定及び動き補償によって1つ又は複数の予測子を形成する。イントラ予測では、現在のフレームにおける再構成された画素に基づいて予測子を形成する。モード決定では、現在のブロックを予測するための最適な予測子を選択することができる。
【0026】
現在のビデオブロックとその予測子との差分を表す予測残差は、変換回路102に送られる。そして、変換係数は、エントロピーを低減するように変換回路102から定量化回路104へ送られる。次に、定量化された係数は、エントロピー符号化回路106に供給されて圧縮されたビデオビットストリームを生成する。図1に示すように、インター予測回路および/またはイントラ予測回路112からのビデオブロック区画情報、動きベクトル、参照画像インデックスやイントラ予測モードなどのようなの予測関連情報110も、エントロピー符号化回路106を介して供給され、圧縮されたビデオビットストリーム114に保存される。
【0027】
当該エンコーダ100では、予測の目的のために、画素を再構成するようにデコーダ関連回路も必要である。まず、逆定量化116および逆変換回路118では、予測残差が再構成される。この再構成された予測残差は、ブロック予測子120と組み合わされて、現在のビデオブロックのためのフィルタリングされていない再構成画素を生成する。
【0028】
イントラ予測(「空間的予測」とも呼ばれる)では、現在のビデオブロックと同じビデオ画像及び/又はスライスにおけるすでに符号化復号化された隣接ブロックのサンプル(参照サンプルと呼ばれる)からの画素を使用して現在のビデオブロックを予測する。空間的予測は、ビデオ信号に固有の空間的冗長性を低減する。
【0029】
インター予測(「時間的予測」とも呼ばれる)では、すでに符号化復号化されたビデオ画像からの再構成された画素を使用して現在のビデオブロックを予測する。時間的予測は、ビデオ信号に固有の時間的冗長性を低減する。ある特定の符号化ユニット(CU)又は符号化ブロックのための時間的予測信号は、通常、現在のCUとその時間的参照との間の動きの量及び方向を示す1つまたは複数の動きベクトル(MV:motion vector)によって通知される。さらに、複数の参照画像が支持されている場合、時間的予測信号が参照画像記憶部内のどの参照画像からのものであるかを識別するための1つの参照画像インデックは、追加的に送信される。
【0030】
空間的および/または時間的予測の後、エンコーダ100におけるイントラ/インターモード決定回路121は、例えば、レート歪み最適化方法に基づいて、最適な予測モードを選択する。そして、ブロック予測子120が現在のビデオブロックから差し引かれて、得られた予測残差が、変換回路102及び定量化回路104によって無相関化される。得られた定量化された残差係数は、逆定量化回路116によって逆定量化され、逆変換回路118によって逆変換されて再構成された残差を形成し、この再構成された残差は、また予測ブロックに追加し戻されてこのCUの再構成された信号を形成する。さらに、デブロック化フィルタ、サンプル適応型オフセット(SAO:sample adaptive offset)、および/または適応型インループフィルタ(ALF:adaptive in-loop filter)のようなインループフィルタ115は、この再構成されたCUに用いられることが可能である後、この再構成されたCUは、画像バッファ117の参照画像格納部に入れられて将来のビデオブロックの符号化復号化に用いられる。出力ビデオビットストリーム114を形成するために、符号化モード(インターまたはイントラ)、予測モード情報、動き情報、および定量化された残差係数はすべて、ビットストリームを形成ようにエントロピー符号化部106に送信されて、さらに圧縮およびパックされる。
【0031】
たとえば、AVC、HEVC、およびVVCの現在のバージョンでは、デブロック化フィルタを提供している。HEVCでは、符号化復号化効率をさらに向上させるために、SAO(サンプル適応型オフセット)と呼ばれる追加的インループフィルターが定義されている。VVC標準の現在のバージョンでは、ALF(適応型ループフィルタ)と呼ばれる更なる別のインループフィルターが積極的に検討されており、最終標準に含まれている可能性が高い。
【0032】
これらのインループフィルター操作は選択可能なものである。これらの操作を実行すると、符号化復号化効率及び視覚的な品質の向上に寄与する。それらは、エンコーダ100による決定に従って、演算の複雑さを軽減するようにオフにされてもよい。
【0033】
なお、これらのフィルタに関するオプションがエンコーダ100によってオンにされる場合、イントラ予測は通常、フィルタリングされていない再構成の画素に基づくものであるが、インター予測はフィルタリングされた再構成の画素に基づくものである。
【0034】
図2は、多くのビデオ符号化復号化標準と組み合わせて使用されることが可能である例示的なブロックに基づくビデオデコーダ200を示すブロック図である。このデコーダ200は、図1のエンコーダ100に存在する再構成に関連する部分に類似している。デコーダ200では、入力ビデオビットストリーム201が、まずエントロピー復号化202を介して復号化されて、定量化された係数レベルおよび予測関連情報が導出される。そして、定量化された係数レベルは、逆定量化204および逆変換206を介して処理されて、再構成された予測残差が得られる。イントラ/インターモード選択部212に実現されているブロック予測子メカニズムは、復号化された予測情報に基づいて、イントラ予測208または動き補償210を実行するように構成される。逆変換206からの再構成された予測残差と、ブロック予測子メカニズムによって生成された予測出力とが、加算部214で加算されることで、フィルタリングされていない再構成の画素のセットが取得される。
【0035】
再構成されたブロックは、参照画像格納部として機能する画像バッファ213に格納される前、インループフィルタ209をさらに通過することが可能である。画像バッファ213内の再構成されたビデオは、表示装置を駆動するように送出されたり、将来のビデオブロックを予測することに用いられたりすることが可能である。インループフィルタ209がオンになっている場合には、これらの再構成された画素に対してフィルタリング操作を実行して、最終的な再構成されたビデオ出力222を導出する。
【0036】
VVC、JEM、HEVC、MPEG-4、Part10のような上述したビデオ符号化/復号化標準は、概念的に類似している。たとえば、これらはすべてブロックに基づく処理を用いる。いくつかの標準におけるブロック区画スキームについては、以下で詳しく説明する。
多用途ビデオ符号復号化(VVC)
【0037】
JVETは、2018年4月10日~20日に米国サンディエゴで開催された第10回JVET会議において、多用途ビデオ符号化復号化(VVC)の最初のドラフトおよびVVC試験モデル1(VTM1:VVC Test Model 1)符号化復号化方法をその参照ソフトウェア実現として定義した。VVCの最初の新しい符号復号化特性として、ネストされたマルチタイプ木を有する四分木を含めることが決定された。マルチタイプ木は、二値および三値分割を含む符号化ブロック区画構造である。符号化・復号化プロセスの両者を実現する参照ソフトウェアVTMは、以下のJVET会議を経て開発・更新された。
【0038】
VVCでは、入力ビデオの画像がCTUと呼ばれるブロックに区画される。CTUは、ネストされたマルチタイプ木構造を持つ四分木によって同じ予測モード(例えばイントラまたはインター)を共有する画素領域を定義しているCUに分割される。「ユニット」という用語は、輝度及び彩度のようなすべての成分をカバーする画像の領域を定義している。「ブロック」という用語は、特定の成分(例えば、輝度)をカバーする領域を定義するために適用でき、4:2:0のようなの彩度サンプリングフォーマットを着目する場合、異なる成分(例えば、輝度と彩度)のブロックは、空間的位置が異なることがある。
画像のCTUへの区画
【0039】
図3は、本開示のある実施形態に係る、複数のCTU302に分割された画像300の例を示す。
【0040】
画像は一連のCTUに分割される。CTU概念はHEVCにおけるCTU概念と同じである。3つのサンプル配列がある画像の場合には、1つのCTUが、N×Nの輝度サンプルブロック及び2つの対応する彩度サンプルブロックからなる。
【0041】
CTUにおける輝度ブロックの最大許可サイズは128×128とする(ただし、輝度変換ブロックの最大サイズは64×64である)。
木構造によるCTUの区画
【0042】
HEVCでは、CTUが、各種なローカル特性に適応するように符号化木として示される四分木構造でCUに分割される。画像間(時間的)予測か画像内(空間的)予測かを使用して画像領域を符号復号化することは、リーフCUレベルで決定される。各リーフCUは、PU分割タイプに応じて、さらに1つ、2つ、または4つのPUに分割されることができる。1つのPU内には、同じ予測処理が適用され、関連情報がPUの基でデコーダーに送信される。PU分割タイプに基づいて予測処理を適用して残差ブロックを取得した後、リーフCUが、このCUの符号化木と同様な別の四分木構造に従って変換ユニット(TU)に区画されることができる。HEVC構造の主要な特徴のうちの1つは、CU、PU、およびTUを含む複数の区画概念があることである。
【0043】
VVCでは、二値および三値分割セグメンテーション構造によるネストのマルチタイプ木を有する四分木は、複数の区画ユニットタイプの概念を置き換えし、つまり、CU、PU、およびTUの概念の区別を取り除き(最大変換長のサイズが大きすぎるCUの場合以外)、CU区画形状のより柔軟性をサポートする。符号化木構造では、CUが正方形または長方形の形状をとることが可能である。CTUは、まず四分木構造によって区画される。次に、この四分木のリーフノードはマルチタイプ木構造でさらに区画されることができる。
【0044】
図4A~4Dは、本開示のある実施形態に係る、マルチタイプ木分割モードを示す概略図である。図4A~4Dに示すように、マルチタイプ木構造には、垂直二値分割402(SPLIT_BT_VER)、水平二値分割404(SPLIT_BT_HOR)、垂直三値分割406(SPLIT_TT_VER)、および水平三値分割408(SPLIT_TT_HOR)の4つの分割タイプがある。マルチタイプ木のリーフノードはCUと呼ばれ、CUの最大変換長が大きすぎない限り、このセグメンテーションは、それ以上区画せずに予測処理及び変換処理に用いられる。これは、ほとんどの場合、ネストされたマルチタイプ木符号化ブロック構造を有する四分木において、CU、PU、およびTUが同じブロックサイズを持つことを意味する。サポートされる最大変換長がCUの色成分の幅または高さよりも小さい場合には、例外が発生する。
VVCにおける構文
【0045】
VVCでは、構文通知のビットストリームの第1の層は、NALユニットのセットに分割されるネットワーク抽象化層(NAL:Network Abstraction Layer)である。いくつかのNALユニットは、シーケンスパラメータセット(SPS:Sequence Parameter Sets)及び画像パラメータセット(PPS:Picture Parameter Sets)などのような共通制御パラメータをデコーダに通知する。他のNALユニットにはビデオデータを含む。ビデオ符号化レイヤ(CVL:Video Coding Layer)NALユニットは、符号化ビデオのスライスを含む。符号化された画像はアクセスユニットと呼ばれ、1つまたは複数のスライスとして符号化されることが可能である。
【0046】
符号化ビデオシーケンスは、瞬時デコーダリフレッシュ(IDR:Instantaneous Decoder Refresh)画像で開始する。その以降のビデオ画像は、すべてスライスとして符号化復号化される。新しいIDR画像は、その前のビデオセグメントが終了し、新しいビデオセグメントが開始することを通知する。各NALユニットは1バイトのヘッダーで始まり、その後に元のバイトシーケンスペイロード(RBSP:Raw Byte Sequence Payload)が続く。RBSPは符号化されたスライスを含む。スライスは、バイナリ符号化されるので、長さが整数のバイトであることを保証するようにゼロビットで埋め込むことが可能である。スライスは、スライスヘッドとスライスデータからなる。スライスデータは、一連のCUとして指定される。
【0047】
PH概念は、16回目のJVET会議で適用され、画像ごとに画像の最初のVCL NALユニットとして1回転送された。以前スライスヘッド内にあったいくつかの構文要素をこの画像ヘッダ内にグループ化することも提案した。ある画像について、機能的に画像ごとに1回だけ転送される必要がある構文要素は、スライス内で複数回転送されるのではなく、画像ヘッドに移動されることができる。
【0048】
VVC標準では、構文テーブルが、すべての許可されたビットストリームの構文のスーパーセットを指定する。構文に関する追加の制約は、他の節で直接または間接的に指定されることが可能である。以下の表1は、VVCにおけるスライスヘッダ及び画像ヘッダの構文表である。いくつかの構文のセマンティックスは、構文テーブルの後にも示される。
【表1-1】
【表1-2】
【表1-3】
【表1-4】
【表1-5】
【表1-6】
【表1-7】
【表1-8】
選択した構文要素のセマンティックス
【0049】
ph_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がPHに関連するスライスのためのインター予測に利用可能かどうかを指定する。ph_temporal_mvp_enabled_flagが0に等しくなれば、PHに関連するスライスの構文要素は、スライスの復号化に時間的動きベクトル予測子を使用しないように制約される。そうではない場合、ph_temporal_mvp_enabled_flagが1に等しくなれば、時間的動きベクトル予測子を使用して、PHに関連するスライスを復号化することができる。ph_temporal_mvp_enabled_flagの値は、存在しない場合、0と推定される。復号化画像バッファ(DPB:Decoded Picture Buffer)内に現在の画像と同じ空間的解像度を有する参照画像がない場合、ph_temporal_mvp_enabled_flagの値は0に等しいべきである。
【0050】
サブブロックベースのマージMVP候補の最大数MaxNumSubblockMergeCandは、以下のように導出される。
(sps_affine_enabled_flag)であれば
MaxNumSubblockMergeCand = 5 - five_minus_max_num_subblock_merge_cand
そうではない場合
MaxNumSubblockMergeCand=sps_sbtmvp_enabled_flag&&ph_temporal_mvp_enabled_flag;
ここで、MaxNumSubblockMergeCandの値は0以上5以下の範囲内にある。
【0051】
slice_collocated_from_l0_flagは、1に等しくなれば、時間的動きベクトル予測のためのコロケーテッド画像が参照画像リスト0から導出されることを指定する。slice_collocated_from_l0_flagは、0に等しくなれば、時間的動きベクトル予測のためのコロケーテッド画像が参照画像リスト1から導出されることを指定する。
【0052】
slice_typeがBまたはPに等しく且つph_temporal_mvp_enabled_flagが1に等しく且つslice_collocated_from_l0_flagが存在しない場合には、次のようになる。
- rpl_info_in_ph_flagが1に等しくなれば、slice_collocated_from_l0_flagはph_collocated_from_l0_flagに等しいと推定される。
- そうではない場合(rpl_info_in_ph_flagが0に等しく且つslice_typeがPに等しい)、slice_collocated_from_l0_flagの値は1に等しいと推定される。
【0053】
slice_collocated_ref_idxは、時間的動きベクトル予測のためのコロケーテッド画像の参照インデックスを指定する。
【0054】
slice_typeがPに等しい場合、または、slice_typeがBに等しく且つslice_collocated_from_l0_flagが1に等しい場合には、slice_collocated_ref_idxが参照画像リスト0におけるエントリを指し、slice_collocated_ref_idxの値が0以上NumRefIdxActive[0]-1以下の範囲内にある。
【0055】
slice_typeがBに等しく且つslice_collocated_from_l0_flagが0に等しくなれば、slice_collocated_ref_idxは、参照画像リスト1におけるエントリを指し、slice_collocated_ref_idxの値は、0以上NumRefIdxActive[1]-1以下の範囲内にある。
【0056】
slice_collocated_ref_idxが存在しない場合には、次のようになる。
- rpl_info_in_ph_flagが1に等しくなれば、slice_collocated_ref_idxの値はph_collocated_ref_idxに等しいと推定される。
- そうではない場合(rpl_info_in_ph_flagが0に等しい)、slice_collocated_ref_idxの値が0に等しいと推定される。
【0057】
ビットストリーム整合性には、slice_collocated_ref_idxで指される画像が、符号化画像のすべてのスライスに対して同じである必要がある。
【0058】
ビットストリーム整合性には、slice_collocated_ref_idxで指される参照画像のpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値が、それぞれ現在の画像のpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値に等しく、RprConstraintsActive[slice_collocated_from_l0_flag?0:1][slice_collocated_ref_idx]が0に等しい必要がある。
【0059】
VVC標準における8.3.2節には、RprConstraintsActive[i][j]の値が導出される。RprConstraintsActive[i][j]の値の導出は次のようになる。
参照画像リスト構造の復号化処理
【0060】
参照画像リスト構造の復号化処理は、非IDR画像の各スライスのための復号化処理の開始時に呼び出される。
【0061】
参照画像は参照インデックスによってアドレスされる。参照インデックスは、参照画像リスト内へのインデックスである。Iスライスを復号化する場合には、スライスデータの復号化において参照画像リストを使用しない。Pスライスを復号化する場合には、スライスデータの復号化おいて参照画像リスト0(すなわち、RefPicList[0])のみを用いる。Bスライスを復号化する場合には、参照画像リスト0及び参照画像リスト1(すなわち、RefPicList[1])の両方をスライスデータの復号化に用いる。
【0062】
非IDR画像の各スライスの復号化プロセスの開始時には、参照画像リストRefPicList[0]およびRefPicList[1]が導出される。参照画像リストは、ビデオ符号化標準で規定された参照画像のマーキングやスライスデータの復号化に使用される。
【0063】
画像の最初のスライスではない非IDR画像のIスライスについては、ビットストリーム整合性チェックの目的でRefPicList[0]およびRefPicList[1]を導出することができるが、これらの導出は、現在の画像または復号化順序で現在の画像の後にある画像を復号化するために不要である。画像の最初のスライスではないPスライスについては、ビットストリーム整合性チェックの目的でRefPicList[1]を導出することができるが、その導出は、現在の画像または復号化順序で現在の画像の後にある画像を復号化するために不要である。
【0064】
参照画像リストRefPicList[0]およびRefPicList[1]、参照画像スケーリング率RefPicScale[i][j][0]およびRefPicScale[i][j][1]、参照画像スケーリングフラグRprConstraintsActive[0][j]およびRprConstraintsActive[1][j]は、以下のように導出される。
【0065】
scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset、scaling_win_bottom_offsetは、スケーリング率の算出のために画像サイズに適用するオフセットを指定する。scaling_win_left_offset、scaling_win_right_offset、scaling_win_top_offset及びscaling_win_bottom_offsetの値は、存在しない場合、それぞれpps_conf_win_left_offset、pps_conf_win_top_offset、pps_conf_win_top_offset及びpps_conf_win_bottom_offsetに等しいと推定される。
【0066】
SubWidthC*(scaling_win_left_offset+scaling_win_right_offset)の値は、pic_width_in_luma_samplesより小さく、SubHeightC*(scaling_win_top_offset+scaling_win_bottom_offset)の値は、pic_height_in_luma_samplesより小さくする必要がある。
【0067】
変数PicOutputWidthL及びPicOutputHeightLは、以下のように導出される。
PicOutputWidthL = pic_width_in_luma_samples -SubWidthC * ( scaling_win_right_offset + scaling_win_left_offset )
PicOutputHeightL = pic_height_in_luma_samples -SubWidthC * ( scaling_win_bottom_offset + scaling_win_top_offset )
【0068】
refPicOutputWidthLおよびrefPicOutputHeightLを、それぞれ当該PPSを参照する現在の画像の参照画像のPicOutputWidthLおよびPicOutputHeightLとする。ビットストリーム整合性の要件の1つとして、次の条件はすべて満たす必要がある。
- PicOutputWidthL * 2は、refPicWidthInLumaSamples以上である。
- PicOutputHeightL * 2は、refPicHeightInLumaSamples以上である。
- PicOutputWidthLは、refPicWidthInLumaSamples * 8以下である。
- PicOutputHeightLは、refPicHeightInLumaSamples * 8以下である。
- PicOutputWidthL * pic_width_max_in_luma_samplesは、refPicOutputWidthL * (pic_width_in_luma_samples - Max( 8, MinCbSizeY ))以上である。
- PicOutputHeightL * pic_height_max_in_luma_samplesは、refPicOutputHeightL * (pic_height_in_luma_samples - Max( 8, MinCbSizeY ))以上である。
【0069】
現在のVVCでは、mvd_l1_zero_flagが、条件付き制約なしにPHで通知される。ただし、フラグmvd_l1_zero_flagで制御される特性は、スライスが双予測スライス(Bスライス)である場合にのみ適用される。したがって、画像ヘッダに関連するスライスがBスライスではない場合には、フラグ通知が冗長である。
【0070】
別の例では、ph_disable_bdof_flagおよびph_disable_dmvr_flagが、シーケンスパラメータセット(SPS)において通知される対応する有効化フラグ(sps_bdof_pic_present_flag、sps_dmvr_pic_present_flag)がそれぞれ真である場合にのみ、PHにおいて通知される。ただし、以下の表2に示すように、フラグph_disable_bdof_flagおよびph_disable_dmvr_flagによって制御される特性は、スライスが双予測スライス(Bスライス)である場合にのみ適用される。したがって、この2つのフラグの通知は、画像ヘッダに関連するスライスがBスライスでない場合に、冗長であるか無駄かである。
【表2】
【0071】
構文要素ph_collocated_from_l0_flagについては、コロケーテッド画像がlist0又はlist1からのものであるかことを示すことができる別の例がある。双予測のための重み付けテーブルに関連する構文要素である構文pred_weight_table()について、以下に示すように、別の例がある。
【表3-1】
【表3-2】
【表3-3】
【0072】
第3の課題は、構文ph_temporal_mvp_enabled_flagに関するものである。現在のVVCでは、TMVP導出のために選択されたコロケーテッド画像の解像度が現在の画像の解像度と同じであるべきであるので、以下に示すように、ph_temporal_mvp_enabled_flagの値をチェックするためのビットストリーム整合性制約が存在する。
【0073】
DPBにおいて現在の画像と同じ空間的解像度を有する参照画像が存在しない場合、ph_temporal_mvp_enabled_flagの値が0に等しい。しかし、現在のVVCでは、コロケーテッド画像の解像度だけでなく、スケーリング率の算出のために画像サイズに適用されるオフセットもTMVPの有効化に影響する。しかしながら、現在のVVCでは、オフセットが、ph_temporal_mvp_enabled_flagのビットストリーム整合性において考慮されない。
【0074】
さらに、slice_collocated_ref_idxによって参照される画像が符号化画像のすべてのスライスについて同一であるべきであるというビットストリーム整合性の要件は存在する。しかし、符号化画像が複数のスライスを有し、これらのすべてのスライスのうち共通の参照画像が存在しない場合、このビットストリーム整合性が満たされる可能性はない。このような場合、ph_temporal_mvp_enabled_flagが0に制限される。
【0075】
上記の課題を解決するためにいくつかの方法が提案されている。提案されている方法は、単独又は組み合わせて適用されることが可能である。
【0076】
フラグmvd_l1_zero_flag、ph_disable_bdof_flag、およびph_disable_dmvr_flagによって制御される特性は、スライスが双予測スライス(Bスライス)である場合にのみ適用されるので、本開示の方法によれば、これらのフラグは、関連するスライスがBスライスである場合にのみ通知されることが提案される。なお、参照画像リストがPHで通知される場合(例えば、rpl_info_in_ph_flag=1)は、符号化画像のすべてのスライスが、PHで通知される同じ参照画像を使用することを意味する。したがって、参照画像リストがPHで通知され、且つ通知された参照画像リストが現在の画像が双予測ではないことを示す場合、フラグmvd_l1_zero_flag、ph_disable_bdof_flag、およびph_disable_dmvr_flagは、通知される必要がない。
【0077】
ある例では、画像ヘッダ内のいくつかの構文に対して送信された誤った値による冗長通知または未定義の復号化動作を防止するように、PH内に設定されたそれらの構文セットにいくつかの条件が追加される。以下に、変数num_ref_entries[i][ RplsIdx[ i ]]は、リストiにおける参照画像の数を表すある例を示す。
【0078】
ある例では、条件が以下のように示す。
If (rpl_info_in_ph_flag && num_ref_entries[0][RplsIdx[0]] > 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 )
mvd_l1_zero_flag
【0079】
ある例では、条件が以下のように示す。
If (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 ))
mvd_l1_zero_flag
【0080】
ある例では、条件が以下のように示す。
If(!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 0 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 )
mvd_l1_zero_flag
【0081】
あるいは、これらの条件は、同様の結果を得ることができるよりコンパクトな形で記述してもよい。双予測スライス(Bスライス)または双予測画像は、少なくとも1つのlist1参照画像を持っていなければならないので、現在のスライス/画像がlist1参照画像を持っているかどうかをチェックするだけである。代替条件チェックの例を以下に示す。
If (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0 ))
mvd_l1_zero_flag
【0082】
mvd_l1_zero_flagのセマンティクスも、通知されない状況に対応するように変更される。
【0083】
mvd_l1_zero_flagは、1に等しくなれば、mvd_coding( x0, y0, 1 )構文構造が解析されていなく、MvdL1[ x0 ][ y0 ][ compIdx ]およびMvdCpL1[ x0 ][ y0 ][ cpIdx ][ compIdx ]がcompIdx = 0..1及びcpIdx = 0..2に対して0に等しく設定されることを意味する。mvd_l1_zero_flagは、0に等しくなれば、mvd_coding(x0,y0,1)構文構造が解析されることを示す。mvd_l1_zero_flagの値は、存在しない場合、0と推定される。
【0084】
構文要素ph_disable_dmvr_flagの条件付き通知の例を以下のように示す。
If (sps_dmvr_pic_present_flag && rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 )
ph_disable_dmvr_flag
又はIf (sps_dmvr_pic_present_flag && (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1)) )
ph_disable_dmvr_flag
又はIf (sps_dmvr_pic_present_flag && (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 0 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0)) )
ph_disable_dmvr_flag
【0085】
代替条件チェックの別の例を以下に示す。
If (sps_dmvr_pic_present_flag && (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0)) )
ph_disable_dmvr_flag
【0086】
ph_disable_dmvr_flagのセマンティクスも、通知されない状況に対応するように変更される。
【0087】
ph_disable_dmvr_flagは、1に等しくなれば、デコーダ動きベクトル微細化に基づくインター双予測が、PHに関連するスライスに無効にされることを指定する。ph_disable_dmvr_flagは、0に等しくなれば、デコーダ動きベクトル微細化に基づくインター双予測が、PHに関連するスライスにおいて有効化されるか、または有効化されないかを指定する。
【0088】
ph_disable_dmvr_flagが存在しない場合には、次のようになる。
- sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は0に等しいと推定される。
- そうではない場合、sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが1に等しくなれば、ph_disable_dmvr_flagの値は1に等しいと推定される。
- そうではない場合(sps_dmvr_enabled_flagが0に等しい)、ph_disable_dmvr_flagの値は1に等しいと推定される。
【0089】
ph_disable_dmvr_flagが存在しない場合、その値を導出する別の例が次の通りである。
ph_disable_dmvr_flagの値が明示的に通知されたことも暗黙的に導出されたこともない場合には、すべての条件がph_disable_dmvr_flagの値を導出するために考慮される。
- sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は0に等しいと推定される。
- そうではない場合、sps_dmvr_enabled_flagが0に等しく且つsps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は1に等しいと推定される。
- そうではない場合、sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが0に等しくなれば、ph_disable_dmvr_flagの値はXに等しいと推定される(Xは明示的に通知される)。
- そうではない場合、sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]>0であれば、ph_disable_dmvr_flagの値はXに等しいと推定される(Xは明示的に通知される)。
- そうではない場合(sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]==0)、ph_disable_dmvr_flagの値は1に等しいと推定される。
【0090】
構文要素ph_disable_dmvr_flagは、第3および第4の条件が成立した場合で明示的に通知されるので、ph_disable_dmvr_flagが存在しない場合、第3および第4の条件がph_disable_dmvr_flagの導出から除去されてもよい。
【0091】
ph_disable_dmvr_flagが存在しない場合は、次のようになる。
- sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は0に等しいと推定される。
- そうではない場合、sps_dmvr_enabled_flagが0に等しく且つsps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は1に等しいと推定される。
- そうではない場合(sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]==0)、ph_disable_dmvr_flagの値は1と推定される。
【0092】
これらの条件は、次のように編集に簡略化できる。
ph_disable_dmvr_flagが存在しない場合は、以下のようになる。
- sps_dmvr_enabled_flagが1に等しく且つsps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は0と推定される。
- そうではない場合(sps_dmvr_enabled_flagが0に等しくまたはsps_dmvr_pic_present_flagが1に等しい)、ph_disable_dmvr_flagの値は1と推定される。
【0093】
ph_disable_dmvr_flagの値が存在しない場合には、これを導出する別の例が以下に示される。
ph_disable_dmvr_flagが存在しない場合には、以下のようになる。
- sps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は1- sps_dmvr_enabled_flagに等しいと推定される。
- そうではない場合、sps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが0に等しくなれば、ph_disable_dmvr_flagの値は1- sps_dmvr_enabled_flagに等しいと推定される。
- そうではない場合、sps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]>0であれば、ph_disable_dmvr_flagの値は1- sps_dmvr_enabled_flagに等しいと推定される。
- そうではない場合(sps_dmvr_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]==0)、ph_disable_dmvr_flagの値は1に等しいと推定される。
【0094】
ある例では、構文要素ph_disable_dmvr_flagは、上記の第2および第3の条件が成立した場合で明示的に通知されるので、ph_disable_dmvr_flagが存在しない場合には、上記の第2および第3の条件がph_disable_dmvr_flagの導出から除去されてもよい。
【0095】
ある例では、ph_disable_dmvr_flagが存在しない場合、以下のようになる。sps_dmvr_pic_present_flagが0に等しくなれば、ph_disable_dmvr_flagの値は1- sps_dmvr_enabled_flagに等しいと推定される。そうではない場合、ph_disable_dmvr_flagの値は1に等しいと推定される。
【0096】
構文要素ph_disable_bdof_flagの条件付き通知の例を以下に示す。
If (sps_bdof_pic_present_flag && rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1 )
ph_disable_bdof_flag
又はIf (sps_bdof_pic_present_flag && (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] > 1 && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 1)) )
ph_disable_bdof_flag
【0097】
ある例では、代替条件チェックの例が以下のように示す。
If (sps_bdof_pic_present_flag && (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0)) )
ph_disable_bdof_flag
【0098】
ph_disable_bdof_flagのセマンティクスも、通知されない状況に対応するように変更される。
【0099】
ph_disable_bdof_flagは、1に等しくなれば、双方向オプティカルフローインター予測に基づくインター双予測がPHに関連するスライスに無効にされることを指定する。ph_disable_bdof_flagは、0に等しくなれば、双方向オプティカルフローインター予測に基づくインター双予測がPHに関連するスライスにおいて有効化されるか、または有効化されないかを指定する。
【0100】
ph_disable_bdof_flagが存在しない場合には、次のようになる。
- sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は0に等しいと推定される。
- そうではない場合、sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが1に等しくなれば、ph_disable_dmvr_flagの値は1に等しいと推定される。
- そうではない場合(sps_bdof_enabled_flagが0に等しい)、ph_disable_bdof_flagの値は1に等しいと推定される。
【0101】
ph_disable_bdof_flagの値が存在しない場合、これを導出する別の手段が次の通りである。
ph_disable_bdof_flagの値が明示的に通知され又は暗黙的に導出された場合には、すべての条件がph_disable_bdof_flagの値を導出するために考慮される。
- sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は0に等しいと推定される。
- そうではない場合、sps_bdof_enabled_flagが0に等しく、且つsps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は1に等しいと推定される。
- そうではない場合、sps_bdof_enabled_flagが1に等しく、sps_bdof_pic_present_flagが1に等しく、且つrpl_info_in_ph_flagが0に等しくなれば、ph_disable_bdof_flagの値はXに等しいと推定される(Xは明示的に通知される)。
- そうではない場合、sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0であれば、ph_disable_bdof_flagの値はXに等しいと推定される(Xは明示的に通知される)。
- そうではない場合(sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]==0)、ph_disable_bdof_flagの値は1に等しいと推定される。
【0102】
構文要素ph_disable_bdof_flagは、第3および第4の条件が成立した場合で明示的に通知されるので、ph_disable_bdof_flagが存在しない場合、第3および第4の条件がph_disable_bdof_flagの導出から除去されてもよい。
【0103】
ph_disable_bdof_flagが存在しない場合は、次のようになる。
- sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は0に等しいと推定される。
- そうではない場合、sps_bdof_enabled_flagが0に等しく且つsps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は1に等しいと推定される。
- そうではない場合(sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]==0)、ph_disable_bdof_flagの値は1と推定される。
【0104】
これらの条件は、次のように編集に簡略化できる。
ph_disable_bdof_flagが存在しない場合は、以下のようになる。
- sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は0と推定される。
- そうではない場合(sps_bdof_enabled_flagが0に等しくまたはsps_bdof_pic_present_flagが1に等しい)、ph_disable_bdof_flagの値は1と推定される。
【0105】
ph_disable_bdof_flagの値が存在しない場合には、これを導出する別の手段が以下に示される。
ph_disable_bdof_flagが存在しない場合には、以下のようになる。
- sps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は1- sps_bdof_enabled_flagに等しいと推定される。
- そうではない場合、sps_bdof_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが0に等しくなれば、ph_disable_bdof_flagの値は1- sps_bdof_enabled_flagに等しいと推定される。
- そうではない場合、sps_bdof_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]>0であれば、ph_disable_bdof_flagの値は1- sps_bdof_enabled_flagに等しいと推定される。
- そうではない場合(sps_bdof_pic_present_flagが1に等しく且つrpl_info_in_ph_flagが1に等しく且つnum_ref_entries[1][RplsIdx[1]]==0)、ph_disable_bdof_flagの値は1に等しいと推定される。
【0106】
ある例では、構文要素ph_disable_bdof_flagは、上記の第2および第3の条件が成立した場合で明示的に通知されるので、ph_disable_bdof_flagが存在しない場合には、上記の第2および第3の条件がph_disable_bdof_flagの導出から除去されてもよい。
【0107】
- ある例では、ph_disable_bdof_flagが存在しない場合、以下のようになる。sps_bdof_pic_present_flagが0に等しくなれば、ph_disable_bdof_flagの値は1- sps_bdof_enabled_flagに等しいと推定される。
- そうではない場合、ph_disable_bdof_flagの値は1に等しいと推定される。
【0108】
さらに、構文要素ph_collocated_from_l0_flagおよびweight_table( )は、関連するスライスがBスライスである場合にのみ適用されるので、それらの条件付き通知が変更される。変更された構文要素通知の例は、以下に示される。
【表4】
【0109】
ph_collocated_from_l0_flagのセマンティクスも、通知されない状況に対応するように変更される。
【0110】
[118]ph_collocated_from_l0_flagは、1に等しくなれば、時間的動きベクトル予測のためのコロケーテッド画像が参照画像リスト0から導出されることを指定する。ph_collocated_from_l0_flagは、0に等しくなれば、時間的動きベクトル予測のためのコロケーテッド画像が参照画像リスト1から導出されることを指定する。
【0111】
ph_collocated_from_l0_flagが存在しない場合には、次のようになる。
- num_ref_entries[ 0 ][ RplsIdx[ 0 ] ]が1より大きくなれば、ph_collocated_from_l0_flagの値は1に等しいと推定される。
- そうではない場合(num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]が1より大きい)、ph_collocated_from_l0_flagの値は0に等しいと推定される。
【表5-1】
【表5-2】
【表5-3】
【0112】
同様には、代替条件チェックの例が以下に示される。
if( pps_weighted_bipred_flag && wp_info_in_ph_flag && (!rpl_info_in_ph_flag || (rpl_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] > 0)))
num_l1_weights
【0113】
pred_weight_table( )における構文要素のセマンティクスも、通知されない状況に対応するように変更される。
【0114】
num_l1_weightsは、pps_weighted_bipred_flag及びwp_info_in_ph_flagがともに1に等しい場合、参照画像リスト1におけるエントリに対して通知される重みの数を指定する。num_l1_weightsの値は、0以上Min( 15, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] )以下の範囲内にある。
【0115】
変数NumWeightsL1は以下のように導出される
if( !pps_weighted_bipred_flag)
NumWeightsL1 = 0
else if (wp_info_in_ph_flag && rpl_info_in_ph_flag && (num_ref_entries[ 0 ][ RplsIdx[ 0 ] ] ==0 || num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] >==0))
NumWeightsL1 = 0
else if( wp_info_in_ph_flag )
NumWeightsL1 = num_l1_weights
else
NumWeightsL1 = NumRefIdxActive[ 1 ]
【0116】
pred_weight_table( )における構文要素のセマンティクスのうち、num_l1_weightsの値が存在しない場合には、これを導出する代替手段が以下に示される。
num_l1_weightsは、pps_weighted_bipred_flagおよびwp_info_in_ph_flagがともに1に等しい場合に、参照画像リスト1におけるエントリに対して通知される重みの数を指定する。num_l1_weightsの値は、0以上Min( 15, num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] )以下の範囲内にある。num_l1_weightsの値は、存在しない場合、0と推定される。
【0117】
変数NumWeightsL1は、以下のように導出される。
if( !pps_weighted_bipred_flag)
NumWeightsL1 = 0
else if( wp_info_in_ph_flag )
NumWeightsL1 = num_l1_weights
else
NumWeightsL1 = NumRefIdxActive[ 1 ]
【0118】
pred_weight_table( )における構文要素のセマンティクスのうち、num_l1_weightsの値が存在しない場合には、これを導出する代替手段が以下に示される。
if( !pps_weighted_bipred_flag | | ( wp_info_in_ph_flag && num_ref_entries[ 1 ][ RplsIdx[ 1 ] ] = = 0 ) )
NumWeightsL1 = 0
else if( wp_info_in_ph_flag )
NumWeightsL1 = num_l1_weights
else
NumWeightsL1 = NumRefIdxActive[ 1 ]
【0119】
概念的には、冗長ビットを通知することを回避するために、Bスライスのみに適用可能な構文要素のいずれかについて、現在の画像が参照画像リストlist0およびlist1からの参照画像を有するかどうかを調べるように、通知条件を追加することが提案される。チェック条件は、上記のように参照画像リスト(例えば、参照画像リストlist0/list1)のサイズを調べるする方法に限定されなく、現在の画像が参照画像リストlist0およびlist1からの参照画像を有しているか否かを示す他の方法であってもよい。例えば、現在の画像が参照画像list0およびlist1の両方を有するか否かを示すフラグが通知されることができる。
【0120】
構文要素が通知されていなく、参照画像リスト情報が画像ヘッダ(PH)で通知されている場合、構文要素の値は、現在の画像が参照画像list0およびlist1の両方を有しているか、参照画像list0又はlist1のみを有しているかの情報を用いて導出される。一例において、ph_collocated_from_l0_flagが通知されていない場合、その値は、現在の画像が有する唯一の参照画像であると推定される。別の例では、sps_bdof_enabled_flagが1に等しく且つsps_bdof_pic_present_flagが1に等しいが、ph_disable_bdof_flagが通知されていない場合、ph_disable_bdof_flagに関する提案された通知条件に従って、num_ref_entries[ 0 ][ RplsIdx[ 0 ] ]が0に等しいか、num_ref_entries[ 1 ][ RplsIdx[ 1 ] ]が0に等しいことを意味する。したがって、この条件では、ph_disable_bdof_flagは、通知させず、1と推定される。現在のVVCでは、コロケーテッド画像の解像度だけでなく、スケーリング率の算出のために画像サイズに適用されるオフセットもTMVPの有効化に影響する可能性がある。しかしながら、現在のVVCでは、ph_temporal_mvp_enabled_flagのビットストリーム整合性においてオフセットを考慮しない。第2の実施形態では、以下に示すように、ph_temporal_mvp_enabled_flagの値がスケーリング率の算出のために画像サイズに適用されるオフセットに依存することを必要とする、ビットストリーム整合性制約を現在のVVCに追加することが提案される。
【0121】
DPBには、現在の画像と空間的解像度が同じで、スケーリング率の算出のための画像サイズにオフセットが同じ参照画像がない場合、ph_temporal_mvp_enabled_flagの値は0に等しい。
【0122】
上記のセマンティクスは、別の方法で以下のように書ってもよい。
DPBにおいて、0に等しい関連変数値RprConstraintsActive[ i ][ j ]を有する参照画像が存在しない場合、ph_temporal_mvp_enabled_flagの値は、0に等しい。
【0123】
現在のVVCでは、slice_collocated_ref_idxによって参照される画像は、符号化画像のすべてのスライスについて同一でなければならないというビットストリーム整合性の要件が存在する。しかし、符号化画像が複数のスライスを有し、これらのすべてのスライスの間に共通の参照画像が存在しない場合、このようなビットストリーム整合性が満たされる可能性はない。本開示の第3の実施形態では、ph_temporal_mvp_enabled_flagに対するビットストリーム整合性要件は、現在の画像内のすべてのスライス間に共通の参照画像が存在するかどうかを考慮するように変更される。本実施形態に基づいて、VVC標準に対するいくつかの例示的な変更が以下に示される。
【0124】
ph_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がPHに関連するスライスに対するインター予測に利用可能かどうかを指定する。ph_temporal_mvp_enabled_flagが0に等しくなれば、PHに関連するスライスの構文要素は、スライスの復号化に時間的動きベクトル予測子を使用しないように制約される。そうではない場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子を使用して、PHに関連するスライスを復号化することができる。ph_temporal_mvp_enabled_flagの値は、存在しない場合、0と推定される。DPBにおいて現在の画像と同じ空間的解像度を有する参照画像が存在しない場合には、ph_temporal_mvp_enabled_flagの値が、0に等しいべきである。PHに関連するすべてのスライスに共通の参照画像が存在しない場合には、ph_temporal_mvp_enabled_flagの値が、0に等しいべきである。
【0125】
ph_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がPHに関連するスライスに対するインター予測に利用可能かどうかを指定する。ph_temporal_mvp_enabled_flagが0に等しくなれば、PHに関連するスライスの構文要素は、スライスの復号化に時間的動きベクトル予測子を使用しないように制約される。そうではない場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子を使用して、PHに関連するスライスを復号化することができる。ph_temporal_mvp_enabled_flagの値は、存在しない場合、0に等しいと推定される。DPBにおいて現在の画像と同じ空間的解像度を有する参照画像が存在しない場合には、ph_temporal_mvp_enabled_flagの値が、0に等しいべきである。PHに関連するすべてのインタースライスに共通の参照画像が存在しない場合には、ph_temporal_mvp_enabled_flagの値が、0に等しいべきである。
【0126】
ph_temporal_mvp_enabled_flagは、時間的動きベクトル予測子がPHに関連するスライスに対するインター予測に利用可能かどうかを指定する。ph_temporal_mvp_enabled_flagが0に等しくなれば、PHに関連するスライスの構文要素は、スライスの復号化に時間的動きベクトル予測子を使用しないように制約される。そうではない場合(ph_temporal_mvp_enabled_flagが1に等しい場合)、時間的動きベクトル予測子を使用して、PHに関連するスライスを復号化することができる。ph_temporal_mvp_enabled_flagの値は、存在しない場合、0に等しいと推定される。DPBにおいて現在の画像と同じ空間的解像度を有する参照画像が存在しない場合には、ph_temporal_mvp_enabled_flagの値が、0に等しいべきである。PHに関連するすべての非イントラスライスに共通の参照画像が存在しない場合には、ph_temporal_mvp_enabled_flagの値が、0に等しいべきである。
【0127】
一例では、slice_collocated_ref_idxに関するビットストリーム整合性が、以下のように簡略化される。
【0128】
ビットストリーム整合性の要件は、slice_collocated_ref_idxで参照される参照画像のpic_width_in_luma_samples及びpic_height_in_luma_samplesの値が、それぞれ現在の画像のpic_width_in_luma_samplesおよびpic_height_in_luma_samplesの値と等しく、RprConstraintsActive[ slice_collocated_from_l0_flag ? 0 : 1 ][ slice_collocated_ref_idx ]が0に等しいことがである。
【0129】
上記の方法は、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブル論理装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラー、マイクロコントローラー、マイクロプロセッサー、またはその他の電子部材のような、1つまたは複数の回路を含む装置によって実現してもよい。この装置は、回路を他のハードウェアまたはソフトウェアコンポーネントと組み合わせて使用して上記の方法を実行してもよい。上述で開示された各モジュール、サブモジュール、ユニット、またはサブユニットは、少なくとも部分的に1つまたは複数の回路を使用して実現されてもよい。
【0130】
現在のVVC標準では、コロケーテッド画像の解像度の制限に対する2つのビットストリーム整合性がある。一方はph_temporal_mvp_enabled_flagに対して提案され、他方はslice_collocated_ref_idxに関するビットストリーム整合性に対して提案される。しかしながら、この2つのビットストリーム整合性は、すべて現在の画像と異なる解像度および/または異なるスケーリングオフセットを有するコロケーテッド画像の使用を禁止するので、VVC標準において2つのビットストリーム整合性があることは、機能的に、冗長である。第5の実施形態では、ビットストリーム整合性をチェックするエンコーダの負担を減らすために、ビットストリーム整合性slice_collocated_ref_idxのみを適用することが提案される。VVC改訂標準の一例を以下に示す。変更した部分がハイライト表示される。
【0131】
一例では、ビットストリーム整合性ph_temporal_mvp_enabled_flagのみを適用することが提案される。VVC改訂仕様の一例を以下に示す。
【0132】
図5は、本開示のある実施形態に係る、ビデオ符号化復号化のための例示的な装置を示すブロック図である。装置500は、携帯電話、タブレットコンピュータ、デジタル放送端末、タブレット装置、または携帯情報端末などの端末であってもよい。
【0133】
装置500は、図5に示されるように、処理部502、メモリ504、電源部506、マルチメディア部508、オーディオ部510、入力/出力(I/O)インターフェース512、センサ部514、および通信部516のうちの1つ以上を含んでもよい。
【0134】
処理部502は、通常に、表示、電話発呼、データ通信、カメラ操作、および記録操作に関連する操作など、装置500の全体的な操作を制御する。処理部502は、上記の方法のステップの全部または一部を実現するための命令を実行するための1つまたは複数のプロセッサ520を含むことが可能である。さらに、処理部502は、処理部502と他の部品との間の相互作用に寄与する1つまたは複数のモジュールを含むことが可能である。例えば、処理部502は、マルチメディア部508と処理部502との間の相互作用に寄与するためのマルチメディアモジュールを含んでもよい。
【0135】
メモリ504は、装置500の動作をサポートするために異なるタイプのデータを格納するように構成される。そのようなデータの例には、装置500上で動作する任意のアプリケーションまたは方法のための命令、連絡先データ、電話帳データ、メッセージ、画像、ビデオなどが含まれる。メモリ504は、任意のタイプの揮発性または非揮発性の記憶装置またはそれらの組み合わせによって実現され、メモリ504は、静的ランダムアクセスメモリ(SRAM:Static Random Access Memory)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)、消去型プログラマブルリードオンリメモリ(EPROM:Erasable Programmable Read-Only Memory)、プログラマブルリードオンリメモリ(PROM:Programmable Read-Only Memory)、リードオンリメモリ(ROM:Read-Only Memory)、磁気メモリ、フラッシュメモリ、磁気ディスク、またはコンパクトディスクであってもよい。
【0136】
電源部506は、装置500の各部品に電力を供給する。電源部506は、電源管理システム、1つまたは複数の電源、および装置500のための電力を生成、管理、および分配することに関連する他の部品を含んでもよい。
【0137】
マルチメディア部508は、装置500とユーザとの間の出力インターフェースを提供するスクリーンを含む。ある例では、スクリーンには、液晶表示装置(LCD:Liquid Crystal Display)およびタッチパネル(TP:Touch Panel)を含んでもよい。スクリーンがタッチパネルを含む場合、スクリーンは、ユーザからの入力信号を受信するタッチスクリーンとして実現してもよい。このタッチパネルは、このタッチパネル上のタッチ、スライド、およびジェスチャを感知するための1つまたは複数のタッチセンサーを含んでもよい。タッチセンサーは、タッチまたはスライド動作の境界を感知するだけでなく、タッチまたはスライド操作に関連する持続時間および圧力も検出することができる。ある例では、マルチメディア部1008は、フロントカメラおよび/またはリアカメラを含んでもよい。装置1000が撮像モードまたはビデオモードなどの動作モードにあるとき、フロントカメラおよび/またはリアカメラは、外部マルチメディアデータを受信することができる。
【0138】
オーディオ部510は、オーディオ信号を出力および/または入力するように構成される。例えば、オーディオ部510は、マイクロフォン(MIC)を含む。マイクロフォンは、装置500が通話モード、録音モード、および音声認識モードなどの動作モードにあるとき、外部オーディオ信号を受信するように構成される。受信されたオーディオ信号は、メモリ504にさらに格納されてよく、または通信部516を介して送信されてもよい。ある例では、オーディオ部510が、オーディオ信号を出力するためのスピーカーをさらに含む。
【0139】
I/Oインターフェース512は、処理部502と周辺インターフェースモジュールとの間のインターフェースを提供する。上述した周辺インターフェースモジュールは、キーボード、クリックホイール、ボタンなどであってもよい。これらのボタンには、ホームボタン、音量ボタン、スタートボタン、およびロックボタンが含まれるが、これらに限定されない。
【0140】
センサ部514は、装置500の異なる態様で状態評価を提供するための1つまたは複数のセンサを含む。例えば、センサ部514は、装置500のオン/オフ状態および構成要素の相対位置を検出することができる。例えば、これらの構成要素は、装置500のディスプレイおよびキーパッドである。センサ部514はまた、装置500または装置500の構成要素の位置変化、ユーザによる装置500上での接触の有無、装置500の向きまたは加速/減速、および装置500の温度変化を検出することもできる。センサ部514は、物理的な接触なしに近くの物体の存在を検出するように構成される近接センサを含んでもよい。センサ部514は、画像化アプリケーションで使用されるCMOSまたはCCD画像センサなどの光学センサをさらに含んでもよい。ある例では、センサー部514は、加速度センサー、ジャイロセンサー、磁気センサー、圧力センサー、または温度センサーをさらに含んでもよい。
【0141】
通信部516は、装置500と他の装置との間の有線または無線通信に役立つように構成される。装置500は、WiFi、4G、またはそれらの組み合わせなどの通信標準に基づいて無線ネットワークにアクセスすることができる。一例では、通信部516は、報知チャネルを介して外部報知管理システムから報知信号または報知関連情報を受信する。一例では、通信部516は、短距離通信を促進するための近距離無線通信(NFC)モジュールをさらに含んでもよい。例えば、NFCモジュールは、無線周波数識別(RFID)技術、赤外線データ関連付け(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(BT)技術および他の技術に基づいて実現してもよい。
【0142】
一例では、装置500は、上記の方法を実行するために特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブル論理装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラー、マイクロコントローラー、マイクロプロセッサー、またはその他の電子要素の1つまたは複数によって実現してもよい。
【0143】
非一時的なコンピュータ読取可能な記憶媒体は、例えば、ハードディスクドライブ(HDD)、固体ドライブ(SSD)、フラッシュメモリ、ハイブリッドドライブや固体ハイブリッドドライブ(SSHD)、読み出し専用メモリ(ROM)、コンパクトディスク読み出し専用メモリ(CD―ROM)、磁気テープ、フロッピーディスクなどであってもよい。
【0144】
図6は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
【0145】
ステップ602において、プロセッサ520は、画像に関するPHにおいて無効化フラグが存在するかごうかを決定する。
【0146】
ある例では、無効化フラグは、符号化複号化ツールがPHに関連する1つまたは複数のスライスに無効化されるかどうかを指定する。
【0147】
ステップ604において、プロセッサ520は、PHにおいて無効化フラグが存在しないと決定したことに応じて、画像のSPSにおいて通知される1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0148】
ある例では、プロセッサ520は、無効化フラグの値が1に等しいと決定したことに応じて、符号化復号化ツールがこれらの1つまたは複数のスライスの復号化に無効にし、無効化フラグの値が0に等しいと決定したことに応じて、符号化複号化ツールがこれらの1つまたは複数のスライスの復号化に有効にする。
【0149】
ある例では、符号化復号化ツールが、DMVRベースのインター双予測およびBDOFベースのインター双予測のうちの少なくとも1つを含む。
【0150】
ある例では、プロセッサ520は、1つまたは複数の参照画像リストは該当画像に関連する1つまたは複数のスライスが双予測ではないことを示していると決定したことに応じて、無効化フラグの解析をスキップする。
【0151】
ある例では、無効化フラグは、DMVRベースのインター双予測がPHに関連する1つまたは複数のスライスに無効化されているかどうかを指定し、プロセッサ520は、DMVRベースのインター双予測を1つまたは複数のスライスの復号化に無効にすることで符号化復号化ツールをこの1つまたは複数のスライスの復号化に無効にし、DMVRベースのインター双予測を1つまたは複数のスライスの復号化に有効にすることで符号化復号化ツールをこの1つまたは複数のスライスの復号化に有効にする。
【0152】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第1の有効化フラグが1に等しく且つ第2の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を0と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0153】
ある例では、SPSにおける第1の有効化フラグは、DMVRベースのインター双予測が有効化されるかどうかを指定し、1に等しくなれば、DMVRベースのインター双予測が有効化されることを指定し、0に等しくなれば、DMVRベースのインター双予測が無効化されることを指定する。
【0154】
ある例では、SPSにおける第2の有効化フラグは、SPSを参照するPHにおいて無効化フラグか存在するかどうかを指定し、0に等しくなれば、SPSを参照するPHにおいて無効化フラグか存在しないことを指定し、1に等しくなれば、SPSを参照するPHにおいて無効化フラグか存在することを指定する。
【0155】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第1の有効化フラグが1に等しく且つ第2の有効化フラグが1に等しいと決定したことに応じて無効化フラグの値を1と推定し、該当第1の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0156】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第1の有効化フラグが0に等しく且つ第2の有効化フラグが0に等しいと決定したことに応じて無効化フラグを1と推定し、該当第1の有効化フラグが1に等しく且つ該当第2の有効化フラグが1―Wに等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。該当1つ又は複数の参照画像リストは、第1の参照画像リスト及び第2の参照画像リストを含む。
【0157】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第1の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を1と推定し、画像のSPSにおいて通知される第2の有効化フラグが1に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0158】
ある例では、プロセッサ520が、SPSにおける第1の有効化フラグの値をWと決定し、該当第1の有効化フラグは、DMVRベースのインター双予測が有効化されるかどうかを指定し、1に等しくなれば、DMVRベースのインター双予測が有効化されることを指定し、0に等しくなれば、DMVRベースのインター双予測が無効化されることを指定する。プロセッサ520は、画像のSPSにおいて通知される第2の有効化フラグが0に等しくいと決定したことに応じて無効化フラグの値を1-Wと推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。SPSにおける第2の有効化フラグは、SPSを参照するPHにおいて無効化フラグか存在するかどうかを指定し、第2の有効化フラグは、0に等しくなれば、SPSを参照するPHにおいて無効化フラグか存在しないことを指定し、1に等しくなれば、SPSを参照するPHにおいて無効化フラグか存在することを指定する。
【0159】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第2の有効化フラグが0に等しくないと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0160】
ある例では、プロセッサ520が、画像のSPSにおける第2の有効化フラグが1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、SPSにおける第2の有効化フラグが0に等しくないと決定したことに応じて無効化フラグの値を1と推定する。該当1つ又は複数の参照画像リストは、第1の参照画像リスト及び第2の参照画像リストを含む。
【0161】
ある例では、プロセッサ520が、PHにおいて無効化フラグが通知されたと決定したことに応じて、SPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0162】
ある例では、プロセッサ520が、SPSにおける第1の有効化フラグの値をWと決定し、SPSにおける第2の有効化フラグの値が1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知されていないと決定したことに応じて無効化フラグの値を1-Wと推定し、SPSにおける第2の有効化フラグの値が1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ参照画像リスト1における参照画像の数が0よりも大きいと決定したことに応じて無効化フラグの値を1-Wと推定することによって、PHおいてに無効化フラグが通知されたと決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0163】
ある例では、プロセッサ520が、SPSにおける第1の有効化フラグを1に等しく且つSPSにおける第2の有効化フラグが1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知されていないと決定したことに応じて無効化フラグの値をPHにおいて明示的に通知される無効化フラグの値と推定し、SPSにおける第1の有効化フラグの値が1に等しく且つSPSにおける第2の有効化フラグの値が1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ参照画像リストにおける参照画像の数が0よりも大きいと決定したことに応じて無効化フラグの値をPHにおいて明示的に通知される無効化フラグの値と推定することによって、PHにおいて無効化フラグが通知されたと決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0164】
ある例では、無効化フラグは、BDOFベースのインター双予測がPHに関連する1つまたは複数のスライスに無効化されるかどうかを指定する。プロセッサ520は、BDOFベースのインター双予測を1つまたは複数のスライスの復号化に無効にすることによって符号化復号化ツールをこの1つまたは複数のスライスの復号化に無効にし、BDOFベースのインター双予測を1つまたは複数のスライスの復号化に有効にすることによって符号化復号化ツールをこの1つまたは複数のスライスの復号化に有効にする。
【0165】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第3の有効化フラグが1に等しく且つ第4の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を0と推定することによって無効化フラグの解析がスキップされると決定したことに応じて、SPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。SPSにおける第3の有効化フラグは、BDOFベースのインター双予測が有効化されるかどうかを指定し、1に等しくなれば、BDOFベースのインター双予測が有効化されることを指定し、0に等しくなれば、BDOFベースのインター双予測が無効化されることを指定する。SPSにおける第4の有効化フラグは、SPSを参照するPHにおいて無効化フラグか存在するかどうかを指定し、0に等しくなれば、SPSを参照するPHにおいて無効化フラグか存在しないことを指定し、1に等しくなれば、SPSを参照するPHにおいて無効化フラグか存在することを指定する。
【0166】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第3の有効化フラグが1に等しく且つ第4の有効化フラグが1に等しいと決定したことに応じて無効化フラグの値を1と推定し、該当第3の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0167】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第3の有効化フラグが0に等しく且つ第4の有効化フラグが0に等しいと決定したことに応じて無効化フラグを1と推定し、該当第3の有効化フラグが1に等しく且つ該当第4の有効化フラグが1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。該当1つ又は複数の参照画像リストは、第1の参照画像リスト及び第2の参照画像リストを含む。
【0168】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第3の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を1と推定し、画像のSPSにおいて通知される第4の有効化フラグが1に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0169】
ある例では、プロセッサ520が、画像のSPSにおける第3の有効化フラグの値をVと決定し、画像のSPSにおいて通知される第4の有効化フラグが0に等しいと決定したことに応じて無効化フラグの値を1-Vと推定することによって、SPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0170】
ある例では、プロセッサ520が、画像のSPSにおいて通知される第4の有効化フラグが0に等しくないと決定したことに応じて無効化フラグの値を1と推定することによって、無効化フラグの解析がスキップされると決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0171】
ある例では、プロセッサ520が、画像のSPSにおける第4の有効化フラグが1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて無効化フラグの値を1と推定することによって、SPSにおける第4の有効化フラグが0に等しくないと決定したことに応じて無効化フラグの値を1と推定する。該当1つ又は複数の参照画像リストは、第1の参照画像リスト及び第2の参照画像リストを含む。
【0172】
ある例では、プロセッサ520が、SPSにおける第4の有効化フラグの値をVと決定し、SPSにおける第4の有効化フラグの値が1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知されていないと決定したことに応じて無効化フラグの値を1-Vと推定し、SPSにおける第4の有効化フラグの値が1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ参照画像リスト1における参照画像の数が0よりも大きいと決定したことに応じて無効化フラグの値を1-Vと推定することによって、PHにおいて無効化フラグが通知されたと決定したことに応じてSPSにおける1つ又は複数の有効化フラグから無効化フラグの値を推定する。
【0173】
ある例では、プロセッサ520が、SPSにおける第3の有効化フラグを1に等しく且つ第4の有効化フラグが1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知されていないと決定したことに応じて無効化フラグの値をPHにおいて明示的に通知される無効化フラグの値と推定し、SPSにおける第3の有効化フラグの値が1に等しく且つSPSにおける第4の有効化フラグの値が1に等しく且つPHにおいて1つ又は複数の参照画像リストが通知され且つ参照画像リストにおける参照画像の数が0よりも大きいと決定したことに応じて無効化フラグの値をPHにおいて明示的に通知される無効化フラグの値と推定する。
【0174】
図7は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
【0175】
ステップ702において、プロセッサ520は、画像に関連するPH内にフラグが存在するか否かを決定する。
【0176】
ある例において、フラグは、TMVPに使用される画像が、当該画像に関連する複数の参照画像リストのうちのある参照画像リストから導出されるか否かを指定する。
【0177】
ステップ704において、プロセッサ520は、PHにおいてフラグが存在しないと決定したことに応じて、参照画像リストにおける参照画像の数からこのフラグの値を推定する。
【0178】
ある例では、プロセッサ520は、複数の参照画像リストが、画像に関連する1つまたは複数のスライスが双予測されないことを示していると決定したことに応じて、このフラグの解析をスキップする。
【0179】
ある例において、上記の複数の参照画像リストは、第1の参照画像リスト及び第2の参照画像リストを含む。
【0180】
ある例において、フラグは、1に等しくなれば、TMVPに使用される画像が第1の参照画像リストから導出されたことを示し、0に等しくなれば、TMVPに使用される画像が第2の参照画像リストから導出されたことを示す。
【0181】
ある例では、プロセッサ520は、第1の参照画像リストにおける参照画像の数が1よりも多いと決定したことに応じて上記フラグの値を1と推定し、第2の参照画像リストにおける参照画像の数が1よりも多いと決定したことに応じて上記のフラグの値が0と推定することにより、上記のフラグの解析がスキップされると決定したことに応じて参照画像リストの参照画像の数から上記のフラグの値を推定する。
【0182】
図8は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
【0183】
ステップ802において、プロセッサ520は、画像に関連するPH内にフラグが存在するか否かを決定する。
【0184】
ある例において、上記のフラグは、画像のPPSにおける第1のWPフラグ及び画像のPHにおける第2のWPフラグから、参照画像リストにおいて通知される重みの数を指定し、このフラグは、画像に関連するWP構文にある。
【0185】
ステップ804において、プロセッサ520は、PHにおいて上記のフラグが存在しないと決定したことに応じて、画像に関連する複数の参照画像リストからのある参照画像リストにおける参照画像の数からこのフラグの値を推定する。
【0186】
ある例では、プロセッサ520は、複数の参照画像のリストが、画像に関連する1つまたは複数のスライスが双予測されないことを示していると決定したに応じて、上記のフラグの解析をスキップする。
【0187】
ある例において、上記の複数の参照画像リストは、第1の参照画像リスト及び第2の参照画像リストを含み、上記のフラグは、PPSにおける第1のWPフラグが1に等しく且つPHにおける第2のWPフラグが1に等しいと決定したことに応じて、第2の参照画像リストにおいて通知される重みの数を指定する。
【0188】
ある例では、プロセッサ520は、PPSにおける第1のWPフラグが0に等しく且つPHにおける第2のWPフラグが1に等しく且つ第2の参照画像リストにおける参照画像の数が0に等しいと決定したことに応じて上記のフラグの値が0であると推定し、PPSにおける第1のWPフラグが0に等しくなく且つPHにおける第2のWPフラグが1に等しいと決定したことに応じて上記のフラグの値がPHにおいて明示的に通知されたフラグの値であると推定し、PPSにおける第1のフラグの値が0に等しくなく且つPHにおける第2のWPフラグが1に等しくないと決定したことに応じて上記のフラグの値がNumRefIdxActive[1]の値であると推定することによって、上記のフラグの解析がスキップされると決定したことに応じて画像に関連する参照画像リストにおける参照画像の数から上記のフラグの値を推定する。
【0189】
ある例では、NumRefIdxActive[ i ] - 1の値は、参照画像リストiのための最大参照インデックスを指定し、ここで、iは0または1に等しい。
【0190】
例えば、NumRefIdxActive[ i ] - 1の値は、第2の参照画像リストである参照画像リスト1のための最大参照インデックスを指定する。
【0191】
ある例では、プロセッサ520は、PPSにおける第1のWPフラグが0に等しいと決定したことに応じて上記のフラグの値を0と決定し、PPSにおける第1のWPフラグが0に等しくなく且つPHにおける第2のWPフラグが1に等しいと決定したことに応じて上記のフラグの値をPH内で明示的に通知されるフラグの値と決定し、PPSにおける第1のWPフラグが0に等しくなく且つPHにおける第2のWPフラグが1に等しくないと決定したことに応じてこのフラグの値をNumRefIdxActive[ 1 ]の値であると決定することによって、PH内にこのフラグの値が存在すると決定したに応じてこのフラグの値を決定する。
【0192】
図9は、本開示のある実施形態に係る、ビデオ符号化復号化の例示的な処理を示すフローチャートである。
【0193】
ステップ902において、プロセッサ520は、有効化フラグにより、1つまたは複数の時間的動きベクトル予測子が、画像のPHに関連する1つまたは複数のスライスのためのインター予測に使用されるかどうかを指定する。
【0194】
ステップ904において、プロセッサ520は、スケーリング率の算出のために画像のサイズに適用される複数のオフセットから有効化フラグの値を制約する。
【0195】
ある例では、プロセッサは、1つ又は複数のインタースライスのうち共通の参照画像が存在しないと決定したことに応じて、有効化フラグを0に設定する。1つ又は複数のスライスは、PHに関連する上記の1つまたは複数のスライスを含む。
【0196】
ある例では、プロセッサは、1つ又は複数の非イントラスライスのうち共通の参照画像が存在しないと決定したことに応じて、有効化フラグを0に設定する。
【0197】
ある例では、ビデオ符号化複号化のための装置が提供されている。この装置は、1つまたは複数のプロセッサ520と、1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されたメモリ504とを含み、ここで、プロセッサは、命令の実行時に、図6に示されるような方法を実行するように構成される。
【0198】
ある例では、ビデオ符号化複号化のための装置が提供されている。この装置は、1つまたは複数のプロセッサ520と、1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されたメモリ504とを含み、ここで、プロセッサは、命令の実行時に、図7に示されるような方法を実行するように構成される。
【0199】
ある例では、ビデオ符号化複号化のための装置が提供されている。この装置は、1つまたは複数のプロセッサ520と、1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されたメモリ504とを含み、ここで、プロセッサは、命令の実行時に、図8に示されるような方法を実行するように構成される。
【0200】
ある例では、ビデオ符号化複号化のための装置が提供されている。この装置は、1つまたは複数のプロセッサ520と、1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されたメモリ504とを含み、ここで、プロセッサは、命令の実行時に、図9に示されるような方法を実行するように構成される。
【0201】
他のある例では、命令が格納されている非一時的なコンピュータ読取可能な記憶媒体504が提供される。これらの命令は、1つまたは複数のプロセッサ520によって実行されると、このプロセッサに、図6に示すような方法を実行させる。
【0202】
別のある例では、命令が格納されている非一時的なコンピュータ読取可能な記憶媒体504が提供される。これらの命令は、1つまたは複数のプロセッサ520によって実行されると、このプロセッサに、図7に示すような方法を実行させる。
【0203】
別のある例では、命令が格納されている非一時的なコンピュータ読取可能な記憶媒体504が提供される。これらの命令は、1つまたは複数のプロセッサ520によって実行されると、このプロセッサに、図8に示すような方法を実行させる。
【0204】
別のある例では、命令が格納されている非一時的なコンピュータ読取可能な記憶媒体504が提供される。これらの命令は、1つまたは複数のプロセッサ520によって実行されると、このプロセッサに、図9に示すような方法を実行させる。
【0205】
本開示の説明は、例示の便利のために提示されており、網羅的なまたは本開示に限定されることを意図するものではない。多い変更、変形、および置換した実現は、前述の説明および関連する図面に提示された教示を得った当業者にとっては明らかである。
【0206】
実施形態は、本開示の原理を説明し、当業者が各種の実施のための開示を理解し、基礎原理および各種の変更を予期される特定の用途に適させるための各種の実施を最もよく利用できるようにするために選択されおよび説明されたものである。したがって、本開示の範囲は、開示された実施形態の特定の例に限定されなく、変更および他の実現も、本開示の範囲に含まれることを理解されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9