IP Library › Granted Patent US 12,641,247
Granted Patent B2
US 12,641,247 · App. 18/911,309 · Granted May 26, 2026

BVD sign inference in IBC based on BV and BVP components

Inventors: Tae Meon Bae (McLean, VA); Esmael Hejazi Dinan (McLean, VA); Kalyan Goswami (Reston, VA)
Assignee: Ofinno, LLC
H04N19/137H04N19/159H04N19/176H04N19/186H04N19/70
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,247
App. No.
18/911,309
Granted
May 26, 2026
Kind
B2
Abstract

A decoder receives, from a bitstream for a video, an indication of a block vector predictor (BVP) for a block vector (BV). Each of the BV, the BVP, and a block vector difference (BVD) associated with the BV and the BVP has two components in two respective directions. The decoder determines a sign of a component of the BVD in one direction of the two directions based on: a component of the BV in the other direction of the two directions, and a component of the BVP in the one direction. The decoder further decodes the BV based on the BVP and the BVD determined based on the sign, and generates, based on the BV, an intra block compensated prediction of a current block. The decoder decodes the current block based on the intra block compensated prediction and a residual of the current block.

Claims (60)

1 . A method comprising:

receiving, from a bitstream for a video, an indication of a block vector predictor (BVP) for a block vector (BV), wherein each of the BV, the BVP, and a block vector difference (BVD) associated with the BV and the BVP has two components in two respective directions;

determining a sign of a component of the BVD in one direction of the two directions based on:

a component of the BV in another direction of the two directions, and

a component of the BVP in the one direction;

decoding the BV based on the BVP and the BVD determined based on the sign;

generating, based on the BV, an intra block compensated prediction of a current block; and

decoding the current block based on the intra block compensated prediction and a residual of the current block.

2 . The method of claim 1 , wherein the determining the sign of a component of the BVD further comprises:

determining that the sign of the component of the BVD in a horizontal direction is negative, based on:

the one direction being the horizontal direction and the component of the BVP in the horizontal direction having a positive sign; and

the another direction being a vertical direction, and the component of the BV in the vertical direction having a positive sign.

3 . The method of claim 1 , wherein the determining the sign of the component of the BVD further comprises:

determining that the sign of the component of the BVD in a vertical direction is negative, based on:

the one direction being the vertical direction and the component of the BVP in the vertical direction having a positive sign; and

the another direction being a horizontal direction, and the component of the BV in the horizontal direction having a positive sign.

4 . The method of claim 1 , wherein the decoding the BV based on the BVP and the BVD is performed without extracting, from the bitstream, an indication of the sign of the component of the BVD.

5 . The method of claim 4 , wherein the decoding the BV based on the BVP and the BVD without extracting the indication of the sign of the component of the BVD from the bitstream is further based on an indication of an intra block copy prediction mode.

6 . The method of claim 1 , further comprising receiving, from the bitstream, a magnitude of the component of the BVD, wherein the BVD is determined further based on the magnitude of the component.

7 . The method of claim 1 , further comprising receiving, from the bitstream, a magnitude and a sign of a second component of the BVD in the another direction, wherein the component of the BV in the another direction is determined based on the magnitude and the sign of the second component of the BVD.

8 . A decoder comprising:

one or more processors; and

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

receive, from a bitstream for a video, an indication of a block vector predictor (BVP) for a block vector (BV), wherein each of the BV, the BVP, and a block vector difference (BVD) associated with the BV and the BVP has two components in two respective directions;

determine a sign of a component of the BVD in one direction of the two directions based on:

a component of the BV in another direction of the two directions, and

a component of the BVP in the one direction;

determine the BVD based on the sign of the component;

decode the BV based on the BVP and the BVD; and

decode a current block based on the BV.

9 . The decoder of claim 8 , wherein the determining the sign of a component of the BVD further comprises:

determining that the sign of the component of the BVD in a horizontal direction is negative based on:

the one direction being the horizontal direction and the component of the BVP in the horizontal direction having a positive sign; and

the another direction being a vertical direction, and the component of the BV in the vertical direction having a positive sign.

10 . The decoder of claim 8 , wherein the determining the sign of the component of the BVD further comprises:

determining that the sign of the component of the BVD in a vertical direction is negative based on:

the one direction being the vertical direction and the component of the BVP in the vertical direction having a positive sign; and

the another direction being a horizontal direction, and the component of the BV in the horizontal direction having a positive sign.

11 . The decoder of claim 8 , wherein the decoding the BV based on the BVP and the BVD is performed without extracting, from the bitstream, an indication of the sign of the component of the BVD.

