Image element prediction method, encoder, decoder, and storage medium
By determining a reference pixel subset for model parameter calculation, the method addresses computational complexity and memory bandwidth issues in video image prediction, improving accuracy and efficiency.
Patent Information
- Application Number
- KR1020217034571
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-03-25
- Filing Date
- 2019-10-28
- Publication Date
- 2026-11-05
- Estimated Expiration
- 2039-10-28
AI Technical Summary
Existing image prediction models in video coding and decoding are computationally complex and have high memory bandwidth due to large sample point sets, often including abnormal points, leading to inaccurate predictions.
A method to determine a reference pixel set and a subset thereof for calculating model parameters, removing unimportant or anomalous points to reduce pixel count, thereby lowering computational complexity and improving prediction accuracy.
This approach reduces computational complexity and memory bandwidth while enhancing prediction accuracy and efficiency by selecting a subset of reference pixels for model parameter calculation.
Smart Images

Figure 112021122070852-PCT00032_ABST
Abstract
Description
Technology Field
[0001] The embodiments of the present application relate to the field of image processing technology, and in particular to an image component prediction method, encoder, decoder, and storage medium. Background Technology
[0002] The color information of a video image is frequently affected by factors such as light sources and color deviations of the acquisition device, which causes the overall color to shift in a specific direction. This is the phenomenon we commonly encounter where photos appear cold or yellow. To compensate for this color deviation present in the overall video image, an Illumination Compensation (IC) technique or a Local Illumination Compensation (LIC) technique is proposed to perform color correction on the video image.
[0003] Whether using IC technology or LIC technology, both require the construction of a prediction model, and the predicted values for video coding and decoding of video images are derived by the constructed prediction model. However, during the process of constructing the prediction model, the number of sample points for deriving current model parameters is relatively large, so the computational complexity and internal memory bandwidth are relatively high; at the same time, there may also be abnormal sample points among these sample points, which results in the prediction model being inaccurate. The problem to be solved
[0004] An embodiment of the present application provides an image element prediction method, an encoder, a decoder, and a storage medium, thereby reducing the number of pixels in a reference pixel set, which not only lowers computational complexity and internal memory bandwidth but also improves the precision of the prediction model, thereby improving the prediction accuracy of image elements to be predicted and improving the prediction efficiency of video images. means of solving the problem
[0005] The technical solution of the embodiment of the present application can be implemented as follows.
[0006] In a first aspect, an embodiment of the present application provides an image element prediction method, and said method,
[0007] A step of determining a first reference pixel set of image elements to be predicted in the current block;
[0008] A step of determining a reference pixel subset from a first reference pixel set - the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set - ; and
[0009] The step of calculating model parameters of a prediction model using a reference pixel subset—the prediction model is intended to perform cross-element prediction processing on the image elements to be predicted of the current block—is included.
[0010] In a second aspect, an embodiment of the present application provides an encoder, said encoder comprising a first determination unit and a first calculation unit, wherein,
[0011] A first determination unit is configured to determine a first set of reference pixels of an image element to be predicted in the current block;
[0012] The first determination unit is also configured to determine a reference pixel subset from the first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set;
[0013] The first computation unit is configured to calculate the model parameters of a prediction model using a reference pixel subset; wherein the prediction model is intended to perform cross-element prediction processing for the image elements to be predicted of the current block.
[0014] In a third aspect, an embodiment of the present application provides an encoder, said encoder comprising a first memory and a first processor, wherein,
[0015] The first memory is for storing a computer program that can be operated on a first processor;
[0016] The first processor is intended to execute a method according to the first aspect when operating the computer program.
[0017] In a fourth aspect, an embodiment of the present application provides a decoder, said decoder comprising a second determination unit and a second calculation unit, wherein,
[0018] The second decision unit is configured to determine a first reference pixel set of image elements to be predicted in the current block;
[0019] The second decision unit is also configured to determine a reference pixel subset from a first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set;
[0020] The second computation unit is configured to calculate the model parameters of the prediction model using a reference pixel subset; wherein the prediction model is intended to perform cross-element prediction processing for the image elements to be predicted of the current block.
[0021] In a fifth aspect, an embodiment of the present application provides a decoder, said decoder comprising a second memory and a second processor, wherein,
[0022] The second memory is for storing computer programs that can be operated on the second processor;
[0023] The second processor is intended to execute a method according to the first aspect when operating the computer program.
[0024] In a sixth aspect, an embodiment of the present application provides a computer storage medium, said computer storage medium stores an image element prediction program, and when the image element prediction program is executed by a first processor or a second processor, the method according to the first aspect is implemented. Effects of the invention
[0025] Embodiments of the present application provide an image element prediction method, an encoder, a decoder, and a storage medium, wherein the method comprises: a step of determining a first reference pixel set of image elements to be predicted in a current block; a step of determining a reference pixel subset from the first reference pixel set, wherein the reference pixel subset includes one or a plurality of candidate pixels selected from the first reference pixel set; and a step of calculating model parameters of a prediction model using the reference pixel subset, wherein the prediction model is intended to perform cross-element prediction processing on image elements to be predicted in a current block; thereby, by performing selection processing on the first reference pixel set, unimportant reference pixel points or reference pixel points having anomalies can be removed, thereby reducing the number of pixels in the first reference pixel set, which can lower computational complexity and internal memory bandwidth, and also improve the precision of the prediction model; and since the prediction model is intended to implement prediction processing for image elements to be predicted through the model parameters, the prediction accuracy of the image elements to be predicted is improved, thereby improving the prediction efficiency of the video image. Brief explanation of the drawing
[0026] FIG. 1 is a flowchart illustrating an image element prediction method provided in an embodiment of the present application. FIG. 2a is an example diagram of the structure of a reference pixel point location provided in an embodiment of the present application. FIG. 2b is an example diagram of the structure of another reference pixel point location provided in an embodiment of the present application. FIG. 3 is an example diagram of the structure of a selection of a subset of adjacent reference pixels on the upper side of the current block provided in an embodiment of the present application. FIG. 4 is an example diagram of the structure of a selection of a subset of adjacent reference pixels on the upper side of another current block provided in an embodiment of the present application. Figure 5 is an example diagram of the comparative structure of the prediction model provided in an embodiment of the present application. FIG. 6 is a flowchart illustrating another image element prediction method provided in an embodiment of the present application. FIG. 7 is an example diagram of the configuration structure of an encoder provided in an embodiment of the present application. FIG. 8 is an example diagram of a specific hardware structure of an encoder provided in an embodiment of the present application. FIG. 9 is an example diagram of the configuration structure of a decoder provided in an embodiment of the present application. FIG. 10 is an example diagram of a specific hardware structure of a decoder provided in an embodiment of the present application. Specific details for implementing the invention
[0027] To further understand the features and technical content 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 attached drawings. The attached drawings are for reference only and are not intended to limit the embodiments of the present application.
[0028] In a video image, a coding block (CB) is generally represented using a first image element, a second image element, and a third image element; wherein these three image elements are each a luminance element, a blue chromaticity element, and a red chromaticity element, specifically, the luminance element is generally represented by the symbol Y, the blue chromaticity element is generally represented by the symbol Cb or U, and the red chromaticity element is generally represented by the symbol Cr or V; thereby, the video image can be represented in a YCbCr format and can also be represented in a YUV format.
[0029] In the embodiments of the present application, the first image element may be a luminance element, the second image element may be a blue chromaticity element, and the third image element may be a red chromaticity element, but the embodiments of the present application are not specifically limited thereto.
[0030] In the current video image or video coding and decoding process, not only must the construction of a prediction model be used in cross-component prediction techniques, but the construction of a prediction model must also be used in prediction techniques within image elements. Here, cross-component prediction techniques mainly include Cross-component Linear Model Prediction (CCLM) mode and Multi-Directional Linear Model Prediction (MDLM) mode, and the prediction models constructed by the CCLM mode and MDLM mode can implement prediction between image elements, such as from a first image element to a second image element, from a second image element to a first image element, from a first image element to a third image element, from a third image element to a first image element, from a second image element to a third image element, or from a third image element to a second image element. In the case of prediction technology within image elements, it mainly includes chromaticity element compensation technology and luminance element compensation technology, such as IC technology and LIC technology. By utilizing a prediction model constructed by the prediction technology within image elements, the prediction technology within image elements can be implemented, such as a prediction of a first image element, a prediction of a second image element, or a prediction of a third image element. In the embodiments of the present application, a prediction model constructed mainly by the prediction technology within image elements is described below as an example.
[0031] To ensure the accuracy of the model parameters used in the prediction model, the reference pixel set constructed to derive the model parameters must be more accurate. Based on this, an embodiment of the present application provides an image element prediction method by performing the steps of: determining a first reference pixel set of image elements to be predicted in a current block; determining a reference pixel subset from the first reference pixel set, wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set; and calculating model parameters of a prediction model using the reference pixel subset, wherein the prediction model is intended to perform cross-element prediction processing on image elements to be predicted in a current block. By performing selection processing on the first reference pixel set, unimportant reference pixel points or reference pixel points with anomalies can be removed, thereby reducing the number of pixels in the first reference pixel set, which can lower computational complexity and internal memory bandwidth, and also improve the precision of the prediction model; and improving the prediction accuracy of image elements to be predicted, thereby improving the prediction efficiency of video images.
[0032] It should be explained that the image element prediction method of the embodiments of the present application may be applied not only to a video encoding system but also to a video decoding system, and even simultaneously to a video encoding system and a video decoding system, and the embodiments of the present application are not specifically limited thereto. It should be explained that when the method is applied to a video encoding system, the “current block” specifically refers to the current encoding block in intra-frame prediction; and when the method is applied to a video decoding system, the “current block” specifically refers to the current decoding block in intra-frame prediction.
[0033] Each embodiment of the present application is described in detail below by combining the drawings.
[0034] Referring to FIG. 1, an example flowchart of an image element prediction method provided in an embodiment of the present application is illustrated, and the method may include the following steps.
[0035] In step S101, a first set of reference pixels of the image elements to be predicted of the current block is determined.
[0036] In step S102, a reference pixel subset is determined from the first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set.
[0037] In step S103, the model parameters of the prediction model are calculated using the reference pixel subset; wherein the prediction model is for performing cross-element prediction processing on the image elements to be predicted of the current block.
[0038] It needs to be explained that a video image can be divided into multiple image blocks, and each image block currently to be encoded can be referred to as the current block. Here, each current block may include a first image element, a second image element, and a third image element; the current block is the current block in the video image where the prediction of the first image element, the second image element, or the third image element is to be performed. Here, if the first image element needs to be predicted through the prediction model, the image element to be predicted is the first image element; if the second image element needs to be predicted through the prediction model, the image element to be predicted is the second image element; and if the third image element needs to be predicted through the prediction model, the image element to be predicted is the third image element.
[0039] In addition, it must be explained that the first reference pixel set is a reference pixel set corresponding to the construction of a prediction model among current association technology methods. In the first reference pixel set, some unimportant reference pixel points (e.g., the association of these reference pixel points is relatively poor) or some reference pixel points with abnormalities may exist; therefore, in order to ensure the accuracy of the prediction model, these reference pixel points must be removed to obtain a reference pixel subset; and based on the reference pixel subset, the accuracy of the prediction model can be ensured, thereby increasing the prediction efficiency of the image element to be predicted.
[0040] In an embodiment of the present application, first, a first reference pixel set of image elements to be predicted in a current block is determined; then, from the first reference pixel set, a reference pixel subset is determined; wherein, the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set; and then, using the reference pixel subset, model parameters of a prediction model are calculated; wherein, the prediction model is intended to perform cross-element prediction processing on image elements to be predicted in a current block; thereby, by performing selection processing on the first reference pixel set, unimportant reference pixel points or reference pixel points with anomalies can be removed, thereby reducing the number of pixels in the first reference pixel set, which can lower computational complexity and internal memory bandwidth, as well as improve the precision of the prediction model; and by improving the prediction accuracy of image elements to be predicted, the prediction efficiency of the video image is improved.
[0041] Furthermore, regarding the determination of the first set of reference pixels, it may be obtained based on adjacent reference pixels around the current block or based on adjacent reference pixels within the reconstructed block, and the embodiments of the present application are not specifically limited thereto, and each thereof is described below.
[0042] Optionally, in some embodiments, for step S101, the step of determining a first reference pixel set of the image element to be predicted of the current block is,
[0043] A step of obtaining a reference pixel adjacent to at least one side of the current block, excluding the current block above - the at least one side of the current block includes at least one of an upper side, a left side, a right upper side, and a left lower side - ; and
[0044] Based on the acquired reference pixels, the method may include the step of obtaining the first set of reference pixels.
[0045] For example, referring to FIG. 2a, an exemplary structural diagram of a reference pixel point location provided in an embodiment of the present application is illustrated. In FIG. 2a, the reference pixel point is located around the current block, that is, a reference pixel point adjacent to at least one side of the current block, and the at least one side of the current block may point to the left side of the current block, may point to the top side of the current block, and may even point to both the left side and the top side of the current block; the embodiment of the present application is not specifically limited thereto.
[0046] It can be understood that, if at least one side of the current block is at least one of the left side and the top side, in the case of step S101, the step of determining the first reference pixel set of the predicted image element of the current block is,
[0047] A step of obtaining a reference pixel point adjacent to at least one side of the current block - the at least one side includes at least one of the left side of the current block and the top side of the current block - ; and
[0048] Based on the acquired reference pixels, the method may include the step of obtaining the first set of reference pixels.
[0049] It must be explained that at least one side of the current block may include at least one of the left side of the current block and the upper side of the current block; that is, at least one side of the current block may point to the upper side of the current block, may point to the left side of the current block, and may even point to both the upper side and the left side of the current block, and the embodiments of the present application are not specifically limited thereto.
[0050] Thus, if both the left adjacent area and the upper adjacent area are valid areas, the first reference pixel set may be composed of a reference pixel point adjacent to the left side of the current block and a reference pixel point adjacent to the upper side of the current block; if the left adjacent area is a valid area and the upper adjacent area is an invalid area, the first reference pixel set may be composed of a reference pixel point adjacent to the left side of the current block; and if the left adjacent area is an invalid area and the upper adjacent area is a valid area, the first reference pixel set may be composed of a reference pixel point adjacent to the upper side of the current block.
[0051] It can be understood that, if at least one side of the current block is an adjacent column formed by the left side and the left lower side and an adjacent row formed by the upper side and the right upper side, in the case of step S101, the step of determining a first reference pixel set of the image element to be predicted of the current block is,
[0052] A step of obtaining a reference pixel point in a reference row or reference column adjacent to the current block - wherein the reference row is composed of a row adjacent to the upper side and the upper right side of the current block, and the reference column is composed of a column adjacent to the left side and the lower left side of the current block - ; and
[0053] Based on the acquired reference pixels, the method may include the step of obtaining the first set of reference pixels.
[0054] It should be explained that the reference row adjacent to the current block may be composed of a row adjacent to the upper side and the upper right side of the current block, and the reference column adjacent to the current block may be composed of a column adjacent to the left side and the lower left side of the current block; the reference row or reference column adjacent to the current block may refer to a reference row adjacent to the upper side of the current block, may refer to a reference column adjacent to the left side of the current block, and may even refer to a reference row or reference column adjacent to another side of the current block, and the embodiments of the present application are not specifically limited thereto. For convenience of explanation, in the embodiments of the present application, the reference row adjacent to the current block is described by example as a reference row adjacent to the upper side, and the reference column adjacent to the current block is described by example as a reference column adjacent to the left side.
[0055] Here, reference pixel points in reference rows adjacent to the current block may include reference pixel points adjacent to the upper side and the right upper side (also referred to as adjacent reference pixel points corresponding to the upper side and the right upper side), where the upper side represents the upper side of the current block, and the right upper side represents a side length equal in height to the current block extending horizontally to the right from the upper side of the current block; reference pixel points in reference columns adjacent to the current block may also include reference pixel points adjacent to the left side and the left lower side (also referred to as adjacent reference pixel points corresponding to the left side and the left lower side), where the left side represents the left side of the current block, and the left lower side represents a side length equal to the width of the current decoding block extending vertically downward from the left side of the current block; however, embodiments of the present application are not specifically limited thereto.
[0056] Thus, when the left adjacent area and the left lower adjacent area are valid areas, the first reference pixel set may be composed of reference pixel points in the reference column adjacent to the current block; and when the upper adjacent area and the right upper adjacent area are valid areas, the first reference pixel set may be composed of reference pixel points in the reference row adjacent to the current block.
[0057] Optionally, in some embodiments, for step S101, the step of determining a first reference pixel set of the image element to be predicted of the current block is,
[0058] A step of obtaining a reference pixel adjacent to at least one side of the reconstructed block within the reconstructed block—wherein the reconstructed block is an image block adjacent to the current block and has completed encoding reconstruction, and at least one side of the reconstructed block includes a lower side, a right side, or both a lower side and a right side—; and
[0059] Based on the acquired reference pixels, the method may include the step of obtaining the first set of reference pixels.
[0060] For example, referring to FIG. 2b, an exemplary structural diagram of a reference pixel point location provided in an embodiment of the present application is illustrated. In FIG. 2b, the reference pixel point is located inside the reconstruction block, that is, a reference pixel point adjacent to at least one side of the reconstruction block, and the at least one side of the reconstruction block may point to the right side of the reconstruction block, may point to the lower side of the reconstruction block, and may even point to both the right side and the lower side of the reconstruction block, and the embodiment of the present application is not specifically limited thereto.
[0061] What needs to be explained is that, from the perspective of constructing a prediction model, reference pixel points can be referred to as “pixel points used to construct a prediction model,” and since the current block is already in the stage of completed encoding and reconstruction, constructing a prediction model at this stage makes it easier to use the prediction model for other encoded blocks in the image in the future. Furthermore, in the case of a reconstructed block, on one hand, a first set of reference pixels can be obtained by utilizing adjacent reference pixels within the reconstructed block, making it easier to construct a prediction model for the current block in the future; on the other hand, a prediction model corresponding to the reconstructed block can also be directly utilized as a prediction model for the current block; in other words, in the case of the current block being encoded, the use of association information of the reconstructed block in the adjacent area may involve directly utilizing the prediction model corresponding to it, rather than constructing a prediction model through reference pixels adjacent to the reconstructed block.
[0062] Furthermore, after obtaining a first set of reference pixels, since some unimportant reference pixel points (e.g., the association of these reference pixel points is relatively poor) or some abnormal reference pixel points may exist in the first set of reference pixels, these reference pixel points must be removed to ensure the accuracy of model parameter derivation, thereby obtaining a subset of reference pixels; thereby, the accuracy of the prediction model can be ensured according to the subset of reference pixels, and the prediction efficiency of the image element to be processed is increased.
[0063] In some embodiments, for step S102, the step of determining a reference pixel subset according to the first reference pixel set is
[0064] A step of determining a candidate location of a candidate pixel based on at least one side of the current block or the reconstructed block; and
[0065] The method may include the step of selecting a reference pixel corresponding to the candidate location from the first reference pixel set and configuring the reference pixel subset with the parameter pixel obtained by selection.
[0066] Furthermore, the step of determining a candidate location of a candidate pixel based on at least one edge of the current block or the reconstructed block is,
[0067] The method may include a step of determining the candidate location based on a pixel location corresponding to a reference pixel adjacent to at least one side.
[0068] Furthermore, the step of determining a candidate location of a candidate pixel based on at least one edge of the current block or the reconstructed block is,
[0069] The method may include a step of determining the candidate location based on an image element intensity value corresponding to a reference pixel adjacent to at least one side.
[0070] Furthermore, the step of determining a candidate location of a candidate pixel based on at least one edge of the current block or the reconstructed block is,
[0071] The method may include a step of determining the candidate location based on the pixel location and image element intensity value corresponding to the reference pixel adjacent to at least one side.
[0072] It should be explained that image element intensity can be represented by image element values such as luminance values, chromaticity values, etc., wherein a larger image element value indicates higher image element intensity. The reference pixel selected in the embodiment of the present application may be selected through the candidate location of the candidate pixel; wherein the candidate location may be determined according to the pixel location or may be determined according to the image element intensity value (e.g., luminance value, chromaticity value, etc.), and the embodiment of the present application is not specifically limited thereto.
[0073] It must also be explained that the reference pixel subset is constructed by performing a screening process on the first reference pixel set and then selecting some reference pixel points; the model parameters are obtained by calculating based on the reference pixel subset; thereby, since the number of samples in the reference pixel subset is reduced, the number of samples required for the calculated model parameters is also reduced, and thus the purpose of reducing computational complexity and internal memory bandwidth (or referred to as memory bandwidth) can be achieved.
[0074] It is understood that some reference pixel points selected in the embodiments of the present application may be selected through a pixel location corresponding to the reference pixel, or may be selected according to an image element intensity value (e.g., luminance value, chromaticity value, etc.) corresponding to the reference pixel, and the embodiments of the present application are not specifically limited thereto. Here, a reference pixel subset is constructed regardless of whether an appropriate reference pixel point is selected by selecting a first reference pixel set through a pixel location corresponding to the reference pixel or through an image element intensity value corresponding to the reference pixel; thereby, the model parameters derived and obtained according to the reference pixel subset are more accurate, and the prediction model constructed according to said model parameters is also made more accurate.
[0075] In some embodiments, the step of determining a candidate location of a candidate pixel based on at least one side of the current block or the reconstructed block is,
[0076] A step of determining a preset number of candidate pixels - the preset number of candidate pixels represents the quantity of pixels sampled from a reference pixel adjacent to at least one side - ; and
[0077] The method may include the step of determining the candidate location according to the above-mentioned number of candidate pixels and the length of at least one side, wherein the length of at least one side is equal to the number of pixels included in the at least one side.
[0078] It must be explained that the use of association information of a reconstruction block may involve directly using a corresponding prediction model rather than constructing a prediction model through reference pixels adjacent to the reconstruction block; accordingly, the embodiments of the present application primarily describe a method for determining candidate locations of candidate pixels, exemplified by at least one edge of the current block.
[0079] It should also be explained that the preset number of candidate pixels represents the preset number of pixel points to be sampled, that is, the number of pixels included in the reference pixel subset. Taking pixel locations as an example, after determining the preset number of candidate pixels, candidate locations of candidate pixels can be calculated based on the length of at least one side and the preset number of candidate pixels; and based on the candidate locations, appropriate reference pixel points are selected from the first reference pixel set to form a reference pixel subset. As a result, the model parameters calculated based on the reference pixel subset become more accurate, and the constructed prediction model can also become more accurate, thereby improving the prediction accuracy of the image elements to be predicted and enhancing the prediction efficiency of the video image.
[0080] Furthermore, regarding the determination of candidate locations, a first sampling interval may be calculated first, and then sampling processing may be performed on the at least one side according to the first sampling interval to determine the candidate location of a candidate pixel corresponding to the at least one side. Accordingly, in some embodiments, the step of determining the candidate location of a candidate pixel based on at least one side of the current block or the reconstructed block is,
[0081] A step of calculating a first sampling interval according to the above-mentioned number of candidate pixels and the length of at least one side; and
[0082] The method may include the step of determining a reference point from at least one side and determining the candidate location according to the first sampling interval.
[0083] It should be explained that the reference point may be the midpoint of the at least one side, may be the first reference pixel point location to the left of the midpoint of the at least one side, may also be the first reference pixel point location to the right of the midpoint of the at least one side, and may even be another reference pixel point location of the at least one side, and the embodiments of the present application are not specifically limited thereto.
[0084] Specifically, the midpoint of the at least one side may be determined according to the length of the at least one side, and then the midpoint of the at least one side may be used as the reference point. Here, the reference point may be the midpoint of the at least one side, may be the first reference pixel point location to the left of the midpoint of the at least one side, may also be the first reference pixel point location to the right of the midpoint of the at least one side, and may even be another reference pixel point location of the at least one side, and the embodiments of the present application are not specifically limited thereto.
[0085] It must be explained that, considering the importance of a reference pixel point adjacent to at least one side of the current block and the corresponding location, in order for the reference pixel point in the reference pixel subset to represent the overall characteristics of the adjacent side, the reference pixel point located at the center of the side as much as possible must be selected, and points of relatively low importance (e.g., reference pixel points on both edges of the side) must be removed. In an embodiment of the present application, taking the upper side of the current block as an example, the first reference pixel point location on the right or left of the middle position can be used as the reference point of the side; and taking the left side of the current block as an example, the first reference pixel point location on the lower or upper of the middle position can be used as the reference point of the side.
[0086] In addition, before determining the reference point, a preset number of reference pixel points corresponding to the end position of one of the current blocks may be deleted first, or an initial offset may be performed on the said side starting from the end position according to a preset offset amount, using the offsetd reference pixel point position as the starting point to obtain a new side, and then using the intermediate position corresponding to the new side as the reference point; correspondingly, a preset number of reference pixel points corresponding to the start position of one of the current blocks may be deleted first, or an initial offset may be performed on the said side starting from the start position according to a preset offset amount, using the offsetd reference pixel point position as the starting point to obtain a new side, and then using the intermediate position corresponding to the new side as the reference point.
[0087] In actual application, since the lengths of the left side or the top side of the current block are both integer multiples of 2, the middle positions of the left side or the top side of the current block are all located between two points. In the example of FIG. 3, the first pixel point to the left of the middle position is used as the middle of the side; however, an embodiment of the present application may use the first pixel point to the right of the middle position as the middle of the side, as shown in FIG. 4. In FIG. 3, the first pixel point to the left of the middle position (e.g., 3 in FIG. 3) is used as the middle of the side, but since the preset number of samples is 2, the reference pixel point positions to be selected (e.g., gray point example in FIG. 3) can be determined to be 1 and 5, and a reference pixel point corresponding to these reference pixel point positions can be selected to form a reference pixel subset. Accordingly, in the embodiments of the present application, for the upper side of the current block, the first pixel point on the right of the middle position may be used as the midpoint of the side, as well as the first pixel point on the left of the middle position may be used as the midpoint of the side, and the embodiments of the present application are not specifically limited thereto; additionally, for the left side of the current block, the first pixel point on the bottom of the middle position may be used as the midpoint of the side, as well as the first pixel point on the top of the middle position may be used as the midpoint of the side, and the embodiments of the present application are not specifically limited thereto.
[0088] Unless otherwise specified, the upper side of the current block is described below as an example, but the image element prediction method of the embodiment of the present application is likewise applied to the left side of the current block, even the right side of the reconstructed block or the lower side of the reconstructed block, and the embodiment of the present application is not specifically limited thereto.
[0089] It can be understood that if the existence of a reference pixel point adjacent to the left or upper side of the current block is not taken into account, the construction of a second reference pixel set can also be performed according to formula (1) and formula (2).
[0090]
[0091]
[0092] Here, Δ represents the sampling interval, length represents the number of reference pixel points in a row adjacent to the upper side of the current block, or the number of reference pixel points in a column adjacent to the left side of the current block, N2 represents the number of reference pixel points in a subset of desired configuration reference pixels of the current block (generally, the left side and the upper side are each 1 / 2, but are not specifically limited to this in the embodiments of the present application), and shift represents selecting the starting point position of the reference pixel points. Here, if the middle position of either the left side or the upper side of the current block is located between two points, and the first pixel point to the right of the middle position is used as the midpoint of the said side, the starting point position And; if the first pixel point to the left of the middle position is used as the midpoint of the above side, the starting point position is am.
[0093] For example, taking the upper side shown in FIG. 3 as an example, the length is 8 and N2 is 4, and assuming that the left side and the upper side are each 1 / 2, that is, the preset number of samples for the upper side is 2, according to formulas (1) and (2). , Each is obtained by calculating, that is, by setting 1 as the starting point position and 4 as the sampling interval, the selected reference pixel point positions such as 1 and 5 can be determined first, thereby selecting the corresponding reference pixel points to form a reference pixel subset. Here, it should be noted that the values of the preset number of samplings corresponding to the left side and the preset number of samplings corresponding to the upper side may be the same or different, and the embodiments of the present application are not specifically limited thereto.
[0094] It must also be explained that a first sampling interval corresponding to the side can be calculated and obtained according to the number of pre-set candidate pixels and the length of one side of the current block. Additionally, since the lengths of the left side or the top side of the current block are both integer multiples of 2, the middle position of the left side or the top side of the current block is located between two points, and the center point value obtained by calculation is a non-integer number, and the reference pixel point position obtained by calculation is also a non-integer number; however, if the lengths of the left side or the top side of the current block are not integer multiples of 2, the middle position of the left side or the top side of the current block is not located between two points, and the center point value obtained by calculation is an integer, and the reference pixel point position obtained by calculation is also an integer; in other words, the center point value obtained by calculation may be an integer or a non-integer number; correspondingly, the reference pixel point position obtained by calculation may be an integer or a non-integer number; the embodiments of the present application are not specifically limited thereto.
[0095] Thus, when the center point value obtained by calculation is an integer, the reference pixel point location obtained by calculation is also an integer, and the reference pixel point location obtained by direct calculation can be used as a candidate location; when the center point value obtained by calculation is a non-integer, the reference pixel point location obtained by calculation is also a non-integer, and the candidate location can be determined through rounding up or down.
[0096] Furthermore, in some embodiments, after calculating the first sampling interval, the method also,
[0097] A step of obtaining a second sampling interval by adjusting the first sampling interval; and
[0098] Based on the reference point above, the method may include a step of determining the candidate location according to the second sampling interval.
[0099] It should be explained that after calculating and obtaining a first sampling interval, the first sampling interval can also be fine-tuned, for example, by performing an operation of adding 1 or subtracting 1 from the first sampling interval to obtain a second sampling interval. For example, if the first sampling interval is 4, the adjusted second sampling interval may be 3 or 5. In the embodiments of the present application, when adjusting the first sampling interval, a small adjustment (e.g., adding 1 or subtracting 1) may be performed, but the specific setting for the adjustment amount is not specifically limited in the embodiments of the present application.
[0100] Furthermore, in some embodiments, after obtaining a second sampling interval, the method also,
[0101] Based on the reference point, the method may include the step of determining a candidate location corresponding to one side of the reference point according to the first sampling interval and determining a candidate location corresponding to the other side of the reference point according to the second sampling interval.
[0102] In other words, after determining a reference point of at least one side of the current block, uniform sampling may be performed according to a first sampling interval or a second sampling interval; non-uniform sampling may also be performed according to the first sampling interval and the second sampling interval, and the candidate positions determined after sampling may be distributed symmetrically on both sides of the reference point or asymmetrically on both sides of the reference point; the embodiments of the present application are not specifically limited thereto.
[0103] Furthermore, since the reference pixel point located at the midpoint of at least one side is relatively related to the predicted image element of the current block among the first reference pixel set, a reference pixel point location with a continuous preset number of samplings near the midpoint can be used as the reference pixel point location to be selected, and the method can be referred to as a method for selecting a continuous point at the midpoint. Specifically, assuming that the reference pixel point location in one row / one column adjacent to the upper side or left side of the current block is numbered starting from 0, the number of adjacent reference pixel points and the corresponding reference pixel point location to be selected among the reference pixel subset configured in this embodiment are as shown in Table 1. At this time, the reference pixel subset can be configured by using a reference pixel point location with a continuous preset number of samplings near the midpoint as a candidate location.
[0104]
[0105] Furthermore, regarding the screening process of the first parameter pixel set, a jump point processing may also be performed on reference pixel points of at least one side, that is, by jumping on unimportant reference pixel points or reference pixel points where anomalies exist (which may be considered as deletion processing), a reference pixel subset may be obtained; based thereon, that is, after a partial reference pixel point of at least one side is jumped, a second reference pixel set may be obtained, and a screening process may be performed on the second reference pixel set to obtain a reference pixel subset. Accordingly, in some embodiments, the step of determining candidate locations of candidate pixels based on at least one side of the current block or the reconstructed block is,
[0106] A step of determining a preset number of jumping pixels (K) corresponding to at least one of the above sides - K is a positive integer greater than or equal to 1 - ;
[0107] A step of determining a position corresponding to K jumping pixel points, starting from at least one of the starting position and ending position of the above-mentioned at least one side;
[0108] Based on the positions corresponding to the K pixel points to be jumped, the step of continuously jumping K pixel points to be jumped, starting from at least one of the start position and end position of the at least one side, to obtain at least one new side; and
[0109] The method may include a step of determining the candidate location based on at least one new variable and the number of preset candidate pixels.
[0110] It should be explained that the preset jumping pixel count represents the preset number of pixel points to be deleted or jumped. Additionally, the starting position of at least one side represents the leftmost edge position of the top side of the current block or the topmost edge position of the left side of the current block, and the ending position of at least one side represents the rightmost edge position of the top side of the current block or the edge position of the left side of the current block.
[0111] It should also be explained that the value of K may be a preset number of reference pixel points such as 1, 2, or 4; and may also be obtained by calculating based on the length of the side of the current block and the corresponding preset proportion; however, in actual applications, it is still set according to the actual situation, and the embodiments of the present application are not specifically limited thereto. Here, the preset proportion corresponding to the upper side of the current block may be represented as a first preset proportion, and the preset proportion corresponding to the left side of the current block may be represented as a second preset proportion, and the values of the first preset proportion and the second preset proportion may be the same or different, and the embodiments of the present application are not specifically limited thereto.
[0112] Thus, assuming that it starts from the starting position of at least one side, if at least one side is the upper side of the current block (which may also be referred to as the reference row of the current block), a position corresponding to K jumping pixel points can be determined starting from the leftmost edge position of at least one side; if at least one side is the left side of the current block (which may also be referred to as the reference column of the current block), a position corresponding to K jumping pixel points can be determined starting from the topmost edge position of at least one side; assuming that it starts from the end position of at least one side, if at least one side is the upper side of the current block, a position corresponding to K jumping pixel points can be determined starting from the rightmost edge position of at least one side; if at least one side is the left side of the current block, a position corresponding to K jumping pixel points can be determined starting from the bottommost edge position of at least one side; and in actual applications, it may be set according to actual circumstances, and the embodiments of the present application are not specifically limited thereto.
[0113] After determining the positions corresponding to K pixel points to be jumped, assuming that it starts from the starting position of at least one side, if at least one side is the upper side of the current block, a new upper side can be obtained by starting from the leftmost edge position of the upper side, determining the positions corresponding to K consecutive pixel points to be jumped to the right, and then jumping these K pixel points to be jumped consecutively; at this time, a candidate position corresponding to the new upper side can be determined according to the side length of the new upper side and a preset number of candidate pixels, thereby forming a reference pixel subset with the selected candidate pixels; and if at least one side is the left side of the current block, a new left side can be obtained by starting from the topmost edge position of the left side, determining the positions corresponding to K consecutive pixel points to be jumped downwards, and then jumping these K pixel points to be jumped consecutively. At this time, a candidate position corresponding to the new left side can be determined based on the length of the new left side and the number of pre-set candidate pixels, thereby forming a reference pixel subset with the selected candidate pixels.Alternatively, assuming that it starts from the end position of at least one side, if at least one side is the upper side of the current block, a position corresponding to K consecutive pixel points to be jumped to the left is determined starting from the rightmost edge position of the upper side, and then these K pixel points to be jumped are jumped consecutively to obtain a new upper side; at this time, a candidate position corresponding to the new upper side can be determined according to the side length of the new upper side and a preset number of candidate pixels, thereby forming a reference pixel subset with the selected candidate pixels; and if at least one side is the left side of the current block, a position corresponding to K consecutive pixel points to be jumped upwards is determined starting from the bottommost edge position of the left side, and then these K pixel points to be jumped are jumped consecutively to obtain a new left side; at this time, a candidate position corresponding to the new left side can be determined according to the side length of the new left side and a preset number of candidate pixels, thereby forming a reference pixel subset with the selected candidate pixels.
[0114] Thus, an embodiment of the present application derives model parameters corresponding to a complex model (e.g., a non-linear model or a multi-model) using partial pixels (i.e., a reference pixel subset) in a first reference pixel set obtained by reference pixel points adjacent to the current block. Since insignificant reference pixel points or reference pixel points with anomalies have already been removed from the obtained subset (i.e., the reference pixel subset), a smaller number of reference pixel points is provided, thereby reducing computational complexity and internal memory bandwidth, as well as improving the precision of the complex model, thereby achieving the objective of improving the prediction accuracy of image elements to be processed and the prediction efficiency of video images.
[0115] Furthermore, after determining a reference pixel subset, the model parameters of the prediction model are calculated according to the reference pixel subset, making it easier to construct the prediction model. Accordingly, in some embodiments, for step S103, the step of calculating the model parameters of the prediction model using the reference pixel subset is,
[0116] A step of obtaining, based on the above reference pixel subset, adjacent pixel reconstruction values of an image element to be predicted corresponding to the current block and adjacent pixel reconstruction values of an image element to be predicted corresponding to the reference block - wherein the current block is located in the video image of the Nth frame and the reference block is located in the video image of the N-1th frame - ; and
[0117] The method may include a step of calculating and obtaining model parameters based on the adjacent pixel reconstruction value of the image element to be predicted corresponding to the current block and the adjacent pixel reconstruction value of the image element to be predicted corresponding to the reference block.
[0118] It needs to be explained that the reference block and the current block are not located in the same intra-frame, and they belong to an inter-frame relationship. Here, the reference block and the current block are located in video images of different frames, and the frame in which the reference block is located is the frame prior to the frame in which the current block is located; that is, the current block is located in the video image of the Nth frame, and the reference block is located in the video image of the N-1th frame; furthermore, there exists an offset of the Motion Vector (MV) between the position of the current block in the video image of the Nth frame and the position of the reference block in the video image of the N-1th frame.
[0119] Additionally, the model parameters include a first model parameter (α) and a second model parameter (β). There are various methods for calculating α and β, and they may be a pre-configured factor calculation model constructed with a minimum binary system, a pre-configured factor calculation model constructed with maximum and minimum values, or even a pre-configured factor calculation model constructed in other ways, and the embodiments of the present application are not specifically limited thereto.
[0120] For example, a pre-configured factor calculation model constructed with a minimum binary system is assumed to perform prediction processing mainly on luminance elements, such as IC technology or LIC technology; where α and β may be obtained by performing a minimization regression error through the reconstruction value of adjacent pixels of the luminance element corresponding to the current block and the reconstruction value of adjacent pixels of the luminance element corresponding to the reference block, and specifically, it is the same as the pre-configured factor calculation model shown in formula (3).
[0121]
[0122] Here, represents the reconstruction value of adjacent pixels of the luminance element corresponding to the reference block, and represents the reconstruction value of adjacent pixels of the luminance element corresponding to the current block, and N represents the number of adjacent pixels of the luminance element corresponding to the current block, Thus, the first model parameter (α) and the second model parameter (β) can be obtained through the calculation of formula (3).
[0123] For example, a method for deriving simplified model parameters is provided by using a pre-configured factor calculation model constructed with maximum and minimum values. Specifically, by searching for the maximum and minimum values in the reconstruction values of adjacent pixels of the luminance element corresponding to the reference block, α and β can be derived according to the principle that “two points determine one line,” and are the same as the pre-configured factor calculation model shown in formula (4).
[0124]
[0125] Here, and represents the maximum and minimum values obtained by searching from the reconstructed pixel values of the luminance elements adjacent to the reference block, and and silver and The reference pixel point at the corresponding location represents the corresponding luminance element adjacent pixel reconstruction value in the luminance element adjacent pixel reconstruction value corresponding to the current block. class and class Accordingly, the first model parameter (α) and the second model parameter (β) can be obtained through the calculation of formula (4).
[0126] After obtaining the first model parameter (α) and the second model parameter (β), a prediction model can be constructed. Specifically, assuming that the prediction value of the luminance element corresponding to the current block is predicted based on the prediction value of the luminance element corresponding to the reference block based on α and β, the constructed prediction model is as shown in Formula (5).
[0127]
[0128] Here, , represents the location coordinates of a pixel point within the current block, and It indicates the horizontal direction, and represents the vertical direction, and The location coordinates among the current blocks are Represents the predicted value of the luminance component corresponding to the pixel point, The position coordinates among the reference blocks It represents the predicted value of the luminance element corresponding to the pixel point.
[0129] It should also be explained that the prediction model in the embodiment of the present application may be a linear model or a non-linear model. However, the non-linear model may be a non-linear form such as a quadratic curve, or a non-linear form constructed by a plurality of linear models; where, the cross-component prediction technique of the Multiple Model CCLM (MMLM) is a non-linear form constructed by a plurality of linear models. Referring to FIG. 5, an example diagram of the comparative structure of the prediction model provided in the embodiment of the present application is illustrated. In FIG. 5, (a) indicates that the prediction model is a linear model, which is obtained by deriving based on all reference pixel points in the second reference pixel set; (b) indicates that the prediction model is still a linear model, which is obtained by deriving based on the maximum and minimum values in the second reference pixel set; and (c) indicates that the prediction model is a non-linear model, which is an example of a non-linear model constructed by two linear models. It should be specifically noted that while the embodiments of the present application describe an example where the prediction model is a linear model, the image element prediction method of the embodiments of the present application can be likewise applied to a non-linear model.
[0130] It should also be explained that the prediction model in the embodiment of the present application can be used not only for prediction processing of luminance elements but also for prediction processing of chromaticity elements. Furthermore, by implementing updates to the predicted values of image elements to be predicted (e.g., luminance elements or chromaticity elements) through the prediction model, the prediction of image elements can be made more accurate, thereby achieving the objective of improving the prediction accuracy of image elements to be predicted and the prediction efficiency of video images.
[0131] Furthermore, in some embodiments, after calculating the model parameters of the prediction model using the reference pixel subset, the method also,
[0132] A step of constructing the prediction model according to the above model parameters; and
[0133] The method may include a step of performing prediction processing on the image element to be predicted of the current block through the prediction model to obtain a prediction value corresponding to the image element to be predicted.
[0134] It is to be explained that after constructing a prediction model, prediction processing can be performed on the image elements to be predicted according to the prediction model. In one aspect, just as the luminance element of the current block is predicted using the luminance element of the reference block, the first image element of the current block can be predicted using the first image element of the reference block, thereby implementing an update for the predicted luminance element value; in another aspect, just as the blue chromaticity element of the current block is predicted using the blue chromaticity element of the reference block, the second image element of the current block can be predicted using the second image element of the reference block, thereby implementing an update for the predicted blue chromaticity element value; and in yet another aspect, just as the red chromaticity element of the current block is predicted using the red chromaticity element of the reference block, the third image element of the current block can be predicted using the third image element of the reference block, thereby implementing an update for the predicted red chromaticity element value; the embodiments of the present application are not specifically limited thereto.
[0135] The present embodiment provides an image element prediction method by performing the steps of: determining a first reference pixel set of image elements to be predicted in a current block; determining a reference pixel subset from the first reference pixel set, wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set; and calculating model parameters of a prediction model using the reference pixel subset, wherein the prediction model is intended to perform cross-element prediction processing on image elements to be predicted in a current block; thereby performing selection processing on the first reference pixel set, it is possible to remove unimportant reference pixel points or reference pixel points with anomalies, thereby reducing the number of pixels in the first reference pixel set, which not only lowers computational complexity and internal memory bandwidth but also improves the precision of the prediction model; and since the prediction model is intended to implement prediction processing for image elements to be predicted through the model parameters, it improves the prediction accuracy of image elements to be predicted and improves the prediction efficiency of video images.
[0136] Referring to FIG. 6, a flowchart illustrating another image element prediction method provided in an embodiment of the present application is illustrated. As illustrated in FIG. 6, the method may include the following steps.
[0137] In step S601, partial reference pixel points are selected from the first reference pixel set to form a reference pixel subset.
[0138] In step S602, the model parameters of the prediction model are calculated according to the reference pixel subset.
[0139] It needs to be explained that the reference pixel subset is obtained by selecting partial reference pixel points from the first reference pixel set; the model parameters are obtained by calculating based on the reference pixel subset; thereby, since the number of samples in the reference pixel subset is reduced, the number of samples required for the calculated model parameters is also reduced, thereby achieving the objective of reducing computational complexity and internal memory bandwidth (or referred to as memory bandwidth).
[0140] In some embodiments, the step of determining a first reference pixel set of the image elements to be predicted of the current block is,
[0141] The method may include the step of using one or more first adjacent pixels of the current block as the first reference pixel set—wherein the first adjacent pixels are pixels adjacent to the vertical side of the current block, adjacent to the horizontal side of the current block, or adjacent to both the vertical and horizontal sides of the current block.
[0142] Furthermore, in some embodiments, the method also,
[0143] If the first adjacent pixel is located outside the current block, the method may include a step of determining that the vertical side of the current block is the left adjacent column outside the current block and the horizontal side of the current block is the upper adjacent row outside the current block.
[0144] Furthermore, in some embodiments, the method also,
[0145] If the first adjacent pixel is located inside the current block, the method may include a step of determining that the vertical side of the current block is the right side column inside the current block and the horizontal side of the current block is the bottom side row inside the current block.
[0146] It needs to be explained that if the first adjacent pixel is located outside the current block, the vertical side of the current block can be considered as the left side of the current block and the horizontal side of the current block can be considered as the top side of the current block; and if the first adjacent pixel is located inside the current block, the vertical side of the current block can be considered as the right side of the current block and the horizontal side of the current block can be considered as the bottom side of the current block.
[0147] Thus, after obtaining one or more first adjacent pixels of the current block, a first reference pixel set can be constructed. Since the first reference pixel set may contain some insignificant reference pixel points (e.g., the association of these reference pixel points is relatively poor) or some abnormal reference pixel points, a reference pixel subset can be obtained by removing these reference pixel points to ensure the accuracy of model parameter derivation. Accordingly, in some embodiments, the step of determining the reference pixel subset is,
[0148] A step of determining a candidate location of a candidate pixel on the edge of the current block above - the edge of the current block is the vertical or horizontal edge of the current block - ; and
[0149] The method may include the step of selecting a pixel located at the candidate location from the first reference pixel set and configuring the reference pixel subset with the selected pixel.
[0150] Furthermore, the step of determining the candidate location of the above candidate pixel is,
[0151] The method may include a step of determining the candidate location of the candidate pixel according to the location of the pixel among the first reference pixel set.
[0152] Furthermore, the step of determining the candidate location of the above candidate pixel is,
[0153] The method may include a step of determining the candidate location of the candidate pixel according to the image element intensity of the pixel among the first reference pixel set.
[0154] Furthermore, the step of determining the candidate location of the above candidate pixel is,
[0155] The method may include a step of determining the candidate location of the candidate pixel based on the position of the pixel and the image element intensity among the first reference pixel set.
[0156] It should be explained that image element intensity can be represented by image element values such as luminance values, chromaticity values, etc., wherein a larger image element value indicates higher image element intensity. The reference pixel selected in the embodiment of the present application may be selected through the candidate location of the candidate pixel; wherein the candidate location may be determined according to the pixel location or may be determined according to the image element intensity value (e.g., luminance value, chromaticity value, etc.), and the embodiment of the present application is not specifically limited thereto.
[0157] It must also be explained that the reference pixel subset is constructed by performing a screening process on the first reference pixel set and then selecting some reference pixel points; the model parameters are obtained by calculating based on the reference pixel subset; thereby, since the number of samples in the reference pixel subset is reduced, the number of samples required for the calculated model parameters is also reduced, and thus the purpose of reducing computational complexity and internal memory bandwidth (or referred to as memory bandwidth) can be achieved.
[0158] It is understood that some reference pixel points selected in the embodiments of the present application may be selected through a pixel location corresponding to the reference pixel, or may be selected according to an image element intensity value (e.g., luminance value, chromaticity value, etc.) corresponding to the reference pixel, and the embodiments of the present application are not specifically limited thereto. Here, a reference pixel subset is constructed regardless of whether an appropriate reference pixel point is selected by selecting a first reference pixel set through a pixel location corresponding to the reference pixel or through an image element intensity value corresponding to the reference pixel; thereby, the model parameters derived and obtained according to the reference pixel subset are more accurate, and the prediction model constructed according to the model parameters is also made more accurate.
[0159] In some embodiments, the step of determining the candidate location of the candidate pixel is,
[0160] Step of determining a preset number of candidate pixels - the preset number of candidate pixels represents the number of pixels selected from the edges of the current block - ; and
[0161] The method may include a step of determining a candidate location of a candidate pixel according to the first preset number of pixels and the length of the side of the current block, wherein the length of the side of the current block is equal to the number of reference pixels located on the side of the current block among the first reference pixel set.
[0162] It should be explained that the preset number of candidate pixels represents the preset number of pixel points to be sampled, that is, the number of pixels included in the reference pixel subset. Taking pixel locations as an example, after determining the preset number of candidate pixels, candidate locations of candidate pixels can be calculated based on the length of at least one side and the preset number of candidate pixels; and based on the candidate locations, appropriate reference pixel points are selected from the first reference pixel set to form a reference pixel subset. As a result, the model parameters calculated based on the reference pixel subset become more accurate, and the constructed prediction model can also become more accurate, thereby improving the prediction accuracy of the image elements to be predicted and enhancing the prediction efficiency of the video image.
[0163] Furthermore, regarding the determination of candidate locations, a first sampling interval may be calculated first, and then sampling processing may be performed on the at least one side according to the first sampling interval to determine the candidate locations of candidate pixels corresponding to the at least one side. Accordingly, in some embodiments, the step of determining the candidate locations of candidate pixels is,
[0164] The method may include a step of calculating a first sampling interval based on the side length of the current block and the number of preset candidate pixels.
[0165] Furthermore, the step of determining the candidate location of the above candidate pixel is,
[0166] The method may include the step of obtaining a second sampling interval by adjusting the first sampling interval.
[0167] It should be explained that after calculating and obtaining a first sampling interval, the first sampling interval can also be fine-tuned, for example, by performing an operation of adding 1 or subtracting 1 from the first sampling interval to obtain a second sampling interval. For example, if the first sampling interval is 4, the adjusted second sampling interval may be 3 or 5. In the embodiments of the present application, regarding the adjustment of the first sampling interval, a small adjustment (e.g., adding 1 or subtracting 1) may be performed, but the specific setting for the adjustment amount is not specifically limited in the embodiments of the present application.
[0168] In some embodiments, optionally, after calculating the first sampling interval, the method also,
[0169] The method may include the step of determining a reference point on the edge of the current block and, from the reference point, determining a candidate location on the edge of the current block at the first sampling interval.
[0170] Furthermore, after calculating the first sampling interval, the method also,
[0171] The method may include the step of determining a reference point on the edge of the current block and determining candidate locations on both sides of the reference point at the first sampling interval.
[0172] In some embodiments, optionally, after obtaining the second sampling interval, the method also,
[0173] The method may include the step of determining a reference point on the edge of the current block and, from the reference point, determining a candidate location on the edge of the current block at the second sampling interval.
[0174] Furthermore, after obtaining the second sampling interval, the method also,
[0175] The method may include the step of determining a reference point at the edge of the current block and determining candidate locations on both sides of the reference point at the second sampling interval.
[0176] It should be explained that the reference point may be the midpoint of the at least one side, may be the first reference pixel point location to the left of the midpoint of the at least one side, may also be the first reference pixel point location to the right of the midpoint of the at least one side, and may even be another reference pixel point location of the at least one side, and the embodiments of the present application are not specifically limited thereto.
[0177] Specifically, the midpoint of the at least one side may be determined according to the length of the at least one side, and then the midpoint of the at least one side may be used as the reference point. Here, the reference point may be the midpoint of the at least one side, may be the first reference pixel point location to the left of the midpoint of the at least one side, may also be the first reference pixel point location to the right of the midpoint of the at least one side, and may even be another reference pixel point location of the at least one side, and the embodiments of the present application are not specifically limited thereto.
[0178] Furthermore, in some embodiments, after obtaining the second sampling interval, the method also,
[0179] The method may include the step of determining a reference point on the side of the current block, determining a candidate location corresponding to one side of the reference point at the first sampling interval, and determining a candidate location corresponding to the other side of the reference point at the second sampling interval.
[0180] In other words, after determining a reference point of at least one side of the current block, uniform sampling may be performed according to a first sampling interval or a second sampling interval; non-uniform sampling may also be performed according to the first sampling interval and the second sampling interval, and furthermore, candidate positions determined after sampling may be distributed symmetrically on both sides of the reference point or asymmetrically on both sides of the reference point; the embodiments of the present application are not specifically limited thereto.
[0181] Furthermore, regarding the selection process of the first parameter pixel set, a jump point processing can also be performed on at least one side reference pixel point, that is, by jumping on an unimportant reference pixel point or a reference pixel point where an anomalous point exists (which may be considered as a deletion process), a reference pixel subset is obtained; based thereon, that is, after jumping on at least one side partial reference pixel point, a second reference pixel set is obtained, and a selection process is performed on the second reference pixel set to obtain a reference pixel subset. Accordingly, the above method also,
[0182] A step of determining a preset number of jumping pixels (K) of the edge of the current block above - K is a non-negative integer - ; and
[0183] It may include the step of setting the K-th pixel position as the reference point from the end position of the side of the current block;
[0184] Here, the end position of the side of the current block is the start pixel position or the end pixel position of the side of the current block.
[0185] It should be explained that the preset jumping pixel count represents the preset number of pixel points to be deleted or jumped. Additionally, the starting position of at least one side represents the leftmost edge position of the top side of the current block or the topmost edge position of the left side of the current block, and the ending position of at least one side represents the rightmost edge position of the top side of the current block or the bottommost edge position of the left side of the current block.
[0186] It should also be explained that the value of K may be a preset number of reference pixel points such as 1, 2, or 4; and may also be obtained by calculating based on the side length of the current block and a corresponding preset proportion; however, in actual applications, it is still set according to the actual situation, and the embodiments of the present application are not specifically limited thereto. Here, the preset proportion corresponding to the upper side of the current block may be represented as a first preset proportion, and the preset proportion corresponding to the left side of the current block may be represented as a second preset proportion, and the values of the first preset proportion and the second preset proportion may be the same or different, and the embodiments of the present application are not specifically limited thereto.
[0187] After determining a reference pixel subset, it is also easy to construct a prediction model by calculating the model parameters of the prediction model according to the reference pixel subset. Accordingly, in some embodiments, the step of calculating the model parameters of the prediction model using the reference pixel subset is,
[0188] The method may include a step of calculating model parameters of a prediction model using a reference pixel in the reference pixel subset and a pixel located at the same position as the reference pixel in the reference pixel subset in the reference block of the current block;
[0189] Here, the pixel at the same location as the reference pixel among the reference pixel subset is located at the same pixel as the position relative to the reference blocks in the image where the reference block is located, and the position relative to the reference pixel in the second reference pixel set and the current block.
[0190] Furthermore, after calculating the model parameters of the above prediction model, the method also,
[0191] The method may include a step of calculating the predicted value of the image element to be predicted of the current block according to the prediction model and the reference block of the current block.
[0192] It should be explained that the reference block may be an image block represented by the inter-frame prediction parameters of the current block. Thus, after calculating and obtaining model parameters (e.g., a first model parameter (α) and a second model parameter (β)), a prediction model can be constructed, as illustrated in the aforementioned formula (5), for example. Based on the prediction model and the reference block of the current block, the predicted value of the image element to be predicted of the current block can be further calculated.
[0193] Additionally, in an embodiment of the present application, when the image element prediction method is applied to the encoder side, partial pixels are selected from a first reference pixel set of the current block to construct a reference pixel subset, and then model parameters of the prediction model can be calculated according to the reference pixel subset, and the calculated model parameters can be written to a code stream; the code stream is transmitted to the decoder side by the encoder side; correspondingly, when the image element prediction method is applied to the decoder side, the model parameters of the prediction model can be directly obtained by parsing the code stream; or, at the decoder side, partial pixels are selected from a first reference pixel set of the current block to construct a reference pixel subset, and then model parameters of the prediction model can be calculated according to the reference pixel subset, thereby constructing a prediction model and performing cross-element prediction processing for at least one image element of the current block using the prediction model.
[0194] The present embodiment provides an image element prediction method, and a detailed iterative description of the specific implementation of the above-described embodiment has been provided. As can be seen from the technical method of the above-described embodiment, by performing a selection process on a first reference pixel set, unimportant reference pixel points or reference pixel points with anomalies can be removed, thereby reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and internal memory bandwidth but also improves the accuracy of the prediction model; and since the prediction model is intended to perform prediction processing on the image element to be predicted through the model parameters, the prediction accuracy of the image element to be predicted is improved, and the prediction efficiency of the video image is improved.
[0195] Based on the same inventive concept as the previously described embodiment, referring to FIG. 7, an exemplary diagram of the configuration structure of an encoder (70) provided in an embodiment of the present application is illustrated. As shown in FIG. 7, the encoder (70) may include a first determination unit (701) and a first calculation unit (702), wherein,
[0196] The first determination unit (701) is configured to determine a first set of reference pixels of the image elements to be predicted of the current block;
[0197] The first determination unit (701) is also configured to determine a reference pixel subset from the first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set;
[0198] The first calculation unit (702) is configured to calculate model parameters of a prediction model using the reference pixel subset; wherein the prediction model is intended to perform cross-element prediction processing for the image elements to be predicted of the current block.
[0199] In the above method, with reference to FIG. 7, the encoder (70) may also include a first acquisition unit (703) configured to acquire a reference pixel adjacent to at least one side of the current block, in addition to the current block, wherein at least one side of the current block includes at least one of an upper side, a left side, a right upper side, and a left lower side; and, according to the acquired reference pixel, to acquire the first set of reference pixels.
[0200] In the above method, the first acquisition unit (703) is also configured to acquire a reference pixel adjacent to at least one side of the reconstruction block within the reconstruction block—the reconstruction block is an image block adjacent to the current block and has completed encoding reconstruction, and at least one side of the reconstruction block includes a lower side, a right side, or both a lower side and a right side—; and, according to the acquired reference pixel, to acquire the first set of reference pixels.
[0201] In the above method, referring to FIG. 7, the encoder (70) may also include a first selection unit (704), where,
[0202] The first determination unit (701) is also configured to determine candidate locations of candidate pixels based on at least one side of the current block or the reconstruction block;
[0203] The first selection unit (704) is configured to select a reference pixel corresponding to the candidate location from the first reference pixel set and to form the reference pixel subset with the parameter pixel obtained by selection.
[0204] In the above method, the first determination unit (701) is also configured to determine the candidate location based on the pixel location corresponding to the reference pixel adjacent to the at least one side.
[0205] In the above method, the first determination unit (701) is also configured to determine the candidate location based on an image element intensity value corresponding to a reference pixel adjacent to at least one side.
[0206] In the above method, the first determination unit (701) determines the candidate location based on the pixel location and image element intensity value corresponding to the reference pixel adjacent to at least one side.
[0207] In the above method, the first determination unit (701) is also configured to determine a preset number of candidate pixels—the preset number of candidate pixels represents the quantity of pixels sampled from a reference pixel adjacent to the at least one side—; and to determine the candidate location according to the preset number of candidate pixels and the length of the at least one side, wherein the length of the at least one side is equal to the quantity of pixels included in the at least one side.
[0208] In the above method, the first calculation unit (702) is also configured to calculate a first sampling interval according to the preset number of candidate pixels and the length of at least one side;
[0209] The first determination unit (701) is also configured to determine a reference point from the at least one side and to determine the candidate location according to the first sampling interval.
[0210] In the above method, referring to FIG. 7, the encoder (70) may also include a first adjustment unit (705), and the first determination unit (701) is also configured to adjust the first sampling interval to obtain a second sampling interval;
[0211] The first determination unit (701) is also configured to determine the candidate location according to the second sampling interval based on the reference point.
[0212] In the above method, the first determination unit (701) is also configured to determine a candidate location corresponding to one side of the reference point according to the first sampling interval based on the reference point, and to determine a candidate location corresponding to the other side of the reference point according to the second sampling interval.
[0213] In the above method, the first determination unit (701) is also configured to determine a preset number of jumping pixels (K) corresponding to the at least one side, where K is a positive integer greater than or equal to 1; determine a position corresponding to K jumping pixel points starting from at least one of the starting position and ending position of the at least one side; obtain at least one new side by continuously jumping K jumping pixel points starting from at least one of the starting position and ending position of the at least one side based on the position corresponding to the K jumping pixel points; and determine the candidate position based on the at least one new side and the preset number of candidate pixels.
[0214] In the above method, the first selection unit (704) is also configured to obtain, based on the reference pixel subset, adjacent pixel reconstruction values of the image element to be predicted corresponding to the current block and adjacent pixel reconstruction values of the image element to be predicted corresponding to the reference block; wherein the current block is located in the video image of the Nth frame and the reference block is located in the video image of the N-1th frame;
[0215] The first calculation unit (702) is also configured to calculate and obtain the model parameters according to the adjacent pixel reconstruction value of the image element to be predicted corresponding to the current block and the adjacent pixel reconstruction value of the image element to be predicted corresponding to the reference block.
[0216] In the above method, referring to FIG. 7, the encoder (70) may also include a first construction unit (706) and a first prediction unit (707), where,
[0217] The first construction unit (706) is configured to construct the prediction model according to the model parameters;
[0218] The first prediction unit (707) is configured to perform prediction processing on the image element to be predicted of the current block through the prediction model to obtain a prediction value corresponding to the image element to be predicted.
[0219] In the above method, the first decision unit (701) is also configured to use one or more first adjacent pixels of the current block as the first reference pixel set; wherein the first adjacent pixels are pixels adjacent to the vertical side of the current block, adjacent to the horizontal side of the current block, or adjacent to both the vertical and horizontal sides of the current block.
[0220] In the above method, the first determination unit (701) is also configured to determine that if the first adjacent pixel is located outside the current block, the current block vertical side is the left adjacent column outside the current block and the current block horizontal side is the upper adjacent row outside the current block.
[0221] In the above method, the first determination unit (701) is also configured to determine that if the first adjacent pixel is located inside the current block, the current block vertical side is the right side column inside the current block and the current block horizontal side is the bottom side row inside the current block.
[0222] In the above method, the first determination unit (701) is also configured to determine a candidate location of the candidate pixel on the edge of the current block—where the edge of the current block is the vertical or horizontal edge of the current block—; select a pixel located at the candidate location from the first reference pixel set, and configure the reference pixel subset with the selected pixel.
[0223] In the above method, the first determination unit (701) is also configured to determine the candidate location of the candidate pixel according to the location of the pixel among the first reference pixel set.
[0224] In the above method, the first determination unit (701) is also configured to determine the candidate location of the candidate pixel according to the image element intensity of the pixel among the first reference pixel set.
[0225] In the above method, the first determination unit (701) is also configured to determine the candidate location of the candidate pixel according to the position of the pixel and the image element intensity among the first reference pixel set.
[0226] In the above method, the first determination unit (701) also determines a preset number of candidate pixels - the preset number of candidate pixels represents a number of pixels selected from the edge of the current block - ;
[0227] It is configured to determine the candidate location of the candidate pixel according to the first preset number of pixels and the side length of the current block; wherein the side length of the current block is equal to the number of reference pixels located on the side of the current block among the first reference pixel set.
[0228] In the above method, the first calculation unit (702) is also configured to calculate a first sampling interval according to the length of the side of the current block and the number of preset candidate pixels.
[0229] In the above method, the first adjustment unit (705) is configured to adjust the first sampling interval to obtain a second sampling interval.
[0230] In the above method, the first determination unit (701) is also configured to determine a reference point on the edge of the current block and, from the reference point, determine candidate positions on the edge of the current block at the first sampling interval.
[0231] In the above method, the first determination unit (701) is also configured to determine a reference point on the side of the current block and to determine candidate locations on both sides of the reference point at the first sampling interval.
[0232] In the above method, the first determination unit (701) is also configured to determine a reference point on the edge of the current block and, from the reference point, determine candidate positions on the edge of the current block at the second sampling interval.
[0233] In the above method, the first determination unit (701) is also configured to determine a reference point on the side of the current block and to determine candidate locations on both sides of the reference point at the second sampling interval.
[0234] In the above method, the first determination unit (701) is also configured to determine a reference point on the side of the current block, determine a candidate location corresponding to one side of the reference point at the first sampling interval, and determine a candidate location corresponding to the other side of the reference point at the second sampling interval.
[0235] In the above method, the first determination unit (701) is also configured to determine a preset number of jumping pixels (K) of the side of the current block - K is a non-negative integer -; and to set the Kth pixel position from the end position of the side of the current block as the reference point; where the end position of the side of the current block is the start pixel position or the end pixel position of the side of the current block.
[0236] In the above method, the first calculation unit (702) is also configured to calculate the model parameters of a prediction model using a reference pixel in the reference pixel subset and a pixel located at the same position as the reference pixel in the reference pixel subset in the reference block of the current block; wherein the pixel at the same position as the reference pixel in the reference pixel subset is located at the same position relative to the reference blocks in the image where the reference block is located and the same position relative to the reference pixel in the second reference pixel set and the current block.
[0237] In the above method, the first calculation unit (702) is also configured to calculate the predicted value of the image element to be predicted of the current block according to the prediction model and the reference block of the current block.
[0238] In the above method, the reference block is an image block represented by the inter-frame prediction parameter of the current block.
[0239] It can be understood that, in the embodiments of the present application, a “unit” may be a partial circuit, a partial processor, a partial program, or software, and of course may be a module or a non-modular type. Furthermore, each component in the present embodiment may be integrated into a single processing unit, or each unit may exist independently and physically, or two or more units may be integrated into a single unit. The integrated unit may be implemented using a hardware form or may be implemented using a software function module.
[0240] When the integrated unit described above is implemented in the form of a software function module rather than being sold or used as an independent product, it may be stored on a single computer-readable storage medium. Based on this understanding, the technical solution of the present embodiment, whether essentially or in part contributing to existing technology, or all or part of the technical solution, may be implemented in the form of a software product. The computer software product is stored on a single storage medium and includes several instructions that cause a computer device (such as a personal computer, server, or network device) or processor to execute all or part of the steps of the method described in the present embodiment. The aforementioned storage medium includes various media capable of storing program code, such as U disks, mobile disks, Read-Only Memory (ROM), Random Access Memory (RAM), magnetic disks, or optical disks.
[0241] Accordingly, an embodiment of the present application provides a computer storage medium, said computer storage medium has an image element prediction program stored therein, and when said image element prediction program is executed by at least one processor, the steps of the method according to the above embodiment are implemented.
[0242] Based on the configuration of the encoder (70) and the computer storage medium, referring to FIG. 8, a specific hardware structure example of the encoder (70) provided in an embodiment of the present application is illustrated and may include a first communication interface (801), a first memory (802), and a first processor (803); each component is coupled through a first bus system (804). It is understood that the first bus system (804) is intended to implement connection communication between these components. In addition to including a data bus, the first bus system (804) further includes a power bus, a control bus, and a status signal bus. However, for clarity of description, in FIG. 8, all various buses are referred to as the first bus system (804). Here,
[0243] The first communication interface (801) is for receiving and transmitting signals in the process of transmitting and receiving information between other external network elements;
[0244] The first memory (802) is for storing a computer program that can be operated on the first processor (803);
[0245] The first processor (803) is, when the computer program is operated,
[0246] A step of determining a first reference pixel set of image elements to be predicted in the current block;
[0247] A step of determining a reference pixel subset from the first reference pixel set above—the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set—; and
[0248] The step of calculating model parameters of a prediction model using the above reference pixel subset—wherein the prediction model is intended to perform cross-element prediction processing on the image elements to be predicted of the current block—is to be executed.
[0249] It can be understood that the first memory (802) of an embodiment of the present invention may be a volatile memory or a non-volatile memory, or may include both a volatile memory and a non-volatile memory. Here, the non-volatile memory may be a Read-Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), an Electrically Erasable Read-Only Memory (EEPROM), or a flash memory. The volatile memory may be a Random Access Memory (RAM) that serves as an external fast cache. By way of exemplary description rather than limiting, 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 linked dynamic random access memory (Synchlink DRAM, SLDRAM), and direct memory bus random access memory (DRRAM). The first memory (802) of the system and method described in this application includes, but is not limited to, these memories and any other suitable type of memory.
[0250] The first processor (803) may be an integrated circuit chip having the capability to process signals. In the implementation process, each step of the method may be completed by an integrated logic circuit of hardware or a software instruction in the first processor (803). The first processor (803) may be a general-purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. Each method, step, and logic block diagram disclosed in the embodiments of the present application may be implemented or executed. The general-purpose processor may be a microprocessor or any general processor, etc. The steps of the method disclosed by combining the embodiments of the present application may be executed and completed by being directly reflected in a hardware decoding processor, or may be executed and completed by a combination of hardware and software modules in the decoding processor. The software module may be located on a storage medium widely known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, or a register. The storage medium is located in the first memory (802), and the first processor (803) reads the information of the first memory (802) and completes the steps of the method in combination with this hardware.
[0251] It is understandable that the embodiments described in this application may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementations, the processing unit may be implemented among one or more Application Specific Integrated Circuits (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field-Programmable Gate Array (FPGA), general-purpose processor, controller, microcontroller, microprocessor, other electronic units for performing the functions described in this application, or combinations thereof. For software implementations, the technology described in this application may be implemented through modules (e.g., processes, functions, etc.) that execute the functions described in this application. Software code may be stored in memory and executed through a processor. Memory may be implemented in the processor or outside the processor.
[0252] Optionally, as another embodiment, the first processor (803) is also configured to execute a method according to any one of the aforementioned embodiments when operating the computer program.
[0253] The present embodiment provides an encoder, wherein the encoder may include a first determination unit and a first calculation unit, wherein the first determination unit is configured to determine a first reference pixel set of image elements to be predicted in a current block; and further configured to determine a reference pixel subset from the first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set; and the first calculation unit is configured to calculate model parameters of a prediction model using the reference pixel subset; wherein the prediction model is intended to perform cross-element prediction processing on image elements to be predicted in a current block; thereby, by performing selection processing on the first reference pixel set, unimportant reference pixel points or reference pixel points with anomalies can be removed, thereby reducing the number of pixels in the first reference pixel set, which not only lowers computational complexity and internal memory bandwidth but also improves the precision of the prediction model; and since the prediction model is intended to perform prediction processing on the image elements to be predicted through the model parameters, the prediction accuracy of the image elements to be predicted is improved, and the prediction efficiency of the video image is improved.
[0254] Based on the same inventive concept as the previously described embodiment, referring to FIG. 9, an exemplary diagram of the configuration structure of a decoder (90) provided in an embodiment of the present application is illustrated. As shown in FIG. 9, the decoder (90) may include a second determination unit (901) and a second calculation unit (902), wherein,
[0255] The second determination unit (901) is configured to determine a first reference pixel set of image elements to be predicted in the current block;
[0256] The second determination unit (901) is also configured to determine a reference pixel subset from the first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set;
[0257] The second calculation unit (902) is configured to calculate model parameters of a prediction model using the reference pixel subset; wherein the prediction model is intended to perform cross-element prediction processing for the image elements to be predicted of the current block.
[0258] In the above method, referring to FIG. 9, the decoder (90) may also include a second acquisition unit (903) configured to acquire a reference pixel adjacent to at least one side of the current block, in addition to the current block, wherein at least one side of the current block includes at least one of an upper side, a left side, a right upper side, and a left lower side; and, according to the acquired reference pixel, to acquire the first set of reference pixels.
[0259] In the above method, the second acquisition unit (903) is also configured to acquire a reference pixel adjacent to at least one side of the reconstruction block within the reconstruction block—the reconstruction block is an image block adjacent to the current block and has completed encoding reconstruction, and at least one side of the reconstruction block includes a lower side, a right side, or both a lower side and a right side—; and, according to the acquired reference pixel, to acquire the first set of reference pixels.
[0260] In the above method, referring to FIG. 9, the decoder (90) may also include a 2 selection unit (904), where,
[0261] The second decision unit (901) is also configured to determine candidate locations of candidate pixels based on at least one side of the current block or the reconstruction block;
[0262] The second selection unit (904) is configured to select a reference pixel corresponding to the candidate location from the first reference pixel set and to form the reference pixel subset with the parameter pixel obtained by selection.
[0263] In the above method, the second decision unit (901) is also configured to determine the candidate location based on the pixel location corresponding to the reference pixel adjacent to the at least one side.
[0264] In the above method, the second decision unit (901) is also configured to determine the candidate location based on an image element intensity value corresponding to a reference pixel adjacent to the at least one side.
[0265] In the above method, the second determination unit (901) is also configured to determine the candidate location based on the pixel location and image element intensity value corresponding to the reference pixel adjacent to the at least one side.
[0266] In the above method, the second decision unit (901) is also configured to determine a preset number of candidate pixels—wherein the preset number of candidate pixels represents the quantity of pixels sampled from a reference pixel adjacent to the at least one side—; and to determine the candidate location according to the preset number of candidate pixels and the length of the at least one side; wherein the length of the at least one side is equal to the quantity of pixels included in the at least one side.
[0267] In the above method, the second calculation unit (902) is also configured to calculate a first sampling interval according to the preset number of candidate pixels and the length of at least one side;
[0268] The second determination unit (901) is also configured to determine a reference point from the at least one side and to determine the candidate location according to the first sampling interval.
[0269] In the above method, referring to FIG. 9, the decoder (90) may also include a second adjustment unit (905), and the second determination unit (901) is also configured to adjust the first sampling interval to obtain a second sampling interval;
[0270] The second determination unit (901) is also configured to determine the candidate location according to the second sampling interval based on the reference point.
[0271] In the above method, the second determination unit (901) is also configured to determine a candidate location corresponding to one side of the reference point according to the first sampling interval based on the reference point, and to determine a candidate location corresponding to the other side of the reference point according to the second sampling interval.
[0272] In the above method, the second decision unit (901) is also configured to determine a preset number of jumping pixels (K) corresponding to the at least one side, where K is a positive integer greater than or equal to 1; determine a position corresponding to K jumping pixel points starting from at least one of the starting position and ending position of the at least one side; obtain at least one new side by continuously jumping K jumping pixel points starting from at least one of the starting position and ending position of the at least one side based on the position corresponding to the K jumping pixel points; and determine the candidate position based on the at least one new side and the preset number of candidate pixels.
[0273] In the above method, the second selection unit (904) is also configured to obtain, based on the reference pixel subset, adjacent pixel reconstruction values of the image element to be predicted corresponding to the current block and adjacent pixel reconstruction values of the image element to be predicted corresponding to the reference block; wherein the current block is located in the video image of the Nth frame, and the reference block is located in the video image of the N-1th frame;
[0274] The second calculation unit (902) is also configured to calculate and obtain the model parameters according to the adjacent pixel reconstruction value of the image element to be predicted corresponding to the current block and the adjacent pixel reconstruction value of the image element to be predicted corresponding to the reference block.
[0275] In the above method, referring to FIG. 9, the decoder (90) may also include a second construction unit (906) and a second prediction unit (907), where,
[0276] The second construction unit (906) is configured to construct the prediction model according to the model parameters;
[0277] The second prediction unit (907) is configured to perform prediction processing on the image element to be predicted of the current block through the prediction model to obtain a prediction value corresponding to the image element to be predicted.
[0278] In the above method, the second decision unit (901) is also configured to use one or more first adjacent pixels of the current block as the first reference pixel set; wherein the first adjacent pixels are pixels adjacent to the vertical side of the current block, adjacent to the horizontal side of the current block, or adjacent to both the vertical and horizontal sides of the current block.
[0279] In the above method, the second decision unit (901) is also configured to determine that if the first adjacent pixel is located outside the current block, the vertical side of the current block is the left adjacent column outside the current block and the horizontal side of the current block is the upper adjacent row outside the current block.
[0280] In the above method, the second decision unit (901) is also configured to determine that if the first adjacent pixel is located inside the current block, the vertical side of the current block is the right side column inside the current block and the horizontal side of the current block is the bottom side row inside the current block.
[0281] In the above method, the second decision unit (901) is also configured to determine a candidate location of the candidate pixel on the edge of the current block—where the edge of the current block is the vertical or horizontal edge of the current block—; select a pixel located at the candidate location from the first reference pixel set, and configure the reference pixel subset with the selected pixel.
[0282] In the above method, the second decision unit (901) is also configured to determine the candidate position of the candidate pixel according to the position of the pixel among the first reference pixel set.
[0283] In the above method, the second decision unit (901) is also configured to determine the candidate location of the candidate pixel according to the image element intensity of the pixel among the first reference pixel set.
[0284] In the above method, the second decision unit (901) is also configured to determine the candidate location of the candidate pixel according to the position of the pixel and the image element intensity among the first reference pixel set.
[0285] In the above method, the second decision unit (901) is also configured to determine a preset number of candidate pixels - the preset number of candidate pixels represents a number of pixels selected from the edge of the current block - ;
[0286] It is configured to determine the candidate location of the candidate pixel according to the first preset number of pixels and the side length of the current block; wherein the side length of the current block is equal to the number of reference pixels located on the side of the current block among the first reference pixel set.
[0287] In the above method, the second calculation unit (902) is also configured to calculate a first sampling interval according to the length of the side of the current block and the number of preset candidate pixels.
[0288] In the above method, the second adjustment unit (905) is configured to adjust the first sampling interval to obtain a second sampling interval.
[0289] In the above method, the second determination unit (901) is also configured to determine a reference point on the edge of the current block and, from the reference point, determine candidate positions on the edge of the current block at the first sampling interval.
[0290] In the above method, the second determination unit (901) is also configured to determine a reference point on the side of the current block and to determine candidate locations on both sides of the reference point at the first sampling interval.
[0291] In the above method, the second determination unit (901) is also configured to determine a reference point on the edge of the current block and, from the reference point, determine a candidate location on the edge of the current block at the second sampling interval.
[0292] In the above method, the second determination unit (901) is also configured to determine a reference point on the side of the current block and to determine candidate locations on both sides of the reference point at the second sampling interval.
[0293] In the above method, the second determination unit (901) is also configured to determine a reference point on the side of the current block, determine a candidate location corresponding to one side of the reference point at the first sampling interval, and determine a candidate location corresponding to the other side of the reference point at the second sampling interval.
[0294] In the above method, the second determination unit (901) is also configured to determine a preset number of jumping pixels (K) of the side of the current block - K is a non-negative integer -; and to set the Kth pixel position from the end position of the side of the current block as the reference point; where the end position of the side of the current block is the start pixel position or the end pixel position of the side of the current block.
[0295] In the above method, the second calculation unit (902) is also configured to calculate the model parameters of the prediction model using a reference pixel in the reference pixel subset and a pixel located at the same position as the reference pixel in the reference pixel subset in the reference block of the current block; wherein the pixel at the same position as the reference pixel in the reference pixel subset is located at the same position as the reference pixel in the image where the reference block is located, relative to the reference block and relative to the reference pixel in the second reference pixel set and the current block.
[0296] In the above method, the second calculation unit (902) is also configured to calculate the predicted value of the image element to be predicted of the current block according to the prediction model and the reference block of the current block.
[0297] In the above method, the reference block is an image block represented by the inter-frame prediction parameter of the current block.
[0298] It can be understood that, in the present embodiment, the “unit” may be a partial circuit, partial processor, partial program, or software, and of course may be a module or a non-modular type. Furthermore, each component in the present embodiment may be integrated into a single processing unit, or each unit may exist independently and physically, or two or more units may be integrated into a single unit. The integrated unit may be implemented using a hardware form or may be implemented using a software function module.
[0299] If the above-mentioned integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it may be stored on a computer-readable storage medium. Based on this understanding, the present embodiment provides a computer storage medium, said computer storage medium has an image element prediction program stored thereon, and when said image element prediction program is executed by a second processor, a method according to any one of the aforementioned embodiments is implemented.
[0300] Based on the configuration of the decoder (90) and the computer storage medium, referring to FIG. 10, a specific hardware structure of the decoder (90) provided in an embodiment of the present application is illustrated and may include a second communication interface (1001), a second memory (1002), and a second processor (1003); each component is coupled through a second bus system (1004). It is understood that the second bus system (1004) is intended to implement connection communication between these components. In addition to including a data bus, the second bus system (1004) further includes a power bus, a control bus, and a status signal bus. However, for clarity of description, in FIG. 10, all various buses are referred to as the second bus system (1004). Here,
[0301] The second communication interface (1001) is for receiving and transmitting signals in the process of transmitting and receiving information between other external network elements;
[0302] The second memory (1002) is for storing a computer program that can be operated on the second processor (1003);
[0303] When the second processor (1003) operates the computer program,
[0304] A step of determining a first reference pixel set of image elements to be predicted in the current block;
[0305] A step of determining a reference pixel subset from the first reference pixel set above—the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set—; and
[0306] A step of calculating model parameters of a prediction model using the above reference pixel subset—wherein the prediction model is intended to perform cross-element prediction processing on the image elements to be predicted of the current block—is executed.
[0307] Optionally, as another embodiment, the second processor (1003) is also configured to execute a method according to any one of the aforementioned embodiments when operating the computer program.
[0308] It is understandable that the hardware functions of the second memory (1002) and the first memory (802) are similar, and the hardware functions of the second processor (1003) and the first processor (803) are similar; further details are not provided here.
[0309] The present embodiment provides a decoder, wherein the decoder may include a second decision unit and a second calculation unit, wherein the second decision unit is configured to determine a first reference pixel set of image elements to be predicted in the current block; and further configured to determine a reference pixel subset from the first reference pixel set; wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set; and the second calculation unit is configured to calculate model parameters of a prediction model using the reference pixel subset; wherein the prediction model is intended to perform cross-element prediction processing on image elements to be predicted in the current block; thereby, by performing selection processing on the first reference pixel set, unimportant reference pixel points or reference pixel points with anomalies can be removed, thereby not only reducing the number of pixels in the first reference pixel set but also reducing computational complexity and internal memory bandwidth, and further improving the precision of the prediction model; and since the prediction model is intended to perform prediction processing on the image elements to be predicted through the model parameters, the prediction accuracy of the image elements to be predicted is improved, and the prediction efficiency of the video image is improved.
[0310] It must be explained that, in this application, the term “includes” or variations thereof means including a process, method, article, or apparatus of one series of elements by including a non-exclusive inclusion, and also including other elements not explicitly listed, or further including elements unique to such process, method, article, or apparatus. Unless further limitations are given, an element limited by the phrase “includes one” does not exclude other identical elements from the process, method, article, or apparatus in which said element is included.
[0311] The numbers of the embodiments of the above application are for illustrative purposes only and do not indicate superiority or inferiority of the embodiments.
[0312] The methods mentioned in the several method embodiments provided in this application may be arbitrarily combined to obtain new method embodiments, provided there are no conflicts.
[0313] The features mentioned in some of the product embodiments provided in this application may be combined at will to obtain new product embodiments.
[0314] Features mentioned in some method or device embodiments provided in this application may be combined at will to obtain new method embodiments or device embodiments.
[0315] The above description is merely a specific embodiment of the present invention, and the scope of protection of the present invention is not limited thereto. A person skilled in the art to which the present invention pertains will readily understand that all changes or substitutions within the technical scope disclosed in the present invention must fall within the scope of protection of the present application. Accordingly, the scope of protection of the present application must be based on the scope of protection of the claims. Industrial applicability
[0316] In an embodiment of the present application, first, a first reference pixel set of image elements to be predicted in a current block is determined; then, from the first reference pixel set, a reference pixel subset is determined; wherein, the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set; and then, using the reference pixel subset, model parameters of a prediction model are calculated; wherein, the prediction model is intended to perform cross-element prediction processing on the image elements to be predicted in the current block; thereby, by performing selection processing on the first reference pixel set, unimportant reference pixel points or reference pixel points with anomalies can be removed, thereby not only reducing the number of pixels in the first reference pixel set but also reducing computational complexity and internal memory bandwidth, and also improving the precision of the prediction model; and since the prediction model is intended to perform prediction processing on the image elements to be predicted through the model parameters, the prediction accuracy of the image elements to be predicted is improved, and the prediction efficiency of the video image is improved.
Claims
Claim 1 An image element prediction method applied to a decoder, wherein the method comprises: a step of determining a first set of reference pixels for an image element to be predicted in a current block; a step of calculating model parameters of a prediction model using the position of a reference pixel among the first set of reference pixels, wherein the prediction model is for performing prediction processing on the image element to be predicted in the current block; and a step of calculating a predicted value of an image element to be predicted in the current block according to the model parameters of the prediction model and a reference block of the current block; wherein the model parameters are determined based on at least the maximum and minimum values among the luminance element adjacent pixel reconstruction values corresponding to the reference block. Claim 2 delete Claim 3 delete Claim 4 A method for predicting image elements according to claim 1, wherein the step of determining a first reference pixel set of image elements to be predicted of the current block comprises: acquiring a reference pixel adjacent to at least one side of the current block and, according to the acquired reference pixel, acquiring the first reference pixel set; or using one or more first adjacent pixels of the current block as the first reference pixel set. Claim 5 An image element prediction method according to claim 4, characterized in that at least one side of the current block includes at least one of an upper side, a left side, a right upper side, and a left lower side. Claim 6 A method for predicting image elements according to claim 1, wherein the step of determining a first set of reference pixels for an image element to be predicted in the current block comprises: a step of obtaining a reference pixel adjacent to at least one side of the reconstructed block within the reconstructed block, wherein the reconstructed block is an image block adjacent to the current block, and at least one side of the reconstructed block includes a lower side, a right side, or both a lower side and a right side; and a step of obtaining the first set of reference pixels according to the obtained reference pixel. Claim 7 The image element prediction method according to claim 1, wherein the image element prediction method comprises the step of determining a reference pixel subset from the first reference pixel set, wherein the reference pixel subset includes one or a plurality of candidate pixels selected from the first reference pixel set. Claim 8 A decoder comprising a memory and a processor, wherein the memory is for storing a computer program operable on the processor; and wherein the processor is for executing an image element prediction method according to any one of claims 1, 4 to 7 when the computer program is operated. Claim 9 An image element prediction method applied to an encoder, wherein the method comprises: a step of determining a first set of reference pixels for an image element to be predicted in a current block; a step of calculating model parameters of a prediction model using the position of a reference pixel among the first set of reference pixels, wherein the prediction model is for performing prediction processing on the image element to be predicted in the current block; and a step of calculating a predicted value of an image element to be predicted in the current block according to the model parameters of the prediction model and the reference block of the current block; wherein the model parameters are determined based on at least the maximum and minimum values among the reconstruction values of adjacent pixels of luminance elements corresponding to the reference block. Claim 10 delete Claim 11 delete Claim 12 A method for predicting image elements according to claim 9, wherein the step of determining a first reference pixel set of image elements to be predicted of the current block comprises: acquiring a reference pixel adjacent to at least one side of the current block and, according to the acquired reference pixel, acquiring the first reference pixel set; or using one or more first adjacent pixels of the current block as the first reference pixel set. Claim 13 An image element prediction method according to claim 12, characterized in that at least one side of the current block includes at least one of an upper side, a left side, a right upper side, and a left lower side. Claim 14 In claim 9, the step of determining a first set of reference pixels for an image element to be predicted in the current block comprises: a step of obtaining a reference pixel adjacent to at least one side of the reconstructed block within the reconstructed block, wherein the reconstructed block is an image block adjacent to the current block, and at least one side of the reconstructed block includes a lower side, a right side, or both a lower side and a right side; and a method for predicting an image element according to the obtained reference pixel. Claim 15 An encoder comprising a memory and a processor, wherein the memory is for storing a computer program operable on the processor; and wherein the processor is for generating a code stream by executing an image element prediction method according to any one of claims 9, 12 to 14 when the computer program is operated. Claim 16 delete Claim 17 delete Claim 18 delete Claim 19 delete Claim 20 delete Claim 21 delete Claim 22 delete Claim 23 delete Claim 24 delete Claim 25 delete Claim 26 delete Claim 27 delete Claim 28 delete Claim 29 delete Claim 30 delete Claim 31 delete Claim 32 delete Claim 33 delete Claim 34 delete Claim 35 delete Claim 36 delete Claim 37 delete Claim 38 delete
