3d transform and inter prediction for video coding
AssigneeBlackBerry Limited
InventorDake HE
Life of this patent
Estimating the term…
Abstract
Methods and devices for video coding using inter prediction and three-dimensional transform. A sequence of pictures in the video is partitioned into coding cuboids. A predicted cuboid is generated for one of the coding cuboids using interprediction, including at least one motion vector and at least one reference picture index. The difference between the coding cuboid and the predicted cuboid results in a cuboid of residuals, which is then spectrally transformed using a three-dimensional transform to create a cuboid of transform domain coefficients, which are then entropy encoded. The decoding process generates the same predicted cuboid and reconstructs the cuboid of pixels using the predicted cuboid and a cuboid of reconstructed residuals.
Claims24
A method of decoding a video from a bitstream, the video including a sequence of pictures in a coding order, the method comprising:
- decoding a partition mode from the bitstream, the partition mode defining the partitioning of a portion of the sequence of pictures into a plurality of rectangular coding cuboids, at least one rectangular coding cuboid including portions of two or more consecutive pictures in the coding order;
- decoding, from the bitstream, inter-prediction information associated with the at least one rectangular coding cuboid, including at least one motion vector and at least one reference picture index;
- generating a predicted cuboid for said at least one rectangular coding cuboid based on the at least one motion vector and the at least one reference picture index;
- reconstructing a cuboid of transform domain coefficients from the bitstream;
- dequantizing and three-dimensional inverse transforming the cuboid of transform domain coefficients to produce a reconstructed residual cuboid;
- and
- reconstructing the pixels of said at least one rectangular coding cuboid as the sum of the predicted cuboid and the reconstructed residual cuboid.
A decoder for decoding a video from a bitstream, the video including a sequence of pictures in a coding order, the decoder comprising:
- a processor;
- memory;
- and
- a decoding application containing instructions executable by the processor that, when executed, cause the processor to
- decode a partition mode from the bitstream, the partition mode defining the partitioning of a portion of the sequence of pictures into a plurality of rectangular coding cuboids, at least one rectangular coding cuboid including two or more consecutive pictures in the coding order;
- decode, from the bitstream, inter-prediction information associated with the at least one rectangular coding cuboid, including at least one motion vector and at least one reference picture index;
- generate a predicted cuboid for said at least one rectangular coding cuboid based on the at least one motion vector and the at least one reference picture index;
- reconstruct a cuboid of transform domain coefficients from the bitstream;
- dequantize and three-dimensional inverse transforming the cuboid of transform domain coefficients to produce a reconstructed residual cuboid;
- and
- reconstruct the pixels of said at least one rectangular coding cuboid as the sum of the predicted cuboid and the reconstructed residual cuboid.
A non-transitory processor-readable medium storing processor-executable instructions for decoding a video from a bitstream, the video including a sequence of pictures in a coding order, wherein the processor-executable instructions, when executed by a processor in the video or image decoder, cause the processor to:
- decode a partition mode from the bitstream, the partition mode defining the partitioning of a portion of the sequence of pictures into a plurality of rectangular coding cuboids, at least one rectangular coding cuboid including two or more consecutive pictures in the coding order;
- decode, from the bitstream, inter-prediction information associated with the at least one rectangular coding cuboid, including at least one motion vector and at least one reference picture index;
- generate a predicted cuboid for said at least one rectangular coding cuboid based on the at least one motion vector and the at least one reference picture index;
- reconstruct a cuboid of transform domain coefficients from the bitstream;
- dequantize and three-dimensional inverse transforming the cuboid of transform domain coefficients to produce a reconstructed residual cuboid;
- and
- reconstruct the pixels of said at least one rectangular coding cuboid as the sum of the predicted cuboid and the reconstructed residual cuboid.
A method of encoding a video in a video encoder to produce a bitstream, the video including a sequence of pictures in a coding order, the sequence of pictures being partitioned into a plurality of rectangular coding cuboids, at least one rectangular coding cuboid including portions of two or more consecutive pictures in the coding order, the method comprising:
- selecting inter-prediction information for the at least one rectangular coding cuboid, including at least one motion vector and at least one reference picture index;
- generating a predicted cuboid for said at least one rectangular coding cuboid based on the at least one motion vector and the at least one reference picture index;
- determining a cuboid of residuals by subtracting the predicted cuboid from said at least one rectangular coding cuboid;
- three-dimensional spectral transforming and quantizing the cuboid of residuals to generate a cuboid of transform domain coefficients;
- and
- entropy encoding the cuboid of transform domain coefficients and the inter-prediction information.
An encoder for encoding a video to produce a bitstream of encoded data, the video including a sequence of pictures in a coding order, the sequence of pictures being partitioned into a plurality of rectangular coding cuboids, at least one rectangular coding cuboid including portions of two or more consecutive pictures in the coding order, the encoder comprising:
- a processor;
- memory;
- and
- an encoding application containing instructions executable by the processor that, when executed, cause the processor to
- select inter-prediction information for the at least one rectangular coding cuboid, including at least one motion vector and at least one reference picture index;
- generate a predicted cuboid for said at least one rectangular coding cuboid based on the at least one motion vector and the at least one reference picture index;
- determine a cuboid of residuals by subtracting the predicted cuboid from said at least one rectangular coding cuboid;
- three-dimensional spectral transform and quantize the cuboid of residuals to generate a cuboid of transform domain coefficients;
- and
- entropy encode the cuboid of transform domain coefficients and the inter-prediction information.
A non-transitory processor-readable medium storing processor-executable instructions for encoding an image in a video or image encoder to produce a bitstream, the video including a sequence of pictures in a coding order, the sequence of pictures being partitioned into a plurality of rectangular coding cuboids, at least one rectangular coding cuboid including portions of two or more consecutive pictures in the coding order, wherein the processor-executable instructions, when executed by a processor in the video or image encoder, cause the processor to:
- select inter-prediction information for the at least one rectangular coding cuboid, including at least one motion vector and at least one reference picture index;
- generate a predicted cuboid for said at least one rectangular coding cuboid based on the at least one motion vector and the at least one reference picture index;
- determine a cuboid of residuals by subtracting the predicted cuboid from said at least one rectangular coding cuboid;
- three-dimensional spectral transform and quantize the cuboid of residuals to generate a cuboid of transform domain coefficients;
- and
- entropy encode the cuboid of transform domain coefficients and the inter-prediction information.
Dependencies are inferred from the claim text.