Method and device for generating chroma direct mode for video coding

The intra-frame prediction mode of the chroma block is derived from the intra-frame prediction mode of the luminance block through the Chroma Direct Mode (Chroma DM), which solves the problem of low efficiency of chroma intra-frame prediction in the existing technology and achieves more efficient video encoding and decoding performance, especially achieving significant improvements in screen content encoding.

CN114424534BActive Publication Date: 2025-09-23HFI INNOVATION INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080032229.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-05-10
Filing Date
2020-05-06
Publication Date
2025-09-23
Estimated Expiration
2040-05-06

AI Technical Summary

Technical Problem

Existing video coding and decoding technologies have low coding and decoding efficiency when processing color video data, especially in the chroma intra-frame prediction mode. It is difficult to effectively utilize the pixel correlation within the same image, resulting in limited coding performance.

Method used

The Chroma Direct Mode (Chroma DM) is adopted to derive the intra-frame prediction mode of the chroma block directly from the intra-frame prediction mode of the corresponding luminance block co-located with the current chroma block, and use the intra-frame prediction mode of the luminance block to provide predefined modes or mode inheritance for the chroma block, including planar mode, DC mode, horizontal mode and vertical mode, etc., and adapt according to the conditions and the codec type of the luminance block.

Benefits of technology

The coding and decoding efficiency of chroma intra-frame prediction is improved, the performance of video coding and decoding is enhanced, and especially the coding efficiency is significantly improved in screen content coding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114424534B_ABST
    Figure CN114424534B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and apparatus for video encoding and decoding. According to one method, a luma intra-frame prediction mode is determined for a corresponding luma block co-located with a current chroma block, wherein a predefined mode is assigned to the luma intra-frame prediction mode when the corresponding luma block co-located with the current chroma block satisfies one or more conditions. Based on the luma intra-frame prediction mode, an intra-frame prediction mode is determined for the current chroma block. The current chroma block is then encoded or decoded based on the chroma intra-frame prediction mode. According to another method, when the current block satisfies one or more conditions, a predefined mode is assigned to the intra-frame prediction mode of the current block. The current block is then encoded or decoded based on the intra-frame prediction mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to inter / intra prediction for video codecs of color video data, and more particularly to processing of chroma intra prediction modes using luma intra codec information. Background Art

[0002] High-Efficiency Video Coding (HEVC) is a new international video coding standard developed by the Joint Collaborative Team on Video Coding (JCT-VC). HEVC is a codec architecture based on a transform similar to the hybrid block-based motion compensated discrete cosine transform (DCT). The basic unit for compression, called a coding unit (CU), is a 2Nx2N square block, and each CU can be recursively divided into four smaller CUs until a predefined minimum size is reached. Each image is divided into multiple coding tree units (CTUs), and each CTU is divided into one or more CUs. For color video data, each CU may include multiple coding blocks (CBs) corresponding to multiple color components. Each CU contains one or more prediction units (PUs). For color video data, each PU may include multiple prediction blocks (PBs) corresponding to multiple color components. To achieve the best codec efficiency of the hybrid codec architecture in HEVC, two prediction modes (i.e., intra prediction and inter prediction) are used for each PU. For the intra prediction mode, spatially adjacent reconstructed pixels can be used to generate directional predictions.

[0003] Following the development of the HEVC standard, another merged video codec standard, called Versatile Video Coding (VVC), is being developed under the guidance of the Joint Video Exploration Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11. Various new codecs, as well as some existing ones, are being evaluated for use in VVC.

[0004] The following is an overview of some relevant codec tools for HEVC / VVC.

[0005] Interframe mode

[0006] When the CU / PU is encoded and decoded in the inter-frame Advanced Motion Vector Prediction (AMVP) mode, motion compensated prediction is performed using the transmitted motion vector difference (MVD), which can be used together with the motion vector predictor (MVP) to derive the motion vector (MV). In order to determine the MVP in the inter-frame AMVP mode, the AMVP scheme is used to select a motion vector predictor from an AMVP candidate set consisting of two spatial MVPs and one temporal MVP. Therefore, in the AMVP mode, the MVP index and the corresponding MVD of the MVP need to be encoded and transmitted. In addition, the inter-frame prediction direction used to specify the prediction direction in bidirectional prediction and unidirectional prediction (list 0 (L0) or list 1 (L1)) and the reference frame index of each list should also be encoded and transmitted.

[0007] When the PU is encoded or decoded by skip or merge mode, motion information is not sent except for the merge index of the selected candidate. This is because the skip and merge modes utilize motion inference methods from candidates in the candidate list. For skip and merge modes, the MVD between the potential MV and the MV predictor is zero (i.e. MV=MVP+MVD=MVP). Therefore, motion information can be obtained from spatially adjacent blocks (spatial candidates) or temporal blocks (temporal candidates) in the co-located image. The co-located image is the first reference image in list 0 or list 1, and the first reference image is sent in the slice header. In the case of a skip PU, the residual signal is also omitted. In order to determine the merge index for the skip and merge mode modes, a merge scheme is used to select a motion vector predictor from a merge candidate set containing four spatial MVPs and one temporal MVP.

