Image encoding method, image decoding method and related devices

By integrating the correlation of adjacent pixels on the boundary in orthogonal directions in the cross-component prediction mode to correct the prediction samples of the chrominance component, the problem of insufficient prediction of the chrominance component in the existing technology is solved, and more efficient video compression is achieved.

CN116456101BActive Publication Date: 2025-09-09GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310180815.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-29
Filing Date
2021-04-25
Publication Date
2025-09-09
Estimated Expiration
2041-04-25

AI Technical Summary

Technical Problem

Existing video compression technologies lack effective prediction of chrominance components in cross-component prediction mode, resulting in insufficient coding efficiency and accuracy.

Method used

By integrating the correlation of adjacent pixels on the boundary in orthogonal directions, the prediction samples of the chrominance component are corrected to improve the prediction accuracy and coding efficiency.

Benefits of technology

In the cross-component prediction mode, the prediction accuracy and coding efficiency of the chrominance component are improved, and the video compression ratio is optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116456101B_ABST
    Figure CN116456101B_ABST
Patent Text Reader

Abstract

The embodiments of the present application disclose an image encoding method, an image decoding method, and related devices. The image decoding method includes: dividing the image, determining the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current coding block; when the intra-frame prediction mode of the chrominance component indicates that the luminance component of the current coding block is used to determine the predicted value of the chrominance component of the current coding block, determining the prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component; performing prediction correction on the prediction block of the chrominance component of the current coding block to obtain the corrected prediction block of the chrominance component of the current coding block. In the cross-component prediction mode, the embodiments of the present application correct the prediction sample of the chrominance component of each pixel by integrating the correlation of adjacent pixels on the boundary in orthogonal directions, thereby improving prediction accuracy and coding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with the application date of April 25, 2021, application number 202180037803.2, and invention name “Image encoding method, image decoding method and related device”. Technical Field

[0002] The present application relates to the technical field of electronic equipment, and in particular to an image encoding method, an image decoding method and related devices. Background Art

[0003] Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, e-book readers, digital cameras, digital recording devices, digital media players, video gaming devices, video game consoles, cellular or satellite radio telephones, video conferencing devices, video streaming devices, and the like.

[0004] Digital video devices implement video compression techniques, such as those described in the standards defined by MPEG-2, MPEG-4, ITU-TH.263, ITU-TH.264 / MPEG-4 Part 10 Advanced Video Coding (AVC), ITU-TH.265 High Efficiency Video Coding (HEVC), and extensions of these standards, to more efficiently transmit and receive digital video information. Video devices can more efficiently transmit, receive, encode, decode, and / or store digital video information by implementing these video codec techniques.

[0005] With the surge in Internet videos, despite the continuous evolution of digital video compression technology, higher requirements are still placed on video compression ratios. Summary of the Invention

[0006] The embodiments of the present application provide an image encoding method, an image decoding method, and related devices, in order to improve the prediction accuracy and coding efficiency by correcting the predicted samples of the chrominance component of each pixel in a cross-component prediction mode by integrating the correlation of adjacent pixels on the boundaries in orthogonal directions.

[0007] In a first aspect, an embodiment of the present application provides an image coding method, comprising: dividing an image, determining an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current coding block; when the intra-frame prediction mode for the chrominance component indicates the use of the luminance component of the current coding block to determine a predicted value of the chrominance component of the current coding block, determining a prediction block for the chrominance component of the current coding block according to the intra-frame prediction mode for the luminance component; and performing prediction correction on the prediction block for the chrominance component of the current coding block to obtain a corrected prediction block for the chrominance component of the current coding block.

[0008] Compared with the prior art, the solution of the present application utilizes the cross-component prediction mode to predict the prediction samples of the chrominance component of each pixel by integrating the correlation in orthogonal directions, thereby improving the prediction accuracy and coding efficiency.

[0009] In a second aspect, an embodiment of the present application provides an image decoding method, comprising: parsing a code stream to determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current decoding block; when the intra-frame prediction mode for the chrominance component indicates using a reconstructed block of the luminance component of the current decoding block to determine a predicted value of the chrominance component of the current decoding block, determining a prediction block for the chrominance component of the current decoding block according to the intra-frame prediction mode for the luminance component; and performing prediction correction on the prediction block for the chrominance component of the current decoding block to obtain a corrected prediction block for the chrominance component of the current decoding block.

[0010] Compared with the prior art, the present application scheme utilizes the correlation of adjacent pixels on the boundaries in orthogonal directions in the cross-component prediction mode to predict the predicted samples of the chrominance component of each pixel, thereby improving the prediction accuracy and decoding efficiency.

[0011] In the third aspect, an embodiment of the present application provides an image encoding device, including: a division unit, used to divide the image, determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current coding block; a determination unit, used to determine the reference prediction block of the chrominance component of the current coding block according to the luminance component intra-frame prediction mode when the chrominance component intra-frame prediction mode indicates that the luminance component of the current coding block is used to determine the prediction value of the chrominance component of the current coding block; a filtering unit, used to filter the reference prediction block of the chrominance component of the current coding block to obtain the prediction block of the chrominance component of the current coding block.

[0012] In a fourth aspect, an embodiment of the present application provides an image decoding device, comprising: a parsing unit, configured to parse a code stream and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current decoding block; a determination unit, configured to determine a reference prediction block for the chrominance component of the current decoding block according to the luminance component intra-frame prediction mode when the chrominance component intra-frame prediction mode indicates that a reconstructed block of the luminance component of the current decoding block is used to determine a predicted value of the chrominance component of the current decoding block; and a filtering unit, configured to filter the reference prediction block for the chrominance component of the current decoding block to obtain a prediction block for the chrominance component of the current decoding block.

[0013] In a fifth aspect, an embodiment of the present application provides an encoder, comprising: a processor and a memory coupled to the processor; the processor is used to execute the method described in the first aspect above.

[0014] In a sixth aspect, an embodiment of the present application provides a decoder comprising: a processor and a memory coupled to the processor; the processor is configured to execute the method described in the second aspect above.

[0015] In the seventh aspect, an embodiment of the present application provides a terminal, which includes: one or more processors, a memory and a communication interface; the memory and the communication interface are connected to the one or more processors; the terminal communicates with other devices through the communication interface, and the memory is used to store computer program code, and the computer program code includes instructions. When the one or more processors execute the instructions, the terminal executes the method described in the first aspect or the second aspect.

[0016] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions. When the instructions are executed on a computer, the computer executes the method described in the first or second aspect above.

[0017] In a ninth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the method described in the first or second aspect above. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0019] Figure 1This is a schematic block diagram of a coding tree unit in an embodiment of the present application;

[0020] Figure 2 This is a schematic block diagram of a color format in an embodiment of the present application;

[0021] Figure 3 This is a schematic block diagram of a CTU and a coding unit CU in an embodiment of the present application;

[0022] Figure 4 A schematic block diagram of associated pixels of a coding unit in an embodiment of the present application;

[0023] Figure 5 This is a schematic block diagram of a luminance component intra-frame prediction mode in an embodiment of the present application;

[0024] Figure 6 A schematic block diagram of adjacent pixels used for calculating coefficients of a linear model in an embodiment of the present application;

[0025] Figure 7 is a schematic block diagram of a downsampling filter in an embodiment of the present application;

[0026] Figure 8 This is a schematic block diagram of a change from a luminance component reconstruction block to a chrominance component prediction block in an embodiment of the present application;

[0027] Figure 9 is a schematic block diagram of a video decoding system in an embodiment of the present application;

[0028] Figure 10 is a schematic block diagram of a video encoder in an embodiment of the present application;

[0029] Figure 11 is a schematic block diagram of a video decoder in an embodiment of the present application;

[0030] Figure 12A A flowchart of an image encoding method according to an embodiment of the present application is shown;

[0031] Figure 12B Schematic diagram of a horizontal downsampling process in an embodiment of the present application;

[0032] Figure 12C Schematic diagram of a vertical downsampling process in an embodiment of the present application;

[0033] Figure 13 This is a flowchart of an image decoding method according to an embodiment of the present application;

[0034] Figure 14 This is a block diagram of a functional unit of an image encoding device in an embodiment of the present application;

[0035] Figure 15 This is another functional unit block diagram of the image encoding device in an embodiment of the present application;

[0036] Figure 16 This is a block diagram of a functional unit of an image decoding device in an embodiment of the present application;

[0037] Figure 17 This is another functional unit block diagram of the image decoding device in an embodiment of the present application. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0039] It will be understood that the terms "first," "second," and the like, as used herein, may be used to describe various elements herein, but these elements are not limited by these terms. These terms are used solely to distinguish a first element from another element. For example, a first client may be referred to as a second client, and similarly, a second client may be referred to as a first client, without departing from the scope of the present invention. The first client and the second client are both clients, but they are not the same client.

[0040] First, the terms and related technologies used in the embodiments of this application are introduced.

[0041] Regarding image segmentation, in order to more flexibly represent video content, the High Efficiency Video Coding standard (HEVC) technology defines coding tree units (CTUs), coding units (CUs), prediction units (PUs), and transform units (TUs). CTUs, CUs, PUs, and TUs are all image blocks.

[0042] Coding tree unit CTU, an image is composed of multiple CTUs. A CTU usually corresponds to a square image area, containing the luminance pixels and chrominance pixels in this image area (or it can contain only luminance pixels, or it can contain only chrominance pixels); CTU also contains syntax elements, which indicate how to divide the CTU into at least one coding unit (coding unit, CU), and how to decode each coding unit to obtain a reconstructed image. Figure 1As shown in (a) of FIG, the image 10 is composed of multiple CTUs (including CTU A, CTU B, CTU C, etc.). The coding information corresponding to a CTU includes the luminance values ​​and / or chrominance values ​​of the pixels in the square image area corresponding to the CTU. In addition, the coding information corresponding to a CTU may also include syntax elements that indicate how to divide the CTU into at least one CU and the method of decoding each CU to obtain a reconstructed image. The image area corresponding to a CTU may include 64×64, 128×128, or 256×256 pixels. In one example, a 64×64 pixel CTU includes a rectangular pixel matrix consisting of 64 columns, with 64 pixels in each column, and each pixel includes a luminance component and / or a chrominance component. A CTU may also correspond to a rectangular image area or an image area of ​​other shapes. The image area corresponding to a CTU may also be an image area in which the number of pixels in the horizontal direction is different from the number of pixels in the vertical direction, for example, including 64×128 pixels.

[0043] A coding unit CU usually corresponds to an A×B rectangular area in an image, containing A×B luminance pixels and / or their corresponding chrominance pixels. A is the width of the rectangle and B is the height of the rectangle. A and B can be the same or different. The values ​​of A and B are usually integer powers of 2, such as 128, 64, 32, 16, 8, and 4. The width involved in the embodiment of the present application refers to Figure 1 The length along the X-axis direction (horizontal direction) in the two-dimensional rectangular coordinate system XoY shown is Figure 1 The length along the Y-axis (vertical direction) in the two-dimensional rectangular coordinate system XoY shown. The reconstructed image of a CU can be obtained by adding the predicted image and the residual image. The predicted image is generated by intra-frame prediction or inter-frame prediction, and can be specifically composed of one or more prediction blocks (predictionblock, PB). The residual image is generated by dequantizing and inverse transforming the transform coefficients, and can be specifically composed of one or more transform blocks (transformblock, TB). Specifically, a CU contains coding information, and the coding information includes prediction mode, transform coefficients and other information. According to these coding information, the CU is subjected to corresponding prediction, dequantization, inverse transformation and other decoding processes to generate the reconstructed image corresponding to this CU.

[0044] The prediction unit PU is the basic unit for intra-frame prediction and inter-frame prediction. The motion information that defines the image block includes the inter-frame prediction direction, reference frame, motion vector, etc. The image block that is being encoded is called the current coding block (CCB), and the image block that is being decoded is called the current decoding block (CDB). For example, when an image block is being predicted, the current coding block or the current decoding block is the prediction block; when an image block is being processed as a residual, the current coding block or the current decoding block is the transform block. The image in which the current coding block or the current decoding block is located is called the current frame. In the current frame, the image blocks to the left or above the current block may be inside the current frame and have completed the encoding / decoding process to obtain a reconstructed image. They are called reconstructed blocks; information such as the coding mode and reconstructed pixels of the reconstructed blocks is available. The frame that has completed the encoding / decoding process before the current frame is encoded / decoded is called a reconstructed frame. When the current frame is a unidirectionally predicted frame (P frame) or a bidirectionally predicted frame (B frame), it has one or two reference frame lists, respectively, called L0 and L1. Each list contains at least one reconstructed frame, called the reference frame of the current frame. Reference frames provide reference pixels for inter-frame prediction of the current frame.

[0045] The transform unit TU processes the residual between the original image block and the predicted image block.

[0046] A pixel (also called a pixel point) refers to a pixel point in an image, such as a pixel point in a coding unit, a pixel point in a luminance component pixel block (also called a luminance pixel), a pixel point in a chrominance component pixel block (also called a chrominance pixel), etc.

[0047] A sample (also called a pixel value) refers to the pixel value of a pixel point. In the luminance component domain, the pixel value specifically refers to the brightness (i.e., grayscale value). In the chrominance component domain, the pixel value specifically refers to the chrominance value (i.e., color and saturation). Depending on the processing stage, the sample of a pixel specifically includes the original sample, the predicted sample, and the reconstructed sample.

[0048] Intra-frame prediction generates a predicted image for the current block based on the spatially adjacent pixels of the current block. An intra-frame prediction mode corresponds to a method for generating a predicted image. Intra-frame prediction units can be divided into two types: 2N×2N and N×N. The 2N×2N division method does not divide the image block; the N×N division method divides the image block into four equal-sized sub-image blocks.

