Predictive decoding method, apparatus and computer storage medium

The predictive decoding method addresses the complexity of current video encoding standards by constructing a second adjacent reference sample set to improve performance and reduce bit rates in ultra-high definition video and virtual reality applications.

JP7606567B2Active Publication Date: 2024-12-25GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023094669
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-06-08
Publication Date
2024-12-25
Estimated Expiration
2039-01-02

AI Technical Summary

Technical Problem

The current video encoding standards, such as H.265/HEVC, struggle to meet the demands of ultra-high definition video and virtual reality applications due to complex predictive decoding processes caused by inappropriate adjacent reference sample sets, leading to reduced performance and increased bit rates.

Method used

A predictive decoding method that reduces search complexity by constructing a second adjacent reference sample set by excluding unimportant samples near the starting position, using a first adjacent reference sample set obtained from blocks to be decoded, thereby improving predictive decoding performance and reducing the bit rate.

Benefits of technology

The method enhances predictive decoding performance and compression efficiency while lowering the bit rate by using a smaller, more accurate second adjacent reference sample set, reducing search complexity and improving video image compression.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007606567000011
    Figure 0007606567000011
  • Figure 0007606567000012
    Figure 0007606567000012
  • Figure 0007606567000013
    Figure 0007606567000013
Patent Text Reader

Abstract

To provide a predictive decoding method, a device, and a storage medium, which can reduce the complexity of retrieval, improve the predictive decoding performance of a video image, and lower a bit rate.SOLUTION: A method includes: acquiring a reference sample adjacent to a block to be decoded to acquire a first adjacent reference sample set, the first adjacent reference sample set comprising reference samples of a reference row or a reference column adjacent to the block to be decoded; starting from the starting position of the reference row or the reference column to determine positions corresponding to K reference samples, K being a positive integer equal to or greater than 1; acquiring a second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set based on positions corresponding to determined K reference samples; and performing predictive decoding on the block to be decoded based on the second adjacent reference sample set.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to the technical field of video encoding and decoding, and more particularly to a predictive decoding method, a predictive decoding apparatus and a computer storage medium. [Background technology]

[0002] With people's increasing requirements for video display quality, new forms of video applications such as high definition video and ultra-high definition video have emerged. H.265 / high efficiency video coding (HEVC) is currently the latest international video compression standard. Although the compression performance of H.265 / HEVC is about 50% higher than that of the previous generation video encoding standard H.264 / advanced video coding (AVC), H.265 / HEVC still cannot meet the demands of the rapid development of video applications, especially new video applications such as ultra-high definition video and virtual reality (VR).

[0003] The Video Encoding Experts Group (VCEG) of the International Telegraph Union Telecommunication Standardization Sector (ITU-T) and the Moving Picture Experts Group (MPEG) of the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) established the Joint Video Experts Team (JVET) in 2015 to set the next-generation video encoding standard. In April 2018, JVET officially named the next-generation video encoding standard as versatile video coding (VVC), and the corresponding test model is the VVC test model (VTM). The VTM reference software integrates a linear model-based prediction method, which can predict the luma component from the chroma component of the current block to be decoded using this linear model. However, when constructing a linear model, the adjacent reference sample set constructed by the adjacent reference samples is inappropriate, which makes the search very complicated and reduces the predictive decoding performance of the video image. Summary of the Invention

[0004] In consideration of this, the embodiments of the present application provide a predictive decoding method, a predictive decoding device and a computer storage medium, which can reduce the number of samples in an adjacent reference sample set, thereby reducing the search complexity, improving the predictive decoding performance of video images and reducing the bit rate.

[0005] The technical solutions of the embodiments of the present application are as follows:

[0006] In a first aspect, an embodiment of the present application provides a predictive decoding method, which includes: obtaining a reference sample adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded; starting from a starting position of the reference row or the reference column, determining a position corresponding to K reference samples, where K is a positive integer equal to or greater than 1; obtaining a second adjacent reference sample set according to the position corresponding to the determined K reference samples, the second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set; and performing predictive decoding on the block to be decoded according to the second adjacent reference sample set.

[0007] In a second aspect, an embodiment of the present application provides a predictive decoding device. The predictive decoding device includes an acquisition unit, a determination unit, a rejection unit and a prediction unit. The acquisition unit is used to obtain a reference sample adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded. The determination unit is used to determine a position corresponding to K reference samples starting from a starting position of the reference row or the reference column, where K is a positive integer equal to or greater than 1. The rejection unit is used to obtain a second adjacent reference sample set according to the position corresponding to the determined K reference samples, the second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set. The prediction unit is used to perform predictive decoding on the block to be decoded based on the second adjacent reference sample set.

[0008] In a third aspect, an embodiment of the present application provides a predictive decoding apparatus, the predictive decoding apparatus comprising a memory and a processor, the memory being adapted to store a computer program executable by the processor, the processor being adapted to execute the computer program and thereby perform the method described in the first aspect.

[0009] In a fourth aspect, an embodiment of the present application provides a computer storage medium storing a predictive decoding program, the predictive decoding program being adapted to perform the method set forth in the first aspect when executed by at least one processor.

[0010] The embodiment of the present application provides a predictive decoding method, a predictive decoding device and a computer storage medium. A first adjacent reference sample set is obtained by obtaining reference samples adjacent to a block to be decoded, the first adjacent reference sample set is composed of reference samples of a reference row or a reference column adjacent to the block to be decoded, starting from the starting position of the reference row or the reference column, a position corresponding to K reference samples is determined, where K is a positive integer equal to or greater than 1, a second adjacent reference sample set is obtained according to the position corresponding to the determined K reference samples, the second adjacent reference sample set includes adjacent reference samples other than the K reference samples in the first adjacent reference sample set, and predictive decoding is performed on the block to be decoded according to the second adjacent reference sample set. Since the second adjacent reference sample set does not include reference samples that are not important and are close to the starting position, the model parameters constructed by using the second adjacent reference sample set are relatively accurate, and predictive decoding performance is improved. Furthermore, since the number of samples in the second adjacent reference sample set is small, the search complexity can be reduced, the compression efficiency of the video image can be improved, and the bit rate can be reduced. [Brief description of the drawings]

[0011] [Figure 1A]FIG. 1A is a schematic diagram of a video image sampling format in the related art. [Figure 1B] FIG. 1B is a schematic diagram of a video image sampling format in the related art. [Figure 1C] FIG. 1C is a schematic diagram of a video image sampling format in the related art. [Diagram 2] FIG. 2 is a block diagram of a video encoding system according to an embodiment of the present application. [Diagram 3] FIG. 3 is a block diagram of a video decoding system according to an embodiment of the present application. [Figure 4] FIG. 4 is a flowchart of a predictive decoding method according to an embodiment of the present application. [Diagram 5] FIG. 5 is a diagram illustrating the selection of neighboring reference samples in MDLM_A mode according to an embodiment of the present application. [Figure 6] FIG. 6 is a diagram illustrating the selection of neighboring reference samples in MDLM_L mode according to an embodiment of the present application. [Figure 7] FIG. 7 is a diagram illustrating the selection of adjacent reference samples in MDLM_A mode according to another embodiment of the present application. [Figure 8] FIG. 8 is a diagram illustrating the selection of neighboring reference samples in MDLM_L mode according to another embodiment of the present application. [Figure 9] FIG. 9 is a diagram illustrating that a decoding block according to an embodiment of the present application builds a prediction model based on a maximum value and a minimum value. [Figure 10] FIG. 10 is a schematic diagram showing the structure of a predictive decoding device according to an embodiment of the present application. [Figure 11] FIG. 11 is a diagram illustrating a specific hardware structure of a predictive decoding device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] In order to understand in detail the characteristics and technical contents of the embodiments of the present application, the technical solutions of the embodiments of the present application are described in detail below with reference to the drawings, and the attached drawings are for illustrative purposes only and do not limit the present application.

