Transformation processing method and device, computer equipment, readable storage medium and program product

By employing multi-type tree partitioning strategies and transformation processing methods, the problem of insufficient flexibility in scale partitioning methods in traditional video coding is solved, achieving efficient DCT transformation calculation, saving hardware resources and improving data processing efficiency.

CN120935371APending Publication Date: 2025-11-11北京凌川科技有限公司 +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511076712.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-01
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

When faced with emerging demands such as 4K/8K, HDR, and 360° video, existing video coding technologies cannot meet the flexibility requirements of multi-type tree partitioning due to the traditional single-scale partitioning method, resulting in low data processing efficiency.

Method used

A multi-type tree partitioning strategy is adopted to divide the data into blocks, and the target transformation coefficients are extracted by the size information of the transformation unit. The transformation is performed using the target data channel and the transformation coefficients to achieve transformation calculations at different scales and avoid data channel blockage.

Benefits of technology

It realizes DCT transformation calculation for multiple types of tree partitioning methods, which saves processing resources, improves data processing efficiency, and reduces hardware resource consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120935371A_ABST
    Figure CN120935371A_ABST
Patent Text Reader

Abstract

The invention relates to a transformation processing method and device, computer equipment, a computer readable storage medium and a computer program product. The method comprises the steps of obtaining a to-be-processed target data block, wherein the target data block is a data block obtained through division based on a multi-type tree division strategy; determining a transformation unit of the target data block, and extracting a target transformation coefficient corresponding to the transformation unit from a transformation coefficient matrix corresponding to the target data block based on size information of the transformation unit; and performing transformation processing on the transformation unit through a target data channel corresponding to the target data block and the target transformation coefficient. By the adoption of the method, DCT calculation of the data blocks obtained in a multi-type tree division mode can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of video processing, and in particular to a transformation processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product. Background Technology

[0002] With the development of video editing technology, video encoding and decoding technology is being used more and more widely, becoming an important technology in video processing. In the video encoding process, the video image can be divided into multiple data blocks according to a fixed scale. Through the data processing channel corresponding to that scale, the TU (Transform Unit) block corresponding to that data block is processed by DCT (Discrete Cosine Transform).

[0003] However, in the above transformation methods, each data processing channel only supports image blocks divided using a single scale. With the emergence of new demands such as 4K / 8K, HDR, and 360° video, MTT (Multi-Type Tree Partitioning) is becoming increasingly popular. Compared to traditional tree partitioning methods that only have one scale, MTT significantly improves the flexibility of block partitioning. Therefore, there is an urgent need for a DCT transform calculation method suitable for multi-type tree partitioning. Summary of the Invention

[0004] Therefore, it is necessary to provide a transformation processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product that can be applied to multiple types of tree partitioning methods to address the above-mentioned technical problems.

[0005] In a first aspect, this application provides a transformation processing method, including:

[0006] Obtain the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy;

[0007] The transformation unit of the target data block is determined, and based on the size information of the transformation unit, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0008] The transformation unit is transformed using the target data channel corresponding to the target data block and the target transformation coefficients.

[0009] In one embodiment, extracting the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block based on the size information of the transformation unit includes:

[0010] Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined;

[0011] Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0012] In one embodiment, the transformation process of the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficients includes:

[0013] Based on the size information corresponding to the transformation unit, the target number of adder stages is determined;

[0014] During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer;

[0015] Based on the output result and the target transformation coefficient, the transformation unit is transformed.

[0016] In one embodiment, prior to the butterfly calculation in the forward transform process, the method further includes:

[0017] If the size information of the transformation unit is smaller than the size information of the target data block, then all input bits except those occupied by the transformation unit will be set to 0.

[0018] In one embodiment, the transformation process of the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficients includes:

[0019] During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

[0020] In one embodiment, the method further includes:

[0021] Based on the size information of the target data block, a target data channel that matches the size information is determined among multiple data channels.

[0022] Secondly, this application also provides a transformation processing apparatus, the apparatus comprising:

[0023] The acquisition module is used to acquire the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy.

