Data format conversion device and method, electronic equipment and computer storage medium

By performing extended shifting and addition operations on the integer and fractional parts of normalized data respectively, the problem of insufficient precision of GPUs when converting unsigned normalized data with fractions is solved, achieving high-precision floating-point format conversion and improving the accuracy of image processing and rendering.

CN120848840AActive Publication Date: 2025-10-28MOORE THREADS TECH CO LTD

Patent Information

Application Number
CN202511358135.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-22
Publication Date
2025-10-28
Estimated Expiration
2045-09-22

AI Technical Summary

Technical Problem

In existing technologies, graphics processing units (GPUs) suffer from insufficient precision when converting unsigned normalized data with decimals into floating-point data, resulting in a decrease in computational accuracy.

Method used

A data format conversion device is used, in which the first shift module extends and shifts the integer, the second shift module extends and shifts the decimal, and the two are added together by the addition module. Then, the floating-point conversion module performs the format conversion, thereby achieving accurate conversion of normalized format data.

Benefits of technology

It improves the accuracy of converting normalized data to floating-point data, simplifies the calculation process, and enhances the accuracy of image processing and rendering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120848840A_ABST
    Figure CN120848840A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a data format conversion device and method, electronic equipment and a computer storage medium, and the device comprises a first shift module which is used for carrying out the first expansion shift of a to-be-converted integer of a normalized format number, and obtaining a shift integer; the digit of the shift integer is n times of the digit of the integer to be converted; n is a positive integer; the second shifting module is used for performing second expansion shifting on the to-be-converted decimal of the normalized format number to obtain a shifted decimal; the addition module is used for adding the shift integer and the shift decimal to obtain a shift number; the floating point conversion module is used for performing floating point format conversion on the shift number to obtain a floating point format number of the shift number; the floating point format number of the shift decimal is the target floating point number.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to data format conversion apparatus and methods, electronic devices, and computer storage media. Background Technology

[0002] Currently, electronic devices typically require a Graphics Processing Unit (GPU) to perform various floating-point operations on pixels to achieve image processing and rendering. This necessitates the GPU converting normalized data into floating-point data before processing. However, GPUs can generally only convert normalized integers into floating-point data; for normalized data with decimals, the accuracy of GPU data format conversion is low. Summary of the Invention

[0003] This application provides a data format conversion device and method, electronic device, and computer storage medium that can convert normalized format data with decimals into floating-point format data, thereby improving the accuracy of data format conversion.

[0004] The technical solution of this application is achieved as follows: This application provides a data format conversion device, including: The first shift module is used to perform a first extended shift on the integer to be converted from the normalized format number to obtain a shifted integer; the number of bits in the shifted integer is n times the number of bits in the integer to be converted; n is a positive integer; The second shift module is used to perform a second extended shift on the decimal to be converted from the normalized format number to obtain the shifted decimal; the number of bits of the shifted decimal is n-1 times the sum of the number of bits of the integer to be converted and the number of bits of the decimal to be converted; The addition module is used to add a shifted integer and a shifted decimal to obtain the shifted number; The floating-point conversion module is used to convert the shifted number to a floating-point format to obtain the shifted number in floating-point format; the shifted decimal number in floating-point format is the target floating-point number.

[0005] This application provides a data format conversion method, including: The first shift module performs a first extended shift on the normalized integer to be converted, resulting in a shifted integer; the number of bits in the shifted integer is n times the number of bits in the integer to be converted, where n is a positive integer. The second shift module performs a second extended shift on the normalized decimal to be converted, resulting in a shifted decimal; the number of bits in the shifted decimal is n-1 times the sum of the number of bits in the integer to be converted and the number of bits in the decimal to be converted. The addition module adds the shifted integer and the shifted decimal to obtain the number of bits shifted. The floating-point conversion module performs a floating-point format conversion on the number of bits shifted, resulting in a floating-point format number of the number of bits shifted; the floating-point format number of the shifted decimal is the target floating-point number.

[0006] This application provides a processor that includes the data format conversion device described above.

[0007] This application provides a chip product, which includes a processor, and the processor includes the aforementioned data format conversion device.

[0008] This application provides an electronic device including a processor, which includes the aforementioned data format conversion device.

[0009] This application provides a data format conversion device and method, an electronic device, and a computer storage medium. By processing the integer and fractional parts of the normalized format data to be converted separately to obtain floating-point numbers, the format conversion of the normalized format data to be converted to fractional numbers is realized, which can improve the accuracy of converting normalized format data to floating-point numbers. Attached Figure Description

[0010] Figure 1 A schematic diagram of the structure of a data format conversion device provided in this application embodiment. Figure 1 ; Figure 2 A schematic diagram of a process for determining the shift number provided in this application embodiment. Figure 1 ; Figure 3 A schematic diagram of a process for determining the shift number provided in this application embodiment. Figure 2 ; Figure 4 A schematic diagram of the structure of a data format conversion device provided in this application embodiment. Figure 2 ; Figure 5 A schematic diagram of the structure of a floating-point number provided in an embodiment of this application; Figure 6 A schematic diagram of the structure of a data format conversion device provided in this application embodiment. Figure 3 ; Figure 7 A flowchart illustrating a data format conversion method provided in an embodiment of this application; Figure 8 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0011] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0012] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0013] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0014] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0015] To facilitate understanding of this solution, the application background of the embodiments of this application will be explained before describing the embodiments of this application.

[0016] During graphics processing, GPUs often need to perform interpolation calculations such as linear filtering on unsigned normalized (UNORM) data. When a GPU performs interpolation calculations on multiple unsigned normalized data, it may generate an unsigned normalized data with a decimal. At this time, the GPU needs to convert the unsigned normalized data with a decimal into floating-point data, and then perform floating-point operations based on the floating-point data to achieve image rendering and processing.

