IP Library Granted Patent US 9,686,560
Granted Patent B2
US 9,686,560 · App. 14/629,140 · Granted Jun 20, 2017

Lossless data compression and decompression apparatus, system, and method

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 9,686,560
App. No.
14/629,140
Granted
Jun 20, 2017
Kind
B2
Abstract

An apparatus for compressing a video image file is disclosed. The image file includes line segments having a length of M pixels of N bits and a header of H bits. Each pixel is represented by t bits. The apparatus includes a circuit configured to read a first number of unencoded pixel values in a first line segment and read a second number of unencoded pixel values of a second line segment are read. The first and second line segments preceded by a header of H bits and each pixel value is represented by t bits. The differences between each of the first and second unencoded pixel values is determined. The differences between each of the first and second unencoded pixel values encoded only using a smallest number of bits t for a given number of bits for each pixel value in the segment, wherein t is defined as an integer between 1 and N.

Claims (34)

1. An apparatus for compressing a video image file, the image file comprising a plurality of line segments, each line segment having a length of M pixels and a header of H bits, and each pixel is represented by t bits, the apparatus comprising a circuit configured to:

read, from an unencoded image file, a first number of unencoded pixel values in a first line segment having a first segment length M pixels;

read, from the unencoded image file, a second number of unencoded pixel values of a second line segment having a second segment length of M pixels;

determine the differences between each of the first and second unencoded pixel values;

write a header of H bits containing T bits representing value t and E bits for extra information; and

encode only the differences between each of the first and second unencoded pixel values using a smallest number of bits t required to represent each of the differences, wherein t is defined as an integer between 1 and N.

2. The apparatus of claim 1 , wherein the circuit is configured to assign a predetermined number of bits of the header of a current segment to represent the number of bits t required to encode the segment differences between the first and second line segments.

3. The apparatus of claim 2 , wherein the circuit is configured to determine the minimum and the maximum differences between each of the first and second pixel values in the second line segment.

4. The apparatus of claim 3 , wherein the circuit is configured to determine if the minimum and the maximum differences both fit in a signed number of 1 to (N−1) bits, and if not, then write the unencoded pixel values instead of the differences between each of the first and second pixel values.

5. The apparatus of claim 4 , wherein the circuit is configured to interpret the first and second pixel values as a signed number.

6. The apparatus of claim 5 , wherein the circuit is configured to truncate the differences between each of the first and second pixel values to N bits.

7. The apparatus of claim 6 , wherein the circuit is configured to output the header followed by the differences between each of the first and second pixel values using t bits so the total number of bits used is given by the relationship: H+M*t.

8. The apparatus of claim 1 , wherein the circuit is configured to:

define an offset using the remaining E=H−T bits of the header; and

reduce the smallest number of bits t required to represent each of the differences.

9. The apparatus of claim 1 , wherein the circuit is configured to:

employ the remaining E=H−T bits of the header when the t value is set to “Full Bytes”; and

encode two half-length segments.

10. The apparatus of claim 1 , wherein the circuit is configured to use the last unused header value for other compression schemes.

11. The apparatus of claim 1 , wherein the circuit is implemented on a field programmable gate array (FPGA).

12. The apparatus of claim 1 , wherein the circuit is embedded in a machine vision gigabit Ethernet camera.

13. The apparatus of claim 1 , wherein the circuit is configured to communicate compressed data over a gigabit Ethernet link.

14. An apparatus for compressing a video image file, the image file comprising a plurality of line segments, each line segment having a length of M pixels and a header of H bits, and each pixel is represented by t bits, the apparatus comprising a circuit configured to:

read, from an unencoded image file, a first number of unencoded pixel values in a first line segment having a first segment length of M pixels;

read, from the unencoded image file, a second number of unencoded pixel values of a second line segment having a second segment length of M pixels;

determine the differences between each of the first and second unencoded pixel values;

write a header of H bits containing T bits representing value t and E bits for extra information;

encode only the differences between each of the first and second unencoded pixel values using a smallest number of bits t for a given number of bits for each pixel value in the segment, wherein t is defined as an integer between 1 and N;

assign a predetermined number of bits of the header of a current segment to represent the number of bits t required to encode the segment differences between the first and second line segments;

determine the minimum and the maximum differences between each of the first and second pixel values in the second line segment; and

determine the worst difference values that both fit in a signed number of 1 to (N−1) bits otherwise writing a real value of N bits for each pixel value instead of the differences between each of the first and second pixel values.

15. The apparatus of claim 13 , wherein the circuit is configured to interpret the first and second pixel values as a signed number.

16. The apparatus of claim 14 , wherein the circuit is configured to truncate the differences between each of the first and second pixel values to N bits.

17. The apparatus of claim 15 , wherein the circuit is configured to output the header followed by the differences between each of the first and second pixel values using t bits so the total number of bits used is given by the relationship: H+M*t.

Assignments (2)
MERGER Recorded Jan 4, 2019
From: TELEDYNE DALSA, INC.
To: TELEDYNE DIGITAL IMAGING, INC.
Reel/Frame 047908/0135 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2016
From: SICARD, PATRICK
To: TELEDYNE DALSA, INC.
Reel/Frame 038436/0013 →