Predictive decoding method, apparatus, and computer storage medium
Patent Information
- Application Number
- JP2025235976
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-12-05
- Publication Date
- 2026-08-27
- Estimated Expiration
- 2039-01-02
Smart Images

Figure 0007912135000012 
Figure 0007912135000013 
Figure 0007912135000014
Abstract
Description
[Technical Field]
[0001] The present invention relates to the technical field of video encoding and decoding, and more specifically to a predictive decoding method, a predictive decoding apparatus, and a computer storage medium. [Background technology]
[0002] As people's demands for higher video display quality increase, new video application forms such as high-resolution video and ultra-high-resolution video have emerged. H.265 / High Efficiency Video Coding (HEVC) is currently the latest international video compression standard. While H.265 / HEVC's compression performance 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 rapidly developing 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 Telecommunication Union Telecommunication Standardization Sector (ITU-T) and the Moving Picture Experts Group (MPEG) of the International Organization for Standardization (ISO) / International Electrotechnical Commission (IEC) formed the Joint Video Experts Team (JVET) in 2015 to begin setting next-generation video encoding standards. In April 2018, JVET officially named the next-generation video encoding standard Universal 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 luminance component from the saturation component of the block currently being decoded. However, when constructing a linear model, the adjacent reference sample set constructed from adjacent reference samples is unsuitable, making the search very complex and degrading the predictive decoding performance of video images. [Overview of the project]
[0004] With this in mind, embodiments of this application provide a predictive decoding method, a predictive decoding apparatus, and a computer storage medium that can reduce the complexity of the search, improve the predictive decoding performance of video images, and lower the bitrate by reducing the number of samples in the adjacent reference sample set.
[0005] The technical solution of the embodiment of this application is as follows:
[0006] In a first embodiment, an embodiment of the present application provides a predictive decoding method. The predictive decoding method includes: obtaining a first set of adjacent reference samples by obtaining adjacent reference samples to the block to be decoded, the first set of adjacent reference samples consisting of reference samples in a reference row or column adjacent to the block to be decoded; determining the positions corresponding to K reference samples, starting from the starting position of the reference row or column, where K is a positive integer of 1 or more; obtaining a second set of adjacent reference samples based on the determined positions corresponding to the K reference samples, the second set of adjacent reference samples including adjacent reference samples other than the K reference samples in the first set of adjacent reference samples; and performing predictive decoding on the block to be decoded based on the second set of adjacent reference samples.
[0007] In a second embodiment, the present invention provides a predictive decoding apparatus. The predictive decoding apparatus includes an acquisition unit, a confirmation unit, an exclusion unit, and a prediction unit. The acquisition unit is used to acquire a first set of adjacent reference samples by acquiring reference samples adjacent to the block to be decoded, the first set of adjacent reference samples consisting of reference samples in reference rows or columns adjacent to the block to be decoded. The confirmation unit is used to confirm the positions corresponding to K reference samples, starting from the starting position of the reference row or column, where K is a positive integer of 1 or more. The exclusion unit is used to acquire a second set of adjacent reference samples based on the positions corresponding to the confirmed K reference samples, the second set of adjacent reference samples including adjacent reference samples other than the K reference samples in the first set of adjacent reference samples. The prediction unit is used to perform predictive decoding on the block to be decoded based on the second set of adjacent reference samples.
[0008] In a third embodiment, embodiments of the present application provide a predictive decoding device. The predictive decoding device includes memory and a processor. The memory is used to store a computer program that can be executed by the processor. The processor is used to perform the method described in the first embodiment by executing the computer program.
[0009] In a fourth embodiment, an embodiment of the present application provides a computer storage medium. The computer storage medium stores a predictive decoding program. When the predictive decoding program is executed by at least one processor, the method described in the first embodiment is performed.
[0010] Embodiments of this application provide a predictive decoding method, a predictive decoding apparatus, and a computer storage medium. A first set of adjacent reference samples is obtained by acquiring reference samples adjacent to the block to be decoded. The first set of adjacent reference samples consists of reference samples from reference rows or columns adjacent to the block to be decoded. Starting from the starting position of the reference row or column, the positions corresponding to K reference samples are determined, where K is a positive integer greater than or equal to 1. A second set of adjacent reference samples is obtained based on the determined positions corresponding to the K reference samples. The second set of adjacent reference samples includes adjacent reference samples other than the K reference samples in the first set of adjacent reference samples. Predictive decoding is performed on the block to be decoded based on the second set of adjacent reference samples. Since the second set of adjacent reference samples does not include reference samples that are not important and are close to the starting position, the model parameters constructed using the second set of adjacent reference samples are relatively accurate, improving predictive decoding performance. Furthermore, because the number of samples in the second set of adjacent reference samples is small, the complexity of the search can be reduced, the compression efficiency of video images can be improved, and the bitrate can be lowered. [Brief explanation of the drawing]
[0011] [Figure 1A]Figure 1A is a schematic diagram of video image sampling formats in related technologies. [Figure 1B] Figure 1B is a schematic diagram of video image sampling formats in related technologies. [Figure 1C] Figure 1C is a schematic diagram of video image sampling formats in related technologies. [Figure 2] Figure 2 is a block diagram of a video encoding system according to an embodiment of this application. [Figure 3] Figure 3 is a block diagram of a video decoding system according to an embodiment of this application. [Figure 4] Figure 4 is a flowchart of the predictive decoding method according to an embodiment of this application. [Figure 5] Figure 5 shows the selection of adjacent reference samples in MDLM_A mode according to an embodiment of this application. [Figure 6] Figure 6 shows the selection of adjacent reference samples in MDLM_L mode according to an embodiment of this application. [Figure 7] Figure 7 shows the selection of adjacent reference samples in MDLM_A mode according to another embodiment of this application. [Figure 8] Figure 8 shows the selection of adjacent reference samples in MDLM_L mode according to another embodiment of this application. [Figure 9] Figure 9 shows that the decoding block according to the embodiment of this application constructs a predictive model based on the maximum and minimum values. [Figure 10] Figure 10 is a schematic diagram showing the structure of a predictive decoding device according to an embodiment of this application. [Figure 11] Figure 11 shows the specific hardware structure of a predictive decoding device according to an embodiment of this application. [Modes for carrying out the invention]
[0012] To understand the features and technical content of the embodiments of the present application in detail, the technical solutions of the embodiments of the present application will be described in detail below with reference to the drawings. The attached drawings are only used for explanation and do not limit the present application.
[0013] In a video image, generally, a decoding block is indicated 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 luminance component, a blue chroma component, and a red chroma component, respectively. Specifically, the luminance component is generally indicated by the symbol Y, the blue chroma component is generally indicated by the symbol Cb, and the red chroma component is generally indicated by the symbol Cr.
[0014] In the embodiments of the present application, the first image component can be the luminance component Y, the second image component can be the blue chroma component Cb, and the third image component can be the red chroma component Cr. However, the embodiments of the present application are not specifically limited thereto. Currently, the generally used sampling format is the YCbCr format. The YCbCr format includes the following types as shown in FIGS. 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. [[ID="]]
[0015] 4:4:4 format: As shown in FIG. 1A, no downsampling is performed on the second image component or the third image component. In each scan line, for every four consecutive samples, four samples of the first image component, four samples of the second image component, and four samples of the third image component are taken.
[0016] 4:2:2 format: As shown in Figure 1B, the first image component performs 2:1 horizontal sampling with respect to the second image component or the third image component, and no vertical downsampling is performed. In each scan line, for every four consecutive samples, four samples of the first image component, two samples of the second image component, and two samples of the third image component are taken.
[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 image component or the third image component. In the horizontal scan line and the vertical scan line, for every two consecutive samples, two samples of the first image component, one sample of the second image component, and one sample of the third image component are taken.
[0018] When the YCbCr format adopted by the video image is the 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, taking the 4:2:0 format as an example, the embodiments of the present application will be described. However, the technical solutions of the embodiments of the present application can similarly apply other sampling formats.
[0019] The H.266 video encoding standard extends cross-component prediction (CCP) to further improve encoding and decoding performance, proposing cross-component linear model (CCLM) prediction and multi-directional linear model (MDLM) prediction. In H.266, both CCLM and MDLM can achieve predictions between the first and second image components, between the first and third image components, and between the second and third image components.
[0020] Taking the prediction between the first and second image components as an example, the CCLM prediction mode is used in VTM to reduce redundancy between the first and second image components, and can mainly include the CCLM mode and the MDLM mode. Here, the CCLM mode is also called the linear model (LM) mode. The MDLM mode can include the MDLM_A (MDLM_Above) mode and the MDLM_L (MDLM_LEFT) mode. The MDLM_A mode is also called the MDLM_T (MDLM_Top) mode or the CCLM_T (CCLM_Top) mode, and the MDLM_L mode is also called the CCLM_L (CCLM_Left) mode. In general, in the VVC reference software VTM 3.0, the three CCLM prediction modes, including the LM mode, the MDLM_A mode, and the MDLM_L mode, are in competition. The difference between the three modes above is that they are different sets of adjacent reference samples constructed to derive the model parameters α and β.
[0021] To improve predictive decoding performance by making the adjacent reference sample set constructed to derive model parameters α and β more accurate, embodiments of this application provide a predictive decoding method. First, a first adjacent reference sample set is obtained by acquiring reference samples adjacent to the block to be decoded, and the first adjacent reference sample set consists of reference samples from reference rows or reference columns adjacent to the block to be decoded. Next, starting from the starting position of the reference row or reference column, the positions corresponding to K reference samples are determined, where K is a positive integer of 1 or more. Furthermore, a second adjacent reference sample set is obtained based on 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. Finally, predictive decoding is performed on the block to be decoded based on the second adjacent reference sample set. Since the second adjacent reference sample set includes the remaining adjacent reference sample set obtained by removing the reference samples that are not important and are close to the starting position from the first adjacent reference sample set, the model parameters constructed using the second adjacent reference sample set are relatively accurate, improving predictive decoding performance. Furthermore, because the number of samples in the second neighboring reference sample set is small, the complexity of the search can be reduced, the compression efficiency of the video image can be improved, and the bitrate can be lowered. Embodiments of this application will be described in detail below with reference to the attached drawings.
[0022] Figure 2 is a block diagram of a video encoding system according to an embodiment of the present application. As shown in Figure 2, the video encoding system 200 includes a transformation 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 transformation 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, and the like. 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 arithmatic coding). For the input original video signal, video coding blocks can be obtained by dividing the coding tree unit (CTU). Next, the video coding blocks obtained by intra-prediction or inter-prediction are transformed by the transformation and quantization unit 201, the residual information is transformed from the pixel domain to the transformation domain, and the resulting transformation coefficients are quantized to further reduce the bitrate. The intra-estimation unit 202 and intra-prediction unit 203 are used to perform intra-prediction on the video coding blocks. Clearly speaking, the intra-estimation unit 202 and intra-prediction unit 203 are used to determine the intra-prediction mode used to encode the video coding blocks. The motion compensation unit 204 and motion estimation unit 205 are used to perform inter-frame prediction coding of the received video coding blocks for one or more blocks in one or more reference frames in order to provide time prediction information.Motion estimation, performed by the motion estimation unit 205, is a process that generates motion vectors, which can estimate the motion of video coding blocks. The motion compensation unit 204 is used to perform motion compensation based on the motion vectors determined by the motion estimation unit 205. After determining the intra-prediction mode, the intra-prediction unit 203 is used to provide further selected intra-prediction data to the coding unit 209, and the motion estimation unit 205 is used to transmit 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 blocks. The residual blocks are reconstructed in the pixel region, blocking artifacts in the reconstructed residual blocks are removed via the filter control analysis unit 207 and the filtering unit 208, and the reconstructed residual blocks are then added to one prediction block in the 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 transformation coefficients. In a CABAC-based coding algorithm, contextual content can be based on adjacent coding blocks and can encode information indicating a confirmed intra-predictive mode to output a bitstream of the video signal. The decoded image cache unit 210 is used to store reconstructed video coding blocks for predictive reference. As the encoding of the video image progresses, new reconstructed coding blocks are constantly generated, and all of these reconstructed coding blocks are stored in the decoded image cache unit 210.
[0023] Figure 3 is a block diagram of a video decoding system according to an embodiment of the present application. As shown in Figure 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, and the like. The decoding unit 301 can perform header information decoding and CABAC decoding. The filtering unit 305 can perform DBK filtering and SAO filtering. After the input video signal is encoded (as shown in Figure 2), it outputs a bitstream of the video signal. The bitstream is input to the video decoding system 300. First, the decoded transformation coefficients are obtained via the decoding unit 301. The decoded transformation coefficients are processed by the inverse transform and inverse quantization unit 302 to generate residual blocks in the pixel region. The intra-prediction unit 303 can be used to generate prediction data for the current video coding block based on a determined intra-prediction mode and data from a previous decoded block from the current frame or image. The motion compensation unit 304 analyzes motion vectors and other relevant syntactic elements to determine the prediction information used for the video coding block, and uses the prediction information to generate a prediction block for the video coding block currently being decoded. The 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 can be removed via the filtering unit 305 to improve the video quality. The decoded video block is then stored in the decoded image cache unit 306.The decoded image cache unit 306 is used to store a reference image used for subsequent intra-prediction or motion compensation, and is also used to output a video signal, i.e., to obtain the restored original video signal.
[0024] The embodiments of this application can 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 this application are applicable to both encoding and decoding systems, but are not limited thereto.
[0025] Refer to Figure 4, based on the example application scenario shown in Figure 2 or Figure 3, which is a flowchart of a predictive decoding method according to an embodiment of this application. This method may include the following:
[0026] S401. Obtain the first adjacent reference sample set by obtaining the reference sample adjacent to the block to be decoded. The first adjacent reference sample set consists of reference samples of reference rows or columns adjacent to the block to be decoded.
[0027] S402, starting from the starting position of the reference row or reference column, determine the positions corresponding to K reference samples, where K is a positive integer greater than or equal to 1.
[0028] S403, a second set of neighboring reference samples is obtained based on the positions corresponding to the confirmed K reference samples, and the second set of neighboring reference samples includes neighboring reference samples other than the K reference samples in the first set of neighboring reference samples.
[0029] S404 performs predictive decoding on the block to be decoded, based on the second-neighbor reference sample set.
[0030] The block to be decoded is a decoding block that attempts to perform first image component prediction, second image component prediction, or third image component prediction. A reference row or column adjacent to the block to be decoded may be a reference row adjacent to the upper edge of the block to be decoded, a reference column adjacent to the left edge of the block to be decoded, or a reference row or column adjacent to any other edge of the block to be decoded, and the embodiments of this application are not specifically limited. For convenience, in the embodiments of this application, a reference row adjacent to the block to be decoded is described as an example of a reference row adjacent to the upper edge of the block to be decoded, and a reference column adjacent to the block to be decoded is described as an example of a reference column adjacent to the left edge of the block to be decoded.
[0031] Reference samples in a reference row adjacent to the block to be decoded may include reference samples adjacent to the top edge and reference samples adjacent to the upper right edge (also called adjacent reference samples corresponding to the top and upper right edges). The top edge refers to the top edge of the block to be decoded. The upper right edge refers to the edge that extends horizontally to the right from the top edge of the block to be decoded and has a length equal to the width of the block to be decoded. Reference samples in a reference column adjacent to the block to be decoded may include reference samples adjacent to the left edge and reference samples adjacent to the lower left edge (also called adjacent reference samples corresponding to the left and lower left edges). The left edge refers to the left edge of the block to be decoded. The lower left edge refers to the edge that extends vertically downward from the left edge of the block to be decoded and has a length equal to the height of the block to be decoded. However, embodiments of this application are not specifically limited thereto.
[0032] K reference samples are unimportant reference samples in the first-neighbor reference sample set and are generally distributed near the starting position of the reference row or column. The starting position of a reference row refers to the leftmost position of the reference row. The starting position of a reference column refers to the topmost position of the reference column. Since reference rows are horizontal, "determining the positions corresponding to K reference samples starting from the starting position of the reference row or column" means starting from the leftmost position of the reference row and determining the positions corresponding to K reference samples horizontally to the right. Since reference columns are vertical, "determining the positions corresponding to K reference samples starting from the starting position of the reference row or column" means starting from the topmost position of the reference column and determining the positions corresponding to K reference samples vertically downwards. In this way, the first-neighbor reference sample set can be obtained by acquiring the reference samples adjacent to the block to be decoded. The first-neighbor reference sample set consists of reference samples from reference rows or columns adjacent to the block to be decoded. Starting from the beginning of a reference row or column, the positions corresponding to K reference samples are determined, where K is a positive integer greater than or equal to 1. Based on the determined positions of the K reference samples, a second set of neighboring reference samples is obtained, which includes neighboring reference samples other than the K reference samples in the first set of neighboring reference samples. Predictive decoding is performed on the block to be decoded based on the second set of neighboring reference samples. Since the second set of neighboring reference samples includes the remaining neighboring reference samples from the first set of neighboring reference samples, excluding reference samples that are not important and are close to the beginning, the model parameters constructed using the second set of neighboring reference samples are relatively accurate, improving predictive decoding performance. Furthermore, because the second set of neighboring reference samples has a small number of samples, the complexity of the search can be reduced, the compression efficiency of video images can be improved, and the bitrate can be lowered.
[0033] It can be understood that the predictive decoding method according to the embodiments of this application is also applicable to encoding systems. By constructing a second-neighbor reference sample set in the encoding system, it is possible not only to improve the predictive encoding performance of video images, but also to improve encoding compression efficiency and save encoding code rate. The following explanation will simply describe the construction of a second-neighbor reference sample set in a decoding system as an example.
[0034] In some embodiments, the prediction mode of the block to be decoded is an MDLM prediction mode, which includes MDLM_A mode and MDLM_L mode.
[0035] In some implementations, before selectively determining the positions corresponding to K reference samples, starting from the beginning of a reference row or reference column, the method further includes the following: In MDLM_A mode, the value of K is obtained by calculation based on the length of the reference row and a first preset ratio. The first preset ratio is the preset ratio corresponding to the reference row. Or, in MDLM_L mode, the value of K is obtained by calculation based on the length of the reference column and a second preset ratio. The second preset ratio is the preset ratio corresponding to the reference column.
[0036] In some embodiments, before selectively determining the positions corresponding to K reference samples, starting from the beginning of a reference row or column, the method further includes: In MDLM_A mode, obtaining a value of K by calculating based on the length of the top edge of the block to be decoded and a first preset ratio; or, in MDLM_L mode, obtaining a value of K by calculating 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 K reference samples, starting from the beginning of the reference row or column, In MDLM_A mode, the positions corresponding to K consecutive reference samples are determined, starting from the left edge of the reference row and moving to the right. In MDLM_L mode, the positions corresponding to K consecutive reference samples are determined starting from the top of the reference column and working downwards, Includes.
[0038] The adjacent reference sample set constructed to find the maximum adjacent reference value and the minimum adjacent reference value of the first image component is not the first adjacent reference sample set, but the second adjacent reference sample set. The second adjacent reference sample set includes the remaining reference samples after excluding a predetermined number (K) of reference samples starting from the starting position. In this way, by excluding 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, achieving the goal of improving predictive decoding performance.
[0039] The value of K can be a preset number of reference samples, for example, 1, 2, or 4, or it can be calculated based on the length of the reference row or reference column of the block to be decoded and the corresponding preset ratio, or it can 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 can be set specifically according to the actual situation, and the embodiments of this application are not specifically limited. The preset ratio corresponding to the reference row of the block to be decoded is represented by the first preset ratio, and the preset ratio corresponding to the reference column of the block to be decoded is represented by the second preset ratio, and the values of the first and second preset ratios may be the same or different, and the embodiments of this application are not specifically limited.
[0040] Regardless of whether MDLM_A mode is applied to all reference samples in a reference row (i.e., adjacent reference samples corresponding to the top and top right sides) or MDLM_L mode is applied to all reference samples in a reference column (i.e., adjacent reference samples corresponding to the left and bottom left sides), for the two modes, it is assumed that N is the length of the side of the block to be decoded (in MDLM_A mode, N is the width of the block to be decoded, i.e., the length of the top side; in MDLM_L mode, N is the height of the block to be decoded, i.e., the length of the left side), and if the side lengths of the blocks to be decoded are different, the value of K can be directly obtained from Table 1. Referring to Table 1, examples of the number of reference samples in a second adjacent reference sample set constructed in the MDLM mode provided by the embodiments of this application are shown. 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 the embodiments of this application. [Table 1]
[0041] In MDLM_A mode, if all reference samples of a reference row (i.e., adjacent reference samples corresponding to the top and top right edges) are available, there are two possible processing methods:
[0042] First processing method: Assuming the length of the reference row and the corresponding first preset ratio are as follows, the first preset ratio is 1 / 4, the length of the edge of the block to be decoded (i.e., the number of reference samples on the upper edge) is 8, and the length of the reference row (i.e., the total number of reference samples on the upper and upper right edges) is 16, then the value of K is 4. That is, the second adjacent reference sample set is constructed from the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) near the rightmost position in the adjacent reference sample set corresponding to the upper and upper right edges, and is used to derive the model parameters α and β.
[0043] Second processing method: Assuming the length of the upper edge of the block to be decoded and the corresponding first preset ratio are as follows, and 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, then the value of K is 4. That is, the second adjacent reference sample set is constructed from the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) near the rightmost position in the adjacent reference sample set corresponding to the upper edge and the upper right edge, and is used to derive the model parameters α and β.
[0044] For illustrative purposes, referring to Figure 5, which shows the selection of adjacent reference samples in MDLM_A mode according to an embodiment of the present application. As shown in Figure 5, the block to be decoded is a square, and the gray solid-centered circles represent the adjacent reference samples of the selected block to be decoded. First, it is necessary to perform downsampling on the first image component so that the first and second image components 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 adjacent reference samples on the upper and upper right sides) is 16, the value of K is 4. That is, regardless of whether it is the first or second image component, starting from the left end of the reference row, the positions corresponding to the four consecutive reference samples to the right are determined, the four determined reference samples are eliminated, and the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) near the right end position constitute the 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 K values, and embodiments of this application are not specifically limited thereto.
[0046] In MDLM_A mode, in addition to the common scenario where all reference samples of a referenced row (i.e., adjacent reference samples corresponding to the top and top right edges) are available, there are a few exceptions. Three of these exceptions are described in detail below.
[0047] Exception 1: If no adjacent samples corresponding to the upper edge of the block to be decoded are available, there are no adjacent reference samples, the model parameter α is set to 0, and the model parameter β is set to the midpoint of the second image component, which is 512. That is, the predicted value of the second image component corresponding to all samples in the current decoding block is 512.
[0048] Exception 2: If adjacent samples corresponding to the upper 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 described above, the length of the reference row (only the number of reference samples on the upper edge) is 8, the first 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) near the right end of the adjacent reference sample set corresponding to the upper edge of the block to be decoded are used to construct a second adjacent reference sample set and are used to derive the model parameters α and β. In the second processing method described above, 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 first 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) near the right end of the adjacent reference sample set corresponding to the upper edge of the block to be decoded are used to construct a second adjacent reference sample set and are used to derive the model parameters α and β.
[0049] Exception 3: If all adjacent samples corresponding to the upper edge of the block to be decoded and adjacent samples corresponding to the upper right edge of the block to be decoded are available, the second adjacent reference sample set is constructed in the same manner as the first or second processing method described above, and the model parameters α and β are derived.
[0050] In MDLM_L mode, if all reference samples in the reference column (i.e., adjacent reference samples corresponding to the left and lower left sides) are available, the following two processing methods are included:
[0051] Third processing method: Assuming the length of the reference column and the corresponding second preset ratio are as follows, and the second preset ratio is 1 / 4, the length of the edge of the block to be decoded (i.e., the number of reference samples on the left edge) is 8, and the length of the reference column (i.e., the total number of reference samples on the left edge and lower left edge) is 16, then the value of K is 4. That is, the second adjacent reference sample set is constructed from the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) closest to the bottom position in the adjacent reference sample set corresponding to the left edge and lower left edge, and is used to derive the model parameters α and β.
[0052] Fourth processing method: Assuming the length of the left-hand side of the block to be decoded and the corresponding second preset ratio are as follows, and the second preset ratio is 1 / 2, and the length of the left-hand side of the block to be decoded (i.e., the number of reference samples on the left-hand side) is 8, then the value of K is 4. That is, the second adjacent reference sample set is constructed from the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) closest to the bottom position in the adjacent reference sample set corresponding to the left-hand side and the lower-left side, and is used to derive the model parameters α and β.
[0053] For illustrative purposes, referring to Figure 6, which shows the selection of adjacent reference samples in MDLM_L mode according to an embodiment of the present application. As shown in Figure 6, the block to be decoded is a square, and the gray solid-centered circles represent the adjacent reference samples of the selected block to be decoded. First, it is necessary to perform downsampling on the first image component so that the first and second image components thus downsampled have the same resolution. Assuming that the second preset ratio is 1 / 4 and the length of the reference column (i.e., the total number of adjacent reference samples on the left and lower left sides) is 16, the value of K is 4. That is, regardless of whether it is the first or second image component, starting from the top of the reference column, the positions corresponding to the four consecutive reference samples going downwards are determined, the four determined reference samples are eliminated, and the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) near the bottom of the reference column constitute the 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 K values, and embodiments of this 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., adjacent reference samples corresponding to the left and lower left sides) are available, there are a few exceptions. Three of these exceptions are described in detail below.
[0056] Exception 1: If no adjacent sample corresponding to the left edge of the block to be decoded is available, there is no adjacent reference sample, the model parameter α is set to 0, and the model parameter β is set to the midpoint of the second image component, which is 512. That is, the predicted value of the second image component corresponding to all samples in the current decoding block is 512.
[0057] Exception 2: If adjacent samples corresponding to the left-hand side of the block to be decoded are available, but adjacent samples corresponding to the lower-left side of the block to be decoded are not available, then in the third processing method described above, the length of the reference column (only the number of reference samples on the left-hand side) is 8, the second preset ratio is 1 / 4, and the value of K is 2. That is, the second adjacent reference sample set is constructed from the remaining 3 / 4 of the reference samples (i.e., 6 reference samples) closest to the bottom position in the adjacent reference sample set corresponding to the left-hand side of the block to be decoded, and is used to derive the model parameters α and β. In the fourth processing method described above, the length of the left-hand side of the block to be decoded (i.e., the number of reference samples on the left-hand side) is 8, the second preset ratio is 1 / 2, and the value of K is 4. That is, the second adjacent reference sample set is constructed from the remaining 1 / 2 of the reference samples (i.e., 4 reference samples) closest to the bottom position in the adjacent reference sample set corresponding to the left-hand side of the block to be decoded, and is used to derive the model parameters α and β.
[0058] Exception 3: If all adjacent samples corresponding to the left-hand side of the block to be decoded and all adjacent samples corresponding to the lower-left side of the block to be decoded are available, the second adjacent reference sample set is constructed in the same manner as the third or fourth processing method described above, and the model parameters α and β are derived.
[0059] In some implementations, in MDLM_A mode, before determining the positions corresponding to K reference samples, this method further includes the following: Starting from the leftmost position of the reference row, determine the positions corresponding to i consecutive reference samples to the right. Starting from the rightmost position of the reference row, determine the positions corresponding to j consecutive reference samples to the left. Here, i is a positive integer, The filename is JPEG0007912135000002.jpg10161.
[0060] In some embodiments, in MDLM_L mode, before determining the positions corresponding to K reference samples, this method further includes: Determining the positions corresponding to p consecutive reference samples starting from the top position of the reference column; Determining the positions corresponding to q consecutive reference samples starting from the bottom position of the reference column, starting from the bottom position of the reference column, where p is a positive integer, The filename is JPEG0007912135000003.jpg12161.
[0061] Regardless of MDLM_A mode and MDLM_L mode, some reference samples close to the start position of the reference row or column and some reference samples close to the end position of the reference row or column can be excluded. The second adjacent reference sample set contains only reference samples corresponding to the midpoint of the reference row or column. The values of i and j may be the same or different. The values of p and q may be the same or different. In actual applications, the values of i, j, p, and q can be set specifically according to the actual circumstances, and the embodiments of this application are not limited thereto.
[0062] Taking MDLM_A mode as an example, Figure 7 shows the selection of adjacent reference samples in MDLM_A mode according to another embodiment of this application. As shown in Figure 7, the block to be decoded is a square, and the gray solid-centered circles represent the adjacent reference samples of the selected decoded block. First, it is necessary to perform downsampling on the first image component so that the first and second image components 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 top and top right sides) is 16, the value of K is 4. Assuming 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 of the reference row are excluded, and 1 / 8 of the reference samples near the end of the reference row are excluded, i=j=2. Therefore, regardless of whether it is the first or second image component, the positions corresponding to two consecutive reference samples moving from the left end of the reference row to the right are determined, the positions corresponding to two consecutive reference samples moving from the right end of the reference row to the left are determined, the four determined reference samples are eliminated, and finally the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) corresponding to the middle positions of the reference row are used to construct the second adjacent reference sample set, which is then used to derive the model parameters α and β.
[0063] Taking the MDLM_L mode as an example, referring to Figure 8, which shows the selection of adjacent reference samples in the MDLM_L mode according to another embodiment of the present application. As shown in Figure 8, the block to be decoded is a square, and the gray solid-centered circles represent the adjacent reference samples of the selected decoded block. First, it is necessary to perform downsampling on the first image component so that the first and second image components thus downsampled have the same resolution. Assuming that the second preset ratio is 1 / 4 and the length of the reference column (i.e., the total number of reference samples adjacent to the left and lower left sides) is 16, the value of K is 4. Assuming that the number of samples to be excluded near one end of the reference column is the same as the number of samples to be excluded near the other end of the reference column, i.e., 1 / 8 of the reference samples near the start of the reference column are excluded, and 1 / 8 of the reference samples near the end of the reference column are excluded, so p=q=2. Therefore, regardless of whether it is the first or second image component, the positions corresponding to two consecutive reference samples starting from the top of the reference column are determined, the positions corresponding to two consecutive reference samples starting from the bottom of the reference column are determined, the four determined reference samples are eliminated, and finally the remaining 3 / 4 of the reference samples (i.e., 12 reference samples) corresponding to the middle positions of the reference column are used to construct the second adjacent reference sample set, which is then used to derive the model parameters α and β.
[0064] It is understandable that the CCLM prediction mode is used in VTM to reduce redundancy between the first and second image components. In CCLM prediction modes such as LM mode and MDLM mode, the second image component can be obtained by predicting the reconstructed value of the first image component in the same decoding block. For example, the prediction model of equation (1) can be employed.
number
[0065] i and j represent the position coordinates of the sample within the decoding block. Here, i represents the horizontal direction and j represents the vertical direction. Pred 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 whose position coordinates in the same downsampled decoding block are [i, j]. α and β are the model parameters of the prediction model described above.
[0066] Based on the second-neighbor reference sample set obtained as described above, the second model parameters α and β can be constructed in various ways. This could be a regression construction method based on the least squares method, a method for constructing maximum and minimum values, or any other construction method. Below, the regression construction method based on the least squares method and the method for constructing maximum and minimum values will be explained as examples.
[0067] In VVC, α and β can be derived using least squares regression errors with respect to the first and second image component neighbor reference values corresponding to the reference samples in the second neighbor 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, by searching for the maximum first image component adjacent reference value and the minimum first image component adjacent reference value from the second adjacent reference sample set, the model parameters α and β can be derived based on the principle that "two points determine a line". α and β can be derived by the following formula (3).
Number
[0070] L max and L min represent the maximum value and the minimum value respectively searched from the first image component adjacent reference values corresponding to the reference samples in the second adjacent reference sample set, and C max is the second image component adjacent reference value corresponding to the reference sample at the position corresponding to L max and C min is the second image component adjacent reference value corresponding to the reference sample at the position corresponding to L min Figure 9 is a diagram showing that the decoding block according to the embodiment of the present application constructs a prediction model based on the maximum value and the minimum value. The horizontal coordinate represents the first image component adjacent reference value corresponding to the decoding block. The vertical coordinate represents the second image component adjacent reference value corresponding to the decoding block. Based on L max L min C max C min the model parameters α and β can be calculated by formula (3), and the constructed prediction model is C = α * L + β. Here, L represents the first image component reconstruction value corresponding to one 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 implementation forms, performing predictive decoding on the block to be decoded based on the second adjacent reference sample set Based on the second neighboring reference sample set, the first model parameters are determined, Based on the first model parameters, establish the first predictive model, Based on the first prediction model, predictive decoding is performed on the block to be decoded, The first prediction model, which includes the first prediction model, is used to represent the predictive relationship between the first and second image components corresponding to each sample in the block to be decoded.
[0072] After obtaining the second-neighbor reference sample set, the first model parameters α1 and β1 can be constructed based on equation (2) or equation (3). In this way, the first prediction model can be established based on equation (1), and prediction decoding can be performed on the block to be decoded based on the first prediction model. Since the second-neighbor reference sample set does not contain reference samples that are not important and are close to the starting position, in addition to reducing the complexity of the search, the model parameters constructed from the reference samples in the second-neighbor reference sample set are relatively accurate, improving prediction decoding performance, as well as improving the compression efficiency of video images and lowering the bitrate.
[0073] Furthermore, a third-neighbor reference sample set can be obtained by selecting reference samples at equal or unequal intervals based on the sampling interval from the acquired second-neighbor reference sample set. Since the number of samples in the third-neighbor reference sample set is small, the complexity of the search can be further reduced.
[0074] In some implementations, before performing predictive decoding on the block to be decoded based on the second-neighbor reference sample set, the method Based on the second adjacent reference sample set, the position of the reference sample to be selected is determined according to a predetermined number of samples, Based on the location of the reference sample to be selected, a reference sample corresponding to the location of the selected reference sample is selected from the second-neighbor reference sample set, and the third-neighbor reference sample set is constructed from the selected reference sample.
[0075] Furthermore, performing predictive decoding on the block to be decoded based on the second-neighbor reference sample set is possible. Based on the third-neighbor reference sample set, the second model parameters are determined, Based on the second model parameters, establish a second predictive model, Based on the second prediction model, predictive decoding is performed on the block to be decoded, The second prediction model is used to represent the predictive relationship between the first and second image components corresponding to each sample in the block being decoded.
[0076] The preset number of samples is the number of reference samples preset according to the actual demand. 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 neighboring reference sample set, or by performing non-uniform sampling at a different preset sampling interval on the reference samples of the second neighboring reference sample set. In actual applications, this can be specifically set based on the actual situation, and the embodiments of this application are not specifically limited.
[0077] In this way, the third neighbor reference sample set can be obtained by performing uniform or heterogeneous sampling on the reference samples of the second neighbor reference sample set. In this manner, the second model parameters α2 and β2 can be constructed based on the third neighbor reference sample set and equation (2) or equation (3). Next, the second prediction model can be established based on equation (1), and prediction decoding can be performed on the blocks to be decoded based on the second prediction model. Since the third neighbor reference sample set does not include reference samples that are not important and are close to the starting position, and importance and variance are also taken into consideration, the number of samples in the third neighbor reference sample set is even smaller, further reducing the complexity of the search, the model parameters constructed from the reference samples of the second neighbor reference sample set are relatively accurate, and prediction decoding performance can be improved and the bitrate can be reduced.
[0078] In some embodiments, the block to be decoded includes either a square decoding block or a non-square decoding block. In other words, the embodiments of this application are applicable to both square and non-square decoding blocks and are not specifically limited thereto.
[0079] The above-described embodiment provides a predictive decoding method that obtains a first set of adjacent reference samples by acquiring reference samples adjacent to the block to be decoded. The first set of adjacent reference samples consists of reference samples from reference rows or columns adjacent to the block to be decoded, and starting from the starting position of the reference row or column, positions corresponding to K reference samples are determined, where K is a positive integer greater than or equal to 1. A second set of adjacent reference samples is obtained based on the positions corresponding to the determined K reference samples. The second set of adjacent reference samples includes adjacent reference samples other than the K reference samples in the first set of adjacent reference samples, and predictive decoding is performed on the block to be decoded based on the second set of adjacent reference samples. By obtaining a second set of adjacent reference samples and reducing the number of reference samples, the complexity of the search can be reduced, the compression efficiency of the video image can be improved, and the bitrate can be lowered.
[0080] Referring to Figure 10, which is based on the same inventive concept as the technical solution shown in Figure 4 above, Figure 10 is a schematic diagram showing the structure of a predictive decoding device 100 according to an embodiment of this application. The predictive decoding device 100 includes an acquisition unit 1001, a confirmation unit 1002, an exclusion unit 1003, and a prediction unit 1004. The acquisition unit 1001 is used to acquire a first adjacent reference sample set by acquiring reference samples adjacent to the block to be decoded, and the first adjacent reference sample set consists of reference samples of reference rows or reference columns adjacent to the block to be decoded. The confirmation unit 1002 is used to confirm the positions corresponding to K reference samples, starting from the starting position of the reference row or reference column, where K is a positive integer of 1 or more. The exclusion unit 1003 is used to acquire a second adjacent reference sample set based on the positions corresponding to the confirmed 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. The prediction unit 1004 is used to perform predictive decoding on the block to be decoded, based on the second-neighbor reference sample set.
[0081] In some implementations, the prediction mode for the block to be decoded is the MDLM prediction mode, which includes the MDLM_A mode and the MDLM_L mode.
[0082] In some embodiments, as shown in Figure 10, the predictive decoding device 100 further includes a calculation unit 1005. The calculation unit 1005 is used to calculate the value of K based on the length of a reference row and a first preset ratio in MDLM_A mode, where the first preset ratio is the ratio corresponding to the reference row, or, in MDLM_L mode, it is used to calculate the value of K based on the length of a reference column and a second preset ratio, where the second preset ratio is the 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 upper side of the block to be decoded and a first preset ratio in MDLM_A mode, or to calculate the value of K based on the length of the left side of the block to be decoded and a second preset ratio in MDLM_L mode.
[0084] In some embodiments, the determination unit 1002 is used specifically to determine the positions corresponding to K consecutive reference samples, starting from the left end of the reference row and moving to the right, in MDLM_A mode, or to determine the positions corresponding to K consecutive reference samples, starting from the top of the reference column and moving downwards, in MDLM_L mode.
[0085] In some embodiments, in MDLM_A mode, the determination unit 1002 is further used to determine the positions corresponding to i consecutive reference samples, starting from the leftmost position of the reference row and moving to the right, and to determine the positions corresponding to j consecutive reference samples, starting from the rightmost position of the reference row and moving to the left, where i is a positive integer. The filename is JPEG0007912135000007.jpg12161.
[0086] In some embodiments, in MDLM_L mode, the determination unit 1002 is further used to determine the positions corresponding to p consecutive reference samples starting from the top position of the reference column and moving downwards, and to determine the positions corresponding to q consecutive reference samples starting from the bottom position of the reference column and moving upwards, where p is a positive integer. The filename is JPEG0007912135000008.jpg8161.
[0087] In some embodiments, the determination unit 1002 is further used to determine the first model parameters based on the second neighboring reference sample set. The prediction unit 1004 is specifically used to establish a first prediction model based on the first model parameters and to perform prediction decoding on the block to be decoded based on the first prediction model. The first 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.
[0088] In some embodiments, as shown in Figure 10, the predictive decoding device 100 further includes a selection unit 1006. The selection unit 1006 is used to determine the position of a reference sample to be selected based on a second neighboring reference sample set, according to a preset number of samples, to select a reference sample from the second neighboring reference sample set corresponding to the position of the reference sample to be selected based on the position of the reference sample to be selected, and to construct a third neighboring reference sample set from the selected reference samples.
[0089] In some embodiments, the determination unit 1002 is further used to determine the second model parameters based on the third neighbor reference sample set. The prediction unit 1004 is specifically used to establish a second prediction model based on the second model parameters and to perform prediction decoding on the block to be decoded based on the second prediction model, the second prediction model being used to represent the prediction relationship between the first and second image components corresponding to each sample of the block to be decoded.
[0090] In this embodiment, it can be understood that a "unit" may be part of a circuit, part of a processor, part of a program, or part of software. A "unit" may be a module or a non-module. Furthermore, each functional unit according to this embodiment may be integrated into a single processing unit, each unit may exist physically independently, or two or more units may be integrated into a single unit. The above-mentioned integrated unit can be implemented in the form of a hardware or software functional unit.
[0091] The integrated unit may be implemented as a software functional unit and, if sold or used as an independent product, may be stored on a computer-readable recording medium. Under this understanding, the essential parts of the technical solution of this application, or parts that contribute 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 on a storage medium and contains a number of commands for a single computer (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the processes of each embodiment of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB (Universal Serial Bus) flash disks, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0092] Accordingly, embodiments of this application provide a computer-readable storage medium used for storing a predictive decoding program. Once the predictive decoding program is executed by at least one processor, the method described in the technical solution shown in Figure 4 is performed.
[0093] Referring to Figure 11, based on the configuration of the predictive decoding device 100 and the computer storage medium described above, Figure 11 shows the specific hardware structure of the predictive decoding device 100 according to an embodiment of the present application. The predictive decoding device 100 includes a network interface 1101, memory 1102, and processor 1103. The various components are coupled together via a bus system 1104. The bus system 1104 is used to enable connection and communication between these components. In addition to the data bus, the bus system 1104 further includes a power bus, a control bus, and a status signal bus. However, for clarity of explanation, in Figure 11, the various buses are marked as the bus system 1104.
[0094] The network interface 1101 is used to send and receive signals while sending and receiving information with other external network elements. The memory 1102 is used to store computer programs that can be executed by the processor 1103. When the computer program is executed by the processor 1103, it obtains a first-neighbor reference sample set by acquiring reference samples adjacent to the block to be decoded. The first-neighbor reference sample set consists of reference samples from reference rows or columns adjacent to the block to be decoded. Starting from the starting position of the reference row or column, it determines the positions corresponding to K reference samples, where K is a positive integer greater than or equal to 1. Based on the determined positions corresponding to the K reference samples, it obtains a second-neighbor reference sample set. The second-neighbor reference sample set includes neighbor reference samples other than the K reference samples in the first-neighbor reference sample set. Based on the second-neighbor reference sample set, it performs predictive decoding on the block to be decoded.
[0095] The memory 1102 in the embodiments of this application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may 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. Volatile memory may be random access memory (RAM) that functions as an external high-speed cache. As an illustrative but non-exclusive 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 include, but is not limited to, these and any other suitable types of memory.
[0096] The processor 1103 in the embodiments of this application may be an integrated circuit chip having signal processing capabilities. In the implementation, each step of the method embodiment described above can be completed by an integrated logic circuit in hardware form or by instructions in software form of the processor 1103. The processor 1103 described above 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 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application may be executed and completed directly by a hardware decoding processor or by a combination of hardware and software modules within the decoding processor. The software module may reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, or registers. The storage medium is located in memory 1102. The processor 1103 reads the information in memory 1102 and, together with the processor hardware, completes the steps of the method described above.
[0097] It should be understood that the embodiments described herein can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented by hardware, the processing unit can be 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, or other electronic units or a combination thereof.
[0098] When implemented in software, the technologies described herein can be implemented by modules (e.g., procedures, functions, etc.) for performing the functions described herein. The software code is stored in memory and executed by a processor. Memory can be implemented within or outside the processor.
[0099] Selectively, in another embodiment, the processor 1103 is used to execute the method of the technical solution shown in Figure 4 when executing a computer program.
[0100] It should be noted that the technical solutions described in the embodiments of this application can be combined in any way as long as there are no conflicts.
[0101] The above describes 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 conceive of modifications or substitutions within the scope of the art disclosed herein, and all such modifications or substitutions should be included within the scope of this application. Therefore, the scope of protection of this application should be determined by the claims.
[0102] Industrial applicability
[0103] In the embodiments of this application, first, a first set of adjacent reference samples is obtained by acquiring reference samples adjacent to the block to be decoded. This first set of adjacent reference samples consists of reference samples from reference rows or columns adjacent to the block to be decoded. Next, starting from the starting position of the reference row or column, the positions corresponding to K reference samples are determined, where K is a positive integer greater than or equal to 1. Then, a second set of adjacent reference samples is obtained based on the positions corresponding to the determined K reference samples. This second set of adjacent reference samples includes adjacent reference samples other than the K reference samples in the first set of adjacent reference samples. Finally, predictive decoding is performed on the block to be decoded based on the second set of adjacent reference samples. Since the second set of adjacent reference samples does not include reference samples that are not important and are close to the starting position, the model parameters constructed using the second set of adjacent reference samples are relatively accurate, improving predictive decoding performance. Furthermore, because the second set of adjacent reference samples has a small number of samples, the complexity of the search can be reduced, the compression efficiency of the video image can be improved, and the bitrate can be lowered.
Claims
1. A predictive decoding device, Including memory and processor, The aforementioned memory is used to store computer programs. When the computer program is executed by the processor, the processor: Multiple first-neighbor reference samples are obtained by obtaining a reference sample adjacent to the current block, and the multiple first-neighbor reference samples include a reference sample of a reference row or reference column adjacent to the current block. Starting from the starting position of the aforementioned reference row or column, determine the positions corresponding to K reference samples, where K is a positive integer. Based on the positions corresponding to the confirmed K reference samples, multiple second-neighbor reference samples are obtained. Based on the aforementioned multiple second-neighbor reference samples, cross-component predictive decoding is performed on the current block. The predictive decoding device further, For the aforementioned reference row, calculate the K value based on the length of the upper edge of the current block, or For the aforementioned reference column, calculate the K value based on the length of the left-hand side of the current block. A predictive decoding device characterized by the following features.
2. The prediction mode of the current block is a multidirectional linear model (MDLM) prediction mode, and the MDLM prediction mode includes MDLM_A mode and MDLM_L mode. The predictive decoding apparatus according to claim 1.
3. Determining the positions corresponding to K reference samples, starting from the beginning position of the aforementioned reference row or reference column, is: For the aforementioned reference row, the positions corresponding to K consecutive reference samples are determined, starting from the left end of the reference row and moving to the right. With respect to the aforementioned reference column, the positions corresponding to K consecutive reference samples are determined, starting from the top of the reference column and moving downwards. Including one of the following, The predictive decoding apparatus according to claim 1.
4. Before determining the positions corresponding to K reference samples for the aforementioned reference row, the predictive decoding device further: Starting from the leftmost position of the aforementioned reference row and moving to the right, determine the positions corresponding to i consecutive reference samples. Starting from the rightmost position of the aforementioned reference row and moving to the left, determine the positions corresponding to j consecutive reference samples. Here, i is a positive integer, That is, The predictive decoding device according to claim 2.
5. Before determining the positions corresponding to the K reference samples in the aforementioned reference column, the predictive decoding device further: Starting from the topmost position of the aforementioned reference column and moving downwards, determine the positions corresponding to p consecutive reference samples. Starting from the lowest position in the aforementioned reference column and moving upwards, determine the positions corresponding to q consecutive reference samples. Here, p is a positive integer, That is, The predictive decoding device according to claim 2.
6. The predictive decoding device further, Based on the aforementioned multiple second-neighbor reference samples, the position of the reference sample is determined according to a predetermined number of samples. Based on the position of the aforementioned reference sample, a reference sample corresponding to the position of the aforementioned reference sample is determined from the plurality of second adjacent reference samples. Determining the position of the reference sample according to the predetermined number of samples is: This includes determining the position of the reference sample in the plurality of second adjacent reference samples based on the sampling interval, The predictive decoding apparatus according to claim 1.
7. The sampling interval is an equal sampling interval, and the position of the reference sample in the plurality of second adjacent reference samples is determined based on the sampling interval. This includes determining the position of the reference sample in the plurality of second adjacent reference samples by performing uniform sampling at the same sampling interval for the plurality of second adjacent reference samples. The equation satisfies, Here, startPosN represents the starting position of the reference sample, pos represents the current position of the reference sample, N represents the preset number of samples, and pickStepN represents the equal sampling interval. The predictive decoding apparatus according to claim 6.
8. The sampling interval is an unequal sampling interval, and the position of the reference sample in the plurality of second adjacent reference samples is determined based on the sampling interval. This includes determining the position of the reference sample in the plurality of second adjacent reference samples by performing non-uniform sampling at the unequal sampling interval for the plurality of second adjacent reference samples. The predictive decoding apparatus according to claim 6.
9. The prediction modes of the current block include the cross-component linear model (CCLM) mode, the CCLM_T mode, and the CCLM_L mode. The predictive decoding apparatus according to claim 1.
10. The CCLM_T mode is the INTRA_T_CCLM mode, and the CCLM_L mode is the INTRA_L_CCLM mode. The predictive decoding apparatus according to feature 9.
11. The plurality of second neighbor reference samples begin with the (K+1)th reference sample among the plurality of first neighbor reference samples. The predictive decoding apparatus according to claim 1.
12. A predictive encoding device, Including memory and processor, The aforementioned memory is used to store computer programs. When the computer program is executed by the processor, the processor: Multiple first-neighbor reference samples are obtained by obtaining a reference sample adjacent to the current block, and the multiple first-neighbor reference samples include a reference sample of a reference row or reference column adjacent to the current block. Starting from the starting position of the aforementioned reference row or reference column, determine the positions corresponding to K reference samples, where K is a positive integer. Based on the positions corresponding to the confirmed K reference samples, multiple second-neighbor reference samples are obtained. Based on the aforementioned multiple second-neighbor reference samples, cross-component predictive encoding is performed on the current block. The predictive encoding device further includes, For the aforementioned reference row, calculate the K value based on the length of the upper edge of the current block, or For the aforementioned reference column, calculate the K value based on the length of the left-hand side of the current block. A predictive encoding device characterized by the following features.
13. A method for transmitting a bitstream, The bitstream is generated by performing the following steps, the steps of which include: obtaining a plurality of first-neighbor reference samples by obtaining a reference sample adjacent to the current block, wherein the plurality of first-neighbor reference samples include a reference sample of a reference row or reference column adjacent to the current block; determining the positions corresponding to K reference samples, starting from the starting position of the reference row or reference column, where K is a positive integer; obtaining a plurality of second-neighbor reference samples based on the positions corresponding to the determined K reference samples; and performing cross-component predictive encoding on the current block based on the plurality of second-neighbor reference samples, the steps further include: calculating a K value for the reference row based on the length of the top edge of the current block; and calculating a K value for the reference column based on the length of the left edge of the current block. The transmission of the aforementioned bitstream, including, A method for transmitting a bitstream characterized by the following.
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