[0024] An extraction module is used to determine the transformation unit of the target data block, and based on the size information of the transformation unit, extract the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block;

[0025] The transformation module is used to perform transformation processing on the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficient.

[0026] In one embodiment, the extraction module is specifically used for:

[0027] Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined;

[0028] Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0029] In one embodiment, the transformation module is specifically used for:

[0030] Based on the size information corresponding to the transformation unit, the target number of adder stages is determined;

[0031] During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer;

[0032] Based on the output result and the target transformation coefficient, the transformation unit is transformed.

[0033] In one embodiment, the device further includes:

[0034] The setting module is configured to set all input bits except those occupied by the transformation unit to 0 if the size information of the transformation unit is smaller than the size information of the target data block.

[0035] In one embodiment, the transformation module is specifically used for:

[0036] During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

[0037] In one embodiment, the device further includes:

[0038] The determination module is used to determine, based on the size information of the target data block, a target data channel that matches the size information among multiple data channels.

[0039] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the method steps of the first aspect described above.

[0040] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method steps of the first aspect described above.

[0041] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the method steps of the first aspect described above.

[0042] The aforementioned transformation processing method, apparatus, computer equipment, computer-readable storage medium, and computer program product can acquire a target data block to be processed, wherein the target data block is a data block obtained based on a multi-type tree partitioning strategy; determine the transformation unit of the target data block; and extract the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block based on the size information of the transformation unit; and perform transformation processing on the transformation unit through the target data channel corresponding to the target data block and the target transformation coefficients. In this scheme, the target transformation coefficients required for transformation calculation can be extracted from the transformation coefficient matrix corresponding to the target data block based on the size information of the transformation unit, and then the transformation unit can be transformed through the target data channel corresponding to the target data block and the target transformation coefficients. Therefore, the target data channel can realize transformation calculations at different scales without occupying other data channels, avoiding data blocking of other data channels, thereby meeting the data processing requirements and realizing DCT transformation calculation for data blocks obtained by multi-type tree partitioning. Attached Figure Description

[0043] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0044] Figure 1 This is a flowchart illustrating a change handling method in one embodiment;

[0045] Figure 2a This is a schematic diagram of a data channel used for processing TU4 in one embodiment;

[0046] Figure 2bThis is a schematic diagram of a data channel used for processing TU8 in one embodiment;

[0047] Figure 2c This is a schematic diagram of a data channel used for processing TU16 in one embodiment;

[0048] Figure 2d This is a schematic diagram of a data channel used for processing TU32 in one embodiment;

[0049] Figure 3 This is a system framework diagram of the DCT forward transform process in one embodiment;

[0050] Figure 4 This is a system framework diagram of the DCT inverse transform process in one embodiment;

[0051] Figure 5 This is a structural block diagram of the change processing device in one embodiment;

[0052] Figure 6 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0053] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0054] This application provides a change processing method. This embodiment illustrates the method applied to a terminal, but it is understood that the method can also be applied to a server, or a system including both a terminal and a server, and implemented through interaction between the terminal and the server. It is understood that this method can be applied to any terminal with change processing capabilities, and this application is not limited to any particular type.

[0055] The following section will provide a detailed explanation of the change handling method provided in this application, with reference to specific implementation details. For example... Figure 1 As shown, the method includes the following steps:

[0056] Step 102: Obtain the target data block to be processed. The target data block is a data block obtained by partitioning based on a multi-type tree partitioning strategy.

[0057] In this embodiment, during video encoding, the terminal can use the MTT partitioning method to divide the video image into multiple data blocks to obtain the target data block. MTT can exist in a combination of three partitioning types: Quad-Tree (QT), Binary Tree (BT), and Ternary Tree (TT). It can be understood that, taking CU (Coding Unit) 32 as an example, after introducing MTT, it may be necessary to calculate four transforms: DCT4, DCT8, DCT16, and DCT32.

[0058] Step 104: Determine the transformation unit of the target data block, and based on the size information of the transformation unit, extract the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block.

[0059] In this embodiment, the Transform Unit (TU) is a unit in the target data block used for DCT transform calculation and quantization. Through calculation, pixel residual data can be converted into frequency domain coefficients for compression. The terminal can determine the transform unit of the target data block and, based on the size information (such as height or width) of the transform unit, determine the parameter information for this transform calculation. Then, based on this parameter information, it extracts the target transform coefficients corresponding to the transform unit from the transform coefficient matrix corresponding to the target data block. For example, a 32*32 data block can be divided into 32*16 data blocks. The first transform calculation can be performed according to TU32 (i.e., parameter information), and then the second transform calculation can be performed according to TU16 (i.e., parameter information).

[0060] Step 106: Perform transformation processing on the transformation unit using the target data channel and target transformation coefficients corresponding to the target data block.

[0061] In this embodiment, the terminal may have multiple data channels, each used to process the transformation of a target data block of a certain size. This embodiment provides schematic diagrams of different data channels, such as... Figures 2a-2d The diagram shown illustrates the different data channels. Figure 2a This is a schematic diagram of the data channel used to process TU4. Figure 2b This is a schematic diagram of the data channel used to process TU8. Figure 2c This is a schematic diagram of the data channel used to process TU16. Figure 2dThis diagram illustrates the data channels used to process TU32. The terminal can determine the corresponding target data channel based on the size information of the target data block, and then perform transformation processing on the transformation unit using the target data channel and target transformation coefficients. Specifically, the calculations for TU4, TU8, TU16, and TU32 are implemented through the TU32 data channel; the calculations for TU4, TU8, and TU16 are implemented through the TU16 data channel; and the calculations for TU4 and TU8 are implemented through the TU8 data channel. The transformation processing can include forward transformation calculations and inverse transformation calculations. During the forward transformation calculation, butterfly operations can be used to reduce the number of multiplication operations; during the inverse transformation calculation, coefficient symmetry can be utilized to reduce the number of multiplication operations, thereby reducing hardware resources.

[0062] In the above scheme, the target transformation coefficients required for transformation calculation can be extracted from the transformation coefficient matrix corresponding to the target data block based on the size information of the transformation unit. Then, the transformation unit is transformed using the target data channel and the target transformation coefficients corresponding to the target data block. For example, for a 32*16 data block, TU16 and TU32 calculations can be performed through the TU32 data channel. Therefore, the transformation calculation for a 32*16 data block does not need to occupy other data channels (such as TU16), avoiding data blocking of other data channels, thus realizing DCT transformation calculation for data blocks obtained by multiple types of tree partitioning methods.

[0063] Optionally, the method further includes: determining a target data channel that matches the size information among multiple data channels based on the size information of the target data block. Specifically, the target data channel can be determined based on the maximum value in the size parameters. For example, for a 32*8 luminance residual pixel block, the corresponding target data channel is the TU32 data channel.

[0064] Optionally, based on the size information corresponding to the transform unit, the target transform coefficients corresponding to the transform unit are extracted from the transform coefficient matrix corresponding to the target data block, including: determining a transform coefficient extraction strategy based on the size information corresponding to the transform unit; and extracting the target transform coefficients corresponding to the transform unit from the transform coefficient matrix corresponding to the target data block using the transform coefficient extraction strategy.

[0065] In this embodiment, different transformation matrix coefficients are required for DCT transform calculations at different scales. The transformation matrix coefficients at lower scales are a subset of those at higher scales. In one example, the transformation matrix coefficients for DCT4 are:

[0066]

[0067] The transformation matrix coefficients of DCT8 are:

[0068]

[0069] It can be seen that the transformation matrix coefficients of DCT8 include all the transformation matrix coefficients of DCT4, meaning that the transformation matrix coefficients of DCT4 are a subset of the transformation matrix coefficients of DCT8. Similarly, the transformation matrix coefficients of DCT8 are a subset of the transformation matrix coefficients of DCT16, and the transformation matrix coefficients of DCT16 are a subset of the transformation matrix coefficients of DCT32. Therefore, based on the implementation of DCT32, the operations of DCT4, DCT8, and DCT16 can be implemented through logical resource reuse, thereby reducing the computational resource consumption of DCT transformations.

