Methods and apparatus of timing for applying prediction refinement using template area in video coding systems

SPO techniques using PRW on template areas refine predictions in VVC systems, addressing inefficiencies in existing video coding by enhancing blending methods, thereby improving coding efficiency and video quality.

WO2026108760A1PCT designated stage Publication Date: 2026-05-28MEDIATEK INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MEDIATEK INC
Filing Date
2025-11-17
Publication Date
2026-05-28

AI Technical Summary

Technical Problem

Existing video coding systems face challenges in efficiently refining predictions due to impairments in reconstructed video data, leading to suboptimal coding efficiency and quality, particularly in versatile video coding (VVC) applications.

Method used

The implementation of Sample-based Prediction Offset (SPO) techniques using Position-Related Weighting (PRW) based on a template area to refine predictions, enhancing the blending of multiple prediction methods such as bi-prediction, Combined Inter and Intra Prediction (CIIP), Geometric Partitioning Mode (GPM), and Multi-Hypothesis Prediction (MHP), by applying Sample-Based Prediction Offset (SPO) data derived from a template area and PRWs to generate refined final predictions.

Benefits of technology

Improves coding efficiency and video quality by refining predictions, reducing impairments in reconstructed data, and optimizing the use of blending techniques in versatile video coding systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025135326_28052026_PF_FP_ABST
    Figure CN2025135326_28052026_PF_FP_ABST
Patent Text Reader

Abstract

Methods and apparatus of video coding using new Sample-based Prediction Offset (SPO) are disclosed. According to one method, SPO for coding systems with multiple hypothesis is derived based on a template area of the current block and PRW (Position-Related Weighting) to refine prediction. In one embodiment, SPO can be applied to the final prediction. In another embodiment, SPO can be applied to each of the multiple hypothesis or some of them. In yet another method, the SPO is applied to the final prediction, or each of the multiple hypothesis or some of them selectively. In yet another method, the SPO and OBMC (Overlapped Block Motion Compensation) are both applied to a coding block.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF TIMING FOR APPLYING PREDICTION REFINEMENT USING TEMPLATE AREA IN VIDEO CODING SYSTEMSCROSS 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 / 723,651, filed on November 22, 2024 and U.S. Provisional Patent Application No. 63 / 812,437, filed on May 27, 2025. The U.S. Provisional Patent Applications are hereby incorporated by reference in their entireties.FIELD OF THE INVENTION

[0002] The present invention relates to video coding system. In particular, the present invention relates to deriving improved adaptive offset techniques by using Sample-based Prediction Offset (SPO) derived based on a template area of the current block and Position-Related Weighting (PRW) . BACKGROUND AND RELATED ART

[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] Some related coding tools for VVC and HEVC are viewed as follows.

[0008] Local Illumination Compensation (LIC)

[0009] LIC is an inter prediction technique to model local illumination variation between current block and its prediction block as a function of that between current block template and reference block template. The parameters of the function can be denoted by a scale α and an offset β, which forms a linear equation, that is, α*p [x] +β to compensate illumination changes, where p [x] is a reference sample pointed to by MV at a location x on reference picture. When wrap around motion compensation is enabled, the MV shall be clipped with wrap around offset taken into consideration. Since α and β can be derived based on current block template and reference block template, no signalling overhead is required for them.

[0010] The local illumination compensation proposed in JVET-O0066 is used for inter-coded CUs with the following modifications. ● Intra neighbour samples can be used in LIC parameter derivation. ● LIC is disabled for blocks with less than 32 luma samples. ● Samples of the reference block template are generated by using MC with the block MV without rounding it to integer-pel precision.

[0011] Bi-prediction with CU-level Weight (BCW)

[0012] In HEVC, the bi-prediction signal is generated by averaging two prediction signals obtained from two different reference pictures and / or using two different motion vectors. In VVC, the bi-prediction mode is extended beyond simple averaging to allow weighted averaging of the two prediction signals. Pbi-pred= ( (8-w) *P0+w*P1+4)>>3    (1-1)

[0013] Five weights are allowed in the weighted averaging bi-prediction, w∈ {-2, 3, 4, 5, 10} . For each bi-predicted CU, the weight w is determined in one of two ways: 1) for a non-merge CU, the weight index is signalled after the motion vector difference; 2) for a merge CU, the weight index is inferred from neighbouring blocks based on the merge candidate index. BCW is only applied to CUs with 256 or more luma samples (i.e., CU width times CU height is greater than or equal to 256) . For low-delay pictures, all 5 weights are used. For non-low-delay pictures, only 3 weights (w∈ {3, 4, 5} ) are used. – At the encoder, fast search algorithms are applied to find the weight index without significantly increasing the encoder complexity. These algorithms are summarized as follows. Further details can be found in the VTM software and document JVET-L0646. When combined with AMVR, unequal weights are only conditionally checked for 1-pel and 4-pel motion vector precisions if the current picture is a low-delay picture. – When combined with affine, affine ME will be performed for unequal weights if and only if the affine mode is selected as the current best mode. – When the two reference pictures in bi-prediction are the same, unequal weights are only conditionally checked. – Unequal weights are not searched when certain conditions are met, depending on the POC distance between current picture and its reference pictures, the coding QP, and the temporal level.

[0014] The BCW weight index is coded using one context coded bin followed by bypass coded bins. The first context coded bin indicates if equal weight is used; and if unequal weight is used, additional bins are signalled using bypass coding to indicate which unequal weight is used.

