Decoding prediction method, apparatus and computer storage medium

By constructing a subset of adjacent reference pixels, the problem of high search complexity in existing technologies is solved, improving the decoding and prediction performance of video images and reducing the bit rate.

CN116614622BActive Publication Date: 2026-02-27GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310454159.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-12-25
Publication Date
2026-02-27
Estimated Expiration
2038-12-25

AI Technical Summary

Technical Problem

In video coding, the construction of adjacent reference pixel subsets in existing technologies is unreasonable, resulting in high search complexity and reduced decoding and prediction performance of video images.

Method used

By acquiring at least one reference pixel adjacent to an edge of the block to be decoded, a reference point is determined, and the position of the selected reference pixel is determined according to a preset number of samples, thereby forming a subset of adjacent reference pixels for predictive decoding of video images.

Benefits of technology

It reduces search complexity, improves video image decoding and prediction performance, and reduces bit rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116614622B_ABST
    Figure CN116614622B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a decoding prediction method, device and computer storage medium, the method comprises the following steps: obtaining reference pixel points adjacent to at least one side of a to-be-decoded block to obtain a first adjacent reference pixel set; determining a reference point from the at least one side, determining the position of a to-be-selected reference pixel point corresponding to the at least one side according to a preset sampling number; based on the position of the to-be-selected reference pixel point, selecting reference pixel points corresponding to the position of the to-be-selected reference pixel point from the first adjacent reference pixel set to form an adjacent reference pixel subset; and based on the adjacent reference pixel subset, performing prediction decoding on the to-be-decoded block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Divisional Statement

[0002] This application is a divisional application of PCT / CN2018 / 123657, filed on December 25, 2018, entitled "Decoding prediction method, device and computer storage medium", which entered the Chinese national phase as Chinese Patent Application No. 201880095849.8. TECHNICAL FIELD

[0003] Embodiments of the present application relate to the technical field of video coding, and in particular to a decoding prediction method, device and computer storage medium. BACKGROUND

[0004] With the increasing demand for video display quality, new video application forms such as high-definition and ultra-high-definition videos have emerged. H.265 / High Efficiency Video Coding (HEVC) is the latest international video compression standard, and the compression performance of H.265 / HEVC is about 50% higher than that of the previous generation video coding standard H.264 / Advanced Video Coding (AVC), but still cannot meet the needs of the rapid development of video applications, especially new video applications such as ultra-high-definition and virtual reality (VR).

[0005] In 2015, the Video Coding Experts Group of ITU-T and the Moving Picture Experts Group of ISO / IEC established the Joint Video Exploration Team (JVET) to develop the next generation of video coding standards. The Joint Exploration Test Model (JEM) is a general reference software platform, and different coding tools are verified based on this platform. In April 2018, JVET officially named the next generation of video coding standards as Versatile Video Coding (VVC), and the corresponding test model is VTM. In the JEM and VTM reference software, a coding prediction method based on a linear model has been integrated, which predicts the chroma component from the luminance component of the current to-be-decoded block through the linear model. However, when constructing the linear model, the adjacent reference pixel subset constructed by the adjacent reference pixels is not very reasonable, resulting in high search complexity and reducing the decoding prediction performance of the video image. SUMMARY

[0006] Therefore, the embodiment of the present application expects to provide a decoding prediction method, device and computer storage medium, since the adjacent reference pixels in the adjacent reference pixel subset not only consider importance and dispersion, but also the number of pixels in the adjacent reference pixel subset is less, thereby reducing the complexity of search, improving the prediction performance of video image decoding, and further reducing the bit rate.

[0007] The technical solution of the embodiment of the present application can be implemented as follows:

[0008] In a first aspect, the embodiment of the present application provides a decoding prediction method, which comprises:

[0009] obtaining reference pixel points adjacent to at least one side of a to-be-decoded block to obtain a first adjacent reference pixel set;

[0010] determining a reference point from the at least one side, and determining to-be-selected reference pixel point positions corresponding to the at least one side according to a preset sampling number;

[0011] selecting reference pixel points corresponding to the to-be-selected reference pixel point positions from the first adjacent reference pixel set based on the to-be-selected reference pixel point positions, and forming an adjacent reference pixel subset by using the selected reference pixel points;

[0012] performing prediction decoding on the to-be-decoded block based on the adjacent reference pixel subset.

[0013] In a second aspect, the embodiment of the present application provides a decoding prediction device, which comprises an obtaining unit, a determining unit, a selecting unit and a decoding unit,

[0014] The obtaining unit is configured to obtain reference pixel points adjacent to at least one side of a to-be-decoded block to obtain a first adjacent reference pixel set.

[0015] The determining unit is configured to determine a reference point from the at least one side, and determine to-be-selected reference pixel point positions corresponding to the at least one side according to a preset sampling number.

[0016] The selecting unit is configured to select reference pixel points corresponding to the to-be-selected reference pixel point positions from the first adjacent reference pixel set based on the to-be-selected reference pixel point positions, and form an adjacent reference pixel subset by using the selected reference pixel points.

[0017] The decoding unit is configured to perform prediction decoding on the to-be-decoded block based on the adjacent reference pixel subset.

[0018] In a third aspect, the embodiment of the present application provides a decoding prediction device, which comprises a memory and a processor.

[0019] the memory, configured to store a computer program capable of running on the processor;

[0020] the processor, configured to execute the steps of the method according to the first aspect when running the computer program.

[0021] In a fourth aspect, an embodiment of the present application provides a computer storage medium, which stores a decoding prediction program, and the decoding prediction program, when executed by at least one processor, implements the steps of the method according to the first aspect.

[0022] The embodiments of the present application provide a decoding prediction method and device and a computer storage medium. Firstly, reference pixel points adjacent to at least one side of a to-be-decoded block are acquired to obtain a first adjacent reference pixel set. Then, a reference point is determined from the at least one side, and a to-be-selected reference pixel position corresponding to the at least one side is determined according to a preset sampling number. Then, based on the to-be-selected reference pixel position, reference pixel points corresponding to the to-be-selected reference pixel position are selected from the first adjacent reference pixel set to form an adjacent reference pixel subset. Finally, the to-be-decoded block is predicted and decoded based on the adjacent reference pixel subset. Since the selection of the adjacent reference pixel points in the adjacent reference pixel subset takes into account the importance and dispersion, the model parameters constructed based on the adjacent reference pixel subset are relatively accurate, which can improve the prediction performance of video image decoding. Moreover, the number of pixel points in the adjacent reference pixel subset is relatively small, thereby reducing the complexity of search, improving the prediction performance of video image decoding, and further reducing the bit rate. BRIEF DESCRIPTION OF DRAWINGS

[0023] Figures 1A to 1C are structural diagrams of video image sampling formats in related technical solutions, respectively;

[0024] Figure 2A and Figure 2B are sampling diagrams of first image component adjacent reference values and second image component adjacent reference values of a decoding block in related technical solutions, respectively;

[0025] Figure 3 is a structural diagram of constructing a prediction model based on a maximum value and a minimum value for a decoding block in related technical solutions;

[0026] Figure 4A and Figure 4B are structural diagrams of selecting adjacent reference pixel points for a square decoding block and a non-square decoding block, respectively, provided by related technical solutions;

[0027] Figure 5A and Figure 5BA structure diagram of selecting adjacent reference pixels for a conventional technical solution and L0138 proposal, respectively;

[0028] Figure 6 A component block diagram of a video encoding system provided by an embodiment of the present application;

[0029] Figure 7 A component block diagram of a video decoding system provided by an embodiment of the present application;

[0030] Figure 8 A flowchart of a decoding prediction method provided by an embodiment of the present application;

[0031] Figure 9 A structure diagram of selecting adjacent reference pixels corresponding to an upper side of a to-be-decoded block provided by an embodiment of the present application;

[0032] Figure 10 A structure diagram of selecting adjacent reference pixels corresponding to a left side of a to-be-decoded block provided by an embodiment of the present application;

[0033] Figure 11 Another structure diagram of selecting adjacent reference pixels corresponding to an upper side of a to-be-decoded block provided by an embodiment of the present application;

[0034] Figure 12 Still another structure diagram of selecting adjacent reference pixels corresponding to an upper side of a to-be-decoded block provided by an embodiment of the present application;

[0035] Figure 13 Still another structure diagram of selecting adjacent reference pixels corresponding to an upper side of a to-be-decoded block provided by an embodiment of the present application;

[0036] Figure 14 Still another structure diagram of selecting adjacent reference pixels corresponding to an upper side of a to-be-decoded block provided by an embodiment of the present application;

[0037] Figure 15 A component structure diagram of a decoding prediction device provided by an embodiment of the present application;

[0038] Figure 16 A specific hardware structure diagram of a decoding prediction device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0039] In order to enable persons skilled in the art to more fully understand the features and technical contents of the embodiments of the present application, the implementation of the embodiments of the present application is described in detail below with reference to the accompanying drawings, which are only used for reference and do not limit the embodiments of the present application.

[0040] In a video image, a first image component, a second image component and a third image component are generally used to represent a decoded block; wherein the three image components are a luminance component, a blue chroma component and a red chroma component respectively, specifically, the luminance component is usually represented by a symbol Y, the blue chroma component is usually represented by a symbol Cb, and the red chroma component is usually represented by a symbol Cr.

[0041] In the embodiments of the present application, the first image component can be a luminance component Y, the second image component can be a blue chroma component Cb, and the third image component can be a red chroma component Cr, but the embodiments of the present application are not limited to this. Currently commonly used sampling formats are YCbCr formats, which include the following, as shown in Figures 1A to 1C respectively, wherein the cross (X) in the figure represents a first image component sampling point, and the circle (O) represents a second image component or a third image component sampling point. The YCbCr formats include:

[0042] 4:4:4 format: as shown in Figure 1A , which means that the second image component or the third image component is not down-sampled; it takes 4 first image component sampling samples, 4 second image component sampling samples and 4 third image component sampling samples for every 4 consecutive pixel points on each scan line;

[0043] 4:2:2 format: as shown in Figure 1B , which means that the first image component is horizontally sampled by 2:1 with respect to the second image component or the third image component, and there is no vertical down-sampling; it takes 4 first image component sampling samples, 2 second image component sampling samples and 2 third image component sampling samples for every 4 consecutive pixel points on each scan line;

[0044] 4:2:0 format: as shown in Figure 1C , which means that the first image component is horizontally down-sampled by 2:1 and vertically down-sampled by 2:1 with respect to the second image component or the third image component; it takes 2 first image component sampling samples, 1 second image component sampling sample and 1 third image component sampling sample for every 2 consecutive pixel points on a horizontal scan line and a vertical scan line.

[0045] In the case where the video image adopts YCbCr as the 4:2:0 format, if the first image component of the video image is a decoded block of 2N×2N size, then the corresponding second image component or third image component is a decoded block of N×N size, wherein N is the side length of the decoded block. In the embodiments of the present application, the following will be described taking the 4:2:0 format as an example, but the technical solutions of the embodiments of the present application are also applicable to other sampling formats.

[0046] In the next generation video coding standard H.266, in order to further improve the coding performance, the cross-component prediction (CCP) is extended and improved, and the cross-component linear model prediction (CCLM) is proposed. In H.266, the CCLM realizes the prediction between the first image component and the second image component, the first image component and the third image component, and the second image component and the third image component. The following will take the prediction from the first image component to the second image component as an example for description, but the technical solutions of the embodiments of the present application can also be applicable to the prediction of other image components.

[0047] It can be understood that, in order to reduce the redundancy between the first image component and the second image component, the prediction mode using the CCLM is used in VTM, and at this time the first image component and the second image component are of the same decoding block, and the second image component is predicted based on the first image component reconstruction value of the same decoding block, for example, using the prediction model as shown in formula (1):

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

[0049] Wherein, i, j represent the position coordinates of the pixel points in the decoding block, i represents the horizontal direction, and j represents the vertical direction. Pred C [i,j] represents the second image component prediction value corresponding to the pixel point with position coordinates [i, j] in the decoding block, Rec L [i,j] represents the first image component reconstruction value corresponding to the pixel point with position coordinates [i, j] (after downsampling) in the same decoding block, and α and β are model parameters of the above prediction model.

[0050] There are many ways to construct the model parameters α and β, which can be a regression construction method evaluated by least squares, or a construction method of maximum and minimum, or even other construction methods, and the embodiments of the present application do not make specific limitations. The following will be described based on the regression construction method of least squares and the construction method of maximum and minimum, respectively.

[0051] In VVC, a derivation method of regression construction model parameters based on least squares is initially accepted, and specifically, the derivation can be performed by minimizing the regression error of the first image component adjacent reference value and the second image component adjacent reference value around the decoding block, and α and β are as shown in formula (2) as follows:

[0052]

[0053] wherein, L(n) represents the first image component adjacent reference value corresponding to the down-sampled left side and upper side, C(n) represents the second image component adjacent reference value corresponding to the left side and upper side, N is the side length of the second image component decoding block, n = 1, 2, …, 2N. Referring to Figure 2A and Figure 2B respectively show the sampling schematic diagram of the first image component adjacent reference value and the second image component adjacent reference value of the decoding block in the related technical solution; wherein, in Figure 2A , the bold larger box is used to highlight the indication of the first image component decoding block 21, and the gray solid circle is used to indicate the adjacent reference value L(n) of the first image component decoding block 21; in Figure 2B , the bold larger box is used to highlight the indication of the second image component decoding block 22, and the gray solid circle is used to indicate the adjacent reference value C(n) of the second image component decoding block 22. Figure 2A shows the first image component decoding block 21 of 2N x 2N size, for the video image of 4:2:0 format, the size of the second image component corresponding to one first image component of 2N x 2N size is N x N, as shown in 22 in Figure 2B ; that is, Figure 2A and Figure 2B are the decoding block schematic diagrams obtained by respectively sampling the first image component and the second image component for the same decoding block.

[0054] In VVC, a simplified derivation method of model parameters is recently accepted, specifically, the model parameters can be derived according to the principle of “two points determine a line” by searching for the maximum first image component adjacent reference value and the minimum first image component adjacent reference value, such as α and β shown in the following formula (3):

[0055]

[0056] wherein, L max and L min represent the maximum value and the minimum value searched from the down-sampled first image component adjacent reference values corresponding to the left side and the upper side, C max and C min represent the second image component adjacent reference values corresponding to the reference pixel points at the positions of L max and L min . Referring to Figure 3 , which shows the structure schematic diagram of the prediction model constructed based on the maximum value and the minimum value in the related technical solution; wherein, the abscissa represents the first image component adjacent reference value of the decoding block, and the ordinate represents the second image component adjacent reference value of the decoding block, according to L max and L min and Cmax and C min The model parameters α and β can be calculated using equation (3), and the constructed prediction model is C = α·L + β. Here, L represents the reconstructed value of the first image component corresponding to one pixel in the decoding block, and C represents the predicted value of the second image component corresponding to that pixel in the decoding block.

[0057] There are several cases in the existing technology for constructing the set of adjacent reference pixels in CCLM, which will be described separately below.

[0058] (a) Distinguishing by the shape of the decoded block

[0059] See Figure 4A It illustrates a schematic diagram of a square decoding block selecting adjacent reference pixels provided by a related technical solution; such as Figure 4A As shown, the decoding block is a square decoding block, and all adjacent pixels corresponding to the left and top edges of the decoding block can be used as reference pixels. The first image component needs to be downsampled so that the downsampled first image component has the same resolution as the second image component. Figure 4A In the diagram, the gray solid circles are used to represent the adjacent reference pixels selected by the square decoding block.

[0060] See Figure 4B It illustrates a schematic diagram of a non-square decoding block selecting adjacent reference pixels provided by a related technical solution; such as Figure 4B As shown, this decoding block is a non-square decoding block, with unequal width and height. On one hand, the first image component needs to be downsampled so that it has the same resolution as the second image component. On the other hand, the adjacent pixels corresponding to the longer side of the decoding block need to be further downsampled so that the number of adjacent reference pixels on the longer side is equal to the number of adjacent reference pixels on the shorter side. Figure 4B In the diagram, the gray solid circles are used to represent the adjacent reference pixels selected for non-square decoding blocks.

[0061] (b) Distinguish based on the presence of adjacent pixels corresponding to the left or top edge of the decoded block.

[0062] When the adjacent pixels corresponding to the left and top edges of the decoding block can be used, the pixels in the row adjacent to the top edge and the adjacent pixels in the column adjacent to the left edge can be used as adjacent reference pixels.

[0063] When only one of the adjacent pixels corresponding to the left or top edge of the decoding block can be used, the adjacent pixel corresponding to the valid edge is used as the adjacent reference pixel.

[0064] When none of the neighboring samples on the left and top sides of the decoded block can be used, i.e. no neighboring reference samples, the model parameter a is set to 0 and the model parameter b is set to the middle value 512 of the second image component, i.e. the prediction value of the second image component for all samples in the decoded block is 512.

[0065] It should be noted that, assuming N is defined as the length of the short side of the decoded block, when both the neighboring samples on the left and top sides of the decoded block can be used, there are totally 2N neighboring reference samples that can be used in CCLM. In addition, unless otherwise specified, the following description is based on the case that both the neighboring samples on the left and top sides of the decoded block can be used.

[0066] (c) The scheme of the subset of neighboring reference samples (reduction)

[0067] In the process of calculating the model parameters of CCLM, the required operation complexity is proportional to the number of neighboring reference samples used in CCLM. Thus, in order to reduce the operation complexity, the L0138 proposal of the 12th meeting of JVET proposes a technical scheme for reducing the number of neighboring reference samples used in CCLM based on the size of the second image component block corresponding to the decoded block. Referring to Table 1, it shows a relationship table between the size of the second image component block corresponding to the decoded block and the number of neighboring reference samples provided by the related technical scheme. In Table 1, N1 is the number of neighboring reference samples used in CCLM in the traditional technical scheme, and N2 is the number of neighboring reference samples used in CCLM after reduction provided by the L0138 proposal. Specifically, the reduction method in the L0138 proposal is to obtain the neighboring reference samples in the traditional technical scheme and then downsample them to obtain the neighboring reference samples.

