Image coding division decision method and device, equipment, storage medium and product

By making quad-tree division decisions and multi-type division decisions on the current encoding block, combined with skip decisions with optimal mode information, the problem of low division decision efficiency in VVC encoder is solved, and a more efficient encoding decision process is achieved.

CN119450085APending Publication Date: 2025-02-14BIGO TECH PTE LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411541446.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-31
Publication Date
2025-02-14

Smart Images

  • Figure CN119450085A_ABST
    Figure CN119450085A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an image coding division decision method and device, equipment, a storage medium and a product. According to the technical scheme provided by the embodiment of the invention, the quadtree division decision result is obtained by performing the quadtree division decision on the current coding block, and the optimal mode information of the four sub-coding blocks obtained by performing the quadtree division on the current coding block is determined according to the quadtree division decision result; and determining skipping decision information in the preset direction according to the consistency of the optimal mode information in the preset direction, and skipping a division decision of the current coding block in the preset direction when the skipping decision information is a division decision of skipping the preset direction. According to the embodiment of the invention, the target division decision result of the current coding block can be determined according to the quadtree division decision result and the multi-type division result, the division decision quality is ensured, the data processing amount of the division decision can be effectively reduced, and the division decision efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of image processing technology, and in particular to a method, device, equipment, storage medium and product for image coding division decision. Background Art

[0002] With the development of computer technology and image processing technology, people have higher and higher requirements on image encoding quality and image encoding speed.

[0003] In the previous generation encoder standard HEVC (High Efficiency Video Coding), the maximum coding tree unit (CTU) size is set to 64×64. In order to further improve the coding efficiency, the new generation encoder standard VVC (Versatile Video Coding) supports CTU sizes up to 128×128. In the new generation encoder standard VVC, a new QTMTCU partition structure has been developed. In addition to the none partition (NS) and quad-tree (QT) partitions in HEVC, VVC also supports the recursive partition structure of binary tree (BT) and ternary tree (TT), also known as multi-type tree (MTT) partitions. The multi-type tree partition includes four partition methods: vertical binary tree (VBT), horizontal binary tree (HBT), vertical ternary tree (VTT) and horizontal ternary tree (HTT).

[0004] The new generation encoder standard usually uses a coding tree unit as the root node. First, it will make a decision on no partition type, and then make a quadtree partition decision. This largest coding tree unit will be divided into 4 sub-coding units for mode decisions, and these 4 sub-coding units will also recursively make their own partition decisions. After completing the quadtree partition decision, it will return to the coding tree unit to make multiple types of partition decisions, and finally take the partition result with the lowest rate-distortion cost as the final partition result of the coding tree unit. Although the introduction of the partition structure of the new generation encoder standard has brought better coding benefits, it needs to make various partition decisions of different types for the same coding area when searching for the best partition structure, and ultimately only get an optimal partition structure, and the partition decision efficiency is low. Summary of the invention

[0005] The embodiments of the present application provide a method, apparatus, device, storage medium and product for image coding partition decision-making to solve the technical problem in the related art that various partition types of partition decisions need to be performed on the same coding area, and the partition decision efficiency is low, and the partition decision efficiency can be effectively improved.

[0006] In a first aspect, an embodiment of the present application provides a partition decision method for image coding, comprising:

[0007] Performing a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, and determining optimal mode information of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result;

[0008] Determining the consistency of the optimal mode information in a preset direction, and determining skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction;

[0009] Performing a multi-type partitioning decision on the current coding block according to the skip decision information to obtain a multi-type partitioning decision result, wherein, when the skip decision information is to skip a partitioning decision in a preset direction, skipping a partitioning decision on the current coding block in a preset direction;

[0010] The target partition decision result of the current coding block is determined according to the quadtree partition decision result and the multi-type partition results.

[0011] In a second aspect, an embodiment of the present application provides a division decision device for image coding, including an information determination module, a skip analysis module, a decision processing module and a result determination module, wherein:

[0012] The information determination module is configured to perform a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, and determine the optimal mode information of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result;

[0013] The skip analysis module is configured to determine the consistency of the optimal mode information in a preset direction, and determine the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction;

[0014] The decision processing module is configured to perform a multi-type partition decision on the current coding block according to the skip decision information to obtain a multi-type partition decision result, wherein, when the skip decision information is to skip the preset direction partition decision, the partition decision of the current coding block in the preset direction is skipped;

[0015] The result determination module is configured to determine a target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition results.

[0016] In a third aspect, an embodiment of the present application provides a partition decision device for image coding, including: a memory and one or more processors;

[0017] The memory is used to store one or more programs;

[0018] When the one or more programs are executed by the one or more processors, the one or more processors implement the image coding partition decision method as described in the first aspect.

[0019] In a fourth aspect, an embodiment of the present application provides a non-volatile storage medium storing computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are used to execute the image coding partition decision method as described in the first aspect.

[0020] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program stored in a computer-readable storage medium, and at least one processor of a device reads and executes the computer program from the computer-readable storage medium, so that the device performs the image coding division decision method as described in the first aspect.

