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
(canceled)
A computer system comprising one or more processing units and memory, wherein the computer system implements a video encoder configured to perform operations comprising:
- determining intra prediction values for a current block of pixel values;
- based at least in part on the intra prediction values, determining intra prediction residual information for the current block;
- selectively performing a transform on the intra prediction residual information for the current block, thereby producing residual values for the current block;
- quantizing the residual values for the current block;
- entropy coding the quantized residual values for the current block using context-based binary arithmetic coding, including using different information in the entropy coding the quantized residual values for the current block depending on whether or not the transform has been performed on the intra prediction residual information for the current block;
- setting a flag, the flag at least in part indicating whether or not an inverse transform is to be used during decoding for the intra prediction residual information for the current block, 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 intra prediction residual information for the current block;
- and
- outputting the flag and the entropy-coded quantized residual values for the current block.
In a computer system that implements a video decoder, a method comprising:
- receiving a flag and entropy-coded quantized residual values for a current block of pixel values;
- referencing the flag, the flag at least in part indicating whether or not an inverse transform is used during decoding for intra prediction residual information for the current block;
- entropy decoding the entropy-coded quantized residual values for the current block, the entropy-coded quantized residual values for the current block having been entropy coded using context-based binary arithmetic coding in which different information has been used in entropy coding quantized residual values for the current block depending on whether or not a transform has been performed on the intra prediction residual information for the current block;
- inverse quantizing the quantized residual values for the current block;
- selectively performing an inverse transform on the inverse quantized residual values for the current block, thereby producing the intra prediction residual information, wherein the inverse transform is skipped if the flag indicates the inverse transform is not used during the decoding for the intra prediction residual information for the current block;
- determining intra prediction values for the current block;
- and
- combining the intra prediction residual information and the intra prediction values for the current block.
One or more non-transitory computer-readable media having stored thereon a flag, the flag at least in part indicating whether or not an inverse transform is used during decoding for intra prediction residual information for a current block of pixel values, and wherein the encoded data further includes entropy-coded quantized residual values for the current block, the encoded data being organized to facilitate decoding, using a computer-implemented video decoder comprising one or more processing units, with operations that include:
- entropy decoding the entropy-coded quantized residual values for the current block, the entropy-coded quantized residual values for the current block having been entropy coded using context-based binary arithmetic coding in which different information has been used in entropy coding quantized residual values for the current block depending on whether or not a transform has been performed on the intra prediction residual information for the current block;
- inverse quantizing the quantized residual values for the current block;
- selectively performing an inverse transform on the inverse quantized residual values for the current block, thereby producing the intra prediction residual information, wherein the inverse transform is skipped if the flag indicates the inverse transform is not used during the decoding for the intra prediction residual information for the current block;
- determining intra prediction values for the current block;
- and
- combining the intra prediction residual information and the intra prediction values for the current block.
Dependencies are inferred from the claim text.