Methods and apparatus for fusion of intra prediction signals in an image and video coding system
Adaptive multi-line fusion of intra prediction signals in video coding systems addresses inefficiencies in existing systems by dynamically adjusting fusion weights, leading to improved coding efficiency and video quality.
Patent Information
- Application Number
- PCT/CN2025/071418
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-23
- Filing Date
- 2025-01-09
- Publication Date
- 2025-07-31
AI Technical Summary
Existing video coding systems face inefficiencies in intra prediction, particularly in handling various types of video sources, including 3D signals, due to fixed fusion weights in angular intra prediction modes, which do not adapt well to varying video contents and coding conditions.
Adaptive multi-line fusion of intra prediction signals is employed, where fusion weights are dynamically determined based on video content and coding conditions, using methods such as linear regression and pre-defined rules to optimize the prediction process.
This approach enhances intra prediction performance by flexibly adjusting fusion weights, improving coding efficiency and video quality by minimizing template-matching costs, thereby enhancing the overall video coding process.
Smart Images

Figure CN2025071418_31072025_PF_FP_ABST
Abstract
Description
METHODS AND APPARATUS FOR FUSION OF INTRA PREDICTION SIGNALS IN AN IMAGE AND VIDEO CODING SYSTEMCROSS 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 / 623, 836, filed on January 23, 2024. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION
[0002] The present invention relates to video coding system. In particular, the present invention relates to flexible multi-line fusion for intra prediction in a video coding system. 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 similar or portion of the same functional blocks as the encoder except for Transform 118 and Quantization 120 since the decoder only needs Inverse Quantization 124 and Inverse Transform 126. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.
[0007] In VVC, the sequence parameter set (SPS) and the picture parameter set (PPS) contain high-level syntax elements that apply to entire coded video sequences and pictures, respectively. The picture header (PH) and slice header (SH) contain high-level syntax elements that apply to a current coded picture and a current coded slice, respectively.
[0008] In VVC, a coded picture is partitioned into non-overlapped square block regions represented by the associated coding tree units (CTUs) . A coded picture can be represented by a collection of slices, each comprising an integer number of CTUs. The individual CTUs in a slice are processed in raster-scan order. A bi-predictive (B) slice may be decoded using intra prediction or inter prediction with at most two motion vectors and reference indices to predict the sample values of each block. A predictive (P) slice is decoded using intra prediction or inter prediction with at most one motion vector and reference index to predict the sample values of each block. An intra (I) slice is decoded using intra prediction only.
[0009] In VVC, each CTU can be partitioned into one or multiple non-overlapped coding units (CUs) using a quaternary tree (QT) with nested multi-type-tree (MTT) structure. The partitioning information is signalled by a coding tree syntax structure, where each CTU is treated as the root of a coding tree. The CTUs may be first partitioned by the quaternary tree (a. k. a. quadtree) structure, as shown in Fig. 2A. Then the quaternary tree leaf nodes can be further partitioned by a MTT structure, as shown in Figs. 2B-E. There are four splitting types in multi-type tree structure: vertical binary splitting (SPLIT_BT_VER) in Fig. 2B, horizontal binary splitting (SPLIT_BT_HOR) in Fig. 2C, vertical ternary splitting (SPLIT_TT_VER) in Fig. 2D, and horizontal ternary splitting (SPLIT_TT_HOR) in Fig. 2E. Each quadtree child node may be further split into smaller coding tree nodes using any one of five split types in Figs. 2A-E. However, each multi-type-tree child node is only allowed to be further split by one of four MTT split types. The coding tree leaf nodes correspond to the coding units (CUs) . Fig. 3 provides an example of a CTU recursively partitioned by QT with the nested MTT, where the bold block edges represent quadtree partitioning and the remaining edges represent multi-type tree partitioning.
[0010] Each CU contains one or more prediction units (PUs) . The prediction unit, together with the associated CU syntax, works as a basic unit for signalling the predictor information. The specified prediction process is employed to predict the values of the associated pixel samples inside the PU. Each CU may contain one or more transform units (TUs) for representing the prediction residual blocks. A transform unit (TU) is comprised of one transform block (TB) of luma samples and two corresponding transform blocks of chroma samples. Each TB corresponds to one residual block of samples from one colour component. An integer transform is applied to a transform block. The level values of quantized coefficients together with other side information are entropy coded in the bitstream. The terms coding tree block (CTB) , coding block (CB) , prediction block (PB) , and transform block (TB) are defined to specify the 2-D sample array of one colour component associated with CTU, CU, PU, and TU, respectively. Thus, a CTU consists of one luma CTB, two chroma CTBs, and associated syntax elements. A similar relationship is valid for CU, PU, and TU.
[0011] Joint Video Expert Team (JVET) of ITU-T SG16 WP3 and ISO / IEC JTC1 / SC29 / WG11 are currently in the process of exploring the next-generation video coding standard. Some promising new coding tools have been adopted into Enhanced Compression Model 4 (ECM 8) (M. Coban, F. Le Léannec, R. -L. Liao, K. Naser, J. L. Zhang “Algorithm description of Enhanced Compression Model 8 (ECM 8) , ” Joint Video Expert Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, Doc. JVET-AC2025, 29th Meeting, by teleconference, 11–20 January 2023) to further improve VVC.
[0012] In ECM-8.0, a multi-line fusion is adopted for an angular intra prediction mode to intra predict a current block, wherein a fused signal for predicting the current block is formed by a weighted sum of the two intra prediction signals derived by the reconstructed samples from the two adjacent reference lines using a specified intra prediction mode. The fused signal Pfusion for intra predicting the current block is given by Pfusion = 0.75 *Pm, n + 0.25 *Pm, n+1 (1) where m is a specified intra prediction mode for the current block, n is a specified reference line index for the current block, Pm, n and Pm, n+1 are the prediction signals derived using the reconstructed samples from the reference lines indexed by n and n+1, respectively, using the intra prediction mode m.
[0013] In the present invention, methods and apparatus to generate fused prediction adaptively from multiple reference lines are disclosed to improve the performance. BRIEF SUMMARY OF THE INVENTION
[0014] A method and apparatus for video coding using fused intra predictor are disclosed. According to the method, input data associated with a current block is received, wherein the input data comprise pixel data to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. A plurality of reference lines in a reconstructed region of the current block is selected. A plurality of reference-line predictors for a target intra prediction mode is derived, wherein each reference-line predictor is derived according to each reference line. A fused intra predictor is derived by blending the plurality of reference-line predictors adaptively using fusing weights, wherein the fusing weights, selection of the plurality of reference lines, a number of reference lines in the plurality of reference lines, or a combination thereof are determined adaptively. The current block is encoded or decoded using the fused intra predictor.
[0015] In one embodiment, the fusing weights are determined based on coded neighbouring samples of the current block. In one embodiment, the fusing weights are determined using a linear regression process to minimize TM (Template-Matching) cost for a target fused predictor associated with a target candidate of the fusing weights according to a specified metric, wherein the TM cost associated with the target candidate of the fusing weights is calculated by comparing predicted signal and reconstructed signal over a template region of the current block, and wherein the predicted signal is generated according to the target fused predictor. In one embodiment, the specified metric corresponds to a sum of absolute transformed differences (SATD) or a sum of absolute differences (SAD) .
[0016] In one embodiment, the fusing weights are derived from pre-defined candidate sets according to one or more pre-defined rules. In one embodiment, said one or more pre-defined rules comprise block width, block height, block area size, quantization parameter (QP) , selected reference line index, prediction mode associated with the current block, or a combination thereof.
[0017] In one embodiment, the fusing weights are derived from pre-defined candidate sets and wherein one or more syntax elements are signalled in a bitstream to indicate values of the pre-defined candidate sets.
[0018] In one embodiment, the plurality of reference lines includes one reference line with reference line index equal to 0.
[0019] In one embodiment, the plurality of reference lines includes two reference lines with a first reference line index and a second reference line index. In one embodiment, the first reference line index is derived according to syntax information from a bitstream. In one embodiment, the second reference line index is selected from a candidate reference line index list.
[0020] In one embodiment, when the number of reference lines in the plurality of reference lines is determined adaptively, the fused intra predictor is generated by blending a first reference-line predictor generated from a target reference line with one or more second reference-line predictors generated respectively from one or more neighbouring reference lines of the target reference line and wherein at least one second reference-line predictor is generated from two or more neighbouring reference lines of the target reference line. In one embodiment, the plurality of reference lines is selected from multiple sets of reference line combinations having a same number or different numbers of reference lines.
[0021] In one embodiment, the plurality of reference lines is selected from multiple sets of reference line combinations according to one or more pre-defined rules depending on current coding conditions. In one embodiment, said one or more pre-defined rules comprise block width, block height, area size, quantization parameter (QP) , selected reference line index n, prediction mode associated with the current block, or a combination thereof.
[0022] In one embodiment, the plurality of reference lines is selected from multiple sets of reference line combinations associated with multiple sets of reference lines according to TM (Template Matching) costs of individual reference lines in the multiple sets of reference lines. In another embodiment, the plurality of reference lines is selected from multiple sets of reference line combinations associated with multiple sets of reference lines according to TM (Template Matching) costs of the multiple sets of reference line combinations.BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Fig. 1A illustrates an exemplary adaptive Inter / Intra video coding system incorporating loop processing.
[0024] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.
[0025] Figs. 2A-E illustrates that a CU can be split into smaller CUs using one of the five split types (quad-tree partitioning in Fig. 2A, vertical binary tree partitioning in Fig. 2B, horizontal binary tree partitioning in Fig. 2C, vertical centre-side triple-tree partitioning in Fig. 2D, and horizontal centre-side triple-tree partitioning in Fig. 2E) .
[0026] Fig. 3 illustrates an example of a CTU being recursively partitioned by QT with the nested MTT.
[0027] Fig. 4 illustrates a flowchart of an exemplary video coding system that generates fused intra predictor by blending a plurality of reference-line predictors adaptively according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION
[0028] 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.
[0029] 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.
[0030] In the present invention, new methods are disclosed for improving intra prediction by a fusion of multiple intra predictors derived by the reconstructed samples from different reference lines respectively. In ECM-8.0, a fixed set of fusion weights (0.75, 0.25) is adopted to derive the fused signal for an angular intra prediction mode. According to one aspect of the present invention, a video coder may form a fused intra prediction signal by using adaptive fusion weights for further improving intra prediction performance. In this way, the fusion weights can be flexibly adjusted considering video contents and coding conditions. In the proposed method, a video coder may further comprise deriving a set of the weights (w0, w1) for generating a fused prediction signal by a fusion of two intra prediction signals derived from the reference lines n and n+1, respectively, for intra predicting a current block in prediction mode m, as follows: Pfusion = w0 *Pm, n + w1 *Pm, n+1. (2)
[0031] In some embodiments, a video coder may derive the multi-line fusion weights of a fused signal for intra predicting a current block from the coded neighbouring samples. For one example, a video coder may derive the fusion weights of a fused signal for intra predicting a current block by using a linear regression method for minimization of the template-matching (TM) cost of the fused signal according to some specified metric, wherein the TM cost of a prediction signal is calculated by comparing the prediction signal and the reconstructed signal over the template region of the current block based on some specified metric. In some embodiments, the template region may comprise one above neighbouring row and one left neighbouring column of the current block. The TM costs may be measured by the sum of absolute transformed differences (SATD) or the sum of absolute differences (SAD) between the predicted samples and reconstructed samples over the template region for the current CU. For another example, a video coder may calculate a template-matching cost between a predicted signal and a reconstructed signal over a template region of a current block for each of the intra predictors derived from the reference line n and n+1, respectively, using the specified intra prediction mode. The video coder may derive the fusion weights of a fused signal for intra predicting the current block based on the template-matching costs calculated for the predictors derived by using the reconstructed samples from the specified reference lines n and n+1, respectively. In one preferred embodiment, the fusion weights are set as follows: w0 = costN1 / (costN + costN1) , and w1 = costN / (costN + costN1) . where costN and costN1 are the template matching costs calculated for the intra predictors derived by using the reconstructed samples from the reference lines n and n+1, respectively, using the specified intra prediction mode.
[0032] In some embodiments, a video coder may comprise some pre-defined candidate sets of multi-line fusion weights for deriving a fused signal for intra predicting a current block. The video coder may derive the selected set of the fusion weights from the pre-defined candidate sets for intra predicting a current block according to some pre-defined rule. For example, a video coder may implicitly derive the set of the fusion weights for intra predicting a current block depending on block dimension (e.g. width, height, and / or area size) , quantization parameter (QP) , selected reference line index n, and / or prediction mode associated with the current block. In some preferred embodiments, a video coder may derive the set of the fusion weights for intra predicting a current block depending on whether the current block width, height, area size, and / or selected reference line index n is greater or less than one or more specified threshold values. In some preferred embodiments, a video coder may set the selected fusion weights (w0, w1) equal to (0.5, 0.5) for deriving a fused signal for intra predicting a current block when the selected reference line index for the current block is greater than a specified threshold value.
[0033] The video coder may further set the selected fusion weights (w0, w1) equal to (1, 0) when the selected reference line index for the current block is less than another specified threshold value. Otherwise, the video coder may set the selected fusion weights (w0, w1) equal to (0.75, 0.25) . In some embodiments, the candidate multi-line fusion weight sets (w0, w1) may comprise (1, 0) , (0.875, 0.125) , (0.75, 0.25) , (0.625, 0.375) , (0.5, 0.5) or a combination thereof. The said decision threshold values can be further signalled in the bitstream. For another example, a video coder may derive the selected set of the fusion weights for intra predicting a current block by comparing the template-matching costs associated with the fused signals derived by candidate fusion weight sets individually. In one embodiment, a video coder may determine to select the set of fusion weights leading to the lowest template matching cost for intra predicting a current block. In some embodiments, a video coder may further signal one or more syntax elements to indicate the values of multi-line fusion weights for intra predicting a current block. For example, a video coder may signal one or more syntax elements to specify the fusion weights in one or more high-level syntax sets such as SPS, PPS, PH, and SH. In some embodiments, a video coder may signal one or more syntax elements in a current block for deriving the selected multi-line fusion weights for intra predicting the current block.
[0034] In ECM-8.0, given a specified reference line index n, a fused intra prediction signal formed by multi-line fusion for prediction a current block always employs the reference lines n and n+1 for deriving the two intra predictors. According to another aspect of the present invention, a video coder may form a fused intra prediction signal by using a combination of non-adjacent reference lines. In some embodiments for a specified reference line index n greater than 0 and a specified intra prediction mode m for predicting a current block, a video coder may generate an intra prediction signal by a fusion of two intra predictors derived by the reconstructed samples from the two reference lines indexed by n and 0, respectively, for predicting the current block as follows: Pfusion = w0 *Pm, n + w1 *Pm, 0 wherein Pm, n and Pm, 0 correspond to the prediction signals derived by using the reconstructed samples from the reference lines indexed by n and 0, respectively, using the intra prediction mode m.
[0035] According to another aspect of the present invention, a video coder may determine the combination of reference lines adaptively to form a fused signal to further improve intra prediction performance. For example, a video coder may adaptively select two reference lines indexed by n0 and n1, respectively, to derive a fused prediction signal for intra predicting a current block using a specified intra prediction mode m, as follows: Pfusion = w0 *Pm, n0 + w1 *Pm, n1. wherein Pm, n0 and Pm, n1 correspond to the prediction signals derived by using the reconstructed samples from the reference lines indexed by n0 and n1, respectively, using the specified intra prediction mode m.
[0036] In some embodiments, a video coder may first derive a primary reference line index n0 from syntax information for intra predicting a current CU. The video coder may further comprise creating a candidate reference line index list and determining a secondary reference line index n1 by selecting a reference line index from the candidate reference line list. In some configurations, the candidate reference line index list may comprise reference line indices n0-1, n0+1, and / or 0. In some configurations, the candidate reference line index list may comprise one or more reference line indices pre-defined by the video coder. For examples, the candidate reference line index list may comprise one or more reference line indices referred by the output entries of the pre-defined look-up table that maps a coded index value to a selected reference line index for intra predicting the current block in the video coder. In ECM-8.0, the output entries of the pre-defined look-up mapping table comprise the reference line indices 0, 1, 3, 5, 7, and 12. In some embodiments, a video coder may comprise signalling one or more syntax elements for deriving the selected second reference line index n1 from the candidate reference line index list.
[0037] In some embodiments, a video coder may comprise further utilizing the coded information from the reconstructed samples for deriving the selected second reference line index n1.For example, a video coder may predict the selected second reference line index n1 for a current CU by comparing the TM costs of the prediction signals respectively derived by the reference lines in the candidate reference line index list and / or the TM costs of the fused prediction signals formed by the reference line n0 and the reference lines in the candidate reference line index list, respectively. In some embodiments, the candidate reference line index list can be re-ordered according to the TM costs of derived prediction signals. A video coder may further comprise signalling one or more syntax elements to indicate one or more selected reference line indices from the N leading reference lines corresponding to the N lowest TM costs in the re-ordered candidate list to form a fused signal for intra predicting a current block, wherein N is a positive integer less than or equal to the candidate reference line index list size.
[0038] When N is equal to the number of the selected reference line indices, the video coder will always select the reference lines corresponding to the N lowest TM cost (s) without a need to signal any syntax information explicitly. In some embodiments, a video coder may derive a list of candidate combinations of reference lines to form a fused signal for intra predicting a current block. The list of the candidate reference line index combinations can be created by considering the TM costs of intra prediction signals derived from different reference lines and / or the TM costs of fused prediction signals derived from different reference line combinations. The video coder may signal one or more syntax elements to indicate the selected combination of references lines from the candidate list to form a fused signal for predicting the current block.
[0039] According to another aspect of the present invention, a video coder may form a fused prediction signal to intra predict a current block by a fusion of more than two intra predictors derived by the reconstructed samples from different reference lines. For example, a video coder may form a fused intra prediction signal by multi-line fusion utilizing three reference lines indexed by n0, n1 and n2, as follows: Pfusion = w0 *Pm, n0 + w1 *Pm, n1 + w2 *Pm, n2 where Pm, n0, Pm, n1 and Pm, n2 correspond to the prediction signals derived by using the reconstructed samples from the reference lines indexed by n0, n1, and n2, respectively, using the intra prediction mode m, and w0, w1 and w2 are the fusion weights for predictors Pm, n0, Pm, n1 and Pm, n2, respectively.
[0040] In some embodiments, the selected reference line indices and the values of the fusion weights may be pre-defined and derived by some specified rules. In one specific embodiment, when the specified reference line index n is greater than 0, a video coder may generate a fused prediction signal for intra predicting a current block by a fusion of three intra predictors derived by the reconstructed samples from three adjacent reference lines indexed by n-1, n, and n+1, respectively, using a specified intra prediction mode m with fusion weight set (0.25, 0.5, 0.25) , as follows: Pfusion = (Pm, n-1 + 2 *Pm, n+ Pm, n+1 + 2 ) >> 2.
[0041] According to another aspect of the present invention, a video coder may form a fused prediction signal by using an adaptive number of intra predictors derived from different reference lines. For example, for a specified reference line index n, a video coder may determine whether a fused predictor is formed by the reconstructed samples from reference line combinations (n, n+1, n-1) , (n, n+1) , (n-1, n+1) or (n, n-1) , adaptively. In some embodiments, the number of reference lines may be determined by some pre-define rules depending on current coding conditions such as block dimension (e.g. width, height, and / or area size) , quantization parameter (QP) , selected reference line index n, and / or prediction mode associated with the current block.
[0042] In some embodiments, the selected reference lines to form a fused signal may be derived by using the reconstructed samples from the neighbouring blocks of the current block. For example, a video coder may determine whether a fused predictor is formed by the reconstructed samples from reference line combinations (n, n+1, n-1) , (n, n+1) , or (n, n-1) by comparing the TM costs of the intra prediction signals derived by the reference lines n, n-1, n+1, respectively and / or the TM costs of the fused prediction signals derived by the reference line combinations (n, n+1, n-1) , (n, n+1) , and (n, n-1) , respectively. For another example, given a specified reference line index 0, a video coder may form a fused signal for intra predicting a current block by a fusion of up to three intra predictors derived by reconstructed samples from reference lines 0, 1, and 2, respectively. In some embodiments, the video coder may exclude the intra predictor k derived from reference line k for forming the fused signal when the TM cost of the predictor k is greater than a specified threshold value Tk. The template region comprises one above neighbouring row and one left neighbouring column of the current block, k is equal to 1 or 2, and Tk may be dependent on the block dimension and the sample bit depth of the current block. In some embodiments, the video coder may derive the selected combination of reference lines by comparing the TM costs of all fused signals formed by different combinations of references lines.
[0043] In some embodiments, a video coder may signal one or more syntax elements to indicate the selected reference line indices and / or multiline fusion mode for intra predicting a current block. For example, a video coder may signal one or more syntax elements to derive the reference line indices and / or related fusion weights for multi-line intra fusion in one or more high-level syntax sets such as SPS, PPS, PH, and SH. In some embodiments, a video coder may signal one or more syntax elements in a current block for deriving the selected reference line indices for intra predicting the current block.
[0044] The proposed method may further comprise signalling one or more syntax elements in one or more high-level syntax sets to indicate whether any of the proposed methods is enabled or disable in a current video data unit, wherein the high-level syntax sets may comprise SPS, PPS, PH, SH, or a combination thereof. For example, a video coder may signal a syntax element sps_multiline_fusion_enable_flag to indicate whether multi-line fusion is enabled for deriving a fused intra prediction signal for predicting a current block. The video coder may further comprise one or more syntax elements to indicate whether the adaptive fusion weights are enabled.
[0045] Any of the foregoing proposed methods can be implemented in encoders and / or decoders. For example, any of the proposed methods of generating fused intra predictor can be implemented in an intra prediction module of an encoder, and / or an intra prediction module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit integrated to the intra prediction module of the encoder and / or the intra prediction module of the decoder. The proposed aspects, methods and related embodiments can be implemented individually or jointly in an image and video coding system. With reference to the encoder and decoder shown in Fig. 1A and Fig 1B, any of the proposed methods of generating fused intra predictor can be implemented in an Intra / Inter coding module (e.g. Intra Pred. 150 / in Fig. 1B) in a decoder or an Intra coding module is an encoder (e.g. Intra Pred. 110 / in Fig. 1A) . Any of the proposed methods can also be implemented as a circuit coupled to the intra / inter coding module at the decoder or the encoder. However, the decoder or encoder may also use additional processing unit to implement the required cross-component prediction processing. While the Intra Pred. units (e.g. unit 110 in Fig. 1A and unit 150 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) ) .
[0046] Fig. 4 illustrates a flowchart of an exemplary video coding system that generates fused intra predictor by blending a plurality of reference-line predictors adaptively according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, input data associated with a current block is received in step 410, wherein the input data comprise pixel data to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side. A plurality of reference lines in a reconstructed region of the current block is selected in step 420. A plurality of reference-line predictors for a target intra prediction mode is derived in step 430, wherein each reference-line predictor is derived according to each reference line. A fused intra predictor is derived by blending the plurality of reference-line predictors adaptively using fusing weights in step 440, wherein the fusing weights, selection of the plurality of reference lines, a number of reference lines in the plurality of reference lines, or a combination thereof are determined adaptively. The current block is encoded or decoded using the fused intra predictor in step 450.
[0047] The flowchart shown is 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.
[0048] 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.
[0049] 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.
[0050] 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 to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;selecting a plurality of reference lines in a reconstructed region of the current block;deriving a plurality of reference-line predictors for a target intra prediction mode, wherein each reference-line predictor is derived according to each reference line;deriving a fused intra predictor by blending the plurality of reference-line predictors adaptively using fusing weights, wherein the fusing weights, selection of the plurality of reference lines, a number of reference lines in the plurality of reference lines, or a combination thereof are determined adaptively; andencoding or decoding the current block using the fused intra predictor.2.The method of Claim 1, wherein the fusing weights are determined based on coded neighbouring samples of the current block.3.The method of Claim 2, wherein the fusing weights are determined using a linear regression process to minimize TM (Template-Matching) cost for a target fused predictor associated with a target candidate of the fusing weights according to a specified metric, wherein the TM cost associated with the target candidate of the fusing weights is calculated by comparing predicted signal and reconstructed signal over a template region of the current block, and wherein the predicted signal is generated according to the target fused predictor.4.The method of Claim 3, wherein the specified metric corresponds to a sum of absolute transformed differences (SATD) or a sum of absolute differences (SAD) .5.The method of Claim 1, wherein the fusing weights are derived from pre-defined candidate sets according to one or more pre-defined rules.6.The method of Claim 5, wherein said one or more pre-defined rules comprise block width, block height, block area size, quantization parameter (QP) , selected reference line index, prediction mode associated with the current block, or a combination thereof.7.The method of Claim 1, wherein the fusing weights are derived from pre-defined candidate sets and wherein one or more syntax elements are signalled in a bitstream to indicate values of the pre-defined candidate sets.8.The method of Claim 1, wherein the plurality of reference lines includes one reference line with reference line index equal to 0.9.The method of Claim 1, wherein the plurality of reference lines includes two reference lines with a first reference line index and a second reference line index.10.The method of Claim 9, wherein the first reference line index is derived according to syntax information from a bitstream.11.The method of Claim 10, wherein the second reference line index is selected from a candidate reference line index list.12.The method of Claim 1, wherein when the number of reference lines in the plurality of reference lines is determined adaptively, the fused intra predictor is generated by blending a first reference-line predictor generated from a target reference line with one or more second reference-line predictors generated respectively from one or more neighbouring reference lines of the target reference line and wherein at least one second reference-line predictor is generated from two or more neighbouring reference lines of the target reference line.13.The method of Claim 12, wherein the plurality of reference lines is selected from multiple sets of reference line combinations having a same number or different numbers of reference lines.14.The method of Claim 12, wherein the plurality of reference lines is selected from multiple sets of reference line combinations according to one or more pre-defined rules depending on current coding conditions.15.The method of Claim 14, wherein said one or more pre-defined rules comprise block width, block height, area size, quantization parameter (QP) , selected reference line index n, prediction mode associated with the current block, or a combination thereof.16.The method of Claim 12, wherein the plurality of reference lines is selected from multiple sets of reference line combinations associated with multiple sets of reference lines according to TM (Template Matching) costs of individual reference lines in the multiple sets of reference lines.17.The method of Claim 12, wherein the plurality of reference lines is selected from multiple sets of reference line combinations associated with multiple sets of reference lines according to TM (Template Matching) costs of the multiple sets of reference line combinations.18.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 to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side;select a plurality of reference lines in a reconstructed region of the current block;derive a plurality of reference-line predictors for a target intra prediction mode, wherein each reference-line predictor is derived according to each reference line;derive a fused intra predictor by blending the plurality of reference-line predictors adaptively using fusing weights, wherein the fusing weights, selection of the plurality of reference lines, a number of reference lines in the plurality of reference lines, or a combination thereof is determined adaptively; andencode or decode the current block using the fused intra predictor.
Citation Information
Patent Citations
Weighted angular prediction coding for intra coding
US20170347103A1
Signaling for decoder-side intra mode derivation
US20220224922A1
Weight derivation of multiple reference line for intra prediction fusion
US20240022732A1
Video coding method and device using selective multiple reference line
WO2023195646A1
Intra-prediction fusion for video coding
WO2024010700A1