Intra-prediction method applying BV-based prediction and intra-prediction method applying EIP prediction

The adaptive selection of BV-based predictors addresses inefficiencies in existing video encoding by optimizing their use based on block size and BV information, enhancing coding efficiency and prediction accuracy.

WO2026156733A1PCT designated stage Publication Date: 2026-07-30SHENZHEN TCL NEW-TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SHENZHEN TCL NEW-TECH CO LTD
Filing Date
2025-01-24
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Existing video encoding technologies using BV-based predictors face inefficiencies, leading to increased computational overhead and reduced coding efficiency, particularly in resource-constrained or latency-sensitive applications, as they are not suitable for all scenarios and do not fully utilize BV information effectively.

Method used

An adaptive selection method for BV-based predictors is introduced, enabling their use based on block size, BV information, and other criteria to enhance prediction effectiveness, reducing redundant calculations and improving coding performance.

Benefits of technology

The adaptive selection of BV-based predictors enhances coding efficiency by optimizing their usage in fusion or blending processes, reducing computational overhead, and improving prediction accuracy for various block sizes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025074846_30072026_PF_FP_ABST
    Figure CN2025074846_30072026_PF_FP_ABST
Patent Text Reader

Abstract

An intra-prediction method applying BV based prediction and an intra-prediction method applying EIP are provided. The intra-prediction method applying BV based prediction include: determining whether BV based prediction is applied for a fusion or blending process in prediction of a current block; and when it is determined that the BV based prediction is applied for the current block, selecting a target BV based prediction mode for prediction of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

INTRA-PREDICTION METHOD APPLYING BV-BASED PREDICTION AND INTRA-PREDICTION METHOD APPLYING EIP PREDICTIONTECHNICAL FIELD

[0001] The present disclosure generally relates to encoding and decoding technology, and in particular to an intra-prediction method applying block vector (BV) based prediction, an intra-prediction method applying EIP prediction, a video coding apparatus, and a computer readable medium.BACKGROUND

[0002] In recent studies towards future video coding standards, several prediction modes apply block-vector (BV) based predictions in the fusion or blending process to generate prediction blocks. Notable examples include Decoder side Intra Mode Derivation (DIMD) blending, Occurrence-based Intra Coding (OBIC) , and Spatial Geometric Partitioning Mode (SGPM) . In these modes, BV-based predictors serve as candidates for non-Angular prediction. In other words, the non-Angular predictor is selected between the BV-based predictors and the Planar predictor. The selected non-Angular predictor is then combined with Angular predictors generated from DIMD or OBIC in the blending process. In SGPM, BV-based predictors could serve as the intra prediction candidates for each part.

[0003] The generation of BV-based predictors involves first identifying all adjacent and non-adjacent merge candidates (blocks which are coded in IntraTMP or IBC) . Then, the BVs using by these merge candidates are collected. The reconstructed blocks identified through these BVs on the current block will serve as the BV-based predictors.

[0004] Despite the application of BV-based predictors in various fusion or blending processes to generate prediction blocks, they are not always suitable for all scenarios. In certain instances, the use of BV-based predictors does not result in significant performance gains, but instead leads to additional computational and signaling overhead. This extra overhead not only increases the complexity of the encoder, but may also reduce coding efficiency, particularly in resource-constrained or latency-sensitive applications. Therefore, a more efficient method is needed to determine utilization of BV-based prediction, ensuring an effective improvement in video encoding performance without incurring unnecessary costs.SUMMARY

[0005] Accordingly, the present disclosure aims to provide an intra-prediction method applying block vector (BV) based prediction, an intra-prediction method applying EIP prediction, a video coding apparatus, and a computer readable medium.

[0006] A technical scheme adopted by the present disclosure is to provide an intra-prediction method applying block vector (BV) based prediction. The method includes: determining whether BV based prediction is applied for a fusion or blending process in prediction of a current block; and when it is determined that the BV based prediction is applied for the current block, selecting a target BV based prediction mode for prediction of the current block.

[0007] Another technical scheme adopted by the present disclosure is to provide an intra-prediction method applying block vector (BV) based prediction. obtaining a plurality of BV based predictors; determining one or more templates of a current block corresponding to the plurality of BV based predictors; determining template matching costs of the plurality of BV based predictors on the one or more templates; selecting a target BV based prediction mode of which a corresponding BV based predictor on the one or more templates has lowest template matching cost; and applying the target BV based prediction mode for a fusion or blending process in prediction of the current block.

[0008] Another technical scheme adopted by the present disclosure is to provide an intra-prediction method applying Extrapolation filter-based Intra Prediction (EIP) . The method includes: generating an EIP based predictor for a current block; generating one or more non-EIP predictors for the current block; and blending the EIP based predictor with the one or more non-EIP predictors for prediction of the current block.

[0009] Another technical scheme adopted by the present disclosure is to provide a video coding apparatus. The apparatus includes a processor and a memory. The memory is configured to store executable instructions that, when executed by the processor, cause the processor to perform any of the foregoing methods.

[0010] Another technical scheme adopted by the present disclosure is to provide a computer readable medium. The computer readable medium is configured to store executable instructions that, when executed by the processor, cause the processor to perform any of the foregoing methods.BRIEF DESCRIPTION OF THE DRAWINGS

[0011] In order to clearly explain the technical solutions in the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. Obviously, the drawings in the following description are merely some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings may also be obtained based on these drawings without any creative work.

[0012] FIG. 1 shows a schematic diagram of a video encoding system.

[0013] FIG. 2 shows a schematic diagram of a video decoding system.

[0014] FIG. 3 illustrates the procedure for selecting the non-angular predictor for a block to be predicted.

[0015] FIG. 4 illustrates the decoding process of DIMD blending mode.

[0016] FIG. 5 illustrates the decoding process of OBIC mode.

[0017] FIG. 6 is a flowchart of an intra-prediction method applying block vector (BV) based prediction according to an embodiment of the present disclosure.

[0018] FIG. 7 is a flowchart of an intra-prediction method applying block vector (BV) based prediction according to another embodiment of the present disclosure.

[0019] FIG. 8 shows the process of selection of the BV-based predictor based on one-side template matching cost.

[0020] FIG. 9 is a flowchart of an intra-prediction method applying Extrapolation filter-based Intra Prediction (EIP) according to an embodiment of the present disclosure.

[0021] FIG. 10 is a schematic diagram of a video coding apparatus according to an embodiment of the present disclosure.DETAILED DESCRIPTION

