JP7544883B2 - Interaction Between LUT and AMVP - Google Patents
Interaction Between LUT and AMVP Download PDFInfo
- Publication number
- JP7544883B2 JP7544883B2 JP2023016139A JP2023016139A JP7544883B2 JP 7544883 B2 JP7544883 B2 JP 7544883B2 JP 2023016139 A JP2023016139 A JP 2023016139A JP 2023016139 A JP2023016139 A JP 2023016139A JP 7544883 B2 JP7544883 B2 JP 7544883B2
- Authority
- JP
- Japan
- Prior art keywords
- motion
- candidates
- block
- candidate
- merge
- 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.)
- Active
Links
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/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/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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
-
- 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/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/184—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 bits, e.g. of the compressed video stream
-
- 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
-
- 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/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/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Tires In General (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Liquid Crystal Substances (AREA)
Description
関連出願の相互参照
パリ条約に基づく適用可能な特許法および/または規則に基づいて、本願は、2018年6月29日出願の国際特許出願PCT/CN2018/093663号、2018年9月12日出願の国際特許出願PCT/CN2018/105193号、2019年1月16日出願の国際特許出願PCT/CN2019/072058号の優先権および利益を適時に主張することを目的とする。米国の法律の下、あらゆる目的のために、国際特許出願PCT/CN2018/093663号、国際特許出願第PCT/CN2018/105193号、および国際特許出願第PCT/CN2019/072058の開示の全文は、本願の開示の一部として参照により援用される。
CROSS-REFERENCE TO RELATED APPLICATIONS Under applicable patent laws and/or regulations under the Paris Convention, this application is intended to timely claim priority to and the benefit of International Patent Application No. PCT/CN2018/093663, filed June 29, 2018, International Patent Application No. PCT/CN2018/105193, filed September 12, 2018, and International Patent Application No. PCT/CN2019/072058, filed January 16, 2019. Under the laws of the United States, for all purposes, the entire disclosures of International Patent Application No. PCT/CN2018/093663, International Patent Application No. PCT/CN2018/105193, and International Patent Application No. PCT/CN2019/072058 are incorporated by reference as part of the disclosure of this application.
この特許明細書は、映像符号化および復号化技術、デバイスおよびシステムに関する。 This patent specification relates to video encoding and decoding techniques, devices and systems.
映像圧縮の進歩にもかかわらず、デジタル映像は、依然として、インターネットおよび他のデジタル通信ネットワークにおいて最大の帯域幅の使用量を占めている。映像の受信および表示が可能な接続されたユーザ機器の数が増加するにつれ、デジタル映像の使用に対する帯域幅需要は増大し続けることが期待される。 Despite advances in video compression, digital video still accounts for the largest bandwidth usage on the Internet and other digital communications networks. As the number of connected user devices capable of receiving and displaying video increases, the bandwidth demands for digital video use are expected to continue to grow.
本明細書は、デジタル映像を符号化および復号化するための方法、システム、およびデバイスを開示する。 This specification discloses methods, systems, and devices for encoding and decoding digital video.
1つの例示的な態様において、映像復号化の方法は、テーブルを維持することであって、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる、ことと、第1の映像ブロックと、第1の映像ブロックを含む映像のビットストリーム表現との間で変換を行うことであって、変換を行うことは、動き候補のセットのうちの少なくとも一部を予測因子として使用して第1の映像ブロックの動き情報を処理する、こととを含むように提供される。 In one exemplary aspect, a method of video decoding is provided that includes maintaining tables, each table including a set of motion candidates, each motion candidate being associated with corresponding motion information, and converting between a first video block and a bitstream representation of a video including the first video block, the converting including processing the motion information of the first video block using at least a portion of the set of motion candidates as predictors.
さらに別の代表的な態様では、本明細書で説明される様々な技法は、非一時的なコンピュータ可読媒体に記憶されるコンピュータプログラム製品として実施され得る。このコンピュータプログラム製品は、本明細書に記載の方法を実行するためのプログラムコードを含む。 In yet another representative aspect, the various techniques described herein may be implemented as a computer program product stored on a non-transitory computer-readable medium. The computer program product includes program code for performing the methods described herein.
1つ以上の実装形態の詳細は、添付の添付ファイル、図面、および以下の説明に記載されている。他の特徴は、説明および図面、並びに特許請求の範囲の記載から明らかとなろう。 Details of one or more implementations are set forth in the accompanying attachments, drawings, and description below. Other features will be apparent from the description and drawings, and from the claims.
映像の圧縮率を改善するために、研究者らは、映像を符号化する新しい技術を絶えず求めている。 To improve video compression rates, researchers are constantly seeking new techniques for encoding video.
1. 導入 1. Introduction
本明細書は、映像符号化技術に関する。具体的には、映像符号化における動き情報の符号化(例えば、マージモード、AMVPモード)に関する。HEVCのような既存の映像符号化規格に適用してもよいし、規格(Versatile Video Coding)を確定させるために適用してもよい。本発明は、将来の映像符号化規格または映像コーデックにも適用可能である。 This specification relates to video coding technology. Specifically, it relates to coding of motion information in video coding (e.g., merge mode, AMVP mode). It may be applied to existing video coding standards such as HEVC, or may be applied to finalize a standard (Versatile Video Coding). The present invention is also applicable to future video coding standards or video codecs.
簡単な説明 Brief description
映像符号化規格は、主に周知の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 AVC(Advanced Video Coding)とH.265/HEVC規格を共同で作った。H.262以来、映像符号化規格は、時間予測と変換符号化が利用されるハイブリッド映像符号化構造に基づく。典型的なHEVCエンコーダフレームワークの一例を図1に示す。 Video coding standards have evolved primarily through the development of well-known ITU-T and ISO/IEC standards. ITU-T produced H.261 and H.263, ISO/IEC produced MPEG-1 and MPEG-4 Visual, and the two organizations jointly produced H.262/MPEG-2 Video, H.264/MPEG-4 AVC (Advanced Video Coding), and H.265/HEVC standards. Since H.262, video coding standards have been based on a hybrid video coding structure in which temporal prediction and transform coding are utilized. An example of a typical HEVC encoder framework is shown in Figure 1.
2.1 パーティション構造 2.1 Partition structure
2.1.1 H.264/AVCにおけるパーティションツリー構造 2.1.1 Partition tree structure in H.264/AVC
以前の規格における符号化層のコアは、16×16ブロックの輝度サンプルを含み、通常の4:2:0カラーサンプリングの場合、2つの対応する8×8ブロックの彩度サンプル含むマクロブロックであった。 The core of the coding layer in previous standards was a macroblock containing a 16x16 block of luma samples and, in the case of normal 4:2:0 color sampling, two corresponding 8x8 blocks of chroma samples.
イントラ符号化されたブロックは、画素間の空間的相関を利用するために空間予測を使用する。2つのパーティションを規定する。16×16および4×4である。 Intra-coded blocks use spatial prediction to exploit spatial correlation between pixels. We define two partitions: 16x16 and 4x4.
インター符号化されたブロックは、ピクチャ間の動きを推定することで、空間的予測の代わりに時間予測を用いる。動きは、16×16マクロブロックまたはそのサブマクロブロックパーティションのいずれかに対して独立して推定できる。16×8、8×16、8×8、8×4、4×8、4×4(図2参照)。1つのサブマクロブロックパーティション当たり1つの動きベクトル(MV)のみが許可される。 Inter-coded blocks use temporal prediction instead of spatial prediction by estimating the motion between pictures. Motion can be estimated independently for a 16x16 macroblock or any of its sub-macroblock partitions: 16x8, 8x16, 8x8, 8x4, 4x8, 4x4 (see Figure 2). Only one motion vector (MV) per sub-macroblock partition is allowed.
2.1.2 HEVCにおけるパーティションツリー構造 2.1.2 Partition tree structure in HEVC
HEVCにおいて、CTUは、様々な局所的特徴に適応するように、符号化ツリーと呼ばれる4分木構造を用いてCUに分割される。インターピクチャ(時間的)予測またはイントラピクチャ(空間的)予測を使用した、ピクチャ領域を符号化するかどうかの決定は、CUレベルで行われる。各CUは、PU分割タイプに応じて1つ、2つまたは4つのPUに更に分割することができる。1つのPUの内部では、同じ予測処理が適用され、PU単位で関連情報がデコーダに送信される。PU分割タイプに基づく予測処理を適用して残差ブロックを得た後、CUのための符号化ツリーに類似した別の4分木構造に基づいて、CUを変換ユニット(TU)に分割することができる。HEVC構造の重要な特徴の1つは、CU、PU、TUを含む複数のパーティション概念を有することである。 In HEVC, CTUs are partitioned into CUs using a quad-tree structure called a coding tree to accommodate various local features. The decision to code a picture region using inter-picture (temporal) or intra-picture (spatial) prediction is made at the CU level. Each CU can be further partitioned into one, two or four PUs depending on the PU partition type. Inside one PU, the same prediction process is applied and related information is sent to the decoder on a PU-by-PU basis. After applying the prediction process based on the PU partition type to obtain the residual block, the CU can be partitioned into transform units (TUs) based on another quad-tree structure similar to the coding tree for CUs. One of the key features of the HEVC structure is that it has a multiple partition concept including CU, PU and TU.
以下、HEVCを使用したハイブリッド映像符号化に関連する様々な特徴に焦点を当てる。 Below we highlight various features related to hybrid video coding using HEVC.
1)符号化ツリーユニットおよび符号化ツリーブロック(CTB)構造。HEVCにおける類似した構造は、符号化ツリーユニット(CTU)であり、この符号化ツリーユニットは、エンコーダによって選択されたサイズを有し、従来のマクロブロックよりも大きくてもよい。CTUは、輝度CTBと、対応する彩度CTBおよび構文要素とからなる。輝度CTBのサイズL×Lは、L=16、32、または64のサンプルとして選択することができ、より大きいサイズは、一般的に、より優れた圧縮を有効にする。HEVCは、次いで、ツリー構造および4分木様の信号通知を使用して、CTBをより小さなブロックに分割することをサポートする。 1) Coding Tree Unit and Coding Tree Block (CTB) Structure. A similar structure in HEVC is the coding tree unit (CTU), which has a size selected by the encoder and may be larger than a conventional macroblock. A CTU consists of a luma CTB and a corresponding chroma CTB and syntax elements. The size LxL of the luma CTB can be selected as L=16, 32, or 64 samples, with larger sizes generally enabling better compression. HEVC then supports splitting the CTB into smaller blocks using a tree structure and quadtree-like signaling.
2)符号化ユニット(CU)および符号化ブロック(CB):CTUの4分木の構文は、その輝度および彩度CBのサイズおよび位置を指定する。4分木のルートはCTUに関連付けられる。従って、輝度CTBのサイズは、輝度CBに対してサポートされる最大のサイズである。CTUを輝度CBおよび彩度CBに分割することは、共に信号通知されることである。1つの輝度CBおよび通常2つの彩度CBは、関連する構文と共に、1つの符号化ユニット(CU)を形成する。CTBは、1つのCUのみを含んでもよく、または複数のCUを形成するように分割されてもよく、各CUは、それに関連付けられた予測ユニット(PU)への分割と、1つの変換ユニットのツリー(TU)とを有する。 2) Coding Units (CUs) and Coding Blocks (CBs): The quadtree syntax of a CTU specifies the size and location of its luma and chroma CBs. The root of the quadtree is associated with the CTU. The size of the luma CTB is therefore the maximum size supported for the luma CB. The partitioning of a CTU into luma and chroma CBs is signaled together. One luma CB and usually two chroma CBs, together with the associated syntax, form one coding unit (CU). A CTB may contain only one CU or may be partitioned to form multiple CUs, each with its associated partition into prediction units (PUs) and one tree of transform units (TUs).
3)予測ユニットおよび予測ブロック(PB):インターピクチャまたはイントラピクチャ予測を使用してピクチャ領域を符号化するかどうかの決定は、CUレベルで行われる。PUの分割構造は、そのルートがCUレベルにある。基本的な予測タイプの決定に基づいて、次に、輝度および彩度CBのサイズをさらに分割し、輝度および彩度予測ブロック(PB)から予測することができる。HEVCは、64×64から4×4までの可変PBサイズのサンプルをサポートする。図3は、M×MのCUのための許可されたPBの例を示す。 3) Prediction Units and Prediction Blocks (PBs): The decision of whether to code a picture region using inter-picture or intra-picture prediction is made at the CU level. The partitioning structure of the PU has its root at the CU level. Based on the decision of the basic prediction type, the size of the luma and chroma CBs can then be further partitioned and predicted from the luma and chroma prediction blocks (PBs). HEVC supports variable PB size samples from 64x64 to 4x4. Figure 3 shows an example of allowed PBs for an MxM CU.
4)TUおよび変換ブロック:予測残差は、ブロック変換を使用して符号化される。TUツリー構造は、そのルートがCUレベルにある。この輝度CB残差は、輝度変換ブロック(TB)と同一であってもよいし、小さな輝度TBにさらに分割されてもよい。彩度TBについても同様である。正方形TBサイズ4×4、8×8、16×16、および32×32に対して、離散コサイン変換(DCT)の整数基底関数に類似した整数基底関数が規定される。輝度イントラピクチャ予測残差の4×4変換のために、離散サイン変換(DST)の形式から導出される整数変換が代替的に指定される。 4) TUs and Transform Blocks: The prediction residual is coded using a block transform. The TU tree structure has its root at the CU level. This luma CB residual may be identical to the luma transform block (TB) or may be further split into smaller luma TBs. Similarly for the chroma TB. For square TB sizes 4x4, 8x8, 16x16, and 32x32, integer basis functions similar to those of the discrete cosine transform (DCT) are specified. For the 4x4 transform of the luma intra-picture prediction residual, an integer transform derived from a form of the discrete sine transform (DST) is alternatively specified.
図4は、CTBをCB[及び変換ブロック(TB)]に細分する例を示す。実線はCB境界を示し、点線はTB境界を示す。(a)CTBとその分割(b)対応する4分木。 Figure 4 shows an example of subdivision of a CTB into CBs [and transform blocks (TBs)]. Solid lines indicate CB boundaries, dotted lines indicate TB boundaries. (a) CTB and its division (b) corresponding quadtree.
2.1.2.1 変換ブロックおよびユニットへのツリー構造の分割 2.1.2.1 Dividing the tree structure into transformation blocks and units
残差符号化の場合、CBは、変換ブロック(TB)に再帰的に分割することができる。この分割は、残差4分木によって信号通知される。図4に示すように、1つのブロックを再帰的に象限に分割することができるように、正方形のCBおよびTBの分割のみを指定する。サイズM×Mの所与の輝度CBに対して、フラグは、それがサイズM/2×M/2の4つのブロックに分割されるかどうかを信号通知する。さらなる分割が可能である場合、SPSに示される残留4分木の最大深さによって信号通知されるように、各象限には、それが4つの象限に分割されているかどうかを示すフラグが割り当てられる。残差4分木の結果得られる葉ノードブロックは、変換符号化によってさらに処理される変換ブロックである。エンコーダは、それが使用することになる最大および最小輝度TBサイズを示す。CBサイズが最大TBサイズよりも大きい場合、分割は非明示的に行われる。分割により、示された最小値よりも小さい輝度TBサイズとなる場合、分割を行わないことが、非明示的に行われる。輝度TBサイズが4×4である場合を除き、彩度TBサイズは、各次元において輝度TBサイズの半分であり、この場合、4つの4×4輝度TBによって覆われる領域には1つの4×4彩度TBが使用される。イントラピクチャ予測CUの場合、最近の近傍のTB(CB内またはCB外)の復号サンプルを、イントラピクチャ予測のための参照データとして用いる。 For residual coding, the CB can be recursively split into transform blocks (TBs). This split is signaled by the residual quadtree. We only specify square CB and TB splits so that one block can be recursively split into quadrants as shown in Figure 4. For a given luma CB of size MxM, a flag signals whether it is split into four blocks of size M/2xM/2. If further splits are possible, each quadrant is assigned a flag indicating whether it is split into four quadrants, as signaled by the maximum depth of the residual quadtree indicated in the SPS. The leaf node blocks resulting from the residual quadtree are the transform blocks that are further processed by transform coding. The encoder indicates the maximum and minimum luma TB sizes it will use. If the CB size is larger than the maximum TB size, the split is done implicitly. If the split would result in a luma TB size smaller than the indicated minimum, no split is done implicitly. The chroma TB size is half the luma TB size in each dimension, except when the luma TB size is 4x4, in which case one 4x4 chroma TB is used for the area covered by four 4x4 luma TBs. For intra-picture predicted CUs, decoded samples of the nearest neighboring TBs (inside or outside the CB) are used as reference data for intra-picture prediction.
従来の規格とは対照的に、HEVC設計により、インターピクチャ予測CUのために1つのTBが複数のPBにまたがることが可能となり、4分木構造のTBの分割の潜在的な符号化効率の利点が最大となる。 In contrast to previous standards, the HEVC design allows a TB to span multiple PBs for inter-picture predicted CUs, maximizing the potential coding efficiency benefits of quadtree TB partitioning.
2.1.2.2 親子ノード 2.1.2.2 Parent and child nodes
CTBは、4分木構造に基づいて分割され、そのノードは符号化ユニットである。4分木構造における複数のノードは、葉ノードおよび非葉ノードを含む。葉ノードは、ツリー構造内に子ノードを持たない(すなわち、葉ノードはそれ以上分割されない)。非葉ノードは、ツリー構造のルートノードを含む。ルートノードは、映像データの最初の映像ブロック(例えば、CTB)に対応する。複数のノードのうちのそれぞれの非ルートノードにおいて、それぞれの非ルートノードは、それぞれの非ルートノードのツリー構造における親ノードに対応する映像ブロックのサブブロックである映像ブロックに対応する。複数の非葉ノードのそれぞれの非葉ノードは、ツリー構造において1つ以上の子ノードを有する。 The CTB is divided based on a quadtree structure, whose nodes are coding units. The multiple nodes in the quadtree structure include leaf nodes and non-leaf nodes. The leaf nodes do not have child nodes in the tree structure (i.e., the leaf nodes are not further divided). The non-leaf nodes include a root node of the tree structure. The root node corresponds to a first video block (e.g., the CTB) of the video data. In each non-root node of the multiple nodes, the non-root node corresponds to a video block that is a sub-block of a video block corresponding to a parent node in the tree structure of the respective non-root node. Each non-leaf node of the multiple non-leaf nodes has one or more child nodes in the tree structure.
2.1.3 JEMにおけるより大きいCTUを有する4分木+2分木ブロック構造 2.1.3 Quadtree + binary tree block structure with larger CTU in JEM
HEVCを超えた将来の映像符号化技術を探索するため、2015年には、VCEGとMPEGが共同でJVET(Joint Video Exploration Team)を設立した。それ以来、多くの新しい方法がJVETによって採用され、JEM(Joint Exploration Mode)と呼ばれる参照ソフトウェアに組み込まれてきた。 To explore future video coding technologies beyond HEVC, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET) in 2015. Since then, many new methods have been adopted by JVET and incorporated into reference software called Joint Exploration Mode (JEM).
2.1.3.1 QTBTブロックの分割構造 2.1.3.1 Division structure of QTBT block
HEVCとは異なり、QTBT構造は、複数のパーティションタイプの概念を削除する。すなわち、CU、PU、TUのコンセプトの切り離しを取り除き、CUパーティションの形状の柔軟性を向上させる。QTBTブロック構造において、CUは正方形または長方形のいずれかを有することができる。図5に示すように、まず、符号化ツリーユニット(CTU)を4分木構造で分割する。4分木の葉ノードは、2分木構造によってさらに分割される。2分木の分割には、対称水平分割と対称垂直分割の2つの分割タイプがある。2分木の葉ノードは、符号化ユニット(CU)と呼ばれ、このセグメント化は、それ以上の分割を行うことなく、予測および変換処理に使用される。これは、QTBTの符号化されたブロック構造において、CU、PUおよびTUが同じブロックサイズを有することを意味する。JEMにおいて、CUは、しばしば異なる色成分の符号化ブロック(CB)からなり、例えば、4:2:0彩度フォーマットのPおよびBスライスの場合、1つのCUは1つの輝度CBおよび2つの彩度CBを含み、また、CUは、しばしば単一の成分のCBからなり、例えば、Iスライスの場合、1つのCUは、1つの輝度CBのみ、または、2つの彩度CBのみを含む。 Unlike HEVC, the QTBT structure removes the concept of multiple partition types, i.e., it removes the separation of the concepts of CU, PU, and TU, and improves the flexibility of the shape of CU partitions. In the QTBT block structure, a CU can have either a square or a rectangle. As shown in Figure 5, first, a coding tree unit (CTU) is divided by a quadtree structure. The leaf nodes of the quadtree are further divided by a binary tree structure. There are two types of division in the binary tree: symmetric horizontal division and symmetric vertical division. The leaf nodes of the binary tree are called coding units (CUs), and this segmentation is used for prediction and transform processing without further division. This means that in the coded block structure of QTBT, CUs, PUs, and TUs have the same block size. In JEM, a CU often consists of coding blocks (CBs) of different color components, e.g., for P and B slices in 4:2:0 chroma format, one CU contains one luma CB and two chroma CBs, and a CU often consists of CBs of a single component, e.g., for I slices, one CU contains only one luma CB or only two chroma CBs.
QTBT分割スキームに対して以下のパラメータを規定する。
-CTUのサイズ:1つの4分木のルートノードのサイズ、HEVCと同じ概念
-MinQTSize:最小許容の4分木の葉ノードサイズ
-MaxBTSize:最大許容の2分木ルートノードサイズ
-MaxBTDepth:最大許容の2分木の深さ
-MinBTSize:最小許容の2分木の葉ノードのサイズ
The following parameters are specified for the QTBT partitioning scheme:
-CTU size: size of root node of one quadtree, same concept as HEVC -MinQTSize: minimum allowable quadtree leaf node size -MaxBTSize: maximum allowable binary tree root node size -MaxBTDepth: maximum allowable binary tree depth -MinBTSize: minimum allowable binary tree leaf node size
QTBTの分割構造の一例において、CTUのサイズを、2つの対応する64×64ブロックの彩度サンプルを有する128×128の輝度サンプルとして設定し、MinQTSizeを16×16として設定し、MaxBTSizeを64×64として設定し、MinBTSize(幅および高さの両方について)を4×4として設定し、MaxBTDepthを4として設定する。4分木の分割は、まずCTUに適用され、4分木の葉ノードを生成する。4分木の葉ノードは、16×16(即ち、MinQTSize)から128×128(即ち、CTUサイズ)までのサイズを有することが可能である。葉4分木のノードが128×128である場合、サイズがMaxBTSize(すなわち、64×64)を超えるため、2分木によってさらに分割されない。そうでない場合、葉4分木のノードは、2分木によってさらに分割されてもよい。従って、この4分木の葉ノードは、2分木のルートノードでもあり、その2分木の深さは0である。2分木の深さがMaxBTDepth(すなわち、4)に達した場合、それ以上の分割は考慮されない。2分木のノードの幅がMinBTSize(すなわち、4)に等しい場合、それ以上の水平分割は考慮されない。同様に、2分木のノードの高さがMinBTSizeに等しい場合、それ以上の垂直分割は考慮されない。2分木の葉ノードは、さらに分割することなく、予測および変換処理によってさらに処理される。JEMにおいて、最大CTUサイズは、256×256個の輝度サンプルである。 In one example of a QTBT partitioning structure, the size of the CTU is set as 128x128 luma samples with two corresponding 64x64 blocks of chroma samples, MinQTSize is set as 16x16, MaxBTSize is set as 64x64, MinBTSize (for both width and height) is set as 4x4, and MaxBTDepth is set as 4. A quadtree partition is first applied to the CTU to generate quadtree leaf nodes. The quadtree leaf nodes can have sizes from 16x16 (i.e., MinQTSize) to 128x128 (i.e., CTU size). If a leaf quadtree node is 128x128, it will not be further partitioned by the bipartite tree since its size exceeds MaxBTSize (i.e., 64x64). Otherwise, the leaf quadtree node may be further split by the binary tree. Thus, the leaf node of this quadtree is also the root node of the binary tree, whose depth is 0. If the depth of the binary tree reaches MaxBTDepth (i.e., 4), no further splits are considered. If the width of a binary tree node is equal to MinBTSize (i.e., 4), no further horizontal splits are considered. Similarly, if the height of a binary tree node is equal to MinBTSize, no further vertical splits are considered. The leaf node of the binary tree is further processed by the prediction and transform process without further splits. In JEM, the maximum CTU size is 256x256 luma samples.
図5(左)はQTBTを用いたブロックの分割の例を示し、図5(右)は対応するツリー表現を示す。実線は4分木の分割を表し、点線は2分木の分割を表す。2分木の各分割(即ち、非葉)ノードにおいて、1つのフラグが、どの分割タイプ(即ち、水平または垂直)が使用されるかを示すために信号通知される。ここで、0は、水平分割を表し、1は、垂直分割を表す。4分木の分割の場合、4分木の分割は常にブロックを水平および垂直に分割し、等分したサイズの4つのサブブロックを生成するため、分割タイプを示す必要がない。 Figure 5 (left) shows an example of block partitioning using QTBT, and Figure 5 (right) shows the corresponding tree representation. Solid lines represent quadtree partitioning, and dotted lines represent binary tree partitioning. At each partition (i.e., non-leaf) node of the binary tree, a flag is signaled to indicate which partition type (i.e., horizontal or vertical) is used, where 0 represents a horizontal partition and 1 represents a vertical partition. In the case of quadtree partitioning, there is no need to indicate the partition type, since a quadtree partition always partitions a block horizontally and vertically, generating four sub-blocks of equal size.
さらに、QTBT方式は、輝度および彩度が別個のQTBT構造を有する能力をサポートする。現在、PおよびBスライスの場合、1つのCTUにおける輝度および彩度CTBは、同じQTBT構造を共有する。しかしながら、Iスライスの場合、輝度CTBはQTBT構造によってCUに分割され、彩度CTBは別のQTBT構造によって彩度CUに分割される。これは、1つのIスライスにおける1つのCUが1つの輝度成分の1つの符号化ブロックまたは2つの彩度成分の1つの符号化ブロックからなり、1つのPまたはBスライスにおける1つのCUが3つの色成分すべての符号化ブロックからなることを意味する。 Furthermore, the QTBT scheme supports the ability for luma and chroma to have separate QTBT structures. Currently, for P and B slices, the luma and chroma CTBs in one CTU share the same QTBT structure. However, for I slices, the luma CTBs are split into CUs by a QTBT structure, and the chroma CTBs are split into chroma CUs by another QTBT structure. This means that one CU in one I slice consists of one coded block of one luma component or one coded block of two chroma components, and one CU in one P or B slice consists of coded blocks of all three color components.
HEVCにおいて、小さなブロックのためのインター予測は、動き補償のメモリアクセスを低減するために制限され、その結果、4×8および8×4ブロックのために双予測はサポートされず、4×4ブロックのためにインター予測はサポートされない。JEMのQTBTにおいて、これらの制限は取り除かれる。 In HEVC, inter prediction for small blocks is restricted to reduce memory accesses for motion compensation, resulting in no bi-prediction being supported for 4x8 and 8x4 blocks, and no inter prediction being supported for 4x4 blocks. In JEM's QTBT, these restrictions are removed.
2.1.4 VVCの3分木 2.1.4 VVC ternary tree
いくつかの実施形態において、4分木および2分木以外のツリータイプがサポートされる。本実装形態において、図6(d)、(e)に示すように、3分木(TT)パーティションを2つ以上、すなわち、水平および垂直中心側の3分木を導入する。 In some embodiments, tree types other than quadtrees and binary trees are supported. In this implementation, we introduce two or more ternary tree (TT) partitions, i.e., horizontal and vertical center-side ternary trees, as shown in Figures 6(d) and (e).
図6は、(a)4分木分割、(b)垂直2分木分割、(c)水平2分木分割、(d)垂直中心側3分木分割、(e)水平中心側3分木分割を示す。 Figure 6 shows (a) quadtree division, (b) vertical binary tree division, (c) horizontal binary tree division, (d) vertical center side ternary tree division, and (e) horizontal center side ternary tree division.
いくつかの実装形態において、2つのレベルのツリー、すなわち、領域ツリー(4分木)および予測ツリー(2分木または3分木)がある。CTUは、まず、領域ツリー(RT)によって分割される。RT葉は、予測ツリー(PT)によってさらに分割されてもよい。PT葉はまた、最大PT深さに達するまで、PTでさらに分割されてもよい。PT葉が基本符号化ユニットである。便宜上、ここでもCUと呼ぶ。1つのCUをさらに分割することはできない。予測および変換は両方ともJEMと同様にCUに適用される。パーティション構造全体を「マルチタイプツリー」と呼ぶ。 In some implementations, there are two levels of trees: region tree (quadtree) and prediction tree (binary or ternary). CTUs are first split by region tree (RT). RT leaves may be further split by prediction tree (PT). PT leaves may also be further split by PT until a maximum PT depth is reached. PT leaves are the basic coding units. For convenience, we still refer to them as CUs. A CU cannot be further split. Both prediction and transformation are applied to CUs, similar to JEM. We refer to the whole partition structure as a "multi-type tree".
2.1.5 分割構造 2.1.5 Split structure
この応答で使用されるツリー構造は、マルチツリータイプ(Multi-Tree Type:MTT)と呼ばれ、QTBTを一般化したものである。QTBTにおいて、図5に示すように、まず、符号化ツリーユニット(CTU)を4分木構造で分割する。4分木の葉ノードは、2分木構造によってさらに分割される。 The tree structure used in this response is called the Multi-Tree Type (MTT), which is a generalization of QTBT. In QTBT, as shown in Figure 5, the coding tree unit (CTU) is first divided into a quadtree structure. The leaf nodes of the quadtree are further divided into binary trees.
MTTの基本構造は、2つのタイプのツリーノードを構成する。図7に示すように、領域ツリー(RT)および予測ツリー(PT)は、9つのタイプのパーティションをサポートする。 The basic structure of MTT consists of two types of tree nodes: region tree (RT) and prediction tree (PT), which support nine types of partitions, as shown in Figure 7.
図7は、(a)4分木分割、(b)垂直2分木分割、(c)水平2分木分割、(d)垂直3分木分割、(e)水平3分木分割、(f)水平上方非対称2分木分割、(g)水平下方非対称2分木分割、(h)垂直左非対称2分木分割、(i)垂直右非対称2分木分割を示す。 Figure 7 shows (a) quadtree partitioning, (b) vertical binary tree partitioning, (c) horizontal binary tree partitioning, (d) vertical ternary tree partitioning, (e) horizontal ternary tree partitioning, (f) horizontal upper asymmetric binary tree partitioning, (g) horizontal lower asymmetric binary tree partitioning, (h) vertical left asymmetric binary tree partitioning, and (i) vertical right asymmetric binary tree partitioning.
1つの領域ツリーは、1つのCTUを4×4サイズの領域ツリーの葉ノードになるように正方形のブロックに再帰的に分割することができる。領域ツリーにおける各ノードにおいて、予測ツリーは、2分木(BT)、3分木(TT)、および非対称2分木(ABT)の3つのツリータイプのうちの1つから形成されることができる。PT分割において、予測ツリーの枝に4分木のパーティションを有することは禁止される。JEMにおけるように、輝度ツリーおよび彩度ツリーは、I個のスライスに分けられる。RTおよびPTの信号通知方法を図8に示す。 A region tree can recursively split a CTU into square blocks to become leaf nodes of the region tree of size 4x4. At each node in the region tree, a prediction tree can be formed from one of three tree types: binary tree (BT), ternary tree (TT), and asymmetric binary tree (ABT). In PT partitioning, it is forbidden to have quad tree partitions in the branches of the prediction tree. As in JEM, the luma and chroma trees are divided into I slices. The signaling method of RT and PT is shown in Figure 8.
2.2 HEVC/H.265におけるインター予測 2.2 Inter prediction in HEVC/H.265
各インター予測されたPUは、1つまたは2つの参照ピクチャリストのための動きパラメータを有する。動きパラメータは、動きベクトルおよび参照ピクチャインデックスを含む。2つの参照ピクチャリストのうちの1つの参照ピクチャリストの使用は、inter_pred_idcを使用して信号通知されてもよい。動きベクトルは、予測因子に関連する差分として明確に符号化されてもよく、このような符号化モードは、AMVPモードと呼ばれる。 Each inter-predicted PU has motion parameters for one or two reference picture lists. The motion parameters include a motion vector and a reference picture index. The use of one of the two reference picture lists may be signaled using inter_pred_idc. The motion vector may be explicitly coded as a differential related to the predictor, and such a coding mode is called AMVP mode.
1つのCUがスキップモードにて符号化される場合、1つのPUがこのCUに関連付けられ、有意な残差係数がなく、符号化された動きベクトル差分も参照ピクチャインデックスもない。マージモードを指定し、これにより、現在のPUのための動きパラメータを、空間的および時間的候補を含む近傍のPUから取得する。マージモードは、スキップモードのためだけでなく、任意のインター予測されたPUに適用することができる。マージモードの代替としては、動きパラメータの明確な送信であり、各参照ピクチャリストおよび参照ピクチャリストの使用に対する参照ピクチャインデックスに対応する動きベクトルをPUごとに明確に信号通知することである。 When a CU is coded in skip mode, one PU is associated with this CU, there are no significant residual coefficients, no coded motion vector differentials, and no reference picture indexes. A merge mode is specified, whereby motion parameters for the current PU are obtained from neighboring PUs, including spatial and temporal candidates. The merge mode can be applied to any inter-predicted PU, not just for skip mode. An alternative to the merge mode is an explicit transmission of motion parameters, explicitly signaling per PU the motion vectors corresponding to each reference picture list and the reference picture index for the use of the reference picture list.
2つの参照ピクチャリストのうちの1つを使用することを信号通知が示す場合、サンプルのうちの1つのブロックからPUを生成する。これを「単一予測」と呼ぶ。PスライスおよびBスライスの両方に対して単一予測が利用可能である。 If the signaling indicates to use one of two reference picture lists, generate the PU from one block of samples. This is called "uni-prediction". Uni-prediction is available for both P and B slices.
両方の参照ピクチャリストを使用することを信号通知が示す場合、サンプルのうちの2つのブロックからPUを生成する。これを「双方向予測」と呼ぶ。Bスライスのみに双方向予測が利用可能である。 If the signaling indicates to use both reference picture lists, generate a PU from two blocks of samples. This is called "bi-prediction". Bi-prediction is available for B slices only.
以下、HEVCに規定されるインター予測モードについて詳細に説明する。まず、マージモードについて説明する。 The inter prediction modes defined in HEVC are explained in detail below. First, merge mode is explained.
2.2.1 マージモード 2.2.1 Merge mode
2.2.1.1 マージモードの候補の導出 2.2.1.1 Deriving merge mode candidates
マージモードを使用してPUを予測する場合、ビットストリームからマージ候補リストにおけるエントリを指すインデックスを構文解析し、これを使用して動き情報を検索する。このリストの構成は、HEVC規格で規定されており、以下のステップのシーケンスに基づいてまとめることができる。
・ステップ1:初期候補の導出
oステップ1.1:空間的候補の導出
oステップ1.2:空間的候補の冗長性チェック
oステップ1.3:時間的候補の導出
・ステップ2:追加候補の挿入
oステップ2.1:双方向予測候補の作成
oステップ2.2:動きゼロ候補の挿入
When predicting a PU using merge mode, we parse an index from the bitstream that points to an entry in the merge candidate list and use it to look up the motion information. The construction of this list is specified in the HEVC standard and can be summarized based on the following sequence of steps:
Step 1: Derive initial candidates o Step 1.1: Derive spatial candidates o Step 1.2: Redundancy check of spatial candidates o Step 1.3: Derive temporal candidates Step 2: Insert additional candidates o Step 2.1: Create bi-prediction candidates o Step 2.2: Insert zero motion candidates
これらのステップは図9にも概略的に示されている。空間的マージ候補導出のために、5つの異なる位置にある候補の中から最大4つのマージ候補を選択する。時間的マージ候補導出のために、2つの候補の中から最大1つのマージ候補を選択する。デコーダ側ではPUごとに一定数の候補を想定しているので、候補数がスライスヘッダで信号通知されるマージ候補の最大数(MaxNumMergeCand)に達しない場合、追加候補を生成する。候補の数は一定であるので、最良マージ候補のインデックスは、短縮された単項2値化(TU:truncated unary binarization)を使用して符号化される。CUのサイズが8に等しい場合、現在のCUのすべてのPUは、2N×2N予測ユニットのマージ候補リストと同じ1つのマージ候補リストを共有する。 These steps are also shown diagrammatically in Fig. 9. For spatial merge candidate derivation, select up to four merge candidates among candidates at five different positions. For temporal merge candidate derivation, select up to one merge candidate among two candidates. Since the decoder side assumes a constant number of candidates per PU, generate additional candidates if the number of candidates does not reach the maximum number of merge candidates (MaxNumMergeCand) signaled in the slice header. Since the number of candidates is constant, the index of the best merge candidate is coded using truncated unary binarization (TU). If the size of the CU is equal to 8, all PUs of the current CU share one merge candidate list, which is the same as the merge candidate list of the 2Nx2N prediction unit.
以下、上述したステップに関連付けられた動作を詳しく説明する。 The operations associated with the steps above are explained in detail below.
2.2.1.2 空間的候補の導出 2.2.1.2 Deriving spatial candidates
空間的マージ候補の導出において、図10に示す位置にある候補の中から、最大4つのマージ候補を選択する。導出の順序はA1、B1、B0、A0、B2である。位置A1、B1、B0、A0のいずれかのPUが利用可能でない場合(例えば、別のスライスまたはタイルに属しているため)、またはイントラ符号化された場合にのみ、位置B2が考慮される。位置A1の候補を加えた後、残りの候補を加えると、冗長性チェックを受け、それにより、同じ動き情報を有する候補を確実にリストから排除でき、符号化効率を向上させることができる。計算の複雑性を低減するために、前述の冗長性チェックにおいて、考えられる候補対のすべてを考慮することはしない。代わりに、図11において矢印でリンクされた対のみを考慮し、冗長性チェックに使用される対応する候補が同じ動き情報を有していない場合にのみ、その候補をリストに加える。重複した動き情報の別のソースは、2N×2Nとは異なるパーティションに関連付けられた「第2のPU」である。一例として、図12は、それぞれN×2Nおよび2N×Nの場合の第2のPUを示す。現在のPUをN×2Nに分割する場合、リスト構築に位置A1の候補は考慮されない。実際、この候補を加えることにより、同じ動き情報を有する2つの予測ユニットが導かれることとなり、1つの符号化ユニットに1つのPUのみを有するためには冗長である。同様に、現在のPUを2N×Nに分割する場合、位置B1は考慮されない。 In the derivation of spatial merging candidates, up to four merging candidates are selected from the candidates at the positions shown in FIG. 10. The order of derivation is A1 , B1 , B0 , A0 , B2 . Position B2 is considered only if any PU at positions A1 , B1 , B0 , A0 is unavailable (e.g., because it belongs to another slice or tile) or is intra - coded. After adding the candidate at position A1 , adding the remaining candidates is subjected to a redundancy check, which can ensure that candidates with the same motion information are removed from the list and improve coding efficiency. To reduce computational complexity, the aforementioned redundancy check does not consider all possible candidate pairs. Instead, it considers only the pairs linked by arrows in FIG. 11 and adds a candidate to the list only if the corresponding candidate used for the redundancy check does not have the same motion information. Another source of duplicated motion information is a "second PU" associated with a partition different from 2N×2N. As an example, Fig. 12 shows the second PU for Nx2N and 2NxN, respectively. When splitting the current PU into Nx2N, the candidate at position A1 is not considered for list construction. In fact, adding this candidate would lead to two prediction units with the same motion information, which is redundant for having only one PU in one coding unit. Similarly, when splitting the current PU into 2NxN, position B1 is not considered.
2.2.1.3 時間的候補の導出 2.2.1.3 Deriving temporal candidates
このステップにおいて、1つの候補のみがリストに追加される。具体的には、この時間的マージ候補の導出において、所与の参照ピクチャリストにおける現在のピクチャとの間に最小のPOC差を有するピクチャに属する同一位置PUに基づいて、スケーリングされた動きベクトルを導出する。スライスヘッダにおいて、同一位置のPU(co-located PU)の導出に用いられる参照ピクチャリストが明確に信号通知される。図13に点線で示すように、時間的マージ候補のスケーリングされた動きベクトルが得られる。これは、POC距離tbおよびtdを利用して、同一位置のPUの動きベクトルからスケーリングしたものである。tbは、現在のピクチャの参照ピクチャと現在のピクチャのPOC差として規定され、tdは、同一位置のPUの参照ピクチャと同一位置のピクチャのPOC差として規定する。時間的マージ候補の参照ピクチャインデックスをゼロに等しく設定する。このスケーリング処理の実際的な実現については、HEVC仕様に記載されている。Bスライスの場合、2つの動きベクトル、即ち、1つは参照ピクチャリスト0のためのもの、もう1つは参照ピクチャリスト1のためのものを取得し、これらを組み合わせることによって、双方向予測マージ候補を形成する。時間的マージ候補のための動きベクトルのスケーリングの説明。 In this step, only one candidate is added to the list. Specifically, in the derivation of this temporal merge candidate, a scaled motion vector is derived based on the co-located PU belonging to the picture with the smallest POC difference with the current picture in a given reference picture list. In the slice header, the reference picture list used for the derivation of the co-located PU is explicitly signaled. As shown by the dotted line in Figure 13, the scaled motion vector of the temporal merge candidate is obtained, which is scaled from the motion vector of the co-located PU using the POC distances tb and td. tb is defined as the POC difference between the reference picture of the current picture and the current picture, and td is defined as the POC difference between the reference picture of the co-located PU and the co-located picture. The reference picture index of the temporal merge candidate is set equal to zero. The practical realization of this scaling process is described in the HEVC specification. For B slices, we take two motion vectors, one for reference picture list 0 and one for reference picture list 1, and combine them to form a bi-predictive merge candidate. Description of motion vector scaling for temporal merge candidates.
参照フレームに属する同一位置のPU(Y)において、図14に示すように、候補C0と候補C1との間で時間的候補の位置を選択する。位置C0のPUが利用可能でない場合、イントラ符号化されている場合、または現在のCTUの外側にある場合、位置C1が使用される。そうでない場合、位置C0が時間的マージ候補の導出に使用される。 For the co-located PU(Y) belonging to the reference frame, select a location of the temporal candidate between candidates C0 and C1 as shown in Fig. 14. If the PU at location C0 is not available, is intra-coded, or is outside the current CTU, location C1 is used. Otherwise, location C0 is used to derive the temporal merging candidate.
2.2.1.4 追加候補の挿入 2.2.1.4 Inserting additional candidates
空間的-時間的マージ候補の他に、2つの追加のタイプのマージ候補、すなわち、結合双方向予測マージ候補およびゼロマージ候補がある。空間的-時間的マージ候補を利用して、結合双方向予測マージ候補を生成する。結合双方向予測マージ候補は、Bスライスのみに使用される。最初の候補の第1の参照ピクチャリスト動きパラメータと別の候補の第2の参照ピクチャリスト動きパラメータとを組み合わせることで、結合双方向予測候補を生成する。これら2つのタプルが異なる動きの仮説を提供する場合、これらのタプルは、新しい双方向予測候補を形成する。一例として、図15は、オリジナルリスト(左側)における、mvL0およびrefIdxL0、またはmvL1およびrefIdxL1を有する2つの候補を用いて、最終リスト(右側)に加えられる結合双方向予測マージ候補を生成する場合を示す。ここで規定される、これらの追加のマージ候補を生成するために考慮される組み合わせについては、様々な規則が存在する。 Besides spatial-temporal merge candidates, there are two additional types of merge candidates: joint bi-predictive merge candidates and zero merge candidates. The joint bi-predictive merge candidates are utilized to generate joint bi-predictive merge candidates. The joint bi-predictive merge candidates are used only for B slices. The joint bi-predictive candidate is generated by combining the first reference picture list motion parameters of the first candidate with the second reference picture list motion parameters of another candidate. If these two tuples provide different motion hypotheses, they form a new bi-predictive candidate. As an example, FIG. 15 shows the case where two candidates with mvL0 and refIdxL0 or mvL1 and refIdxL1 in the original list (left) are used to generate a joint bi-predictive merge candidate that is added to the final list (right). There are various rules for the combinations considered to generate these additional merge candidates, as specified here.
ゼロ動き候補を挿入し、マージ候補リストにおける残りのエントリを埋めることにより、MaxNumMergeCand容量にヒットする。これらの候補は、空間的変位がゼロであり、新しいゼロ動き候補をリストに加える度にゼロから始まり増加する参照ピクチャインデックスを有する。これらの候補が使用する参照フレームの数は、それぞれ、一方向予測の場合は1つ、双方向予測の場合は2つである。最終的には、これらの候補に対して冗長性チェックは行われない。 By inserting zero motion candidates and filling the remaining entries in the merge candidate list, the MaxNumMergeCand capacity is hit. These candidates have a spatial displacement of zero and a reference picture index that starts from zero and increases each time a new zero motion candidate is added to the list. The number of reference frames used by these candidates is one for unidirectional prediction and two for bidirectional prediction, respectively. Finally, no redundancy check is performed on these candidates.
2.2.1.5 並列処理のための動き推定領域 2.2.1.5 Motion estimation regions for parallel processing
符号化処理を高速化するために、動き推定を並列に行うことができ、それによって、所与の領域内のすべての予測ユニットの動きベクトルを同時に導出する。1つの予測ユニットは、その関連する動き推定が完了するまで、隣接するPUから動きパラメータを導出することができないので、空間的近傍からのマージ候補の導出は、並列処理に干渉する可能性がある。符号化効率と処理待ち時間との間のトレードオフを緩和するために、HEVCは、動き推定領域(MER:Motion Estimation Region)を規定し、そのサイズは、「log2_parallel_merge_level_minus2」構文要素を使用してピクチャパラメータセットにおいて信号通知される。1つのMERを規定するとき、同じ領域にあるマージ候補は使用不可としてマークされ、それゆえにリスト構築においては考慮されない。
7.3.2.3 ピクチャパラメータセットRBSP構文
7.3.2.3.1 一般ピクチャパラメータセットRBSP構文
To speed up the encoding process, motion estimation can be done in parallel, thereby deriving motion vectors for all prediction units in a given region simultaneously. Since one prediction unit cannot derive motion parameters from neighboring PUs until its associated motion estimation is completed, the derivation of merge candidates from spatial neighborhoods can interfere with parallel processing. To mitigate the tradeoff between coding efficiency and processing latency, HEVC specifies a Motion Estimation Region (MER), whose size is signaled in the picture parameter set using the "log2_parallel_merge_level_minus2" syntax element. When specifying one MER, merge candidates in the same region are marked as unavailable and therefore not considered in the list construction.
7.3.2.3 Picture parameter set RBSP syntax 7.3.2.3.1 General picture parameter set RBSP syntax
log2_parallel_merge_level_minus2+2は、8.5.3.2.2.2節で指定されたマージモードの輝度動きベクトルの導出処理と、8.5.3.2.3節で指定された空間的マージ候補の導出処理で使用される変数Log2ParMrgLevelの値を指定する。log2_parallel_merge_level_minus2の値は、0~CtbLog2SizeY-2を含む範囲内とする。
変数Log2ParMrgLevelは、以下のように導出される。
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (7-37)
注3:Log2ParMrgLevelの値は、マージ候補リストを並列に導出する組み込み能力を示す。例えば、Log2ParMrgLevelが6に等しい場合、64×64ブロックに含まれたすべての予測ユニット(PU)および符号化ユニット(CU)のためのマージ候補リストを並列に導出することができる。
log2_parallel_merge_level_minus2+2 specifies the value of the variable Log2ParMrgLevel used in the derivation process of luminance motion vectors in the merge mode specified in Section 8.5.3.2.2.2 and in the derivation process of spatial merge candidates specified in Section 8.5.3.2.3. The value of log2_parallel_merge_level_minus2 is in the range of 0 to CtbLog2SizeY-2 inclusive.
The variable Log2ParMrgLevel is derived as follows:
Log2ParMrgLevel=log2_parallel_merge_level_minus2+2 (7-37)
NOTE 3: The value of Log2ParMrgLevel indicates the built-in capability of deriving merge candidate lists in parallel. For example, if Log2ParMrgLevel is equal to 6, then merge candidate lists for all prediction units (PUs) and coding units (CUs) contained in a 64x64 block can be derived in parallel.
2.2.2 AMVPモードにおける動きベクトル予測 2.2.2 Motion vector prediction in AMVP mode
動きベクトル予測は、動きベクトルと近傍のPUとの間の空間的-時間的相関を利用し、これを動きパラメータの明確な伝送に用いる。まず、左側、上側の時間的に近傍のPU位置の可用性をチェックし、冗長な候補を取り除き、ゼロベクトルを加えることで、候補リストの長さを一定にすることで、動きベクトル候補リストを構築する。次いで、エンコーダは、候補リストから最良の予測因子を選択し、選択された候補を示す対応するインデックスを送信することができる。マージインデックスの信号通知と同様に、最良の動きベクトル候補のインデックスは、短縮された単項を使用して符号化される。この場合の符号化対象の最大値は2である(例えば、図2~図8)。以下の章では、動きベクトル予測候補の導出処理の詳細を説明する。 Motion vector prediction exploits the spatial-temporal correlation between motion vectors and neighboring PUs, which is used for explicit transmission of motion parameters. First, a motion vector candidate list is constructed by checking the availability of the left, upper temporally neighboring PU positions, removing redundant candidates, and adding zero vectors to keep the length of the candidate list constant. Then, the encoder can select the best predictor from the candidate list and transmit the corresponding index indicating the selected candidate. Similar to the merge index signaling, the index of the best motion vector candidate is coded using a shortened unary term. The maximum value to be coded in this case is 2 (e.g., Figures 2 to 8). The following sections will explain the details of the motion vector prediction candidate derivation process.
2.2.2.1 動きベクトル予測候補の導出 2.2.2.1 Deriving motion vector prediction candidates
図16に、動きベクトル予測候補の導出処理をまとめる。 Figure 16 summarizes the process of deriving motion vector prediction candidates.
動きベクトル予測において、空間的動きベクトル候補と時間的動きベクトル候補という2つのタイプの動きベクトル候補が考慮される。空間的動きベクトル候補を導出するために、図11に示したように、5つの異なる位置にある各PUの動きベクトルに基づいて、最終的には2つの動きベクトル候補を導出する。 In motion vector prediction, two types of motion vector candidates are considered: spatial motion vector candidates and temporal motion vector candidates. To derive spatial motion vector candidates, two motion vector candidates are ultimately derived based on the motion vectors of each PU at five different positions, as shown in FIG. 11.
時間的動きベクトル候補の導出のために、2つの異なる同一位置の配置に基づいて導出された2つの候補から1つの動きベクトル候補を選択する。空間的-時間的候補の最初のリストを作成した後、リストにおける重複した動きベクトル候補を除去する。可能性のある候補の数が2よりも多い場合、関連づけられた参照ピクチャリストにおける参照ピクチャインデックスが1よりも大きい動きベクトル候補をリストから削除する。空間的-時間的動きベクトル候補の数が2未満である場合は、追加のゼロ動きベクトル候補をリストに加える。 For derivation of a temporal motion vector candidate, select one motion vector candidate from two candidates derived based on two different co-location arrangements. After creating an initial list of spatial-temporal candidates, remove duplicate motion vector candidates in the list. If the number of possible candidates is greater than two, remove from the list the motion vector candidates whose reference picture index in the associated reference picture list is greater than 1. If the number of spatial-temporal motion vector candidates is less than two, add an additional zero motion vector candidate to the list.
2.2.2.2 空間的動きベクトル候補 2.2.2.2 Spatial motion vector candidates
空間的動きベクトル候補の導出において、図11に示したような位置にあるPUから導出された5つの可能性のある候補のうち、動きマージと同じ位置にあるものを最大2つの候補を考慮する。現在のPUの左側のための導出の順序は、A0、A1、スケーリングされたA0、スケーリングされたA1として規定される。現在のPUの上側のための導出の順序は、B0、B1、B2、スケーリングされたB0、スケーリングされたB1、スケーリングされたB2として規定される。そのため、辺ごとに、動きベクトル候補として使用できる場合が4つ、すなわち空間的スケーリングを使用する必要がない2つの場合と、空間的スケーリングを使用する2つの場合とがある。4つの異なる場合をまとめると、以下のようになる。
・空間的スケーリングなし
-(1)同じ参照ピクチャリスト、かつ、同じ参照ピクチャインデックス(同じPOC)
-(2)異なる参照ピクチャリスト、かつ、同じ参照ピクチャ(同じPOC)
・空間的スケーリング
-(3)同じ参照ピクチャリスト、かつ、異なる参照ピクチャ(異なるPOC)
-(4)異なる参照ピクチャリスト、かつ、異なる参照ピクチャ(異なるPOC)
In deriving spatial motion vector candidates, we consider up to two candidates out of five possible candidates derived from PUs located as shown in Fig. 11 that are in the same position as the motion merge. The order of derivation for the left side of the current PU is defined as A0 , A1 , scaled A0 , scaled A1 . The order of derivation for the top side of the current PU is defined as B0 , B1 , B2 , scaled B0 , scaled B1 , scaled B2 . So, for each side, there are four possible cases for motion vector candidates: two cases that do not require spatial scaling and two cases that use spatial scaling. The four different cases can be summarized as follows:
No spatial scaling: (1) Same reference picture list and same reference picture index (same POC)
- (2) Different reference picture lists and the same reference picture (same POC)
Spatial Scaling - (3) Same reference picture list but different reference pictures (different POC)
(4) Different reference picture lists and different reference pictures (different POCs)
最初に非空間的スケーリングの場合をチェックし、次に空間的スケーリングを行う。参照ピクチャリストにかかわらず、POCが近傍のPUの参照ピクチャと現在のPUの参照ピクチャとで異なる場合、空間的スケーリングを考慮する。左側候補のすべてのPUが利用可能でないか、またはイントラ符号化されている場合、上側の動きベクトルのスケーリングは、左側および上側MV候補の並列導出に役立つ。そうでない場合、上側の動きベクトルに対して空間的スケーリングは許可されない。 Check the non-spatial scaling case first, then do spatial scaling. Consider spatial scaling if POC is different between neighboring PU's reference picture and current PU's reference picture, regardless of reference picture list. Scaling top motion vector helps parallel derivation of left and top MV candidates if all PUs of left candidate are not available or are intra-coded. Otherwise, no spatial scaling is allowed for top motion vector.
空間的スケーリング処理において、図17に示すように、時間的スケーリングと同様にして、近傍のPUの動きベクトルをスケーリングする。主な違いは、現在のPUの参照ピクチャリストおよびインデックスを入力として与え、実際のスケーリング処理は時間的スケーリングと同じであることである。 In the spatial scaling process, we scale the motion vectors of neighboring PUs in a similar manner to temporal scaling, as shown in Figure 17. The main difference is that the reference picture list and index of the current PU are given as input, and the actual scaling process is the same as temporal scaling.
2.2.2.3 時間的動きベクトル候補 2.2.2.3 Temporal motion vector candidates
参照ピクチャインデックスを導出する以外は、時間的マージ候補を導出するための処理は、すべて、空間的動きベクトル候補を導出するための処理と同じである(図6参照)。参照ピクチャインデックスはデコーダに信号通知される。 Other than deriving the reference picture index, all the processes for deriving temporal merge candidates are the same as the processes for deriving spatial motion vector candidates (see Figure 6). The reference picture index is signaled to the decoder.
2.2.2.4 AMVP情報の信号通知 2.2.2.4 Signaling of AMVP information
AMVPモードの場合、ビットストリームにおいて、4つの部分、すなわち、予測方向、参照インデックス、MVD、およびmv予測因子候補インデックスを信号通知することができる。
構文テーブル:
For AMVP mode, four parts can be signaled in the bitstream: prediction direction, reference index, MVD, and mv predictor candidate index.
Syntax table:
7.3.8.9 動きベクトル差構文 7.3.8.9 Motion Vector Difference Syntax
2.3 JEM(Joint Exploration Model)における新しいインター予測方法 2.3 New inter-prediction method in JEM (Joint Exploration Model)
2.3.1 サブCUに基づく動きベクトル予測 2.3.1 Sub-CU based motion vector prediction
QTBTを有するJEMにおいて、各CUは、各予測方向に対して最大1つの動きパラメータのセットを有することができる。エンコーダにおいて、大きなCUをサブCUに分割し、大きなCUのすべてのサブCUの動き情報を導出することにより、2つのサブCUレベルの動きベクトル予測方法を考慮する。ATMVP(Alternative Temporal Motion Vector Prediction)方法により、各CUが、配列された参照ピクチャにおける現在のCUよりも小さい複数のブロックから複数の動き情報のセットをフェッチすることが可能となる。STMVP(Spatial-Temporal Motion Vector Prediction)法において、時間的動きベクトル予測因子および空間的近傍動きベクトルを使用して、サブCUの動きベクトルを再帰的に導出する。 In JEM with QTBT, each CU can have at most one set of motion parameters for each prediction direction. In the encoder, we consider two sub-CU level motion vector prediction methods by splitting a large CU into sub-CUs and deriving motion information for all sub-CUs of the large CU. The Alternative Temporal Motion Vector Prediction (ATMVP) method allows each CU to fetch multiple sets of motion information from multiple blocks smaller than the current CU in the aligned reference picture. In the Spatial-Temporal Motion Vector Prediction (STMVP) method, we use the temporal motion vector predictor and spatial neighborhood motion vectors to recursively derive the motion vectors of the sub-CUs.
サブCU動き予測のためにより正確な動きフィールドを維持するために、参照フレームの動き圧縮は現在無効にされている。 To maintain a more accurate motion field for sub-CU motion estimation, reference frame motion compression is currently disabled.
2.3.1.1 代替の時間的動きベクトル予測 2.3.1.1 Alternative temporal motion vector prediction
ATMVP(Alternative Temporal Motion Vector Prediction)において、TMVP(Temporal Motion Vector Prediction)法は、現在のCUより小さいブロックから複数セットの動き情報(動きベクトルおよび参照インデックスを含む)をフェッチすることで修正される。図18に示すように、サブCUは、正方形のN×Nブロックである(デフォルトでは、Nは4に設定される)。 In Alternative Temporal Motion Vector Prediction (ATMVP), the Temporal Motion Vector Prediction (TMVP) method is modified by fetching multiple sets of motion information (including motion vectors and reference indexes) from blocks smaller than the current CU. As shown in Figure 18, a sub-CU is a square NxN block (by default, N is set to 4).
ATMVPは、CU内のサブCUの動きベクトルを2つのステップで予測する。第1のステップは、参照ピクチャにおける対応するブロックを、いわゆる時間的ベクトルで特定することである。この参照ピクチャを動きソースピクチャと呼ぶ。第2のステップは、図18に示すように、現在のCUをサブCUに分割し、各サブCUに対応するブロックから各サブCUの動きベクトルならびに参照インデックスを取得する。 ATMVP predicts motion vectors of sub-CUs in a CU in two steps. The first step is to identify the corresponding block in a reference picture with a so-called temporal vector. This reference picture is called the motion source picture. The second step is to split the current CU into sub-CUs and obtain the motion vector and reference index of each sub-CU from the block corresponding to each sub-CU, as shown in Figure 18.
第1のステップにおいて、現在のCUの空間的に近傍のブロックの動き情報によって、参照ピクチャおよび対応するブロックを決定する。近傍のブロックの繰り返し走査処理を回避するために、現在のCUのマージ候補リストにおける最初のマージ候補を用いる。最初の利用可能な動きベクトルおよびその関連する参照インデックスを、時間的ベクトルおよび動きソースピクチャのインデックスに設定する。このように、ATMVPでは、TMVPに比べて、対応するブロックをより正確に特定することができ、対応するブロック(配列されたブロックと呼ばれることがある)は、常に現在のCUに対して右下または中心位置にある。1つの例において、最初のマージ候補が左側の近傍のブロック(即ち、図19のA1)からのものである場合、関連するMVおよび参照ピクチャを利用して、ソースブロックおよびソースピクチャを特定する。 In the first step, the reference picture and corresponding block are determined by the motion information of the spatially neighboring blocks of the current CU. To avoid the repeated scanning process of the neighboring blocks, the first merging candidate in the merging candidate list of the current CU is used. The first available motion vector and its associated reference index are set to the temporal vector and the index of the motion source picture. In this way, the corresponding block can be identified more accurately in ATMVP compared with TMVP, and the corresponding block (sometimes called the aligned block) is always in the lower right or center position with respect to the current CU. In one example, if the first merging candidate is from the left neighboring block (i.e., A 1 in FIG. 19 ), the associated MV and reference picture are utilized to identify the source block and source picture.
図19は、ソースブロックおよびソースピクチャの特定の例を示す。 Figure 19 shows specific examples of source blocks and source pictures.
第2のステップにおいて、現在のCUの座標に時間ベクトルを加えることで、動きソースピクチャにおける時間的ベクトルによって、サブCUの対応するブロックを特定する。サブCUごとに、その対応するブロックの動き情報(中心サンプルを覆う最小の動きグリッド)を使用して、サブCUの動き情報を導出する。対応するN×Nブロックの動き情報を特定した後、HEVCのTMVPと同様に、現在のサブCUの動きベクトルおよび参照インデックスに変換され、動きスケーリングや他の手順が適用される。例えば、デコーダは、低遅延条件(すなわち、現在のピクチャのすべての参照ピクチャのPOCが現在のピクチャのPOCよりも小さい)が満たされているかどうかをチェックし、場合によっては、動きベクトルMVx(参照ピクチャリストXに対応する動きベクトル)を使用して、各サブCUの動きベクトルMVy(Xが0または1に等しく、Yが1-Xに等しい)を予測する。 In the second step, the corresponding block of the sub-CU is identified by its temporal vector in the motion source picture by adding the temporal vector to the coordinates of the current CU. For each sub-CU, the motion information of its corresponding block (the smallest motion grid covering the center sample) is used to derive the motion information of the sub-CU. After identifying the motion information of the corresponding N×N block, it is converted into the motion vector and reference index of the current sub-CU, and motion scaling and other procedures are applied, similar to TMVP in HEVC. For example, the decoder checks whether the low-latency condition (i.e., the POC of all reference pictures of the current picture is smaller than the POC of the current picture) is met, and possibly predicts the motion vector MVy (X equals 0 or 1, and Y equals 1-X) of each sub-CU using the motion vector MVx (the motion vector corresponding to the reference picture list X).
2.3.1.2 空間的-時間的動きベクトル予測 2.3.1.2 Spatial-temporal motion vector prediction
この方法において、サブCUの動きベクトルは、ラスタスキャンの順に沿って再帰的に導出される。図20にこの概念を示す。4つの4×4サブCUであるA、B、C、およびDを含む8×8CUを考える。現在のフレームの近傍の4×4ブロックには、a、b、c、dというラベルが付けられている。 In this method, motion vectors for sub-CUs are derived recursively along the raster scan order. Figure 20 illustrates this concept. Consider an 8x8 CU that contains four 4x4 sub-CUs, A, B, C, and D. The neighboring 4x4 blocks in the current frame are labeled a, b, c, and d.
サブCUのAの動きの導出は、その2つの空間的近傍を特定することで始まる。第1の近傍は、サブCUのAの上のN×Nブロックである(ブロックc)。このブロックcが利用可能でないか、またはイントラ符号化されている場合、サブCU Aより上の他のN×N個のブロックをチェックする(ブロックcから始まり、左から右へ)。第2の近傍は、サブCUのAの左側のブロックである(ブロックb)。ブロックbが利用可能でないか、またはイントラ符号化されている場合、サブCU Aの左側の他のブロックをチェックする(ブロックbから始まり、上から下へ)。各リストの近傍のブロックから得られた動き情報を、所与のリストの第1の参照フレームにスケーリングする。次に、HEVCに規定されているTMVP(Temporal Motion Vector Predictor)導出と同様の手順に従って、サブブロックAのTMVPを導出する。位置Dにおける配列されたブロックの動き情報をフェッチし、それに応じてスケーリングする。最後に、動き情報を検索し、スケーリングした後、参照リストごとにすべての利用可能な動きベクトル(3まで)を別々に平均する。この平均化された動きベクトルを現在のサブCUの動きベクトルとする。 The motion derivation of sub-CU A starts by identifying its two spatial neighbors. The first neighbor is the N×N block above sub-CU A (block c). If this block c is not available or is intra-coded, check the other N×N blocks above sub-CU A (starting from block c, going from left to right). The second neighbor is the block to the left of sub-CU A (block b). If block b is not available or is intra-coded, check the other blocks to the left of sub-CU A (starting from block b, going from top to bottom). The motion information obtained from the neighboring blocks in each list is scaled to the first reference frame of a given list. Then, derive the TMVP for sub-block A following a procedure similar to the TMVP derivation specified in HEVC. Fetch the motion information of the aligned blocks at position D and scale accordingly. Finally, after retrieving and scaling the motion information, we average all available motion vectors (up to 3) separately for each reference list. Let this averaged motion vector be the motion vector of the current sub-CU.
図20は、4つのサブブロック(A-D)およびその近傍のブロックを有する1つのCUの例を示す。 Figure 20 shows an example of one CU with four subblocks (A-D) and their neighboring blocks.
2.3.1.3 サブCU動き予測モード信号通知 2.3.1.3 Sub-CU motion prediction mode signal notification
サブCUモードは追加のマージ候補として有効とされ、モードを信号通知するために追加の構文要素は必要とされない。ATMVPモードおよびSTMVPモードを表すように、各CUのマージ候補リストに2つの追加のマージ候補を加える。シーケンスパラメータセットがATMVPおよびSTMVPが有効であることを示す場合、7個までのマージ候補を使用する。追加のマージ候補の符号化ロジックは、HMにおけるマージ候補の場合と同じであり、つまり、PまたはBスライスにおける各CUについて、2つの追加のマージ候補に対して2回以上のRDチェックが必要となる。 Sub-CU mode is enabled as an additional merge candidate, and no additional syntax elements are required to signal the mode. Add two additional merge candidates to the merge candidate list of each CU to represent ATMVP and STMVP modes. Use up to seven merge candidates if the sequence parameter set indicates that ATMVP and STMVP are enabled. The encoding logic of the additional merge candidates is the same as that of the merge candidates in HM, i.e., for each CU in a P or B slice, two or more RD checks are required for the two additional merge candidates.
JEMにおいて、マージインデックスのすべてのビンは、CABACによって符号化されたコンテキストである。一方、HEVCにおいては、最初のビンのみが符号化されたコンテキストであり、残りのビンはバイパス符号化されたコンテキストである。 In JEM, all bins of the merge index are CABAC coded contexts, whereas in HEVC, only the first bin is a coded context and the remaining bins are bypass coded contexts.
2.3.2 適応型動きベクトル差解像度 2.3.2 Adaptive motion vector difference resolution
HEVCにおいて、use_integer_mv_flagがスライスヘッダにおいて0であるとき、1/4輝度サンプルの単位で動きベクトル差分(MVD:Motion Vector Difference)(動きベクトルとPUの予測動きベクトルとの差)が信号通知される。JEMにおいて、LAMVR(Locally Adaptive Motion Vector Resolution)が導入される。JEMにおいて、MVDは、1/4輝度サンプル、整数輝度サンプル、または4つの輝度サンプルの単位復号化できる。MVD解像度は符号化ユニット(CU)レベルで制御され、MVD解像度フラグは、少なくとも1つの非ゼロMVDの構成要素を有する各CUに対して条件付きで信号通知される。 In HEVC, when use_integer_mv_flag is 0 in the slice header, the Motion Vector Difference (MVD) (the difference between the motion vector and the predicted motion vector of the PU) is signaled in units of 1/4 luma samples. In JEM, Locally Adaptive Motion Vector Resolution (LAMVR) is introduced. In JEM, MVD can be decoded in units of 1/4 luma samples, integer luma samples, or 4 luma samples. MVD resolution is controlled at the coding unit (CU) level, and the MVD resolution flag is conditionally signaled for each CU that has at least one non-zero MVD component.
少なくとも1つの非ゼロMVDの構成要素を有するCUの場合、1/4輝度サンプルMV精度がCUにおいて使用されるか否かを示すために、第1のフラグが信号通知される。第1のフラグ(1に等しい)が、1/4輝度サンプルMV精度が使用されていないことを示す場合、整数輝度サンプルMV精度が使用されるかまたは4輝度サンプルMV精度が使用されるかを示すために、別のフラグが信号通知される。 For a CU with at least one non-zero MVD component, a first flag is signaled to indicate whether quarter luma sample MV precision is used in the CU. If the first flag (equal to 1) indicates that quarter luma sample MV precision is not used, another flag is signaled to indicate whether integer luma sample MV precision or 4 luma sample MV precision is used.
CUの第1のMVD解像度フラグがゼロであるか、またはCUに対して符号化されていない(つまり、CUにおけるすべてのMVDがゼロである)場合、CUに対して1/4輝度サンプルMV解像度が使用される。CUが整数輝度サンプルMV精度または4輝度サンプルMV精度を使用する場合、CUのAMVP候補リストにおけるMVPを対応する精度に丸める。 If the first MVD resolution flag of a CU is zero or is not coded for the CU (i.e., all MVDs in the CU are zero), then 1/4 luma sample MV resolution is used for the CU. If the CU uses integer luma sample MV precision or 4 luma sample MV precision, round the MVPs in the CU's AMVP candidate list to the corresponding precision.
エンコーダにおいて、CUレベルのRDチェックは、どのMVD解像度をCUに用いるかを決定するために用いられる。すなわち、1つのMVD解像度ごとに3回、CUレベルのRDチェックを行う。エンコーダの速度を速めるために、JEMにおいては、以下のエン符号化方式が適用される。 In the encoder, the CU-level RD check is used to determine which MVD resolution to use for the CU. That is, the CU-level RD check is performed three times for each MVD resolution. To increase the encoder speed, the following encoding method is applied in JEM:
通常の1/4輝度サンプルMVD解像度を有するCUのRDチェック中、現在のCUの動き情報(整数輝度サンプル精度)が記憶される。整数輝度サンプルおよび4輝度サンプルのMVD解像度を有する同じCUのRDチェック中に、記憶された動き情報(丸められた後)は、更なる小範囲の動きベクトル改良の開始点として使用されるので、時間がかかる動き推定処理が3回重複しない。 During RD check of a CU with normal 1/4 luma sample MVD resolution, the motion information (integer luma sample precision) of the current CU is stored. During RD check of the same CU with integer luma sample and 4 luma sample MVD resolution, the stored motion information (after rounding) is used as a starting point for further small range motion vector refinement, so that the time consuming motion estimation process is not duplicated three times.
4輝度サンプルMVD解像度を有するCUのRDチェックを条件付きで呼び出す。CUの場合、整数輝度サンプルMVD解像度のRDコストが1/4輝度サンプルMVD解像度のそれよりもはるかに大きい場合、CUのための4輝度サンプルMVD解像度のRDチェックは省略される。 Conditionally invoke RD check for CUs with 4 luma sample MVD resolution. For a CU, if the RD cost of integer luma sample MVD resolution is much greater than that of 1/4 luma sample MVD resolution, then the RD check of 4 luma sample MVD resolution for the CU is omitted.
2.3.3 パターンマッチング動きベクトル導出 2.3.3 Pattern matching motion vector derivation
PMMVD(Pattern Matched Motion Vector Derivation)モードは、FRUC(Frame-Rate Up Conversion)技術に基づく特殊なマージモードである。このモードでは、ブロックの動き情報は信号通知されず、デコーダ側で導出される。 PMMVD (Pattern Matched Motion Vector Derivation) mode is a special merge mode based on FRUC (Frame-Rate Up Conversion) technology. In this mode, the motion information of the blocks is not signaled but derived on the decoder side.
そのマージフラグが真である場合、FRUCフラグは、CUに信号通知される。FRUCフラグが偽である場合、マージインデックスは信号通知され、通常のマージモードが使用される。FRUCフラグが真である場合、追加のFRUCモードフラグを信号通知して、どの方法(バイラテラルマッチングまたはテンプレートマッチング)を使用してブロックの動き情報を導出するかを示す。 If that merge flag is true, then the FRUC flag is signaled to the CU. If the FRUC flag is false, then the merge index is signaled and normal merge mode is used. If the FRUC flag is true, then an additional FRUC mode flag is signaled to indicate which method (bilateral matching or template matching) is used to derive the motion information for the block.
エンコーダ側では、CUのためにFRUCマージモードを使用するかどうかの決定は、通常のマージ候補に対して行われるのと同じように、RDコストの選択に基づく。つまり、RDコスト選択を使用して、1つのCUに対して2つのマッチングモード(バイラテラルマッチングおよびテンプレートマッチング)を両方チェックする。最小コストに導くものが、更に、他のCUモードと比較される。FRUCマッチングモードが最も効率的なものである場合、CUに対してFRUCフラグを真に設定し、関連するマッチングモードを使用する。 On the encoder side, the decision to use FRUC merge mode for a CU is based on the RD cost selection, just as it is done for normal merge candidates. That is, we check both two matching modes (bilateral matching and template matching) for one CU using the RD cost selection. The one that leads to the minimum cost is further compared with other CU modes. If the FRUC matching mode is the most efficient one, we set the FRUC flag to true for the CU and use the associated matching mode.
FRUCマージモードにおける動き導出処理は、2つのステップを有する。まず、CUレベルの動き探索を実行し、次に、サブCUレベルの動き改良を実行する。CUレベルでは、バイラテラルマッチングまたはテンプレートマッチングに基づいて、CU全体のための初期の動きベクトルを導出する。まず、MV候補のリストを生成し、最小マッチングコストに導く候補を、さらなるCUレベル改善の開開始点として選択する。そして、開始点付近のバイラテラルマッチングまたはテンプレートマッチングに基づく局所検索を行い、最小マッチングコストとなるMV結果をCU全体のMVとする。続いて、導出されたCU動きベクトルを開始点として、サブCUレベルでの動き情報をさらに改良する。 The motion derivation process in FRUC merge mode has two steps. First, a CU-level motion search is performed, and then a sub-CU-level motion refinement is performed. At the CU level, an initial motion vector for the entire CU is derived based on bilateral matching or template matching. First, a list of MV candidates is generated, and the candidate that leads to the minimum matching cost is selected as the opening starting point for further CU-level refinement. Then, a local search based on bilateral matching or template matching is performed near the starting point, and the MV result that results in the minimum matching cost is taken as the MV for the entire CU. Next, the derived CU motion vector is used as the starting point to further refine the motion information at the sub-CU level.
例えば、W×H CU動き情報導出のために、以下の導出処理を行う。第1のステージにおいて、W×H CU全体のためのMVが導出される。第2のステージにおいて、CUは、M×M個のサブCUにさらに分割される。Mの値は、(16)のように計算されるが、Dは、予め規定義された分割深さであり、JEMにおいてデフォルトで3に設定される。そして、各サブCUのMVを導出する。 For example, to derive WxH CU motion information, the following derivation process is performed: In the first stage, MVs for the entire WxH CU are derived. In the second stage, the CU is further divided into MxM sub-CUs. The value of M is calculated as in (16), where D is a predefined division depth, which is set to 3 by default in JEM. Then, MVs for each sub-CU are derived.
図21に示すように、このバイラテラルマッチングは、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロック間の最も近いマッチングを見出すことにより、現在のCUの動き情報を導出するために用いられる。連続した動き軌跡を仮定すると、2つの参照ブロックを指す動きベクトルMV0およびMV1は、現在のピクチャと2つの参照ピクチャとの間の時間的距離、例えばTD0およびTD1に比例する。特殊なケースとしては、現在のピクチャが時間的に2つの参照ピクチャの間にあり、現在のピクチャから2つの参照ピクチャまでの時間的な距離が同じである場合、バイラテラルマッチングはミラーに基づく双方向MVとなる。 As shown in Figure 21, this bilateral matching is used to derive the motion information of the current CU by finding the closest match between two blocks along the motion trajectory of the current CU in two different reference pictures. Assuming a continuous motion trajectory, the motion vectors MV0 and MV1 pointing to the two reference blocks are proportional to the temporal distance between the current picture and the two reference pictures, e.g., TD0 and TD1. As a special case, when the current picture is temporally between the two reference pictures and the temporal distance from the current picture to the two reference pictures is the same, the bilateral matching becomes a mirror-based bidirectional MV.
図22に示すように、現在のピクチャにおけるテンプレート(現在のCUの上側および/または左側の近傍のブロック)と、参照ピクチャにおけるブロック(テンプレートと同じサイズ)との間の最も近いマッチングを見出すことで、テンプレートマッチングを使用して、現在のCUの動き情報を導出する。前述のFRUCマージモード以外に、テンプレートマッチングは、AMVPモードにも適用される。JEMにおいて、HEVCと同様、AMVPは2つの候補を有する。テンプレートマッチング法を用いることで、新しい候補を導出する。テンプレートマッチングによって新規に導出された候補が、第1の既存のAMVP候補と異なる場合、AMVP候補リストの最初に挿入し、次に、リストサイズを2(第2の既存のAMVP候補を取り除くことを意味する)に設定する。AMVPモードに適用される場合、CUレベル検索のみが適用される。 As shown in FIG. 22, template matching is used to derive motion information of the current CU by finding the closest match between a template in the current picture (nearby blocks above and/or to the left of the current CU) and a block in the reference picture (same size as the template). Besides the aforementioned FRUC merge mode, template matching is also applied to the AMVP mode. In JEM, similar to HEVC, AMVP has two candidates. A new candidate is derived by using the template matching method. If the newly derived candidate by template matching is different from the first existing AMVP candidate, it is inserted at the beginning of the AMVP candidate list, and then the list size is set to 2 (meaning removing the second existing AMVP candidate). When applied to the AMVP mode, only CU level search is applied.
2.3.3.1 CUレベルMV候補セット 2.3.3.1 CU-level MV candidate set
CUレベルのMV候補セットは、以下からなる。
(i)現在のCUがAMVPモードになっている場合の元のAMVP候補
(ii)すべてのマージ候補、
(iii)補間MVフィールド内の複数のMV。
(iv)上と左の近傍の動きベクトル
The CU-level MV candidate set consists of:
(i) the original AMVP candidate if the current CU is in AMVP mode; (ii) all merge candidates;
(iii) Multiple MVs in an interpolated MV field.
(iv) Motion vectors of the top and left neighbors
バイラテラルマッチングを使用する場合、マージ候補の各有効なMVを入力として使用して、バイラテラルマッチングを仮定してMV対を生成する。例えば、マージ候補の1つの有効なMVは、参照リストAにおいて(MVa,refa)である。そして、その対をなすバイラテラルMVの参照ピクチャrefbが他の参照リストBにおいて見出され、refaおよびrefbは、時間的に現在のピクチャの異なる側にある。参照リストBにおいてこのようなrefbが利用可能でない場合、refbをrefaとは異なる参照として決定し、現在のピクチャとの時間的距離はリストBにおける最小値である。refbを決定した後、現在のピクチャとrefa,refbとの時間距離に基づいてMVaをスケーリングすることでMVbを導出する。 When bilateral matching is used, each valid MV of the merge candidate is used as input to generate an MV pair assuming bilateral matching. For example, one valid MV of the merge candidate is (MVa, refa) in reference list A. Then, the reference picture refb of the paired bilateral MV is found in another reference list B, where refa and refb are on different sides of the current picture in time. If no such refb is available in reference list B, determine refb as a reference different from refa, whose temporal distance to the current picture is the minimum value in list B. After determining refb, derive MVb by scaling MVa based on the temporal distance between the current picture and refa and refb.
補間されたMVフィールドからの4つのMVもCUレベル候補リストに追加する。具体的には、現在のCUの(0,0)、(W/2,0)、(0,H/2)、(W/2,H/2)の位置の補間MVを加算する。 Add the four MVs from the interpolated MV field to the CU level candidate list as well. Specifically, add the interpolated MVs at positions (0,0), (W/2,0), (0,H/2), and (W/2,H/2) of the current CU.
AMVPモードでFRUCを適用する場合、元のAMVP候補をCUレベルMV候補セットにも加える。 When applying FRUC in AMVP mode, the original AMVP candidate is also added to the CU-level MV candidate set.
CUレベルにおいて、AMVP CUのための最大15個のMVおよびマージCUのための最大13個のMVを候補リストに加える。 At the CU level, add up to 15 MVs for AMVP CU and up to 13 MVs for merged CU to the candidate list.
2.3.3.2 サブCUレベルMV候補セット 2.3.3.2 Sub-CU level MV candidate set
サブCUレベルのMV候補セットは、以下からなる。
(i)CUレベルの検索から決定されたMV、
(ii)上、左、左上、右上の近傍のMV、
(iii)参照ピクチャからの並置されたMVのスケーリングされたバージョン、
(iv)最大4つのATMVP候補、
(v)最大4つのSTMVP候補
The sub-CU level MV candidate set consists of:
(i) MVs determined from CU-level searches;
(ii) MVs in the top, left, top left, and top right neighborhoods;
(iii) a scaled version of the collocated MV from the reference picture;
(iv) up to four ATMVP candidates;
(v) Up to four STMVP candidates
参照ピクチャからのスケーリングされたMVは、以下のように導出される。両方のリストにおける参照ピクチャをすべてトラバースする。参照ピクチャにおけるサブCUの配列位置にあるMVは、開始CUレベルMVの参照に対してスケーリングされる。 The scaled MV from the reference picture is derived as follows: traverse all reference pictures in both lists. The MV at the sub-CU's alignment position in the reference picture is scaled with respect to the reference of the starting CU level MV.
ATMVPおよびSTMVPの候補は、最初の4つの候補に限定される ATMVP and STMVP candidates are limited to the first four candidates
サブCUレベルにおいて、最大17個のMVが候補リストに追加される。 At the sub-CU level, a maximum of 17 MVs are added to the candidate list.
2.3.3.3 補間MVフィールドの生成 2.3.3.3 Generation of interpolated MV fields
フレームを符号化する前に、一方のMEに基づいてピクチャ全体に対して補間動きフィールドを生成する。そして、この動きフィールドを後にCUレベルまたはサブCUレベルのMV候補として使用してもよい。 Before encoding a frame, an interpolated motion field is generated for the entire picture based on one ME. This motion field may then be used as a CU-level or sub-CU-level MV candidate.
まず、両方の参照リストにおける各参照ピクチャの動きフィールドは、4×4ブロックレベルでトラバースされる。各4×4ブロックにおいて、現在のピクチャ(図23に示す)の4×4ブロックを通過するブロックに関連する動きで、補間動きがまだ割り当てられていない場合、時間的距離TD0およびTD1に基づいて(HEVCにおけるTMVPのMVスケーリングと同様に)、参照ブロックの動きを現在のピクチャにスケーリングし、スケーリングされた動きを現在のフレームのブロックに割り当てる。4×4ブロックにスケーリングされたMVが割り当てられていない場合、ブロックの動きは、補間された動きフィールドにおいて利用不可能であるとマークされる。 First, the motion field of each reference picture in both reference lists is traversed at the 4x4 block level. For each 4x4 block, if the motion associated with the block passing through the 4x4 block in the current picture (shown in Figure 23) does not already have an interpolated motion assigned to it, scale the motion of the reference block to the current picture based on the temporal distances TD0 and TD1 (similar to MV scaling of TMVP in HEVC) and assign the scaled motion to the block in the current frame. If the 4x4 block does not have a scaled MV assigned to it, the motion of the block is marked as unavailable in the interpolated motion field.
2.3.3.4 補間およびマッチングコスト 2.3.3.4 Interpolation and matching costs
1つの動きベクトルが1つの分数のサンプル位置を指す場合、動き補償補間が必要である。複雑性を低減するために、通常の8タップHEVC補間の代わりに、バイラテラルマッチングおよびテンプレートマッチングの両方に双線形補間を使用する。 When one motion vector points to one fractional sample location, motion compensated interpolation is needed. To reduce complexity, we use bilinear interpolation for both bilateral and template matching instead of the usual 8-tap HEVC interpolation.
マッチングコストの計算は、異なるステップでは少し異なる。CUレベルの候補セットから候補を選択する場合、マッチングコストは、バイラテラルマッチングまたはテンプレートマッチングの差分の絶対値の和(SAD)である。開始MVを決定した後、サブCUレベル検索におけるバイラテラルマッチングのマッチングコストCを以下のように算出する。 The calculation of the matching cost is slightly different in different steps. When selecting a candidate from the CU-level candidate set, the matching cost is the sum of absolute differences (SAD) of bilateral matching or template matching. After determining the starting MV, we calculate the matching cost C of bilateral matching in the sub-CU level search as follows:
ここで、wは、経験的に4に設定された重み係数であり、MVおよびMVsは、それぞれ、現在のMVおよび開始MVを示す。SADは、依然として、サブCUレベル検索におけるテンプレートマッチングのマッチングコストとして使用される。 where w is a weighting factor empirically set to 4, and MV and MV s denote the current MV and the starting MV, respectively. The SAD is still used as the matching cost for template matching in the sub-CU level search.
FRUCモードにおいて、MVは、輝度サンプルのみを使用することによって導出される。導出された動きは、MCインター予測のために、輝度および彩度の両方に使用される。MVを決定した後、輝度用の8タップ補間フィルタおよび彩度用の4タップ補間フィルタを使用して、最終的なMCを行う。 In FRUC mode, MV is derived by using only luma samples. The derived motion is used for both luma and chroma for MC inter prediction. After determining MV, the final MC is performed using an 8-tap interpolation filter for luma and a 4-tap interpolation filter for chroma.
2.3.3.5 MVの改良 2.3.3.5 MV improvements
MV改良は、バイラテラルマッチングコストまたはテンプレートマッチングコストの基準を有するパターンに基づくMV検索である。JEMでは、2つの検索パターン、即ち、UCBDS(Unrestricted Center-Biased Diamond Search)およびCUレベルおよびサブCUレベルでのMV改良のための適応的横断検索をそれぞれサポートする。CUおよびサブCUレベルのMV改善の両方のために、MVは、1/4輝度サンプルMVの正確度で直接検索され、これに続いて1/8輝度サンプルMVの改良が行われる。CUおよびサブCUステップのためのMV改良の検索範囲は、8つの輝度サンプルに等しく設定される。 MV refinement is a pattern-based MV search with the criteria of bilateral matching cost or template matching cost. JEM supports two search patterns, namely Unrestricted Center-Biased Diamond Search (UCBDS) and adaptive cross-search for MV refinement at CU level and sub-CU level, respectively. For both CU and sub-CU level MV refinement, MVs are directly searched with the accuracy of 1/4 luma sample MV, followed by refinement of 1/8 luma sample MV. The search range of MV refinement for CU and sub-CU steps is set equal to 8 luma samples.
2.3.3.6 テンプレートマッチングFRUCマージモードにおける予測方向の選択 2.3.3.6 Prediction direction selection in template matching FRUC merge mode
バイラテラルマッチングマージモードにおいては、2つの異なる参照ピクチャにおける現在のCUの動き軌跡に沿った2つのブロック間の最も近いマッチングに基づいて、CUの動き情報を導出するため、双方向予測が常に適用される。テンプレートマッチングマージモードについては、そのような限定はない。テンプレートマッチングマージモードにおいて、エンコーダは、list0からの単一予測、list1からの単一予測、またはCUのための双方向予測のうちから選択することができる。選択は、テンプレートマッチングコストに基づいて、以下のように行う。
costBi≦factor*min(cost0,cost1)の場合
双方向予測を用いる。
それ以外の場合において、cost0≦cost1の場合
list0からの単一予測を用いる。
そうでない場合、
list1からの単一予測を用いる。
In the bilateral matching merge mode, bidirectional prediction is always applied to derive the motion information of a CU based on the closest matching between two blocks along the motion trajectory of the current CU in two different reference pictures. For the template matching merge mode, there is no such limitation. In the template matching merge mode, the encoder can select among uni-prediction from list0, uni-prediction from list1, or bi-prediction for a CU. The selection is made based on the template matching cost as follows:
If costBi≦factor*min(cost0, cost1), then use bidirectional prediction.
Otherwise, if cost0≦cost1, use single prediction from list0.
If not,
Use a single prediction from list1.
ここで、cost0はlist0テンプレートマッチングのSADであり、cost1はlist1テンプレートマッチングのSADであり、costBiは双方向予測テンプレートマッチングのSADである。factorの値が1.25である場合、選択処理が双方向予測に偏っていることを意味する。
このインター予測方向選択は、CUレベルのテンプレートマッチング処理にのみ適用される。
Here, cost0 is the SAD of list0 template matching, cost1 is the SAD of list1 template matching, and costBi is the SAD of bidirectional prediction template matching. When the factor value is 1.25, it means that the selection process is biased towards bidirectional prediction.
This inter prediction direction selection is applied only to the template matching process at the CU level.
2.3.4 デコーダ側動きベクトル改良 2.3.4 Decoder-side motion vector improvements
双方向予測演算において、1つのブロック領域を予測するために、list0の動きベクトル(MV)およびlist1のMVをそれぞれ使用して構成される双予測ブロックを組み合わせ、1つの予測信号を形成する。DMVR(Decoder-side Motion Vector Refinement)方法において、バイラテラルテンプレートマッチング処理によって、双方向予測の2つの動きベクトルをさらに改良する。追加の動き情報を送信することなく改良されたMVを得るために、デコーダにおいてバイラテラルテンプレートマッチングを適用し、バイラテラルテンプレートと参照ピクチャにおける再構成サンプルとの間の歪みに基づく検索を行う。 In bidirectional prediction operations, bi-predictive blocks constructed using the motion vectors (MVs) in list0 and list1, respectively, are combined to form one prediction signal to predict one block region. In the Decoder-side Motion Vector Refinement (DMVR) method, the two motion vectors of bidirectional prediction are further refined by a bilateral template matching process. To obtain the refined MVs without transmitting additional motion information, bilateral template matching is applied in the decoder to perform a distortion-based search between the bilateral template and the reconstructed samples in the reference picture.
DMVRにおいて、図23に示すように、list0の最初のMV0とlist1のMV1とから、それぞれ2つの予測ブロックの重み付け結合(すなわち、平均)としてバイラテラルテンプレートを生成する。テンプレートマッチング操作は、生成されたテンプレートと参照ピクチャにおけるサンプル領域(最初の予測ブロックの付近)との間のコスト尺度を計算することからなる。2つの参照ピクチャの各々について、テンプレートコストが最小となるMVを、そのリストの更新されたMVと見なし、元のMVに置き換える。JEMにおいて、各リストに対して9つのMV候補を検索する。9つのMV候補は、元のMVと、水平または垂直方向のいずれかまたは両方向に元のMVに対してオフセットしている1つの輝度サンプルを有する8つの周囲のMVを含む。最後に、2つの新しいMV、即ち、図24に示すようなMV0’およびMV1’を使用して、最終的な双方向予測結果を生成する。差分の絶対値の和(SAD)をコスト尺度として使用する。 In DMVR, we generate a bilateral template from the first MV0 in list0 and MV1 in list1 as a weighted combination (i.e., average) of two prediction blocks, respectively, as shown in Fig. 23. The template matching operation consists of calculating a cost measure between the generated template and a sample region in the reference picture (near the first prediction block). For each of the two reference pictures, the MV with the smallest template cost is considered as the updated MV of that list and replaces the original MV. In JEM, we search for nine MV candidates for each list. The nine MV candidates include the original MV and eight surrounding MVs with one luma sample offset with respect to the original MV in either horizontal or vertical directions or both directions. Finally, we generate the final bidirectional prediction result using two new MVs, i.e., MV0' and MV1' as shown in Fig. 24. We use the sum of absolute differences (SAD) as the cost measure.
DMVRは、追加の構文要素を送信することなく、過去の参照ピクチャからの1つのMVと、将来の参照ピクチャからの1つのMVとの間の双方向予測のマージモードに適用される。JEMにおいて、CUに対してLIC、アフィン動き、FRUC、またはサブCUマージ候補が有効である場合、DMVRは適用されない。 DMVR applies to bi-prediction merge mode between one MV from a past reference picture and one MV from a future reference picture without transmitting additional syntax elements. In JEM, DMVR is not applied if LIC, affine motion, FRUC, or sub-CU merge candidates are enabled for the CU.
2.3.5 バイラテラルマッチングの改良を伴うマージ/スキップモード 2.3.5 Merge/skip mode with improved bilateral matching
まず、利用可能な候補の数が最大候補サイズ19に達するまで、空間的に近傍のブロックおよび時間的に近傍のブロックの動きベクトルおよび参照インデックスを冗長性チェック付き候補リストに挿入することで、マージ候補リストを構築する。マージ/スキップモードのマージ候補リストは、予め規定された挿入順に基づいて、HEVC(結合候補およびゼロ候補)に用いられる空間的候補(図11)、時間的候補、アフィン候補、ATMVP(Advanced Temporal MVP)候補、STMVP(Spatial Temporal MVP)候補、および追加候補を挿入することで構築される。 First, a merge candidate list is constructed by inserting motion vectors and reference indices of spatially and temporally neighboring blocks into a candidate list with redundancy check until the number of available candidates reaches the maximum candidate size of 19. The merge candidate list for merge/skip mode is constructed by inserting spatial candidates (FIG. 11) used for HEVC (merge candidates and zero candidates), temporal candidates, affine candidates, Advanced Temporal MVP (ATMVP) candidates, Spatial Temporal MVP (STMVP) candidates, and additional candidates based on a predefined insertion order.
-ブロック1~4の空間的候補 - Spatial candidates for blocks 1 to 4
-ブロック1~4の外挿アフィン候補 - Extrapolation affine candidates for blocks 1 to 4
-ATMVP -ATMVP
-STMVP -STMVP
-仮想アフィン候補 - Virtual affine candidates
-空間的候補(ブロック5)(利用可能な候補の数が6よりも少ない場合にのみ使用される)。 - Spatial Candidates (Block 5) (used only if the number of available candidates is less than 6).
-外挿アフィン候補(ブロック5) - Extrapolation affine candidates (Block 5)
-時間的候補(HEVCのように導出) -Temporal candidates (derived like HEVC)
-外挿アフィン候補に続く非隣接空間的候補(図25に示すブロック6~49)。 - Non-adjacent spatial candidates following the extrapolated affine candidates (blocks 6 to 49 shown in Figure 25).
-結合候補 - Candidates for joining
-ゼロ候補 -Zero candidates
なお、ICフラグは、STMVPおよびアフィンを除き、マージ候補から継承される。また、最初の4つの空間的候補について、双方向予測のものを単一予測のものの前に挿入する。 Note that the IC flag is inherited from the merge candidate, except for STMVP and affine. Also, for the first four spatial candidates, the bi-predictive candidates are inserted before the uni-predictive ones.
いくつかの実施形態において、現在のブロックに接続されていないブロックにアクセスすることができる。非隣接ブロックが非イントラモードで符号化されている場合、関連する動き情報を追加のマージ候補として追加してもよい。 In some embodiments, blocks that are not connected to the current block can be accessed. If the non-adjacent blocks are coded in a non-intra mode, the associated motion information may be added as additional merging candidates.
2.3.6 共有マージリストJVET-M0170 2.3.6 Shared merge list JVET-M0170
小さなスキップ/マージ符号化されたCUを並列処理することを有効にするために、CU分割木における1つの祖先ノードのすべての葉の符号化ユニット(CU)に対して同じマージ候補リストを共有することが提案される。祖先ノードをマージ共有ノードと呼ぶ。マージ共有ノードが葉CUであるように見せかけて、マージ共有ノードにおいて共有マージ候補リストを生成する。 To enable parallel processing of small skip/merge coded CUs, we propose to share the same merge candidate list for all leaf coding units (CUs) of an ancestor node in the CU partition tree. We call the ancestor node a merge-share node. We generate a shared merge candidate list at the merge-share node, pretending that the merge-share node is a leaf CU.
Type-2の定義において、復号化の構文解析段階において、CTU内部のCUごとにマージ共有ノードを決定する。また、マージ共有ノードは、葉CUの祖先ノードであり、以下の2つの基準を満たさなければならない。 In the definition of Type-2, during the parsing stage of decoding, a merge-shared node is determined for each CU within a CTU. In addition, the merge-shared node is an ancestor node of the leaf CU, and must satisfy the following two criteria:
マージ共有ノードのサイズは、サイズ閾値以上であること。 The size of the merge shared node must be greater than or equal to the size threshold.
マージ共有ノードにおいて、子CUのサイズは、サイズ閾値よりも小さいこと。 In a merge shared node, the size of the child CU is smaller than the size threshold.
さらに、マージ共有ノードのサンプルがピクチャ境界の外側にないことを保証する必要がある。構文解析段階において、祖先ノードが基準(1)および(2)を満たすが、ピクチャ境界の外側にいくつかのサンプルを有する場合、この祖先ノードはマージ共有ノードではないので、先に進んでその子CUのためのマージ共有ノードを見出す。 Furthermore, we need to ensure that the samples of a merge-shared node are not outside the picture boundary. During the parsing phase, if an ancestor node satisfies criteria (1) and (2) but has some samples outside the picture boundary, then this ancestor node is not a merge-shared node, and we go ahead and find a merge-shared node for its child CU.
図35に、Type-1とType-2の定義の違いの一例を示す。本例において、親ノードは、3つの子CUに3分割される。親ノードのサイズは128である。Type-1定義の場合、3つの子CUは別々のマージ共有ノードである。しかし、Type-2定義の場合、親ノードはマージ共有ノードである。 Figure 35 shows an example of the difference between Type-1 and Type-2 definitions. In this example, the parent node is split into three child CUs. The size of the parent node is 128. In the Type-1 definition, the three child CUs are separate merge-shared nodes. However, in the Type-2 definition, the parent node is a merge-shared node.
提案した共用マージ候補リストアルゴリズムは、並進マージ(マージモードおよびトライアングルマージモードを含む、履歴に基づく候補もサポートされる)およびサブブロックに基づくマージモードをサポートする。すべての種類のマージモードにおいて、共有マージ候補リストアルゴリズムの挙動は基本的に同じに見え、マージ共有ノードが葉CUであるように見せるだけの候補をマージ共有ノードに生成する。それには2つの大きな利点がある。第1の利点は、マージモードのための並列処理を有効にすることであり、第2の利点は、すべての葉CUのすべての計算をマージ共有ノードに共有することである。そのため、ハードウェアコーデックのためのすべてのマージモードのハードウェアコストを大幅に低減することができる。提案した共有マージ候補リストアルゴリズムにより、エンコーダとデコーダはマージモードの並列符号化に容易に対応でき、マージモードのサイクルバジェット問題を軽減する。 The proposed shared merge candidate list algorithm supports translational merge (including merge mode and triangle merge mode, history-based candidates are also supported) and subblock-based merge modes. In all kinds of merge modes, the behavior of the shared merge candidate list algorithm basically looks the same, generating candidates in the merge share node that only make the merge share node look like a leaf CU. It has two major advantages. The first advantage is that it enables parallel processing for merge modes, and the second advantage is that it shares all the computations of all leaf CUs in the merge share node. Therefore, it can greatly reduce the hardware cost of all merge modes for hardware codecs. The proposed shared merge candidate list algorithm allows the encoder and decoder to easily accommodate parallel encoding of merge modes, and alleviates the cycle budget problem of merge modes.
2.3.7 タイル群 2.3.7 Tile groups
JVET-L0686では、タイルグループに代えるためスライスが削除され、HEVC構文要素slice_addressがタイルグループの最初のタイルのアドレスとしてtile_group_header内のtile_group_addressに置き換えられる(ピクチャ内に複数のタイルがある場合)。 In JVET-L0686, slices are removed in favor of tile groups, and the HEVC syntax element slice_address is replaced with the tile_group_address in the tile_group_header as the address of the first tile in the tile group (if there are multiple tiles in the picture).
3. 本明細書に開示される実施形態が解決しようとする課題の例 3. Examples of problems that the embodiments disclosed herein aim to solve
現在のHEVC設計は、動き情報をよりよく符号化するために、現在のブロックの近傍のブロック(現在のブロックの隣)の相関をとることができる。しかしながら、近傍のブロックが、異なる動き軌跡を有する異なる対象に対応する可能性がある。この場合、その近傍のブロックからの予測は効率的ではない。 Current HEVC design can correlate the neighboring blocks of the current block (next to the current block) to better code the motion information. However, the neighboring blocks may correspond to different objects with different motion trajectories. In this case, prediction from the neighboring blocks is not efficient.
非隣接ブロックの動き情報からの予測は、全ての動き情報(一般的には4×4レベル)をキャッシュに記憶するコストをかけることになり、付加的な符号化利得をもたらし、ハードウェア実装の複雑性を大幅に増大させる。 Prediction from motion information of non-adjacent blocks incurs the cost of storing all the motion information (typically at 4x4 level) in a cache, which provides no additional coding gain and significantly increases the complexity of the hardware implementation.
4. いくつかの例 4. Some examples
既存の実装形態の欠点を克服するために、様々な実施形態において、ブロックの動き情報を予測するために、少なくとも1つの動き候補が記憶された1つ以上のテーブル(例えばルックアップテーブル)を使用するLUTに基づく動きベクトル予測技術を実装し、より高い符号化効率を有する映像符号化を提供することができる。ルックアップテーブルは、ブロックの動き情報を予測するために動き候補を含める際に使用できるテーブルの一例であり、他の実装形態も可能である。各LUTは、それぞれが対応する動き情報に関連付けられた1つ以上の動き候補を含んでもよい。動き候補の動き情報は、予測方向、参照インデックス/ピクチャ、動きベクトル、LICフラグ、アフィンフラグ、MVD(Motion Vector Derivation)精度、および/またはMVD値の一部または全部を含んでもよい。動き情報は、動き情報がどこに由来しているかを示すために、ブロック位置情報をさらに含んでもよい。 To overcome the shortcomings of existing implementations, various embodiments may implement a LUT-based motion vector prediction technique that uses one or more tables (e.g., lookup tables) in which at least one motion candidate is stored to predict motion information of a block, providing video coding with higher coding efficiency. The lookup table is one example of a table that may be used to include motion candidates to predict motion information of a block, and other implementations are possible. Each LUT may include one or more motion candidates, each associated with corresponding motion information. The motion information of a motion candidate may include some or all of a prediction direction, a reference index/picture, a motion vector, a LIC flag, an affine flag, a Motion Vector Derivation (MVD) accuracy, and/or a MVD value. The motion information may further include block position information to indicate where the motion information originates.
開示される技術に基づいたLUTに基づく動きベクトル予測は、既存のおよび将来の映像符号化規格の両方を向上させることができ、様々な実施形態のために以下の例で解明される。LUTは、履歴データ(例えば、既に処理されたブロック)に基づいて符号化/復号化処理を行うことを可能にするため、LUTに基づく動きベクトル予測は、HMVPHistory-based Motion Vector Prediction)法と呼ぶこともできる。LUTに基づく動きベクトル予測方法において、以前に符号化されたブロックからの動き情報を有する1つまたは複数のテーブルは、符号化/復号化処理の間、維持される。LUTに記憶されたこれらの動き候補をHMVP候補と称する。1つのブロックの符号化/復号化の間、LUTにおける関連付けられた動き情報を動き候補リスト(例えば、マージ/AMVP候補リスト)に追加して、1つのブロックを符号化/復号化
した後に、LUTを使用してもよい。更新されたLUTは、その後、後続のブロックを符号化するために用いられる。このように、LUTにおける動き候補の更新は、ブロックの符号化/復号化の順に基づく。以下の例は、一般的な概念を説明するための例であると考えられるべきである。これらの例は狭い意味で解釈されるべきではない。さらに、これらの例は、任意の方法で組み合わせることができる。
The LUT-based motion vector prediction based on the disclosed technology can improve both existing and future video coding standards, and is elucidated in the following examples for various embodiments. Since the LUT enables the encoding/decoding process to be performed based on history data (e.g., already processed blocks), the LUT-based motion vector prediction can also be called HMVP History-based Motion Vector Prediction (HMVP) method. In the LUT-based motion vector prediction method, one or more tables with motion information from previously coded blocks are maintained during the encoding/decoding process. These motion candidates stored in the LUT are called HMVP candidates. During the encoding/decoding of a block, the associated motion information in the LUT may be added to a motion candidate list (e.g., merge/AMVP candidate list) to use the LUT after encoding/decoding a block. The updated LUT is then used to code the subsequent block. In this way, the update of the motion candidates in the LUT is based on the encoding/decoding order of the blocks. The following examples should be considered as examples to explain the general concept. These examples should not be interpreted in a narrow sense. Moreover, these examples can be combined in any way.
いくつかの実施形態において、1つのブロックの動き情報を予測するために、少なくとも1つの動き候補が記憶された1つ以上のルックアップテーブルを用いてもよい。実施形態は、動き候補を用いて、ルックアップテーブルに記憶された動き情報のセットを示すことができる。従来のAMVPまたはマージモードの場合、実施形態では、動き情報を記憶するためにAMVPまたはマージ候補を使用してもよい。 In some embodiments, one or more lookup tables in which at least one motion candidate is stored may be used to predict motion information for a block. An embodiment may use a motion candidate to indicate a set of motion information stored in the lookup table. In the case of a conventional AMVP or merge mode, an embodiment may use an AMVP or merge candidate to store the motion information.
以下の実施例は、一般的な概念を説明する。 The following examples illustrate the general concept.
ルックアップテーブルの例 Lookup table example
例A1:各ルックアップテーブルは、各候補がその動き情報に関連付けられた1つ以上の動き候補を含んでもよい。
a.動き候補の動き情報は、ここでは、予測方向、参照インデックス/ピクチャ、動きベクトル、LICフラグ、アフィンフラグ、MVD精度、MVD値の一部または全部を含んでもよい。
b.動き情報は、動き情報がどこに由来しているかを示すために、ブロック位置情報および/またはブロック形状をさらに含んでもよい。
Example A1: Each lookup table may contain one or more motion candidates, with each candidate associated with its motion information.
The motion information of a motion candidate here may include some or all of the following: prediction direction, reference index/picture, motion vector, LIC flag, affine flag, MVD precision, MVD value.
b. The motion information may further include block position information and/or block shape to indicate where the motion information comes from.
LUTの選択 Selecting a LUT
例B1:1つのブロックを符号化する場合、1つのルックアップテーブルからの動き候補の一部または全部を順にチェックすることができる。1つのブロックを符号化する間に1つの動き候補をチェックするとき、この動き候補を動き候補リスト(例えば、AMVP、マージ候補リスト)に加えてもよい。例B2:ルックアップテーブルの選択は、ブロックの位置に依存してもよい。 Example B1: When encoding a block, some or all of the motion candidates from a lookup table may be checked in sequence. When a motion candidate is checked while encoding a block, this motion candidate may be added to a motion candidate list (e.g., AMVP, merge candidate list). Example B2: The selection of the lookup table may depend on the position of the block.
ルックアップテーブルの使用法 How to use a lookup table
例C1:チェック対象のルックアップテーブルにおける動き候補の総数は、予め規定されてもよい。 Example C1: The total number of motion candidates in the lookup table to be checked may be predefined.
例C2:1つのルックアップテーブルに含まれる1つ以上の動き候補は、1つのブロックによって直接継承されてもよい。
a.それらをマージモード符号化に使用してもよい。すなわち、マージ候補リスト導出処理において動き候補をチェックしてもよい。
b.これらは、アフィンマージモード符号化に使用してもよい。
i.アフィンフラグが1である場合、ルックアップテーブルにおける動き候補をアフィンマージ候補として加えることができる。
c.それらは、サブブロックマージモード、アフィンマージモード、トライアングルマージモード、インター-イントラマージモード、MMVD(Merge with MVD)モードのような他の種類のマージモードに使用してもよい。
d.以下の場合、ルックアップテーブルにおける動き候補のチェックを有効にしてもよい。
i.TMVP候補を挿入した後、マージ候補リストが満杯になっていない。
ii.空間的マージ候補導出のために特定の空間的に近傍のブロックをチェックした後、マージ候補リストが満杯になっていない。
iii.すべての空間的マージ候補の後、マージ候補リストが満杯になっていない。
iv.結合双方向予測マージ候補の後、マージ候補リストが満杯になっていない。
v.他の符号化方式(例えば、HEVCデザイン、またはJEMデザインのマージ導出処理)からマージ候補リストに入れられた空間的または時間的な(例えば、隣接空間および非隣接空間、TMVP、STMVP、ATMVPなどを含む)マージ候補の数が、最大許容のマージ候補から、所与の閾値を引いた数よりも少ない場合。
1.一例において、閾値は、1または0に設定される。
2.代替的に、閾値は、SPS/PPS/シーケンス、ピクチャ、スライスヘッダ/タイルにおいて信号通知されてもよく、または予め規定されてもよい。
3.代替的に、閾値は、ブロックごとに適応的に変更されてもよい。例えば、それは、ブロックサイズ/ブロック形状/スライスタイプのような符号化されたブロック情報に依存してもよく、および/または、利用可能な空間的または時間的マージ候補の数に依存してもよい。
4.他の例において、既にマージ候補リストに含まれていないある種のマージ候補の数が、最大許容マージ候補から、所与の閾値を引いた数未満である場合。「ある種のマージ候補」は、HEVCのような空間的候補であってもよいし、隣接しないマージ候補であってもよい。
vi.マージ候補リストに動き候補を追加する前に、プルーニングを適用してもよい。本特許明細書に開示されたこの例および他の例の様々な実装形態において、プルーニン
グは、a)動き情報と既存のエントリとを一意性のために比較すること、または、b)一意である場合、動き情報をリストに追加すること、またはc)一意でない場合、c1)動き情報を追加しない、または、c2)動き情報を追加し、一致した既存のエントリを削除することを含んでもよい。いくつかの実装形態において、テーブルから候補リストに動き候補を追加する際に、プルーニング工程は実行されない。
1.一例において、動き候補は、マージ候補リストの他の符号化方法から利用可能な空間的または時間的(例えば、隣接空間および非隣接空間、TMVP、STMVP、ATMVP等を含む)マージ候補の全部または一部にプルーニングされてもよい。
2.動き候補は、サブブロックに基づく動き候補、例えば、ATMVP、STMVPにプルーニングされなくてもよい。
3.一例において、現在の動き候補は、マージ候補リストにおける利用可能な動き候補(現在の動き候補の前に挿入された)の全部または一部にプルーニングされてもよい。
4.動き候補に関連するプルーニング工程の数(例えば、動き候補をマージリストにおける他の候補と比較する必要がある回数)は、利用可能な空間的または時間的マージ候補の数に依存してもよい。例えば、新しい動き候補をチェックする際に、マージリストに利用可能な候補がM個ある場合、新しい動き候補を最初のK個(K≦M)の候補とのみ比較することができる。プルーニング関数が偽を返す(例えば、最初のK個の候補のいずれとも同一でない)場合、この新しい動き候補は、M個の候補のすべてと異なると見なされ、マージ候補リストに追加され得る。一例において、Kは、min(K,2)に設定される。
5.一例において、新しく付加された動き候補とマージ候補リストにおける最初のN個の候補とを比較するだけである。例えば、N=3、4または5である。Nは、エンコーダからデコーダに信号通知されてもよい。
6.一例において、チェック対象の新しい動き候補は、マージ候補リストにおける最後のN個の候補と比較されるのみである。例えば、N=3、4または5である。Nは、エンコーダからデコーダに信号通知されてもよい。
7.一例において、以前リストに追加された候補をテーブルから選択し、新しい動き候補と比較する方法は、前回追加された候補がどこから導出されたかに依存してもよい。
a.一例において、ルックアップテーブルにおける動き候補を、所与の時間的および/または空間的に近傍のブロックから導出された候補と比較してもよい。
b.一例において、ルックアップテーブルにおける動き候補の異なるエントリを、以前追加された異なる候補と比較してもよい(すなわち、異なる位置から導出された)
。
e.隣接/非隣接の空間的または時間的ブロックから導出されるような、他のマージ(またはアフィンマージまたは他のインター符号化方法)候補をチェックする前に、ルックアップテーブルにおける動き候補のチェックを有効にしてもよい。
f.ルックアップテーブルに少なくとも1つの動き候補がある場合、ルックアップテーブルにおける動き候補のチェックを有効にしてもよい。
Example C2: One or more motion candidates contained in one lookup table may be directly inherited by one block.
They may be used for merge mode coding, i.e., motion candidates may be checked in the merge candidate list derivation process.
b. They may be used for affine merge mode encoding.
i. If the affine flag is 1, then the motion candidates in the lookup table can be added as affine merge candidates.
c) They may be used for other kinds of merge modes such as sub-block merge mode, affine merge mode, triangle merge mode, inter-intra merge mode, MMVD (Merge with MVD) mode.
d. Checking of motion candidates in the lookup table may be enabled if:
i. After inserting the TMVP candidate, the merge candidate list is not full.
ii. After checking certain spatially neighboring blocks for spatial merge candidate derivation, the merge candidate list is not full.
iii. After all spatial merge candidates, the merge candidate list is not full.
iv. After the combined bi-predictive merge candidates, the merge candidate list is not full.
v. If the number of spatial or temporal (e.g., including spatially adjacent and non-spatially adjacent, TMVP, STMVP, ATMVP, etc.) merge candidates put into the merge candidate list from other coding schemes (e.g., the merge derivation process of the HEVC design, or the JEM design) is less than the maximum allowed merge candidates minus a given threshold.
1. In one example, the threshold is set to 1 or 0.
2. Alternatively, the threshold may be signaled in the SPS/PPS/sequence, picture, slice header/tile or may be pre-defined.
3. Alternatively, the threshold may be adaptively changed per block, e.g., it may depend on coded block information like block size/block shape/slice type and/or it may depend on the number of available spatial or temporal merging candidates.
4. In another example, the number of certain merge candidates that are not already included in the merge candidate list is less than the maximum allowed merge candidates minus a given threshold. The "certain merge candidates" may be spatial candidates like HEVC or non-adjacent merge candidates.
vi. Pruning may be applied before adding motion candidates to the merge candidate list. In various implementations of this and other examples disclosed in this patent specification, pruning may include a) comparing the motion information with existing entries for uniqueness, or b) adding the motion information to the list if unique, or c) if not unique, c1) not adding the motion information, or c2) adding the motion information and removing the matching existing entry. In some implementations, no pruning step is performed when adding motion candidates from the table to the candidate list.
1. In one example, motion candidates may be pruned to all or a portion of spatial or temporal (e.g., including adjacent and non-adjacent spatial, TMVP, STMVP, ATMVP, etc.) merge candidates available from other coding methods in the merge candidate list.
2. Motion candidates may not be pruned to sub-block based motion candidates, e.g., ATMVP, STMVP.
3. In one example, the current motion candidate may be pruned to all or a portion of the available motion candidates in the merge candidate list (inserted before the current motion candidate).
4. The number of pruning steps associated with a motion candidate (e.g., the number of times a motion candidate needs to be compared with other candidates in the merge list) may depend on the number of available spatial or temporal merge candidates. For example, when checking a new motion candidate, if there are M candidates available in the merge list, the new motion candidate can only be compared with the first K candidates (K≦M). If the pruning function returns false (e.g., not identical to any of the first K candidates), the new motion candidate is considered to be different from all M candidates and can be added to the merge candidate list. In one example, K is set to min(K, 2).
5. In one example, only compare the newly added motion candidate with the first N candidates in the merge candidate list, for example N=3, 4 or 5. N may be signaled from the encoder to the decoder.
6. In one example, the new motion candidate being checked is only compared to the last N candidates in the merge candidate list, for example N=3, 4 or 5. N may be signaled from the encoder to the decoder.
7. In one example, the way in which candidates previously added to the list are selected from the table and compared to the new motion candidates may depend on where the previously added candidates were derived from.
In one example, motion candidates in a look-up table may be compared to candidates derived from given temporal and/or spatial neighboring blocks.
b. In one example, different entries of motion candidates in the lookup table may be compared to different candidates that were previously added (i.e., derived from different positions).
.
e. Checking of motion candidates in a lookup table may be enabled before checking other merge (or affine merge or other inter-coding method) candidates, such as those derived from adjacent/non-adjacent spatial or temporal blocks.
f. If there is at least one motion candidate in the lookup table, checking of motion candidates in the lookup table may be enabled.
例C3:ルックアップテーブルに含まれる動き候補は、ブロックの動き情報を符号化するための予測因子として用いられてもよい使用してもよい。
a.それらをAMVPモード符号化に使用してもよく、すなわち、AMVP候補リスト導出処理において動き候補をチェックしてもよい。
b.それらは、MVDの一部のみを符号化するSMVD(Symmetric Motion Vector Difference)符号化に使用してもよい(例えば、1つの参照ピクチャリストに対して信号通知されたMVDのみであり、別の参照ピクチャリストから導出される)。
c.それらは、MVの一部のみを符号化するSMV(Symmetric Motion Vector)符号化に使用してもよい(例えば、1つの参照ピクチャリストに対して信号通知されたもののみであり、別の参照ピクチャリストから導出される)。
d.以下の場合、ルックアップテーブルにおける動き候補のチェックを有効にしてもよい。
i.TMVP候補をチェックまたは挿入した後、AMVP候補リストが満杯になっていない。
ii.AMVP候補リストが、空間的近傍から選択し、プルーニングした後で、TMVP候補を挿入する直前には、満杯になっていない。
iii.上側の近傍のブロックからのAMVP候補がスケーリング無しで存在しない場合、および/または、左側の近傍のブロックからのAMVP候補がスケーリング無しで存在しない場合。
iv.特定のAMVP候補を挿入した後、AMVP候補リストが満杯になっていない。
v.AMVP候補リストに動き候補を追加する前に、プルーニングを適用してもよい。
vi.実施例C2のvi.3および4に記載されたものと同様の規則は、AMVPモードに適用されてよい。
e.隣接/非隣接の空間的または時間的ブロックから導出されるような、他のAMVP(またはSMVD/SMV/アフィンインターまたは他のインター符号化方法)候補をチェックする前に、動き候補のチェックを有効にしてもよい。
f.ルックアップテーブルに少なくとも1つの動き候補がある場合、動き候補のチェックを有効にしてもよい。
g.現在の参照ピクチャと同一の参照ピクチャを有する(すなわち、POC(Picture-Order-Count)が同一である)動き候補をチェックする。すなわち、動き候補が現在の参照ピクチャと同一の参照ピクチャを含む場合、対応する動きベクトルは、AMVP候補リスト構成処理を考慮してもよい。
i.代替的に、更に、現在の参照ピクチャとは異なる参照ピクチャを有する動き候補も(スケーリングされたMVにて)チェックする。すなわち、動き候補が現在の参照ピクチャとは異なる参照ピクチャを有する場合、対応する動きベクトルは、AMVP候補リスト構築処理を考慮してもよい。
ii.代替的に、まず、現在の参照ピクチャと同一の参照ピクチャを有するすべての動き候補をチェックし、次に、現在の参照ピクチャとは異なる参照ピクチャを有する動き候補をチェックする。すなわち、同一の参照ピクチャを有する動き候補に対して、より高い優先順位を割り当てる。
iii.代替的に、動き候補は、マージにおいて同様にチェックされる。
iv.1つの動き候補が双方向予測候補である場合、まず参照ピクチャリストXの参照ピクチャ(例えば、参照ピクチャの参照ピクチャインデックスまたはピクチャ順序カウンタ)をチェックし、次に現在の参照対象ピクチャリストがXである場合、参照ピクチャリストY(Y!=X、例えば、Y=1-X)の参照ピクチャをチェックしてもよい。
v.代替的に、1つの動き候補が双方向予測候補である場合、まず参照ピクチャリストY(Y!=X,例えば、Y=1-X)の参照ピクチャ(例えば、参照ピクチャの参照ピクチャインデックスまたはピクチャ順序カウンタ)をチェックし、次に現在の参照対象ピクチャリストがXである場合、参照ピクチャリストXの参照ピクチャをチェックしてもよい。
vi.代替的に、参照ピクチャリストの参照ピクチャが、すべてのチェック対象の動き候補に関連付けられたY(Y!=X、例えば、Y=1-X)である前に、参照ピクチャリストの参照ピクチャが、すべてのチェック対象の動き候補に関連付けられたXであるかどうかをチェックしてもよい。
Example C3: The motion candidates contained in the lookup table may be used as predictors for encoding the motion information of the block.
They may be used for AMVP mode coding, i.e., motion candidates may be checked in the AMVP candidate list derivation process.
b. They may be used for Symmetric Motion Vector Difference (SMVD) coding, which codes only a part of the MVD (e.g. only the MVD signaled for one reference picture list and derived from another reference picture list).
c. They may be used for Symmetric Motion Vector (SMV) coding, which codes only a part of the MVs (e.g. only those signaled for one reference picture list and derived from another reference picture list).
d. Checking of motion candidates in the lookup table may be enabled if:
i. After checking or inserting a TMVP candidate, the AMVP candidate list is not full.
ii. The AMVP candidate list is not full after selecting and pruning from spatial neighborhoods and immediately before inserting the TMVP candidate.
iii. If no AMVP candidates from the upper neighboring block exist without scaling, and/or no AMVP candidates from the left neighboring block exist without scaling.
iv. The AMVP candidate list is not full after inserting a particular AMVP candidate.
v. Before adding motion candidates to the AMVP candidate list, pruning may be applied.
vi. Rules similar to those described in vi. 3 and 4 of embodiment C2 may be applied to the AMVP mode.
e. Checking of motion candidates may be enabled before checking other AMVP (or SMVD/SMV/Affine Inter or other Inter coding methods) candidates, such as those derived from adjacent/non-adjacent spatial or temporal blocks.
f. If there is at least one motion candidate in the lookup table, motion candidate checking may be enabled.
g. Check for motion candidates that have the same reference picture as the current reference picture (i.e., have the same Picture-Order-Count (POC)). That is, if a motion candidate contains the same reference picture as the current reference picture, the corresponding motion vector may be considered for the AMVP candidate list construction process.
Alternatively, also check (in scaled MV) for motion candidates that have a different reference picture than the current reference picture, i.e. if a motion candidate has a different reference picture than the current reference picture, the corresponding motion vector may be considered for the AMVP candidate list building process.
Alternatively, first check all motion candidates that have the same reference picture as the current reference picture, and then check motion candidates that have a different reference picture from the current reference picture, i.e. assign a higher priority to motion candidates that have the same reference picture.
iii. Alternatively, motion candidates are checked in the merge as well.
iv. If one motion candidate is a bi-directional prediction candidate, it may first check the reference picture in reference picture list X (e.g., the reference picture index or picture order counter of the reference picture), and then check the reference picture in reference picture list Y (Y!=X, e.g., Y=1-X) if the current referenced picture list is X.
v. Alternatively, if one motion candidate is a bi-prediction candidate, one may first check the reference pictures (e.g., the reference picture index or picture order counter of the reference picture) in reference picture list Y (Y!=X, e.g., Y=1-X), and then check the reference pictures in reference picture list X if the current referenced picture list is X.
Alternatively, a reference picture in the reference picture list may be checked to see if it is an X associated with all the motion candidates to be checked before the reference picture in the reference picture list is an Y (Y!=X, e.g., Y=1-X) associated with all the motion candidates to be checked.
例C4:ルックアップテーブルにおける動き候補のチェック順序は、以下のように規定される(K(K≧1)個の動き候補をチェックすることができるとする):
a.ルックアップテーブルにおける最後のK個の動き候補。
b.最初のK%L候補であって、Lは、K≧Lである場合のルックアップテーブルのサイズである。
c.K≧Lである場合、ルックアップテーブルにおけるすべての候補(L個の候補)。
d.代替的に、さらに、動き候補インデックスの降順に基づいてもよい。
e.代替的に、さらに、動き候補インデックスの昇順に基づいてもよい。
f.代替的に、動き候補に関連付けられた位置と現在のブロックの距離などの候補情報に基づいて、K個の動き候補を選択する。
i.一例において、K個の最も近い動き候補を選択する。
ii.一例において、距離を算出する際に、候補情報は、ブロックの形状をさらに考慮されてもよい。
g.一例において、L個の候補を含むテーブルからの動き候補のKのチェック順序は、次のように規定されてもよい:a0、a0+T0、a0+T0+T1、a0+T0+T1+T2、...a0+T0+T1+T2+...+TK-1のインデックスを持つ候補を順に選択し、a0とTi(iは0...K-1である)は整数値である。
i.一例において、a0は、0(すなわち、テーブルにおける動き候補の最初のエントリ)に設定される。代替的に、a0は(K-L/K)に設定される。演算「/」は、結果をゼロに切り捨てる整数除算として規定される。代替的に、a0は、0とL/Kとの間の任意の整数に設定される。
1.代替的に、a0の値は、現在のブロックおよび近傍のブロックの符号化情報に依存してもよい。
ii.一例において、すべての間隔Ti(iは0…K-1である)は同じであり、例えばL/Kである。演算「/」は、結果をゼロに切り捨てる整数除算として規定される。
iii.一例において、(K,L,a0,Ti)は、(4,16,0,4)、または(4,12,0,3)、または(4,8,0,1)、または(4,16,3,4)、または(4,12,2,3)、または(4,8,1,2)に設定される。Tiはすべてのiについて同じである。
iv.このような方法は、KがLよりも小さい場合にのみ適用されてもよい。
v.代替的に、Kが閾値以上である場合、例C4のc部を適用してもよい。閾値は、Lとして規定されてもよく、またはKに依存してもよく、またはブロックごとに適応的に変更されてもよい。一例において、閾値は、ルックアップテーブルから新しい動き候補を追加する前のリストにおける利用可能な動き候補の数に依存してもよい。
h.一例において、L個の候補を含むテーブルからの動き候補のKのチェック順序は、次のように規定されてもよい:a0、a0-T0、a0-T0-T1、a0-T0-T1-T2、...a0-T0-T1-T2-...-TK-1のインデックスを持つ候補を順に選択し、a0とTi(iは0...K-1である)は整数値である。
i.一例において、a0は、L-1(すなわち、テーブルにおける動き候補の最後のエントリ)に設定される。代替的に、a0は、L-1-L/KとL-1との間の任意の整数に設定される。
ii.一例において、すべての間隔Ti(iは0…K-1である)は同じであり、例えばL/Kである。
iii.一例において、(K,L,a0,Ti)は、(4,16,L-1,4)、または(4,12,L-1,3)、または(4,8,L-1,1)、または(4,16,L-4,4)、または(4,12,L-3,3)、または(4,8,L-2,2)に設定される。Tiはすべてのiについて同じである。
iv.このような方法は、KがLよりも小さい場合にのみ適用されてもよい。
v.代替的に、更に、Kが閾値以上である場合、例C4のc部を適用してもよい。閾値は、Lとして規定されてもよく、またはKに依存してもよく、またはブロックごとに適応的に変更されてもよい。一例において、閾値は、ルックアップテーブルから新しい動き候補を追加する前のリストにおける利用可能な動き候補の数に依存してもよい。
i.ルックテーブルから動き候補を選択する数および/または方法は、符号化情報、例えばブロックサイズ/ブロック形状に依存してもよい。
i.一例において、より小さいブロックサイズの場合、最後のK個の動き候補を選択する代わりに、(最後から始まらない)他のK個の動き候補を選択してもよい。
ii.一例において、符号化情報は、AMVPモードであってもよいし、マージモードであってもよい。
iii.一例において、符号化情報は、アフィンモードまたは非アフィンAMVPモードまたは非アフィンマージモードであってもよい。
iv.一例において、符号化情報は、アフィンAMVP(インター)モード、またはアフィンマージモード、または非アフィンAMVPモード、または非アフィンマージモードであってもよい。
v.一例において、符号化情報は、CPR(Current Picture Reference)モードであってもよいし、CPRモードでなくてもよい。
vi.代替的に、ルックアップテーブルから動き候補を選択する方法は、ルックアップテーブルにおける動き候補の数、および/または、ルックアップテーブルから新しい動き候補を追加する前のリストにおける利用可能な動き候補の数にさらに依存してもよい。
j.一例において、チェック対象のルックアップテーブルにおける利用可能な動き候補の最大数(すなわち、マージ/AMVP候補リストに追加されてもよい)は、ルックアップテーブルにおける利用可能な動き候補の数(NavaiMCinLUTによって示され
る)、および/または、追加対象の(これは、予め規定されていてもよいし、信号通知されていてもよい)最大許容動き候補の数(NUMmaxMCによって示される)、および/または、ルックアップテーブルから候補をチェックする前の候補リストにおける利用可能な動き候補の数(NavaiCによって示される)に依存していてもよい。
i.一例において、チェック対象のルックアップテーブルにおける動き候補の最大数は、(NavaiMCinLUT,NUMmaxMC,NavaiC)の最小値に設定さ
れる。
ii.代替的に、チェック対象のルックアップテーブルにおける動き候補の最大数は、(NavaiMCinLUT,NUMmaxMC-NavaiC)の最小値に設定され
る。
iii.一例において、NavaiCは、空間的または時間的(隣接および/または非隣接)な近傍のブロックから導出された挿入候補の数を示す。代替的に、サブブロック候補(AMTVP、STMVPなど)の数は、NavaiCにカウントされない。
iv.NUMmaxMCは、符号化モードに依存してもよく、例えば、マージモードおよびAMVPモードにおいて、NUMmaxMCは異なる値に設定されてもよい。一例において、マージモードの場合、NUMmaxMCは、4、6、8、10などに設定してもよく、AMVPモードの場合、NUMmaxMCは、1、2、4などに設定してもよい。
v.代替的に、NUMmaxMCは、ブロックサイズ、ブロック形状、スライスタイプなどのような他の符号化情報に依存してもよい。
k.異なるルックアップテーブルのチェック順序は、次のサブセクションのルックアップテーブルの使用法で規定されている。
l.一旦、マージ/AMVP候補リストが、最大許容候補数に達すると、このチェック処理は終了する。
m.一旦、マージ/AMVP候補リストが、最大許容候補数から閾値(Th)を減算した値に達すると、このチェック処理は終了する。一例において、Thは、例えば、1、2、または3など、正の整数値として予め規定されてもよい。代替的に、Thは、ブロックごとに適応的に変更されてもよい。代替的に、Thは、SPS/PPS/スライスヘッダ等において信号通知されてもよい。代替的に、Thは、さらに、ブロック形状/ブロックサイズ/符号化モードなどに依存してもよい。代替的に、Thは、LUTからの動き候補を追加する前の利用可能な候補の数に依存してもよい。
n.代替的に、追加された動き候補の数が最大許容動き候補数に達すると、それは終了する。最大許容動き候補数は、信号通知されてもよく、または予め規定されてもよい。代替的に、最大許容動き候補数は、ブロック形状/ブロックサイズ/符号化モード等にさらに依存してもよい。
o.テーブルサイズを示す1つのシンタックス要素ならびにチェック可能な動き候補の数(すなわち、K=L)は、SPS、PPS、スライスヘッダ、タイルヘッダにおいて信号通知されてもよい。
Example C4: The checking order of motion candidates in the lookup table is defined as follows (assuming that K (K≧1) motion candidates can be checked):
The last K motion candidates in the lookup table.
b. The first K % L candidates, where L is the size of the lookup table, where K>L.
c. If K≧L, then all candidates in the lookup table (L candidates).
d. Alternatively, it may also be based on descending order of motion candidate index.
e. Alternatively, it may also be based on the ascending order of the motion candidate index.
f) Alternatively, select the K motion candidates based on candidate information such as the distance of the current block to the position associated with the motion candidate.
i. In one example, select the K closest motion candidates.
ii. In one example, the candidate information may further take into account the shape of the block when calculating the distance.
g. In one example, the checking order of K motion candidates from a table containing L candidates may be defined as follows: a0 , a0 + T0 , a0 + T0 + T1 , a0+ T0 + T1 + T2 , ... a0 + T0 + T1 + T2 + ...+ TK-1 , selecting candidates with indices a0 and T i (i=0...K-1) in order, where a0 and T i are integer values.
i. In one example, a0 is set to 0 (i.e., the first entry of the motion candidates in the table). Alternatively, a0 is set to (K-L/K). The operation "/" is defined as integer division that truncates the result towards zero. Alternatively, a0 is set to any integer between 0 and L/K.
1. Alternatively, the value of a0 may depend on the coding information of the current block and neighboring blocks.
In one example, all the intervals T i (i=0...K-1) are the same, say L/K. The operation "/" is defined as integer division that truncates the result towards zero.
In one example, (K, L, a0 , Ti ) is set to (4, 16, 0, 4), or (4, 12, 0, 3), or (4, 8, 0, 1), or (4, 16, 3, 4), or (4, 12, 2, 3), or (4, 8, 1, 2), where Ti is the same for all i.
iv. Such methods may only be applied if K is less than L.
v. Alternatively, if K is greater than or equal to a threshold, part c of example C4 may be applied. The threshold may be defined as L, or may depend on K, or may be adaptively changed on a block-by-block basis. In one example, the threshold may depend on the number of available motion candidates in the list before adding new motion candidates from the lookup table.
h. In one example, the checking order of K motion candidates from a table containing L candidates may be defined as follows: a0 , a0 - T0 , a0 - T0 - T1 , a0 - T0 - T1 - T2 , ... a0 - T0 - T1 - T2 -...- TK-1 , selecting candidates with indices a0 and T i (i is 0...K-1) in order.
In one example, a 0 is set to L−1 (i.e., the last entry of the motion candidates in the table). Alternatively, a 0 is set to any integer between L−1-L/K and L−1.
ii. In one example, all the intervals T i (i=0...K-1) are the same, say L/K.
In one example, (K, L, a 0 , T i ) is set to (4, 16, L-1, 4), or (4, 12, L-1, 3), or (4, 8, L-1, 1), or (4, 16, L-4, 4), or (4, 12, L-3, 3), or (4, 8, L-2, 2), where T i is the same for all i.
iv. Such methods may only be applied if K is less than L.
v. Alternatively, part c of example C4 may also be applied if K is greater than or equal to a threshold. The threshold may be defined as L, or may depend on K, or may be adaptively changed on a block-by-block basis. In one example, the threshold may depend on the number of available motion candidates in the list before adding new motion candidates from the lookup table.
i. The number and/or manner of selecting motion candidates from the look-table may depend on the coding information, e.g., block size/block shape.
i. In one example, for smaller block sizes, instead of selecting the last K motion candidates, one may select the other K motion candidates (not starting from the end).
ii. In one example, the coding information may be in AMVP mode or in merge mode.
iii. In one example, the coding information may be in affine mode or non-affine AMVP mode or non-affine merge mode.
iv. In one example, the coding information may be in affine AMVP (inter) mode, or affine merge mode, or non-affine AMVP mode, or non-affine merge mode.
v. In one example, the encoded information may or may not be in Current Picture Reference (CPR) mode.
vi. Alternatively, the method of selecting a motion candidate from the lookup table may further depend on the number of motion candidates in the lookup table and/or the number of available motion candidates in the list before adding a new motion candidate from the lookup table.
j. In one example, the maximum number of available motion candidates in the lookup table to be checked (i.e., that may be added to the merge/AMVP candidate list) may depend on the number of available motion candidates in the lookup table (indicated by N avaiMCinLUT ) and/or the maximum number of allowed motion candidates to be added (which may be predefined or signaled) (indicated by NUM maxMC ) and/or the number of available motion candidates in the candidate list before checking candidates from the lookup table (indicated by N avaiC ).
i. In one example, the maximum number of motion candidates in the lookup table to be checked is set to the minimum of (N avaiMCinLUT , NUM maxMC , N avaiC ).
ii. Alternatively, the maximum number of motion candidates in the lookup table to be checked is set to the minimum of (N avaiMCinLUT , NUM maxMC −N avaiC ).
In one example, N avaiC indicates the number of insertion candidates derived from spatially or temporally (adjacent and/or non-adjacent) neighboring blocks. Alternatively, the number of sub-block candidates (such as AMTVP, STMVP, etc.) is not counted in N avaiC .
iv. NUM_maxMC may depend on the coding mode, e.g., in merge mode and AMVP mode, NUM_maxMC may be set to different values. In one example, for merge mode, NUM_maxMC may be set to 4, 6, 8, 10, etc., and for AMVP mode, NUM_maxMC may be set to 1, 2, 4, etc.
v. Alternatively, NUM_maxMC may depend on other coding information such as block size, block shape, slice type, etc.
k. The order in which the different lookup tables are checked is specified in the next subsection, Lookup Table Usage.
l. Once the merge/AMVP candidate list reaches the maximum allowed number of candidates, this checking process ends.
m. Once the merge/AMVP candidate list reaches the maximum allowed number of candidates minus a threshold (Th), the checking process ends. In one example, Th may be predefined as a positive integer value, e.g., 1, 2, or 3. Alternatively, Th may be adaptively changed per block. Alternatively, Th may be signaled in the SPS/PPS/slice header, etc. Alternatively, Th may further depend on the block shape/block size/coding mode, etc. Alternatively, Th may depend on the number of available candidates before adding the motion candidates from the LUT.
Alternatively, it terminates when the number of added motion candidates reaches the maximum allowed number of motion candidates. The maximum allowed number of motion candidates may be signaled or predefined. Alternatively, the maximum allowed number of motion candidates may further depend on block shape/block size/coding mode etc.
o. One syntax element indicating the table size as well as the number of motion candidates that can be checked (i.e., K=L) may be signaled in the SPS, PPS, slice header, tile header.
いくつかの実装形態において、ルックアップテーブルにおける動き候補は他の候補を導出するために用いられてもよく、導出された候補はブロックを符号化するために用いられてもよい。 In some implementations, the motion candidates in the lookup table may be used to derive other candidates, and the derived candidates may be used to encode the block.
いくつかの実装形態において、1つのブロックの動き情報符号化のためのルックアップテーブルの使用の有効/無効は、SPS、PPS、スライスヘッダ、タイルヘッダ、CTU、CTB、CU、またはPU、複数のCTU/CTB/CU/PUを覆う領域において信号通知されてもよい。 In some implementations, the enable/disable of the use of a lookup table for motion information coding of a block may be signaled in the SPS, PPS, slice header, tile header, CTU, CTB, CU, or PU, an area covering multiple CTUs/CTBs/CUs/PUs.
いくつかの実装形態において、ルックアップテーブルからの予測を適用するかどうかは、さらに符号化情報に依存してもよい。1つのブロックに適用しないと推測される場合、予測の指示の追加の信号通知はスキップされる。代替的に、1つのブロックに適用しないと推測される場合、ルックアップテーブルの動き候補にアクセスする必要はなく、関連する動き候補のチェックは省略される。 In some implementations, whether to apply a prediction from the lookup table may further depend on the coding information. If it is inferred not to apply to a block, the additional signaling of the prediction indication is skipped. Alternatively, if it is inferred not to apply to a block, there is no need to access the motion candidates in the lookup table and the check of the associated motion candidates is omitted.
いくつかの実装形態において、以前符号化されたフレーム/スライス/タイルにおけるルックアップテーブルの動き候補を使用して、異なるフレーム/スライス/タイルにおけるブロックの動き情報を予測してもよい。
a.一例において、現在のブロックの参照ピクチャに関連付けられたルックアップテーブルのみを、現在のブロックを符号化するために利用してもよい。
b.一例において、現在のブロックを符号化するために、現在のブロックの同じスライスタイプおよび/または同じ量子化パラメータを有するピクチャに関連付けられたルックアップテーブルのみを利用してもよい。
In some implementations, motion candidates in a look-up table in a previously coded frame/slice/tile may be used to predict motion information of a block in a different frame/slice/tile.
In one example, only the look-up table associated with the reference picture of the current block may be utilized to code the current block.
b. In one example, only look-up tables associated with pictures having the same slice type and/or the same quantization parameter of the current block may be utilized to code the current block.
ルックアップテーブルの更新 Update lookup table
動き情報を有するブロックを符号化した後(すなわち、IntraBCモード、インター符号化モード)に、1つ以上のルックアップテーブルを更新してもよい。 After encoding a block with motion information (i.e., IntraBC mode, inter coding mode), one or more lookup tables may be updated.
上述したすべての例および実装形態において、ルックアップテーブルは、符号化情報、または以前符号化されたブロックからの符号化情報から導出された情報を復号化順に示す。
a.ルックアップテーブルは、並進動き情報、またはアフィン動き情報、またはアフィンモデルパラメータ、またはイントラモード情報、または照明補償情報等を含んでもよい。
b.代替的に、ルックアップテーブルは、並進動き情報、またはアフィン動き情報、またはアフィンモデルパラメータ、またはイントラモード情報、または照明補償情報等のような情報を少なくとも2種類含んでもよい。
In all of the above examples and implementations, the lookup table indicates coded information, or information derived from coded information from previously coded blocks, in decoding order.
The lookup table may contain translational motion information, or affine motion information, or affine model parameters, or intra-mode information, or lighting compensation information, etc.
b. Alternatively, the lookup table may contain at least two types of information, such as translational motion information, or affine motion information, or affine model parameters, or intra-mode information, or lighting compensation information, etc.
追加の例示的な実施形態 Additional exemplary embodiments
以前符号化されたブロックの動き情報としてHMVP候補を規定する、HMVP(History-based MVP)方法が提案される。符号化/復号化処理中、複数のHMVP候補を有するテーブルが維持される。新しいスライスに遭遇した場合、テーブルは空になる。インター符号化されたブロックがあるときはいつでも、関連する動き情報を新しいHMVP候補としてテーブルの最後のエントリに加える。全体の符号化フローを図30に示す。 A History-based MVP (HMVP) method is proposed, which defines HMVP candidates as motion information of previously coded blocks. During the coding/decoding process, a table with multiple HMVP candidates is maintained. When a new slice is encountered, the table is emptied. Whenever there is an inter-coded block, the associated motion information is added to the last entry of the table as a new HMVP candidate. The overall coding flow is shown in Figure 30.
一例において、テーブルサイズはL(例えば、L=16または6、または44)に設定され、これは、L個までのHMVP候補をテーブルに追加することができることを示す。 In one example, the table size is set to L (e.g., L=16 or 6 or 44), indicating that up to L HMVP candidates can be added to the table.
1つの実施形態(例11.g.iに対応する)において、以前符号化されたブロックからのHMVP候補がL個よりも多く存在する場合、テーブルが常に最新の以前符号化されたL個の動き候補を含むように、先入れ先出し(FIFO:First-In-First-Out)規則が適用される。図31は、FIFO規則を適用してHMVP候補を除去し、提案される方法で使用されるテーブルに新しいものを追加する例を示す。 In one embodiment (corresponding to Example 11.g.i), if there are more than L HMVP candidates from previously coded blocks, a First-In-First-Out (FIFO) rule is applied so that the table always contains the most recent L previously coded motion candidates. Figure 31 shows an example of applying the FIFO rule to remove HMVP candidates and add new ones to the table used in the proposed method.
別の実施形態(発明11.g.iiiに対応する)において、新しい動き候補を追加するときはいつでも(例えば、現在のブロックがインター符号化され、非アフィンモードであるなど)、まず、冗長性チェック処理を適用し、LUTに同じまたは類似した動き候補があるかどうかを識別する。 In another embodiment (corresponding to invention 11.g.iii), whenever a new motion candidate is added (e.g., the current block is inter-coded and in non-affine mode), we first apply a redundancy check process to identify whether there is a same or similar motion candidate in the LUT.
いくつかの例を以下に示す。 Some examples are shown below:
図32Aは、新しい動き候補を追加する前に、LUTが満杯であった場合の例を示す。 Figure 32A shows an example where the LUT is full before adding new motion candidates.
図32Bは、新しい動き候補を追加する前には、LUTが満杯でなかった場合の例を示す。 Figure 32B shows an example where the LUT was not full before adding new motion candidates.
図32Aおよび図32Aは、ともに、冗長性除去に基づくLUT更新方法(1つの冗長性動き候補を除去する)の例を示す。 Figures 32A and 32B both show an example of a LUT update method based on redundancy elimination (removing one redundant motion candidate).
図33Aおよび図33Bは、冗長性除去に基づくLUT更新方法(複数の冗長性動き候補を除去する、図では2つの候補を示す)の2つの場合の実装例を示す。 Figures 33A and 33B show two example implementations of the redundancy removal based LUT update method (removing multiple redundant motion candidates, two candidates are shown in the figure).
図33Aは、新しい動き候補を追加する前に、LUTが満杯であった場合の例を示す。 Figure 33A shows an example where the LUT is full before adding new motion candidates.
図33Bは、新しい動き候補を追加する前に、LUTが満杯でなかった場合の例を示す。 Figure 33B shows an example where the LUT was not full before adding new motion candidates.
HMVP候補は、マージ候補リスト構築処理において使用され得る。TMVP候補の後に、テーブルにおける最後のエントリから最初のエントリ(または最後のK0のHMVP、例えば、K0=16または6)までのすべてのHMVP候補を挿入する。HMVP候補に対してプルーニングを適用する。利用可能なマージ候補の総数が信号通知された最大許容マージ候補に達すると、マージ候補リスト構築処理を終了する。代替的に、加算された動き候補の総数が、所与の値に達すると、LUTからの動き候補の取り出しを終了する。 HMVP candidates may be used in the merge candidate list construction process. After the TMVP candidate, insert all HMVP candidates from the last entry in the table to the first entry (or the last K0 HMVP, e.g., K0=16 or 6). Apply pruning to the HMVP candidates. End the merge candidate list construction process when the total number of available merge candidates reaches the signaled maximum allowed merge candidates. Alternatively, end the extraction of motion candidates from the LUT when the total number of added motion candidates reaches a given value.
同様に、HMVP候補は、AMVP候補リスト構築処理において使用されてもよい。TMVP候補の後に、テーブルにおける最後のK1個のHMVP候補の動きベクトルを挿入する。AMVP対象参照ピクチャと同じ参照ピクチャを有するHMVP候補のみを用いて、AMVP候補リストを構築する。HMVP候補に対してプルーニングを適用する。一例において、K1は4に設定される。 Similarly, HMVP candidates may be used in the AMVP candidate list construction process. Insert the motion vectors of the last K1 HMVP candidates in the table after the TMVP candidates. Construct the AMVP candidate list using only HMVP candidates that have the same reference picture as the AMVP target reference picture. Apply pruning to the HMVP candidates. In one example, K1 is set to 4.
図28は、映像処理装置2800のブロック図である。装置2800は、本明細書に記載の方法の1つ以上を実装するために使用してもよい。装置2800は、スマートフォン、タブレット、コンピュータ、IoT(Internet of Things)受信機等により実装されてもよい。装置2800は、1つ以上のプロセッサ2802と、1つ以上のメモリ2804と、映像処理ハードウェア2806と、を含んでもよい。1つまたは複数のプロセッサ2802は、本明細書に記載される1つ以上の方法を実装するように構成されてもよい。1または複数のメモリ2804は、本明細書で説明される方法および技術を実装するために使用されるデータおよびコードを記憶するために使用してもよい。映像処理ハードウェア2806は、本明細書に記載される技術をハードウェア回路にて実装するために用いられてよい。 28 is a block diagram of a video processing device 2800. The device 2800 may be used to implement one or more of the methods described herein. The device 2800 may be implemented by a smartphone, a tablet, a computer, an Internet of Things (IoT) receiver, etc. The device 2800 may include one or more processors 2802, one or more memories 2804, and video processing hardware 2806. The one or more processors 2802 may be configured to implement one or more of the methods described herein. The one or more memories 2804 may be used to store data and codes used to implement the methods and techniques described herein. The video processing hardware 2806 may be used to implement the techniques described herein in a hardware circuit.
図29は、映像復号化方法2900の例のフローチャートである。方法2900は、テーブルを維持すること(2902)を含み、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる。方法2900は、さらに、第1の映像ブロックと、第1の映像ブロックを含む映像のビットストリーム表現との間で変換(2904)を行うことを含み、変換を行うことは、動き候補のセットのうちの少なくとも一部を予測因子として使用して第1の映像ブロックの動き情報を処理することを含む。 29 is a flowchart of an example video decoding method 2900. The method 2900 includes maintaining (2902) tables, each table including a set of motion candidates, each motion candidate associated with corresponding motion information. The method 2900 further includes converting (2904) between the first video block and a bitstream representation of the video including the first video block, the converting including processing the motion information of the first video block using at least a portion of the set of motion candidates as predictors.
方法2900に対して、いくつかの実施形態において、動き情報は、予測方向、参照ピクチャインデックス、動きベクトル値、強度補償フラグ、アフィンフラグ、動きベクトル差精度または動きベクトル差分値のうち少なくとも1つを含む。さらに、動き情報は、動き情報がどこから来ているかを示すために、ブロック位置情報をさらに含んでもよい。いくつかの実施形態において、映像ブロックはCUまたはPUであり、映像の一部は1つ以上の映像スライスまたは1つ以上の映像ピクチャに対応してよい。 For method 2900, in some embodiments, the motion information includes at least one of a prediction direction, a reference picture index, a motion vector value, an intensity compensation flag, an affine flag, a motion vector difference precision, or a motion vector difference value. Additionally, the motion information may further include block location information to indicate where the motion information comes from. In some embodiments, the video block is a CU or a PU, and the portion of the video may correspond to one or more video slices or one or more video pictures.
いくつかの実施形態において、各LUTは、関連するカウンタを含み、カウンタは、映像の部分の最初においてゼロ値に初期化され、映像の部分における各符号化された映像領域ごとに増加される。映像領域は、符号化ツリーユニット、符号化ツリーブロック、符号化ユニット、符号化ブロックまたは予測ユニットのうちの1つを含む。いくつかの実施形態において、カウンタは、対応するLUTに対して、対応するLUTから除去された動き候補の数を示す。いくつかの実施形態において、動き候補のセットはすべてのLUTに対して同じサイズを有していてもよい。いくつかの実施形態において、映像の一部は1つの映像スライスに対応し、LUTの数はN*Pに等しく、Nは1つの復号化スレッド当たりのLUTを表す整数であり、Pは1つの映像スライスにおける最大符号化ユニットの行の数またはタイルの数を表す整数である。方法2900のさらなる詳細は、第4章に提供される実施例および以下に列挙される実施例に記載される。 In some embodiments, each LUT includes an associated counter, which is initialized to a zero value at the beginning of the portion of the video and is incremented for each coded video region in the portion of the video. The video region includes one of a coding tree unit, a coding tree block, a coding unit, a coding block, or a prediction unit. In some embodiments, the counter indicates, for a corresponding LUT, the number of motion candidates that have been removed from the corresponding LUT. In some embodiments, the set of motion candidates may have the same size for all LUTs. In some embodiments, the portion of the video corresponds to a video slice, and the number of LUTs is equal to N*P, where N is an integer representing the number of LUTs per decoding thread, and P is an integer representing the number of rows or tiles of the largest coding unit in a video slice. Further details of method 2900 are described in the examples provided in Chapter 4 and in the examples listed below.
上述した方法/技術の特徴および実施形態を以下に説明する。 Features and embodiments of the above-mentioned methods/techniques are described below.
1.テーブルを維持することであって、各テーブルは、動き候補のセットを含み、各動き候補は、対応する動き情報に関連付けられる、ことと、第1の映像ブロックと、第1の映像ブロックを含む映像のビットストリーム表現との間で変換を行うことであって、変換を行うことは、動き候補のセットのうちの少なくとも一部を予測因子として使用して第1の映像ブロックの動き情報を処理することを含む、ことと、を有する映像処理方法。 1. A video processing method comprising: maintaining tables, each table including a set of motion candidates, each motion candidate being associated with corresponding motion information; and converting between a first video block and a bitstream representation of a video including the first video block, the converting including processing the motion information of the first video block using at least a portion of the set of motion candidates as predictors.
2.前記テーブルは、前記第1の映像ブロックの前に復号化された、以前復号化された映像ブロックから導出した動き候補を含む、第1項に記載の方法。 2. The method of claim 1, wherein the table includes motion candidates derived from previously decoded video blocks that were decoded before the first video block.
3.前記変換を行うことは、動き候補の前記セットの少なくとも一部を使用して、AMVP(Advanced Motion Vector Prediction)候補リスト導出処理を行うこと含む、第1項に記載の方法。 3. The method of claim 1, wherein performing the transformation includes performing an Advanced Motion Vector Prediction (AMVP) candidate list derivation process using at least a portion of the set of motion candidates.
4.前記AMVP候補リスト導出処理は、1つ以上のテーブルからの動き候補をチェックすることを含む、第3項に記載の方法。 4. The method of claim 3, wherein the AMVP candidate list derivation process includes checking motion candidates from one or more tables.
5.前記変換を行うことは、動き候補をチェックすることを含み、前記チェックされた動き候補に関連付けられた動きベクトルは、前記第1の映像ブロックの前記動きベクトルを符号化するための動きベクトル予測因子として使用する、第1~4項のいずれか1項に記載の方法。 5. The method according to any one of claims 1 to 4, wherein performing the transformation includes checking motion candidates, and a motion vector associated with the checked motion candidate is used as a motion vector predictor for encoding the motion vector of the first video block.
6.チェックされた動き候補に関連付けられた動きベクトルは、前記AMVP動き候補リストに追加される、第4項に記載の方法。 6. The method of claim 4, wherein the motion vector associated with the checked motion candidate is added to the AMVP motion candidate list.
7.前記変換を行うことは、規則に基づいて動き候補の少なくとも一部をチェックすることを含む、第1項に記載の方法。 7. The method of claim 1, wherein performing the transformation includes checking at least a portion of the motion candidates based on a rule.
8.前記規則は、TMVP(Temporal Motion Vector Prediction)候補をチェックした後、AMVP候補リストが満杯でない場合、前記チェックを有効にする、第7項に記載の方法。 8. The method of claim 7, wherein the rule enables the check if the AMVP candidate list is not full after checking the TMVP (Temporal Motion Vector Prediction) candidates.
9.前記規則は、空間的近傍から選択し、プルーニングした後、TMVP候補を挿入する前に、AMVP候補リストが満杯でない場合、前記チェックを有効にすることを有効にする、第7項に記載の方法。 9. The method of claim 7, wherein the rule enables the check if the AMVP candidate list is not full after selecting and pruning from spatial neighborhoods and before inserting the TMVP candidate.
10.前記規則は、i)上側の近傍のブロックからのAMVP候補がスケーリング無しで存在しない場合、または、ii)左側の近傍のブロックからのAMVP候補がスケーリング無しで存在しない場合に、前記チェックを有効にする、第7項に記載の方法。 10. The method of claim 7, wherein the rule enables the check if i) no AMVP candidates from the upper neighboring block exist without scaling, or ii) no AMVP candidates from the left neighboring block exist without scaling.
11.規則は、AMVP候補リストに動き候補を追加する前に、プルーニングを適用する場合、前記チェックを有効にする、第7項に記載の方法。 11. The method of claim 7, wherein the rule enables the check if pruning is applied before adding a motion candidate to the AMVP candidate list.
12.現在の参照ピクチャと同一の参照ピクチャを有する動き候補をチェックする、第1項に記載の方法。 12. The method of claim 1, checking for motion candidates that have the same reference picture as the current reference picture.
13.現在の参照ピクチャと異なる参照ピクチャを有する動き候補をさらにチェックする、第12項に記載の方法。 13. The method of claim 12, further checking motion candidates that have a different reference picture than the current reference picture.
14.同一の参照ピクチャを有する動き候補をチェックすることは、異なる参照ピクチャを有する動き候補をチェックすることに先立って実行される、第13項に記載の方法。 14. The method of claim 13, wherein checking motion candidates with the same reference picture is performed prior to checking motion candidates with different reference pictures.
15.動き候補から動きベクトルをテーブルに追加する前に、プルーニング工程を含むAMVP候補リスト構成処理をさらに含む、第1項に記載の方法。 15. The method of claim 1, further comprising an AMVP candidate list construction process including a pruning step prior to adding motion vectors from the motion candidates to the table.
16.前記プルーニング工程は、動き候補を、AMVP候補リストにおける利用可能な動き候補の少なくとも一部と比較することを含む、第15項に記載の方法。 16. The method of claim 15, wherein the pruning step includes comparing the motion candidates with at least a portion of the available motion candidates in an AMVP candidate list.
17.前記プルーニング工程は、複数の工程を含み、その数は、複数の空間的または時間的AMVP候補の関数である、第15項に記載の方法。 17. The method of claim 15, wherein the pruning step includes multiple steps, the number of which is a function of the number of spatial or temporal AMVP candidates.
18.前記複数の工程は、AMVP候補リストにおいてM個の候補が利用可能である場合に、前記プルーニングが、K個のAMVP候補にのみ適用され、K≦Mであり、KおよびMは整数である、第17項に記載の方法。 18. The method of claim 17, wherein the steps are such that if M candidates are available in the AMVP candidate list, the pruning is applied to only K AMVP candidates, where K≦M and K and M are integers.
19.前記変換を行うことは、いくつかの動きベクトルの差分を用いて、SMVD(Symmetric Motion Vector Difference)処理を行うことを含む、第1項に記載の方法。 19. The method according to claim 1, wherein the conversion includes performing Symmetric Motion Vector Difference (SMVD) processing using differences between several motion vectors.
20.前記変換を行うことは、いくつかの動きベクトルを用いて、SMV(Symmetric Motion Vector)処理を行うことを含む、第1項に記載の方法。 20. The method according to claim 1, wherein the conversion includes performing SMV (Symmetric Motion Vector) processing using several motion vectors.
21.前記規則は、あるAMVP候補を挿入した後に、AMVP候補リストが満杯でない場合、前記チェックを有効とする、第7項に記載の方法。 21. The method of claim 7, wherein the rule enables the check if the AMVP candidate list is not full after inserting an AMVP candidate.
22.前記テーブルにおける動き候補のチェックを有効とすることを更に有し、前記チェックは、空間的または時間的ブロックから導出した他の候補をチェックする前に有効にされ、他の候補は、AMVP候補、SMVD候補、SMV候補、またはアフィンインター候補を含む、第1項に記載の方法。 22. The method of claim 1, further comprising enabling checking of motion candidates in the table, the checking being enabled before checking other candidates derived from spatial or temporal blocks, the other candidates including AMVP candidates, SMVD candidates, SMV candidates, or affine inter candidates.
23.テーブルにおける動き候補のチェックを有効とすることを更に有し、前記チェックは、前記テーブルに少なくとも1つの動き候補がある場合に有効になる、第1項に記載の方法。 23. The method of claim 1, further comprising enabling a check of motion candidates in a table, the check being enabled if there is at least one motion candidate in the table.
24.双方向予測候補である動き候補の場合、第2の参照ピクチャリストの参照ピクチャがチェックされる前に、第1の参照ピクチャリストの参照ピクチャがチェックされ、前記第1の参照ピクチャリストは現在の参照対象ピクチャリストである、第1項に記載の方法。 24. The method of claim 1, in which, for a motion candidate that is a bidirectional prediction candidate, a reference picture in a first reference picture list is checked before a reference picture in a second reference picture list is checked, and the first reference picture list is a current reference target picture list.
25.双方向予測候補である動き候補の場合、第2の参照ピクチャリストの参照ピクチャがチェックされる前に、第1の参照ピクチャリストの参照ピクチャがチェックされ、前記第2の参照ピクチャリストは現在の参照対象ピクチャリストである、第1または2項に記載の方法。 25. The method according to claim 1 or 2, in which, for a motion candidate that is a bidirectional prediction candidate, a reference picture in a first reference picture list is checked before a reference picture in a second reference picture list is checked, and the second reference picture list is a current reference target picture list.
26.第1の参照ピクチャリストの参照ピクチャは、第2の参照ピクチャリストの参照ピクチャの前にチェックされる、第1項に記載の方法。 26. The method of claim 1, wherein a reference picture in a first reference picture list is checked before a reference picture in a second reference picture list.
27.前記変換を行うことは、前記第1の映像ブロックから前記ビットストリーム表現を生成することを含む、第1項に記載の方法。 27. The method of claim 1, wherein performing the conversion includes generating the bitstream representation from the first video block.
28.前記変換を行うことは、前記第1の映像ブロックをビットストリーム表現から生成することを含む、第1項に記載の方法。 28. The method of claim 1, wherein performing the conversion includes generating the first video block from a bitstream representation.
29.動き候補は、予測方向、参照ピクチャインデックス、動きベクトル値、強度補償フラグ、アフィンフラグ、動きベクトル差精度、または動きベクトル差分値のうち少なくとも1つを含む動き情報に関連付けられる、第1~28項のいずれか1項に記載の方法。 29. The method according to any one of claims 1 to 28, wherein the motion candidates are associated with motion information including at least one of a prediction direction, a reference picture index, a motion vector value, an intensity compensation flag, an affine flag, a motion vector difference precision, or a motion vector differential value.
30.1つの動き候補は、イントラ符号化されたブロックに用いられるイントラ予測モードに関連付けられる、第1~29項のいずれか1項に記載の方法。 30. The method of any one of claims 1 to 29, wherein one motion candidate is associated with an intra prediction mode used for an intra-coded block.
31.1つの動き候補は、IC符号化されたブロックに用いられる複数のIC(Illumination Compensation)パラメータに関連付けられる、第1~29項のいずれか1項に記載の方法。 31. A method according to any one of claims 1 to 29, in which one motion candidate is associated with multiple IC (Illumination Compensation) parameters used for an IC-coded block.
32.1つの動き候補は、フィルタリング処理に用いられるフィルタパラメータに関連付けられる、第1~29項のいずれか1項に記載の方法。 32. A method according to any one of claims 1 to 29, in which one motion candidate is associated with a filter parameter used in the filtering process.
33.前記変換に基づいて、1つ以上のテーブルを更新することをさらに含む、第1~29項のいずれか1項に記載の方法。 33. The method of any one of claims 1 to 29, further comprising updating one or more tables based on the transformation.
34.1つ以上のテーブルを前記更新することは、前記変換を行った後、前記第1の映像ブロックの動き情報に基づいて1つ以上のテーブルを更新することを含む、第33項に記載の方法。 34. The method of claim 33, wherein updating one or more tables includes updating one or more tables based on motion information of the first video block after performing the transformation.
35.前記更新されたテーブルに基づいて、前記映像の後続の映像ブロックと前記映像のビットストリーム表現との間で変換を行うことをさらに含む、第34項に記載の方法。 35. The method of claim 34, further comprising converting between subsequent video blocks of the video and a bitstream representation of the video based on the updated table.
36.プロセッサと、命令が記憶された非一時的メモリとを備える装置であって、前記命令は、前記プロセッサにより実行された際に、前記プロセッサに、第1項~35項のいずれか一項に記載の方法を実施させる装置。 36. An apparatus comprising a processor and a non-transitory memory having instructions stored therein, the instructions, when executed by the processor, causing the processor to perform a method according to any one of paragraphs 1 to 35.
37.第1~35項のいずれか1項に記載の方法を実行するためのプログラムコードを含む、非一時的なコンピュータ可読媒体に記憶されたコンピュータプログラム製品。 37. A computer program product stored on a non-transitory computer-readable medium, comprising program code for executing the method according to any one of claims 1 to 35.
以上、説明の目的で本開示の技術の特定の実施形態を説明したが、本発明の範囲から逸脱することなく様々な修正が可能であることは、理解されるであろう。従って、本開示の技術は、添付の特許請求の範囲による場合を除き、限定されない。 While specific embodiments of the disclosed technology have been described above for purposes of illustration, it will be understood that various modifications may be made without departing from the scope of the invention. Accordingly, the disclosed technology is not to be limited except as by the appended claims.
本明細書に記載された開示された、およびその他の実施形態、モジュール、および機能操作の実装形態は、本明細書に開示された構造およびその構造的等価物を含め、デジタル電子回路、またはコンピュータソフトウェア、ファームウェア、若しくはハードウェアで実施されてもよく、またはそれらの1つ以上の組み合わせで実施してもよい。開示された、およびその他の実施形態は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置によって実装されるため、またはデータ処理装置の操作を制御するために、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実施することができる。このコンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、記憶装置、機械可読伝播信号をもたらす物質の組成物、またはこれらの1つ以上の組み合わせであってもよい。「データ処理装置」という用語は、例えば、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサ、若しくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を含む。この装置は、ハードウェアの他に、当該コンピュータプログラムの実行環境を作るコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらの1つ以上の組み合わせを構成するコードを含んでもよい。伝播信号は、人工的に生成した信号、例えば、機械で生成した電気、光、または電磁信号であり、適切な受信装置に送信するための情報を符号化するために生成される。 Implementations of the disclosed and other embodiments, modules, and functional operations described herein, including the structures disclosed herein and their structural equivalents, may be implemented in digital electronic circuitry, or computer software, firmware, or hardware, or in one or more combinations thereof. The disclosed and other embodiments may be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a computer-readable medium for implementation by or for controlling the operation of a data processing apparatus. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a storage device, a composition of matter that provides a machine-readable propagated signal, or one or more combinations thereof. The term "data processing apparatus" includes all apparatus, devices, and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors, or computers. In addition to hardware, the apparatus may include code that creates an environment for the execution of the computer program, such as code that constitutes a processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof. A propagated signal is an artificially generated signal, for example a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to an appropriate receiving device.
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとも呼ばれる)は、コンパイルされた言語または解釈された言語を含む任意の形式のプログラミング言語で記述することができ、それは、スタンドアロンプログラムとして、またはコンピューティング環境で使用するのに適したモジュール、コンポーネント、サブルーチン、または他のユニットとして含む任意の形式で展開することができる。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語文書に格納された1つ以上のスクリプト)に記録されていてもよいし、当該プログラム専用の単一のファイルに記憶されていてもよいし、複数の調整ファイル(例えば、1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に記憶されていてもよい。1つのコンピュータプログラムを、1つのサイトに位置する1つのコンピュータ、または複数のサイトに分散され通信ネットワークによって相互接続される複数のコンピュータで実行させるように展開可能である。 A computer program (also called a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be recorded as part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), may be stored in a single file dedicated to the program, or may be stored in multiple coordinating files (e.g., files that store one or more modules, subprograms, or portions of code). A computer program can be deployed to run on one computer located at one site, or on multiple computers distributed across multiple sites and interconnected by a communications network.
本明細書に記載されたプロセスおよびロジックフローは、入力データ上で動作し、出力を生成することによって機能を実行するための1つ以上のコンピュータプログラムを実行する1つ以上のプログラマブルプロセッサによって行うことができる。プロセスおよびロジックフローはまた、特別目的のロジック回路、例えば、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)によって実行することができ、装置はまた、特別目的のロジック回路として実装することができる。 The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and devices may also be implemented as, special purpose logic circuits, such as Field Programmable Gate Arrays (FPGAs) or Application Specific Integrated Circuits (ASICs).
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用および専用マイクロプロセッサの両方、並びに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つ以上の記憶装置とである。一般的に、コンピュータは、データを記憶するための1つ以上の大容量記憶デバイス、例えば、磁気、光磁気ディスク、または光ディスクを含んでもよく、またはこれらの大容量記憶デバイスからデータを受信するか、またはこれらにデータを転送するように動作可能に結合されてもよい。しかしながら、コンピュータは、このようなデバイスを有する必要はない。コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、あらゆる形式の不揮発性メモリ、媒体、および記憶装置を含み、例えば、EPROM、EEPROM、フラッシュ記憶装置、磁気ディスク、例えば内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、およびCD-ROMおよびDVD-ROMディスク等の半導体記憶装置を含む。プロセッサおよびメモリは、専用ロジック回路によって補完されてもよく、または専用ロジック回路に組み込まれてもよい。 Processors suitable for executing computer programs include, for example, both general purpose and special purpose microprocessors, as well as any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Typically, a computer may include one or more mass storage devices, e.g., magnetic, magneto-optical, or optical disks, for storing data, or may be operatively coupled to receive data from or transfer data to these mass storage devices. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, EPROM, EEPROM, flash storage devices, magnetic disks, e.g., internal hard disks or removable disks, magneto-optical disks, and semiconductor storage devices such as CD-ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.
この特許明細書は多くの詳細を含むが、これらは、任意の発明の範囲または特許請求の範囲を限定するものと解釈されるべきではなく、むしろ、特定の発明の特定の実施形態に特有であり得る特徴の説明と解釈されるべきである。本特許明細書において別の実施形態の文脈で説明されている特定の特徴は、1つの例において組み合わせて実装してもよい。逆に、単一の例の文脈で説明された様々な特徴は、複数の実施形態において別個にまたは任意の適切なサブコンビネーションで実装してもよい。さらに、特徴は、特定の組み合わせで作用するものとして上記に記載され、最初にそのように主張されていてもよいが、主張された組み合わせからの1つ以上の特徴は、場合によっては、組み合わせから抜粋されることができ、主張された組み合わせは、サブ組み合わせまたはサブ組み合わせのバリエーションに向けられてもよい。 While this patent specification contains many details, these should not be construed as limiting the scope of any invention or the scope of the claims, but rather as descriptions of features that may be specific to particular embodiments of a particular invention. Certain features described in this patent specification in the context of another embodiment may be implemented in combination in one example. Conversely, various features described in the context of a single example may be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as acting in a particular combination and initially claimed as such, one or more features from a claimed combination may, in some cases, be extracted from the combination, and the claimed combination may be directed to a subcombination or a variation of the subcombination.
同様に、動作は図面において特定の順番で示されているが、これは、所望の結果を達成するために、このような動作が示された特定の順番でまたは連続した順番で実行されること、または示された全ての操作が実行されることを必要とするものと理解されるべきではない。また、本特許明細書に記載されている例における様々なシステムの構成要素の分離は、全ての実施形態においてこのような分離を必要とするものと理解されるべきではない。 Similarly, although operations are shown in a particular order in the figures, this should not be understood as requiring that such operations be performed in the particular order or sequential order shown, or that all of the operations shown be performed, to achieve desired results. Additionally, the separation of various system components in the examples described in this patent specification should not be understood as requiring such separation in all embodiments.
いくつかの実装形態および例のみが記載されており、この特許明細書に記載され図示されている内容に基づいて、他の実施形態、拡張および変形が可能である。 Only some implementations and examples have been described, and other embodiments, extensions and variations are possible based on what is described and illustrated in this patent specification.
Claims (26)
前記動き候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックをコーディングすることと、
を有し、
前記テーブルは、前記現在の映像ブロックの前にコーディングされた1または複数の前のコーディングされた映像ブロックから導出された1または複数の動き候補を含み、
前記テーブルにおける前記動き候補の配列は、前記テーブルへの前記動き候補の追加の順序に基づく、映像処理方法。 constructing a motion candidate list for a current video block, during said constructing, at least one motion candidate in a table is selectively checked in order after checking at least one block each having a predefined relative position with respect to the current video block;
determining motion information for the current video block using the motion candidate list;
coding the current video block based on the determined motion information; and
having
the table includes one or more motion candidates derived from one or more previously coded video blocks that were coded before the current video block;
A method of video processing, wherein an arrangement of the motion candidates in the table is based on an order of addition of the motion candidates to the table.
前記複数の空間的ブロックは、前記現在の映像ブロックを含むピクチャと同じピクチャに位置する、請求項1から3のいずれか一項に記載の方法。 the at least one block includes a last spatial block of a plurality of spatial blocks checked in sequence;
The method of claim 1 , wherein the spatial blocks are located in the same picture as a picture containing the current video block.
前記少なくとも1つの条件は、前記少なくとも1つのブロックをチェックした後の前記動き候補における動き候補の現在の数、または、前記テーブルにおける動き候補の現在の数に基づく、請求項1から12のいずれか一項に記載の方法。 If at least one condition is met, at least one motion candidate in the table is checked;
13. The method of claim 1, wherein the at least one condition is based on a current number of motion candidates in the motion candidates table after checking the at least one block or a current number of motion candidates in the table.
前記命令は、前記プロセッサによって実行された際に、前記プロセッサに、
映像の現在の映像ブロックに対する動き候補リストを構成することであって、前記構成の間、テーブルの少なくとも1つの動き候補は、前記現在の映像ブロックに対して予め定義された相対位置をそれぞれが有する少なくとも1つのブロックをチェックした後、順に、選択的にチェックされる、ことと、
前記動き候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックをコーディングすることと、
を実行させ、
前記テーブルは、前記現在の映像ブロックの前にコーディングされた1または複数の前のコーディングされた映像ブロックから導出された1または複数の動き候補を含み、
前記テーブルにおける前記動き候補の配列は、前記テーブルへの前記動き候補の追加の順序に基づく、装置。 1. An apparatus for coding video data having a processor and a non-transitory memory having instructions, comprising:
The instructions, when executed by the processor, cause the processor to:
constructing a motion candidate list for a current video block of a video, during said constructing, at least one motion candidate in a table is selectively checked in order after checking at least one block each having a predefined relative position with respect to the current video block;
determining motion information for the current video block using the motion candidate list;
coding the current video block based on the determined motion information; and
Run the command,
the table includes one or more motion candidates derived from one or more previously coded video blocks that were coded before the current video block;
An apparatus, wherein an ordering of the motion candidates in the table is based on an order of addition of the motion candidates to the table.
映像の現在の映像ブロックに対する動き候補リストを構成することであって、前記構成の間、テーブルの少なくとも1つの動き候補は、前記現在の映像ブロックに対して予め定義された相対位置をそれぞれが有する少なくとも1つのブロックをチェックした後、順に、選択的にチェックされる、ことと、
前記動き候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックをコーディングすることと、
を実行させ、
前記テーブルは、前記現在の映像ブロックの前にコーディングされた1または複数の前のコーディングされた映像ブロックから導出された1または複数の動き候補を含み、
前記テーブルにおける前記動き候補の配列は、前記テーブルへの前記動き候補の追加の順序に基づく、命令を格納した非一時的コンピュータ可読記録媒体。 The processor:
constructing a motion candidate list for a current video block of a video, during said constructing, at least one motion candidate in a table is selectively checked in order after checking at least one block each having a predefined relative position with respect to the current video block;
determining motion information for the current video block using the motion candidate list;
coding the current video block based on the determined motion information; and
Run the command,
the table includes one or more motion candidates derived from one or more previously coded video blocks that were coded before the current video block;
A non-transitory computer-readable storage medium having stored thereon instructions, wherein an ordering of the motion candidates in the table is based on an order of addition of the motion candidates to the table.
前記映像の現在の映像ブロックに対する動き候補リストを構成することであって、前記構成の間、テーブルの少なくとも1つの動き候補は、前記現在の映像ブロックに対して予め定義された相対位置をそれぞれが有する少なくとも1つのブロックをチェックした後、順に、選択的にチェックされる、ことと、
前記動き候補リストを用いて、前記現在の映像ブロックの動き情報を決定することと、
前記決定された動き情報に基づいて、前記現在の映像ブロックを前記ビットストリームに符号化することと、
前記ビットストリームを、非一時的コンピュータ可読記録媒体に格納することと、を有し、
前記テーブルは、前記現在の映像ブロックの前にコーディングされた1または複数の前のコーディングされた映像ブロックから導出された1または複数の動き候補を含み、
前記テーブルにおける前記動き候補の配列は、前記テーブルへの前記動き候補の追加の順序に基づく、方法。 1. A method for storing a video bitstream, comprising:
constructing a motion candidate list for a current video block of the image, during said construction at least one motion candidate in a table being checked selectively in sequence after checking at least one block each having a predefined relative position with respect to the current video block;
determining motion information for the current video block using the motion candidate list;
encoding the current video block into the bitstream based on the determined motion information; and
storing the bitstream on a non- transitory computer-readable recording medium;
the table includes one or more motion candidates derived from one or more previously coded video blocks that were coded before the current video block;
A method according to claim 1, wherein an ordering of the motion candidates in the table is based on an order of addition of the motion candidates to the table.
Applications Claiming Priority (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNPCT/CN2018/093663 | 2018-06-29 | ||
| CN2018093663 | 2018-06-29 | ||
| CN2018105193 | 2018-09-12 | ||
| CNPCT/CN2018/105193 | 2018-09-12 | ||
| CN2019072058 | 2019-01-16 | ||
| CNPCT/CN2019/072058 | 2019-01-16 | ||
| JP2021523115A JP7295231B2 (en) | 2018-06-29 | 2019-07-01 | Interaction between LUT and AMVP |
| PCT/IB2019/055595 WO2020003284A1 (en) | 2018-06-29 | 2019-07-01 | Interaction between lut and amvp |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021523115A Division JP7295231B2 (en) | 2018-06-29 | 2019-07-01 | Interaction between LUT and AMVP |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023052926A JP2023052926A (en) | 2023-04-12 |
| JP7544883B2 true JP7544883B2 (en) | 2024-09-03 |
Family
ID=67262803
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021523115A Active JP7295231B2 (en) | 2018-06-29 | 2019-07-01 | Interaction between LUT and AMVP |
| JP2023016139A Active JP7544883B2 (en) | 2018-06-29 | 2023-02-06 | Interaction Between LUT and AMVP |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021523115A Active JP7295231B2 (en) | 2018-06-29 | 2019-07-01 | Interaction between LUT and AMVP |
Country Status (10)
| Country | Link |
|---|---|
| US (3) | US10873756B2 (en) |
| EP (2) | EP3797516A1 (en) |
| JP (2) | JP7295231B2 (en) |
| KR (2) | KR20240005239A (en) |
| CN (2) | CN114125450B (en) |
| CA (1) | CA3105330C (en) |
| MX (1) | MX2020013828A (en) |
| SG (1) | SG11202013028PA (en) |
| TW (1) | TWI719525B (en) |
| WO (1) | WO2020003284A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12368880B2 (en) | 2019-01-10 | 2025-07-22 | Beijing Bytedance Network Technology Co., Ltd. | Invoke of LUT updating |
| US12401820B2 (en) | 2019-03-22 | 2025-08-26 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020003270A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Number of motion candidates in a look up table to be checked according to mode |
| JP7137008B2 (en) | 2018-06-29 | 2022-09-13 | 北京字節跳動網絡技術有限公司 | The concept of using one or more lookup tables to sequentially store previously coded motion information and use them for coding subsequent blocks |
| WO2020003269A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Selection of coded motion information for lut updating |
| SG11202011714RA (en) | 2018-06-29 | 2020-12-30 | Beijing Bytedance Network Technology Co Ltd | Partial/full pruning when adding a hmvp candidate to merge/amvp |
| CN114125450B (en) | 2018-06-29 | 2023-11-17 | 北京字节跳动网络技术有限公司 | Method, device and computer-readable medium for processing video data |
| JP7460617B2 (en) | 2018-06-29 | 2024-04-02 | 北京字節跳動網絡技術有限公司 | LUT update conditions |
| EP4322533A3 (en) | 2018-06-29 | 2024-03-06 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in lut |
| JP7256265B2 (en) | 2018-06-29 | 2023-04-11 | 北京字節跳動網絡技術有限公司 | Lookup table update: FIFO, limited FIFO |
| EP4307679A3 (en) | 2018-07-02 | 2024-06-19 | Beijing Bytedance Network Technology Co., Ltd. | Luts with intra prediction modes and intra mode prediction from non-adjacent blocks |
| CN111064961B (en) | 2018-09-12 | 2023-06-09 | 北京字节跳动网络技术有限公司 | Video processing method and device |
| JP7225381B2 (en) * | 2018-09-22 | 2023-02-20 | エルジー エレクトロニクス インコーポレイティド | Method and apparatus for processing video signals based on inter-prediction |
| CN117880495A (en) | 2018-12-03 | 2024-04-12 | 北京字节跳动网络技术有限公司 | Method for indicating the maximum number of candidates |
| MX2021007166A (en) * | 2018-12-21 | 2021-08-19 | Samsung Electronics Co Ltd | Image encoding device and image decoding device using triangular prediction mode, and image encoding method and image decoding method performed thereby. |
| EP3905690A4 (en) * | 2018-12-28 | 2022-11-02 | Godo Kaisha IP Bridge 1 | MOVING PICTURE CODING DEVICE, MOVING PICTURE CODING METHOD, MOVING PICTURE CODING PROGRAM, MOVING PICTURE DECODING DEVICE, MOVING PICTURE DECODING METHOD, AND MOVING PICTURE DECODING PROGRAM |
| JP7407412B2 (en) * | 2018-12-28 | 2024-01-04 | 合同会社IP Bridge1号 | Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, video decoding program, storage method, and transmission method |
| TWI876746B (en) * | 2018-12-28 | 2025-03-11 | 日商Jvc建伍股份有限公司 | Picture encoding device, picture encoding method, and picture encoding program, picture decoding device, picture decoding method, picture decoding program, storing method, and transmitting method |
| CN113383554B (en) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | Interaction between LUTs and shared Merge lists |
| CN113302937B (en) | 2019-01-16 | 2024-08-02 | 北京字节跳动网络技术有限公司 | Motion Candidate Derivation |
| CN112514380B (en) | 2019-02-26 | 2025-08-15 | 苹果公司 | Method for encoding/decoding video signal and apparatus therefor |
| MY201453A (en) * | 2019-03-08 | 2024-02-23 | Jvckenwood Corp | Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program |
| KR102793883B1 (en) * | 2019-06-24 | 2025-04-11 | 엘지전자 주식회사 | Image coding method and apparatus using motion vector |
| WO2022212254A2 (en) * | 2021-03-29 | 2022-10-06 | Qualcomm Incorporated | Template matching-based advanced motion vector predictor (amvp) candidate list construction with non-adjacent candidates and amvp index signaling |
| US11895321B2 (en) * | 2021-03-29 | 2024-02-06 | Qualcomm Incorporated | Template matching based advanced motion vector predictor (AMVP) candidate list construction with non-adjacent candidates and AMVP index signaling |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018231700A1 (en) | 2017-06-13 | 2018-12-20 | Qualcomm Incorporated | Motion vector prediction |
Family Cites Families (353)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7023922B1 (en) | 2000-06-21 | 2006-04-04 | Microsoft Corporation | Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information |
| US7623719B2 (en) | 2003-09-26 | 2009-11-24 | The Regents Of The University Of California | Video encoding methods and devices |
| CN100545892C (en) | 2003-12-18 | 2009-09-30 | 汤姆森特许公司 | Method and apparatus for generating a look-up table in a video image field |
| US7801220B2 (en) | 2005-01-07 | 2010-09-21 | Microsoft Corporation | In-band wavelet video coding with spatial scalability |
| US20060233243A1 (en) | 2005-04-13 | 2006-10-19 | Nokia Corporation | FGS identification in scalable video coding |
| US20070025444A1 (en) | 2005-07-28 | 2007-02-01 | Shigeyuki Okada | Coding Method |
| CN100539693C (en) | 2005-08-30 | 2009-09-09 | 深圳清华大学研究院 | Rapid motion estimating method |
| CN101601305B (en) | 2006-10-20 | 2013-01-23 | 诺基亚公司 | Generic indication of adaptation paths for scalable multimedia |
| KR100856411B1 (en) | 2006-12-01 | 2008-09-04 | 삼성전자주식회사 | Illuminance compensation method and apparatus and computer readable recording medium recording the method |
| US8228990B2 (en) | 2008-01-16 | 2012-07-24 | Sony Corporation | Template matching scheme using multiple predictors as candidates for intra-prediction |
| CN101933328B (en) | 2008-01-22 | 2014-11-19 | 杜比实验室特许公司 | Adaptive Motion Information Cost Estimation Using Dynamic Lookup Table Update |
| US8724697B2 (en) | 2008-09-26 | 2014-05-13 | Qualcomm Incorporated | Locating motion vectors for video data units |
| BR122021002161B1 (en) | 2009-06-18 | 2021-09-28 | Kabushiki Kaisha Toshiba | VIDEO ENCODING AND DECODING APPARATUS, METHODS FOR VIDEO ENCODING AND DECODING |
| CN102037732B (en) | 2009-07-06 | 2013-03-27 | 联发科技(新加坡)私人有限公司 | Method for performing single pass adaptive interpolation filter, encoder and decoder |
| KR20110008653A (en) | 2009-07-20 | 2011-01-27 | 삼성전자주식회사 | Motion vector prediction method and image encoding / decoding apparatus and method using same |
| HUE051313T2 (en) | 2009-10-01 | 2021-03-01 | Sk Telecom Co Ltd | Method and apparatus for encoding/decoding image using variable-sized macroblocks |
| KR101600818B1 (en) | 2009-11-06 | 2016-03-09 | 삼성디스플레이 주식회사 | 3 three dimensional optical module and display device including the same |
| JP5338684B2 (en) | 2010-01-08 | 2013-11-13 | ソニー株式会社 | Image processing apparatus, image processing method, and program |
| EP2532159A1 (en) * | 2010-02-05 | 2012-12-12 | Telefonaktiebolaget L M Ericsson (PUBL) | Selecting predicted motion vector candidates |
| KR101630688B1 (en) | 2010-02-17 | 2016-06-16 | 삼성전자주식회사 | Apparatus for motion estimation and method thereof and image processing apparatus |
| US9510009B2 (en) | 2010-05-20 | 2016-11-29 | Thomson Licensing | Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding |
| KR20120016991A (en) | 2010-08-17 | 2012-02-27 | 오수미 | Interprediction Method |
| US10104391B2 (en) | 2010-10-01 | 2018-10-16 | Dolby International Ab | System for nested entropy encoding |
| US8711940B2 (en) | 2010-11-29 | 2014-04-29 | Mediatek Inc. | Method and apparatus of motion vector prediction with extended motion vector predictor |
| WO2012074344A2 (en) | 2010-12-03 | 2012-06-07 | 엘지전자 주식회사 | Method for indexing motion information lists and apparatus using same |
| CN107071461B (en) | 2010-12-14 | 2019-11-12 | M&K控股株式会社 | Devices for decoding moving pictures |
| KR20120068743A (en) | 2010-12-17 | 2012-06-27 | 한국전자통신연구원 | Method for inter prediction and apparatus thereof |
| KR20120070479A (en) | 2010-12-21 | 2012-06-29 | 한국전자통신연구원 | Method and apparatus for encoding and decoding of intra prediction mode information |
| US9049455B2 (en) | 2010-12-28 | 2015-06-02 | Panasonic Intellectual Property Corporation Of America | Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block |
| GB2492778A (en) * | 2011-07-11 | 2013-01-16 | Canon Kk | Motion compensated image coding by combining motion information predictors |
| US20130301734A1 (en) | 2011-01-12 | 2013-11-14 | Canon Kabushiki Kaisha | Video encoding and decoding with low complexity |
| US9319716B2 (en) | 2011-01-27 | 2016-04-19 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
| US20120195366A1 (en) | 2011-02-01 | 2012-08-02 | Mediatek Singapore Pte. Ltd. | Method and Apparatus of Adaptive Inter Mode Coding Using Variable Length Codes |
| EP3860124B8 (en) | 2011-02-09 | 2025-05-07 | LG Electronics Inc. | Method for storing motion information and method for inducing temporal motion vector predictor using same |
| EP2490448A1 (en) | 2011-02-18 | 2012-08-22 | Siemens Aktiengesellschaft | Encoding method and image encoding device for compressing an image sequence |
| US10171813B2 (en) | 2011-02-24 | 2019-01-01 | Qualcomm Incorporated | Hierarchy of motion prediction video blocks |
| US9066110B2 (en) | 2011-03-08 | 2015-06-23 | Texas Instruments Incorporated | Parsing friendly and error resilient merge flag coding in video coding |
| GB2488816A (en) | 2011-03-09 | 2012-09-12 | Canon Kk | Mapping motion vectors from a plurality of reference frames to a single reference frame |
| GB2501835B (en) | 2011-03-09 | 2014-09-03 | Canon Kk | Video encoding and decoding |
| US9866859B2 (en) | 2011-06-14 | 2018-01-09 | Texas Instruments Incorporated | Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding |
| CN103535040B (en) * | 2011-03-21 | 2017-12-22 | Lg电子株式会社 | Method of selecting motion vector predictor and device using same |
| US9143795B2 (en) * | 2011-04-11 | 2015-09-22 | Texas Instruments Incorporated | Parallel motion estimation in video coding |
| US9247266B2 (en) * | 2011-04-18 | 2016-01-26 | Texas Instruments Incorporated | Temporal motion data candidate derivation in video coding |
| US20120287999A1 (en) | 2011-05-11 | 2012-11-15 | Microsoft Corporation | Syntax element prediction in error correction |
| AU2012260302B2 (en) | 2011-05-24 | 2016-11-17 | Sun Patent Trust | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus |
| WO2012164908A1 (en) | 2011-05-31 | 2012-12-06 | パナソニック株式会社 | Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device |
| KR20140019448A (en) | 2011-05-31 | 2014-02-14 | 가부시키가이샤 제이브이씨 켄우드 | Moving image encoding device, moving image encoding method and moving image encoding program, as well as moving image decoding device, moving image decoding method and moving image decoding program |
| WO2012172668A1 (en) | 2011-06-15 | 2012-12-20 | 株式会社 東芝 | Video encoding method and device, and video decoding method and device |
| JP5786478B2 (en) | 2011-06-15 | 2015-09-30 | 富士通株式会社 | Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program |
| US9762900B2 (en) | 2011-06-17 | 2017-09-12 | Lg Electronics Inc. | Method and apparatus for encoding/decoding video in intra prediction mode |
| US9282338B2 (en) | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
| CA2966260C (en) | 2011-06-28 | 2019-06-11 | Samsung Electronics Co., Ltd. | Method and apparatus for coding video and method and apparatus for decoding video, accompanied with intra prediction |
| CN103636218B (en) | 2011-06-30 | 2017-07-28 | Jvc建伍株式会社 | Image decoding device and image decoding method |
| MX2013013029A (en) | 2011-06-30 | 2013-12-02 | Panasonic Corp | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device. |
| WO2013001793A1 (en) | 2011-06-30 | 2013-01-03 | 株式会社Jvcケンウッド | Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program |
| US20130188013A1 (en) | 2011-07-22 | 2013-07-25 | Qualcomm Incorporated | Mvc based 3dvc codec supporting inside view motion prediction (ivmp) mode |
| US9456214B2 (en) | 2011-08-03 | 2016-09-27 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, moving picture decoding apparatus, and moving picture coding and decoding apparatus |
| GB201113527D0 (en) | 2011-08-04 | 2011-09-21 | Imagination Tech Ltd | External vectors in a motion estimation system |
| GB2493755B (en) | 2011-08-17 | 2016-10-19 | Canon Kk | Method and device for encoding a sequence of images and method and device for decoding a sequence of images |
| CN107277548B (en) | 2011-08-29 | 2019-12-06 | 苗太平洋控股有限公司 | Method for encoding image in merge mode |
| US8804816B2 (en) | 2011-08-30 | 2014-08-12 | Microsoft Corporation | Video encoding enhancements |
| EP4231647B1 (en) | 2011-09-09 | 2024-10-30 | LG Electronics Inc. | Image decoding method, image encoding method, and computer-readable storage medium encoded image information |
| RU2716231C2 (en) | 2011-09-09 | 2020-03-06 | Кт Корпорейшен | Video decoding method |
| US9736489B2 (en) | 2011-09-17 | 2017-08-15 | Qualcomm Incorporated | Motion vector determination for video coding |
| US20130070855A1 (en) | 2011-09-17 | 2013-03-21 | Qualcomm Incorporated | Hybrid motion vector coding modes for video coding |
| JP5884697B2 (en) | 2011-09-28 | 2016-03-15 | 株式会社Jvcケンウッド | Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program |
| US10075733B2 (en) | 2011-09-29 | 2018-09-11 | Sharp Kabushiki Kaisha | Image decoding device, image decoding method, and image encoding device |
| CN103907346B (en) | 2011-10-11 | 2017-05-24 | 联发科技股份有限公司 | Motion vector predictor and disparity vector derivation method and device |
| US9838692B2 (en) | 2011-10-18 | 2017-12-05 | Qualcomm Incorporated | Detecting availabilities of neighboring video units for video coding |
| CN107820082B9 (en) | 2011-10-18 | 2021-07-20 | 株式会社Kt | Video signal decoding method |
| US9872016B2 (en) * | 2011-10-19 | 2018-01-16 | Hfi Innovation Inc. | Method and apparatus for derivation of motion vector predictor candidate set |
| CN108881903B (en) | 2011-10-19 | 2022-01-04 | 太阳专利托管公司 | Image encoding method and device, image decoding method and device, and encoding and decoding device |
| WO2013059504A1 (en) | 2011-10-21 | 2013-04-25 | Dolby Laboratories Licensing Corporation | Hierarchical motion estimation for video compression and motion analysis |
| US9462298B2 (en) | 2011-10-21 | 2016-10-04 | Qualcomm Incorporated | Loop filtering around slice boundaries or tile boundaries in video coding |
| CN104041042B (en) | 2011-10-28 | 2018-10-23 | 太阳专利托管公司 | Image encoding method, image decoding method, image encoding device, and image decoding device |
| US9571833B2 (en) | 2011-11-04 | 2017-02-14 | Nokia Technologies Oy | Method for coding and an apparatus |
| KR20130050407A (en) | 2011-11-07 | 2013-05-16 | 오수미 | Method for generating motion information in inter prediction mode |
| KR20130050406A (en) | 2011-11-07 | 2013-05-16 | 오수미 | Method for generating prediction block in inter prediction mode |
| US20130114717A1 (en) | 2011-11-07 | 2013-05-09 | Qualcomm Incorporated | Generating additional merge candidates |
| CN104185988B (en) | 2011-11-08 | 2019-05-10 | 韩国电子通信研究院 | Method and apparatus for sharing candidate lists |
| CN104378638B (en) | 2011-11-08 | 2017-12-01 | 株式会社Kt | The method decoded to the vision signal with current block to be decoded |
| EP2763416A4 (en) | 2011-11-08 | 2015-10-07 | Samsung Electronics Co Ltd | METHOD AND DEVICE FOR DETERMINING MOTION VECTOR FOR VIDEO ENCODING OR DECODING |
| EP3657795A1 (en) | 2011-11-11 | 2020-05-27 | GE Video Compression, LLC | Efficient multi-view coding using depth-map estimate and update |
| US9485503B2 (en) | 2011-11-18 | 2016-11-01 | Qualcomm Incorporated | Inside view motion prediction among texture and depth view components |
| WO2013081365A1 (en) | 2011-11-28 | 2013-06-06 | 에스케이텔레콤 주식회사 | Method and apparatus for video encoding/decoding using improved merge |
| US9762904B2 (en) | 2011-12-22 | 2017-09-12 | Qualcomm Incorporated | Performing motion vector prediction for video coding |
| RU2579665C9 (en) | 2011-12-28 | 2016-12-27 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program |
| US9900615B2 (en) | 2011-12-28 | 2018-02-20 | Microsoft Technology Licensing, Llc | Representative motion information for temporal motion prediction in video encoding and decoding |
| US20130188715A1 (en) | 2012-01-09 | 2013-07-25 | Qualcomm Incorporated | Device and methods for merge list reordering in video coding |
| TWI558176B (en) | 2012-01-18 | 2016-11-11 | Jvc Kenwood Corp | A dynamic image coding apparatus, a motion picture coding method, and a motion picture decoding apparatus, a motion picture decoding method, and a motion picture decoding program |
| CN108055548B (en) | 2012-01-19 | 2021-10-08 | 韩国电子通信研究院 | Method and apparatus for image encoding/decoding |
| EP3512197B8 (en) | 2012-01-20 | 2020-10-21 | Dolby Laboratories Licensing Corporation | Intra prediction mode mapping method |
| KR102210228B1 (en) | 2012-01-20 | 2021-02-01 | 지이 비디오 컴프레션, 엘엘씨 | Coding concept allowing parallel processing, transport demultiplexer and video bitstream |
| EP2810443B1 (en) * | 2012-02-01 | 2021-03-31 | Nokia Technologies Oy | Method and apparatus for video coding |
| US9544592B2 (en) | 2012-02-10 | 2017-01-10 | Texas Instruments Incorporated | Methods and systems for encoding pictures associated with video data |
| US9445076B2 (en) * | 2012-03-14 | 2016-09-13 | Qualcomm Incorporated | Disparity vector construction method for 3D-HEVC |
| US10200709B2 (en) * | 2012-03-16 | 2019-02-05 | Qualcomm Incorporated | High-level syntax extensions for high efficiency video coding |
| US9503720B2 (en) * | 2012-03-16 | 2016-11-22 | Qualcomm Incorporated | Motion vector coding and bi-prediction in HEVC and its extensions |
| WO2013140807A1 (en) | 2012-03-23 | 2013-09-26 | 株式会社Jvcケンウッド | Video coding device, video coding method, video coding program, transmission device, transmission method, and transmission program, as well as video decoding device, video decoding method, video decoding program, receiving device, receiving method, and receiving program |
| US9264706B2 (en) | 2012-04-11 | 2016-02-16 | Qualcomm Incorporated | Bypass bins for reference index coding in video coding |
| US9325991B2 (en) | 2012-04-11 | 2016-04-26 | Qualcomm Incorporated | Motion vector rounding |
| US20130272412A1 (en) | 2012-04-12 | 2013-10-17 | Qualcomm Incorporated | Common motion information candidate list construction process |
| US9338451B2 (en) | 2012-04-12 | 2016-05-10 | Qualcomm Incorporated | Common spatial candidate blocks for parallel motion estimation |
| TWI578760B (en) | 2012-04-12 | 2017-04-11 | Jvc Kenwood Corp | Dynamic image decoding device, dynamic image decoding method and dynamic image decoding program |
| US9503702B2 (en) | 2012-04-13 | 2016-11-22 | Qualcomm Incorporated | View synthesis mode for three-dimensional video coding |
| WO2013157251A1 (en) | 2012-04-16 | 2013-10-24 | 株式会社Jvcケンウッド | Video encoding device, video encoding method, video encoding program, transmission device, transmission method, transmission program, video decoding device, video decoding method, video decoding program, reception device, reception method, and reception program |
| CN104170389B (en) | 2012-04-24 | 2018-10-26 | 联发科技股份有限公司 | Method and apparatus for generating motion vector predictor and method for generating inter-view motion vector predictor candidates |
| US20130294513A1 (en) | 2012-05-07 | 2013-11-07 | Qualcomm Incorporated | Inter layer merge list construction for video coding |
| JP5613846B2 (en) | 2012-05-09 | 2014-10-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Motion vector prediction method and motion vector prediction apparatus |
| WO2013169031A1 (en) | 2012-05-10 | 2013-11-14 | 엘지전자 주식회사 | Method and apparatus for processing video signals |
| US11317101B2 (en) | 2012-06-12 | 2022-04-26 | Google Inc. | Inter frame candidate selection for a video encoder |
| US9258562B2 (en) | 2012-06-13 | 2016-02-09 | Qualcomm Incorporated | Derivation of depth map estimate |
| US20130336406A1 (en) | 2012-06-14 | 2013-12-19 | Qualcomm Incorporated | Redundancy removal for merge/skip mode motion information candidate list construction |
| US20130343459A1 (en) | 2012-06-22 | 2013-12-26 | Nokia Corporation | Method and apparatus for video coding |
| BR112014033038A2 (en) | 2012-07-02 | 2017-06-27 | Samsung Electronics Co Ltd | motion vector prediction method for inter prediction, and motion vector prediction apparatus for inter prediction |
| CN104412593B (en) | 2012-07-03 | 2018-11-06 | 夏普株式会社 | Image decoding device and image encoding device |
| US9357195B2 (en) | 2012-08-16 | 2016-05-31 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
| US20140071235A1 (en) | 2012-09-13 | 2014-03-13 | Qualcomm Incorporated | Inter-view motion prediction for 3d video |
| CN104769949B (en) * | 2012-09-19 | 2018-03-13 | 高通股份有限公司 | Method and apparatus for selection of pictures for disparity vector derivation |
| US9998727B2 (en) | 2012-09-19 | 2018-06-12 | Qualcomm Incorporated | Advanced inter-view residual prediction in multiview or 3-dimensional video coding |
| WO2014049196A1 (en) | 2012-09-27 | 2014-04-03 | Nokia Corporation | Method and techniqal equipment for scalable video coding |
| JPWO2014054267A1 (en) | 2012-10-01 | 2016-08-25 | パナソニックIpマネジメント株式会社 | Image coding apparatus and image coding method |
| CN104704835B (en) | 2012-10-03 | 2017-11-24 | 联发科技股份有限公司 | Apparatus and method for motion information management in video coding |
| US9699450B2 (en) | 2012-10-04 | 2017-07-04 | Qualcomm Incorporated | Inter-view predicted motion vector for 3D video |
| CN102883163B (en) | 2012-10-08 | 2014-05-28 | 华为技术有限公司 | Method and device for establishing motion vector list for motion vector prediction |
| CN102946536B (en) | 2012-10-09 | 2015-09-30 | 华为技术有限公司 | The method of candidate vector list builder and device |
| CN110545422B (en) | 2012-10-12 | 2022-11-22 | 韩国电子通信研究院 | Image encoding/decoding method and device using same |
| US9854234B2 (en) | 2012-10-25 | 2017-12-26 | Qualcomm Incorporated | Reference picture status for 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 |
| US9544566B2 (en) * | 2012-12-14 | 2017-01-10 | Qualcomm Incorporated | Disparity vector derivation |
| WO2014089727A1 (en) | 2012-12-14 | 2014-06-19 | Qualcomm Incorporated | Inside view motion prediction among texture and depth view components with asymmetric spatial resolution |
| US10021414B2 (en) | 2013-01-04 | 2018-07-10 | Qualcomm Incorporated | Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures |
| US9357199B2 (en) | 2013-01-04 | 2016-05-31 | Qualcomm Incorporated | Separate track storage of texture and depth views for multiview coding plus depth |
| CN104904214A (en) | 2013-01-07 | 2015-09-09 | Vid拓展公司 | Motion information signaling for scalable video coding |
| US9762882B2 (en) | 2013-01-11 | 2017-09-12 | Hfi Innovation Inc. | Method and apparatus for efficient coding of depth lookup table |
| JP5692262B2 (en) | 2013-03-06 | 2015-04-01 | 株式会社Jvcケンウッド | Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program |
| TWI652936B (en) | 2013-04-02 | 2019-03-01 | Vid衡器股份有限公司 | Enhanced temporal motion vector prediction for scalable video coding |
| US10158876B2 (en) | 2013-04-10 | 2018-12-18 | Qualcomm Incorporated | Backward view synthesis prediction |
| WO2014166329A1 (en) | 2013-04-10 | 2014-10-16 | Mediatek Inc. | Method and apparatus of inter-view candidate derivation for three-dimensional video coding |
| CN104125463A (en) | 2013-04-26 | 2014-10-29 | 华为技术有限公司 | Image predictive coding method and image encoder |
| US10277909B2 (en) | 2013-05-15 | 2019-04-30 | Vid Scale, Inc. | Single loop decoding based interlayer prediction |
| US9667990B2 (en) | 2013-05-31 | 2017-05-30 | Qualcomm Incorporated | Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation |
| WO2015000108A1 (en) | 2013-07-01 | 2015-01-08 | Mediatek Singapore Pte. Ltd. | An improved texture merging candidate in 3dvc |
| KR101854003B1 (en) | 2013-07-02 | 2018-06-14 | 경희대학교 산학협력단 | Video including multi layers encoding and decoding method |
| WO2015006920A1 (en) | 2013-07-16 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | An adaptive disparity vector derivation method |
| EP3028466B1 (en) * | 2013-07-24 | 2022-01-26 | Qualcomm Incorporated | Simplified advanced motion prediction for 3d-hevc |
| JP6449892B2 (en) | 2013-09-20 | 2019-01-09 | ヴィド スケール インコーポレイテッド | System and method for providing gamut scalability for 3D lookup table encoding |
| US9667996B2 (en) | 2013-09-26 | 2017-05-30 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
| GB2519514A (en) | 2013-10-11 | 2015-04-29 | Canon Kk | Method and apparatus for displacement vector component prediction in video coding and decoding |
| CN105659604B (en) | 2013-10-18 | 2018-12-21 | Lg电子株式会社 | Method for predicting view synthesis in multi-view video coding and method for constructing a merge candidate list by using the same |
| KR102227279B1 (en) | 2013-10-24 | 2021-03-12 | 한국전자통신연구원 | Method and apparatus for video encoding/decoding |
| CN104717510B (en) | 2013-12-13 | 2018-08-17 | 华为技术有限公司 | Method and apparatus for image procossing |
| BR112016015080A2 (en) | 2014-01-03 | 2017-08-08 | Microsoft Technology Licensing Llc | BLOCK VECTOR PREDICTION IN VIDEO AND IMAGE ENCODING / DECODING |
| US9967592B2 (en) | 2014-01-11 | 2018-05-08 | Qualcomm Incorporated | Block-based advanced residual prediction for 3D video coding |
| WO2015122549A1 (en) | 2014-02-12 | 2015-08-20 | 주식회사 칩스앤미디어 | Method and apparatus for processing video |
| CN105556971B (en) | 2014-03-04 | 2019-07-30 | 微软技术许可有限责任公司 | It stirs for the block in intra block duplication prediction and determines with the coder side of dancing mode |
| US9591313B2 (en) | 2014-03-04 | 2017-03-07 | Vixs Systems, Inc. | Video encoder with transform size preprocessing and methods for use therewith |
| EP3114839A4 (en) | 2014-03-07 | 2018-02-14 | Qualcomm Incorporated | Simplified sub-prediction unit (sub-pu) motion parameter inheritence (mpi) |
| WO2015137783A1 (en) | 2014-03-14 | 2015-09-17 | 삼성전자 주식회사 | Method and device for configuring merge candidate list for decoding and encoding of interlayer video |
| WO2015139187A1 (en) | 2014-03-17 | 2015-09-24 | Mediatek Inc. | Low latency encoder decision making for illumination compensation and depth look-up table transmission in video coding |
| US9756354B2 (en) | 2014-03-17 | 2017-09-05 | Qualcomm Incorporated | Block vector predictor for intra block copying |
| WO2015139203A1 (en) | 2014-03-18 | 2015-09-24 | Mediatek Singapore Pte. Ltd. | Dlt signaling in 3d video coding |
| WO2015142054A1 (en) | 2014-03-19 | 2015-09-24 | 주식회사 케이티 | Method and apparatus for processing multiview video signals |
| US10554967B2 (en) | 2014-03-21 | 2020-02-04 | Futurewei Technologies, Inc. | Illumination compensation (IC) refinement based on positional pairings among pixels |
| KR101863487B1 (en) | 2014-05-06 | 2018-05-31 | 에이치에프아이 이노베이션 인크. | Method of block vector prediction for intra block copy mode coding |
| US10382749B2 (en) | 2014-05-23 | 2019-08-13 | Qualcomm Incorporated | Coding run values based on palette index in palette-based video coding |
| WO2015180014A1 (en) | 2014-05-26 | 2015-12-03 | Mediatek Singapore Pte. Ltd. | An improved merge candidate list construction method for intra block copy |
| JP6430542B2 (en) | 2014-06-16 | 2018-11-28 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Simplified Shifting Merge Candidate and Merge List Derivation in 3D-HEVC |
| CN110913217B (en) | 2014-06-19 | 2022-01-25 | Vid拓展公司 | System and method for three-dimensional color mapping model parameter optimization |
| WO2015192780A1 (en) * | 2014-06-19 | 2015-12-23 | Mediatek Singapore Pte. Ltd. | Method and apparatus of candidate generation for single sample mode in video coding |
| CN105706450B (en) | 2014-06-23 | 2019-07-16 | 微软技术许可有限责任公司 | It is determined according to the encoder of the result of the Block- matching based on hash |
| CN104079944B (en) | 2014-06-30 | 2017-12-01 | 华为技术有限公司 | The motion vector list construction method and system of Video coding |
| WO2016008157A1 (en) | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
| WO2016008161A1 (en) | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Temporal derived bi-directional motion vector predictor |
| KR102276854B1 (en) | 2014-07-31 | 2021-07-13 | 삼성전자주식회사 | Method and apparatus for video encoding for using in-loof filter parameter prediction, method and apparatus for video decoding for using in-loof filter parameter prediction |
| US10027981B2 (en) | 2014-09-01 | 2018-07-17 | Hfi Innovation Inc. | Method of intra picture block copy for screen content and video coding |
| WO2016043933A1 (en) | 2014-09-15 | 2016-03-24 | Mediatek Inc. | Method of deblocking for intra block copy in video coding |
| CN106471807B (en) | 2014-10-09 | 2019-08-23 | 寰发股份有限公司 | Coding method for 3D or multi-view video including view synthesis prediction |
| US9854237B2 (en) | 2014-10-14 | 2017-12-26 | Qualcomm Incorporated | AMVP and merge candidate list derivation for intra BC and inter prediction unification |
| MX375837B (en) | 2014-10-31 | 2025-03-06 | Samsung Electronics Co Ltd | VIDEO ENCODING DEVICE AND VIDEO DECODING DEVICE USING HIGH PRECISION HOPPING CODING AND METHOD THEREOF. |
| EP3203743A4 (en) | 2014-10-31 | 2018-01-10 | Samsung Electronics Co., Ltd. | Method and device for encoding/decoding motion vector |
| KR101908249B1 (en) | 2014-11-18 | 2018-10-15 | 미디어텍 인크. | Method of bi-prediction video coding based on motion vectors from uni-prediction and merge candidate |
| SG11201703551VA (en) | 2014-12-09 | 2017-05-30 | Mediatek Inc | Method of motion vector predictor or merge candidate derivation in video coding |
| WO2016090568A1 (en) | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
| US10230980B2 (en) | 2015-01-26 | 2019-03-12 | Qualcomm Incorporated | Overlapped motion compensation for video coding |
| US11477477B2 (en) | 2015-01-26 | 2022-10-18 | Qualcomm Incorporated | Sub-prediction unit based advanced temporal motion vector prediction |
| US10070130B2 (en) | 2015-01-30 | 2018-09-04 | Qualcomm Incorporated | Flexible partitioning of prediction units |
| US10924743B2 (en) | 2015-02-06 | 2021-02-16 | Microsoft Technology Licensing, Llc | Skipping evaluation stages during media encoding |
| US10057574B2 (en) | 2015-02-11 | 2018-08-21 | Qualcomm Incorporated | Coding tree unit (CTU) level adaptive loop filter (ALF) |
| US11330284B2 (en) | 2015-03-27 | 2022-05-10 | Qualcomm Incorporated | Deriving motion information for sub-blocks in video coding |
| CN107431824B (en) | 2015-04-08 | 2020-10-02 | 寰发股份有限公司 | Method for context coding and decoding and binaryzation in palette mode in video coding and decoding |
| WO2016175550A1 (en) | 2015-04-27 | 2016-11-03 | 엘지전자 주식회사 | Method for processing video signal and device for same |
| CN104915966B (en) | 2015-05-08 | 2018-02-09 | 上海交通大学 | Frame rate up-conversion method for estimating and system based on Kalman filtering |
| US10200713B2 (en) | 2015-05-11 | 2019-02-05 | Qualcomm Incorporated | Search region determination for inter coding within a particular picture of video data |
| US10148961B2 (en) | 2015-05-29 | 2018-12-04 | Qualcomm Incorporated | Arithmetic coder with multiple window sizes |
| US10356416B2 (en) * | 2015-06-09 | 2019-07-16 | Qualcomm Incorporated | Systems and methods of determining illumination compensation status for video coding |
| US10887597B2 (en) | 2015-06-09 | 2021-01-05 | Qualcomm Incorporated | Systems and methods of determining illumination compensation parameters for video coding |
| US10271064B2 (en) | 2015-06-11 | 2019-04-23 | Qualcomm Incorporated | Sub-prediction unit motion vector prediction using spatial and/or temporal motion information |
| US9918102B1 (en) * | 2015-06-22 | 2018-03-13 | Ambarella, Inc. | Inter-prediction candidate selection in a mode decision |
| WO2017043734A1 (en) | 2015-09-07 | 2017-03-16 | 엘지전자(주) | Method for processing image on basis of inter prediction mode and device therefor |
| WO2017045101A1 (en) | 2015-09-14 | 2017-03-23 | Mediatek Singapore Pte. Ltd. | Advanced deblocking filter in video coding |
| US10575011B2 (en) | 2015-09-24 | 2020-02-25 | Lg Electronics Inc. | Inter prediction method and apparatus in image coding system |
| US20170094288A1 (en) | 2015-09-25 | 2017-03-30 | Nokia Technologies Oy | Apparatus, a method and a computer program for video coding and decoding |
| 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 |
| CN108353184B (en) | 2015-11-05 | 2022-02-01 | 联发科技股份有限公司 | Video coding and decoding method and device |
| EP4192009A1 (en) | 2015-11-19 | 2023-06-07 | LX Semicon Co., Ltd. | Method and apparatus for encoding/decoding intra prediction mode |
| US10999595B2 (en) * | 2015-11-20 | 2021-05-04 | Mediatek Inc. | Method and apparatus of motion vector prediction or merge candidate derivation for video coding |
| JP6495835B2 (en) | 2016-01-06 | 2019-04-03 | 日本電信電話株式会社 | Video encoding apparatus, video decoding apparatus, video encoding method, video decoding method, video encoding program, and video decoding program |
| CN105681807B (en) | 2016-01-06 | 2018-11-02 | 福州瑞芯微电子股份有限公司 | It is a kind of to divide pixel motion vector computational methods and device based on H264 agreements |
| US10368083B2 (en) | 2016-02-15 | 2019-07-30 | Qualcomm Incorporated | Picture order count based motion vector pruning |
| US10200715B2 (en) | 2016-02-17 | 2019-02-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and devices for encoding and decoding video pictures |
| WO2017147765A1 (en) | 2016-03-01 | 2017-09-08 | Mediatek Inc. | Methods for affine motion compensation |
| CN113438478B (en) | 2016-04-06 | 2024-08-16 | 株式会社Kt | Method for encoding and decoding video and device for storing compressed video data |
| CN116546207A (en) | 2016-04-08 | 2023-08-04 | 韩国电子通信研究院 | Method and apparatus for deriving motion prediction information |
| CN114189679B (en) | 2016-04-26 | 2025-09-09 | 杜比国际公司 | Image decoding method, image encoding method, and method of transmitting bit stream |
| US10142652B2 (en) | 2016-05-05 | 2018-11-27 | Google Llc | Entropy coding motion vector residuals obtained using reference motion vectors |
| WO2017192616A1 (en) | 2016-05-06 | 2017-11-09 | Vid Scale, Inc. | Systems and methods for motion compensated residual prediction |
| US10560718B2 (en) | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
| US10547854B2 (en) | 2016-05-13 | 2020-01-28 | Qualcomm Incorporated | Neighbor based signaling of intra prediction modes |
| US10419755B2 (en) | 2016-05-16 | 2019-09-17 | Qualcomm Incorporated | Confusion of multiple filters in adaptive loop filtering in video coding |
| US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
| US10834404B2 (en) | 2016-05-24 | 2020-11-10 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and recording medium for same |
| CN117221576A (en) | 2016-06-22 | 2023-12-12 | Lx 半导体科技有限公司 | Image encoding/decoding method and image data transmission method |
| CN109479141B (en) | 2016-07-12 | 2023-07-14 | 韩国电子通信研究院 | Image encoding/decoding method and recording medium used for said method |
| CN116708782A (en) | 2016-07-12 | 2023-09-05 | 韩国电子通信研究院 | Image encoding/decoding method and recording medium therefor |
| CN117201809A (en) | 2016-08-01 | 2023-12-08 | 韩国电子通信研究院 | Image encoding/decoding method and apparatus, and recording medium storing bit stream |
| US11638027B2 (en) | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
| US10721489B2 (en) | 2016-09-06 | 2020-07-21 | Qualcomm Incorporated | Geometry-based priority for the construction of candidate lists |
| WO2018045944A1 (en) | 2016-09-06 | 2018-03-15 | Mediatek Inc. | Methods and apparatuses of candidate set determination for binary-tree splitting blocks |
| WO2018049594A1 (en) | 2016-09-14 | 2018-03-22 | Mediatek Inc. | Methods of encoder decision for quad-tree plus binary tree structure |
| US10812791B2 (en) | 2016-09-16 | 2020-10-20 | Qualcomm Incorporated | Offset vector identification of temporal motion vector predictor |
| WO2018061522A1 (en) | 2016-09-27 | 2018-04-05 | シャープ株式会社 | Motion vector generation device, prediction image generation device, moving image decoding device, and moving image encoding device |
| US10778999B2 (en) | 2016-09-30 | 2020-09-15 | Qualcomm Incorporated | Frame rate up-conversion coding mode with affine motion model |
| CN109691098A (en) | 2016-09-30 | 2019-04-26 | 华为技术有限公司 | Video coding method, decoding method and terminal |
| BR112019005678B1 (en) | 2016-09-30 | 2023-12-12 | Huawei Technologies Co., Ltd | METHOD AND APPARATUS FOR IMAGE CODING AND DECODING THROUGH INTERPREDICTION |
| EP3301919A1 (en) | 2016-10-03 | 2018-04-04 | Thomson Licensing | Method and apparatus for encoding and decoding motion information |
| US10448010B2 (en) * | 2016-10-05 | 2019-10-15 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
| JP2019216294A (en) | 2016-10-14 | 2019-12-19 | シャープ株式会社 | Entropy decoding apparatus, entropy coding apparatus, image decoding device, and image coding device |
| US11343530B2 (en) | 2016-11-28 | 2022-05-24 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium having bitstream stored thereon |
| ES2886871T3 (en) | 2016-12-05 | 2021-12-21 | Lg Electronics Inc | Method and storage medium for decoding an image in an image coding system |
| WO2018117706A1 (en) | 2016-12-22 | 2018-06-28 | 주식회사 케이티 | Video signal processing method and device |
| KR20180074000A (en) | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | Method of decoding video data, video decoder performing the same, method of encoding video data, and video encoder performing the same |
| CN106851046A (en) | 2016-12-28 | 2017-06-13 | 中国科学院自动化研究所 | Video dynamic super-resolution processing method and system |
| US10681370B2 (en) | 2016-12-29 | 2020-06-09 | Qualcomm Incorporated | Motion vector generation for affine motion model for video coding |
| EP3343925A1 (en) | 2017-01-03 | 2018-07-04 | Thomson Licensing | Method and apparatus for encoding and decoding motion information |
| US12063387B2 (en) | 2017-01-05 | 2024-08-13 | Hfi Innovation Inc. | Decoder-side motion vector restoration for video coding |
| US10715827B2 (en) | 2017-01-06 | 2020-07-14 | Mediatek Inc. | Multi-hypotheses merge mode |
| US10701366B2 (en) | 2017-02-21 | 2020-06-30 | Qualcomm Incorporated | Deriving motion vector information at a video decoder |
| 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 |
| US10701390B2 (en) | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
| US10491917B2 (en) | 2017-03-22 | 2019-11-26 | Qualcomm Incorporated | Decoder-side motion vector derivation |
| US10595035B2 (en) * | 2017-03-22 | 2020-03-17 | Qualcomm Incorporated | Constraining motion vector information derived by decoder-side motion vector derivation |
| US10805650B2 (en) | 2017-03-27 | 2020-10-13 | Qualcomm Incorporated | Signaling important video information in network video streaming using mime type parameters |
| CN117395405A (en) | 2017-04-28 | 2024-01-12 | 英迪股份有限公司 | Image decoding method, image encoding method and method for transmitting bit stream |
| US20180332312A1 (en) | 2017-05-09 | 2018-11-15 | Futurewei Technologies, Inc. | Devices And Methods For Video Processing |
| US10742975B2 (en) | 2017-05-09 | 2020-08-11 | Futurewei Technologies, Inc. | Intra-prediction with multiple reference lines |
| EP3410717A1 (en) | 2017-05-31 | 2018-12-05 | Thomson Licensing | Methods and apparatus for candidate list pruning |
| US10523934B2 (en) | 2017-05-31 | 2019-12-31 | Mediatek Inc. | Split based motion vector operation reduction |
| KR102438181B1 (en) | 2017-06-09 | 2022-08-30 | 한국전자통신연구원 | Method and apparatus for encoding/decoding image and recording medium for storing bitstream |
| CN109089119B (en) | 2017-06-13 | 2021-08-13 | 浙江大学 | A method and device for motion vector prediction |
| US10911769B2 (en) | 2017-06-23 | 2021-02-02 | Qualcomm Incorporated | Motion-based priority for the construction of candidate lists in video coding |
| US10757420B2 (en) | 2017-06-23 | 2020-08-25 | Qualcomm Incorporated | Combination of inter-prediction and intra-prediction in video coding |
| US10687077B2 (en) | 2017-06-26 | 2020-06-16 | Qualcomm Incorporated | Motion information propagation in video coding |
| EP3422716A1 (en) | 2017-06-26 | 2019-01-02 | Thomson Licensing | Method and apparatus for most probable mode (mpm) sorting and signaling in video encoding and decoding |
| KR20200014913A (en) | 2017-07-04 | 2020-02-11 | 엘지전자 주식회사 | Inter prediction based image processing method and apparatus therefor |
| CN107295348A (en) | 2017-07-31 | 2017-10-24 | 南通海鑫信息科技有限公司 | A kind of method for encoding images |
| US10284869B2 (en) | 2017-09-28 | 2019-05-07 | Google Llc | Constrained motion field estimation for hardware efficiency |
| EP3688992A1 (en) | 2017-09-28 | 2020-08-05 | Vid Scale, Inc. | Complexity reduction of overlapped block motion compensation |
| US11082716B2 (en) | 2017-10-10 | 2021-08-03 | Electronics And Telecommunications Research Institute | Method and device using inter prediction information |
| US20190116374A1 (en) | 2017-10-17 | 2019-04-18 | Qualcomm Incorporated | Coding motion information of video data using coding structure-based candidate list construction |
| KR102865375B1 (en) | 2017-10-26 | 2025-09-26 | 인텔렉추얼디스커버리 주식회사 | Method and apparatus for asymmetric sub-block based video encoding/decoding |
| KR102387363B1 (en) | 2017-11-30 | 2022-04-18 | 엘지전자 주식회사 | Video decoding method and apparatus according to inter prediction in video coding system |
| CN109963155B (en) | 2017-12-23 | 2023-06-06 | 华为技术有限公司 | Method, device and codec for predicting motion information of image block |
| US11172229B2 (en) | 2018-01-12 | 2021-11-09 | Qualcomm Incorporated | Affine motion compensation with low bandwidth |
| US11265551B2 (en) | 2018-01-18 | 2022-03-01 | Qualcomm Incorporated | Decoder-side motion vector derivation |
| US10652571B2 (en) | 2018-01-25 | 2020-05-12 | Qualcomm Incorporated | Advanced motion vector prediction speedups for video coding |
| CN118118661A (en) | 2018-03-19 | 2024-05-31 | 株式会社Kt | Method of decoding or encoding an image and non-transitory computer readable medium |
| WO2019194440A1 (en) | 2018-04-02 | 2019-10-10 | 엘지전자 주식회사 | Image coding method using lookup table for intra prediction mode and apparatus therefor |
| WO2019191890A1 (en) | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | Image processing method and image processing device |
| US10986343B2 (en) | 2018-04-15 | 2021-04-20 | Arris Enterprises Llc | Reducing overhead for multiple-hypothesis temporal prediction |
| US11412211B2 (en) | 2018-05-23 | 2022-08-09 | Kt Corporation | Method and apparatus for processing video signal |
| BR112020023571A8 (en) | 2018-05-23 | 2023-02-07 | Mediatek Inc | VIDEO CODING METHOD AND APPARATUS USING BIDIRECTIONAL CU WEIGHTING |
| WO2019234671A1 (en) | 2018-06-07 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Improved pmmvd |
| EP4322533A3 (en) | 2018-06-29 | 2024-03-06 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in lut |
| WO2020003270A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Number of motion candidates in a look up table to be checked according to mode |
| SG11202011714RA (en) | 2018-06-29 | 2020-12-30 | Beijing Bytedance Network Technology Co Ltd | Partial/full pruning when adding a hmvp candidate to merge/amvp |
| JP7256265B2 (en) | 2018-06-29 | 2023-04-11 | 北京字節跳動網絡技術有限公司 | Lookup table update: FIFO, limited FIFO |
| TWI750486B (en) | 2018-06-29 | 2021-12-21 | 大陸商北京字節跳動網絡技術有限公司 | Restriction of motion information sharing |
| JP7137008B2 (en) | 2018-06-29 | 2022-09-13 | 北京字節跳動網絡技術有限公司 | The concept of using one or more lookup tables to sequentially store previously coded motion information and use them for coding subsequent blocks |
| WO2020003269A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Selection of coded motion information for lut updating |
| TWI723443B (en) | 2018-06-29 | 2021-04-01 | 大陸商北京字節跳動網絡技術有限公司 | Resetting of look up table per slice/tile/lcu row |
| CN114125450B (en) | 2018-06-29 | 2023-11-17 | 北京字节跳动网络技术有限公司 | Method, device and computer-readable medium for processing video data |
| JP7460617B2 (en) | 2018-06-29 | 2024-04-02 | 北京字節跳動網絡技術有限公司 | LUT update conditions |
| EP4307679A3 (en) | 2018-07-02 | 2024-06-19 | Beijing Bytedance Network Technology Co., Ltd. | Luts with intra prediction modes and intra mode prediction from non-adjacent blocks |
| EP3811621A4 (en) | 2018-07-06 | 2022-04-06 | HFI Innovation Inc. | LEGACY MOTION INFORMATION TO DECODE A COMMON CODING UNIT IN A VIDEO CODING SYSTEM |
| US11606575B2 (en) | 2018-07-10 | 2023-03-14 | Qualcomm Incorporated | Multiple history based non-adjacent MVPs for wavefront processing of video coding |
| US11051036B2 (en) | 2018-07-14 | 2021-06-29 | Mediatek Inc. | Method and apparatus of constrained overlapped block motion compensation in video coding |
| US10491902B1 (en) | 2018-07-16 | 2019-11-26 | Tencent America LLC | Method and apparatus for history-based motion vector prediction |
| US10440378B1 (en) | 2018-07-17 | 2019-10-08 | Tencent America LLC | Method and apparatus for history-based motion vector prediction with parallel processing |
| US11381833B2 (en) | 2018-07-19 | 2022-07-05 | Tencent America LLC | Method and apparatus for video coding |
| US10958934B2 (en) | 2018-07-27 | 2021-03-23 | Tencent America LLC | History-based affine merge and motion vector prediction |
| US10362330B1 (en) | 2018-07-30 | 2019-07-23 | Tencent America LLC | Combining history-based motion vector prediction and non-adjacent merge prediction |
| CN110809155B (en) | 2018-08-04 | 2023-01-31 | 北京字节跳动网络技术有限公司 | Video processing method, device and computer readable medium |
| WO2020030002A1 (en) | 2018-08-09 | 2020-02-13 | Huawei Technologies Co., Ltd. | Method and apparatus of history-based intra mode coding |
| ES3025197T3 (en) | 2018-08-13 | 2025-06-06 | Lg Electronics Inc | Inter prediction method based on history-based motion vector, and device therefor |
| JP7290713B2 (en) | 2018-08-28 | 2023-06-13 | 鴻穎創新有限公司 | Apparatus and method for coding video data |
| CN118055231A (en) | 2018-09-06 | 2024-05-17 | Lg 电子株式会社 | Image encoding method based on intra prediction using MPM list and apparatus therefor |
| CN111064961B (en) | 2018-09-12 | 2023-06-09 | 北京字节跳动网络技术有限公司 | Video processing method and device |
| BR122022004561B1 (en) | 2018-09-17 | 2024-02-06 | Samsung Electronics Co., Ltd | VIDEO DECODING METHOD, VIDEO DECODING APPARATUS, VIDEO CODING METHOD, AND VIDEO CODING APPARATUS |
| US11212550B2 (en) | 2018-09-21 | 2021-12-28 | Qualcomm Incorporated | History-based motion vector prediction for affine mode |
| US20210400298A1 (en) | 2018-09-28 | 2021-12-23 | Lg Electronics Inc. | Method and apparatus for processing video signal by using affine prediction |
| US20200112715A1 (en) | 2018-10-05 | 2020-04-09 | Qualcomm Incorporated | History-based motion vector prediction for inter prediction coding |
| US11290711B2 (en) | 2018-10-06 | 2022-03-29 | Mediatek Inc. | Method and apparatus of shared merge candidate list region for video coding |
| US11051034B2 (en) | 2018-10-08 | 2021-06-29 | Qualcomm Incorporated | History-based motion vector predictor |
| KR102658887B1 (en) | 2018-10-10 | 2024-04-18 | 삼성전자주식회사 | Method for encoding and decoding video by using motion vector differential value, and apparatus for encoding and decoding motion information |
| US11284066B2 (en) | 2018-10-10 | 2022-03-22 | Tencent America LLC | Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode |
| MX2021004176A (en) | 2018-10-10 | 2021-09-08 | Huawei Tech Co Ltd | Inter prediction method and apparatus. |
| WO2020084464A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Decoder side motion vector derivation based on reference pictures |
| CN117880513A (en) | 2018-10-22 | 2024-04-12 | 北京字节跳动网络技术有限公司 | Restriction of decoder-side motion vector derivation based on codec information |
| CN112889269B (en) | 2018-10-23 | 2023-10-27 | 腾讯美国有限责任公司 | Video decoding method and device |
| KR102708052B1 (en) | 2018-10-23 | 2024-09-23 | 주식회사 윌러스표준기술연구소 | Method and device for processing video signal by using subblock-based motion compensation |
| WO2020084554A1 (en) | 2018-10-24 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Searching based motion candidate derivation for sub-block motion vector prediction |
| MX2021004677A (en) | 2018-11-02 | 2021-06-04 | Beijing Bytedance Network Tech Co Ltd | MAINTENANCE OF TABLE FOR STORAGE OF HMVP CANDIDATES. |
| WO2020094050A1 (en) | 2018-11-06 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Using inter prediction with geometric partitioning for video processing |
| CN117768658A (en) | 2018-11-06 | 2024-03-26 | 北京字节跳动网络技术有限公司 | Position dependent storage of motion information |
| WO2020103936A1 (en) | 2018-11-22 | 2020-05-28 | Beijing Bytedance Network Technology Co., Ltd. | Pruning method for inter prediction with geometry partition |
| JP7182098B2 (en) | 2018-11-22 | 2022-12-02 | 北京字節跳動網絡技術有限公司 | Pulse code modulation technology in video processing |
| US11146810B2 (en) | 2018-11-27 | 2021-10-12 | Qualcomm Incorporated | Decoder-side motion vector refinement |
| US11184633B2 (en) | 2018-11-27 | 2021-11-23 | Qualcomm Incorporated | Simplification of history-based motion vector prediction |
| KR102615471B1 (en) | 2018-12-12 | 2023-12-19 | 엘지전자 주식회사 | Method and apparatus for processing video signal based on history based motion vector prediction |
| KR20250029263A (en) | 2018-12-28 | 2025-03-04 | 삼성전자주식회사 | Method and apparatus for encoding motion vector difference, and method and apparatus for decoding motion vector difference |
| EP4262211B1 (en) | 2018-12-28 | 2025-08-27 | Godo Kaisha IP Bridge 1 | Video coding and decoding considering hmvp candidates for a merge mode motion vector candidate list |
| KR102443965B1 (en) | 2019-01-01 | 2022-09-19 | 엘지전자 주식회사 | Method and apparatus for processing video signals based on history-based motion vector prediction |
| US11234007B2 (en) | 2019-01-05 | 2022-01-25 | Tencent America LLC | Method and apparatus for video coding |
| WO2020143741A1 (en) | 2019-01-10 | 2020-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Invoke of lut updating |
| US11153590B2 (en) | 2019-01-11 | 2021-10-19 | Tencent America LLC | Method and apparatus for video coding |
| CN113383554B (en) | 2019-01-13 | 2022-12-16 | 北京字节跳动网络技术有限公司 | Interaction between LUTs and shared Merge lists |
| CN113302937B (en) | 2019-01-16 | 2024-08-02 | 北京字节跳动网络技术有限公司 | Motion Candidate Derivation |
| US11025936B2 (en) | 2019-01-25 | 2021-06-01 | Tencent America LLC | Method and apparatus for video coding |
| KR102783522B1 (en) | 2019-02-14 | 2025-03-19 | 엘지전자 주식회사 | DMVR-based inter prediction method and device |
| CN118890480A (en) | 2019-02-20 | 2024-11-01 | 北京达佳互联信息技术有限公司 | Method and apparatus for rounding, truncating and storing motion vectors for inter-frame prediction |
| US11134262B2 (en) | 2019-02-28 | 2021-09-28 | Tencent America LLC | Method and apparatus for video coding |
| US11190797B2 (en) | 2019-03-01 | 2021-11-30 | Qualcomm Incorporated | Constraints on decoder-side motion vector refinement based on weights for bi-predicted prediction |
| US11323731B2 (en) | 2019-03-08 | 2022-05-03 | Tencent America LLC | Method and apparatus for video coding |
| US11394993B2 (en) | 2019-03-13 | 2022-07-19 | Tencent America LLC | Method and apparatus for affine inter prediction with small subblocks |
| JP7241197B2 (en) | 2019-03-18 | 2023-03-16 | テンセント・アメリカ・エルエルシー | Method and apparatus for video coding |
| CN113615193B (en) | 2019-03-22 | 2024-06-25 | 北京字节跳动网络技术有限公司 | Interaction between Merge list construction and other tools |
| US20200402546A1 (en) | 2019-06-24 | 2020-12-24 | Seagate Technology Llc | Reducing base deck porosity |
| US11516489B2 (en) | 2019-06-24 | 2022-11-29 | Tencent America LLC | Method and apparatus for video coding |
| US11272200B2 (en) | 2019-06-24 | 2022-03-08 | Tencent America LLC | Method and apparatus for video coding |
| CN114762332B (en) | 2019-09-19 | 2025-08-26 | 阿里巴巴集团控股有限公司 | Method for building a merge candidate list |
| US11438595B2 (en) | 2019-11-29 | 2022-09-06 | Tencent America LLC | Video coding method and system using a scan region based coefficient coding |
-
2019
- 2019-07-01 CN CN202111404972.3A patent/CN114125450B/en active Active
- 2019-07-01 SG SG11202013028PA patent/SG11202013028PA/en unknown
- 2019-07-01 EP EP19739718.5A patent/EP3797516A1/en active Pending
- 2019-07-01 WO PCT/IB2019/055595 patent/WO2020003284A1/en not_active Ceased
- 2019-07-01 KR KR1020237045251A patent/KR20240005239A/en active Pending
- 2019-07-01 MX MX2020013828A patent/MX2020013828A/en unknown
- 2019-07-01 CN CN201910591979.7A patent/CN110662043B/en active Active
- 2019-07-01 TW TW108123186A patent/TWI719525B/en active
- 2019-07-01 JP JP2021523115A patent/JP7295231B2/en active Active
- 2019-07-01 CA CA3105330A patent/CA3105330C/en active Active
- 2019-07-01 KR KR1020207038026A patent/KR102641872B1/en active Active
- 2019-07-01 EP EP23220549.2A patent/EP4325861A3/en active Pending
-
2020
- 2020-08-07 US US16/987,711 patent/US10873756B2/en active Active
- 2020-09-14 US US17/019,675 patent/US11528501B2/en active Active
-
2022
- 2022-10-27 US US17/975,323 patent/US12167018B2/en active Active
-
2023
- 2023-02-06 JP JP2023016139A patent/JP7544883B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2018231700A1 (en) | 2017-06-13 | 2018-12-20 | Qualcomm Incorporated | Motion vector prediction |
Non-Patent Citations (1)
| Title |
|---|
| Li Zhang, et al.,CE4-related: History-based Motion Vector Prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-K0104-v5,11th Meeting: Ljubljana, SI,2018年07月,pp.1-7 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12368880B2 (en) | 2019-01-10 | 2025-07-22 | Beijing Bytedance Network Technology Co., Ltd. | Invoke of LUT updating |
| US12401820B2 (en) | 2019-03-22 | 2025-08-26 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021530940A (en) | 2021-11-11 |
| US11528501B2 (en) | 2022-12-13 |
| EP4325861A3 (en) | 2024-03-06 |
| CN114125450A (en) | 2022-03-01 |
| KR20210024504A (en) | 2021-03-05 |
| SG11202013028PA (en) | 2021-01-28 |
| KR102641872B1 (en) | 2024-02-29 |
| JP7295231B2 (en) | 2023-06-20 |
| CA3105330A1 (en) | 2020-01-02 |
| CN114125450B (en) | 2023-11-17 |
| CN110662043A (en) | 2020-01-07 |
| TW202015422A (en) | 2020-04-16 |
| MX2020013828A (en) | 2021-03-25 |
| WO2020003284A1 (en) | 2020-01-02 |
| EP3797516A1 (en) | 2021-03-31 |
| US20210014525A1 (en) | 2021-01-14 |
| US20230064498A1 (en) | 2023-03-02 |
| EP4325861A2 (en) | 2024-02-21 |
| TWI719525B (en) | 2021-02-21 |
| CA3105330C (en) | 2023-12-05 |
| JP2023052926A (en) | 2023-04-12 |
| BR112020024162A2 (en) | 2021-03-02 |
| KR20240005239A (en) | 2024-01-11 |
| CN110662043B (en) | 2021-12-21 |
| US20200366923A1 (en) | 2020-11-19 |
| US10873756B2 (en) | 2020-12-22 |
| US12167018B2 (en) | 2024-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7544883B2 (en) | Interaction Between LUT and AMVP | |
| JP7464770B2 (en) | Checking Order of Motion Candidates in the LUT | |
| JP7693632B2 (en) | Any LUT that should or should not be updated | |
| JP7534474B2 (en) | Lookup Table Updates: FIFO, Bounded FIFO | |
| JP7572499B2 (en) | Start LUT update | |
| TWI752331B (en) | Partial/full pruning when adding a hmvp candidate to merge/amvp | |
| JP7295230B2 (en) | Reset lookup table per slice/tile/LCU row | |
| CN110662030B (en) | A video processing method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230206 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230206 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231129 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240228 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240326 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240626 |
|
| 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: 20240723 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240822 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7544883 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |