Multimedia compression system with adaptive block sizes
First Claim
1. A method for encoding a motion video image which includes two or more frames, the method comprising performing the following steps for each subject one of one or more of the frames to encode the subject frame to form an encoded frame:
- (i) selecting a temporally displaced one of the frames other than the subject frame;
(ii) selecting one or more blocks of the subject frame;
(iii) for each of the blocks of the subject frame, (a) forming a motion compensated block of the block with reference to a corresponding block of the temporally displaced frame;
(b) measuring a block distortion between the block and the motion compensated block;
(c) measuring a block rate of the motion compensated block in terms of an amount of data required to represent the motion compensated block;
(d) for each of two or more sub-blocks of the block, performing the following steps;
(1) forming a motion compensated sub-block with reference to a corresponding sub-block of the temporally displaced frame;
(2) measuring a sub-block distortion between the sub-block and the motion compensated sub-block; and
(3) measuring a sub-block rate of the motion compensated sub-block in terms of an amount of data required to represent the motion compensated sub-block;
(e) constructing a composite sub-block distortion from the sub-block distortions;
(f) constructing a composite sub-block rate from the sub-block rates;
(g) measuring a relative distortion between the block distortion and the composite sub-block distortion;
(h) measuring a relative rate between the block rate and the composite sub-block rate;
(i) comparing the relative distortion to the relative weight according to a predetermined ratio of distortion and rate priorities to determine whether the motion compensated block or the motion compensated sub-blocks provide a better combination of distortion and rate;
(j) including the motion compensated block in the encoded frame if the motion compensated block provides a better combination of distortion and rate as determined in the step of comparing; and
(k) including the motion compensated sub-blocks in the encoded frame if the motion compensated sub-blocks provide a better combination of distortion and rate as determined in the step of comparing.
2 Assignments
0 Petitions
Accused Products
Abstract
A multimedia compression system for generating frame rate scalable data in the case of video, and, more generally, universally scalable data Universally scalable data is scalable across all of the relevant characteristics of the data. In the case of video, these characteristics include frame rate, resolution, and quality. The scalable data generated by the compression system is comprised of multiple additive layers for each characteristic across which the data is scalable. In the case of video, the frame rate layers are additive temporal layers, the resolution layers are additive base and enhancement layers, and the quality layers are additive index planes of embedded codes. Various techniques can be used for generating each of these layers (e.g., Laplacian pyramid decomposition or wavelet decomposition for generating the resolution layers; tree structured vector quantization or tree structured-scalar quantization for generating the quality layers). The compression system further provides for embedded inter-frame compression in the context of frame rate scalability, and non-redundant layered multicast network delivery of the scalable data.
-
Citations
6 Claims
-
1. A method for encoding a motion video image which includes two or more frames, the method comprising performing the following steps for each subject one of one or more of the frames to encode the subject frame to form an encoded frame:
-
(i) selecting a temporally displaced one of the frames other than the subject frame;
(ii) selecting one or more blocks of the subject frame;
(iii) for each of the blocks of the subject frame, (a) forming a motion compensated block of the block with reference to a corresponding block of the temporally displaced frame;
(b) measuring a block distortion between the block and the motion compensated block;
(c) measuring a block rate of the motion compensated block in terms of an amount of data required to represent the motion compensated block;
(d) for each of two or more sub-blocks of the block, performing the following steps;
(1) forming a motion compensated sub-block with reference to a corresponding sub-block of the temporally displaced frame;
(2) measuring a sub-block distortion between the sub-block and the motion compensated sub-block; and
(3) measuring a sub-block rate of the motion compensated sub-block in terms of an amount of data required to represent the motion compensated sub-block;
(e) constructing a composite sub-block distortion from the sub-block distortions;
(f) constructing a composite sub-block rate from the sub-block rates;
(g) measuring a relative distortion between the block distortion and the composite sub-block distortion;
(h) measuring a relative rate between the block rate and the composite sub-block rate;
(i) comparing the relative distortion to the relative weight according to a predetermined ratio of distortion and rate priorities to determine whether the motion compensated block or the motion compensated sub-blocks provide a better combination of distortion and rate;
(j) including the motion compensated block in the encoded frame if the motion compensated block provides a better combination of distortion and rate as determined in the step of comparing; and
(k) including the motion compensated sub-blocks in the encoded frame if the motion compensated sub-blocks provide a better combination of distortion and rate as determined in the step of comparing. - View Dependent Claims (2)
(l) for each of two or more sub-sub-blocks of the sub-block, performing the following steps;
(1) forming a motion compensated sub-subblock with reference to a corresponding sub-sub-block of the temporally displaced frame;
(2) measuring a sub-sub-block distortion between the sub-sub-block and the motion compensated sub-sub-block; and
(3) measuring a sub-sub-block rate of the motion compensated sub-sub-block in terms of an amount of data required to represent the motion compensated sub-sub-block;
(m) constructing a composite sub-sub-block distortion from the sub-sub-block distortions;
(n) constructing a composite sub-sub-block rate from the sub-sub-block rates;
(o) measuring a sub-block relative distortion between the sub-block distortion of the subject sub-block and the composite sub-sub-block distortion;
(p) measuring a sub-block relative rate between the sub-block rate of the subject sub-block and the composite sub-sub-block rate;
(q) comparing the sub-block relative distortion to the sub-block relative weight according to the predetermined ratio of distortion and rate priorities to determine whether the motion compensated sub-block or the motion compensated sub-sub-blocks provide a better combination of distortion and rate;
(s) including the motion compensated sub-block in the encoded frame if the motion compensated sub-block provides a better combination of distortion and rate as determined in step (q); and
(t) including the motion compensated sub-sub-blocks in the encoded frame if the motion compensated sub-sub-blocks provide a better combination of distortion and rate as determined in step (q).
-
-
3. A computer readable medium useful in association with a computer which includes a processor and a memory, the computer readable medium including computer instructions which are configured to cause the computer to encode a motion video image which includes two or more frames by performing the following steps for each subject one of one or more of the frames to encode the subject frame to form an encoded frame:
-
(i) selecting a temporally displaced one of the frames other than the subject frame;
(ii) selecting one or more blocks of the subject frame;
(iii) for each of the blocks of the subject frame, (a) forming a motion compensated block of the block with reference to a corresponding block of the temporally displaced frame;
(b) measuring a block distortion between the block and the motion compensated block;
(c) measuring a block rate of the motion compensated block in terms of an amount of data required to represent the motion compensated block;
(d) for each of two or more sub-blocks of the block, performing the following steps;
(1) forming a motion compensated sub-block with reference to a corresponding sub-block of the temporally displaced frame;
(2) measuring a sub-block distortion between the sub-block and the motion compensated sub-block; and
(3) measuring a sub-block rate of the motion compensated sub-block in terms of an amount of data required to represent the motion compensated sub-block;
(e) constructing a composite sub-block distortion from-the sub-block distortions;
(f) constructing a composite sub-block rate from the sub-block rates;
(g) measuring a relative distortion between the block distortion and the composite sub-block distortion;
(h) measuring a relative rate between the block rate and the composite sub-block rate;
(i) comparing the relative distortion to the relative weight according to a predetermined ratio of distortion and rate priorities to determine whether the motion compensated block or the motion compensated sub-blocks provide a better combination of distortion and rate;
including the motion compensated block in the encoded frame if the motion compensated block provides a better combination of distortion and rate as determined in the step of comparing; and
(k) including the motion compensated sub-blocks in the encoded frame if the motion compensated sub-blocks provide a better combination of distortion and rate as determined in the step of comparing. - View Dependent Claims (4)
(l) for each of two or more sub-sub-blocks of the sub-block, performing the following steps;
(1) forming a motion compensated sub-sub-block with reference to a corresponding sub-sub-block of the temporally displaced frame;
(2) measuring a sub-sub-block distortion between the sub-sub-block and the motion compensated sub-sub-block; and
(3) measuring a sub-sub-block rate of the motion compensated sub-sub-block in terms of an amount of data required to represent the motion compensated sub-sub-block;
(m) constructing a composite sub-sub-block distortion from the sub-sub-block distortions;
(n) constructing a composite sub-sub-block rate from the sub-sub-block rates;
(o) measuring a sub-block relative distortion between the sub-block distortion of the subject sub-block and the composite sub-sub-block distortion;
(p) measuring a sub-block relative rate between the sub-block rate of the subject sub-block and the composite sub-sub-block rate;
(q) comparing the sub-block relative distortion to the sub-block relative weight according to the predetermined ratio of distortion and rate priorities to determine whether the motion compensated sub-block or the motion compensated sub-sub-blocks provide a better combination of distortion and rate;
(s) including the motion compensated sub-block in the encoded frame if the motion compensated sub-block provides a better combination of distortion and rate as determined in step (q); and
(t) including the motion compensated sub-sub-blocks in the encoded frame if the motion compensated sub-sub-blocks provide a better combination of distortion and rate as determined in step (q).
-
-
5. A computer system comprising:
-
a processor;
a memory operatively coupled to the processor; and
a motion video signal encoder which executes in the processor from the memory and which, when executed by the processor, encodes a motion video image which includes two or more frames by performing the following steps for each subject one of one or more of the frames to encode the subject frame to form an encoded frame;
(i) selecting a temporally displaced one of the frames other than the subject frame;
(ii) selecting one or more blocks of the subject frame;
(iii) for each of the blocks of the subject frame, (a) forming a motion compensated block of the block with reference to a corresponding block of the temporally displaced frame;
(b) measuring a block distortion between the block and the motion compensated block;
(c) measuring a block rate of the motion compensated block in terms of an amount of data required to represent the motion compensated block;
(d) for each of two or more sub-blocks of the block, performing the following steps;
(1) forming a motion compensated sub-block with reference to a corresponding sub-block of the temporally displaced frame;
(2) measuring a sub-block distortion between the sub-block and the motion compensated sub-block; and
(3) measuring a sub-block rate of the motion compensated sub-block in terms of an amount of data required to represent the motion compensated sub-block;
(e) constructing a composite sub-block distortion from the sub-block distortions;
(f) constructing a composite sub-block rate from the sub-block rates;
(g) measuring a relative distortion between the block distortion and the composite sub-block distortion;
(h) measuring a relative rate between the block rate and the composite sub-block rate;
(i) comparing the relative distortion to the relative weight according to a predetermined ratio of distortion and rate priorities to determine whether the motion compensated block or the motion compensated sub-blocks provide a better combination of distortion and rate;
(j) including the motion compensated block in the encoded frame if the motion compensated block provides a better combination of distortion and rate as determined in the step of comparing; and
(k) including the motion compensated sub-blocks in the encoded frame if the motion compensated sub-blocks provide a better combination of distortion and rate as determined in the step of comparing. - View Dependent Claims (6)
(l) for each of two or more su-sub-blocks of the sub-block, performing the following steps;
(1) forming a motion compensated sub-sub-block with reference to a corresponding sub-sub-block of the temporally displaced frame;
(2) measuring a sub-sub-block distortion between the sub-sub-block and the motion compensated sub-sub-block; and
(3) measuring a sub-sub-block rate of the motion compensated sub-sub-block in terms of an amount of data required to represent the motion compensated sub-sub-block;
(m) constructing a composite sub-sub-block distortion from the sub-sub-block distortions;
(n) constructing a composite sub-sub-block rate from the sub-sub-block rates;
(o) measuring a sub-block relative distortion between the sub-block distortion of the subject sub-block and the composite sub-sub-block distortion;
(p) measuring a sub-block relative rate between the sub-block rate of the subject sub-block and the composite sub-sub-block rate;
(q) comparing the sub-block relative distortion to the sub-block relative weight according to the predetermined ratio of distortion and rate priorities to determine whether the motion compensated sub-block or the motion compensated sub-sub-blocks provide a better combination of distortion and rate;
(s) including the motion compensated sub-block in the encoded frame if the motion compensated sub-block provides a better combination of distortion and rate as determined in step (q); and
(t) including the motion compensated sub-sub-blocks in the encoded frame if the motion compensated sub-sub-blocks provide a better combination of distortion and rate as determined in step (q).
-
Specification