IP Library › Patent Application 19300175
Patent Application
App. No. 19/300,175

Block Vector Predictor Candidate Selection

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
19/300,175
Abstract

Encoding and/or decoding a block of a video frame may be based on a previously decoded reference block in the same frame or in a different frame. The reference block may be indicated by a block vector (BV). The BV may be encoded as difference between a block vector predictor (BVP) and the BV. The BVP may be selected based on a distance between the BVP and another BVP which may improve diversity of selected BVPs and improve prediction accuracy of the BVP.

Claims (37)

1 . A method comprising:

determining, by a computing device, a radius associated with a first block vector predictor (BVP) candidate of a plurality of BVP candidates;

based on a distance between the first BVP candidate and a second BVP candidate of the plurality of BVP candidates being less than or equal to the radius, comparing a cost of the first BVP candidate to a cost of the second BVP candidate;

based on the cost of the second BVP candidate being less than the cost of the first BVP candidate, including the second BVP candidate in a list of BVP candidates; and

coding, based on the list of BVP candidates, a current block of content.

2 . The method of claim 1 , wherein the radius indicates a threshold represented in units of pixels.

3 . The method of claim 1 , further comprising:

determining the cost of the first BVP candidate; and

determining the cost of the second BVP candidate.

4 . The method of claim 1 , wherein:

the cost of the first BVP candidate is a first template matching cost; and

the cost of the second BVP candidate is a second template matching cost.

5 . The method of claim 1 , further comprising:

determining, for at least one BVP candidate of the plurality of BVP candidates, a distance between the first BVP candidate and the at least one BVP candidate.

6 . The method of claim 1 , wherein the distance between the first BVP candidate and the second BVP candidate is the Euclidian distance between an endpoint of the first BVP candidate and an endpoint of the second BVP candidate.

7 . The method of claim 1 , wherein the list of BVP candidates is one of:

a merge list for merge mode; or

an advanced motion vector prediction (AMVP) list for AMVP mode.

8 . A computing device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

determine a radius associated with a first block vector predictor (BVP) candidate of a plurality of BVP candidates;

based on a distance between the first BVP candidate and a second BVP candidate of the plurality of BVP candidates being less than or equal to the radius, compare a cost of the first BVP candidate to a cost of the second BVP candidate;

based on the cost of the second BVP candidate being less than the cost of the first BVP candidate, include the second BVP candidate in a list of BVP candidates; and

code, based on the list of BVP candidates, a current block of content.

9 . The computing device of claim 8 , wherein the radius indicates a threshold represented in units of pixels.

10 . The computing device of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

determine the cost of the first BVP candidate; and

determine the cost of the second BVP candidate.

11 . The computing device of claim 8 , wherein:

the cost of the first BVP candidate is a first template matching cost; and

the cost of the second BVP candidate is a second template matching cost.

12 . The computing device of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the computing device to determine, for at least one BVP candidate of the plurality of BVP candidates, a distance between the first BVP candidate and the at least one BVP candidate.

13 . The computing device of claim 8 , wherein the distance between the first BVP candidate and the second BVP candidate is the Euclidian distance between an endpoint of the first BVP candidate and an endpoint of the second BVP candidate.

14 . The computing device of claim 8 , wherein the list of BVP candidates is one of:

a merge list for merge mode; or

an advanced motion vector prediction (AMVP) list for AMVP mode.