[0068] Table 1

[0069]

[0070]

[0071] (d) The downsampling scheme of neighboring reference samples

[0072] For non-square decoded blocks, the VTM has already provided a downsampling scheme for the long side (as shown in Figure 4B As described above, the L0138 proposal further proposes a downsampling set for reduction.

[0073] In Proposal L0138, the selection of adjacent reference pixels during downsampling affects decoding prediction performance. The subset of adjacent reference pixels obtained using the default downsampling scheme in VTM does not yield ideal decoding prediction performance. Therefore, Proposal L0138 proposes a different selection scheme for the subset of adjacent reference pixels during downsampling. Specifically, in the traditional technique used in VTM, when downsampling the long side of a non-square decoding block, pixels in the adjacent row corresponding to the top side of the decoding block are selected starting from the leftmost edge, and pixels in the adjacent column corresponding to the left side are selected starting from the top edge. Proposal L0138 proposes a scheme that selects pixels starting from the opposite edge of the traditional technique. For details, please refer to [link to relevant documentation]. Figure 5A and Figure 5B The example of a selected point structure is shown.

[0074] See Figure 5A It illustrates a structural diagram of a traditional technical solution for selecting adjacent reference pixels, as provided by the relevant technical solution; for example... Figure 5A As shown, for the pixels in the adjacent row corresponding to the longer side of this decoding block, sampling starts from the pixel at the leftmost edge; see [link to documentation]. Figure 5B It shows a schematic diagram of the structure for selecting adjacent reference pixels in the L0138 proposal provided by the relevant technical solution; such as Figure 5B As shown, for the pixels in the adjacent row corresponding to the long side of the decoding block, sampling starts from the rightmost edge pixel; the sampling interval here is the same as the traditional technical solution, and will not be repeated in this embodiment. Using the sampling scheme of Proposal L0138, the value range of all adjacent reference point pixels can be comprehensively covered in the model parameter calculation of CCLM. However, since the importance of each adjacent reference pixel is not considered, it still cannot represent the overall characteristics of the long side to the maximum extent under the premise of a limited number.

[0075] In the related technical solution, on the one hand, from the aspect of operation complexity, in VTM, although the maximum first image component adjacent reference value and the minimum first image component adjacent reference value are searched from 2N points, the model parameters are derived according to the principle of "two points determine a line" (see formula (3)). This solution only uses two adjacent reference pixel points, and the operation complexity of constructing model parameters based on the least square method regression is greatly reduced; however, this solution still has considerable complexity, mainly because the maximum value and the minimum value need to be determined in the adjacent reference pixel point set, thereby 4N comparison operation operations are needed to determine the maximum value and the minimum value. Moreover, the larger the length of the decoding block is, the larger the number of adjacent reference pixel points used for CCLM is, resulting in that the search times for determining the maximum value and the minimum value are also larger, so the operation complexity brought by this solution is still relatively large. On the other hand, from the aspect of prediction accuracy, since in the process of searching the maximum value and the minimum value, if the searched pixel point has low correlation with the current decoding block, it can be confirmed that the pixel point is a bad point. In this way, if the two searched pixel points contain a bad point, a large model deviation will be caused to the prediction model. Therefore, although the method of constructing model parameters based on the maximum value and the minimum value has low complexity, its robustness is not good, and the decoding prediction performance is reduced.

[0076] Therefore, in the current latest L0138 proposal, the concept of adjacent reference pixel subset is proposed, which improves the above deficiencies, reduces the number of adjacent reference pixel points, and further reduces the operation complexity; and the decoding prediction performance is slightly improved by selecting pixel points at appropriate positions (such as Figure 5B However, this solution still has room for improvement.

[0077] In order to better improve the performance of coding and decoding prediction, the embodiment of the present application provides a decoding prediction method, which determines the positions of the reference pixel points to be selected according to a preset sampling number based on the midpoint of at least one side of the block to be decoded, so as to put the adjacent reference pixel points selected by taking into account the importance and dispersion into the adjacent reference pixel subset; and the block to be decoded is predicted and decoded based on the adjacent reference pixel subset. In this way, since the model parameters constructed based on the adjacent reference pixel subset are relatively accurate, the decoding prediction performance can be improved; and the number of pixels in the adjacent reference pixel subset is relatively small, thereby reducing the complexity of search and further reducing the bit rate. The embodiment of the present application will be described in detail below with reference to the drawings.

[0078] Referring to Figure 6 , which shows an example of a block diagram of a video coding system provided by the embodiment of the present application; as Figure 6As shown, the video coding system 600 includes components such as transform and quantization 601, intra estimation 602, intra prediction 603, motion compensation 604, motion estimation 605, inverse transform and inverse quantization 606, filter control analysis 607, deblocking filter and sample adaptive offset (SAO) filter 608, header information coding and context-based adaptive binary arithmatic coding (CABAC) 609, and decoded picture buffer 610. For an input raw video signal, a video coding block can be obtained by partitioning a coding tree unit (CTU), and then the residual pixel information obtained after intra or inter prediction is transformed and quantized 601 to the video coding block, including transforming the residual information from pixel domain to transform domain, and quantizing the obtained transform coefficients to further reduce the bit rate. Intra estimation 602 and intra prediction 603 are used to perform intra prediction for the video coding block. Specifically, intra estimation 602 and intra prediction 603 are used to determine an intra prediction mode to be used to encode the video coding block. Motion compensation 604 and motion estimation 605 are used to perform inter prediction encoding of the received video coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information. Motion estimation performed by motion estimation 605 is a process of generating a motion vector that can estimate the motion of the video coding block, and then motion compensation is performed by motion compensation 604 based on the motion vector determined by motion estimation 605. After the intra prediction mode is determined, intra prediction 603 is also used to provide the selected intra prediction data to header information coding and CABAC 609, and motion estimation 605 also sends the calculated determined motion vector data to header information coding and CABAC 609. In addition, inverse transform and inverse quantization 606 are used for reconstruction of the video coding block, reconstructing a residual block in pixel domain, removing blockiness artifacts by filter control analysis 607 and deblocking filter and SAO filter 608, and then adding the reconstructed residual block to a predictive block in one of the frames of decoded picture buffer 610 to generate a reconstructed video coding block. Header information coding and CABAC 609 are used to encode various coding parameters and quantized transform coefficients, and in the CABAC-based encoding algorithm, the context content can be based on neighboring coding blocks, which can be used to encode information indicating the determined intra prediction mode, and output a bitstream of the video signal. Decoded picture buffer 610 is used to store reconstructed video coding blocks for predictive reference. As the video image coding proceeds, new reconstructed video coding blocks are continuously generated and stored in decoded picture buffer 610.

[0079] See Figure 7 It illustrates an example block diagram of a video decoding system provided in an embodiment of this application; as shown Figure 7 As shown, the video decoding system 700 includes components such as header information decoding and CABAC decoding 701, inverse transform and inverse quantization 702, intra-frame prediction 703, motion compensation 704, deblocking filtering and SAO filtering 705, and a decoded image buffer 706; the input video signal is processed through... Figure 6 After encoding, the video signal bitstream is output. This bitstream is input into the video decoding system 700, where it first undergoes header information decoding and CABAC decoding 701 to obtain the decoded transform coefficients. These transform coefficients are then processed by inverse transform and inverse quantization 702 to generate residual blocks in the pixel domain. Intra-frame prediction 703 can be used to generate prediction data for the current video decoding block based on the determined intra-frame prediction mode and data from previously decoded blocks in the current frame or image. Motion compensation 704 determines the prediction information for the video decoding block by analyzing motion vectors and other associated syntax elements, and uses this information... Predictive information is used to generate predictive blocks for the video block being decoded; the decoded video block is formed by summing the residual block from inverse transform and inverse quantization 702 with the corresponding predictive block generated by intra-frame prediction 703 or motion compensation 704; the decoded video signal is then subjected to deblocking filtering and SAO filtering 705 to remove block artifacts, thereby improving video quality; the decoded video block is then stored in the decoded image buffer 706, which stores reference images for subsequent intra-frame prediction or motion compensation and is also used for the output of the video signal, thus obtaining the recovered original video signal.

[0080] The embodiments of this application are mainly applied in, for example... Figure 6 The intra-prediction 603 portion shown and as follows Figure 7 The intra-frame prediction 703 section is shown; that is, the embodiments of this application can be applied to both encoding and decoding systems, but the embodiments of this application do not specifically limit them.

[0081] Based on the above Figure 6 or Figure 7 For application scenario examples, see Figure 8 It illustrates a flowchart of a decoding prediction method provided in an embodiment of this application, which may include:

[0082] S801: Obtain reference pixels that are adjacent to at least one edge of the block to be decoded, and obtain the first set of adjacent reference pixels;

[0083] S802: Determine a reference point from the at least one edge, and determine the position of the selected reference pixel point corresponding to the at least one edge according to a preset number of samples;

[0084] S803: selecting reference pixels corresponding to the to-be-selected reference pixel position from the first set of adjacent reference pixels based on the to-be-selected reference pixel position, and forming a subset of adjacent reference pixels by using the selected reference pixels;

[0085] S804: performing prediction decoding on the to-be-decoded block based on the subset of adjacent reference pixels.

[0086] It should be noted that the to-be-decoded block is a decoding block that is currently to be subjected to second image component prediction or third image component prediction. The at least one side of the to-be-decoded block can refer to the upper side of the to-be-decoded block, or the left side of the to-be-decoded block, or even the upper side and the left side of the to-be-decoded block, which is not limited in the embodiments of the present application.

[0087] It should be further noted that the reference point can be the midpoint of the at least one side, or the first reference pixel position left of the midpoint of the at least one side, or the first reference pixel position right of the midpoint of the at least one side, or even other reference pixel positions of the at least one side, which is not limited in the embodiments of the present application.

[0088] In the embodiments of the present application, the decoding prediction method of the embodiments of the present application can also be applied to an encoding system. By constructing a subset of adjacent reference pixels in the encoding system, the encoding prediction performance of a video image can be improved, and the encoding compression efficiency is improved to save the encoding code rate. In the following, only the construction of a subset of adjacent reference pixels in a decoding system will be described.

[0089] In the embodiments of the present application, first, reference pixels adjacent to the at least one side of the to-be-decoded block are obtained to obtain a first set of adjacent reference pixels; then, a reference point is determined from the at least one side, and a to-be-selected reference pixel position corresponding to the at least one side is determined according to a preset sampling number; then, reference pixels corresponding to the to-be-selected reference pixel position are selected from the first set of adjacent reference pixels based on the to-be-selected reference pixel position, and a subset of adjacent reference pixels is formed by using the selected reference pixels; finally, the to-be-decoded block is subjected to prediction decoding based on the subset of adjacent reference pixels. In the embodiments of the present application, all reference pixels adjacent to the upper side or the left side of the to-be-decoded block are no longer involved in the search operation of decoding prediction, but a subset of adjacent reference pixels is formed by selecting appropriate adjacent reference pixels under the premise of taking into account the importance and dispersion. The number of pixels in the subset of adjacent reference pixels is small, which can not only reduce the complexity of the search, but also improve the decoding prediction performance, thereby reducing the bit rate.

[0090] In some embodiments, the determining the reference point from the at least one edge comprises:

[0091] determining a midpoint of the at least one edge based on a length of the at least one edge, and taking the midpoint of the at least one edge as the reference point.

[0092] In some embodiments, when the reference point is the midpoint of the at least one edge, the determining the reference point from the at least one edge comprises:

[0093] based on the length of the at least one edge, if the midpoint of the at least one edge is located at a middle position between two reference pixels, taking a first reference pixel position to the right of the middle position as the reference point of the at least one edge, or taking a first reference pixel position to the left of the middle position as the reference point of the at least one edge.

[0094] It should be noted that, considering that the importance of the reference pixels adjacent to the at least one edge of the to-be-decoded block is related to the positions thereof, in order to enable the reference pixels in the adjacent reference pixel subset to represent the characteristics of the entire adjacent edge, it is necessary to select the reference pixels at the center position of the edge as much as possible, so as to eliminate the reference pixels with lower importance, such as the reference pixels at the two edges of the edge. In the embodiments of the present application, if the upper edge of the to-be-decoded block is taken as an example for illustration, then the first reference pixel position to the right or left of the middle position can be taken as the reference point of the edge.

[0095] Exemplarily, referring to Figure 9 , a structure diagram of selection of an adjacent reference pixel subset corresponding to an upper edge of a to-be-decoded block is shown. As shown in Figure 9 , for all the reference pixels distributed on the upper edge of the to-be-decoded block, the midpoint of the edge is taken as the center (as shown by the dashed line position in Figure 9 ), and the selection of the reference pixels is performed based on the center as the reference point. Assuming that the length of the upper edge of the to-be-decoded block is 16, and the preset sampling number is 4, then the sampling interval Δ can be obtained as 16 / 4=4. In this way, since the length of the upper edge is 16, it can be determined that the midpoint is between 7 and 8, that is, the midpoint can be selected as 7 or 8; in Figure 9 , taking 8 as the reference point as an example, since the preset sampling number is 4, then the reference pixel positions (as shown by the gray points in Figure 9 ) to be selected can be determined as 2, 6, 10 and 14; according to the reference pixel positions, the reference pixels corresponding thereto can be selected to form the adjacent reference pixel subset.

[0096] In some embodiments, when the reference point is the midpoint of the at least one side, the determining a reference point from the at least one side comprises:

[0097] Based on the length of the at least one side, if the midpoint of the at least one side is located at a middle position between two reference pixel points, a first reference pixel point position below the middle position is taken as the reference point of the at least one side, or a first reference pixel point position above the middle position is taken as the reference point of the at least one side.

[0098] It should be noted that, considering that the importance of the reference pixel points adjacent to the at least one side of the to-be-decoded block is related to the positions thereof, in order to enable the reference pixel points in the adjacent reference pixel subset to represent the characteristics of the entire adjacent side, the reference pixel point at the center position of the side should be selected as much as possible, so as to eliminate the reference pixel points with lower importance, such as the reference pixel points at the two edges of the side. In the embodiments of the present application, if the left side of the to-be-decoded block is taken as an example for illustration, the first reference pixel point position below or above the middle position can be taken as the reference point of the side.

[0099] Exemplarily, referring to Figure 10 , a structure diagram of selection of an adjacent reference pixel subset corresponding to the left side of a to-be-decoded block is shown. As shown in Figure 10 , for all the reference pixel points distributed on the left side of the to-be-decoded block, the midpoint of the side is taken as the center (as shown by the dashed line position in Figure 10 ), and the selection of the reference pixel points is performed with the center as the reference point. It is assumed that the length of the upper side of the to-be-decoded block is 8, and the preset sampling number is 2, so that the sampling interval Δ is 8 / 2=4. In this way, since the length of the left side is 8, it can be determined that the midpoint is between 3 and 4, that is, the midpoint can be selected as 3 or 4. In Figure 10 , the midpoint is taken as 4 as an example, and since the preset sampling number is 2, the to-be-selected reference pixel point positions (as shown by the gray points in Figure 10 ) are determined as 2 and 6. According to the reference pixel point positions, the reference pixel points corresponding thereto can be selected to form the adjacent reference pixel subset.

[0100] In actual application, since the length of the left side or the upper side of the to-be-decoded block is an integer multiple of 2, the middle position of the left side or the upper side of the to-be-decoded block is between two points. In the example in Figure 9 , the first pixel point to the right of the middle position is taken as the midpoint of the side. However, the first pixel point to the left of the middle position can also be taken as the midpoint of the side, as shown in the structure example in Figure 11 . Figure 11In the embodiment, the first pixel point (e.g., 3 in FIG. 3) with the left-biased middle position of the upper side of the to-be-decoded block is taken as the middle point of the upper side, and since the preset sampling number is 2, the positions (e.g., 1 and 5 in FIG. 3) of the reference pixel points to be selected can be determined. According to the positions of the reference pixel points to be selected, the reference pixel points corresponding to the positions of the reference pixel points to be selected can also be selected, so as to form the adjacent reference pixel subset. Therefore, in the embodiment, for the upper side of the to-be-decoded block, the first pixel point with the right-biased middle position of the upper side of the to-be-decoded block can also be taken as the middle point of the upper side, and the embodiment is not limited in this regard. In addition, for the left side of the to-be-decoded block, the first pixel point with the up-biased middle position of the left side of the to-be-decoded block can also be taken as the middle point of the left side, and the embodiment is not limited in this regard. Figure 11 Figure 11 In the embodiment, the first pixel point (e.g., 3 in FIG. 3) with the left-biased middle position of the upper side of the to-be-decoded block is taken as the middle point of the upper side, and since the preset sampling number is 2, the positions (e.g., 1 and 5 in FIG. 3) of the reference pixel points to be selected can be determined. According to the positions of the reference pixel points to be selected, the reference pixel points corresponding to the positions of the reference pixel points to be selected can also be selected, so as to form the adjacent reference pixel subset. Therefore, in the embodiment, for the upper side of the to-be-decoded block, the first pixel point with the right-biased middle position of the upper side of the to-be-decoded block can also be taken as the middle point of the upper side, and the embodiment is not limited in this regard. In addition, for the left side of the to-be-decoded block, the first pixel point with the up-biased middle position of the left side of the to-be-decoded block can also be taken as the middle point of the left side, and the embodiment is not limited in this regard.

[0101] In the embodiment, the first pixel point (e.g., 3 in FIG. 3) with the left-biased middle position of the upper side of the to-be-decoded block is taken as the middle point of the upper side, and since the preset sampling number is 2, the positions (e.g., 1 and 5 in FIG. 3) of the reference pixel points to be selected can be determined. According to the positions of the reference pixel points to be selected, the reference pixel points corresponding to the positions of the reference pixel points to be selected can also be selected, so as to form the adjacent reference pixel subset. Therefore, in the embodiment, for the upper side of the to-be-decoded block, the first pixel point with the right-biased middle position of the upper side of the to-be-decoded block can also be taken as the middle point of the upper side, and the embodiment is not limited in this regard. In addition, for the left side of the to-be-decoded block, the first pixel point with the up-biased middle position of the left side of the to-be-decoded block can also be taken as the middle point of the left side, and the embodiment is not limited in this regard.

[0102] It can be understood that if the existence of the reference pixel points adjacent to the left side or the upper side of the to-be-decoded block is not considered, the adjacent reference pixel subset can also be constructed according to the formula (4) and the formula (5).

[0103] Δ=length / (N2 / 2) (4)

[0104] shift=Δ / 2 (5)

[0105] wherein Δ represents a sampling interval, length represents the number of the reference pixel points adjacent to the upper side of the to-be-decoded block or the number of the reference pixel points adjacent to the left side of the to-be-decoded block, N2 represents the number of the reference pixel points in the adjacent reference pixel subset of the to-be-decoded block (generally, the upper side and the left side are each half, but the embodiment is not limited in this regard), and shift represents the starting point position of the reference pixel points. Here, when the middle positions of the left side and the upper side of the to-be-decoded block are both between two points, if the first pixel point with the right-biased middle position of the upper side of the to-be-decoded block is taken as the middle point of the upper side, the starting point position shift=Δ / 2; if the first pixel point with the left-biased middle position of the upper side of the to-be-decoded block is taken as the middle point of the upper side, the starting point position shift=Δ / 2-1.

[0106] Exemplarily, the first pixel point (e.g., 3 in FIG. 3) with the left-biased middle position of the upper side of the to-be-decoded block is taken as the middle point of the upper side. Figure 9 ​As shown in the upper side edge, length is equal to 16, N2 is equal to 8, it is assumed that the left side edge and the upper side edge are each half, i.e. the preset sampling number of the upper side edge is 4, then Δ = length / (N2 / 2) = 4 and shift = Δ / 2 = 2 are calculated according to formula (4) and formula (5) respectively, i.e. 2 is taken as a starting point position and 4 is taken as a sampling interval, the position of the reference pixel point to be selected can be determined first, such as 2, 6, 10 and 14, and then the corresponding reference pixel point can be selected to constitute the adjacent reference pixel subset. It should be noted here that the preset sampling number corresponding to the left side edge and the preset sampling number corresponding to the upper side edge can be the same or different, and the embodiments of the present application are not limited in this regard.

[0107] In addition, the embodiments of the present application also provide a scheme for determining the preset sampling number, as shown in Table 2. In this way, the N2' in Table 2 can be used to replace N2 in the above formula (4) and formula (5) to make the adjacent reference pixel subset more accurate, thereby improving the decoding prediction performance.

[0108] Referring to Table 2, a relationship table between the size of the second image component block corresponding to the to-be-decoded block and the number of adjacent reference pixel points provided by the embodiments of the present application is shown. In Table 2, N represents the length of the short side of the to-be-decoded block, N1 represents the number of adjacent reference pixel points provided in the traditional technical scheme, N2 represents the number of adjacent reference pixel points provided in the L0138 proposal, and N2' represents the number of adjacent reference pixel points provided in the embodiments of the present application. According to Table 2, it can be seen that when the length of the short side of the to-be-decoded block is less than or equal to 4, the adjacent reference pixel subset contains 4 reference pixel points; when the length of the short side of the to-be-decoded block is greater than 4, the adjacent reference pixel subset can contain 8 reference pixel points.

[0109] Table 2

[0110] Size of the second image component block Length of the short side [N1] [N2] N '2 2xn / nx2 (n≥2) 2 4 2 4 4xn / nx4 (n≥4) 4 8 4 4 8xn / nx8 (n≥8) 8 16 8 8 16xn / nx16 (n≥16) 16 32 8 8 32×32 32 64 8 8

[0111] In some embodiments, the method further includes:

[0112] calculating a first sampling interval based on the preset sampling number and the length of the at least one edge;

[0113] determining the position of the reference pixel point to be selected corresponding to the at least one edge according to the first sampling interval, with the midpoint of the at least one edge as the reference point.

[0114] Optionally, the step of determining the to-be-selected reference pixel position corresponding to the at least one edge according to the first sampling interval and based on the midpoint of the at least one edge comprises:

[0115] calculating a midpoint value of the at least one edge based on the length of the at least one edge;

[0116] calculating the reference pixel position according to the midpoint value and the first sampling interval;

[0117] when the midpoint value is a non-integer, rounding down the reference pixel position to the left of the midpoint value, determining the rounded reference pixel position as the to-be-selected reference pixel position; rounding up the reference pixel position to the right of the midpoint value, determining the rounded reference pixel position as the to-be-selected reference pixel position.

[0118] Optionally, the step of determining the to-be-selected reference pixel position corresponding to the at least one edge according to the first sampling interval and based on the midpoint of the at least one edge comprises:

[0119] calculating a midpoint value of the at least one edge based on the length of the at least one edge;

[0120] calculating the reference pixel position according to the midpoint value and the first sampling interval;

[0121] when the midpoint value is a non-integer, rounding down the reference pixel position to the left of the midpoint value, determining the rounded reference pixel position as the to-be-selected reference pixel position; rounding up the reference pixel position to the right of the midpoint value, determining the rounded reference pixel position as the to-be-selected reference pixel position.

[0122] It should be noted that according to the preset sampling number and the length of one edge of the to-be-decoded block, the first sampling interval corresponding to the edge can be calculated. In addition, since the length of the left edge or the upper edge of the to-be-decoded block is an integer multiple of 2, the midpoint of the left edge or the upper edge of the to-be-decoded block is between two points, at this time, the calculated midpoint value is a non-integer, and the calculated reference pixel position is also a non-integer; however, if the length of the left edge or the upper edge of the to-be-decoded block is not an integer multiple of 2, the midpoint of the left edge or the upper edge of the to-be-decoded block will not be between two points, at this time, the calculated midpoint value is an integer, and the calculated reference pixel position is also an integer; that is, the calculated midpoint value can be an integer or a non-integer; correspondingly, the calculated reference pixel position can also be an integer or a non-integer; the embodiments of the present application are not limited specifically.

[0123] Thus, when the calculated midpoint value is an integer, the calculated reference pixel position is also an integer, and the calculated reference pixel position can be directly used as the candidate reference pixel position; when the calculated midpoint value is not an integer, the calculated reference pixel position is also not an integer, and the candidate reference pixel position can be determined by rounding up or down.

[0124] For example, with Figure 11 Taking the upper side as an example, assuming the preset sampling number is 2 and the length of the upper side is 8, the first sampling interval can be determined to be 4. Since the length of the upper side is 8, the middle position of the upper side is between two points. Since the reference pixel arrangement starts at 0 and ends at 7, the actual position of the midpoint of the upper side can be calculated to be 3.5. Since the first sampling interval is 4, shifting 4 / 2 points to the left and right of the midpoint respectively, the reference point positions can be calculated to be 1.5 and 5.5. At this point, rounding down the reference pixel position to the left of the midpoint value yields one candidate reference pixel position as 1, while rounding up the reference pixel position to the right of the midpoint value yields another candidate reference pixel position as 6. This method can also be called an outward rounding scheme. Figure 12 As shown; this allows the reference pixels corresponding to positions 1 and 6 to form a subset of adjacent reference pixels. Furthermore, when the calculated reference point positions are 1.5 and 5.5, the reference pixel positions to the left of the midpoint value can be rounded up to obtain one candidate reference pixel position as 2, while the reference pixel positions to the right of the midpoint value can be rounded down to obtain another candidate reference pixel position as 5; this method can also be called the inward rounding scheme, such as... Figure 13 As shown; this allows the reference pixels corresponding to positions 2 and 5 to form a subset of adjacent reference pixels.

[0125] In some embodiments, after the first sampling interval is calculated, the method further includes:

[0126] The first sampling interval is adjusted to obtain the second sampling interval;

[0127] Using the midpoint of the at least one edge as a reference point, the position of the selected reference pixel point corresponding to the at least one edge is determined according to the second sampling interval.

[0128] In some embodiments, after obtaining the second sampling interval, the method further includes:

[0129] Taking the midpoint of the at least one edge as a reference point, corresponding to-be-selected reference pixel point positions on the left side of the reference point are determined according to the first sampling interval, and corresponding to-be-selected reference pixel point positions on the right side of the reference point are determined according to the second sampling interval.

[0130] It should be noted that after the first sampling interval is calculated, the first sampling interval can be fine-tuned, such as adding 1 or subtracting 1 to the first sampling interval, to obtain the second sampling interval. For example, if the first sampling interval is 4, the adjusted second sampling interval can be 3 or 5. In the embodiments of the present application, the adjustment of the first sampling interval can be a small adjustment (such as adding 1 or subtracting 1), but the specific setting of the adjustment range is not limited in the embodiments of the present application.

[0131] In addition, after the reference point of the at least one edge of the to-be-decoded block is determined, uniform sampling can be performed according to the first sampling interval or the second sampling interval; or non-uniform sampling can be performed according to the first sampling interval and the second sampling interval, and the determined to-be-selected reference pixel point positions can be symmetrically distributed on both sides of the reference point or asymmetrically distributed on both sides of the reference point; the embodiments of the present application are not limited.

[0132] In some embodiments, the method further comprises:

[0133] Taking the midpoint of the at least one edge as a reference point, corresponding to-be-selected reference pixel point positions on the left side of the reference point are determined according to the first sampling interval, and corresponding to-be-selected reference pixel point positions on the right side of the reference point are determined according to the second sampling interval.

[0134] It should be noted that since the reference pixel point in the adjacent reference pixel points that is related to the first image component reconstruction value of the to-be-decoded block is the reference pixel point at the middle position, the reference pixel point positions of the preset sampling number of continuous positions near the middle position can be taken as the to-be-selected reference pixel point positions, and this method can be referred to as a middle position continuous point selection scheme, as shown in FIG. 3. Figure 14 It can be understood that assuming that the reference pixel point positions on a row / column adjacent to the upper side or the left side of the to-be-decoded block are numbered from 0, the number of adjacent reference pixel points in the adjacent reference pixel subset formed in the embodiments and the corresponding to-be-selected reference pixel point positions are shown in Table 3.

[0135] It can be understood that assuming that the reference pixel point positions on a row / column adjacent to the upper side or the left side of the to-be-decoded block are numbered from 0, the number of adjacent reference pixel points in the adjacent reference pixel subset formed in the embodiments and the corresponding to-be-selected reference pixel point positions are shown in Table 3.

[0136] Table 3

[0137]

[0138] In the embodiment, the reference pixel positions of the preset number of sampling positions adjacent to the intermediate position are taken as the to-be-selected reference pixel positions to form the adjacent reference pixel subset. The prediction decoding is performed according to the adjacent reference pixel subset, and on the basis of the L0138 proposal, the bit rate can still be saved and the decoding gain can be improved, so that the decoding prediction performance is improved.

[0139] In some embodiments, the to-be-decoded block includes a square decoding block or a non-square decoding block.

[0140] Further, in some embodiments, when the to-be-decoded block is a non-square decoding block, the method further includes:

[0141] determining a long side of the to-be-decoded block and a third sampling interval corresponding to the long side based on the length of at least one side of the to-be-decoded block;

[0142] deleting the reference pixel positions corresponding to the end positions of the long side, initially offsetting the long side with the deleted reference pixel positions by a preset offset, taking the reference pixel positions after the offset as the starting points, and sampling the long side with the deleted reference pixel positions according to the third sampling interval to determine the to-be-selected reference pixel positions corresponding to the long side.

[0143] It should be noted that the embodiments of the present application can be applied to square decoding blocks or non-square decoding blocks, and the embodiments of the present application are not limited specifically. For square decoding blocks, any one side of the square decoding block can be taken as a long side, so that the above method is also applicable to square decoding blocks.

[0144] It should be further noted that, taking the to-be-decoded block as a non-square decoding block as an example, there is a long side and a short side in the left side or the upper side of the to-be-decoded block. According to the ratio between the long side and the short side, the third sampling interval corresponding to the long side can be obtained. Before sampling the long side, the reference pixel positions corresponding to the end positions of the long side can be deleted, and then the long side with the deleted reference pixel positions is initially offset by a preset offset, the reference pixel positions after the offset are taken as the starting points, and then the long side with the deleted reference pixel positions is sampled to determine the to-be-selected reference pixel positions corresponding to the long side. In the embodiments of the present application, the preset offset can be one half of the third sampling interval, or other values, and the embodiments of the present application are not limited specifically.

[0145] Exemplarily, in the related technical solution, the reference pixel sampling is performed on the long side of the non-square decoding block as shown in FIG. 2. Figure 4B Figure 4B ​In the embodiment, according to the ratio between the long side and the short side, the third sampling interval can be determined as 4; the long side is taken as the starting point from the first reference pixel point position on the left side, and then the same number of reference pixel points as the short side are selected according to the third sampling interval. Since this will make the sampled reference pixel points deviate to the left and cannot cover the entire long side, in the embodiment, the long side of the non-square decoding block is first offset to make the sampled reference pixel points cover the entire long side. For example, the preset offset is half of the third sampling interval, i.e., the preset offset is 2, that is, the sampling in the embodiment is taken as the starting point of 2, so that the adjacent reference pixel subset formed in this way can better cover the entire long side.

[0146] In some embodiments, the method further comprises:

[0147] The reference pixel points corresponding to the starting position and the end position of the at least one side are deleted to obtain a second adjacent reference pixel set;

[0148] The reference pixel points corresponding to the starting position and the end position of the at least one side are deleted to obtain a second adjacent reference pixel set;

[0149] It should be noted that the reference pixel points can be selected based on the midpoint of the left side or the upper side of the decoding block as the reference point to form the adjacent reference pixel subset. In the embodiment, the reference pixel points corresponding to the starting position and the end position of the left side / upper side of the decoding block are deleted first, and then the selected reference pixel points are used to form the adjacent reference pixel subset.

[0150] It should be further noted that the preset sampling number can be arbitrarily selected; generally, the preset sampling number can be less than N1 shown in Table 2; however, the embodiment is not limited to the preset sampling number being equal to N2 or N2'. Since the preset sampling number is less than N1 shown in Table 2, the search complexity of the reference pixel points can be reduced to improve the decoding prediction performance. Specifically, by changing the values of Δ and shift in the above formula (4) and formula (5), the starting point and the sampling interval can be determined to select the corresponding reference pixel points to form the adjacent reference pixel subset.

[0151] In some embodiments, the prediction decoding of the to-be-decoded block based on the adjacent reference pixel subset comprises:

[0152] determining model parameters based on the adjacent reference pixel subset;

[0153] establishing a prediction model according to the model parameters; wherein the prediction model is used to represent a prediction relationship between a first image component and a second image component corresponding to each pixel point in the to-be-decoded block;

[0154] performing prediction decoding on the to-be-decoded block based on the prediction model.

[0155] It should be noted that after obtaining the adjacent reference pixel subset, the model parameters a and b can be constructed; thus, the prediction model can be established according to the above formula (1); and the to-be-decoded block can be prediction decoded according to the prediction model. Since the adjacent reference pixel points included in the adjacent reference pixel subset take into account the importance and dispersion, the constructed model parameters are more accurate, thereby better improving the decoding prediction performance and further reducing the bit rate.

[0156] The above embodiment provides a decoding prediction method. By obtaining reference pixel points adjacent to at least one side of a to-be-decoded block, a first adjacent reference pixel set is obtained; a reference point is determined from the at least one side, and a to-be-selected reference pixel position corresponding to the at least one side is determined according to a preset sampling number; based on the to-be-selected reference pixel position, reference pixel points corresponding to the to-be-selected reference pixel position are selected from the first adjacent reference pixel set, and the selected reference pixel points form an adjacent reference pixel subset; and the to-be-decoded block is prediction decoded based on the adjacent reference pixel subset. Since the adjacent reference pixels in the adjacent reference pixel subset take into account the importance and dispersion, and the number of pixels in the adjacent reference pixel subset is small, the complexity of search is reduced, the prediction performance of video image decoding is improved, and the bit rate is further reduced.

[0157] Based on the same inventive concept as the above Figure 8 , see Figure 15 , which shows a component structure schematic diagram of a decoding prediction device 150 provided by an embodiment of the present application. The decoding prediction device 150 can include an acquisition unit 1501, a determination unit 1502, a selection unit 1503, and a decoding unit 1504, wherein,

[0158] The acquisition unit 1501 is configured to obtain reference pixel points adjacent to at least one side of a to-be-decoded block, and obtain a first adjacent reference pixel set.

[0159] The determining unit 1502 is configured to determine a reference point from the at least one edge, and determine a to-be-selected reference pixel position corresponding to the at least one edge according to a preset sampling number.

[0160] The selecting unit 1503 is configured to select, based on the to-be-selected reference pixel position, a reference pixel corresponding to the to-be-selected reference pixel position from the first adjacent reference pixel set, and form an adjacent reference pixel subset by using the selected reference pixels.

[0161] The decoding unit 1504 is configured to perform prediction decoding on the to-be-decoded block based on the adjacent reference pixel subset.

[0162] In the above solution, the determining unit 1502 is specifically configured to, based on a length of the at least one edge, if a midpoint of the at least one edge is located at a middle position between two reference pixels, take a first reference pixel position right to the middle position as the reference point of the at least one edge, or take a first reference pixel position left to the middle position as the reference point of the at least one edge.

[0163] In the above solution, the determining unit 1502 is specifically configured to, based on a length of the at least one edge, if a midpoint of the at least one edge is located at a middle position between two reference pixels, take a first reference pixel position below the middle position as the reference point of the at least one edge, or take a first reference pixel position above the middle position as the reference point of the at least one edge.

[0164] In the above solution, referring to Figure 15 , the decoding prediction apparatus 150 further includes a calculating unit 1505 configured to calculate a first sampling interval based on the preset sampling number and the length of the at least one edge.

[0165] The determining unit 1502 is specifically configured to take the midpoint of the at least one edge as a reference point, and determine the to-be-selected reference pixel position corresponding to the at least one edge according to the first sampling interval.

[0166] In the above solution, the calculating unit 1505 is further configured to calculate a midpoint value of the at least one edge based on the length of the at least one edge, and calculate the reference pixel position according to the midpoint value and the first sampling interval.

[0167] The determining unit 1502 is specifically configured to, when the midpoint value is a non-integer, round down a reference pixel position on the left side of the midpoint value, determine the rounded reference pixel position as a to-be-selected reference pixel position, and round up a reference pixel position on the right side of the midpoint value, determine the rounded reference pixel position as the to-be-selected reference pixel position.

[0168] In the foregoing solution, the calculating unit 1505 is further configured to calculate a midpoint value of the at least one side based on a length of the at least one side, and calculate a reference pixel position according to the midpoint value and a first sampling interval;

[0169] The determining unit 1502 is specifically configured to, when the midpoint value is a non-integer, round down a reference pixel position on the left side of the midpoint value, determine the rounded reference pixel position as a to-be-selected reference pixel position, and round up a reference pixel position on the right side of the midpoint value, determine the rounded reference pixel position as the to-be-selected reference pixel position.

[0170] In the foregoing solution, referring to Figure 15 , the decoding prediction apparatus 150 further includes an adjusting unit 1506 configured to adjust the first sampling interval to obtain a second sampling interval.

[0171] The determining unit 1502 is further configured to determine, with the midpoint of the at least one side as a reference point, the to-be-selected reference pixel positions corresponding to the at least one side according to the second sampling interval.

[0172] In the foregoing solution, the determining unit 1502 is further configured to, with the midpoint of the at least one side as a reference point, determine, according to the first sampling interval, a to-be-selected reference pixel position on the left side of the reference point, and determine, according to the second sampling interval, a to-be-selected reference pixel position on the right side of the reference point.

[0173] In the foregoing solution, the determining unit 1502 is further configured to, with the midpoint of the at least one side as a reference point, determine, according to the preset number of samplings, continuous reference pixel positions near the reference point as to-be-selected reference pixel positions, and the reference point is located at a middle position of the to-be-selected reference pixel positions.

[0174] In the foregoing solution, the to-be-decoded block includes a square decoding block or a non-square decoding block.

[0175] In the foregoing solution, the obtaining unit 1501 is further configured to delete reference pixels corresponding to starting positions and terminal positions of the at least one side to obtain a second set of adjacent reference pixels.

[0176] The determining unit 1502 is further configured to determine a position of a to-be-selected reference pixel point according to a preset sampling number based on the second set of adjacent reference pixels with the midpoint of the at least one edge as a reference point.

[0177] In the foregoing solution, referring to Figure 15 , the decoding prediction apparatus 150 further includes a establishing unit 1507 configured to determine model parameters based on the subset of adjacent reference pixels, and establish a prediction model according to the model parameters, wherein the prediction model is used to represent a prediction relationship between the first image component and the second image component corresponding to each pixel point in the to-be-decoded block.

[0178] The decoding unit 1504 is specifically configured to perform prediction decoding on the to-be-decoded block based on the prediction model.

[0179] It can be understood that, in the embodiment, the "unit" can be a part of circuit, a part of processor, a part of program or software, and the like, and of course can be a module, and can also be non-modular. Moreover, the components in the embodiment can be integrated in a processing unit, or can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function module.

[0180] When the integrated unit is realized in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the embodiment can be embodied in the form of a software product, and the computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform all or part of the steps of the method described in the embodiment. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0181] Therefore, the embodiment provides a computer storage medium, which stores a decoding prediction program. The decoding prediction program is executed by at least one processor to implement the steps of the method in the technical solution. Figure 8

[0182] Based on the components of the decoding prediction apparatus 150 and the computer storage medium, referring to Figure 16 ​Fig. 15 shows a specific hardware structure example of the decoding prediction device 150 provided by the embodiments of the present application, which can include a network interface 1601, a memory 1602 and a processor 1603; each component is coupled together through a bus system 1604. It can be understood that the bus system 1604 is used to realize the connection communication between the components. The bus system 1604 includes not only a data bus, but also a power bus, a control bus and a status signal bus. However, in order to clearly illustrate, all kinds of buses are marked as the bus system 1604 in Fig. 15. Wherein, the network interface 1601 is used for receiving and sending signals in the process of transmitting information with other external network elements; Figure 16

[0183] The memory 1602 is used for storing computer programs capable of running on the processor 1603;

[0184] The processor 1603 is used for executing the following steps when running the computer programs:

[0185] obtaining reference pixel points adjacent to at least one side of the to-be-decoded block to obtain a first adjacent reference pixel set;

[0186] determining a reference point from the at least one side, and determining the to-be-selected reference pixel point position corresponding to the at least one side according to a preset sampling number;

[0187] based on the to-be-selected reference pixel point position, selecting reference pixel points corresponding to the to-be-selected reference pixel point position from the first adjacent reference pixel set to form an adjacent reference pixel subset;

[0188] based on the adjacent reference pixel subset, performing prediction decoding on the to-be-decoded block.

[0189] ​It is to be appreciated that the memory 1602 in the embodiments of this application can be volatile, nonvolatile, or a combination of both. By way of example, and without limitation, nonvolatile memory can include read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically EPROM (EEPROM), a flash memory, or a combination of these. Volatile memory can include random-access memory (RAM), which acts as external cache. By way of example and without limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double-Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), SynchBurst DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The memory 1602 of the subject systems and methods herein is intended to include, without being limited to, these and any other suitable types of memory.

