WO2026008049A1 - Methods and apparatus of decoder side intra mode derivation for chroma in video coding - Google Patents
Methods and apparatus of decoder side intra mode derivation for chroma in video codingInfo
- Publication number
- WO2026008049A1 WO2026008049A1 PCT/CN2025/107020 CN2025107020W WO2026008049A1 WO 2026008049 A1 WO2026008049 A1 WO 2026008049A1 CN 2025107020 W CN2025107020 W CN 2025107020W WO 2026008049 A1 WO2026008049 A1 WO 2026008049A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- intra
- block
- prediction
- candidates
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A method and apparatus of deriving intra candidates for coding chroma blocks using inherited information of previous coded block are disclosed. According to this method, input data associated with a current block is received, wherein the input data comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and the current block comprises one or more chroma blocks. One or more intra-prediction candidates are derived by inheriting prediction information from one or more previous coded blocks, wherein the prediction information comprises histogram values or one or more intra-prediction modes. One or more target intra candidates are selected from said one or more intra-prediction candidates. One or more predictors are generated using said one or more target intra candidates. At least one of said one or more chroma blocks of the current block is encoded or decoded by using said one or more predictors.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63/667,856, filed on July 5, 2024. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.
The present invention relates to video coding system. In particular, the present invention relates to derivation of intra candidates for coding chroma blocks using inherited information from previous coded blocks.
BACKGROUND AND RELATED ART
BACKGROUND AND RELATED ART
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.
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.
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.
The decoder, as shown in Fig. 1B, can use some of the functional blocks as the encoder. For example, the decoder can reuse Inverse Quantization 124 and Inverse Transform 126; however, Transform 118 and Quantization 120 are not needed at the decoder. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.
I. RELATED ART
I. 1 Decoder side intra mode derivation (DIMD)
When DIMD is applied, up to five intra modes are derived from the reconstructed neighbour samples, and those five predictors are combined with the planar mode predictor with the weights derived from the histogram of gradients as described in JVET-O0449 (Mohsen Abdoli, et al., “Non-CE3: Decoder-side Intra Mode Derivation with Prediction Fusion Using Planar” , Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Gothenburg, SE, 3–12 July 2019, Document JVET-O0449) . The decision for the non-directional modes is taken according to the template cost. Specifically, the block vectors of all adjacent and non-adjacent merge candidates (coded in Intra template matching prediction (IntraTMP) or IBC) are compared to planar prediction on the reconstructed template. The template cost (SATD) is used to select the best predictor among them.
For a block of size W×H, the weight for each of the five derived modes is modified if the above or left histogram magnitudes is twice larger than the other one. In this case, the weights are location dependent and computed as follows.
If the above histogram is twice the left, then:
If the left histogram is twice the above, then:
where wDimdi is the unmodified uniform weight of the DIMD selected as in JVET-O0449, Δi is pre-
defined and set to 10.
where wDimdi is the unmodified uniform weight of the DIMD selected as in JVET-O0449, Δi is pre-
defined and set to 10.
Finally, note the region of neighbouring reconstructed samples used for computing the histogram of gradients is modified compared to JVET-O0449 method, depending on reconstructed samples availability. The region of decoded reference samples of current WxH luma CB is extended towards the above-right side if available, up to W additional columns. It is extended towards the bottom-left side if available, up to H additional rows.
I. 1.1 DIMD Chroma Mode
The DIMD chroma mode uses the DIMD derivation method to derive the chroma intra prediction mode of the current block based on the neighbouring reconstructed Y, Cb and Cr samples in the second neighbouring row and column as shown in Figs. 2A-C for Y, Cb and Cr components (Fig. 2A, Fig. 2B and Fig. 2C) respectively. Specifically, a horizontal gradient and a vertical gradient are calculated for each collocated reconstructed luma sample of the current chroma block, as well as the reconstructed Cb and Cr samples, to build a HoG. Then the intra prediction mode with the largest histogram amplitude value is used for performing chroma intra prediction of the current chroma block.
When the intra prediction mode derived from the DIMD chroma mode is the same as the intra prediction mode derived from the DM mode, the intra prediction mode with the second largest histogram amplitude value is used as the DIMD chroma mode. A CU level flag is signalled to indicate whether the proposed DIMD chroma mode is applied.
Finally, the luma region of reconstructed samples used for computing the histogram of gradients for chroma DIMD mode is modified compared to JVET-O0449. For a WxH pair of chroma CBs to predict, to build the histogram of gradients associated to the collocated luma CB, the pairs of a vertical gradient and a horizontal gradient are extracted from the second and third lines in this luma CB instead of being extracted from the regular set of DIMD decoded reference samples around this luma CB.
I. 2 Inter Prediction
For each inter-predicted CU, motion parameters consist of motion vectors, reference picture indices and reference picture list usage index, and additional information needed for the new coding feature of VVC to be used for inter-predicted sample generation. The motion parameter can be signalled in an explicit or implicit manner. When a CU is coded with skip mode, the CU is associated with one PU and has no significant residual coefficients, no coded motion vector delta or reference picture index. A merge mode is specified whereby the motion parameters for the current CU are obtained from neighbouring CUs, including spatial and temporal candidates, and additional schedules introduced in Versatile Video Coding (VVC) . The merge mode can be applied to any inter-predicted CU, not only for skip mode. The alternative to merge mode is the explicit transmission of motion parameters, where motion vector, corresponding reference picture index for each reference picture list and reference picture list usage flag and other needed information are signalled explicitly per each CU.
I. 2.1 Extended Merge Prediction
In VVC, the merge candidate list is constructed by including the following five types of candidates in order:
1) Spatial MVP from spatial neighbour CUs
2) Temporal MVP from collocated CUs
3) History-based MVP from an FIFO table
4) Pairwise average MVP
5) Zero MVs.
1) Spatial MVP from spatial neighbour CUs
2) Temporal MVP from collocated CUs
3) History-based MVP from an FIFO table
4) Pairwise average MVP
5) Zero MVs.
I. 1.2.1 Spatial Candidate Derivation
The derivation of spatial merge candidates in VVC is the same as that in High Efficiency Video Coding (HEVC) except that the positions of first two merge candidates are swapped. A maximum of four merge candidates (B0, A0, B1 and A1) for current CU 310 are selected among candidates located in the positions depicted in Fig. 3. The order of derivation is B0, A0, B1, A1 and B2. Position B2 is considered only when one or more neighbouring CU of positions B0, A0, B1, A1 are not available (e.g. belonging to another slice or tile) or is intra coded. After candidate at position A1 is added, the addition of the remaining candidates is subject to a redundancy check which ensures that candidates with the same motion information are excluded from the list so that coding efficiency is improved. To reduce computational complexity, not all possible candidate pairs are considered in the mentioned redundancy check. Instead, only the pairs linked with an arrow in Fig. 4 are considered and a candidate is only added to the list if the corresponding candidate used for redundancy check does not have the same motion information.
I. 2.1.2 Temporal Candidates Derivation
In this step, only one candidate is added to the list. Particularly, in the derivation of this temporal merge candidate for a current CU 510, a scaled motion vector is derived based on the co-located CU 520 belonging to the collocated reference picture as shown in Fig. 5. The reference picture list and the reference index to be used for the derivation of the co-located CU is explicitly signalled in the slice header. The scaled motion vector 530 for the temporal merge candidate is obtained as illustrated by the dotted line in Fig. 5, which is scaled from the motion vector 540 of the co-located CU using the POC (Picture Order Count) distances, tb and td, where tb is defined to be the POC difference between the reference picture of the current picture and the current picture and td is defined to be the POC difference between the reference picture of the co-located picture and the co-located picture. The reference picture index of temporal merge candidate is set equal to zero.
The position for the temporal candidate is selected between candidates C0 and C1, as depicted in Fig. 6. If CU at position C0 is not available, is intra coded, or is outside of the current row of CTUs, position C1 is used. Otherwise, position C0 is used in the derivation of the temporal merge candidate.
I. 2.1.3 History-Based Merge Candidates Derivation
The history-based MVP (HMVP) merge candidates are added to the merge list after the spatial MVP and TMVP. In this method, the motion information of a previously coded block is stored in a table and used as MVP for the current CU. The table with multiple HMVP candidates is maintained during the encoding/decoding process. The table is reset (emptied) when a new CTU row is encountered. Whenever there is a non-subblock inter-coded CU, the associated motion information is added to the last entry of the table as a new HMVP candidate.
HMVP candidates can be used in the merge candidate list construction process. The latest several HMVP candidates in the table are checked in order and inserted to the candidate list after the TMVP candidate. Redundancy check is applied on the HMVP candidates to the spatial or temporal merge candidate.
I. 2.1.4 Pair-wise average merge candidate derivation
Pairwise average candidates are generated by averaging predefined pairs of candidates in the existing merge candidate list, using the first two merge candidates. The first merge candidate is defined as p0Cand and the second merge candidate can be defined as p1Cand, respectively. The averaged motion vectors are calculated according to the availability of the motion vector of p0Cand and p1Cand separately for each reference list. If both motion vectors are available in one list, these two motion vectors are averaged even when they point to different reference pictures, and its reference picture is set to the one of p0Cand; if only one motion vector is available, use the one directly; if no motion vector is available, set this list invalid. Also, if the half-pel interpolation filter indices of p0Cand and p1Cand are different, it is set to 0.
When the merge list is not full after pair-wise average merge candidates are added, the zero MVPs are inserted in the end until the maximum merge candidate number is encountered.
I. 3 Non-adjacent Spatial Candidate
The non-adjacent spatial merge candidates as in JVET-L0399 are inserted after the temporal motion vector prediction (TMVP) in the regular merge candidate list. The pattern of spatial merge candidates is shown in Fig. 7. The distances between non-adjacent spatial candidates and current coding block are based on the width and height of current coding block. The line buffer restriction is not applied.
In the present invention, methods and apparatus to generate intra candidates for coding chroma blocks by using inherited information from previous coded blocks are disclosed.
BRIEF SUMMARY OF THE INVENTION
BRIEF SUMMARY OF THE INVENTION
A method and apparatus of deriving intra candidates for coding chroma blocks using inherited information of previous coded block are disclosed. According to this method, input data associated with a current block is received, wherein the input data comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and the current block comprises one or more chroma blocks. One or more intra-prediction candidates are derived by inheriting prediction information from one or more previous coded blocks, wherein the prediction information comprises histogram values or one or more intra-prediction modes. One or more target intra candidates are selected from said one or more intra-prediction candidates. One or more predictors are generated using said one or more target intra candidates. At least one of said one or more chroma blocks of the current block is encoded or decoded by using said one or more predictors.
In one embodiment, the prediction information comprises N intra prediction modes with highest N histogram bars as suggested by the histogram values.
In one embodiment, the prediction information comprises DIMD (Decoder-side Intra Mode Derivation) weighting information, fusion or not, location-dependent features, or a combination thereof.
In one embodiment, the prediction information comprises reference line information, wide-angle condition, information associated with block vector, information associated with transform, information associated with colour components, block position, or a combination thereof.
In one embodiment, for one of said one or more chroma blocks of the current block, derivation of said one or more intra-prediction candidates is associated with one or more collocated luma blocks of a target current chroma block. In one embodiment, said one or more intra-prediction candidates are derived using spatial adjacent or non-adjacent neighbouring region of said one or more collocated luma blocks of the target current chroma block. In one embodiment, first positions of said one or more collocated luma blocks of the target current chroma block are determined based on second position, width, height, or area of the target current chroma block.
In one embodiment, when a luma block and said one or more chroma blocks of the current block are generated using a dual tree, and collocated luma blocks for a target current chroma block are located at pre-defined corresponding positions in a luma area.
In one embodiment, said one or more intra-prediction candidates are selected from an intra-prediction candidate list or array.
Fig. 1A illustrates an exemplary adaptive Inter/Intra video coding system incorporating loop processing.
Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.
Figs. 2A-C illustrate an example of the DIMD chroma mode using the DIMD derivation method to derive the chroma intra prediction mode of the current block based on the neighbouring reconstructed Y (Fig. 2A) , Cb (Fig. 2B) and Cr (Fig. 2C) samples in the second neighbouring row and column.
Fig. 3 illustrates the neighbouring blocks used for deriving spatial merge candidates for VVC.
Fig. 4 illustrates the possible candidate pairs considered for redundancy check in VVC.
Fig. 5 illustrates an example of temporal candidate derivation, where a scaled motion vector is derived according to POC (Picture Order Count) distances.
Fig. 6 illustrates the position for the temporal candidate selected between candidates C0 and C1.
Fig. 7 illustrates the neighbouring blocks used for deriving spatial merge candidates.
Fig. 8A illustrates an example of collocated luma block/position of a chroma CU, where the collocated luma position is located at (x, y) .
Fig. 8B illustrates another example of collocated luma block/position of a chroma CU, where the collocated luma position is located at (x, y) .
Fig. 9 illustrates an example of the derived mode using a direction offset according to one embodiment of the present invention.
Fig. 10 illustrates an example of the derived mode using swapping according to one embodiment of the present invention.
Fig. 11 illustrates an example of the derived mode using location adjustment according to one embodiment of the present invention.
Fig. 12 illustrates an example of DIMD multiple reference line (MRL) for deriving candidates according to one embodiment of the present invention.
Fig. 13 illustrates an example of centre samples for the top-left reference region of DIMD MRL.
Fig. 14A illustrates an example of multi-region DIMD using top-oriented reference region according to one embodiment of the present invention.
Fig. 14B illustrates an example of multi-region DIMD using left-oriented reference region according to one embodiment of the present invention.
Fig. 15 illustrates a flowchart of an exemplary video coding system that derives intra candidates for coding chroma blocks by using inherited information from previous coded blocks according to an embodiment of the present invention.
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.
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.
II. PROPOSED METHOD
In this invention, several proposed methods are used to improve prediction accuracy. In one way, a candidate list or array (for example, for intra prediction) , containing one or more DIMD candidates (which may be taken as one or more intra-prediction candidates) , is determined for the current block. One or more candidates are selected from the candidate list or array and the selected candidates are used to generate the predictors of the current block. In one embodiment, the current block is a chroma block, which refers to Cb or Cr. In section II. 1, information of a DIMD candidate is introduced. In section II. 2, construction of a candidate list or array is introduced. In section II. 3, prediction generation and several methods of signalling are introduced. The signalling methods are not limited to the description in section II. 3. In one embodiment, the proposed DIMD candidates can be sub-modes of a target mode. If the current block is chroma and the target mode is DIMD, such as DIMD chroma mode, each or at least one of the proposed DIMD candidates in section II. 1 can be treated as a sub-mode of DIMD. In one embodiment, when the enabling flag of DIMD for the current block indicates to apply DIMD to the current block, additional enabling flag is signalled or parsed to indicate whether to apply the proposed DIMD candidate to the current block. If the proposed DIMD candidate (e.g. candidate derived using the histogram of sample-appearance or the merged histogram) is determined to be applied to the current block, the DIMD information for the current block is generated according to the determined proposed DIMD candidate.
II. 1 Information of a DIMD Candidate
For a DIMD candidate, the information (for example, for prediction) includes items (a) , (b) , (c) , (d) , (e) , (f) , (g) , (h) , or a combination thereof or a subset thereof. In one embodiment, the information of a DIMD candidate is inherited from the previous block as mentioned in the section “Inheritance information of a DIMD candidate. ” In another embodiment, the information of a DIMD candidate is derived for the current block as mentioned in the section “Derived information of a DIMD candidate. ”
(a) one or more histogram (bar) values for the available DIMD intra prediction modes (e.g. DC,
planar, and/or directional prediction modes)
(b) the N intra prediction modes (with the highest N histogram bars) suggested by the histogram
values
(c) DIMD weighting information and/or fusion or not and/or location-dependent features (e.g. the
weighting for samples changing in a horizontal direction, in a vertical direction, or independent of location/direction)
(d) reference line information and/or wide-angle conditions
(e) information associated with block vector, such as Note A
Note A: “using block vector information or not” and/or “block vector information” wherein
the block vector information can be any information associated with prediction generation for an IBC or intraTMP mode
(f) information associated with transform
(g) block position, for example, block position x and block position y
(h) information associated with colour components, such as luma or chroma.
(a) one or more histogram (bar) values for the available DIMD intra prediction modes (e.g. DC,
planar, and/or directional prediction modes)
(b) the N intra prediction modes (with the highest N histogram bars) suggested by the histogram
values
(c) DIMD weighting information and/or fusion or not and/or location-dependent features (e.g. the
weighting for samples changing in a horizontal direction, in a vertical direction, or independent of location/direction)
(d) reference line information and/or wide-angle conditions
(e) information associated with block vector, such as Note A
Note A: “using block vector information or not” and/or “block vector information” wherein
the block vector information can be any information associated with prediction generation for an IBC or intraTMP mode
(f) information associated with transform
(g) block position, for example, block position x and block position y
(h) information associated with colour components, such as luma or chroma.
II. 1.1 Inheritance information of a DIMD candidate
The information of a DIMD candidate is inherited from the previous coded block as the inter merge methods used in inter prediction.
In one embodiment, the information of a DIMD candidate is from one of spatial adjacent and/or non-adjacent blocks. For example, one or more DIMD candidates are from one or more spatial adjacent blocks. If a spatial adjacent block contains valid DIMD information, the information from the spatial adjacent block is used as one DIMD candidate for the current block. For example, one or more DIMD candidates are from one or more spatial non-adjacent blocks. If a spatial non-adjacent block contains valid DIMD information, the information from the spatial non-adjacent block is used as one DIMD candidate for the current block. In one sub-embodiment, the positions of the spatial adjacent and/or non-adjacent blocks are the same as, unified with, based on, or extended from inter merge methods for inter prediction.
In one embodiment, the information of a DIMD candidate is from a history buffer. For example, one or more DIMD candidates are from a history buffer which contains one or more pieces of DIMD information from the previous coded blocks. The history buffer with multiple pieces of DIMD information is maintained during the encoding and/or decoding process. The history buffer is reset (or emptied) when a new pre-defined unit (e.g. a new CTU row) is encountered. Then, for a target block containing DIMD information, the DIMD information from the target block is added to the last entry of the history buffer as adding one piece of DIMD information.
In one embodiment, when the current block is chroma, the information of a DIMD candidate is from the collocated luma block of the current chroma block. For example, one or more DIMD candidates are from one or more collocated luma blocks of the current block. In one sub-embodiment, the positions of the one or more collocated luma blocks of the current chroma block are derived based on the position of the current chroma block. Note B can be used to find the collocated luma blocks.
Note B: “The positions of the one or more collocated luma blocks of the current chroma block are derived based on the position, width, height, or area of the current chroma block. An example of the location and variables specified in the standard:
- a luma location (xCb, yCb ) specifying the top-left sample of the current chroma
coding block relative to the top-left luma sample of the current picture
- a variable cbWidth specifying the width of the current coding block in luma samples
- a variable cbHeight specifying the height of the current coding block in luma samples.
- a luma location (xCb, yCb ) specifying the top-left sample of the current chroma
coding block relative to the top-left luma sample of the current picture
- a variable cbWidth specifying the width of the current coding block in luma samples
- a variable cbHeight specifying the height of the current coding block in luma samples.
In one embodiment, when dual tree (i.e., luma and chroma are in different splitting trees) is used, the current chroma block (in chroma dual tree) can find the collocated luma blocks (in luma dual tree) at or covering any subset or extension of the positions (x, y) shown in Fig. 8A as one example. In another example, the collocated luma blocks of the current chroma block can be at or covering any subset or extension of the collocated luma positions shown in Fig. 8B.
Fig. 8A illustrates an example of collocated luma block/position of a chroma CU, where the collocated luma position (x, y) is located at:
(xCb + cbWidth/2, yCb + cbHeight/2) , (xCb + (cbWidth/2) -1, yCb + (cbHeight/2) -1) ,
(xCb + cbWidth/2, yCb + (cbHeight/2) -1) , and/or (xCb + (cbWidth/2) -1, yCb + cbHeight/2) ,
where (xCb, yCb) is the upper-left corner position of the luma block.
(xCb + cbWidth/2, yCb + cbHeight/2) , (xCb + (cbWidth/2) -1, yCb + (cbHeight/2) -1) ,
(xCb + cbWidth/2, yCb + (cbHeight/2) -1) , and/or (xCb + (cbWidth/2) -1, yCb + cbHeight/2) ,
where (xCb, yCb) is the upper-left corner position of the luma block.
Fig. 8B illustrates another example of collocated luma block/position of a chroma CU, where the collocated luma position (x, y) is located at:
(xCb + cbWidth/2, yCb + cbHeight/2) , (xCb + (cbWidth/2) -1, yCb + (cbHeight/2) -1) ,
(xCb + cbWidth/2, yCb + (cbHeight/2) -1) , (xCb + (cbWidth/2) -1, yCb + cbHeight/2) ,
(xCb, yCb) , (xCb + (cbWidth/2) -1, yCb) , (xCb + cbWidth/2, yCb) , (xCb + cbWidth –1, yCb) , (xCb,
yCb + (cbHeight/2) -1) , (xCb + cbWidth –1, yCb + (cbHeight/2) -1) ,
(xCb, yCb + cbHeight/2) , (xCb + cbWidth –1, yCb + cbHeight/2) , (xCb, yCb + cbHeight -1) , (xCb +
(cbWidth/2) -1, yCb + cbHeight -1) , (xCb + cbWidth/2, yCb + cbHeight -1) , and/or
(xCb + cbWidth –1, yCb + cbHeight -1) .
(xCb + cbWidth/2, yCb + cbHeight/2) , (xCb + (cbWidth/2) -1, yCb + (cbHeight/2) -1) ,
(xCb + cbWidth/2, yCb + (cbHeight/2) -1) , (xCb + (cbWidth/2) -1, yCb + cbHeight/2) ,
(xCb, yCb) , (xCb + (cbWidth/2) -1, yCb) , (xCb + cbWidth/2, yCb) , (xCb + cbWidth –1, yCb) , (xCb,
yCb + (cbHeight/2) -1) , (xCb + cbWidth –1, yCb + (cbHeight/2) -1) ,
(xCb, yCb + cbHeight/2) , (xCb + cbWidth –1, yCb + cbHeight/2) , (xCb, yCb + cbHeight -1) , (xCb +
(cbWidth/2) -1, yCb + cbHeight -1) , (xCb + cbWidth/2, yCb + cbHeight -1) , and/or
(xCb + cbWidth –1, yCb + cbHeight -1) .
In one embodiment, when single tree (which means luma and chroma are in the same splitting tree) is used, the current chroma block can find the collocated luma block with the position at or covering the following position (x, y) :
(x, y) = (xCb, yCb) .
(x, y) = (xCb, yCb) .
In one embodiment, the current chroma block can find the collocated luma blocks with the positions at or covering any subset or extension of the following positions (x, y) :
(x, y) = (xCb + A1 + A2, yCb + B1 + B2) ,
where A1 can be 0, cbWidth* (1/a) , or cbWidth*a; a can be 1, 2, 3, 4, or any pre-defined positive or
negative number and/or A1 can be according to block width; A2 can be 0, 1, 2, 3, or any pre-defined positive or negative number and/or A2 can be according to block width; B1 can be 0, cbHeight* (1/b) , or cbHeight*b, b can be 1, 2, 3, 4, or any pre-defined positive or negative number and/or B1 can be according to block height; B2 can be 0, 1, 2, 3, or any pre-defined positive or negative number and/or B2 can be according to block height.
(x, y) = (xCb + A1 + A2, yCb + B1 + B2) ,
where A1 can be 0, cbWidth* (1/a) , or cbWidth*a; a can be 1, 2, 3, 4, or any pre-defined positive or
negative number and/or A1 can be according to block width; A2 can be 0, 1, 2, 3, or any pre-defined positive or negative number and/or A2 can be according to block width; B1 can be 0, cbHeight* (1/b) , or cbHeight*b, b can be 1, 2, 3, 4, or any pre-defined positive or negative number and/or B1 can be according to block height; B2 can be 0, 1, 2, 3, or any pre-defined positive or negative number and/or B2 can be according to block height.
II. 1.2 Derived information of a DIMD candidate
The information of a DIMD candidate is derived for the current block.
In one embodiment, one or more DIMD candidates are derived using the existing DIMD candidates (e.g. some inherited candidates specified in the section II. 1.1) .
The following shows an example of the derived mode using the direction offset. For generating the derived candidates, inheritance information (denoted as inheritedInfo) from the previous coded blocks can be modified to be a new candidate by adding or subtracting a direction offset which refers to 1, 2, 3, …, or any positive integer value to one or more to-be-modified intra prediction modes in inheritedInfo. In Fig. 9, the original information of inheritedInfo comprises multiple sets with each set comprising {intra prediction mode, weight} . In the first set, the intra prediction mode, Mode 1 can be used to generate one hypothesis of prediction which corresponds to the weighting information, Weight 1 used in forming the combined prediction for the current block when using inheritedInfo to generate predictors for the current block. In the second set, the intra prediction mode, Mode 2 can be used to generate one hypothesis of prediction which corresponds to the weighting information, Weight 2 used in forming the combined prediction for the current block when using inheritedInfo to generate predictors for the current block. After modifying Mode 1 (with the mode number as 37 originally) in inheritedInfo by using a direction offset (equal to one in this example) , Mode 1 is changed (to be the mode number as 38) and the modified information can be treated as a derived candidate. If the changed Mode 1 is duplicated with any intra prediction mode in other sets, the modified information is not valid.
In one sub-embodiment, the one or more to-be-modified intra prediction modes refer to the first K intra prediction modes in inheritedInfo, where K can be 1, 2, …, or any positive integer. For example, K is equal to 1 and the first intra prediction mode in inheritedInfo refers to generating the hypothesis of prediction corresponding to the highest weighting. For another example, the modification is applied to each intra prediction mode in inheritedInfo until the candidates for the current block are enough.
In another sub-embodiment, the one or more to-be-modified intra prediction modes are directional prediction modes. That is, each to-be-modified intra prediction mode refers to an angular prediction mode and cannot be DC or planar.
The following shows an example of the derived mode using swapping. For generating the derived candidates, inheritance information (denoted as inheritedInfo) from the previous coded blocks can be modified to be a new candidate by swapping to-be-modified information in inheritedInfo. In Fig. 10, the original information of inheritedInfo comprises multiple sets with each set comprising {intra prediction mode, weight} . In the first set, the intra prediction mode, Mode 1 can be used to generate one hypothesis of prediction which corresponds to the weighting information, Weight 1 used in forming the combined prediction for the current block when using inheritedInfo to generate predictors for the current block. In the second set, the intra prediction mode, Mode 2 can be used to generate one hypothesis of prediction which corresponds to the weighting information, Weight 2 used in forming the combined prediction for the current block when using inheritedInfo to generate predictors for the current block. After swapping Mode 1 (with the mode number as 37 originally) and Mode 2 (with the mode number as 50 originally) in inheritedInfo, Mode 1 and Mode 2 are changed (to be the mode numbers as 50 and 37, respectively) and the modified information can be treated as a derived candidate.
In one sub-embodiment, the one or more pieces of to-be-modified information are associated with intra prediction modes or weighting information. For example, two intra prediction modes are swapped. Therefore, originally, the first intra prediction mode corresponds to the first weighting information and the second intra prediction mode corresponds to the second weighting information; after swapping, the second intra prediction mode corresponds to the first weighting information and the first intra prediction mode corresponds to the second weighting information. For example, two weighting information are swapped. Therefore, originally, the first intra prediction mode corresponds to the first weighting information and the second intra prediction mode corresponds to the second weighting information; after swapping, the first intra prediction mode corresponds to the second weighting information and the second intra prediction mode corresponds to the first weighting information.
The following shows an example of the derived mode using location adjustment. For generating the derived candidates, inheritance information (denoted as inheritedInfo) from the previous coded blocks can be modified to be a new candidate by adjusting location-dependent features in inheritedInfo. In Fig. 11, the original information of inheritedInfo comprises multiple sets with each set comprising {intra prediction mode, location-dependent feature} . In the first set, the intra prediction mode, Mode 1 can be used to generate one hypothesis of prediction which corresponds to the location feature associated with weighting for samples, Loc 1 used in forming the combined prediction for the current block when using inheritedInfo to generate predictors for the current block. In the second set, the intra prediction mode, Mode 2 can be used to generate one hypothesis of prediction which corresponds to the location feature associated with weighting for samples, Loc 2 used in forming the combined prediction for the current block when using inheritedInfo to generate predictors for the current block. After adjusting Loc 1 (with the direction as 1 (in vertical direction) originally) and/or Loc 2 (with the direction as 2 (in horizontal direction) originally) in inheritedInfo, Loc 1 and Loc 2 are changed (to be the directions as 2 and 1, respectively) and the modified information can be treated as a derived candidate.
In one sub-embodiment, the one or more to-be-modified location features refer to the first K location features in inheritedInfo, where K can be 1, 2, …, or any positive integer. For example, K is equal to 1 and the first location feature in inheritedInfo refers to combining the hypothesis of prediction corresponding to the highest weighting. For another example, the modification is applied to each location feature in inheritedInfo until the candidates for the current block are enough.
In another sub-embodiment, the one or more to-be-modified location features comprise horizontal direction, vertical direction, or any feature dependent on location/direction. That is, each to-be-modified location feature cannot be independent of location/direction.
In one embodiment, some DIMD variations are derived as one or more DIMD candidates.
In one sub-embodiment, one DIMD variation (called as DIMD multiple reference line (MRL) ) is to derive the DIMD information using the reference region (not including line 0) non-adjacent to the current block. In the regular DIMD, the DIMD information is derived by applying texture gradient analysis to the reference region adjacent to the current block. The reference region includes line 0, 1, and 2. The 3x3 window is applied with line 1 as the centre line (that is, samples on the centre line correspond to the centre of the window when applying the window on the reference region) . In DIMD MRL, the DIMD information is derived by applying texture gradient analysis to the reference region non-adjacent to the current block. For an example of DIMD MRL in Fig. 12, the reference region includes line 1, 2, and 3. The 3x3 window is applied with line 2 as the centre line. After using the non-adjacent reference region to derive the DIMD information, how to use the derived DIMD information to generate predictors of the current block can follow regular DIMD. In one sub-embodiment, one or more DIMD MRL modes are available for the current block. For example, the number of available DIMD MRL modes depends on the maximum line number of MRL. If the maximum line number of MRL is line N, the available DIMD MRL modes can be any subset of DIMD MRL modes with each corresponding centre line as line 2, 3, …, or line (N-1) . For example, the availability of a DIMD MRL mode depends on the block position of the current block and the availability of the reference region of the current block. If the reference region of this DIMD MRL mode is not available, this DIMD MRL mode is not available. For the DIMD MRL mode with the centre line as line 2, if the top-left position (x, y) of the current block has x smaller than 4 or y smaller than 4 (i.e., line 3 not available for the current block) , this DIMD MRL mode is not available for the current block. In another sub-embodiment, the reference region includes top reference region, left reference region, and top-left reference region. When applying the window in the top-left reference region, more samples can be the centre samples for the window (i.e., the window is applied more often and the centre samples correspond to the centre of the window when applying the window on the top-left reference region) if the reference region of the DIMD MRL mode is far away from the current block (i.e., the line number of the centre line for the DIMD MRL mode is larger) . Fig. 13 shows the centre samples for the top-left reference region of the DIMD MRL mode with the centre line as line 2. The number of the centre samples for the top-left reference region in Fig. 13 is larger than the number of the centre samples for the top-left reference region for the regular DIMD (with the centre line as line 1) .
In another sub-embodiment, one DIMD variation (called as multi-region DIMD) is to derive the DIMD information using the separated reference region. In the regular DIMD, the DIMD information is derived by applying texture gradient analysis to the reference region by jointly considering the top reference region, the left reference region, and the top-left reference region. In multi-region DIMD, the DIMD information is derived by applying texture gradient analysis to only left-oriented reference region or only top-oriented reference region. Multi-region DIMD using top-oriented reference region is shown in Fig. 14A. Multi-region DIMD using left-oriented reference region is shown in Fig. 14B. After using the separated reference region to derive the DIMD information, how to use the derived DIMD information to generate predictors of the current block can follow regular DIMD. In one sub-embodiment, the left-oriented reference region includes the left reference region, top-left reference region, or both. In one sub-embodiment, the top-oriented reference region includes the top reference region, top-left reference region, or both.
In one embodiment, one or more DIMD candidates are derived using the histogram of sample-appearance for intra prediction modes (rather than using the histogram of gradients as regular DIMD) . In the first step, the spatial adjacent and/or non-adjacent blocks in a pre-defined searching region are checked. For a block containing valid intra prediction modes (e.g. directional prediction modes and/or DC and/or planar) , the amplitude bar of an intra prediction mode associated with that checked block is increased by adding a positive number. For example, the positive number can be set as the block area of the checked block. If the checked block contains multiple valid intra prediction modes, the amplitude bar of each or any subset of valid intra prediction modes associated with that checked block is increased. In one sub-embodiment, if the current block is chroma, the one or more checked blocks can include one or more collocated luma blocks of the current chroma block. After checking all target blocks, the histogram of sample-appearance for intra prediction modes is obtained. The N intra prediction modes with the higher amplitude bars are selected as the intra prediction modes of this derived DIMD candidate and/or the corresponding weighting values for predictors from each intra prediction mode of this derived DIMD candidate are calculated using the obtained histogram. For example, predictors from the intra prediction mode with a higher amplitude in the obtained histogram has a higher weight. The weight calculation process can be unified with regular DIMD. Note B can be used to find the collocated luma blocks. Also, several examples to reference the intra prediction modes associated with the checked blocks are shown in the following.
For example, if the checked block is DIMD (e.g. regular DIMD or proposed DIMD using the histogram of sample-appearance) , up to N (e.g. 5) valid intra prediction modes are referenced.
For example, if the checked block is template-based intra mode derivation (e.g. TIMD, introduced in Note C) or spatial geometric partitioning mode (SGPM, introduced in Note D) , up to T1 (e.g. 2) valid intra prediction modes are referenced.
Note C: TIMD calculates the distortion between the prediction and reconstruction samples of the template for each candidate intra prediction mode and uses T1 intra prediction modes with the smaller distortions on the template to generate predictors of the current block.
Note D: SGPM uses two intra prediction modes and a geometric partitioning mode to generate predictors of the current block by using the first predictors (from the first intra prediction mode) in the first region, the second predictors (from the second intra prediction mode) in the second region, and the combined predictors (from the first predictors and the second predictors) in the third region near the geometric partitioning line determined by the geometric partitioning mode.
For example, if the checked block is (1) block-vector prediction mode which uses block vectors to refer a reference block in the current picture to predict the current block, (2) matrix-based intra prediction mode which convolves the pre-defined or on-the-fly derived matrix or model with input reference samples to predict the current block, (3) inter prediction mode or (4) any mode without a valid intra prediction mode, then a predefined process is performed on the checked block to determine one or more intra prediction modes and up to T2 (e.g. 1) valid intra prediction modes are referenced. In one embodiment, the predefined process is to calculate histogram of gradients on the predictors or reconstruction of the checked block and the one or more intra prediction modes for the checked block are determined as the intra prediction modes with the higher amplitude bars.
In one embodiment, one or more DIMD candidates are derived using the merged histogram associated with the coded blocks:
- For example, the merged histogram is to use or combine (e.g. to average) the histogram
of gradients (HoG) from one or more coded blocks. If multiple coded blocks containing HoG information are available, the corresponding amplitude of each or any subset of the histogram bars are averaged to derive the merged histogram.
- For example, the merged histogram is to use or combine (e.g. to average) the histogram
of gradients (HoG) from one or more coded blocks. If multiple coded blocks containing HoG information are available, the corresponding amplitude of each or any subset of the histogram bars are averaged to derive the merged histogram.
In one embodiment, if the current block is chroma, one or more DIMD candidates are derived associated with the collocated luma blocks of the current chroma block. For example, one or more DIMD candidates are derived using the spatial adjacent or non-adjacent neighbouring (reconstructed) region of one or more collocated luma blocks of the current block. The process can be unified with regular DIMD. Note B can be used to find the collocated luma blocks.
II. 2 Construction of a Candidate List or Array
In one embodiment, the candidate list or array (for example, for intra prediction) contains inherited candidates (associated with inheritance information in section II. 1.1) , derived candidates (associated with derived information in the section II. 1.2) , or both.
In one sub-embodiment, the candidate list or array contains only inherited candidates, or the candidate list or array contains only derived candidates. In one case, whether to contain inherited candidates or derived candidates depends on block width, block height, block area, block position, and/or explicit signalling.
In one embodiment, only when the valid condition is satisfied, the inheritance information can be used and/or can be a candidate for the current block. In another embodiment, only when the valid condition is satisfied, the derived information can be used and/or can be a candidate for the current block. In one sub-embodiment, the valid condition is satisfied when fusion or not indicates to do fusion (i.e., the fusion condition is satisfied) . Fusion means more than one hypothesis of prediction is used to form the combined prediction for the current block. In another sub-embodiment, the valid condition varies depending on some predefined rules, for example, block width, block height, block area, and/or candidate index. For example, if the candidate index of the to-be-inherited or derived candidate is even, the valid condition comprises the fusion condition; otherwise, the valid condition does not comprise the fusion condition. For example, if the block area of the current block is larger than a threshold, the valid condition comprises the fusion condition; otherwise, the valid condition does not comprise the fusion condition.
In one embodiment, only when the similarity check indicates the to-be-inherited or derived candidate is not redundant with all or any subset of the existing candidates in the candidate list or array, the inheritance information or derived information can be used and/or can be a candidate for the current block. In one sub-embodiment, the similarity check only compares the similarity of the intra prediction modes. In one sub-embodiment, the similarity check compares the similarity of all or any subset of the DIMD information.
II. 3 Prediction Generation and Signalling
In one embodiment, if the current block is chroma, the syntax of the proposed mode, which uses the inherited or derived DIMD information for the current chroma block, is before the syntax of chroma direct mode (chroma DM) , which directly uses the intra prediction mode for luma as the intra prediction mode for the current chroma block. That is, the syntax of the proposed mode is signalled and/or parsed first. If the syntax of the proposed mode indicates that the proposed mode is used for the current block, the syntax of chroma DM is bypassed (i.e., not signalled and/or not parsed) . If the syntax of the proposed mode indicates not to use the proposed mode, the syntax of chroma DM is then signalled and/or parsed to indicate whether to use chroma DM for the current block.
In one embodiment, if the current block is chroma, the proposed mode, which uses the inherited or derived DIMD information for the current chroma block, is inferred according to the syntax of chroma DM, which directly uses the intra prediction mode for luma as the intra prediction mode for the current chroma block. That is, if the current chroma block uses chroma DM and the luma uses DIMD, the proposed mode is performed to generate predictors of the current chroma block. For example, the current chroma block can use the inherited DIMD information from luma.
In one embodiment, if the current block is chroma, the syntax of the proposed mode, which uses the inherited or derived DIMD information for the current chroma block, is after the syntax of whether to use the cross-component prediction mode (CCP mode) , which convolves the model derived using cross-component information with the luma predicted or reconstructed samples to generate predictors for the current chroma block. That is, the syntax of whether to use the CCP mode is signalled and/or parsed first. If the syntax of whether to use the CCP mode indicates that the CCP mode is used for the current chroma block, the syntax of the proposed mode is bypassed (i.e., not signalled and/or not parsed) . If the syntax of whether to use the CCP mode indicates that the CCP mode is not used for the current chroma block, the syntax of the proposed mode is then signalled and/or parsed to indicate whether to use the proposed mode for the current block.
In one embodiment, the syntax of the proposed mode, which uses the inherited or derived DIMD information for the current block (e.g. a chroma block) , includes an enabling flag of the proposed mode and/or an index of the proposed mode. The enabling flag is signalled and/or parsed to indicate whether to apply the proposed mode for the current block. When the enabling flag of the proposed mode indicates to enable the proposed mode, the index of the proposed mode is further signalled and/or parsed to select the information (e.g. selecting information from the candidate list or array) and the selected information is used to generate the predictors of the current block.
In one sub-embodiment, the candidate list or array is reordered according to the template costs. The template cost of a candidate is generated by calculating the distortion between the predictors on the template (which is generated using the candidate) and the reconstruction on the template. The candidate with a lower template cost is reordered to be the candidate in the front of the candidate list or array. In one case, the index of the proposed mode indicates the candidate selected from the reordered candidate list or array. In another case, the selected candidate is inferred as the candidate with the lowest template cost in the candidate list or array, and/or the index of the proposed mode is inferred as 0 without signalling and/or parsing. In one sub-embodiment, the area of the template comprises the neighbouring area of the current block. For example, the neighbouring L-shape of the current block. In one sub-embodiment, if the current block is a chroma block, the area of the template comprises all or any subset area of the collocated luma block for the current block. In one sub-embodiment, if the current block is a chroma block, the area of the template comprises the neighbouring area of the current block and all or any subset area of the collocated luma block for the current block.
In one sub-embodiment, the selection rule can vary with the block position, block width, block height, block area, coding information of the neighbouring blocks or the current block, or explicit signalling (for example, using the index of the proposed mode) or any pre-defined implicit rule.
In one embodiment, when DIMD information is used to generate predictors of the current block, for example, a chroma block, up to N (e.g. N equal to 2, 3, 4, 5, or any number unified with DIMD for luma) intra prediction modes are obtained from the selected DIMD information, and those N predictors (generated using N intra prediction modes, respectively) are combined with the non-directional predictor (from planar or block vectors) with the weights (inherited or derived from the histogram) . In one sub-embodiment, when the current block is chroma and the proposed mode is applied to the current block, the predictor of the current block can be further blended with cross-component predictors or luma reconstructed samples using a predefined weighting or on-the-fly deriving weighting according to implicit inference or explicit signalling.
The term “block” in this invention can refer to TU/TB, CU/CB, PU/PB, pre-defined region, or CTU/CTB.
Any combination of the proposed methods in this invention can be applied.
The proposed methods in this invention can be enabled and/or disabled according to implicit rules (e.g. block width, height, or area) or according to explicit rules (e.g. syntax on block, tile, slice, picture, sequence parameter set (SPS) , or picture parameter set (PPS) level) . For example, the proposed method can be applied when the block area is smaller/larger than a threshold.
Any of the foregoing proposed methods of deriving intra candidates for coding chroma blocks by using inherited information from previous coded blocks can be implemented in encoders and/or decoders. For example, any of the proposed methods 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 coupled to the intra/prediction module of the encoder and/or the intra/prediction module of the decoder, so as to provide the information needed by the intra/prediction module.
With reference to the encoder and decoder in Fig. 1A and Fig. 1B, any of the proposed methods can be implemented in an Intra coding module (e.g. Intra Pred. 150 in Fig. 1B) in a decoder or an Intra coding module (e.g. Intra Pred. 110 in Fig. 1A) in an encoder. 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 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) ) .
Fig. 15 illustrates a flowchart of an exemplary video coding system that derives intra candidates for coding chroma blocks by using inherited information from previous coded blocks 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 and/or at the decoder side. The steps shown in the flowchart may also be implemented based on hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data associated with a current block is received in step 1510, wherein the input data comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and the current block comprises one or more chroma blocks. One or more intra-prediction candidates are derived by inheriting prediction information from one or more previous coded blocks in step 1520, wherein the prediction information comprises histogram values or one or more intra-prediction modes. One or more target intra candidates are selected from said one or more intra-prediction candidates in step 1530. One or more predictors are generated using said one or more target intra candidates in step 1540. At least one of said one or more chroma blocks of the current block is encoded or decoded by using said one or more predictors in step 1540.
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.
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.
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.
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 (10)
- A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and the current block comprises one or more chroma blocks;deriving one or more intra-prediction candidates by inheriting prediction information from one or more previous coded blocks, wherein the prediction information comprises histogram values or one or more intra-prediction modes;selecting one or more target intra candidates from said one or more intra-prediction candidates;generating one or more predictors using said one or more target intra candidates; andencoding or decoding at least one of said one or more chroma blocks of the current block by using said one or more predictors.
- The method of Claim 1, wherein the prediction information comprises N intra prediction modes with highest N histogram bars as suggested by the histogram values.
- The method of Claim 1, wherein the prediction information comprises DIMD (Decoder-side Intra Mode Derivation) weighting information, fusion or not, location-dependent features, or a combination thereof.
- The method of Claim 1, wherein the prediction information comprises reference line information, wide-angle condition, information associated with block vector, information associated with transform, information associated with colour components, block position, or a combination thereof.
- The method of Claim 1, wherein for one of said one or more chroma blocks of the current block, derivation of said one or more intra-prediction candidates is associated with one or more collocated luma blocks of a target current chroma block.
- The method of Claim 5, wherein said one or more intra-prediction candidates are derived using spatial adjacent or non-adjacent neighbouring region of said one or more collocated luma blocks of the target current chroma block.
- The method of Claim 5, wherein first positions of said one or more collocated luma blocks of the target current chroma block are determined based on second position, width, height, or area of the target current chroma block.
- The method of Claim 1, wherein when a luma block and said one or more chroma blocks of the current block are generated using a dual tree, and collocated luma blocks for a target current chroma block are located at pre-defined corresponding positions in a luma area.
- The method of Claim 1, wherein said one or more intra-prediction candidates are selected from an intra-prediction candidate list or array.
- 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 comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and the current block comprises one or more chroma blocks;derive one or more intra-prediction candidates by inheriting prediction information from one or more previous coded blocks, wherein the prediction information comprises histogram values or one or more intra-prediction modes;select one or more target intra candidates from said one or more intra-prediction candidates;generate one or more predictors using said one or more target intra candidates; andencode or decode at least one of said one or more chroma blocks of the current block by using said one or more predictors.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463667856P | 2024-07-05 | 2024-07-05 | |
| US63/667856 | 2024-07-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2026008049A1 true WO2026008049A1 (en) | 2026-01-08 |
Family
ID=98317691
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2025/107020 Pending WO2026008049A1 (en) | 2024-07-05 | 2025-07-04 | Methods and apparatus of decoder side intra mode derivation for chroma in video coding |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2026008049A1 (en) |
-
2025
- 2025-07-04 WO PCT/CN2025/107020 patent/WO2026008049A1/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2017084512A1 (en) | Method and apparatus of motion vector prediction or merge candidate derivation for video coding | |
| US20190158870A1 (en) | Method and apparatus for affine merge mode prediction for video coding system | |
| US12477118B2 (en) | Method and apparatus using affine non-adjacent candidates for video coding | |
| US20230328278A1 (en) | Method and Apparatus of Overlapped Block Motion Compensation in Video Coding System | |
| WO2023221993A1 (en) | Method and apparatus of decoder-side motion vector refinement and bi-directional optical flow for video coding | |
| WO2024131931A1 (en) | Method and apparatus of most probable mode list unification in video coding system | |
| US20250280106A1 (en) | Method and Apparatus for Regression-based Affine Merge Mode Motion Vector Derivation in Video Coding Systems | |
| WO2026008049A1 (en) | Methods and apparatus of decoder side intra mode derivation for chroma in video coding | |
| WO2026008057A1 (en) | Methods and apparatus of decoder side intra mode derivation for chroma with merged histogram in video coding | |
| WO2026001936A1 (en) | Methods and apparatus of intra merge mode with derived modes in video coding | |
| WO2026002006A1 (en) | Methods and apparatus of intra merge mode with variations in video coding | |
| WO2024027784A1 (en) | Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding | |
| WO2025153018A1 (en) | Methods and apparatus of bi-prediction candidates for auto-relocated block vector prediction or chained motion vector prediction | |
| WO2025153050A1 (en) | Methods and apparatus of filter-based intra prediction with multiple hypotheses in video coding systems | |
| WO2025218707A1 (en) | Method and apparatus of intra merge mode for mixed modes with chroma components in video coding system | |
| WO2025007972A1 (en) | Methods and apparatus for inheriting cross-component models from temporal and history-based neighbours for chroma inter coding | |
| WO2025077512A1 (en) | Methods and apparatus of geometry partition mode with subblock modes | |
| WO2026012280A1 (en) | Method and apparatus of inter estimation region for decoder-side derived inter-prediction mode and interccp merge mode in video coding | |
| WO2025007952A1 (en) | Methods and apparatus for video coding improvement by model derivation | |
| WO2026012349A1 (en) | Methods and apparatus of geometric partitioning mode with cross-component prediction for video coding | |
| WO2025152710A1 (en) | Methods and apparatus of using template matching for mv refinement or candidate reordering for video coding | |
| WO2025157299A1 (en) | Methods and apparatus of intra merge mode for decoder side intra mode derivation | |
| WO2026017030A1 (en) | Method and apparatus of temporal and gpm-derived affine candidates in video coding systems | |
| WO2025223277A1 (en) | Methods and apparatus of intra merge mode with similarity check in video coding system | |
| WO2025026398A1 (en) | Method and apparatus of bi-directional optical flow displacement fusion for video coding |