Image component prediction method, encoder, decoder, and storage medium

By reducing the reference pixel set through a subset selection process, the method addresses high computational complexity and memory bandwidth issues in video image processing, improving prediction accuracy and efficiency.

JP7836362B2Active Publication Date: 2026-03-26GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-07-12
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Existing image processing technologies face high computational complexity and memory bandwidth due to large sample point usage in prediction model construction, leading to inaccurate color correction in video images.

Method used

Reduce the number of pixels in the reference pixel set by selecting a subset of candidate pixels, thereby reducing computational complexity and memory bandwidth, and improving prediction accuracy and efficiency.

Benefits of technology

The method enhances prediction accuracy and efficiency by removing unimportant or abnormal reference pixels, resulting in a more accurate prediction model for video images.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007836362000016
    Figure 0007836362000016
  • Figure 0007836362000017
    Figure 0007836362000017
  • Figure 0007836362000018
    Figure 0007836362000018
Patent Text Reader

Abstract

To provide an image component prediction method, an encoder, a decoder, and a storage medium for improving prediction accuracy of an image component to be predicted and improving prediction efficiency of a video image.SOLUTION: An image component prediction method includes: determining (S101) a first set of reference pixels of an image component to be predicted of a current block; determining (S102) a subset of reference pixels comprising one or more candidate pixels selected from the first set of reference pixels; and calculating (S103), by using the subset of reference pixels, model parameters of a prediction model used for performing inter-component prediction processing on the image component to be predicted of the current block.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of image processing technology, and particularly to an image component prediction method, an encoder, a decoder, and a storage medium.

Background Art

[0002] Since the color information of video images is always affected by factors such as light sources and color deviations of collection devices, the color as a whole moves in a certain direction, which is a common phenomenon such as cooler colors and yellowing of photos. In order to offset such color deviations in the entire video image, currently, illumination compensation (IC) technology or local illumination compensation (LIC) technology has been proposed to perform color correction of video images.

[0003] In both IC technology and LIC technology, it is necessary to use prediction model construction and then derive the predicted values of video images during video encoding and decoding from the constructed prediction model. However, during the construction of the prediction model, the number of sample points currently used for deriving model parameters is large, the computational complexity and memory bandwidth are too high, and at the same time, there may be abnormal sample points among these sample points, resulting in inaccurate construction of the prediction model.

Summary of the Invention

Means for Solving the Problems

[0004] The embodiments of the present application provide an image component prediction method, an encoder, a decoder, and a storage medium, which reduce the number of pixels in the reference pixel set, thereby not only reducing the computational complexity and memory bandwidth, but also increasing the accuracy of the prediction model, thereby increasing the prediction accuracy of the image components to be predicted and improving the prediction efficiency of the video image.

[0005] The technical solutions in the embodiments of the present application may be realized as follows.

[0006] In the first aspect, the image component prediction method according to the embodiment of this application is: The steps include determining a first reference pixel set of image components to be predicted for the current block, A step of determining 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. The method includes the step of calculating model parameters of a prediction model using a reference pixel subset, wherein the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block.

[0007] In a second aspect, the encoder according to the embodiment of the present application comprises a first determination unit and a first calculation unit, The first decision unit is configured to determine a first reference pixel set of image components to be predicted for the current block. The first decision unit is further configured to determine a subset of reference pixels from the first reference pixel set, the subset of reference pixels includes one or more candidate pixels selected from the first reference pixel set. The first computing unit is configured to compute the model parameters of the prediction model using a reference pixel subset and is used by the prediction model to perform inter-component prediction on the image components to be predicted in the current block.

[0008] In a third aspect, the encoder according to the embodiment of the present application comprises a first memory and a first processor, The first memory is configured to store computer programs that can be executed by the first processor. The computer program is configured to execute the method described in the first embodiment.

[0009] In a fourth aspect, the decoder according to the embodiment of the present application comprises a second determination unit and a second calculation unit, The second decision unit is configured to determine a first reference pixel set of image components to be predicted for the current block. The second decision unit is further configured to determine a subset of reference pixels from the first reference pixel set, the subset of reference pixels containing one or more candidate pixels selected from the first reference pixel set. A second computing unit is configured to compute the model parameters of the prediction model using a reference pixel subset and is used by the prediction model to perform inter-component prediction on the image components to be predicted in the current block.

[0010] In a fifth aspect, the decoder according to the embodiment of the present application comprises a second memory and a second processor, The second memory is configured to store computer programs that can be executed by the second processor. The second processor is configured to execute the computer program and perform the method according to the first embodiment.

[0011] In a sixth aspect, the computer-readable storage medium according to the embodiment of the present application stores an image component prediction program, and when the image component prediction program is executed on a first processor or a second processor, the first processor or the second processor is caused to execute the method according to the first aspect. [Effects of the Invention]

[0012] Embodiments of this application provide an image component prediction method, an encoder, a decoder, and a storage medium. A first reference pixel set of image components to be predicted in the current block is determined, a reference pixel subset is determined from the first reference pixel set, the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set, model parameters of a prediction model are calculated using the reference pixel subset, and the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block. In this way, the screening process of the first reference pixel set removes unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model. Since the prediction model is used to perform the prediction processing of the image components to be predicted using the model parameters, the prediction accuracy of the image components to be predicted is improved, and the prediction efficiency of video images is improved. [Brief explanation of the drawing]

[0013] [Figure 1] This is a flowchart of the image component prediction method according to the embodiment of this application. [Figure 2A] This is a schematic diagram of the structure of the reference pixel position according to an embodiment of this application. [Figure 2B] This is a schematic diagram of the structure of another reference pixel position according to an embodiment of this application. [Figure 3] This is a schematic diagram of a structure for selecting an adjacent reference pixel subset on the top edge of the current block according to an embodiment of the present application. [Figure 4] This is a schematic diagram of a structure that selects an adjacent reference pixel subset on the top edge of another current block according to an embodiment of the present application. [Figure 5] This is a schematic diagram illustrating the comparative structure of the prediction model according to the embodiment of this application. [Figure 6] This is a flowchart of another image component prediction method according to an embodiment of this application. [Figure 7]It is a schematic diagram of the configuration structure of an encoder according to an embodiment of the present application. [Figure 8] It is a schematic diagram of the specific hardware structure of an encoder according to an embodiment of the present application. [Figure 9] It is a schematic diagram of the configuration structure of a decoder according to an embodiment of the present application. [Figure 10] It is a schematic diagram of the specific hardware structure of a decoder according to an embodiment of the present application.

Modes for Carrying Out the Invention

[0014] In order to more clearly understand the features and technical content of the embodiments of the present application, the implementation of the embodiments of the present application will be described in detail below in combination with the drawings. The accompanying drawings are only used for reference and explanation and are not used to limit the embodiments of the present application.

[0015] In a video image, generally, a coding block (CB: Coding Block) is characterized using a first image component, a second image component, and a third image component. Here, these three image components are a luminance component, a blue chrominance component, and a red chrominance component, respectively. Specifically, the luminance component is usually represented by the symbol Y, the blue chrominance component is usually represented by the symbol Cb or U, and the red chrominance component is usually represented by the symbol Cr or V. Thus, the video image may be represented in the YCbCr format or the YUV format.

[0016] In the embodiments of the present application, the first image component may be a luminance component, the second image component may be a blue chrominance component, and the third image component may be a red chrominance component. However, it is not specifically limited in the embodiments of the present application.

[0017] Current video image or video encoding and decoding processes require the construction of predictive models not only in inter-component prediction techniques but also in inter-component prediction techniques. Here, inter-component prediction techniques mainly include cross-component linear model prediction (CCLM) mode and multi-directional linear model prediction (MDLM) mode. Predictive models constructed using the CCLM and MDLM modes can achieve predictions between image components, such as from the first image component to the second image component, from the second image component to the first image component, from the first image component to the third image component, from the third image component to the first image component, from the second image component to the third image component, or from the third image component to the second image component. Prediction techniques within image components mainly include chromaticity component compensation techniques and luminance component compensation techniques such as IC techniques and LIC techniques. Prediction models constructed using these image component prediction techniques can realize predictions within image components such as prediction of a first image component by a first image component, prediction of a second image component by a second image component, or prediction of a third image component by a third image component. In the embodiments of this application, the following description will mainly focus on a prediction model constructed using image component prediction techniques.

[0018] To ensure the accuracy of the model parameters used in the prediction model, the reference pixel set configured to derive the model parameters needs to be more accurate. Based on this, embodiments of this application provide an image component prediction method. In this method, a first reference pixel set of image components to be predicted in the current block is determined, a reference pixel subset is determined from the first reference pixel set, the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set, the model parameters of the prediction model are calculated using the reference pixel subset, and the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block. In this way, the screening process of the first reference pixel set removes unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model, further improving the prediction accuracy of the image components to be predicted and improving the prediction efficiency of video images.

[0019] Furthermore, the image component prediction method of the embodiment of this application may be applied not only to a video coding system but also to a video decoding system, or even to both a video coding system and a video decoding system, and is not specifically limited to the embodiment of this application. Also, when the method is applied to a video coding system, "current block" specifically refers to the current coding block in intra prediction, and when the method is applied to a video decoding system, "current block" specifically refers to the current decoding block in intra prediction.

[0020] Each embodiment of this application will be described in detail below in conjunction with the drawings.

[0021] Referring to Figure 1, it shows a flowchart of the image component prediction method according to an embodiment of this application. This method is Step S101 determines a first reference pixel set of image components to be predicted for the current block, Step S102 is a step of 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. Step S103 may include a step of calculating model parameters of a prediction model using the aforementioned reference pixel subset, wherein the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block.