[0021] The embodiment of the present application obtains a quadtree partitioning decision result by performing a quadtree partitioning decision on the current coding block, and determines the optimal mode information of the four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result, determines the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction, and skips the partition decision of the current coding block in the preset direction when the skip decision information is to skip the partition decision in the preset direction, and can determine the target partition decision result of the current coding block according to the quadtree partitioning decision result and the multi-type partitioning results, and determines whether the partition decision of the current coding block in the preset direction can be skipped according to the consistency of the optimal mode information of the quadtree partitioning decision result in the preset direction, while ensuring the quality of the partition decision, can effectively reduce the data processing amount of the partition decision and improve the efficiency of the partition decision. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 It is a schematic diagram of the division result of an existing maximum coding tree unit;

[0023] Figure 2 It is a flowchart of a method for image coding division decision provided by an embodiment of the present application;

[0024] Figure 3 is a flowchart of another image coding division decision method provided by an embodiment of the present application;

[0025] Figure 4 This is a schematic diagram of a division decision for a current coding block provided by an embodiment of the present application;

[0026] Figure 5It is a structural schematic diagram of a division decision device for image coding provided by an embodiment of the present application;

[0027] Figure 6 It is a structural diagram of an image coding division decision device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] In order to make the purpose, technical scheme and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application, rather than to limit the present application. It should also be noted that, for the convenience of description, only the part related to the present application but not all the contents are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow chart describes each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. The above process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The above process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.

[0029] The image coding partition decision method provided in the present application can be applied to image coding scenarios based on the VVC coding standard. It aims to determine the target partition decision result of the current coding block based on the quadtree partition decision result and the multi-type partition result, and determine whether the partition decision of the current coding block in the preset direction can be skipped according to the consistency of the optimal mode information of the quadtree partition decision result in the preset direction, so as to improve the efficiency of the partition decision.

[0030] In the existing partitioning decision scheme, such as Figure 1 As shown in the schematic diagram of the division result of an existing maximum coding tree unit, a maximum coding tree unit is usually used as the root node to make a decision without a division type, and then a quadtree division decision is made on the coding tree unit, and the coding tree unit is divided into 4 sub-coding units for mode decisions, and these 4 sub-coding units will also recursively make their own division decisions. After completing the quadtree division decision, it will return to the coding tree unit and make multiple types of division decisions (including vertical and horizontal binary tree division decisions, and vertical and horizontal ternary tree division decisions). Finally, the division result with the smallest rate-distortion cost is used as the final division result of the coding tree unit. The final division result can be referred to Figure 1 .

[0031] It can be seen that the VVC coding standard brings a higher encoder computational complexity when searching for the best partition structure. For the same coding area, since the content information it contains is fixed, after different partition types use rate-distortion cost decisions, only one optimal partition structure will be obtained in the end, and there is a technical problem of low partition decision efficiency. Based on this, a partition decision method for image coding in an embodiment of the present application is provided to solve the technical problem of low partition decision efficiency in the existing partition decision scheme.

[0032] Figure 2 A flowchart of a partition decision method for image coding provided in an embodiment of the present application is given. The partition decision method for image coding provided in an embodiment of the present application can be executed by a partition decision device for image coding, which can be implemented in hardware and / or software and integrated in a partition decision device for image coding.

[0033] The following description is made by taking the image coding division decision device executing the image coding division decision method as an example. Figure 2 , the image coding partition decision method includes:

[0034] S110: Performing a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, and determining optimal mode information of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result.

[0035] The current coding block provided by the present solution may be the maximum coding tree unit in the image to be coded (the corresponding four sub-coding blocks are four coding units obtained by quadtree partitioning the maximum coding tree unit), or one of the four coding units obtained by quadtree partitioning the maximum coding tree unit (the corresponding four sub-coding blocks are four sub-coding units obtained by quadtree partitioning one of the four coding units), or one of the four sub-coding units obtained by quadtree partitioning when the coding units recursively make partitioning decisions (the corresponding four sub-coding blocks are four sub-coding units of the next level obtained by quadtree partitioning one of the four sub-coding units). There may be corresponding coding blocks at each level of the partitioning decision. After completing the quadtree partitioning decision of one level, the corresponding coding block is the current coding block, and a judgment is made on whether the partitioning decision of the current coding block in the preset direction can be skipped for the current coding block.

[0036] After performing a quadtree partitioning decision on a coding block to determine the optimal mode information (or optimal coding mode identification information) of the four sub-coding blocks, this solution performs a multi-type partitioning decision on the current coding block and determines whether the partitioning decision of the current coding block in a preset direction can be skipped. After completing the decisions on each partitioning type of the current coding block, the solution returns to the coding block of the previous level, performs a multi-type partitioning decision on the coding block of the previous level and determines whether the partitioning decision of the coding block of the corresponding level in a preset direction can be skipped. After completing the decisions on each partitioning type of the maximum coding tree unit, the partitioning decision of the next maximum coding tree unit is performed until the partitioning decisions of each maximum coding tree unit are completed, and the partitioning decision of the entire image to be encoded is completed.

[0037] Exemplarily, a quadtree partitioning decision is made on the current coding block to obtain a quadtree partitioning decision result corresponding to the current coding block, and the optimal mode information of the four sub-coding blocks obtained by quadtree partitioning the current coding block is determined according to the quadtree partitioning decision result. The optimal mode information provided by this solution can record the optimal coding mode for encoding the four sub-coding blocks of the divided area corresponding to the current coding block.

