WO2021244197A1 - 图像编码方法、图像解码方法及相关装置 - Google Patents

图像编码方法、图像解码方法及相关装置 Download PDF

Info

Publication number
WO2021244197A1
WO2021244197A1 PCT/CN2021/090909 CN2021090909W WO2021244197A1 WO 2021244197 A1 WO2021244197 A1 WO 2021244197A1 CN 2021090909 W CN2021090909 W CN 2021090909W WO 2021244197 A1 WO2021244197 A1 WO 2021244197A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
prediction
chrominance component
pixel
filter
Prior art date
Application number
PCT/CN2021/090909
Other languages
English (en)
French (fr)
Inventor
杨宁
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to CN202180005833.5A priority Critical patent/CN114514748A/zh
Priority to CN202210664095.1A priority patent/CN115002485A/zh
Priority to MX2022009939A priority patent/MX2022009939A/es
Publication of WO2021244197A1 publication Critical patent/WO2021244197A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • This application relates to the technical field of electronic equipment, and in particular to an image encoding method, an image decoding method, and related devices.
  • Digital video capabilities can be incorporated into a wide range of devices, including digital TVs, digital live broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, and e-books Readers, digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite radio telephones, video conferencing devices, video streaming devices, etc.
  • PDAs personal digital assistants
  • laptop or desktop computers laptop or desktop computers
  • tablet computers and e-books Readers
  • digital cameras digital recording devices
  • digital media players digital media players
  • video game devices video game consoles
  • cellular or satellite radio telephones video conferencing devices
  • video streaming devices etc.
  • Digital video devices implement video compression technologies, such as MPEG-2, MPEG-4, ITU-TH.263, ITU-TH.264/MPEG-4 Part 10 advanced video coding (advanced video coding, AVC), ITU- The TH.265 high efficiency video coding (HEVC) standard defines the standard and those video compression techniques described in the extension of the standard, so as to transmit and receive digital video information more efficiently.
  • Video devices can transmit, receive, encode, decode, and/or store digital video information more efficiently by implementing these video codec technologies.
  • the embodiments of the present application provide an image encoding method, an image decoding method, and related devices, in order to use the spatial correlation between adjacent encoding blocks and the current encoding block to correct the prediction samples of the chrominance component of the current encoding block, so as to improve the prediction accuracy and Coding efficiency.
  • an embodiment of the present application provides an image coding method, including: dividing an image, determining a chrominance component intra prediction mode of a current coding block; and determining the current coding block according to the chrominance component intra prediction mode
  • the chrominance component prediction block of the current coding block is predicted and corrected to obtain the corrected prediction block of the chrominance component prediction block of the current coding block.
  • the solution of the present application uses the spatial correlation between adjacent coding blocks and the current coding block to correct the prediction samples of the chroma component of the current coding block, thereby improving the prediction accuracy and accuracy. Coding efficiency.
  • an embodiment of the present application provides an image decoding method, including: parsing a code stream to determine a chrominance component intra prediction mode of a currently decoded block; and determining the current decoding according to the chrominance component intra prediction mode A prediction block of the chrominance component of the block; performing prediction correction on the prediction block of the chrominance component of the currently decoded block to obtain the corrected prediction block of the chrominance component of the currently decoded block.
  • the solution of the present application uses the spatial correlation between adjacent coding blocks and the current coding block to correct the prediction samples of the chroma component of the current coding block, thereby improving the prediction accuracy and accuracy. Decoding efficiency.
  • an image encoding device including:
  • the dividing unit is used to divide the image and determine the intra prediction mode of the chrominance component of the current coding block
  • a determining unit configured to determine the prediction block of the chrominance component of the current coding block according to the chrominance component intra prediction mode
  • the correction unit is configured to perform predictive 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.
  • an image decoding device including:
  • the parsing unit is used to analyze the code stream and determine the intra prediction mode of the chrominance component of the current decoded block;
  • a determining unit configured to determine the prediction block of the chrominance component of the currently decoded block according to the chrominance component intra prediction mode
  • the correction unit is configured to perform predictive correction on the prediction block of the chrominance component of the currently decoded block to obtain the corrected prediction block of the chrominance component of the currently decoded block.
  • an embodiment of the present application provides an encoder, including: a processor and a memory coupled to the processor; the processor is configured to execute the method described in the first aspect.
  • an embodiment of the present application provides a decoder, including: a processor and a memory coupled to the processor; the processor is configured to execute the method described in the second aspect.
  • an embodiment of the present application provides a terminal, 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, the computer program code includes instructions, when the one or more processors execute the instructions, the terminal executes The method as described in the first or second aspect.
  • an embodiment of the present application provides a computer-readable storage medium that stores instructions in the computer-readable storage medium.
  • the instructions run on a computer, the computer executes the first aspect or the second aspect described above. The method described in the aspect.
  • the embodiments of the present application provide a computer program product containing instructions that, when the instructions are run on a computer, cause the computer to execute the method described in the first aspect or the second aspect.
  • FIG. 1 is a schematic block diagram of a coding tree unit in an embodiment of this application
  • Figure 2 is a schematic block diagram of a color format in an embodiment of the application
  • Figure 3 is a schematic block diagram of a CTU and a coding unit CU in an embodiment of the application;
  • FIG. 4 is a schematic block diagram of associated pixels of a coding unit in an embodiment of the application.
  • 5A is a schematic block diagram of a luminance component intra prediction mode in an embodiment of the application.
  • 5B is a schematic diagram of a normal intra-frame prediction mode of chrominance components in an embodiment of the application.
  • FIG. 6 is a schematic block diagram of adjacent pixels used for calculation of coefficients of a linear model in an embodiment of the application
  • FIG. 7 is a schematic block diagram of a downsampling filter in an embodiment of this application.
  • FIG. 8 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 application;
  • FIG. 9 is a schematic block diagram of a video decoding system in an embodiment of this application.
  • FIG. 10 is a schematic block diagram of a video encoder in an embodiment of the application.
  • FIG. 11 is a schematic block diagram of a video decoder in an embodiment of this application.
  • FIG. 12A is a schematic flowchart of an image coding method in an embodiment of this application.
  • FIG. 12B is a schematic diagram of a down-sampling process in a horizontal direction in an embodiment of this application.
  • FIG. 12C is a schematic diagram of a down-sampling process in a vertical direction in an embodiment of the application.
  • FIG. 12D is a schematic diagram of a bidirectional down-sampling process in an embodiment of this application.
  • FIG. 13 is a schematic flowchart of an image decoding method in an embodiment of this application.
  • FIG. 14 is a block diagram of a functional unit of an image encoding device in an embodiment of the application.
  • 15 is a block diagram of another functional unit of the image encoding device in an embodiment of the application.
  • 16 is a block diagram of a functional unit of the image decoding device in an embodiment of the application.
  • Fig. 17 is a block diagram of another functional unit of the image decoding device in an embodiment of the application.
  • first, second, etc. used in the present invention can be used herein to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from another element.
  • first client may be referred to as the second client, and similarly, the second client may be referred to as the first client. Both the first client and the second client are clients, but they are not the same client.
  • CTU coding tree unit
  • CU coding unit
  • PU Prediction Unit
  • TU Transform Unit
  • Coding tree unit CTU an image is composed of multiple CTUs, a CTU usually corresponds to a square image area, including the luminance pixels and chrominance pixels in this image area (or only luminance pixels, or only Chroma pixels);
  • the CTU also contains syntax elements, which indicate how to divide the CTU into at least one coding unit (CU), and a method for decoding each coding unit to obtain a reconstructed image.
  • the image 10 is composed of multiple CTUs (including CTU A, CTU B, CTU C, etc.).
  • the coding information corresponding to a certain CTU includes the luminance value and/or chrominance value of the pixel in the square image area corresponding to the CTU.
  • the coding information corresponding to a certain CTU may also include syntax elements, which indicate how to divide the CTU into at least one CU, and a method for 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.
  • a CTU of 64 ⁇ 64 pixels includes a rectangular pixel dot matrix with 64 columns and 64 pixels in each column, and each pixel includes a luminance component and/or a chrominance component.
  • a CTU can also correspond to a rectangular image area or an image area of other shapes.
  • the image area corresponding to a CTU can 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, it includes 64 ⁇ 128 pixels. .
  • the coding unit CU usually corresponds to an A ⁇ B rectangular area in the image, containing A ⁇ B luminance pixels or/and its corresponding chrominance pixels, A is the width of the rectangle, B is the height of the rectangle, and A and B can be the same It can also be different.
  • the values of A and B are usually integer powers of 2, such as 128, 64, 32, 16, 8, 4.
  • the width involved in the embodiments of the present application refers to the length along the X-axis direction (horizontal direction) in the two-dimensional rectangular coordinate system XoY shown in FIG. 1, and the height refers to the two-dimensional rectangular coordinate system XoY shown in FIG.
  • the length of the middle along the Y axis vertical direction).
  • 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. Specifically, it can be composed of one or more prediction blocks (PB).
  • the inverse quantization and inverse transform processing on the transform coefficients are generated, which can be specifically composed of one or more transform blocks (TB).
  • a CU contains coding information, and the coding information includes prediction mode, transform coefficients and other information. According to the coding information, corresponding decoding processing such as prediction, inverse quantization, and inverse transformation is performed on the CU to generate a reconstructed image corresponding to this CU.
  • the prediction unit PU is the basic unit of intra prediction and inter prediction.
  • the motion information that defines the image block includes 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 (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 undergoing residual processing, the current coding block or the current decoding block is Transform the block.
  • the image where the current coding block or the current decoding block is located is called the current frame.
  • the image blocks on the left or upper side of 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; the encoding mode of the reconstructed block, the reconstructed pixels, etc. Information is available (available). Frames that have been encoded/decoded before the current frame is encoded/decoded are called reconstructed frames.
  • the current frame is a unidirectional predictive frame (P frame) or a bidirectional predictive frame (B frame)
  • it has one or two reference frame lists.
  • the two lists are called L0 and L1, and each list contains at least one reconstruction
  • the frame is called the reference frame of the current frame.
  • the reference frame provides reference pixels for the inter-frame prediction of the current frame.
  • the transformation unit TU processes the residuals of the original image block and the predicted image block.
  • Pixel also called pixel point refers to the pixel point in the image, such as the pixel point in the coding unit, the pixel point in the luminance component pixel block (also known as the luminance pixel), the pixel point in the chrominance component pixel block (Also called chrominance pixels) and so on.
  • Sample refers to the pixel value of a pixel.
  • the pixel value specifically refers to the brightness (ie grayscale value) in the luminance component domain
  • the pixel value specifically refers to the chrominance value in the chrominance component domain. (I.e. color and saturation), according to different processing stages, a pixel sample specifically includes an original sample, a predicted sample, and a reconstructed sample.
  • Intra-frame prediction based on the spatial neighboring pixels of the current block, generates a predicted image of the current block.
  • An intra-frame prediction mode corresponds to a method of generating a predicted image.
  • the division of intra prediction unit includes 2N ⁇ 2N division method and N ⁇ N division method, 2N ⁇ 2N division method is not to divide the image block; N ⁇ N division method is to divide the image block into four equal-sized sub-images piece.
  • Y represents the brightness (Luminance or Luma), which is the grayscale value
  • Cb represents the blue chroma component
  • Cr represents the red chroma component
  • U and V represent the chroma (Chrominance or Chroma), used to describe the color and saturation Spend.
  • 4:2:0 means that every 4 pixels have 4 luminance components and 2 chrominance components (YYYYCbCr)
  • 4:2:2 means that every 4 pixels have 4 luminance components and 4 chrominance Component (YYYYCbCrCbCr)
  • 4:4:4 means full-pixel display (YYYYCbCrCbCrCbCr).
  • Figure 2 shows the distribution of each component in different color formats. The circle is the Y component and the triangle is the UV component.
  • the encoder reads pixels and encodes the original video sequence in different color formats.
  • digital encoders usually include prediction, transformation and quantization, inverse transformation and inverse quantization, loop filtering and entropy coding, etc., which are used to eliminate space, time, vision, and character redundancy.
  • human eyes are more sensitive to changes in luminance components, and do not respond strongly to changes in chrominance components. Therefore, YUV 4:2:0 color format is generally used for encoding in original video sequences.
  • the digital video encoder adopts different prediction processes for the luminance component and the chrominance component in the intra-frame coding part.
  • the prediction of the luminance component is more detailed and complicated, while the prediction of the chrominance component is usually relatively simple.
  • the Cross Component Prediction (CCP) mode is a technology in the existing digital video compilation that acts on the luminance component and the chrominance component to improve the video compression ratio.
  • the specific implementation process of the cross-component prediction mode acts on the intra-frame coding.
  • the method includes using the training samples of the Luminance Block to determine the Linear Model for predicting the Chrominance Block, and using the Luminance Block.
  • the sample of the block and the linear model are used to determine the sample of the chroma block.
  • the luminance block and the chrominance block are the pixel blocks in the luminance component and the chrominance component of the coding unit.
  • the digital video encoder usually reads the original video sequence into a frame by frame image and divides the image into the coding tree unit CTU , And the coding tree unit can continue to be divided into coding units CU of different and the same size.
  • the specific coding process is performed in coding units of different components. The relationship between coding tree units and coding units is shown in FIG. 3.
  • CCP cross-component prediction
  • VVC Versatile Video Coding
  • CCLM cross-component linear model
  • Figure 4 respectively shows an example of the positional relationship between an original pixel block of 8x8 luminance component and adjacent pixels, and an original predicted pixel block of 4x4 chrominance components and adjacent pixels under the color format YUV4:2:0.
  • the prediction samples of the pixels in the chrominance component prediction block are obtained by linear model calculation and down-sampling from the reconstructed samples of the pixels in the original pixel block of the luminance component of the current coding unit, where the linear model calculation process represents as follows:
  • (i, j) are the coordinates of the pixel, and i specifically refers to the abscissa of the prediction block of the chrominance component of the current coding unit, and its range is [0, width-1], the step size is 1, and width is the current encoding
  • the width of the prediction block of the chroma component of the unit can be 4, 8, 16, and 32;
  • Pred c is the prediction sample of the pixel in the prediction block of the chrominance component, and ⁇ and ⁇ are the coefficients of the linear model.
  • the CCLM technology of VVC includes LM, LM_L and LM_A modes. Among them, LM_L only uses the left adjacent sample to calculate the linear model, and LM_A only uses the upper adjacent sample to calculate the linear model.
  • the latest cross-component technology proposal M4612 adopted by the Chinese Audio Video Coding Standard (AVS), the two-step cross-component prediction mode (TSCPM) is adopted.
  • the intra-frame encoding luminance component is calculated for up to 65 intra-prediction modes (Intra Prediction mode), DC means mean mode, Plane means planar mode, Bilinear means bilinear mode, Zone means zone .
  • the rate distortion (Rate Distortion) cost the optimal result is selected and the intra prediction mode and the corresponding prediction residual are transmitted.
  • the intra-encoded chrominance component is calculated for up to 11 chrominance component intra-frame prediction modes, including the calculation of five chrominance component intra-frame prediction modes with reference to single chroma component information and the calculation of reference multi-component information Six chrominance component intra-frame prediction modes are calculated.
  • the above-mentioned intra-frame chrominance prediction mode with reference to single chrominance component information is the chrominance component normal intra-frame prediction mode.
  • the current chroma coding block is based on the available information of the reconstructed samples of the chroma component’s neighboring prediction blocks and the corresponding chroma component frame Intra prediction mode, to calculate the prediction samples of the current chroma coding block.
  • the reference pixels of the adjacent prediction blocks selected by different prediction modes are also inconsistent. Some prediction modes can directly use the reconstructed samples of the pixels of the adjacent coding block to calculate the prediction samples, while some prediction modes require the reconstruction of the pixels of the adjacent coding block. Construct samples for interpolation, and then select reference pixels to calculate the prediction samples of the current coding block.
  • Figure 5B respectively shows a schematic diagram of an intra-frame prediction mode with a coding block size of 8X8.
  • (1) is a normal intra-frame vertical angle prediction mode. This mode uses the reference pixels of the upper neighboring block to predict the current coding block Sample calculation
  • (2) is the normal intra-frame horizontal angle prediction mode, this mode uses the reference pixels of the adjacent block on the left to calculate the prediction samples of the current coding block
  • (3) is the normal intra-frame non-angle prediction mode
  • This mode simultaneously uses the reference pixels of the upper and left adjacent blocks to calculate the prediction samples of the current coding block.
  • the reconstructed samples of the neighboring pixels of the original pixel block of the luminance component of the current coding unit and the phase of the original prediction pixel block of the chrominance component of the current coding unit are used in the calculation of the linear model.
  • the adjacent pixels of the original pixel block of the luminance component include the upper adjacent pixel and the left adjacent pixel 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 current The upper neighboring pixel and the left neighboring pixel of the prediction block of the coding unit chrominance component.
  • the reconstructed sample When the reconstructed sample is selected as the reference sample for calculating the coefficients of the linear model, combined with the availability of the reconstructed sample of adjacent pixels, the reconstructed sample of two pixels in the upper adjacent pixel and two of the adjacent pixels on the left can be used.
  • the combination of the reconstructed samples of each pixel may also use all the reconstructed samples of the four pixels in the upper adjacent pixel, and all the reconstructed samples of the four pixels in the left adjacent pixel.
  • the prediction mode includes, if the original pixel block of the luminance component and the original pixel block of the chrominance component corresponding to the current coding unit (referred to as the original pixel block for the convenience of description), the upper adjacent pixel When the reconstructed samples of the current coding unit and the reconstructed samples of the adjacent pixels on the left side of the original pixel block of the current coding unit are available, and the reference samples used in the calculation of the coefficients of the linear model are both from the adjacent pixels on the upper side and the left side, or if the current When the original pixel block corresponding to the coding unit has only the reconstructed samples of the upper neighboring pixels available, and the reference sample used in the calculation of the linear model coefficient is only the reconstructed sample of the upper neighboring pixel, or if the original pixel corresponding to the current coding unit Only the reconstructed samples of the neighboring pixels on the left of the block are available, and the reference samples used in the calculation of the coefficients of the
  • the upper reference sample is selected as the upper
  • the reconstructed sample of the leftmost pixel among adjacent pixels is the reconstructed sample of the rightmost pixel above the width of the original pixel block corresponding to the current coding unit, and the left reference sample selects the reconstruction of the uppermost pixel among the left adjacent pixels
  • the sample is the reconstructed sample of the lowermost pixel among the adjacent pixels to the left of the height of the original pixel block corresponding to the current coding unit; if the reference sample used for the calculation of the coefficient of the linear model is only from the upper side, the current coding unit
  • the distance corresponding to one-quarter of the width of the original pixel block is the step length, and the reconstructed samples of the pixels with four consecutive steps in the adjacent pixels on the upper side are selected; if the reference sample is only from the left side, the current coding unit
  • the distance corresponding to one-quarter of the width of the original pixel block is the step length, and the reconstructed samples of the pixels with four consecutive steps in the adjacent pixels on the upper side
  • the adjacent pixels of the four luminance components and the adjacent pixels of the four chrominance components can be selected in three ways.
  • Method 1 When two adjacent pixels are selected from the upper adjacent code block and the left adjacent code block respectively, the adjacent pixels can be selected by the following formula:
  • TopIndex (minStep-1)*Width/minStep;
  • min(x,y) returns the smaller value of x and y
  • Width is the width of the chrominance component of the current coding block
  • Height is the height of the chrominance component of the current coding block
  • TopIndex is the selection of the upper border adjacent
  • the pixel is the index value of another adjacent pixel except the first adjacent pixel
  • LeftIndex is the index value of another adjacent pixel except the first adjacent pixel when the adjacent pixel on the left edge is selected
  • Method 2 When only four adjacent pixels are selected from the upper adjacent coding block, start from the first adjacent pixel on the leftmost side, and use a quarter width of the chrominance component of the current coding block as the step size, Select four adjacent pixels of the luminance component and four adjacent pixels of the chrominance component;
  • Method 3 When only four adjacent pixels are selected from the adjacent coding block on the left, starting from the first adjacent pixel on the uppermost side, taking a quarter of the height of the chrominance component of the current coding block as the step size, select four One adjacent pixel of the luminance component and four adjacent pixels of the chrominance component;
  • 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 original pixel block of the chrominance component used for the calculation of the coefficients of the linear model
  • Y Min is the average value of the two largest reconstructed samples used for the linear model
  • the calculated coefficient of the chrominance component is the average value of the two smallest reconstructed samples among the reconstructed samples of multiple adjacent pixel points of the original pixel block of the chrominance component.
  • X Max is the average value of the two largest reconstructed samples among the reconstructed samples of the multiple adjacent pixel points of the original pixel block of the luminance component used for the calculation of the coefficient of the linear model
  • X Min is the coefficient used for the linear model
  • the calculated brightness component is the average value of the two smallest reconstructed samples among the reconstructed samples of multiple adjacent pixel points of the original pixel block.
  • the current CU's luminance component reconstruction block is used to generate the corresponding chroma component reference prediction block (Chroma Reference Prediction Pixel Block).
  • 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 chrominance component refers to the size of the prediction block and the size of the original pixel block of the luminance component. same.
  • the input digital video color format is generally YUV 4: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.
  • the chrominance component reference prediction block In order to obtain the corresponding correct size chrominance component prediction block, the chrominance component reference prediction block needs to be downsampled by half in the horizontal and vertical directions respectively, and the chrominance component prediction block after downsampling is the corresponding brightness A quarter of the original pixel block of the component meets the size requirement of the color format constraint.
  • the filter used for down-sampling the chrominance component reference prediction block uses two-tap down-sampling filters with the same coefficient in the left boundary pixel area of the chrominance component reference prediction block, while six-tap filters are used in other pixel areas. Tap down sampling filter with two different coefficients.
  • FIG. 7 shows a schematic diagram of the cross-component technology from the luminance component reconstruction block to the chrominance component prediction block.
  • the size of the luminance component reconstruction block of the coding unit is 8*8, and the size of the corresponding chrominance component reference prediction block is 8*8, the size of the filtered chrominance component prediction block is 4*4.
  • AVS3 also adopts multiple cross-component prediction modes MCPM.
  • the three MCPM prediction modes are similar to the TSCPM prediction mode.
  • MCPM mode corresponds to TSCPM mode
  • MCPM_T mode corresponds to TSCPM_T mode
  • MCPM_L mode corresponds to TSCPM_L mode.
  • the chrominance component prediction process is different.
  • the chrominance U component prediction process of the three MCPM prediction modes is consistent with the TSCPM mode, while the chrominance V component prediction block is the temporary chrominance prediction component block minus the U component reconstruction block. get.
  • the specific formula is as follows:
  • Pred Cr (x,y) Pred C ′(x,y)-Rec Cb (x,y) (7)
  • Pred C (x, y) is the prediction sample at the pixel (x, y) in the prediction block of the chrominance component
  • Rec L (x, y) is the prediction sample at the luminance component
  • Pred C '(x, y) is the predicted sample at the pixel (x, y) in the prediction block of the chrominance component after downsampling
  • Rec cb ( x, y) is the reconstructed sample of the U component located at the pixel (x, y) in the reconstruction block of the chrominance component
  • Pred Cr (x, y) is the pixel (x, y) located in the prediction block of the chrominance component
  • ⁇ 'and ⁇ ' are the sum of the linear parameters of the U component and the V component, respectively.
  • the existing enhanced two-step cross-component prediction technology uses all reconstructed samples from the upper or left adjacent coding unit as reference information to calculate a linear model to obtain the reference prediction block of the chrominance component of the current coding unit. , If only the reconstructed samples from the neighboring pixels on the upper side are taken, the reference information of the reconstructed samples from the neighboring pixels on the left is lacking; if only the reconstructed samples from the neighboring pixels on the left are taken, there is no Reference information for reconstructed samples of neighboring pixels.
  • the existing chrominance component intra prediction mode selects pixels as the reference pixels of the prediction mode, the correlation between some reference pixels and the current coding block is often ignored.
  • the current coding block is spatially related to all adjacent pixels. If only the neighboring pixels from the upper side are taken, the reference information from the neighboring pixels on the left is lacking; if only the neighboring pixels from the left are taken, there is no The reference information of the upper neighboring pixel.
  • the existing ordinary intra-frame prediction modes of chrominance components select neighboring pixels in the corresponding direction as reference pixels.
  • the prediction effect of only referring to adjacent pixels in a single direction is not good enough, and the referenceable information of other adjacent pixels is wasted.
  • the existing cross-component chrominance prediction mode selects the upper or left adjacent pixel as the reference pixel to calculate the linear model according to the prediction mode.
  • the spatial relevance of the block and the left-side coded block; if the left adjacent pixel is selected as the reference pixel, the spatial relevance of the current coded block and the upper coded block is ignored.
  • the prediction wastes a large amount of available reference information, and the sample value of the chrominance component of the current coding unit cannot be predicted well, and the coding efficiency is lost.
  • the current coding block selects only the adjacent pixels of the upper chrominance component as reference pixels to calculate the prediction samples of the current coding block, the left chrominance component neighboring pixels are used as the reference pixels to predict the chrominance component of the current coding block. Make forecast corrections;
  • the current coding block selects only the adjacent pixels of the chrominance component on the left as the reference pixels to calculate the prediction samples of the current coding block, the adjacent pixels of the upper chrominance component are used as the reference pixels to predict the chrominance component of the current coding block. Make forecast corrections;
  • the adjacent pixels of the chrominance component on the upper and left sides are used as reference pixels to perform prediction and correction on the prediction samples of the chrominance component of the current coding block.
  • the current encoding block selects only the adjacent pixels of the upper luminance component and the adjacent pixels of the upper chrominance component to calculate the linear model, the adjacent pixels of the left chrominance component are used as reference pixels to predict the chrominance component of the current encoding block. Make forecast corrections;
  • the current coding block selects only the neighboring pixels of the left luminance component and the neighboring pixels of the left chrominance component to calculate the linear model, then the upper chrominance component neighboring pixels are used as reference pixels to predict the chrominance component of the current coding block Make forecast corrections.
  • the above prediction and correction of the prediction sample of the current coding block includes the filter coefficient index value according to the distance between the current pixel and the reference adjacent pixel, the filter coefficient group index value according to the size of the current coding block, and the filter coefficient group index according to the filter coefficient group index. Find the chroma component intra prediction filter coefficient group and find the chroma component intra prediction filter coefficient in the group according to the filter coefficient index value, and calculate the corrected prediction sample according to the searched filter coefficient and the prediction correction formula.
  • the current encoding block it is first determined whether the current encoding block can use the chrominance component prediction correction technology.
  • intra-frame prediction is performed on the luminance component of the current coding block, and the prediction sample correction is performed on the prediction samples after the prediction ends, and then the chrominance component of the current coding block is intra-frame predicted, and Make prediction corrections on the prediction samples after the prediction ends.
  • the aforementioned prediction and correction of the current coding block includes the need to transmit the identification bit and the need not to transmit the identification bit to indicate whether the current coding block uses the chrominance component prediction and correction technology.
  • the current prediction correction technology needs to transmit flags, it is judged whether to use the prediction correction technology of intra prediction based on the rate-distortion cost calculated from the uncorrected prediction sample and the corrected prediction sample.
  • the current coding block does not use the prediction correction technology of intra-frame prediction, and the flag is transmitted and indicated as no;
  • the current chrominance component coding block uses the prediction correction technology of intra-frame prediction, and the flag bit is transmitted and indicated as true;
  • the prediction correction is used directly on the prediction samples of the current coding block, and the corrected prediction samples are obtained.
  • the decoding end first analyze and obtain whether the current bitstream can use the prediction correction technology of intra-frame prediction of the chrominance component.
  • the code stream is parsed to obtain the prediction mode of the current chrominance component of the current decoded block, and specific neighboring pixels are selected as reference pixels to predict and correct the prediction samples of the current decoded block.
  • the foregoing process of predicting and correcting the prediction samples of the current decoded block includes that the current decoded block requires an identification bit to indicate whether to use the prediction correction technology and that does not require an identification bit to indicate whether to use the prediction correction technology.
  • the code stream of the current decoding block is analyzed to obtain the identification bit value and the prediction mode of the chrominance component.
  • the prediction sample is calculated according to the prediction mode of the current chrominance component.
  • the left neighboring pixel is used as the reference pixel to perform prediction correction on the prediction sample
  • the upper adjacent pixel is taken as the reference pixel to perform prediction correction on the prediction sample
  • the prediction sample is calculated according to the prediction mode of the current chrominance component, and the prediction sample is not filtered;
  • the code stream of the current decoding block is analyzed to obtain the prediction mode of the chrominance component, and the prediction sample is calculated according to the prediction mode of the current chrominance component.
  • calculation decoding block selects the upper neighboring pixel as the reference pixel, then the left neighboring pixel is used as the reference pixel to perform prediction and correction on the prediction sample;
  • calculation and decoding block selects the neighboring pixels on the left as the reference pixels, then the neighboring pixels on the upper side are taken as the reference pixels to perform prediction and correction on the prediction sample.
  • the spatial correlation between the adjacent coding block and the current coding block is used to modify the prediction samples of the chrominance component of the current coding block, so as to improve prediction accuracy and coding efficiency.
  • FIG. 9 is a block diagram of an example video decoding system 1 described in the embodiments of this application.
  • the term "video coder” generally refers to both video encoders and video decoders.
  • the term “video coding” or “coding” may generally refer to video encoding or video decoding.
  • the video encoder 100 and the video decoder 200 of the video coding system 1 are used to implement the cross-component prediction method proposed in this application.
  • the video coding system 1 includes a source device 10 and a destination device 20.
  • Source device 10 generates encoded video data. Therefore, the source device 10 may be referred to as a video encoding device.
  • the destination device 20 may decode the encoded video data generated by the source device 10. Therefore, the 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 the desired program code in the form of instructions or data structures that can be accessed by a computer, as described herein.
  • the source device 10 and the destination device 20 may include various devices, including desktop computers, mobile computing devices, notebook (for example, 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, on-board computers, or the like.
  • Destination device 20 may receive encoded video data from source device 10 via link 30.
  • the link 30 may include one or more media or devices capable of moving encoded video data from the source device 10 to the destination device 20.
  • 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.
  • the source device 10 may modulate the encoded video data according to a communication standard (for example, a wireless communication protocol), and may transmit the modulated video data to the destination device 20.
  • the one or more communication media may include wireless and/or wired communication media, such as a radio frequency (RF) spectrum or one or more physical transmission lines.
  • RF radio frequency
  • 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 devices that facilitate communication from the source device 10 to the destination device 20.
  • the encoded data may be output from the output interface 140 to the storage device 40.
  • the image coding and decoding technology of this application can be applied to video coding and decoding to support a variety of multimedia applications, such as aerial TV broadcasting, cable TV transmission, satellite TV transmission, streaming video transmission (for example, via the Internet), for storage in data storage Encoding of video data on the media, decoding of video data stored on the data storage media, or other applications.
  • the video coding system 1 may 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.
  • the video coding system 1 illustrated in FIG. 9 is only an example, and the technology of the present application is applicable to video coding settings (for example, video coding or video decoding) that do not necessarily include any data communication between the coding device and the decoding device. .
  • the data is retrieved from local storage, streamed on the network, and so on.
  • the video encoding device may encode data and store the data to the memory, and/or the video decoding device may retrieve the data from the memory and decode the data.
  • encoding and decoding are performed by devices that do not communicate with each other but only encode data to and/or retrieve data from the memory and decode the data.
  • the source device 10 includes a video source 120, a video encoder 100 and an output interface 140.
  • the output interface 140 may include a regulator/demodulator (modem) and/or a transmitter.
  • the video source 120 may include a video capture device (for example, a camera), a video archive containing previously captured video data, a video feed interface to receive video data from a video content provider, and/or a computer for generating video data Graphics system, or a combination of these sources of video data.
  • the video encoder 100 may encode video data from the video source 120.
  • the source device 10 transmits the encoded video data directly to the destination device 20 via the output interface 140.
  • the encoded video data may also be stored on the storage device 40 for later access by the destination device 20 for decoding and/or playback.
  • the destination device 20 includes an input interface 240, a video decoder 200 and a display device 220.
  • the input interface 240 includes a receiver and/or a modem.
  • the input interface 240 may receive encoded video data via the link 30 and/or from the storage device 40.
  • the display device 220 may be integrated with the destination device 20 or may be external to the destination device 20. Generally, the display device 220 displays the decoded video data.
  • the display device 220 may include various display devices, for example, a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices.
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • the video encoder 100 and the video decoder 200 may be integrated with the audio encoder and decoder, respectively, and may include an appropriate multiplexer-demultiplexer unit Or other hardware and software to handle the encoding of both audio and video in a common data stream or separate data streams.
  • the video encoder 100 and the video decoder 200 may each be implemented as any of a variety of circuits such as: one or more microprocessors, digital signal processors (DSP), application specific integrated circuits (ASIC), Field programmable gate array (FPGA), discrete logic, hardware, or any combination thereof.
  • DSP digital signal processors
  • ASIC application specific integrated circuits
  • FPGA Field programmable gate array
  • the device may store instructions for the software in a suitable non-volatile computer-readable storage medium, and may use one or more processors to execute the instructions in hardware So as to implement the technology of this application. Any of the foregoing (including hardware, software, a combination of hardware and software, etc.) can be regarded as one or more processors.
  • Each of the video encoder 100 and the video decoder 200 may be included in one or more encoders or decoders, and any of the encoders or decoders may be integrated as a combined encoder in the corresponding device / Part of the decoder (codec).
  • FIG. 10 is an exemplary block diagram of a video encoder 100 described in an embodiment of this application.
  • the video encoder 100 is used to output the video to the post-processing entity 41.
  • the post-processing entity 41 represents an example 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.
  • the post-processing entity 41 may be an instance of a network entity.
  • 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 the same device including the video encoder 100 implement.
  • the post-processing entity 41 is an example of the storage device 40 in FIG. 1.
  • 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 predictor 110 and an intra predictor 109.
  • the video encoder 100 further 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.
  • ALF adaptive loop filter
  • SAO sample adaptive offset
  • the filter unit 106 is shown as an in-loop filter in FIG. 10, in other implementations, the filter unit 106 may be implemented as a post-loop filter.
  • the video encoder 100 may further include a video data storage and a dividing unit (not shown in the figure).
  • the video encoder 100 receives video data and stores the video data in a video data storage.
  • the dividing unit divides the video data into several image blocks, and these image blocks can be further divided into smaller blocks, such as image block division based on a quad-tree structure or a binary tree structure.
  • the prediction processing unit 108 may select one of multiple possible coding modes for the current image block, such as one of multiple intra coding modes or one of multiple inter coding modes.
  • the prediction processing unit 108 may provide the resultant intra- and inter-coded blocks to the summer 112 to generate a residual block, and to the summer 111 to reconstruct an encoded block used as a reference image.
  • the intra predictor 109 in the prediction processing unit 108 may perform intra predictive coding of the current image block with respect to one or more neighboring blocks in the same frame or slice as the current block to be coded to remove spatial redundancy .
  • the inter predictor 110 in the prediction processing unit 108 may perform inter predictive encoding of the current image block with respect 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 or inter prediction mode of the current image block to the entropy encoder 103 so that the entropy encoder 103 encodes the information indicating the selected inter prediction mode.
  • 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 included in one or more TUs and applied to the transformer 101.
  • the transformer 101 uses transformation such as discrete cosine transform (DCT) or a conceptually similar transformation to transform residual video data into residual transform coefficients.
  • DCT discrete cosine transform
  • the transformer 101 can transform the residual video data from the pixel value domain to the transform domain, such as the frequency domain.
  • the transformer 101 may send the resulting transform coefficient to the quantizer 102.
  • the quantizer 102 quantizes the transform coefficient to further reduce the bit rate.
  • the quantizer 102 may then perform a scan of the matrix containing the quantized transform coefficients.
  • the entropy encoder 103 may perform scanning.
  • the entropy encoder 103 After the quantization, the entropy encoder 103 performs entropy encoding on the quantized transform coefficient. For example, the entropy encoder 103 can perform context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), grammar-based context adaptive binary arithmetic coding (SBAC), and probability interval segmentation entropy (PIPE). ) Coding or another entropy coding method or technique. After being entropy-encoded 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 the syntax elements of the current image block to be encoded.
  • CAVLC context adaptive variable length coding
  • CABAC context adaptive binary arithmetic coding
  • SBAC grammar-based context adaptive binary arithmetic coding
  • the inverse quantizer 104 and the inverse transformer 105 respectively apply inverse quantization and inverse transform 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 predictor 110 or the intra predictor 109 to generate a reconstructed image block.
  • the filter unit 106 may be applied to reconstructed image blocks to reduce distortion, such as block artifacts. Then, the reconstructed image block is stored in the memory 107 as a reference block, and can be used as a reference block by the inter predictor 110 to perform inter prediction on a block in a subsequent video frame or image.
  • the video encoder 100 specifically implements the image encoding method provided in the embodiment of the present application.
  • the input video is divided into several coding tree units, and each coding tree unit is divided into several rectangular or square coding units.
  • the current coding unit selects the intra prediction mode for encoding
  • the luminance component of the current coding unit is calculated and traversed in several prediction modes, and the optimal prediction mode is selected according to the rate-distortion cost, and the chrominance component of the current coding unit is performed in several ways
  • the calculation of the prediction mode is traversed and the optimal prediction mode is selected according to the rate-distortion cost. After that, the residual between the original video block and the prediction block is calculated.
  • the residual is followed by changes and quantization, entropy coding, etc. to form an output code stream, and the other path undergoes inverse transformation, inverse quantization, loop filtering, etc. to form a reconstructed sample As reference information for subsequent video compression.
  • 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.
  • FIG. 11 is an exemplary block diagram of a video decoder 200 described in an embodiment of this application.
  • the 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.
  • the prediction processing unit 208 may include an inter predictor 210 and an intra predictor 209.
  • video decoder 200 may perform a decoding process that is substantially reciprocal of the encoding process described with respect to video encoder 100 from FIG. 10.
  • the video decoder 200 receives from the video encoder 100 an encoded video stream representing image blocks and associated syntax elements of the encoded video slice.
  • the video decoder 200 may receive video data from the network entity 42, and optionally, may also store the video data in a video data storage (not shown in the figure).
  • the video data storage may 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 storage can be obtained, for example, from the storage device 40, from a local video source such as a camera, via wired or wireless network communication of the video data, or by accessing a physical data storage medium.
  • the video data memory can be used as a decoded picture buffer (CPB) for storing encoded video data from an encoded video stream.
  • CPB decoded picture buffer
  • the 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.
  • the network entity 42 may or may not include a video encoder, such as the video encoder 100.
  • the network entity 42 may implement part of the technology described in this application.
  • the network entity 42 and the video decoder 200 may be part of separate devices, while in other cases, the functionality described with respect to the network entity 42 may be performed by the same device including the video decoder 200.
  • the entropy decoder 203 of the video decoder 200 entropy decodes the code stream to generate quantized coefficients and some syntax elements.
  • the entropy decoder 203 forwards the syntax element to the prediction processing unit 208.
  • the video decoder 200 may receive the syntax elements at the video slice level and/or the image block level.
  • the intra predictor 209 of the prediction processing unit 208 is based on the signaled intra prediction mode and the data from the previous decoded block of the current frame or image And the prediction block of the image block of the current video slice is generated.
  • the inter predictor 210 of the prediction processing unit 208 may determine the current In the inter-frame prediction mode in which the current image block of the video slice is decoded, the current image block is decoded based on the determined inter-frame prediction mode (for example, inter-frame prediction is performed).
  • the inverse quantizer 204 inversely quantizes, ie, 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 parameter calculated by the video encoder 100 for each image block in the video slice to determine the degree of quantization that should be applied and similarly determine the degree of inverse quantization that should be applied.
  • the inverse transformer 205 applies an inverse transform to the transform coefficients, such as an inverse DCT, an inverse integer transform, or a conceptually similar inverse transform process, in order to generate a residual block in the pixel domain.
  • the video decoder 200 compares the residual block from the inverse transformer 205 with the corresponding prediction generated by the inter predictor 210.
  • the blocks are summed to obtain a reconstructed block, that is, a decoded image block.
  • the summer 211 represents the component that performs this summing operation.
  • loop filters in or after the decoding loop
  • 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.
  • ALF adaptive loop filter
  • SAO sample adaptive offset
  • the image decoding method specifically performed by the video decoder 200 includes: obtaining the prediction mode index of the current coding unit after parsing, inverse transformation, and inverse quantization of the input code stream.
  • the prediction mode index of the chrominance component of the current coding unit is an enhanced two-step cross-component prediction mode, select only the reconstructed samples from the upper or left adjacent pixels of the current coding unit to calculate the linear model according to the index value Calculate the reference prediction block of the chrominance component of the current coding unit according to the linear model, down-sampling, and perform prediction correction based on the correlation of adjacent pixels on the boundary in the orthogonal direction for the down-sampled prediction block to obtain the final color The final prediction block of the degree component.
  • the subsequent code stream is used as reference information for subsequent video decoding, and the video signal is output through post-filtering processing.
  • the video decoder 200 may generate an output video stream without processing by the filter unit 206; or, for some image blocks or image frames, the entropy decoder 203 of the video decoder 200 does not decode the quantized coefficients, and accordingly It does not need to be processed by the inverse quantizer 204 and the inverse transformer 205.
  • the intra predictor 209 may use the image decoding method described in the embodiment of the present application in the process of generating the prediction block.
  • FIG. 12A is a schematic flowchart of an image encoding method in an embodiment of this application.
  • the image encoding method can be applied to the source device 10 in the video decoding system 1 shown in FIG. 9 or the video encoder 100 shown in FIG. 10.
  • the process shown in FIG. 12A is described by taking the video encoder 100 shown in FIG. 10 as an example where the execution subject is.
  • the cross-component prediction method provided by the embodiment of the present application includes:
  • Step 110 Divide the image, and determine the intra prediction mode of the chrominance component of the current coding block.
  • the color format of the video to which the image belongs includes but is not limited to 4:2:0, 4:2:2, etc.
  • 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
  • the size of the original pixel block of the corresponding luminance component is 8*8
  • the size of the original pixel block of the corresponding chrominance component is 4*4.
  • 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
  • the size of the original pixel block of the corresponding luminance component is 8*8
  • the size of the original pixel block of the corresponding chrominance component is 8*4.
  • the chrominance component intra prediction mode can calculate at most 11 chrominance component intra prediction modes, including the calculation of 5 chrominance component intra prediction modes with reference to single chroma component information and the calculation of 6 chroma component intra prediction modes with reference to multi-component information.
  • the above-mentioned intra-frame chrominance prediction mode referring to the information of a single chrominance component is the ordinary intra-frame prediction mode of the chrominance component.
  • Step 120 Determine the prediction block of the chrominance component of the current coding block according to the chrominance component intra prediction mode.
  • the determining the prediction block of the chroma component of the current coding block according to the chroma component intra prediction mode includes: reconstructing samples of neighboring pixels of the current coding block And the chrominance component intra-frame prediction mode, determine a reference pixel; determine the prediction block of the chrominance component of the current coding block according to the reference pixel.
  • the chroma component prediction block can be determined by the method agreed by the agreement.
  • the chroma component prediction block can be determined by the method agreed by the agreement.
  • the determining the prediction block of the chrominance component of the current coding block according to the chrominance component intra prediction mode includes: determining the luma component intra prediction mode of the current coding block; When the chrominance component intra prediction mode indicates to use the luminance component of the current coding block to determine the prediction value of the chrominance component of the current coding block, determine the current coding according to the luminance component intra prediction mode The prediction block of the chrominance component of the block.
  • the intra-frame coded luminance component calculates up to 65 intra-frame prediction modes.
  • the luminance component performs calculations of up to 62 angular prediction modes and 3 non-angle prediction modes and selects an optimal one.
  • Intra prediction mode is transmitted.
  • the intra-frame prediction mode of the luminance component of the current coding block is a prediction mode with the best rate-distortion cost among multiple intra-prediction modes, and the multiple intra-frame prediction modes are intra-frame prediction modes of the luminance component of the current coding block.
  • the determining the prediction block of the chrominance component of the current coding block according to the luma component intra prediction mode includes: determining the current coding according to the luma component intra prediction mode The reference prediction block of the chrominance component of the block; 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.
  • the device may determine that the chrominance component intra prediction mode indicates that the luminance component of the current coding block is used to determine the intra prediction mode in the case of determining that the luminance component intra prediction mode is the preset intra prediction mode.
  • the preset intra prediction mode is a brightness component intra prediction mode in a preset direction, and the preset direction includes but is not limited to the horizontal direction (for example: along the X axis in the two-dimensional rectangular coordinate system XoY as shown in FIG. ), the vertical direction (for example: along the negative direction of the Y axis in the two-dimensional rectangular coordinate system XoY as shown in Figure 1).
  • the filtering the reference prediction block of the chrominance component of the current coding block includes: using a third filter to filter the reference prediction block of the chrominance component of the current coding 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 reference prediction block for the chrominance component.
  • the filter used to filter 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:
  • a prediction block P c is equal to the chroma component of the current chrominance component pixel Forecast sample.
  • 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 :
  • x, y coordinates of the current pixel P 'c is a predicted sample pixel prediction reference block of the chrominance component
  • P c is the chroma component of the current pixel block prediction in the chroma component Sample of predictions.
  • the determining the reference prediction block of the chrominance component of the current coding block according to the luma component intra prediction mode includes: determining the current prediction block according to the luma component intra prediction mode A reconstruction block of the luminance component of the coding block; according to the reconstruction block of the luminance component of the current coding block, a reference prediction block of the chrominance component of the current coding block is determined.
  • the size of the reference prediction block of the chrominance component is the same as the size of the reconstructed block of the luminance component.
  • the reconstruction block of the luminance component and the reference prediction block of the chrominance component in the prediction process as shown in FIG. 8 are both 8*8 pixel arrays.
  • the determining the reference prediction block of the chrominance component of the current coding block according to the reconstruction block of the luminance component of the current coding block includes: determining to use the luminance component of the current coding block A linear model for cross-component prediction is performed on the reconstruction block of the reconstruction block; the reconstruction block of the luminance component is calculated according to the linear model to obtain the reference prediction block of the chrominance component of the current coding block.
  • the linear model may be, for example, the linear model of the aforementioned formula (1) or (2)(3).
  • the determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current coding block includes: determining a reference pixel used to calculate the linear model, and the reference pixel includes At least one neighboring pixel of the current coding block; calculating the linear model according to the reference pixel.
  • the selection of the reference pixels used to calculate the linear model can be extended to adjacent pixels on the lower left, left, upper left, upper, and upper right sides of the current coding block.
  • the device may select a linear model adapted to the current coding block from a plurality of linear models. Specifically, it may select a suitable linear model for the current coding block according to image characteristics. Because the coefficients of the linear model have not been determined yet, it needs to be calculated based on the reference pixels. It can be seen that the device predicts the chrominance component of the current coding block, and can provide a more refined prediction mechanism relative to the coding block to achieve more refined image prediction.
  • the determining the reference pixels used to calculate the linear model includes: according to the available information of the reconstructed samples of the neighboring pixels of the current coding block and the chrominance component intra prediction mode To determine the reference pixels used to calculate the linear model.
  • the chrominance component intra prediction mode of the current coding block includes any one of TSCPM_T, TSCPM_L, MCPM_T, and MCPM_L.
  • the available information specifically includes available on both sides and available on one side (for example: available on the left side and available on the right side). The detailed description is given below.
  • the chrominance component intra prediction mode of the current coding block is TSCPM_T or MCPM_T
  • the reconstructed sample of the upper neighboring pixel of the original pixel block corresponding to the current coding block is adjacent to the left side of the original pixel block corresponding to the current coding block
  • the reference neighboring pixels used to calculate the coefficient of the linear model are 4 of the upper neighboring pixels of the original pixel block, as shown in Fig. 6(b).
  • the chrominance component intra prediction mode of the current coding block is TSCPM_L or MCPM_L
  • the reconstructed sample of the upper neighboring pixel of the original pixel block corresponding to the current coding block is adjacent to the left side of the original pixel block corresponding to the current coding block
  • the reference neighboring pixels used to calculate the coefficient of the linear model are 4 of the side neighboring pixels of the original pixel block, as shown in Fig. 6(c).
  • the reference neighboring pixels used to calculate the coefficients of the linear model can be flexibly set according to the availability of the reconstructed samples of the neighboring pixels and the chrominance component intra prediction mode.
  • the determining the reference pixel used to calculate the linear model includes: determining the luminance component intra prediction mode with the optimal rate-distortion cost of the adjacent coding block of the current coding block The reference pixel used to calculate the linear model.
  • the intra-frame prediction mode with the optimal rate-distortion cost of 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 of the luminance component of the current coding block.
  • 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.
  • the performing prediction and correction on the prediction block of the chrominance component of the current coding block includes: determining a filter according to the chrominance component intra prediction mode; and using the filter to perform The prediction block of the chrominance component of the current coding block undergoes prediction correction.
  • the determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_T or MCPM_T or a normal intra vertical angle prediction mode, The filter is set as the first filter.
  • the first filter is used to detect the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the current coding block and the prediction block of the chrominance component of the current coding block.
  • the pixel area is filtered.
  • the first filter includes a first two-tap filter; the first two-tap filter includes:
  • 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 current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • f(x) Is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the pixels in the prediction block of the chrominance component and the neighboring pixels on the left boundary are taken as an example.
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between.
  • the value of the aforementioned horizontal filter coefficient is related to the size of the chrominance component of the current coding block and the distance between the predicted pixel in the prediction block of the current chrominance component and the adjacent pixel on the left.
  • the selection of the above-mentioned filter coefficients is related to the size of the chrominance component, divided into different filter coefficient groups according to the size of the prediction block of the chrominance component of the current coding block, and selected according to the size of the prediction block of the current chrominance component The corresponding filter coefficient group.
  • the selection of the above-mentioned horizontal filter coefficients is related to the distance between the predicted pixel and the adjacent pixel on the left. The distance from the currently 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 the coefficients in the table can be amplified and shifted during the specific encoding process to reduce the computational complexity.
  • the filter coefficients of this technology can use coefficient truncation to reduce coefficient storage, that is, the filter coefficients of all pixels whose distance from the currently predicted pixel to the neighboring pixel on the left is greater than 10 are the same.
  • the determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_L or MCPM_L or a normal intra horizontal angle prediction mode, The filter is set as a second filter.
  • the second filter is used to determine the pixel area adjacent to the upper boundary of the prediction block of the chrominance component of the current coding block and the prediction block of the chrominance component of the current coding block.
  • the pixel area is filtered.
  • the second filter includes a second two-tap filter; the second two-tap filter includes:
  • 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 current
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the pixels in the prediction block of the chrominance component and the upper boundary adjacent pixels are taken as an example.
  • First, for the pixel a and the upper boundary adjacent pixel 1 Use the second two-tap filter for downsampling to form the pixel A of the corrected prediction block of the chrominance component.
  • the vertical filter coefficient is determined by a second parameter set, and the second parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and the pixel P(x,- 1) The distance between.
  • the value of the above-mentioned vertical filter coefficient is related to the size of the chrominance component of the current coding block and the distance between the predicted pixel in the prediction block of the current chrominance component and the adjacent pixel on the left.
  • the selection of the above-mentioned filter coefficients is related to the size of the chrominance component, divided into different filter coefficient groups according to the size of the prediction block of the chrominance component of the current coding block, and selected according to the size of the prediction block of the current chrominance component The corresponding filter coefficient group.
  • the selection of the above-mentioned vertical filter coefficient is related to the distance between the predicted pixel and the upper adjacent pixel. The distance from the currently predicted pixel to the upper adjacent pixel is used as the index value, and the corresponding filter coefficient is selected from the corresponding filter coefficient group .
  • the specific intra-frame chroma prediction filter coefficients are shown in Table 1.
  • the determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is a normal intra non-angle prediction mode, the filter setting It is the third filter.
  • the third filter is used to predict the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the current coding block and the chrominance component of the current coding block.
  • the pixel area adjacent to the upper boundary of the block and the pixel area of the prediction block of the chrominance component of the current coding block are filtered.
  • the third filter includes a first three-tap filter; the first three-tap filter includes:
  • 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 current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the pixels in the prediction block of the chrominance component and the adjacent pixels on the upper boundary and the adjacent pixels on the left boundary are taken as examples.
  • the neighboring pixel 1 and the neighboring pixel 6 on the left boundary are down-sampled using the first three-tap filter to form the pixel E of the corrected prediction block of the chrominance component, and the other columns can be deduced by analogy until the pixel p and the upper boundary
  • the adjacent pixel 4 and the left boundary adjacent pixel 8 are down-sampled using the first three-tap filter to form the pixel P of the corrected prediction block of the chrominance component.
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between;
  • the vertical filter coefficient is determined by a second parameter set, and 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).
  • the values of the vertical filter coefficient and the horizontal filter coefficient are 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.
  • the selection of the above-mentioned filter coefficients is related to the size of the chrominance component, divided into different filter coefficient groups according to the size of the prediction block of the chrominance component of the current coding block, and selected according to the size of the prediction block of the current chrominance component The corresponding filter coefficient group.
  • the selection of the above-mentioned vertical filter coefficient is related to the distance between the predicted pixel and the upper adjacent pixel. The distance from the currently predicted pixel to the upper adjacent pixel is used as the index value, and the corresponding filter coefficient is selected from the corresponding filter coefficient group .
  • the specific intra-frame chroma prediction filter coefficients are shown in Table 1.
  • the filter coefficients of this technology can use coefficient truncation to reduce coefficient storage, that is, the filter coefficients of all pixels whose distance from the currently predicted pixel to the upper adjacent pixel is greater than 10 are the same.
  • the device can further calculate the reconstruction block of the color component, and determine the current coding according to the reconstruction block of the chrominance component and the reconstruction block of the luminance component. The reconstructed image block of the block.
  • the solution of the present application uses the spatial correlation between the adjacent coding block and the current coding block to correct the prediction samples of the chrominance component of the current coding block, thereby improving the prediction accuracy and coding efficiency.
  • the performing prediction and correction on the prediction block of the chrominance component of the current coding block includes: calculating the first rate-distortion cost of the current coding block without correction, and calculating the The second rate-distortion cost under the corrected condition of the current coding block; determining that the first rate-distortion cost is greater than the second rate-distortion cost; performing prediction correction on the prediction block of the chrominance component of the current coding block.
  • the performing prediction and correction on the prediction block of the chrominance component of the current coding block includes: calculating the first rate-distortion cost of the current coding block without correction, and calculating the The second rate-distortion cost of the current coding block in the corrected situation; determining that the first rate-distortion cost is greater than the second rate-distortion cost, and set the chrominance correction flag to a first value, and the first value is used for Indicate that the prediction correction is needed; perform the prediction correction on the prediction block of the chrominance component of the current coding block.
  • the method further includes: determining that the first rate-distortion cost is less than or equal to the second rate-distortion cost, setting the chromaticity correction flag to a second value, and the second value Used to indicate that the forecast correction is not required.
  • the chromaticity correction flag may be a single or multiple bits.
  • the first value may be 1, and the second value may be 0, which is not uniquely limited here.
  • the chromaticity correction flag and the brightness correction flag are shared.
  • the chromaticity correction flag is used independently.
  • the above linear model applicable to the current coding block can be replaced with a linear model applicable row by row.
  • each chrominance component uses a flag to indicate whether to use the prediction correction technology.
  • the chrominance component prediction correction technology of the present application can be used only for individual prediction modes in the chrominance component prediction mode.
  • FIG. 13 is a schematic flowchart of an image encoding method in an embodiment of the application, and the image encoding method can be applied to the target device in the video decoding system 1 shown in FIG. 9 20 or the video decoder 200 shown in FIG. 11.
  • the process shown in FIG. 13 is explained by taking the video encoder 200 shown in FIG. 11 as an example where the execution body is executed.
  • the cross-component prediction method provided by the embodiment of the present application includes:
  • Step 210 Analyze the code stream to determine the intra prediction mode of the chrominance component of the currently decoded block.
  • the color format of the video of the code stream includes but is not limited to 4:2:0, 4:2:2, etc.
  • the code stream can obtain syntax elements through entropy decoding, and the syntax elements are used to determine the luma component intra prediction mode and the chroma component intra prediction mode for predicting the current decoded block.
  • the brightness component intra prediction mode is an optimal brightness component intra prediction mode among multiple intra prediction modes, and the multiple intra prediction modes are intra prediction modes used for intra prediction of the brightness component.
  • Step 220 Determine the prediction block of the chrominance component of the currently decoded block according to the chrominance component intra prediction mode
  • the determining the prediction block of the chrominance component of the current decoded block according to the chrominance component intra prediction mode includes: reconstructing samples of neighboring pixels of the current decoded block Determine the reference pixel according to the available information of the chrominance component and the intra prediction mode of the chrominance component; determine the prediction block of the chrominance component of the currently decoded block according to the reference pixel.
  • the determining the prediction block of the chrominance component of the currently decoded block according to the chrominance component intra prediction mode includes: determining the luma component intra prediction mode of the currently decoded block; When the chrominance component intra prediction mode indicates to use the reconstructed block of the luminance component of the currently decoded block to determine the predicted value of the chrominance component of the current decoded block, determine according to the luminance component intra prediction mode The prediction block of the chrominance component of the currently decoded block.
  • the determining the prediction block of the chrominance component of the current decoding block according to the luma component intra prediction mode includes: determining the current decoding according to the luma component intra prediction mode The reference prediction block of the chrominance component of the block; filtering the reference prediction block of the chrominance component of the currently decoded block to obtain the prediction block of the chrominance component of the currently decoded block.
  • the device may determine that the chrominance component intra prediction mode indicates that the luminance component of the current decoded block is used to determine the intra prediction mode when the luminance component intra prediction mode is determined to be the preset intra prediction mode. Describe the chrominance component of the currently decoded block.
  • the preset intra prediction mode is a brightness component intra prediction mode in a preset direction, and the preset direction includes but is not limited to the horizontal direction (for example: along the X axis in the two-dimensional rectangular coordinate system XoY as shown in FIG. ), the vertical direction (for example: along the negative direction of the Y axis in the two-dimensional rectangular coordinate system XoY as shown in Figure 1).
  • the filtering the reference prediction block of the chrominance component of the currently decoded block includes: using a third filter to filter the reference prediction block of the chrominance component of the currently decoded 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 reference prediction block for the chrominance component.
  • the filter used to filter 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:
  • a prediction block P c is equal to the chroma component of the current chrominance component pixel Forecast sample.
  • 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 :
  • x, y coordinates of the current pixel P 'c is a predicted sample pixel prediction reference block of the chrominance component
  • P c is the chroma component of the current pixel block prediction in the chroma component Sample of predictions.
  • the determining the reference prediction block of the chrominance component of the currently decoded block according to the luma component intra prediction mode includes: determining the current prediction block according to the luma component intra prediction mode The reconstruction block of the luminance component of the decoded block; and the reference prediction block of the chrominance component of the currently decoded block is determined according to the reconstructed block of the luminance component of the currently decoded block.
  • the size of the reference prediction block of the chrominance component is the same as the size of the reconstructed block of the luminance component.
  • the reconstruction block of the luminance component and the reference prediction block of the chrominance component in the prediction process as shown in FIG. 8 are both 8*8 pixel arrays.
  • the determining the reference prediction block of the chrominance component of the current decoded block according to the reconstructed block of the luminance component of the current decoded block includes: determining to use the luminance component of the current decoded block A linear model for cross-component prediction is performed on the reconstruction block of the reconstruction block; the reconstruction block of the luminance component is calculated according to the linear model to obtain the reference prediction block of the chrominance component of the currently decoded block.
  • the linear model may be, for example, the linear model of the aforementioned formula (1) or (2)(3).
  • the determining a linear model for cross-component prediction using a reconstructed block of the luminance component of the current decoded block includes: determining a reference pixel used to calculate the linear model, and the reference pixel includes At least one neighboring pixel of the current decoding block; calculating the linear model according to the reference pixel.
  • the selection of the reference pixels used to calculate the linear model can be extended to adjacent pixels on the lower left, left, upper left, upper, and upper right sides of the current decoding block.
  • the determining the reference pixels used to calculate the linear model includes: according to the available information of the reconstructed samples of the neighboring pixels of the current decoding block and the chrominance component intra prediction mode To determine the reference pixels used to calculate the linear model.
  • the chrominance component intra prediction mode of the currently decoded block includes any one of TSCPM_T, TSCPM_L, MCPM_T, and MCPM_L.
  • the available information specifically includes available on both sides and available on one side (for example: available on the left side and available on the right side). 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 the reconstructed samples of the neighboring pixels and the chrominance component intra prediction mode.
  • the determining the reference pixel used to calculate the linear model includes: determining the luminance component intra prediction mode with the optimal rate-distortion cost of the adjacent decoding block of the current decoding block The reference pixel used to calculate the linear model.
  • the intra-frame prediction mode with the optimal rate-distortion cost of the luminance component of the adjacent decoded block may be the same as or different from the intra-frame prediction mode with the optimal rate-distortion cost of the luminance component of the current decoded block.
  • Step 230 Perform predictive correction on the prediction block of the chrominance component of the currently decoded block to obtain the corrected prediction block of the chrominance component of the currently decoded block.
  • the performing prediction and correction on the prediction block of the chrominance component of the currently decoded block includes: determining a filter according to the chrominance component intra prediction mode; and using the filter to perform The prediction block of the chrominance component of the currently decoded block undergoes prediction correction.
  • the filtering direction of the filter is orthogonal to the direction of the neighboring pixels of the linear model used by the chrominance component intra prediction mode to calculate the linear model relative to the current coding block, and the correlation of the neighboring pixels of the boundary in the orthogonal direction can be integrated.
  • the predictive sample of the chrominance component of each pixel is predicted.
  • the determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_T or MCPM_T or a normal intra vertical angle prediction mode, The filter is set as the first filter.
  • the first filter is used to determine the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the currently decoded block and the prediction block of the chrominance component of the current decoded block.
  • the pixel area is filtered.
  • the first filter includes a first two-tap filter; the first two-tap filter includes:
  • x, y are the coordinates of the current pixel
  • the value of x does not exceed the wide value range of the current decoded block
  • the value of y does not exceed the high value range of the current decoded block
  • P'(x,y) is the current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • f(x) Is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between.
  • the determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is TSCPM_L or MCPM_L or a normal intra horizontal angle prediction mode, The filter is set as a second filter.
  • the second filter is used to determine the pixel area adjacent to the upper boundary of the prediction block of the chrominance component of the current decoded block and the prediction block of the chrominance component of the current decoded block.
  • the pixel area is filtered.
  • the second filter includes a second two-tap filter; the second two-tap filter includes:
  • 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 current
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the vertical filter coefficient is determined by a second parameter set, and the second parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and the pixel P(x,- 1) The distance between.
  • the value of the above-mentioned vertical filter coefficient is related to the size of the chrominance component of the current decoded block and the distance between the predicted pixel in the prediction block of the current chrominance component and the adjacent pixel on the left.
  • the selection of the above-mentioned filter coefficients is related to the size of the chroma component, divided into different filter coefficient groups according to the size of the prediction block of the chroma component of the current decoded block, and selected according to the size of the prediction block of the current chroma component The corresponding filter coefficient group.
  • the selection of the above-mentioned vertical filter coefficient is related to the distance between the predicted pixel and the upper adjacent pixel. The distance from the currently predicted pixel to the upper adjacent pixel is used as the index value, and the corresponding filter coefficient is selected from the corresponding filter coefficient group .
  • the specific intra-frame chroma prediction filter coefficients are shown in Table 1.
  • the filter coefficients of this technology can use coefficient truncation to reduce coefficient storage, that is, the filter coefficients of all pixels whose distance from the currently predicted pixel to the upper adjacent pixel is greater than 10 are the same.
  • the device can further calculate the reconstructed block of the color component, and determine the reconstruction block of the current decoded block according to the reconstructed block of the chrominance component and the reconstructed block of the luminance component. Construct an image.
  • the determining the filter according to the chroma component intra prediction mode includes: when the chroma component intra prediction mode is a normal intra non-angle prediction mode, the filter setting It is the third filter.
  • the third filter is used to predict the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the current decoded block and the chrominance component of the current decoded block.
  • the pixel area adjacent to the upper boundary of the block and the pixel area of the prediction block of the chrominance component of the currently decoded block are filtered.
  • the third filter includes a first three-tap filter
  • the first three-tap filter includes:
  • 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 current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between;
  • the vertical filter coefficient is determined by a second parameter set, and 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).
  • the scheme of the present application uses the spatial correlation between the adjacent coding block and the current coding block to correct the chroma of the current coding block in the chroma component intra prediction mode. Prediction samples of components to improve prediction accuracy and decoding efficiency.
  • the performing prediction correction on the prediction block of the chrominance component of the currently decoded block includes: parsing the code stream to obtain a chrominance correction flag bit; and determining the chrominance correction flag bit
  • the numerical value is a first numerical value, and the first numerical value is used to indicate that a filter is used to perform the prediction correction; the prediction correction is performed 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.
  • the method further includes: determining that the value of the chrominance correction flag bit is a second value, and the second value is used to indicate that a filter is not used to perform the prediction correction.
  • the chrominance correction flag bit and the brightness correction flag bit are shared. No additional identification bits are added, saving the transmission code stream.
  • the chromaticity correction flag is used independently.
  • the instructions are clearer and more efficient.
  • the proposed technology is implemented on the AVS reference software HPM6.0, and the full-frame intra mode and random access mode are tested in a 1-second sequence under the general test conditions and the video sequence.
  • the specific performance is shown in Table 2 and Table 3.
  • the UV component of the test sequence has an average performance gain.
  • the U component has an average coding performance improvement of 0.71% under the AI test condition, and the V component has an average 1.35% code under the RA test condition. Performance improvement.
  • An embodiment of the present application provides an image encoding device, and the image encoding device may be a video decoder or a video encoder. Specifically, the image encoding device is used to perform the steps performed by the video decoder in the above decoding method.
  • the image encoding device provided in the embodiment of the present application may include modules corresponding to corresponding steps.
  • the embodiment of the present application may divide the image encoding device into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software function modules.
  • the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 14 shows a possible schematic structural diagram of the image encoding device involved in the foregoing embodiment.
  • the image encoding device 14 includes a division unit 140, a determination unit 141, and a correction unit 142.
  • the dividing unit 140 is configured to divide an image and determine the intra prediction mode of the chrominance component of the current coding block;
  • the determining unit 141 is configured to determine the prediction block of the chrominance component of the current coding block according to the chrominance component intra prediction mode;
  • 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.
  • the correction unit 142 is specifically configured to determine the filter according to the chrominance component intra prediction mode And using the filter to predict and correct the prediction block of the chrominance component of the current coding block.
  • the correction unit 142 is specifically configured to: when the chroma component intra prediction mode is two-step cross-component prediction In the mode TSCPM_T or multiple cross-component prediction modes MCPM_T or normal intra-vertical angle prediction mode, the filter is set as the first filter.
  • the first filter is used to detect the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the current coding block and the prediction block of the chrominance component of the current coding block.
  • the pixel area is filtered.
  • the first filter includes a first two-tap filter
  • the first two-tap filter includes:
  • 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 current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • f(x) Is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between.
  • the correction unit 142 is specifically configured to: when the chroma component intra prediction mode is TSCPM_L or MCPM_L or normal In the intra-frame horizontal angle prediction mode, the filter is set as the second filter.
  • the second filter is used to determine the pixel area adjacent to the upper boundary of the prediction block of the chrominance component of the current coding block and the prediction block of the chrominance component of the current coding block.
  • the pixel area is filtered.
  • the second filter includes a second two-tap filter
  • the second two-tap filter includes:
  • 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 current
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the vertical filter coefficient is determined by a second parameter set, and the second parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and the pixel P(x,- 1) The distance between.
  • the correction unit 142 is specifically configured to: when the chroma component intra prediction mode is a normal intra non-angle In the prediction mode, the filter is set as the third filter.
  • the third filter is used to predict the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the current coding block and the chrominance component of the current coding block.
  • the pixel area adjacent to the upper boundary of the block and the pixel area of the prediction block of the chrominance component of the current coding block are filtered.
  • the third filter includes a first three-tap filter
  • the first three-tap filter includes:
  • 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 current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between;
  • the vertical filter coefficient is determined by a second parameter set, and 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).
  • the correcting unit 142 is specifically configured to calculate the uncorrected first coding block of the current coding block.
  • the prediction block of the chrominance component is predicted and corrected.
  • the correcting unit 142 is specifically configured to calculate the uncorrected first coding block of the current coding block.
  • the determining unit 141 is further configured to determine that the first rate-distortion cost is less than or equal to the second rate-distortion cost, set the chroma correction flag to a second value, and The second value is used to indicate that the prediction correction is not required.
  • the chromaticity correction flag and the brightness correction flag are shared.
  • the chromaticity correction flag is used independently.
  • the determining unit 141 is specifically configured to determine the current coding The luma component intra prediction mode of the block; and when the chroma component intra prediction mode indicates to use the luma component of the current encoding block to determine the prediction value of the chroma component of the current encoding block, according to the luma component
  • the intra-frame prediction mode determines the prediction block of the chrominance component of the current coding block.
  • the determining unit 141 is specifically configured to, according to the luma component frame Intra prediction mode, determining the reference prediction block of the chrominance component of the current coding block; and 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 .
  • the determining unit 141 is specifically configured to use a third filter to determine the color of the current coding block.
  • the reference prediction block of the degree component is filtered.
  • the third filter includes a filter for filtering the left boundary pixel area of the reference prediction block of the chrominance component and a reference prediction block for the chrominance component.
  • the filter used to filter 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:
  • a prediction block P c is equal to the chroma component of the current chrominance component pixel Forecast sample.
  • the filter used to filter 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:
  • x, y coordinates of the current pixel P 'c is a predicted sample pixel prediction reference block of the chrominance component
  • P c is the chroma component of the current pixel block prediction in the chroma component Sample of predictions.
  • the determining unit 141 is specifically configured to: Intra-frame prediction mode, determining the reconstruction block of the luminance component of the current coding block; and determining the reference prediction block of the chrominance component of the current coding block according to the reconstruction block of the luminance component of the current coding block.
  • the determining unit 141 is specifically configured to determine Use the reconstruction block of the luminance component of the current coding block to perform a linear model for cross-component prediction; and calculate the reconstruction block of the luminance component according to the linear model to obtain the reference prediction of the chrominance component of the current coding block piece.
  • the determining unit 141 is specifically configured to determine the linear model used to calculate the linear model.
  • the reference pixel includes at least one adjacent pixel of the current coding block; and the linear model is calculated according to the reference pixel.
  • the determining unit 141 is specifically configured to, according to the available information of the reconstructed samples of the neighboring pixels of the current coding block and The chrominance component intra prediction mode determines a reference pixel used to calculate the linear model.
  • the determining unit 141 is specifically configured to: according to the rate-distortion cost of the adjacent encoding block of the current encoding block, the optimal rate-distortion cost Intra-prediction mode of the luminance component of, determines the reference pixel used to calculate the linear model.
  • the determining unit 141 is specifically configured to: The available information of reconstructed samples of adjacent pixels of the block and the chrominance component intra prediction mode are determined, a reference pixel is determined; and the prediction block of the chrominance component of the current coding block is determined according to the reference pixel.
  • the image encoding device provided by the embodiment of the present application includes but is not limited to the above-mentioned modules.
  • the image encoding device may further include a storage unit 143.
  • the storage unit 143 may be used to store the program code and data of the image encoding device.
  • the image encoding device 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 encoding device, for example, to execute the steps performed by the dividing unit 140, the determining unit 141, and the correcting unit 142, and/or to perform other processes of the technology described herein.
  • the communication module 151 is used to support the interaction between the image encoding device and other devices.
  • the image encoding device may further include a storage module 152, which is used to store the program code and data of the image encoding device, for example, to store the content saved by the storage unit 143 described above.
  • the processing module 150 may be a processor or a controller, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an ASIC, an FPGA, or other programmable processors. Logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logical blocks, modules, and circuits described in conjunction with the disclosure of this application.
  • the processor may also be a combination for realizing computing functions, for example, including a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
  • the communication module 151 may be a transceiver, an RF circuit, a communication interface, or the like.
  • the storage module 152 may be a memory.
  • the image encoding device 14 and the image encoding device 15 described above can both execute the image encoding method shown in FIG. 12A.
  • the image encoding device 14 and the image encoding device 15 may specifically be video image encoding devices or other devices with video encoding functions.
  • the application also provides a video encoder, including a non-volatile storage medium, and a central processing unit, the non-volatile storage medium stores an executable program, the central processing unit and the non-volatile storage The media is connected, and the executable program is executed to implement the image encoding method of the embodiment of the present application.
  • An embodiment of the present application provides an image decoding device, and the image decoding device may be a video decoder or a video decoder. Specifically, the image decoding device is used to execute the steps performed by the video decoder in the above decoding method.
  • the image decoding device provided in the embodiment of the present application may include modules corresponding to corresponding steps.
  • the embodiment of the present application may divide the image decoding apparatus into functional modules according to the foregoing method examples.
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software function modules.
  • the division of modules in the embodiments of the present application is illustrative, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 16 shows a possible schematic diagram of the structure of the image decoding device involved in the foregoing embodiment.
  • the image decoding device 16 includes an analysis unit 160, a determination unit 161, and a correction unit 162.
  • the parsing unit 160 is configured to analyze the code stream and determine the intra prediction mode of the chrominance component of the currently decoded block;
  • the determining unit 161 is configured to determine the prediction block of the chrominance component of the currently decoded block according to the chrominance component intra prediction mode;
  • the correction unit 162 is configured to perform prediction correction on the prediction block of the chrominance component of the currently decoded block to obtain the corrected prediction block of the chrominance component of the currently decoded block.
  • the correction unit 162 is specifically configured to: determine the filter according to the chrominance component intra prediction mode And using the filter to predict and modify the prediction block of the chrominance component of the currently decoded block.
  • the correction unit 162 is specifically configured to: when the chroma component intra prediction mode is TSCPM_T or MCPM_T or normal In the intra-frame vertical angle prediction mode, the filter is set as the first filter.
  • the first filter is used to compare the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the currently decoded block and the prediction block of the chrominance component of the current decoded block.
  • the pixel area is filtered.
  • the first filter includes a first two-tap filter
  • the first two-tap filter includes:
  • x, y are the coordinates of the current pixel
  • the value of x does not exceed the wide value range of the current decoded block
  • the value of y does not exceed the high value range of the current decoded block
  • P'(x,y) is the current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • f(x) Is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between.
  • the determining a filter according to the chrominance component intra prediction mode includes:
  • the filter is set as the second filter.
  • the second filter is used to compare the pixel area adjacent to the upper boundary of the prediction block of the chrominance component of the currently decoded block and the prediction block of the chrominance component of the current decoded block.
  • the pixel area is filtered.
  • the second filter includes a second two-tap filter
  • the second two-tap filter includes:
  • 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 current
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the vertical filter coefficient is determined by a second parameter set, and the second parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(x,- 1) The distance between.
  • the correction unit 162 is specifically configured to: when the chroma component intra prediction mode is a normal intra non-angle In the prediction mode, the filter is set as the third filter.
  • the third filter is used to predict the pixel area adjacent to the left boundary of the prediction block of the chrominance component of the current decoded block and the chrominance component of the current decoded block.
  • the pixel area adjacent to the upper boundary of the block and the pixel area of the prediction block of the chrominance component of the currently decoded block are filtered.
  • the third filter includes a first three-tap filter
  • the first three-tap filter includes:
  • 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 current
  • P(-1, y) is the reconstructed sample of the pixel adjacent to the left boundary in the y row
  • P(x, -1) is the reconstructed sample of the pixel adjacent to the upper boundary in the X column
  • f(x) is the horizontal filter coefficient of the pixel (x, y) reference pixel P(-1, y)
  • f(y) Is the vertical filter coefficient of the pixel (x, y) reference pixel P(x, -1)
  • P(x, y) is the original prediction sample of the pixel (x, y).
  • the horizontal filter coefficient is determined by a first parameter set, and the first parameter set includes the size of the prediction block of the chrominance component and the pixel (x, y) and pixel P(-1, y) the distance between;
  • the vertical filter coefficient is determined by a second parameter set, and 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).
  • the correction unit 162 is specifically configured to: parse the code stream to obtain a chrominance correction flag bit And determining that the value of the chrominance correction flag bit is a first value, the first value being used to indicate the use of a filter to perform the prediction correction; and to predict the prediction block of the chrominance component of the currently decoded block Fix.
  • the determining unit 161 is further configured to determine that the value of the chrominance correction flag bit is a second value, and the second value is used to indicate that a filter is not used to perform the prediction correction.
  • the chrominance correction flag bit and the brightness correction flag bit are shared.
  • the chromaticity correction flag is used independently.
  • the determining unit 161 is specifically configured to determine the current decoding The luma component intra prediction mode of the block; and when the chroma component intra prediction mode indicates to use the luma component of the currently decoded block to determine the predicted value of the chroma component of the currently decoded block, according to the luma component
  • the intra prediction mode determines the prediction block of the chrominance component of the currently decoded block.
  • the determining unit 161 is specifically configured to: according to the luma component frame Intra prediction mode, determining the reference prediction block of the chrominance component of the currently decoded block; and filtering the reference prediction block of the chrominance component of the currently decoded block to obtain the prediction block of the chrominance component of the currently decoded block .
  • the determining unit 161 is specifically configured to: use a third filter to determine the color of the current decoded block.
  • the reference prediction block of the degree component is filtered.
  • the third filter includes a filter for filtering the left boundary pixel area of the reference prediction block of the chrominance component and a reference prediction block for the chrominance component.
  • the filter used to filter 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:
  • a prediction block P c is equal to the chroma component of the current chrominance component pixel Forecast sample.
  • the filter used to filter 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:
  • x, y coordinates of the current pixel P 'c is a predicted sample pixel prediction reference block of the chrominance component
  • P c is the chroma component of the current pixel block prediction in the chroma component Sample of predictions.
  • the determining unit 161 is specifically configured to: according to the luminance component The intra-frame prediction mode determines the reconstructed block of the luminance component of the currently decoded block; and determines the reference prediction block of the chrominance component of the currently decoded block according to the reconstructed block of the luminance component of the currently decoded block.
  • the determining unit 161 is specifically configured to: determine Use the reconstructed block of the luminance component of the current decoded block to perform a linear model for cross-component prediction; and calculate the reconstructed block of the luminance component according to the linear model to obtain the reference prediction of the chrominance component of the current decoded block piece.
  • the determining unit 161 is specifically configured to: determine the linear model used to calculate the linear model
  • the reference pixel includes at least one adjacent pixel of the currently decoded block; and the linear model is calculated according to the reference pixel.
  • the determining unit 161 is specifically configured to: according to the available information of reconstructed samples of neighboring pixels of the current decoding block and The chrominance component intra prediction mode determines a reference pixel used to calculate the linear model.
  • the determining unit 161 is specifically configured to: according to the optimal rate-distortion cost of the adjacent decoded block of the current decoded block Intra-prediction mode of the luminance component of, determines the reference pixel used to calculate the linear model.
  • the determining unit 161 is specifically configured to: The available information of reconstructed samples of adjacent pixels of the block and the chrominance component intra prediction mode are used to determine a reference pixel; and the prediction block of the chroma component of the currently decoded block is determined according to the reference pixel.
  • the image decoding device provided by the embodiment of the present application includes but is not limited to the above-mentioned modules.
  • the image decoding device may further include a storage unit 163.
  • the storage unit 163 may be used to store the program code and data of the image decoding device.
  • 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, to execute the steps performed by the analyzing unit 160, the determining unit 161, and the correcting unit 162, and/or to perform other processes of the technology described herein.
  • the communication module 171 is used to support the interaction between the image decoding device and other devices.
  • the image decoding device may further include a storage module 172, which is used to store the program code and data of the image decoding device, for example, store the content saved by the storage unit 163 described above.
  • the processing module 170 may be a processor or a controller, for example, a central processing unit (CPU), a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an ASIC, an FPGA, or other programmable processors. Logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logical blocks, modules, and circuits described in conjunction with the disclosure of this application.
  • the processor may also be a combination for realizing computing functions, for example, including a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and so on.
  • the communication module 171 may be a transceiver, an RF circuit, a communication interface, or the like.
  • the storage module 172 may be a memory.
  • Both the image decoding device 16 and the image decoding device 17 can execute the image decoding method shown in FIG. 13.
  • the image decoding device 16 and the image decoding device 17 may specifically be video image decoding devices or other devices with video decoding functions.
  • the present application also provides a video decoder, including a non-volatile storage medium, and a central processing unit, the non-volatile storage medium stores an executable program, the central processing unit and the non-volatile storage The media is connected, and the executable program is executed to implement the image decoding method in the embodiment of the present application.
  • the present application also provides a terminal, which includes: one or more processors, memories, and communication interfaces.
  • the memory and the communication interface are coupled with one or more processors; the memory is used to store computer program codes, and the computer program codes include instructions.
  • the terminal executes the image encoding and/ Or image decoding method.
  • the terminals here can be video display devices, smart phones, portable computers, and other devices that can process or play videos.
  • Another embodiment of the present application further provides a computer-readable storage medium.
  • the computer-readable storage medium includes one or more program codes, and the one or more programs include instructions.
  • the processor in the decoding device is executing the program
  • the decoding device executes the image encoding method and image decoding method in the embodiments of the present application.
  • a computer program product in another embodiment of the present application, includes computer-executable instructions stored in a computer-readable storage medium; at least one processor of the decoding device can be downloaded from the computer
  • the readable storage medium reads the computer-executed instruction, and at least one processor executes the computer-executed instruction to enable the terminal to implement the image encoding method and the image decoding method in the embodiments of the present application.
  • the above embodiments it may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • a software program it can appear in the form of a computer program product in whole or in part.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • 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.
  • the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
  • wired such as coaxial cable, optical fiber, digital subscriber line (DSL)
  • wireless such as infrared, wireless, microwave, etc.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • the disclosed device and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules or units is only a logical function division.
  • there may be other division methods for example, multiple units or components may be It can be combined or integrated into another device, or some features can be omitted or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate parts may or may not be physically separate.
  • the parts displayed as units may be one physical unit or multiple physical units, that is, they may be located in one place, or they may be distributed to multiple different places. . Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • 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.
  • the technical solutions of the embodiments of the present application are essentially or the part that contributes to the existing technology, or all or part of the technical solutions can be embodied in the form of a software product, and the software product is stored in a storage medium. It includes several instructions to make a device (may be a single-chip microcomputer, a chip, etc.) or a processor (processor) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code .