[0008] Intra Block Copy (IBC) / Current Image Reference

[0009] Motion estimation / compensation is a well-known key technology in hybrid video coding, exploiting pixel correlations between adjacent images. In a video sequence, object motion between adjacent frames is minimal and can be modeled using two-dimensional translational motion. Therefore, patterns corresponding to objects or background in a frame are displaced to form corresponding objects in subsequent frames or to correlate with other patterns within the current frame. By estimating the displacement (for example, using block matching techniques), the pattern can be largely reproduced without re-encoding the pattern. Similarly, block matching and replication have been attempted to allow reference blocks to be selected from the same image. However, when applied to video captured by a camera, this concept is inefficient. This is partly because text patterns in spatially adjacent areas may be similar to the currently encoded block, but often change gradually over time. Therefore, it is difficult to find an exact match for a block in the same image of the video captured by the camera. Consequently, improvements in codec performance are limited.

[0010] However, the spatial correlation between pixels within the same image is different for screen content. For typical videos with text and graphics, there are often repeated patterns in the same image. Therefore, it has been observed that intra-frame (image) block compensation is very effective. A new prediction mode, the Intra Block Copy (IBC) mode or current picture referencing (CPR), is introduced for screen content coding to take advantage of this feature. In CPR mode, the PU is predicted based on previously reconstructed blocks within the same image. In addition, a displacement vector (called block vector or BV) is used to signal the relative displacement from the current block position to the reference block position. The prediction error is then encoded and decoded using transform, quantization and entropy coding. An example of CPR compensation is shown in Figure 1 , where region 110 corresponds to the image, slice, or image region to be encoded. Blocks 120 and 130 correspond to two blocks to be encoded. In this example, each block can find a corresponding block (i.e., 122 and 132, respectively) in a previously encoded region of the current image. According to this technique, the reference samples correspond to reconstructed samples of the current decoded image before loop filter operations, including deblocking and sample adaptive offset (SAO) filters in HEVC.

[0011] An early version of CPR was submitted as a candidate technology for the development of HEVC Range Extension (RExt) in JCTVC-M0350 (M. Budagavi, et al, “AHG8: Video coding using intra motion compensation”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO / IEC JTC1 / SC 29 / WG 11, 13th Meeting: Incheon, KR, 18-26 April 2013, Document: JCTVC-M0350) of the Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16. In JCTVC-M0350, CPR compensation was limited to a small local area, and for a block size of 2Nx2N, the search was limited to a one-dimensional block vector. Later, a more advanced CPR method was developed during the standardization of HEVC SCC (screen content codec).

[0012] Intra block copy (IBC) is adopted in the HEVC extension of SCC and the emerging video codec standard VVC. It is well known that it significantly improves the encoding and decoding efficiency of screen content materials. Since the IBC mode is implemented as a block-level codec mode, block matching (BM) is performed at the encoder to find the optimal block vector (or motion vector) for each CU. Here, the block vector is used to indicate the displacement from the current block to the reference block, which has been reconstructed inside the current image. The luminance block vector of the CU encoded and decoded by IBC has integer precision. The chrominance block vector is also rounded to integer precision. When the IBC mode is used in conjunction with AMVR, the IBC mode can switch between 1-pixel and 4-pixel motion vector precision. In addition to the intra or inter prediction mode, the CU encoded and decoded by IBC is regarded as the third prediction mode. The IBC mode is applicable to CUs whose width and height are both less than or equal to 64 luminance samples.

[0013] On the encoder side, hash-based motion estimation is performed for IBC. The encoder performs rate-distortion checks on blocks with a width or height no greater than 16 luma samples. For non-merge mode, a block vector search is first performed using a hash-based search. If the hash search does not return a valid candidate, a local search based on block matching is performed.

[0014] In a hash-based search, hash key matching (32-bit CRC) between the current block and the reference block is extended to all allowed block sizes. The hash key calculation for each location in the current image is based on a 4x4 sub-block. For larger current block sizes, a hash key is determined to match the hash key of a reference block when all hash keys of all 4x4 sub-blocks match the hash keys in the corresponding reference positions. If the hash keys of multiple reference blocks are found to match the hash key of the current block, the block vector cost of each matching reference is calculated, and the one with the lowest cost is selected.

[0015] For example, in a block match search, the search range is set to cover the previous CTU and the current CTU. For another example, the search range is in the current CTU and in the left CTU. For another example, the search range is set to N samples to the left and top of the current block within the current CTU. At the beginning of the CTU, if there is no temporal reference picture, the N value is initialized to 128, and if there is at least one temporal reference picture, the N value is initialized to 64. The hash hit rate is defined as the percentage of samples in the CTU for which a match is found using a hash-based search. When encoding the current CTU, if the hash hit rate is less than 5%, N will be reduced by half.