[0038] Among them, after making a quadtree partition decision on the current coding block, four sub-coding blocks will be obtained, and the optimal coding mode decision can be made for each of the four sub-coding blocks based on a preset coding mode decision strategy, and the optimal mode information is determined according to the optimal coding mode decision result, and the optimal mode information of adjacent sub-coding blocks can be the same or different. Optionally, the optimal coding mode may include an intra-frame prediction mode (Intra) and an inter-frame prediction mode (Inter), etc., wherein the inter-frame prediction mode may include a skip mode (Skip), a merge mode (Merge) and an advanced motion vector prediction mode (Amvp), etc., and the intra-frame prediction mode may include a normal Intra mode and an intra-frame block copy mode (IBC).

[0039] S120: Determine the consistency of the optimal mode information in the preset direction, and determine the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction.

[0040] Exemplarily, the consistency of the optimal mode information in a preset direction is determined, where the preset direction may be a vertical direction and / or a horizontal direction. When determining the consistency of the optimal mode information in the preset direction, it may be determined whether the optimal mode information of adjacent sub-coding blocks in the vertical direction among the four sub-coding blocks is consistent, and / or whether the optimal mode information of adjacent sub-coding blocks in the horizontal direction is consistent.

[0041] After determining the consistency of the optimal mode information in the preset direction, the skip decision information of the current coding block in the preset direction can be determined according to the consistency of the optimal mode information in the preset direction. The skip decision information can be used to indicate whether to skip the multi-type partitioning decision in the corresponding preset direction when making a multi-type partitioning decision for the current coding block.

[0042] For example, when the optimal mode information in the preset direction is inconsistent, the skip decision information may indicate skipping the multi-type division decision in the corresponding preset direction, and when the optimal mode information in the preset direction is consistent, the skip decision information may indicate not skipping the multi-type division decision in the corresponding preset direction.

[0043] S130: Performing multi-type division decisions on the current coding block according to the skip decision information to obtain multi-type division decision results, wherein when the skip decision information is to skip the division decision in a preset direction, the division decision on the current coding block in the preset direction is skipped.

[0044] Exemplarily, after determining the skip decision information of the current coding block, a multi-type partition decision may be performed on the current coding block to obtain a multi-type partition decision result. When performing a multi-type partition decision on the current coding block, it may be determined whether to skip the partition decision of the current coding block in a preset direction according to the skip decision information.

[0045] In one embodiment, when the skip decision information indicates not to skip the division decision of the current coding block in the preset direction, the multi-type division decision is normally performed on the current coding block in the preset direction to obtain the multi-type division decision result in the preset direction. When the skip decision information indicates to skip the division decision of the current coding block in the preset direction, the multi-type division decision of the current coding block in the preset direction is skipped, and the multi-type division decision result in the preset direction is that the multi-type division decision in the preset direction is not performed, or the multi-type division decision result in the preset direction does not need to be generated.

[0046] Among them, the multi-type partitioning decisions include multi-type partitioning decisions in vertical and horizontal directions. The multi-type partitioning decisions in the vertical direction include vertical binary tree (VBT) partitioning decisions and vertical ternary tree (VTT) partitioning decisions. The multi-type partitioning decisions in the horizontal direction include horizontal binary tree (HBT) partitioning decisions and horizontal ternary tree (HTT) partitioning decisions.

[0047] S140: Determine a target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition results.

[0048] Exemplarily, the target partition decision result of the current coding block is determined based on the quadtree partition decision result and the multi-type partition result determined above, for example, the rate-distortion cost corresponding to the quadtree partition decision result and one or more rate-distortion costs corresponding to one or more multi-type partition results are determined, and the partition decision result with the lowest rate-distortion cost is used as the target partition decision result of the current coding block.

[0049] Among them, when retaining the multi-type partitioning decision of some preset directions, or not skipping the multi-type partitioning decision, the multi-type partitioning result includes the multi-type partitioning result corresponding to the multi-type partitioning decision of one or more combinations of vertical binary tree partitioning decision, horizontal binary tree partitioning decision, vertical ternary tree partitioning decision and horizontal ternary tree partitioning decision. When skipping the multi-type partitioning decision of all preset directions, the multi-type partitioning result is the multi-type partitioning decision without performing the preset direction, and there is no multi-type partitioning decision result. The target partitioning decision result of the current coding block can be determined according to the quadtree partitioning decision result (for example, the quadtree partitioning decision result is determined as the target partitioning decision result of the current coding block, or the quadtree partitioning decision result and the no-partitioning decision result with the lowest rate-distortion cost are used as the target partitioning decision result of the current coding block).

[0050] In the above, a quadtree partitioning decision result is obtained by performing a quadtree partitioning decision on the current coding block, and the optimal mode information of the four sub-coding blocks obtained by performing quadtree partitioning on the current coding block is determined according to the quadtree partitioning decision result, and the skipping decision information in the preset direction is determined according to the consistency of the optimal mode information in the preset direction, and when the skipping decision information is to skip the preset direction partitioning decision, the partitioning decision in the preset direction for the current coding block is skipped, and the target partitioning decision result of the current coding block can be determined according to the quadtree partitioning decision result and the multi-type partitioning results, and according to the consistency of the optimal mode information of the quadtree partitioning decision result in the preset direction, it is determined whether the partitioning decision in the preset direction for the current coding block can be skipped, while ensuring the quality of the partitioning decision, the data processing amount of the partitioning decision can be effectively reduced, and the efficiency of the partitioning decision can be improved.

[0051] Based on the above embodiments, Figure 3 A flowchart of another image coding division decision method provided by an embodiment of the present application is given. The image coding division decision method is a specific embodiment of the above-mentioned image coding division decision method. Figure 3 , the image coding partition decision method includes:

[0052] S210: Perform a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result.

[0053] S220: Determine the coding conditions of the four sub-coding blocks obtained by performing quadtree division on the current coding block according to the quadtree division decision result, and determine the optimal mode information of the sub-coding blocks according to the coding conditions.

[0054] Exemplarily, after making a quadtree partition decision on the current coding block, four sub-coding blocks of the current coding block corresponding to the quadtree partition decision result are obtained, and the coding conditions of the four sub-coding blocks are determined, and the optimal mode information of the sub-coding blocks is determined according to the coding conditions. Among them, the coding conditions can be used to indicate whether the corresponding sub-coding block has been encoded. For example, there is no optimal coding mode for the uncoded sub-coding block, which may directly skip the coding mode decision process. The optimal mode information of the uncoded sub-coding block can be uniformly set to the first preset value, and the optimal mode information of the coded sub-coding block can be determined according to the optimal coding mode. This scheme determines the optimal mode information of the sub-coding block according to the coding conditions of the four sub-coding blocks, accurately distinguishes the coded sub-coding blocks and the uncoded sub-coding blocks, accurately determines the optimal mode information of different sub-coding blocks, and improves the accuracy of determining the skip decision information.

[0055] In a possible embodiment, the image coding division decision method provided by the present solution determines the optimal mode information of the sub-coding block according to the coding situation, including:

[0056] S221: When the coding status of the sub-coding block is uncoded, determine that the optimal mode information of the sub-coding block is a first preset value.

[0057] S222: When the coding status of the sub-coding block is already encoded, determine the optimal coding mode of the sub-coding block, and determine the optimal mode information of the sub-coding block according to a preset value corresponding to the optimal coding mode.

[0058] Exemplarily, when the coding state of the sub-coding block is uncoded, the optimal mode information of the sub-coding block can be set to a first preset value. When the coding state of the sub-coding block is coded, the optimal coding mode of the sub-coding block can be determined, and the optimal mode information of the sub-coding block can be determined according to the preset value corresponding to the optimal coding mode. Different coding modes correspond to different preset values, and different enumeration values ​​can be determined as corresponding preset values ​​by enumerating different coding modes.

[0059] In one embodiment, assuming that the coding modes include skip mode (Skip), merge mode (Merge), advanced motion vector prediction mode (Amvp), intra prediction mode (Intra), and intra block copy mode (IBC), the corresponding coding modes are set to the second to sixth preset values, respectively. Optionally, the first preset value can be set to -1, and the second to sixth preset values ​​can be set to 0-4. For example, the optimal mode information provided by this solution can be determined by the following formula:

[0060] hasBestCU[i]=bestCU[i]?true∶false,i∈{0,1,2,3}

[0061] subAccurateMode[i]=hasBestCU[i]?predMode∶-1,i∈{0,1,2,3}

[0062] enumpredMode

[0063] {

[0064] MODE_Skip=0,

[0065] MODE_Merge=1,

[0066] MODE_Amvp=2,

[0067] MODE_Intra=3,

[0068] MODE_IBC=4,

[0069] }

[0070] Among them, CU[i] is the i-th sub-coding block on the current coding block, CU[0], CU[1], CU[2], and CU[3] are the sub-coding blocks at the upper left corner, upper right corner, lower left corner, and lower right corner of the current coding block respectively, hasBestCU[i] can indicate whether the i-th sub-coding block has been encoded. If it has been encoded, hasBestCU[i] is set to true, otherwise hasBestCU[i] is set to false, subAccurateMode[i] is the optimal mode information of the i-th sub-coding block, predMode is the optimal coding mode, which is an enumeration value and corresponds one-to-one to the optimal coding mode of the corresponding sub-coding block, and predMode includes skip mode (MODE_Skip), merge mode (MODE_Merge), advanced motion vector prediction mode (MODE_Amvp), intra-frame prediction mode (MODE_Intra) and intra-frame block copy mode (MODE_IBC). When hasBestCU[i] is true, that is, the current sub-coding block has been encoded, the value of subAccurateMode[i] corresponds to the enumeration value corresponding to predMode. When the current sub-coding block has not been encoded, the value of subAccurateMode[i] is -1. This solution determines the optimal mode information of the sub-coding block by the encoding status of the sub-coding block, accurately distinguishes the encoded sub-coding blocks from the unencoded sub-coding blocks, and determines the optimal mode information corresponding to different encoding modes through different enumeration values, effectively distinguishes different encoding modes, and effectively improves the accuracy of skip decision information determination.

[0071] S230: Determine the consistency of the optimal mode information in the preset direction, and determine the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction.

[0072] In one embodiment, the preset directions provided by the present scheme include horizontal and vertical directions, and the skip decision information includes horizontal skip decision information in the horizontal direction and vertical skip decision information in the vertical direction. The present scheme can determine whether to skip multiple types of partitioning decisions in the corresponding directions according to the optimal mode information of the sub-coding block in the horizontal and vertical directions respectively, which can effectively reduce the data processing amount of the partitioning decision and improve the efficiency of the partitioning decision.