[0017] In related technologies, GPUs can only convert unsigned normalized integers to floating-point numbers; however, they cannot process unsigned normalized data with decimals. Therefore, for unsigned normalized data with decimals, GPUs typically need to round it to obtain approximate integer unsigned normalized data before performing data format conversion. However, the rounding process introduces data errors, resulting in insufficient accuracy of the converted floating-point data, thus affecting the GPU's computational precision.

[0018] To address the aforementioned problems, embodiments of this application provide a data format conversion device. Figure 1 A schematic diagram of the structure of a data format conversion device provided in this application embodiment. Figure 1 .like Figure 1 As shown, the device may include: a first shift module 10, used to perform a first extended shift on the integer to be converted of the normalized format data to be converted, to obtain a first shifted integer; the number of bits of the first shifted integer is n times the number of bits of the integer to be converted; n is a positive integer; a second shift module 20, used to perform a second extended shift on the decimal to be converted of the data to be converted, to obtain a second shifted decimal; the number of bits of the second shifted decimal is 2n-1 times the number of bits of the decimal to be converted; an addition module 30, used to add the shifted integer and the shifted decimal, to obtain the shifted decimal; and a floating-point conversion module 40, used to perform floating-point format conversion on the shifted decimal, to obtain a floating-point format number of the shifted decimal; the floating-point format number of the shifted decimal is the target floating-point number.

[0019] In this embodiment, the normalized format number can be of any number of digits. The normalized format number of any number of digits includes the integer to be converted and the decimal to be converted. The integer digit to be converted is represented by 'a', with a number of digits A; the decimal digit to be converted is represented by 'b', with a number of digits B; the normalized format number can be represented as "ab", and its value is the sum of a and b; where A and B are both positive integers. The value range of the normalized format number with A integer digits is [0, 2]. A -1], that is, when "ab" is 0, its floating-point format value is 0.0; when "ab" is 2 A When -1, its floating-point format number value is 1.0.

[0020] It should be noted that both the integer and decimal numbers to be converted are in their original code form. If the normalized number is negative, its integer and decimal parts are both in two's complement form, then the normalized number needs to be restored to its original code form to obtain the integer and decimal numbers to be converted.

[0021] For example, the format of the normalized number is UNORM8, the normalized number is "11000101.1101" with 4 decimal places, the integer to be converted is "11000101" and the decimal to be converted is "1101".

[0022] In the embodiments of this application, the relationship between the normalized format number "ab" and the target floating-point number float can be represented by formula (1).

[0023] Formula (1) In this embodiment, since the division calculation unit is very complex, the conversion of the normalized format number "ab" to the floating-point number float by division can usually be achieved by a shift operation. Formula (1) can be expressed by formula (2).

[0024] Formula (2) As can be seen from formula (2), the decimal point of the normalized number can be shifted to the left by A positions to obtain an approximate floating-point number float1, which can be used as the target floating-point number float. Here, the larger A is, the closer the values ​​of the approximate floating-point number float1 and the floating-point number float are, and the higher the accuracy of the conversion.

[0025] In this embodiment, the normalized format number of the A-bit integer can be expanded by multiples of A, for example, to 2A bits, 3A bits, etc. Expanding the number of integer bits improves the accuracy of the conversion, but also increases computational complexity. The number of expanded integer bits can be set as needed, and this embodiment does not impose any restrictions. The number of expanded integer bits is nA, where n is a positive integer, and nA represents n multiplied by A.

[0026] In this embodiment of the application, the target floating-point number float of the normalized format number of nA-bit integer bits can be converted by formula (3).

[0027] Formula (3); In formula (3), the denominator can be factored to obtain formula (4).

[0028] Formula (4); According to formula (4), formula (2) can be expressed as formula (5).

[0029] Formula (5); in, Formula (6); Formula (7); Based on formulas (5) and (2), formula (8) can be obtained to represent the approximate floating-point number float1.

[0030] Formula (8); From formulas (5) and (8), it can be seen that the larger n is, the closer the approximate floating-point number float1 is to the target floating-point number float. The data format conversion device can perform a first extended shift on the integer to be converted, a, according to formula (5), to obtain the shifted integer. ; and, perform a second extended shift on the decimal b to be converted, to obtain the shifted decimal. The first extended shift involves concatenating and extending the integer to be converted, *a* itself, and the *a* resulting from *n-1* shifts. The number of shifts for the integer to be converted, *a*, is an integer multiple of *A*. Therefore, the shifted integer... The number of digits is n times the number of digits of the integer a to be converted. The second extended shift involves concatenating and extending the decimal b to be converted, and the n-1 shifted decimal b, where the number of shifted digits of the decimal b is an integer multiple of A; therefore, the shifted decimal... The number of digits is 2n-1 times the number of digits of the decimal to be converted.

[0031] In this embodiment, the first extended shift and the second extended shift are performed in different ways. The data format conversion device can perform a first extended shift on the integer to be converted, a, through the first shift module 10 to obtain a shifted integer; and perform a second extended shift on the decimal to be converted, b, through the second shift module 20 to obtain a shifted decimal.

[0032] In this embodiment, the first shift module 10 obtains the shifted integer. Then, the shifted integer can be... The output is sent to the addition module 30, and the second shift module 20 obtains the shifted decimal. Then, the decimal can be shifted. Output to addition module 30; addition module 30 can shift decimals. Add the shifted integer to the shifted integer to get the shifted number.

[0033] In this embodiment of the application, after obtaining the number of shifts, the data format conversion device can perform floating-point format conversion on the number of shifts through the floating-point conversion module 40 to convert the number of shifts into a floating-point format number and obtain the target floating-point number.

[0034] Understandably, the data format conversion device can process the integer part and the decimal part of the normalized data to be converted separately, thereby obtaining the floating-point format number of the data to be converted. This realizes the format conversion of normalized data with decimals and can improve the accuracy of converting normalized data to floating-point numbers.

[0035] In some embodiments of this application, the first shift module 10 is further configured to fill the integer to be converted from the low bit to the high bit n times to obtain the shifted integer.