[0016] At CU level, the IBC mode is signaled with a flag, and it can be signaled as IBC AMVP mode or IBC skip / merge mode as shown below:

[0017] IBC skip / merge mode: The merge candidate index is used to indicate which block vector from a list of neighboring candidate IBC codec blocks is used to predict the current block. The merge list consists of spatial, history-based MVP (HMVP), and pairwise candidates.

[0018] IBC AMVP mode: Block vector differences are encoded and decoded in the same way as motion vector differences. The block vector prediction method uses two candidates as predictors, one from the left neighboring block and the other from the top neighboring block (if IBC is used). When neither neighboring block is available, the default block vector is used as the predictor. A flag is sent to indicate the block vector predictor index.

[0019] In the present invention, MV, MVD and MVP used in the IBC mode are named BV, BVD and BVP, respectively.

[0020] Intra-mode codec using 67 intra-prediction modes

[0021] To capture arbitrary edge directions present in natural videos, the number of directional intra modes in VTM4 is extended from 33 used in HEVC to 65. There are 67 intra prediction modes, including 65 directional modes, planar and DC modes such as Figure 2 As shown, the new directional mode not in HEVC is as follows Figure 2 The planar and DC modes remain unchanged. These more dense directional intra prediction modes are applicable to all block sizes and for luma and chroma intra prediction.

[0022] In VTM4 (J. Chen, et al., "Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)", Joint Video Experts Team (JVET) of ITU-T SG16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 13th Meeting: Marrakech, MA, 9-18 January 2019, Document: JVET-M1002), several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for non-square blocks. Section 3.3.1.2 of VTM4 introduces wide-angle intra prediction.

[0023] In HEVC, each intra-frame codec block has a square shape, and the length of each side is a power of 2. Therefore, no division operation is required to generate the intra predictor using DC mode. In VTM4, blocks can have a rectangular shape, which usually requires a division operation for each block. To avoid the division operation for DC prediction, only the longer side is used to calculate the average value for non-square blocks.

[0024] Intra-mode codec

[0025] In order to keep the complexity of most probable mode (MPM) list generation low, an intra mode codec with 6-MPM is used by deriving the MPM based on two available adjacent intra modes. The following three aspects are considered to construct the MPM list:

[0026] Default intra-frame mode

[0027] Adjacent intra-frame mode

[0028] Export intra-frame mode

[0029] For adjacent intra mode, two adjacent blocks located to the left (A) and above (B) of the current block are considered. The 6-MPM list generation process starts by initializing the default MPM list as follows:

[0030] Default 6-MPM mode = {A, Planar (0) or DC (1), Vertical (50), HOR (18), VER-4 (46), VER + 4(54)}.

[0031] In the above equation, the numbers in the brackets represent the intra-mode index of the corresponding intra-mode. For example, the intra-mode indices of the planar mode and DC mode are 0 and 1, respectively. After the 6-MPM mode is updated, a pruning process is performed for two adjacent intra-modes. If the two adjacent modes are the same and the adjacent mode index is greater than the DC (1) mode, the 6-MPM mode will include three default modes (A, planar, DC) and three derived modes. The three derived modes can be obtained by adding a predefined offset value to the adjacent mode and performing a modular operation. Otherwise, if the two adjacent modes are different, the two adjacent modes are assigned to the first two MPM modes, and the remaining four MPM modes are derived from the default mode and the adjacent mode. During the 6-MPM list generation process, pruning is used to remove duplicate modes so that only specific modes are included in the MPM list. For entropy coding and decoding of 61 non-MPM modes, truncated binary code (TBC) is used. For more details about the 6-MPM structure, see JVET-N0185 (B. Wang, et al., “CE3-related: A unified MPM list for intra mode coding”, Joint Video Experts Team (JVET) of ITU-T SG16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 14th Meeting: Geneva, CH, 19-27 Mar. 2019, Document: JVET-N0185).

[0032] Chroma DM (Direct Mode)

[0033] Chroma DM (direct mode) is a mode that uses the intra prediction mode of the corresponding luma block related to the current chroma block directly as the intra prediction mode of the current chroma block. However, if separate trees for luma and chroma are used, there may be multiple luma blocks corresponding to the current chroma block. For example, in Figure 3In the chroma DM mode, the corresponding luminance block associated with the current chroma block is determined to cover the upper left position (312) of the current chroma block 310. In terms of codec efficiency, it is important to select an appropriate block in the corresponding luminance block. In another example of the chroma DM mode, the intra prediction mode of the corresponding luminance block associated with the current chroma block covering the center position (314) of the current chroma block 310 is directly inherited. Therefore, when the chroma DM is used for the current chroma block, the corresponding luminance block associated with the current chroma block will cover the center position (314) of the current chroma block 310, as shown in FIG. Figure 3 More details can be found in JVET-L0053 (N. Choi, et al., “CE3-related: Chroma DM modification”, Joint Video Experts Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG11, 12th Meeting: Macao, CN, 3-12 Oct. 2018, Document: JVET-L0053) and JVET-L0272 (L. Zhang, K. Zhang, H. Liu, Y. Wang, P. Zhao, D. Hong, “CE3-related: Modified chromaderived mode”, Joint Video Experts Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC1 / SC 29 / WG 11, 12th Meeting: Macao, CN, 3-12 Oct. 2018, JVET-L0272).