[0022] The video image may be divided into multiple image blocks, and each of the currently encoding-pending image blocks may be called the current block. Here, each of the current blocks may contain a first image component, a second image component, and a third image component, and the current block is the current block in which the first, second, or third image component of the video image is predicted. Here, if the first image component needs to be predicted by the prediction model, the image component to be predicted is the first image component; if the second image component needs to be predicted by the prediction model, the pending image component is the second image component; and if the third image component needs to be predicted by the prediction model, the image component to be predicted is the third image component.

[0023] The first reference pixel set is the reference pixel set corresponding to the prediction model built with the current relevant technical solutions. This first reference pixel set may contain some unimportant reference pixels (e.g., those with low correlation) or some anomalous reference pixels. To ensure the accuracy of the prediction model, these reference pixels must be removed, thereby obtaining a reference pixel subset. Based on this subset, the accuracy of the prediction model can be ensured, which in turn improves the prediction efficiency of the image components to be predicted.

[0024] In the embodiments of this application, first, a first reference pixel set of image components to be predicted in the current block is determined, then a reference pixel subset is determined from the first reference pixel set, the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set, the model parameters of the prediction model are calculated using the reference pixel subset, and the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block. In this way, the screening process of the first reference pixel set removes unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model, further improving the prediction accuracy of the image components to be predicted and improving the prediction efficiency of video images.

[0025] Furthermore, the determination of the first reference pixel set may be based on adjacent reference pixels around the current block, or on adjacent reference pixels within the reconstructed block, and is not specifically limited to the embodiments of this application, but is described below.

[0026] In some embodiments, S101 determines a first reference pixel set of image components to be predicted for the current block, A step of obtaining a reference pixel outside the current block that is adjacent to at least one edge of the current block, wherein the at least one edge of the current block includes at least one of the top edge, left edge, upper right edge, and lower left edge. The procedure may include the step of obtaining the first set of reference pixels based on the acquired reference pixels.

[0027] For illustrative purposes, referring to Figure 2A, it shows a schematic diagram of the structure of a reference pixel position according to an embodiment of the present application. In Figure 2A, the reference pixel is located around the current block, i.e., a reference pixel adjacent to at least one side of the current block, and at least one side of the current block may refer to the left side of the current block, the top side of the current block, or even both the left and top sides of the current block, and is not specifically limited to the embodiment of the present application.

[0028] If at least one side of the current block is the left side and / or top side, S101 determines a first reference pixel set of image components to be predicted for the current block. A step of obtaining a reference pixel adjacent to at least one side of the current block, wherein the at least one side includes the left side and / or the top side of the current block; It is understandable that the procedure may include the step of obtaining the first set of reference pixels based on the acquired reference pixels.

[0029] Furthermore, at least one side of the current block may include the left side and / or the top side of the current block; that is, at least one side of the current block may point to the top side, the left side, and even both the top and left sides of the current block, and is not specifically limited to the embodiments of this application.

[0030] Thus, if the left adjacent region and the upper adjacent region are all valid regions, the first reference pixel set may consist of reference pixels adjacent to the left edge of the current block and reference pixels adjacent to the top edge of the current block; if the left adjacent region is a valid region but the upper adjacent region is an invalid region, the first reference pixel set may consist of reference pixels adjacent to the left side of the current block; and if the left adjacent region is an invalid region but the upper adjacent region is a valid region, the first reference pixel set may consist of reference pixels adjacent to the top edge of the current block.

[0031] If at least one side of the current block is an adjacent column consisting of the left side and the lower left side, and / or an adjacent row consisting of the top side and the upper right side, then S101 determines a first reference pixel set of the image components to be predicted for the current block. A step of obtaining a reference pixel in a reference row or reference column adjacent to the current block, wherein the reference row consists of rows adjacent to the top and upper right edges of the current block, and the reference column consists of columns adjacent to the left and lower left edges of the current block. It is understandable that the procedure may include the step of obtaining the first set of reference pixels based on the acquired reference pixels.

[0032] Furthermore, a reference row adjacent to the current block may consist of rows adjacent to the top and upper right edges of the current block, and a reference column adjacent to the current block may consist of columns adjacent to the left and lower left edges of the current block. A reference row or column adjacent to the current block can refer to a reference row adjacent to the top edge of the current block, a reference column adjacent to the left edge of the current block, or a reference row or column adjacent to any other edge of the current block, and is not specifically limited to the embodiments of this application. For the sake of clarity, in the embodiments of this application, a reference row adjacent to the current block is described using a reference row adjacent to the top edge as an example, and a reference column adjacent to the current block is described using a reference column adjacent to the left edge as an example.

[0033] Here, a reference pixel in a reference row adjacent to the current block may include reference pixels adjacent to the top and upper right edges (also called adjacent reference pixels corresponding to the top and upper right edges), where the top edge represents the top edge of the current block, and the upper right edge represents a side length equal to the height of the current block when the top edge of the current block is extended horizontally to the right; and a reference pixel in a reference column adjacent to the current block may further include reference pixels adjacent to the left and lower left edges (also called adjacent reference pixels corresponding to the left and lower left edges), where the left edge represents the left edge of the current block, and the lower left edge represents a side length equal to the width of the current decoded block when the left edge of the current block is extended vertically downward, but is not specifically limited in the embodiments of this application.

[0034] Thus, if the left adjacent region and the lower left adjacent region are valid regions, the first reference pixel set may consist of reference pixels in the reference column adjacent to the current block, and if the upper adjacent region and the upper right adjacent region are valid regions, the first reference pixel set may consist of reference points in the reference row adjacent to the current block.

[0035] In some embodiments, S101 determines a first reference pixel set of image components to be predicted for the current block, Steps include obtaining a reference pixel adjacent to at least one edge of a reconstruction block, wherein the reconstruction block is adjacent to the current block and is an image block that has been encoded and reconstructed, and at least one edge of the reconstruction block includes the bottom edge, the right edge, or the bottom edge and the right edge; The procedure may include the step of obtaining the first set of reference pixels based on the acquired reference pixels.

[0036] For illustrative purposes, referring to Figure 2B, it shows a schematic diagram of the structure of a reference pixel position according to an embodiment of the present application. In Figure 2B, the reference pixel is located inside the reconstruction block, i.e., it is a reference pixel adjacent to at least one side of the reconstruction block, and at least one side of the reconstruction block may point to the right side of the reconstruction block, the bottom side of the reconstruction block, or even both the right and bottom sides of the reconstruction block, and is not specifically limited to the embodiment of the present application.

[0037] Furthermore, from the perspective of constructing a prediction model, the reference pixels may also be called "pixels used to construct a prediction model." The current block is already in the encoding and reconstruction stage, and once a prediction model is constructed at this time, that prediction model can be easily used for other encoded blocks in the image thereafter. In the case of a reconstructed block, a first set of reference pixels can be obtained using adjacent reference pixels within the reconstructed block, which is convenient for subsequent construction of the prediction model for the current block. On the other hand, the prediction model corresponding to the reconstructed block can be directly borrowed and used as the current prediction model. In other words, for the currently encoded block, the relevant information of the reconstructed block in the adjacent region can be used by directly utilizing the corresponding prediction model, and there is no need to reconstruct the prediction model with reference pixels adjacent to the reconstructed block.

[0038] Furthermore, after the first reference pixel set is obtained, it may contain some unimportant reference pixels (e.g., those with low correlation) or some anomalous reference pixels. To ensure the accuracy of the model parameter derivation, these reference pixels must be removed, thereby obtaining a reference pixel subset. In this way, the accuracy of the prediction model can be ensured based on the reference pixel subset, thereby increasing the prediction efficiency of awaiting image components.

[0039] In some embodiments, S102 determines a reference pixel subset based on the first reference pixel set, The steps include determining a candidate position for a candidate pixel based on at least one edge of the current block or the reconstructed block, The process may include the steps of selecting a reference pixel corresponding to the candidate position from the first reference pixel set and forming the reference pixel subset using the selected reference pixel.

[0040] Furthermore, the step of determining candidate positions for candidate pixels based on at least one edge of the current block or the reconstructed block is: The step of determining the candidate position is to determine the candidate position based on the pixel position corresponding to a reference pixel adjacent to at least one of the edges.

[0041] Furthermore, the step of determining candidate positions for candidate pixels based on at least one edge of the current block or the reconstructed block is: The step of determining the candidate position is to determine the candidate position based on the image component intensity value corresponding to a reference pixel adjacent to at least one of the edges.

[0042] Furthermore, the step of determining a candidate position for a candidate pixel based on at least one edge of the current block or the reconstructed block is: The step of determining the candidate position is to determine the candidate position based on the pixel position and image component intensity value corresponding to a reference pixel adjacent to at least one of the edges.

[0043] The image component intensity may also be expressed in terms of image component values ​​such as luminance value and chromaticity value, where a larger image component value indicates a higher image component intensity. In the embodiments of this application, the selected reference pixel may be selected by the candidate position of the candidate pixel, where the candidate position may be determined based on the pixel position or based on the image component intensity value (luminance value, chromaticity value, etc.), and is not specifically limited to the embodiments of this application.

[0044] The reference pixel subset is constructed by filtering the first reference pixel set and then selecting some of the reference pixels. Model parameters are calculated based on the reference pixel subset. In this way, the number of samples in the reference pixel subset is reduced, and the number of samples required to calculate the model parameters is also reduced, thus achieving the goal of reducing computational complexity and memory bandwidth (or memory device bandwidth).

