Method for low memory encoding of video
AssigneeKakadu R & D Pty Ltd
InventorsDavid Scott Taubman, Aous Naman
Life of this patent
Estimating the term…
Abstract
Described are methods for video encoding or scalable interactive delivery of a sequence of video frames with non-uniform quality, such that the quality of any given spatial region within a frame generally varies from frame to frame within the sequence. The method is based on the “JPEG2000-based Scalable Interactive Video” (JSIV) framework used where the encoded video frames are comprised of independently encoded elements (code-blocks). The method involves estimating temporal distortion DbM, in a manner that avoids the need for a frame buffer. This disclosure also describes methods that use the DbM value to pre-estimate the quality to which each block should be encoded, so as to limit the complexity of JSIV based video encoding.
Claims24
A method for encoding a sequence of video frames, each having been transformed to produce a plurality of sample blocks, the method involving:
- a. Recording, in a reference record, information for a reference block that was encoded in a previous frame of the video sequence, the reference record recording at least:
- a set of summary values for the reference block, a number of summary values in the set being smaller than a number of samples in the block, and information related to the quality of the encoded reference block;
- b. estimating temporal distortion between the reference block and a corresponding block of the current frame, identified here as the current block, based on a set of summary values for the current block and the corresponding set of summary values for the reference block that are stored within the reference record;
- c. determining a lower bound on an encoded quality level to which the current block should be encoded in order for the block's encoded representation to be considered for inclusion in the encoded video stream, based on the estimated temporal distortion together with information related to the quality of the reference block, this bound being identified here as a JSIV transition point;
- d. encoding the sample values of the current block to one or more encoded quality levels;
- e. selecting the encoded quality level to which each block in a plurality of sample blocks in the current frame is encoded, taking into account the JSIV transition point, so that the overall encoded length of the plurality of blocks does not exceed a specified length constraint;
- and
- f. updating the reference record with information derived from the current block, in the event that the coded representation of the current block that is included in the encoded video stream reaches at least the lower bound identified by the JSIV transition point.
(canceled)
(canceled)
(canceled)
(canceled)
A system for encoding a sequence of video frames, each having been transformed to produce a plurality of sample blocks, the system comprising:
- memory configured to store:
- a. a reference record recording information for a reference block that was encoded in a previous frame of the video sequence, the reference record recording at least:
- a set of summary values for the reference block, a number of summary values in the set being smaller than a number of samples in the block, and information related to the quality of the encoded reference block;
- processing logic configured to:
- b. estimate temporal distortion between the reference block and a corresponding block of the current frame, identified here as the current block, based on a set of summary values for the current block and the corresponding set of summary values for the reference block that are stored within the reference record;
- c. determine a lower bound on an encoded quality level to which the current block should be encoded in order for the block's encoded representation to be considered for inclusion in the encoded video stream, using the estimated temporal distortion together with information related to the quality of the reference block, recovered from the reference record, this bound being identified here as the JSIV transition point;
- d. encode the sample values of the current block to one or more encoded quality levels;
- e. select the encoded quality level to which each block in a plurality of sample blocks in the current frame is encoded, taking into account a JSIV transition point, so that the overall encoded length of the plurality of blocks does not exceed a specified length constraint;
- and
- f. update the reference record with information derived from the current block, in the event that the coded representation of the current block that is included in the encoded video stream reaches at least the lower bound identified by the JSIV transition point.
Dependencies are inferred from the claim text.