[0073] In one possible embodiment, the image coding division decision method provided by the present scheme determines the skip decision information in a preset direction according to the consistency of the optimal mode information in the preset direction, including at least one of the following: when the optimal mode information is inconsistent in the horizontal direction, the horizontal skip decision information is determined to be a skip horizontal division decision; when the optimal mode information is inconsistent in the vertical direction, the vertical skip decision information is determined to be a skip vertical division decision.

[0074] Exemplarily, after determining the optimal mode information corresponding to the four sub-coding blocks, it can be determined whether the optimal mode information is consistent in the horizontal direction, and / or whether the optimal mode information is consistent in the vertical direction. When the optimal mode information is inconsistent in the horizontal direction, the horizontal skip decision information is determined to be a skip horizontal division decision; and when the optimal mode information is consistent in the horizontal direction, the horizontal skip decision information is determined to be a non-skip horizontal division decision. When the optimal mode information is inconsistent in the vertical direction, the vertical skip decision information is determined to be a skip vertical division decision; and when the optimal mode information is consistent in the vertical direction, the vertical skip decision information is determined to be a non-skip vertical division decision.

[0075] For example, when determining whether the optimal mode information is consistent in the horizontal direction, it can be determined whether the optimal mode information of the sub-coding blocks in the upper left corner and the upper right corner is consistent, and whether the optimal mode information of the sub-coding blocks in the lower left corner and the lower right corner is consistent. When the optimal mode information of the sub-coding blocks in the upper left corner and the upper right corner is consistent, and the optimal mode information of the sub-coding blocks in the lower left corner and the lower right corner is consistent, it is considered that the optimal mode information is consistent in the horizontal direction; if the optimal mode information of the sub-coding blocks in the upper left corner and the upper right corner is inconsistent, and / or the optimal mode information of the sub-coding blocks in the lower left corner and the lower right corner is inconsistent, it is considered that the optimal mode information is inconsistent in the horizontal direction.

[0076] In one embodiment, when determining whether the optimal mode information is consistent in the vertical direction, it can be determined whether the optimal mode information of the sub-coding blocks at the upper left corner and the lower left corner is consistent, and whether the optimal mode information of the sub-coding blocks at the upper right corner and the lower right corner is consistent. When the optimal mode information of the sub-coding blocks at the upper left corner and the lower left corner is consistent, and the optimal mode information of the sub-coding blocks at the upper right corner and the lower right corner is consistent, it is considered that the optimal mode information is consistent in the vertical direction; if the optimal mode information of the sub-coding blocks at the upper left corner and the lower left corner is inconsistent, and / or the optimal mode information of the sub-coding blocks at the upper right corner and the lower right corner is inconsistent, it is considered that the optimal mode information is inconsistent in the vertical direction.

[0077] Optionally, the horizontal skip decision information canSkipHorSplit and the vertical skip decision information canSkipVerSplit can be used to indicate whether the horizontal split decision (including the horizontal binary tree HBT decision and the horizontal ternary tree HTT decision) and the vertical split decision (including the vertical binary tree VBT decision and the vertical ternary tree VTT decision) can be skipped. After completing the quadtree split decision for the current coding block, the horizontal skip decision information canSkipHorSplit and the vertical skip decision information canSkipVerSplit are initialized to false, indicating that the horizontal or vertical split decision of the current coding block is not skipped. After determining the optimal mode information of the four sub-coding blocks of the current coding block, the horizontal skip decision information canSkipHorSplit and the vertical skip decision information canSkipVerSplit can be updated based on the following formula:

[0078] canSkipHorSplit=(subAccurateMode[0]≠subAccurateMode[1])&&(subAccurateMode[2]≠subAccurateMode[3]),

[0079] canSkipVerSplit=(subAccurateMode[0]≠subAccurateMode[2])&&(subAccurateMode[1]≠subAccurateMode[3])

[0080] When the value of the horizontal skip decision information canSkipHorSplit and / or the vertical skip decision information canSkipVerSplit is updated to true, it indicates that the horizontal split decision and / or the vertical split decision is skipped.

[0081] like Figure 4As shown in the provided schematic diagram of the division decision of the current coding block, taking the current coding block as a 32*32 coding unit as an example, the current coding block can be divided into four 16*16 sub-coding blocks CU0-CU3 by making a quadtree division decision, and each sub-coding block can be recursively divided after making a quadtree division decision on the current coding block, and finally the quadtree division decision result corresponding to the current coding block is obtained. At the same time, after the current coding block is divided into sub-coding blocks CU0-CU3 by making a quadtree division decision, the optimal coding mode of the sub-coding blocks CU0-CU3 is determined respectively, assuming that the optimal coding mode of the sub-coding block CU0 is the intra-frame prediction mode (Intra), the optimal coding mode of the sub-coding block CU1 is the skip mode (Skip), the optimal coding mode of the sub-coding block CU2 is the intra-frame prediction mode (Intra), and the optimal coding mode of the sub-coding block CU3 is the skip mode (Skip).