[0070] The terminal can determine a transform coefficient extraction strategy based on the size information corresponding to the transform unit, and then, based on the transform coefficient extraction strategy, extract the target transform coefficients corresponding to the transform unit from the transform coefficient matrix corresponding to the target data block through a multiplexer. The transform coefficient extraction strategy can include the positions of the coefficients to be extracted. For example, for a 32*32 data block, corresponding to the transform matrix coefficients of DCT32, if the size information of the transform unit is 32*16, then when performing the DCT16 transform calculation, the transform matrix coefficients of DCT16 are extracted from the transform matrix coefficients of DCT32 based on the positions of the transform matrix coefficients of DCT16 within the transform matrix coefficients of DCT32.

[0071] Optionally, the transformation unit is transformed using the target data channel and target transformation coefficients corresponding to the target data block, including: determining the target adder stage based on the size information corresponding to the transformation unit; obtaining the output result of the adder corresponding to the target adder stage through a multiplexer during the butterfly calculation process of the forward transformation; and transforming the transformation unit based on the output result and the target transformation coefficients.

[0072] In this embodiment, during the butterfly calculation process of the forward transform, the terminal can obtain the current transform calculation scale, such as DCT16, based on the size information corresponding to the transform unit. Then, the target number of adder stages is determined according to the transform calculation scale. During the butterfly calculation, multiple stages of adders and subtractors are typically used. The terminal can obtain the output results of the adders corresponding to the target adder stage through a multiplexer, and then perform transform processing on the transform unit based on the output results and the target transform coefficients. The target adder stage can be multiple.

[0073] Based on the above scheme, during the butterfly calculation process of forward transform processing, forward transform calculations of different scales can be performed through the logical resources of the target data channel. For example, based on the forward transform logical resources of DCT32, forward transform calculations of DCT16, DCT8, and DCT4 can be performed. During the forward transform of a data block based on MTT partitioning, it is not necessary to occupy multiple data channels, thereby saving processing resources.

[0074] Optionally, before the butterfly calculation in the forward transform process, the method further includes: if the size information of the transform unit is smaller than the size information of the target data block, then setting all input bits except those occupied by the transform unit to 0.

[0075] In this embodiment, the butterfly calculation of DCT32 is used as an example for illustration. The input data includes bits din00~din31, which are sequentially processed by adders and subtractors of stages 1 to 5. All intermediate addition terms of the DCT32 forward transform are calculated in adders of stages 1 to 5, meaning the target adder stage number is 1 to 5. The output results of adders of stages 1 to 5 are obtained through a multiplexer. When calculating DCT16, all bits din16 to din31 are set to 0. All intermediate addition terms of the DCT16 forward transform are calculated in adders of stages 2 to 5, meaning the target adder stage number is 2 to 5. The output results of adders of stages 2 to 5 are obtained through a multiplexer (because the output result of the first stage is the same as the input, it does not need to be obtained). When calculating DCT8, all din8 to din31 are set to 0. All intermediate addition terms of the DCT8 forward transform are calculated in the adders of stages 3 to 5, meaning the target adder stage number is 3 to 5. The output of the adders of stages 3 to 5 is obtained through a multiplexer. When calculating DCT4, all din4 to din31 are set to 0. All intermediate addition terms of the DCT4 forward transform are calculated in the adders of stages 4 to 5, meaning the target adder stage number is 4 to 5. The output of the adders of stages 4 to 5 is obtained through a multiplexer. Furthermore, the terminal can perform transformation processing on the transform unit based on the output results and the target transform coefficients. For example... Figure 3 The diagram shown is a system framework diagram of the DCT forward transform process according to the embodiments of this application. This system framework can be used to perform DCT32 forward transform. The system frameworks for forward transforms of other scales are similar and will not be described again in the embodiments of this application.

[0076] In one example, this application embodiment also provides a butterfly operation process, as follows:

[0077] Table 1

[0078]