[0036] In this embodiment, the first shift module 10 can fill the integer to be converted, 'a', n times sequentially from the least significant bit to the most significant bit to obtain the shifted integer. According to formula (6), the integer to be converted, 'a', is filled from the least significant bit to the most significant bit. The first filling is 'a' itself. The second filling starts from the next bit after 'a', which is equivalent to shifting 'a' left by A bits. ... The nth filling starts from the next bit after the (n-1)th filling, which is equivalent to shifting 'a' left by (n-1) times A bits. The data obtained after n fillings is concatenated, which is equivalent to adding the data obtained after n fillings to obtain the shifted integer. Shifted integer The number of bits is nA.

[0037] For example, the integer to be converted, 'a', is "u7u6u5u4u3u2u1u0", with a bit depth A equal to 8. If n is 2, the first shift module 10 can fill 'a' twice consecutively, which is equivalent to adding "u7u6u5u4u3u2u1u0" and "u7u6u5u4u3u2u1u000000000", that is, adding 'a' and 'u7u6u5u4u3u2u1u000000000'. Adding them together, we get the shifted integer "u7u6u5u4u3u2u1u0u7u6u5u4u3u2u1u0". If n is 3, the first shift module 10 can fill 'a' three times consecutively, which is equivalent to adding "u7u6u5u4u3u2u1u0", "u7u6u5u4u3u2u1u000000000", and "u7u6u5u4u3u2u1u00000000000000000", that is, adding 'a' and 'u7u6u5u4u3u2u1u000000000000000000, which is also equivalent to adding 'a' and 'u7u6u5u4u3u2u1u0000000000000000000. as well as Adding them together, we get the shifted integer "u7u6u5u4u3u2u1u0u7u6u5u4u3u2u1u0u7u6u5u4u3u2u1u0".

[0038] It is understandable that the first shift module 10 can continuously fill the integer to be converted, a, n times to achieve the first extended shift of a and obtain the shifted integer. This is simple to implement and can improve computational efficiency.

[0039] In some embodiments of this application, the second shift module 20 is further configured to adjust the decimal to be converted. The number of digits is determined to obtain the fill number; the fill number is then filled n-1 times from the least significant digit to the most significant digit to obtain the shifted decimal. The integer part; and the fractional part to be converted as the shifted fraction. The decimal places.

[0040] In this embodiment, the second shift module 20 can expand and fill the decimal b to be converted by expanding and filling it n times to obtain the shifted decimal. Among them, n-1 fillings can obtain the integer part of the shifted decimal, and another filling can obtain the decimal part. According to formula (7), the filling of the integer part is n-1 fillings on the left, which is achieved by left shifting; the number of integer parts of the shifted decimal is (n-1)A. The first filling on the left is equivalent to shifting the decimal to be converted to the left by AB positions, which is the difference in the number of bits between the integer and the decimal to be converted; that is, the highest bit of the first filling on the left of the decimal to be converted is in the same position as the highest bit of the integer after the first filling; the second filling on the left is A positions different from the first filling, which is the number of bits of the integer to be converted; it is equivalent to shifting the data of the first filling to the left by A positions, and the highest bit of the second filling on the decimal to be converted is in the same position as the highest bit of the integer after the second filling; the two fillings of the decimal to be converted are separated by AB positions. The decimal places are filled by right-hand filling, which is achieved by right shifting. The second shifting module can shift the decimal to be converted by B positions to the right to obtain the decimal places of the shifted decimal.

[0041] In this embodiment, the second shift module 20 needs to fill A bits each time, where B bits are the decimals to be converted and AB bits are adjustment bits. If A is greater than or equal to B, the fill number includes the higher B bits of the decimals to be converted and the lower adjustment bits; if A is less than B, the fill number is obtained by right-shifting B by BA bits, that is, B deletes the lower adjustment bits.

[0042] In this embodiment, the second shift module 20 can adjust the number of digits of the decimal to be converted to the number of digits of the integer to be converted, and obtain the fill number; then the fill number is filled n times to obtain the decimal places of the shifted decimal.

[0043] Understandably, the second shift module 20 can adjust the number of digits of the decimal b to be converted to obtain the filler number, and then perform n consecutive filler operations on the filler number to achieve the second extended shift of b and obtain the shifted decimal. This is simple to implement and can improve the calculation efficiency.

[0044] In some embodiments of this application, the second shift module 20 is further configured to shift the decimal to the left to the same number of digits as the integer to be converted, when the number of digits of the integer to be converted is greater than or equal to the number of digits of the decimal to be converted, to obtain a filler number.

[0045] In this embodiment of the application, when the number of digits A of the integer to be converted is greater than or equal to the number of digits B of the decimal to be converted, AB is a non-negative number. In this case, the second shift module 20 needs to shift the decimal to be converted to the left by AB adjustment bits to obtain the fill number; the shifted adjustment bits are filled with 0.

[0046] For example, the normalized format number is “u7u6u5u4u3u2u1u0.f3f2f1f0”, the number of bits A of the integer to be converted is 8, the number of bits b of the decimal to be converted is “f3f2f1f0”, and the number of bits B is 4. Shifting b left by 4 bits adjusts the position, resulting in the filled number “f3f2f1f00000”. If n is 2, the integer part of the shifted decimal is “f3f2f1f00000”, the decimal part is “f3f2f1f0”, and the shifted decimal is “f3f2f1f00000.f3f2f1f0”, which is... and The result of the addition. If n is 3, the integer part of the shifted decimal is "f3f2f1f00000f3f2f1f00000", the decimal part is "f3f2f1f0", and the shifted decimal is "f3f2f1f00000f3f2f1f00000.f3f2f1f0", which is... , and The result of adding them together.