[0045] In the embodiments of this application, some of the selected reference pixels may be selected by the pixel position corresponding to the reference pixel, or based on the image component intensity value (luminance value, chromaticity value, etc.) corresponding to the reference pixel, and it should be understood that the embodiments of this application are not specifically limited. Here, a first set of reference pixels is screened based on either the pixel position corresponding to the reference pixel or the image component intensity value corresponding to the reference pixel to select appropriate reference points, and a subset of reference pixels is further constructed, thereby making the model parameters derived based on the subset of reference pixels more accurate, Therefore, the predictive model built based on those model parameters can also become more accurate.

[0046] In some embodiments, the step of determining candidate positions for candidate pixels based on at least one edge of the current block or the reconstructed block is: A step of determining a predetermined number of candidate pixels, wherein the predetermined number of candidate pixels represents the number of pixels sampled from a reference pixel adjacent to at least one side. The method may include a step of determining the candidate position based on the preset number of candidate pixels and the length of at least one side, wherein the length of the at least one side is equal to the number of pixels included in the at least one side.

[0047] Furthermore, the relevant information for the reconstructed block may be used by directly utilizing the corresponding prediction model without constructing a prediction model using reference pixels adjacent to the reconstructed block. Therefore, in the embodiments of this application, we will mainly explain how to determine the candidate positions of candidate pixels using at least one edge of the current block as an example.

[0048] The pre-set number of pixels represents the number of pixels awaiting sampling, i.e., the number of pixels included in the reference pixel subset. Taking pixel position as an example, after the pre-set number of candidate pixels is determined, the candidate position of the candidate pixel can be calculated based on the length of at least one side and the pre-set number of candidate pixels. Then, based on the candidate position, an appropriate reference pixel can be selected from the first reference pixel set to constitute the reference pixel subset. In this way, the model parameters calculated based on the reference pixel subset are more accurate, resulting in a more accurate prediction model, higher prediction accuracy for the image components to be predicted, and improved prediction efficiency for video images.

[0049] Furthermore, regarding the determination of candidate positions, a first sampling interval can be calculated, and then a sampling process can be performed on at least one edge based on the first sampling interval to determine the candidate position of the candidate pixel corresponding to that at least one edge. Therefore, in some embodiments, the step of determining the candidate position of a candidate pixel based on at least one edge of the current block or the reconstructed block is: A step of calculating a first sampling interval based on the predetermined number of candidate pixels and the length of at least one side, The step may include determining a reference point from at least one of the sides and determining the candidate positions according to the first sampling interval.

[0050] The reference point may be the midpoint of at least one side, the first reference pixel position to the left of the midpoint of at least one side, the first reference pixel position to the right of the midpoint of at least one side, or any other reference pixel position on the at least one side, and is not specifically limited to the embodiments of this application.

[0051] Specifically, the midpoint of the at least one side can be determined based on the length of the at least one side, and then the midpoint of the at least one side can be used as the reference point. Here, the reference point may be the midpoint of the at least one side, the first reference pixel position to the left of the midpoint of the at least one side, the first reference pixel position to the right of the midpoint of the at least one side, or any other reference pixel position on the at least one side, and is not specifically limited to the embodiments of this application.

[0052] Furthermore, considering that the importance of a reference pixel adjacent to at least one edge of the current block is related to its corresponding position, it is necessary to select as many reference pixels as possible that are in the middle of the edge and remove less important points (e.g., reference pixels on both sides of the edge) so that the reference pixels in a subset of reference pixels can represent the characteristics of the entire adjacent edge. In the embodiments of this application, taking the top edge of the current block as an example, the first reference pixel position to the right or left of the middle position can be used as the reference point of that edge, and taking the left edge of the current block as an example, the first reference pixel position to the bottom or top of the middle position can be used as the reference point of that edge.

[0053] Alternatively, before the reference point is determined, a predetermined number of reference pixels corresponding to the end position of one edge of the current block can be removed, or an initial offset can be performed on the edge according to a predetermined offset amount from the end position, a new edge can be obtained using the offset reference pixel position as the starting point, and then the intermediate position corresponding to the new edge can be used as the reference point. In turn, a predetermined number of reference pixels corresponding to the starting position of one edge of the current block can be removed, or an initial offset can be performed on the edge according to a predetermined offset amount from the starting position, a new edge can be obtained using the offset reference pixel position as the starting point, and then the intermediate position corresponding to the new edge can be used as the reference point.

[0054] In practical applications, since the length of the left or top edge of the current block is an integer multiple of 2, the midpoint of the left or top edge of the current block is always midway between two points. In the example in Figure 3, the first pixel to the left of the midpoint is used as the midpoint of the edge, but as shown in Figure 4, in the embodiments of this application, the first pixel to the right of the midpoint can also be used as the midpoint of the edge. In Figure 3, the first pixel to the left of the midpoint (e.g., 3 in Figure 3) is used as the midpoint of the edge, but if the number of preset samples is 2, it can be determined that the waiting reference pixel positions (example of gray dots in Figure 3) are 1 and 5, and based on these reference pixel positions, the corresponding reference pixels can be selected to form a reference pixel subset. Therefore, in the embodiments of this application, on the top edge of the current block, the first pixel to the right of the midpoint can be used as the midpoint of the edge, or the first pixel to the left of the midpoint can be used as the midpoint of the edge, and the embodiments of this application are not specifically limited. Similarly, on the left edge of the current block, the first pixel below the midpoint can be used as the midpoint of the edge, or the first pixel above the midpoint can be used as the midpoint of the edge, and the embodiments of this application are not specifically limited.

[0055] Unless otherwise specified, the following description uses the top edge of the current block as an example. However, the image component prediction method in the embodiments of this application is similarly applicable to the left edge of the current block, and even to the right edge or bottom edge of the reconstructed block, and is not specifically limited to the embodiments of this application.

[0056] If the existence of reference pixels adjacent to the left or top edge of the current block is not considered, it can be understood that a second set of reference pixels can be constructed according to equations (1) and (2).

number

number

[0057] JPEG0007836362000004.jpg85150

[0058] Based on a preset number of candidate pixels and the length of one side of the current block, a first sampling interval corresponding to that side can be calculated. Furthermore, if the length of either the left or top side of the current block is an integer multiple of 2, then the midpoint of either the left or top side of the current block lies between two points, in which case the calculated midpoint value is a non-integer, and the calculated reference pixel position is also a non-integer. However, if the length of either the left or top side of the current block is not an integer multiple of 2, then the midpoint of either the left or top side of the current block does not lie between two points, in which case the calculated midpoint value is an integer, and the calculated reference pixel position is also an integer. In other words, the calculated midpoint value may be an integer or a non-integer, and accordingly, the calculated reference pixel position may also be an integer or a non-integer, and is not specifically limited to the embodiments of this application.

[0059] Thus, when the calculated intermediate point value is an integer, the calculated reference pixel position is also an integer, and in this case, the calculated reference pixel position can be used directly as a candidate position. When the calculated intermediate point value is not an integer, the calculated reference pixel position is also not an integer, and in this case, the candidate position can be determined by rounding up or rounding down.

[0060] Furthermore, in several embodiments, after the first sampling interval is calculated, the method is performed as follows: The steps include adjusting the first sampling interval to obtain a second sampling interval, The method may further include the step of determining the candidate position according to the second sampling interval based on the reference point.

[0061] Furthermore, after the first sampling interval is calculated, the first sampling interval can be fine-tuned, for example, by adding or subtracting 1 from the first sampling interval, thereby obtaining the 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 this application, small adjustments (for example, adding or subtracting 1) can be made to adjust the first sampling interval, but the specific setting of the adjustment range is not specifically limited in the embodiments of this application.

[0062] Furthermore, in several embodiments, after a second sampling interval is obtained, the method is The method may further include the steps of determining a candidate position corresponding to one side of the reference point according to a first sampling interval, and determining a candidate position corresponding to the other side of the reference point according to a second sampling interval, based on the reference point.

[0063] In other words, after a reference point on at least one side of the current block is determined, uniform sampling can be performed according to a first sampling interval or a second sampling interval, or non-uniform sampling can be performed according to both the first and second sampling intervals, and the candidate positions determined after sampling can be distributed symmetrically on both sides of the reference point, or asymmetrically on both sides of the reference point, and are not specifically limited to the embodiments of this application.

[0064] Furthermore, since the reference pixels in the first reference pixel set that are highly relevant to the image component to be predicted for the current block are reference pixels located midway along at least one edge, a set number of consecutive reference pixel locations near the midway position can be used as awaited reference pixel locations, and this method may be called a solution for continuously acquiring points from the midway position. Specifically, assuming that the reference pixel locations one row / one column adjacent to the top or left edge of the current block are numbered from 0, the number of adjacent reference pixels in the reference pixel subset configured in this embodiment and the corresponding awaited reference pixel locations are shown in Table 1. In this case, a set of reference pixels can be constructed using a set number of consecutive reference pixel locations near the midway position as candidate locations.

[0065] [Table 1] Furthermore, in the screening process of the first reference pixel set, a skipping process can be performed on reference pixels on at least one edge, i.e., unimportant or abnormal reference pixels can be skipped (which can also be considered a deletion process), and a subset of reference pixels can be obtained. Based on this, a second reference pixel set can be obtained after some reference pixels on at least one edge have been skipped, and a filtering process can be performed on the second reference pixel set to obtain a subset of reference pixels. Therefore, in some embodiments, the step of determining candidate positions of candidate pixels based on at least one edge of the current block or the reconstructed block is: A step of determining a predetermined number of skip pixels K corresponding to at least one of the edges, wherein K is a positive integer of 1 or more. The steps include determining the positions corresponding to K pixels to be skipped from the start position and / or end position of at least one side, A step of obtaining at least one new edge by sequentially skipping K pixels to be skipped from the start position and / or end position of at least one edge, based on the positions corresponding to the K pixels to be skipped. The step of determining the candidate position based on the at least one new edge and the number of preset candidate pixels may be included.