[0082] It can be seen that the optimal coding mode of sub-coding block CU0 is different from the optimal coding mode of sub-coding block CU1, the optimal coding mode of sub-coding block CU2 is different from the optimal coding mode of sub-coding block CU3, and the optimal mode information is inconsistent in the horizontal direction. It can be determined that the horizontal skip decision information is a skip horizontal division decision. At the same time, the optimal coding mode of sub-coding block CU0 is the same as the optimal coding mode of sub-coding block CU2, and the optimal coding mode of sub-coding block CU1 is the same as the optimal coding mode of sub-coding block CU3. The optimal mode information is consistent in the vertical direction, and the vertical skip decision information can be determined as a non-skip vertical division decision.

[0083] Subsequently, when making multi-type partitioning decisions, the horizontal binary tree HBT decision and the horizontal ternary tree HTT decision can be skipped based on the horizontal skip decision information, and the vertical binary tree VBT decision and the vertical ternary tree VTT decision can be made based on the vertical skip decision information. This reduces the amount of data processing for determining the horizontal binary tree HBT decision and the horizontal ternary tree HTT decision based on the horizontal skip decision information, and improves the partitioning decision efficiency.

[0084] This scheme takes into account that the texture information content in the same partitioned area is fixed when the optimal mode information is inconsistent in the horizontal direction. If, after a partition type decision, the optimal coding modes of two sub-coding blocks in the same direction are different, then the corresponding partition direction is likely to be unsuitable for the current coding block. The horizontal skip decision information can be determined to be a skip horizontal partition decision, and / or when the optimal mode information is inconsistent in the vertical direction, the vertical skip decision information can be determined to be a skip vertical partition decision. This can accurately determine whether to skip multiple types of partition decisions in the horizontal and / or vertical directions, thereby effectively reducing the amount of data processing for partition decisions and improving the efficiency of partition decisions.

[0085] S240: Perform multi-type division decisions on the current coding block according to the skip decision information to obtain multi-type division decision results, wherein when the skip decision information is to skip the division decision in a preset direction, the division decision on the current coding block in the preset direction is skipped.

[0086] In one possible embodiment, the skip decision information provided by the present scheme includes horizontal skip decision information in the horizontal direction and vertical skip decision information in the vertical direction. The image coding division decision method provided by the present scheme skips the division decision of the current coding block in a preset direction when the skip decision information is to skip the division decision of a preset direction, including at least one of the following: when the horizontal skip decision information is to skip the horizontal division decision, the horizontal division decision of the current coding block is skipped; when the vertical skip decision information is to skip the vertical division decision, the vertical division decision of the current coding block is skipped.

[0087] Exemplarily, when the horizontal skip decision information is to skip the horizontal partition decision, the horizontal partition decision (including the horizontal binary tree HBT decision and the horizontal ternary tree HTT decision) of the current coding block is skipped. When the vertical skip decision information is to skip the vertical partition decision, the vertical partition decision (including the vertical binary tree VBT decision and the vertical ternary tree VTT decision) of the current coding block is skipped. This solution accurately determines whether to skip the horizontal partition decision and the vertical partition decision according to the horizontal skip decision information and the vertical skip decision information, respectively, which can effectively reduce the data processing amount of the partition decision and improve the efficiency of the partition decision.

[0088] S250: Determine a target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result.

[0089] In a possible embodiment, the image coding partition decision method provided by the present solution may further include: determining a no-partition decision result obtained by performing a no-partition decision on the current coding block before determining the target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result. Correspondingly, the present solution determines the target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result, which may be: determining the target partition decision result of the current coding block according to the rate-distortion cost of the no-partition decision result, the quadtree partition decision result, and the multi-type partition result.

[0090] Exemplarily, before performing a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, or before determining a target partitioning decision result of the current coding block, a no partitioning decision (NS decision) can be performed on the current coding block to obtain a no partitioning decision result and a corresponding rate-distortion cost, and subsequently the target partitioning decision result of the current coding block can be determined based on the no partitioning decision result, the quadtree partitioning decision result, and the rate-distortion cost of multiple types of partitioning results.

[0091] Among them, when the multi-type partitioning decision of all preset directions is skipped, the multi-type partitioning result is a multi-type partitioning decision without performing the preset direction, and there is no multi-type partitioning decision result. The target partitioning decision result of the current coding block can be determined according to the rate-distortion cost corresponding to the no-partitioning decision result and the quadtree partitioning decision result. For example, the quadtree partitioning decision result and the no-partitioning decision result with the smallest rate-distortion cost are used as the target partitioning decision result of the current coding block.

