US9351007B1

Progressive block encoding using region analysis

Summary by NHIP

Progressive Block Encoding

The method analyzes block changes across image frames to classify and reclassify blocks based on movement history. It encodes static blocks identified by specific properties at lossless or first lossy levels, while encoding video blocks at a distinct second lossy level.

Claim Score by NHIP

Read claim 1, the broadest

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.

US9351007B1, drawing sheet 1
Sheet 1 of 26

Term

Term ended

Expired 17 January 2026, 0.7 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

5 claims: 1 independent, 4 dependent

  1. 1
    Broadest claimClaim Score 14, narrow(NHIP)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.