[0049] Usually, digital video compression technology is used in color coding method YCbCr, also known as YUV, and the color format is 4:2:0, 4:2:2 or 4:4:4 video sequence. Among them, Y represents brightness (Luminance or Luma), that is, grayscale value, Cb represents blue chroma component, Cr represents red chroma component, U and V represent chroma (Chrominance or Chroma), which is used to describe color and saturation. In terms of color format, 4:2:0 means that every 4 pixels have 4 brightness components and 2 chroma components (YYYYCbCr), 4:2:2 means that every 4 pixels have 4 brightness components and 4 chroma components (YYYYCbCrCbCr), and 4:4:4 means full pixel display (YYYYCbCrCbCrCbCrCbCr). Figure 2 The distribution of each component in different color formats is shown, where the circle is the Y component and the triangle is the UV component.

[0050] During digital video encoding, the encoder reads and encodes pixels from raw video sequences in various color formats. A typical digital encoder typically includes prediction, transform and quantization, inverse transform and inverse quantization, loop filtering, and entropy coding to eliminate spatial, temporal, visual, and character redundancy. However, the human eye is more sensitive to changes in the luminance component and less sensitive to changes in the chrominance components. Therefore, the original video sequence is typically encoded using the YUV 4:2:0 color format. Furthermore, during the intra-frame coding phase, digital video encoders use different prediction processes for the luminance and chrominance components. The prediction of the luminance component is more detailed and complex, while the prediction of the chrominance components is generally simpler. The cross-component prediction (CCP) mode is a technique used in existing digital video encoding to improve video compression ratios by applying it to both luminance and chrominance components.

[0051] The specific implementation process of the cross-component prediction mode acts on intra-frame coding. The method includes using the training samples of the luminance block to determine the linear model (Linear Model) for predicting the chrominance block (Chrominance Block), and using the samples of the luminance block and the linear model to determine the samples of the chrominance block. Among them, the luminance block and the chrominance block are pixel blocks of the coding unit in the luminance component and the chrominance component. The digital video encoder usually reads the original video sequence into frames of images and divides the image into coding tree units CTU, and the coding tree unit can be further divided into coding units CU of different and same sizes. The specific encoding process is carried out in the coding units of different components. The relationship between the coding tree unit and the coding unit is as follows: Figure 3 shown.

[0052] An example of cross-component prediction (CCP): In the latest Versatile Video Coding (VVC) standard, a cross-component linear model (CCLM) is used to reduce redundancy between components. The linear model is trained using the original samples and reconstructed samples of the adjacent pixels of the original pixel block of the luminance component of the current coding unit. The sample information of the adjacent pixels includes the original samples and reconstructed samples of the upper adjacent pixels of the original pixel block of the luminance component of the current coding unit, the original samples and reconstructed samples of the upper right adjacent pixels of the original pixel block of the luminance component of the current coding unit, the original samples and reconstructed samples of the left adjacent pixels of the original pixel block of the luminance component of the current coding unit, and the original samples and reconstructed samples of the lower left adjacent pixels of the original pixel block of the luminance component of the current coding unit. Figure 4 Examples of the positional relationship between an 8x8 original pixel block of the luminance component and its adjacent pixels, and a 4x4 original predicted pixel block of the chrominance component and its adjacent pixels under the color format YUV4:2:0 are respectively shown.

[0053] In the current coding unit, the prediction samples of the pixels in the chrominance component prediction block are obtained by calculating and downsampling the reconstructed samples of the pixels in the original pixel block of the luminance component of the current coding unit through a linear model, wherein the linear model calculation process is expressed as follows:

[0054] Pred C (i, j) = α·Rec L (i, j)+β (1)

[0055] Among them, (i, j) is the coordinate of the pixel, i specifically refers to the horizontal coordinate of the prediction block of the chrominance component of the current coding unit, its range is [0, width-1], the step size is 1, width is the width of the prediction block of the chrominance component of the current coding unit, its value can be 4, 8, 16 and 32; j specifically refers to the vertical coordinate of the prediction block of the chrominance component of the current coding unit, its range is [0, height-1], the step size is 1, height is the height of the prediction block of the chrominance component of the current coding unit, its value can be 4, 8, 16 and 32, Rec L is the reconstructed sample of the pixel in the original pixel block of the luminance component, Pred c is the predicted sample of the pixel in the prediction block of the chrominance component, and α and β are the coefficients of the linear model.

[0056] VVC's CCLM technology includes LM, LM_L, and LM_A modes. LM_L uses only the left-side adjacent samples to calculate the linear model, while LM_A uses only the top-side adjacent samples to calculate the linear model.

[0057] In another example of cross-component prediction, the latest cross-component technology proposal M4612 adopted by the Chinese digital audio and video coding standard (AVS) is the two-step cross-component prediction mode (TSCPM). Figure 5 As shown, the intra-frame coded luminance component calculates up to 65 intra prediction modes (Intra Prediction mode), DC represents the mean mode, Plane represents the plane mode, Bilinear represents the bilinear mode, and Zone represents the zone. The optimal result is selected according to the rate distortion cost and the intra prediction mode and the corresponding prediction residual are transmitted. When the pixels of the prediction block of the chrominance component are predicted by cross-component technology, the reconstructed samples of the adjacent pixels of the original pixel block of the luminance component of the current coding unit and the reconstructed samples of the adjacent pixels of the original predicted pixel block of the chrominance component of the current coding unit are used for the calculation of the linear model. The adjacent pixels of the original pixel block of the luminance component include the upper adjacent pixels and the left adjacent pixels of the original pixel block of the luminance component of the current coding unit; the adjacent pixels of the prediction block of the chrominance component include the upper adjacent pixels and the left adjacent pixels of the prediction block of the chrominance component of the current coding unit.

[0058] When selecting reconstructed samples as reference samples for calculating the coefficients of the linear model, combined with the availability of reconstructed samples of adjacent pixels, a combination of reconstructed samples of two pixels among the upper adjacent pixels and reconstructed samples of two pixels among the left adjacent pixels can be used. Alternatively, all reconstructed samples of four pixels among the upper adjacent pixels and all reconstructed samples of four pixels among the left adjacent pixels can be used.

[0059] According to the different selections of the above-mentioned reference samples, the prediction mode includes: if the reconstructed samples of the upper adjacent pixels of the original pixel block of the luminance component and the original pixel block of the chrominance component (collectively referred to as the original pixel block on this end for the convenience of description) corresponding to the current coding unit and the reconstructed samples of the left adjacent pixels of the original pixel block of the current coding unit are available, and the reference samples used for calculating the coefficients of the linear model are from both the upper and left adjacent pixels, or if the original pixel block corresponding to the current coding unit has only the reconstructed samples of the upper adjacent pixels available, and the reference samples used for calculating the coefficients of the linear model only select the reconstructed samples of the upper adjacent pixels, or if the original pixel block corresponding to the current coding unit has only the reconstructed samples of the left adjacent pixels available, and the linear model When the reference samples used in the calculation of the coefficients only select the reconstructed samples of the left adjacent pixels, it is the TSCPM mode; if the reconstructed samples of the upper adjacent pixels of the original pixel block corresponding to the current coding unit and the reconstructed samples of the left adjacent pixels of the original pixel block corresponding to the current coding unit are available, and the reference samples used in the calculation of the coefficients calculated by the linear model only select the reconstructed samples of the upper adjacent pixels, it is the TSCPM_T mode; if the reconstructed samples of the upper adjacent pixels of the original pixel block corresponding to the current coding unit and the reconstructed samples of the left adjacent pixels of the original pixel block corresponding to the current coding unit are available, and the reference samples used in the calculation of the coefficients of the linear model only select the reconstructed samples of the left adjacent pixels, it is the TSCPM_L mode.

[0060] In the reference sample for calculating the coefficients of the linear model, as shown above Figure 6 As shown, if the reference samples come from the adjacent pixels on both sides of the original pixel block corresponding to the current coding unit, the reference samples on the upper side select the reconstructed sample of the leftmost pixel in the upper adjacent pixels and the reconstructed sample of the rightmost pixel on the upper side of the width of the original pixel block corresponding to the current coding unit, and the left reference samples select the reconstructed sample of the uppermost pixel in the left adjacent pixels and the reconstructed sample of the lowermost pixel in the left adjacent pixels of the height of the original pixel block corresponding to the current coding unit; if the reference samples used to calculate the coefficients of the linear model only come from the upper side, then with a quarter of the width of the original pixel block corresponding to the current coding unit as the step length, select the reconstructed samples of four consecutive steps of pixels in the upper adjacent pixels; if the reference samples only come from the left side, then with a quarter of the height of the original pixel block corresponding to the current coding unit as the step length, select the reconstructed samples of four consecutive steps of pixels in the four left adjacent pixels.

[0061] That is, the adjacent pixels of the four luminance components and the adjacent pixels of the four chrominance components can be selected in three ways.

[0062] Method 1: When two adjacent pixels are selected from the upper adjacent coding block and the left adjacent coding block respectively, the selected adjacent pixels can be determined by the following formula:

[0063] minStep=min(Width,Height);

[0064] TopIndex=(minStep-1)*Width / minStep;

[0065] LeftIndex=(minStep-1)*Height / minStep;

[0066] In the above formula, min(x,y) returns the smaller value of x and y, Width is the width of the chroma component of the current coding block, Height is the height of the chroma component of the current coding block, TopIndex is the index value of another adjacent pixel other than the first adjacent pixel when selecting the upper boundary adjacent pixel, and LeftIndex is the index value of another adjacent pixel other than the first adjacent pixel when selecting the left boundary adjacent pixel;

[0067] Method 2: When only four adjacent pixels are selected from the upper adjacent coding block, starting from the first adjacent pixel on the left, four adjacent pixels of the luminance component and four adjacent pixels of the chrominance component are selected with a step size of one-quarter of the width of the chrominance component of the current coding block;

[0068] Method 3: When only four adjacent pixels are selected from the left adjacent coding block, starting from the first adjacent pixel on the top, four adjacent pixels of the luminance component and four adjacent pixels of the chrominance component are selected with a step size of one-quarter of the height of the chrominance component of the current coding block;

[0069] In the above specific example AVS3, the linear model calculation formula of the cross-component technology is the same as the above formula (1), where α and β can be calculated by the following formula:

[0070]

[0071] β=Y Min -α·X Min (3)

[0072] Among them, Y Max is the average value of the two largest reconstructed samples among the reconstructed samples of multiple adjacent pixel points of the original pixel block of the chrominance component used for calculating the coefficients of the linear model, Y Min It is the average value of the two minimum reconstructed samples among the reconstructed samples of multiple adjacent pixel points of the original pixel block of the chrominance component used for calculating the coefficients of the linear model. Max is the average value of the two largest reconstructed samples among the reconstructed samples of multiple adjacent pixel points of the original pixel block of the brightness component used for calculating the coefficient of the linear model, X MinIt is the average value of two minimum reconstructed samples among the reconstructed samples of multiple adjacent pixel points of the original pixel block of the luminance component used for calculating the coefficients of the linear model.

[0073] According to the calculated linear model, cross-component prediction is performed, and the luminance component reconstruction block of the current CU is used to generate the corresponding chrominance component reference prediction block (Chroma Reference Prediction Pixel Block). Specifically, the reference prediction sample of the chrominance component of each pixel of the current coding unit is calculated according to equations (1) / (2) and (3). The size of the chrominance component reference prediction block is the same as the size of the original pixel block of the luminance component. In a specific example, the input digital video color format is generally YUV4:2:0 format, that is, the size of the chrominance component prediction block is one-fourth of the original pixel block of the luminance component. In order to obtain the corresponding chrominance component prediction block of the correct size, the chrominance component reference prediction block needs to be downsampled by half in the horizontal and vertical directions respectively. After downsampling, the chrominance component prediction block is one-fourth of the original pixel block of the corresponding luminance component, meeting the size requirements of the color format constraint. Among them, the filter used for downsampling the chrominance component reference prediction block uses a downsampling filter with two taps and the same coefficient in the left boundary pixel area of ​​the chrominance component reference prediction block, and uses a downsampling filter with six taps and two different coefficients in other pixel areas.

[0074] The six-tap downsampling filter with two different coefficients is shown in equation (4).

[0075]

[0076] Among them, x, y are the coordinates of the pixel, P' C is the predicted sample of the brightness component of the current pixel, P 1 C is the predicted sample of the chrominance component of the current pixel.

[0077] The downsampling filter with two taps and the same coefficient is shown in equation (5).

[0078]

[0079] Among them, x, y are the coordinates of the pixel, P' C is the predicted sample of the brightness component of the current pixel, P 2 C is the predicted sample of the chrominance component of the current pixel.

[0080] The downsampling filter is Figure 7 As shown, x1 represents multiplication by 1 and x2 represents multiplication by 2. Figure 8A schematic diagram shows the change from the luminance component reconstruction block to the chrominance component prediction block in the cross-component technology, where the size of the luminance component reconstruction block of the coding unit is 8*8, the size of the corresponding chrominance component reference prediction block is 8*8, and the size of the filtered chrominance component prediction block is 4*4.

[0081] AVS3 also adopts multiple cross-component prediction modes, two of which are MPCM_T and MPCM_L.

[0082] These two prediction modes act on the chrominance components, but the prediction process of the U component is different from that of the V component. The prediction process of the U component is consistent with TSCPM_T and TSCPM_L, while the prediction block of the V component is obtained by subtracting the reconstruction block of the U component from the temporary chrominance prediction component block. The specific formula is as follows:

[0083] Pred C (x, y) = α′·Rec L (x,y)+β′ (6)

[0084] Pred Cr (x, y) = Pred C ′(x, y)-Rec Cb (x, y) (7)

[0085] In the above formulas (2) and (3), Pred C (x, y) is the predicted sample at pixel (x, y) in the prediction block of the chrominance component, Rec L (x, y) is the reconstructed sample at pixel (x, y) in the reconstructed block of the luminance component, Pred C '(x, y) is the predicted sample at pixel (x, y) in the prediction block of the chroma component after downsampling, Rec cb (x, y) is the reconstructed sample of the U component at the pixel (x, y) in the reconstructed block of the chrominance component, Pred Cr (x, y) is the predicted sample of the V component at the pixel (x, y) in the prediction block of the chrominance component, α' and β' are the linear parameters of the U component and the V component respectively. The linear parameters of the U component and the V component are calculated according to formulas (2) and (3). At present, when the existing enhanced two-step cross-component prediction technology uses all reconstructed samples from the upper or left adjacent coding units as reference information to calculate the linear model to obtain the reference prediction block of the chrominance component of the current coding unit, if only the reconstructed samples from the upper adjacent pixels are taken, the reference information of the reconstructed samples from the left adjacent pixels is lacking; if only the reconstructed samples from the left adjacent pixels are taken, the reference information of the reconstructed samples from the upper adjacent pixels is lacking.