[0022] The disclosure will now be described in detail with reference to the accompanying drawings and examples. Apparently, the described embodiments are only a part of the embodiments of the present disclosure, not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0023] In the context of video compression, color image or a frame of a color video usually consists of three color components, namely a luma component Y and two chroma components Cb and Cr. Each component is represented as a data matrix. The data matrix for each component is decomposed into blocks associated with specific encoding parameters. A block is usually a square or rectangle whose dimensions are integer powers of 2. The coding of an image is processed in raster scanning order: from left to right, then from top to bottom. Within a specific block or a plurality of blocks, luma component is usually coded before chroma components.

[0024] Popular video coding standards such as Versatile Video Coding (VVC) uses a prediction / transform hybrid coding framework. Prediction refers to predicting current block (i.e., the block to be coded) using coded blocks or coded areas within the same frame (i.e., intra prediction) or from a different frame (i.e., inter prediction) . When performing intra or inter prediction, the encoder tries multiple intra prediction modes available to the coding standard, computes and compares corresponding prediction blocks and chooses the best prediction mode. The difference between original current block and the prediction block generated by the chosen prediction mode, namely the residual, will also be coded. By transmitting prediction modes and residuals only, the encoder is able to instruct the decoder to decode and reconstruct the original image or video or its approximation.

[0025] The present disclosure relates generally to the field of picture coding and specifically, to the improvement of intra and inter block prediction techniques. The scope of the present disclosure includes but is not limited to predicting a block in a video coding process by processing samples of a reference area and using the results of this processing as a predictor.

[0026] The present disclosure relates to both a method and a device of intra prediction, and the embodiments of this invention may be applied in combination with other intra prediction methods as well as implemented as a hardware or a software module.

[0027] To help understand the technical solutions proposed in the embodiments of this application, a brief introduction of video encoding and decoding system will be provided below.

[0028] As shown in FIG. 1, a video encoding system 110 may include multiple modules, such as block partitioning unit 1101, transform and quantization unit 1102, intra-frame estimation unit 1103, intra-frame prediction unit 1104, motion compensation unit 1105, motion estimation unit 1106, an inverse transformation and inverse quantization unit 1107, a filter control analysis unit 1108, a filtering unit 1109, an encoding unit 1110, an encoded image buffer unit 1111 and a subtractor 1112.

[0029] Original video signals include video frames. Each video frame is divided into blocks by a block partitioning unit 1101. For each of the video frames, the subtractor 1112 generates residual pixel information about a residual frame by subtracting the input video frame from the output of the intra-frame prediction unit 1104 or the motion compensation unit 1105. The residual pixel information obtained after intra-frame prediction or inter-frame prediction (motion compensation) , is transformed by the transformation and quantization unit 1102. The transformation includes transforming the residual pixel information from the pixel domain to a transform domain, and the resulting transform coefficients are quantized to further reduce the bit rate. The intra-frame estimation unit 1103 performs intra-frame estimation, and the intra-frame prediction unit 1104 performs intra-frame prediction on the video reconstructed blocks. Motion estimation performed by the motion estimation unit 1106 is a process of generating a motion vector that can estimate the displacement of the reconstructed video block, and then motion compensation is performed by the motion compensation unit 1105 based on the determined motion vector. After determining an intra-frame prediction mode, the intra-frame prediction unit 1104 provides selected intra-frame predicted data to the encoding unit 1110, and the motion estimation unit 1106 also sends calculated motion vector data to the encoding unit 1110. The inverse transform and inverse quantization unit 1107 reconstructs the video reconstructed blocks and reconstructs a residual block in the pixel domain, and the filtering unit 1109 is controlled by the filter analysis unit 1108 to remove the blocking artifacts in the reconstructed residual block, and the encoding unit 1110 adds the reconstructed residual block to the prediction block of the encoded image buffer unit 1111 to generate a reconstructed block. The encoding unit 1110 is used for encoding various encoding parameters and quantized transform coefficients (quantized transform coefficients) into bitstream, and outputs the bitstream of the video signals. The encoded image buffer unit 1111 is used for storing reconstructed blocks as the reference blocks for intra-frame prediction. As the video image encoding progresses, new reconstructed blocks are continuously generated, and these blocks are stored in the encoded image buffer unit 1111.

[0030] As shown in FIG. 2, a video decoding system 120 may include multiple modules such as a decoding unit 1201, an inverse transform and inverse quantization unit 1202, an intra-frame prediction unit 1203, a motion compensation unit 1204, a filtering unit 1205, a decoded image buffer unit 1206 and a post filtering unit 1207.

[0031] The input signals of video frames are encoded by the video encoding system 110 to obtain an output bitstream. The video encoding system 110 transmits the bitstream to the video decoding system 120. The video decoding system 120 receives the bitstream representing the video frames in an encoded format (i.e., in a compressed format) . In the video decoding system 120, the bitstream is processed by the decoding unit 1201 to obtain decoded transform coefficients. The inverse transform and inverse quantization unit 1202 process the transform coefficients to generate a residual block in the pixel domain. The intra-frame prediction unit 1203 is operable to generate an intra-frame prediction block for a current video decoding block based on a determined intra-frame prediction mode and data from previously decoded blocks of the current video frame or picture. The motion compensation unit 1204 determines the inter-frame prediction information for the current video decoding block and generates an inter-frame prediction block by parsing the motion vector and other associated syntax elements. Finally, the decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 1202 and the corresponding prediction block generated by the intra-frame prediction unit 1203 or the motion compensation unit 1204. In order to improve video quality, the decoded video blocks are filtered through the filtering unit 1205 to remove blocking artifacts. The decoded video block is then stored in the decoded image buffer unit 1206 as the reference block for subsequent intra-prediction or motion compensation, and for video output, i.e., to reproduce and reconstruct the original video signals. The output video can be optionally further processed by a post filtering unit 1207 for more suitable or enhanced viewing experiences.

[0032] Embodiments of the present disclosure are mainly used for the intra-frame prediction unit 1104 of the video encoding system 110 and the intra-frame prediction unit 1203 of the video decoding system 120. If a better prediction effect can be obtained in the video encoding system 110 through the intra-frame prediction method provided by the embodiments of the present disclosure, then the quality of video decoding and reconstruction can also be improved. The video decoding system 120 receives the bitstream representing the video frames. The bitstream includes the luma component of the video frame. The intra-frame prediction unit 1203 of the video decoding system 120 can thus obtain the luma component of the reference blocks and the luma component of the current block and calculate the Hamming difference and the weights accordingly. The intra-frame prediction unit 1203 can perform the same intra-frame prediction method as the intra-frame prediction unit 1104.