[0190] The processor 1603 can be an integrated circuit chip logic circuit, or an instruction in software form. The processor 1603 can 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, discrete gate or transistor logic, discrete hardware components. The methods and steps disclosed in the embodiments of the present application can be implemented or executed by the processor 1603. The general purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the methods disclosed in the embodiments of the present application can be directly embodied to be executed by a hardware decoding processor or be executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in the random access memory, the flash memory, the read only memory, the programmable read only memory, the electrically erasable programmable memory, the register, or other mature storage medium in the art. The storage medium is located in the storage memory 1602, and the processor 1603 reads information in the storage memory 1602 and combines the hardware to complete the steps of the above method.

[0191] It can be understood that the embodiments described herein can be realized by hardware, software, firmware, middleware, microcode or a combination thereof. For hardware realization, the processing unit can be realized in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for executing functions described herein or a combination thereof.

[0192] For software realization, the technology described herein can be realized by modules (for example, procedures, functions, and so on) for performing the functions described herein. The software code can be stored in the memory and executed by the processor. The memory can be realized in the processor or outside the processor.

[0193] Optionally, as another embodiment, the processor 1603 is further configured to execute the foregoing Figure 8 the steps of the method in the technical solutions shown.

[0194] It should be noted that the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.

[0195] The above describes only the specific implementation of the present application, but the protection scope of the present application is not limited thereto, any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

