Systems and methods for blend intra mode coding
The various implementations described herein include methods and systems for encoding and decoding video. In one aspect, a method of video decoding includes receiving video data comprising a plurality of blocks, including a first block, from a video bitstream, where the first block is encoded in one of a plurality of smooth modes. The method also includes identifying a set of reference samples for the first block and deriving a first prediction value for the first block, where the first prediction value is derived from a second prediction value, the second prediction value is derived without a division or shift operation, and a final step in deriving the first prediction value comprises a division or shift operation. The method further includes decoding the first block using the first prediction value.
1 . A method of video decoding performed at a computing system having memory and one or more processors, the method comprising:
receiving video data comprising a plurality of blocks, including a first block, from a video bitstream, wherein the first block is encoded in one of a plurality of smooth modes;
identifying a set of reference samples for the first block;
deriving a first prediction value for the first block, wherein the first prediction value is derived from a second prediction value, wherein the second prediction value is derived without a division or shift operation, and wherein a final step in deriving the first prediction value comprises a division or shift operation;
wherein, when the first block is encoded in a horizontal smooth mode, the second prediction value, P2, is derived according to P2=(L·(W−1−x)+TR·(x+1)·H, wherein W is a width of the first block, H is a height of the first block, L is a left reference sample from a location that is left of the first block, and TR is top-right reference sample from a location that is top right of the first block; and
wherein, when the first block is encoded in a vertical smooth mode, the second prediction value, P2, is derived according to P2=(T·(H−1−y)+BL·(y+1))·W, wherein T is a top reference sample from a location that is above the first block, and BL is bottom-left reference sample from a location that is bottom left of the first block; and
decoding the first block using the first prediction value.
2 . The method of claim 1 , further comprising deriving a fourth prediction value for the first block, wherein the first prediction value is derived from a combination of the second prediction value and the fourth prediction value.
3 . The method of claim 2 , wherein the fourth prediction value is derived without a division or shift operation.
4 . The method of claim 2 , wherein the fourth prediction value is a refined prediction value derived from a fifth prediction value.
5 . The method of claim 4 , wherein the fifth prediction value is derived via a second linear interpolation function involving a second reference sample of the set of reference samples and a height and a width of the first block.
6 . The method of claim 5 , wherein the second linear interpolation function does not include a division or shift operation.
7 . The method of claim 1 , wherein deriving the first prediction value for the first block includes performing a right shift operation.
8 . The method of claim 1 , wherein the first prediction value, P, is derived using P=(P′ H +P′ V +r)/(2·N·W·H), wherein P′ H is a horizontal prediction value, P′ V is a vertical prediction value, r is a rounding offset, and N is a predefined value.
9 . The method of claim 1 , wherein the first prediction value, P, is derived using P=(P′ H +P′ V +r)/(2·N·W·H/2 s V1 +s V2 ), wherein P′ H is a horizontal prediction value, P′ V is a vertical prediction value, r is a rounding offset, N is a predefined value, s V1 is a first shift value, and s V2 is a second shift value.
10 . The method of claim 1 , further comprising deriving a refined prediction value from the second prediction value, wherein the refined prediction value is derived without a division or shift operation, and wherein the first prediction value is derived from the refined prediction value.
11 . The method of claim 10 , wherein the refined prediction value is derived via a linear interpolation function involving a first reference sample of the set of reference samples and a height and a width of the first block.
12 . A method of video encoding performed at a computing system having memory and one or more processors, the method comprising:
receiving video data comprising a plurality of blocks, including a first block, wherein the first block is to be encoded in one of a plurality of smooth modes;
identifying a set of reference samples for the first block;
when the first block is to be encoded in a horizontal smooth mode, a first prediction value, P, is derived according to P=(L·(W−1−x)+TR·(x+1))·H, wherein W is a width of the first block, H is a height of the first block, L is a left reference sample from a location that is left of the first block, and TR is top-right reference sample from a location that is top right of the first block;
when the first block is to be encoded in a vertical smooth mode, the first prediction value, P, is derived according to P=(T·(H−1−y)+BL·(y+1))·W, wherein T is a top reference sample from a location that is above the first block, and BL is bottom-left reference sample from a location that is bottom left of the first block;
deriving a second prediction value for the first block, wherein the second prediction value is derived using the first prediction value, and wherein a final step in deriving the second prediction value comprises a division or shift operation; and
encoding the first block using the second prediction value.
13 . The method of claim 12 , further comprising deriving a refined prediction value from the first prediction value, wherein the refined prediction value is derived without a division or shift operation, and wherein the second prediction value is derived from the refined prediction value.
14 . The method of claim 13 , wherein the refined prediction value is derived via a linear interpolation function involving a first reference sample of the set of reference samples and a height and a width of the first block.
15 . The method of claim 12 , further comprising deriving a fourth prediction value for the first block, wherein the second prediction value is derived from a combination of the first prediction value and the fourth prediction value.
16 . The method of claim 12 , wherein deriving the second prediction value for the first block includes performing a right shift operation.
17 . A method of processing visual media data, the method comprising:
obtaining a source video sequence that comprises a plurality of frames; and
performing a conversion between the source video sequence and a video bitstream of visual media data according to a format rule;
wherein the video bitstream comprises a plurality of blocks, including a first block encoded in one of a plurality of smooth modes;
wherein the format rule specifies that:
a set of reference samples are to be identified for the first block;
when the first block is encoded in a horizontal smooth mode, a first prediction value, P, is to be derived according to P=(L·(W−1−x)+TR·(x+1))·H, wherein W is a width of the first block, H is a height of the first block, L is a left reference sample from a location that is left of the first block, and TR is top-right reference sample from a location that is top right of the first block;
when the first block is encoded in a vertical smooth mode, the first prediction value, P, is to be derived according to P=(T·(H−1−y)+BL·(y+1))·W, wherein T is a top reference sample from a location that is above the first block, and BL is bottom-left reference sample from a location that is bottom left of the first block;
a second prediction value is to be derived for the first block, the second prediction value being derived from the first prediction value, wherein a final step in deriving the second prediction value comprises a division or shift operation; and
the first block is to be decoded using the second prediction value.
18 . The method of claim 17 , wherein the format rule further specifies that a refined prediction value is to be derived from the first prediction value, wherein the refined prediction value is derived without a division or shift operation, and wherein the second prediction value is derived from the refined prediction value.
19 . The method of claim 18 , wherein the refined prediction value is derived via a linear interpolation function involving a first reference sample of the set of reference samples and a height and a width of the first block.
20 . The method of claim 17 , wherein the format rule further specifies that a fourth prediction value is to be derived for the first block, wherein the second prediction value is derived from a combination of the first prediction value and the fourth prediction value.