[0047] For example, the normalized format number is “u7u6u5u4u3u2u1u0.f2f1f0”, the number of bits A of the integer to be converted is 8, the number of bits B of the decimal to be converted is “f2f1f0”, and the number of bits B is 3. Shifting b to the left by 5 bits adjusts the number, resulting in the filled number “f2f1f000000”. If n is 2, the integer part of the shifted decimal is “f2f1f000000”, the decimal part is “f3f2f1f0”, and the shifted decimal is “f2f1f000000.f2f1f0”. If n is 3, the integer part of the shifted decimal is "f2f1f000000f2f1f000000", the decimal part of the shifted decimal is "f3f2f1f0", and the shifted decimal is "f2f1f000000f2f1f000000. f2f1f0".

[0048] Understandably, the second shift module 20 can adjust the decimal to be converted based on the comparison between the number of digits in the integer to be converted and the number of digits in the decimal to be converted, thus obtaining the filler number. When the number of digits in the integer to be converted is greater than or equal to the number of digits in the decimal to be converted, the filler number is accurately obtained and used to fill the decimal, resulting in the decimal places of the shifted decimal.

[0049] In some embodiments of this application, the second shift module 20 is further configured to, when the number of digits of the integer to be converted is less than the number of digits of the decimal to be converted, shift the decimal to be converted to the right until the number of digits is the same as the number of digits of the integer to be converted, thereby obtaining the filler number.

[0050] In this embodiment of the application, when the number of digits A of the integer to be converted is less than the number of digits B of the decimal to be converted, AB is a negative number. In this case, the second shift module 20 needs to shift the decimal to be converted to the right by BA bits to adjust the number and obtain the filler number.

[0051] In this embodiment of the application, the fill number obtained by the second shift module 20 in the first fill is equivalent to The number of fills obtained in the second fill is equivalent to The low-order bits are shifted to the right and the high-order bits are retained. For example, in the following example, the shifted decimal should be f5f4f3f2. f5f4f3f2.

[0052] For example, the normalized format number is "u3u2u1u0.f5f4f3f2f1f0". The number of digits A of the integer to be converted is 4, and the number of digits B of the decimal to be converted is 6. Shifting b to the right by 2 bits adjusts the number, resulting in "f5f4f3f2". If n is 2, the integer digits of the shifted decimal are "f5f4f3f2", the decimal digits are "f5f4f3f2", and the shifted decimal is "f5f4f3f2.f5f4f3f2", which is... and The result of the addition. If n is 3, the integer part of the shifted decimal is "f5f4f3f2f5f4f3f2", the decimal part of the shifted decimal is "f5f4f3f2", and the shifted decimal is "f5f4f3f2f5f4f3f2.f5f4f3f2", which is... , and The result of adding them together.

[0053] Understandably, the second shift module 20 can adjust the decimal to be converted based on the comparison between the number of digits in the integer to be converted and the number of digits in the decimal to be converted, thus obtaining the filler number. If the number of digits in the integer to be converted is less than the number of digits in the decimal to be converted, the filler number is accurately obtained and used to fill the decimal places of the shifted decimal.

[0054] In some embodiments of this application, the addition module 30 is further configured to add the integer part of the shifted decimal to the shifted integer to obtain the integer part of the shifted number; and use the decimal part of the shifted decimal as the decimal part of the shifted number.

[0055] In this embodiment, the addition module 30 can align the least significant bit of the (n-1)A integer bits of the shifted decimal with the least significant bit of the nA shifted integer, and then add them together to obtain the integer part of the shifted number; the integer part of the shifted number is nA bits. The decimal part of the shifted decimal is the decimal part of the shifted number. The integer part and the decimal part of the shifted number are combined to obtain the shifted number.

[0056] Figure 2A schematic diagram of a process for determining the shift number provided in this application embodiment. Figure 1 .like Figure 2 As shown, the normalized format number is “u7u6u5u4u3u2u1u0.f3f2f1f0”, the number of bits A of the integer to be converted is 8, and the number of bits B of the decimal to be converted is 4. The first shift module 10 obtains the shifted integer “u7u6u5u4u3u2u1u0u7u6u5u4u3u2u1u0” and the shifted decimal “f3f2f1f00000.f3f2f1f0”, and adds them to obtain the normalized format number “16.4”, where 16 represents the number of integer bits of the shifted number and 4 represents the number of decimal bits of the shifted number. The shifted number includes the integer bits u16 and the decimal bits fix4. Figure 3 A schematic diagram of a process for determining the shift number provided in this application embodiment. Figure 2 .like Figure 3 As shown, the normalized format number is “u7u6u5u4u3u2u1u0.f3f2f1f0”, the number of bits A of the integer to be converted is 8, and the number of bits B of the decimal to be converted is 4. The first shift module 10 adds the shifted integer “u7u6u5u4u3u2u1u0u7u6u5u4u3u2u1u0u7u6u5u4u3u2u1u0” and the shifted decimal “f3f2f1f00000f3f2f1f00000.f3f2f1f0” to obtain the normalized format number “24.4”, where 24 represents the number of integer bits of the shifted number and 4 represents the number of decimal bits of the shifted number. The shifted number includes the integer bits u24 and the decimal bits fix4.

[0057] Understandably, the addition module 30 can align the integer bits of the shifted integer and the shifted decimal, and add them bit by bit to obtain the extended normalized format number; this can improve the accuracy of converting the normalized format number to a floating-point number.

[0058] based on Figure 1 , Figure 4 A schematic diagram of the structure of a data format conversion device provided in this application embodiment. Figure 2 .like Figure 4As shown, the floating-point conversion module 40 further includes: a third shift module 401, an exponent addition module 402, and a floating-point concatenation module 403. Specifically, the third shift module 401 is used to shift the decimal point of the shifted number to the left of the highest bit of the shifted number, obtaining the left-shifted number; shift the decimal point of the left-shifted number to the right until the integer part is a preset integer value, obtaining the right-shifted number; determine the mantissa based on the right-shifted number; the number of bits in the mantissa is the same as the number of bits in the target floating-point number; the exponent addition module 402 is used to add the right-shifted number to the bias value of the target floating-point number, obtaining the exponent of the target floating-point number; and the floating-point concatenation module 403 is used to merge the mantissa, exponent, and the signed number corresponding to the data to be converted to obtain the target floating-point number.