[0066] The pre-set number of skip pixels represents the number of pixels that are awaiting deletion or should be skipped. Additionally, the start position of at least one edge represents the leftmost position of the top edge of the current block or the topmost position of the left edge of the current block, and the end position of at least one edge represents the rightmost position of the top edge of the current block or the bottommost position of the left edge of the current block.

[0067] The value of K may be a preset reference number of pixels such as 1, 2, or 4, or it may be calculated based on the side length of the current block and the corresponding preset ratio, but in actual application it is still set according to the actual situation and is not specifically limited to the embodiments of this application. Here, the preset ratio corresponding to the top side of the current block may be represented by a first preset ratio, and the preset ratio corresponding to the left side of the current block may be represented by a second preset ratio, and the values ​​of the first preset ratio and the second preset ratio may be the same or different, and are not specifically limited to the embodiments of this application.

[0068] Thus, assuming we start from the starting position of at least one edge, if at least one edge is the top edge of the current block (which may also be called the reference row of the current block), we can determine the positions corresponding to K pixels to be skipped from the leftmost position of at least one edge; if at least one edge is the left edge of the current block (which may also be called the reference column of the current block), we can determine the positions corresponding to K pixels to be skipped from the topmost position of at least one edge; assuming we start from the end position of at least one edge, if at least one edge is the top edge of the current block, we can determine the positions corresponding to K pixels to be skipped from the rightmost position of at least one edge; if at least one edge is the left edge of the current block, we can determine the positions corresponding to K pixels to be skipped from the bottommost position of at least one edge; in actual applications, this will be set according to the actual situation and is not specifically limited to the embodiments of this application.

[0069] After determining the positions corresponding to K pixels to be skipped, assuming we start from the beginning of at least one edge, if at least one edge is the top edge of the current block, we can determine the positions corresponding to K pixels to be skipped that are consecutive to the right from the leftmost position of that top edge, then skip these K pixels sequentially to obtain a new top edge, at which point we can determine candidate positions corresponding to the new top edge based on the length of the new top edge and a preset number of candidate pixels, and use the selected candidate pixels to form a base pixel subset. If at least one edge is the left edge of the current block, we can determine the positions corresponding to K pixels to be skipped that are consecutive to the bottom from the topmost position of that left edge, then skip these K pixels sequentially to obtain a new left edge, at which point we can determine candidate positions corresponding to the new left edge based on the length of the new left edge and a preset number of candidate pixels, and use the selected candidate pixels to form a base pixel subset. Alternatively, assuming we start from the end position of at least one edge, if at least one edge is the top edge of the current block, we can determine the positions corresponding to K pixels to be skipped that are consecutive to the left from the rightmost position of that top edge, then skip these K pixels in sequence to obtain a new top edge, at which point we can determine candidate positions corresponding to that new top edge based on the length of the new top edge and a preset number of candidate pixels, and use the selected candidate pixels to form a base pixel subset. If at least one edge is the left edge of the current block, we can determine the positions corresponding to K pixels to be skipped that are consecutive to the top from the bottommost position of that left edge, then skip these K pixels in sequence to obtain a new left edge, at which point we can determine candidate positions corresponding to that new left edge based on the length of the new left edge and a preset number of candidate pixels, and use the selected candidate pixels to form a base pixel subset.

[0070] Thus, in the embodiments of this application, model parameters corresponding to a complex model (e.g., a nonlinear model or a multi-model) are derived using a subset of pixels in a first set of reference pixels acquired at reference pixels adjacent to the current block (i.e., a reference pixel subset). Since unimportant or anomalous reference pixels are removed from the acquired subset (i.e., the reference pixel subset), the number of reference pixels is reduced, thus reducing computational complexity and memory bandwidth, as well as improving the accuracy of the complex model. This achieves the objective of improving the prediction accuracy of awaiting image components and the prediction efficiency of video images.

[0071] Furthermore, after the reference pixel subset is determined, the model parameters of the prediction model can be calculated based on the reference pixel subset to facilitate the construction of the prediction model. Therefore, in some embodiments, step S103, which calculates the model parameters of the prediction model using the reference pixel subset, A step of obtaining, based on the aforementioned reference pixel subset, the adjacent pixel reconstruction value of the image component to be predicted corresponding to the current block and the adjacent pixel reconstruction value of the image component 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-1)th frame, The method may include the step of calculating model parameters based on the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the current block and the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the reference block.

[0072] Note that the reference block and the current block are not located in the same frame, and they belong to an inter relationship. Here, the reference block and the current block are located in different frames of the video image, and the frame in which the reference block is located is the frame before the frame in which the current block is located. That is, the current block is in the video image of the Nth frame, and the reference block is in the video image of the (N-1)th frame. Furthermore, there are motion vectors (MV) between the position of the current block in the video image of the Nth frame and the position of the current block in the video image of the (N-1)th frame.

[0073] JPEG0007836362000006.jpg51150

[0074] JPEG0007836362000007.jpg58150

[0075]

number

[0076] JPEG0007836362000010.jpg51150

number

[0077] JPEG0007836362000012.jpg67150

[0078] JPEG0007836362000013.jpg43150

number

[0079] JPEG0007836362000015.jpg50151

[0080] The prediction model in the embodiment of this application may be a linear model or a nonlinear model. The nonlinear model may be a nonlinear form such as a quadratic curve, or a nonlinear form composed of multiple linear models. Here, the component-to-component prediction technique of Multi-Model CCLM (MMLM) is a nonlinear form composed of multiple linear models. Referring to Figure 5, it shows a schematic diagram of the comparative structure of the prediction model according to the embodiment of this application. In Figure 5, (a) shows that the prediction model is a linear model, which is derived from all reference pixels in the second reference pixel set; (b) shows that the prediction model is still a linear model, which is derived from the maximum and minimum values ​​in the second reference pixel set; and (c) shows that the prediction model is a nonlinear model, which is an example of a nonlinear model composed of two linear models. In particular, the embodiment of this application explains the case where the prediction model is a linear model as an example, but the image component prediction method of the embodiment of this application may be similarly applied to a nonlinear model.

[0081] Furthermore, the prediction model in the embodiment of this application may be used not only for predicting the luminance component but also for predicting the chromaticity component. In addition, since the prediction model enables updating of the predicted values ​​of the image components to be predicted (such as the luminance component or the chromaticity component), the prediction of image components becomes more accurate, and the objective of improving the prediction accuracy of the image components to be predicted and the prediction efficiency of video images can be achieved.

[0082] Furthermore, in some embodiments, after the step of calculating the model parameters of the prediction model using the reference pixel subset, the method further: The steps include constructing the prediction model based on the aforementioned model parameters, The prediction model may further include the step of performing a prediction process on the image component to be predicted for the current block and obtaining a predicted value corresponding to the image component to be predicted.

[0083] Furthermore, after a prediction model is constructed, prediction processing can be performed on the image components to be predicted based on the prediction model. For example, the first image component of the current block can be predicted using the first image component of a reference block, and the luminance component of the current block can be predicted using the luminance component of the reference block to update the predicted value of the luminance component. Alternatively, the second image component of the current block can be predicted using the second image component of the reference block, and the blue chromaticity component of the current block can be predicted using the blue chromaticity component of the reference block to update the predicted value of the blue chromaticity component. Alternatively, the third image component of the current block can be predicted using the third image component of the reference block, and the red chromaticity component of the current block can be predicted using the red chromaticity component of the reference block to update the predicted value of the red chromaticity component. The embodiments of this application are not specifically limited.

[0084] This embodiment provides an image component prediction method. A first reference pixel set of image components to be predicted for the current block is determined, and a reference pixel subset is determined from the first reference pixel set, where the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set. Model parameters of a prediction model are calculated using the reference pixel subset, where the prediction model is used to perform inter-component prediction processing for the image components to be predicted for the current block. In this way, the screening process of the first reference pixel set removes unimportant or abnormal reference pixels, thus reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model. Since the prediction model is used to perform the prediction processing of the image components to be predicted using the model parameters, the prediction accuracy of the image components to be predicted is improved, and the prediction efficiency of video images is improved.

[0085] Referring to Figure 6, it shows a flowchart of another image component prediction method according to an embodiment of the present application. As shown in Figure 6, the method is Step S601 involves selecting a portion of the reference pixels from the first reference pixel set to constitute a reference pixel subset, The step S602 may include calculating the model parameters of the prediction model based on the aforementioned reference pixel subset.

[0086] Furthermore, the reference pixel subset is obtained by selecting some reference pixels from the first reference pixel set, and the model parameters are calculated based on the reference pixel subset. In this way, the number of samples in the reference pixel subset is reduced, and the number of samples required to calculate the model parameters is also reduced, thus achieving the goal of reducing computational complexity and memory bandwidth (or memory device bandwidth).

[0087] In some embodiments, the step of determining a first reference pixel set of image components to be predicted for the current block is: A step of determining one or more first adjacent pixels of the current block as the first reference pixel set, the first adjacent pixels being pixels adjacent to the vertical side of the current block, the horizontal side of the current block, or the vertical and horizontal sides of the current block may include this step.

[0088] Furthermore, in some uses, the method is If the first adjacent pixel is outside the current block, the process may further include 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.

