An intra prediction method and apparatus for images
By deriveing the spatial affine relationship between the area to be predicted and the non-near area in the image, the spatial deformation vector of the area to be predicted and the prediction value is obtained from the non-near area, the problem of low reference sample utilization in the prior art is solved, and the accuracy and coding efficiency of intra prediction are improved.
Patent Information
- Application Number
- CN202011035054.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-27
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2040-09-27
AI Technical Summary
When existing intra prediction techniques deal with nonlinear motion scenarios, the reference sample utilization rate is low, resulting in low prediction accuracy and encoding efficiency, especially in the undecoded area, the reference sample cannot be effectively utilized.
By utilizing the spatial affine relationship between the area to be predicted and the non-near area in the image, the spatial deformation vector in the area to be predicted is derived, and the prediction value is obtained from the non-near reference area, and the reference sample of the undecoded area is filled with the decoded sample.
The accuracy and encoding efficiency of intra prediction are improved, and the affine transformation model parameters are adaptively obtained, and the utilization rate of the reference samples of the undecoded area is increased.
Smart Images

Figure CN114286090B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to video image processing technology, and particularly to an intra-frame prediction method and apparatus for images. Background Art
[0002] Video image compression is used in many current and emerging products, such as digital TV set-top boxes, high-definition TV decoders, digital versatile disc players, and personal computers, etc. Without video image compression, digital video content may be very large, making it difficult or even impossible to effectively store, transmit, and view digital video content. Over the years, the industry has studied various video coding and decoding methods for compressing digital video content and developed various video image compression standards to standardize video image coding methods, so that compressed digital video content can be stored and transmitted in a format recognizable by most video decoders. For example, the Moving Picture Experts Group (MPEG) and the International Telecommunication Union (ITU-T) have developed widely used video image coding and decoding standards.
[0003] Most video image coding standards utilize various coding techniques such as temporal and spatial prediction, transformation and quantization, and entropy coding to achieve data compression. Video codecs usually include two types of prediction techniques: intra-frame prediction and inter-frame prediction, to improve compression efficiency. Intra-frame prediction utilizes the spatial correlation of pixels within a video frame or image, while inter-frame prediction utilizes the temporal correlation between video frames.
[0004] During intra-frame prediction, the reference samples of the to-be-predicted samples are from the decoded regions of the currently decoded video frame. Intra-frame prediction techniques include local prediction techniques and non-local prediction techniques. Among them, local prediction techniques use the decoded samples adjacent to the spatial position of the to-be-predicted samples for extrapolation to obtain the predicted value of the to-be-predicted samples. Non-local prediction techniques, also known as intra block copy, use a translational matching method in the decoded regions of the currently decoded video frame to find the reference samples of the to-be-predicted samples, where the spatial displacement of the to-be-predicted samples relative to the reference samples is called a block vector.
[0005] Inter-frame prediction technology involves two important concepts, namely reference frames and motion vectors. A reference frame refers to the video frame where the reference samples of the samples to be predicted are located. For inter-frame prediction technology, the reference frame is another decoded video frame other than the current video frame being decoded. A motion vector refers to the cross-temporal motion displacement of the samples to be predicted relative to the reference samples. Most video coding standards assume that the motion of objects in the picture conforms to rigid body motion and follows a translational motion model. However, in the real world, there is diversity in motion, and non-regular motions such as scaling and rotation are common. Now, video coding experts have realized the universality of non-regular motions and hope to improve the inter-frame prediction accuracy and thus the coding efficiency by introducing non-regular motion models (such as the affine motion model).
[0006] For the four-parameter affine motion model, first, it is necessary to obtain the distinct motion vectors of two control points in the region to be predicted. Then, based on the motion vectors of the control points, the positions of the control points, and the position of a certain sample to be predicted, according to the four-parameter affine motion model, the motion vector of the sample to be predicted is derived. As shown in the appendix Figure 1A The two control points in the region to be predicted are respectively the upper-left pixel and the upper-right pixel of the region to be predicted, and the control point positions are (0, 0) and (W - 1, 0) respectively, and the control point motion vectors are respectively and where is composed of the horizontal motion displacement and the vertical motion displacement and is denoted as is composed of the horizontal motion displacement and the vertical motion displacement and is denoted as The position of a certain sample to be predicted is (x, y), then the affine motion vector of the sample to be predicted is obtained from the following model:
[0007]
[0008] For the six-parameter affine motion model, first, it is necessary to obtain the distinct motion vectors of three control points in the region to be predicted. Then, based on the motion vectors of the control points, the positions of the control points, and the position of a certain sample to be predicted, according to the six-parameter affine motion model, the motion vector of the sample to be predicted is derived. As shown in the appendix Figure 1B The three control points in the region to be predicted are respectively the upper-left pixel, the upper-right pixel, and the lower-left pixel of the region to be predicted, and the control point positions are (0, 0), (W - 1, 0), and (0, W - 1) respectively, and the control point motion vectors are respectively and where is composed of the horizontal motion displacement and the vertical motion displacement is composed of, denoted as By the horizontal motion displacement and the vertical motion displacement is composed of, denoted as By the horizontal motion displacement and the vertical motion displacement is composed of, denoted as The position of a certain sample to be predicted is (x, y), then the affine motion vector {mv x , mv y} of this sample to be predicted is obtained by the following model:
[0009]
[0010] Although the inter-frame prediction technology has introduced various prediction technologies based on the affine motion model, the intra-frame prediction technology is still in the exploratory stage. In fact, even within the same video frame, there are sometimes non-linear relationships such as scaling and rotation between the pictures in different regions. For example, in the actual three-dimensional world, parts such as railings and windows repeatedly appear in a building. Even if their actual sizes are the same, due to the perspective imaging principle, scaling will occur in the photographic and video content of the building; if the imaging plane and the building surface are not strictly parallel, rotation will also occur in the photographic and video content of the building. Another example is the increasingly popular short videos in recent years. Users often add some special effects with spatial scaling or spatial rotation relationships. In these situations, the intra-frame prediction technology considering complex linear relationships can effectively improve the prediction accuracy, thereby improving the compression efficiency. Currently, some experts have tried to use the spatial affine transformation model. After obtaining the preliminary reference sample using the intra-frame block matching method, they perform an affine transformation on the preliminary reference sample and use the result of the affine transformation as the final reference sample. However, the processing flow is relatively complex, and the parameters of the affine transformation model can only be selected from a small number of sets or even fixed to a single one, which limits the generality and effectiveness of the application of this solution. Some other experts have tried to borrow a similar inter-frame affine prediction technology to perform a spatial affine deformation on the block vectors of the control points in the intra-frame non-local prediction technology, thereby deriving the block vectors of other prediction points in the region to be predicted and using the derived block vectors for spatial deformation compensation to obtain the pixels at the positions pointed to by the block vectors as reference samples, as described in Appendix Figure 2A and 2B Here, the block vector based on the spatial affine deformation is named the affine deformation vector. However, due to borrowing the inter-frame prediction technology, the technology based on deriving the affine deformation vector can only obtain the reference sample from the decoded region of the image being decoded during the spatial deformation compensation. This results in some reference samples that are very valuable in some extreme cases being considered invalid, such as when the reference sample is located in the undecoded region adjacent to the decoded region of the image being decoded, thus affecting the prediction accuracy and compression efficiency.
[0011] Therefore, there is a need in the art for an intra prediction method and apparatus for an image being decoded to overcome the above-mentioned deficiencies. SUMMARY OF THE INVENTION
[0012] In order to overcome the deficiencies of the above-mentioned intra prediction techniques, the present invention proposes an intra prediction technique and apparatus for an image being decoded. By utilizing the spatial affine relationship between a region to be predicted and its non-neighboring regions in the image being decoded, and increasing the utilization rate of reference samples in the undecoded region, the intra prediction accuracy is improved, thereby improving the coding efficiency.
[0013] The design concept of the present invention is as follows: Utilize the spatial affine relationship between a region to be predicted and its non-neighboring reference regions in the image being decoded. Use the spatial deformation vectors corresponding to at least two control points in the region to be predicted in the non-neighboring reference region. According to the affine deformation model, derive the spatial deformation vectors of the samples to be predicted in the region to be predicted except for the control points, and obtain the predicted values of the samples to be predicted from the non-neighboring reference region according to the derived spatial deformation vectors of the samples to be predicted. When obtaining the predicted values of the samples to be predicted, if reference samples in the undecoded region need to be used, fill out the reference sample values in the undecoded region with neighboring decoded samples.
[0014] The present invention proposes an intra prediction method for an image being decoded, which includes:
[0015] Obtain the affine deformation information of the current block from the bitstream, use the affine deformation information to obtain the affine deformation vectors of at least two control points of the current block, and use the affine model, the affine deformation vectors of the control points of the current block, and the positions of the control points of the current block to obtain the non-identical affine deformation vectors of at least two sub-blocks within the current block;
[0016] Obtain the predicted samples of at least one sub-block according to the affine deformation vectors of the sub-blocks and the samples in the current image; during the process of obtaining the predicted samples of the sub-blocks, if the samples in the current image include samples that are needed for prediction but have not been decoded, then the undecoded samples are generated by the decoded samples neighboring the positions of the undecoded samples in the current image.
[0017] Meanwhile, the present invention proposes an intra prediction apparatus for an image being decoded, which includes:
[0018] Affine deformation information parsing module: Parse and output the affine deformation information of the current block from the input bitstream,
[0019] Control point affine deformation vector calculation module: Use the affine deformation information of the input current block to calculate and output the affine deformation vectors of at least two control points of the current block,
[0020] Sub - block Affine Deformation Vector Calculation Module: Using an affine model, calculate and output non - identical affine deformation vectors of at least two sub - blocks within the current block from the affine deformation vectors of the control points of the input current block and the positions of the control points of the current block.
[0021] Predicted Sample Acquisition Module: Derive and output predicted samples of at least one sub - block from the affine deformation vectors of the input sub - blocks and the samples in the current image.
[0022] The predicted sample acquisition module includes an undecoded sample generation module and a predicted sample derivation module.
[0023] The undecoded sample generation module: If the samples in the current image include samples required for prediction but not yet decoded, input the decoded samples adjacent to the position of the undecoded sample in the current image, and generate and output the undecoded sample according to the generation rule.
[0024] The predicted sample derivation module: Derive and output predicted samples of at least one sub - block from the affine deformation vectors of the input sub - blocks, the decoded samples in the current image, and the generated undecoded samples.
[0025] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0026] The present invention utilizes the spatial affine relationship between the to - be - predicted region and its non - adjacent reference region in the image being decoded, uses the spatial deformation vectors corresponding to at least two control points in the to - be - predicted region in the non - adjacent reference region, and according to the affine deformation model, derives the spatial deformation vectors of the to - be - predicted samples other than the control points in the to - be - predicted region, and obtains the predicted values of the to - be - predicted samples from the non - adjacent reference region according to the derived spatial deformation vectors of the to - be - predicted samples. This avoids the situation where the parameters of the affine transformation model can only be selected from a small number of sets or even fixed to a single value, but can adaptively obtain the parameters of the affine transformation model according to the content of each region of the image, and at the same time improves the utilization rate of the reference samples in the undecoded region. Therefore, it further improves the intra - frame prediction accuracy and thus improves the coding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0028] Figure 1A It is a schematic diagram of a four - parameter affine motion model for inter - frame prediction.
[0029] Figure 1B It is a schematic diagram of the six - parameter affine motion model for inter - frame prediction.
[0030] Figure 2A It is a schematic diagram of the four - parameter affine deformation model for intra - frame prediction.
[0031] Figure 2B It is a schematic diagram of the six - parameter affine deformation model for intra - frame prediction.
[0032] Figure 3 It is a basic structure diagram of the decoder of the existing video image coding and decoding standard.
[0033] Figure 4 It is a flowchart of a method for an intra - frame prediction device for images provided by an embodiment of the present invention.
[0034] Figure 5 It is a schematic diagram of neighboring blocks used for constructing the DVP list based on inheritance.
[0035] Figure 6 It is a schematic diagram of neighboring blocks used for constructing the DVP list based on construction.
[0036] Figure 7 It is a schematic diagram of an intra - frame prediction device for images provided by an embodiment of the present invention.
[0037] Figure 8 It is a schematic diagram of an intra - frame prediction device for images provided by an embodiment of the present invention. Detailed implementation manners
[0038] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
[0039] Some concepts that may be involved in the embodiments of the present invention will be introduced first. Generally, a video image decoder is shown in Figure 2. In the decoder, an entropy decoding unit 123 is used to recover the syntax in the bitstream. The reconstructed transform coefficients obtained after decoding and parsing undergo an inverse quantization (IQ) process and an inverse transform (IT) process (IQ+IT, 116) to reconstruct the prediction residual. At the same time, the decoded syntax element values are processed through intra / inter-frame sub-blocks and then output intra / inter-frame prediction data to a reconstructor 117. The reconstructed prediction residual is then added back to the intra / inter-frame prediction data in the reconstructor 117 to reconstruct the image data. Here, the reconstructed image data is the reconstructed pixel value, and the operation of the reconstructed pixel value is called prediction compensation processing. To reduce the noise in the reconstructed pixel value, one or more filtering techniques such as a deblocking filter 119 and a sample adaptive offset filter 121 are used for filtering. The reconstructed pixel values output after filtering are stored in buffers 118, 120, and 122, or continue to be filtered using filtering techniques for the decoding of subsequent images.
[0040] This specification describes an intra prediction method and apparatus that can be used for both intra-type frames and inter-type frames in a video image codec.
[0041] Embodiment 1
[0042] An intra prediction method for an image provided in this example specifically includes:
[0043] Obtain the affine deformation vectors of two control points of the current block from the bitstream, use a four-parameter affine model, the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the affine deformation vectors of two non-identical sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the prediction samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded. Calculate the average value of all the decoded samples in the same row as the not-yet-decoded sample in the current image, and use the average value as the not-yet-decoded sample.
[0044] The spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks involved in this process is integer-pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is integer-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8. The process is as shown in the appendix Figure 4 as shown.
[0045] Embodiment 2
[0046] An intra prediction method for images provided in this example specifically includes:
[0047] Obtain the affine deformation vectors of two control points of the current block from the bitstream. Use the four-parameter affine model, the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block. And perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the prediction samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded. Calculate the average value of the decoded samples according to at least two decoded samples in the same column as the undecoded sample in the current image, and use the average value as the undecoded sample.
[0048] The spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks involved in this process is integer-pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is integer-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8. The process is as shown in the appendix Figure 4 as shown.
[0049] Example 3
[0050] An intra prediction method for images provided in this example specifically includes:
[0051] Obtain the affine deformation vectors of two control points of the current block from the bitstream. Use the four-parameter affine model, the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block. And perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the prediction samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded. Use the intra-direction prediction method according to all the decoded samples in the same row and the same column as the undecoded sample in the current image, and calculate and generate samples in the 45-degree prediction direction using all the decoded samples, and use the generated samples as the undecoded sample.
[0052] The spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks involved in this process is integer-pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is integer-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8. The process is as shown in the appendix Figure 4 as shown.
[0053] Example 4
[0054] A method for intra prediction of an image provided in this example specifically includes:
[0055] Obtain the affine deformation vectors of two control points of the current block from the bitstream, use the four-parameter affine model, the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the prediction samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded. Starting from the leftmost sample position of the image in the same row as the undecoded sample, search in the right (up, down) direction, and select the first decoded sample as the generated sample. If the search range in the right (up, down) direction exceeds the image range and no decoded sample is still found, then starting from the uppermost sample position of the image in the same column as the undecoded sample, search in the down (left, right) direction, and select the first decoded sample as the generated sample. Use the generated sample as the undecoded sample.
[0056] The spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks involved in this process is integer-pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is integer-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix Figure 4 as follows.
[0057] Example 5
[0058] A method for intra prediction of an image provided in this example specifically includes:
[0059] Obtain the affine deformation vectors of two control points of the current block from the bitstream. Using the four-parameter affine model, the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points, derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded. Starting from the leftmost neighboring sample position of the non-decoded sample, search in the left direction. Select the first decoded sample as the generated sample. If the search range in the left direction exceeds the image range and no decoded sample is still found, then starting from the upper (right, lower) neighboring sample position of the non-decoded sample, search in the upper (right, lower) direction and select the first decoded sample as the generated sample. Take the generated sample as the non-decoded sample.
[0060] The spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks involved in this process is at the integer-pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is at the integer-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix Figure 4 shown.
[0061] Example 6
[0062] An intra-frame prediction method for images provided in this example specifically includes:
[0063] Obtain the affine deformation vectors of two control points of the current block from the bitstream. Using the four-parameter affine model, the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points, derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded. Starting from the upper neighboring sample position of the non-decoded sample, search in the upper direction. Select the first decoded sample as the generated sample. If the search range in the upper direction exceeds the image range and no decoded sample is still found, then starting from the left (right, lower) neighboring sample position of the non-decoded sample, search in the left (right, lower) direction and select the first decoded sample as the generated sample. Take the generated sample as the non-decoded sample.
[0064] The spatial accuracy of the affine deformation vectors of the control points involved in this process and the affine deformation vectors of the sub-blocks is at the integer pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is also at the integer pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4 and 8x8. The process is as attached Figure 4 as shown
[0065] Example 7
[0066] An intra-frame prediction method for images provided in this example specifically includes:
[0067] Obtain the affine deformation vector predictions of three control points of the current block from the bitstream, perform equivalent processing on the affine deformation vector predictions of these three control points, use the affine deformation vector predictions of these three control points as the affine deformation vectors of these three control points, and use the six-parameter affine model, the affine deformation vectors of these three control points of the current block, and the spatial positions of these three control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the uppermost neighboring decoded sample of the non-decoded sample as the non-decoded sample. The spatial accuracy of the predicted affine deformation vectors of the control points, the affine deformation vectors of the control points, and the affine deformation vectors of the sub-blocks involved in this process is at the integer pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is also at the integer pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4 and 8x8. The process is as attached Figure 4 as shown
[0068] Example 8
[0069] An intra-frame prediction method for images provided in this example specifically includes:
[0070] Obtain the affine deformation vector prediction of the three control points of the current block from the bitstream, as well as the affine deformation vector difference between the affine deformation vectors of these three control points and the affine deformation vector predictions of these three control points. Add the affine deformation vector predictions of these three control points and the affine deformation vector differences of these three control points to obtain the affine deformation vectors of these three control points. Use the six-parameter affine model, the affine deformation vectors of these three control points of the current block, and the spatial positions of these three control points to derive the affine deformation vectors of two different sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and the uppermost neighboring decoded sample of the not-yet-decoded sample is used as the not-yet-decoded sample. The spatial accuracy of the affine deformation vector prediction of the control points, the affine deformation vectors of the control points, and the affine deformation vectors of the sub-blocks involved in this process is at the integer-pixel accuracy, and the spatial accuracy of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is at the integer-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4 and 8x8. The process is as shown in the appendix Figure 4 shown.
[0071] Example 9
[0072] An intra-frame prediction method for images provided in this example specifically includes:
[0073] Obtain the index value CPDVP idx of the affine deformation vector prediction CPDVP (control point displacement vector predictor) of the two control points of the current block from the bitstream. Construct an inheritance-based sub-block affine deformation prediction reference DVP (displacement vector prediction) list: as shown in the appendix Figure 5As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group composed of the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A1 to A0. If the first block that meets the conditions is A1, use the control point affine deformation vector of A1, the control point position of A1, and the two control point positions of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group composed of the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B1 to B0 to B2. If the first block that meets the conditions is B1, use the control point affine deformation vector of B1, the control point position of B1, and the two control point positions of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix Figure 6 As shown in the figure, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and derive the CPDVP candidate of the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate of the first control point CP1 of the current block from the second group, and derive the CPDVP candidate of the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the adjacent block A The second group only includes the block vector of the adjacent block D The third group only includes the block vector of the adjacent block F Take as the CPDVP candidate of CP0, take as the CPDVP candidate of CP1, take as the CPDVP candidate of CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP structure candidate. Predict the CPDVP index value CPDVP idx based on the affine deformation vectors of the two control points of the current block. Find the predicted CPDVP of the affine deformation vectors of the two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Perform equivalent processing on the predicted CPDVP of the affine deformation vectors of these two control points, and use the predicted DPDVP of the affine deformation vectors of these two control points as the CPDV (control point displacement vector) of the affine deformation vectors of these two control points. Use the four-parameter affine model, the CPDV of the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the uppermost neighboring decoded sample of the not-yet-decoded sample as the not-yet-decoded sample. The spatial accuracy of the predicted CPDVP of the affine deformation vectors of the control points, the CPDV of the affine deformation vectors of the control points, and the affine deformation vectors of the sub-blocks involved in this process is at the integer pixel accuracy, and the spatial accuracy of the CPDV of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is at the integer pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix <> [[ID= as shown. <> <>
[0074] Example 10 <><> <><>
[0075] An intra-frame prediction method for images provided in this example specifically includes: <><> <><>
[0076] Obtain the CPDVP index value CPDVP idx of the affine deformation vectors of the two control points of the current block from the bitstream. Construct an inheritance-based DVP list: as shown in the appendix <><> As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the control point affine deformation vector of A0, the control point position of A0, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the control point affine deformation vector of B0, the control point position of B0, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix As shown in the figure, when the size of the current block is WxH and the x component and y component of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and deduce the CPDVP candidates for the zeroth control point CP0 of the current block from the first group, deduce the CPDVP candidates for the first control point CP1 of the current block from the second group, and deduce the CPDVP candidates for the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the adjacent block A The second group only includes the block vector of the adjacent block D The third group only includes the block vector of the adjacent block F Take as the CPDVP candidate for CP0, take as the CPDVP candidate for CP1, take as the CPDVP candidate for CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes a third CPDVP structure candidate. Predict the CPDVP index value CPDVP idx based on the affine deformation vectors of the two control points of the current block. Find the predicted CPDVP of the affine deformation vectors of the two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Perform equivalence processing on the predicted CPDVP of the affine deformation vectors of these two control points, and use the predicted DPDVP of the affine deformation vectors of these two control points as the CPDV of the affine deformation vectors of these two control points. Use the four-parameter affine model, the CPDV of the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image based on the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the topmost neighboring decoded sample of the undecoded sample as the undecoded sample. The spatial accuracy of the predicted CPDVP of the affine deformation vectors of the control points, the CPDV of the affine deformation vectors of the control points, and the affine deformation vectors of the sub-blocks involved in this process is at the integer pixel accuracy, and the spatial accuracy of the CPDV of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image is at the integer pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix as shown.
[0077] Example 11
[0078] An intra prediction method for images provided in this example specifically includes:
[0079] Obtain the CPDVP index value CPDVP idx of the affine deformation vectors of three control points of the current block from the bitstream. Construct an inheritance-based DVP list: As shown in the appendix as shown, denote the neighboring block at the lower left corner of the current block as A1, the neighboring block on the left of the current block as A0, the neighboring block at the upper left corner of the current block as B2, the neighboring block above the current block as B0, and the neighboring block at the upper right corner of the current block as B1. In the left block group formed by the neighboring block A1 at the lower left corner and the neighboring block A0 on the left, check the neighboring blocks in the left block group in the search order from A0 to A1. If there is no block that meets the conditions, use the CPDVP composed of zero values as the first affine CPDVP inheritance candidate. In the upper block group formed by the neighboring block B2 at the upper left corner of the current block, the neighboring block B0 above the current block, and the neighboring block B1 at the upper right corner of the current block, check the neighboring blocks in the upper block group in the search order from B0 to B1 to B2. If there is no block that meets the conditions, use the CPDVP composed of zero values as the second affine CPDVP inheritance candidate. Construct a construction-based DVP list: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the top-left sample position of the current block are 0, let the neighboring block A be the sample block including the coordinates (-1, -1), the neighboring block B be the block including the sample with the coordinates (0, -1), the neighboring block C be the block including the sample with the coordinates (-1, 0), the neighboring block D be the block including the sample with the coordinates (W - 1, -1), the neighboring block E be the block including the sample with the coordinates (W, -1), the neighboring block F be the block including the sample with the coordinates (-1, H - 1), and the neighboring block G be the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the neighboring blocks of the current block into a first group, a second group, and a third group, derive the CPDVP candidate for the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate for the first control point CP1 of the current block from the second group, and derive the CPDVP candidate for the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the neighboring block A The second group only includes the block vector of the neighboring block D The third group only includes the block vector of the neighboring block F Take as the CPDVP candidate for CP0, take as the CPDVP candidate for CP1, take as the CPDVP candidate for CP2, The set constitutes the first CPDVP construction candidate. Predict the CPDVP index value CPDVP idx according to the affine deformation vectors of the three control points of the current block. Find the predicted CPDVP of the affine deformation vectors of the three control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Perform equivalent processing on the predicted CPDVP of the affine deformation vectors of these three control points, and use the predicted DPDVP of the affine deformation vectors of these three control points as the CPDV of the affine deformation vectors of these three control points. Use the six-parameter affine model, the CPDV of the affine deformation vectors of these three control points of the current block, and the spatial positions of these three control points to deduce the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the top-nearest decoded sample of the not-yet-decoded sample as the not-yet-decoded sample. The spatial precision of the predicted CPDVP of the control point affine deformation vector, the CPDV of the control point affine deformation vector, and the affine deformation vector of the sub-block involved in this process is integer-pixel precision, and the spatial precision of the CPDV of the control point affine deformation vector and the affine deformation vector of the sub-block used in all regions when decoding the current image is integer-pixel precision. The spatial size of the control point and the sub-block can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix as shown.
[0080] Embodiment 12
[0081] An intra prediction method for images provided in this example specifically includes:
[0082] Obtain the CPDVP index value CPDVP idx of the affine deformation vectors of two control points of the current block from the bitstream. Construct an inheritance-based DVP list: as shown in the appendix As shown, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the control point affine deformation vector of A0, the control point position of A0, and the two control point positions of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the control point affine deformation vector of B0, the control point position of B0, and the two control point positions of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and derive the CPDVP candidates for the zeroth control point CP0 of the current block from the first group, the CPDVP candidates for the first control point CP1 of the current block from the second group, and the CPDVP candidates for the second control point CP2 of the current block from the third group. Among them, the first group includes the block vector of the adjacent block A the block vector of the adjacent block B the block vector of the adjacent block C The second group includes the block vector of the adjacent block D and the block vector of the adjacent block E The third group includes the block vector of the adjacent block F and the block vector of the adjacent block G Check in the search order from A to C to B. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP0. Check in the search order from E to D. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP1. Check in the search order from G to F. If is the first block vector that meets the conditions, and is used as the CPDVP candidate for CP2. The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Predict the CPDVP index value CPDVP idx based on the affine deformation vectors of the two control points of the current block. Find the affine deformation vector prediction CPDVP of the two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Perform equivalence processing on the affine deformation vector prediction CPDVP of these two control points, and use the affine deformation vector prediction DPDVP of these two control points as the affine deformation vector CPDV of these two control points. Use the four-parameter affine model, the affine deformation vector CPDV of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of the two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the prediction samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the uppermost neighboring decoded sample of the non-decoded sample as the non-decoded sample. The spatial precision of the control point affine deformation vector prediction CPDVP, the control point affine deformation vector CPDV, and the affine deformation vector of the sub-block involved in this process is at the integer pixel precision, and the spatial precision of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block used in all regions when decoding the current image is at the integer pixel precision. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix as shown.
[0083] Embodiment 13
[0084] An intra-frame prediction method for images provided in this example specifically includes:
[0085] Obtain the CPDVP index value CPDVP idx of the affine deformation vectors of the two control points of the current block from the bitstream. Construct an inheritance-based DVP list: as shown in the appendix As shown, denote the adjacent block at the lower-left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper-left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper-right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower-left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the control point affine deformation vector of A, the control point position of A0, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper-left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper-right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the control point affine deformation vector of B0, the control point position of B0, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the upper-left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with coordinates (0, -1), the adjacent block C as the block including the sample with coordinates (-1, 0), the adjacent block D as the block including the sample with coordinates (W - 1, -1), the adjacent block E as the block including the sample with coordinates (W, -1), the adjacent block F as the block including the sample with coordinates (-1, H - 1), and the adjacent block G as the block including the sample with coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group. Derive the CPDVP candidate for the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate for the first control point CP1 of the current block from the second group, and derive the CPDVP candidate for the second control point CP2 of the current block from the third group. Among them, the first group includes the block vector of the adjacent block A the block vector of the adjacent block B the block vector of the adjacent block C The second group includes the block vector of the adjacent block D and the block vector of the adjacent block E The third group includes the block vector of the adjacent block F and the block vector of the adjacent block G Check in the search order from A to B to C. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP0. Check in the search order from D to E. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP1. Check in the search order from F to G. If is the first block vector that meets the conditions, and is used as the CPDVP candidate for CP2. The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Predict the CPDVP index value CPDVP idx of the affine deformation vector of the two control points of the current block, and find the affine deformation vector prediction CPDVP of the two control points of the current block corresponding to CPDVP idx in the DVP list based on inheritance and the DVP list based on construction. Perform equivalent processing on the affine deformation vector prediction CPDVP of these two control points, and use the affine deformation vector prediction DPDVP of these two control points as the affine deformation vector CPDV of these two control points. Use the four-parameter affine model, the affine deformation vector CPDV of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of the two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and the topmost neighboring decoded sample of this not-yet-decoded sample is used as this not-yet-decoded sample. The spatial accuracy of the control point affine deformation vector prediction CPDVP, the control point affine deformation vector CPDV, and the affine deformation vector of the sub-block involved in this process is at the integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block used in all regions when decoding the current image is at the integer pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix as shown.
[0086] Example 14
[0087] An intra-frame prediction method for images provided in this example specifically includes:
[0088] Obtain the CPDVP index value CPDVP idx of the affine deformation vector of the three control points of the current block, the affine deformation vector CPDV of these three control points, and the affine deformation vector difference CPDVD (control point displacement vector difference) between these three affine deformation vector predictions CPDVP from the bitstream. Construct a DVP list based on inheritance: as shown in the appendix As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the affine deformation vector of the control points of A0, the position of the control points of A0, and the positions of the three control points of the current block, and use the six-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the affine deformation vector of the control points of B0, the position of the control points of B0, and the positions of the three control points of the current block, and use the six-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix As shown in the figure, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and derive the CPDVP candidate of the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate of the first control point CP1 of the current block from the second group, and derive the CPDVP candidate of the second control point CP2 of the current block from the third group. Among them, the first group includes the block vector of the adjacent block A the block vector of the adjacent block B the block vector of the adjacent block C The second group includes the block vector of the adjacent block D and the block vector of the adjacent block E The third group includes the block vector of the adjacent block F and the block vector of the adjacent block G Check in the search order from A to B to C. If is the first block vector that meets the conditions, take as the CPDVP candidate of CP0. Check in the search order from D to E. If is the first block vector that meets the conditions, take as the CPDVP candidate of CP1. Check in the search order from F to G. If is the first block vector that meets the conditions, and is used as the CPDVP candidate for CP2. The set constitutes the first CPDVP construction candidate. Predict the CPDVP index value CPDVP idx based on the affine deformation vectors of the three control points of the current block, and find the affine deformation vector prediction CPDVP of the three control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Add the affine deformation vector prediction CPDVP of these three control points and the affine deformation vector difference CPDVD of these three control points to obtain the affine deformation vector CPDV of these three control points. Use the six-parameter affine model, the affine deformation vector CPDV of these three control points of the current block, and the spatial positions of these three control points to deduce the non-identical affine deformation vectors of the two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the prediction samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the topmost neighboring decoded sample of the non-decoded sample as the non-decoded sample. The spatial accuracy of the control point affine deformation vector prediction CPDVP, the control point affine deformation vector CPDV, and the affine deformation vector of the sub-block involved in this process is at the whole-pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block used in all regions when decoding the current image is at the whole-pixel accuracy. The spatial size of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix as shown.
[0089] Example 15
[0090] An intra prediction method for images provided in this example specifically includes: <o
[0091] Obtain the CPDVP index value CPDVP idx of the affine deformation vectors of the two control points of the current block, the affine deformation vector CPDV of these two control points, and the affine deformation vector difference CPDVD between these two affine deformation vector predictions CPDVP from the bitstream. Construct an inheritance-based DVP list: as shown in the appendix As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A1, use the control point affine deformation vector of A1, the control point position of A1, and the two control point positions of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B1, use the control point affine deformation vector of B1, the control point position of B1, and the two control point positions of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix As shown in the figure, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and derive the CPDVP candidate of the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate of the first control point CP1 of the current block from the second group, and derive the CPDVP candidate of the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the adjacent block A The second group only includes the block vector of the adjacent block D The third group only includes the block vector of the adjacent block F Take as the CPDVP candidate of CP0, take as the CPDVP candidate of CP1, take as the CPDVP candidate of CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP structure candidate. Predict the CPDVP index value CPDVP idx of the affine deformation vectors of the two control points of the current block, and find the predicted CPDVP of the affine deformation vectors of the two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Add the predicted CPDVP of the affine deformation vectors of these two control points and the CPDVD of the difference in the affine deformation vectors of these two control points to obtain the CPDV of the affine deformation vectors of these two control points. Use the four-parameter affine model, the CPDV of the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to derive the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. When performing prediction compensation, the samples in the current image include the samples required for prediction but not yet decoded, and use the topmost neighboring decoded sample of the not-yet-decoded sample as the not-yet-decoded sample. The spatial accuracy of the predicted CPDVP of the control point affine deformation vector, the CPDV of the control point affine deformation vector, and the affine deformation vector of the sub-block involved in this process is 1 / 16 sub-pixel accuracy, and the spatial accuracy of the CPDV of the control point affine deformation vector and the affine deformation vector of the sub-block used in all regions when decoding the current image is 1 / 16 sub-pixel accuracy. The spatial size of the control point and the sub-block can be a pixel point of size 1x1, or a regular or irregular pixel region such as 4x4, 8x8, etc. The process is as shown in Appendix as shown.
[0092] Example 16
[0093] An intra prediction method for images provided in this example specifically includes:
[0094] Obtain the CPDVP index value CPDVP idx of the affine deformation vectors of the two control points of the current block, the CPDV of the affine deformation vectors of these two control points, and the CPDVD of the difference in the affine deformation vectors between these three predicted CPDVPs from the bitstream. Construct an inheritance-based DVP list: as shown in Appendix As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the condition is A1, use the affine deformation vector of the control points of A1, the positions of the control points of A1, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the condition is B2, use the affine deformation vector of the control points of B2, the positions of the control points of B2, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Construct a DVP list based on the structure: As shown in the appendix As shown in the figure, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and deduce the CPDVP candidates for the zeroth control point CP0 of the current block from the first group, deduce the CPDVP candidates for the first control point CP1 of the current block from the second group, and deduce the CPDVP candidates for the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the adjacent block A The second group only includes the block vector of the adjacent block D The third group only includes the block vector of the adjacent block F Take as the CPDVP candidate for CP0, take as the CPDVP candidate for CP1, take as the CPDVP candidate for CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP structure candidate. Predict the CPDVP index value CPDVP idx based on the affine deformation vectors of the two control points of the current block. Find the predicted CPDVP of the affine deformation vectors of the two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Add the predicted CPDVP of the affine deformation vectors of these two control points and the CPDVD of the difference in the affine deformation vectors of these two control points to obtain the CPDV of the affine deformation vectors of these two control points. Use the four-parameter affine model, the CPDV of the affine deformation vectors of these two control points of the current block, and the spatial positions of these two control points to deduce the non-identical affine deformation vectors of two sub-blocks within the current block, and perform prediction compensation in the current image according to the affine deformation vectors of these two sub-blocks to obtain the predicted samples of these two sub-blocks. The samples in the current image include the samples required for prediction but not yet decoded. Use the uppermost neighboring decoded sample of this not-yet-decoded sample as this not-yet-decoded sample. The spatial accuracy of the predicted CPDVP of the affine deformation vectors of the control points, the CPDV of the affine deformation vectors of the control points, and the affine deformation vectors of the sub-blocks involved in this process is 1 / 16 sub-pixel accuracy, and the spatial accuracies of the CPDV of the affine deformation vectors of the control points and the affine deformation vectors of the sub-blocks used in all regions when decoding the current image are different, including full-pixel accuracy and 1 / 16 sub-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc. The process is as shown in the appendix as shown.
[0095] Example 17
[0096] An intra prediction device for images provided in this example specifically includes:
[0097] The device diagram is as shown in the appendix as shown.
[0098] Affine deformation information parsing module 101: Parse and output the CPDV of the affine deformation vectors of the two control points of the current block from the input bitstream,
[0099] Control point affine deformation vector calculation module 102: The input is the CPDV of the affine deformation vectors of the two control points of the current block output by the affine deformation information parsing module 101. Perform an identity process on the CPDV of the affine deformation vectors of the two control points of the current block and output the CPDV of the affine deformation vectors of the two control points of the current block,
[0100] Sub-block Affine Deformation Vector Calculation Module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the Control Point Affine Deformation Vector Calculation Module 102 and the spatial positions of these two control points of the current block. Using a four-parameter affine model, it calculates and outputs the non-identical affine deformation vectors of two sub-blocks within the current block.
[0101] Predicted Sample Acquisition Module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the Sub-block Affine Deformation Vector Calculation Module 103 and the samples in the current image. It derives and outputs the predicted samples of these two sub-blocks.
[0102] In the Predicted Sample Acquisition Module 104, it includes an Undecoded Sample Generation Module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is all the decoded samples in the same row as this undecoded sample in the current image. It calculates the average value of all these decoded samples and outputs this average value as this undecoded sample.
[0103] In the Predicted Sample Acquisition Module 104, it also includes a Predicted Sample Derivation Module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded sample output by the Undecoded Sample Generation Module 106. It derives and outputs the predicted sample of the sub-block.
[0104] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is integer-pixel accuracy, and when decoding the current image, the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions is integer-pixel accuracy. The spatial sizes of the control points and sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0105] Example 18
[0106] An intra-frame prediction device for images provided in this example specifically includes:
[0107] The device diagram is as shown in the appendix shown.
[0108] Affine Deformation Information Analysis Module 101: It analyzes and outputs the affine deformation vectors CPDV of two control points of the current block from the input bitstream.
[0109] Control Point Affine Deformation Vector Calculation Module 102: The input is the affine deformation vectors CPDV of two control points of the current block output by the Affine Deformation Information Analysis Module 101. It performs an identity operation on the affine deformation vectors CPDV of two control points of the current block and outputs the affine deformation vectors CPDV of two control points of the current block.
[0110] Sub-block Affine Deformation Vector Calculation Module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the Control Point Affine Deformation Vector Calculation Module 102 and the spatial positions of these two control points of the current block. Using a four-parameter affine model, it calculates and outputs the non-identical affine deformation vectors of two sub-blocks within the current block.
[0111] Predicted Sample Acquisition Module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the Sub-block Affine Deformation Vector Calculation Module 103 and the samples in the current image. It derives and outputs the predicted samples of these two sub-blocks.
[0112] In the Predicted Sample Acquisition Module 104, it includes an Undecoded Sample Generation Module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is all the decoded samples in the same column as this undecoded sample in the current image. It calculates the average value of all these decoded samples and outputs this average value as this undecoded sample.
[0113] In the Predicted Sample Acquisition Module 104, it also includes a Predicted Sample Derivation Module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded sample output by the Undecoded Sample Generation Module 106. It derives and outputs the predicted sample of the sub-block.
[0114] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is integer pixel accuracy, and when decoding the current image, the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions is integer pixel accuracy. The spatial size of the control points and sub-blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0115] Embodiment 19
[0116] An intra-frame prediction device for images provided in this example specifically includes:
[0117] The device diagram is as shown in the appendix shown.
[0118] Affine Deformation Information Analysis Module 101: It analyzes and outputs the affine deformation vector CPDV of two control points of the current block from the input bitstream.
[0119] Control Point Affine Deformation Vector Calculation Module 102: The input is the affine deformation vector CPDV of two control points of the current block output by the Affine Deformation Information Analysis Module 101. It performs an identity operation on the affine deformation vector CPDV of two control points of the current block and outputs the affine deformation vector CPDV of two control points of the current block.
[0120] Sub-block Affine Deformation Vector Calculation Module 103: The input is the affine deformation vectors CPDV of two control points in the current block output by the Control Point Affine Deformation Vector Calculation Module 102 and the spatial positions of these two control points in the current block. Using a four-parameter affine model, it calculates and outputs the non-identical affine deformation vectors of two sub-blocks within the current block.
[0121] Predicted Sample Acquisition Module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the Sub-block Affine Deformation Vector Calculation Module 103 and the samples in the current image. It derives and outputs the predicted samples of these two sub-blocks.
[0122] In the Predicted Sample Acquisition Module 104, there is an Undecoded Sample Generation Module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is all the decoded samples in the same row and the same column as this undecoded sample in the current image. Using the intra-frame direction prediction method, in accordance with the 45-degree prediction direction, it calculates and generates a sample using all these decoded samples, and outputs this generated sample as this undecoded sample.
[0123] In the Predicted Sample Acquisition Module 104, there is also a Predicted Sample Derivation Module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded sample output by the Undecoded Sample Generation Module 106. It derives and outputs the predicted sample of the sub-block.
[0124] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is integer-pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions when decoding the current image is integer-pixel accuracy. The spatial sizes of the control points and sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x, 8x8, etc.
[0125] Embodiment 20
[0126] An intra-frame prediction device for an image provided in this example specifically includes:
[0127] The device diagram is as shown in the appendix shown.
[0128] Affine Deformation Information Analysis Module 101: It analyzes and outputs the affine deformation vector CPDV of two control points in the current block from the input bitstream.
[0129] Control Point Affine Deformation Vector Calculation Module 102: The input is the affine deformation vector CPDV of two control points in the current block output by the Affine Deformation Information Analysis Module 101. It performs an identity processing on the affine deformation vector CPDV of two control points in the current block and outputs the affine deformation vector CPDV of two control points in the current block.
[0130] Sub - block Affine Deformation Vector Calculation Module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the control - point affine deformation vector calculation module 102 and the spatial positions of these two control points in the current block. Using a four - parameter affine model, it calculates and outputs the non - identical affine deformation vectors of two sub - blocks within the current block.
[0131] Predicted Sample Acquisition Module 104: The input is the affine deformation vectors of these two sub - blocks within the current block output by the sub - block affine deformation vector calculation module 103 and the samples in the current image. It derives and outputs the predicted samples of these two sub - blocks.
[0132] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is the current image. Starting from the left - most sample position in the same row as the undecoded sample, it searches in the right (up, down) direction and selects the first decoded sample as the generated sample. If the search range in the right (up, down) direction exceeds the image range and no decoded sample is found, then starting from the top - most sample position in the same column as the undecoded sample, it searches in the down (left, right) direction and selects the first decoded sample as the generated sample and outputs it.
[0133] In the predicted sample acquisition module 104, there is also a predicted sample derivation module 107: The input is the affine deformation vector of the sub - block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106. It derives and outputs the predicted samples of the sub - block.
[0134] The spatial accuracy of the control - point affine deformation vector CPDV and the sub - block affine deformation vector involved in this device is at the integer - pixel accuracy, and when decoding the current image, the spatial accuracy of the control - point affine deformation vector CPDV and the sub - block affine deformation vector involved in all regions is at the integer - pixel accuracy. The spatial size of the control points and sub - blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0135] Embodiment 21
[0136] An intra - frame prediction device for images provided in this example specifically includes:
[0137] The device diagram is as shown in the appendix shown.
[0138] Affine Deformation Information Analysis Module 101: Parses and outputs the affine deformation vector CPDV of two control points of the current block from the input bitstream.
[0139] Control Point Affine Deformation Vector Calculation Module 102: The input is the affine deformation vectors CPDV of two control points of the current block output by the Affine Deformation Information Analysis Module 101. It performs an identity operation on the affine deformation vectors CPDV of the two control points of the current block and outputs the affine deformation vectors CPDV of the two control points of the current block.
[0140] Sub - block Affine Deformation Vector Calculation Module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the Control Point Affine Deformation Vector Calculation Module 102 and the spatial positions of these two control points of the current block. Using a four - parameter affine model, it calculates and outputs the non - identical affine deformation vectors of two sub - blocks within the current block.
[0141] Predicted Sample Acquisition Module 104: The input is the affine deformation vectors of the two sub - blocks within the current block output by the Sub - block Affine Deformation Vector Calculation Module 103 and the samples in the current image. It derives and outputs the predicted samples of the two sub - blocks.
[0142] In the Predicted Sample Acquisition Module 104, it includes an Undecoded Sample Generation Module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is the current image. The left - most neighboring sample position of the undecoded sample is used as the search starting point, and a search is performed in the left - hand direction. The first decoded sample is selected as the generated sample. If the search range in the left - hand direction exceeds the image range and no decoded sample is found, then the upper (right - hand, lower) most neighboring sample position of the undecoded sample is used as the search starting point, and a search is performed in the upper (right - hand, lower) direction. The first decoded sample is selected as the generated sample. The generated sample is used as the undecoded sample and output.
[0143] In the Predicted Sample Acquisition Module 104, it also includes a Predicted Sample Derivation Module 107: The input is the affine deformation vector of the sub - block, the decoded samples in the current image, and the undecoded sample output by the Undecoded Sample Generation Module 106. It derives and outputs the predicted sample of the sub - block.
[0144] The spatial accuracy of the control point affine deformation vector CPDV and the sub - block affine deformation vector involved in this device is integer - pixel accuracy, and when decoding the current image, the spatial accuracy of the control point affine deformation vector CPDV and the sub - block affine deformation vector involved in all regions is integer - pixel accuracy. The spatial size of the control points and sub - blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0145] Embodiment 22
[0146] An intra - prediction device for images provided in this example specifically includes:
[0147] The device diagram is as attached as shown
[0148] Affine deformation information analysis module 101: Parse and output the affine deformation vectors CPDV of two control points of the current block from the input bitstream.
[0149] Control point affine deformation vector calculation module 102: The input is the affine deformation vectors CPDV of two control points of the current block output by the affine deformation information analysis module 101. Perform an identity operation on the affine deformation vectors CPDV of two control points of the current block, and output the affine deformation vectors CPDV of two control points of the current block.
[0150] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these two control points of the current block. Use a four-parameter affine model to calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block.
[0151] Predicted sample acquisition module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks.
[0152] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include the samples required for prediction but not yet decoded. The input is the current image. Starting from the topmost neighboring sample position of the undecoded sample, search upward. Select the first decoded sample as the generated sample. If the search range upward exceeds the image range and no decoded sample is still found, then starting from the left (right, bottom) neighboring sample position of the undecoded sample, search left (right, bottom) and select the first decoded sample as the generated sample. Use the generated sample as the undecoded sample and output it.
[0153] In the predicted sample acquisition module 104, there is also a predicted sample deduction module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded sample output by the undecoded sample generation module 106. Deduce and output the predicted sample of the sub-block.
[0154] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is at the integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions when decoding the current image is at the integer pixel accuracy. The spatial sizes of the control points and sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0155] Example 23
[0156] An intra prediction device for images provided in this example specifically includes:
[0157] The device diagram is as shown in the appendix as follows
[0158] Affine deformation information analysis module 101: Parse and output the affine deformation vectors CPDV of the three control points of the current block from the input bitstream
[0159] Control point affine deformation vector calculation module 102: The input is the affine deformation vectors CPDV of the three control points of the current block output by the affine deformation information analysis module 101. Perform an identity operation on the affine deformation vectors CPDV of the three control points of the current block and output the affine deformation vectors CPDV of the three control points of the current block
[0160] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of the three control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of the three control points of the current block. Use the six-parameter affine model to calculate and output the non-identical affine deformation vectors of the two sub-blocks within the current block
[0161] Prediction sample acquisition module 104: The input is the affine deformation vectors of the two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the prediction samples of the two sub-blocks
[0162] In the prediction sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include the samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image. Use this decoded sample as the generated sample. Output the generated sample as the undecoded sample
[0163] In the prediction sample acquisition module 104, there is also a prediction sample deduction module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106. Deduce and output the prediction samples of the sub-block
[0164] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is at the integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions when decoding the current image is at the integer pixel accuracy. The spatial sizes of the control points and sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc
[0165] Example 24
[0166] An intra prediction device for images provided in this example specifically includes:
[0167] The device diagram is as shown in the appendix as follows
[0168] Affine deformation information analysis module 101: Parse and output the affine deformation vector prediction CPDVP of the three control points of the current block, the affine deformation vector CPDV of these three control points, and the affine deformation vector difference CPDVD between these three affine deformation vector predictions CPDVP from the input bitstream
[0169] Control point affine deformation vector calculation module 102: The input is the affine deformation vector prediction CPDVP of the three control points of the current block output by the affine deformation information analysis module 101, the affine deformation vector CPDV of these three control points, and the affine deformation vector difference CPDVD between these three affine deformation vector predictions CPDVP. Add the affine deformation vector prediction CPDVP of these three control points and the affine deformation vector difference CPDVD to obtain the affine deformation vector CPDV of these three control points, and output the affine deformation vector CPDV of the three control points of the current block
[0170] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vector CPDV of the three control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these three control points of the current block. Use the six-parameter affine model to calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block
[0171] Predicted sample acquisition module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks
[0172] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include the samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image, and use this decoded sample as the generated sample. Output the generated sample as the undecoded sample
[0173] In the predicted sample acquisition module 104, there is also a predicted sample deduction module 107: The input is the affine deformation vector of the sub-block, the decoded samples and the undecoded samples in the current image output by the undecoded sample generation module 106. Deduce and output the predicted samples of the sub-block
[0174] The spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in the device is at the integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in all regions is at the integer pixel accuracy when decoding the current image. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8.
[0175] Embodiment 25
[0176] An intra-frame prediction device for images provided in this example specifically includes:
[0177] The device diagram is as shown in the appendix shown.
[0178] Affine deformation information parsing module 101: Parse and output the affine deformation vector prediction CPDVP index value CPDVP idx of two control points of the current block from the input bitstream.
[0179] Control point affine deformation vector calculation module 102: The input is the affine deformation vector prediction CPDVP index value CPDVP idx of two control points of the current block output by the affine deformation information parsing module 101. Construct an inheritance-based DVP list and a construction-based DVP list. Find the affine deformation vector prediction CPDVP of two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Perform an identity process on the affine deformation vector prediction CPDVP of these two control points, and use the affine deformation vector prediction DPDVP of these two control points as the affine deformation vector CPDV of these two control points, and output the affine deformation vector CPDV of two control points of the current block.
[0180] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: The input is the decoded information, and construct an inheritance-based DVP list: As shown in the appendix As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A1 to A0. If the first block that meets the conditions is A1, use the control point affine deformation vector of A1, the control point position of A1, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B1 to B0 to B2. If the first block that meets the conditions is B1, use the control point affine deformation vector of B1, the control point position of B1, and the positions of the two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate.
[0181] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: The input is the decoded information, and an architecture-based DVP list is constructed: As shown in the appendix As shown in the figure, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group. Derive the CPDVP candidate of the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate of the first control point CP1 of the current block from the second group, and derive the CPDVP candidate of the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the adjacent block A The second group only includes the block vector of the adjacent block D The third group only includes the block vector of the adjacent block F Take as the CPDVP candidate of CP0, take as the CPDVP candidate of CP1, take as the CPDVP candidate of CP2, The set constitutes the first CPDVP construction candidate, The set constitutes a second CPDVP structure candidate, The set constitutes a third CPDVP structure candidate. Output a construction-based DVP list consisting of the first CPDVP structure candidate, the second CPDVP structure candidate, and the third CPDVP structure candidate.
[0182] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these two control points of the current block. Using a four-parameter affine model, calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block.
[0183] Predicted sample acquisition module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks.
[0184] In the predicted sample acquisition module 104, it includes an undecoded sample generation module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image, and this decoded sample is used as the generated sample. Output the generated sample as the undecoded sample.
[0185] In the predicted sample acquisition module 104, it also includes a predicted sample deduction module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106. Deduce and output the predicted samples of the sub-block.
[0186] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions when decoding the current image is integer pixel accuracy. The spatial sizes of the control points and sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0187] Embodiment 26
[0188] An intra-frame prediction device for images provided in this example specifically includes:
[0189] The device diagram is as shown in the appendix shown.
[0190] Affine deformation information parsing module 101: Parse and output the affine deformation vector prediction CPDVP index value CPDVP idx of two control points of the current block from the input bitstream.
[0191] Control point affine deformation vector calculation module 102: The input is the predicted CPDVP index value CPDVP idx of the affine deformation vectors of two control points of the current block output by the affine deformation information parsing module 101. It constructs an inheritance-based DVP list and a construction-based DVP list, finds the predicted CPDVP of the affine deformation vectors of two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list, performs an identity operation on the predicted CPDVP of the affine deformation vectors of these two control points, uses the predicted DPDVP of the affine deformation vectors of these two control points as the affine deformation vectors CPDV of these two control points, and outputs the affine deformation vectors CPDV of two control points of the current block.
[0192] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: The input is the decoded information, and constructs an inheritance-based DVP list: As shown in the appendix As shown, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group composed of the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the control point affine deformation vector of A0, the control point position of A0, and the positions of two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group composed of the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the control point affine deformation vector of B0, the control point position of B0, and the positions of two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate.
[0193] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: The input is the decoded information, and constructs a construction-based DVP list: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the upper-left sample position of the current block are 0, it is noted that the neighboring block A is the sample block including the coordinates (-1, -1), the neighboring block B is the block including the sample with the coordinates (0, -1), the neighboring block C is the block including the sample with the coordinates (-1, 0), the neighboring block D is the block including the sample with the coordinates (W - 1, -1), the neighboring block E is the block including the sample with the coordinates (W, -1), the neighboring block F is the block including the sample with the coordinates (-1, H - 1), and the neighboring block G is the block including the sample with the coordinates (-1, H). The affine deformation vectors of the neighboring blocks of the current block are divided into the first group, the second group, and the third group. The CPDVP candidate of the zeroth control point CP0 of the current block is derived from the first group, the CPDVP candidate of the first control point CP1 of the current block is derived from the second group, and the CPDVP candidate of the second control point CP2 of the current block is derived from the third group. Among them, the first group only includes the block vector of the neighboring block A The second group only includes the block vector of the neighboring block D The third group only includes the block vector of the neighboring block F Take as the CPDVP candidate of CP0, take as the CPDVP candidate of CP1, take as the CPDVP candidate of CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Output the construction-based DVP list composed of the first CPDVP construction candidate, the second CPDVP construction candidate, and the third CPDVP construction candidate
[0194] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of the two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these two control points of the current block. Using the four-parameter affine model, calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block
[0195] Predicted sample acquisition module 104: The input is the affine deformation vectors of the two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks
[0196] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include the samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image, and this decoded sample is used as the generated sample. Take the generated sample as the undecoded sample and output it
[0197] In the prediction sample acquisition module 104, there is also a prediction sample derivation module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106, and it derives and outputs the prediction samples of the sub-block.
[0198] The spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in this device is integer pixel accuracy, and when decoding the current image, the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in all regions is integer pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8.
[0199] Example 27
[0200] An intra-frame prediction device for images provided in this example specifically includes:
[0201] The device diagram is as shown in the appendix as follows.
[0202] Affine deformation information parsing module 101: Parse and output the prediction CPDVP index value CPDVP idx of the affine deformation vector of three control points of the current block from the input bitstream.
[0203] Control point affine deformation vector calculation module 102: The input is the prediction CPDVP index value CPDVP idx of the affine deformation vector of three control points of the current block output by the affine deformation information parsing module 101. It constructs an inheritance-based DVP list and a construction-based DVP list, finds the predicted CPDVP of the affine deformation vector of the three control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list, performs an identity process on the predicted CPDVP of the affine deformation vector of these three control points, and uses the predicted DPDVP of the affine deformation vector of these three control points as the affine deformation vector CPDV of these three control points, and outputs the affine deformation vector CPDV of the three control points of the current block.
[0204] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: The input is the decoded information, and it constructs an inheritance-based DVP list: as shown in the appendix As shown, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If there is no block that meets the conditions, use the CPDVP composed of zero values as the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If there is no block that meets the conditions, use the CPDVP composed of zero values as the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate.
[0205] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: The input is the decoded information, and construct the construction-based DVP list: As shown in the appendix As shown, when the size of the current block is WxH and the x component and y component of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, derive the CPDVP candidate of the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidate of the first control point CP1 of the current block from the second group, and derive the CPDVP candidate of the second control point CP2 of the current block from the third group. Among them, the first group only includes the block vector of the adjacent block A The second group only includes the block vector of the adjacent block D The third group only includes the block vector of the adjacent block F Use as the CPDVP candidate of CP0, use as the CPDVP candidate of CP1, use as the CPDVP candidate of CP2, The set constitutes the first CPDVP construction candidate. Output the construction-based DVP list composed of the first CPDVP construction candidate.
[0206] Sub - block Affine Deformation Vector Calculation Module 103: The input is the affine deformation vectors CPDV of three control points of the current block output by the Control Point Affine Deformation Vector Calculation Module 102 and the spatial positions of these three control points of the current block. Using a six - parameter affine model, it calculates and outputs the non - identical affine deformation vectors of two sub - blocks within the current block.
[0207] Predicted Sample Acquisition Module 104: The input is the affine deformation vectors of these two sub - blocks within the current block output by the Sub - block Affine Deformation Vector Calculation Module 103 and the samples in the current image. It derives and outputs the predicted samples of these two sub - blocks.
[0208] In the Predicted Sample Acquisition Module 104, there is an Undecoded Sample Generation Module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is the left - most neighboring decoded sample of the undecoded sample in the current image, and this decoded sample is used as the generated sample. The generated sample is used as the undecoded sample and output.
[0209] In the Predicted Sample Acquisition Module 104, there is also a Predicted Sample Derivation Module 107: The input is the affine deformation vector of the sub - block, the decoded samples in the current image, and the undecoded samples output by the Undecoded Sample Generation Module 106. It derives and outputs the predicted samples of the sub - block.
[0210] The spatial accuracy of the control point affine deformation vector CPDV and the sub - block affine deformation vector involved in this device is integer - pixel accuracy, and when decoding the current image, the spatial accuracy of the control point affine deformation vector CPDV and the sub - block affine deformation vector involved in all regions is integer - pixel accuracy. The spatial sizes of the control points and sub - blocks can be pixel points of size 1x1, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0211] Embodiment 28
[0212] An intra - frame prediction device for images provided in this example specifically includes:
[0213] The device diagram is as shown in the appendix shown.
[0214] Affine Deformation Information Analysis Module 101: Parse and output the CPDV prediction CPDVP index value CPDVP idx of two control points of the current block from the input bitstream.
[0215] Control point affine deformation vector calculation module 102: The input is the predicted CPDVP index value CPDVP idx of the affine deformation vectors of two control points of the current block output by the affine deformation information parsing module 101. It constructs an inheritance-based DVP list and a construction-based DVP list, finds the predicted CPDVP of the affine deformation vectors of two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list, performs an identity processing on the predicted CPDVP of the affine deformation vectors of these two control points, uses the predicted DPDVP of the affine deformation vectors of these two control points as the affine deformation vectors CPDV of these two control points, and outputs the affine deformation vectors CPDV of two control points of the current block.
[0216] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: The input is the decoded information, and constructs an inheritance-based DVP list: As shown in the appendix Shown in the figure, denote the lower-left neighboring block of the current block as A1, the left neighboring block of the current block as A0, the upper-left neighboring block of the current block as B2, the upper neighboring block of the current block as B0, and the upper-right neighboring block of the current block as B1. In the left block group formed by the lower-left neighboring block A1 and the left neighboring block A0, check the neighboring blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the control point affine deformation vector of A0, the control point position of A0, and the positions of two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the upper-left neighboring block B2, the upper neighboring block B0, and the upper-right neighboring block B1 of the current block, check the neighboring blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the control point affine deformation vector of B0, the control point position of B0, and the positions of two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate.
[0217] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: The input is the decoded information, and constructs a construction-based DVP list: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the upper-left sample position of the current block are 0, it is noted that neighboring block A is the sample block including the coordinates (-1, -1), neighboring block B is the block including the sample with coordinates (0, -1), neighboring block C is the block including the sample with coordinates (-1, 0), neighboring block D is the block including the sample with coordinates (W - 1, -1), neighboring block E is the block including the sample with coordinates (W, -1), neighboring block F is the block including the sample with coordinates (-1, H - 1), and neighboring block G is the block including the sample with coordinates (-1, H). Divide the affine deformation vectors of the neighboring blocks of the current block into the first group, the second group, and the third group, derive the CPDVP candidates for the zeroth control point CP0 of the current block from the first group, derive the CPDVP candidates for the first control point CP1 of the current block from the second group, and derive the CPDVP candidates for the second control point CP2 of the current block from the third group. Among them, the first group includes the block vector of neighboring block A the block vector of neighboring block B the block vector of neighboring block C The second group includes the block vector of neighboring block D and the block vector of neighboring block E The third group includes the block vector of neighboring block F and the block vector of neighboring block G Check in the search order from A to C to B. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP0. Check in the search order from E to D. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP1. Check in the search order from G to F. If is the first block vector that meets the conditions, take as the CPDVP candidate for CP2. The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Output the construction-based DVP list composed of the first CPDVP construction candidate, the second CPDVP construction candidate, and the third CPDVP construction candidate.
[0218] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of the two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these two control points of the current block. Using the four-parameter affine model, calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block.
[0219] Prediction sample acquisition module 104: The input is the affine deformation vectors of the two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. It derives and outputs the prediction samples of the two sub-blocks.
[0220] In the prediction sample acquisition module 104, it includes an undecoded sample generation module 106: The samples in the current image include the samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image, and this decoded sample is used as the generated sample. The generated sample is used as the undecoded sample and output.
[0221] In the prediction sample acquisition module 104, it also includes a prediction sample derivation module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded sample output by the undecoded sample generation module 106. It derives and outputs the prediction sample of the sub-block.
[0222] The spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in this device is integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in all regions when decoding the current image is integer pixel accuracy. The spatial size of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0223] Embodiment 29
[0224] An intra-frame prediction device for images provided in this example specifically includes:
[0225] The device diagram is as shown in the appendix shown.
[0226] Affine deformation information parsing module 101: It parses and outputs the CPDVP index value CPDVP idx of the affine deformation vector prediction of the two control points of the current block from the input bitstream.
[0227] Control point affine deformation vector calculation module 102: The input is the CPDVP index value CPDVP idx of the affine deformation vector prediction of the two control points of the current block output by the affine deformation information parsing module 101. It constructs an inheritance-based DVP list and a construction-based DVP list, finds the affine deformation vector prediction CPDVP of the two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list, performs an identity processing on the affine deformation vector prediction CPDVP of the two control points, and uses the affine deformation vector prediction DPDVP of the two control points as the affine deformation vector CPDV of the two control points, and outputs the affine deformation vector CPDV of the two control points of the current block.
[0228] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: the input is the decoded information, and the inheritance-based DVP list is constructed: As shown, the lower left neighboring block of the current block is A1, the left neighboring block of the current block is A0, the upper left neighboring block of the current block is B2, the upper neighboring block of the current block is B0, and the upper right neighboring block of the current block is B1. In the left block group consisting of the lower left neighboring block A1 and the left neighboring block A0, the neighboring blocks in the left block group are checked in the search order from A0 to A1. If the first block that meets the conditions is A0, the first affine CPDVP inheritance candidate is calculated using the affine deformation vector of A0's control point, the control point position of A0, and the two control point positions of the current block using a four-parameter affine model. In the upper block group consisting of the current block's upper-left neighboring block B2, the current block's upper neighboring block B0, and the current block's upper-right neighboring block B1, the adjacent blocks in the upper block group are checked in the search order B0 to B1 to B2. If the first block that meets the conditions is B0, a second affine CPDVP successor candidate is calculated using the affine deformation vector of B0's control points, the positions of B0's control points, and the positions of the two control points of the current block using a four-parameter affine model. An inheritance-based DVP list consisting of the first affine CPDVP successor candidate and the second affine CPDVP successor candidate is output.
[0229] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: the input is the decoded information, and the DVP list based on the construction is constructed: As shown, when the size of the current block is WxH and the x component and y component of the upper left sample position of the current block are 0, the neighboring block A is a sample block including the coordinates (-1, -1), the neighboring block B is a block including the sample at the coordinates (0, -1), the neighboring block C is a block including the sample at the coordinates (-1, 0), the neighboring block D is a block including the sample at the coordinates (W-1, -1), the neighboring block E is a block including the sample at the coordinates (W, -1), the neighboring block F is a block including the sample at the coordinates (-1, H-1), and the neighboring block G is a block including the sample at the coordinates (-1, H). The affine deformation vectors of the neighboring blocks of the current block are divided into a first group, a second group, and a third group. The CPDVP candidate of the zeroth control point CP0 of the current block is derived from the first group, the CPDVP candidate of the first control point CP1 of the current block is derived from the second group, and the CPDVP candidate of the second control point CP2 of the current block is derived from the third group. The first group includes the block vectors of the neighboring block A. Block vector of neighboring block B Block vector of neighboring block C The second group includes the block vectors of the neighboring block D and the block vector of the neighboring block E The third group includes the block vectors adjacent to block F and the block vectors adjacent to block G Check in the search order from A to B to C. If is the first block vector that meets the conditions, then is used as the CPDVP candidate for CP0. Check in the search order from D to E. If is the first block vector that meets the conditions, then is used as the CPDVP candidate for CP1. Check in the search order from F to G. If is the first block vector that meets the conditions, then is used as the CPDVP candidate for CP2. The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Output the construction-based DVP list composed of the first CPDVP construction candidate, the second CPDVP construction candidate, and the third CPDVP construction candidate.
[0230] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these two control points of the current block. Using a four-parameter affine model, calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block.
[0231] Predicted sample acquisition module 104: The input is the affine deformation vectors of these two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks.
[0232] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include the samples required for prediction but not yet decoded. The input is the leftmost adjacent decoded sample of the undecoded sample in the current image. Use this decoded sample as the generated sample. Output the generated sample as the undecoded sample.
[0233] In the predicted sample acquisition module 104, there is also a predicted sample deduction module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106. Deduce and output the predicted samples of the sub-block.
[0234] The spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in the device is at the integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block involved in all regions is at the integer pixel accuracy when decoding the current image. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8.
[0235] Embodiment 30
[0236] An intra prediction device for images provided in this example specifically includes:
[0237] The device diagram is as shown in the appendix as follows.
[0238] Affine deformation information parsing module 101: Parse and output the affine deformation vector prediction CPDVP index value CPDVP idx of the three control points of the current block, the affine deformation vector CPDV of these three control points, and the affine deformation vector difference CPDVD between the affine deformation vector prediction CPDVP of these three control points from the input bitstream.
[0239] Control point affine deformation vector calculation module 102: The input is the affine deformation vector prediction CPDVP index value CPDVP idx of the three control points of the current block output by the affine deformation information parsing module 101, the affine deformation vector CPDV of these three control points, and the affine deformation vector difference CPDVD between the affine deformation vector prediction CPDVP of these three control points. Construct an inheritance-based DVP list and a construction-based DVP list, find the affine deformation vector prediction CPDVP of the three control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list, add the affine deformation vector prediction CPDVP of these three control points and the affine deformation vector difference CPDVD of these three control points to obtain the affine deformation vector CPDV of these three control points, and output the affine deformation vector CPDV of the three control points of the current block.
[0240] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: The input is the decoded information, and constructs an inheritance-based DVP list: as shown in the appendix As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group formed by the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A0, use the control point affine deformation vector of A0, the control point position of A0, and the three control point positions of the current block, and use the six-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group formed by the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B0, use the control point affine deformation vector of B0, the control point position of B0, and the three control point positions of the current block, and use the six-parameter affine model to calculate the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate.
[0241] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: The input is the decoded information, and an architecture-based DVP list is constructed: As shown in the appendix As shown in the figure, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, denote the adjacent block A as the sample block including the coordinates (-1, -1), the adjacent block B as the block including the sample with the coordinates (0, -1), the adjacent block C as the block including the sample with the coordinates (-1, 0), the adjacent block D as the block including the sample with the coordinates (W - 1, -1), the adjacent block E as the block including the sample with the coordinates (W, -1), the adjacent block F as the block including the sample with the coordinates (-1, H - 1), and the adjacent block G as the block including the sample with the coordinates (-1, H). Divide the affine deformation vectors of the adjacent blocks of the current block into the first group, the second group, and the third group, and derive the CPDVP candidate of the zero control point CP0 of the current block from the first group, derive the CPDVP candidate of the first control point CP1 of the current block from the second group, and derive the CPDVP candidate of the second control point CP2 of the current block from the third group. Among them, the first group includes the block vector of adjacent block A the block vector of adjacent block B the block vector of adjacent block C The second group includes the block vector of adjacent block D and the block vector of adjacent block E The third group includes the block vector of adjacent block F and the block vector of adjacent block G Check in the search order from A to B to C. If is the first block vector that meets the conditions, then As a CPDVP candidate for CP0. Check in the search order from D to E. If is the first block vector that meets the conditions, then is used as a CPDVP candidate for CP1. Check in the search order from F to G. If is the first block vector that meets the conditions, then is used as a CPDVP candidate for CP2. The set constitutes the first CPDVP construction candidate. Output the construction-based DVP list composed of the first CPDVP construction candidate.
[0242] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of the three control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these three control points of the current block. Using the six-parameter affine model, calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block.
[0243] Predicted sample acquisition module 104: The input is the affine deformation vectors of the two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks.
[0244] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image. Use this decoded sample as the generated sample. Output the generated sample as the undecoded sample.
[0245] In the predicted sample acquisition module 104, there is also a predicted sample deduction module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106. Deduce and output the predicted samples of the sub-block.
[0246] The spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in this device is integer pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the sub-block affine deformation vector involved in all regions when decoding the current image is integer pixel accuracy. The spatial sizes of the control points and sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4, 8x8, etc.
[0247] Embodiment 31
[0248] An intra-frame prediction device for images provided in this example specifically includes:
[0249] The device diagram is as shown in the appendix as shown
[0250] Affine deformation information parsing module 101: Parse and output from the input bitstream the affine deformation vector prediction CPDVP index value CPDVP idx of two control points of the current block, the affine deformation vectors CPDV of these two control points, and the affine deformation vector difference CPDVD between these two affine deformation vector predictions CPDVP
[0251] Control point affine deformation vector calculation module 102: The input is the affine deformation vector prediction CPDVP index value CPDVP idx of two control points of the current block output by the affine deformation information parsing module 101, the affine deformation vectors CPDV of these two control points, and the affine deformation vector difference CPDVD between these two affine deformation vector predictions CPDVP. Construct an inheritance-based DVP list and a construction-based DVP list, find the affine deformation vector prediction CPDVP of two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list, add the affine deformation vector prediction CPDVP of these two control points and the affine deformation vector difference CPDVD of these two control points to obtain the affine deformation vectors CPDV of these two control points, and output the affine deformation vectors CPDV of two control points of the current block
[0252] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 108: The input is the decoded information, and construct an inheritance-based DVP list: As shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group composed of the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A1, use the affine deformation vector of the control points of A1, the control point positions of A1, and the control point positions of two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group composed of the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B1, use the affine deformation vector of the control points of B1, the control point positions of B1, and the control point positions of two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate
[0253] The control point affine deformation vector calculation module 102 includes an inheritance-based DVP list construction module 109: The input is the decoded information, and a construction-based DVP list is constructed: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the upper left sample position of the current block are 0, it is recorded that the neighboring block A is the sample block including the coordinates (-1, -1), the neighboring block B is the block including the sample with the coordinates (0, -1), the neighboring block C is the block including the sample with the coordinates (-1, 0), the neighboring block D is the block including the sample with the coordinates (W - 1, -1), the neighboring block E is the block including the sample with the coordinates (W, -1), the neighboring block F is the block including the sample with the coordinates (-1, H - 1), and the neighboring block G is the block including the sample with the coordinates (-1, H). The affine deformation vectors of the neighboring blocks of the current block are divided into the first group, the second group, and the third group. The CPDVP candidates for the zeroth control point CP0 of the current block are derived from the first group, the CPDVP candidates for the first control point CP1 of the current block are derived from the second group, and the CPDVP candidates for the second control point CP2 of the current block are derived from the third group. Among them, the first group only includes the block vector of the neighboring block A The second group only includes the block vector of the neighboring block D The third group only includes the block vector of the neighboring block F Take as the CPDVP candidate for CP0, take as the CPDVP candidate for CP1, take as the CPDVP candidate for CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Output the construction-based DVP list composed of the first CPDVP construction candidate, the second CPDVP construction candidate, and the third CPDVP construction candidate.
[0254] The sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of the two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of the two control points of the current block. Using the four-parameter affine model, calculate and output the non-identical affine deformation vectors of the two sub-blocks within the current block.
[0255] The predicted sample acquisition module 104: The input is the affine deformation vectors of the two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image, and derives and outputs the predicted samples of the two sub-blocks.
[0256] In the prediction sample acquisition module 104, there is an undecoded sample generation module 106: Samples in the current image include samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image, and this decoded sample is used as the generated sample. The generated sample is used as the undecoded sample and output.
[0257] In the prediction sample acquisition module 104, there is also a prediction sample derivation module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded sample output by the undecoded sample generation module 106, and the prediction sample of the sub-block is derived and output.
[0258] The spatial accuracy of the control point affine deformation vector prediction CPDVP, the control point affine deformation vector CPDV, and the affine deformation vector of the sub-block involved in the device is 1 / 16 sub-pixel accuracy, and the spatial accuracy of the control point affine deformation vector CPDV and the affine deformation vector of the sub-block used in all regions when decoding the current image is 1 / 16 sub-pixel accuracy. The spatial size of the control point and the sub-block can be a pixel point of size 1x1, or a regular or irregular pixel region such as 4x4, 8x8, etc.
[0259] Embodiment 32
[0260] An intra-frame prediction device for an image provided in this example specifically includes:
[0261] The device diagram is as shown in the appendix as follows.
[0262] Affine deformation information parsing module 101: Parse and output the CPDVP index value CPDVP idx of the affine deformation vector prediction of two control points of the current block, the affine deformation vector CPDV of these two control points, and the affine deformation vector difference CPDVD between these two affine deformation vector predictions CPDVP from the input bitstream.
[0263] Control Point Affine Deformation Vector Calculation Module 102: The input is the affine deformation vector prediction CPDVP index value CPDVP idx of two control points of the current block output by the Affine Deformation Information Analysis Module 101, the affine deformation vectors CPDV of these two control points, and the affine deformation vector difference CPDVD between the affine deformation vector predictions CPDVP of these two control points. Construct an inheritance-based DVP list and a construction-based DVP list. Find the affine deformation vector prediction CPDVP of two control points of the current block corresponding to CPDVP idx in the inheritance-based DVP list and the construction-based DVP list. Add the affine deformation vector prediction CPDVP of these two control points and the affine deformation vector difference CPDVD of these two control points to obtain the affine deformation vectors CPDV of these two control points, and output the affine deformation vectors CPDV of two control points of the current block.
[0264] The Control Point Affine Deformation Vector Calculation Module 102 includes an Inheritance-based DVP List Construction Module 108: The input is the decoded information, and an inheritance-based DVP list is constructed: As shown in the appendix Shown in the figure, denote the adjacent block at the lower left corner of the current block as A1, the adjacent block on the left of the current block as A0, the adjacent block at the upper left corner of the current block as B2, the adjacent block above the current block as B0, and the adjacent block at the upper right corner of the current block as B1. In the left block group composed of the adjacent block A1 at the lower left corner and the adjacent block A0 on the left, check the adjacent blocks in the left block group in the search order from A0 to A1. If the first block that meets the conditions is A1, use the control point affine deformation vector of A1, the control point position of A1, and the positions of two control points of the current block, and use the four-parameter affine model to calculate the first affine CPDVP inheritance candidate. In the upper block group composed of the adjacent block B2 at the upper left corner of the current block, the adjacent block B0 above the current block, and the adjacent block B1 at the upper right corner of the current block, check the adjacent blocks in the upper block group in the search order from B0 to B1 to B2. If the first block that meets the conditions is B2, use the control point affine deformation vector of B2, the control point position of B2, and the positions of two control points of the current block, and use the four-parameter affine model to calculate the second affine CPDVP inheritance candidate. Output the inheritance-based DVP list composed of the first affine CPDVP inheritance candidate and the second affine CPDVP inheritance candidate.
[0265] The Control Point Affine Deformation Vector Calculation Module 102 includes a Construction-based DVP List Construction Module 109: The input is the decoded information, and a construction-based DVP list is constructed: As shown in the appendix As shown, when the size of the current block is WxH and the x and y components of the upper-left sample position of the current block are 0, it is noted that the neighboring block A is a sample block including the coordinates (-1, -1), the neighboring block B is a block of samples including the coordinates (0, -1), the neighboring block C is a block of samples including the coordinates (-1, 0), the neighboring block D is a block of samples including the coordinates (W - 1, -1), the neighboring block E is a block of samples including the coordinates (W, -1), the neighboring block F is a block of samples including the coordinates (-1, H - 1), and the neighboring block G is a block of samples including the coordinates (-1, H). The affine deformation vectors of the neighboring blocks of the current block are divided into the first group, the second group, and the third group. The CPDVP candidate of the zeroth control point CP0 of the current block is derived from the first group, the CPDVP candidate of the first control point CP1 of the current block is derived from the second group, and the CPDVP candidate of the second control point CP2 of the current block is derived from the third group. Among them, the first group only includes the block vector of the neighboring block A The second group only includes the block vector of the neighboring block D The third group only includes the block vector of the neighboring block F Take as the CPDVP candidate of CP0, take as the CPDVP candidate of CP1, take as the CPDVP candidate of CP2, The set constitutes the first CPDVP construction candidate, The set constitutes the second CPDVP construction candidate, The set constitutes the third CPDVP construction candidate. Output a construction-based DVP list composed of the first CPDVP construction candidate, the second CPDVP construction candidate, and the third CPDVP construction candidate.
[0266] Sub-block affine deformation vector calculation module 103: The input is the affine deformation vectors CPDV of the two control points of the current block output by the control point affine deformation vector calculation module 102 and the spatial positions of these two control points of the current block. Using a four-parameter affine model, calculate and output the non-identical affine deformation vectors of two sub-blocks within the current block.
[0267] Predicted sample acquisition module 104: The input is the affine deformation vectors of the two sub-blocks within the current block output by the sub-block affine deformation vector calculation module 103 and the samples in the current image. Deduce and output the predicted samples of these two sub-blocks,
[0268] In the predicted sample acquisition module 104, there is an undecoded sample generation module 106: The samples in the current image include samples required for prediction but not yet decoded. The input is the leftmost neighboring decoded sample of the undecoded sample in the current image. Take this decoded sample as the generated sample. Take the generated sample as the undecoded sample and output it.
[0269] In the prediction sample acquisition module 104, there is also a prediction sample derivation module 107: The input is the affine deformation vector of the sub-block, the decoded samples in the current image, and the undecoded samples output by the undecoded sample generation module 106, and the prediction samples of the sub-block are derived and output.
[0270] The spatial accuracy of the control point affine deformation vector prediction CPDVP, the control point affine deformation vector CPDV, and the sub-block affine deformation vector involved in the device is 1 / 16 sub-pixel accuracy, and the spatial accuracies of the control point affine deformation vector CPDV and the sub-block affine deformation vector used in all regions when decoding the current image are different, including whole pixel accuracy and 1 / 16 sub-pixel accuracy. The spatial sizes of the control points and the sub-blocks can be pixel points of 1x1 size, or regular or irregular pixel regions such as 4x4 and 8x8.
[0271] The above content is a further detailed description of the present invention in combination with specific implementation manners. It cannot be determined that the specific implementation of the present invention is only limited to these descriptions. For those skilled in the art of the present invention, without departing from the concept of the present invention, several equivalent substitutions or obvious variations can be made, and if the performance or use is the same, they should all be regarded as belonging to the protection scope of the present invention.
Claims
1. A method for intra-frame prediction of an image, characterized by: Obtaining affine deformation information of the current block from a bitstream, obtaining affine deformation vectors of at least two control points of the current block using the affine deformation information, and obtaining different affine deformation vectors of at least two sub-blocks in the current block using an affine model, the affine deformation vectors of the control points of the current block, and positions of the control points of the current block; Obtain prediction samples of at least one sub-block based on the affine deformation vector of the sub-block and samples in the current image; in the process of obtaining the prediction samples of the sub-block, if the samples in the current image include samples required for prediction but not yet decoded, then the not yet decoded samples are generated from decoded samples in the current image that are adjacent to the position of the not yet decoded samples.
2. The intra-frame prediction method for an image according to claim 1, wherein: The undecoded sample is generated from at least two decoded samples adjacent to the undecoded sample in the current image.
3. The intra-frame prediction method for an image according to claim 2, characterized in that The generation rule of the undecoded samples is: An intra-frame directional prediction method is used, and according to a certain prediction direction, all decoded samples are used to calculate generated samples, and the generated samples are used as the samples that have not yet been decoded.
4. The intra-frame prediction method for an image according to claim 1, characterized in that The generation rule of the undecoded samples is: According to a certain search rule, a decoded sample adjacent to the position of the undecoded sample in the current image is selected as a generated sample, and the generated sample is used as the undecoded sample.
5. The intra-frame prediction method for an image according to claim 4, wherein: The certain search rule includes taking the position of the undecoded sample closest to the undecoded sample in a certain direction as the search starting point, searching in that direction, and selecting the first decoded sample as the generated sample; If the search range in the previous direction exceeds the image range and no decoded sample is found, the position of the undecoded sample closest to the undecoded sample in the other direction is used as the search starting point, and the search is performed in the other direction, and the first decoded sample is selected as the generated sample.
6. An intra-frame prediction device for an image, characterized in that: Affine deformation information parsing module: parses the input bit stream and outputs the affine deformation information of the current block; A control point affine deformation vector calculation module: uses the input affine deformation information of the current block to calculate and output the affine deformation vectors of at least two control points of the current block; A sub-block affine deformation vector calculation module: uses an affine model to calculate and output different affine deformation vectors of at least two sub-blocks in the current block from the input affine deformation vectors of the control points of the current block and the positions of the control points of the current block; Prediction sample acquisition module: derives and outputs prediction samples of at least one sub-block from the input affine deformation vector of the sub-block and samples in the current image; The prediction sample acquisition module includes an undecoded sample generation module and a prediction sample derivation module; The undecoded sample generation module: if the sample in the current image includes a sample required for prediction but not yet decoded, then inputs decoded samples in the current image adjacent to the position of the undecoded sample, generates and outputs the undecoded sample according to the generation rule; The prediction sample derivation module is configured to derive and output a prediction sample of at least one sub-block from the input affine deformation vector of the sub-block, decoded samples in the current image, and the generated undecoded samples.
7. The intra-frame prediction apparatus for an image according to claim 6, wherein: In the undecoded sample generation module, the input is at least two decoded samples in the current image that are adjacent to the position of the undecoded sample.
8. The intra-frame prediction apparatus for an image according to claim 7, characterized in that The generation rule of the undecoded samples is: An intra-frame directional prediction method is used, and according to a certain prediction direction, all decoded samples are used to calculate generated samples, and the generated samples are used as the samples that have not yet been decoded.
9. The intra-frame prediction apparatus for an image according to claim 6, characterized in that The generation rule of the undecoded samples is: According to a certain search rule, a decoded sample adjacent to the position of the undecoded sample in the current image is selected as a generated sample, and the generated sample is used as the undecoded sample.
10. The intra-frame prediction apparatus for an image according to claim 9, wherein: The certain search rule includes taking the position of the undecoded sample closest to the undecoded sample in a certain direction as the search starting point, searching in that direction, and selecting the first decoded sample as the generated sample; If the search range in the previous direction exceeds the image range and no decoded sample is found, the position of the undecoded sample closest to the undecoded sample in the other direction is used as the search starting point, and the search is performed in the other direction, and the first decoded sample is selected as the generated sample.
Citation Information
Patent Citations
Search region determination for intra block copy in video coding
KR1020160135226A
Image coding method based on affine inter prediction and device therefor
WO2019194506A1