Systems and methods for extended multi-residue block coding
The various implementations described herein include methods and systems for coding video. In one aspect, a method includes receiving a video bitstream comprising a plurality of coding blocks including a current block. The method includes deriving a first residual block for the current block using a first set of parameters. The method includes deriving a second residual block for the current block using a second set of parameters, where the second set of parameters is independent of the first set of parameters. The method includes deriving a combined residual block using the first residual block and the second residual block. The method also includes reconstructing the current block using the combined residual block.
1 . A method of video decoding performed at a computing system having memory and one or more processors, the method comprising:
receiving a video bitstream comprising a plurality of coding blocks including a current block;
deriving a first residual block for the current block using a first set of parameters, wherein the first residual block corresponds to a lossy coding mode and has a quantization step size that is greater than a predefined default value;
deriving a second residual block for the current block using a second set of parameters, wherein the second set of parameters is independent of the first set of parameters and the second residual block corresponds to a lossless coding mode and has a quantization step size that is within the predefined default value;
deriving a combined residual block according to a weighted sum of the first residual block and the second residual block; and
reconstructing the current block using the combined residual block.
2 . The method of claim 1 , wherein the first residual block corresponds to a first transform block size, and wherein the second residual block corresponds to a second transform block size that is different than the first transform block size.
3 . The method of claim 2 , wherein the first transform block size and the second transform block size are selected from a group consisting of: 4×4, 8×8, 16×16, and 32×32.
4 . The method of claim 2 , wherein the first transform block size is a fixed size and wherein a transform type for the first residual block is fixed.
5 . The method of claim 2 , wherein the first transform block size is a fixed size and wherein the second transform block size is selected from a predefined group of transform sizes.
6 . The method of claim 1 , wherein:
the second residual block corresponds to a lossless coding mode; and
in accordance with the second residual block having an identity transform type, the second residual block corresponds to a transform block size selected from a group consisting of: 4×4, 8×8, 16×16, and 32×32.
7 . The method of claim 1 , wherein the first residual block corresponds to a first transform kernel type, and wherein the second residual block corresponds to a second transform kernel type that is different than the first transform kernel type.
8 . The method of claim 7 , wherein the first transform kernel type is selected from a first transform kernel set, and wherein the second transform kernel type is selected from a second transform kernel set that is different than the first transform kernel set.
9 . The method of claim 7 , wherein a respective primary transform kernel is predefined or signaled for each of the first residual block and the second residual block.
10 . The method of claim 7 , wherein the second residual block corresponds to a lossless coding mode, and wherein the second transform kernel type is restricted to a set of lossless transforms.
11 . The method of claim 1 , wherein the first residual block corresponds to a first secondary transform type, and wherein the second residual block corresponds to a second secondary transform type that is different than the first secondary transform type.
12 . The method of claim 1 , wherein the first residual block corresponds to application of a secondary transform, and wherein the second residual block corresponds to no secondary transform being applied.
13 . The method of claim 1 , wherein the first residual block corresponds to a first quantization index, and wherein the second residual block corresponds to a second quantization index that is different than the first quantization index.
14 . The method of claim 13 , wherein the first quantization index is determined from a base quantization value signaled at a first coding level and an index delta signaled at a second coding level that is less than the first coding level.
15 . The method of claim 13 , wherein at least one of the first quantization index and the second quantization index is not signaled in the video bitstream.
16 . The method of claim 1 , further comprising:
determining a context for entropy coding the first set of parameters using coded information that includes one or more of: a residue mode, a transform size, a transform type, a quantization index, and a secondary transform mode; and
entropy encoding the first set of parameters using the determined context.
17 . A computing system, comprising:
control circuitry;
memory; and
one or more sets of instructions stored in the memory and configured for execution by the control circuitry, the one or more sets of instructions comprising instructions for:
receiving video data comprising a plurality of blocks including a current block;
deriving a first residual block for the current block using a first set of parameters,
wherein the first residual block corresponds to a lossy coding mode and has a quantization step size that is greater than a predefined default value;
deriving a second residual block for the current block using a second set of parameters, wherein the second set of parameters is independent of the first set of parameters and the second residual block corresponds to a lossless coding mode and has a quantization step size that is within the predefined default value; and
signaling the first residual block and the second residual block in a video bitstream.
18 . The computing system of claim 17 , further comprising signaling, via the video bitstream, at least one of the first set of parameters and the second set of parameters.
19 . The computing system of claim 17 , wherein the first residual block corresponds to a first transform block size, and wherein the second residual block corresponds to a second transform block size that is different than the first transform block size.
20 . A non-transitory computer-readable storage medium storing one or more instructions and a video bitstream that is generated by a video encoding method, the one or more instructions when executed by a processor, cause a computing system to perform the video encoding method, the video encoding method comprising:
obtaining a video bitstream, including:
receiving video data comprising a plurality of blocks including a current block;
deriving a first residual block for the current block using a first set of parameters, wherein the first residual block corresponds to a lossy coding mode and has a quantization step size that is greater than a predefined default value;
deriving a second residual block for the current block using a second set of parameters, wherein the second set of parameters is independent of the first set of parameters and the second residual block corresponds to a lossless coding mode and has a quantization step size that is within the predefined default value; and
signaling the first residual block and the second residual block in a video bitstream; and
transmitting the video bitstream, including the signaled first residual block and the signaled second residual block.