JP2023126565A - ビデオコーディングにおける変換ブロック・サイズ制約 - Google Patents

ビデオコーディングにおける変換ブロック・サイズ制約 Download PDF

Info

Publication number
JP2023126565A
JP2023126565A JP2023117437A JP2023117437A JP2023126565A JP 2023126565 A JP2023126565 A JP 2023126565A JP 2023117437 A JP2023117437 A JP 2023117437A JP 2023117437 A JP2023117437 A JP 2023117437A JP 2023126565 A JP2023126565 A JP 2023126565A
Authority
JP
Japan
Prior art keywords
merge
block
bitstream
equal
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023117437A
Other languages
English (en)
Inventor
ザン,リー
Li Zhang
ザン,カイ
Kai Zhang
リュウ,ホンビン
Hongbin Liu
ワン,ユエ
Yue Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Original Assignee
Beijing ByteDance Network Technology Co Ltd
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd, ByteDance Inc filed Critical Beijing ByteDance Network Technology Co Ltd
Publication of JP2023126565A publication Critical patent/JP2023126565A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

【課題】ビデオ符号化における変換ブロック・サイズ制約を提供する。【解決手段】視覚メディア処理方法が、視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行することを含み、前記ビットストリーム表現は、符号化ツールのためのマージ候補の最大数を示す構文要素が前記ビットストリーム表現に選択的に含まれるか、除外されるかを指定し、それにより前記符号化ツールが前記変換のために有効にされるか、無効にされるかを示すことを指定するフォーマット規則に従って構成され、前記符号化ツールのためのマージ候補の最大数は、ゼロまたは正数である。【選択図】図23

Description

