Progressive block encoding using region analysis
First Claim
1. A method of processing a sequence of images, the method comprising:
- determining, by a computer comprising one or more processors, a plurality of pixel image blocks of a frame in the sequence of images are of a picture type, the frame in the sequence of images comprising a plurality of static image types determined using intra-frame decomposition analysis of the frame, the plurality of static image types including the picture type, and a text type;
determining change information for the plurality of pixel image block blocks, the change information comprising a pixel change detection of associated block locations of the plurality of pixel image block with respect to a plurality of frames of the sequence of images;
processing a first pixel image block of the plurality of pixel image blocks as a video type image based on the picture type and the change information indicating a periodic change rate slower than a frame rate of the sequence of images for the first pixel image block;
and processing a second pixel image block of the plurality of pixel image blocks as non-video type image based on a non-periodic change record of the second pixel image block, the processing of the second pixel image block comprising encoding the second pixel image block at an initial quality followed by a second encoding at an increased quality if the second pixel image block remains unchanged, wherein encoding the first pixel image block as the video type image comprises encoding the pixel image block once at a fixed quality while the first pixel image block remains unchanged.
6 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method of encoding and transmitting a block of visual data within a visual data stream. First, image information updates are acquired for the block of visual data that includes pixel data and is associated with a change history of pixel data. Next, stored block information is retrieved for the block of visual data, including a recent change history for the block of visual data. Next, a determination is made from the retrieved block information and the image information updates that the block of visual data is a video image type. Available network bandwidth is then determined. Encoding parameters for the block of visual data from the retrieved block information, the image information updates and the available network bandwidth are determined. The block of visual data is encoded and transmitted across a computer network.
-
Citations
27 Claims
-
1. A method of processing a sequence of images, the method comprising:
- determining, by a computer comprising one or more processors, a plurality of pixel image blocks of a frame in the sequence of images are of a picture type, the frame in the sequence of images comprising a plurality of static image types determined using intra-frame decomposition analysis of the frame, the plurality of static image types including the picture type, and a text type;
determining change information for the plurality of pixel image block blocks, the change information comprising a pixel change detection of associated block locations of the plurality of pixel image block with respect to a plurality of frames of the sequence of images; processing a first pixel image block of the plurality of pixel image blocks as a video type image based on the picture type and the change information indicating a periodic change rate slower than a frame rate of the sequence of images for the first pixel image block; and processing a second pixel image block of the plurality of pixel image blocks as non-video type image based on a non-periodic change record of the second pixel image block, the processing of the second pixel image block comprising encoding the second pixel image block at an initial quality followed by a second encoding at an increased quality if the second pixel image block remains unchanged, wherein encoding the first pixel image block as the video type image comprises encoding the pixel image block once at a fixed quality while the first pixel image block remains unchanged. - View Dependent Claims (2)
- determining, by a computer comprising one or more processors, a plurality of pixel image blocks of a frame in the sequence of images are of a picture type, the frame in the sequence of images comprising a plurality of static image types determined using intra-frame decomposition analysis of the frame, the plurality of static image types including the picture type, and a text type;
-
3. A method of encoding an image stream, the method comprising:
- obtaining, by a computer comprising one or more processors, a plurality of pixels from a frame of the image stream, generated by the computer;
obtaining, by the computer, change information and an image type of each block of the plurality of pixels, the change information comprising a record of changes for each block of the plurality of pixels, the image type selected, based on intra-frame decomposition analysis of the frame, for each block of the plurality of pixels from a set comprising a picture type and a text type, wherein the change information comprises a periodic change history at a video frame rate for a first block position in the image stream and non-video frame rate change history for a second block position in the image stream; and encoding, by the computer, based on the change information and the image type, the plurality of pixels, the encoding comprising selecting an encoding quality for each block of the picture type of the plurality of pixels based on a block associated multi change record from the record of changes, encoding pixels of the first block position at a fixed quality and encoding pixels of the second block position using progressive encoding. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
- obtaining, by a computer comprising one or more processors, a plurality of pixels from a frame of the image stream, generated by the computer;
-
14. A method of encoding and transmitting an image of a media stream, comprising:
- acquiring image information for a frame of a pixel image block, the image information (i) indicating a picture image type from a selection comprising a non-picture image type based on an intra-frame decomposition analysis of the frame, and (ii) indicating that the pixel image block comprises a non-video image type change record, the non-video image type change record comprising one of successive frames of changed pixel values or a duration of constant pixel values for at least a defined period for the pixel image block;
determining, from a selection comprising an initial encoding, a progressive build encoding and a held quality encoding, based on the image information, an encoding operation to perform on the frame of the pixel image block, the encoding operation further selected based on a frame count of the media stream since the pixel image block changed; and encoding the pixel image block using the determined encoding operation to generate an encoded image block, wherein the determining the encoding operation comprises selecting;
the initial encoding that encodes an initial quality set of bit planes of the pixel image block if the pixel image block has changed since a previous encoding of the pixel image block, orthe progressive build encoding that encodes an incremental quality set of the bit planes of the pixel image block for a defined duration if the pixel image block is unchanged. - View Dependent Claims (15, 16, 17)
- acquiring image information for a frame of a pixel image block, the image information (i) indicating a picture image type from a selection comprising a non-picture image type based on an intra-frame decomposition analysis of the frame, and (ii) indicating that the pixel image block comprises a non-video image type change record, the non-video image type change record comprising one of successive frames of changed pixel values or a duration of constant pixel values for at least a defined period for the pixel image block;
-
18. A method of encoding an image block of a plurality of image blocks of an image, the method comprising:
-
obtaining information for the image block, the information comprising (i) pixel values, (ii) change information of the pixel values as related to previous encoded frames of the image and (iii) a level of previous encoded bit planes of the pixel values, wherein the change information indicating the pixel values are unchanged for at least the defined period indicates that the image block is changed from a video image type to a non-video type and wherein the encoding requirement is further determined according to the non-video type; determining an encoding requirement responsive to the change information indicating the pixel values and encoded data of the pixel values are unchanged for at least a defined period, the defined period comprising a plurality of the previous encoded frames where other image blocks of the plurality of image blocks have been encoded; and encoding the pixel values according to the encoding requirement to generate an additional encoded bit plane to the previous encoded data bit planes of the pixel values, wherein the encoding the pixel values comprises performing repeated encodings of at least one of a progressive encoding operation or a residual encoding operation until a lossless encoding of the pixel values has been performed. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A method of encoding an image stream, comprising:
- detecting a non-video type pixel block and a video type pixel block in a frame of the image stream, the video type pixel block comprising a periodic history of frames with at least one pixel change separated by one or more frames of constant pixel values, the non-video type pixel block comprising a non-periodic history of pixel changes;
encoding the non-video type pixel block using progressive build encoding, the progressive build encoding comprising an initial first quality encoding on a frame with a pixel change to the non-video type pixel block and an accumulating sequence of increasing quality refinement encodings for each frame while the non-video type pixel block remains unchanged, wherein the accumulating sequence of increasing quality terminates on achieving a lossless encoding of the non-video type pixel block; and encoding the video type pixel block using a constant quality level encoding comprising an initial second quality encoding on a frame with a pixel change to the video type pixel block and skipping encoding the video type pixel block on each frame while the video type pixel block remains unchanged. - View Dependent Claims (24, 25, 26, 27)
- detecting a non-video type pixel block and a video type pixel block in a frame of the image stream, the video type pixel block comprising a periodic history of frames with at least one pixel change separated by one or more frames of constant pixel values, the non-video type pixel block comprising a non-periodic history of pixel changes;
Specification