[0196] Industrial applicability

[0197] In the embodiments of the present application, first, reference pixel points adjacent to at least one side of a to-be-decoded block are acquired to obtain a first adjacent reference pixel set; then a reference point is determined from the at least one side, and a to-be-selected reference pixel point position corresponding to the at least one side is determined according to a preset sampling number; then, based on the to-be-selected reference pixel point position, reference pixel points corresponding to the to-be-selected reference pixel point position are selected from the first adjacent reference pixel set to form an adjacent reference pixel subset; finally, based on the adjacent reference pixel subset, the to-be-decoded block is predicted and decoded; since the selection of the adjacent reference pixel points in the adjacent reference pixel subset takes into account the importance and dispersion, the model parameters constructed based on the adjacent reference pixel subset are relatively accurate, which can improve the prediction performance of video image decoding; moreover, the number of pixels in the adjacent reference pixel subset is small, thereby reducing the complexity of the search and improving the prediction performance of video image decoding, and thus reducing the bit rate.

Claims

1. A decoding prediction method, characterized in that, The method includes: Obtain reference sample points that are adjacent to at least one edge of the block to be decoded; A reference point is determined from the at least one edge, and the position of the candidate reference sample point corresponding to the at least one edge is determined according to a preset number of samples; Based on the location of the reference sample point to be selected, select a reference sample point from the reference sample points that corresponds to the location of the reference sample point to be selected. Based on the selected reference sample points, cross-component prediction decoding is performed on the block to be decoded; The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples includes: If the length of the at least one edge is 8 and the preset number of samples is 2, then the positions of the selected reference sample points corresponding to the at least one edge are determined to be 2 and 6.