[0013] In a video image, the decoding block is generally denoted by a first image component, a second image component, and a third image component, where the first image component, the second image component, and the third image component are a luma component, a blue chroma component, and a red chroma component, respectively. Specifically, the luma component is generally denoted by the symbol Y, the blue chroma component is generally denoted by the symbol Cb, and the red chroma component is generally denoted by the symbol Cr.

[0014] In the embodiment of the present application, the first image component may be a luminance component Y, the second image component may be a blue chroma component Cb, and the third image component may be a red chroma component Cr, but the embodiment of the present application is not specifically limited thereto. Currently, a commonly used sampling format is the YCbCr format. The YCbCr format includes the following types, as shown in Figures 1A to 1C: The cross (X) in the drawings represents the sampling point of the first image component, and the circle (○) represents the sampling point of the second image component or the third image component. The YCbCr format includes the following:

[0015] 4:4:4 format: As shown in Figure 1A, no downsampling is performed on the second or third image components. For every four consecutive samples in each scan row, take four samples of the first image component, four samples of the second image component, and four samples of the third image component.

[0016] 4:2:2 format: As shown in Fig. 1B, the first image component performs 2:1 horizontal sampling with respect to the second or third image component, and no vertical downsampling is performed. In each scan row, for every four consecutive samples, take four samples of the first image component, two samples of the second image component, and two samples of the third image component.

[0017] 4:2:0 format: As shown in Fig. 1C, the first image component performs 2:1 horizontal downsampling and 2:1 vertical downsampling on the second or third image component. In a horizontal scan line and a vertical scan line, for every two consecutive samples, take two samples of the first image component, one sample of the second image component, and one sample of the third image component.

[0018] When the YCbCr format adopted by the video image is 4:2:0 format, if the first image component of the video image is a decoding block of size 2N×2N, the corresponding second image component or third image component is a decoding block of size N×N, where N is the length of one side of the decoding block. Hereinafter, the embodiment of the present application will be described taking the 4:2:0 format as an example, but the technical solution of the embodiment of the present application can also be applied to other sampling formats.

[0019] In the H.266 video encoding standard, to further improve the encoding and decoding performance, cross-component prediction (CCP) is extended and cross-component linear model (CCLM) prediction and multi-directional linear model (MDLM) prediction are proposed. In H.266, both CCLM and MDLM can realize prediction between the first image component and the second image component, prediction between the first image component and the third image component, and prediction between the second image component and the third image component.

[0020] Taking prediction between a first image component and a second image component as an example, CCLM prediction modes are used in VTM to reduce redundancy between the first image component and the second image component, and may mainly include CCLM mode and MDLM mode. Here, CCLM mode is also called linear model (LM) mode. MDLM mode may include MDLM_A (MDLM_Above) mode and MDLM_L (MDLM_LEFT) mode. MDLM_A mode is also called MDLM_T (MDLM_Top) mode or CCLM_T (CCLM_Top) mode, and MDLM_L mode is also called CCLM_L (CCLM_Left) mode. Generally, in the reference software VTM 3.0 of VVC, three CCLM prediction modes such as LM mode, MDLM_A mode, and MDLM_L mode are in a competitive relationship. The difference between the above three modes is that the adjacent reference sample sets constructed to derive the model parameters α and β are different.

[0021] In order to improve predictive decoding performance by making the adjacent reference sample set constructed for deriving the model parameters α and β more accurate, the embodiment of the present application provides a predictive decoding method. First, a reference sample adjacent to a block to be decoded is obtained to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded. Then, starting from the starting position of the reference row or the reference column, a position corresponding to K reference samples is determined, where K is a positive integer equal to or greater than 1. Further, a second adjacent reference sample set is obtained based on the position corresponding to the determined K reference samples, the second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set. Finally, predictive decoding is performed on the block to be decoded based on the second adjacent reference sample set. The second adjacent reference sample set includes the remaining adjacent reference sample set excluding reference samples that are not important and are close to the starting position from the first adjacent reference sample set, so that the model parameters constructed using the second adjacent reference sample set are relatively accurate, improving predictive decoding performance. In addition, since the number of samples in the second adjacent reference sample set is small, the search complexity can be reduced, the compression efficiency of the video image can be improved, and the bit rate can be reduced.

[0022] FIG. 2 is a block diagram of a video encoding system according to an embodiment of the present application. As shown in FIG. 2, the video encoding system 200 includes a transform and quantization unit 201, an intra estimation unit 202, an intra prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control analysis unit 207, a filtering unit 208, a coding unit 209, a decoded image cache unit 210, etc. The filtering unit 208 can realize deblocking (DBK) filtering and sample adaptive offset (SAO) filtering. The coding unit 209 can realize header information coding and CABAC (context-based adaptive binary arithmetic coding). For an input original video signal, a video coding block can be obtained by dividing a coding tree unit (CTU). Then, the video coding block is transformed by the transform and quantization unit 201 for the residual sample information obtained by intra prediction or inter prediction, the residual information is transformed from the pixel domain to the transform domain, and the obtained transform coefficients are quantized to further reduce the bit rate. The intra estimation unit 202 and the intra prediction unit 203 are used to perform intra prediction on the video coding block. Specifically, the intra estimation unit 202 and the intra prediction unit 203 are used to determine the intra prediction mode used to encode the video coding block. The motion compensation unit 204 and the motion estimation unit 205 are used to perform inter-frame predictive coding of the received video coding block with respect to one or more blocks in one or more reference frames to provide temporal prediction information.The motion estimation performed by the motion estimation unit 205 is a process of generating a motion vector, which can estimate the motion of a video coding block. The motion compensation unit 204 is used to perform motion compensation based on the motion vector determined by the motion estimation unit 205. After determining the intra prediction mode, the intra prediction unit 203 is further used to provide the selected intra prediction data to the coding unit 209, and the motion estimation unit 205 is used to send the calculated motion vector data to the coding unit 209. The inverse transform and inverse quantization unit 206 is used to reconstruct the video coding block. The residual block is reconstructed in the pixel domain, and the blocking artifacts of the reconstructed residual block are removed via the filter control analysis unit 207 and the filtering unit 208, and then the reconstructed residual block is added to one prediction block in a frame of the decoded image cache unit 210 to generate a reconstructed video coding block. The coding unit 209 is used to encode various encoding parameters and quantized transform coefficients. In a coding algorithm based on CABAC, the context content may be based on neighboring coding blocks, and information indicating a determined intra-prediction mode may be encoded to output a bitstream of a video signal. The decoded picture cache unit 210 is used to store reconstructed video coding blocks for prediction reference. As the encoding of a video image progresses, new reconstructed coding blocks are constantly generated, and all these reconstructed coding blocks are stored in the decoded picture cache unit 210.