[0092] In the above, by performing a quadtree partition decision on the current coding block to obtain a quadtree partition decision result, and determining the optimal mode information of the four sub-coding blocks obtained by performing quadtree partition on the current coding block according to the quadtree partition decision result, determining the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction, and skipping the partition decision of the current coding block in the preset direction when the skip decision information is skipping the partition decision in the preset direction, the target partition decision result of the current coding block can be determined according to the quadtree partition decision result and the multi-type partition result, and according to the consistency of the optimal mode information of the quadtree partition decision result in the preset direction, it is determined whether the partition decision of the current coding block in the preset direction can be skipped, while ensuring the quality of the partition decision, the data processing amount of the partition decision can be effectively reduced, and the efficiency of the partition decision can be improved. At the same time, by determining the optimal mode information of the sub-coding block according to the encoding conditions of the four sub-coding blocks, the sub-coding blocks that have been encoded and the sub-coding blocks that have not been encoded are accurately distinguished, the optimal mode information of different sub-coding blocks is accurately determined, and the accuracy of the skip decision information determination is improved. It is also possible to determine whether to skip multiple types of partitioning decisions in the corresponding directions according to the optimal mode information of the sub-coding block in the horizontal and vertical directions, which can effectively reduce the data processing amount of the partitioning decision and improve the efficiency of the partitioning decision. By skipping the partitioning decision process with a smaller optimal probability for the current coding block, the encoding speed of the encoder is improved while reducing the encoding quality loss and maintaining the consistency of the subjective image quality, the computing resource utilization rate of the server is improved, the server cost is saved, and the CPU utilization rate of the client is effectively reduced, which improves the user experience.

[0093] Figure 5 Schematic diagram of a structure of a division decision device for image coding provided by an embodiment of the present application. Figure 5The image coding division decision device includes an information determination module 51, a skip analysis module 52, a decision processing module 53 and a result determination module 54.

[0094] Among them, the information determination module 51 is configured to perform a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, and determine the optimal mode information of the four sub-coding blocks obtained by quadtree partitioning the current coding block according to the quadtree partitioning decision result; the skip analysis module 52 is configured to determine the consistency of the optimal mode information in a preset direction, and determine the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction; the decision processing module 53 is configured to perform a multi-type partitioning decision on the current coding block according to the skip decision information to obtain a multi-type partitioning decision result, wherein, when the skip decision information is to skip the preset direction partitioning decision, the partitioning decision of the current coding block in the preset direction is skipped; the result determination module 54 is configured to determine the target partitioning decision result of the current coding block according to the quadtree partitioning decision result and the multi-type partitioning result.

[0095] In the above, a quadtree partitioning decision result is obtained by performing a quadtree partitioning decision on the current coding block, and the optimal mode information of the four sub-coding blocks obtained by performing quadtree partitioning on the current coding block is determined according to the quadtree partitioning decision result, and the skipping decision information in the preset direction is determined according to the consistency of the optimal mode information in the preset direction, and when the skipping decision information is to skip the preset direction partitioning decision, the partitioning decision in the preset direction for the current coding block is skipped, and the target partitioning decision result of the current coding block can be determined according to the quadtree partitioning decision result and the multi-type partitioning results, and according to the consistency of the optimal mode information of the quadtree partitioning decision result in the preset direction, it is determined whether the partitioning decision in the preset direction for the current coding block can be skipped, while ensuring the quality of the partitioning decision, the data processing amount of the partitioning decision can be effectively reduced, and the efficiency of the partitioning decision can be improved.

[0096] In a possible embodiment, the information determination module 51 determines the optimal mode information of four sub-coding blocks obtained by performing quadtree division on the current coding block according to the quadtree division decision result, and is configured as follows:

[0097] Determine the encoding status of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result;

[0098] The optimal mode information of the sub-coding block is determined according to the coding situation.

[0099] In a possible embodiment, the information determination module 51 determines the optimal mode information of the sub-coding block according to the coding situation, and is configured as follows:

[0100] When the coding state of the sub-coding block is uncoded, determining the optimal mode information of the sub-coding block to be a first preset value;

[0101] When the coding status of the sub-coding block is already coded, an optimal coding mode of the sub-coding block is determined, and optimal mode information of the sub-coding block is determined according to a preset value corresponding to the optimal coding mode.

[0102] In a possible embodiment, the skip decision information includes horizontal skip decision information in a horizontal direction and vertical skip decision information in a vertical direction.

[0103] In a possible embodiment, the skip analysis module 52 determines the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction, and is configured as at least one of the following:

[0104] When the optimal mode information is inconsistent in the horizontal direction, determining the horizontal skip decision information as a skip horizontal partition decision;

[0105] In the case where the optimal mode information is inconsistent in the vertical direction, the vertical skip decision information is determined to be a skip vertical split decision.

[0106] In a possible embodiment, the decision processing module 53 skips the division decision of the current coding block in the preset direction when the skip decision information is to skip the division decision in the preset direction, and is configured as at least one of the following:

[0107] When the horizontal skip decision information is skipping horizontal partition decision, skipping the horizontal partition decision of the current coding block;

[0108] When the vertical skip decision information is to skip vertical partition decision, the vertical partition decision of the current coding block is skipped.

[0109] In a possible embodiment, the image coding partition decision device further includes a non-partition decision module, which is configured to determine a non-partition decision result obtained by performing a non-partition decision on the current coding block before determining a target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result;

[0110] The result determination module 54 determines the target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result, and is configured as: determining the target partition decision result of the current coding block according to the rate-distortion cost of the no-partition decision result, the quadtree partition decision result and the multi-type partition result.

[0111] It is worth noting that in the embodiment of the above-mentioned image coding division decision device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present application.

[0112] The embodiment of the present application further provides a division decision device for image coding, and the division decision device for image coding can integrate the division decision apparatus for image coding provided by the embodiment of the present application. Figure 6 Schematic diagram of a structure of a division decision device for image coding provided by an embodiment of the present application. Figure 6 The image coding division decision device includes: an input device 63, an output device 64, a memory 62 and one or more processors 61; the memory 62 is used to store one or more programs; when the one or more programs are executed by the one or more processors 61, the one or more processors 61 implement the image coding division decision method provided in the above embodiment. The image coding division decision device, equipment and computer provided above can be used to execute the image coding division decision method provided in any of the above embodiments, and have corresponding functions and beneficial effects.