[0015] Weighted prediction (WP) is a coding tool supported by the H. 264 / AVC and HEVC standards to efficiently code video content with fading. Support for WP was also added into the VVC standard. WP allows weighting parameters (weight and offset) to be signalled for each reference picture in each of the reference picture lists L0 and L1. Then, during motion compensation, the weight (s) and offset (s) of the corresponding reference picture (s) are applied. WP and BCW are designed for different types of video content. In order to avoid interactions between WP and BCW, which will complicate VVC decoder design, if a CU uses WP, then the BCW weight index is not signalled, and w is inferred to be 4 (i.e. equal weight is applied) . For a merge CU, the weight index is inferred from neighbouring blocks based on the merge candidate index. This can be applied to both normal merge mode and inherited affine merge mode. For constructed affine merge mode, the affine motion information is constructed based on the motion information of up to 3 blocks. The BCW index for a CU using the constructed affine merge mode is simply set equal to the BCW index of the first control point MV.

[0016] In VVC, CIIP and BCW cannot be jointly applied for a CU. When a CU is coded with CIIP mode, the BCW index of the current CU is set to 2, e.g. equal weight.

[0017] Geometric Partitioning Mode (GPM)

[0018] In VVC, a geometric partitioning mode is supported for inter prediction. The geometric partitioning mode is signalled using a CU-level flag as one kind of merge mode, with other merge modes including the regular merge mode, the MMVD mode, the CIIP mode and the subblock merge mode. In total 64 partitions are supported by geometric partitioning mode for each possible CU size w×h=2m×2n with m, n ∈ {3…6} excluding 8x64 and 64x8.

[0019] When this mode is used, a CU is split into two parts by a geometrically located straight line as shown in Fig. 2. The location of the splitting line is mathematically derived from the angle and offset parameters of a specific partition. Each part of a geometric partition in the CU is inter-predicted using its own motion; only uni-prediction is allowed for each partition, that is, each part has one motion vector and one reference index. The uni-prediction motion constraint is applied to ensure that same as the conventional bi-prediction, only two motion compensated prediction are needed for each CU.

[0020] GPM Blending Along the Geometric Partitioning Edge

[0021] After predicting each part of a geometric partition using its own motion, blending is applied to the two prediction signals to derive samples around geometric partition edge. The blending weight for each position of the CU are derived based on the distance between individual position and the partition edge.

[0022] The distance for a position (x, y) to the partition edge are derived as: where i, j are the indices for angle and offset of a geometric partition, which depend on the signaled geometric partition index. The sign of ρx, j and ρy, j depend on angle index i.

[0023] The weights for each part of a geometric partition are derived as following: wIdxL (x, y) =partIdx ? 32+d (x, y) : 32-d (x, y)  (1-6) w1 (x, y) =1-w0 (x, y)   (1-8)

[0024] The partIdx depends on the angle index i. One example of weigh w0 is illustrated in Fig. 3, where the angle 310 and offset ρi 320 are indicated for GPM index i and point 330 corresponds to the centre of the block. Line 340 corresponds to the GPM partitioning boundary.

[0025] GPM with Inter and Intra Prediction

[0026] In GPM with inter and intra prediction, the final prediction samples are generated by weighting inter predicted samples and intra predicted samples for each GPM-separated region. The inter predicted samples are derived by inter GPM whereas the intra predicted samples are derived by an intra prediction mode (IPM) candidate list and an index signalled from the encoder. The IPM candidate list size is pre-defined as 3. The available IPM candidates are the parallel angular mode against the GPM block boundary (Parallel mode) , the perpendicular angular mode against the GPM block boundary (Perpendicular mode) , and the Planar mode as shown Fig. 4A-C, respectively. Furthermore, GPM with intra and intra prediction as shown Fig. 4D is restricted to reduce the signalling overhead for IPMs and avoid an increase in the size of the intra prediction circuit on the hardware decoder. In addition, a direct motion vector and IPM storage on the GPM-blending area is introduced to further improve the coding performance.

[0027] In DIMD and neighbouring mode based IPM derivation Parallel mode is registered first. Therefore, max two IPM candidates derived from the decoder-side intra mode derivation (DIMD) method and / or the neighbouring blocks can be registered if there is not the same IPM candidate in the list. As for the neighbouring mode derivation, there are five positions for available neighbouring blocks at most, but they are restricted by the angle of GPM block boundary as shown in Table 1, which are already used for GPM with template matching (GPM-TM) . Table 1. The position of available neighbouring blocks for IPM candidate derivation based on the angle of GPM block boundary, where A and L denote the above and left sides of the prediction block

[0028] GPM-intra can be combined with GPM with merge with motion vector difference (GPM-MMVD) . TIMD is used for on IPM candidates of GPM-intra to further improve the coding performance. The Parallel mode can be registered first, then IPM candidates of TIMD, DIMD, and neighbouring blocks.

[0029] When regression-based GPM is used for the current block, a CU level flag is signalled to indicate whether to use intra-inter prediction. The intra prediction candidates are the first 6 modes in the MPM list and the MV candidates for the inter prediction are the same as those used in regular GPM. Then, an intra-inter pair list is constructed by combining these intra prediction candidates and MV candidates. And, an index of the selected intra-inter pair is signalled. Besides, a SPS flag is signalled to indicate whether regression-based GPM with intra-inter prediction is enabled or not.

[0030] Overlapped Block Motion Compensation (OBMC)

[0031] When OBMC is applied, top and left boundary pixels of a CU are refined using neighbouring block’s motion information with a weighted prediction as described in JVET-L0101.

[0032] Conditions of not applying OBMC are as follows: ● When OBMC is disabled at SPS level ● When current block has intra mode or IBC mode ● When current luma block area is smaller or equal to 32.

[0033] Additionally, OBMC is adaptively controlled on a block level as follows: ● OBMC flag is inherited from a neighbouring affine block for affine merge mode. ● OBMC is not applied to a block if there is a neighbour block coded with IBC, palette, or BDPCM modes. ● When applying OBMC to a block, block boundary check whether OBMC is applied to the boundary is further made based on the reference samples of the current block. If any absolute difference between the prediction sample and non-interpolated (integer pel) reference sample is greater than a threshold, the OBMC is not applied to that boundary.