[0023] FIG. 3 is a block diagram of a video decoding system according to an embodiment of the present application. As shown in FIG. 3, the video decoding system 300 includes a decoding unit 301, an inverse transform and inverse quantization unit 302, an intra prediction unit 303, a motion compensation unit 304, a filtering unit 305, a decoded image cache unit 306, etc. The decoding unit 301 can realize header information decoding and CABAC decoding. The filtering unit 305 can realize DBK filtering and SAO filtering. After an input video signal is encoded (as shown in FIG. 2), it outputs a bitstream of a video signal. The bitstream is input to the video decoding system 300. First, a decoded transform coefficient is obtained through the decoding unit 301. The decoded transform coefficient is processed by the inverse transform and inverse quantization unit 302 to generate a residual block in the pixel domain. The intra prediction unit 303 can be used to generate prediction data of a current video coding block based on a determined intra prediction mode and data of a previous decoded block from a current frame or image. The motion compensation unit 304 is used to analyze the motion vectors and other related syntax elements to determine prediction information used for the video coding block, and uses the prediction information to generate a prediction block for the currently decoded video coding block. A decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 302 with the corresponding prediction block generated by the intra prediction unit 303 or the motion compensation unit 304. Blocking artifacts of the decoded video signal can be removed via the filtering unit 305 to improve the quality of the video. The decoded video block is then stored in the decoded image cache unit 306.The decoded image cache unit 306 is used to store reference images used for subsequent intra prediction or motion compensation, and is also used to output a video signal, i.e., to obtain a restored original video signal.

[0024] The embodiments of the present application may be applied to the intra prediction unit 203 shown in Fig. 2 and the intra prediction unit 303 shown in Fig. 3. In other words, the embodiments of the present application may be applied to both encoding systems and decoding systems, although the embodiments of the present application are not limited in this regard.

[0025] Based on the example application scenario shown in Figure 2 or Figure 3, please refer to Figure 4, which is a flowchart of a predictive decoding method according to an embodiment of the present application. The method may include the following contents:

[0026] S401, obtaining reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded.

[0027] S402, starting from the starting position of a reference row or a reference column, determine positions corresponding to K reference samples, where K is a positive integer equal to or greater than 1.

[0028] S403, obtain a second adjacent reference sample set according to positions corresponding to the determined K reference samples, where the second adjacent reference sample set includes adjacent reference samples other than the K reference samples in the first adjacent reference sample set.

[0029] S404, performing predictive decoding on the block to be decoded based on the second adjacent reference sample set.

[0030] The block to be decoded is a decoding block for performing first image component prediction, second image component prediction, or third image component prediction. The reference row or reference column adjacent to the block to be decoded may be a reference row adjacent to the upper side of the block to be decoded, may be a reference column adjacent to the left side of the block to be decoded, or may be a reference row or reference column adjacent to the other side of the block to be decoded, and the embodiment of the present application is not specifically limited. For convenience of description, in the embodiment of the present application, the reference row adjacent to the block to be decoded is described as a reference row adjacent to the upper side of the block to be decoded, and the reference column adjacent to the block to be decoded is described as a reference column adjacent to the left side of the block to be decoded.

[0031] The reference samples in the reference row adjacent to the block to be decoded may include reference samples adjacent to the upper side and reference samples adjacent to the upper right side (also referred to as adjacent reference samples corresponding to the upper side and the upper right side). The upper side refers to the upper side of the block to be decoded. The upper right side refers to the side of the upper side of the block to be decoded extending to the right along the horizontal direction and having a length equal to the width of the current block to be decoded. The reference samples in the reference column adjacent to the block to be decoded may include reference samples adjacent to the left side and reference samples adjacent to the lower left side (also referred to as adjacent reference samples corresponding to the left side and the lower left side). The left side refers to the left side of the block to be decoded. The lower left side refers to the side of the left side of the block to be decoded extending downward along the vertical direction and having a length equal to the height of the current block to be decoded. However, the embodiment of the present application is not specifically limited thereto.

[0032] The K reference samples are unimportant reference samples in the first adjacent reference sample set, and are generally distributed near the starting position of the reference row or the reference column. The starting position of the reference row refers to the leftmost position of the reference row. The starting position of the reference column refers to the topmost position of the reference column. Since the reference row is horizontal, "starting from the starting position of the reference row or the reference column, determine the positions corresponding to the K reference samples" means starting from the leftmost position of the reference row and determining the positions corresponding to the K reference samples along the horizontal direction to the right. Since the reference column is vertical, "starting from the starting position of the reference row or the reference column, determine the positions corresponding to the K reference samples along the vertical direction to the bottom. In this way, the first adjacent reference sample set can be obtained by obtaining the reference samples adjacent to the block to be decoded. The first adjacent reference sample set is composed of reference samples of the reference row or the reference column adjacent to the block to be decoded. Starting from the start position of the reference row or the reference column, a position corresponding to K reference samples is determined, where K is a positive integer equal to or greater than 1. A second adjacent reference sample set is obtained according to the positions corresponding to the determined K reference samples, and the second adjacent reference sample set includes adjacent reference samples other than the K reference samples in the first adjacent reference sample set. Predictive decoding is performed on the block to be decoded based on the second adjacent reference sample set. The second adjacent reference sample set includes the remaining adjacent reference sample set excluding the reference samples that are not important and are close to the start position from the first adjacent reference sample set, so that the model parameters constructed using the second adjacent reference sample set are relatively accurate, and predictive decoding performance is improved. Furthermore, the number of samples in the second adjacent reference sample set is small, so that the search complexity can be reduced, the compression efficiency of the video image can be improved, and the bit rate can be reduced.

[0033] It can be understood that the predictive decoding method according to the embodiment of the present application can also be applied to an encoding system. By constructing a second adjacent reference sample set in the encoding system, it is possible to not only improve the predictive encoding performance of the video image, but also improve the encoding compression efficiency and save the encoding code rate. Hereinafter, the construction of the second adjacent reference sample set in the decoding system will be described as an example.

[0034] In some embodiments, the prediction mode of the block to be decoded is the MDLM prediction mode, and the MDLM prediction modes include an MDLM_A mode and an MDLM_L mode.

[0035] In some implementations, optionally, before determining the positions corresponding to the K reference samples starting from the starting position of the reference row or the reference column, the method further includes: in MDLM_A mode, calculate and obtain the value of K based on the length of the reference row and a first preset ratio, the first preset ratio being the preset ratio corresponding to the reference row; or in MDLM_L mode, calculate and obtain the value of K based on the length of the reference column and a second preset ratio, the second preset ratio being the preset ratio corresponding to the reference column.

[0036] In some embodiments, optionally, before determining the positions corresponding to the K reference samples starting from the starting position of the reference row or the reference column, the method further includes: in MDLM_A mode, calculate the value of K according to the length of the top edge of the block to be decoded and a first preset ratio; or in MDLM_L mode, calculate the value of K according to the length of the left edge of the block to be decoded and a second preset ratio.