[0059] In this embodiment, the number of shifts is the number obtained after expanding the normalized format number. To keep the value of the normalized format number unchanged, the decimal point of the number of shifts also needs to be shifted to the left. According to formula (5), the number of shifts needs to be shifted to the right by nA bits, that is, the decimal point of the number of shifts needs to be shifted to the left by nA bits to obtain an approximate floating-point number as the target floating-point number.

[0060] In this embodiment, the number of integer bits in the shifted number is the same as the number of bits in the shifted integer, both being nA bits. The third shift module 401 moves the decimal point of the shifted number to the left of the most significant bit, which is equivalent to shifting nA bits. The value of the left shifted number obtained at this time is the approximate value of the floating-point number float1, which can be used as the value of the target floating-point number float.

[0061] In this embodiment, after obtaining the number of bits to be shifted left, the third shift module 401 needs to shift the decimal point of the left shifted number to the right until the integer part is a preset integer value, thus obtaining the number to be shifted right. The third shift module 401 can determine the mantissa of the target floating-point number based on the decimal part of the number to be shifted right.

[0062] For example, the left shift number is "0.00001100101", the preset integer value is 1, and the decimal point is shifted 5 places to the right, resulting in the right shift number "1.100101". The mantissa "100101" of the right shift number can be used to determine the mantissa.

[0063] In some embodiments of this application, the third shift module 401 is further configured to round the right-shifted number to obtain the mantissa of the target floating-point number when the number of decimal places of the right-shifted number is greater than or equal to the number of mantissa places of the target floating-point number.

[0064] In this embodiment, the decimal value of the right-shifted number is equal to the mantissa value of the target floating-point number. After obtaining the right-shifted number, the third shift module 401 can first determine whether the mantissa of the right-shifted number is greater than or equal to the mantissa number of the target floating-point number. If so, the right-shifted number can be rounded to obtain the mantissa of the target floating-point number. The rounding process can include any of the following: rounding to the nearest integer, even-number rounding, or direct integer rounding, etc., which can be set as needed, and this embodiment does not impose any restrictions.

[0065] In some embodiments, the third shift module 401 can determine whether the digit after the highest mantissa in the decimal of the right-shifted number is greater than or equal to a first preset threshold. If so, the highest mantissa in the decimal of the right-shifted number is added by 1 to obtain the mantissa; otherwise, the highest mantissa in the decimal of the right-shifted number is directly used as the mantissa.

[0066] For example, the mantissa of the target floating-point number is 5 bits. The last bit after the highest 5 bits of the decimal part in the right shift number "1.100101" is "1", which is equal to the first preset threshold of 1. The highest 5 bits of the mantissa "10010" of the right shift number plus 1 equals "10011", which is the mantissa.

[0067] In some embodiments, the third shift module 401 can determine whether the two digits following the highest decimal digit in the right-shifted number are greater than a second preset threshold. If so, it adds 1 to the highest decimal digit in the right-shifted number to obtain the mantissa. Otherwise, it continues to determine whether the two digits following the highest decimal digit in the right-shifted number are less than the second preset threshold. If so, it uses the highest decimal digit in the right-shifted number as the mantissa. Otherwise, it determines that the two digits following the highest decimal digit in the right-shifted number are equal to the second preset threshold, and continues to determine whether the highest decimal digit in the right-shifted number is odd. If so, it adds 1 to the highest decimal digit in the right-shifted number to obtain the mantissa. Otherwise, it directly uses the highest decimal digit in the right-shifted number as the mantissa.

[0068] For example, if the mantissa of the target floating-point number is 5, and the two digits after the highest 5 digits of the fractional part in the right shift number "1.100101" are "10", which is equal to the second preset threshold of 10, then if the highest 5 digits of the fractional part "10010" in the right shift number "1.100101" are even, then "10010" will be used directly as the mantissa.

[0069] In some embodiments, the third shift module 401 can directly use the highest mantissa of the decimal part of the right-shifted number as the mantissa.

[0070] Understandably, the third shift module 401 can determine how to handle the decimal part of the right-shifted number based on the number of decimal places and the number of mantissa places of the target floating-point number. This improves the accuracy of determining the mantissa places of the target floating-point number when the number of decimal places in the right-shifted number is greater than or equal to the number of mantissa places of the target floating-point number.

[0071] In some embodiments of this application, the third shift module 401 is further configured to perform padding on the right-shifted number when the number of bits in the right-shifted number is less than the number of bits in the mantissa of the target floating-point number, so as to obtain the mantissa of the target floating-point number; the padding is to add a number of zeros after the decimal part of the right-shifted number; the number of zeros is the difference between the number of bits in the mantissa of the target floating-point number and the number of bits in the right-shifted decimal part.

[0072] In this embodiment, if the number of decimal places in the right-shifted number is less than the number of mantissa places in the target floating-point number, it is necessary to continue padding with 0s after the right-shifted decimal until the number of decimal places in the right-shifted number is the same as the number of mantissa places in the target floating-point number. Here, the number of 0s padded is called the padding number, which is the difference between the number of mantissa places in the target floating-point number and the number of decimal places in the right-shifted number.

[0073] For example, the target floating-point number has 8 mantissas and the right shift number "1.100101" has 5 decimal places. Three zeros need to be added after the decimal places of the right shift number to get "100101000" as the mantissa.

[0074] Understandably, the third shift module 401 can determine how to handle the decimal part of the right-shifted number based on the number of decimal places in the right-shifted number and the number of mantissa places in the target floating-point number. This improves the accuracy of determining the mantissa places in the target floating-point number when the number of decimal places in the right-shifted number is less than the number of mantissa places in the target floating-point number.