12 . The decoder of claim 11 , wherein the decoding the BV based on the BVP and the BVD without extracting the indication of the sign of the component of the BVD from the bitstream is further based on an indication of an intra block copy prediction mode.

13 . The decoder of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the decoder to receive, from the bitstream, a magnitude of the component of the BVD, wherein the BVD is determined further based on the magnitude of the component.

14 . The decoder of claim 8 , wherein the instructions, when executed by the one or more processors, further cause the decoder to receive, from the bitstream, a magnitude and a sign of a second component of the BVD in the another direction, wherein the component of the BV in the another direction is determined based on the magnitude and the sign of the second component of the BVD.

15 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a decoder, cause the decoder to:

receive, from a bitstream for a video, an indication of a block vector predictor (BVP) for a block vector (BV), each of the BV, the BVP, and a block vector difference (BVD) associated with the BV and BVP has two components in two respective directions;

determine a sign of a component of the BVD in one direction of the two directions based on:

a component of the BV in another direction of the two directions, and

a component of the BVP in the one direction;

decode the BV based on the BVP and the BVD determined based on the sign of the component; and

decode a current block based on the BV.

16 . The non-transitory computer-readable medium of claim 15 , wherein the determining the sign of a component of the BVD further comprises:

determining that the sign of the component of the BVD in a horizontal direction is negative, based on:

the one direction being the horizontal direction and the component of the BVP in the horizontal direction having a positive sign; and

the another direction being a vertical direction, and the component of the BV in the vertical direction having a positive sign.

17 . The non-transitory computer-readable medium of claim 15 , wherein the determining the sign of the component of the BVD further comprises:

determining that the sign of the component of the BVD in a vertical direction is negative, based on:

the one direction being the vertical direction and the component of the BVP in the vertical direction having a positive sign; and

the another direction being a horizontal direction, and the component of the BV in the horizontal direction having a positive sign.

18 . The non-transitory computer-readable medium of claim 15 , wherein the decoding the BV based on the BVP and the BVD is performed without extracting, from the bitstream, an indication of the sign of the component of the BVD.

19 . The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the decoder to receive, from the bitstream, a magnitude of the component of the BVD, wherein the BVD is determined further based on the magnitude of the component.

20 . The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the decoder to receive, from the bitstream, a magnitude and a sign of a second component of the BVD in the another direction, wherein the component of the BV in the another direction is determined based on the magnitude and the sign of the second component of the BVD.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2024
From: BAE, TAE MEON; DINAN, ESMAEL HEJAZI; GOSWAMI, KALYAN
To: OFINNO, LLC
Reel/Frame 068986/0642 →
Continuity (4)
Continuation 18197483 · May 15, 2023
Continuation 17472264 · Sep 10, 2021
Provisional Application 63077226 · Sep 11, 2020
Related Publication 20250039394A1 · Jan 30, 2025
References Cited (12)
US 11653001B2 · Bae · 2023 [cited by examiner]
US 12132911B2 · Bae · 2024 [cited by examiner]
US 20110176611A1 · Huang et al. · 2011 [cited by applicant]
US 20150373370A1 · Rapaka · 2015 [cited by examiner]
US 20180278951A1 · Seregin · 2018 [cited by examiner]
US 20210250580A1 · Chen et al. · 2021 [cited by applicant]
Senanayake et al.; High performance hardware architectures for Intra Block Copy and Palette Coding for HEVC Screen Content Coding extension; ASAP 2017; The 27th Annual IEEE International Conference on Application-specif… [cited by applicant]
Xu et al; Intra Block Copy in HEVC Screen Content Coding Extensions; IEEE Journal on Emerging and Selected Topics in Circuits and Systems; 2016; IEEE. [cited by applicant]
Xu et al.; Intra block copy in Versatile Video Coding with Reference Sample Memory Reuse; 2019 Picture Coding Sympsium (PCS); Nov. 12-15, 2019; IEEE. [cited by applicant]
Liu et al.; Industrial Technology Advances; Overview of HEVC extensions on screen content coding; SIP (2015); vol. 4; e10; 2015. [cited by applicant]
N 19118; ISO/IEC JTC 1/SC 29/WG 11; Coding of moving pictures and audio; Document type: Approved WG 11 document; Title: Test Model 8 for Versatile Video Coding (VTM 8); Status: Approved; Date of document: Jan. 17, 2020;… [cited by applicant]
Bross et al; Document: JVET-Q2001-vA; Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11; 17th Meeting: Brussels, BE, Jan. 7-17, 2020; Title: Versatile Video Coding (Draft 8); Status: Outp… [cited by applicant]