WO2017148345A1 - Method and apparatus of video coding with affine motion compensation - Google Patents

Method and apparatus of video coding with affine motion compensation Download PDF

Info

Publication number
WO2017148345A1
WO2017148345A1 PCT/CN2017/074965 CN2017074965W WO2017148345A1 WO 2017148345 A1 WO2017148345 A1 WO 2017148345A1 CN 2017074965 W CN2017074965 W CN 2017074965W WO 2017148345 A1 WO2017148345 A1 WO 2017148345A1
Authority
WO
WIPO (PCT)
Prior art keywords
affine
current block
block
coded
motion vectors
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.)
Ceased
Application number
PCT/CN2017/074965
Other languages
French (fr)
Inventor
Han HUANG
Kai Zhang
Jicheng An
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to US16/079,166 priority Critical patent/US20190058896A1/en
Priority to CN201780010675.6A priority patent/CN108605137A/en
Priority to EP17759196.3A priority patent/EP3414905A4/en
Priority to BR112018067475A priority patent/BR112018067475A2/en
Priority to TW106106616A priority patent/TWI619374B/en
Publication of WO2017148345A1 publication Critical patent/WO2017148345A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to image and video coding with affine motion compensation.
  • the present invention relates to techniques to improve the coding efficiency or reduce the complexity of a video coding system implementing various coding modes including an affine mode.
  • coding unit A CU may begin with a largest CU (LCU) , which is also referred as coded tree unit (CTU) .
  • LCU largest CU
  • CTU coded tree unit
  • each leaf CU is further split into one or more prediction units (PUs) according to a prediction type and a PU partition mode. Pixels in a PU share the same prediction parameters.
  • MV motion vector
  • HEVC supports two different types of Inter prediction mode, one is advanced motion vector prediction (AMVP) mode and another is Merge mode.
  • the MV of the current block is predicted by a motion vector predictor (MVP) corresponds to motion vector associated with spatial and temporal neighbors of the current block.
  • MVP motion vector predictor
  • a motion vector difference (MVD) between the MV and the MVP, as well as an index of the MVP are coded and transmitted for the current block coded in AMVP mode.
  • a syntax element inter_pred_idc is used to indicate the inter prediction direction.
  • One MV is used to locate a predictor for the current block if the current block is coded in uni-directional prediction, while two MVs are used to locate predictors if the current block is coded in bi-directional prediction, so two MVDs and two indices of MVP are signaled for blocks coded in bi-directional prediction.
  • a syntax element ref_idx_l0 is signaled to indicate which reference picture in list 0 is used
  • a syntax element ref_idx_l1 is signaled to indicate which reference picture in list 1 is used.
  • motion information of a current block including MV, reference picture index, and inter prediction direction is inherited from motion information of a final Merge candidate selected from a Merge candidate list.
  • the Merge candidate list is constructed by motion information of spatially and temporally neighboring blocks of the current block, and a Merge index is signaled to indicate the final Merge candidate.
  • the block based motion compensation in HEVC assumes all pixels within a PU follow the same translational motion model by sharing the same motion vector; however, the translational motion model cannot capture complex motion such as rotation, zooming, and the deformation of moving objects.
  • An affine transform model introduced in the literature provides more accurate motion-compensated prediction as the affine transform model is capable of describing two-dimensional block rotations as well as two-dimensional deformations to transform a rectangle into a parallelogram. This model can be described as follows:
  • a (x, y) is an original pixel at location (x, y) under consideration
  • A’ (x’, y’) is the corresponding pixel at location (x’, y’) in a reference picture for the original pixel A (x, y)
  • a total of six parameters a, b, c, d, e, f, are used in this affine transform model, and this affine transform model describes the mapping between original locations and reference locations in six-parameter affine prediction.
  • the motion vector (vx, vy) between this original pixel A (x, y) and its corresponding reference pixel A’ (x’y’) is derived as:
  • the motion vector (vx, vy) of each pixel in the block is location dependent and can be derived by the affine motion model present in Equation (2) according to its location (x, y) .
  • Fig. 1A illustrates an example of motion compensation according to an affine motion model, where a current block 102 is mapped to a reference block 104 in a reference picture.
  • the correspondences between three corner pixels 110, 112, and 114 of the current block 102 and three corner pixels of the reference block 104 can be determined by the three arrows as shown in Fig. 1A.
  • the six parameters for the affine motion model can be derived based on three known motion vectors Mv0, Mv1, Mv2 of the three corner pixels.
  • the three corner pixels 110, 112, and 114 are also referred as the control points of the current block 102. Parameter derivation for the affine motion model is known in the field and the details are omitted here.
  • affine motion compensation has been disclosed in the literature. For example, sub-block based affine motion model is applied to derive a MV for each sub-block instead of each pixel to reduce the complexity of affine motion compensation.
  • an affine flag is signaled for each 2Nx2N block partition to indicate the use of affine motion compensation when the current block is coded either in Merge mode or AMVP mode.
  • affine Inter mode also known as affine AMVP mode or AMVP affine mode
  • the MV is predictively coded by signaling a MVD of the control point.
  • an affine flag is conditionally signaled depending on Merge candidates when the current block is coded in Merge mode.
  • the affine flag indicates whether the current block is coded in affine Merge mode.
  • the affine flag is only signaled when there is at least one Merge candidate being affine coded, and the first available affine coded Merge candidate is selected if the affine flag is true.
  • a four-parameter affine prediction is an alternative to the six-parameter affine prediction, which has two control points instead of three control points.
  • An example of the four-parameter affine prediction is shown in Fig. 1B.
  • Two control points 130 and 132 are located at the upper-left and upper-right corners of a current block 122, and motion vectors Mv0 and Mv1 map the current block 122 to a reference block 124 in a reference picture.
  • Embodiments of a video encoder or decoder according to the present invention receive input data associated with a current block in a current picture, and derive a first affine candidate for the current block if the current block is coded or to be coded in affine Merge mode.
  • the input data associated with the current block includes a set of pixels at the video encoder side or the input data associated with the current block is a video bitstream corresponding to compressed data including the current block at the video decoder side
  • the first affine candidate includes three affine motion vectors Mv0, Mv1, and Mv2 for predicting motion vectors at control points of the current block.
  • Mv0 is derived from a motion vector of a first neighboring coded block of the current block
  • Mv1 is derived from a motion vector of a second neighboring coded block of the current block
  • Mv2 is derived from a motion vector of a third neighboring coded block of the current block.
  • An affine motion model is then derived according to the affine motion vectors Mv0, Mv1, and Mv2 of the first affine candidate if the first affine candidate is selected to encode or decode the current block.
  • the current block is encoded or decoded by locating a reference block in a reference picture for the current block according to the affine motion model.
  • each of the affine motion vectors Mv0, Mv1, and Mv2 is a first available motion vector selected from a predetermined group of motion vectors of neighboring coded blocks.
  • Mv0 is a first available motion vector of motion vectors at an upper-left corner sub-block adjacent to the current block, a top-left sub-block above the current block, and a left-top sub-block beside the current block.
  • Mv1 is a first available motion vector of motion vectors at a top-right sub-block above the current block and an upper-right corner sub-block adjacent to the current block.
  • Mv2 is a first available motion vector of motion vectors at a left-bottom sub-block beside the current block and a lower-left corner sub-block adjacent to the current block.
  • multiple affine candidates are used in affine Merge mode.
  • a second affine candidate including three affine motion vectors are also derived and inserted in a Merge candidate list, and if the second affine candidate is selected to encode or decode the current block, deriving the affine motion model according to the affine motion vectors of the second affine candidate. At least one affine motion vector in the second affine candidate is different from the corresponding affine motion vector in the first affine candidate.
  • An embodiment of the video encoder or decoder denotes the first affine candidate as not exist or unavailable if inter prediction directions or reference pictures of the three affine motion vectors Mv0, Mv1, and Mv2 are not all the same.
  • the video encoder or decoder may derive a new affine candidate to replace the first affine candidate. If all the three affine motion vectors Mv0, Mv1, and Mv2 are available only in the first reference list, an inter prediction direction for the current block is set to uni-directional predicted and using only a first reference list.
  • the first reference list is selected from list 0 and list 1.
  • an embodiment scales the affine motion vectors Mv0, Mv1, and Mv2 in the first affine candidate to a designated reference picture; or if two affine motion vectors correspond to a same reference picture, the method scales the remaining affine motion vectors in the first affine candidate to set all reference pictures of the three affine motion vectors the same.
  • aspects of the disclosure further provide a video encoder or decoder receives input data associated with a current block in a current picture, and derives an affine candidate for the current block if the current block is coded or to be coded in affine Inter mode.
  • the affine candidate includes multiple affine motion vectors for predicting motion vectors at control points of the current block, and the affine motion vectors are derived from one or more neighboring coded blocks.
  • the encoder or decoder derives an affine motion model according to the affine motion vectors of the affine candidate, and encodes or decodes the current block by locating a reference block in a current reference picture according to the affine motion model.
  • the current reference picture is pointed by a reference picture index, and the current block is restricted to be coded in uni-directional prediction by disabling bi-directional prediction if the current block is coded or to be coded in affine Inter mode.
  • the affine motion model computes motion based on three control points or a simplified affine motion model can be used which computes motion based on only two control points. In an embodiment, there is only one affine candidate in the candidate list, so the affine candidate is selected without signaling a motion vector predictor (MVP) index.
  • MVP motion vector predictor
  • one or more of the affine motion vectors in the affine candidate are scaled to the current reference picture pointed by the reference picture index if reference pictures of said one or more affine motion vectors are not the same as the current reference picture.
  • An inter prediction direction flag is signaled to indicate a selected reference list if reference list 0 and reference list 1 of the current block are not the same, and the inter prediction direction flag is not signaled if reference list 0 and reference list 1 of the current block are the same.
  • aspects of the disclosure further provide a non-transitory computer readable medium storing program instructions for causing a processing circuit of an apparatus to perform a video coding method with affine motion compensation.
  • the video coding method includes encoding or decoding a current block according to an affine candidate including affine motion vectors derived from multiple neighboring coded blocks of the current block.
  • the video coding method includes disabling bi-directional prediction for blocks coded or to be coded in affine Inter mode.
  • Fig. 1A illustrates six-parameter affine prediction mapping a current block to a reference block according to three control points.
  • Fig. 1B illustrates four-parameter affine prediction mapping a current block to a reference block according to two control points.
  • Fig. 2 illustrates an example of deriving one or more affine candidates based on neighboring coded blocks.
  • Fig. 3 is a flowchart illustrating an embodiment of the affine Merge prediction method.
  • Fig. 4 illustrates an exemplary system block diagram for a video encoder with affine prediction according to an embodiment of the present invention.
  • Fig. 5 illustrates an exemplary system block diagram for a video decoder with affine prediction according to an embodiment of the present invention.
  • Fig. 6 is a flowchart illustrating an embodiment of the affine Inter prediction method.
  • An embodiment of the present invention demonstrates an improved affine motion derivation for sub-block based or pixel-based affine motion compensation.
  • a first exemplary affine motion derivation method is for sub-block based six-parameter affine motion prediction with three control points, one at the upper-left corner, one at the upper-right corner, and one at the lower-left corner.
  • Mv1 (Mvx1, Mvy1)
  • Mv2 (Mvx2, Mvy2) .
  • the current block has a width equals to BlkWidth and a height equals to BlkHeight, and is partitioned into sub-blocks, where each sub-block has a width equals to SubWidth and a height equals to SubHeight.
  • deltaMvxHor, deltaMvyHor, deltaMvxVer, deltaMvyVer are calculated as:
  • deltaMvxVer (Mvx2-Mvx0) /N
  • Mvx (i, j) Mvx0 + i *deltaMvxVer + j *deltaMvxHor
  • the motion vector Mv (i, j) of each pixel at location (i, j) is (Mvx (i, j) , Mvy(i, j) ) , and the motion vector at each pixel can also be derived by Equation (3) or Equation (5) .
  • a final candidate is selected for predicting motions of the current block.
  • the final candidate includes three affine motion vectors Mv0, Mv1 and Mv2 for predicting motions of the three control points of the current block.
  • a motion vector at each pixel or each sub-block of the current block is calculated using the affine motion derivation method described in the embodiments of the present invention.
  • a reference block in a reference picture is located according to the motion vectors of the current block and the reference block is used to encode or decode the current block.
  • Fig. 2 illustrates an example of deriving an affine candidate based on neighboring coded blocks.
  • a conventional affine Merge candidate derivation method checks neighboring coded blocks a 0 (referred as the upper-left corner block) , b 0 (referred as the top-right block) , b 1 (referred as the upper-right corner block) , c 0 (referred as the left-bottom block) , and c 1 (referred as the lower-left corner block) in a predetermined order and determines whether any of the neighboring coded blocks is coded in affine Inter mode or affine Merge mode when a current block 20 is a Merge coded block, .
  • An affine flag is signaled to indicate whether the current block 20 is in affine mode only if any of the neighboring coded blocks is coded in affine Inter mode or affine Merge mode.
  • the first available affine-coded block is selected from the neighboring coded blocks.
  • the selection order for the affine-coded block is from left-bottom block, top-right block, upper-right corner block, lower-left corner block to upper-left corner block (c 0 ⁇ b 0 ⁇ b 1 ⁇ c 1 ⁇ a 0 ) as shown in Fig 2.
  • the affine motion vectors of the first available affine-coded block are used to derive the motion vectors for the current block 20.
  • the affine motion vectors Mv0, Mv1, and Mv2 of a single affine Merge candidate are derived from multiple neighboring coded blocks of a current block 20, for examples, Mv0 is derived from a top-left neighboring sub-block (sub-block a 0 , a 1 , or a 2 in Fig. 2) , Mv1 is derived from a top-right neighboring sub-block (sub-block b 0 or b 1 ) , and Mv2 is derived from a bottom-left neighboring sub-block (sub-block c 0 or c 1 ) .
  • the affine motion vectors is a set of motion vector predictors (MVPs) predicting the motion vector at three control points of the current block 20.
  • the sub-block is not necessary to be an individually coded block (i.e. a PU in HEVC) , it can be a portion of the coded block.
  • the sub-block is a portion of an affine-coded block next to the current block, or the sub-block is an AMVP-coded block. In one embodiment, as shown in Fig.
  • Mv0 is derived from an upper-left corner sub-block (a 0 )
  • Mv1 is derived from a top-right sub-block (b 0 )
  • Mv2 is derived from a left-bottom sub-block (c 0 )
  • affine motion vector Mv0 is a first available motion vector at sub-block a 0 , a 1 , or a 2
  • affine motion vector Mv1 is a first available motion vector at sub-block b 0 or b 1
  • affine motion vector Mv2 is a first available motion vector at sub-block c 0 or c 1 .
  • the derived affine Merge candidate is inserted into a Merge candidate list, and a final Merge candidate is selected from the Merge candidate list for encoding or decoding the current block.
  • a first affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a 0 in Fig. 2, Mv1 is a motion vector at sub-block b 0 , and Mv2 is a motion vector at sub-block c 0 .
  • a second affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a 0 , Mv1 is a motion vector at sub-block b 0 , and Mv2 is a motion vector at sub-block c 1 .
  • the first and second affine Merge candidates in this example only differ in Mv2.
  • a third affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a 0 , Mv1 is a motion vector at sub-block b 1 , and Mv2 is a motion vector at sub-block c 0 .
  • the first and third affine Merge candidates in this example only differ in Mv1.
  • a fourth affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a 0 , Mv1 is a motion vector at sub- block b 1 , and Mv2 is a motion vector at sub-block c 1 .
  • the first and fourth affine Merge candidates in this example differ in Mv1 and Mv2.
  • the first affine motion vector Mv0 in the previous example can be replaced by the motion vector at a top-left sub-block (a 1 ) or left-top sub-block (a 2 ) .
  • the first motion vector Mv0 is derived from sub-block a 1 or sub-block a 2 if the motion vector is invalid or unavailable at the upper-left corner sub-block (a 0 ) .
  • the two affine Merge candidate can be selected from any two of the first, second, third, and fourth affine Merge candidates in the previous example.
  • the construction of two affine Merge candidates can be the first two candidates available from the first, second, third and fourth affine Merge candidates in the previous example.
  • the current block has a greater chance to be coded in affine Merge mode by increasing the number of affine Merge candidates in the Merge candidate list, which effectively improves the coding efficiency of the video coding system with affine motion compensation.
  • a modification is to check whether inter prediction directions of the three affine motion vectors in the affine Merge candidate are the same, if the inter prediction directions are not all the same, this affine Merge candidate is denoted as not exist or unavailable.
  • a new affine Merge candidate is derived to replace this affine Merge candidate.
  • Another modification is to check the availability of reference list 0 and reference list 1, and set the inter prediction direction of the current block accordingly. For example, if all three affine motion vectors Mv0, Mv1, and Mv2 are only available in reference list 0, then the current block is coded or to be coded in uni-directional prediction and using only reference list 0.
  • a third modification is to check whether reference pictures of the affine motion vectors Mv0, Mv1, and Mv2 are different, if the reference pictures are not all the same, one embodiment is to denote the affine Merge candidate as not exist or as unavailable, another embodiment is to scale all the affine motion vectors to a designated reference picture, such as the reference picture with a reference index 0. If out of the three reference pictures of the affine motion vectors, two reference pictures are the same, the affine motion vector with a different reference picture can be scaled to the same reference picture.
  • Fig 3. Illustrates an exemplary flowchart for a video coding system with an affine Merge mode incorporating an embodiment of the present invention, where the system derives an affine Merge candidate from three different neighboring coded blocks.
  • the input data related to a current block is received at a video encoder side or a video bitstream corresponding to compressed data including the current block is received at a video decoder side in step 300.
  • Step 302 checks if the current block is coded or to be coded in affine Merge mode, and if no, the current block is encoded or decoded according to another mode in step 312.
  • a first affine Merge candidate (Mv0, Mv1, Mv2) is derived from three neighboring coded blocks in step 304, for example, a first affine motion vector Mv0 is derived from a motion vector at an upper-left corner sub-block adjacent to the current block, a second affine motion vector Mv1 is derived from a motion vector at a top-right sub-block above the current block, and a third affine motion vector Mv2 is derived from a motion vector at a left-bottom sub-block on the left side of the current block.
  • a final affine Merge candidate is selected from a Merge candidate list in step 306, and an affine motion model is derived according to the final affine Merge candidate in step 308.
  • the current block is then encoded or decoded by locating a reference block according to the affine motion model in step 310.
  • Fig. 4 illustrates an exemplary system block diagram for a Video Encoder 400 based on High Efficiency Video Coding (HEVC) with affine motion compensation according to an embodiment of the present invention.
  • Intra Prediction 410 provides intra predictors based on reconstructed video data of a current picture
  • Affine Prediction 412 performs motion estimation (ME) and motion compensation (MC) to provide predictors based on video data from other picture or pictures.
  • ME motion estimation
  • MC motion compensation
  • Each block in the current picture processed by Affine Prediction 412 selects to be encoded in affine Inter mode by Affine Inter Prediction 4122 or to be encoded in affine Merge mode by Affine Merge prediction 4124.
  • a final affine candidate is selected to locate a reference block using an affine motion model derived by the final affine candidate, and the reference block is used to predict the block.
  • the Affine Merge Prediction 4124 constructs one or more affine Merge candidates according to motion vectors of multiple neighboring coded blocks and inserts the one or more affine Merge candidates in a Merge candidate list.
  • Affine Merge mode allows the inheritance of affine motion vectors at control points from the neighboring coded blocks; therefore motion information is only signaled by a merge index. The merge index for selecting the final affine candidate is then signaled in an encoded video bitstream.
  • motion information such as Motion vector difference (MVD) between the affine motion vectors in the final affine candidate and motion vectors at control points of the block are coded in the encoded video bitstream.
  • Switch 414 selects one of the outputs from Intra Prediction 410 and Affine Prediction 412 and supplies the selected predictor to Adder 416 to form prediction errors, also called prediction residual signal.
  • MVP Motion vector difference
  • the prediction residual signal is further processed by Transformation (T) 418 followed by Quantization (Q) 420.
  • the transformed and quantized residual signal is then coded by Entropy Encoder 434 to form the encoded video bitstream.
  • the encoded video bitstream is then packed with side information such as the motion information.
  • the data associated with the side information are also provided to Entropy Encoder 434.
  • IQ Inverse Quantization
  • IT Inverse Transformation
  • the prediction residual signal is recovered by adding back to the selected predictor at Reconstruction (REC) 426 to produce reconstructed video data.
  • the reconstructed video data may be stored in Reference Picture Buffer (Ref. Pict. Buffer) 432 and used for prediction of other pictures.
  • the reconstructed video data from REC 426 may be subject to various impairments due to the encoding processing, consequently, in-loop processing Deblocking Filter (DF) 428 and Sample Adaptive Offset (SAO) 430 is applied to the reconstructed video data before storing in the Reference Picture Buffer 432 to further enhance picture quality.
  • DF information from DF 428 and SAO information from SAO 430 are also provided to Entropy Encoder 434 for incorporation into the encoded video bitstream.
  • a corresponding Video Decoder 500 for the Video Encoder 400 of Fig. 4 is shown in Fig. 5.
  • the encoded video bitstream is the input to the Video Decoder 500 and is decoded by Entropy Decoder 510 to recover the transformed and quantized residual signal, DF and SAO information, and other system information.
  • the decoding process of Decoder 500 is similar to the reconstruction loop at the Encoder 400, except Decoder 500 only requires motion compensation prediction in Affine Prediction 514.
  • Affine Prediction 514 includes Affine Inter Prediction 5142 and Affine Merge Prediction 5144. Blocks coded in affine Inter mode is decoded by Affine Inter Prediction 5142 and blocks coded in affine Merge mode is decoded by Affine Merge Prediction 5144.
  • a final affine candidate is selected for a block coded in affine Inter mode or affine Merge mode, and a reference block is located according to the final affine candidate.
  • Switch 516 selects intra predictor from Intra Prediction 512 or affine predictor from Affine Prediction 514 according to decoded mode information.
  • the transformed and quantized residual signal is recovered by Inverse Quantization (IQ) 520 and Inverse Transformation (IT) 522.
  • IQ Inverse Quantization
  • IT Inverse Transformation
  • the recovered transformed and quantized residual signal is reconstructed by adding back the predictor in REC 518 to produce reconstructed video.
  • the reconstructed video is further processed by DF 524 and SAO 526 to generate final decoded video. If the currently decoded picture is a reference picture, the reconstructed video of the currently decoded picture is also stored in Ref. Pict. Buffer 528.
  • Video Encoder 400 and the Video Decoder 500 in Fig. 4 and Fig. 5 may be implemented by hardware components, one or more processors configured to execute program instructions stored in a memory, or a combination of hardware and processor.
  • a processor executes program instructions to control receiving of input data associated with a current block.
  • the processor is equipped with a single or multiple processing cores.
  • the processor executes program instructions to perform functions in some components in the Encoder 400 and the Decoder 500, and the memory electrically coupled with the processor is used to store the program instructions, information corresponding to the affine modes, reconstructed images of blocks, and/or intermediate data during the encoding or decoding process.
  • the memory in some embodiment includes a non-transitory computer readable medium, such as a semiconductor or solid-state memory, a random access memory (RAM) , a read-only memory (ROM) , a hard disk, an optical disk, or other suitable storage medium.
  • the memory may also be a combination of two or more of the non-transitory computer readable medium listed above.
  • the Encoder 400 and the Decoder 500 may be implemented in the same electronic device, so various functional components of the Encoder 400 and Decoder 500 may be shared or reused if implemented in the same electronic device.
  • Reconstruction 426, Transformation 418, Quantization 420, Deblocking Filter 428, Sample Adaptive Offset 430, and Reference Picture Buffer 432 in Fig. 4 may also be used to function as Reconstruction 518, Transformation 522, Quantization 520, Deblocking Filter 524, Sample Adaptive Offset 526, and Reference Picture Buffer 528 in Fig. 5, respectively.
  • a portion of Intra Prediction 410 and Affine Prediction 412 in Fig. 4 may share or reused a portion of Intra Prediction 512 and Affine Prediction 514 in Fig. 5.
  • an affine candidate includes three affine motion vectors Mv0, Mv1, and Mv2.
  • Affine motion vector Mv0 at an upper-left control point of a current block 20 is derived from one of motion vectors of neighboring sub-block a 0 (referred as the upper-left corner sub-block) , a 1 (referred as the top-left sub-block) , and a 2 (referred as the left-top sub-block) .
  • Affine motion vector Mv1 at an upper-right control point of the current block 30 is derived from one or motion vectors of neighboring sub-block b 0 (referred as the top-right sub-block) and b 1 (referred as the upper-right corner sub-block) .
  • Affine motion vector Mv2 at a lower-left control point of the current block 20 is derived from one of motion vectors of neighboring sub-block c 0 (referred as the left-bottom sub-block) and c 1 (referred as the lower-left corner sub-block) .
  • Mv0 is derived from the motion vector at neighboring sub-block a 0
  • Mv1 is derived from the motion vector at neighboring sub-block b 0
  • Mv2 is derived from the motion vector at neighboring sub-block c 0
  • Mv0 is the first available motion vector at neighboring sub-blocks a 0 , a 1 , and a 2
  • Mv1 is the first available motion vector at neighboring sub-blocks at b 0 and b 1
  • Mv2 is the first available motion vector at neighboring sub-blocks at c 0 and c 1 .
  • affine Inter prediction there is only one candidate in the candidate list, so the affine candidate is always selected without signaling a motion vector predictor (MVP) index when affine Inter mode is selected to encode or decode the current block.
  • Motions in the current block are derived by an affine motion model according to the affine motion vectors in the affine candidate and a reference block is located by the motion vectors of the current block. If a reference picture of a neighboring coded block used to derive the affine motion vector is not the same as the current reference picture of the current block, the affine motion vector is derived by scaling the corresponding motion vector of the neighboring code block.
  • affine Inter prediction only uni-directional prediction is allowed for blocks coded in affine Inter mode to reduce the system complexity.
  • bi-directional prediction is disabled when a current block is coded or to be coded in affine Inter mode.
  • Bi-directional prediction may be enabled when the current block is coded in affine Merge mode, Merge mode, AMVP mode or any combination thereof.
  • reference list 0 and reference list 1 for the current block are the same, reference list 0 is used without signaling an inter prediction index inter_pred_idc; when reference list 0 and reference list 1 for the current block are different, the inter prediction index inter_pred_idc is signaled to indicate which list is used for the current block.
  • Fig 6 illustrates an exemplary flowchart for a video coding system with affine Inter prediction incorporating an embodiment of the present invention, where bi-directional prediction is disabled depending on whether the affine Inter mode is selected.
  • the input data related to a current block is received at a video encoder side or a video bitstream corresponding to compressed data including the current block is received at a video decoder side in step 600.
  • Step 602 checks whether affine Inter mode is used to encode or decode the current block.
  • affine Inter mode is selected to code the current block
  • the video coding system restricts the current block to be encoded or decoded in uni-directional prediction by disabling bi-directional prediction in step 604; else the video coding system enables bi-directional prediction for encoding or decoding the current block in step 610.
  • An affine candidate is derived if the current block is encoded or decoded in affine Inter mode, and an affine motion model is derived according to the affine candidate in step 606.
  • the affine candidate is derived from one or more neighboring coded blocks of the current block, and if any neighboring coded block is bi-directional predicted, only one motion vector in one list is used to derive the corresponding affine motion vector.
  • the affine candidate in one embodiment includes two affine motion vectors and the affine candidate in another embodiment includes three affine motion vectors.
  • the current block is encoded or decoded by locating a reference block according to the affine motion model derived in step 606.
  • affine Inter prediction methods may be implemented in the Video Encoder 400 in Fig. 4 or the Video Decoder 500 in Fig. 5.
  • the Encoder 400 and the Decoder 500 may further incorporate Inter Prediction by either sharing at least a portion of the component with Affine Prediction 412 or 514 or having an additional component in parallel with Intra Prediction 410 or 512 and Affine Prediction 412 or 514.
  • Affine Merge Prediction 4124 shares the component with Inter Merge Prediction; and similarly, when a unified Inter candidate list is used for both affine Inter mode and regular AMVP mode, Affine Inter Prediction 4122 shares the component with Inter AMVP Prediction.
  • a single merge index or an MVP index may be signaled to indicate the use of affine mode or regular Inter mode.
  • affine motion derivation method can be implemented using a simplified affine motion model, for example, two control points are used instead of three control points.
  • An exemplary simplified affine motion model still uses the same mathematical equations for affine motion model but derives the affine motion vector Mv2 for a lower-left control point by the affine motion vectors Mv0 and Mv1.
  • the affine motion vector Mv1 for an upper-right control point may be derived by the affine motion vectors Mv0 and Mv2, or the affine motion vector Mv0 for an upper left control point may be derived by the affine motion vectors Mv1 and Mv2.
  • Embodiments of the affine motion derivation method, affine Merge prediction method, or affine Inter prediction method may be implemented in a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described above.
  • the affine motion derivation method, affine Merge prediction method, or affine Inter prediction method may be realized in program code to be executed on a computer processor, a Digital Signal Processor (DSP) , a microprocessor, or field programmable gate array (FPGA) .
  • DSP Digital Signal Processor
  • FPGA field programmable gate array

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