Abstract

本申请实施例公开了一种图像编码方法、图像解码方法及相关装置,图像解码方法包括:划分图像,确定当前编码块的色度分量帧内预测模式;根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块;对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。本申请实施例在色度分量帧内预测模式中,利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和编码效率。

Description

图像编码方法、图像解码方法及相关装置 技术领域
本申请涉及电子设备技术领域,具体涉及一种图像编码方法、图像解码方法及相关装置。
背景技术
数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(personal digital assistant,PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置、视频流装置等等。
数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(advanced video coding,AVC)、ITU-TH.265高效率视频编解码(high efficiency video coding,HEVC)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射及接收数字视频信息。视频装置可通过实施这些视频编解码技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。
随着互联网视频的激增,尽管数字视频压缩技术不断演进,但仍然对视频压缩比提出更高要求。
发明内容
本申请实施例提供了一种图像编码方法、图像解码方法及相关装置,以期利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和编码效率。
第一方面,本申请实施例提供一种图像编码方法,包括:划分图像,确定当前编码块的色度分量帧内预测模式;根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块;对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。
相比于现有技术,本申请方案在色度分量帧内预测模式中,利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和编码效率。
第二方面,本申请实施例提供一种图像解码方法,包括:解析码流,确定当前解码块的色度分量帧内预测模式;根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块;对所述当前解码块的色度分量的预测块进行预测修正,得到所述当前解码块的色度分量的修正后的预测块。
相比于现有技术,本申请方案在色度分量帧内预测模式中,利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和解码效率。
第三方面,本申请实施例提供一种图像编码装置,包括:
划分单元,用于划分图像,确定当前编码块的色度分量帧内预测模式;
确定单元,用于根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块;
修正单元,用于对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。
第四方面,本申请实施例提供一种图像解码装置,包括:
解析单元,用于解析码流,确定当前解码块的色度分量帧内预测模式;
确定单元,用于根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块;
修正单元,用于对所述当前解码块的色度分量的预测块进行预测修正,得到所述当前解码块的色度分量的修正后的预测块。
第五方面,本申请实施例提供了一种编码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第一方面所述的方法。
第六方面,本申请实施例提供了一种解码器,包括:处理器和耦合于所述处理器的存储器;所述处理器用于执行上述第二方面所述的方法。
第七方面,本申请实施例提供了一种终端,所述终端包括:一个或多个处理器、存储器和通信接口;所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,当所述一个或多个处理器执行所述指令时,所述终端执行如第一方面或第二方面所述的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
第九方面,本申请实施例提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中编码树单元的一种示意性框图;
图2为本申请实施例中颜色格式的一种示意性框图;
图3为本申请实施例中CTU和编码单元CU的一种示意性框图;
图4为本申请实施例中的编码单元的关联像素一种示意性框图;
图5A为本申请实施例中亮度分量帧内预测模式的一种示意性框图;
图5B为本申请实施例中色度分量普通帧内预测模式的示意图;
图6为本申请实施例中用于线性模型的系数的计算的相邻像素的一种示意性框图;
图7为本申请实施例中降采样滤波器的一种示意性框图;
图8为本申请实施例中从亮度分量重构块到色度分量预测块变化的一种示意性框图;
图9为本申请实施例中视频译码系统的一种示意性框图;
图10为本申请实施例中视频编码器的一种示意性框图;
图11为本申请实施例中视频解码器的一种示意性框图;
图12A为本申请实施例中一种图像编码方法的流程示意图;
图12B为本申请实施例中一种水平方向的降采样过程的示意图;
图12C为本申请实施例中一种垂直方向的降采样过程的示意图;
图12D为本申请实施例中一种双方向的降采样过程的示意图;
图13为本申请实施例中一种图像解码方法的流程示意图;
图14为本申请实施例中图像编码装置的一种功能单元框图;
图15为本申请实施例中图像编码装置的另一种功能单元框图;
图16为本申请实施例中图像解码装置的一种功能单元框图;
图17为本申请实施例中图像解码装置的另一种功能单元框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受 这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
首先介绍一下本申请实施例中用到的
术语和相关技术。
对于图像的划分,为了更加灵活的表示视频内容,高效率视频编解码(High Efficiency Video Coding standard,HEVC)技术中定义了编码树单元(coding tree unit,CTU)、编码单元(Coding Unit,CU)、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)。CTU、CU、PU和TU均为图像块。
编码树单元CTU,一幅图像由多个CTU构成,一个CTU通常对应于一个方形图像区域,包含这个图像区域中的亮度像素和色度像素(或者也可以只包含亮度像素,或者也可以只包含色度像素);CTU中还包含语法元素,这些语法元素指示如何将CTU划分成至少一个编码单元(coding unit,CU),以及解码每个编码单元得到重建图像的方法。如图1所示,图像10由多个CTU构成(包括CTU A、CTU B、CTU C等)。与某一CTU对应的编码信息包含与该CTU对应的方形图像区域中的像素的亮度值和/或色度值。此外,与某一CTU对应的编码信息还可以包含语法元素,这些语法元素指示如何将该CTU划分成至少一个CU,以及解码每个CU以得到重建图像的方法。一个CTU对应的图像区域可以包括64×64、128×128或256×256个像素。在一个示例中,64×64个像素的CTU包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。CTU也可以对应矩形图像区域或者其它形状的图像区域,一个CTU对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64×128个像素。
编码单元CU,通常对应于图像中一个A×B的矩形区域,包含A×B亮度像素或/和它对应的色度像素,A为矩形的宽,B为矩形的高,A和B可以相同也可以不同,A和B的取值通常为2的整数次幂,例如128、64、32、16、8、4。其中,本申请实施例中涉及到的宽是指图1示出的二维直角坐标系XoY中沿X轴方向(水平方向)的长度,高是指图1示出的二维直角坐标系XoY中沿Y轴方向(竖直方向)的长度。一个CU的重建图像可以通过预测图像与残差图像相加得到,预测图像通过帧内预测或帧间预测生成,具体可以由一个或多个预测块(prediction block,PB)构成,残差图像通过对变换系数进行反量化和反变换处理生成,具体可以由一个或多个变换块(transform block,TB)构成。具体的,一个CU包含编码信息,编码信息包括预测模式、变换系数等信息,按照这些编码信息对CU进行相应的预测、反量化、反变换等解码处理,产生这个CU对应的重建图像。
预测单元PU,是帧内预测、帧间预测的基本单元。定义图像块的运动信息包含帧间预测方向、参考帧、运动矢量等,正在进行编码处理的图像块称为当前编码块(current coding block,CCB),正在进行解码处理的图像块称为当前解码块(current decoding block,CDB),例如正在对一个图像块进行预测处理时,当前编码块或者当前解码块为预测块;正在对一个图像块进行残差处理时,当前编码块或者当前解码块为变换块。当前编码块或当前解码块所在的图像称为当前帧。当前帧中,位于当前块的左侧或上侧的图像块可能处于当前帧内部并且已经完成了编码/解码处理,得到了重建图像,它们称为重建块;重建块的编码模式、重建像素等信息是可以获得的(available)。在当前帧进行编码/解码之前已经完成编码/解码处理的帧称为重建帧。当前帧为单向预测帧(P帧)或双向预测帧(B帧)时,它分别具有一个或两个参考帧列表,两个列表分别称为L0和L1,每个列表中包含至少一个重建帧,称为当前帧的参考帧。参考帧为当前帧的帧间预测提供参考像素。
变换单元TU,对原始图像块和预测图像块的残差进行处理。
像素(又称为像素点),是指图像中的像素点,如编码单元中的像素点、亮度分量像素块中的像素点(又称为亮度像素)、色度分量像素块中的像素点(又称为色度像素)等。
样本(又称为像素值),是指像素点的像素值,该像素值在亮度分量域具体是指亮度(即灰阶值), 该像素值在在色度分量域具体是指色度值(即色彩和饱和度),按照处理阶段的不同,一个像素的样本具体包括原始样本、预测样本和重构样本。
帧内预测,根据当前块的空间相邻像素,产生当前块的预测图像。一种帧内预测模式对应于一种生成预测图像的方法。帧内预测单元的划分包括2N×2N划分方式和N×N划分方式,2N×2N划分方式为对图像块不进行划分;N×N划分方式为将图像块划分为四个等大的子图像块。
通常,数字视频压缩技术作用于颜色编码方法为YCbCr,也可称为YUV,颜色格式为4:2:0、4:2:2或4:4:4的视频序列。其中,Y表示明亮度(Luminance或Luma),也就是灰阶值,Cb表示蓝色色度分量,Cr表示红色色度分量,U和V表示色度(Chrominance或Chroma),用于描述色彩及饱和度。在颜色格式上,4:2:0表示每4个像素有4个亮度分量,2个色度分量(YYYYCbCr),4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),而4:4:4表示全像素显示(YYYYCbCrCbCrCbCrCbCr),图2展示了不同颜色格式下的各分量分布图,其中圆形为Y分量,三角形为UV分量。
在数字视频编码过程中,编码器对不同颜色格式的原始视频序列读取像素并编码。一般数字编码器中通常包含,预测、变换与量化、反变换与反量化、环路滤波以及熵编码等,用于消除空间、时间、视觉以及字符冗余等。然而人眼对亮度分量的变化更为敏感,而对色度分量变化并没有强烈的反应,因此在原始视频序列中一般采用YUV 4:2:0的颜色格式进行编码。同时,数字视频编码器在帧内编码部分对亮度分量和色度分量采取不同的预测过程,亮度分量的预测更为细致和复杂,而色度分量的预测则通常比较简单。跨分量预测(Cross Component Prediction,CCP)模式是现有数字视频编里的一种作用于亮度分量和色度分量以提高视频压缩比的技术。
跨分量预测模式具体实施过程作用于帧内编码中,该方法包括使用亮度块(Luminance Block)的训练样本来确定用于预测色度块(Chrominance Block)的线性模型(Linear Model),以及使用亮度块的样本和线性模型来确定色度块的样本。其中,亮度块和色度块为编码单元在亮度分量和色度分量中的像素块,数字视频编码器通常会将原始视频序列读取成一帧一帧的图像并将图像分割成编码树单元CTU,而编码树单元又可继续划分为不同与相同大小的编码单元CU,具体编码过程在不同分量的编码单元中进行,编码树单元与编码单元关系如图3所示。
跨分量预测(CCP)的实例:在最新视频编解码(Versatile Video Coding,VVC)标准中,使用跨分量线性模型(Cross Component Linear Model,CCLM)来减少分量之间的冗余。其线性模型通过当前编码单元的亮度分量的原始像素块的相邻像素的原始样本与重构样本训练得到,该相邻像素的样本信息包括当前编码单元的亮度分量的原始像素块的上侧相邻像素的原始样本与重构样本,当前编码单元的亮度分量的原始像素块的右上侧毗邻像素的原始样本与重构样本,当前编码单元的亮度分量的原始像素块的左侧相邻像素的原始样本与重构样本,当前编码单元亮度分量的原始像素块的左下侧毗邻像素的原始样本与重构样本。图4分别展示了颜色格式YUV4:2:0之下的一个8x8的亮度分量的原始像素块与相邻像素、以及4x4的色度分量的原始预测像素块与相邻像素的位置关系示例。
在当前编码单元中,色度分量预测块中像素的预测样本由当前编码单元的亮度分量的原始像素块中的像素的重构样本经过线性模型计算并降采样得到,其中,线性模型计算过程表示如下:
Pred C(i,j)=α·Rec L(i,j)+β  (1)
其中,(i,j)为像素的坐标,i具体是指当前编码单元的色度分量的预测块的横坐标,其范围为[0,width-1],步长为1,width为当前编码单元的色度分量的预测块的宽度,其取值可为4,8,16及32;j具体是指当前编码单元的色度分量的预测块的纵坐标,其范围为[0,height-1],步长为1,height为当前编码单元的色度分量的预测块的高度,其取值可为4,8,16及32,Rec L为亮度分量的原始像素块中的像素的重构样本,Pred c为色度分量的预测块中像素的预测样本,α、β为线性模型的系数。
在VVC的CCLM技术中,包含有LM、LM_L及LM_A模式。其中,LM_L仅使用左侧相邻样本计算线性模型,而LM_A仅使用上侧相邻样本计算线性模型。
在另一跨分量预测实例中,中国数字音视频编解码标准(Audio Video coding Standard,AVS)最新采纳的跨分量技术提案M4612,两步跨分量预测模式(Two Step Cross-component Prediction Mode,TSCPM)。在编码过程中,如图5A所示,帧内编码亮度分量计算最多65个帧内预测模式(Intra Prediction mode),DC表示均值模式,Plane表示平面模式,Bilinear表示双线性模式,Zone表示区域。根据码率失真(Rate Distortion)代价选出最优结果并传输该帧内预测模式和相应预测残差等。当前编码单元里帧内编码色度分量进行最多11个色度分量帧内预测模式的计算,其中包括参考单一色度分量信息的5种色度分量帧内预测模式的计算和参考多分量信息的6种色度分量帧内预测模式计算,上述参考单一色度分量信息的帧内色度预测模式即为色度分量普通帧内预测模式。
在对色度分量的预测块的像素使用色度分量普通帧内预测模式时,当前色度编码块根据色度分量的相邻预测块的重构样本的可用信息和相对应的色度分量帧内预测模式,计算当前色度编码块的预测样本。不同预测模式选用的相邻预测块的参考像素也不一致,部分预测模式可以直接使用相邻编码块的像素的重构样本计算出预测样本,而部分预测模式需要对相邻编码块的像素的重构样本进行插值,再选定参考像素计算出当前编码块的预测样本。图5B分别展示了一个编码块大小为8X8的帧内预测模式示意图,图中(1)为普通帧内垂直类角度预测模式,此模式采用上侧相邻块的参考像素对当前编码块的预测样本进行计算,(2)为普通帧内水平类角度预测模式,此模式采用左侧相邻块的参考像素对当前编码块的预测样本进行计算,(3)为普通帧内非角度预测模式,此模式同时采用上侧和左侧相邻块的参考像素对当前编码块的预测样本进行计算。
在对色度分量的预测块的像素进行跨分量技术预测时,当前编码单元的亮度分量的原始像素块的相邻像素的重构样本以及当前编码单元的色度分量的原始预测像素块的相邻像素的重构样本被用于线性模型的计算。上述亮度分量的原始像素块的相邻像素包括,当前编码单元的亮度分量的原始像素块的上侧相邻像素以及左侧相邻像素;上述色度分量的预测块的相邻像素包括,当前编码单元色度分量的预测块的上侧相邻像素以及左侧相邻像素。
在选取重构样本作为计算线性模型的系数的参考样本时,结合相邻像素的重构样本的可用性,可以采用上侧相邻像素中两个像素的重构样本与左侧相邻像素中两个像素的重构样本的组合,还可以全部采用上侧相邻像素中四个像素的重构样本,以及全部采用左侧相邻像素中四个像素的重构样本。
根据上述参考样本的选择不同,预测模式包括,若当前编码单元对应的亮度分量的原始像素块和色度分量的原始像素块(为描述方便本端统称为原始像素块)的上侧相邻像素的重构样本和当前编码单元的原始像素块的左侧相邻像素的重构样本可用,且线性模型的系数计算采用的参考样本同时来自上侧和左侧的相邻像素时,或若当前编码单元对应的原始像素块只有上侧相邻像素的重构样本可用,且线性模型系数计算采用的参考样本只选上侧相邻像素的重构样本时,或若当前编码单元对应的原始像素块只有左侧相邻像素的重构样本可用,且线性模型的系数的计算采用的参考样本只选左侧相邻像素的重构样本时,均为TSCPM模式;若当前编码单元对应的原始像素块的上侧相邻像素的重构样本和当前编码单元对应的原始像素块的左侧相邻像素的重构样本可用,且线性模型计算的系数的计算采用的参考样本只选上侧相邻像素的重构样本时,为TSCPM_T模式;若当前编码单元对应的原始像素块的上侧相邻像素的重构样本和当前编码单元对应的原始像素块的左侧相邻像素的重构样本可用,且线性模型的系数的计算采用的参考样本只选上侧相邻像素的重构样本时,为TSCPM_L模式。
上述用于线性模型的系数的计算的参考样本中,如图6所示,若参考样本来自当前编码单元对应的原始像素块的两侧的相邻像素时,则上侧的参考样本选取上侧相邻像素中最左端像素的重构样本与当前编码单元对应的原始像素块的宽度的上侧最右端像素的重构样本,左侧参考样本选取左侧相邻像素中最上端像素的重构样本与当前编码单元对应的原始像素块的高度的左侧相邻像素中最下端像素的重构样本;若用于线性模型的系数的计算的参考样本只来自上侧时,则以当前编码单元对应的原始像素块的宽度的四分之一距离为步长,选取上侧相邻像素中四个连续步长的像素的重构样本;若参考样本只来自左侧时,则以当前编码单元对应的原始像素块的高度的四分之一距离为步长,选取四个左侧相邻像素中四 个连续步长的像素的重构样本。
即可以通过三种方式选取四个亮度分量的相邻像素与四个色度分量的相邻像素。
方式一:当分别从上侧相邻编码块和左侧相邻编码块选取两个相邻像素时,可以通过下式确定选取相邻像素:
minStep=min(Width,Height);
TopIndex=(minStep–1)*Width/minStep;
LeftIndex=(minStep–1)*Height/minStep;
上述式子中,min(x,y)返回x和y的较小值,Width为当前编码块色度分量的宽度,Height为当前编码块色度分量的高度,TopIndex为选取上侧边界相邻像素时除了第一个相邻像素外的另外一个相邻像素的索引值,LeftIndex为选取左侧边界相邻像素时除了第一个相邻像素外的另外一个相邻像素的索引值;
方式二:当只从上侧相邻编码块选取四个相邻像素时,从最左侧第一个相邻像素开始,以当前编码块的色度分量的四分之一宽度为步长,选取四个亮度分量相邻像素及四个色度分量相邻像素;
方式三:当只从左侧相邻编码块选取四个相邻像素时,从最上侧第一个相邻像素开始,以当前编码块色度分量的四分之一高度为步长,选取四个亮度分量相邻像素及四个色度分量相邻像素;
上述具体实例AVS3中,跨分量技术的线性模型计算式与上述式(1)相同,其中α和β可通过以下式子计算得到:
Figure PCTCN2021090909-appb-000001
β=Y Min-α·X Min  (3)
其中,Y Max为用于线性模型的系数的计算的色度分量的原始像素块的多个相邻像素点的重构样本中两个最大重构样本的平均值,Y Min为用于线性模型的系数的计算的色度分量的原始像素块的多个相邻像素点的重构样本中两个最小重构样本的平均值。X Max为用于线性模型的系数的计算的亮度分量的原始像素块的多个相邻像素点的重构样本中的两个最大重构样本的平均值,X Min为用于线性模型的系数的计算的亮度分量的原始像素块的多个相邻像素点的重构样本中的两个最小重构样本的平均值。
根据计算得到的线性模型进行跨分量预测,当前CU的亮度分量重构块被用于生成相对应的色度分量参考预测块(Chroma Reference Prediction Pixel Block)。具体根据式(1)/(2)和(3)计算出当前编码单元的每个像素的色度分量的参考预测样本,该色度分量参考预测块的尺寸与亮度分量的原始像素块的尺寸相同。在具体实例中,输入数字视频颜色格式一般为YUV4:2:0格式,即色度分量预测块的大小为亮度分量的原始像素块的四分之一。为得到相对应的正确大小色度分量预测块,该色度分量参考预测块需要分别对水平和垂直方向进行二分之一降采样,经过降采样之后的色度分量预测块为相对应的亮度分量的原始像素块四分之一,满足颜色格式约束的尺寸要求。其中,上述对色度分量参考预测块进行降采样所采用的滤波器在该色度分量参考预测块的左边界像素区域采用两抽头相同系数的降采样滤波器,而在其他像素区域均采用六抽头两不同系数的降采样滤波器。
六抽头两不同系数的降采样滤波器如式(4)所示。
Figure PCTCN2021090909-appb-000002
其中,x,y为像素的坐标,P’ C为所述当前像素的亮度分量的预测样本,P 1 C和P 2 C为所述当前像素的色度分量的预测样本。
两抽头相同系数的降采样滤波器如式(5)所示。
Figure PCTCN2021090909-appb-000003
其中,x,y为像素的坐标,P’ C为所述当前像素的亮度分量的预测样本,P 1 C和P 2 C为所述当前像素的色度分量的预测样本。
该降采样滤波器如图7所示,其中,x1表示乘以1,x2表示乘以2。图8展示了跨分量技术从亮度分量重构块到色度分量预测块变化的示意图,其中,编码单元的亮度分量重构块尺寸为8*8,对应的色度分量参考预测块的尺寸为8*8,滤波后的色度分量预测块的尺寸为4*4。
AVS3还采纳了多种跨分量预测模式MCPM,MCPM三种预测模式与TSCPM预测模式相似,MCPM模式对应TSCPM模式,MCPM_T模式对应TSCPM_T模式,MCPM_L模式对应TSCPM_L模式。但色度分量预测过程不同,MCPM三种预测模式的色度U分量预测过程与TSCPM模式一致,而色度V分量的预测块则是用暂时色度预测分量块减去U分量的重建块所得到。具体公式如下:
Pred C(x,y)=α′·Rec L(x,y)+β′  (6)
Pred Cr(x,y)=Pred C′(x,y)-Rec Cb(x,y)  (7)
上述式子(2)(3)中,Pred C(x,y)为位于色度分量的预测块中像素(x,y)处的预测样本,Rec L(x,y)为位于亮度分量的重构块中像素(x,y)处的重构样本,Pred C’(x,y)为位于降采样之后色度分量的预测块中像素(x,y)处的预测样本,Rec cb(x,y)为位于色度分量的重建块中像素(x,y)处的U分量的重建样本,Pred Cr(x,y)为位于色度分量的预测块中像素(x,y)处的V分量的预测样本,α’与β’分别为U分量与V分量的线性参数和,U分量与V分量的线性参数计算参考式(2)与(3)。目前,现有增强型两步跨分量预测技术在全部采用来自上侧或者左侧相邻编码单元的重构样本作为参考信息计算线性模型,以获得当前编码单元的色度分量的参考预测块时,若仅取来自上侧相邻像素的重构样本,则缺乏来自左侧相邻像素的重构样本的参考信息;若仅取来自左侧相邻像素的重构样本,则缺乏来自上侧相邻像素的重构样本的参考信息。
现有色度分量帧内预测模式在选用像素作为预测模式的参考像素时,往往会忽略一些参考像素与当前编码块的关联性。当前编码块与所有相邻的像素均存在空间关联性,若仅取来自上侧相邻像素,则缺乏来自左侧相邻像素的参考信息;若仅取来自左侧相邻像素,则缺乏来自上侧相邻像素的参考信息。
现有的色度分量普通帧内预测模式根据预测模式的方向性,选择对应方向上的相邻像素作为参考像素,然而当前编码块与不在该方向上的相邻像素也存在一定的关联性,仅参考单一方向上的相邻像素的预测效果不够好,且浪费了其他相邻像素的可参考信息。现有的跨分量色度预测模式根据预测模式单一选择上侧或左侧相邻像素作为参考像素计算线性模型,也存在一些问题,若单一选择上侧相邻像素作为参考像素则忽略了当前编码块与左侧编码块的空间关联性;若单一选择左侧相邻像素作为参考像素则忽略了当前编码块与上侧编码块的空间关联性。
这样预测浪费了大量的可用参考信息并不能较好地预测当前编码单元的色度分量的样本值,损失了编码效率。
针对上述技术问题,本申请提出如下设计思路,
对通过色度分量普通帧内预测模式计算得到的预测块进行预测修正。
若当前编码块仅选择上侧色度分量相邻像素作为参考像素计算当前编码块的预测样本时,则采用左侧色度分量相邻像素作为参考像素对当前编码块的色度分量的预测样本进行预测修正;
若当前编码块仅选择左侧色度分量相邻像素作为参考像素计算当前编码块的预测样本时,则采用上侧色度分量相邻像素作为参考像素对当前编码块的色度分量的预测样本进行预测修正;
若当前编码块采用色度分量普通帧内非角度预测模式,则采用上侧和左侧的色度分量相邻像素作为参考像素对当前编码块的色度分量的预测样本进行预测修正。
对通过色度分量跨分量预测模式计算得到的预测样本进行预测修正。
若当前编码块仅选择上侧亮度分量相邻像素和上侧色度分量相邻像素计算线性模型,则采用左 侧色度分量相邻像素作为参考像素对当前编码块的色度分量的预测样本进行预测修正;
若当前编码块仅选择左侧亮度分量相邻像素和左侧色度分量相邻像素计算线性模型,则采用上侧色度分量相邻像素作为参考像素对当前编码块的色度分量的预测样本进行预测修正。
上述对当前编码块的预测样本预测修正包括,根据当前像素到参考的相邻像素之间的距离作为滤波系数索引值,根据当前编码块的大小尺寸作为滤波系数组索引值,根据滤波系数组索引值查找色度分量帧内预测滤波系数组并根据滤波系数索引值在组内找到色度分量帧内预测滤波系数,根据查找得到的滤波系数和预测修正公式计算得到修正后的预测样本。
具体的,在编码端,首先确定当前编码块是否可以使用色度分量的预测修正技术。
若使用色度分量的预测修正,则对当前编码块的亮度分量进行帧内预测,并对预测结束之后的预测样本进行预测样本修正,然后对当前编码块的色度分量进行帧内预测,并对预测结束之后的预测样本进行预测修正。
上述对当前编码块的预测修正包括需要传输标识位与不需要传输标识位以表示当前编码块是否使用色度分量的预测修正技术。
若当前预测修正技术需要传输标识位,则根据未修正预测样本与已修正预测样本计算得到的率失真代价进行判断是否使用帧内预测的预测修正技术,
若针对未修正预测样本计算得到的率失真代价较小,则当前编码块不使用帧内预测的预测修正技术,标识位传输并表示为否;
若针对预测修正后的预测样本计算得到的率失真代价较小,则当前色度分量编码块使用帧内预测的预测修正技术,标识位传输并表示为真;
若当前预测修正技术不需要传输标识位,则直接对当前编码块的预测样本使用预测修正,并得到修正后的预测样本。
具体的,在解码端,首先解析并获取当前码流是否可以使用色度分量的帧内预测的预测修正技术。
若可以使用预测修正技术,则解析码流获取当前解码块的当前色度分量的预测模式,选取特定的相邻像素作为参考像素对当前解码块的预测样本进行预测修正。
上述对当前解码块的预测样本进行预测修正过程包括,当前解码块需要标识位表示是否使用预测修正技术和不需要标识位表示是否使用预测修正技术。
若当前解码块需要标识位指示是否使用预测修正技术,则解析当前解码块的码流获取标识位值和色度分量的预测模式。
若标识位的数值为真,则根据当前色度分量的预测模式计算得到预测样本。
若计算预测样本选取上侧相邻像素作为参考像素,则取左侧相邻像素作为参考像素对预测样本进行预测修正;
若计算预测样本选取左侧相邻像素作为参考像素,则取上侧相邻像素作为参考像素对预测样本进行预测修正;
若标识位值的数值为否,则根据当前色度分量的预测模式计算得到预测样本,不对预测样本进行滤波;
若当前解码块不需要标识位指示是否使用预测修正技术,则解析当前解码块的码流获取色度分量的预测模式,根据当前色度分量的预测模式计算得到预测样本。
若计算解码块选取上侧相邻像素作为参考像素,则取左侧相邻像素作为参考像素对预测样本进行预测修正;
若计算解码块选取左侧相邻像素作为参考像素,则取上侧相邻像素作为参考像素对预测样本进行预测修正。
本申请实施例利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和编码效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图9为本申请实施例中所描述的一种实例的视频译码系统1的框图。如本文所使用,术语“视频译码器”一般是指视频编码器和视频解码器两者。在本申请中,术语“视频译码”或“译码”可一般地指代视频编码或视频解码。视频译码系统1的视频编码器100和视频解码器200用于实现本申请提出的跨分量预测方法。
如图9中所示,视频译码系统1包含源装置10和目的装置20。源装置10产生经编码视频数据。因此,源装置10可被称为视频编码装置。目的装置20可对由源装置10所产生的经编码的视频数据进行解码。因此,目的装置20可被称为视频解码装置。源装置10、目的装置20或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于RAM、ROM、EEPROM、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。
源装置10和目的装置20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
目的装置20可经由链路30从源装置10接收经编码视频数据。链路30可包括能够将经编码视频数据从源装置10移动到目的装置20的一或多个媒体或装置。在一个实例中,链路30可包括使得源装置10能够实时将经编码视频数据直接发射到目的装置20的一或多个通信媒体。在此实例中,源装置10可根据通信标准(例如无线通信协议)来调制经编码视频数据,且可将经调制的视频数据发射到目的装置20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促使从源装置10到目的装置20的通信的其它设备。在另一实例中,可将经编码数据从输出接口140输出到存储装置40。
本申请的图像编解码技术可应用于视频编解码以支持多种多媒体应用,例如空中电视广播、有线电视发射、卫星电视发射、串流视频发射(例如,经由因特网)、用于存储于数据存储媒体上的视频数据的编码、存储在数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频译码系统1可用于支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
图9中所说明的视频译码系统1仅为实例,并且本申请的技术可适用于未必包含编码装置与解码装置之间的任何数据通信的视频译码设置(例如,视频编码或视频解码)。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。视频编码装置可对数据进行编码并且将数据存储到存储器,和/或视频解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图9的实例中,源装置10包含视频源120、视频编码器100和输出接口140。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发射器。视频源120可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形系统,或视频数据的此些来源的组合。
视频编码器100可对来自视频源120的视频数据进行编码。在一些实例中,源装置10经由输出接口140将经编码视频数据直接发射到目的装置20。在其它实例中,经编码视频数据还可存储到存储装置40上,供目的装置20以后存取来用于解码和/或播放。
在图9的实例中,目的装置20包含输入接口240、视频解码器200和显示装置220。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置40接收经编码视频数据。显示装置220可与目的装置20集成或可在目的装置20外部。一般来说,显示装置220显示经解码视频数据。显示装置220可包括多种显示装置,例如,液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
尽管图9中未图示,但在一些方面,视频编码器100和视频解码器200可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。
视频编码器100和视频解码器200各自可实施为例如以下各项的多种电路中的任一者:一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。视频编码器100和视频解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
图10为本申请实施例中所描述的一种视频编码器100的示例框图。视频编码器100用于将视频输出到后处理实体41。后处理实体41表示可处理来自视频编码器100的经编码视频数据的视频实体的实例,例如媒体感知网络元件(MANE)或拼接/编辑装置。在一些情况下,后处理实体41可为网络实体的实例。在一些视频编码系统中,后处理实体41和视频编码器100可为单独装置的若干部分,而在其它情况下,相对于后处理实体41所描述的功能性可由包括视频编码器100的相同装置执行。在某一实例中,后处理实体41是图1的存储装置40的实例。
在图10的实例中,视频编码器100包括预测处理单元108、滤波器单元106、存储器107、求和器112、变换器101、量化器102和熵编码器103。预测处理单元108包括帧间预测器110和帧内预测器109。为了图像块重构,视频编码器100还包含反量化器104、反变换器105和求和器111。滤波器单元106表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)和样本自适应偏移(SAO)滤波器。尽管在图10中将滤波器单元106示出为环路内滤波器,但在其它实现方式下,可将滤波器单元106实施为环路后滤波器。在一种示例下,视频编码器100还可以包括视频数据存储器、分割单元(图中未示意)。
视频编码器100接收视频数据,并将所述视频数据存储在视频数据存储器中。分割单元将所述视频数据分割成若干图像块,而且这些图像块可以被进一步分割为更小的块,例如基于四叉树结构或者二叉树结构的图像块分割。预测处理单元108可选择用于当前图像块的多个可能的译码模式中的一者,例如多个帧内译码模式中的一者或多个帧间译码模式中的一者。预测处理单元108可将所得经帧内、帧间译码的块提供给求和器112以产生残差块,且提供给求和器111以重构用作参考图像的经编码块。预测处理单元108内的帧内预测器109可相对于与待编码当前块在相同帧或条带中的一或多个相邻块执行当前图像块的帧内预测性编码,以去除空间冗余。预测处理单元108内的帧间预测器110可相对于一或多个参考图像中的一或多个预测块执行当前图像块的帧间预测性编码以去除时间冗余。预测处理单元108将指示当前图像块的所选帧内或帧间预测模式的信息提供到熵编码器103,以便于熵编码器103编码指示所选帧间预测模式的信息。
在预测处理单元108经由帧间预测/帧内预测产生当前图像块的预测块之后,视频编码器100通过从待编码的当前图像块减去所述预测块来形成残差图像块。求和器112表示执行此减法运算的一或多个组件。所述残差块中的残差视频数据可包含在一或多个TU中,并应用于变换器101。变换器101使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器101可将残差视频数据从像素值域转换到变换域,例如频域。
变换器101可将所得变换系数发送到量化器102。量化器102量化所述变换系数以进一步减小位码率。在一些实例中,量化器102可接着执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码器103可执行扫描。
在量化之后,熵编码器103对经量化变换系数进行熵编码。举例来说,熵编码器103可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进 制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术。在由熵编码器103熵编码之后,可将经编码码流发射到视频解码器200,或经存档以供稍后发射或由视频解码器200检索。熵编码器103还可对待编码的当前图像块的语法元素进行熵编码。
反量化器104和反变换器105分别应用逆量化和逆变换以在像素域中重构所述残差块,例如以供稍后用作参考图像的参考块。求和器111将经重构的残差块添加到由帧间预测器110或帧内预测器109产生的预测块,以产生经重构图像块。滤波器单元106可以适用于经重构图像块以减小失真,诸如方块效应(block artifacts)。然后,该经重构图像块作为参考块存储在存储器107中,可由帧间预测器110用作参考块以对后续视频帧或图像中的块进行帧间预测。
具体的,视频编码器100具体执行本申请实施例所提供的图像编码方法,输入视频被划分成若干个编码树单元,每个编码树单元又划分成若干个或矩形或方形的编码单元。在当前编码单元选择帧内预测模式进行编码时,对当前编码单元的亮度分量进行若干种预测模式的计算遍历并根据率失真代价选择最优预测模式,对当前编码单元的色度分量进行若干种预测模式的计算遍历并根据率失真代价选择最优预测模式。之后,计算原始视频块与预测块之间的残差,该残差后续一路经过变化与量化、熵编码等形成输出码流,另一路经过反变换与反量化、环路滤波等形成重构样本作为后续视频压缩的参考信息。
帧内预测器109还可将指示当前编码单元所选帧内预测模式的信息提供到熵编码器103,以便熵编码器103编码指示所选帧内预测模式的信息。
图11为本申请实施例中所描述的一种视频解码器200的示例框图。在图11的实例中,视频解码器200包括熵解码器203、预测处理单元208、反量化器204、反变换器205、求和器211、滤波器单元206以及存储器207。预测处理单元208可以包括帧间预测器210和帧内预测器209。在一些实例中,视频解码器200可执行大体上与相对于来自图10的视频编码器100描述的编码过程互逆的解码过程。
在解码过程中,视频解码器200从视频编码器100接收表示经编码视频条带的图像块和相关联的语法元素的经编码视频码流。视频解码器200可从网络实体42接收视频数据,可选的,还可以将所述视频数据存储在视频数据存储器(图中未示意)中。视频数据存储器可存储待由视频解码器200的组件解码的视频数据,例如经编码视频码流。存储在视频数据存储器中的视频数据,例如可从存储装置40、从相机等本地视频源、经由视频数据的有线或无线网络通信或者通过存取物理数据存储媒体而获得。视频数据存储器可作为用于存储来自经编码视频码流的经编码视频数据的经解码图像缓冲器(CPB)。
网络实体42可例如为服务器、MANE、视频编辑器/剪接器,或用于实施上文所描述的技术中的一或多者的其它此装置。网络实体42可包括或可不包括视频编码器,例如视频编码器100。在网络实体42将经编码视频码流发送到视频解码器200之前,网络实体42可实施本申请中描述的技术中的部分。在一些视频解码系统中,网络实体42和视频解码器200可为单独装置的部分,而在其它情况下,相对于网络实体42描述的功能性可由包括视频解码器200的相同装置执行。
视频解码器200的熵解码器203对码流进行熵解码以产生经量化的系数和一些语法元素。熵解码器203将语法元素转发到预测处理单元208。视频解码器200可接收在视频条带层级和/或图像块层级处的语法元素。当视频条带被解码为经帧内解码(I)条带时,预测处理单元208的帧内预测器209基于发信号通知的帧内预测模式和来自当前帧或图像的先前经解码块的数据而产生当前视频条带的图像块的预测块。当视频条带被解码为经帧间解码(即,B或P)条带时,预测处理单元208的帧间预测器210可基于从熵解码器203接收到的语法元素,确定用于对当前视频条带的当前图像块进行解码的帧间预测模式,基于确定的帧间预测模式,对所述当前图像块进行解码(例如执行帧间预测)。
反量化器204将在码流中提供且由熵解码器203解码的经量化变换系数逆量化,即去量化。逆量化过程可包括:使用由视频编码器100针对视频条带中的每个图像块计算的量化参数来确定应施加的量化程度以及同样地确定应施加的逆量化程度。反变换器205将逆变换应用于变换系数,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残差块。
在帧间预测器210产生用于当前图像块或当前图像块的子块的预测块之后,视频解码器200通过将 来自反变换器205的残差块与由帧间预测器210产生的对应预测块求和以得到重建的块,即经解码图像块。求和器211表示执行此求和操作的组件。在需要时,还可使用环路滤波器(在解码环路中或在解码环路之后)来使像素转变平滑或者以其它方式改进视频质量。滤波器单元206可以表示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器(ALF)以及样本自适应偏移(SAO)滤波器。尽管在图11中将滤波器单元206示出为环路内滤波器,但在其它实现方式中,可将滤波器单元206实施为环路后滤波器。
视频解码器200具体执行的图像解码方法包括,输入码流在进行解析、反变换和反量化后,得到当前编码单元的预测模式索引。
若当前编码单元色度分量的预测模式索引为增强型两步跨分量预测模式,则根据索引值选择仅取来自当前编码单元的上侧或者左侧相邻像素的重构样本进行线性模型的计算,根据线性模型计算得到当前编码单元的色度分量的参考预测块,降采样、并针对降采样后的预测块进行基于正交方向的边界相邻像素的相关性的预测修正,得到最终的色度分量的最终预测块。
后续码流一路作为后续视频解码的参考信息,一路经过后滤波处理输出视频信号。
应当理解的是,视频解码器200的其它结构变化可用于解码经编码视频码流。例如,视频解码器200可以不经滤波器单元206处理而生成输出视频流;或者,对于某些图像块或者图像帧,视频解码器200的熵解码器203没有解码出经量化的系数,相应地不需要经反量化器204和反变换器205处理。
具体的,帧内预测器209在预测块的产生过程中可以使用本申请实施例所描述的图像解码方法。
图12A为本申请实施例中图像编码方法的一种流程示意图,该图像编码方法可以应用于图9示出的视频译码系统1中的源装置10或图10示出的视频编码器100。图12A示出的流程以执行主体为图10示出的视频编码器100为例进行说明。如图12A所示,本申请实施例提供的跨分量预测方法包括:
步骤110,划分图像,确定当前编码块的色度分量帧内预测模式。
其中,所述图像所属的视频的颜色格式包括但不限于4:2:0、4:2:2等。
例如,在颜色格式为4:2:0时,如图2中的(c)所示,当前编码块的亮度分量的原始像素块与色度分量的原始像素块的像素比例为4:1,以8*8的正向方像素阵列为例,则对应的亮度分量的原始像素块的尺寸为8*8,则对应的色度分量的原始像素块的尺寸为4*4。
又如,在颜色格式为4:2:2时,如图2中的(b)所示,当前编码块的亮度分量的原始像素块与色度分量的原始像素块的像素比例为2:1,以8*8的正向方像素阵列为例,则对应的亮度分量的原始像素块的尺寸为8*8,则对应的色度分量的原始像素块的尺寸为8*4。
其中,色度分量帧内预测模式最多进行11个色度分量帧内预测模式的计算,其中包括参考单一色度分量信息的5种色度分量帧内预测模式的计算和参考多分量信息的6种色度分量帧内预测模式计算,上述参考单一色度分量信息的帧内色度预测模式即为色度分量普通帧内预测模式。
步骤120,根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块。
在本可能的示例中,所述根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块,包括:根据所述当前编码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定参考像素;根据所述参考像素确定所述当前编码块的色度分量的预测块。
具体实现中,针对色度分量帧内预测模式采用普通帧内预测模式的情况,可以采用协议约定的方式进行色度分量的预测块的确定,详见前述对普通帧内预测模式的说明,此处不再赘述。
在本可能的示例中,所述根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块,包括:确定所述当前编码块的亮度分量帧内预测模式;当所述色度分量帧内预测模式指示使用所述当前编码块的亮度分量确定所述当前编码块的色度分量的预测值时,根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的预测块。
其中,如图5A所示,帧内编码亮度分量计算最多65个帧内预测模式,具体实现中,亮度分量进行最多62个角度预测模式和3个非角度预测模式的计算并选出一个最优帧内预测模式进行传输。所述当前编码块的亮度分量帧内预测模式为多个帧内预测模式中码率失真代价最优的预测模式,所述多个帧内 预测模式为所述当前编码块的亮度分量的帧内预测所使用的帧内预测模式。
在本可能的示例中,所述根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的预测块,包括:根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的参考预测块;对所述当前编码块的色度分量的参考预测块进行滤波,得到所述当前编码块的色度分量的预测块。
具体实现中,设备可以在判断出所述亮度分量帧内预测模式为预设帧内预测模式的情况下,确定所述色度分量帧内预测模式指示使用所述当前编码块的亮度分量确定所述当前编码块的色度分量的预测值。所述预设帧内预测模式为预设方向的亮度分量帧内预测模式,该预设方向包括但不限于水平方向(例如:如图1所述的二维直角坐标系XoY中沿X轴方向)、垂直方向(例如:如图1所示的二维直角坐标系XoY中沿Y轴负向方向)。
在本可能的示例中,所述对所述当前编码块的色度分量的参考预测块进行滤波,包括:使用第三滤波器对所述当前编码块的色度分量的参考预测块进行滤波。
在本可能的示例中,所述第三滤波器包括用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器和用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器。
在本可能的示例中,所述用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器包括第三两抽头滤波器;所述第三两抽头滤波器包括:
P C(x,y)=(P′ C(2x,2y)+P′ C(2x,2y+1)+1)>>1
其中,x,y为像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在本可能的示例中,所述用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器包括第一六抽头滤波器;所述第一六抽头滤波器包括:
Figure PCTCN2021090909-appb-000004
其中,x,y为当前像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在本可能的示例中,所述根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的参考预测块,包括:根据所述亮度分量帧内预测模式,确定所述当前编码块的亮度分量的重构块;根据所述当前编码块的亮度分量的重构块,确定所述当前编码块的色度分量的参考预测块。
其中,所述色度分量的参考预测块的尺寸与所述亮度分量的重构块的尺寸相同。例如如图8所示的预测过程中的亮度分量的重构块和色度分量的参考预测块均为8*8像素阵列。
在本可能的示例中,所述根据所述当前编码块的亮度分量的重构块,确定所述当前编码块的色度分量的参考预测块,包括:确定利用所述当前编码块的亮度分量的重构块进行跨分量预测的线性模型;根据所述线性模型计算所述亮度分量的重构块,得到所述当前编码块的色度分量的参考预测块。
其中,所述线性模型例如可以是前述公式(1)或(2)(3)的线性模型。
在本可能的示例中,所述确定利用所述当前编码块的亮度分量的重构块进行跨分量预测的线性模型,包括:确定用于计算所述线性模型的参考像素,所述参考像素包括所述当前编码块的至少一个相邻像素;根据所述参考像素计算所述线性模型。
其中,所述用于计算线性模型的参考像素的选取可以扩展到当前编码块的左下侧、左侧、左上侧、上侧以及右上侧的相邻像素。
可选的,若当前编码块为当前编码块中的部分图像块,则设备可以从多个线性模型中选择适配所述当前编码块的线性模型,具体可以根据图像特性针对当前编码块选择适配的线性模型,由于该线性模型的系数还未确定,还需要根据参考像素进行计算得到。可见,设备针对当前编码块的色度分量预测,能 够提供相对于编码块更加精细化的预测机制,实现更精细化的图像预测。
在本可能的示例中,所述确定用于计算所述线性模型的参考像素,包括:根据所述当前编码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
其中,所述当前编码块的色度分量帧内预测模式包括TSCPM_T、TSCPM_L、MCPM_T、MCPM_L中的任意一种。所述可用信息具体包括两侧可用和单侧可用(例如:左侧可用和右侧可用)。下面进行详细说明。
若当前编码块的色度分量帧内预测模式为TSCPM_T或MCPM_T,且当前编码块对应的原始像素块的上侧相邻像素的重构样本和当前编码块对应的原始像素块的左侧相邻像素的重构样本可用,则用于计算线性模型的系数的参考相邻像素为原始像素块的上侧相邻像素中的4个,如图6中(b)所示。
若当前编码块的色度分量帧内预测模式为TSCPM_L或MCPM_L,且当前编码块对应的原始像素块的上侧相邻像素的重构样本和当前编码块对应的原始像素块的左侧相邻像素的重构样本可用,则用于计算线性模型的系数的参考相邻像素为原始像素块的做侧相邻像素中的4个,如图6中(c)所示。
可见,本示例中,用于计算线性模型的系数的参考相邻像素可以根据相邻像素的重构样本的可用性和色度分量帧内预测模式进行灵活设置。
在本可能的示例中,所述确定用于计算所述线性模型的参考像素,包括:根据所述当前编码块的相邻编码块的码率失真代价最优的亮度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
其中,所述相邻编码块的亮度分量的码率失真代价最优的帧内预测模式可以与当前编码块的亮度分量的码率失真代价最优的帧内预测模式相同,也可能不同。
步骤130,对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。
在本可能的示例中,所述对所述当前编码块的色度分量的预测块进行预测修正,包括:根据所述色度分量帧内预测模式确定滤波器;使用所述滤波器对所述当前编码块的色度分量的预测块进行预测修正。
在本可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:当所述色度分量帧内预测模式为TSCPM_T或者MCPM_T或者普通帧内垂直类角度预测模式时,所述滤波器设置为第一滤波器。
在本可能的示例中,所述第一滤波器用于对与所述当前编码块的色度分量的预测块的左侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第一滤波器包括第一两抽头滤波器;所述第一两抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,P(x,y)为像素(x,y)的原始预测样本。
举例来说,如图12B所示的在4*4像素阵列,以色度分量的预测块中的像素和左侧边界相邻像素为例,首先,针对像素a和左侧边界相邻像素1使用第一两抽头滤波器进行降采样形成色度分量的修正后的预测块的像素A,在水平方向上,针对像素b和左侧边界相邻像素1使用第一两抽头滤波器进行降采样形成色度分量的修正后的预测块的像素B,其他列以此类推,直至针对像素p和左侧边界相邻像素4使用第一两抽头滤波器进行降采样形成色度分量的修正后的预测块的像素P。
在本可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离。
其中,上述水平滤波系数的取值与当前编码块的色度分量的尺寸以及当前色度分量的预测块中预测 像素与左侧相邻像素之间的距离有关。
具体来说,上述滤波系数的选取与色度分量的尺寸有关,根据当前编码块的色度分量的预测块的大小划分成不同的滤波器系数组,根据当前色度分量的预测块的尺寸选择对应的滤波器系数组。上述水平滤波系数的选取与预测像素到左侧相邻像素的距离有关,将当前预测的像素到左侧相邻像素的距离作为索引值,从相对应的滤波器系数组中选取对应的滤波系数。帧内色度预测滤波系数具体如表1所示,值得注意的是表格中所有系数在具体编码过程中均可以进行放大并移位操作以减少计算复杂度。
表1 帧内色度预测滤波系数
Figure PCTCN2021090909-appb-000005
此外,该技术的滤波器系数可以采用系数截断方式减少系数存储,即在当前预测的像素到左侧相邻像素的距离大于10的所有像素的滤波系数一致。
在本可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:当所述色度分量帧内预测模式为TSCPM_L或者MCPM_L或者普通帧内水平类角度预测模式时,所述滤波器设置为第二滤波器。
在本可能的示例中,所述第二滤波器用于对与所述当前编码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第二滤波器包括第二两抽头滤波器;所述第二两抽头滤波器包括:
P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
举例来说,如图12C所示的在4*4像素阵列,以色度分量的预测块中的像素和上侧边界相邻像素为例,首先,针对像素a和上侧边界相邻像素1使用第二两抽头滤波器进行降采样形成色度分量的修正后的预测块的像素A,在垂直方向上,针对像素e和上侧边界相邻像素1使用第二两抽头滤波器进行降采样形成色度分量的修正后的预测块的像素E,其他列以此类推,直至针对像素p和上侧边界相邻像素4使用第二两抽头滤波器进行降采样形成色度分量的修正后的预测块的像素P。
在本可能的示例中,所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
其中,上述垂直滤波系数的取值与当前编码块的色度分量的尺寸以及当前色度分量的预测块中预测像素与左侧相邻像素之间的距离有关。
具体来说,上述滤波系数的选取与色度分量的尺寸有关,根据当前编码块的色度分量的预测块的大小划分成不同的滤波器系数组,根据当前色度分量的预测块的尺寸选择对应的滤波器系数组。上述垂直滤波系数的选取与预测像素到上侧相邻像素的距离有关,将当前预测的像素到上侧相邻像素的距离作为索引值,从相对应的滤波器系数组中选取对应的滤波系数。帧内色度预测滤波系数具体如表1所示。
在本可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:当所述色度分量帧内预测模式为普通帧内非角度预测模式时,所述滤波器设置为第三滤波器。
在本可能的示例中,所述第三滤波器用于对与所述当前编码块的色度分量的预测块的左侧边界相邻的像素区域、与所述当前编码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第三滤波器包括第一三抽头滤波器;所述第一三抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
举例来说,如图12D所示的在4*4像素阵列,以色度分量的预测块中的像素和上侧边界相邻像素以及左侧边界相邻像素为例,首先,针对像素a和上侧边界相邻像素1和左侧相邻像素5使用第一三抽头滤波器进行降采样形成色度分量的修正后的预测块的像素A,在垂直方向上,针对像素e、上侧边界相邻像素1和左侧边界相邻像素6使用第一三抽头滤波器进行降采样形成色度分量的修正后的预测块的像素E,其他列以此类推,直至针对像素p、上侧边界相邻像素4、左侧边界相邻像素8使用第一三抽头滤波器进行降采样形成色度分量的修正后的预测块的像素P。
在本可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离;
所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
其中,上述垂直滤波系数、水平滤波系数的取值与当前编码块的色度分量的尺寸以及当前色度分量的预测块中预测像素与左侧相邻像素之间的距离有关。
具体来说,上述滤波系数的选取与色度分量的尺寸有关,根据当前编码块的色度分量的预测块的大小划分成不同的滤波器系数组,根据当前色度分量的预测块的尺寸选择对应的滤波器系数组。上述垂直滤波系数的选取与预测像素到上侧相邻像素的距离有关,将当前预测的像素到上侧相邻像素的距离作为索引值,从相对应的滤波器系数组中选取对应的滤波系数。帧内色度预测滤波系数具体如表1所示。
此外,该技术的滤波器系数可以采用系数截断方式减少系数存储,即在当前预测的像素到上侧相邻像素的距离大于10的所有像素的滤波系数一致。
具体实现中,当前编码块的色度分量的修正后的预测块确定后,设备可以进一步计算出色度分量的重构块,根据色度分量的重构块和亮度分量的重构块确定当前编码块的重构图像块。
可见,本申请实施例中,相比于现有技术,本申请方案利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和编码效率。
在一个可能的示例中,所述对所述当前编码块的色度分量的预测块进行预测修正,包括:计算所述当前编码块在未修正情况下的第一率失真代价,以及计算所述当前编码块的已修正情况下的第二率失真代价;确定所述第一率失真代价大于所述第二率失真代价;对所述当前编码块的色度分量的预测块进行预测修正。
可见,本示例中,不增加率失真代价计算次数,不需要进行额外的率失真代价计算,避免了大量的计算复杂度增加。
在一个可能的示例中,所述对所述当前编码块的色度分量的预测块进行预测修正,包括:计算所述当前编码块在未修正情况下的第一率失真代价,以及计算所述当前编码块的已修正情况下的第二率失真代价;确定所述第一率失真代价大于所述第二率失真代价,设置色度修正标识位为第一数值,所述第一数值用于指示需要进行所述预测修正;对所述当前编码块的色度分量的预测块进行预测修正。
在本可能的示例中,所述方法还包括:确定所述第一率失真代价小于或等于所述第二率失真代价,设置所述色度修正标识位为第二数值,所述第二数值用于指示不需要进行所述预测修正。
具体实现中,所述色度修正标识位可以是单个或多个比特位,例如单个比特位时,第一数值可以是1,第二数值可以是0,此处不做唯一限定。
在本可能的示例中,所述色度修正标识位与亮度修正标识位共用。
在本可能的示例中,所述色度修正标识位独立使用。
在一个可能的示例中,上述适用于当前编码块的线性模型可以换成逐行适用的线性模型。
在一个可能的示例中,将现有协议中的标识位表示增加到:每个色度分量分别用一个标识位表示是否使用预测修正技术。
在一个可能的示例中,可以仅针对色度分量预测模式中的个别预测模式使用本申请的色度分量的预测修正技术。
在一个可能的示例中,可以根据当前编码块的相邻块的预测修正技术使用信息来判断是否提前取消或直接使用预测修正技术。
与图12A所述的图像编码方法对应的,图13为本申请实施例中图像编码方法的一种流程示意图,该图像编码方法可以应用于图9示出的视频译码系统1中的目的装置20或图11示出的视频解码器200。图13示出的流程以执行主体为图11示出的视频编码器200为例进行说明。如图13所示,本申请实施例提供的跨分量预测方法包括:
步骤210,解析码流,确定当前解码块的色度分量帧内预测模式。
其中,所述码流的视频的颜色格式包括但不限于4:2:0、4:2:2等。
具体实现中,所述码流经过熵解码可以获取到语法元素,该语法元素用于确定对当前解码块进行预测的亮度分量帧内预测模式和色度分量帧内预测模式。其中,所述亮度分量帧内预测模式为多个帧内预测模式中的最优亮度分量帧内预测模式,多个帧内预测模式为亮度分量的帧内预测所使用的帧内预测模式。
步骤220,根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块;
在本可能的示例中,所述根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块,包括:根据所述当前解码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定参考像素;根据所述参考像素确定所述当前解码块的色度分量的预测块。
在本可能的示例中,所述根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块,包括:确定所述当前解码块的亮度分量帧内预测模式;当所述色度分量帧内预测模式指示使用所述当前解码块的亮度分量的重构块确定所述当前解码块的色度分量的预测值时,根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的预测块。
在本可能的示例中,所述根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的预测块,包括:根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的参考预测块;对所述当前解码块的色度分量的参考预测块进行滤波,得到所述当前解码块的色度分量的预测块。
具体实现中,设备可以在判断出所述亮度分量帧内预测模式为预设帧内预测模式的情况下,确定所述色度分量帧内预测模式指示使用所述当前解码块的亮度分量确定所述当前解码块的色度分量。所述预 设帧内预测模式为预设方向的亮度分量帧内预测模式,该预设方向包括但不限于水平方向(例如:如图1所述的二维直角坐标系XoY中沿X轴方向)、垂直方向(例如:如图1所示的二维直角坐标系XoY中沿Y轴负向方向)。
在本可能的示例中,所述对所述当前解码块的色度分量的参考预测块进行滤波,包括:使用第三滤波器对所述当前解码块的色度分量的参考预测块进行滤波。
在本可能的示例中,所述第三滤波器包括用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器和用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器。
在本可能的示例中,所述用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器包括第三两抽头滤波器;所述第三两抽头滤波器包括:
P C(x,y)=(P′ C(2x,2y)+P′ C(2x,2y+1)+1)>>1
其中,x,y为像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在本可能的示例中,所述用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器包括第一六抽头滤波器;所述第一六抽头滤波器包括:
Figure PCTCN2021090909-appb-000006
其中,x,y为当前像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在本可能的示例中,所述根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的参考预测块,包括:根据所述亮度分量帧内预测模式,确定所述当前解码块的亮度分量的重构块;根据所述当前解码块的亮度分量的重构块,确定所述当前解码块的色度分量的参考预测块。
其中,所述色度分量的参考预测块的尺寸与所述亮度分量的重构块的尺寸相同。例如如图8所示的预测过程中的亮度分量的重构块和色度分量的参考预测块均为8*8像素阵列。
在本可能的示例中,所述根据所述当前解码块的亮度分量的重构块,确定所述当前解码块的色度分量的参考预测块,包括:确定利用所述当前解码块的亮度分量的重构块进行跨分量预测的线性模型;根据所述线性模型计算所述亮度分量的重构块,得到所述当前解码块的色度分量的参考预测块。
其中,所述线性模型例如可以是前述公式(1)或(2)(3)的线性模型。
在本可能的示例中,所述确定利用所述当前解码块的亮度分量的重构块进行跨分量预测的线性模型,包括:确定用于计算所述线性模型的参考像素,所述参考像素包括所述当前解码块的至少一个相邻像素;根据所述参考像素计算所述线性模型。
其中,所述用于计算线性模型的参考像素的选取可以扩展到当前解码块的左下侧、左侧、左上侧、上侧以及右上侧的相邻像素。
在本可能的示例中,所述确定用于计算所述线性模型的参考像素,包括:根据所述当前解码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
其中,所述当前解码块的色度分量帧内预测模式包括TSCPM_T、TSCPM_L、MCPM_T、MCPM_L中的任意一种。所述可用信息具体包括两侧可用和单侧可用(例如:左侧可用和右侧可用)。可见,本示例中,用于计算线性模型的系数的参考相邻像素可以根据相邻像素的重构样本的可用性和色度分量帧内预测模式进行灵活设置。
在本可能的示例中,所述确定用于计算所述线性模型的参考像素,包括:根据所述当前解码块的相邻解码块的码率失真代价最优的亮度分量帧内预测模式,确定用于计算所述线性模型的参考像素。其中, 所述相邻解码块的亮度分量的码率失真代价最优的帧内预测模式可以与当前解码块的亮度分量的码率失真代价最优的帧内预测模式相同,也可能不同。
步骤230,对所述当前解码块的色度分量的预测块进行预测修正,得到所述当前解码块的色度分量的修正后的预测块。
在本可能的示例中,所述对所述当前解码块的色度分量的预测块进行预测修正,包括:根据所述色度分量帧内预测模式确定滤波器;使用所述滤波器对所述当前解码块的色度分量的预测块进行预测修正。
其中,所述滤波器的滤波方向与所述色度分量帧内预测模式所用来计算线性模型的相邻像素相对于当前编码块的方向正交,能够综合正交方向的边界相邻像素的相关性预测每个像素的色度分量的预测样本。
在本可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:当所述色度分量帧内预测模式为TSCPM_T或者MCPM_T或者普通帧内垂直类角度预测模式时,所述滤波器设置为第一滤波器。
在本可能的示例中,所述第一滤波器用于对与所述当前解码块的色度分量的预测块的左侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第一滤波器包括第一两抽头滤波器;所述第一两抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前解码块的宽的取值范围,y的值不超过当前解码块的高的取值范围,P’(x,y)为当前解码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在本可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离。
在本可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:当所述色度分量帧内预测模式为TSCPM_L或者MCPM_L或者普通帧内水平类角度预测模式时,所述滤波器设置为第二滤波器。
在本可能的示例中,所述第二滤波器用于对与所述当前解码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第二滤波器包括第二两抽头滤波器;所述第二两抽头滤波器包括:
P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在本可能的示例中,所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
其中,上述垂直滤波系数的取值与当前解码块的色度分量的尺寸以及当前色度分量的预测块中预测像素与左侧相邻像素之间的距离有关。
具体来说,上述滤波系数的选取与色度分量的尺寸有关,根据当前解码块的色度分量的预测块的大小划分成不同的滤波器系数组,根据当前色度分量的预测块的尺寸选择对应的滤波器系数组。上述垂直滤波系数的选取与预测像素到上侧相邻像素的距离有关,将当前预测的像素到上侧相邻像素的距离作为索引值,从相对应的滤波器系数组中选取对应的滤波系数。帧内色度预测滤波系数具体如表1所示。
此外,该技术的滤波器系数可以采用系数截断方式减少系数存储,即在当前预测的像素到上侧相邻像素的距离大于10的所有像素的滤波系数一致。
具体实现中,当前解码块的色度分量的预测块确定后,设备可以进一步计算出色度分量的重构块,根据色度分量的重构块和亮度分量的重构块确定当前解码块的重构图像。
在本可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:当所述色度分量帧内预测模式为普通帧内非角度预测模式时,所述滤波器设置为第三滤波器。
在本可能的示例中,所述第三滤波器用于对与所述当前解码块的色度分量的预测块的左侧边界相邻的像素区域、与所述当前解码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第三滤波器包括第一三抽头滤波器;
所述第一三抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在本可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离;
所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
可以看出,本申请实施例中,相比于现有技术,本申请方案在色度分量帧内预测模式中,利用相邻编码块与当前编码块的空间关联性修正当前编码块的色度分量的预测样本,提高预测准确度和解码效率。
在一个可能的示例中,所述对所述当前解码块的色度分量的预测块进行预测修正,包括:解析所述码流,获取色度修正标志位;确定所述色度修正标志位的数值为第一数值,所述第一数值用于指示使用滤波器进行所述预测修正;对所述当前解码块的色度分量的预测块进行所述预测修正。可见,本示例中,通过标志位直接指示预测修正。
在本可能的示例中,所述方法还包括:确定所述色度修正标志位的数值为第二数值,所述第二数值用于指示不使用滤波器进行所述预测修正。
在本可能的示例中,所述色度修正标志位与亮度修正标识位共用。不会增加额外标识位,节省传输码流。
在本可能的示例中,所述色度修正标识位独立使用。指示更加清楚高效。
所提出技术在AVS参考软件HPM6.0上实现,并在通测条件和视频序列下对全帧内模式和随机访问模式进行1秒序列测试,具体性能如表2和表3所示。
表2 所有内部All Intra测试结果
Figure PCTCN2021090909-appb-000007
Figure PCTCN2021090909-appb-000008
表3 随机接入Random Access测试结果
Figure PCTCN2021090909-appb-000009
从表2和表3可以看出,测试序列的UV分量平均有较明显的性能增益,AI测试条件下U分量平均有0.71%的编码性能提升,RA测试条件下V分量平均有1.35%的编码性能提升。
本申请实施例提供一种图像编码装置,该图像编码装置可以为视频解码器或视频编码器。具体的,图像编码装置用于执行以上解码方法中的视频解码器所执行的步骤。本申请实施例提供的图像编码装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对图像编码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图14示出上述实施例中所涉及的图像编码装置的一种可能的结构示意图。如图14所示,图像编码装置14包括划分单元140、确定单元141、修正单元142。
划分单元140,用于划分图像,确定当前编码块的色度分量帧内预测模式;
确定单元141,用于根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块;
修正单元142,用于对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。
在本可能的示例中,在所述对所述当前编码块的色度分量的预测块进行预测修正方面,所述修正单元142具体用于,根据所述色度分量帧内预测模式确定滤波器;以及使用所述滤波器对所述当前编码块的色度分量的预测块进行预测修正。
在本可能的示例中,在所述根据所述色度分量帧内预测模式确定滤波器方面,所述修正单元142具体用于,当所述色度分量帧内预测模式为两步跨分量预测模式TSCPM_T或者多种跨分量预测模式MCPM_T或者普通帧内垂直类角度预测模式时,所述滤波器设置为第一滤波器。
在本可能的示例中,所述第一滤波器用于对与所述当前编码块的色度分量的预测块的左侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第一滤波器包括第一两抽头滤波器;
所述第一两抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在本可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分 量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离。
在本可能的示例中,在所述根据所述色度分量帧内预测模式确定滤波器方面,所述修正单元142具体用于,当所述色度分量帧内预测模式为TSCPM_L或者MCPM_L或者普通帧内水平类角度预测模式时,所述滤波器设置为第二滤波器。
在本可能的示例中,所述第二滤波器用于对与所述当前编码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第二滤波器包括第二两抽头滤波器;
所述第二两抽头滤波器包括:
P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在本可能的示例中,所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
在本可能的示例中,在所述根据所述色度分量帧内预测模式确定滤波器方面,所述修正单元142具体用于,当所述色度分量帧内预测模式为普通帧内非角度预测模式时,所述滤波器设置为第三滤波器。
在本可能的示例中,所述第三滤波器用于对与所述当前编码块的色度分量的预测块的左侧边界相邻的像素区域、与所述当前编码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
在本可能的示例中,所述第三滤波器包括第一三抽头滤波器;
所述第一三抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在本可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离;
所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
在本可能的示例中,在所述对所述当前编码块的色度分量的预测块进行预测修正方面,所述修正单元142具体用于,计算所述当前编码块在未修正情况下的第一率失真代价,以及计算所述当前编码块的已修正情况下的第二率失真代价;以及确定所述第一率失真代价大于所述第二率失真代价;以及对所述当前编码块的色度分量的预测块进行预测修正。
在本可能的示例中,在所述对所述当前编码块的色度分量的预测块进行预测修正方面,所述修正单元142具体用于,计算所述当前编码块在未修正情况下的第一率失真代价,以及计算所述当前编码块的已修正情况下的第二率失真代价;以及确定所述第一率失真代价大于所述第二率失真代价,设置色度修 正标识位为第一数值,所述第一数值用于指示需要进行所述预测修正;以及对所述当前编码块的色度分量的预测块进行预测修正。
在本可能的示例中,所述确定单元141,还用于确定所述第一率失真代价小于或等于所述第二率失真代价,设置所述色度修正标识位为第二数值,所述第二数值用于指示不需要进行所述预测修正。
在本可能的示例中,所述色度修正标识位与亮度修正标识位共用。
在本可能的示例中,所述色度修正标识位独立使用。
在本可能的示例中,在所述根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块方面,所述确定单元141,具体用于确定所述当前编码块的亮度分量帧内预测模式;以及当所述色度分量帧内预测模式指示使用所述当前编码块的亮度分量确定所述当前编码块的色度分量的预测值时,根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的预测块。
在本可能的示例中,在所述根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的预测块方面,所述确定单元141具体用于,根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的参考预测块;以及对所述当前编码块的色度分量的参考预测块进行滤波,得到所述当前编码块的色度分量的预测块。
在本可能的示例中,在所述对所述当前编码块的色度分量的参考预测块进行滤波方面,所述确定单元141具体用于,使用第三滤波器对所述当前编码块的色度分量的参考预测块进行滤波。
在本可能的示例中,所述第三滤波器包括用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器和用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器。
在本可能的示例中,所述用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器包括第三两抽头滤波器;
所述第三两抽头滤波器包括:
P C(x,y)=(P′ C(2x,2y)+P′ C(2x,2y+1)+1)>>1
其中,x,y为像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在本可能的示例中,所述用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器包括第一六抽头滤波器;
所述第一六抽头滤波器包括:
Figure PCTCN2021090909-appb-000010
其中,x,y为当前像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在本可能的示例中,在所述根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的参考预测块方面,所述确定单元141具体用于,根据所述亮度分量帧内预测模式,确定所述当前编码块的亮度分量的重构块;以及根据所述当前编码块的亮度分量的重构块,确定所述当前编码块的色度分量的参考预测块。
在本可能的示例中,在所述根据所述当前编码块的亮度分量的重构块,确定所述当前编码块的色度分量的参考预测块方面,所述确定单元141具体用于,确定利用所述当前编码块的亮度分量的重构块进行跨分量预测的线性模型;以及根据所述线性模型计算所述亮度分量的重构块,得到所述当前编码块的色度分量的参考预测块。
在本可能的示例中,在所述确定利用所述当前编码块的亮度分量的重构块进行跨分量预测的线性模 型方面,所述确定单元141具体用于,确定用于计算所述线性模型的参考像素,所述参考像素包括所述当前编码块的至少一个相邻像素;以及根据所述参考像素计算所述线性模型。
在本可能的示例中,在所述确定用于计算所述线性模型的参考像素方面,所述确定单元141具体用于,根据所述当前编码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
在本可能的示例中,在所述确定用于计算所述线性模型的参考像素方面,所述确定单元141具体用于,根据所述当前编码块的相邻编码块的码率失真代价最优的亮度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
在本可能的示例中,在所述根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块方面,所述确定单元141具体用于,根据所述当前编码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定参考像素;以及根据所述参考像素确定所述当前编码块的色度分量的预测块。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本申请实施例提供的图像编码装置包括但不限于上述模块,例如:图像编码装置还可以包括存储单元143。存储单元143可以用于存储该图像编码装置的程序代码和数据。
在采用集成的单元的情况下,本申请实施例提供的图像编码装置的结构示意图如图15所示。在图15中,图像编码装置15包括:处理模块150和通信模块151。处理模块150用于对图像编码装置的动作进行控制管理,例如,执行划分单元140、确定单元141、修正单元142执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块151用于支持图像编码装置与其他设备之间的交互。如图15所示,图像编码装置还可以包括存储模块152,存储模块152用于存储图像编码装置的程序代码和数据,例如存储上述存储单元143所保存的内容。
其中,处理模块150可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块151可以是收发器、RF电路或通信接口等。存储模块152可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述图像编码装置14和图像编码装置15均可执行上述图12A所示的图像编码方法,图像编码装置14和图像编码装置15具体可以是视频图像编码装置或者其他具有视频编码功能的设备。
本申请还提供一种视频编码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的图像编码方法。
本申请实施例提供一种图像解码装置,该图像解码装置可以为视频解码器或视频解码器。具体的,图像解码装置用于执行以上解码方法中的视频解码器所执行的步骤。本申请实施例提供的图像解码装置可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对图像解码装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图16示出上述实施例中所涉及的图像解码装置的一种可能的结构示意图。如图16所示,图像解码装置16包括解析单元160、确定单元161、修正单元162。
解析单元160,用于解析码流,确定当前解码块的色度分量帧内预测模式;
确定单元161,用于根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块;
修正单元162,用于对所述当前解码块的色度分量的预测块进行预测修正,得到所述当前解码块的色度分量的修正后的预测块。
在一个可能的示例中,在所述对所述当前解码块的色度分量的预测块进行预测修正方面,所述修正单元162具体用于:根据所述色度分量帧内预测模式确定滤波器;以及使用所述滤波器对所述当前解码块的色度分量的预测块进行预测修正。
在一个可能的示例中,在所述根据所述色度分量帧内预测模式确定滤波器方面,所述修正单元162具体用于:当所述色度分量帧内预测模式为TSCPM_T或者MCPM_T或者普通帧内垂直类角度预测模式时,所述滤波器设置为第一滤波器。
在一个可能的示例中,所述第一滤波器用于对与所述当前解码块的色度分量的预测块的左侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
在一个可能的示例中,所述第一滤波器包括第一两抽头滤波器;
所述第一两抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前解码块的宽的取值范围,y的值不超过当前解码块的高的取值范围,P’(x,y)为当前解码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在一个可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离。
在一个可能的示例中,所述根据所述色度分量帧内预测模式确定滤波器,包括:
当所述色度分量帧内预测模式为TSCPM_L或者MCPM_L或者普通帧内水平类角度预测模式时,所述滤波器设置为第二滤波器。
在一个可能的示例中,所述第二滤波器用于对与所述当前解码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
在一个可能的示例中,所述第二滤波器包括第二两抽头滤波器;
所述第二两抽头滤波器包括:
P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在一个可能的示例中,所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
在一个可能的示例中,在所述根据所述色度分量帧内预测模式确定滤波器方面,所述修正单元162具体用于:当所述色度分量帧内预测模式为普通帧内非角度预测模式时,所述滤波器设置为第三滤波器。
在一个可能的示例中,所述第三滤波器用于对与所述当前解码块的色度分量的预测块的左侧边界相邻的像素区域、与所述当前解码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前解码块的 色度分量的预测块的像素区域进行滤波。
在一个可能的示例中,所述第三滤波器包括第一三抽头滤波器;
所述第一三抽头滤波器包括:
P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
在一个可能的示例中,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离;
所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
在一个可能的示例中,在所述对所述当前解码块的色度分量的预测块进行预测修正方面,所述修正单元162,具体用于:解析所述码流,获取色度修正标志位;以及确定所述色度修正标志位的数值为第一数值,所述第一数值用于指示使用滤波器进行所述预测修正;以及对所述当前解码块的色度分量的预测块进行预测修正。
在一个可能的示例中,所述确定单元161,还用于确定所述色度修正标志位的数值为第二数值,所述第二数值用于指示不使用滤波器进行所述预测修正。
在一个可能的示例中,所述色度修正标志位与亮度修正标识位共用。
在一个可能的示例中,所述色度修正标识位独立使用。
在一个可能的示例中,在所述根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块方面,所述确定单元161,具体用于确定所述当前解码块的亮度分量帧内预测模式;以及当所述色度分量帧内预测模式指示使用所述当前解码块的亮度分量确定所述当前解码块的色度分量的预测值时,根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的预测块。
在一个可能的示例中,在所述根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的预测块方面,所述确定单元161具体用于:根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的参考预测块;以及对所述当前解码块的色度分量的参考预测块进行滤波,得到所述当前解码块的色度分量的预测块。
在一个可能的示例中,在所述对所述当前解码块的色度分量的参考预测块进行滤波方面,所述确定单元161具体用于:使用第三滤波器对所述当前解码块的色度分量的参考预测块进行滤波。
在一个可能的示例中,所述第三滤波器包括用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器和用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器。
在一个可能的示例中,所述用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器包括第三两抽头滤波器;
所述第三两抽头滤波器包括:
P C(x,y)=(P′ C(2x,2y)+P′ C(2x,2y+1)+1)>>1
其中,x,y为像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在一个可能的示例中,所述用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器包括第一六抽头滤波器;
所述第一六抽头滤波器包括:
Figure PCTCN2021090909-appb-000011
其中,x,y为当前像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
在一个可能的示例中,在所述根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的参考预测块方面,所述确定单元161具体用于:根据所述亮度分量帧内预测模式,确定所述当前解码块的亮度分量的重构块;以及根据所述当前解码块的亮度分量的重构块,确定所述当前解码块的色度分量的参考预测块。
在一个可能的示例中,在所述根据所述当前解码块的亮度分量的重构块,确定所述当前解码块的色度分量的参考预测块方面,所述确定单元161具体用于:确定利用所述当前解码块的亮度分量的重构块进行跨分量预测的线性模型;以及根据所述线性模型计算所述亮度分量的重构块,得到所述当前解码块的色度分量的参考预测块。
在一个可能的示例中,在所述确定利用所述当前解码块的亮度分量的重构块进行跨分量预测的线性模型方面,所述确定单元161具体用于:确定用于计算所述线性模型的参考像素,所述参考像素包括所述当前解码块的至少一个相邻像素;以及根据所述参考像素计算所述线性模型。
在一个可能的示例中,在所述确定用于计算所述线性模型的参考像素方面,所述确定单元161具体用于:根据所述当前解码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
在一个可能的示例中,在所述确定用于计算所述线性模型的参考像素方面,所述确定单元161具体用于:根据所述当前解码块的相邻解码块的码率失真代价最优的亮度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
在一个可能的示例中,在所述根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块方面,所述确定单元161具体用于:根据所述当前解码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定参考像素;以及根据所述参考像素确定所述当前解码块的色度分量的预测块。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本申请实施例提供的图像解码装置包括但不限于上述模块,例如:图像解码装置还可以包括存储单元163。存储单元163可以用于存储该图像解码装置的程序代码和数据。
在采用集成的单元的情况下,本申请实施例提供的图像解码装置的结构示意图如图17所示。在图17中,图像解码装置17包括:处理模块170和通信模块171。处理模块170用于对图像解码装置的动作进行控制管理,例如,执行解析单元160、确定单元161、修正单元162执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块171用于支持图像解码装置与其他设备之间的交互。如图17所示,图像解码装置还可以包括存储模块172,存储模块172用于存储图像解码装置的程序代码和数据,例如存储上述存储单元163所保存的内容。
其中,处理模块170可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块171可以是收发器、RF电路或通信接口等。存储模块172可以是存储器。
其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此 不再赘述。上述图像解码装置16和图像解码装置17均可执行上述图13所示的图像解码方法,图像解码装置16和图像解码装置17具体可以是视频图像解码装置或者其他具有视频解码功能的设备。
本申请还提供一种视频解码器,包括非易失性存储介质,以及中央处理器,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述可执行程序以实现本申请实施例的图像解码方法。
本申请还提供一种终端,该终端包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,终端执行本申请实施例的图像编码和/或图像解码方法。这里的终端可以是视频显示设备,智能手机,便携式电脑以及其它可以处理视频或者播放视频的设备。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当解码设备中的处理器在执行该程序代码时,该解码设备执行本申请实施例的图像编码方法、图像解码方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;解码设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得终端实施执行本申请实施例的图像编码方法、图像解码方法。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个 可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (68)

  1. 一种图像编码方法,其特征在于,包括:
    划分图像,确定当前编码块的色度分量帧内预测模式;
    根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块;
    对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。
  2. 根据权利要求1所述的方法,其特征在于,所述对所述当前编码块的色度分量的预测块进行预测修正,包括:
    根据所述色度分量帧内预测模式确定滤波器;
    使用所述滤波器对所述当前编码块的色度分量的预测块进行预测修正。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述色度分量帧内预测模式确定滤波器,包括:
    当所述色度分量帧内预测模式为两步跨分量预测模式TSCPM_T或者多种跨分量预测模式MCPM_T或者普通帧内垂直类角度预测模式时,所述滤波器设置为第一滤波器。
  4. 根据权利要求3所述的方法,其特征在于,所述第一滤波器用于对与所述当前编码块的色度分量的预测块的左侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
  5. 根据权利要求4所述的方法,其特征在于,所述第一滤波器包括第一两抽头滤波器;
    所述第一两抽头滤波器包括:
    P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
    其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,P(x,y)为像素(x,y)的原始预测样本。
  6. 根据权利要求5所述的方法,其特征在于,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离。
  7. 根据权利要求2所述的方法,其特征在于,所述根据所述色度分量帧内预测模式确定滤波器,包括:
    当所述色度分量帧内预测模式为TSCPM_L或者MCPM_L或者普通帧内水平类角度预测模式时,所述滤波器设置为第二滤波器。
  8. 根据权利要求7所述的方法,其特征在于,所述第二滤波器用于对与所述当前编码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
  9. 根据权利要求8所述的方法,其特征在于,所述第二滤波器包括第二两抽头滤波器;
    所述第二两抽头滤波器包括:
    P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
    其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
  10. 根据权利要求9所述的方法,其特征在于,所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
  11. 根据权利要求2所述的方法,其特征在于,所述根据所述色度分量帧内预测模式确定滤波器,包括:
    当所述色度分量帧内预测模式为普通帧内非角度预测模式时,所述滤波器设置为第三滤波器。
  12. 根据权利要求11所述的方法,其特征在于,所述第三滤波器用于对与所述当前编码块的色度分量的预测块的左侧边界相邻的像素区域、与所述当前编码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前编码块的色度分量的预测块的像素区域进行滤波。
  13. 根据权利要求12所述的方法,其特征在于,所述第三滤波器包括第一三抽头滤波器;
    所述第一三抽头滤波器包括:
    P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
    其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
  14. 根据权利要求13所述的方法,其特征在于,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离;
    所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
  15. 根据权利要求1所述的方法,其特征在于,所述对所述当前编码块的色度分量的预测块进行预测修正,包括:
    计算所述当前编码块在未修正情况下的第一率失真代价,以及计算所述当前编码块的已修正情况下的第二率失真代价;
    确定所述第一率失真代价大于所述第二率失真代价;
    对所述当前编码块的色度分量的预测块进行预测修正。
  16. 根据权利要求1所述的方法,其特征在于,所述对所述当前编码块的色度分量的预测块进行预测修正,包括:
    计算所述当前编码块在未修正情况下的第一率失真代价,以及计算所述当前编码块的已修正情况下的第二率失真代价;
    确定所述第一率失真代价大于所述第二率失真代价,设置色度修正标识位为第一数值,所述第一数值用于指示需要进行所述预测修正;
    对所述当前编码块的色度分量的预测块进行预测修正。
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    确定所述第一率失真代价小于或等于所述第二率失真代价,设置所述色度修正标识位为第二数值,所述第二数值用于指示不需要进行所述预测修正。
  18. 根据权利要求16或17所述的方法,其特征在于,所述色度修正标识位与亮度修正标识位共用。
  19. 根据权利要求16或17所述的方法,其特征在于,所述色度修正标识位独立使用。
  20. 根据权利要求1所述的方法,其特征在于,所述根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块,包括:
    确定所述当前编码块的亮度分量帧内预测模式;
    当所述色度分量帧内预测模式指示使用所述当前编码块的亮度分量确定所述当前编码块的色度分量的预测值时,根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的预测块。
  21. 根据权利要求1所述的方法,其特征在于,所述根据所述亮度分量帧内预测模式,确定所述当 前编码块的色度分量的预测块,包括:
    根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的参考预测块;
    对所述当前编码块的色度分量的参考预测块进行滤波,得到所述当前编码块的色度分量的预测块。
  22. 根据权利要求21所述的方法,其特征在于,所述对所述当前编码块的色度分量的参考预测块进行滤波,包括:
    使用第三滤波器对所述当前编码块的色度分量的参考预测块进行滤波。
  23. 根据权利要求22所述的方法,其特征在于,所述第三滤波器包括用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器和用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器。
  24. 根据权利要求23所述的方法,其特征在于,所述用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器包括第三两抽头滤波器;
    所述第三两抽头滤波器包括:
    P C(x,y)=(P′ C(2x,2y)+P′ C(2x,2y+1)+1)>>1
    其中,x,y为像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
  25. 根据权利要求24所述的方法,其特征在于,所述用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器包括第一六抽头滤波器;
    所述第一六抽头滤波器包括:
    Figure PCTCN2021090909-appb-100001
    其中,x,y为当前像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
  26. 根据权利要求21-25任一项所述的方法,其特征在于,所述根据所述亮度分量帧内预测模式,确定所述当前编码块的色度分量的参考预测块,包括:
    根据所述亮度分量帧内预测模式,确定所述当前编码块的亮度分量的重构块;
    根据所述当前编码块的亮度分量的重构块,确定所述当前编码块的色度分量的参考预测块。
  27. 根据权利要求26所述的方法,其特征在于,所述根据所述当前编码块的亮度分量的重构块,确定所述当前编码块的色度分量的参考预测块,包括:
    确定利用所述当前编码块的亮度分量的重构块进行跨分量预测的线性模型;
    根据所述线性模型计算所述亮度分量的重构块,得到所述当前编码块的色度分量的参考预测块。
  28. 根据权利要求27所述的方法,其特征在于,所述确定利用所述当前编码块的亮度分量的重构块进行跨分量预测的线性模型,包括:
    确定用于计算所述线性模型的参考像素,所述参考像素包括所述当前编码块的至少一个相邻像素;
    根据所述参考像素计算所述线性模型。
  29. 根据权利要求28所述的方法,其特征在于,所述确定用于计算所述线性模型的参考像素,包括:
    根据所述当前编码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
  30. 根据权利要求28所述的方法,其特征在于,所述确定用于计算所述线性模型的参考像素,包括:
    根据所述当前编码块的相邻编码块的码率失真代价最优的亮度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
  31. 根据权利要求1所述的方法,其特征在于,所述根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块,包括:
    根据所述当前编码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定参考像素;
    根据所述参考像素确定所述当前编码块的色度分量的预测块。
  32. 一种图像解码方法,其特征在于,包括:
    解析码流,确定当前解码块的色度分量帧内预测模式;
    根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块;
    对所述当前解码块的色度分量的预测块进行预测修正,得到所述当前解码块的色度分量的修正后的预测块。
  33. 根据权利要求32所述的方法,其特征在于,所述对所述当前解码块的色度分量的预测块进行预测修正,包括:
    根据所述色度分量帧内预测模式确定滤波器;
    使用所述滤波器对所述当前解码块的色度分量的预测块进行预测修正。
  34. 根据权利要求33所述的方法,其特征在于,所述根据所述色度分量帧内预测模式确定滤波器,包括:
    当所述色度分量帧内预测模式为TSCPM_T或者MCPM_T或者普通帧内垂直类角度预测模式时,所述滤波器设置为第一滤波器。
  35. 根据权利要求34所述的方法,其特征在于,所述第一滤波器用于对与所述当前解码块的色度分量的预测块的左侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
  36. 根据权利要求35所述的方法,其特征在于,所述第一滤波器包括第一两抽头滤波器;
    所述第一两抽头滤波器包括:
    P′(x,y)=f(x)·P(-1,y)+(1-f(x))·P(x,y)
    其中,x,y为当前像素的坐标,x的值不超过当前解码块的宽的取值范围,y的值不超过当前解码块的高的取值范围,P’(x,y)为当前解码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,P(x,y)为像素(x,y)的原始预测样本。
  37. 根据权利要求36所述的方法,其特征在于,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离。
  38. 根据权利要求33所述的方法,其特征在于,所述根据所述色度分量帧内预测模式确定滤波器,包括:
    当所述色度分量帧内预测模式为TSCPM_L或者MCPM_L或者普通帧内水平类角度预测模式时,所述滤波器设置为第二滤波器。
  39. 根据权利要求38所述的方法,其特征在于,所述第二滤波器用于对与所述当前解码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
  40. 根据权利要求39所述的方法,其特征在于,所述第二滤波器包括第二两抽头滤波器;
    所述第二两抽头滤波器包括:
    P′(x,y)=f(y)·P(x,-1)+(1-f(y))·P(x,y)
    其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(x,-1)为 位于X列的与上侧边界相邻的像素的重构样本,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
  41. 根据权利要求40所述的方法,其特征在于,所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
  42. 根据权利要求32所述的方法,其特征在于,所述根据所述色度分量帧内预测模式确定滤波器,包括:
    当所述色度分量帧内预测模式为普通帧内非角度预测模式时,所述滤波器设置为第三滤波器。
  43. 根据权利要求42所述的方法,其特征在于,所述第三滤波器用于对与所述当前解码块的色度分量的预测块的左侧边界相邻的像素区域、与所述当前解码块的色度分量的预测块的上侧边界相邻的像素区域和所述当前解码块的色度分量的预测块的像素区域进行滤波。
  44. 根据权利要求43所述的方法,其特征在于,所述第三滤波器包括第一三抽头滤波器;
    所述第一三抽头滤波器包括:
    P′(x,y)=f(x)·P(-1,y)+f(y)·P(x,-1)+(1-f(x)-f(y))·P(x,y)
    其中,x,y为当前像素的坐标,x的值不超过当前编码块的宽的取值范围,y的值不超过当前编码块的高的取值范围,P’(x,y)为当前编码块的色度分量的预测块的像素(x,y)的最终预测样本,P(-1,y)为位于y行的与左侧边界相邻的像素的重构样本,P(x,-1)为位于X列的与上侧边界相邻的像素的重构样本,f(x)为像素(x,y)参考像素P(-1,y)的水平滤波系数,f(y)为像素(x,y)参考像素P(x,-1)的垂直滤波系数,P(x,y)为像素(x,y)的原始预测样本。
  45. 根据权利要求44所述的方法,其特征在于,所述水平滤波系数通过第一参数集合确定,所述第一参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(-1,y)之间的距离;
    所述垂直滤波系数通过第二参数集合确定,所述第二参数集合包括所述色度分量的预测块的尺寸和像素(x,y)与像素P(x,-1)之间的距离。
  46. 根据权利要求32所述的方法,其特征在于,所述对所述当前解码块的色度分量的预测块进行预测修正,包括:
    解析所述码流,获取色度修正标志位;
    确定所述色度修正标志位的数值为第一数值,所述第一数值用于指示使用滤波器进行所述预测修正;
    对所述当前解码块的色度分量的预测块进行所述预测修正。
  47. 根据权利要求46所述的方法,其特征在于,所述方法还包括:
    确定所述色度修正标志位的数值为第二数值,所述第二数值用于指示不使用滤波器进行所述预测修正。
  48. 根据权利要求46或47所述的方法,其特征在于,所述色度修正标志位与亮度修正标识位共用。
  49. 根据权利要求46或47所述的方法,其特征在于,所述色度修正标识位独立使用。
  50. 根据权利要求32所述的方法,其特征在于,所述根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块,包括:
    确定所述当前解码块的亮度分量帧内预测模式;
    当所述色度分量帧内预测模式指示使用所述当前解码块的亮度分量确定所述当前解码块的色度分量的预测值时,根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的预测块。
  51. 根据权利要求50所述的方法,其特征在于,所述根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的预测块,包括:
    根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的参考预测块;
    对所述当前解码块的色度分量的参考预测块进行滤波,得到所述当前解码块的色度分量的预测块。
  52. 根据权利要求51所述的方法,其特征在于,所述对所述当前解码块的色度分量的参考预测块进行滤波,包括:
    使用第三滤波器对所述当前解码块的色度分量的参考预测块进行滤波。
  53. 根据权利要求52所述的方法,其特征在于,所述第三滤波器包括用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器和用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器。
  54. 根据权利要求53所述的方法,其特征在于,所述用于对所述色度分量的参考预测块的左侧边界像素区域进行滤波的滤波器包括第三两抽头滤波器;
    所述第三两抽头滤波器包括:
    P C(x,y)=(P′ C(2x,2y)+P′ C(2x,2y+1)+1)>>1
    其中,x,y为像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
  55. 根据权利要求54所述的方法,其特征在于,所述用于对所述色度分量的参考预测块的非左侧边界像素区域进行滤波的滤波器包括第一六抽头滤波器;
    所述第一六抽头滤波器包括:
    Figure PCTCN2021090909-appb-100002
    其中,x,y为当前像素的坐标,P' c为所述色度分量的参考预测块中的像素的预测样本,P c为所述色度分量的预测块中的当前像素的色度分量的预测样本。
  56. 根据权利要求51-55任一项所述的方法,其特征在于,所述根据所述亮度分量帧内预测模式,确定所述当前解码块的色度分量的参考预测块,包括:
    根据所述亮度分量帧内预测模式,确定所述当前解码块的亮度分量的重构块;
    根据所述当前解码块的亮度分量的重构块,确定所述当前解码块的色度分量的参考预测块。
  57. 根据权利要求56所述的方法,其特征在于,所述根据所述当前解码块的亮度分量的重构块,确定所述当前解码块的色度分量的参考预测块,包括:
    确定利用所述当前解码块的亮度分量的重构块进行跨分量预测的线性模型;
    根据所述线性模型计算所述亮度分量的重构块,得到所述当前解码块的色度分量的参考预测块。
  58. 根据权利要求57所述的方法,其特征在于,所述确定利用所述当前解码块的亮度分量的重构块进行跨分量预测的线性模型,包括:
    确定用于计算所述线性模型的参考像素,所述参考像素包括所述当前解码块的至少一个相邻像素;
    根据所述参考像素计算所述线性模型。
  59. 根据权利要求58所述的方法,其特征在于,所述确定用于计算所述线性模型的参考像素,包括:
    根据所述当前解码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
  60. 根据权利要求58所述的方法,其特征在于,所述确定用于计算所述线性模型的参考像素,包括:
    根据所述当前解码块的相邻解码块的码率失真代价最优的亮度分量帧内预测模式,确定用于计算所述线性模型的参考像素。
  61. 根据权利要求32所述的方法,其特征在于,所述根据所述色度分量帧内预测模式,确定所述 当前解码块的色度分量的预测块,包括:
    根据所述当前解码块的相邻像素的重构样本的可用信息和所述色度分量帧内预测模式,确定参考像素;
    根据所述参考像素确定所述当前解码块的色度分量的预测块。
  62. 一种图像编码装置,其特征在于,包括:
    划分单元,用于划分图像,确定当前编码块的色度分量帧内预测模式;
    确定单元,用于根据所述色度分量帧内预测模式,确定所述当前编码块的色度分量的预测块;
    修正单元,用于对所述当前编码块的色度分量的预测块进行预测修正,得到所述当前编码块的色度分量的修正后的预测块。
  63. 一种图像解码装置,其特征在于,包括:
    解析单元,用于解析码流,确定当前解码块的色度分量帧内预测模式;
    确定单元,用于根据所述色度分量帧内预测模式,确定所述当前解码块的色度分量的预测块;
    修正单元,用于对所述当前解码块的色度分量的预测块进行预测修正,得到所述当前解码块的色度分量的修正后的预测块。
  64. 一种编码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述编码器执行如权利要求1-31中任意一项所述的双向帧间预测方法。
  65. 一种解码器,包括非易失性存储介质以及中央处理器,其特征在于,所述非易失性存储介质存储有可执行程序,所述中央处理器与所述非易失性存储介质连接,当所述中央处理器执行所述可执行程序时,所述解码器执行如权利要求32-61中任意一项所述的双向帧间预测方法。
  66. 一种终端,其特征在于,所述终端包括:一个或多个处理器、存储器和通信接口;所述存储器、所述通信接口与所述一个或多个处理器连接;所述终端通过所述通信接口与其他设备通信,所述存储器用于存储计算机程序代码,所述计算机程序代码包括指令,
    当所述一个或多个处理器执行所述指令时,所述终端执行如权利要求1-61中任意一项所述的方法。
  67. 一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在终端上运行时,使得所述终端执行如权利要求1-61中任意一项所述的方法。
  68. 一种计算机可读存储介质,包括指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1-61中任意一项所述的方法。
