IP Library Granted Patent US 12,641,256
Granted Patent B2
US 12,641,256 · App. 18/530,484 · Granted May 26, 2026

Block vector signaling for reconstruction-reordered intra block copy

Inventors: Alexey Konstantinovich Filippov (Khimki, RU); Vasily Alexeevich Rufitskiy (Vladimir, RU); Esmael Hejazi Dinan (McLean, VA)
Assignee: Comcast Cable Communications, LLC
H04N19/176H04N19/103H04N19/593
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,641,256
App. No.
18/530,484
Granted
May 26, 2026
Kind
B2
Abstract

A block vector predictor (BVP) may be adjusted to provide a more accurate prediction of a block vector (BV). A coder (e.g., encoder or decoder) may determine that the at least one component of the BVD may be equal to zero (or, e.g., null), for example, based on a position of the Current Block (CB) relative to a boundary of the reference region. Consequently, the encoder may skip signaling, and the decoder may skip parsing, of the at least one component of the BVD in the bitstream.

Claims (82)

1 . A method comprising:

receiving, by a computing device and from a bitstream, an indication of:

flipping of a reference block (RB) for predicting a current block (CB) of content; and

a magnitude of at least one component of a block vector difference (BVD);

determining, based on the indication of flipping and based on a dimension of the CB, a block vector (BV) offset value; and

determining a magnitude of a BV based on:

the BV offset value; and

the indication of the magnitude of the at least one component of the BVD; and

decoding the CB based on the RB displaced from the CB by the BV.

2 . The method of claim 1 , further comprising:

determining, based on the indication of flipping, to skip parsing of a Block Vector Predictor (BVP) index from the bitstream;

determining, based on the indication of flipping, that a sign of the at least one component of the BVD is negative; or

determining, based on the indication of flipping, that a sign of the BV is negative.

3 . The method of claim 1 , wherein the indication of flipping further comprises an indication of flipping direction; and

wherein the indication of flipping direction is a Reconstruction-Reordered Intra Block Copy (RRIBC) direction flag or an Intra Block Copy (IBC) mirror mode direction flag.

4 . The method of claim 3 , wherein the indication of flipping direction indicates horizontal flipping or vertical flipping; and

wherein the dimension of the CB is a width of the CB or a height of the CB.

5 . The method of claim 1 , wherein the indication of flipping further comprises an indication of flipping direction, the method further comprising:

determining, based on the indication of flipping direction indicating horizontal flipping, the BV offset value to be equal to a width of CB; or

determining, based on the indication of flipping direction indicating vertical flipping, the BV offset value to be equal to a height of the CB.

6 . The method of claim 1 , wherein the indication of flipping further comprises an indication of flipping direction, and wherein the decoding the CB further comprises:

receiving, from the bitstream, a residual of the CB;

determining a reconstructed block based on combining the RB with the residual of the CB;

determining, based on the indication of flipping, to flip the reconstructed block;

flipping the reconstructed block in a direction relative to the indication of flipping direction; and

decoding the CB based on the flipped reconstructed block.

7 . The method of claim 1 , wherein the indication of the magnitude of the at least one component of the BVD comprises an absolute value of a magnitude of a non-null component of the BVD.

8 . The method of claim 7 , further comprising:

determining, based on an Integer Motion Vector (IMV) flag indicated in the bitstream, a BVD scaling factor; and

multiplying the magnitude of the non-null component of the BVD by the BVD scaling factor.

9 . The method of claim 1 , further comprising:

determining a position of the CB relative to a boundary of a reference region; and

based on the position of the CB being less than a dimension of the CB, determining to skip parsing of the at least one component of the BVD from the bitstream.

10 . The method of claim 1 , wherein the indication of flipping comprises an indication of horizontal flipping, the method further comprising:

determining that a position of the CB is a horizontal position of the CB relative to a left-most boundary of a reference region;

determining a dimension of the CB to be equal to a width of the CB; and

based on the horizontal position of the CB being less than the width of the CB, setting the at least one component of the BVD to be equal to zero.

11 . The method of claim 1 , wherein the indication of flipping comprises an indication of vertical flipping, the method further comprising:

determining that a position of the CB is a vertical position of the CB relative to a top-most boundary of a reference region;

determining a dimension of the CB to be equal to a height of the CB; and

based on the vertical position of the CB being less than the height of the CB, setting the at least one component of the BVD to be equal to zero.

12 . A method comprising:

receiving, by a computing device and from a bitstream, an indication of flipping of a reference block (RB) associated with predicting a current block (CB) of content;

determining a magnitude of a block vector (BV) based on:

a BV offset value associated with a dimension of the CB; and

an indication of a magnitude of at least one component of a block vector difference (BVD);

decoding the CB based on the RB displaced from the CB by the BV in a reference region;

based on the indication of flipping direction, determining an unavailable portion of one or more samples; and