[0079] Table 1 illustrates the rules for reusing intermediate terms in butterfly operations. Taking `btf_1st_add_00_31 = din00 + din31` as an example, din00 and din31 are the input data, `but` represents the butterfly operation, `1st` represents the first level, `add` represents addition, and `btf_1st_add_00_31` represents the result of the addition operation of input data din00 and din31 in the first level of the butterfly calculation. The meanings of the contents in the other formulas in Table 1 are similar and will not be elaborated here.

[0080] The following uses TU32 as an example to illustrate the method of reusing multiplication coefficients in the forward transform butterfly operation. Specifically, the intermediate terms of the butterfly operation use the intermediate terms of TU32, and TU16 and TU8 can be directly reused by padding high-order bits with 0. The multiplier resources used by TU32 include two sets of multipliers for the coefficient set {90, 87, 80, 70, 57, 43, 25, 9}; and two sets of multipliers for the coefficient set {90, 90, 88, 85, 82, 78, 73, 67, 61, 54, 46, 38, 31, 22, 13, 4}; other TUs reuse the computational resources of TU32 through multiplexers.

[0081] The multiplier resources required for TU16 computation include two sets of multiplier instantiations for the coefficient set {89, 75, 50, 18} and two sets of multiplier instantiations for the coefficient set {90, 87, 80, 70, 57, 43, 25, 9}.

[0082] The multiplier resources used by TU8 include two sets of multiplier instantiations with coefficient set {83, 36} and two sets of multiplier instantiations with coefficient set {89, 75, 50, 18}.

[0083] The multiplier resources used by TU4 include two sets of {64} coefficient set multipliers and two sets of {83, 36} coefficient set multipliers.

[0084] TU32 coefficients are time-division multiplexed as follows:

[0085] The constant multiplication of the coefficient {64} is implemented by a multiplier of the coefficient set {90, 87, 80, 70, 57, 43, 25, 9}, where 64 = 80 - 16;

[0086] The constant multiplication of the coefficients {83, 36} is implemented by the multiplier of the coefficient set {90, 87, 80, 70, 57, 43, 25, 9}, where 83 = 87 - 4; 36 = 9 * 4;

[0087] The constant multiplication of the coefficients {89, 75, 50, 18} is implemented by the multiplier of the coefficient set {90, 87, 80, 70, 57, 43, 25, 9}, where 89 = 90 - 1; 75 = 43 + 32; 50 = 25 * 2; and 18 = 9 * 2.

[0088] Optionally, the transformation unit is transformed using the target data channel and target transformation coefficients corresponding to the target data block. This includes: during the inverse transformation process, using a true multiplier to calculate the transformation unit and target transformation coefficients through the target data channel corresponding to the target data block, and obtaining the transformation result of the transformation unit.

[0089] In this embodiment, based on a similar processing flow to the forward transform, the inverse transform calculation can also be performed by determining a transform coefficient extraction strategy based on the size information corresponding to the transform unit. Then, using this strategy, the target transform coefficients corresponding to the transform unit are extracted from the transform coefficient matrix corresponding to the target data block. The terminal can then use a true multiplier to calculate the transform unit and target transform coefficients through the target data channel corresponding to the target data block, obtaining the transform processing result of the transform unit. For example... Figure 4 The diagram shown illustrates the system framework of the DCT inverse transform process as described in this embodiment. This system framework can be used to perform the DCT32 inverse transform. The system frameworks for inverse transforms at other scales are similar and will not be described in detail in this embodiment. Optionally, a constant multiplier can be used to perform multiplication calculations first in the inverse transform, and then a multiplexer can be used to select from the calculation results to obtain the calculation result corresponding to the transform unit.

[0090] The following section uses TU32 as an example to introduce the method of reusing multiplication coefficients in inverse transformation. Specifically, the reusing logic of TU32, TU16, TU8 and TU4 multipliers is as follows: the inverse transformation process can only use the characteristic of left and right symmetry of coefficients to achieve resource reuse.

[0091] The multiplier resources used by TU32 include four sets of coefficient set multipliers instantiated from {90, 90, 90, 89, 88, 87, 85, 83, 82, 80, 78, 75, 73, 70, 67, 64}.

