A method, device, equipment and storage medium for multi-transformation kernel selection decision

By using the multi-transformed core selection index and accuracy score of the decided encoding unit in video encoding, the inter-frame multi-transformed core selection index of the to-decision encoding unit is reduced in the calculation amount of the multi-transformed core selection decision and improving video encoding Speed ​​solves the encoding speed problem caused by the large amount of calculation.

CN115442600BActive Publication Date: 2024-12-13BIGO TECH PTE LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211059649.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-30
Publication Date
2024-12-13
Estimated Expiration
2042-08-30

AI Technical Summary

Technical Problem

Multi-transform kernel selection decisions are large in computing in video encoding, resulting in an increase in the encoder's calculation load and affecting the video encoding speed.

Method used

By obtaining the optimal inter-frame multi-transform kernel selection index and accuracy score of the decided encoding unit recorded in the array corresponding to the to-decision encoding unit, the inter-frame multi-transform kernel selection index of the to-decision encoding unit is determined and performed based on the index Multi-transform kernel selection decisions, skip the decision to select indexes between multiple-transform kernels.

Benefits of technology

The calculation amount of multi-transform kernel selection decisions is reduced, the calculation load on the encoder is reduced, and the video encoding speed is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115442600B_ABST
    Figure CN115442600B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a method, device, equipment and storage medium for multi-transform core selection decision. The technical solution provided by the embodiment of the present application determines the inter-frame multi-transform core selection index corresponding to the current coding unit to be decided according to the optimal inter-frame multi-transform core selection index and accuracy score corresponding to the decided coding unit recorded in the corresponding array when making a multi-transform core selection decision for the coding unit to be decided, and makes a multi-transform core selection decision for the current coding unit to be decided based on the inter-frame multi-transform core selection index, and determines the inter-frame multi-transform core selection index used for the multi-transform core selection decision this time with reference to the multi-transform core selection decision result of the decided coding unit, instead of making a multi-transform core selection decision based on all inter-frame multi-transform core selection indexes each time, thereby effectively reducing the computational amount of the multi-transform core selection decision, reducing the computational load on the encoder, and improving the video encoding speed.
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 computer technology, and in particular to a multi-transformation kernel selection decision method, device, equipment and storage medium. Background Art

[0002] In image coding, after the block division and mode decision process of the image to be coded, the predicted residual block is usually compressed based on the Multiple Transform Selection (MTS) technology. For video images with many flat areas and slow content changes, the Multiple Transform Selection technology can convert the dispersed distribution of image energy in the spatial domain into a relatively concentrated distribution in the transform domain, so as to remove spatial redundancy in the image and achieve efficient compression of image information.

[0003] The multi-transform kernel selection technology has multiple types of transform kernels to cope with different residual distributions. When making decisions on different inter-frame prediction modes, the residual between the predicted value and the original value of the current coding unit can be obtained. The encoder needs to transform and quantize this residual block, and then select the optimal transform kernel type based on the rate-distortion decision. Since the multi-transform kernel selection decision has a large amount of calculation, it is easy to cause a large amount of calculation load on the encoder, affecting the video encoding speed. Summary of the invention

[0004] The embodiments of the present application provide a method, apparatus, device and storage medium for making a multi-transform kernel selection decision, so as to solve the technical problem in the related art that the computational complexity of the multi-transform kernel selection decision is large, which easily causes a large computational load on the encoder and affects the video encoding speed. The method reduces the computational complexity of the multi-transform kernel selection decision, reduces the computational load on the encoder, and effectively improves the video encoding speed.

[0005] In a first aspect, an embodiment of the present application provides a multi-transformation kernel selection decision method, comprising:

[0006] Obtaining an optimal inter-frame multi-transform kernel selection index and an accuracy score corresponding to a decided coding unit recorded in an array corresponding to the coding unit to be decided, wherein the coding unit to be decided corresponds to one or more arrays;

[0007] Determining, based on the optimal inter-frame multi-transform kernel selection index and the accuracy score, an inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided;

[0008] Based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, a multi-transform kernel selection decision is performed on the coding unit to be decided to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

[0009] In a second aspect, an embodiment of the present application provides a multi-transform kernel selection decision device, including an index acquisition module, an index determination module, and a decision processing module, wherein:

[0010] The index acquisition module is configured to obtain the optimal inter-frame multi-transform kernel selection index and the accuracy score corresponding to the decided coding unit recorded in the array corresponding to the coding unit to be decided, and the coding unit to be decided corresponds to one or more arrays;

[0011] The index determination module is configured to determine the inter-frame multi-transformation kernel selection index corresponding to the coding unit to be decided based on the optimal inter-frame multi-transformation kernel selection index and the accuracy score;

[0012] The decision processing module is configured to perform a multi-transform kernel selection decision on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, so as to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

[0013] In a third aspect, an embodiment of the present application provides a multi-transform core selection decision device, including: a memory and one or more processors;

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

[0015] When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-transformation core selection decision method as described in the first aspect.

[0016] In a fourth aspect, an embodiment of the present application provides a storage medium storing computer executable instructions, which, when executed by a computer processor, are used to execute the multi-transformation core selection decision method as described in the first aspect.

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

[0018] The embodiment of the present application determines the inter-frame multi-transform kernel selection index corresponding to the current coding unit to be decided according to the optimal inter-frame multi-transform kernel selection index and the accuracy score corresponding to the decided coding unit recorded in the corresponding array when making a multi-transform kernel selection decision for the coding unit to be decided, and makes a multi-transform kernel selection decision for the current coding unit to be decided based on the inter-frame multi-transform kernel selection index, and determines the inter-frame multi-transform kernel selection index used for the multi-transform kernel selection decision this time with reference to the multi-transform kernel selection decision result of the decided coding unit, instead of making a multi-transform kernel selection decision based on all the inter-frame multi-transform kernel selection indices each time, thereby effectively reducing the computational amount of the multi-transform kernel selection decision, reducing the computational load on the encoder, and improving the video encoding speed. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 is a flow chart of a multi-transformation core selection decision method provided by an embodiment of the present application;

[0020] Figure 2 is a flow chart of another multi-transformation core selection decision method provided by an embodiment of the present application;

[0021] Figure 3 This is a schematic diagram of a multi-transformation core selection decision process provided by an embodiment of the present application;

[0022] Figure 4 It is a structural schematic diagram of a multi-transformation core selection decision device provided in an embodiment of the present application;

[0023] Figure 5 It is a structural schematic diagram of a multi-transformation core selection decision device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0024] 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.

[0025] Figure 1A flow chart of a multi-transformation core selection decision method provided in an embodiment of the present application is given. The multi-transformation core selection decision method provided in an embodiment of the present application can be executed by a multi-transformation core selection decision device, which can be implemented by hardware and / or software and integrated in a multi-transformation core selection decision device.