PCT/CN2021/090909 2020-06-05 2021-04-29 图像编码方法、图像解码方法及相关装置 WO2021244197A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180005833.5A CN114514748A (zh) 2020-06-05 2021-04-29 图像编码方法、图像解码方法及相关装置
CN202210664095.1A CN115002485A (zh) 2020-06-05 2021-04-29 图像编码方法、图像解码方法及相关装置
MX2022009939A MX2022009939A (es) 2020-06-05 2021-04-29 Procedimiento de codificacion de imagenes, procedimiento de decodificacion de imagenes y aparatos relacionados.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010510423.3A CN113766246A (zh) 2020-06-05 2020-06-05 图像编码方法、图像解码方法及相关装置
CN202010510423.3 2020-06-05

Publications (1)

Publication Number Publication Date
WO2021244197A1 true WO2021244197A1 (zh) 2021-12-09

Family

ID=78785271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/090909 WO2021244197A1 (zh) 2020-06-05 2021-04-29 图像编码方法、图像解码方法及相关装置

Country Status (4)

Country Link
CN (3) CN113766246A (zh)
MX (1) MX2022009939A (zh)
TW (1) TW202147844A (zh)
WO (1) WO2021244197A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023197191A1 (zh) * 2022-04-12 2023-10-19 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质
WO2024078416A1 (zh) * 2022-10-12 2024-04-18 维沃移动通信有限公司 色度分量预测方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720747A (zh) * 2003-01-10 2006-01-11 汤姆森特许公司 为编码图像中的误差掩蔽定义内插滤波器
US20080063080A1 (en) * 2006-09-13 2008-03-13 Texas Instruments Incorporated Hierarchical Motion Estimation Using Original Frame for Sub-Sampled Reference
CN103141100A (zh) * 2010-10-01 2013-06-05 高通股份有限公司 用于视频译码的帧内平滑滤波器
CN107302700A (zh) * 2016-04-15 2017-10-27 谷歌公司 自适应方向环路滤波器
CN108293130A (zh) * 2015-11-27 2018-07-17 联发科技股份有限公司 通过帧内预测的视频编解码的装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1720747A (zh) * 2003-01-10 2006-01-11 汤姆森特许公司 为编码图像中的误差掩蔽定义内插滤波器
US20080063080A1 (en) * 2006-09-13 2008-03-13 Texas Instruments Incorporated Hierarchical Motion Estimation Using Original Frame for Sub-Sampled Reference
CN103141100A (zh) * 2010-10-01 2013-06-05 高通股份有限公司 用于视频译码的帧内平滑滤波器
CN108293130A (zh) * 2015-11-27 2018-07-17 联发科技股份有限公司 通过帧内预测的视频编解码的装置及方法
CN107302700A (zh) * 2016-04-15 2017-10-27 谷歌公司 自适应方向环路滤波器