[0034] PCM mode

[0035] When a block is encoded or decoded in intra mode, pulse code modulation (PCM) mode or intra mode can be used. In PCM mode, prediction, transform, quantization, and entropy coding are bypassed, and samples are directly represented by a predefined number of bits. Its main purpose is to avoid excessive bit consumption when the signal characteristics are extremely unusual (for example, noise-like signals) and cannot be properly handled by hybrid codecs.

[0036] Combined Inter Merge / Intra Prediction (CIIP) mode

[0037] When a CU is encoded and decoded in merge mode, and if the CU contains at least 64 luma samples (i.e., CU width multiplied by CU height ≥ 64), an additional flag is sent to indicate that CIIP mode is applied to the current CU. To form the CIIP prediction, an intra prediction mode such as planar mode is used. Then, inter predictions (e.g., merge predictions generated from merge motion candidates) and intra prediction signals are derived using conventional intra and inter decoding processes. Finally, a weighted average of the inter and intra prediction signals is performed to obtain the CIIP prediction. A more detailed description of the algorithm can be found in JVET-L0100 (M.-S. Chiang, et al., “CE10.1.1: Multi-hypothesis prediction for improving AMVP mode, skip or merge mode, and intra mode,” 12th Meeting: Macao, Joint Video Experts Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 12th Meeting: Macao, CN, 3-12 Oct. 2018, Document: JVET-L0100) and JVET-N0302 (L Pham Van, et al., “CE10: CIIP with position-independent weights (Test CE10-1.1),” Joint Video Experts Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 12th Meeting: Macao, CN, 3-12 Oct. 2018, Document: JVET-L0100) Meeting: Macao, CN, 3-12 Oct. 2018, Document: JVET-N0302).

[0038] BDPCM

[0039] Block-based Delta Pulse Code Modulation (BDPCM), also known as Residual Block-Differential Pulse Coded Modulation (RDPCM), uses reconstructed samples to predict rows or columns line by line in the method proposed in JVET-M057 (F. Henry, et al., "CE8: BDPCM with horizontal / vertical predictor and independently decodable areas (test 8.3.1b)", Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 13th Meeting: Marrakech, MA, 9-18 Jan. 2019, Document: JVET-M0057). VVC supports BDPCM for screen content encoding and decoding. At the sequence level, the BDPCM enable flag is sent in the SPS. This flag is emitted only when the transform skip mode (introduced in the next section) is enabled in the SPS. When BDPCM is enabled, if the CU size is less than or equal to MaxTsSize times MaxTsSize (in terms of luminance samples) and the CU is intra-coded, the flag is emitted at the CU level, where MaxTsSize is the maximum block size allowing the skip mode. This flag indicates whether conventional intra-coding or BDPCM is used. If BDPCM is used, the BDPCM prediction direction flag is sent to indicate whether the prediction is horizontal or vertical.

[0040] Then, using the regular horizontal or vertical intra-prediction process with unfiltered reference samples, the block is predicted. The residual is quantized, and the difference between each quantized residual and its predictor (e.g., the previously decoded residual at the horizontal or vertical (depending on the BDPCM prediction direction) adjacent position) is decoded.

[0041] For a block of size M (rows) × N (columns), after performing intra-prediction horizontally (i.e., copying the left adjacent pixel values row by row across the entire prediction block) or vertically (i.e., copying the top adjacent row to each row in the prediction block) using the unfiltered samples from the upper or left block boundary samples, let r i,j , 0 ≤ i ≤ M - 1, 0 ≤ j ≤ N - 1 be the prediction residuals. Let Q(r<% i,j ), 0 ≤ i < M - 1, 0 ≤ j ≤ N - 1 denote the residual ri,j The quantized form of , where the residual corresponds to the difference between the original block and the predicted block. Then, BDPCM is applied to the quantized residual samples, resulting in a quantized residual with elements r i,j The modified M×N array R ~ When vertical BDPCM (BDPCM prediction direction refers to vertical intra prediction) is used:

[0042]

[0043] For horizontal prediction, similar rules apply and the residual quantized samples can be obtained as follows:

[0044]

[0045] Residual quantization samples is sent to the decoder.

[0046] At the decoder side, the above calculation is inverted to produce Q(r i,j ), 0≤i≤M-1, 0≤j≤N-1. For vertical prediction:

[0047]

[0048] For horizontal forecasts:

[0049]

[0050] Inverse quantization residual Q -1 (Q(r i,j )) is added to the intra block prediction value to produce the reconstructed sample value. Using the same residual coding process as in transform skip mode residual coding, the predicted quantized residual value is sent to the decoder. For lossless codecs, if slice_ts_residual_coding_disabled_flag is set to 1, regular transform residual coding is used and the quantized residual value is sent to the decoder. More details can be found in JVET-N0413 (M. Karczewicz, et al., “CE8-related: Quantized residual BDPCM,” Joint Video Experts Team (JVET) of ITU-T SG 16WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 14th Meeting: Geneva, CH, 19-27 Mar. 2019, Document: JVET-N0413). Summary of the Invention