[0075] In this embodiment, after the third shift module 401 shifts the left-shifted bits to the right, it can record the number of bits shifted to the right and send the number of bits shifted to the exponent addition module 402. At this time, the exponent addition module 402 can add the number of bits shifted to the right and the bias value of the target floating-point number to obtain the exponent of the target floating-point number. The bias value of the target floating-point number corresponds to the number of bits in the exponent of the target floating-point number; for example, if the target floating-point number is float32 and its exponent is 8 bits, then the bias value is 127; if the target floating-point number is float16 and its exponent is 5 bits, then the bias value is 15.

[0076] For example, Figure 5 This is a schematic diagram illustrating the structure of a floating-point number provided in an embodiment of this application. For example... Figure 5As shown, UNORM32 has 32 bits, where the highest bit is the sign bit, the next 8 bits are the exponent bits, and the next 23 bits are the mantissa bits. The value of a floating-point number is "1.23" × 2. (指数值-偏置值) Where 23 represents the 23 mantissa bits. For example, if the sign bit of UNORM32 is "1" (representing a negative number), the exponent is "10000010", and the mantissa is "11100000000000000000000", then its value is -1.111000000000000000000000×2 (130-127) That is, -1.875 × 8 = -15. Therefore, the target floating-point number is determined to be "1. mantissa × 2". 右移的位数 "Then, the value of the exponent can be obtained by adding the offset value to the number of bits shifted to the right, and thus the exponent can be determined."

[0077] In this embodiment, after the exponent addition module 402 determines the exponent of the target floating-point number, it sends the exponent to the floating-point concatenation module 403; after the third shift module 401 determines the mantissa, it also sends the mantissa to the floating-point concatenation module 403; thus, after obtaining the sign number of the normalized format number, the floating-point concatenation module 403 can concatenate the mantissa, exponent and sign number according to the sign number to obtain the target floating-point number.

[0078] In this embodiment, the sign number of the normalized number is a preset positive sign number, indicating that the normalized number is a signed normalized number and is positive. The floating-point concatenation module 403 can concatenate the preset positive sign number, exponent, and mantissa together from the most significant bit to the least significant bit to obtain the target floating-point number. The sign number of the normalized number is a preset negative sign number, indicating that the normalized number is a signed normalized number and is negative. The floating-point concatenation module 403 can concatenate the preset negative sign number, exponent, and mantissa together from the most significant bit to the least significant bit to obtain the target floating-point number. If the sign number of the normalized number is nonexistent, it indicates that the normalized number is an unsigned normalized number, and it can be determined that the normalized number is positive. The floating-point concatenation module 403 can concatenate the preset positive sign number, exponent, and mantissa together from the most significant bit to the least significant bit to obtain the target floating-point number.

[0079] For example, a sign value of 1 indicates that the normalized number is negative, while a sign value of 0 or none indicates that the normalized number is positive. If the sign value of the normalized number is 0, the 0, exponent, and mantissa can be concatenated to obtain the target floating-point number. If the sign value of the normalized number is 1 or none, the 1, exponent, and mantissa can be concatenated to obtain the target floating-point number.

[0080] Understandably, the mantissa of the target floating-point number can be determined by the third shift module 401, and the exponent of the target floating-point number can be determined by the exponent addition module 402. Then, the target floating-point number can be obtained by concatenating the mantissa, exponent, and sign number according to the floating-point format through the floating-point concatenation module 403, thereby simplifying the floating-point format conversion process and improving conversion efficiency.

[0081] based on Figure 3 , Figure 6 A schematic diagram of the structure of a data format conversion device provided in this application embodiment. Figure 3 .like Figure 6 As shown, the data format conversion device may further include: a format splitting module 50, used to split the integer to be converted and the decimal to be converted from the data to be converted.

[0082] In this embodiment, the format splitting module 50 can split the integer and fractional parts of the normalized format number to obtain the integer and fractional parts to be converted. The integer to be converted is transmitted to the first shifting module 10, and the fractional part to be converted is transmitted to the second shifting module 20.

[0083] Understandably, the format splitting module 50 enables the first shift module 10 to quickly obtain the integer to be converted from any normalized format number, and enables the second shift module 20 to quickly obtain the decimal to be converted from any normalized format number; thus, the intelligence of the data format conversion device in performing format conversion on any normalized format number can be improved.

[0084] In some embodiments of this application, the format splitting module 50 is further configured to convert the normalized format number into original code data when the normalized format number is negative, to obtain the original code normalized format number; and then split the integer to be converted and the decimal to be converted from the original code normalized format number.

[0085] In this embodiment of the application, after obtaining the normalized format number, the format splitting module 50 can first determine whether the normalized format number is negative. If it is, it means that the normalized format number is two's complement data and needs to be restored to the original code data to obtain the original code normalized format number. Then, the original code normalized format number is split to obtain the integer to be converted and the decimal to be converted. Otherwise, it means that the normalized format number itself is the original code data and can be directly split to obtain the integer to be converted and the decimal to be converted.

[0086] Understandably, the format splitting module 50 can split the original code of any normalized format number into the integer and decimal parts to be converted. Thus, the mantissa obtained by the first shift module 10, the second shift module 20, the addition module 30, and the floating-point conversion module 40 is itself in the original code format and can be directly used as the mantissa of the target floating-point number, simplifying the processing of the floating-point conversion module 40. Furthermore, it improves the intelligence of the data format conversion device in converting arbitrary normalized format numbers.

[0087] Based on the above data format conversion device Figure 7 This is a flowchart illustrating a data format conversion method provided in an embodiment of this application, such as... Figure 7 As shown, the method may include: S101. The first shift module performs a first extended shift on the normalized format integer to be converted with any number of bits to obtain a shifted integer; the number of bits of the shifted integer is n times the number of bits of the integer to be converted; n is a positive integer.

[0088] S102. The normalized format number to be converted is extended and shifted by the second shift module to obtain the shifted decimal; the number of digits of the shifted decimal is the sum of the number of digits of the integer to be converted (n-1 times the number of digits) and the number of digits of the decimal to be converted.

