IP Library › Granted Patent US 12,556,682
Granted Patent B2
US 12,556,682 · App. 17/948,094 · Granted Feb 17, 2026

Method and apparatus for determining candidate motion information list, electronic device, and storage medium

Inventor: Ye Hu (Shenzhen, CN)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
H04N19/105H04N19/136H04N19/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,556,682
App. No.
17/948,094
Granted
Feb 17, 2026
Kind
B2
Abstract

This application provides a method for determining a candidate motion information list for a current codec block, including: determining a target motion information list and a historical motion information table for the current codec block; and obtaining, when the target motion information list is not full, at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information, the candidate motion information list being used for providing candidate predicted displacement vectors for the current codec block. This application further provides an apparatus for determining a candidate motion information list, an electronic device, a storage medium, and a computer program product.

Claims (75)

1 . A method for determining a candidate motion information list for a current codec block, comprising:

constructing a spatial domain motion information list, wherein the spatial domain motion information list comprises motion information of a spatial neighboring block of the current codec block, and the spatial neighboring block comprises at least an ISC block;

obtaining, when the candidate motion information list has no sufficient motion information, at least one piece of motion information from the spatial domain motion information list, and filling the candidate motion information list using the at least one piece of motion information through a first filling process;

when the candidate motion information list is not completely filled after the first filling process,

determining a historical motion information table for the current codec block, the historical motion information table being used for at least one of inter prediction, intra prediction, intra block copy (IBC) prediction, or intra string copy (ISC) prediction; and

obtaining at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information through a second filling process, the candidate motion information list being used for providing candidate predicted displacement vectors for the current codec block, further including:

obtaining a quantity of displacement vectors in the historical motion information table; and

when the quantity of displacement vectors in the historical motion information table is greater than or equal to two, deriving a displacement vector from a weighted average of at least two displacement vectors in the historical motion information table and filling the candidate motion information list with the derived displacement vector.

2 . The method according to claim 1 , wherein the obtaining at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information comprises:

determining corresponding displacement vectors based on the historical motion information table, and filling the candidate motion information list based on the displacement vectors; or

performing dynamic filling based on parity of an index of a filling position in the candidate motion information list; or

determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors, to implement filling of the candidate motion information list; or

determining the corresponding displacement vectors based on the historical motion information table, and performing dynamic filling based on a quantity of the displacement vectors and the index of the filling position in the candidate motion information list.

3 . The method according to claim 2 , wherein the performing dynamic filling based on parity of an index of a filling position in the candidate motion information list comprises:

determining, when the index of the filling position in the candidate motion information list is an odd number, a first displacement vector and a last displacement vector in the historical motion information table, and filling the candidate motion information list based on an average of the first displacement vector and the last displacement vector; or

determining the first displacement vector in the historical motion information table based on the historical motion information table, and filling the candidate motion information list based on the first displacement vector.

4 . The method according to claim 2 , wherein the performing dynamic filling based on parity of an index of a filling position in the candidate motion information list comprises:

determining, when the index of the filling position in the candidate motion information list is an even number, a first displacement vector and a last displacement vector in the historical motion information table, and filling the candidate motion information list based on an average of the first displacement vector and the last displacement vector; or

determining the first displacement vector in the historical motion information table based on the historical motion information table, and filling the candidate motion information list based on the first displacement vector.

5 . The method according to claim 2 , wherein the determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors comprises:

determining a value of a horizontal direction of a first displacement vector and a value of a vertical direction of a last displacement vector in the historical motion information table based on the historical motion information table;

filling a horizontal direction of the displacement vector in the prediction mode based on the value of the horizontal direction of the first displacement vector; and

filling a vertical direction of the displacement vector in the prediction mode based on the value of the vertical direction of the last displacement vector.

6 . The method according to claim 2 , wherein the determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors comprises:

determining a value of a vertical direction of a first displacement vector and a value of a horizontal direction of a last displacement vector in the historical motion information table based on the historical motion information table;

filling a vertical direction of the displacement vector in the prediction mode based on the value of the vertical direction of the first displacement vector; and

filling a horizontal direction of the displacement vector in the prediction mode based on the value of the horizontal direction of the last displacement vector.

7 . The method according to claim 2 , wherein the performing dynamic filling based on a quantity of the displacement vectors and the index of the filling position in the candidate motion information list comprises:

determining a position of a to-be-filled displacement vector in the historical motion information table when a quantity of candidate displacement vectors of the historical motion information table is greater than the index of the filling position in the candidate motion information list; and