[0033] Introduction for several related technologies of the present disclosure will be given below, including: 1) Block-vector (BV) based predictions; 2) Decoder side intra mode derivation (DIMD) and DIMD blending; 3) Occurrence-based intra coding (OBIC) ; 4) Extrapolation filter-based Intra Prediction (EIP) . ● Block-vector (BV) based predictions

[0034] Block vector refers to a two-dimensional vector that provides an offset from the coordinates of the current coding block to the coordinates of the reference block in the same decoded slice.

[0035] In recent studies towards future video coding standards, several prediction modes apply block-vector (BV) based predictions in the fusion or blending process to generate prediction blocks. Notable examples include Decoder side Intra Mode Derivation (DIMD) blending, Occurrence-based Intra Coding (OBIC) , and Spatial Geometric Partitioning Mode (SGPM) . In these modes, BV-based predictors serve as candidates for non-Angular prediction. In other words, the non-Angular predictor is selected between the BV-based predictors and the Planar predictor. The selected non-Angular predictor is then combined with Angular predictors generated from DIMD or OBIC in the blending process. In SGPM, BV-based predictors could serve as the intra prediction candidates for each part.

[0036] The generation of BV-based predictors involves first identifying all adjacent and non-adjacent merge candidates (blocks which are coded in IntraTMP or IBC) . Then, the BVs using by these merge candidates are collected. The reconstructed blocks identified through these BVs on the current block will serve as the BV-based predictors.

[0037] In existing technologies, the non-Angular predictor is chosen between Planar predictor and BV-based predictors based on the respective template cost. Specifically, the predictors generated by the BVs of all adjacent and non-adjacent merge candidates are compared to Planar predictor on the reconstructed template. The neighboring areas to the left and above the current block are used as an L-shape template. The template cost (SATD cost) is used to select the best predictor among them.

[0038] FIG. 3 illustrates the procedure for selecting the non-angular predictor for a block to be predicted. As shown in FIG. 3, the procedures for generating the non-Angular predictor can be further decomposed into three steps.

[0039] In step 2101, obtain the BVs of all adjacent and non-adjacent merge candidates. If at least one BV-based candidate is available, the template predictors are computed at step 2202.

[0040] In step 2102, generate predictors on the templates with the BV-based candidate (s) and the Planar mode.

[0041] In step 2103, select the predictor with the lowest template cost among the Planar and BV-based predictors as the non-Angular predictor.

[0042] The selected non-angular predictor may be utilized in subsequent prediction process (e.g., fusion or blending) for the block to be predicted. ● Decoder side intra mode derivation (DIMD) and DIMD blending

[0043] Decoder side intra mode derivation (DIMD) mode is an intra prediction method which derives one or several intra modes from the reconstructed neighboring samples (e.g., luma samples) of current block. DIMD involves performing a gradient analysis on the reconstructed neighboring samples. When DIMD is used for the current block, both the encoder and decoder calculates horizontal and vertical gradients within the neighbouring area to construct the histogram of gradients (HoG) .

[0044] An intra angular corresponding to each pair of determined horizontal and vertical gradients Gx and Gy is determined as follows:

[0045] An intra prediction mode is obtained from the angle Θ (e.g., one of the 67 intra prediction modes defined in the H. 266 VVC standard) . A magnitude “G ” for the pair of gradients and the corresponding intra prediction mode is determined as follows: |G|=|Gx| + |Gy|

[0046] When constructing a HoG, a bin of the histogram to be updated is obtained by taking the value of the determined intra prediction mode, and the height of the bin (i.e., a value associated with this bin) is updated using the determined magnitude |G|.

[0047] Then these up to five predictors with the highest bin of the histogram are selected and then are blended with the non-Angular predictor, with weights derived from the HoG:

[0048] In the formula, N is number of the available Angular modes selected from the HoG, PrednonAng is the derived non-Angular mode. If N is equal to 1, the weight for non-Angular mode, wnonAng, is fixed to 21 / 64 (approximately 1 / 3) and the weight assigned to the intra prediction mode (IPM) is fixed to 43 / 64 (approximately 2 / 3) . If N is larger than 1, the weight for non-Angular mode is fixed to 1 / 4. The remaining weight of 3 / 4 is then shared between the N predictors, proportionally to the amplitude of their HoG bars.

[0049] The DIMD is signaled in the bitstream for intra coded blocks using a flag. At the decoder, if the DIMD flag is true, the intra prediction mode is derived by the gradient analysis described above. If not, the following intra prediction mode will be parsed from the bitstream.

[0050] FIG. 4 illustrates the decoding process of DIMD blending mode. As shown in FIG. 4, the process includes the following steps.

[0051] In step 2201, obtain the block parameters which comprise, at least, the location of a current block and its size. These parameters are used to assess the availability of neighbouring reconstructed samples in step 2102.

[0052] In step 2202, check the availability of neighbouring reconstructed samples based on the block parameters. If either the above neighbouring area or the left neighbouring area of the current block is available, proceed to step 2103.

[0053] In step 2203, calculate the gradient information (such as the gradient direction iAng and the gradient magnitude iAmp) within the neighbouring area to construct a HoG.

[0054] In step 2204, obtain up to 5 modes with the highest gradient magnitudes within the HoG.

[0055] In step 2205, generate predictor for the current block by blending predictors of the obtained modes in step 2104 with a non-Angular predictor. ● Occurrence-based intra coding (OBIC)

[0056] The occurrence-based intra coding (OBIC) was proposed in JVET-AH0076. OBIC derives the intra prediction modes of the current block based on the sample-wise occurrence of the intra modes in its spatial neighbourhood. The spatial neighbourhood includes both adjacent and non-adjacent blocks, and the intra prediction modes of these blocks are collected to construct an occurrence histogram. Unlike DIMD, which uses HoGs, the OBIC method constructs the Histogram of Occurrences (HoO) , which consists of intra modes and their sample-wise occurrences. The occurrence values are calculated based on the number of samples that are coded in a certain intra prediction mode in that neighbouring block. For example, if a block is coded with the mode IPMi, the occurrence histogram for that mode will be updated as: O [IPMi] =O [IPMi] +Wk×Hk

[0057] In the formula, Wk and Hk are the width and height of a spatial neighbouring block k. The occurrences of the existing modes from the spatial neighbourhood blocks are accumulated into the histogram.

