IP Library › Granted Patent US 12,627,807
Granted Patent B2
US 12,627,807 · App. 18/446,203 · Granted May 12, 2026

Magnitude coding and decoding using prediction

Inventors: Alexey Konstantinovich Filippov (Khimki, RU); Vasily Alexeevich Rufitskiy (Vladimir, RU); Esmael Hejazi Dinan (McLean, VA)
Assignee: Comcast Cable Communications, LLC
H04N19/137H04N19/105H04N19/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,627,807
App. No.
18/446,203
Granted
May 12, 2026
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 a different frame. The reference block may be indicated by a block vector (BV). A block vector (BV) may be based on a block vector predictor (BVP) and a block vector difference (BVD). The BVD may be indicated based on a prediction about the magnitude of the BVD, which may improve the compression efficiency of one or more magnitude symbols of a BVD and reduce signaling overhead required for indicating the BVD. The disclosures described herein and used to indicate a BVD also may be used to indicate a motion vector difference (MVD).

Claims (52)

1 . A method comprising:

determining, by a computing device, a plurality of costs for a plurality of block vector difference (BVD) candidates associated with a current block of content, wherein a value of a magnitude symbol of a first BVD candidate is different from a value of the magnitude symbol of a second BVD candidate;

selecting, based on the plurality of costs determined for the plurality of BVD candidates, one of the plurality of BVD candidates as a BVD predictor;

decoding an entropy-encoded indication of whether a value of a magnitude symbol of a BVD matches a value of a magnitude symbol of the BVD predictor;

determining, based on the value of the magnitude symbol of the BVD predictor and the decoded indication, the value of the magnitude symbol of the BVD;

decoding, based on the BVD, the current block of content.

2 . The method of claim 1 , wherein the determining the plurality of costs comprises determining a cost based on a difference between:

a template of a current block; and

a template of a candidate reference block that is displaced relative to the current block by a sum of the BVD candidate and a block vector predictor (BVP).

3 . The method of claim 1 , wherein the BVD is the first BVD candidate or the second BVD candidate.

4 . The method of claim 1 , wherein the difference between the value of the magnitude symbol of the first BVD candidate and the value of the magnitude symbol of the second BVD candidate is the only difference between the first BVD candidate and the second BVD candidate.

5 . The method of claim 1 , wherein either a horizontal component or a vertical component of the first BVD candidate comprises the magnitude symbol.

6 . The method of claim 1 , wherein the selecting the BVD candidate as the BVD predictor comprises selecting the BVD candidate as the BVD predictor based on a cost associated with the BVD candidate being a lowest cost of the plurality of costs.

7 . The method of claim 1 , wherein the BVD predictor is the first BVD candidate or the second BVD candidate.

8 . The method of claim 1 , further comprising:

selecting, based on a position of the magnitude symbol of the BVD and from a plurality of probability models, a probability model indicating a probability of a least probable symbol for the indication and a value indicating the most probable symbol for the indication;

wherein the decoding the entropy-encoded indication comprises arithmetically decoding the entropy-encoded indication based on the selected probability model.

9 . The method of claim 1 , further comprising:

selecting, based on a change in value of the BVD satisfying one or more thresholds and from a plurality of probability models, a probability model indicating a probability of a least probable symbol for the indication and a value indicating the most probable symbol for the indication;

wherein the decoding the entropy-encoded indication comprises arithmetically decoding the entropy-encoded indication based on the selected probability model.

10 . The method of claim 1 , further comprising:

determining, based on the indication indicating that the value of the magnitude symbol of the BVD matches the value of the magnitude symbol of the BVD predictor, that the value of the magnitude symbol of the BVD is equal to the value of the magnitude symbol of the BVD predictor; or

determining, based on the indication indicating that the value of the magnitude symbol of the BVD does not match the value of the magnitude symbol of the BVD predictor, that the value of the magnitude symbol of the BVD is not equal to the value of the magnitude symbol of the BVD predictor.

11 . The method of claim 1 , further comprising representing the first BVD candidate in binary form using an exponential-Golomb code word that comprises an indication of the value of the magnitude symbol of the first BVD candidate in a suffix of the exponential-Golomb code word.

12 . A method comprising:

receiving, by a computing device, an entropy-encoded indication of whether a value of a magnitude symbol of a block vector difference (BVD) predictor matches a value of a magnitude symbol of a BVD associated with a current block of content;

decoding the entropy-encoded indication;

determining, based on the value of the magnitude symbol of the BVD predictor and the decoded indication, the value of the magnitude symbol of the BVD;

determining, based on the BVD and a block vector predictor (BVP), a block vector (BV); and

decoding, based on the BV, the current block of content.

13 . The method of claim 12 , further comprising:

determining a plurality of template matching costs at least by calculating, for each BVD candidate of a plurality of BVD candidates that comprises the BVD predictor, a template matching cost associated with a difference between a template of a current block and a template of a candidate reference block that is displaced relative to the current block by a sum of the BVD candidate and a block vector predictor (BVP); and

selecting the BVD predictor based on a template matching cost of the BVD predictor being a lowest template matching cost of the plurality of template matching costs.

14 . The method of claim 12 , further comprising:

selecting, from a plurality of probability models, a probability model that indicates a probability of the least probable symbol for the decoded indication and a value indicating the most probable symbol for the decoded indication;

wherein the decoding the entropy-encoded indication comprises arithmetically decoding the entropy-encoded indication based on the selected probability model.