関連出願への相互参照
本願は、2022年1月13日に出願された特願2022-502208の分割出願であり、同出願は2020年7月14日に出願された国際特許出願第PCT/CN2020/101819号に基づく。同出願は、2019年7月14日に出願された国際特許出願第PCT/CN2019/095921号の優先権および利益を適時に主張して行われる。上記のすべての特許出願は、ここに参照によりその全体において援用される。
技術分野
本稿は、ビデオおよび画像のコーディング・復号技術に関する。
デジタル・ビデオは、インターネットおよびその他のデジタル通信ネットワークにおける最大の帯域幅使用を占める。ビデオの受信・表示が可能な接続されるユーザー装置の数が増加するにつれて、デジタル・ビデオの利用のための帯域幅需要は増加し続けることが予想される。
ある例示的な側面では、視覚メディア処理の方法が開示される。本方法は、視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行することを含み、前記ビットストリーム表現は、コーディングツールのためのマージ候補の最大数を示す構文要素が前記ビットストリーム表現に選択的に含まれるか、除外されるかを指定し、それにより前記コーディングツールが前記変換のために有効にされるか、無効にされるかを示すことを指定するフォーマット規則に従って構成され、前記コーディングツールのためのマージ候補の最大数は、ゼロまたは正数である。
ある例示的な側面では、視覚メディア処理の方法が開示される。本方法は、複数のビデオ・ブロックを含む一つまたは複数のビデオ領域を含むビデオと、前記ビデオのビットストリーム表現との間で変換を実行することを含み、前記ビットストリーム表現は、ビデオ領域についての許容される幾何分割モード(geometric partitioning mode、GMP)動き候補の数が前記ビデオ領域へのコーディングツールの適用可能性に関する構文要素が前記ビットストリーム表現に含まれるかどうかを決定することを指定するフォーマット規則に適合し、前記コーディングツールは、GPMコーディングツールとは異なり、前記GPMは、別個に動き予測を適用するために、ビデオ・ブロックを複数の予測パーティションに分割することを含み、少なくとも1つのパーティションは非矩形形状を有する。
ある例示的な側面では、視覚メディア処理の方法が開示される。本方法は、視覚メディアデータの現在のビデオ単位と、前記視覚メディアデータのビットストリーム表現との間で変換を実行することを含み、前記ビットストリーム表現は、最大変換ブロック・サイズが、前記変換のために使用される最大コーディングツリー単位(CTU)サイズと等しいかまたはそれ未満であることを指定するフォーマット規則に従って構成される。
ある例示的な側面では、視覚メディア処理の方法が開示される。本方法は、視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行することを含み、前記変換は、適応ループフィルタ(ALF)を使用し、該ALFフィルタの係数は、現在のビデオ・ブロックのビデオ領域内のサンプルの深さに基づいている。
ある例示的な側面では、視覚メディア処理の方法が開示される。本方法は、視覚メディアデータの現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換を適応ループフィルタ(ALF)を用いて実行することを含み、前記ビットストリーム表現は、前記ビットストリーム表現に含まれる一つまたは複数の構文要素が、現在のビデオ・ブロックに適用されるALFフィルタが適応パラメータセット(APS)に基づいて決定されるか、または固定した諸フィルタ集合に基づいて決定されるかを示すことを指定するフォーマット規則に従って構成される。
別の例示的な側面では、上述の諸方法は、プロセッサを備えるビデオ・デコーダ装置によって実装されてもよい。
別の例示的な側面では、上述の諸方法は、プロセッサを備えるビデオ・エンコーダ装置によって実装されてもよい。
さらに別の例示的な側面では、これらの方法は、プロセッサ実行可能命令の形で具現され、コンピュータ読み取り可能プログラム媒体に記憶されてもよい。
これらのおよびその他の側面は、本稿においてさらに説明される。
マージ候補リスト構築のための導出プロセスを示す。
空間的マージ候補の位置の例を示す。
空間的マージ候補の冗長性チェックのために考慮される候補ペアの例を示す。
N×2Nおよび2N×Nパーティションの第2のPUの例示的な位置を示す。
時間的マージ候補のための動きベクトル・スケーリングの例示の例を示す。
時間的マージ候補C0およびC1についての候補位置の例を示す。
組み合わされた双予測マージ候補の例を示す。
動きベクトル予測候補のための導出プロセスの例を示す。
空間的動きベクトル候補のための動きベクトル・スケーリングの例示的な説明図を示す。
4パラメータ・アフィン・モード(左)および6パラメータ・アフィン・モデル(右)についての簡略化されたアフィン動きモデルの例を示す。
サブブロック当たりのアフィン動きベクトル・フィールドの例を示す。
アフィン・マージ・モードについての例示的な候補位置の例を示す。
修正されたマージ・リスト構築プロセスの例を示す。
三角形分割ベースのインター予測の例を示す。
第1の重み付け因子群を適用するCUの例を示す。
動きベクトル記憶の例を示す。
極限動きベクトル表式(UMVE)探索プロセスの例を示す。
UMVE検索ポイントの例を示す。
DMVRにおけるリスト0とリスト1との間でミラーされたMVD(0,1)の例を示す。
1回の反復工程でチェックされうるMVを示す。
イントラブロックコピーの例である。
ビデオ処理装置の例のブロック図である。
ビデオ処理方法の例のためのフローチャートである。
開示された技法が実装されうる例示的なビデオ処理システムのブロック図である。
視覚メディア処理方法の一例のためのフローチャートである。
視覚メディア処理方法の一例のためのフローチャートである。
視覚メディア処理方法の一例のためのフローチャートである。
視覚メディア処理方法の一例のためのフローチャートである。
視覚メディア処理方法の一例のためのフローチャートである。
本稿は、圧縮解除またはデコードされたデジタル・ビデオまたは画像の品質を改善するために、画像またはビデオ・ビットストリームのデコーダによって使用されることのできるさまざまな技術を提供する。簡潔のため、本明細書では、用語「ビデオ」は、一連のピクチャー(伝統的にビデオと呼ばれる)および個々の画像の両方を含むために使用される。さらに、ビデオ・エンコーダは、さらなるエンコードのために使用されるデコードされたフレームを再構成するために、エンコードのプロセス中にこれらの技術を実装することもできる。
セクション見出しは、理解を容易にするために本稿で使用されており、実施形態および技術を対応するセクションに限定するものではない。よって、あるセクションからの実施形態は、他のセクションからの実施形態と組み合わせることができる。
1.簡単な概要
本稿は、ビデオコーディング技術に関する。具体的には、本稿は三角予測モードを含むマージコーディングに関する。これは、HEVCのような既存のビデオコーディング規格、またはこれから最終化される規格(多用途ビデオコーディング(Versatile Video Coding))に適用されることがある。これは、将来のビデオコーディング規格またはビデオ・コーデックにも適用可能でありうる。
2.初歩的な議論
ビデオコーディング規格は、主に、周知のITU-TおよびISO/IEC規格の開発を通じて発展してきた。ITU-TはH.261およびH.263を生み出し、ISO/IECはMPEG-1およびMPEG-4 Visualを生み出し、両機関は合同してH.262/MPEG-2 VideoおよびH.264/MPEG-4 先進ビデオコーディング(Advanced Video Coding、AVC)およびH.265/HEVC規格を生み出した。H.262以来、ビデオコーディング規格は、時間的予測と変換コーディングが利用されるハイブリッドビデオコーディング構造に基づいている。HEVCを越えた将来のビデオコーディング技術を探求するため、2015年にVCEGとMPEGによって合同で、合同ビデオ探査チーム(Joint Video Exploration Team、JVET)が設立された。それ以来、JVETによって多くの新しい方法が採用され、JEM(Joint Exploration Model)と名付けられた参照ソフトウェアに入れられた。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)の間で合同ビデオエキスパートチーム(Joint Video Expert Team、JVET)を発足し、HEVCに比べ50%のビットレート削減を目指すVVC規格に取り組んでいる。
VVCドラフトの最新版、すなわち、Versatile Video Coding (Draft 5)は、http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/14_Geneva/wg11/JVET-N1001-v7.zipに見出せる。
VTMと名付けられるVVCの最新の参照ソフトウェアは、https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-5.0に見出せる。
2.1 HEVC/H.265におけるインター予測
インターコーディングされるコーディング単位(CU)については、分割モードに応じて、1つの予測単位(PU)、2つのPUを用いてコーディングされうる。各インター予測されたPUは、1つまたは2つの参照ピクチャー・リストのための動きパラメータを有する。動きパラメータは、動きベクトルおよび参照ピクチャー・インデックスを含む。2つの参照ピクチャー・リストのうちの一方の使用は、inter_pred_idcを使用して信号伝達されてもよい。動きベクトルは、予測子に対するデルタとして明示的にコーディングされてもよい。
CUがスキップ・モードでコーディングされる場合、1つのPUが該CUと関連付けられ、有意な残差係数はなく、コーディングされる動きベクトルのデルタまたは参照ピクチャー・インデックスは存在しない。マージ・モードが指定され、それにより、現在のPUのための動きパラメータが、空間的および時間的な候補を含む近傍のPUから取得される。マージ・モードは、スキップ・モードだけでなく、任意のインター予測PUに適用できる。マージ・モードの代わりは、動きパラメータの明示的な伝送であり、ここで、動きベクトル(より正確には、動きベクトル予測子と比較した動きベクトル差分(MVD))、各参照ピクチャー・リストについての対応する参照ピクチャー・インデックス、および参照ピクチャー・リスト使用が、各PUごとに明示的に信号伝達される。そのようなモードは、本開示においては、先進動きベクトル予測(Advanced motion vector prediction、AMVP)と呼ばれる。
信号伝達が、2つの参照ピクチャー・リストのうちの一方が使用されるべきであることを示す場合、PUは、サンプルの1つのブロックから生成される。これは「単予測(uni-prediction)」と呼ばれる。単予測は、PスライスおよびBスライスの両方について可能である。
信号伝達が両方の参照ピクチャー・リストが使用されるべきであることを示す場合は、PUはサンプルの2つのブロックから生成される。これは「双予測(bi-prediction)」と呼ばれる。双予測は、Bスライスについてのみ可能である。
次のテキストは、HEVCで指定されたインター予測モードの詳細を与える。説明はマージ・モードから始まる。
2.1.1 参照ピクチャー・リスト
HEVCでは、インター予測という用語は、現在のデコードされたピクチャー以外の参照ピクチャーのデータ要素(たとえば、サンプル値または動きベクトル)から導出された予測を示すために使用される。H.264/AVCと同様に、ピクチャーは、複数の参照ピクチャーから予測できる。インター予測のために使用される参照ピクチャーは、一つまたは複数の参照ピクチャー・リストにおいて整理される。参照インデックスは、リスト内の参照ピクチャーのうちどれが、予測信号を生成するために使用されるべきかを同定する。
Pスライスについては単一の参照ピクチャー・リストList0が使用され、Bスライスについては2つの参照ピクチャー・リスト、List0およびList1が使用される。List0/1に含まれる参照ピクチャーは、捕捉/表示順序の点で過去および将来のピクチャーでありうることに注意しておくべきである。
2.1.2 マージ・モード
2.1.2.1 マージ・モードについての候補の導出
マージ・モードを使用してPUが予測される場合、マージ候補リスト内のエントリーを指すインデックスがビットストリームからパースされ、動き情報を取得するために使用される。このリストの構築はHEVC規格で規定されており、以下の一連のステップに従って要約することができる。
●ステップ1:初期候補の導出
○ステップ1.1:空間的候補の導出
○ステップ1.2:空間的候補についての冗長性チェック
○ステップ1.3:時間的候補の導出
●ステップ2:追加的候補の挿入
○ステップ2.1:双予測候補の生成
○ステップ2.2:ゼロ動き候補の挿入
これらのステップは、図1にも概略的に示されている。空間的マージ候補の導出のために、5つの異なる位置に位置する候補の中から最大4つのマージ候補が選択される。時間的マージ候補導出のためには、2つの候補の中から最大1つのマージ候補が選択される。デコーダでは各PUについて候補の数が一定であると想定されるので、ステップ1で得られた候補の数がスライスヘッダにおいて信号伝達されるマージ候補の最大数(MaxNumMergeCand)に達しない場合には、追加的な候補が生成される。候補の数は一定であるので、最良のマージ候補のインデックスは、打ち切りされた単進二値化(truncated unary binarization、TU)を用いてエンコードされる。CUのサイズが8に等しい場合、現在のCUのすべてのPUは、2N×2N予測単位のマージ候補リストと同一の単一のマージ候補リストを共有する。
以下では、上記の諸ステップに関連する動作について詳述する。
2.1.2.2 空間的候補の導出
空間的マージ候補の導出では、図22に示される位置に位置する候補の中から、最大4つのマージ候補が選択される。導出の順序はA1、B1、B0、A0、B2である。位置B2は、位置A1、B1、B0、A0のどのPUも利用可能でない(たとえば、それが別のスライスまたはタイルに属するため)またはイントラコーディングされている場合にのみ考慮される。位置A1にある候補が追加された後、残りの候補の追加は、同じ動き情報をもつ候補がリストから除外されることを保証する冗長性チェックの対象となり、コーディング効率が改善される。計算複雑さを低減するために、前述の冗長性チェックでは、可能な候補ペアすべてが考慮されているわけではない。その代わりに、図3の矢印でつながれたペアのみが考慮され、冗長性チェックに使用される対応する候補が同じ動き情報を持たない場合にのみ、候補がリストに追加される。重複する動き情報の別の源は、2N×2Nとは異なるパーティションに関連付けられた「第2のPU」である。一例として、図4は、それぞれN×2Nおよび2N×Nの場合について第2のPUを示す。現在のPUがN×2Nとして分割されている場合、位置A1にある候補はリスト構築のためには考慮されない。実際、この候補を加えることによって、同じ動き情報をもつ2つの予測単位が得られる。これは、コーディング単位に1つのPUをもつだけであることに対して冗長である。同様に、現在のPUが2N×Nとして分割されている場合、位置B1は考慮されない。
2.1.1.3 時間的候補の導出
このステップでは、1つの候補のみがリストに追加される。具体的には、この時間的マージ候補の導出において、共位置のピクチャー内の共位置のPUに基づいて、スケーリングされた動きベクトルが導出される。時間的マージ候補のためのスケーリングされた動きベクトルは、図5の点線によって示されているように得られ、これは、POC距離、tbおよびtdを使用して、共位置のPUの動きベクトルからスケーリングされる。ここで、tbは、現在ピクチャーの参照ピクチャーと現在ピクチャーとの間のPOC差であると定義され、tdは、共位置のピクチャーの参照ピクチャーと共位置のピクチャーとの間のPOC差であると定義される。時間的マージ候補の参照ピクチャー・インデックスはゼロに設定される。スケーリング・プロセスの実際的な実現がHEVC仕様[1]に記述されている。Bスライスについては、一方は参照ピクチャー・リスト0について、他方は参照ピクチャー・リスト1についての2つの動きベクトルが得られ、組み合わされて、双予測マージ候補を作成する。
2.1.2.4 共位置のピクチャーおよび共位置のPU
TMVPが有効にされている場合(すなわち、slice_temporal_mvp_enabled_flagが1に等しい場合)、共位置のピクチャーを表す変数ColPicは次のように導出される:
・現在のスライスがBスライスであり、信号伝達されたcollocated_from_l0_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_l0_flagは、スライスヘッダにおいて信号伝達されうる2つの構文要素である。
参照フレームに属する共位置のPU(Y)では、図6に示されるように、候補C0と候補C1の間で時間的候補のための位置が選択される。位置C0にあるPUが利用可能でないか、イントラコーディングされているか、または現在のコーディングツリー単位(CTU、最大のコーディング単位(largest coding unit)LCUともいう)行から外れている場合に、位置C1が使用される。それ以外の場合、位置C0が、時間的マージ候補の導出に使用される。
関連する構文要素は、次のように記述される。
Figure 2023126565000002
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を得る。
共位置の動きベクトルについての導出プロセスは、次のサブセクション2.1.2.5.1に記載される。
2.1.2.5.1 共位置の動きベクトルについての導出プロセス
共位置のブロックについては、単予測または双予測でイントラまたはインターコーディングされてもよい。イントラコーディングされる場合、TMVP候補は利用不能に設定される。
リストAからの単予測の場合、リストAの動きベクトルはターゲット参照ピクチャー・リストXにスケーリングされる。
双予測であり、かつ、ターゲット参照ピクチャー・リストがXである場合、リストAの動きベクトルはターゲット参照ピクチャー・リストXにスケーリングされ、Aは、次の規則に従って決定される:
・参照ピクチャーのどれも、現在のピクチャーに比べて、より大きなPOC値をもたない場合、AはXに等しく設定される。
・そうでない場合、Aはcollocated_from_l0_flagに等しく設定される。
JCTVC-W1005-v4における関連する作業原案は以下の通りである。
8.5.3.2.9 共位置の動きベクトルについての導出プロセス
このプロセスへの入力は以下の通り:
・現在の予測ブロックを指定する変数currPb、
・ColPicによって指定された共位置のピクチャー内の共位置の予測ブロックを指定する変数ColPic、
・ColPbによって指定された共位置のルーマ予測ブロックの左上のサンプルを、ColPicによって指定された共位置のピクチャーの左上のルーマ・サンプルに対して指定するルーマ位置(xColPb,yColPb)、
・参照インデックスrefIdxLX、ここで、Xは0または1。
このプロセスの出力は以下の通り:
・動きベクトル予測mvLXCol、
・利用可能性フラグavailableFlagLXCol。
変数currPicは現在のピクチャーを指定する。
配列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]に等しく設定される。
変数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のスケーリングされたバージョンとして導出される:
Figure 2023126565000003
NoBackwardPredFlagの定義は次のとおり。
変数NoBackwardPredFlagは、次のように導出される:
・DiffPicOrderCnt(aPic,CurrPic)が現在のスライスのRefPicList0またはRefPicList1における各ピクチャーaPicについて0以下である場合、NoBackwardPredFlagは1に設定される。
・それ以外の場合、NoBackwardPredFlagは0に等しく設定される。
2.1.2.6 追加的な候補の挿入
空間的および時間的マージ候補のほかに、2つの追加的なタイプのマージ候補がある:複合双予測マージ候補とゼロマージ候補である。複合双予測マージ候補は、空間的および時間的マージ候補を利用することによって生成される。複合双予測マージ候補は、Bスライスについてのみ使用される。複合双予測候補は、初期候補の第1の参照ピクチャー・リスト動きパラメータを、別の候補の第2の参照ピクチャー・リスト動きパラメータと組み合わせることによって生成される。これらの2つのタプルが異なる動き仮説を提供するならば、それらは新しい双予測候補をなす。一例として、図7は、mvL0およびrefIdxL0またはmvL1およびrefIdxL1を有するもとのリスト(左側)における2つの候補を使って、最終的なリスト(右側)に追加される複合双予測マージ候補を作成する場合を示している。[1]において定義されているこれらの追加的なマージ候補を生成するために考えられる組み合わせに関する多数の規則がある。
マージ候補リストにおける残りのエントリーを埋め、よってMaxNumMergeCand容量に達するために、ゼロ動き候補が挿入される。これらの候補は、ゼロ空間変位と、ゼロから始まり、新しいゼロ動き候補がリストに追加される毎に増加する参照ピクチャー・インデックスとを有する。最後に、これらの候補に対して冗長性チェックは実行されない。
2.1.3 AMVP
AMVPは、動きパラメータの明示的伝送に使用される、近傍のPUとの動きベクトルの時間空間的相関を利用する。各参照ピクチャー・リストについて、まず左、上の時間的に近傍のPU位置の利用可能性をチェックし、冗長な候補を除去し、ゼロ・ベクトルを追加して候補リストを一定長にすることによって、動きベクトル候補リストが構築される。次いで、エンコーダは候補リストから最良の予測子を選択し、選択された候補を示す対応するインデックスを送信することができる。同様に、マージ・インデックス信号伝達では、最良の動きベクトル候補のインデックスは、打ち切りされた単進法を用いてエンコードされる。この場合にエンコードされるべき最大値は2である(図8参照)。下記の諸節では、動きベクトル予測候補の導出プロセスの詳細を示す。
2.1.3.1 AMVP候補の導出
図8は、動きベクトル予測候補のための導出プロセスをまとめたものである。
動きベクトル予測では、空間的動きベクトル候補と時間的動きベクトル候補の2種類の動きベクトル候補が考慮される。
空間的動きベクトル候補の導出のために、2つの動きベクトル候補が、図2に示すような5つの異なる位置に位置する各PUの動きベクトルに基づいて、最終的に導出される。時間的動きベクトル候補の導出のためには、2つの異なる共位置の位置に基づいて導出される2つの候補から1つの動きベクトル候補が選択される。空間時間的候補の第1のリストが作成された後、リスト内の重複した動きベクトル候補が除去される。潜在的な候補の数が2よりも多い場合、関連する参照ピクチャー・リスト内の参照ピクチャー・インデックスが1よりも大きい動きベクトル候補は、リストから除去される。空間時間的動きベクトル候補の数が2より少ない場合、追加的なゼロ動きベクトル候補がリストに追加される。
2.1.3.2 空間的動きベクトル候補
空間的動きベクトル候補の導出においては、5つの潜在的候補のうちで最大2つの候補が考慮される。5つの潜在的候補は、図2に示されるような位置に位置するPUから導出され、それらの位置は、動きマージの場合と同じである。現在のPUの左側についての導出の順序は、A0、A1、およびスケーリングされたA0、スケーリングされたA1として定義される。現在のPUの上側についての導出の順序は、B0、B1、B2、スケーリングされたB0、スケーリングされたB1、スケーリングされたB2として定義される。よって、それぞれの側について、動きベクトル候補として使用できる4つの場合があり、2つの場合は空間的スケーリングを使用する必要がなく、2つの場合は空間的スケーリングが使用される。4つの異なる場合は、次のようにまとめられる。
●空間的スケーリングなし
(1)同じ参照ピクチャー・リスト、同じ参照ピクチャー・インデックス(同じPOC)
(2)異なる参照ピクチャー・リストだが、同じ参照ピクチャー(同じPOC)
●空間的スケーリング
(3)同じ参照ピクチャー・リストだが、異なる参照ピクチャー(異なるPOC)
(4)異なる参照ピクチャー・リストおよび異なる参照ピクチャー(異なるPOC)。
空間的スケーリングのない場合を最初にチェックし、次に空間的スケーリングを扱う。空間的スケーリングは、参照ピクチャー・リストに関係なく、近傍のPUの参照ピクチャーと現在のPUの参照ピクチャーとの間でPOCが異なる場合に考慮される。左候補のすべてのPUが利用可能でないか、またはイントラコーディングされている場合、左および上のMV候補の並列導出を助けるために、上の動きベクトルについてのスケーリングが許容される。そうでない場合は、空間的スケーリングは、上の動きベクトルについて許容されない。
空間的スケーリング・プロセスでは、近傍のPUの動きベクトルは、図9に示されるように、時間的スケーリングと同様の仕方でスケーリングされる。主な違いは、現在のPUの参照ピクチャー・リストおよびインデックスが入力として与えられる点であり、実際のスケーリング・プロセスは時間的スケーリングの場合と同じである。
2.1.3.3 時間的動きベクトル候補
参照ピクチャー・インデックスの導出は別として、時間的マージ候補の導出のためのすべてのプロセスは、空間的動きベクトル候補の導出のためのものと同じである(図6を参照)。参照ピクチャー・インデックスはデコーダに信号伝達される。
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(Advanced TMVP、ATMVP、SbTMVPともいう)、アフィン予測モード、一般化双予測(Generalized Bi-Prediction、GBI)、デコーダ側動きベクトル洗練(Decoder-side Motion Vector Refinement、DMVR)、および双方向オプティカルフロー(Bi-directional Optical flow、BIO、BDOFともいう)などである。
VVCでサポートされる3つの異なるマージ・リスト構築プロセスがある:
1)サブブロック・マージ候補リスト:これは、ATMVP、アフィン・マージ候補を含む。アフィン・モードとATMVPモードの両方について、1つのマージ・リスト構築プロセスが共有される。ここで、ATMVPとアフィン・マージ候補が順次追加されてもよい。サブブロック・マージ・リストのサイズはスライスヘッダで信号伝達され、最大値は5である。
2)通常マージ・リスト:インターコーディングされるブロックについて、1つのマージ・リスト構築プロセスが共有される。ここで、空間的/時間的マージ候補、HMVP、ペアワイズ・マージ候補、およびゼロ動き候補は、順に挿入されてもよい。通常マージ・リストのサイズはスライスヘッダで信号伝達され、最大値は6である。MMVD、TPM、CIIPは、通常マージ・リストに頼る。
3)IBCマージ・リスト:これは、通常マージ・リストと同様の仕方でなされる。
同様に、VVCでサポートされる3つのAMVPリストがある:
1)アフィンAMVP候補リスト
2)通常のAMVP候補リスト
3)IBC AMVP候補リスト:JVET-N0843の採用によるIBCマージ・リストと同じ構築プロセス
2.2.1 VVCにおけるコーディングブロック構造
VVCでは、ピクチャーを正方形ブロックまたは長方形ブロックに分割する四分木/二分木/三分木(QT/BT/TT)構造が採用されている。
QT/BT/TTのほかに、Iフレームについては、VVCでは、別個のツリー(デュアルコーディングツリーともいう)も採用されている。別個のツリーを用いると、ルーマ成分とクロミナンス成分について、コーディングブロック構造が別個に信号伝達される。
さらに、CUは、いくつかの特定のコーディング方法(たとえば、PUがTUに等しいがCUより小さいイントラ・サブパーティション予測、およびPUがCUに等しいがTUはPUより小さいインターコーディングされるブロックのためのサブブロック変換など)でコーディングされたブロックを除いて、PUおよびTUに等しく設定される。
2.2.2 アフィン予測モード
HEVCでは、並進動きモデルのみが動き補償予測(motion compensation prediction、MCP)のために適用される。現実世界では、ズームイン/アウト、回転、透視法的な動き(perspective motions)、その他の不規則な動きなど、多くの種類の動きがある。VVCでは、簡略化されたアフィン変換動き補償予測が4パラメータ・アフィン・モデルと6パラメータ・アフィン・モデルを用いて適用される。図10に示されるように、ブロックのアフィン動き場は、4パラメータ・アフィン・モデルについては2つの制御点動きベクトル(CPMV)によって、6パラメータ・アフィン・モデルについては3つのCPMVによって記述される。
ブロックの動きベクトル・フィールド(MVF)は、次の式で記述される。式(1)は4パラメータ・アフィン・モデル(ここで、4パラメータは変数a、b、e、fとして定義される)、式(2)は6パラメータ・アフィン・モデル(ここで、4パラメータは変数a、b、c、d、e、fとして定義される)である。
Figure 2023126565000004
ここで、(mvh 0,mvh 0)は左上隅の制御点の動きベクトルであり、(mvh 1,mvh 1)は右上隅の制御点の動きベクトルであり、(mvh 2,mvh 2)は左下隅の制御点の動きベクトルであり、3つの動きベクトルのすべては制御点動きベクトル(CPMV)と呼ばれる。(x,y)は現在ブロック内の左上のサンプルに対する代表点の座標を表し、(mvh(x,y),mvv(x,y))は(x,y)に位置するサンプルについて導出される動きベクトルである。CP動きベクトルは、(アフィンAMVPモードにおけるように)信号伝達されるか、あるいは(アフィン・マージ・モードにおけるように)オンザフライで導出される。wおよびhは現在ブロックの幅および高さである。実際上は、除算は、丸め演算を伴う右シフトによって実装される。VTMでは、代表点は、サブブロックの中心位置であると定義される。たとえば、現在ブロック内の左上のサンプルに対するサブブロックの左上隅の座標が(xs,ys)である場合、代表点の座標は(xs+2,ys+2)と定義される。各サブブロック(すなわち、VTMでは4×4)について、代表点は、サブブロック全体についての動きベクトルを導出するために利用される。
動き補償予測をさらに単純化するために、サブブロック・ベースのアフィン変換予測が適用される。各M×Nサブブロック(現在のVVCではMおよびNの両方は4に設定されている)の動きベクトルを導出するために、図11に示されるように、各サブブロックの中心サンプルの動きベクトルは、式(1)および(2)に従って計算され、1/16の端数精度に丸められる。次いで、1/16画素についての動き補償補間フィルタが適用されて、導出された動きベクトルを用いて各サブブロックの予測が生成される。1/16画素についての補間フィルタはアフィン・モードによって導入される。
MCP後、各サブブロックの高精度の動きベクトルは丸められ、通常の動きベクトルと同じ精度で保存される。
2.2.3 ブロック全体についてのマージ
2.2.3.1 並進通常マージ・モードのマージ・リスト構築
2.2.3.1.1 履歴ベースの動きベクトル予測(HMVP)
マージ・リスト設計とは異なり、VVCでは、履歴ベースの動きベクトル予測(history-based motion vector prediction、HMVP)法が用いられる。
HMVPでは、以前にコーディングされた動き情報が記憶される。以前にコーディングされたブロックの動き情報は、HMVP候補として定義される。複数のHMVP候補が、HMVPテーブルと名付けられたテーブルに格納され、このテーブルは、エンコード/デコード・プロセスの間にオンザフライで維持される。新しいタイル/LCU行/スライスのコーディング/復号を開始するとき、HMVPテーブルは空にされる。インターコーディングされるブロックおよび非サブブロック、非TPMモードがある場合は常に、関連する動き情報が新しいHMVP候補としてテーブルの最後のエントリーに追加される。全体的なコーディングフローは図12に示される。
2.2.3.1.2 通常マージ・リスト構築プロセス
通常マージ・リスト(並進動き用)の構築は、次の一連のステップに従って要約できる:
●ステップ1:空間的候補の導出
●ステップ2:HMVP候補の挿入
●ステップ3:ペアワイズ平均候補の挿入
●ステップ4:デフォルトの動き候補
HMVP候補は、AMVPおよびマージ候補リスト構築プロセスの両方で使用できる。図13は、修正されたマージ候補リスト構築プロセス(点線のパターンで示されている)を示している。TMVP候補の挿入後、マージ候補リストが満杯でない場合、HMVPテーブルに格納されたHMVP候補が、マージ候補リストを満たすために利用できる。1つのブロックが通例、動き情報に関して、最も近い近傍ブロックと、より高い相関を有することを考慮して、テーブル中のHMVP候補はインデックスの降順に挿入される。テーブルにおける最後のエントリーが最初にリストに追加され、最初のエントリーは最後に追加される。同様に、冗長性除去はHMVP候補に適用される。利用可能なマージ候補の総数が、信号伝達されることが許容されるマージ候補の最大数に達すると、マージ候補リストの構築プロセスが終了する。
すべての空間的/時間的/HMVP候補は、非IBCモードでコーディングされることに留意されたい。そうでなければ、通常マージ候補リストに追加することはできない。
HMVPテーブルは、5つまでの通常動き候補が含まれ、各候補は一意的である。
2.2.3.1.2.1 剪定プロセス
候補は、冗長検査のために使用される対応する候補が同じ動き情報をもたない場合にのみ、リストに追加される。そのような比較プロセスは、剪定〔プルーニング〕プロセスと呼ばれる。
空間的候補間での剪定プロセスは、現在ブロックについてのTPMの使用に依存する。
現在ブロックがTPMモードなしでコーディングされる場合(たとえば、通常マージ、MMVD、CIIP)、空間的マージ候補のためのHEVC剪定プロセス(すなわち、5剪定)が利用される。
2.2.4 三角予測モード(TPM)
VVCでは、インター予測のために三角形分割モードがサポートされている。三角形分割モードは、8×8以上のCUにのみ適用され、マージ・モードではコーディングされるが、MMVDまたはCIIPモードでは適用されない。これらの条件を満たすCUについて、CUレベルのフラグが、三角形分割モードが適用されるか否かを示すために信号伝達される。
このモードが使用される場合、CUは、図14に示されるように、対角分割または反対角分割のいずれかを使用して、二つの三角形パーティションに均等に分割される。CU中の各三角形パーティションは、それ自身の動きを用いてインター予測される;各パーティションについて単予測のみが許される、すなわち、各パーティションは、1つの動きベクトルと1つの参照インデックスを有する。単予測動き制約条件により、従来の双予測と同じく、各CUについて2つの動き補償される予測のみが必要であることが保証される。
CUレベルのフラグが、現在のCUが三角形分割モードを使用してコーディングされることを示す場合、三角形分割の方向を示すフラグ(対角または反対角)と、2つのマージ・インデックス(各パーティションについて1つ)が、さらに信号伝達される。各三角形パーティションを予測した後、対角または反対対角エッジに沿ったサンプル値が、適応的な重みを用いたブレンド処理を用いて調整される。これは、CU全体についての予測信号であり、変換および量子化プロセスは、他の予測モードと同様に、CU全体に適用される。最後に、三角形分割モードを用いて予測されたCUの動き場が4×4単位で記憶される。
通常マージ候補リストは、追加の動きベクトル剪定なしに、三角形分割マージ予測のために再利用される。通常マージ候補リストにおける各マージ候補について、そのL0またはL1動きベクトルの1つだけが三角形予測のために使用される。加えて、L0かL1の動きベクトルを選択する順序は、そのマージ・インデックス・パリティに基づいている。この方式では、通常マージ・リストが直接使用できる。
2.2.4.1 TPMのためのマージ・リスト構築プロセス
基本的には、JVET-N0340で提案されているように、通常マージ・リスト構築プロセスが適用される。しかしながら、いくつかの修正が追加される。
具体的には、下記が適用される:
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を追加する前に、利用可能な空間的マージ候補がいくつであるかに関係なく、常にアクセスされ、チェックされる。
2.2.4.2 適応重み付けプロセス
各三角形予測単位を予測した後、適応重み付けプロセスが、2つの三角形予測単位の間の対角線エッジに適用され、CU全体についての最終的な予測が導出される。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}は、それぞれルミナンスおよびクロミナンス・サンプルのために使用される。
重み付け因子群は、2つの三角形予測単位の動きベクトルの比較に基づいて選択される。第2の重み付け因子群は、以下の条件のいずれかが満たされている場合に使用される:
・2つの三角形予測単位の参照ピクチャーが互いに異なっている
・2つの動きベクトルの水平方向の値の差の絶対値が16ピクセルより大きい
・2つの動きベクトルの垂直方向の値の差の絶対値が16ピクセルより大きい。
それ以外の場合は、第1の重み付け因子群が使用される。一例が図15に示される。
2.2.4.3 動きベクトル記憶
三角形予測単位の動きベクトル(図16のMv1およびMv2)は、4×4グリッドに格納される。4×4グリッドごとに、CU内の4×4グリッドの位置に依存して、単予測または双予測動きベクトルが格納される。図16に示されるように、Mv1またはMv2のいずれかの単予測動きベクトルが、重み付けされない領域に位置する(すなわち、対角線エッジに位置しない)4×4グリッドについて格納される。一方、重み付けされる領域に位置する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のみが格納される。
2.2.4.4 マージ・モードについての構文テーブル、意味内容、デコード・プロセス
7.3.5.1 一般的なスライスヘッダ構文
Figure 2023126565000005
Figure 2023126565000006
7.3.7.5 コーディング単位構文
Figure 2023126565000007
Figure 2023126565000008
7.3.7.7 マージ・データ構文
Figure 2023126565000009
Figure 2023126565000010
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の範囲とする(両端含む)。
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の値は、0~5の範囲とする(両端含む)。
7.4.8.5 コーディング単位セマンティクス
pred_mode_flagが0に等しいことは、現在のコーディング単位がインター予測モードでコーディングされることを指定する。pred_mode_flagが1に等しいことは、現在のコーディング単位がイントラ予測モードでコーディングされることを指定する。
pred_mode_flagが存在しない場合、次のように推定される:
・cbWidthが4に等しく、cbHeightが4に等しい場合、pred_mode_flagは1に等しいと推定される。
・それ以外の場合、pred_mode_flagは、Iスライスをデコードするときは1に等しく、PまたはBスライスをデコードするときはそれぞれ0に等しいと推測される。
変数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に等しく設定される。
pred_mode_ibc_flagが1に等しいことは、現在のコーディング単位がIBC予測モードでコーディングされることを指定する。pred_mode_ibc_flagが0に等しいことは、現在のコーディング単位がIBC予測モードでコーディングされないことを指定する。
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に等しいと推定される。
pred_mode_ibc_flagが1に等しい場合、変数CuPredMode[x][y]は、x=x0..x0+cbWidth-1およびy=y0..y0+cbHeight-1についてMODE_IBCに等しいように設定される。
general_merge_flag[x0][y0]は、現在のコーディング単位のためのインター予測パラメータが近傍のインター予測されたパーティションから推定されるかどうかを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
general_merge_flag[x0][y0]が存在しない場合、次のように推定される:
・cu_skip_flag[x0][y0]が1に等しい場合、general_merge_flag[x0][y0]は1に等しいと推定される。
・それ以外の場合、general_merge_flag[x0][y0]は0と推定される。
mvp_l0_flag[x0][y0]は、リスト0の動きベクトル予測子インデックスを指定する。ここで、x0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
mvp_l0_flag[x0][y0]が存在しない場合は、0に等しいと推定される。
mvp_l1_flag[x0][y0]は、mvp_l0_flagと同じ意味内容をもち、l0とリスト0がそれぞれl1とリスト1に置き換えられる。
inter_pred_idc[x0][y0]は、テーブル7-10に従って、現在のコーディング単位についてリスト0、リスト1または双予測が使用されるかどうかを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
Figure 2023126565000011
inter_pred_idc[x0][y0]が存在しない場合、PRED_L0と等しいと推定される。
7.4.8.7 マージ・データのセマンティクス
regular_merge_flag[x0][y0]が1に等しいことは、現在のコーディング単位のインター予測パラメータを生成するために、通常マージ・モードが使用されることを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
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に等しいと推定される。
mmvd_merge_flag[x0][y0]が1に等しいことは、現在のコーディング単位のインター予測パラメータを生成するために、動きベクトル差を用いたマージ・モードが使用されることを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
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に等しいと推定される。
mmvd_cand_flag[x0][y0]は、マージ候補リストにおける第1の候補(0)または第2の候補(1)のどちらが、mmvd_distance_idx[x0][y0]とmmvd_direction_idx[x0][y0]から導出された動きベクトル差とともに使用されるかを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
mmvd_cand_flag[x0][y0]が存在しない場合、0に等しいと推定される。mmvd_distance_idx[x0][y0]は、テーブル7-12において指定されているように、MmvdDistance[x0][y0]を導出するために使用されるインデックスを指定する。
Figure 2023126565000012
mmvd_direction_idx[x0][y0]は、テーブル7-13に指定されているように、MmvdSign[x0][y0]を導出するために使用されるインデックスを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
Figure 2023126565000013
マージ・プラス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)
merge_subblock_flag[x0][y0]は、現在のコーディング単位についてのサブブロック・ベースのインター予測パラメータが近傍ブロックから推定されるかどうかを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。merge_subblock_flag[x0][y0]が存在しない場合、0に等しいと推定される。
merge_subblock_idx[x0][y0]は、サブブロック・ベースのマージ候補リストのマージ候補インデックスを指定する。ここで、x0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
merge_subblock_idx[x0][y0]が存在しない場合、0に等しいと推定される。
ciip_flag[x0][y0]は、現在のコーディング単位について、ピクチャー間マージおよびピクチャー内予測の組み合わせが適用されるかどうかを指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
ciip_flag[x0][y0]が存在しない場合、0に等しいと推定される。
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に設定される。
merge_triangle_split_dir[x0][y0]は、マージ三角モードの分割方向を指定する。配列インデックスx0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
merge_triangle_split_dir[x0][y0]が存在しない場合、0に等しいと推定される。
merge_triangle_idx0[x0][y0]は、三角形形状に基づく動き補償候補リストの第1のマージ候補インデックスを指定する。ここで、x0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
merge_triangle_idx0[x0][y0]が存在しない場合、0に等しいと推定される。
merge_triangle_idx1[x0][y0]は、三角形形状に基づく動き補償候補リストの第2のマージ候補インデックスを指定する。ここで、x0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
merge_triangle_idx1[x0][y0]が存在しない場合、0に等しいと推定される。
merge_idx[x0][y0]は、マージ候補リストのマージ候補インデックスを指定する。ここで、x0、y0は、ピクチャーの左上のルーマ・サンプルに対する、考慮されているコーディングブロックの左上のルーマ・サンプルの位置(x0,y0)を指定する。
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に等しいと推定される。
2.2.4.4.1 デコード・プロセス
JVET-N0340において規定されているデコード・プロセスは、以下のように定義される。
8.5.2.2 マージ・モードのためのルーマ動きベクトルの導出プロセス
このプロセスは、general_merge_flag[xCb][yCb]が1に等しい場合にのみ呼び出される。ここで、(xCb,yCb)は、現在のピクチャーの左上のルーマ・サンプルに対して現在のルーマコーディングブロックの左上のサンプルを指定する。
このプロセスへの入力は以下の通りである:
・現在のピクチャーの左上のルーマ・サンプルに対する現在のルーマコーディングブロックの左上のサンプルのルーマ位置(xCb,yCb)、
・ルーマ・サンプル単位で現在のコーディングブロックの幅を指定する変数cbWidth、
・ルーマ・サンプル単位で現在のコーディングブロックの高さを指定する変数cbHeight。
このプロセスの出力は以下の通りである:
・1/16の端数サンプル精度でのルーマ動きベクトルmvL0[0][0]およびmvL1[0][0]、
・参照インデックスrefIdxL0およびrefIdxL1、
・予測リスト利用フラグpredFlagL0[0][0]およびpredFlagL1[0][0]、
・双予測重み指数bcwIdx、
・マージ候補リストmergeCandList。
双予測重みインデックスbcwIdxは0に設定される。
動きベクトルmvL0[0][0]およびmvL1[0][0]、参照インデックスrefIdxL0およびrefIdxL1、ならびに予測利用フラグpredFlagL0[0][0]およびpredFlagL1[0][0]は、以下の順序付けられたステップによって導出される:
1. 節8.5.2.3において指定されている近傍のコーディング単位からの空間的マージ候補についての導出プロセスが、ルーマコーディングブロック位置(xCb,yCb)、ルーマコーディングブロック幅(cbWidth)、ルーマコーディングブロック高さ(cbHeight)を入力として呼び出され、出力は、利用可能性フラグavailableFlagA0、availableFlagA1、availableFlagB0、availableFlagB1、availableFlagB2、参照インデックスrefIdxLXA0、refIdxLXA1、refIdxLXB0、refIdxLXB1、refIdxLXB2、予測リスト利用フラグpredFlagLXA0、predFlagLXA1、predFlagLXB0、predFlagLXB1、predFlagLXB2、動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、mvLXB2(Xは0または1)、双予測重みインデックスbcwIdxA0、bcwIdxA1、bcwIdxB1、bcwIdxB2である。
2. 時間マージ候補Colについての参照インデックスrefIdxLXCol(Xは0または1)および双予測重みインデックス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 (8-265)
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は、次のように構築される:
Figure 2023126565000014
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、参照インデックスrefIdxL0NおよびrefIdxL1N、予測リスト利用フラグpredFlagL0NおよびpredFlagL1N、mergeCandList内の各候補Nの動きベクトルmvL0NおよびmvL1N、およびnumCurrMergeCandを入力として呼び出され、出力は、mergeCandList、numCurrMergeCand、参照インデックスrefIdL0avgCandおよびrefIdxL1avgCand、予測リスト利用フラグpredFlagL0avgCandおよびpredFlagL1avgCand、およびmergeCandListに追加される候補avgCandの動きベクトルmvL0avgCandおよびmvL1avgCandに割り当てられる。mergeCandListに追加される候補avgCandの双予測重みインデックスbcwIdxが0に設定される。
・numOrigMergeCandはnumCurrMergeCandに等しく設定される。
9. 節8.5.2.5において指定されるゼロ動きベクトル・マージ候補の導出プロセスが、mergeCandList、参照インデックスrefIdxL0NおよびrefIdxL1N、予測リスト利用フラグpredFlagL0NおよびpredFlagL1N、mergeCandList内の各候補Nの動きベクトルmvL0NおよびmvL1NおよびnumCurrMergeCandを入力として呼び出され、出力は、mergeCandList、numCurrMergeCand、参照インデックスrefIdxL0zeroCandmおよびRefIdxL1zeroCandm、予測リスト利用フラグpredFlagL0zeroCandmおよびpredL1zeroCandm、ならびにmergeCandListに追加される各新規候補zeroCandmの動きベクトルmvL0zeroCandmおよびmvL1zeroCandmに割り当てられる。mergeCandListに追加されるすべての新しい候補zeroCandmの双予測重みインデックスbcwIdxは、0に等しく設定される。追加される候補の数numZeroMergeCandは(numCurrMergeCand-numOrigMergeCand)に等しく設定される。numZeroMergeCandが0より大きい場合、mの範囲は0からnumZeroMergeCand-1である(両端含む)。
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。
・X=0、1について、動きベクトル差mMvdLXがマージ動きベクトルmvLXに、次のように加算される:
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)
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
・近傍のコーディング単位の1/16端数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、mvLXB2
・双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、gbiIdxB2
availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA1,yNbA1)は(xCb-1,yCb+cbHeight-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA1,yNbA1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA1に割り当てられる。
・変数availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1は、以下のように導出される:
・availableA1がFALSEに等しい場合、availableFlagA1が0に等しく設定され、X=0または1として、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)
availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB1,yNbB1)は(xCb+cbWidth-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB1,yNbB1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB1に割り当てられる。
・変数availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB1が0に等しく設定され、X=0または1として、mvLXB1の両方の成分が0に等しく設定され、refIdxLXB1が-1に等しく設定され、predFlagLXB1が0に等しく設定され、gbiIdxB1が0に設定される:
・availableB1が偽に等しい。
・availableA1が真に等しく、ルーマ位置(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)
availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB0,yNbB0)は(xCb+cbWidth,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB0,yNbB0)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB0に割り当てられる。
・変数availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB0が0に等しく設定され、X=0または1として、mvLXB0の両方の成分が0に等しく設定され、refIdxLXB0が-1に等しく設定され、predFlagLXB0が0に等しく設定され、gbiIdxB0が0に設定される:
・availableB0が偽に等しい。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB0,yNbB0)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableA1が真に等しく、ルーマ位置(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)
availableFlagA0、refIdxLXA0、predFlagLXA0およびmvLXA0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA0,yNbA0)は(xCb-1,yCb+cbWidth)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA0,yNbA0)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA0に割り当てられる。
・変数availableFlagA0、refIdxLXA0、predFlagLXA0、mvLXA0は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagA0が0に等しく設定され、X=0または1として、mvLXA0の両方の成分が0に等しく設定され、refIdxLXA0が-1に等しく設定され、predFlagLXA0が0に等しく設定され、gbiIdxA0が0に設定される:
・availableA0が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbA0,yNbA0)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbA0,yNbA0)は同じ動きベクトルと同じ参照インデックスをもち、merge_triangle_flag[xCb][yCb]は1に等しい。
・availableB0が真に等しく、ルーマ位置(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)
availableFlagB2、refIdxLXB2、predFlagLXB2およびmvLXB2の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB2,yNbB2)は(xCb-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB2,yNbB2)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB2に割り当てられる。
・変数availableFlagB2、refIdxLXB2、predFlagLXB2、mvLXB2は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB2が0に等しく設定され、X=0または1として、mvLXB2の両方の成分が0に等しく設定され、refIdxLXB2が-1に等しく設定され、predFlagLXB2が0に等しく設定され、gbiIdxB2が0に設定される:
・availableB2が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB0が真に等しく、ルーマ位置(xNbB0,yNbB0)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもち、merge_triangle_flag[xCb][yCb]は1に等しい。
・availableA0が真に等しく、ルーマ位置(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)
2.2.5 MMVD
JVET-L0054では、極限動きベクトル表式(UMVE、MMVDとしても知られる)が提起されている。UMVEは、提案された動きベクトル表現法を用いて、スキップまたはマージ・モードのいずれかのために使用される。
UMVEは、VVCにおける通常のマージ候補リストに含まれるものと同じマージ候補を再利用する。マージ候補の中で、基本候補が選択されることができ、提案された動きベクトル表現法によってさらに拡張される。
UMVEは新しい動きベクトル差分(MVD)表現法を提供し、開始点、動きの大きさおよび動きの方向がMVDを表現するために使用される。
この提案された技法は、マージ候補リストをそのまま使用する。だが、デフォルトのマージタイプ(MRG_TYPE_DEFAULT_N)の候補だけが、UMVEの拡張のために考慮される。
基本候補インデックスは、開始点を定義する。基本候補インデックスは、リスト内の候補の中で最良の候補を次のように示す。
Figure 2023126565000015
基本候補の数が1に等しい場合、基本候補IDXは信号伝達されない。距離インデックスは、動きの大きさの情報である。
距離インデックスは、開始点情報からあらかじめ定義された距離を示す。あらかじめ定義された距離は次のとおり:
Figure 2023126565000016
方向インデックスは、MVDの、開始点に対する方向を表す。方向インデックスは、以下に示される4方向を表すことができる。
Figure 2023126565000017
UMVEフラグは、スキップ・フラグまたはマージ・フラグを送信した直後に信号伝達される。スキップまたはマージ・フラグが真である場合、UMVEフラグがパースされる。UMVEフラグが1に等しい場合、UMVE構文がパースされる。だが、1でなければ、アフィン・フラグがパースされる。アフィン・フラグが1に等しい場合、それはアフィン・モードである。だが、1でなければ、スキップ/マージ・インデックスがVTMのスキップ/マージ・モードのためにパースされる。
UMVE候補に起因する追加的なラインバッファは必要とされない。ソフトウェアのスキップ/マージ候補が直接、基本候補として使用されるからである。入力UMVEインデックスを用いて、MVの補足が、動き補償の直前に決定される。このために長いラインバッファを保持する必要はない。
現在の一般的な試験条件では、マージ候補リスト内の第1または第2のマージ候補のいずれかが基本候補として選択できる。
UMVEはMV差分を用いたマージ(Merge with MV Differences、MMVD)としても知られている。
2.2.6 複合イントラ‐インター予測(CIIP)
JVET-L0100では、複数仮説予測が提案され、そこでは、イントラ予測とインター予測の組み合わせが、複数の仮説を生成するための1つの方法となる。
複数仮説予測がイントラモードを改善するために適用される場合、複数仮説予測は、1つのイントラ予測と1つのマージ・インデックス予測を組み合わせる。マージCUでは、フラグが真である場合に、イントラ候補リストからイントラモードを選択するために、マージ・モードのために1つのフラグが信号伝達される。ルーマ成分については、イントラ候補リストは、1つのイントラ予測モード、すなわち、平面モードのみから導出される。イントラおよびインター予測からの予測ブロックに適用される重みは、2つの近傍ブロック(A1およびB1)のコーディングされるモード(イントラまたは非イントラ)によって決定される。
2.2.7 サブブロック・ベースの技術のためのマージ
すべてのサブブロック関連動き候補は、非サブブロック・マージ候補のための通常のマージ・リストに追加される、別個のマージ・リストに入れられることが提案される。
サブブロック関連の動き候補は、「サブブロック・マージ候補リスト」と呼ばれる別個のマージ・リストに入れられる。
一例では、サブブロック・マージ候補リストは、ATMVP候補およびアフィン・マージ候補を含む。
サブブロック・マージ候補リストは、次の順序で候補を埋められる:
a.ATMVP候補(利用可能であることも利用可能でないこともある);
b.アフィン・マージ・リスト(継承されたアフィン候補;および構築されたアフィン候補を含む);
c.ゼロMV 4パラメータ・アフィン・モデルとしてのパディング。
2.2.7.1.1 ATMVP(サブブロック時間的動きベクトル予測子(Sub-block Temporal Motion Vector Predictor、SbTMVP)
ATMVPの基本的なアイデアは、1ブロックについての時間的動きベクトル予測子の複数の集合を導出するというものである。各サブブロックには、1組の動き情報を割り当てられる。ATMVPマージ候補が生成されると、ブロック全体のレベルではなく、8×8レベルで動き補償が行われる。
現在の設計では、ATMVPは、CU内のサブCUの動きベクトルを、以下の2つのサブセクション2.2.7.1.1.1および2.2.7.1.1.2にそれぞれ記述されている2つのステップで予測する。
2.2.7.1.1.1 初期化された動きベクトルの導出
初期化された動きベクトルをtempMvで表す。ブロックA1が利用可能であり、かつイントラコーディングされない場合(すなわち、インターまたはIBCモードでコーディングされる場合)、初期化された動きベクトルを導出するために、以下が適用される。
・以下の条件がすべて真である場合、tempMvは、mvL1A1で示される、リスト1のブロックA1の動きベクトルに等しく設定される:
・リスト1の参照ピクチャー・インデックスが利用可能であり(-1に等しくない)、共位置のピクチャーと同じPOC値をもつ(すなわち、DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A1])が0に等しい)、
・すべての参照ピクチャーは現在のピクチャーと比較して、より大きなPOCを持たない(すなわち、DiffPicOrderCnt(aPic,currentPic)は、現在のスライスのすべての参照ピクチャー・リスト内のすべてのピクチャーaPicについて0以下である)、
・現在のスライスはBスライスに等しい、
・collocated_from_l0_flagが0に等しい。
・それ以外の場合、以下の条件がすべて真である場合、tempMvは、mvL0A1で示される、リスト0からのブロックA1の動きベクトルに等しく設定される:
・リスト0の参照ピクチャー・インデックスが利用可能である(-1に等しくない)、
・共位置のピクチャーと同じPOC値をもつ(すなわち、DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A1])が0に等しい)。
・それ以外の場合、ゼロ動きベクトルが初期化されたMVとして使用される。
対応するブロック(現在ブロックの中心位置に丸められたMVを加え、必要に応じてある範囲にクリッピングされたものをもつ)は、初期化された動きベクトルとともにスライスヘッダで信号伝達された共位置のピクチャー内で識別される。
ブロックがインターコーディングされる場合は、第2のステップに進む。それ以外の場合、ATMVP候補は使用可能でないよう設定される。
2.2.7.1.1.2 サブCU動き導出
第2のステップは、現在のCUをサブCUに分割し、共位置のピクチャー内の各サブCUに対応するブロックから各サブCUの動作情報を取得することである。
サブCUについての対応するブロックがインターモードでコーディングされる場合、動き情報は、従来のTMVPプロセスのためのプロセスと変わらない導出プロセスを共位置のMVについて呼び出すことにより、現在のサブCUの最終的な動き情報を導出するために利用される。基本的には、対応するブロックが単予測または双予測についてターゲット・リストXから予測される場合は、動きベクトルは利用され;単予測または双予測についてリストY(Y=1-X)から予測され、NoBackwardPredFlagが1に等しい場合は、リストYについてのMVが利用される。それ以外の場合、動き候補はみつけられない。
初期化されたMVおよび現在のサブCUの位置によって識別される共位置のピクチャー内のブロックがイントラまたはIBCコーディングされるか、または前述のように動き候補がみつけられない場合、以下がさらに適用される。
共位置のピクチャーRcol内の動きフィールドを取ってくるために使用される動きベクトルをMVcolと表す。MVスケーリングによる影響を最小化するために、MVcolを導出するために使用される空間的候補リスト中のMVは、次の方法で選択される:候補MVの参照ピクチャーが共位置のピクチャーである場合、このMVは選択され、スケーリングなしでMVcolとして使用される。そうでない場合、共位置のピクチャーに最も近い参照ピクチャーを有するMVは、スケーリングを用いてMVcolを導出するために選択される。
JVET-N1001における共位置の動きベクトル導出プロセスのための関連するデコード・プロセスは、以下のように記述される。ATMVPに関連する部分は下線付きのフォントで強調される。
8.5.2.12 共位置の動きベクトルのための導出プロセス
このプロセスへの入力は以下の通りである:
・現在のコーディングブロックを指定する変数currCb、
・ColPicによって指定された共位置のピクチャー内の共位置のコーディングブロックを指定する変数colCb、
・ColPicによって指定された共位置のピクチャーの左上のルーマ・サンプルに対して、colCbによって指定された共位置のルーマコーディングブロックの左上のサンプルを指定するルーマ位置(xColCb,yColCb)、
・参照インデックスrefIdxLX、Xは0または1、
・サブブロックの時間的マージ候補sbFlagを示すフラグ。
このプロセスの出力は以下の通りである:
・1/16端数サンプル精度での動きベクトル予測mvLXCol、
・利用可能性フラグavailableFlagLXCol。
変数currPicは現在のピクチャーを指定する。
配列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]に等しく設定される。
変数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の値である。
・それ以外の場合(sbFlagが1に等しい)、以下が適用される:
・PredFlagLXCol[xColCb][yColCb]が1に等しい場合、mvCol、refIdxCol、listColはそれぞれmvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]、LXに等しく設定され、availableFlagLXColは1に等しく設定される。
・それ以外の場合(PredFlagLXCol[xColCb][yColCb]が0に等しい場合)、以下が適用される:
・DiffPicOrderCnt(aPic,currPic)が現在のスライスのすべての参照ピクチャー・リストのすべてのピクチャーaPicについて0以下であり、PredFlagLYCol[xColCb][YColCb]が1に等しく、mvCol、refIdxCol、listColはそれぞれmvLYCol[xColCb][yColCb]、refIdxLYCol[xColCb][yColCb]、LYに設定され、Yは!Xに等しく、Xはこのプロセスが呼び出されるXの値である。availableFlagLXColが1に設定される。
・mvLXColの両方の成分が0に設定され、availableFlagLXColは0に等しく設定される。
・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)
・それ以外の場合、mvXColは以下のように動きベクトル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)
2.2.8 通常のインターモード(AMVP)
2.2.8.1 AMVP動き候補リスト
HEVCにおけるAMVP設計と同様に、2つまでのAMVP候補が導出されうる。しかしながら、HMVP候補はTMVP候補の後に追加されてもよい。HMVPテーブル内のHMVP候補は、インデックスの昇順で(すなわち、最も古いものである0に等しいインデックスから)たどられ、4つまでのHMVP候補が、その参照ピクチャーがターゲット参照ピクチャーと同じである(すなわち、同じPOC値)かどうかを見出すためにチェックされてもよい。
2.2.8.2 AMVR
HEVCでは、スライスヘッダにおいてuse_integer_mv_flagが0に等しいとき、(PUの動きベクトルと予測された動きベクトルとの間の)動きベクトル差分(MVD)が、4分の1ルーマ・サンプルの単位で信号伝達される。VVCでは、局所的に適応的な動きベクトル分解能(adaptive motion vector resolution、AMVR)が導入される。VVCでは、MVDは、4分の1ルーマ・サンプル、整数ルーマ・サンプル、または4ルーマ・サンプル(すなわち、1/4画素、1画素、4画素)の単位でコーディングできる。MVD分解能は、コーディング単位(CU)レベルで制御され、MVD分解能フラグは、少なくとも1つのゼロでないMVD成分を有する各CUについて、条件付きで信号伝達される。
少なくとも1つのゼロでないMVD成分をもつCUについて、4分の1ルーマ・サンプルMV精度がCUにおいて使用されるかどうかを示すために、第1のフラグが信号伝達される。第1のフラグ(1に等しい)が、4分の1ルーマ・サンプルのMV精度が使用されていないことを示す場合、整数ルーマ・サンプルのMV精度が使用されているか、4ルーマ・サンプルのMV精度が使用されているかを示すために別のフラグが信号伝達される。
CUの第1のMVD分解能フラグがゼロであるか、またはCUについてコーディングされていない場合(そのCU内のすべてのMVDがゼロであることを意味する)、4分の1ルーマ・サンプルMV分解能がそのCUについて使用される。CUが整数ルーマ・サンプルのMV精度または4ルーマ・サンプルのMV精度を使用する場合、CUについてのAMVP候補リストにおけるMVPは、対応する精度に丸められる。
2.2.8.3 JVET-N1001-v2における対称動きベクトル差分
JVET-N1001-v2では、対称動きベクトル差分(symmetric motion vector difference、SMVD)が双予測における動き情報コーディングのために適用される。
まず、スライスレベルでは、SMVDモードで使用されるリスト0/1の参照ピクチャー・インデックスをそれぞれ示す変数RefIdxSymL0とRefIdxSymL1が、N1001-v2で指定される次のステップを用いて導出される。これら2つの変数のうち少なくとも1つが-1である場合、SMVDモードは無効とされる。
2.2.9 動き情報の洗練
2.2.9.1 デコーダ側動きベクトル洗練(DMVR)
双予測動作では、1つのブロック領域の予測のために、それぞれlist0の動きベクトル(MV)とlist1のMVを用いて形成された2つの予測ブロックが組み合わされて、単一の予測信号を形成する。デコーダ側動きベクトル洗練(decoder-side motion vector refinement、DMVR)法では、双予測の2つの動きベクトルがさらに洗練される。
VVCにおけるDMVRについては、図19に示されるように、リスト0とリスト1との間のMVDミラーリングが想定され、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として定義される。
動きベクトル洗練プロセスは、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;
最初の反復工程では、開始点は信号伝達されたMVであり、2回目の反復工程では、開始点は信号伝達されたMVに、最初の反復工程における選択された最良のMVDを加えたものである。DMVRは、一方の参照ピクチャーが先行ピクチャーで他方の参照ピクチャーが後続ピクチャーであり、それら2つの参照ピクチャーが現在のピクチャーから同じピクチャー順カウント距離をもつ場合にのみ適用される。
DMVRのプロセスをさらに単純化するために、JVET-M0147はJEMの設計にいくつかの変更を提案した。より具体的には、VTM-4.0(近くリリース予定)に対する採用されたDMVRの設計には、以下のような主だった特徴をもつ:
・list0とlist1の間の(0,0)位置SADが閾値より小さい場合は、早期終了。
・list0とlist1の間のSADが何らかの位置についてゼロである場合、早期終了。
・DMVRについてのブロック・サイズ:W*H>=64 && H>=8。ここで、WとHはブロックの幅と高さである。
・CUサイズ>16×16のDMVRについて、CUを16×16のサブブロックの複数に分割する。
・CUの幅または高さのみが16より大きい場合、垂直方向または水平方向にのみ分割される。
・参照ブロック・サイズ(W+7)*(H+7)(ルーマ用)。
・25点のSADベースの整数画素探索(すなわち(±)2洗練探索範囲、単一ステージ)
・双線形補間ベースのDMVR。
・「パラメトリック誤差面の式(Parametric error surface equation)」に基づくサブ画素洗練。
・この手順は、最後のMV洗練反復工程において、最小のSADコストがゼロに等しくなく、最良のMVDが(0,0)である場合にのみ、実行される。
・参照ブロック・パディングを伴う(必要な場合)、ルーマ/クロマMC。
・MCおよびTMVPのみのために使用される洗練されたMV。
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以上。
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
の形の二次元の放物状の誤差面の式にフィットするために使用される。ここで、(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つの除算の高速シフトされる減算ベースの実装に役立つ。計算された(x0,y0)は、整数距離洗練MVに加算されて、サブピクセル精度の洗練デルタMVを得る。
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ビデオコーディング標準においては、ビュー間参照ピクチャーも「長期」参照ピクチャーとしてマークされることに注意すべきである。
BVをたどって参照ブロックを見つけた後、参照ブロックをコピーすることにより予測が生成できる。残差は、もとの信号から参照ピクセルを減算することによって得られる。その後、変換および量子化は、他のコーディングモードと同様に適用できる。
しかしながら、参照ブロックがピクチャーの外側にある、または現在ブロックと重複する、または再構成された領域の外側にある、またはいくつかの制約条件によって制約されている有効領域の外側にある場合、一部またはすべての画素値は定義されていない。基本的に、そのような問題を扱うためには、2つの解決策がある。1つは、たとえばビットストリーム適合性において、そのような状況を許容しないことである。もう1つは、それら未定義のピクセル値についてパディングを適用することである。以下のサブセッションは、これらの解決策を詳細に説明する。
2.3.1 VVCテストモデル(VTM4.0)におけるIBC
現在のVVCテストモデル、すなわち、VTM-4.0設計では、参照ブロック全体が現在のコーディングツリー単位(CTU)と一緒であるべきであり、現在ブロックと重複しない。よって、参照ブロックまたは予測ブロックをパディングする必要はない。IBCフラグは、現在のCUの予測モードとしてコーディングされる。よって、各CUについて、全部で3つの予測モード、MODE_INTRA、MODE_INTER、MODE_IBCがある。
2.3.1.1 IBCマージ・モード
IBCマージ・モードでは、IBCマージ候補リスト内のエントリーを指すインデックスがビットストリームからパースされる。IBCマージ・リストの構築は、以下の一連のステップに従って要約できる:
・ステップ1;空間的候補の導出
・ステップ2:HMVP候補の挿入
・ステップ3:ペアワイズ平均候補の挿入。
空間的マージ候補の導出では、図2に示されるように、A1、B1、B0、A0およびB2に示される位置に位置する候補のうちから、最大4つのマージ候補が選択される。導出の順序はA1、B1、B0、A0、B2である。位置B2は、位置A1、B1、B0、A0のいずれかのPUが利用可能でない(たとえば、別のスライスまたはタイルに属するため)、またはIBCモードでコーディングされていない場合にのみ考慮される。位置A1の候補が追加された後、残りの候補の挿入は、同じ動き情報をもつ候補がリストから除外されることを確実にする冗長性チェックにかけられ、コーディング効率が改善される。
空間的候補の挿入後、IBCマージ・リストのサイズが最大IBCマージ・リスト・サイズよりもまだ小さい場合、HMVPテーブルからのIBC候補が挿入されてもよい。HMVP候補を挿入する際に、冗長性チェックが実行される。
最後に、ペアワイズ平均候補がIBCマージ・リストに挿入される。
マージ候補によって同定される参照ブロックが、ピクチャーの外側にある、または現在ブロックと重複している、または再構成された領域の外側にある、または何らかの制約条件によって制約されている有効な領域の外側にある場合、マージ候補は、無効なマージ候補と呼ばれる。
無効なマージ候補がIBCマージ・リストに挿入される可能性があることに注意されたい。
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候補が挿入されてもよい。
最後に、ゼロ候補がIBC AMVPリストに挿入される。
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)をチェックする。以下の条件のいずれかが満たされた場合、bvは無効とみなされる。
a. 対応するルーマ・ブロックのbvが存在しない。
b. bvによって同定された予測ブロックはまだ再構築されていない。
c. bvによって同定された予測ブロックは、現在ブロックと部分的または完全に重複している。
4)サブブロックのクロマ動きベクトルは、対応するルーマ・サブブロックの動きベクトルに設定される。
すべてのサブブロックが有効なbvを見出すときに、IBCモードがエンコーダにおいて許容される。
2.3.2 IBCのための単一BVリスト(VTM5.0)
JVET-N0843がVVCに採用されている。JVET-N0843では、IBCにおける、マージ・モードおよびAMVPモードのためのBV予測子は、共通の予測子リストを共有する。これは、以下の要素から構成される:
・2つの空間的近傍位置(図2のA1、B1)
・5つのHMVPエントリー
・デフォルトのゼロ・ベクトル
リスト内の候補の数は、スライスヘッダから導出される変数によって制御される。マージ・モードについては、このリストの最初の6つまでのエントリーが使用され;AMVPモードについては、このリストの最初の2つのエントリーが使用される。また、このリストは、共有マージ・リスト領域要件(SMR内で同じリストを共有)に適合する。
上述のBV予測子候補リストに加えて、JVET-N0843は、HMVP候補と既存のマージ候補(A1、B1)との間の剪定操作を簡略化することも提案した。簡略化では、最初のHMVP候補を空間的マージ候補(単数または複数)を比較するだけなので、剪定操作は最大2回ある。
3. 問題
マージ・モードの現在の設計には、次のような問題がありうる:
1. 通常のマージ・リスト構築プロセスは、現在ブロックについてのTPMの使用に依存する。
a. TPMコーディングされるブロックについては、空間的マージ候補の間でフル剪定が適用される。
b. 非TPMコーディングされるブロックについては、空間的マージ候補の間で部分的な剪定が適用される。
2. 現在の設計によれば、すべてのマージ関連ツール(IBCマージ、通常マージ、MMVD、サブブロック・マージ、CIIP、TPMを含む)は、general_merge_flagという名前の1つのフラグによって信号伝達される。しかしながら、このフラグが真である場合、すべてのマージ関連ツールが無効にされるように信号伝達される、または導出される可能性がある。この場合をどのように扱うかが不明である。また、マージ・モードをオフにすることはできない。すなわち、マージ候補の最大数は0に等しくない。しかしながら、高スループットのエンコーダ/デコーダの場合、マージ・モードの無効化を強制する必要がありうる。
3. ATMVPプロセスについての初期化されたMVの決定は、スライスタイプ、すべての参照ピクチャーのPOC値、collocated_from_10_flagなどに依存し、これはMVのスループットを遅らせる。
4. 共位置のMVの導出プロセスは、従来のTMVPプロセスまたはATMVPプロセスのようなサブブロック技術の使用に依存し、これは追加のロジックを必要とする。
5. ATMVPコーディングされたブロック内のサブCUについては、その対応する共位置のブロックがインターコーディングされていても、サブCUの動き情報は、対応する共位置のブロックから導出できず、他の動き情報を用いて満たされる可能性がある。そのような設計は、コーディング効率とスループットの両方にとって最適ではない。
6. HEVC仕様は、現在または参照ピクチャー内の1つの近傍ブロックの利用可能性を、該ブロックが構築されているか、または異なるCTU行/スライス内にあるかなどに基づいて定義する。しかしながら、VVCでは、複数のコーディング方法が導入されている。ブロックの利用可能性の異なる定義が定義される必要があるかもしれない。
7. JVET-O0545は、sps_sbt_max_size_64_flagを送信することにより、最大変換ブロック・サイズの指標を信号伝達することを提案する。
sps_sbt_max_size_64_flagが0に等しいことは、サブブロック変換を許容するための最大CU幅と高さが32ルーマ・サンプルであることを指定する。
sps_sbt_max_size_64_flagが1に等しいことは、サブブロック変換を許容するための最大CU幅と高さが64ルーマ・サンプルであることを指定する。
MaxSbtSize=sps_sbt_max_size_64_flag ? 64:32 (7 31)
64より小さい最大変換サイズ(MaxTransformSizeによって示される)をサポートするために、MaxSbtSizeの導出は以下のように修正される。
MaxSbtSize=min(MaxTransformSize,sps_sbt_max_size_64_flag ? 64:32)
8. 適応ループフィルタ(ALF)係数が固定範囲内に制約される。たとえば、AlfCoeffCによって表されるクロマALFフィルタ係数およびAlfCoeffLによって表されるルーマALFフィルタ係数は、-27から27-1の範囲でなければならない(両端含む)。そのような制約は、8ビット深さの想定に基づく。
9. ALFフィルタの予測子の指示は以下のように信号伝達される:
Figure 2023126565000018
そのような方法は、APSが設定するフィルタからのフィルタを使用するか、または固定フィルタからのフィルタを使用することを決定するために、複数の構文要素をパースする必要があることがわかる。
10. マージ関連のコーディングツールは以下のとおり:
Figure 2023126565000019
Figure 2023126565000020
サブブロック・マージ関連の構文要素が最初に信号伝達され、次に通常のマージ・モードの指示(これは、MMVPとHEVCのような従来のマージの両方を制御する)が続くことに留意されたい。そのような指示が偽の場合、それがCIIPモードであるかまたはTPMモードであるかを示すために、追加的なビットがさらに信号伝達されてもよい。
しなしながら、そのような情報は、許容されるTPM候補の数が2未満の場合を考慮に入れていない。
4. 技法および実施形態の例
以下の詳細なリストは、一般的な概念を説明するための例として考慮されるべきである。これらの実施形態は狭義に解釈されるべきではない。さらに、これらの技法は、任意の方法で組み合わせることができる。
A0、A1、B0、B1、B2等として示される近傍ブロックは、図2に示される。
1. 従来のマージとTPMコーディングされたブロックについての通常マージ・リスト構築プロセスは、現在ブロックのコーディング方法から切り離される。
a. 一例では、TPMが1つのブロックに適用されるとき、部分的剪定が空間的マージ候補に適用される。
i. 一例では、2つの候補が互いに比較されるかどうかは、非TPMマージコーディングブロックについて使用されるのと同じ仕方で決定される。
ii. 一例では、B1はA1と比較され、B0はB1と比較され、A0はA1と比較され、B2はB1およびA1と比較される。
iii. あるいはまた、TPMが1つのブロックについて使用されない場合でも、フル剪定が空間的マージ候補に適用される。
iv. あるいはまた、さらに、いくつかの特定のブロック寸法にフル剪定が適用されてもよい。
1. たとえば、フル剪定は、TPMが許容されるブロック寸法に適用されてもよい。
2. たとえば、ブロック・サイズがM*Hより小さいサンプル、たとえば、16または32または64ルーマ・サンプルを含む場合、フル剪定は許容されない。
3. たとえば、ブロックの幅>th1または≧th1および/またはブロックの高さ>th2または≧th2の場合、フル剪定は許容されない。
b. 一例では、B2をチェックするかどうかは、TPMが1つのブロックに適用されるときにB2をチェックする前の利用可能なマージ候補の数に基づく。
i. あるいはまた、B2は、非TPMマージコーディングブロックについて利用可能なマージ候補の数にかかわらず、常にチェックされる。
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テーブルに記憶された第1の利用可能な動き情報が使用されてもよい。
ii. たとえば、ある参照ピクチャー(たとえば、共位置のピクチャー)に関連付けられた、HMVPテーブルに格納された第1の利用可能な動き情報が使用されてもよい。
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_10_flagに等しく設定される。
b. 一例では、TMVPのための共位置のMVの導出プロセスの全体または一部は、サブブロック・ベースのコーディングツールのために使用されるものと整列される。
4. 動き候補リスト構築プロセス(たとえば、通常マージ・リスト、IBCマージ/AMVPリスト)は、ブロック寸法および/またはマージ共有条件に依存してもよい。ブロックの幅をW、高さをHとする。条件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のブロックをコーディングするために利用されることが禁止される。
13. TPMサイド情報と無関係な構文要素の信号伝達は、許容されるTPM候補の数の条件チェックの下にあってもよい。
a. 一例では、CIIP関連の構文要素(たとえば、ciip_flag)の信号伝達は、許容されるTPM候補の数が閾値Kより大きいかどうかに依存してもよい。
b. 一例では、通常マージ・モード・フラグ(たとえば、regular_merge_flag)の信号伝達は、許容されるTPM候補の数が閾値Kより大きいかどうかに依存してもよい。
c. 一例では、Kが1に設定される。
d. あるいはまた、さらに、許容されるTPM候補の数が閾値K以下の場合、ある種の構文要素は信号伝達されなくてもよい。
14. 適合ビットストリームは、最大変換ブロック・サイズが最大CTUサイズを超えないということを満足する。
a. あるいはまた、最大変換ブロック・サイズの指示が、最大CTUサイズの下で条件付きで信号伝達されてもよいし、その逆も可能である。
i. 一例では、最大CTUサイズがM×N以下(たとえば、M=N=32)である場合、最大変換ブロック・サイズの指示を信号伝達する必要はない。
15. ALFフィルタ係数の範囲は、固定された範囲ではなく、サンプル深さ(たとえば、内部ビット深さまたは入力ビット深さ)に依存してもよい。
16. 固定フィルタに対してALF APSにおいてALFフィルタを使用するかどうかを示すために、1つのフラグが直接信号伝達されてもよい。
a. また、そのようなフラグは、利用可能なALF APSの数が0より大きいという条件の下で信号伝達されてもよい。
b. あるいはまた、さらに、APSからのALFフィルタが信号伝達される場合、ALF APSのインデックスを示すために、1つの追加的な構文がさらに信号伝達されてもよい。そのようなインデックスは、固定長コーディング、単進コーディング、打ち切りされた単進コーディング、打ち切りされた二進コーディング、指数ゴロムコーディングを用いてコーディングされてもよい。
5. 実施形態
最新のVVC作業原案(JVET-N1001_v7)に加える提案される変更点は以下の通りである。削除されるテキストは、[[ ]]と下線で示される。新たに追加された部分は太字でハイライトされる。
5.1 実施形態#1
この実施形態は、非TPMコーディングブロックについての剪定プロセスを、TPMコーディングされたブロックについての剪定プロセスに整列させる、すなわち、非TPMコーディングブロックについてのフル剪定操作である。
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
・近傍のコーディング単位の1/16端数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、mvLXB2
・双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、gbiIdxB2
availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA1,yNbA1)は(xCb-1,yCb+cbHeight-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA1,yNbA1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA1に割り当てられる。
・変数availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1は、以下のように導出される:
・availableA1がFALSEに等しい場合、availableFlagA1が0に等しく設定され、X=0または1として、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)
availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB1,yNbB1)は(xCb+cbWidth-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB1,yNbB1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB1に割り当てられる。
・変数availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB1が0に等しく設定され、X=0または1として、mvLXB1の両方の成分が0に等しく設定され、refIdxLXB1が-1に等しく設定され、predFlagLXB1が0に等しく設定され、gbiIdxB1が0に設定される:
・availableB1が偽に等しい。
・availableA1が真に等しく、ルーマ位置(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)
availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB0,yNbB0)は(xCb+cbWidth,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB0,yNbB0)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB0に割り当てられる。
・変数availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB0が0に等しく設定され、X=0または1として、mvLXB0の両方の成分が0に等しく設定され、refIdxLXB0が-1に等しく設定され、predFlagLXB0が0に等しく設定され、gbiIdxB0が0に設定される:
・availableB0が偽に等しい。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB0,yNbB0)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableA1が真に等しく、ルーマ位置(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)
availableFlagA0、refIdxLXA0、predFlagLXA0およびmvLXA0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA0,yNbA0)は(xCb-1,yCb+cbWidth)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA0,yNbA0)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA0に割り当てられる。
・変数availableFlagA0、refIdxLXA0、predFlagLXA0、mvLXA0は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagA0が0に等しく設定され、X=0または1として、mvLXA0の両方の成分が0に等しく設定され、refIdxLXA0が-1に等しく設定され、predFlagLXA0が0に等しく設定され、gbiIdxA0が0に設定される:
・availableA0が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbA0,yNbA0)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbA0,yNbA0)は同じ動きベクトルと同じ参照インデックスをもつ[[、merge_triangle_flag[xCb][yCb]は1に等しい]]。
・availableB0が真に等しく、ルーマ位置(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)
availableFlagB2、refIdxLXB2、predFlagLXB2およびmvLXB2の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB2,yNbB2)は(xCb-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB2,yNbB2)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB2に割り当てられる。
・変数availableFlagB2、refIdxLXB2、predFlagLXB2、mvLXB2は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB2が0に等しく設定され、X=0または1として、mvLXB2の両方の成分が0に等しく設定され、refIdxLXB2が-1に等しく設定され、predFlagLXB2が0に等しく設定され、gbiIdxB2が0に設定される:
・availableB2が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB0が真に等しく、ルーマ位置(xNbB0,yNbB0)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ[[、merge_triangle_flag[xCb][yCb]は1に等しい]]。
・availableA0が真に等しく、ルーマ位置(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)
5.2 実施形態#2
この実施形態は、TPMコーディングブロックについての剪定プロセスを、非TPMコーディングブロックについての剪定プロセスに整列させる、すなわち、TPMコーディングされるブロックについての限定的な剪定操作である。
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
・近傍のコーディング単位の1/16端数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、mvLXB2
・双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、gbiIdxB2
availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA1,yNbA1)は(xCb-1,yCb+cbHeight-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA1,yNbA1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA1に割り当てられる。
・変数availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1は、以下のように導出される:
・availableA1がFALSEに等しい場合、availableFlagA1が0に等しく設定され、X=0または1として、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)
availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB1,yNbB1)は(xCb+cbWidth-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB1,yNbB1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB1に割り当てられる。
・変数availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB1が0に等しく設定され、X=0または1として、mvLXB1の両方の成分が0に等しく設定され、refIdxLXB1が-1に等しく設定され、predFlagLXB1が0に等しく設定され、gbiIdxB1が0に設定される:
・availableB1が偽に等しい。
・availableA1が真に等しく、ルーマ位置(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)
availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB0,yNbB0)は(xCb+cbWidth,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB0,yNbB0)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB0に割り当てられる。
・変数availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB0が0に等しく設定され、X=0または1として、mvLXB0の両方の成分が0に等しく設定され、refIdxLXB0が-1に等しく設定され、predFlagLXB0が0に等しく設定され、gbiIdxB0が0に設定される:
・availableB0が偽に等しい。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB0,yNbB0)は同じ動きベクトルと同じ参照インデックスをもつ。
・[[availableA 1 が真に等しく、ルーマ位置(xNbA 1 ,yNbA 1 )と(xNbB 0 ,yNbB 0 )は同じ動きベクトルと同じ参照インデックスをもつ、そして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)
availableFlagA0、refIdxLXA0、predFlagLXA0およびmvLXA0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA0,yNbA0)は(xCb-1,yCb+cbWidth)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA0,yNbA0)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA0に割り当てられる。
・変数availableFlagA0、refIdxLXA0、predFlagLXA0、mvLXA0は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagA0が0に等しく設定され、X=0または1として、mvLXA0の両方の成分が0に等しく設定され、refIdxLXA0が-1に等しく設定され、predFlagLXA0が0に等しく設定され、gbiIdxA0が0に設定される:
・availableA0が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbA0,yNbA0)は同じ動きベクトルと同じ参照インデックスをもつ。
・[[availableB 1 が真に等しく、ルーマ位置(xNbB 1 ,yNbB 1 )と(xNbA 0 ,yNbA 0 )は同じ動きベクトルと同じ参照インデックスをもつ、そしてmerge_triangle_flag[xCb][yCb]は1に等しい]]。
・[[availableB 0 が真に等しく、ルーマ位置(xNbB 0 ,yNbB 0 )と(xNbA 0 ,yNbA 0 )は同じ動きベクトルと同じ参照インデックスをもつ、そして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)
availableFlagB2、refIdxLXB2、predFlagLXB2およびmvLXB2の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB2,yNbB2)は(xCb-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB2,yNbB2)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB2に割り当てられる。
・変数availableFlagB2、refIdxLXB2、predFlagLXB2、mvLXB2は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB2が0に等しく設定され、X=0または1として、mvLXB2の両方の成分が0に等しく設定され、refIdxLXB2が-1に等しく設定され、predFlagLXB2が0に等しく設定され、gbiIdxB2が0に設定される:
・availableB2が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・[[availableB 0 が真に等しく、ルーマ位置(xNbB 0 ,yNbB 0 )と(xNbB 2 ,yNbB 2 )は同じ動きベクトルと同じ参照インデックスをもつ、そしてmerge_triangle_flag[xCb][yCb]は1に等しい]]。
・[[availableA 0 が真に等しく、ルーマ位置(xNbA 0 ,yNbA 0 )と(xNbB 2 ,yNbB 2 )は同じ動きベクトルと同じ参照インデックスをもつ、そして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)
5.3 実施形態#3
この実施形態は、B2のチェックを呼び出すための条件を揃える。
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
・近傍のコーディング単位の1/16端数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、mvLXB2
・双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、gbiIdxB2
availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA1,yNbA1)は(xCb-1,yCb+cbHeight-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA1,yNbA1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA1に割り当てられる。
・変数availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1は、以下のように導出される:
……
availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB1,yNbB1)は(xCb+cbWidth-1,yCb-1)に等しく設定される。
……
availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB0,yNbB0)は(xCb+cbWidth,yCb-1)に等しく設定される。
……
availableFlagA0、refIdxLXA0、predFlagLXA0およびmvLXA0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA0,yNbA0)は(xCb-1,yCb+cbWidth)に等しく設定される。
……
availableFlagB2、refIdxLXB2、predFlagLXB2およびmvLXB2の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB2,yNbB2)は(xCb-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB2,yNbB2)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB2に割り当てられる。
・変数availableFlagB2、refIdxLXB2、predFlagLXB2、mvLXB2は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB2が0に等しく設定され、X=0または1として、mvLXB2の両方の成分が0に等しく設定され、refIdxLXB2が-1に等しく設定され、predFlagLXB2が0に等しく設定され、gbiIdxB2が0に設定される:
・availableB2が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB0が真に等しく、ルーマ位置(xNbB0,yNbB0)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ、そしてmerge_triangle_flag[xCb][yCb]は1に等しい。
・availableA0が真に等しく、ルーマ位置(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)
5.4 実施形態#4
この実施形態は、B2のチェックを呼び出すための条件を揃える。
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
・近傍のコーディング単位の1/16端数サンプル精度での動きベクトルmvLXA0、mvLXA1、mvLXB0、mvLXB1、mvLXB2
・双予測重みインデックスgbiIdxA0、gbiIdxA1、gbiIdxB0、gbiIdxB1、gbiIdxB2
availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA1,yNbA1)は(xCb-1,yCb+cbHeight-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbA1,yNbA1)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableA1に割り当てられる。
・変数availableFlagA1、refIdxLXA1、predFlagLXA1、mvLXA1は、以下のように導出される:
……
availableFlagB1、refIdxLXB1、predFlagLXB1、mvLXB1の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB1,yNbB1)は(xCb+cbWidth-1,yCb-1)に等しく設定される。
……
availableFlagB0、refIdxLXB0、predFlagLXB0、mvLXB0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB0,yNbB0)は(xCb+cbWidth,yCb-1)に等しく設定される。
……
availableFlagA0、refIdxLXA0、predFlagLXA0およびmvLXA0の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbA0,yNbA0)は(xCb-1,yCb+cbWidth)に等しく設定される。
……
availableFlagB2、refIdxLXB2、predFlagLXB2およびmvLXB2の導出には、以下が適用される:
・近傍のルーマコーディングブロック内のルーマ位置(xNbB2,yNbB2)は(xCb-1,yCb-1)に等しく設定される。
・節6.4.X項において指定されているブロックの利用可能性導出プロセス[編注(BB):近傍ブロック利用可能性検査プロセスtbd]が、(xCb,yCb)に等しく設定された現在のルーマ位置(xCurr,yCurr)および近傍ルーマ位置(xNbB2,yNbB2)を入力として呼び出される。出力は、ブロック利用可能性フラグavailableB2に割り当てられる。
・変数availableFlagB2、refIdxLXB2、predFlagLXB2、mvLXB2は、以下のように導出される:
・以下の条件のうち一つまたは複数が真である場合、availableFlagB2が0に等しく設定され、X=0または1として、mvLXB2の両方の成分が0に等しく設定され、refIdxLXB2が-1に等しく設定され、predFlagLXB2が0に等しく設定され、gbiIdxB2が0に設定される:
・availableB2が偽に等しい。
・availableA1が真に等しく、ルーマ位置(xNbA1,yNbA1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB1が真に等しく、ルーマ位置(xNbB1,yNbB1)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ。
・availableB0が真に等しく、ルーマ位置(xNbB0,yNbB0)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ、そしてmerge_triangle_flag[xCb][yCb]は1に等しい。
・availableA0が真に等しく、ルーマ位置(xNbA0,yNbA0)と(xNbB2,yNbB2)は同じ動きベクトルと同じ参照インデックスをもつ、そしてmerge_triangle_flag[xCb][yCb]は1に等しい。
・[[availableFlagA 0 +availableFlagA 1 +availableFlagB 0 +availableFlagB 1 が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)
5.5 実施形態#5
この実施形態は、ATMVPプロセスにおける初期化されたMVの決定を簡略化する。
8.5.5.4 サブブロック・ベースの時間的マージ・ベース動きデータの導出プロセス
このプロセスへの入力は以下の通り:
・現在のコーディングブロックを含むルーマコーディングツリー・ブロックの左上のサンプルの位置(xCtb,yCtb)
・右下の中心サンプルをカバーする共位置のルーマコーディングブロックの左上のサンプルの位置(xColCtrCb,yColCtrCb)、
・近傍のコーディング単位の利用可能性フラグavailableFlagA1
・近傍のコーディング単位の参照インデックスrefIdxLXA1
・近傍のコーディング単位の予測リスト利用フラグpredFlagLXA1
・近傍のコーディング単位の1/16端数サンプル精度での動きベクトルmvLXA1
このプロセスの出力は以下の通り:
・動きベクトルctrMvL0とctrMvL1、
・予測リスト利用フラグctrPredFlagL0およびctrPredFlagL1、
・時間的動きベクトルtempMv。
変数tempMvは次のように設定される:
tempMv[0]=0 (8-529)
tempMv[1]=0 (8-530)
変数currPicは現在のピクチャーを指定する。
availableFlagA1がTRUEに等しい場合、以下が適用される:
Figure 2023126565000021
〔画像の内容をテキストでも記載しておく:
変数Xをcollocated_from_l0_flagに設定する。
predFlagLXA1が1に等しく、DiffPicOrderCnt(ColPic,RefPicList[X][refIdxLXA1])が0に等しいことが真である場合、tempMvはmvLXA1に等しく設定される。〕
・[[以下の条件がすべて真である場合、tempMvはmvL1A 1 に等しく設定される:
・predFlagL1A 1 が1に等しい、
・DiffPicOrderCnt(ColPic,RefPicList[1][refIdxL1A 1 ])が0に等しい、
・DiffPicOrderCnt(aPic,currPic)が、現在のスライスのすべての参照ピクチャー・リスト内のすべてのピクチャーaPicについて0以下である、
・slice_typeがBに等しい、
・collocated_from_l0_flagが0に等しい。]]
・[[それ以外の場合、以下の条件がすべて真である場合、tempMvはmvL0A 1 に等しく設定される:
・predFlagL0A 1 が1に等しい、
・DiffPicOrderCnt(ColPic,RefPicList[0][refIdxL0A1])は0に等しい。]]
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)
配列colPredModeは、ColPicによって指定された共位置のピクチャーの予測モード配列CuPredModeと等しく設定される。
動きベクトルctrMvL0およびctrMvL1、ならびに予測リスト利用フラグctrPredFlagL0およびctrPredFlagL1は、以下のように導出される:
……
5.6 実施形態#6
サブブロックおよび非サブブロック・ベースの方法のための共位置のMVの導出プロセスの整列のための例。
8.5.2.12 共位置の動きベクトルのための導出プロセス
このプロセスへの入力は以下の通りである:
・現在のコーディングブロックを指定する変数currCb、
・ColPicによって指定された共位置のピクチャー内の共位置のコーディングブロックを指定する変数colCb、
・ColPicによって指定された共位置のピクチャーの左上のルーマ・サンプルに対して、colCbによって指定された共位置のルーマコーディングブロックの左上のサンプルを指定するルーマ位置(xColCb,yColCb)、
・参照インデックスrefIdxLX、Xは0または1、
・サブブロックの時間的マージ候補sbFlagを示すフラグ。
このプロセスの出力は以下の通りである:
・1/16端数サンプル精度での動きベクトル予測mvLXCol、
・利用可能性フラグavailableFlagLXCol。
変数currPicは現在のピクチャーを指定する。
配列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]に等しく設定される。
変数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の値である。
・[[それ以外の場合(sbFlagが1に等しい)、以下が適用される:
・PredFlagLXCol[xColCb][yColCb]が1に等しい場合、mvCol、refIdxCol、listColはそれぞれmvLXCol[xColCb][yColCb]、refIdxLXCol[xColCb][yColCb]、LXに等しく設定され、availableFlagLXColは1に等しく設定される。
・それ以外の場合(PredFlagLXCol[xColCb][yColCb]が0に等しい場合)、以下が適用される:
・DiffPicOrderCnt(aPic,currPic)が現在のスライスのすべての参照ピクチャー・リストのすべてのピクチャーaPicについて0以下であり、PredFlagLYCol[xColCb][YColCb]が1に等しく、mvCol、refIdxCol、listColはそれぞれmvLYCol[xColCb][yColCb]、refIdxLYCol[xColCb][yColCb]、LYに設定され、Yは!Xに等しく、Xはそのためにこのプロセスが呼び出されるXの値である。availableFlagLXColが1に設定される。
・mvLXColの両方の成分が0に設定され、availableFlagLXColは0に等しく設定される。]]
・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をもつピクチャーに設定され、以下が適用される:
……
図22は、ビデオ処理装置2200のブロック図である。装置2200は、本明細書に記載される一つまたは複数の方法を実装するために使用されてもよい。装置2200は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)受信機などにおいて具現されてもよい。装置2200は、一つまたは複数のプロセッサ2202、一つまたは複数のメモリ2204、およびビデオ処理ハードウェア2206を含んでいてもよい。プロセッサ2202は、本稿に記載される一つまたは複数の方法を実装するように構成されてもよい。メモリ(単数または複数)2204は、本明細書に記載される方法および技法を実装するために使用されるデータおよびコードを記憶するために使用されてもよい。ビデオ処理ハードウェア2206は、ハードウェア回路において、本稿に記載されるいくつかの技法を実装するために使用されてもよい。ビデオ処理ハードウェア2206は、専用ハードウェア、またはグラフィカル・プロセッサ・ユニット(GPU)、または特化した信号処理ブロックの形で、部分的にまたは完全にプロセッサ(単数または複数)2202内に含まれてもよい。
いくつかの実施形態は、以下の条項ベースの記述を使用して記述されうる。
セクション4の項目1に記載された技法のいくつかの例示的な実施形態は、以下を含む。
1. ビデオ処理の方法(たとえば、図23に示される方法2300)であって:現在のビデオ・ブロックが少なくとも2つの非長方形サブブロックに分割される三角形分割モード(TMP)を使用して分割される現在のビデオ・ブロックのマージ・リスト構築に、剪定プロセスを適用するステップ(2302)であって、前記剪定プロセスは、非TMPパーティションを使用して分割される別のビデオ・ブロックについての別の剪定プロセスと同じである、ステップと;前記マージ・リスト構築に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換を実行するステップ(2304)と、を含む、方法。
2. 前記剪定プロセスは、現在のビデオ・ブロックの空間的マージ候補に対して部分的剪定を使用することを含む、請求項1に記載の方法。
3. 前記剪定プロセスは、現在のビデオ・ブロックの寸法に基づいてフル剪定または部分的剪定を使用することを指定するブロック寸法規則に基づいて、現在のビデオ・ブロックに対してフル剪定または部分的剪定を適用することを含む、請求項1に記載の方法。
4. 前記剪定プロセスは、前記マージ・リスト構築プロセスの間に近傍ブロックの異なる順序を使用することを含む、請求項1に記載の方法。
セクション4の項目2に記載された技法のいくつかの例示的な実施形態は、以下を含む。
1. ビデオ処理の方法であって:現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換の間に、現在のビデオ・ブロックの近傍ブロックのリストXに基づいて前記変換のための代替時間的動きベクトル予測子コーディング(alternative temporal motion vector predictor coding、ATMVP)モードの利用可能性に関して判定するステップであって、Xは整数であり、Xの値は現在のビデオ・ブロックのエンコード条件に依存する、ステップと;ATMVPモードの前記利用可能性に基づいて前記変換を実行するステップとを含む、方法。
2. Xは、現在のビデオ・ブロックとビットストリーム表現との間の前記変換のために使用される時間的動きベクトル予測が実行されるもとになる、共位置のビデオ・ピクチャーの位置を示す、請求項1に記載の方法。
3. Xは、現在のビデオ・ブロックについてのすべての参照リストにおけるすべての参照ピクチャーのピクチャー順カウント(POC)を、現在のビデオ・ブロックの現在のビデオ・ピクチャーのPOCと比較することによって決定される、請求項1に記載の方法。
4. 前記比較が、それらのPOCが現在のピクチャーのPOC以下であることを示す場合、X=1に設定し、それ以外の場合にX=0に設定する、請求項3に記載の方法。
5. 前記ATMVPモードで動きベクトルを初期化するために、履歴ベースの動きベクトル予測子テーブルに記憶された動き情報が使用される、請求項1に記載の方法。
セクション4の項目3に記載された技法のいくつかの例示的な実施形態は、以下を含む。
1. ビデオ処理の方法であって:現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換中に、現在のビデオ・ブロックが少なくとも2つのサブブロックに分割されるサブブロック・ベースのコーディング技法が前記変換のために使用されることを決定するステップであって、各サブブロックはそれ自身の動き情報を導出することができる、ステップと;共位置の動きベクトルのためのブロック・ベースの導出プロセスと整列された、現在のビデオ・ブロックのためのマージ・リスト構築プロセスを使用して、前記変換を実行するステップとを含む、方法。
2. 前記マージ・リスト構築プロセスおよび前記導出プロセスは、リストYからの単予測を実行することを含み、リストYの動きベクトルは、ターゲット参照ピクチャー・リストXにスケーリングされる、請求項1に記載の方法。
3. 前記マージ・リスト構築プロセスおよび前記導出プロセスは、ターゲット参照ピクチャー・リストXを用いて双予測を実行することを含み、リストYの動きベクトルは、リストXの動きベクトルにスケーリングされ、ここで、Yは、規則に従って決定される、請求項1に記載の方法。
セクション4の項目4に記載されている技法のいくつかの例示的な実施形態は、以下を含む。
1. ビデオ処理の方法であって:ビデオ・ピクチャーの現在のビデオ・ブロックの寸法に基づいて、および/または異なるコーディングツールからのマージ候補が共有されているマージ共有状態の有効化に基づいて、ある条件が満たされているのと該条件が満たされていないのとの間で判断するステップと、前記条件に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間で変換を実行するステップとを含む、方法。
2. 前記変換を実行するステップは、前記条件が満たされる場合に空間的マージ候補を導出することをスキップすることを含む、請求項1に記載の方法。
3. 前記変換を実行するステップは、前記条件が満たされる場合に履歴ベースの動きベクトル候補を導出することをスキップすることを含む、請求項1に記載の方法。
4. 現在のビデオ・ブロックが前記ビデオ・ピクチャー内の共有ノードの下にあることに基づいて、前記条件が満たされていると判断される、請求項1ないし3のうちいずれか一項に記載の方法。
セクション4の項目5に記載されている技法のいくつかの例示的な実施形態は、以下を含む。
1. ビデオ処理の方法であって:現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換の間に、コーディングツールが前記変換について無効にされていることを判別するステップであって、前記ビットストリーム表現は、前記コーディングツールのためのマージ候補の最大数がゼロであるという指示を提供するように構成されている、ステップと;前記コーディングツールが無効にされているとの前記判別を用いて前記変換を実行するステップとを含む、方法。
2. 前記コーディングツールは、現在のビデオ・ブロックのピクセルが現在のビデオ・ブロックのビデオ領域内の他のピクセルからコーディングされるイントラブロックコピーに対応する、請求項1に記載の方法。
3. 前記コーディングツールはサブブロックコーディングツールである、請求項1に記載の方法。
4. 前記サブブロックコーディングツールは、アフィンコーディングツールまたは代替動きベクトル予測子ツールである、請求項3に記載の方法。
5. 前記変換を実行するステップは、前記コーディングツールに関連する構文要素をスキップすることによって前記ビットストリームを処理することを含む、請求項1ないし4のうちいずれか一項に記載の方法。
セクション4の項目6に記載されている技法のいくつかの例示的な実施形態は、以下を含む。
1. ビデオ処理の方法であって:現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換の間に、前記ビットストリーム表現の第1の構文要素が、前記変換の間に使用されるコーディングツールによって使用されるマージ候補の最大数を示す第2の構文要素に基づいて条件付きで存在することを指定する規則を使用してある決定をするステップと;前記決定に基づいて、現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の前記変換を実行するステップとを含む、方法。
2. 前記第1の構文要素はマージ・フラグに対応する、請求項1に記載の方法。
3. 前記第1の構文要素はスキップ・フラグに対応する、請求項1に記載の方法。
4. 前記コーディングツールはサブバンドコーディングツールであり、前記第2の構文要素は、前記サブバンドコーディングツールについての最大許容マージ候補に対応する、請求項1ないし3のうちいずれか一項に記載の方法。
34. 前記変換は、現在のビデオ・ブロックから前記ビットストリーム表現を生成することを含む、節1ないし33のうちいずれか一項に記載の方法。
35. 前記変換は、前記ビットストリーム表現から現在のビデオ・ブロックのサンプルを生成することを含む、節1ないし33のうちいずれか一項に記載の方法。
36. 節1ないし35のうち一つまたは複数に記載の方法を実装するように構成されたプロセッサを備える、ビデオ処理装置。
37. コードが記憶されているコンピュータ読み取り可能媒体であって、前記コードは、実行されると、プロセッサに、節1ないし35のうち一つまたは複数に記載の方法を実装させる、コンピュータ読み取り可能媒体。
図24は、本明細書に開示されるさまざまな技法が実装され得る、例示的なビデオ処理システム2400を示すブロック図である。さまざまな実装は、システム2400の構成要素の一部または全部を含んでいてもよい。システム2400は、ビデオコンテンツを受信するための入力2402を含んでいてもよい。ビデオコンテンツは、生または非圧縮フォーマット、たとえば8または10ビットの多成分ピクセル値で受領されてもよく、または圧縮またはエンコードされたフォーマットで受領されてもよい。入力2402は、ネットワークインターフェース、周辺バスインターフェース、または記憶インターフェースを表しうる。ネットワークインターフェースの例は、イーサネット、受動光ネットワーク(PON)などの有線インターフェース、およびWi-Fiまたはセルラーインターフェースなどの無線インターフェースを含む。
システム2400は、本稿に記載されるさまざまなコーディングまたはエンコード方法を実装しうるコーディングコンポーネント2404を含んでいてもよい。コーディングコンポーネント2404は、入力2402からコーディングコンポーネント2404の出力に向けてビデオの平均ビットレートを低減して、ビデオのコーディング表現を生成してもよい。よって、コーディング技法は、ビデオ圧縮またはビデオトランスコード技法と呼ばれることがある。コーディングコンポーネント2404の出力は、コンポーネント2406によって表されるように、記憶されるか、または接続された通信を介して送信されてもよい。入力2402で受領されたビデオの記憶されたまたは通信されたビットストリーム(またはコーディングされた)表現は、ディスプレイインターフェース2410に送信されるピクセル値または表示可能なビデオを生成するために、コンポーネント2408によって使用されてもよい。ビットストリーム表現からユーザーが見ることができるビデオを生成するプロセスは、ビデオ圧縮解除と呼ばれることがある。さらに、ある種のビデオ処理動作は、「コーディング」動作またはツールと称されるが、コーディングツールまたは動作は、エンコーダにおいて使用され、コーディングの結果を反転する対応するデコード・ツールまたは動作は、デコーダによって実行されることが理解されるであろう。
周辺バスインターフェースまたはディスプレイインターフェースの例は、ユニバーサルシリアルバス(USB)または高精細度マルチメディアインターフェース(HDMI(登録商標))またはディスプレイポートなどを含みうる。記憶インターフェースの例は、SATA(シリアルアドバンストテクノロジーアタッチメント)、PCI、IDEインターフェースなどを含む。本稿に記載される技法は、携帯電話、ラップトップ、スマートフォン、またはデジタルデータ処理および/またはビデオ表示を実行することができる他の装置のようなさまざまな電子装置に具現されうる。
図25は、視覚メディア処理方法の一例のためのフローチャートである。このフローチャートのステップは、本稿のセクション4の例5dに関連して論じられている。ステップ2502では、プロセスは、視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行する。前記ビットストリーム表現は、コーディングツールのためのマージ候補の最大数を示す構文要素が前記ビットストリーム表現に選択的に含まれるか、除外されるかを指定し、それにより前記コーディングツールが前記変換のために有効にされるか、無効にされるかを示すことを指定するフォーマット規則に従って構成され、前記コーディングツールのためのマージ候補の最大数は、ゼロまたは正数である。
図26は、視覚メディア処理方法の一例のためのフローチャートである。このフローチャートのステップは、本稿のセクション4の例13に関連して論じられている。ステップ2602では、プロセスは、複数のビデオ・ブロックを含む一つまたは複数のビデオ領域を含むビデオと、前記ビデオのビットストリーム表現との間で変換を実行する。前記ビットストリーム表現は、ビデオ領域についての許容される幾何分割モード(geometric partitioning mode、GMP)動き候補の数が前記ビデオ領域へのコーディングツールの適用可能性に関する構文要素が前記ビットストリーム表現に含まれるかどうかを決定することを指定するフォーマット規則に適合し、前記コーディングツールは、GPMコーディングツールとは異なり、前記GPMは、別個に動き予測を適用するために、ビデオ・ブロックを複数の予測パーティションに分割することを含み、少なくとも1つのパーティションは非矩形形状を有する。
図27は、視覚メディア処理方法の一例のためのフローチャートである。このフローチャートのステップは、本稿のセクション4の例14に関連して論じられている。ステップ2702では、プロセスは、視覚メディアデータの現在のビデオ単位と、前記視覚メディアデータのビットストリーム表現との間で変換を実行する。前記ビットストリーム表現は、最大変換ブロック・サイズが、前記変換のために使用される最大コーディングツリー単位(CTU)サイズと等しいかまたはそれ未満であることを指定するフォーマット規則に従って構成される。
図28は、視覚メディア処理方法の一例のためのフローチャートである。このフローチャートのステップは、本稿のセクション4の例15に関連して論じられている。ステップ2802では、プロセスは、視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行する。前記変換は、適応ループフィルタ(ALF)を使用し、該ALFフィルタの係数は、現在のビデオ・ブロックのビデオ領域内のサンプルの深さに基づく。
図29は、視覚メディア処理方法の一例のためのフローチャートである。このフローチャートのステップは、本稿のセクション4の例16に関連して論じられている。ステップ2902では、プロセスは、視覚メディアデータの現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換を適応ループフィルタ(ALF)を用いて実行する。前記ビットストリーム表現は、前記ビットストリーム表現に含まれる一つまたは複数の構文要素が、現在のビデオ・ブロックに適用されるALFフィルタが、適応パラメータセット(APS)に基づいて決定されるか、または固定した諸フィルタ集合に基づいて決定されるかを示すことを指定するフォーマット規則に従って構成される。
本稿のいくつかの実施形態は、条項ベースのフォーマットで呈示される。
A1. 視覚メディア処理の方法であって:
視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行するステップを含み、前記ビットストリーム表現は、コーディングツールのためのマージ候補の最大数を示す構文要素が前記ビットストリーム表現に選択的に含まれるか、除外されるかを指定し、それにより前記コーディングツールが前記変換のために有効にされるか、無効にされるかを示すことを指定するフォーマット規則に従って構成され、
前記コーディングツールのためのマージ候補の最大数は、ゼロまたは正数である、
方法。
A2. 前記フォーマット規則が、前記コーディングツールが前記変換のために無効にされていることを判別することに応答して、前記ビットストリーム表現において前記構文要素が除外されることを指定する、条項A1に記載の方法。
A3. 前記コーディングツールのためのマージ候補の最大数がゼロである場合、前記フォーマット規則は、前記ビットストリーム表現において前記構文要素を除外することを指定する、条項A2に記載の方法。
A4. 前記コーディングツールは、現在のビデオ・ブロックのピクセルが現在のビデオ・ブロックのビデオ領域内の他のピクセルからコーディングされるイントラブロックコピーに対応する、条項A3に記載の方法。
A5. 前記コーディングツールが、通常マージ、動きベクトル差を伴うMマージ(MMVD)、複合イントラ‐インター予測(CIIP)、三角形分割モード(TPM)、デコーダ側動きベクトル洗練(DMVR)に対応する、条項A1ないしA4のうちいずれか一つまたは複数の方法。
A6. 前記コーディングツールがサブブロックコーディングツールである、条項A1ないしA4のうちいずれか一つまたは複数の方法。
A7. 前記サブブロックコーディングツールは、アフィンコーディングツールまたは代替動きベクトル予測ツールである、条項A6に記載の方法。
A8. 前記変換を実行するステップは、前記コーディングツールに関連する構文要素をスキップすることによって前記ビットストリームを処理することを含む、条項A1ないしA4のいずれか一つまたは複数に記載の方法。
A9. 前記変換を実行するステップは、前記コーディングツールのためのマージ候補の最大数がゼロと等しくないことを判別するために、前記ビットストリームを処理することを含む、条項A1ないしA4のいずれか一つまたは複数の方法。
A10. 前記変換は、前記コーディングツールのためのマージ候補の最大数がゼロと等しくないことを判別するステップを含む、条項A1ないしA9のいずれか一つまたは複数の方法。
E1. 視覚メディア処理の方法であって:
複数のビデオ・ブロックを含む一つまたは複数のビデオ領域を含むビデオと、前記ビデオのビットストリーム表現との間で変換を実行するステップを含み、
前記ビットストリーム表現は、ビデオ領域についての許容される幾何分割モード(geometric partitioning mode、GMP)動き候補の数が前記ビデオ領域へのコーディングツールの適用可能性に関する構文要素が前記ビットストリーム表現に含まれるかどうかを決定することを指定するフォーマット規則に適合し、前記コーディングツールは、GPMコーディングツールとは異なり、前記GPMは、別個に動き予測を適用するために、ビデオ・ブロックを複数の予測パーティションに分割することを含み、少なくとも1つのパーティションは非矩形形状を有する、
方法。
E2. 前記コーディングツールが複合インター‐イントラ予測(CIIP)モードに対応し、許容されるGPM動き候補の数が閾値を超える場合、前記フォーマット規則は、前記ビットストリーム表現において前記一つまたは複数の構文要素を含めることを指定する、条項E1に記載の方法。
E3. 前記閾値が1に等しい、条項E1ないしE2のいずれか一つまたは複数の方法。
E4. 許容されるGPM動き候補の数が前記閾値以下である場合に、前記フォーマット規則が前記ビットストリーム表現において前記構文要素を除外することを指定する、条項E1ないしE3のいずれか一つまたは複数の方法。
B1. 視覚メディア処理の方法であって:
視覚メディアデータの現在のビデオ単位と、前記視覚メディアデータのビットストリーム表現との間で変換を実行するステップを含み、前記ビットストリーム表現は、最大変換ブロック・サイズが、前記変換のために使用される最大コーディングツリー単位(CTU)サイズと等しいかまたはそれ未満であることを指定するフォーマット規則に従って構成される、
方法。
B2. 前記フォーマット規則が、前記最大CTUサイズに基づいて、前記ビットストリーム表現において、前記最大変換ブロック・サイズを示す構文要素を選択的に含めることを指定する、条項B1に記載の方法。
B3. 前記フォーマット規則が、前記最大CTUサイズが定義されたM×Nブロック・サイズより小さいまたはそれに等しいという判定に基づいて、前記ビットストリーム表現において前記最大変換ブロック・サイズを示す構文要素を除外することを指定する、条項B2に記載の方法。
B4. M=32およびN=32である、条項B3に記載の方法。
C1. 視覚メディア処理の方法であって:
視覚メディアデータの現在のビデオ・ブロックと、現在のビデオ・ブロックのビットストリーム表現との間の変換を実行するステップであって、前記変換は、適応ループフィルタ(ALF)を使用し、該ALFフィルタの係数は、現在のビデオ・ブロックのビデオ領域内のサンプルの深さに基づく、
方法。
C2. 前記ALFフィルタ係数がクロマALFフィルタ係数に対応する、条項C1に記載の方法。
C3. 前記ALFフィルタ係数がルーマALFフィルタ係数に対応する、条項C1に記載の方法。
D1. 視覚メディア処理の方法であって:
視覚メディアデータの現在のビデオ・ブロックと現在のビデオ・ブロックのビットストリーム表現との間の変換を適応ループフィルタ(ALF)を用いて実行することを含み、前記ビットストリーム表現は、前記ビットストリーム表現に含まれる一つまたは複数の構文要素が、現在のビデオ・ブロックに適用されるALFフィルタが適応パラメータセット(APS)に基づいて決定されるか、または固定した諸フィルタ集合に基づいて決定されるかを示すことを指定するフォーマット規則に従って構成される、
方法。
D2. 利用可能なALF APSの数がゼロより大きい場合、前記フォーマット規則は、前記一つまたは複数の構文要素が前記ビットストリーム表現に含まれることをさらに指定する、条項D1に記載の方法。
D3. 前記ALFが前記APSに基づいている場合、前記フォーマット規則は、さらに、前記一つまたは複数の構文要素が前記ビットストリーム表現に含まれ、前記APSのインデックスを示すことを指定する、条項D1に記載の方法。
D4. 前記APSの前記インデックスが、コーディング技法を用いて前記ビットストリーム表現に含まれる、条項D3に記載の方法。
D5. 前記コーディング技法が:固定長コーディング、単進コーディング、打ち切りされた単進コーディング、打ち切りされた二進コーディング、または指数ゴロムコーディングのうちの1つを含む、条項D1に記載の方法。
L1. 条項A1~D5のいずれか一つまたは複数の方法であって、前記変換は、現在のビデオ・ブロックから前記ビットストリーム表現を生成することを含む、方法。
L2. 条項A1~D5のいずれか一つまたは複数の方法であって、前記変換は、前記ビットストリーム表現から現在のビデオ・ブロックのサンプルを生成することを含む、方法。
L3. 条項A1~D5のいずれか一つまたは複数に記載の方法を実装するように構成されたプロセッサを有するビデオ処理装置。
L4. コードが記憶されているコンピュータ読み取り可能媒体であって、前記コードが、実行時に、プロセッサに、条項A1~D5のいずれか一つまたは複数に記載された方法を実装させる、媒体。
本稿では、「ビデオ処理」または「視覚メディア処理」という用語は、ビデオ・エンコード、ビデオ・デコード、ビデオ圧縮またはビデオ圧縮解除を指しうる。たとえば、ビデオ圧縮アルゴリズムが、ビデオのピクセル表現から対応するビットストリーム表現へ、またはその逆への変換の間に適用されてもよい。現在のビデオ・ブロックのビットストリーム表現は、たとえば、構文によって定義されるように、ビットストリーム内で一緒に配置されるかまたは種々の場所に拡散されるビットに対応しうる。たとえば、マクロブロックは、変換されコーディングされた誤差残差値を用いて、また、ビットストリーム内のヘッダおよび他のフィールド内のビットをも使用して、エンコードされてもよい。さらに、変換中に、デコーダは、上述の諸解決策に記載されるような決定に基づいて、いくつかのフィールドが存在または不在でありうるという知識を用いて、ビットストリームをパースしてもよい。同様に、エンコーダは、ある種の構文フィールドが含められるか、含められないかを決定し、それに応じて、コーディングされた表現から構文フィールドを含めるか、または除外することによって、コーディング表現を生成することができる。開示された技法は、サブブロック・ベースの動きベクトル洗練の使用を含む技法を使用して圧縮効率を改善するために、ビデオ・エンコーダまたはデコーダにおいて具現されうることが理解されよう。
以上から、本明細書において、説明の目的で、本開示の技術の個別的な実施形態が説明されてきたが、本発明の範囲を逸脱することなく、さまざまな修正を行うことができることが理解されるであろう。よって、本開示の技術は、添付の特許請求の範囲による場合を除き、限定されない。
本稿に記載された、開示されたおよびその他の解決策、例、実施形態、モジュール、および機能的動作は、デジタル電子回路において、または本稿に開示された構造およびその構造的等価物を含むコンピュータ・ソフトウェア、ファームウェア、またはハードウェアにおいて、またはそれらの一つまたは複数の組み合わせにおいて実装できる。開示されたおよびその他の実施形態は、一つまたは複数のコンピュータ・プログラム・プロダクト、すなわち、データ処理装置による実行のため、またはデータ処理装置の動作を制御するために、コンピュータ読み取り可能媒体上にエンコードされたコンピュータ・プログラム命令の一つまたは複数のモジュールとして実装できる。コンピュータ読み取り可能媒体は、機械読み取り可能記憶デバイス、機械読み取り可能記憶基板、メモリ装置、機械読み取り可能な伝搬信号を実現する物質の組成、または一つまたは複数のそれらの組み合わせでありうる。用語「データ処理装置」は、たとえば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサまたはコンピュータを含む、データを処理するためのあらゆる装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、問題のコンピュータ・プログラムの実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの一つまたは複数の組み合わせを構成するコードを含むことができる。伝搬される信号は、好適な受信器装置への伝送のために情報をコーディングするために生成される人工的に生成された信号、たとえば機械生成される電気信号、光または電磁信号である。
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイルまたはインタープリットされる言語を含む、任意の形のプログラミング言語で書くことができ、それは、スタンドアローン・プログラムとして、またはコンピューティング環境での使用に好適なモジュール、コンポーネント、サブルーチン、または他のユニットとしてを含め、任意の形で展開されることができる。コンピュータ・プログラムは、必ずしもファイルシステム内のファイルに対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分(たとえば、マークアップ言語文書に記憶される一つまたは複数のスクリプト)に、問題のプログラム専用の単一ファイルに、または複数の調整されたファイル(たとえば、一つまたは複数のモジュール、サブプログラム、またはコード部分を記憶するファイル)に記憶されることができる。コンピュータ・プログラムは、1つのコンピュータ上で、または1つのサイトに位置する、もしくは複数のサイトに分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開されることができる。
本稿で記載されたプロセスおよび論理フローは、入力データに作用し、出力を生成することによって機能を実行するための一つまたは複数のコンピュータ・プログラムを実行する一つまたは複数のプログラマブルプロセッサによって実行されることができる。プロセスおよび論理フローはまた、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行されることもでき、装置が、かかる特殊目的論理回路として実装されることもできる。
コンピュータ・プログラムの実行に好適なプロセッサは、たとえば、汎用および専用両方のマイクロプロセッサ、および任意の種類のデジタル・コンピュータの任意の一つまたは複数のプロセッサを含む。一般に、プロセッサは、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受領する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための一つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための一つまたは複数の大容量記憶装置、たとえば、磁気ディスク、光磁気ディスク、または光ディスクにデータをも含んでいてもよく、あるいはかかる大容量記憶装置からデータを受領し、かかる大容量記憶装置にデータを転送するように動作上結合されていてもよく、あるいはその両方であってもよい。しかしながら、コンピュータは、そのような装置を有する必要はない。コンピュータ・プログラム命令およびデータを記憶するのに好適なコンピュータ読み取り可能媒体は、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス;磁気ディスク、たとえば、内部ハードディスクまたはリムーバブルディスク;光磁気ディスク;ならびにCD-ROMおよびDVD-ROMディスクを含む、あらゆる形の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、特殊目的論理回路によって補足されるか、または特殊目的論理回路に組み込まれることができる。
この特許文献は多くの詳細を含んでいるが、これらは、いずれかの主題の範囲または特許請求されうるものの範囲に対する限定として解釈されるべきではなく、むしろ具体的な技術の具体的な実施形態に固有でありうる特徴の説明と解釈されるべきである。この特許文献において別々の実施形態の文脈で記載されているある種の特徴は、単一の実施形態において組み合わせて実装されることもできる。逆に、単一の実施形態の文脈において記載されるさまざまな特徴は、複数の実施形態において別々に、または任意の好適なサブコンビネーションにおいて実装されることもできる。さらに、特徴は、ある種の組み合わせにおいて作用するものとして上記に記載され、さらに当初はそのように請求項に記載されることがありうるが、請求項に記載された組み合わせからの一つまたは複数の特徴が、場合によっては、かかる組み合わせから切り出されてもよく、請求項に記載された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
同様に、図面では動作が特定の順序で示されているが、これは、所望の結果を達成するために、そのような動作がその特定の順序でまたは逐次順に実行されること、または、示されたすべての動作が実行されることを要求するものとして理解されるべきではない。さらに、この特許文献に記載されている実施形態におけるさまざまなシステム構成要素の分離は、すべての実施形態においてそのような分離を要求するものとして理解されるべきではない。
少数の実装および例のみが記述されており、この特許文献に記載され、説明されている内容に基づいて、他の実装、向上および変形が可能である。