[0113] The embodiment of the present application also provides a non-volatile storage medium storing computer executable instructions, which are used to execute the image coding division decision method provided in the above embodiment when executed by a computer processor. Of course, the non-volatile storage medium storing computer executable instructions provided in the embodiment of the present application, whose computer executable instructions are not limited to the image coding division decision method provided above, can also execute the related operations in the image coding division decision method provided in any embodiment of the present application. The image coding division decision device, equipment and storage medium provided in the above embodiment can execute the image coding division decision method provided in any embodiment of the present application. For technical details not described in detail in the above embodiment, please refer to the image coding division decision method provided in any embodiment of the present application.

[0114] On the basis of the above embodiments, the embodiments of the present application also provide a computer program product. The essence of the technical solution of the present application or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer program product is stored in a storage medium, including a number of instructions for enabling a computer device, a mobile terminal or a processor therein to execute all or part of the steps of the image coding division decision method provided in each embodiment of the present application.

Claims

1. A partition decision method for image coding, characterized in that: include: Performing a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, and determining optimal mode information of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result; Determining the consistency of the optimal mode information in a preset direction, and determining skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction; Performing a multi-type partitioning decision on the current coding block according to the skip decision information to obtain a multi-type partitioning decision result, wherein, when the skip decision information is to skip a partitioning decision in a preset direction, skipping a partitioning decision on the current coding block in a preset direction; The target partition decision result of the current coding block is determined according to the quadtree partition decision result and the multi-type partition results.

2. The image coding division decision method according to claim 1, characterized in that: The determining, according to the quadtree partitioning decision result, the optimal mode information of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block comprises: Determine, according to the quadtree partitioning decision result, the encoding conditions of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block; The optimal mode information of the sub-coding block is determined according to the encoding situation.

3. The image coding division decision method according to claim 2, characterized in that: The determining the optimal mode information of the sub-coding block according to the encoding situation includes: When the coding state of the sub-coding block is uncoded, determining the optimal mode information of the sub-coding block to be a first preset value; When the coding status of the sub-coding block is already encoded, an optimal coding mode of the sub-coding block is determined, and optimal mode information of the sub-coding block is determined according to a preset value corresponding to the optimal coding mode.

4. The image coding division decision method according to claim 1, characterized in that: The skip decision information includes horizontal skip decision information in a horizontal direction and vertical skip decision information in a vertical direction.

5. The image coding division decision method according to claim 4, characterized in that: The step of determining the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction includes at least one of the following: In the case where the optimal mode information is inconsistent in the horizontal direction, determining the horizontal skip decision information to be a skip horizontal division decision; In a case where the optimal mode information is inconsistent in the vertical direction, the vertical skip decision information is determined to be a skip vertical split decision.

6. The image coding division decision method according to claim 4, characterized in that: When the skip decision information is skipping the partition decision in the preset direction, skipping the partition decision of the current coding block in the preset direction includes at least one of the following: When the horizontal skip decision information is a skip horizontal split decision, skipping a horizontal split decision for the current coding block; In a case where the vertical skip decision information is a skip vertical split decision, a vertical split decision for the current coding block is skipped.

7. The image coding division decision method according to claim 1, characterized in that: Before determining the target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result, the method further includes: Determine a no-partition decision result obtained by performing a no-partition decision on the current coding block; The determining the target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition result includes: The target partition decision result of the current coding block is determined according to the rate-distortion cost of the no-partition decision result, the quadtree partition decision result, and the multi-type partition results.

8. A partition decision device for image coding, characterized in that: It includes an information determination module, a skip analysis module, a decision processing module and a result determination module, wherein: The information determination module is configured to perform a quadtree partitioning decision on the current coding block to obtain a quadtree partitioning decision result, and determine the optimal mode information of four sub-coding blocks obtained by performing quadtree partitioning on the current coding block according to the quadtree partitioning decision result; The skip analysis module is configured to determine the consistency of the optimal mode information in a preset direction, and determine the skip decision information in the preset direction according to the consistency of the optimal mode information in the preset direction; The decision processing module is configured to perform a multi-type partition decision on the current coding block according to the skip decision information to obtain a multi-type partition decision result, wherein, when the skip decision information is to skip the preset direction partition decision, the partition decision of the current coding block in the preset direction is skipped; The result determination module is configured to determine a target partition decision result of the current coding block according to the quadtree partition decision result and the multi-type partition results.

9. A partition decision device for image coding, characterized in that: include: memory and one or more processors; The memory is used 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 image coding partition decision method as described in any one of claims 1-7.

10. A non-volatile storage medium storing computer executable instructions, characterized in that: When the computer executable instructions are executed by a computer processor, they are used to execute the image coding division decision method as described in any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the image coding partition decision method according to any one of claims 1 to 7 is implemented.

Citation Information

Cited By

  • Two-stage block division decision method and device for video coding and electronic equipment

    CN122457778A

  • A two-stage block partition decision method, device and electronic equipment for video coding

    CN122457778B