IP Library › Granted Patent US 12,744,887
Granted Patent B2
US 12,744,887 · App. 18/891,078 · Granted Sep 22, 2026

Displacement vector prediction method and apparatus in video encoding and decoding and device

Inventors: Yingbin Wang (Shenzhen, CN); Xiaozhong Xu (State College, PA); Shan Liu (San Jose, CA)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
H04N19/105H04N19/159H04N19/176H04N19/182
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,744,887
App. No.
18/891,078
Granted
Sep 22, 2026
Kind
B2
Abstract

This application provides a displacement vector prediction method and apparatus in video encoding/decoding and a device and relates to the field of video codec technologies. In this application, candidate displacement vectors are constructed by combining displacement vectors related to a plurality of prediction modes, and then a predicted displacement vector of a current unit is derived from the candidate displacement vectors. Information about an encoded/decoded unit having a same prediction mode as the current unit can be used and information about an encoded/decoded unit having different prediction modes from the current unit is also allowed to be combined to derive the predicted displacement vector of the current unit, so that the candidate displacement vector has a higher possibility to be selected as the predicted displacement vector, thereby improving the encoding performance of the displacement vector.

Claims (80)

1 . A method for displacement vector prediction in video decoding, the method comprising:

determining a prediction mode of a current unit, the prediction mode indicating an intra block copy (IBC) prediction mode;

obtaining at least one candidate displacement vector based on at least one of: a history-based displacement vector prediction list, a class-based displacement vector prediction list, a displacement vector of an adjacent unit of the current unit, or a preset displacement vector, the at least one candidate displacement vector related to an intra string copy (ISC) prediction mode;

deriving a predicted displacement vector of the current unit from the at least one candidate displacement vector; and

decoding the current unit based on the predicted displacement vector.

2 . The method according to claim 1 , wherein the obtaining the at least one candidate displacement vector comprises:

constructing a history-based displacement vector prediction list, the history-based displacement vector prediction list comprising a displacement vector of a historical unit in the ISC prediction mode; and

deriving the at least one candidate displacement vector from the history-based displacement vector prediction list.

3 . The method according to claim 2 , further comprising:

performing a duplicate checking operation on a first displacement vector;

in response to a result of the duplicate checking indicating no duplicate, adding the first displacement vector to the history-based displacement vector prediction list; and

in response to the result of the duplicate checking indicating a duplicate:

skipping adding the first displacement vector to the history-based displacement vector prediction list, or

removing a displacement vector that is the same as the first displacement vector in the history-based displacement vector prediction list, and adding the first displacement vector to the history-based displacement vector prediction list.

4 . The method according to claim 1 , wherein the obtaining the at least one candidate displacement vector comprises:

constructing a history-based displacement vector prediction list, the history-based displacement vector prediction list comprising a displacement vector and auxiliary information of a historical unit in the ISC prediction mode;

classifying displacement vectors in the history-based displacement vector prediction list according to the auxiliary information;

generating a class-based displacement vector prediction list based on displacement vectors in classes; and

deriving the at least one candidate displacement vector from the class-based displacement vector prediction list.

5 . The method according to claim 4 , wherein the classifying the displacement vectors in the history-based displacement vector prediction list according to the auxiliary information comprises at least one of the following:

classifying the displacement vectors in the history-based displacement vector prediction list according to size information;

classifying the displacement vectors in the history-based displacement vector prediction list according to position information; or

classifying the displacement vectors in the history-based displacement vector prediction list according to a quantity of duplicates.

6 . The method according to claim 1 , wherein the obtaining the at least one candidate displacement vector comprises:

obtaining a displacement vector of an adjacent unit of the current unit in the ISC prediction mode as the at least one candidate displacement vector.

7 . The method according to claim 6 , wherein the obtaining the displacement vector of the adjacent unit of the current unit in the ISC prediction mode as the at least one candidate displacement vector comprises any one of the following manners:

deriving a string vector of a string comprising position information of the current unit in the adjacent unit;

deriving a string vector of a string of which a length is greater than a preset threshold in the adjacent unit;

deriving a string vector of a string with a maximum length in the adjacent unit;

deriving a string vector of a first string or a last string in the adjacent unit; or

deriving string vectors of all strings in the adjacent unit.

8 . The method according to claim 1 , wherein the obtaining the at least one candidate displacement vector comprises:

obtaining a preset displacement vector related to the ISC prediction mode as the at least one candidate displacement vector.

9 . The method according to claim 8 , wherein:

in response to the prediction mode of the current unit being the IBC prediction mode, the candidate displacement vector comprises at least one of the following preset displacement vectors: (−w, −h), (−w, 0), (0, −h), (−2*w, 0), or (0, −2*h), wherein w is a width of the current unit and h is a height of the current unit.

10 . An apparatus for displacement vector prediction in video decoding, the apparatus comprising:

a memory storing instructions; and

a processor in communication with the memory, wherein, when the processor executes the instructions, the processor is configured to cause the apparatus to perform:

determining a prediction mode of a current unit, the prediction mode indicating an intra block copy (IBC) prediction mode;

obtaining at least one candidate displacement vector based on at least one of: a history-based displacement vector prediction list, a class-based displacement vector prediction list, a displacement vector of an adjacent unit of the current unit, or a preset displacement vector, the at least one candidate displacement vector related to an intra string copy (ISC) prediction mode;

deriving a predicted displacement vector of the current unit from the at least one candidate displacement vector; and

decoding the current unit based on the predicted displacement vector.

11 . The apparatus according to claim 10 , wherein, when the processor is configured to cause the apparatus to perform obtaining the at least one candidate displacement vector, the processor is configured to cause the apparatus to perform:

constructing a history-based displacement vector prediction list, the history-based displacement vector prediction list comprising a displacement vector of a historical unit in the ISC prediction mode; and

deriving the at least one candidate displacement vector from the history-based displacement vector prediction list.

12 . The apparatus according to claim 11 , wherein, when the processor executes the instructions, the processor is configured to further cause the apparatus to perform:

performing a duplicate checking operation on a first displacement vector;

in response to a result of the duplicate checking indicating no duplicate, adding the first displacement vector to the history-based displacement vector prediction list; and

in response to the result of the duplicate checking indicating a duplicate:

skipping adding the first displacement vector to the history-based displacement vector prediction list, or

removing a displacement vector that is the same as the first displacement vector in the history-based displacement vector prediction list, and adding the first displacement vector to the history-based displacement vector prediction list.

13 . The apparatus according to claim 10 , wherein, when the processor is configured to cause the apparatus to perform obtaining the at least one candidate displacement vector, the processor is configured to cause the apparatus to perform:

constructing a history-based displacement vector prediction list, the history-based displacement vector prediction list comprising a displacement vector and auxiliary information of a historical unit in the ISC prediction mode;

classifying displacement vectors in the history-based displacement vector prediction list according to the auxiliary information;

generating a class-based displacement vector prediction list based on displacement vectors in classes; and

deriving the at least one candidate displacement vector from the class-based displacement vector prediction list.

14 . The apparatus according to claim 13 , wherein, when the processor is configured to cause the apparatus to perform the classifying the displacement vectors in the history-based displacement vector prediction list according to the auxiliary information, the processor is configured to cause the apparatus to perform at least one of the following:

classifying the displacement vectors in the history-based displacement vector prediction list according to size information;

classifying the displacement vectors in the history-based displacement vector prediction list according to position information; or

classifying the displacement vectors in the history-based displacement vector prediction list according to a quantity of duplicates.

15 . The apparatus according to claim 10 , wherein, when the processor is configured to cause the apparatus to perform obtaining the at least one candidate displacement vector, the processor is configured to cause the apparatus to perform:

obtaining a displacement vector of an adjacent unit of the current unit in the ISC prediction mode as the at least one candidate displacement vector.