[0034] A subblock-boundary OBMC is performed by applying the same blending to the top, left, bottom, and right subblock boundary pixels using neighbouring subblocks’ motion information. It is enabled for the subblock based coding tools: ● Affine AMVP modes; ● Affine merge modes and subblock-based temporal motion vector prediction (SbTMVP) ; ● Subblock-based bilateral matching.

[0035] When OBMC (Overlapped Block Motion Compensation) mode is used in CIIP mode with LMCS (Luma Mapping with Chroma Scaling) , inter blending is performed prior to LMCS mapping of inter samples. LMCS is applied to blended inter samples which are combined with LMCS applied intra samples in CIIP mode, where InterpredY represents the samples predicted by the motion of current block in the original domain, IntrapredY represents the samples predicted in the mapped domain, OBMCpredY represents the samples predicted by the motion of neighboring blocks in the original domain, and w0 and w1 are the weights.

[0036] When OBMC mode is used in a LIC coded block, the LIC parameters are applied to generate the corresponding prediction samples for the OBMC of the LIC coded block. Besides, to reduce the complexity, the OBMC is only applied to the top and left CU boundaries while being always disabled for the boundaries of the internal sub-blocks of the LIC coded block.

[0037] Combined Inter and Intra Prediction (CIIP)

[0038] In VVC, when a CU is coded in merge mode, if the CU contains at least 64 luma samples (i.e., CU width x CU height >= 64) and both CU width and CU height are less than 128 luma samples, an additional flag is signalled to indicate if the combined inter / intra prediction (CIIP) mode is applied to the current CU. As its name indicates, the CIIP prediction combines an inter prediction signal with an intra prediction signal. The inter prediction signal in the CIIP mode Pinter is derived using the same inter prediction process applied to regular merge mode; and the intra prediction signal Pintra is derived following the regular intra prediction process with the planar mode. Then, the intra and inter prediction signals are combined using weighted averaging, where the weight value is calculated depending on the coding modes of the top and left neighbouring blocks (depicted in Fig. 5) as follows: - If the top neighbour is available and intra coded, then set isIntraTop to 1, otherwise set isIntraTop to 0; - If the left neighbour is available and intra coded, then set isIntraLeft to 1, otherwise set isIntraLeft to 0; - If (isIntraLeft + isIntraTop) is equal to 2, then wt is set to 3; - Otherwise, if (isIntraLeft + isIntraTop) is equal to 1, then wt is set to 2; - Otherwise, set wt to 1.

[0039] The CIIP prediction is formed as follows: PCIIP= ( (4-wt) *Pinter+wt*Pintra+2)>>2   (1-9)

[0040] Multi-Hypothesis Prediction (MHP)

[0041] In the multi-hypothesis inter prediction mode (JVET-M0425) , one or more additional motion-compensated prediction signals are signalled, in addition to the conventional bi-prediction signal. The resulting overall prediction signal is obtained by sample-wise weighted superposition. With the bi-prediction signal pbi and the first additional inter prediction signal / hypothesis h3, the resulting prediction signal p3 is obtained as follows: p3= (1-α) pbi+αh3

[0042] The weighting factor α is specified by the new syntax element add_hyp_weight_idx, according to the following mapping:

[0043] Analogously to above, more than one additional prediction signal can be used. The resulting overall prediction signal is accumulated iteratively with each additional prediction signal. pn+1= (1-αn+1) pn+αn+1hn+1

[0044] The resulting overall prediction signal is obtained as the last pn (i.e., the pn having the largest index n) . Within this EE, up to two additional prediction signals can be used (i.e., n is limited to 2) .

[0045] The motion parameters of each additional prediction hypothesis can be signalled either explicitly by specifying the reference index, the motion vector predictor index, and the motion vector difference, or implicitly by specifying a merge index. A separate multi-hypothesis merge flag distinguishes between these two signalling modes.

[0046] For inter AMVP mode, MHP is only applied if non-equal weight in BCW is selected in bi-prediction mode.

[0047] Combination of MHP and BDOF is possible, however the BDOF is only applied to the bi-prediction signal part of the prediction signal (i.e., the ordinary first two hypotheses) .

[0048] Intra Prediction Fusion

[0049] This intra prediction method derives predicted samples as a weighted combination of multiple predictors generated from different reference lines. In this process, multiple intra predictors are generated and then fused by weighted averaging. The process of deriving the predictors to be used in the fusion process is described as follows: 1) For angular intra prediction modes including the single mode case of TIMD and DIMD, the proposed method derives intra prediction by weighting intra predictions obtained from multiple reference lines represented as pfusion=w0pline+w1pline+1, where pline is the intra prediction from the default reference line and pline+1 is the prediction from the line above the default reference line. The weights are set as w0=3 / 4 and w1=1 / 4. 2) For TIMD mode with blending, pline is used for the first mode (w0=1, w1=0) and pline+1 is used for the second mode (w0=0, w1=1) . 3) For DIMD mode with blending, the number of predictors selected for a weighted average is increased from 3 to 6.

[0050] The angular intra prediction fusion method is applied to luma blocks when angular intra mode has non-integer slope (required reference samples interpolation) and the block size is greater than 16, it is used with MRL and not applied for ISP coded blocks. In the method studied in the sub-test a, PDPC is applied for the intra prediction mode using the closest to the current block reference line.

[0051] The TIMD mode with blending method is applied when all the following conditions are satisfied: - both the first and second modes are angular prediction mode - the current block is not ISP coded block. - all of the following conditions are false: ○ abs (predModeIntra1 –predModeIntra2) is greater than Threshold. The value of Threshold is set to 8 or 4 depending on block size. ○ (predModeIntra1 -EXT_HOR_IDX) * (predModeIntra2 -EXT_HOR_IDX) is less than 0. ○ (predModeIntra1 -EXT_VER_IDX) * (predModeIntra2 -EXT_VER_IDX) is less than 0.

