IP Library › Granted Patent US 12,652,383
Granted Patent B2
US 12,652,383 · App. 18/630,359 · Granted Jun 9, 2026

Encoder, a decoder and corresponding methods using for IBC merge list

Inventors: Huanbang Chen (Shenzhen, CN); Han Gao (Shenzhen, CN); Haitao Yang (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/105H04N19/132H04N19/137H04N19/159H04N19/176H04N19/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,652,383
App. No.
18/630,359
Granted
Jun 9, 2026
Kind
B2
Abstract

The disclosure relates to a method of coding implemented by a decoding device, comprising: obtaining a value of a maximum number of merging motion vector prediction, MVP, candidates for a current block, wherein the current block is predicted using intra block copy, IBC mode; setting a value of a MVP index to zero, when the value of the maximum number of MVP candidates for the current block is equal to one; obtaining a motion vector of the current block according to the MVP index and a candidate list; obtaining prediction samples values of the current block according to the motion vector of the current block.

Claims (47)

1 . A method of coding implemented by a decoding device, comprising:

performing entropy decoding to a bitstream to obtain a value of a maximum number of merging motion vector prediction (MVP) candidates for a current block, wherein the current block is predicted using intra block copy (IBC) mode;

setting a value of mvp_l0_flag[x0][y0] to zero, when the value of the maximum number of MVP candidates for the current block is equal to one; wherein, the mvp_l0_flag[x0][y0] specifies a motion predictor index of list 0, where x0, y0 specify a location (x0, y0) of a top-left luma sample of a coding block relative to a top-left luma sample of a picture; wherein the value of mvp_l0_flag[x0][y0] is not parsed from the bitstream;

obtaining a motion vector of the current block according to the mvp_l0_flag[x0][y0] and a candidate list;

obtaining prediction samples values of the current block according to the motion vector of the current block; and

parsing the mvp_l0_flag[x0][y0] from the bitstream, when the value of the maximum number of MVP candidates for the current block is greater than one.

2 . The method of claim 1 , wherein

the mvp_l0_flag[x0][y0] is parsed from a coding unit level.

3 . The method of claim 1 , wherein

the value of the maximum number of MVP candidates for the current block is obtained by parsing a sequence parameter set (sps) level from the bitstream.

4 . The method of claim 1 , wherein

the value of the maximum number of MVP candidates for the current block is obtained by parsing a syntax element on a slice level or tile group level or picture parameter set (pps) level from the bitstream.

5 . The method of claim 1 , wherein

the candidate list is obtained according to at least one neighboring block adjacent to the current block and a history based motion vector predictor (HMVP) list, wherein the at least one neighboring block is predicted using IBC mode.

6 . A decoder, comprising:

one or more processors; and

a computer-readable storage medium coupled to the one or more processors and storing programming for execution by the one or more processors, wherein the programming, when executed by the one or more processors, configures the decoder to perform operations of:

performing entropy decoding to a bitstream to obtain a value of a maximum number of merging motion vector prediction (MVP) candidates for a current block, wherein the current block is predicted using intra block copy (IBC) mode;

setting a value of mvp_l0_flag[x0][y0] to zero, when the value of the maximum number of MVP candidates for the current block is equal to one; wherein, the mvp_l0_flag[x0][y0] specifies a motion predictor index of list 0, where x0, y0 specify a location (x0, y0) of a top-left luma sample of a considered coding block relative to a top-left luma sample of a picture;

wherein the value of mvp_l0_flag[x0][y0] is not parsed from the bitstream;

obtaining a motion vector of the current block according to the mvp_l0_flag[x0][y0] and a candidate list;

obtaining prediction samples values of the current block according to the motion vector of the current block; and

parsing the mvp_l0_flag[x0][y0] from the bitstream, when the value of the maximum number of MVP candidates for the current block is greater than one.

7 . The decoder of claim 6 , wherein

the mvp_l0_flag[x0][y0] is parsed from a coding unit level.

8 . The decoder of claim 6 , wherein

the value of the maximum number of MVP candidates for the current block is obtained by parsing a sequence parameter set (sps) level from the bitstream.

9 . The decoder of claim 6 , wherein

the value of the maximum number of MVP candidates for the current block is obtained by parsing a syntax element on a slice level or tile group level or picture parameter set (pps) level from the bitstream.

10 . The decoder of claim 6 , wherein

the candidate list is obtained according to at least one neighboring block adjacent to the current block and a history based motion vector predictor (HMVP) list, wherein the at least one neighboring block is predicted using IBC mode.

11 . A non-transitory storage medium comprising

a bitstream and instructions which, when executed by a processor of a decoding device, cause the processor to:

perform entropy decoding to the bitstream to obtain a value of a maximum number of merging motion vector prediction (MVP) candidates for a current block, wherein the current block is predicted using intra block copy (IBC) mode;

set a value of mvp_l0_flag[x0][y0] to zero, when the value of the maximum number of MVP candidates for the current block is equal to one; wherein, the mvp_l0_flag[x0][y0] specifies a motion predictor index of list 0, where x0, y0 specify a location (x0, y0) of a top-left luma sample of a considered coding block relative to a top-left luma sample of a picture;

wherein the value of mvp_l0_flag[x0][y0] is not parsed from the bitstream;

obtain a motion vector of the current block according to the mvp_l0_flag[x0][y0] and a candidate list;

obtain prediction samples values of the current block according to the motion vector of the current block; and

parse the mvp_l0_flag[x0][y0] from the bitstream, when the value of the maximum number of MVP candidates for the current block is greater than one.

12 . The storage medium of claim 11 , wherein

the mvp_l0_flag[x0][y0] is parsed from a coding unit level.

13 . The storage medium of claim 11 , wherein

the value of the maximum number of MVP candidates for the current block is obtained by parsing a sequence parameter set (sps) level from the bitstream.

14 . The storage medium of claim 11 , wherein

the value of the maximum number of MVP candidates for the current block is obtained by parsing a syntax element on a slice level or tile group level or picture parameter set (pps) level from the bitstream.

15 . The storage medium of claim 11 , wherein

the candidate list is obtained according to at least one neighboring block adjacent to the current block and a history based motion vector predictor (HMVP) list, wherein the at least one neighboring block is predicted using IBC mode.

Priority Claims (1)
WO PCT/CN2019/088335 · May 24, 2019 · international
Continuity (3)
Continuation 17496001 · Oct 7, 2021
Continuation PCTCN2020091136 · May 20, 2020
Related Publication 20240357076A1 · Oct 24, 2024
References Cited (37)
US 9918105B2 · Pang et al. · 2018 [cited by applicant]
US 11463709B2 · Gao · 2022 [cited by examiner]
US 11563942B2 · Li et al. · 2023 [cited by applicant]
US 11985305B2 · Chen · 2024 [cited by examiner]
US 20130336405A1 · Chen et al. · 2013 [cited by applicant]
US 20160100189A1 · Pang et al. · 2016 [cited by applicant]
US 20180213227A1 · Sim et al. · 2018 [cited by applicant]
US 20180359483A1 · Chen · 2018 [cited by examiner]
US 20190014342A1 · Li et al. · 2019 [cited by applicant]
US 20200221116A1 · Chen · 2020 [cited by examiner]
US 20220060689A1 · Jang et al. · 2022 [cited by applicant]
US 20220070440A1 · Jang et al. · 2022 [cited by applicant]
US 20220124308A1 · Jang et al. · 2022 [cited by applicant]
US 20220141485A1 · Nam et al. · 2022 [cited by applicant]
US 20220159291A1 · Salehifar et al. · 2022 [cited by applicant]
US 20220166986A1 · Jang · 2022 [cited by examiner]
US 20220174278A1 · Li et al. · 2022 [cited by applicant]
US 20220182614A1 · Jang · 2022 [cited by applicant]
US 20220201309A1 · Li et al. · 2022 [cited by applicant]
US 20220210403A1 · Paluri et al. · 2022 [cited by applicant]
US 20240098300A1 · Gao · 2024 [cited by examiner]
CN 109644272A · 2019 [cited by applicant]
EP 2728882A1 · 2014 [cited by applicant]
RU 2614542C2 · 2017 [cited by applicant]
WO 2019010123A1 · 2019 [cited by applicant]
Document: JCTVC-G091,M21639, Minhua Zhou, CE13: Test results on maxNumMergeCand signaling and simplification of merge MVP list pruning process, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO… [cited by applicant]
ITU-T H.264(Apr. 2017), Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services—Coding of moving video, Advanced video coding for generic audiovisual services, total 812 pages. [cited by applicant]
Document: JVET-N0851-v2, Chih-Wei Hsu et al., CE4-related: On 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, total… [cited by applicant]
ITU-T H.265(Feb. 2018), Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services-Coding of moving video, High efficiency video coding, total 692 pages. [cited by applicant]
Document: JVET-M0127, Yu Han et al., Suggested specification changes for JVET-M0127, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Marrakech, MA, Jan. 9-18, 2019, t… [cited by applicant]
Benjamin Bross et al., Versatile Video Coding (Draft 5), 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, Document: JVET-N1001-v5, total 370 … [cited by applicant]
Document: JVET-N0448, Yao-Jen Chang et al., Non-CE4: On MMVD signaling, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IECJTC 1/SC 29/WG11, 14th Meeting: Geneva, CH, Mar. 19 27, 2019, total 12 pages. [cited by applicant]
Document: JVET-N1001-v6, Benjamin Bross et al., Versatile Video Coding (Draft 5), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/ SC 29/WG11, 14th Meeting: Geneva, CH, Mar. 19-27, 2019, total 379 … [cited by applicant]
Hyeongmun Jang, et al., AhG2 : Editorial Suggestion on the text specification for Inter and IBC mode, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-N0468, Mar. 13, 2019, 14 page… [cited by applicant]
Chen, Huanbang et al., Non-CE8: On IBC Motion Vector List Construction, JVET-00162 (version 2), ITU, Jul. 5, 2019, pp. 1-6, [online], [retrieved on Jul. 25, 2023], Retrieved from the Internet: URL: https://jvet experts.… [cited by applicant]
Xu (Mediatek) X et al: “On unification of intra block copy and interpicture motion compensation”, 17. JCT-VC Meeting; Mar. 27, 2014-Apr. 4, 2014; Valencia; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/… [cited by applicant]
He (Interdigital) Yet al: “Non-CE2: improved inter merge for unified IBC and inter framework”,20. JCT-VC Meeting; Feb. 10, 2015-Feb. 18, 2015; Geneva; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/ WG11… [cited by applicant]