[0058] Up to five modes with the highest occurrence, along with the non-Angular mode (Planar mode or block-vector based prediction (same as in DIMD) ) , are selected from the histogram and used for final prediction by blending the prediction of the selected modes:

[0059] In the formula, N is number of the available modes selected from the HoO, PrednonAng is the non-Angular mode. If N is equal to 1, the weight of non-Angular, wnonAng, is fixed to 21 / 64 and the weight assigned to the IPM is fixed to 43 / 64. If N is larger than 1, the weight of non-Angular is fixed to 1 / 4. The remaining weight of 3 / 4 is then shared between the N predictors, proportionally to the amplitude of their HoO bars.

[0060] The OBIC mode is used as a sub-mode of DIMD and is applied only to luma blocks. When the OBIC flag is true, the OBIC mode is decoded, and the traditional DIMD mode is bypassed. Moreover, the mode is disabled for blocks that have less than 64 samples.

[0061] FIG. 5 illustrates the decoding process of OBIC mode. As shown in FIG. 5, the process includes the following steps.

[0062] In step 2301, collect the intra prediction modes of the spatial neighbourhood which contains both adjacent and non-adjacent blocks.

[0063] In step 2302, construct the Histogram of Occurrences (HoO) based on the sample-wise occurrences of the collected modes.

[0064] In step 2303, select up to 5 intra angular modes with the highest occurrence in the histogram of occurrence.

[0065] In step 2304, generate predictor for the current block by blending predictors of the selected intra angular modes with the non-Angular predictor. And the generation of the non-Angular predictor follows the same procedure as in traditional DIMD, which is detailed as shown in steps 2201-2203.

[0066] More details can be obtained from: R. G. Youvalari, M. Abdoli, A. Tissier, EE2-2.2: Occurrence-based intra coding (OBIC) , document JVET-AH0076, Joint Video Experts Team (JVET) , Apr. 2024. ● Extrapolation filter-based Intra Prediction (EIP)

[0067] Extrapolation filter-based intra prediction (EIP) is an intra prediction mode that progressively predicts each pixel in the current block from the pixel’s reconstructed or predicted neighbours.

[0068] The formula for predicting a block in EIP is as follows: N (x, y) = { (x-ox, y-oy) |0≤ox≤w, 0≤oy≤h, (ox≠0) ∨ (oy≠0) }

[0069] In the formula, N (x, y) is the set of pixels within a w×h rectangle whose bottom-right-most location is (x, y) save (x, y) itself. To calculate the model coefficients c (x′, y′) , a template area is defined as one or more rows adjacent to the top of the current block and one or more columns adjacent to the left of the current block. The solving process can be viewed as a numerical optimization problem, which can be solved with Gaussian elimination method or other approximation algorithms. If (x′, y′) is in the current block instead of the template area, Pred (x′, y′) is used in place of Rec (x′, y′) as there is no reconstructed value for that location.

[0070] The model coefficients c (x′, y′) can be derived from the neighbouring reconstructed samples or be inherited from the previous EIP coded blocks based on an EIP merge flag.

[0071] When the EIP merge flag is true, EIP merge candidate list is constructed. When the EIP merge flag is false, the EIP filter is derived from its template and the relevant syntax element is signaled to indicate the template type and the filter shape. The selected EIP mode will generate prediction samples for the current block.

[0072] More details can be obtained from: L. Xu, Y. Yu, H. Yu, D. Wang, EE2-1.14: An extrapolation filter-based intra prediction mode, document JVET-AG0058, Joint Video Experts Team (JVET) , Jan. 2024.

[0073] The existing technologies may have several issues.

[0074] One potential issue is that the BV-based predictors are less effective for certain blocks. In the current implementation, the non-Angular predictor is selected between the Planar predictor and BV-based predictors for all blocks supported by the current mode. However, for larger blocks, it is more challenging to find a suitable reference block using BV. Considering this, BV-based predictors may not be effective for all block sizes. The data presented in Table 1 was particularly collected from the statistical data in coded ECM-15 CTC by calculating the frequency of selecting either the Planar predictor or the BV-based predictor for different block sizes. Table 1

[0075] It can be observed that BV-based predictors are more likely selected for smaller blocks in DIMD and OBIC. However, they are less frequently selected for larger blocks. The low usage of BV-based predictor leads to two drawbacks: a) Reduced prediction effectiveness of blending b) Redundant calculations for BV derivation.

[0076] Another potential issue is that the BV information is not fully utilized when selecting BV-based predictors. In the current implementation, the selection of BV-based predictors is solely based on comparing the template matching costs. However, the critical information provided by the BV is not considered. The BV can reflect the relative position and distance between the reconstructed block and the current block. Typically, the farther the reconstructed block is from the current block, the lower its relevance to the current block. Without imposing restrictions on the BV, there is a risk of introducing prediction blocks with significant differences, which can ultimately reduce the effectiveness of the prediction for the current block.

[0077] To solve at least one of the above issues, the present disclosure proposes improved usage of BV-based predictors in fusion modes or blending process for intra-prediction in image and video coding.

[0078] FIG. 6 is a flowchart of an intra-prediction method applying block vector (BV) based prediction according to an embodiment of the present disclosure. The method can be performed at the encoding side or the decoding side. As shown in FIG. 6, the method includes operations described in blocks S301 to S302.

[0079] In S301, whether BV based prediction is applied for a fusion or blending process in prediction of a current block is determined.

[0080] A current block refers to a specific block of pixels that is currently being processed or coded, for example, the block that is currently to be predicted. The fusion or blending process uses several predictors corresponding to different prediction modes and reference samples to cooperatively generate predicted samples.

[0081] In this operation, a condition check for selecting BV-based predictors in subsequent fusion or blending process is performed. For example, a fusion process may involve one or more angular prediction modes and one angular prediction mode. This condition check may be utilized to determine whether the BV-based predictors can be used as the non-angular prediction mode in the fusion process.

[0082] In one embodiment, the operation of determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block may include: determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block based on a size of the current block.

[0083] In this embodiment, the enabling of the adaptive selection for BV-based predictors depends on block sizes or sample sizes.

[0084] Specifically, the adaptive selection for BV-based predictors is made available to either all or certain block sizes or sample sizes. The adaptive selection for BV-based predictors is enabled when the block size meets specific criteria related to its dimensions. Otherwise, the Planar predictor or other existing method is selected as the non-Angular predictor.

[0085] The block size or sample size may be calculated as the minimum block dimension of current block. For example, if the current block has a minimum block dimension of 4 luma pixels, the adaptive selection for the BV-based predictors is enabled; otherwise, it is not enabled.