[0037] Furthermore, determining positions corresponding to the K reference samples starting from a starting position of the reference row or column includes: In the MDLM_A mode, determining positions corresponding to K consecutive reference samples starting from the left end of the reference row and proceeding to the right; In the MDLM_L mode, determining positions corresponding to K consecutive reference samples starting from the top of the reference sequence and proceeding downward; Includes.

[0038] The neighboring reference sample set constructed for searching the maximum neighboring reference value of the first image component and the minimum neighboring reference value of the first image component is not the first neighboring reference sample set but the second neighboring reference sample set. The second neighboring reference sample set includes the remaining reference samples except for the predetermined number (K) of reference samples starting from the starting position. In this way, the reference samples that are not important and close to the starting position are excluded, so that the model parameters constructed using the second neighboring reference sample set are relatively accurate, and the purpose of improving the predictive decoding performance is achieved.

[0039] The value of K can be a number of preset reference samples, for example, 1, 2 or 4, or can be calculated based on the length of the reference row or column of the block to be decoded and the corresponding preset ratio, or can be calculated based on the length of the side of the block to be decoded and the corresponding preset ratio. However, in actual application, it can be specifically set according to the actual situation, and the embodiment of the present application does not specifically limit it. The preset ratio corresponding to the reference row of the block to be decoded is represented by a first preset ratio, and the preset ratio corresponding to the reference column of the block to be decoded is represented by a second preset ratio, and the values ​​of the first preset ratio and the second preset ratio can be the same or different, and the embodiment of the present application does not specifically limit it.

[0040] Regardless of whether the MDLM_A mode is applied to all reference samples in a reference row (i.e., adjacent reference samples corresponding to the upper side and upper right side), or the MDLM_L mode is applied to all reference samples in a reference column (i.e., adjacent reference samples corresponding to the left side and lower left side), for the two modes, it is assumed that N is the length of the side of the block to be decoded (in the MDLM_A mode, N is the width of the block to be decoded, i.e., the length of the upper side, and in the MDLM_L mode, N is the height of the block to be decoded, i.e., the length of the left side), and when the lengths of the sides of the block to be decoded are different, the value of K can be obtained directly according to Table 1. Referring to Table 1, the number of reference samples of the second adjacent reference sample set constructed in the MDLM mode provided by the embodiment of the present application is illustrated. In Table 1, N 1 represents the number of adjacent reference samples in the first adjacent reference sample set, and N 2 represents the number of adjacent reference samples in the second adjacent reference sample set, and K represents the preset number of adjacent reference samples not considered in the embodiment of the present application. [Table 1]

[0041] In MDLM_A mode, when all reference samples in a reference row (ie, adjacent reference samples corresponding to the upper edge and the upper right edge) are available, there are two processing methods:

[0042] First processing method: Taking the length of the reference row and the corresponding first preset ratio as an example, the first preset ratio is 1 / 4, the length of the side of the block to be decoded (i.e., the number of reference samples on the upper side) is 8, and the length of the reference row (i.e., the total number of reference samples on the upper side and the upper right side) is 16, the value of K is 4. That is, the remaining 3 / 4 reference samples (i.e., 12 reference samples) close to the right end position in the adjacent reference sample set corresponding to the upper side and the upper right side are used to form a second adjacent reference sample set, which is used to derive model parameters α and β.

[0043] Second processing method: Taking the length of the upper edge of the block to be decoded and the corresponding first preset ratio as an example, assuming that the first preset ratio is 1 / 2 and the length of the upper edge of the block to be decoded (i.e., the number of reference samples of the upper edge) is 8, the value of K is 4. That is, the remaining 3 / 4 reference samples (i.e., 12 reference samples) close to the right end position in the adjacent reference sample set corresponding to the upper edge and the upper right edge are used to form a second adjacent reference sample set, which is used to derive model parameters α and β.

[0044] For example, refer to FIG. 5, which is a diagram illustrating the selection of adjacent reference samples in the MDLM_A mode according to an embodiment of the present application. As shown in FIG. 5, the block to be decoded is a square, and the gray solid circle represents the adjacent reference sample of the selected block to be decoded. First, it is necessary to perform downsampling on the first image component, and the first image component and the second image component thus downsampled have the same resolution. Assuming that the first preset ratio is 1 / 4 and the length of the reference row (i.e., the total number of reference samples adjacent to the upper side and the upper right side) is 16, the value of K is 4. That is, regardless of the first image component and the second image component, starting from the left end of the reference row, the positions corresponding to four consecutive reference samples toward the right are determined, the determined four reference samples are excluded, and the remaining 3 / 4 reference samples (i.e., 12 reference samples) close to the position of the right end are used to form a second adjacent reference sample set, which is used to derive the model parameters α and β.

[0045] The first preset ratio can be not only 1 / 4, but also 1 / 8 or 1 / 2. Different first preset ratios correspond to different values ​​of K, and the embodiments of the present application are not specifically limited thereto.

[0046] In addition to the common scenario where all reference samples of a reference row (i.e., adjacent reference samples corresponding to the top edge and the top-right edge) are available in MDLM_A mode, there are also some exceptions. Three exceptions are detailed below.

[0047] Exception 1: If the neighboring samples corresponding to the upper edge of the block to be decoded are not available, there is no neighboring reference sample, the model parameter α is set to 0, and the model parameter β is set to the middle value 512 of the second image component, that is, the predicted values ​​of the second image component corresponding to all samples in the current decoding block are 512.

[0048] Exception 2: When the adjacent samples corresponding to the upper side of the block to be decoded are available but the adjacent samples corresponding to the upper right side of the block to be decoded are not available, in the above first processing method, the length of the reference row (only the number of reference samples on the upper side) is 8, the first preset ratio is 1 / 4, and the value of K is 2. That is, the remaining 3 / 4 reference samples (i.e., 6 reference samples) close to the right end position in the adjacent reference sample set corresponding to the upper side of the block to be decoded are used to configure the second adjacent reference sample set and derive the model parameters α and β. In the above second processing method, the length of the upper side of the block to be decoded (i.e., the number of reference samples on the upper side) is 8, the first preset ratio is 1 / 2, and the value of K is 4. That is, the remaining 1 / 2 reference samples (i.e., 4 reference samples) close to the right end position in the adjacent reference sample set corresponding to the upper side of the block to be decoded are used to configure the second adjacent reference sample set and derive the model parameters α and β.

[0049] Exception 3: When the adjacent samples corresponding to the upper edge of the block to be decoded and the adjacent samples corresponding to the upper right edge of the block to be decoded are all available, a second adjacent reference sample set is constructed in the same manner as the first processing method or the second processing method described above to derive the model parameters α and β.

[0050] In the MDLM_L mode, when all the reference samples of the reference column (ie, the adjacent reference samples corresponding to the left side and the lower left side) are available, it includes the following two processing methods.