15 . The method of claim 12 , further comprising selecting, from a plurality of BVD candidates comprising a BVD candidate for each possible value of the magnitude symbol of the BVD, the BVD predictor.

16 . A method comprising:

receiving, by a computing device, an entropy-encoded indication of whether a value of a magnitude symbol of a block vector difference (BVD) predictor matches a value of a magnitude symbol of a BVD associated with a current block of content;

arithmetically decoding, based on a probability model that indicates a probability of the least probable symbol for the indication and a value indicating the most probable symbol for the indication, the entropy-encoded indication;

determining, based on the value of the magnitude symbol of the BVD predictor and the decoded indication, the value of the magnitude symbol of the BVD; and

decoding, based on the BVD, the current block of content.

17 . The method of claim 16 , further comprising:

determining a plurality of template matching costs at least by calculating, for each BVD candidate of a plurality of BVD candidates that includes the BVD, a template matching cost; and

selecting, from the plurality of BVD candidates and as the BVD predictor, a BVD that is associated with a lowest template matching cost of the plurality of template matching costs.

18 . The method of claim 16 , wherein a difference between a first magnitude symbol of the BVD predictor and a second magnitude symbol of the BVD is the only difference between the BVD predictor and the BVD.

19 . The method of claim 16 , further comprising:

selecting, from a plurality of probability models, the probability model;

wherein the selecting the probability model is based on:

a position of the magnitude symbol in the BVD; or

a change in value of the BVD satisfying one or more thresholds.

20 . The method of claim 16 , wherein the BVD is a motion vector difference (MVD) and the BVD predictor is an MVD predictor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2025
From: FILIPPOV, ALEXEY KONSTANTINOVICH; RUFITSKIY, VASILY ALEXEEVICH; DINAN, ESMAEL HEJAZI
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 072256/0288 →
Continuity (2)
Provisional Application 63396061 · Aug 8, 2022
Related Publication 20240048718A1 · Feb 8, 2024
References Cited (24)
US 9948949B2 · Rapaka et al. · 2018 [cited by applicant]
US 10805638B2 · Henry et al. · 2020 [cited by applicant]
US 20150373370A1 · Rapaka et al. · 2015 [cited by applicant]
US 20180278951A1 · Seregin · 2018 [cited by examiner]
US 20200382808A1 · Mullakhmetov · 2020 [cited by examiner]
US 20220086451A1 · Bae et al. · 2022 [cited by applicant]
US 20220124308A1 · Jang et al. · 2022 [cited by applicant]
US 20230094825A1 · Zhang · 2023 [cited by examiner]
US 20230095946A1 · Ruiz Coll · 2023 [cited by examiner]
WO 2019190338A1 · 2019 [cited by applicant]
JVET-X0131-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 24th Meeting, Teleconference, Oct. 6-14, 2021,Source: Ofinno, LLC, Title: Non-EE2: Low-complexity improvements of intra coding for screen content. [cited by applicant]
JVET-O0093, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 15th Meeting, Gothenburg, Sweden, Jul. 3-12, 2019, Source: LG Electronics, Title: CE8-1.3: Bvd coding method. [cited by applicant]
JVET-Z2002-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 26th Meeting, Teleconference, Apr. 20-29, 2022, Source: Editors, Title: Algorithm description for Versatile Video Coding and Test Model 17. [cited by applicant]
JVET-N0095-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 14th Meeting, Geneva, Switzerland, Mar. 19-27, 2019, Source: MediaTek Inc., Title: CE8-related: Unified method for coding BVD and MVD. [cited by applicant]
JVET-AC0104-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 29th Meeting, Teleconference, Jan. 11-20, 2023, Source: Ofinno LLC, Title: EE2-3.3: Block vector difference prediction for IBC blocks. [cited by applicant]
JVET-AB0170-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 28th Meeting, Mainz, Germany, Oct. 20-28, 2022, Source: Ofinno, LLC, Title: Non-EE2: Block Vector Difference Prediction for IBC Blocks. [cited by applicant]
JVET-AB0095-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 28th Meeting, Mainz, Germany, Oct. 20-28, 2022, Source: Xidian University, Guangdong OPPO Mobile Telecommunications Corp., Ltd, Title: Non-EE2: Block V… [cited by applicant]
JVET-Z2025, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3, 26th Meeting, Teleconference, Apr. 20-29, 2022, Source: Editors, Title: Algorithm description of enhanced compression model 5 (ECM 5). [cited by applicant]
Dec. 4, 2023—European Search Report—EP App. No. 23190321.2. [cited by applicant]
JVET-AA2025, Joint Video Experts Team of ITU-T SG16 WP3, 27th Meeting, by teleconference, Jul. 13-22, 2022, Source: Editors, Title: Algorithm description of Enhanced Compression Model 6 (ECM 6). [cited by applicant]
JVET-J0025-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 10th Meeting: San Diego, US, Apr. 10-20, 2018, Source: Huawei, GoPro, HiSilicon, and Samsung Electronics, Title: Descript… [cited by applicant]
JVET-K0067-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 11th Meeting: Ljubljana, SI, Jul. 10-18, 2018, Source: Huawei Technologies Co., LTD, Title: CE9: Motion vector difference… [cited by applicant]
JVET-X0132-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 24th Meeting, by teleconference, Oct. 6-15, 2021, Source: Qualcomm Incorporated, Title: Non-EE2: On MVD sign prediction, … [cited by applicant]
JVET-Y0067-v2, 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, Qualcomm Incorporated, Title: EE2-3.9 and EE2-3. 10: … [cited by applicant]