padding the unavailable portion of the one or more samples with replacement sample values.

13 . The method of claim 12 , wherein the indication of flipping indicates horizontal flipping, and wherein the determining the unavailable portion of the one or more samples comprises:

determining, based on a width of the CB being greater than a width of the RB, the unavailable portion of the one or more samples comprising an RB left of the CB.

14 . The method of claim 12 , wherein the indication of flipping indicates vertical flipping, and wherein the determining the unavailable portion of the one or more samples comprises:

determining, based on a height of the CB being greater than a height of the RB, the unavailable portion of the one or more samples comprising an RB above the CB.

15 . The method of claim 12 , further comprising determining the replacement sample values based on at least one of:

copying samples from an available portion of the one or more samples comprising the RB into the unavailable portion of the one or more samples comprising the RB;

copying neighboring samples into the unavailable portion of the one or more samples comprising the RB;

copying samples determined by an intra prediction mode into the unavailable portion of the one or more samples comprising the RB; or

copying a constant sample value into the unavailable portion of the one or more samples comprising the RB.

16 . A method comprising:

determining, by a computing device, candidate templates of respective reference block (RB) candidates, indicated by respective block vector difference (BVD) candidates, within a reference region;

determining, based on the candidate templates, to flip the respective RB candidates in a flipping direction for predicting a current block (CB) of content;

comparing samples in each of the candidate templates against samples in a current template of the CB to calculate respective costs, wherein a shape of at least one of the candidate templates matches a shape of the current template that is flipped in the flipping direction;

selecting, based on the respective costs, one of the BVD candidates as a BVD;

determining at least one component of the BVD based on:

a block vector (BV) indicating the CB; and

a BV offset value associated with a dimension of the CB; and

signaling, in a bitstream, an indication of:

flipping of the RB associated with predicting the CB; and

a magnitude of the at least one component of the BVD.

17 . The method of claim 16 , further comprising:

determining, based on the indication of flipping, to skip signaling of a Block Vector Predictor (BVP) index in the bitstream.

18 . The method of claim 16 , further comprising:

based on the indication of flipping indicating horizontal flipping, determining the BV offset value to be equal to a width of the CB; or

based on the indication of flipping indicating vertical flipping, determining the BV offset value to be equal to a height of the CB.

19 . The method of claim 16 , further comprising:

determining an Integer Motion Vector (IMV) flag based on whether a magnitude of a non-null component of the BV is a multiple of a BVD scaling factor;

multiplying the magnitude of the non-null component of the block BVD by the BVD scaling factor; and

signaling the IMV flag in the bitstream.

20 . The method of claim 16 , further comprising:

determining, based on the indication of flipping:

that a sign of the at least one component of the BVD is negative; or

that a sign of the BV is negative.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2025
From: FILIPPOV, ALEXEY KONSTANTINOVICH; RUFITSKIY, VASILY ALEXEEVICH; DINAN, ESMAEL HEJAZI
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 072298/0292 →
Continuity (2)
Provisional Application 63430424 · Dec 6, 2022
Related Publication 20240187613A1 · Jun 6, 2024
References Cited (15)
US 9860559B2 · Zhang et al. · 2018 [cited by applicant]
US 20150264396A1 · Zhang · 2015 [cited by examiner]
US 20150373370A1 · Rapaka · 2015 [cited by examiner]
US 20170195677A1 · Ye · 2017 [cited by examiner]
US 20200404287A1 · Xu · 2020 [cited by examiner]
US 20210235076A1 · Xu et al. · 2021 [cited by applicant]
US 20220182664A1 · Xu et al. · 2022 [cited by applicant]
US 20230100650A1 · Bae · 2023 [cited by examiner]
US 20230291932A1 · Park · 2023 [cited by examiner]
US 20240031558A1 · Jeon · 2024 [cited by examiner]
JVET-AA0070-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 27th Meeting, by teleconference, Jul. 13-22, 2022, Source: Bytedance Inc., Title: EE2-3.2: Reconstruction-Reordered IBC for scr… [cited by applicant]
JVET-Ab2025, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 28th Meeting, Mainz, DE, Oct. 20-28, 2022, Source: Editors, Title: Algorithm Description of Enhanced Compression Model 7 (ECM 7). [cited by applicant]
JVET-Z0159-v1, Joint Video Experts Team (JVET) of ITU-T SG16 WP3, 26th Meeting, by teleconference, Apr. 20-29, 2022, Source: Bytedance Inc., Title: Non-EE2: Reconstruction-Reordered IBC for screen content coding. [cited by applicant]
JCTVC-R0204, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3, 18th Meeting, Sapporo, Japan, Jun. 30-Jul. 9, 2014, Source: MediaTek, Title: Non-SSCE1: PU intra block copy with flipping mode. [cited by applicant]
Jan. 29, 2024—European Search Report—EP App. No. 23214723.1. [cited by applicant]