Also Published As

Publication number Publication date
CN114514748A (zh) 2022-05-17
CN115002485A (zh) 2022-09-02
CN113766246A (zh) 2021-12-07
TW202147844A (zh) 2021-12-16
MX2022009939A (es) 2022-09-12

Similar Documents

Publication Publication Date Title
TWI755376B (zh) 用於視訊寫碼之濾波器之幾何轉換
WO2021238540A1 (zh) 图像编码方法、图像解码方法及相关装置
WO2021185257A1 (zh) 图像编码方法、图像解码方法及相关装置
WO2020220884A1 (zh) 视频序列的帧内预测方法及装置
WO2022088631A1 (zh) 图像编码方法、图像解码方法及相关装置
WO2021244197A1 (zh) 图像编码方法、图像解码方法及相关装置
US11516470B2 (en) Video coder and corresponding method
WO2021135856A1 (zh) 视频编解码方法、装置、设备及存储介质
WO2022037300A1 (zh) 编码方法、解码方法及相关装置
WO2022022622A1 (zh) 图像编码方法、图像解码方法及相关装置
CN114071161B (zh) 图像编码方法、图像解码方法及相关装置
CN113965764B (zh) 图像编码方法、图像解码方法及相关装置
US11985309B2 (en) Picture coding method, picture decoding method, and related apparatuses
CN116760976B (zh) 仿射预测决策方法、装置、设备及存储介质
WO2022174475A1 (zh) 视频编解码方法与系统、及视频编码器与视频解码器
WO2022179394A1 (zh) 图像块预测样本的确定方法及编解码设备
WO2023220970A1 (zh) 视频编码方法、装置、设备、系统、及存储介质
WO2022217447A1 (zh) 视频编解码方法与系统、及视频编解码器
CN113766227B (zh) 用于图像编码和解码的量化和反量化方法及装置
WO2020259330A1 (zh) 非可分离变换方法以及设备
WO2023173255A1 (zh) 图像编解码方法、装置、设备、系统、及存储介质
WO2022117036A1 (zh) 量化参数的解码方法和装置
WO2022155922A1 (zh) 视频编解码方法与系统、及视频编码器与视频解码器
WO2020007187A1 (zh) 图像块解码方法及装置
WO2020000487A1 (zh) 变换方法、反变换方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21815883

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21815883

Country of ref document: EP

Kind code of ref document: A1