IP Library Granted Patent US 8,731,314
Granted Patent B1
US 8,731,314 · App. 13/653,841 · Granted May 20, 2014

Methods for encoding an image

Inventors: David Victor Hobbs (Surrey, CA); Patrick Ratto (Burnaby, 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,731,314
App. No.
13/653,841
Granted
May 20, 2014
Kind
B1
Abstract

An image encoding apparatus. In one embodiment, the apparatus comprises an encoding engine coupled to a source of a block of pixel data, the encoding engine enabled to encode the block of pixel data to a quality level, the encoding engine coupled to a network interface; and a state sequencer, the state sequencer enabled to obtain an indication of scan block persistence, build state information and encoding parameters to control the quality level.

Claims (28)

1. A method for encoding an image, comprising:

(a) generating, by a computer, an initial quality encoding of a portion of a plurality of portions of an image spatially divided into the plurality of portions, wherein the initial quality encoding is generated based on determining the portion has changed;

(b) generating a quality improvement encoding of the portion based on determining the portion (i) is unchanged since being previously encoded and (ii) has been encoded to less than a pre-determined quality; and

(c) generating a lossless encoding of the portion based on determining the portion (i) is unchanged since being previously encoded and (ii) has been encoded to the pre-determined quality.

2. The method of claim 1 , further comprising selectively repeating, for each portion of the plurality of portions and based on change state and encoded state information associated with each portion of the plurality of portions, the steps of (a) generating an initial quality encoding, (b) generating a quality improvement encoding, and (c) generating a lossless encoding.

3. The method of claim 2 , wherein selectively repeating, for each portion of the plurality of portions, the steps of (a) generating an initial quality encoding, (b) generating a quality improvement encoding and (c) generating a lossless encoding, is further based on image type information associated with each portion of the plurality of portions, the image type information identifying image encoding requirements and determined by analyzing a corresponding image of each portion of the plurality of portions.

4. The method of claim 1 , wherein generating the lossless encoding comprises performing a spatial domain encoding and generating the quality improvement encoding comprises performing a transform domain encoding.

5. The method of claim 1 , wherein generating the lossless encoding comprises performing a sequence of residual encodings.

6. The method of claim 1 , wherein the plurality of portions comprises a computer display image, the computer display image comprising a plurality of asynchronously changing regions.

7. The method of claim 1 , further comprising transmitting encodings to a remote computer, the encodings comprising the initial quality encoding, the lossless encoding and the quality improvement encoding.

8. The method of claim 7 , wherein transmitting the encodings comprises scheduling transmission of the encodings based on at least one of latency constraints, available bandwidth or build states of the plurality of portions.

9. The method of claim 8 , wherein a first portion of the encodings is transmitted immediately while a second portion of the encodings is delayed until at least one of a defined network bandwidth is available or a defined period of time has elapsed.

10. The method of claim 1 , further comprising maintaining state information identifying an encoded quality of each portion of the plurality of portions.

11. The method of claim 10 , wherein the state information comprises, for each portion of the plurality of portions, image type information determined by analyzing a corresponding image of each portion, the image type information identifying, for a corresponding portion of the plurality of portions, an encoding sequence selected from a list comprising (I) a direct to lossless encoding sequence or (II) an encoding sequence of bit planes.

12. The method of claim 1 , wherein generating the quality improvement encoding and generating the lossless encoding are further based on at least one of (I) available network bandwidth, (II) network bandwidth consumption preferences, (III) area of the image unchanged since being previously encoded and encoded to less than the pre-determined quality or (IV) a pre-determined progressive build sequence.

13. The method of claim 1 , wherein generating the quality improvement encoding comprises repeatedly encoding the portion with progressive quality improvements until the portion is encoded to the pre-determined quality.

14. The method of claim 13 , wherein repeatedly encoding the portion with progressive quality improvements comprises pausing between encodings at one or more of a desired quality level or a perceptually lossless quality level.

15. The method of claim 1 , wherein generating the lossless encoding comprises one of (I) generating a residual encoding comprising a difference between the portion and a decoding of a previous encoding of the portion, or (II) generating an initial lossless encoding of the portion.

16. A method for encoding an image, comprising:

(a) generating, by a computer, an initial quality encoding of a portion of a plurality of portions of an image spatially divided into the plurality of portions, wherein the initial quality encoding is generated based on determining the portion has changed;

(b) generating a quality improvement encoding of the portion based on determining the portion (i) is unchanged since being previously encoded and (ii) has been encoded to less than a pre-determined quality; and

(c) selectively repeating, for each portion of the plurality of portions based on change state and encoded state information associated with each portion of the plurality of portions, the steps of (a) generating an initial quality encoding and (b) generating a quality improvement encoding.

17. The method of claim 16 , further comprising maintaining state information identifying an encoded state of each portion of the plurality of portions, the encoded state identifying, for each corresponding portion of the plurality of portions, an encoding sequence selected from a list comprising (I) a direct to lossless encoding sequence or (II) lossy encoding followed by a lossless encoding.

18. A method for encoding an image, comprising:

(a) generating, by a computer, an initial quality encoding of a portion of a plurality of portions of an image spatially divided into the plurality of portions, wherein the initial quality encoding is generated based on determining the portion has changed;

(b) generating a lossless encoding of the portion based on determining the portion is unchanged for a predetermined time since being previously encoded; and

(c) selectively repeating, for each portion of the plurality of portions based on change state and encoded state information associated with each portion of the plurality of portions, the steps of (a) generating an initial quality encoding and (b) generating a lossless encoding.

19. The method of claim 18 , further comprising maintaining state information identifying an encoded state of each portion of the plurality of portions, the encoded state identifying, for each corresponding portion of the plurality of portions, an encoding sequence selected from a list comprising (I) a direct to lossless encoding sequence or (II) lossy encoding followed by a lossless encoding.

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 Nov 15, 2012
From: HOBBS, DAVID VICTOR; RATTO, PATRICK
To: TERADICI CORPORATION
Reel/Frame 029305/0882 →
Continuity (6)
Continuation 12925056 · Oct 13, 2010
Division 11532865 · Sep 18, 2006
Continuation In Part 11333955 · Jan 17, 2006
Provisional Application 60726418 · Oct 12, 2005
Provisional Application 60719050 · Sep 20, 2005
Provisional Application 60703767 · Jul 28, 2005