[0026] The following description is given by taking a multi-transformation core selection decision device executing a multi-transformation core selection decision method as an example.

[0027] refer to Figure 1 , the multi-transformation kernel selection decision method includes:

[0028] S101: Obtaining an optimal inter-frame multi-transform kernel selection index and an accuracy score corresponding to a decided coding unit recorded in an array corresponding to the coding unit to be decided, where the coding unit to be decided corresponds to one or more arrays.

[0029] When encoding a video in the related art, a multi-transform kernel selection technique is usually used to perform encoding transformation on the residual blocks after block division and mode decision, so as to convert the dispersed distribution of the image energy of the video frame in the spatial domain into a relatively concentrated distribution in the transform domain, thereby removing the spatial redundancy of the video frame and improving the compression effect of the video frame.

[0030] For example, the multiple transform kernel selection technology MTS (Multiple Transform Selection) proposed in the general video coding VVC (Versatile Video Coding) is a transform that can be separated in the vertical and horizontal directions. It can use various types of transform kernels corresponding to inter-frame multiple transform kernel selection indexes (MTS indexes) (for example, MTS_DCT2_DCT2, MTS_SKIP, MTS_DST7_DST7, MTS_DST7_DCT8 and MTS_DCT8_DCT8, etc., 6 different inter-frame multiple transform kernel selection indexes, where DCT refers to discrete cosine transform compression and DST refers to discrete sine transform compression) to cope with the non-smooth residual distribution in the image.

[0031] The inter-frame prediction mode includes the first inter-frame prediction mode (such as the Merge inter-frame prediction mode) and the second inter-frame prediction mode (such as the Inter inter-frame prediction mode). When making decisions on the first inter-frame prediction mode and the second inter-frame prediction mode, the residual between the predicted value and the original value of the current coding unit (CU, Coding Uni) can be obtained. The encoder needs to transform and quantize this residual block, and then select the optimal transform type based on the rate-distortion (RD, Rate-Distortion) decision. After the introduction of the multi-transform kernel selection technology, the decision of the multi-transform kernel selection index for different transform types between frames leads to a significant increase in the quantization operation after each transform type, which causes a huge computational load on the encoder.

[0032] In order to solve the above technical problems, this solution determines the inter-frame multi-transform kernel selection index used for the multi-transform kernel selection decision this time by referring to the multi-transform kernel selection decision result of the decision-making coding unit when making a multi-transform kernel selection decision for the decision-making coding unit, skips the decision of some inter-frame multi-transform kernel selection indexes, instead of making a multi-transform kernel selection decision based on all inter-frame multi-transform kernel selection indexes each time, thereby effectively reducing the computational amount of the multi-transform kernel selection decision, reducing the computational load on the encoder, and improving the video encoding speed.

[0033] The multi-transform core selection decision method provided by the present solution divides the video frame into multiple blocks after determining the video frame to be encoded. Each divided block is a coding tree unit (Coding tree unit, which supports a maximum of 128x128 blocks in the general video coding VVC), and a multi-transform core selection decision needs to be made for each coding tree unit. Among them, each coding tree unit will be divided into multiple coding units of different sizes according to different coding unit sizes (for example, in the order of coding unit sizes from large to small). When making a multi-transform core selection decision for each coding tree unit, after the coding tree unit is divided into multiple coding units according to a coding unit size, a multi-transform core selection decision is made for each coding unit. It can be understood that the coding unit that has made a multi-transform core selection decision is a decided coding unit, and the coding unit that has not completed the multi-transform core selection decision is a pending decision coding unit.

[0034] Wherein, multiple arrays are set for each coding tree unit, and the size of the array can be set according to the minimum coding unit size (for example, 4*4), that is, the coding unit divided from the coding tree unit to the minimum size corresponds to one array, and the coding units above the minimum size correspond to multiple arrays, for example, the size of the array is 4*4, when the size of the coding unit is 4*4, one coding unit corresponds to one array, and when the size of the coding unit side is 16*16, one coding unit corresponds to (16*16) / (4*4)=16 arrays. The information stored in the array provided by the present solution includes the optimal inter-frame multi-transform core selection index corresponding to the decided coding unit at the corresponding position and the accuracy score corresponding to the optimal inter-frame multi-transform core selection index. That is, each time the multi-transform core selection decision of a coding unit is completed (at this time, the coding unit is converted from the to-be-decided coding unit to the decided coding unit), the multi-transform core selection decision result (including the optimal inter-frame multi-transform core selection index and the corresponding accuracy score) is saved to one or more arrays contained in the coding unit. In addition, after the multi-transform core selection decision based on the first inter-frame prediction mode is made for the current coding unit to be decided (at this time, a multi-transform core selection decision based on the second inter-frame prediction mode needs to be made), the information stored in the array also includes the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode for the current coding unit to be decided. It should be explained that the array can record multiple multi-transform core selection decision results, but only records the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode for the current coding unit to be decided once.

[0035] Exemplarily, when making a multi-transform kernel selection decision for a coding unit to be decided in the coding tree unit, one or more arrays corresponding to the unit to be decided are determined, and the optimal inter-frame multi-transform kernel selection indexes corresponding to the decided coding units recorded in these arrays, and the accuracy scores corresponding to these optimal inter-frame multi-transform kernel selection indexes are determined. Optionally, when starting to make a multi-transform kernel selection decision for each coding tree unit, each array is initialized first.

[0036] Among them, the accuracy score corresponding to the optimal inter-frame multi-transform kernel selection index can reflect the accuracy of selecting the optimal inter-frame multi-transform kernel selection index in the multi-transform kernel selection decision. It can be understood that the more times the optimal inter-frame multi-transform kernel selection index is selected, the higher its accuracy is, and the higher the possibility of selecting the inter-frame multi-transform kernel selection index as the optimal inter-frame multi-transform kernel selection index in subsequent multi-transform kernel selection decisions.

[0037] It can be understood that since the coding tree units are divided in order from large to small coding unit sizes, if the coding unit to be decided is the coding unit obtained by the first division in the coding tree unit, the data in the coding unit to be decided have not been updated with the optimal inter-frame multi-transform kernel selection index and accuracy score corresponding to the decided coding unit. At this time, the optimal inter-frame multi-transform kernel selection index and accuracy score corresponding to the decided coding unit recorded in the array corresponding to the coding unit to be decided are all initial default values ​​(for example, null value or -1).

[0038] S102: Determine the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided based on the optimal inter-frame multi-transform kernel selection index and the accuracy score.

[0039] Exemplarily, after determining the optimal inter-frame multi-transform kernel selection index and accuracy score recorded in the array corresponding to the current coding unit to be decided, the inter-frame multi-transform kernel selection index for making a multi-transform kernel selection decision for the current coding unit to be decided is determined according to the accuracy scores corresponding to these optimal inter-frame multi-transform kernel selection indexes.