determining a corresponding displacement vector for dynamic filling based on the position of the to-be-filled displacement vector in the historical motion information table, wherein the position of the to-be-filled displacement vector in the historical motion information table is determined based on the quantity of candidate displacement vectors and the index of the filling position in the candidate motion information list.

8 . An electronic device, comprising:

a memory, configured to store executable instructions; and

a processor, configured to implement, when executing the executable instructions stored in the memory, a method for determining a candidate motion information list for a current codec block, the method including:

constructing a spatial domain motion information list, wherein the spatial domain motion information list comprises motion information of a spatial neighboring block of the current codec block, and the spatial neighboring block comprises at least an ISC block;

obtaining, when the candidate motion information list has no sufficient motion information, at least one piece of motion information from the spatial domain motion information list, and filling the candidate motion information list using the at least one piece of motion information through a first filling process;

when the candidate motion information list is not completely filled after the first filling process,

determining a historical motion information table for the current codec block, the historical motion information table being used for at least one of inter prediction, intra prediction, intra block copy (IBC) prediction, or intra string copy (ISC) prediction; and

obtaining at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information through a second filling process, the candidate motion information list being used for providing candidate predicted displacement vectors for the current codec block, further comprising:

obtaining a quantity of displacement vectors in the historical motion information table; and

when the quantity of displacement vectors in the historical motion information table is greater than or equal to two, deriving a displacement vector from a weighted average of at least two displacement vectors in the historical motion information table and filling the candidate motion information list with the derived displacement vector.

9 . The electronic device according to claim 8 , wherein the obtaining at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information comprises:

determining corresponding displacement vectors based on the historical motion information table, and filling the candidate motion information list based on the displacement vectors; or

performing dynamic filling based on parity of an index of a filling position in the candidate motion information list; or

determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors, to implement filling of the candidate motion information list; or

determining the corresponding displacement vectors based on the historical motion information table, and performing dynamic filling based on a quantity of the displacement vectors and the index of the filling position in the candidate motion information list.

10 . The electronic device according to claim 9 , wherein the performing dynamic filling based on parity of an index of a filling position in the candidate motion information list comprises:

determining, when the index of the filling position in the candidate motion information list is an odd number, a first displacement vector and a last displacement vector in the historical motion information table, and filling the candidate motion information list based on an average of the first displacement vector and the last displacement vector; or

determining the first displacement vector in the historical motion information table based on the historical motion information table, and filling the candidate motion information list based on the first displacement vector.

11 . The electronic device according to claim 9 , wherein the performing dynamic filling based on parity of an index of a filling position in the candidate motion information list comprises:

determining, when the index of the filling position in the candidate motion information list is an even number, a first displacement vector and a last displacement vector in the historical motion information table, and filling the candidate motion information list based on an average of the first displacement vector and the last displacement vector; or

determining the first displacement vector in the historical motion information table based on the historical motion information table, and filling the candidate motion information list based on the first displacement vector.

12 . The electronic device according to claim 9 , wherein the determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors comprises:

determining a value of a horizontal direction of a first displacement vector and a value of a vertical direction of a last displacement vector in the historical motion information table based on the historical motion information table;

filling a horizontal direction of the displacement vector in the prediction mode based on the value of the horizontal direction of the first displacement vector; and

filling a vertical direction of the displacement vector in the prediction mode based on the value of the vertical direction of the last displacement vector.

13 . The electronic device according to claim 9 , wherein the determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors comprises:

determining a value of a vertical direction of a first displacement vector and a value of a horizontal direction of a last displacement vector in the historical motion information table based on the historical motion information table;

filling a vertical direction of the displacement vector in the prediction mode based on the value of the vertical direction of the first displacement vector; and

filling a horizontal direction of the displacement vector in the prediction mode based on the value of the horizontal direction of the last displacement vector.

14 . The electronic device according to claim 9 , wherein the performing dynamic filling based on a quantity of the displacement vectors and the index of the filling position in the candidate motion information list comprises:

determining a position of a to-be-filled displacement vector in the historical motion information table when a quantity of candidate displacement vectors of the historical motion information table is greater than the index of the filling position in the candidate motion information list; and

determining a corresponding displacement vector for dynamic filling based on the position of the to-be-filled displacement vector in the historical motion information table, wherein the position of the to-be-filled displacement vector in the historical motion information table is determined based on the quantity of candidate displacement vectors and the index of the filling position in the candidate motion information list.