[0092] The multiplier resources required for TU16 computation include two sets of multiplier instantiations for the coefficient set {90, 89, 87, 83, 80, 75, 70, 64, 64, 57, 50, 43, 36, 25, 18, 9}.

[0093] The multiplier resources required for TU8 computation include two sets of multiplier instantiations for the coefficient set {89, 83, 75, 64, 64, 50, 36, 18}.

[0094] The multiplier resources required for TU4 computation include two sets of multipliers instantiated from the coefficient set {83, 64, 64, 36}.

[0095] The multipliers of TU4 and TU8 are subsets of TU16.

[0096] Based on the above scheme, in the butterfly calculation process of inverse transform processing, inverse transform calculations of different scales can be performed through the logical resources of the target data channel. For example, based on the inverse transform logical resources of DCT32, inverse transform calculations of DCT16, DCT8, and DCT4 can be performed. In the process of inverse transforming a data block based on MTT partitioning, it is not necessary to occupy multiple data channels, thereby saving processing resources.

[0097] In one example of the transformation processing method provided in this application, taking a workflow throughput of 4 pixels / clk and a single pixel data of 10 bits as an example, the resources required for transformation calculation in this embodiment are as follows:

[0098] In workflow4, DCT4 TR1 requires four 11-bit adders, two 12-bit adders, four 12-bit signal multipliers (two multiplying by 83 and two multiplying by 36), and two 19-bit adders, for a total of 2210 logic gates.

[0099] The DCT4 TR2 requires four 16-bit adders, two 17-bit adders, four 17-bit signal multipliers (two multiplying by 83 and two multiplying by 36), and two 24-bit adders, for a total of 3110 logic gates.

[0100] IDCT4 requires eight 16-bit by 7-bit true multipliers and twelve 23-bit adders, for a total of 10,340 logic gates.

[0101] The resource usage for workflow4 remains unchanged, totaling 26,000.

[0102] In workflow8, DCT8 TR1 requires 8 11-bit adders, 4 12-bit adders, 2 13-bit adders, 8 12-bit multiplier-7-bit true multipliers, 6 19-bit adders, 2 13-bit multiplier-7-bit true multipliers, and 1 20-bit adder, for a total of 9110 logic gates.

[0103] The DCT8 TR2 requires eight 16-bit adders, four 17-bit adders, two 18-bit adders, eight 17-bit multiplier-7-bit true multipliers, six 24-bit adders, two 18-bit multiplier-7-bit true multipliers, and one 25-bit adder, for a total of 14,045 logic gates.

[0104] The IDCT8 requires 16 true multipliers of 16 bits by 7 bits and 28 adders of 23 bits, for a total of 21,140 logic gates.

[0105] Workflow8's resources have been reduced to 65435.

[0106] In workflow16, the DCT16 TR1 requires 16 11-bit adders, 8 12-bit adders, 4 13-bit adders, 2 14-bit adders, 16 12-bit multipliers by 7-bit true multipliers, 14 19-bit adders, 4 13-bit multipliers by 7-bit true multipliers, 3 20-bit adders, 2 14-bit multipliers by 7-bit true multipliers, and 1 21-bit adder, for a total of 22,535 logic gates.

[0107] The DCT16 TR2 requires 16 16-bit adders, 8 17-bit adders, 4 18-bit adders, 2 19-bit adders, 16 17-bit multipliers (7-bit true multipliers), 14 24-bit adders, 4 18-bit multipliers (7-bit true multipliers), 3 25-bit adders, 2 19-bit multipliers (7-bit true multipliers), and 1 26-bit adder, for a total of 31,435 logic gates.

[0108] The IDCT16 requires 32 true multipliers of 16 bits by 7 bits and 60 adders of 23 bits, for a total of 42,740 logic gates.

[0109] Workflow16's resources have been reduced to 139,450.

[0110] In workflow32, the DCT32 TR1 requires 32 11-bit adders, 16 12-bit adders, 8 13-bit adders, 4 14-bit adders, 2 15-bit adders, 32 12-bit multipliers (7-bit true multipliers), 30 19-bit adders, 8 13-bit multipliers (7-bit true multipliers), 7 20-bit adders, 4 14-bit multipliers (7-bit true multipliers), and 3 21-bit adders, for a total of 45,615 logic gates.