[0051] Third processing method: Taking the length of the reference string and the corresponding second preset ratio as an example, the second preset ratio is 1 / 4, the length of the side of the block to be decoded (i.e., the number of reference samples on the left side) is 8, and the length of the reference string (i.e., the total number of reference samples on the left side and the lower left side) is 16, the value of K is 4. That is, the remaining 3 / 4 reference samples (i.e., 12 reference samples) close to the bottom position in the adjacent reference sample set corresponding to the left side and the lower left side are used to form a second adjacent reference sample set and derive the model parameters α and β.

[0052] Fourth processing method: Taking the length of the left side of the block to be decoded and the corresponding second preset ratio as an example, assuming that the second preset ratio is 1 / 2 and the length of the left side of the block to be decoded (i.e., the number of reference samples on the left side) is 8, the value of K is 4. That is, the remaining 3 / 4 reference samples (i.e., 12 reference samples) close to the bottom position in the adjacent reference sample set corresponding to the left side and the lower left side are used to form a second adjacent reference sample set and derive the model parameters α and β.

[0053] For example, refer to FIG. 6, which is a diagram illustrating the selection of adjacent reference samples in the MDLM_L mode according to an embodiment of the present application. As shown in FIG. 6, the block to be decoded is a square, and the gray solid circle represents the adjacent reference samples of the selected block to be decoded. First, it is necessary to perform downsampling on the first image component, and the first image component and the second image component thus downsampled have the same resolution. Assuming that the second preset ratio is 1 / 4 and the length of the reference string (i.e., the total number of reference samples adjacent to the left side and the lower left side) is 16, the value of K is 4. That is, regardless of the first image component and the second image component, starting from the top of the reference string, the positions corresponding to the four consecutive reference samples downward are determined, the four determined reference samples are eliminated, and the remaining 3 / 4 reference samples (i.e., 12 reference samples) close to the bottom position of the reference string constitute a second adjacent reference sample set, which is used to derive the model parameters α and β.

[0054] The second preset ratio can be not only 1 / 4, but also 1 / 8 or 1 / 2. Different second preset ratios correspond to different values ​​of K, and the embodiments of the present application are not specifically limited thereto.

[0055] In addition to the common scenario where all reference samples of a reference column (i.e., adjacent reference samples corresponding to the left edge and bottom-left edge) are available in MDLM_A mode, there are also some exceptions. Three exceptions are detailed below.

[0056] Exception 1: If the adjacent samples corresponding to the left edge of the block to be decoded are not available, there is no adjacent reference sample, the model parameter α is set to 0, and the model parameter β is set to the intermediate value 512 of the second image component, that is, the predicted values ​​of the second image component corresponding to all samples in the current decoding block are 512.

[0057] Exception 2: When the adjacent samples corresponding to the left side of the block to be decoded are available but the adjacent samples corresponding to the lower left side of the block to be decoded are not available, in the above third processing method, the length of the reference string (only the number of reference samples on the left side) is 8, the second preset ratio is 1 / 4, and the value of K is 2. That is, the remaining 3 / 4 reference samples (i.e., 6 reference samples) close to the bottom position in the adjacent reference sample set corresponding to the left side of the block to be decoded are used to configure the second adjacent reference sample set and derive the model parameters α and β. In the above fourth processing method, the length of the left side of the block to be decoded (i.e., the number of reference samples on the left side) is 8, the second preset ratio is 1 / 2, and the value of K is 4. That is, the remaining 1 / 2 reference samples (i.e., 4 reference samples) close to the bottom position in the adjacent reference sample set corresponding to the left side of the block to be decoded are used to configure the second adjacent reference sample set and derive the model parameters α and β.

[0058] Exception 3: When the adjacent samples corresponding to the left side of the block to be decoded and the adjacent samples corresponding to the lower left side of the block to be decoded are all available, a second adjacent reference sample set is constructed in the same manner as the third or fourth processing method described above to derive the model parameters α and β.

[0059] In some implementations, in MDLM_A mode, before determining the positions corresponding to the K reference samples, the method further includes: determining positions corresponding to i consecutive reference samples starting from the leftmost position of the reference row toward the right; determining positions corresponding to j consecutive reference samples starting from the rightmost position of the reference row toward the left, where i is a positive integer; The image is JPEG0007606567000002.jpg8139.

[0060] In some embodiments, in MDLM_L mode, before determining the positions corresponding to the K reference samples, the method further includes: determining positions corresponding to p consecutive reference samples starting from a top position of the reference string; determining positions corresponding to q consecutive reference samples starting from a bottom position of the reference string, where p is a positive integer; The image is JPEG0007606567000003.jpg11139.

[0061] Regardless of the MDLM_A mode and the MDLM_L mode, some reference samples near the start position of the reference row or the reference column and some reference samples near the end position of the reference row or the reference column can be excluded. The second adjacent reference sample set only includes reference samples corresponding to the middle position of the reference row or the reference column. The value of i and the value of j can be the same or different. The value of p and the value of q can be the same or different. In practical applications, the value of i, the value of j, the value of p, and the value of q can be specifically set according to the practical situation, and the embodiment of the present application is not limited thereto.

[0062] Taking the MDLM_A mode as an example, FIG. 7 is a diagram illustrating the selection of adjacent reference samples in the MDLM_A mode according to another embodiment of the present application. As shown in FIG. 7, the block to be decoded is a square, and the gray solid circle represents the adjacent reference samples of the selected block to be decoded. First, it is necessary to perform downsampling on the first image component, and the first image component and the second image component thus downsampled have the same resolution. Assuming that the first preset ratio is 1 / 4 and the length of the reference row (i.e., the total number of reference samples adjacent to the upper side and the upper right side) is 16, the value of K is 4. Assuming that the number of samples to be eliminated near one end of the reference row is the same as the number of samples to be eliminated near the other end of the reference row, i.e., 1 / 8 of the reference samples near the start position of the reference row are eliminated, and 1 / 8 of the reference samples near the end position of the reference row are eliminated, where i=j=2. Therefore, regardless of the first image component and the second image component, a position corresponding to two consecutive reference samples from the left end of the reference row toward the right is determined, a position corresponding to two consecutive reference samples from the right end of the reference row toward the left is determined, the determined four reference samples are eliminated, and finally, the remaining 3 / 4 reference samples (i.e., 12 reference samples) corresponding to the middle positions of the reference row are used to construct a second adjacent reference sample set, which is used to derive the model parameters α and β.

[0063] Take MDLM_L mode as an example, and refer to FIG. 8, which is a diagram illustrating the selection of adjacent reference samples in MDLM_L mode according to another embodiment of the present application. As shown in FIG. 8, the block to be decoded is a square, and the gray solid circle represents the adjacent reference samples of the selected block to be decoded. First, it is necessary to perform downsampling on the first image component, and the first image component and the second image component thus downsampled have the same resolution. Assuming that the second preset ratio is 1 / 4 and the length of the reference string (i.e., the total number of reference samples adjacent to the left side and the lower left side) is 16, the value of K is 4. Assuming that the number of samples to be eliminated near one end of the reference string is the same as the number of samples to be eliminated near the other end of the reference string, i.e., 1 / 8 of the reference samples near the start position of the reference string are eliminated, and 1 / 8 of the reference samples near the end position of the reference string are eliminated, and p=q=2. Therefore, regardless of the first image component and the second image component, a position corresponding to two consecutive reference samples from the top of the reference column downward is determined, a position corresponding to two consecutive reference samples from the bottom of the reference column upward is determined, the determined four reference samples are eliminated, and finally, the remaining 3 / 4 reference samples (i.e., 12 reference samples) corresponding to the middle positions of the reference column are used to construct a second adjacent reference sample set, which is used to derive the model parameters α and β.