[0089] Furthermore, in some uses, the method is If the first adjacent pixel is within the current block, the step may further include determining that the vertical side of the current block is the right-side adjacent column within the current block, and the horizontal side of the current block is the bottom-side row within the current block.

[0090] Furthermore, if the first adjacent pixel is outside the current block, the vertical edge of the current block may be considered the left edge of the current block, and the horizontal edge of the current block may be considered the top edge of the current block. If the first adjacent pixel is within the current block, the vertical edge of the current block may be considered the right edge of the current block, and the horizontal edge of the current block may be considered the bottom edge of the current block.

[0091] Thus, after obtaining one or more first adjacent pixels of the current block, a first reference pixel set can be constructed. Since this first reference pixel set may contain some unimportant reference pixels (e.g., those with low correlation) or some anomalous reference pixels, it is necessary to remove these reference pixels to ensure the accuracy of the model parameter derivation, thereby obtaining a reference pixel subset. Therefore, in some embodiments, the step of determining the reference pixel subset is: A step of determining the candidate position of the candidate pixel on the edge of the current block, wherein the edge of the current block is the vertical edge or horizontal edge of the current block. The process may include the steps of selecting pixels at the candidate positions from the first set of reference pixels and using the selected pixels to form the subset of reference pixels.

[0092] Furthermore, the step of determining the candidate position of the candidate pixel is: The process may include the step of determining candidate positions for the candidate pixels based on the positions of pixels in the first reference pixel set.

[0093] Furthermore, the step of determining the candidate position of the candidate pixel is: The step may include determining candidate positions for the candidate pixels based on the image component intensity of the pixels in the first reference pixel set.

[0094] Furthermore, the step of determining the candidate position of the candidate pixel is: The step may include determining candidate positions for candidate pixels based on the position of pixels in the first reference pixel set and the image component intensity.

[0095] The image component intensity may also be expressed in terms of image component values ​​such as luminance value and chromaticity value, where a larger image component value indicates a higher image component intensity. In the embodiments of this application, the selected reference pixel may be selected by the candidate position of the candidate pixel, where the candidate position may be determined based on the pixel position or based on the image component intensity value (luminance value, chromaticity value, etc.), and is not specifically limited to the embodiments of this application.

[0096] The reference pixel subset is constructed by filtering the first reference pixel set and then selecting some of the reference pixels. Model parameters are calculated based on the reference pixel subset. In this way, the number of samples in the reference pixel subset is reduced, and the number of samples required to calculate the model parameters is also reduced, thus achieving the goal of reducing computational complexity and memory bandwidth (or memory device bandwidth).

[0097] In the embodiments of this application, some of the selected reference pixels may be selected based on the pixel position corresponding to the reference pixel, or based on the image component intensity value (luminance value, chromaticity value, etc.) corresponding to the reference pixel, and are not specifically limited in the embodiments of this application. Here, a first set of reference pixels is screened based on either the pixel position corresponding to the reference pixel or the image component intensity value corresponding to the reference pixel to select appropriate reference points, and a subset of reference pixels is further constructed, thereby making the model parameters derived based on the subset of reference pixels more accurate, and thus the predictive model constructed based on those model parameters more accurate.

[0098] In some embodiments, the step of determining the candidate position of the candidate pixel is: A step of determining a predetermined number of candidate pixels, wherein the predetermined number of candidate pixels represents the number of pixels obtained from the edge of the current block, The method may include a step of determining a candidate position for a candidate pixel based on a 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 on the side of the current block in the first reference pixel set.

[0099] The pre-set number of pixels represents the number of pixels awaiting sampling, i.e., the number of pixels included in the reference pixel subset. Taking pixel position as an example, after the pre-set number of candidate pixels is determined, the candidate position of the candidate pixel can be calculated based on the length of at least one side and the pre-set number of candidate pixels. Then, based on the candidate position, an appropriate reference pixel can be selected from the first reference pixel set to constitute the reference pixel subset. In this way, the model parameters calculated based on the reference pixel subset are more accurate, so the constructed prediction model can also be more accurate, further improving the prediction accuracy of the image components to be predicted and enhancing the prediction efficiency of video images.

[0100] Furthermore, regarding the determination of candidate positions, first a first sampling interval is calculated, and then a sampling process is performed on at least one edge based on the first sampling interval to determine the candidate position of the candidate pixel corresponding to that at least one edge. Therefore, in some embodiments, the step of determining the candidate position of the candidate pixel is: The procedure may include the step of calculating a first sampling interval based on the side length of the current block and the number of pre-set candidate pixels.

[0101] Furthermore, the step of determining the candidate position of the candidate pixel is: The process may include the step of adjusting the first sampling interval to obtain a second sampling interval.

[0102] Furthermore, after the first sampling interval is calculated, the first sampling interval can be fine-tuned, for example, by adding or subtracting 1 from the first sampling interval, thereby obtaining the 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 this application, small adjustments (for example, adding or subtracting 1) can be made to adjust the first sampling interval, but the specific setting of the adjustment range is not specifically limited in the embodiments of this application.

[0103] In some embodiments, the method optionally involves a step of calculating a first sampling interval, The process may further include determining a reference point on the edge of the current block, and determining candidate positions on the edge of the current block from the reference point according to the first sampling interval.

[0104] Furthermore, after the step of calculating the first sampling interval, the method, The process may further include determining a reference point on the edge of the current block and determining candidate positions on both sides of the reference point according to the first sampling interval.

[0105] In some embodiments, after the step of obtaining a second sampling interval, the method optionally proceeds as follows: The process may further include determining a reference point on the edge of the current block, and determining candidate positions on the edge of the current block from the reference point according to the second sampling interval.

[0106] Furthermore, after the step of obtaining a second sampling interval, the method, The process may further include determining a reference point on the edge of the current block and determining candidate positions on both sides of the reference point according to the second sampling interval.

[0107] The reference point may be the midpoint of at least one side, the first reference pixel position to the left of the midpoint of at least one side, the first reference pixel position to the right of the midpoint of at least one side, or any other reference pixel position on the at least one side, and is not specifically limited to the embodiments of this application.

[0108] Specifically, the midpoint of the at least one side can be determined based on the length of the at least one side, and then the midpoint of the at least one side can be used as the reference point. Here, the reference point may be the midpoint of the at least one side, the first reference pixel position to the left of the at least one midpoint, the first reference pixel position to the right of the midpoint of the at least one side, or any other reference pixel position on the at least one side, and is not specifically limited to the embodiments of this application.

[0109] Furthermore, in some embodiments, after the step of obtaining a second sampling interval, the method, The process may further include determining a reference point on the edge of the current block, determining a candidate position corresponding to one side of the reference point according to the first sampling interval, and determining a candidate position corresponding to the other side of the reference point according to the second sampling interval.

[0110] In other words, after a reference point on at least one side of the current block is determined, uniform sampling can be performed according to a first sampling interval or a second sampling interval, or non-uniform sampling can be performed according to both the first and second sampling intervals, and the candidate positions determined after sampling can be distributed symmetrically on both sides of the reference point, or asymmetrically on both sides of the reference point, and are not specifically limited to the embodiments of this application.

[0111] Furthermore, in the selection process of the first reference pixel set, a skipping process is performed on reference pixels of at least one edge, that is, unimportant or abnormal reference pixels are skipped (this can also be considered a deletion process) to obtain a subset of reference pixels. Based on this, a second reference pixel set is obtained after a portion of the reference pixels of at least one edge have been skipped, and a filtering process is performed on the second reference pixel set to obtain a subset of reference pixels. Therefore, this method is A step of determining a predetermined number of skip pixels K for the edge of the current block, wherein K is a non-negative integer; The step may further include setting the K-th pixel position from the edge position of the current block as the reference point. Here, the end position of the edge of the current block is the start pixel position or end pixel position of the edge of the current block.

[0112] The pre-set number of skip pixels represents the number of pixels that are awaiting deletion or should be skipped. Additionally, the start position of at least one edge represents the leftmost position of the top edge of the current block or the topmost position of the left edge of the current block, and the end position of at least one edge represents the rightmost position of the top edge of the current block or the bottommost position of the left edge of the current block.

[0113] The value of K may be a preset reference number of pixels such as 1, 2, or 4, or it may be calculated based on the side length of the current block and the corresponding preset ratio, but in actual application it is still set according to the actual situation and is not specifically limited to the embodiments of this application. Here, the preset ratio corresponding to the top side of the current block may be expressed by a first preset ratio, and the preset ratio corresponding to the left side of the current block may be expressed by a second preset ratio, and the values ​​of the first preset ratio and the second preset ratio may be the same or different, and are not specifically limited to the embodiments of this application.

[0114] After a reference pixel subset is determined, the model parameters of the prediction model can be calculated based on this reference pixel subset to facilitate the construction of the prediction model. Therefore, in some embodiments, the step of calculating the model parameters of the prediction model using the reference pixel subset is: The step may include calculating the model parameters of the prediction model using the reference pixels in the reference pixel subset and the pixels of the reference block in the current block that are in the same position as the reference pixels in the reference pixel set. Here, a pixel in the same position as a reference pixel in the reference pixel subset is a pixel in the image where the reference block is located whose relative position to the reference block is the same as the relative position between the reference pixel in the second reference pixel set and the current block.

[0115] Furthermore, after the step of calculating the model parameters of the prediction model, the method The step may further include calculating predicted values ​​for the image components to be predicted for the current block, based on the prediction model and the reference block of the current block.

[0116] The reference block may be the image block shown in the interprediction parameters of the current block. After calculating the model parameters (e.g., the first model parameter and the second model parameter), a prediction model can be constructed as shown in equation (5) above. Based on this prediction model and the reference block of the current block, the predicted values ​​of the image components to be predicted for the current block can be calculated.

[0117] Furthermore, in the embodiments of this application, when the image component prediction method is applied to the encoder side, some pixels can be selected from a first reference pixel set of the current block to form a reference pixel subset, then model parameters of the prediction model can be calculated based on the reference pixel subset, and the calculated model parameters can be written to a code stream, which is transmitted from the encoder side to the decoder side. Accordingly, when the image component prediction method is applied to the decoder side, the model parameters of the prediction model can be directly obtained by analyzing the code stream, or on the decoder side, some pixels can be selected from a first reference pixel set of the current block to form a reference pixel subset, then model parameters of the prediction model can be calculated based on the reference pixel subset, a prediction model can be constructed thereby, and an inter-component prediction process can be performed on at least one image component of the current block using the prediction model.

[0118] This embodiment provides an image component prediction method. The specific implementation of the above embodiment has been described in detail. As can be seen from the technical solution of the above embodiment, the screening process of the first reference pixel set can remove unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model. Since the prediction model is used to perform the prediction process of the image components to be predicted using the model parameters, the prediction accuracy of the image components to be predicted is improved, and the prediction efficiency of video images is improved.

[0119] Based on the same inventive concept as the embodiments described above, refer to Figure 7, which shows a schematic diagram of the configuration of an encoder 70 according to an embodiment of the present application. As shown in Figure 7, the encoder 70 may comprise a first determination unit 701 and a first calculation unit 702, where the first determination unit 701 is configured to determine a first reference pixel set of image components to be predicted for the current block. The first decision unit 701 is further configured to determine a subset of reference pixels from the first reference pixel set, the subset of reference pixels includes one or more candidate pixels selected from the first reference pixel set, The first computing unit 702 is configured to calculate model parameters of a prediction model using the reference pixel subset, and is used to perform inter-component prediction processing on the image components to be predicted for the current block.

[0120] In the above solution, referring to Figure 7, the encoder 70 may further comprise a first acquisition unit 703 configured to acquire a reference pixel outside the current block, adjacent to at least one side of the current block, where at least one side of the current block includes at least one of the top, left, upper right, and lower left sides, and to acquire the first set of reference pixels based on the acquired reference pixel.

[0121] In the above solution, the first acquisition unit 703 is configured to acquire a reference pixel adjacent to at least one side of the reconstruction block within the reconstruction block, where the reconstruction block is an image block adjacent to the current block and has been encoded and reconstructed, and at least one side of the reconstruction block includes the bottom edge, the right edge, or the bottom and right edges, and to acquire the first set of reference pixels based on the acquired reference pixel.

[0122] In the above solution, referring to Figure 7, the encoder 70 may further comprise a first selection unit 70, where The first determination unit 701 is further configured to determine candidate positions of candidate pixels based on at least one edge of the current block or the reconstructed block, and the first acquisition unit 704 is configured to select a reference pixel corresponding to the candidate position from the first reference pixel set and to use the selected reference pixel to form the reference pixel subset.

[0123] In the above solution, the first decision unit 701 is further configured to determine the candidate position based on the pixel position corresponding to a reference pixel adjacent to at least one side.

[0124] In the above solution, the first decision unit 701 is further configured to determine the candidate position based on the image component intensity value corresponding to a reference pixel adjacent to at least one side.

[0125] In the above solution, the first determination unit 701 is further configured to determine the candidate position based on the pixel position and image component intensity value corresponding to a reference pixel adjacent to at least one side.

[0126] In the above solution, the first decision unit 701 is configured to further determine a preset number of candidate pixels, the preset number of candidate pixels representing the number of pixels sampled from reference pixels adjacent to the at least one side, and to determine the candidate position based on the preset number of candidate pixels and the length of the at least one side, the length of the at least one side being equal to the number of pixels contained in the at least one side.

[0127] In the above solution, the first calculation unit 702 is further configured to calculate a first sampling interval based on the preset number of candidate pixels and the length of at least one side. The first determination unit 701 is further configured to determine one reference point from at least one side and to determine the candidate position according to the first sampling interval.

[0128] In the above solution, referring to Figure 7, the encoder 70 may further include a first adjustment unit 705 configured to adjust the first sampling interval to obtain a second sampling interval. The first determination unit 701 is further configured to determine the candidate position according to the second sampling interval based on the reference point.

[0129] In the above solution, the first decision unit 701 is further configured to determine a candidate position corresponding to one side of the reference point according to the first sampling interval, and to determine a candidate position corresponding to the other side of the reference point according to the second sampling interval, based on the reference point.

[0130] In the above solution, the first decision unit 701 is configured to further determine a preset number of skip pixels K corresponding to the at least one edge, where K is an integer of 1 or more, and to determine positions corresponding to K pixels to be skipped from the start position and / or end position of the at least one edge, to skip K pixels to be skipped sequentially from the start position and / or end position of the at least one edge based on the positions corresponding to the K pixels to be skipped, to obtain a new edge, and to determine the candidate position based on the at least one new edge and the preset number of candidate pixels.

[0131] In the above solution, the first acquisition unit 704 is further configured to acquire, based on the reference pixel subset, the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the current block and the adjacent pixel reconstruction values ​​of the image component 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-1)th frame. The first computing unit 702 is further configured to calculate model parameters based on the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the current block and the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the reference block.

[0132] In the above solution, referring to Figure 7, the encoder 70 may further comprise a first construction unit 706 and a first prediction unit 707. The first construction unit 706 is configured to construct the prediction model based on the model parameters, The first prediction unit 707 is configured to perform prediction processing on the image component to be predicted in the current block using the prediction model, and to obtain a predicted value corresponding to the image component to be predicted.

[0133] In the above solution, the first determination unit 701 is further configured to determine 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, the horizontal side of the current block, or the vertical and horizontal sides of the current block.

[0134] In the above solution, the first determination unit 701 is further configured to determine that, if the first adjacent pixel is 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.

[0135] In the above solution, the first determination unit 701 is further configured to determine, if the first adjacent pixel is within the current block, that the vertical side of the current block is the right-hand side row within the current block and the horizontal side of the current block is the bottom-hand side row within the current block.

[0136] In the above solution, the first decision unit 701 is configured to further determine candidate positions for the candidate pixels on the edges of the current block, to select a pixel at the candidate position from the first reference pixel set if the edge of the current block is a vertical or horizontal edge of the current block, and to use the selected pixel to form the reference pixel subset.

[0137] In the above solution, the first decision unit 701 is further configured to determine candidate positions of candidate pixels based on the positions of pixels in the first reference pixel set.

[0138] In the above solution, the first decision unit 701 is further configured to determine the candidate position of the candidate pixel based on the image component intensity of the pixels in the first reference pixel set.

[0139] In the above solution, the first decision unit 701 is further configured to determine candidate positions of candidate pixels based on the pixel positions and image component in the first reference pixel set.

[0140] In the above solution, the first decision unit 701 further determines a preset number of candidate pixels, and the preset number of candidate pixels indicates the number of pixels selected from the edges of the current block. The system is configured to determine candidate positions for candidate pixels based on a 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 on the side of the current block in the first reference pixel set.

[0141] In the above solution, the first calculation unit 702 is further configured to calculate a first sampling interval based on the side length of the current block and the number of preset candidate pixels.

[0142] In the above solution, the first adjustment unit 705 is configured to adjust the first sampling interval to obtain a second sampling interval.

[0143] In the above solution, the first decision unit 701 is configured to further determine a reference point on the edge of the current block and to determine candidate positions on the edge of the current block from the reference point according to the first sampling interval.

[0144] In the above solution, the first decision unit 701 is further configured to determine a reference point on the edge of the current block and to determine candidate positions on both sides of the reference point according to the first sampling interval.

[0145] In the above solution, the first decision unit 701 is configured to further determine a reference point on the edge of the current block and to determine candidate positions on the edge of the current block from the reference point according to the second sampling interval.

[0146] In the above solution, the first decision unit 701 is further configured to determine a reference point on the edge of the current block and to determine candidate positions on both sides of the reference point according to the second sampling interval.

[0147] In the above solution, the first determination unit 701 is configured to further determine a reference point on the edge of the current block, determine a candidate position corresponding to one side of the reference point according to the first sampling interval, and determine a candidate position corresponding to the other side of the reference point according to the second sampling interval.

[0148] In the above solution, the first determination unit 701 further determines a preset number of skip pixels K for the edge of the current block, wherein K is a non-negative integer and the K-th pixel position from the end position of the edge of the current block is set as the reference point, and the end position of the edge of the current block is the start pixel position or end pixel position of the edge of the current block.

[0149] In the above solution, the first computing unit 702 is further configured to compute the model parameters of the prediction model using the reference pixels in the reference pixel subset and the reference block pixels of the current block that are in the same position as the reference pixels of the reference pixel set, wherein the pixels in the reference pixel subset that are in the same position as the reference pixels are pixels in the image where the reference block is located whose relative position to the reference block is the same as the relative position between the reference pixels of the second reference pixel set and the current block.

[0150] In the above solution, the first computing unit 702 is further configured to calculate predicted values ​​for the image components to be predicted for the current block, based on the prediction model and the reference block of the current block.

[0151] In the above solution, the reference block is the image block indicated by the interpretation parameter of the current block.

