IP Library Granted Patent US 12,732,209
Granted Patent B2
US 12,732,209 · App. 18/827,322 · Granted Sep 8, 2026

Efficient data compression in processing systems

Inventors: Jian Shen (San Diego, CA); Jamie Menjay Lin (San Diego, CA)
Assignee: QUALCOMM Incorporated
H03M7/3062G06F5/01G06F7/50H03M7/3066H03M7/6005H03M7/6011
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,732,209
App. No.
18/827,322
Granted
Sep 8, 2026
Kind
B2
Abstract

Certain aspects of the present disclosure provide techniques and apparatus for efficiently performing operations using data compression. An example method generally includes identifying, for a block of data samples, a number of leading bits to remove from each data sample in the block of data samples. A block of compressed data samples is generated based on the identified number of leading bits and truncation of a number of least significant bits from each data sample in the block of data samples. A bitstream including the block of compressed data samples and an indication of a type of compression applied to the block of data samples is generated and output for further processing.

Claims (39)

1 . A method for data compression, comprising:

identifying, for a block of data samples, a number of leading bits to remove from each data sample in the block of data samples;

generating a block of compressed data samples based on the identified number of leading bits and truncation of a number of least significant bits from each data sample in the block of data samples;

generating a bitstream including the block of compressed data samples and an indication of a type of compression applied to the block of data samples; and

outputting the generated bitstream.

2 . The method of claim 1 , wherein the indication of the type of compression applied to the block of data samples comprises a first header indicating whether the bitstream includes compressed data and a second header indicating the number of leading bits removed from each data sample in the block of compressed data samples, the second header being located subsequent to the first header in the generated bitstream.

3 . The method of claim 2 , wherein the second header comprises a single field indicating the number of leading bits removed from each data sample in the block of compressed data samples.

4 . The method of claim 3 , further comprising:

receiving the generated bitstream and,

for each respective compressed data sample in the block of compressed data samples in the received bitstream:

adding the number of leading bits as most significant bits to the respective compressed data sample; and

adding the number of truncated least significant bits to the respective compressed data sample.

5 . The method of claim 1 , wherein the indication of the type of compression applied to the block of data samples comprises a first header indicating whether the bitstream includes compressed data and a plurality of second headers, and wherein each second header of the plurality of second headers identifies the number of leading bits removed from each data sample in a corresponding block of compressed data samples.

6 . The method of claim 5 , further comprising:

receiving the generated bitstream; and

for each respective compressed data sample in the block of compressed data samples:

adding the number of leading bits identified in a corresponding second header as most significant bits to the respective compressed data sample;

reconstructing the block of data samples based on the block of compressed data samples and the indicated type of compression applied to the plurality of data samples.

7 . The method of claim 1 , wherein generating the block of compressed data samples comprises, for each respective data sample in the block of data samples:

applying a right shift to the respective data sample according to the number of least significant bits identified for truncation, wherein a most significant bit of the least significant bits identified for truncation is designated as a carry bit; and

adding the carry bit to the right-shifted respective data sample.

8 . A method for data decompression, comprising:

receiving a bitstream including a block of compressed data samples and an indication of a type of compression applied to the block of compressed data samples;

generating a reconstructed data block by reconstructing each respective compressed data sample in the block of compressed data samples based on the indicated type of compression applied to the block of compressed data samples, wherein reconstructing each respective compressed data sample comprises adding a number of leading bits and a number of trailing bits to each respective compressed data sample based on the indicated type of compression applied to the block of compressed data samples; and

outputting the reconstructed data block.

9 . The method of claim 8 , wherein the indication of the type of compression applied to the block of data samples comprises a first header indicating whether the bitstream includes compressed data and a second header indicating the number of leading bits removed from each data sample in the block of compressed data samples, the second header being located subsequent to the first header in the received bitstream.

10 . The method of claim 9 , wherein the second header comprises a single field indicating the number of leading bits to add to each compressed data sample in the block of compressed data samples.

11 . The method of claim 10 , wherein generating the reconstructed data block comprises, for each respective compressed data sample:

adding the number of leading bits as most significant bits to the respective compressed data sample; and

adding the number of trailing bits as least significant bits to the respective compressed data sample.

12 . The method of claim 8 , wherein the indication of the type of compression applied to the block of data samples comprises a first header indicating whether the bitstream includes compressed data and a plurality of second headers, and wherein each second header of the plurality of second headers identifies the number of leading bits removed from each data sample in a corresponding block of compressed data samples.

13 . The method of claim 12 , wherein generating the reconstructed data block comprises, for each respective compressed data sample:

adding the number of leading bits identified in a corresponding second header as most significant bits to the respective compressed data sample; and

reconstructing the block of data samples based on the block of compressed data samples and the indicated type of compression applied to the plurality of data samples.

14 . The method of claim 8 , wherein reconstructing each respective compressed data sample in the block of compressed data samples comprises applying a left shift to the respective data sample according to the number of trailing bits to add to each respective compressed data sample.

15 . An arithmetic shifter for compressing data, comprising:

an arithmetic right shifter configured to shift a value in an input register by a number of bits;

a multiplexer configured to output a carry bit from the number of bits based on a selector signal identifying that a compression operation is being executed; and

an adder configured to add the shifted value generated by the arithmetic right shifter to an output of the multiplexer, wherein a data compression operation executed using the arithmetic shifter comprises an operation executable via invoking a single instruction on a processing system including the arithmetic shifter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2024
From: SHEN, JIAN; LIN, JAMIE MENJAY
To: QUALCOMM INCORPORATED
Reel/Frame 068860/0011 →
Continuity (1)
Related Publication 20260074713A1 · Mar 12, 2026
References Cited (8)
US 11757469B2 · Kulkarni et al. · 2023 [cited by applicant]
US 11863208B2 · Fenney · 2024 [cited by examiner]
US 20190087713A1 · Lamb · 2019 [cited by examiner]
“Information technology—Multimedia content description interface—Part 17: Compression of Neural Networks for Multimedia Content Description and Analysis”, ISO/IEC 15938-172024, IEC, 3, Rue De Varembe, Po Box 131, CH-121… [cited by applicant]
International Search Report and Written Opinion—PCT/US2025/044230—ISA/EPO—Jan. 5, 2026. [cited by applicant]
Kim J., et al., “TruncQuant: Truncation-Ready Quantization for DNNs with Flexible Weight Bit Precision”, Jun. 13, 2025, 7 Pages, XP093343032. [cited by applicant]
Li S., et al., “SWIS—Shared Weight blt Sparsity for Efficient Neural Network Acceleration”, arxivorg, Mar. 3, 2021, 8 Pages, XP081904072, abstract pp. 3,5 figures 4,5. [cited by applicant]
Qualcomm: “Qualcomm Hexagon V69 HVX Programmer's Reference Manual”, Qualcomm technologies, HVX Instruction Set, 80-N2040-49 Rev. AA, Jan. 11, 2022, pp. 1-297. [cited by applicant]