[0052] In the present invention, improved adaptive offset techniques by using Sample-based Prediction Offset (SPO) derived based on a template area of the current block and Position-Related Weighting (PRW) are disclosed. BRIEF SUMMARY OF THE INVENTION

[0053] Methods and apparatus of video coding using new Sample-based Prediction Offset (SPO) are disclosed. According to one method, input data associated with a current block is received, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. Two or more predictions for the current block are derived. Final prediction by blending said two or more predictions is derived. SPO (Sample-Based Prediction Offset) data is derived for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) . The final prediction is refined using the SPO data to generate refined final prediction. The current block is encoded or decoded by using the refined final prediction.

[0054] In one embodiment, said two or more predictions are generated according to bi-prediction, CIIP (Combined Inter and Intra Prediction) , intra fusion, GPM (Geometric Partitioning Mode) , or MHP (Multi-Hypothesis Prediction) .

[0055] In one embodiment, final input data for said deriving the SPO data is generated in a same manner as that the final prediction is generated from said two or more predictions. In one embodiment, when the final prediction is generated from said two or more predictions by using BCW (Bi-prediction with CU-level Weight) blending, a same weight is used to blend reference template area of two predictions for the final input data. In another embodiment, when the final prediction is generated from said two or more predictions by using GPM (Geometric Partitioning Mode) blending, same GPM blending is used to blend reference template area of two predictions for the final input data.

[0056] In one embodiment, an SPO for a target final prediction sample of the current block is derived from a sum of derived template samples in the template area of the current block weighted by one or more sets of respective PRWs, and wherein the derived template samples comprise final reconstructed samples in the template area of the current block.

[0057] In another embodiment, each weight of each set of said one or more sets of PRWs is dependent on a first position of a target template sample with respect to the template area and a second position of the target final prediction sample with respect to the current block.

[0058] According to another method, input data associated with a current block is received, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. Two or more predictions for the current block are derived. SPO (Sample-Based Prediction Offset) data for one or more selected predictions from said two or more predictions is derived by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) . Said one or more selected predictions are refined using the SPO data to generate one or more refined selected predictions. A refined final prediction for the current block is generated using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions. The current block is encoded or decoded by using the refined final prediction.

[0059] In one embodiment, said one or more selected predictions correspond to all of said two or more predictions or only a portion of said two or more predictions.

[0060] In one embodiment, when said two or more predictions are generated according to bi-prediction, CIIP (Combined Inter and Intra Prediction) , intra fusion, GPM (Geometric Partitioning Mode) , or MHP (Multi-Hypothesis Prediction) , said one or more selected predictions correspond to all of said two or more predictions for the current block. In one embodiment, when said two or more predictions are generated according to CIIP, said one or more selected predictions only include inter prediction of the CIIP. In another embodiment, said one or more selected predictions correspond to one prediction with a largest fusion weight or a largest blending weight.

[0061] In one embodiment, an SPO for a target prediction sample of the current block for a target selected prediction of said one or more selected predictions is derived from a sum of derived template samples in the template area of the current block weighted by said one or more sets of respective PRWs, wherein the derived template samples comprise reconstructed samples according to the target selected prediction of said one or more selected predictions in the template area of the current block. In one embodiment, each weight of each set of said one or more sets of PRWs is dependent on a first position of a target template sample with respect to the template area and a second position of the target prediction sample with respect to the current block.

[0062] According to yet another method, input data associated with a current block is received, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. Two or more predictions are derived for the current block. Whether to apply SPO process to final prediction is determined. If SPO process is applied to final prediction: the final prediction is derived by blending said two or more predictions, first SPO (Sample-based Prediction Offset) data is derived for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) , the final prediction is refined using the first SPO data to generate refined final prediction, and the current block is encoded or decoded by using the refined final prediction. Otherwise: second SPO data is derived for one or more selected predictions from said two or more predictions by using the template area of the current block and said one or more sets of respective PRWs, said one or more selected predictions are refined using the SPO data to generate one or more refined selected predictions, the refined final prediction is generated for the current block using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions, and The current block is encoded or decoded by using the refined final prediction.

[0063] In one embodiment, a first SPO for a target final prediction sample of the current block is derived from a first sum of derived template samples in the template area of the current block weighted by said one or more first sets of PRWs respectively, wherein the derived template samples comprise final reconstructed samples in the template area of the current block. In one embodiment, each weight of each set of said one or more first sets of PRWs is dependent on a first position of a target template sample with respect to the template area and a second position of the target final prediction sample with respect to the current block. In one embodiment, a second SPO for a target prediction sample of the current block for target selected prediction of said one or more selected predictions is derived from a second sum of derived template samples in the template area of the current block weighted by one or more second sets of PRWs respectively.

[0064] According to yet another method, input data associated with a current block is received, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, and wherein OBMC (Overlapped Block Motion Compensation) is enabled for the current block. OBMC process is applied to the current block. SPO (Sample-based Prediction Offset) process is applied to the current block, wherein the SPO process is applied before or after said applying the OBMC process to the current block to generate SPO data. Refined prediction is generated by refining current prediction with the SPO data. The current block is encoded or decoded by using the refined prediction.

[0065] In one embodiment, the SPO process is always applied before said applying the OBMC process. In one embodiment, the SPO process is always applied after said applying the OBMC process.

[0066] In one embodiment, whether the SPO process is applied before or after said applying the OBMC process to the current block is dependent a coding mode of the current block. In one embodiment, when the coding mode of the current block corresponds to GPM mode and the OBMC process is applied to two predictions of the GPM mode separately, said applying the SPO process is performed after the OBMC process if the SPO process is applied on final prediction only. In one embodiment, when the coding mode of the current block corresponds to GPM mode and the OBMC process is applied to two predictions of the GPM mode separately, said applying the SPO process is performed before or after the OBMC process if the SPO process is applied on one or more selected predictions.BRIEF DESCRIPTION OF THE DRAWINGS

