Non-transform coding
AssigneeMicrosoft Technology Licensing, LLC
InventorsJizheng Xu, Cuiling Lan
Life of this patent
Estimating the term…
Abstract
Techniques for selectively transforming one or more coding units when coding video content are described herein. The techniques may include determining whether or not to transform a particular coding unit. The determination may be based on a difference in pixel values of the particular coding unit and/or one or more predefined rate-distortion constraints. When it is determined to not perform a transform, the particular coding unit may be coded without transforming the particular coding unit.
Claims20
In a computing device that implements a video decoder, a method comprising:
- receiving a bitstream of encoded data;
- and
- decoding the encoded data to reconstruct one or more frames of video, wherein the decoding includes, for a current block of pixel values of a transform unit (TU) for a coding unit (CU) of a current frame among the one or more frames of video:
- inverse quantizing residual values for the current block;
- if the TU is a leaf TU:
- determining, from the bitstream, a flag for the current block, the flag indicating whether or not an inverse transform is used during the decoding for the current block;
- selectively performing an inverse transform on the inverse quantized residual values for the current block, thereby producing residual information, wherein the inverse transform is performed if the flag indicates the inverse transform is used during the decoding for the current block but skipped if the flag indicates the inverse transform is not used during the decoding for the current block;
- and
- if the TU is not a leaf TU, performing the inverse transform on the quantized residual values for the current block, thereby producing the residual information.
A computing device comprising one or more processors and memory, wherein the computing device implements a video decoder configured to perform operations comprising:
- receiving a bitstream of encoded data;
- and
- decoding the encoded data to reconstruct one or more frames of video, wherein the decoding includes, for a current block of pixel values of a transform unit (TU) for a coding unit (CU) of a current frame among the one or more frames of video:
- inverse quantizing residual values for the current block;
- if the TU is a leaf TU:
- determining, from the bitstream, a flag for the current block, the flag indicating whether or not an inverse transform is used during the decoding for the current block;
- selectively performing an inverse transform on the inverse quantized residual values for the current block, thereby producing residual information, wherein the inverse transform is performed if the flag indicates the inverse transform is used during the decoding for the current block but skipped if the flag indicates the inverse transform is not used during the decoding for the current block;
- and
- if the TU is not a leaf TU, performing the inverse transform on the quantized residual values for the current block, thereby producing the residual information.
One or more computer storage devices having stored thereon computer-executable instructions for causing a computing device, when programmed thereby, to perform operations comprising:
- receiving a bitstream of encoded data;
- and
- decoding the encoded data to reconstruct one or more frames of video, wherein the decoding includes, for a current block of pixel values of a transform unit (TU) for a coding unit (CU) of a current frame among the one or more frames of video:
- inverse quantizing residual values for the current block;
- if the TU is a leaf TU:
- determining, from the bitstream, a flag for the current block, the flag indicating whether or not an inverse transform is used during the decoding for the current block;
- selectively performing an inverse transform on the inverse quantized residual values for the current block, thereby producing residual information, wherein the inverse transform is performed if the flag indicates the inverse transform is used during the decoding for the current block but skipped if the flag indicates the inverse transform is not used during the decoding for the current block;
- and
- if the TU is not a leaf TU, performing the inverse transform on the quantized residual values for the current block, thereby producing the residual information.
Dependencies are inferred from the claim text.