IP Library › Granted Patent US 12,445,599
Granted Patent B2
US 12,445,599 · App. 18/351,297 · Granted Oct 14, 2025

Block vector predictor candidate selection

Inventors: Damian Ruiz Coll (Reston, VA); Vikas Warudkar (Herndon, VA)
Assignee: Comcast Cable Communications, LLC
H04N19/105H04N19/136H04N19/176
View Patent ↗
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 12,445,599
App. No.
18/351,297
Granted
Oct 14, 2025
Kind
B2
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 (52)

1. A method comprising:

determining, by a computing device, a first block vector predictor (BVP) candidate group comprising at least one BVP candidate, of a plurality of BVP candidates, within a threshold distance from a first BVP candidate of the plurality of BVP candidates;

determining a second BVP candidate group comprising one or more BVP candidates, of the plurality of BVP candidates, not within the threshold distance from the first BVP candidate;

determining, for a BVP candidate of the first BVP candidate group, a first cost;

determining, for a BVP candidate of the second BVP candidate group, a second cost; and

generating a list of BVP candidates comprising:

a first BVP candidate selected from the first BVP candidate group based on the first cost; and

a second BVP candidate selected from the second BVP candidate group based on the second cost.

2. The method of claim 1 , wherein a BVP candidate of the plurality of BVP candidates indicates a displacement from a current block (CB) to a location in a reconstructed region of a picture.

3. The method of claim 1 , wherein the one or more BVP candidates of the second BVP candidate group are within a second threshold distance from a second BVP candidate of the plurality of BVP candidates.

4. The method of claim 1 , further comprising determining a third BVP candidate group comprising one or more BVP candidates of the plurality of BVP candidates not included in the first BVP candidate group and not included in the second BVP candidate group.

5. The method of claim 1 , wherein:

the first cost comprises a first template matching (TM) cost that indicates a first difference between a template of a current block (CB) and a template of a first prediction block (PB) displaced from the CB by a BVP candidate of the first BVP candidate group; and

the second cost comprises a second TM cost that indicates a second difference between the template of the CB and a template of a second PB displaced from the CB by a BVP candidate of the second BVP candidate group.

6. The method of claim 5 , wherein at least one of the first difference or the second difference is a Sum of Absolute Differences (SAD).

7. The method of claim 1 , further comprising:

selecting the first BVP candidate from the first BVP candidate group based on the first cost being a lowest cost of at least one cost determined respectively for the at least one BVP candidate of the first BVP candidate group; and

selecting the second BVP candidate from the second BVP candidate group based on the second cost being a lowest cost of at least one cost determined respectively for the at least one BVP candidate of the second BVP candidate group.

8. The method of claim 1 , further comprising reordering the list of BVP candidates based on a cost determined respectively for at least one BVP candidate of the list of BVP candidates.

9. The method of claim 1 , further comprising:

determining, for the first BVP candidate group and based on a first weighted average of one or more BVP candidates of the first BVP candidate group, a first averaged BVP candidate, wherein the first weighted average is based on at least one first template matching (TM) cost determined respectively for the at least one BVP candidate of the first BVP candidate group;

determining, for the second BVP candidate group and based on a second weighted average of one or more BVP candidates of the second BVP candidate group, a second averaged BVP candidate, wherein the second weighted average is based on at least one second TM cost determined respectively for the at least one BVP candidate of the second BVP candidate group; and

including, in the list of BVP candidates, the first averaged BVP candidate and the second averaged BVP candidate.

10. The method of claim 9 , wherein:

the first weighted average is based on an inverse of a first TM cost determined for a BVP candidate of the first BVP candidate group; and

the second weighted average is based on an inverse of a second TM cost determined for a BVP candidate of the second BVP candidate group.

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

12. A method comprising:

determining, by a computing device, a first block vector predictor (BVP) candidate group comprising at least one BVP candidate, of a plurality of BVP candidates, having an endpoint that is located a first distance away from an endpoint of a first BVP candidate, wherein the first distance is less than or equal to a threshold distance;

determining a second BVP candidate group comprising at least one BVP candidate, of the plurality of BVP candidates, having an endpoint located a second distance away from an endpoint of a second BVP candidate, wherein the second distance is less than or equal to the threshold distance;

selecting, from the first BVP candidate group, a first BVP candidate based on a cost determined for the first BVP candidate being a lowest cost of at least one cost determined respectively for the at least one BVP candidate of the first BVP candidate group;

selecting, from the second BVP candidate group, a second BVP candidate based on a cost determined for the second BVP candidate being a lowest cost of at least one cost determined respectively for the at least one BVP candidate of the second BVP candidate group; and

generating a list of BVP candidates comprising the first BVP candidate and the second BVP candidate.

13. The method of claim 12 , wherein:

the first distance is a Euclidian (L 2 ) distance between the endpoint of the first BVP candidate and an endpoint of a BVP candidate of the first BVP candidate group; and

the second distance is an L 2 distance between the endpoint of the second BVP candidate and an endpoint of a BVP candidate of the second BVP candidate group.

14. The method of claim 1 , wherein the threshold distance corresponds to a ratio between an area of a current block and a size of a prediction unit.

15. The method of claim 14 , wherein the threshold distance comprises: ⅛, ¼, ½, 1, 2, 3, 4, 5, 6, 7, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, or 64.

16. The method of claim 12 , 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.

17. A method comprising:

determining, by a computing device and for a current block of a picture, a plurality of block vector predictor (BVP) candidates comprising a first BVP candidate and a second BVP candidate;

determining, based on a distance between a first endpoint of the first BVP candidate and a second endpoint of the second BVP being within a threshold distance, which BVP candidate, of the first BVP and the second BVP candidate, is associated with a lowest template matching cost; and

including, in a merge list for merge mode or an advanced motion vector prediction (AMVP) list for AMVP mode, the BVP candidate that is associated with the lowest template matching cost.

18. The method of claim 17 , further comprising:

determining, based on a second distance between the first endpoint of the first BVP candidate and a third endpoint of a third BVP candidate of the plurality of BVP candidates being within the threshold distance, a template matching cost associated with the third BVP candidate; and

comparing the template matching cost associated with the third BVP candidate with a template matching cost associated with the first BVP candidate.

19. The method of claim 17 , further comprising determining, for a BVP candidate of the plurality of BVP candidates, a template matching cost that indicates a difference between a template of a current block (CB) and a template of a prediction block (PB) displaced from the CB by the BVP candidate.

20. The method of claim 17 , further comprising ordering, based on a plurality of BVP candidate types, the plurality of BVP candidates.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2024
From: RUIZ COLL, DAMIAN; WARUDKAR, VIKAS
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 068225/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2024
From: RUIZ COLL, DAMIAN; WARUDKAR, VIKAS
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 068225/0284 →
Continuity (2)
Provisional Application 63388552 · Jul 12, 2022
Related Publication 20240031557A1 · Jan 25, 2024
References Cited (32)
US 10448026B1 · Xu · 2019 [cited by examiner]
US 20050053137A1 · Holcomb · 2005 [cited by examiner]
US 20060083440A1 · Chen · 2006 [cited by examiner]
US 20060245497A1 · Tourapis · 2006 [cited by examiner]
US 20110194609A1 · Rusert · 2011 [cited by examiner]
US 20120275522A1 · Kim · 2012 [cited by examiner]
US 20130208799A1 · Srinivasamurthy · 2013 [cited by examiner]
US 20150189272A1 · Peng · 2015 [cited by examiner]
US 20150264396A1 · Zhang · 2015 [cited by examiner]
US 20160100189A1 · Pang · 2016 [cited by examiner]
US 20170054996A1 · Xu · 2017 [cited by examiner]
US 20170155914A1 · Jeon · 2017 [cited by examiner]
US 20180014011A1 · He · 2018 [cited by examiner]
US 20180146208A1 · Hojati · 2018 [cited by examiner]
US 20190246113A1 · Xu · 2019 [cited by examiner]
US 20200021842A1 · Leontaris · 2020 [cited by examiner]
US 20200053379A1 · Han · 2020 [cited by examiner]
US 20200068218A1 · Chen · 2020 [cited by examiner]
US 20200260119A1 · Esenlik · 2020 [cited by examiner]
Cuiling Lan, Jizheng Xu, Feng Wu and Guangming Shi, “Intra Frame Coding With Template Matching Prediction and Adaptive Transform”, Proceedings of 2010 IEEE 17th International Conference on Image Processing Sep. 26-29, 2… [cited by applicant]
V. Sze et al. (eds.), High Efficiency Video Coding (HEVC): Algorithms and Architectures, Integrated Circuits and Systems, DOI 10.1007/978-3-319-06895-4_1, © Springer International Publishing Switzerland 2014. [cited by applicant]
M. Wien, High Efficiency Video Coding, Signals and Communication Technology, DOI 10.1007/978-3-662-44276-0_1, © Springer-Verlag Berlin Heidelberg 2015. [cited by applicant]
JVET-Y0058, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 25th Meeting, by teleconference, Jan. 12-21, 2022, Source: Bytedance Inc., Title: EE2-3.13: Modifications of IBC Merge/AMVP List Co… [cited by applicant]
JVET-Y0088-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 25th Meeting, by teleconference, Jan. 12-21, 2022, Source: InterDigital, Title: EE2-related: IBC with Template Matching. [cited by applicant]
JVET-Z0066-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 26th Meeting, by teleconference, Apr. 20-29, 2022, Source: Wilus Inc., Title: EE2-related: Template matching using extended MVP … [cited by applicant]
JVET-Z0084-v1, Joint Video Experts Team (JVET) of ItTU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 26th Meeting, by teleconference, Apr. 20-29, 2022, Source: InterDigital, Title: EE2-3.4: IBC with Template Matching. [cited by applicant]
JVET-Z2025, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 26th Meeting, by teleconference, Apr. 20-29, 2022, Source: Editors, Title: Algorithm description of Enhanced Compression Model 5 (E… [cited by applicant]
JVET-Z1000-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 26th Meeting, by teleconference, Apr. 20-29, 2022, Source: Chair of JVET, Title: Meeting Report of the 26th Meeting of the JVET. [cited by applicant]
Yujin Lee et al., “Study of Sub-pel Block Vector for Intra Block Copy”, Dept. of Electrical and Computer Engineering, Sungkyunkwan University, Korea, 2022. [cited by applicant]
Yoonjeong Shin et al., “Low Complexity Heterogenous Video Transcoding by Motion Vector Clustering”, 2010, IEEE. [cited by applicant]
JVET-AC0060-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 29th Meeting, by teleconference, Jan. 11-20, 2023, Source: Ofinno, LLC, Title: EE2-3.4: BVP candidates clustering and BVD sign… [cited by applicant]
Nov. 9, 2023—European Search Report—EP App. No. 23185076.9. [cited by applicant]