Progressive block encoding using region analysis
First Claim
1. A method of encoding an image stream at a host computer, comprising:
- generating the image stream by the host computer, the image stream comprising a plurality of image frames, each image frame comprising at least a video insert portion, a text portion and a picture portion;
generating, by the host computer, an encoding of a first block of pixels of a frame of the image stream, wherein the encoding of the first block is generated at a lossless coding quality level if the first block (i) has changed with respect to a corresponding block in a directly previous frame of the image stream and (ii) comprises a first image type identified by a first static image property;
generating an encoding of a second block of pixels of the frame, wherein the encoding of the second block is generated at a first lossy coding quality level if the second block (iii) has changed with respect to a corresponding block in the directly previous frame and (iv) comprises a second image type identified by a second static image property;
generating an encoding of a third block of pixels of the frame at an initial encoding quality level if the third block of pixels comprises the second image type and the third block of pixels is changed from a first reference corresponding block of pixels in the directly previous frame;
generating an encoding of the third block of pixels at a previous encoding quality level if the third block comprises the second image type, the third block of pixels is unchanged from the first reference corresponding block of pixels, and the third block is changed from a second reference corresponding block in a frame at least two frames previous to the frame;
generating an encoding of the third block at an increased encoding quality level greater than the initial encoding quality level if the third block comprises the second image type, the third block is unchanged since the second reference corresponding block;
generating an unchanged indication with respect to a fourth block of pixels of the frame if the fourth block (v) has remained unchanged with respect to a corresponding block in the directly previous frame, (vi) comprises the second image type and (vii) is changed with respect to a sixth corresponding block in a frame previous to the directly previous frame; and
transmitting the encoded first block of pixels, the encoded second block of pixels, the encoded third block of pixels and the unchanged indication with respect to the fourth block of pixels to a client computer for display as part of a decoding of an encoding of the image stream,wherein coding quality level of each block defines a measurable image quality level of a corresponding block in the decoding.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods of encoding an image stream. In one embodiment, the method comprises generating, by a computer, a lossless encoding of a first portion of a frame of an image based on identifying the first portion as (i) changed since a previous frame of the image and (ii) comprising a first image type; generating an initial quality lossy encoding of a second portion of the frame based on identifying the second portion as (iii) changed since the previous frame and (iv) comprising a second image type; and generating a quality improvement encoding of a third portion of the frame based on identifying the third portion as (v) unchanged since the previous frame and (vi) encoded to less than a defined quality.
36 Citations
8 Claims
-
1. A method of encoding an image stream at a host computer, comprising:
-
generating the image stream by the host computer, the image stream comprising a plurality of image frames, each image frame comprising at least a video insert portion, a text portion and a picture portion; generating, by the host computer, an encoding of a first block of pixels of a frame of the image stream, wherein the encoding of the first block is generated at a lossless coding quality level if the first block (i) has changed with respect to a corresponding block in a directly previous frame of the image stream and (ii) comprises a first image type identified by a first static image property; generating an encoding of a second block of pixels of the frame, wherein the encoding of the second block is generated at a first lossy coding quality level if the second block (iii) has changed with respect to a corresponding block in the directly previous frame and (iv) comprises a second image type identified by a second static image property; generating an encoding of a third block of pixels of the frame at an initial encoding quality level if the third block of pixels comprises the second image type and the third block of pixels is changed from a first reference corresponding block of pixels in the directly previous frame; generating an encoding of the third block of pixels at a previous encoding quality level if the third block comprises the second image type, the third block of pixels is unchanged from the first reference corresponding block of pixels, and the third block is changed from a second reference corresponding block in a frame at least two frames previous to the frame; generating an encoding of the third block at an increased encoding quality level greater than the initial encoding quality level if the third block comprises the second image type, the third block is unchanged since the second reference corresponding block; generating an unchanged indication with respect to a fourth block of pixels of the frame if the fourth block (v) has remained unchanged with respect to a corresponding block in the directly previous frame, (vi) comprises the second image type and (vii) is changed with respect to a sixth corresponding block in a frame previous to the directly previous frame; and transmitting the encoded first block of pixels, the encoded second block of pixels, the encoded third block of pixels and the unchanged indication with respect to the fourth block of pixels to a client computer for display as part of a decoding of an encoding of the image stream, wherein coding quality level of each block defines a measurable image quality level of a corresponding block in the decoding. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification