Inter prediction method and decoding method, electronic device, and storage medium
The inter prediction method improves segmentation accuracy and reduces complexity and overhead by using neighboring coding block parameters to construct a partition mode candidate list and perform weighted fusion, addressing the inefficiencies of existing methods.
Patent Information
- Application Number
- JP2025528321
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-11-18
- Filing Date
- 2023-10-07
- Publication Date
- 2025-10-30
AI Technical Summary
The existing inter prediction methods in video encoding/decoding processes suffer from high computational complexity and transmission overhead due to the traversal of a pre-defined list of 64 geometric partitioning modes for determining the partition mode of coding blocks.
An inter prediction method that utilizes geometric partitioning mode parameters of neighboring coding blocks to improve segmentation accuracy and reduce transmission overhead by constructing a partition mode candidate list based on these parameters, and performing inter prediction using weighted fusion of predicted values.
This approach enhances the accuracy of inter prediction while significantly reducing computational complexity and transmission overhead by leveraging edge continuity information from neighboring blocks.
Smart Images

Figure 2025536093000001_ABST
Abstract
Description
[Technical Field]
[0001] The present application relates to the field of communications technology, for example, to an inter-prediction method and a decoding method, an electronic device, and a storage medium. [Background technology]
[0002] In a video encoding / decoding process, a current block can be processed using either intra prediction or inter prediction. Here, the inter prediction method includes motion estimation and motion compensation. In motion compensation, a geometric partitioning mode (GPM) is used to divide the current block into two non-rectangular partitions, and the two partitions are predicted separately and then weighted and merged to obtain a predicted value for the current block. In the current inter prediction method, the GPM partition mode is determined by traversing a pre-defined list of 64 modes. The decoding side determines the partition mode adopted by the coding block by analyzing the partition mode index in the video encoding code stream, which results in high computational complexity and transmission overhead. Summary of the Invention [Problem to be solved by the invention]
[0003] In view of this, the embodiments of the present application provide an inter-prediction method, a decoding method, an electronic device, and a storage medium that effectively reduce transmission overhead and improve segmentation accuracy. [Means for solving the problem]
[0004] The present embodiment is obtaining a current video frame and determining a current coding block in the current video frame; determining a first predicted value and a second predicted value of the current coding block; determining a geometric partitioning mode parameter of the current coding block based on a geometric partitioning mode parameter of a target coding block corresponding to the current coding block; weighting and fusing the first predicted value and the second predicted value based on a geometric partitioning mode parameter of the current coding block to obtain a predicted value of the current coding block; An inter-prediction method is provided.
[0005] The present embodiment is Parsing the video encoding codestream to obtain predictive decoding parameters for a current coding block in a current video frame; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter; performing inter prediction on the current coding block using the geometric partitioning mode parameter; A decoding method is provided.
[0006] The present embodiment is a memory and one or more processors; the memory is configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any of the above embodiments. An electronic device is provided.
[0007] The present embodiment is A computer program is stored which, when executed by a processor, implements a method according to any of the above embodiments. Provide a storage medium. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a schematic diagram of an implementation of an encoding framework according to an embodiment of the present application; [Figure 2] FIG. 1 is a schematic diagram of an implementation of a decoding framework according to an embodiment of the present application; [Figure 3] 1 is a flowchart of an inter prediction method according to an embodiment of the present application; [Figure 4] 1 is a flowchart of a decoding method according to an embodiment of the present application; [Figure 5] FIG. 10 is a schematic diagram illustrating the setting of geometric division mode parameters corresponding to the division mode according to an embodiment of the present application. [Figure 6] 1 is a flowchart illustrating the implementation of inter prediction according to an embodiment of the present application. [Figure 7] FIG. 10 is a schematic diagram illustrating the setting of candidate division modes according to an embodiment of the present application. [Figure 8] 10 is a flowchart of another implementation of inter prediction according to an embodiment of the present application; [Figure 9] FIG. 10 is a schematic diagram illustrating another candidate division mode setting according to an embodiment of the present application. [Figure 10] 10 is a flowchart of yet another implementation of inter prediction according to an embodiment of the present application; [Figure 11] FIG. 10 is a schematic diagram illustrating the setting of still another candidate division mode according to an embodiment of the present application. [Figure 12] FIG. 10 is a schematic diagram illustrating the setting of further candidate division modes according to an embodiment of the present application; [Figure 13] FIG. 10 is a schematic diagram illustrating the setting of further candidate division modes according to an embodiment of the present application; [Figure 14] FIG. 1 is a structural block diagram of an inter prediction device according to an embodiment of the present application; [Figure 15] FIG. 2 is a structural block diagram of a decoding device according to an embodiment of the present application; [Figure 16] 1 is a structural schematic diagram of an electronic device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, the present application will be described with reference to the drawings. Hereinafter, the present application will be described with reference to the examples and drawings. The examples given are merely for the purpose of interpreting the present application and are not intended to limit the scope of the present application.
[0010] The H.266 / Versatile Video Coding (VVC) standard supports inter-prediction of coding units using GPM. Here, GPM includes 64 partition modes, and the partition mode of each GPM coding unit (CU) is represented by a fixed-length binary code. During the encoding process, the optimal partition mode is determined by traversing a pre-defined list of 64 partition modes, which is highly complex. For example, assume that the length of the candidate motion vector (MV) list is N and there are a total of N*(N-1) possible GPM combinations (because no two MVs can be the same), and the encoder needs to traverse 64*N*(N-1)=1920 possible situations, which is highly complex.
[0011] The present application provides an inter prediction method, a video decoding method, and an apparatus therefor, which can improve the accuracy of inter prediction using a geometric partition mode. In the inter prediction method according to the present application, in the process of determining the partition mode of a current coding block, the partition modes calculated for other coding blocks are used for reference, and object edge continuity information in a video frame screen is effectively used to improve the partition accuracy and further reduce transmission overhead.
[0012] The embodiment of the present application is implemented based on a hybrid coding framework. Figure 1 is a schematic diagram illustrating the implementation of the coding framework according to the embodiment of the present application. As shown in Figure 1, the next-generation video coding standard H.266 / VVC coding framework may include modules such as intra prediction, inter prediction, transform, quantization, loop filtering, and entropy coding.
[0013] The overall flow of the coding framework is as follows:
[0014] (1) The input video is first divided into frames and then divided into blocks.
[0015] (2) The divided blocks are sent to an intra / inter prediction module for predictive coding, where the intra prediction module is mainly used to remove spatial correlation of the image, and the inter prediction module is mainly used to remove temporal correlation of the image.
[0016] (3) Also, the obtained prediction value is subtracted from the original block to obtain a residual value, and then the residual is transformed and quantized to remove frequency domain correlation and perform lossy compression on the data.
[0017] (4) Finally, all the coding parameters and residuals are entropy coded to form a binary stream for storage or transmission. The output data of the entropy coding module is the code stream after compressing the original video.
[0018] (5) The predicted value is added to the residual after inverse quantization and inverse transformation to obtain the block reconstruction value, and finally form the reconstructed image.
[0019] (6) The reconstructed image is filtered by a loop filter and stored in an image buffer for use as a reference image.
[0020] 2 is a schematic diagram illustrating an implementation of a decoding framework according to an embodiment of the present application. As shown in FIG. 2, the overall flow of the decoding framework is as follows.
[0021] (1) Analyze the code stream to obtain the prediction mode and obtain the predicted value.
[0022] (2) The code stream is analyzed and the resulting residual is inversely transformed and inversely quantized.
[0023] (3) The predicted value is added to the residual after inverse quantization and inverse transformation to obtain the block reconstruction value, and finally form the reconstructed image.
[0024] (4) The reconstructed image is filtered by a loop filter and stored in an image buffer for use as a reference image.
[0025] It should be noted that the technical solutions of the embodiments of the present application may be applied to the H.266 / VVC standard, Audio Video coding Standard, AVS (e.g., AVS3) or future video encoding / decoding standards, and the embodiments of the present application are not limited thereto.
[0026] In one embodiment, Figure 3 is a flowchart of an inter prediction method according to an embodiment of the present application. This embodiment is applied to the case of inter prediction in a video encoding process. This embodiment can be performed by the encoding side. As shown in Figure 3, this embodiment includes steps S310 to S340.
[0027] At S310, a current video frame is obtained, and a current coding block in the current video frame is determined.
[0028] Here, the current video frame may be understood as one image frame. In an embodiment, the current video frame is divided into multiple coding tree unit (CTU) blocks, and one CTU is divided into multiple CUs using a quadtree with a nested multi-type tree structure. Each CU has an area that defines a prediction area using a geometric partitioning mode, and may be referred to as one sub-coding unit. The current video frame may be divided into multiple CTU blocks, and then each CTU is divided into multiple CUs to obtain multiple coding blocks. Finally, one coding block is selected from all coding blocks corresponding to the current video frame as the current coding block.
[0029] In S320, the first predicted value and the second predicted value of the current coding block are determined.
[0030] In an embodiment, the current coding block can be divided into two non-rectangular sub-partitions, and then a motion vector candidate list in GPM mode can be generated based on the motion vector candidate list in merge mode. Each sub-partition selects an MV from the MV candidate list to perform unidirectional motion compensation, and obtains two unidirectional predicted values of the current coding block as corresponding first and second predicted values, i.e., one non-rectangular sub-partition corresponds to the first predicted value, and the other non-rectangular sub-partition corresponds to the second predicted value.
[0031] In S330, a geometric partitioning mode parameter of the current coding block is determined based on a geometric partitioning mode parameter of a target coding block corresponding to the current coding block.
[0032] Here, the geometric partitioning mode parameters refer to the slope, partition angle, and displacement length corresponding to each geometric partitioning mode. Conventional GPM includes 64 partitioning modes. Each partitioning mode corresponds to one slope and one displacement length, i.e., a total of 20 partition angles and 4 displacement lengths. In one embodiment, the geometric partitioning mode parameters of a target coding block corresponding to the current coding block can be used to determine the geometric partitioning mode parameters of the current coding block. Here, the target coding block is a coding block related to the current coding block in the current video frame.
[0033] At S340, the first predicted value and the second predicted value are weighted and fused according to the geometric partitioning mode parameter of the current coding block to obtain a predicted value of the current coding block.
[0034] Here, the predicted value of the current coding block refers to the pixel value predicted by each pixel point in the current coding block. In an embodiment, a fusion matrix is obtained based on the distance from the pixel point in each sub-partition to the partition line, and the first predicted value and the second predicted value corresponding to the two sub-partitions are weighted and fused using the fusion matrix to obtain the predicted value of the current coding block, and the geometric partitioning mode parameter of the current coding block is predicted or estimated based on the geometric partitioning mode parameter of another coding block, so as to effectively use the edge continuity information of the target coding block in the current video frame, thereby improving the partition accuracy and further reducing the transmission overhead.
[0035] In one embodiment, determining the geometric partitioning mode parameter of the current coding block based on the geometric partitioning mode parameter of the target coding block corresponding to the current coding block comprises: constructing a partition mode candidate list for the current coding block based on geometric partition mode parameters of a target coding block corresponding to the current coding block; determining a geometric partition mode parameter for the current coding block based on the partition mode candidate list.
[0036] Here, the partition mode candidate list is a list of candidate partition modes corresponding to the current coding block. In an embodiment, one partition mode candidate list can be constructed for the current coding block, and there are a maximum of N partition modes in the partition mode candidate list. By traversing the N partition modes and calculating the rate-distortion cost, the partition mode with the smallest rate-distortion cost is finally selected as the optimal partition mode for the current coding block, and the geometric partition mode parameters corresponding to the optimal partition mode are set as the geometric partition mode parameters for the current coding block, where N is a positive integer greater than or equal to 1.
[0037] In one embodiment, the target coding block includes neighboring coding blocks, and constructing a partition mode candidate list corresponding to the current coding block based on geometric partition mode parameters of the target coding block corresponding to the current coding block includes: Obtaining geometric partitioning mode parameters of neighboring coding blocks corresponding to a current coding block; and constructing a partition mode candidate list corresponding to the current coding block based on the geometric partition mode parameters of neighboring coding blocks.
[0038] In the embodiment, the neighboring coding blocks refer to coding blocks adjacent to the current coding block in the spatial domain, where the neighboring coding blocks are adjacent to the current video block. Frame The term "neighboring coding blocks" refers to coding blocks that are adjacent to the current coding block in terms of position in the spatial domain. Exemplarily, neighboring coding blocks may be coding blocks located on any side of the current coding block. In an embodiment, the division lines of neighboring coding blocks have strong similarity, and in particular, in the case of continuous straight or curved lines, multiple neighboring coding blocks usually maintain similar division angles and displacement lengths. Predicting the partition mode of the current coding block using the partition modes of neighboring coding blocks in the spatial domain and marking the position index of the corresponding coding block can significantly reduce the number of coding bits required to transmit the partition mode. In an embodiment, a partition mode candidate list corresponding to the current coding block can be constructed in the neighboring coding blocks of the current coding block according to a preset order. In one embodiment, the preset order may be understood as an order ranked according to the geometric partition mode parameters of each neighboring coding block or an order ranked according to the positional relationship between each neighboring coding block and the current coding block.
[0039] In one embodiment, the target coding block includes neighboring coding blocks, and constructing a partition mode candidate list corresponding to the current coding block based on geometric partition mode parameters of the target coding block corresponding to the current coding block includes: Obtaining geometric partitioning mode parameters of neighboring coding blocks corresponding to a current coding block; determining an extension of a geometric partitioning mode in a current coding block corresponding to a geometric partitioning mode parameter of a neighboring coding block, and searching for a partitioning mode matching the extension in a total list of partitioning modes; constructing a corresponding partition mode candidate list based on the partition modes that match the extension line, and ensuring that the number of partition modes included in the partition mode candidate list is equal to or less than the number of neighboring coding blocks.
[0040] In some embodiments, the partition lines of neighboring coding blocks also have strong continuity and typically extend continuously across multiple neighboring coding blocks. Constructing a partition mode candidate list for the current coding block using extensions of the partition modes of neighboring coding blocks in the spatial domain in the current coding block and performing GPM prediction using the partition modes in the partition mode candidate list can significantly reduce the number of coding bits required to transmit the partition modes. In some embodiments, for each neighboring coding block corresponding to the current coding block, the known partition mode of the neighboring coding block is extended. If the extension line intersects with the current coding block, the partition mode closest to the extension line in the current coding block in the partition mode total list is calculated and added to the partition mode candidate list. In some embodiments, the current coding block may correspond to one or more neighboring coding blocks. If the current coding block corresponds to at least two neighboring coding blocks, the known partition mode of each neighboring coding block may be extended to obtain the corresponding extension line. If the extension line does not intersect with the current coding block, the partition mode closest to the extension line is not searched for in the partition mode total list. That is, the number of partition modes included in the partition mode candidate list for the current coding block is less than or equal to the total number of neighboring coding blocks corresponding to the current coding block.
[0041] In one embodiment, determining the geometric partition mode parameters of the current coding block based on the partition mode candidate list includes: Performing inter prediction on a current coding block using each partition mode in the partition mode candidate list according to a predetermined order, and obtaining a rate-distortion cost corresponding to the partition mode as a first rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the first rate-distortion cost.
[0042] In an embodiment, a partition mode candidate list is traversed, and GPM inter prediction is performed on the current coding block using each partition mode in the partition mode candidate list according to a preset order, and a rate-distortion cost corresponding to the partition mode is obtained and set as a first rate-distortion cost. The partition mode with the smallest first rate-distortion cost in the partition mode candidate list is selected as the partition mode of the current coding block, and the parameters of the partition mode are set as the geometric partition mode parameters adopted by the current coding block.
[0043] In one embodiment, determining the geometric partition mode parameters of the current coding block based on the partition mode candidate list includes: Performing inter prediction on the current coding block using each partition mode in the partition mode candidate list, and obtaining a rate-distortion cost corresponding to the partition mode as a first rate-distortion cost; Performing inter prediction on a current coding block using each partition mode in a partition mode difference list, which is a difference set between the partition mode total list and the partition mode candidate list, to obtain a rate-distortion cost corresponding to the partition mode, and setting the obtained rate-distortion cost as a second rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the first rate-distortion cost and the second rate-distortion cost.
[0044] In an embodiment, after obtaining the rate-distortion cost corresponding to each partition mode in the partition mode candidate list, obtain the first rate-distortion cost, traverse each partition mode in the partition mode difference list, and perform GPM inter prediction on the current coding block using each partition mode in the partition mode difference list to obtain the rate-distortion cost corresponding to the partition mode, i.e., the second rate-distortion cost. Then, select the partition mode corresponding to the smallest rate-distortion cost among the first rate-distortion cost and the second rate-distortion cost. If the partition mode corresponding to the smallest rate-distortion cost is from the partition mode candidate list, instruct the GPM to adopt the partition mode inter prediction method; if the partition mode corresponding to the smallest rate-distortion cost is from the partition mode difference list, instruct the GPM not to adopt the partition mode inter prediction method.
[0045] In one embodiment, determining the geometric partitioning mode parameter of the current coding block based on the geometric partitioning mode parameter of the target coding block corresponding to the current coding block comprises: Obtaining a geometric partitioning mode parameter of a target coding block in a current video frame; constructing a partition mode candidate list for a current coding block based on geometric partition mode parameters of a target coding block; and determining the geometric partitioning mode parameters to be adopted by the current coding block through a template matching method based on the partitioning mode candidate list.
[0046] Here, the target coding block in the current video frame refers to a coding block related to the current coding block in the current video frame. In this embodiment, the pixels of the coding blocks above and to the left of the current coding block are known at the encoding side and the decoding side, and the L-shaped neighboring coding blocks of the coding blocks above and to the left of the current coding block can always be used as template regions for intra prediction or inter prediction. Similarly, the partition line of the current coding block has a certain continuity in the neighboring L-shaped template region. If the coding side and the decoding side predict the partition mode based on the known pixels in the neighboring coding blocks, the number of coding bits required for transmitting the partition mode can be significantly reduced. In this embodiment, after constructing a partition mode candidate list for the current coding block, a plurality of partition modes in the partition mode candidate list are respectively used to extend the template region corresponding to the current coding block, and GPM inter prediction is performed to calculate the corresponding rate-distortion costs. The partition mode corresponding to the smallest rate-distortion cost is selected as the partition mode for the current coding block, thereby obtaining the geometric partition mode parameters for the current coding block.
[0047] In one embodiment, constructing a partition mode candidate list for a current coding block based on geometric partition mode parameters of a target coding block includes: According to the extension in the current coding block of the geometric partition mode parameters adopted by the target coding block in the current video frame, searching for a partition mode matching the extension in the total list of partition modes; and building a corresponding split mode candidate list based on the split modes matching the extension line.
[0048] In an embodiment, a partition mode corresponding to a corresponding target coding block is determined according to the geometric partition mode parameters adopted by the target coding block, and the partition mode corresponding to the target coding block is extended to obtain a corresponding extension line. If the extension line intersects with the current coding block, a partition mode in the total partition mode list that is closest to the extension line is calculated, and the closest partition mode is added to a partition mode candidate list.
[0049] In one embodiment, the target coding block in the current video frame is a neighboring coding block of the current coding block in the current video frame, or a coding block within a predetermined neighborhood of the current coding block in the current video frame, or The coding block retrieved along a predetermined direction of the current coding block in the current video frame.
[0050] In the embodiment, the neighboring coding blocks of the current coding block refer to coding blocks that are adjacent in position to the current coding block in the current video frame, the coding blocks within a predetermined neighborhood of the current coding block refer to coding blocks within a predetermined range corresponding to the current coding block, and the coding blocks searched along a predetermined direction of the current coding block refer to coding blocks searched within a predetermined neighborhood of the current coding block based on a specified predetermined direction and step size.
[0051] In one embodiment, determining the geometric partitioning mode parameters to be adopted by the current coding block by template matching based on the partitioning mode candidate list includes: constructing a template region corresponding to a current coding block in a current video frame; Performing inter prediction on the template region using each partition mode in the partition mode candidate list, and obtaining a rate-distortion cost corresponding to the partition mode as a third rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the third rate-distortion cost.
[0052] In an embodiment, the template region may be an upper region and a left region of the current coding block. In an embodiment, based on the size of the current coding block and the size of the current coding block in a first direction, an upper neighboring region of the current coding block is selected, and based on the size of the current coding block in a second direction, a left neighboring region of the current coding block is selected, and the upper neighboring region and the left neighboring region are merged to form the template region of the current coding block. In an embodiment, if the current coding block does not have an upper neighboring region or a left neighboring region, one of them may be selected as the corresponding template region. In an embodiment, a partition mode candidate list is traversed, and inter prediction is performed on the template region using each partition mode in the partition mode candidate list to obtain rate-distortion costs corresponding to the partition modes, which are set as a third rate-distortion cost. Among all the third rate-distortion costs, a partition mode corresponding to the smallest rate-distortion cost is selected as the partition mode adopted by the current coding block, thereby obtaining geometric partition mode parameters adopted by the current coding block.
[0053] In one embodiment, determining the geometric partitioning mode parameters to be adopted by the current coding block by template matching based on the partitioning mode candidate list includes: constructing a template region corresponding to a current coding block in a current video frame; Performing inter prediction on the template region using each partition mode in the partition mode candidate list, and obtaining a rate-distortion cost corresponding to the partition mode as a third rate-distortion cost; Performing inter prediction on the current coding block using each partition mode in the total partition mode list, obtaining a rate-distortion cost corresponding to the partition mode, and setting the rate-distortion cost as a fourth rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the third rate-distortion cost and the fourth rate-distortion cost.
[0054] In an embodiment, after obtaining the third rate-distortion cost, perform inter prediction on the current coding block using each partition mode in the total partition mode list, obtain the rate-distortion cost corresponding to the partition mode, and set it as the fourth rate-distortion cost. Select the partition mode with the smallest rate-distortion cost from all the third rate-distortion costs and all the fourth rate-distortion costs. If the partition mode with the smallest rate-distortion cost is the third rate-distortion cost, indicate in the codestream that the GPM adopts the partition mode prediction method; if the partition mode with the smallest rate-distortion cost is the fourth rate-distortion cost, indicate in the codestream that the GPM does not adopt the partition mode prediction method, and indicate the index in the total partition mode list of the partition mode adopted by the current coding block.
[0055] In one embodiment, Figure 4 is a flowchart of a decoding method according to an embodiment of the present application, which is applied to the case of inter prediction in a video decoding process. This embodiment can be performed by a decoding side. In this embodiment, if the current coding block adopts an inter prediction method based on a partition mode, the decoding side can adopt the same method as the coding side to predict the partition mode of the current coding block and obtain a predicted value of the current coding block.
[0056] As shown in FIG. 4, this embodiment includes steps S410 to S430.
[0057] At S410, the video encoding codestream is parsed to obtain predictive decoding parameters for a current encoding block in a current video frame.
[0058] In an embodiment, the encoding side transmits the current video frame and the predicted decoding parameters of the current coding block in the current video frame to the decoding side in the video encoding codestream.
[0059] In S420, the geometric partitioning mode parameters adopted by the current coding block are determined based on the predicted decoding parameters.
[0060] In an embodiment, the predictive decoding parameters may carry a partition mode prediction indicator corresponding to the current coding block. In an embodiment, the decoding side may determine whether the current coding block adopts a partition mode prediction method based on the partition mode prediction indicator, and if the current coding block adopts a partition mode prediction method, may determine a geometric partition mode parameter adopted by the current coding block using the inter prediction method according to the embodiment.
[0061] At S430, inter prediction is performed on the current coding block using the geometric partitioning mode parameter.
[0062] In an embodiment, inter prediction is performed on the current coding block based on the geometric partition mode parameter of the current coding block.
[0063] In one embodiment, determining the geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter comprises: Obtaining a split mode prediction indicator; If the partition mode prediction indicator is a first value, determining that the current coding block adopts a partition mode prediction method; Building a partition mode candidate list corresponding to a current coding block according to the inter prediction method according to any one of the above embodiments; determining a geometric partition mode parameter to be adopted by the current coding block based on the partition mode prediction index and the partition mode candidate list.
[0064] In one embodiment, the partition mode prediction index is used to indicate whether the current coding block adopts a partition mode prediction method. In one embodiment, if the partition mode prediction index is a first value, the current coding block adopts the partition mode prediction method, and the inter prediction method according to the above embodiment is adopted, a partition mode candidate list corresponding to the current coding block is constructed, and a partition mode adopted by the current coding block is selected from the partition mode candidate list based on the partition mode prediction index, thereby obtaining geometric partition mode parameters adopted by the current coding block.
[0065] In one embodiment, the partition mode prediction index is used to indicate the index value in the partition mode candidate list of the partition mode that the current video frame uses.
[0066] In one embodiment, determining a geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter includes: Obtaining a split mode prediction indicator; If the partition mode prediction indicator is a first value, determining that the current coding block adopts a partition mode prediction method; Building a partition mode candidate list corresponding to the current coding block according to the inter prediction method according to any of the above embodiments; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the partitioning mode candidate list through a template matching method.
[0067] Here, for the interpretation of the partition mode prediction indicator, please refer to the description in the above embodiment, and the description will be omitted here. In this embodiment, when the partition mode prediction indicator is a first value, the current coding block adopts the partition mode prediction method, and the inter prediction method according to the above embodiment is adopted to build a partition mode candidate list corresponding to the current coding block, and select a partition mode adopted by the current coding block from the partition mode candidate list based on the template matching method, thereby obtaining the geometric partition mode parameters adopted by the current coding block. For the process of determining the geometric partition mode parameters adopted by the current coding block based on the partition mode candidate list using the template matching method, please refer to the specific implementation according to the above embodiment, and the description will be omitted here.
[0068] In one embodiment, determining the geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter comprises: Obtaining a split mode prediction indicator; If the partition mode prediction indicator is a second value, determining that the current coding block does not adopt the partition mode prediction method; determining a geometric partition mode parameter to be adopted by the current coding block based on the partition mode prediction index and the previously created total list of partition modes.
[0069] In an embodiment, if the partition mode prediction index is a second value, the current coding block does not adopt the partition mode prediction method, and the partition mode adopted by the current coding block is selected from the total partition mode list based on the partition mode prediction index, thereby obtaining the geometric partition mode parameters adopted by the current coding block.
[0070] For the interpretation of parameters such as the partition mode candidate list, partition mode total list, geometric partition mode parameters, and partition modes in the decoding method, please refer to the description of the corresponding parameters in the above inter-prediction method example, and the explanation will be omitted here.
[0071] In one embodiment, this embodiment provides an inter prediction method used in a video encoding process, and when a current coding block adopts an inter prediction mode based on a geometric partition mode, the partition mode of the current coding block is predicted using the partition mode determined by a neighboring coding block, thereby reducing transmission overhead. The steps of the inter prediction method are as follows:
[0072] In step 1, a current video frame is obtained, and a current coding block in the current video frame is determined.
[0073] The image division structure divides the input current video frame into blocks called CTUs, and divides each CTU into CUs using a quadtree with a nested multi-type tree structure, where each CU has a leaf coding unit that defines an area for an inter prediction mode.
[0074] In step 2, it is determined that the split mode inter prediction is used for the current coding block.
[0075] In an embodiment, the encoding process typically uses a rate-distortion optimization method to determine the geometric partitioning mode parameter of the current coding block. In video encoding, a plurality of partitioning modes are used to predict and encode the image components to be predicted based on the geometric partitioning mode parameter of the current coding block, rate-distortion cost results corresponding to each partitioning mode are calculated for each partitioning mode, the smallest rate-distortion cost result is selected from the calculated rate-distortion cost results, and the partitioning mode corresponding to the smallest rate-distortion cost result is determined as the geometric partitioning mode parameter of the current coding block.
[0076] In step 3, the partition mode of the current coding block is predicted using the partition modes determined for the neighboring coding blocks.
[0077] In conventional GPM, there are a total of 64 partition modes. Figure 5 is a schematic diagram illustrating the setting of geometric partition mode parameters corresponding to the partition modes in an embodiment of the present application. As shown in Figure 5, each partition mode corresponds to one slope and one displacement length, resulting in a total of 20 angles and four displacement lengths. However, the partition lines of neighboring coding blocks in the spatial domain have strong similarities, especially in the case of continuous straight or curved lines, and multiple neighboring coding blocks usually maintain similar partition angles and displacement lengths. Using the partition modes of neighboring coding blocks in the spatial domain to predict the partition mode of the current coding block and marking the position index of the corresponding coding block can significantly reduce the number of coding bits required to transmit the partition mode. A specific embodiment operates according to the following partition mode prediction method 1 and partition mode prediction method 2.
[0078] In step 4, a split mode inter prediction method is used for the current coding block to obtain a prediction value of the current coding block.
[0079] If the current coding block adopts GPM inter prediction mode, the current coding block is divided into two non-rectangular sub-partitions, and then a MV candidate list in GPM mode is generated based on the MV candidate list in merge mode. Each sub-partition selects an MV from the MV candidate list to perform unidirectional motion compensation, and obtains two unidirectional predicted values of the current coding block, namely, a first predicted value and a second predicted value. Finally, each Sub A fusion matrix is obtained based on the distance from the pixel point in the partition to the dividing line, and the unidirectional predicted values of the two sub-partitions are weighted and fused using the matrix to obtain the final predicted value of the current coding block.
[0080] In step 5, the division mode prediction method is indicated to the decoding side by a switch index.
[0081] The encoding side calculates the rate-distortion cost based on the predicted value of the current coding block, determines the partition mode and geometric partition mode parameters to be adopted by the current coding block, and indicates the determined partition mode prediction method to the decoding side using a switch index and an index value (optional), and indicates the GPM inter prediction mode parameters to the decoding side using a merge mode index.
[0082] In one embodiment, the partition mode prediction method 1: partition mode candidate list generation method includes three types.
[0083] In one implementation, the candidate list is generated based on neighboring coding blocks.
[0084] The partition lines of neighboring coding blocks in the spatial domain have strong similarity, especially for continuous straight lines or curves, and multiple neighboring coding blocks usually have similar partition angles and displacements. By using the partition modes of neighboring coding blocks in the spatial domain to predict the partition mode of the current coding block and marking the position index of the corresponding coding block, the number of coding bits required to transmit the partition mode can be greatly reduced.
[0085] In this embodiment, a partition mode candidate list is established for the current coding block, and a maximum of N partition modes are included in the list. The N candidate partition modes are traversed to calculate the rate-distortion cost, and the one with the lowest rate-distortion cost is finally selected as the optimal partition mode for the current coding block. On the decoding side, a partition mode candidate list can be established in a similar manner, and the encoder only needs to transmit the index of the optimal partition mode in the candidate list, thereby significantly reducing the number of coding bits required to transmit 64 partition modes. Figure 6 is a flowchart illustrating the implementation of inter prediction according to an embodiment of the present application. As shown in Figure 6, inter prediction in this embodiment includes the following steps:
[0086] In S610, the partition modes of the neighboring coding blocks corresponding to the current coding block are obtained, and a partition mode candidate list is constructed according to a preset order.
[0087] In this embodiment, a split mode candidate list (SMList) is constructed in a pre-set order for neighboring coding blocks of a current coding block.
[0088] The establishment of the partition mode candidate list will be described using N=5 as an example. FIG. 7 is a schematic diagram illustrating the setting of candidate partition modes according to an embodiment of the present application. As shown in FIG. 7, Current CU in the diagram represents the current coding block, A1 represents the bottommost CU on the left side of the current coding block, B1 represents the rightmost CU above the current coding block, B0 and A0 represent the blocks closest to the top right and bottom left of the current coding block, respectively, and B2 represents the CU closest to the top left of the current coding block. The partition mode candidate list is established in a predetermined order, for example, A1 → B1 → B0 → A0 → B2, where each index position selects a known partition mode corresponding to the CU. If one or more of A1, B1, B0, and A0 do not exist, the corresponding position is empty. If no known partition modes exist for all neighboring blocks, the conventional GPM partition mode selection method continues to be used.
[0089] It should be noted that the construction of the five division mode candidate lists here is merely an example, and any other order may be adopted in specific implementation.
[0090] In S620, GPM prediction is performed on the current coding block in order based on the partition modes in the partition mode candidate list, and the rate-distortion cost is calculated.
[0091] In the embodiment, the partition mode candidate list is traversed, and GPM inter prediction is performed on the current coding block using each of the N partition modes, and the steps are the same as steps 1 to 5 in the above embodiment, and the RDO cost is calculated.
[0092] At S630, the partition modes in the partition mode difference list are traversed, GPM prediction is performed on the current coding block, and the rate-distortion cost is calculated.
[0093] In an embodiment, the remaining partition modes among the 64 partition modes are traversed, and the remaining partition modes are used to perform GPM prediction on the current coding block and calculate the RDO cost.
[0094] In S640, the rate-distortion costs obtained by performing GPM prediction for each partition mode are ranked, and the partition mode corresponding to the smallest rate-distortion cost is selected and indicated correspondingly in the codestream.
[0095] In this embodiment, the split mode with the smallest RDO cost is selected. If the mode is from SMList, the codestream indicates that the GPM adopts Split Mode, the SM prediction method, and indicates the index in SMList of the split mode selected for the current coding block. If the mode is from the remaining split modes other than SMList, the codestream indicates that the GPM does not adopt SM prediction method, and indicates the index in 64 split modes of the split mode adopted by the current coding block.
[0096] In one implementation, a split mode candidate list is generated based on the extension lines.
[0097] The partition lines of neighboring coding blocks in the spatial domain also have strong continuity and usually extend continuously across multiple neighboring coding blocks. By using the extension of the partition mode of the neighboring coding blocks in the spatial domain in the current coding block as the partition mode for GPM prediction and marking the position index of the corresponding coding block, the number of coding bits required for transmission of the partition mode can be significantly reduced.
[0098] In this embodiment, a partition mode candidate list is established for the current coding block by dividing and extending it based on neighboring coding blocks, and there are a maximum of N partition modes in the partition mode candidate list. By traversing these N candidate partition modes and calculating the rate-distortion cost, the one with the smallest rate-distortion cost is finally selected as the optimal partition mode for the current coding block, thereby saving the number of transmission coding bits. Figure 8 is a flowchart of another implementation of inter prediction according to an embodiment of the present application. As shown in Figure 8, inter prediction in this embodiment includes the following steps:
[0099] In S810, in the neighboring coding blocks of the current coding block, the division line is extended based on the known division mode, and the division mode closest to the extended line in the current coding block is calculated and set as the candidate division mode.
[0100] Taking N=5 as an example, five neighboring coding blocks adjacent to the current coding block are selected. FIG. 9 is a schematic diagram of setting another candidate partition mode according to an embodiment of the present application. As shown in FIG. 9, Current CU in the diagram represents the current coding block, A1 represents the bottommost CU on the left side of the current coding block, B1 represents the rightmost CU above the current coding block, B0 and A0 represent the blocks closest to the top right and bottom left of the current coding block, respectively, and B2 represents the CU closest to the top left of the current coding block. For each neighboring coding block, the known partition mode is extended. If the extension line intersects with the current coding block, the partition mode closest to the extension line in the current coding block among the 64 partition modes is calculated and set as the candidate partition mode.
[0101] At S820, a split mode candidate list is constructed according to a preset order.
[0102] The list is established in a preset order, for example, A1 → B1 → B0 → A0 → B2, and each index position selects a candidate partition mode calculated in step 1. If one or more of A1, B1, B0, and A0 do not exist, or if the extension of the partition mode does not intersect with the current block, the corresponding position is empty. If no known partition mode exists for all neighboring blocks, the conventional GPM partition mode selection method continues to be adopted.
[0103] It should be noted that the construction of the five division mode candidate lists here is merely an example, and any other order may be adopted in specific implementation.
[0104] In S830, GPM prediction is performed on the current coding block based on the partition mode in the partition mode candidate list, and the corresponding rate-distortion cost is obtained.
[0105] In the embodiment, the partition mode candidate list is traversed, and GPM inter prediction is performed on the current coding block using each of the N partition modes, and the steps are the same as steps 1 to 5 in the above embodiment, and the RDO cost is calculated.
[0106] In S840, the remaining partition modes in the total list of partition modes are traversed, and GPM prediction is performed on the current coding block to obtain the corresponding rate-distortion cost.
[0107] In the embodiment, the total list of partition modes includes 64 partition modes, and the remaining partition modes among the 64 partition modes are traversed to calculate the RDO cost.
[0108] In S850, the rate-distortion costs obtained by performing GPM prediction for each partition mode are ranked, and the partition mode corresponding to the smallest rate-distortion cost is selected and indicated correspondingly in the codestream.
[0109] In this embodiment, the partition mode with the smallest RDO cost is selected, and if the mode is from SMList, the codestream indicates that the GPM adopts the SM prediction method and indicates the index in SMList of the partition mode selected by the current coding block.If the partition mode is from the remaining partition modes other than SMList, the codestream indicates that the GPM does not adopt the SM prediction method and indicates the index in 64 partition modes of the partition mode selected by the current coding block.
[0110] Split mode prediction method 2: template matching
[0111] In one implementation, the partition mode is selected based on neighboring coding blocks.
[0112] Since the pixels in the neighboring regions above and to the left of the current coding block are known on the encoding side and the decoding side, the L-type neighboring coding blocks above and to the left of the current coding block are often used as template regions for intra prediction or inter prediction. Similarly, the division lines of the current coding block have a certain continuity in the neighboring L-type templates, and if the encoding side and the decoding side predict the split mode based on the known pixels in the neighboring coding blocks, the number of coding bits required for transmitting the split mode can be significantly reduced.
[0113] In this embodiment, based on the known partition modes of neighboring coding blocks of the current coding block, GPM prediction is performed using an L-type template of the current coding block, and a rate-distortion cost is calculated. Finally, the partition mode with the smallest rate-distortion cost is selected as the optimal partition mode for the current coding block. On the decoding side, a partition mode can be selected in a similar manner, and the encoder only needs to transmit a switch indicator, thereby significantly reducing the number of coding bits required to transmit 64 partition modes. Figure 10 is a flowchart illustrating another implementation of inter prediction according to an embodiment of the present application. As shown in Figure 10, inter prediction in this embodiment includes the following steps:
[0114] In S1010, neighboring regions above and to the left of the current coding block are selected as template regions for the current coding block.
[0115] In this embodiment, assuming the size of the current coding block is m*n, a neighboring region of size m*j above the current coding block is selected, and a neighboring region of size k*n to the left of the current coding block is selected and merged to become the template region of the current coding block. If the current coding block does not have a neighboring region above or to the left, only one side is selected as the template region. If the current coding block does not have a neighboring region above or to the left, the conventional GPM partition mode selection method continues to be used.
[0116] In S1020, in the neighboring coding blocks of the current coding block, the division line is extended based on the known division mode, and the division mode closest to the extended line in the current coding block is calculated and set as the candidate division mode.
[0117] Taking N=5 as an example, five neighboring coding blocks adjacent to the current coding block are selected. Figure 11 is a schematic diagram of setting another candidate partition mode according to an embodiment of the present application. As shown in Figure 11, Current CU represents the current coding block, and Template is the template region in the above embodiment. For each neighboring coding block, the known partition mode is extended. If the extension line intersects with the current coding block, the partition mode closest to the extension line in the current coding block among the 64 partition modes is calculated and set as the candidate partition mode.
[0118] In S1030, the partition mode candidate list is traversed, GPM prediction is performed on the template region of the current coding block, and the rate-distortion cost is calculated.
[0119] In this embodiment, the partition mode candidate list is traversed, and N partition modes are respectively used to extend the template region of the current coding block, and GPM inter prediction is performed. The steps are the same as steps 1 to 5 in the above embodiment, and the RDO cost is calculated.
[0120] In S1040, the total list of partition modes is traversed, GPM prediction is performed on the current coding block, and the rate-distortion cost is calculated.
[0121] In an embodiment, the total partition mode list includes 64 partition modes, and the 64 partition modes are traversed in the current coding block, GPM inter prediction is performed, and the RDO cost is calculated.
[0122] In S1050, the rate-distortion costs obtained by performing GPM prediction for each partition mode are ranked, and the partition mode corresponding to the smallest rate-distortion cost is selected and indicated correspondingly in the codestream.
[0123] In this embodiment, the prediction mode with the smallest RDO cost is selected, and if the RDO cost obtained in step 1030 is the smallest, the GPM indicates that the SM prediction method is to be adopted in the codestream. If the RDO cost obtained in step 1040 is the smallest, the GPM indicates that the SM prediction method is not to be adopted in the codestream, and indicates the index of the partition mode selected for the current coding block in the 64 partition modes.
[0124] In one implementation, the split mode is selected within a pre-defined neighborhood.
[0125] In this embodiment, based on the known partitioning modes in the preset neighboring regions of the current coding block, GPM prediction is performed using an L-type template of the current coding block, and rate-distortion cost calculation is performed, and finally the one with the smallest rate-distortion cost is selected as the optimal partitioning mode for the coding block. On the decoding side, the partitioning mode can be selected in the same manner in the same neighboring region, and the encoder only needs to transmit a switch indicator. The specific steps are as follows:
[0126] (1) The template region of the current coding block is determined, which is the same as S1010 in the above embodiment.
[0127] (2) Search for known partition modes in a predetermined neighborhood of the current coding block, and extend the partition line to obtain candidate partition modes.
[0128] The process of determining the target coding block will be described using a neighborhood region of size w*h as an example. FIG. 12 is a schematic diagram illustrating the setting of further candidate partition modes according to an embodiment of the present application. As shown in FIG. 12, Current CU represents the current coding block, and Template is the template region in the above embodiment. All known partition modes are searched for in the neighborhood region, and the known partition modes are extended. If the extension line intersects with the current coding block, the partition mode closest to the extension line in the current coding block among the 64 partition modes is calculated and set as the candidate partition mode. A total of N candidate partition modes are obtained in the neighborhood region of w*h.
[0129] (3) Traverse the candidate partition modes obtained in step 2, extend the template region of the current coding block using each of the N partition modes, perform GPM inter prediction, and calculate the RDO cost.
[0130] (4) Traverse 64 partition modes for the current coding block, perform GPM inter prediction, and calculate the RDO cost.
[0131] (5) Select the prediction mode with the smallest RDO cost. If the RDO cost obtained in step 3 is the smallest, indicate that the GPM should use the SM prediction method in the codestream. If the RDO cost obtained in step 4 is the smallest, indicate that the GPM should not use the SM prediction method in the codestream, and indicate the index of the partition mode selected for the current coding block in the 64 partition modes.
[0132] In one implementation, the split mode is selected in a pre-set direction.
[0133] In this embodiment, according to a specified preset direction and step size, a known partition mode is searched for in a preset neighborhood of the current coding block, and then GPM prediction is performed in the L-shaped template area of the current coding block to calculate the rate-distortion cost, and the one with the smallest rate-distortion cost is finally selected as the optimal partition mode for the current coding block. On the decoding side, the partition mode can be selected in a similar manner in a similar neighborhood, and the encoder only needs to transmit a switch indicator. The specific steps are as follows:
[0134] (1) The template region of the current coding block is determined, which is the same as S1010 in the above embodiment.
[0135] (2) Search for known partition modes in a predetermined neighborhood of the current block based on a specified search direction, and extend the partition line to obtain candidate partition modes.
[0136] FIG. 13 is a schematic diagram illustrating the setting of further candidate partition modes according to an embodiment of the present application. Taking the search direction shown in FIG. 13 as an example, all known partition modes are searched for in the neighboring region, and the known partition modes are extended. Here, the template in FIG. 13 is the template region in the above embodiment, and the Current CU is the current coding block. If the extension line intersects with the current coding block, the partition mode closest to the extension line in the current coding block among the 64 partition modes is calculated and set as the candidate partition mode. A total of N candidate partition modes are obtained in the neighboring region of w*h.
[0137] (3) Traverse the candidate partition modes obtained in step 2, extend the template region of the current coding block using each of the N partition modes, perform GPM inter prediction, and calculate the RDO cost, which is the same as steps 1 to 5 in the above embodiment.
[0138] (4) Traverse 64 partition modes for the current coding block, perform GPM inter prediction, and calculate the RDO cost.
[0139] (5) Select the prediction mode with the smallest RDO cost. If the RDO cost obtained in step 3 is the smallest, indicate that the GPM should use the SM prediction method in the codestream. If the RDO cost obtained in step 4 is the smallest, indicate that the GPM should not use the SM prediction method in the codestream, and indicate the index of the partition mode selected for the current coding block in the 64 partition modes.
[0140] In one embodiment, this embodiment provides an inter-prediction method used in a video decoding process. When the current coding block adopts an inter-prediction mode based on a geometric partition mode, the same method as the coding side is adopted to predict the partition mode of the current block and obtain the predicted value of the current block. Specific embodiments are described below using two syntax structures as examples.
[0141] In one implementation, a split mode candidate list is established.
[0142] In this embodiment, the decoding side determines that the current decoding process adopts the SM prediction method based on the syntax elements in the video encoding code stream, and then establishes a candidate list at the decoding side in the same manner as the encoding side, reads the candidate list index, and completes GPM inter prediction. The specific steps are as follows:
[0143] (1) Obtain a current video frame, analyze the video encoding code stream, and determine the coding block CU in the current video frame.
[0144] In an embodiment, the image division structure divides the input current video frame into blocks called CTUs, and divides one CTU into CUs using a quadtree with a nested multi-type tree structure, and the CU has leaf coding units that define regions for inter prediction modes.
[0145] (2) Analyzing the video encoding code stream and identifying that the current CU adopts the SM prediction method based on the partition mode prediction indicator of the CU layer.
[0146] (3) In the neighboring blocks of the current coding block, a split mode candidate list (SMList, Split mode candidate list) is constructed in a preset order based on the partition mode of the neighboring coding block or an extension of the partition mode of the neighboring coding block. For the construction method, refer to the embodiment in the above example.
[0147] (4) Based on the partition mode prediction index of the CU layer, a partition mode is selected from the candidate list obtained in step 3.
[0148] (5) Based on the partition mode obtained in step 4, GPM inter prediction is performed on the current coding block.
[0149] In an embodiment, the current coding block is divided into two non-rectangular sub-partitions, and then a MV candidate list in GPM mode is generated based on the MV candidate list in merge mode. The index values of the list are merged based on the CU layer. Each sub-partition selects an MV from the list to perform unidirectional motion compensation, and obtains two unidirectional predicted values of the current coding block. Finally, each Sub A fusion matrix is obtained based on the distance from the pixel point in the partition to the dividing line, and the two Sub The unidirectional predicted values of the partitions are weighted and fused to obtain the final predicted value of the current coding block.
[0150] In one implementation, template matching
[0151] In this embodiment, the decoding side determines that the current decoding process adopts the SM prediction method based on the syntax elements in the video encoding code stream, and then searches for the optimal partition mode at the decoding side in the same manner as the encoding side to complete GPM inter-prediction. The specific steps are as follows:
[0152] (1) Obtain a current video frame, analyze the video encoding code stream, and determine the coding block CU in the current video frame.
[0153] In an embodiment, the image division structure divides the input current video frame into blocks called CTUs, and divides one CTU into CUs using a quadtree with a nested multi-type tree structure, and the CU has leaf coding units that define regions for inter prediction modes.
[0154] (2) Analyzing the video encoding code stream and identifying that the current CU adopts the SM prediction method based on the partition mode prediction indicator of the CU layer.
[0155] (3) Search for candidate partition modes in the neighborhood of the current coding block based on a predetermined neighborhood block order, a predetermined neighborhood range, or a predetermined direction, and refer to the embodiments in the above examples for generating the candidate partition modes.
[0156] (4) Based on the candidate partitioning modes obtained in step 3, extend the template region of the current coding block using each of the N partitioning modes, perform GPM inter-prediction, calculate the RDO cost, and determine the partitioning mode corresponding to the smallest RDO cost as the partitioning mode of the current coding block.
[0157] (5) Based on the partition mode obtained in step 4, GPM inter prediction is performed on the current coding block.
[0158] In an embodiment, the current coding block is divided into two non-rectangular sub-partitions, and then a MV candidate list in GPM mode is generated based on the MV candidate list in merge mode, and the index values of the list are merged based on the CU layer. Each sub-partition selects an MV from the list to perform unidirectional motion compensation, and obtains two unidirectional predicted values of the current coding block. Finally, each Sub A fusion matrix is obtained based on the distance from the pixel point in the partition to the dividing line, and the two Sub The unidirectional predicted values of the partitions are weighted and fused to obtain the final predicted value of the current coding block.
[0159] In one embodiment, the decoding side determines that the current decoding process does not adopt the SM prediction method based on the syntax elements in the video encoding code stream, reads an index value representing one of the 64 conventional partition modes, and completes GPM inter prediction. The specific steps are as follows:
[0160] (1) Obtain a current video frame, analyze the video encoding code stream, and determine the coding block CU in the current video frame.
[0161] In an embodiment, the image division structure divides the input current video frame into blocks called CTUs, and divides one CTU into CUs using a quadtree with a nested multi-type tree structure, and the CU has leaf coding units that define regions for inter prediction modes.
[0162] (2) Analyzing the video encoding code stream and identifying that the current CU does not adopt the SM prediction method based on the partition mode prediction indicator of the CU layer.
[0163] (3) Determine the partition mode of the current coding block based on the index value of the partition mode of the CU layer.
[0164] (4) Based on the partition mode obtained in step 3, GPM inter prediction is performed on the current coding block to obtain a predicted value of the current coding block.
[0165] In one embodiment, Figure 14 is a structural block diagram of an inter prediction device according to an embodiment of the present application. This embodiment is applied to the encoding side. As shown in Figure 14, the inter prediction device in this embodiment includes an acquisition module 1410, a first determination module 1420, a second determination module 1430, and a fusion module 1440.
[0166] Here, the obtaining module 1410 is configured to obtain a current video frame and determine a current coding block in the current video frame.
[0167] The first determination module 1420 is configured to determine a first predicted value and a second predicted value of the current coding block.
[0168] The second determining module 1430 is configured to determine the geometric partitioning mode parameter of the current coding block based on the geometric partitioning mode parameter of a target coding block corresponding to the current coding block.
[0169] The fusion module 1440 is configured to weight-fuse the first predicted value and the second predicted value based on the geometric partitioning mode parameter of the current coding block to obtain a predicted value of the current coding block.
[0170] In one embodiment, the second determination module: a first construction unit configured to construct a partition mode candidate list for a current coding block based on a geometric partition mode parameter of a target coding block corresponding to the current coding block; a first determining unit configured to determine a geometric partition mode parameter of the current coding block based on the partition mode candidate list.
[0171] In one embodiment, the target coding block includes neighboring coding blocks, and the first construction unit comprises: a first obtaining subunit configured to obtain geometric partitioning mode parameters of neighboring coding blocks corresponding to a current coding block; a first construction subunit configured to construct a partition mode candidate list corresponding to the current coding block based on the geometric partition mode parameters of neighboring coding blocks.
[0172] In one embodiment, the target coding block includes neighboring coding blocks, and the first construction unit comprises: a second obtaining subunit configured to obtain geometric partitioning mode parameters of neighboring coding blocks corresponding to the current coding block; a first searching subunit configured to determine an extension of a geometric partitioning mode in a current coding block corresponding to a geometric partitioning mode parameter of a neighboring coding block, and search for a partitioning mode matching the extension in a total list of partitioning modes; and a second construction subunit configured to construct a corresponding partition mode candidate list based on the partition modes matching the extension line, wherein the number of partition modes included in the partition mode candidate list is less than or equal to the number of neighboring coding blocks.
[0173] In one embodiment, the first determination unit comprises: a first determination subunit configured to perform inter prediction on a current coding block using each partition mode in the partition mode candidate list according to a predetermined order, to obtain a rate-distortion cost corresponding to the partition mode, and set the obtained rate-distortion cost as a first rate-distortion cost; and a second determining subunit configured to determine a geometric partitioning mode parameter to be adopted by the current coding block based on the first rate-distortion cost.
[0174] In one embodiment, the first determination unit comprises: a third determination subunit configured to perform inter prediction on the current coding block using each partition mode in the partition mode candidate list, respectively, to obtain a rate-distortion cost corresponding to the partition mode; a fourth determination subunit configured to perform inter prediction on a current coding block using each partition mode in a partition mode difference list, which is a difference set between the partition mode total list and the partition mode candidate list, to obtain a rate-distortion cost corresponding to the partition mode, and set the obtained rate-distortion cost as a second rate-distortion cost; and a fifth determining subunit configured to determine a geometric partitioning mode parameter to be adopted by the current coding block based on the first rate-distortion cost and the second rate-distortion cost.
[0175] In one embodiment, the second determination module: an obtaining unit configured to obtain a geometric partitioning mode parameter of a target coding block in a current video frame; a second construction unit configured to construct a partition mode candidate list for the current coding block based on the geometric partition mode parameters of the target coding block; and a second determining unit configured to determine the geometric partitioning mode parameters adopted by the current coding block through a template matching manner based on the partitioning mode candidate list.
[0176] In one embodiment, the second building unit comprises: a second searching subunit configured to search for a partition mode matching the extension in the total list of partition modes according to the extension in the current coding block of the geometric partition mode parameters adopted by the target coding block in the current video frame; and a third construction subunit configured to construct a corresponding partition mode candidate list based on the partition mode matching the extension line.
[0177] In one embodiment, the target coding block in the current video frame is a neighboring coding block of the current coding block in the current video frame, or a coding block within a predetermined neighborhood of the current coding block in the current video frame, or The coding block retrieved along a predetermined direction of the current coding block in the current video frame.
[0178] In one embodiment, the second determination unit: a fourth construction subunit configured to construct a template region corresponding to a current coding block in a current video frame; a sixth determination subunit configured to perform inter prediction on the template region using each partition mode in the partition mode candidate list, respectively, to obtain a rate-distortion cost corresponding to the partition mode, and set the obtained rate-distortion cost as a third rate-distortion cost; and a seventh determining subunit configured to determine a geometric partitioning mode parameter to be adopted by the current coding block based on the third rate-distortion cost.
[0179] In one embodiment, the second determination unit: an eighth determination subunit configured to perform inter prediction on the template region using each partition mode in the partition mode candidate list, respectively, to obtain a rate-distortion cost corresponding to the partition mode, and set the obtained rate-distortion cost as a third rate-distortion cost; a ninth determining subunit configured to perform inter prediction on the current coding block using each partition mode in the total list of partition modes, and obtain a rate-distortion cost corresponding to the partition mode, which is a fourth rate-distortion cost; and a tenth determining subunit configured to determine a geometric partitioning mode parameter to be adopted by the current coding block based on the third rate-distortion cost and the fourth rate-distortion cost.
[0180] The inter-prediction device of this embodiment is configured to realize the inter-prediction method applied to the encoding side of the embodiment shown in Figure 3, and the realization principle and technical effects of the inter-prediction device of this embodiment are similar, so the description will be omitted here.
[0181] In one embodiment, Figure 15 is a structural block diagram of a decoding device according to an embodiment of the present application. This embodiment is applied to the decoding side. As shown in Figure 15, the decoding device in this embodiment includes an analysis acquisition module 1510, a first determination module 1520 and a prediction module 1530.
[0182] The analysis and obtaining module 1510 is configured to analyze the video encoding codestream and obtain predictive decoding parameters for a current encoding block in a current video frame.
[0183] The first determining module 1520 is configured to determine a geometric partitioning mode parameter adopted by the current coding block based on the predicted decoding parameter.
[0184] The prediction module 1530 is configured to perform inter prediction on the current coding block using the geometric partitioning mode parameter.
[0185] In one embodiment, the first determination module: a first obtaining unit configured to obtain a split mode prediction indicator; a first determining unit configured to determine that the current coding block adopts the partition mode prediction method when the partition mode prediction indicator is a first value; A first construction unit configured to construct a partition mode candidate list corresponding to a current coding block according to the inter prediction method according to any of the above embodiments; and a second determining unit configured to determine a geometric partition mode parameter to be adopted by the current coding block based on the partition mode prediction index and the partition mode candidate list.
[0186] In one embodiment, the partition mode prediction index is used to indicate the index value in the partition mode candidate list of the partition mode that the current video frame uses.
[0187] In one embodiment, the first determination module: a first obtaining unit configured to obtain a split mode prediction indicator; a first determining unit configured to determine that the current coding block adopts a partition mode prediction method when the partition mode prediction indicator is a first value; A second construction unit configured to construct a partition mode candidate list corresponding to the current coding block according to the inter prediction method according to any of the above embodiments; and a third determining unit configured to determine a geometric partitioning mode parameter to be adopted by the current coding block through a template matching manner based on the partitioning mode candidate list.
[0188] In one embodiment, the first determination module: a second obtaining unit configured to obtain a split mode prediction indicator; a fourth determining unit configured to determine that the current coding block does not adopt the partition mode prediction method when the partition mode prediction indicator is a second value; and a fifth determining unit configured to determine a geometric partition mode parameter to be adopted by the current coding block based on the partition mode prediction index and the pre-created total partition mode list.
[0189] The decoding device of this embodiment is configured to realize the decoding method applied to the decoding side of the embodiment shown in Figure 4, and the realization principle and technical effects of the decoding device of this embodiment are similar, so the description will be omitted here.
[0190] In one embodiment, FIG. 16 is a structural diagram of an electronic device according to an embodiment of the present application. As shown in FIG. 16, the electronic device according to the present application includes a processor 1610 and a memory 1620. The number of processors 1610 in the electronic device may be one or more, and FIG. 16 exemplifies one processor 1610. The number of memories 1620 in the electronic device may be one or more, and FIG. 16 exemplifies one memory 1620. The processor 1610 and memory 1620 of the electronic device may be connected via a bus or other methods, and FIG. 16 exemplifies connection via a bus. In this embodiment, the electronic device may be a decoding side or an encoding side.
[0191] The memory 1620 can be used as a computer-readable storage medium to store software programs, computer-executable programs, and modules, such as program instructions / modules corresponding to any embodiment of the electronic device of the present application (e.g., the acquisition module 1410, the first determination module 1420, the second determination module 1430, and the fusion module 1440 in an inter-prediction device). The memory 1620 can include a program storage area and a data storage area, where the program storage area can store an operating system and / or application programs required for at least one function, and the data storage area can store data generated based on the use of the electronic device. The memory 1620 can also include high-speed random access memory and may further include non-volatile memory such as at least one magnetic disk storage device, flash memory, or other non-volatile solid-state storage device. In some embodiments, the memory 1620 can include memory located remotely from the processor 1610, and these remote memories can be connected to the electronic device via a network. Examples of such networks may include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0192] When the electronic device is an encoding side, the above-mentioned electronic device can be configured to perform the inter prediction method applied to the encoding side according to any of the above-mentioned embodiments, and has corresponding functions and effects.
[0193] When the electronic device is a decoding side, the above-mentioned electronic device can be configured to execute the decoding method applied to the decoding side according to any of the above-mentioned embodiments, and has corresponding functions and effects.
[0194] An embodiment of the present application further provides a storage medium including computer-executable instructions, which, when executed by a computer processor, are used to perform an inter-prediction method applied to an encoding side, the method including: obtaining a current video frame; determining a current coding block in the current video frame; determining a first predicted value and a second predicted value of the current coding block; determining a geometric partitioning mode parameter of the current coding block; and weighted fusing the first predicted value and the second predicted value based on the geometric partitioning mode parameter of the current coding block to obtain a predicted value of the current coding block.
[0195] An embodiment of the present application further provides a storage medium including computer-executable instructions, which, when executed by a computer processor, are used to perform a decoding method applied to a decoding side, the method including: analyzing a video encoding code stream to obtain predictive decoding parameters of a current encoding block in a current video frame; determining geometric partitioning mode parameters adopted by the current encoding block based on the predictive decoding parameters; and performing inter prediction on the current encoding block using the geometric partitioning mode parameters.
[0196] Those skilled in the art will appreciate that the term user equipment includes any suitable type of wireless user equipment, including, for example, a mobile phone, a portable data processing device, a portable network browser, or a vehicle mounted mobile device.
[0197] In general, various embodiments of the present application may be implemented in hardware or special purpose circuits, software, logic, or any combination thereof. For example, some aspects may be implemented in hardware while other aspects may be implemented in firmware or software executable by a controller, microprocessor, or other computing device, and the present application is not limited thereto.
[0198] Embodiments of the present application may be implemented by execution of computer program instructions by a data processor of a mobile device, for example in a processor entity, by hardware, or by a combination of software and hardware. The computer program instructions may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or target code written in any combination of one or more programming languages.
[0199] Any logic flow block diagrams in the figures herein may represent program steps, interconnected logic circuits, modules, and functions, or combinations of program steps and logic circuits, modules, and functions. Computer programs may be stored in memory. The memory may be of any type suitable for the local technology environment and may be implemented with any appropriate data storage technology, such as, but not limited to, read-only memory (ROM), random access memory (RAM), optical storage devices and systems (Digital Versatile Discs (DVDs) or Compact Discs (CDs)), etc. Computer-readable media may also include non-transitory storage media. The data processor may be of any type suitable for the local technology environment, such as, but not limited to, a general purpose computer, a special purpose computer, a microprocessor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), and a processor based on a multi-core processor architecture.
[0200] The above is only a preferred embodiment of the present application and does not limit the present application. Those skilled in the art can make various changes and modifications to the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims
1. obtaining a current video frame and determining a current coding block in the current video frame; determining a first predicted value and a second predicted value of the current coding block; determining a geometric partitioning mode parameter of the current coding block based on a geometric partitioning mode parameter of a target coding block corresponding to the current coding block; weighting and fusing the first predicted value and the second predicted value based on a geometric partitioning mode parameter of the current coding block to obtain a predicted value of the current coding block; Inter prediction method.
2. determining a geometric partitioning mode parameter of the current coding block based on a geometric partitioning mode parameter of a target coding block corresponding to the current coding block; constructing a partition mode candidate list for the current coding block based on a geometric partition mode parameter of a target coding block corresponding to the current coding block; determining a geometric partition mode parameter of a current coding block based on the partition mode candidate list; The method of claim 1.
3. The target coding block includes neighboring coding blocks, and constructing a partition mode candidate list corresponding to the current coding block based on a geometric partition mode parameter of a target coding block corresponding to the current coding block includes: Obtaining geometric partitioning mode parameters of neighboring coding blocks corresponding to the current coding block; constructing a partition mode candidate list corresponding to the current coding block based on geometric partition mode parameters of neighboring coding blocks; The method of claim 2.
4. The target coding block includes neighboring coding blocks, and constructing a partition mode candidate list corresponding to the current coding block based on a geometric partition mode parameter of a target coding block corresponding to the current coding block includes: Obtaining geometric partitioning mode parameters of neighboring coding blocks corresponding to the current coding block; determining an extension of a geometric partitioning mode in a current coding block corresponding to the geometric partitioning mode parameter of the neighboring coding block, and searching for a partitioning mode matching the extension in a total list of partitioning modes; constructing a corresponding partition mode candidate list based on the partition modes matching the extension line, and the number of partition modes included in the partition mode candidate list is equal to or less than the number of the neighboring coding blocks. The method of claim 2.
5. determining a geometric partition mode parameter of the current coding block based on the partition mode candidate list, performing inter prediction on a current coding block using each partition mode in the partition mode candidate list according to a predetermined order, and obtaining a rate-distortion cost corresponding to the partition mode, as a first rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the first rate-distortion cost; 5. The method according to any one of claims 2 to 4.
6. determining a geometric partition mode parameter of the current coding block based on the partition mode candidate list, performing inter prediction on a current coding block using each partition mode in the partition mode candidate list to obtain a rate-distortion cost corresponding to the partition mode; performing inter prediction on a current coding block using each partition mode in a partition mode difference list, which is a difference set between the partition mode total list and the partition mode candidate list, to obtain a rate-distortion cost corresponding to the partition mode, and set the obtained rate-distortion cost as a second rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the first rate-distortion cost and the second rate-distortion cost; 5. The method according to any one of claims 2 to 4.
7. determining a geometric partitioning mode parameter of the current coding block based on a geometric partitioning mode parameter of a target coding block corresponding to the current coding block, Obtaining a geometric partitioning mode parameter of a target coding block in a current video frame; constructing a partition mode candidate list for the current coding block based on geometric partition mode parameters of the target coding block; determining a geometric partitioning mode parameter to be adopted by the current coding block through a template matching method based on the partitioning mode candidate list; The method of claim 1.
8. constructing a partition mode candidate list for the current coding block based on geometric partition mode parameters of the target coding block, According to a continuation in the current coding block of a geometric partition mode parameter adopted by a target coding block in the current video frame, searching for a partition mode matching the continuation in the total partition mode list; and constructing a corresponding partition mode candidate list based on the partition modes matching the extension line. The method of claim 7.
9. The target coding block in the current video frame is a neighboring coding block of the current coding block in the current video frame, or a coding block within a predetermined neighborhood of the current coding block in the current video frame, or a coding block retrieved along a predetermined direction of a current coding block in a current video frame; 9. The method according to claim 7 or 8.
10. determining a geometric partitioning mode parameter to be adopted by the current coding block through a template matching method based on the partitioning mode candidate list; constructing a template region corresponding to a current coding block in a current video frame; performing inter prediction on a template region using each of the partition modes in the partition mode candidate list, and obtaining a rate-distortion cost corresponding to the partition mode, which is set as a third rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the third rate-distortion cost; 9. The method according to claim 7 or 8.
11. determining a geometric partitioning mode parameter to be adopted by the current coding block through a template matching method based on the partitioning mode candidate list; constructing a template region corresponding to a current coding block in a current video frame; performing inter prediction on a template region using each of the partition modes in the partition mode candidate list, and obtaining a rate-distortion cost corresponding to the partition mode, which is set as a third rate-distortion cost; Performing inter prediction on the current coding block using each partition mode in the total partition mode list to obtain a rate-distortion cost corresponding to the partition mode, which is a fourth rate-distortion cost; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the third rate-distortion cost and the fourth rate-distortion cost; 9. The method according to claim 7 or 8.
12. Parsing the video encoding codestream to obtain predictive decoding parameters for a current coding block in a current video frame; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter; performing inter prediction on the current coding block using the geometric partitioning mode parameter; Decryption method.
13. determining a geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter, Obtaining a split mode prediction indicator; determining that the current coding block adopts a partition mode prediction method according to the partition mode prediction indicator being a first value; Constructing a partition mode candidate list corresponding to the current coding block based on the inter prediction method according to any one of claims 1 to 6; determining a geometric partition mode parameter to be adopted by a current coding block based on a partition mode prediction index for indicating an index value in the partition mode candidate list of a partition mode used by a current video frame and the partition mode candidate list; The method of claim 12.
14. determining a geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter, Obtaining a split mode prediction indicator; determining that the current coding block adopts a partition mode prediction method according to the partition mode prediction indicator being a first value; Constructing a partition mode candidate list corresponding to the current coding block according to the inter prediction method of claim 1, 7 to 11; determining a geometric partitioning mode parameter to be adopted by the current coding block through a template matching method based on the partitioning mode candidate list; The method of claim 12.
15. determining a geometric partitioning mode parameter to be adopted by the current coding block based on the predicted decoding parameter, Obtaining a split mode prediction indicator; determining that the current coding block does not adopt a partition mode prediction method according to the partition mode prediction indicator being a second value; determining a geometric partitioning mode parameter to be adopted by the current coding block based on the partitioning mode prediction index and the pre-created total partitioning mode list; The method of claim 12.
16. a memory and at least one processor; the memory is configured to store at least one program; When the at least one program is executed by the at least one processor, the at least one processor performs the method of any one of claims 1 to 11 or claims 12 to 15. electronic equipment.
17. A computer program is stored which, when executed by a processor, implements the method according to any one of claims 1 to 11 or 12 to 15. storage medium.
Citation Information
Patent Citations
KR20220011107A