[0051] Disclosed are a method and apparatus for prediction of video coding and decoding. According to the method, input data related to a current chroma block in a current image is received on the video encoder side, or a video bitstream corresponding to compressed data of the current chroma block in the current image is received on the video decoder side. A luma intra prediction mode of a corresponding luma block collocated with the current chroma block is determined, wherein a predefined mode is assigned to the luma intra prediction mode when the corresponding luma block collocated with the current chroma block satisfies one or more conditions. Based on the luma intra prediction mode of the corresponding luma block collocated with the current chroma block, a chroma intra prediction mode of the current chroma block is derived. The current chroma block may correspond to a chroma coding block (CB), and the corresponding luma block corresponds to a luma CB or a luma prediction block (PB).

[0052] The chroma intra prediction mode of the current chroma block can be directly inherited from the luma intra prediction mode of the corresponding luma block co-located with the current chroma block. In one embodiment, the corresponding luma block co-located with the current chroma block covers the center position of the current chroma block.

[0053] In one embodiment, the predefined mode corresponds to a planar mode or a DC mode. In one embodiment, the condition includes encoding the corresponding luminance block using an intra block copy (IBC) mode. In another embodiment, the condition includes encoding the corresponding luminance block using a pulse code modulation (PCM) mode, a palette mode, a non-intra mode, or a residual block differential pulse code modulation (RDPCM) mode.

[0054] In one embodiment, when the condition corresponds to that the corresponding luminance block is encoded and decoded by the RDPCM mode, the predefined mode is set to the horizontal mode or the vertical mode depending on the prediction direction of the RDPCM mode.

[0055] In one embodiment, when the one or more conditions correspond to the corresponding luminance block being encoded and decoded in IBC mode, the predefined mode is set to one of the following: planar mode, DC mode, horizontal mode, and vertical mode.

[0056] In an embodiment, when the condition corresponds to that the corresponding luminance block is encoded and decoded in the IBC mode, the predefined mode is set to the DC mode.

[0057] According to another method, when the current block meets one or more conditions, a predefined mode is assigned to the intra prediction mode of the current block. The current block or the subsequent codec block is then encoded or decoded according to the intra prediction mode of the current block and / or the intra prediction mode referenced by the subsequent codec block. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 An example of CPR (Current Picture Reference) compensation is shown, where two blocks are predicted by two other blocks in the same picture.

[0059] Figure 2 67 intra prediction modes including 65 directional modes as well as planar mode and DC mode are shown, where new directional modes other than HEVC are indicated by dotted lines.

[0060] Figure 3 Two examples of corresponding luma blocks are shown in relation to the current chroma block.

[0061] Figure 4 A flowchart of an exemplary video codec for deriving an intra-frame prediction mode of a current chroma block based on an intra-frame prediction mode of a corresponding luminance block related to the current chroma block according to an embodiment of the present invention is shown, wherein a predefined intra-frame mode is assigned to the intra-frame prediction mode of the corresponding luminance block related to the current chroma block when the corresponding luminance block co-located with the current chroma block meets one or more conditions.

[0062] Figure 5 A flowchart of an exemplary video encoding and decoding according to an embodiment of the present invention is shown, where the current block is encoded and decoded in IBC, BDPCM or palette mode. DETAILED DESCRIPTION

[0063] The following description is the best way to implement the present invention. This description is intended to illustrate the general principles of the present invention and should not be considered as limiting. The scope of the present invention is best determined by reference to the appended claims.

[0064] Any of the methods proposed in this invention may be controlled by or combined with implicit or explicit rules. In one embodiment, the implicit rule may depend on the CB / PB width, CB / PB height, and / or CB / PB area. In another embodiment, the explicit rule may depend on flags sent at the PU, CU, CTU, slice, tile, tile group, Sequence Parameter Set (SPS), and / or Picture Parameter Set (PPS) level.

[0065] Intra prediction mode for the current chroma block

[0066] The intra-frame prediction mode of the current chroma block is derived based on the intra-frame prediction mode of the corresponding luma block associated with the current chroma block. For example, the specification of the intra-frame prediction mode of the current chroma block depends on the intra-frame prediction mode of the corresponding luma block associated with the current chroma block. For another example using the chroma DM as the intra-frame prediction mode of the current chroma block, the intra-frame prediction mode of the current chroma block is directly inherited from the luma intra-frame prediction mode of the corresponding luma block co-located with the current chroma block. For another example, when determining the intra-frame prediction mode of the corresponding luma block associated with the current chroma block, a default mode setting or a prohibition setting is recommended to be applied. The corresponding luma block associated with the current chroma block is the same as the current chroma block or different from the current chroma block in the segmentation tree. For example, the current chroma block and the corresponding luma block associated with the current chroma block are in different segmentation trees. The current chroma block is in the chroma segmentation tree, and the corresponding luma block associated with the current chroma block is in the luma segmentation tree. In this case, when the chroma block is coded by intra mode, the corresponding luma block associated with the current chroma block may be coded by non-intra mode. Based on the default mode setting or the disabled setting, the intra prediction mode of the corresponding luma block associated with the current chroma block is determined.

