Predictive decoding method and apparatus, and computer storage medium
The predictive decoding method addresses the inefficiencies in existing standards by optimizing the reference sample set to enhance decoding performance and reduce bit rate for ultra-high-definition video and virtual reality applications.
Patent Information
- Application Number
- JP2025235976
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-12-05
- Publication Date
- 2026-02-16
AI Technical Summary
The existing 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.
A predictive decoding method that reduces the number of samples in the adjacent reference sample set by excluding unimportant samples near the starting position, improving the accuracy of model parameters and reducing search complexity.
This approach enhances predictive decoding performance, improves video image compression efficiency, and decreases bit rate by using a smaller, more accurate reference sample set for predictive decoding.
Smart Images

Figure 2026026385000001_ABST
Abstract
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] As people's demands for video display quality increase, 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 approximately 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 begin setting next-generation video encoding standards. In April 2018, JVET officially named this next-generation video encoding standard 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 uses this linear model to predict the luma component of the current block being decoded from its chroma component. However, when constructing a linear model, the adjacent reference sample set constructed by adjacent reference samples is inappropriate, which makes the search very complex 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 the 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 reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set consisting of reference samples in a reference row or a reference column adjacent to the block to be decoded; determining positions corresponding to K reference samples starting from a starting position of the reference row or the reference column, where K is a positive integer greater than or equal to 1; obtaining 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; and performing predictive decoding on the block to be decoded based on 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 acquire reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, where the first adjacent reference sample set consists of reference samples in a reference row or a reference column adjacent to the block to be decoded. The determination unit is used to determine positions corresponding to K reference samples starting from the starting position of the reference row or the reference column, where K is a positive integer greater than or equal to 1. The rejection unit is used to acquire a second adjacent reference sample set based on the 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. 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, which, when executed by at least one processor, performs the method set forth in the first aspect.
[0010] Embodiments of the present application provide a predictive decoding method, a predictive decoding device, and a computer storage medium. Reference samples adjacent to a block to be decoded are obtained to obtain a first adjacent reference sample set, the first adjacent reference sample set consisting of reference samples in a reference row or column adjacent to the block to be decoded. Starting from the starting position of the reference row or column, a position corresponding to K reference samples is determined, where K is a positive integer greater than or equal to 1. A second adjacent reference sample set is obtained based on 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. Predictive decoding is performed on the block to be decoded based on the second adjacent reference sample set. Because the second adjacent reference sample set does not include unimportant reference samples close to the starting position, model parameters constructed using the second adjacent reference sample set are relatively accurate, improving predictive decoding performance. Furthermore, the small number of samples in the second adjacent reference sample set reduces search complexity, improves video image compression efficiency, and reduces bitrate. [Brief explanation 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. [Figure 2] FIG. 2 is a block diagram of a video encoding system according to an embodiment of the present application. [Figure 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. [Figure 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 neighboring 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 the maximum and minimum values. [Figure 10] FIG. 10 is a schematic diagram illustrating 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 INVENTION
[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 will be 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 blocks are generally designated by a first image component, a second image component, and a third image component. 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 designated by the symbol Y, the blue chroma component is generally designated by the symbol Cb, and the red chroma component is generally designated 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, the commonly used sampling format is the YCbCr format. As shown in Figures 1A to 1C, the YCbCr format includes the following types: In the drawings, crosses (X) represent sampling points of the first image component, and circles (○) represent sampling points of the second or 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 line, four samples are taken from the first image component, four samples from the second image component, and four samples from the third image component.
[0016] 4:2:2 format: As shown in Figure 1B, the first image component performs 2:1 horizontal sampling relative to the second or third image component, and no vertical downsampling is performed. In each scan line, for every four consecutive samples, four samples are taken from the first image component, two samples from the second image component, and two samples from the third image component.
[0017] 4:2:0 format: As shown in Figure 1C, the first image component performs 2:1 horizontal downsampling and 2:1 vertical downsampling with respect to the second or third image component. In the horizontal and vertical scan lines, every two consecutive samples are taken: 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 embodiments of the present application will be described taking the 4:2:0 format as an example, but the technical solutions of the embodiments of the present application can also be applied to other sampling formats.
[0019] In the H.266 video encoding standard, to further improve encoding and decoding performance, cross-component prediction (CCP) is extended to include cross-component linear model (CCLM) prediction and multi-directional linear model (MDLM) prediction. In H.266, both CCLM and MDLM can realize prediction between the first and second image components, prediction between the first and third image components, and prediction between the second and third image components.
[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 and second image components, and can mainly include CCLM and MDLM modes. Here, CCLM mode is also called linear model (LM) mode. MDLM mode can 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 VVC's reference software VTM 3.0, three CCLM prediction modes, including LM mode, MDLM_A mode, and MDLM_L mode, are competitive. The difference between these three modes is the adjacent reference sample sets constructed to derive the model parameters α and β.
[0021] To improve predictive decoding performance by improving the accuracy of the neighboring reference sample sets constructed for deriving the model parameters α and β, an embodiment of the present application provides a predictive decoding method. First, reference samples neighboring a block to be decoded are obtained to obtain a first neighboring reference sample set, where the first neighboring reference sample set consists of reference samples in a reference row or reference column neighboring the block to be decoded. Next, starting from the starting position of the reference row or reference column, a position corresponding to K reference samples is determined, where K is a positive integer greater than or equal to 1. Further, a second neighboring reference sample set is obtained based on the positions corresponding to the determined K reference samples, where the second neighboring reference sample set includes neighboring reference samples other than the K reference samples in the first neighboring reference sample set. Finally, predictive decoding is performed on the block to be decoded based on the second neighboring reference sample set. The second neighboring reference sample set includes the remaining neighboring reference sample sets from the first neighboring reference sample set, excluding reference samples that are unimportant and close to the starting position. Therefore, the model parameters constructed using the second neighboring reference sample set are relatively accurate, improving predictive decoding performance. 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. Hereinafter, the embodiments of the present application will be described in detail with reference to the accompanying drawings.
[0022] 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, and a decoded image cache unit 210. The filtering unit 208 can implement deblocking (DBK) filtering and sample adaptive offset (SAO) filtering. The coding unit 209 can implement header information coding and CABAC (context-based adaptive binary arithmetic coding). For an input original video signal, video coding blocks can be obtained by dividing a coding tree unit (CTU). Next, 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, converting the residual information from the pixel domain to the transform domain and quantizing the resulting transform coefficients 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 to be 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.Motion estimation performed by the motion estimation unit 205 is a process of generating motion vectors, 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 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 a video coding block. The residual block is reconstructed in the pixel domain, and blocking artifacts in the reconstructed residual block are removed via the filter control analysis unit 207 and the filtering unit 208. The reconstructed residual block is then 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 CABAC-based coding algorithm, 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 of 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 perform header information decoding and CABAC decoding. The filtering unit 305 can perform DBK filtering and SAO filtering. After an input video signal is encoded (as shown in FIG. 2), it outputs a bitstream of the video signal. The bitstream is input to the video decoding system 300. First, decoded transform coefficients are obtained through the decoding unit 301. The decoded transform coefficients are 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 for a current video coding block based on a determined intra prediction mode and data of a previously decoded block from the 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 to be 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 in the decoded video signal may be removed via a filtering unit 305 to improve video quality. The decoded video block is then stored in a decoded picture 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 the video signal, i.e., to obtain the restored original video signal.
[0024] The embodiments of the present application may be applied to the intra prediction unit 203 shown in Figure 2 and the intra prediction unit 303 shown in Figure 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 application scenario example 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, which may include the following contents:
[0026] S401: Obtain reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, where the first adjacent reference sample set includes 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 the reference row or the 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 the 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 which first image component prediction, second image component prediction, or third image component prediction is to be performed. The reference row or reference column adjacent to the block to be decoded may be a reference row adjacent to the top side of the block to be decoded, a reference column adjacent to the left side of the block to be decoded, or a reference row or reference column adjacent to another 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 exemplified as a reference row adjacent to the top side of the block to be decoded, and the reference column adjacent to the block to be decoded is exemplified 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 top edge and reference samples adjacent to the top right edge (also referred to as adjacent reference samples corresponding to the top and top right edges). The top edge refers to the top edge of the block to be decoded. The top right edge refers to the edge extending horizontally to the right from the top edge of the block to be decoded, 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 edge and reference samples adjacent to the bottom left edge (also referred to as adjacent reference samples corresponding to the left and bottom left edges). The left edge refers to the left edge of the block to be decoded. The bottom left edge refers to the edge extending vertically downward from the left edge of the block to be decoded, having a length equal to the height of the current block to be decoded. However, the embodiments of the present application are not specifically limited thereto.
[0032] The K reference samples are insignificant reference samples in the first adjacent reference sample set and are generally distributed near the starting position of the reference row or 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, "determining positions corresponding to K reference samples starting from the starting position of the reference row or reference column" means starting from the leftmost position of the reference row and determining positions corresponding to K reference samples horizontally to the right. Since the reference column is vertical, "determining positions corresponding to K reference samples starting from the starting position of the reference row or reference column" means starting from the topmost position of the reference column and determining positions corresponding to K reference samples vertically downward. In this way, the first adjacent reference sample set can be obtained by obtaining reference samples adjacent to the block to be decoded. The first adjacent reference sample set consists of reference samples in the reference row or reference column adjacent to the block to be decoded. Starting from the starting position of the reference row or column, a position corresponding to K reference samples is determined, where K is a positive integer greater than or equal to 1. A second adjacent reference sample set is obtained based on the determined positions corresponding to the 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 from the first adjacent reference sample set, excluding unimportant reference samples close to the starting position. Therefore, model parameters constructed using the second adjacent reference sample set are relatively accurate, improving predictive decoding performance. Furthermore, the small number of samples in the second adjacent reference sample set reduces search complexity, improves video image compression efficiency, and reduces bitrate.
[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, not only can the predictive encoding performance of the video image be improved, but also the encoding compression efficiency can be improved and the encoding code rate can be reduced. 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, which includes the MDLM_A mode and the 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, obtaining the value of K by calculation based on the length of the reference row and a first preset ratio, where the first preset ratio is the preset ratio corresponding to the reference row; or in MDLM_L mode, obtaining the value of K by calculation based on the length of the reference column and a second preset ratio, where the second preset ratio is 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, calculating the value of K based on the length of the top edge of the block to be decoded and a first preset ratio; or in MDLM_L mode, calculating the value of K based on the length of the left edge of the block to be decoded and a second preset ratio.
[0037] Furthermore, determining the positions corresponding to the K reference samples starting from the starting position of the reference row or the reference column includes: In 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 working downward; Includes.
[0038] The neighboring reference sample set constructed to search for 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 a second neighboring reference sample set. The second neighboring reference sample set includes the remaining reference samples excluding a predetermined number (K) of reference samples starting from the starting position. In this way, by excluding unimportant reference samples close to the starting position, the model parameters constructed using the second neighboring reference sample set are relatively accurate, thereby achieving the purpose of improving predictive decoding performance.
[0039] The value of K may be a preset number of reference samples, for example, 1, 2, or 4, or may be calculated based on the length of the reference row or column of the block to be decoded and the corresponding preset ratio, or may be calculated based on the length of the side of the block to be decoded and the corresponding preset ratio. However, in actual applications, it may be specifically set according to actual situations, and the embodiments of the present application do 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 may be the same or different, and the embodiments of the present application do not specifically limit it.
[0040] Whether the MDLM_A mode is applied to all reference samples in a reference row (i.e., adjacent reference samples corresponding to the top and upper right edges) or the MDLM_L mode is applied to all reference samples in a reference column (i.e., adjacent reference samples corresponding to the left and lower left edges), for the two modes, N is assumed to be 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 top edge; in the MDLM_L mode, N is the height of the block to be decoded, i.e., the length of the left edge). If the lengths of the sides of the block to be decoded are different, the value of K can be directly obtained from Table 1. Table 1 illustrates the number of reference samples in the second adjacent reference sample set constructed in the MDLM mode provided by an embodiment of the present application. In Table 1, N1 represents the number of adjacent reference samples in the first adjacent reference sample set, N2 represents the number of adjacent reference samples in the second adjacent reference sample set, and K represents the preset number of adjacent reference samples that are not considered in an embodiment of the present application. [Table 1]
[0041] In MDLM_A mode, when all reference samples in a reference row (i.e., 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 and upper right sides) is 16, the value of K is 4. That is, the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) near the right end position in the adjacent reference sample set corresponding to the upper and upper right sides constitute 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 on the upper edge) is 8, the value of K is 4. That is, the remaining 3 / 4 of the 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 upper right edge constitute 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 neighboring 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 circles represent neighboring reference samples of the selected block to be decoded. First, downsampling needs to be performed on the first image component, and the downsampled first and second image components 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 and upper right edges) is 16, the value of K is 4. That is, regardless of whether it is the first image component or the second image component, starting from the left end of the reference row, positions corresponding to four consecutive reference samples are determined toward the right. The determined four reference samples are then eliminated, and the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) closest to the right end position constitute a second neighboring 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 MDLM_A mode, in addition to the common scenario where all reference samples of a reference row (i.e., the adjacent reference samples corresponding to the top edge and the upper right edge) are available, there are also some exceptions. Below, we will explain three exceptions in detail.
[0047] Exception 1: If the adjacent samples corresponding to the upper edge of the block to be decoded are not available, there are no adjacent reference samples, the model parameter α is set to 0, and the model parameter β is set to the intermediate value of the second image component, 512. 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 adjacent samples corresponding to the top edge of the block to be decoded are available but adjacent samples corresponding to the upper right edge of the block to be decoded are not available, in the first processing method, the length of the reference row (only the number of reference samples on the top edge) is 8, the first preset ratio is 1 / 4, and the value of K is 2. That is, in the adjacent reference sample set corresponding to the top edge of the block to be decoded, the remaining 3 / 4 of the reference samples (i.e., 6 reference samples) closest to the right edge form a second adjacent reference sample set, which is used to derive the model parameters α and β. In the second processing method, the length of the top edge of the block to be decoded (i.e., the number of reference samples on the top edge) is 8, the first preset ratio is 1 / 2, and the value of K is 4. That is, in the adjacent reference sample set corresponding to the top edge of the block to be decoded, the remaining 1 / 2 of the reference samples (i.e., 4 reference samples) closest to the right edge form a second adjacent reference sample set, which is used to 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, and the model parameters α and β are derived.
[0050] In the MDLM_L mode, when all the reference samples of the reference column (i.e., the adjacent reference samples corresponding to the left side and the lower left side) are available, the following two processing methods are included:
[0051] Third processing method: Taking the length of the reference sequence 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 sequence (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 of the reference samples (i.e., 12 reference samples) near the bottom position in the adjacent reference sample set corresponding to the left side and the lower left side constitute a second adjacent reference sample set, which is used to derive 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 of the reference samples (i.e., 12 reference samples) near the bottom position in the adjacent reference sample set corresponding to the left side and bottom left side are used to form a second adjacent reference sample set, which is used to derive model parameters α and β.
[0053] For example, refer to FIG. 6, which is a diagram illustrating the selection of neighboring 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 circles represent neighboring reference samples of the selected block to be decoded. First, downsampling needs to be performed on the first image component, and the downsampled first and second image components 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 and bottom left edges) is 16, the value of K is 4. That is, regardless of whether it is the first image component or the second image component, starting from the top of the reference string, positions corresponding to four consecutive reference samples are determined downward, and the determined four reference samples are eliminated. The remaining 3 / 4 of the reference samples (i.e., 12 reference samples) near the bottom position of the reference string constitute a second neighboring 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 MDLM_A mode, in addition to the common scenario where all reference samples in the reference column (i.e., the adjacent reference samples corresponding to the left edge and bottom left edge) are available, there are also some exceptions. Below, we will explain three exceptions in detail.
[0056] Exception 1: If the adjacent samples corresponding to the left edge of the block to be decoded are not available, there are no adjacent reference samples, the model parameter α is set to 0, and the model parameter β is set to the intermediate value of the second image component, 512. 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 adjacent samples corresponding to the left edge of the block to be decoded are available but adjacent samples corresponding to the bottom left edge of the block to be decoded are not available, in the third processing method, the length of the reference string (only the number of reference samples on the left edge) is 8, the second preset ratio is 1 / 4, and the value of K is 2. That is, the remaining 3 / 4 of the reference samples (i.e., 6 reference samples) closest to the bottom of the adjacent reference sample set corresponding to the left edge of the block to be decoded are used to form a second adjacent reference sample set, which is used to derive the model parameters α and β. In the fourth processing method, the length of the left edge of the block to be decoded (i.e., the number of reference samples on the left edge) is 8, the second preset ratio is 1 / 2, and the value of K is 4. That is, the remaining 1 / 2 of the reference samples (i.e., 4 reference samples) closest to the bottom of the adjacent reference sample set corresponding to the left edge of the block to be decoded are used to form a second adjacent reference sample set, which is used to derive the model parameters α and β.
[0058] Exception 3: When the adjacent samples corresponding to the left edge of the block to be decoded and the adjacent samples corresponding to the bottom left edge 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 and proceeding to the right; determining positions corresponding to j consecutive reference samples starting from the rightmost position of the reference row, where i is a positive integer; JPEG2026026385000003.jpg10161.
[0060] In some embodiments, in MDLM_L mode, before determining the positions corresponding to K reference samples, the method further includes: determining positions corresponding to p consecutive reference samples starting from a position at the top of the reference string, and determining positions corresponding to q consecutive reference samples starting from a position at the bottom of the reference string, where p is a positive integer; JPEG2026026385000004.jpg12161.
[0061] Regardless of whether the MDLM_A mode or the MDLM_L mode is used, some reference samples near the start position of the reference row or column and some reference samples near the end position of the reference row or column can be excluded. The second adjacent reference sample set only includes reference samples corresponding to the middle position of the reference row or column. The values of i and j can be the same or different. The values of p and q can be the same or different. In practical applications, the values of i, j, p, and q can be specifically set according to the actual situation, and the embodiments of the present application are not limited thereto.
[0062] Taking the MDLM_A mode as an example, FIG. 7 is a diagram illustrating the selection of neighboring 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 circles represent neighboring reference samples of the selected block to be decoded. First, downsampling needs to be performed on the first image component, and the downsampled first and second image components 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 top and right-upper edges) is 16, the value of K is 4. Assume that the number of samples to be excluded near one end of the reference row is the same as the number of samples to be excluded 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 excluded, and 1 / 8 of the reference samples near the end position of the reference row are excluded, where i=j=2. Therefore, regardless of the first image component or the second image component, the positions corresponding to two consecutive reference samples from the left end of the reference row to the right are determined, and the positions corresponding to two consecutive reference samples from the right end of the reference row to the left are determined, and the determined four reference samples are eliminated. Finally, the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) corresponding to the middle positions of the reference row constitute a second adjacent reference sample set, which is used to derive the model parameters α and β.
[0063] Taking the MDLM_L mode as an example, refer to FIG. 8, which is a diagram illustrating the selection of neighboring reference samples in the 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 circles represent neighboring reference samples of the selected block to be decoded. First, downsampling needs to be performed on the first image component, and the downsampled first and second image components 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 and bottom left edges) 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 or the second image component, the positions corresponding to two consecutive reference samples from the top of the reference column downwards are determined, and the positions corresponding to two consecutive reference samples from the bottom of the reference column upwards are determined, and the determined four reference samples are eliminated. Finally, the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) corresponding to the middle positions of the reference column constitute 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. In the CCLM prediction mode, such as LM mode and MDLM mode, the second image component can be obtained by predicting the reconstructed 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] Based on the second adjacent reference sample set obtained above, the second model parameters α and β can be constructed in various ways, such as a least squares-based regression construction method, a maximum and minimum construction method, or other construction methods. The following describes the least squares-based regression construction method and the maximum and minimum construction method as examples.
[0067] In VVC, α and β can be derived using the regression error based on the least squares method using the first image component adjacent reference value and the second image component adjacent reference value corresponding to the reference samples in the second adjacent reference sample set. α and β can be derived using 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 a 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 equation (3):
number
[0070] L max and L min represent the maximum and minimum values retrieved from the first image component neighboring reference values corresponding to the reference samples in the second neighboring 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 illustrating that the decoding block according to an embodiment of the present application constructs a prediction model based on the maximum and minimum values. The horizontal axis represents the first image component neighbor reference value corresponding to the decoding block. The vertical axis represents the second image component neighbor 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 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 a first prediction model; wherein 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 based on Equation (2) or Equation (3). In this way, a first prediction model can be established based on Equation (1), and predictive decoding can be performed on the block to be decoded based on the first prediction model. Because the second adjacent reference sample set does not include unimportant reference samples that 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 improves predictive decoding performance, as well as improving the compression efficiency of video images and reducing the bit rate.
[0073] Furthermore, for the acquired second adjacent reference sample set, reference samples can be selected at equal or unequal intervals based on the sampling interval to acquire a third adjacent reference sample set, which further reduces the search complexity since the third adjacent reference sample set contains a smaller number of samples.
[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 the position of the reference sample to be selected according to the second adjacent reference sample set according to the 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 neighboring 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 the second prediction model is used to represent the 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 samples 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 a different preset sampling interval on the reference samples of the second adjacent reference sample set. In actual applications, the number can be specifically set based on actual situations, and the embodiments of the present application do not specifically limit the number of samples.
[0077] In this way, a third adjacent reference sample set can be obtained by performing uniform or non-uniform sampling on the reference samples of the second adjacent reference sample set. In this way, second model parameters α2 and β2 can be constructed based on the third adjacent reference sample set and equation (2) or equation (3). Next, a second prediction model can be established based on equation (1), and predictive decoding can be performed on the block to be decoded based on the second prediction model. Because the third adjacent reference sample set does not include reference samples that are unimportant and close to the starting position, and also takes into account importance and dispersion, the number of samples in the third adjacent reference sample set is further reduced, further 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 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 embodiments of the present application are applicable to both square decoding blocks and non-square decoding blocks, and the embodiments of the present application are not specifically limited.
[0079] The above-described 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 consisting of reference samples in a reference row or reference column adjacent to the block to be decoded, and determines positions corresponding to K reference samples starting from the starting position of the reference row or reference column, where K is a positive integer greater than or equal to 1, and obtains a second adjacent reference sample set based on 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, and performs predictive decoding on the block to be decoded based on the second adjacent reference sample set. Obtaining the second adjacent reference sample set reduces the number of reference samples, thereby improving the compression efficiency of video images and reducing the bit rate.
[0080] Based on the same inventive concept as the technical solution shown in FIG. 4 above, refer to FIG. 10, which is a schematic diagram illustrating 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 reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, where the first adjacent reference sample set consists of reference samples in a reference row or reference column adjacent to the block to be decoded. The determination unit 1002 is used to determine positions corresponding to K reference samples, starting from the starting position of the reference row or reference column, where K is a positive integer greater than or equal to 1. The rejection unit 1003 is used to obtain a second adjacent reference sample set based on the 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. The prediction unit 1004 is used to perform 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 the MDLM prediction mode, which includes the MDLM_A mode and the MDLM_L mode.
[0082] 10, the predictive decoding apparatus 100 further includes a calculation unit 1005. The calculation unit 1005 is used to calculate the value of K based on the length of the reference row and a first preset ratio in the MDLM_A mode, where the first preset ratio is a ratio corresponding to the reference row, or is used to calculate the value of K based on the length of the reference column and a second preset ratio in the 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 the value of K based on the length of the top edge of the block to be decoded and a first preset ratio in the MDLM_A mode, or to calculate the value of K based on the length of the left edge of the block to be decoded and a second preset ratio in the 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 the 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 the 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 to 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; JPEG2026026385000008.jpg12161.
[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 downward starting from the top position of the reference string, and determine positions corresponding to q consecutive reference samples upward starting from the bottom position of the reference string, where p is a positive integer; JPEG2026026385000009.jpg8161.
[0087] In some embodiments, the determining unit 1002 is further used to determine first model parameters 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 parameters 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 a first image component and a second image component corresponding to each sample of the block to be decoded.
[0088] 10, the predictive decoding apparatus 100 further includes a selection unit 1006. The selection unit 1006 is used to determine the position of a reference sample to be selected according to a predetermined number of samples based on a second adjacent reference sample set, select 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 construct a third adjacent reference sample set from the selected reference samples.
[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 predicting 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. Furthermore, each functional unit according to this embodiment can be integrated into one processing unit, each unit can exist physically independently, or two or more units can be integrated into one unit. The above-mentioned integrated units can be realized in the form of hardware or software functional units.
[0091] The integrated unit may be realized as a software functional unit and stored in a computer-readable recording medium when sold or used as an independent product. According to this understanding, the essential part of the technical solution of the present application, the part that contributes to the prior art, or all or part of the technical solution may be expressed as a software product. This computer software product is stored in a storage medium and includes a plurality of commands for causing a computer (which may be a personal computer, a server, a network device, etc.) or a processor to execute all or part of the steps of the method according to each embodiment of the present application. The storage medium includes various media capable of storing program code, 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 to store 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-described configuration of the predictive decoding apparatus 100 and the computer storage medium, reference is now made to FIG. 11, which illustrates 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. The various components are coupled together via a bus system 1104. The bus system 1104 is used to realize 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 clarity of explanation, the various buses in FIG. 11 are marked as the bus system 1104.
[0094] The network interface 1101 is used for transmitting and receiving signals while transmitting and receiving information to and from other external network elements. The memory 1102 is used for storing a computer program executable by the processor 1103. When the computer program is executed by the processor 1103, it obtains reference samples adjacent to a block to be decoded to obtain a first adjacent reference sample set, the first adjacent reference sample set consisting of reference samples in a reference row or a reference column adjacent to the block to be decoded, and determines positions corresponding to K reference samples starting from the starting position of the reference row or the reference column, where K is a positive integer greater than or equal to 1. It obtains a second adjacent reference sample set based on 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, and performs predictive decoding on the block to be decoded based on the second adjacent reference sample set.
[0095] The memory 1102 of the embodiments of the present application can be volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The nonvolatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM) that functions as an external high-speed cache. By way of illustrative, but not 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 (DRRAM).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 embodiments of the present application may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above-described method embodiments may be completed by an integrated logic circuit in the form of hardware or instructions in the form of software in the processor 1103. The 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, or a discrete hardware component. The processor may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly executed and completed by a hardware decoding processor, or may be executed and completed by a combination of hardware and software modules in the decoding processor. The software module can be stored in a storage medium well-known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is stored in the memory 1102. The processor 1103 reads the information stored in the memory 1102 and performs the steps of the above-described method together with the processor hardware.
[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, a processing unit may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processing (DSPs), DSP devices, Programmable Logic Devices (PLDs), Field-Programmable Gate Arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units, or a combination thereof.
[0098] For a software implementation, the techniques described herein may be implemented with modules (e.g., procedures, functions, etc.) that perform the functions described herein. The software code is stored in a memory and executed by a processor. The memory may be 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 these 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, reference samples adjacent to the block to be decoded are obtained to obtain a first adjacent reference sample set, where the first adjacent reference sample set consists of reference samples in a reference row or reference column adjacent to the block to be decoded. Next, starting from the starting position of the reference row or reference column, a position corresponding to K reference samples is determined, where K is a positive integer greater than or equal to 1. Next, a second adjacent reference sample set is obtained based on the 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. Finally, predictive decoding is performed on the block to be decoded based on the second adjacent reference sample set. Because the second adjacent reference sample set does not include reference samples that are unimportant and close to the starting position, model parameters constructed using the second adjacent reference sample set are relatively accurate, improving predictive decoding performance. Furthermore, the second adjacent reference sample set has a small number of samples, which reduces search complexity, improves video image compression efficiency, and reduces bitrate.
Claims
1. A predictive decoding device, comprising: a memory and a processor, the memory is used to store a computer program; When the computer program is executed by the processor, the processor: Obtaining a plurality of first neighboring reference samples by obtaining reference samples adjacent to the current block, the plurality of first neighboring reference samples including reference samples of a reference row or a reference column adjacent to the current block; Starting from the starting position of the reference row or the reference column, determine positions corresponding to K reference samples, where K is a positive integer; Obtain a plurality of second adjacent reference samples according to the positions corresponding to the determined K reference samples; performing cross-component predictive decoding on the current block based on the plurality of second neighboring reference samples; The predictive decoding device further comprises: Calculating a K value for the reference row based on the length of the top edge of the current block; or calculating a K value for the reference sequence based on the length of the left edge of the current block; A predictive decoding device comprising:
2. The prediction mode of the current block is a multi-directional linear model (MDLM) prediction mode, and the MDLM prediction mode includes an MDLM_A mode and an MDLM_L mode.
2. The predictive decoding device according to claim 1.
3. Determining positions corresponding to K reference samples starting from a starting position of the reference row or the reference column includes: determining, relative to the reference row, positions corresponding to K consecutive reference samples, starting from the left end of the reference row and proceeding to the right; determining, relative to the reference sequence, positions corresponding to K consecutive reference samples, starting from the top of the reference sequence and proceeding downward; including one of the following:
2. The predictive decoding device according to claim 1.
4. Before determining the positions corresponding to the K reference samples for the reference row, the predictive decoding apparatus further determining positions corresponding to i consecutive reference samples, starting from the leftmost position of the reference row and proceeding to the right; determining positions corresponding to j consecutive reference samples, starting from the rightmost position of the reference row and proceeding leftward; where i is a positive integer, That is, 3. A predictive decoding device according to claim 2.
5. Before determining the positions corresponding to the K reference samples with respect to the reference sequence, the predictive decoding apparatus further determining positions corresponding to p consecutive reference samples, starting from a top position of the reference sequence and proceeding downward; determining positions corresponding to q consecutive reference samples, beginning with a position at the bottom of the reference sequence and proceeding upward; where p is a positive integer, That is, 3. A predictive decoding device according to claim 2.
6. The predictive decoding device further comprises: Determine a position of a reference sample according to a predetermined number of samples based on the plurality of second adjacent reference samples; determining a reference sample corresponding to the position of the reference sample from the plurality of second adjacent reference samples according to the position of the reference sample; determining the position of the reference sample according to the predetermined number of samples, determining a position of the reference sample among the plurality of second-neighboring reference samples based on a sampling interval; 2. The predictive decoding device according to claim 1.
7. The sampling intervals are equal sampling intervals, and determining the position of the reference sample among the plurality of second adjacent reference samples based on the sampling intervals includes: determining a position of the reference sample among the plurality of second adjacent reference samples by performing uniform sampling on the plurality of second adjacent reference samples at the equal sampling intervals; and satisfy the equation, where startPosN represents the start position of the reference sample position, pos represents the current position of the reference sample position, N represents the preset number of samples, and pickStepN represents the equal sampling interval.
7. A predictive decoding device according to claim 6.
8. The sampling intervals are non-uniform sampling intervals, and determining a position of the reference sample among the plurality of second adjacent reference samples based on the sampling intervals includes: determining a position of the reference sample among the plurality of second-neighboring reference samples by performing non-uniform sampling on the plurality of second-neighboring reference samples at the non-uniform sampling intervals; 7. A predictive decoding device according to claim 6.
9. The prediction mode of the current block includes a cross-component linear model (CCLM) mode, a CCLM_T mode, and a CCLM_L mode.
2. The predictive decoding device according to claim 1.
10. The CCLM_T mode is an INTRA_T_CCLM mode, and the CCLM_L mode is an INTRA_L_CCLM mode.
10. The predictive decoding device according to claim 9.
11. the plurality of second adjacent reference samples starting from the (K+1)th reference sample of the plurality of first adjacent reference samples; 2. The predictive decoding device according to claim 1.
12. A predictive encoding device, comprising: a memory and a processor, the memory is used to store a computer program; When the computer program is executed by the processor, the processor: Obtaining a plurality of first neighboring reference samples by obtaining reference samples adjacent to the current block, the plurality of first neighboring reference samples including reference samples of a reference row or a reference column adjacent to the current block; Starting from the starting position of the reference row or the reference column, determine positions corresponding to K reference samples, where K is a positive integer; Obtain a plurality of second adjacent reference samples according to the positions corresponding to the determined K reference samples; performing cross-component predictive encoding on the current block based on the plurality of second-neighboring reference samples; The predictive encoding device further comprises: Calculating a K value for the reference row based on the length of the top edge of the current block; or calculating a K value for the reference sequence based on the length of the left edge of the current block; A predictive encoding device comprising:
13. 1. A method for transmitting a bitstream, comprising: generating the bitstream by performing the following steps, the steps including: obtaining a plurality of first-neighboring reference samples by obtaining reference samples adjacent to a current block, the plurality of first-neighboring reference samples including reference samples in a reference row or a reference column adjacent to the current block; determining positions corresponding to K reference samples starting from a starting position of the reference row or the reference column, where K is a positive integer; obtaining a plurality of second-neighboring reference samples based on the determined positions corresponding to the K reference samples; and performing cross-component predictive encoding on the current block based on the plurality of second-neighboring reference samples, the steps further including one of: calculating a value K based on a length of a top edge of the current block for the reference row; and calculating a value K based on a length of a left edge of the current block for the reference column; transmitting the bitstream; Including, 1. A method for transmitting a bitstream, comprising:
Citation Information
Patent Citations
Dynamic image encoding device, dynamic image decoding device, dynamic image encoding method, dynamic image decoding method and program
JP2014195142A
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
Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples
WO2019147910A1