[0086] The above-mentioned single selection of reconstructed samples of the upper or left adjacent pixels as reference information to calculate the linear model can effectively enhance the spatial correlation from a single side and achieve a certain compression rate in some specific coding units. However, using the reconstructed samples of the adjacent pixels on a single side as reference information is overly dependent on the sample values ​​of the adjacent pixels on that side. That is, if the current chroma coding unit chooses to take only the reconstructed samples of the upper adjacent pixels as reference information, the correlation between the samples of the pixels on the row is lacking; if the current chroma coding unit chooses to take only the reconstructed samples of the left adjacent pixels as reference information, the correlation between the samples of the pixels on the column is lacking. This prediction wastes a large amount of available reference information and cannot well predict the sample values ​​of the chroma components of the current coding unit, resulting in a loss of coding efficiency.

[0087] In response to the above technical problems, the present application proposes the following design ideas: in the existing enhanced two-step cross-component prediction mode, the prediction block of the chroma component after the reference prediction block of the chroma component is downsampled is predicted and corrected based on the correlation of the boundary adjacent pixels in the orthogonal direction. After the current chroma coding unit selects to take only the reconstructed samples of the upper adjacent pixels as reference information and calculates the sample value of the prediction block of the chroma component, the reconstructed samples of the left adjacent pixels are selected to perform prediction correction on each sample; after the current chroma coding unit selects to take only the reconstructed samples of the left adjacent pixels as reference information and calculates the sample value of the prediction block of the chroma component, the reconstructed samples of the upper adjacent pixels are selected to perform prediction correction on the samples of each pixel.

[0088] Specifically, at the encoding end, when encoding a coding unit, it is first determined whether the coding unit can use the intra-frame prediction filtering technology.

[0089] If intra-frame prediction filtering can be used, intra-frame prediction is performed on the luminance component of the coding unit, and prediction sample correction is performed on the samples of the prediction block of the luminance component after the prediction is completed. Then, intra-frame prediction is performed on the chrominance component of the coding unit, and prediction sample correction is performed on the samples of the prediction block of the color component after the prediction is completed. The rate-distortion cost calculated from the samples of the uncorrected prediction block and the samples of the corrected prediction block is used to determine whether to use intra-frame prediction filtering technology (i.e., prediction correction is performed based on the correlation between adjacent pixels on the boundary in the orthogonal direction).

[0090] The prediction process of the chrominance component of the coding unit includes the coding process in other prediction modes and the coding process in the enhanced two-step cross-component prediction mode.

[0091] If the intra prediction of the chroma component of the current coding unit is in other non-enhanced two-step cross-component prediction modes, no prediction correction is performed on the samples of the prediction block after the prediction is completed;

[0092] If the chroma component intra prediction of the current coding unit is in enhanced two-step cross-component prediction mode,

[0093] If the current enhanced two-step cross-component prediction mode is to take only the upper reconstructed samples as reference information to calculate a linear model, and the linear model is used to calculate and downsample the samples of the prediction block of the chrominance component of the current coding unit, then after the end of the prediction mode, the reconstructed samples of the left adjacent pixels are taken as reference information and the prediction samples of all pixels of the chrominance component of the coding unit are predicted and corrected using the intra-frame chrominance component prediction filter;

[0094] If the current enhanced two-step cross-component prediction mode is to take only the reconstructed samples of the left adjacent pixels as reference information to calculate the linear model, and the samples of the prediction block of the chrominance component of the current coding unit are calculated and downsampled by the linear model, then after the prediction mode ends, the reconstructed samples of the upper adjacent pixels are taken as reference information and the intra-frame chrominance component prediction filter is used to predict and correct the samples of all pixels of the chrominance component of the coding unit.

[0095] The above-mentioned prediction correction of the samples of the prediction block after the enhanced two-step cross-component prediction mode includes taking the distance between the currently processed pixel and the adjacent pixel as the filter coefficient index value, taking the size of the current coding unit as the filter coefficient group index value, searching the intra-frame chroma component prediction filter coefficient group according to the filter coefficient group index value, and finding the intra-frame chroma component prediction filter coefficient in the group according to the filter coefficient index value, obtaining the final prediction sample value based on the found filter coefficient and the filtering formula, and determining whether to turn on the prediction correction technology based on the rate-distortion cost of the uncorrected prediction block and the rate-distortion cost of the corrected prediction block in the intra-frame coding mode of the luminance component and the chroma component of the current coding unit.

[0096] If the rate-distortion cost of the uncorrected prediction block of the current coding unit is less than the rate-distortion cost of the corrected prediction block, the current coding unit does not use the prediction correction technology based on the correlation of adjacent pixels on the boundary in the orthogonal direction. Specifically, the flag used by the filtering technology can be set to "no".

[0097] If the rate-distortion cost of the uncorrected prediction block of the current coding unit is greater than the rate-distortion cost of the corrected prediction block, the current coding unit uses the prediction correction technology based on the correlation of adjacent pixels on the orthogonal boundary, and specifically, the flag used by the filtering technology can be set to true.

[0098] Specifically, at the decoding end, when the current coding unit selects intra-frame prediction for encoding, it is analyzed whether the current coding unit opens the enhanced two-step cross-component prediction mode and whether the current coding unit opens the intra-frame prediction correction technology. If the chroma component intra-frame prediction of the current coding unit opens the enhanced two-step cross-component prediction mode, and the current chroma prediction mode is the enhanced two-step cross-component prediction mode, and the current coding unit uses the intra-frame prediction filtering technology, then:

[0099] If the current coding unit only selects the reconstructed samples of the upper adjacent pixels as reference information to calculate the linear model, and the reference prediction block of the chroma component of the coding unit is calculated by the linear model, and then downsampled to the prediction block of the chroma component, then the reconstructed samples of the left adjacent pixels are taken as reference information, and the prediction block of the chroma component is predicted and corrected using the intra-frame chroma component prediction filter to obtain the samples of the final prediction block;

[0100] If the current coding unit only selects the reconstructed samples of the left adjacent pixels as reference information to calculate the linear model, and the reference prediction block of the chrominance component of the coding unit is calculated by the linear model, and then downsampled to the prediction block of the chrominance component, the reconstructed samples of the upper adjacent pixels are taken as reference information, and the intra-frame chrominance component prediction filter is used to predict and correct the prediction block of the chrominance component to obtain the final prediction sample. The prediction rate-distortion cost of the luminance component and the chrominance component of the current coding unit is used to determine whether to use the intra-frame prediction correction technology.

[0101] If so, when decoding a unit block, the parsed intra-frame prediction correction flag value and the intra-frame prediction mode index value are obtained. If the intra-frame prediction correction flag value of the current decoding block is true and the chrominance component prediction mode of the current decoding block is the enhanced two-step cross-component prediction mode, the prediction correction technology based on the orthogonal boundary adjacent pixels is used for decoding. First, the luminance component of the current decoding block is predicted and reconstructed. According to the prediction mode index value of the chrominance component of the current decoding block, it is determined that only the reconstructed samples of the upper adjacent pixels or the reconstructed samples of the left adjacent pixels are selected as reference information to calculate the linear model. The reference prediction block of the chrominance component of the current decoding block is calculated according to the linear model and downsampled to the prediction block of the chrominance component. Then, based on the current decoding block size and the distance between the current pixel and the adjacent pixels as the index value, the coefficient of the intra-frame chrominance prediction filter is selected, and the prediction sample of the current pixel and the reconstructed samples of the adjacent pixels are weighted summed to obtain the final prediction sample.

[0102] The embodiment of the present application predicts the sample of each pixel by integrating the correlation of adjacent pixels on the boundary in orthogonal directions, thereby improving prediction accuracy and coding efficiency.

[0103] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application.

[0104] Figure 9 This is a block diagram of a video decoding system 1, an example of which is described in the embodiments of this application. As used herein, the term "video decoder" generally refers to both a video encoder and a video decoder. In this application, the terms "video decoding" or "decoding" may generally refer to video encoding or video decoding. The video encoder 100 and video decoder 200 of the video decoding system 1 are used to implement the cross-component prediction method proposed in this application.

[0105] like Figure 9 As shown in FIG, a video decoding system 1 includes a source device 10 and a destination device 20. Source device 10 generates encoded video data. Therefore, source device 10 may be referred to as a video encoding device. Destination device 20 may decode the encoded video data generated by source device 10. Therefore, destination device 20 may be referred to as a video decoding device. Various implementations of source device 10, destination device 20, or both may include one or more processors and a memory coupled to the one or more processors. The memory may include, but is not limited to, RAM, ROM, EEPROM, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures accessible by a computer, as described herein.

[0106] Source device 10 and destination device 20 may comprise a variety of devices, including desktop computers, mobile computing devices, notebook (e.g., laptop) computers, tablet computers, set-top boxes, telephone handsets such as so-called “smart” phones, televisions, cameras, display devices, digital media players, video game consoles, in-vehicle computers, or the like.

[0107] Destination device 20 may receive encoded video data from source device 10 via link 30. Link 30 may include one or more media or devices capable of moving encoded video data from source device 10 to destination device 20. In one example, link 30 may include one or more communication media that enable source device 10 to transmit encoded video data directly to destination device 20 in real time. In this example, source device 10 may modulate the encoded video data according to a communication standard (e.g., a wireless communication protocol) and may transmit the modulated video data to destination device 20. The one or more communication media may include wireless and / or wired communication media, such as radio frequency (RF) spectrum or one or more physical transmission lines. The one or more communication media may form part of a packet-based network, such as a local area network, a wide area network, or a global network (e.g., the Internet). The one or more communication media may include routers, switches, base stations, or other equipment that facilitates communication from source device 10 to destination device 20. In another example, the encoded data may be output from output interface 180 to storage device 40.

[0108] The image coding and decoding techniques of the present application can be applied to video coding and decoding to support a variety of multimedia applications, such as over-the-air television broadcasting, cable television transmission, satellite television transmission, streaming video transmission (e.g., via the Internet), encoding of video data stored on a data storage medium, decoding of video data stored on a data storage medium, or other applications. In some examples, the video decoding system 1 can be used to support one-way or two-way video transmission to support applications such as video streaming, video playback, video broadcasting, and / or video telephony.

[0109] Figure 9 The video decoding system 1 described in the foregoing is merely an example, and the techniques of the present application can be applied to video decoding arrangements (e.g., video encoding or video decoding) that do not necessarily include any data communication between the encoding device and the decoding device. In other examples, data is retrieved from local storage, streamed over a network, and so on. A video encoding device may encode data and store the data in a memory, and / or a video decoding device may retrieve data from a memory and decode the data. In many examples, encoding and decoding are performed by devices that do not communicate with each other but only encode data to a memory and / or retrieve data from a memory and decode data.

[0110] exist Figure 9In an example of , source device 10 includes a video source 120, a video encoder 100, and an output interface 180. In some examples, output interface 180 may include a modem and / or a transmitter. Video source 120 may include a video capture device (e.g., a camera), a video archive containing previously captured video data, a video feed interface for receiving video data from a video content provider, and / or a computer graphics system for generating video data, or a combination of such sources of video data.

[0111] Video encoder 100 may encode video data from video source 120. In some examples, source device 10 transmits the encoded video data directly to destination device 20 via output interface 180. In other examples, the encoded video data may also be stored on storage device 40 for later access by destination device 20 for decoding and / or playback.

[0112] exist Figure 9 In the example of , destination device 20 includes an input interface 240, a video decoder 200, and a display device 220. In some examples, input interface 240 includes a receiver and / or a modem. Input interface 240 can receive encoded video data via link 30 and / or from storage device 40. Display device 220 can be integrated with destination device 20 or can be external to destination device 20. Generally, display device 220 displays the decoded video data. Display device 220 can include a variety of display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.

[0113] although Figure 9 Not shown, but in some aspects, video encoder 100 and video decoder 200 may each be integrated with an audio encoder and decoder, and may include appropriate multiplexer-demultiplexer units or other hardware and software to handle the encoding of both audio and video in a common data stream or in separate data streams.

[0114] The video encoder 100 and the video decoder 200 can each be implemented as any of a variety of circuits, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, hardware, or any combination thereof. If the present application is implemented in part in software, the device can store instructions for the software in a suitable non-volatile computer-readable storage medium and can use one or more processors to execute the instructions in hardware to implement the technology of the present application. Any of the foregoing (including hardware, software, a combination of hardware and software, etc.) can be considered to be one or more processors. Each of the video encoder 100 and the video decoder 200 can be included in one or more encoders or decoders, any of which can be integrated as part of a combined encoder / decoder (codec) in the corresponding device.

[0115] Figure 10 1 is an example block diagram of a video encoder 100 described in an embodiment of the present application. The video encoder 100 is used to output video to a post-processing entity 41. The post-processing entity 41 represents an instance of a video entity that can process the encoded video data from the video encoder 100, such as a media aware network element (MANE) or a splicing / editing device. In some cases, the post-processing entity 41 may be an instance of a network entity. In some video coding systems, the post-processing entity 41 and the video encoder 100 may be parts of separate devices, while in other cases, the functionality described with respect to the post-processing entity 41 may be performed by the same device that includes the video encoder 100. In one example, the post-processing entity 41 is Figure 1 An example of a storage device 40.

[0116] exist Figure 10 In the example of , the video encoder 100 includes a prediction processing unit 108, a filter unit 106, a memory 107, a summer 112, a transformer 101, a quantizer 102, and an entropy encoder 103. The prediction processing unit 108 includes an inter-frame predictor 110 and an intra-frame predictor 109. For image block reconstruction, the video encoder 100 also includes an inverse quantizer 104, an inverse transformer 105, and a summer 111. The filter unit 106 represents one or more loop filters, such as a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) filter. Although in Figure 10 In FIG, the filter unit 106 is shown as an in-loop filter, but in other implementations, the filter unit 106 may be implemented as a post-loop filter. In one example, the video encoder 100 may further include a video data memory and a segmentation unit (not shown in the figure).