[0067] I. Default Mode Settings

[0068] The default mode setting means that when the corresponding luminance block co-located with the current chrominance block meets one or more conditions, a predefined mode (also referred to as the default mode in the present invention) is assigned to the intra-frame prediction mode for the corresponding luminance block co-located with the current chrominance block.

[0069] In one embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in IBC mode.

[0070] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in PCM mode.

[0071] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded by palette mode.

[0072] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in a non-intra mode (eg, IBC mode).

[0073] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in RDPCM mode.

[0074] In another embodiment, the default mode is planar mode.

[0075] In another embodiment, when the corresponding luma CB / PB co-located with the current chroma CB / PB is encoded and decoded by the RDPCM mode, the default mode can be horizontal or vertical mode depending on the prediction direction (i.e., horizontal or vertical prediction) used for the corresponding luma CB / PB co-located with the current chroma CB / PB encoded and decoded by the RDPCM mode. In one example, if the prediction direction is horizontal, the default mode is set to horizontal mode. In another sub-embodiment, if the prediction direction is vertical, the default mode is set to horizontal mode. In another example, if the prediction direction is vertical, the default mode is set to vertical mode. In another example, if the prediction direction is horizontal, the default mode is set to vertical mode.

[0076] In another embodiment, the default mode is DC mode.

[0077] In another embodiment, the default mode is the non-angle mode.

[0078] In another embodiment, the default mode is one of {planar mode, DC, horizontal, vertical}.

[0079] In another embodiment, the default mode is determined based on the current chroma CB / PB width, height, and / or area. For example, if the chroma CB / PB width is equal to the chroma CB / PB height, the default mode is a non-angle mode, such as a planar mode or a DC mode. In another example, when the chroma CB / PB long side is greater than the chroma CB / PB short side multiplied by a specific threshold (e.g., 1, 2, 3, 4, 5, 6, 7, or 8), the default mode is assigned as follows:

[0080] If the long side is the block width, the default mode is vertical.

[0081] If the long side is the block height, the default mode is horizontal.

[0082] In another example, if the chroma CB / PB area is greater than a certain threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the default mode is the planar mode. In yet another example, if the chroma CB / PB area is less than a certain threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the default mode is the planar mode. In yet another example, if the chroma CB / PB area is greater than a certain threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the default mode is the DC mode. In yet another example, if the chroma CB / PB area is less than a certain threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the default mode is the DC mode.

[0083] II. Prohibited settings

[0084] The prohibit setting means that when one of the following conditions occurs, for the current chroma block, the chroma DM mode is skipped, or for the intra prediction mode that generates the current chroma block, the corresponding luma block related to the current chroma block is considered invalid.

[0085] In one embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in IBC mode.

[0086] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in PCM mode.

[0087] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded by palette mode.

[0088] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in a non-intra mode (eg, IBC mode).

[0089] In another embodiment, the condition is that the corresponding luma CB / PB co-located with the current chroma CB / PB is coded in RDPCM mode.

[0090] Motion information modification for IBC mode

