Method and device for improved multi-layer data compression
View Patent ↗An encoder and method for encoding data in a scalable data compression format are described. In particular, process for encoding spatially scalable video are described in which the base layer uses downscaled residuals from a full-resolution encoding of the video in its motion estimation process. The downscaled residuals may also be used in the coding mode selection process at the base layer.
1. A method of encoding an input video to create an encoded video in a scalable video format, wherein the input video includes full-resolution frames, wherein the scalable video format includes an encoded base layer video at a spatially downsampled base layer resolution and an encoded enhancement layer video at a higher resolution, the method comprising:
obtaining full-resolution residual values for the full-resolution frames;
spatially downsampling the full-resolution residual values to the base layer resolution to generate downsampled residuals;
spatially downsampling the input video to create a base layer video at the base layer resolution;
encoding the base layer video, using a motion estimation process that employs a motion estimation rate-distortion optimization expression, wherein the motion estimation rate-distortion optimization expression includes the downsampled residuals, to produce the encoded base layer video;
encoding an enhancement layer video at the higher resolution, using a scalable video coding process, to produce the encoded enhancement layer video; and
combining the encoded base layer video and encoded enhancement layer video to produce a bitstream of encoded video.
2. The method claimed in claim 1 , wherein encoding the base layer video includes using a mode decision rate-distortion optimization expression that includes the downsampled residuals.
3. The method claimed in claim 2 , wherein the mode decision rate-distortion optimization expression comprises:
J
md
′
=
min
m
i
x
i
-
p
i
-
Z
-
1
Z
(
DS
(
U
)
)
+
λ
(
r
v
i
)
wherein J md′ is the rate-distortion cost, m i is the coding mode, x i is an original pixel block, p i is a predicted pixel block, DS(U) is the downsampled residuals, Z −1 Z( ) is a transform, quantization, inverse transform and dequantization operation, r v i is a rate for transmitting the motion vector v i , and λ is a Lagrangian factor.
4. The method claimed in claim 1 , wherein encoding the base layer video includes using a mode decision rate-distortion optimization expression that includes actual residuals, wherein the actual residuals are determined based upon the difference between an original block of pixels and a predicted block of pixels.
5. The method claimed in claim 1 , wherein encoding the base layer video includes selecting a macroblock mode by using at least two mode decision rate-distortion expressions and selecting a lowest cost mode therefrom, and wherein the two mode decision rate-distortion expressions include a first expression that includes the downsampled residuals, and a second expression that includes actual residuals, wherein the actual residuals are determined based upon the difference between an original block of pixels and a predicted block of pixels.
6. The method claimed in claim 5 , wherein the first expression comprises:
J
md
′
=
min
m
i
x
i
-
p
i
-
Z
-
1
Z
(
DS
(
U
)
)
+
λ
(
r
v
i
)
wherein J md′ is the rate-distortion cost, m i is the coding mode, x i is an original pixel block, p i is a predicted pixel block, DS(U) is the downsampled residuals, Z −1 Z( ) is a transform, quantization, inverse transform and dequantization operation, r v i is a rate for transmitting the motion vector v i , and λ is a Lagrangian factor.
7. The method claimed in claim 1 , wherein the motion estimation rate-distortion optimization expression includes a distortion term and the distortion term comprises the difference between original pixel values and predicted pixel values given by a motion vector when adjusted by the downsampled residuals.
8. The method claimed in claim 7 , wherein the motion estimation rate-distortion optimization expression includes a rate term and wherein and the rate term includes a rate value for transmitting the downsampled residuals.
9. The method claimed in claim 8 , wherein the rate value for transmitting the downsampled residuals is a rate cost for transmitting the downsampled residuals after they are transformed, quantized and entropy encoded.
10. The method claimed in claim 7 , wherein the motion estimation rate-distortion optimization expression comprises:
J
me
′
=
min
v
i
x
i
-
p
i
-
DS
(
U
)
+
λ
(
r
v
i
)
wherein J me′ is the rate-distortion cost, v i is a motion vector, x i are the original pixel values, p i are the predicted pixel values, DS(U) are the downsampled residuals, r v i is a rate for transmitting the motion vector v i , and λ is a Lagrangian factor.
11. The method claimed in claim 1 , wherein obtaining full-resolution residual values comprises calculating the full-resolution residual values for the full-resolution frames using a motion compensation process.
12. The method claimed in claim 1 , wherein obtaining full-resolution residual values comprises obtaining the full-resolution residual values through a motion compensated decoding process.
13. An encoder for encoding an input video to create an encoded video in a scalable video format, wherein the input video includes full-resolution frames, wherein the scalable video format includes an encoded base layer video at a spatially downsampled base layer resolution and an encoded enhancement layer video at a higher resolution, the encoder comprising:
a processor;
a memory;
a communications system for outputting the encoded video; and
an encoding application stored in memory and containing instructions which when executed by the processor configure the processor to
obtain full-resolution residual values for the full-resolution frames;
spatially downsample the full-resolution residual values to the base layer resolution to generate downsampled residuals;
spatially downsample the input video to create a base layer video at the base layer resolution;
encode the base layer video, using a motion estimation process that employs a motion estimation rate-distortion optimization expression, wherein the motion estimation rate-distortion optimization expression includes the downsampled residuals, to produce the encoded base layer video;
encode an enhancement layer video at the higher resolution, using a scalable video coding process, to produce the encoded enhancement layer video; and
combine the encoded base layer video and encoded enhancement layer video to produce a bitstream of encoded video.
14. A non-transitory computer-readable medium having stored thereon computer-executable instructions for encoding an input video to create an encoded video in a scalable video format, wherein the input video includes full-resolution frames, wherein the scalable video format includes an encoded base layer video at a spatially downsampled base layer resolution and an encoded enhancement layer video at a higher resolution, and wherein the computer-executable instructions, when executed by a processor, configure the processor to
obtain full-resolution residual values for the full-resolution frames;
spatially downsample the full-resolution residual values to the base layer resolution to generate downsampled residuals;
spatially downsample the input video to create a base layer video at the base layer resolution;
encode the base layer video, using a motion estimation process that employs a motion estimation rate-distortion optimization expression, wherein the motion estimation rate-distortion optimization expression includes the downsampled residuals, to produce the encoded base layer video;
encode an enhancement layer video at the higher resolution, using a scalable video coding process, to produce the encoded enhancement layer video; and
combine the encoded base layer video and encoded enhancement layer video to produce a bitstream of encoded video.
15. A non-transitory computer-readable medium having stored thereon the bitstream of encoded video produced by the method claimed in claim 1 .