[0117] The video encoder 100 receives video data and stores the video data in a video data memory. A segmentation unit segments the video data into a number of image blocks, which can be further segmented into smaller blocks, such as image block segmentation based on a quadtree structure or a binary tree structure. The prediction processing unit 108 can select one of multiple possible decoding modes for the current image block, such as one of multiple intra-frame decoding modes or one of multiple inter-frame decoding modes. The prediction processing unit 108 can provide the resulting intra-frame and inter-frame decoded blocks to the summer 112 to generate a residual block, and to the summer 111 to reconstruct the encoded block used as a reference image. The intra-frame predictor 109 within the prediction processing unit 108 can perform intra-frame predictive encoding of the current image block relative to one or more neighboring blocks in the same frame or slice as the current block to be encoded to remove spatial redundancy. The inter-frame predictor 110 within the prediction processing unit 108 may perform inter-frame predictive encoding of the current image block relative to one or more prediction blocks in one or more reference images to remove temporal redundancy. The prediction processing unit 108 provides information indicating the selected intra-frame or inter-frame prediction mode for the current image block to the entropy encoder 103, so that the entropy encoder 103 encodes the information indicating the selected inter-frame prediction mode.

[0118] After the prediction processing unit 108 generates a prediction block for the current image block via inter-frame prediction / intra-frame prediction, the video encoder 100 forms a residual image block by subtracting the prediction block from the current image block to be encoded. Summer 112 represents one or more components that perform this subtraction operation. The residual video data in the residual block may be contained in one or more TUs and applied to a transformer 101. The transformer 101 transforms the residual video data into residual transform coefficients using a transform such as a discrete cosine transform (DCT) or a conceptually similar transform. The transformer 101 may convert the residual video data from a pixel value domain to a transform domain, such as the frequency domain.

[0119] The transformer 101 may send the resulting transform coefficients to the quantizer 102. The quantizer 102 quantizes the transform coefficients to further reduce the bit rate. In some examples, the quantizer 102 may then perform a scan of the matrix containing the quantized transform coefficients. Alternatively, the entropy encoder 103 may perform the scan.

[0120] After quantization, the entropy encoder 103 performs entropy encoding on the quantized transform coefficients. For example, the entropy encoder 103 may perform context-adaptive variable length coding (CAVLC), context-adaptive binary arithmetic coding (CABAC), syntax-based context-adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy (PIPE) coding, or another entropy encoding method or technique. After entropy encoding by the entropy encoder 103, the encoded bitstream may be transmitted to the video decoder 200 or archived for later transmission or retrieval by the video decoder 200. The entropy encoder 103 may also perform entropy encoding on syntax elements of the current image block to be encoded.

[0121] The inverse quantizer 104 and the inverse transform 105 apply inverse quantization and inverse transform, respectively, to reconstruct the residual block in the pixel domain, for example, for later use as a reference block of a reference image. The summer 111 adds the reconstructed residual block to the prediction block generated by the inter-frame predictor 110 or the intra-frame predictor 109 to produce a reconstructed image block. The filter unit 106 can be applied to the reconstructed image block to reduce distortion, such as block artifacts. The reconstructed image block is then stored in the memory 107 as a reference block and can be used by the inter-frame predictor 110 as a reference block for inter-frame prediction of blocks in subsequent video frames or images.

[0122] Specifically, the video encoder 100 specifically implements the image encoding method provided in the embodiment of the present application, where the input video is divided into a plurality of coding tree units, each of which is further divided into a plurality of rectangular or square coding units. When the current coding unit selects the intra-frame prediction mode for encoding, the video encoder 100 analyzes whether the enhanced two-step cross-component prediction mode is enabled for the current coding unit, calculates and traverses the luminance component of the current coding unit using a plurality of prediction modes and selects the optimal prediction mode based on the rate-distortion cost, and calculates and traverses the chrominance component of the current coding unit using a plurality of prediction modes and selects the optimal prediction mode based on the rate-distortion cost.

[0123] The above intra-frame prediction process for the chrominance component includes:

[0124] If the current video coding sequence turns on the enhanced two-step cross-component prediction mode, the prediction and prediction correction method provided by the embodiment of the present application is applied. First, the reconstructed samples of the upper or left adjacent pixels of the luminance component of the current coding unit and the reconstructed samples of the upper or left adjacent pixels of the chrominance component of the current coding unit are extracted, and the linear model applied to the current coding unit is calculated. Then, the reference prediction block of the chrominance component of the current coding unit is calculated according to the linear model, the reference prediction block is downsampled, and the prediction correction based on the correlation of the boundary adjacent pixels in the orthogonal direction is performed on the downsampled prediction block to obtain the final prediction block of the chrominance component of the current coding unit. If the rate-distortion cost is optimal, the technology of the present application is selected as the final prediction mode and the mode index is transmitted to the decoding end via the code stream as the current coding unit prediction mode encoding parameter;

[0125] If the current video coding sequence does not enable the enhanced two-step cross-component prediction mode, the intra-frame prediction process does not apply the intra-frame prediction technology based on prediction correction of this application. At this time, the chrominance component prediction should use a directional mode or a mean mode to obtain the final prediction block of the chrominance component.

[0126] Afterwards, the residual between the original video block and the predicted block is calculated. The residual is subsequently transformed and quantized, entropy encoded, etc. to form an output bit stream, and the other path is subjected to inverse transformation and inverse quantization, loop filtering, etc. to form a reconstructed sample as reference information for subsequent video compression.

[0127] The intra predictor 109 may also provide information indicating the selected intra prediction mode of the current coding unit to the entropy encoder 103 so that the entropy encoder 103 encodes the information indicating the selected intra prediction mode.

[0128] Figure 11 This is an example block diagram of a video decoder 200 described in an embodiment of the present application. Figure 11 In an example of FIG, video decoder 200 includes an entropy decoder 203, a prediction processing unit 208, an inverse quantizer 204, an inverse transformer 205, a summer 211, a filter unit 206, and a memory 207. Prediction processing unit 208 may include an inter-frame predictor 210 and an intra-frame predictor 209. In some examples, video decoder 200 may perform substantially the same operation as with respect to a frame from FIG. Figure 10 The encoding process described in the video encoder 100 is the inverse of the decoding process.

[0129] During the decoding process, the video decoder 200 receives an encoded video stream representing image blocks and associated syntax elements of an encoded video slice from the video encoder 100. The video decoder 200 can receive video data from the network entity 42 and, optionally, store the video data in a video data memory (not shown in the figure). The video data memory can store video data to be decoded by the components of the video decoder 200, such as an encoded video stream. The video data stored in the video data memory can be obtained, for example, from the storage device 40, from a local video source such as a camera, via a wired or wireless network communication of video data, or by accessing a physical data storage medium. The video data memory can serve as a decoded picture buffer (CPB) for storing encoded video data from an encoded video stream.

[0130] Network entity 42 may be, for example, a server, a MANE, a video editor / splicer, or other such device for implementing one or more of the techniques described above. Network entity 42 may or may not include a video encoder, such as video encoder 100. Before network entity 42 sends the encoded video stream to video decoder 200, network entity 42 may implement some of the techniques described herein. In some video decoding systems, network entity 42 and video decoder 200 may be parts of separate devices, while in other cases, the functionality described with respect to network entity 42 may be performed by the same device that includes video decoder 200.

[0131] The entropy decoder 203 of the video decoder 200 entropy decodes the bitstream to generate quantized coefficients and certain syntax elements. The entropy decoder 203 forwards the syntax elements to the prediction processing unit 208. The video decoder 200 may receive syntax elements at the video slice level and / or the image block level. When the video slice is decoded as an intra-frame (I) slice, the intra predictor 209 of the prediction processing unit 208 generates a prediction block for the image block of the current video slice based on the signaled intra prediction mode and data from previously decoded blocks of the current frame or picture. When the video slice is decoded as an inter-frame (i.e., B or P) slice, the inter predictor 210 of the prediction processing unit 208 may determine an inter prediction mode for decoding the current image block of the current video slice based on the syntax elements received from the entropy decoder 203, and decode (e.g., perform inter prediction) on the current image block based on the determined inter prediction mode.

[0132] The inverse quantizer 204 inversely quantizes, i.e., dequantizes, the quantized transform coefficients provided in the bitstream and decoded by the entropy decoder 203. The inverse quantization process may include using the quantization parameters calculated by the video encoder 100 for each image block in the video slice to determine the degree of quantization to be applied and, similarly, the degree of inverse quantization to be applied. The inverse transformer 205 applies an inverse transform, such as an inverse DCT, an inverse integer transform, or a conceptually similar inverse transform process, to the transform coefficients to produce a residual block in the pixel domain.

[0133] After the inter-frame predictor 210 generates a prediction block for the current image block or a sub-block of the current image block, the video decoder 200 obtains a reconstructed block, i.e., a decoded image block, by summing the residual block from the inverse transformer 205 with the corresponding prediction block generated by the inter-frame predictor 210. The summer 211 represents a component that performs this summing operation. If necessary, a loop filter (in the decoding loop or after the decoding loop) may also be used to smooth pixel transitions or improve video quality in other ways. The filter unit 206 may represent one or more loop filters, such as a deblocking filter, an adaptive loop filter (ALF), and a sample adaptive offset (SAO) filter. Although in Figure 11 Filter unit 206 is shown as an in-loop filter in FIG, but in other implementations, filter unit 206 may be implemented as a post-loop filter.

[0134] The image decoding method specifically performed by the video decoder 200 includes: obtaining a prediction mode index of a current coding unit after parsing, inverse transforming, and inverse quantizing an input code stream.

[0135] If the prediction mode index of the chrominance component of the current coding unit is the enhanced two-step cross-component prediction mode, then only the reconstructed samples from the upper or left adjacent pixels of the current coding unit are selected for linear model calculation according to the index value, and the reference prediction block of the chrominance component of the current coding unit is obtained according to the linear model calculation. The block is downsampled, and the prediction correction based on the correlation of the boundary adjacent pixels in the orthogonal direction is performed on the downsampled prediction block to obtain the final prediction block of the chrominance component.

[0136] The subsequent code stream is used as reference information for subsequent video decoding and is output as a video signal after post-filtering.

[0137] It should be understood that other structural variations of the video decoder 200 may be used to decode the encoded video stream. For example, the video decoder 200 may generate an output video stream without processing by the filter unit 206; or, for certain image blocks or image frames, the entropy decoder 203 of the video decoder 200 does not decode quantized coefficients, and accordingly, does not need to be processed by the inverse quantizer 204 and the inverse transformer 205.

[0138] Specifically, the intra-frame predictor 209 may use the image decoding method described in the embodiment of the present application during the process of generating the prediction block.

[0139] Figure 12A This is a flow chart of an image encoding method according to an embodiment of the present application. The image encoding method can be applied to Figure 9 The source device 10 or Figure 10 A video encoder 100 is shown. Figure 12A The process shown is based on the execution subject Figure 10 The video encoder 100 shown is used as an example for explanation. Figure 12A As shown, the cross-component prediction method provided by the embodiment of the present application includes:

[0140] Step 110 : Divide the image and determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current coding block.

[0141] The color format of the video to which the image belongs includes but is not limited to 4:2:0, 4:2:2, etc.

[0142] For example, when the color format is 4:2:0, Figure 2 As shown in (C), the pixel ratio of the original pixel block of the luminance component of the current coding block to the original pixel block of the chrominance component is 4:1. Taking the 8*8 forward square pixel array as an example, the size of the corresponding original pixel block of the luminance component is 8*8, and the size of the corresponding original pixel block of the chrominance component is 4*4.

[0143] For example, when the color format is 4:2:2, Figure 2 As shown in (B), the pixel ratio of the original pixel block of the luminance component of the current coding block to the original pixel block of the chrominance component is 2:1. Taking the 8*8 forward square pixel array as an example, the size of the corresponding original pixel block of the luminance component is 8*8, and the size of the corresponding original pixel block of the chrominance component is 8*4.

[0144] Among them, such as Figure 5 As shown, the intra-frame coding luminance component calculates up to 65 intra-frame prediction modes. In a specific implementation, the luminance component calculates up to 62 angular prediction modes and 3 non-angular prediction modes and selects an optimal intra-frame prediction mode for transmission, while the intra-frame prediction mode of the chrominance component calculates up to 6 prediction modes. The intra-frame prediction mode of the luminance component of the current coding block is the prediction mode with the best bit rate distortion cost among multiple intra-frame prediction modes. The multiple intra-frame prediction modes are the intra-frame prediction modes used for the intra-frame prediction of the luminance component of the current coding block.

[0145] Step 120: When the chroma component intra prediction mode indicates using the luminance component of the current coding block to determine the predicted value of the chroma component of the current coding block, determine the prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode.

[0146] In this possible example, determining the prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component includes: determining the reference prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component; filtering the reference prediction block of the chrominance component of the current coding block to obtain the prediction block of the chrominance component of the current coding block.

[0147] In a specific implementation, the device may determine that the chrominance component intra-frame prediction mode indicates that the chrominance component intra-frame prediction mode is used to determine the prediction value of the chrominance component of the current coding block when it is determined that the luminance component intra-frame prediction mode is a preset intra-frame prediction mode. The preset intra-frame prediction mode is a luminance component intra-frame prediction mode in a preset direction, and the preset direction includes but is not limited to the horizontal direction (for example: Figure 1 In the two-dimensional rectangular coordinate system XoY, along the X-axis direction), vertical direction (for example: Figure 1 Along the negative direction of the Y axis in the two-dimensional rectangular coordinate system XoY shown).

[0148] In this possible example, filtering the reference prediction block of the chrominance component of the current coding block includes: filtering the reference prediction block of the chrominance component of the current coding block using a third filter.

