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

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

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

特表2024-531578ビデオ符号化復号化におけるアフィンマージモードの候補導出
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】ビデオ符号化復号化におけるアフィンマージモードの候補導出
(51)【国際特許分類】
   H04N 19/109 20140101AFI20240822BHJP
   H04N 19/157 20140101ALI20240822BHJP
   H04N 19/176 20140101ALI20240822BHJP
   H04N 19/54 20140101ALI20240822BHJP
   H04N 19/46 20140101ALI20240822BHJP
【FI】
H04N19/109
H04N19/157
H04N19/176
H04N19/54
H04N19/46
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024514503
(86)(22)【出願日】2022-09-06
(85)【翻訳文提出日】2024-04-25
(86)【国際出願番号】 US2022042654
(87)【国際公開番号】W WO2023034640
(87)【国際公開日】2023-03-09
(31)【優先権主張番号】63/241,094
(32)【優先日】2021-09-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521147444
【氏名又は名称】ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100163511
【弁理士】
【氏名又は名称】辻 啓太
(72)【発明者】
【氏名】チェン ウェイ
(72)【発明者】
【氏名】シュウ シャオユウ
(72)【発明者】
【氏名】チェン イーウェン
(72)【発明者】
【氏名】チュウ ホンチェン
(72)【発明者】
【氏名】クオ チェウェイ
(72)【発明者】
【氏名】ヤン ニン
(72)【発明者】
【氏名】ワン シャンリン
(72)【発明者】
【氏名】ユ ビン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA05
5C159NN10
5C159NN11
5C159NN21
5C159NN31
5C159RC12
5C159TA61
5C159TB08
5C159TC12
5C159TC31
5C159TC42
5C159UA02
5C159UA05
5C159UA22
(57)【要約】
ビデオ符号化の方法、装置、及びその非一時的コンピュータ可読記憶媒体を提供する。この方法は、現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得するステップを含む。この方法は、1つ以上のアフィン候補に基づいて、現在のブロックの1つ以上の制御ポイント動きベクトル(CPMV)を取得するステップを更に含んでもよい。
【特許請求の範囲】
【請求項1】
現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得するステップと、
前記1つ以上のアフィン候補に基づいて、前記現在のブロックの1つ以上の制御ポイント動きベクトル(CPMV)を取得するステップと、を含む、ビデオ符号化の方法。
【請求項2】
走査規則に従って前記1つ以上のアフィンマージ候補を取得するステップを更に含む、請求項1に記載の方法。
【請求項3】
少なくとも1つの走査領域、少なくとも1つの走査距離、及び走査順序に基づいて前記走査規則を決定するステップを更に含む、請求項2に記載の方法。
【請求項4】
前記少なくとも1つの走査距離は、前記現在のブロックの辺から離れたブロックの数を示す、請求項3に記載の方法。
【請求項5】
第1走査領域内の複数の非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の非隣接近傍ブロックを取得するステップと、
アフィンモードで符号化された前記1つ以上の非隣接近傍ブロックを前記1つ以上のアフィン候補として決定するステップと、を更に含む、請求項4に記載の方法。
【請求項6】
取得されたアフィンモードで符号化された前記1つ以上の非隣接近傍ブロックの数が所定の数に達したと決定することに応答して、前記第1走査領域内での走査を停止するステップを更に含む、請求項5に記載の方法。
【請求項7】
前記現在のブロックの左辺と平行な走査線に沿って、第1開始非隣接近傍ブロックから走査するステップであって、前記第1開始非隣接ブロックが前記第1走査領域内の底部ブロックであり、前記第1走査領域内のブロックが前記現在のブロックの左辺から第1走査距離離れた位置にある、ステップを更に含む、請求項6に記載の方法。
【請求項8】
前記第1開始非隣接ブロックは、第2走査領域内の第2開始非隣接近傍ブロックの底部及び左側にあり、前記第2走査領域内のブロックは、前記現在のブロックの左辺から第2走査距離離れた位置にある、請求項7に記載の方法。
【請求項9】
前記現在のブロックの上辺と平行な走査線に沿って、第3開始非隣接近傍ブロックから走査するステップであって、前記第3開始非隣接ブロックが前記第1走査領域内の右側ブロックであり、前記第1走査領域内のブロックが前記現在のブロックの上辺から第1走査距離離れた位置にある、ステップを更に含む、請求項5に記載の方法。
【請求項10】
前記第3開始非隣接ブロックは、第2走査領域内の第4開始非隣接近傍ブロックの上部及び右側にあり、前記第2走査領域内のブロックは、前記現在のブロックの上辺から第2走査距離離れた位置にある、請求項9に記載の方法。
【請求項11】
前記少なくとも1つの走査領域は、前記現在のブロックの左側にある少なくとも1つの左側走査領域と、前記現在のブロックの上方にある少なくとも1つの上部走査領域とを含み、
前記方法は、
前記少なくとも1つの左側走査領域内の複数の第1非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第1非隣接近傍ブロックを取得するステップと、
前記少なくとも1つの上部走査領域内の複数の第2非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第2非隣接近傍ブロックを取得するステップと、
アフィンモードで符号化された前記1つ以上の第1非隣接近傍ブロック及びアフィンモードで符号化された前記1つ以上の第2非隣接近傍ブロックを前記1つ以上のアフィン候補として決定するステップと、を更に含む、請求項4に記載の方法。
【請求項12】
前記少なくとも1つの左側走査領域は、第1左側走査領域、第2左側走査領域、及び第3左側走査領域を含み、
前記第1左側走査領域内のブロックは、前記現在のブロックの左辺から第1走査距離離れた位置にあり、前記第2左側走査領域内のブロックは、前記現在のブロックの左辺から第2走査距離離れた位置にあり、前記第3左側走査領域内のブロックは、前記現在のブロックの左辺から第3走査距離離れた位置にあり、
前記少なくとも1つの左側走査領域内の複数の前記第1非隣接近傍ブロックを走査するステップは、
前記現在のブロックの左辺と平行な第1走査線に沿って、第1開始非隣接近傍ブロックから走査するステップであって、前記第1開始非隣接ブロックが前記第1左側走査領域内の底部ブロックである、ステップと、
前記現在のブロックの左辺と平行な第2走査線に沿って、第2開始非隣接近傍ブロックから走査するステップであって、前記第2開始非隣接近傍ブロックが前記第2左側走査領域内の底部ブロックである、ステップと、
前記現在のブロックの左辺と平行な第3走査線に沿って、第3開始非隣接近傍ブロックから走査するステップであって、前記第3開始非隣接近傍ブロックが前記第3左側走査領域内の底部ブロックである、ステップと、を含む、請求項11に記載の方法。
【請求項13】
前記少なくとも1つの上部走査領域は、第1上部走査領域、第2上部走査領域、及び第3上部走査領域を含み、
前記第1上部走査領域内のブロックは、前記現在のブロックの上辺から第1走査距離離れた位置にあり、前記第2上部走査領域内のブロックは、前記現在のブロックの上辺から第2走査距離離れた位置にあり、前記第3上部走査領域内のブロックは、前記現在のブロックの上辺から第3走査距離離れた位置にあり、
前記少なくとも1つの上部走査領域内の複数の前記第2非隣接近傍ブロックを走査するステップは、
前記現在のブロックの上辺と平行な第4走査線に沿って、第4開始非隣接近傍ブロックから走査するステップであって、前記第4開始非隣接ブロックが前記第1上部走査領域内の右側ブロックである、ステップと、
前記現在のブロックの上辺と平行な第5走査線に沿って、第5開始非隣接近傍ブロックから走査するステップであって、前記第5開始非隣接近傍ブロックが前記第2上部走査領域内の右側ブロックである、ステップと、
前記現在のブロックの上辺と平行な第6走査線に沿って、第6開始非隣接近傍ブロックから走査するステップであって、前記第6開始非隣接近傍ブロックが前記第3上部走査領域内の右側ブロックである、ステップと、を含む、請求項12に記載の方法。
【請求項14】
前記第1走査距離は、前記第2走査距離又は第3走査距離より小さく、前記第2走査距離は、前記第3走査距離より小さい、請求項13に記載の方法。
【請求項15】
走査規則に基づいて、第1アフィン候補の第1候補位置と、第2アフィン候補の第2候補位置とを取得するステップと、
前記第1候補位置及び第2候補位置に基づいて、第3アフィン候補の第3候補位置を決定するステップと、
前記第1候補位置、前記第2候補位置、及び前記第3候補位置に基づいて仮想ブロックを取得するステップと、
前記第1候補位置、前記第2候補位置、及び前記第3候補位置での並進MVに基づいて、前記仮想ブロックの3つの制御ポイント動きベクトル(CPMV)を取得するステップと、
継承された候補導出に使用される同じ投影プロセスを使用して、前記仮想ブロックの3つのCPMVに基づいて、前記現在のブロックの2つ又は3つのCPMVを取得するステップと、を更に含む、請求項1に記載の方法。
【請求項16】
前記仮想ブロックは、矩形の符号化ブロックであり、前記第3候補位置は、前記第1候補位置の垂直位置と前記第2候補位置の水平位置に基づいて決定される、請求項15に記載の方法。
【請求項17】
少なくとも1つの走査領域、少なくとも1つの走査方向、少なくとも1つの走査距離、及び走査順序に基づいて前記走査規則を決定するステップを更に含む、請求項16に記載の方法。
【請求項18】
前記現在のブロックの上辺に垂直な第1走査方向に沿って、第1走査距離で第1走査領域内に走査することによって前記第1候補位置を取得するステップであって、前記第1走査距離が第1数の動き場を含み、前記第1候補位置と前記上辺の右側及び上方にある隣接動き場との間の距離が前記第1走査距離であり、前記第1走査領域が前記上辺の右側及び上方にある1ラインの連続動き場を含む、ステップと、
前記現在のブロックの左辺に垂直な第2走査方向に沿って、第2走査距離で第2走査領域内に走査することによって前記第2候補位置を取得するステップであって、前記第2走査距離が第2数の動き場を含み、前記第2候補位置と前記左辺の左側及び下部にある隣接動き場との間の距離が前記第2走査距離であり、前記第2走査領域が前記左辺の左側及び下部にある1ラインの連続動き場を含む、ステップと、を更に含む、請求項17に記載の方法。
【請求項19】
前記第1走査領域又は前記第2走査領域内に、前記現在のブロックから離れて面する走査順序で走査するステップを更に含む、請求項18に記載の方法。
【請求項20】
前記現在のブロックの上辺に平行な第3走査方向に沿って、第3走査距離で第3走査領域内に走査することによって前記第1候補位置を取得するステップと、
前記現在のブロックの左辺に平行な第4走査方向に沿って、第4走査距離で第4走査領域内に走査することによって前記第2候補位置を取得するステップと、を更に含む、請求項17に記載の方法。
【請求項21】
左側から右側への走査順序で前記第3走査領域内に走査するステップと、
上から下への走査順序で前記第4走査領域内に走査するステップと、を更に含む、請求項20に記載の方法。
【請求項22】
前記現在のブロックの上辺に平行な第3走査方向と、前記上辺に垂直な第1走査方向との組み合わせに沿って第5走査距離で第5走査領域内に走査することによって、前記第1候補位置を取得するステップと、
前記現在のブロックの左辺に平行な第4走査方向と、前記左辺に垂直な第2走査方向との組み合わせに沿って第6走査距離で第6走査領域内に走査することによって、前記第2候補位置を取得するステップと、を更に含む、請求項17に記載の方法。
【請求項23】
左側から右側への組み合わせ走査順序で、前記現在のブロックから離れて面して、前記第5走査領域内に走査するステップと、
上から下への組み合わせ走査順序で、前記現在のブロックから離れて面して、前記第6走査領域内に走査するステップと、を更に含む、請求項22に記載の方法。
【請求項24】
前記1つ以上のアフィン候補の数が所定の数に達したと決定することに応答して、前記少なくとも1つの走査領域内での走査を停止するステップを更に含む、請求項17に記載の方法。
【請求項25】
前記第1アフィン候補、前記第2アフィン候補、及び前記第3アフィン候補の動き情報が利用可能であると決定することに応答して、前記仮想ブロックが6パラメータアフィンモデルを表すと決定するステップと、
前記第1アフィン候補、前記第2アフィン候補、及び前記第3アフィン候補のうちの1つのアフィン候補の動き情報が担保できないと決定することに応答して、前記仮想ブロックが4パラメータアフィンモデルを表すと決定するステップと、
前記第1アフィン候補、前記第2アフィン候補、及び前記第3アフィン候補のうちの2つのアフィン候補の動き情報が担保できないと決定することに応答して、前記仮想ブロックが有効なアフィンモデルを表すことができないと決定するステップと、を更に含む、請求項15に記載の方法。
【請求項26】
第1アフィン候補の1つ以上の制御ポイント動きベクトル(CPMV)に関連付けられた第1セットのアフィンモデルパラメータを計算するステップと、
第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算するステップと、
前記第1セットのアフィンモデルパラメータ及び前記第2セットのアフィンモデルパラメータに基づいて、前記第1アフィン候補と前記第2アフィン候補との間の類似性チェックを実行するステップと、を含む、アフィン候補をプルーニングする方法。
【請求項27】
前記第1セットのアフィンモデルパラメータが前記第2セットのアフィンモデルパラメータに類似すると決定することに応答して、前記第1アフィン候補が前記第2アフィン候補に類似すると決定し、前記第1アフィン候補及び前記第2アフィン候補のうちの1つをプルーニングするステップを更に含む、請求項26に記載の方法。
【請求項28】
前記第1セットのアフィンモデルパラメータの1つのパラメータと前記第2セットのアフィンモデルパラメータの1つのパラメータとの差が所定の閾値より小さいと決定することに応答して、前記第1アフィン候補が前記第2アフィン候補に類似すると決定するステップを更に含む、請求項26に記載の方法。
【請求項29】
前記現在のブロックの幅及び高さに従って、前記第1アフィン候補の1つ以上のCPMVに関連付けられた前記第1セットのアフィンモデルパラメータを計算するステップと、
前記現在のブロックの幅及び高さに従って、前記第2アフィン候補の1つ以上のCPMVに関連付けられた前記第2セットのアフィンモデルパラメータを計算するステップと、を更に含む、請求項26に記載の方法。
【請求項30】
異なるアフィンモデルは、前記第1アフィン候補と前記第2アフィン候補にそれぞれ適用され、前記第1セットのアフィンモデルパラメータと前記第2セットのアフィンモデルパラメータは、それぞれ異なる前記アフィンモデルに関連付けられる、請求項26に記載の方法。
【請求項31】
異なる前記アフィンモデルは、4パラメータアフィンモデル及び6パラメータアフィンモデルを含む、請求項30に記載の方法。
【請求項32】
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令の実行時に、請求項1~31のいずれか一項に記載の方法を実行するように構成される、ビデオ符号化のための装置。
【請求項33】
1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに請求項1~31のいずれか一項に記載の方法を実行させるコンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2021年9月6日に提出された、名称が「Candidate Derivation for Affine Merge Mode in Video Coding」である米国仮特許出願第63/241094号に対する優先権を主張するものであり、その内容全体は、参照により本明細書に組み込まれるものとする。
【技術分野】
【0002】
本開示は、ビデオ符号化復号化及び圧縮に関し、特に、ビデオ符号化又は復号プロセスにおけるアフィン動き予測モードのアフィンマージ候補導出を改善する方法及び装置に関するが、これらに限定されない。
【背景技術】
【0003】
ビデオデータを圧縮するためには、様々なビデオ符号化復号化技術を使用することができる。ビデオ符号化復号化は、1つ以上のビデオ符号化復号化標準に従って実行される。例えば、今日ではよく知られているいくつかのビデオ符号化復号化標準として、ISO/IEC MPEGとITU-T VECGによって共同開発された汎用ビデオ符号化復号化(VVC)、高効率ビデオ符号化復号化(HEVC、H.265又はMPEG-H Part2としても知られる)、及び高度ビデオ符号化復号化(AVC、H.264又はMPEG-4 Part10としても知られる)が挙げられる。AOメディアビデオ1(AV1)は、先行標準VP9の後継としてAlliance for Open Media(AOM)によって開発された。デジタルオーディオ及びデジタルビデオ圧縮標準を指すオーディオビデオ符号化復号化(AVS)は、中国のオーディオ及びビデオ符号化標準ワークグループによって開発された別のビデオ圧縮標準シリーズである。既存のビデオ符号化復号化標準の多くは、例えば、ブロックベースの予測方法(例えば、インター予測、イントラ予測)を使用してビデオイメージ又はシーケンスに存在する冗長性を削減し、変換符号化を使用して予測誤差のエネルギーを圧縮するなどのように、有名なハイブリッドビデオ符号化復号化フレームワークに基づいて構築される。ビデオ符号化復号化技術の1つの重要な目標は、ビデオ品質の劣化を回避するか又は最小限に抑えながら、ビデオデータを、より低いビットレートを使用する形式に圧縮することである。
【0004】
第1世代のAVS標準は、中国の国家標準「情報技術、高度なオーディオビデオ符号化復号化、パート2:ビデオ」(AVS1として知られている)及び「情報技術、高度なオーディオビデオ符号化復号化、パート16:ラジオテレビビデオ」(AVS+として知られている)を含む。MPEG-2標準と比較して、同じ知覚品質で約50%ビットレートを節約することができる。AVS1標準のビデオ部分は、2006年2月に中国の国家標準として公布された。第2世代のAVS標準は、主に追加のHD TVプログラムの送信を対象とした一連の中国国家標準「情報技術、効率的なマルチメディア符号化」(単にAVS2ともいう)を含む。AVS2の符号化効率は、AVS+の2倍である。2016年5月に、AVS2は、中国の国家標準として発行された。一方、AVS2標準のビデオ部分は、アプリケーションの国際標準の1つとして電気電子学会(IEEE)によって提出された。AVS3標準は、最新の国際標準HEVCの符号化効率を超えることを目的とした、UHDビデオアプリケーション用の新世代のビデオ符号化復号化標準である。2019年3月に、第68回のAVS会議で、HEVC標準よりも約30%のビットレートを節約するAVS3-P2ベースラインが完成された。現在、ハイパフォーマンスモデル(HPM)と呼ばれる1つの参照ソフトウェアがあり、該当参照ソフトウェアは、AVSグループによってメンテナンスされて、AVS3標準の参照実装を実証する。
【発明の概要】
【0005】
本開示は、ビデオ符号化又は復号化プロセスにおけるアフィン動き予測モードのアフィンマージ候補導出の改善に関する技術の例を提供する。
【0006】
本開示の第1態様では、ビデオ符号化の方法を提供する。前記方法は、現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得するステップを含んでもよい。更に、前記方法は、前記1つ以上のアフィン候補に基づいて、前記現在のブロックの1つ以上の制御ポイント動きベクトル(CPMV)を取得するステップを含んでもよい。
【0007】
本開示の第2態様では、アフィン候補をプルーニングする方法を提供する。前記方法は、第1アフィン候補の1つ以上のCPMVに関連付けられた第1セットのアフィンモデルパラメータを計算するステップを含んでもよい。更に、前記方法は、第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算するステップを含んでもよい。更に、前記方法は、前記第1セットのアフィンモデルパラメータ及び前記第2セットのアフィンモデルパラメータに基づいて、前記第1アフィン候補と前記第2アフィン候補との間の類似性チェックを実行するステップを含んでもよい。
【0008】
本開示の第3態様では、ビデオ符号化のための装置を提供する。前記装置は、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリとを含む。更に、前記1つ以上のプロセッサは、前記命令の実行時に、第1態様又は第2態様に係る方法を実行するように構成される。
【0009】
本開示の第4態様では、1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに第1態様又は第2態様に係る方法を実行させるコンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体を提供する。
【図面の簡単な説明】
【0010】
添付の図面に示される具体的な実施例を参照して、本開示の実施例をより具体的に説明する。これらの図面は、いくつかの実施例を示すものに過ぎず、範囲を限定するものと考えられないことが考慮され、添付の図面を使用して追加の特異性及び詳細によりそれらの実施例を説明する。
【0011】
図1】本開示のいくつかの実施例に係るエンコーダのブロック図である。
図2】本開示のいくつかの実施例に係るデコーダのブロック図である。
図3A】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3B】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3C】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3D】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3E】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図4A】本開示のいくつかの実施例に係る4パラメータアフィンモデルを示す。
図4B】本開示のいくつかの実施例に係る4パラメータアフィンモデルを示す。
図5】本開示のいくつかの実施例に係る6パラメータアフィンモデルを示す。
図6】本開示のいくつかの実施例に係る、継承されたアフィンマージ候補の隣接近傍ブロックを示す。
図7】本開示のいくつかの実施例に係る、構築されたアフィンマージ候補の隣接近傍ブロックを示す。
図8】本開示のいくつかの実施例に係る、継承されたアフィンマージ候補の非隣接近傍ブロックを示す。
図9】本開示のいくつかの実施例に係る、非隣接近傍ブロックを使用する構築されたアフィンマージ候補の導出を示す図である。
図10】本開示のいくつかの実施例に係る非隣接近傍ブロックの垂直走査を示す。
図11】本開示のいくつかの実施例に係る非隣接近傍ブロックの平行走査を示す。
図12】本開示のいくつかの実施例に係る、非隣接近傍ブロックの垂直走査と平行走査との組み合わせを示す。
図13】本開示のいくつかの実施例に係る、ユーザインタフェースに結合されたコンピューティング環境を示す図である。
図14】本開示のいくつかの実施例に係るビデオ符号化の方法を示すフローチャートである。
図15】本開示のいくつかの実施例に係る、アフィン候補をプルーニングする方法を示すフローチャートである。
図16】本開示のいくつかの実施例に係る、ビデオブロックの符号化及び復号化のためのシステムを示すブロック図である。
【発明を実施するための形態】
【0012】
具体的な実施形態を詳細に参照し、それらの実施例を添付図面に示す。以下の詳細な説明では、本明細書に示される主題を完全に理解するために、多数の非限定的で具体的な詳細が示されている。しかしながら、様々な代替実施形態を使用できることが当業者には明らかであろう。例えば、本明細書に示される主題は、デジタルビデオ機能を有する複数のタイプの電子機器に実施可能であることが当業者には明らかであろう。
【0013】
本明細書全体を通じて、「一実施形態」、「1つの実施形態」、「一実施例」、「いくつかの実施形態」、「いくつかの実施例」、又は類似の用語への言及は、記載される特定の特徴、構造、又は特性が少なくとも1つの実施形態又は実施例に含まれることを意味する。1つ又はいくつかの実施形態に関連して記載される特徴、構造、要素、又は特性は、特に明記されていない限り、他の実施形態にも適用可能である。
【0014】
本開示全体を通して、「第1」、「第2」、「第3」などの用語は全て、特に明記されていない限り、空間的又は時系列的な順序を暗示することなく、関連する要素、例えば装置、構成要素、組成、ステップなどを参照するための命名法としてのみ使用される。例えば、「第1装置」と「第2装置」は、別々に形成された2つの装置、又は同じ装置の2つの部分、構成要素、若しくは動作状態を指し、任意に命名されてもよい。
【0015】
「モジュール」、「サブモジュール」、「回路」、「サブ回路」、「回路システム」、「サブ回路システム」、「ユニット」、又は「サブユニット」という用語は、1つ以上のプロセッサによって実行できるコード又は命令を記憶するメモリ(共有、専用、又はグループ)を含んでもよい。モジュールは、記憶されたコード又は命令の有無にかかわらず、1つ以上の回路を含んでもよい。モジュール又は回路は、直接又は間接的に接続された1つ以上の構成要素を含んでもよい。これらの構成要素は、互いに物理的に取り付けられるか、又は互いに隣接して配置される場合があり、そうでない場合がある。
【0016】
本明細書で使用されるように、「もし…ば」又は「…場合」という用語は、文脈に応じて、「…ときに」又は「…に応じて」を意味すると理解されてもよい。これらの用語は、特許請求の範囲に出現する場合、関連する限定又は特徴が条件付き又は選択的であることを示していない場合がある。例えば、1つの方法は、i)条件Xが存在する場合、又は存在すれば、機能又は作用X’を実行するステップと、ii)条件Yが存在する場合、又は存在すれば、機能又は作用Y’を実行するステップとを含んでもよい。この方法は、機能又は作用X’を実行する能力と、機能又は作用Y’を実行する能力との両方により実施されてもよい。したがって、機能X’とY’とは、両方とも、異なる時間にこの方法の複数回の実行で実現されてもよい。
【0017】
ユニット又はモジュールは、完全にソフトウェアによって、完全にハードウェアによって、又はハードウェアとソフトウェアとの組み合わせによって実装されてもよい。完全なソフトウェアの実装では、例えば、ユニット又はモジュールは、特定の機能を実行するために、直接又は間接的にリンクされた機能的に関連するコードブロック又はソフトウェア構成要素を含んでもよい。
【0018】
図16は、本開示のいくつかの実施形態に係る、ビデオブロックの符号化及び復号化を並行して行う例示的なシステム10を示すブロック図である。図16に示すように、システム10は、宛先装置14によって後で復号化されるビデオデータを生成して符号化するソース装置12を含む。ソース装置12及び宛先装置14は、デスクトップ又はラップトップコンピュータ、タブレットコンピュータ、スマートフォン、セットトップボックス、デジタルテレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング装置などを含む様々な電子装置のいずれかを含んでもよい。いくつかの実施形態では、ソース装置12及び宛先装置14は、無線通信機能を備える。
【0019】
いくつかの実施形態では、宛先装置14は、リンク16を介して、復号される符号化ビデオデータを受信してもよい。リンク16は、符号化ビデオデータをソース装置12から宛先装置14に移動させることができる任意のタイプの通信媒体又は装置を含んでもよい。一実施例では、リンク16は、ソース装置12が符号化ビデオデータを宛先装置14にリアルタイムに直接送信できるようにする通信媒体を含んでもよい。符号化ビデオデータは、無線通信プロトコルなどの通信標準に従って変調され、宛先装置14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理伝送線などの、任意の無線通信媒体又は有線通信媒体を含んでもよい。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットなどのグローバルネットワークなどのパケットベースのネットワークの一部を構成してもよい。通信媒体は、ルータ、スイッチ、基地局、又はソース装置12から宛先装置14への通信を容易にするのに有用であり得る任意の他の機器を含んでもよい。
【0020】
いくつかの他の実施形態では、符号化ビデオデータは、出力インタフェース22から記憶装置32に送信されてもよい。その後、記憶装置32内の符号化ビデオデータは、入力インタフェース28を介して宛先装置14によってアクセスされてもよい。記憶装置32は、ハードドライブ、ブルーレイディスク、デジタルバーサタイルディスク(DVD)、コンパクトディスク読み取り専用メモリ(CD-ROM)、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は符号化ビデオデータを記憶する任意の他の適切なデジタル記憶媒体などの、様々な分散型又はローカルにアクセスされるデータ記憶媒体のうちのいずれかを含んでもよい。更なる実施例では、記憶装置32は、ソース装置12によって生成された符号化ビデオデータを記憶し得るファイルサーバ又は他の中間記憶装置に対応してもよい。宛先装置14は、ストリーミング又はダウンロードを介して、記憶装置32から記憶されたビデオデータにアクセスしてもよい。ファイルサーバは、符号化ビデオデータを記憶するとともに、符号化ビデオデータを宛先装置14に送信することができる任意のタイプのコンピュータであってもよい。例示的なファイルサーバは、(例えば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)装置、又はローカルディスクドライブを含む。宛先装置14は、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した無線チャネル(例えば、Wi-Fi(Wireless Fidelity)接続)、有線接続(例えば、DSL(Digital Subscriber Line、デジタル加入者線)、ケーブルモデムなど)、又は両方の組み合わせを含む任意の標準データ接続を通じて、符号化ビデオデータにアクセスしてもよい。記憶装置32からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合せであってもよい。
【0021】
図16に示すように、ソース装置12は、ビデオソース18、ビデオエンコーダ20、及び出力インタフェース22を含む。ビデオソース18は、ビデオカメラなどのビデオキャプチャ装置、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインタフェース、及び/又は、ソースビデオとしてコンピュータグラフィックデータを生成するコンピュータグラフィックシステムなどのソース、又は、これらのソースの組み合わせを含んでもよい。一実施例として、ビデオソース18がセキュリティ監視システムのビデオカメラであれば、ソース装置12及び宛先装置14は、カメラフォン又はビデオフォンを形成してもよい。しかしながら、本願に説明される実施形態は、一般にビデオ符号化復号化に適用可能であってもよく、無線及び/又は有線アプリケーションにも適用可能であってもよい。
【0022】
キャプチャされたビデオ、予めキャプチャされたビデオ、又はコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化されてもよい。符号化ビデオデータは、ソース装置12の出力インタフェース22を介して、宛先装置14に直接送信されてもよい。符号化ビデオデータはまた(又は代替的に)、宛先装置14又は他の装置によって後でアクセスされて復号及び/又は再生されるように、記憶装置32に記憶されてもよい。出力インタフェース22は、モデム及び/又は送信機を更に含んでもよい。
【0023】
宛先装置14は、入力インタフェース28、ビデオデコーダ30、及び表示装置34を含む。入力インタフェース28は、受信機及び/又はモデムを含み、リンク16を介して符号化ビデオデータを受信してもよい。リンク16を介して通信され、又は記憶装置32に提供される符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30によって使用される、ビデオエンコーダ20によって生成された様々な構文要素を含んでもよい。そのような構文要素は、通信媒体に送信され、記憶媒体に記憶され、又はファイルサーバに記憶される符号化ビデオデータ内に含まれてもよい。
【0024】
いくつかの実施形態では、宛先装置14は、統合表示装置、及び宛先装置14と通信するように構成された外部表示装置であり得る表示装置34を含んでもよい。表示装置34は、復号化ビデオデータをユーザに表示させ、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置などの様々な表示装置のいずれかを含んでもよい。
【0025】
ビデオエンコーダ20及びビデオデコーダ30は、例えば、VVC、HEVC、MPEG-4、Part 10、AVCなどの独自又は産業上の標準に従って動作してもよく、それらの標準の拡張に従って動作してもよい。本願は、特定のビデオ符号化/復号標準に限定されず、他のビデオ符号化/復号標準にも適用可能であることを理解されたい。一般に、ソース装置12のビデオエンコーダ20は、これらの現在又は将来の標準のうちのいずれかに従ってビデオデータを符号化するように構成されてもよいことが考えられる。同様に、一般に、宛先装置14のビデオデコーダ30は、これらの現在又は将来の標準のうちのいずれかに従ってビデオデータを復号するように構成されてもよいことも考えられる。
【0026】
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はこれらの任意の組み合わせなどの様々な適切なエンコーダ及び/又はデコーダ回路のうちのいずれかとして実装されてもよい。ソフトウェアで部分的に実装される場合、電子機器は、ソフトウェアのための命令を適切な非一時的コンピュータ可読媒体に記憶し、1つ以上のプロセッサを使用してハードウェアで命令を実行して、本開示に開示されるビデオ符号化/復号動作を実行してもよい。ビデオエンコーダ20及びビデオデコーダ30のそれぞれは、1つ以上のエンコーダ又はデコーダに含まれてもよく、いずれも、組み合わせたエンコーダ/デコーダ(CODEC)の一部としてそれぞれの装置内に統合されてもよい。
【0027】
HEVCと同様に、VVCは、ブロックベースのハイブリッドビデオ符号化復号化フレームワークに基づいて構築される。図1は、本開示のいくつかの実施形態に係る、ブロックベースのビデオエンコーダを示すブロック図である。エンコーダ100において、入力ビデオ信号は、符号化ユニット(CU)と呼ばれるブロック毎に処理される。エンコーダ100は、図16に示すように、ビデオエンコーダ20であってもよい。VTM-1.0では、CUは、最大128×128画素まで可能である。しかしながら、4分木のみに基づいてブロックを分割するHEVCとは異なり、VVCでは、1つの符号化ツリーユニット(CTU)は、4分木/2分木/3分木に基づいて、様々な局所的な特性に適応するようにCUに分割される。更に、HEVCにおける多重分割ユニットタイプの概念が除去され、即ち、CU、予測ユニット(PU)、及び変換ユニット(TU)の分離はもはやVVCに存在せず、代わりに、各CUは、更なる分割なしで、予測及び変換の両方のための基本ユニットとして常に使用される。マルチタイプツリー構造において、まず、1つのCTUは、4分木構造によって分割される。次に、各4分木リーフノードは、2分木構造及び3分木構造によって更に分割することができる。
【0028】
図3A~3Eは、本開示のいくつかの実施形態に係るマルチタイプツリーパーティションモードを示す概略図である。図3A~3Eはそれぞれ、4分割(図3A)、垂直2分割(図3B)、水平2分割(図3C)、垂直3分割(図3D)、及び水平3分割(図3E)を含む5つの分割タイプを示す。
【0029】
所与のビデオブロックごとに、空間的予測及び/又は時間予測を実行してもよい。空間的予測(又は「イントラ予測」)は、同じビデオピクチャ/スライス内の既に符号化された近傍ブロックのサンプル(参照サンプルと呼ばれる)からの画素を使用して、現在のビデオブロックを予測する。空間的予測は、ビデオ信号に固有の空間冗長性を削減する。時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、既に符号化されたビデオピクチャからの再構成された画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間冗長性を削減する。所与のCUについての時間予測信号は、通常、現在のCUとその時間基準との間の動きの量及び方向を示す1つ以上の動きベクトル(MV)によってシグナリングされる。また、複数の参照ピクチャがサポートされる場合、1つの参照ピクチャインデックスが追加的に送信され、参照ピクチャインデックスは、時間予測信号が参照ピクチャストア内のどの参照ピクチャからのものであるかを識別するために使用される。
【0030】
空間的予測及び/又は時間予測の後、エンコーダ100のイントラ/インターモード決定回路121は、例えば、レート歪み最適化法に基づいて、最適な予測モードを選択する。次いで、ブロック予測器120は、現在のビデオブロックから減算され、取得された予測残差は、変換回路102及び量子化回路104を使用して無相関化される。取得された量子化残差係数は、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換されることで、再構成された残差を形成し、次いで、再構成された残差は、予測ブロックに加算されることで、CUの再構成された信号を形成する。更に、デブロッキングフィルタ、サンプル適応オフセット(SAO)、及び/又は適応インループフィルタ(ALF)などのインループフィルタリング115は、再構成されたCUがピクチャバッファ117の参照ピクチャストアに入れられ将来のビデオブロックを符号化するために使用される前に、再構成されたCUに適用することができる。出力ビデオビットストリーム114を形成するために、符号化モード(インター又はイントラ)、予測モード情報、動き情報、及び量子化残差係数は、全て、エントロピー符号化ユニット106に送信され、更に圧縮され、パックされてビットストリームを形成する。
【0031】
例えば、デブロッキングフィルタは、AVC、HEVC、及びVVCの最新バージョンで利用可能である。HEVCでは、符号化効率を更に向上させるために、SAOと呼ばれる追加のインループフィルタが定義されている。VVC標準の最新バージョンでは、ALFと呼ばれる別のインループフィルタが積極的に研究されており、最終標準に含まれる可能性が高くなる。
【0032】
これらのインループフィルタ動作は、選択可能なものである。これらの動作を実行することは、符号化効率及び視覚的な品質の向上に役立つ。これらの動作は、計算の複雑さを低減するために、エンコーダ100によって与えられる決定としてオフにされてもよい。
【0033】
なお、これらのフィルタオプションがエンコーダ100によってオンにされる場合、イントラ予測は、通常、フィルタリングされていない再構成画素に基づくものであるのに対し、インター予測は、フィルタリングされた再構成画素に基づくものである。
【0034】
図2は、多くのビデオ符号化複号化標準と組み合わせて使用され得るブロックベースのビデオデコーダ200を示すブロック図である。該当デコーダ200は、図1のエンコーダ100に存在する再構成関連部分に類似している。ブロックベースのビデオデコーダ200は、図16に示すように、ビデオデコーダ30であってもよい。デコーダ200では、入力ビデオビットストリーム201は、まず、エントロピー復号202によって復号されることで、量子化係数レベル及び予測関連情報を導出する。次に、量子化係数レベルは、逆量子化204及び逆変換206によって処理されて、再構成された予測残差を取得する。イントラ/インターモード選択212で実現されるブロック予測器メカニズムは、復号された予測情報に基づいて、イントラ予測208又は動き補償210を実行するように構成される。フィルタリングされていない再構成画素セットは、逆変換206からの再構成された予測残差とブロック予測器メカニズムにより生成された予測出力とを加算器214を使用して加算することにより取得される。
【0035】
再構成されたブロックは、参照ピクチャストアとして機能するピクチャバッファ213に記憶される前に、インループフィルタ209を更に通過してもよい。ピクチャバッファ213の再構成されたビデオは、将来のビデオブロックを予測するために使用されるだけでなく、表示装置を駆動するために送信されてもよい。インループフィルタ209がオンにする場合には、これらの再構成画素に対してフィルタリング動作を実行して、最終的な再構成されたビデオ出力222を導出する。
【0036】
現在のVVC及びAVS3標準では、現在の符号化ブロックの動き情報は、マージ候補インデックスによって特定された空間的又は時間的近傍ブロックからコピーされ、又は動き推定の明示的なシグナリングによって取得される。本開示の焦点は、アフィンマージ候補の導出方法を改善することによって、アフィンマージモードの動きベクトルの精度を改善することである。本開示の説明を容易にするために、VVC標準における既存のアフィンマージモード設計が、提案されたアイデアを説明するために例として使用される。なお、VVC標準の既存のアフィンモード設計が本開示全体を通じて例として使用されるが、当業者にとって、提案された技術は、同じ又は類似の設計思想を有するアフィン動き予測モードの異なる設計又は他の符号化ツールにも適用することができる。
【0037】
アフィンモード
HEVCでは、並進動きモデルのみが動き補償予測に適用されている。現実世界では、ズームインズームアウト、回転、視点の動き、他の不規則的な動きなど、様々な動きが存在する。VVC及びAVS3では、並進動きモデル又はアフィン動きモデルがインター予測に適用されるか否かを示すために、インター符号化ブロックごとに1つのフラグをシグナリングすることによって、アフィン動き補償予測を適用する。現在のVVC及びAVS3設計では、4パラメータアフィンモード及び6パラメータアフィンモードを含む2つのアフィンモードは、1つのアフィン符号化ブロックに対してサポートされる。
【0038】
4パラメータアフィンモデルには、水平方向と垂直方向の並進移動にそれぞれ用いられる2つのパラメータと、ズーム動きに用いられる1つのパラメータと、両方向の回転動きに用いられる1つのパラメータとがある。このモデルでは、水平ズームパラメータは、垂直ズームパラメータと等しく、水平回転パラメータは、垂直回転パラメータと等しい。動きベクトルとアフィンパラメータをより適切に調整するために、これらのアフィンパラメータは、現在のブロックの左上隅と右上隅に配置される2つのMV(制御ポイント動きベクトル(CPMV)とも呼ばれる)から導出される。図4A及び図4Bに示すように、ブロックのアフィン動き場は、2つのCPMV(V,V)によって記載される。制御ポイント動きに基づいて、1つのアフィン符号化ブロックの動き場(v,v)は、以下のように記載される。
【数1】
【0039】
6パラメータアフィンモードには、水平方向と垂直方向の並進移動にそれぞれ用いられる2つのパラメータと、水平方向のズーム動きと回転動きにそれぞれ用いられる2つのパラメータと、垂直方向のズーム動きと回転動きに用いられる別の2つのパラメータとがある。6パラメータアフィン動きモデルは、3つのCPMVで符号化される。図5に示すように、1つの6パラメータアフィンブロックの3つの制御ポイントは、ブロックの左上隅、右上隅及び左下隅に配置される。左上制御ポイントの動きは、並進動きに関連し、右上制御ポイントの動きは、水平方向の回転及びズームの動きに関連し、左下制御ポイントの動きは、垂直方向の回転及びズームの動きに関連する。4パラメータのアフィン動きモデルと比較すると、6パラメータの水平方向の回転及びズームの動きは、垂直方向の動きと同じではない可能性がある。(v,v,v)が図5の現在のブロックの左上隅、右上隅及び左下隅のMVであると仮定すると、各サブブロックの動きベクトル(v,v)は、制御ポイントの3つのMVを使用して以下のように導出される。
【数2】
【0040】
アフィンマージモード
アフィンマージモードでは、現在のブロックのCPMVは、明示的にシグナリングされないが、近傍ブロックから導出される。具体的には、このモードでは、空間的近傍ブロックの動き情報を使用して、現在のブロックのCPMVを生成する。アフィンマージモードの候補リストは、有限サイズを有する。例えば、現在のVVCデザインでは、最大5つの候補が存在する可能性である。エンコーダは、レート歪み最適化アルゴリズムに基づいて最適な候補インデックスを評価及び選択してもよい。次に、選択された候補インデックスは、デコーダ側にシグナリングされる。アフィンマージ候補は、3つの方法で決定することができる。第1方法では、近傍アフィン符号化ブロックからアフィンマージ候補を継承してもよい。第2方法では、近傍ブロックからの並進MVからアフィンマージ候補を構築する。第3方法では、ゼロMVをアフィンマージ候補として使用する。
【0041】
継承方法について、最大2つの候補が存在する可能である。候補は、利用可能な場合、現在のブロックの左下に配置される近傍ブロック(例えば、図6に示すように、走査順序は、A0からA1である)と、現在のブロックの右上に配置される近傍ブロック(例えば、図6に示すように、走査順序は、B0からB2である)とから取得される。
【0042】
構築方法では、候補は、近傍ブロックの並進MVの組み合わせであり、以下の2つのステップで生成されてもよい。
【0043】
ステップ1では、利用可能な近傍ブロックからMV1、MV2、MV3及びMV4を含む4つの並進MVを取得する。
MV1については、現在のブロックの左上隅に近接する3つの近傍ブロックのうちの1つからのMVである。図7に示すように、走査順序は、B2、B3、A2である。
MV2については、現在のブロックの右上隅に近接する2つの近傍ブロックのうちの1つからのMVである。図7に示すように、走査順序は、B1、B0である。
MV3については、現在のブロックの左下隅に近接する2つの近傍ブロックのうちの1つからのMVである。図7に示すように、走査順序は、A1、A0である。
MV4については、現在のブロックの右下隅に近接する近傍ブロックの時間的配列ブロックからのMVである。図に示すように、近傍ブロックは、Tである。
【0044】
ステップ2では、ステップ1からの4つの並進MVに基づいて組み合わせを導出する。
組み合わせ1は、MV1、MV2、MV3である。
組み合わせ2は、MV1、MV2、MV4である。
組み合わせ3は、MV1、MV3、MV4である。
組み合わせ4は、MV2、MV3、MV4である。
組み合わせ5は、MV1、MV2である。
組み合わせ6は、MV1、MV3である。
【0045】
継承候補と構築候補で充填された後、マージ候補リストがフルでない場合、リストの最後にゼロMVを挿入する。
【0046】
現在のビデオ標準VVC及びAVSでは、それぞれ、継承候補と構築候補について、図6及び図7に示すように、現在のブロックのアフィンマージ候補を導出するために隣接近傍ブロックのみが使用される。マージ候補の多様性を高め、空間的相関を更に調査するには、近傍ブロックのカバー範囲を隣接領域から非隣接領域に直接に拡張する。
【0047】
本開示では、アフィンマージモードの候補導出プロセスは、隣接近傍ブロックだけでなく、非隣接近傍ブロックを使用することによって拡張される。詳細な方法は、アフィンマージ候補のプルーニング、継承されたアフィンマージ候補の非隣接近傍ベースの導出プロセス、及び構築されたアフィンマージ候補の非隣接近傍ベースの導出プロセスを含む3つの態様に要約されてもよい。
【0048】
アフィンマージ候補のプルーニング
一般的なビデオ符号化標準におけるアフィンマージ候補リストは、通常、有限サイズを有するため、候補のプルーニングは、冗長な候補を削除するために不可欠なプロセスである。アフィンマージの継承候補と構築候補の両方に対して、このプルーニングプロセスが必要である。紹介したセクションで説明したように、現在のブロックのCPMVは、アフィン動き補償に直接使用される。代わりに、CPMVは、現在のブロック内の各サブブロックの位置で並進MVに変換される必要がある。変換プロセスは、以下に示すように、一般的なアフィンモデルに従って実行される。
【数3】
【0049】
ここで、(a,b)は、デルタ並進パラメータであり、(c,d)は、水平方向のデルタズーム及び回転パラメータであり、(e,f)は、垂直方向のデルタズーム及び回転パラメータであり、(x,y)は、サブブロックのピボット位置(中央又は左上隅など)と現在のブロックの左上隅に対する水平距離及び垂直距離(例えば、図5に示す座標(x,y))であり、(v,v)はサブブロックのターゲット並進MVである。
【0050】
6パラメータアフィンモデルの場合、V0、V1、及びV2と呼ばれる3つのCPMVが利用可能である。次にa、b、c、d、e、及びfという6つのモデルパラメータは、以下のように計算することができる。
【数4】
【0051】
4パラメータアフィンモデルの場合、V0とV1と呼ばれる左上隅CPMVと右上隅CPMVが利用可能であれば、a、b、c、d、e、及びfという6つのパラメータは、以下のように計算することができる。
【数5】
【0052】
4パラメータアフィンモデルの場合、V0とV2と呼ばれる左上隅CPMVと左下隅CPMVが利用可能であれば、a、b、c、d、e、及びfという6つのパラメータは、以下のように計算することができる。
【数6】
【0053】
CPMVの2つのマージ候補セットが冗長性チェックのために比較される場合、6つのアフィンモデルパラメータの類似性をチェックすることが提案されている。したがって、候補プルーニングプロセスは、2つのステップで実行することができる。
【0054】
ステップ1では、CPMVの2つの候補セットが与えられると、各候補セットに対応するアフィンモデルパラメータが導出される。より具体的には、CPMVの2つの候補セットは、2セットのアフィンモデルパラメータ、例えば、(a,b,c,d,e,f)及び(a,b,c,d,e,f)によって表されてもよい。
【0055】
ステップ2では、1つ以上の所定の閾値に基づいて、2セットのアフィンモデルパラメータ間の類似性チェックを実行する。一実施形態では(a-a)、(b-b)、(c-c)、(d-d)、(e-e)及び(f-f)の絶対値がいずれも値1などの正の閾値未満である場合、2つの候補は、類似していると見なされ、そのうちの1つをプルーニング/削除してマージ候補リストに入れないようにすることができる。
【0056】
変換されたアフィンモデルパラメータを候補の冗長性チェックに使用する利点は、異なるアフィンモデルタイプを有する候補に対して統一された類似性チェックプロセスを作成し、例えば、あるマージ候補が3つのCPMVを有する6パラメータアフィンモデルを使用してもよく、別の候補が2つのCPMVを有する4パラメータアフィンモデルを使用してもよいことと、各サブブロックでターゲットMVを導出する場合、マージ候補内の各CPMVの様々な影響を考慮することと、現在のブロックの幅及び高さに関連する2つのアフィンマージ候補の類似性の重要性を提供することと、を含む。
【0057】
継承されたアフィンマージ候補の非隣接近傍ベースの導出プロセス
継承されたマージ候補の場合、非隣接近傍ベースの導出プロセスは、3つのステップで実行されてもよい。ステップ1は、候補の走査に用いられる。ステップ2は、CPMVの投影に用いられる。ステップ3は、候補のプルーニングに用いられる。
【0058】
ステップ1では、以下の方法で非隣接近傍ブロックを走査し、選択する。
【0059】
走査領域及び距離
いくつかの実施例では、非隣接近傍ブロックは、現在の符号化ブロックの左側領域及び上方領域から走査されてもよい。走査距離は、走査位置から現在の符号化ブロックの左辺又は上辺までの符号化ブロックの数として定義されてもよい。
【0060】
図8に示すように、現在の符号化ブロックの左側又は上方のいずれかで複数のラインの非隣接近傍ブロックが走査されてもよい。図8に示す距離は、各候補位置から現在のブロックの左辺又は上辺までの符号化ブロックの数を表す。例えば、現在のブロックの左辺において「距離2」を有する領域は、この領域に配置される候補近傍ブロックが現在のブロックから2つのブロック離れることを示す。同様の指示は、異なる距離を有する他の走査領域に適用されてもよい。
【0061】
1つ以上の実施例では、特定の距離での各走査領域内で、開始近傍ブロック及び終了近傍ブロックは、位置に依存してもよい。
【0062】
一実施例では、左辺の走査領域について、開始近傍ブロックは、より小さい距離を有する隣接走査領域の開始近傍ブロックの隣接左下ブロックであってもよい。例えば、図8に示すように、現在のブロックの左辺にある「距離2」走査領域の開始近傍ブロックは、「距離1」走査領域の開始近傍ブロックの隣接左下近傍ブロックである。終了近傍ブロックは、より小さい距離を有する上方走査領域の終了近傍ブロックの隣接左側ブロックであってもよい。例えば、図8に示すように、現在のブロックの左辺にある「距離2」走査領域の終了近傍ブロックは、現在のブロックの上方にある「距離1」走査領域の終了近傍ブロックの隣接左側近傍ブロックである。
【0063】
同様に、上辺の走査領域の場合、開始近傍ブロックは、より小さい距離を有する隣接走査領域の開始近傍ブロックの隣接右上ブロックであってもよい。終了近傍ブロックは、より小さい距離を有する隣接走査領域の終了近傍ブロックの隣接左上ブロックであってもよい。
【0064】
走査順序
近傍ブロックが非隣接領域で走査される場合、一定の順序又は/及び規則に従って、走査される近傍ブロックの選択を決定してもよい。
【0065】
一実施例では、まず左側領域を走査し、次に上方領域を走査してもよい。図8に示すように、まず左辺の3ラインの非隣接領域(例えば、距離1から距離3まで)を走査し、次に現在のブロックの上方3ラインのの非隣接領域を走査してもよい。
【0066】
別の実施例では、左側領域と上方領域を交互に走査してもよい。例えば、図8に示すように、まず「距離1」を有する左側走査領域を走査し、次に「距離1」を有する上方領域を走査する。
【0067】
同じ側に位置する走査領域(左側領域又は上方領域など)について、走査順序は、距離の小さい領域から距離の大きい領域までの順序になる。この順序は、走査順序の他の実施形態と柔軟に組み合わせられてもよい。例えば、左側領域と上方領域を交互に走査してもよく、同じ側の領域の場合の順序は、小さい距離から大きい距離への順序となるように予定される。
【0068】
特定の距離での各走査領域内で、走査順序を定義してもよい。一実施形態では、左側走査領域について、底部近傍ブロックから上部近傍ブロックまでに走査を開始してもよい。上方走査領域について、右側ブロックから左側ブロックまでに走査を開始してもよい。
【0069】
走査終了
継承されたマージ候補について、アフィンモードで符号化された近傍ブロックは、適切な候補として定義される。一実施例では、走査プロセスが交互に実行されてもよい。例えば、最初のX個の適切な候補が識別された時点で、特定の距離での特定の領域で実行される走査を停止してもよく、ただし、Xが所定の正の値である。例えば、図8に示すように、前の1つ以上の適切な候補が識別された時点で、距離1を有する左側走査領域における走査を停止してもよい。次に、所定の走査順序/規則によって制御される別の走査領域をターゲットすることで、走査プロセスの次の繰り返しが開始される。
【0070】
別の実施例では、走査プロセスは、連続的に実行されてもよい。例えば、カバーされる近傍ブロックが全て走査され、適切な候補がそれ以上識別されなくなり、或いは候補の最大許容数に達した場合には、特定の距離での特定の領域で実行される走査は停止することができる。
【0071】
更に、ステップ2では、現在のAVS標準及びVVC標準で使用されているのと同じCPMV投影プロセスを利用してもよい。このCPMV投影プロセスでは、現在のブロックおよび選択された近傍ブロックは同一のアフィンモデルを共有することが想定されると、近傍ブロックが4パラメータアフィンモデル又は6パラメータアフィンモデルで符号化されるか否かに応じて、2つ又は3つの隅部画素の座標(例えば、現在のブロックが4パラメータモデルを使用する場合、2つの座標(左上の画素/サンプルの位置、及び右上の画素/サンプルの位置)が使用され、現在のブロックが6パラメータモデルを使用する場合、3つの座標(左上の画素/サンプル位置、右上の画素/サンプル位置、及び左下の画素/サンプル位置)が使用される)を式(1)又は(2)に代入して、2つ又は3つのCPMVを生成する。
【0072】
ステップ3では、ステップ1で識別され、ステップ2で変換された任意の適切な候補と、マージ候補リストに既に存在する全ての既存の候補との類似性チェックを実行してもよい。類似性チェックの詳細については、上記アフィンマージ候補のプルーニングのセクションで既に説明する。新たに適切な候補が候補リスト内の既存の候補と類似していることが判明した場合、この新たに適切な候補は、削除/プルーニングされる。
【0073】
構築されたアフィンマージ候補の非隣接近傍ベースの導出プロセス
継承されたマージ候補を導出する場合、一回で1つの近傍ブロックが識別され、この単一の近傍ブロックは、アフィンモードで符号化される必要があり、2つ又は3つのCPMVを含んでもよい。構築されたマージ候補を導出する場合、一回で2つ又は3つの近傍ブロックが識別されてもよく、識別された各近傍ブロックは、アフィンモードで符号化される必要がなく、このブロックから1つの並進MVのみが検索される。
【0074】
図9は、非隣接近傍ブロックを使用することによって構築されたアフィンマージ候補を導出する可能である実施例を示す。図9において、A、B及びCは、3つの非隣接近傍ブロックの地理的位置である。仮想符号化ブロックは、Aの位置を左上隅として、Bの位置を右上隅として、Cの位置を左下隅として使用して形成される。仮想CUをアフィン符号化ブロックとすると、A’、B’、及びC’の位置にあるMVを式(3)に従って導出でき、ただし、モデルパラメータ
が、A、B、及びCの位置にある並進MVによって求められる。導出されると、A’、B’、及びC’の位置にあるMVを現在のブロックの3つのCPMVとして使用され、構築されたアフィンマージ候補を生成する既存のプロセス(AVS及びVVC標準で使用されているプロセス)を使用することができる。
【0075】
構築されたマージ候補について、非隣接近傍ベースの導出プロセスは、エンコーダ又はデコーダなどの装置において5つのステップで実行されてもよい。ステップ1は、候補の走査である。ステップ2は、アフィンモデルの決定である。ステップ3は、CPMVの投影である。ステップ4は、候補の生成である。ステップ5は、候補のプルーニングである。ステップ1では、以下の方法により、非隣接近傍ブロックを走査し、選択してもよい。
【0076】
走査領域及び距離
いくつかの実施例では、矩形の符号化ブロックを維持するために、走査プロセスは、2つの非隣接近傍ブロックのみに対して実行される。第3非隣接近傍ブロックは、第1非隣接近傍ブロック及び第2非隣接近傍ブロックの水平位置及び垂直位置に依存してもよい。
【0077】
一実施例では、図9に示すように、走査プロセスは、Bの位置及びCの位置のみに対して実行される。Aの位置は、Cの水平位置及びBの垂直位置によって一意に決定されてもよい。この場合、特定の走査方向に従って走査領域及び距離を定義してもよい。
【0078】
一実施例では、走査方向は、現在のブロックの辺に垂直であってもよい。図10に一実施例が示されており、走査領域は、現在のブロックの左側又は上方にある1ラインの連続動き場として定義される。走査距離は、走査位置から現在のブロックの辺までの動き場の数として定義される。なお、動き場のサイズは、適用可能なビデオ符号化標準の最大粒度に依存してもよい。図10に示す実施例では、動き場のサイズは、現在のVVC標準に合わせて4×4に設定されることと仮定される。
【0079】
別の実施例では、走査方向は、現在のブロックの辺に平行であってもよい。一実施例は、図11に示されており、走査領域は、現在のブロックの左側又は上方にある1ラインの連続符号化ブロックとして定義される。
【0080】
別の実施例では、走査方向は、現在のブロックの辺に対する垂直走査と平行走査との組み合わせであってもよい。図12に示すように、一実施例を示している。図12に示すように、走査方向は、平行と斜めとの組み合わせであってもよい。位置Bでの走査は、左側から右側に開始し、次に左側ブロックと上部ブロックに向かって斜め方向に実行される。位置Bでの走査は、図12に示すように繰り返す。同様に、位置Cでの走査は、上部から下部に開始し、次に左側のブロックと上部のブロックに向かって斜め方向に実行される。位置Cでの走査は、図12に示すように繰り返す。
【0081】
走査順序
一実施例では、走査順序は、現在の符号化ブロックまでの距離が小さい位置から現在の符号化ブロックまでの距離が大きい位置への順序として定義されてもよい。この順序は、垂直走査の場合に適用されてもよい。
【0082】
別の実施例では、走査順序は、固定パターンとして定義されてもよい。この固定パターンの走査順序は、同様の距離を有する候補位置に用いられてもよい。一実施例は、平行走査の場合である。一実施例では、走査順序は、図11に示す実施例のように、左側走査領域に対して上方向から下方向への順序として定義されてもよく、上方走査領域に対して左方向から右方向への順序として定義されてもよい。
【0083】
組み合わせられた走査方法の場合、走査順序は、図12に示す実施例のように、固定パターンと距離依存との組み合わせであってもよい。
【0084】
走査終了
構築されたマージ候補について、並進MVのみが必要であるため、適切な候補をアフィン符号化する必要がない。
【0085】
必要な候補数に応じて、最初のX個の適切な候補が識別された場合に、走査プロセスを終了することができ、ただし、Xは、正の値である。
【0086】
ステップ2では、ステップ1の後で選択された候補の位置での並進MVを評価し、適切なアフィンモデルを決定することができる。一般性を失わずに説明を容易にするために、図9を例として再度使用する。
【0087】
ハードウェアの制約、実施の複雑さ、様々な参照インデックスなどの要因により、十分な数の候補が識別される前に走査プロセスを終了してもよい。例えば、ステップ1の後の選択された候補のうちの1つ以上の候補の動き場の動き情報が利用できない可能性がある。
【0088】
全ての3つの候補の動き情報が利用可能である場合、対応する仮想符号化ブロックは、6パラメータアフィンモデルを表す。3つの候補のうちの1つの候補の動き情報が担保できない場合、対応する仮想符号化ブロックは、4パラメータアフィンモデルを表す。3つの候補のうちの1つ以上の候補の動き情報が担保できない場合、対応する仮想符号化ブロックは、有効なアフィンモデルを表すことができない可能性がある。
【0089】
ステップ3では、仮想符号化ブロックが有効なアフィンモデルを表すことができる場合、継承されたマージ候補に使用される同じ投影プロセスを使用してもよい。
【0090】
ステップ4では、ステップ3の後の投影されたCPMVに基づいて、一実施例では、現在のVVC又はAVS標準で使用される同じ候補生成プロセスを使用してもよい。別の実施形態では、現在のVVC又はAVS標準の候補生成プロセスで使用される時間動きベクトルは、非隣接近傍ブロックベースの導出方法に使用されない可能性がある。
【0091】
ステップ5では、ステップ4の後の新たに生成された候補と、マージ候補リストに既に存在する全ての既存の候補との類似性チェックを実行してもよい。類似性チェックの詳細については、アフィンマージ候補のプルーニングのセクションで既に説明した。新たに生成された候補が候補リスト内の既存の候補と類似していることが判明した場合、この新たに生成された候補は、削除又はプルーニングされる。
【0092】
図13は、ユーザインタフェース1360に結合されたコンピューティング環境(又はコンピューティング装置)1310を示す。コンピューティング環境1310は、データ処理サーバの一部であってもよい。いくつかの実施形態では、コンピューティング装置1310は、以上に説明したように、本開示の様々な実施例に係る様々な方法又はプロセス(例えば、符号化/復号化方法又はプロセス)のいずれかを実行することができる。コンピューティング環境1310は、プロセッサ1320、メモリ1340、及びI/Oインタフェース1350を含んでもよい。
【0093】
プロセッサ1320は、典型的には、ディスプレイ、データ取得、データ通信、及び画像処理に関連する動作などの、コンピューティング環境1310の全体的な動作を制御する。プロセッサ1320は、上述の方法のステップの全部又は一部を実行する命令を実行するための1つ以上のプロセッサを含んでもよい。また、プロセッサ1320は、プロセッサ1320と他の構成要素との間のインタラクションを容易にする1つ以上のモジュールを含んでもよい。上記プロセッサは、中央処理装置(CPU)、マイクロプロセッサ、シングルチップマシン、GPUなどであってもよい。
【0094】
メモリ1340は、コンピューティング環境1310の動作をサポートするために、様々なタイプのデータを記憶するように構成される。メモリ1340は、所定のソフトウェア1342を含んでもよい。そのようなデータの例は、コンピューティング環境1310上で動作する任意のアプリケーション又は方法のための命令、ビデオデータセット、画像データなどを含む。メモリ1340は、静的ランダムアクセスメモリ(SRAM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク又は光ディスクなどの任意のタイプの揮発性若しくは不揮発性メモリ装置、又はそれらの組み合わせを使用することによって実装されてもよい。
【0095】
I/Oインタフェース1350は、プロセッサ1320と、キーボード、クリックホイール、ボタンなどの周辺インタフェースモジュールとの間のインタフェースを提供する。ボタンは、ホームボタン、走査開始ボタン及び走査停止ボタンを含んでもよいが、これらに限定されない。I/Oインタフェース1350は、エンコーダ及びデコーダに結合することができる。
【0096】
いくつかの実施形態では、上述の方法を実行するために、コンピューティング環境1310内のプロセッサ1320によって実行可能な、メモリ1340に含まれるような複数のプログラムを含む非一時的コンピュータ可読記憶媒体も提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶装置などであってもよい。
【0097】
非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサを有するコンピューティング装置によって実行される複数のプログラムを記憶しており、複数のプログラムは、1つ以上のプロセッサによって実行されると、コンピューティング装置に上述の動き予測方法を実行させる。
【0098】
いくつかの実施形態では、コンピューティング環境1310は、上記方法を実行するために、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブルロジック装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィカルプロセッシングユニット(GPU)、コントローラ、マイクロコントローラ、マイクロプロセッサ、又は他の電子構成要素を使用して実装されてもよい。
【0099】
図14は、本開示の一実施例に係るビデオ符号化復号化方法を示すフローチャートである。
【0100】
ステップ1401では、プロセッサ1320は、現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得することができる。
【0101】
ステップ1402では、プロセッサ1320は、1つ以上のアフィン候補に基づいて、現在のブロックの1つ以上のCPMVを取得することができる。
【0102】
いくつかの実施例では、プロセッサ1320は、走査規則に従って1つ以上のアフィンマージ候補を取得してもよい。
【0103】
いくつかの実施例では、走査規則は、少なくとも1つの走査領域、少なくとも1つの走査距離、及び走査順序に基づいて決定されてもよい。
【0104】
いくつかの実施例では、少なくとも1つの走査距離は、現在のブロックの辺から離れたブロックの数を示す。
【0105】
いくつかの実施例では、プロセッサ1320は、更に、第1走査領域内に複数の非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の非隣接近傍ブロックを取得し、アフィンモードで符号化された1つ以上の非隣接近傍ブロックを1つ以上のアフィン候補として決定してもよい。例えば、第1走査領域は、図8に示すように、現在のブロックの左側にある走査領域であってもよい。第1走査領域は、図1に示すように、現在の上方にある走査領域であってもよい。
【0106】
いくつかの実施例では、走査終了として、プロセッサ1320は、取得されたアフィンモードで符号化復号化された1つ以上の非隣接近傍ブロックの数が所定の数に達したと決定することに応答して、第1走査領域内での走査を停止してもよい。
【0107】
いくつかの実施例では、プロセッサ1320は、現在のブロックの左辺と平行な第1走査線に沿って、第1開始非隣接近傍ブロックから走査してもよく、第1開始非隣接ブロックが第1走査領域内の底部ブロックであり、第1走査領域内のブロックが現在のブロックの左辺から第1走査距離離れた位置にある。例えば、第1開始非隣接ブロックは、図8に示すように、距離1、距離2、又は距離3を有する左側走査領域内の底部ブロックであってもよい。
【0108】
いくつかの実施例では、第1開始非隣接ブロックは、第2走査領域内の第2開始非隣接近傍ブロックの底部及び左側にあってもよく、第2走査領域内のブロックは、現在のブロックの左辺から第2走査距離離れた位置にあってもよい。例えば、図8に示すように、第1開始非隣接ブロックは、距離2を有する左側走査領域内の底部ブロックであってもよく、第1開始非隣接ブロックは、距離1を有する左側走査領域内の開始非隣接近傍ブロックの底部及び左側にあってもよい。
【0109】
いくつかの実施例では、プロセッサ1320は、現在のブロックの上辺と平行な走査線に沿って、第3開始非隣接近傍ブロックから走査してもよく、第3開始非隣接ブロックが第1走査領域内の右側ブロックであってもよく、第1走査領域内のブロックが現在のブロックの上辺から第1走査距離離れた位置にあってもよい。例えば、第3開始非隣接ブロックは、図8に示すように、距離1、距離2、又は距離3を有する上方又は上部走査領域内の右側ブロックであってもよい。
【0110】
いくつかの実施例では、第3開始非隣接ブロックは、第2走査領域内の第4開始非隣接近傍ブロックの上部及び右側にあってもよく、第2走査領域内のブロックは、現在のブロックの上辺から第2走査距離離れた位置にあってもよい。例えば、図8に示すように、第3開始非隣接ブロックは、距離2を有する上方又は上部走査領域の右側にあってもよく、距離1を有する上方又は上部走査領域内の開始非隣接ブロックの右側及び上方にあってもよい。
【0111】
いくつかの実施例では、少なくとも1つの走査領域は、現在のブロックの左側にある少なくとも1つの左側走査領域と、現在のブロックの上方にある少なくとも1つの上部走査領域とを含んでもよい。プロセッサ1320は、少なくとも1つの左側走査領域内の複数の第1非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第1非隣接近傍ブロックを取得し、少なくとも1つの上部走査領域内の複数の第2非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第2非隣接近傍ブロックを取得し、アフィンモードで符号化された1つ以上の第1非隣接近傍ブロック及びアフィンモードで符号化された1つ以上の第2非隣接近傍ブロックを1つ以上のアフィン候補として決定してもよい。
【0112】
いくつかの実施例では、少なくとも1つの左側走査領域は、第1左側走査領域、第2左側走査領域、及び第3左側走査領域を含んでもよい。更に、第1左側走査領域内のブロックは、現在のブロックの左辺から第1走査距離離れた位置にあってもよく、第2左側走査領域内のブロックは、現在のブロックの左辺から第2走査距離離れた位置にあってもよく、第3左側走査領域内のブロックは、現在のブロックの左辺から第3走査距離離れた位置にあってもよい。例えば、少なくとも1つの左側走査領域は、距離1、距離2、及び距離3を有する左側走査領域を含んでもよい。
【0113】
更に、プロセッサ1320は、現在のブロックの左辺と平行な第1走査線に沿って、第1開始非隣接近傍ブロックから走査するステップであって、第1開始非隣接ブロックが第1左側走査領域内の底部ブロックであってもよい、ステップと、現在のブロックの左辺と平行な第2走査線に沿って、第2開始非隣接近傍ブロックから走査するステップであって、第2開始非隣接近傍ブロックが第2左側走査領域内の底部ブロックであってもよい、ステップと、現在のブロックの左辺と平行な第3走査線に沿って、第3開始非隣接近傍ブロックから走査するステップであって、第3開始非隣接近傍ブロックが第3左側走査領域内の底部ブロックであってもよい、ステップとを実行することによって、少なくとも1つの左側走査領域内の複数の第1非隣接近傍ブロックを走査してもよい。
【0114】
いくつかの実施例では、少なくとも1つの上部走査領域は、第1上部走査領域、第2上部走査領域、及び第3上部走査領域を含んでもよく、第1上部走査領域内のブロックは、現在のブロックの上辺から第1走査距離離れた位置にあってもよく、第2上部走査領域内のブロックは、現在のブロックの上辺から第2走査距離離れた位置にあってもよく、第3上部走査領域内のブロックは、現在のブロックの上辺から第3走査距離離れた位置にあってもよい。更に、プロセッサ1320は、現在のブロックの上辺と平行な第4走査線に沿って、第4開始非隣接近傍ブロックから走査するステップであって、第4開始非隣接ブロックが第1上部走査領域内の右側ブロックであってもよい、ステップと、現在のブロックの上辺と平行な第5走査線に沿って、第5開始非隣接近傍ブロックから走査するステップであって、第5開始非隣接近傍ブロックが第2上部走査領域内の右側ブロックであってもよい、ステップと、現在のブロックの上辺と平行な第6走査線に沿って、第6開始非隣接近傍ブロックから走査するステップであって、第6開始非隣接近傍ブロックが第3上部走査領域内の右側ブロックであってもよい、ステップとを実行することによって、少なくとも1つの上部走査領域内の複数の第2非隣接近傍ブロックを走査してもよい。
【0115】
いくつかの実施例では、第1走査距離は、第2走査距離又は第3走査距離より小さくてもよく、第2走査距離は、第3走査距離より小さくてもよい。
【0116】
いくつかの実施例では、プロセッサ1320は、更に、走査規則に基づいて、第1アフィン候補の第1候補位置と、第2アフィン候補の第2候補位置とを取得し、第1候補位置及び第2候補位置に基づいて、第3アフィン候補の第3候補位置を決定し、第1候補位置、第2候補位置、及び第3候補位置に基づいて仮想ブロックを取得し、第1候補位置、第2候補位置、及び第3候補位置での並進MVに基づいて、仮想ブロックの3つのCPMVを取得し、継承された候補導出に使用される同じ投影プロセスを使用して、仮想ブロックの3つのCPMVに基づいて、現在のブロックの2つ又は3つのCPMVを取得してもよい。
【0117】
いくつかの実施例では、仮想ブロックは、矩形の符号化ブロックであってもよく、第3候補位置は、第1候補位置の垂直位置と第2候補位置の水平位置に基づいて決定されてもよい。例えば、仮想ブロックは、図9に示すように、位置A、位置B、及び位置Cを含む仮想ブロックであってもよい。
【0118】
いくつかの実施例では、プロセッサ1320は、少なくとも1つの走査領域、少なくとも1つの走査方向、少なくとも1つの走査距離、及び走査順序に基づいて走査規則を決定してもよい。
【0119】
いくつかの実施例では、プロセッサ1320は、更に、現在のブロックの上辺に垂直な第1走査方向に沿って、第1走査距離で第1走査領域内に走査することによって第1候補位置を取得してもよく、第1走査距離が第1数の動き場を含んでもよく、第1候補位置と上辺の右側及び上方にある隣接動き場との間の距離が第1走査距離であってもよく、第1走査領域が上辺の右側及び上方にある1ラインの連続動き場を含んでもよい。更に、プロセッサ1320は、現在のブロックの左辺に垂直な第2走査方向に沿って、第2走査距離で第2走査領域内に走査することによって第2候補位置を取得してもよく、第2走査距離が第2数の動き場を含んでもよく、第2候補位置と左辺の左側及び下部にある隣接動き場との間の距離が第2走査距離であってもよく、第2走査領域が左辺の左側及び下部にある1ラインの連続動き場を含んでもよい。
【0120】
いくつかの実施例では、プロセッサ1320は、第1走査領域又は第2走査領域内に、現在のブロックから離れて面する走査順序で走査してもよい。
【0121】
いくつかの実施例では、プロセッサ1320は、現在のブロックの上辺に平行な第3走査方向に沿って、第3走査距離で第3走査領域内に走査することによって第1候補位置を取得してもよく、現在のブロックの左辺に平行な第4走査方向に沿って、第4走査距離で第4走査領域内に走査することによって第2候補位置を取得してもよい。
【0122】
いくつかの実施例では、プロセッサ1320は、現在のブロックの上辺に平行な第3走査方向と、上辺に垂直な第1走査方向との組み合わせに沿って第5走査距離で第5走査領域内に走査することによって、第1候補位置を取得してもよく、現在のブロックの左辺に平行な第4走査方向と、左辺に垂直な第2走査方向との組み合わせに沿って第6走査距離で第6走査領域内に走査することによって、第2候補位置を取得してもよい。
【0123】
いくつかの実施例では、プロセッサ1320は、左側から右側への組み合わせ走査順序で、現在のブロックから離れて面して、第5走査領域内に走査し、上から下への組み合わせ走査順序で、現在のブロックから離れて面して、第6走査領域内に走査してもよい。
【0124】
いくつかの実施例では、プロセッサ1320は、1つ以上のアフィン候補の数が所定の数に達したと決定することに応答して、少なくとも1つの走査領域内での走査を停止してもよい。
【0125】
いくつかの実施例では、プロセッサ1320は、第1アフィン候補、第2アフィン候補、及び第3アフィン候補の動き情報が利用可能であると決定することに応答して、仮想ブロックが6パラメータアフィンモデルを表すと決定してもよく、第1アフィン候補、第2アフィン候補、及び第3アフィン候補のうちの1つのアフィン候補の動き情報が担保できないと決定することに応答して、仮想ブロックが4パラメータアフィンモデルを表すと決定してもよく、仮想ブロックが有効なアフィンモデルを表すことができないと決定してもよい。
【0126】
図15は、本開示の一実施例に係るアフィン候補をプルーニングする方法を示すフローチャートである。
【0127】
ステップ1501では、プロセッサ1320は、第1アフィン候補の1つ以上のCPMVに関連付けられた第1セットのアフィンモデルパラメータを計算してもよい。
【0128】
ステップ1502では、プロセッサ1320は、第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算してもよい。
【0129】
ステップ1502では、プロセッサ1320は、第1セットのアフィンモデルパラメータ及び第2セットのアフィンモデルパラメータに基づいて、第1アフィン候補と第2アフィン候補との間の類似性チェックを実行してもよい。
【0130】
いくつかの実施例では、プロセッサ1320は、第1セットのアフィンモデルパラメータが第2セットのアフィンモデルパラメータに類似すると決定することに応答して、第1アフィン候補が第2アフィン候補に類似すると決定し、第1アフィン候補及び第2アフィン候補のうちの1つをプルーニングしてもよい。
【0131】
いくつかの実施例では、プロセッサ1320は、第1セットのアフィンモデルパラメータの1つのパラメータと第2セットのアフィンモデルパラメータの1つのパラメータとの差が所定の閾値より小さいと決定することに応答して、第1アフィン候補が第2アフィン候補に類似すると決定してもよい。
【0132】
いくつかの実施例では、プロセッサ1320は、現在のブロックの幅及び高さに従って、第1アフィン候補の1つ以上のCPMVに関連付けられた第1セットのアフィンモデルパラメータを計算してもよく、現在のブロックの幅及び高さに従って、第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算してもよい。
【0133】
いくつかの実施例では、異なるアフィンモデルは、第1アフィン候補と第2アフィン候補にそれぞれ適用され、第1セットのアフィンモデルパラメータと第2セットのアフィンモデルパラメータは、それぞれ異なるアフィンモデルに関連付けられる。
【0134】
いくつかの実施例では、異なるアフィンモデルは、4パラメータアフィンモデル及び6パラメータアフィンモデルを含む。
【0135】
いくつかの実施例では、ビデオ符号化のための装置が提供される。装置は、プロセッサ1320と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ1340とを含み、プロセッサは、命令の実行時に、図14に示すような方法を実行するように構成される。
【0136】
他のいくつかの実施例では、命令を記憶する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ1320によって実行されると、命令は、図14に示すような方法をプロセッサに実行させる。
【0137】
いくつかの実施例では、ビデオ符号化のための装置が提供される。装置は、プロセッサ1320と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ1340とを含み、プロセッサは、命令の実行時に、図15に示すような方法を実行するように構成される。
【0138】
他のいくつかの実施例では、命令を記憶する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ1320によって実行されると、命令は、図15に示すような方法をプロセッサに実行させる。
【0139】
本開示の他の実施例は、本明細書に開示された本開示の明細書及び実施を考慮することにより、当業者には明らかとなるであろう。本願は、その一般的な原理に従い、本分野で既知又は慣例的な実施の範囲内に含まれる本開示からの逸脱を含む、本開示の任意の変形、使用、又は適応を包含することが意図される。本明細書及び実施例は、単に例示的なものと見なされることが意図される。
【0140】
本開示は、上述した、添付の図面によって示された実施例に厳密に限定されるものではなく、本開示の範囲から逸脱することなく、様々な修正及び変更を行うことができることが理解されるであろう。
図1
図2
図3A
図3B
図3C
図3D
図3E
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
【手続補正書】
【提出日】2024-04-25
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2021年9月6日に提出された、名称が「Candidate Derivation for Affine Merge Mode in Video Coding」である米国仮特許出願第63/241094号に対する優先権を主張するものであり、その内容全体は、参照により本明細書に組み込まれるものとする。
【技術分野】
【0002】
本開示は、ビデオ符号化復号化及び圧縮に関し、特に、ビデオ符号化又は復号プロセスにおけるアフィン動き予測モードのアフィンマージ候補導出を改善する方法及び装置に関するが、これらに限定されない。
【背景技術】
【0003】
ビデオデータを圧縮するためには、様々なビデオ符号化復号化技術を使用することができる。ビデオ符号化復号化は、1つ以上のビデオ符号化復号化標準に従って実行される。例えば、今日ではよく知られているいくつかのビデオ符号化復号化標準として、ISO/IEC MPEGとITU-T VECGによって共同開発された汎用ビデオ符号化復号化(VVC)、高効率ビデオ符号化復号化(HEVC、H.265又はMPEG-H Part2としても知られる)、及び高度ビデオ符号化復号化(AVC、H.264又はMPEG-4 Part10としても知られる)が挙げられる。AOメディアビデオ1(AV1)は、先行標準VP9の後継としてAlliance for Open Media(AOM)によって開発された。デジタルオーディオ及びデジタルビデオ圧縮標準を指すオーディオビデオ符号化復号化(AVS)は、中国のオーディオ及びビデオ符号化標準ワークグループによって開発された別のビデオ圧縮標準シリーズである。既存のビデオ符号化復号化標準の多くは、例えば、ブロックベースの予測方法(例えば、インター予測、イントラ予測)を使用してビデオイメージ又はシーケンスに存在する冗長性を削減し、変換符号化を使用して予測誤差のエネルギーを圧縮するなどのように、有名なハイブリッドビデオ符号化復号化フレームワークに基づいて構築される。ビデオ符号化復号化技術の1つの重要な目標は、ビデオ品質の劣化を回避するか又は最小限に抑えながら、ビデオデータを、より低いビットレートを使用する形式に圧縮することである。
【0004】
第1世代のAVS標準は、中国の国家標準「情報技術、高度なオーディオビデオ符号化復号化、パート2:ビデオ」(AVS1として知られている)及び「情報技術、高度なオーディオビデオ符号化復号化、パート16:ラジオテレビビデオ」(AVS+として知られている)を含む。MPEG-2標準と比較して、同じ知覚品質で約50%ビットレートを節約することができる。AVS1標準のビデオ部分は、2006年2月に中国の国家標準として公布された。第2世代のAVS標準は、主に追加のHD TVプログラムの送信を対象とした一連の中国国家標準「情報技術、効率的なマルチメディア符号化」(単にAVS2ともいう)を含む。AVS2の符号化効率は、AVS+の2倍である。2016年5月に、AVS2は、中国の国家標準として発行された。一方、AVS2標準のビデオ部分は、アプリケーションの国際標準の1つとして電気電子学会(IEEE)によって提出された。AVS3標準は、最新の国際標準HEVCの符号化効率を超えることを目的とした、UHDビデオアプリケーション用の新世代のビデオ符号化復号化標準である。2019年3月に、第68回のAVS会議で、HEVC標準よりも約30%のビットレートを節約するAVS3-P2ベースラインが完成された。現在、ハイパフォーマンスモデル(HPM)と呼ばれる1つの参照ソフトウェアがあり、該当参照ソフトウェアは、AVSグループによってメンテナンスされて、AVS3標準の参照実装を実証する。
【発明の概要】
【0005】
本開示は、ビデオ符号化又は復号化プロセスにおけるアフィン動き予測モードのアフィンマージ候補導出の改善に関する技術の例を提供する。
【0006】
本開示の第1態様では、ビデオ符号化の方法を提供する。前記方法は、現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得するステップを含んでもよい。更に、前記方法は、前記1つ以上のアフィン候補に基づいて、前記現在のブロックの1つ以上の制御ポイント動きベクトル(CPMV)を取得するステップを含んでもよい。
【0007】
本開示の第2態様では、アフィン候補をプルーニングする方法を提供する。前記方法は、第1アフィン候補の1つ以上のCPMVに関連付けられた第1セットのアフィンモデルパラメータを計算するステップを含んでもよい。更に、前記方法は、第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算するステップを含んでもよい。更に、前記方法は、前記第1セットのアフィンモデルパラメータ及び前記第2セットのアフィンモデルパラメータに基づいて、前記第1アフィン候補と前記第2アフィン候補との間の類似性チェックを実行するステップを含んでもよい。
【0008】
本開示の第3態様では、ビデオ符号化のための装置を提供する。前記装置は、1つ以上のプロセッサと、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリとを含む。更に、前記1つ以上のプロセッサは、前記命令の実行時に、第1態様又は第2態様に係る方法を実行するように構成される。
【0009】
本開示の第4態様では、1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに第1態様又は第2態様に係る方法を実行させるコンピュータ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体を提供する。
【図面の簡単な説明】
【0010】
添付の図面に示される具体的な実施例を参照して、本開示の実施例をより具体的に説明する。これらの図面は、いくつかの実施例を示すものに過ぎず、範囲を限定するものと考えられないことが考慮され、添付の図面を使用して追加の特異性及び詳細によりそれらの実施例を説明する。
【0011】
図1】本開示のいくつかの実施例に係るエンコーダのブロック図である。
図2】本開示のいくつかの実施例に係るデコーダのブロック図である。
図3A】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3B】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3C】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3D】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図3E】本開示のいくつかの実施例に係るマルチタイプツリー構造のブロックパーティションを示す図である。
図4A】本開示のいくつかの実施例に係る4パラメータアフィンモデルを示す。
図4B】本開示のいくつかの実施例に係る4パラメータアフィンモデルを示す。
図5】本開示のいくつかの実施例に係る6パラメータアフィンモデルを示す。
図6】本開示のいくつかの実施例に係る、継承されたアフィンマージ候補の隣接近傍ブロックを示す。
図7】本開示のいくつかの実施例に係る、構築されたアフィンマージ候補の隣接近傍ブロックを示す。
図8】本開示のいくつかの実施例に係る、継承されたアフィンマージ候補の非隣接近傍ブロックを示す。
図9】本開示のいくつかの実施例に係る、非隣接近傍ブロックを使用する構築されたアフィンマージ候補の導出を示す図である。
図10】本開示のいくつかの実施例に係る非隣接近傍ブロックの垂直走査を示す。
図11】本開示のいくつかの実施例に係る非隣接近傍ブロックの平行走査を示す。
図12】本開示のいくつかの実施例に係る、非隣接近傍ブロックの垂直走査と平行走査との組み合わせを示す。
図13】本開示のいくつかの実施例に係る、ユーザインタフェースに結合されたコンピューティング環境を示す図である。
図14】本開示のいくつかの実施例に係るビデオ符号化の方法を示すフローチャートである。
図15】本開示のいくつかの実施例に係る、アフィン候補をプルーニングする方法を示すフローチャートである。
図16】本開示のいくつかの実施例に係る、ビデオブロックの符号化及び復号化のためのシステムを示すブロック図である。
【発明を実施するための形態】
【0012】
具体的な実施形態を詳細に参照し、それらの実施例を添付図面に示す。以下の詳細な説明では、本明細書に示される主題を完全に理解するために、多数の非限定的で具体的な詳細が示されている。しかしながら、様々な代替実施形態を使用できることが当業者には明らかであろう。例えば、本明細書に示される主題は、デジタルビデオ機能を有する複数のタイプの電子機器に実施可能であることが当業者には明らかであろう。
【0013】
本明細書全体を通じて、「一実施形態」、「1つの実施形態」、「一実施例」、「いくつかの実施形態」、「いくつかの実施例」、又は類似の用語への言及は、記載される特定の特徴、構造、又は特性が少なくとも1つの実施形態又は実施例に含まれることを意味する。1つ又はいくつかの実施形態に関連して記載される特徴、構造、要素、又は特性は、特に明記されていない限り、他の実施形態にも適用可能である。
【0014】
本開示全体を通して、「第1」、「第2」、「第3」などの用語は全て、特に明記されていない限り、空間的又は時系列的な順序を暗示することなく、関連する要素、例えば装置、構成要素、組成、ステップなどを参照するための命名法としてのみ使用される。例えば、「第1装置」と「第2装置」は、別々に形成された2つの装置、又は同じ装置の2つの部分、構成要素、若しくは動作状態を指し、任意に命名されてもよい。
【0015】
「モジュール」、「サブモジュール」、「回路」、「サブ回路」、「回路システム」、「サブ回路システム」、「ユニット」、又は「サブユニット」という用語は、1つ以上のプロセッサによって実行できるコード又は命令を記憶するメモリ(共有、専用、又はグループ)を含んでもよい。モジュールは、記憶されたコード又は命令の有無にかかわらず、1つ以上の回路を含んでもよい。モジュール又は回路は、直接又は間接的に接続された1つ以上の構成要素を含んでもよい。これらの構成要素は、互いに物理的に取り付けられるか、又は互いに隣接して配置される場合があり、そうでない場合がある。
【0016】
本明細書で使用されるように、「もし…ば」又は「…場合」という用語は、文脈に応じて、「…ときに」又は「…に応じて」を意味すると理解されてもよい。これらの用語は、特許請求の範囲に出現する場合、関連する限定又は特徴が条件付き又は選択的であることを示していない場合がある。例えば、1つの方法は、i)条件Xが存在する場合、又は存在すれば、機能又は作用X’を実行するステップと、ii)条件Yが存在する場合、又は存在すれば、機能又は作用Y’を実行するステップとを含んでもよい。この方法は、機能又は作用X’を実行する能力と、機能又は作用Y’を実行する能力との両方により実施されてもよい。したがって、機能X’とY’とは、両方とも、異なる時間にこの方法の複数回の実行で実現されてもよい。
【0017】
ユニット又はモジュールは、完全にソフトウェアによって、完全にハードウェアによって、又はハードウェアとソフトウェアとの組み合わせによって実装されてもよい。完全なソフトウェアの実装では、例えば、ユニット又はモジュールは、特定の機能を実行するために、直接又は間接的にリンクされた機能的に関連するコードブロック又はソフトウェア構成要素を含んでもよい。
【0018】
図16は、本開示のいくつかの実施形態に係る、ビデオブロックの符号化及び復号化を並行して行う例示的なシステム10を示すブロック図である。図16に示すように、システム10は、宛先装置14によって後で復号化されるビデオデータを生成して符号化するソース装置12を含む。ソース装置12及び宛先装置14は、デスクトップ又はラップトップコンピュータ、タブレットコンピュータ、スマートフォン、セットトップボックス、デジタルテレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング装置などを含む様々な電子装置のいずれかを含んでもよい。いくつかの実施形態では、ソース装置12及び宛先装置14は、無線通信機能を備える。
【0019】
いくつかの実施形態では、宛先装置14は、リンク16を介して、復号される符号化ビデオデータを受信してもよい。リンク16は、符号化ビデオデータをソース装置12から宛先装置14に移動させることができる任意のタイプの通信媒体又は装置を含んでもよい。一実施例では、リンク16は、ソース装置12が符号化ビデオデータを宛先装置14にリアルタイムに直接送信できるようにする通信媒体を含んでもよい。符号化ビデオデータは、無線通信プロトコルなどの通信標準に従って変調され、宛先装置14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトル又は1つ以上の物理伝送線などの、任意の無線通信媒体又は有線通信媒体を含んでもよい。通信媒体は、ローカルエリアネットワーク、広域ネットワーク、又はインターネットなどのグローバルネットワークなどのパケットベースのネットワークの一部を構成してもよい。通信媒体は、ルータ、スイッチ、基地局、又はソース装置12から宛先装置14への通信を容易にするのに有用であり得る任意の他の機器を含んでもよい。
【0020】
いくつかの他の実施形態では、符号化ビデオデータは、出力インタフェース22から記憶装置32に送信されてもよい。その後、記憶装置32内の符号化ビデオデータは、入力インタフェース28を介して宛先装置14によってアクセスされてもよい。記憶装置32は、ハードドライブ、ブルーレイディスク、デジタルバーサタイルディスク(DVD)、コンパクトディスク読み取り専用メモリ(CD-ROM)、フラッシュメモリ、揮発性若しくは不揮発性メモリ、又は符号化ビデオデータを記憶する任意の他の適切なデジタル記憶媒体などの、様々な分散型又はローカルにアクセスされるデータ記憶媒体のうちのいずれかを含んでもよい。更なる実施例では、記憶装置32は、ソース装置12によって生成された符号化ビデオデータを記憶し得るファイルサーバ又は他の中間記憶装置に対応してもよい。宛先装置14は、ストリーミング又はダウンロードを介して、記憶装置32から記憶されたビデオデータにアクセスしてもよい。ファイルサーバは、符号化ビデオデータを記憶するとともに、符号化ビデオデータを宛先装置14に送信することができる任意のタイプのコンピュータであってもよい。例示的なファイルサーバは、(例えば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)装置、又はローカルディスクドライブを含む。宛先装置14は、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した無線チャネル(例えば、Wi-Fi(Wireless Fidelity)接続)、有線接続(例えば、DSL(Digital Subscriber Line、デジタル加入者線)、ケーブルモデムなど)、又は両方の組み合わせを含む任意の標準データ接続を通じて、符号化ビデオデータにアクセスしてもよい。記憶装置32からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合せであってもよい。
【0021】
図16に示すように、ソース装置12は、ビデオソース18、ビデオエンコーダ20、及び出力インタフェース22を含む。ビデオソース18は、ビデオカメラなどのビデオキャプチャ装置、以前にキャプチャされたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するビデオフィードインタフェース、及び/又は、ソースビデオとしてコンピュータグラフィックデータを生成するコンピュータグラフィックシステムなどのソース、又は、これらのソースの組み合わせを含んでもよい。一実施例として、ビデオソース18がセキュリティ監視システムのビデオカメラであれば、ソース装置12及び宛先装置14は、カメラフォン又はビデオフォンを形成してもよい。しかしながら、本願に説明される実施形態は、一般にビデオ符号化復号化に適用可能であってもよく、無線及び/又は有線アプリケーションにも適用可能であってもよい。
【0022】
キャプチャされたビデオ、予めキャプチャされたビデオ、又はコンピュータ生成されたビデオは、ビデオエンコーダ20によって符号化されてもよい。符号化ビデオデータは、ソース装置12の出力インタフェース22を介して、宛先装置14に直接送信されてもよい。符号化ビデオデータはまた(又は代替的に)、宛先装置14又は他の装置によって後でアクセスされて復号及び/又は再生されるように、記憶装置32に記憶されてもよい。出力インタフェース22は、モデム及び/又は送信機を更に含んでもよい。
【0023】
宛先装置14は、入力インタフェース28、ビデオデコーダ30、及び表示装置34を含む。入力インタフェース28は、受信機及び/又はモデムを含み、リンク16を介して符号化ビデオデータを受信してもよい。リンク16を介して通信され、又は記憶装置32に提供される符号化ビデオデータは、ビデオデータを復号する際にビデオデコーダ30によって使用される、ビデオエンコーダ20によって生成された様々な構文要素を含んでもよい。そのような構文要素は、通信媒体に送信され、記憶媒体に記憶され、又はファイルサーバに記憶される符号化ビデオデータ内に含まれてもよい。
【0024】
いくつかの実施形態では、宛先装置14は、統合表示装置、及び宛先装置14と通信するように構成された外部表示装置であり得る表示装置34を含んでもよい。表示装置34は、復号化ビデオデータをユーザに表示させ、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置などの様々な表示装置のいずれかを含んでもよい。
【0025】
ビデオエンコーダ20及びビデオデコーダ30は、例えば、VVC、HEVC、MPEG-4、Part 10、AVCなどの独自又は産業上の標準に従って動作してもよく、それらの標準の拡張に従って動作してもよい。本願は、特定のビデオ符号化/復号標準に限定されず、他のビデオ符号化/復号標準にも適用可能であることを理解されたい。一般に、ソース装置12のビデオエンコーダ20は、これらの現在又は将来の標準のうちのいずれかに従ってビデオデータを符号化するように構成されてもよいことが考えられる。同様に、一般に、宛先装置14のビデオデコーダ30は、これらの現在又は将来の標準のうちのいずれかに従ってビデオデータを復号するように構成されてもよいことも考えられる。
【0026】
ビデオエンコーダ20及びビデオデコーダ30はそれぞれ、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はこれらの任意の組み合わせなどの様々な適切なエンコーダ及び/又はデコーダ回路のうちのいずれかとして実装されてもよい。ソフトウェアで部分的に実装される場合、電子機器は、ソフトウェアのための命令を適切な非一時的コンピュータ可読媒体に記憶し、1つ以上のプロセッサを使用してハードウェアで命令を実行して、本開示に開示されるビデオ符号化/復号動作を実行してもよい。ビデオエンコーダ20及びビデオデコーダ30のそれぞれは、1つ以上のエンコーダ又はデコーダに含まれてもよく、いずれも、組み合わせたエンコーダ/デコーダ(CODEC)の一部としてそれぞれの装置内に統合されてもよい。
【0027】
HEVCと同様に、VVCは、ブロックベースのハイブリッドビデオ符号化復号化フレームワークに基づいて構築される。図1は、本開示のいくつかの実施形態に係る、ブロックベースのビデオエンコーダを示すブロック図である。エンコーダ100において、入力ビデオ信号は、符号化ユニット(CU)と呼ばれるブロック毎に処理される。エンコーダ100は、図16に示すように、ビデオエンコーダ20であってもよい。VTM-1.0では、CUは、最大128×128画素まで可能である。しかしながら、4分木のみに基づいてブロックを分割するHEVCとは異なり、VVCでは、1つの符号化ツリーユニット(CTU)は、4分木/2分木/3分木に基づいて、様々な局所的な特性に適応するようにCUに分割される。更に、HEVCにおける多重分割ユニットタイプの概念が除去され、即ち、CU、予測ユニット(PU)、及び変換ユニット(TU)の分離はもはやVVCに存在せず、代わりに、各CUは、更なる分割なしで、予測及び変換の両方のための基本ユニットとして常に使用される。マルチタイプツリー構造において、まず、1つのCTUは、4分木構造によって分割される。次に、各4分木リーフノードは、2分木構造及び3分木構造によって更に分割することができる。
【0028】
図3A~3Eは、本開示のいくつかの実施形態に係るマルチタイプツリーパーティションモードを示す概略図である。図3A~3Eはそれぞれ、4分割(図3A)、垂直2分割(図3B)、水平2分割(図3C)、垂直3分割(図3D)、及び水平3分割(図3E)を含む5つの分割タイプを示す。
【0029】
所与のビデオブロックごとに、空間的予測及び/又は時間予測を実行してもよい。空間的予測(又は「イントラ予測」)は、同じビデオピクチャ/スライス内の既に符号化された近傍ブロックのサンプル(参照サンプルと呼ばれる)からの画素を使用して、現在のビデオブロックを予測する。空間的予測は、ビデオ信号に固有の空間冗長性を削減する。時間予測(「インター予測」又は「動き補償予測」とも呼ばれる)は、既に符号化されたビデオピクチャからの再構成された画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間冗長性を削減する。所与のCUについての時間予測信号は、通常、現在のCUとその時間基準との間の動きの量及び方向を示す1つ以上の動きベクトル(MV)によってシグナリングされる。また、複数の参照ピクチャがサポートされる場合、1つの参照ピクチャインデックスが追加的に送信され、参照ピクチャインデックスは、時間予測信号が参照ピクチャストア内のどの参照ピクチャからのものであるかを識別するために使用される。
【0030】
空間的予測及び/又は時間予測の後、エンコーダ100のイントラ/インターモード決定回路121は、例えば、レート歪み最適化法に基づいて、最適な予測モードを選択する。次いで、ブロック予測器120は、現在のビデオブロックから減算され、取得された予測残差は、変換回路102及び量子化回路104を使用して無相関化される。取得された量子化残差係数は、逆量子化回路116によって逆量子化され、逆変換回路118によって逆変換されることで、再構成された残差を形成し、次いで、再構成された残差は、予測ブロックに加算されることで、CUの再構成された信号を形成する。更に、デブロッキングフィルタ、サンプル適応オフセット(SAO)、及び/又は適応インループフィルタ(ALF)などのインループフィルタリング115は、再構成されたCUがピクチャバッファ117の参照ピクチャストアに入れられ将来のビデオブロックを符号化するために使用される前に、再構成されたCUに適用することができる。出力ビデオビットストリーム114を形成するために、符号化モード(インター又はイントラ)、予測モード情報、動き情報、及び量子化残差係数は、全て、エントロピー符号化ユニット106に送信され、更に圧縮され、パックされてビットストリームを形成する。
【0031】
例えば、デブロッキングフィルタは、AVC、HEVC、及びVVCの最新バージョンで利用可能である。HEVCでは、符号化効率を更に向上させるために、SAOと呼ばれる追加のインループフィルタが定義されている。VVC標準の最新バージョンでは、ALFと呼ばれる別のインループフィルタが積極的に研究されており、最終標準に含まれる可能性が高くなる。
【0032】
これらのインループフィルタ動作は、選択可能なものである。これらの動作を実行することは、符号化効率及び視覚的な品質の向上に役立つ。これらの動作は、計算の複雑さを低減するために、エンコーダ100によって与えられる決定としてオフにされてもよい。
【0033】
なお、これらのフィルタオプションがエンコーダ100によってオンにされる場合、イントラ予測は、通常、フィルタリングされていない再構成画素に基づくものであるのに対し、インター予測は、フィルタリングされた再構成画素に基づくものである。
【0034】
図2は、多くのビデオ符号化複号化標準と組み合わせて使用され得るブロックベースのビデオデコーダ200を示すブロック図である。該当デコーダ200は、図1のエンコーダ100に存在する再構成関連部分に類似している。ブロックベースのビデオデコーダ200は、図16に示すように、ビデオデコーダ30であってもよい。デコーダ200では、入力ビデオビットストリーム201は、まず、エントロピー復号202によって復号されることで、量子化係数レベル及び予測関連情報を導出する。次に、量子化係数レベルは、逆量子化204及び逆変換206によって処理されて、再構成された予測残差を取得する。イントラ/インターモード選択212で実現されるブロック予測器メカニズムは、復号された予測情報に基づいて、イントラ予測208又は動き補償210を実行するように構成される。フィルタリングされていない再構成画素セットは、逆変換206からの再構成された予測残差とブロック予測器メカニズムにより生成された予測出力とを加算器214を使用して加算することにより取得される。
【0035】
再構成されたブロックは、参照ピクチャストアとして機能するピクチャバッファ213に記憶される前に、インループフィルタ209を更に通過してもよい。ピクチャバッファ213の再構成されたビデオは、将来のビデオブロックを予測するために使用されるだけでなく、表示装置を駆動するために送信されてもよい。インループフィルタ209がオンにする場合には、これらの再構成画素に対してフィルタリング動作を実行して、最終的な再構成されたビデオ出力222を導出する。
【0036】
現在のVVC及びAVS3標準では、現在の符号化ブロックの動き情報は、マージ候補インデックスによって特定された空間的又は時間的近傍ブロックからコピーされ、又は動き推定の明示的なシグナリングによって取得される。本開示の焦点は、アフィンマージ候補の導出方法を改善することによって、アフィンマージモードの動きベクトルの精度を改善することである。本開示の説明を容易にするために、VVC標準における既存のアフィンマージモード設計が、提案されたアイデアを説明するために例として使用される。なお、VVC標準の既存のアフィンモード設計が本開示全体を通じて例として使用されるが、当業者にとって、提案された技術は、同じ又は類似の設計思想を有するアフィン動き予測モードの異なる設計又は他の符号化ツールにも適用することができる。
【0037】
アフィンモード
HEVCでは、並進動きモデルのみが動き補償予測に適用されている。現実世界では、ズームインズームアウト、回転、視点の動き、他の不規則的な動きなど、様々な動きが存在する。VVC及びAVS3では、並進動きモデル又はアフィン動きモデルがインター予測に適用されるか否かを示すために、インター符号化ブロックごとに1つのフラグをシグナリングすることによって、アフィン動き補償予測を適用する。現在のVVC及びAVS3設計では、4パラメータアフィンモード及び6パラメータアフィンモードを含む2つのアフィンモードは、1つのアフィン符号化ブロックに対してサポートされる。
【0038】
4パラメータアフィンモデルには、水平方向と垂直方向の並進移動にそれぞれ用いられる2つのパラメータと、ズーム動きに用いられる1つのパラメータと、両方向の回転動きに用いられる1つのパラメータとがある。このモデルでは、水平ズームパラメータは、垂直ズームパラメータと等しく、水平回転パラメータは、垂直回転パラメータと等しい。動きベクトルとアフィンパラメータをより適切に調整するために、これらのアフィンパラメータは、現在のブロックの左上隅と右上隅に配置される2つのMV(制御ポイント動きベクトル(CPMV)とも呼ばれる)から導出される。図4A及び図4Bに示すように、ブロックのアフィン動き場は、2つのCPMV(V,V)によって記載される。制御ポイント動きに基づいて、1つのアフィン符号化ブロックの動き場(v,v)は、以下のように記載される。
【数1】
【0039】
6パラメータアフィンモードには、水平方向と垂直方向の並進移動にそれぞれ用いられる2つのパラメータと、水平方向のズーム動きと回転動きにそれぞれ用いられる2つのパラメータと、垂直方向のズーム動きと回転動きに用いられる別の2つのパラメータとがある。6パラメータアフィン動きモデルは、3つのCPMVで符号化される。図5に示すように、1つの6パラメータアフィンブロックの3つの制御ポイントは、ブロックの左上隅、右上隅及び左下隅に配置される。左上制御ポイントの動きは、並進動きに関連し、右上制御ポイントの動きは、水平方向の回転及びズームの動きに関連し、左下制御ポイントの動きは、垂直方向の回転及びズームの動きに関連する。4パラメータのアフィン動きモデルと比較すると、6パラメータの水平方向の回転及びズームの動きは、垂直方向の動きと同じではない可能性がある。(v,v,v)が図5の現在のブロックの左上隅、右上隅及び左下隅のMVであると仮定すると、各サブブロックの動きベクトル(v,v)は、制御ポイントの3つのMVを使用して以下のように導出される。
【数2】
【0040】
アフィンマージモード
アフィンマージモードでは、現在のブロックのCPMVは、明示的にシグナリングされないが、近傍ブロックから導出される。具体的には、このモードでは、空間的近傍ブロックの動き情報を使用して、現在のブロックのCPMVを生成する。アフィンマージモードの候補リストは、有限サイズを有する。例えば、現在のVVCデザインでは、最大5つの候補が存在する可能性である。エンコーダは、レート歪み最適化アルゴリズムに基づいて最適な候補インデックスを評価及び選択してもよい。次に、選択された候補インデックスは、デコーダ側にシグナリングされる。アフィンマージ候補は、3つの方法で決定することができる。第1方法では、近傍アフィン符号化ブロックからアフィンマージ候補を継承してもよい。第2方法では、近傍ブロックからの並進MVからアフィンマージ候補を構築する。第3方法では、ゼロMVをアフィンマージ候補として使用する。
【0041】
継承方法について、最大2つの候補が存在する可能である。候補は、利用可能な場合、現在のブロックの左下に配置される近傍ブロック(例えば、図6に示すように、走査順序は、A0からA1である)と、現在のブロックの上辺に配置される近傍ブロック(例えば、図6に示すように、走査順序は、B0からB2である)とから取得される。
【0042】
構築方法では、候補は、近傍ブロックの並進MVの組み合わせであり、以下の2つのステップで生成されてもよい。
【0043】
ステップ1では、利用可能な近傍ブロックからMV1、MV2、MV3及びMV4を含む4つの並進MVを取得する。
MV1については、現在のブロックの左上隅に近接する3つの近傍ブロックのうちの1つからのMVである。図7に示すように、走査順序は、B2、B3、A2である。
MV2については、現在のブロックの右上隅に近接する2つの近傍ブロックのうちの1つからのMVである。図7に示すように、走査順序は、B1、B0である。
MV3については、現在のブロックの左下隅に近接する2つの近傍ブロックのうちの1つからのMVである。図7に示すように、走査順序は、A1、A0である。
MV4については、現在のブロックの右下隅に近接する近傍ブロックの時間的配列ブロックからのMVである。図に示すように、近傍ブロックは、Tである。
【0044】
ステップ2では、ステップ1からの4つの並進MVに基づいて組み合わせを導出する。
組み合わせ1は、MV1、MV2、MV3である。
組み合わせ2は、MV1、MV2、MV4である。
組み合わせ3は、MV1、MV3、MV4である。
組み合わせ4は、MV2、MV3、MV4である。
組み合わせ5は、MV1、MV2である。
組み合わせ6は、MV1、MV3である。
【0045】
継承候補と構築候補で充填された後、マージ候補リストがフルでない場合、リストの最後にゼロMVを挿入する。
【0046】
現在のビデオ標準VVC及びAVSでは、それぞれ、継承候補と構築候補について、図6及び図7に示すように、現在のブロックのアフィンマージ候補を導出するために隣接近傍ブロックのみが使用される。マージ候補の多様性を高め、空間的相関を更に調査するには、近傍ブロックのカバー範囲を隣接領域から非隣接領域に直接に拡張する。
【0047】
本開示では、アフィンマージモードの候補導出プロセスは、隣接近傍ブロックだけでなく、非隣接近傍ブロックを使用することによって拡張される。詳細な方法は、アフィンマージ候補のプルーニング、継承されたアフィンマージ候補の非隣接近傍ブロックベースの導出プロセス、及び構築されたアフィンマージ候補の非隣接近傍ブロックベースの導出プロセスを含む3つの態様に要約されてもよい。
【0048】
アフィンマージ候補のプルーニング
一般的なビデオ符号化標準におけるアフィンマージ候補リストは、通常、有限サイズを有するため、候補のプルーニングは、冗長な候補を削除するために不可欠なプロセスである。アフィンマージの継承候補と構築候補の両方に対して、このプルーニングプロセスが必要である。紹介したセクションで説明したように、現在のブロックのCPMVは、アフィン動き補償に直接使用される。代わりに、CPMVは、現在のブロック内の各サブブロックの位置で並進MVに変換される必要がある。変換プロセスは、以下に示すように、一般的なアフィンモデルに従って実行される。
【数3】
【0049】
ここで、(a,b)は、デルタ並進パラメータであり、(c,d)は、水平方向のデルタズーム及び回転パラメータであり、(e,f)は、垂直方向のデルタズーム及び回転パラメータであり、(x,y)は、サブブロックのピボット位置(中央又は左上隅など)と現在のブロックの左上隅に対する水平距離及び垂直距離(例えば、図5に示す座標(x,y))であり、(v,v)はサブブロックのターゲット並進MVである。
【0050】
6パラメータアフィンモデルの場合、V0、V1、及びV2と呼ばれる3つのCPMVが利用可能である。次にa、b、c、d、e、及びfという6つのモデルパラメータは、以下のように計算することができる。
【数4】
【0051】
4パラメータアフィンモデルの場合、V0とV1と呼ばれる左上隅CPMVと右上隅CPMVが利用可能であれば、a、b、c、d、e、及びfという6つのパラメータは、以下のように計算することができる。
【数5】
【0052】
4パラメータアフィンモデルの場合、V0とV2と呼ばれる左上隅CPMVと左下隅CPMVが利用可能であれば、a、b、c、d、e、及びfという6つのパラメータは、以下のように計算することができる。
【数6】
【0053】
CPMVの2つのマージ候補セットが冗長性チェックのために比較される場合、6つのアフィンモデルパラメータの類似性をチェックすることが提案されている。したがって、候補プルーニングプロセスは、2つのステップで実行することができる。
【0054】
ステップ1では、CPMVの2つの候補セットが与えられると、各候補セットに対応するアフィンモデルパラメータが導出される。より具体的には、CPMVの2つの候補セットは、2セットのアフィンモデルパラメータ、例えば、(a,b,c,d,e,f)及び(a,b,c,d,e,f)によって表されてもよい。
【0055】
ステップ2では、1つ以上の所定の閾値に基づいて、2セットのアフィンモデルパラメータ間の類似性チェックを実行する。一実施形態では(a-a)、(b-b)、(c-c)、(d-d)、(e-e)及び(f-f)の絶対値がいずれも値1などの正の閾値未満である場合、2つの候補は、類似していると見なされ、そのうちの1つをプルーニング/削除してマージ候補リストに入れないようにすることができる。
【0056】
変換されたアフィンモデルパラメータを候補の冗長性チェックに使用する利点は、異なるアフィンモデルタイプを有する候補に対して統一された類似性チェックプロセスを作成し、例えば、あるマージ候補が3つのCPMVを有する6パラメータアフィンモデルを使用してもよく、別の候補が2つのCPMVを有する4パラメータアフィンモデルを使用してもよいことと、各サブブロックでターゲットMVを導出する場合、マージ候補内の各CPMVの様々な影響を考慮することと、現在のブロックの幅及び高さに関連する2つのアフィンマージ候補の類似性の重要性を提供することと、を含む。
【0057】
継承されたアフィンマージ候補の非隣接近傍ブロックベースの導出プロセス
継承されたマージ候補の場合、非隣接近傍ブロックベースの導出プロセスは、3つのステップで実行されてもよい。ステップ1は、候補の走査に用いられる。ステップ2は、CPMVの投影に用いられる。ステップ3は、候補のプルーニングに用いられる。
【0058】
ステップ1では、以下の方法で非隣接近傍ブロックを走査し、選択する。
【0059】
走査領域及び距離
いくつかの実施例では、非隣接近傍ブロックは、現在の符号化ブロックの左側領域及び上方領域から走査されてもよい。走査距離は、走査位置から現在の符号化ブロックの左辺又は上辺までの符号化ブロックの数として定義されてもよい。
【0060】
図8に示すように、現在の符号化ブロックの左側又は上方のいずれかで複数のラインの非隣接近傍ブロックが走査されてもよい。図8に示す距離は、各候補位置から現在のブロックの左辺又は上辺までの符号化ブロックの数を表す。例えば、現在のブロックの左辺において「距離2」を有する領域は、この領域に配置される候補近傍ブロックが現在のブロックから2つのブロック離れることを示す。同様の指示は、異なる距離を有する他の走査領域に適用されてもよい。
【0061】
1つ以上の実施例では、特定の距離での各走査領域内で、開始近傍ブロック及び終了近傍ブロックは、位置に依存してもよい。
【0062】
一実施例では、左辺の走査領域について、開始近傍ブロックは、より小さい距離を有する隣接走査領域の開始近傍ブロックの隣接左下ブロックであってもよい。例えば、図8に示すように、現在のブロックの左辺にある「距離2」走査領域の開始近傍ブロックは、「距離1」走査領域の開始近傍ブロックの隣接左下近傍ブロックである。終了近傍ブロックは、より小さい距離を有する上方走査領域の終了近傍ブロックの隣接左側ブロックであってもよい。例えば、図8に示すように、現在のブロックの左辺にある「距離2」走査領域の終了近傍ブロックは、現在のブロックの上方にある「距離1」走査領域の終了近傍ブロックの隣接左側近傍ブロックである。
【0063】
同様に、上辺の走査領域の場合、開始近傍ブロックは、より小さい距離を有する隣接走査領域の開始近傍ブロックの隣接右上ブロックであってもよい。終了近傍ブロックは、より小さい距離を有する隣接走査領域の終了近傍ブロックの隣接左上ブロックであってもよい。
【0064】
走査順序
近傍ブロックが非隣接領域で走査される場合、一定の順序又は/及び規則に従って、走査される近傍ブロックの選択を決定してもよい。
【0065】
一実施例では、まず左側領域を走査し、次に上方領域を走査してもよい。図8に示すように、まず左辺の3ラインの非隣接領域(例えば、距離1から距離3まで)を走査し、次に現在のブロックの上方3ラインのの非隣接領域を走査してもよい。
【0066】
別の実施例では、左側領域と上方領域を交互に走査してもよい。例えば、図8に示すように、まず「距離1」を有する左側走査領域を走査し、次に「距離1」を有する上方領域を走査する。
【0067】
同じ側に位置する走査領域(左側領域又は上方領域など)について、走査順序は、距離の小さい領域から距離の大きい領域までの順序になる。この順序は、走査順序の他の実施形態と柔軟に組み合わせられてもよい。例えば、左側領域と上方領域を交互に走査してもよく、同じ側の領域の場合の順序は、小さい距離から大きい距離への順序となるように予定される。
【0068】
特定の距離での各走査領域内で、走査順序を定義してもよい。一実施形態では、左側走査領域について、底部近傍ブロックから上部近傍ブロックまでに走査を開始してもよい。上方走査領域について、右側ブロックから左側ブロックまでに走査を開始してもよい。
【0069】
走査終了
継承されたマージ候補について、アフィンモードで符号化された近傍ブロックは、適切な候補として定義される。一実施例では、走査プロセスが交互に実行されてもよい。例えば、最初のX個の適切な候補が識別された時点で、特定の距離での特定の領域で実行される走査を停止してもよく、ただし、Xが所定の正の値である。例えば、図8に示すように、前の1つ以上の適切な候補が識別された時点で、距離1を有する左側走査領域における走査を停止してもよい。次に、所定の走査順序/規則によって制御される別の走査領域をターゲットすることで、走査プロセスの次の繰り返しが開始される。
【0070】
別の実施例では、走査プロセスは、連続的に実行されてもよい。例えば、カバーされる近傍ブロックが全て走査され、適切な候補がそれ以上識別されなくなり、或いは候補の最大許容数に達した場合には、特定の距離での特定の領域で実行される走査は停止することができる。
【0071】
更に、ステップ2では、現在のAVS標準及びVVC標準で使用されているのと同じCPMV投影プロセスを利用してもよい。このCPMV投影プロセスでは、現在のブロックおよび選択された近傍ブロックは同一のアフィンモデルを共有することが想定されると、近傍ブロックが4パラメータアフィンモデル又は6パラメータアフィンモデルで符号化されるか否かに応じて、2つ又は3つの隅部画素の座標(例えば、現在のブロックが4パラメータモデルを使用する場合、2つの座標(左上の画素/サンプルの位置、及び右上の画素/サンプルの位置)が使用され、現在のブロックが6パラメータモデルを使用する場合、3つの座標(左上の画素/サンプル位置、右上の画素/サンプル位置、及び左下の画素/サンプル位置)が使用される)を式(1)又は(2)に代入して、2つ又は3つのCPMVを生成する。
【0072】
ステップ3では、ステップ1で識別され、ステップ2で変換された任意の適切な候補と、マージ候補リストに既に存在する全ての既存の候補との類似性チェックを実行してもよい。類似性チェックの詳細については、上記アフィンマージ候補のプルーニングのセクションで既に説明する。新たに適切な候補が候補リスト内の既存の候補と類似していることが判明した場合、この新たに適切な候補は、削除/プルーニングされる。
【0073】
構築されたアフィンマージ候補の非隣接近傍ブロックベースの導出プロセス
継承されたマージ候補を導出する場合、一回で1つの近傍ブロックが識別され、この単一の近傍ブロックは、アフィンモードで符号化される必要があり、2つ又は3つのCPMVを含んでもよい。構築されたマージ候補を導出する場合、一回で2つ又は3つの近傍ブロックが識別されてもよく、識別された各近傍ブロックは、アフィンモードで符号化される必要がなく、このブロックから1つの並進MVのみが検索される。
【0074】
図9は、非隣接近傍ブロックを使用することによって構築されたアフィンマージ候補を導出する可能である実施例を示す。図9において、A、B及びCは、3つの非隣接近傍ブロックの地理的位置である。仮想符号化ブロックは、Aの位置を左上隅として、Bの位置を右上隅として、Cの位置を左下隅として使用して形成される。仮想CUをアフィン符号化ブロックとすると、A’、B’、及びC’の位置にあるMVを式(3)に従って導出でき、ただし、モデルパラメータ
が、A、B、及びCの位置にある並進MVによって求められる。導出されると、A’、B’、及びC’の位置にあるMVを現在のブロックの3つのCPMVとして使用され、構築されたアフィンマージ候補を生成する既存のプロセス(AVS及びVVC標準で使用されているプロセス)を使用することができる。
【0075】
構築されたマージ候補について、非隣接近傍ブロックベースの導出プロセスは、エンコーダ又はデコーダなどの装置において5つのステップで実行されてもよい。ステップ1は、候補の走査である。ステップ2は、アフィンモデルの決定である。ステップ3は、CPMVの投影である。ステップ4は、候補の生成である。ステップ5は、候補のプルーニングである。ステップ1では、以下の方法により、非隣接近傍ブロックを走査し、選択してもよい。
【0076】
走査領域及び距離
いくつかの実施例では、矩形の符号化ブロックを維持するために、走査プロセスは、2つの非隣接近傍ブロックのみに対して実行される。第3非隣接近傍ブロックは、第1非隣接近傍ブロック及び第2非隣接近傍ブロックの水平位置及び垂直位置に依存してもよい。
【0077】
一実施例では、図9に示すように、走査プロセスは、Bの位置及びCの位置のみに対して実行される。Aの位置は、Cの水平位置及びBの垂直位置によって一意に決定されてもよい。この場合、特定の走査方向に従って走査領域及び距離を定義してもよい。
【0078】
一実施例では、走査方向は、現在のブロックの辺に垂直であってもよい。図10に一実施例が示されており、走査領域は、現在のブロックの左側又は上方にある1ラインの連続動き場として定義される。走査距離は、走査位置から現在のブロックの辺までの動き場の数として定義される。なお、動き場のサイズは、適用可能なビデオ符号化標準の最大粒度に依存してもよい。図10に示す実施例では、動き場のサイズは、現在のVVC標準に合わせて4×4に設定されることと仮定される。
【0079】
別の実施例では、走査方向は、現在のブロックの辺に平行であってもよい。一実施例は、図11に示されており、走査領域は、現在のブロックの左側又は上方にある1ラインの連続符号化ブロックとして定義される。
【0080】
別の実施例では、走査方向は、現在のブロックの辺に対する垂直走査と平行走査との組み合わせであってもよい。図12に示すように、一実施例を示している。図12に示すように、走査方向は、平行と斜めとの組み合わせであってもよい。位置Bでの走査は、左側から右側に開始し、次に左側ブロックと上部ブロックに向かって斜め方向に実行される。位置Bでの走査は、図12に示すように繰り返す。同様に、位置Cでの走査は、上部から下部に開始し、次に左側のブロックと上部のブロックに向かって斜め方向に実行される。位置Cでの走査は、図12に示すように繰り返す。
【0081】
走査順序
一実施例では、走査順序は、現在の符号化ブロックまでの距離が小さい位置から現在の符号化ブロックまでの距離が大きい位置への順序として定義されてもよい。この順序は、垂直走査の場合に適用されてもよい。
【0082】
別の実施例では、走査順序は、固定パターンとして定義されてもよい。この固定パターンの走査順序は、同様の距離を有する候補位置に用いられてもよい。一実施例は、平行走査の場合である。一実施例では、走査順序は、図11に示す実施例のように、左側走査領域に対して上方向から下方向への順序として定義されてもよく、上方走査領域に対して左方向から右方向への順序として定義されてもよい。
【0083】
組み合わせられた走査方法の場合、走査順序は、図12に示す実施例のように、固定パターンと距離依存との組み合わせであってもよい。
【0084】
走査終了
構築されたマージ候補について、並進MVのみが必要であるため、適切な候補をアフィン符号化する必要がない。
【0085】
必要な候補数に応じて、最初のX個の適切な候補が識別された場合に、走査プロセスを終了することができ、ただし、Xは、正の値である。
【0086】
ステップ2では、ステップ1の後で選択された候補の位置での並進MVを評価し、適切なアフィンモデルを決定することができる。一般性を失わずに説明を容易にするために、図9を例として再度使用する。
【0087】
ハードウェアの制約、実施の複雑さ、様々な参照インデックスなどの要因により、十分な数の候補が識別される前に走査プロセスを終了してもよい。例えば、ステップ1の後の選択された候補のうちの1つ以上の候補の動き場の動き情報が利用できない可能性がある。
【0088】
全ての3つの候補の動き情報が利用可能である場合、対応する仮想符号化ブロックは、6パラメータアフィンモデルを表す。3つの候補のうちの1つの候補の動き情報が利用できない場合、対応する仮想符号化ブロックは、4パラメータアフィンモデルを表す。3つの候補のうちの1つ以上の候補の動き情報が利用できない場合、対応する仮想符号化ブロックは、有効なアフィンモデルを表すことができない可能性がある。
【0089】
ステップ3では、仮想符号化ブロックが有効なアフィンモデルを表すことができる場合、継承されたマージ候補に使用される同じ投影プロセスを使用してもよい。
【0090】
ステップ4では、ステップ3の後の投影されたCPMVに基づいて、一実施例では、現在のVVC又はAVS標準で使用される同じ候補生成プロセスを使用してもよい。別の実施形態では、現在のVVC又はAVS標準の候補生成プロセスで使用される時間動きベクトルは、非隣接近傍ブロックベースの導出方法に使用されない可能性がある。
【0091】
ステップ5では、ステップ4の後の新たに生成された候補と、マージ候補リストに既に存在する全ての既存の候補との類似性チェックを実行してもよい。類似性チェックの詳細については、アフィンマージ候補のプルーニングのセクションで既に説明した。新たに生成された候補が候補リスト内の既存の候補と類似していることが判明した場合、この新たに生成された候補は、削除又はプルーニングされる。
【0092】
図13は、ユーザインタフェース1360に結合されたコンピューティング環境(又はコンピューティング装置)1310を示す。コンピューティング環境1310は、データ処理サーバの一部であってもよい。いくつかの実施形態では、コンピューティング環境1310は、以上に説明したように、本開示の様々な実施例に係る様々な方法又はプロセス(例えば、符号化/復号化方法又はプロセス)のいずれかを実行することができる。コンピューティング環境1310は、プロセッサ1320、メモリ1340、及びI/Oインタフェース1350を含んでもよい。
【0093】
プロセッサ1320は、典型的には、ディスプレイ、データ取得、データ通信、及び画像処理に関連する動作などの、コンピューティング環境1310の全体的な動作を制御する。プロセッサ1320は、上述の方法のステップの全部又は一部を実行する命令を実行するための1つ以上のプロセッサを含んでもよい。また、プロセッサ1320は、プロセッサ1320と他の構成要素との間のインタラクションを容易にする1つ以上のモジュールを含んでもよい。上記プロセッサは、中央処理装置(CPU)、マイクロプロセッサ、シングルチップマシン、GPUなどであってもよい。
【0094】
メモリ1340は、コンピューティング環境1310の動作をサポートするために、様々なタイプのデータを記憶するように構成される。メモリ1340は、所定のソフトウェア1342を含んでもよい。そのようなデータの例は、コンピューティング環境1310上で動作する任意のアプリケーション又は方法のための命令、ビデオデータセット、画像データなどを含む。メモリ1340は、静的ランダムアクセスメモリ(SRAM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク又は光ディスクなどの任意のタイプの揮発性若しくは不揮発性メモリ装置、又はそれらの組み合わせを使用することによって実装されてもよい。
【0095】
I/Oインタフェース1350は、プロセッサ1320と、キーボード、クリックホイール、ボタンなどの周辺インタフェースモジュールとの間のインタフェースを提供する。ボタンは、ホームボタン、走査開始ボタン及び走査停止ボタンを含んでもよいが、これらに限定されない。I/Oインタフェース1350は、エンコーダ及びデコーダに結合することができる。
【0096】
いくつかの実施形態では、上述の方法を実行するために、コンピューティング環境1310内のプロセッサ1320によって実行可能な、メモリ1340に含まれるような複数のプログラムを含む非一時的コンピュータ可読記憶媒体も提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶装置などであってもよい。
【0097】
非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサを有するコンピューティング装置によって実行される複数のプログラムを記憶しており、複数のプログラムは、1つ以上のプロセッサによって実行されると、コンピューティング装置に上述の動き予測方法を実行させる。
【0098】
いくつかの実施形態では、コンピューティング環境1310は、上記方法を実行するために、1つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブルロジック装置(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィカルプロセッシングユニット(GPU)、コントローラ、マイクロコントローラ、マイクロプロセッサ、又は他の電子構成要素を使用して実装されてもよい。
【0099】
図14は、本開示の一実施例に係るビデオ符号化復号化方法を示すフローチャートである。
【0100】
ステップ1401では、プロセッサ1320は、現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得することができる。
【0101】
ステップ1402では、プロセッサ1320は、1つ以上のアフィン候補に基づいて、現在のブロックの1つ以上のCPMVを取得することができる。
【0102】
いくつかの実施例では、プロセッサ1320は、走査規則に従って1つ以上のアフィンマージ候補を取得してもよい。
【0103】
いくつかの実施例では、走査規則は、少なくとも1つの走査領域、少なくとも1つの走査距離、及び走査順序に基づいて決定されてもよい。
【0104】
いくつかの実施例では、少なくとも1つの走査距離は、現在のブロックの辺から離れたブロックの数を示す。
【0105】
いくつかの実施例では、プロセッサ1320は、更に、第1走査領域内に複数の非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の非隣接近傍ブロックを取得し、アフィンモードで符号化された1つ以上の非隣接近傍ブロックを1つ以上のアフィン候補として決定してもよい。例えば、第1走査領域は、図8に示すように、現在のブロックの左側にある走査領域であってもよい。第1走査領域は、図に示すように、現在ブロックの上方にある走査領域であってもよい。
【0106】
いくつかの実施例では、走査終了として、プロセッサ1320は、取得されたアフィンモードで符号化復号化された1つ以上の非隣接近傍ブロックの数が所定の数に達したと決定することに応答して、第1走査領域内での走査を停止してもよい。
【0107】
いくつかの実施例では、プロセッサ1320は、現在のブロックの左辺と平行な第1走査線に沿って、第1開始非隣接近傍ブロックから走査してもよく、第1開始非隣接近傍ブロックが第1走査領域内の底部ブロックであり、第1走査領域内のブロックが現在のブロックの左辺から第1走査距離離れた位置にある。例えば、第1開始非隣接近傍ブロックは、図8に示すように、距離1、距離2、又は距離3を有する左側走査領域内の底部ブロックであってもよい。
【0108】
いくつかの実施例では、第1開始非隣接近傍ブロックは、第2走査領域内の第2開始非隣接近傍ブロックの底部及び左側にあってもよく、第2走査領域内のブロックは、現在のブロックの左辺から第2走査距離離れた位置にあってもよい。例えば、図8に示すように、第1開始非隣接近傍ブロックは、距離2を有する左側走査領域内の底部ブロックであってもよく、第1開始非隣接近傍ブロックは、距離1を有する左側走査領域内の開始非隣接近傍ブロックの底部及び左側にあってもよい。
【0109】
いくつかの実施例では、プロセッサ1320は、現在のブロックの上辺と平行な走査線に沿って、第3開始非隣接近傍ブロックから走査してもよく、第3開始非隣接近傍ブロックが第1走査領域内の右側ブロックであってもよく、第1走査領域内のブロックが現在のブロックの上辺から第1走査距離離れた位置にあってもよい。例えば、第3開始非隣接近傍ブロックは、図8に示すように、距離1、距離2、又は距離3を有する上方又は上部走査領域内の右側ブロックであってもよい。
【0110】
いくつかの実施例では、第3開始非隣接近傍ブロックは、第2走査領域内の第4開始非隣接近傍ブロックの上部及び右側にあってもよく、第2走査領域内のブロックは、現在のブロックの上辺から第2走査距離離れた位置にあってもよい。例えば、図8に示すように、第3開始非隣接近傍ブロックは、距離2を有する上方又は上部走査領域の右側にあってもよく、距離1を有する上方又は上部走査領域内の開始非隣接近傍ブロックの右側及び上方にあってもよい。
【0111】
いくつかの実施例では、少なくとも1つの走査領域は、現在のブロックの左側にある少なくとも1つの左側走査領域と、現在のブロックの上方にある少なくとも1つの上部走査領域とを含んでもよい。プロセッサ1320は、少なくとも1つの左側走査領域内の複数の第1非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第1非隣接近傍ブロックを取得し、少なくとも1つの上部走査領域内の複数の第2非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第2非隣接近傍ブロックを取得し、アフィンモードで符号化された1つ以上の第1非隣接近傍ブロック及びアフィンモードで符号化された1つ以上の第2非隣接近傍ブロックを1つ以上のアフィン候補として決定してもよい。
【0112】
いくつかの実施例では、少なくとも1つの左側走査領域は、第1左側走査領域、第2左側走査領域、及び第3左側走査領域を含んでもよい。更に、第1左側走査領域内のブロックは、現在のブロックの左辺から第1走査距離離れた位置にあってもよく、第2左側走査領域内のブロックは、現在のブロックの左辺から第2走査距離離れた位置にあってもよく、第3左側走査領域内のブロックは、現在のブロックの左辺から第3走査距離離れた位置にあってもよい。例えば、少なくとも1つの左側走査領域は、距離1、距離2、及び距離3を有する左側走査領域を含んでもよい。
【0113】
更に、プロセッサ1320は、現在のブロックの左辺と平行な第1走査線に沿って、第1開始非隣接近傍ブロックから走査するステップであって、第1開始非隣接近傍ブロックが第1左側走査領域内の底部ブロックであってもよい、ステップと、現在のブロックの左辺と平行な第2走査線に沿って、第2開始非隣接近傍ブロックから走査するステップであって、第2開始非隣接近傍ブロックが第2左側走査領域内の底部ブロックであってもよい、ステップと、現在のブロックの左辺と平行な第3走査線に沿って、第3開始非隣接近傍ブロックから走査するステップであって、第3開始非隣接近傍ブロックが第3左側走査領域内の底部ブロックであってもよい、ステップとを実行することによって、少なくとも1つの左側走査領域内の複数の第1非隣接近傍ブロックを走査してもよい。
【0114】
いくつかの実施例では、少なくとも1つの上部走査領域は、第1上部走査領域、第2上部走査領域、及び第3上部走査領域を含んでもよく、第1上部走査領域内のブロックは、現在のブロックの上辺から第1走査距離離れた位置にあってもよく、第2上部走査領域内のブロックは、現在のブロックの上辺から第2走査距離離れた位置にあってもよく、第3上部走査領域内のブロックは、現在のブロックの上辺から第3走査距離離れた位置にあってもよい。更に、プロセッサ1320は、現在のブロックの上辺と平行な第4走査線に沿って、第4開始非隣接近傍ブロックから走査するステップであって、第4開始非隣接近傍ブロックが第1上部走査領域内の右側ブロックであってもよい、ステップと、現在のブロックの上辺と平行な第5走査線に沿って、第5開始非隣接近傍ブロックから走査するステップであって、第5開始非隣接近傍ブロックが第2上部走査領域内の右側ブロックであってもよい、ステップと、現在のブロックの上辺と平行な第6走査線に沿って、第6開始非隣接近傍ブロックから走査するステップであって、第6開始非隣接近傍ブロックが第3上部走査領域内の右側ブロックであってもよい、ステップとを実行することによって、少なくとも1つの上部走査領域内の複数の第2非隣接近傍ブロックを走査してもよい。
【0115】
いくつかの実施例では、第1走査距離は、第2走査距離より小さくてもよく、第2走査距離は、第3走査距離より小さくてもよい。
【0116】
いくつかの実施例では、プロセッサ1320は、更に、走査規則に基づいて、第1アフィン候補の第1候補位置と、第2アフィン候補の第2候補位置とを取得し、第3アフィン候補に対する第1候補位置及び第2候補位置に基づいて、第3候補位置を決定し、第1候補位置、第2候補位置、及び第3候補位置に基づいて仮想ブロックを取得し、第1候補位置、第2候補位置、及び第3候補位置での並進MVに基づいて、仮想ブロックの3つのCPMVを取得し、継承された候補導出に使用される同じ投影プロセスを使用して、仮想ブロックの3つのCPMVに基づいて、現在のブロックの2つ又は3つのCPMVを取得してもよい。
【0117】
いくつかの実施例では、仮想ブロックは、矩形の符号化ブロックであってもよく、第3候補位置は、第1候補位置の垂直位置と第2候補位置の水平位置に基づいて決定されてもよい。例えば、仮想ブロックは、図9に示すように、位置A、位置B、及び位置Cを含む仮想ブロックであってもよい。
【0118】
いくつかの実施例では、プロセッサ1320は、少なくとも1つの走査領域、少なくとも1つの走査方向、少なくとも1つの走査距離、及び走査順序に基づいて走査規則を決定してもよい。
【0119】
いくつかの実施例では、プロセッサ1320は、更に、現在のブロックの上辺に垂直な第1走査方向に沿って、第1走査距離で第1走査領域内に走査することによって第1候補位置を取得してもよく、第1走査距離が第1数の動き場を含んでもよく、第1候補位置と上辺の右側及び上方にある隣接動き場との間の距離が第1走査距離であってもよく、第1走査領域が上辺の右側及び上方にある1ラインの連続動き場を含んでもよい。更に、プロセッサ1320は、現在のブロックの左辺に垂直な第2走査方向に沿って、第2走査距離で第2走査領域内に走査することによって第2候補位置を取得してもよく、第2走査距離が第2数の動き場を含んでもよく、第2候補位置と左辺の左側及び下部にある隣接動き場との間の距離が第2走査距離であってもよく、第2走査領域が左辺の左側及び下部にある1ラインの連続動き場を含んでもよい。
【0120】
いくつかの実施例では、プロセッサ1320は、第1走査領域又は第2走査領域内に、現在のブロックから離れて面する走査順序で走査してもよい。
【0121】
いくつかの実施例では、プロセッサ1320は、現在のブロックの上辺に平行な第3走査方向に沿って、第3走査距離で第3走査領域内に走査することによって第1候補位置を取得してもよく、現在のブロックの左辺に平行な第4走査方向に沿って、第4走査距離で第4走査領域内に走査することによって第2候補位置を取得してもよい。
【0122】
いくつかの実施例では、プロセッサ1320は、現在のブロックの上辺に平行な第3走査方向と、上辺に垂直な第1走査方向との組み合わせに沿って第5走査距離で第5走査領域内に走査することによって、第1候補位置を取得してもよく、現在のブロックの左辺に平行な第4走査方向と、左辺に垂直な第2走査方向との組み合わせに沿って第6走査距離で第6走査領域内に走査することによって、第2候補位置を取得してもよい。
【0123】
いくつかの実施例では、プロセッサ1320は、左側から右側への組み合わせ走査順序で、現在のブロックから離れて面して、第5走査領域内に走査し、上から下への組み合わせ走査順序で、現在のブロックから離れて面して、第6走査領域内に走査してもよい。
【0124】
いくつかの実施例では、プロセッサ1320は、1つ以上のアフィン候補の数が所定の数に達したと決定することに応答して、少なくとも1つの走査領域内での走査を停止してもよい。
【0125】
いくつかの実施例では、プロセッサ1320は、第1アフィン候補、第2アフィン候補、及び第3アフィン候補の動き情報が利用可能であると決定することに応答して、仮想ブロックが6パラメータアフィンモデルを表すと決定してもよく、第1アフィン候補、第2アフィン候補、及び第3アフィン候補のうちの1つのアフィン候補の動き情報が利用できないと決定することに応答して、仮想ブロックが4パラメータアフィンモデルを表すと決定してもよく、第1アフィン候補、第2アフィン候補、及び第3アフィン候補のうちの1つ以上の動き情報が利用できないことに応答して、仮想ブロックが有効なアフィンモデルを表すことができないと決定してもよい。
【0126】
図15は、本開示の一実施例に係るアフィン候補をプルーニングする方法を示すフローチャートである。
【0127】
ステップ1501では、プロセッサ1320は、第1アフィン候補の1つ以上のCPMVに関連付けられた第1セットのアフィンモデルパラメータを計算してもよい。
【0128】
ステップ1502では、プロセッサ1320は、第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算してもよい。
【0129】
ステップ1503では、プロセッサ1320は、第1セットのアフィンモデルパラメータ及び第2セットのアフィンモデルパラメータに基づいて、第1アフィン候補と第2アフィン候補との間の類似性チェックを実行してもよい。
【0130】
いくつかの実施例では、プロセッサ1320は、第1セットのアフィンモデルパラメータが第2セットのアフィンモデルパラメータに類似すると決定することに応答して、第1アフィン候補が第2アフィン候補に類似すると決定し、第1アフィン候補及び第2アフィン候補のうちの1つをプルーニングしてもよい。
【0131】
いくつかの実施例では、プロセッサ1320は、第1セットのアフィンモデルパラメータの1つのパラメータと第2セットのアフィンモデルパラメータの1つのパラメータとの差が所定の閾値より小さいと決定することに応答して、第1アフィン候補が第2アフィン候補に類似すると決定してもよい。
【0132】
いくつかの実施例では、プロセッサ1320は、現在のブロックの幅及び高さに従って、第1アフィン候補の1つ以上のCPMVに関連付けられた第1セットのアフィンモデルパラメータを計算してもよく、現在のブロックの幅及び高さに従って、第2アフィン候補の1つ以上のCPMVに関連付けられた第2セットのアフィンモデルパラメータを計算してもよい。
【0133】
いくつかの実施例では、異なるアフィンモデルは、第1アフィン候補と第2アフィン候補にそれぞれ適用され、第1セットのアフィンモデルパラメータと第2セットのアフィンモデルパラメータは、それぞれ異なるアフィンモデルに関連付けられる。
【0134】
いくつかの実施例では、異なるアフィンモデルは、4パラメータアフィンモデル及び6パラメータアフィンモデルを含む。
【0135】
いくつかの実施例では、ビデオ符号化のための装置が提供される。装置は、プロセッサ1320と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ1340とを含み、プロセッサは、命令の実行時に、図14に示すような方法を実行するように構成される。
【0136】
他のいくつかの実施例では、命令を記憶する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ1320によって実行されると、命令は、図14に示すような方法をプロセッサに実行させる。
【0137】
いくつかの実施例では、ビデオ符号化のための装置が提供される。装置は、プロセッサ1320と、プロセッサによって実行可能な命令を記憶するように構成されたメモリ1340とを含み、プロセッサは、命令の実行時に、図15に示すような方法を実行するように構成される。
【0138】
他のいくつかの実施例では、命令を記憶する非一時的コンピュータ可読記憶媒体が提供される。命令がプロセッサ1320によって実行されると、命令は、図15に示すような方法をプロセッサに実行させる。
【0139】
本開示の他の実施例は、本明細書に開示された本開示の明細書及び実施を考慮することにより、当業者には明らかとなるであろう。本願は、その一般的な原理に従い、本分野で既知又は慣例的な実施の範囲内に含まれる本開示からの逸脱を含む、本開示の任意の変形、使用、又は適応を包含することが意図される。本明細書及び実施例は、単に例示的なものと見なされることが意図される。
【0140】
本開示は、上述した、添付の図面によって示された実施例に厳密に限定されるものではなく、本開示の範囲から逸脱することなく、様々な修正及び変更を行うことができることが理解されるであろう。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
現在のブロックに隣接しない複数の非隣接近傍ブロックから1つ以上のアフィン候補を取得するステップと、
前記1つ以上のアフィン候補に基づいて、前記現在のブロックの1つ以上の制御ポイント動きベクトル(CPMV)を取得するステップと、を含む、ビデオ復号化の方法。
【請求項2】
少なくとも1つの走査領域、少なくとも1つの走査距離、及び走査順序に基づいて決定されている走査規則に従って前記1つ以上のアフィンマージ候補を取得するステップを更に含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの走査距離は、前記現在のブロックの辺から離れたブロックの数を示す、請求項に記載の方法。
【請求項4】
第1走査領域内の複数の非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の非隣接近傍ブロックを取得するステップと、
アフィンモードで符号化された前記1つ以上の非隣接近傍ブロックを前記1つ以上のアフィン候補として決定するステップと、
取得されたアフィンモードで符号化された前記1つ以上の非隣接近傍ブロックの数が所定の数に達したと決定することに応答して、前記第1走査領域内での走査を停止するステップと、
を更に含む、請求項に記載の方法。
【請求項5】
前記現在のブロックの左辺と平行な走査線に沿って、第1開始非隣接近傍ブロックから走査するステップであって、前記第1開始非隣接近傍ブロックが前記第1走査領域内の底部ブロックであり、前記第1走査領域内のブロックが前記現在のブロックの左辺から第1走査距離離れた位置にある、ステップ
前記第1開始非隣接ブロックは、第2走査領域内の第2開始非隣接近傍ブロックの底部及び左側にあり、前記第2走査領域内のブロックは、前記現在のブロックの左辺から第2走査距離離れた位置にある、ステップ
を更に含む、請求項に記載の方法。
【請求項6】
前記現在のブロックの上辺と平行な走査線に沿って、第3開始非隣接近傍ブロックから走査するステップであって、前記第3開始非隣接近傍ブロックが前記第1走査領域内の右側ブロックであり、前記第1走査領域内のブロックが前記現在のブロックの上辺から第1走査距離離れた位置にある、ステップ
前記第3開始非隣接ブロックは、第2走査領域内の第4開始非隣接近傍ブロックの上部及び右側にあり、前記第2走査領域内のブロックは、前記現在のブロックの上辺から第2走査距離離れた位置にある、ステップ
を更に含む、請求項に記載の方法。
【請求項7】
前記少なくとも1つの走査領域は、前記現在のブロックの左側にある少なくとも1つの左側走査領域と、前記現在のブロックの上方にある少なくとも1つの上部走査領域とを含み、
前記方法は、
前記少なくとも1つの左側走査領域内の複数の第1非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第1非隣接近傍ブロックを取得するステップと、
前記少なくとも1つの上部走査領域内の複数の第2非隣接近傍ブロックを走査して、アフィンモードで符号化された1つ以上の第2非隣接近傍ブロックを取得するステップと、
アフィンモードで符号化された前記1つ以上の第1非隣接近傍ブロック及びアフィンモードで符号化された前記1つ以上の第2非隣接近傍ブロックを前記1つ以上のアフィン候補として決定するステップと、を更に含む、請求項に記載の方法。
【請求項8】
前記少なくとも1つの左側走査領域は、第1左側走査領域、第2左側走査領域、及び第3左側走査領域を含み、
前記第1左側走査領域内のブロックは、前記現在のブロックの左辺から第1走査距離離れた位置にあり、前記第2左側走査領域内のブロックは、前記現在のブロックの左辺から第2走査距離離れた位置にあり、前記第3左側走査領域内のブロックは、前記現在のブロックの左辺から第3走査距離離れた位置にあり、
前記少なくとも1つの左側走査領域内の複数の前記第1非隣接近傍ブロックを走査するステップは、
前記現在のブロックの左辺と平行な第1走査線に沿って、第1開始非隣接近傍ブロックから走査するステップであって、前記第1開始非隣接近傍ブロックが前記第1左側走査領域内の底部ブロックである、ステップと、
前記現在のブロックの左辺と平行な第2走査線に沿って、第2開始非隣接近傍ブロックから走査するステップであって、前記第2開始非隣接近傍ブロックが前記第2左側走査領域内の底部ブロックである、ステップと、
前記現在のブロックの左辺と平行な第3走査線に沿って、第3開始非隣接近傍ブロックから走査するステップであって、前記第3開始非隣接近傍ブロックが前記第3左側走査領域内の底部ブロックである、ステップと、を含む、請求項に記載の方法。
【請求項9】
前記少なくとも1つの上部走査領域は、第1上部走査領域、第2上部走査領域、及び第3上部走査領域を含み、
前記第1上部走査領域内のブロックは、前記現在のブロックの上辺から第1走査距離離れた位置にあり、前記第2上部走査領域内のブロックは、前記現在のブロックの上辺から第2走査距離離れた位置にあり、前記第3上部走査領域内のブロックは、前記現在のブロックの上辺から第3走査距離離れた位置にあり、
前記少なくとも1つの上部走査領域内の複数の前記第2非隣接近傍ブロックを走査するステップは、
前記現在のブロックの上辺と平行な第4走査線に沿って、第4開始非隣接近傍ブロックから走査するステップであって、前記第4開始非隣接近傍ブロックが前記第1上部走査領域内の右側ブロックである、ステップと、
前記現在のブロックの上辺と平行な第5走査線に沿って、第5開始非隣接近傍ブロックから走査するステップであって、前記第5開始非隣接近傍ブロックが前記第2上部走査領域内の右側ブロックである、ステップと、
前記現在のブロックの上辺と平行な第6走査線に沿って、第6開始非隣接近傍ブロックから走査するステップであって、前記第6開始非隣接近傍ブロックが前記第3上部走査領域内の右側ブロックである、ステップと、を含
前記第1走査距離は、前記第2走査距離又は第3走査距離より小さく、前記第2走査距離は、前記第3走査距離より小さい、請求項に記載の方法。
【請求項10】
走査規則に基づいて、第1アフィン候補の第1候補位置と、第2アフィン候補の第2候補位置とを取得するステップと、
第3アフィン候補の前記第1候補位置及び第2候補位置に基づいて、前記第3アフィン候補の第3候補位置を決定するステップと、
前記第1候補位置、前記第2候補位置、及び前記第3候補位置に基づいて仮想ブロックを取得するステップと、
前記第1候補位置、前記第2候補位置、及び前記第3候補位置での並進MVに基づいて、前記仮想ブロックの3つの制御ポイント動きベクトル(CPMV)を取得するステップと、
継承された候補導出に使用される同じ投影プロセスを使用して、前記仮想ブロックの3つのCPMVに基づいて、前記現在のブロックの2つ又は3つのCPMVを取得するステップと、を更に含
前記仮想ブロックは、矩形の符号化ブロックであり、前記第3候補位置は、前記第1候補位置の垂直位置と前記第2候補位置の水平位置に基づいて決定され、
少なくとも1つの走査領域、少なくとも1つの走査方向、少なくとも1つの走査距離、及び走査順序に基づいて前記走査規則を決定する請求項1に記載の方法。
【請求項11】
前記現在のブロックの上辺に垂直な第1走査方向に沿って、第1走査距離で第1走査領域内に走査することによって前記第1候補位置を取得するステップであって、前記第1走査距離が第1数の動き場を含み、前記第1候補位置と前記上辺の右側及び上方にある隣接動き場との間の距離が前記第1走査距離であり、前記第1走査領域が前記上辺の右側及び上方にある1ラインの連続動き場を含
前記現在のブロックの左辺に垂直な第2走査方向に沿って、第2走査距離で第2走査領域内に走査することによって前記第2候補位置を取得するステップであって、前記第2走査距離が第2数の動き場を含み、前記第2候補位置と前記左辺の左側及び下部にある隣接動き場との間の距離が前記第2走査距離であり、前記第2走査領域が前記左辺の左側及び下部にある1ラインの連続動き場を含
前記第1走査領域又は前記第2走査領域内に、前記現在のブロックから離れて面する走査順序で走査する請求項10に記載の方法。
【請求項12】
前記現在のブロックの上辺に平行な第3走査方向に沿って、第3走査距離で第3走査領域内に走査することによって前記第1候補位置を取得
前記現在のブロックの左辺に平行な第4走査方向に沿って、第4走査距離で第4走査領域内に走査することによって前記第2候補位置を取得
左側から右側への走査順序で前記第3走査領域内に走査し、
上から下への走査順序で前記第4走査領域内に走査する、請求項10に記載の方法。
【請求項13】
前記現在のブロックの上辺に平行な第3走査方向と、前記上辺に垂直な第1走査方向との組み合わせに沿って第5走査距離で第5走査領域内に走査することによって、前記第1候補位置を取得
前記現在のブロックの左辺に平行な第4走査方向と、前記左辺に垂直な第2走査方向との組み合わせに沿って第6走査距離で第6走査領域内に走査することによって、前記第2候補位置を取得
左側から右側への組み合わせ走査順序で、前記現在のブロックから離れて面して、前記第5走査領域内に走査し、
上から下への組み合わせ走査順序で、前記現在のブロックから離れて面して、前記第6走査領域内に走査する、請求項10に記載の方法。
【請求項14】
前記1つ以上のアフィン候補の数が所定の数に達したと決定することに応答して、前記少なくとも1つの走査領域内での走査を停止するステップを更に含む、請求項10に記載の方法。
【請求項15】
前記第1アフィン候補、前記第2アフィン候補、及び前記第3アフィン候補の動き情報が利用可能であると決定することに応答して、前記仮想ブロックが6パラメータアフィンモデルを表すと決定するステップと、
前記第1アフィン候補、前記第2アフィン候補、及び前記第3アフィン候補のうちの1つのアフィン候補の動き情報が利用できないと決定することに応答して、前記仮想ブロックが4パラメータアフィンモデルを表すと決定するステップと、
前記第1アフィン候補、前記第2アフィン候補、及び前記第3アフィン候補のうちの2つのアフィン候補の動き情報が利用できないと決定することに応答して、前記仮想ブロックが有効なアフィンモデルを表すことができないと決定するステップと、を更に含む、請求項10に記載の方法。
【請求項16】
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行可能な命令を記憶するように構成されたメモリと、を含み、
前記1つ以上のプロセッサは、前記命令の実行時に、請求項1~15のいずれか一項に記載の方法を実行するように構成される、ビデオ復号化のための装置。
【請求項17】
求項16に記載のビデオ復号化のための装置で復号化されるビデオビットストリームを記憶する非一時的コンピュータ可読記憶媒体。
【請求項18】
請求項1~15のいずれか一項に記載の方法によって復号化される符号化ビデオデータを含むビットストリームを記憶する命令を有するコンピュータプログラム。
【請求項19】
請求項1~15のいずれか一項に記載の方法で用いられるビットストリームを記憶するための方法。
【国際調査報告】