[0089] S103. The shifted integer and the shifted decimal are added together by the addition module to obtain the shifted number.

[0090] S104. The floating-point number is converted to a floating-point format using the floating-point conversion module to obtain the floating-point format number of the shifted number; the floating-point format number of the shifted decimal is used as the target floating-point number.

[0091] It should be noted that the descriptions of S101-S104 can be found in the above description of the data format conversion device, and will not be repeated here.

[0092] It is understandable that by shifting and extending the integer part of the normalized number through the first shift module and extending and shifting the fractional part of the normalized number through the second shift module, not only is the influence of the fractional part on the value of the target floating-point number taken into account, but the extended shift can also reduce the error between the target floating-point number and the normalized number, thereby improving the accuracy of data format conversion.

[0093] In some embodiments, the method further includes: filling the integer to be converted from the least significant bit to the most significant bit n times using the first shift module to obtain the shifted integer.

[0094] In some embodiments, the method further includes: adjusting the number of digits of the decimal to be converted using the second shift module to obtain a filler number; filling the filler number n-1 times from the least significant digit to the most significant digit to obtain the integer digits of the shifted decimal; and using the decimal to be converted as the decimal digits of the shifted decimal.

[0095] In some embodiments, the method further includes: using the second shift module, if the number of digits of the integer to be converted is greater than or equal to the number of digits of the decimal to be converted, shifting the decimal to be converted to the left to the same number of digits as the integer to be converted, to obtain the filler number.

[0096] In some embodiments, the method further includes: using the second shift module, when the number of digits of the integer to be converted is less than the number of digits of the decimal to be converted, shifting the decimal to the right until the number of digits is the same as the number of digits of the integer to be converted, to obtain the filler number.

[0097] In some embodiments, the method further includes: adding the integer part of the shifted decimal to the shifted integer using the addition module to obtain the integer part of the shifted number; and using the decimal part of the shifted decimal as the decimal part of the shifted number.

[0098] In some embodiments, the floating-point conversion module further includes: a third shift module, an exponent addition module, and a floating-point concatenation module; the method further includes: shifting the decimal point of the shifted number to the left of the highest bit of the shifted number using the third shift module to obtain a left shifted number; shifting the decimal point of the left shifted number to the right until the integer part is a preset integer value to obtain a right shifted number; determining the mantissa of the floating-point number based on the right shifted number; adding the right shifted number to the bias value of the target floating-point number using the exponent addition module to obtain the exponent of the target floating-point number; and concatenating the mantissa, the exponent, and the sign number using the floating-point concatenation module according to the sign number corresponding to the normalized format number to obtain the target floating-point number.

[0099] In some embodiments, the method further includes: rounding the right-shifted number to obtain the mantissa of the target floating-point number when the number of decimal places of the right-shifted number is greater than or equal to the number of mantissa places of the target floating-point number, using the third shift module.

[0100] In some embodiments, the method further includes: using the third shift module, when the number of decimal places in the right-shifted number is less than the number of mantissa places in the target floating-point number, performing padding processing on the right-shifted number to obtain the mantissa of the target floating-point number; the padding processing involves adding a number of zeros after the decimal place of the right-shifted number; the number of zeros added is the difference between the number of mantissa places in the target floating-point number and the number of decimal places in the right-shifted number.

[0101] In some embodiments, the method further includes: splitting the integer to be converted and the decimal to be converted from the normalized format number using a format splitting module.

[0102] In some embodiments, the method further includes: converting the normalized format number into original code data to obtain the original code normalized format number when the normalized format number is negative, using the format splitting module; and then splitting the integer to be converted and the decimal to be converted from the original code normalized format number.

[0103] The following uses Unorm8 as an example to illustrate the data format conversion method provided in the embodiments of this application.

[0104] Unorm8.4 has a 4-bit decimal part. According to the following formula, unorm8.4 can be equivalently transformed into unorm16.4, where u8 is the integer part of unorm8.4 and fix4 is the decimal part.

[0105] If represented in hardware, it involves using shifters and adders to transform an Unorm 8.4 into an Unorm 16.4.

[0106] like Figure 2 As shown, the longer the unorm8.4 extension, the closer the extended unorm value with decimals and the corresponding fix value will be. For example, the precision of unorm8.4 extended to unorm24.4 and then converted to fix28 is higher than that of the original unorm8.4 converted to fix12.

[0107] The following example uses Unorm 8.4 extended to Unorm 24.4 to illustrate the subsequent conversion to float format.

[0108] First, treat unorm24.4 as fix28, which is currently in the format of 0.28. Then, we need to right-shift the decimal point to convert the original 0.28 into a data value with 1s in the integer place. The initial exponent is 0, and the exponent is decremented by one for each decimal place shifted to the right. When the decimal point reaches an integer 1, the shifting stops, and the decimal part of the current fix value is saved to the mantissa of the float. The exponent is then incremented by 127 and saved to the exponent. Finally, we obtain the converted float value.

[0109] It should be noted that this application provides a method for equivalent extension of the unorm type (corresponding to the data format conversion method described above), and converts the extended data into a float type. The width of both unorm and float is not limited; any width of unorm can be converted to any width of float. The same applies to snorm; the method is the same, except that negative numbers need to be converted back to their original form first, then the original form is extended, and finally, a 1 is filled into the sign bit of the float to indicate a negative number.

[0110] This application provides a processor that includes the data format conversion device described above.

[0111] This application provides a chip product, which includes a processor, and the processor includes the aforementioned data format conversion device.

[0112] This application provides an electronic device, which includes a processor, and the processor includes the data format conversion device described above.

[0113] Figure 8 This is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application, such as... Figure 8 As shown, the electronic device 170 includes a memory 1707, a processor 1708, and a computer program stored in the memory 1707 and executable on the processor 1708; wherein, when the processor 1708 runs the computer program, it performs the data format conversion method as described in the foregoing embodiments.