2. The method according to claim 1, characterized in that, The at least one edge includes at least one of the following: the left side of the block to be decoded and the top side of the block to be decoded.

3. The method according to claim 1, characterized in that, Determining a reference point from the at least one edge includes: The midpoint of the at least one edge is calculated based on the length of the at least one edge. If the midpoint of the at least one edge is located in the middle position between two reference sample points, the position of the first reference sample point slightly to the right of the middle position is taken as the reference point of the at least one edge, or the position of the first reference sample point slightly to the left of the middle position is taken as the reference point of the at least one edge.

4. The method according to claim 1, characterized in that, Determining a reference point from the at least one edge includes: The midpoint of the at least one edge is calculated based on the length of the at least one edge. If the midpoint of the at least one edge is located at the midpoint between two reference sample points, the position of the first reference sample point slightly below the midpoint is taken as the reference point of the at least one edge, or the position of the first reference sample point slightly above the midpoint is taken as the reference point of the at least one edge.

5. The method according to claim 1, characterized in that, The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples includes: The first sampling interval is calculated based on the preset number of samples and the length of the at least one edge; A reference point is determined from the at least one edge, and the position of the selected reference sample point corresponding to the at least one edge is determined according to the first sampling interval.

6. The method according to claim 5, characterized in that, Determining a reference point from the at least one edge, and determining the position of the candidate reference sample point corresponding to the at least one edge according to the first sampling interval, includes: Based on the length of the at least one edge, calculate the midpoint value of the at least one edge; The position of the reference sample point is calculated based on the midpoint value and the first sampling interval; When the midpoint value is not an integer, the reference sample point position to the left of the midpoint value is rounded down to the nearest integer, and the rounded reference sample point position is determined as the position of the reference sample point to be selected; the reference sample point position to the right of the midpoint value is rounded up to the nearest integer, and the rounded reference sample point position is determined as the position of the reference sample point to be selected.