[0149] In this possible example, the third filter includes a filter for filtering a left boundary pixel region of the reference prediction block of the chroma component and a filter for filtering a non-left boundary pixel region of the reference prediction block of the chroma component.

[0150] In this possible example, the filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component includes a third two-tap filter; the third two-tap filter includes:

[0151] P C (x, y) = (P′ C (2x, 2y)+P′ C (2x,2y+1)+1)>>1

[0152] Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0153] In this possible example, the filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter; the first six-tap filter includes:

[0154]

[0155] Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0156] In this possible example, determining the reference prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component includes: determining the reconstructed block of the luminance component of the current coding block according to the intra-frame prediction mode of the luminance component; and determining the reference prediction block of the chrominance component of the current coding block according to the reconstructed block of the luminance component of the current coding block.

[0157] The size of the reference prediction block of the chrominance component is the same as the size of the reconstruction block of the luminance component. Figure 8 The reconstructed block of the luminance component and the reference prediction block of the chrominance component in the prediction process shown are both 8*8 pixel arrays.

[0158] In this possible example, determining the reference prediction block of the chrominance component of the current coding block based on the reconstructed block of the luminance component of the current coding block includes: determining a linear model for cross-component prediction using the reconstructed block of the luminance component of the current coding block; calculating the reconstructed block of the luminance component according to the linear model to obtain the reference prediction block of the chrominance component of the current coding block.

[0159] The linear model may be, for example, the linear model of the aforementioned formula (1) or (2) (3).

[0160] In this possible example, determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current coding block includes: determining reference pixels for calculating the linear model, the reference pixels including at least one adjacent pixel of the current coding block; and calculating the linear model based on the reference pixels.

[0161] The selection of reference pixels for calculating the linear model may be extended to adjacent pixels on the lower left, left, upper left, upper side, and upper right side of the current coding block.

[0162] Optionally, if the current coding block is a partial image block in the current coding block, the device can select a linear model adapted to the current coding block from multiple linear models. Specifically, the adapted linear model can be selected for the current coding block based on the image characteristics. Since the coefficients of the linear model have not yet been determined, they still need to be calculated based on the reference pixels. It can be seen that the device can provide a more refined prediction mechanism for the chrominance component prediction of the current coding block relative to the coding block, thereby achieving more refined image prediction.

[0163] In this possible example, determining the reference pixels for calculating the linear model includes: determining the reference pixels for calculating the linear model based on available information of reconstructed samples of adjacent pixels of the current coding block and the chrominance component intra-frame prediction mode.

[0164] The intra prediction mode of the chrominance component of the current coding block includes any one of TSCPM_T, TSCPM_L, MPCM_T, and MPCM_L. The available information specifically includes two-side available and one-side available (for example, left-side available and right-side available). Detailed description is given below.

[0165] If the intra prediction mode of the chrominance component of the current coding block is TSCPM_T or MPCM_T, and the reconstructed samples of the upper neighboring pixels of the original pixel block corresponding to the current coding block and the reconstructed samples of the left neighboring pixels of the original pixel block corresponding to the current coding block are available, then the reference neighboring pixels used to calculate the coefficients of the linear model are 4 of the upper neighboring pixels of the original pixel block, such as Figure 6 As shown in (b).

[0166] If the intra prediction mode of the chrominance component of the current coding block is TSCPM_L or MPCM_L, and the reconstructed samples of the upper neighboring pixels of the original pixel block corresponding to the current coding block and the reconstructed samples of the left neighboring pixels of the original pixel block corresponding to the current coding block are available, then the reference neighboring pixels used to calculate the coefficients of the linear model are 4 of the left neighboring pixels of the original pixel block, such as Figure 6 As shown in (c).

[0167] It can be seen that, in this example, the reference neighboring pixels used to calculate the coefficients of the linear model can be flexibly set according to the availability of reconstructed samples of the neighboring pixels and the intra prediction mode of the chrominance component.

[0168] In this possible example, determining the reference pixels for calculating the linear model includes: determining the reference pixels for calculating the linear model based on the intra-frame prediction mode of the luminance component with the optimal rate-distortion cost of the adjacent coding blocks of the current coding block.

[0169] The intra-frame prediction mode with the optimal rate-distortion cost for the luminance component of the adjacent coding block may be the same as or different from the intra-frame prediction mode with the optimal rate-distortion cost for the luminance component of the current coding block.

[0170] Step 130: perform prediction correction on the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block.

[0171] In this possible example, the predicting and correcting the prediction block of the chrominance component of the current coding block includes: determining a filter according to the intra-frame prediction mode of the chrominance component; and using the filter to predict and correct the prediction block of the chrominance component of the current coding block.

[0172] Among them, the filtering direction of the filter is orthogonal to the direction of the adjacent pixels used to calculate the linear model in the intra-frame prediction mode of the chrominance component relative to the current coding block (specifically including vertical and horizontal directions, the vertical direction corresponds to using the upper adjacent pixels to calculate the linear model, and the horizontal direction corresponds to using the left adjacent pixels to calculate the linear model), and can comprehensively predict the predicted samples of the chrominance component of each pixel by combining the correlation of adjacent pixels in the orthogonal direction.

[0173] In this possible example, determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_T or MPCM_T, setting the filter to a first filter.

[0174] In this possible example, the first filter is used to filter a pixel area adjacent to a left boundary of a prediction block of a chroma component of the current coding block and a pixel area of ​​the prediction block of the chroma component of the current coding block.

[0175] For example, if Figure 12B The horizontal downsampling process in the 4*4 pixel array shown is taking the pixels in the prediction block of the chrominance component and the adjacent pixels on the left boundary as an example. First, the first two-tap filter is used to downsample the pixel a and the adjacent pixel 1 on the left boundary to form the pixel A of the modified prediction block of the chrominance component. In the horizontal direction, the first two-tap filter is used to downsample the pixel b and the adjacent pixel 1 on the left boundary to form the pixel B of the modified prediction block of the chrominance component. The same is true for other columns until the first two-tap filter is used to downsample the pixel p and the adjacent pixel 4 on the left boundary to form the pixel P of the modified prediction block of the chrominance component.

[0176] In this possible example, the first filter includes a first two-tap filter; the first two-tap filter includes: P′(x, y) = f(x)·P(-1, y) + (1-f(x))·P(x, y)

[0177] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

[0178] In this possible example, the horizontal filter coefficient is determined by a first parameter set, where the first parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(-1, y).

[0179] The value of the horizontal filter coefficient is related to the size of the chrominance component of the current coding block and the distance between the predicted pixel and the left adjacent pixel in the prediction block of the current chrominance component.

[0180] Specifically, the selection of the above-mentioned filter coefficients is related to the size of the chrominance component. The prediction block of the chrominance component of the current coding block is divided into different filter coefficient groups, and the corresponding filter coefficient group is selected according to the size of the prediction block of the current chrominance component. The selection of the above-mentioned horizontal filter coefficients is related to the distance from the predicted pixel to the adjacent pixel on the left. The distance from the current predicted pixel to the adjacent pixel on the left is used as the index value, and the corresponding filter coefficient is selected from the corresponding filter coefficient group. The intra-frame chrominance prediction filter coefficients are specifically shown in Table 1. It is worth noting that all coefficients in the table can be amplified and shifted during the specific encoding process to reduce computational complexity.

[0181] Table 1 Intra-frame chroma prediction filter coefficients

[0182]

[0183] In addition, the filter coefficients of this technology can be reduced by coefficient truncation, that is, the filter coefficients of all pixels whose distance from the current predicted pixel to the adjacent pixel on the left is greater than 10 are consistent.

[0184] In this possible example, determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_L or MPCM_L, setting the filter to a second filter.

[0185] In this possible example, the second filter is used to filter a pixel area adjacent to an upper boundary of a prediction block of a chroma component of the current coding block and a pixel area of ​​the prediction block of the chroma component of the current coding block.

[0186] For example, if Figure 12C The vertical downsampling process in the 4*4 pixel array shown is taken as an example of the pixels in the prediction block of the chrominance component and the adjacent pixels on the upper boundary. First, the first two-tap filter is used to downsample the pixel a and the adjacent pixel 1 on the upper boundary to form the pixel A of the modified prediction block of the chrominance component. In the vertical direction, the first two-tap filter is used to downsample the pixel e and the adjacent pixel 1 on the upper boundary to form the pixel E of the modified prediction block of the chrominance component. The same is true for other columns until the first two-tap filter is used to downsample the pixel p and the adjacent pixel 4 on the upper boundary to form the pixel P of the modified prediction block of the chrominance component.

[0187] In this possible example, the second filter includes a second two-tap filter; the second two-tap filter includes:

[0188] P'(x, y)=f(y)·P(x,-1)+(1-fy))·P(x, y)

[0189] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the X column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

[0190] In this possible example, the vertical filter coefficient is determined by a second parameter set, where the second parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(x, -1).

[0191] The value of the vertical filter coefficient is related to the size of the chrominance component of the current coding block and the distance between the predicted pixel and the left adjacent pixel in the prediction block of the current chrominance component.

[0192] Specifically, the selection of the above filter coefficients is related to the size of the chroma component. Different filter coefficient groups are divided according to the size of the prediction block of the chroma component of the current coding block, and the corresponding filter coefficient group is selected according to the size of the prediction block of the current chroma component. The selection of the above vertical filter coefficients is related to the distance from the predicted pixel to the upper adjacent pixel. The distance from the current predicted pixel to the upper adjacent pixel is used as the index value to select the corresponding filter coefficient from the corresponding filter coefficient group. The specific intra-frame chroma prediction filter coefficients are shown in Table 1.

[0193] In addition, the filter coefficients of this technology can be reduced by coefficient truncation, that is, the filter coefficients of all pixels whose distance from the current predicted pixel to the upper adjacent pixel is greater than 10 are consistent.

[0194] In a specific implementation, after the corrected prediction block of the chrominance component of the current coding block is determined, the device can further calculate the reconstructed block of the chrominance component, and determine the reconstructed image block of the current coding block based on the reconstructed block of the chrominance component and the reconstructed block of the luminance component.

[0195] It can be seen that in the embodiment of the present application, compared with the prior art, the scheme of the present application corrects the predicted samples of the chrominance component of each pixel in the cross-component intra-frame prediction mode by integrating the correlation of adjacent pixels in orthogonal directions, thereby improving the prediction accuracy and coding efficiency.

[0196] In one possible example, the predictive correction of the prediction block of the chrominance component of the current coding block includes: calculating a first rate-distortion cost of the current coding block in an uncorrected state, and calculating a second rate-distortion cost of the current coding block in a corrected state; determining that the first rate-distortion cost is greater than the second rate-distortion cost; and performing predictive correction on the prediction block of the chrominance component of the current coding block.

[0197] It can be seen that in this example, the number of rate-distortion cost calculations is not increased, and no additional rate-distortion cost calculations are required, thereby avoiding a large increase in computational complexity.

[0198] In one possible example, the prediction correction is indicated by sharing an existing flag bit; no additional flag bit is added, thus saving transmission bit stream. Or,

[0199] The prediction correction is indicated by an independent flag bit. This makes the indication clearer and more efficient. If the chroma component of the current coding block uses the enhanced two-step cross-component prediction mode, this flag bit is used to indicate whether the current coding block uses the intra-frame chroma component prediction filtering technology.

[0200] In one possible example, the linear model applicable to the current coding block may be replaced with a linear model applicable row by row.

[0201] and Figure 12A The image encoding method corresponds to, Figure 13 This is a flow chart of an image encoding method according to an embodiment of the present application. The image encoding method can be applied to Figure 9 The destination device 20 or the video decoding system 1 shown Figure 11 Video 1 is shown. Figure 13 The process shown is based on the execution subject Figure 11 The video decoder 200 shown is used as an example for explanation. Figure 13 As shown, the cross-component prediction method provided by the embodiment of the present application includes:

[0202] Step 210: parse the code stream to determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current decoding block.

[0203] The color format of the video of the code stream includes but is not limited to 4:2:0, 4:2:2, etc.

[0204] In a specific implementation, the code stream can be entropy decoded to obtain syntax elements, which are used to determine the luma component intra-frame prediction mode and the chroma component intra-frame prediction mode for predicting the current decoding block. The luma component intra-frame prediction mode is the optimal luma component intra-frame prediction mode among multiple intra-frame prediction modes, and the multiple intra-frame prediction modes are the intra-frame prediction modes used for intra-frame prediction of the luma component.

[0205] Step 220: When the chroma component intra prediction mode indicates using the reconstructed block of the luminance component of the current decoding block to determine the predicted value of the chroma component of the current decoding block, determine the predicted block of the chroma component of the current decoding block according to the luminance component intra prediction mode.

[0206] In this possible example, determining the prediction block of the chrominance component of the current decoding block according to the intra-frame prediction mode of the luminance component includes: determining a reference prediction block of the chrominance component of the current decoding block according to the intra-frame prediction mode of the luminance component; and filtering the reference prediction block of the chrominance component of the current decoding block to obtain the prediction block of the chrominance component of the current decoding block.

[0207] In a specific implementation, the device may determine that the chrominance component intra-frame prediction mode indicates that the chrominance component intra-frame prediction mode is determined using the luminance component of the current decoding block to determine the chrominance component of the current decoding block when it is determined that the luminance component intra-frame prediction mode is a preset direction luminance component intra-frame prediction mode, and the preset direction includes but is not limited to the horizontal direction (for example: Figure 1 In the two-dimensional rectangular coordinate system XoY, along the X-axis direction), vertical direction (for example: Figure 1Along the negative direction of the Y axis in the two-dimensional rectangular coordinate system XoY shown).

[0208] In this possible example, filtering the reference prediction block of the chrominance component of the current decoding block includes: filtering the reference prediction block of the chrominance component of the current decoding block using a third filter.

[0209] In this possible example, the third filter includes a filter for filtering a left boundary pixel region of the reference prediction block of the chroma component and a filter for filtering a non-left boundary pixel region of the reference prediction block of the chroma component.

[0210] In this possible example, the filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component includes a third two-tap filter; the third two-tap filter includes:

[0211] P C (x, y) = (P′ C (2x, 2y)+P′ C (2x,2y+1)+1)>>1

[0212] Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0213] In this possible example, the filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter; the first six-tap filter includes:

[0214]

[0215] Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0216] In this possible example, determining the reference prediction block of the chrominance component of the current decoding block according to the intra-frame prediction mode of the luminance component includes: determining the reconstructed block of the luminance component of the current decoding block according to the intra-frame prediction mode of the luminance component; and determining the reference prediction block of the chrominance component of the current decoding block according to the reconstructed block of the luminance component of the current decoding block.

[0217] The size of the reference prediction block of the chrominance component is the same as the size of the reconstruction block of the luminance component. Figure 8 The reconstructed block of the luminance component and the reference prediction block of the chrominance component in the prediction process shown are both 8*8 pixel arrays.

[0218] In this possible example, determining the reference prediction block of the chrominance component of the current decoding block based on the reconstructed block of the luminance component of the current decoding block includes: determining a linear model for cross-component prediction using the reconstructed block of the luminance component of the current decoding block; calculating the reconstructed block of the luminance component according to the linear model to obtain the reference prediction block of the chrominance component of the current decoding block.

[0219] The linear model may be, for example, the linear model of the aforementioned formula (1) or (2) (3).

[0220] In this possible example, determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current decoding block includes: determining reference pixels for calculating the linear model, the reference pixels including at least one adjacent pixel of the current decoding block; and calculating the linear model based on the reference pixels.

[0221] The selection of reference pixels for calculating the linear model may be extended to adjacent pixels on the lower left, left, upper left, upper side, and upper right side of the current decoding block.

[0222] In this possible example, determining the reference pixels for calculating the linear model includes: determining the reference pixels for calculating the linear model based on available information of reconstructed samples of adjacent pixels of the current decoding block and the chrominance component intra-frame prediction mode.

[0223] The intra-frame prediction mode of the chrominance component of the current decoding block includes any one of TSCPM_T, TSCPM_L, MPCM_T, and MPCM_L. The available information specifically includes both-side available and one-side available (for example, left-side available and right-side available). It can be seen that in this example, the reference neighboring pixels used to calculate the coefficients of the linear model can be flexibly set according to the availability of reconstructed samples of the neighboring pixels and the intra-frame prediction mode of the chrominance component.

[0224] In this possible example, determining the reference pixels for calculating the linear model includes: determining the reference pixels for calculating the linear model based on an intra-frame prediction mode of a luminance component with optimal rate-distortion cost for a neighboring decoding block of the current decoding block. The intra-frame prediction mode with optimal rate-distortion cost for the luminance component of the neighboring decoding block may be the same as or different from the intra-frame prediction mode with optimal rate-distortion cost for the luminance component of the current decoding block.

[0225] Step 230: Perform prediction correction on the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block.

[0226] In this possible example, the predicting and correcting the prediction block of the chrominance component of the current decoding block includes: determining a filter according to the intra-frame prediction mode of the chrominance component; and using the filter to predict and correct the prediction block of the chrominance component of the current decoding block.

[0227] The filtering direction of the filter is orthogonal to the direction of the adjacent pixels used by the intra-frame prediction mode of the chrominance component to calculate the linear model relative to the current coding block, and can comprehensively predict the predicted samples of the chrominance component of each pixel by integrating the correlation of the boundary adjacent pixels in the orthogonal direction.

[0228] In this possible example, determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_T or MPCM_T, setting the filter to a first filter.

[0229] In this possible example, the first filter is used to filter a pixel area adjacent to a left boundary of a prediction block of a chrominance component of the current decoding block and a pixel area of ​​the prediction block of the chrominance component of the current decoding block.

[0230] In this possible example, the first filter includes a first two-tap filter; the first two-tap filter includes: P′(x, y) = f(x)·P(-1, y) + (1-f(x))·P(x, y)

[0231] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

[0232] In this possible example, the horizontal filter coefficient is determined by a first parameter set, where the first parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(-1, y).

[0233] In this possible example, determining a filter according to the chroma component intra prediction mode includes:

[0234] When the chroma component intra prediction mode is TSCPM_L or MPCM_L, the filter is set to the second filter.

[0235] In this possible example, the second filter is used to filter a pixel area adjacent to an upper boundary of a prediction block of a chrominance component of the current decoding block and a pixel area of ​​the prediction block of the chrominance component of the current decoding block.

[0236] In this possible example, the second filter includes a second two-tap filter; the second two-tap filter includes:

[0237] P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)

[0238] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the x column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

[0239] In this possible example, the vertical filter coefficient is determined by a second parameter set, where the second parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(x, -1).

[0240] The value of the vertical filter coefficient is related to the size of the chrominance component of the current decoding block and the distance between the predicted pixel and the left adjacent pixel in the prediction block of the current chrominance component.

[0241] Specifically, the selection of the above filter coefficients is related to the size of the chroma component. Different filter coefficient groups are formed based on the size of the prediction block for the chroma component of the current decoded block, and the corresponding filter coefficient group is selected based on the size of the prediction block for the current chroma component. The selection of the above vertical filter coefficients is related to the distance between the predicted pixel and the upper adjacent pixel. The distance between the current predicted pixel and the upper adjacent pixel is used as the index value to select the corresponding filter coefficient from the corresponding filter coefficient group. The specific intra-frame chroma prediction filter coefficients are shown in Table 1.

[0242] In addition, the filter coefficients of this technology can be reduced by coefficient truncation, that is, the filter coefficients of all pixels whose distance from the current predicted pixel to the upper adjacent pixel is greater than 10 are consistent.

[0243] In a specific implementation, after the prediction block of the chrominance component of the current decoding block is determined, the device can further calculate the reconstructed block of the chrominance component, and determine the reconstructed image of the current decoding block according to the reconstructed block of the chrominance component and the reconstructed block of the luminance component.

[0244] It can be seen that in the embodiment of the present application, compared with the prior art, the scheme of the present application corrects the predicted samples of the chrominance component of each pixel in the cross-component intra-frame prediction mode by integrating the correlation in the orthogonal direction, thereby improving the prediction accuracy and decoding efficiency.

[0245] In one possible example, performing prediction correction on the prediction block of the chrominance component of the currently decoded block includes: parsing the bitstream to obtain a flag bit; determining that the flag bit indicates the use of a filter to perform the prediction correction; and performing the prediction correction on the prediction block of the chrominance component of the currently decoded block. It can be seen that in this example, the prediction correction is directly indicated by the flag bit.

[0246] In a possible example, the prediction correction is indicated by sharing an existing flag bit; no additional identification bit is added, thus saving transmission code stream.

[0247] or,

[0248] The prediction correction is indicated by an independent flag bit. This makes the indication clearer and more efficient. If the chroma component of the current decoded block uses the enhanced two-step cross-component prediction mode, this flag bit is used to indicate whether the current decoded block uses the intra-frame chroma component prediction filtering technology.

[0249] The proposed technology is implemented on the AVS reference software HPM6.0, and a 1-second sequence test is performed on the full intra mode and random access mode under the test conditions and video sequences. The specific performance is shown in Tables 2 and 3.

[0250] Table 2 All Intra test results

[0251]

[0252] Table 3 Random Access test results

[0253]

[0254] As can be seen from Tables 2 and 3, the UV component of the test sequence has an average performance gain of more than 0.3%, and under the RA test condition, the Y component has an average performance gain of 0.06%.

[0255] The present invention provides an image encoding device, which may be a video decoder or a video encoder. Specifically, the image encoding device is configured to perform the steps performed by the video decoder in the above decoding method. The image encoding device provided in the present invention may include modules corresponding to the corresponding steps.

[0256] In the embodiments of the present application, the image encoding device may be divided into functional modules according to the above-described method examples. For example, each functional module may be divided according to each function, or two or more functions may be integrated into a single processing module. The above-described integrated modules may be implemented in the form of hardware or software functional modules. The module division in the embodiments of the present application is illustrative and is merely a logical functional division. In actual implementation, other division methods may be used.

[0257] In the case of dividing each functional module into corresponding functional modules, Figure 14 FIG. 5 is a schematic diagram showing a possible structure of the image encoding device involved in the above embodiment. Figure 14 As shown, the image encoding device 14 includes a dividing unit 140 , a determining unit 141 , and a correcting unit 142 .

[0258] A division unit 140 is configured to divide the image and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current coding block;

[0259] a determining unit 141 configured to determine a prediction block for the chroma component of the current coding block according to the luma component intra prediction mode when the chroma component intra prediction mode indicates that the prediction value of the chroma component of the current coding block is determined using the luma component of the current coding block;

[0260] The correction unit 142 is configured to perform prediction correction on the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block.

[0261] In this possible example, in terms of performing prediction correction on the prediction block of the chrominance component of the current coding block, the correction unit 142 is specifically used to determine a filter according to the intra-frame prediction mode of the chrominance component; and use the filter to perform prediction correction on the prediction block of the chrominance component of the current coding block.

[0262] In this possible example, in terms of determining the filter according to the chroma component intra-frame prediction mode, the correction unit 142 is specifically used to set the filter to the first filter when the chroma component intra-frame prediction mode is the two-step cross-component prediction mode TSCPM_T or the multi-step cross-component prediction mode MPCM_T.

[0263] In this possible example, the first filter is used to filter a pixel area adjacent to a left boundary of a prediction block of a chroma component of the current coding block and a pixel area of ​​the prediction block of the chroma component of the current coding block.

[0264] In this possible example, the first filter comprises a first two-tap filter;

[0265] The first two-tap filter comprises:

[0266] P'(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)

[0267] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

[0268] In this possible example, the horizontal filter coefficient is determined by a first parameter set, where the first parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(-1, y).

[0269] In this possible example, in terms of determining the filter according to the chrominance component intra-frame prediction mode, the correction unit 142 is specifically configured to set the filter to the second filter when the chrominance component intra-frame prediction mode is TSCPM_L or MPCM_L.

[0270] In this possible example, the second filter is used to filter a pixel area adjacent to an upper boundary of a prediction block of a chroma component of the current coding block and a pixel area of ​​the prediction block of the chroma component of the current coding block.

[0271] In this possible example, the second filter comprises a second two-tap filter;

[0272] The second two-tap filter comprises:

[0273] P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)

[0274] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the X column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

[0275] In this possible example, the vertical filter coefficient is determined by a second parameter set, where the second parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(x, -1).

[0276] In this possible example, in terms of performing prediction correction on the prediction block of the chrominance component of the current coding block, the correction unit 142 is specifically used to calculate a first rate-distortion cost of the current coding block in an uncorrected state, and calculate a second rate-distortion cost of the current coding block in a corrected state; and determine that the first rate-distortion cost is greater than the second rate-distortion cost; and perform prediction correction on the prediction block of the chrominance component of the current coding block.

[0277] In this possible example, the prediction correction is indicated by sharing an existing flag bit; or,

[0278] The prediction revision is indicated by an independent flag bit.

[0279] In this possible example, in terms of determining the prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component, the determination unit 141 is specifically used to determine the reference prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component; and filter the reference prediction block of the chrominance component of the current coding block to obtain the prediction block of the chrominance component of the current coding block.

[0280] In this possible example, in terms of filtering the reference prediction block of the chrominance component of the current coding block, the determination unit 141 is specifically configured to filter the reference prediction block of the chrominance component of the current coding block using a third filter.

[0281] In this possible example, the third filter includes a filter for filtering a left boundary pixel region of the reference prediction block of the chroma component and a filter for filtering a non-left boundary pixel region of the reference prediction block of the chroma component.

[0282] In this possible example, the filter for filtering the left boundary pixel region of the reference prediction block of the chrominance component includes a third two-tap filter;

[0283] The third two-tap filter comprises:

[0284] P C (x, y) = (P′ C (2x, 2y)+P′ C (2x,2y+1)+1)>>1

[0285] Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0286] In this possible example, the filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter;

[0287] The first six-tap filter comprises:

[0288]

[0289] Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0290] In this possible example, in terms of determining the reference prediction block of the chrominance component of the current coding block according to the intra-frame prediction mode of the luminance component, the determination unit 141 is specifically used to determine the reconstructed block of the luminance component of the current coding block according to the intra-frame prediction mode of the luminance component; and determine the reference prediction block of the chrominance component of the current coding block according to the reconstructed block of the luminance component of the current coding block.

[0291] In this possible example, in terms of determining the reference prediction block of the chrominance component of the current coding block based on the reconstructed block of the luminance component of the current coding block, the determination unit 141 is specifically used to determine a linear model for cross-component prediction using the reconstructed block of the luminance component of the current coding block; and calculate the reconstructed block of the luminance component based on the linear model to obtain the reference prediction block of the chrominance component of the current coding block.

[0292] In this possible example, in terms of determining the linear model for cross-component prediction using the reconstructed block of the luminance component of the current coding block, the determination unit 141 is specifically used to determine the reference pixels used to calculate the linear model, the reference pixels including at least one adjacent pixel of the current coding block; and calculating the linear model based on the reference pixels.

[0293] In this possible example, in terms of determining the reference pixels for calculating the linear model, the determination unit 141 is specifically used to determine the reference pixels for calculating the linear model based on the available information of the reconstructed samples of the adjacent pixels of the current coding block and the chroma component intra-frame prediction mode.

[0294] In this possible example, in terms of determining the reference pixels for calculating the linear model, the determination unit 141 is specifically used to determine the reference pixels for calculating the linear model based on the intra-frame prediction mode of the luminance component with the optimal rate-distortion cost of the adjacent coding blocks of the current coding block.

[0295] All relevant content of each step involved in the above method embodiment can be referenced in the functional description of the corresponding functional module and will not be repeated here. Of course, the image encoding device provided in the embodiment of the present application includes but is not limited to the above modules. For example, the image encoding device may also include a storage unit 143. The storage unit 143 can be used to store program code and data of the image encoding device.