[0064] It can be seen that CCLM prediction mode is used in VTM to reduce redundancy between the first image component and the second image component. For CCLM prediction modes such as LM mode and MDLM mode, the second image component can be obtained by predicting the reconstruction value of the first image component of the same decoding block. For example, the prediction model of Equation (1) can be adopted.

number

[0065] i, j represent the position coordinates of the sample in the decoding block, where i represents the horizontal direction and j represents the vertical direction. c [i, j] represents the predicted value of the second image component corresponding to the sample whose position coordinates in the decoding block are [i, j]. L [i, j] represents the reconstructed value of the first image component corresponding to the sample with position coordinates [i, j] in the same downsampled decoding block, and α and β are model parameters of the above prediction model.

[0066] According to the second adjacent reference sample set obtained above, the second model parameters α and β can be constructed in various ways. It can be a regression construction method based on the least squares method, a maximum and minimum construction method, or other construction methods. Hereinafter, the regression construction method based on the least squares method and the maximum and minimum construction method will be described as examples.

[0067] In VVC, α and β can be derived by using the regression error based on the least squares method with the first image component adjacent reference value and the second image component adjacent reference value corresponding to the reference sample in the second adjacent reference sample set. α and β can be derived by the following equation (2).

number

[0068] L(n) represents the first image component adjacent reference value corresponding to the reference sample in the second adjacent reference sample set, C(n) represents the second image component adjacent reference value corresponding to the reference sample in the second adjacent reference sample set, and N is the number of reference samples in the second adjacent reference sample set.

[0069] In VVC, the model parameters α and β can be derived based on the principle that "two points define one line" by searching the maximum first image component adjacent reference value and the minimum first image component adjacent reference value from the second adjacent reference sample set. α and β can be derived by the following formula (3).

number

[0070] L max and L min represent the maximum and minimum values ​​searched from the first image component adjacent reference values ​​corresponding to the reference samples in the second adjacent reference sample set, respectively, and C max , L max represents the second image component adjacent reference value corresponding to the reference sample at the position corresponding to C min , L min 9 is a diagram showing how the decoding block according to an embodiment of the present application builds a prediction model based on the maximum and minimum values. The horizontal coordinate represents the first image component neighboring reference value corresponding to the decoding block. The vertical coordinate represents the second image component neighboring reference value corresponding to the decoding block. L max , L min , C max , C min Based on this, the model parameters α and β can be calculated and obtained according to formula (3), and the constructed prediction model is C=α*L+β, where L represents the first image component reconstruction value corresponding to a sample in the decoding block, and C represents the second image component prediction value corresponding to this sample in the decoding block.

[0071] In some implementations, performing predictive decoding on the block to be decoded based on the second neighboring reference sample set includes: determining first model parameters based on a second set of adjacent reference samples; establishing a first predictive model based on the first model parameters; performing predictive decoding on the block to be decoded based on a first prediction model; where the first prediction model is used to represent a predictive relationship between the first and second image components corresponding to each sample of the block to be decoded.

[0072] After obtaining the second adjacent reference sample set, the first model parameters α1 and β1 can be constructed according to formula (2) or formula (3). In this way, the first prediction model can be established according to formula (1), and predictive decoding can be performed on the block to be decoded according to the first prediction model. Since the second adjacent reference sample set does not include reference samples that are not important and are close to the starting position, in addition to reducing the search complexity, the model parameters constructed by the reference samples of the second adjacent reference sample set are relatively accurate, which can improve predictive decoding performance, and can also improve the compression efficiency of video images and reduce the bit rate.

[0073] In addition, for the second adjacent reference sample set obtained, reference samples can be selected at equal or unequal intervals based on the sampling interval to obtain a third adjacent reference sample set. Since the number of samples included in the third adjacent reference sample set is small, the search complexity can be further reduced.

[0074] In some implementations, before performing predictive decoding on the block to be decoded based on the second neighboring reference sample set, the method further comprises: determining a position of a reference sample to be selected according to a second adjacent reference sample set according to a preset number of samples; Based on the position of the reference sample to be selected, a reference sample corresponding to the position of the reference sample to be selected is selected from the second adjacent reference sample set, and a third adjacent reference sample set is constructed from the selected reference samples.

[0075] Furthermore, performing predictive decoding on the block to be decoded based on the second adjacent reference sample set includes: determining second model parameters based on a third adjacent reference sample set; establishing a second predictive model based on the second model parameters; performing predictive decoding on the block to be decoded based on a second prediction model; and a second prediction model is used to represent a prediction relationship between the first and second image components corresponding to each sample of the block to be decoded.

[0076] The preset number of samples is the number of reference samples preset according to actual needs. The reference sample to be selected can be obtained by performing uniform sampling at a preset sampling interval on the reference samples of the second adjacent reference sample set, or can be obtained by performing non-uniform sampling at different preset sampling intervals on the reference samples of the second adjacent reference sample set. In practical applications, it can be specifically set according to actual situations, and the embodiment of the present application is not specifically limited.

[0077] In this way, the third adjacent reference sample set can be obtained by performing uniform sampling or non-uniform sampling on the reference samples of the second adjacent reference sample set. In this way, the second model parameters α2 and β2 can be constructed according to the third adjacent reference sample set and formula (2) or formula (3). Then, the second prediction model can be established according to formula (1), and predictive decoding can be performed on the block to be decoded according to the second prediction model. Since the third adjacent reference sample set does not include reference samples that are not important and are close to the starting position, and also takes into account the importance and the degree of distribution, the number of samples of the third adjacent reference sample set is further reduced, the search complexity is further reduced, and the model parameters constructed by the reference samples of the second adjacent reference sample set are relatively accurate, which can improve predictive decoding performance and reduce the bit rate.

[0078] In some embodiments, the block to be decoded includes a square decoding block or a non-square decoding block. In other words, the embodiment of the present application is applicable to both the square decoding block and the non-square decoding block, and the embodiment of the present application is not specifically limited.

[0079] The above-mentioned embodiment provides a predictive decoding method, which obtains reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set is composed of reference samples of a reference row or a reference column adjacent to the block to be decoded, starting from the starting position of the reference row or the reference column, a position corresponding to K reference samples is determined, where K is a positive integer equal to or greater than 1, and a second adjacent reference sample set is obtained according to the position corresponding to the determined K reference samples, the second adjacent reference sample set includes adjacent reference samples other than the K reference samples in the first adjacent reference sample set, and predictive decoding is performed on the block to be decoded according to the second adjacent reference sample set. By obtaining the second adjacent reference sample set to reduce the number of reference samples, the complexity of search can be reduced, the compression efficiency of video images can be improved, and the bit rate can be reduced.