[0067] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing.

[0068] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.

[0069] Fig. 2 illustrates examples of the GPM splits grouped by identical angles.

[0070] Fig. 3 illustrates exemplified generation of a bending weight w0 using geometric partitioning mode.

[0071] Figs. 4A-C illustrate examples of available IPM candidates: the parallel angular mode against the GPM block boundary (Parallel mode, Fig. 4A) , the perpendicular angular mode against the GPM block boundary (Perpendicular mode, Fig. 4B) , and the Planar mode (Fig. 4C) , respectively.

[0072] Fig. 4D illustrates an example of GPM with intra and intra prediction, where intra prediction is restricted to reduce the signalling overhead for IPMs and hardware decoder cost.

[0073] Fig. 5 illustrates top and left neighbouring blocks used in CIIP weight derivation.

[0074] Fig. 6 illustrates the template area for the current block.

[0075] Fig. 7 illustrates a flowchart of an exemplary video coding system that derives SPO (Sample-based Prediction Offset) based on a template area and PRW (Position-Related Weighting) for video systems with multiple hypothesis according to an embodiment of the present invention, where the SPO is applied to the final prediction.

[0076] Fig. 8 illustrates a flowchart of an exemplary video coding system that derives SPO (Sample-based Prediction Offset) based on a template area and PRW (Position-Related Weighting) for video systems with multiple hypothesis according to an embodiment of the present invention, where the SPO is applied to each of the multiple hypothesis or some hypothesis.

[0077] Fig. 9 illustrates a flowchart of an exemplary video coding system that derives SPO (Sample-based Prediction Offset) based on a template area and PRW (Position-Related Weighting) for video systems with multiple hypothesis according to an embodiment of the present invention, where the SPO is selectively applied to the final prediction, or each of the multiple hypothesis or some hypothesis.

[0078] Fig. 10 illustrates a flowchart of an exemplary video coding system that uses SPO (Sample-based Prediction Offset) as well as OBMC (Overlapped Block Motion Compensation) according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

[0079] 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.

[0080] 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.

[0081] PROPOSED METHOD

[0082] One skilled in the art would understand that any of the following proposed methods (e.g. methods disclosed in Sections 1 and 2) or their combination can be implemented individually or jointly in a video coding system.

[0083] 1. Prediction Refinement Using Template Area

[0084] 1.1. Prediction Refinement Using Template with Motion from Current Block

[0085] In one embodiment, a Sample-Based Prediction Offset (SPO) is used to refine the predictor. The SPO is derived from Position-Related Weighting (PRW) and the Difference between Reconstructed template and Reference template (DRR) . The template can be 1 line or multiple lines. The template area is the neighbouring area of current block as shown in the grey area of Fig. 6. The neighbouring area of current block, including top-left, top-right, and bottom-left areas can be viewed as the template area whenever these areas are available on both the encoder and decoder sides. For example, the template area can comprise the neighbouring closest N rows and / or the neighbouring closest M columns of the current block, where N and M are integers. The PRW for each sample in the predictor to be refined is related to the template position and sample position according to the block size. The SPO for each sample in the predictor to be refined is the sum of DRR multiplied by the sample’s PRW. The SPO is then added to the predictor for each sample. Clipping is optional to apply on it before output.

[0086] In one embodiment, wext  / hext can be defined as any positive number specified in the standard. For example, the positive number is set as a fixed number as 4, 8, 16, or 32, ... etc. For another example, the positive wext number is decided according to W, such as k*W where k can be 1, 2, 3, or 4 ... etc. For another example, the positive number wext is decided according to W and H, such as k* (W+H) where k can be 1, 2, 3, or 4 …etc. For another example, the positive number is decided according to at least one syntax element signalled at CU, CTU, SPS, PPS, slice, tile, picture, or sequence level.

[0087] Example 1. We derive a sample-based prediction offset to refine the predictor. In the first step, we calculate the template difference, DiffTemp, x, y between the reconstructed template RecTemp, x, y of the current block and the reference template RefTemp, x, y of the predictor. The x and y are the related positions to the top-left (TL) sample in the predictor. For example, x = 0 and y = -1 means the template sample above the TL sample. DiffTemp, x, y=RecTemp, x, y-RefTemp, x, y

[0088] The position-based weighting of each sample in the predictor came from a pre-trained table LUTPRW, w, h, x, y, i, j according to the block width w and height h. The i and j are the related positions to the top-left (TL) sample in the predictor. For example, i = 1 and j = 0 mean the sample right next to the TL sample.

[0089] The prediction offset of each sample OffsetSPO, i, j in the predictor is the sum of DiffTemp, x, y multiplied by LUTPRW, w, h, x, y, i, j:

[0090] In one embodiment, if some of the template areas are not available, the DiffTemp, x, y term is set to zero. For example, if the current block is on the left boundary of picture, DiffTemp, x, y is set to zero for the left template area (i.e., x < 0 region) .

[0091] Example 2. We derive a sample-based prediction offset to refine the predictor. In the first step, we calculate the template difference of above template Diffabove, i and left template Diffleft, j between the reconstructed templates (Recabove, i and Recleft, j) of current block and the reference template (Refabove, i and Refleft, j) of predictor. The i and j are the related horizontal and vertical position to the top-left (TL) sample in the predictor. For example, i = 0 means the template sample above the TL sample and i = 1 means the template sample on the right side next to the sample i = 0. Diffabove, i=Recabove, i-Refabove, i Diffleft, j=Recleft, j-Refleft, j.

[0092] The position-based weighting of each sample in the predictor came from a pre-trained table LUTabove, w, h, j and LUTleft, w, h, i according to the block width w and height h. The i and j correspond to horizontal and vertical positions with respect to the top-left (TL) sample in the predictor. For example, j = 1 means the sample immediate below the TL sample.