[0296] In the case of adopting an integrated unit, the structural diagram of the image encoding device provided in the embodiment of the present application is as follows: Figure 15 As shown. Figure 15 In the embodiment, the image coding apparatus 15 includes: a processing module 150 and a communication module 151. The processing module 150 is used to control and manage the actions of the image coding apparatus, for example, executing the steps performed by the division unit 140, the determination unit 141, and the correction unit 142, and / or other processes for performing the technology described herein. The communication module 151 is used to support the interaction between the image coding apparatus and other devices. Figure 15 As shown, the image coding apparatus may further include a storage module 152 , which is used to store program codes and data of the image coding apparatus, such as storing the content stored in the storage unit 143 .

[0297] The processing module 150 may be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like. The communication module 151 may be a transceiver, an RF circuit, or a communication interface, and the like. The storage module 152 may be a memory.

[0298] Among them, all relevant contents of each scene involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and will not be repeated here. The above image encoding device 14 and the image encoding device 15 can both perform the above Figure 12A The image encoding method shown, the image encoding device 14 and the image encoding device 15 can specifically be video image encoding devices or other devices with video encoding functions.

[0299] The present application also provides a video encoder, including a non-volatile storage medium and a central processing unit, wherein the non-volatile storage medium stores an executable program, the central processing unit is connected to the non-volatile storage medium, and executes the executable program to implement the image encoding method of the embodiment of the present application.

[0300] The present invention provides an image decoding device, which may be a video decoder or a video decoder. Specifically, the image decoding device is configured to perform the steps performed by the video decoder in the above decoding method. The image decoding device provided in the present invention may include modules corresponding to the corresponding steps.

[0301] In the embodiments of the present application, the image decoding device can be divided into functional modules according to the above-mentioned method examples. For example, each functional module can be divided according to each function, or two or more functions can be integrated into a single processing module. The above-mentioned integrated modules can be implemented in the form of hardware or software functional modules. The division of modules in the embodiments of the present application is illustrative and is only a logical functional division. In actual implementation, other division methods may be used.

[0302] In the case of dividing each functional module into corresponding functional modules, Figure 16 FIG. 1 is a schematic diagram showing a possible structure of the image decoding device involved in the above embodiment. Figure 16As shown, the image decoding device 16 includes a parsing unit 160 , a determining unit 161 , and a correcting unit 162 .

[0303] The parsing unit 160 is configured to parse the code stream and determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current decoding block;

[0304] a determining unit 161 configured to determine, according to the luma component intra-frame prediction mode, a prediction block for the chroma component of the current decoding block when the chroma component intra-frame prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luma component of the current decoding block;

[0305] The correction unit 162 is configured to perform prediction correction on the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block.

[0306] In one possible example, in terms of performing prediction correction on the prediction block of the chrominance component of the current decoding block, the correction unit 162 is specifically used to: determine a filter according to the intra-frame prediction mode of the chrominance component; and use the filter to perform prediction correction on the prediction block of the chrominance component of the current decoding block.

[0307] In a possible example, in terms of determining the filter according to the chrominance component intra-frame prediction mode, the correction unit 162 is specifically configured to: when the chrominance component intra-frame prediction mode is TSCPM_T or MPCM_T, set the filter to the first filter.

[0308] In a possible example, the first filter is used to filter a pixel area adjacent to a left boundary of a prediction block of a chroma component of the current decoding block and a pixel area of ​​the prediction block of the chroma component of the current decoding block.

[0309] In one possible example, the first filter includes a first two-tap filter;

[0310] The first two-tap filter comprises:

[0311] P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)

[0312] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

[0313] In a possible example, the horizontal filter coefficient is determined by a first parameter set, where the first parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(-1, y).

[0314] In a possible example, determining a filter according to the chroma component intra prediction mode includes:

[0315] When the chroma component intra prediction mode is TSCPM_L or MPCM_L, the filter is set to the second filter.

[0316] In a possible example, the second filter is used to filter a pixel area adjacent to an upper boundary of a prediction block of a chroma component of the current decoding block and a pixel area of ​​the prediction block of the chroma component of the current decoding block.

[0317] In one possible example, the second filter includes a second two-tap filter;

[0318] The second two-tap filter comprises:

[0319] P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)

[0320] Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the X column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

[0321] In a possible example, the vertical filter coefficient is determined by a second parameter set, where the second parameter set includes the size of the prediction block of the chrominance component and the distance between pixel (x, y) and pixel P(x, -1).

[0322] In one possible example, in terms of performing prediction correction on the prediction block of the chrominance component of the current decoding block, the correction unit 162 is specifically used to: parse the code stream to obtain a flag bit; and determine that the flag bit indicates the use of a filter to perform the prediction correction; and perform prediction correction on the prediction block of the chrominance component of the current decoding block.

[0323] In one possible example, the prediction correction is indicated by sharing an existing flag bit; or,

[0324] The prediction revision is indicated by an independent flag bit.

[0325] In one possible example, in terms of determining the prediction block of the chrominance component of the current decoding block according to the intra-frame prediction mode of the luminance component, the determination unit 161 is specifically used to: determine the reference prediction block of the chrominance component of the current decoding block according to the intra-frame prediction mode of the luminance component; and filter the reference prediction block of the chrominance component of the current decoding block to obtain the prediction block of the chrominance component of the current decoding block.

[0326] In a possible example, in terms of filtering the reference prediction block of the chrominance component of the current decoding block, the determination unit 161 is specifically configured to: filter the reference prediction block of the chrominance component of the current decoding block using a third filter.

[0327] In a possible example, the third filter includes a filter for filtering a left boundary pixel region of the reference prediction block of the chroma component and a filter for filtering a non-left boundary pixel region of the reference prediction block of the chroma component.

[0328] In a possible example, the filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component includes a third two-tap filter;

[0329] The third two-tap filter comprises:

[0330] P C (x, y) = (P′ C (2x, 2y)+P′ C (2x,2y+1)+1)>>1

[0331] Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0332] In a possible example, the filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter;

[0333] The first six-tap filter comprises:

[0334]

[0335] Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

[0336] In one possible example, in terms of determining the reference prediction block of the chrominance component of the current decoding block according to the intra-frame prediction mode of the luminance component, the determination unit 161 is specifically used to: determine the reconstructed block of the luminance component of the current decoding block according to the intra-frame prediction mode of the luminance component; and determine the reference prediction block of the chrominance component of the current decoding block according to the reconstructed block of the luminance component of the current decoding block.

[0337] In one possible example, in terms of determining the reference prediction block of the chrominance component of the current decoding block based on the reconstructed block of the luminance component of the current decoding block, the determination unit 161 is specifically used to: determine a linear model for cross-component prediction using the reconstructed block of the luminance component of the current decoding block; and calculate the reconstructed block of the luminance component based on the linear model to obtain the reference prediction block of the chrominance component of the current decoding block.

[0338] In one possible example, in terms of determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current decoding block, the determination unit 161 is specifically used to: determine a reference pixel for calculating the linear model, the reference pixel including at least one adjacent pixel of the current decoding block; and calculate the linear model based on the reference pixel.

[0339] In one possible example, in terms of determining the reference pixels for calculating the linear model, the determination unit 161 is specifically used to: determine the reference pixels for calculating the linear model based on the available information of the reconstructed samples of the adjacent pixels of the current decoding block and the chrominance component intra-frame prediction mode.

[0340] In one possible example, in terms of determining the reference pixels for calculating the linear model, the determination unit 161 is specifically used to: determine the reference pixels for calculating the linear model based on the intra-frame prediction mode of the luminance component with the optimal rate-distortion cost of the adjacent decoding blocks of the current decoding block.

[0341] All relevant content of each step involved in the above method embodiment can be referenced in the functional description of the corresponding functional module and will not be repeated here. Of course, the image decoding device provided in the embodiment of the present application includes but is not limited to the above modules. For example, the image decoding device may also include a storage unit 163. The storage unit 163 can be used to store program code and data of the image decoding device.

[0342] In the case of adopting an integrated unit, the structural diagram of the image decoding device provided in the embodiment of the present application is as follows: Figure 17 As shown. Figure 17 In the embodiment, the image decoding device 17 includes: a processing module 170 and a communication module 171. The processing module 170 is used to control and manage the actions of the image decoding device, for example, executing the steps performed by the parsing unit 160, the determination unit 161, and the correction unit 162, and / or other processes for performing the technology described herein. The communication module 171 is used to support the interaction between the image decoding device and other devices. Figure 15 As shown, the image decoding device may further include a storage module 172 , which is used to store program codes and data of the image decoding device, such as storing the content stored in the storage unit 163 .

[0343] The processing module 170 may be a processor or controller, such as a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. It may implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like. The communication module 171 may be a transceiver, an RF circuit, or a communication interface, and the like. The storage module 172 may be a memory.

[0344] Among them, all relevant contents of each scenario involved in the above method embodiment can be referred to the functional description of the corresponding functional module, and will not be repeated here. The above image decoding device 16 and the image decoding device 17 can both perform the above Figure 13 The image decoding method shown, the image decoding device 16 and the image decoding device 17 can specifically be video image decoding devices or other devices with video decoding functions.

[0345] The present application also provides a video decoder, comprising a non-volatile storage medium and a central processing unit, wherein the non-volatile storage medium stores an executable program, the central processing unit is connected to the non-volatile storage medium, and executes the executable program to implement the image decoding method of the embodiment of the present application.

[0346] The present application also provides a terminal comprising: one or more processors, a memory, and a communication interface. The memory and communication interface are coupled to the one or more processors; the memory is used to store computer program code, which includes instructions. When the one or more processors execute the instructions, the terminal performs the image encoding and / or image decoding methods of the embodiments of the present application. The terminal can be a video display device, a smartphone, a portable computer, or other device capable of processing or playing video.

[0347] Another embodiment of the present application also provides a computer-readable storage medium, which includes one or more program codes, and the one or more programs include instructions. When the processor in the decoding device executes the program code, the decoding device executes the image encoding method and image decoding method of the embodiment of the present application.

[0348] In another embodiment of the present application, a computer program product is also provided, which includes computer execution instructions, which are stored in a computer-readable storage medium; at least one processor of a decoding device can read the computer execution instructions from the computer-readable storage medium, and at least one processor executes the computer execution instructions so that the terminal implements the image encoding method and image decoding method of the embodiment of the present application.

[0349] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using a software program, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part.

[0350] The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0351] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0352] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0353] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0354] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0355] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for making a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk. The above is only a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in the present application should be included within the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. An image coding method, characterized in that: include: Divide the image and determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current coding block; When the chroma component intra prediction mode indicates that the luminance component of the current coding block is used to determine the prediction value of the chroma component of the current coding block, determining the prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode; Correcting the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block, The correcting the predicted block of the chrominance component of the current coding block includes: Determine a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current coding block using the filter; The determining of the filter according to the chroma component intra prediction mode comprises: When the chroma component intra prediction mode is the two-step cross-component prediction mode TSCPM_T, the filter is a first filter; The first filter is configured to perform filtering according to a prediction value of a prediction block of a chrominance component of the current coding block; The first filter comprises a first two-tap filter; The first two-tap filter comprises: P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

2. The method according to claim 1, characterized in that The horizontal filter coefficient is determined according to a first parameter set, where the first parameter set includes a size of a prediction block of the chrominance component and a distance between a pixel (x, y) and a pixel (-1, y).

3. An image coding method, characterized in that: include: Divide the image and determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current coding block; When the chroma component intra prediction mode indicates that the luminance component of the current coding block is used to determine the prediction value of the chroma component of the current coding block, determining the prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode; Correcting the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block, The correcting the predicted block of the chrominance component of the current coding block includes: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current coding block using the filter; The determining of the filter according to the chroma component intra prediction mode comprises: When the chroma component intra prediction mode is TSCPM_L, the filter is a second filter; The second filter is used to filter the pixel area adjacent to the upper boundary of the prediction block of the chrominance component of the current coding block and the pixel area of ​​the prediction block of the chrominance component of the current coding block; The second filter comprises a second two-tap filter; The second two-tap filter comprises: P'(x, y)=f(y)·P(x,-1)+(1-fy))·P(x, y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the X column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

4. The method according to claim 3, characterized in that The vertical filter coefficient is determined by a second parameter set, where the second parameter set includes the size of the prediction block of the chrominance component and the distance between the pixel (x, y) and the pixel P(x, -1).

5. An image coding method, characterized in that: include: Divide the image and determine the intra-frame prediction mode of the luminance component and the intra-frame prediction mode of the chrominance component of the current coding block; When the chroma component intra prediction mode indicates that the luminance component of the current coding block is used to determine the prediction value of the chroma component of the current coding block, determining the prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode; Correcting the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block, The correcting the predicted block of the chrominance component of the current coding block includes: Calculating a first rate-distortion cost of the current coding block in an uncorrected state, and calculating a second rate-distortion cost of the current coding block in a corrected state; determining that the first rate-distortion cost is greater than the second rate-distortion cost; Correcting the prediction block of the chrominance component of the current coding block; The determining, according to the intra-frame prediction mode of the luminance component, a prediction block of the chrominance component of the current coding block comprises: Determining a reference prediction block for a chrominance component of the current coding block according to the luma component intra prediction mode; Filtering a reference prediction block of a chrominance component of the current coding block to obtain a prediction block of the chrominance component of the current coding block; The filtering of the reference prediction block of the chrominance component of the current coding block includes: filtering the reference prediction block of the chrominance component of the current coding block using a third filter, The third filter includes a filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component and a filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component. The filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component includes a third two-tap filter; The third two-tap filter comprises: P C (x,y)=(P′ C (2x,2y)+P′ C (2x,2y+1)+1)>>1 Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C is the predicted sample of the chroma component of the current pixel in the prediction block of the chroma component, The filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter; The first six-tap filter comprises: Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

