IP Library › Granted Patent US 12,563,183
Granted Patent B2
US 12,563,183 · App. 18/755,330 · Granted Feb 24, 2026

Block vector storing and tool harmonization for block vector related video coding

Inventors: Po-Han Lin (Taipei, TW); Jian-Liang Lin (Su'ao Township, TW); Yao-Jen Chang (San Diego, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM INCORPORATED
H04N19/105H04N19/159H04N19/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,563,183
App. No.
18/755,330
Granted
Feb 24, 2026
Kind
B2
Abstract

A method of encoding or decoding video data includes storing a block vector (BV) for a current block in a history BV list for encoding or decoding a subsequent block, wherein the current block is encoded or decoded in intra temporal motion vector prediction (IntraTMP) mode, and wherein the history BV list includes BVs for blocks that do not neighbor the subsequent block; deriving a candidate list of BVs for the subsequent block based on BVs from the history BV list that includes the BV for the current block; and encoding or decoding the subsequent block based on the candidate list of BVs.

Claims (61)

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

storing a block vector (BV) for a current block in a history BV list for encoding or decoding a subsequent block, wherein the current block is encoded or decoded in intra temporal motion vector prediction (IntraTMP) mode, and wherein the history BV list includes BVs for blocks that do not neighbor the subsequent block;

deriving a candidate list of BVs for the subsequent block based on BVs from the history BV list that includes the BV for the current block; and

encoding or decoding the subsequent block based on the candidate list of BVs.

2 . The method of claim 1 , wherein deriving the candidate list of BVs for the subsequent block comprises:

adding BVs from blocks neighboring the subsequent block to an initial candidate list;

adding BVs from the history BV list to the initial candidate list;

determining template matching costs for BVs in the initial candidate list; and

deriving the candidate list of BVs based on the template matching costs for the BVs in the initial candidate list.

3 . The method of claim 1 , wherein storing the BV for the current block comprises:

one of clipping or rounding an actual BV for the current block to generate a clipped or rounded BV for the current block; and

storing the clipped or rounded BV for the current block.

4 . The method of claim 1 , wherein the current block is not a neighboring block of the subsequent block.

5 . The method of claim 1 , wherein the subsequent block is encoded or to be decoded in IntraTMP mode or intra block copy (IBC) mode.

6 . The method of claim 1 , further comprising:

utilizing each of the BVs in the candidate list of BVs as a starting BV for a template matching process associated with each of the BVs; and

determining a prediction signal for the subsequent block based on the template matching process associated with each of the BVs,

wherein encoding or decoding the subsequent block comprises encoding or decoding the subsequent block based on the prediction signal.

7 . The method of claim 1 , wherein an order of BVs in the history BV list is based on coding order of the blocks including the current block.

8 . The method of claim 1 , wherein encoding or decoding the subsequent block comprises decoding the subsequent block, wherein decoding the subsequent block comprises:

determining a prediction signal based on at least one BV in the candidate list of BVs;

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

reconstructing the subsequent block based on the prediction signal and the residual information.

9 . The method of claim 1 , wherein encoding or decoding the subsequent block comprises encoding the subsequent block, wherein encoding the subsequent block comprises:

determining a prediction signal, wherein at least one BV in the candidate list of BVs identifies or is used to identify a block used to derive the prediction signal;

determining residual information indicative of a difference between the prediction signal and the subsequent block; and

signaling the residual information.

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

one or more memories configured to store the video data; and

processing circuitry coupled to the one or more memories, wherein the processing circuitry is configured to:

store a block vector (BV) for a current block in a history BV list for encoding or decoding a subsequent block, wherein the current block is encoded or decoded in intra temporal motion vector prediction (IntraTMP) mode, and wherein the history BV list includes BVs for blocks that do not neighbor the subsequent block;

derive a candidate list of BVs for the subsequent block based on BVs from the history BV list that includes the BV for the current block; and

encode or decode the subsequent block based on the candidate list of BVs.

11 . The device of claim 10 , wherein to derive the candidate list of BVs for the subsequent block, the processing circuitry is configured to:

add BVs from blocks neighboring the subsequent block to an initial candidate list;

add BVs from the history BV list to the initial candidate list;

determine template matching costs for BVs in the initial candidate list; and

derive the candidate list of BVs based on the template matching costs for the BVs in the initial candidate list.

12 . The device of claim 10 , wherein to store the BV for the current block, the processing circuitry is configured to:

one of clip or round an actual BV for the current block to generate a clipped or rounded BV for the current block; and

store the clipped or rounded BV for the current block.

13 . The device of claim 10 , wherein the current block is not a neighboring block of the subsequent block.

14 . The device of claim 10 , wherein the subsequent block is encoded or to be decoded in IntraTMP mode or intra block copy (IBC) mode.

15 . The device of claim 10 , wherein the processing circuitry is configured to:

utilize each of the BVs in the candidate list of BVs as a starting BV for a template matching process associated with each of the BVs; and

determine a prediction signal for the subsequent block based on the template matching process associated with each of the BVs,

wherein to encode or decode the subsequent block, the processing circuitry is configured to encode or decode the subsequent block based on the prediction signal.

16 . The device of claim 10 , wherein an order of BVs in the history BV list is based on coding order of the blocks including the current block.

17 . The device of claim 10 , wherein to encode or decode the subsequent block comprises, the processing circuitry is configured to decode the subsequent block, wherein to decode the subsequent block, the processing circuitry is configured to:

determine a prediction signal based on at least one BV in the candidate list of BVs;

receive residual information indicative of a difference between the prediction signal and the subsequent block; and

reconstruct the subsequent block based on the prediction signal and the residual information.

18 . The device of claim 10 , wherein to encode or decode the subsequent block, the processing circuitry is configured to encode the subsequent block, wherein to encode the subsequent block, the processing circuitry is configured to:

determine a prediction signal, wherein at least one BV in the candidate list of BVs identifies or is used to identify a block used to derive the prediction signal;

determine residual information indicative of a difference between the prediction signal and the subsequent block; and

signal the residual information.

19 . The device of claim 10 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

20 . A computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

store a block vector (BV) for a current block in a history BV list for encoding or decoding a subsequent block, wherein the current block is encoded or decoded in intra temporal motion vector prediction (IntraTMP) mode, and wherein the history BV list includes BVs for blocks that do not neighbor the subsequent block;

derive a candidate list of BVs for the subsequent block based on BVs from the history BV list that includes the BV for the current block; and

encode or decode the subsequent block based on the candidate list of BVs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: LIN, PO-HAN; LIN, JIAN-LIANG; CHANG, YAO-JEN; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 068293/0230 →
Continuity (2)
Provisional Application 63511471 · Jun 30, 2023
Related Publication 20250008085A1 · Jan 2, 2025
References Cited (25)
US 11470340B2 · Xu · 2022 [cited by examiner]
US 20210037256A1 · Zhang · 2021 [cited by examiner]
US 20240022763A1 · Chen · 2024 [cited by examiner]
WO 2024015110A1 · 2024 [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 8 (ECM 8)”, 141. MPEG Meeting, Online, (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 … [cited by applicant]
International Search Report and Written Opinion—PCT/US2024/035868—ISA/EPO—Oct. 9, 2024 (15 pp). [cited by applicant]
Lim W., et al., “AHG12: Using Block Vector Derived from IntraTMP for IBC”, 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-Jul. 22, 2022, No. JVET-AA… [cited by applicant]
Lim W., et al., “EE2-Related: Modifications of EE2-3.2 and EE2-3.3”, 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-Oct. 28, 2022, No. JVET-AB0062-v2, m6079… [cited by applicant]
Zhu C., et al., “Non-EE2: IntraTMP with HMVP Candidates”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 33rd Meeting, by teleconference, Jan. 17-Jan. 26, 2024, No. JVET-AG0074-v3, Jan. 15,… [cited by applicant]
Bross B., et al., “Versatile Video Coding Editorial Refinements on Draft 10”, JVET-T2001-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 20th Meeting, by Teleconference, Oct. 7-16, 2020, … [cited by applicant]
Chen J., et al., “Algorithm Description for Versatile Video Coding and Test Model 10 (VTM 10)”, JVET-S2002-v1, Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1119th Meeting: by teleconfere… [cited by applicant]
Chen J., et al., “Algorithm Description for Versatile Video Coding and Test Model 11 (VTM 11)”, JVET-T2002-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 20th Meeting, by teleconference… [cited by applicant]
Chen J., et al., “Algorithm Description for Versatile Video Coding and Test Model 4 (VTM 4)”, JVET-M1002-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting, Marrakech, MA,… [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 10 (ECM 10)”, JVET-AE2025, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 31st Meeting, Geneva, CH, Jul. 11-19, 2023, … [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 6 (ECM 6)”, JVET-AA2025, 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, 20… [cited by applicant]
Cui K., et al., “EE2-2.6: ARMC Merge Candidate List Reordering for AMVP-Merge Mode”, JVET-AC150-v2, 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… [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-AE2017-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 31st Meeting,… [cited by applicant]
Lin J-L., et al., “Non-EE2: Fixes Related to Intra TMP”, JVET-AE0124-V2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, Jul. 11-19, 2023, pp. 1-5. [cited by applicant]
Seregin V., et al., “Exploration Experiment on Enhanced Compression Beyond VVC capability (EE2)”, JVET-AE2024-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, Jul… [cited by applicant]
Sullivan G.J., et al., “Overview of the High Efficiency Video Coding (HEVC) Standard”, IEEE Transactions on Circuits and Systems for Video Technology, IEEE Service Center, Piscataway, NJ, US, vol. 22, No. 12, Dec. 1, 20… [cited by applicant]
Wang Y-K., et al., “High Efficiency Video Coding (HEVC) Defect Report”, JCTVC-N1003-v1, JCTVC-N1003, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting, Vie… [cited by applicant]
Yu Y., et al., “EE2-2.6: IntraTMP Block Vector Storing”, JVET-AF0079-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 32nd Meeting, Hannover, DE, Oct. 13-20, 2023, pp. 1-4. [cited by applicant]
Yu Y., et al., “Non-EE2: On IntraTMP Block Vector”, JVET-AE0075-v3, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 31st Meeting, Geneva, CH, Jul. 11-19, 2023, pp. 1-2. [cited by applicant]