[0040] For example, the optimal inter-frame multi-transform core selection index whose cumulative value of accuracy score in the array reaches the set requirement is used as the inter-frame multi-transform core selection index for making a multi-transform core selection decision for the current coding unit to be decided. Optionally, if the optimal inter-frame multi-transform core selection index and the accuracy score corresponding to the decided coding unit recorded in the array are both initial default values ​​(in this case, the coding unit to be decided is the coding unit obtained by the first division of the coding tree unit), all pre-set inter-frame multi-transform core selection indexes (such as MTS_DCT2_DCT2, MTS_SKIP, MTS_DST7_DST7, MTS_DST7_DCT8 and MTS_DCT8_DCT86 types of inter-frame multi-transform core selection indexes) can be used as the inter-frame multi-transform core selection index for the multi-transform core selection decision.

[0041] S103: Based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, perform a multi-transform kernel selection decision on the coding unit to be decided, so as to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

[0042] Exemplarily, based on the inter-frame multi-transform kernel selection index corresponding to the current coding unit to be decided determined above, a multi-transform kernel selection decision is performed on the coding unit to be decided to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

[0043] In a possible embodiment, after making a multi-transform kernel selection decision for the coding unit to be decided, the method further includes: updating the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score corresponding to the coding unit to be decided into an array corresponding to the coding unit to be decided.

[0044] Exemplarily, after making a multi-transform kernel selection decision for the coding unit to be decided and determining the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score are determined, and the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score are updated to the array corresponding to the coding unit to be decided.

[0045] For example, assuming that the coding unit size of the coding unit to be decided is 32*32 and the size of the array is 4*4, then the coding unit to be decided includes 64 arrays. After the multi-transform kernel selection decision for the coding unit to be decided is completed, the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score are updated to the 64 arrays. When making a multi-transform kernel selection decision for the coding unit to be decided of the next coding unit size, assuming that the coding unit size of the coding unit to be decided is 16*16 at this time, then the coding unit to be decided includes 16 arrays, which record the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score corresponding to the coding unit that included the array when the multi-transform kernel selection decision was made before. This solution updates the optimal inter-frame multi-transform core selection index and the corresponding accuracy score to the corresponding array after each multi-transform core selection decision is made, so that the array continuously updates the optimal inter-frame multi-transform core selection index and the corresponding accuracy score recorded therein, and the subsequent coding unit to be decided can use the updated data in the array when making a multi-transform core selection decision, more accurately representing the similarity of motion information of coding units within the coding tree unit, thereby improving the accuracy of the multi-transform core selection decision. Among them, updating the accuracy score to the array can be to increase the accuracy score corresponding to the same optimal inter-frame multi-transform core selection index in the array according to a set update amplitude.

[0046] In a possible embodiment, after updating the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided and the corresponding accuracy score to the array corresponding to the coding unit to be decided, the multi-transform kernel selection decision method provided by this scheme also includes: performing a multi-transform kernel selection decision on the next coding unit to be decided in the same coding tree unit until the multi-transform kernel selection decision is completed for each coding unit to be decided in all coding tree units of the image to be encoded.

[0047] Exemplarily, after completing the multi-transform kernel selection decision for the current coding unit to be decided, the multi-transform kernel selection decision for the next coding unit to be encoded in the same coding tree unit can be continued, that is, steps S101-S103 are repeated until the multi-transform kernel selection decision under different coding unit sizes on the current coding tree unit is determined, and the multi-transform kernel selection decision under different coding unit sizes on the next coding tree unit is made, until the multi-transform kernel selection decision for each coding unit to be decided in all coding tree units of the current image to be encoded is completed, and the next video frame can be continued to be obtained for the multi-transform kernel selection decision.

[0048] This scheme uses the optimal inter-frame multi-transform kernel selection index and accuracy score of the decided coding unit in the coding tree unit to terminate the decision process of some inter-frame multi-transform kernel selection indexes of the current coding unit to be decided in advance, and takes into account that the motion information of the coding units in the same coding tree unit has great similarity, and the residual blocks obtained when performing the inter-frame prediction mode also have great similarity. Therefore, the transform type of the inter-frame prediction mode between the coding units in the same coding tree unit also has great correlation. The correlation of the transform type of the inter-frame prediction mode between the coding units in the same coding tree unit can be used to skip the decision of the inter-frame multi-transform kernel selection index with low correlation, thereby effectively improving the efficiency of the multi-transform kernel selection decision while ensuring the effect of the multi-transform kernel selection decision.

[0049] In the above, when making a multi-transform kernel selection decision for the coding unit to be decided, the inter-frame multi-transform kernel selection index corresponding to the current coding unit to be decided is determined according to the optimal inter-frame multi-transform kernel selection index and the accuracy score corresponding to the decided coding unit recorded in the corresponding array, and a multi-transform kernel selection decision is made for the current coding unit to be decided based on the inter-frame multi-transform kernel selection index, and the inter-frame multi-transform kernel selection index used for the multi-transform kernel selection decision this time is determined with reference to the multi-transform kernel selection decision result of the decided coding unit, instead of making a multi-transform kernel selection decision based on all the inter-frame multi-transform kernel selection indices each time, thereby effectively reducing the computational amount of the multi-transform kernel selection decision, reducing the computational load on the encoder, and improving the video encoding speed.

[0050] Based on the above embodiments, Figure 2 A flowchart of another multi-transformation core selection decision method provided by an embodiment of the present application is given, and the multi-transformation core selection decision method is a specific embodiment of the multi-transformation core selection decision method described above. Figure 2 , the multi-transformation kernel selection decision method includes:

[0051] S201: Obtain an optimal inter-frame multi-transform kernel selection index and an accuracy score corresponding to a decided coding unit recorded in an array corresponding to the coding unit to be decided, where the coding unit to be decided corresponds to one or more arrays.

[0052] S202: Create a multi-transform kernel selection index list based on the optimal inter-frame multi-transform kernel selection index and the accuracy score.

[0053] Exemplarily, the inter-frame multi-transform core selection index corresponding to the current coding unit to be decided is determined according to the optimal inter-frame multi-transform core selection index and accuracy score recorded in each array corresponding to the current coding unit to be decided. In this scheme, the coding unit to be decided makes a multi-transform core selection decision based on its corresponding multi-transform core selection index list (MTS index list mtsIdxList). Based on this, this scheme obtains the optimal inter-frame multi-transform core selection index and accuracy score corresponding to the decided coding unit recorded in the array corresponding to the coding unit to be decided, and creates a multi-transform core selection index list for the current coding unit to be decided. The multi-transform core selection index list records all the optimal inter-frame multi-transform core selection indexes and accuracy scores recorded in each array corresponding to the current coding unit to be decided.

[0054] S203: Determine the validity of the multi-transform kernel selection index list based on the accuracy scores of the optimal inter-frame multi-transform kernel selection indexes in the multi-transform kernel selection index list.

[0055] Exemplarily, after creating the multi-transform core selection index list, the accuracy scores corresponding to the optimal inter-frame multi-transform core selection indexes in the multi-transform core selection index list are calculated, and the validity of the multi-transform core selection index list is determined according to the accuracy scores. For example, when the accuracy score reaches a set threshold, the multi-transform core selection index list is determined to be valid, otherwise, the multi-transform core selection index list is determined to be invalid.

[0056] In a possible embodiment, when determining the validity of the multi-transform kernel selection index list based on the accuracy scores of the optimal inter-frame multi-transform kernel selection indexes in the multi-transform kernel selection index list, the solution includes steps S2031 and S2032:

[0057] S2031: Determine the sum of the accuracy scores of the optimal inter-frame multi-transform kernel selection indexes in the multi-transform kernel selection index list.

[0058] S2032: When the sum of the accuracy scores reaches the set accuracy threshold, confirm that the multi-transform kernel selection index list is valid.

[0059] S2033: When the sum of the accuracy scores is less than the set accuracy threshold, confirm that the multi-transform kernel selection index list is invalid.

[0060] Exemplarily, after creating the multi-transform core selection index list, the accuracy scores of each optimal inter-frame multi-transform core selection index in the multi-transform core selection index list are summed up, and the sum of the accuracy scores (scoreSum) of the optimal inter-frame multi-transform core selection index is compared with the set accuracy threshold (th1). The sum of the accuracy scores is the sum of the accuracy scores of the multi-transform core selection indexes corresponding to each 4*4 array (array) contained in the coding unit to be decided.

[0061] If the sum of the accuracy scores reaches the set accuracy threshold (scoreSum≥th1), it can be considered that the accuracy of the multi-transformation core selection index list meets the requirements, and the multi-transformation core selection index list is confirmed to be valid. If the sum of the accuracy scores is less than the set accuracy threshold (scoreSum<th1), it can be considered that the accuracy of the multi-transformation core selection index list does not meet the requirements, and the multi-transformation core selection index list is confirmed to be invalid.

[0062] This scheme determines the validity of the multi-transform kernel selection index list based on the comparison of the accuracy score and the set accuracy threshold, effectively determines the correlation between the transform types of the inter-frame prediction mode between coding units within the same coding tree unit, terminates the decision of the inter-frame multi-transform kernel selection index with smaller correlation in advance, and improves the efficiency of the inter-frame multi-transform kernel selection decision.

[0063] S204: Based on the validity of the multi-transform core selection index list, determine the multi-transform core selection index corresponding to the coding unit to be decided.

[0064] Exemplarily, according to the validity of the multi-transform core selection index list determined above, the inter-frame multi-transform core selection index corresponding to the multi-transform core selection decision for the current coding unit to be decided is determined.

[0065] In a possible embodiment, the solution, when determining the inter-frame multi-transform core selection index corresponding to the coding unit to be decided by performing multi-transform core determination on the coding unit to be decided based on the validity of the multi-transform core selection index list, includes:

[0066] S2041: when the multi-transform core selection index list is valid, determining the inter-frame multi-transform core selection index recorded in the multi-transform core selection index list as the inter-frame multi-transform core selection index corresponding to the multi-transform core selection decision for the decision coding unit; and / or,

[0067] S2042: When the multi-transform core selection index list is invalid, determine the set multiple inter-frame multi-transform core selection indexes as the inter-frame multi-transform core selection indexes corresponding to the multi-transform core selection decision for the coding unit to be decided.

[0068] Exemplarily, when it is determined that the multi-transform core selection index list is valid, the multi-transform core selection index list can be directly used to make a multi-transform core selection decision for the current coding unit to be decided (only the MTS index existing in the mtsIdxList is decided, and the decision process of other MTS indexes is terminated in advance), that is, the inter-frame multi-transform core selection index recorded in the multi-transform core selection index list is used as the inter-frame multi-transform core selection index corresponding to the multi-transform core selection decision for the coding unit to be decided.

[0069] It can be understood that since the sum of the accuracy scores in the multi-transform kernel selection index list has reached the set accuracy threshold at this time, it can be considered that the results of subsequent multi-transform kernel selection decisions are also most likely determined in the inter-frame multi-transform kernel selection index in the multi-transform kernel selection index list. Other inter-frame multi-transform kernel selection index decisions with less correlation can be skipped, thereby reducing unnecessary calculations, reducing the encoding complexity of the video encoder, and improving the video encoding speed with less encoding quality loss.

[0070] However, when the multi-transform core selection index list is invalid, the correlation between the transform types of the inter-frame prediction modes between the coding units within the same coding tree unit is not clear at this time, and a decision needs to be made on all inter-frame multi-transform core selection indexes (all MTS indexes are decided according to the original logic of MTS), that is, the set multiple inter-frame multi-transform core selection indexes need to be determined as the inter-frame multi-transform core selection indexes corresponding to the multi-transform core selection decision for the decision coding unit, so as to ensure the accuracy of the multi-transform core selection decision and the quality of video encoding.

[0071] S205: Based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, perform a multi-transform kernel selection decision on the coding unit to be decided, so as to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

[0072] Exemplarily, after determining the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, a multi-transform kernel selection decision is performed on the coding unit to be decided according to the above-mentioned inter-frame multi-transform kernel selection index, and the optimal inter-frame multi-transform kernel selection index corresponding to the current coding unit to be decided is determined according to the multi-transform kernel selection decision result.

[0073] In a possible embodiment, the present scheme may make a multi-transform core selection decision for the coding unit to be decided based on the first inter-frame prediction mode and / or the second inter-frame prediction mode. Among them, the first inter-frame prediction mode may be a Merge-type inter-frame prediction mode, and the second inter-frame prediction mode may be an Inter-type inter-frame prediction mode. In the inter-frame prediction mode decision for the coding unit to be decided, if the encoding of the first inter-frame prediction mode and / or the encoding of the first inter-frame prediction mode are performed, then when making a transform core selection decision for the coding unit to be decided, a multi-transform core selection decision based on the first inter-frame prediction mode and / or a multi-transform core selection decision based on the second inter-frame prediction mode is required. Based on this, the present scheme makes a multi-transform core selection decision for the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, including:

[0074] S2051: performing a multi-transform kernel selection decision based on the first inter prediction mode for the coding unit to be decided based on the inter multi-transform kernel selection index corresponding to the coding unit to be decided; and / or,

[0075] S2052: Based on the inter-frame multi-transformation kernel selection index corresponding to the coding unit to be decided, perform a multi-transformation kernel selection decision based on the second inter-frame prediction mode on the coding unit to be decided.