[0080] Based on the same inventive concept as the technical solution shown in FIG. 4 above, refer to FIG. 10. FIG. 10 is a schematic diagram showing the structure of a predictive decoding apparatus 100 according to an embodiment of the present application. The predictive decoding apparatus 100 includes an acquisition unit 1001, a determination unit 1002, a rejection unit 1003 and a prediction unit 1004. The acquisition unit 1001 is used to obtain a reference sample adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded. The determination unit 1002 is used to determine a position corresponding to K reference samples starting from the starting position of the reference row or the reference column, where K is a positive integer equal to or greater than 1. The rejection unit 1003 is used to obtain a second adjacent reference sample set according to a position corresponding to the determined K reference samples, the second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set. The prediction unit 1004 is used for performing predictive decoding on the block to be decoded based on the second neighboring reference sample set.

[0081] In some implementations, the prediction mode of the block to be decoded is an MDLM prediction mode, which includes an MDLM_A mode and an MDLM_L mode.

[0082] In some embodiments, as shown in Fig. 10, the predictive decoding apparatus 100 further includes a calculation unit 1005. The calculation unit 1005 is used to calculate a value of K based on a length of a reference row and a first preset ratio in MDLM_A mode, where the first preset ratio is a ratio corresponding to the reference row, or is used to calculate a value of K based on a length of a reference column and a second preset ratio in MDLM_L mode, where the second preset ratio is a ratio corresponding to the reference column.

[0083] In some embodiments, the calculation unit 1005 is further used to calculate a value of K based on the length of the top edge of the block to be decoded and a first preset ratio in MDLM_A mode, or to calculate a value of K based on the length of the left edge of the block to be decoded and a second preset ratio in MDLM_L mode.

[0084] In some embodiments, the determination unit 1002 is specifically used to determine positions corresponding to K consecutive reference samples starting from the left end of a reference row and working to the right in MDLM_A mode, or to determine positions corresponding to K consecutive reference samples starting from the top of a reference column and working downward in MDLM_L mode.

[0085] In some embodiments, in the MDLM_A mode, the determining unit 1002 is further used to determine positions corresponding to i consecutive reference samples starting from the leftmost position of the reference row toward the right, and determine positions corresponding to j consecutive reference samples starting from the rightmost position of the reference row toward the left, where i is a positive integer; The image is JPEG0007606567000007.jpg11139.

[0086] In some embodiments, in the MDLM_L mode, the determining unit 1002 is further used to determine positions corresponding to p consecutive reference samples starting from the top position of the reference string downward, and determine positions corresponding to q consecutive reference samples starting from the bottom position of the reference string upward, where p is a positive integer; JPEG0007606567000008.jpg7139.

[0087] In some embodiments, the determining unit 1002 is further used to determine a first model parameter based on a second adjacent reference sample set. The predicting unit 1004 is specifically used to establish a first prediction model based on the first model parameter, and perform predictive decoding on the block to be decoded based on the first prediction model. The first prediction model is used to represent a predictive relationship between the first image component and the second image component corresponding to each sample of the block to be decoded.

[0088] In some embodiments, as shown in Fig. 10, the predictive decoding apparatus 100 further includes a selection unit 1006. The selection unit 1006 is used to determine a position of a reference sample to be selected according to a second adjacent reference sample set according to a preset number of samples, select a reference sample corresponding to the position of the reference sample to be selected from the second adjacent reference sample set according to the position of the reference sample to be selected, and configure a third adjacent reference sample set from the selected reference sample.

[0089] In some embodiments, the determining unit 1002 is further used to determine second model parameters based on a third adjacent reference sample set. The prediction unit 1004 is specifically used to establish a second prediction model based on the second model parameters, and perform predictive decoding on the block to be decoded based on the second prediction model, where the second prediction model is used to represent a predictive relationship between the first image component and the second image component corresponding to each sample of the block to be decoded.

[0090] In this embodiment, it can be understood that a "unit" can be a part of a circuit, a part of a processor, a part of a program, or a part of software. A "unit" can be modular or non-modular. In addition, each functional unit according to this embodiment can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit. The integrated units can be realized in the form of hardware or software functional units.

[0091] When the integrated unit is realized as a software functional unit and sold or used as an independent product, it may be stored in a computer-readable recording medium. According to this understanding, the essential part of the technical solution of the present application, or the part that can contribute to the prior art, or all or part of the technical solution may be expressed as a software product. The computer software product is stored in a storage medium and includes a plurality of commands for executing all or part of the steps of the method according to each embodiment of the present application in a computer (which may be a personal computer, a server, a network device, etc.) or a processor. The storage medium includes various media capable of storing program codes, such as a USB (Universal Serial Bus) flash disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0092] Therefore, an embodiment of the present application provides a computer-readable storage medium used for storing a predictive decoding program, which, when executed by at least one processor, performs the method described in the technical solution shown in FIG.

[0093] Based on the above-mentioned configuration of the predictive decoding apparatus 100 and the computer storage medium, refer to FIG. 11, which shows a specific hardware structure of the predictive decoding apparatus 100 according to an embodiment of the present application. The predictive decoding apparatus 100 includes a network interface 1101, a memory 1102 and a processor 1103. Various components are coupled together via a bus system 1104. The bus system 1104 is used to realize the connection and communication between these components. In addition to a data bus, the bus system 1104 further includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, in FIG. 11, various buses are marked as a bus system 1104.

[0094] The network interface 1101 is used to transmit and receive signals while transmitting and receiving information to and from other external network elements. The memory 1102 is used to store a computer program executable by the processor 1103. When the computer program is executed by the processor 1103, the following steps are performed: obtain reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set is composed of reference samples of a reference row or a reference column adjacent to the block to be decoded, starting from the starting position of the reference row or the reference column, determine a position corresponding to K reference samples, where K is a positive integer equal to or greater than 1; obtain a second adjacent reference sample set based on the position corresponding to the determined K reference samples, the second adjacent reference sample set includes adjacent reference samples other than the K reference samples in the first adjacent reference sample set, and perform predictive decoding on the block to be decoded based on the second adjacent reference sample set.

[0095] The memory 1102 of the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memory. The non-volatile memory can be a Read-Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), or a Flash Memory. The volatile memory can be a Random Access Memory (RAM) that functions as an external high-speed cache. By way of illustrative, but non-limiting example, many types of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synch-link Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DR RAM).The memory 1102 of the systems and methods described herein may comprise, without being limited to, these and any other suitable types of memory.

[0096] The processor 1103 in the embodiment of the present application may be an integrated circuit chip having signal processing capabilities. In the implementation process, each step of the above-mentioned method embodiment may be completed by an integrated logic circuit in the form of hardware of the processor 1103 or an instruction in the form of software. The above-mentioned processor 1103 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. The processor may realize or execute the method, steps and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application may be directly performed and completed by a hardware decoding processor, or may be performed and completed by a combination of hardware and software modules in the decoding processor. The software module can be in a storage medium that is mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is in the memory 1102. The processor 1103 reads the information in the memory 1102 and completes the steps of the above-mentioned method together with the hardware of the processor.

[0097] It may be understood that the embodiments described herein may be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented by hardware, the processing unit may be implemented by one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processing (DSP), DSP Device, Programmable Logic Device (PLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic unit, or a combination thereof.

[0098] For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, and so on) for performing the functions described herein. The software code is stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.