An encoding or decoding method with affine motion compensation includes receiving input data associated with a current block in a current picture, and deriving a first affine candidate for the current block including three affine motion vectors for predicting motion vectors at control points of the current block if the current block is coded or to be coded in affine Merge mode. The affine motion vectors are derived from three different neighboring coded blocks of the current block. An affine motion model is derived according to the affine motion vectors if the first affine candidate is selected. Moreover, the method includes encoding or decoding the current block by locating a reference block in a reference picture according to the affine motion model. The current block is restricted to be coded in uni-directional prediction if the current block is coded or to be coded in affine Inter mode.

Description

METHOD AND APPARATUS OF VIDEO CODING WITH AFFINE MOTION COMPENSATION
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention claims priority to PCT Patent Application Serial No. PCT/CN2016/075024, filed on March 1, 2016, entitled “Methods for Affine Motion Compensation” . The PCT Patent Application is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present invention relates to image and video coding with affine motion compensation. In particular, the present invention relates to techniques to improve the coding efficiency or reduce the complexity of a video coding system implementing various coding modes including an affine mode.
BACKGROUND
In most coding standards, adaptive coding and Inter/Intra prediction are applied on a block basis. For example the basic block unit for video coding in the High Efficiency Video Coding (HEVC) system is called coding unit (CU) . A CU may begin with a largest CU (LCU) , which is also referred as coded tree unit (CTU) . Once each LCU is recursively partitioned into leaf CUs, each leaf CU is further split into one or more prediction units (PUs) according to a prediction type and a PU partition mode. Pixels in a PU share the same prediction parameters.
For a current block processed by Inter prediction mode, block matching may be used to locate a reference block in a reference picture. The displacement between locations of the two blocks is determined as a motion vector (MV) for the current block. HEVC supports two different types of Inter prediction mode, one is advanced motion vector prediction (AMVP) mode and another is Merge mode. The MV of the  current block is predicted by a motion vector predictor (MVP) corresponds to motion vector associated with spatial and temporal neighbors of the current block. A motion vector difference (MVD) between the MV and the MVP, as well as an index of the MVP are coded and transmitted for the current block coded in AMVP mode. In B slice, a syntax element inter_pred_idc is used to indicate the inter prediction direction. One MV is used to locate a predictor for the current block if the current block is coded in uni-directional prediction, while two MVs are used to locate predictors if the current block is coded in bi-directional prediction, so two MVDs and two indices of MVP are signaled for blocks coded in bi-directional prediction. In the case of multiple reference pictures, a syntax element ref_idx_l0 is signaled to indicate which reference picture in list 0 is used, and a syntax element ref_idx_l1 is signaled to indicate which reference picture in list 1 is used. In Merge mode, motion information of a current block including MV, reference picture index, and inter prediction direction is inherited from motion information of a final Merge candidate selected from a Merge candidate list. The Merge candidate list is constructed by motion information of spatially and temporally neighboring blocks of the current block, and a Merge index is signaled to indicate the final Merge candidate.
The block based motion compensation in HEVC assumes all pixels within a PU follow the same translational motion model by sharing the same motion vector; however, the translational motion model cannot capture complex motion such as rotation, zooming, and the deformation of moving objects. An affine transform model introduced in the literature provides more accurate motion-compensated prediction as the affine transform model is capable of describing two-dimensional block rotations as well as two-dimensional deformations to transform a rectangle into a parallelogram. This model can be described as follows:
x’= a *x + b *y + e, and 
y’= c *x + d *y + f.       (1)
where A (x, y) is an original pixel at location (x, y) under consideration, and A’ (x’, y’) is the corresponding pixel at location (x’, y’) in a reference picture for the original pixel A (x, y) . A total of six parameters a, b, c, d, e, f, are used in this affine transform model, and this affine transform model describes the mapping between original locations and reference locations in six-parameter affine prediction. For each original pixel A (x, y) , the motion vector (vx, vy) between this original pixel A (x, y) and its corresponding reference pixel A’ (x’y’) is derived as:
vx = (1-a) *x –b *y -e, and
vy = (1-c) *x –d *y -f.     (2)
The motion vector (vx, vy) of each pixel in the block is location dependent and can be derived by the affine motion model present in Equation (2) according to its location (x, y) .
Fig. 1A illustrates an example of motion compensation according to an affine motion model, where a current block 102 is mapped to a reference block 104 in a reference picture. The correspondences between three  corner pixels  110, 112, and 114 of the current block 102 and three corner pixels of the reference block 104 can be determined by the three arrows as shown in Fig. 1A. The six parameters for the affine motion model can be derived based on three known motion vectors Mv0, Mv1, Mv2 of the three corner pixels. The three  corner pixels  110, 112, and 114 are also referred as the control points of the current block 102. Parameter derivation for the affine motion model is known in the field and the details are omitted here.
Various implementations of affine motion compensation have been disclosed in the literature. For example, sub-block based affine motion model is applied to derive a MV for each sub-block instead of each pixel to reduce the complexity of affine motion compensation. In a technical paper by Li el at. ( “An Affine Motion Compensation Framework for High Efficiency Video Coding” , 2015 IEEE International Symposium on Circuits and Systems (ISCAS) , May 2015, pages: 525 –528) , an affine flag is signaled for each 2Nx2N block partition to indicate the use of affine motion compensation when the current block is coded either in Merge mode or AMVP mode. If this flag is true, the derivation of motion vectors for the current block follows the affine motion model, else the derivation of a motion vector for the current block follows the traditional translational motion model. Three MVs of three corner pixels are signaled when affine Inter mode (also known as affine AMVP mode or AMVP affine mode) is used. At each control point location, the MV is predictively coded by signaling a MVD of the control point. In another exemplary implementation, an affine flag is conditionally signaled depending on Merge candidates when the current block is coded in Merge mode. The affine flag indicates whether the current block is coded in affine Merge mode. The affine flag is only signaled when there is at least one Merge candidate being affine coded, and the first available affine coded Merge candidate is selected if the affine flag is true.
A four-parameter affine prediction is an alternative to the six-parameter  affine prediction, which has two control points instead of three control points. An example of the four-parameter affine prediction is shown in Fig. 1B. Two  control points  130 and 132 are located at the upper-left and upper-right corners of a current block 122, and motion vectors Mv0 and Mv1 map the current block 122 to a reference block 124 in a reference picture.
SUMMARY
A method and apparatus for video encoding and decoding with affine motion compensation in a video coding system are disclosed. Embodiments of a video encoder or decoder according to the present invention receive input data associated with a current block in a current picture, and derive a first affine candidate for the current block if the current block is coded or to be coded in affine Merge mode. The input data associated with the current block includes a set of pixels at the video encoder side or the input data associated with the current block is a video bitstream corresponding to compressed data including the current block at the video decoder side The first affine candidate includes three affine motion vectors Mv0, Mv1, and Mv2 for predicting motion vectors at control points of the current block. Mv0 is derived from a motion vector of a first neighboring coded block of the current block, Mv1 is derived from a motion vector of a second neighboring coded block of the current block, and Mv2 is derived from a motion vector of a third neighboring coded block of the current block. An affine motion model is then derived according to the affine motion vectors Mv0, Mv1, and Mv2 of the first affine candidate if the first affine candidate is selected to encode or decode the current block. The current block is encoded or decoded by locating a reference block in a reference picture for the current block according to the affine motion model.
In an embodiment, the three neighboring coded blocks are an upper-left corner sub-block adjacent to the current block, a top-right sub-block above the current block, and a left-bottom sub-block beside the current block. In another embodiment, each of the affine motion vectors Mv0, Mv1, and Mv2 is a first available motion vector selected from a predetermined group of motion vectors of neighboring coded blocks. For example, Mv0 is a first available motion vector of motion vectors at an upper-left corner sub-block adjacent to the current block, a top-left sub-block above  the current block, and a left-top sub-block beside the current block. Mv1 is a first available motion vector of motion vectors at a top-right sub-block above the current block and an upper-right corner sub-block adjacent to the current block. Mv2 is a first available motion vector of motion vectors at a left-bottom sub-block beside the current block and a lower-left corner sub-block adjacent to the current block.
In some embodiments, multiple affine candidates are used in affine Merge mode. For example, a second affine candidate including three affine motion vectors are also derived and inserted in a Merge candidate list, and if the second affine candidate is selected to encode or decode the current block, deriving the affine motion model according to the affine motion vectors of the second affine candidate. At least one affine motion vector in the second affine candidate is different from the corresponding affine motion vector in the first affine candidate.
An embodiment of the video encoder or decoder denotes the first affine candidate as not exist or unavailable if inter prediction directions or reference pictures of the three affine motion vectors Mv0, Mv1, and Mv2 are not all the same. The video encoder or decoder may derive a new affine candidate to replace the first affine candidate. If all the three affine motion vectors Mv0, Mv1, and Mv2 are available only in the first reference list, an inter prediction direction for the current block is set to uni-directional predicted and using only a first reference list. The first reference list is selected from list 0 and list 1. If reference pictures of the three affine motion vectors are not all the same, an embodiment scales the affine motion vectors Mv0, Mv1, and Mv2 in the first affine candidate to a designated reference picture; or if two affine motion vectors correspond to a same reference picture, the method scales the remaining affine motion vectors in the first affine candidate to set all reference pictures of the three affine motion vectors the same.
Aspects of the disclosure further provide a video encoder or decoder receives input data associated with a current block in a current picture, and derives an affine candidate for the current block if the current block is coded or to be coded in affine Inter mode. The affine candidate includes multiple affine motion vectors for predicting motion vectors at control points of the current block, and the affine motion vectors are derived from one or more neighboring coded blocks. If the affine candidate is selected to encode or decode the current block, the encoder or decoder derives an affine motion model according to the affine motion vectors of the affine candidate, and encodes or decodes the current block by locating a reference block in a  current reference picture according to the affine motion model. The current reference picture is pointed by a reference picture index, and the current block is restricted to be coded in uni-directional prediction by disabling bi-directional prediction if the current block is coded or to be coded in affine Inter mode. The affine motion model computes motion based on three control points or a simplified affine motion model can be used which computes motion based on only two control points. In an embodiment, there is only one affine candidate in the candidate list, so the affine candidate is selected without signaling a motion vector predictor (MVP) index.
In some embodiments, one or more of the affine motion vectors in the affine candidate are scaled to the current reference picture pointed by the reference picture index if reference pictures of said one or more affine motion vectors are not the same as the current reference picture. An inter prediction direction flag is signaled to indicate a selected reference list if reference list 0 and reference list 1 of the current block are not the same, and the inter prediction direction flag is not signaled if reference list 0 and reference list 1 of the current block are the same.
Aspects of the disclosure further provide a non-transitory computer readable medium storing program instructions for causing a processing circuit of an apparatus to perform a video coding method with affine motion compensation. The video coding method includes encoding or decoding a current block according to an affine candidate including affine motion vectors derived from multiple neighboring coded blocks of the current block. The video coding method includes disabling bi-directional prediction for blocks coded or to be coded in affine Inter mode. Other aspects and features of the invention will become apparent to those with ordinary skill in the art upon review of the following descriptions of specific embodiments.
BRIEF DESCRIPTION OF DRAWINGS
Various embodiments of this disclosure that are proposed as examples will be described in detail with reference to the following figures, wherein like numerals reference like elements, and wherein:
Fig. 1A illustrates six-parameter affine prediction mapping a current block to a reference block according to three control points.
Fig. 1B illustrates four-parameter affine prediction mapping a current block  to a reference block according to two control points.
Fig. 2 illustrates an example of deriving one or more affine candidates based on neighboring coded blocks.
Fig. 3 is a flowchart illustrating an embodiment of the affine Merge prediction method.
Fig. 4 illustrates an exemplary system block diagram for a video encoder with affine prediction according to an embodiment of the present invention.
Fig. 5 illustrates an exemplary system block diagram for a video decoder with affine prediction according to an embodiment of the present invention.
Fig. 6 is a flowchart illustrating an embodiment of the affine Inter prediction method.
DETAILED DESCRIPTION
It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention.
Reference throughout this specification to “an embodiment” , “some embodiments” , or similar language means that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in an embodiment” or “in some embodiments” in various places throughout this specification are not necessarily all referring to the same embodiment, these embodiments can be implemented individually or in conjunction with one or more other embodiments.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other  instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention. In the following discussion and in the claims, the term “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to…” .
In order to improve the coding efficiency or reduce the system complexity associated with a video coding system with affine motion prediction, various methods and improvements of utilizing affine motion compensation in affine Merge mode or affine Inter mode are disclosed.
Affine Motion Derivation
An embodiment of the present invention demonstrates an improved affine motion derivation for sub-block based or pixel-based affine motion compensation. A first exemplary affine motion derivation method is for sub-block based six-parameter affine motion prediction with three control points, one at the upper-left corner, one at the upper-right corner, and one at the lower-left corner. Given three affine motion vectors Mv0, Mv1, and Mv2 representing motion vectors at the three control points of a current block denoted as: Mv0 = (Mvx0, Mvy0) , Mv1 = (Mvx1, Mvy1) , and Mv2 = (Mvx2, Mvy2) .
The current block has a width equals to BlkWidth and a height equals to BlkHeight, and is partitioned into sub-blocks, where each sub-block has a width equals to SubWidth and a height equals to SubHeight. The number of sub-blocks M in one row of the current block is M=BlkWidth/SubWidth, and the number of sub-blocks N in one column of the current block is N=BlkHeight/SubHeight. MV of a sub-block Mv (i, j) at ith sub-block column and jth sub-block row is (Mvx (i, j) , Mvy (i, j) ) , where i = 0, …, N-1, and j = 0, …, M-1, is derived as:
Mvx (i, j) = Mvx0 + (i+1) *deltaMvxVer + (j+1) *deltaMvxHor, and
Mvy (i, j) = Mvy0 + (i+1) *deltaMvyVer + (j+1) *deltaMvyHor.          (3)
where deltaMvxHor, deltaMvyHor, deltaMvxVer, deltaMvyVer are calculated as:
deltaMvxHor = (Mvx1-Mvx0) /M,
deltaMvyHor = (Mvy1-Mvy0) /M,
deltaMvxVer = (Mvx2-Mvx0) /N, and
deltaMvyVer = (Mvy2-Mvy0) /N.      (4)
In another embodiment, MV of a sub-block Mv (i, j) at ith sub-block column and jth sub-block row is (Mvx (i, j) , Mvy (i, j) ) , where i = 0, …, N-1, and j = 0, …, M-1, is derived as:
Mvx (i, j) = Mvx0 + i *deltaMvxVer + j *deltaMvxHor, and
Mvy (i, j) = Mvy0 + i *deltaMvyVer + j *deltaMvyHor.          (5)
For applying the first exemplary affine motion derivation method to a pixel-based affine prediction, definitions for M and N in Equation (4) can be modified to represent the number of pixels in one row of the current block and the number of pixels in one column of the current block, in this case, M=BlkWidth and N=BlkHeight. The motion vector Mv (i, j) of each pixel at location (i, j) is (Mvx (i, j) , Mvy(i, j) ) , and the motion vector at each pixel can also be derived by Equation (3) or Equation (5) .
For a current block coded or to be coded in affine Inter mode or affine Merge mode, a final candidate is selected for predicting motions of the current block. The final candidate includes three affine motion vectors Mv0, Mv1 and Mv2 for predicting motions of the three control points of the current block. A motion vector at each pixel or each sub-block of the current block is calculated using the affine motion derivation method described in the embodiments of the present invention. A reference block in a reference picture is located according to the motion vectors of the current block and the reference block is used to encode or decode the current block.
Affine Merge Candidate Derivation
Fig. 2 illustrates an example of deriving an affine candidate based on neighboring coded blocks. A conventional affine Merge candidate derivation method checks neighboring coded blocks a0 (referred as the upper-left corner block) , b0 (referred as the top-right block) , b1 (referred as the upper-right corner block) , c0 (referred as the left-bottom block) , and c1 (referred as the lower-left corner block) in a predetermined order and determines whether any of the neighboring coded blocks is coded in affine Inter mode or affine Merge mode when a current block 20 is a Merge coded block, . An affine flag is signaled to indicate whether the current block 20 is in affine mode only if any of the neighboring coded blocks is coded in affine Inter mode or affine Merge mode. When encoding or decoding the current block 20 in affine Merge mode, the first available affine-coded block is selected from the neighboring coded blocks. The selection order for the affine-coded block is from left-bottom block, top-right block, upper-right corner block, lower-left corner block to upper-left corner block (c0→b0→b1→c1→a0) as shown in Fig 2. The affine motion vectors of the first available affine-coded block are used to derive the motion vectors for the current block 20.
In some embodiments of the affine Merge candidate derivation method according to the present invention, the affine motion vectors Mv0, Mv1, and Mv2 of a single affine Merge candidate are derived from multiple neighboring coded blocks of a current block 20, for examples, Mv0 is derived from a top-left neighboring sub-block (sub-block a0, a1, or a2 in Fig. 2) , Mv1 is derived from a top-right neighboring sub-block (sub-block b0 or b1) , and Mv2 is derived from a bottom-left neighboring sub-block (sub-block c0 or c1) . The affine motion vectors is a set of motion vector predictors (MVPs) predicting the motion vector at three control points of the current block 20. The sub-block is not necessary to be an individually coded block (i.e. a PU in HEVC) , it can be a portion of the coded block. For example, the sub-block is a portion of an affine-coded block next to the current block, or the sub-block is an AMVP-coded block. In one embodiment, as shown in Fig. 2, Mv0 is derived from an upper-left corner sub-block (a0) , Mv1 is derived from a top-right sub-block (b0) , and Mv2 is derived from a left-bottom sub-block (c0) . In another embodiment, affine motion vector Mv0 is a first available motion vector at sub-block a0, a1, or a2, affine motion vector Mv1 is a first available motion vector at sub-block b0 or b1, and affine motion vector Mv2 is a first available motion vector at sub-block c0 or c1. The derived affine Merge candidate is inserted into a Merge candidate list, and a final Merge candidate is selected from the Merge candidate list for encoding or decoding the current block.
Another embodiment of the affine Merge candidate derivation method constructs multiple affine Merge candidates and inserts the affine Merge candidates to the Merge candidate list. For example, a first affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a0 in Fig. 2, Mv1 is a motion vector at sub-block b0, and Mv2 is a motion vector at sub-block c0. A second affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a0, Mv1 is a motion vector at sub-block b0, and Mv2 is a motion vector at sub-block c1. The first and second affine Merge candidates in this example only differ in Mv2. A third affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a0, Mv1 is a motion vector at sub-block b1, and Mv2 is a motion vector at sub-block c0. The first and third affine Merge candidates in this example only differ in Mv1. A fourth affine Merge candidate includes affine motion vectors Mv0, Mv1, and Mv2, where Mv0 is a motion vector at sub-block a0, Mv1 is a motion vector at sub- block b1, and Mv2 is a motion vector at sub-block c1. The first and fourth affine Merge candidates in this example differ in Mv1 and Mv2. The first affine motion vector Mv0 in the previous example can be replaced by the motion vector at a top-left sub-block (a1) or left-top sub-block (a2) . In one embodiment, the first motion vector Mv0 is derived from sub-block a1 or sub-block a2 if the motion vector is invalid or unavailable at the upper-left corner sub-block (a0) . For an example of constructing two affine Merge candidates for a current block, the two affine Merge candidate can be selected from any two of the first, second, third, and fourth affine Merge candidates in the previous example. In one embodiment, the construction of two affine Merge candidates can be the first two candidates available from the first, second, third and fourth affine Merge candidates in the previous example. The current block has a greater chance to be coded in affine Merge mode by increasing the number of affine Merge candidates in the Merge candidate list, which effectively improves the coding efficiency of the video coding system with affine motion compensation.
There are various modifications to improve the affine Merge candidate derivation method. A modification is to check whether inter prediction directions of the three affine motion vectors in the affine Merge candidate are the same, if the inter prediction directions are not all the same, this affine Merge candidate is denoted as not exist or unavailable. In one embodiment, a new affine Merge candidate is derived to replace this affine Merge candidate. Another modification is to check the availability of reference list 0 and reference list 1, and set the inter prediction direction of the current block accordingly. For example, if all three affine motion vectors Mv0, Mv1, and Mv2 are only available in reference list 0, then the current block is coded or to be coded in uni-directional prediction and using only reference list 0. If all three affine motion vectors Mv0, Mv1, and Mv2 are only available in reference list 1, then the current block is coded or to be coded in uni-directional prediction and using only reference list 1. A third modification is to check whether reference pictures of the affine motion vectors Mv0, Mv1, and Mv2 are different, if the reference pictures are not all the same, one embodiment is to denote the affine Merge candidate as not exist or as unavailable, another embodiment is to scale all the affine motion vectors to a designated reference picture, such as the reference picture with a reference index 0. If out of the three reference pictures of the affine motion vectors, two reference pictures are the same, the affine motion vector with a different reference picture can be scaled  to the same reference picture.
Fig 3. Illustrates an exemplary flowchart for a video coding system with an affine Merge mode incorporating an embodiment of the present invention, where the system derives an affine Merge candidate from three different neighboring coded blocks. The input data related to a current block is received at a video encoder side or a video bitstream corresponding to compressed data including the current block is received at a video decoder side in step 300. Step 302 checks if the current block is coded or to be coded in affine Merge mode, and if no, the current block is encoded or decoded according to another mode in step 312. A first affine Merge candidate (Mv0, Mv1, Mv2) is derived from three neighboring coded blocks in step 304, for example, a first affine motion vector Mv0 is derived from a motion vector at an upper-left corner sub-block adjacent to the current block, a second affine motion vector Mv1 is derived from a motion vector at a top-right sub-block above the current block, and a third affine motion vector Mv2 is derived from a motion vector at a left-bottom sub-block on the left side of the current block. A final affine Merge candidate is selected from a Merge candidate list in step 306, and an affine motion model is derived according to the final affine Merge candidate in step 308. The current block is then encoded or decoded by locating a reference block according to the affine motion model in step 310.
Fig. 4 illustrates an exemplary system block diagram for a Video Encoder 400 based on High Efficiency Video Coding (HEVC) with affine motion compensation according to an embodiment of the present invention. Intra Prediction 410 provides intra predictors based on reconstructed video data of a current picture, whereas Affine Prediction 412 performs motion estimation (ME) and motion compensation (MC) to provide predictors based on video data from other picture or pictures. Each block in the current picture processed by Affine Prediction 412 selects to be encoded in affine Inter mode by Affine Inter Prediction 4122 or to be encoded in affine Merge mode by Affine Merge prediction 4124. For a block encoded in affine Inter mode or affine Merge mode, a final affine candidate is selected to locate a reference block using an affine motion model derived by the final affine candidate, and the reference block is used to predict the block. The Affine Merge Prediction 4124 constructs one or more affine Merge candidates according to motion vectors of multiple neighboring coded blocks and inserts the one or more affine Merge candidates in a Merge candidate list. Affine Merge mode allows the inheritance of  affine motion vectors at control points from the neighboring coded blocks; therefore motion information is only signaled by a merge index. The merge index for selecting the final affine candidate is then signaled in an encoded video bitstream. For a block coded in affine Inter mode, motion information such as Motion vector difference (MVD) between the affine motion vectors in the final affine candidate and motion vectors at control points of the block are coded in the encoded video bitstream. Switch 414 selects one of the outputs from Intra Prediction 410 and Affine Prediction 412 and supplies the selected predictor to Adder 416 to form prediction errors, also called prediction residual signal.
The prediction residual signal is further processed by Transformation (T) 418 followed by Quantization (Q) 420. The transformed and quantized residual signal is then coded by Entropy Encoder 434 to form the encoded video bitstream. The encoded video bitstream is then packed with side information such as the motion information. The data associated with the side information are also provided to Entropy Encoder 434. When motion compensation prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. The transformed and quantized residual signal is processed by Inverse Quantization (IQ) 422 and Inverse Transformation (IT) 424 to recover the prediction residual signal of the reference picture or pictures. As shown in Fig. 4, the prediction residual signal is recovered by adding back to the selected predictor at Reconstruction (REC) 426 to produce reconstructed video data. The reconstructed video data may be stored in Reference Picture Buffer (Ref. Pict. Buffer) 432 and used for prediction of other pictures. The reconstructed video data from REC 426 may be subject to various impairments due to the encoding processing, consequently, in-loop processing Deblocking Filter (DF) 428 and Sample Adaptive Offset (SAO) 430 is applied to the reconstructed video data before storing in the Reference Picture Buffer 432 to further enhance picture quality. DF information from DF 428 and SAO information from SAO 430 are also provided to Entropy Encoder 434 for incorporation into the encoded video bitstream.
A corresponding Video Decoder 500 for the Video Encoder 400 of Fig. 4 is shown in Fig. 5. The encoded video bitstream is the input to the Video Decoder 500 and is decoded by Entropy Decoder 510 to recover the transformed and quantized residual signal, DF and SAO information, and other system information. The decoding process of Decoder 500 is similar to the reconstruction loop at the Encoder  400, except Decoder 500 only requires motion compensation prediction in Affine Prediction 514. Affine Prediction 514 includes Affine Inter Prediction 5142 and Affine Merge Prediction 5144. Blocks coded in affine Inter mode is decoded by Affine Inter Prediction 5142 and blocks coded in affine Merge mode is decoded by Affine Merge Prediction 5144. A final affine candidate is selected for a block coded in affine Inter mode or affine Merge mode, and a reference block is located according to the final affine candidate. Switch 516 selects intra predictor from Intra Prediction 512 or affine predictor from Affine Prediction 514 according to decoded mode information. The transformed and quantized residual signal is recovered by Inverse Quantization (IQ) 520 and Inverse Transformation (IT) 522. The recovered transformed and quantized residual signal is reconstructed by adding back the predictor in REC 518 to produce reconstructed video. The reconstructed video is further processed by DF 524 and SAO 526 to generate final decoded video. If the currently decoded picture is a reference picture, the reconstructed video of the currently decoded picture is also stored in Ref. Pict. Buffer 528.
Various components of the Video Encoder 400 and the Video Decoder 500 in Fig. 4 and Fig. 5 may be implemented by hardware components, one or more processors configured to execute program instructions stored in a memory, or a combination of hardware and processor. For example, a processor executes program instructions to control receiving of input data associated with a current block. The processor is equipped with a single or multiple processing cores. In some examples, the processor executes program instructions to perform functions in some components in the Encoder 400 and the Decoder 500, and the memory electrically coupled with the processor is used to store the program instructions, information corresponding to the affine modes, reconstructed images of blocks, and/or intermediate data during the encoding or decoding process. The memory in some embodiment includes a non-transitory computer readable medium, such as a semiconductor or solid-state memory, a random access memory (RAM) , a read-only memory (ROM) , a hard disk, an optical disk, or other suitable storage medium. The memory may also be a combination of two or more of the non-transitory computer readable medium listed above. As shown in Figs. 4 and 5, the Encoder 400 and the Decoder 500 may be implemented in the same electronic device, so various functional components of the Encoder 400 and Decoder 500 may be shared or reused if implemented in the same electronic device. For example, one or more of Reconstruction 426, Transformation 418, Quantization  420, Deblocking Filter 428, Sample Adaptive Offset 430, and Reference Picture Buffer 432 in Fig. 4 may also be used to function as Reconstruction 518, Transformation 522, Quantization 520, Deblocking Filter 524, Sample Adaptive Offset 526, and Reference Picture Buffer 528 in Fig. 5, respectively. In some example, a portion of Intra Prediction 410 and Affine Prediction 412 in Fig. 4 may share or reused a portion of Intra Prediction 512 and Affine Prediction 514 in Fig. 5.
Affine Inter Prediction
If a current block is coded in affine Inter mode, a candidate list is constructed using neighboring valid coded blocks. As shown in Fig. 2, an affine candidate includes three affine motion vectors Mv0, Mv1, and Mv2. Affine motion vector Mv0 at an upper-left control point of a current block 20 is derived from one of motion vectors of neighboring sub-block a0 (referred as the upper-left corner sub-block) , a1 (referred as the top-left sub-block) , and a2 (referred as the left-top sub-block) . Affine motion vector Mv1 at an upper-right control point of the current block 30 is derived from one or motion vectors of neighboring sub-block b0 (referred as the top-right sub-block) and b1 (referred as the upper-right corner sub-block) . Affine motion vector Mv2 at a lower-left control point of the current block 20 is derived from one of motion vectors of neighboring sub-block c0 (referred as the left-bottom sub-block) and c1 (referred as the lower-left corner sub-block) . For example, Mv0 is derived from the motion vector at neighboring sub-block a0, Mv1 is derived from the motion vector at neighboring sub-block b0, and Mv2 is derived from the motion vector at neighboring sub-block c0. In another example, Mv0 is the first available motion vector at neighboring sub-blocks a0, a1, and a2, Mv1 is the first available motion vector at neighboring sub-blocks at b0 and b1, and Mv2 is the first available motion vector at neighboring sub-blocks at c0 and c1.
In some embodiments of affine Inter prediction, there is only one candidate in the candidate list, so the affine candidate is always selected without signaling a motion vector predictor (MVP) index when affine Inter mode is selected to encode or decode the current block. Motions in the current block are derived by an affine motion model according to the affine motion vectors in the affine candidate and a reference block is located by the motion vectors of the current block. If a reference picture of a neighboring coded block used to derive the affine motion vector is not the same as the current reference picture of the current block, the affine motion vector is derived by scaling the corresponding motion vector of the neighboring code block.
According to some embodiments of the affine Inter prediction, only uni-directional prediction is allowed for blocks coded in affine Inter mode to reduce the system complexity. In other words, bi-directional prediction is disabled when a current block is coded or to be coded in affine Inter mode. Bi-directional prediction may be enabled when the current block is coded in affine Merge mode, Merge mode, AMVP mode or any combination thereof. In an embodiment, when reference list 0 and reference list 1 for the current block are the same, reference list 0 is used without signaling an inter prediction index inter_pred_idc; when reference list 0 and reference list 1 for the current block are different, the inter prediction index inter_pred_idc is signaled to indicate which list is used for the current block.
Fig 6 illustrates an exemplary flowchart for a video coding system with affine Inter prediction incorporating an embodiment of the present invention, where bi-directional prediction is disabled depending on whether the affine Inter mode is selected. The input data related to a current block is received at a video encoder side or a video bitstream corresponding to compressed data including the current block is received at a video decoder side in step 600. Step 602 checks whether affine Inter mode is used to encode or decode the current block. If affine Inter mode is selected to code the current block, the video coding system restricts the current block to be encoded or decoded in uni-directional prediction by disabling bi-directional prediction in step 604; else the video coding system enables bi-directional prediction for encoding or decoding the current block in step 610. An affine candidate is derived if the current block is encoded or decoded in affine Inter mode, and an affine motion model is derived according to the affine candidate in step 606. The affine candidate is derived from one or more neighboring coded blocks of the current block, and if any neighboring coded block is bi-directional predicted, only one motion vector in one list is used to derive the corresponding affine motion vector. The affine candidate in one embodiment includes two affine motion vectors and the affine candidate in another embodiment includes three affine motion vectors. In step 608, the current block is encoded or decoded by locating a reference block according to the affine motion model derived in step 606.
Various embodiments of the affine Inter prediction methods may be implemented in the Video Encoder 400 in Fig. 4 or the Video Decoder 500 in Fig. 5. The Encoder 400 and the Decoder 500 may further incorporate Inter Prediction by either sharing at least a portion of the component with  Affine Prediction  412 or 514 or  having an additional component in parallel with  Intra Prediction  410 or 512 and  Affine Prediction  412 or 514. For example, when a unified Merge candidate list is used for both affine Merge mode and regular Merge mode, Affine Merge Prediction 4124 shares the component with Inter Merge Prediction; and similarly, when a unified Inter candidate list is used for both affine Inter mode and regular AMVP mode, Affine Inter Prediction 4122 shares the component with Inter AMVP Prediction. In this example, a single merge index or an MVP index may be signaled to indicate the use of affine mode or regular Inter mode.
The above described affine motion derivation method, affine Merge prediction method, or affine Inter prediction method can be implemented using a simplified affine motion model, for example, two control points are used instead of three control points. An exemplary simplified affine motion model still uses the same mathematical equations for affine motion model but derives the affine motion vector Mv2 for a lower-left control point by the affine motion vectors Mv0 and Mv1. Alternatively, the affine motion vector Mv1 for an upper-right control point may be derived by the affine motion vectors Mv0 and Mv2, or the affine motion vector Mv0 for an upper left control point may be derived by the affine motion vectors Mv1 and Mv2.
Embodiments of the affine motion derivation method, affine Merge prediction method, or affine Inter prediction method may be implemented in a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described above. For examples, the affine motion derivation method, affine Merge prediction method, or affine Inter prediction method may be realized in program code to be executed on a computer processor, a Digital Signal Processor (DSP) , a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (22)

  1. A method of processing video data with affine motion compensation in a video coding system, comprising:
    receiving input data associated with a current block in a current picture;
    if the current block is coded or to be coded in affine Merge mode, deriving a first affine Merge candidate for the current block including three affine motion vectors Mv0, Mv1, and Mv2 for predicting motion vectors at control points of the current block, wherein Mv0 is derived from a motion vector of a first neighboring coded block of the current block, Mv1 is derived from a motion vector of a second neighboring coded block of the current block, and Mv2 is derived from a motion vector of a third neighboring coded block of the current block;
    if the first affine Merge candidate is selected to encode or decode the current block, deriving an affine motion model according to the affine motion vectors Mv0, Mv1, and Mv2 of the first affine Merge candidate; and
    encoding or decoding the current block by locating a reference block in a reference picture for the current block according to the affine motion model.
  2. The method of Claim 1, wherein the first neighboring coded block is an upper-left corner sub-block adjacent to the current block, the second neighboring coded block is a top-right sub-block above the current block, and the third neighboring coded block is a left-bottom sub-block beside the current block.
  3. The method of Claim1, wherein Mv0 is a first available motion vector of motion vectors at an upper-left corner sub-block adjacent to the current block, a top-left sub-block above the current block, and a left-top sub-block beside the current block, Mv1 is a first available motion vector of motion vectors at a top-right sub-block above the current block and an upper-right corner sub-block adjacent to the current block, and Mv2 is a first available motion vector of motion vectors at a left-bottom sub-block beside the current block and a lower-left corner sub-block adjacent to the current block.
  4. The method of Claim 1, further comprises deriving a second affine Merge candidate including three affine motion vectors, and if the second affine Merge candidate is selected to encode or decode the current block, deriving the affine motion model according to the affine motion vectors of the second affine Merge candidate,  wherein at least one affine motion vector in the second affine Merge candidate is different from the corresponding affine motion vector in the first affine Merge candidate.
  5. The method of Claim 4, wherein the first affine Merge candidate and the second affine Merge candidate have same first and second affine motion vectors, a third affine motion vector in the first affine Merge candidate is a motion vector at a left-bottom sub-block beside the current block, and a third affine motion vector in the second affine Merge candidate is a motion vector at a lower-left corner sub-block adjacent to the current block.
  6. The method of Claim 4, wherein the first affine Merge candidate and the second affine Merge candidate have same first and third affine motion vectors, a second affine motion vector in the first affine Merge candidate is a motion vector at a top-right sub-block above the current block, and a second affine motion vector in the second affine Merge candidate is a motion vector at an upper-right corner sub-block adjacent to the current block.
  7. The method of Claim 4, wherein the first affine Merge candidate and the second affine Merge candidate have a same first affine motion vector, a second affine motion vector in the first affine Merge candidate is a motion vector at a top-right sub-block above the current block and a second affine motion vector in the second affine Merge candidate is a motion vector at an upper-right corner sub-block adjacent to the current block, and a third affine motion vector in the first affine Merge candidate is a motion vector at a left-bottom sub-block beside the current block and a third affine motion vector in the second affine Merge candidate is a motion vector at a lower-left corner sub-block adjacent to the current block.
  8. The method of Claim 1, wherein the first affine Merge candidate is denoted as not exist if inter prediction directions or reference pictures of the three affine motion vectors Mv0, Mv1, and Mv2 are not all the same.
  9. The method of Claim 1, wherein an inter prediction direction for the first affine Merge candidate is uni-directional prediction and using only a first reference list if all the three affine motion vectors Mv0, Mv1, and Mv2 are available only in the first reference list, and the first reference list is selected from list 0 and list 1.
  10. The method of Claim 1, further comprising scaling the affine motion vectors Mv0, Mv1, and Mv2 in the first affine Merge candidate to a designated reference picture if reference pictures of the three affine motion vectors are not all the same.
  11. The method of Claim 1, further comprising scaling one of the affine motion vectors in the first affine Merge candidate to set all reference pictures of the three affine motion vectors in the first affine Merge candidate the same.
  12. A method of processing video data with affine motion compensation in a video coding system, comprising:
    receiving input data associated with a current block in a current picture;
    if the current block is coded or to be coded in affine Inter mode, deriving an affine candidate for the current block including multiple affine motion vectors for predicting motion vectors at control points of the current block, wherein the affine motion vectors are derived from one or more neighboring coded blocks;
    if the affine candidate is selected to encode or decode the current block, deriving an affine motion model according to the affine motion vectors of the affine candidate; and
    encoding or decoding the current block by locating a reference block in a current reference picture according to the affine motion model, wherein the current reference picture is pointed by a reference picture index;
    wherein the current block is restricted to be coded in uni-directional prediction by disabling bi-directional prediction if the current block is coded or to be coded in affine Inter mode.
  13. The method of Claim 12, wherein the affine motion model is a simplified affine motion model using two control points.
  14. The method of Claim 12, wherein the affine candidate is selected to encode or decode the current block without signaling a motion vector predictor (MVP) index.
  15. The method of Claim 12, further comprising scaling one or more of the affine motion vectors in the affine candidate to the current reference picture pointed by the reference picture index if reference pictures of said one or more affine motion vectors are not the same as the current reference picture.
  16. The method of Claim 12, wherein an inter prediction direction flag is signaled to indicate a selected reference list if reference list 0 and reference list 1 of the current block are not the same, and the inter prediction direction flag is not signaled if reference list 0 and reference list 1 of the current block are the same.
  17. The method of Claim 12, wherein the affine motion vectors in the affine candidate are derived from motion vectors at an upper-left corner sub-block adjacent to the current block, a top-right sub-block above the current block, and a left-bottom  sub-block beside the current block.
  18. The method of Claim12, wherein the affine motion vectors are Mv0, Mv1, and Mv2, Mv0 is a first available motion vector of motion vectors at an upper-left corner sub-block adjacent to the current block, a top-left sub-block above the current block, and a left-top sub-block beside the current block, Mv1 is a first available motion vector of motion vectors at a top-right sub-block above the current block and an upper-right corner sub-block adjacent to the current block, and Mv2 is a first available motion vector of motion vectors at a left-bottom sub-block beside the current block and a lower-left corner sub-block adjacent to the current block.
  19. An apparatus of processing video data with affine motion compensation in a video coding system, the apparatus comprising one or more electronic circuits configured to:
    receive input data associated with a current block in a current picture;
    if the current block is coded or to be coded in affine Merge mode, derive a first affine Merge candidate for the current block including three affine motion vectors Mv0, Mv1, and Mv2 for predicting motion vectors at control points of the current block, wherein Mv0 is derived from a motion vector of a first neighboring coded block of the current block, Mv1 is derived from a motion vector of a second neighboring coded block of the current block, and Mv2 is derived from a motion vector of a third neighboring coded block of the current block;
    if the first affine Merge candidate is selected to encode or decode the current block, derive an affine motion model according to the affine motion vectors Mv0, Mv1, and Mv2 of the first affine candidate; and
    encode or decode the current block by locating a reference block in a reference picture for the current block according to the affine motion model.
  20. An apparatus of processing video data with affine motion compensation in a video coding system, the apparatus comprising one or more electronic circuits configured to:
    receive input data associated with a current block in a current picture;
    if the current block is coded or to be coded in affine Inter mode, derive an affine candidate for the current block including multiple affine motion vectors for predicting motion vectors at control points of the current block, wherein the affine motion vectors are derived from one or more neighboring coded blocks;
    if the affine candidate is selected to encode or decode the current block, derive an  affine motion model according to the affine motion vectors of the affine candidate; and
    encode or decode the current block by locating a reference block in a current reference picture according to the affine motion model, wherein the current reference picture is pointed by a reference picture index;
    wherein the current block is restricted to be coded in uni-directional prediction by disabling bi-directional prediction if the current block is coded or to be coded in affine Inter mode.
  21. A non-transitory computer readable medium storing program instruction causing a processing circuit of an apparatus to perform a video coding method with affine motion compensation, and the method comprising:
    receiving input data associated with a current block in a current picture;
    if the current block is coded or to be coded in affine Merge mode, deriving a first affine Merge candidate for the current block including three affine motion vectors Mv0, Mv1, and Mv2 for predicting motion vectors at control points of the current block, wherein Mv0 is derived from a motion vector of a first neighboring coded block of the current block, Mv1 is derived from a motion vector of a second neighboring coded block of the current block, and Mv2 is derived from a motion vector of a third neighboring coded block of the current block;
    if the first affine Merge candidate is selected to encode or decode the current block, deriving an affine motion model according to the affine motion vectors Mv0, Mv1, and Mv2 of the first affine Merge candidate; and
    encoding or decoding the current block by locating a reference block in a reference picture for the current block according to the affine motion model.
  22. A non-transitory computer readable medium storing program instruction causing a processing circuit of an apparatus to perform a video coding method with affine motion compensation, and the method comprising:
    receiving input data associated with a current block in a current picture;
    if the current block is coded or to be coded in affine Inter mode, deriving an affine candidate for the current block including multiple affine motion vectors for predicting motion vectors at control points of the current block, wherein the affine motion vectors are derived from one or more neighboring coded blocks;
    if the affine candidate is selected to encode or decode the current block, deriving an affine motion model according to the affine motion vectors of the affine candidate;  and
    encoding or decoding the current block by locating a reference block in a current reference picture according to the affine motion model, wherein the current reference picture is pointed by a reference picture index;
    wherein the current block is restricted to be coded in uni-directional prediction by disabling bi-directional prediction if the current block is coded or to be coded in affine Inter mode.