[0093] The prediction offset of each sample OffsetSPO, i, j in the predictor is the sum of Diffabove, i multiplied by LUTabove, w, h, j and Diffleft, j multiplied by LUTleft, w, h, i.

[0094] In one embodiment, RecTemp, x, y and RefTemp, x, y are used to refine the prediction instead of their difference. For example, SPO can be derived using following equations.

[0095] 1.2. Prediction Refinement Using Template with Motion from Neighbouring Block

[0096] In one embodiment, the SPO is derived from the neighbouring reconstructed residual data (NRR) instead of DRR described in Section 1.1. The first step will be replaced by calculating the template difference DiffTemp, x, y between the reconstructed template RecTemp, x, y of the current block and the template NeiTemp, x, y derived from neighbouring predictor with motion from neighbouring block. The x and y are the related position to the top-left (TL) sample in the predictor. For example, x = 0 and y = -1 mean the template sample above the TL sample. DiffTemp, x, y=RecTemp, x, y-NeiTemp, x, y

[0097] In one embodiment, the neighbouring reconstructed residual data (NRR) is from the residual of neighbouring block. DiffTemp, x, y=ResidualTemp, x, y

[0098] 1.3 Prediction Refinement Using Template with Motion from Neighbouring Block and Reference Block

[0099] In one embodiment, the SPO is derived from the NRR and DRR together.

[0100] 1.4 Different LUTs for Prediction Refinement Using Template

[0101] In one embodiment, the LUT in Sections 1.1 to 1.3 can be different according to the QP value, block size, CU mode, motion vector of current CU and any other implicit / explicit rule. For example, an index is signalled to select the LUT in sequence, picture, slice, CTU, CU level. For another example, the classifier, such as DIMD, can be applied on the template area or current prediction to choose the LUT.

[0102] In one embodiment, the LUT can be replaced with online trained parameters, and the parameters can be signalled in sequence, picture, slice, CTU, or CU level. In another embodiment, the parameters can be derived from the information, such as the reconstruction data, at both the encoder and decoder sides. In this case, the parameters are not signalled.

[0103] 2. Timing for Applying Prediction Refinement

[0104] 2.1 Interaction with Blending  / Multiple Hypothesis  / Fusion

[0105] In one embodiment, if the final prediction is generated by using multiple predictions, the prediction refinement technique is applied on the final prediction only. For example, final prediction with modes, such as bi-prediction, CIIP, intra fusion, GPM, and MHP are generated by multiple inter or intra predictions. For these modes, the prediction refinement technique is applied on the final prediction.

[0106] In one embodiment, if the prediction refinement technique is applied on the final prediction, the final required input data for prediction refinement is generated as the same method when generating the final prediction. For example, the reference template area is required input data for prediction refinement. If BCW blending is used for final prediction, and same equation should be used to blend the reference template area of the two predictions for final data input. For another example, if GPM blending is used for final prediction, the GPM blending equation should be used to blend the reference template area of the two predictions for the final data input.

[0107] In one embodiment, if the final prediction is generated by using multiple predictions, the prediction refinement technique is applied on each prediction firstly, then the final prediction is generated using these refined predictions. For example, the final prediction with modes, such as bi-prediction, CIIP, intra fusion, GPM, and MHP are generated by multiple inter or intra predictions. For these modes, the prediction refinement technique is applied on each prediction firstly.

[0108] In another embodiment, if the final prediction is generated by using multiple predictions, the prediction refinement technique is applied on some of the predictions firstly, then the final prediction is generated using these unrefined / refined predictions. For example, in CIIP mode, the prediction refinement technique is applied on the prediction of inter part and no prediction refinement for prediction of intra part. For another example, in intra fusion mode, the prediction refinement technique is applied on the prediction with largest fusion weight.

[0109] In one embodiment, for different encoding modes, different embodiments mentioned above can be applied. For example, for the bi-prediction mode, the prediction refinement technique is applied on the final prediction only, whereas for CIIP mode, the prediction refinement technique is applied on the prediction of inter part.

[0110] 2.2 Interaction with OBMC

[0111] In one embodiment, if OBMC is enabled, the prediction refinement is always done after OBMC.

[0112] In one embodiment, if OBMC is enabled, the prediction refinement is always done before OBMC.

[0113] In one embodiment, the prediction refinement is done before or after OBMC depends on current CU / PU / TU mode. For example, in GPM mode and OBMC applied on the two predictions separately. If the prediction refinement technique is applied on the final prediction only, the prediction refinement process is applied after OBMC. If the prediction refinement technique is applied on the some or each of the predictions, the prediction refinement can be applied after or before OBMC.

[0114] Any of the foregoing proposed methods or combination thereof can be implemented in encoders and / or decoders. For example, any of the proposed methods or combination thereof can be implemented in one module of an encoder and / or decoder. Alternatively, any of the proposed methods or combination thereof can be implemented as a circuit coupled to one module of the encoders and / or decoder, so as to provide the information needed by the module used in encoders and / or decoder. The proposed aspects, methods and related embodiments, and combination thereof can be implemented individually or jointly in a video coding system.

[0115] Any of the foregoing proposed methods of deriving SPO for coding systems with multiple hypothesis can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in an inter / intra / IBC / prediction / transform module of an encoder, and / or an inter / intra / IBC / prediction / transform module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the inter / intra / IBC / prediction / transform module of the encoder and / or the inter / intra / IBC / prediction / transform module of the decoder, so as to provide the information needed by the inter / intra / IBC / prediction / transform module.

[0116] With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, the proposed methods as described above can be implemented in an encoder side or a decoder side. For example, any of the proposed methods can be implemented in an Intra / Inter coding module (e.g. Intra Pred. 150 / MC 152 in Fig. 1B) in a decoder or an Intra / Inter coding module in an encoder (e.g. Intra Pred. 110 / Inter Pred. 112 in Fig. 1A) . Any of the proposed methods can also be implemented as circuits coupled to the intra coding module at the decoder or the encoder. However, the decoder or encoder may also use additional processing unit to implement the required processing. While the Intra / Inter Pred. units (e.g. units 110 / 112 in Fig. 1A and units 150 / 152 in Fig. 1B) 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) ) .

