IP Library Granted Patent US 9,351,007
Granted Patent B1
US 9,351,007 · App. 14/678,607 · Granted May 24, 2016

Progressive block encoding using region analysis

Inventors: David Victor Hobbs (Surrey, CA); Patrick Ratto (Burnaby, CA)
Assignee: Teradici Corporation
H04N19/154H04N19/103H04N19/164H04N19/176H04N19/196
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,351,007
App. No.
14/678,607
Granted
May 24, 2016
Kind
B1
Abstract

Methods of encoding an image stream. In one embodiment, the method comprises analyzing, for each block in a plurality of image blocks, changes from the same block in previous image frames; classifying each block as a non-video block if it has changed from a corresponding block in an immediately previous frame; re-classifying each non-video block as a video block if it meets video block requirements; encoding each non-video block having a first image type to a lossless quality level; encoding each non-video block having a second image type to a first lossy quality level; and encoding each video block to a second lossy quality level, wherein each of the lossless quality level, the first and the second lossy quality levels define a measurable image quality level of a decoded output of a corresponding block at a client computer, wherein the image frame comprises separate video insert, text and picture portions.

Claims (14)

1. A method for encoding an image, comprising:

analyzing, for each block in a plurality of image blocks in an image frame of an image stream, block changes with respect to the same block in previous image frames of the image stream;

classifying each block as a non-video block of the image frame if each block has changed with respect to a corresponding block in an immediately previous frame in the image stream;

re-classifying, as a result of analyzing the block changes, each non-video block as a video block if each non-video block meets video block requirements that include each non-video block has changed over at least three previous frames at an expected video frame rate;

encoding each non-video block having a first image type identified by a first static image property to a lossless coding quality level;

encoding each non-video block having a second image type identified by a second static image property to a first lossy coding quality level;

encoding each video block to a second lossy coding quality level that is different than the first lossy coding quality level, wherein each of the lossless coding quality level, the first lossy coding quality level and the second lossy coding quality level define a measurable image quality level of a decoded output of a corresponding block at a client computer, wherein each block is determined to be changed if any pixel of each block has changed with respect to a same pixel in an associated frame of the previous image frames of the image stream, wherein the image stream is generated by a computer remote from the client computer and wherein the image frame comprises separate video insert, text and picture portions;

determining, for a subsequent frame of the image stream, a perceived quality value for a portion of blocks having the first image type and that have changed after an encoding of the image frame, wherein the perceived quality value is based on a duration since the change after the encoding;

mapping the perceived quality value to a desired coding quality level; and

determining, using the desired coding quality level, a next coding quality level for a second portion of blocks having the second image type.

2. The method of claim 1 , wherein the second image type is picture, and wherein the next coding quality level is a lossy coding quality level.

3. The method of claim 1 , further comprising encoding the second portion of blocks to the next coding quality level, and transmitting the encoded second portion of blocks over a computer network connection.

4. The method of claim 1 , wherein the next coding quality level is determined by computing a bandwidth required to meet the desired coding quality level.

5. The method of claim 1 , further comprising identifying the first and the second static image properties by filtering each non-video block with image decomposition filters.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2015
From: HOBBS, DAVID VICTOR; RATTO, PATRICK
To: TERADICI CORPORATION
Reel/Frame 035370/0747 →
Continuity (11)
Continuation 13722105 · Dec 20, 2012
Continuation 11549577 · Oct 13, 2006
Continuation In Part 11537545 · Sep 29, 2009
Continuation In Part 11333955 · Jan 17, 2006
Continuation In Part 11532865 · Sep 18, 2006
Continuation In Part 11532865 · Sep 18, 2006
Continuation In Part 11333955 · Jan 17, 2006
Continuation In Part 11333955 · Jan 17, 2006
Provisional Application 60703767 · Jul 28, 2005
Provisional Application 60719050 · Sep 20, 2005
Provisional Application 60726418 · Oct 12, 2005