Image prediction method, encoder, decoder, and storage medium
By pre-processing image components to align their statistical properties, the method addresses the inefficiencies in conventional cross-component prediction, improving prediction accuracy and reducing bit rates in video encoding and decoding.
Patent Information
- Application Number
- JP2025159923
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-03-25
- Filing Date
- 2025-09-26
- Publication Date
- 2025-12-16
AI Technical Summary
Conventional cross-component prediction techniques in video coding, such as H.266/VVC's CCLM, fail to account for the differences in statistical properties of various image components, leading to low prediction efficiency.
An image prediction method that involves pre-processing each image component to balance its statistical properties before performing cross-component prediction, using a prediction model to enhance accuracy and reduce prediction residuals.
Improves prediction efficiency by ensuring predicted values are closer to true values, thereby reducing bit rates and enhancing encoding and decoding efficiency of video images.
Smart Images

Figure 2025183419000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to the technical field of video encoding and decoding, and more particularly to an image prediction method, an encoder, a decoder and a storage medium. [Background technology]
[0002] The latest video coding standard H.266 / versatile video coding (VVC) allows the existence of cross-component prediction. CCLM (cross-component linear model) prediction is one of the typical cross-component prediction techniques. Using the cross-component prediction technique, one component can predict another component (or its residual), for example, a chroma component can be predicted from a luma component, or a chroma component can be predicted from a chroma component, or a chroma component can be predicted from a chroma component.
[0003] Since different components have different statistical properties, there are differences in the statistical properties depending on the component. However, when performing component prediction, conventional cross-component prediction techniques do not take into consideration all of the differences, resulting in low prediction efficiency. Summary of the Invention
[0004] The embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium, which not only improves prediction efficiency but also improves the encoding and decoding efficiency of video images by balancing the statistical properties of each component before performing component prediction.
[0005] The technical solutions of the embodiments of the present application are as follows:
[0006] In a first aspect, an embodiment of the present application provides an image prediction method applicable to an encoder or decoder. The image prediction method includes: determining at least one image component of a current block in an image; pre-processing the at least one image component of the current block to obtain at least one pre-processed image component; and constructing a prediction model based on the pre-processed at least one image component. The prediction model is used to perform cross-component prediction on the at least one image component of the current block.
[0007] In a second aspect, an embodiment of the present application provides an image prediction method applicable to an encoder or decoder. The image prediction method includes: determining a reference value of a first image component of a current block in an image; filtering the reference value of the first image component of the current block to obtain a filtered reference value; and calculating model parameters of a prediction model using the filtered reference value. The reference value of the first image component of the current block is a first image component value of a neighboring sample of the current block. The prediction model is used to map the first image component value of the current block to a second image component value of the current block, where the second image component and the first image component are different.
[0008] In a third aspect, an embodiment of the present application provides an encoder. The encoder includes a first determination unit, a first processing unit, and a first construction unit. The first determination unit is used to determine at least one image component of a current block in an image. The first processing unit is used to pre-process the at least one image component of the current block to obtain at least one pre-processed image component. The first construction unit is used to construct a prediction model based on the pre-processed at least one image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block.
[0009] In a fourth aspect, an embodiment of the present application provides an encoder, the encoder including a first memory and a first processor, the first memory being adapted to store a computer program executable by the first processor, the first processor being adapted to execute the computer program to perform the method of the first or second aspect.
[0010] In a fifth aspect, an embodiment of the present application provides a decoder. The decoder includes a second determination unit, a second processing unit, and a second construction unit. The second determination unit is used to determine at least one image component of a current block in an image. The second processing unit is used to pre-process the at least one image component of the current block to obtain at least one pre-processed image component. The second construction unit is used to construct a prediction model based on the pre-processed at least one image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block.
[0011] In a sixth aspect, an embodiment of the present application provides a decoder, the decoder comprising a second memory and a second processor, the second memory adapted to store a computer program executable on the second processor, the second processor adapted to execute the computer program and thereby perform the method of the first or second aspect.
[0012] In a seventh aspect, an embodiment of the present application provides a computer storage medium having stored thereon an image prediction program that, when executed by a first processor or a second processor, implements the method of the first or second aspect.
[0013] Embodiments of the present application provide an image prediction method, an encoder, a decoder, and a storage medium. The image prediction method includes determining at least one image component of a current block in an image, pre-processing the at least one image component of the current block to obtain at least one pre-processed image component, and constructing a prediction model based on the at least one pre-processed image component. The prediction model is used to perform cross-component prediction on the at least one image component of the current block. In this way, before performing cross-component prediction on the at least one image component of the current block, pre-processing is performed on the at least one image component to balance the statistical characteristics of each image component before performing cross-component prediction, thereby improving prediction efficiency. Because the predicted value of the image component predicted by the prediction model is close to the true value, the prediction residual of the image component is small, and the bit rate transmitted in the encoding and decoding process is low, thereby improving the encoding and decoding efficiency of video images. [Brief explanation of the drawings]
[0014] [Figure 1]FIG. 1 is a diagram showing the structure of a conventional cross-component prediction architecture according to an embodiment of the present application. [Figure 2] FIG. 2 is a block diagram illustrating the structure of a video encoding system according to an embodiment of the present application. [Figure 3] FIG. 3 is a block diagram illustrating the structure of a video decoding system according to an embodiment of the present application. [Figure 4] FIG. 4 is a flowchart of an image prediction method according to an embodiment of the present application. [Figure 5] FIG. 5 is a flowchart of an image prediction method according to another embodiment of the present application. [Figure 6] FIG. 6 is a diagram illustrating the structure of an improved cross-component prediction architecture according to an embodiment of the present application. [Figure 7] FIG. 7 is a diagram illustrating the structure of an improved cross-component prediction architecture according to another embodiment of the present application. [Figure 8] FIG. 8 is a diagram showing the structure of an encoder according to an embodiment of the present application. [Figure 9] FIG. 9 is a diagram showing a specific hardware structure of an encoder according to an embodiment of the present application. [Figure 10] FIG. 10 is a diagram showing the structure of a decoder according to an embodiment of the present application. [Figure 11] FIG. 11 is a diagram showing a specific hardware structure of a decoder according to an embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION
[0015] In order to understand in detail the characteristics and technical contents of the embodiments of the present application, the technical solutions of the embodiments of the present application will be described in detail below with reference to the drawings, and the attached drawings are for illustrative purposes only and do not limit the present application.
[0016] In a video image, coding blocks are generally represented by a first image component, a second image component, and a third image component. The first image component, the second image component, and the third image component are a luma component, a blue chroma component, and a red chroma component, respectively. Specifically, the luma component is generally represented by the symbol Y, the blue chroma component is generally represented by the symbol Cb or U, and the red chroma component is generally represented by the symbol Cr or V. Thus, a video image can be represented in YCbCr or YUV format.
[0017] In an embodiment of the present application, the first image component may be a luminance component, the second image component may be a blue saturation component, and the third image component may be a red saturation component, although embodiments of the present application are not specifically limited thereto.
[0018] To further improve encoding and decoding performance, H.266 / VCC proposes the CCLM cross-component prediction technology. The CCLM cross-component prediction technology not only enables chroma components to be predicted via luma components (i.e., a second image component can be predicted via a first image component, or a third image component can be predicted via a first image component), but also enables chroma components to be predicted via luma components (i.e., a first image component can be predicted via a second image component, or a first image component can be predicted via a third image component), and even enables prediction between chroma components (i.e., a third image component can be predicted via a second image component, or a second image component can be predicted via a third image component). In the following embodiments of the present application, prediction of a second image component via a first image component will be described as an example, but the technical solutions of the embodiments of the present application can also be applied to predicting other image components.
[0019] FIG. 1 is a diagram illustrating the structure of a conventional cross-component prediction architecture according to an embodiment of the present application. As shown in FIG. 1, a second image component (e.g., indicated by the U component) is predicted via a first image component (e.g., indicated by the Y component). If the YUV format adopted by the video image is 4:2:0, the resolutions of the Y component and the U component are different. In this case, to reach the target resolution of the component to be predicted, downsampling needs to be performed on the Y component or upsampling needs to be performed on the U component, so that inter-component prediction can be performed at the same resolution. In this example, the method for predicting a third image component (e.g., indicated by the V component) via the Y component is the same as that described above.
[0020] In FIG. 1, a conventional cross-component prediction architecture 10 includes a Y component 110 of a coding block, a resolution adjustment unit 120, and a Y component of a coding block. 1 The Y component of the video image is shown as a coding block Y component 110 of size 2Nx2N, where a bolder larger box is used to highlight the coding block Y component 110 and the surrounding grey solid circle indicates the adjacent reference values of the coding block Y component 110. JPEG2025183419000002.jpg10150. The U component of the video image is shown as the U component 140 of the coding block of size NxN. Here, a bolder larger box is used to highlight the U component 140 of the coding block, and the surrounding grey solid circle indicates the adjacent reference value of the U component 140 of the coding block. JPEG2025183419000003.jpg11150. Since the resolutions of the Y component and the U component are different, the resolution of the Y component is adjusted by the resolution adjustment unit 120 to obtain the Y component of the coding block of size N×N. 1 It is necessary to obtain the component 130. 1 For component 130, the bolder larger box indicates the Y 1 It is used to highlight the component 130, and the surrounding grey solid circle is the Y 1 Adjacent reference value of component 130 It is used to indicate JPEG2025183419000004.jpg12150. Y of coding block 1 Adjacent reference value of component 130 JPEG2025183419000005.jpg9150 and adjacent reference values of the U component 140 of the coding block A prediction model 150 can be constructed using JPEG2025183419000006.jpg10150. 1 Based on the reconstructed sample values of the component 130 and the prediction model 150, the cross-component prediction unit 160 can perform component prediction, and finally output the predicted value of the U component.
[0021] In the conventional cross-component prediction architecture 10, image component prediction is not comprehensively considered, for example, the differences in the statistical properties of each image component are not taken into account, resulting in low prediction efficiency. To improve prediction efficiency, an embodiment of the present application provides an image prediction method. First, at least one image component of a current block in an image is determined. Then, the at least one image component of the current block is pre-processed to obtain at least one pre-processed image component. Based on the pre-processed at least one image component, a prediction model is constructed, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block. In this way, before performing cross-component prediction on the at least one image component of the current block, the at least one image component is first pre-processed to balance the statistical properties of each image component before performing cross-component prediction, thereby improving not only prediction efficiency but also the efficiency of encoding and decoding video images.
[0022] Hereinafter, each embodiment of the present application will be described in detail with reference to the drawings.
[0023] 2 is a block diagram showing the structure of a video encoding system according to an embodiment of the present application. As shown in FIG. 2, the video encoding system 20 includes a transform and quantization unit 201, an intra estimation unit 202, an intra prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control analysis unit 207, a filtering unit 208, a coding unit 209, and a decoded image buffer unit 210. The filtering unit 208 can implement deblocking (DBK) filtering and sample adaptive offset (SAO) filtering. The coding unit 209 can implement header information coding and CABAC (context-based adaptive binary arithmetic coding). For an input original video signal, one coding block can be obtained by dividing a coding tree unit (CTU). Next, the coding block is transformed by the transform and quantization unit 201 for the residual sample information obtained by intra prediction or inter prediction, converting the residual information from the sample domain to the transform domain and quantizing the resulting transform coefficients to further reduce the bit rate. The intra estimation unit 202 and the intra prediction unit 203 are used to perform intra prediction on the coding block. Specifically, the intra estimation unit 202 and the intra prediction unit 203 are used to determine the intra prediction mode used to encode the coding block. The motion compensation unit 204 and the motion estimation unit 205 are used to perform inter-frame predictive coding of the received coding block with respect to one or more blocks in one or more reference frames to provide temporal prediction information. The motion estimation performed by the motion estimation unit 205 is a process of generating motion vectors, which can estimate the motion of the coding block.The motion compensation unit 204 is used to perform motion compensation based on the motion vector determined by the motion estimation unit 205. After determining the intra prediction mode, the intra prediction unit 203 is further used to provide the selected intra prediction data to the coding unit 209, and the motion estimation unit 205 is used to send the calculated motion vector data to the coding unit 209. The inverse transform and inverse quantization unit 206 is used to reconstruct the coding block. The residual block is reconstructed in the sample domain, and blocking artifacts in the reconstructed residual block are removed via the filter control analysis unit 207 and the filtering unit 208. The reconstructed residual block is then added to one prediction block in a frame of the decoded image buffer unit 210 to generate a reconstructed video coding block. The coding unit 209 is used to code various encoding parameters and quantized transform coefficients. In a CABAC-based coding algorithm, context content can be based on neighboring coding blocks, and information indicating the determined intra prediction mode can be coded to output a bitstream of a video signal. The decoded picture buffer unit 210 is used to store reconstructed video coding blocks for prediction reference. As the encoding of a video image progresses, new reconstructed coding blocks are constantly generated, and all of these reconstructed coding blocks are stored in the decoded picture buffer unit 210.
[0024] FIG. 3 is a block diagram showing the structure of a video decoding system according to an embodiment of the present application. As shown in FIG. 3, the video decoding system 30 includes a decoding unit 301, an inverse transform and inverse quantization unit 302, an intra prediction unit 303, a motion compensation unit 304, a filtering unit 305, a decoded image cache unit 306, etc. The decoding unit 301 can perform header information decoding and CABAC decoding. The filtering unit 305 can perform DBK filtering and SAO filtering. After an input video signal is encoded (as shown in FIG. 2), it outputs a bitstream of the video signal. The bitstream is input to the video decoding system 30. First, decoded transform coefficients are obtained through the decoding unit 301. The decoded transform coefficients are processed by the inverse transform and inverse quantization unit 302 to generate residual blocks in the sample domain. The intra prediction unit 303 can be used to generate prediction data for a current video coding block to be decoded based on a determined intra prediction mode and data from a previously decoded block of the current frame or image. The motion compensation unit 304 is used to determine prediction information for the video coding block to be decoded by analyzing the motion vectors and other related syntax elements, and uses the prediction information to generate a prediction block for the video coding block being decoded. A decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 302 with the corresponding prediction block generated by the intra prediction unit 303 or the motion compensation unit 304. Blocking artifacts in the decoded video block may be removed via a filtering unit 305 to improve video quality. The decoded video block is then stored in a decoded picture cache unit 306.The decoded image cache unit 306 is used to store reference images used for subsequent intra-prediction or motion compensation, and is also used to output the video signal, i.e., to obtain the restored original video signal.
[0025] The embodiments of the present application may be applied to the intra prediction unit 203 shown in Figure 2 and the intra prediction unit 303 shown in Figure 3. In other words, the embodiments of the present application may be applied to both video encoding systems and video decoding systems, although the embodiments of the present application are not limited in this regard.
[0026] Based on the application scenario example shown in Figure 2 or Figure 3, please refer to Figure 4, which is a flowchart of an image prediction method according to an embodiment of the present application, which may include the following content:
[0027] S401, determining at least one image component of a current block in an image.
[0028] S402, pre-processing is performed on at least one image component of the current block to obtain at least one pre-processed image component.
[0029] S403, constructing a prediction model based on the pre-processed at least one image component, where the prediction model is used to perform cross-component prediction on the at least one image component of the current block.
[0030] It should be noted that a video image can be divided into multiple image blocks, and each image block currently to be coded can be called a coding block. Each coding block can include a first image component, a second image component, and a third image component. The current block is the coding block that currently intends to perform prediction of the first image component, the second image component, or the third image component in the video image.
[0031] It should also be noted that the image prediction method according to the embodiments of the present application may be applied to a video encoding system or a video decoding system, or may be applied simultaneously to both a video encoding system and a video decoding system, and the embodiments of the present application are not specifically limited thereto.
[0032] In an embodiment of the present application, at least one image component of a current block in an image is first determined. Then, the at least one image component of the current block is pre-processed to obtain at least one pre-processed image component. A prediction model is constructed based on the at least one pre-processed image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block. In this way, before performing cross-component prediction on the at least one image component of the current block, the at least one image component is first pre-processed to balance the statistical characteristics of each image component before performing cross-component prediction, which not only improves prediction efficiency but also improves the encoding and decoding efficiency of video images.
[0033] Furthermore, different image components have different statistical characteristics, and there are differences in the statistical characteristics of each image component. For example, the luma component has rich texture characteristics, while the chroma component tends to be more uniform and flat. Embodiments of the present application can achieve the goal of balancing the statistical characteristics of each image component by taking into account the differences in the statistical characteristics of each image component. In some embodiments, after determining at least one image component of the current block in the image, the method can further include:
[0034] Performing characteristic statistics on at least one image component of the current block, the at least one image component including the first image component and / or the second image component.
[0035] Based on the result of the characteristic statistics, a reference value of a first image component of the current block and / or a reference value of a second image component of the current block is obtained, where the first image component is a component used for prediction when constructing a prediction model, and the second image component is a component predicted when constructing a prediction model.
[0036] At least one image component of the current block may be a first image component, a second image component, or both a first image component and a second image component. The first image component is a component used for prediction when building a prediction model, and is also called a reference image component. The second image component is a component predicted when building a prediction model, and is also called a prediction target image component.
[0037] Assuming that prediction from luma components to chroma components is realized through a prediction model, the component used for prediction when building the prediction model is the luma component, and the component predicted when building the prediction model is the chroma component. That is, the first image component is the luma component, and the second image component is the chroma component. Alternatively, assuming that prediction from chroma components to luma components is realized through a prediction model, the component used for prediction when building the prediction model is the chroma component, and the component predicted when building the prediction model is the luma component. That is, the first image component is the chroma component, and the second image component is the luma component.
[0038] In this way, by performing the property statistics on at least one image component of the current block, a property statistics result can be obtained, and based on the property statistics result, a reference value of the first image component of the current block and / or a reference value of the second image component of the current block can be obtained.
[0039] Furthermore, differences in statistical properties of each image component can be taken into account to improve prediction efficiency. That is, before performing cross-component prediction on at least one image component via a prediction model, pre-processing can be performed on the at least one image component based on the statistical properties of the image component, such as filtering, grouping, value modification, quantization, or de-quantization. In some embodiments, for S402, pre-processing at least one image component of the current block to obtain at least one pre-processed image component includes: performing a first processing on the first image component in a preset processing mode based on a reference value of a first image component of the current block and / or a reference value of a second image component of the current block; and obtaining a processed value of the first image component of the current block based on the first processing result. The preset processing mode includes at least one of filtering, grouping, value modification, quantization, and de-quantization.
[0040] It should be noted that, based on the result of the characteristic statistics of at least one image component of the current block, a reference value of a first image component of the current block and / or a reference value of a second image component of the current block can be obtained, and then a first processing can be performed on the first image component in a preset processing mode. Specifically, the first processing can be performed on the first image component using filtering, or the first processing can be performed on the first image component using grouping, or the first processing can be performed on the first image component using value modification, or the first processing can be performed on the first image component using quantization, or the first processing can be performed on the first image component using inverse quantization (also called de-quantization), and the embodiments of the present application are not specifically limited.
[0041] It should be noted that, when processing the first image component, it can be processing the adjacent reference sample values of the first image component, or processing the reconstructed sample values of the first image component, or processing the other sample values of the first image component. In the embodiment of the present application, it is set based on the actual situation of the prediction model, and the embodiment of the present application is not specifically limited.
[0042] For example, assuming that the prediction model predicts the chroma component via the luma component, to improve prediction efficiency, i.e., to improve the accuracy of the predicted value, it is necessary to process the luma component and / or the chroma component in the preset processing mode. For example, the preset processing mode processes the reconstructed sample value corresponding to the luma component. If the preset processing mode employs a value correction process, since the statistical properties of the luma component and the chroma component are different, a deviation factor can be calculated according to the difference between the statistical properties of the two image components. Next, a value correction process is performed on the luma component using the deviation factor (the reconstructed sample value corresponding to the luma component and the deviation factor are summed), and the statistical properties of each image component are balanced before cross-component prediction is performed, thereby obtaining a processed luma component. As a result, the predicted value of the chroma component predicted by the prediction model is closer to the true value of the chroma component. If the preset processing mode employs a filtering process, since the statistical properties of the luma component and the chroma component are different, a filtering process is performed on the luma component according to the difference between the statistical properties of the two image components, thereby obtaining a processed luma component. As a result, the predicted value of the chroma component predicted by the prediction model is closer to the true value of the chroma component. When the preset processing mode employs grouping processing, since the statistical properties of the luminance component and the chroma component are different, grouping processing can be performed on the luminance component according to the difference in the statistical properties of the two image components to balance the statistical properties of each image component before performing cross-component prediction. The predicted value of the chroma component predicted by the prediction model constructed based on the grouped luminance components is closer to the true value of the chroma component.Furthermore, the process of predicting the chroma component using the prediction model involves quantization and inverse quantization. Because the statistical properties of the luma component and the chroma component are different, differences in the quantization and inverse quantization processes may occur depending on the differences in the statistical properties of the two image components. In this case, if the preset processing mode employs quantization, a quantization process is performed on the luma component and / or the chroma component to balance the statistical properties of each image component before performing cross-component prediction, thereby obtaining a processed luma component and / or a processed chroma component. As a result, the predicted value of the chroma component predicted by the prediction model is closer to the true value of the chroma component. If the preset processing mode employs dequantization, a dequantization process is performed on the luma component and / or the chroma component to balance the statistical properties of each image component before performing cross-component prediction, thereby obtaining a processed luma component and / or a processed chroma component. As a result, the predicted value of the chroma component predicted by the prediction model is closer to the true value of the chroma component. This improves the accuracy of the predicted value, i.e., the prediction efficiency. Since the predicted value of the chroma component predicted by the prediction model is closer to the true value of the chroma component, the prediction residual of the chroma component is smaller, the bit rate transmitted in the encoding and decoding process is reduced, and the encoding and decoding efficiency of the video image can be improved.
[0043] In this way, a reference value for the first image component of the current block and / or a reference value for the second image component of the current block can be obtained, and then the first image component can be processed in a preset processing mode based on the reference value for the first image component of the current block to balance the statistical characteristics of each image component before performing cross-component prediction to obtain a processed value for the first image component of the current block. The first image component can also be processed in a preset processing mode based on the reference value for the second image component of the current block to balance the statistical characteristics of each image component before performing cross-component prediction to obtain a processed value for the first image component of the current block. The first image component can also be processed in a preset processing mode based on the reference value for the first image component of the current block and the reference value for the second image component of the current block to balance the statistical characteristics of each image component before performing cross-component prediction to obtain a processed value for the first image component of the current block. Based on the processed value of the first image component of the current block, the predicted value of the second image component predicted by the prediction model is closer to the true value. The prediction model can achieve cross-component prediction by predicting the second image component using the first image component.
[0044] Furthermore, since each image component has a different resolution, in order to conveniently construct a prediction model, it is necessary to adjust the resolution of the image component (including upsampling for the image component or downsampling for the image component) to thereby reach the target resolution. Specifically, using the preset processing mode, performing the first processing for the first image component and adjusting the resolution can be cascaded. Using the preset processing mode, performing the first processing for the first image component and adjusting the resolution can also be jointly processed. These will be described separately below.
[0045] Optionally, in some embodiments, before pre-processing at least one image component of the current block to obtain at least one pre-processed image component, the method further includes:
[0046] If the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the resolution of the first image component is adjusted, which may include upsampling or downsampling.
[0047] The reference value of the first image component of the current block is updated based on the adjusted resolution of the first image component, and the adjusted resolution of the first image component and the adjusted resolution of the second image component are the same.
[0048] It should be noted that resolution adjustment, or resolution mapping, refers to mapping the resolution of a first image component to the resolution of an adjusted first image component, where resolution adjustment or resolution mapping can be achieved by upsampling or downsampling.
[0049] It should be noted that, when performing the first processing on the first image component using the preset processing mode and adjusting the resolution can be cascaded, the resolution can be adjusted before performing the first processing on the first image component using the preset processing mode. That is, before pre-processing on at least one image component of the current block, if the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the resolution of the first image component can be adjusted, and the reference value of the first image component of the current block is updated based on the adjusted resolution of the first image component.
[0050] Optionally, in some embodiments, after pre-processing at least one image component of the current block to obtain at least one pre-processed image component, the method further includes:
[0051] If the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the resolution of the first image component is adjusted, which may include upsampling or downsampling.
[0052] The processing value of the first image component of the current block is updated based on the adjusted resolution of the first image component, and the adjusted resolution of the first image component and the adjusted resolution of the second image component are the same.
[0053] It should be noted that, when performing the first processing on the first image component using the preset processing mode and adjusting the resolution can be cascaded, the resolution can be adjusted after performing the first processing on the first image component using the preset processing mode, that is, after pre-processing on at least one image component of the current block, if the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, the resolution of the first image component can be adjusted, and the processing value of the first image component of the current block is updated based on the adjusted resolution of the first image component.
[0054] Optionally, in some embodiments, pre-processing at least one image component of the current block to obtain at least one pre-processed image component includes:
[0055] If the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, a second processing is performed on the first image component based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, and the second processing includes an associated processing of upsampling and a preset processing mode, or an associated processing of downsampling and a preset processing mode.
[0056] According to the second processing result, a processed value of the first image component of the current block is obtained, and the resolution of the processed first image component of the current block and the resolution of the second image component of the current block are the same.
[0057] When using a preset processing mode, performing a first processing on a first image component and adjusting the resolution can be performed jointly. After both the first processing and the resolution adjustment are performed, a processed value of the first image component of the current block can be obtained. That is, if the resolution of the first image component of the current block differs from the resolution of the second image component of the current block, a second processing is performed on the first image component based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block. The second processing combines two processing methods, the first processing and the resolution adjustment. The second processing includes upsampling and associated processing in a preset processing mode, or downsampling and associated processing in a preset processing mode. In this way, a processed value of the first image component of the current block can be obtained based on the result of the second processing, and the resolution of the processed first image component of the current block and the resolution of the second image component of the current block are the same.
[0058] For example, assuming that the prediction model is still to predict the chroma component via the luma component, the image component to be predicted is the chroma component, and the image component to be used is the luma component. Because the resolutions of the luma component and the chroma component are different, after obtaining the target resolution of the chroma component, the resolution of the luma component does not match the target resolution, so it is necessary to adjust the resolution of the luma component. For example, downsampling is performed on the luma component so that the adjusted resolution of the luma component matches the target resolution. Conversely, when predicting the luma component via the chroma component, after obtaining the target resolution of the luma component, the resolution of the chroma component does not match the target resolution, so it is necessary to adjust the resolution of the chroma component. For example, upsampling is performed on the chroma component so that the adjusted resolution of the chroma component matches the target resolution. When predicting the red chroma component via the blue chroma component, after obtaining the target resolution of the red chroma component, the resolution of the blue chroma component matches the target resolution, so there is no need to adjust the resolution of the blue chroma component, and the resolution of the blue chroma component already matches the target resolution. In this way, prediction of the image component can be performed at the same resolution later.
[0059] Further, after obtaining the at least one pre-processed image component, to build a predictive model, it is necessary to determine model parameters of the predictive model based on the at least one pre-processed image component. In some embodiments, S403, building a predictive model based on the at least one pre-processed image component, includes:
[0060] Model parameters of the predictive model are determined according to the processed values of the first image component and the reference values of the second image component.
[0061] A predictive model is constructed based on the model parameters.
[0062] In embodiments of the present application, the prediction model may be a linear model, for example, a cross-component prediction technique such as CCLM prediction. The prediction model may also be a nonlinear model, for example, a cross-component prediction technique such as multi-model CCLM (Multiple Model CCLM, MMLM) prediction, which is composed of multiple linear models. Although the embodiments of the present application will be described using an example in which the prediction model is a linear model, the prediction method according to the embodiments of the present application can also be applied to nonlinear models.
[0063] Specifically, the model parameters are: Contains JPEG2025183419000007.jpg10150. JPEG2025183419000008.jpg8150 can be calculated using various methods, such as a preset factor calculation model constructed using the least squares method, a preset factor calculation model constructed using maximum and minimum values, or a preset factor calculation model constructed using other methods, and the embodiments of the present application are not specifically limited thereto.
[0064] Taking the preset factor calculation model constructed by the least squares method as an example, as shown in Equation (1), the model parameters can be derived by minimizing regression errors of neighboring reference sample values (e.g., first image component neighboring reference values and second image component neighboring reference values, where the first image component neighboring reference values and second image component neighboring reference values are obtained after preprocessing) around the current block.
number
[0065] JPEG2025183419000010.jpg15150 indicates the first image component neighbor reference value corresponding to the left edge and top edge of the downsampled current block; JPEG2025183419000011.jpg11150 indicates the second image component neighbor reference value corresponding to the left edge and top edge of the current block, and N indicates the length of the edge of the current block of the second image component; JPEG2025183419000012.jpg11150, which is calculated using formula (1). You can get JPEG2025183419000013.jpg10150.
[0066] Taking a preset factor calculation model constructed with maximum and minimum values as an example, a simplified method for deriving model parameters is provided. Specifically, as in the preset factor calculation model shown in Equation (2), the model parameters can be derived based on the principle of finding the maximum first image component adjacent reference value and the minimum first image component adjacent reference value, and then determining a line with two points.
number
[0067] JPEG2025183419000015.jpg10150 indicates the maximum and minimum values retrieved from the first image component neighboring reference values corresponding to the left and top edges of the downsampled current block; JPEG2025183419000016.jpg13150 indicates the second image component adjacent reference value corresponding to the reference sample at the position corresponding to JPEG2025183419000016.jpg13150. Based on JPEG2025183419000017.jpg14150, by calculating equation (2), You can also get JPEG2025183419000018.jpg9150.
[0068] After obtaining JPEG2025183419000019.jpg10150, a prediction model can be constructed. Specifically, Assuming that the second image component is predicted through the first image component based on JPEG2025183419000020.jpg10150, the constructed prediction model is shown in Equation (3).
number
[0069] JPEG2025183419000022.jpg13150 indicates the position coordinate of the sample within the current block, JPEG2025183419000023.jpg11150 represents the horizontal direction, JPEG2025183419000024.jpg11150 represents the vertical direction, JPEG2025183419000025.jpg13150 is the position coordinate in the current block represents the predicted value of the second image component corresponding to the sample JPEG2025183419000026.jpg13150, JPEG2025183419000027.jpg13150 has the same position coordinates in the current block (downsampled) as represents the reconstructed value of the first image component corresponding to the sample JPEG2025183419000028.jpg10150.
[0070] In some embodiments, after constructing the prediction model in S403, the method may further include:
[0071] Based on the prediction model, a cross-component prediction is performed on the second image component of the current block to obtain a predicted value of the second image component of the current block.
[0072] It should be noted that, based on the prediction model shown in equation (3), the luminance component can be used to predict the chroma component to obtain a predicted value of the chroma component.
[0073] Specifically, after constructing a prediction model for a current block, prediction of an image component can be performed according to the prediction model. In one example, a first image component can be used to predict a second image component, e.g., a luma component can be used to predict a chroma component to obtain a predicted value of the chroma component. In another example, a second image component can be used to predict a first image component, e.g., a luma component can be used to predict a luma component to obtain a predicted value of the luma component. In yet another example, a second image component can be used to predict a third image component, e.g., a blue chroma component can be used to predict a red chroma component to obtain a predicted value of the red chroma component. In an embodiment of the present application, before constructing a prediction model, pre-processing is performed on at least one image component of the current block, thereby balancing the statistical characteristics of each image component before performing cross-component prediction, and then constructing a prediction model using the processed image component, thereby improving prediction efficiency.
[0074] An image prediction method provided by an embodiment of the present application includes determining at least one image component of a current block in an image, pre-processing the at least one image component of the current block to obtain at least one pre-processed image component, and constructing a prediction model based on the at least one pre-processed image component. The prediction model is used to perform cross-component prediction on the at least one image component of the current block. In this way, before performing cross-component prediction on the at least one image component of the current block, pre-processing is performed on the at least one image component to balance the statistical characteristics of each image component before performing cross-component prediction, thereby improving prediction efficiency. Because the predicted value of the image component predicted by the prediction model is closer to the true value, the prediction residual of the image component is smaller, and the bit rate transmitted in the encoding and decoding process is reduced, thereby improving the encoding and decoding efficiency of video images.
[0075] Based on the application scenario example shown in Figure 2 or Figure 3, please refer to Figure 5, which is a flowchart of an image prediction method according to another embodiment of the present application, which may include the following contents:
[0076] S501, determining a reference value of a first image component of a current block in an image, the reference value of the first image component of the current block being the first image component value of an adjacent sample of the current block;
[0077] S502, filtering the reference value of the first image component of the current block to obtain a filtered reference value.
[0078] S503, using the filtered reference values to calculate model parameters of a prediction model, the prediction model being used to map a first image component value of the current block to a second image component value of the current block, where the second image component and the first image component are different.
[0079] It should be noted that a video image can be divided into multiple image blocks, and each image block currently to be coded can be called a coding block. Each coding block can include a first image component, a second image component, and a third image component. The current block is the coding block that currently intends to perform prediction of the first image component, the second image component, or the third image component in the video image.
[0080] It should also be noted that the image prediction method according to the embodiments of the present application may be applied to a video encoding system or a video decoding system, or may be applied simultaneously to both a video encoding system and a video decoding system, and the embodiments of the present application are not limited thereto.
[0081] In an embodiment of the present application, a reference value of a first image component of a current block in an image is first determined. The reference value of the first image component of the current block is the first image component value of a neighboring sample of the current block. Next, the reference value of the first image component of the current block is filtered to obtain a filtered reference value. Next, the filtered reference value is used to calculate model parameters of a prediction model. The prediction model is used to map the first image component value of the current block to the second image component value of the current block, where the second image component is different from the first image component. In this way, filtering at least one image component before performing cross-component prediction on at least one image component of the current block and balancing the statistical characteristics of each image component before performing cross-component prediction can improve prediction efficiency, and can also improve the encoding and decoding efficiency of video images.
[0082] Further, in some embodiments, for S503, calculating model parameters of the predictive model using the filtered reference values includes: performing characteristic statistics on at least one image component of the image or at least one image component of the current block, the at least one image component including the first image component and / or the second image component; Obtaining a reference value of a second image component of the current block according to the result of the characteristic statistics, and the reference value of the second image component of the current block is a second image component value of an adjacent sample of the current block; calculating model parameters of a prediction model using the filtered reference values and the reference values of the second image component of the current block; Includes.
[0083] Different image components have different statistical characteristics, and there are differences in the statistical characteristics of each image component. For example, the luma component has rich texture characteristics, while the saturation component tends to be more uniform and flat. The embodiments of the present application can achieve the goal of balancing the statistical characteristics of each image component by taking into account the differences in the statistical characteristics of each image component.
[0084] After considering the differences in the statistical properties of each image component, a reference value of the second image component of the current block is obtained. Then, model parameters of a prediction model are calculated based on the filtered reference value and the reference value of the second image component of the current block, and a prediction model is constructed according to the calculated model parameters. Since the predicted value of the image component predicted by the prediction model is close to the true value, the prediction residual of the image component is small, the bit rate transmitted in the encoding and decoding process is small, and the efficiency of encoding and decoding of video images can be improved.
[0085] Further, in some embodiments, for S502, filtering the reference value of the first image component of the current block to obtain the filtered reference value includes: If the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a first adjustment operation on the reference value of the first image component of the current block to update the reference value of the first image component of the current block; filtering the reference value of the first image component of the current block to obtain a filtered reference value; Including, The first adjustment process includes one of downsampling filtering or upsampling filtering.
[0086] In some embodiments, the method further comprises:
[0087] Based on the reference value of the first image component of the current block, the reference value is filtered in a preset processing mode, the preset processing mode including at least one of filtering, grouping, value modification, quantization, dequantization, low-pass filtering, and adaptive filtering.
[0088] In some embodiments, for S502, filtering the reference value of the first image component of the current block to obtain a filtered reference value includes: When the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a second adjustment process on the reference value of the second image component of the current block to update the reference value of the second image component of the current block, where the second adjustment process includes downsampling and smoothing filtering, or upsampling and smoothing filtering.
[0089] Since each image component has a different resolution, in order to conveniently construct a prediction model, it is necessary to adjust the resolution of the image component (including upsampling the image component or downsampling the image component) to thereby reach the target resolution. Specifically, resolution adjustment, i.e., resolution mapping, refers to mapping the resolution of a first image component to the resolution of the adjusted first image component. Here, the resolution adjustment or resolution mapping can be achieved by upsampling or downsampling.
[0090] Performing a filtering operation on the first image component and adjusting the resolution can be cascaded. For example, adjusting the resolution before performing a filtering operation on the first image component, or performing a filtering operation on the first image component and then adjusting the resolution. In other examples, performing a filtering operation on the first image component and adjusting the resolution (i.e., the first adjustment operation) can be joint operations.
[0091] In some embodiments, for S503, calculating model parameters of the predictive model utilizing the filtered reference values includes: determining a reference value of a second image component of the current block; calculating model parameters of a prediction model using the filtered reference values and the reference values of the second image component of the current block; Including, The reference values of the second image component of the current block are the second image component values of the neighboring samples of the current block.
[0092] In some embodiments, the method further includes, after S503:
[0093] Based on the prediction model, the value of the first image component of the current block is mapped to obtain a predicted value of the second image component of the current block.
[0094] It should be noted that the reference value of the second image component of the current block is the second image component value of the adjacent sample of the current block. In this way, after the reference value of the second image component is determined, model parameters of the prediction model are calculated based on the filtered reference value and the determined reference value of the second image component, and a prediction model is constructed based on the calculated model parameters. Since the predicted value of the image component predicted by the prediction model is close to the true value, the prediction residual of the image component is small, and the bit rate transmitted in the encoding and decoding process is small, thereby improving the encoding and decoding efficiency of the video image.
[0095] FIG. 6 is a diagram illustrating the structure of an improved cross-component prediction architecture according to an embodiment of the present application. As shown in FIG. 6, based on the conventional cross-component prediction architecture 10 shown in FIG. 1, the improved cross-component prediction architecture 60 further includes a processing unit 610. The processing unit 610 is used to perform related processing on at least one image component before the cross-component prediction unit 160. The processing unit 610 can be located before the resolution adjustment unit 120 or after the resolution adjustment unit 120. As shown in FIG. 6, the processing unit 610 is located after the resolution adjustment unit 120. By performing related processing such as filtering, grouping, value correction, quantization, and dequantization on the Y component, a more accurate prediction model can be constructed, and the predicted value of the U component obtained by prediction is closer to the true value.
[0096] Assuming that the U component is predicted through the Y component based on the improved cross-component prediction architecture 60 shown in FIG. 6, since the Y component 110 of the current block and the U component 140 of the current block have different resolutions, the resolution of the Y component is adjusted by the resolution adjustment unit 120 to obtain the Y component of the current block having the same resolution as the U component 140 of the current block.1 Before this, the processing unit 610 performs the relevant processing on the Y component to obtain the Y component of the current block. 1 Component 130 can be obtained. Then, Y of the current block 1 Adjacent reference value of component 130 JPEG2025183419000029.jpg13150 and adjacent reference values of the U component 140 of the current block JPEG2025183419000030.jpg10150 can be used to build a prediction model 150. 1 Based on the reconstructed sample values of the Y component of the component 130 and the prediction model 150, the cross-component prediction unit 160 can perform image component prediction to obtain a predicted value of the U component. Before cross-component prediction, relevant processing is performed on the Y component, and the prediction model 150 is constructed based on the processed luminance component. Since the predicted value of the U component predicted by the prediction model 150 is close to the true value, prediction efficiency can be improved, and the encoding and decoding efficiency of the video image can also be improved.
[0097] In an embodiment of the present application, the resolution adjustment unit 120 and the processing unit 610 may perform cascade processing on the image components (e.g., resolution adjustment is performed by the resolution adjustment unit 120 and then related processing is performed by the processing unit 610, or related processing is performed by the processing unit 610 and then resolution adjustment is performed by the resolution adjustment unit 120), or may perform joint processing on the image components (resolution adjustment unit 120 and processing unit 610 perform processing in combination). FIG. 7 is a diagram showing the structure of an improved cross-component prediction architecture according to another embodiment of the present application. Based on the improved cross-component prediction architecture 60 shown in FIG. 6, the improved cross-component prediction architecture shown in FIG. 7 further includes a combination unit 710, but omits the resolution adjustment unit 120 and the processing unit 610. In other words, the combination unit 710 has the functions of both the resolution adjustment unit 120 and the processing unit 610, and can not only perform resolution adjustment on at least one image component, but also perform related processing on at least one image component, such as filtering, grouping, value modification, quantization, and dequantization, etc. In this way, a more accurate prediction model 150 can be constructed, and the predicted value of the U component predicted by the prediction model 150 can be closer to the actual value, thereby improving prediction efficiency and improving the encoding and decoding efficiency of video images.
[0098] Furthermore, in an embodiment of the present application, when the image prediction method is applied to an encoder, model parameters of a prediction model can be calculated and obtained based on the reference value of the image component to be predicted of the current block and the reference value of the image component to be referenced of the current block.The calculated and obtained model parameters are then written into a bitstream.The bitstream is transmitted from the encoder to a decoder.When the image prediction method is applied to a decoder, the model parameters of the prediction model can be obtained by analyzing the bitstream, and a prediction model is thus constructed, and cross-component prediction is performed on at least one image component of the current block using the prediction model.
[0099] An image prediction method provided by an embodiment of the present application includes determining a reference value of a first image component of a current block in an image, filtering the reference value of the first image component of the current block to obtain a filtered reference value, and calculating model parameters of a prediction model using the filtered reference value. The reference value of the first image component of the current block is the first image component value of a neighboring sample of the current block. The prediction model is used to map the first image component value of the current block to a second image component value of the current block, where the second image component is different from the first image component. Thus, before performing cross-component prediction on at least one image component of the current block, pre-processing is performed on the at least one image component to balance the statistical characteristics of each image component before performing cross-component prediction, thereby improving prediction efficiency. Because the predicted value of the image component predicted by the prediction model is close to the true value, the prediction residual of the image component is small, and the transmitted bit rate during the encoding and decoding process is low, thereby improving the encoding and decoding efficiency of video images.
[0100] Based on the same inventive concept as the previous embodiment, refer to Fig. 8, which shows the structure of an encoder according to an embodiment of the present application. The encoder 80 includes a first determining unit 801, a first processing unit 802 and a first constructing unit 803.
[0101] The first determining unit 801 is used for determining at least one image component of a current block in an image.
[0102] The first processing unit 802 is used to pre-process at least one image component of the current block to obtain at least one pre-processed image component.
[0103] The first construction unit 803 is used to construct a prediction model based on the at least one pre-processed image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block.
[0104] In the above technical solution, as shown in FIG. 8, the encoder 80 may further include a first statistics unit 804 and a first acquisition unit 805.
[0105] The first statistics unit 804 is used for performing characteristic statistics on at least one image component of the current block, where the at least one image component includes a first image component and / or a second image component.
[0106] The first obtaining unit 805 is used to obtain a reference value of a first image component of the current block and / or a reference value of a second image component of the current block based on the result of the characteristic statistics, where the first image component is a component used for prediction when constructing a prediction model, and the second image component is a component predicted when constructing a prediction model.
[0107] In the above technical solution, the first processing unit 802 is further used to perform a first processing on the first image component in a preset processing mode based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, where the preset processing mode includes at least one of filtering, grouping, value modification, quantization, or dequantization.
[0108] The first obtaining unit 805 is further used for obtaining a processed value of the first image component of the current block according to the first processing result.
[0109] In the above technical solution, as shown in FIG. 8, the encoder 80 may further include a first adjusting unit 806 and a first updating unit 807.
[0110] The first adjusting unit 806 is used to adjust the resolution of the first image component of the current block when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, and adjusting the resolution includes upsampling or downsampling.
[0111] The first updating unit 807 is used to update the reference value of the first image component of the current block according to the resolution of the adjusted first image component, where the resolution of the adjusted first image component and the resolution of the adjusted second image component are the same.
[0112] In the above-mentioned technical solution, the first adjusting unit 806 is further used to adjust the resolution of the first image component of the current block when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, and adjusting the resolution includes upsampling or downsampling.
[0113] The first updating unit 807 is further used for updating the processed value of the first image component of the current block according to the resolution of the adjusted first image component, where the resolution of the adjusted first image component and the resolution of the adjusted second image component are the same.
[0114] In the above-mentioned technical solution, the first adjusting unit 806 is further used to perform a second processing on the first image component according to the reference value of the first image component of the current block and / or the reference value of the second image component of the current block when the resolution of the first image component of the current block is different, where the second processing includes a processing related to upsampling and a preset processing mode, or a processing related to downsampling and a preset processing mode.
[0115] The first obtaining unit 805 is further used for obtaining a processed value of the first image component of the current block based on the second processing result, where the resolution of the processed first image component of the current block and the resolution of the second image component of the current block are the same.
[0116] In the above technical solution, the first determining unit 801 is further used for determining model parameters of a prediction model according to the processed value of the first image component and the reference value of the second image component.
[0117] The first construction unit 803 is used to construct a prediction model based on the model parameters.
[0118] In the above-mentioned technical solution, as shown in Fig. 8, the encoder 80 may further include a first prediction unit 808. The first prediction unit 808 is used to perform cross-component prediction on the second image component of the current block based on a prediction model to obtain a predicted value of the second image component of the current block.
[0119] In the embodiments of the present application, it can be understood that a "unit" can be a part of a circuit, a part of a processor, a part of a program, or software, and may or may not be a module. Furthermore, various components of the embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be realized in the form of a hardware or software functional module.
[0120] The integrated unit may be realized as a software functional unit and stored in a computer-readable recording medium when sold or used as an independent product. Based on this understanding, an essential part of the technical solution of the present application, a part that contributes to the prior art, or all or part of the technical solution may be expressed as a software product. This computer software product is stored in a storage medium and includes a plurality of commands for causing a computer (which may be a personal computer, a server, a network device, etc.) or a processor to execute all or part of the steps of the method according to the present embodiment. The storage medium may include various media capable of storing program code, such as a USB (Universal Serial Bus) flash disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0121] An embodiment of the present application further provides a computer storage medium having stored thereon an image prediction program, which, when executed by at least one processor, implements the steps of the method according to the above-described embodiment.
[0122] Based on the configuration of the encoder 80 and the computer storage medium, reference is made to FIG. 9, which is a diagram illustrating a specific hardware structure of an encoder according to an embodiment of the present application. The encoder 80 may include a first communication interface 901, a first memory 902, and a first processor 903. The various components are coupled together via a first bus system 904. The first bus system 904 is used to realize the connection and communication between these components. In addition to a data bus, the first bus system 904 further includes a power bus, a control bus, and a status signal bus. For clarity of description, the various buses shown in FIG. 9 are marked as the first bus system 904.
[0123] The first communication interface 901 is used to send and receive signals while transmitting and receiving information to and from other external network elements.
[0124] The first memory 902 is used to store a computer program executable by the first processor 903 .
[0125] When executed by the first processor 903, the computer program determines at least one image component of a current block in an image, pre-processes the at least one image component of the current block to obtain at least one pre-processed image component, and constructs a prediction model based on the at least one pre-processed image component, which is used to perform cross-component prediction on the at least one image component of the current block.
[0126] The first memory 902 of the present application can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. The nonvolatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM) that functions as an external high-speed cache. By way of illustrative, but not limiting example, many types of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synch-link Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The first memory 902 of the systems and methods described herein may comprise, without being limited to, these and any other suitable types of memory.
[0127] The first processor 903 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above-described method embodiments may be completed by an integrated logic circuit in the form of hardware or instructions in the form of software in the first processor 903. The above-described first processor 903 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The first processor may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present application may be directly executed and completed by a hardware decoding processor, or may be executed and completed by a combination of hardware and software modules in the decoding processor. The software module can be stored in a storage medium well-known in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is stored in a first memory 902. A first processor 903 reads information from the first memory 902 and performs the steps of the above-described method together with the processor hardware.
[0128] It may be understood that the embodiments described herein may be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof. When implemented by hardware, the processing unit may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), DSP devices, Programmable Logic Devices (PLDs), Field-Programmable Gate Arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units, or a combination thereof, for performing the functions of the present application. When implemented by software, the techniques described herein may be realized by modules (e.g., procedures, functions, etc.) for performing the functions described herein. The software code is stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
[0129] Optionally, in another embodiment, the first processor 903, when executing a computer program, is used to perform any one of the methods described in the above embodiments.
[0130] An embodiment of the present application provides an encoder. The encoder includes a first determination unit, a first processing unit, and a first construction unit. The first determination unit is used to determine at least one image component of a current block in an image. The first processing unit is used to pre-process the at least one image component of the current block to obtain at least one pre-processed image component. The first construction unit is used to construct a prediction model based on the pre-processed at least one image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block. In this way, by pre-processing the at least one image component before performing cross-component prediction on the at least one image component of the current block and balancing the statistical characteristics of each image component before performing cross-component prediction, prediction efficiency can be improved, and the encoding and decoding efficiency of video images can also be improved.
[0131] Based on the same inventive concept as the previous embodiment, refer to Fig. 10, which shows the structure of a decoder according to an embodiment of the present application. The decoder 100 includes a second determination unit 1001, a second processing unit 1002 and a second construction unit 1003.
[0132] The second determining unit 1001 is used for determining at least one image component of the current block in the image.
[0133] The second processing unit 1002 is used to pre-process at least one image component of the current block to obtain at least one pre-processed image component.
[0134] The second construction unit 1003 is used to construct a prediction model based on the pre-processed at least one image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block.
[0135] In the above technical solution, as shown in FIG. 10, the decoder 100 may further include a second statistics unit 1004 and a second acquisition unit 1005.
[0136] The second statistics unit 1004 is used for performing characteristic statistics on at least one image component of the current block, where the at least one image component includes the first image component and / or the second image component.
[0137] The second obtaining unit 1005 is used to obtain a reference value of a first image component of the current block and / or a reference value of a second image component of the current block based on the result of the characteristic statistics, where the first image component is a component used for prediction when constructing a prediction model, and the second image component is a component predicted when constructing a prediction model.
[0138] In the above-mentioned technical solution, the second processing unit 1002 is further used to perform a first processing on the first image component in a preset processing mode based on the reference value of the first image component of the current block and / or the reference value of the second image component of the current block, and the preset processing mode includes at least one of filtering, grouping, value modification, quantization and dequantization.
[0139] The second obtaining unit 1005 is further used for obtaining a processed value of the first image component of the current block according to the first processing result.
[0140] In the above technical solution, the decoder 100 further includes a second adjusting unit 1006 and a second updating unit 1007 .
[0141] The second adjusting unit 1006 is used to adjust the resolution of the first image component of the current block when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, and adjusting the resolution includes upsampling or downsampling.
[0142] The second updating unit 1007 is used to update the reference value of the first image component of the current block according to the resolution of the adjusted first image component, where the resolution of the adjusted first image component and the resolution of the adjusted second image component are the same.
[0143] In the above technical solution, the second adjusting unit 1006 is further used to adjust the resolution of the first image component of the current block when the resolution of the first image component of the current block is different from the resolution of the second image component of the current block, and adjusting the resolution includes upsampling or downsampling.
[0144] The second updating unit 1007 is further used for updating the processed value of the first image component of the current block according to the resolution of the adjusted first image component, where the resolution of the adjusted first image component and the resolution of the adjusted second image component are the same.
[0145] In the above-mentioned technical solution, the second adjusting unit 1006 is further used to perform a second processing on the first image component according to the reference value of the first image component of the current block and / or the reference value of the second image component of the current block when the resolution of the first image component of the current block is different, where the second processing includes a processing related to upsampling and a preset processing mode, or a processing related to downsampling and a preset processing mode.
[0146] The second obtaining unit 1005 is further used for obtaining a processed value of the first image component of the current block based on the second processing result, where the resolution of the processed first image component of the current block and the resolution of the second image component of the current block are the same.
[0147] In the above technical solution, the second construction unit 1003 is used to analyze the bitstream and construct a prediction model according to the model parameters obtained by the analysis.
[0148] 10, the above technical solution further includes a second prediction unit 1008. The second prediction unit 1008 is used to perform cross-component prediction on the second image component of the current block based on a prediction model to obtain a predicted value of the second image component of the current block.
[0149] In the embodiments of the present application, it can be understood that a "unit" can be a part of a circuit, a part of a processor, a part of a program, or software, and may or may not be a module. Furthermore, various components of the embodiments of the present application can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be realized in the form of a hardware or software functional unit.
[0150] The integrated unit may be implemented as a software functional unit and stored in a computer-readable recording medium when sold or used as an independent product. According to this understanding, this embodiment provides a computer storage medium. The computer storage medium stores an image prediction program. When the image prediction program is executed by a second processor, it realizes any one of the methods described in the above-mentioned embodiments.
[0151] Based on the configuration of the decoder 100 and the computer storage medium, reference is made to FIG. 11, which illustrates a specific hardware structure of the decoder 100 according to an embodiment of the present application. The decoder 100 may include a second communication interface 1101, a second memory 1102, and a second processor 1103. Various components are coupled together via a second bus system 1104. The second bus system 1104 is used to realize the connection and communication between these components. In addition to a data bus, the second bus system 1104 further includes a power bus, a control bus, and a status signal bus. For clarity of explanation, various buses are marked as the second bus system 1104 as shown in FIG. 11.
[0152] The second communication interface 1101 is used to send and receive signals while transmitting and receiving information to and from other external network elements.
[0153] The second memory 1102 is used to store a computer program executable by the second processor 1103 .
[0154] When executed by the second processor 1103, the computer program determines at least one image component of a current block in an image, pre-processes the at least one image component of the current block to obtain at least one pre-processed image component, and constructs a prediction model based on the at least one pre-processed image component, which is used to perform cross-component prediction on the at least one image component of the current block.
[0155] Optionally, in another embodiment, the second processor 1103, when executing a computer program, is used to perform any one of the methods described in the previous embodiment.
[0156] It can be understood that the functions of the second memory 1102 and the first memory 902 are similar, and the functions of the second processor 1103 and the first processor 903 are similar, so they will not be described in detail here.
[0157] The decoder provided by the embodiment of the present application includes a second determination unit, a second processing unit, and a second construction unit. The second determination unit is used to determine at least one image component of a current block in an image. The second processing unit is used to pre-process the at least one image component of the current block to obtain at least one pre-processed image component. The second construction unit is used to construct a prediction model based on the pre-processed at least one image component, and the prediction model is used to perform cross-component prediction on the at least one image component of the current block. In this way, by pre-processing the at least one image component before performing cross-component prediction on the at least one image component of the current block and balancing the statistical characteristics of each image component before performing cross-component prediction, prediction efficiency can be improved, and the encoding and decoding efficiency of video images can also be improved.
[0158] As used herein, the terms "comprise," "include," or variations thereof are intended to cover a non-exclusive inclusion, such that a process, method, object, or apparatus comprising a series of elements may include not only the listed elements, but also other elements not listed, or other elements inherent to the process, method, object, or apparatus. Absent more limitations, a process, method, object, or apparatus that includes elements limited by a "comprising" statement does not exclude the presence of other identical elements.
[0159] The sequence numbers of the above-described embodiments are used for explanation purposes only and do not represent the superiority or inferiority of the embodiments.
[0160] The methods disclosed in the several method embodiments of this application can be arbitrarily combined to obtain new method embodiments, provided there are no conflicts.
[0161] The features disclosed in the several product embodiments of this application can be combined in any way to obtain new product embodiments, provided there are no conflicts.
[0162] Features disclosed in several method or apparatus embodiments of this application may be combined in any manner to obtain new method or apparatus embodiments, provided there are no conflicts.
[0163] The above are only specific embodiments of the present invention, and the scope of protection of the present invention is not limited thereto. Those skilled in the art can easily think of modifications or replacements within the technical scope disclosed in the present invention, and all of these should be included in the scope of this application. Therefore, the scope of protection of this application should be determined by the claims.
[0164] Industrial Applicability
[0165] In an embodiment of the present application, at least one image component of a current block in an image is first determined. Next, the at least one image component of the current block is pre-processed to obtain at least one pre-processed image component. Next, a prediction model is constructed based on the at least one pre-processed image component. The prediction model is used to perform cross-component prediction on at least one image component of the current block. In this way, before performing cross-component prediction on at least one image component of the current block, the at least one image component is pre-processed to balance the statistical characteristics of each image component before performing cross-component prediction, thereby improving prediction efficiency. Because the predicted value of the image component predicted by the prediction model is close to the true value, the prediction residual of the image component is small, and the bit rate transmitted in the encoding and decoding process is low, thereby improving the encoding and decoding efficiency of video images.
Claims
1. 1. An image prediction method applied to an encoder, comprising: determining a reference value of a first image component of a current block in an image; downsampling-filtering the reference value of the first image component of the current block to obtain a filtered reference value; utilizing the filtered reference values to obtain model parameters of a predictive model; mapping values of a first image component of the current block based on the prediction model to obtain predicted values of a second image component of the current block; obtaining a residual value of a second image component of the current block based on a predicted value of the second image component of the current block; Including, the reference value of the first image component of the current block is the first image component value of the neighboring sample of the current block; the second image component and the first image component are different; 1. An image prediction method comprising:
2. The image prediction method further includes filtering a first image component of the current block.
2. The image prediction method according to claim 1.
3. Utilizing the filtered reference values to obtain model parameters of a predictive model, obtaining a reference value of a second image component of the current block; obtaining model parameters of the prediction model using the filtered reference values and reference values of a second image component of the current block; Including, the reference value of the second image component of the current block is the second image component value of the neighboring sample of the current block; 2. The image prediction method according to claim 1.
4. downsampling-filtering the reference value of the first image component of the current block to obtain a filtered reference value, If the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a first adjustment operation on the reference value of the first image component of the current block to update the reference value of the first image component of the current block; downsampling-filtering the reference value of the first image component of the current block to obtain the filtered reference value; Including, the first adjustment process is downsampling filtering; 2. The image prediction method according to claim 1.
5. The image prediction method includes: filtering the reference value in a preset processing mode based on the reference value of the first image component of the current block; the preset processing mode includes at least one of filtering and grouping; 5. The image prediction method according to claim 1 or 4.
6. The image prediction method further comprises: When a resolution of the second image component of the image is different from a resolution of the first image component of the image, performing a second adjustment process on the reference value of the second image component of the current block to update the reference value of the second image component of the current block; the second adjustment process is downsampling; 2. The image prediction method according to claim 1.
7. 1. An image prediction method applied to a decoder, comprising: determining a reference value of a first image component of a current block in an image; downsampling-filtering the reference value of the first image component of the current block to obtain a filtered reference value; utilizing the filtered reference values to obtain model parameters of a predictive model; mapping values of a first image component of the current block based on the prediction model to obtain predicted values of a second image component of the current block; obtaining a reconstruction value of the prediction value of the second image component of the current block based on the prediction value of the second image component of the current block and a residual value of the second image component of the current block; Including, the reference value of the first image component of the current block is the first image component value of the neighboring sample of the current block; the second image component and the first image component are different; 1. An image prediction method comprising:
8. The image prediction method further includes filtering a first image component of the current block.
8. The image prediction method according to claim 7.
9. Utilizing the filtered reference values to obtain model parameters of a predictive model, obtaining a reference value of a second image component of the current block; obtaining model parameters of the prediction model using the filtered reference values and reference values of a second image component of the current block; Including, the reference value of the second image component of the current block is the second image component value of the neighboring sample of the current block; 8. The image prediction method according to claim 7.
10. downsampling-filtering the reference value of the first image component of the current block to obtain a filtered reference value, If the resolution of the second image component of the image is different from the resolution of the first image component of the image, performing a first adjustment operation on the reference value of the first image component of the current block to update the reference value of the first image component of the current block; downsampling-filtering the reference value of the first image component of the current block to obtain the filtered reference value; Including, the first adjustment process is downsampling filtering; 8. The image prediction method according to claim 7.
11. The image prediction method includes: filtering the reference value in a preset processing mode based on the reference value of the first image component of the current block; the preset processing mode includes at least one of filtering and grouping; 11. The image prediction method according to claim 7 or 10.
12. The image prediction method further comprises: When a resolution of the second image component of the image is different from a resolution of the first image component of the image, performing a second adjustment process on the reference value of the second image component of the current block to update the reference value of the second image component of the current block; the second adjustment process is downsampling; 8. The image prediction method according to claim 7.
13. A non-transitory computer-readable storage medium for storing a bitstream, comprising: The bitstream, when processed by one or more processors, causes the one or more processors to execute instructions stored on the non-transitory computer-readable storage medium, the instructions causing the one or more processors to perform the image prediction method of claims 1 to 6. A non-transitory computer-readable storage medium comprising:
14. A decoder comprising: a second memory and a second processor; the second memory is used to store a computer program executable by the second processor; The second processor is used to execute the image prediction method according to any one of claims 7 to 12 by executing the computer program. A decoder characterized by:
Citation Information
Patent Citations
Moving image decoder, moving image decoding method, moving image encoder, moving image encoding method and computer readable recording medium
JP2018107692A
Downsampling process for linear model prediction mode
JP2018514119A