15 . A non-transitory computer-readable storage medium, storing executable instructions, the executable instructions, when executed by a processor of an electronic device, causing the electronic device to implement a method for determining a candidate motion information list for a current codec block, the method including:

constructing a spatial domain motion information list, wherein the spatial domain motion information list comprises motion information of a spatial neighboring block of the current codec block, and the spatial neighboring block comprises at least an ISC block;

obtaining, when the candidate motion information list has no sufficient motion information, at least one piece of motion information from the spatial domain motion information list, and filling the candidate motion information list using the at least one piece of motion information through a first filling process;

when the candidate motion information list is not completely filled after the first filling process,

determining a historical motion information table for the current codec block, the historical motion information table being used for at least one of inter prediction, intra prediction, intra block copy (IBC) prediction, or intra string copy (ISC) prediction; and

obtaining at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information through a second filling process, the candidate motion information list being used for providing candidate predicted displacement vectors for the current codec block, further comprising:

obtaining a quantity of displacement vectors in the historical motion information table; and

when the quantity of displacement vectors in the historical motion information table is greater than or equal to two, deriving a displacement vector from a weighted average of at least two displacement vectors in the historical motion information table and filling the candidate motion information list with the derived displacement vector.

16 . The non-transitory computer-readable storage medium according to claim 15 , wherein the obtaining at least one piece of motion information based on the historical motion information table, and filling the candidate motion information list based on the at least one piece of motion information comprises:

determining corresponding displacement vectors based on the historical motion information table, and filling the candidate motion information list based on the displacement vectors; or

performing dynamic filling based on parity of an index of a filling position in the candidate motion information list; or

determining the corresponding displacement vectors based on the historical motion information table, and filling a displacement vector in a prediction mode based on the displacement vectors, to implement filling of the candidate motion information list; or

determining the corresponding displacement vectors based on the historical motion information table, and performing dynamic filling based on a quantity of the displacement vectors and the index of the filling position in the candidate motion information list.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2022
From: HU, YE
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 061481/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2022
From: HU, YE
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 061351/0459 →
Priority Claims (1)
CN 202011114059.5 · Oct 18, 2020 · national
Continuity (2)
Continuation PCTCN2021118839 · Sep 16, 2021
Related Publication 20230016630A1 · Jan 19, 2023
References Cited (23)
US 20170238001A1 · Li · 2017 [cited by examiner]
US 20200059651A1 · Lin · 2020 [cited by examiner]
US 20200099951A1 · Hung · 2020 [cited by examiner]
US 20200112741A1 · Han · 2020 [cited by examiner]
US 20200137398A1 · Zhao · 2020 [cited by examiner]
US 20200404342A1 · Kotra · 2020 [cited by examiner]
US 20220109835A1 · Lee · 2022 [cited by examiner]
US 20220217356A1 · Jiang · 2022 [cited by examiner]
CN 110460859A · 2019 [cited by applicant]
CN 110519600A · 2019 [cited by applicant]
CN 110545424A · 2019 [cited by applicant]
CN 111010579A · 2020 [cited by applicant]
CN 111567045A · 2020 [cited by applicant]
CN 111698507A · 2020 [cited by applicant]
WO WO2020006969A1 · 2020 [cited by applicant]
Jianle Chen et al., “Algorithm Description for Versatile Video Coding and Test Model 6 (VTM 6)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC I/SC 29/WG 11 15th Meeting: Gothenburg, SE, Jul. 3-12,… [cited by applicant]
Jianle Chen et al., “Algorithm Description for Versatile Video Coding and Test Model 13 (VTM 13)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 22nd Meeting, Document: JVET-V2002-v1, 102 p… [cited by applicant]
Tencent Technology, Extended European Search Report and Supplementary Search Report, EP21879196.0, Aug. 1, 2023, 13 pgs. [cited by applicant]
Xianglin Wang et al., “CE4-related: An Improved Method for Triangle Merge List Construction”, 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, 2019,… [cited by applicant]
Xiaozhong Xu et al., “CES-Related: Combination Test of JVET-N0176/JVET-N0317/JVET-N0382 on Simplification of IBC Vector Prediction”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th… [cited by applicant]
Tencent Technology, WO, PCT/CN2021/118839, Dec. 14, 2021, 4 pgs. [cited by applicant]
Tencent Technology, IPRP, PCT/CN2021/118839, Apr. 13, 2023, 5 pgs. [cited by applicant]
Tencent Technology, ISR, PCT/CN2021/118839, Dec. 14, 2021, 2 pgs. [cited by applicant]
Cited By (1)
US 12,744,887