[0091] In one embodiment, the values ​​of BV, BVD and / or BVP are limited to a predetermined range. For example, the predefined range can be represented by 16 bits. In a sub-embodiment, the predefined range is [-2 15 , 2 15 For example, the predefined range may be represented by 18 bits, which is the same as the regular frame interval. In a sub-embodiment, the predefined range is [-2 17 , 2 17 ].

[0092] In another embodiment, the BV, BVD and / or BVP may be stored with integer pixel precision and may be referenced by subsequent encoding and decoding blocks.

[0093] In another embodiment, BV, BVD and / or BVP may be stored with a precision of 1 / 4 pixel and may be referenced by subsequent encoding and decoding blocks.

[0094] In another embodiment, BV, BVD and / or BVP may be stored with 1 / 16 pixel precision and may be referenced by subsequent codec blocks.

[0095] Intra prediction mode for IBC / PCM / palette mode

[0096] In one embodiment, the intra prediction mode for IBC / PCM / palette mode is set to one of {planar, DC, horizontal, vertical}.

[0097] In another embodiment, the intra prediction mode for IBC / PCM / palette mode is determined based on the width, height and / or area of ​​the current block. For example, if the current block width is equal to the current block height, the intra prediction mode is a non-angular mode, such as a planar mode or a DC mode. In another example, when the long side of the current block is greater than the short side of the current block multiplied by a specific threshold (e.g., 1, 2, 3, 4, 5, 6, 7, or 8), the intra prediction mode is assigned as follows:

[0098] If the long side is the block width, the intra prediction mode is vertical.

[0099] If the long side is the block height, the intra prediction mode is horizontal.

[0100] In another example, if the current block area is greater than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is planar mode. In another example, if the current block area is less than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is planar mode. In another example, if the current block area is greater than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is DC mode. In another example, if the current block area is less than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is DC mode.

[0101] In another embodiment, the IBC / PCM / palette intra prediction mode may be referenced by the following codec blocks or used in certain cases during the following process. For example, when deriving the intra prediction mode for a chroma CB / PB for subsequent codecs, or when using a chroma DM for a subsequent chroma CB / PB, the corresponding luma CB / PB associated with the subsequent chroma CB / PB is coded using the IBC / PCM / palette mode. For another example, the RDPCM intra prediction mode is used during intra prediction generation or during a transform process.

[0102] Intra prediction mode of RDPCM mode

[0103] In one embodiment, the intra prediction mode of the RDPCM mode is set to one of {planar, DC, horizontal, vertical}.

[0104] In another embodiment, the intra-frame prediction mode of the RDPCM mode can be a horizontal or vertical mode depending on the prediction direction (i.e., horizontal or vertical prediction). For example, if the prediction direction is horizontal, the intra-frame prediction mode of the RDPCM mode is set to horizontal mode. In another example, if the prediction direction is vertical, the intra-frame prediction mode of the RDPCM mode is set to horizontal mode. In yet another example, if the prediction direction is vertical, the intra-frame prediction mode of the RDPCM mode is set to vertical mode. In yet another example, if the prediction direction is horizontal, the intra-frame prediction mode of the RDPCM mode is set to vertical mode.

[0105] In another embodiment, the intra prediction mode of the RDPCM mode is determined based on the width, height and / or area of ​​the current block. For example, if the current block width is equal to the current block height, the intra prediction mode is a non-angular mode such as a planar mode or a DC mode. In another example, when the long side of the current block is greater than the short side of the current block multiplied by a specific threshold (e.g., 1, 2, 3, 4, 5, 6, 7, or 8), the intra prediction mode is assigned as follows:

[0106] If the long side is the block width, the intra prediction mode is vertical.

[0107] If the long side is the block height, the intra prediction mode is horizontal.

[0108] In another example, if the current block area is greater than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is planar mode. In another example, if the current block area is less than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is planar mode. In another example, if the current block area is greater than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is DC mode. In another example, if the current block area is less than a specific threshold, such as 16, 32, 64, 128, 256, 512, or 1024, the intra-frame prediction mode is DC mode.

[0109] In another embodiment, the intra-frame prediction mode of RDPCM can be referenced by subsequent codec blocks or used in subsequent processing in some cases. For example, when deriving an intra-frame prediction mode for subsequent codec chroma CB / PB, or when a subsequent chroma CB / PB uses a chroma DM, the corresponding luma CB / PB associated with the subsequent chroma CB / PB is coded and decoded by the RDPCM mode. For another example, the intra-frame prediction mode of RDPCM is used not only in intra-frame prediction generation but also in the transformation process.

[0110] Any combination of the above methods may be applied.

[0111] Any of the aforementioned methods may be implemented in an encoder and / or decoder. For example, any of the aforementioned methods may be implemented by the IBC / Intra / PCM / Inter / RDPCM codec of an encoder and / or decoder. Alternatively, any of the aforementioned methods may be implemented as a circuit coupled to the IBC / Intra / PCM / Inter / RDPCM codec of an encoder and / or decoder, thereby providing the information required for the IBC / Intra / PCM / Inter / RDPCM codec.

[0112] Figure 4 A flowchart of an exemplary video codec for deriving an intra-frame prediction mode for a current chroma block based on an intra-frame prediction mode of a corresponding luminance block associated with the current chroma block (e.g., using chroma DM (direct mode)) according to an embodiment of the present invention is shown, wherein when a corresponding luminance block co-located with the current chroma block satisfies one or more conditions, a default intra-frame mode is assigned to the intra-frame prediction mode of the corresponding luminance block associated with the current chroma block. The steps shown in the flowchart and other subsequent flowcharts in the present disclosure can be implemented as program codes that can be executed on one or more processors (e.g., one or more CPUs) on the encoder side and / or decoder side. The steps shown in the flowchart can also be implemented based on hardware, such as one or more electronic devices or processors arranged to execute the steps in the flowchart. According to the method, in step 410, input data related to the current chroma block in the current image is received on the video encoder side, or a video bitstream corresponding to compressed data of the current chroma block in the current image is received on the video decoder side. In step 420, a luma intra prediction mode is determined for a corresponding luma block collocated with the current chroma block, wherein a predefined mode is assigned to the luma intra prediction mode when the corresponding luma block collocated with the current chroma block satisfies one or more conditions. In step 430, a chroma intra prediction mode is derived for the current chroma block based on the luma intra prediction mode of the corresponding luma block collocated with the current chroma block. In step 440, the current chroma block is encoded or decoded based on the chroma intra prediction mode of the current chroma block.

[0113] Figure 5 A flowchart of an exemplary video encoding and decoding according to an embodiment of the present invention is shown. According to the method, in step 510, input data related to a current block in a current image is received at the video encoder side, or a video bitstream corresponding to compressed data of the current block in the current image is received at the video decoder side. In step 520, when the current block meets one or more conditions, a predefined mode is assigned to the intra-frame prediction mode of the current block. The conditions include that the current block is encoded or decoded in IBC, BDPCM, or palette mode. In step 530, the current block or a subsequent codec block is encoded or decoded according to the intra-frame prediction mode of the current block.

[0114] The flowchart shown is intended to illustrate an example of video encoding and decoding according to the present invention. Those skilled in the art may modify each step, rearrange the steps, split the steps, or combine the steps to implement the present invention without departing from the spirit of the present invention. In this disclosure, specific syntax and semantics are used to illustrate examples for implementing embodiments of the present invention. Those skilled in the art may practice the present invention by replacing syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.

[0115] The above description is presented to enable those skilled in the art to practice the present invention provided in the context of a specific application and its requirements. Various modifications to the described embodiments will be apparent to those skilled 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 specific embodiments shown and described, but rather to be consistent with the widest range consistent with the principles and novel features disclosed herein. In the above detailed description, various specific details are shown in order to provide a thorough understanding of the present invention. However, those skilled in the art will understand that the present invention can be implemented.

[0116] The embodiments of the present invention described above can be implemented in various hardware, software code, or a combination of both. For example, embodiments of the present invention can be implemented as one or more circuits integrated into a video compression chip or as program code integrated into video compression software to perform the processes described above. Embodiments of the present invention can also be implemented as program code to be executed on a digital signal processor (DSP) to perform the processes described above. The present invention can also involve many functions performed by computer processors, DSPs, microprocessors, or field programmable gate arrays (FPGAs). These processors can be configured to perform specific tasks according to the present invention by executing machine-readable software code or firmware code that defines the specific methods embodied in the present invention. The software code or firmware code can be developed in different programming languages ​​and in different formats or styles. The software code can also be compiled for different target platforms. However, different code formats, styles, and languages ​​for the software code, as well as other means of configuring the code to perform the tasks according to the present invention, do not depart from the spirit and scope of the present invention.

[0117] The present invention may be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention. The examples described are to be considered in all respects as merely illustrative and not restrictive. Therefore, the scope of the present invention is indicated by the appended claims rather than the above description. All variations within the meaning and equivalent range of the claims are intended to be included within their scope.

Claims

1. A video encoding and decoding method, comprising: Receiving input data related to a current chroma block in a current picture at a video encoder side, or receiving a video bitstream corresponding to compressed data of said current chroma block in said current picture at a video decoder side; determining a luma intra prediction mode for a corresponding luma block collocated with the current chroma block, wherein when the corresponding luma block collocated with the current chroma block is encoded and decoded using an intra block copy mode, when the current chroma block is located in a chroma partition tree and the corresponding luma block collocated with the current chroma block is located in a luma partition tree, a predefined mode corresponding to a planar mode or a DC mode is assigned to the luma intra prediction mode; deriving a chroma intra prediction mode for the current chroma block based on the luma intra prediction mode of the corresponding luma block co-located with the current chroma block; as well as The current chroma block is encoded or decoded according to the chroma intra prediction mode of the current chroma block.

2. The video encoding and decoding method according to claim 1, wherein: The current chroma block corresponds to a chroma codec block, and the corresponding luma block corresponds to a luma codec block or a luma prediction block.

3. The video encoding and decoding method according to claim 1, wherein: The chroma intra prediction mode of the current chroma block is directly inherited from the luma intra prediction mode of the corresponding luma block co-located with the current chroma block.

4. The video encoding and decoding method according to claim 3, wherein: The corresponding luminance block co-located with the current chrominance block covers the center position of the current chrominance block.

5. A video codec device, comprising one or more electronic circuits or processors, wherein the video codec device is configured to: Receiving input data related to a current chroma block in a current picture at a video encoder side, or receiving a video bitstream corresponding to compressed data of said current chroma block in said current picture at a video decoder side; determining a luma intra prediction mode for a corresponding luma block collocated with the current chroma block, wherein when the corresponding luma block collocated with the current chroma block is encoded and decoded using an intra block copy mode, when the current chroma block is located in a chroma partition tree and the corresponding luma block collocated with the current chroma block is located in a luma partition tree, a predefined mode corresponding to a planar mode or a DC mode is assigned to the luma intra prediction mode; deriving a chroma intra prediction mode for the current chroma block based on the luma intra prediction mode of the corresponding luma block co-located with the current chroma block; as well as The current chroma block is encoded or decoded according to the chroma intra prediction mode of the current chroma block.

Citation Information

Patent Citations

  • Method and apparatus for intra chroma coding in image and video coding

    TW201818719A

  • Neighbor based signaling of intra prediction modes

    US20170332084A1