[0086] Alternatively, the block size or sample size may be calculated as the maximum block dimension of current block. For example, if the current block has a maximum block dimension larger than 32 luma pixels, the adaptive selection for the BV-based predictors is not enabled; otherwise, it is enabled.

[0087] Alternatively, the block size or sample size may be calculated as the number of samples of current block. For example, if the sample size of the current block is less than or equal to 32, the adaptive selection for the BV-based predictors is enabled; otherwise, it is not enabled.

[0088] The range which is suitable for applying BV-based prediction may be pre-determined by experiments, and can vary depending on actual implementation.

[0089] In one embodiment, the operation of determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block may include: determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block based on at least one selected from: direction, magnitude, and position of candidate BV based prediction modes.

[0090] In this embodiment, the enabling of the adaptive selection for BV-based predictors depends on the information of the BV. The information of one BV can be its direction, magnitude, or a combination of both. The adaptive selection for BV-based predictors is enabled when the information of the BV falls within a range. For example, this could include the BV magnitude being within a defined threshold range or the BV direction being within a particular angle range. If at least one of these conditions is met, the adaptive selection for BV-based predictors is enabled. Otherwise, the Planar predictor or other existing method is selected as the non-Angular predictor.

[0091] Specifically, the enabling of the adaptive selection for BV-based predictors may relate to the value of the BV magnitude where the BV magnitude DBV is typically calculated using the Euclidean distance formula: where Δx is the horizontal offset of the BV and Δy is the vertical offset of the BV.

[0092] In a particular implementation, BV magnitude is calculated by: DBV=max (|Δx|, |Δy|)

[0093] If the BV magnitude of one prediction block is smaller than a threshold Dthr, the adaptive selection for the BV-based predictors is enabled; otherwise, it is not enabled. For example, the value of Dthr may be predetermined and equal to 64; alternatively, the value of Dthr may be predetermined and equal to 128; alternatively, the value of Dthr may be determined based on the block size.

[0094] Specifically, the enabling of the adaptive selection for BV-based predictors may relate to the BV direction θBV which is typically calculated using the arctangent function:

[0095] If the calculated BV direction falls within a range, the adaptive selection for the BV-based predictors is enabled; otherwise, it is not enabled. A specific range of directions is predefined (e.g., θmin≤θBV≤θmax) .

[0096] In one embodiment, a fusion prediction is determined to be applied for prediction of the current block. Correspondingly, the operation of determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block may include: determining whether the BV based prediction is applied for the current block based on at least one selected from: a gradient of a fusion predictor, a number of fusion predictors; prediction modes involved in the fusion prediction.

[0097] In this embodiment, the enabling of the adaptive selection for BV-based predictors depends on the features of the fusion predictors with which the selected non-Angular predictor will be blended, or based on the features of the BV-based predictor itself. Examples of these features include the gradient of the fusion predictor, the number of fusion predictors, and the prediction mode.

[0098] The enabling of the adaptive selection for BV-based predictors may be derived from the number of fusion predictors in current mode. That is, when the number of predictors involved in the fusion process meets a certain range, the BV-based predictors may be enabled in the fusion process.

[0099] For example, if the number of selected intra-angular modes in OBIC is greater than a certain threshold, the BV-based predictor is used for blending; otherwise, it is not used. Table 2 shows an example. Table 2

[0100] Alternatively, the enabling of the adaptive selection for BV-based predictors can depend on the prediction mode of the BV-based predictor. For example, if the BV-based predictor is obtained from IBC mode, the BV-based predictor is used for fusion or blending; otherwise, it is not used.

[0101] Alternatively, the enabling of the adaptive selection for BV-based predictors can depend on the gradient of the fusion predictor. The fusion predictor may be an angular predictor determined in previous steps. Its gradient may be acquired, for example, by estimation of histogram of gradient (HoG) , which is similar to that used in DIMD method. When the gradient of the angular predictor falls within a pre-defined range, the BV-based predictor is used for fusion or blending; otherwise, it is not used.

[0102] In one embodiment, the operation of determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block may include: receiving an indication from an encoder; and determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block based on the indication. This implementation is applicable when the method is performed at the decoding side.

[0103] In this embodiment, whether to use BV-based predictor in certain prediction mode can be controlled by one or several flags signaled in the bitstream. The bitstream may be transmitted from the encoding system to the decoding system.

[0104] Such flags can be a binary signal and can be encoded using context-based coding. When the flag is ‘true’ , BV-based predictor is used for blending; otherwise, the Planar predictor or other existing method is used. In some implementation, these flags can be used to indicate the specific BV-based predictor used for blending.

[0105] For instance, for a block that is coded using the BV-based predictor, “isBVPred” flag is signaled using the context mode. The value of this flag is used to determine the further signaling. When the value of “isBVPred” flag is 0, the Planar predictor or other existing method is used for blending. When the value of “isBVPred” flag is 1, an index of a BV-based predictor mode “BVPredIndex” is signalled in the list of BV candidate modes. The list is sorted using template matching costs, and “BVPredIndex” indicates a position of this BV-based mode within this list. “BVPredIndex” syntax element could be signalled using Truncated unary code or an Exp-Golomb coding mechanism.

[0106] When it is determined that the BV based prediction should be applied for the fusion or blending process, the operation in S302 is performed. Otherwise, the BV based prediction may not be involved in the fusion or blending process.

[0107] In S302, a target BV based prediction mode for prediction of the current block is selected when the BV based prediction is determined to be applied for the current block.

[0108] There may exist one or several of candidate BV based prediction modes. When there is only one candidate BV based prediction mode, this mode is taken as the target BV based prediction mode. When there are multiple candidates, a selection operation may be performed to determine the target BV based prediction mode.

[0109] Various selection algorithms may be adopted. For example, the selection may depend on template matching costs. Specifically, the operation of selecting the target BV based prediction mode may include: obtaining a plurality of candidate BV based predictors on one or more templates of the current block; and selecting the target BV based prediction mode of which a corresponding BV based predictor on the one or more templates has lowest template matching cost.

[0110] The template matching (TM) cost may be calculated by applying an evaluation metric on the difference between a set of predicted samples and reconstructed samples on a template area. In this embodiment, multiple candidate BV based predictors may rely on the same template area, for example, the above and left template area of the current block. Alternatively, multiple candidate BV based predictors may rely on different template areas. For example, each of the one or more templates may be a one-side template of the current block. Specifically, some of the candidate BV based predictors may rely on the left template area of the current block while others may rely on the above template area. In some embodiments, the templates for TM costs comparison may be adjacent or non-adjacent to the current block.