6. The method according to claim 5, characterized in that The determining, according to the intra prediction mode of the luminance component, a reference prediction block of the chrominance component of the current coding block comprises: Determining a reconstructed block of the luminance component of the current coding block according to the luminance component intra prediction mode; Determining a reference prediction block for a chrominance component of the current coding block according to a reconstructed block for a luminance component of the current coding block, The step of determining the reference prediction block of the chrominance component of the current coding block according to the reconstructed block of the luminance component of the current coding block includes: Determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current coding block; Calculate the reconstructed block of the luminance component according to the linear model to obtain a reference prediction block of the chrominance component of the current coding block, The determining of a linear model for performing cross-component prediction using a reconstructed block of the luminance component of the current coding block includes: Determining reference pixels for calculating the linear model, where the reference pixels include at least one adjacent pixel of the current coding block; Calculating the linear model based on the reference pixels, The determining of the reference pixels for calculating the linear model includes: Determining reference pixels for calculating the linear model based on available information of reconstructed samples of neighboring pixels of the current coding block and the chroma component intra prediction mode; The determining of the reference pixels for calculating the linear model includes: Determine reference pixels for calculating the linear model according to a luminance component intra prediction mode with optimal rate-distortion cost of adjacent coding blocks of the current coding block.

7. An image decoding method, characterized in that: include: Parse the code stream and determine the intra-frame prediction mode of the luminance component and the chrominance component of the current decoding block; When the chroma component intra prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luminance component of the current decoding block, determining a prediction block of the chroma component of the current decoding block according to the luminance component intra prediction mode; Correcting the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block, The correcting the predicted block of the chrominance component of the current decoding block includes: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current decoding block using the filter; The determining of the filter according to the chroma component intra prediction mode comprises: When the chroma component intra prediction mode is TSCPM_T, the filter is a first filter; The first filter is used to perform filtering according to the prediction value of the prediction block of the chrominance component of the current decoding block; The first filter comprises a first two-tap filter; The first two-tap filter comprises: P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

8. The method according to claim 7, characterized in that The horizontal filter coefficient is determined according to a first parameter set, where the first parameter set includes a size of a prediction block of the chrominance component and a distance between a pixel (x, y) and a pixel (-1, y).

9. An image decoding method, characterized in that: include: Parse the code stream and determine the intra-frame prediction mode of the luminance component and the chrominance component of the current decoding block; When the chroma component intra prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luminance component of the current decoding block, determining a prediction block of the chroma component of the current decoding block according to the luminance component intra prediction mode; Correcting the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block, The correcting the predicted block of the chrominance component of the current decoding block includes: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current decoding block using the filter; The determining of the filter according to the chroma component intra prediction mode comprises: When the chroma component intra prediction mode is TSCPM_L, the filter is a second filter, The second filter is used to filter the pixel area adjacent to the upper boundary of the prediction block of the chrominance component of the current decoding block and the pixel area of ​​the prediction block of the chrominance component of the current decoding block, The second filter comprises a second two-tap filter; The second two-tap filter comprises: P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the x column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

10. The method according to claim 9, characterized in that The vertical filter coefficient is determined by a second parameter set, where the second parameter set includes the size of the prediction block of the chrominance component and the distance between the pixel (x, y) and the pixel P(x, -1).

11. An image decoding method, characterized in that: include: Parse the code stream and determine the intra-frame prediction mode of the luminance component and the chrominance component of the current decoding block; When the chroma component intra prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luminance component of the current decoding block, determining a prediction block of the chroma component of the current decoding block according to the luminance component intra prediction mode; Correcting the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block, The correcting the predicted block of the chrominance component of the current decoding block includes: Parse the code stream and obtain the flag bit; Determining that the flag indicates use of a filter for correction; Performing the correction on the prediction block of the chrominance component of the current decoding block; The determining, according to the intra-frame prediction mode of the luminance component, a prediction block of the chrominance component of the current decoding block comprises: Determining a reference prediction block for a chrominance component of the current decoding block according to the intra prediction mode of the luminance component; filtering a reference prediction block of the chrominance component of the current decoding block to obtain a prediction block of the chrominance component of the current decoding block, The filtering of the reference prediction block of the chrominance component of the current decoding block includes: Using a third filter to filter the reference prediction block of the chrominance component of the current decoding block, The third filter includes a filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component and a filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component. The filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component includes a third two-tap filter; The third two-tap filter comprises: P C (x,y)=(P′ C (2x,2y)+P′ C (2x,2y+1)+1)>>1 Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C is the predicted sample of the chroma component of the current pixel in the prediction block of the chroma component, The filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter; The first six-tap filter comprises: Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

12. The method according to claim 11, characterized in that The determining, according to the intra-frame prediction mode of the luminance component, a reference prediction block of the chrominance component of the current decoding block comprises: Determining a reconstructed block of the luminance component of the current decoding block according to the luminance component intra prediction mode; Determining a reference prediction block for a chrominance component of the current decoding block according to a reconstructed block for a luminance component of the current decoding block, The step of determining the reference prediction block of the chrominance component of the current decoding block according to the reconstructed block of the luminance component of the current decoding block includes: Determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current decoded block; Calculate the reconstructed block of the luminance component according to the linear model to obtain the reference prediction block of the chrominance component of the current decoding block, The determining of a linear model for performing cross-component prediction using a reconstructed block of the luminance component of the current decoding block includes: Determining reference pixels for calculating the linear model, the reference pixels comprising at least one adjacent pixel of the current decoding block; Calculating the linear model based on the reference pixels, The determining of the reference pixels for calculating the linear model includes: Determining reference pixels for calculating the linear model based on available information of reconstructed samples of neighboring pixels of the current decoding block and the chroma component intra prediction mode; The determining of the reference pixels for calculating the linear model includes: Determining reference pixels for calculating the linear model according to a luminance component intra prediction mode with optimal rate-distortion cost for adjacent decoding blocks of the current decoding block; 13. An image encoding device, characterized in that include: A division unit, configured to divide an image and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current coding block; a determining unit, configured to determine, when the chroma component intra prediction mode indicates that the luminance component of the current coding block is used to determine the predicted value of the chroma component of the current coding block, a prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode; a correction unit, configured to correct the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block; To correct the predicted block of the chrominance component of the current coding block, the correction unit is specifically configured to: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current coding block using the filter; Wherein, when the chroma component intra prediction mode is the two-step cross-component prediction mode TSCPM_T, the filter is a first filter, and the first filter is used to perform filtering according to the prediction value of the prediction block of the chroma component of the current coding block; The first filter comprises a first two-tap filter; The first two-tap filter comprises: P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

14. An image coding device, characterized in that include: A division unit, configured to divide an image and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current coding block; a determining unit, configured to determine, when the chroma component intra prediction mode indicates that the luminance component of the current coding block is used to determine the predicted value of the chroma component of the current coding block, a prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode; a correction unit, configured to correct the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block; To correct the predicted block of the chrominance component of the current coding block, the correction unit is specifically configured to: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current coding block using the filter; Wherein, when the chroma component intra prediction mode is TSCPM_L, the filter is a second filter, and the second filter is used to filter the pixel area adjacent to the upper boundary of the prediction block of the chroma component of the current coding block and the pixel area of ​​the prediction block of the chroma component of the current coding block; The second filter comprises a second two-tap filter; The second two-tap filter comprises: P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary located in the x column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

15. An image coding device, characterized in that include: A division unit, configured to divide an image and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current coding block; a determining unit, configured to determine, when the chroma component intra prediction mode indicates that the luminance component of the current coding block is used to determine the predicted value of the chroma component of the current coding block, a prediction block of the chroma component of the current coding block according to the luminance component intra prediction mode; a correction unit, configured to correct the prediction block of the chrominance component of the current coding block to obtain a corrected prediction block of the chrominance component of the current coding block; For correcting the predicted block of the chrominance component of the current coding block, the correction unit is specifically configured to: Calculating a first rate-distortion cost of the current coding block in an uncorrected state, and calculating a second rate-distortion cost of the current coding block in a corrected state; determining that the first rate-distortion cost is greater than the second rate-distortion cost; Correcting the prediction block of the chrominance component of the current coding block; The determining, according to the intra-frame prediction mode of the luminance component, a prediction block of the chrominance component of the current coding block comprises: Determining a reference prediction block for a chrominance component of the current coding block according to the luma component intra prediction mode; Filtering a reference prediction block of a chrominance component of the current coding block to obtain a prediction block of the chrominance component of the current coding block; The third filter is used to filter the reference prediction block of the chroma component of the current coding block, and the third filter includes a filter for filtering the left boundary pixel area of ​​the reference prediction block of the chroma component and a filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chroma component. The filter for filtering the left boundary pixel area of ​​the reference prediction block of the chrominance component includes a third two-tap filter; The third two-tap filter comprises: P C (x,y)=(P′ C (2x,2y)+P′ C (2x,2y+1)+1)>>1 Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C is the predicted sample of the chroma component of the current pixel in the prediction block of the chroma component, The filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter; The first six-tap filter comprises: Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

16. An image decoding device, characterized in that: include: A parsing unit, configured to parse a code stream and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current decoding block; a determining unit, configured to determine, according to the luma component intra-frame prediction mode, a prediction block for the chroma component of the current decoding block when the chroma component intra-frame prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luma component of the current decoding block; a correction unit, configured to correct the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block, To correct the predicted block of the chrominance component of the current decoded block, the correction unit is specifically configured to: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current decoding block using the filter; When the intra prediction mode of the chrominance component is TSCPM_T, the filter is a first filter; the first filter is used to filter according to the prediction value of the prediction block of the chrominance component of the current decoding block; the first filter includes a first two-tap filter; the first two-tap filter includes: P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary located in the y row, f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y), and P(x, y) is the original predicted sample of the pixel (x, y).

17. An image decoding device, characterized in that: include: A parsing unit, configured to parse a code stream and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current decoding block; a determining unit, configured to determine, according to the luma component intra-frame prediction mode, a prediction block for the chroma component of the current decoding block when the chroma component intra-frame prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luma component of the current decoding block; a correction unit, configured to correct the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block, To correct the predicted block of the chrominance component of the current decoded block, the correction unit is specifically configured to: Determining a filter according to the chroma component intra prediction mode; Filtering the prediction block of the chrominance component of the current decoding block using the filter; When the intra prediction mode of the chroma component is TSCPM_L, the filter is a second filter, and the second filter is used to filter the pixel area adjacent to the upper boundary of the prediction block of the chroma component of the current decoding block and the pixel area of ​​the prediction block of the chroma component of the current decoding block, and the second filter includes a second two-tap filter; The second two-tap filter comprises: P'(x, y)=f(y)·P(x,-1)+(1-fy))·P(x, y) Wherein, x, y are the coordinates of the current pixel, the value of x does not exceed the wide value range of the current coding block, the value of y does not exceed the high value range of the current coding block, P'(x, y) is the final predicted sample of the pixel (x, y) of the prediction block of the chrominance component of the current coding block, P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary of the column, f(y) is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1), and P(x, y) is the original predicted sample of the pixel (x, y).

18. An image decoding device, characterized in that: include: A parsing unit, configured to parse a code stream and determine an intra-frame prediction mode for a luminance component and an intra-frame prediction mode for a chrominance component of a current decoding block; a determining unit, configured to determine, according to the luma component intra-frame prediction mode, a prediction block for the chroma component of the current decoding block when the chroma component intra-frame prediction mode indicates that a prediction value of the chroma component of the current decoding block is determined using a reconstructed block of the luma component of the current decoding block; a correction unit, configured to correct the prediction block of the chrominance component of the current decoding block to obtain a corrected prediction block of the chrominance component of the current decoding block, To correct the predicted block of the chrominance component of the current decoded block, the correction unit is specifically configured to: Parse the code stream and obtain the flag bit; Determining that the flag indicates use of a filter for correction; Performing the correction on the prediction block of the chrominance component of the current decoding block; The determining, according to the intra-frame prediction mode of the luminance component, a prediction block of the chrominance component of the current decoding block comprises: Determining a reference prediction block for a chrominance component of the current decoding block according to the intra prediction mode of the luminance component; Filtering the reference prediction block of the chrominance component of the current decoding block to obtain a prediction block of the chrominance component of the current decoding block; The reference prediction block of the chroma component of the current decoding block is filtered using a third filter, the third filter including a filter for filtering a left boundary pixel region of the reference prediction block of the chroma component and a filter for filtering a non-left boundary pixel region of the reference prediction block of the chroma component, the filter for filtering the left boundary pixel region of the reference prediction block of the chroma component including a third two-tap filter; the third two-tap filter including: P C (x,y)=(P′ C (2x,2y)+P′ C (2x,2y+1)+1)>>1 Among them, x, y are the coordinates of the pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C is the predicted sample of the chroma component of the current pixel in the prediction block of the chroma component, The filter for filtering the non-left boundary pixel area of ​​the reference prediction block of the chrominance component includes a first six-tap filter; The first six-tap filter comprises: Among them, x, y are the coordinates of the current pixel, P' C is the prediction sample of the pixel in the reference prediction block of the chroma component, P C The predicted sample of the chroma component of the current pixel in the prediction block of the chroma component.

19. An encoder comprising a non-volatile storage medium and a central processing unit, characterized in that: The non-volatile storage medium stores an executable program, and the central processing unit is connected to the non-volatile storage medium. When the central processing unit executes the executable program, the encoder executes the method according to any one of claims 1 to 6.

20. A decoder comprising a non-volatile storage medium and a central processing unit, characterized in that: The non-volatile storage medium stores an executable program, and the central processing unit is connected to the non-volatile storage medium. When the central processing unit executes the executable program, the decoder executes the method according to any one of claims 7 to 12.

21. A terminal, characterized in that: The terminal includes: one or more processors, a memory, and a communication interface; the memory and the communication interface are connected to the one or more processors; the terminal communicates with other devices through the communication interface, the memory is used to store computer program code, and the computer program code includes instructions, When the one or more processors execute the instructions, the terminal performs the method according to any one of claims 1 to 12.

22. A computer-readable storage medium comprising instructions, characterized in that: When the instruction is executed on a terminal, the terminal is caused to execute the method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Simplified cross-component prediction

    CN110839153A

  • Encoding and decoding method, device and system for intra-frame prediction mode of chrominance component

    CN110971897A

  • Boundary filtering and cross-component prediction in video coding

    US20160105685A1