Block vector prediction in video and image coding/decoding
AssigneeMicrosoft Technology Licensing, LLC
InventorsLihua Zhu, Gary J. Sullivan, Jizheng Xu, Sridhar Sankuratri, B. Anil Kumar, Feng Wu
Life of this patent
Estimating the term…
Abstract
Innovations in the area of prediction of block vector (“BV”) values improve encoding or decoding of blocks using intra block copy (“BC”) prediction. For example, some of the innovations relate to use of a default BV predictor with a non-zero value. Other innovations relate to use of a selected one of multiple BV predictor candidates for a current block. Still other innovations relate to use of a skip mode in which a current intra-BC-predicted block uses a predicted BV value.
Claims20
One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing a computer system that implements a video encoder, when programmed thereby, to perform operations comprising:
- encoding a picture, thereby producing encoded data for the picture, wherein the encoding the picture includes:
- determining a set of multiple block vector (“BV”) predictor candidates for a current block of the picture, the current block being compressed with intra-picture coding in merge mode, the set of multiple BV predictor candidates including one or more actual BV values of previous blocks in a neighborhood around the current block, wherein the determining the set of multiple BV predictor candidates for the current block includes:
- determining that a given BV predictor candidate is redundant with one of the set of multiple BV predictor candidates for the current block;
- and
- replacing the given BV predictor candidate with another BV predictor candidate of the set of multiple BV predictor candidates for the current block;
- selecting one of the multiple BV predictor candidates to use for the current block;
- encoding the current block using intra block copy prediction with the selected BV predictor candidate, wherein the selected BV predictor candidate indicates a displacement to a region within the picture;
- and
- outputting, as part of a bitstream, the encoded data, wherein the encoded data includes a merge mode index value that indicates the selected BV predictor candidate, and wherein the encoded data further includes one or more syntax elements indicating that the current block has been compressed with intra-picture coding in merge mode.
In a computer system comprising one or more processing units and memory, a method comprising:
- receiving encoded data in a bitstream, the encoded data including a merge mode index value for a current block of a picture, the encoded data further including one or more syntax elements indicating that the current block has been compressed with intra-picture coding in merge mode;
- and
- storing the encoded data, the encoded data being usable to cause a video decoder, when processing the encoded data, to perform decoding operations comprising:
- determining a set of multiple block vector (“BV”) predictor candidates for the current block, the set of multiple BV predictor candidates including one or more actual BV values of previous blocks in a neighborhood around the current block, wherein the determining the set of multiple BV predictor candidates for the current block includes:
- determining that a given BV predictor candidate is redundant with one of the set of multiple BV predictor candidates for the current block;
- and
- replacing the given BV predictor candidate with another BV predictor candidate of the set of multiple BV predictor candidates for the current block;
- based on the merge mode index value, selecting one of the multiple BV predictor candidates to use for the current block;
- and
- based on the one or more syntax elements indicating that the current block has been compressed with intra-picture coding in merge mode, decoding the current block using intra block copy prediction with the selected BV predictor candidate, wherein the selected BV predictor candidate indicates a displacement to a region within the picture.
One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing a computer system that implements a video decoder, when programmed thereby, to perform operations comprising:
- receiving encoded data in a bitstream, the encoded data including a merge mode index value for a current block of a picture, the encoded data further including one or more syntax elements indicating that the current block has been compressed with intra-picture coding in merge mode;
- and
- decoding the encoded data to reconstruct a picture, including:
- determining a set of multiple block vector (“BV”) predictor candidates for the current block, the set of multiple BV predictor candidates including one or more actual BV values of previous blocks in a neighborhood around the current block, wherein the determining the set of multiple BV predictor candidates for the current block includes:
- determining that a given BV predictor candidate is redundant with one of the set of multiple BV predictor candidates for the current block;
- and
- replacing the given BV predictor candidate with another BV predictor candidate of the set of multiple BV predictor candidates for the current block;
- based on the merge mode index value, selecting one of the multiple BV predictor candidates to use for the current block;
- and
- based on the one or more syntax elements indicating that the current block has been compressed with intra-picture coding in merge mode, decoding the current block using intra block copy prediction with the selected BV predictor candidate, wherein the selected BV predictor candidate indicates a displacement to a region within the picture.
Dependencies are inferred from the claim text.