[0111] In one embodiment, the plurality of candidate BV based predictors comprise one or more horizontal BV based predictors and / or one or more vertical BV based predictors; wherein a template for the one or more horizontal BV based predictors is located to the left of the current block; wherein a template for the one or more vertical BV based predictors is located above the current block. Detailed explanation is given below.

[0112] When BV information is used to determine the template matching cost, a corresponding template area is selected for calculating this cost. More specifically, when the BV is classified as horizontal or vertical, use the left-only or above-only template area to compute the template matching cost. Otherwise, use both the above and left template areas for computing the costs. And then, select the smaller of the computed costs as the template matching cost.

[0113] The classification of the candidate BV based prediction modes may be performed. This classification can be based on the information of the BV, such as its direction, magnitude, or position relative to the current block. By analyzing these attributes, the BV can be categorized into different types, such as horizontal, vertical, or other directional classifications, which can then be used for template area selection for cost calculation.

[0114] For example, the BV is classified as a horizontal BV when the following relation is satisfied: |Δx|>T×|Δy| where Δx is the horizontal displacement components of the BV, Δy is the vertical displacement  components of the BV and T is a positive multiplier threshold.

[0115] For example, the BV is classified as a vertical BV when the following relation is satisfied: |Δy|>T×|Δx|

[0116] If neither of these conditions is met, the BV is classified as a diagonal BV.

[0117] As for calculation of the corresponding one side template matching cost, if the BV is classified as a horizontal BV, the Left template matching cost between the reconstructed samples and the BV-based predictor within the template is calculated. If the BV is classified as a vertical BV, the Above template matching cost between the reconstructed samples and the BV-based predictor within the template is calculated. Otherwise, both the Left and Above template matching costs between the reconstructed samples and the BV-based predictor within the template are calculated. The combined cost of the two is then selected as the current template matching cost.

[0118] In an embodiment, the combined cost can be the minimum of the Left and Above template matching costs. costcombined (mode) =min (costL, costA)

[0119] In an embodiment, the combined cost can be the maximum of the Left and Above template matching costs. costcombined (mode) =max (costL, costA)

[0120] The current block may be a non-square block. In this case, the left and above template may have different amounts of samples (predicted samples and reconstructed samples. Hence, for a correct comparison of the left and above template matching costs, adjustment to results of TM costs evaluation may be performed.

[0121] In one embodiment, when a width of the current block is less than a height of the current block, template matching costs of the one or more vertical BV based predictors are multiplied by a first aspect ratio of the height to the width; or when a height of the current block is less than a width of the current block, template matching costs of the one or more horizontal BV based predictors are multiplied by a second aspect ratio of the width to the height.

[0122] In this embodiment, it is determined whether the width W of the current block is shorter than the height H of the current block. If the width is shorter than the height, the Above template matching costs can be multiplied by the value of an aspect ratio k=H / W; or the Left template matching costs can be multiplied by the value of another aspect ratio l=W / H. If the height is shorter than the width, the Left template matching costs can be multiplied by the value of an aspect ratio k=W / H; or the above template matching costs can be multiplied by the value of another aspect ratio l=H / W.

[0123] The evaluation metric for calculating TM costs may include, but is not limited to, Sum of Absolute Transformed Difference (SATD / HAD) , Sum of Squared Error (SSE) , Sum of Absolute Difference (SAD) , Mean Squared Error (MSE) or a combination of some of the above.

[0124] For example, template matching cost may be calculated as a SAD between the reconstructed samples and the predictor within the template. For example, template matching cost may be calculated as a HAD between the reconstructed samples and the predictor within the template.

[0125] In an embodiment, template matching cost is calculated as a weighted sum of HAD and SAD between the reconstructed samples and the predictor within the template:

[0126] The weights w0 and w1 can be predefined values. For example, the values of w0 and w1 may be equal to 0.5. For example, the values of w0 and w1 may be equal to 0.4 and 0.6 respectively. For example, the values of w0 and w1 may be equal to 0.7 and 0.3 respectively. In the latter implementation, more preference is given to HAD metric, and it is more efficient when textures dominate in predicted block and reference area and illumination of different parts of reference area is varying. It is known, that HAD metric is quite resistant to illumination changes.

[0127] In an embodiment, template matching cost is calculated as a mean-removed SAD (MR-SAD) between the reconstructed samples and the predictor within the template.

[0128] In an embodiment, template matching cost is calculated as a weighted sum of MR-SAD and SAD between the reconstructed samples and the predictor within the template:

[0129] For example, the values of w0 and w1 may be equal to 0.6 and 0.4 respectively.

[0130] When the TM costs of predictors of the candidate BV based prediction modes are acquired, the predictor with the lowest TM cost may be found, and its corresponding BV based prediction mode may be selected as the target BV based prediction mode.

[0131] According to the present embodiment, adaptive selection of BV-based predictors for the fusion or blending process in prediction of the current block is introduced. The implementation of the present embodiment may reduce redundant calculations and enhances overall coding performance by making the usage of BV-based predictors more content-driven. Besides, the derivation method for the target BV-based prediction mode involved in the final prediction process may depend on one-side template cost, which may further improve the selection process of the BV-based predictor.

[0132] Above-mentioned condition check on whether to select BV-based predictors can be applied to coding modes where generating the non-Angular predictor from BV-based predictors is part of the coding process, and these coding modes can be found in multiple image and video coding standards (MPEG, AOM, AVS, etc) . When applying condition check to these coding modes, the relevant information for determining the selection can be adjusted to cater for the change of prediction modes and procedures.

[0133] FIG. 7 is a flowchart of an intra-prediction method applying block vector (BV) based prediction according to another embodiment of the present disclosure. As shown in FIG. 7, the method includes operations described in blocks S401 to S405.

[0134] In S401, multiple BV based prediction modes are obtained.

[0135] In S402, one or more templates of a current block corresponding to predictors of the BV based prediction modes are determined.

[0136] In S403, template matching costs of the predictors of the BV based prediction modes on the one or more templates are determined.

[0137] In S404, a target BV based prediction mode of which a corresponding BV based predictor on the one or more templates has lowest template matching cost is selected.

[0138] In S405, the target BV based prediction mode is applied for a fusion or blending process in prediction of the current block.

[0139] In one embodiment, the one or more templates is a one-side template of the current block.

[0140] In one embodiment, the predictors of the plurality of BV based prediction modes comprise one or more horizontal BV based predictors and / or one or more vertical BV based predictors; wherein a template for the one or more horizontal BV based predictors is located to the left of the current block; wherein a template for the one or more vertical BV based predictors is located above the current block.

[0141] In one embodiment, when a width of the current block is less than a height of the current block, template matching costs of the one or more vertical BV based predictors are multiplied by a first aspect ratio of the height to the width; or when a height of the current block is less than a width of the current block, template matching costs of the one or more horizontal BV based predictors are multiplied by a second aspect ratio of the width to the height.

[0142] This solution contains selecting the BV-based predictors based on a one-sided template cost. The L-shaped template which is used by the original selection method, is replaced with a one side template. The shape of this one side template is determined by the characteristics of the BV-based predictor.

[0143] The decoding process for selecting the BV-based predictors based on the one-side template cost may include the following steps.

[0144] In a first step, which side of the template is used for template cost calculation is determined. In a second step, the BV-based predictors and the Planar predictor on the determined side template are  generated. Then, based on the calculated one-side template cost, the predictor with the lowest one-side template cost is selected as the non-angular predictor involved in subsequent fusion or blending process.

[0145] FIG. 8 shows the process of selection of the BV-based predictor based on one-side template matching cost. The steps of FIG. 8 are explained below.

[0146] Step 1: Obtain a candidate list which contains several BV-based predictions and Planar mode.

[0147] Step 2: For each prediction mode in the candidate list:

[0148] 1) Determine which side of the template to use for cost calculation based on the information of the BV. For Planar mode, both the Left and Above templates are used by default. For BV-based prediction, the BV is first classified based on its information, and then the template side is determined according to the classification.

