# US 2020/0288162 A1 · Biasing Selection of Motion Estimation Vectors

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

- Number: US 2020/0288162 A1
- Document ID: US20200288162A1
- Status: Published application
- Kind: A1
- Application number: 16/883,359
- Filed: 2020-05-26
- Published: 2020-09-10
- Earliest claimed: 2014-06-17
- Assignees: Imagination Technologies Limited
- Applicants: Imagination Technologies Limited
- Inventors: Steven Fishwick
- Web page: https://patentgrep.com/patent/US20200288162A1

## CPC

- H04N 19/513: Processing of motion vectors
- H04N 5/145: {Movement estimation (for video coding H04N19/51)}
- H04N 7/014: {involving the use of motion vectors (motion estimation and compensation in video coding H04N19/51)}
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/172: the region being a picture, frame or field
- H04N 19/182: the unit being a pixel
- H04N 19/577: Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A motion estimation technique finds first and second candidate bi-directional motion vectors for a first region of an interpolated frame of video content by performing double ended vector motion estimation on the first region. One of these candidate bi-directional motion vectors is selected, and used to identify a remote region of the interpolated frame. This remote region is located at an off-set location from the first region, and is found based on an endpoint of the selected candidate bi-directional motion vector. A remote motion vector for the remote region of the interpolated frame is obtained, and one or more properties of this remote motion vector are used to bias a selection between the first and second candidate vectors.

## Claims

### Claim 1

A motion estimation method comprising:
selecting a candidate motion vector for a first region of an interpolated frame;
selecting a second region of the interpolated frame based on a position of one end of the candidate motion vector;
identifying a remote motion vector associated with the second region of the interpolated frame; and
applying a bias to the candidate motion vector based on one or more properties associated with the remote motion vector.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the properties associated with the remote motion vector comprise at least one of: the magnitude of the remote motion vector; the direction of the remote motion vector; and a pixel match value relating to the similarity between a set of pixels located at each end of the remote motion vector.

### Claim 3 (depends on 1)

The method according to claim 1, wherein applying the bias comprises comparing one or more properties associated with the remote motion vector with one or more properties associated with the candidate motion vector.

### Claim 4 (depends on 3)

The method according to claim 3, wherein the comparing comprises at least one of:
comparing the magnitude of the remote motion vector with the magnitude of the candidate motion vector; and
comparing the direction of the remote motion vector with the direction of the candidate motion vector.

### Claim 5 (depends on 3)

The method according to claim 3, wherein applying the bias further comprises at least one of:
biasing the candidate motion vector to be more likely to be selected as an output vector if the one or more properties associated with the remote motion vector are within a predefined threshold of the one or more properties associated with the candidate motion vector; and
biasing the candidate motion vector to be less likely to be selected as an output vector if the one or more properties associated with the remote motion vector differ from the one or more properties associated with the candidate motion vector by more than a predefined threshold.

### Claim 6 (depends on 1)

The method according to claim 1, wherein applying the bias comprises comparing one or more properties associated with the remote motion vector against a predetermined value.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the comparing comprises calculating a pixel match value relating to the similarity between a set of pixels located at each end of the remote motion vector, and comparing the pixel match value against the predetermined value.

### Claim 8 (depends on 7)

The method according to claim 7, wherein applying the bias further comprises at least one of:
biasing the candidate motion vector to be less likely to be selected as an output vector if comparing the pixel match value to the predetermined value indicates that the pixels located at each end of the remote motion vector are dissimilar; and
biasing the candidate motion vector to be more likely to be selected as an output vector if comparing the pixel match value to the predetermined value indicates that the pixels located at each end of the remote motion vector are similar.

### Claim 9 (depends on 1)

The method according to claim 1 further comprising:
selecting a third region of the interpolated frame based on a position of another end of the candidate motion vector;
identifying a further remote motion vector associated with the third region of the interpolated frame; and
applying a further bias to the candidate motion vector based on one or more properties associated with the further remote motion vector.

### Claim 10 (depends on 1)

The method according to claim 1, further comprising choosing the candidate motion vector to be an output motion vector based on the bias, and outputting the output motion vector.

### Claim 11

A motion estimator, comprising:
a storage device storing a candidate motion vector for a first region of an interpolated frame;
region selection logic arranged to select a second region of the interpolated frame based on a position of one end of the candidate motion vector;
remote vector determination logic arranged to identify a remote motion vector associated with the second region of the interpolated frame; and
vector biasing logic arranged to apply a bias to the candidate motion vector based on one or more properties associated with the remote motion vector.

### Claim 12 (depends on 11)

The motion estimator according to claim 11, wherein the properties associated with the remote motion vector comprise at least one of: the magnitude of the remote motion vector; the direction of the remote motion vector; and a pixel match value relating to the similarity between a set of pixels located at each end of the remote motion vector.

### Claim 13 (depends on 11)

The motion estimator according to claim 11, further comprising vector comparison logic arranged to:
compare one or more properties associated with the remote motion vector with at least one of: one or more properties associated with the candidate motion vector; and a predetermined value, and
provide a result of the comparison to the vector biasing logic.

### Claim 14 (depends on 11)

The motion estimator according to claim 11, wherein:
the region selection logic is further arranged to select a third region of the interpolated frame based on a position of another end of the candidate motion vector;
the remote vector determination logic is further arranged to identify a further remote motion vector for the third region of the interpolated frame; and
the vector biasing logic is further arranged to apply a further bias to the candidate motion vector based on one or more properties associated with the further remote motion vector.

### Claim 15 (depends on 11)

The motion estimator according to claim 11, wherein the interpolated frame is divided into a grid of blocks, and whereby the second region is selected as the grid block in which the end of the candidate motion vector is located.

### Claim 16 (depends on 15)

The motion estimator according to claim 15, wherein motion vectors are stored in a memory for each grid block of the interpolated frame, and the remote vector determination logic is arranged to identify the remote motion vector for the second region by reading the motion vector associated with the grid block corresponding to the second region from the memory.

### Claim 17 (depends on 11)

The motion estimator according to claim 11, wherein the remote vector determination logic is arranged to identify a remote motion vector for the remote region by computing the remote motion vector by performing double ended vector motion estimation on the second region.

### Claim 18 (depends on 11)

The motion estimator according to claim 11, further comprising vector selection logic arranged to choose the candidate motion vector to be an output motion vector based on the bias, and output the output motion vector.

### Claim 19 (depends on 11)

The motion estimator according to claim 11, wherein at least one of the candidate motion vector and the remote motion vector is a double-ended motion vector.

### Claim 20

A non-transitory computer readable storage medium having stored thereon processor executable instructions that when executed cause at least one processor to:
select a candidate motion vectors for a first region of an interpolated frame;
select a second region of the interpolated frame based on a position of one end of the candidate motion vector;
identify a remote motion vector associated with the second region of the interpolated frame; and
apply a bias to the candidate motion vector based on one or more properties associated with the remote motion vector.