[0117] Fig. 7 illustrates a flowchart of an exemplary video coding system that derives SPO (Sample-based Prediction Offset) based on a template area and PRW (Position-Related Weighting) for video systems with multiple hypothesis according to an embodiment of the present invention, where the SPO is applied to the final prediction. 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 on 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 710, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. Two or more predictions for the current block are derived in step 720. Final prediction by blending said two or more predictions is derived in step 730. SPO (Sample-Based Prediction Offset) data is derived for final prediction samples of the current block in step 740 by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) . The final prediction is refined using the SPO data to generate refined final prediction in step 750. The current block is encoded or decoded by using the refined final prediction in step 760.

[0118] Fig. 8 illustrates a flowchart of an exemplary video coding system that derives SPO (Sample-based Prediction Offset) based on a template area and PRW (Position-Related Weighting) for video systems with multiple hypothesis according to an embodiment of the present invention, where the SPO is applied to each of the multiple hypothesis or some hypothesis. According to this method, input data associated with a current block is received in step 810, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. Two or more predictions for the current block are derived in step 820. SPO (Sample-Based Prediction Offset) data for one or more selected predictions from said two or more predictions is derived in step 830 by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) . Said one or more selected predictions are refined using the SPO data to generate one or more refined selected predictions in step 840. A refined final prediction for the current block is generated in step 850 using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions. The current block is encoded or decoded by using the refined final prediction in step 860.

[0119] Fig. 9 illustrates a flowchart of an exemplary video coding system that derives SPO (Sample-based Prediction Offset) based on a template area and PRW (Position-Related Weighting) for video systems with multiple hypothesis according to an embodiment of the present invention, where the SPO is selectively applied to the final prediction, or each of the multiple hypothesis or some hypothesis. According to this method, input data associated with a current block is received in step 910, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. Two or more predictions are derived for the current block in step 920. Whether to apply SPO process to final prediction is determined in step 930. If SPO process is applied to final prediction (i.e., the “Yes” path from step 930) : the final prediction is derived by blending said two or more predictions in step 940, first SPO (Sample-based Prediction Offset) data is derived in step 942 for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) , the final prediction is refined in step 944 using the first SPO data to generate refined final prediction, and the current block is encoded or decoded by using the refined final prediction in step 946. Otherwise: second SPO data is derived for one or more selected predictions in step 950 from said two or more predictions by using the template area of the current block and said one or more sets of respective PRWs, said one or more selected predictions are refined in step 952 using the SPO data to generate one or more refined selected predictions, the refined final prediction is generated for the current block in step 954 using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions, and The current block is encoded or decoded by using the refined final prediction in step 956.

[0120] Fig. 10 illustrates a flowchart of an exemplary video coding system that uses SPO (Sample-based Prediction Offset) as well as OBMC (Overlapped Block Motion Compensation) according to an embodiment of the present invention. According to this method, input data associated with a current block is received in step 1010, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, and wherein OBMC (Overlapped Block Motion Compensation) is enabled for the current block. OBMC process is applied to the current block in step 1020. SPO (Sample-based Prediction Offset) process is applied to the current block in step 1030, wherein the SPO process is applied before or after said applying the OBMC process to the current block to generate SPO data. Refined prediction is generated by refining current prediction with the SPO data in step 1040. The current block is encoded or decoded by using the refined prediction in step 1050.

[0121] 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.

[0122] 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.

[0123] 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.