PCT/CN2017/074965 2016-03-01 2017-02-27 Method and apparatus of video coding with affine motion compensation Ceased WO2017148345A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US16/079,166 US20190058896A1 (en) 2016-03-01 2017-02-27 Method and apparatus of video coding with affine motion compensation
CN201780010675.6A CN108605137A (en) 2016-03-01 2017-02-27 Video coding method and device using affine motion compensation
EP17759196.3A EP3414905A4 (en) 2016-03-01 2017-02-27 Method and apparatus of video coding with affine motion compensation
BR112018067475A BR112018067475A2 (en) 2016-03-01 2017-02-27 related motion compensation video coding method and apparatus
TW106106616A TWI619374B (en) 2016-03-01 2017-03-01 Method and apparatus of video coding with affine motion compensation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/CN2016/075024 WO2017147765A1 (en) 2016-03-01 2016-03-01 Methods for affine motion compensation
CNPCT/CN2016/075024 2016-03-01

Publications (1)

Publication Number Publication Date
WO2017148345A1 true WO2017148345A1 (en) 2017-09-08

Family

ID=59742559

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/CN2016/075024 Ceased WO2017147765A1 (en) 2016-03-01 2016-03-01 Methods for affine motion compensation
PCT/CN2017/074965 Ceased WO2017148345A1 (en) 2016-03-01 2017-02-27 Method and apparatus of video coding with affine motion compensation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/075024 Ceased WO2017147765A1 (en) 2016-03-01 2016-03-01 Methods for affine motion compensation

