Method and apparatus of motion model with non-constant velocity and sbtmvp with spatial motion information for video coding
Patent Information
- Application Number
- PCT/CN2026/082237
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-11
- Filing Date
- 2026-03-09
- Publication Date
- 2026-09-17
Smart Images

Figure CN2026082237_17092026_PF_FP_ABST
Abstract
Description
METHOD AND APPARATUS OF MOTION MODEL WITH NON-CONSTANT VELOCITY AND SBTMVP WITH SPATIAL MOTION INFORMATION FOR VIDEO CODINGCROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63 / 769,830, filed on March 11, 2025. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION
[0002] The present invention relates to video coding system that derives motion model for block and / or subblock. In particular, the present invention relates to motion models with non-constant velocity and / or SbTMVP with spatial motion information.BACKGROUND
[0003] Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG) . The standard has been published as an ISO standard: ISO / IEC 23090-3: 2021, Information technology -Coded representation of immersive media -Part 3: Versatile video coding, published Feb. 2021. VVC is developed based on its predecessor HEVC (High Efficiency Video Coding) by adding more coding tools to improve coding efficiency and also to handle various types of video sources including 3-dimensional (3D) video signals.
[0004] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing. For Intra Prediction 110, the prediction data is derived based on previously coded video data in the current picture. For Inter Prediction 112, Motion Estimation (ME) is performed at the encoder side and Motion Compensation (MC) is performed based on the result of ME to provide prediction data derived from other picture (s) and motion data. Switch 114 selects Intra Prediction 110 or Inter Prediction 112 and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion and coding modes associated with Intra prediction and Inter prediction, and other information such as parameters associated with loop filters applied to underlying image area. The side information associated with Intra Prediction 110, Inter prediction 112 and in-loop filter 130, is provided to Entropy Encoder 122 as shown in Fig. 1A. When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.
[0005] As shown in Fig. 1A, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, in-loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. For example, deblocking filter (DF) , Sample Adaptive Offset (SAO) and Adaptive Loop Filter (ALF) may be used. The loop filter information may need to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, loop filter information is also provided to Entropy Encoder 122 for incorporation into the bitstream. In Fig. 1A, Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. The system in Fig. 1A is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system, VP8, VP9, H. 264 or VVC.
[0006] The decoder, as shown in Fig. 1B, can use some of the functional blocks as the encoder. For example, the decoder can reuse Inverse Quantization 124 and Inverse Transform 126; however, Transform 118 and Quantization 120 are not needed at the decoder. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.
[0007] In VVC, the Sequence Parameter Set (SPS) and the Picture Parameter Set (PPS) contain high-level syntax elements that apply to entire coded video sequences and pictures, respectively. The Picture Header (PH) and Slice Header (SH) contain high-level syntax elements that apply to a current coded picture and a current coded slice, respectively.
[0008] Various techniques for video coding developed for VVC, HEVC and the emerging new coding standard are reviewed as follow.
[0009] Inter prediction overview
[0010] Details of inter prediction used for HEVC can be found in JVET-T2002 (Jianle Chen, et al., “Algorithm description for Versatile Video Coding and Test Model 11 (VTM 11) ” , Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, 20th Meeting, by teleconference, 7 –16 October 2020, Document: JVET-T2002) , Section 3.4. For each inter-predicted CU, motion parameters consisting of motion vectors, reference picture indices and reference picture list usage index, and additional information needed for the new coding feature of VVC to be used for inter-predicted sample generation. The motion parameter can be signalled in an explicit or implicit manner. When a CU is coded with skip mode, the CU is associated with one PU and has no significant residual coefficients, no coded motion vector delta or reference picture index. A merge mode is specified whereby the motion parameters for the current CU are obtained from neighbouring CUs, including spatial and temporal candidates, and additional schedules introduced in VVC. The merge mode can be applied to any inter-predicted CU, not only for skip mode. The alternative to merge mode is the explicit transmission of motion parameters, where motion vector, corresponding reference picture index for each reference picture list and reference picture list usage flag and other needed information are signalled explicitly per each CU.
[0011] Beyond the inter coding features in HEVC, VVC includes a number of new and refined inter prediction coding tools listed as follows: –Extended merge prediction –Merge mode with MVD (MMVD) –Symmetric MVD (SMVD) signalling –Affine motion compensated prediction –Subblock-based temporal motion vector prediction (SbTMVP) –Adaptive motion vector resolution (AMVR) –Motion field storage: 1 / 16th luma sample MV storage and 8x8 motion field compression –Bi-prediction with CU-level weight (BCW) –Bi-directional optical flow (BDOF) –Decoder side motion vector refinement (DMVR) –Geometric partitioning mode (GPM) –Combined inter and intra prediction (CIIP) .
[0012] The following description provides the details on those inter prediction methods specified in VVC.
[0013] Extended merge prediction
[0014] In VVC, the merge candidate list is constructed by including the following five types of candidates in order: 1) Spatial MVP from spatial neighbour CUs 2) Temporal MVP from collocated CUs 3) History-based MVP from an FIFO table 4) Pairwise average MVP 5) Zero MVs.
[0015] The size of merge list is signalled in sequence parameter set header and the maximum allowed size of merge list is 6. For each CU code in merge mode, an index of best merge candidate is encoded using truncated unary binarization (TU) . The first bin of the merge index is coded with context and bypass coding is used for other bins.
[0016] The derivation process of each category of merge candidates is provided in this session. As done in HEVC, VVC also supports parallel derivation of the merge candidate lists (or called as merging candidate lists) for all CUs within a certain size of area.
[0017] Temporal Candidates Derivation
[0018] In this step, only one candidate is added to the list. Particularly, in the derivation of this temporal merge candidate for a current CU 210, a scaled motion vector is derived based on the co-located CU 220 belonging to the collocated reference picture as shown in Fig. 2. The reference picture list and the reference index to be used for the derivation of the co-located CU is explicitly signalled in the slice header. The scaled motion vector 230 for the temporal merge candidate is obtained as illustrated by the dotted line in Fig. 2, which is scaled from the motion vector 240 of the co-located CU using the POC (Picture Order Count) distances, tb and td, where tb is defined to be the POC difference between the reference picture of the current picture and the current picture and td is defined to be the POC difference between the reference picture of the co-located picture and the co-located picture. The reference picture index of temporal merge candidate is set equal to zero.
[0019] The position for the temporal candidate is selected between candidates C0 and C1, as depicted in Fig. 3. If CU at position C0 is not available, is intra coded, or is outside of the current row of CTUs, position C1 is used. Otherwise, position C0 is used in the derivation of the temporal merge candidate.
[0020] Subblock-based Temporal Motion Vector Prediction (SbTMVP)
[0021] VVC supports the subblock-based temporal motion vector prediction (SbTMVP) method. Similar to the temporal motion vector prediction (TMVP) in HEVC, SbTMVP uses the motion field in the collocated picture to improve motion vector prediction and merge mode for CUs in the current picture. The same collocated picture used by TMVP is used for SbTVMP. SbTMVP differs from TMVP in the following two main aspects: -TMVP predicts motion at CU level, but SbTMVP predicts motion at sub-CU level; whereas TMVP fetches the temporal motion vectors from the collocated block in the collocated picture (the collocated block is the bottom-right or centre block relative to the current CU) , SbTMVP applies a motion shift before fetching the temporal motion information from the collocated picture, where the motion shift is obtained from the motion vector from one of the spatial neighbouring blocks of the current CU. -The SbTMVP process is illustrated in Fig. 4A and Fig. 4B. SbTMVP predicts the motion vectors of the sub-CUs within the current CU 412 in two steps in the current picture 410. In the first step, the spatial neighbour A1 in Fig. 4A is examined. If A1 has a motion vector 430 that uses the collocated picture 420 as its reference picture as shown in Fig. 4B, this motion vector is selected to be the motion shift to be applied. If no such motion is identified, then the motion shift is set to (0, 0) .
[0022] In the second step, the motion shift identified in Step 1 is applied (i.e. added to the current block’s coordinates) to obtain sub-CU level motion information (motion vectors and reference indices) from the collocated picture 420 as shown in Fig. 4B. The example in Fig. 4B assumes the motion shift is set to block A1’s motion. Then, for each sub-CU, the motion information of its corresponding block 422 (the smallest motion grid that covers the centre sample) in the collocated picture is used to derive the motion information for the sub-CU. After the motion information of the collocated sub-CU is identified, it is converted to the motion vectors and reference indices of the current sub-CU in a similar way as the TMVP process of HEVC, where temporal motion scaling is applied to align the reference pictures of the temporal motion vectors to those of the current CU. In Fig. 4B, the thick arrow lines represent the MV_L0 from collocated block 422 while the thin arrow lines represent the MV_L1 from collocated block 422. On the other hand, the thick dashed-arrow lines represent the scaled MV_L0 for the current block 412 while the thin dashed-arrow lines represent the scaled MV_L1 for the current block 412.
[0023] In VVC, a combined subblock based merge list which contains both SbTMVP candidate and affine merge candidates is used for the signalling of subblock based merge mode. The SbTMVP mode is enabled / disabled by a sequence parameter set (SPS) flag. If the SbTMVP mode is enabled, the SbTMVP predictor is added as the first entry of the list of subblock based merge candidates, and followed by the affine merge candidates. The size of subblock based merge list is signalled in SPS and the maximum allowed size of the subblock based merge list is 5 in VVC.
[0024] The sub-CU size used in SbTMVP is fixed to be 8x8, and as done for affine merge mode, SbTMVP mode is only applicable to the CU with both width and height are larger than or equal to 8.
[0025] The encoding logic of the additional SbTMVP merge candidate is the same as for the other merge candidates, that is, for each CU in P or B slice, an additional RD check is performed to decide whether to use the SbTMVP candidate.
[0026] JVET-AG0073: Non-EE2: Chained Motion Vector Prediction
[0027] This contribution introduces a chained MV prediction (CMVP) into inter merge candidate list construction.
[0028] As shown in Fig. 5, CMVP candidates can be derived as the sum of the recursively traced MVs and BVs based on the pre-derived MVs for the inter merge candidate list. For instance, for a CMVP candidate, a set of motion vector MVk / m and reference picture RefPick / m can be derived by: MVk / m = MVk (0) + BVk (0) + MVk (1) +MVk (2) + …+ MVk (m) , RefPick / m = RefPick (m) , where k and m indicate the number of merge index and trace depths of the CMVP.
[0029] When deriving MVk / m, MVk (m) is found by checking the existence of MVs or BVs in MV / BV storage corresponding to all five position of the current block as shown in Fig. 6 (i.e., the centre, top-left, top-right, bottom-left, and bottom-right of the current block) .
[0030] When pre-derived merge candidates targeting CMVP candidates has two MVs, a MVk / m is derived for each list (i.e., L0 and L1) and each trace depth. Up to two MVs can be derived for each list and each trace depth, and the MV set is sequentially inserted into inter merge candidate list.
[0031] The traceable reference pictures are only within the reference picture list.
[0032] CMVP candidates are inserted after HMVP candidates for the regular merge and TM merge.
[0033] When deriving CMVP candidates, hpelIfIdx, bcwIdx, licFlag, and mhpFlag are not inherited. CMVP candidates are not derived when the TMVP is disabled.
[0034] JVET-AJ2025: Adaptive reordering of merge candidates with template matching (ARMC-TM)
[0035] The merge candidates are adaptively reordered with template matching (TM) . The reordering method is applied to regular merge mode, TM merge mode, and affine merge mode (excluding the SbTMVP candidate) . For the TM merge mode, merge candidates are reordered before the refinement process.
[0036] An initial merge candidate list is firstly constructed according to given checking order, such as spatial, TMVPs, non-adjacent, HMVPs, pairwise, virtual merge candidates. Then the candidates in the initial list are divided into several subgroups. For the template matching (TM) merge mode, adaptive DMVR mode, each merge candidate in the initial list is firstly refined by using TM / multi-pass DMVR. Merge candidates in each subgroup are reordered to generate a reordered merge candidate list and the reordering is according to cost values based on template matching. The index of selected merge candidate in the reordered merge candidate list is signalled to the decoder. For simplification, merge candidates in the last but not the first subgroup are not reordered. All the zero candidates from the ARMC reordering process are excluded during the construction of Merge motion vector candidates list. The subgroup size is set to 5 for regular merge mode and TM merge mode. The subgroup size is set to 3 for affine merge mode.
[0037] Cost Calculation
[0038] The template matching cost of a merge candidate during the reordering process is measured by the SATD between samples of a template of the current block and their corresponding reference samples. The template comprises a set of reconstructed samples neighbouring to the current block. Reference samples of the template are located by the motion information of the merge candidate. When a merge candidate utilizes bi-directional prediction, the reference samples of the template of the merge candidate are also generated by bi-prediction as shown in Fig. 7. In Fig. 7, block 712 corresponds to a current block in current picture 710, blocks 722 and 732 correspond to reference blocks in reference pictures 720 and 730 in list 0 and list 1 respectively. Templates 714 and 716 are for current block 712, templates 724 and 726 are for reference block 722, and templates 734 and 736 are for reference block 732. Motion vectors 740, 742 and 744 are merge candidates in list 0 and motion vectors 760, 762 and 764 are merge candidates in list 1.
[0039] Refinement of the Initial Merge Candidate List
[0040] When multi-pass DMVR is used to derive the refined motion to the initial merge candidate list only the first pass (i.e., PU level) of multi-pass DMVR is applied in reordering. When template matching is used to derive the refined motion, the template size is set equal to 1. Only the above or left template is used during the motion refinement of TM when the block is flat with block width greater than 2 times of height or narrow with height greater than 2 times of width. TM is extended to perform 1 / 16-pel MVD precision. The first four merge candidates are reordered with the refined motion in TM merge mode.
[0041] For subblock-based merge candidates with subblock size equal to Wsub × Hsub, the above template comprises several sub-templates with the size of Wsub × 1, and the left template comprises several sub-templates with the size of 1 × Hsub. As shown in Fig. 8, the motion information of the subblocks in the first row and the first column of current block is used to derive the reference samples of each sub-template. In Fig. 8, the motion information of the subblocks in the first row and the first column of current block is used to derive the reference samples of each sub-template. In Fig. 8, block 812 corresponds to a current block in current picture 810 and block 822 corresponds to a collocated block in reference picture 820.
[0042] Reordering Criteria
[0043] In the reordering process, a candidate is considered as redundant if the cost difference between a candidate and its predecessor is inferior to a lambda value e.g. |D1-D2| < λ, where D1 and D2 are the costs obtained during the first ARMC ordering and λ is the Lagrangian parameter used in the RD criterion at encoder side.
[0044] The proposed algorithm is defined as the following: -Determine the minimum cost difference between a candidate and its predecessor among all candidates in the list · If the minimum cost difference is superior or equal to λ, the list is considered diverse enough and the reordering stops. · If this minimum cost difference is inferior to λ, the candidate is considered as redundant, and it is moved at a further position in the list. This further position is the first position where the candidate is diverse enough compared to its predecessor. -The algorithm stops after a finite number of iterations (if the minimum cost difference is not inferior to λ) .
[0045] This algorithm is applied to the regular, TM, BM and Affine merge modes. A similar algorithm is applied to the Merge MMVD and sign MVD prediction methods which also use ARMC for the reordering.
[0046] The value of λ is set equal to the λ of the rate distortion criterion used to select the best merge candidate at the encoder side for low delay configuration and to the value λ corresponding to another QP for Random Access configuration. A set of λ values corresponding to each signalled QP offset is provided in the SPS or in the Slice Header for the QP offsets which are not present in the SPS.
[0047] Extension to AMVP Modes
[0048] The ARMC design is also applicable to the AMVP mode wherein the AMVP candidates are reordered according to the TM cost. For the template matching for advanced motion vector prediction (TM-AMVP) mode, an initial AMVP candidate list is constructed, followed by a refinement from TM to construct a refined AMVP candidate list. In addition, an MVP candidate with a TM cost larger than a threshold, which is equal to five times of the cost of the first MVP candidate, is skipped.
[0049] Note, when wrap-around motion compensation is enabled, the MV candidate shall be clipped with wrap around offset taken into consideration.
[0050] JVET-AK0199: Non-EE2: MV Refinement for TMVP
[0051] In JVET-AK0199, it is proposed to apply MV refinement for TMVP. The MV refinement is performed for a reference picture using collocated block as a template and the scaled collocated MV as a starting point, wherein the scaling factor is (reference picture POC –collocated picture POC) / (collocated reference picture POC –collocated picture POC) . A refined MV is determined by checking SATD cost between a reference template in the reference picture and the collocated block in the collocated picture. The refined MV which has the minimum SATD cost is scaled to derive TMVP MV for the current block, wherein, the scaling factor is (reference picture POC –current picture POC) / (reference picture POC –collocated picture POC) . When a TMVP candidate has two MVs, it derives each refined MV independently.
[0052] JVET-AK0186: Non-EE2: Subblock-Based Spatial MVP
[0053] JVET-AK0186proposes a method of subblock-based spatial MVP (sbSMVP) to derive the subblock motion field from spatial neighbour blocks. The subblock motion field of the current CU can be inherited based on the motion of the spatial neighbour blocks. Examples of different sbSMVP candidate types, in which MVs of subblocks are inherited in a directional way, are shown in Fig. 9, where horizontal rightward direction (910) , vertical downward direction (920) , down-right diagonal direction (930) , up-right diagonal direction with extended left boundary (940) , and down-left diagonal direction with extended above boundary (950) .
[0054] The method of sbSMVP is implemented as additional candidates in the subblock merge candidate list. In the following test, up to 5 SbSMVP candidates are added between sbTMVP candidates and affine merge candidates. If a certain SSMVP candidate is selected, the motion data, such as motion vectors, reference indices, and prediction direction, of the corresponding neighbouring subblocks are copied to the current subblocks along a predefined direction, as depicted by the arrows in Fig. 9.
[0055] All the subblock motion candidates including sbTMVP candidates, sbSMVP candidates and affine candidates are reordered in the same way as the current ECM. Same as ECM, 20 candidates are sorted for the merge index signalling. There is no extra signalling required for the proposed method.
[0056] In the present invention, methods and apparatus to derive motion model for block and / or subblock are disclosed, where motion models include non-constant velocity and / or SbTMVP derivation includes spatial motion information. BRIEF SUMMARY OF THE INVENTION
[0057] A method and apparatus for deriving motion models including non-constant velocity are disclosed. According to one method, input data associated with a current block is received, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder. A first motion vector is determined for the current block, wherein the first motion vector refers to a first reference picture. A target reference picture is determined. A scaled motion vector is derived by scaling the first motion vector from the first reference picture to the target reference picture using a set of scaling factors. The current block is encoded or decoded by using the scaled motion vector and the target reference picture.
[0058] In one embodiment, the set of scaling factors correspond to pre-determined fixed values.
[0059] In one embodiment, the set of scaling factors is indicated by high-level syntax signaled or parsed in at least one of SPS (Sequence Parameter Set) , PPS (Picture Parameter Set) , APS (Adaptation Parameter Set) , SH (Slice Header) , or PH (Picture Header) .
[0060] In one embodiment, deriving the scaled motion vector by scaling the first motion vector from the first reference picture to the target reference picture using the set of scaling factors is performed for at least one of TMVP (Temporal Motion Vector Prediction) or SbTMVP (Subblock-based TMVP) , and wherein multiple MV candidates are derived according to different scaling factors. In another embodiment, deriving the scaled motion vector by scaling the first motion vector from the first reference picture to the target reference picture using the set of scaling factors is performed for Chained MV Prediction (CMVP) , and wherein the first reference picture is unavailable and the target reference picture corresponds to a valid reference picture.
[0061] In one embodiment, the method further comprises including the scaled motion vector in a merge candidate list. In another embodiment, the method further comprises including multiple scaled motion vectors corresponding to different scaling factors in a merge candidate list, wherein the multiple scaled motion vectors are first reordered and only top N scaled motion vectors are included in the merge candidate list, and where N is a positive integer. In yet another embodiment, the method further comprises including multiple scaled motion vectors corresponding to different scaling factors in a merge candidate list, wherein the multiple scaled motion vectors are reordered with other existing motion vector candidates in the merge candidate list.
[0062] In one embodiment, existing motion vectors are first reordered and top K existing motion vectors are used to generate a set of scaled motion vector candidates, and wherein the set of scaled motion vector candidates are derived using different scaling factors and K is a positive integer.
[0063] According to another method, input data associated with a current block is received, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder. A first motion vector and a second motion vector associated with the current block are determined, wherein the first motion vector refers to a first reference picture and the second motion vector refers to a second reference picture. A target reference picture is determined. A set of motion parameters is derived based on the first motion vector and the second motion vector. A scaled motion vector is derived based on the first motion vector and the second motion vector according to the set of motion parameters. The current block is encoded or decoded by using the scaled motion vector and the target reference picture.
[0064] In one embodiment, deriving the scaled motion vector based on the first motion vector and the second motion vector according to the set of motion parameters is performed for Chained MV Prediction (CMVP) , and wherein the second motion vector corresponds to a chained motion vector, the second reference picture is unavailable and the target reference picture corresponds to a valid reference picture. In another embodiment, deriving the scaled motion vector based on the first motion vector and the second motion vector using the set of motion parameters is performed for SbTMVP (Subblock-based Temporal Motion Vector Prediction) , and wherein the first motion vector corresponds to a motion vector offset from a neighbouring block, the second motion vector corresponds to a reference motion vector from a collocated picture, the set of motion parameters is used to calculate a scaled temporal motion vector for each subblock.
[0065] In one embodiment, the set of motion parameters is derived based on temporal distances associated with the first reference picture, the second reference picture, and the target reference picture, and wherein the scaled motion vector is calculated as a weighted sum of the first motion vector and the second motion vector.
[0066] In one embodiment, the first motion vector and the second motion vector correspond to at least one of: (i) two uni-prediction motion vector candidates from one existing candidate list; (ii) bi-prediction motion vector candidate from one existing candidate list; (iii) an initial MV and a cascaded MV in chained MV candidates; or (iv) SbTMVP with chained MV candidates.
[0067] In one embodiment, the method further comprises storing motion parameter information in a motion buffer, wherein the stored motion parameter information is retrieved to derive subsequent scaled motion vector. In one embodiment, when a first set of parameters is derived based on multiple motion vectors referring to multiple reference pictures, respectively, in a first region, the first set of parameters is stored in the motion buffer. In another embodiment, when a second region refers to the first region, the stored first set of parameters is retrieved to derive a second scaled motion vector for the second region.
[0068] According to yet another method, input data associated with a current block is received, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder. The current block is partitioned into a plurality of subblocks. A subblock-based motion field is derived for the plurality of subblock using both temporal motion information and spatial motion information, wherein the temporal motion information is associated with corresponding subblocks in a collocated reference picture. The plurality of subblocks of the current block is encoded or decoded by using the subblock-based motion field.
[0069] In one embodiment, deriving the subblock-based motion field comprises: assigning one or more first subblock motions to a first subset of subblocks located within a boundary region of the current block by inheriting one or more motion vectors from neighboring spatial blocks; and assigning one or more second subblock motions to a second subset of subblocks located at a non-boundary region of the current block by inheriting one or more temporal motion vectors from a reference picture.
[0070] In one embodiment, deriving the subblock-based motion field comprises assigning one or more first subblock motions to N subblocks rows or columns closest to a boundary of the current block by inheriting one or more motion vectors from neighboring spatial blocks, and wherein N is a positive integer.
[0071] In one embodiment, deriving the subblock-based motion field comprises generating a target motion vector for a target subblock within the current block using a combination of at least one spatial motion and at least one temporal motion. In one embodiment, generating the target motion vector comprises calculating a weighted sum of the at least one spatial motion and the at least one temporal motion.BRIEF DESCRIPTION OF THE DRAWINGS
[0072] Fig. 1A illustrates an exemplary adaptive Inter / Intra video coding system incorporating loop processing.
[0073] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.
[0074] Fig. 2 illustrates an example of motion vector scaling for temporal merge candidate.
[0075] Fig. 3 illustrates an example of candidate positions for temporal merge candidate, C0 and C1.
[0076] Fig. 4A illustrates an example of spatial neighbouring blocks used by SbTMVP.
[0077] Fig. 4B illustrates an example of deriving sub-CU motion field by applying a motion shift from spatial neighbour and scaling the motion information from the corresponding collocated sub-CUs.
[0078] Fig. 5 illustrates an example of CMVP (Chained MVP) candidates derived as the sum of the recursively traced MVs and BVs based on the pre-derived MVs for the inter merge candidate list.
[0079] Fig. 6 illustrates an example of deriving MVk (m) by checking the existence of MVs or BVs in MV / BV storage corresponding to all five positions of the current block.
[0080] Fig. 7. illustrates an example of template and reference samples of the template in reference pictures for adaptive reordering of merge candidates with template matching (ARMC-TM) .
[0081] Fig. 8 illustrates an example of template and reference samples of the template for block with sub-block motion using the motion information of the subblocks of the current block.
[0082] Fig. 9 illustrates examples of subblock-based Spatial MVP (sbSMVP) , where the MVs are inherited along the direction of horizontal, vertical, diagonal-TL, diagonal-BL and diagonal-TR.
[0083] Fig. 10 illustrates an example of using different scaling ratios for MV scaling, where different ratios correspond to different motion trajectories (i.e., grey dotted lines) of an object.
[0084] Fig. 11 illustrates an example of using two current MVs with two reference frames to compute a scaled MV, where the grey dotted arrow (i.e., the scaled current MV) is the final scaled MV.
[0085] Fig. 12 illustrates an example of using two MVs from CMVP with at least two reference frames to compute a scaled MV, where the grey dotted arrows are final scaled MVs and scaled chained MV 0 is the scaled MV derived from a constant-velocity motion model, while scaled chained MV 1 is the scaled MV derived from a non-constant-velocity motion model.
[0086] Fig. 13 illustrates a flowchart of an exemplary video coding system that derives a scaled motion vector by scaling a motion vector using a set of scaling factors according to an embodiment of the present invention.
[0087] Fig. 14 illustrates a flowchart of an exemplary video coding system that derives a scaled motion vector using motion parameters of a motion model derived from a set of motion vectors according to an embodiment of the present invention.
[0088] Fig. 15 illustrates a flowchart of an exemplary video coding system that derives a motion field for subblocks using both spatial motion information and temporal motion information according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION
[0089] 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. References throughout this specification to “one embodiment, ” “an embodiment, ” or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.
[0090] 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. The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.
[0091] Non-Constant Velocity Motion Models
[0092] In most video coding standards, when scaling a motion vector from one reference frame to another reference frame, an underlying assumption is that object velocity is constant. That is, we assume that the displacement of an object on a frame would be proportional to the amount of time passed (i.e., the temporal distance) . However, real-world motions are much more complicated than constant-velocity motions. Therefore, in this invention, some embodiments based upon non-constant velocity motion models are proposed for video coding.
[0093] Embodiment 1
[0094] In one embodiment, when scaling an MV from a first reference frame to a second reference frame, a set of scaling factors is used. The scaling factors can be pre-determined fixed values or adaptively signalled / parsed in high-level syntax such as SPS, PPS, APS, SH, or PH.
[0095] Example 1.
[0096] A set of pre-determined scaling factors is used for scaling an MV in TMVP and / or SbTMVP. Specifically, when deriving a TMVP / SbTMVP candidate, in addition to the existing MV scaled by POC distances, one or more MVs scaled by different scaling factors are added to the candidate list as well, as shown in Fig. 10. In Fig. 10, MV scaling using different scaling ratios are shown, where different ratios correspond to different motion trajectories (indicated by grey dotted lines) of an object.
[0097] Example 2.
[0098] A set of pre-determined scaling factors is used for scaling an MV in CMVP. Specifically, when a reference frame of a chained MV is not valid for the current frame, use different pre-determined scaling factors to scale the chained MV to a valid reference frame to generate CMVP candidates.
[0099] Embodiment 2
[0100] In another embodiment, at least two MVs involving at least two reference frames are used to derive a set of parameters. The parameters are used to compute a scaled MV candidate pointed from current frame to a target reference frame.
[0101] Example 3.
[0102] Given two MV candidates (e.g. current MV0 and MV1 in Fig. 11) with different reference frames (e.g. reference 0 and 1 in Fig. 11) , calculate one or more parameters describing how the MV changes over time / POC (e.g. acceleration, or accel. in Fig. 11) . With the parameters, a scaled MV candidate (e.g. scaled current MV in Fig. 11) pointed from the current frame to a target reference frame (e.g. reference 2 in Fig. 11) can be computed.
[0103] Example 4.
[0104] In CMVP, if a chained MV (e.g. pointed from current frame to reference 1 in Fig. 12) is not pointed to a valid reference frame for current frame, the MV is scaled to a valid reference frame (e.g. reference 2 in Fig. 12) . To derive the scaled chained MV, two MVs involving two different reference frames (e.g. current MV and reference MV in Fig. 12) are used to calculate one or more parameters describing how the MV changes over time / POC (e.g. acceleration, or accel. in Fig. 12) , and the parameters are used to compute the scaled chained MV (e.g. scaled chained MV 1 in Fig. 12) . In such process, by considering the MV changes, a non-constant-velocity model is established. In Fig. 12, the grey dotted arrows are final scaled MVs. Scaled chained MV 0 is the scaled MV derived from a constant-velocity motion model, while scaled chained MV 1 is the scaled MV derived from a non-constant-velocity motion model.
[0105] Example 5.
[0106] In SbTMVP, the concept of chained MVP is applied. The MV offset from a neighbouring block is the first MV, and an MV from the collocated frame motion buffer is the second MV. Two MVs involving two different reference frames (i.e., collocated frame and reference frame of the collocated frame) are used to calculate one or more parameters describing how the MV changes over time / POC, and the parameters are used to compute a scaled temporal MV for each subblock.
[0107] Embodiment 3
[0108] Based on Embodiment 2, the parameters are calculated based on the temporal distances (POC) , and the scaled MV is computed by taking a weighted sum of the at least two MVs with the parameters as weights.
[0109] Example 6.
[0110] Given two MVs, MV1 and MV2, with two reference frames, POC1 and POC2, a scaled MV (MV3) pointing from the current frame (POC0) to a third reference frame (POC3) is computed by the following formula: where the parameters are calculated based on POC distances, and the scaled MV (MV3) is a weighted sum of the two given MVs.
[0111] Note that this formula is derived by assuming that the object follows a motion with constant acceleration, where the increase / decrease of velocity is the same over time. Some simplification can be made to make the calculation of this formula easier, such as using look-up tables to perform the divisions, or using bit-shift operations to replace the divisions.
[0112] Example 7.
[0113] In example 6, the two MVs are from one of the following MV candidates. 1. Any two uni-prediction MV candidates from one existing candidate list 2. Any bi-prediction MV candidate from one existing candidate list 3. Two MVs (an initial MV and a cascaded MV) used in chained MV candidates 4. SbTMVP with chained MV candidates
[0114] Embodiment 4
[0115] In another embodiment, supplementary information of MV is stored in motion buffer. The information is used to compute a scaled MV candidate pointed from current frame to a target reference frame.
[0116] Example 8.
[0117] If a first region has more than one MV with more than one reference frame, one or more parameters describing how the MV changes over time / POC are calculated. Those parameters are regarded as supplementary information of MV and stored in the motion buffer for future frames / blocks. When a second region in the future refers to the first region, the stored parameters can be used to compute a scaled MV candidate.
[0118] Note that this embodiment is an alternative implementation to Embodiment 2. Therefore, this embodiment is also applicable to all the cases described in Examples 3-5.
[0119] Embodiment 5
[0120] In the above embodiments (i.e., Embodiments 1-4) , the scaled MV is put into a merge candidate list, and candidate reordering based on template matching cost or bilateral matching cost can be applied, where the template matching cost can be calculated based on the L-shape of the current frame and the reference frame like ARMC-TM, or based on two regions from two reference frames like the one proposed in JVET-AK0199.
[0121] Diversity reordering (i.e., reordering in consideration of candidate redundancy, which is described in ARMC “reordering criteria” Section) could be used in such embodiment.
[0122] Embodiment 6
[0123] Based on Embodiment 5, however, all scaled MV candidates derived by using different scaling ratios or / and different motion model parameters are reordered first, and the top N (N is smaller or equal to the total number of scaled MV candidates) candidates will be put into the candidate list containing other existing MV candidates.
[0124] Embodiment 7
[0125] Based on Embodiment 5, however, all scaled MV candidates derived by using different scaling ratios or / and different motion model parameters are reordered with other existing MV candidates in a single list.
[0126] Embodiment 8
[0127] In this embodiment, existing MV candidates are reordered first, and the top K (K is smaller or equal to the total number of existing MV candidates) candidates will be used to generate scaled MV candidates, where the scaled MV candidates are derived by using different scaling ratios or / and different motion model parameters.
[0128] Subblock Motion Filed Using Both Temporal and Spatial Motion Information
[0129] To improve subblock-based temporal motion vector, it is proposed to generate subblock motion filed by using both temporal motion information and spatial motion information.
[0130] In some embodiments, the subblocks motions in the boundary region of the current block will be directly filled by copying neighbouring spatial motions. Other subblock motions will be filled by temporal motion information.
[0131] For example, the proposed method can be the extension of subblock-based spatial MVP technology proposed in JVET-AK0186. In that, all subblock motions are inherited from spatial neighbouring subblocks with different directions. In our proposed method, only the subblock motions on the boundary of the current CU will be derived according to spatial neighbouring blocks. For other subblocks, the motions are derived by using temporal motion information.
[0132] In another example, N subblock rows or columns closest to the CU boundary will be filled with spatial neighbouring subblocks’ motions. N can be a pre-defined value larger than 0.
[0133] In some embodiments, the subblock motions of the current block can be a combination of neighbouring spatial motions and temporal motions. In that, motions used to fill subblock motion field of current block are a weighting sum of motions derived from spatial motions and temporal motions. For example, the averaging motions between spatial motions and temporal motions are used.
[0134] For example, the weights (weight_s) used for spatial motions and the weights (weight_t) used for temporal motions can be adaptively adjusted based on the CU size, the distance between the corresponding subblocks and the CU boundary, or the neighbouring blocks’ prediction mode. For example, the weights (weight_s) used for spatial motions are larger than the weights (weight_t) used for temporal motions for the subblocks closer to CU boundary.
[0135] Any of the foregoing proposed methods of motion models with non-constant velocity and SbTMVP motion field derivation using spatial motion information can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in inter coding of an encoder, and / or a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the inter coding of the encoder and / or the decoder, so as to provide the information needed by the inter coding.
[0136] With reference to the exemplary encoder and decoder in Fig. 1A and Fig 1B, the proposed methods can be implemented in the inter prediction modules. For example, in the encoder side, the required processing can be implemented as part of the Inter-Pred. unit 112 as shown in Fig. 1A. However, the encoder may also use additional processing unit to implement the required processing. For the decoder side, the required processing can be implemented as part of the MC unit 152 as shown in Fig. 1B. However, the decoder may also use additional processing unit to implement the required processing. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the inter prediction module of the encoder and / or the inter / intra / prediction module of the decoder, so as to provide the information needed by the inter / prediction module. While the Inter-Pred. 112 in the encoder side and MC 152 in the decoder side are shown as individual processing units, they may correspond to executable software or firmware codes stored on a media, such as hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .
[0137] Fig. 13 illustrates a flowchart of an exemplary video coding system that derives a scaled motion vector by scaling a motion vector using a set of scaling factors according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to one method, input data associated with a current block is received in step 1310, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder. A first motion vector is determined for the current block in step 1320, wherein the first motion vector refers to a first reference picture. A target reference picture is determined in step 1330. A scaled motion vector is derived by scaling the first motion vector from the first reference picture to the target reference picture using a set of scaling factors in step 1340. The current block is encoded or decoded by using the scaled motion vector and the target reference picture in step 1350.
[0138] Fig. 14 illustrates a flowchart of an exemplary video coding system that derives a scaled motion vector using motion parameters of a motion model derived from a set of motion vectors according to an embodiment of the present invention. According to this method, input data associated with a current block is received in step 1410, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder. A first motion vector and a second motion vector associated with the current block are determined in step 1420, wherein the first motion vector refers to a first reference picture and the second motion vector refers to a second reference picture. A target reference picture is determined in step 1430. A set of motion parameters is derived based on the first motion vector and the second motion vector in step 1440. A scaled motion vector is derived based on the first motion vector and the second motion vector according to the set of motion parameters in step 1450. The current block is encoded or decoded by using the scaled motion vector and the target reference picture in step 1460.
[0139] Fig. 15 illustrates a flowchart of an exemplary video coding system that derives a motion field for subblocks using both spatial motion information and temporal motion information according to an embodiment of the present invention. According to this method, input data associated with a current block is received in step 1510, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder. The current block is partitioned into a plurality of subblocks in step 1520. A subblock-based motion field is derived for the plurality of subblock using both temporal motion information and spatial motion information in step 1530, wherein the temporal motion information is associated with corresponding subblocks in a collocated reference picture. The plurality of subblocks of the current block is encoded or decoded by using the subblock-based motion field in step 1540.
[0140] The flowcharts shown are intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
[0141] The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
[0142] Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, 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 software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
[0143] 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
1.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder;determining a first motion vector for the current block, wherein the first motion vector refers to a first reference picture;determining a target reference picture;deriving a scaled motion vector by scaling the first motion vector from the first reference picture to the target reference picture using a set of scaling factors; andencoding or decoding the current block by using the scaled motion vector and the target reference picture.2.The method of Claim 1, wherein the set of scaling factors correspond to pre-determined fixed values.3.The method of Claim 1, wherein the set of scaling factors is indicated by high-level syntax signaled or parsed in at least one of SPS (Sequence Parameter Set) , PPS (Picture Parameter Set) , APS (Adaptation Parameter Set) , SH (Slice Header) , or PH (Picture Header) .4.The method of Claim 1, wherein deriving the scaled motion vector by scaling the first motion vector from the first reference picture to the target reference picture using the set of scaling factors is performed for at least one of TMVP (Temporal Motion Vector Prediction) or SbTMVP (Subblock-based TMVP) , and wherein multiple MV candidates are derived according to different scaling factors.5.The method of Claim 1, wherein deriving the scaled motion vector by scaling the first motion vector from the first reference picture to the target reference picture using the set of scaling factors is performed for Chained MV Prediction (CMVP) , and wherein the first reference picture is unavailable and the target reference picture corresponds to a valid reference picture.6.The method of Claim 1, further comprising including the scaled motion vector in a merge candidate list.7.The method of Claim 1, further comprising including multiple scaled motion vectors corresponding to different scaling factors in a merge candidate list, wherein the multiple scaled motion vectors are first reordered and only top N scaled motion vectors are included in the merge candidate list, and where N is a positive integer.8.The method of Claim 1, further comprising including multiple scaled motion vectors corresponding to different scaling factors in a merge candidate list, wherein the multiple scaled motion vectors are reordered with other existing motion vector candidates in the merge candidate list.9.The method of Claim 1, wherein existing motion vectors are first reordered and top K existing motion vectors are used to generate a set of scaled motion vector candidates, and wherein the set of scaled motion vector candidates are derived using different scaling factors and K is a positive integer.10.An apparatus of video coding, the apparatus comprising one or more electronic circuits or processors arranged to:receive input data associated with a current block, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder;determine a first motion vector for the current block, wherein the first motion vector refers to a first reference picture;determine a target reference picture;derive a scaled motion vector by scaling the first motion vector from the first reference picture to the target reference picture using a set of scaling factors; andencode or decode the current block by using the scaled motion vector and the target reference picture.11.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder;determining a first motion vector and a second motion vector associated with the current block, wherein the first motion vector refers to a first reference picture and the second motion vector refers to a second reference picture;determining a target reference picture;deriving a set of motion parameters based on the first motion vector and the second motion vector;deriving a scaled motion vector based on the first motion vector and the second motion vector according to the set of motion parameters; andencoding or decoding the current block by using the scaled motion vector and the target reference picture.12.The method of Claim 11, wherein deriving the scaled motion vector based on the first motion vector and the second motion vector according to the set of motion parameters is performed for Chained MV Prediction (CMVP) , and wherein the second motion vector corresponds to a chained motion vector, the second reference picture is unavailable and the target reference picture corresponds to a valid reference picture.13.The method of Claim 11, wherein deriving the scaled motion vector based on the first motion vector and the second motion vector using the set of motion parameters is performed for SbTMVP (Subblock-based Temporal Motion Vector Prediction) , and wherein the first motion vector corresponds to a motion vector offset from a neighbouring block, the second motion vector corresponds to a reference motion vector from a collocated picture, the set of motion parameters is used to calculate a scaled temporal motion vector for each subblock.14.The method of Claim 11, wherein the set of motion parameters is derived based on temporal distances associated with the first reference picture, the second reference picture, and the target reference picture, and wherein the scaled motion vector is calculated as a weighted sum of the first motion vector and the second motion vector.15.The method of Claim 11, wherein the first motion vector and the second motion vector correspond to at least one of: (i) two uni-prediction motion vector candidates from one existing candidate list; (ii) bi-prediction motion vector candidate from one existing candidate list; (iii) an initial MV and a cascaded MV in chained MV candidates; or (iv) SbTMVP with chained MV candidates.16.The method of Claim 11, further comprising storing motion parameter information in a motion buffer, wherein the stored motion parameter information is retrieved to derive subsequent scaled motion vector.17.The method of Claim 16, wherein when a first set of parameters is derived based on multiple motion vectors referring to multiple reference pictures, respectively, in a first region, the first set of parameters is stored in the motion buffer.18.The method of Claim 17, wherein, when a second region refers to the first region, the stored first set of parameters is retrieved to derive a second scaled motion vector for the second region.19.The method of Claim 11, further comprising including the scaled motion vector in a merge candidate list.20.The method of Claim 11, further comprising including multiple scaled motion vectors corresponding to different motion parameters in a merge candidate list, wherein the multiple scaled motion vectors are first reordered and only top N scaled motion vectors are included in the merge candidate list, and where N is a positive integer.21.The method of Claim 11, further comprising including multiple scaled motion vectors corresponding to different motion parameters in a merge candidate list, wherein the multiple scaled motion vectors are reordered with other existing motion vector candidates in the merge candidate list.22.The method of Claim 11, wherein existing motion vectors are first reordered and top K existing motion vectors are used to generate a set of scaled motion vector candidates, and wherein the set of scaled motion vector candidates are derived using different motion parameters and K is a positive integer.23.An apparatus of video coding, the apparatus comprising one or more electronic circuits or processors arranged to:receive input data associated with a current block, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder;determine a first motion vector and a second motion vector associated with the current block, wherein the first motion vector refers to a first reference picture and the second motion vector refers to a second reference picture;determine a target reference picture;derive a set of motion parameters based on the first motion vector and the second motion vector;derive a scaled motion vector based on the first motion vector and the second motion vector according to the set of motion parameters; andencode or decode the current block by using the scaled motion vector and the target reference picture.24.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder;partitioning the current block into a plurality of subblocks;deriving a subblock-based motion field for the plurality of subblock using both temporal motion information and spatial motion information, wherein the temporal motion information is associated with corresponding subblocks in a collocated reference picture; andencoding or decoding the plurality of subblocks of the current block by using the subblock-based motion field.25.The method of Claim 24, wherein deriving the subblock-based motion field comprises: assigning one or more first subblock motions to a first subset of subblocks located within a boundary region of the current block by inheriting one or more motion vectors from neighboring spatial blocks; and assigning one or more second subblock motions to a second subset of subblocks located at a non-boundary region of the current block by inheriting one or more temporal motion vectors from a reference picture.26.The method of Claim 24, wherein deriving the subblock-based motion field comprises assigning one or more first subblock motions to N subblocks rows or columns closest to a boundary of the current block by inheriting one or more motion vectors from neighboring spatial blocks, and wherein N is a positive integer.27.The method of Claim 24, wherein deriving the subblock-based motion field comprises generating a target motion vector for a target subblock within the current block using a combination of at least one spatial motion and at least one temporal motion.28.The method of Claim 27, wherein generating the target motion vector comprises calculating a weighted sum of the at least one spatial motion and the at least one temporal motion.29.An apparatus of video coding, the apparatus comprising one or more electronic circuits or processors arranged to:receive input data associated with a current block, wherein the input data comprises pixel data for encoding the current block at an encoder or coded data for decoding the current block at a decoder;partition the current block into a plurality of subblocks;derive a subblock-based motion field for the plurality of subblock using both temporal motion information and spatial motion information, wherein the temporal motion information is associated with corresponding subblocks in a collocated reference picture; andencode or decode the plurality of subblocks of the current block by using the subblock-based motion field.