[0124] 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 comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;deriving two or more predictions for the current block;deriving final prediction by blending said two or more predictions;deriving SPO (Sample-based Prediction Offset) data for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) ;refining the final prediction using the SPO data to generate refined final prediction; andencoding or decoding the current block by using the refined final prediction.2.The method of Claim 1, wherein said two or more predictions are generated according to bi-prediction, CIIP (Combined Inter and Intra Prediction) , intra fusion, GPM (Geometric Partitioning Mode) , or MHP (Multi-Hypothesis Prediction) .3.The method of Claim 1, wherein final input data for said deriving the SPO data is generated in a same manner as that the final prediction is generated from said two or more predictions.4.The method of Claim 3, wherein when the final prediction is generated from said two or more predictions by using BCW (Bi-prediction with CU-level Weight) blending, a same weight is used to blend reference template area of two predictions for the final input data.5.The method of Claim 3, wherein when the final prediction is generated from said two or more predictions by using GPM (Geometric Partitioning Mode) blending, same GPM blending is used to blend reference template area of two predictions for the final input data.6.The method of Claim 1, wherein an SPO for a target final prediction sample of the current block is derived from a sum of derived template samples in the template area of the current block weighted by one or more sets of respective PRWs, and wherein the derived template samples comprise final reconstructed samples in the template area of the current block.7.The method of Claim 6, wherein each weight of each set of said one or more sets of PRWs is dependent on a first position of a target template sample with respect to the template area and a second position of the target final prediction sample with respect to the current block.8.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;derive two or more predictions for the current block;deriving final prediction by blending said two or more predictions;derive SPO (Sample-based Prediction Offset) data for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) ;refine the final prediction using the SPO data to generate refined final prediction; andencode or decode the current block by using the refined final prediction.9.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;deriving two or more predictions for the current block;deriving SPO (Sample-based Prediction Offset) data for one or more selected predictions from said two or more predictions by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) ;refining said one or more selected predictions using the SPO data to generate one or more refined selected predictions;generating a refined final prediction for the current block using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions; andencoding or decoding the current block by using the refined final prediction.10.The method of Claim 9, wherein said one or more selected predictions correspond to all of said two or more predictions or only a portion of said two or more predictions.11.The method of Claim 9, wherein when said two or more predictions are generated according to bi-prediction, CIIP (Combined Inter and Intra Prediction) , intra fusion, GPM (Geometric Partitioning Mode) , or MHP (Multi-Hypothesis Prediction) , said one or more selected predictions correspond to all of said two or more predictions for the current block.12.The method of Claim 9, wherein when said two or more predictions are generated according to CIIP, said one or more selected predictions only include inter prediction of the CIIP.13.The method of Claim 9, wherein said one or more selected predictions correspond to one prediction with a largest fusion weight or a largest blending weight.14.The method of Claim 9, wherein an SPO for a target prediction sample of the current block for a target selected prediction of said one or more selected predictions is derived from a sum of derived template samples in the template area of the current block weighted by said one or more sets of respective PRWs, wherein the derived template samples comprise reconstructed samples according to the target selected prediction of said one or more selected predictions in the template area of the current block.15.The method of Claim 14, wherein each weight of each set of said one or more sets of PRWs is dependent on a first position of a target template sample with respect to the template area and a second position of the target prediction sample with respect to the current block.16.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;derive two or more predictions for the current block;derive SPO (Sample-based Prediction Offset) data for one or more selected predictions from said two or more predictions by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) ;refine said one or more selected predictions using the SPO data to generate one or more refined selected predictions;generate a refined final prediction for the current block using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions; andencode or decode the current block by using the refined final prediction.17.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;deriving two or more predictions for the current block;determining whether to apply SPO process to final prediction;in response to the SPO process determined to be applied to the final prediction:deriving the final prediction by blending said two or more predictions;deriving first SPO (Sample-based Prediction Offset) data for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) ;refining the final prediction using the first SPO data to generate refined final prediction; andencoding or decoding the current block by using the refined final prediction;otherwise:deriving second SPO data for one or more selected predictions from said two or more predictions by using the template area of the current block and said one or more sets of respective PRWs;refining said one or more selected predictions using the SPO data to generate one or more refined selected predictions;generating the refined final prediction for the current block using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions; andencoding or decoding the current block by using the refined final prediction.18.The method of Claim 17, wherein whether to apply SPO process to the final prediction is dependent on coding mode of the current block.19.The method of Claim 18, wherein when the current block is coded in bi-prediction mode, the SPO process is applied to the final prediction.20.The method of Claim 18, wherein when the current block is coded in CIIP mode, the SPO process is not applied to the final prediction.21.The method of Claim 18, wherein a first SPO for a target final prediction sample of the current block is derived from a first sum of derived template samples in the template area of the current block weighted by said one or more first sets of PRWs respectively, wherein the derived template samples comprise final reconstructed samples in the template area of the current block.22.The method of Claim 21, wherein each weight of each set of said one or more first sets of PRWs is dependent on a first position of a target template sample with respect to the template area and a second position of the target final prediction sample with respect to the current block.23.The method of Claim 22, wherein a second SPO for a target prediction sample of the current block for target selected prediction of said one or more selected predictions is derived from a second sum of derived template samples in the template area of the current block weighted by one or more second sets of PRWs respectively.24.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;derive two or more predictions for the current block;determine whether to apply SPO process to final prediction;in response to the SPO process determined to be applied to the final prediction:derive the final prediction by blending said two or more predictions;derive first SPO (Sample-based Prediction Offset) data for final prediction samples of the current block by using a template area of the current block and one or more sets of respective PRWs (Position-Related Weights) ;refine the final prediction using the first SPO data to generate refined final prediction; andencode or decode the current block by using the refined final prediction;otherwise:derive second SPO data for one or more selected predictions from said two or more predictions by using the template area of the current block and said one or more sets of respective PRWs;refine said one or more selected predictions using the SPO data to generate one or more refined selected predictions;generate a refined final prediction for the current block using said one or more refined selected predictions and remaining non-refined predictions of said two or more predictions; andencode or decode the current block by using the refined final prediction.25.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, and wherein OBMC (Overlapped Block Motion Compensation) is enabled for the current block;applying OBMC process to the current block;applying SPO (Sample-based Prediction Offset) process to the current block, wherein the SPO process is applied before or after said applying the OBMC process to the current block to generate SPO data;generating refined prediction by refining current prediction with the SPO data; andencoding or decoding the current block by using the refined prediction.26.The method of Claim 25, wherein the SPO process is always applied before said applying the OBMC process.27.The method of Claim 25, wherein the SPO process is always applied after said applying the OBMC process.28.The method of Claim 25, wherein whether the SPO process is applied before or after said applying the OBMC process to the current block is dependent a coding mode of the current block.29.The method of Claim 28, wherein when the coding mode of the current block corresponds to GPM mode and the OBMC process is applied to two predictions of the GPM mode separately, said applying the SPO process is performed after the OBMC process if the SPO process is applied on final prediction only.30.The method of Claim 28, wherein when the coding mode of the current block corresponds to GPM mode and the OBMC process is applied to two predictions of the GPM mode separately, said applying the SPO process is performed before or after the OBMC process if the SPO process is applied on one or more selected predictions.31.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block, wherein the input data comprise pixel data for the current block to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, and wherein OBMC (Overlapped Block Motion Compensation) is enabled for the current block;apply OBMC process to the current block;apply SPO (Sample-based Prediction Offset) process to the current block, wherein the SPO process is applied before or after applying the OBMC process to the current block to generate SPO data;generate refined prediction by refining current prediction with the SPO data; andencode or decode the current block by using the refined prediction.

Citation Information

Patent Citations

  • Position-dependent intra-inter prediction combination in video coding

    US20200162728A1

  • Image encoding / decoding method and device, and recording medium storing bitstream

    US20220385888A1

  • Image encoding / decoding method and device, and recording medium in which bitstream is stored

    WO2020141816A1