[0149] 2) Calculate the corresponding one side template matching cost on the determined side of the template.

[0150] 3) Update the best mode with the lowest one side template matching cost.

[0151] Furthermore, the applicant notices that the conventional EIP mode, as introduced in foregoing sections of the present disclosure, lacks the ability to predict non-adjacent areas effectively. The regular EIP mode only uses the template of the current block to generate prediction blocks, lacking the ability to represent signals from non-adjacent areas. This limitation restricts the predictive effectiveness of the EIP.

[0152] Accordingly, the present disclosure further provides an intra-prediction method applying Extrapolation filter-based Intra Prediction (EIP) . As shown in FIG. 9, the method includes operations described in blocks S501 to S503.

[0153] In S501, an EIP based predictor is generated for a current block.

[0154] In S502, one or more non-EIP predictors are generated for the current block.

[0155] In S503, the EIP based predictor is blended with the one or more non-EIP predictors for prediction of the current block.

[0156] A non-EIP mode may be any intra or inter coding mode that can generate a prediction block independently from EIP. Such non-EIP predictors may include, but are not limited to:

[0157] 1) The non-Angular predictor, which can be generated using various methods. This could include a condition check, one side template matching cost, or both.

[0158] 2) The non-Angular predictor, which can be generated using various methods. This could include a condition check, one side template matching cost, or both.

[0159] 3) Predictors constructed with the BV-based predictors.

[0160] 4) Predictors constructed with MIP, PDP, and NN-based intra prediction modes.

[0161] 5) Predictors constructed with Planar mode, Plane mode and DC mode.

[0162] 6) Predictors constructed with inter predictions.

[0163] Specifically, the operation of blending the EIP based predictor with the one or more non-EIP predictors for prediction of the current block may include: generating a fusion predictor based on a weighted sum of the EIP based predictor and the one or more non-EIP predictors.

[0164] In this embodiment, it is proposed to fuse at least one EIP predictor with other predictor (s) predicted by different coding tool (s) to generate the fusion prediction block. In mathematical terms, the process for generating an EIP fusion prediction block Predfusion can be expressed as a weighted average of each predictor: Predcur (x, y) =weip·Predeip (x, y) +wnonEip·PrednonEip (x, y)

[0165] In the formula, weip is the weight assigned to the EIP prediction block, Predeip is the acquired EIP prediction block, wnonEip is the weight assigned to another prediction block which is different from EIP prediction block, PrednonEip is that prediction block.

[0166] Alternatively, one EIP predictor and multiple other predictors may be fused to generate the fusion prediction block: Predcur (x, y) =weip·Predeip (x, y) +wnonEip1·PrednonEip1 (x, y) +wnonEip2·PrednonEip2 (x, y)  +…+wnonEipn·PrednonEipn (x, y)

[0167] In the formula, PrednonEipn is the predictor generated by the n -th prediction which is different from EIP prediction block, wnonEipn is the corresponding weight assigned to the n -th prediction block.

[0168] Weights of these predictors for generating the fusion prediction block may be determined in various ways.

[0169] For example, the weights for EIP fusion may be predefined values. In a particular implementation, the values of weip and wnonAng may be defined as follows:

[0170] For example, the weights for EIP fusion may be signaled from the encoding system. In other words, weights are not fixed but are explicitly signaled in the bitstream. For example, a set of weighting parameters is constructed and an index indicating the weighting parameters may be signaled.

[0171] For example, the weights for EIP fusion may be adaptively determined based on the coding information of the current block or its neighbors. The coding information can be the regular EIP mode or EIP merge mode used to obtain the EIP predictor. Alternatively, the coding information can be the block sizes or block dimensions of the current block and / or the neighboring blocks.

[0172] For example, the weights for EIP fusion may be derived using template matching costs. Specifically, the higher the template matching cost of one mode, the lower the weight it has.

[0173] For example, the weights for EIP fusion may be derived using linear equation solver. Specifically, the weighting parameters may be derived using the LDL method or Gaussian elimination.

[0174] According to the present embodiment, the EIP may be fused with one or more non-EIP predictors such as a BV-based predictor. The implementation of the present embodiment may enhance the effectiveness of EIP prediction for non-adjacent areas.

[0175] FIG. 10 conceptually illustrates an apparatus 600 with which some embodiments of the invention are implemented. The apparatus 600 may be an encoding device or a decoding device. The apparatus 600 may be a computer (e.g., a desktop computer, personal computer, tablet computer, etc. ) , phone, PDA, or any other sort of electronic device. Such an apparatus includes various types of computer readable media and interfaces for various other types of computer readable media. The apparatus 600 includes a processor 602 and a memory 604. The memory 604 is configured to store executable instructions that, when executed by the processor, cause the processor to perform any one of the foregoing decoding or encoding methods.

[0176] The processor 602 may be a single processor or a multi-core processor in different embodiments. In some embodiments, the processor may include a GPU, NPU or DSP which may offload various computations or complement the image processing provided by the processor 602.