[0099] Optionally, in another embodiment, the processor 1103 is used to execute the method of the technical solution shown in FIG. 4 when executing a computer program.

[0100] It should be noted that the technical solutions described in the embodiments of this application can be arbitrarily combined as long as there is no conflict.

[0101] The above are only specific embodiments of the present invention, and the scope of protection of the present invention is not limited thereto. Those skilled in the art can easily think of modifications or replacements within the technical scope disclosed in the present invention, and all of them should be included in the scope of this application. Therefore, the scope of protection of this application should be determined by the claims.

[0102] Industrial Applicability

[0103] In an embodiment of the present application, first, obtain reference samples adjacent to the block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded. Then, starting from the starting position of the reference row or the reference column, determine a position corresponding to K reference samples, where K is a positive integer equal to or greater than 1. Then, obtain a second adjacent reference sample set according to the position corresponding to the determined K reference samples, the second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set. Finally, perform predictive decoding on the block to be decoded based on the second adjacent reference sample set. Since the second adjacent reference sample set does not include reference samples that are not important and are close to the starting position, the model parameters constructed using the second adjacent reference sample set are relatively accurate, and the predictive decoding performance is improved. Furthermore, since the number of samples in the second adjacent reference sample set is small, the search complexity can be reduced, the compression efficiency of the video image can be improved, and the bit rate can be reduced.

Claims

1. 1. A method of predictive decoding, comprising: Obtaining reference samples adjacent to the block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set being composed of reference samples of a reference row or a reference column adjacent to the block to be decoded; Starting from a starting position of the reference row or the reference column, determine positions corresponding to K reference samples, where K is a positive integer greater than or equal to 1; Obtain a second adjacent reference sample set according to the positions corresponding to the determined K reference samples, the second adjacent reference sample set including adjacent reference samples other than the K reference samples in the first adjacent reference sample set; performing predictive decoding on the block to be decoded based on the second neighboring reference sample set; Including, The prediction mode of the block to be decoded is a multi-directional linear model (MDLM) prediction mode, and the MDLM prediction mode includes an MDLM_L mode; Before determining positions corresponding to K reference samples starting from a starting position of the reference row or the reference column, the method further comprises: In the MDLM_L mode, the method further includes calculating a value of K based on a length of a left side of the block to be decoded and a second preset ratio; 2. A method for predictive decoding comprising:

2. The MDLM prediction modes further include an MDLM_A mode.

2. The method of claim 1, wherein the predictive decoding is performed in a stepwise manner.

3. Determining positions corresponding to K reference samples starting from a starting position of the reference row or the reference column includes: determining, in the MDLM_A mode, positions corresponding to K consecutive reference samples starting from the left end of the reference row and proceeding to the right; determining positions corresponding to K consecutive reference samples starting from the top of the reference string and proceeding downward in the MDLM_L mode; Including, 3. The method of claim 2, wherein the predictive decoding is performed in a stepwise manner.

4. In the MDLM_A mode, before determining the positions corresponding to the K reference samples, the method further comprises: determining positions corresponding to successive i reference samples starting from a leftmost position of said reference row and proceeding to the right; determining positions corresponding to j successive reference samples starting from a rightmost position of the reference row and proceeding leftwards; Further comprising: where i is a positive integer, That is, 3. The method of claim 2, wherein the predictive decoding is performed in a stepwise manner.

5. In the MDLM_L mode, before determining the positions corresponding to the K reference samples, the method includes: determining positions corresponding to p successive reference samples starting from a top position of said reference sequence and proceeding downward; determining positions corresponding to q successive reference samples in the reference sequence, beginning with a bottom position and proceeding upward; Further comprising: where p is a positive integer, That is, 2. The method of claim 1, wherein the predictive decoding is performed in a stepwise manner.

6. performing predictive decoding on the block to be decoded based on the second neighboring reference sample set, determining first model parameters based on the second adjacent reference sample set; establishing a first predictive model based on the first model parameters; performing predictive decoding on the block to be decoded based on the first prediction model; Including, the first prediction model is used to represent a prediction relationship between a first image component and a second image component corresponding to each sample of the block to be decoded; 2. The method of claim 1, wherein the predictive decoding is performed in a stepwise manner.

7. Before performing predictive decoding on the block to be decoded based on the second adjacent reference sample set, the method further comprises: determining a position of a reference sample to be selected according to a preset number of samples based on the second adjacent reference sample set; selecting a reference sample corresponding to the position of the reference sample to be selected from the second adjacent reference sample set based on the position of the reference sample to be selected, and forming a third adjacent reference sample set from the selected reference samples; Further comprising:

2. The method of claim 1, wherein the predictive decoding is performed in a stepwise manner.

8. performing predictive decoding on a block to be decoded based on the second neighboring reference sample set, determining second model parameters based on the third adjacent reference sample set; establishing a second predictive model based on the second model parameters; and performing predictive decoding on the block to be decoded based on the second prediction model; and Including, the second prediction model is used to represent a prediction relationship between a first image component and a second image component corresponding to the block to be decoded.

8. The method of claim 7, wherein the predictive decoding is performed in a multi-threaded manner.

9. Determining the position of the reference sample to be selected according to the preset number of samples includes: determining a position of the reference sample to be selected in the second adjacent reference sample set based on a sampling interval; 8. The method of claim 7, wherein the predictive decoding is performed in a multi-threaded manner.

10. The sampling interval is an equal sampling interval, and determining the position of the reference sample to be selected in the second adjacent reference sample set based on the sampling interval includes: determining a position of the reference sample to be selected in the second adjacent reference sample set by performing uniform sampling at equal sampling intervals on the reference samples of the second adjacent reference sample set; 10. The method of claim 9, wherein the predictive decoding is performed in a multi-threaded manner.

11. The sampling interval is an unequal sampling interval, and determining a position of the reference sample to be selected in the second adjacent reference sample set based on the sampling interval includes: determining a position of the reference sample to be selected in the second adjacent reference sample set by performing non-uniform sampling at non-uniform sampling intervals on the reference samples of the second adjacent reference sample set; 10. The method of claim 9, wherein the predictive decoding is performed in a multi-threaded manner.

12. Each reference sample corresponds to a luminance position, and the neighboring reference samples include an upper neighboring reference sample and a left neighboring reference sample.

2. The method of claim 1, wherein the predictive decoding is performed in a stepwise manner.

13. The second adjacent reference sample set starts from the (K+1)th reference sample of the first adjacent reference sample set.

2. The method of claim 1, wherein the predictive decoding is performed in a stepwise manner.

14. A predictive decoding device, comprising: The predictive decoding device includes a memory and a processor, the memory is used to store a computer program executable by the processor; The processor is adapted to execute the method according to any one of claims 1 to 13 by executing the computer program. A predictive decoding device comprising:

Citation Information

Patent Citations

  • Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, dynamic image decoding method and program

    JP2014195142A

  • Predictive decoding method, device, and computer storage medium

    JP2023113887A

  • Method and device for processing components of an image for encoding or decoding

    US20130188883A1

  • Linear model chroma intra prediction for video coding

    US20180077426A1

  • Video encoding device, video decoding device, video system, video encoding method, video decoding method, and program

    WO2015005418A1