IP Library › Granted Patent US 12,368,883
Granted Patent B2
US 12,368,883 · App. 18/177,591 · Granted Jul 22, 2025

Block vector difference binarization and coding in video coding

Inventors: Keming Cao (San Diego, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/521H04N19/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,368,883
App. No.
18/177,591
Granted
Jul 22, 2025
Kind
B2
Abstract

A method of encoding or decoding video data includes determining that a block vector difference (BVD) value is non-zero, wherein the BVD value is indicative of a difference between a block vector for a current block of the video data and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same picture as the current block; and encoding or decoding a value for the BVD value, without signaling or parsing syntax information indicating whether an absolute value of the BVD value is greater than one.

Claims (47)

1. A method of encoding or decoding video data, the method comprising:

determining that a block vector difference (BVD) horizontal component value of a BVD is non-zero;

determining that a BVD vertical component value of the BVD is non-zero, wherein the BVD horizontal component value and the BVD vertical component value are indicative of a difference between a block vector for a current block of the video data and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same picture as the current block;

encoding or decoding a first value for the BVD horizontal component value utilizing a first set of one or more contexts; and

encoding or decoding a second value for the BVD vertical component value utilizing a second set of one or more contexts,

wherein the one or more contexts in the first set of contexts and the second set of contexts are different.

2. The method of claim 1 , wherein the first value is equal to an absolute value of the BVD horizontal component value minus one, and wherein the second value is equal to an absolute value of the BVD vertical component value minus one.

3. The method of claim 1 , wherein the first value is represented as a codeword, wherein encoding or decoding the first value comprises context-based encoding or decoding the codeword.

4. The method of claim 3 , wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword.

5. The method of claim 4 , wherein the first N bins comprise the first 5 bins of the codeword.

6. The method of claim 3 , wherein the codeword is an Exponential-Golomb codeword.

7. The method of claim 1 ,

wherein determining that the BVD horizontal component value is non-zero comprises parsing a first flag, and

wherein encoding or decoding the first value comprises decoding the first value without parsing a second flag indicating whether an absolute value of the BVD horizontal component value is greater than one.

8. The method of claim 1 , wherein the picture that includes the current block comprises a first picture, and wherein the current block is a first block, the method further comprising:

encoding or decoding, utilizing a third set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture, wherein the motion vector for the second block identifies a block in a picture different than the second picture, and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,

wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different.

9. The method of claim 1 , wherein encoding or decoding the first value comprises decoding the first value, the method further comprising:

determining the block vector for the current block based on the first value;

determining a prediction block based on the block vector;

receiving residual information indicative of a difference between the prediction block and the current block; and

reconstructing the current block based on the residual information and the prediction block.

10. A device for encoding or decoding video data, the device comprising:

memory configured to store video data; and

processing circuitry configured to:

determine that a block vector difference (BVD) horizontal component value of a BVD is non-zero;

determine that a BVD vertical component value of the BVD is non-zero, wherein the BVD horizontal component value and the BVD vertical component value are indicative of a difference between a block vector for a current block of the video data and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same picture as the current block;

encode or decode a first value for the BVD horizontal component value utilizing a first set of one or more contexts; and

encode or decode a second value for the BVD vertical component value utilizing a second set of one or more contexts,

wherein the one or more contexts in the first set of contexts and the second set of contexts are different.

11. The device of claim 10 , wherein the first value is equal to an absolute value of the BVD horizontal component value minus one, and wherein the second value is equal to an absolute value of the BVD vertical component value minus one.

12. The device of claim 10 , wherein the first value is represented as a codeword, wherein to encode or decode the first value, the processing circuitry is configured to context-based encode or decode the codeword.

13. The device of claim 12 , wherein to context-based encode or decode the codeword, the processing circuitry is configured to context-based encode or decode a first N bins of the codeword and bypass encode or decode remaining bins of the codeword.

14. The device of claim 13 , wherein the first N bins comprise the first 5 bins of the codeword.

15. The device of claim 12 , wherein the codeword is an Exponential-Golomb codeword.

16. The device of claim 10 ,

wherein to determine that the BVD horizontal component value is non-zero, the processing circuitry is configured to parse a first flag, and

wherein to encode or decode the first value, the processing circuitry is configured to decode the first value without parsing a second flag indicating whether an absolute value of the BVD horizontal component value is greater than one.

17. The device of claim 10 , wherein the picture that includes the current block comprises a first picture, wherein the current block is a first block, and the value, wherein the processing circuitry is further configured to:

encode or decode, utilizing a third set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture, wherein the motion vector for the second block identifies a block in a picture different than the second picture, and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,

wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different.

18. A non-transitory computer-readable storage medium storing instructions thereon that when executed cause one or more processors to:

determine that a block vector difference (BVD) horizontal component value of a BVD is non-zero;

determine that a BVD vertical component value of the BVD is non-zero, wherein the BVD horizontal component value and the BVD vertical component value are indicative of a difference between a block vector for a current block of video data and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same picture as the current block;

encode or decode a first value for the BVD horizontal component value utilizing a first set of one or more contexts; and

encode or decode a second value for the BVD vertical component value utilizing a second set of one or more contexts,

wherein the one or more contexts in the first set of contexts and the second set of contexts are different.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2023
From: CAO, KEMING; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 063188/0387 →
Continuity (2)
Provisional Application 63362782 · Apr 11, 2022
Related Publication 20230328272A1 · Oct 12, 2023
References Cited (25)
US 11729411B2 · Lim · 2023 [cited by examiner]
US 20080240252A1 · He · 2008 [cited by examiner]
US 20150098504A1 · Pang · 2015 [cited by examiner]
US 20150264386A1 · Pang et al. · 2015 [cited by applicant]
US 20150382010A1 · Rapaka · 2015 [cited by examiner]
US 20160227214A1 · Rapaka · 2016 [cited by examiner]
US 20160277770A1 · Hong · 2016 [cited by examiner]
US 20200351521A1 · Xu · 2020 [cited by examiner]
US 20220086451A1 · Bae · 2022 [cited by examiner]
US 20220182621A1 · Iwamura · 2022 [cited by examiner]
US 20220182646A1 · Iwamura · 2022 [cited by examiner]
CN 107079162 · 2015 [cited by examiner]
Xu, Xiao-zhong translation of CN 107079162 Aug. 26, 2015 (Year: 2015). [cited by examiner]
Cao K., et al., “EE2-Related: Block Vector Difference Binarization”, JVET-Z0131-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, pp. 1-3. [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 4 (ECM 4)”, JVET-Y2025-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 23rd Meeting, by teleconference, Jul. 7-16, … [cited by applicant]
Huang H., et al., “CE2: Worst-Case Memory Bandwidth Reduction for Affine (Test 2-4.5)”, JVET-N0256, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Geneva, CH, Mar. 19-27… [cited by applicant]
ITU-T H.265: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video”, High Efficiency Video Coding, The International Telecommunication Union, Jun. 2019, 696 Pages. [cited by applicant]
ITU-T H.266: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video”, Versatile Video Coding, The International Telecommunication Union, Aug. 2020, 516 pages. [cited by applicant]
Karczewicz M., et al., “Common Test Conditions and Evaluation Procedures for Enhanced Compression Tool Testing”, JVET-Y2017-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, … [cited by applicant]
Robert A., et al., “EE2-3.6: Combined Tests Involving EE2-3.4”, JVET-Z0095-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, pp. 1-6. [cited by applicant]
Seregin V., et al., “Exploration Experiment on Enhanced Compression beyond VVC capability (EE2)”, JVET-Y2024-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by eleconferenc… [cited by applicant]
International Search Report and Written Opinion—PCT/US2023/015804—ISA/EPO—Jun. 26, 2023 (12 pp). [cited by applicant]
Laroche G., et al., “AHG5: Motion prediction for Intra Block Copy”, 15. JCTVC Meeting, Oct. 23, 2013-Nov. 11, 2013, Geneva, (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 ), No. JCTV… [cited by applicant]
Pang C., et al., “Non-RCE3: Intra Motion Compensation with 2-D MVs”, 14. JCT-VC Meeting, Jul. 25, 2013-Feb. 8, 2013, Vienna, (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-TSG .16 ), No. JCT… [cited by applicant]
Rapaka K., et al., “CE1 : Results of Test 1.1, Test 2.1 and Test 3.1”, 19. JCT-VC Meeting; Oct. 17, 2014-Oct. 24, 2014; Strasbourg; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 ); … [cited by applicant]