IP Library Granted Patent US 11,074,723
Granted Patent B2
US 11,074,723 · App. 16/357,882 · Granted Jul 27, 2021

Lossless compression of fragmented image data

Inventors: Moses Charikar (Princeton, NJ); Deepa Ramakrishna (Princeton, NJ)
Assignee: EMC IP Holding Company LLC
G06T9/00G06T9/005H04N19/13H04N19/146H04N19/182H04N19/60H04N19/88
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 11,074,723
App. No.
16/357,882
Granted
Jul 27, 2021
Kind
B2
Abstract

Lossless compression of fragmented image data is disclosed. In some embodiments, a stream of information comprising data elements having statistical characteristics is received. An encoded output is produced by an encoder comprising a data compressor that implements a variable length code that is adapted to the statistical characteristics of the data elements. The output and information from which the variable length code can be derived are stored.

Claims (40)

1. A system, comprising:

a processor configured to:

obtain a data input sequence comprising data elements; and

generate a compressed output corresponding to the data elements, wherein:

the compressed output is generated based at least in part on performing one or more transformations with respect to the data input sequence to exploit one or more continuity properties of information obtained based at least in part on the data input sequence;

the compressed output is generated based at least in part on a grouping of the data elements into intervals, the data elements being grouped based at least in part on one or more properties of the data elements and according to one or more thresholds, the one or more thresholds being determined according to one or more of a distribution of values in corresponding intervals and a frequency of values in the corresponding intervals; and

the compressed output is further generated by converting each of the data elements into a level and value pair representation according to the determined one or more thresholds, wherein the level specifies high order bits and the value specifies low order bits, and encoding the levels of the data elements using a variable length code adapted to the one or more properties of levels of the data elements; and

a memory that stores the compressed output.

2. The system of claim 1 , wherein the data input sequence corresponds to information that is received from one or more channels, and the compressed output is generated based at least in part on using at least one of a lossless coding, a Huffman code, or a variable length code.

3. The system of claim 1 , wherein the data input sequence corresponds to information that is received from one or more channels, and the one or more thresholds are determined according to one or more of a distribution of values in corresponding intervals and a frequency of values in the corresponding intervals.

4. The system of claim 1 , wherein the data input sequence corresponds to information that is received from one or more channels, and the performing the one or more transformations is performed with respect to the data input sequence to exploit one or more continuity properties of information received from a plurality of the one or more channels or based at least in part on one or more continuity properties of information received within one of the one or more channels.

5. The system of claim 1 , wherein the determined one or more thresholds are data type adaptive and depend on the kind of data comprising the data input sequence.

6. The system of claim 1 , wherein the determined one or more thresholds are data instance adaptive and depend on the actual data comprising the data input sequence.

7. The system of claim 1 , wherein the compressed output comprises information for reconstructing the variable length code, the encoded levels, and unencoded value bits.

8. The system of claim 1 , wherein the level and value pair representation correspond to one of a signed representation or an unsigned representation.

9. The system of claim 1 , wherein the level and value pair representation correspond to an unsigned representation and signs of the data elements are represented separately in the compressed output.

10. The system of claim 1 , wherein the variable length code adapted to one or more properties of the levels of the data elements is adapted to the frequencies of the levels of the data elements.

11. The system of claim 1 , wherein in a level and value pair representation of a data element, the level component specifies an interval in which the data element falls and the value component specifies a particular integer in that interval.

12. The system of claim 1 , wherein to encode the levels comprises to encode each level using information about a previous level in the sequence.

13. The system of claim 1 , wherein to encode the levels comprises to divide the levels into groups and generate a separate variable length code for each group.

14. The system of claim 1 , wherein the one or more transforms increases compressibility of at least part of the data elements.

15. The system of claim 1 , wherein the compressed output comprises a lossless compression of the data input sequence.

16. The system of claim 1 , wherein the data input sequence correspond to a fragment of an image.

17. The system of claim 16 , wherein the fragment is independently compressed and decompressed.

18. A method, comprising:

obtaining a data input sequence comprising data elements;

generating a compressed output corresponding to the data elements; and

storing the compressed output,

wherein:

the compressed output is generated based at least in part on performing one or more transformations with respect to the data input sequence to exploit one or more continuity properties of information obtained based at least in part on the data input sequence;

the compressed output is generated based at least in part on a grouping of the data elements into intervals, the data elements being grouped based at least in part on one or more properties of the data elements and according to one or more thresholds, the one or more thresholds being determined according to one or more of a distribution of values in corresponding intervals and a frequency of values in the corresponding intervals; and

the compressed output is further generated by converting each of the data elements into a level and value pair representation according to the determined one or more thresholds, wherein the level specifies high order bits and the value specifies low order bits, and encoding the levels of the data elements using a variable length code adapted to the one or more properties of levels of the data elements.

19. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

obtaining a data input sequence comprising data elements;

generating a compressed output corresponding to the data elements; and

storing the compressed output,

wherein:

the compressed output is generated based at least in part on performing one or more transformations with respect to the data input sequence to exploit one or more continuity properties of information obtained based at least in part on the data input sequence;

the compressed output is generated based at least in part on a grouping of the data elements into intervals, the data elements being grouped based at least in part on one or more properties of the data elements and according to one or more thresholds, the one or more thresholds being determined according to one or more of a distribution of values in corresponding intervals and a frequency of values in the corresponding intervals; and

the compressed output is further generated by converting each of the data elements into a level and value pair representation according to the determined one or more thresholds, wherein the level specifies high order bits and the value specifies low order bits, and encoding the levels of the data elements using a variable length code adapted to the one or more properties of levels of the data elements.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2019
From: CHARIKAR, MOSES; RAMAKRISHNA, DEEPA
To: EMC CORPORATION
Reel/Frame 048651/0749 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050151/0001 →
Continuity (4)
Continuation 15598678 · May 18, 2017
Continuation 13931989 · Jun 30, 2013
Provisional Application 61691735 · Aug 21, 2012
Related Publication 20190213758A1 · Jul 11, 2019