[0076] Exemplarily, in the inter-frame prediction mode decision of the coding unit to be decided, if encoding of the first inter-frame prediction mode and / or encoding of the first inter-frame prediction mode are performed, then based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided determined above, a multi-transform core selection decision based on the first inter-frame prediction mode is performed on the coding unit to be decided to determine the optimal inter-frame multi-transform core selection index of the first inter-frame prediction mode of the coding unit to be decided.

[0077] Furthermore, for the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided determined based on the above, a multi-transform kernel selection decision based on the second inter-frame prediction mode is performed on the coding unit to be decided, and the optimal inter-frame multi-transform kernel selection index of the first inter-frame prediction mode of the coding unit to be decided is determined.

[0078] Optionally, after determining the optimal inter-frame multi-transform core selection index of the first inter-frame prediction mode and / or the optimal inter-frame multi-transform core selection index of the first inter-frame prediction mode, the optimal inter-frame multi-transform core selection index and the corresponding accuracy score may be updated to the array corresponding to the coding unit to be decided. It can be understood that when a multi-transform core selection decision based on the first inter-frame prediction mode and the second inter-frame prediction mode is made, the optimal inter-frame multi-transform core selection index and the accuracy score corresponding to the first inter-frame prediction mode and the second inter-frame prediction mode are updated in the corresponding array, and if only a multi-transform core selection decision based on the second inter-frame prediction mode is made, only the optimal inter-frame multi-transform core selection index and the accuracy score corresponding to the second inter-frame prediction mode are updated in the corresponding array.

[0079] In one possible embodiment, the multi-transform core selection decision method provided by the present scheme, after making a multi-transform core selection decision based on a first inter-frame prediction mode for the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, also includes: saving the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode for the coding unit to be decided to the array corresponding to the coding unit to be decided.

[0080] Exemplarily, after the multi-transform kernel selection decision based on the first inter-frame prediction mode is performed on the current coding unit to be decided, the optimal inter-frame multi-transform kernel selection index (bestInheritedMTSidx) determined by the multi-transform kernel selection decision based on the first inter-frame prediction mode is stored in the corresponding array. At the same time, the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score are saved as the optimal inter-frame multi-transform kernel selection index and accuracy score that have been decided in the array corresponding to the current coding unit to be decided.

[0081] At this time, three types of data are recorded in the array corresponding to the current coding unit to be decided, namely, the optimal inter-frame multi-transform kernel selection index corresponding to the decided coding unit, the accuracy score of the optimal inter-frame multi-transform kernel selection index, and the optimal inter-frame multi-transform kernel selection index determined by the current coding unit to be decided based on the first inter-frame prediction mode for multi-transform kernel selection decision.

[0082] For example, assuming that the maximum size of a coding unit is W1xH1 (128*128 in VVC video coding), and the minimum size of a coding unit is W2xH2 (4*4 in VVC video coding), the information of a coding unit of size 128*128 is stored with the minimum size of 4*4 as the granularity, thereby mapping the storage space of 128*128 to a size of 32*32. The storage information of each element in the array includes: N optimal inter-frame multi-transform kernel selection indexes of the decided coding unit and their corresponding accuracy scores, and the optimal inter-frame multi-transform kernel selection index of the current coding unit to be decided in the first inter-frame prediction mode. If the multi-transform kernel selection decision of the current coding unit to be decided has been completed and the coding unit size is 16*16, then the above three types of information of the current coding unit to be decided are simultaneously updated with the corresponding (16*16) / (4*4)=16 elements in the array according to the granularity of 4*4, where the accuracy scores corresponding to each element in the array can be accumulated and stored to represent the accuracy of the inter-frame multi-transform kernel selection index of the current element. When fetching data, it is only necessary to fetch the data in the corresponding element in the array according to the size of the current coding unit to be decided.

[0083] Further, the multi-transform kernel selection decision method provided by the present solution is specifically as follows: when performing a multi-transform kernel selection decision based on the second inter-frame prediction mode on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided:

[0084] In a case where the array corresponding to the coding unit to be decided stores the optimal inter-frame multi-transform core selection index determined by the coding unit to be decided for the multi-transform core selection decision based on the first inter-frame prediction mode, the multi-transform core selection decision based on the second inter-frame prediction mode is performed on the coding unit to be decided according to the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode in the array corresponding to the coding unit to be decided.

[0085] Exemplarily, when a multi-transform core selection decision based on the second inter-frame prediction mode is made for the coding unit to be decided, it is first determined whether the corresponding array stores a valid optimal inter-frame multi-transform core selection index determined by the current coding unit to be decided for the multi-transform core selection decision based on the first inter-frame prediction mode (for example, whether the value of bestInheritedMTSidx is not -1 or empty, wherein the value of bestInheritedMTSidx is -1, indicating that bestInheritedMTSidx is unavailable). If yes, the optimal inter-frame multi-transform core selection index determined by the current coding unit to be decided for the multi-transform core selection decision based on the first inter-frame prediction mode recorded in the array is directly used to make a multi-transform core selection decision based on the second inter-frame prediction mode for the coding unit to be decided, so as to determine the optimal inter-frame multi-transform core selection index of the first inter-frame prediction mode of the coding unit to be decided. At the same time, the optimal inter-frame multi-transform core selection index and the corresponding accuracy score are saved as the optimal inter-frame multi-transform core selection index and accuracy score that have been decided in the array corresponding to the current coding unit to be decided.

[0086] In a possible embodiment, the multi-transform core selection decision method provided by the present scheme makes a multi-transform core selection decision for the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, or before entering the inter-frame prediction mode decision, it also includes: resetting the optimal inter-frame multi-transform core selection index determined by the last multi-transform core selection decision based on the first inter-frame prediction mode stored in the array corresponding to the coding unit to be decided.

[0087] Exemplarily, before making a multi-transform core selection decision for the coding unit to be decided, the optimal inter-frame multi-transform core selection index determined by the last multi-transform core selection decision based on the first inter-frame prediction mode and stored in the array corresponding to the current coding unit to be decided is reset to avoid the influence of the last optimal inter-frame multi-transform core selection index based on the first inter-frame prediction mode on the multi-transform core selection decision based on the second inter-frame prediction mode. For example, assuming that the multi-transform core selection decision based on the first inter-frame prediction mode is not made this time, if the last optimal inter-frame multi-transform core selection index based on the first inter-frame prediction mode stored in the array corresponding to the current coding unit to be decided is not reset, the multi-transform core selection decision based on the first inter-frame prediction mode will be made based on the last optimal inter-frame multi-transform core selection index, resulting in an error in the multi-transform core selection decision. When making a multi-transform kernel selection decision for the decision coding unit to be decided, or before entering the inter-frame prediction mode decision, resetting the last optimal inter-frame multi-transform kernel selection index based on the first inter-frame prediction mode stored in the array corresponding to the current decision coding unit can effectively eliminate the influence of the last optimal inter-frame multi-transform kernel selection index on the current inter-frame prediction mode decision.

