EP4649665A1 - Method and apparatus of intra template matching prediction for video coding - Google Patents
Method and apparatus of intra template matching prediction for video codingInfo
- Publication number
- EP4649665A1 EP4649665A1 EP24741282.8A EP24741282A EP4649665A1 EP 4649665 A1 EP4649665 A1 EP 4649665A1 EP 24741282 A EP24741282 A EP 24741282A EP 4649665 A1 EP4649665 A1 EP 4649665A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- syntax
- level
- intra
- block
- fusion
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Definitions
- Fig. 1A illustrates an exemplary adaptive Inter/Intra video encoding system incorporating loop processing.
- Intra Prediction 110 the prediction data is derived based on previously encoded video data in the current picture.
- 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.
- T Transform
- Q Quantization
- 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, are 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.
- 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.
- HEVC High Efficiency Video Coding
- the decoder 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.
- 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.
- 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.
- Intra template matching prediction is a special intra prediction mode that copies the best prediction block from the reconstructed part of the current frame, whose L-shaped template matches the current template. For a predefined search range, the encoder searches for the most similar template matched with the current template in a reconstructed part of the current frame and uses the corresponding block as a prediction block. The encoder then signals the usage of this mode, and the same prediction operation is performed at the decoder side.
- the prediction signal is generated by matching the L-shaped causal neighbour of the current block with another block in a predefined search area in Fig. 2 consisting of:
- the current block 210 in R1 is matched with the corresponding block 212 in R2.
- the templates for the current block and the matched block are shown as darker-colour L-shaped areas.
- Area 222 corresponds to reconstructed region in the current picture 220.
- Sum of absolute differences (SAD) is used as a cost function.
- the decoder searches for the template that has least SAD with respect to the current one and uses its corresponding block as a prediction block.
- ‘a’ is a constant that controls the gain/complexity trade-off. In practice, ‘a’ is equal to 5.
- the search range of all search regions is subsampled by a factor of 2. This leads to a reduction of template matching search by 4.
- a refinement process is performed. The refinement is done via a second template matching search around the best match with a reduced range.
- the reduced range is defined as min (BlkW, BlkH) /2.
- the Intra template matching tool is enabled for CUs with size less than or equal to 64 in width and height. This maximum CU size for Intra template matching is configurable.
- the Intra template matching prediction mode is signalled at CU level through a dedicated flag when DIMD (Decoder-side Intra Mode Derivation) is not used for current CU.
- DIMD Decoder-side Intra Mode Derivation
- block vector (BV) derived from the intra template matching prediction (IntraTMP) is used for intra block copy (IBC) .
- IntraTMP BV of the neighbouring blocks along with IBC BV are used as spatial BV candidates in IBC candidate list construction.
- IntraTMP block vector is stored in the IBC block vector buffer and, the current IBC block can use both IBC BV and IntraTMP BV of neighbouring blocks as BV candidates for IBC BV candidate list as shown in Fig. 3.
- block 310 corresponds to the current block and block 312 corresponds to a neighbouring IntraTMP block.
- the IntraTMP BV 316 is used to locate the best matching block 322 according to the matching cost between template 324 and template 314. Area 322 corresponds to reconstructed region in the current picture 330.
- IntraTMP block vectors are added to IBC block vector candidate list as spatial candidates.
- Motion Compensation one of the key technologies in hybrid video coding, explores the pixel correlation between adjacent pictures. It is generally assumed that, in a video sequence, the patterns corresponding to objects or background in a frame are displaced to form corresponding objects in the subsequent frame or correlated with other patterns within the current frame. With the estimation of such displacement (e.g. using block matching techniques) , the pattern can be mostly reproduced without the need to re-code the pattern. Similarly, block matching and copy has also been tried to allow selecting the reference block from the same picture as the current block. It was observed to be inefficient when applying this concept to camera captured videos. Part of the reasons is that the textual pattern in a spatial neighbouring area may be similar to the current coding block, but usually with some gradual changes over the space. It is difficult for a block to find an exact match within the same picture in a video captured by a camera. Accordingly, the improvement in coding performance is limited.
- a new prediction mode i.e., the intra block copy (IBC) mode or called current picture referencing (CPR)
- IBC intra block copy
- CPR current picture referencing
- a prediction unit PU
- a displacement vector called block vector or BV
- the prediction errors are then coded using transformation, quantization and entropy coding.
- FIG. 4 An example of CPR compensation is illustrated in Fig. 4, where block 412 is a corresponding block for block 410, and block 422 is a corresponding block for block 420.
- the reference samples correspond to the reconstructed samples of the current decoded picture prior to in-loop filter operations, both deblocking and sample adaptive offset (SAO) filters in HEVC.
- SAO sample adaptive offset
- JCTVC-M0350 The very first version of CPR was proposed in JCTVC-M0350 (Budagavi et al., AHG8: Video coding using Intra motion compensation, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG11, 13th Meeting: Incheon, KR, 18–26 Apr. 2013, Document: JCTVC-M0350) to the HEVC Range Extensions (RExt) development.
- the CPR compensation was limited to be within a small local area, with only 1-D block vector and only for block size of 2Nx2N.
- HEVC SCC Stcreen Content Coding
- GPS Geometric Partitioning Mode
- a Geometric Partitioning Mode (GPM) is supported for inter prediction as described in JVET-W2002 (Adrian Browne, et al., Algorithm description for Versatile Video Coding and Test Model 14 (VTM 14) , ITU-T/ISO/IEC Joint Video Exploration Team (JVET) , 23rd Meeting, by teleconference, 7–16 July 2021, document: document JVET-M2002) .
- the geometric partitioning mode is signalled using a CU-level flag as one kind of merge mode, with other merge modes including the regular merge mode, the MMVD mode, the CIIP mode and the subblock merge mode.
- the GPM mode can be applied to skip or merge CUs having a size within the above limit and having at least two regular merge modes.
- a geometric partitioning mode is supported for inter prediction.
- the geometric partitioning mode is signalled using a CU-level flag as one kind of merge mode, with other merge modes including the regular merge mode, the MMVD mode, the CIIP mode and the subblock merge mode.
- w ⁇ h 2 m ⁇ 2 n with m, n ⁇ ⁇ 3...6 ⁇ excluding 8x64 and 64x8.
- a CU When this mode is used, a CU is split into two parts by a geometrically located straight line as shown in Fig. 5.
- each line corresponds to the boundary of one partition.
- the partitions are grouped according to its angle.
- partition group 510 consists of three vertical GPM partitions (i.e., 90°) .
- Partition group 520 consists of four slant GPM partitions with a small angle from the vertical direction.
- partition group 530 consists of three vertical GPM partitions (i.e., 270°) similar to those of group 510, but with an opposite direction.
- the location of the splitting line is mathematically derived from the angle and offset parameters of a specific partition.
- Each part of a geometric partition in the CU is inter-predicted using its own motion; only uni-prediction is allowed for each partition, that is, each part has one motion vector and one reference index.
- the uni-prediction motion constraint is applied to ensure that same as the conventional bi-prediction, only two motion compensated prediction are needed for each CU.
- a geometric partition index indicating the partition mode of the geometric partition (angle and offset) , and two merge indices (one for each partition) are further signalled.
- the number of maximum GPM candidate size is signalled explicitly in SPS and specifies syntax binarization for GPM merge indices.
- blending is applied to the two prediction signals to derive samples around geometric partition edge.
- the blending weight for each position of the CU are derived based on the distance between individual position and the partition edge.
- the distance for a position (x, y) to the partition edge are derived as:
- i, j are the indices for angle and offset of a geometric partition, which depend on the signaled geometric partition index.
- the sign of ⁇ x, j and ⁇ y, j depend on angle index i.
- the partIdx depends on the angle index i.
- One example of weigh w 0 is illustrated in Fig. 6, where the angle ji 610 and offset ri 620 are indicated for GPM index i and point 630 corresponds to the centre of the block.
- Line 640 corresponds to the GPM partitioning boundary.
- 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 Fig. 7.
- areas 710, 720 and 730 correspond to collocated Y block, current Cb block and current Cr block.
- the circles outside areas 710, 720 and 730 correspond to respective neighbouring reconstructed samples.
- the grey circles represent the sample locations where the gradients are determined for DIMD. 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 values is used for performing chroma intra prediction of the current chroma block.
- 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.
- the best N derived DIMD modes in terms of the histogram amplitudes are then blended to form a final predictor for the current block.
- pred0 is the predictor obtained by applying the non-LM mode
- pred1 is the predictor obtained by applying the MMLM_LT mode
- pred is the final predictor of the current chroma block.
- TIMD modes For each intra prediction mode in MPMs, The SATD between the predicted and reconstructed samples of the template is calculated. First two intra prediction modes with the minimum SATD are selected as the TIMD modes. These two TIMD modes are fused with the weights after applying PDPC process, and such weighted intra prediction is used to code the current CU. Position dependent intra prediction combination (PDPC) is included in the derivation of the TIMD modes.
- PDPC Position dependent intra prediction combination
- the division operations are conducted using the same lookup table (LUT) based on an integerization scheme used by the CCLM.
- LUT lookup table
- the prediction samples are generated by weighting an inter prediction signal predicted using CIIP-TM merge candidate and an intra prediction signal predicted using TIMD derived intra prediction mode.
- the method is only applied to coding blocks with an area less than or equal to 1024.
- the TIMD derivation method is used to derive the intra prediction mode in CIIP. Specifically, the intra prediction mode with the smallest SATD values in the TIMD mode list is selected and mapped to one of the 67 regular intra prediction modes.
- CIIP-TM a CIIP-TM merge candidate list is built for the CIIP-TM mode.
- the merge candidates are refined by template matching.
- the CIIP-TM merge candidates are also reordered by the ARMC method as regular merge candidates.
- the maximum number of CIIP-TM merge candidates is equal to two.
- PDPC position dependent intra prediction combination
- PDPC is an intra prediction method which invokes a combination of the boundary reference samples and HEVC-style intra prediction with filtered boundary reference samples.
- PDPC is applied to the following intra modes without signalling: planar, DC, intra angles less than or equal to horizontal, and intra angles greater than or equal to vertical and less than or equal to 80. If the current block is BDPCM mode or MRL index is larger than 0, PDPC is not applied.
- R x, -1, R -1, y represent the reference samples located at the top and left boundaries of current sample (x, y) , respectively.
- PDPC is applied to DC, planar, horizontal, and vertical intra modes, additional boundary filters are not needed, as required in the case of HEVC DC mode boundary filter or horizontal/vertical mode edge filters.
- PDPC process for DC and Planar modes is identical.
- For angular modes if the current angular mode is HOR_IDX or VER_IDX, left or top reference samples is not used, respectively.
- the PDPC weights and scaling factors are dependent on prediction modes and the block sizes. PDPC is applied to the block with both width and height greater than or equal to 4.
- Figs. 9A-D illustrate the definition of reference samples (R x, -1 and R -1, y ) for PDPC applied over various prediction modes, where Fig. 9A corresponds to the diagonal top-right mode, Fig. 9B corresponds to the diagonal bottom-left mode, Fig. 9C corresponds to the adjacent diagonal top-right mode and Fig. 9D corresponds to the adjacent diagonal bottom-left mode.
- the prediction sample pred (x′, y′) is located at (x′, y′) within the prediction block.
- the reference samples R x, -1 and R -1, y could be located in fractional sample position. In this case, the sample value of the nearest integer sample location is used.
- VVC for the luma component, the neighbouring samples used for intra prediction sample generations are filtered before the generation process.
- the filtering is controlled by the given intra prediction mode and transform block size.
- the extended intra reference samples are derived using the the 4-tap interpolation filter instead of the nearest neighbour rounding.
- interpolation filtering is applied to generate the intra prediction sample at 1/32 -pel accuracy.
- 4-tap DCT-IF filters the same filter used for chroma motion compensation
- 4-tap Gaussian filters are applied to the luma component while bilinear filters are applied to the chroma component.
- the 4-tap cubic interpolation is replaced with a 6-tap cubic interpolation filter, as described in JVET-D0119 (Xin Zhao, et al., “Six tap intra interpolation filter” , ITU-T/ISO/IEC Joint Video Exploration Team (JVET) , 4th Meeting: Chengdu, CN, 15–21 October 2016, document: document JVET-D0119) , for the derivation of predicted samples from the reference samples.
- the number of predictors selected for a weighted average is increased from 3 to 6.
- Intra prediction fusion method is applied to luma blocks when angular intra mode has non-integer slope (required reference samples interpolation) and the block size is greater than 16, it is used with MRL and not applied for ISP coded blocks.
- PDPC is applied for the intra prediction mode using the closest to the current block reference line.
- syntaxes to control setting associated with coding tools are disclosed to add flexibility or to improve coding performance.
- a method and apparatus for video coding are disclosed. According to the method, input data associated with a current block are received, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. At least one syntax is determined, wherein said at least one syntax is used to indicate whether a target coding tool from a coding tool set is used with intraTMP (intra Template Matching Prediction) , and the coding tool set comprises AMVR (Adaptive Motion Vector Resolution) .
- the current block is encoded or decoded by using intraTMP with or without the target coding tool according to said at least one syntax.
- the target coding tool corresponds to the AMVR and said at least one syntax indicates the AMVR being used in the current block
- generating a prediction block for the current block wherein the prediction block is located according to a block vector and the block vector has adaptive motion vector resolution.
- said at least one syntax is signalled or parsed in picture header or slice header. In one embodiment, at least one higher-level syntax is signalled or parsed, and said at least one syntax is signalled or parsed only if said at least one higher-level syntax indicates the target coding tool is allowed. In one embodiment, said at least one higher-level syntax is signalled or parsed in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) .
- the coding tool set comprises interpolation filter used in the AMVR, fusion mode, or filtered template matching based intra Prediction of the intraTMP and IBC (Intra Block Copy) .
- a target syntax is determined, wherein the target syntax is used to indicate whether to enable a blending or fusion process associated with a target coding tool.
- the current block is encoded or decoded by using the target coding tool with or without the blending or fusion process according to the target syntax.
- the target syntax is signaled or parsed at video level, sequence level, picture level, slice-level, sub-picture level, tile level, block level or a combination thereof.
- the target coding tool corresponds to GPM (Geometric Partitioning Mode) .
- the target coding tool corresponds to TIMD (Template-Based Intra Mode Derivation) fusion, DIMD (Decoder-side Intra Mode Derivation) fusion, intra reference smooth, intra interpolation, fusion of intra prediction with multiple reference lines, PDPC (Position Dependent Intra Prediction Combination) , CIIP (Combined Inter-Intra Prediction) PDPC, chroma fusion, OBMC (Overlapped Block Motion Compensation) , DIMD blending, GPM fusion, or GPM blending.
- TIMD Tempolate-Based Intra Mode Derivation
- DIMD Decoder-side Intra Mode Derivation
- intra reference smooth intra reference smooth
- intra interpolation fusion of intra prediction with multiple reference lines
- PDPC Position Dependent Intra Prediction Combination
- CIIP Combined Inter-Intra Prediction
- OBMC Overlapped Block Motion Compensation
- 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.
- Fig. 2 illustrates an example of search area used for Intra template matching.
- Fig. 3 illustrates an example of use of IntraTMP block vector for IBC block.
- Fig. 4 illustrates an example of CPR (Current Picture Referencing) compensation, where blocks are predicted by corresponding blocks in the same picture.
- CPR Current Picture Referencing
- Fig. 5 illustrates an example of the of 64 partitions used in the VVC standard, where the partitions are grouped according to their angles and dashed lines indicate redundant partitions.
- Fig. 6 illustrates an example of bending weight w 0 using the geometric partitioning mode.
- Fig. 7 illustrates neighbouring reconstructed Y, Cb and Cr samples used to derive the gradient for DIMD.
- Fig. 8 illustrates example of division method for angular modes, where the current block is vertically divided for near-horizontal modes (left) and the current block is horizontal divided for near-vertically modes (right) .
- Figs. 9A-D illustrate examples of the definition of reference samples for PDPC applied over various prediction modes, where Fig. 9A corresponds to the diagonal top-right mode, Fig. 9B corresponds to the diagonal bottom-left mode, Fig. 9C corresponds to the adjacent diagonal top-right mode and Fig. 9D corresponds to the adjacent diagonal bottom-left mode.
- Fig. 10 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether AMVR (Adaptive Motion Vector Resolution) is used for intraTMP (intra Template Matching Prediction) according to an embodiment of the present invention.
- AMVR Adaptive Motion Vector Resolution
- TMP Intra Template Matching Prediction
- fractional motion resolution can be used for intraTMP searching process in some cases. For example, if the current sequence is not screen content, both integer-pel and half-pel motion resolution are tested. The best motion position is selected for final prediction. If the current sequence is screen content, only integer-pel motion resolution can be used.
- whether to use fractional-pel motion resolution in the searching process can be determined by a high-level flag.
- a flag can be signalled in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) , and it is used to indicate whether fractional-pel resolution is allowed for intraTMP or not.
- a flag can be signalled in PH (Picture Header) or SH (Slice Header) such as ph_frac_intraTMP_enabled or sh_frac_intraTMP_enabled.
- a higher level syntax such as sps_frac_intraTMP_enabled or pps_frac_intraTMP_enabled
- a higher level syntax such as sps_frac_intraTMP_enabled or pps_frac_intraTMP_enabled
- the lower level related syntax such as ph_frac_intraTMP_enabled or sh_frac_intraTMP_enabled
- the related syntax signalled in slice header i.e. sh_frac_intraTMP_enabled
- the related syntax signalled in slice header i.e. sh_frac_intraTMP_enabled
- the interpolation filter used in fractional-pel resolution of intraTMP can be determined by high level syntaxes. For example, sps_frac_interpolation_filter_index or pps_frac_interpolation_filter_index is signalled. For another example, only if sps_frac_intraTMP_enabled or pps_frac_intraTMP_enabled is true, sps_frac_interpolation_filter_index or pps_frac_interpolation_filter_index can be signalled.
- ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index can be signalled.
- ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index can be signalled.
- Sps_frac_interpolation_filter_index, pps_frac_interpolation_filter_index, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index 0 means 8-tap interpolation filter is used.
- Sps_frac_interpolation_filter_index, pps_frac_interpolation_filter_index, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index equal to 1 means 4-tap interpolation filter is used.
- Sps_frac_interpolation_filter_index, pps_frac_interpolation_filter_index, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index equal to 2 means bilinear interpolation filter is used. For another example, only if ph_frac_intraTMP_enabled or sh_frac_intraTMP_enabled is true, ph_frac_interpolation_filter_8 or sh_frac_interpolation_filter_8 can be signalled. Ph_frac_interpolation_filter_8 or sh_frac_interpolation_filter_8 equal to 1 means 8-tap interpolation filter is used. Ph_frac_interpolation_filter_8 or sh_frac_interpolation_filter_8 equal to 0 means 4-tap interpolation filter is used.
- fusion can be applied to intraTMP. For example, if the current sequence is not screen content, during the searching process, two prediction blocks corresponding to the best and second-best TM cost are found. The final predictor can be derived by fusion of the two prediction blocks. If the current sequence is screen content, fusion of intraTMP will be disabled.
- whether to use fusion on intraTMP can be determined by a high-level flag.
- a flag can be signalled in SPS or PPS, and it is used to indicate whether fusion is allowed for intraTMP.
- a flag can be signalled in PH or SH, i such as ph_fusion_intraTMP_enabled or sh_fusion_intraTMP_enabled.
- a higher level syntax (e.g. sps_fusion_intraTMP_enabled or pps_fusion_intraTMP_enabled) is signalled. Only if it is true, the lower level related syntax (e.g. ph_fusion_intraTMP_enabled or sh_fusion_intraTMP_enabled) can be signalled. Additionally, if the related syntax (e.g. ph_fusion_intraTMP_enabled) is signalled in picture header, the related syntax for slice header level (e.g. sh_fusion_intraTMP_enabled) will not be signalled. In other words, only if the related syntax (e.g. ph_fusion_intraTMP_enabled) is not present in picture header, the related syntax in slice header (e.g. sh_fusion_intraTMP_enabled) can be signalled.
- the related syntax for slice header level e.g. sh_fusion_intraTMP_enabled
- a filter is applied to adapt the characteristics of the copied block to the local neighbourhood.
- a higher level syntax is used to control the on-off of filtered template matching based intra prediction (e.g. sps_fusion_intraTMP_enabled or pps_fusion_intraTMP_enabled) .
- a flag can be signalled in picture header or slice header (e.g. ph_filtered_intraTMP_enabled or sh_filtered_intraTMP_enabled) .
- a higher level syntax (e.g. sps_filtered_intraTMP_enabled or pps_filtered_intraTMP_enabled) is signalled. Only if it is true, the lower level related syntax (e.g.
- ph_filtered_intraTMP_enabled or sh_filtered_intraTMP_enabled can be signalled. Additionally, if the related syntax (e.g. ph_filtered_intraTMP_enabled) is signalled in picture header, the related syntax signalled in slice header (e.g. sh_filtered_intraTMP_enabled) will not be signalled. In other words, only if the related syntax (e.g. ph_filtered_intraTMP_enabled) is not present in picture header, the related syntax in slice header (e.g. sh_filtered_intraTMP_enabled) can be signalled.
- the related syntax signalled in slice header e.g. sh_filtered_intraTMP_enabled
- IBC Intra Block Copy
- fractional motion resolution, fusion or filtered prediction can be applied to IBC.
- the on-off can be determined by a high-level flag, such as SPS flag, PPS flag, PH flags, or SH flag.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the GPM blending/fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the GPM blending/fusion is enabled for the coding of the GPM coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the GPM blending/fusion is enabled for the coding of the GPM coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the TIMD fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the TIMD fusion is enabled for the coding of the TIMD coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the TIMD fusion is enabled for the coding of the TIMD coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the DIMD fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the DIMD fusion is enabled for the coding of the DIMD coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the DIMD fusion is enabled for the coding of the DIMD coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the intra reference smooth is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the intra reference smooth is enabled for the coding of the intra mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the intra reference smooth is enabled for the coding of the intra mode coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the intra interpolation is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the intra interpolation is enabled for the coding of the intra mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the intra interpolation is enabled for the coding of the intra mode coded CUs associated with the current slice. It is noted that when the intra interpolation is disabled, the intra prediction sample is directly copied from the reference sample at the integer position.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the fusion of intra prediction with multiple reference lines is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the fusion of intra prediction with multiple reference lines is enabled for the coding of the intra mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the fusion of intra prediction with multiple reference lines is enabled for the coding of the intra mode coded CUs associated with the current slice. It is noted that when the fusion of intra prediction with multiple reference lines is disabled, the intra prediction sample is directly generated from single reference line.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the PDPC is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the PDPC is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the chroma fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the chroma fusion is enabled for the coding of the intra mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the chroma fusion is enabled for the coding of the intra mode coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether the OBMC (Overlapped Block Motion Compensation) is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled.
- OBMC Overlapped Block Motion Compensation
- one new syntax element is signalled in the SPS to indicate whether the OBMC is enabled for the coding of the inter mode coded CUs associated with the current sequence.
- one new syntax element is signalled in the slice header to indicate whether the OBMC is enabled for the coding of the inter mode coded CUs associated with the current slice.
- At least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the signalled new syntax element is used to indicate whether a subset of the blending/fusion processes (including but not limited to GPM fusion, TIMD blending, DIMD blending, intra reference sample smoothing, intra prediction interpolation, PDPC, CIIP-PDPC and chroma fusion) is enabled for the blocks (e.g.
- CU, PU, TU, CTU or CB associated with the level in which the new syntax element is signalled.
- one new syntax element is signalled in the SPS to indicate whether the GPM fusion, TIMD blending, DIMD blending, intra reference sample smoothing, intra prediction interpolation, PDPC, CIIP-PDPC and chroma fusion is enabled for the coding of the CUs associated with the current sequence.
- At least one flag is derived in the video level, sequence level, picture level, slice-level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) .
- the derived flag is used to indicate whether the fusion/blending/smoothing operations mentioned in the previous embodiments is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the flag is derived.
- one flag is derived in the SPS to indicate whether the GPM fusion is enabled for the coding of the GPM coded CUs associated with the current sequence.
- one flag is signalled in the slice header to indicate whether the GPM fusion is enabled for the coding of the GPM coded CUs associated with the current slice.
- the derivation of the flag is based on the coded information, for example, when any coding tool for SCC, (including but not limited to intra block copy (IBC) , palette mode, BDPCM) , is enabled for the current slice, the flag is set to true (flag being equal to true indicates the GPM fusion is disabled for the GPM coded blocks) .
- IBC intra block copy
- BDPCM palette mode
- the decision of enabling the fusion/blending/smoothing operations mentioned in the above statement is made at decoder implicitly, instead of explicit signalling in the bitstream.
- the difference between two to-be-blended predictors is used to make a decision of enabling the fusion/blending/smoothing operations or not.
- the difference between two GPM predictors is calculated and used to make the decision of enabling GPM blending or not.
- the difference between two to-be-blended intra predictors is calculated and used to make the decision of enabling the fusion of intra prediction with multiple reference lines.
- the differences between the to-be-blended predictor and the reference samples used to do smoothing are used to make a decision of enabling the fusion/blending/smoothing operations or not.
- the differences between the intra predictors and the reference samples used in PDPC process are calculated and used to make the decision of enabling PDPC or not.
- the differences can be the absolute difference or the square difference.
- the threshold can be dependent on slice type, CU width/height, prediction mode, prediction direction, and/or quantization parameter.
- the purpose of the proposed methods is to control the enabling/disabling of these blending/fusion schemes. It is noted that the foregoing proposed methods are applied to, but not limited to the existed blending or fusion schemes including GPM blending/fusion, TIMD blending/fusion, DIMD blending/fusion, intra reference smoothing, intra interpolation, PDPC, CIIP PDPC and OBMC. In other words, the existed blending/fusion schemes may be changed in the future, but the changed methods are still under the scope of the proposed methods as long as the proposed methods to control the enabling/disabling of the blending/fusion schemes are adopted.
- a syntax to indicate whether AMVR is used for intraTMP or the use of a syntax to indicate whether to use the blending/fusion process for GPM
- an encoder e.g. Intra Pred. 150/MC 152 in Fig. 1B
- an Intra/Inter coding module is an encoder (e.g. Intra Pred. 110/Inter Pred. 112 in Fig. 1A)
- Any of the proposed cross component prediction information from non-adjacent spatial candidates with constrained availability can also be implemented as a circuit coupled to the intra/inter coding module at the decoder or the encoder.
- the decoder or encoder may also use additional processing unit to implement the required cross-component prediction processing.
- Intra Pred. units e.g. unit 110/112 in Fig. 1A and unit 150/152 in Fig. 1B
- the Intra Pred. units 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) ) .
- DSP Digital Signal Processor
- FPGA Field Programmable Gate Array
- Fig. 10 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether AMVR (Adaptive Motion Vector Resolution) is used for intraTMP (intra Template Matching Prediction) 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.
- input data associated with a current block are received in step 1010, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side.
- At least one syntax is determined in step 1020, wherein said at least one syntax is used to indicate whether a target coding tool from a coding tool set is used with intraTMP (intra Template Matching Prediction) , and the coding tool set comprises AMVR (Adaptive Motion Vector Resolution) .
- the current block is encoded or decoded by using intraTMP with or without the target coding tool according to said at least one syntax in step 1030.
- Fig. 11 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether to use the blending/fusion process for GPM (Geometric Partitioning Mode) according to an embodiment of the present invention.
- input data associated with a current block are received in step 1110, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side.
- a target syntax is determined in step 1120, wherein the target syntax is used to indicate whether to enable a blending or fusion process associated with a target coding tool.
- the current block is encoded or decoded by using the target coding tool with or without the blending or fusion process according to the target syntax in step 1130.
- Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
- 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.
- DSP Digital Signal Processor
- 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.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
A method and apparatus for video coding. According to one method, a syntax is determined to indicate whether a target coding tool from a coding tool set is used with intraTMP, and the coding tool set comprises AMVR. The current block is encoded or decoded by using intraTMP with or without the target coding tool according to said at least one syntax. According to another method, a target syntax is determined to indicate whether to enable a blending or fusion process associated with a target coding tool. The current block is encoded or decoded by using the target coding tool with or without the blending or fusion process according to the target syntax.
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/479,554, filed on January 12, 2023 and U.S. Provisional Patent Application No. 63/484,758, filed on February 14, 2023. The U.S. Provisional Patent Applications are hereby incorporated by reference in their entireties.
- 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 encoded 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, are 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 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.
- Intra Template Matching
- Intra template matching prediction (IntraTMP) is a special intra prediction mode that copies the best prediction block from the reconstructed part of the current frame, whose L-shaped template matches the current template. For a predefined search range, the encoder searches for the most similar template matched with the current template in a reconstructed part of the current frame and uses the corresponding block as a prediction block. The encoder then signals the usage of this mode, and the same prediction operation is performed at the decoder side.
- The prediction signal is generated by matching the L-shaped causal neighbour of the current block with another block in a predefined search area in Fig. 2 consisting of:
- R1: current CTU
- R2: top-left CTU
- R3: above CTU
- R4: left CTU
- In Fig. 2, the current block 210 in R1 is matched with the corresponding block 212 in R2. The templates for the current block and the matched block are shown as darker-colour L-shaped areas. Area 222 corresponds to reconstructed region in the current picture 220. Sum of absolute differences (SAD) is used as a cost function. Within each region, the decoder searches for the template that has least SAD with respect to the current one and uses its corresponding block as a prediction block.
- The dimensions of all regions (SearchRange_w, SearchRange_h) are set proportional to the block dimension (BlkW, BlkH) to have a fixed number of SAD comparisons per pixel. That is:
SearchRange_w = a *BlkW,
SearchRange_h = a *BlkH. - Where ‘a’ is a constant that controls the gain/complexity trade-off. In practice, ‘a’ is equal to 5.
- To speed-up the template matching process, the search range of all search regions is subsampled by a factor of 2. This leads to a reduction of template matching search by 4. After finding the best match, a refinement process is performed. The refinement is done via a second template matching search around the best match with a reduced range. The reduced range is defined as min (BlkW, BlkH) /2.
- The Intra template matching tool is enabled for CUs with size less than or equal to 64 in width and height. This maximum CU size for Intra template matching is configurable.
- The Intra template matching prediction mode is signalled at CU level through a dedicated flag when DIMD (Decoder-side Intra Mode Derivation) is not used for current CU.
- IntraTMP Derived Block Vector Candidates for IBC
- In this method, block vector (BV) derived from the intra template matching prediction (IntraTMP) is used for intra block copy (IBC) . The stored IntraTMP BV of the neighbouring blocks along with IBC BV are used as spatial BV candidates in IBC candidate list construction.
- IntraTMP block vector is stored in the IBC block vector buffer and, the current IBC block can use both IBC BV and IntraTMP BV of neighbouring blocks as BV candidates for IBC BV candidate list as shown in Fig. 3.
- In Fig. 3, block 310 corresponds to the current block and block 312 corresponds to a neighbouring IntraTMP block. The IntraTMP BV 316 is used to locate the best matching block 322 according to the matching cost between template 324 and template 314. Area 322 corresponds to reconstructed region in the current picture 330. IntraTMP block vectors are added to IBC block vector candidate list as spatial candidates.
- Current Picture Referencing
- Motion Compensation, one of the key technologies in hybrid video coding, explores the pixel correlation between adjacent pictures. It is generally assumed that, in a video sequence, the patterns corresponding to objects or background in a frame are displaced to form corresponding objects in the subsequent frame or correlated with other patterns within the current frame. With the estimation of such displacement (e.g. using block matching techniques) , the pattern can be mostly reproduced without the need to re-code the pattern. Similarly, block matching and copy has also been tried to allow selecting the reference block from the same picture as the current block. It was observed to be inefficient when applying this concept to camera captured videos. Part of the reasons is that the textual pattern in a spatial neighbouring area may be similar to the current coding block, but usually with some gradual changes over the space. It is difficult for a block to find an exact match within the same picture in a video captured by a camera. Accordingly, the improvement in coding performance is limited.
- However, the situation for spatial correlation among pixels within the same picture is different for screen contents. For a typical video with texts and graphics, there are usually repetitive patterns within the same picture. Hence, intra (picture) block compensation has been observed to be very effective. A new prediction mode, i.e., the intra block copy (IBC) mode or called current picture referencing (CPR) , has been introduced for screen content coding to utilize this characteristic. In the CPR mode, a prediction unit (PU) is predicted from a previously reconstructed block within the same picture. Further, a displacement vector (called block vector or BV) is used to indicate the relative displacement from the position of the current block to that of the reference block. The prediction errors are then coded using transformation, quantization and entropy coding. An example of CPR compensation is illustrated in Fig. 4, where block 412 is a corresponding block for block 410, and block 422 is a corresponding block for block 420. In this technique, the reference samples correspond to the reconstructed samples of the current decoded picture prior to in-loop filter operations, both deblocking and sample adaptive offset (SAO) filters in HEVC.
- The very first version of CPR was proposed in JCTVC-M0350 (Budagavi et al., AHG8: Video coding using Intra motion compensation, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG11, 13th Meeting: Incheon, KR, 18–26 Apr. 2013, Document: JCTVC-M0350) to the HEVC Range Extensions (RExt) development. In this version, the CPR compensation was limited to be within a small local area, with only 1-D block vector and only for block size of 2Nx2N. Later, a more advanced CPR design has been developed during the standardization of HEVC SCC (Screen Content Coding) .
- Geometric Partitioning Mode (GPM)
- In VVC, a Geometric Partitioning Mode (GPM) is supported for inter prediction as described in JVET-W2002 (Adrian Browne, et al., Algorithm description for Versatile Video Coding and Test Model 14 (VTM 14) , ITU-T/ISO/IEC Joint Video Exploration Team (JVET) , 23rd Meeting, by teleconference, 7–16 July 2021, document: document JVET-M2002) . The geometric partitioning mode is signalled using a CU-level flag as one kind of merge mode, with other merge modes including the regular merge mode, the MMVD mode, the CIIP mode and the subblock merge mode. A total of 64 partitions are supported by geometric partitioning mode for each possible CU size, w×h=2m×2n with m, n ∈ {3…6} excluding 8x64 and 64x8. The GPM mode can be applied to skip or merge CUs having a size within the above limit and having at least two regular merge modes.
- In VVC, a geometric partitioning mode is supported for inter prediction. The geometric partitioning mode is signalled using a CU-level flag as one kind of merge mode, with other merge modes including the regular merge mode, the MMVD mode, the CIIP mode and the subblock merge mode. In total 64 partitions are supported by geometric partitioning mode for each possible CU size w×h=2m×2n with m, n ∈ {3…6} excluding 8x64 and 64x8.
- When this mode is used, a CU is split into two parts by a geometrically located straight line as shown in Fig. 5. In Fig. 5, each line corresponds to the boundary of one partition. The partitions are grouped according to its angle. For example, partition group 510 consists of three vertical GPM partitions (i.e., 90°) . Partition group 520 consists of four slant GPM partitions with a small angle from the vertical direction. Also, partition group 530 consists of three vertical GPM partitions (i.e., 270°) similar to those of group 510, but with an opposite direction. The location of the splitting line is mathematically derived from the angle and offset parameters of a specific partition. Each part of a geometric partition in the CU is inter-predicted using its own motion; only uni-prediction is allowed for each partition, that is, each part has one motion vector and one reference index. The uni-prediction motion constraint is applied to ensure that same as the conventional bi-prediction, only two motion compensated prediction are needed for each CU.
- If geometric partitioning mode is used for the current CU, then a geometric partition index indicating the partition mode of the geometric partition (angle and offset) , and two merge indices (one for each partition) are further signalled. The number of maximum GPM candidate size is signalled explicitly in SPS and specifies syntax binarization for GPM merge indices. After predicting each of part of the geometric partition, the sample values along the geometric partition edge are adjusted using a blending processing with adaptive weights.
- Blending along the Geometric Partitioning Edge of GPM Mode
- After predicting each part of a geometric partition using its own motion, blending is applied to the two prediction signals to derive samples around geometric partition edge. The blending weight for each position of the CU are derived based on the distance between individual position and the partition edge.
- The distance for a position (x, y) to the partition edge are derived as:
- where i, j are the indices for angle and offset of a geometric partition, which depend on the signaled geometric partition index. The sign of ρx, j and ρy, j depend on angle index i.
- The weights for each part of a geometric partition are derived as following:
wIdxL (x, y) =pratIdx ? 32+d (x, y) : 32-d (x, y) (5)
w1 (x, y) =1-w0 (x, y) (7) - The partIdx depends on the angle index i. One example of weigh w0 is illustrated in Fig. 6, where the angle ji 610 and offset ri 620 are indicated for GPM index i and point 630 corresponds to the centre of the block. Line 640 corresponds to the GPM partitioning boundary.
- 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 Fig. 7. In Fig. 7, areas 710, 720 and 730 correspond to collocated Y block, current Cb block and current Cr block. The circles outside areas 710, 720 and 730 correspond to respective neighbouring reconstructed samples. The grey circles represent the sample locations where the gradients are determined for DIMD. 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 values 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. The best N derived DIMD modes in terms of the histogram amplitudes are then blended to form a final predictor for the current block.
- Fusion of Chroma Intra Prediction Modes
- The DM mode and the four default modes can be fused with the MMLM_LT mode as follows:
pred= (w0×pred0+w1×pred1+ (1<< (shift-1) ) ) >>shift, - where pred0 is the predictor obtained by applying the non-LM mode, pred1 is the predictor obtained by applying the MMLM_LT mode and pred is the final predictor of the current chroma block. The two weights, w0 and w1 are determined by the intra prediction mode of adjacent chroma blocks and shift is set equal to 2. Specifically, when the above and left adjacent blocks are both coded with LM modes, {w0, w1} = {1, 3} ; when the above and left adjacent blocks are both coded with non-LM modes, {w0, w1} = {3, 1} ; otherwise, {w0, w1} = {2, 2} .
- For the syntax design, if a non-LM mode is selected, one flag is signalled to indicate whether the fusion is applied. This method only applies to I slices.
- Fusion for Template-Based Intra Mode Derivation (TIMD)
- For each intra prediction mode in MPMs, The SATD between the predicted and reconstructed samples of the template is calculated. First two intra prediction modes with the minimum SATD are selected as the TIMD modes. These two TIMD modes are fused with the weights after applying PDPC process, and such weighted intra prediction is used to code the current CU. Position dependent intra prediction combination (PDPC) is included in the derivation of the TIMD modes.
- The costs of the two selected modes are compared with a threshold, in the test the cost factor of 2 is applied as follows:
costMode2<2×costMode1. - If this condition is true, the fusion is applied, otherwise the only mode1 is used.
- Weights of the modes are computed from their SATD costs as follows:
weight1=costMode2/ (costMode1+costMode2) ,
weihgh2=1-weight1. - The division operations are conducted using the same lookup table (LUT) based on an integerization scheme used by the CCLM.
- Combination of CIIP with TIMD and TM Merge
- In CIIP (Combined Inter-Intra Prediction) mode, the prediction samples are generated by weighting an inter prediction signal predicted using CIIP-TM merge candidate and an intra prediction signal predicted using TIMD derived intra prediction mode. The method is only applied to coding blocks with an area less than or equal to 1024.
- The TIMD derivation method is used to derive the intra prediction mode in CIIP. Specifically, the intra prediction mode with the smallest SATD values in the TIMD mode list is selected and mapped to one of the 67 regular intra prediction modes.
- In addition, it is also proposed to modify the weights (wIntra, wInter) for the two tests if the derived intra prediction mode is an angular mode. For near-horizontal modes (2 <=angular mode index < 34) , the current block is vertically divided (810) as shown in Fig. 8; for near-vertical modes (34 <= angular mode index <= 66) , the current block is horizontally divided (820) as shown in Fig. 8.
- The (wIntra, wInter) for different sub-blocks are shown in Table 1.
- Table 1. The modified weights used for angular modes.
- With CIIP-TM, a CIIP-TM merge candidate list is built for the CIIP-TM mode. The merge candidates are refined by template matching. The CIIP-TM merge candidates are also reordered by the ARMC method as regular merge candidates. The maximum number of CIIP-TM merge candidates is equal to two.
- Position Dependent Intra Prediction Combination (PDPC)
- In VVC, the results of intra prediction of DC, planar and several angular modes are further modified by a position dependent intra prediction combination (PDPC) method. PDPC is an intra prediction method which invokes a combination of the boundary reference samples and HEVC-style intra prediction with filtered boundary reference samples. PDPC is applied to the following intra modes without signalling: planar, DC, intra angles less than or equal to horizontal, and intra angles greater than or equal to vertical and less than or equal to 80. If the current block is BDPCM mode or MRL index is larger than 0, PDPC is not applied.
- The prediction sample pred (x′, y′) is predicted using an intra prediction mode (e.g. DC, planar, angular) and a linear combination of reference samples according to the Equation 8 as follows:
pred (x′, y′) =Clip (0, (1<<BitDeph) -1, (wL×R-1, y′+wT×Rx′, -1+
(64-wL-wT) ×pred (x′, y′) +32) >>6) (8) - where Rx, -1, R-1, y represent the reference samples located at the top and left boundaries of current sample (x, y) , respectively.
- If PDPC is applied to DC, planar, horizontal, and vertical intra modes, additional boundary filters are not needed, as required in the case of HEVC DC mode boundary filter or horizontal/vertical mode edge filters. PDPC process for DC and Planar modes is identical. For angular modes, if the current angular mode is HOR_IDX or VER_IDX, left or top reference samples is not used, respectively. The PDPC weights and scaling factors are dependent on prediction modes and the block sizes. PDPC is applied to the block with both width and height greater than or equal to 4.
- Figs. 9A-D illustrate the definition of reference samples (Rx, -1 and R-1, y) for PDPC applied over various prediction modes, where Fig. 9A corresponds to the diagonal top-right mode, Fig. 9B corresponds to the diagonal bottom-left mode, Fig. 9C corresponds to the adjacent diagonal top-right mode and Fig. 9D corresponds to the adjacent diagonal bottom-left mode. The prediction sample pred (x′, y′) is located at (x′, y′) within the prediction block. As an example, the coordinate x of the reference sample Rx, -1 is given by: x=x′+y′+1, and the coordinate y of the reference sample R-1, y is similarly given by: y=x′+y′+1 for the diagonal modes. For the other angular mode, the reference samples Rx, -1 and R-1, ycould be located in fractional sample position. In this case, the sample value of the nearest integer sample location is used.
- Reference Sample Interpolation and Smoothing for Intra-Prediction
- In VVC, for the luma component, the neighbouring samples used for intra prediction sample generations are filtered before the generation process. The filtering is controlled by the given intra prediction mode and transform block size. In ECM, for reference sample filtering, a 6-tap Gaussian filter is applied for larger blocks (W >= 32 and H >=32) , existing VVC 4-tap gaussian interpolation filter is applied otherwise. The extended intra reference samples are derived using the the 4-tap interpolation filter instead of the nearest neighbour rounding.
- Moreover, for the intra prediction in VVC, when a target sample of one intra angular mode is predicted from its reference sample at fractional sample position, interpolation filtering is applied to generate the intra prediction sample at 1/32 -pel accuracy. Specifically, depending on the selected intra mode, either 4-tap DCT-IF filters (the same filter used for chroma motion compensation) or 4-tap Gaussian filters are applied to the luma component while bilinear filters are applied to the chroma component. In ECM, the 4-tap cubic interpolation is replaced with a 6-tap cubic interpolation filter, as described in JVET-D0119 (Xin Zhao, et al., “Six tap intra interpolation filter” , ITU-T/ISO/IEC Joint Video Exploration Team (JVET) , 4th Meeting: Chengdu, CN, 15–21 October 2016, document: document JVET-D0119) , for the derivation of predicted samples from the reference samples.
- The Fusion of Intra Prediction with Multiple Reference Lines
- For angular intra prediction modes including the single mode case of TIMD and DIMD, the proposed method derives intra prediction by weighting intra predictions obtained from multiple reference lines represented as pfusion=w0 × pline+w1×pline+1, where pline is the intra prediction from the default reference line and pline+1 is the prediction from the line above the default reference line. The weights are set as w0 = 3/4 and w1 = 1/4. For TIMD mode with blending, pline is used for the first mode (w0=1, w1=0) and pline+1 is used for the second mode (w0=0, w1=1) . For DIMD mode with blending, the number of predictors selected for a weighted average is increased from 3 to 6. Intra prediction fusion method is applied to luma blocks when angular intra mode has non-integer slope (required reference samples interpolation) and the block size is greater than 16, it is used with MRL and not applied for ISP coded blocks. In the method studied in the sub-test a, PDPC is applied for the intra prediction mode using the closest to the current block reference line.
- In the present invention, syntaxes to control setting associated with coding tools are disclosed to add flexibility or to improve coding performance.
- BRIEF SUMMARY OF THE INVENTION
- A method and apparatus for video coding are disclosed. According to the method, input data associated with a current block are received, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. At least one syntax is determined, wherein said at least one syntax is used to indicate whether a target coding tool from a coding tool set is used with intraTMP (intra Template Matching Prediction) , and the coding tool set comprises AMVR (Adaptive Motion Vector Resolution) . The current block is encoded or decoded by using intraTMP with or without the target coding tool according to said at least one syntax.
- In one embodiment, when the target coding tool corresponds to the AMVR and said at least one syntax indicates the AMVR being used in the current block, generating a prediction block for the current block, wherein the prediction block is located according to a block vector and the block vector has adaptive motion vector resolution.
- In one embodiment, said at least one syntax is signalled or parsed in picture header or slice header. In one embodiment, at least one higher-level syntax is signalled or parsed, and said at least one syntax is signalled or parsed only if said at least one higher-level syntax indicates the target coding tool is allowed. In one embodiment, said at least one higher-level syntax is signalled or parsed in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) .
- In one embodiment, the coding tool set comprises interpolation filter used in the AMVR, fusion mode, or filtered template matching based intra Prediction of the intraTMP and IBC (Intra Block Copy) .
- According to another method, a target syntax is determined, wherein the target syntax is used to indicate whether to enable a blending or fusion process associated with a target coding tool. The current block is encoded or decoded by using the target coding tool with or without the blending or fusion process according to the target syntax.
- In one embodiment, the target syntax is signaled or parsed at video level, sequence level, picture level, slice-level, sub-picture level, tile level, block level or a combination thereof. In one embodiment, the target coding tool corresponds to GPM (Geometric Partitioning Mode) .
- In one embodiment, the target coding tool corresponds to TIMD (Template-Based Intra Mode Derivation) fusion, DIMD (Decoder-side Intra Mode Derivation) fusion, intra reference smooth, intra interpolation, fusion of intra prediction with multiple reference lines, PDPC (Position Dependent Intra Prediction Combination) , CIIP (Combined Inter-Intra Prediction) PDPC, chroma fusion, OBMC (Overlapped Block Motion Compensation) , DIMD blending, GPM fusion, or GPM blending.
- 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.
- Fig. 2 illustrates an example of search area used for Intra template matching.
- Fig. 3 illustrates an example of use of IntraTMP block vector for IBC block.
- Fig. 4 illustrates an example of CPR (Current Picture Referencing) compensation, where blocks are predicted by corresponding blocks in the same picture.
- Fig. 5 illustrates an example of the of 64 partitions used in the VVC standard, where the partitions are grouped according to their angles and dashed lines indicate redundant partitions.
- Fig. 6 illustrates an example of bending weight w0 using the geometric partitioning mode.
- Fig. 7 illustrates neighbouring reconstructed Y, Cb and Cr samples used to derive the gradient for DIMD.
- Fig. 8 illustrates example of division method for angular modes, where the current block is vertically divided for near-horizontal modes (left) and the current block is horizontal divided for near-vertically modes (right) .
- Figs. 9A-D illustrate examples of the definition of reference samples for PDPC applied over various prediction modes, where Fig. 9A corresponds to the diagonal top-right mode, Fig. 9B corresponds to the diagonal bottom-left mode, Fig. 9C corresponds to the adjacent diagonal top-right mode and Fig. 9D corresponds to the adjacent diagonal bottom-left mode.
- Fig. 10 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether AMVR (Adaptive Motion Vector Resolution) is used for intraTMP (intra Template Matching Prediction) according to an embodiment of the present invention.
- Fig. 11 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether to use the blending/fusion process for GPM (Geometric Partitioning Mode) 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.
- In the present invention, to increase the flexibility of intraTMP, it is proposed to signal high level flags to indicate the specific behaviour or setting of intraTMP.
- Adaptive Motion Vector Resolution
- In one embodiment, fractional motion resolution can be used for intraTMP searching process in some cases. For example, if the current sequence is not screen content, both integer-pel and half-pel motion resolution are tested. The best motion position is selected for final prediction. If the current sequence is screen content, only integer-pel motion resolution can be used.
- In another embodiment, whether to use fractional-pel motion resolution in the searching process can be determined by a high-level flag.
- In one embodiment, a flag can be signalled in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) , and it is used to indicate whether fractional-pel resolution is allowed for intraTMP or not. In another embodiment, a flag can be signalled in PH (Picture Header) or SH (Slice Header) such as ph_frac_intraTMP_enabled or sh_frac_intraTMP_enabled.
- In another embodiment, a higher level syntax, such as sps_frac_intraTMP_enabled or pps_frac_intraTMP_enabled, is signalled. Only if it is true, the lower level related syntax, such as ph_frac_intraTMP_enabled or sh_frac_intraTMP_enabled, can be signalled. Additionally, if the related syntax, such as ph_frac_intraTMP_enabled, is signalled in picture header, the related syntax signalled in slice header (i.e. sh_frac_intraTMP_enabled) will not be signalled. In other words, only if the related syntax (e.g. ph_frac_intraTMP_enabled) is not present in picture header, the related syntax in slice header (e.g. sh_frac_intraTMP_enabled) can be signalled.
- In one embodiment, the interpolation filter used in fractional-pel resolution of intraTMP can be determined by high level syntaxes. For example, sps_frac_interpolation_filter_index or pps_frac_interpolation_filter_index is signalled. For another example, only if sps_frac_intraTMP_enabled or pps_frac_intraTMP_enabled is true, sps_frac_interpolation_filter_index or pps_frac_interpolation_filter_index can be signalled. For another example, only if sps_frac_intraTMP_enabled or pps_frac_intraTMP_enabled is true, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index can be signalled. For another example, only if sps_frac_interpolation_filter_index or pps_frac_interpolation_filter_index is not signalled, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index can be signalled.
- Sps_frac_interpolation_filter_index, pps_frac_interpolation_filter_index, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index equal to 0 means 8-tap interpolation filter is used. Sps_frac_interpolation_filter_index, pps_frac_interpolation_filter_index, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index equal to 1 means 4-tap interpolation filter is used. Sps_frac_interpolation_filter_index, pps_frac_interpolation_filter_index, ph_frac_interpolation_filter_index or sh_frac_interpolation_filter_index equal to 2 means bilinear interpolation filter is used. For another example, only if ph_frac_intraTMP_enabled or sh_frac_intraTMP_enabled is true, ph_frac_interpolation_filter_8 or sh_frac_interpolation_filter_8 can be signalled. Ph_frac_interpolation_filter_8 or sh_frac_interpolation_filter_8 equal to 1 means 8-tap interpolation filter is used. Ph_frac_interpolation_filter_8 or sh_frac_interpolation_filter_8 equal to 0 means 4-tap interpolation filter is used.
- IntraTMP Fusion
- In one embodiment, fusion can be applied to intraTMP. For example, if the current sequence is not screen content, during the searching process, two prediction blocks corresponding to the best and second-best TM cost are found. The final predictor can be derived by fusion of the two prediction blocks. If the current sequence is screen content, fusion of intraTMP will be disabled.
- In another embodiment, whether to use fusion on intraTMP can be determined by a high-level flag.
- In one embodiment, a flag can be signalled in SPS or PPS, and it is used to indicate whether fusion is allowed for intraTMP. In another embodiment, a flag can be signalled in PH or SH, i such as ph_fusion_intraTMP_enabled or sh_fusion_intraTMP_enabled.
- In another embodiment, a higher level syntax (e.g. sps_fusion_intraTMP_enabled or pps_fusion_intraTMP_enabled) is signalled. Only if it is true, the lower level related syntax (e.g. ph_fusion_intraTMP_enabled or sh_fusion_intraTMP_enabled) can be signalled. Additionally, if the related syntax (e.g. ph_fusion_intraTMP_enabled) is signalled in picture header, the related syntax for slice header level (e.g. sh_fusion_intraTMP_enabled) will not be signalled. In other words, only if the related syntax (e.g. ph_fusion_intraTMP_enabled) is not present in picture header, the related syntax in slice header (e.g. sh_fusion_intraTMP_enabled) can be signalled.
- Filtered Template Matching Based Intra Prediction (FTMP)
- To improve the prediction accuracy of intraTMP, a filter is applied to adapt the characteristics of the copied block to the local neighbourhood.
- In one embodiment, a higher level syntax is used to control the on-off of filtered template matching based intra prediction (e.g. sps_fusion_intraTMP_enabled or pps_fusion_intraTMP_enabled) . In another embodiment, a flag can be signalled in picture header or slice header (e.g. ph_filtered_intraTMP_enabled or sh_filtered_intraTMP_enabled) . In another embodiment, a higher level syntax, (e.g. sps_filtered_intraTMP_enabled or pps_filtered_intraTMP_enabled) is signalled. Only if it is true, the lower level related syntax (e.g. ph_filtered_intraTMP_enabled or sh_filtered_intraTMP_enabled) can be signalled. Additionally, if the related syntax (e.g. ph_filtered_intraTMP_enabled) is signalled in picture header, the related syntax signalled in slice header (e.g. sh_filtered_intraTMP_enabled) will not be signalled. In other words, only if the related syntax (e.g. ph_filtered_intraTMP_enabled) is not present in picture header, the related syntax in slice header (e.g. sh_filtered_intraTMP_enabled) can be signalled.
- IBC
- All the above-mentioned schemes can be applied to Intra Block Copy (IBC) mode. In some applications, fractional motion resolution, fusion or filtered prediction can be applied to IBC. The on-off can be determined by a high-level flag, such as SPS flag, PPS flag, PH flags, or SH flag.
- In the present disclosure, more syntax signalling schemes are proposed to improve coding efficiency. In one embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the GPM blending/fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the GPM blending/fusion is enabled for the coding of the GPM coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the GPM blending/fusion is enabled for the coding of the GPM coded CUs associated with the current slice.
- In another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the TIMD fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the TIMD fusion is enabled for the coding of the TIMD coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the TIMD fusion is enabled for the coding of the TIMD coded CUs associated with the current slice.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the DIMD fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the DIMD fusion is enabled for the coding of the DIMD coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the DIMD fusion is enabled for the coding of the DIMD coded CUs associated with the current slice.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the intra reference smooth is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the intra reference smooth is enabled for the coding of the intra mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the intra reference smooth is enabled for the coding of the intra mode coded CUs associated with the current slice.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the intra interpolation is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the intra interpolation is enabled for the coding of the intra mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the intra interpolation is enabled for the coding of the intra mode coded CUs associated with the current slice. It is noted that when the intra interpolation is disabled, the intra prediction sample is directly copied from the reference sample at the integer position.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the fusion of intra prediction with multiple reference lines is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the fusion of intra prediction with multiple reference lines is enabled for the coding of the intra mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the fusion of intra prediction with multiple reference lines is enabled for the coding of the intra mode coded CUs associated with the current slice. It is noted that when the fusion of intra prediction with multiple reference lines is disabled, the intra prediction sample is directly generated from single reference line.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the PDPC is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current slice.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the PDPC is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the PDPC is enabled for the coding of the intra mode coded CUs associated with the current slice.
- In the yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the chroma fusion is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the chroma fusion is enabled for the coding of the intra mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the chroma fusion is enabled for the coding of the intra mode coded CUs associated with the current slice.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether the OBMC (Overlapped Block Motion Compensation) is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the OBMC is enabled for the coding of the inter mode coded CUs associated with the current sequence. In yet another example, one new syntax element is signalled in the slice header to indicate whether the OBMC is enabled for the coding of the inter mode coded CUs associated with the current slice.
- In yet another embodiment, at least one new syntax element is signalled in the video level (e.g. video parameter set) , sequence level (e.g. sequence parameter set) , picture level (e.g. picture parameter set, picture header) , slice-level (e.g. slice header) , sub-picture level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The signalled new syntax element is used to indicate whether a subset of the blending/fusion processes (including but not limited to GPM fusion, TIMD blending, DIMD blending, intra reference sample smoothing, intra prediction interpolation, PDPC, CIIP-PDPC and chroma fusion) is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the new syntax element is signalled. For example, one new syntax element is signalled in the SPS to indicate whether the GPM fusion, TIMD blending, DIMD blending, intra reference sample smoothing, intra prediction interpolation, PDPC, CIIP-PDPC and chroma fusion is enabled for the coding of the CUs associated with the current sequence.
- In yet another embodiment, at least one flag is derived in the video level, sequence level, picture level, slice-level, tile level, and/or block level (e.g. CU, PU, TU, CTU, CB) . The derived flag is used to indicate whether the fusion/blending/smoothing operations mentioned in the previous embodiments is enabled for the blocks (e.g. CU, PU, TU, CTU or CB) associated with the level in which the flag is derived. For example, one flag is derived in the SPS to indicate whether the GPM fusion is enabled for the coding of the GPM coded CUs associated with the current sequence. In yet another example, one flag is signalled in the slice header to indicate whether the GPM fusion is enabled for the coding of the GPM coded CUs associated with the current slice. The derivation of the flag is based on the coded information, for example, when any coding tool for SCC, (including but not limited to intra block copy (IBC) , palette mode, BDPCM) , is enabled for the current slice, the flag is set to true (flag being equal to true indicates the GPM fusion is disabled for the GPM coded blocks) .
- In yet another embodiment, the decision of enabling the fusion/blending/smoothing operations mentioned in the above statement is made at decoder implicitly, instead of explicit signalling in the bitstream. In one example, the difference between two to-be-blended predictors is used to make a decision of enabling the fusion/blending/smoothing operations or not. For CUs coded with intra GPM, the difference between two GPM predictors is calculated and used to make the decision of enabling GPM blending or not. For CUs coded with intra mode with multiple reference lines fusion, the difference between two to-be-blended intra predictors is calculated and used to make the decision of enabling the fusion of intra prediction with multiple reference lines. When the difference is greater than a predefined threshold, the fusion/blending/smoothing operations are disabled. Otherwise, the fusion/blending/smoothing operations are enabled. In another embodiment, the differences between the to-be-blended predictor and the reference samples used to do smoothing are used to make a decision of enabling the fusion/blending/smoothing operations or not. For examples, in PDPC process, the differences between the intra predictors and the reference samples used in PDPC process are calculated and used to make the decision of enabling PDPC or not. The differences can be the absolute difference or the square difference. The threshold can be dependent on slice type, CU width/height, prediction mode, prediction direction, and/or quantization parameter.
- It is noted that, the foregoing proposed methods can be applied to luma and chroma component, independently and/or jointly.
- It is also noted that the foregoing proposed methods could be applied independently or jointly.
- The purpose of the proposed methods is to control the enabling/disabling of these blending/fusion schemes. It is noted that the foregoing proposed methods are applied to, but not limited to the existed blending or fusion schemes including GPM blending/fusion, TIMD blending/fusion, DIMD blending/fusion, intra reference smoothing, intra interpolation, PDPC, CIIP PDPC and OBMC. In other words, the existed blending/fusion schemes may be changed in the future, but the changed methods are still under the scope of the proposed methods as long as the proposed methods to control the enabling/disabling of the blending/fusion schemes are adopted.
- The use of a syntax to indicate whether AMVR (is used for intraTMP or the use of a syntax to indicate whether to use the blending/fusion process for GPM can be implemented in an encoder side or a decoder side. For example, any of the proposed syntax designs can be implemented in an Intra/Inter coding module (e.g. Intra Pred. 150/MC 152 in Fig. 1B) in a decoder or an Intra/Inter coding module is an encoder (e.g. Intra Pred. 110/Inter Pred. 112 in Fig. 1A) . Any of the proposed cross component prediction information from non-adjacent spatial candidates with constrained availability 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/112 in Fig. 1A and unit 150/152 in Fig. 1B) are shown as individual processing units, they may correspond to executable software or firmware codes stored on a media, such as hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .
- Fig. 10 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether AMVR (Adaptive Motion Vector Resolution) is used for intraTMP (intra Template Matching Prediction) 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 are received in step 1010, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. At least one syntax is determined in step 1020, wherein said at least one syntax is used to indicate whether a target coding tool from a coding tool set is used with intraTMP (intra Template Matching Prediction) , and the coding tool set comprises AMVR (Adaptive Motion Vector Resolution) . The current block is encoded or decoded by using intraTMP with or without the target coding tool according to said at least one syntax in step 1030.
- Fig. 11 illustrates a flowchart of an exemplary video coding system that uses a syntax to indicate whether to use the blending/fusion process for GPM (Geometric Partitioning Mode) according to an embodiment of the present invention. According to this method, input data associated with a current block are received in step 1110, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. A target syntax is determined in step 1120, wherein the target syntax is used to indicate whether to enable a blending or fusion process associated with a target coding tool. The current block is encoded or decoded by using the target coding tool with or without the blending or fusion process according to the target syntax in step 1130.
- The flowcharts shown are intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
- 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 (12)
- 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 data associated with the current block to be decoded at a decoder side;determining at least one syntax, wherein said at least one syntax is used to indicate whether a target coding tool from a coding tool set is used with intraTMP (intra Template Matching Prediction) , and the coding tool set comprises AMVR (Adaptive Motion Vector Resolution) ; andencoding or decoding the current block by using intraTMP with or without the target coding tool according to said at least one syntax.
- The method of Claim 1, wherein when the target coding tool corresponds to the AMVR and said at least one syntax indicates the AMVR being used in the current block, generating a prediction block for the current block, wherein the prediction block is located according to a block vector and the block vector has adaptive motion vector resolution.
- The method of Claim 1, wherein said at least one syntax is signalled or parsed in picture header or slice header.
- The method of Claim 3, wherein at least one higher-level syntax is signalled or parsed, and said at least one syntax is signalled or parsed only if said at least one higher-level syntax indicates the target coding tool is allowed.
- The method of Claim 4, wherein said at least one higher-level syntax is signalled or parsed in SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) .
- The method of Claim 1, wherein the coding tool set comprises interpolation filter used in the AMVR, fusion mode, or filtered template matching based intra Prediction of the intraTMP and IBC (Intra Block Copy) .
- 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 data associated with the current block to be decoded at a decoder side;determine at least one syntax, wherein said at least one syntax is used to indicate whether a target coding tool from a coding tool set is used with intraTMP (intra Template Matching Prediction) , and the coding tool set comprises AMVR (Adaptive Motion Vector Resolution) ; andencode or decode the current block by using intraTMP with or without the target coding tool according to said at least one syntax.
- 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 data associated with the current block to be decoded at a decoder side;determining a target syntax, wherein the target syntax is used to indicate whether to enable a blending or fusion process associated with a target coding tool; andencoding or decoding the current block by using the target coding tool with or without the blending or fusion process according to the target syntax.
- The method of Claim 8, wherein the target syntax is signaled or parsed at video level, sequence level, picture level, slice-level, sub-picture level, tile level, block level or a combination thereof.
- The method of Claim 8, wherein the target coding tool corresponds to GPM (Geometric Partitioning Mode) .
- The method of Claim 8, wherein the target coding tool corresponds to TIMD (Template-Based Intra Mode Derivation) fusion, DIMD (Decoder-side Intra Mode Derivation) fusion, intra reference smooth, intra interpolation, fusion of intra prediction with multiple reference lines, PDPC (Position Dependent Intra Prediction Combination) , CIIP (Combined Inter-Intra Prediction) PDPC, chroma fusion, OBMC (Overlapped Block Motion Compensation) , DIMD blending, GPM fusion, or GPM blending.
- 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 data associated with the current block to be decoded at a decoder side;determine a target syntax, wherein the target syntax is used to indicate whether to enable a blending or fusion process associated with a target coding tool; andencode or decode the current block by using the target coding tool with or without the blending or fusion process according to the target syntax.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363479554P | 2023-01-12 | 2023-01-12 | |
| US202363484758P | 2023-02-14 | 2023-02-14 | |
| PCT/CN2024/071521 WO2024149285A1 (en) | 2023-01-12 | 2024-01-10 | Method and apparatus of intra template matching prediction for video coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4649665A1 true EP4649665A1 (en) | 2025-11-19 |
Family
ID=91897894
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24741282.8A Pending EP4649665A1 (en) | 2023-01-12 | 2024-01-10 | Method and apparatus of intra template matching prediction for video coding |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4649665A1 (en) |
| CN (1) | CN120770157A (en) |
| WO (1) | WO2024149285A1 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10880564B2 (en) * | 2016-10-01 | 2020-12-29 | Qualcomm Incorporated | Transform selection for video coding |
| CN121309805A (en) * | 2018-06-18 | 2026-01-09 | 世宗大学校产学协力团 | Image decoding/encoding methods and methods for transmitting bit streams |
| CN112655206B (en) * | 2018-08-24 | 2024-11-15 | 三星电子株式会社 | Video decoding method and device, and video encoding method and device |
| KR20210099017A (en) * | 2018-12-07 | 2021-08-11 | 인터디지털 브이씨 홀딩스 인코포레이티드 | Management of Coding Tool Combinations and Limitations |
| CN116195254B (en) * | 2020-09-28 | 2026-01-13 | 交互数字Ce专利控股公司 | Template matching prediction for universal video coding |
-
2024
- 2024-01-10 WO PCT/CN2024/071521 patent/WO2024149285A1/en not_active Ceased
- 2024-01-10 EP EP24741282.8A patent/EP4649665A1/en active Pending
- 2024-01-10 CN CN202480007776.8A patent/CN120770157A/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024149285A1 (en) | 2024-07-18 |
| CN120770157A (en) | 2025-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2023198142A1 (en) | Method and apparatus for implicit cross-component prediction in video coding system | |
| US20230328278A1 (en) | Method and Apparatus of Overlapped Block Motion Compensation in Video Coding System | |
| WO2024149017A1 (en) | Methods and apparatus of motion shift in overlapped blocks motion compensation for video coding | |
| WO2023208224A1 (en) | Method and apparatus for complexity reduction of video coding using merge with mvd mode | |
| WO2024153198A1 (en) | Methods and apparatus of fractional block vectors in intra block copy and intra template matching for video coding | |
| WO2024027784A1 (en) | Method and apparatus of subblock-based temporal motion vector prediction with reordering and refinement in video coding | |
| WO2024149285A1 (en) | Method and apparatus of intra template matching prediction for video coding | |
| WO2025153050A1 (en) | Methods and apparatus of filter-based intra prediction with multiple hypotheses in video coding systems | |
| WO2026092625A1 (en) | Methods and apparatus of combined prediction mode with intra mode derivation in video coding systems | |
| US12556687B2 (en) | Method and apparatus of combined prediction in video coding system | |
| WO2026012349A1 (en) | Methods and apparatus of geometric partitioning mode with cross-component prediction for video coding | |
| WO2024222399A1 (en) | Refinement for merge mode motion vector difference | |
| US20260143129A1 (en) | Method, apparatus, and medium for video processing | |
| WO2025026397A1 (en) | Methods and apparatus for video coding using multiple hypothesis cross-component prediction for chroma coding | |
| WO2025148640A1 (en) | Method and apparatus of regression-based blending for improving intra prediction fusion in video coding system | |
| US20260143111A1 (en) | Method and Apparatus of Combined Prediction in Video Coding System | |
| WO2025007952A1 (en) | Methods and apparatus for video coding improvement by model derivation | |
| WO2024193386A1 (en) | Method and apparatus of template intra luma mode fusion in video coding system | |
| WO2024141071A9 (en) | Method, apparatus, and medium for video processing | |
| WO2023208189A1 (en) | Method and apparatus for improvement of video coding using merge with mvd mode with template matching | |
| WO2024222798A9 (en) | Methods and apparatus of inheriting block vector shifted cross-component models for video coding | |
| WO2024140853A1 (en) | Method, apparatus, and medium for video processing | |
| WO2023222016A1 (en) | Method and apparatus for complexity reduction of video coding using merge with mvd mode | |
| WO2025152710A1 (en) | Methods and apparatus of using template matching for mv refinement or candidate reordering for video coding | |
| WO2025148935A1 (en) | Method and apparatus of regression-based blending for improving inter prediction in video coding system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250718 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |