IP Library Granted Patent US 8,599,214
Granted Patent B1
US 8,599,214 · App. 12/698,048 · Granted Dec 3, 2013

Image compression method using dynamic color index

Inventors: William John Dall (New Westminster, CA); David Victor Hobbs (Surrey, CA)
Assignee: Teradici Corporation
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 8,599,214
App. No.
12/698,048
Granted
Dec 3, 2013
Kind
B1
Abstract

A method for communicating an image section between a first computer and a second computer, the first computer adapted for remotely coupling to the second computer via a network. The method comprises determining, by the first computer, a color table comparison result for an input pixel value, the color table comparison result identifying one of (i) an indexed color value of a color table, the indexed color value approximating the input pixel value, or (ii) an absence in the color table of any color value approximating the input pixel value; generating, based on the color table comparison result, encoded data comprising one of a derivative of the input pixel value or an index for the indexed color value; communicating, to the second computer, the encoded data; and updating the color table according to the color table comparison result.

Claims (34)

1. A method for communicating an image section between a first computer and a second computer, the first computer adapted for remotely coupling to the second computer via a network, the method comprising:

determining an image type of an input pixel value based on an analysis of the image section, the image type selected from a list comprising text and picture;

determining an error threshold based on the image type;

determining, by the first computer, a color table comparison result for the input pixel value, the color table comparison result identifying one of (i) an indexed color value of a color table, the indexed color value within the error threshold of the input pixel value, or (ii) an absence in the color table of any color value within the error threshold of the input pixel value;

generating, based on the color table comparison result, encoded data comprising one of a derivative of the input pixel value or an index for the indexed color value;

communicating, to the second computer, the encoded data;

updating the color table according to the color table comparison result;

repeating the steps of determining the color table comparison result, generating the encoded data and communicating the encoded data to determine a communication bandwidth of the encoded data; and

adjusting the error threshold based on the communication bandwidth.

2. The method of claim 1 , wherein the input pixel value comprises a pixel color value of a pixel retrieved in a defined sequence from the image section.

3. The method of claim 1 , further comprising:

generating, by the second computer, from the encoded data and a client color table, a display pixel related to the input pixel value; and

updating the client color table according to the encoded data.

4. The method of claim 3 , wherein updating the color table and updating the client color table comprises at least one of (i) storing the derivative of the input pixel value in the color table and the client color table or (ii) re-ordering the color table and the client color table.

5. The method of claim 1 , wherein determining the color table comparison result comprises comparing a randomized value related to the input pixel value with at least one pixel color value in an ordered list of pixel color values in the color table.

6. The method of claim 5 , wherein determining the color table comparison result further comprises selecting a first pixel color value in the ordered list of pixel color values approximating the input pixel value.

7. The method of claim 5 , wherein determining the color table comparison result comprises determining the randomized value is within the error threshold of the indexed color value.

8. The method of claim 7 , wherein at least one of (i) the randomized value is related to the input pixel value by an offset limit comprising color component value differences weighted by Human Visual System (HVS) response criteria, or (ii) the error threshold comprises the color component value differences weighted by the HVS response criteria.

9. The method of claim 8 , wherein at least one of the offset limit or the error threshold is adjusted responsive to a change in at least one of network bandwidth availability, the image type, or display color accuracy requirements.

10. The method of claim 7 , wherein the error threshold is adjusted based on a history of absences in the color table of any color value approximating the input pixel value.

11. The method of claim 5 , wherein the randomized value comprises at least one of an error diffused value or a dithered value.

12. The method of claim 1 , wherein the encoded data comprises an exponential encoding of the index.

13. The method of claim 1 , wherein a dimension of the color table is adjusted responsive to computational load criteria.

14. The method of claim 1 , wherein the derivative of the input pixel value comprises the input pixel value adjusted by an error value, the error value comprising integrated and weighted error values of previous input pixel values.

15. The method of claim 5 , wherein updating the color table comprises inserting the derivative of the input pixel value into the ordered list at a first early position or moving the indexed color value to a second early position of the ordered list.

16. A non-transitory computer-readable medium having a set of instructions stored therein which, when executed by a processing device, causes the processing device to perform procedures comprising:

determining an image type of an input pixel value based on an analysis of an image section, the image type selected from a list comprising text and picture;

determining an error threshold based on the image type;

determining a color table comparison result for the input pixel value, the color table comparison result identifying one of (i) an indexed color value of a color table, the indexed color value within the error threshold of the input pixel value, or (ii) an absence in the color table of any color value within the error threshold of the input pixel value;

generating, based on the color table comparison result, encoded data comprising one of a derivative of the input pixel value or an index for the indexed color value;

communicating, to a computer, the encoded data;

updating the color table based on the color table comparison result;

repeating the steps of determining the color table comparison result, generating the encoded data and communicating the encoded data to determine a communication bandwidth of the encoded data; and

adjusting the error threshold based on the communication bandwidth.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2025
From: TERADICI CO.
To: HP TECHNOLOGY HOLDINGS LLC
Reel/Frame 071854/0373 →
CHANGE OF NAME Recorded May 19, 2025
From: TERADICI CORPORATION
To: TERADICI CO.
Reel/Frame 071296/0559 →
RELEASE OF SECURITY INTEREST Recorded May 13, 2025
From: COMERICA BANK
To: TERADICI CORPORATION
Reel/Frame 071097/0240 →
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2019
From: WF FUND IV LIMITED PARTNERSHIP
To: TERADICI CORPORATION
Reel/Frame 048499/0800 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2019
From: BEEDIE CAPITAL PARTNERS FUND I LIMITED PARTNERSHIP
To: TERADICI CORPORATION
Reel/Frame 048473/0846 →
SECURITY INTEREST Recorded Feb 27, 2019
From: TERADICI CORPORATION
To: COMERICA BANK
Reel/Frame 048454/0895 →
SECURITY INTEREST Recorded Mar 3, 2016
From: TERADICI CORPORATION
To: BEEDIE CAPITAL PARTNERS FUND I LIMITED PARTNERSHIP
Reel/Frame 037988/0364 →
SECURITY AGREEMENT Recorded Feb 12, 2013
From: TERADICI CORPORATION
To: WF FUND IV LIMITED PARTNERSHIP
Reel/Frame 029800/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2010
From: DALL, WILLIAM JOHN; HOBBS, DAVID VICTOR
To: TERADICI CORPORATION
Reel/Frame 023883/0101 →
Continuity (1)
Provisional Application 61161826 · Mar 20, 2009