IP Library Granted Patent US 12,581,080
Granted Patent B2
US 12,581,080 · App. 17/786,126 · Granted Mar 17, 2026

System and method for compression of data stream

Inventors: Fabien Racape (Los Altos, CA); Swayambhoo Jain (Los Altos, CA); Shahab Hamidi-Rad (Los Altos, CA); Jean Begaint (Los Altos, CA)
Assignee: InterDigital Madison Patent Holdings, SAS
H04N19/13H04N19/184H04N19/70
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,581,080
App. No.
17/786,126
Granted
Mar 17, 2026
Kind
B2
Abstract

Procedures, methods, architectures, apparatuses, systems, devices, and computer program products, according to a first aspect, for compressing data including encoding at least one information representative of a use, during the compression, of a compressed sparse format. Procedures, methods, architectures, apparatuses, systems, devices, and computer program products, according to a second aspect, for decompressing input data comprising obtaining information representative of zero or non-zero values in at least a part of the input data, and using only the non-zero values of the zero or non-zero values for a further processing of the part of the input data, based on the representative information.

Claims (25)

1 . A method for decoding a bitstream comprising, coded data representative of a weight matrix of at least one Deep Neural Network (DNN), wherein a not compressed sparse representation of the weight matrix is coded with Context-Adaptive Binary Adaptive Coding (CABAC), the method comprising:

decoding a respective significance flag (SigFlag) for a plurality of coefficients of the weight matrix in the not compressed sparse representation, wherein the respective SigFlags for each of the plurality of coefficients of the weight matrix are included in a significance map, wherein each respective SigFlags is decoded by parsing the significance map, and wherein the significance map is decoded separately from one or more bins representing weight values in the bitstream;

determining whether the respective SigFlag for each of the plurality of coefficients is a zero value or a non-zero value; and

storing a compressed sparse representation of the weight matrix by determining a first part of the compressed sparse representation of the weight matrix based on the respective SigFlags for each of the plurality of coefficients, wherein the first part of the compressed sparse representation comprises numbers of consecutive zero-coefficients preceding a non-zero coefficient.

2 . The method of claim 1 , wherein the compressed sparse representation of the weight matrix is determined without using coefficients of the plurality of coefficients that have been determined to have a SigFlag with a zero value.

3 . The method of claim 1 , wherein the compressed sparse representation of the weight matrix is determined without loading a full tensor associated with the bitstream.

4 . The method of claim 1 , wherein determining the compressed sparse representation of the weight matrix comprises building a sparse tensor having a compressed sparse format based on information obtained for weights of the at least one layer of at least one DNN.

5 . The method of claim 1 , wherein the compressed sparse representation is a Compressed Sparse Row (CSR).

6 . The method of claim 1 , further comprising receiving the bitstream comprising the coded data.

7 . The method of claim 6 , wherein the compressed sparse representation is updated as coefficients of the weight matrix of the received bitstream are decoded.

8 . The method of claim 1 , further comprising decoding a layer parameter set prior to decoding the respective SigFlags.

9 . The method of claim 1 , wherein the first part of the compressed sparse representation is stored in a first vector and a second part of the compressed sparse representation is stored in a second vector, the second part of the compressed sparse representation comprising non-zero coefficients, and wherein the first vector and second vector have equal lengths.

10 . A decoding device for decoding a bitstream comprising coded data representative of a weight matrix of at least one Deep Neural Network (DNN), wherein a not compressed sparse representation of the weight matrix is coded with Context-Adaptive Binary Adaptive Coding (CABAC), the decoding device comprising:

a processor configured to:

decode one or more respective significance flag (SigFlag) for a plurality of coefficients of the weight matrix, wherein the respective SigFlags for each of the plurality of coefficients of the weight matrix are included in a significance map, wherein the respective SigFlags is decoded by parsing the significance map, and wherein the significance map is decoded separately from one or more bins representing weight values in the bitstream;

determine whether the respective SigFlag for each of the plurality of coefficients is a zero value or a non-zero value; and

store a compressed sparse representation of the weight matrix by determining a first part of the compressed sparse representation of the weight matrix based on the respective SigFlags for each of the plurality of coefficients, wherein the first part of the compressed sparse representation comprises numbers of consecutive zero-coefficients preceding a non-zero coefficient.

11 . The decoding device of claim 10 , wherein the compressed sparse representation of the weight matrix is determined without using coefficients of the plurality of coefficients that have been determined to have a SigFlag with a zero value.

12 . The decoding device of claim 10 , wherein the compressed sparse representation of the weight matrix is determined without loading a full tensor associated with the bitstream.

13 . The decoding device of claim 10 , wherein being configured to determine the compressed sparse representation of the weight matrix comprises being configured to build a sparse tensor having a compressed sparse format based on information obtained for weights of the at least one layer of at least one Deep Neural Network.

14 . The decoding device of claim 10 , wherein the compressed sparse representation is a Compressed Sparse Row (CSR).

15 . The decoding device of claim 10 , wherein the processor is further configured to receive the bitstream that comprises the coded data.

16 . The decoding device of claim 15 , wherein the compressed representation is updated as coefficients of the weight matrix of the received bitstream are decoded.

17 . The decoding device of claim 10 , wherein the processor is further configured to decode a layer parameter set prior to decoding the respective SigFlags.

18 . The decoding device of claim 10 , wherein the first part of the compressed sparse representation is stored in a first vector and a second part of the compressed sparse representation is stored in a second vector, the second part of the compressed sparse representation comprising non-zero coefficients, and wherein the first vector and second vector have equal lengths.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2023
From: VID SCALE, INC.
To: INTERDIGITAL MADISON PATENT HOLDINGS, SAS
Reel/Frame 065468/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2022
From: RECAPE, FABIEN; JAIN, SWAYAMBHOO; HAMIDI-RAD, SHAHAB; BEGAINT, JEAN
To: VID SCALE, INC.
Reel/Frame 060231/0415 →
Continuity (2)
Provisional Application 62951103 · Dec 20, 2019
Related Publication 20230014367A1 · Jan 19, 2023
References Cited (21)
US 20120057799A1 · Nguyen et al. · 2012 [cited by applicant]
US 20120257799A1 · Yano et al. · 2012 [cited by applicant]
US 20120263238A1 · Miyoshi · 2012 [cited by examiner]
US 20130272414A1 · Sole Rojals · 2013 [cited by examiner]
US 20140023137A1 · Goedeken · 2014 [cited by applicant]
US 20190197420A1 · Singh · 2019 [cited by examiner]
US 20220086506A1 · Wang · 2022 [cited by examiner]
CN 109961392A · 2019 [cited by applicant]
WO WO2019008661A1 · 2019 [cited by applicant]
Working Draft 2 of Compression of Neural Networks for Multimedia Content Description and Analysis, 128. MPEG Meeting (Motion Picture Expert Group or 1S0/IEC JTC1/SC29/WG11), Oct. 7, 2019-Oct. 11, 2019, Geneva. (Year: 20… [cited by examiner]
Minezawa et al. “Proposed high-level syntax specification for ISO/IE C 1 5938-1 7”, 128. MPEG Meeting (Motion Picture Expert Group or 1S0/IEC JTC1/SC29/WG11), Oct. 7, 2019-Oct. 11, 2019, Geneva. (Year: 2019). [cited by examiner]
Aiyoub Farzaneh, Hossein Kheiri and Mehdi Abbaspour Shahmersi, “An Efficient Storage Format for Large Sparse Matrices”, Commun. Fac. Sci. Univ. Ank. Series A1, vol. 58, No. 2, pp. 1-10, 2009. (Year: 2009). [cited by examiner]
Coding of Moving Pictures and Audio; ISO/IEC JTC1/SC29/WG11/N18784, “Working Draft 2 of Compression of neural networks for multimedia content description and analysis”; Video Subgroup; Oct. 2019, Geneva, CH, 26 pages. [cited by applicant]
Coding of Moving Pictures and Audio; ISO/IEC JTC1/SC29/WG11 MPEG2019/m50648, “Proposed high-level syntax specification for ISO/IEC 15938-17”; Mitsubishi Electric Corporation; Oct. 7-11, Geneva, CH, 9 pages. [cited by applicant]
Wiedeman et al., “Compact and computationally efficient representation of deep neural networks” IEEE transactions on neural networks and learning systems, 2019, 17 pages. [cited by applicant]
Han et al., “EIE: efficient inference engine on compressed deep neural network” ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), 2016, p. 243-254., 12 pages. [cited by applicant]
Wang et al., “Deep Neural Network Approximation for Custom Hardware: Where We've Been, Where We're Going” ACM Computing Surveys (CSUR), vol. 52, No. 2, p. 40, 2019, 37 pages. [cited by applicant]
Wiedeman et al. “DeepCABAC: Context-adaptive binary arithmetic coding for deep neural network compression” arXiv preprint arXiv: 1905.08318, 2019, 5 pages. [cited by applicant]
Anonymous, “High Efficiency Video Coding”, International Telecommunications Union (ITU), Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services—Coding of moving video, International Telecomm… [cited by applicant]
Anonymous, “Audiovisual and Multimedia Systems Infrastructure of audiovisual services—Coding of moving video,—Information Technology—Generic coding of moving pictures and associated audio information: Video: Frame packi… [cited by applicant]
Anonymous, “Audiovisual and Multimedia Systems Infrastructure of audiovisual services—Transmission multiplexing and synchronization—Information Technology—Generic coding of moving pictures and associated audio informati… [cited by applicant]