Country Status (6)

Country Link
US (1) US20190058896A1 (en)
EP (1) EP3414905A4 (en)
CN (1) CN108605137A (en)
BR (1) BR112018067475A2 (en)
TW (1) TWI619374B (en)
WO (2) WO2017147765A1 (en)

Cited By (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3468196A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Methods and apparatuses for video encoding and video decoding
EP3468195A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Improved predictor candidates for motion compensation
WO2019070322A1 (en) * 2017-10-07 2019-04-11 Google Llc Warped reference motion vectors for video compression
WO2019075375A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
WO2019072187A1 (en) * 2017-10-13 2019-04-18 Huawei Technologies Co., Ltd. Pruning of motion model candidate list for inter-prediction
WO2019114721A1 (en) * 2017-12-12 2019-06-20 华为技术有限公司 Interframe prediction method and device for video data
WO2019136131A1 (en) * 2018-01-04 2019-07-11 Qualcomm Incorporated Generated affine motion vectors
US20190222834A1 (en) * 2018-01-18 2019-07-18 Mediatek Inc. Variable affine merge candidates for video coding
WO2019144908A1 (en) * 2018-01-26 2019-08-01 Mediatek Inc. Method and apparatus of affine inter prediction for video coding system
WO2019194568A1 (en) * 2018-04-03 2019-10-10 인텔렉추얼디스커버리 주식회사 Affine model-based image encoding/decoding method and device
WO2019194513A1 (en) * 2018-04-01 2019-10-10 엘지전자 주식회사 Method and device for processing video signal using affine prediction
WO2019199141A1 (en) * 2018-04-13 2019-10-17 엘지전자 주식회사 Inter prediction method and device in video coding system
WO2019244809A1 (en) * 2018-06-21 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
CN110677675A (en) * 2018-07-01 2020-01-10 北京字节跳动网络技术有限公司 Efficient Affine Merge Motion Vector Derivation
WO2020032526A1 (en) * 2018-08-06 2020-02-13 엘지전자 주식회사 Image decoding method and device on basis of affine motion prediction using constructed affine mvp candidate in image coding system
CN110809165A (en) * 2018-08-04 2020-02-18 北京字节跳动网络技术有限公司 Affine motion vector difference accuracy
WO2020035029A1 (en) * 2018-08-17 2020-02-20 Mediatek Inc. Method and apparatus of simplified sub-mode for video coding
WO2020067709A1 (en) * 2018-09-25 2020-04-02 디지털인사이트주식회사 Method and device for encoding or decoding image on basis of inter mode
GB2578151A (en) * 2018-10-18 2020-04-22 Canon Kk Video coding and decoding
GB2578150A (en) * 2018-10-18 2020-04-22 Canon Kk Video coding and decoding
WO2020084472A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Affine mode parameter inheritance or prediction
WO2020114517A1 (en) * 2018-12-08 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Shifting on affine parameters
CN111316648A (en) * 2017-11-14 2020-06-19 高通股份有限公司 Affine Motion Vector Prediction in Video Coding
CN111316647A (en) * 2017-11-14 2020-06-19 高通股份有限公司 Unified merge candidate list usage
WO2020159825A1 (en) * 2019-01-28 2020-08-06 Tencent America LLC Method and apparatus for video coding
CN111527750A (en) * 2018-01-26 2020-08-11 交互数字Vc控股公司 Method and apparatus for adaptive illumination compensation in video encoding and decoding
WO2020226359A1 (en) * 2019-05-03 2020-11-12 한국전자통신연구원 Image encoding/decoding method and device, and recording medium storing bitstream
CN112385210A (en) * 2018-06-20 2021-02-19 联发科技股份有限公司 Method and apparatus for motion vector buffer management for video coding and decoding system
US10944984B2 (en) 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
CN112770113A (en) * 2019-11-05 2021-05-07 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment
CN113170184A (en) * 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 Method for configuring default motion candidate
CN113170099A (en) * 2018-11-29 2021-07-23 北京字节跳动网络技术有限公司 Interaction between intra-block copy mode and inter prediction tools
CN113196745A (en) * 2019-01-13 2021-07-30 腾讯美国有限责任公司 Video coding and decoding method and device
CN113196773A (en) * 2018-12-21 2021-07-30 北京字节跳动网络技术有限公司 Motion vector precision in Merge mode with motion vector difference
CN113228631A (en) * 2019-01-12 2021-08-06 腾讯美国有限责任公司 Video coding and decoding method and device
CN113273187A (en) * 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Affine-based Merge with Motion Vector Difference (MVD)
CN113475066A (en) * 2019-03-11 2021-10-01 松下电器(美国)知识产权公司 Encoding device, decoding device, encoding method, and decoding method
CN113748673A (en) * 2019-03-11 2021-12-03 阿里巴巴集团控股有限公司 Method, device and system for determining prediction weights for merge mode
CN114208171A (en) * 2019-06-14 2022-03-18 Lg电子株式会社 Image decoding method and apparatus for deriving weight index information for generating predicted samples
CN114303375A (en) * 2019-06-24 2022-04-08 Lg电子株式会社 Video decoding method using bi-directional prediction and apparatus therefor
CN114303374A (en) * 2019-07-09 2022-04-08 高通股份有限公司 Reference picture resampling with switchable filters
CN114342376A (en) * 2019-07-05 2022-04-12 Lg电子株式会社 Video encoding/decoding method and apparatus for deriving weight index for bi-prediction of merging candidate and method of transmitting bitstream
US11303919B2 (en) 2016-03-24 2022-04-12 Lg Electronics Inc. Method and apparatus for inter prediction in video coding system
CN114375573A (en) * 2019-06-24 2022-04-19 Lg电子株式会社 Image decoding method using merging candidate derived prediction samples and apparatus thereof
CN114600461A (en) * 2019-10-23 2022-06-07 北京字节跳动网络技术有限公司 Computation for multiple codec tools
US11394960B2 (en) 2018-06-29 2022-07-19 Interdigital Vc Holdings, Inc. Virtual temporal affine candidates
US11503278B2 (en) 2018-12-28 2022-11-15 Jvckenwood Corporation Device for deriving affine merge candidate
JP2022173582A (en) * 2018-09-12 2022-11-18 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on sub-block motion prediction in image coding system
JP2023010845A (en) * 2018-04-01 2023-01-20 エルジー エレクトロニクス インコーポレイティド Image coding method and apparatus based on affine motion prediction
WO2023134564A1 (en) * 2022-01-14 2023-07-20 Mediatek Inc. Method and apparatus deriving merge candidate from affine coded blocks for video coding
US11778170B2 (en) 2018-10-06 2023-10-03 Beijing Bytedance Network Technology Co., Ltd Temporal gradient calculations in bio
US11870974B2 (en) 2018-09-23 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Multiple-hypothesis affine mode
JP2024042110A (en) * 2018-09-10 2024-03-27 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on affine motion prediction using affine MVP candidate list in image coding system
RU2820339C2 (en) * 2019-06-25 2024-06-03 Интердиджитал Вс Холдингз Франс, Сас Hmvc for affine mode and motion vector prediction mode sbtmvp
US12034953B2 (en) 2018-09-21 2024-07-09 Canon Kabushiki Kaisha Video coding and decoding
US12167029B2 (en) 2018-09-21 2024-12-10 Canon Kabushiki Kaisha Video coding and decoding
US12262002B2 (en) 2018-03-25 2025-03-25 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
US12289466B2 (en) 2018-11-17 2025-04-29 Beijing Bytedance Network Technology Co., Ltd. Generalized bi directional prediction mode in video processing
JP2025164839A (en) * 2017-10-27 2025-10-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, and bitstream transmission device

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109952761B (en) 2016-09-20 2022-04-15 株式会社Kt Method and apparatus for processing video signals
US11356693B2 (en) * 2016-09-29 2022-06-07 Qualcomm Incorporated Motion vector coding for video coding
US10602180B2 (en) 2017-06-13 2020-03-24 Qualcomm Incorporated Motion vector prediction
US11184636B2 (en) * 2017-06-28 2021-11-23 Sharp Kabushiki Kaisha Video encoding device and video decoding device
US11082721B2 (en) * 2017-09-07 2021-08-03 Lg Electronics Inc. Method and apparatus for entropy-encoding and entropy-decoding video signal
CN111656783B (en) * 2018-01-25 2024-03-08 三星电子株式会社 Method and apparatus for video signal processing using sub-block based motion compensation
JP7088606B2 (en) 2018-04-02 2022-06-21 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド Video processing methods, image processing devices, programs, coding devices, and decoding devices
EP4246979B1 (en) * 2018-04-24 2025-10-15 TCL King Electrical Appliances (Huizhou) Co. Ltd. Method and apparatus for inter prediction in video coding system
CN119420904A (en) 2018-05-09 2025-02-11 交互数字Vc控股公司 Video decoding device and video decoding method
US11470346B2 (en) * 2018-05-09 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for performing motion vector prediction using a derived set of motion vectors
CN118972591A (en) * 2018-05-24 2024-11-15 株式会社Kt Method for decoding and encoding video and device for transmitting compressed video data
US11368702B2 (en) * 2018-06-04 2022-06-21 Lg Electronics, Inc. Method and device for processing video signal by using affine motion prediction
CN110620932B (en) * 2018-06-19 2022-11-08 北京字节跳动网络技术有限公司 Mode-dependent motion vector difference accuracy set
SG11202013028PA (en) 2018-06-29 2021-01-28 Beijing Bytedance Network Technology Co Ltd Interaction between lut and amvp
KR102840294B1 (en) 2018-06-29 2025-07-30 두인 비전 컴퍼니 리미티드 The concept of sequentially storing previously coded motion information using one or more lookup tables and using this to code subsequent blocks.
KR102680903B1 (en) 2018-06-29 2024-07-04 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Partial/full pruning when adding a hmvp candidate to merge/amvp
KR102627814B1 (en) 2018-06-29 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Update of lookup table: FIFO, constrained FIFO
CA3105072A1 (en) * 2018-06-29 2020-01-02 Vid Scale, Inc. Adaptive control point selection for affine motion model based video coding
WO2020013569A1 (en) * 2018-07-13 2020-01-16 엘지전자 주식회사 Image decoding method and apparatus based on affine motion prediction in image coding system
CN110868602B (en) * 2018-08-27 2024-04-12 华为技术有限公司 Video encoder, video decoder and corresponding methods
CN117528115A (en) * 2018-08-27 2024-02-06 华为技术有限公司 A video image prediction method and device
CN112055970B (en) * 2018-08-28 2024-04-09 华为技术有限公司 Method for constructing candidate motion information list, inter-frame prediction method and device
CN116647696A (en) * 2018-09-06 2023-08-25 Lg电子株式会社 Image decoding method, image encoding method, storage medium and transmission method
WO2020050281A1 (en) * 2018-09-06 2020-03-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
CN116033150A (en) * 2018-09-08 2023-04-28 北京字节跳动网络技术有限公司 Affine Mode Computation for Different Video Block Sizes
CN112806011B (en) * 2018-09-13 2024-11-26 交互数字Vc控股公司 Improved virtual time affine candidates
US11057636B2 (en) 2018-09-17 2021-07-06 Qualcomm Incorporated Affine motion prediction
JP7212150B2 (en) 2018-09-19 2023-01-24 北京字節跳動網絡技術有限公司 Using Syntax for Affine Modes with Adaptive Motion Vector Resolution
TWI846733B (en) * 2018-09-23 2024-07-01 大陸商北京字節跳動網絡技術有限公司 General applications related to affine motion
CN110958456B (en) * 2018-09-26 2023-03-31 北京字节跳动网络技术有限公司 Affine motion vector access range
US10896494B1 (en) * 2018-09-27 2021-01-19 Snap Inc. Dirty lens image correction
US11012687B2 (en) * 2018-10-01 2021-05-18 Tencent America LLC Method and apparatus for video coding
WO2020069651A1 (en) * 2018-10-05 2020-04-09 Huawei Technologies Co., Ltd. A candidate mv construction method for affine merge mode
WO2020075053A1 (en) 2018-10-08 2020-04-16 Beijing Bytedance Network Technology Co., Ltd. Generation and usage of combined affine merge candidate
KR20210069715A (en) * 2018-10-10 2021-06-11 인터디지털 브이씨 홀딩스 인코포레이티드 Affine mode signaling in video encoding and decoding
WO2020084510A1 (en) * 2018-10-23 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Adaptive control point selection for affine coding
WO2020084553A1 (en) * 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate derivation based on multiple information in sub-block motion vector prediction
CN111107373B (en) * 2018-10-29 2023-11-03 华为技术有限公司 Inter-frame prediction method and related devices based on affine prediction mode
US11212521B2 (en) * 2018-11-07 2021-12-28 Avago Technologies International Sales Pte. Limited Control of memory bandwidth consumption of affine mode in versatile video coding
CN121531143A (en) * 2018-11-08 2026-02-13 Oppo广东移动通信有限公司 Image signal encoding/decoding methods and devices
CN113228635B (en) * 2018-11-13 2024-01-05 北京字节跳动网络技术有限公司 Motion candidate list construction method for intra block copying
WO2020098752A1 (en) * 2018-11-14 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Improvements of affine prediction mode
WO2020098802A1 (en) * 2018-11-15 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd for affine
CN113170105B (en) * 2018-11-16 2024-11-05 北京字节跳动网络技术有限公司 History-based affine parameter inheritance
EP3857896A4 (en) * 2018-11-22 2021-12-01 Beijing Bytedance Network Technology Co. Ltd. COORDINATION PROCEDURE FOR SUBBLOCK BASED INTERPREDICTION
CN109640097B (en) * 2018-12-07 2021-08-03 辽宁师范大学 Video Affine Motion Estimation Method with Adaptive Factor
KR102387873B1 (en) 2018-12-13 2022-04-18 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 Method for deriving constructed affine merge candidates
MX2021007225A (en) * 2018-12-17 2021-09-21 Interdigital Vc Holdings Inc COMBINATION OF MOTION VECTOR DIFFERENCE CODING TOOLS WITH OTHER MOTION MODES.
WO2020127811A2 (en) * 2018-12-20 2020-06-25 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Intra predictions using linear or affine transforms with neighbouring sample reduction
EP3902257A4 (en) * 2018-12-27 2022-01-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Coding prediction method and apparatus, and computer storage medium
WO2020141911A1 (en) * 2019-01-02 2020-07-09 엘지전자 주식회사 Device and method for processing video signal by using inter prediction
KR102648159B1 (en) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Invocation of LUT update
CN113330739B (en) 2019-01-16 2025-01-10 北京字节跳动网络技术有限公司 Insertion order of motion candidates in LUT
CN109919027A (en) * 2019-01-30 2019-06-21 合肥特尔卡机器人科技股份有限公司 A kind of Feature Extraction System of road vehicles
CN120980252A (en) 2019-01-31 2025-11-18 北京字节跳动网络技术有限公司 Fast Algorithm for Symmetric Motion Vector Difference Encoding/Decoding Mode
WO2020156516A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Context for coding affine mode adaptive motion vector resolution
WO2020156576A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Multi-hmvp for affine
WO2020169109A1 (en) * 2019-02-22 2020-08-27 Beijing Bytedance Network Technology Co., Ltd. Sub-table for history-based affine mode
WO2020173477A1 (en) 2019-02-27 2020-09-03 Beijing Bytedance Network Technology Co., Ltd. Regression-based motion vector field based sub-block motion vector derivation
US11134262B2 (en) * 2019-02-28 2021-09-28 Tencent America LLC Method and apparatus for video coding
US11979595B2 (en) 2019-03-11 2024-05-07 Vid Scale, Inc. Symmetric merge mode motion vector coding
CN113615193B (en) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Interaction between Merge list construction and other tools
US11985330B2 (en) 2019-04-12 2024-05-14 Hfi Innovation Inc. Method and apparatus of simplified affine subblock process for video coding system
EP3959884A4 (en) * 2019-04-25 2022-06-01 OP Solutions, LLC GLOBAL MOTION VECTOR SIGNALING IN IMAGE HEADER
BR112021021352A2 (en) * 2019-04-25 2022-02-01 Op Solutions Llc Adaptive motion vector prediction candidates in frames with global motion
CN114128288A (en) * 2019-04-25 2022-03-01 Op方案有限责任公司 Global motion model for motion vector inter-frame prediction
KR20210153128A (en) * 2019-04-25 2021-12-16 오피 솔루션즈, 엘엘씨 Global motion for merge mode candidates in inter prediction
WO2020219952A1 (en) * 2019-04-25 2020-10-29 Op Solutions, Llc Candidates in frames with global motion
JP7321583B2 (en) * 2019-04-25 2023-08-07 オーピー ソリューションズ, エルエルシー Signaling global motion vectors in picture headers
PH12021552704A1 (en) * 2019-04-25 2022-03-07 Op Solutions Llc Efficient coding of global motion vectors
CN113853786A (en) * 2019-05-03 2021-12-28 华为技术有限公司 Wavefront parallel processing for tiles, bricks and strips
SG11202112279WA (en) * 2019-05-11 2021-12-30 Beijing Bytedance Network Technology Co Ltd Selective use of coding tools in video processing
WO2020233513A1 (en) * 2019-05-17 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Motion information determination and storage for video processing
WO2020233660A1 (en) 2019-05-21 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Syntax-based motion candidate derivation in sub-block merge mode
JP7275326B2 (en) * 2019-06-14 2023-05-17 ヒョンダイ モーター カンパニー Video encoding method, video decoding method, and video decoding device using inter prediction
KR102679217B1 (en) 2019-06-14 2024-06-27 엘지전자 주식회사 Method and device for image coding using motion vector differences
AU2020294374B2 (en) * 2019-06-19 2024-01-11 Lg Electronics Inc. Image decoding method for performing inter-prediction when prediction mode for current block ultimately cannot be selected, and device for same
WO2020262901A1 (en) * 2019-06-24 2020-12-30 엘지전자 주식회사 Image decoding method and device therefor
CN114073080B (en) * 2019-06-26 2025-07-08 三星电子株式会社 Video encoding method and apparatus, and video decoding method and apparatus
WO2021001220A1 (en) * 2019-07-01 2021-01-07 Interdigital Vc Holdings France, Sas Bi-directional optical flow refinement of affine motion compensation
CN114342375B (en) * 2019-07-05 2024-11-19 Lg电子株式会社 Image encoding/decoding method and device for deriving weight index of bidirectional prediction and method for transmitting bit stream
MX2022000237A (en) * 2019-07-05 2022-03-17 Lg Electronics Inc IMAGE ENCODING/DECODING METHOD AND APPARATUS FOR CARRYING OUT BIDIRECTIONAL PREDICTION, AND METHOD FOR TRANSMITTING BIT STREAMS.
WO2021025451A1 (en) * 2019-08-05 2021-02-11 엘지전자 주식회사 Video encoding/decoding method and apparatus using motion information candidate, and method for transmitting bitstream
EP4011082B1 (en) * 2019-08-08 2025-10-22 Sharp Kabushiki Kaisha Device and method for coding video data
EP3997869A4 (en) 2019-08-10 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. SUBPICTURE DEPENDENT SIGNALING IN VIDEO STREAMS
KR102808776B1 (en) 2019-08-13 2025-05-15 두인 비전 컴퍼니 리미티드 Motion accuracy of sub-block-based inter prediction
CN110636301B (en) 2019-09-18 2021-08-03 浙江大华技术股份有限公司 Affine prediction method, computer device and computer-readable storage medium
CN114631321B (en) 2019-10-18 2024-04-12 北京字节跳动网络技术有限公司 Interaction between sub-pictures and loop filtering
CN115280774B (en) * 2019-12-02 2025-08-19 抖音视界有限公司 Method, apparatus, and non-transitory computer readable storage medium for visual media processing
WO2021122416A1 (en) * 2019-12-18 2021-06-24 Interdigital Vc Holdings France Subblock merge candidates in triangle merge mode
KR102849627B1 (en) * 2020-01-12 2025-08-21 엘지전자 주식회사 A method for encoding/decoding an image using a sequence parameter set including information on the maximum number of merge candidates, a device for doing so, and a method for transmitting a bitstream
CN111327901B (en) * 2020-03-10 2023-05-30 北京达佳互联信息技术有限公司 Video encoding method, device, storage medium and encoding equipment
KR20220157950A (en) 2020-03-23 2022-11-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Prediction refinement for affine merge and affine motion vector prediction modes
CN114342390B (en) * 2020-07-30 2022-10-28 北京达佳互联信息技术有限公司 Method and apparatus for prediction refinement for affine motion compensation
US11582474B2 (en) * 2020-08-03 2023-02-14 Alibaba Group Holding Limited Systems and methods for bi-directional gradient correction
CN113068041B (en) * 2021-03-12 2022-02-08 天津大学 Intelligent affine motion compensation coding method
WO2023051600A1 (en) * 2021-09-28 2023-04-06 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus and medium for video processing
CN114466198B (en) * 2022-01-13 2025-05-16 杭州未名信科科技有限公司 Affine motion estimation circuit and method
US12477118B2 (en) * 2022-01-14 2025-11-18 Mediatek Inc. Method and apparatus using affine non-adjacent candidates for video coding
EP4559182A4 (en) * 2022-07-19 2026-02-18 Mediatek Inc METHOD AND DEVICE WITH AFFINER MOTION ESTIMATION WITH CONTROL POINT MOTION VECTOR REFINERATION

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099437A2 (en) * 2000-06-16 2001-12-27 Intel Corporation Method of performing motion estimation
CN102377992A (en) * 2010-08-06 2012-03-14 华为技术有限公司 Method and device for obtaining predicted value of motion vector
CN104935938A (en) * 2015-07-15 2015-09-23 哈尔滨工业大学 Inter-frame prediction method in hybrid video coding standard
CN105163116A (en) * 2015-08-29 2015-12-16 华为技术有限公司 Method and device for image prediction
WO2016008408A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Method of motion vector derivation for video coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100571920B1 (en) * 2003-12-30 2006-04-17 삼성전자주식회사 Image encoding method and apparatus for providing a mesh-based motion compensation method using a motion model
US7835542B2 (en) * 2005-12-29 2010-11-16 Industrial Technology Research Institute Object tracking systems and methods utilizing compressed-domain motion-based segmentation
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
PL4322530T3 (en) * 2010-09-02 2025-06-02 Lg Electronics Inc. Inter prediction device
CN102685477B (en) * 2011-03-10 2014-12-10 华为技术有限公司 Method and device for obtaining image blocks for merging mode
CN102685504B (en) * 2011-03-10 2015-08-19 华为技术有限公司 The decoding method of video image, code device, decoding device and system thereof
US20130114717A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Generating additional merge candidates
KR102121558B1 (en) * 2013-03-15 2020-06-10 삼성전자주식회사 Method of stabilizing video image, post-processing device and video encoder including the same
JP6149151B2 (en) * 2013-04-02 2017-06-14 ヴィド スケール インコーポレイテッド Extended temporal motion vector prediction for scalable video coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099437A2 (en) * 2000-06-16 2001-12-27 Intel Corporation Method of performing motion estimation
CN102377992A (en) * 2010-08-06 2012-03-14 华为技术有限公司 Method and device for obtaining predicted value of motion vector
WO2016008408A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Method of motion vector derivation for video coding
CN104935938A (en) * 2015-07-15 2015-09-23 哈尔滨工业大学 Inter-frame prediction method in hybrid video coding standard
CN105163116A (en) * 2015-08-29 2015-12-16 华为技术有限公司 Method and device for image prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3414905A4 *

Cited By (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750834B2 (en) 2016-03-24 2023-09-05 Lg Electronics Inc Method and apparatus for inter prediction in video coding system
US11303919B2 (en) 2016-03-24 2022-04-12 Lg Electronics Inc. Method and apparatus for inter prediction in video coding system
JP7808217B2 (en) 2017-10-05 2026-01-28 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved predictor candidates for motion compensation.
US11805272B2 (en) 2017-10-05 2023-10-31 Interdigital Patent Holdings, Inc. Predictor candidates for motion compensation
CN111480340A (en) * 2017-10-05 2020-07-31 交互数字Vc控股公司 Improved predictor candidates for motion compensation
US12464160B2 (en) 2017-10-05 2025-11-04 Interdigital Vc Holdings, Inc. Methods and apparatuses for video encoding and video decoding
JP2020537394A (en) * 2017-10-05 2020-12-17 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved predictor candidates for motion compensation
JP2025093942A (en) * 2017-10-05 2025-06-24 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved predictor candidates for motion compensation.
US12368881B2 (en) 2017-10-05 2025-07-22 Interdigital Vc Holdings, Inc. Predictor candidates for motion compensation
JP2024096866A (en) * 2017-10-05 2024-07-17 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved predictor candidates for motion compensation.
EP3468195A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Improved predictor candidates for motion compensation
JP7640779B2 (en) 2017-10-05 2025-03-05 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved predictor candidates for motion compensation.
JP7474365B2 (en) 2017-10-05 2024-04-24 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved predictor candidates for motion compensation.
WO2019070944A1 (en) * 2017-10-05 2019-04-11 Interdigital Vc Holdings, Inc. Methods and apparatuses for video encoding and video decoding
JP7277447B2 (en) 2017-10-05 2023-05-19 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved Predictor Candidates for Motion Compensation
CN111418209A (en) * 2017-10-05 2020-07-14 交互数字Vc控股公司 Method and apparatus for video encoding and video decoding
JP2023100843A (en) * 2017-10-05 2023-07-19 インターデジタル ヴイシー ホールディングス, インコーポレイテッド Improved Predictor Candidates for Motion Compensation
CN111418209B (en) * 2017-10-05 2023-10-24 交互数字Vc控股公司 Methods and apparatus for video encoding and video decoding
WO2019070933A1 (en) * 2017-10-05 2019-04-11 Interdigital Vc Holdings, Inc. Improved predictor candidates for motion compensation
EP3468196A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Methods and apparatuses for video encoding and video decoding
US10582212B2 (en) 2017-10-07 2020-03-03 Google Llc Warped reference motion vectors for video compression
EP3622712A1 (en) * 2017-10-07 2020-03-18 Google LLC Warped reference motion vectors for video compression
CN110741641A (en) * 2017-10-07 2020-01-31 谷歌有限责任公司 Warped reference motion vector for video compression
CN110741641B (en) * 2017-10-07 2021-09-21 谷歌有限责任公司 Method and apparatus for video compression
WO2019070322A1 (en) * 2017-10-07 2019-04-11 Google Llc Warped reference motion vectors for video compression
WO2019075375A1 (en) * 2017-10-12 2019-04-18 Qualcomm Incorporated Motion vector predictors using affine motion model in video coding
WO2019072187A1 (en) * 2017-10-13 2019-04-18 Huawei Technologies Co., Ltd. Pruning of motion model candidate list for inter-prediction
JP7855128B2 (en) 2017-10-27 2026-05-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, and bitstream transmission device
JP2025164839A (en) * 2017-10-27 2025-10-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Encoding device, decoding device, and bitstream transmission device
CN111316647B (en) * 2017-11-14 2023-12-19 高通股份有限公司 Unified merge candidate list use
CN111316647A (en) * 2017-11-14 2020-06-19 高通股份有限公司 Unified merge candidate list usage
CN111316648B (en) * 2017-11-14 2024-06-11 高通股份有限公司 Affine motion vector prediction in video decoding
CN111316648A (en) * 2017-11-14 2020-06-19 高通股份有限公司 Affine Motion Vector Prediction in Video Coding
TWI800555B (en) * 2017-11-14 2023-05-01 美商高通公司 Affine motion vector prediction in video coding
TWI795463B (en) * 2017-11-14 2023-03-11 美商高通公司 Unified merge candidate list usage
US11889100B2 (en) 2017-11-14 2024-01-30 Qualcomm Incorporated Affine motion vector prediction in video coding
US11503333B2 (en) 2017-11-14 2022-11-15 Qualcomm Incorporated Unified merge candidate list usage
JP2021506180A (en) * 2017-12-12 2021-02-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Video data inter-prediction method and equipment
JP7148612B2 (en) 2017-12-12 2022-10-05 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Video data inter prediction method, apparatus, video encoder, video decoder and program
US11363274B2 (en) 2017-12-12 2022-06-14 Huawei Technologies Co., Ltd. Video data inter prediction method and apparatus
US12401795B2 (en) 2017-12-12 2025-08-26 Huawei Technologies Co., Ltd. Video data inter prediction based on control points
WO2019114721A1 (en) * 2017-12-12 2019-06-20 华为技术有限公司 Interframe prediction method and device for video data
CN111492662A (en) * 2018-01-04 2020-08-04 高通股份有限公司 Generated affine motion vector
WO2019136131A1 (en) * 2018-01-04 2019-07-11 Qualcomm Incorporated Generated affine motion vectors
US20190222834A1 (en) * 2018-01-18 2019-07-18 Mediatek Inc. Variable affine merge candidates for video coding
CN111527750A (en) * 2018-01-26 2020-08-11 交互数字Vc控股公司 Method and apparatus for adaptive illumination compensation in video encoding and decoding
US11356657B2 (en) 2018-01-26 2022-06-07 Hfi Innovation Inc. Method and apparatus of affine inter prediction for video coding system
CN111466116A (en) * 2018-01-26 2020-07-28 联发科技股份有限公司 Method and apparatus for affine inter-frame prediction for video codec systems
WO2019144908A1 (en) * 2018-01-26 2019-08-01 Mediatek Inc. Method and apparatus of affine inter prediction for video coding system
US12262002B2 (en) 2018-03-25 2025-03-25 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
US12452408B2 (en) 2018-03-25 2025-10-21 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
US12341949B2 (en) 2018-03-25 2025-06-24 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
US12519933B2 (en) 2018-03-25 2026-01-06 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
US12513287B2 (en) 2018-03-25 2025-12-30 B1 Institute Of Image Technology, Inc. Image encoding/decoding method and device
RU2850006C1 (en) * 2018-03-25 2025-11-01 Б1 Инститьют Оф Имидж Текнолоджи, Инк. Method and device for encoding/decoding images
RU2836863C1 (en) * 2018-03-25 2025-03-24 Б1 Инститьют Оф Имидж Текнолоджи, Инк. Image encoding/decoding method and device
RU2837587C1 (en) * 2018-03-25 2025-04-02 Б1 Инститьют Оф Имидж Текнолоджи, Инк. Image encoding/decoding method and device
RU2839117C1 (en) * 2018-03-25 2025-04-28 Б1 Инститьют Оф Имидж Текнолоджи, Инк. Image encoding/decoding method and device
JP7404488B2 (en) 2018-04-01 2023-12-25 エルジー エレクトロニクス インコーポレイティド Video coding method and device based on affine motion prediction
WO2019194513A1 (en) * 2018-04-01 2019-10-10 엘지전자 주식회사 Method and device for processing video signal using affine prediction
JP7565425B2 (en) 2018-04-01 2024-10-10 オッポ広東移動通信有限公司 Method and apparatus for video coding based on affine motion prediction
US12081739B2 (en) 2018-04-01 2024-09-03 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image coding method based on affine motion prediction, and device for same
JP7728422B2 (en) 2018-04-01 2025-08-22 オッポ広東移動通信有限公司 Video coding method and apparatus based on affine motion prediction
JP2025156590A (en) * 2018-04-01 2025-10-14 オッポ広東移動通信有限公司 Video coding method and apparatus based on affine motion prediction
JP2023010845A (en) * 2018-04-01 2023-01-20 エルジー エレクトロニクス インコーポレイティド Image coding method and apparatus based on affine motion prediction
JP2024019534A (en) * 2018-04-01 2024-02-09 エルジー エレクトロニクス インコーポレイティド Video coding method and device based on affine motion prediction
JP2024169734A (en) * 2018-04-01 2024-12-05 オッポ広東移動通信有限公司 Method and apparatus for video coding based on affine motion prediction
US12041244B2 (en) 2018-04-03 2024-07-16 Intellectual Discovery Co., Ltd. Affine model-based image encoding/decoding method and device
US11595664B2 (en) 2018-04-03 2023-02-28 Intellectual Discovery Co., Ltd. Affine model-based image encoding/decoding method and device
US12395644B2 (en) 2018-04-03 2025-08-19 Intellectual Discovery Co., Ltd. Affine model-based image encoding/decoding method and device
WO2019194568A1 (en) * 2018-04-03 2019-10-10 인텔렉추얼디스커버리 주식회사 Affine model-based image encoding/decoding method and device
WO2019199141A1 (en) * 2018-04-13 2019-10-17 엘지전자 주식회사 Inter prediction method and device in video coding system
CN112385210B (en) * 2018-06-20 2023-10-20 寰发股份有限公司 Method and device for inter-frame prediction for video encoding and decoding
CN112385210A (en) * 2018-06-20 2021-02-19 联发科技股份有限公司 Method and apparatus for motion vector buffer management for video coding and decoding system
WO2019244809A1 (en) * 2018-06-21 2019-12-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Coding device, decoding device, coding method, and decoding method
US12200197B2 (en) 2018-06-29 2025-01-14 Interdigital Vc Holdings, Inc. Virtual temporal affine candidates
US11394960B2 (en) 2018-06-29 2022-07-19 Interdigital Vc Holdings, Inc. Virtual temporal affine candidates
CN110677675A (en) * 2018-07-01 2020-01-10 北京字节跳动网络技术有限公司 Efficient Affine Merge Motion Vector Derivation
CN110677675B (en) * 2018-07-01 2022-02-08 北京字节跳动网络技术有限公司 Method, device and storage medium for efficient affine Merge motion vector derivation
US11470341B2 (en) 2018-08-04 2022-10-11 Beijing Bytedance Network Technology Co., Ltd. Interaction between different DMVD models
US11451819B2 (en) 2018-08-04 2022-09-20 Beijing Bytedance Network Technology Co., Ltd. Clipping of updated MV or derived MV
CN110809165A (en) * 2018-08-04 2020-02-18 北京字节跳动网络技术有限公司 Affine motion vector difference accuracy
US11330288B2 (en) 2018-08-04 2022-05-10 Beijing Bytedance Network Technology Co., Ltd. Constraints for usage of updated motion information
US12120340B2 (en) 2018-08-04 2024-10-15 Beijing Bytedance Network Technology Co., Ltd Constraints for usage of updated motion information
JP7795022B2 (en) 2018-08-06 2026-01-06 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on affine motion prediction using constructed affine MVP candidates in an image coding system
JP2025094114A (en) * 2018-08-06 2025-06-24 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on affine motion prediction using constructed affine MVP candidates in an image coding system - Patents.com
WO2020032526A1 (en) * 2018-08-06 2020-02-13 엘지전자 주식회사 Image decoding method and device on basis of affine motion prediction using constructed affine mvp candidate in image coding system
US11240527B2 (en) 2018-08-06 2022-02-01 Lg Electronics Inc. Image decoding method and device on basis of affine motion prediction using constructed affine MVP candidate in image coding system
WO2020035029A1 (en) * 2018-08-17 2020-02-20 Mediatek Inc. Method and apparatus of simplified sub-mode for video coding
US11503329B2 (en) 2018-08-17 2022-11-15 Hfi Innovation Inc. Method and apparatus of simplified sub-mode for video coding
US11425415B2 (en) 2018-08-28 2022-08-23 Qualcomm Incorporated Affine motion prediction
US10944984B2 (en) 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
JP2025015793A (en) * 2018-09-10 2025-01-30 エルジー エレクトロニクス インコーポレイティド Affine motion prediction-based image decoding method and apparatus using affine mvp candidate list in image coding system
JP7729969B2 (en) 2018-09-10 2025-08-26 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on affine motion prediction using affine MVP candidate list in an image coding system
US12294697B2 (en) 2018-09-10 2025-05-06 Lg Electronics Inc. Affine motion prediction-based image decoding method and apparatus using affine mvp candidate list in image coding system
JP7592911B2 (en) 2018-09-10 2024-12-02 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on affine motion prediction using affine MVP candidate list in an image coding system - Patents.com
JP2024042110A (en) * 2018-09-10 2024-03-27 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on affine motion prediction using affine MVP candidate list in image coding system
JP2022173582A (en) * 2018-09-12 2022-11-18 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on sub-block motion prediction in image coding system
US12231675B2 (en) 2018-09-12 2025-02-18 Lg Electronics Inc. Image decoding method and apparatus based on motion prediction in sub-block unit in image coding system
JP7738145B2 (en) 2018-09-12 2025-09-11 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on subblock-based motion prediction in an image coding system
JP7404481B2 (en) 2018-09-12 2023-12-25 エルジー エレクトロニクス インコーポレイティド Image decoding method and device based on sub-block motion prediction in image coding system
JP7571268B2 (en) 2018-09-12 2024-10-22 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on subblock-based motion prediction in an image coding system
JP2024180465A (en) * 2018-09-12 2024-12-26 エルジー エレクトロニクス インコーポレイティド Image decoding method and apparatus based on subblock-based motion prediction in an image coding system
JP2024019527A (en) * 2018-09-12 2024-02-09 エルジー エレクトロニクス インコーポレイティド Image decoding method and device based on sub-block motion prediction in image coding system
US12219172B2 (en) 2018-09-21 2025-02-04 Canon Kabushiki Kaisha Video coding and decoding
US12170790B2 (en) 2018-09-21 2024-12-17 Canon Kabushiki Kaisha Video coding and decoding
US12231677B2 (en) 2018-09-21 2025-02-18 Canon Kabushiki Kaisha Video coding and decoding
US12034953B2 (en) 2018-09-21 2024-07-09 Canon Kabushiki Kaisha Video coding and decoding
US12167029B2 (en) 2018-09-21 2024-12-10 Canon Kabushiki Kaisha Video coding and decoding
US12167028B2 (en) 2018-09-21 2024-12-10 Canon Kabushiki Kaisha Video coding and decoding
US12058360B2 (en) 2018-09-21 2024-08-06 Canon Kabushiki Kaisha Video coding and decoding to improve signaling of an affine motion mode
US11870974B2 (en) 2018-09-23 2024-01-09 Beijing Bytedance Network Technology Co., Ltd Multiple-hypothesis affine mode
US11909953B2 (en) 2018-09-23 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Representation of affine model
CN112956195B (en) * 2018-09-25 2024-10-25 数字洞察力有限公司 Method and apparatus for encoding or decoding an image based on an inter-frame mode
WO2020067709A1 (en) * 2018-09-25 2020-04-02 디지털인사이트주식회사 Method and device for encoding or decoding image on basis of inter mode
US12081795B2 (en) 2018-09-25 2024-09-03 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
CN112956195A (en) * 2018-09-25 2021-06-11 数字洞察力有限公司 Method and apparatus for encoding or decoding image based on inter mode
US11418808B2 (en) 2018-09-25 2022-08-16 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
US11582480B2 (en) 2018-09-25 2023-02-14 Digitalinsights Inc. Method and device for encoding or decoding image on basis of inter mode
US11778170B2 (en) 2018-10-06 2023-10-03 Beijing Bytedance Network Technology Co., Ltd Temporal gradient calculations in bio
CN112889285B (en) * 2018-10-18 2023-08-01 佳能株式会社 Video encoding and decoding
US11849138B2 (en) 2018-10-18 2023-12-19 Canon Kabushiki Kaisha Video coding and decoding
GB2578151A (en) * 2018-10-18 2020-04-22 Canon Kk Video coding and decoding
GB2578150A (en) * 2018-10-18 2020-04-22 Canon Kk Video coding and decoding
CN112889285A (en) * 2018-10-18 2021-06-01 佳能株式会社 Video encoding and decoding
GB2578151B (en) * 2018-10-18 2021-06-09 Canon Kk Video coding and decoding
GB2578150B (en) * 2018-10-18 2021-06-09 Canon Kk Video coding and decoding
US11849108B2 (en) 2018-10-18 2023-12-19 Canon Kabushiki Kaisha Video coding and decoding
WO2020084472A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Affine mode parameter inheritance or prediction
WO2020084470A1 (en) * 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Storage of motion parameters with clipping for affine mode
US11778226B2 (en) 2018-10-22 2023-10-03 Beijing Bytedance Network Technology Co., Ltd Storage of motion information for affine mode
US12289466B2 (en) 2018-11-17 2025-04-29 Beijing Bytedance Network Technology Co., Ltd. Generalized bi directional prediction mode in video processing
US11924421B2 (en) 2018-11-22 2024-03-05 Beijing Bytedance Network Technology Co., Ltd Blending method for inter prediction with geometry partition
CN113170184A (en) * 2018-11-22 2021-07-23 北京字节跳动网络技术有限公司 Method for configuring default motion candidate
CN113170181B (en) * 2018-11-29 2023-12-08 北京字节跳动网络技术有限公司 Affine inheritance methods in intra-block copy mode
CN113170099A (en) * 2018-11-29 2021-07-23 北京字节跳动网络技术有限公司 Interaction between intra-block copy mode and inter prediction tools
CN113170099B (en) * 2018-11-29 2024-03-29 北京字节跳动网络技术有限公司 Interaction between intra-block copy mode and inter prediction tools
US11825113B2 (en) 2018-11-29 2023-11-21 Beijing Bytedance Network Technology Co., Ltd Interaction between intra block copy mode and inter prediction tools
US12395671B2 (en) 2018-11-29 2025-08-19 Beijing Bytedance Network Technology Co., Ltd. Interaction between Intra Block Copy mode and inter prediction tools
CN113170181A (en) * 2018-11-29 2021-07-23 北京字节跳动网络技术有限公司 Affine inheritance method in intra-block copy mode
WO2020114517A1 (en) * 2018-12-08 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Shifting on affine parameters
CN113196773B (en) * 2018-12-21 2024-03-08 北京字节跳动网络技术有限公司 Motion vector accuracy in Merge mode with motion vector difference
CN113196773A (en) * 2018-12-21 2021-07-30 北京字节跳动网络技术有限公司 Motion vector precision in Merge mode with motion vector difference
US12143572B2 (en) 2018-12-28 2024-11-12 Jvckenwood Corporation Device for deriving affine merge candidate
US12137212B2 (en) 2018-12-28 2024-11-05 Jvckenwood Corporation Device for deriving affine merge candidate
US11917133B2 (en) 2018-12-28 2024-02-27 Jvckenwood Corporation Device for deriving affine merge candidate
US12531982B2 (en) 2018-12-28 2026-01-20 Jvckenwood Corporation Device for deriving affine merge candidate
US11503278B2 (en) 2018-12-28 2022-11-15 Jvckenwood Corporation Device for deriving affine merge candidate
CN113273187A (en) * 2019-01-10 2021-08-17 北京字节跳动网络技术有限公司 Affine-based Merge with Motion Vector Difference (MVD)
US12581086B2 (en) 2019-01-10 2026-03-17 Beijing Bytedance Network Technology Co., Ltd. Merge with MVD based on geometry partition
US12010321B2 (en) 2019-01-10 2024-06-11 Beijing Bytedance Network Technology Co., Ltd Affine based merge with MVD
CN113228631B (en) * 2019-01-12 2024-02-09 腾讯美国有限责任公司 Video encoding and decoding method and device
CN113228631A (en) * 2019-01-12 2021-08-06 腾讯美国有限责任公司 Video coding and decoding method and device
EP3909235A4 (en) * 2019-01-13 2022-11-02 Tencent America Llc VIDEO CODING METHOD AND APPARATUS
CN113196745B (en) * 2019-01-13 2023-11-03 腾讯美国有限责任公司 Video encoding and decoding methods and devices
CN113196745A (en) * 2019-01-13 2021-07-30 腾讯美国有限责任公司 Video coding and decoding method and device
WO2020159825A1 (en) * 2019-01-28 2020-08-06 Tencent America LLC Method and apparatus for video coding
CN113475066A (en) * 2019-03-11 2021-10-01 松下电器(美国)知识产权公司 Encoding device, decoding device, encoding method, and decoding method
CN113475066B (en) * 2019-03-11 2024-05-31 松下电器(美国)知识产权公司 Coding device, decoding device, coding method and decoding method
US12250399B2 (en) 2019-03-11 2025-03-11 Alibaba Group Holding Limited Method, device, and system for determining prediction weight for merge mode
CN113748673A (en) * 2019-03-11 2021-12-03 阿里巴巴集团控股有限公司 Method, device and system for determining prediction weights for merge mode
WO2020226359A1 (en) * 2019-05-03 2020-11-12 한국전자통신연구원 Image encoding/decoding method and device, and recording medium storing bitstream
US12457322B2 (en) 2019-05-03 2025-10-28 Electronics And Telecommunications Research Institute Method and apparatus for encoding/decoding image in intra prediction and recording medium for storing bitstream
CN114208171A (en) * 2019-06-14 2022-03-18 Lg电子株式会社 Image decoding method and apparatus for deriving weight index information for generating predicted samples
US12289444B2 (en) 2019-06-14 2025-04-29 Lg Electronics Inc. Image decoding method and device for deriving weight index information for generation of prediction sample
US12278951B2 (en) 2019-06-24 2025-04-15 Lg Electronics Inc. Image decoding method for deriving predicted sample by using merge candidate and device therefor
CN114375573B (en) * 2019-06-24 2024-08-16 Lg电子株式会社 Image decoding method and apparatus using merging candidate derived prediction samples
CN114375573A (en) * 2019-06-24 2022-04-19 Lg电子株式会社 Image decoding method using merging candidate derived prediction samples and apparatus thereof
CN114303375A (en) * 2019-06-24 2022-04-08 Lg电子株式会社 Video decoding method using bi-directional prediction and apparatus therefor
RU2820339C2 (en) * 2019-06-25 2024-06-03 Интердиджитал Вс Холдингз Франс, Сас Hmvc for affine mode and motion vector prediction mode sbtmvp
CN114342376A (en) * 2019-07-05 2022-04-12 Lg电子株式会社 Video encoding/decoding method and apparatus for deriving weight index for bi-prediction of merging candidate and method of transmitting bitstream
CN114303374A (en) * 2019-07-09 2022-04-08 高通股份有限公司 Reference picture resampling with switchable filters
CN114600461A (en) * 2019-10-23 2022-06-07 北京字节跳动网络技术有限公司 Computation for multiple codec tools
CN112770113A (en) * 2019-11-05 2021-05-07 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment
WO2023134564A1 (en) * 2022-01-14 2023-07-20 Mediatek Inc. Method and apparatus deriving merge candidate from affine coded blocks for video coding

Also Published As

Publication number Publication date
BR112018067475A2 (en) 2019-01-02
TW201803351A (en) 2018-01-16
WO2017147765A1 (en) 2017-09-08
EP3414905A4 (en) 2019-08-21
US20190058896A1 (en) 2019-02-21
EP3414905A1 (en) 2018-12-19
CN108605137A (en) 2018-09-28
TWI619374B (en) 2018-03-21

Similar Documents

Publication Publication Date Title
WO2017148345A1 (en) Method and apparatus of video coding with affine motion compensation
US11375226B2 (en) Method and apparatus of video coding with affine motion compensation
CN111937391B (en) Video processing method and apparatus for sub-block motion compensation in video codec systems
US10856006B2 (en) Method and system using overlapped search space for bi-predictive motion vector refinement
TWI702834B (en) Methods and apparatuses of video processing with overlapped block motion compensation in video coding systems
TWI617185B (en) Method and apparatus of video coding with affine motion compensation
US20190387251A1 (en) Methods and Apparatuses of Video Processing with Overlapped Block Motion Compensation in Video Coding Systems
WO2020015699A1 (en) Merge candidates with multiple hypothesis
CN116915982B (en) Method, electronic device, storage medium and program product for video decoding
CN110832862B (en) Error tolerant and parallel processing of motion vector derivation at decoding end
US20200014931A1 (en) Methods and Apparatuses of Generating an Average Candidate for Inter Picture Prediction in Video Coding Systems
WO2017118411A1 (en) Method and apparatus for affine inter prediction for video coding system
WO2020073920A1 (en) Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
US11785242B2 (en) Video processing methods and apparatuses of determining motion vectors for storage in video coding systems
WO2019242686A1 (en) Method and apparatus of motion vector buffer management for video coding system

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017759196

Country of ref document: EP

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112018067475

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2017759196

Country of ref document: EP

Effective date: 20180914

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17759196

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 112018067475

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20180903