[0177] Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media) . Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM) , recordable compact discs (CD-R) , rewritable compact discs (CD-RW) , read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM) , a variety of recordable / rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc. ) , flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc. ) , magnetic and / or solid state hard drives, read-only and recordable discs, ultra density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.

[0178] While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) . In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself. In addition, some embodiments execute software stored in programmable logic devices (PLDs) , ROM, or RAM devices.

[0179] As used in this specification and any claims of this application, the terms “computer” , “server” , “processor” , and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. As used in this specification and any claims of this application, the terms “computer readable medium, ” “computer readable media, ” and “machine readable medium” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.

[0180] The present disclosure further provides a computer readable media which is configured to store executable instructions. When the instructions are executed by a processor, the processor may perform any one of the foregoing methods and processes. Many of the above-described features and applications are implemented as software processes that are specified as a set of instructions recorded on a computer readable storage medium (also referred to as computer readable medium) . When these instructions are executed by one or more computational or processing unit (s) (e.g., one or more processors, cores of processors, or other processing units) , they cause the processing unit (s) to perform the actions indicated in the instructions. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, random access memory (RAM) chips, hard drives, erasable programmable read only memories (EPROMs) , electrically erasable programmable read-only memories (EEPROMs) , etc. The computer readable media does not include carrier waves and electronic signals passing wirelessly or over wired connections.

[0181] In this specification, the term “software” is meant to include firmware residing in read-only memory or applications stored in magnetic storage which can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while remaining distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described here is within the scope of the invention. In some embodiments, the software programs, when installed to operate on one or more electronic systems, define one or more specific machine implementations that execute and perform the operations of the software programs.

[0182] While the disclosure has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. In addition, a number of the figures conceptually illustrate processes and methods. The specific operations of these processes may not be performed in the exact order shown and described. The specific operations may not be performed in one continuous series of operations, and different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro process.

[0183] The foregoing is merely embodiments of the present disclosure, and is not intended to limit the scope of the disclosure. Any transformation of equivalent structure or equivalent process which uses the specification and the accompanying drawings of the present disclosure, or directly or indirectly application in other related technical fields, are likewise included within the scope of the protection of the present disclosure.

Claims

1.An intra-prediction method applying block vector (BV) based prediction, comprising:determining whether BV based prediction is applied for a fusion or blending process in prediction of a current block; andwhen it is determined that the BV based prediction is applied for the current block, selecting a target BV based prediction mode for prediction of the current block.2.The method of claim 1, wherein the determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block comprises:determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block based on a size of the current block.3.The method of claim 1, wherein the determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block comprises:determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block based on at least one selected from: direction, magnitude, and position of candidate BV based prediction modes.4.The method of claim 1,wherein a fusion prediction is applied for prediction of the current block;wherein the determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block comprises: determining whether the BV based prediction is applied for the current block based on at least one selected from: a gradient of a fusion predictor, a number of fusion predictors; prediction modes involved in the fusion prediction.5.The method of claim 1, wherein the determining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block comprises:receiving an indication from an encoder; anddetermining whether the BV based prediction is applied for the fusion or blending process in prediction of the current block based on the indication.6.The method of claim 1, wherein the selecting the target BV based prediction mode comprises:obtaining a plurality of candidate BV based predictors on one or more templates of the current block; andselecting the target BV based prediction mode of which a corresponding BV based predictor on the one or more templates has lowest template matching cost.7.The method of claim 6,wherein each of the one or more templates is a one-side template of the current block.8.The method of claim 7,wherein the plurality of candidate BV based predictors comprise one or more horizontal BV based predictors and / or one or more vertical BV based predictors;wherein a template for the one or more horizontal BV based predictors is located to the left of the current block;wherein a template for the one or more vertical BV based predictors is located above the current block.9.The method of claim 8, whereinwhen a width of the current block is less than a height of the current block, template matching costs of the one or more vertical BV based predictors are multiplied by a first aspect ratio of the height to the width; orwhen a height of the current block is less than a width of the current block, template matching costs of the one or more horizontal BV based predictors are multiplied by a second aspect ratio of the width to the height.10.An intra-prediction method applying block vector (BV) based prediction, comprising:obtaining a plurality of BV based prediction modes;determining one or more templates of a current block corresponding to the plurality of BV based prediction modes;determining template matching costs of predictors of the plurality of BV based prediction modes on the one or more templates;selecting a target BV based prediction mode of which a corresponding BV based predictor on the one or more templates has lowest template matching cost; andapplying the target BV based prediction mode for a fusion or blending process in prediction of the current block.11.The method of claim 10,wherein each of the one or more templates is a one-side template of the current block.12.The method of claim 11,wherein the predictors of the plurality of BV based prediction modes comprise one or more horizontal BV based predictors and / or one or more vertical BV based predictors;wherein a template for the one or more horizontal BV based predictors is located to the left of the current block;wherein a template for the one or more vertical BV based predictors is located above the current block.13.The method of claim 12, whereinwhen a width of the current block is less than a height of the current block, template matching costs of the one or more vertical BV based predictors are multiplied by a first aspect ratio of the height to the width; orwhen a height of the current block is less than a width of the current block, template matching costs of the one or more horizontal BV based predictors are multiplied by a second aspect ratio of the width to the height.14.An intra-prediction method applying Extrapolation filter-based Intra Prediction (EIP) , comprising:generating an EIP based predictor for a current block;generating one or more non-EIP predictors for the current block; andblending the EIP based predictor with the one or more non-EIP predictors for prediction of the current block.15.The method of claim 14, wherein the blending the EIP based predictor with the one or more non-EIP predictors for prediction of the current block comprises:generating a fusion predictor based on a weighted sum of the EIP based predictor and the one or more non-EIP predictors.16.The method of claim 15,wherein weights used for generating the fusion predictor are pre-defined; orwherein weights used for generating the fusion predictor are received from an encoder; orwherein weights used for generating the fusion predictor are determined based on type of the EIP based predictor; orwherein weights used for generating the fusion predictor are determined based on a size of the current block or a size of a neighboring block; orwherein weights used for generating the fusion predictor are determined based on template matching costs of the EIP based predictor and the one or more non-EIP predictors.17.A video coding apparatus, comprising a processor and a memory, wherein the memory is configured to store executable instructions that, when executed by the processor, cause the processor to perform the method of any of claims 1 to 16.18.A computer readable medium storing executable instructions that, when executed by a processor, cause the processor to perform the method of any of claims 1 to 16.