[0152] In the embodiments of this application, it can be understood that a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, and may, of course, be a module or not modular. Furthermore, each component in these embodiments may be integrated into a single processing unit, and individual units may exist physically independently, or two or more units may be integrated into a single unit. The integrated unit may be implemented in hardware form or in the form of a software function module.

[0153] When the integrated unit is implemented in the form of a software function module and sold or used as an independent product, it may be stored on a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment can be essentially embodied in the form of a software product, or a portion contributing to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored on a storage medium and includes several instructions for causing a computer device (such as a personal computer, server, or network device) or processor to perform all or part of the steps of the method described in this embodiment. The storage medium includes various media capable of storing program code, such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0154] Accordingly, embodiments of this application provide a computer-readable storage medium. The computer-readable storage medium stores an image component prediction program, and when the image component prediction program is executed on the at least one processor, the processor performs the steps of the method described in the above embodiments.

[0155] Based on the configuration of the encoder 70 described above and the computer-readable storage medium, refer to Figure 8, which shows the specific hardware structure of the encoder 70 according to the embodiment of this application. The encoder 701 may comprise a first communication interface 801, a first memory 802, and a first processor 803, each component being coupled via a first bus system 804. It can be understood that the first bus system 804 is configured to enable connection communication between these components. In addition to the data bus, the first bus system 804 includes a power bus, a control bus, and a status signal bus. However, for clarity of explanation, in Figure 8, various bus systems are marked as the first bus system 804. Here, The first communication interface 801 is configured to receive and transmit signals in the process of sending and receiving information with other external network elements. The first memory 802 is configured to store a computer program that can be executed by the first processor 803. The first processor 803 executes the computer program, The steps include determining a first reference pixel set of image components to be predicted for the current block, A step of 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. The system is configured to perform the steps of: calculating model parameters of a prediction model using the aforementioned reference pixel subset, wherein the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block.

[0156] It can be understood that the first memory 802 in the embodiments of this application 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 storage device may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile storage device may be a random access memory (RAM) that functions as an external cache memory. By an exemplary and non-restrictive description, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct Rambus random access memory (DR RAM). The first memory 802 of the systems and methods described in this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0157] The first processor 803 may be an integrated circuit chip having signal processing capabilities. In the implementation process, each step of the above method may be completed by instructions in the form of hardware integrated logic circuits or software within 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 this application can be implemented or executed. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of this application may be implemented and completed by a hardware decoding processor, or directly implemented and completed by a combination of hardware and software modules in the decoding processor. The software module may reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, or registers. The storage medium is located in the first memory 802, and the first processor 803 reads information from the first memory 802 and, in combination with its hardware, completes the steps of the method described above.

[0158] It is understood that these embodiments described in this application may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented in hardware, the processing unit may be one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or a combination thereof. When implemented in software, the technology described in this application can be implemented by modules (e.g., processes, functions, etc.) for performing the functions described in this application. The software code may be stored in memory and executed by the processor. The memory may be implemented internally or externally to the processor.

[0159] Optionally, in another embodiment, the first process 803 is configured to further execute the computer program to perform the method described in any one of the above embodiments.

[0160] This embodiment provides an encoder, which may comprise a first decision unit and a first calculation unit, the first decision unit configured to determine a first set of reference pixels for the image components to be predicted in the current block, and to determine a subset of reference pixels from the first set of reference pixels, the subset of reference pixels including one or more candidate pixels selected from the first set of reference pixels, and the first calculation unit configured to calculate model parameters of a prediction model using the subset of reference pixels, where the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block, and in this way, the screening process of the first set of reference pixels removes unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first set of reference pixels, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model, and since the prediction model is used to perform the prediction processing of the image components to be predicted by the model parameters, the prediction accuracy of the image components to be predicted is improved and the prediction efficiency of video images is improved.

[0161] Based on the same inventive concept as the above embodiment, refer to Figure 9, which shows a schematic diagram of the configuration structure of the decoder 90 according to the embodiment of this application. As shown in Figure 9, the decoder 90 may include a second determination unit 901 and a second calculation unit 902. The second decision unit 901 is configured to determine a first reference pixel set of image components to be predicted for the current block, The second decision unit 901 is further configured to determine a subset of reference pixels from the first reference pixel set, the subset of reference pixels including one or more candidate pixels selected from the first reference pixel set. The second computing unit 902 is configured to calculate model parameters of the prediction model using the reference pixel subset and is used by the prediction model to perform inter-component prediction processing on the image components to be predicted in the current block.

[0162] In the above solution, referring to Figure 9, the decoder 90 may further comprise a second acquisition unit 903 configured to acquire a reference pixel outside the current block, adjacent to at least one edge of the current block, where at least one edge of the current block includes at least one of the top edge, left edge, upper right edge, and lower left edge, and to acquire the first set of reference pixels based on the acquired reference pixel.

[0163] In the above solution, the second acquisition unit 903 is configured to acquire a reference pixel adjacent to at least one side of a reconstruction block, where the reconstruction block is an image block adjacent to the current block and has been encoded and reconstructed, and at least one side of the reconstruction block includes the bottom edge, the right edge, or the bottom and right edges, and to acquire the first set of reference pixels based on the acquired reference pixel.

[0164] In the above solution, referring to Figure 9, the decoder 90 may further comprise a second selection unit 904. The second determination unit 901 is further configured to determine candidate positions of candidate pixels based on at least one edge of the current block or the reconstructed block, and the second acquisition unit 904 is configured to select a reference pixel corresponding to the candidate position from the first reference pixel set and to use the selected reference pixel to form the reference pixel subset.

[0165] In the above solution, the second decision unit 901 is further configured to determine the candidate position based on the pixel position corresponding to a reference pixel adjacent to at least one side.

[0166] In the above solution, the second decision unit 901 is further configured to determine the candidate position based on the image component intensity value corresponding to a reference pixel adjacent to at least one side.

[0167] In the above solution, the second decision unit 901 is further configured to determine the candidate position based on the pixel position and image component intensity value corresponding to a reference pixel adjacent to at least one side.

[0168] In the above solution, the second decision unit 901 is configured to further determine a preset number of candidate pixels, the preset number of candidate pixels representing the number of pixels sampled from reference pixels adjacent to the at least one side, and to determine the candidate position based on the preset number of candidate pixels and the length of the at least one side, the length of the at least one side being equal to the number of pixels contained in the at least one side.

[0169] In the above solution, the second computing unit 902 is further configured to calculate a first sampling interval based on the preset number of candidate pixels and the length of at least one side. The second determination unit 901 is further configured to determine one reference point from at least one side and to determine the candidate position according to the first sampling interval.

[0170] In the above solution, referring to Figure 9, the decoder 90 may further include a second adjustment unit 905 configured to adjust the first sampling interval to obtain a second sampling interval. The second decision unit 901 is further configured to determine the candidate position based on the reference point and according to the second sampling interval.

[0171] In the above solution, the second decision unit 901 is further configured to determine a candidate position corresponding to one side of the reference point according to the first sampling interval, and to determine a candidate position corresponding to the other side of the reference point according to the second sampling interval, based on the reference point.

[0172] In the above solution, the second decision unit 901 is configured to further determine a preset number of skip pixels K corresponding to the at least one edge, where K is an integer of 1 or more, and to determine the positions corresponding to K pixels to be skipped from the start position and / or end position of the at least one edge, to skip K pixels to be skipped sequentially from the start position and / or end position of the at least one edge based on the positions corresponding to the K pixels to be skipped, to obtain a new edge, and to determine the candidate position based on the at least one new edge and the preset number of candidate pixels.

[0173] In the above solution, the second acquisition unit 904 is further configured to acquire, based on the reference pixel subset, the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the current block and the adjacent pixel reconstruction values ​​of the image component 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-1)th frame. The second computing unit 902 is further configured to calculate model parameters based on the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the current block and the adjacent pixel reconstruction values ​​of the image component to be predicted corresponding to the reference block.

[0174] In the above solution, referring to Figure 9, the decoder 90 may further comprise a second construction unit 906 and a second prediction unit 907. The second construction unit 906 is configured to construct the prediction model based on the model parameters, The second prediction unit 907 is configured to perform prediction processing on the image component to be predicted in the current block using the prediction model, and to obtain a predicted value corresponding to the image component to be predicted.

[0175] In the above solution, the second determination unit 901 is further configured to determine 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, the horizontal side of the current block, or the vertical and horizontal sides of the current block.

[0176] In the above solution, the second determination unit 901 is further configured to determine that, if the first adjacent pixel is 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.

[0177] In the above solution, the second determination unit 901 is further configured to determine, if the first adjacent pixel is within the current block, that the vertical side of the current block is the right-hand side row within the current block and the horizontal side of the current block is the bottom-hand side row within the current block.

[0178] In the above solution, the second decision unit 901 is configured to further determine candidate positions for the candidate pixels on the edges of the current block, to select a pixel at the candidate position from the first reference pixel set if the edge of the current block is a vertical or horizontal edge of the current block, and to use the selected pixel to form the reference pixel subset.

[0179] In the above solution, the second decision unit 901 is further configured to determine candidate positions of candidate pixels based on the positions of pixels in the first reference pixel set.

[0180] In the above solution, the second decision unit 901 is further configured to determine the candidate position of the candidate pixel based on the image component intensity of the pixels in the first reference pixel set.

[0181] In the above solution, the second decision unit 901 is further configured to determine candidate positions of candidate pixels based on the position of pixels in the first reference pixel set and the image component intensity.

[0182] In the above solution, the second decision unit 901 further determines a preset number of candidate pixels, and the preset number of candidate pixels indicates the number of pixels selected from the edges of the current block. The system is configured to determine candidate positions for candidate pixels based on a 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 on the side of the current block in the first reference pixel set.

