IP Library Granted Patent US 12,126,816
Granted Patent B2
US 12,126,816 · App. 18/174,299 · Granted Oct 22, 2024

Techniques for image data compression automation

Inventors: Chien-Horn Lu (Amherst, NH); Mark Hess (San Francisco, CA); William G. Tian (Campbell, CA); Angel Lopez (Newark, CA); Edmond Tam (Fremont, CA)
Assignee: BAE Systems Imaging Solutions Inc.
H04N19/167H04N19/30H04N23/80
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,126,816
App. No.
18/174,299
Granted
Oct 22, 2024
Kind
B2
Abstract

Techniques to provide compression and/or decompression. A method includes obtaining a first set of control points specifying a first set of compression ratios corresponding to respective first regions of a compression domain, and minimum and maximum uncompressed values within the compression domain. The method can further include scaling the first set of control points based on the minimum and maximum uncompressed values to obtain a scaled set of control points, wherein a first scaled control point is located at the minimum uncompressed value, and a last scaled control point is located at the maximum uncompressed value. The method can further include adjusting at least one scaled control point such that a first slope does not exceed 1. The method can further include compressing or decompressing between the compression domain and a range of compressed values, wherein a respective compression ratio corresponds to a respective slope of the set of slopes.

Claims (70)

1. A method of compression and/or decompression, the method comprising:

obtaining a set of pixel values;

obtaining a first set of control points specifying a first set of compression ratios corresponding to respective first regions of a compression domain for the pixel values;

obtaining a minimum uncompressed value within the compression domain;

obtaining a maximum uncompressed value within the compression domain;

scaling the first set of control points based on the minimum uncompressed value and the maximum uncompressed value to obtain a scaled set of control points, wherein a first scaled control point of the scaled set of control points is located at the minimum uncompressed value, and a last scaled control point of the scaled set of control points is located at the maximum uncompressed value;

adjusting at least one scaled control point of the scaled set of control points to obtain an adjusted scaled set of control points such that a slope of a set of slopes among the adjusted scaled set of control points is less than or equal to 1;

mapping between the compression domain for the pixel values and a range of compressed values, wherein mapping comprises

compressing from the compression domain into the range of compressed values, or

decompressing from the range of compressed values into the compression domain; and

obtaining an updated minimum uncompressed value and an updated maximum uncompressed value;

rescaling the scaled set of control points based on the updated minimum uncompressed value and the updated maximum uncompressed value to obtain a rescaled set of control points, wherein a first rescaled control point is located at the updated minimum uncompressed value, and a last rescaled control point is located at the updated maximum uncompressed value; and

readjusting at least one rescaled control point of the rescaled set of control points such that an updated slope of a set of updated slopes among the rescaled set of control points is less than or equal to 1.

2. The method of claim 1 , wherein adjusting the at least one scaled control point comprises increasing a location of the at least one scaled control point such that the slope substantially equals 1.

3. The method of claim 1 , further comprising decreasing a location of the at least one scaled control point such that an average slope between the at least one scaled control point and the last scaled control point substantially equals 1.

4. The method of claim 1 , wherein the slope is a first slope, and adjusting the at least one scaled control point further comprises adjusting a plurality of scaled control points such that the first slope and a second slope of the set of slopes are less than or equal to 1.

5. The method of claim 1 , wherein:

the adjusted scaled set of control points specifies an adjusted scaled set of compression ratios corresponding to respective adjusted scaled regions of the compression domain;

a respective adjusted scaled compression ratio of the adjusted scaled set of compression ratios is substantially proportional to a respective slope of the set of slopes; and

mapping between the compression domain and the range of compressed values comprises mapping between a respective adjusted scaled region and the range of compressed values according to a respective adjusted scaled compression ratio corresponding to the respective adjusted scaled region.

6. The method of claim 1 , wherein a respective control point of the scaled set of control points comprises:

a respective location corresponding to an uncompressed value within the compression domain; and

a respective compressed value within the range of compressed values.

7. The method of claim 6 , wherein a respective slope of the set of slopes corresponds to a difference between the respective compressed value and a previous value divided by a difference between the respective location and a previous location.

8. The method of claim 1 , wherein scaling the set of control points comprises linearly scaling the set of control points.

9. An imaging system, comprising:

an imaging device configured to obtain a set of pixel values; and

a processing device configured to

obtain a first set of control points specifying a first set of compression ratios corresponding to respective first regions of a compression domain for the pixel values;

obtain a minimum uncompressed value within the compression domain;

obtain a maximum uncompressed value within the compression domain;

scale the first set of control points based on the minimum uncompressed value and the maximum uncompressed value to obtain a scaled set of control points, wherein a first scaled control point of the scaled set of control points is located at the minimum uncompressed value, and a last scaled control point of the scaled set of control points is located at the maximum uncompressed value;

adjust at least one scaled control point of the scaled set of control points to obtain an adjusted scaled set of control points such that a slope of a set of slopes among the adjusted scaled set of control points is less than or equal to 1;

map between the compression domain for the pixel values and a range of compressed values, wherein to map comprises