[0111] The DCT32 TR2 requires 32 16-bit adders, 16 17-bit adders, 8 18-bit adders, 4 19-bit adders, 2 20-bit adders, 32 17-bit multipliers (7-bit true multipliers), 30 24-bit adders, 8 18-bit multipliers (7-bit true multipliers), 7 25-bit adders, 4 19-bit multipliers (7-bit true multipliers), and 3 26-bit adders, for a total of 63,565 logic gates.

[0112] The IDCT32 requires 64 true multipliers of 16 bits by 7 bits and 124 adders of 23 bits, for a total of 85,940 logic gates.

[0113] Workflow32's resources have been reduced to 281060.

[0114] It is understood that the total number of logic gates required for the transformation calculation logic of a complete workflow (wf4+wf8+wf16+wf32) that can be implemented in this embodiment is 281060+139450+65435+26000=511945. Experimental data shows that compared with the traditional solution, the number of logic gates in this embodiment is reduced by 31.1%. The maximum calculation scale of this application embodiment is not limited to TU32; the processing of other calculation scales is similar, and will not be described in detail in this application embodiment.

[0115] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0116] Based on the same inventive concept, this application also provides a transformation processing apparatus for implementing the transformation processing method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more transformation processing apparatus embodiments provided below can be found in the limitations of the transformation processing method described above, and will not be repeated here.

[0117] In one exemplary embodiment, such as Figure 5 As shown, a transformation processing apparatus is provided, comprising:

[0118] The acquisition module 510 is used to acquire the target data block to be processed, wherein the target data block is a data block obtained by partitioning based on a multi-type tree partitioning strategy;

[0119] Extraction module 520 is used to determine the transformation unit of the target data block, and extract the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block based on the size information of the transformation unit;

[0120] The transformation module 530 is used to perform transformation processing on the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficient.

[0121] In one embodiment, the extraction module is specifically used for:

[0122] Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined;

[0123] Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0124] In one embodiment, the transformation module is specifically used for:

[0125] Based on the size information corresponding to the transformation unit, the target number of adder stages is determined;

[0126] During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer;

[0127] Based on the output result and the target transformation coefficient, the transformation unit is transformed.

[0128] In one embodiment, the device further includes:

[0129] The setting module is configured to set all input bits except those occupied by the transformation unit to 0 if the size information of the transformation unit is smaller than the size information of the target data block.

[0130] In one embodiment, the transformation module is specifically used for:

[0131] During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

[0132] In one embodiment, the device further includes:

[0133] The determination module is used to determine, based on the size information of the target data block, a target data channel that matches the size information among multiple data channels.

[0134] Each module in the aforementioned transformation processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0135] In one exemplary embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 6 As shown, the computer device includes a processor, memory, input / output interfaces, a communication interface, a display unit, and an input device. The processor, memory, and input / output interfaces are connected via a system bus, and the communication interface, display unit, and input device are also connected to the system bus via the input / output interfaces. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The input / output interfaces are used for exchanging information between the processor and external devices. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, Near Field Communication (NFC), or other technologies. When the computer program is executed by the processor, it implements a change processing method. The display unit is used to form a visually visible image and can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be an LCD screen or an e-ink screen. The input device of the computer device can be a touch layer covering the display screen, or buttons, trackballs, or touchpads set on the casing of the computer device, or external keyboards, touchpads, or mice, etc.

[0136] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0137] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0138] Obtain the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy;

[0139] The transformation unit of the target data block is determined, and based on the size information of the transformation unit, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0140] The transformation unit is transformed using the target data channel corresponding to the target data block and the target transformation coefficients.

[0141] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0142] Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined;

[0143] Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0144] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0145] Based on the size information corresponding to the transformation unit, the target number of adder stages is determined;

[0146] During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer;

[0147] Based on the output result and the target transformation coefficient, the transformation unit is transformed.