[0088] This scheme takes into account that the motion information of the coding units within the same coding tree unit has great similarity, and the residual blocks obtained when performing the inter-frame prediction mode also have great similarity. Therefore, the transform types of the inter-frame prediction mode between the coding units within the same coding tree unit also have great correlation, and when the same coding unit performs a multi-transform kernel selection decision, the transform types between different inter-frame prediction modes also have great correlation. The correlation of the coding units in the multi-transform kernel selection decision can be used to directly adopt the optimal inter-frame multi-transform kernel selection index corresponding to other inter-frame prediction modes with higher correlation in the same unit to be encoded to make a decision, and skip the decision of the inter-frame multi-transform kernel selection index with lower correlation, so as to effectively improve the efficiency of the multi-transform kernel selection decision while ensuring the effect of the multi-transform kernel selection decision.

[0089] like Figure 3 As shown in a schematic diagram of a multi-transform kernel selection decision process, when a multi-transform kernel selection decision needs to be made for a video frame, the video frame is first divided into a plurality of coding tree units (step S301), and the coding tree unit is divided into a plurality of coding units according to a set coding unit size (step S302), and an array is initialized. Further, an inter-frame prediction mode decision is made for the coding unit to be decided in the current coding tree unit, and it is determined whether the current coding tree unit has been coded in the first inter-frame prediction mode and / or the second inter-frame prediction mode (step S303).

[0090] If the current coding tree unit is encoded in the first inter-frame prediction mode, a multi-transform kernel selection decision based on the first inter-frame prediction mode is performed on the current coding unit to be decided (step S304). If the current coding unit to be decided is a coding unit obtained by the first division in the coding tree unit, an optimal inter-frame multi-transform kernel selection index is selected from the six pre-set inter-frame multi-transform kernel selection indexes based on the rate-distortion decision, and the multi-transform kernel selection decision result is updated with the optimal inter-frame multi-transform kernel selection index corresponding to the determined coding unit in each array, the optimal inter-frame multi-transform kernel selection index accuracy score, and the optimal inter-frame multi-transform kernel selection index determined by the multi-transform kernel selection decision based on the first inter-frame prediction mode for the current coding unit to be decided. For the coding units obtained by the subsequent division of the coding tree unit, the corresponding optimal inter-frame multi-transform kernel selection index and the accuracy score are first obtained from the corresponding array, and the sum of the accuracy scores of each optimal inter-frame multi-transform kernel selection index is compared with the set accuracy threshold. If the set accuracy threshold is reached, only the optimal inter-frame multi-transform core selection index of the decided coding unit recorded in the array is used to make a multi-transform core selection decision. If the set accuracy threshold is not reached, the multi-transform core selection decision is made using the pre-set six types of inter-frame multi-transform core selection indexes. At the same time, the optimal inter-frame multi-transform core selection index and the corresponding accuracy score are saved as the optimal inter-frame multi-transform core selection index and accuracy score that have been decided to the array corresponding to the current coding unit to be decided, and the optimal inter-frame multi-transform core selection index (bestInheritedMTSidx) determined by the multi-transform core selection decision based on the first inter-frame prediction mode is stored in the corresponding array. If the current coding tree unit does not perform encoding in the first inter-frame prediction mode, the multi-transform core selection decision based on the first inter-frame prediction mode is skipped, and the multi-transform core selection decision based on the second inter-frame prediction mode is directly performed on the current coding unit to be decided, that is, there is a situation where the multi-transform core selection decision based on the first inter-frame prediction mode is skipped (at this time, the array corresponding to the current coding unit to be decided does not save the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode for the current coding unit to be decided).

[0091] If the current coding tree unit is coded in the second inter-frame prediction mode, a multi-transform core selection decision based on the second inter-frame prediction mode is made for the current coding unit to be decided (step S305). First, it is determined whether the array corresponding to the current coding unit to be decided stores the optimal inter-frame multi-transform core selection index determined by the current coding unit to be decided based on the first inter-frame prediction mode (i.e., it is determined whether bestInheritedMTSidx is valid, or bestInheritedMTSidx is not empty or -1). If yes, a multi-transform core selection decision based on the second inter-frame prediction mode is made directly according to the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode in the array; otherwise, a multi-transform core selection decision based on the second inter-frame prediction mode is made according to the processing method of the multi-transform core selection decision based on the first inter-frame prediction mode in step S304. At the same time, the optimal inter-frame multi-transform core selection index and the corresponding accuracy score are saved as the optimal inter-frame multi-transform core selection index and accuracy score that have been decided in the array corresponding to the current coding unit to be decided.

[0092] Steps S303 - 305 are looped until the multi-transform core selection decision is completed for the coding units of different coding unit sizes in the current coding tree unit, and then the multi-transform core selection decision is performed for the next coding tree unit (step S306 ).

[0093] In the above, when making a multi-transform core selection decision for the coding unit to be decided, the inter-frame multi-transform core selection index corresponding to the current coding unit to be decided is determined according to the optimal inter-frame multi-transform core selection index and the accuracy score corresponding to the decided coding unit recorded in the corresponding array, and the multi-transform core selection decision is made for the current coding unit to be decided based on the inter-frame multi-transform core selection index, and the inter-frame multi-transform core selection index used for the multi-transform core selection decision is determined with reference to the multi-transform core selection decision result of the decided coding unit, instead of making a multi-transform core selection decision based on all inter-frame multi-transform core selection indexes every time, so as to effectively reduce the calculation amount of the multi-transform core selection decision, reduce the calculation load on the encoder, and improve the video encoding speed. At the same time, by utilizing the correlation of the coding unit in the multi-transform core selection decision, the optimal inter-frame multi-transform core selection index corresponding to other inter-frame prediction modes with higher correlation in the same coding unit to be decided is directly adopted to make a decision, and the decision of the inter-frame multi-transform core selection index with lower correlation is skipped, so as to effectively improve the efficiency of the multi-transform core selection decision while ensuring the effect of the multi-transform core selection decision.

[0094] Figure 4 Schematic diagram of a multi-transformation core selection decision device provided by an embodiment of the present application. Figure 4The multi-transformation core selection decision device includes an index acquisition module 41, an index determination module 42 and a decision processing module 43.

[0095] Among them, the index acquisition module 41 is configured to obtain the optimal inter-frame multi-transform kernel selection index and the accuracy score corresponding to the decided coding unit recorded in the array corresponding to the coding unit to be decided, and the coding unit to be decided corresponds to one or more arrays; the index determination module 42 is configured to determine the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided based on the optimal inter-frame multi-transform kernel selection index and the accuracy score; the decision processing module 43 is configured to perform a multi-transform kernel selection decision on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, so as to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