Claims (14)

  1. ビデオ・データを処理する方法であって:
    一つまたは複数のコーディングツリー・ブロックを含むビデオのビデオ領域と該ビデオのビットストリームとの間の変換の際に、前記ビデオ領域における前記一つまたは複数のコーディングツリー・ブロックのうちの現在のコーディングツリー・ブロックについて適応ループフィルタ(ALF)プロセスが適用されることを決定するステップと;
    前記決定に基づいて前記変換を実行するステップとを含み、
    前記ビットストリームは、現在のコーディングツリー・ブロックに適用されるALFフィルタが適応パラメータセット(APS)に基づくか、または一つまたは複数の固定したフィルタ集合に基づくかを示す単一の一つの第1の構文要素が条件付きで前記ビットストリームに含まれることを指定するフォーマット規則に従って構成され、
    前記フォーマット規則はさらに、現在のコーディングツリー・ブロックに適用されるALFフィルタがAPSに基づくことを示す値を有する前記単一の一つの第1の構文要素が、第2の構文要素が前記ビットストリームに含まれることに関連付けられることを指定し、前記第2の構文要素は、現在のコーディングツリー・ブロックに適用される前記ALFフィルタを含む前記APSのインデックスを導出するために使用され、
    前記第2の構文要素が、打ち切りされた二進コーディング技法を用いてコーディングされる、
    方法。
  2. 前記第2の構文要素は、前記ビデオ領域の利用可能なALF APSにおいて現在のコーディングツリー・ブロックに適用される前記ALFフィルタを含む前記APSが属するシーケンスを示す、請求項1に記載の方法。
  3. 前記ビデオ領域の利用可能なALF APSの数が0より大きいことに応答して、前記フォーマット規則が、前記第1の構文要素が前記ビットストリームに含まれることをさらに指定する、請求項1に記載の方法。
  4. 前記一つまたは複数の固定したフィルタ集合のうちの一つが現在のコーディングツリー・ブロックに適用されることに応答して、前記フォーマット規則は、第3の構文要素が前記ビットストリームに含まれることをさらに指定し、前記第3の構文要素の値は、現在のコーディングツリー・ブロックに適用される前記一つの固定したフィルタのインデックスを指定する、請求項1に記載の方法。
  5. 前記ビデオ領域がスライスである、請求項1に記載の方法。
  6. 前記ビデオ領域の利用可能なALF APSの数が0より大きい場合、前記フォーマット規則が、前記第1の構文要素が前記ビットストリームに含まれることをさらに指定する、請求項1に記載の方法。
  7. 前記フォーマット規則は、前記ビデオのコーディングツリー単位のサイズが、32×32より大きい場合にのみ、最大変換ブロック・サイズを示す第4の構文要素が前記ビットストリームに含まれることを指定する、
    請求項1に記載の方法。
  8. 前記フォーマット規則がさらに、前記最大変換ブロック・サイズがコーディングツリー単位のサイズ以下であることを指定する、請求項7に記載の方法。
  9. 前記ALFフィルタが前記APSに基づく場合、前記フォーマット規則はさらに、前記第2の構文要素が条件付きで前記ビットストリームに含まれることを指定する、請求項1に記載の方法。
  10. 前記変換が、前記ビデオ領域を前記ビットストリームにエンコードすることを含む、請求項1ないし9のうちいずれか一項に記載の方法。
  11. 前記変換が、前記ビデオ領域を前記ビットストリームからデコードすることを含む、請求項1ないし9のうちいずれか一項に記載の方法。
  12. プロセッサと、命令を記憶している非一時的メモリとを有する、ビデオ・データを処理する装置であって、前記命令は、前記プロセッサによって実行されると、前記プロセッサに:
    一つまたは複数のコーディングツリー・ブロックを含むビデオのビデオ領域と該ビデオのビットストリームとの間の変換の際に、前記ビデオ領域における前記一つまたは複数のコーディングツリー・ブロックのうちの現在のコーディングツリー・ブロックについて適応ループフィルタ(ALF)プロセスが適用されることを決定するステップと;
    前記決定に基づいて前記変換を実行するステップとを実行させるものであり、
    前記ビットストリームは、現在のコーディングツリー・ブロックに適用されるALFフィルタが適応パラメータセット(APS)に基づくか、または一つまたは複数の固定したフィルタ集合に基づくかを示す単一の一つの第1の構文要素が条件付きで前記ビットストリームに含まれることを指定するフォーマット規則に従って構成され、
    前記フォーマット規則はさらに、現在のコーディングツリー・ブロックに適用されるALFフィルタがAPSに基づくことを示す値を有する前記単一の一つの第1の構文要素が、第2の構文要素が前記ビットストリームに含まれることに関連付けられることを指定し、前記第2の構文要素は、現在のコーディングツリー・ブロックに適用される前記ALFフィルタを含む前記APSのインデックスを導出するために使用され、
    前記第2の構文要素が、打ち切りされた二進コーディング技法を用いてコーディングされる、
    装置。
  13. 命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサに:
    一つまたは複数のコーディングツリー・ブロックを含むビデオのビデオ領域と該ビデオのビットストリームとの間の変換の際に、前記ビデオ領域における前記一つまたは複数のコーディングツリー・ブロックのうちの現在のコーディングツリー・ブロックについて適応ループフィルタ(ALF)プロセスが適用されることを決定するステップと;
    前記決定に基づいて前記変換を実行するステップとを実行させるものであり、
    前記ビットストリームは、現在のコーディングツリー・ブロックに適用されるALFフィルタが適応パラメータセット(APS)に基づくか、または一つまたは複数の固定したフィルタ集合に基づくかを示す単一の一つの第1の構文要素が条件付きで前記ビットストリームに含まれることを指定するフォーマット規則に従って構成され、
    前記フォーマット規則はさらに、現在のコーディングツリー・ブロックに適用されるALFフィルタがAPSに基づくことを示す値を有する前記単一の一つの第1の構文要素が、第2の構文要素が前記ビットストリームに含まれることに関連付けられることを指定し、前記第2の構文要素は、現在のコーディングツリー・ブロックに適用される前記ALFフィルタを含む前記APSのインデックスを導出するために使用され、
    前記第2の構文要素が、打ち切りされた二進コーディング技法を用いてコーディングされる、
    記憶媒体。
  14. ビデオ処理装置によって実行される方法によって生成されたビデオのビットストリームを記憶している非一時的なコンピュータ読み取り可能な記録媒体であって、前記方法は:
    ビデオのビデオ領域における前記一つまたは複数のコーディングツリー・ブロックのうちの現在のコーディングツリー・ブロックについて適応ループフィルタ(ALF)プロセスが適用されることを決定するステップと;
    前記決定に基づいて前記ビットストリームを生成するステップとを含み、
    前記ビットストリームは、現在のコーディングツリー・ブロックに適用されるALFフィルタが適応パラメータセット(APS)に基づくか、または一つまたは複数の固定したフィルタ集合に基づくかを示す単一の一つの第1の構文要素が条件付きで前記ビットストリームに含まれることを指定するフォーマット規則に従って構成され、
    前記フォーマット規則はさらに、現在のコーディングツリー・ブロックに適用されるALFフィルタがAPSに基づくことを示す値を有する前記単一の一つの第1の構文要素が、第2の構文要素が前記ビットストリームに含まれることに関連付けられることを指定し、前記第2の構文要素は、現在のコーディングツリー・ブロックに適用される前記ALFフィルタを含む前記APSのインデックスを導出するために使用され、
    前記第2の構文要素が、打ち切りされた二進コーディング技法を用いてコーディングされる、
    記録媒体。