[0148] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0149] If the size information of the transformation unit is smaller than the size information of the target data block, then all input bits except those occupied by the transformation unit will be set to 0.

[0150] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0151] During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

[0152] In one embodiment, the processor, when executing a computer program, also performs the following steps:

[0153] Based on the size information of the target data block, a target data channel that matches the size information is determined among multiple data channels.

[0154] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0155] Obtain the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy;

[0156] The transformation unit of the target data block is determined, and based on the size information of the transformation unit, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0157] The transformation unit is transformed using the target data channel corresponding to the target data block and the target transformation coefficients.

[0158] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0159] Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined;

[0160] Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0161] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0162] Based on the size information corresponding to the transformation unit, the target number of adder stages is determined;

[0163] During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer;

[0164] Based on the output result and the target transformation coefficient, the transformation unit is transformed.

[0165] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0166] If the size information of the transformation unit is smaller than the size information of the target data block, then all input bits except those occupied by the transformation unit will be set to 0.

[0167] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0168] During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

[0169] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0170] Based on the size information of the target data block, a target data channel that matches the size information is determined among multiple data channels.

[0171] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0172] Obtain the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy;

[0173] The transformation unit of the target data block is determined, and based on the size information of the transformation unit, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0174] The transformation unit is transformed using the target data channel corresponding to the target data block and the target transformation coefficients.

[0175] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0176] Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined;

[0177] Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

[0178] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0179] Based on the size information corresponding to the transformation unit, the target number of adder stages is determined;

[0180] During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer;

[0181] Based on the output result and the target transformation coefficient, the transformation unit is transformed.

[0182] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0183] If the size information of the transformation unit is smaller than the size information of the target data block, then all input bits except those occupied by the transformation unit will be set to 0.

[0184] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0185] During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

[0186] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:

[0187] Based on the size information of the target data block, a target data channel that matches the size information is determined among multiple data channels.

[0188] It should be noted that the user information (including but not limited to user device identifiers, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0189] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0190] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0191] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A transformation processing method, characterized in that, The method includes: Obtain the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy; The transformation unit of the target data block is determined, and based on the size information of the transformation unit, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block. The transformation unit is transformed using the target data channel corresponding to the target data block and the target transformation coefficients.

2. The method according to claim 1, characterized in that, The step of extracting the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block based on the size information of the transformation unit includes: Based on the size information corresponding to the transformation unit, a transformation coefficient extraction strategy is determined; Using the transformation coefficient extraction strategy, the target transformation coefficients corresponding to the transformation unit are extracted from the transformation coefficient matrix corresponding to the target data block.

3. The method according to claim 1, characterized in that, The transformation process of the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficients includes: Based on the size information corresponding to the transformation unit, the target number of adder stages is determined; During the butterfly calculation process of the positive transform processing, the output result of the adder corresponding to the target adder level is obtained through a multiplexer; Based on the output result and the target transformation coefficient, the transformation unit is transformed.

4. The method according to claim 3, characterized in that, Prior to the butterfly calculation in the positive transform process, the method further includes: If the size information of the transformation unit is smaller than the size information of the target data block, then all input bits except those occupied by the transformation unit will be set to 0.

5. The method according to claim 1, characterized in that, The transformation process of the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficients includes: During the inverse transformation process, the transformation unit and the target transformation coefficients are calculated using a true multiplier through the target data channel corresponding to the target data block to obtain the transformation processing result of the transformation unit.

6. The method according to claim 1, characterized in that, The method further includes: Based on the size information of the target data block, a target data channel that matches the size information is determined among multiple data channels.

7. A transformation processing apparatus, characterized in that, The device includes: The acquisition module is used to acquire the target data block to be processed, which is a data block obtained by partitioning based on a multi-type tree partitioning strategy. An extraction module is used to determine the transformation unit of the target data block, and based on the size information of the transformation unit, extract the target transformation coefficients corresponding to the transformation unit from the transformation coefficient matrix corresponding to the target data block; The transformation module is used to perform transformation processing on the transformation unit using the target data channel corresponding to the target data block and the target transformation coefficient.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.