7. The method according to claim 5, characterized in that, Determining a reference point from the at least one edge, and determining the position of the candidate reference sample point corresponding to the at least one edge according to the first sampling interval, includes: Based on the length of the at least one edge, calculate the midpoint value of the at least one edge; The position of the reference sample point is calculated based on the midpoint value and the first sampling interval; When the midpoint value is not an integer, the reference sample point position to the left of the midpoint value is rounded up, and the rounded reference sample point position is determined as the position of the reference sample point to be selected; the reference sample point position to the right of the midpoint value is rounded down, and the rounded reference sample point position is determined as the position of the reference sample point to be selected.

8. The method according to claim 5, characterized in that, After the first sampling interval is calculated, the method further includes: The first sampling interval is adjusted to obtain the second sampling interval; A reference point is determined from the at least one edge, and the position of the selected reference sample point corresponding to the at least one edge is determined according to the second sampling interval.

9. The method according to claim 8, characterized in that, After obtaining the second sampling interval, the method further includes: A reference point is determined from the at least one edge, and the position of the candidate reference point to the left of the reference point is determined according to the first sampling interval, and the position of the candidate reference point to the right of the reference point is determined according to the second sampling interval.

10. The method according to claim 5, characterized in that, The calculation of the first sampling interval based on the preset number of samples and the length of at least one edge includes: Based on the preset number of samples and the length of at least one side, the first sampling interval is calculated using equation (1); (1) in, N represents the first sampling interval, length represents the length of the at least one side, and N2 represents the preset number of samples; Accordingly, determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to the first sampling interval includes: Based on the first sampling interval, the starting position of the reference sample point to be selected is calculated using equation (2); The position of the reference sample point to be selected is determined based on the starting position of the reference sample point to be selected and the first sampling interval; (2) Where shift represents the starting position of the reference sample point to be selected.