[0114] It is understood that the electronic device 170 also includes a bus system 1709; the various components in the electronic device 170 are coupled together through the bus system 1709. It is understood that the bus system 1709 is used to realize the connection and communication between these components. In addition to a data bus, the bus system 1709 also includes a power bus, a control bus, and a status signal bus.

[0115] It is understood that the memory in the embodiments of this application can be volatile memory or non-volatile memory, or both. Specifically, non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.

[0116] The methods disclosed in the embodiments of this application can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in memory. The processor reads signals from the memory and, in conjunction with its hardware, completes the steps of the aforementioned method.

[0117] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or modules can be electrical, mechanical, or other forms.

[0118] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A data format conversion device, characterized in that, The data format conversion device includes: The first shift module is used to perform a first extended shift on the integer to be converted from the normalized format number to obtain a shifted integer; the number of bits of the shifted integer is n times the number of bits of the integer to be converted; n is a positive integer; The second shift module is used to perform a second extended shift on the decimal to be converted of the normalized format number to obtain the shifted decimal; The addition module is used to add the shifted integer and the shifted decimal to obtain the shifted number; A floating-point conversion module is used to convert the shifted number to a floating-point format to obtain a floating-point format number of the shifted number; the floating-point format number of the shifted number is the target floating-point number.

2. The data format conversion device according to claim 1, characterized in that, The first shift module is further configured to continuously fill the integer to be converted from the least significant bit to the most significant bit n times to obtain the shifted integer.

3. The data format conversion device according to claim 1, characterized in that, The second shift module is further configured to adjust the number of digits of the decimal to be converted to obtain a filler number; fill the filler number n-1 times from the least significant digit to the most significant digit to obtain the integer digits of the shifted decimal; and use the decimal to be converted as the decimal digits of the shifted decimal.

4. The data format conversion device according to claim 3, characterized in that, The second shift module is further configured to, when the number of digits of the integer to be converted is greater than or equal to the number of digits of the decimal to be converted, shift the decimal to be converted to the left to the same number of digits as the integer to be converted, thereby obtaining the filler number.

5. The data format conversion device according to claim 3, characterized in that, The second shift module is further configured to, when the number of digits of the integer to be converted is less than the number of digits of the decimal to be converted, shift the decimal to be converted to the right until the number of digits is the same as the number of digits of the integer to be converted, thereby obtaining the filler number.

6. The data format conversion device according to claim 3, characterized in that, The addition module is further configured to add the integer part of the shifted decimal to the shifted integer to obtain the integer part of the shifted number; and use the decimal part of the shifted decimal as the decimal part of the shifted number.

7. The data format conversion apparatus according to any one of claims 1 to 6, characterized in that, The floating-point conversion module also includes: The third shift module is used to shift the decimal point of the shifted number to the left of the highest bit of the shifted number to obtain the left shifted number; shift the decimal point of the left shifted number to the right until the integer part is a preset integer value to obtain the right shifted number; and determine the mantissa of the floating-point number based on the right shifted number. The exponent addition module is used to add the number of bits shifted to the right to the bias value of the target floating-point number to obtain the exponent of the target floating-point number; The floating-point concatenation module is used to concatenate the mantissa, the exponent, and the sign number according to the sign number corresponding to the normalized format number to obtain the target floating-point number.

8. The data format conversion device according to claim 7, characterized in that, The third shift module is further configured to round the right-shifted number to obtain the mantissa of the target floating-point number when the number of decimal places of the right-shifted number is greater than or equal to the number of mantissa places of the target floating-point number.

9. The data format conversion device according to claim 7, characterized in that, The third shift module is further configured to perform padding on the right-shifted number when the number of decimal places of the right-shifted number is less than the number of mantissa places of the target floating-point number, so as to obtain the mantissa of the target floating-point number; the padding is to add a number of zeros after the decimal place of the right-shifted number; the number of zeros added is the difference between the number of mantissa places of the target floating-point number and the number of decimal places of the right-shifted number.

10. The data format conversion apparatus according to any one of claims 1 to 6, characterized in that, The data format conversion device further includes: The format splitting module is used to split the integer to be converted and the decimal to be converted from the normalized format number.

11. The data format conversion apparatus according to claim 10, characterized in that, The format splitting module is further configured to convert the normalized format number into original code data to obtain the original code normalized format number when the normalized format number is negative; and then split the integer to be converted and the decimal to be converted from the original code normalized format number.

12. A data format conversion method, characterized in that, The data format conversion method includes: The first shift module performs a first extended shift on the normalized format number to be converted, resulting in a shifted integer; the number of bits in the shifted integer is n times the number of bits in the integer to be converted; n is a positive integer; The normalized format number to be converted is subjected to a second extended shift through the second shift module to obtain a shifted decimal; the number of digits of the shifted decimal is the sum of n-1 times the number of digits of the integer to be converted and the number of digits of the decimal to be converted; The shifted integer and the shifted decimal are added together using the addition module to obtain the shifted number. The floating-point conversion module performs floating-point format conversion on the shifted number to obtain the floating-point format number of the shifted number; the floating-point format number of the shifted decimal is the target floating-point number.

13. A processor, characterized in that, The processor includes a data format conversion device as described in any one of claims 1 to 11.

14. A chip product, characterized in that, The chip product includes a processor, and the processor includes a data format conversion device as described in any one of claims 1 to 11.

15. An electronic device, characterized in that, The electronic device includes a processor, the processor including a data format conversion device as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Method and equipment for realizing nonstandard floating-point numbers reconstruction algorithm based on hardware acceleration

    CN107256140A

  • Data format conversion device, processor, electronic equipment and model operation method

    CN111796870A

  • Custom floating-point number additive operation method and device, terminal and medium

    CN117632078A

  • Data format conversion device and method, electronic equipment and computer storage medium

    CN118051200A

  • Data processing method and device, computer equipment and storage medium

    CN119556883A

Cited By

  • Hardware system for format conversion

    CN121213336A

  • A hardware system for format conversion

    CN121213336B