JP2023117437A 2019-07-14 2023-07-19 ビデオコーディングにおける変換ブロック・サイズ制約 Pending JP2023126565A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/095921 2019-07-14
CN2019095921 2019-07-14
PCT/CN2020/101819 WO2021008513A1 (en) 2019-07-14 2020-07-14 Transform block size restriction in video coding
JP2022502208A JP7318099B2 (ja) 2019-07-14 2020-07-14 ビデオコーディングにおける変換ブロック・サイズ制約

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022502208A Division JP7318099B2 (ja) 2019-07-14 2020-07-14 ビデオコーディングにおける変換ブロック・サイズ制約

Publications (1)

Publication Number Publication Date
JP2023126565A true JP2023126565A (ja) 2023-09-07

Family

ID=74210199

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022502208A Active JP7318099B2 (ja) 2019-07-14 2020-07-14 ビデオコーディングにおける変換ブロック・サイズ制約
JP2023117437A Pending JP2023126565A (ja) 2019-07-14 2023-07-19 ビデオコーディングにおける変換ブロック・サイズ制約

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022502208A Active JP7318099B2 (ja) 2019-07-14 2020-07-14 ビデオコーディングにおける変換ブロック・サイズ制約

Country Status (6)

Country Link
US (3) US11647186B2 (ja)
EP (1) EP3984215A4 (ja)
JP (2) JP7318099B2 (ja)
KR (1) KR20220030995A (ja)
CN (4) CN114175636B (ja)
WO (3) WO2021008513A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112840654B (zh) * 2018-10-12 2024-04-16 韦勒斯标准与技术协会公司 使用多假设预测的视频信号处理方法和装置
EP3963889A4 (en) 2019-06-04 2023-01-25 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL IMPLEMENTATION OF A MOVEMENT CANDIDATE LIST CONSTRUCTION PROCESS
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
WO2021008513A1 (en) 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Transform block size restriction in video coding
CN117596389A (zh) 2019-09-28 2024-02-23 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
WO2023055126A1 (ko) * 2021-10-01 2023-04-06 엘지전자 주식회사 Gpm 기반 영상 코딩 방법 및 장치
WO2023200237A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 기하 분할된 블록에 대한 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체

