Scanning orders for non-transform coding
AssigneeMicrosoft Technology Licensing, LLC
InventorsXiulian Peng, Jizheng Xu
Life of this patent
Estimating the term…
Abstract
Non-transform blocks of video content may be coded by selectively changing a scanning order. In some implementations, an encoder or decoder may perform a scanning process on a block according to a scanning order. When the block has not been transformed, the encoder or decoder may selectively change the scanning order to a different order. For example, if the block is associated with a particular type of prediction, the scanning order may be changed to a different order. In another example, if the non-transform block has a size that is smaller than a predetermined size, the scanning order may be changed to a different order.
Claims20
One or more computer-readable storage media storing a bitstream organized to facilitate decoding operations by a video decoder, the operations comprising, for one or more coding units (“CUs”) in a current image:
- determining prediction values for one or more prediction blocks associated with the one or more CUs in the current image by intra-frame prediction using one or more reference blocks within the current image;
- decoding residual values for a first transform block and second transform block in the current image, including:
- identifying the first transform block, the first transform block being associated with a transform coding mode and having an associated block size, the first transform block being associated with the one or more CUs in the current image;
- based at least in part on comparison of the block size of the first transform block to a predetermined size and based at least in part on the first transform block being associated with the transform coding mode, determining to scan the first transform block according to a particular scanning order;
- scanning the first transform block according to the particular scanning order;
- identifying the second transform block, the second transform block being associated with a non-transform coding mode and having an associated block size that is the same as the block size of the first transform block, the second transform block also being associated with the one or more CUs in the current image;
- based at least in part on comparison of the block size of the second transform block to the predetermined size and based at least in part on the second transform block being associated with the non-transform coding mode, determining to scan the second transform block according to an inverse scanning order that is inverse to the particular scanning order for scanning the first transform block;
- scanning the second transform block according to the inverse scanning order;
- and
- combining the prediction values with the residual values.
A method implemented by a computing device, the method comprising, for one or more coding units (“CUs”) in a current image:
- determining prediction values for one or more prediction blocks associated with the one or more CUs in the current image by intra-frame prediction using one or more reference blocks within the current image;
- decoding residual values of a first transform block and second transform block in the current image, including:
- identifying the first transform block, the first transform block being associated with a transform coding mode, wherein the first transform block has a block size of 4×4, the first transform block being associated with the one or more CUs in the current image;
- based at least in part on comparison of the block size of the first transform block to a predetermined size and based at least in part on determining that the first transform block is associated with the transform coding mode, scanning the first transform block according to a particular scanning order for scanning the first transform block;
- identifying the second transform block, the second transform block being associated with a non-transform coding mode, wherein the second transform block has a block size of 4×4, the second transform block also being associated with the one or more CUs in the current image;
- and
- based at least in part on comparison of the block size of the second transform block to the predetermined size and based at least in part on determining that the second transform block is associated with the non-transform coding mode, scanning the second transform block according to an inverse scanning order, wherein the inverse scanning order is inverse to the particular scanning order;
- and
- combining the prediction values and the residual values.
A system comprising:
- one or more processors;
- and
- a decoder implemented at least in part by the one or more processors and configured to perform decoding operations to decode a bitstream, the operations comprising, for one or more coding units (“CUs”) in a current image:
- determining prediction values for one or more prediction blocks associated with the one or more CUs in the current image by intra-frame prediction using one or more reference blocks within the current image;
- decoding residual values of a first transform block and second transform block in the current image, including:
- identifying the first transform block, the first transform block being associated with a transform coding mode, wherein the first transform block has a block size of 4×4, the first transform block being associated with the one or more CUs in the current image;
- based at least in part on comparison of the block size of the first transform block to a predetermined size and based at least in part on determining that the first transform block is associated with the transform coding mode, scanning the first transform block according to a particular scanning order for scanning the first transform block;
- identifying the second transform block, the second transform block being associated with a non-transform coding mode, wherein the second transform block has a block size of 4×4, the second transform block also being associated with the one or more CUs in the current image;
- and
- based at least in part on comparison of the block size of the second transform block to the predetermined size and based at least in part on determining that the second transform block is associated with the non-transform coding mode, scanning the second transform block according to an inverse scanning order, wherein the inverse scanning order is inverse to the particular scanning order;
- and
- combining the prediction values and the residual values.
Dependencies are inferred from the claim text.