16 . The apparatus according to claim 15 , wherein, when the processor is configured to cause the apparatus to perform obtaining the displacement vector of the adjacent unit of the current unit in the ISC prediction mode as the at least one candidate displacement vector, the processor is configured to cause the apparatus to perform any one of the following manners:

deriving a string vector of a string comprising position information of the current unit in the adjacent unit;

deriving a string vector of a string of which a length is greater than a preset threshold in the adjacent unit;

deriving a string vector of a string with a maximum length in the adjacent unit;

deriving a string vector of a first string or a last string in the adjacent unit; or

deriving string vectors of all strings in the adjacent unit.

17 . The apparatus according to claim 10 , wherein, when the processor is configured to cause the apparatus to perform obtaining the at least one candidate displacement vector, the processor is configured to cause the apparatus to perform:

obtaining a preset displacement vector related to the ISC prediction mode as the at least one candidate displacement vector.

18 . The apparatus according to claim 17 , wherein:

in response to the prediction mode of the current unit being the IBC prediction mode, the candidate displacement vector comprises at least one of the following preset displacement vectors: (−w, −h), (−w, 0), (0, −h), (−2*w, 0), or (0, −2*h), wherein w is a width of the current unit and h is a height of the current unit.

19 . A non-transitory computer-readable storage medium, storing computer-readable instructions, wherein, the computer-readable instructions, when executed by a processor, are configured to cause the processor to perform:

determining a prediction mode of a current unit, the prediction mode indicating an intra block copy (IBC) prediction mode;

obtaining at least one candidate displacement vector based on at least one of: a history-based displacement vector prediction list, a class-based displacement vector prediction list, a displacement vector of an adjacent unit of the current unit, or a preset displacement vector, the at least one candidate displacement vector related to an intra string copy (ISC) prediction mode;

deriving a predicted displacement vector of the current unit from the at least one candidate displacement vector; and

decoding the current unit based on the predicted displacement vector.

20 . The non-transitory computer-readable storage medium according to claim 19 , wherein, when the computer-readable instructions are configured to cause the processor to perform obtaining the at least one candidate displacement vector, the computer-readable instructions are configured to cause the processor to perform:

constructing a history-based displacement vector prediction list, the history-based displacement vector prediction list comprising a displacement vector of a historical unit in the ISC prediction mode; and

deriving the at least one candidate displacement vector from the history-based displacement vector prediction list.