to compress from the compression domain into the range of compressed values, or

to decompress from the range of compressed values into the compression domain; and

obtain an updated minimum uncompressed value and an updated maximum uncompressed value;

rescale the set of control points based on the updated minimum uncompressed value and the updated maximum uncompressed value such that a first rescaled control point is located at the updated minimum uncompressed value, and a last rescaled control point is located at the updated maximum uncompressed value; and

readjust at least one rescaled control point of the rescaled set of control points such that an updated slope of a set of updated slopes is less than or equal to 1.

10. The imaging system of claim 9 , wherein to adjust the at least one scaled control point comprises to increase a location of the at least one scaled control point such that the slope substantially equals 1.

11. The imaging system of claim 9 , wherein the processing device is further configured to decrease a location of the at least one scaled control point such that an average slope between the at least one scaled control point and the last scaled control point substantially equals 1.

12. The imaging system of claim 9 , wherein the slope is a first slope, and to adjust the at least one scaled control point further comprises to adjust a plurality of scaled control points such that the first slope and a second slope of the set of slopes are less than or equal to 1.

13. The imaging system of claim 9 , wherein:

the adjusted scaled set of control points specifies an adjusted scaled set of compression ratios corresponding to respective adjusted scaled regions of the compression domain;

a respective adjusted scaled compression ratio of the adjusted scaled set of compression ratios is substantially proportional to a respective slope of the set of slopes; and

to map between the compression domain and the range of compressed values comprises to map between a respective adjusted scaled region and the range of compressed values according to a respective adjusted scaled compression ratio corresponding to the respective adjusted scaled region.

14. The imaging system of claim 9 , wherein a respective control point of the scaled set of control points comprises:

a respective location corresponding to an uncompressed value within the compression domain; and

a respective compressed value within the range of compressed values.

15. The imaging system of claim 14 , wherein a respective slope of the set of slopes corresponds to a difference between the respective compressed value and a previous value divided by a difference between the respective location and a previous location.

16. One or more non-transitory machine-readable mediums storing instructions that when executed by one or more processors cause a compression and/or decompression process to be carried out to:

obtain a set of pixel values;

obtain a first set of control points specifying a first set of compression ratios corresponding to respective first regions of a compression domain for the pixel values;

obtain a minimum uncompressed value within the compression domain;

obtain a maximum uncompressed value within the compression domain;

scale the first set of control points based on the minimum uncompressed value and the maximum uncompressed value to obtain a scaled set of control points, wherein a first scaled control point of the scaled set of control points is located at the minimum uncompressed value, and a last scaled control point of the scaled set of control points is located at the maximum uncompressed value;

adjust at least one scaled control point of the scaled set of control points to obtain an adjusted scaled set of control points such that a slope of a set of slopes among the adjusted scaled set of control points is less than or equal to 1;

map between the compression domain for the pixel values and a range of compressed values,

wherein to map comprises

to compress from the compression domain into the range of compressed values, or

to decompress from the range of compressed values into the compression domain, and

wherein to map is based on a respective compression ratio corresponding to a respective slope of the set of slopes; and

obtain an updated minimum uncompressed value and an updated maximum uncompressed value;

rescale the set of control points based on the updated minimum uncompressed value and the updated maximum uncompressed value such that a first rescaled control point is located at the updated minimum uncompressed value, and a last rescaled control point is located at the updated maximum uncompressed value; and

readjust at least one rescaled control point of the rescaled set of control points such that an updated slope of a set of updated slopes is less than or equal to 1.

17. The one or more non-transitory machine-readable mediums of claim 16 , wherein to adjust the at least one scaled control point comprises to increase a location of the at least one scaled control point such that the slope substantially equals 1.

18. The one or more non-transitory machine-readable mediums of claim 16 , wherein a respective control point of the scaled set of control points comprises:

a respective location corresponding to an uncompressed value within the compression domain; and

a respective compressed value within the range of compressed values; and

wherein a respective slope of the set of slopes corresponds to a difference between the respective compressed value and a previous value divided by a difference between the respective location and a previous location.

Assignments (3)
CHANGE OF NAME Recorded Dec 6, 2024
From: BAE SYSTEMS IMAGING SOLUTIONS INC.
To: FAIRCHILD IMAGING, INC.
Reel/Frame 069531/0646 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ADD THE FIFTH INVENTOR EDMUND TAM PREVIOUSLY RECORDED AT REEL: 062822 FRAME: 0078. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 12, 2023
From: LU, CHIEN-HORN; HESS, MARK; TIAN, WILLIAM; LOPEZ, ANGEL ROGELIO; TAM, EDMOND
To: BAE SYSTEMS IMAGING SOLUTIONS INC.
Reel/Frame 064781/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2023
From: LU, CHIEN-HORN; HESS, MARK; TIAN, WILLIAM; LOPEZ, ANGEL ROGELIO
To: BAE SYSTEMS IMAGING SOLUTIONS INC.
Reel/Frame 062822/0078 →
Continuity (1)
Related Publication 20240292002A1 · Aug 29, 2024