# US 11,910,005 B2 · Block vector prediction in video and image coding/decoding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,910,005 B2
- Document ID: US11910005B2
- Status: Granted
- Kind: B2
- Application number: 17/751,392
- Filed: 2022-05-23
- Published: 2022-09-15
- Granted: 2024-02-20
- Earliest claimed: 2019-09-20
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Lihua Zhu; Gary J. Sullivan; Jizheng Xu; Sridhar Sankuratri; B. Anil Kumar; Feng Wu
- Web page: https://patentgrep.com/patent/US11910005B2

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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.

## Claims

### Claim 1

A computing device comprising:
a video encoder configured to perform operations to encode a picture, thereby producing encoded data in a bitstream, the operations comprising:
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 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
a buffer configured to store, for output, the encoded data in the bitstream, the encoded data including a merge mode index value that indicates the selected BV predictor candidate.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the encoded data lacks a BV differential for the current block, and wherein the encoded data lacks residual data for the current block.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the merge mode index value is a flag value, the set of multiple BV predictor candidates having two BV predictor candidates.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the merge mode index value is an integer value, the set of multiple BV predictor candidates having more than two BV predictor candidates.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the multiple BV predictor candidates include up to x actual BV values of the previous blocks, wherein x is at least 2, and wherein the previous blocks are identified based at least in part on location in the neighborhood around the current block.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the encoded data further includes an indication that the current block is encoded in merge mode.

### Claim 7

One or more non-volatile memory or storage devices having stored thereon encoded data in a bitstream, the encoded data including a merge mode index value for a current block of a picture, the current block having been compressed with intra-picture coding in merge mode, the encoded data having been encoded, with a computing device that implements a video encoder, by operations comprising:
determining a set of multiple block vector (“BV”) predictor candidates for the current block, the set of multiple BV predictor candidates including 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, the merge mode index value indicating the selected BV predictor candidate; and
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.

### Claim 8 (depends on 7)

The one or more non-volatile memory or storage devices of claim 7, wherein the encoded data lacks a BV differential for the current block, and wherein the encoded data lacks residual data for the current block.

### Claim 9 (depends on 7)

The one or more non-volatile memory or storage devices of claim 7, wherein the merge mode index value is a flag value, the set of multiple BV predictor candidates having two BV predictor candidates.

### Claim 10 (depends on 7)

The one or more non-volatile memory or storage devices of claim 7, wherein the merge mode index value is an integer value, the set of multiple BV predictor candidates having more than two BV predictor candidates.

### Claim 11 (depends on 7)

The one or more non-volatile memory or storage devices of claim 7, wherein the multiple BV predictor candidates include up to x actual BV values of the previous blocks, wherein x is at least 2, and wherein the previous blocks are identified based at least in part on location in the neighborhood around the current block.

### Claim 12 (depends on 7)

The one or more non-volatile memory or storage devices of claim 7, wherein the encoded data further includes an indication that the current block is encoded in merge mode.

### Claim 13

In a computing device that implements a video decoder, a method comprising:
receiving encoded data in a bitstream, the encoded data including a merge mode index value; and
decoding the encoded data to reconstruct a picture, including:
parsing, from the bitstream, the merge mode index value;
determining a set of multiple block vector (“BV”) predictor candidates for a current block of a picture, the current block having been compressed with intra-picture coding in merge mode, the set of multiple BV predictor candidates including 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
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.

### Claim 14 (depends on 13)

The method of claim 13, wherein the encoded data lacks a BV differential for the current block, and wherein the encoded data lacks residual data for the current block.

### Claim 15 (depends on 13)

The method of claim 13, wherein the merge mode index value is a flag value, the set of multiple BV predictor candidates having two BV predictor candidates.

### Claim 16 (depends on 13)

The method of claim 13, wherein the merge mode index value is an integer value, the set of multiple BV predictor candidates having more than two BV predictor candidates.

### Claim 17 (depends on 13)

The method of claim 13, wherein the multiple BV predictor candidates include up to x actual BV values of the previous blocks, wherein x is at least 2, and wherein the previous blocks are identified based at least in part on location in the neighborhood around the current block.

### Claim 18 (depends on 13)

The method of claim 13, wherein the decoding the encoded data to reconstruct the picture further comprises:
parsing, from the bitstream, an indication that the current block is encoded in merge mode.

### Claim 19 (depends on 13)

The method of claim 13, wherein at least one BV predictor candidate in the set of multiple BV predictor candidates is a default BV predictor that is conditional used depending on whether an actual BV value of one of the previous blocks is available.

### Claim 20 (depends on 19)

The method of claim 19, wherein the default BV predictor has a non-zero value for a horizontal component and/or a non-zero value for a vertical component.