[0183] In the above solution, the second computing unit 902 is further configured to calculate a first sampling interval based on the side length of the current block and the number of preset candidate pixels.

[0184] In the above solution, the second adjustment unit 905 is configured to adjust the first sampling interval to obtain a second sampling interval.

[0185] In the above solution, the second decision unit 901 is configured to further determine a reference point on the edge of the current block and to determine candidate positions on the edge of the current block from the reference point according to the first sampling interval.

[0186] In the above solution, the second decision unit 901 is further configured to determine a reference point on the edge of the current block and to determine candidate positions on both sides of the reference point according to the first sampling interval.

[0187] In the above solution, the second decision unit 901 is configured to further determine a reference point on the edge of the current block and to determine candidate positions on the edge of the current block from the reference point according to the second sampling interval.

[0188] In the above solution, the second decision unit 901 is configured to further determine a reference point on the edge of the current block and to determine candidate positions on both sides of the reference point according to the second sampling interval.

[0189] In the above solution, the second decision unit 901 is configured to further determine a reference point on the edge of the current block, determine a candidate position corresponding to one side of the reference point according to the first sampling interval, and determine a candidate position corresponding to the other side of the reference point according to the second sampling interval.

[0190] In the above solution, the second decision unit 901 further determines a preset number of skip pixels K for the edge of the current block, wherein K is a non-negative integer and the K-th pixel position from the end position of the edge of the current block is set as the reference point, and the end position of the edge of the current block is the start pixel position or end pixel position of the edge of the current block.

[0191] In the above solution, the second computing unit 902 is further configured to compute the model parameters of the prediction model using the reference pixels in the reference pixel subset and the reference block pixels of the current block that are in the same position as the reference pixels in the reference pixel set, wherein the pixels in the reference pixel subset that are in the same position as the reference pixels are pixels in the image where the reference block is located whose relative position to the reference block is the same as the relative position between the reference pixels in the second reference pixel set and the current block.

[0192] In the above solution, the second computing unit 902 is further configured to calculate predicted values ​​for the image components to be predicted for the current block, based on the prediction model and the reference block of the current block.

[0193] In the above solution, the reference block is the image block indicated by the interpretation parameter of the current block.

[0194] In this embodiment, it can be understood that a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, and may, of course, be a module or not modular. Furthermore, each component in this embodiment may be integrated into a single processing unit, and individual units may exist physically independently, or two or more units may be integrated into a single unit. The integrated unit may be implemented in hardware form or in the form of a software function module.

[0195] The integrated unit may be implemented in the form of a software function module and, when sold or used as an independent product, may be stored in a single computer-readable storage medium. Based on this understanding, this embodiment provides a computer-readable storage medium which stores an image component prediction program, and when the image component prediction program is executed on a second processor, the second processor is caused to execute the method described in any one of the above embodiments.

[0196] Based on the configuration of the decoder 90 and the computer-readable storage medium described above, refer to Figure 10, which shows the specific hardware structure of the decoder 90 according to the embodiment of this application. The decoder 90 may include a second communication interface 1001, a second memory 1002, and a second processor 1003, each component being coupled via a second bus system 1004. It can be understood that the second bus system 1004 is configured to enable connection communication between these components. In addition to the data bus, the second bus system 1004 includes a power bus, a control bus, and a status signal bus. However, for clarity of explanation, in Figure 10, various bus systems are marked as the second bus system 1004. Here, The second communication interface 1001 is configured to receive and transmit signals in the process of sending and receiving information with other external network elements. The second memory 1002 is configured to store a computer program that can be executed by the second processor 1003. The second processor 1003 executes the computer program, The steps include determining a first reference pixel set of image components to be predicted for the current block, A step of 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. The system is configured to perform the steps of: calculating model parameters of a prediction model using the aforementioned reference pixel subset, wherein the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block.

[0197] Optionally, in another embodiment, a second process 1003 is configured to further execute the computer program to perform the method described in any one of the above embodiments.

[0198] Since 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, a detailed explanation is omitted here.

[0199] This embodiment provides a decoder. The decoder may comprise a second decision unit and a second calculation unit, the second decision unit being configured to determine a first set of reference pixels of the image components to be predicted for the current block, and to determine a subset of reference pixels from the first set of reference pixels, the subset of reference pixels including one or more candidate pixels selected from the first set of reference pixels, and the second calculation unit being configured to calculate model parameters of a prediction model using the subset of reference pixels, where the prediction model is used to perform inter-component prediction processing for the image components to be predicted for the current block, and in this way, the screening process of the first set of reference pixels can remove unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first set of reference pixels, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model, and since the prediction model is used to perform the prediction processing of the image components to be predicted by the model parameters, the prediction accuracy of the image components to be predicted is improved and the prediction efficiency of video images is improved.

[0200] In this application, the terms “inclusive,” “incorporate,” or any variation thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or apparatus containing a set of elements includes not only such elements but also other elements not explicitly indicated, or elements specific to such process, method, article, or apparatus. Unless otherwise specified, an element limited by the phrase “containing one…” does not preclude the existence of other identical elements in a process, method, article, or apparatus containing that element.

[0201] The example numbers in this application are for illustrative purposes only and do not indicate any ranking of the examples.

[0202] The methods disclosed in some embodiments of the methods provided by this application can be arbitrarily combined without conflict to obtain embodiments of new methods.

[0203] New product embodiments can be obtained by arbitrarily combining the features disclosed in some product embodiments provided by this application without conflict.

[0204] Features disclosed in some embodiments of methods or devices provided by this application can be arbitrarily combined without conflict to obtain new embodiments of methods or devices.

[0205] The above describes only specific embodiments of the present application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that a person skilled in the art could easily conceive of within the scope of the art disclosed in this application should all be included within the scope of protection of this application. Accordingly, the scope of protection of this application should be in accordance with the scope of protection of the claims.

[0206] Industrial applicability In the embodiments of this application, first, a first reference pixel set of image components to be predicted in the current block is determined, then a reference pixel subset is determined from the first reference pixel set, the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set, the model parameters of the prediction model are calculated using the reference pixel subset, and the prediction model is used to perform inter-component prediction processing on the image components to be predicted in the current block. In this way, the screening process of the first reference pixel set removes unimportant or abnormal reference pixels, thereby reducing the number of pixels in the first reference pixel set, which not only reduces computational complexity and memory bandwidth but also improves the accuracy of the prediction model. Since the prediction model is used to perform prediction processing of the image components to be predicted using the model parameters, the prediction accuracy of the image components to be predicted is improved, and the prediction efficiency of video images is improved.

Claims

1. A method for predicting image components applied to a decoder, A step of determining a first reference pixel set of image components to be predicted for the current block, wherein the first reference pixel set is located within one reconstruction block. A step of determining a reference pixel subset based on the first reference pixel set, wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set. A step of calculating model parameters of a prediction model based on candidate pixels in the aforementioned reference pixel subset, wherein the prediction model is used to perform prediction processing on the image component to be predicted for the current block, The step of determining a reference pixel subset based on the first reference pixel set is: The steps include determining candidate positions for candidate pixels based on the pixel position and image component intensity value corresponding to a reference pixel adjacent to at least one side of the reconstruction block, A method for predicting image components, comprising the step of selecting a reference pixel corresponding to the candidate position from the first reference pixel set to obtain the reference pixel subset.

2. The step of determining a first reference pixel set of image components to be predicted for the current block is: Steps include obtaining a reference pixel adjacent to at least one edge of the reconstruction block, wherein the at least one edge of the reconstruction block includes the bottom edge, the right edge, or the bottom edge and the right edge; The method is characterized by comprising the step of obtaining the first set of reference pixels based on the acquired reference pixels. The method according to claim 1.

3. Memory that stores computer programs that can be executed by the processor, A decoder comprising a processor that executes the computer program described above and performs the method according to any one of claims 1 or 2.

4. A method for predicting image components applied to an encoder, A step of determining a first reference pixel set of image components to be predicted for the current block, wherein the first reference pixel set is located within one reconstruction block. A step of determining a reference pixel subset based on the first reference pixel set, wherein the reference pixel subset includes one or more candidate pixels selected from the first reference pixel set. A step of calculating model parameters of a prediction model based on candidate pixels in the aforementioned reference pixel subset, wherein the prediction model is used to perform prediction processing on the image component to be predicted for the current block, The step of determining a reference pixel subset based on the first reference pixel set is: The steps include determining candidate positions for candidate pixels based on the pixel position and image component intensity value corresponding to a reference pixel adjacent to at least one side of the reconstruction block, A method for predicting image components, comprising the step of selecting a reference pixel corresponding to the candidate position from the first reference pixel set to obtain the reference pixel subset.

5. The step of determining a first reference pixel set of image components to be predicted for the current block is: Steps include obtaining a reference pixel adjacent to at least one edge of the reconstruction block, wherein the at least one edge of the reconstruction block includes the bottom edge, the right edge, or the bottom edge and the right edge; The method is characterized by comprising the step of obtaining the first set of reference pixels based on the acquired reference pixels. The method according to claim 4.

6. Memory that stores computer programs that can be executed by the processor, An encoder comprising a processor that executes the computer program described above and performs the method according to any one of claims 4 or 5.

Citation Information

Patent Citations

  • Illumination compensation based inter-prediction method and apparatus in a video coding system

    JP2019530345A

  • System and method for adaptively determining template size for illumination compensation

    JP2019531029A

  • Method of Cross Color Intra Prediction

    US20150365684A1