[0096] In the above, when making a multi-transform kernel selection decision for the coding unit to be decided, the inter-frame multi-transform kernel selection index corresponding to the current coding unit to be decided is determined according to the optimal inter-frame multi-transform kernel selection index and the accuracy score corresponding to the decided coding unit recorded in the corresponding array, and a multi-transform kernel selection decision is made for the current coding unit to be decided based on the inter-frame multi-transform kernel selection index, and the inter-frame multi-transform kernel selection index used for the multi-transform kernel selection decision this time is determined with reference to the multi-transform kernel selection decision result of the decided coding unit, instead of making a multi-transform kernel selection decision based on all the inter-frame multi-transform kernel selection indices each time, thereby effectively reducing the computational amount of the multi-transform kernel selection decision, reducing the computational load on the encoder, and improving the video encoding speed.

[0097] Based on the above embodiment, the index determination module 42 includes a list creation unit, a list verification unit and an index determination unit, wherein:

[0098] a list creation unit configured to create a multi-transform kernel selection index list based on the optimal inter-frame multi-transform kernel selection index and the accuracy score;

[0099] a list verification unit configured to determine the validity of the multi-transform kernel selection index list based on the accuracy score of each optimal inter-frame multi-transform kernel selection index in the multi-transform kernel selection index list;

[0100] The index determination unit is configured to determine the inter-frame multi-transform core selection index corresponding to the coding unit to be decided by performing multi-transform core determination on the coding unit to be decided based on the validity of the multi-transform core selection index list.

[0101] Based on the above embodiment, the list verification sheet is configured as follows:

[0102] Determine the sum of the accuracy scores of the optimal inter-frame multi-transform kernel selection indexes in the multi-transform kernel selection index list;

[0103] When the sum of the accuracy scores reaches a set accuracy threshold, confirming that the multi-transformation kernel selection index list is valid;

[0104] When the sum of the accuracy scores is less than the set accuracy threshold, it is confirmed that the multi-transform kernel selection index list is invalid.

[0105] Based on the above embodiment, the index determination unit is configured as follows:

[0106] When the multi-transform core selection index list is valid, determining the inter-frame multi-transform core selection index recorded in the multi-transform core selection index list as the inter-frame multi-transform core selection index corresponding to the multi-transform core selection decision for the decision coding unit; and / or,

[0107] When the multi-transform core selection index list is invalid, the set multiple inter-frame multi-transform core selection indexes are determined as the inter-frame multi-transform core selection indexes corresponding to the multi-transform core selection decision for the coding unit to be decided.

[0108] Based on the above embodiment, the decision processing module 43 is configured as follows:

[0109] Based on the inter-frame multi-transformation core selection index corresponding to the coding unit to be decided, a multi-transformation core selection decision based on the first inter-frame prediction mode is performed on the coding unit to be decided; and / or,

[0110] Based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, a multi-transform kernel selection decision based on the second inter-frame prediction mode is performed on the coding unit to be decided.

[0111] On the basis of the above embodiment, the multi-transform core selection decision device further includes a first mode saving module, which is configured to: after the decision processing module 43 performs a multi-transform core selection decision based on the first inter-frame prediction mode on the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, save the optimal inter-frame multi-transform core selection index determined by performing the multi-transform core selection decision based on the first inter-frame prediction mode on the coding unit to be decided to the array corresponding to the coding unit to be decided;

[0112] When the decision processing module 43 performs a multi-transform core selection decision based on the second inter-frame prediction mode on the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, the configuration is as follows:

[0113] In a case where the array corresponding to the coding unit to be decided stores the optimal inter-frame multi-transform core selection index determined by the coding unit to be decided for the multi-transform core selection decision based on the first inter-frame prediction mode, the multi-transform core selection decision based on the second inter-frame prediction mode is performed on the coding unit to be decided according to the optimal inter-frame multi-transform core selection index determined by the multi-transform core selection decision based on the first inter-frame prediction mode in the array corresponding to the coding unit to be decided.

[0114] On the basis of the above-mentioned embodiment, the multi-transform core selection decision device also includes an index reset module, and the index reset module is configured as follows: before the decision processing module 43 makes a multi-transform core selection decision for the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, resets the optimal inter-frame multi-transform core selection index determined by the last multi-transform core selection decision based on the first inter-frame prediction mode stored in the array corresponding to the coding unit to be decided.

[0115] On the basis of the above-mentioned embodiment, the multi-transform kernel selection decision device also includes an array update module, which is configured to update the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score corresponding to the coding unit to be decided to the array corresponding to the coding unit to be decided after the decision processing module 43 makes a multi-transform kernel selection decision on the coding unit to be decided.

[0116] On the basis of the above-mentioned embodiment, the multi-transform kernel selection decision device also includes a decision loop module, which is configured to perform a multi-transform kernel selection decision on the next coding unit to be decided in the same coding tree unit after the decision processing module 43 updates the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided and the corresponding accuracy score to the array corresponding to the coding unit to be decided, until the multi-transform kernel selection decision of each coding unit to be decided in all coding tree units of the image to be encoded is completed.

[0117] It is worth noting that in the above-mentioned embodiment of the multi-transformation core selection 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 invention.

[0118] The embodiment of the present application also provides a multi-transformation core selection decision device, which can integrate the multi-transformation core selection decision apparatus provided in the embodiment of the present application. Figure 5 Schematic diagram of a multi-transformation core selection decision device provided by an embodiment of the present application. Figure 5The multi-transform core selection decision device includes: an input device 53, an output device 54, a memory 52 and one or more processors 51; the memory 52 is used to store one or more programs; when the one or more programs are executed by the one or more processors 51, the one or more processors 51 implement the multi-transform core selection decision method provided in the above embodiment. The multi-transform core selection decision device, equipment and computer provided above can be used to execute the multi-transform core selection decision method provided in any of the above embodiments, and have corresponding functions and beneficial effects.

[0119] The embodiment of the present application also provides a storage medium storing computer executable instructions, which are used to execute the multi-transformation core selection decision method provided in the above embodiment when executed by a computer processor. Of course, the storage medium storing computer executable instructions provided in the embodiment of the present application, whose computer executable instructions are not limited to the multi-transformation core selection decision method provided above, can also execute the related operations in the multi-transformation core selection decision method provided in any embodiment of the present application. The multi-transformation core selection decision device, equipment and storage medium provided in the above embodiment can execute the multi-transformation core selection 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 multi-transformation core selection decision method provided in any embodiment of the present application.

[0120] In some possible implementations, various aspects of the method provided by the present disclosure may also be implemented in the form of a program product, which includes a program code. When the program product is run on a computer device, the program code is used to enable the computer device to execute the steps of the method according to various exemplary embodiments of the present disclosure described above in this specification. For example, the computer device may execute the multi-transform core selection decision method recorded in the embodiment of the present disclosure. The program product may adopt any combination of one or more readable media.

