IP Library › Granted Patent US 12,568,240
Granted Patent B2
US 12,568,240 · App. 18/409,445 · Granted Mar 3, 2026

IBC merge mode with a block vector difference

Inventors: Lien-Fei Chen (Hsinchu, TW); Roman Chernyak (Palo Alto, CA); Xiaozhong Xu (State College, PA); Xin Zhao (San Jose, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/44H04N19/105H04N19/137H04N19/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,568,240
App. No.
18/409,445
Granted
Mar 3, 2026
Kind
B2
Abstract

Aspects of the disclosure include methods and an apparatus for video coding. The apparatus includes processing circuitry that receives coded information of a current block in a current picture. The current block is predicted based on a reference block in the current picture indicated by a block vector (BV) to be determined based on a BV predictor (BVP) and a BV difference (BVD). The processing circuitry determines a BVD list including BVD candidates based at least on BVD offsets from the BVP, determines the BVD from the BVD candidates in the BVD list, and reconstructs the current block using the BVD. For each adjacent pair of the BVD offsets, an initial interval size indicates a difference between the adjacent pair of the BVD offsets. Each of the initial interval sizes is different from other initial interval sizes corresponding to other adjacent pairs of the BVD offsets.

Claims (64)

1 . A method of video decoding, comprising:

receiving a coded video bitstream comprising coded information of a current block in a current picture, the current block being predicted based on a reference block in the current picture that is indicated by a block vector (BV) to be determined based on a BV predictor (BVP) and a BV difference (BVD) that is a difference between the BV and the BVP;

determining initial BVD candidates based on (i) BVD offsets and (ii) BVD directions, each of the initial BVD candidates having (i) one of the BVD offsets that indicates a magnitude of the respective initial BVD candidate and (ii) a corresponding one of the BVD directions;

determining a template-matching (TM) cost associated with each initial BVD candidate in the initial BVD candidates; and

determining a BVD list including BVD candidates based on the TM costs;

determining the BVD from the BVD candidates in the BVD list; and

reconstructing the current block using the determined BVD, wherein

for each adjacent pair of the BVD offsets,

an initial interval size indicates a difference between the adjacent pair of the BVD offsets, and

each of the initial interval sizes is different from other initial interval sizes corresponding to other adjacent pairs of the BVD offsets.

2 . The method of claim 1 , wherein the initial interval sizes are arranged in an ascending order.

3 . The method of claim 1 , wherein the initial interval sizes are powers of 2.

4 . The method of claim 3 , wherein the initial interval sizes include J1 sizes, each of the initial interval sizes is 21-1, i is an integer in an range from 1 to J1, and J1 is larger than 1.

5 . The method of claim 1 , wherein the initial interval sizes are stored in a look-up table.

6 . The method of claim 5 , wherein one of the initial interval sizes is not a power of 2.

7 . The method of claim 1 , wherein the determining the TM cost comprises:

determining the TM cost associated with each initial BVD candidate in the initial BVD candidates between a current template of the current block and a respective reference template of a candidate reference block, the candidate reference block being indicated by an initial BV candidate that is a sum of the BVP and the respective initial BVD candidate.

8 . The method of claim 1 , wherein the determining the BVD list based on the TM costs comprises:

selecting K initial BVD candidates from the initial BVD candidates as the BVD candidates in the BVD list, the K initial BVD candidates corresponding to lowest TM costs in the TM costs.

9 . The method of claim 1 , wherein the determining the BVD list based on the TM costs comprises:

selecting K initial BVD candidates from the initial BVD candidates, the K initial BVD candidates corresponding to lowest TM costs in the TM costs;

for each of the K initial BVD candidates that has a respective BVD offset and a BVD direction,

when the BVD offset is the only BVD offset that is larger than a first BVD offset and is less than a second BVD offset that are in the BVD offsets, determining a first candidate and a second candidate associated with the respective initial BVD candidate in the K initial BVD candidates, the first candidate and the second candidate having the same BVD direction as the initial BVD candidate, a BVD offset of the first candidate being an average of the BVD offset and the first BVD offset, and a BVD offset of the second candidate being an average of the BVD offset and the second BVD offset;

determining new TM costs associated with the first candidate and the second candidate, respectively; and

determining the BVD list based on updated TM costs including (i) the lowest TM costs in the TM costs corresponding to the K initial BVD candidates and (ii) the new TM costs.

10 . The method of claim 1 , wherein

the method further includes determining the BVP; and

the reconstructing includes:

determining the BV as a sum of the BVP and the determined BVD; and

reconstructing the current block using the determined BV.

11 . A method of video encoding, comprising:

determining initial block vector difference (BVD) candidates based on (i) BVD offsets and (ii) BVD directions, each of the initial BVD candidates having (i) one of the BVD offsets that indicates a magnitude of the respective initial BVD candidate and (ii) a corresponding one of the BVD directions;

determining a template-matching (TM) cost associated with each initial BVD candidate in the initial BVD candidates; and

determining, based on the TM costs, a block vector difference (BVD) list including BVD candidates for a current block in a current picture, the current block being predicted based on a reference block in the current picture that is indicated by a block vector (BV) to be determined based on a BV predictor (BVP) and a BVD that is a difference between the BV and the BVP;

determining the BVD from the BVD candidates in the BVD list; and

encoding the current block using the determined BVD, wherein

for each adjacent pair of the BVD offsets,

an initial interval size indicates a difference between the adjacent pair of the BVD offsets, and

each of the initial interval sizes is different from other initial interval sizes corresponding to other adjacent pairs of the BVD offsets.

12 . The method of claim 11 , wherein the initial interval sizes are arranged in an ascending order.

13 . The method of claim 11 , wherein the initial interval sizes are powers of 2.

14 . The method of claim 13 , wherein the initial interval sizes include J1 sizes, each of the initial interval sizes is 2 i-1 , i is an integer in an range from 1 to J1, and J1 is larger than 1.

15 . The method of claim 11 , wherein the initial interval sizes are stored in a look-up table.

16 . The method of claim 15 , wherein one of the initial interval sizes is not a power of 2.

17 . The method of claim 11 , wherein the determining the TM cost comprises:

determining the TM cost associated with each initial BVD candidate in the initial BVD candidates between a current template of the current block and a respective reference template of a candidate reference block, the candidate reference block being indicated by an initial BV candidate that is a sum of the BVP and the respective initial BVD candidate.

18 . The method of claim 11 , wherein the determining, based on the TM costs, the BVD list comprises:

selecting K initial BVD candidates from the initial BVD candidates as the BVD candidates in the BVD list, the K initial BVD candidates corresponding to lowest TM costs in the TM costs.

19 . The method of claim 11 , wherein the determining, based on the TM costs, the BVD list comprises:

selecting K initial BVD candidates from the initial BVD candidates, the K initial BVD candidates corresponding to lowest TM costs in the TM costs;

for each of the K initial BVD candidates that has a respective BVD offset and a BVD direction,

when the BVD offset is the only BVD offset that is larger than a first BVD offset and is less than a second BVD offset that are in the BVD offsets, determining a first candidate and a second candidate associated with the respective initial BVD candidate in the K initial BVD candidates, the first candidate and the second candidate having the same BVD direction as the initial BVD candidate, a BVD offset of the first candidate being an average of the BVD offset and the first BVD offset, and a BVD offset of the second candidate being an average of the BVD offset and the second BVD offset;

determining new TM costs associated with the first candidate and the second candidate, respectively; and

determining the BVD list based on updated TM costs including (i) the lowest TM costs in the TM costs corresponding to the K initial BVD candidates and (ii) the new TM costs.

20 . A non-transitory computer-readable storage medium storing instructions which when executed by a processor cause the processor to perform an encoding method comprising:

determining initial block vector difference (BVD) candidates based on (i) BVD offsets and (ii) BVD directions, each of the initial BVD candidates having (i) one of the BVD offsets that indicates a magnitude of the respective initial BVD candidate and (ii) a corresponding one of the BVD directions;

determining a template-matching (TM) cost associated with each initial BVD candidate in the initial BVD candidates; and

determining, based on the TM costs, a block vector difference (BVD) list including BVD candidates for a current block in a current picture, the current block being predicted based on a reference block in the current picture that is indicated by a block vector (BV) to be determined based on a BV predictor (BVP) and a BVD that is a difference between the BV and the BVP;

determining the BVD from the BVD candidates in the BVD list;

encoding, in a bitstream, the current block using the determined BVD; and

transmitting the bitstream, wherein

for each adjacent pair of the BVD offsets,

an initial interval size indicates a difference between the adjacent pair of the BVD offsets, and

each of the initial interval sizes is different from other initial interval sizes corresponding to other adjacent pairs of the BVD offsets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2024
From: CHEN, LIEN-FEI; CHERNYAK, ROMAN; XU, XIAOZHONG; ZHAO, XIN; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 068649/0834 →
Continuity (2)
Provisional Application 63438490 · Jan 11, 2023
Related Publication 20240236351A1 · Jul 11, 2024
References Cited (14)
US 10469863B2 · Zhu · 2019 [cited by examiner]
US 10666968B2 · Xu · 2020 [cited by examiner]
US 11025917B2 · Xu · 2021 [cited by examiner]
US 11838542B2 · Kim · 2023 [cited by examiner]
US 12113986B2 · Xu · 2024 [cited by examiner]
US 12113998B2 · Bae · 2024 [cited by examiner]
US 20150373366A1 · He · 2015 [cited by examiner]
US 20190281303A1 · Xu et al. · 2019 [cited by applicant]
US 20220182604A1 · Kim et al. · 2022 [cited by applicant]
Block vector prediction in Intra block copy for HEVC screen content coding; Xu; 2015; (Year: 2015). [cited by examiner]
On the displacement vector prediction scheme for intra block copy; Onno; 2014; (Year: 2014). [cited by examiner]
IBC MBVD list derivation; Zhang—Jan. 2023; (Year: 2023). [cited by examiner]
Zhi Zhang, et al., “Non-EE2: IBC MBVD list derivation”, 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, Document: JVET-AC0159-v1, pp. 1-3. [cited by applicant]
International Search Report and Written Opinion received for PCT Patent Application No. PCT/US2024/011190, mailed on Apr. 17, 2024, 8 pages. [cited by applicant]