Priority Claims (1)
CN 202010442257.8 · May 22, 2020 · national
Continuity (3)
Continuation 17712340 · Apr 4, 2022
Continuation PCTCN2021085697 · Apr 6, 2021
Related Publication 20250016307A1 · Jan 9, 2025
References Cited (62)
US 10356438B2 · Chuang · 2019 [cited by examiner]
US 10812791B2 · Chien · 2020 [cited by examiner]
US 10958904B2 · Xu · 2021 [cited by examiner]
US 11095915B2 · Han · 2021 [cited by examiner]
US 11109036B2 · Li · 2021 [cited by examiner]
US 11140412B2 · Liu · 2021 [cited by examiner]
US 11284103B2 · Zhu · 2022 [cited by examiner]
US 11425407B2 · Chen · 2022 [cited by examiner]
US 11451824B2 · Esenlik · 2022 [cited by examiner]
US 11483552B2 · Liu · 2022 [cited by examiner]
US 11496731B2 · Xu · 2022 [cited by examiner]
US 11509915B2 · Zhang · 2022 [cited by examiner]
US 11595678B2 · Xu · 2023 [cited by examiner]
US 11601642B2 · Xu · 2023 [cited by examiner]
US 11729379B2 · Xu · 2023 [cited by examiner]
US 11736692B2 · Jeong · 2023 [cited by examiner]
US 12058327B2 · Xu · 2024 [cited by examiner]
US 12126792B2 · Wang · 2024 [cited by examiner]
US 12177419B2 · Hu · 2024 [cited by examiner]
US 12556682B2 · Hu · 2026 [cited by examiner]
US 20150055703A1 · Pang · 2015 [cited by examiner]
US 20150110181A1 · Saxena · 2015 [cited by examiner]
US 20160057420A1 · Pang · 2016 [cited by examiner]
US 20160360234A1 · Tourapis · 2016 [cited by examiner]
US 20200112715A1 · Hung et al. · 2020 [cited by applicant]
US 20210314585A1 · Xu · 2021 [cited by examiner]
US 20210392363A1 · Xu · 2021 [cited by examiner]
US 20220182664A1 · Xu · 2022 [cited by examiner]
US 20230093129A1 · Xu · 2023 [cited by examiner]
US 20230262225A1 · Liu · 2023 [cited by examiner]
US 20230362373A1 · Jeong · 2023 [cited by examiner]
US 20230388485A1 · Gao · 2023 [cited by examiner]
US 20240007630A1 · Xu · 2024 [cited by examiner]
US 20240031557A1 · Ruiz Coll · 2024 [cited by examiner]
US 20240031592A1 · Zhao · 2024 [cited by examiner]
US 20250227291A1 · Li · 2025 [cited by examiner]
US 20260101039A1 · Galpin · 2026 [cited by examiner]
CN 106576171A · 2017 [cited by applicant]
CN 110460859A · 2019 [cited by applicant]
CN 110876058A · 2020 [cited by applicant]
CN 110944190A · 2020 [cited by applicant]
CN 111010579A · 2020 [cited by applicant]
CN 112055208A · 2020 [cited by applicant]
CN 112218092A · 2021 [cited by applicant]
CN 114450957A · 2022 [cited by applicant]
EP 3183880A1 · 2017 [cited by applicant]
WO WO2020043206A1 · 2020 [cited by applicant]
WO WO2021202769A1 · 2021 [cited by applicant]
WO WO2021252093A1 · 2021 [cited by applicant]
International Search Report with English translation and Written Opinion regarding PCT/CN2021/085697 dated Jul. 5, 2021,10 pages. [cited by applicant]
Extended European Search Report regarding EP 21 80 8651 dated Mar. 27, 2023, 17 pages. [cited by applicant]
Chinese Office Action with English explanation of relevance regarding 202010442257.8 dated Mar. 11, 2023, 14 pages. [cited by applicant]
Partial Supplementary European Search Report regarding EP 21 80 8651 dated Feb. 21, 2023, 13 pages. [cited by applicant]
Zhao, Liping et al., “A Universal String Prediction Approach and Its Application in AVS2 Mixed Content Coding Full-text in Chinese,” with English abstract, ( [cited by applicant]
Chen et al., “Intra Line Copy for HEVC Screen Content Intra-Picture Prediction,” IEEE Transactions on Circuits and Systems for Video Technology, Jul. 1, 2017, pp. 1568-157, 12 pages. [cited by applicant]
Zhao et al., “A Universal String Prediction Approach and Its Application in AVS2 Mixed Content Coding,” with English abstract, Chinese Journal of Computers, AVS2, vol. 42 No. 9, Sep. 30, 2019, 14 pages. [cited by applicant]
Xiaozhong Xu et al., “Overview of Screen Content Coding in Recently Developed Video Coding Standards,” Nov. 28, 2020, 11 pages. [cited by applicant]
Xu (Mediatek) X et al, “Non-CE2: Intra BC merge mode with default candidates,” 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]
Onno (Canon) Pet al., “AhG5: On the displacement vector prediction scheme for Intra Block Copy,” JCT-VC MEETING; Mar. 27, 2014-Apr. 4, 2014. Valencia, (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 … [cited by applicant]
“AVS3—Part 2: Video,” DVB, Digital Video Broadcasting, C/O EBU-17A Ancienne Route—CH-1218 Grand Saconnex, Geneva, Switzerland, Mar. 24, 2021, 403 pages. [cited by applicant]
European Office Action issued in European Application No. 21 808 651.0 dated Dec. 22, 2025 (8 pages). [cited by applicant]
Chinese-language Office Action issued in Chinese Application No. 202311371060.X dated May 20, 2026 with English translation (8 pages). [cited by applicant]