Claims

1. A multi-transform kernel selection decision method, characterized in that: include: Obtaining an optimal inter-frame multi-transform core selection index and an accuracy score corresponding to a decided coding unit recorded in an array corresponding to the coding unit to be decided, wherein the coding unit to be decided corresponds to one or more arrays, and the accuracy score corresponding to the optimal inter-frame multi-transform core selection index reflects the accuracy of selecting the optimal inter-frame multi-transform core selection index in the multi-transform core selection decision, and the more times the optimal inter-frame multi-transform core selection index is selected, the higher its accuracy; Determining, based on the optimal inter-frame multi-transform kernel selection index and the accuracy score, an inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided; Based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, a multi-transform kernel selection decision is performed on the coding unit to be decided to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

2. The multi-transform kernel selection decision method according to claim 1, characterized in that: The determining, based on the optimal inter-frame multi-transform kernel selection index and the accuracy score, the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided comprises: Creating a multi-transform kernel selection index list based on the optimal inter-frame multi-transform kernel selection index and the accuracy score; Determining the validity of the multi-transform kernel selection index list based on the accuracy scores of the optimal inter-frame multi-transform kernel selection indexes in the multi-transform kernel selection index list; Based on the validity of the multi-transform core selection index list, it is determined to perform multi-transform core selection on the coding unit to be decided to determine the inter-frame multi-transform core selection index corresponding to the coding unit to be decided.

3. The multi-transformation kernel selection decision method according to claim 2, characterized in that: The determining the validity of the multi-transform core selection index list based on the accuracy score of each optimal inter-frame multi-transform core selection index in the multi-transform core selection index list comprises: Determine the sum of the accuracy scores of the optimal inter-frame multi-transform kernel selection indexes in the multi-transform kernel selection index list; When the sum of the accuracy scores reaches a set accuracy threshold, confirming that the multi-transform kernel selection index list is valid; When the sum of the accuracy scores is less than a set accuracy threshold, it is determined that the multi-transform kernel selection index list is invalid.

4. The multi-transformation kernel selection decision method according to claim 2, characterized in that: The step of determining, based on the validity of the multi-transform core selection index list, performing multi-transform core selection on the coding unit to be decided and determining the inter-frame multi-transform core selection index corresponding to the coding unit to be decided comprises: When the multi-transform core selection index list is valid, determining the inter-frame multi-transform core selection index recorded in the multi-transform core selection index list as the inter-frame multi-transform core selection index corresponding to the multi-transform core selection decision for the coding unit to be decided; and / or, In the case that the multi-transform core selection index list is invalid, the set multiple inter-frame multi-transform core selection indexes are determined as the inter-frame multi-transform core selection indexes corresponding to the multi-transform core selection decision for the coding unit to be decided.

5. The multi-transform kernel selection decision method according to claim 1, characterized in that: The step of performing a multi-transform kernel selection decision on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided comprises: Based on the inter-frame multi-transformation core selection index corresponding to the coding unit to be decided, performing a multi-transformation core selection decision based on the first inter-frame prediction mode on the coding unit to be decided; and / or, Based on the inter-frame multi-transformation kernel selection index corresponding to the coding unit to be decided, a multi-transformation kernel selection decision based on the second inter-frame prediction mode is performed on the coding unit to be decided.

6. The multi-transform kernel selection decision method according to claim 5, characterized in that: After performing a multi-transform core selection decision based on the first inter-frame prediction mode on the coding unit to be decided based on the inter-frame multi-transform core selection index corresponding to the coding unit to be decided, the method further includes: The optimal inter-frame multi-transform kernel selection index determined by the coding unit to be decided through the multi-transform kernel selection decision based on the first inter-frame prediction mode is saved in an array corresponding to the coding unit to be decided; The step of performing a multi-transform kernel selection decision based on a second inter-frame prediction mode on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided comprises: In a case where the array corresponding to the coding unit to be decided stores the optimal inter-frame multi-transform core selection index determined by the coding unit to be decided for performing a multi-transform core selection decision based on the first inter-frame prediction mode, a multi-transform core selection decision based on the second inter-frame prediction mode is performed on the coding unit to be decided according to the optimal inter-frame multi-transform core selection index determined by performing a multi-transform core selection decision based on the first inter-frame prediction mode in the array corresponding to the coding unit to be decided.

7. The multi-transform kernel selection decision method according to claim 6, characterized in that: Before performing a multi-transform kernel selection decision on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, the method further includes: Reset the optimal inter-frame multi-transform core selection index determined by the last multi-transform core selection decision based on the first inter-frame prediction mode and stored in the array corresponding to the coding unit to be decided.

8. The multi-transformation kernel selection decision method according to any one of claims 1 to 7, characterized in that: After the multi-transform core selection decision is made on the coding unit to be decided, the method further includes: The optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score corresponding to the coding unit to be decided are updated to the array corresponding to the coding unit to be decided.

9. The multi-transform kernel selection decision method according to claim 8, characterized in that: After the optimal inter-frame multi-transform kernel selection index and the corresponding accuracy score corresponding to the coding unit to be decided are updated to the array corresponding to the coding unit to be decided, the method further includes: The multi-transform kernel selection decision is performed on the next coding unit to be decided in the same coding tree unit until the multi-transform kernel selection decision of each coding unit to be decided in all coding tree units of the image to be coded is completed.

10. A multi-transformation kernel selection decision device, characterized in that: It includes an index acquisition module, an index determination module and a decision processing module, wherein: The index acquisition module is configured to acquire the optimal inter-frame multi-transform core selection index and the accuracy score corresponding to the decided coding unit recorded in the array corresponding to the coding unit to be decided, wherein the coding unit to be decided corresponds to one or more arrays, and the accuracy score corresponding to the optimal inter-frame multi-transform core selection index reflects the accuracy of selecting the optimal inter-frame multi-transform core selection index in the multi-transform core selection decision, and the more times the optimal inter-frame multi-transform core selection index is selected, the higher its accuracy; The index determination module is configured to determine the inter-frame multi-transformation kernel selection index corresponding to the coding unit to be decided based on the optimal inter-frame multi-transformation kernel selection index and the accuracy score; The decision processing module is configured to perform a multi-transform kernel selection decision on the coding unit to be decided based on the inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided, so as to determine the optimal inter-frame multi-transform kernel selection index corresponding to the coding unit to be decided.

11. A multi-transformation kernel selection decision device, 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 multi-transformation core selection decision method as described in any one of claims 1 to 9.

12. A storage medium storing computer executable instructions, characterized in that: When the computer executable instructions are executed by a computer processor, they are used to perform the multi-transformation core selection decision method according to any one of claims 1 to 9.

13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the multi-transformation core selection decision method according to any one of claims 1 to 9 is implemented.