(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-20
(54)【発明の名称】ビデオ符号化におけるアフィン・マージ・モードのための候補導出
(51)【国際特許分類】
H04N 19/54 20140101AFI20240912BHJP
H04N 19/52 20140101ALI20240912BHJP
【FI】
H04N19/54
H04N19/52
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024518556
(86)(22)【出願日】2022-09-21
(85)【翻訳文提出日】2024-03-22
(86)【国際出願番号】 US2022044297
(87)【国際公開番号】W WO2023049219
(87)【国際公開日】2023-03-30
(32)【優先日】2021-09-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521248394
【氏名又は名称】ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100217940
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】チェン、ウェイ
(72)【発明者】
【氏名】シウ、シャオユー
(72)【発明者】
【氏名】チェン、イー-ウェン
(72)【発明者】
【氏名】チュー、ホン-チェン
(72)【発明者】
【氏名】クオ、チョー-ウェイ
(72)【発明者】
【氏名】ヤン、ニン
(72)【発明者】
【氏名】ワン、シャンリン
(72)【発明者】
【氏名】ユイ、ビン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA05
5C159NN10
5C159NN11
5C159NN21
5C159NN32
5C159RB09
5C159RC11
5C159TA62
5C159TB08
5C159TC12
5C159TC26
5C159TC35
5C159TC42
5C159TD02
5C159UA02
5C159UA05
(57)【要約】
ビデオ符号化の方法、装置、およびその非一時的コンピュータ可読ストレージ媒体が提供される。方法は、現在のブロックに隣接していない複数の隣接していない隣のブロックから1つまたは複数のアフィン候補を取得することを含む。方法は、1つまたは複数のアフィン候補に基づいて現在のブロックの1つまたは複数の制御点動きベクトル(CPMV)を取得することをさらに含んでもよい。
【特許請求の範囲】
【請求項1】
ビデオ符号化の方法であって、
現在のブロックに隣接していない複数の隣接していない隣のブロックから1つまたは複数のアフィン候補(affine candidate)を取得するステップと、
前記1つまたは複数のアフィン候補に基づいて前記現在のブロックの1つまたは複数の制御点動きベクトル(CPMV)を取得するステップと
を含む、ビデオ符号化の方法。
【請求項2】
1つまたは複数のアフィン候補を取得するステップが、
スキャン・ルール(scanning rule)に従って、前記1つまたは複数のアフィン候補を取得するステップ
を含む、請求項1に記載の方法。
【請求項3】
少なくとも1つのスキャン・エリア(scanning area)、少なくとも1つのスキャン距離(scanning distance)、およびスキャン順序(scanning order)に基づいて前記スキャン・ルールを決定するステップ
をさらに含む、請求項2に記載の方法。
【請求項4】
前記少なくとも1つのスキャン距離が、前記現在のブロックの側から離れたブロックの数を示す、請求項3に記載の方法。
【請求項5】
前記少なくとも1つのスキャン距離のうちの1つに置かれた前記複数の隣接していない隣のブロックのうちの1つが、前記現在のブロックと同じサイズを有する、請求項4に記載の方法。
【請求項6】
前記少なくとも1つのスキャン距離のうちの1つにおける前記複数の隣接していない隣のブロックのうちの1つが、前記現在のブロックとは異なるサイズを有する、請求項5に記載の方法。
【請求項7】
前記少なくとも1つのスキャン距離に従って前記少なくとも1つのスキャン・エリアを決定するステップ
をさらに含む、請求項3に記載の方法。
【請求項8】
前記少なくとも1つのスキャン・エリアが、第1のスキャン・エリアおよび第2のスキャン・エリアを含み、前記第1のスキャン・エリアが、前記現在のブロックの第1の側から離れたブロックの最大数を示す第1の最大スキャン距離に従って決定され、前記第2のスキャン・エリアが、前記現在のブロックの第2の側から離れたブロックの最大数を示す第2の最大スキャン距離に従って決定され、前記第1の最大スキャン距離が、前記第2の最大スキャン距離と同じまたは異なる、請求項7に記載の方法。
【請求項9】
エンコーダによって、前記第1の最大スキャン距離および前記第2の最大スキャン距離を信号伝達するステップ
をさらに含む、請求項8に記載の方法。
【請求項10】
前記第1の最大スキャン距離または前記第2の最大スキャン距離を固定値として予め決定するステップ
をさらに含む、請求項8に記載の方法。
【請求項11】
前記第1の最大スキャン距離または前記第2の最大スキャン距離が4に等しいと決定したことに応答して、前記1つもしくは複数のアフィン候補を含む候補リストが一杯であると決定したことに応答して、または前記第1の最大スキャン距離および前記第2の最大スキャン距離内の全ての隣接していない隣のブロックがスキャンされたと決定したことに応答して、前記少なくとも1つのスキャン・エリアのスキャンを止めるステップ
をさらに含む、請求項10に記載の方法。
【請求項12】
アフィン・モードで符号化された1つまたは複数の隣接していない隣のブロックを取得するために、第1のスキャン・エリア内の複数の隣接していない隣のブロックをスキャンするステップと、
アフィン・モードで符号化された前記1つまたは複数の隣接していない隣のブロックを前記1つまたは複数のアフィン候補として決定するステップと
をさらに含む、請求項4に記載の方法。
【請求項13】
前記現在のブロックの左側と平行なスキャン・ライン(scanning line)に沿って、第1の始まりの隣接していない隣のブロックからスキャンするステップであって、前記第1の始まりの隣接していないブロックが、第1のスキャン・エリア内の一番下のブロックであり、前記第1のスキャン・エリア内のブロックが、前記現在のブロックの前記左側から離れた第1のスキャン距離にある、ステップ
をさらに含む、請求項4に記載の方法。
【請求項14】
前記第1の始まりの隣接していないブロックが、第2のスキャン・エリア内の第2の始まりの隣接していない隣のブロックの前記一番下および前記左にあり、前記第2のスキャン・エリア内のブロックが、前記現在のブロックの前記左側から離れた第2のスキャン距離にある、請求項13に記載の方法。
【請求項15】
前記第1の始まりの隣接していないブロックが、第2のスキャン・エリア内の第2の始まりの隣接していない隣のブロックの前記左にあり、前記第2のスキャン・エリア内のブロックが、前記現在のブロックの前記左側から離れた第2のスキャン距離にある、請求項13に記載の方法。
【請求項16】
前記現在のブロックの上側と平行なスキャン・ラインに沿って、第3の始まりの隣接していない隣のブロックからスキャンするステップであって、前記第3の始まりの隣接していないブロックが、第1のスキャン・エリア内の右のブロックであり、前記第1のスキャン・エリア内のブロックが、前記現在のブロックの前記上側から離れた第1のスキャン距離にある、ステップ
をさらに含む、請求項5に記載の方法。
【請求項17】
前記第3の始まりの隣接していないブロックが、第2のスキャン・エリア内の第4の始まりの隣接していない隣のブロックの前記一番上および前記右にあり、前記第2のスキャン・エリア内のブロックが、前記現在のブロックの前記上側から離れた第2のスキャン距離にある、請求項16に記載の方法。
【請求項18】
前記第3の始まりの隣接していないブロックが、第2のスキャン・エリア内の第4の始まりの隣接していない隣のブロックの前記右にあり、前記第2のスキャン・エリア内のブロックが、前記現在のブロックの前記上側から離れた第2のスキャン距離にある、請求項16に記載の方法。
【請求項19】
隣接していない隣のブロックをスキャン位置に置くステップ
をさらに含む、請求項4に記載の方法。
【請求項20】
前記スキャン位置が、
前記現在のブロックの上方にある第2のスキャン・エリア内の前記隣接していない隣のブロックの左下の位置、
前記現在のブロックの前記左にある第1のスキャン・エリア内の前記隣接していない隣のブロックの右上の位置、
前記第1のスキャン・エリア内もしくは前記第2のスキャン・エリア内の前記隣接していない隣のブロックの右下の位置、
前記第1のスキャン・エリア内もしくは前記第2のスキャン・エリア内の前記隣接していない隣のブロックの左下の位置、または
前記第1のスキャン・エリア内もしくは前記第2のスキャン・エリア内の前記隣接していない隣のブロックの右上の位置
という位置のうちの1つを含む、請求項19に記載の方法。
【請求項21】
スキャン・ルールに基づいて、第1のアフィン候補のための第1の候補位置および第2のアフィン候補のための第2の候補位置を取得するステップと、
第3のアフィン候補のための、前記第1および第2の候補位置に基づいて、第3の候補位置を決定するステップと、
前記第1の候補位置、前記第2の候補位置、および前記第3の候補位置に基づいて、仮想ブロックを取得するステップと、
前記第1の候補位置、前記第2の候補位置、および前記第3の候補位置における並進MVに基づいて前記仮想ブロックの3つのCPMVを取得するステップと、
継承(inherited)候補導出のために使用される同じ射影プロセス(projection process)を使用することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの2つまたは3つのCPMVを取得するステップと
をさらに含む、請求項1に記載の方法。
【請求項22】
前記仮想ブロックが、長方形の符号化ブロックであり、前記第3の候補位置が、前記第1の候補位置の垂直位置および前記第2の候補位置の水平位置に基づいて決定される、請求項21に記載の方法。
【請求項23】
前記第1の候補位置もしくは前記第2の候補位置が利用不可能であると決定したことに応答して、または前記第1の候補位置もしくは前記第2の候補位置における動き情報が利用不可能であると決定したことに応答して、前記第3の候補位置の垂直位置を前記現在のブロックの左上の点の垂直位置として決定するステップ、および前記第3の候補位置の水平位置を前記現在のブロックの前記左上の点の水平位置として決定するステップをさらに含む、請求項21に記載の方法。
【請求項24】
前記第1、第2、または第3の候補位置における動き情報が利用不可能であると決定したことに応答して、前記仮想ブロックが有効なアフィン・モデルを表すことができないと決定するステップ
をさらに含む、請求項21に記載の方法。
【請求項25】
前記第1または第2の候補位置における少なくとも1つの動き情報が利用可能であると決定したことに応答して、前記仮想ブロックが有効なアフィン・モデルを表すことができると決定するステップ
をさらに含む、請求項21に記載の方法。
【請求項26】
前記1つまたは複数のアフィン候補が、1つまたは複数のアフィン継承候補および1つまたは複数のアフィン構築候補を含み、
前記方法が、
第1のスキャン・ルールに従って前記1つまたは複数のアフィン継承候補を取得するステップと、
第2のスキャン・ルールに従って前記1つまたは複数のアフィン構築候補を取得するステップであって、前記第2のスキャン・ルールが、完全または部分的に前記第1のスキャン・ルールと同じである、ステップと
をさらに含む、請求項1に記載の方法。
【請求項27】
少なくとも1つの第2のスキャン・エリア、少なくとも1つの第2のスキャン距離、および第2のスキャン順序に基づいて、前記第2のスキャン・ルールを決定するステップと、
前記現在のブロックと同じブロック・サイズに等しい距離毎に、前記少なくとも1つの第2のスキャン・エリアをスキャンするステップと
をさらに含む、請求項26に記載の方法。
【請求項28】
継承候補導出のために使用される同じ射影プロセスを使用することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの2つまたは3つのCPMVを取得するステップが、
前記仮想ブロックが第1のタイプのアフィン・モデルを表すと決定したことに応答して、前記仮想ブロックによって表された前記第1のタイプの前記アフィン・モデルを前記現在のブロックのための前記第1のタイプのアフィン・モデルに射影することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの前記2つもしくは3つのCPMVを取得するステップ、
前記仮想ブロックが第2のタイプのアフィン・モデルを表すと決定したことに応答して、前記仮想ブロックによって表された前記第2のタイプの前記アフィン・モデルを前記現在のブロックの前記第2のタイプのアフィン・モデルに射影することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの前記2つもしくは3つのCPMVを取得するステップ、または
前記仮想ブロックによって表されたアフィン・モデルを前記現在のブロックのタイプのアフィン・モデルに射影することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの前記2つもしくは3つのCPMVを取得するステップであって、前記現在のブロックの前記タイプが、前記第1のタイプもしくは前記第2のタイプである、ステップ
のうちの少なくとも1つをさらに含む、請求項21に記載の方法。
【請求項29】
アフィン候補を除去するための方法であって、
第1のアフィン候補の1つまたは複数の制御点動きベクトル(CPMV)に関連付けられたアフィン・モデル・パラメータの第1のセット計算するステップと、
第2のアフィン候補の1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの第2のセットを計算するステップと、
アフィン・モデル・パラメータの前記第1のセットおよびアフィン・モデル・パラメータの前記第2のセットに基づいて、前記第1のアフィン候補と前記第2のアフィン候補との間の類似性チェックを実施するステップと
を含む、アフィン候補を除去するための方法。
【請求項30】
アフィン・モデル・パラメータの前記第1のセットが、アフィン・モデル・パラメータの前記第2のセットに類似していると決定したことに応答して、前記第1のアフィン候補が前記第2のアフィン候補に類似していると決定するステップと、前記第1のアフィン候補および第2のアフィン候補のうちの1つを除去するステップと
をさらに含む、請求項29に記載の方法。
【請求項31】
複数の差が複数の閾値よりそれぞれ小さいと決定したことに応答して、前記第1のアフィン候補が前記第2のアフィン候補に類似していると決定するステップであって、前記複数の差が、アフィン・モデル・パラメータの前記第1のセットのうちの1つのパラメータと、アフィン・モデル・パラメータの前記第2のセットのうちの1つの対応するパラメータとの間の差を含む、ステップ
をさらに含む、請求項30に記載の方法。
【請求項32】
前記複数の閾値が、アフィン・モデル・パラメータの前記第2のセットと比較可能なアフィン・モデル・パラメータの前記第1のセットに従って決定される、請求項31に記載の方法。
【請求項33】
前記複数の閾値が、現在のブロックのサイズに従って決定される、請求項31に記載の方法。
【請求項34】
前記複数の閾値が、現在のブロックの幅または高さに従って決定される、請求項31に記載の方法。
【請求項35】
前記複数の閾値が、固定値のグループとして決定される、請求項31に記載の方法。
【請求項36】
現在のブロックの幅および高さに従って、前記第1のアフィン候補の前記1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの前記第1のセットのうちの1つまたは複数のアフィン・モデル・パラメータを計算するステップと、
前記現在のブロックの前記幅および前記高さに従って、前記第2のアフィン候補の前記1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの前記第2のセットのうちの1つまたは複数のアフィン・モデル・パラメータを計算するステップと
をさらに含む、請求項29に記載の方法。
【請求項37】
ビデオ符号化のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによって実行可能な命令を格納するように構成されたメモリと
を備え、
前記1つまたは複数のプロセッサが、前記命令の実行時、請求項1~36のいずれか一項に記載の方法を実施するように構成された、ビデオ符号化のための装置。
【請求項38】
1つまたは複数のコンピュータ・プロセッサによって実行されたとき、請求項1~36のいずれか一項に記載の方法を前記1つまたは複数のコンピュータ・プロセッサに実施させるコンピュータ実行可能命令を格納する、非一時的コンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年9月24日に提出された「Candidate Derivation for Affine Merge Mode in Video Coding」という題名の米国仮出願第63/248,401号の優先権を主張し、その全体が、全ての目的のために参照により組み込まれる。
【0002】
本開示は、ビデオ符号化および圧縮に関し、詳細には、しかし限定ではなく、ビデオ・エンコーディングまたはデコーディング・プロセスにおけるアフィン動き予測モードのためのアフィン・マージ候補導出を改善する方法および装置に関する。
【背景技術】
【0003】
ビデオ・データを圧縮するために、様々なビデオ符号化技術が使用されることがある。ビデオ符号化は、1つまたは複数のビデオ符号化規格に従って実施される。例えば、今日、いくつかのよく知られたビデオ符号化規格は、多用途ビデオ符号化(VVC:Versatile Video Coding)、高効率ビデオ符号化(HEVC:High Efficiency Video Coding、H.265またはMPEG-Hパート2としても知られている)、およびアドバンスト・ビデオ符号化(AVC、H.264またはMPEG-4パート10としても知られている)を含み、これらは、ISO/IEC MPEGおよびITU-T VECGによって一緒に開発されている。アライアンス・フォー・オープン・メディア(AOM)によって、AOMedia Video1(AV1)が、その先行規格VP9の後続種として開発された。オーディオ・ビデオ符号化(AVS:Audio Video Coding)は、デジタル・オーディオおよびデジタル・ビデオ圧縮規格と呼ばれ、中国のオーディオおよびビデオ符号化規格ワークグループによって開発された、もう1つのビデオ圧縮規格シリーズである。既存のビデオ符号化規格のほとんどが、有名なハイブリッド・ビデオ符号化フレームワークの上に構築されており、すなわち、ビデオ画像またはシーケンスに存在する冗長性を低減させるためにブロック・ベースの予測方法(例えば、インター予測、イントラ予測)を使用し、予測誤差のエネルギーを凝縮させるために変換符号化を使用する。ビデオ符号化技術の重要な目標は、ビデオ品質の劣化を回避または最小化しつつ、より低いビット・レートを使用する形式に、ビデオ・データを圧縮することである。
【0004】
第1世代のAVS規格は、中国国内規格「Information Technology,Advanced Audio Video Coding,Part2:Video」(AVS1として知られている)、および「Information Technology,Advanced Audio Video Coding Part16:Radio Television Video」(AVS+として知られている)を含んでいる。第1世代のAVS規格は、MPEG-2規格と比較して同じ知覚品質で約50%のビット・レートの節約を提供することができる。AVS1規格ビデオ部分は、2006年2月に中国国内規格として公表された。第2世代のAVS規格は、中国国内規格「Information Technology,Efficient Multimedia Coding」(AVS2として知られている)のシリーズを含み、特別なHD TVプログラムの伝送を主にターゲットにしている。AVS2の符号化効率は、AVS+の符号化効率の2倍である。AVS2は、2016年5月に中国国内規格として発表された。一方で、AVS2規格ビデオ部分は、応用のための1つの国際規格として電気電子技術者協会(IEEE)により提出された。AVS3規格は、最新国際規格HEVCの符号化効率を超えることを目指した、UHDビデオ・アプリケーションのための1つの新世代のビデオ符号化規格である。2019年3月に、第68回AVS会合において、AVS3-P2のベースラインが完成し、AVS3-P2ベースラインは、HEVC規格より、およそ30%のビット・レートの節約をもたらす。現在、高性能モデル(HPM)と呼ばれる1つの基準ソフトウェアがあり、AVS3規格の基準実装形態を示すためにAVSグループによって維持管理されている。
【発明の概要】
【0005】
本開示は、ビデオ・エンコーディングまたはデコーディング・プロセスにおけるアフィン動き予測モードのためのアフィン・マージ候補導出の改善に関する技術の例を提供する。
【0006】
本開示の第1の態様によれば、ビデオ符号化の方法が提供される。方法は、現在のブロックに隣接していない複数の隣接していない隣のブロックから1つまたは複数のアフィン候補(affine candidate)を取得することを含んでもよい。さらに、方法は、1つまたは複数のアフィン候補に基づいて現在のブロックの1つまたは複数の制御点動きベクトル(CPMV:control point motion vector)を取得することを含んでもよい。
【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の態様または第2の態様による方法を1つまたは複数のコンピュータ・プロセッサに実施させるコンピュータ実行可能命令を格納する非一時的コンピュータ可読ストレージ媒体が提供される。
【0010】
添付の図面に例示された具体例を参照することによって、本開示の例のより詳細な説明が行われる。これらの図面が、一部の例を描写しているにすぎず、したがって、範囲を限定するものとみなされないことを前提として、添付の図面の使用を通じてさらに具体的かつ詳細に例が記載および説明される。
【図面の簡単な説明】
【0011】
【
図1】本開示の一部の例による、エンコーダのブロック図である。
【
図2】本開示の一部の例による、デコーダのブロック図である。
【
図3A】本開示の一部の例による、複数種類の木構造におけるブロック分割を例示した図である。
【
図3B】本開示の一部の例による、複数種類の木構造におけるブロック分割を例示した図である。
【
図3C】本開示の一部の例による、複数種類の木構造におけるブロック分割を例示した図である。
【
図3D】本開示の一部の例による、複数種類の木構造におけるブロック分割を例示した図である。
【
図3E】本開示の一部の例による、複数種類の木構造におけるブロック分割を例示した図である。
【
図4A】本開示の一部の例による、4パラメータ・アフィン・モデルの図である。
【
図4B】本開示の一部の例による、4パラメータ・アフィン・モデルの図である。
【
図5】本開示の一部の例による、6パラメータ・アフィン・モデルの図である。
【
図6】本開示の一部の例による、継承アフィン・マージ候補のための隣接している隣り合うブロックの図である。
【
図7】本開示の一部の例による、構築アフィン・マージ候補のための隣接している隣り合うブロックの図である。
【
図8】本開示の一部の例による、継承アフィン・マージ候補のための隣接していない隣り合うブロックの図である。
【
図9】本開示の一部の例による、隣接していない隣り合うブロックを使用した構築アフィン・マージ候補の導出の図である。
【
図10】本開示の一部の例による、隣接していない隣り合うブロックの直角スキャンの図である。
【
図11】本開示の一部の例による、隣接していない隣り合うブロックの平行スキャンの図である。
【
図12】本開示の一部の例による、隣接していない隣り合うブロックの組み合わされた直角および平行スキャンの図である。
【
図13A】本開示の一部の例による、現在のブロックと同じサイズを有する隣のブロックの図である。
【
図13B】本開示の一部の例による、現在のブロックとは異なるサイズを有する隣のブロックの図である。
【
図14A】本開示の一部の例による、以前の距離における最も下または最も右のブロックの左下または右上のブロックが、現在の距離の最も下または最も右のブロックとして使用される例の図である。
【
図14B】本開示の一部の例による、以前の距離における最も下または最も右のブロックの左または一番上のブロックが、現在の距離の最も下または最も右のブロックとして使用される例の図である。
【
図15A】本開示の一部の例による、上および左の隣接していない隣り合うブロックのために使用される左下および右上の位置におけるスキャン位置の図である。
【
図15B】本開示の一部の例による、上および左両方の隣接していない隣り合うブロックのために使用される右下の位置におけるスキャン位置の図である。
【
図15C】本開示の一部の例による、上および左両方の隣接していない隣り合うブロックのために使用される左下の位置におけるスキャン位置の図である。
【
図15D】本開示の一部の例による、上および左両方の隣接していない隣り合うブロックのために使用される右上の位置におけるスキャン位置の図である。
【
図16】本開示の一部の例による、構築マージ候補を導出するための簡素化されたスキャン・プロセスの図である。
【
図17】本開示の一部の例による、ユーザ・インターフェースと結合されたコンピューティング環境を例示した図である。
【
図18】本開示の一部の例による、ビデオ符号化のための方法を例示したフローチャートである。
【
図19】本開示の一部の例による、アフィン候補を除去するための方法を例示したフローチャートである。
【
図20】本開示の一部の例による、ビデオ・ブロックをエンコードおよびデコードするためのシステムを例示したブロック図である。
【発明を実施するための形態】
【0012】
特定の実装形態がここから詳細に参照され、その例が、添付の図面に例示されている。以下の詳細な説明では、本明細書で提示される主題の理解を助けるための数多くの非限定的な具体的詳細が説明されている。しかし、様々な代替形態が使用されてもよいことが当業者には明らかであろう。例えば、本明細書で提示される主題は、デジタル・ビデオ機能を有する多くのタイプの電子デバイスで実施可能であることが当業者には明らかであろう。
【0013】
「1つの実施形態」、「実施形態」、「例」、「一部の実施形態」、「一部の例」、または類似の言葉への本明細書全体の言及は、記載された特定の特徴、構造、または特性が、少なくとも1つの実施形態または例に含まれることを意味する。1つまたはいくつかの実施形態と共に記載された特徴、構造、要素、または特性は、別途明確に指定のない限り、他の実施形態にも適用可能である。
【0014】
本開示の全体において、用語「第1」、「第2」、「第3」などは全て、例えば、デバイス、構成要素、構成物、ステップなど、関連要素への言及のためだけの用語体系として使用され、別途明確に指定のない限り、どのような空間的または時系列的順序も示唆しない。例えば、「第1のデバイス」および「第2のデバイス」は、2つの別々に形成されたデバイス、または、同じデバイスの2つの部品、構成要素、もしくは動作可能な状態を指すことがあり、任意に名前を付けられることもある。
【0015】
用語「モジュール」、「サブモジュール」、「回路」、「サブ回路」、「回路機器」、「サブ回路機器」、「ユニット」、または「サブユニット」は、1つまたは複数のプロセッサによって実行可能なコードまたは命令を格納するメモリ(共有、専用、またはグループ)を含んでもよい。モジュールは、格納されたコードまたは命令の有無に関わらず、1つまたは複数の回路を含んでもよい。モジュールまたは回路は、直接的または間接的に接続された1つまたは複数の構成要素を含んでもよい。これらの構成要素は、物理的に取り付けられてもそうでなくてもよく、または、互いに隣接して置かれてもそうでなくてもよい。
【0016】
本明細書で使用されるように、用語「場合(if)」または「とき(when)」は、文脈に応じて、「と同時に」または「応答して」を意味するものと理解されてもよい。これらの用語は、請求項に現れた場合、関連した限定または特徴が条件付きまたは任意選択であることを示さないこともある。例えば、方法は、i)条件Xが存在するときまたは場合、機能またはアクションX’が実施される、およびii)条件Yが存在するときまたは場合、機能またはアクションY’が実施される、というステップを含んでもよい。方法は、機能またはアクションX’を実施する能力、および機能またはアクションY’を実施する能力の両方で実施されてもよい。したがって、機能X’およびY’は、方法の多重実行時に、異なる時間に、両方実施されてもよい。
【0017】
ユニットまたはモジュールは、純粋にソフトウェアによって、純粋にハードウェアによって、またはハードウェアとソフトウェアとの組合せによって実行されてもよい。純粋なソフトウェア実装形態では、例えば、ユニットまたはモジュールは、特定の機能を実施するように、直接的または間接的に一緒にリンクされた、機能的に関係のあるコード・ブロックまたはソフトウェア構成要素を含んでもよい。
【0018】
図20は、本開示の一部の実装形態による、ビデオ・ブロックを並列にエンコードおよびデコードするための例示的なシステム10を例示したブロック図である。
図20に示されているように、システム10は、宛先デバイス14によって後でデコードされることになるビデオ・データを生成およびエンコードするソース・デバイス12を含む。ソース・デバイス12および宛先デバイス14は、デスクトップまたはラップトップ・コンピュータ、タブレット・コンピュータ、スマートフォン、セット・トップ・ボックス、デジタル・テレビ、カメラ、ディスプレイ・デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーム機、ビデオ・ストリーミング・デバイスなどを含む多種多様な電子デバイスのいずれかを含んでもよい。一部の実装形態では、ソース・デバイス12および宛先デバイス14には、ワイヤレス通信能力が装備される。
【0019】
一部の実装形態では、宛先デバイス14は、デコードされることになるエンコード済みビデオ・データを、リンク16を介して受け取ってもよい。リンク16は、エンコード済みビデオ・データをソース・デバイス12から宛先デバイス14に移す能力がある任意のタイプの通信媒体またはデバイスを含んでもよい。1つの例では、リンク16は、ソース・デバイス12が、エンコード済みビデオ・データを直接的に宛先デバイス14にリアルタイムに伝送できるようにするための、通信媒体を含んでもよい。エンコード済みビデオ・データは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に伝送されてもよい。通信媒体は、無線周波数(RF)スペクトル、または1つもしくは複数の物理伝送回線など、任意のワイヤレスまたは有線通信媒体を含んでもよい。通信媒体は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または、インターネットなどのグローバル・ネットワークなど、パケット・ベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、または、ソース・デバイス12から宛先デバイス14への通信を容易にするのに有益であり得る任意の他の機器を含んでもよい。
【0020】
一部の他の実装形態では、エンコード済みビデオ・データは、出力インターフェース22からストレージ・デバイス32に伝送されてもよい。その後、ストレージ・デバイス32内のエンコード済みビデオ・データは、入力インターフェース28を介して宛先デバイス14によってアクセスされてもよい。ストレージ・デバイス32は、ハード・ドライブ、ブルーレイ・ディスク、デジタル・バーサタイル・ディスク(DVD)、コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、フラッシュ・メモリ、揮発性もしくは不揮発性メモリ、または、エンコード済みビデオ・データを格納するための任意の他の適切なデジタル・ストレージ媒体など、様々な分散型(distributed)のまたは局所(locally)アクセス型のデータ・ストレージ媒体のいずれかを含んでもよい。さらなる例では、ストレージ・デバイス32は、ソース・デバイス12によって生成されたエンコード済みビデオ・データを保持し得るファイル・サーバまたは別の中間ストレージ・デバイスに対応してもよい。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージ・デバイス32からの格納済みビデオ・データにアクセスしてもよい。ファイル・サーバは、エンコード済みビデオ・データを格納し、エンコード済みビデオ・データを宛先デバイス14に伝送する能力がある、任意のタイプのコンピュータでもよい。例示的なファイル・サーバは、ウェブ・サーバ(例えば、ウェブサイト用)、ファイル・トランスファ・プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカル・ディスク・ドライブを含む。宛先デバイス14は、ファイル・サーバに格納されたエンコード済みビデオ・データにアクセスするのに適した、ワイヤレス・チャネル(例えば、ワイヤレス・フィデリティ(Wi-Fi)接続)、有線接続(例えば、デジタル・サブスクライバ・ライン(DSL)、ケーブル・モデム等)、または、両方の組合せを含む、任意の標準データ接続を通じて、エンコード済みビデオ・データにアクセスしてもよい。ストレージ・デバイス32からのエンコード済みビデオ・データの伝送は、ストリーミング伝送、ダウンロード伝送、または両方の組合せでもよい。
【0021】
図20に示されているように、ソース・デバイス12は、ビデオ・ソース18、ビデオ・エンコーダ20、および出力インターフェース22を含む。ビデオ・ソース18は、例えばビデオ・カメラといったビデオ・キャプチャ・デバイス、以前にキャプチャされたビデオを含むビデオ・アーカイブ、ビデオ・コンテンツ・プロバイダからのビデオを受け取るためのビデオ・フィード・インターフェース、および/もしくは、コンピュータ・グラフィックス・データをソース・ビデオとして生成するためのコンピュータ・グラフィックス・システムなどのソース、または、このようなソースの組合せを含んでもよい。1つの例として、ビデオ・ソース18がセキュリティ監視システムのビデオ・カメラである場合、ソース・デバイス12および宛先デバイス14は、カメラフォンまたはビデオフォンを形成してもよい。しかし、本出願に記載の実装形態は、一般にビデオ符号化に適用可能でもよく、ワイヤレスおよび/または有線アプリケーションに適用されてもよい。
【0022】
キャプチャされた、事前キャプチャされた、またはコンピュータ生成されたビデオは、ビデオ・エンコーダ20によってエンコードされてもよい。エンコード済みビデオ・データは、ソース・デバイス12の出力インターフェース22を介して宛先デバイス14に直接的に伝送されてもよい。エンコード済みビデオ・データは、さらに(または代替として)、デコードおよび/またはプレイバック用に、宛先デバイス14または他のデバイスによる後のアクセスのために、ストレージ・デバイス32に格納されてもよい。出力インターフェース22は、モデムおよび/またはトランスミッタをさらに含んでもよい。
【0023】
宛先デバイス14は、入力インターフェース28、ビデオ・デコーダ30、およびディスプレイ・デバイス34を含む。入力インターフェース28は、受信機および/またはモデムを含み、リンク16を介してエンコード済みビデオ・データを受け取ってもよい。リンク16を介して通信されるか、ストレージ・デバイス32に提供される、エンコード済みビデオ・データは、ビデオ・データのデコード時にビデオ・デコーダ30によって使用するための、ビデオ・エンコーダ20によって生成された様々な構文要素(syntax elements)を含んでもよい。このような構文要素は、通信媒体で伝送された、ストレージ媒体に格納された、またはファイル・サーバに格納された、エンコード済みビデオ・データ内に含まれてもよい。
【0024】
一部の実装形態では、宛先デバイス14は、ディスプレイ・デバイス34を含んでもよく、ディスプレイ・デバイス34は、宛先デバイス14と通信するように構成された統合型ディスプレイ・デバイスおよび外部ディスプレイ・デバイスであることが可能である。ディスプレイ・デバイス34は、デコード済みビデオ・データをユーザに表示し、液晶ディスプレイ(LCD)、プラズマ・ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイ・デバイスなど、様々なディスプレイ・デバイスのいずれかを含んでもよい。
【0025】
ビデオ・エンコーダ20およびビデオ・デコーダ30は、VVC、HEVC、MPEG-4、Part10、AVCなどの専用もしくは業界規格、またはこのような規格の拡張版に従って動作してもよい。本出願は、特定のビデオ・エンコーディング/デコーディング規格に限定されず、他のビデオ・エンコーディング/デコーディング規格に適用可能でもよいことを理解されたい。ソース・デバイス12のビデオ・エンコーダ20は、これらの現在または将来の規格のいずれかに従ってビデオ・データをエンコードするように構成されてもよいことが一般に想定される。同様に、宛先デバイス14のビデオ・デコーダ30は、これらの現在または将来の規格のいずれかに従ってビデオ・データをデコードするように構成されてもよいことも一般に想定される。
【0026】
ビデオ・エンコーダ20およびビデオ・デコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル・シグナル・プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディスクリート・ロジック、ソフトウェア、ハードウェア、ファームウェア、または任意のその組合せなど、様々な適切なエンコーダおよび/またはデコーダ回路機器のいずれかとして実行されてもよい。部分的にソフトウェアで実行されるとき、電子デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェア用の命令を格納し、本開示で開示されたビデオ・エンコーディング/デコーディング動作を実施するために、1つまたは複数のプロセッサを使用してハードウェアで命令を実行してもよい。ビデオ・エンコーダ20およびビデオ・デコーダ30のそれぞれは、1つまたは複数のエンコーダまたはデコーダに含まれてもよく、これらのいずれかは、それぞれのデバイスにおいて、組み合わされたエンコーダ/デコーダ(コーデック)の一部として統合されてもよい。
【0027】
HEVCのように、VVCは、ブロック・ベースのハイブリッド・ビデオ符号化フレームワーク上に構築されている。
図1は、本開示の一部の実装形態による、ブロック・ベースのビデオ・エンコーダを例示したブロック図である。エンコーダ100において、符号化ユニット(CU:coding unit)と呼ばれるブロック毎に、入力映像信号が処理される。エンコーダ100は、
図20に示されているようなビデオ・エンコーダ20でもよい。VTM-1.0では、CUは、128×128ピクセルまでであることが可能である。しかし、4分木だけに基づいてブロックを分割するHEVCとは異なり、VVCでは、4/2/3分木に基づく様々な局所特性に適合させるために、1つのコーディング・ツリー・ユニット(CTU:coding tree unit)がCUに分けられる。追加として、HEVCにおける複数の分割ユニット・タイプの概念は廃止され、すなわち、CU、予測ユニット(PU)、および変換ユニット(TU)の区別は、VVCにはもはや存在せず、代わりに、各CUがさらに分割されずに、予測および変換両方のための基本ユニットとして常に使用される。複数種類の木構造では、4分木構造によって、1つのCTUが最初に分割される。次いで、2および3分木構造によって、各4分木の葉ノードが、さらに分割されることが可能である。
【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の再構築された信号を形成する。さらに、再構築されたCUが、ピクチャ・バッファ117の基準ピクチャ・ストアに置かれ、将来のビデオ・ブロックを符号化するために使用される前に、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(SAO)、および/またはアダプティブ・インループ・フィルタ(ALF)などのインループ・フィルタリング115が、再構築されたCUに適用されてもよい。出力ビデオ・ビットストリーム114を形成するために、符号化モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数が、ビット・ストリーミングを形成するためにさらに圧縮されパッキングされるように、エントロピ符号化ユニット106に全て送られる。
【0031】
例えば、デブロッキング・フィルタが、AVC、HEVC、および今現在のバージョンのVVCで利用可能である。HEVCでは、符号化効率をさらに改善するために、SAOと呼ばれる追加のインループ・フィルタが定義される。VVC規格の今現在のバージョンでは、ALFと呼ばれるさらに別のインループ・フィルタが活発に調査されており、最終的な規格に含まれる可能性が高い。
【0032】
これらのインループ・フィルタ動作は任意選択である。これらの動作を実施することは、符号化効率および視覚品質を改善するのに役立つ。これらは、さらに、計算の複雑性を省くために、エンコーダ100によって行われた判定としてオフにされてもよい。
【0033】
イントラ予測は、通常、フィルタリングされていない再構築済みピクセルに基づき、その一方で、インター予測は、これらのフィルタ・オプションがエンコーダ100によってオンにされた場合、フィルタリングされた再構築済みピクセルに基づくことに留意されたい。
【0034】
図2は、多くのビデオ符号化規格と併用して使用され得るブロック・ベースのビデオ・デコーダ200を例示したブロック図である。このデコーダ200は、
図1のエンコーダ100に常駐している再構築関連セクションに類似のものである。ブロック・ベースのビデオ・デコーダ200は、
図20に示されているようなビデオ・デコーダ30でもよい。デコーダ200では、入ってくるビデオ・ビットストリーム201は、量子化係数レベルおよび予測関連情報を導出するために、エントロピ・デコーディング202を通じて最初にデコードされる。量子化係数レベルは、次いで、再構築済み予測残差を取得するために逆量子化204および逆変換206を通じて処理される。イントラ/インター・モード選択器212で実行されるブロック予測器メカニズムは、デコードされた予測情報に基づいて、イントラ予測208または動き補償210を実施するように構成される。加算器214を使用して、逆変換206からの再構築済み予測残差と、ブロック予測器メカニズムによって生成された予測的出力とを合計することによって、フィルタリングされていない再構築済みピクセルのセットが取得される。
【0035】
再構築済みブロックは、インループ・フィルタ209をさらに通過してもよく、その後、基準ピクチャ・ストアとして機能するピクチャ・バッファ213に格納される。ピクチャ・バッファ213内の再構築済みビデオは、ディスプレイ・デバイスを駆動するために送られ、また将来のビデオ・ブロックを予測するために使用されてもよい。インループ・フィルタ209がオンにされている状況では、これらの再構築済みピクセルに対してフィルタリング動作が実施され、最終的な再構築済みビデオ出力222を導出する。
【0036】
現在のVVCおよびAVS3規格では、現在の符号化ブロックの動き情報は、マージ候補インデックスによって指定された空間的もしくは時間的な隣り合うブロックからコピーされるか、または動き推定の明示的な信号伝達によって取得される。本開示の主な目的は、アフィン・マージ候補の導出方法を改善することによって、アフィン・マージ・モード(affine merge mode)のための動きベクトルの正確度を改善することである。本開示の説明を容易にするために、VVC規格における既存のアフィン・マージ・モード・デザインが、提案される着想を例示するための例として使用される。VVC規格における既存のアフィン・モード・デザインが、本開示の至る所で例として使用されるが、現代のビデオ符号化技術の当業者には、同じまたは類似のデザイン精神を有するアフィン動き予測モードの異なるデザインまたは他の符号化ツールに、提案される技術も適用可能であることに留意されたい。
【0037】
アフィン・モデル
HEVCでは、動き補償予測のために並進動きモデル(translation motion model)だけが適用される。その一方で、現実世界には、例えば、ズーム・イン/アウト、回転、視点の動き、および他の不規則な動きといった、多くの種類の動きがある。VVCおよびAVS3では、インター予測のために並進動きモデルが適用されるか、アフィン動きモデルが適用されるかを示すために、インター符号化ブロック毎に1つのフラグを信号伝達することによって、アフィン動き補償予測が適用される。現在のVVCおよびAVS3デザインでは、1つのアフィン符号化ブロックのために、4パラメータ・アフィン・モードおよび6パラメータ・アフィン・モードを含む、2つのアフィン・モードがサポートされる。
【0038】
4パラメータ・アフィン・モデルは、水平および垂直方向それぞれの並進移動のための2つのパラメータ、ズームの動きのための1つのパラメータ、および両方向への回転の動きのための1つのパラメータという、パラメータを有する。このモデルでは、水平ズーム・パラメータが垂直ズーム・パラメータに等しく、水平回転パラメータが垂直回転パラメータに等しい。動きベクトルおよびアフィン・パラメータのより良い順応を達成するために、これらのアフィン・パラメータは、現在のブロックの左上隅および右上隅にある2つのMV(制御点動きベクトル(CPMV)とも呼ばれる)から導出されることになる。
図4A~
図4Bに示されているように、ブロックのアフィン動きフィールドは、2つのCPMV(V
0,V
1)によって表現される。制御点の動きに基づいて、1つのアフィン符号化ブロックの動きフィールド(v
x,v
y)は、
【数1】
のように表現される。
【0039】
6パラメータ・アフィン・モードは、水平および垂直方向それぞれの並進移動のための2つのパラメータ、水平方向のズームの動きおよび回転の動きそれぞれのための2つのパラメータ、垂直方向のズームの動きおよび回転の動きそれぞれのための別の2つのパラメータという、パラメータを有する。6パラメータ・アフィン動きモデルは、3つのCPMVで符号化される。
図5に示されているように、1つの6パラメータ・アフィン・ブロックの3つの制御点は、ブロックの左上、右上、および左下隅にある。左上の制御点における動きは、並進動きに関係があり、右上の制御点における動きは、水平方向の回転およびズームの動きに関係があり、左下の制御点における動きは、垂直方向の回転およびズームの動きに関係がある。4パラメータ・アフィン動きモデルと比較すると、6パラメータの水平方向の回転およびズームの動きは、垂直方向の回転およびズームの動きの動きと同じでないことがある。(V
0,V
1,V
2)が、
図5の現在のブロックの左上、右上、および左下隅のMVであると想定すると、サブブロック(v
x,v
y)毎の動きベクトルは、制御点における3つのMVを使用して、
【数2】
のように導出される。
【0040】
アフィン・マージ・モード
アフィン・マージ・モードでは、現在のブロックのCPMVは、明示的に信号伝達されず、隣り合うブロックから導出される。具体的には、このモードでは、空間的な隣のブロックの動き情報は、現在のブロックのCPMVを生成するために使用される。アフィン・マージ・モード候補リストは、限定されたサイズを有する。例えば、現在のVVCデザインには、5つまでの候補があってもよい。エンコーダは、レート歪み最適化アルゴリズムに基づいて、最善の候補インデックスを評価し選んでもよい。選ばれた候補インデックスは、次いで、デコーダ側に信号伝達される。アフィン・マージ候補は、3つの方式で決められることが可能である。第1の方式では、アフィン・マージ候補は、隣り合うアフィン符号化ブロックから継承(inherited)されてもよい。第2の方式では、アフィン・マージ候補は、隣り合うブロックからの並進MVから構築されてもよい。第3の方式では、ゼロMVが、アフィン・マージ候補として使用される。
【0041】
継承方法の場合、2つまでの候補があってもよい。候補は、利用可能であれば、現在のブロックの左下にある隣り合うブロックから(例えば、
図6に示されているように、スキャン順序(scanning order)はA0からA1である)、および、現在のブロックの右上にある隣り合うブロックから(例えば、
図6に示されているように、スキャン順序はB0からB2である)、取得される。
【0042】
構築方法の場合、候補は、2つのステップによって生成され得る、隣のものの並進MVの組合せである。
【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】
ここで、(a,b)は、デルタ並進パラメータであり、(c,d)は、水平方向のためのデルタ・ズームおよび回転パラメータであり、(e,f)は、垂直方向のためのデルタ・ズームおよび回転パラメータであり、(x,y)は、現在のブロックの左上隅(例えば、
図5に示された座標(x,y))に対するサブブロックの旋回ロケーション(例えば、中心または左上隅)の水平および垂直距離であり、(v
x,v
y)は、サブブロックのターゲットの並進MVである。
【0049】
6パラメータ・アフィン・モデルの場合、V0、V1、およびV2と称された3つのCPMVが利用可能である。次いで、6つのモデル・パラメータa、b、c、d、e、およびfは、
【数4】
のように計算可能である。
【0050】
4パラメータ・アフィン・モデルの場合、V0およびV1と称された左上隅のCPMVおよび右上隅のCPMVが利用可能な場合、a、b、c、d、e、およびfという6つのパラメータは、
【数5】
のように計算可能である。
【0051】
4パラメータ・アフィン・モデルの場合、V0およびV2と称された左上隅のCPMVおよび左下隅のCPMVが利用可能な場合、a、b、c、d、e、およびfという6つのパラメータは、
【数6】
のように計算可能である。
【0052】
上記の等式(4)、(5)、および(6)では、wおよびhは、現在のブロックの幅および高さをそれぞれ表す。
【0053】
冗長性チェックのためにCPMVの2つのマージ候補セットが比較されるとき、6つのアフィン・モデル・パラメータの類似性をチェックすることが提案される。したがって、候補除去プロセスは、2つのステップで実施可能である。
【0054】
ステップ1において、CPMVの2つの候補セットの場合、候補セット毎の対応するアフィン・モデル・パラメータが導出される。より詳細には、CPMVの2つの候補セットは、例えば、(a1,b1,c1,d1,e1,f1)および(a2,b2,c2,d2,e2,f2)といった、アフィン・モデル・パラメータの2つのセットによって表されてもよい。
【0055】
ステップ2において、1つまたは複数の予め定義された閾値に基づいて、アフィン・モデル・パラメータの2つのセットの間の類似性チェックが実施される。1つの実施形態では、(a1-a2)、(b1-b2)、(c1-c2)、(d1-d2)、(e1-e2)、および(f1-f2)の絶対値が全て、1という値など、正の閾値を下回ったとき、2つの候補は類似していると考えられ、これらのうちの1つは、除去/削除されること、およびマージ候補リストに加えないことが可能である。
【0056】
一部の実施形態では、ステップ1における除算または右シフト演算は、CPMV除去プロセスにおける計算を簡素化するために削除されてもよい。
【0057】
具体的には、c、d、e、およびfというモデル・パラメータは、現在のブロックの幅wおよび高さhで除算されずに計算されてもよい。例えば、上記の等式(4)を例とすると、c’、d’、e’、およびf’という近似のモデル・パラメータは、下記の等式(7)のように計算されてもよい。
【数7】
【0058】
2つのCPMVだけが利用可能なケースでは、モデル・パラメータの一部がモデル・パラメータの他の部分から導出され、モデル・パラメータは、現在のブロックの幅または高さに依存する。このケースでは、モデル・パラメータは、幅および高さの影響を考慮して変換されてもよい。例えば、等式(5)のケースでは、c’、d’、e’、およびf’という近似のモデル・パラメータは、下記の等式(8)に基づいて計算されてもよい。等式(6)のケースでは、c’、d’、e’、およびf’という近似のモデル・パラメータは、下記の等式(9)に基づいて計算されてもよい。
【数8】
c’、d’、e’、およびf’という近似のモデル・パラメータが、上記のステップ1で計算されたとき、上記のステップ2における類似性チェックに必要な絶対値の計算は、(a
1-a
2)、(b
1-b
2)、(c
1’-c
2’)、(d
1’-d
2’)、(e
1’-e
2’)、および(f
1’-f
2’)のように、適宜変更されてもよい。
【0059】
上記のステップ2では、CPMVの2つの候補セットの間の類似性を評価するための閾値が必要である。閾値を定義するための複数の方式があってもよい。1つの実施形態では、閾値は、比較可能なパラメータ毎に定義されてもよい。テーブル1は、本実施形態における1つの例であり、比較可能なモデル・パラメータ毎に定義された閾値を示している。別の実施形態では、閾値は、現在の符号化ブロックのサイズを考慮して定義されてもよい。テーブル2は、本実施形態における1つの例であり、現在の符号化ブロックのサイズによって定義された閾値を示している。
【0060】
【0061】
【0062】
別の実施形態では、閾値は、現在のブロックの重みまたは高さを考慮して定義されてもよい。テーブル3およびテーブル4は、本実施形態における例である。テーブル3は、現在の符号化ブロックの幅によって定義された閾値を示しており、テーブル4は、現在の符号化ブロックの高さによって定義された閾値を示している。
【0063】
【0064】
【0065】
別の実施形態では、閾値は、固定値のグループとして定義されてもよい。別の実施形態では、閾値は、上記の実施形態の任意の組合せで定義されてもよい。1つの例では、閾値は、異なるパラメータと現在のブロックの重みおよび高さとを考慮して定義されてもよい。テーブル5は、本実施形態における1つの例であり、現在の符号化ブロックの高さによって定義された閾値を示している。上記の任意の提案される実施形態では、比較可能なパラメータは、必要であれば、等式(4)から等式(9)までの任意の等式で定義された任意のパラメータを表すことがあることに留意されたい。
【0066】
【0067】
候補冗長性チェックのための変換済みアフィン・モデル・パラメータを使用する利益は、異なるアフィン・モデル・タイプを有する候補のための統合類似性チェック・プロセスを作り出すことであり、例えば、1つのマージ候補が、3つのCPMVを有する6パラメータ・アフィン・モデルを使用してもよく、その一方で、別の候補が、2つのCPMVを有する4パラメータ・アフィン・モデル使用してもよいということと、サブブロック毎にターゲットMVを導出するときの、マージ候補におけるCPMV毎の異なる影響を考慮することと、現在のブロックの幅および高さに関する2つのアフィン・マージ候補の類似性の重要性を提供することとを含む。
【0068】
アフィン継承マージ候補のための隣接していない隣のものベースの導出プロセス
継承マージ候補の場合、隣接していない隣のものベースの導出プロセスが、3つのステップで実施されてもよい。ステップ1は、候補スキャンに関するものである。ステップ2は、CPMV射影に関するものである。ステップ3は、候補除去に関するものである。
【0069】
ステップ1では、隣接していない隣り合うブロックがスキャンされ、以下の方法で選択される。
【0070】
スキャン・エリア(scanning area)および距離
一部の例では、隣接していない隣り合うブロックが、現在の符号化ブロックの左のエリアおよび上のエリアからスキャンされてもよい。スキャン距離(scanning distance)は、スキャン位置から現在の符号化ブロックの左側または一番上側までの符号化ブロックの数として定義されてもよい。
【0071】
図8に示されているように、現在の符号化ブロックの左または上において、隣接していない隣り合うブロックの複数のラインがスキャンされてもよい。
図8に示された距離は、各候補位置から現在のブロックの左側または一番上側までの符号化ブロックの数を表す。例えば、現在のブロックの左側に「距離2」を有するエリアは、このエリア内にある候補の隣り合うブロックが、現在のブロックから2ブロック離れていることを示している。異なる距離を有する他のスキャン・エリアに類似の指示が適用されてもよい。
【0072】
1つまたは複数の実施形態では、各距離における隣接していない隣り合うブロックは、
図13Aに示されているように、現在の符号化ブロックと同じブロック・サイズを有してもよい。
図13Aに示されているように、左側の隣接していない隣のブロック1301、および上側の隣接していない隣のブロック1302は、現在のブロック1303と同じサイズを有している。一部の実施形態では、各距離における隣接していない隣り合うブロックは、
図13Bに示されているように、現在の符号化ブロックとは異なるブロック・サイズを有してもよい。隣のブロック1304は、現在のブロック1303に隣接している隣のブロックである。
図13Bに示されているように、左側の隣接していない隣のブロック1305、および上側の隣接していない隣のブロック1306は、現在のブロック1307と同じサイズを有している。隣のブロック1308は、現在のブロック1307に隣接している隣のブロックである。
【0073】
各距離における隣接していない隣り合うブロックが現在の符号化ブロックと同じブロック・サイズを有しているとき、ブロック・サイズの値は、画像内の異なるエリア毎の分割粒度に応じて適応的に変更されることに留意されたい。各距離における隣接していない隣り合うブロックが現在の符号化ブロックと異なるブロック・サイズを有しているとき、ブロック・サイズの値は、4×4、8×8、または16×16など、一定値として予め定義されてもよいことに留意されたい。
【0074】
定義されたスキャン距離に基づいて、現在の符号化クロックの左または上のスキャン・エリアの全体サイズは、構成可能な距離値で決定されてもよい。1つまたは複数の実施形態では、左側および上側の最大スキャン距離は、同じ値または異なる値を使用してもよい。
図13は、左側および上側両方の最大距離が2という同じ値を共有する例を示している。最大スキャン距離値は、エンコーダ側で決定され、ビットストリームの中で信号伝達されてもよい。代替として、最大スキャン距離値は、2または4という値など、固定値として予め定義されてもよい。最大スキャン距離が4という値として予め定義されているとき、これは、候補リストが一杯であるか、または、多くても距離4を有する隣接していない隣り合うブロック全てがスキャンされたとき、どちらが最初に起こっても、スキャン・プロセスが終了したことを示す。
【0075】
1つまたは複数の実施形態では、特定の距離における各スキャン・エリア内の始まりおよび終わりの隣り合うブロックは、位置次第でもよい。
【0076】
一部の実施形態では、左側のスキャン・エリアの場合、始まりの隣り合うブロックは、より小さい距離を有する隣接しているスキャン・エリアの始まりの隣り合うブロックの隣接している左下のブロックでもよい。例えば、
図8に示されているように、現在のブロックの左側の「距離2」のスキャン・エリアの始まりの隣り合うブロックは、「距離1」のスキャン・エリアの始まりの隣り合うブロックの隣接している左下の隣り合うブロックである。終わりの隣り合うブロックは、より小さい距離を有する上のスキャン・エリアの終わりの隣り合うブロックの隣接している左のブロックでもよい。例えば、
図8に示されているように、現在のブロックの左側の「距離2」のスキャン・エリアの終わりの隣り合うブロックは、現在のブロックの上の「距離1」のスキャン・エリアの終わりの隣り合うブロックの隣接している左の隣り合うブロックである。
【0077】
同様に、上側のスキャン・エリアの場合、始まりの隣り合うブロックは、より小さい距離を有する隣接しているスキャン・エリアの始まりの隣り合うブロックの隣接している右上のブロックでもよい。終わりの隣り合うブロックは、より小さい距離を有する隣接しているスキャン・エリアの終わりの隣り合うブロックの隣接している左上のブロックでもよい。
【0078】
スキャン順序
隣接していないエリアにおいて隣り合うブロックがスキャンされるとき、特定の順序または/およびルールに従って、スキャンされる隣り合うブロックの選択を決定してもよい。
【0079】
一部の実施形態では、左のエリアが最初にスキャンされ、次いで、上のエリアのスキャンが続いてもよい。
図8に示されているように、左側の隣接していないエリアの3つのライン(例えば、距離1から距離3まで)が最初にスキャンされ、次いで、現在のブロックの上の隣接していないエリアの3つのラインのスキャンが続いてもよい。
【0080】
一部の実施形態では、代替として、左のエリアおよび上のエリアがスキャンされてもよい。例えば、
図8に示されているように、「距離1」を有する左のスキャン・エリアが最初にスキャンされ、次いで、「距離1」を有する上のエリアのスキャンが続く。
【0081】
同じ側にあるスキャン・エリア(例えば、左または上のエリア)の場合、スキャン順序は、小さい距離を有するエリアから大きい距離を有するエリアまでである。この順序は、スキャン順序の他の実施形態と柔軟に組み合わされてもよい。例えば、代替として、左および上のエリアがスキャンされてもよく、同じ側のエリアの順序は、小さい距離から大きい距離へとなるようにスケジュールされる。
【0082】
特定の距離における各スキャン・エリア内で、スキャン順序が定義されてもよい。1つの実施形態では、左のスキャン・エリアの場合、スキャンは、一番下の隣り合うブロックから一番上の隣り合うブロックへと始められてもよい。上のスキャン・エリアの場合、スキャンは、右のブロックから左のブロックへと始められてもよい。
【0083】
スキャン終了
継承マージ候補の場合、アフィン・モードで符号化された隣り合うブロックは、適格な候補として定義される。一部の実施形態では、スキャン・プロセスは、相互作用して実施されてもよい。例えば、特定の距離における特定のエリアで実施されたスキャンは、最初のX個の適格な候補が識別された瞬間に止められてもよく、ここで、Xは、予め定義された正の値である。例えば、
図8に示されているように、距離1を有する左のスキャン・エリアにおけるスキャンは、最初の1つまたは複数の適格な候補が識別されたときに止められてもよい。次いで、予め定義されたスキャン順序/ルールによって規定された、別のスキャン・エリアをターゲットにすることによって、スキャン・プロセスの次の反復が始められる。
【0084】
一部の実施形態では、スキャン・プロセスは、連続的に実施されてもよい。例えば、特定の距離における特定のエリアで実施されるスキャンは、全てのカバーされた隣り合うブロックがスキャンされ、これ以上適格な候補が識別されないか、候補の最大許容数に達した瞬間に、止められてもよい。
【0085】
候補スキャン・プロセス中、上記の提案されるスキャン方法に従うことによって、各候補の隣接していない隣り合うブロックが決定およびスキャンされる。より簡単な実装形態として、各候補の隣接していない隣り合うブロックは、特定のスキャン位置で示され、または位置特定されてもよい。上記の提案される方法に従うことによって、特定のスキャン・エリアおよび距離が決められると、スキャン位置は、以下の方法に基づいて適宜決定されてもよい。
【0086】
1つの方法では、
図15Aに示されているように、上および左の隣接していない隣り合うブロックのために左下および右上の位置がそれぞれ使用される。
【0087】
別の方法では、
図15Bに示されているように、上および左両方の隣接していない隣り合うブロックのために右下の位置が使用される。
【0088】
別の方法では、
図15Cに示されているように、上および左両方の隣接していない隣り合うブロックのために左下の位置が使用される。
【0089】
別の方法では、
図15Dに示されているように、上および左両方の隣接していない隣り合うブロックのために右上の位置が使用される。
【0090】
より簡単な例証として、
図15A~
図15Dでは、各隣接していない隣り合うブロックが、現在のブロックと同じブロック・サイズを有するものと想定される。一般性を失うことなく、この例証は、異なるブロック・サイズを有する隣接していない隣り合うブロックに容易に拡張されてもよい。
【0091】
さらに、ステップ2では、現在のAVSおよびVVC規格で使用されるものと同じCPMV射影のプロセスが利用されてもよい。このCPMV射影プロセス(projection process)では、現在のブロックは、同じアフィン・モデルを、選択された隣り合うブロックと共有すると想定され、次いで、2つまたは3つの隅のピクセルの座標(例えば、現在のブロックが4パラメータ・モデルを使用する場合、2つの座標(左上のピクセル/サンプル・ロケーション、および右上のピクセル/サンプル・ロケーション)が使用され、現在のブロックが6パラメータ・モデルを使用する場合、3つの座標(左上のピクセル/サンプル・ロケーション、右上のピクセル/サンプル・ロケーション、および左下のピクセル/サンプル・ロケーション)が使用される)が等式(1)または(2)に差し込まれ、これは、2つまたは3つのCPMVを生成するために、隣り合うブロックが4パラメータ・アフィン・モデルで符号化されるか、6パラメータ・アフィン・モデルで符号化されるかに依存する。
【0092】
ステップ3では、ステップ1で識別されステップ2で変換された任意の適格な候補が、既にマージ候補リストにある全ての既存の候補に対する類似性チェックを通過してもよい。類似性チェックの詳細は、上記のアフィン・マージ候補除去のセクションで既に説明されている。新たな適格な候補が候補リスト内の任意の既存の候補と類似していることがわかった場合、この新たな適格な候補は削除/除去される。
【0093】
アフィン構築マージ候補のための隣接していない隣のものベースの導出プロセス
継承マージ候補を導出するケースでは、一度に1つの隣り合うブロックが識別され、この単一の隣り合うブロックは、アフィン・モードで符号化される必要があり、2つまたは3つのCPMVを含んでもよい。構築マージ候補を導出するケースでは、一度に2つまたは3つの隣り合うブロックが識別され得、各識別された隣り合うブロックは、アフィン・モードで符号化される必要はなく、このブロックからただ1つの並進MVが取り出される。
【0094】
図9は、隣接していない隣り合うブロックを使用することによって、構築アフィン・マージ候補が導出され得る例を提示している。
図9では、A、B、およびCは、3つの隣接していない隣り合うブロックの地理的位置である。仮想符号化ブロックは、Aの位置を左上隅として、Bの位置を右上隅として、およびCの位置を左下隅として使用することによって形成される。仮想CUをアフィン符号化ブロックと考えた場合、A’、B’、およびC’の位置におけるMVは、等式(3)に従うことによって導出されてもよく、モデル・パラメータ(a,b,c,d,e,f)は、A、B、およびCの位置における並進MVで計算されてもよい。導出されると、A’、B’、およびC’の位置におけるMVは、現在のブロックの3つのCPMVとして使用されてもよく、構築アフィン・マージ候補を生成する既存のプロセス(AVSおよびVVC規格で使用されるもの)が使用されてもよい。
【0095】
構築マージ候補の場合、隣接していない隣のものベースの導出プロセスは、5つのステップで実施されてもよい。隣接していない隣のものベースの導出プロセスは、エンコーダまたはデコーダなどの装置において、5つのステップで実施されてもよい。ステップ1は、候補スキャンに関するものである。ステップ2は、アフィン・モデル決定に関するものである。ステップ3は、CPMV射影に関するものである。ステップ4は、候補生成に関するものである。また、ステップ5は、候補除去に関するものである。ステップ1では、隣接していない隣り合うブロックが、以下の方法でスキャンおよび選択されてもよい。
【0096】
スキャン・エリアおよび距離
一部の実施形態では、長方形の符号化ブロックを維持するために、スキャン・プロセスは、2つの隣接していない隣り合うブロックに対してのみ実施される。第3の隣接していない隣り合うブロックは、第1および第2の隣接していない隣り合うブロックの水平および垂直位置に依存してもよい。
【0097】
一部の実施形態では、
図9に示されているように、スキャン・プロセスは、BおよびCの位置に対してのみ実施される。Aの位置は、Cの水平位置およびBの垂直位置で一意に決定されてもよい。このケースでは、スキャン・エリアおよび距離は、特定のスキャン方向に従って定義されてもよい。
【0098】
一部の実施形態では、スキャン方向は、現在のブロックの側面に直角でもよい。1つの例が
図10に示されており、
図10では、スキャン・エリアは、現在のブロックの左または上の連続的な動きフィールドの1つのラインとして定義されている。スキャン距離は、スキャン位置から現在のブロックの側面への動きフィールドの数として定義される。動きフィールドのサイズは、適用可能なビデオ符号化規格の最大粒度に依存してもよいことに留意されたい。
図10に示された例では、動きフィールドのサイズは、現在のVVC規格と揃えられ、4x4であるようにセットされることが想定される。
【0099】
一部の実施形態では、スキャン方向は、現在のブロックの側面に平行でもよい。1つの例が
図11に示されており、
図11では、スキャン・エリアは、現在のブロックの左または上の連続的な符号化ブロックの1つのラインとして定義されている。
【0100】
一部の実施形態では、スキャン方向は、現在のブロックの側面への直角および平行スキャンの組合せでもよい。1つの例が、
図12に示されている。
図12に示されているように、スキャン方向はまた、平行および対角線の組合せでもよい。位置Bにおけるスキャンは、左から右へ、ならびに次いで、対角線方向に左および上のブロックへと動き始める。位置Bにおけるスキャンは、
図12に示されているように繰り返すことになる。同様に、位置Cにおけるスキャンは、一番上から一番下へ、ならびに次いで、対角線方向に左および上のブロックへ動き始める。位置Cにおけるスキャンは、
図12に示されているように繰り返すことになる。
【0101】
スキャン順序
一部の実施形態では、スキャン順序は、現在の符号化ブロックに対して、より小さい距離を有する位置からより大きい距離を有する位置へと定義されてもよい。この順序は、直角スキャンのケースに適用されてもよい。
【0102】
一部の実施形態では、スキャン順序は、固定パターンとして定義されてもよい。この固定パターン・スキャン順序は、類似の距離を有する候補位置のために使用されてもよい。1つの例は、平行スキャンのケースである。1つの例では、
図11に示された例のように、スキャン順序は、左のスキャン・エリアの場合、一番上から下がる方向として定義されてもよく、上記のスキャン・エリアの場合、左から右への方向として定義されてもよい。
【0103】
組み合わされたスキャン方法のケースの場合、スキャン順序は、
図12に示された例のように、固定パターンおよび距離依存の組合せでもよい。
【0104】
スキャン終了
構築マージ候補の場合、適格な候補は、並進MVだけが必要なので、アフィン符号化される必要はない。
【0105】
要求される候補数に応じて、スキャン・プロセスは、最初のX個の適格な候補が識別されたときに終了されてもよく、ここで、Xは正の値である。
【0106】
図9に示されているように、仮想符号化ブロックを形成するために、A、B、およびCと名付けられた3つの隅が必要である。より簡単な実装形態として、ステップ1におけるスキャン・プロセスは、隅BおよびCにある隣接していない隣り合うブロックを識別するためだけに実施されてもよく、その一方で、Aの座標は、Cの水平座標およびBの垂直座標をとることによって正確に決定されてもよい。このようにして、形成された仮想符号化ブロックは、長方形であるように制限される。BまたはC点が、例えば境界の外にあるといった、利用不可能な場合、またはBもしくはCに対応する隣接していない隣り合うブロックにおける動き情報が利用不可能な場合、Cの水平座標または垂直座標は、現在のブロックの左上の点の水平座標または垂直座標としてそれぞれ定義されてもよい。
【0107】
単一化のために、継承マージ候補を導出するために提案された、スキャン・エリアおよび距離、スキャン順序、ならびにスキャン終了を定義する方法が、構築マージ候補を導出するために完全または部分的に再使用されてもよい。1つまたは複数の実施形態では、スキャン・エリアおよび距離、スキャン順序、ならびにスキャン終了を含むがこれらに限定されない、継承マージ候補スキャンのために定義された同じ方法は、構築マージ候補スキャンのために完全に再使用されてもよい。
【0108】
一部の実施形態では、継承マージ候補スキャンのために定義された同じ方法が、構築マージ候補スキャンのために部分的に再使用されてもよい。
図16は、このケースにおける例を示している。
図16では、隣接していない隣り合うブロック毎のブロック・サイズは、現在のブロックと同じであり、継承候補スキャンと同様に定義されるが、各距離におけるスキャンがただ1つのブロックであることに限定されるので、全体プロセスは簡素化されたバージョンである。
【0109】
ステップ2では、ステップ1後の選択された候補の位置における並進MVが評価され、適切なアフィン・モデルが決定されてもよい。より簡単な例証として、一般性を失うことなく、
図9が例として再び使用される。
【0110】
ハードウェア制約、実施の複雑性、および異なる参照インデックスなどの因子により、スキャン・プロセスは、十分な数の候補が識別される前に終了されることがある。例えば、ステップ1後の選択された候補のうちの1つまたは複数における動きフィールドの動き情報は、利用不可能な場合がある。
【0111】
3つ全ての候補の動き情報が利用可能な場合、対応する仮想符号化ブロックは、6パラメータ・アフィン・モデルを表す。3つの候補のうちの1つの動き情報が利用不可能な場合、対応する仮想符号化ブロックは、4パラメータ・アフィン・モデルを表す。3つの候補のうちの2つ以上の動き情報が利用不可能な場合、対応する仮想符号化ブロックは、有効なアフィン・モデルを表すことができない場合がある。
【0112】
一部の実施形態では、仮想符号化ブロックの、例えば
図9の隅Aといった、左上隅における動き情報が利用不可能な場合、または、例えば
図9の隅Bといった右上隅、および例えば
図9の隅Cといった左下隅の両方における動き情報が利用不可能な場合、仮想ブロックは無効であるようにセットされ、有効なモデルを表すことができない場合があり、次いで、現在の反復のためにステップ3およびステップ4は飛ばされてもよい。
【0113】
一部の実施形態では、例えば
図9の隅Bといった右上隅、または例えば
図9の隅Cといった左下隅が利用不可能であるが、両方が利用不可能というわけではない場合、仮想ブロックは、有効な4パラメータ・アフィン・モデルを表してもよい。
【0114】
ステップ3では、仮想符号化ブロックが有効なアフィン・モデルを表すことができる場合、継承マージ候補のために使用される同じ射影プロセスが使用されてもよい。
【0115】
1つまたは複数の実施形態では、継承マージ候補のために使用される同じ射影プロセスが使用されてもよい。このケースでは、ステップ2からの仮想符号化ブロックで表された4パラメータ・モデルが、現在のブロックのための4パラメータ・モデルに射影され、ステップ2からの仮想符号化ブロックで表された6パラメータ・モデルが、現在のブロックのための6パラメータ・モデルに射影される。
【0116】
一部の実施形態では、ステップ2からの仮想符号化ブロックで表されたアフィン・モデルが、現在のブロックのための4パラメータ・モデルまたは6パラメータ・モデルに常に射影される。
【0117】
等式(5)および(6)によれば、2つのタイプの4パラメータ・アフィン・モデルがあり、タイプAは、V0およびV1と称された左上隅のCPMVおよび右上隅のCPMVが利用可能であるものであり、タイプBは、V0およびV2と称された左上隅のCPMVおよび左下隅のCPMVが利用可能であるものであることに留意されたい。
【0118】
1つまたは複数の実施形態では、射影された4パラメータ・アフィン・モデルのタイプは、仮想符号化ブロックで表された4パラメータ・アフィン・モデルの同じタイプである。例えば、ステップ2からの仮想符号化ブロックで表されたアフィン・モデルは、タイプAまたはBの4パラメータ・アフィン・モデルであり、次いで、現在のブロックのための射影されたアフィン・モデルはまた、それぞれタイプAまたはBである。
【0119】
一部の実施形態では、ステップ2からの仮想符号化ブロックで表された4パラメータ・アフィン・モデルは、現在のブロックのための4パラメータ・モデルの同じタイプに常に射影される。例えば、仮想符号化ブロックで表された4パラメータ・アフィン・モデルのタイプAまたはBは、タイプAの4パラメータ・アフィン・モデルに常に射影される。
【0120】
ステップ4では、ステップ3後の射影されたCPMVに基づいて、1つの例において、現在のVVCまたはAVS規格で使用される同じ候補生成プロセスが使用されてもよい。別の実施形態では、現在のVVCまたはAVS規格のための候補生成プロセスで使用される時間動きベクトルは、隣接していない隣り合うブロック・ベースの導出方法のために使用されなくてもよい。時間動きベクトルが使用されないとき、これは、生成された組合せが、いかなる時間動きベクトルも含まないことを示す。
【0121】
ステップ5では、ステップ4後の新たに生成された任意の候補が、マージ候補リスト内に既にある全ての既存の候補に対する類似性チェックを通過してもよい。類似性チェックの詳細は、アフィン・マージ候補除去のセクションで既に説明されている。新たに生成された候補が候補リスト内の任意の既存の候補と類似していることがわかった場合、この新たに生成された候補は削除または除去される。
【0122】
図17は、ユーザ・インターフェース1760と結合されたコンピューティング環境(またはコンピューティング・デバイス)1710を示している。コンピューティング環境1710は、データ処理サーバの一部であることが可能である。一部の実施形態では、コンピューティング・デバイス1710は、本開示の様々な例による、上記で説明されたような様々な方法またはプロセス(エンコード/デコード方法またはプロセスなど)のいずれかを実施可能である。コンピューティング環境1710は、プロセッサ1720、メモリ1740、およびI/Oインターフェース1750を含んでもよい。
【0123】
プロセッサ1720は、典型的には、表示、データ獲得、データ通信、および画像処理に関連付けられた動作など、コンピューティング環境1710の全体動作を制御する。プロセッサ1720は、命令を実行して上述の方法におけるステップの全てまたは一部を実施するための、1つまたは複数のプロセッサを含めてもよい。その上、プロセッサ1720は、プロセッサ1720と他の構成要素との間の相互作用を容易にする1つまたは複数のモジュールを含んでもよい。プロセッサは、中央処理ユニット(CPU)、マイクロプロセッサ、シングル・チップ・マシン、GPUなどでもよい。
【0124】
メモリ1740は、コンピューティング環境1710の動作をサポートするための様々なタイプのデータを格納するように構成される。メモリ1740は、事前に決定されたソフトウェア1742を含んでもよい。このようなデータの例は、コンピューティング環境1710で動作される任意のアプリケーションまたは方法のための命令、ビデオ・データセット、画像データ等を含む。メモリ1740は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM)、プログラマブル・リード・オンリ・メモリ(PROM)、リード・オンリ・メモリ(ROM)、磁気メモリ、フラッシュ・メモリ、磁気または光ディスクなど、揮発性もしくは不揮発性メモリ・デバイスの任意のタイプ、またはその組合せを使用することによって実現されてもよい。
【0125】
I/Oインターフェース1750は、プロセッサ1720と、キーボード、クリック・ホイール、ボタンなどのような周辺インターフェース・モジュールとの間の、インターフェースを提供する。ボタンは、ホーム・ボタン、スキャン開始ボタン、およびスキャン停止ボタンを含んでもよいがこれらに限定されない。I/Oインターフェース1750は、エンコーダおよびデコーダと結合可能である。
【0126】
一部の実施形態では、上述の方法を実施するために、コンピューティング環境1710におけるプロセッサ1720によって実行可能な、メモリ1740に含まれるような複数のプログラムを有する、非一時的コンピュータ可読ストレージ媒体も提供される。例えば、非一時的コンピュータ可読ストレージ媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピ・ディスク、光データ・ストレージ・デバイスなどでもよい。
【0127】
非一時的コンピュータ可読ストレージ媒体は、1つまたは複数のプロセッサを有するコンピューティング・デバイスによる実行のための複数のプログラムを格納したものであり、複数のプログラムは、1つまたは複数のプロセッサによって実行されると、動き予測のための上述の方法をコンピューティング・デバイスに実施させる。
【0128】
一部の実施形態では、コンピューティング環境1710は、上記の方法を実施するために、1つまたは複数の特定用途向け集積回路(ASIC)、デジタル・シグナル・プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル・ロジック・デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、グラフィカル処理ユニット(GPU)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素で実現されてもよい。
【0129】
図18は、本開示の例による、ビデオ符号化のための方法を例示したフローチャートである。
【0130】
ステップ1801において、プロセッサ1720は、現在のブロックまたはCUに隣接していない複数の隣接していない隣のブロックから1つまたは複数のアフィン候補を取得してもよい。
【0131】
【0132】
一部の例では、プロセッサ1720は、スキャン・ルール(scanning rule)に従って、1つまたは複数のアフィン候補を取得してもよい。
【0133】
一部の例では、スキャン・ルールは、少なくとも1つのスキャン・エリア、少なくとも1つのスキャン距離、およびスキャン順序に基づいて決定されてもよい。
【0134】
一部の例では、少なくとも1つのスキャン距離は、現在のブロックの側から離れたブロックの数を示す。
【0135】
一部の例では、少なくとも1つのスキャン距離のうちの1つにおける複数の隣接していない隣のブロックのうちの1つが、
図13Aに示されているように、現在のブロックと同じサイズを有してもよく、または、
図13Bに示されているように、現在のブロックとは異なるサイズを有してもよい。
【0136】
一部の例では、少なくとも1つのスキャン・エリアは、第1のスキャン・エリアおよび第2のスキャン・エリアを含んでもよく、第1のスキャン・エリアが、現在のブロックの第1の側から離れたブロックの最大数を示す第1の最大スキャン距離に従って決定され、第2のスキャン・エリアが、現在のブロックの第2の側から離れたブロックの最大数を示す第2の最大スキャン距離に従って決定され、第1の最大スキャン距離が、第2の最大スキャン距離と同じまたは異なる。一部の例では、第1の最大スキャン距離または第2の最大スキャン距離は、3、4などの固定値としてセットされてもよい。
【0137】
例えば、第1のスキャン・エリアは、現在のブロック1303の左側エリアでもよく、第1の最大スキャン距離は、現在のブロック1303の左側から3ブロック離れている。すなわち、ブロック1301は、第1の最大スキャン距離にあり、すなわち、現在のブロック1303の左側から3ブロック離れている。さらに、第2のスキャン・エリアは、現在のブロック1303の上側のエリアでもよく、第2の最大スキャン距離は、現在のブロック1303の上または上側から3ブロック離れている。すなわち、ブロック1302は、第2の最大スキャン距離にあり、すなわち、現在のブロック1303の上/上部の側から3ブロック離れている。
【0138】
一部の例では、エンコーダは、デコーダに送られることになるビットストリームの中で第1の最大スキャン距離および第2の最大スキャン距離を信号伝達してもよい。
【0139】
一部の例では、プロセッサ1720は、第1または第2の最大スキャン距離が固定値に等しいと決定したことに応答して、および、候補リストが一杯であるか、第1または第2の最大スキャン距離内の全ての隣接していない隣のブロックがスキャンされたと決定したことに応答して、スキャン終了として、少なくとも1つのスキャン・エリアのスキャンを止めてもよい。
【0140】
一部の例では、プロセッサ1720は、アフィン・モードで符号化された1つまたは複数の隣接していない隣のブロックを取得するために、第1のスキャン・エリア内の複数の隣接していない隣のブロックをスキャンし、アフィン・モードで符号化された1つまたは複数の隣接していない隣のブロックを1つまたは複数のアフィン候補として決定してもよい。
【0141】
一部の例では、プロセッサ1720は、現在のブロックの左側と平行なスキャン・ライン(scanning line)に沿って、第1の始まりの隣接していない隣のブロックからスキャンしてもよく、第1の始まりの隣接していないブロックは、第1のスキャン・エリア内の一番下のブロックであり、第1のスキャン・エリア内のブロックは、現在のブロックの左側から離れた、例えば
図14AのD2といった、第1のスキャン距離にある。
【0142】
一部の例では、第1の始まりの隣接していないブロックは、第2のスキャン・エリア内の第2の始まりの隣接していない隣のブロックの一番下および左にあってもよく、第2のスキャン・エリア内のブロックは、
図14Aに示されているように、現在のブロックの左側から離れた、例えば
図14AのD1といった、第2のスキャン距離にあってもよい。他の一部の例では、第1の始まりの隣接していないブロックは、第2のスキャン・エリア内の第2の始まりの隣接していない隣のブロックの左にあってもよく、第2のスキャン・エリア内のブロックは、
図14Bに示されているように、現在のブロックの左側から離れた第2のスキャン距離にあってもよい。
【0143】
一部の例では、プロセッサ1720は、現在のブロックの上側と平行なスキャン・ラインに沿って、第3の始まりの隣接していない隣のブロックからスキャンしてもよく、第3の始まりの隣接していないブロックは、第1のスキャン・エリア内の右のブロックでもよく、第1のスキャン・エリア内のブロックは、現在のブロックの上側から離れた、例えば
図14AのD2といった、第1のスキャン距離にあってもよい。
【0144】
一部の例では、第3の始まりの隣接していないブロックは、第2のスキャン・エリア内の第4の始まりの隣接していない隣のブロックの一番上および右にあってもよく、第2のスキャン・エリア内のブロックは、
図14Aに示されているように、現在のブロックの上側から離れた、例えば
図14AのD1といった、第2のスキャン距離にあってもよい。他の一部の例では、第3の始まりの隣接していないブロックは、第2のスキャン・エリア内の第4の始まりの隣接していない隣のブロックの右にあってもよく、第2のスキャン・エリア内のブロックは、
図14Bに示されているように、現在のブロックの上側から離れた第2のスキャン距離にあってもよい。
【0145】
一部の例では、プロセッサ1720は、隣接していない隣のブロックをスキャン位置に置くことができる。例えば、より簡単な実装形態として、各候補の隣接していない隣り合うブロックは、特定のスキャン位置で示され、または位置特定されてもよい。
【0146】
一部の例では、スキャン位置は、
図15Aに示されているような現在のブロックの上にある第2のスキャン・エリア内の隣接していない隣のブロックの左下の位置と、
図15Aに示されているような現在のブロックの左にある第1のスキャン・エリア内の隣接していない隣のブロックの右上の位置と、
図15Bに示されているような第1のスキャン・エリア内または第2のスキャン・エリア内の隣接していない隣のブロックの右下の位置と、
図15Cに示されているような第1のスキャン・エリア内または第2のスキャン・エリア内の隣接していない隣のブロックの左下の位置と、
図15Dに示されているような第1のスキャン・エリア内または第2のスキャン・エリア内の隣接していない隣のブロックの右上の位置とを含んでもよい。
【0147】
一部の例では、プロセッサ1720は、スキャン・ルールに基づいて、第1のアフィン候補のための第1の候補位置および第2のアフィン候補のための第2の候補位置を取得し、第3のアフィン候補のための、第1および第2の候補位置に基づいて、第3の候補位置を決定し、第1の候補位置、第2の候補位置、および第3の候補位置に基づいて、仮想ブロックを取得し、第1の候補位置、第2の候補位置、および第3の候補位置における並進MVに基づいて仮想ブロックの3つのCPMVを取得し、継承候補導出のために使用される同じ射影プロセスを使用することによって、仮想ブロックの3つのCPMVに基づいて現在のブロックの2つまたは3つのCPMVを取得してもよい。
【0148】
一部の例では、仮想ブロックは、長方形の符号化ブロックでもよく、第3の候補位置は、第1の候補位置の垂直位置および第2の候補位置の水平位置に基づいて決定されてもよい。例えば、仮想ブロックは、
図9に示されているような、位置A、B、およびCを含む仮想ブロックでもよい。
【0149】
一部の例では、プロセッサ1720は、第1の候補位置もしくは第2の候補位置が利用不可能であると決定したことに応答して、または第1の候補位置もしくは第2の候補位置における動き情報が利用不可能であると決定したことに応答して、第3の候補位置の垂直位置を現在のブロックの左上の点の垂直位置として決定し、第3の候補位置の水平位置を現在のブロックの左上の点の水平位置として決定してもよい。
【0150】
一部の例では、プロセッサ1720は、第1、第2、または第3の候補位置における動き情報が利用不可能であると決定したことに応答して、仮想ブロックが有効なアフィン・モデルを表すことができないと決定してもよい。
【0151】
一部の例では、プロセッサ1720は、第1または第2の候補位置における少なくとも1つの動き情報が利用可能であると決定したことに応答して、仮想ブロックが有効なアフィン・モデルを表すことができると決定してもよい。
【0152】
一部の例では、1つまたは複数のアフィン候補は、1つまたは複数のアフィン継承候補および1つまたは複数のアフィン構築候補を含んでもよく、プロセッサ1720は、第1のスキャン・ルールに従って1つまたは複数のアフィン継承候補をさらに取得し、第2のスキャン・ルールに従って1つまたは複数のアフィン構築候補を取得してもよく、第2のスキャン・ルールは、第1のスキャン・ルールと完全または部分的に同じである。
【0153】
一部の例では、プロセッサ1720は、さらに、少なくとも1つの第2のスキャン・エリア、少なくとも1つの第2のスキャン距離、および第2のスキャン順序に基づいて、第2のスキャン・ルールを決定し、現在のブロックと同じブロック・サイズに等しい各距離における、少なくとも1つの第2のスキャン・エリアをスキャンしてもよい。
【0154】
一部の例では、プロセッサ1720は、仮想ブロックが第1のタイプのアフィン・モデルを表すと決定したことに応答して、仮想ブロックによって表された第1のタイプのアフィン・モデルを現在のブロックのための第1のタイプのアフィン・モデルに射影することによって、プロセッサ1720が仮想ブロックの3つのCPMVに基づいて現在のブロックの2つもしくは3つのCPMVを取得し得ることを含む、継承候補導出のために使用される同じ射影プロセスを使用することによって、仮想ブロックの3つのCPMVに基づいて現在のブロックの2つもしくは3つのCPMVを取得してもよく、またはプロセッサ1720は、仮想ブロックが第2のタイプのアフィン・モデルを表すと決定したことに応答して、仮想ブロックによって表された第2のタイプのアフィン・モデルを現在のブロックのための第2のタイプのアフィン・モデルに射影することによって、仮想ブロックの3つのCPMVに基づいて現在のブロックの2つもしくは3つのCPMVを取得してもよく、または、プロセッサ1720は、仮想ブロックによって表されたアフィン・モデルを現在のブロックのためのタイプのアフィン・モデルに射影することによって、仮想ブロックの3つのCPMVに基づいて現在のブロックの2つもしくは3つのCPMVを取得してもよく、現在のブロックのタイプは、第1のタイプまたは第2のタイプである。
【0155】
ステップ1802では、プロセッサ1720は、1つまたは複数のアフィン候補に基づいて現在のブロックの1つまたは複数のCPMVを取得してもよい。
【0156】
図19は、本開示の例による、アフィン候補を除去するための方法を例示したフローチャートである。
【0157】
ステップ1901において、プロセッサ1720は、第1のアフィン候補の1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの第1のセットを計算してもよい。
【0158】
ステップ1902において、プロセッサ1720は、第2のアフィン候補の1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの第2のセットを計算してもよい。
【0159】
ステップ1903において、プロセッサ1720は、アフィン・モデル・パラメータの第1のセットおよびアフィン・モデル・パラメータの第2のセットに基づいて、第1のアフィン候補と第2のアフィン候補との間の類似性チェックを実施してもよい。
【0160】
一部の例では、プロセッサ1720は、アフィン・モデル・パラメータの第1のセットが、アフィン・モデル・パラメータの第2のセットに類似していると決定したことに応答して、第1のアフィン候補が第2のアフィン候補に類似していると決定し、第1のアフィン候補および第2のアフィン候補のうちの1つを除去してもよい。
【0161】
一部の例では、プロセッサ1720は、複数の差が複数の閾値よりそれぞれ小さいと決定したことに応答して、第1のアフィン候補が第2のアフィン候補に類似していると決定することを行ってもよく、複数の差は、アフィン・モデル・パラメータの第1のセットのうちの1つのパラメータと、アフィン・モデル・パラメータの第2のセットのうちの1つの対応するパラメータとの間の差を含む。
【0162】
一部の例では、複数の閾値は、テーブル1に示されているような、アフィン・モデル・パラメータの第2のセットと比較可能なアフィン・モデル・パラメータの第1のセットに従って決定されてもよい。
【0163】
一部の例では、複数の閾値は、現在のブロックのサイズに従って決定されてもよい。例えば、複数の閾値は、テーブル2、3、または4に示されているような、現在のブロックの幅または高さに従って決定される。別の例として、複数の閾値は、テーブル5に示されているような、固定値のグループとして決定されてもよい。
【0164】
一部の例では、プロセッサ1720は、現在のブロックの幅および高さに従って、第1のアフィン候補の1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの第1のセットのうちの1つまたは複数のアフィン・モデル・パラメータを計算することと、現在のブロックの幅および高さに従って、第2のアフィン候補の1つまたは複数のCPMVに関連付けられたアフィン・モデル・パラメータの第2のセットのうちの1つまたは複数のアフィン・モデル・パラメータを計算することとを行ってもよい。
【0165】
一部の例では、ビデオ符号化のための装置が提供される。装置は、プロセッサ1720と、プロセッサによって実行可能な命令を格納するように構成されたメモリ1740とを含み、プロセッサは、命令の実行時、
図18に例示されたような方法を実施するように構成される。
【0166】
他の一部の例では、命令を格納した非一時的コンピュータ可読ストレージ媒体が提供される。プロセッサ1720によって命令が実行されたとき、命令は、
図18に例示されたような方法をプロセッサに実施させる。
【0167】
一部の例では、ビデオ符号化のための装置が提供される。装置は、プロセッサ1720と、プロセッサによって実行可能な命令を格納するように構成されたメモリ1740とを含み、プロセッサは、命令の実行時、
図19に例示されたような方法を実施するように構成される。
【0168】
他の一部の例では、命令を格納した非一時的コンピュータ可読ストレージ媒体が提供される。プロセッサ1720によって命令が実行されたとき、命令は、
図19に例示されたような方法をプロセッサに実施させる。
【0169】
本開示の他の例は、本明細書で開示された本開示の明細書および実践の検討から当業者には明らかであろう。本出願は、その一般的な原理に従った、および、当技術の既知または通例の実践の範囲内で生じるような本開示からの逸脱を含めた、本開示の任意の変形形態、用途、または適合をカバーすることを意図するものである。本明細書および例は、単なる例示とみなされることが意図されている。
【0170】
本開示は、上述の、および添付の図面に例示された、正確な例に限定されないこと、ならびに、本開示の範囲から逸脱することなく、様々な修正および変更が行われることが可能であることが理解されよう。
【手続補正書】
【提出日】2024-03-22
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ符号化の方法であって、
現在のブロックに隣接していない複数の隣接していない隣のブロックから1つまたは複数のアフィン候補(affine candidate)を取得するステップと、
前記1つまたは複数のアフィン候補に基づいて前記現在のブロックの1つまたは複数の制御点動きベクトル(CPMV)を取得するステップと
を含む、ビデオ符号化の方法。
【請求項2】
1つまたは複数のアフィン候補を取得するステップが、
スキャン・ルール(scanning rule)に従って、前記1つまたは複数のアフィン候補を取得するステップ
を含む、請求項1に記載の方法。
【請求項3】
少なくとも1つのスキャン・エリア(scanning area)、少なくとも1つのスキャン距離(scanning distance)、およびスキャン順序(scanning order)に基づいて前記スキャン・ルールを決定するステップ
をさらに含む、請求項2に記載の方法。
【請求項4】
前記少なくとも1つのスキャン距離に従って前記少なくとも1つのスキャン・エリアを決定するステップ
をさらに含む、請求項3に記載の方法。
【請求項5】
前記少なくとも1つのスキャン・エリアが、第1のスキャン・エリアおよび第2のスキャン・エリアを含み、前記第1のスキャン・エリアが、前記現在のブロックの第1の側から離れたブロックの最大数を示す第1の最大スキャン距離に従って決定され、前記第2のスキャン・エリアが、前記現在のブロックの第2の側から離れたブロックの最大数を示す第2の最大スキャン距離に従って決定され、前記第1の最大スキャン距離が、前記第2の最大スキャン距離と同じまたは異なる、請求項
4に記載の方法。
【請求項6】
ビットストリームから、前記第1の最大スキャン距離および前記第2の最大スキャン距離を
受信するステップ
をさらに含む、請求項
5に記載の方法。
【請求項7】
前記第1の最大スキャン距離または前記第2の最大スキャン距離を固定値として予め決定するステップ
をさらに含む、請求項
5に記載の方法。
【請求項8】
前記第1の最大スキャン距離または前記第2の最大スキャン距離が4に等しいと決定したことに応答して、前記1つもしくは複数のアフィン候補を含む候補リストが一杯であると決定したことに応答して、または前記第1の最大スキャン距離および前記第2の最大スキャン距離内の全ての隣接していない隣のブロックがスキャンされたと決定したことに応答して、前記少なくとも1つのスキャン・エリアのスキャンを止めるステップ
をさらに含む、請求項
7に記載の方法。
【請求項9】
前記現在のブロックの左側と平行なスキャン・ライン(scanning line)に沿って、第1の始まりの隣接していない隣のブロックからスキャンするステップであって、前記第1の始まりの隣接していないブロックが、第1のスキャン・エリア内の一番下のブロックであり、前記第1のスキャン・エリア内のブロックが、前記現在のブロックの前記左側から離れた第1のスキャン距離にある、ステップ
をさらに含む、請求項
3に記載の方法。
【請求項10】
前記現在のブロックの上側と平行なスキャン・ラインに沿って、第3の始まりの隣接していない隣のブロックからスキャンするステップであって、前記第3の始まりの隣接していないブロックが、第1のスキャン・エリア内の右のブロックであり、前記第1のスキャン・エリア内のブロックが、前記現在のブロックの前記上側から離れた第1のスキャン距離にある、ステップ
をさらに含む、請求項
3に記載の方法。
【請求項11】
隣接していない隣のブロックをスキャン位置に置くステップ
をさらに含む、請求項
3に記載の方法。
【請求項12】
スキャン・ルールに基づいて、第1のアフィン候補のための第1の候補位置および第2のアフィン候補のための第2の候補位置を取得するステップと、
第3のアフィン候補のための、前記第1および第2の候補位置に基づいて、第3の候補位置を決定するステップと、
前記第1の候補位置、前記第2の候補位置、および前記第3の候補位置に基づいて、仮想ブロックを取得するステップと、
前記第1の候補位置、前記第2の候補位置、および前記第3の候補位置における並進MVに基づいて前記仮想ブロックの3つのCPMVを取得するステップと、
継承(inherited)候補導出のために使用される同じ射影プロセス(projection process)を使用することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの2つまたは3つのCPMVを取得するステップと
をさらに含む、請求項1に記載の方法。
【請求項13】
前記仮想ブロックが、長方形の符号化ブロックであり、前記第3の候補位置が、前記第1の候補位置の垂直位置および前記第2の候補位置の水平位置に基づいて決定され、
または、
前記方法は、
前記第1の候補位置もしくは前記第2の候補位置が利用不可能であると決定したことに応答して、または前記第1の候補位置もしくは前記第2の候補位置における動き情報が利用不可能であると決定したことに応答して、前記第3の候補位置の垂直位置を前記現在のブロックの左上の点の垂直位置として決定するステップ、および前記第3の候補位置の水平位置を前記現在のブロックの前記左上の点の水平位置として決定するステップをさらに含む、請求項
12に記載の方法。
【請求項14】
前記第1、第2、または第3の候補位置における動き情報が利用不可能であると決定したことに応答して、前記仮想ブロックが有効なアフィン・モデルを表すことができないと決定
し、または、
前記第1または第2の候補位置における少なくとも1つの動き情報が利用可能であると決定したことに応答して、前記仮想ブロックが有効なアフィン・モデルを表すことができると決定するステップ
をさらに含む、請求項
12に記載の方法。
【請求項15】
前記1つまたは複数のアフィン候補が、1つまたは複数のアフィン継承候補および1つまたは複数のアフィン構築候補を含み、
前記方法が、
第1のスキャン・ルールに従って前記1つまたは複数のアフィン継承候補を取得するステップと、
第2のスキャン・ルールに従って前記1つまたは複数のアフィン構築候補を取得するステップであって、前記第2のスキャン・ルールが、完全または部分的に前記第1のスキャン・ルールと同じである、ステップと
をさらに含む、請求項1に記載の方法。
【請求項16】
少なくとも1つの第2のスキャン・エリア、少なくとも1つの第2のスキャン距離、および第2のスキャン順序に基づいて、前記第2のスキャン・ルールを決定するステップと、
前記現在のブロックと同じブロック・サイズに等しい距離毎に、前記少なくとも1つの第2のスキャン・エリアをスキャンするステップと
をさらに含む、請求項
15に記載の方法。
【請求項17】
継承候補導出のために使用される同じ射影プロセスを使用することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの2つまたは3つのCPMVを取得するステップが、
前記仮想ブロックが第1のタイプのアフィン・モデルを表すと決定したことに応答して、前記仮想ブロックによって表された前記第1のタイプの前記アフィン・モデルを前記現在のブロックのための前記第1のタイプのアフィン・モデルに射影することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの前記2つもしくは3つのCPMVを取得するステップ、
前記仮想ブロックが第2のタイプのアフィン・モデルを表すと決定したことに応答して、前記仮想ブロックによって表された前記第2のタイプの前記アフィン・モデルを前記現在のブロックの前記第2のタイプのアフィン・モデルに射影することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの前記2つもしくは3つのCPMVを取得するステップ、または
前記仮想ブロックによって表されたアフィン・モデルを前記現在のブロックのタイプのアフィン・モデルに射影することによって、前記仮想ブロックの前記3つのCPMVに基づいて前記現在のブロックの前記2つもしくは3つのCPMVを取得するステップであって、前記現在のブロックの前記タイプが、前記第1のタイプもしくは前記第2のタイプである、ステップ
のうちの少なくとも1つをさらに含む、請求項
12に記載の方法。
【請求項18】
ビデオ符号化のための装置であって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによって実行可能な命令
およびデコードされたビットストリームを格納するように構成されたメモリと
を備え、
前記1つまたは複数のプロセッサが、前記命令の実行時、
前記ビットストリームを用いて請求項1~
17のいずれか一項に記載の方法を実施するように構成された、ビデオ符号化のための装置。
【請求項19】
コンピュータ実行可能命令およびデコードされたビットストリームを格納する、非一時的コンピュータ可読ストレージ媒体であって、前記コンピュータ実行可能命令が1つまたは複数のコンピュータ・プロセッサによって実行されたとき、請求項1~
17のいずれか一項に記載の方法を前記1つまたは複数のコンピュータ・プロセッサに実施させる、非一時的コンピュータ可読ストレージ媒体。
【請求項20】
1つまたは複数のプロセッサを備えるコンピューティング・デバイスによる実行のための複数のプログラムを含み、前記複数のプログラムは、1つまたは複数のプロセッサによって実行されると、請求項1~17のいずれか一項に記載の方法を前記コンピューティング・デバイスに実施させる、コンピュータプログラム製品。
【国際調査報告】