Encoder-side decisions for block flipping and skip mode in intra block copy prediction
First Claim
Patent Images
1. In a computing device with a video encoder or an image encoder, a method comprising:
- deciding whether a current block in a current picture is to be encoded using an intra block copy (“
BC”
) prediction in a skip mode, including;
performing a hash-based block matching for the current block;
determining that the hash-based block matching fails for the current block;
determining a reference region in the current picture, including selecting a predicted block vector (“
BV”
) value for the current block from among multiple available BV values in a neighborhood around the current block, wherein the predicted BV value indicates a displacement to the reference region in the current picture; and
determining that input sample values of the reference region identically match corresponding input sample values of the current block, a quantization parameter (“
QP”
) value for the current block being greater than or equal to a QP value for the reference region; and
encoding the current block using the intra BC prediction in the skip mode, the skip mode using the predicted BV value for the current block; and
outputting in a bitstream encoded data, wherein the bitstream lacks a BV differential value for the current block and lacks residual data for the current block.
1 Assignment
0 Petitions
Accused Products
Abstract
Innovations in the area of encoding blocks using hash-based block matching improve coding efficiency in many situations. For example, some of the innovations relate to encoder-side decisions about when to use block flipping during prediction. Other innovations relate to encoder-side decisions about when to use skip mode for a block predicted using intra block copy (“BC”) prediction.
182 Citations
15 Claims
-
1. In a computing device with a video encoder or an image encoder, a method comprising:
deciding whether a current block in a current picture is to be encoded using an intra block copy (“
BC”
) prediction in a skip mode, including;performing a hash-based block matching for the current block; determining that the hash-based block matching fails for the current block; determining a reference region in the current picture, including selecting a predicted block vector (“
BV”
) value for the current block from among multiple available BV values in a neighborhood around the current block, wherein the predicted BV value indicates a displacement to the reference region in the current picture; anddetermining that input sample values of the reference region identically match corresponding input sample values of the current block, a quantization parameter (“
QP”
) value for the current block being greater than or equal to a QP value for the reference region; andencoding the current block using the intra BC prediction in the skip mode, the skip mode using the predicted BV value for the current block; and outputting in a bitstream encoded data, wherein the bitstream lacks a BV differential value for the current block and lacks residual data for the current block. - View Dependent Claims (2, 3, 4, 5)
-
6. One or more computer-readable memory or storage devices storing computer-executable instructions for causing a computing device, when programmed thereby, to perform operations comprising:
-
deciding whether a current block in a current picture is to be encoded using an intra block copy (“
BC”
) prediction in a skip mode, including;performing a hash-based block matching for the current block; determining that the hash-based block matching fails for the current block; determining a reference region in the current picture, including selecting a predicted block vector (“
BV”
) value for the current block from among multiple available BV values in a neighborhood around the current block, wherein the predicted BV value indicates a displacement to the reference region in the current picture; anddetermining that input sample values of the reference region identically match corresponding input sample values of the current block, a quantization parameter (“
QP”
) value for the current block being greater than or equal to a QP value for the reference region; andencoding the current block using the intra BC prediction in the skip mode, the skip mode using the predicted BV value for the current block; and outputting in a bitstream encoded data, wherein the bitstream lacks a BV differential value for the current block and lacks residual data for the current block. - View Dependent Claims (7, 8, 14, 15)
-
-
9. A computing device comprising:
-
one or more buffers configured to store a current picture; and a video encoder or an image encoder configured to perform operations comprising; deciding whether a current block in the current picture is to be encoded using an intra block copy (“
BC”
) prediction in a skip mode, including;performing a hash-based block matching for the current block; determining that the hash-based block matching fails for the current block; determining a reference region in the current picture, including selecting a predicted block vector (“
BV”
) value for the current block from among multiple available BV values in a neighborhood around the current block, wherein the predicted BV value indicates a displacement to the reference region in the current picture; anddetermining that input sample values of the reference region identically match corresponding input sample values of the current block, a quantization parameter (“
QP”
) value for the current block being greater than or equal to a QP value for the reference region; andencoding the current block using the intra BC prediction in the skip mode, the skip mode using the predicted BV value for the current block; and outputting in a bitstream encoded data, wherein the bitstream lacks a BV differential value for the current block and lacks residual data for the current block. - View Dependent Claims (10, 11, 12, 13)
-
Specification