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.
Claims21
-20. (canceled)
A computer system comprising:
- a video encoder, implemented using one or more processors and memory, configured to perform encoding operations to encode video, thereby producing encoded data as part of a bitstream, wherein the encoding operations include, for a current block of pixel values of a transform unit (TU) for a coding unit (CU) of a frame of the video:
- determining intra-frame prediction values for the current block;
- based at least in part on the intra-frame prediction values, determining intra-frame prediction residual information for the current block;
- selectively performing a transform on the intra-frame prediction residual information for the current block, thereby producing residual values for the current block;
- quantizing the residual values for the current block;
- determining that the TU is a leaf TU;
- and
- based at least in part on the determination that the TU is a leaf TU, setting a flag, in the bitstream, for the current block, the flag indicating whether or not an inverse transform is to be used during decoding for the current block, wherein the inverse transform is to be performed if the flag indicates the inverse transform is to be used during the decoding for the current block, and wherein the inverse transform is to be skipped if the flag indicates the inverse transform is not to be used during the decoding for the current block;
- and
- memory configured to store the encoded data.
One or more computer-readable memory or storage devices having stored thereon encoded data, in a bitstream, for a frame of video, wherein the encoded data includes a flag for a current block of pixel values of a transform unit (TU) for a coding unit (CU) of the frame, the flag indicating whether or not an inverse transform is to be used during decoding for the current block, the encoded data having been produced with operations that include, for the current block:
- determining intra-frame prediction values for the current block;
- based at least in part on the intra-frame prediction values, determining intra-frame prediction residual information for the current block;
- selectively performing a transform on the intra-frame prediction residual information for the current block, thereby producing residual values for the current block;
- quantizing the residual values for the current block;
- determining that the TU is a leaf TU;
- and
- based at least in part on the determination that the TU is a leaf TU, setting the flag indicating whether or not the inverse transform is to be used during decoding for the current block, wherein the inverse transform is to be performed if the flag indicates the inverse transform is to be used during the decoding for the current block, and wherein the inverse transform is to be skipped if the flag indicates the inverse transform is not to be used during the decoding for the current block.
In a computing device that implements a video decoder, a method of decoding encoded data, from a bitstream, for a frame of video, wherein the method includes, for a current block of pixel values of a transform unit (TU) for a coding unit (CU) of the frame:
- determining that the TU is a leaf TU;
- based at least in part on the determination that the TU is a leaf TU, referencing a flag, in the bitstream, for the current block, the flag indicating whether or not an inverse transform is used during the decoding for the current block;
- inverse quantizing residual values for the current block;
- selectively performing an inverse transform on the inverse quantized residual values for the current block, thereby producing intra-frame prediction residual information, wherein the inverse transform is performed if the flag indicates the inverse transform is used during the decoding for the current block, and wherein the inverse transform is skipped if the flag indicates the inverse transform is not used during the decoding for the current block;
- determining intra-frame prediction values for the current block;
- and
- combining the intra-frame prediction residual information and the intra-frame prediction values for the current block.
Dependencies are inferred from the claim text.