JP2022534235A - Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 - Google Patents
Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 Download PDFInfo
- Publication number
- JP2022534235A JP2022534235A JP2021569933A JP2021569933A JP2022534235A JP 2022534235 A JP2022534235 A JP 2022534235A JP 2021569933 A JP2021569933 A JP 2021569933A JP 2021569933 A JP2021569933 A JP 2021569933A JP 2022534235 A JP2022534235 A JP 2022534235A
- Authority
- JP
- Japan
- Prior art keywords
- current block
- block
- value
- mvp
- motion vector
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 158
- 239000013598 vector Substances 0.000 claims abstract description 191
- 238000012545 processing Methods 0.000 claims description 59
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013139 quantization Methods 0.000 description 83
- 241000023320 Luma <angiosperm> Species 0.000 description 70
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 69
- 230000008569 process Effects 0.000 description 51
- 238000000638 solvent extraction Methods 0.000 description 37
- 238000004891 communication Methods 0.000 description 30
- 230000000875 corresponding effect Effects 0.000 description 26
- 239000000872 buffer Substances 0.000 description 25
- 238000005192 partition Methods 0.000 description 24
- 230000002123 temporal effect Effects 0.000 description 24
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 15
- 238000001914 filtration Methods 0.000 description 13
- 238000003491 array Methods 0.000 description 12
- 238000009795 derivation Methods 0.000 description 12
- 238000010276 construction Methods 0.000 description 9
- 230000000295 complement effect Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013138 pruning Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
前述の目的及び他の目的は、独立請求項の主題事項によって達成される。
さらなる実装は、従属請求項、明細書及び図面から明らかである。
S101:現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBCモードを使用して予測される、得ることを含む。
IBCマージングBVP候補の最大数MaxNumIbcMergeCandは、以下のように導出される。
一例では、pred_mode_ibc_flagが1に等しい場合に、変数CuPredMode[chType][x][y]は、x=x0..x0+cbWidth-1及びy=y0..y0+cbHeight-1に対して、MODE_IBCに等しく設定される。例えば、CuPredMode[0][xCb][yCb]がMODE_IBCに等しいことは、現在のブロックがブロック内コピーIBCモードを使用して予測されることを表し、(xCb,yCb)は、現在のピクチャの左上のルマ・サンプルに対する現在のルマ・コーディング・ブロックの左上のサンプルを指定する。
一実施形態では、MVPインデックス構文mvp_l0_flagは、以下のように定義される。
mvp_l0_flag[x0][y0]は、リスト0のモーション・ベクトル予測器インデックスを指定し、x0、y0は、ピクチャの左上のサンプルに対する考慮されるコーディング・ブロックの左上のルマ・サンプルの位置(x0,y0)を指定する。
mvp_l0_flag[x0][y0]が存在しない場合に、それは0に等しいと推定される。
一例では、
コーディング・ユニット構文:
例えば、モーション・ベクトルを得るために、
このプロセスへの入力は、
現在のピクチャの左上のルマ・サンプルに対する現在のルマ・コーディング・ブロックの左上のサンプルのルマ位置(xCb,yCb)、
ルマ・サンプルにおける現在のコーディング・ブロックの幅を指定する変数cbWidth、
ルマ・サンプルにおける現在のコーディング・ブロックの高さを指定する変数cbHeightである。
このプロセスの出力は、
ルマ・ブロック・ベクトル1/16サンプル精度bvLである。
1. IsGt4by4がTRUEに等しい場合(例では、変数IsGt4by4はIsGt4by4=(cbWidth*cbHeight)>16のように導出される)に、隣接するコーディング・ユニットからの空間ブロック・ベクトル候補の導出プロセスは、ルマ・コーディング・ブロック位置(xCb,yCb)、ルマ・コーディング・ブロック幅cbWidth及び高さcbHeightを入力として呼び出され、出力は、可用性フラグavailableFlagA1、可用性フラグavailableFlagB1、ブロック・ベクトルbvA1及びbvB1である。
2. IsGt4by4がTRUEに等しい場合に、ブロック・ベクトル候補リストbvCandListは、以下のように構成される。
- IsGt4by4はTRUEに等しく、numCurrCandはbvCandList内のマージする候補の数に等しく設定される。
- それ以外の場合(IsGt4by4がFALSEに等しい)、numCurrCandは0に等しく設定される。
4. numCurrCandがMaxNumIbcMergeCandより小さく、NumHmvpIbcCandが0より大きい場合に、IBC履歴ベースのブロック・ベクトル候補の導出プロセスは、bvCandList及びnumCurrCandを入力として呼び出され、修正されたbvCandList及びnumCurrCandを出力とする。
5. numCurrCandがMaxNumIbcMergeCandより小さい場合に、numCurrCandがMaxNumIbcMergeCandに等しくなるまで次が適用される。
- bvCandList[numCurrCand][0]が0に設定される。
- bvCandList[numCurrCand][1]が0に設定される。
- numCurrCandが1だけ増加する。
6. 変数bvIdxは、次のように導出される
配列インデックスx0、y0は、ピクチャの左上のルマ・サンプルに対する、考慮されるコーディング・ブロックの左上のルマ・サンプルの位置(x0,y0)を指定します。
merge_idx[x0][y0]は、マージ候補リストのマージ候補インデックスを指定し、x0,y0は、ピクチャの左上のルマ・サンプルに対する、考慮されるコーディング・ブロックの左上のルマ・サンプルの位置(x0,y0)を指定する。
7. 以下の割り当てが行われる。
両方のモーション・ベクトル差(MVD)コンポーネントの計算は、MVDx=MVx-MVPx、MVDy=MVy-MVPyとして示される。
したがって、復号器側では、MVx=MVPx+MVDx、MVy=MVPy+MVDyである。
一例では、このプロセスへの入力は、
- 現在のピクチャの左上のルマ・サンプルに対する現在のルマ・コーディング・ブロックの左上のサンプルのルマ位置(xCb,yCb)、
- ルマ・サンプルにおける現在のコーディング・ブロックの幅を指定する変数cbWidth、
- ルマ・サンプルにおける現在のコーディング・ブロックの高さを指定する変数cbHeight
- ブロック・ベクトルbv、
- 現在のブロックの色コンポーネント・インデックスを指定する変数cIdxである。
このプロセスの出力は、
- 予測サンプルの配列predSamplesである。
cIdxが0に等しい場合に、x=xCb..xCb+cbWidth-1、及びy=yCb..yCb+cbHeight-1に対して、以下が適用される。
サンプルはCTB単位で処理される。幅と高さにおいて各ルマCTBの配列サイズは、サンプル単位でCtbSizeYである。各クロマCTBの配列の幅と高さは、それぞれサンプル単位でCtbWidthC及びCtbHeightCである。
変数SubWidthCとSubHeightCは、クロマ・フォーマットのサンプリング構造に応じて、表2で指定され、クロマ・フォーマットのサンプリング構造は、croma_format_idc及びseparate_colour_plane_flagで指定される。
croma_format_idc、SubWidthC及びSubHeightCの他の値は、将来ITU-T ISO/IECにおいて指定されてもよい。
一実装では、MVPインデックスの値は、コーディングユニットレベルから解析される。
一実装では、MVPインデックスの値は、リスト0のモーション・ベクトル予測器インデックスを指定する。
一実装では、現在のブロックのMVP候補の最大数の値は、ビットストリームからのシーケンス・パラメータ・セットspsレベルを解析することによって得られる。
一実装では、現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル又はppsレベルで構文要素を解析することによって得られる。
一実装では、候補リストは、現在のブロックに隣接する少なくとも1つの隣接ブロック、及び履歴ベースのモーション・ベクトル予測子HMVPリストに基づいて得られ、少なくとも1つの隣接ブロックは、IBCモードを使用して予測される。
一実装では、復号デバイスによって実装されるコーディング方法が開示され、その方法は、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
現在のブロックの前記MVP候補の最大数の値が1より大きいかどうかを判定することと、
現在のブロックの前記MVP候補の最大数の値が1より大きいと判定された場合に、ビットストリームからMVPインデックスの値を解析することと、
MVPインデックス及び候補リストにしたがって現在のブロックのモーション・ベクトルを得ることと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
一実装では、その方法は、
現在のブロックのMVP候補の最大数の値が1より大きいと判定された場合に、MVPインデックスの値をゼロに設定することをさらに含む。
一実装では、MVPインデックスの値は、コーディングユニットレベルから解析される。
一実装では、MVPインデックスの値は、リスト0のモーション・ベクトル予測器インデックスを指定する。
一実装では、現在のブロックのMVP候補の最大数の値は、ビットストリームからのシーケンス・パラメータ・セットspsレベルを解析することによって得られる。
一実装では、現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル又はppsレベルで構文要素を解析することによって得られる。
一実装では、候補リストは、現在のブロックに隣接する少なくとも1つの隣接ブロック、及び履歴ベースのモーション・ベクトル予測子HMVPリストに基づいて得られ、少なくとも1つの隣接ブロックは、IBCモードを使用して予測される。
一実施形態では、復号デバイスによって実装されるコーディング方法が開示され、その方法は、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
現在のブロックのMVPインデックスの値が1で、現在のブロックのMVP候補の最大数の値が1に等しい場合に、現在のブロックのモーション・ベクトルをデフォルト値に設定することと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
一実装では、現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる。
一実装では、デフォルト値は、ゼロである。
一実施形態では、復号デバイスによって実装されるコーディング方法が開示され、その方法は、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
現在のブロックのMVP候補の最大数の値が1に等しい場合に、現在のブロックに隣接する少なくとも1つの隣接するブロック及び履歴ベースのモーション・ベクトル予測子HMVPリストにしたがって、現在のブロックの候補リストを得ることであって、現在のブロックの候補リストは、2つの候補を含み、少なくとも1つの隣接するブロックは、IBCモードを使用して予測される、取得することと、
現在のブロックのMVPインデックス及び候補リストにしたがって、現在のブロックのモーション・ベクトルを得ることと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
一実装では、現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる。
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得るように構成されているMVPモジュール1101であって、現在のブロックは、ブロック内コピーIBCモードを使用して予測される、MVPモジュール1101と、
現在のブロックのMVP候補の最大数の値が1より大きい場合に、MVPインデックスの値をゼロに設定するように構成されている設定モジュール1102と、
MVPインデックス及び候補リストにしたがって現在のブロックのモーション・ベクトルを得るように構成されているモーション・ベクトル・モジュール1103と、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得るように構成されている予測モジュール1104と、を含む。
本発明の第1の態様による方法は、本発明の第2の態様によるデバイスによって実行され得る。
上記方法のさらなる特徴及び実装形式は、本発明の第2の態様による装置の特徴及び実装形式に対応する。
一実施形態では、上記の実施形態及び実装のいずれかに1つよる方法を実行するためのプログラムコードを含むコンピュータ・プログラム製品が開示される。
一実施形態では、復号器であって、
1つ以上のプロセッサと、
プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ可読記憶媒体であって、プログラミングは、プロセッサによって実行される場合に、上記の実施形態及び実装のいずれか1つによる方法を実施するように復号器を設定する、非一時的なコンピュータ可読記憶媒体と、を含む、復号器が開示される。
一実施形態では、画像復号デバイスによって復号される符号化されたビットストリームを含む非一時的な記憶媒体であって、ビットストリームは、ビデオ信号又は画像信号のフレームを複数のブロックに分割することによって生成され、複数の構文要素を含み、複数の構文要素は、上記の実施形態及び実装のいずれか1つによるMVPインデックスmvp_l0_flagを含む、非一時的な記憶媒体が開示される。
1つ以上の実施形態の詳細は、添付の図面及び以下の説明に記載されている。
他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかであろう。
図2は、本出願の技術を実装するように構成されている例示的なビデオ符号化器20の概略ブロック図を示す。図2の例では、ビデオ符号化器20は、入力201(又は入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループ・フィルタ・ユニット220、復号ピクチャ・バッファ(DPB)230、モード選択ユニット260、エントロピー符号化ユニット270、出力272(又は出力インターフェース272)を含む。モード選択ユニット260は、インター予測ユニット244と、イントラ予測ユニット254と、パーティショニング・ユニット262とを含んでもよい。インター予測ユニット244は、モーション推定ユニットと、モーション補償ユニット(図示せず)とを含んでもよい。図2に示すビデオ符号化器20は、ハイブリッド・ビデオ符号化器またはハイブリッド・ビデオ・コーデックにしたがったビデオ符号化器とも呼ばれることがある。
符号化器20は、例えば入力201を介してピクチャ17(又はピクチャ・データ17)、例えばビデオ又はビデオ・シーケンスを形成する一連のピクチャを受信するように構成されてもよい。受信されたピクチャまたはピクチャ・データは、前処理されたピクチャ19(または前処理されたピクチャ・データ19)でもよい。簡単のために、以下の説明は、ピクチャ17を指す。また、ピクチャ17は、現在のピクチャまたは(特に、現在のピクチャを他のピクチャ、例えば、同じビデオ・シーケンス、すなわち、現在のピクチャも含むビデオ・シーケンスの前に符号化および/または復号されたピクチャから区別するためのビデオ・コーディングにおいて)符号化されるピクチャ呼ばれることがある。
残差計算ユニット204は、サンプル毎(画素毎)に、例えば、ピクチャ・ブロック203のサンプル値から予測ブロック265のサンプル値を減算することにより、ピクチャ・ブロック203及び予測ブロック265(予測ブロック265についてのさらなる詳細は後述する)に基づいて残差ブロック205(残差205とも呼ばれる)を計算して、サンプル・ドメインにおける残差ブロック205を得るように構成されてもよい。
変換処理ユニット206は、残差ブロック205のサンプル値に変換、例えば離散コサイン変換(DCT)または離散サイン変換(DST)を適用して、変換ドメインにおける変換係数207を得るように構成されてもよい。変換係数207は、変換残差係数とも呼ばれ、変換ドメインにおける残差ブロック205を表してもよい。
量子化ユニット208は、例えばスカラ量子化またはベクトル量子化を適用することによって、変換係数207を量子化して量子化係数209を得るように構成されてもよい。量子化係数209は、量子化変換係数209または量子化残差係数209とも呼ばれることがある。
逆量子化ユニット210は、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて、または同じ量子化ステップサイズを使用して、量子化ユニット208によって適用される量子化方式の逆を適用することによって、量子化ユニット208の逆量子化を量子化係数に適用して、量子化解除係数211を得るように構成される。また、量子化解除係数211は、量子化解除残差係数211と呼ばれ、典型的には、量子化による損失のために変換係数と同一ではないが、変換係数207に対応する。
逆変換処理ユニット212は、変換処理ユニット206によって適用された変換の逆変換、例えば逆離散余弦変換(DCT)、逆離散正弦変換、または他の逆変換を適用して、サンプル・ドメイン内の再構成された残差ブロック213(または対応する量子化解除係数213)を得るように構成されている。再構成された残差ブロック213は、変換ブロック213とも呼ばれる。
再構成ユニット214(例えば、加算器または合計器214)は、変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック365に加算し、例えば、再構成された残差ブロック213のサンプル値および予測ブロック265のサンプル値をサンプル毎に加算することによって、サンプル・ドメイン内の再構成されたブロック215を得るように構成されている。
ループ・フィルタ・ユニット220(または略して「ループ・フィルタ」220)は、再構成されたブロック215をフィルタリングしてフィルタリングされたブロック221を得るか、または一般に、再構成されたサンプルをフィルタリングしてフィルタリングされたサンプルを得るように構成されている。ループ・フィルタ・ユニットは、例えば、画素遷移を平滑化するように、または、そうでなければ、ビデオ品質を改善するように構成されている。ループ・フィルタ・ユニット220は、ブロッキング解除フィルタ、サンプル・アダプティブ・オフセット(SAO)フィルタ、若しくは1つ以上の他のフィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ(ALF)、鮮鋭化フィルタ、平滑化フィルタ、若しくは共同フィルタ、またはそれらの任意の組み合わせなどの1つ以上のループ・フィルタを含んでもよい。ループ・フィルタ・ユニット220は、図2ではループ内フィルタとして示されているが、他の構成では、ループ・フィルタ・ユニット220は、ポスト・ループ・フィルタとして実装されてもよい。フィルタリングされたブロック221はまた、フィルタリングされた再構成されたブロック221と呼ばれることがある。
復号ピクチャ・バッファ(DRB)230は、ビデオ符号化器20によってビデオ・データを符号化するために、参照ピクチャまたは一般に、参照ピクチャ・データを記憶するメモリであってもよい。DPB230は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、または他のタイプのメモリ・デバイスを含む、ダイナミック・ランダム・アクセス・メモリなどの種々のメモリ・デバイスのいずれかによって形成されてもよい。復号ピクチャ・バッファ230は、1つ以上のフィルタリングされたブロック221を記憶するように構成されてもよい。復号ピクチャ・バッファ230は、同じ現在のピクチャまたは異なるピクチャ、例えば以前に再構成されたピクチャの、他の以前にフィルタリングされたブロック、例えば以前に再構成され、フィルタリングされたブロック221を記憶するようにさらに構成されてもよく、例えば、インター予測のために、完全に以前に再構成された、すなわち復号されたピクチャ(並びに対応する参照ブロックおよびサンプル))および/または部分的に再構成された現在のピクチャ(並びに対応する参照ブロックおよびサンプル)を提供してもよい。復号ピクチャ・バッファ(DRB)230はまた、例えば、再構成されたブロック215がループ・フィルタ・ユニット220によってフィルタリングされたものではないか、又は再構成されたブロック又はサンプルの任意の他のさらなる処理バージョンではない場合、1つ以上のフィルタリングされていない構成されたブロック215、又は一般に、フィルタリングされていない再構成されたサンプルを記憶するように構成されてもよい。
モード選択ユニット260は、パーティショニング・ユニット262と、インター予測ユニット244と、イントラ予測ユニット254を含み、元のピクチャ・データ、例えば元のブロック203(現在のピクチャ17の現在のブロック203)と、再構成されたピクチャ・データ、例えば、フィルタリングされた、またはフィルタリングされていない、同じ(現在の)ピクチャ、および/または、1つまたは複数の以前に復号されたピクチャ、例えば、復号ピクチャ・バッファ230または他のバッファ(例えば、ラインバッファ、図示せず)からの再構成されたサンプルまたはブロックと、を受信し得るように構成されている。再構成されたピクチャ・データは、予測、例えば、インター予測またはイントラ予測のための参照ピクチャ・データとして使用されて、予測ブロック265または予測子265を得る。
パーティショニング・ユニット262は、現在のブロック203を、例えば正方形または長方形のサイズのより小さいブロックのような、より小さなパーティションにパーティショニング(または分裂)することができる。これらのより小さなブロック(サブブロックとも呼ばれる)は、さらに小さなパーティションにパーティショニングされてもよい。これは、ツリー・パーティショニングまたは階層ツリー・パーティショニングとも呼ばれ、ルート・ブロック、例えば、ルート・ツリー・レベル0(階層レベル0、深度0)では、再帰的にパーティショニングされてもよく、例えば、ツリー・レベル1(階層レベル1、深度1)でのノードのような次の下位ツリー・レベルの2つ以上のブロックにパーティショニングされてもよく、これらのブロックは、例えば、最大ツリー深度または最小ブロックサイズに達するなど、例えば、終了基準が満たされるために、パーティショニングが終了するまで、例えば、ツリー・レベル2(階層レベル2、深度2)のような次の下位レベルの2つ以上のブロックに再度パーティショニングされてもよい。それ以上パーティショニングされないブロックは、ツリーのリーフ・ブロックまたはリーフ・ノードとも呼ばれる。2つのパーティションへのパーティショニングを使用するツリーはバイナリ・ツリー(BT)、3つのパーティションへのパーティショニングを使用するツリーはターナリー・ツリー(TT)、4つのパーティションへのパーティショニングを使用するツリーはクワッド・ツリー(QT)と呼ばれる。前述のように、本明細書で使用される場合、用語「ブロック」は、ピクチャの一部分、特に正方形または長方形の部分であってもよい。例えば、HEVCおよびVVCを参照すると、ブロックは、コーディング・ツリー・ユニット(CTU)、コーディング・ユニット(CU)、予測ユニット(PU)、および変換ユニットに対応してもよく、および/または対応するブロック、例えば、コーディング・ツリー・ブロック(CTB)、コーディング・ブロック(CB)、変換ブロック(TB)、または予測ブロック(PB)に対応してもよい。例えば、コーディング・ツリー・ユニット(CTU)は、ルマ・サンプルのCTB、3つのサンプル・アレイを有するピクチャのクロマ・サンプルの2つの対応するCTB、またはモノクロ・ピクチャ若しくはサンプルをコーディングするために使用される3つの別々の色プレーンおよび構文構造を使用してコーディングされるピクチャのサンプルのCTBであってもよく、または、これらを含んでもよい。これに対応して、コーディング・ツリー・ブロック(CTB)は、あるコンポーネントのCTBへの分割がパーティショニングであるように、ある値のNのサンプルのNxNブロックであってもよい。コーディング・ユニット(CU)は、ルマ・サンプルのCTB、3つのサンプル・アレイを有するピクチャのクロマ・サンプルの2つの対応するコーディング・ブロック、またはモノクロ・ピクチャ若しくはサンプルをコーディングするために使用される3つの別々の色プレーンおよび構文構造を使用してコーディングされるピクチャのサンプルのコーディング・ブロックであってもよく、または、これらを含んでもよい。これに対応して、コーディング・ブロック(CB)は、あるCTBのコーディング・ブロックへの分割がパーティショニングであるように、ある値のMおよびNのサンプル値のサンプルのNxNブロックであってもよい。
イントラ予測モードのセットは、35の異なるイントラ予測モード、例えば、DC(又は平均)モード及び平面モードのような非方向モード、又は、例えば、HEVCで定義されているような方向モードを含むことができ、又は、67の異なるイントラ予測モード、例えば、DC(又は平均)モード及び平面モードのような非方向モード、又は、例えば、VVCに対して定義されているような方向モードを含むことができる。
インター予測のセット(または可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、例えば、DBP230に記憶された少なくとも部分的に復号されたピクチャ)および他のインター予測パラメータ、例えば、参照ピクチャの全体または参照ピクチャの一部のみ、例えば、現在のブロックのエリアの周囲のサーチ・ウィンドウ・エリアが、最良一致の参照ブロックをサーチするために使用されるかどうか、および/または、例えば、画素補間、例えば、半分/セミペルおよび/またはクォータ・ペル補間が適用されるかどうかに依存する。
エントロピー符号化ユニット270は、例えば、エントロピー符号化アルゴリズムまたは方式(例えば、可変長符号化(VLC)方式、コンテキスト適応VLC方式(CAVLC)、算術コーディング方式、バイナリ化、コンテキスト適応バイナリ算術コーディング(CABAC)、構文ベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔パーティショニング・エントロピー(PIPE)コーディング、若しくは別のエントロピー・コーディング方法論または技法)またはバイパス(非圧縮)を、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータおよび/または他の構文要素に適用して、例えば、符号化ビットストリーム21の形式で出力272を介して出力され得る符号化されたピクチャ・データ21を取得して、これにより、例えば、ビデオ復号器30は、復号のためのパラメータを受信および使用することができる。符号化されたビットストリーム21は、ビデオ復号器30に送信されてもよいし、後の伝送又はビデオ復号器30による検索のためにメモリに記憶されてもよい。ビデオ符号化器20の他の構造的変形が、ビデオ・ストリームを符号化するために使用することができる。例えば、非変換ベースの符号化器20は、特定のブロックまたはフレームに対して変換処理ユニット206なしで残差信号を直接量子化することができる。別の実装では、符号化器20は、単一ユニットに組み合わされた量子化ユニット208および逆量子化ユニット210を有することができる。
図3は、本出願の技術を実装するように構成されたビデオ復号器30の例を示す。ビデオ復号器30は、例えば、符号化器20によって符号化されたピクチャ・データ21(例えば、符号化されたビットストリーム21)を受信して、復号されたピクチャ331を取得するように構成されている。符号化されたピクチャ・データまたはビットストリームは、符号化されたピクチャ・データを復号するための情報、例えば、符号化されたビデオ・スライスのピクチャ・ブロック(および/またはタイル・グループまたはタイル)および関連する構文要素を表すデータを含む。
エントロピー復号ユニット304は、ビットストリーム21(又は一般には、符号化されたピクチャ・データ21)を解析し、例えば、符号化されたピクチャ・データ21へのエントロピー復号を実行して、例えば、量子化係数309及び/又は復号されたコーディング・パラメータ(図3には示さず)、例えば、インター予測パラメータ(例えば、参照ピクチャ・インデックス及びモーション・ベクトル)、イントラ予測パラメータ(例えば、イントラ予測モード又はインデックス)、変換パラメータ、量子化パラメータ、ループ・フィルタ・パラメータ、及び/又は他の構文要素のいずれか又は全てを取得するように構成されている。エントロピー復号ユニット304は、符号化器20のエントロピー符号化ユニット270に関して説明したように、符号化方式に対応する復号アルゴリズムまたは方式を適用するように構成されてもよい。エントロピー復号ユニット304は、インター予測パラメータ、イントラ予測パラメータおよび/または他の構文要素をモード適用ユニット360に提供し、他のパラメータを復号器30の他のユニットに提供するようにさらに構成されてもよい。ビデオ復号器30は、ビデオ・スライス・レベルおよび/またはビデオ・ブロックレベルで構文要素を受信することができる。スライスおよびそれぞれの構文要素に追加して、またはそれらの代替として、タイル・グループおよび/またはタイルおよびそれぞれの構文要素が受信または使用されてもよい。
逆量子化ユニット310は、(例えば、エントロピー復号ユニット304による、例えば、解析および/または復号による)符号化されたピクチャ・データ21からの量子化パラメータ(QP)(または、一般には、逆量子化に関係する情報)および量子化係数を受信し、量子化パラメータに基づいて逆量子化を復号された量子化係数309に適用して、変換係数311とも呼ばれることがある量子化解除係数311を取得するように構成されてもよい。逆量子化プロセスは、量子化の程度、および同様に適用されるべき逆量子化の程度を判定するために、ビデオ・スライス(またはタイル若しくはタイル・グループ)におけるビデオ・ブロックごとにビデオ符号化器20によって判定された量子化パラメータを使用することを含んでもよい。
逆変換処理ユニット312は、変換係数311とも呼ばれる量子化解除係数311を受信し、サンプル・ドメインにおいて再構成された残差ブロック213を取得するために、量子化解除係数311に変換を適用するように構成されてもよい。再構成された残差ブロック213は、変換ブロック213とも呼ばれることがある。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または概念的に類似した逆変換プロセスであってもよい。逆変換処理ユニット312は、変換パラメータまたは対応する情報を符号化されたピクチャ・データ21から受信して(例えば、エントロピー復号ユニット304による、例えば、解析および/または復号によって)、量子化解除係数311に適用される変換を判定するようにさらに構成されてもよい。
再構成ユニット314(例えば、加算器または合計器314)は、再構成された残差ブロック313を予測ブロック365に加算し、例えば、再構成された残差ブロック313のサンプル値および予測ブロック365のサンプル値を追加することによって、サンプル・ドメインにおける再構成されたブロック315を取得するように構成されてもよい。
ループ・フィルタ・ユニット320(コーディング・ループ内またはコーディング・ループ後のいずれか)は、再構成されたブロック315をフィルタリングして、フィルタリングされたブロック321を取得して、例えば、画素遷移を平滑化するか、または、そうでなければ、ビデオ品質を改善するように構成されている。ループ・フィルタ・ユニット320は、ブロッキング解除フィルタ、サンプル・アダプティブ・オフセット(SAO)フィルタ、若しくは1つ以上の他のフィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ(ALF)、鮮鋭化フィルタ、平滑化フィルタ、若しくは共同フィルタ、またはそれらの任意の組み合わせなどの1つ以上のループ・フィルタを含んでもよい。ループ・フィルタ・ユニット320は、図3ではループ内フィルタとして示されているが、他の構成では、ループ・フィルタ・ユニット320は、ポスト・ループ・フィルタとして実装されてもよい。
次いで、ピクチャの復号されたビデオ・ブロック321は、復号ピクチャ・バッファ330に記憶され、復号ピクチャ・バッファ330は、他のピクチャおよび/またはそれぞれ出力表示するためのその後のモーション補償のための参照ピクチャとして記憶される。復号器30は、ユーザへの提示または視認のために、例えば出力312を介して復号されたピクチャ311を出力するように構成されている。
インター予測ユニット344は、インター予測ユニット244(特に、モーション補償ユニット)と同一であってもよく、イントラ予測ユニット354は、機能において、インター予測ユニット254と同一であってもよく、(例えば、エントロピー復号ユニット304による、例えば、解析および/または復号による)復号されたピクチャ・データ21から受信されたパーティショニングおよび/または予測パラメータまたはそれぞれの情報に基づいて、分裂またはパーティショニング決定および予測を実行する。モード適用ユニット360は、再構成されたピクチャ、ブロックまたはそれぞれのサンプル(フィルタリングされたまたはフィルタリングされていない)に基づいてブロックごとに予測(イントラ予測またはインター予測)を実行して、予測ブロック365を取得するように構成されてもよい。
ここでは、bitDepthにしたがってモーション・ベクトルを制約するための2つの方法を提供する。
コンピュータ・システムでは、10進数は2の補数として記憶される。
-32769の2の補数は1,0111,1111,1111(17ビット)であり、MSBが破棄されるため、結果として得られる2つの補数は0111,1111,1111,1111(10進数は32767)となり、これは、式(1)と(2)を適用した出力と同じである。
代替的には、プロセッサ502は、現在存在する、または今後開発される情報を操作または処理することが可能な、任意の他のタイプのデバイスまたは複数のデバイスとすることができる。開示された実装は、示すように単一のプロセッサ、例えば、プロセッサ502を用いて実施することができるが、複数のプロセッサを使用して、速度および効率における利点を達成することができる。
・5つの空間的隣接ブロックから導出される最大2つの空間的候補MVP
・両方の空間的候補MVPが利用できないか、またはそれらが同一である場合に、2つの時間的な共位置ブロックから導出される1つの時間的候補MVP
・空間的、時間的、または両方の候補が利用できない場合のゼロ・モーション・ベクトル。
この設計は、B0、B1、およびB2から独立してA0およびA1を処理することを可能にする。
Bの導出は、B0からB2から導出されるスケーリングされた、または追加のスケーリングされていないMVをサーチするために、A0とA1の両方の可用性にのみ認識すべきである。
この依存性は、これが候補Bのための複雑なモーション・ベクトル・スケーリング演算を減少させることを考慮すると許容可能である。モーション・ベクトル・スケーリングの数を減少させることは、モーション・ベクトル予測子導出プロセスにおける顕著な複雑性の減少を表す。
図6から、現在のブロックの左上の空間的隣接ブロックのモーション・ベクトルのみが空間的MVP候補として考慮されることが分かる。これは、現在のブロックの右下のブロックがまだ復号されておらず、したがって、それらのモーション・データが利用できないという事実によって説明することができる。共位置のピクチャはすでに復号されている参照ピクチャであるため、同じ位置のブロックから、共位置のブロック右のブロックから、または下のブロックからのモーション・データを考慮することもできる。HEVCでは、現在のブロックの右下と中心のブロックが、良好な時間的モーション・ベクトル予測子(TMVP)を提供するのに最も好適であると判定された。これらの候補が図6に示されており、ここで、C0は右下の隣接を表し、C1は中央ブロックを表す。C0のモーション・データが先に考慮され、C0の動きデータが利用可能ではない場合、中央の共位置の候補ブロックのモーション・データを用いて時間的MVP候補Cを導出する。C0のモーション・データは、関連するPUが現在のCTU行を越えてCTUに属する場合には利用できないとみなされる。これにより、共位置にあるモーション・データを記憶するためのメモリ帯域幅要件が最小限に抑えられる。空間的MVP候補とは対照的に、モーション・ベクトルは同じ参照ピクチャを参照することができるが、モーション・ベクトル・スケーリングはTMVPには必須である。
冗長性チェック演算の回数を減らすために、以下の簡略化を導入した。
マージ・リスト生成に使用するHMVP候補の数が(N<=4)に設定されているか?M:(8-N)、ここで、Nは、マージ・リスト内の既存候補の数を示し、Mは、テーブル内の利用可能なHMVP候補の数を示す。使用可能なマージ候補の総数が最大許容マージ候補から1を引いた値に達する場合に、HMVPからのマージ候補リスト構成プロセスが終了する。
IBCスキップ/マージモード:マージ候補インデックスは、リスト内のブロック・ベクトルのうち、隣接する候補IBCコーディングされたブロックのどれが現在のブロックを予測するために使用されるかを示すために使用される。
IBC AMVPモード:ブロック・ベクトル差は、モーション・ベクトル差と同様にコーディングされる。
ブロック・ベクトル予測法は、予測子として2つの候補を使用する。
ブロック・ベクトル予測子インデックスを示すためにフラグがシグナリングされる。
IBCはIBCマージ/スキップ・モードおよびIBC AMVPモードを導入したため、追加のIBCマージ・リストおよびAMVPリストを構成する必要がある。
VVC Draft 5.0では、マージモードとAMVPモードのBV予測子は、共通の予測子リストを共有しており、以下の要素を含む。
・ 2つの空間的隣接位置(A1、B1)
・ 5つのHMVPエントリ
・ デフォルトでゼロベクトル
マージモードでは、このリストの最大6つのエントリが使用され、AMVPモードでは、このリストの最初の2エントリが使用される。また、このリストは、共有マージ・リスト領域要件(SMR内で同じリストを共有)に準拠する。
上記のBV予測子候補リストに加えて、HMVP候補と既存のマージ候補(A1,B1)との間のプルーニング演算を単純化するために、別の方法が使用される。
簡略化では、最大2回のプルーニング演算が存在する。
・ 最後のHMVP候補HkとA1の間のプルーニング
・ 最後のHMVP候補HkとB1の間のプルーニング
プルーニング処理は、2つのIBCマージ候補が同じであるかどうかを比較することを意味する。より具体的には、プルーニング処理は、2つのIBCマージ候補間のブロック・ベクトルが同じであるかどうかを比較する。
[外2]
MaxNumMergeCandは、以下のように導出される。
six_minus_max_num_merge_candは、スライスでサポートされるマージング・モーション・ベクトル予測(MVP)候補の最大数を6から差し引いた値を指定する。マージングMVP候補の最大数MaxNumMergeCandは、以下のように導出される。
MaxNumMergeCand=6-six_minus_num_merge_cand
six_minus_max_num_ibc_merge_candの値は、1~6の範囲とする。
six_minus_max_num_merge_candは、SPSでサポートされるマージング・モーション・ベクトル予測(MVP)候補の最大数を6から差し引いた値を指定する。six_minus_max_num_ibc_merge_candの値は、0~5の範囲とする。
マージングMVP候補の最大数MaxNumMergeCandは、以下のように導出される。
MaxNumMergeCand=6-six_minus_num_merge_cand
いくつかの実施形態では、IBCモードの場合、この構文はMaxNumIbcMergeCandとしても名付けられ得る。この場合、MaxNumMergeCandは、インタープロセスのために使用されてもよい。
sps_ibc_enabled_flagが1に等しい場合に、six_minus_max_num_ibc_merge_candは、SPSでサポートされているIBCマージング・ブロック・ベクトル予測(BVP)候補の最大数を6から差し引いた値を指定する。six_minus_max_num_ibc_merge_candの値は、0~5の範囲とする。
IBCマージングBVP候補の最大数MaxNumIbcMergeCandは、以下のように導出される。
if(sps_ibc_enabled_flag)
MaxNumIbcMergeCand=6-6_minus_max_num_ibc_merge_cand
else
MaxNumIbcMergeCand=0
1に等しいsps_ibc_enabled_flagは、IBC予測モードがコーディングされたレイヤ・ビデオ・シーケンスCLVSにおけるピクチャの復号に使用されてもよいことを指定する。0に等しいsps_ibc_enabled_flagは、IBC予測モードがCLVSに使用されないことを指定する。sps_ibc_enabled_flagが存在しない場合に、それは0に等しいと推定される。
general_merge_flagは、以下のように定義される。
general_merge_flag[x0][y0]は、現在のコーディング・ユニットのフレーム間予測パラメータが隣接するフレーム間予測パーティションから推測されるかどうかを指定する。アレイ・インデックスx0、y0は、ピクチャの左上のルマ・サンプルに対する、考慮されるコーディング・ブロックの左上のルマ・サンプルの位置(x0,y0)を指定する。
general_merge_flag[x0][y0]が存在しない場合に、それは0に等しいと推定される。
- cu_skip_flag[x0][y0]が1に等しい場合、general_merge_flag[x0][y0]は、1に等しいと推定される。
- そうでなければ、general_merge_flag[x0][y0]は、0に等しいと推定される。
1に等しいcu_skip_flag[x0][y0]は、現在のコーディング・ユニットに対して、PまたはBスライスを復号する場合に、IBCモードフラグpred_mode_ibc_flag[x0][y0]およびmerge_data()構文構造のうちの1つ以上のものを除いて、cu_skip_flag[x0][y0]の後に構文要素が解析されないことを指定し、Iスライスを復号する場合に、merge_idx[x0][y0]を除いて、cu_skip_flag[x0][y0]の後に構文要素が解析されないことを指定する。0に等しいcu_skip_flag[x0][y0]は、コーディング・ユニットがスキップされないことを指定する。アレイ・インデックスx0、y0は、ピクチャの左上のルマ・サンプルに対する、考慮されるコーディング・ブロックの左上のルマ・サンプルの位置(x0,y0)を指定する。
cu_skip_flag[x0][y0]が存在しない場合に、それは0に等しいと推定される。
mvp_l0_flagは以下のように定義される。
mvp_l0_flag[x0][y0]は、リスト0のモーション・ベクトル予測器インデックスを指定し、x0、y0は、ピクチャの左上のサンプルに対する考慮されるコーディング・ブロックの左上のルマ・サンプルの位置(x0,y0)を指定する。
mvp_l0_flag[x0][y0]が存在しない場合に、それは0に等しいと推定される。
MaxNumMergeCandまたはMaxNumIbcMergeCandが1に等しくセットされる場合に、構成されたマージ候補リストの長さは、利用可能な空間的モーション・ベクトル候補の数に依存して、1または2に等しくてもよい。復号されたIBCブロックのmvp_l0_flagが1に等しい場合、IBCブロックのモーション・ベクトルは定義されないことがある。この問題を解決するために,以下の解決策が導入される。
テーブル2は、様々なステータスのavailableFlagA1およびavailableFlagB1を有する候補リスト内のモーション・ベクトルを示す。
MaxNumMergeCandまたはMaxNumIbcMergeCandの値が1にセットされる場合に、復号器側はビットストリームからmvp_l0_flagの値を解析する必要はなく、mvp_l0_flagの値は0と推定される。
一例では、修正された構文テーブルを以下のように示す。
別の例では、
コーディング・ユニット構文:
この実施形態では、
IBC予測モードでコーディングされたコーディング・ユニットの一般的な復号処理
このプロセスへの入力は、
- 現在のピクチャの左上のルマ・サンプルに対する現在のルマ・コーディング・ブロックの左上のサンプルを指定するルマ位置(xCb,yCb)、
- ルマ・サンプルにおける現在のコーディング・ブロックの幅を指定する変数cbWidth、
- ルマ・サンプルにおける現在のコーディング・ブロックの高さを指定する変数cbHeight、
― 単一ツリーを使用するか、デュアルツリーを使用するかを指定する変数treeTypeであって、デュアルツリーが使用される場合、それは、現在のツリーが、ルマ・コンポーネントに対応するか、クロマ・コンポーネントに対応するかを指定する。
このプロセスの出力は、ループ内フィルタリング前の修正された再構成されたピクチャである。
量子化パラメータの導出プロセスは、ルマ位置(xCb,yCb)、ルマ・サンプルにおける現在のコーディング・ブロックの幅cbWidth、ルマ・サンプルにおける現在のコーディング・ブロックの高さcbHeight、およびの変数treeTypeを入力として呼び出される。
変数IsGt4by4は、以下のように導出される。
IsGt4by4=(cbWidth*cbHeight)>16
IBC予測モードでコーディングされたコーディング・ユニットの復号プロセスは、以下の順序のステップを含む。
1. 現在のコーディング・ユニットのブロック・ベクトル・コンポーネントは、以下のように導出される。
- ブロック・ベクトル・コンポーネントの導出プロセスは、ルマ・コーディング・ブロック位置(xCb,yCb)、ルマ・コーディング・ブロック幅cbWidth、ルマ・コーディング・ブロック高さcbHeight、およびルマ・ブロック・ベクトルbvLを出力として呼び出される。
- treeTypeがSINGLE_TREEに等しい場合に、クロマ・ブロック・ベクトルの派生プロセスは、ルマ・ブロック・ベクトルbvLを入力とし、クロマ・ブロック・ベクトルbvCを出力として呼び出される。
2. 現在のコーディング・ユニットの予測サンプルは、以下のように導出される。
- IBCブロックの復号プロセスは、ルマ・コーディング・ブロック位置(xCb,yCb)、ルマ・コーディング・ブロック幅cbWidth、ルマ・コーディング・ブロック高さcbHeight、ルマ・ブロック・ベクトルbvL、0に等しくセットされた変数cIdxを入力とし、予測ルマ・サンプルの(cbWidth)x(cbHeight)アレイpredSamplesLであるIBC予測サンプル(predSamples)を出力として呼び出される。
- treeTypeがSINGLE_TREEに等しい場合に、現在のコーディング・ユニットの予測サンプルは、以下のように導出される。
- IBCブロックの復号プロセスは、ルマ・コーディング・ブロック位置(xCb,yCb)、ルマ・コーディング・ブロック幅cbWidth、ルマ・コーディング・ブロック高さcbHeight、クロマ・ブロック・ベクトルbvC、および1に等しくセットされた変数cIdxを入力とし、クロマ・コンポーネントCbのための予測クロマ・サンプルの(cbWidth/SubWidthC)x(cbHeight/SubHeightC)アレイpredSamplesCbであるIBC予測サンプル(predSamples)を出力として呼び出される。
- IBCブロックの復号プロセスは、ルマ・コーディング・ブロック位置(xCb,yCb)、ルマ・コーディング・ブロック幅cbWidth、ルマ・コーディング・ブロック高さcbHeight、クロマ・ブロック・ベクトルbvC、および2に等しくセットされた変数cIdxを入力とし、クロマ・コンポーネントCrのための予測クロマ・サンプルの(cbWidth/SubWidthC)x(cbHeight/SubHeightC)アレイpredSamplesCrであるIBC予測サンプル(predSamples)を出力として呼び出される。
3. 現在のコーディング・ユニットの残差サンプルは、以下のように導出される。
- インター予測モードでコーディングされたコーディング・ブロックの残差信号の復号プロセスは、ルマ位置(xCb,yCb)に等しくセットされた位置(xTb0,yTb0)、ルマ・コーディング・ブロック幅cbWidthに等しくセットされた幅nTbW、ルマ・コーディング・ブロック高さcbHeightに等しくセットされた高さnTbH、および0に等しくセットされた変数cIdxを入力とし、アレイresSamplesLを出力として呼び出される。
- treeTypeがSINGLE_TREEに等しい場合に、インター予測モードでコーディングされたコーディング・ブロックの残差信号の復号プロセスは、クロマ位置(xCb/SubWidthC,yCb/SubHeightC)に等しくセットされた位置(xTb0,yTb0)、クロマ・コーディング・ブロック幅cbWidth/SubWidthCに等しくセットされた幅nTbW、クロマ・コーディング・ブロック高さcbHeight/SubHeightCに等しくセットされた高さnTbH、および1に等しくセットされた変数cIdxを入力とし、アレイresSamplesCbを出力として呼び出される。
- treeTypeがSINGLE_TREEに等しい場合に、インター予測モードでコーディングされたコーディング・ブロックの残差信号の復号プロセスは、クロマ位置(xCb/SubWidthC,yCb/SubHeightC)に等しくセットされた位置(xTb0,yTb0)、クロマ・コーディング・ブロック幅cbWidth/SubWidthCに等しくセットされた幅nTbW、クロマ・コーディング・ブロック高さcbHeight/SubHeightCに等しくセットされた高さnTbH、および2に等しくセットされた変数cIdxを入力とし、アレイresSamplesCrを出力として呼び出される。
4. 現在のコーディング・ユニットの再構成されたサンプルは、以下のように導出される。
- 色コンポーネントのピクチャ再構成プロセスは、(xCb,yCb)に等しくセットされたブロック位置(xCurr,yCurr)、cbWidthに等しくセットされたブロック幅nCurrSw、cbHeightに等しくセットされたブロック高さnCurrSh、0に等しくセットされた変数cIdx、predSamplesLに等しくセットされた(cbWidth)x(cbHeight)アレイpredSamples、およびresSamplesLに等しくセットされた(cbWidth)x(cbHeight)アレイresSamplesを入力として呼び出され、出力はループ内フィルタリング前の修正された再構成された画像である。
- treeTypeがSNGLE_TREEに等しい場合に、色コンポーネントのピクチャ再構成プロセスは、xCb/SubWidthC,yCb/SubHeightC)に等しくセットされたブロック位置(xCurr,yCurr)、cbWidth/SubWidthCに等しくセットされたブロック幅nCurrSw、cbHeight/SubHeightCに等しくセットされたブロック高さnCurrSh、1に等しくセットされた変数cIdx、predSamplesCbに等しくセットされた(cbWidth/SubWidthC)x(cbHeight/SubHeightC)アレイpredSamples、およびresSamplesCbに等しくセットされた(cbWidth/SubWidthC)x(cbHeight/SubHeightC)アレイresSamplesを入力として呼び出され、出力はループ内フィルタリング前の修正された再構成されたピクチャである。
- treeTypeがSNGLE_TREEに等しい場合に、色コンポーネントのピクチャ再構成プロセスは、xCb/SubWidthC,yCb/SubHeightC)に等しくセットされたブロック位置(xCurr,yCurr)、cbWidth/SubWidthCに等しくセットされたブロック幅nCurrSw、cbHeight/SubHeightCに等しくセットされたブロック高さnCurrSh、2に等しくセットされた変数cIdx、predSamplesCrに等しくセットされた(cbWidth/SubWidthC)x(cbHeight/SubHeightC)アレイpredSamples、およびresSamplesCrに等しくセットされた(cbWidth/SubWidthC)x(cbHeight/SubHeightC)アレイresSamplesを入力として呼び出され、出力はループ内フィルタリング前の修正された再構成されたピクチャである。
[外3]
MaxNumMergeCandまたはMaxNumIbcMergeCandの値が1にセットされる場合に、モーション・ベクトル候補リスト内の第2の候補がデフォルト値、例えばゼロ・モーション・ベクトルに等しくセットされる。
[外4]
モーション・ベクトル候補リストがIBC AMVPモードに対して少なくとも2つのエントリを有することを保証する。
この解決策では、モーション・ベクトル候補リストは、general_merge_flagに依存して構成される。general_merge_flagがtrue(例えば、general_merge_flagの値が1)である場合に、変数maxNumListCandが、MaxNumMergeCandまたはMaxNumIbcMergeCandに等しくセットされ、general_merge_flagがfalse(例えば、general_merge_flagの値が0)である場合に、、maxNumListCandまたはMaxNumIbcMergeCandが、2に等しくセットされる。次いで、モーション・ベクトル候補リストの構成では、リスト内の候補の数がmaxNumListCandに等しくなるまで、HMVP候補およびゼロ候補がリストに追加される。
[外5]
モーション・ベクトル候補リストがIBC AMVPモードに対して少なくとも2つのエントリを有することを保証する。
この解決策では、少なくとも2つのエントリを有するモーション・ベクトル候補リストが構成される。
モーション・ベクトル候補リスト構成では、リスト内の候補の数がMaxNumMergeCandまたはMaxNumIbcMergeCandと2の間の最大数に等しくなるまで、HMVP候補およびゼロ候補がリストに追加される。
[外6]
モーション・ベクトル候補リストがIBC AMVPモードに対して少なくとも2つのエントリを有することを保証する。
この解決策では、モーション・ベクトル候補リスト構成がMaxNumMergeCandまたはMaxNumIbcMergeCandでデカップルされ、6つのエントリを有する動きベクトル候補リストが常に構成される。リスト内の候補の数が6になるまで、HMVP候補およびゼロ候補がリストに追加される。
[外7]
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBC MVPモードを使用して予測される、ことと、
現在のブロックのMVP候補の最大数の値が1より大きい場合に、MVPインデックスの値をゼロに設定することと、
MVPインデックス及び候補リストにしたがって現在のブロックのモーション・ベクトルを得ることと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
例2. 現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、例1に記載の方法。
例3. 候補リストは、現在のブロックに隣接する少なくとも1つの隣接ブロック、及び履歴ベースのモーション・ベクトル予測子HMVPリストに基づいて得られ、少なくとも1つの隣接ブロックは、IBCモードを使用して予測される、請求項1又は2に記載の方法。
例4. 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBC MVPモードを使用して予測される、ことと、
現在のブロックのMVPインデックスの値が1で、現在のブロックのMVP候補の最大数の値が1に等しい場合に、現在のブロックのモーション・ベクトルをデフォルト値に設定することと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
例5. 現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、例4に記載の方法。
例6. デフォルト値は、ゼロである、例4又は5に記載の方法。
例7. 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBC MVPモードを使用して予測される、ことと、
現在のブロックのMVP候補の最大数の値が1に等しい場合に、現在のブロックに隣接する少なくとも1つの隣接するブロック及び履歴ベースのモーション・ベクトル予測子HMVPリストにしたがって、現在のブロックの候補リストを得ることであって、現在のブロックの候補リストは、2つの候補を含み、少なくとも1つの隣接するブロックは、IBCモードを使用して予測される、取得することと、
現在のブロックのMVPインデックス及び候補リストにしたがって、現在のブロックのモーション・ベクトルを得ることと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
例8. 現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、例7に記載の方法。
例9. 例1~8のいずれか1つに記載の方法を実施するための処理回路を含む、復号器(30)。
例10. 例1~8のいずれか1つに記載の方法を実施するためのプログラムコードを含むコンピュータ・プログラム製品。
例11. 1つ以上のプロセッサと、
プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ可読記憶媒体であって、プログラミングは、プロセッサによって実行される場合に、請求項1~8のいずれか一項に記載の方法を実施するように復号器を設定する、非一時的なコンピュータ可読記憶媒体と、を含む、復号器。
この出願で使用される数学演算子は、Cプログラミング言語で使用されるものに類似する。しかし、整数除算演算と算術シフト演算の結果は、より正確に定義され、べき乗や実数値除算などの追加演算が定義される。番号付けとカウントの規則は一般に0から開始する。例えば、「第1」は、0番に等価であり、「第2」は、1番に等価であるなどである。
次の算術演算子は、次のように定義される。
+ 加算
- 減算(2引数演算子として)又は否定(単項接頭演算子として)
* 行列乗算を含む乗算
xy べき乗。xの指数yのべき乗を指定する。他の文脈では、そのような表記は、べき乗として解釈することを意図しない上付き文字として使用される。
/ 結果がゼロに向かって切り捨てられる整数除算。たとえば、7/4と-7/-4は1に切り捨てられ、-7/4と7/-4は-1に切り捨てられる。
÷ 切り捨てや丸めが意図されていない数式の除算を示すために使用される。
次の論理演算子は、次のように定義される。
x&&y xとyのブール論理「and」
x||y xとyのブール論理「or」
! ブール論理「否定」
x?y:z xがTRUE又は0でない場合、yの値、そうでない場合はzの値で評価される。
次の関係演算子は、次のように定義される。
> より大きい
>= 以上
< より小さい
<= 以下
== 等しい
!= 等しくない
値「na」 (適用不可)が割り当てられた構文要素又は変数に関係演算子が適用される場合に、値「na」はその構文要素又は変数の重複しない値として扱われる。値「na」は他の値と等しくないとみなされる。
次のビット単位演算子は、次のように定義される。
& ビット単位の「and」である。整数引数について操作する場合に、整数値の2の補数表現について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合に、より短い引数は、0に等しいより大きなビットを加えることによって拡張される。
| ビット単位の「or」である。整数引数について操作する場合に、整数値の2の補数表現について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合に、より短い引数は、0に等しいより大きなビットを加えることによって拡張される。
^ ビット単位の「exclusive or」である。整数引数について操作する場合に、整数値の2の補数表現について操作する。別の引数よりも少ないビットを含むバイナリ引数について操作する場合に、より短い引数は、0に等しいより大きなビットを加えることによって拡張される。
x>>y xをyバイナリ・ディジットの2の補数整数表現の算術右シフトである。この関数は、yの負でない整数値に対してのみ定義される。右シフトの結果として最上位ビット(MSB)にシフトされたビットは、シフト演算の前にxのMSBに等しい値を持つ。
x<<y xをyバイナリ・ディジットの2の補数整数表現の算術左シフトである。この関数は、yの負でない整数値に対してのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされたビットは、0に等しい値を持つ。
次の代入演算子は、次のように定義される。
= 代入演算子
++ インクリメント、すなわちx++はx=x+1と等価であり、配列インデックスで使用される場合に、インクリメント演算の前に変数の値で評価される。
-- デクリメント、すなわちx++はx=x+1と等価であり、配列インデックスで使用される場合に、デクリメント演算の前に変数の値で評価される。
+= 指定された量だけインクリメントする、すなわちx+=3はx=x+3と等価であり、x+=(-3)はx=x+(-3)と等価である。
-= 指定された量だけデクリメントする、すなわちx-=3はx=x-3と等価であり、x-=(-3)はx=x-(-3)と等価である。
値の範囲を指定するには、次の表記が使用される。
x=y..z xは、yからzまでの整数値をとり、x、y及びzは、整数であり、zは、yより大きい。
次の数学関数が定義される。
-π÷2~π÷2(ラジアンの単位)の範囲の出力値である。
Atan(x) 正接の逆三角関数であって、引数xについて操作し、-π÷2~π÷2(ラジアンの単位)の範囲の出力値である。
式の優先順位が丸かっこを使用して明示的に示されない場合、次の規則が適用される。
- より高い優先度の演算は、より低い優先度の演算の前に評価される。
- 同じ優先度の演算は、左から右へ順次評価される。
以下の表は、最高から最低までの演算の優先度を指定しており、表中のより高い位置は、より高い優先度を示す。
Cプログラミング言語でも使用されるこれらの演算子については、本明細書で使用される優先順位は、Cプログラミング言語で使用される優先順位と同じである。
本テキストにおいて、次の形式で数学的に記載される論理演算の記述
本テキストにおいて、次の形式で数学的に記載される論理演算の記述
本発明の実施形態は、主にビデオ・コーディングに基づいて説明されてきたが、コーディング・システム10、符号化器20及び復号器30(並びに対応するシステム10)の実施形態と、本明細書に説明される他の実施形態もまた、静止ピクチャ処理又はコーディング、すなわち、ビデオ・コーディングにおけるように、任意の先行又は連続するピクチャから独立した個々のピクチャの処理又はコーディングのために構成されてもよいことに留意されたい。一般に、ピクチャ処理コーディングが単一のピクチャ17に限定される場合、フレーム間予測ユニット244(符号化器)及び344(復号器)のみが利用可能ではないことがある。ビデオ符号化器20及びビデオ復号器30の他の全ての機能(ツール又は技術とも呼ばれる)は、例えば、残留計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、パーティショニング262/362、フレーム内予測254/354、及び/又はループ・フィルタリング220、320、及びエントロピー符号化270及びエントロピー復号304は、静止ピクチャ処理のために等しく使用されてもよい。例えば、符号化器20及び復号器30の実施形態、並びに、例えば、符号化器20及び復号器30を参照して、本明細書で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装されてもよい。ソフトウェアで実装される場合、機能は、コンピュータ可読媒体に記憶されるか、又は1つ以上の命令又はコードとして通信媒体を介して送信され、ハードウェアベースの処理ユニットによって実行される。コンピュータ可読媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ可読記憶媒体、又は、例えば通信プロトコルにしたがって、ある場所から他の場所へのコンピュータ・プログラムの転送を容易にする任意の媒体を含む通信媒体を含んでもよい。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技術の実装のための命令、コード及び/又はデータ構造を検索するために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセス可能な任意の利用可能な媒体であり得る。コンピュータ・プログラム製品は、コンピュータ可読記憶媒体を含んでもよい。
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBC MVPモードを使用して予測される、ことと、
現在のブロックのMVP候補の最大数の値が1より大きい場合に、MVPインデックスの値をゼロに設定することと、
MVPインデックス及び候補リストにしたがって現在のブロックのモーション・ベクトルを得ることと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
例2. 現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、例1に記載の方法。
例3. 候補リストは、現在のブロックに隣接する少なくとも1つの隣接ブロック、及び履歴ベースのモーション・ベクトル予測子HMVPリストに基づいて得られ、少なくとも1つの隣接ブロックは、IBCモードを使用して予測される、例1又は2に記載の方法。
例4. 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBC MVPモードを使用して予測される、ことと、
現在のブロックのMVPインデックスの値が1で、現在のブロックのMVP候補の最大数の値が1に等しい場合に、現在のブロックのモーション・ベクトルをデフォルト値に設定することと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
例5. 現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、例4に記載の方法。
例6. デフォルト値は、ゼロである、例4又は5に記載の方法。
例7. 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、現在のブロックは、ブロック内コピーIBC MVPモードを使用して予測される、ことと、
現在のブロックのMVP候補の最大数の値が1に等しい場合に、現在のブロックに隣接する少なくとも1つの隣接するブロック及び履歴ベースのモーション・ベクトル予測子HMVPリストにしたがって、現在のブロックの候補リストを得ることであって、現在のブロックの候補リストは、2つの候補を含み、少なくとも1つの隣接するブロックは、IBCモードを使用して予測される、取得することと、
現在のブロックのMVPインデックス及び候補リストにしたがって、現在のブロックのモーション・ベクトルを得ることと、
現在のブロックのモーション・ベクトルにしたがって現在のブロックの予測サンプル値を得ることと、を含む。
例8. 現在のブロックのMVP候補の最大数の値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、例7に記載の方法。
例9. 例1~8のいずれか1つに記載の方法を実施するための処理回路を含む、復号器(30)。
例10. 例1~8のいずれか1つに記載の方法を実施するためのプログラムコードを含むコンピュータ・プログラム製品。
例11. 1つ以上のプロセッサと、
プロセッサに結合され、プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ可読記憶媒体であって、プログラミングは、プロセッサによって実行される場合に、例1~8のいずれか一項に記載の方法を実施するように復号器を設定する、非一時的なコンピュータ可読記憶媒体と、を含む、復号器。
Claims (23)
- 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、前記現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
前記現在のブロックの前記MVP候補の最大数の前記値が1に等しい場合に、MVPインデックスの値をゼロに設定することと、前記MVPインデックス及び候補リストにしたがって前記現在のブロックのモーション・ベクトルを得ることと、
前記現在のブロックの前記モーション・ベクトルにしたがって前記現在のブロックの予測サンプル値を得ることと、を含む、方法。 - 前記現在のブロックの前記MVP候補の最大数の前記値が1より大きい場合に、ビットストリームから前記MVPインデックスの値を解析することをさらに含む、請求項1に記載の方法。
- 前記MVPインデックスの前記値は、コーディングユニットレベルから解析される、請求項2に記載の方法。
- 前記MVPインデックスの前記値は、リスト0のモーション・ベクトル予測器インデックスを指定する、請求項1~3のいずれか一項に記載の方法。
- 前記現在のブロックの前記MVP候補の最大数の前記値は、ビットストリームからのシーケンス・パラメータ・セットspsレベルを解析することによって得られる、請求項1~4のいずれか一項に記載の方法。
- 前記現在のブロックの前記MVP候補の最大数の前記値は、ビットストリームからスライス・レベル、タイル・グループ・レベル又はppsレベルで構文要素を解析することによって得られる、請求項1~4のいずれか一項に記載の方法。
- 前記候補リストは、前記現在のブロックに隣接する少なくとも1つの隣接ブロック、及び履歴ベースのモーション・ベクトル予測子HMVPリストに基づいて得られ、前記少なくとも1つの隣接ブロックは、IBCモードを使用して予測される、請求項1~6のいずれか一項に記載の方法。
- 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、前記現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
現在のブロックの前記MVP候補の最大数の前記値が1より大きいかどうかを判定することと、
前記現在のブロックの前記MVP候補の最大数の前記値が1より大きいと判定された場合に、ビットストリームからMVPインデックスの値を解析することと、
前記MVPインデックス及び候補リストにしたがって前記現在のブロックのモーション・ベクトルを得ることと、
前記現在のブロックの前記モーション・ベクトルにしたがって前記現在のブロックの予測サンプル値を得ることと、を含む、方法。 - 前記現在のブロックの前記MVP候補の最大数の前記値が1より大きいと判定された場合に、前記MVPインデックスの値をゼロに設定することをさらに含む、請求項8に記載の方法。
- 前記MVPインデックスの前記値は、コーディングユニットレベルから解析される、請求項8又は9に記載の方法。
- 前記MVPインデックスの前記値は、リスト0のモーション・ベクトル予測器インデックスを指定する、請求項8~10のいずれか一項に記載の方法。
- 前記現在のブロックの前記MVP候補の最大数の前記値は、ビットストリームからのシーケンス・パラメータ・セットspsレベルを解析することによって得られる、請求項8~11のいずれか一項に記載の方法。
- 前記現在のブロックの前記MVP候補の最大数の前記値は、ビットストリームからスライス・レベル、タイル・グループ・レベル又はppsレベルで構文要素を解析することによって得られる、請求項8~11のいずれか一項に記載の方法。
- 前記候補リストは、前記現在のブロックに隣接する少なくとも1つの隣接ブロック、及び履歴ベースのモーション・ベクトル予測子HMVPリストに基づいて得られ、前記少なくとも1つの隣接ブロックは、IBCモードを使用して予測される、請求項8~13のいずれか一項に記載の方法。
- 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、前記現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
前記現在の7ブロックのMVPインデックスの値が1で、前記現在のブロックの前記MVP候補の最大数の前記値が1に等しい場合に、前記現在のブロックのモーション・ベクトルをデフォルト値に設定することと、
前記現在のブロックの前記モーション・ベクトルにしたがって前記現在のブロックの予測サンプルを得ることと、を含む、方法。 - 前記現在のブロックの前記MVP候補の最大数の前記値は、ビットストリームからスライス・レベル、タイル・グループ・レベル又はspsレベル又はppsレベルで構文要素を解析することによって得られる、請求項15に記載の方法。
- 前記デフォルト値は、ゼロである、請求項15又は16に記載の方法。
- 復号デバイスによって実装されるコーディングの方法であって、
現在のブロックのモーション・ベクトル予測MVP候補をマージする最大数の値を得ることであって、前記現在のブロックは、ブロック内コピーIBCモードを使用して予測される、ことと、
前記現在のブロックの前記MVP候補の最大数の前記値が1に等しい場合に、前記現在のブロックに隣接する少なくとも1つの隣接するブロック及び履歴ベースのモーション・ベクトル予測子HMVPリストにしたがって、前記現在のブロックの候補リストを得ることであって、前記現在のブロックの前記候補リストは、2つの候補を含み、前記少なくとも1つの隣接するブロックは、IBCモードを使用して予測される、取得することと、
前記現在のブロックのMVPインデックス及び前記候補リストにしたがって、前記現在のブロックのモーション・ベクトルを得ることと、
前記現在のブロックの前記モーション・ベクトルにしたがって、前記現在のブロックの予測サンプルを得ることと、を含む、方法。 - 前記現在のブロックの前記MVP候補の最大数の前記値は、ビットストリームからスライス・レベル、タイル・グループ・レベル、spsレベル又はppsレベルで構文要素を解析することによって得られる、請求項18に記載の方法。
- 請求項1~19のいずれか一項に記載の方法を実施するための処理回路を含む、復号器(30)。
- 請求項1~19のいずれか一項に記載の方法を実行するためのプログラムコードを含む、コンピュータ・プログラム製品。
- 1つ以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ可読記憶媒体であって、前記プログラミングは、前記プロセッサによって実行される場合に、請求項1~19のいずれか一項に記載の方法を実施するように前記復号器を設定する、非一時的なコンピュータ可読記憶媒体と、を含む、復号器。 - 画像復号デバイスによって復号される符号化されたビットストリームを含む非一時的な記憶媒体であって、前記ビットストリームは、ビデオ信号又は画像信号のフレームを複数のブロックに分割することによって生成され、複数の構文要素を含み、前記複数の構文要素は、前記請求項のいずれか一項に記載のMVPインデックスmvp_l0_flagを含む、非一時的な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023210704A JP2024023666A (ja) | 2019-05-24 | 2023-12-14 | Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019088335 | 2019-05-24 | ||
CNPCT/CN2019/088335 | 2019-05-24 | ||
PCT/CN2020/091136 WO2020238706A1 (en) | 2019-05-24 | 2020-05-20 | An encoder, a decoder and corresponding methods using for ibc merge list |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023210704A Division JP2024023666A (ja) | 2019-05-24 | 2023-12-14 | Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022534235A true JP2022534235A (ja) | 2022-07-28 |
JP7405870B2 JP7405870B2 (ja) | 2023-12-26 |
Family
ID=73553041
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021569933A Active JP7405870B2 (ja) | 2019-05-24 | 2020-05-20 | Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 |
JP2023210704A Pending JP2024023666A (ja) | 2019-05-24 | 2023-12-14 | Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023210704A Pending JP2024023666A (ja) | 2019-05-24 | 2023-12-14 | Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11985305B2 (ja) |
EP (1) | EP3942800A4 (ja) |
JP (2) | JP7405870B2 (ja) |
KR (1) | KR20210141712A (ja) |
CN (1) | CN113796071A (ja) |
AU (1) | AU2020282086A1 (ja) |
BR (1) | BR112021020933A2 (ja) |
CA (1) | CA3136498A1 (ja) |
MX (1) | MX2021014298A (ja) |
WO (1) | WO2020238706A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022534201A (ja) * | 2019-05-25 | 2022-07-28 | 北京字節跳動網絡技術有限公司 | イントラブロックコピー符号化ブロックにおけるブロックベクトルの符号化 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200145785A (ko) * | 2019-06-20 | 2020-12-30 | 한국전자통신연구원 | 비디오 부호화/복호화 방법, 장치 및 비트스트림 저장 매체 |
AU2020316548A1 (en) * | 2019-07-25 | 2022-02-24 | Beijing Bytedance Network Technology Co., Ltd. | Mapping restriction for intra-block copy virtual buffer |
KR20220036936A (ko) | 2019-07-25 | 2022-03-23 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 인트라 블록 복사 가상 버퍼에 대한 크기 제한 |
CN114270862A (zh) * | 2019-09-03 | 2022-04-01 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
CN114342410A (zh) | 2019-09-05 | 2022-04-12 | 北京字节跳动网络技术有限公司 | 帧内块复制模式下块矢量的范围约束 |
KR20220064968A (ko) | 2019-09-23 | 2022-05-19 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 가상 파이프라인 데이터 유닛에 기초한 인트라 블록 복사 가상 버퍼의 설정 |
WO2021185306A1 (en) | 2020-03-18 | 2021-09-23 | Beijing Bytedance Network Technology Co., Ltd. | Intra block copy buffer and palette predictor update |
WO2024088048A1 (en) * | 2022-10-26 | 2024-05-02 | Mediatek Inc. | Method and apparatus of sign prediction for block vector difference in intra block copy |
CN118118680A (zh) * | 2022-11-30 | 2024-05-31 | 华为技术有限公司 | 视频处理方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110015356A (ko) | 2009-08-07 | 2011-02-15 | 한국전자통신연구원 | 차분 신호의 특성에 기반한 적응적인 변환 부호화/양자화 영역을 이용한 동영상 부호화/복호화 장치 및 그 방법 |
EP2717579B1 (en) | 2011-05-31 | 2020-01-22 | Sun Patent Trust | Video decoding method and video decoding device |
CN107105227B (zh) | 2011-06-30 | 2019-10-25 | Jvc建伍株式会社 | 图像编码装置、图像编码方法、图像解码装置及图像解码方法 |
US20130336405A1 (en) * | 2012-06-15 | 2013-12-19 | Qualcomm Incorporated | Disparity vector selection in video coding |
US9918105B2 (en) * | 2014-10-07 | 2018-03-13 | Qualcomm Incorporated | Intra BC and inter unification |
US10721489B2 (en) * | 2016-09-06 | 2020-07-21 | Qualcomm Incorporated | Geometry-based priority for the construction of candidate lists |
US10757442B2 (en) * | 2017-07-05 | 2020-08-25 | Qualcomm Incorporated | Partial reconstruction based template matching for motion vector derivation |
CN113261294B (zh) * | 2019-01-02 | 2024-06-18 | Lg电子株式会社 | 基于sbtmvp的帧间预测方法和设备 |
US11659166B2 (en) * | 2019-01-02 | 2023-05-23 | Lg Electronics Inc. | Method and apparatus for coding image by using MMVD based on CPR |
US11962756B2 (en) * | 2019-01-05 | 2024-04-16 | Lg Electronics Inc. | Method and apparatus for processing video data |
CN113508583A (zh) * | 2019-03-04 | 2021-10-15 | Lg 电子株式会社 | 基于帧内块编译的视频或图像编译 |
WO2020180155A1 (ko) * | 2019-03-07 | 2020-09-10 | 엘지전자 주식회사 | 비디오 신호를 처리하기 위한 방법 및 장치 |
US12003757B2 (en) * | 2019-03-10 | 2024-06-04 | Lg Electronics Inc. | Video signal processing method and device for processing motion vector difference information for inter prediction in video signal |
KR20210130235A (ko) * | 2019-04-15 | 2021-10-29 | 엘지전자 주식회사 | 스케일링 리스트 파라미터 기반 비디오 또는 영상 코딩 |
CN114270827A (zh) * | 2019-06-24 | 2022-04-01 | Lg电子株式会社 | 利用色度块的最大变换大小设定的图像编码/解码方法和设备及发送比特流的方法 |
MX2022000156A (es) * | 2019-06-24 | 2022-02-21 | Lg Electronics Inc | Método y aparato para codificación/decodificación de video usando limitación de tamaño máximo de bloque de transformación de croma, y método para transmitir flujo de bits. |
-
2020
- 2020-05-20 AU AU2020282086A patent/AU2020282086A1/en active Pending
- 2020-05-20 WO PCT/CN2020/091136 patent/WO2020238706A1/en unknown
- 2020-05-20 CA CA3136498A patent/CA3136498A1/en active Pending
- 2020-05-20 JP JP2021569933A patent/JP7405870B2/ja active Active
- 2020-05-20 KR KR1020217034955A patent/KR20210141712A/ko active Search and Examination
- 2020-05-20 CN CN202080009793.7A patent/CN113796071A/zh active Pending
- 2020-05-20 MX MX2021014298A patent/MX2021014298A/es unknown
- 2020-05-20 EP EP20815320.5A patent/EP3942800A4/en active Pending
- 2020-05-20 BR BR112021020933A patent/BR112021020933A2/pt unknown
-
2021
- 2021-10-07 US US17/496,001 patent/US11985305B2/en active Active
-
2023
- 2023-12-14 JP JP2023210704A patent/JP2024023666A/ja active Pending
Non-Patent Citations (2)
Title |
---|
BENJAMIN BROSS, ET AL.: "Versatile Video Coding (Draft 5)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-N1001-v6, JPN6022055639, 23 May 2019 (2019-05-23), pages 40 - 43, ISSN: 0004961585 * |
HYEONGMUN JANG, ET AL.: "AhG2 : Editorial Suggestion on the text specification for Inter and IBC mode", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, vol. JVET-N0468, JPN6022055638, 13 March 2019 (2019-03-13), ISSN: 0004961586 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022534201A (ja) * | 2019-05-25 | 2022-07-28 | 北京字節跳動網絡技術有限公司 | イントラブロックコピー符号化ブロックにおけるブロックベクトルの符号化 |
JP7332721B2 (ja) | 2019-05-25 | 2023-08-23 | 北京字節跳動網絡技術有限公司 | イントラブロックコピー符号化ブロックにおけるブロックベクトルの符号化 |
Also Published As
Publication number | Publication date |
---|---|
WO2020238706A1 (en) | 2020-12-03 |
CA3136498A1 (en) | 2020-12-03 |
EP3942800A4 (en) | 2022-06-01 |
US11985305B2 (en) | 2024-05-14 |
US20220030223A1 (en) | 2022-01-27 |
CN113796071A (zh) | 2021-12-14 |
WO2020238706A9 (en) | 2021-09-23 |
JP7405870B2 (ja) | 2023-12-26 |
MX2021014298A (es) | 2022-01-04 |
AU2020282086A1 (en) | 2021-11-04 |
KR20210141712A (ko) | 2021-11-23 |
BR112021020933A2 (pt) | 2021-12-21 |
JP2024023666A (ja) | 2024-02-21 |
EP3942800A1 (en) | 2022-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102596735B1 (ko) | 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들 | |
JP7239697B2 (ja) | エンコーダ、デコーダ、インター予測のための対応する方法 | |
JP7405870B2 (ja) | Ibcマージ・リストのために使用する符号化器、復号器、及び対応する方法 | |
US11909959B2 (en) | Encoder, a decoder and corresponding methods for merge mode | |
JP7477066B2 (ja) | Ibcマージリストを使用するエンコーダ、デコーダ、及び対応する方法 | |
JP7414975B2 (ja) | 幾何学的パーティション・モードのためのコーディング・プロセス | |
JP7448602B2 (ja) | ビデオコーディングのための、サブブロックマージ候補のための個別マージリストと、イントラ-インター技術との調和 | |
US20210329305A1 (en) | Encoder, A Decoder And Corresponding Methods For Tile Configuration Signaling | |
RU2817030C2 (ru) | Кодер, декодер и соответствующие способы использования для списка объединения ibc | |
US11997296B2 (en) | Motion field storage optimization for a line buffer | |
KR20240093885A (ko) | Ibc 병합 리스트를 사용하는 인코더, 디코더 및 대응하는 방법들 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211124 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7405870 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |