(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-08-18
(54)【発明の名称】動き候補リスト構築プロセスの条件付き実行
(51)【国際特許分類】
H04N 19/52 20140101AFI20220810BHJP
H04N 19/103 20140101ALI20220810BHJP
H04N 19/157 20140101ALI20220810BHJP
H04N 19/176 20140101ALI20220810BHJP
H04N 19/70 20140101ALI20220810BHJP
【FI】
H04N19/52
H04N19/103
H04N19/157
H04N19/176
H04N19/70
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021571916
(86)(22)【出願日】2020-06-04
(85)【翻訳文提出日】2021-12-03
(86)【国際出願番号】 CN2020094306
(87)【国際公開番号】W WO2020244569
(87)【国際公開日】2020-12-10
(31)【優先権主張番号】PCT/CN2019/089970
(32)【優先日】2019-06-04
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】ワン,ユエ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA14
5C159NN10
5C159NN11
5C159RC12
5C159TA62
5C159TB08
5C159TC12
5C159TC26
5C159TC35
5C159TC41
5C159TC42
5C159TD12
5C159UA02
5C159UA05
5C159UA11
(57)【要約】
ビジュアルメディア処理方法は、ビジュアルメディアデータの第1の映像ブロックが幾何学的分割モード(GPM)を使用し、ビジュアルメディアデータの第2の映像ブロックが非GPMモードを使用することを決定するステップと、統一剪定プロセスに基づいて、第1の映像ブロックのための第1のマージリスト及び第2の映像ブロックのための第2のマージリストを構築するステップと、を含み、第1のマージリスト及び第2のマージリストはマージ候補を有し、上記剪定プロセスは、マージリストに新たなマージ候補を、該新たなマージ候補の動き情報と該マージリスト内の少なくとも1つのマージ候補の動き情報とを比較することに基づいて追加することを含み、GPMは、第1の映像ブロックを、動き予測を別々に適用する複数の予測パーティションに分けることを有し、少なくとも1つのパーティションは、非矩形の形状を持つ。
【特許請求の範囲】
【請求項1】
ビジュアルメディア処理のための方法であって、
ビジュアルメディアデータの現在映像ブロックの寸法に関連する1つ以上の条件を特定するステップであり、前記現在映像ブロックにイントラブロックコピー(IBC)モードが適用される、ステップと、
前記現在映像ブロックの前記寸法に関連する前記1つ以上の条件が満たされるかに基づいて、前記現在映像ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップと、
前記動き候補リストに基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、
を有する方法。
【請求項2】
ビジュアルメディア処理のための方法であって、
映像の現在映像ブロックと前記映像のビットストリーム表現との間での変換のために、前記現在映像ブロックの寸法に関連する1つ以上の条件に基づく動きリスト構築プロセスを使用して、動き候補リストを構築するステップと、
前記動き候補リストを用いて前記変換を実行するステップであり、前記動き候補リストは、ゼロ個以上のイントラブロックコピーモード候補及び/又はゼロ個以上のアドバンスト動きベクトル予測子候補を含む、ステップと、
を有する方法。
【請求項3】
前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、空間マージ候補の導出をスキップすることを有する、請求項1乃至2のいずれか一項に記載の方法。
【請求項4】
前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、履歴ベース動きベクトル候補の導出をスキップすることを有する、請求項1乃至2のいずれか一項に記載の方法。
【請求項5】
前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、ペアワイズマージ候補の導出をスキップすることを有する、請求項1乃至2のいずれか一項に記載の方法。
【請求項6】
前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、最大剪定処理の総数を減少させることを有する、請求項1乃至2のいずれか一項に記載の方法。
【請求項7】
前記最大剪定処理の総数はゼロに減少される、請求項6に記載の方法。
【請求項8】
前記1つ以上の条件は、前記現在映像ブロックの幅と前記現在映像ブロックの高さとの積が閾値以下である場合に満たされる、請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
前記閾値は64、32又は16である、請求項8に記載の方法。
【請求項10】
前記1つ以上の条件は、前記現在映像ブロックの幅及び/又は前記現在映像ブロックの高さが閾値未満である場合に満たされる、請求項1乃至9のいずれか一項に記載の方法。
【請求項11】
前記閾値は4又は8である、請求項10に記載の方法。
【請求項12】
前記動き候補リストは、IBCマージリスト又はIBC動きベクトル予測リストを含む、請求項1乃至2のいずれか一項に記載の方法。
【請求項13】
ビジュアルメディア処理のための方法であって、
ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記変換のために符号化技術が無効にされることの決定を行うステップであり、前記ビットストリーム表現は、前記符号化技術のためのマージ候補の最大数がゼロであることを指し示すフィールドを含むように構成される、ステップと、
前記符号化技術が無効にされることの前記決定に基づいて前記変換を実行するステップと、
を有する方法。
【請求項14】
前記ビットストリーム表現は更に、前記符号化技術のためのマージ候補の前記最大数がゼロであることを前記フィールドが指し示すことに基づいて、1つ以上の構文要素のシグナリングをスキップするように構成される、請求項13に記載の方法。
【請求項15】
前記符号化技術は、前記現在映像ブロックのサンプルが前記現在映像ブロックの映像領域内の他のサンプルから符号化されるものであるイントラブロックコピーに相当する、請求項13に記載の方法。
【請求項16】
前記符号化技術はサブブロック符号化技術である、請求項13に記載の方法。
【請求項17】
前記サブブロック符号化技術は、アフィン符号化技術又は代替動きベクトル予測子技術である、請求項16に記載の方法。
【請求項18】
適用される前記符号化技術は、結合イントラ-イントラ予測(CIIP)、幾何学的パーティションモード(GPM)、デコーダ動きベクトル精緻化(DMVR)、サブブロックマージ、イントラブロックコピーマージ、通常マージ、又は動きベクトル差付きマージ(MMVD)のうちの1つを含む、請求項13乃至14のいずれか一項に記載の方法。
【請求項19】
ビジュアルメディア処理のための方法であって、
現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換のために、ルールを用いて決定を行うステップであり、前記ルールは、前記ビットストリーム表現内の第1の構文要素が、前記現在映像ブロックに適用される少なくとも1つの符号化技術に関連するマージ候補の最大数を指し示す前記ビットストリーム表現内の第2の構文要素に基づいて条件付きで含められることを規定する、ステップと、
前記決定に基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での前記変換を実行するステップと、
を有する方法。
【請求項20】
前記第1の構文要素はマージフラグに相当する、請求項19に記載の方法。
【請求項21】
前記第1の構文要素はスキップフラグに相当する、請求項19に記載の方法。
【請求項22】
マージ候補の前記最大数はゼロである、請求項19乃至21のいずれか一項に記載の方法。
【請求項23】
前記第2の構文要素は、前記ビットストリーム表現に含められることからスキップされ、当該方法は更に、
前記第2の構文要素がゼロであると推定するステップ、
を有する、請求項22に記載の方法。
【請求項24】
前記少なくとも1つの符号化技術は、結合イントラ-イントラ予測(CIIP)、幾何学的パーティションモード(GPM)、デコーダ動きベクトル精緻化(DMVR)、サブブロックマージ、イントラブロックコピーマージ、通常マージ、又は動きベクトル差付きマージ(MMVD)を含む、請求項19乃至23のいずれか一項に記載の方法。
【請求項25】
前記ルールは更に、前記第1の構文要素がブールの真に相当し且つ前記少なくとも1つの符号化技術が有効にされることを特定することを規定する、請求項19乃至24のいずれか一項に記載の方法。
【請求項26】
前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対してイントラブロックコピー(IBC)技術を無効にすることを規定する、請求項25に記載の方法。
【請求項27】
前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対して動きベクトル差付きマージ(MMVD)技術を無効にすることを規定する、請求項25に記載の方法。
【請求項28】
前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対して結合イントラ-イントラ予測(CIIP)技術を無効にすることを規定する、請求項25に記載の方法。
【請求項29】
前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対して幾何学的パーティションモード(GPM)技術を無効にすることを規定する、請求項25に記載の方法。
【請求項30】
前記変換は、前記現在映像ブロックから前記ビットストリーム表現を生成することを含む、請求項1乃至29のいずれかに記載の方法。
【請求項31】
前記変換は、前記ビットストリーム表現から前記現在映像ブロックのサンプルを生成することを含む、請求項1乃至29のいずれかに記載の方法。
【請求項32】
請求項1乃至29のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像処理装置。
【請求項33】
請求項1乃至29のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像符号化装置。
【請求項34】
請求項1乃至29のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像復号装置。
【請求項35】
コードを格納したコンピュータ読み取り可能媒体であって、前記コードは、実行時にプロセッサに請求項1乃至29のいずれかに記載の方法を実行させる、コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【0001】
パリ条約に基づく適用可能な特許法及び/又は規則の下で、この出願は、2019年6月4日に出願された国際特許出願第PCT/CN2019/089970号の優先権及び利益を適時に主張して行われる。法律の下での全ての目的のために、上記出願の開示全体を、この出願の開示の一部として援用する。
【0002】
この文書は、映像及び画像の符号化及び復号技術に関する。
【背景技術】
【0003】
デジタル映像は、インターネット及び他のデジタル通信ネットワークにおいて最大の帯域幅使用を占めている。映像を受信して表示することが可能な接続ユーザ装置の数が増えるにつれて、デジタル映像使用に対する帯域幅需要が増加し続けることが予期される。
【発明の概要】
【0004】
開示される技術は、例えば三角分割モードなどの非矩形分割を用いて映像ビットストリームの符号化又は復号を実行するために、映像又は画像デコーダ又はエンコーダの実施形態によって使用され得る。
【0005】
一態様例において、ビジュアルメディア処理の方法が開示される。当該方法は、ビジュアルメディアデータの第1の映像ブロックが幾何学的分割モード(GPM)を使用し、ビジュアルメディアデータの第2の映像ブロックが非GPMモードを使用することを決定するステップと、統一剪定プロセスに基づいて、前記第1の映像ブロックのための第1のマージリスト及び前記第2の映像ブロックのための第2のマージリストを構築するステップであり、当該第1のマージリスト及び当該第2のマージリストはマージ候補を有し、前記統一剪定プロセスは、マージリストに新たなマージ候補を、該新たなマージ候補の動き情報と該マージリスト内の少なくとも1つのマージ候補の動き情報とを比較することに基づいて追加することを含む、ステップと、を含み、前記GPMは、前記第1の映像ブロックを、動き予測を別々に適用する複数の予測パーティションに分けることを有し、少なくとも1つのパーティションは、非矩形の形状を持つ。
【0006】
他の一態様例において、別のビジュアルメディア処理の方法が開示される。当該方法は、ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記現在映像ブロックに適用可能な動き情報の初期値をルールに基づいて決定するステップであり、前記ルールは、前記現在映像ブロックに対してサブブロックベース時間動きベクトル予測子コーディング(SbTMVP)モードが利用可能であるかを、前記現在映像ブロックの隣接ブロックの参照リスト(リストXと表記)に基づいて検査することを規定し、ただし、Xは整数であり、Xの値は、少なくとも、前記隣接ブロックの符号化条件に依存する、ステップと、前記決定に基づいて前記変換を実行するステップと、を含む。
【0007】
更なる他の一態様例において、別のビジュアルメディア処理の方法が開示される。当該方法は、ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記現在映像ブロックの1つ以上のサブブロックに対する1つ以上のコロケート動きベクトルをルールに基づいて導出するステップであり、前記ルールは、前記現在映像ブロックを前記ビットストリーム表現へと符号化するのに使用される符号化ツールに関係なく前記1つ以上のコロケート動きベクトルを導出する統一導出プロセスを使用することを規定する、ステップと、前記1つ以上のコロケート動きベクトルを有するマージリストを用いて前記変換を実行するステップと、を含む。
【0008】
更なる他の一態様例において、別のビジュアルメディア処理の方法が開示される。当該方法は、ビジュアルメディアデータの現在映像ブロックの寸法に関連する1つ以上の条件を特定するステップであり、前記現在映像ブロックにイントラブロックコピー(IBC)モードが適用される、ステップと、前記現在映像ブロックの前記寸法に関連する前記1つ以上の条件が満たされるかに基づいて、前記現在映像ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップと、前記動き候補リストに基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を含む。
【0009】
更なる他の一態様例において、別のビジュアルメディア処理の方法が開示される。当該方法は、ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記変換のために符号化技術が無効にされることの決定を行うステップであり、前記ビットストリーム表現は、前記符号化技術のためのマージ候補の最大数がゼロであることを指し示すフィールドを含むように構成される、ステップと、前記符号化技術が無効にされることの前記決定に基づいて前記変換を実行するステップと、を含む。
【0010】
更なる他の一態様例において、別のビジュアルメディア処理の方法が開示される。当該方法は、現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換のために、ルールを用いて決定を行うステップであり、前記ルールは、前記ビットストリーム表現内の第1の構文要素が、前記現在映像ブロックに適用される少なくとも1つの符号化技術に関連するマージ候補の最大数を指し示す前記ビットストリーム表現内の第2の構文要素に基づいて条件付きで含められることを規定する、ステップと、前記決定に基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での前記変換を実行するステップと、を含む。
【0011】
他の一態様例において、上述の方法は、プロセッサを有するビデオデコーダ装置によって実装され得る。
【0012】
他の一態様例において、上述の方法は、プロセッサを有するビデオエンコーダ装置によって実装され得る。
【0013】
更なる他の一態様例において、これらの方法は、プロセッサ実行可能命令の形態で具現化されてコンピュータ読み取り可能プログラム媒体に格納され得る。
【0014】
これら及び他の態様が本文書に更に記載される。
【図面の簡単な説明】
【0015】
【
図1】マージ候補リスト構築のための導出プロセスを示している。
【
図3】空間マージ候補の冗長性検査に考慮される候補ペアの例を示している。
【
図4】N×2N及び2N×Nパーティションの第2の予測ユニット(PU)の位置の例を示している。
【
図5】時間マージ候補に対する動きベクトルスケーリングの説明図を示している。
【
図6】時間マージ候補C0及びC1の候補位置の例を示している。
【
図8】動きベクトル予測候補に関する導出プロセスの例を示している。
【
図9】空間動きベクトル候補に対する動きベクトルスケーリングの例を示している。
【
図10】4パラメータアフィンモード(左)及び6パラメータアフィンモデル(右)に関する単純化したアフィン動きモデルの例を示している。
【
図11】サブブロックごとのアフィン動きベクトル場の例を示している。
【
図12】アフィンマージモードに関する候補位置の例を示している。
【
図13】変更マージリスト構築プロセスの例を示している。
【
図14】三角パーティションベースのインター予測の例を示している。
【
図15】第1の重み付け係数グループを適用するCUの例を示している。
【
図16】動きベクトルストレージの例を示している。
【
図17】最終動きベクトル表現(UMVE)探索プロセスの例を示している。
【
図19】DMVRにおけるリスト0とリスト1との間でミラーリングされるMVD(0,1)の例を示している。
【
図20】1回のイテレーションで検査され得るMVを示している。
【
図23】映像処理方法の一例に関するフローチャートである。
【
図24】開示される技術が実装され得る映像処理システムの一例のブロック図である。
【
図25】ビジュアルメディア処理方法の一例に関するフローチャートである。
【
図26】ビジュアルメディア処理方法の一例に関するフローチャートである。
【
図27】ビジュアルメディア処理方法の一例に関するフローチャートである。
【
図28】ビジュアルメディア処理方法の一例に関するフローチャートである。
【
図29】ビジュアルメディア処理方法の一例に関するフローチャートである。
【
図30】ビジュアルメディア処理方法の一例に関するフローチャートである。
【
図31】ビジュアルメディア処理方法の一例に関するフローチャートである。
【発明を実施するための形態】
【0016】
本文書は、解凍又は復号されたデジタル映像又は画像の品質を向上させるために画像又は映像ビットストリームのデコーダによって使用されることができる様々な技術を提供する。簡潔さのため、用語“映像”は、ここでは、一連のピクチャ(伝統的に映像(ビデオ)と呼ばれる)及び個々の画像の両方を含むように使用される。また、ビデオエンコーダも、更なる符号化のために使用される復号フレームを再構成するために、符号化のプロセスにおいてこれらの技術を実装し得る。
【0017】
本文書では、理解を容易にするためにセクション見出しを使用するが、それらは実施形態及び技術を対応するセクションに限定するものではない。従って、1つのセクションからの実施形態を、他のセクションからの実施形態と組み合わせることができる。
【0018】
1. 概要
この文献は映像符号化技術に関する。具体的には、これは、三角予測モードを含むマージコーディングに関連する。これは、HEVCのような既存の映像符号化標準に適用されてもよいし、成立される標準(バーサタイルビデオコーディング)に適用されてもよい。これは、将来の映像符号化標準又は映像コーデックにも適用可能である。
【0019】
2. 冒頭説明
映像符号化標準は、主に、周知のITU-T及びISO/IEC標準の開発を通じて発展してきた。ITU-TがH.261及びH.263を作成し、ISO/IECがMPEG-1及びMPEG-4 Visualを作成し、そして、これら2つの組織が共同で、H.262/MPEG-2 Video及びH.264/MPEG-4 AVC(Advanced Video Coding)及びH.265/HEVC標準を作成した。H.262以来、映像符号化標準は、時間予測に加えて変換符号化が利用されるハイブリッド映像符号化構造に基づいている。HEVCの先の将来の映像符号化技術を探求するため、2015年にVCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、数多くの新しい方法が、JVETによって採用され、共同探索モデルJEM(Joint Exploration Model)と名付けられたリファレンスソフトウェアに入れられてきた。2018年4月には、HEVCと比較して50%のビットレート低減を目指すVVC標準に取り組むべく、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間でJVET(Joint Video Expert Team)を発足させた。
【0020】
VVCドラフトの最新版、すなわち、バーサタイルビデオコーディング(ドラフト5)は:
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v7.zip
にて見つけることができる。
【0021】
VTMと呼ばれるVVCの最新リファレンスソフトウェアは:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0
にて見つけることができる。
【0022】
2.1 HEVC/H.265におけるインター予測
インター符号化される符号化ユニット(CU)について、それは、パーティションモードに従って、1つの予測ユニット(PU)、2つのPUで符号化され得る。インター予測による各PUは、1つ又は2つの参照ピクチャリストに関する動きパラメータを有する。動きパラメータは、動きベクトル及び参照ピクチャインデックスを含む。2つの参照ピクチャリストのうちの1つの使用がまた、inter_pred_idcを用いて信号伝達され得る。動きベクトルは、予測子に対するデルタとして明示的に符号化され得る。
【0023】
CUがスキップモードで符号化される場合、そのCUに1つのPUが関連付けられ、有意な残差係数は存在せず、符号化された動きベクトルデルタ又は参照ピクチャインデックスは存在しない。マージモードが規定されており、それによれば、現在PUに関する動きパラメータが、空間候補及び時間候補を含め、隣接するPUから取得される。マージモードは、スキップモードに対してだけでなく、任意のインター予測PUに適用されることができる。マージモードに代わるものは、動きパラメータの明示的な伝送であり、それにおいては、動きベクトル(より正確には、動きベクトル予測子と比較した動きベクトル差(MVD))、各参照ピクチャリストに関する対応する参照ピクチャインデックス、及び参照ピクチャリスト使用が、PUごとに明示的に信号伝達される。このようなモードを、この開示においては、アドバンスト動きベクトル予測(Advanced motion vector prediction;AMVP)と呼ぶ。
【0024】
2つの参照ピクチャリストのうちの一方が使用されることを信号伝達が指し示すとき、そのPUは、1つのブロックのサンプルから生成される。これは、“片予測(uni-prediction)”と呼ばれている。片予測は、Pスライス及びBスライスの両方で利用可能である。
【0025】
それら参照ピクチャリストの両方が使用されることを信号伝達が指し示すとき、そのPUは、2つのブロックのサンプルから生成される。これは、“双予測(bi-prediction)”と呼ばれている。双予測は、Bスライスでのみ利用可能である。
【0026】
以下のテキストは、HEVCにて規定されるインター予測モードについての詳細を提供するものである。マージモードから説明を始めることとする。
【0027】
2.1.1 参照ピクチャリスト
HEVCにおいて、インター予測という用語は、現在復号されているピクチャ以外の参照ピクチャのデータ要素(例えば、サンプル値又は動きベクトル)から導出される予測を表記するために使用される。H.264/AVCにおいてと同様に、ピクチャは複数の参照ピクチャから予測されることができる。インター予測に使用される参照ピクチャは、1つ以上の参照ピクチャリストに編成される。予測信号を作成するためにリスト内の参照ピクチャのうちのどれが使用されるべきかを参照インデックスが特定する。
【0028】
Pスライスには、リスト0なる単一の参照ピクチャリストが使用され、Bスライスには、リスト0及びリスト1なる2つの参照ピクチャリストが使用される。なお、リスト0/1に含まれる参照ピクチャは、キャプチャ/表示順に関して過去及び将来のピクチャからであり得る。
【0029】
2.1.2 マージモード
2.1.2.1 マージモードに関する候補の導出
マージモードを使用してPUが予測されるとき、マージ候補リスト内のエントリを指すインデックスがビットストリームから構文解析され、動き情報を取り出すために使用される。このリストの構築は、HEVC標準に規定されており、以下の一連のステップに従って要約され得る:
・ ステップ1:当初候補導出
- ステップ1.1:空間候補導出
- ステップ1.2:空間候補に関する冗長性検査
- ステップ1.3:時間候補導出
・ ステップ2:追加候補挿入
- ステップ2.1:双予測候補の作成
- ステップ2.2:ゼロ動き候補の挿入。
【0030】
図1にも、これらのステップを概略的に示す。空間マージ候補導出のために、5つの異なる位置にある候補の中から最大4つのマージ候補が選択される。時間マージ候補導出のために、2つの候補の中から最大1つのマージ候補が選択される。デコーダで各PUに対して一定数の候補が仮定されるので、ステップ1から得られた候補の数が、スライスヘッダ内で信号伝達されるマージ候補の最大数(MaxNumMergeCand)に達しない場合、追加候補が生成される。候補の数は一定であるので、最良のマージ候補のインデックスが、truncated unary binarization(TU)を用いて符号化される。CUのサイズが8に等しい場合、現在CUの全てのPUが、2N×2N予測ユニットのマージ候補リストと同じものである単一のマージ候補リストを共有する。
【0031】
以下にて、上述のステップに関連する処理を詳述する。
【0032】
2.1.2.2 空間候補導出
空間マージ候補の導出では、
図2に示す位置にある候補の中から最大4つのマージ候補が選択される。導出の順序はA
1、B
1、B
0、A
0、及びB
2である。位置B
2は、位置A
1、B
1、B
0、A
0のうちのいずれかのPUが利用可能でない場合(例えば、それが別のスライス又はタイルに属するため)又はイントラ符号化される場合にのみ考慮される。位置A
1の候補が追加された後、残りの候補の追加は、符号化効率が向上されるように、同じ動き情報を有する候補がリストから除外されることを保証する冗長性検査にかけられる。計算複雑性を低減させるために、前述の冗長性検査では、可能な全ての候補ペアが考慮されるわけではない。その代わりに、
図3の矢印で結び付けられたペアのみが考慮され、冗長性検査に使用される対応する候補が同じ動き情報を持たない場合にのみ、候補がリストに追加される。重複動き情報の別の発生源は、2N×2Nとは異なる分割に関連する“第2のPU”である。一例として、
図4は、それぞれ、N×2N及び2N×Nの場合の第2のPUを示している。現在PUがN×2Nに分割されるとき、A
1にある候補はリスト構築に考慮されない。実際、この候補を追加することは、同じ動き情報を有する2つの予測ユニットにつながることになり、それは、符号化ユニット内に1つのみのPUを有することには冗長である。同様に、現在PUが2N×Nに分割されるとき、位置B
1は考慮されない。
【0033】
2.1.2.3 時間候補導出
このステップでは、1つの候補のみがリストに追加される。特に、この時間マージ候補の導出では、コロケートピクチャ内のコロケートPUに基づいて、スケーリングされた動きベクトルが導出される。コロケートPUの導出に使用される参照ピクチャリストは、スライスヘッダ内で明示的に信号伝達される。時間マージ候補に関するスケーリングされた動きベクトルは、
図5に点線で示すようにして得られ、それは、POC距離tb及びtdを用いて、コロケートPU(col_PU)の動きベクトルからスケーリングされるものであり、ここで、tbは、現在ピクチャ(curr_pic)の参照ピクチャ(curr_ref)と現在ピクチャとの間のPOC差であると定義され、tdは、コロケートピクチャ(col_pic)の参照ピクチャ(col_ref)とコロケートピクチャとの間のPOC差であると定義される。時間マージ候補の参照ピクチャインデックスは、ゼロに等しく設定される。スケーリングプロセスの実際の具現化はHEVC仕様書に定められている。Bスライスでは、一方が参照ピクチャリスト0に関し、他方が参照ピクチャリスト1に関するものである2つの動きベクトルが得られ、これらが組み合わされて、双予測マージ候補をなす。
【0034】
2.1.2.4 コロケートピクチャ及びコロケートPU
TMVPが有効にされる場合(すなわち、slice_temporal_mvp_enabled_flagが1に等しい)、コロケートピクチャを表す変数ColPicが、次のように導出される:
- 現在スライスがBスライスであり、信号伝達されるcollocated_from_10_flagが0に等しい場合、ColPicはRefPicList1[collocated_ref_idx]に等しく設定され;
- それ以外の場合(slice_typeがBに等しく且つcollocated_from_l0_flagが1に等しい、又はslice_typeがPに等しい)、ColPicはRefPicList0[collocated_ref_idx]に等しく設定され;
ただし、collocated_ref_idx及びcollocated_from_10_flagは、スライスヘッダ内で信号伝達され得る2つの構文要素である。
【0035】
参照フレームに属するコロケートPU(Y)では、
図6に示すように、時間候補に関する位置が、候補C
0及びC
1の間で選択される。位置C
0のPUが利用可能でない、又はイントラ符号化される、又は現在符号化ツリーユニット(CTU、最大符号化ユニットLCUとしても知られる)行の外側にある場合、位置C
1が使用される。それ以外の場合には、位置C
0が時間マージ候補の導出に使用される。
【0036】
関連する構文要素は、次のように記述される:
【表1】
【0037】
2.1.2.5 TMVP候補に関するMVの導出
より具体的には、TMVP候補を導出するために、以下のステップが実行される:
1)参照ピクチャリストX=0に設定し、ターゲット参照ピクチャを、リストX内の0に等しいインデックスを有する参照ピクチャ(すなわちcurr_ref)に設定する;
2)現在スライスがBスライスである場合、参照ピクチャリストX=1に設定し、ターゲット参照ピクチャを、リストX内の0に等しいインデックスを有する参照ピクチャ(すなわちcurr_ref)に設定する。curr_refを指すリストXに関するMVを取得するために、コロケート動きベクトルの導出プロセスを呼び出す。
【0038】
コロケート動きベクトルの導出プロセスを、次のサブセクション2.1.2.5.1で説明する。
【0039】
2.1.2.5.1 コロケート動きベクトルの導出プロセス
コロケートブロックについて、それは、片予測又は双予測でイントラ符号化又はインター符号化され得る。それがイントラ符号化される場合、TMVP候補は利用不可に設定される。
【0040】
それがリストAからの片予測である場合、リストAの動きベクトルがターゲット参照ピクチャリストXにスケーリングされる。
【0041】
それが双予測であり且つターゲット参照ピクチャリストがXである場合、リストAの動きベクトルがターゲット参照ピクチャリストXにスケーリングされ、Aは、以下のルールに従って決定される:
- 参照ピクチャがいずれも、現在ピクチャに比べて大きいPOC値を持たない場合、AはXに等しく設定される;
- そうでない場合、Aはcollocated_from_10_flagに等しく設定される。
【0042】
JCTVC-W1005-v4の関連作業草案は、次の通り記載されている。
【0043】
8.5.3.2.9 コロケート動きベクトルの導出プロセス
このプロセスへの入力は以下である:
- 現在予測ブロックを規定する変数currPb、
- ColPicによって規定されるコロケートピクチャの内側のコロケート予測ブロックを規定する変数colPb、
- ColPbによって規定されるコロケートルマ予測ブロックの左上サンプルを、ColPicによって規定されるコロケートピクチャの左上ルマサンプルに対して規定するルマ位置(xColPb,yColPb)、
- Xを0又は1とする参照インデックスrefIdxLX。
【0044】
このプロセスの出力は以下である:
- 動きベクトル予測mvLXCol
- 利用可用性フラグavailableFlagLXCol。
【0045】
変数currPicは現在ピクチャを規定する。
【0046】
配列predFlagL0Col[x][y]、mvL0Col[x][y]、及びrefIdxL0Col[x][y]が、ColPicによって規定されるコロケートピクチャのそれぞれPredFlagL0[x][y]、MvL0[x][y]、及びRefIdxL0[x][y]に等しく設定され、配列predFlagL1Col[x][y]、mvL1Col[x][y]、及びrefIdxL1Col[x][y]が、ColPicによって規定されるコロケートピクチャのそれぞれPredFlagL1[x][y]、MvL1[x][y]、及びRefIdxL1[x][y]に等しく設定される。
【0047】
変数mvLXCol及びavailableFlagLXColが、次のように導出される:
- colPbがイントラ予測モードで符号化される場合、mvLXColの両方のコンポーネントが0に等しく設定され、availableFlagLXColが0に等しく設定される。
- それ以外の場合、動きベクトルmvCol、参照インデックスrefIdxCol、及び参照リスト識別子listColが、次のように導出される:
- predFlagL0Col[xColPb][yColPb]が0に等しい場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvL1Col[xColPb][yColPb]、refIdxL1Col[xColPb][yColPb]、及びL1に等しく設定される;
- そうでなく、predFlagL0Col[xColPb][yColPb]が1に等しく且つpredFlagL1Col[xColPb][yColPb]が0に等しい場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvL0Col[xColPb][yColPb]、refIdxL0Col[xColPb][yColPb]、及びL0に等しく設定される;
- それ以外の場合(predFlagL0Col[xColPb][yColPb]が1に等しく且つpredFlagL1Col[xColPb][yColPb]が1に等しい)、以下の割り当てが行われる:
- NoBackwardPredFlagが1に等しい場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvLXCol[xColPb][yColPb]、refIdxLXCol[xColPb][yColPb]、及びLXに等しく設定される;
- それ以外の場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvLNCol[xColPb][yColPb]、refIdxLNCol[xColPb][yColPb]、及びLNに等しく設定され、Nはcollocated_from_l0_flagの値である;
そして、mvLXCol及びavailableFlagLXColが、次のように導出される:
- LongTermRefPic(currPic,currPb,refIdxLX,LX)がLongTermRefPic(ColPic,colPb,refIdxCol,listCol)に等しくない場合、mvLXColの両方のコンポーネントが0に等しく設定され、availableFlagLXColが0に等しく設定される;
- それ以外の場合、変数availableFlagLXColが1に等しく設定され、refPicListCol[refIdxCol]が、ColPicによって規定されるコロケートピクチャ内の予測ブロックcolPbを含むスライスの参照ピクチャリストlistCol内の参照インデックスrefIdxColを有するピクチャであるように設定され、以下が適用される:
colPocDiff=DiffPicOrderCnt(ColPic,refPicListCol[refIdxCol]) (2-1)
currPocDiff=DiffPicOrderCnt(currPic,RefPicListX[refIdxLX]) (2-2)
- RefPicListX[refIdxLX]が長期参照ピクチャである、又はcolPocDiffがcurrPocDiffに等しい場合、mvLXColが、次のように導出される:
mvLXCol=mvCol (2-3)
- それ以外の場合、次のように、mvLXColが、動きベクトルmvColのスケーリングされたバージョンとして導出され:
tx=(16384+(Abs(td)>>1))/td (2-4)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (2-5)
mvLXCol=Clip3(-32768,32767,Sign(distScaleFactor*mvCol)*
((Abs(distScaleFactor*mvCol)+127)>>8)) (2-6)
ここで、td及びtbは、次のように導出される:
td=Clip3(-128,127,colPocDiff) (2-7)
tb=Clip3(-128,127,currPocDiff) (2-8)
【0048】
NoBackwardPredFlagの定義は、以下である:
変数NoBackwardPredFlagは、次のように導出される:
- DiffPicOrderCnt(aPic,CurrPic)が、現在スライスのRefPicList0又はRefPicList1内の各ピクチャaPicに対して0以下である場合、NoBackwardPredFlagは1に設定される;
- それ以外の場合、NoBackwardPredFlagは0に等しく設定される。
【0049】
2.1.1.4 追加候補挿入
空間及び時間マージ候補の他に、結合双予測マージ候補及びゼロマージ候補という2つの更なるタイプのマージ候補が存在する。結合双予測マージ候補は、空間及び時間マージ候補を利用することによって生成される。結合双予測マージ候補はBスライスのみに使用される。結合双予測候補は、当初候補の第1の参照ピクチャリスト動きパラメータを別のものの第2の参照ピクチャリスト動きパラメータと組み合わせることによって生成される。これら2つのタプルが異なる動き仮説を提供する場合、それらは新たな双予測候補を形成する。一例として、
図7は、mvL0とrefIdxL0、又はmvL1とrefIdxL1、を有するものである元のリスト(左側)内の2つの候補を用いて、最終的なリスト(右側)に追加される結合双予測マージ候補が作成される場合を示している。これらの追加マージ候補を生成するために考慮される組み合わせに関するルールが数多く存在する。
【0050】
マージ候補リストの残りのエントリを埋め、それ故にMaxNumMergeCand容量に達するように、ゼロ動き候補が挿入される。これらの候補は、ゼロの空間変位と、ゼロから始まり、新たなゼロ動き候補がリストに追加される度に増加する参照ピクチャインデックスと、を有する。最後に、これらの候補に対して冗長性検査は行われない。
【0051】
2.1.3 AMVP
AMVPは、隣接PUとの動きベクトルの空間-時間相関を利用し、それが動きパラメータの明示的伝送に使用される。各参照ピクチャリストに対して、先ず、左上の時間的に隣接するPU位置の利用可能性を検査し、冗長候補を除去し、そして、ゼロベクトルを追加して候補リストを一定長さにすることによって、動きベクトル候補リストが構築される。そして、エンコーダは、候補リストから最良の予測子を選択し、選択した候補を指し示す対応するインデックスを送信することができる。同様に、マージインデックス信号伝達では、最良の動きベクトル候補のインデックスがtruncated unaryを用いて符号化される。この場合に符号化される最大値は2である(
図8を参照)。以下のセクションにて、動きベクトル予測候補の導出プロセスの詳細を提供する。
【0052】
2.1.3.1 AMVP候補の導出
図8は、動きベクトル予測候補に関する導出プロセスをまとめている。
【0053】
動きベクトル予測では、空間動きベクトル候補及び時間動きベクトル候補の2種類の動きベクトル候補が考慮される。空間動きベクトル候補導出では、
図2で示したような5つの異なる位置にある各PUの動きベクトルに基づいて、最終的に2つの動きベクトル候補が導出される。
【0054】
時間動きベクトル候補導出では、2つの異なるコロケート位置に基づいて導出されるものである2つの候補から、1つの動きベクトル候補が選択される。空間-時間候補の第1のリストが作成された後、リスト内の重複した動きベクトル候補が除去される。可能性ある候補の数が2よりも多い場合、関連する参照ピクチャリスト内でその参照ピクチャインデックスが1よりも大きい動きベクトル候補がリストから削除される。空間-時間動きベクトル候補の数が2より少ない場合、追加のゼロ動きベクトル候補がリストに追加される。
【0055】
2.1.3.2 空間動きベクトル候補
空間動きベクトル候補の導出においては、
図2で示したような位置にあるPUから導出されるものである5つの可能性ある候補の中の最大2つの候補が考慮され、それらの位置は動きマージの位置と同じである。現在PUの左側についての導出の順序が、A
0、A
1、及びスケーリングされたA
0、スケーリングされたA
1として定められる。現在PUの上側についての導出の順序が、B
0、B
1、B
2、スケーリングされたB
0、スケーリングされたB
1、スケーリングされたB
2として定められる。従って、各側について、動きベクトル候補として使用され得る4つのケースが存在し、2つのケースは空間スケーリングを使用する必要がなく、2つのケースでは空間スケーリングが使用される。それら4つの異なるケースは、以下のようにまとめられる:
・ 空間スケーリングなし
- (1)同一参照ピクチャリスト、且つ同一参照ピクチャインデックス(同一POC)
- (2)異なる参照ピクチャリスト、しかし、同一参照ピクチャ(同一POC)
・ 空間スケーリング
- (3)同一参照ピクチャリスト、しかし、異なる参照ピクチャ(異なるPOC)
- (4)異なる参照ピクチャリスト、且つ異なる参照ピクチャ(異なるPOC)。
【0056】
空間スケーリングなしのケースが最初に検査され、空間スケーリングが続く。空間スケーリングは、参照ピクチャリストにかかわらず、隣接PUの参照ピクチャと現在PUの参照ピクチャとの間でPOCが異なる場合に考慮される。左候補の全てのPUが利用可能でない又はイントラ符号化される場合、左及び上のMV候補の並列導出を助けるために、上の動きベクトルに対するスケーリングが可能にされる。それ以外の場合には、上の動きベクトルに対して空間スケーリングは可能にされない。
【0057】
空間スケーリングプロセスでは、
図9として示すように、隣接PUの動きベクトルが、時間スケーリングに関してと同様のやり方でスケーリングされる。主な違いは、参照ピクチャリスト及び現在PUのインデックスが入力として与えられることであり、実際のスケーリングプロセスは時間スケーリングのそれと同じである。
【0058】
2.1.3.3 時間動きベクトル候補
参照ピクチャインデックスの導出は別にして、時間マージ候補の導出のための全てのプロセスは、空間動きベクトル候補の導出に関してと同じである(
図6を参照)。参照ピクチャインデックスがデコーダに信号伝達される。
【0059】
2.2 VVCにおけるインター予測方法
例えば、MVDを信号伝達するための適応動きベクトル差レゾリューション(Adaptive Motion Vector difference Resolution;AMVR)、動きベクトル差付きマージ(Merge with Motion Vector Differences;MMVD)、三角予測モード(Triangular prediction mode;TPM)、結合インター-イントラモード(Combined intra-inter prediction;CIIP)アドバンストTMVP(ATMVP、SbTMVPとしても知られる)、アフィン予測モード、一般化双予測(Generalized Bi-Prediction;GBI)、デコーダ側動きベクトル精緻化(Decoder-side Motion Vector Refinement;DMVR)、及び双方向オプティカルフロー(Bi-directional Optical flow;BIO、BDOFとしても知られる)などの、インター予測改良のための新たな符号化ツールが幾つか存在する。
【0060】
3つの異なるマージリスト構築プロセスがVVCでサポートされる:
1)サブブロックマージ候補リスト:これは、ATMVP候補及びアフィンマージ候補を含む。1つのマージリスト構築プロセスが、アフィンモード及びATMVPモードの双方で共有される。ここで、ATMVP候補及びアフィンマージ候補が順に追加され得る。サブブロックマージリストサイズはスライスヘッダ内で信号伝達され、最大値は5である;
2)通常マージリスト:インター符号化ブロックでは、1つのマージリスト構築プロセスが共有される。ここで、空間/時間マージ候補、HMVP、ペアワイズマージ候補、及びゼロ動き候補が、順に挿入され得る。通常マージリストサイズはスライスヘッダ内で信号伝達され、最大値は6である。MMVD、TPM、CIIPは、通常マージリストを当てにする;
3)IBCマージリスト:これは、通常マージリストと同様のやり方で行われる。
【0061】
同様に、3つのAMVPリストがVVCでサポートされる:
1)アフィンAMVP候補リスト;
2)通常AMVP候補リスト;
3)IBC AMVP候補リスト:JVET-N0843の採用によりIBCマージリストと同じ構築プロセス。
【0062】
2.2.1 VVCにおける符号化ブロック構造
VVCでは、ピクチャを正方形又は長方形のブロックに分割するために、四分木/二分木/三分木(Quad-Tree/Binary-Tree/Ternary-Tree;QT/BT/TT)構造が採用されている。
【0063】
QT/BT/TTの他に、VVCではIフレーム用に別個のツリー(デュアル符号化ツリーとしても知られる)も採用されている。別個のツリーでは、ルマコンポーネントとクロマコンポーネントとについて別々に符号化ブロック構造が信号伝達される。
【0064】
さらに、2~3の特定の符号化方法で符号化されるブロックを除いて(例えば、PUがTUに等しいがCUよりも小さいものであるイントラサブパーティション予測、及びPUはCUに等しいがTUはPUよりも小さいものである、インター符号化ブロックに対するサブブロック変換など)、CUはPU及びTUに等しく設定される。
【0065】
2.2.2 アフィン予測モード
HEVCでは、動き補償予測(motion compensation prediction;MCP)に並進動きモデルのみが適用されている。一方、現実世界では、例えばズームイン/アウト、回転、遠近動作、及び他の不規則な動きといった、多くの種類の動きが存在する。VVCでは、4パラメータアフィンモデル及び6パラメータアフィンモデルを用いて、簡略化されたアフィン変換動き補償予測が適用されている。
図10に示すように、ブロックのアフィン動き場が、4パラメータアフィンモデルでは2つの制御点動きベクトル(CPMV)、そして6パラメータアフィンモデルでは3つのCPMVによって記述される。
【0066】
ブロックの動きベクトル場(motion vector field;MVF)は、4パラメータアフィンモデル(4つのパラメータが変数a、b、e及びfとして規定される)では式(1)、そして6パラメータアフィンモデル(6つのパラメータが変数a、b、c、d、e及びfとして規定される)では式(2)の次式:
【数1】
によって記述され、ここで、(mv
h
0,mv
h
0)は、左上角の制御点の動きベクトルであり、(mv
h
1,mv
h
1)は、右上角の制御点の動きベクトルであり、(mv
h
2,mv
h
2)は左下角の制御点の動きベクトルであり、これら3つの動きベクトルの全てを制御点動きベクトル(CPMV)と呼び、(x,y)は、現在ブロック内の左上サンプルに対する代表点の座標を表し、(mv
h(x,y),mv
v(x,y))は、(x,y)にあるサンプルに関して導出される動きベクトルである。CP動きベクトルは、(アフィンAMVPモードにおいてのように)信号伝達されるか、あるいは、(アフィンマージモードにおいてのように)オンザフライで導出されるかし得る。w及びhは、現在ブロックの幅及び高さである。実際には、除算は、丸め演算を用いた右シフトによって実行される。VTMでは、代表点は、サブブロックの中心位置であると定められ、例えば、現在ブロック内の左上のサンプルに対するサブブロックの左上角の座標が(xs,ys)であるとき、代表点の座標は(xs+2,ys+2)であると定められる。各サブブロック(すなわち、VTMでは4×4)に対して、代表点を使用して、サブブロック全体の動きベクトルを導出する。
【0067】
動き補償予測を更に単純化するために、サブブロックベースのアフィン変換予測が適用される。各M×Nサブブロック(現行VVCではM及びNはどちらも4に設定される)の動きベクトルを導出するため、
図11に示すように、各サブブロックの中心サンプルの動きベクトルが、式(1)及び(2)に従って計算され、1/16の分数精度に丸められる。次いで、1/16ペル用の動き補償補間フィルタを適用して、導出された動きベクトルを有する各サブブロックの予測を生成する。1/16ペル用の補間フィルタはアフィンモードによって導入される。
【0068】
MCPの後、各サブブロックの高精度動きベクトルが丸められ、通常動きベクトルと同じ精度で保存される。
【0069】
2.2.3 ブロック全体に対するマージ
2.2.3.1 並進通常マージモードのマージリスト構築
2.2.3.1.1 履歴ベース動きベクトル予測(HMVP)
マージリスト設計とは異なり、VVCでは、履歴ベース動きベクトル予測(History-based Motion Vector Prediction;HMVP)法が採用されている。
【0070】
HMVPでは、先行して符号化された動き情報が格納される。先行符号化ブロックの動き情報はHMVP候補として定義される。複数のHMVP候補が、HMVPテーブルと名付けられたテーブルに格納され、このテーブルが、エンコード/デコードプロセス中にオンザフライで維持管理される。HMVPテーブルは、新たなタイル/LCU行/スライスを符号化/復号し始めるときにエンプティにされる。インター符号化ブロック及び非サブブロックの非TPMモードがあるとき常に、関連する動き情報が、新たなHMVP候補としてテーブルの最後のエントリに追加される。全体の符号化フローを
図12に示す。
【0071】
2.2.3.1.2 通常マージリスト構築プロセス
通常(regular)マージリスト(並進運動向け)の構築は、以下の一連のステップに従ってまとめることができる:
・ ステップ1:空間候補の導出;
・ ステップ2:HMVP候補の挿入;
・ ステップ3:ペアワイズ平均候補の挿入;
・ ステップ4:デフォルト動き候補。
【0072】
HMVP候補は、AMVP候補リスト構築プロセス及びマージ候補リスト構築プロセスの両方で使用され得る。
図13は、変更マージ候補リスト構築プロセス(ドット付きのボックスを用いて示す)を示している。TMVP候補の挿入後にマージ候補リストが満杯でない場合、HMVPテーブルに格納されたHMVP候補を用いてマージ候補リストを充たし得る。ブロックは通常、動き情報に関して、最も近い隣接ブロックと、より高い相関を持つことを考慮して、テーブル中のHMVP候補がインデックスの降順に挿入される。テーブルの最後のエントリが最初にリストに追加され、最初のエントリが最後に追加される。同様に、冗長性除去がHMVP候補に適用される。利用可能なマージ候補の総数が、信号伝達されることが許されるマージ候補の最大数に達すると、マージ候補リスト構築プロセスは終了される。
【0073】
なお、全ての空間/時間/HMVP候補が非IBCモードで符号化される。それ以外の場合、それは、通常マージ候補リストに追加されることが許されない。
【0074】
HMVPテーブルは、最大5つの通常動き候補を含み、それらの各々が唯一無二である。
【0075】
2.2.3.1.2.1 剪定プロセス
候補は、冗長性検査に使用される対応する候補が同じ動き情報を持たない場合にのみリストに追加される。このような比較プロセスを剪定(プルーニング)プロセスと呼ぶ。
【0076】
空間候補の間での剪定プロセスは、現在ブロックに対するTPMの使用に依存する。
【0077】
現在ブロックがTPMモードを用いずに符号化されるとき(例えば、通常マージ、MMVD、CIIP)、空間マージ候補に対するHEVC剪定プロセス(すなわち、5剪定)が利用される。
【0078】
2.2.4 三角予測モード(TPM)
VVCでは、インター予測のために三角パーティションモードがサポートされる。三角パーティションモードは、8×8以上であり且つMMVD又はCIIPモードではなくマージモードで符号化されるCUのみに適用される。これらの条件を満たすCUについて、三角パーティションモードが適用されるか否かを指し示すためにCUレベルのフラグが信号伝達される。
【0079】
このモードが使用される場合、CUは、
図14に示すように、対角スプリット又は逆対角スプリットのいずれかを用いて、2つの三角形のパーティションに等分される。CU内の各三角パーティションが、それ自身の動きを用いてインター予測され、各パーティションに対して片予測のみが許され、すなわち、各パーティションが、1つの動きベクトル及び1つの参照インデックスを有する。この片予測動き制約は、各CUに対して2つの動き補償予測のみが必要でされる従来の双予測と同じであることを確保するために適用される。
【0080】
現在CUが三角パーティションモードを使用して符号化されることをCUレベルフラグが指し示す場合、三角パーティションの方向(対角又は逆対角)を指し示すフラグ、及び2つのマージインデックス(各パーティションに対して1つ)が更に信号伝達される。三角パーティションの各々を予測した後、対角エッジ又は逆対角エッジに沿ったサンプル値が、適応重みを用いた混合処理を用いて調節される。これは、CU全体に関する予測信号であり、変換及び量子化プロセスは、他の予測モードにおいてのようにCU全体に適用される。最後に、三角パーティションモードを用いて予測されたCUの動き場が4×4単位で格納される。
【0081】
通常マージ候補リストは、追加の動きベクトル剪定なしで三角パーティションマージ予測のために再利用される。通常マージ候補リスト内の各マージ候補に対して、そのL0又はL1動きベクトルの一方且つそれのみが三角予測に使用される。加えて、L0対L1で動きベクトルを選択する順序は、そのマージインデックスパリティに基づく。このスキームを用いて、通常マージリストを直接的に使用することができる。
【0082】
2.2.4.1 TPM向けのマージリスト構築プロセス
基本的に、JVET-N0340で提案されるように通常マージリスト構築プロセスが適用される。しかし、いくらかの変更が加えられる。
【0083】
具体的には、以下が適用される:
1)剪定プロセスをどのように行うかは、現在ブロックに対するTPMの使用に依存し、
- 現在ブロックがTPMで符号化されない場合、空間マージ候補に適用されるHEVC 5剪定が呼び出される;
- そうでない場合(現在ブロックがTPMで符号化される場合)、新たな空間マージ候補を追加する時に完全剪定が適用される。すなわち、B1がA1と比較され、B0がA1及びB1と比較され、A0がA1、B1及びB0と比較され、そして、B2がA1、B1、A0及びB0と比較される;
2)B2からの動き情報を検査すべきかについての条件は、現在ブロックに対するTPMの使用に依存し、
- 現在ブロックがTPMで符号化されない場合、B2を検査する前に4つ未満の空間マージ候補しか存在しない場合にのみ、B2がアクセスされて検査される;
- そうでない場合(現在ブロックがTPMで符号化される場合)、B2を追加する前に利用可能な空間マージ候補が何個あるかに関係なく、B2は常にアクセスされて検査される。
【0084】
2.2.4.2 適応重み付けプロセス
各三角予測ユニットを予測した後、CU全体についての最終的な予測を導出するために、2つの三角予測ユニット間の対角線エッジに適応重み付けプロセスが適用される。2つの重み付け係数グループが、以下のように定義される:
・ 第1重み付け係数グループ:輝度サンプル及び色度サンプルに対して、それぞれ、{7/8,6/8,4/8,2/8,1/8}及び{7/8,4/8,1/8}が使用される;
・ 第2重み付け係数グループ:輝度サンプル及び色度サンプルに対して、それぞれ、{7/8,6/8,5/8,4/8,3/8,2/8,1/8}及び{6/8,4/8,2/8}が使用される。
【0085】
重み付け係数グループは、2つの三角予測ユニットの動きベクトルの比較に基づいて選択される。第2重み付け係数グループは、以下の条件のうちのいずれか1つが真である場合に使用される:
- 2つの三角予測ユニットの参照ピクチャが互いに異なる;
- 2つの動きベクトルの水平値の差の絶対値が16ピクセルよりも大きい;
- 2つの動きベクトルの垂直値の差の絶対値が16ピクセルよりも大きい。
【0086】
それ以外の場合、第1重み付け係数グループが使用される。一例を
図15に示す。
【0087】
2.2.4.3 動きベクトルストレージ
三角予測ユニットの動きベクトル(
図16のMv1及びMv2)は、4×4グリッドに格納される。各4×4グリッドについて、CU内での該4×4グリッドの位置に応じて、片予測又は双予測のいずれかの動きベクトルが格納される。
図16に示すように、非加重領域に位置する(すなわち、対角エッジに位置しない)4×4グリッドに対しては、Mv1又はMv2のいずれかである片予測動きベクトルが格納される。一方で、加重領域に位置する4×4グリッドに対しては、双予測動きベクトルが格納される。双予測動きベクトルは、以下のルールに従ってMv1及びMv2から導出される:
1)Mv1及びMv2が相異なる方向(L0又はL1)からの動きベクトルを持つ場合、Mv1とMv2とを単純に結合して双予測動きベクトルを形成する;
2)Mv1及びMv2の両方が同じL0(又はL1)方向からである場合、
- Mv2の参照ピクチャがL1(又はL0)参照ピクチャリスト内のピクチャと同じである場合、Mv2がそのピクチャにスケーリングされる。Mv1とスケーリングされたMv2とを結合して双予測動きベクトルを形成する;
- Mv1の参照ピクチャがL1(又はL0)参照ピクチャリスト内のピクチャと同じである場合、Mv1がそのピクチャにスケーリングされる。スケーリングされたMv1とMv2とを結合して双予測動きベクトルを形成する;
- それ以外の場合、加重領域に対してMv1のみが格納される。
【0088】
2.2.4.4 マージモード向けの構文テーブル、セマンティクス、及び復号プロセス
【表2】
【表3】
【表4】
【0089】
7.4.6.1 一般スライスヘッダセマンティクス
six_minus_max_num_merge_candは、スライス内でサポートされるマージ動きベクトル予測(MVP)候補の最大数を6から差し引いたものを規定する。マージMVP候補の最大スMaxNumMergeCandは、次のように導出される:
MaxNumMergeCand=6-six_minus_max_num_merge_cand (7-57)
MaxNumMergeCandの値は、両端を含めて1から6の範囲内とする。
【0090】
five_minus_max_num_subblock_merge_candは、スライス内でサポートされるサブブロックベースマージ動きベクトル予測(MVP)候補の最大数を5から差し引いたものを規定する。five_minus_max_num_subblock_merge_candが存在しないとき、それは、5-sps_sbtmvp_enabled_flagに等しいと推定される。サブブロックベースマージMVP候補の最大数MaxNumSubblockMergeCandは、次のように導出される:
MaxNumSubblockMergeCand=5-five_minus_max_num_subblock_merge_cand (7-58)
MaxNumSubblockMergeCandの値は、両端を含めて1から5
の範囲内とする。
【0091】
7.4.8.5 符号化ユニットセマンティクス
0に等しいpred_mode_flagは、現在符号化ユニットがインター予測モードで符号化されることを規定する。1に等しいpred_mode_flagは、現在符号化ユニットがイントラ予測モードで符号化されることを規定する。
【0092】
pred_mode_flagが存在しないとき、それは次のように推定される:
- cbWidthが4に等しく且つcbHeightが4に等しい場合、pred_mode_flagは1に等しいと推定される;
- それ以外の場合、pred_mode_flagは、Iスライスを復号するときは1に等しく、P又はBスライスを復号するときは0に等しいと推測される。
【0093】
変数CuPredMode[x][y]は、x=x0..x0+cbWidth-1及びy=y0..y0+cbHeight-1に対して、次のように導出される:
- pred_mode_flagが0に等しい場合、CuPredMode[x][y]はMODE_INTERに等しく設定される;
- それ以外の場合(pred_mode_flagが1に等しい)、CuPredMode[x][y]はMODE_INTRAに等しく設定される。
【0094】
1に等しいpred_mode_ibc_flagは、現在符号化ユニットがIBC予測モードで符号化されることを規定する。0に等しいpred_mode_ibc_flagは、現在符号化ユニットがIBC予測モードで符号化されないことを規定する。
【0095】
pred_mode_ibc_flagが存在しないとき、それは次のように推定される:
- cu_skip_flag[x0][y0]が1に等しく、cbWidthが4に等しく、且つcbHeightが4に等しい場合、pred_mode_ibc_flagは1に等しいと推定される;
- そうでなく、cbWidth及びcbHeightの両方が128に等しい場合、pred_mode_ibc_flagは0に等しいと推定される;
- それ以外の場合、pred_mode_ibc_flagは、Iスライスを復号するときはsps_ibc_enabled_flagの値に等しいと推測され、P又はBスライスを復号するときは0に等しいと推測される。
【0096】
pred_mode_ibc_flagが1に等しいとき、変数CuPredMode[x][y]は、x=x0..x0+cbWidth-1及びy=y0..y0+cbHeight-1に対して、MODE_IBCに等しいように設定される。
【0097】
general_merge_flag[x0][y0]は、現在符号化ユニットに関するインター予測パラメータが隣接インター予測パーティションから推測されるかを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【0098】
general_merge_flag[x0][y0]が存在しないとき、それは次のように推定される:
- cu_skip_flag[x0][y0]が1に等しい場合、general_merge_flag[x0][y0]は1に等しいと推定される;
- それ以外の場合、general_merge_flag[x0][y0]は0に等しいと推定される。
【0099】
mvp_l0_flag[x0][y0]は、リスト0の動きベクトル予測子インデックスを規定し、x0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。mvp_l0_flag[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0100】
mvp_l1_flag[x0][y0]は、l0及びリスト0をそれぞれl1及びリスト1に置き換えて、mvp_l0_flagと同じ意味を持つ。
【0101】
inter_pred_idc[x0][y0]は、表7-10に従って、現在符号化ユニットにリスト0が使用されるのか、リスト1が使用されるのか、それとも双予測が使用されるのかを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【表5】
【0102】
inter_pred_idc[x0][y0]が存在しないとき、それはPRED_L0に等しいと推定される。
【0103】
7.4.8.7 マージデータセマンティクス
1に等しいregular_merge_flag[x0][y0]は、現在符号化ユニットのインター予測パラメータを生成するために通常マージモードが使用されることを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【0104】
regular_merge_flag[x0][y0]が存在しないとき、それは次のように推定される:
- 以下の全ての条件が真である場合、regular_merge_flag[x0][y0]は1に等しいと推定される:
- sps_mmvd_enabled_flagが0に等しい;
- general_merge_flag[x0][y0]が1に等しい;
- cbWidth*cbHeightが32に等しい;
- それ以外の場合、regular_merge_flag[x0][y0]は0に等しいと推定される。
【0105】
1に等しいmmvd_merge_flag[x0][y0]は、現在符号化ユニットのインター予測パラメータを生成するために動きベクトル差付きマージモードが使用されることを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【0106】
mmvd_merge_flag[x0][y0]が存在しないとき、それは次のように推定される:
- 以下の全ての条件が真である場合、mmvd_merge_flag[x0][y0]は1に等しいと推定される:
- sps_mmvd_enabled_flagが1に等しい;
- general_merge_flag[x0][y0]が1に等しい;
- cbWidth*cbHeightが32に等しい;
- regular_merge_flag[x0][y0]が0に等しい;
- それ以外の場合、mmvd_merge_flag[x0][y0]は0に等しいと推定される。
【0107】
mmvd_cand_flag[x0][y0]は、mmvd_distance_idx[x0][y0]及びmmvd_direction_idx[x0][y0]から導出される動きベクトル差とともに、マージ候補リスト内の最初の候補(0)が使用されるのか、それとも2番目の候補(1)が使用されるのかを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。mmvd_cand_flag[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0108】
mmvd_distance_idx[x0][y0]は、表7-12に規定されるように、MmvdDistance[x0][y0]を導出するのに使用されるインデックスを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【表6】
mmvd_direction_idx[x0][y0]は、表7-13に規定されるように、MmvdSign[x0][y0]を導出するのに使用されるインデックスを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【表7】
【0109】
マージ+MVDオフセットMmvdOffset[x0][y0]の両方のコンポーネントが、次のように導出される:
MmvdOffset[x0][y0][0]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][0]
(7-124)
MmvdOffset[x0][y0][1]=(MmvdDistance[x0][y0]<<2)*MmvdSign[x0][y0][1]
(7-125)
【0110】
merge_subblock_flag[x0][y0]は、現在符号化ユニットに関するサブブロックベースインター予測パラメータが隣接ブロックから推定されるかを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。merge_subblock_flag[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0111】
merge_subblock_idx[x0][y0]は、サブブロックベースマージ候補リストのマージ候補インデックスを規定し、x0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。merge_subblock_idx[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0112】
ciip_flag[x0][y0]は、現在符号化ユニットに結合インターピクチャマージ・イントラピクチャ予測が適用されるかを規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。ciip_flag[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0113】
ciip_flag[x0][y0]が1に等しいとき、x=xCb..xCb+cbWidth-1及びy=yCb..yCb+cbHeight-1での変数IntraPredModeY[x][y]が、INTRA_PLANARに等しいように設定される
現在符号化ユニットの予測サンプルを生成するために三角形の形状に基づく動き補償が使用されるかを規定するものである変数MergeTriangleFlag[x0][y0]が、Bスライスを復号するときに、次のように導出される:
- 以下の全ての条件が満たされる場合、MergeTriangleFlag[x0][y0]は1に等しく設定される:
- sps_triangle_enabled_flagが1に等しい;
- slice_typeがBに等しい;
- general_merge_flag[x0][y0]が1に等しい;
- MaxNumTriangleMergeCandが2以上である;
- cbWidth*cbHeightが64以上である;
- regular_merge_flag[x0][y0]が0に等しい;
- mmvd_merge_flag[x0][y0]が0に等しい;
- merge_subblock_flag[x0][y0]が0に等しい;
- cip_flag[x0][y0]が0に等しい;
- それ以外の場合、MergeTriangleFlag[x0][y0]は0に等しく設定される。
【0114】
merge_triangle_split_dir[x0][y0]は、マージ三角モードの分割方向を規定する。配列インデックスx0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。merge_triangle_split_dir[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0115】
merge_triangle_idx0[x0][y0]は、三角形の形状に基づく動き補償候補リストの最初のマージ候補インデックスを規定し、x0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。merge_triangle_idx0[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0116】
merge_triangle_idx1[x0][y0]は、三角形の形状に基づく動き補償候補リストの2番目のマージ候補インデックスを規定し、x0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。merge_triangle_idx1[x0][y0]が存在しないとき、それは0に等しいと推定される。
【0117】
merge_idx[x0][y0]は、マージ候補リストのマージ候補インデックスを規定し、x0、y0は、検討される符号化ブロックの左上ルマサンプルの位置(x0,y0)を、ピクチャの左上ルマサンプルに対して規定する。
【0118】
merge_idx[x0][y0]が存在しないとき、それは次のように推定される:
- mmvd_merge_flag[x0][y0]が1に等しい場合、merge_idx[x0][y0]は、mmvd_cand_flag[x0][y0]に等しいと推定される;
- それ以外の場合(mmvd_merge_flag[x0][y0]が0に等しい)、merge_idx[x0][y0]は0に等しいと推定される。
【0119】
2.2.4.4.1 復号プロセス
JVET-N0340にて提供される復号プロセスは、以下のように定められている。
【0120】
8.5.2.2 マージモード向けのルマ動きベクトルの導出プロセス
このプロセスは、general_merge_flag[xCb][yCb]が1に等しいときにのみ呼び出され、(xCb,yCb)は、現在ルマ符号化ブロックの左上サンプルを、現在ピクチャの左上ルマサンプルに対して規定する。
【0121】
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対する現在ルマ符号化ブロックの左上サンプルのルマ位置(xCb,yCb);
- ルマサンプル内の現在符号化ブロックの幅を規定する変数cbWidth;
- ルマサンプル内の現在符号化ブロックの高さを規定する変数cbHeight。
【0122】
このプロセスの出力は以下である:
- 1/16分数サンプル精度でのルマ動きベクトルmvL0[0][0]及びmvL1[0][0];
- 参照インデックスrefIdxL0及びrefIdxL1;
- 予測リスト利用フラグpredFlagL0[0][0]及びpredFlagL1[0][0];
- 双予測重みインデックスbcwIdx;
- マージ候補リストmergeCandList。
【0123】
双予測重みインデックスbcwIdxは0に等しく設定される。
【0124】
動きベクトルmvL0[0][0]及びmvL1[0][0]、参照インデックスrefIdxL0及びrefIdxL1、並びに予測利用フラグpredFlagL0[0][0]及びpredFlagL1[0][0]は、以下の順序付けられたステップによって導出される:
1. 第8.5.2.3項に規定される隣接符号化ユニットからの空間マージ候補の導出プロセスが、ルマ符号化ブロック位置(xCb,yCb)、ルマ符号化ブロック幅cbWidth、ルマ符号化ブロック高さcbHeightを入力として呼び出され、その出力は、Xが0又は1での、利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、及びavailableFlagB2、参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、及びrefIdxLXB2、予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、及びpredFlagLXB2、並びに動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、及びmvLXB2と、双予測重みインデックスbcwIdxA0、bcwIdxA1、bcwIdxB0、bcwIdxB1、bcwIdxB2である;
2. Xが0又は1での参照インデックスrefIdxLXCol、及び時間マージ候補Colに対する双予測重みインデックスbcwIdxColが、0に等しく設定される;
3. 第8.5.2.11項に規定される時間ルマ動きベクトル予測の導出プロセスが、ルマ位置(xCb,yCb)、ルマ符号化ブロック幅cbWidth、ルマ符号化ブロック高さcbHeight、及び変数refIdxL0Colを入力として呼び出され、その出力は、利用可能性フラグavailableFlagL0Col、及び時間動きベクトルmvL0Colである。変数availableFlagCol、predFlagL0Col及びpredFlagL1Colが次のように導出される:
availableFlagCol=availableFlagL0Col (8-263)
predFlagL0Col=availableFlagL0Col (8-264)
predFlagL1Col=0 (8265)
4. slice_typeがBに等しいとき、第8.5.2.11項に規定される時間ルマ動きベクトル予測の導出プロセスが、ルマ位置(xCb,yCb)、ルマ符号化ブロック幅cbWidth、ルマ符号化ブロック高さcbHeight、及び変数refIdxL1Colを入力として呼び出され、その出力は、利用可能性フラグavailableFlagL1Col、及び時間動きベクトルmvL1Colである。変数availableFlagCol及びpredFlagL1Colが次のように導出される:
availableFlagCol=availableFlagL0Col||availableFlagL1Col (8-266)
predFlagL1Col=availableFlagL1Col (8-267)
5. マージ候補リストmergeCandListが次のように構築される:
i=0
if(availableFlagA1)
mergeCandList[i++]=A1
if(availableFlagB1)
mergeCandList[i++]=B1
if(availableFlagB0)
mergeCandList[i++]=B0 (8-268)
if(availableFlagA0)
mergeCandList[i++]=A0
if(availableFlagB2)
mergeCandList[i++]=B2
if(availableFlagCol)
mergeCandList[i++]=Col
6. 変数numCurrMergeCand及びnumOrigMergeCandが、mergeCandList内のマージ候補の数に等しく設定される;
7. numCurrMergeCandが(MaxNumMergeCand-1)よりも小さく、且つnumHmvpCandが0よりも大きいとき、以下が適用される:
- 第8.5.2.6項に規定される履歴ベースマージ候補の導出プロセスが、mergeCandList及びnumCurrMergeCandを入力とし、変更されたmergeCandList及びnumCurrMergeCandを出力として呼び出される;
- numOrigMergeCandがnumCurrMergeCandに等しく設定される;
8. numCurrMergeCandがMaxNumMergeCandよりも小さく且つ1よりも大きい場合、以下が適用される:
- 第8.5.2.4項に規定されるペアワイズ平均マージ候補の導出プロセスが、mergeCandList、該mergeCandList内の全候補Nの、参照インデックスrefIdxL0N及びrefIdxL1N、予測リスト利用フラグpredFlagL0N及びpredFlagL1N、動きベクトルmvL0N及びmvL1N、並びにnumCurrMergeCandを入力として呼び出され、その出力が、mergeCandList、numCurrMergeCand、mergeCandListに追加される候補avgCandの、参照インデックスrefIdxL0avgCand及びrefIdxL1avgCand、予測リスト利用フラグpredFlagL0avgCand及びpredFlagL1avgCand、並びに動きベクトルmvL0avgCand及びmvL1avgCandに割り当てられる。mergeCandListに追加される候補avgCandの双予測重みインデックスbcwIdxが0に等しく設定される;
- numOrigMergeCandがnumCurrMergeCandに等しく設定される;
9. 第8.5.2.5項に規定されるゼロ動きベクトルマージ候補の導出プロセスが、mergeCandList、該mergeCandList内の全候補Nの、参照インデックスrefIdxL0N及びrefIdxL1N、予測リスト利用フラグpredFlagL0N及びpredFlagL1N、動きベクトルmvL0N及びmvL1N、並びにnumCurrMergeCandを入力として呼び出され、その出力が、mergeCandList、numCurrMergeCand、mergeCandListに追加される全ての新たな候補zeroCandmの、参照インデックスrefIdxL0zeroCandm及びrefIdxL1zeroCandm、予測リスト利用フラグpredFlagL0zeroCandm及びpredFlagL1zeroCandm、並びに動きベクトルmvL0zeroCandm及びmvL1zeroCandmに割り当てられる。mergeCandListに追加される全ての新たな候補zeroCandmの双予測重みインデックスbcwIdxが0に等しく設定される。追加される候補の数numZeroMergeCandは、(numCurrMergeCand-numOrigMergeCand)に等しく設定される。numZeroMergeCandが0よりも大きいとき、mは、両端を含めて0からnumZeroMergeCand-1までの範囲である。
【0125】
10. Nをマージ候補リストmergeCandList内の位置merge_idx[xCb][yCb]にある候補である(N=mergeCandList[merge_idx[xCb][yCb])の位置の候補とし、Xを0又は1により置き換えて、以下の割り当てが行われる:
refIdxLX=refIdxLXN (8-269)
predFlagLX[0][0]=predFlagLXN (8-270)
mvLX[0][0][0]=mvLXN[0] (8-271)
mvLX[0][0][1]=mvLXN[1] (8-272)
bcwIdx=bcwIdxN (8-273)
11. mmvd_merge_flag[xCb][yCb]が1に等しいとき、以下が適用される:
- 8.5.2.7に規定されるマージ動きベクトル差の導出プロセスが、ルマ位置(xCb,yCb)、参照インデックスrefIdxL0及びrefIdxL1、並びに予測リスト利用フラグpredFlagL0[0][0]及びpredFlagL1[0][0]を入力とし、動きベクトル差mMvdL0及びmMvdL1を出力として呼び出される;
- 0又は1であるXで、次のように、マージ動きベクトルmvLXに動きベクトル差mMvdLXが加えられる:
mvLX[0][0][0]+=mMvdLX[0] (8-274)
mvLX[0][0][1]+=mMvdLX[1] (8-275)
mvLX[0][0][0]=Clip3(-217,217-1,mvLX[0][0][0]) (8-276)
mvLX[0][0][1]=Clip3(-217,217-1,mvLX[0][0][1]) (8-277)
【0126】
8.5.2.3 空間マージ候補の導出プロセス
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対する現在ルマ符号化ブロックの左上サンプルのルマ位置(xCb,yCb);
- ルマサンプル内の現在符号化ブロックの幅を規定する変数cbWidth;
- ルマサンプル内の現在符号化ブロックの高さを規定する変数cbHeight。
【0127】
このプロセスの出力は、0又は1であるXで、以下である:
- 隣接符号化ユニットの利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、及びavailableFlagB2;
- 隣接符号化ユニットの参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、及びrefIdxLXB2;
- 隣接符号化ユニットの予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、及びpredFlagLXB2;
- 隣接符号化ユニットの1/16分数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、及びmvLXB2;
- 双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、及びgbiIdxB2。
【0128】
availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA1,yNbA1)が(xCb-1,yCb+cbHeight-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA1,yNbA1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA1に割り当てられる;
- 変数availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1が、次のように導出される:
- availableA1がFALSEに等しい場合、0又は1であるXで、availableFlagA1が0に等しく設定され、mvLXA1の両方のコンポーネントが0に等しく設定され、refIdxLXA1が-1に等しく設定され、predFlagLXA1が0に等しく設定され、そして、gbiIdxA1が0に等しく設定される;
- それ以外の場合、availableFlagA1は1に等しく設定されて、以下の割り当てが行われる:
mvLXA1=MvLX[xNbA1][yNbA1] (8-294)
refIdxLXA1=RefIdxLX[xNbA1][yNbA1] (8-295)
predFlagLXA1=PredFlagLX[xNbA1][yNbA1] (8-296)
gbiIdxA1=GbiIdx[xNbA1][yNbA1] (8-297)
【0129】
availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB1,yNbB1)が(xCb+cbWidth-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB1,yNbB1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB1に割り当てられる;
- 変数availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB1が0に等しく設定され、mvLXB1の両方のコンポーネントが0に等しく設定され、refIdxLXB1が-1に等しく設定され、predFlagLXB1が0に等しく設定され、そして、gbiIdxB1が0に等しく設定される;
- availableB1がFALSEに等しい;
- availableA1がTRUEに等しく、且つルマ位置(xNbA1,yNbA1)及び(xNbB1,yNbB1)が同じ動きベクトル及び同じ参照インデックスを持つ;
- それ以外の場合、availableFlagB1は1に等しく設定されて、以下の割り当てが行われる:
mvLXB1=MvLX[xNbB1][yNbB1] (8-298)
refIdxLXB1=RefIdxLX[xNbB1][yNbB1] (8-299)
predFlagLXB1=PredFlagLX[xNbB1][yNbB1] (8-300)
gbiIdxB1=GbiIdx[xNbB1][yNbB1] (8-301)
【0130】
availableFlagB0、refIdxLXB0、predFlagLXB0、及びmvLXB0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB0,yNbB0)が(xCb+cbWidth,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB0,yNbB0)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB0に割り当てられる;
- 変数availableFlagB0、refIdxLXB0、predFlagLXB0、及びmvLXB0が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB0が0に等しく設定され、mvLXB0の両方のコンポーネントが0に等しく設定され、refIdxLXB0が-1に等しく設定され、predFlagLXB0が0に等しく設定され、そして、gbiIdxB0が0に等しく設定される;
- availableB0がFALSEに等しい;
- availableB1がTRUEに等しく、且つルマ位置(xNbB1,yNbB1)及び(xNbB0,yNbB0)が同じ動きベクトル及び同じ参照インデックスを持つ;
- availableA1がTRUEに等しく、ルマ位置(xNbA1,yNbA1)及び(xNbB0,yNbB0)が同じ動きベクトル及び同じ参照インデックスを持ち、且つmerge_triangle_flag[xCb][yCb]が1に等しい;
- それ以外の場合、availableFlagB0は1に等しく設定されて、以下の割り当てが行われる:
mvLXB0=MvLX[xNbB0][yNbB0] (8-302)
refIdxLXB0=RefIdxLX[xNbB0][yNbB0] (8-303)
predFlagLXB0=PredFlagLX[xNbB0][yNbB0] (8-304)
gbiIdxB0=GbiIdx[xNbB0][yNbB0] (8-305)
【0131】
availableFlagA0、refIdxLXA0、predFlagLXA0、及びmvLXA0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA0,yNbA0)が(xCb-1,yCb+cbWidth)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA0,yNbA0)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA0に割り当てられる;
- 変数availableFlagA0、refIdxLXA0、predFlagLXA0、及びmvLXA0が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagA0が0に等しく設定され、mvLXA0の両方のコンポーネントが0に等しく設定され、refIdxLXA0が-1に等しく設定され、predFlagLXA0が0に等しく設定され、そして、gbiIdxA0が0に等しく設定される;
- availableA0がFALSEに等しい;
- availableA1がTRUEに等しく、且つルマ位置(xNbA1,yNbA1)及び(xNbA0,yNbA0)が同じ動きベクトル及び同じ参照インデックスを持つ;
- availableB1がTRUEに等しく、ルマ位置(xNbB1,yNbB1)及び(xNbA0,yNbA0)が同じ動きベクトル及び同じ参照インデックスを持ち、且つmerge_triangle_flag[xCb][yCb]が1に等しい;
- availableB0がTRUEに等しく、ルマ位置(xNbB0,yNbB0)及び(xNbA0,yNbA0)が同じ動きベクトル及び同じ参照インデックスを持ち、且つmerge_triangle_flag[xCb][yCb]が1に等しい;
- それ以外の場合、availableFlagA0は1に等しく設定されて、以下の割り当てが行われる:
mvLXA0=MvLX[xNbA0][yNbA0] (8-306)
refIdxLXA0=RefIdxLX[xNbA0][yNbA0] (8-307)
predFlagLXA0=PredFlagLX[xNbA0][yNbA0] (8-308)
gbiIdxA0=GbiIdx[xNbA0][yNbA0] (8-309)
【0132】
availableFlagB2、refIdxLXB2、predFlagLXB2、及びmvLXB2の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB2,yNbB2)が(xCb-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB2,yNbB2)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB2に割り当てられる;
- 変数availableFlagB2、refIdxLXB2、predFlagLXB2、及びmvLXB2が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB2が0に等しく設定され、mvLXB2の両方のコンポーネントが0に等しく設定され、refIdxLXB2が-1に等しく設定され、predFlagLXB2が0に等しく設定され、そして、gbiIdxB2が0に等しく設定される;
- availableB2がFALSEに等しい;
- availableA1がTRUEに等しく、且つルマ位置(xNbA1,yNbA1)及び(xNbB2,yNbB2)が同じ動きベクトル及び同じ参照インデックスを持つ;
- availableB1がTRUEに等しく、且つルマ位置(xNbB1,yNbB1)及び(xNbB2,yNbB2)が同じ動きベクトル及び同じ参照インデックスを持つ;
- availableB0がTRUEに等しく、ルマ位置(xNbB0,yNbB0)及び(xNbB2,yNbB2)が同じ動きベクトル及び同じ参照インデックスを持ち、且つmerge_triangle_flag[xCb][yCb]が1に等しい;
- availableA0がTRUEに等しく、ルマ位置(xNbA0,yNbA0)及び(xNbB2,yNbB2)が同じ動きベクトル及び同じ参照インデックスを持ち、且つmerge_triangle_flag[xCb][yCb]が1に等しい;
- availableFlagA0+availableFlagA1+availableFlagB0+availableFlagB1が4に等しく、且つmerge_triangle_flag[xCb][yCb]が0に等しい;
- それ以外の場合、availableFlagB2は1に等しく設定されて、以下の割り当てが行われる:
mvLXB2=MvLX[xNbB2][yNbB2] (8-310)
refIdxLXB2=RefIdxLX[xNbB2][yNbB2] (8-311)
predFlagLXB2=PredFlagLX[xNbB2][yNbB2] (8-312)
gbiIdxB2=GbiIdx[xNbB2][yNbB2] (8-313)
【0133】
2.2.5 MMVD
JVET-L0054では、最終動きベクトル表現(UMVE、これはMMVDとしても知られる)が提示されている。UMVEは、提案する動きベクトル表現法とともにスキップモード又はマージモードのいずれかに使用される。
【0134】
UMVEは、VVCにおける通常のマージ候補リストに含まれるものと同じマージ候補を再利用する。マージ候補の中で、ベース候補を選択することができ、それが、提案する動きベクトル表現法によって更に拡張される。
【0135】
UMVEは、開始点と、動きの大きさと、動きの方向とを用いてMVDを表現する新たな動きベクトル差(MVD)表現法を提供する。
【0136】
この提案する技術は、マージ候補リストをそのまま使用する。しかし、デフォルトのマージタイプ(MRG_TYPE_DEFAULT_N)の候補だけがUMVE拡張に関して検討される。
【0137】
ベース候補インデックスが開始点を規定する。ベース候補インデックスは、次のとおり、リスト内の候補の中で最良の候補を指し示す。
【表8】
【0138】
ベース候補の数が1に等しい場合、ベース候補IDXは信号伝達されない。
【0139】
距離インデックスは、動きの大きさの情報である。距離インデックスは、開始点情報からの予め定められた距離を指し示す。予め定められた距離は次のとおりである。
【表9】
【0140】
方向インデックスは、開始点に対するMVDの方向を表す。方向インデックスは、下に示す4つの方向を表すことができる。
【表10】
【0141】
UMVEフラグは、スキップフラグ又はマージフラグを送信した直後に送信される。スキップフラグ又はマージフラグが真である場合、UMVEフラグが構文解析される。UMVEフラグが1に等しい場合、UMVE構文が構文解析される。しかし、1でない場合には、AFFINEフラグが構文解析される。AFFINEフラグが1に等しい場合、それはAFFINEモードである。しかし、1でない場合には、スキップ/マージインデックスがVTMのスキップ/マージモードのために構文解析される。
【0142】
UMVE候補のための追加のラインバッファは必要でない。ソフトウェアのスキップ/マージ候補が直接的にベース候補として使用されるからである。入力UMVEインデックスを用いて、動き補償の直前にMVの補充が決定される。このために長いラインバッファを保持する必要はない。
【0143】
現行の一般的なテスト条件では、マージ候補リスト内の最初のマージ候補又は2番目のマージ候補のいずれかがベース候補として選択され得る。
【0144】
UMVEは、MV差付きマージ(Merge with MV Differences;MMVD)としても知られている。
【0145】
2.2.6 結合イントラ-インター予測(CIIP)
JVET-L0100にて多重仮説(multi-hypothesis)予測が提案されており、それにおいては、結合イントラ・インター予測が、複数の仮説を生成するための1つの手法である。
【0146】
イントラモードを改善するために多重仮説予測が適用される場合、多重仮説予測は、1つのイントラ予測と1つのマージインデックス予測とを組み合わせる。マージCU内で、マージモードに関して1つのフラグが信号伝達され、該フラグが真である場合にイントラ候補リストからイントラモードが選択される。ルマコンポーネントに対して、イントラ候補リストは、1つのイントラ予測モード、すなわち、プレーナモードのみから導出される。イントラ及びインター予測からの予測ブロックに適用される重みは、2つの隣接ブロック(A1及びB1)の符号化モード(イントラ又は非イントラ)によって決定される。
【0147】
2.2.7 サブブロックベース技術でのマージ
全てのサブブロック関係の動き候補を、非サブブロックマージ候補用の通常マージリストに加えての別個のマージリストに入れることが提案される。
【0148】
サブブロック関係の動き候補は、‘サブブロックマージ候補リスト’という名の別個のマージリストに入れられる。
【0149】
一例において、サブブロックマージ候補リストは、ATMVP候補及びアフィンマージ候補を含む。
【0150】
サブブロックマージ候補リストは、次の順に候補で充たされる:
a. ATMVP候補(利用可能であることもあればないこともある);
b. アフィンマージリスト(継承アフィン候補及び構築アフィン候補を含む);
c. ゼロMV 4パラメータアフィンモデルとしてのパディング。
【0151】
2.2.7.1.1 ATMVP(サブブロック時間動きベクトル予測子SbTMVPとしても知られる)
ATMVPの基本アイディアは、1つのブロックに対して複数セットの時間動きベクトル予測子を導出するというものである。各サブブロックに一組の動き情報が割り当てられる。ATMVPマージ候補が生成されるとき、全体ブロックレベルではなく、8×8レベルで動き補償が行われる。
【0152】
現行設計では、ATMVPは、CU内のサブCUの動きベクトルを、以下の2つのサブセクション2.2.7.1.1.1及び2.2.7.1.1.2にそれぞれ記載する2つのステップで予測する。
【0153】
2.2.7.1.1.1 初期化動きベクトルの導出
初期化動きベクトルをtempMvにより表記する。ブロックA1が利用可能であり且つ非イントラ符号化されるとき(すなわち、インターモード又はIBCモードで符号化される)、初期化動きベクトルを導出するために、以下が適用される:
- 以下の条件の全てが真である場合、tempMvは、mvL1A1により表記されるリスト1のブロックA1の動きベクトルに等しく設定される:
- リスト1の参照ピクチャインデックスが利用可能であり(-1に等しくない)、且つそれがコロケートピクチャと同じPOC値を持つ(すなわち、DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A1])が0に等しい);
- 全ての参照ピクチャが現在ピクチャと比較して大きいPOCを持たない(すなわち、現在スライスの全ての参照ピクチャリスト内の全てのピクチャaPicに対して、DiffPicOrderCnt(aPic,currPic)が0以下である);
- 現在スライスがBスライスに等しい;
- collocated_from_l0_flagが0に等しい;
- そうでなく、以下の条件の全てが真である場合、tempMvは、mvL0A1により表記されるリスト0のブロックA1の動きベクトルに等しく設定される:
- リスト0の参照ピクチャインデックスが利用可能である(-1に等しくない);
- それが、コロケートピクチャと同じPOC値を持つ(すなわち、DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A1])が0に等しい);
- それ以外の場合、ゼロ動きベクトルが初期化MVとして使用される。
【0154】
対応するブロック(現在ブロックの中心位置に丸められたMVを加え、必要に応じて、ある特定の範囲内となるようにクリッピングされる)が、初期化動きベクトルと共にスライスヘッダ内で信号伝達されるコロケートピクチャ内で特定される。
【0155】
ブロックがインター符号化される場合、第2ステップに進む。そうでない場合、ATMVP候補はNOT利用可能に設定される。
【0156】
2.2.7.1.1.2 サブCU動き導出
第2ステップは、現在CUを複数のサブCUに分割し、コロケートピクチャ内の各サブCUに対応するブロックから各サブCUの動き情報を取得するというものである。
【0157】
サブCUの対応するブロックがインターモードで符号化される場合、この動き情報を利用し、従来のTMVPプロセスでの処理と変わらないコロケートMVに関する導出プロセスを呼び出すことによって、現在サブCUの最終的な動き情報を導出する。基本的に、対応するブロックが片予測又は双予測向けのターゲットリストXから予測される場合は、動きベクトルが利用され、そうでなく、それが片予測又は双予測向けのターゲットリストY(Y=1-X)から予測され、且つNoBackwardPredFlagが1に等しい場合、リストYに関するMVが利用される。それ以外の場合、動き候補は見出されないとし得る。
【0158】
初期化MV及び現在サブCUの位置によって特定されるコロケートピクチャ内のブロックがイントラ符号化又はIBC符号化されるか、あるいは、前述のように動き候補が見出されないかである場合、以下が更に適用される。
【0159】
コロケートピクチャRcol内の動き場をフェッチするために使用される動きベクトルをMVcolと表記する。MVスケーリングによる影響を最小化するために、MVcolを導出するのに使用される空間候補リスト内のMVは、次の手法で選択される:候補MVの参照ピクチャがコロケートピクチャである場合、このMVが選択され、如何なるスケーリングもなしでMVcolとして使用される。そうでない場合、コロケートピクチャに最も近い参照ピクチャを有するMVが選択されて、スケーリングを用いてMVcolを導出する。
【0160】
JVET-N1001におけるコロケート動きベクトル導出プロセスに関係する復号プロセスを、以下、ATMVPに関係する部分を太字の下線付きの斜体フォントで強調して記載する:
8.5.2.12 コロケート動きベクトルの導出プロセス
このプロセスへの入力は以下である:
- 現在符号化ブロックを規定する変数currCb;
- ColPicによって規定されるコロケートピクチャの内側のコロケート符号化ブロックを規定する変数colCb;
- colCbによって規定されるコロケート符号化ブロックの左上サンプルを、ColPicによって規定されるコロケートピクチャの左上ルマサンプルに対して規定するルマ位置(xColCb,yColCb);
- 0又は1であるXでの参照インデックスrefIdxLX;
- サブブロック時間マージ候補を指し示すフラグsbFlag。
【0161】
このプロセスの出力は以下である:
- 1/16分数サンプル精度での動きベクトル予測mvLXCol;
- 利用可能性フラグavailableFlagLXCol。
【0162】
変数currPicは現在ピクチャを規定する。
【0163】
配列predFlagL0Col[x][y]、mvL0Col[x][y]、及びrefIdxL0Col[x][y]が、それぞれ、ColPicによって規定されるコロケートピクチャのPredFlagL0[x][y]、MvDmvrL0[x][y]、及びRefIdxL0[x][y]に等しく設定され、配列predFlagL1Col[x][y]、mvL1Col[x][y]、及びrefIdxL1Col[x][y]が、それぞれ、ColPicによって規定されるコロケートピクチャのPredFlagL1[x][y]、MvDmvrL1[x][y]、及びRefIdxL1[x][y]に等しく設定される。
【0164】
変数mvLXCol及びavailableFlagLXColが次のように導出される:
- colCbがイントラ又はIBC予測モードで符号化される場合、mvLXColの両方のコンポーネントが0に等しく設定され、availableFlagLXColが0に等しく設定される;
- それ以外の場合、動きベクトルmvCol、参照インデックスrefIdxCol、及び参照リスト識別子listColが、次のように導出される:
- sbFlagが0に等しい場合、availableFlagLXColが1に設定されて、以下が適用される:
- predFlagL0Col[xColCb][yColCb]が0に等しい場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvL1Col[xColCb][yColCb]、refIdxL1Col[xColCb][yColCb]、及びL1に等しく設定される;
- そうでなく、predFlagL0Col[xColCb][yColCb]が1に等しく且つpredFlagL1Col[xColCb][yColCb]が0に等しい場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvL0Col[xColCb][yColCb]、refIdxL0Col[xColCb][yColCb]、及びL0に等しく設定される;
- それ以外の場合(predFlagL0Col[xColCb][yColCb]が1に等しく且つpredFlagL1Col[xColCb][yColCb]が1に等しい)、以下の割り当てが行われる:
- NoBackwardPredFlagが1に等しい場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]、及びLXに等しく設定される;
- それ以外の場合、mvCol、refIdxCol、及びlistColが、それぞれ、mvLNCol[xColCb][yColCb]、refIdxLNCol[xColCb][yColCb]、及びLNに等しく設定され、Nはcollocated_from_l0_flagの値である;
(外1)
- availableFlagLXColがTRUEに等しいとき、mvLXCol及びavailableFlagLXColが、次のように導出される:
- LongTermRefPic(currPic,currCb,refIdxLX,LX)がLongTermRefPic(ColPic,colCb,refIdxCol,listCol)に等しくない場合、mvLXColの両方のコンポーネントが0に等しく設定され、availableFlagLXColが0に等しく設定される;
- それ以外の場合、変数availableFlagLXColが1に等しく設定され、refPicList[listCol][refIdxCol]が、ColPicによって規定されるコロケートピクチャ内の符号化ブロックcolCbを含むスライスの参照ピクチャリストlistCol内の参照インデックスrefIdxColを有するピクチャであるように設定され、以下が適用される:
colPocDiff=DiffPicOrderCnt(ColPic,refPicList[listCol][refIdxCol])
(8-402)
currPocDiff=DiffPicOrderCnt(currPic,RefPicList[X][refIdxLX])
(8-403)
- 第8.5.2.15節に規定されるコロケート動きベクトルに対する時間動きバッファ圧縮プロセスが、mvColを入力とし、変更されたmvColを出力として呼び出される;
- RefPicList[X][refIdxLX]が長期参照ピクチャである、又はcolPocDiffがcurrPocDiffに等しい場合、mvLXColが、次のように導出される:
mvLXCol=mvCol (8-404)
- それ以外の場合、次のように、mvLXColが、動きベクトルmvColのスケーリングされたバージョンとして導出され:
tx=(16384+(Abs(td)>>1))/td (8-405)
distScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6) (8-406)
mvLXCol=Clip3(-131072,131071,(distScaleFactor*mvCol+
128-(distScaleFactor*mvCol>=0))>>8)) (8-407)
ここで、td及びtbは、次のように導出される:
td=Clip3(-128,127,colPocDiff) (8-408)
tb=Clip3(-128,127,currPocDiff) (8-409)
【0165】
2.2.8 通常インターモード(AMVP)
2.2.8.1 AMVP動き候補リスト
HEVCにおけるAMVP設計と同様に、最大2つのAMVP候補が導出され得る。しかしながら、TMVP候補の後にHMVP候補も追加され得る。HMVPテーブル内のHMVP候補は、インデックスの昇順に(すなわち、最も古いものである0に等しいインデックスから)検討される。その参照ピクチャがターゲット参照ピクチャと同じ(すなわち、同じPOC値)であるかを見出すために、最大4つのHMVP候補が検査され得る。
【0166】
2.2.8.2 AMVR
HEVCでは、スライスヘッダ内でuse_integer_mv_flagが0に等しい場合に、(動きベクトルとPUの予測動きベクトルとの間の)動きベクトル差(MVD)が、1/4ルマサンプルの単位で信号伝達される。VVCでは、局所適応動きベクトルレゾリューション(locally adaptive motion vector resolution;AMVR)が導入されている。VVCにおいて、MVDは、1/4ルマサンプル、整数ルマサンプル、4ルマサンプル(すなわち、1/4ペル、1ペル、4ペル)の単位で符号化されることができる。このMVD分解能は、符号化ユニット(CU)レベルで制御され、MVD分解能フラグが、少なくとも1つの非ゼロのMVD成分を持つ各CUに対して条件付きで信号伝達される。
【0167】
少なくとも1つの非ゼロのMVD成分を持つCUに対して、そのCUで1/4ルマサンプルMV精度が使用されるかを指し示すために、第1のフラグが信号伝達される。1/4ルマサンプルMV精度が使用されないことを第1のフラグ(1に等しい)が指し示す場合、整数ルマサンプルMV精度又は4ルマサンプルMV精度が使用されるかを指し示すために、別のフラグが信号伝達される。
【0168】
CUの第1のMVD分解能フラグがゼロである又はCUに対して符号化されない(CU内の全てのMVDがゼロであることを意味する)場合、1/4ルマサンプルMV分解能がそのCUに対して使用される。CUが整数ルマサンプルMV精度又は4ルマサンプルMV精度を使用する場合、そのCUに関するAMVP候補リスト内のMVPは、対応する精度に丸められる。
【0169】
2.2.8.3 JVET-N1001-v2における対称動きベクトル差
JVET-N1001-v2では、双予測における動き情報コーディングに対称動きベクトル差(SMVD)が適用される。
【0170】
先ず、スライスレベルにて、SMVDモードで使用されるリスト0/1の参照ピクチャインデックスをそれぞれ指し示すための変数RefIdxSymL0及びRefIdxSymL1が、N1001-v2に規定される次のステップを用いて導出される。これら2つの変数のうちの少なくとも一方が-1に等しいとき、SMVDモードは無効にされる。
【0171】
2.2.9 動き情報の精緻化
2.2.9.1 デコーダ側動きベクトル精緻化(DMVR)
双予測演算では、1つのブロック領域の予測のために、list0の動きベクトル(MV)とlist1のMVとを用いて形成される2つの予測ブロックが結合されて単一の予測信号を形成する。デコーダ側動きベクトル精緻化(decoder-side motion vector refinement;DMVR)法においては、双予測の二つの動きベクトルが更に精緻化される。
【0172】
VVCにおけるDMVRでは、リスト0とリスト1との間でのMVDミラーリングが
図19に示すように仮定され、MVを精緻化するため、すなわち、幾つかのMVD候補の中で最良のMVDを見つけるために、バイラテラルマッチングが実行される。2つの参照ピクチャリストのMVをMVL0(L0X,L0Y)及びMVL1(L1X,L1Y)により表記する。コスト関数(例えば、SAD)を最小化し得るリスト0の(MvdX,MvdY)により表記されるMVDが、最良のMVDとして定められる。SAD関数の場合、それは、リスト0参照ピクチャ内の動きベクトル(L0X+MvdX,L0Y+MvdY)で導出されるリスト0の参照ブロックと、リスト1参照ピクチャ内の動きベクトル(L1X-MvdX,L1Y-MvdY)で導出されるリスト1の参照ブロックとの間のSADとして定義される。
【0173】
この動きベクトル精緻化プロセスが2回繰り返され得る。各イテレーションにおいて、
図20に示すように、多くて6つの(整数ペル精度の)MVDが、2つのステップで検査され得る。第1ステップで、MVD(0,0)、(-1,0)、(1,0)、(0,-1)、(0,1)が検査される。第2ステップで、MVD(-1,-1)、(-1,1)、(1,-1)又は(1,1)のうちの1つが選択され、更に検査される。関数Sad(x,y)がMVD(x,y)のSAD値を返すとする。第2ステップで検査される(MvdX,MvdY)により表記されるMVDは、以下のように決定される:
MvdX=-1;
MvdY=-1;
If(Sad(1,0)<Sad(-1,0))
MvdX=1;
If(Sad(0,1)<Sad(0,-1))
MvdY=1;
【0174】
最初のイテレーションにおいて、開始点は、信号伝達されるMVであり、2回目のイテレーションにおいて、開始点は、信号伝達されるMVに最初のイテレーションで選択された最良MVDを加えたものである。DMVRは、一方の参照ピクチャが先行ピクチャであり、他方の参照ピクチャが後続ピクチャであり、且つこれら2つの参照ピクチャが現在ピクチャから同じピクチャオーダカウント距離を持つときにのみ適用される。
【0175】
DMVRのプロセスを更に単純化するために、JVET-M0147はJEMにおける設計に幾つかの変更を提案した。より具体的には、VTM-4.0(間もなくリリースされる)に採用されたDMVR設計は、以下の主な特徴を有する:
・ list0とlist1の間の(0,0)位置SADが閾値よりも小さいときの早期終了;
・ list0とlist1との間のSADが何らかの位置でゼロであるときの早期終了;
・ W及びHはブロックの幅及び高さであるとして、DMVRに関するブロックサイズ:W*H>=64&&H>=8;
・ CUサイズ>16×16のDMVRに対してCUを複数の16×16サブブロックに分割する。CUの幅又は高さのみが16よりも大きい場合、垂直方向又は水平方向にそれのみが分割される;
・ 参照ブロックサイズ(W+7)*(H+7)(ルマに関して);
・ 25ポイントSADベース整数ペル探索(すなわち、(±)2精緻化探索範囲、単一ステージ);
・ バイリニア補間ベースのDMVR;
・ “パラメトリック誤差表面方程式”ベースのサブペル精緻化。この手順は、最小SADコストがゼロに等しくなく、且つ最良のMVDが最後のMV精緻化イテレーションにおいて(0,0)である場合にのみ実行される;
・ (必要に応じて)参照ブロックパディングありでのルマ/クロマMC;
・ MC及びTMVPのみに使用される精緻化MV。
【0176】
2.2.9.1.1 DMVRの使用法
以下の条件が全て真であるとき、DMVRが有効にされ得る:
- SPS内のDMVR有効化フラグ(すなわち、sps_dmvr_enabled_flag)が1に等しい;
- TPMフラグ、インターアフィンフラグ、サブブロックマージフラグ(ATMVP又はアフィンマージのいずれか)、MMVDフラグが全て0に等しい;
- マージフラグが1に等しい;
- 現在ブロックが双予測され、現在ピクチャとリスト1の参照ピクチャとの間のPOC距離が、リスト0の参照ピクチャと現在ピクチャとの間のPOC距離に等しい;
- 現在CUの高さが8以上である;
- ルマサンプルの数(CUの幅*高さ)が64以上である。
【0177】
2.2.9.1.2 “パラメトリック誤差表面方程式”
当該方法は、以下のようにまとめられる:
1. パラメトリック誤差表面フィッティングが、中心位置が所与のイテレーションにおいて最良のコスト位置である場合にのみ計算される;
2. 中心位置コスト、及び中心から(-1,0)、(0,-1)、(1,0)及び(0,1)の位置のコストを用いて、以下の形態:
E(x,y)=A(x-x0)2+B(y-y0)2+C
の2Dパラボリック誤差表面方程式をフィッティングし、ここで、(x0,y0)は最小コストの位置に対応し、Cは最小コスト値に対応する。5つの未知数の5つの方程式を解くことにより、(x0,y0)が:
x0=(E(-1,0)-E(1,0))/(2(E(-1,0)+E(1,0)-2E(0,0)))
y0=(E(0,-1)-E(0,1))/(2((E(0,-1)+E(0,1)-2E(0,0)))
として計算される。(x0,y0)は、除算が実行される精度(すなわち、何ビットの商が計算されるか)を調節することによって、任意の必要なサブピクセル精度まで計算されることができる。1/16ペル精度の場合、商の絶対値における4ビットだけ計算すればよく、これは、CUごとに必要とされる2回の除算の高速シフト減算ベースの実装に資する;
3. 計算された(x0,y0)を整数距離精緻化MVに加算して、サブピクセル精度のデルタMVを得る。
【0178】
2.3 イントラブロックコピー
HEVCスクリーンコンテンツコーディング拡張(HEVC-SCC)及び現行のVVCテストモデル(VTM-4.0)にて、現在ピクチャ参照としても知られるイントラブロックコピー(IBC)が採用されている。IBCは、動き補償の概念をインターフレームコーディングからイントラフレームコーディングまで拡張する。
図21に示すように、IBCが適用されるとき、現在ブロックは、同じピクチャ内の参照ブロックによって予測される。現在ブロックが符号化又は復号される前に、参照ブロック内のサンプルが既に再構成されていなければならない。IBCは、大抵のカメラキャプチャシーケンスに対してそれほど効率的ではないが、スクリーンコンテンツに対して有意な符号化利得を示す。その理由は、スクリーンコンテンツピクチャ内には例えばアイコン及びテキスト文字などの多数の繰り返しパターンが存在するからである。IBCは、それらの繰り返しパターン間の冗長性を効果的に除去することができる。HEVC-SCCでは、インター符号化される符号化ユニット(CU)がその参照ピクチャとして現在ピクチャを選択する場合に、IBCを適用することができる。この場合、MVはブロックベクトル(BV)と呼び変えられ、BVは常に整数ピクセル精度を持つ。メインプロファイルHEVCとの互換性があるように、現在ピクチャは、復号ピクチャバッファ(DPB)内で“長期”参照ピクチャとしてマークされる。なお、同様に、マルチビュー/3D映像符号化標準において、インタビュー参照ピクチャも“長期”参照ピクチャとしてマークされる。
【0179】
BVがその参照ブロックを見つけた後、参照ブロックをコピーすることによって予測を生成することができる。元の信号から参照ピクセルを差し引くことによって、残差を得ることができる。その後、他の符号化モードにおいてのように、変換及び量子化を適用することができる。
【0180】
しかしながら、参照ブロックが、ピクチャの外側にあったり、現在ブロックと重なり合ったり、再構成された領域の外側にあったり、あるいは、何らかの制約によって制限される有効領域の外側にあったりする場合、一部又は全てのピクセル値が定まらない。基本的に、このような問題に対処するには2つのソリューションがある。1つは、例えばビットストリーム適合において、そのような状況を許容しないものである。もう1つは、それらの定まらないピクセル値に対してパディングを適用するものである。以下のサブセクションにて、それらソリューションを詳細に説明する。
【0181】
2.3.1 VVCテストモデル(VTM4.0)におけるIBC
現行のVVCテストモデル、すなわち、VTM-4.0設計では、参照ブロック全体が現在符号化ツリーユニット(CTU)であるべきであり、且つ現在ブロックと重なり合わない。従って、参照ブロック又は予測ブロックをパディングする必要はない。IBCフラグは、現在CUの予測モードとして符号化される。故に、各CUに対して、MODE_INTRA、MODE_INTER、及びMODE_IBCの3つの予測モードが存在する。
【0182】
2.3.1.1 IBCマージモード
IBCマージモードでは、IBCマージ候補リスト内のエントリを指すインデックスがビットストリームから構文解析される。IBCマージリストの構築は、以下の一連の手順に従ってまとめることができる:
・ ステップ1:空間候補の導出;
・ ステップ2:HMVP候補の挿入;
・ ステップ3:ペアワイズ平均候補の挿入;
空間マージ候補の導出では、
図2に示すようにA
1、B
1、B
0、A
0、及びB
2に示す位置にある候補の中から最大4つのマージ候補が選択される。導出の順序はA
1、B
1、B
0、A
0、及びB
2である。位置B
2は、位置A
1、B
1、B
0、A
0のうちのいずれかのPUが利用可能でない(例えば、それが別のスライス又はタイルに属するため)又はIBCモードで符号化されない場合にのみ考慮される。位置A
1の候補が追加された後、残りの候補の挿入は、符号化効率が向上されるように、同じ動き情報を持つ候補がリストから除外されることを確保する冗長性検査にかけられる。
【0183】
空間候補の挿入後、IBCマージリストのサイズが依然として最大IBCマージリストサイズよりも小さい場合、HMVPテーブルからのIBC候補が挿入され得る。HMVP候補を挿入するときに冗長性検査が行われる。
【0184】
最後に、ペアワイズ平均候補がIBCマージリストに挿入される。
【0185】
マージ候補によって特定される参照ブロックが、ピクチャの外側にあったり、現在ブロックと重なり合ったり、再構成された領域の外側にあったり、あるいは、何らかの制約によって制限される有効領域の外側にあったりする場合、そのマージ候補は無効なマージ候補と呼ばれる。
【0186】
なお、無効なマージ候補がIBCマージリストに挿入されてもよい。
【0187】
2.3.1.2 IBC AMVPモード
IBC AMVPモードでは、IBC AMVPリスト内のエントリを指すAMVPインデックスがビットストリームから構文解析される。IBC AMVPリストの構築は、以下の一連の手順に従ってまとめることができる:
・ ステップ1:空間候補の導出;
- 利用可能な候補が見つかるまでA0、A1を検査する;
- 利用可能な候補が見つかるまでB0、B1、B2を検査する;
・ ステップ2:HMVP候補の挿入;
・ ステップ3:ゼロ候補の挿入;
空間候補の挿入後、IBC AMVPリストのサイズが依然として最大IBC AMVPリストサイズよりも小さい場合、HMVPテーブルからのIBC候補が挿入され得る。
【0188】
最後に、ゼロ候補がIBC AMVPリストに挿入される。
【0189】
2.3.1.3 クロマIBCモード
現行VVCでは、クロマIBCモードにおける動き補償はサブブロックレベルで実行される。クロマブロックは、幾つかのサブブロックに分割されることになる。各サブブロックが、対応するルマブロックがブロックベクトルを持っているかと、それが存在する場合の有効性とを決定する。現行VTMにはエンコーダ制約があり、現在クロマCU内の全てのサブブロックが有効なルマブロックベクトルを持つ場合にクロマIBCモードがテストされることになる。例えば、YUV 420映像で、クロマブロックはN×Mであり、コロケートのルマ領域は2N×2Mである。クロマブロックのサブブロックサイズは2×2である。クロマmv導出、そしてブロックコピープロセスを実行するための幾つかのステップが存在する:
1)先ず、クロマブロックが(N>>1)*(M>>1)サブブロックに分割される;
2)左上サンプルの座標を(x,y)とする各サブブロックが、座標を(2x,2y)とする同じ左上サンプルをカバーする対応するルマブロックをフェッチする;
3)エンコーダが、フェッチされたルマブロックのブロックベクトル(bv)を検査する。以下の条件のうちの1つが満たされる場合、そのbvは無効とみなされる:
a. 対応するルマブロックのbvが存在しない;
b. bvによって特定される予測ブロックが未だ再構築されていない;
c. bvによって特定される予測ブロックが現在ブロックと部分的又は完全に重なっている;
4)サブブロックのクロマ動きベクトルが、対応するルマサブブロックの動きベクトルに設定される。
【0190】
全てのサブブロックが有効なbvを見つけた場合に、エンコーダでIBCモードが許可される。
【0191】
2.3.2 (VTM5.0における)IBC用の単一のBVリスト
JVET-N0843がVVCに採用されている。JVET-N0843では、IBCにおけるマージモード及びAMVPモード向けのBV予測子は、以下の要素で構成されるものである共通の予測子リストを共有する:
・ 2つの空間隣接位置(
図2においてのようなA1、B1);
・ 5つのHMVPエントリ;
・ デフォルトのゼロベクトル。
【0192】
リスト内の候補の数は、スライスヘッダから導出される変数によって制御される。マージモードでは、このリストの最初の最大6つのエントリが使用され、AMVPモードでは、このリストの最初の2つのエントリが使用される。また、このリストは、共有マージリスト領域要件(SMR内で同じリストを共有)に準拠する。
【0193】
上述のBV予測子候補リストに加えて、JVET-N0843は、HMVP候補と既存のマージ候補(A1、B1)との間での剪定処理を単純化することも提案した。その単純化では、最初のHMVP候補を(1つ以上の)空間マージ候補と比較するだけであるので、最大で2回の剪定処理が存在することになる。
【0194】
3. 問題点
マージモードの現行設計は以下の問題を有し得る:
1. 通常マージリスト構築プロセスが、現在ブロックに対するTPMの使用に依存する:
a. TPM符号化ブロックでは、空間マージ候補の間で完全剪定が適用される;
b. 非TPM符号化ブロックでは、空間マージ候補の間で部分的剪定が適用される;
2. 現行設計によれば、全てのマージ関連ツール(IBCマージ、通常マージ、MMVD、サブブロックマージ、CIIP、TPMを含む)が、general_merge_flagという名称の1つのフラグによって信号伝達される。しかしながら、このフラグが真であるときに、全てのマージ関連ツールが無効にされるように信号伝達されたり導出されることになったりすることが可能になってしまっている。この場合にどのように対処するのか知れていない。また、マージモードをオフにすることは許されず、すなわち、マージ候補の最大数が0に等しくないものとされている。しかしながら、高スループットのエンコーダ/デコーダでは、マージモードを強制的に無効にすることを必要とすることがある;
3. ATMVPプロセスでの初期化MVの決定が、スライスタイプ、全ての参照ピクチャのPOC値、collocated_from_l0_flagなどに依存し、そのことがMVのスループットを遅らせる;
4. コロケートMVの導出プロセスが、例えば追加ロジックを必要とする従来のTMVPプロセス又はATMVPプロセスなどの、サブブロック技術の使用に依存する;
5. ATMVP符号化ブロック内のサブCUについて、たとえそれに対応するコロケートブロックがインター符号化されても、そのサブCUの動き情報が、対応するコロケートブロックから導出されずに、他の動き情報で充たされることが可能になってしまっている。このような設計は、符号化効率及びスループットの両方にとって次善的である。
【0195】
6. HEVC仕様は、現在ピクチャ内又は参照ピクチャ内の1つの隣接ブロックの利用可能性を、そのブロックが構成されているか又は異なるCTU行/スライス内にあるかなどに基づいて定めている。しかしながら、VVCでは、複数の符号化方法が導入されている。ブロックの利用可能性の異なる定義を定める必要があり得る。
【0196】
4. 技術及び実施形態の例
以下の詳細な列挙は、一般的概念を説明するための例とみなされるべきである。これらの実施形態は狭義に解釈されるべきではない。さらに、これらの技術は、任意のやり方で組み合わされることができる。例えば、この文書で説明される実施形態は、現在映像ブロックが少なくとも2つの非矩形サブブロックに分割される幾何学的パーティションモード(GPM)に適用可能である。非矩形ブロックは、矩形以外の任意の幾何学的形状のものとすることができる。例えば、GPMは、第1の映像ブロックを、動き予測を別々に適用する複数の予測パーティションに分けることを有し、少なくとも1つのパーティションが、非矩形の形状を持つ。また、ここでの実施形態は、代替時間動きベクトル予測コーディング(ATMVP)の例を用いて説明されるが、一部の実施形態において、サブブロックベース時間動きベクトル予測子コーディング(SbTMVP)も適用可能である。
【0197】
A0、A1、B0、B1、B2等として表記される隣接ブロックが
図2に示されている:
1. 従来のマージ及びTPM符号化ブロック向けの通常マージリスト構築プロセスが、現在ブロックの符号化方法から切り離される:
a. 一例において、1つのブロックにTPMが適用されるときに、部分的剪定が空間マージ候補に適用される:
i. 一例において、2つの候補が互いに比較されるかが、非TPMマージ符号化ブロックに使用されるのと同じやり方で決定される;
ii. 一例において、B1がA1と比較され、B0がB1と比較され、A0がA1と比較され、B2がB1及びA1と比較される;
iii. あるいは、1つのブロックにTPMが使用されなくても、完全剪定が空間マージ候補に適用される;
iv. あるいは、さらに、一部の特定のブロック寸法に対して完全剪定が適用されてもよい:
1. 例えば、TPMが許容されるブロック寸法に対して完全剪定が適用され得る;
2. 例えば、ブロックサイズが、例えば16又は32又は64ルマサンプルといった、M*H未満のサンプルを含むとき、完全剪定は許可されない;
3. 例えば、ブロックの幅>th1又は>=th1であり、且つ/或いはブロックの高さ>th2又は>=th2である場合、完全剪定は許可されない;
b. 一例において、B2を検査するかは、1つのブロックにTPMが適用されるときにB2を検査する前の利用可能なマージ候補の数に基づく:
i. あるいは、非TPMマージ符号化ブロックに対して利用可能なマージ候補の数にかかわらず、B2は常に検査される;
2. ATMVPが利用可能であるか否かを決定するためにブロックを特定するのに使用される初期化MVが、単に、空間隣接ブロック(例えば、A1)のリストX情報を当てにすることができ、Xは、時間動きベクトル予測のために使用されるコロケートピクチャがそこから導出されるところに設定される(例えば、collocated_from_l0_flag):
a. あるいは、Xは、全ての参照リスト内の全ての参照ピクチャ内が、現在ピクチャと比較して小さいPOC値又はそれ以下のPOC値を持つかに従って決定される:
i. 一例において、それが真である場合、Xは1に設定される。そうでない場合、Xは0に設定される;
b. あるいは、空間隣接ブロック(例えば、A1)のリストXに関連する参照ピクチャが利用可能であり、且つコロケートピクチャと同じPOC値を持つ場合、初期化MVは、その空間隣接ブロックのリストXに関連するMVに設定される。そうでない場合、デフォルトMV(例えば(0,0))が利用される;
c. あるいは、HMVPテーブルに格納された動き情報が、ATMVPにおける初期化MVとして使用されてもよい:
i. 例えば、HMVPテーブルに格納された最初の利用可能な動き情報が使用され得る;
ii. 例えば、特定の参照ピクチャ(例えば、コロケートピクチャ)に関連付けられた、HMVPテーブルに格納された最初の利用可能な動き情報が使用され得る;
d. あるいは、Xは例えば0又は1などの固定数である;
3. サブブロックベース符号化ツール及び非サブブロックベース符号化ツールに使用されるコロケートMVの導出プロセスを揃えることができ、すなわち、特定の符号化ツールの使用からプロセスが独立になる:
a. 一例において、サブブロックベース符号化ツール向けのコロケートMVの導出プロセスの全体又は一部が、TMVPに使用されるものに揃えられる:
i. 一例において、それがリストYからの片予測である場合、リストYの動きベクトルがターゲット参照ピクチャリストXにスケーリングされる;
ii. 一例において、それが双予測であり且つターゲット参照ピクチャリストがXである場合、リストYの動きベクトルがターゲット参照ピクチャリストXにスケーリングされ、Yは以下のルールに従って決定され得る:
- 参照ピクチャのいずれもが、現在ピクチャと比較して大きいPOCを持たない場合、又は全ての参照ピクチャが、現在ピクチャと比較して小さいPOC値を持つ場合、YはXに等しく設定される;
- それ以外の場合、Yはcollocated_from_l0_flagに等しく設定される;
b. 一例において、TMVP向けのコロケートMVの導出プロセスの全体又は一部が、サブブロックベース符号化ツールに使用されるものに揃えられる;
4. 動き候補リスト構築プロセス(例えば、通常マージリスト、IBCマージ/AMVPリスト)が、ブロック寸法及び/又はマージ共有条件に依存し得る。ブロックの幅及び高さをそれぞれW及びと表記する。条件Cは、WとH及び/又はマージ共有条件に依存し得る:
a. 一例において、条件Cが満たされる場合、空間マージ候補の導出がスキップされる;
b. 一例において、条件Cが満たされる場合、HMVP候補の導出がスキップされる;
c. 一例において、条件Cが満たされる場合、ペアワイズマージ候補の導出がスキップされる;
d. 一例において、条件Cが満たされる場合、最大剪定処理回数が減らされ又は0に設定される;
e. 一例において、条件Cは、W*Hが閾値(例えば、64又は32)よりも小さい又はそれ以下であるときに満たされる;
f. 一例において、条件Cは、W及び/又はHが閾値(例えば、4又は8)よりも小さい又はそれ以下であるときに満たされる;
g. 一例において、条件Cは、現在ブロックが共有ノードの下にあるときに満たされる;
5. 許容される通常マージ候補の最大数/許容されるIBC候補の最大数/許容されるサブブロックマージ候補の最大数を0に設定することができる。従って、特定のツールを無効にすることができ、関連する構文要素を信号伝達する必要がない:
a. 一例において、許容される通常マージ候補の最大数が0に等しいとき、通常マージリストを当てにする符号化ツールが無効にされ得る。該符号化ツールは、通常マージ、MMVD、CIIP、TPM、DMVRなどとし得る;
b. 一例において、許容されるIBC候補の最大数が0に等しいとき、IBC AMVP及び/又はIBCマージが無効にされ得る;
c. 一例において、許容されるサブブロックベースマージ候補の最大数が0に等しいとき、例えばATMVP、アフィンマージモードといったサブブロックベース技術あ無効にされ得る;
d. 許容される候補の最大数に従ってツールが無効にされるとき、関連する構文要素の信号伝達はスキップされる:
i. あるいは、さらに、マージ関連ツールの信号伝達は、許容される候補の最大数が0に等しくないかを検査する必要があるとし得る;
ii. あるいは、さらに、マージ関連ツールに関するプロセスの呼び出しは、許容される候補の最大数が0に等しくないかを検査する必要があるとし得る;
6. general_merge_flag及び/又はcu_skip_flagの信号伝達が、許容される通常のマージ候補の最大数/許容されるIBC候補の最大数/許容されるサブブロックマージ候補の最大数/マージ関連の符号化ツールの使用に依存することができる:
a. 一例において、マージ関連の符号化ツールは、IBCマージ、通常マージ、MMVD、サブブロックマージ、CIIP、TPM、DMVRなどを含み得る;
b. 一例において、許容される通常マージ候補の最大数、許容されるIBCマージ/AMVP候補の最大数、許容されるサブブロックマージ候補の最大数が0に等しいとき、general_merge_flag及び/又はcu_skip_flagは信号伝達されない:
i. あるいは、さらに、general_merge_flag及び/又はcu_skip_flagは0であると推定される;
7. 適合ビットストリームは、現在ブロックのgeneral_merge_flag又はcu_skip_flagが真であるときに、IBCマージ、通常マージ、MMVD、サブブロックマージ、CIIP、TPM、DMVRなどを含むのマージ関連ツールのうちの少なくとも1つが有効にされることを満足するものとする;
8. 適合ビットストリームは、現在ブロックの(general_merge_flag又はcu_skip_flag)が真であり、且つ1つのスライス/タイル/ブリック/ピクチャ/現在ブロックに対してIBCが無効にされるときに、通常マージ、MMVD、サブブロックマージ、CIIP、TPM、DMVRなどを含むマージ関連ツールのうちの少なくとも1つが有効にされることを満足するものとする;
9. 適合ビットストリームは、現在ブロックの(general_merge_flag又はcu_skip_flag)が真であり、且つ1つのスライス/タイル/ブリック/ピクチャ/現在ブロックに対してMMVDが無効にされるときに、IBCマージ、通常マージ、サブブロックマージ、CIIP、TPMを含むマージ関連ツールのうちの少なくとも1つが有効にされることを満足するものとする;
10. 適合ビットストリームは、現在ブロックの(general_merge_flag又はcu_skip_flag)が真であり、且つ1つのスライス/タイル/ブリック/ピクチャ/現在ブロックに対してCIIPが無効にされるときに、IBCマージ、通常マージ、MMVD、サブブロックマージ、TPMを含むマージ関連ツールのうちの少なくとも1つが有効にされることを満足するものとする;
11. 適合ビットストリームは、現在ブロックの(general_merge_flag又はcu_skip_flag)が真であり、且つ1つのスライス/タイル/ブリック/ピクチャ/現在ブロックに対してTPMが無効にされるときに、IBCマージ、通常マージ、MMVD、サブブロックマージ、CIIPを含むマージ関連ツールのうちの少なくとも1つが有効にされることを満足するものとする;
12. 適合ビットストリームは、現在ブロックのgeneral_merge_flag又はcu_skip_flagが真であるときに、IBCマージ、通常マージ、MMVD、サブブロックマージ、CIIP、TPMを含む有効にされたマージ関連ツールのうちの少なくとも1つが適用されることを満足するものとする。第1ブロックを符号化するとき、第2ブロックの利用可能性の検査は、第1ブロックの符号化モード情報に依存することができ、例えば、第1ブロックと第2ブロックとに異なるモードが使用される場合、第2ブロックは、他条件の検査結果(例えば、構築済みである)にかかわらず、利用不可として扱われてもよい:
a. 一例において、第1ブロックがインター符号化され、第2ブロックがIBC符号化される場合、第2ブロックは利用不可としてマークされる;
b. 一例において、第1ブロックがIBC符号化され、第2ブロックがインター符号化される場合、第2ブロックは利用不可としてマークされる;
c. 第2ブロックが利用不可としてマークされるとき、関連する符号化情報(例えば、動き情報)は、第1ブロックを符号化するのに利用されることが許されない。
【0198】
5. 実施形態
最新のVVC作業草案(JVET-N1001_v7)に加えて提案する変更が、以下に与えられる。削除されるテキストを、太字の大文字にしたフォントでマークする。新たに追加される部分を、太字の下線付きの斜体フォントで強調する。
【0199】
5.1 実施形態#1
この実施形態は、非TPM符号化ブロックに対する剪定プロセスを、TPM符号化ブロックに対する剪定プロセスに揃える、すなわち、非TPM符号化ブロックに対して完全剪定操作とするものである。
【0200】
8.5.2.3 空間マージ候補の導出プロセス
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対する現在ルマ符号化ブロックの左上サンプルのルマ位置(xCb,yCb);
- ルマサンプル内の現在符号化ブロックの幅を規定する変数cbWidth;
- ルマサンプル内の現在符号化ブロックの高さを規定する変数cbHeight。
【0201】
このプロセスの出力は、0又は1であるXで、以下である:
- 隣接符号化ユニットの利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、及びavailableFlagB2;
- 隣接符号化ユニットの参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、及びrefIdxLXB2;
- 隣接符号化ユニットの予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、及びpredFlagLXB2;
- 隣接符号化ユニットの1/16分数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、及びmvLXB2;
- 双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、及びgbiIdxB2。
【0202】
availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA1,yNbA1)が(xCb-1,yCb+cbHeight-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA1,yNbA1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA1に割り当てられる;
- 変数availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1が、次のように導出される:
- availableA1がFALSEに等しい場合、0又は1であるXで、availableFlagA1が0に等しく設定され、mvLXA1の両方のコンポーネントが0に等しく設定され、refIdxLXA1が-1に等しく設定され、predFlagLXA1が0に等しく設定され、そして、gbiIdxA1が0に等しく設定される;
- それ以外の場合、availableFlagA1は1に等しく設定されて、以下の割り当てが行われる:
mvLXA1=MvLX[xNbA1][yNbA1] (8-294)
refIdxLXA1=RefIdxLX[xNbA1][yNbA1] (8-295)
predFlagLXA1=PredFlagLX[xNbA1][yNbA1] (8-296)
gbiIdxA1=GbiIdx[xNbA1][yNbA1] (8-297)
【0203】
availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB1,yNbB1)が(xCb+cbWidth-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB1,yNbB1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB1に割り当てられる;
- 変数availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB1が0に等しく設定され、mvLXB1の両方のコンポーネントが0に等しく設定され、refIdxLXB1が-1に等しく設定され、predFlagLXB1が0に等しく設定され、そして、gbiIdxB1が0に等しく設定される;
- availableB1がFALSEに等しい;
- availableA1がTRUEに等しく、且つルマ位置(xNbA1,yNbA1)及び(xNbB1,yNbB1)が同じ動きベクトル及び同じ参照インデックスを持つ;
- それ以外の場合、availableFlagB1は1に等しく設定されて、以下の割り当てが行われる:
mvLXB1=MvLX[xNbB1][yNbB1] (8-298)
refIdxLXB1=RefIdxLX[xNbB1][yNbB1] (8-299)
predFlagLXB1=PredFlagLX[xNbB1][yNbB1] (8-300)
gbiIdxB1=GbiIdx[xNbB1][yNbB1] (8-301)
【0204】
availableFlagB
0、refIdxLXB
0、predFlagLXB
0、及びmvLXB
0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB
0,yNbB
0)が(xCb+cbWidth,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB
0,yNbB
0)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB
0に割り当てられる;
- 変数availableFlagB
0、refIdxLXB
0、predFlagLXB
0、及びmvLXB
0が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB
0が0に等しく設定され、mvLXB
0の両方のコンポーネントが0に等しく設定され、refIdxLXB
0が-1に等しく設定され、predFlagLXB
0が0に等しく設定され、そして、gbiIdxB
0が0に等しく設定される;
(外2)
- それ以外の場合、availableFlagB
0は1に等しく設定されて、以下の割り当てが行われる:
mvLXB
0=MvLX[xNbB
0][yNbB
0] (8-302)
refIdxLXB
0=RefIdxLX[xNbB
0][yNbB
0] (8-303)
predFlagLXB
0=PredFlagLX[xNbB
0][yNbB
0] (8-304)
gbiIdxB
0=GbiIdx[xNbB
0][yNbB
0] (8-305)
【0205】
availableFlagA
0、refIdxLXA
0、predFlagLXA
0、及びmvLXA
0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA
0,yNbA
0)が(xCb-1,yCb+cbWidth)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA
0,yNbA
0)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA
0に割り当てられる;
- 変数availableFlagA
0、refIdxLXA
0、predFlagLXA
0、及びmvLXA
0が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagA
0が0に等しく設定され、mvLXA
0の両方のコンポーネントが0に等しく設定され、refIdxLXA
0が-1に等しく設定され、predFlagLXA
0が0に等しく設定され、そして、gbiIdxA
0が0に等しく設定される;
(外3)
- それ以外の場合、availableFlagA
0は1に等しく設定されて、以下の割り当てが行われる:
mvLXA
0=MvLX[xNbA
0][yNbA
0] (8-306)
refIdxLXA
0=RefIdxLX[xNbA
0][yNbA
0] (8-307)
predFlagLXA
0=PredFlagLX[xNbA
0][yNbA
0] (8-308)
gbiIdxA
0=GbiIdx[xNbA
0][yNbA
0] (8-309)
【0206】
availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB
2,yNbB
2)が(xCb-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB
2,yNbB
2)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB
2に割り当てられる;
- 変数availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB
2が0に等しく設定され、mvLXB
2の両方のコンポーネントが0に等しく設定され、refIdxLXB
2が-1に等しく設定され、predFlagLXB
2が0に等しく設定され、そして、gbiIdxB
2が0に等しく設定される;
(外4)
- それ以外の場合、availableFlagB
2は1に等しく設定されて、以下の割り当てが行われる:
mvLXB
2=MvLX[xNbB
2][yNbB
2] (8-310)
refIdxLXB
2=RefIdxLX[xNbB
2][yNbB
2] (8-311)
predFlagLXB
2=PredFlagLX[xNbB
2][yNbB
2] (8-312)
gbiIdxB
2=GbiIdx[xNbB
2][yNbB
2] (8-313)
【0207】
5.2 実施形態#2
この実施形態は、TPM符号化ブロックに対する剪定プロセスを、非TPM符号化ブロックに対する剪定プロセスに揃える、すなわち、TPM符号化ブロックに対して限られた剪定操作とするものである。
【0208】
8.5.2.3 空間マージ候補の導出プロセス
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対する現在ルマ符号化ブロックの左上サンプルのルマ位置(xCb,yCb);
- ルマサンプル内の現在符号化ブロックの幅を規定する変数cbWidth;
- ルマサンプル内の現在符号化ブロックの高さを規定する変数cbHeight。
【0209】
このプロセスの出力は、0又は1であるXで、以下である:
- 隣接符号化ユニットの利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、及びavailableFlagB2;
- 隣接符号化ユニットの参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、及びrefIdxLXB2;
- 隣接符号化ユニットの予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、及びpredFlagLXB2;
- 隣接符号化ユニットの1/16分数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、及びmvLXB2;
- 双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、及びgbiIdxB2。
【0210】
availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA1,yNbA1)が(xCb-1,yCb+cbHeight-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA1,yNbA1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA1に割り当てられる;
- 変数availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1が、次のように導出される:
- availableA1がFALSEに等しい場合、0又は1であるXで、availableFlagA1が0に等しく設定され、mvLXA1の両方のコンポーネントが0に等しく設定され、refIdxLXA1が-1に等しく設定され、predFlagLXA1が0に等しく設定され、そして、gbiIdxA1が0に等しく設定される;
- それ以外の場合、availableFlagA1は1に等しく設定されて、以下の割り当てが行われる:
mvLXA1=MvLX[xNbA1][yNbA1] (8-294)
refIdxLXA1=RefIdxLX[xNbA1][yNbA1] (8-295)
predFlagLXA1=PredFlagLX[xNbA1][yNbA1] (8-296)
gbiIdxA1=GbiIdx[xNbA1][yNbA1] (8-297)
【0211】
availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB1,yNbB1)が(xCb+cbWidth-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB1,yNbB1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB1に割り当てられる;
- 変数availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB1が0に等しく設定され、mvLXB1の両方のコンポーネントが0に等しく設定され、refIdxLXB1が-1に等しく設定され、predFlagLXB1が0に等しく設定され、そして、gbiIdxB1が0に等しく設定される;
- availableB1がFALSEに等しい;
- availableA1がTRUEに等しく、且つルマ位置(xNbA1,yNbA1)及び(xNbB1,yNbB1)が同じ動きベクトル及び同じ参照インデックスを持つ;
- それ以外の場合、availableFlagB1は1に等しく設定されて、以下の割り当てが行われる:
mvLXB1=MvLX[xNbB1][yNbB1] (8-298)
refIdxLXB1=RefIdxLX[xNbB1][yNbB1] (8-299)
predFlagLXB1=PredFlagLX[xNbB1][yNbB1] (8-300)
gbiIdxB1=GbiIdx[xNbB1][yNbB1] (8-301)
【0212】
availableFlagB
0、refIdxLXB
0、predFlagLXB
0、及びmvLXB
0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB
0,yNbB
0)が(xCb+cbWidth,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB
0,yNbB
0)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB
0に割り当てられる;
- 変数availableFlagB
0、refIdxLXB
0、predFlagLXB
0、及びmvLXB
0が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB
0が0に等しく設定され、mvLXB
0の両方のコンポーネントが0に等しく設定され、refIdxLXB
0が-1に等しく設定され、predFlagLXB
0が0に等しく設定され、そして、gbiIdxB
0が0に等しく設定される;
(外5)
- それ以外の場合、availableFlagB
0は1に等しく設定されて、以下の割り当てが行われる:
mvLXB
0=MvLX[xNbB
0][yNbB
0] (8-302)
refIdxLXB
0=RefIdxLX[xNbB
0][yNbB
0] (8-303)
predFlagLXB
0=PredFlagLX[xNbB
0][yNbB
0] (8-304)
gbiIdxB
0=GbiIdx[xNbB
0][yNbB
0] (8-305)
【0213】
availableFlagA
0、refIdxLXA
0、predFlagLXA
0、及びmvLXA
0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA
0,yNbA
0)が(xCb-1,yCb+cbWidth)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA
0,yNbA
0)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA
0に割り当てられる;
- 変数availableFlagA
0、refIdxLXA
0、predFlagLXA
0、及びmvLXA
0が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagA
0が0に等しく設定され、mvLXA
0の両方のコンポーネントが0に等しく設定され、refIdxLXA
0が-1に等しく設定され、predFlagLXA
0が0に等しく設定され、そして、gbiIdxA
0が0に等しく設定される;
(外6)
- それ以外の場合、availableFlagA
0は1に等しく設定されて、以下の割り当てが行われる:
mvLXA
0=MvLX[xNbA
0][yNbA
0] (8-306)
refIdxLXA
0=RefIdxLX[xNbA
0][yNbA
0] (8-307)
predFlagLXA
0=PredFlagLX[xNbA
0][yNbA
0] (8-308)
gbiIdxA
0=GbiIdx[xNbA
0][yNbA
0] (8-309)
【0214】
availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB
2,yNbB
2)が(xCb-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB
2,yNbB
2)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB
2に割り当てられる;
- 変数availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB
2が0に等しく設定され、mvLXB
2の両方のコンポーネントが0に等しく設定され、refIdxLXB
2が-1に等しく設定され、predFlagLXB
2が0に等しく設定され、そして、gbiIdxB
2が0に等しく設定される;
(外7)
- それ以外の場合、availableFlagB
2は1に等しく設定されて、以下の割り当てが行われる:
mvLXB
2=MvLX[xNbB
2][yNbB
2] (8-310)
refIdxLXB
2=RefIdxLX[xNbB
2][yNbB
2] (8-311)
predFlagLXB
2=PredFlagLX[xNbB
2][yNbB
2] (8-312)
gbiIdxB
2=GbiIdx[xNbB
2][yNbB
2] (8-313)
【0215】
5.3 実施形態#3
この実施形態は、B2の検査を呼び出すための条件を揃えるものである。
【0216】
8.5.2.3 空間マージ候補の導出プロセス
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対する現在ルマ符号化ブロックの左上サンプルのルマ位置(xCb,yCb);
- ルマサンプル内の現在符号化ブロックの幅を規定する変数cbWidth;
- ルマサンプル内の現在符号化ブロックの高さを規定する変数cbHeight。
【0217】
このプロセスの出力は、0又は1であるXで、以下である:
- 隣接符号化ユニットの利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、及びavailableFlagB2;
- 隣接符号化ユニットの参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、及びrefIdxLXB2;
- 隣接符号化ユニットの予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、及びpredFlagLXB2;
- 隣接符号化ユニットの1/16分数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、及びmvLXB2;
- 双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、及びgbiIdxB2。
【0218】
availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA1,yNbA1)が(xCb-1,yCb+cbHeight-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA1,yNbA1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA1に割り当てられる;
- 変数availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1が、次のように導出される:
...
【0219】
availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB1,yNbB1)が(xCb+cbWidth-1,yCb-1)に等しく設定される;
...
【0220】
availableFlagB0、refIdxLXB0、predFlagLXB0、及びmvLXB0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB0,yNbB0)が(xCb+cbWidth,yCb-1)に等しく設定される;
...
【0221】
availableFlagA0、refIdxLXA0、predFlagLXA0、及びmvLXA0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA0,yNbA0)が(xCb-1,yCb+cbWidth)に等しく設定される;
...
【0222】
availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB
2,yNbB
2)が(xCb-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB
2,yNbB
2)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB
2に割り当てられる;
- 変数availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB
2が0に等しく設定され、mvLXB
2の両方のコンポーネントが0に等しく設定され、refIdxLXB
2が-1に等しく設定され、predFlagLXB
2が0に等しく設定され、そして、gbiIdxB
2が0に等しく設定される;
(外8)
- それ以外の場合、availableFlagB
2は1に等しく設定されて、以下の割り当てが行われる:
mvLXB
2=MvLX[xNbB
2][yNbB
2] (8-310)
refIdxLXB
2=RefIdxLX[xNbB
2][yNbB
2] (8-311)
predFlagLXB
2=PredFlagLX[xNbB
2][yNbB
2] (8-312)
gbiIdxB
2=GbiIdx[xNbB
2][yNbB
2] (8-313)
【0223】
5.4 実施形態#4
この実施形態は、B2の検査を呼び出すための条件を揃えるものである。
【0224】
8.5.2.3 空間マージ候補の導出プロセス
このプロセスへの入力は以下である:
- 現在ピクチャの左上ルマサンプルに対する現在ルマ符号化ブロックの左上サンプルのルマ位置(xCb,yCb);
- ルマサンプル内の現在符号化ブロックの幅を規定する変数cbWidth;
- ルマサンプル内の現在符号化ブロックの高さを規定する変数cbHeight。
【0225】
このプロセスの出力は、0又は1であるXで、以下である:
- 隣接符号化ユニットの利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、及びavailableFlagB2;
- 隣接符号化ユニットの参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、及びrefIdxLXB2;
- 隣接符号化ユニットの予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、及びpredFlagLXB2;
- 隣接符号化ユニットの1/16分数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、及びmvLXB2;
- 双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、及びgbiIdxB2。
【0226】
availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA1,yNbA1)が(xCb-1,yCb+cbHeight-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbA1,yNbA1)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableA1に割り当てられる;
- 変数availableFlagA1、refIdxLXA1、predFlagLXA1、及びmvLXA1が、次のように導出される:
...
【0227】
availableFlagB1、refIdxLXB1、predFlagLXB1、及びmvLXB1の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB1,yNbB1)が(xCb+cbWidth-1,yCb-1)に等しく設定される;
...
【0228】
availableFlagB0、refIdxLXB0、predFlagLXB0、及びmvLXB0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB0,yNbB0)が(xCb+cbWidth,yCb-1)に等しく設定される;
...
【0229】
availableFlagA0、refIdxLXA0、predFlagLXA0、及びmvLXA0の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbA0,yNbA0)が(xCb-1,yCb+cbWidth)に等しく設定される;
...
【0230】
availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2の導出のため、以下が適用される:
- 隣接ルマ符号化ブロックの内側のルマ位置(xNbB
2,yNbB
2)が(xCb-1,yCb-1)に等しく設定される;
- 第6.4.X項[Ed.(BB):Neighbouring blocks availability checking process tbd]に規定されるブロックの利用可能性導出プロセスが、(xCb,yCb)に等しく設定される現在ルマ位置(xCurr,yCurr)及び隣接ルマ位置(xNbB
2,yNbB
2)を入力として呼び出され、その出力が、ブロック利用可能性フラグavailableB
2に割り当てられる;
- 変数availableFlagB
2、refIdxLXB
2、predFlagLXB
2、及びmvLXB
2が、次のように導出される:
- 以下の条件のうちの1つ以上が真である場合、0又は1であるXで、availableFlagB
2が0に等しく設定され、mvLXB
2の両方のコンポーネントが0に等しく設定され、refIdxLXB
2が-1に等しく設定され、predFlagLXB
2が0に等しく設定され、そして、gbiIdxB
2が0に等しく設定される;
(外9)
- それ以外の場合、availableFlagB
2は1に等しく設定されて、以下の割り当てが行われる:
mvLXB
2=MvLX[xNbB
2][yNbB
2] (8-310)
refIdxLXB
2=RefIdxLX[xNbB
2][yNbB
2] (8-311)
predFlagLXB
2=PredFlagLX[xNbB
2][yNbB
2] (8-312)
gbiIdxB
2=GbiIdx[xNbB
2][yNbB
2] (8-313)
【0231】
5.5 実施形態#5
この実施形態は、ATMVPプロセスにおける初期化MVの決定を単純化するものである。
【0232】
8.5.5.4 サブブロックベース時間マージベース動きデータの導出プロセス
このプロセスへの入力は以下である:
- 現在符号化ブロックを含むルマ符号化ツリーブロックの左上サンプルの位置(xCtb,yCtb);
- 右下の中央サンプルをカバーするコロケートルマ符号化ブロックの左上サンプルの位置(xColCtrCb,yColCtrCb);
- 隣接符号化ユニットの利用可能性フラグavailableFlagA1;
- 隣接符号化ユニットの参照インデックスrefIdxLXA1;
- 隣接符号化ユニットの予測リスト利用フラグpredFlagLXA1;
- 隣接符号化ユニットの1/16分数サンプル精度での動きベクトルmvLXA1。
【0233】
このプロセスの出力は以下である:
- 動きベクトルctrMvL0及びctrMvL1;
- 予測リスト利用フラグctrPredFlagL0及びctrPredFlagL1;
- 時間動きベクトルtempMv。
【0234】
変数tempMvは次のように設定される:
tempMv[0]=0 (8-529)
tempMv[1]=0 (8-530)
変数currPicは現在ピクチャを規定する。
【0235】
availableFlagA
1がTRUEに等しいとき、以下が適用される:
(外10)
【0236】
ColPicの内側のコロケートブロックの位置(xColCb,yColCb)が、次のように導出される:
xColCb=Clip3(xCtb,
Min(CurPicWidthInSamplesY-1,xCtb+(1<<CtbLog2SizeY)+3),
xColCtrCb+(tempMv[0]>>4)) (8-531)
yColCb=Clip3(yCtb,
Min(CurPicHeightInSamplesY-1,yCtb+(1<<CtbLog2SizeY)-1),
yColCtrCb+(tempMv[1]>>4)) (8-532)
【0237】
配列colPredModeが、ColPicによって規定されるコロケートピクチャの予測モード配列CuPredModeに等しく設定される。
【0238】
動きベクトルctrMvL0及びctrMvL1、並びに予測リスト利用フラグctrPredFlagL0及びctrPredFlagL1が、次のように導出される:
...
【0239】
5.6 実施形態#6
サブブロックベースの方法及び非サブブロックベースの方法でコロケートMVの導出プロセスを揃えることの例。
【0240】
8.5.2.12 コロケート動きベクトルの導出プロセス
このプロセスへの入力は以下である:
- 現在符号化ブロックを規定する変数currCb;
- ColPicによって規定されるコロケートピクチャの内側のコロケート符号化ブロックを規定する変数colCb;
- colCbによって規定されるコロケート符号化ブロックの左上サンプルを、ColPicによって規定されるコロケートピクチャの左上ルマサンプルに対して規定するルマ位置(xColCb,yColCb);
- 0又は1であるXでの参照インデックスrefIdxLX;
- サブブロック時間マージ候補を指し示すフラグsbFlag。
【0241】
このプロセスの出力は以下である:
- 1/16分数サンプル精度での動きベクトル予測mvLXCol;
- 利用可能性フラグavailableFlagLXCol。
【0242】
変数currPicは現在ピクチャを規定する。
【0243】
配列predFlagL0Col[x][y]、mvL0Col[x][y]、及びrefIdxL0Col[x][y]が、それぞれ、ColPicによって規定されるコロケートピクチャのPredFlagL0[x][y]、MvDmvrL0[x][y]、及びRefIdxL0[x][y]に等しく設定され、配列predFlagL1Col[x][y]、mvL1Col[x][y]、及びrefIdxL1Col[x][y]が、それぞれ、ColPicによって規定されるコロケートピクチャのPredFlagL1[x][y]、MvDmvrL1[x][y]、及びRefIdxL1[x][y]に等しく設定される。
【0244】
変数mvLXCol及びavailableFlagLXColが次のように導出される:
- colCbがイントラ又はIBC予測モードで符号化される場合、mvLXColの両方のコンポーネントが0に等しく設定され、availableFlagLXColが0に等しく設定される;
- それ以外の場合、動きベクトルmvCol、参照インデックスrefIdxCol、及び参照リスト識別子listColが、次のように導出される:
(外11)
(外12)
- availableFlagLXColがTRUEに等しいとき、mvLXCol及びavailableFlagLXColが、次のように導出される:
- LongTermRefPic(currPic,currCb,refIdxLX,LX)がLongTermRefPic(ColPic,colCb,refIdxCol,listCol)に等しくない場合、mvLXColの両方のコンポーネントが0に等しく設定され、availableFlagLXColが0に等しく設定される;
- それ以外の場合、変数availableFlagLXColが1に等しく設定され、refPicList[listCol][refIdxCol]が、ColPicによって規定されるコロケートピクチャ内の符号化ブロックcolCbを含むスライスの参照ピクチャリストlistCol内の参照インデックスrefIdxColを有するピクチャであるように設定され、以下が適用される:
...
【0245】
図22は、映像処理装置2200のブロック図である。装置2200は、ここに記載される方法のうちの1つ以上を実装するために使用され得る。装置2200は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信器にて具現化され得る。装置2200は、1つ以上のプロセッサ2202、1つ以上のメモリ2204、及び映像処理ハードウェア2206を含み得る。(1つ以上の)プロセッサ2202は、本文書に記載される1つ以上の方法を実行するように構成され得る。(1つ以上の)メモリ2204は、ここに記載される方法及び技術を実行するのに使用されるデータ及びコードを格納するために使用され得る。映像処理ハードウェア2206は、本文書に記載される一部の技術をハードウェア回路にて実装するために使用され得る。映像処理ハードウェア2206は、部分的に又は完全に、専用ハードウェア又はグラフィカルプロセッサユニット(GPU)又は特殊化された信号処理ブロックの形態で、(1つ以上の)プロセッサ2202内に含まれ得る。
【0246】
ここで、本文書の一部の実施形態を、項ベースのフォーマットで提示する。
【0247】
第4節の項目1に記載される技術の一部の実施形態例は以下を含む。
【0248】
1. 映像処理の方法(例えば、
図23に示される方法2300)であって、現在映像ブロックが少なくとも2つの非矩形サブブロックに分割される三角パーティションモード(TMP)を用いて分割される現在映像ブロックのマージリスト構築に剪定プロセスを適用するステップ(2302)であり、前記剪定プロセスは、非TMPパーティションを用いて分割される別の映像ブロックの別の剪定プロセスと同じである、ステップと、前記マージリスト構築に基づいて、前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での変換を実行するステップ(2304)と、を有する方法。
【0249】
2. 前記剪定プロセスは、前記現在映像ブロックの空間マージ候補に部分的剪定を使用することを有する、項1に記載の方法。
【0250】
3. 前記剪定プロセスは、前記現在映像ブロックの寸法に基づいて完全剪定を使用すべきか又は部分的剪定を使用すべきかを規定するブロック寸法ルールに基づいて、前記現在映像ブロックに完全剪定又は部分的剪定を適用することを有する、項1に記載の方法。
【0251】
4. 前記剪定プロセスは、前記マージリスト構築プロセスにおいて異なる順序の隣接ブロックを使用することを有する、項1に記載の方法。
【0252】
第4節の項目2に記載される技術の一部の実施形態例は以下を含む。
【0253】
1. 映像処理の方法であって、現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換において、前記変換に対する代替時間動きベクトル予測子コーディング(ATMVP)モードの利用可能性について、前記現在映像ブロックの隣接ブロックのリストXに基づいて決定するステップであり、ただし、Xは整数であり、Xの値は、前記現在映像ブロックの符号化条件に依存する、ステップと、前記ATMVPモードの前記利用可能性に基づいて前記変換を実行するステップと、を有する方法。
【0254】
2. Xは、前記現在映像ブロックと前記ビットストリーム表現との間での前記変換に使用される時間動きベクトル予測がそこから行われるところであるコロケート映像ピクチャの位置を指し示す、項1に記載の方法。
【0255】
3. Xは、前記現在映像ブロック向けの全ての参照リスト内の全ての参照ピクチャのピクチャオーダカウント(POC)を、前記現在映像ブロックの現在映像ピクチャのPOCと比較することによって決定される、項1に記載の方法。
【0256】
4. 前記比較することが、POCが前記現在映像ブロックのPOC以下であることを示す場合に、X=1に設定し、それ以外の場合に、X=0に設定する、項3に記載の方法。
【0257】
5. 前記ATMVPモードにおいて動き情報を初期化するために、履歴ベース動きベクトル予測子テーブルに格納された動き情報が使用される、項1に記載の方法。
【0258】
第4節の項目3に記載される技術の一部の実施形態例は以下を含む。
【0259】
1. 映像処理の方法であって、現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換において、各サブブロックがそれ自身の動き情報を導出することが可能な少なくとも2つのサブブロックに前記現在映像ブロックが分割されるサブブロックベース符号化技術が前記変換に使用されることを決定するステップと、コロケート動きベクトルに対するブロックベース導出プロセスと揃えられた前記現在映像ブロックに対するマージリスト構築プロセスを用いて前記変換を実行するステップと、を有する方法。
【0260】
2. 前記マージリスト構築プロセス及び前記導出プロセスは、リストYからの片予測を実行することを有し、リストYの動きベクトルが、ターゲット参照ピクチャリストXにスケーリングされる、項1に記載の方法。
【0261】
3. 前記マージリスト構築プロセス及び前記導出プロセスは、ターゲット参照ピクチャリストXを用いて双予測を実行することを有し、リストYの動きベクトルが、リストXの動きベクトルにスケーリングされ、Yは、ルールに従って決定される、項1に記載の方法。
【0262】
第4節の項目4に記載される技術の一部の実施形態例は以下を含む。
【0263】
1. 映像処理の方法であって、映像ピクチャの現在映像ブロックの寸法、及び/又は異なる符号化ツールからのマージ候補が共有されるマージ共有状態の有効化に基づいて、条件が満たされていることと、条件が満たされていないこととの間で決定を行うステップと、前記条件に基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、を有する方法。
【0264】
2. 前記変換を実行するステップは、前記条件が満たされている場合に空間マージ候補を導出することをスキップすることを有する、項1に記載の方法。
【0265】
3. 前記変換を実行するステップは、前記条件が満たされている場合に履歴ベース動きベクトル候補を導出することをスキップすることを有する、項1に記載の方法。
【0266】
4. 前記条件が満たされていることは、前記現在映像ブロックが前記映像ピクチャ内の共有ノードの下にあることに基づいて決定される、項1乃至3のいずれかに記載の方法。
【0267】
第4節の項目5に記載される技術の一部の実施形態例は以下を含む。
【0268】
1. 映像処理の方法であって、現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換において、前記変換のために符号化ツールが無効にされることの決定を行うステップであり、前記ビットストリーム表現は、前記符号化ツールに関するマージ候補の最大数がゼロであることのインジケーションを提供するように構成される、ステップと、前記符号化ツールが無効にされることの前記決定を用いて前記変換を実行するステップと、を有する方法。
【0269】
2. 前記符号化ツールは、前記現在映像ブロックのピクセルが前記現在映像ブロックの映像領域内の他のピクセルから符号化されるものであるイントラブロックコピーに相当する、項1に記載の方法。
【0270】
3. 前記符号化ツールはサブブロック符号化ツールである、項1に記載の方法。
【0271】
4. 前記サブブロック符号化ツールは、アフィン符号化ツール又は代替動きベクトル予測子ツールである、項3に記載の方法。
【0272】
5. 前記変換を実行するステップは、前記符号化ツールに関係する構文要素をスキップすることによって前記ビットストリームを処理することを含む、項1乃至4のいずれかに記載の方法。
【0273】
第4節の項目6に記載される技術の一部の実施形態例は以下を含む。
【0274】
1. 映像処理の方法であって、現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換において、ルールを用いて決定を行うステップであり、前記ルールは、前記ビットストリーム表現内の第1の構文要素が、前記変換において使用される符号化ツールによって用いられるマージ候補の最大数を指し示す第2の構文要素に基づいて条件付きで存在することを規定する、ステップと、前記決定に基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での前記変換を実行するステップと、を有する方法。
【0275】
2. 前記第1の構文要素はマージフラグに相当する、項1に記載の方法。
【0276】
3. 前記第1の構文要素はスキップフラグに相当する、項1に記載の方法。
【0277】
4. 前記符号化ツールはサブバンド符号化ツールであり、前記第2の構文要素は、前記サブバンド符号化ツールに関する最大許容マージ候補に相当する、項1乃至3のいずれか一項に記載の方法。
【0278】
34. 前記変換は、前記現在映像ブロックから前記ビットストリーム表現を生成することを含む、項1乃至33のいずれかに記載の方法。
【0279】
35. 前記変換は、前記ビットストリーム表現から前記現在映像ブロックのサンプルを生成することを含む、項1乃至33のいずれかに記載の方法。
【0280】
36. 項1乃至35のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像処理装置。
【0281】
37. コードを格納したコンピュータ読み取り可能媒体であって、前記コードは、実行時にプロセッサに項1乃至35のいずれかに記載の方法を実行させる、コンピュータ読み取り可能媒体。
【0282】
図24は、ここに開示される様々な技術が実装され得る映像処理システム2400の一例を示すブロック図である。様々な実装は、システム2400のコンポーネントの一部又は全てを含み得る。システム2400は、映像コンテンツを受信する入力2402を含み得る。映像コンテンツは、例えば8ビット又は10ビットのマルチコンポーネント(多成分)ピクセル値といった、ロー(未加工)又は未圧縮のフォーマットで受信されてもよいし、あるいは圧縮又は符号化されたフォーマットで受信されてもよい。入力2402は、ネットワークインタフェース、周辺バスインタフェース、又はストレージインタフェースを表し得る。ネットワークインタフェースの例は、イーサネット(登録商標)、パッシブ光ネットワーク(PON)などの有線インタフェース、及びWi-Fi(登録商標)若しくはセルラーインタフェースなどの無線インタフェースを含む。
【0283】
システム2400は、本文書に記載される様々なコーディング又は符号化方法を実装し得る符号化コンポーネント2404を含み得る。符号化コンポーネント2404は、入力2402から符号化コンポーネント2404の出力まで映像の平均ビットレートを低減させて、映像の符号化表現を生成し得る。符号化技術は、それ故に、映像圧縮技術又は映像トランスコーディング技術と呼ばれることがある。符号化コンポーネント2404の出力は、格納されるか、コンポーネント2406によって表されるように接続されて通信を介して伝送されるかし得る。入力2402で受信された映像の格納又は通信されるビットストリーム(又は符号化)表現は、ディスプレイインタフェース2410に送られるピクセル値又は表示可能映像を生成するためにコンポーネント2408によって使用され得る。ビットストリーム表現からユーザが見ることができる映像を生成するプロセスは、映像解凍と呼ばれることがある。また、特定の映像処理操作が“符号化”の操作又はツールとして参照されることがあるが、理解されることには、符号化のツール又は操作はエンコーダで使用され、符号化の結果を裏返す対応する復号のツール又は操作がデコーダで実行されることになる。
【0284】
周辺バスインタフェース又はディスプレイインタフェースの例は、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインタフェース(HDMI(登録商標))又はディスプレイポート(Displayport)などを含み得る。ストレージインタフェースの例は、SATA(serial advanced technology attachment)、PCI、IDEインタフェースなどを含む。本文書に記載される技術は、例えば携帯電話、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又は映像表示を実行することが可能な他の装置などの、種々のエレクトロニクス装置にて具現化され得る。
【0285】
図25は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態1に関連して説明されている。ステップ2502にて、当該プロセスは、ビジュアルメディアデータの第1の映像ブロックが幾何学的分割モード(GPM)を使用し、ビジュアルメディアデータの第2の映像ブロックが非GPMモードを使用することを決定する。ステップ2504にて、当該プロセスは、統一剪定プロセスに基づいて、第1の映像ブロックのための第1のマージリスト及び第2の映像ブロックのための第2のマージリストを構築し、当該第1のマージリスト及び当該第2のマージリストはマージ候補を有し、統一剪定プロセスは、マージリストに新たなマージ候補を、該新たなマージ候補の動き情報と該マージリスト内の少なくとも1つのマージ候補の動き情報とを比較することに基づいて追加することを含み、GPMは、第1の映像ブロックを、動き予測を別々に適用する複数の予測パーティションに分けることを有し、少なくとも1つのパーティションは、非矩形の形状を持つ。
【0286】
図26は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態2に関連して説明されている。ステップ2602にて、当該プロセスは、ビジュアルメディアデータの現在映像ブロックとビジュアルメディアデータのビットストリーム表現との間での変換のために、現在映像ブロックに適用可能な動き情報の初期値をルールに基づいて決定し、ルールは、現在映像ブロックに対してサブブロックベース時間動きベクトル予測子コーディング(SbTMVP)モードが利用可能であるかを、現在映像ブロックの隣接ブロックの参照リスト(リストXと表記)に基づいて検査することを規定し、ただし、Xは整数であり、Xの値は、少なくとも、隣接ブロックの符号化条件に依存する。ステップ2604にて、当該プロセスは、決定に基づいて変換を実行する。
【0287】
図27は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態3に関連して説明されている。ステップ2702にて、当該プロセスは、ビジュアルメディアデータの現在映像ブロックとビジュアルメディアデータのビットストリーム表現との間での変換のために、現在映像ブロックの1つ以上のサブブロックに対する1つ以上のコロケート動きベクトルをルールに基づいて導出し、ルールは、現在映像ブロックをビットストリーム表現へと符号化するのに使用される符号化ツールに関係なく1つ以上のコロケート動きベクトルを導出する統一導出プロセスを使用することを規定する。ステップ2704にて、当該プロセスは、1つ以上のコロケート動きベクトルを有するマージリストを用いて変換を実行する。
【0288】
図28は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態4に関連して説明されている。ステップ2802にて、当該プロセスは、ビジュアルメディアデータの現在映像ブロックの寸法に関連する1つ以上の条件を特定し、現在映像ブロックにイントラブロックコピー(IBC)モードが適用される。ステップ2804にて、当該プロセスは、現在映像ブロックの寸法に関連する1つ以上の条件が満たされるかに基づいて、現在映像ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定する。ステップ2806にて、当該プロセスは、動き候補リストに基づいて現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行する。
【0289】
図29は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態5に関連して説明されている。ステップ2902にて、当該プロセスは、ビジュアルメディアデータの現在映像ブロックとビジュアルメディアデータのビットストリーム表現との間での変換のために、変換のために符号化技術が無効にされることの決定を行い、ビットストリーム表現は、符号化技術のためのマージ候補の最大数がゼロであることを指し示すフィールドを含むように構成される。ステップ2904にて、当該プロセスは、符号化技術が無効にされることの決定に基づいて変換を実行する。
【0290】
図30は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態6に関連して説明されている。ステップ3002にて、当該プロセスは、現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換のために、ルールを用いて決定を行い、ルールは、ビットストリーム表現内の第1の構文要素が、現在映像ブロックに適用される少なくとも1つの符号化技術に関連するマージ候補の最大数を指し示すビットストリーム表現内の第2の構文要素に基づいて条件付きで含められることを規定する。ステップ3004にて、当該プロセスは、決定に基づいて現在映像ブロックと現在映像ブロックのビットストリーム表現との間での変換を実行する。
【0291】
図31は、ビジュアルメディア処理方法の一例についてのフローチャートである。このフローチャートのステップは、この文書の第4節の実施形態4に関連して説明されている。ステップ3102にて、当該プロセスは、映像の現在映像ブロックと映像のビットストリーム表現との間での変換のために、現在映像ブロックの寸法に関連する1つ以上の条件に基づく動きリスト構築プロセスを使用して、動き候補リストを構築する。ステップ3104にて、当該プロセスは、動き候補リストを用いて変換を実行し、動き候補リストは、ゼロ個以上のイントラブロックコピーモード候補及び/又はゼロ個以上のアドバンスト動きベクトル予測子候補を含む。
【0292】
ここで、本文書の一部の実施形態を、項ベースのフォーマットで提示する。
【0293】
A1. ビジュアルメディア処理方法であって、
ビジュアルメディアデータの第1の映像ブロックが幾何学的分割モード(GPM)を使用し、ビジュアルメディアデータの第2の映像ブロックが非GPMモードを使用することを決定するステップと、
統一剪定プロセスに基づいて、前記第1の映像ブロックのための第1のマージリスト及び前記第2の映像ブロックのための第2のマージリストを構築するステップであり、当該第1のマージリスト及び当該第2のマージリストはマージ候補を有し、前記統一剪定プロセスは、マージリストに新たなマージ候補を、該新たなマージ候補の動き情報と該マージリスト内の少なくとも1つのマージ候補の動き情報とを比較することに基づいて追加することを含む、ステップと、
を有し、
前記GPMは、前記第1の映像ブロックを、動き予測を別々に適用する複数の予測パーティションに分けることを有し、少なくとも1つのパーティションは、非矩形の形状を持つ、
方法。
【0294】
従って、剪定プロセスは、映像ブロックがGPMを用いて処理されるのか、それとも他の従来からの分割モードを用いて処理されるのかにかかわらずに、異なる映像ブロックに同様に適用される統一剪定プロセスである。
【0295】
例えば、項A1は、代わりに、ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、構築ルールに基づいて動き候補を有するマージリストを構築するステップを有する方法として実装されてもよい。当該方法は更に、前記マージリストを使用して前記変換を実行するステップを含み得る。構築ルールは、マージ候補リストを構築するために、統一された構築手順を使用し得る。統一された構築手順は、例えば、GPMで分割される現在映像ブロックのためのマージリストが、GPM手順で分割されない第2の映像ブロックと同じ構築手順を用いて構築され得るような統一された手法で剪定プロセスを適用することができ、例えば、第1及び第2の映像ブロックのためのそれぞれ第1及び第2のマージリストの双方を生成するために同じ剪定プロセスを使用することを含む。
【0296】
A2. 前記マージリスト内の前記マージ候補は空間マージ候補であり、前記統一剪定プロセスは部分的剪定プロセスである、項A1に記載の方法。
【0297】
A3. 前記統一剪定プロセスに基づいて構築される前記第1のマージリスト又は前記第2のマージリストは、前記第1の映像ブロック及び/又は前記第2の映像ブロックの隣接映像ブロックからの最大4つの空間マージ候補を含む、項A1乃至A2のいずれか一項に記載の方法。
【0298】
A4. 前記第1の映像ブロック及び/又は前記第2の映像ブロックの隣接映像ブロックは、左上隅にある1つの映像ブロック(B2と表記)、共通の辺を共有する右上隅にある2つの映像ブロック(B1及びB0と表記)、及び共通の辺を共有する左下隅にある2つの映像ブロック(A1及びA0と表記)を含む、項A1乃至A3のいずれか一項に記載の方法。
【0299】
A5. 前記新たなマージ候補の前記動き情報を前記マージリスト内の前記少なくとも1つのマージ候補の前記動き情報と比較することは、B1とA1との比較、B1とB0との比較、A0とA1との比較、B2とA1との比較、及びB2とB1との比較を含む順序付けられたシーケンスでペアごとの比較を実行することに関連付けられ、さらに、前記動き情報を比較することは、前記第1の映像ブロックと前記第2の映像ブロックとで同じである、項A4に記載の方法。
【0300】
A6. 前記統一剪定プロセスは、前記第1の映像ブロック又は前記第2の映像ブロックが1つ以上の閾値条件を満たすことに基づいて、前記空間マージ候補に選択的に適用される完全剪定プロセスである、項A1に記載の方法。
【0301】
A7. 前記1つ以上の閾値条件は、前記第1の映像ブロックの寸法、及び/又は前記第2の映像ブロックの寸法、及び/又は前記第1の映像ブロック内のサンプルの数、及び/又は前記第2の映像ブロック内のサンプルの数に関係する、項A6に記載の方法。
【0302】
A8. B2が関与する比較は、前記第1のマージリスト又は前記第2のマージリスト内の利用可能なマージ候補の数に基づいて選択的に実行される、項A4乃至A7のいずれか一項に記載の方法。
【0303】
A9. 隣接映像ブロックは、非GPMモードを使用して分割され、B2が関与する比較は、前記第1のマージリスト又は前記第2のマージリスト内の利用可能なマージ候補の数に基づいて常に実行される、項A4乃至A7のいずれか一項に記載の方法。
【0304】
B1. ビジュアルメディア処理のための方法であって、
ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記現在映像ブロックに適用可能な動き情報の初期値をルールに基づいて決定するステップであり、前記ルールは、前記現在映像ブロックに対してサブブロックベース時間動きベクトル予測子コーディング(SbTMVP)モードが利用可能であるかを、前記現在映像ブロックの隣接ブロックの参照リスト(リストXと表記)に基づいて検査することを規定し、ただし、Xは整数であり、Xの値は、少なくとも、前記隣接ブロックの符号化条件に依存する、ステップと、
前記決定に基づいて前記変換を実行するステップと、
を有する方法。
【0305】
B2. Xは、前記現在映像ブロックと前記ビットストリーム表現との間での前記変換に使用される時間動きベクトル予測がそこから行われるところであるコロケート映像ピクチャの位置を指し示す、項B1に記載の方法。
【0306】
B3. Xは、前記現在映像ブロック向けの全ての参照リスト内の全ての参照ピクチャのピクチャオーダカウント(POC)を、前記現在映像ブロックの現在映像ピクチャのPOCと比較することによって決定される、項B1に記載の方法。
【0307】
B4. 前記比較することの結果が、前記現在映像ブロック向けの全ての参照リスト内の全ての参照ピクチャの前記POCが前記現在映像ブロックの前記現在映像ピクチャの前記POC以下であることを指し示す場合に、X=1に設定し、それ以外の場合に、X=0に設定する、項B3に記載の方法。
【0308】
B5. 前記隣接ブロックのリストXに関連する参照ピクチャが利用可能であり、且つ該参照ピクチャのPOCが前記コロケート映像ピクチャのPOCと同じである場合、当該方法は更に、
前記SbTMVPモードにおける動き情報の前記初期値を、前記現在映像ブロックの前記隣接ブロックのリストXに関連する動き情報に設定するステップ、
を有する、項B2に記載の方法。
【0309】
B6. 前記SbTMVPモードにおける動き情報の前記初期値を設定するために、履歴ベース動きベクトル予測子テーブルに格納された動き情報が使用される、項B1に記載の方法。
【0310】
B7. 前記履歴ベース動きベクトル予測子テーブルに格納された前記動き情報は、前記履歴ベース動きベクトル予測子テーブル内の最初の利用可能な動き情報である、項B6に記載の方法。
【0311】
B8. 前記最初の利用可能な動き情報は参照ピクチャに関連する、項B7に記載の方法。
【0312】
B9. 前記参照ピクチャはコロケートピクチャである、項B8に記載の方法。
【0313】
B10. Xは所定の値である、項B1に記載の方法。
【0314】
B11. Xは0又は1である、項B10に記載の方法。
【0315】
C1. ビジュアルメディア処理方法であって、
ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記現在映像ブロックの1つ以上のサブブロックに対する1つ以上のコロケート動きベクトルをルールに基づいて導出するステップであり、前記ルールは、前記現在映像ブロックを前記ビットストリーム表現へと符号化するのに使用される符号化ツールに関係なく前記1つ以上のコロケート動きベクトルを導出する統一導出プロセスを使用することを規定する、ステップと、
前記1つ以上のコロケート動きベクトルを有するマージリストを用いて前記変換を実行するステップと、
を有する方法。
【0316】
C2. 前記導出プロセスが、リストYと表記する参照ピクチャリストからの片予測を利用する場合、前記リストYの動きベクトルが、リストXと表記するターゲット参照ピクチャリストにスケーリングされ、ただし、X、Yは整数であり、Xの値は、少なくとも、前記現在映像ブロックに使用される前記符号化ツールに依存する、項C1に記載の方法。
【0317】
C3. 前記導出プロセスが、リストYと表記するターゲット参照ピクチャリストからの双予測を利用する場合、前記ルールは更に、前記リストYの動きベクトルを、リストXと表記するターゲット参照ピクチャリストにスケーリングすることを規定し、ただし、X、Yは整数であり、Xの値は、少なくとも、前記現在映像ブロックに使用される前記符号化ツールに依存する、項C1に記載の方法。
【0318】
C4. 前記ルールは更に、前記現在映像ブロック向けの全ての参照リスト内の全ての参照ピクチャのピクチャオーダカウント(POC)を前記現在映像ブロックの現在映像ピクチャのPOCと比較することによってXを決定することを規定する、項C2乃至C3のいずれか一項に記載の方法。
【0319】
C5. 前記ルールは更に、前記現在映像ブロック向けの全ての参照リスト内の全ての参照ピクチャのPOCを前記現在映像ブロックの前記現在映像ピクチャの前記POCと比較することによってYを決定することを規定する、項C4に記載の方法。
【0320】
C6. 前記比較することの結果が、前記現在映像ブロック向けの全ての参照リスト内の全ての参照ピクチャのPOCが前記現在映像ブロックの前記現在映像ピクチャの前記POC以下であることを指し示す場合、前記ルールは、Y=Xに設定することを規定し、それ以外の場合、前記ルールは、前記現在映像ブロックと前記ビットストリーム表現との間での前記変換に使用される時間動きベクトル予測がそこから行われるところであるコロケート映像ピクチャの位置にXを設定することを規定する、項C5に記載の方法。
【0321】
D1. ビジュアルメディア処理のための方法であって、
ビジュアルメディアデータの現在映像ブロックの寸法に関連する1つ以上の条件を特定するステップであり、前記現在映像ブロックにイントラブロックコピー(IBC)モードが適用される、ステップと、
前記現在映像ブロックの前記寸法に関連する前記1つ以上の条件が満たされるかに基づいて、前記現在映像ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップと、
前記動き候補リストに基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での変換を実行するステップと、
を有する方法。
【0322】
D2. ビジュアルメディア処理のための方法であって、
映像の現在映像ブロックと前記映像のビットストリーム表現との間での変換のために、前記現在映像ブロックの寸法に関連する1つ以上の条件に基づく動きリスト構築プロセスを使用して、動き候補リストを構築するステップと、
前記動き候補リストを用いて前記変換を実行するステップであり、前記動き候補リストは、ゼロ個以上のイントラブロックコピーモード候補及び/又はゼロ個以上のアドバンスト動きベクトル予測子候補を含む、ステップと、
を有する方法。
【0323】
D3. 前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、空間マージ候補の導出をスキップすることを有する、項D1乃至D2のいずれか一項に記載の方法。
【0324】
D4. 前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、履歴ベース動きベクトル候補の導出をスキップすることを有する、項D1乃至D2のいずれか一項に記載の方法。
【0325】
D5. 前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、ペアワイズマージ候補の導出をスキップすることを有する、項D1乃至D2のいずれか一項に記載の方法。
【0326】
D6. 前記動き候補リスト構築プロセスは、前記1つ以上の条件が満たされた場合に、最大剪定処理の総数を減少させることを有する、項D1乃至D2のいずれか一項に記載の方法。
【0327】
D7. 前記最大剪定処理の総数はゼロに減少される、項D6に記載の方法。
【0328】
D8. 前記1つ以上の条件は、前記現在映像ブロックの幅と前記現在映像ブロックの高さとの積が閾値以下である場合に満たされる、項D1乃至D7のいずれか一項に記載の方法。
【0329】
D9. 前記閾値は64、32又は16である、項D8に記載の方法。
【0330】
D10. 前記1つ以上の条件は、前記現在映像ブロックの幅及び/又は前記現在映像ブロックの高さが閾値未満である場合に満たされる、項D1乃至D9のいずれか一項に記載の方法。
【0331】
D11. 前記閾値は4又は8である、項D10に記載の方法。
【0332】
D12. 前記動き候補リストは、IBCマージリスト又はIBC動きベクトル予測リストを含む、項D1乃至D2のいずれか一項に記載の方法。
【0333】
E1. ビジュアルメディア処理のための方法であって、
ビジュアルメディアデータの現在映像ブロックと前記ビジュアルメディアデータのビットストリーム表現との間での変換のために、前記変換のために符号化技術が無効にされることの決定を行うステップであり、前記ビットストリーム表現は、前記符号化技術のためのマージ候補の最大数がゼロであることを指し示すフィールドを含むように構成される、ステップと、
前記符号化技術が無効にされることの前記決定に基づいて前記変換を実行するステップと、
を有する方法。
【0334】
E2. 前記ビットストリーム表現は更に、前記符号化技術のためのマージ候補の前記最大数がゼロであることを前記フィールドが指し示すことに基づいて、1つ以上の構文要素のシグナリングをスキップするように構成される、項E1に記載の方法。
【0335】
E3. 前記符号化技術は、前記現在映像ブロックのサンプルが前記現在映像ブロックの映像領域内の他のサンプルから符号化されるものであるイントラブロックコピーに相当する、項E1に記載の方法。
【0336】
E4. 前記符号化技術はサブブロック符号化技術である、項E1に記載の方法。
【0337】
E5. 前記サブブロック符号化技術は、アフィン符号化技術又は代替動きベクトル予測子技術である、項E4に記載の方法。
【0338】
E6. 適用される前記符号化技術は、結合イントラ-イントラ予測(CIIP)、幾何学的パーティションモード(GPM)、デコーダ動きベクトル精緻化(DMVR)、サブブロックマージ、イントラブロックコピーマージ、通常マージ、又は動きベクトル差付きマージ(MMVD)のうちの1つを含む、項E1乃至E2のいずれか一項に記載の方法。
【0339】
F1. ビジュアルメディア処理のための方法であって、
現在映像ブロックと該現在映像ブロックのビットストリーム表現との間での変換のために、ルールを用いて決定を行うステップであり、前記ルールは、前記ビットストリーム表現内の第1の構文要素が、前記現在映像ブロックに適用される少なくとも1つの符号化技術に関連するマージ候補の最大数を指し示す前記ビットストリーム表現内の第2の構文要素に基づいて条件付きで含められることを規定する、ステップと、
前記決定に基づいて前記現在映像ブロックと前記現在映像ブロックのビットストリーム表現との間での前記変換を実行するステップと、
を有する方法。
【0340】
F2. 前記第1の構文要素はマージフラグに相当する、項F1に記載の方法。
【0341】
F3. 前記第1の構文要素はスキップフラグに相当する、項F1に記載の方法。
【0342】
F4. マージ候補の前記最大数はゼロである、項F1乃至F3のいずれか一項に記載の方法。
【0343】
F5. 前記第2の構文要素は、前記ビットストリーム表現に含められることからスキップされ、当該方法は更に、
前記第2の構文要素がゼロであると推定するステップ、
を有する、項F4に記載の方法。
【0344】
F6. 前記少なくとも1つの符号化技術は、結合イントラ-イントラ予測(CIIP)、幾何学的パーティションモード(GPM)、デコーダ動きベクトル精緻化(DMVR)、サブブロックマージ、イントラブロックコピーマージ、通常マージ、又は動きベクトル差付きマージ(MMVD)を含む、項F1乃至F5のいずれか一項に記載の方法。
【0345】
F7. 前記ルールは更に、前記第1の構文要素がブールの真に相当し且つ前記少なくとも1つの符号化技術が有効にされることを特定することを規定する、項F1乃至F6のいずれか一項に記載の方法。
【0346】
F8. 前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対してイントラブロックコピー(IBC)技術を無効にすることを規定する、項F7に記載の方法。
【0347】
F9. 前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対して動きベクトル差付きマージ(MMVD)技術を無効にすることを規定する、項F7に記載の方法。
【0348】
F10. 前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対して結合イントラ-イントラ予測(CIIP)技術を無効にすることを規定する、項F7に記載の方法。
【0349】
F11. 前記ルールは更に、スライス、タイル、ブリック、ピクチャ、又は現在映像ブロックに対して幾何学的パーティションモード(GPM)技術を無効にすることを規定する、項F7に記載の方法。
【0350】
G1. 前記変換は、前記現在映像ブロックから前記ビットストリーム表現を生成することを含む、項A1乃至F11のいずれかに記載の方法。
【0351】
G2. 前記変換は、前記ビットストリーム表現から前記現在映像ブロックのサンプルを生成することを含む、項A1乃至F11のいずれかに記載の方法。
【0352】
G3. 項A1乃至F11のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像処理装置。
【0353】
G4. 項A1乃至F11のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像符号化装置。
【0354】
G5. 項A1乃至F11のいずれかに記載の方法を実装するように構成されたプロセッサを有する映像復号装置。
【0355】
G6. コードを格納したコンピュータ読み取り可能媒体であって、前記コードは、実行時にプロセッサに項A1乃至F11のいずれかに記載の方法を実行させる、コンピュータ読み取り可能媒体。
【0356】
本文書において、用語“映像処理”又は“ビジュアルメディア処理”は、映像符号化、映像復号、映像圧縮又は映像解凍を指し得る。例えば、映像圧縮アルゴリズムが、映像のピクセル表現から対応するビットストリーム表現への変換又はその逆の変換の間に適用され得る。現在映像ブロックのビットストリーム表現は、例えば、構文によって規定されるように、ビットストリーム内でコロケートにある又は異なるところに広がったビットに対応し得る。例えば、マクロブロックは、変換され符号化された誤差残差値に関して符号化されることができ、また、ビットストリーム内のヘッダ及び他のフィールド内のビットを使用して符号化されることができる。さらに、変換中に、デコーダは、上のソリューションに記載されるように、決定に基づいて、何らかのフィールドが存在し得る又は存在しないという知識を用いて、ビットストリームを構文解析し得る。同様に、エンコーダは、特定の構文フィールドが含められるべきか否かを決定し、それら構文フィールドを符号化表現に含める又は符号化表現から除外することによって、然るべく符号化表現を生成し得る。
【0357】
開示される及びその他のソリューション、この文書に記述される例、実施形態、モジュール及び機能動作は、この文書に開示されている構造及びそれらに構造的に均等なものを含め、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェアにて、あるいはこれらのうちの1つ以上の組み合わせにて実施されることができる。開示される及びその他の実施形態は、1つ以上のコンピュータプログラムプロダクトとして実装されることができ、すなわち、データ処理装置による実行のための、又はデータ処理装置の動作を制御するための、コンピュータ読み取り可能媒体にエンコードされたコンピュータプログラム命令の1つ以上のモジュールとして実装されることができる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶装置、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を生じさせる物質の組成、又はそれらのうちの1つ以上の組み合わせとすることができる。用語“データ処理装置”は、例として、プログラマブルプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理するあらゆる装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらのうちの1つ以上の組み合わせを構成するコードといった、問題としているコンピュータプログラムのための実行環境を作り出すコードを含むことができる。伝播される信号は、人工的に生成される信号であり、例えば、適切な受信器装置への伝送のために情報をエンコードするために生成される機械生成による電気信号、光信号、又は電磁信号である。
【0358】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル型又はインタープリタ型の言語を含め、如何なる形態のプログラミング言語で記述されてもよく、また、スタンドアロンプログラムとして、又はコンピューティング環境での使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして、を含め、如何なる形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するわけではない。プログラムは、他のプログラム若しくはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に格納されてもよいし、問題としているプログラムに専用の単一ファイルに格納されてもよいし、あるいは、複数の連携ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を格納するファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上で実行されるように展開されてもよいし、あるいは、一箇所に配置された、又は複数箇所に分散されて通信ネットワークによって相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
【0359】
この文書に記載されるプロセス及び論理フローは、入力データについて演算して出力を生成することによって機能を実行するよう、1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって実行されることができる。これらのプロセス及び論理フローはまた、例えばFPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)といった専用の論理回路によって実行されることもでき、また、装置も、そのような専用の論理回路として実装されることができる。
【0360】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の双方のマイクロプロセッサ、及び任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリ若しくはランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの必須要素は、命令を実行するためのプロセッサと、命令及びデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、例えば磁気ディスク、磁気光ディスク、又は光ディスクといった、データを格納するための1つ以上の大容量ストレージ装置を含み、あるいは、大容量ストレージ装置からデータを受信したり、それにデータを転送したりするように動作的に結合される。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータプログラム命令及びデータを格納するのに適したコンピュータ読み取り可能媒体は、例として、例えばEPROM、EEPROM、及びフラッシュメモリデバイスといった半導体メモリデバイス、例えば内部ハードディスク又はリムーバブルディスクといった磁気ディスク;光磁気ディスク;並びにCD ROM及びDVD-ROMディスクを含め、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用の論理回路によって補われたり、それに組み込まれたりしてもよい。
【0361】
この特許文書は数多くの詳細が含んでいるが、それらは、いずれかの主題又は特許請求され得るものの範囲についての限定として解釈されるべきでなく、むしろ、特定の技術の特定の実施形態に特有とし得る機構の説明として解釈されるべきである。別々の実施形態の文脈でこの特許文書に記載されている特定の複数の機構が、単一の実施形態にて組み合わせて実装されることもできる。逆に、単一の実施形態の文脈で説明されている種々の機構が、複数の実施形態にて別々に、又は何らかの好適なサブコンビネーションで実装されることもできる。さらには、複数の機構が、特定の組み合わせにて作用するものとして上述され、さらには当初はそのように特許請求されていることがあり得るが、場合によって、特許請求されている組み合わせからの1以上の機構を組み合わせから除くこともでき、また、特許請求されている組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションへと導いてもよい。
【0362】
同様に、図面には処理が特定の順序で示されるが、このことは、所望の結果を達成するために、それらの動作が図示される特定の順序で若しくは順番に実行されること、又は図示される全ての処理が実行されることを要求するものとして理解されるべきでない。また、この特許文書に記載されている実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離を必要とするものとして理解されるべきでない。
【0363】
ほんの少しの実装及び例を記載したのみであり、この特許文書に記載及び図示されているものに基づいて、他の実装、拡張及び変形が行われ得る。
【手続補正書】
【提出日】2021-12-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像データを処理する方法であって、
映像中の第1ブロックと前記映像のビットストリームとの間での変換において、前記第1ブロックが第1の予測モードで符号化されることを決定するステップであり、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出される、ステップと、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップであり、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされる、ステップと、
前記動き候補リストに基づいて前記変換を実行するステップと、
を有する方法。
【請求項2】
前記条件が満たされるとき、前記動き候補リスト構築プロセスの空間マージ候補の導出がスキップされる、請求項1に記載の方法。
【請求項3】
前記動き候補リスト構築プロセスは、
少なくとも1つの空間候補を前記動き候補リストに追加すること、
少なくとも1つの履歴ベース動きベクトル予測子候補を前記動き候補リストに追加すること、又は
少なくとも1つのゼロ候補を前記動き候補リストに追加すること、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
少なくとも1つの空間候補を前記動き候補リストに追加することは、
特定の隣接ブロックA1における空間候補の利用可能性を検査し、該特定の隣接ブロックA1は、前記第1ブロックの左下隅に隣接し、
前記特定の隣接ブロックA1が利用可能であることに応答して、前記特定の隣接ブロックA1における前記空間候補を前記動き候補リストに追加し、
特定の隣接ブロックB1における空間候補の利用可能性を検査し、該特定の隣接ブロックB1は、前記第1ブロックの右上隅に隣接する、
ことを含み、
前記特定の隣接ブロックB1が利用可能であることに応答して、第1の冗長性検査が実行され、該第1の冗長性検査は、特定の隣接ブロックA1における前記空間候補の動き情報と同じ動き情報を有する特定の隣接ブロックB1における前記空間候補が、前記動き候補リストから排除されることを確保する、
請求項3に記載の方法。
【請求項5】
前記動き候補リスト構築プロセスは、
前記少なくとも1つの空間候補を追加した後に、前記動き候補リストのサイズが、前記第1の予測モードに関する許容最大リストサイズよりも小さい場合に、前記少なくとも1つの履歴ベース動きベクトル予測子候補を前記動き候補リストに追加すること、
を含む、請求項3又は4に記載の方法。
【請求項6】
第2の冗長性検査が実行され、該第2の冗長性検査は、前記少なくとも1つの履歴ベース動きベクトル予測子候補を追加するときに、同じ動き情報を有する候補が前記動き候補リストから排除されることが適用されることを確保する、請求項5に記載の方法。
【請求項7】
前記動き候補リスト構築プロセスは、
前記動き候補リストのサイズが、前記第1の予測モードに関する許容最大リストサイズよりも小さいことに応答して、前記少なくとも1つのゼロ候補を前記動き候補リストに追加すること、
を含む、請求項3乃至6のいずれかに記載の方法。
【請求項8】
前記映像中の第2ブロックと前記映像の前記ビットストリームとの間での第2の変換において、前記第2ブロックが第2の予測モードで符号化されることを決定するステップであり、前記第2の予測モードでは、信号伝達される動きベクトル予測子が、前記ビットストリーム内で明示的に信号伝達されるオフセットに基づいて精緻化される、ステップと、
前記第2ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第2ブロック向けの第2の動き候補リストの第2の動き候補リスト構築プロセスを決定するステップであり、前記第2ブロックの前記幅及び前記高さに関連する該条件は、前記第2ブロックの前記幅と前記高さとの積が第2の閾値以下であるときに満たされる、ステップと、
前記第2の動き候補リストに基づいて該変換を実行するステップと、
を更に有する請求項1乃至7のいずれかに記載の方法。
【請求項9】
一般マージツールを指し示すフラグが第3ブロックに対して有効にされるとき、通常マージ、動きベクトル差付きマージモード(MMVD)、サブブロックマージ、結合イントラ-イントラ予測(CIIP)、又は幾何学的パーティションモード(GPM)から選択される少なくとも1つの符号化技術が、前記第3ブロックに対して適用され、
前記動きベクトル差付きマージモードは、現在ブロックの動き情報を導出するのに使用される動きベクトル表現を有し、該動きベクトル表現は、動きベクトル差を表す第1のパラメータと、ベース候補リストからのベース候補を指し示す第2のパラメータとを有し、前記第1のパラメータは、動きの大きさ及び動きの向きを有し、
前記サブブロックマージでは、現在ブロックが、少なくとも1つのサブブロックに分割され、該少なくとも1つのサブブロックの動き情報が、コロケートピクチャ内の映像領域に基づいて導出され、該映像領域の位置は、前記現在ブロックの左下隅に隣接する特定の隣接ブロックが利用可能であることに応答して、該特定の隣接ブロックに関する特定の動き情報に設定されるデフォルト動き情報に初期化された時間動き情報に基づいて導出され、
前記CIIPモードでは、前記現在ブロックの予測信号が、少なくともイントラ予測信号及びインター予測信号に基づいて生成される、
請求項1乃至7のいずれかに記載の方法。
【請求項10】
前記第1の予測モードはイントラブロックコピーモードである、請求項1乃至9のいずれかに記載の方法。
【請求項11】
前記変換は、前記第1ブロックを前記ビットストリームへと符号化することを含む、請求項1乃至10のいずれかに記載の方法。
【請求項12】
前記変換は、前記ビットストリームから前記第1ブロックを復号することを含む、請求項1乃至10のいずれかに記載の方法。
【請求項13】
プロセッサと、命令を有する非一時的なメモリと、を有する映像データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
映像中の第1ブロックと前記映像のビットストリームとの間での変換において、前記第1ブロックが第1の予測モードで符号化されることを決定させ、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出され、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定させ、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされ、
前記動き候補リストに基づいて前記変換を実行させる、
装置。
【請求項14】
命令を格納した非一時的なコンピュータ読み取り可能記憶媒体であって、前記命令は、プロセッサに、
映像中の第1ブロックと前記映像のビットストリームとの間での変換において、前記第1ブロックが第1の予測モードで符号化されることを決定させ、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出され、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定させ、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされ、
前記動き候補リストに基づいて前記変換を実行させる、
コンピュータ読み取り可能記憶媒体。
【請求項15】
映像処理装置により実行される方法によって生成された映像のビットストリームを格納した非一時的なコンピュータ読み取り可能記録媒体であって、前記方法は、
前記映像中の第1ブロックが第1の予測モードで符号化されることを決定するステップであり、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出される、ステップと、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップであり、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされる、ステップと、
前記動き候補リストに基づいて前記映像の前記ビットストリームを生成するステップと、
を有する、コンピュータ読み取り可能記録媒体。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
この出願は、2020年6月4日に出願された国際特許出願第PCT/CN2020/094306号に基づくものであり、当該国際特許出願は、2019年6月4日に出願された国際特許出願第PCT/CN2019/089970号の優先権及び利益を主張するものである。上記特許出願の全てをそれらの全体にてここに援用する。
【手続補正書】
【提出日】2022-05-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
映像データを処理する方法であって、
映像中の第1ブロックと前記映像のビットストリームとの間での変換において、前記第1ブロックが第1の予測モードで
コーディングされることを決定するステップであり、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出される、ステップと、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップであり、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされる、ステップと、
前記動き候補リストに基づいて前記変換を実行するステップと、
を有する方法。
【請求項2】
前記条件が満たされるとき、前記動き候補リスト構築プロセスの空間マージ候補の導出がスキップされる、請求項1に記載の方法。
【請求項3】
前記動き候補リスト構築プロセスは、
少なくとも1つの空間候補を前記動き候補リストに追加すること、
少なくとも1つの履歴ベース動きベクトル予測子候補を前記動き候補リストに追加すること、又は
少なくとも1つのゼロ候補を前記動き候補リストに追加すること、
のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
少なくとも1つの空間候補を前記動き候補リストに追加することは、
特定の隣接ブロックA1における空間候補の利用可能性を検査し、該特定の隣接ブロックA1は、前記第1ブロックの左下隅に隣接し、
前記特定の隣接ブロックA1が利用可能であることに応答して、前記特定の隣接ブロックA1における前記空間候補を前記動き候補リストに追加し、
特定の隣接ブロックB1における空間候補の利用可能性を検査し、該特定の隣接ブロックB1は、前記第1ブロックの右上隅に隣接する、
ことを含み、
前記特定の隣接ブロックB1が利用可能であることに応答して、第1の冗長性検査が実行され、該第1の冗長性検査は、特定の隣接ブロックA1における前記空間候補の動き情報と同じ動き情報を有する特定の隣接ブロックB1における前記空間候補が、前記動き候補リストから排除されることを確保する、
請求項3に記載の方法。
【請求項5】
前記動き候補リスト構築プロセスは、
前記少なくとも1つの空間候補を追加した後に、前記動き候補リストのサイズが、前記第1の予測モードに関する許容最大リストサイズよりも小さい場合に、前記少なくとも1つの履歴ベース動きベクトル予測子候補を前記動き候補リストに追加すること、
を含む、請求項3又は4に記載の方法。
【請求項6】
第2の冗長性検査が実行され、該第2の冗長性検査は、前記少なくとも1つの履歴ベース動きベクトル予測子候補を追加するときに、同じ動き情報を有する候補が前記動き候補リストから排除されることが適用されることを確保する、請求項5に記載の方法。
【請求項7】
前記動き候補リスト構築プロセスは、
前記動き候補リストのサイズが、前記第1の予測モードに関する許容最大リストサイズよりも小さいことに応答して、前記少なくとも1つのゼロ候補を前記動き候補リストに追加すること、
を含む、請求項3乃至6のいずれかに記載の方法。
【請求項8】
前記映像中の第2ブロックと前記映像の前記ビットストリームとの間での第2の変換において、前記第2ブロックが第2の予測モードで
コーディングされることを決定するステップであり、前記第2の予測モードでは、信号伝達される動きベクトル予測子が、前記ビットストリーム内で明示的に信号伝達されるオフセットに基づいて精緻化される、ステップと、
前記第2ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第2ブロック向けの第2の動き候補リストの第2の動き候補リスト構築プロセスを決定するステップであり、前記第2ブロックの前記幅及び前記高さに関連する該条件は、前記第2ブロックの前記幅と前記高さとの積が第2の閾値以下であるときに満たされる、ステップと、
前記第2の動き候補リストに基づいて該変換を実行するステップと、
を更に有する請求項1乃至7のいずれかに記載の方法。
【請求項9】
一般マージツールを指し示すフラグが第3ブロックに対して有効にされるとき、通常マージ、動きベクトル差付きマージモード(MMVD)、サブブロックマージ、結合イントラ-イントラ予測(CIIP)、又は幾何学的パーティションモード(GPM)から選択される少なくとも1つの
コーディング技術が、前記第3ブロックに対して適用され、
前記動きベクトル差付きマージモードは、現在ブロックの動き情報を導出するのに使用される動きベクトル表現を有し、該動きベクトル表現は、動きベクトル差を表す第1のパラメータと、ベース候補リストからのベース候補を指し示す第2のパラメータとを有し、前記第1のパラメータは、動きの大きさ及び動きの向きを有し、
前記サブブロックマージでは、現在ブロックが、少なくとも1つのサブブロックに分割され、該少なくとも1つのサブブロックの動き情報が、コロケートピクチャ内の映像領域に基づいて導出され、該映像領域の位置は、前記現在ブロックの左下隅に隣接する特定の隣接ブロックが利用可能であることに応答して、該特定の隣接ブロックに関する特定の動き情報に設定されるデフォルト動き情報に初期化された時間動き情報に基づいて導出され、
前記CIIPモードでは、前記現在ブロックの予測信号が、少なくともイントラ予測信号及びインター予測信号に基づいて生成される、
請求項1乃至7のいずれかに記載の方法。
【請求項10】
前記第1の予測モードはイントラブロックコピーモードである、請求項1乃至9のいずれかに記載の方法。
【請求項11】
前記変換は、前記第1ブロックを前記ビットストリームへと符号化することを含む、請求項1乃至10のいずれかに記載の方法。
【請求項12】
前記変換は、前記ビットストリームから前記第1ブロックを復号することを含む、請求項1乃至10のいずれかに記載の方法。
【請求項13】
プロセッサと、命令を有する非一時的なメモリと、を有する映像データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
映像中の第1ブロックと前記映像のビットストリームとの間での変換において、前記第1ブロックが第1の予測モードで
コーディングされることを決定させ、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出され、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定させ、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされ、
前記動き候補リストに基づいて前記変換を実行させる、
装置。
【請求項14】
命令を格納した非一時的なコンピュータ読み取り可能記憶媒体であって、前記命令は、プロセッサに、
映像中の第1ブロックと前記映像のビットストリームとの間での変換において、前記第1ブロックが第1の予測モードで
コーディングされることを決定させ、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出され、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定させ、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされ、
前記動き候補リストに基づいて前記変換を実行させる、
コンピュータ読み取り可能記憶媒体。
【請求項15】
映像処理装置により実行される方法によって生成された映像のビットストリームを格納した非一時的なコンピュータ読み取り可能記録媒体であって、前記方法は、
前記映像中の第1ブロックが第1の予測モードで
コーディングされることを決定するステップであり、前記第1の予測モードでは、ブロックベクトルによって決定されるのと同じ復号映像領域のサンプル値のブロックから予測サンプルが導出される、ステップと、
前記第1ブロックの幅及び高さに関連する条件が満たされるかに基づいて、前記第1ブロック向けの動き候補リストの動き候補リスト構築プロセスを決定するステップであり、該条件は、前記第1ブロックの前記幅と前記高さとの積が閾値以下であるときに満たされる、ステップと、
前記動き候補リストに基づいて前記映像の前記ビットストリームを生成するステップと、
を有する、コンピュータ読み取り可能記録媒体。
【国際調査報告】