11. The method according to claim 10, characterized in that, Determining the position of the at least one edge corresponding to the selected reference sample point based on the starting position of the selected reference sample point and the first sampling interval includes: If the starting position of the reference sample point to be selected is 2 and the first sampling interval is 4, then the positions of the reference sample points to be selected corresponding to the at least one edge are determined to be 2, 6, 10, and 14.

12. The method according to claim 1, characterized in that, The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples further includes: If the length of the at least one side is 8 and the preset number of samples is 2, then the position of the selected reference sample point corresponding to the at least one side is determined to be 1, 5; or 1, 6; or 2, 5.

13. The method according to claim 1, characterized in that, The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples includes: A reference point is determined from the at least one edge, and the positions of consecutive reference sample points near the reference point are determined as the positions of the selected reference sample points according to the preset number of samples, wherein the reference point is located at the middle position of the positions of the selected reference sample points.

14. The method according to claim 13, characterized in that, The method further includes: If the length of the at least one side is 8 and the preset number of samples is 3, then the position of the candidate reference sample point corresponding to the at least one side is determined to be 2, 3, 4; or 3, 4, 5.

15. The method according to any one of claims 1 to 14, characterized in that, The block to be decoded includes a square decoding block or a non-square decoding block.

16. The method according to claim 1, characterized in that, The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples includes: From the reference sample points, obtain the remaining reference sample points other than the reference sample points corresponding to the start and end positions of the at least one edge; A reference point is determined from the at least one edge, and the position of the reference point to be selected is determined based on the remaining reference sample points according to a preset number of samples.

17. The method according to claim 1, characterized in that, The step of performing cross-component prediction decoding on the block to be decoded based on the selected reference sample points includes: Based on the selected reference sample points, the model parameters of the prediction model are determined; wherein, the prediction model is used to characterize the prediction relationship between the first image component and the second image component of the sample points (Samples) in the block to be decoded; Based on the prediction model, cross-component prediction decoding is performed on the block to be decoded.

18. The method according to claim 17, characterized in that, The step of determining model parameters based on the selected reference sample points includes: From the selected reference sample points, determine the maximum value among the adjacent reference values ​​of the first image component. and minimum value ,as well as and The adjacent reference value of the second image component corresponding to the reference sample point at the corresponding position and ; according to , , and The model parameters are calculated using equation (3); (3) in, and This represents the model parameters.

19. A decoding prediction device, characterized in that, The decoding prediction device includes an acquisition unit, a determination unit, a selection unit, and a decoding unit. The acquisition unit is configured to acquire reference sample points that are adjacent to at least one edge of the block to be decoded; The determining unit is configured to determine a reference point from the at least one edge, and determine the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples; wherein, if the length of the at least one edge is 8 and the preset number of samples is 2, then the position of the candidate reference sample point corresponding to the at least one edge is determined to be 2 or 6. The selection unit is configured to select a reference sample point from the reference sample points that corresponds to the position of the reference sample point to be selected, based on the position of the reference sample point to be selected. The decoding unit is configured to perform cross-component prediction decoding on the block to be decoded based on the selected reference sample points.

20. A decoding prediction device, characterized in that, The decoding prediction device includes: a memory and a processor; The memory is used to store computer programs that can run on the processor; The processor is configured to perform the steps of the method as described in any one of claims 1 to 18 when running the computer program.

21. A computer storage medium, characterized in that, The computer storage medium stores a decoding prediction program, which, when executed by at least one processor, implements the steps of the method as described in any one of claims 1 to 18.

22. A method for receiving a code stream, characterized in that, Receive the bitstream and perform the following steps to decode the bitstream and generate video or images: Obtain reference sample points that are adjacent to at least one edge of the block to be decoded; A reference point is determined from the at least one edge, and the position of the candidate reference sample point corresponding to the at least one edge is determined according to a preset number of samples; Based on the location of the reference sample point to be selected, select a reference sample point from the reference sample points that corresponds to the location of the reference sample point to be selected. Based on the selected reference sample points, cross-component prediction decoding is performed on the block to be decoded; The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples includes: If the length of the at least one edge is 8 and the preset number of samples is 2, then the positions of the selected reference sample points corresponding to the at least one edge are determined to be 2 and 6.

23. An encoding method, characterized in that, The encoding method includes: Obtain reference sample points that are adjacent to at least one edge of the block to be encoded; A reference point is determined from the at least one edge, and the position of the candidate reference sample point corresponding to the at least one edge is determined according to a preset number of samples; Based on the location of the reference sample point to be selected, select a reference sample point from the reference sample points that corresponds to the location of the reference sample point to be selected. Based on the selected reference sample points, cross-component predictive coding is performed on the block to be coded; The step of determining a reference point from the at least one edge and determining the position of the candidate reference sample point corresponding to the at least one edge according to a preset number of samples includes: If the length of the at least one edge is 8 and the preset number of samples is 2, then the positions of the selected reference sample points corresponding to the at least one edge are determined to be 2 and 6.

Citation Information

Patent Citations

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

    CN105474639A

  • Intra-frame prediction method, device and electronic device

    CN109005408A