IP Library Granted Patent US 12,658,939
Granted Patent B2
US 12,658,939 · App. 18/399,455 · Granted Jun 16, 2026

Data compression method and apparatus, and data decompression method and apparatus

Inventor: Qi Xu (Shanghai, CN)
Assignee: Calterah Semiconductor Technology (Shanghai) Co., Ltd.
H03M7/40G06F3/0608G06F3/064G06F3/0673
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,658,939
App. No.
18/399,455
Granted
Jun 16, 2026
Kind
B2
Abstract

A data compression method, apparatus, a data decompression method and apparatus are provided. In the methods an apparatuses, on the basis of an average effective bit value of data in a data block and an average storage bit width occupied by e remaining part of each item of data in the compressed data block, compression of a fixed compression rate is implemented on the remaining part of the data, reducing the storage space occupied by the remaining part of the data whilst allowing for quick restoration of the compressed data into the original data.

Claims (69)

1 . A data compression method, applied to lossy compression, comprising:

acquiring a data block to be compressed;

calculating an average significant digit value of each data within the data block;

calculating and storing an average storage bit width occupied by a remainder part of each data within the data block to be compressed according to a preset compression ratio; and

dynamically shifting an original remainder part of each data within the data block according to the average significant digit value and the average storage bit width to obtain the remainder part of each data after being compressed within the data block.

2 . The data compression method according to claim 1 , wherein acquiring the data block to be compressed comprises:

acquiring data to be compressed;

chunking the data to be compressed to acquire a plurality of data blocks to be compressed; and

for any data block to be compressed, determining and storing a significant digit corresponding to each data within the data block to be compressed.

3 . The data compression method according to claim 2 , wherein dynamically shifting the original remainder part of each data within the data block comprises:

performing parallel processing on each data block obtained by the chunking, to dynamically shift the original remainder part of each data in each data block, respectively.

4 . The data compression method according to claim 2 , wherein dynamically shifting the original remainder part of each data within the data block according to the average significant digit value and the average storage bit width to obtain the remainder part of each data after being compressed within the data block comprises:

calculating a dynamic shift bit width of the original remainder part of each data within the data block according to the average significant digit value and the average storage bit width;

calculating a dynamic truncation bit width of the original remainder part of each data within the data block according to the significant digit, the average significant digit value and the average storage bit width corresponding to each data within the data block; and

shifting the original remainder part of each data within the data block by a corresponding dynamic shift bit width, and taking a corresponding dynamic truncation bit width for the highest bits to obtain the remainder part of each data after being compressed within the data block.

5 . The data compression method according to claim 4 , wherein shifting the original remainder part of each data within the data block by the corresponding dynamic shift bit width, and taking the corresponding dynamic truncation bit width for the highest bits to obtain the remainder part of each data after being compressed within the data block comprises:

obtaining the remainder part of each data after being compressed within the data block using the following formula:

M n [i]=sat _shift( D[i ],avg_ E−db,db+E[i ]−avg_ E+ 1)

wherein M n [i] is the remainder part of the i-th data after being compressed in the data block; D [i] is the original remainder part of the i-th data in the data block; avg E−db is the dynamic shift bit width of the original remainder part of the i-th data within the data block; avg_E is the average significant digit value; db is the average storage bit width; db+E[i]−avg_E+1 is the dynamic truncation bit width of the original remainder part of each data within the data block; and E [i] is the significant digit corresponding to the i-th data in the data block.

6 . The data compression method according to claim 5 , wherein the calculated dynamic shift bit width is less than 0, and the original remainder part of each data within the data block is shifted by the dynamic shift bit width to the left; or

the calculated dynamic shift bit width is greater than 0, and the original remainder part of each data within the data block is shifted by the dynamic shift bit width to the right.

7 . The data compression method according to claim 2 , wherein determining and storing the significant digit corresponding to each data within the data block to be compressed comprises:

each data within the data block is a real number, and the significant digit of each data within the data block determined and stored is the significant digit corresponding to the real number; or

