Decoding prediction method and device and computer storage medium
By building a reasonable subset of adjacent reference pixels in video encoding technology, the problems of high search complexity and low decoding prediction performance in the prior art are solved, and more efficient video image decoding and bit rate reduction are achieved.
Patent Information
- Application Number
- CN202510235023.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2018-12-25
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2038-12-25
AI Technical Summary
When the existing video encoding technology builds a linear model, the construction of the subset of adjacent reference pixels is unreasonable, resulting in high search complexity and reducing the decoding prediction performance of video images.
By obtaining the reference pixel points adjacent to at least one edge of the block to be decoded, a reference point is determined, and the location of the reference pixel points to be selected is determined according to the preset number of samples, thereby forming a subset of adjacent reference pixels and performing prediction decoding.
This reduces the complexity of search, improves the prediction performance of video image decoding, and thus reduces the bit rate.
Smart Images

Figure CN119946259A_ABST
Abstract
Description
[0001] Description of the case
[0002] This application is a divisional application based on the Chinese patent application No. 201880095849.8, which entered the Chinese national phase based on the PCT international patent application PCT / CN2018 / 123657 with an application date of December 25, 2018 and the invention name is “Decoding prediction method, device and computer storage medium”. Technical Field
[0003] The embodiments of the present application relate to the technical field of video encoding and decoding, and more particularly to a decoding prediction method, device and computer storage medium. Background Art
[0004] As people's requirements for video display quality increase, new video applications such as high-definition and ultra-high-definition video have emerged. H.265 / High Efficiency Video Coding (HEVC) is the latest international video compression standard. 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 it 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] The Video Coding Experts Group of ITU-T and the Moving Picture Experts Group of ISO / IEC established the Joint Video Exploration Team (JVET) in 2015 to develop the next generation of video coding standards. The Joint Exploration Test Model (JEM) is a general reference software platform based on which different coding tools are verified. In April 2018, JVET officially named the next generation video coding standard Versatile Video Coding (VVC), and its corresponding test model is VTM. In the JEM and VTM reference software, a linear model-based codec prediction method has been integrated, through which the chrominance component of the current block to be decoded is predicted by the luminance component. However, when constructing the linear model, the adjacent reference pixel subset constructed by adjacent reference pixels is not very reasonable, resulting in a high search complexity and reduced decoding prediction performance of the video image. Summary of the invention
[0006] In view of this, the embodiments of the present application hope to provide a decoding prediction method, device and computer storage medium. Since the adjacent reference pixels in the adjacent reference pixel subset not only take into account both importance and dispersion, but also the number of pixels in the adjacent reference pixel subset is small, the complexity of the search is reduced, the prediction performance of video image decoding is improved, and the bit rate is reduced.
[0007] The technical solution of the embodiment of the present application can be implemented as follows:
[0008] In a first aspect, an embodiment of the present application provides a decoding prediction method, the method comprising:
[0009] Acquire reference pixel points adjacent to at least one side of the block to be decoded to obtain a first adjacent reference pixel set;
[0010] Determine a reference point from the at least one edge, and determine a position of a reference pixel point to be selected corresponding to the at least one edge according to a preset number of samples;
[0011] Based on the position of the reference pixel to be selected, selecting reference pixels corresponding to the position of the reference pixel to be selected from the first set of adjacent reference pixels, and forming an adjacent reference pixel subset with the selected reference pixels;
[0012] Based on the adjacent reference pixel subset, predictive decoding is performed on the block to be decoded.
[0013] In a second aspect, an embodiment of the present application provides a decoding prediction device, the decoding prediction device comprising an acquisition unit, a determination unit, a selection unit and a decoding unit.
[0014] The acquisition unit is configured to acquire reference pixel points adjacent to at least one side of the block to be decoded to obtain a first adjacent reference pixel set;
[0015] The determining unit is configured to determine a reference point from the at least one edge, and determine a position of a reference pixel to be selected corresponding to the at least one edge according to a preset number of samples;
[0016] The selection unit is configured to select, based on the position of the reference pixel to be selected, reference pixels corresponding to the position of the reference pixel to be selected from the first set of adjacent reference pixels, and form an adjacent reference pixel subset with the selected reference pixels;
[0017] The decoding unit is configured to perform predictive decoding on the block to be decoded based on the adjacent reference pixel subset.
[0018] In a third aspect, an embodiment of the present application provides a decoding prediction device, the decoding prediction device comprising: a memory and a processor;
[0019] The memory is used to store a computer program that can be run on the processor;
[0020] The processor is used to execute the steps of the method described in the first aspect when running the computer program.
[0021] In a fourth aspect, an embodiment of the present application provides a computer storage medium, wherein the computer storage medium stores a decoding prediction program, and when the decoding prediction program is executed by at least one processor, the steps of the method described in the first aspect are implemented.
[0022] The embodiments of the present application provide a decoding prediction method, device and computer storage medium, which first obtain reference pixels adjacent to at least one side of a block to be decoded to obtain a first adjacent reference pixel set; then determine a reference point from the at least one side, and determine the position of the reference pixel to be selected corresponding to the at least one side according to a preset number of samples; then, based on the position of the reference pixel to be selected, select reference pixels corresponding to the position of the reference pixel to be selected from the first adjacent reference pixel set, and form an adjacent reference pixel subset with the selected reference pixels; finally, based on the adjacent reference pixel subset, predictively decode the block to be decoded; since the selection of adjacent reference pixels in the adjacent reference pixel subset takes into account both 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; and the number of pixels in the adjacent reference pixel subset is small, thereby reducing the complexity of the search, improving the prediction performance of video image decoding, and thereby reducing the bit rate. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figures 1A to 1C They are schematic diagrams of the structures of the video image sampling formats in the related technical solutions;
[0024] Figure 2A and Figure 2B Schematic diagrams of sampling of adjacent reference values of the first image component and the second image component of the decoding block in the related technical solution respectively;
[0025] Figure 3 A schematic diagram of a structure in which a decoding block in a related technical solution constructs a prediction model based on maximum and minimum values;
[0026] Figure 4A and Figure 4B A schematic diagram of a structure for selecting adjacent reference pixels for a square decoding block and a non-square decoding block provided in the related technical solutions;
[0027] Figure 5A and Figure 5BA schematic diagram of a structure for selecting adjacent reference pixels provided by a traditional technical solution and the L0138 proposal respectively;
[0028] Figure 6 A schematic block diagram of a video encoding system provided in an embodiment of the present application;
[0029] Figure 7 A schematic block diagram of a video decoding system provided in an embodiment of the present application;
[0030] Figure 8 A flowchart of a decoding prediction method provided in an embodiment of the present application;
[0031] Fig. 9 A schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to an upper side of a block to be decoded provided in an embodiment of the present application;
[0032] Fig.10 A schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to the left side of a block to be decoded provided in an embodiment of the present application;
[0033] Fig.11 A schematic diagram of a structure for selecting another adjacent reference pixel subset corresponding to the upper side of a block to be decoded provided in an embodiment of the present application;
[0034] Fig.12 A schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to an upper side of a block to be decoded provided in another embodiment of the present application;
[0035] Fig.13 A schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to an upper side of a block to be decoded provided in another embodiment of the present application;
[0036] Fig.14 A schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to an upper side of a block to be decoded provided in another embodiment of the present application;
[0037] Fig.15 A schematic diagram of the structure of a decoding prediction device provided in an embodiment of the present application;
[0038] Fig.16 A schematic diagram of the specific hardware structure of a decoding prediction device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0039] In order to enable a more detailed understanding of 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 in conjunction with the accompanying drawings. The attached drawings are for reference only and are not used to 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 chrominance component and a red chrominance component, respectively. Specifically, the luminance component is usually represented by the symbol Y, the blue chrominance component is usually represented by the symbol Cb, and the red chrominance component is usually represented by the symbol Cr.
[0041] In the embodiment of the present application, the first image component may be a brightness component Y, the second image component may be a blue chromaticity component Cb, and the third image component may be a red chromaticity component Cr, but the embodiment of the present application does not specifically limit this. The commonly used sampling format is the YCbCr format, which includes the following formats: Figures 1A to 1C As shown, the cross (X) in the figure represents the sampling point of the first image component, and the circle (○) represents the sampling point of the second image component or the third image component. The YCbCr format includes:
[0042] 4:4:4 format: Figure 1A As shown, it means that the second image component or the third image component is not downsampled; it is to take 4 sampling samples of the first image component, 4 sampling samples of the second image component and 4 sampling samples of the third image component for every 4 consecutive pixels on each scanning line;
[0043] 4:2:2 format: Figure 1B As shown, it means that the first image component is horizontally sampled 2:1 relative to the second image component or the third image component, and there is no vertical downsampling; it is to take 4 sampling samples of the first image component, 2 sampling samples of the second image component and 2 sampling samples of the third image component for every 4 consecutive pixels on each scanning line;
[0044] 4:2:0 format: Figure 1C As shown, it means that the first image component is horizontally downsampled 2:1 and vertically downsampled 2:1 relative to the second image component or the third image component; it takes 2 sampling samples of the first image component, 1 sampling sample of the second image component and 1 sampling sample of the third image component for every 2 consecutive pixels on the horizontal scanning line and the vertical scanning line.
[0045] In the case where the video image adopts the YCbCr format of 4:2:0, if the first image component of the video image is a decoding block of 2N×2N size, the corresponding second image component or third image component is a decoding block of N×N size, where N is the side length of the decoding block. In the embodiment of the present application, the following description will be taken as an example of the 4:2:0 format, but the technical solution of the embodiment of the present application is also applicable to other sampling formats.
[0046] In the next generation video coding standard H.266, in order to further improve the encoding and decoding performance, the cross-component prediction (Cross-component Prediction, CCP) is extended and improved, and the cross-component linear model prediction (Cross-component Linear Model Prediction, CCLM) is proposed. In H.266, CCLM implements the prediction from the first image component to the second image component, from the first image component to the third image component, and between the second image component and the third image component. The following description will take the prediction from the first image component to the second image component as an example, but the technical solution of the embodiment of the present application can also be applied 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 of CCLM is used in VTM. 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 reconstruction value of the first image component of the same decoding block, for example, using the prediction model shown in formula (1):
[0048] Pred C [i,j]=α·Rec L [i,j]+β (1)
[0049] Among them, i, j represent the position coordinates of the pixel points in the decoded block, i represents the horizontal direction, j represents the vertical direction, Pred C [i, j] represents the predicted value of the second image component corresponding to the pixel point with the position coordinates [i, j] in the decoding block, Rec L [i, j] represents the reconstructed value of the first image component corresponding to the pixel point with the 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 based on the least squares method, a maximum and minimum value construction method, or even other construction methods, which are not specifically limited in the embodiments of the present application. The following will be described using the regression construction method based on the least squares method and the maximum and minimum value construction method as examples.
[0051] In VVC, a method for deriving the parameters of the regression construction model based on the least squares method was initially adopted. Specifically, the parameters α and β can be derived by minimizing the regression error of the adjacent reference values of the first image component and the adjacent reference values of the second image component around the decoding block, as shown in the following formula (2):
[0052]
[0053] Wherein, L(n) represents the adjacent reference value of the first image component corresponding to the left side and the upper side after downsampling, C(n) represents the adjacent reference value of the second image component corresponding to the left side and the upper side, N is the side length of the second image component decoding block, n = 1, 2, ..., 2N. Figure 2A and Figure 2B , which respectively shows a sampling schematic diagram of the adjacent reference values of the first image component and the second image component of the decoding block in the related technical solution; wherein, Figure 2A In FIG. 1 , the bold larger box is used to highlight 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; Figure 2B In FIG. 1 , the bold larger box is used to highlight 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 The first image component decoding block 21 of 2N×2N size is shown. For a video image in 4:2:0 format, a second image component of 2N×2N size corresponds to a first image component of N×N size, such as Figure 2B 22 in FIG. 2; that is, Figure 2A and Figure 2B It is a schematic diagram of a decoding block obtained by respectively performing first image component sampling and second image component sampling on the same decoding block.
[0054] In VVC, a simplified method for deriving model parameters has recently been accepted. Specifically, the model parameters can be derived by searching for the largest first image component adjacent reference value and the smallest first image component adjacent reference value according to the principle of "two points determine a line", such as α and β shown in the following formula (3):
[0055]
[0056] Among them, L max and L min represents the maximum and minimum values found in the adjacent reference values of the first image component corresponding to the left and upper sides of the downsampled image, C max and C min Indicates L max and L min The adjacent reference value of the second image component corresponding to the reference pixel point at the corresponding position. Figure 3 , which shows a schematic diagram of a structure of a prediction model constructed based on the maximum and minimum values of a decoding block in a related technical solution; wherein the abscissa represents the adjacent reference value of the first image component of the decoding block, and the ordinate represents the adjacent reference value of the second image component of the decoding block. max and L min and Cmax and C min , the model parameters α and β can be calculated by formula (3), and the constructed prediction model is C = α·L + β; where L represents the reconstructed value of the first image component corresponding to one of the pixels in the decoding block, and C represents the predicted value of the second image component corresponding to the pixel in the decoding block.
[0057] Regarding the construction of a set of adjacent reference pixels in CCLM, there are various situations in the prior art, which will be described below respectively.
[0058] (a) Differentiate from the shape of the decoded block
[0059] See also Figure 4A , which shows a schematic diagram of a structure in which a square decoding block selects adjacent reference pixels provided by a related technical solution; Figure 4A As shown, the decoding block is a square decoding block, and all adjacent pixels corresponding to the left side and the upper side of the decoding block can be used as reference pixels; the first image component needs to be downsampled first, so that the downsampled first image component has the same resolution as the second image component. Figure 4A In the figure, the gray solid circles are used to represent the adjacent reference pixels selected by the square decoding block.
[0060] See also Figure 4B , which shows a structural schematic diagram of selecting adjacent reference pixels for a non-square decoding block provided by a related technical solution; Figure 4B As shown, the decoding block is a non-square decoding block, and the width and height of the decoding block are not equal. On the one hand, the first image component needs to be downsampled first, so that the downsampled first image component has the same resolution as the second image component; on the other hand, the adjacent pixels corresponding to the long side of the decoding block need to be further downsampled so that the number of adjacent reference pixels obtained on the long side is equal to the number of adjacent reference pixels on the short side. Figure 4B In the figure, the gray solid circles are used to represent the adjacent reference pixels selected by the non-square decoding block.
[0061] (b) Distinguish based on the existence of adjacent pixels corresponding to the left or top edge of the decoded block
[0062] When the adjacent pixels corresponding to the left side and the upper side of the decoding block are both available, the pixels in a row adjacent to the upper side and the adjacent pixels in a column adjacent to the left side can be used as adjacent reference pixels;
[0063] When only one side of the adjacent pixels corresponding to the left side or the upper side of the decoding block is available, the adjacent pixels corresponding to the valid side are used as adjacent reference pixels;
[0064] When the adjacent pixels corresponding to the left and top sides of the decoding block cannot be used, there are no adjacent reference pixels, the model parameter α is set to 0, and the model parameter β is set to the middle value 512 of the second image component, that is, the predicted values of the second image component corresponding to all pixels in the decoding block are 512.
[0065] It should be noted that, assuming that N is defined as the length of the short side of the second image component decoding block, when the adjacent pixels corresponding to the left side and the upper side of the decoding block can be used, a total of 2N adjacent reference pixels can be used in CCLM. In addition, unless otherwise specified, the following description is based on the case where the adjacent pixels corresponding to the left side and the upper side of the decoding block can be used.
[0066] (c) Neighboring reference pixel subset (point reduction) scheme
[0067] In the process of calculating the model parameters of CCLM, the required computational complexity is proportional to the number of adjacent reference pixels used for CCLM. In this way, in order to reduce the computational complexity, the L0138 proposal of the 12th JVET meeting proposed a technical solution for reducing the number of adjacent reference pixels used for CCLM based on the size of the second image component block corresponding to the block to be decoded. See Table 1, which shows a relationship table between the size of the second image component block corresponding to a block to be decoded and the number of adjacent reference pixels provided by a related technical solution. In Table 1, N1 is the number of adjacent reference pixels used for CCLM in the traditional technical solution, and N2 is the number of adjacent reference pixels used for CCLM after the reduction provided by the L0138 proposal. Specifically, the reduction method in the L0138 proposal is obtained by downsampling the adjacent reference pixels after obtaining them in the traditional technical solution.
[0068] Table 1
[0069]
[0070]
[0071] (d) Downsampling scheme of adjacent reference pixels
[0072] For non-square decoding blocks, VTM has provided a downsampling solution for the long edge (such as Figure 4B As shown in the above-mentioned L0138 proposal, the proposal proposes a down-sampling set with further reduced points.
[0073] In the L0138 proposal, the selection of adjacent reference pixels during the downsampling process will have an impact on the decoding prediction performance. The corresponding decoding prediction performance of the adjacent reference pixel subset obtained according to the default downsampling scheme in VTM is not ideal. Therefore, the L0138 proposal proposes that another adjacent reference pixel subset selection scheme can be used during downsampling. Specifically, in the traditional technical solution used in VTM, when downsampling the long side of a non-square decoding block, the pixel points of an adjacent row corresponding to the upper side of the decoding block are selected starting from the leftmost edge, and the pixel points of an adjacent column corresponding to the left side are selected starting from the top edge; while the L0138 proposal proposes a solution to select points starting from the opposite edge of the traditional technical solution. For details, please refer to Figure 5A and Figure 5B An example of a point selection structure is shown.
[0074] See also Figure 5A , which shows a schematic diagram of a structure of selecting adjacent reference pixels in a conventional technical solution provided by a related technical solution; Figure 5A As shown, for the pixel points of the adjacent row corresponding to the long side of the decoding block, sampling is started from the pixel point at the leftmost edge; see Figure 5B , which shows a schematic diagram of the structure of selecting adjacent reference pixels in the L0138 proposal provided by the related technical solution; Figure 5B As shown, for the pixel points of an adjacent row corresponding to the long side of the decoding block, sampling is started from the pixel point at the rightmost edge; the sampling interval here is the same as the traditional technical solution, and the embodiments of this application will not be repeated. Using the sampling scheme of the L0138 proposal, the value range of all adjacent reference point pixels can be more comprehensively covered in the calculation of the model parameters of CCLM. However, since the importance of each adjacent reference pixel point is not taken into account, under the premise of a limited number, it still cannot maximize the overall characteristics of the long side.
[0075] In the related technical solutions, on the one hand, from the perspective of computational complexity, although the VTM accepts the search for the largest adjacent reference value of the first image component and the smallest adjacent reference value of the first image component 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 pixels, which greatly reduces the computational complexity of constructing model parameters based on least squares regression; however, this solution still has considerable complexity, mainly because it is necessary to determine the maximum and minimum values in the adjacent reference pixel set, so 4N comparison operations are required to determine the maximum and minimum values. Moreover, the larger the length of the decoding block, the larger the number of adjacent reference pixels used for CCLM, resulting in a larger number of searches for determining the maximum and minimum values. Therefore, the computational complexity brought by this solution is still relatively large. On the other hand, from the perspective of prediction accuracy, in the process of searching for the maximum and minimum values, if the correlation between the searched pixel and the current decoding block is very low, it can be confirmed that the pixel is a bad pixel. In this way, if the two searched pixels contain bad pixels, it will cause a large model deviation to the prediction model. Therefore, although the method of constructing model parameters based on maximum and minimum values has low complexity, its robustness is poor, which reduces the decoding prediction performance.
[0076] Based on this, the latest L0138 proposal proposes the concept of adjacent reference pixel subsets. Although it has improved the above shortcomings, it not only reduces the number of adjacent reference pixels, making the computational complexity further reduced; but also selects pixels at appropriate positions (such as Figure 5B As shown in Figure 3, the decoding prediction performance is slightly improved, but the scheme still has room for improvement.
[0077] In order to better improve the performance of codec prediction, an embodiment of the present application provides a decoding prediction method, by taking the midpoint of at least one side of the block to be decoded as a reference point, determining the position of the reference pixel to be selected according to a preset number of samples, so as to put the adjacent reference pixel points selected by taking into account both importance and dispersion into an adjacent reference pixel subset; based on the adjacent reference pixel subset, the block to be decoded is predicted and decoded; in this way, since the model parameters constructed based on the adjacent reference pixel subset are more accurate, the decoding prediction performance can be improved; and the number of pixels in the adjacent reference pixel subset is small, thereby reducing the complexity of the search and further reducing the bit rate. The embodiments of the present application will be described in detail below in conjunction with the accompanying drawings.
[0078] See also Figure 6 , which shows an example of a block diagram of a video encoding system provided by an embodiment of the present application; Figure 6As shown, the video coding system 600 includes components such as transform and quantization 601, intra-frame estimation 602, intra-frame prediction 603, motion compensation 604, motion estimation 605, inverse transform and inverse quantization 606, filter control analysis 607, deblocking filter and sample adaptive offset (Sample Adaptive Offset, SAO) filter 608, header information encoding and context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmatic Coding, CABAC) 609 and decoded image cache 610; for the input original video signal, the coding tree block (Coding Tree A video coding block can be obtained by dividing the video coding block into a video coding unit (CTU), and then the residual pixel information obtained after intra-frame or inter-frame prediction is transformed by transforming and quantizing 601, including transforming the residual information from the pixel domain to the transform domain, and quantizing the obtained transform coefficients to further reduce the bit rate; intra-frame estimation 602 and intra-frame prediction 603 are used to perform intra-frame prediction on the video coding block; specifically, intra-frame estimation 602 and intra-frame prediction 603 are used to determine the intra-frame prediction mode to be used to encode the video coding block; motion The compensation 604 and the motion estimation 605 are used to perform inter-frame prediction coding of the received video coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information; the motion estimation performed by the motion estimation 605 is a process of generating a motion vector, which can estimate the motion of the video coding block, and then the motion compensation 604 performs motion compensation based on the motion vector determined by the motion estimation 605; after determining the intra-frame prediction mode, the intra-frame prediction 603 is also used to provide the selected intra-frame prediction data to the header information encoding and CABAC 609, and the motion estimation 605 also sends the calculated and determined motion vector data to the header information coding and CABAC 609; in addition, the inverse transformation and inverse quantization 606 are used to reconstruct the video coding block, reconstruct the residual block in the pixel domain, and the reconstructed residual block removes the block effect artifacts through the filter control analysis 607 and the deblocking filter and SAO filter 608, and then the reconstructed residual block is added to a predictive block in the frame of the decoded image buffer 610 to generate a reconstructed video coding block; the header information coding and CABAC 609 are used to encode various coding parameters and quantized transform coefficients. In the CABAC-based coding algorithm, the context content can be based on adjacent coding blocks and can be used to encode information indicating the determined intra-frame prediction mode and output the code stream of the video signal; and the decoded image buffer 610 is used to store the reconstructed video coding block for prediction reference. As the video image coding proceeds, new reconstructed video coding blocks will be continuously generated, and these reconstructed video coding blocks will be stored in the decoded image buffer 610.
[0079] See also Figure 7 , which shows an example of a block diagram of a video decoding system provided by an embodiment of the present application; Figure 7 As shown, the video decoding system 700 includes components such as header information decoding and CABAC decoding 701, inverse transformation and inverse quantization 702, intra-frame prediction 703, motion compensation 704, deblocking filter and SAO filter 705 and decoded image buffer 706; the input video signal is processed by Figure 6 After the encoding process, the code stream of the video signal is output; the code stream is input into the video decoding system 700, and firstly undergoes header information decoding and CABAC decoding 701 to obtain decoded transform coefficients; the transform coefficients are processed by inverse transformation and inverse quantization 702 to generate residual blocks in the pixel domain; intra-frame prediction 703 can be used to generate prediction data of the current video decoding block based on the determined intra-frame prediction mode and data from the previously decoded blocks of the current frame or picture; motion compensation 704 is to determine prediction information for the video decoding block by analyzing motion vectors and other associated syntax elements, and use the prediction information to obtain the prediction data of the current video decoding block. The prediction information is used to generate a predictive block of the video decoding block being decoded; a decoded video block is formed by summing the residual block from the inverse transformation and inverse quantization 702 and the corresponding predictive block generated by the intra-frame prediction 703 or the motion compensation 704; the decoded video signal is subjected to a deblocking filter and a SAO filter 705 to remove the block effect artifacts, thereby improving the video quality; the decoded video block is then stored in a 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, that is, the restored original video signal is obtained.
[0080] The embodiments of the present application are mainly used in Figure 6 The intra-frame prediction 603 portion shown and Figure 7 The intra-frame prediction 703 part is shown; that is, the embodiment of the present application can be applied to both the encoding system and the decoding system, but the embodiment of the present application does not make any specific limitation to this.
[0081] Based on the above Figure 6 or Figure 7 For an example of an application scenario, see Figure 8 , which shows a schematic flow chart of a decoding prediction method provided by an embodiment of the present application, the method may include:
[0082] S801: Acquire reference pixel points adjacent to at least one side of a block to be decoded to obtain a first adjacent reference pixel set;
[0083] S802: Determine a reference point from the at least one edge, and determine a position of a reference pixel to be selected corresponding to the at least one edge according to a preset number of samples;
[0084] S803: Based on the position of the reference pixel to be selected, select reference pixels corresponding to the position of the reference pixel to be selected from the first set of adjacent reference pixels, and form an adjacent reference pixel subset with the selected reference pixels;
[0085] S804: Perform predictive decoding on the block to be decoded based on the adjacent reference pixel subset.
[0086] It should be noted that the block to be decoded is a decoding block for which the second image component prediction or the third image component prediction is currently to be performed. At least one edge of the block to be decoded may refer to the upper side edge of the block to be decoded, or may refer to the left side edge of the block to be decoded, or may even refer to the upper side edge and the left side edge of the block to be decoded, which is not specifically limited in the embodiments of the present application.
[0087] It should also be noted that the reference point can be the midpoint of at least one edge, or the first reference pixel point position to the left of the midpoint of at least one edge, or the first reference pixel point position to the right of the midpoint of at least one edge, or even other reference pixel point positions of at least one edge, and the embodiments of the present application do not make specific limitations.
[0088] In the embodiment of the present application, the decoding prediction method of the embodiment of the present application can also be applied to the coding system. By constructing a subset of adjacent reference pixels in the coding system, the coding prediction performance of the video image can be improved, and the coding compression efficiency is improved to save the coding bit rate. The following will only be described by taking the construction of a subset of adjacent reference pixels in the decoding system as an example.
[0089] In an embodiment of the present application, reference pixels adjacent to at least one side of a block to be decoded are first obtained to obtain a first set of adjacent reference pixels; then a reference point is determined from the at least one side, and the position of the reference pixel to be selected corresponding to the at least one side is determined according to a preset number of samples; then, based on the position of the reference pixel to be selected, reference pixels corresponding to the position of the reference pixel to be selected are selected from the first set of adjacent reference pixels, and the selected reference pixels are formed into an adjacent reference pixel subset; finally, based on the adjacent reference pixel subset, the block to be decoded is predictively decoded; since in the embodiment of the present application, all reference pixels adjacent to the upper side or left side of the block to be decoded are no longer involved in the search operation of decoding prediction, but on the premise of taking into account importance and dispersion, adjacent reference pixels at appropriate positions are selected to form an adjacent reference pixel subset, so that the number of pixels in the adjacent reference pixel subset is small, which not only reduces the complexity of the search, but also improves the decoding prediction performance, thereby reducing the bit rate.
[0090] In some embodiments, determining a reference point from the at least one edge comprises:
[0091] Based on the length of the at least one side, a midpoint of the at least one side is determined, and the midpoint of the at least one side is used as the reference point.
[0092] In some embodiments, when the reference point is the midpoint of the at least one edge, determining a reference point from the at least one edge includes:
[0093] Based on the length of at least one edge, if the midpoint of at least one edge is located in the middle position between two reference pixel points, the first reference pixel point position to the right of the middle position is used as the reference point of the at least one edge, or the first reference pixel point position to the left of the middle position is used as the reference point of the at least one edge.
[0094] It should be noted that, considering that the importance of the reference pixel points adjacent to at least one edge of the block to be decoded is related to the corresponding position thereof, in order to make the reference pixel points in the adjacent reference pixel subset represent the characteristics of the entire adjacent edge, it is necessary to select the reference pixel points at the center of the edge as much as possible, so as to eliminate the points with relatively low importance (such as the reference pixel points at the two side edges of the edge). In the embodiment of the present application, if the upper side edge of the block to be decoded is used as an example for explanation, the first reference pixel point position to the right or left of the middle position can be used as the reference point of the edge.
[0095] For example, see Fig. 9 , which shows a schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to the upper side of a block to be decoded provided by an embodiment of the present application. Fig. 9 As shown, for all reference pixel points distributed on the upper side of the block to be decoded, the midpoint of the side is selected as the center (as shown in Fig. 9 The dotted line position shown in ), the center is used as the reference point to select the reference pixel point. Assuming that the length of the upper side of the decoding block is 16, the preset number of samples is 4, then the sampling interval Δ can be 16 / 4=4. In this way, since the length of the upper side 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; Fig. 9 In the example, taking 8 as the reference point, since the preset number of samples is 4, the position of the reference pixel to be selected can be determined (such as Fig. 9 The middle gray point example) is 2, 6, 10 and 14; according to the positions of these reference pixels, the corresponding reference pixels can be selected to form an adjacent reference pixel subset.
[0096] In some embodiments, when the reference point is the midpoint of the at least one edge, determining a reference point from the at least one edge includes:
[0097] Based on the length of at least one edge, if the midpoint of at least one edge is located at the middle position between two reference pixel points, the first reference pixel point position below the middle position is used as the reference point of the at least one edge, or the first reference pixel point position above the middle position is used as the reference point of the at least one edge.
[0098] It should be noted that, considering that the importance of the reference pixel points adjacent to at least one edge of the block to be decoded is related to the corresponding position thereof, in order to make the reference pixel points in the adjacent reference pixel subset represent the characteristics of the entire adjacent edge, it is necessary to select the reference pixel points at the center of the edge as much as possible, so as to remove the points with relatively low importance (such as the reference pixel points at the two side edges of the edge). In the embodiment of the present application, if the left edge of the block to be decoded is used as an example for explanation, the first reference pixel point position below or above the middle position can be used as the reference point of the edge.
[0099] For example, see Fig.10 , which shows a schematic diagram of a structure for selecting a subset of adjacent reference pixels corresponding to the left side of a block to be decoded provided by an embodiment of the present application. Fig.10 As shown, for all reference pixel points distributed on the left side of the block to be decoded, the midpoint of the side is selected as the center (as shown in Fig.10 The dotted line position shown in ), the center is used as the reference point to select the reference pixel point. Assuming that the length of the upper side of the decoding block is 8, the preset number of samples is 2, then the sampling interval Δ can be obtained as 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; Fig.10 In the example, taking 4 as the reference point, since the preset number of samples is 2, the position of the reference pixel to be selected can be determined (such as Fig.10 The middle gray point example) is 2 and 6; according to the positions of these reference pixels, the corresponding reference pixels can be selected to form an adjacent reference pixel subset.
[0100] In practical applications, since the length of the left side or the top side of the block to be decoded is an integer multiple of 2, the middle position of the left side or the top side of the block to be decoded is between the two points. Fig. 9 In the example, the first pixel point slightly to the right of the middle position is used as the midpoint of the edge; however, in the embodiment of the present application, the first pixel point slightly to the left of the middle position can also be used as the midpoint of the edge, such as Fig.11 The structure shown is an example. Fig.11In order to move the first pixel to the left of the middle position (such as Fig.11 3) as the midpoint of the edge. Since the preset number of samples is 2, the position of the reference pixel to be selected can be determined (such as Fig.11 The middle gray point example) is 1 and 5, and the corresponding reference pixels can also be selected according to the positions of these reference pixels to form a subset of adjacent reference pixels. Therefore, in the embodiment of the present application, for the upper side of the block to be decoded, the first pixel point to the right of the middle position can be used as the midpoint of the side, or the first pixel point to the left of the middle position can be used as the midpoint of the side, and the embodiment of the present application does not make specific restrictions; in addition, for the left side of the block to be decoded, the first pixel point below the middle position can be used as the midpoint of the side, or the first pixel point above the middle position can be used as the midpoint of the side, and the embodiment of the present application does not make specific restrictions.
[0101] Unless otherwise specified, the following description will be made using the upper side of the block to be decoded as an example, but the prediction method of the embodiment of the present application is also applicable to the left side of the block to be decoded, or even other sides of the block to be decoded.
[0102] It can be understood that if the existence of reference pixels adjacent to the left side or the top side of the block to be decoded is not considered, the adjacent reference pixel subset can also be constructed according to equations (4) and (5):
[0103] Δ=length / (N2 / 2) (4)
[0104] shift=Δ / 2 (5)
[0105] Wherein, Δ represents the sampling interval, length represents the number of reference pixels in a row adjacent to the upper side of the block to be decoded, or the number of reference pixels in a column adjacent to the left side of the block to be decoded, N2 represents the number of adjacent reference pixels in the adjacent reference pixel subset that the block to be decoded expects (generally speaking, the left side and the upper side are each half, but the embodiment of the present application does not make specific restrictions), and shift represents the starting point position for selecting the reference pixel. Here, when the middle position of the left side or the upper side of the block to be decoded is between two points, if the first pixel to the right of the middle position is used as the midpoint of the edge, then the starting point position shift = Δ / 2; if the first pixel to the left of the middle position is used as the midpoint of the edge, then the starting point position shift = Δ / 2-1.
[0106] For example, Fig. 9Taking the upper side shown as an example, length is equal to 16, N2 is equal to 8, assuming that the left side and the upper side are each one-half, that is, the preset number of samples of the upper side is 4, then according to formula (4) and formula (5), Δ=length / (N2 / 2)=4, shift=Δ / 2=2 are calculated respectively, that is, taking 2 as the starting point position and 4 as the sampling interval, the position of the reference pixel to be selected can be determined first, such as 2, 6, 10 and 14, and then the corresponding reference pixel can be selected to form a subset of adjacent reference pixels. Here, it should be noted that the preset number of samples corresponding to the left side and the preset number of samples corresponding to the upper side can be the same or different, and the embodiments of the present application do not make specific limitations.
[0107] In addition, the embodiment of the present application also provides a solution for determining the preset number of samples, as shown in Table 2. In this way, the embodiment of the present application can also replace N2 with N2' in Table 2, and bring it into the above formula (4) and formula (5) for calculation, so that the composed adjacent reference pixel subset is more accurate, thereby improving the decoding prediction performance.
[0108] Refer to Table 2, which shows a relationship table between the size of the second image component block corresponding to a block to be decoded and the number of adjacent reference pixels provided in an embodiment of the present application. In Table 2, N represents the length of the short side of the block to be decoded, N1 represents the number of adjacent reference pixels provided in the traditional technical solution, N2 is the number of adjacent reference pixels provided in the L0138 proposal, and N2' represents the number of adjacent reference pixels provided in the embodiment of the present application. It can be seen from Table 2 that when the length of the short side of the block to be decoded is less than or equal to 4, the adjacent reference pixel subset contains 4 reference pixels; when the length of the short side of the block to be decoded is greater than 4, the adjacent reference pixel subset can contain 8 reference pixels.
[0109] Table 2
[0110] The size of the second image component block Short side length <![CDATA[N1]]> <![CDATA[N2]]> <![CDATA[N2‘]]> 2×n / n×2(n≥2) 2 4 2 4 4×n / n×4(n≥4) 4 8 4 4 8×n / n×8(n≥8) 8 16 8 8 16×n / n×16(n≥16) 16 32 8 8 32×32 32 64 8 8
[0111] In some embodiments, determining a reference point from the at least one edge, and determining a position of a reference pixel to be selected corresponding to the at least one edge according to a preset number of samples, includes:
[0112] Calculate a first sampling interval based on the preset number of samples and the length of the at least one side;
[0113] Taking the midpoint of the at least one edge as a reference point, the position of the reference pixel point to be selected corresponding to the at least one edge is determined according to the first sampling interval.
[0114] Optionally, taking the midpoint of the at least one side as a reference point and determining the position of the reference pixel point to be selected corresponding to the at least one side according to the first sampling interval includes:
[0115] Calculating a midpoint value of the at least one side based on the length of the at least one side;
[0116] Calculate the reference pixel position according to the midpoint value and the first sampling interval;
[0117] When the midpoint value is a non-integer, the reference pixel point position on the left side of the midpoint value is rounded down, and the rounded reference pixel point position is determined as the reference pixel point position to be selected; the reference pixel point position on the right side of the midpoint value is rounded up, and the rounded reference pixel point position is determined as the reference pixel point position to be selected.
[0118] Optionally, taking the midpoint of the at least one side as a reference point and determining the position of the reference pixel point to be selected corresponding to the at least one side according to the first sampling interval includes:
[0119] Calculating a midpoint value of the at least one side based on the length of the at least one side;
[0120] Calculate the reference pixel position according to the midpoint value and the first sampling interval;
[0121] When the midpoint value is a non-integer, the reference pixel point position on the left side of the midpoint value is rounded up, and the rounded reference pixel point position is determined as the reference pixel point position to be selected; the reference pixel point position on the right side of the midpoint value is rounded down, and the rounded reference pixel point position is determined as the reference pixel point position to be selected.
[0122] It should be noted that, according to the preset number of samples and the length of one side of the block to be decoded, the first sampling interval corresponding to the side can be calculated. In addition, since the length of the left side or the upper side of the block to be decoded is an integer multiple of 2, the middle position of the left side or the upper side of the block to be decoded is between two points, and the calculated midpoint value is a non-integer at this time, and the calculated reference pixel point position is also a non-integer; however, if the length of the left side or the upper side of the block to be decoded is not an integer multiple of 2, the middle position of the left side or the upper side of the block to be decoded will not be between two points, and the calculated midpoint value is an integer at this time, and the calculated reference pixel point position is also an integer; that is, the calculated midpoint value can be an integer or a non-integer; correspondingly, the calculated reference pixel point position can also be an integer or a non-integer; the embodiments of the present application are not specifically limited.
[0123] In this way, when the calculated midpoint value is an integer, the corresponding calculated reference pixel position is also an integer. At this time, the calculated reference pixel position can be directly used as the reference pixel position to be selected; when the calculated midpoint value is a non-integer, the corresponding calculated reference pixel position is also a non-integer. At this time, the reference pixel position to be selected can be determined by rounding up or down.
[0124] For example, Fig.11 Taking the upper side shown as an example, assuming that the preset number of samples is 2 and the length of the upper side is 8, then the first sampling interval can be determined to be 4. Since the length of the upper side is 8, that is to say, the middle position of the upper side is between two points. Since the reference pixel arrangement starts at 0 and ends at 7, it can be calculated that the actual position of the midpoint of the upper side is 3.5; since the first sampling interval is 4, the reference point positions are calculated to be 1.5 and 5.5 by shifting 4 / 2 points on the left and right sides of the midpoint; at this time, the reference pixel position on the left side of the midpoint value can be rounded down to the nearest integer, and one of the reference pixel positions to be selected can be rounded up to the nearest integer, and the other reference pixel position to be selected can be rounded up to the nearest integer; this method can also be called an outward rounding scheme, such as Fig.12 As shown; in this way, the reference pixels corresponding to the positions 1 and 6 can be combined into a subset of adjacent reference pixels. In addition, when the reference point positions are calculated to be 1.5 and 5.5, the reference pixel positions on the left side of the midpoint value can be rounded up to get one of the reference pixel positions to be selected as 2, and the reference pixel positions on the right side of the midpoint value can be rounded down to get another reference pixel position to be selected as 5; this method can also be called an inward rounding scheme, such as Fig.13 As shown; in this way, the reference pixel points corresponding to positions 2 and 5 can be combined into a subset of adjacent reference pixels.
[0125] In some embodiments, after the first sampling interval is obtained by calculation, the method further includes:
[0126] Adjusting the first sampling interval to obtain a second sampling interval;
[0127] Taking the midpoint of the at least one edge as a reference point, the position of the reference pixel point to be selected 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 at least one edge as the reference point, the position of the reference pixel point to be selected corresponding to the left side of the reference point is determined according to the first sampling interval, and the position of the reference pixel point to be selected corresponding to the right side of the reference point is 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 also 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 embodiment of the present application, the adjustment of the first sampling interval can be a small adjustment (for example, adding 1 or subtracting 1), but the embodiment of the present application does not specifically limit the specific setting of the adjustment range.
[0131] In addition, after determining the reference point of at least one edge of the block to be decoded, uniform sampling can be performed according to the first sampling interval or the second sampling interval; or uniform sampling can be performed according to the first sampling interval and the second sampling interval, and the positions of the reference pixels to be selected determined after sampling can be symmetrically distributed on both sides of the reference point, or can be asymmetrically distributed on both sides of the reference point; the embodiments of the present application are not specifically limited.
[0132] In some embodiments, determining a reference point from the at least one edge, and determining a position of a reference pixel to be selected corresponding to the at least one edge according to a preset number of samples, includes:
[0133] Taking the midpoint of at least one edge as a reference point, the continuous reference pixel positions near the reference point are determined as reference pixel positions to be selected according to the preset number of samples, and the reference point is located in the middle of the reference pixel positions to be selected.
[0134] It should be noted that, since the reference pixel point in the middle position is more relevant to the reconstruction value of the first image component of the block to be decoded among the adjacent reference pixels, the reference pixel point position of a preset number of consecutive samples near the middle position can be used as the reference pixel point position to be selected. This method can be called a continuous point selection scheme at the middle position. Fig.14 As shown; in this way, the reference pixel points corresponding to positions 2, 3 and 4 can be combined into a subset of adjacent reference pixels.
[0135] It can be understood that, assuming that the reference pixel positions on a row / column adjacent to the upper side or left side of the block to be decoded are numbered from 0, the number of adjacent reference pixel points in the adjacent reference pixel subset formed in this embodiment and the corresponding reference pixel point positions to be selected are shown in Table 3.
[0136] Table 3
[0137]
[0138] In this embodiment, a preset number of continuous sampled reference pixel positions near the middle position are used as reference pixel positions to be selected to form an adjacent reference pixel subset; predictive decoding is performed based on the adjacent reference pixel subset, which can still save bit rate and improve decoding gain on the basis of the L0138 proposal, thereby improving the decoding prediction performance.
[0139] In some embodiments, the block to be decoded includes a square decoding block or a non-square decoding block.
[0140] Furthermore, in some embodiments, when the block to be decoded is a non-square decoding block, the method further includes:
[0141] Determine, based on the length of at least one side of the block to be decoded, a long side of the block to be decoded and a third sampling interval corresponding to the long side;
[0142] Delete the reference pixel point corresponding to the end position of the long side, perform an initial offset on the long side where the reference pixel point is deleted according to a preset offset, use the offset reference pixel point position as the starting point, and sample the long side where the reference pixel point is deleted according to the third sampling interval to determine the reference pixel point position to be selected corresponding to the long side.
[0143] It should be noted that the embodiments of the present application can be applied to both square decoding blocks and non-square decoding blocks, and the embodiments of the present application are not specifically limited. For a square decoding block, any side of the square decoding block can be used as a long side, so the above method is also applicable to a square decoding block.
[0144] It should also be noted that, taking the block to be decoded as a non-square decoding block as an example, there must be a long side and a short side on the left side or the upper side of the block to be decoded; 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 corresponding to the end position of the long side can be deleted first, and then the long side where the reference pixel is deleted can be initially offset according to the preset offset, and the offset reference pixel position is used as the starting point, and then the long side where the reference pixel is deleted is sampled to determine the position of the reference pixel to be selected corresponding to the long side. In the embodiment of the present application, the preset offset can be half of the third sampling interval, or other values, and the embodiment of the present application does not make specific limitations.
[0145] For example, in the related technical solution, the reference pixel sampling is performed on the long side of the non-square decoding block as follows: Figure 4B As shown. Figure 4BIn the example, according to the ratio between the long side and the short side, the third sampling interval can be determined to be 4; the long side is the first reference pixel position on the left as the starting point, and then the same number of reference pixels as the adjacent reference pixels of the short side are selected according to the third sampling interval. Since this will cause the sampled reference pixels to be biased to the left and cannot cover the characteristics of the entire long side, in this embodiment, an initial offset is first performed on the long side of the non-square decoding block so that the sampled reference pixels can cover the characteristics of the entire long side. For example, the preset offset is half of the third sampling interval, that is, the preset offset is 2, that is, the sampling in this embodiment is based on 2 as the starting point, so that the adjacent reference pixel subset formed can better cover the characteristics of the entire long side.
[0146] In some embodiments, determining a reference point from the at least one edge, and determining a position of a reference pixel to be selected corresponding to the at least one edge according to a preset number of samples, includes:
[0147] Deleting reference pixel points corresponding to the start position and the end position of the at least one edge, respectively, to obtain a second set of adjacent reference pixels;
[0148] Taking the midpoint of the at least one side as a reference point and based on the second set of adjacent reference pixels, determining the position of the reference pixel to be selected according to a preset number of samples.
[0149] It should be noted that the embodiments of the present application can directly select reference pixels based on the midpoint of the left side or upper side of the block to be decoded as the reference point to form a subset of adjacent reference pixels; the embodiments of the present application can also first delete the reference pixels corresponding to the starting position and the end position of the left side / upper side of the block to be decoded (for example, for the upper side, the starting position is the left edge position, and the end position is the right edge position; for the left side, the starting position is the upper edge position, and the end position is the lower edge position), retain the reference pixels in the middle part, and then use the selected reference pixels to form a subset of adjacent reference pixels.
[0150] It should also be noted that the preset number of samples can be any value; generally speaking, the preset number of samples can be less than N1 shown in Table 2; however, the embodiments of the present application are not limited to the preset number of samples being equal to N2 or N2'. Since the preset number of samples 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 Δ and shift values in the above equations (4) and (5), it is possible to determine the position of the reference pixel point to be selected with different starting points and sampling intervals, and then select the corresponding reference pixel points to form a subset of adjacent reference pixels.
[0151] In some embodiments, the predictive decoding of the to-be-decoded block based on the adjacent reference pixel subset includes:
[0152] Determining model parameters based on the adjacent reference pixel subset;
[0153] According to the model parameters, a prediction model is established; wherein the prediction model is used to characterize the prediction relationship between the first image component and the second image component corresponding to each pixel point in the block to be decoded;
[0154] Based on the prediction model, predictive decoding is performed on the block to be decoded.
[0155] It should be noted that after obtaining the adjacent reference pixel subset, the model parameters α and β can be constructed; thus, a prediction model can be established according to the above formula (1); according to the prediction model, the block to be decoded can be predicted and decoded. Since the adjacent reference pixel points included in the adjacent reference pixel subset take into account both importance and dispersion, the constructed model parameters are more accurate, thereby better improving the decoding prediction performance and thus reducing the bit rate.
[0156] The above embodiment provides a decoding prediction method, which obtains a first adjacent reference pixel set by acquiring reference pixel points adjacent to at least one side of a block to be decoded; determines a reference point from the at least one side, and determines the position of the reference pixel point to be selected corresponding to the at least one side according to a preset number of samples; based on the position of the reference pixel point to be selected, selects reference pixel points corresponding to the position of the reference pixel point to be selected from the first adjacent reference pixel set, and forms an adjacent reference pixel subset with the selected reference pixel points; based on the adjacent reference pixel subset, predicts and decodes the block to be decoded; because the adjacent reference pixels in the adjacent reference pixel subset not only take into account importance and dispersion, but also have a small number of pixels in the adjacent reference pixel subset, the complexity of the search is reduced, the prediction performance of video image decoding is improved, and the bit rate is reduced.
[0157] Based on the aforementioned Figure 8 The same inventive concept as the technical solution shown is shown in Fig.15 , which shows a schematic diagram of the composition structure of a decoding prediction device 150 provided in an embodiment of the present application. The decoding prediction device 150 may 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 acquire reference pixel points adjacent to at least one side of the block to be decoded, to 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 position of a reference pixel to be selected corresponding to the at least one edge according to a preset number of samples;
[0160] The selection unit 1503 is configured to select, based on the position of the reference pixel to be selected, reference pixels corresponding to the position of the reference pixel to be selected from the first set of adjacent reference pixels, and form an adjacent reference pixel subset with the selected reference pixels;
[0161] The decoding unit 1504 is configured to perform predictive decoding on the block to be decoded based on the adjacent reference pixel subset.
[0162] In the above scheme, the determination unit 1502 is specifically configured to be based on the length of the at least one edge. If the midpoint of the at least one edge is located at the middle position between two reference pixel points, then the first reference pixel point position to the right of the middle position is used as the reference point of the at least one edge, or the first reference pixel point position to the left of the middle position is used as the reference point of the at least one edge.
[0163] In the above scheme, the determination unit 1502 is specifically configured to be based on the length of the at least one edge. If the midpoint of the at least one edge is located at the middle position between two reference pixel points, then the first reference pixel point position below the middle position is used as the reference point of the at least one edge, or the first reference pixel point position above the middle position is used as the reference point of the at least one edge.
[0164] In the above scheme, see Fig.15 , the decoding prediction device 150 further includes a calculation unit 1505, configured to calculate a first sampling interval based on the preset number of samples and the length of the at least one side;
[0165] The determining unit 1502 is specifically configured to use the midpoint of the at least one edge as a reference point and determine the position of the reference pixel point to be selected corresponding to the at least one edge according to the first sampling interval.
[0166] In the above solution, the calculation unit 1505 is further configured to calculate the midpoint value of the at least one side based on the length of the at least one side; and calculate the reference pixel point position according to the midpoint value and the first sampling interval;
[0167] The determination unit 1502 is specifically configured to, when the midpoint value is a non-integer, round up the reference pixel point position on the left side of the midpoint value, and determine the rounded reference pixel point position as the reference pixel point position to be selected; and round up the reference pixel point position on the right side of the midpoint value, and determine the rounded reference pixel point position as the reference pixel point position to be selected.
[0168] In the above solution, the calculation unit 1505 is further configured to calculate the midpoint value of the at least one side based on the length of the at least one side; and calculate the reference pixel point position according to the midpoint value and the first sampling interval;
[0169] The determination unit 1502 is specifically configured to, when the midpoint value is a non-integer, round up the reference pixel point position on the left side of the midpoint value, and determine the rounded reference pixel point position as the reference pixel point position to be selected; and round down the reference pixel point position on the right side of the midpoint value, and determine the rounded reference pixel point position as the reference pixel point position to be selected.
[0170] In the above scheme, see Fig.15 , the decoding prediction device 150 further includes an adjustment 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 the position of the reference pixel point to be selected corresponding to the at least one edge according to the second sampling interval, taking the midpoint of the at least one edge as a reference point.
[0172] In the above scheme, the determination unit 1502 is also configured to use the midpoint of at least one edge as a reference point, determine the position of the reference pixel point to be selected corresponding to the left side of the reference point according to the first sampling interval, and determine the position of the reference pixel point to be selected corresponding to the right side of the reference point according to the second sampling interval.
[0173] In the above scheme, the determination unit 1502 is also configured to use the midpoint of at least one edge as a reference point, and determine the continuous reference pixel positions near the reference point as reference pixel positions to be selected according to the preset number of samples, and the reference point is located in the middle of the reference pixel positions to be selected.
[0174] In the above solution, the block to be decoded includes a square decoding block or a non-square decoding block.
[0175] In the above solution, the acquisition unit 1501 is further configured to delete the reference pixel points corresponding to the start position and the end position of the at least one edge, respectively, to obtain a second adjacent reference pixel set;
[0176] The determining unit 1502 is further configured to use the midpoint of the at least one edge as a reference point, and determine the position of the reference pixel to be selected based on the second adjacent reference pixel set and a preset number of samples.
[0177] In the above scheme, see Fig.15 , the decoding prediction device 150 further includes an establishing unit 1507, configured to determine model parameters based on the adjacent reference pixel subset; and establish a prediction model according to the model parameters; wherein the prediction model is used to characterize the prediction relationship between the first image component and the second image component corresponding to each pixel point in the block to be decoded;
[0178] The decoding unit 1504 is specifically configured to perform predictive decoding on the block to be decoded based on the prediction model.
[0179] It can be understood that in this embodiment, a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course it can also be a module, or it can be non-modular. Moreover, the components in this embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional module.
[0180] If the integrated unit is implemented 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 solution of this embodiment is essentially or the part that contributes to the prior art or the whole or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0181] Therefore, this embodiment provides a computer storage medium, which stores a decoding prediction program, and when the decoding prediction program is executed by at least one processor, the above-mentioned Figure 8 The steps of the method described in the technical solution shown.
[0182] Based on the above-mentioned components of the decoding prediction device 150 and the computer storage medium, see Fig.16, which shows a specific hardware structure example of the decoding prediction device 150 provided in an embodiment of the present application, which may 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 and communication between these components. In addition to the data bus, the bus system 1604 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, in Fig.16 Various buses are labeled as bus system 1604. Among them, the network interface 1601 is used for receiving and sending signals in the process of sending and receiving information between other external network elements;
[0183] Memory 1602, used to store computer programs that can be run on processor 1603;
[0184] The processor 1603 is configured to execute, when running the computer program:
[0185] Acquire reference pixel points adjacent to at least one side of the block to be decoded to obtain a first adjacent reference pixel set;
[0186] Determine a reference point from the at least one edge, and determine a position of a reference pixel point to be selected corresponding to the at least one edge according to a preset number of samples;
[0187] Based on the position of the reference pixel to be selected, selecting reference pixels corresponding to the position of the reference pixel to be selected from the first set of adjacent reference pixels, and forming an adjacent reference pixel subset with the selected reference pixels;
[0188] Based on the adjacent reference pixel subset, predictive decoding is performed on the block to be decoded.
[0189] It can be understood that the memory 1602 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus random access memory (DRRAM). The memory 1602 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0190] The processor 1603 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 1603. The above-mentioned processor 1603 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor are combined and executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 1602, and the processor 1603 reads the information in the memory 1602 and completes the steps of the above method in combination with its hardware.
[0191] It is understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application, or a combination thereof.
[0192] For software implementation, the techniques described herein can be implemented by modules (e.g., procedures, functions, etc.) that perform the functions described herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.
[0193] Optionally, as another embodiment, the processor 1603 is further configured to execute the aforementioned Figure 8 The steps of the method described in the technical solution 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 is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0196] Industrial Applicability
[0197] In an embodiment of the present application, reference pixels adjacent to at least one side of a block to be decoded are first obtained to obtain a first adjacent reference pixel set; then a reference point is determined from the at least one side, and the position of the reference pixel to be selected corresponding to the at least one side is determined according to a preset number of samples; then, based on the position of the reference pixel to be selected, reference pixels corresponding to the position of the reference pixel to be selected are selected from the first adjacent reference pixel set, and the selected reference pixels are formed into an adjacent reference pixel subset; finally, based on the adjacent reference pixel subset, the block to be decoded is predictively decoded; since the selection of adjacent reference pixels in the adjacent reference pixel subset takes into account both 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; and the number of pixels in the adjacent reference pixel subset is small, thereby reducing the complexity of the search, improving the prediction performance of video image decoding, and thereby reducing the bit rate.
Claims
1. A decoding prediction method, characterized in that: The method comprises: Obtaining adjacent reference pixel points of at least one side of the block to be decoded; Determine a starting point position and a first sampling interval based on a preset number of samples and the number of adjacent reference pixels of the at least one edge; Starting from the starting point, according to the first sampling interval, selecting reference pixel points corresponding to the preset number of samples from the adjacent reference pixel points; Based on the selected reference pixel points, predictive decoding is performed on the block to be decoded.
2. The method according to claim 1, characterized in that The determining of the starting point position and the first sampling interval based on the preset sampling number and the number of adjacent reference pixel points of the at least one edge includes: Based on the preset number of samples and the number of adjacent reference pixels of the at least one edge, the first sampling interval is calculated in the following manner: Δ=the number of adjacent reference pixels / the preset number of samplings, where Δ represents the first sampling interval.
3. The method according to claim 1, characterized in that The determining of the starting point position and the first sampling interval based on the preset sampling number and the number of adjacent reference pixel points of the at least one edge includes: Using the first sampling interval, the starting point position is calculated using the following formula: shift=Δ / 2, where shift represents the starting point position, and Δ represents the first sampling interval.
4. The method according to claim 1, characterized in that: The predictive decoding of the to-be-decoded block based on the selected reference pixel point includes: Determining model parameters of a prediction model based on the selected reference pixel points; According to the prediction model, predictive decoding is performed on the block to be decoded; wherein the prediction model is used to characterize the prediction relationship between the first image component and the second image component in the block to be decoded.
5. The method according to claim 4, characterized in that The step of determining the model parameters of the prediction model based on the selected reference pixel points includes: From the selected reference pixel points, determine the maximum value L among the adjacent reference values of the first image component max and the minimum value L min , and L max and L min The adjacent reference value C of the second image component corresponding to the reference pixel point at the corresponding position max and C min ; According to L max , L min , C max and C min , calculate the model parameters of the prediction model.
6. The method according to claim 1, characterized in that The selecting, starting from the starting point and according to the first sampling interval, reference pixel points corresponding to the preset number of samples from the adjacent reference pixel points comprises: If the number of adjacent reference pixel points of at least one edge is 16, the starting point position is 2, the first sampling interval is 4, and the preset sampling number is 4, then the positions of the reference pixel points corresponding to the preset sampling number are selected from the reference pixel points as 2, 6, 10, and 14.
7. The method according to claim 1, characterized in that The selecting, starting from the starting point and according to the first sampling interval, reference pixel points corresponding to the preset number of samples from the adjacent reference pixel points comprises: If the number of adjacent reference pixel points of at least one edge is 8, the starting point position is 2, the first sampling interval is 4, and the preset sampling number is 2, then the positions of the reference pixel points corresponding to the preset sampling number are selected from the reference pixel points as 2 and 6.
8. The method according to claim 1, characterized in that The at least one edge includes at least one of the following: a left edge of the block to be decoded and an upper edge of the block to be decoded.
9. The method according to any one of claims 1 to 8, characterized in that The block to be decoded includes a square decoding block or a non-square decoding block.
10. A coding system, characterized in that The encoding system is configured to: Obtaining adjacent reference pixel points of at least one side of the block to be encoded; Determine a starting point position and a first sampling interval based on a preset number of samples and the number of adjacent reference pixels of the at least one edge; Starting from the starting point, according to the first sampling interval, selecting reference pixel points corresponding to the preset number of samples from the adjacent reference pixel points; Based on the selected reference pixel points, predictive coding is performed on the block to be encoded.
Citation Information
Patent Citations
Image coding method and apparatus using side matching process and image decoding method and apparatus for the same
US20090147855A1
Method for coding and an apparatus
US20130094776A1
Encoding device, decoding device, encoding method, and decoding method
US20180316918A1
Method and apparatus for coding moving image and medium for recording program of coding moving image
US6731810B1
Target tracking method and device, and image processing apparatus
WO2018058531A1