Family Cites Families (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050111545A1 (en) 2003-11-25 2005-05-26 Ram Prabhakar Dynamic packet size control for MPEG-4 data partition mode
EP2050279B1 (en) * 2006-08-02 2018-08-29 Thomson Licensing Adaptive geometric partitioning for video decoding
CN101415121B (zh) 2007-10-15 2010-09-29 华为技术有限公司 一种自适应的帧预测的方法及装置
EP2173101A3 (en) * 2008-10-06 2010-08-18 LG Electronics Inc. A method and an apparatus for decoding a video signal
TWI428023B (zh) * 2008-11-18 2014-02-21 Ind Tech Res Inst 解碼方法及裝置
KR101098739B1 (ko) * 2008-11-24 2011-12-23 한국전자통신연구원 비디오 신호의 부호화/복호화 장치 및 방법
US9036692B2 (en) 2010-01-18 2015-05-19 Mediatek Inc. Motion prediction method
US8879632B2 (en) 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
MX2012011695A (es) 2010-04-09 2012-11-16 Mitsubishi Electric Corp Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimento.
US9819966B2 (en) * 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9071851B2 (en) 2011-01-10 2015-06-30 Qualcomm Incorporated Adaptively performing smoothing operations
CN102611880B (zh) * 2011-01-19 2015-02-04 华为技术有限公司 标识图像块几何划分模式的编解码方法和设备
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
US9826238B2 (en) * 2011-06-30 2017-11-21 Qualcomm Incorporated Signaling syntax elements for transform coefficients for sub-sets of a leaf-level coding unit
JP5884697B2 (ja) 2011-09-28 2016-03-15 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、送信装置、送信方法及び送信プログラム
US20130107973A1 (en) 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US20130114717A1 (en) 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
US9538200B2 (en) * 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US9451277B2 (en) 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9549180B2 (en) 2012-04-20 2017-01-17 Qualcomm Incorporated Disparity vector generation for inter-view prediction for video coding
US20130294513A1 (en) 2012-05-07 2013-11-07 Qualcomm Incorporated Inter layer merge list construction for video coding
US20130329007A1 (en) 2012-06-06 2013-12-12 Qualcomm Incorporated Redundancy removal for advanced motion vector prediction (amvp) in three-dimensional (3d) video coding
US20130336406A1 (en) 2012-06-14 2013-12-19 Qualcomm Incorporated Redundancy removal for merge/skip mode motion information candidate list construction
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
US9088770B2 (en) * 2012-08-15 2015-07-21 Intel Corporation Size based transform unit context derivation
US20140071235A1 (en) 2012-09-13 2014-03-13 Qualcomm Incorporated Inter-view motion prediction for 3d video
US9491461B2 (en) 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction
US9699450B2 (en) 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
SG11201502627QA (en) 2012-10-05 2015-05-28 Mediatek Singapore Pte Ltd Method and apparatus of motion vector derivation 3d video coding
US9357214B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced merge/skip mode and advanced motion vector prediction (AMVP) mode for 3D video
US10334259B2 (en) 2012-12-07 2019-06-25 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US9538180B2 (en) 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
US10057594B2 (en) 2013-04-02 2018-08-21 Vid Scale, Inc. Enhanced temporal motion vector prediction for scalable video coding
US9609347B2 (en) 2013-04-04 2017-03-28 Qualcomm Incorporated Advanced merge mode for three-dimensional (3D) video coding
EP2987326B1 (en) * 2013-04-17 2020-09-02 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US9225991B2 (en) * 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US9288507B2 (en) 2013-06-21 2016-03-15 Qualcomm Incorporated More accurate advanced residual prediction (ARP) for texture coding
US9716899B2 (en) 2013-06-27 2017-07-25 Qualcomm Incorporated Depth oriented inter-view motion vector prediction
WO2015003383A1 (en) 2013-07-12 2015-01-15 Mediatek Singapore Pte. Ltd. Methods for inter-view motion prediction
WO2015007159A1 (en) 2013-07-15 2015-01-22 Mediatek Singapore Pte. Ltd. Method of disparity derived depth coding in 3d video coding
EP3025494A4 (en) 2013-07-24 2017-03-08 Microsoft Technology Licensing, LLC Scanning orders for non-transform coding
US20150078457A1 (en) * 2013-09-13 2015-03-19 Qualcomm Incorporated Representation format signaling in multi-layer video coding
US9762927B2 (en) * 2013-09-26 2017-09-12 Qualcomm Incorporated Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC
US9930351B2 (en) * 2013-10-11 2018-03-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for transcoding a video bitstream
WO2015070739A1 (en) 2013-11-15 2015-05-21 Mediatek Inc. Method of block-based adaptive loop filtering
US9432685B2 (en) 2013-12-06 2016-08-30 Qualcomm Incorporated Scalable implementation for parallel motion estimation regions
US10212441B2 (en) * 2014-02-12 2019-02-19 Chips & Media, Inc. Method and apparatus for processing video
WO2015131387A1 (en) 2014-03-07 2015-09-11 Qualcomm Incorporated Simplified sub-prediction unit (sub-pu) motion parameter inheritence (mpi)
JP6445039B2 (ja) 2014-03-13 2018-12-26 クゥアルコム・インコーポレイテッドQualcomm Incorporated 3dビデオコーディングのための制限付き深度イントラモードコーディング
CN103942793B (zh) 2014-04-16 2016-11-16 上海交通大学 基于热扩散的视频一致运动区域检测方法
KR102298599B1 (ko) * 2014-04-29 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 샘플 적응 오프셋 필터링에 대한 인코더측 결정
WO2015192286A1 (en) 2014-06-16 2015-12-23 Qualcomm Incorporated Simplified shifting merge candidate and merge list derivation in 3d-hevc
US10897629B2 (en) 2014-06-19 2021-01-19 Vid Scale, Inc. Methods and systems for intra block copy search enhancement
US10327001B2 (en) * 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy
EP3180917B1 (en) * 2014-09-01 2022-04-20 HFI Innovation Inc. Method of intra picture block copy for screen content and video coding
RU2017112309A (ru) 2014-09-12 2018-10-12 Вид Скейл, Инк. Межкомпонентная декорреляция для видеокодирования
EP3198872A1 (en) 2014-09-26 2017-08-02 VID SCALE, Inc. Intra block copy coding with temporal block vector prediction
GB2531003A (en) 2014-10-06 2016-04-13 Canon Kk Method and apparatus for vector encoding in video coding and decoding
US9918105B2 (en) * 2014-10-07 2018-03-13 Qualcomm Incorporated Intra BC and inter unification
US9854237B2 (en) 2014-10-14 2017-12-26 Qualcomm Incorporated AMVP and merge candidate list derivation for intra BC and inter prediction unification
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
CN107431817B (zh) 2015-01-29 2020-03-24 Vid拓展公司 用于调色板译码的方法及装置
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
EP3262836B1 (en) * 2015-03-02 2020-07-29 HFI Innovation Inc. Method and apparatus for intrabc mode with fractional-pel block vector resolution in video coding
US10356416B2 (en) 2015-06-09 2019-07-16 Qualcomm Incorporated Systems and methods of determining illumination compensation status for video coding
CN105141957B (zh) * 2015-07-31 2019-03-15 广东中星电子有限公司 图像和视频数据编解码的方法和设备
EP3876541A1 (en) 2015-09-02 2021-09-08 Mediatek Inc. Fast sum of absolute differences calculation for motion vector derivation in video coding
US10218975B2 (en) 2015-09-29 2019-02-26 Qualcomm Incorporated Transform precision manipulation in video coding
US10462439B2 (en) 2015-10-02 2019-10-29 Vid Scale, Inc. Color correction with a lookup table
US10812822B2 (en) 2015-10-02 2020-10-20 Qualcomm Incorporated Intra block copy merge mode and padding of unavailable IBC reference region
US10200719B2 (en) 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
CN108713320B (zh) * 2016-03-16 2022-05-17 寰发股份有限公司 视频编码中限制块尺寸的视频数据处理方法与装置
US10939096B2 (en) 2016-05-05 2021-03-02 Interdigital Madison Patent Holdings, Sas Control-point based intra direction representation for intra coding
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US10419755B2 (en) * 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
US11095922B2 (en) 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
US10326986B2 (en) 2016-08-15 2019-06-18 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10271069B2 (en) * 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
US10721489B2 (en) 2016-09-06 2020-07-21 Qualcomm Incorporated Geometry-based priority for the construction of candidate lists
US10448010B2 (en) 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
WO2018099269A1 (en) 2016-11-29 2018-06-07 Mediatek Inc. Method and apparatus of merge mode derivation for video coding
US20180184127A1 (en) 2016-12-22 2018-06-28 Qualcomm Incorporated Determining neighboring samples for bilateral filtering in video coding
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
US11025903B2 (en) 2017-01-13 2021-06-01 Qualcomm Incorporated Coding video data using derived chroma mode
CN106961606B (zh) * 2017-01-26 2020-04-07 浙江工业大学 基于纹理划分特征的hevc帧内编码模式选择方法
US20180242024A1 (en) * 2017-02-21 2018-08-23 Mediatek Inc. Methods and Apparatuses of Candidate Set Determination for Quad-tree Plus Binary-tree Splitting Blocks
KR102559063B1 (ko) * 2017-02-24 2023-07-24 주식회사 케이티 비디오 신호 처리 방법 및 장치
TWI683573B (zh) * 2017-03-10 2020-01-21 聯發科技股份有限公司 用於視訊編解碼中具有畫面內方向預測模式之內含畫面內編解碼工具設定的方法和裝置
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
US11172203B2 (en) 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction
CN116761001A (zh) 2017-08-29 2023-09-15 Sk电信有限公司 视频编码装置、视频解码装置和存储比特流的方法
KR102427789B1 (ko) 2017-10-10 2022-08-02 한국전자통신연구원 인터 예측 정보를 사용하는 방법 및 장치
US10785494B2 (en) 2017-10-11 2020-09-22 Qualcomm Incorporated Low-complexity design for FRUC
US11159793B2 (en) 2017-10-16 2021-10-26 Digitalinsights Inc. Method, device, and recording medium storing bit stream, for encoding/decoding image
US20190116374A1 (en) 2017-10-17 2019-04-18 Qualcomm Incorporated Coding motion information of video data using coding structure-based candidate list construction
WO2019079611A1 (en) 2017-10-18 2019-04-25 Huawei Technologies Co., Ltd. GENERATION OF MOVEMENT VECTOR CANDIDATES LIST DEPENDING ON THE AVAILABILITY OF A NEIGHBORING BLOCK
JP2021016016A (ja) 2017-10-20 2021-02-12 シャープ株式会社 動画像符号化装置及び動画像復号装置
JP7390300B2 (ja) 2017-11-01 2023-12-01 ヴィド スケール インコーポレイテッド ビデオコーディングにおける適応ループフィルタを簡略化する方法
SG11202002881XA (en) 2017-11-14 2020-05-28 Qualcomm Inc Unified merge candidate list usage
US10721469B2 (en) 2017-11-28 2020-07-21 Qualcomm Incorporated Line buffer reduction for adaptive loop filtering in video coding
US20190208225A1 (en) * 2018-01-02 2019-07-04 Qualcomm Incorporated Sign prediction in video coding
CN111567043B (zh) 2018-01-11 2023-03-28 高通股份有限公司 对视频数据进行译码的方法、装置和计算机可读存储介质
US20190238845A1 (en) 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
JP2021514162A (ja) 2018-02-22 2021-06-03 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるブロック分割構造による映像デコーディング方法及び装置
WO2019191890A1 (zh) 2018-04-02 2019-10-10 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
US10506251B2 (en) 2018-05-08 2019-12-10 Tencent America LLC Method and apparatus for video coding
US10397603B1 (en) 2018-05-08 2019-08-27 Tencent America LLC Method and apparatus for video coding
TWI750486B (zh) 2018-06-29 2021-12-21 大陸商北京字節跳動網絡技術有限公司 運動資訊共用的限制
CA3101730A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a hmvp candidate to merge/amvp
CN110662059B (zh) 2018-06-29 2021-04-20 北京字节跳动网络技术有限公司 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置
TWI728389B (zh) 2018-07-01 2021-05-21 大陸商北京字節跳動網絡技術有限公司 基於優先級的非相鄰merge設計
US10531090B1 (en) 2018-07-02 2020-01-07 Tencent America LLC Method and apparatus for video coding
CN110677666B (zh) 2018-07-02 2022-06-14 北京字节跳动网络技术有限公司 Lamvr中取整和修剪的顺序
US11051010B2 (en) 2018-07-18 2021-06-29 Mediatek Inc. Merge candidates with multiple hypothesis
US10362330B1 (en) 2018-07-30 2019-07-23 Tencent America LLC Combining history-based motion vector prediction and non-adjacent merge prediction
US10523963B1 (en) 2018-07-30 2019-12-31 Tencent America LLC Method and apparatus for merge mode in video coding
CN110858906B (zh) 2018-08-26 2023-05-30 北京字节跳动网络技术有限公司 组合的基于历史的运动矢量预测符和多运动模型解码
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020060185A1 (ko) 2018-09-19 2020-03-26 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
TWI822862B (zh) 2018-09-23 2023-11-21 大陸商北京字節跳動網絡技術有限公司 8參數仿射模型
TWI822863B (zh) 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
WO2020084553A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate derivation based on multiple information in sub-block motion vector prediction
CN111147855A (zh) 2018-11-02 2020-05-12 北京字节跳动网络技术有限公司 几何分割预测模式与其他工具之间的协调
WO2020094051A1 (en) 2018-11-06 2020-05-14 Beijing Bytedance Network Technology Co., Ltd. Signaling of side information for inter prediction with geometric partitioning
KR20210084479A (ko) 2018-11-06 2021-07-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 모션 정보의 위치 의존적 저장
JP7324841B2 (ja) 2018-11-10 2023-08-10 北京字節跳動網絡技術有限公司 ビデオ・データ処理方法、装置、記憶媒体及び記憶方法
WO2020098694A1 (en) 2018-11-13 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Construction method for a spatial motion candidate list
CN112970258B (zh) 2018-11-13 2023-08-18 北京字节跳动网络技术有限公司 用于子块预测块的多假设
WO2020098811A1 (en) 2018-11-17 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Generalized bi directional prediction mode in video processing
CN113170112A (zh) 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 用于具有几何分割的帧间预测的构建方法
WO2020108574A1 (en) 2018-11-28 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Improving method for transform or quantization bypass mode
WO2020114405A1 (en) 2018-12-03 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Indication method of maximum number of candidates
WO2020135465A1 (en) 2018-12-28 2020-07-02 Beijing Bytedance Network Technology Co., Ltd. Modified history based motion prediction
CN111213381B (zh) 2018-12-29 2021-11-12 深圳市大疆创新科技有限公司 视频处理方法和设备
WO2020140242A1 (zh) 2019-01-03 2020-07-09 北京大学 视频处理方法和装置
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
CN113302919A (zh) 2019-01-17 2021-08-24 北京字节跳动网络技术有限公司 在视频处理中使用虚拟候选预测和加权预测
US10904557B2 (en) 2019-01-22 2021-01-26 Tencent America LLC Method and apparatus for video coding
WO2020164630A1 (en) 2019-02-17 2020-08-20 Beijing Bytedance Network Technology Co., Ltd. Signaling of intra block copy merge candidates
BR112021016953A2 (pt) 2019-02-27 2021-11-23 Huawei Tech Co Ltd Codificador, decodificador e métodos correspondentes
AU2020229608B2 (en) * 2019-02-28 2023-09-14 Lg Electronics, Inc. APS signaling-based video or image coding
KR20210135308A (ko) 2019-03-11 2021-11-12 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더, 및 대응하는 방법들
WO2020181543A1 (zh) 2019-03-13 2020-09-17 北京大学 视频处理方法和设备
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
AU2020248837B2 (en) 2019-03-24 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Nonlinear adaptive loop filtering in video processing
CN113661706B (zh) 2019-04-01 2023-11-07 北京字节跳动网络技术有限公司 视频编码中的可选插值滤波器
CN113678462B (zh) 2019-04-15 2023-01-10 北京字节跳动网络技术有限公司 自适应环路滤波器中的裁剪参数推导
WO2020211809A1 (en) 2019-04-16 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. On adaptive loop filtering for video coding
US11284114B2 (en) * 2019-04-23 2022-03-22 Qualcomm Incorporated Adaptive loop filter set index signaling
WO2020231140A1 (ko) * 2019-05-14 2020-11-19 엘지전자 주식회사 적응적 루프 필터 기반 비디오 또는 영상 코딩
US11019334B2 (en) * 2019-05-17 2021-05-25 Qualcomm Incorporated Multiple adaptive loop filter sets for video coding
EP3963889A4 (en) 2019-06-04 2023-01-25 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL IMPLEMENTATION OF A MOVEMENT CANDIDATE LIST CONSTRUCTION PROCESS
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
US11166033B2 (en) * 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
US11736688B2 (en) * 2019-06-21 2023-08-22 Qualcomm Incorporated Adaptive loop filter signalling
WO2021008513A1 (en) 2019-07-14 2021-01-21 Beijing Bytedance Network Technology Co., Ltd. Transform block size restriction in video coding
CN117596389A (zh) 2019-09-28 2024-02-23 北京字节跳动网络技术有限公司 视频编解码中的几何分割模式
US11432016B2 (en) * 2019-12-05 2022-08-30 Hfi Innovation Inc. Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system
US11563980B2 (en) * 2020-04-02 2023-01-24 Qualcomm Incorporated General constraint information syntax in video coding

Also Published As

Publication number Publication date
WO2021008514A1 (en) 2021-01-21
EP3984215A4 (en) 2022-08-24
CN114175636A (zh) 2022-03-11
WO2021008511A1 (en) 2021-01-21
CN114128295B (zh) 2024-04-12
CN114128258A (zh) 2022-03-01
US20220132119A1 (en) 2022-04-28
CN114128295A (zh) 2022-03-01
US11647186B2 (en) 2023-05-09
US11509893B2 (en) 2022-11-22
CN117354547A (zh) 2024-01-05
US20230231997A1 (en) 2023-07-20
JP7318099B2 (ja) 2023-07-31
EP3984215A1 (en) 2022-04-20
CN114128258B (zh) 2023-12-22
CN114175636B (zh) 2024-01-12
KR20220030995A (ko) 2022-03-11
WO2021008513A1 (en) 2021-01-21
JP2022541012A (ja) 2022-09-21
US20220132118A1 (en) 2022-04-28

Similar Documents

Publication Publication Date Title
JP7425808B2 (ja) 動き候補リスト構築プロセスの条件付き実行
JP7318099B2 (ja) ビデオコーディングにおける変換ブロック・サイズ制約
WO2020259426A1 (en) Motion candidate list construction for intra block copy mode
US20220086441A1 (en) Intra block copy with triangular partitions
US20220094927A1 (en) Sub-block based intra block copy
JP7460661B2 (ja) 映像符号化のための動き候補リストの構成
KR102627821B1 (ko) 이웃 블록 정보를 사용한 모션 후보 리스트 구성
CN113994682A (zh) 具有默认参数的基于历史的运动矢量预测
CN114097219A (zh) 基于历史的运动矢量预测表中的运动信息的存储

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240423