each data within the data block is a complex number, and the significant digit of each data within the data block determined and stored is a largest one of the significant digits of both a real part and an imaginary part of the complex number.

8 . The data compression method according to claim 1 , wherein calculating and storing the average storage bit width occupied by the remainder part of each data within the data block to be compressed according to a preset compression ratio comprises:

acquiring a storage bit width occupied by each data when uncompressed in the data block and a storage bit width occupied by a significant digit part of each data in the data block; and

multiplying the storage bit width occupied by each data when uncompressed in the data block with the preset compression ratio, and subtracting the storage bit width occupied by the significant digit part of each data in the data block to obtain the average storage bit width occupied by the remainder part of each data in the data block.

9 . A data compression device, comprising: at least one processor, a memory, a receiver, and a transmitter, wherein:

the receiver and the transmitter are both coupled to the at least one processor; the at least one processor controls a receiving action of the receiver, and the at least one processor controls a transmitting action of the transmitter;

the memory stores computer-executable instructions; and

the at least one processor executes the computer-executable instructions stored in the memory to enable the data compression device to perform the method of claim 1 .

10 . A data decompression method, comprising:

acquiring data to be decompressed, the data comprising a significant digit corresponding to each data within a data block stored in a compression process applied to lossy compression, an average storage bit width occupied by a remainder part of each data within the data block, and the remainder part of each data after being compressed within the data block;

calculating an average significant digit value of the data in the data block according to the significant digit corresponding to each data within the data block; and

dynamically shifting the remainder part of each data after being compressed in the data block according to the average significant digit value and the average storage bit width to obtain an original remainder part of each data within the data block.

11 . The data decompression method according to claim 10 , wherein dynamically shifting the remainder part of each data after being compressed in the data block according to the average significant digit value and the average storage bit width to obtain the original remainder part of each data within the data block comprises:

calculating a dynamic shift bit width of the remainder part of each data after being compressed within the data block according to the average significant digit value and the average storage bit width; and

shifting the remainder part of each data after being compressed within the data block by a corresponding dynamic shift bit width to obtain the original remainder part of each data within the data block.

12 . The data decompression method according to claim 11 , wherein shifting the remainder part of each data after being compressed within the data block by the corresponding dynamic shift bit width to obtain the original remainder part of each data within the data block comprises:

obtaining the original remainder part of each data within the data block using the following formula:

D [i] ′=shift( Mn[i],db -avg_ E )

wherein D [i] ′ is the original remainder part of the i-th data in the data block;

M n [i] is the remainder part of the i-th data after being compressed in the data block; db-avg_E is the dynamic shift bit width of the remainder part of the i-th data after being compressed in the data block, and avg_E is the average significant digit value; and db is the average storage bit width.

13 . The data decompression method according to claim 12 , wherein the calculated dynamic shift bit width is less than 0, and the remainder part of each data after being compressed in the data block is shifted by the dynamic shift bit width to the left; or

the calculated dynamic shift bit width is greater than 0, and the remainder part of each data after being compressed within the data block is shifted by the dynamic shift bit width to the right.

14 . The data decompression method according to claim 10 , wherein:

the data to be decompressed further comprises a storage bit width occupied by each data when uncompressed in the data block stored in the compression process and a storage bit width occupied by a significant digit part of each data in the data block; and

the average storage bit width occupied by the remainder part of each data within the data block is calculated according to a preset compression ratio, comprising:

multiplying the storage bit width occupied by each data when uncompressed in the data block with the preset compression ratio, and subtracting the storage bit width occupied by the significant digit part of each data in the data block to obtain the average storage bit width occupied by the remainder part of each data in the data block.

15 . The data decompression method according to claim 10 , wherein the significant digit corresponding to each data within the data block comprises:

each data within the data block is a real number, and the significant digit of each data within the data block is the significant digit corresponding to the real number; or

each data within the data block is a complex number, and the significant digit of each data within the data block is the largest one of significant digits of both a real part and an imaginary part of the complex number.

16 . A data decompression device, comprising: at least one processor, a memory, a receiver, and a transmitter, wherein:

the receiver and the transmitter are both coupled to the at least one processor; the at least one processor controls a receiving action of the receiver, and the at least one processor controls a transmitting action of the transmitter;

the memory stores computer-executable instructions;

the at least one processor executes the computer-executable instructions stored in the memory to enable the data decompression device to perform the method of claim 10 .

17 . A method of data compression and storage, applied to lossy compression, applied to any data block to be compressed, the data block comprising at least two data to be compressed, the method comprising:

for any of the data to be compressed, compressing and storing the data to be compressed as compressed data of a data combination,

wherein the data combination comprises a significant digit unit and a remainder unit.

18 . The method according to claim 17 , further comprising:

acquiring a significant digit part of the data to be compressed,

wherein the significant digit part is retained and stored in the significant digit unit in a variable length format.

19 . The method according to claim 17 , further comprising:

acquiring a remainder part of the data to be compressed using a data compression method, wherein the data compression method comprises: acquiring a data block to be compressed; calculating an average significant digit value of each data within the data block; calculating and storing an average storage bit width occupied by a remainder part of each data within the data block to be compressed according to a preset compression ratio; and dynamically shifting an original remainder part of each data within the data block according to the average significant digit value and the average storage bit width to obtain the remainder part of each data after being compressed within the data block,

wherein the remainder part is stored in the remainder unit.

20 . A method of data decompression, applied to the compressed data of the data combination obtained using the method according to claim 17 , the method comprising:

restoring a corresponding significant digit part from the compressed data and obtaining a significant digit of the compressed data;

obtaining a remainder part of the compressed data based on the significant digit; and

obtaining a decompressed data corresponding to the compressed data based on the significant digit part and the remainder part.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2024
From: XU, QI
To: CALTERAH SEMICONDUCTOR TECHNOLOGY (SHANGHAI) CO., LTD.
Reel/Frame 066206/0489 →
Priority Claims (1)
CN 202210720880.4 · Jun 23, 2022 · national
Continuity (2)
Continuation PCTCN2022140807 · Dec 21, 2022
Related Publication 20240137043A1 · Apr 25, 2024
References Cited (19)
US 5365552A · Astle · 1994 [cited by examiner]
US 11463102B2 · Lu · 2022 [cited by examiner]
US 20030140078A1 · Feuser · 2003 [cited by applicant]
US 20140089208A1 · Humble et al. · 2014 [cited by applicant]
US 20150348231A1 · Jo · 2015 [cited by examiner]
US 20190034334A1 · Arelakis · 2019 [cited by examiner]
US 20210152183A1 · Lu · 2021 [cited by examiner]
US 20210201134A1 · Li et al. · 2021 [cited by applicant]
CN 107864379 · 2018 [cited by applicant]
CN 112134568 · 2020 [cited by applicant]
CN 112365247 · 2021 [cited by applicant]
CN 113012635 · 2021 [cited by applicant]
JP WO2016132430 · 2016 [cited by examiner]
International Search Report issued for PCT/CN2022/140807, issued Mar. 1, 2023, 4 pages. [cited by applicant]
Cho Sungyoon, et al., “A Low Complexity Baseband Signal Compression for Data Transport in LTE-A and NR Systems,” 2020 IEEE 91st Vehicular Technology Conference (VTC2020-Spring), IEEE, May 25, 2020, pp. 1-5. [cited by applicant]
Elam David, et al., “A Block Floating Point Implementation for an N-Point FFT on the TMS320C55x DSP”, Sep. 1, 2003, pp. 1-13, retrieved from the Internet:URL:https://www.ti.com/lit/an/spra948/spra948.pdf. [cited by applicant]
EP Search Report for EP Application No. EP22863691.6, dated Nov. 6, 2024. [cited by applicant]
Zhang Sai Qian, et al., “FAST: DNN Training Under Variable Precision Block Floating Point with Stochastic Rounding,” Oct. 28, 2021, pp. 1-13, retrieved from the Internet: URL:https://arxiv.org/pdf/2110.15456v1. [cited by applicant]
EP Search Report for EP Application No. 25217840.5, dated Feb. 12, 2026. [cited by applicant]