IP Library › Granted Patent US 12,225,187
Granted Patent B2
US 12,225,187 · App. 17/914,317 · Granted Feb 11, 2025

Method, apparatus and device for coding and decoding

Inventor: Yucheng Sun (Zhejiang, CN)
Assignee: HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO., LTD.
H04N19/105H04N19/137H04N19/176H04N19/46
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,225,187
App. No.
17/914,317
Granted
Feb 11, 2025
Kind
B2
Abstract

The present disclosure provides methods, apparatuses and devices for coding and decoding. When determining to enable a weighted prediction for a current block, the method includes: for the current block, obtaining a weighted prediction angle of the current block; for each pixel position of the current block, determining a surrounding matching position pointed by the pixel position from surrounding positions outside the current block based on the weighted prediction angle of the current block; determining a target weight value of the pixel position based on a reference weight value associated with the surrounding matching position; determining an association weight value of the pixel position based on the target weight value of the pixel position; determining a first prediction value of the pixel position based on a first prediction mode of the current block; determining a second prediction value of the pixel position based on a second prediction mode of the current block; and based on the first prediction value, the target weight value, the second prediction value and the association weight value, determining a weighted prediction value of the pixel position; and determining weighted prediction values of the current block based on the weighted prediction values of all pixel positions of the current block.

Claims (106)

1. A method, when determining to enable a weighted prediction for a current block, the method comprising:

for the current block, obtaining a weighted prediction angle of the current block;

for each pixel position of the current block,

determining a surrounding matching position pointed by the pixel position from surrounding positions outside the current block based on the weighted prediction angle of the current block;

determining a target weight value of the pixel position based on a reference weight value associated with the surrounding matching position;

determining an association weight value of the pixel position based on the target weight value of the pixel position;

determining a first prediction value of the pixel position based on a first prediction mode of the current block;

determining a second prediction value of the pixel position based on a second prediction mode of the current block; and

determining, based on the first prediction value, the target weight value, the second prediction value and the association weight value, a weighted prediction value of the pixel position; and

determining weighted prediction values of the current block based on the weighted prediction values of all pixel positions of the current block;

wherein before determining the target weight value of the pixel position based on the reference weight value associated with the surrounding matching position, the method further comprises:

configuring reference weight values for the surrounding positions outside the current block,

wherein the reference weight values of the surrounding positions outside the current block are pre-configured or configured based on weight configuration parameters, and the weight configuration parameters comprise a weight transform rate and a weight transform start position.

2. The method of claim 1 , wherein the weight transform start position is determined by at least one of following parameters: the weighted prediction angle of the current block, a weighted prediction position of the current block, or a size of the current block.

3. The method of claim 1 , wherein a number of the surrounding positions outside the current block is determined based on at least one of:

a size of the current block or the weighted prediction angle of the current block, and

wherein the reference weight values of the surrounding positions outside the current block monotonically increase or monotonically decrease.

4. The method of claim 1 ,

wherein the reference weight values of the surrounding positions outside the current block comprise one or more reference weight values of target positions, one or more reference weight values of first neighbouring positions of the target positions, and one or more reference weight values of second neighbouring positions of the target positions, and

wherein the one or more reference weight values of the first neighbouring positions are all second reference weight values, the one or more reference weight values of the second neighbouring positions are all third reference weight values, and the second reference weight values are different from the third reference weight values.

5. The method of claim 4 , wherein,

the target positions comprise one reference weight value or at least two reference weight values;

in response to determining that the target positions comprise at least two reference weight values, the at least two reference weight values of the target positions monotonically increase.

6. The method of claim 1 , wherein,

the weighted prediction angle of the current block is a horizontal angle; or,

the weighted prediction angle of the current block is a vertical angle; or,

an absolute value of a slope of the weighted prediction angle of the current block is n-th power of 2, wherein n is an integer.

7. The method of claim 1 , wherein the surrounding positions outside the current block comprise one or more integer pixel positions or one or more sub-pixel positions, or both one or more integer pixel positions and one or more sub-pixel positions; and

wherein the surrounding positions outside the current block comprise: surrounding positions neighbouring an upper side of the current block, or surrounding positions neighbouring a left side of the current block.

8. The method of claim 1 , wherein determining the target weight value of the pixel position based on the reference weight value associated with the surrounding matching position comprises:

in response to determining that the surrounding matching position is an integer pixel position and the integer pixel position is set with a reference weight value, determining the target weight value of the pixel position based on the reference weight value of the integer pixel position; and

in response to determining that the surrounding matching position is a sub-pixel position and the sub-pixel position is set with a reference weight value, determining the target weight value of the pixel position based on the reference weight value of the sub-pixel position.

9. The method of claim 1 , wherein the first prediction mode is an inter prediction mode and the second prediction mode is an inter prediction mode.

10. The method of claim 9 , further comprising:

constructing a motion compensation candidate list, wherein the motion compensation candidate list comprises at least two pieces of candidate motion information,

wherein determining the first prediction value of the pixel position based on the first prediction mode of the current block comprises:

selecting one piece of candidate motion information from the motion compensation candidate list as first target motion information of the current block; and

determining the first prediction value of the pixel position based on the first target motion information, and

wherein determining the second prediction value of the pixel position based on the second prediction mode of the current block comprises:

selecting another piece of candidate motion information from the motion compensation candidate list as second target motion information of the current block; and

determining the second prediction value of the pixel position based on the second target motion information.

11. The method of claim 9 , further comprising:

constructing a motion compensation candidate list, wherein the motion compensation candidate list comprises at least two pieces of candidate motion information,

wherein determining the first prediction value of the pixel position based on the first prediction mode of the current block comprises:

selecting one piece of candidate motion information from the motion compensation candidate list as first origin motion information of the current block;

determining first target motion information of the current block based on the first origin motion information; and

determining the first prediction value of the pixel position based on the first target motion information, and

wherein determining the second prediction value of the pixel position based on the second prediction mode of the current block comprises:

selecting another piece of candidate motion information from the motion compensation candidate list as second origin motion information of the current block;

determining second target motion information of the current block based on the second origin motion information; and

determining the second prediction value of the pixel position based on the second target motion information.

12. The method of claim 11 ,

wherein the first origin motion information comprises a first origin motion vector, the first target motion information comprises a first target motion vector, and determining the first target motion information of the current block based on the first origin motion information comprises:

obtaining a motion vector difference corresponding to the first origin motion vector; and

determining the first target motion vector based on the motion vector difference corresponding to the first origin motion vector and the first origin motion vector; and

wherein the second origin motion information comprises a second origin motion vector, the second target motion information comprises a second target motion vector, and determining the second target motion information of the current block based on the second origin motion information comprises:

obtaining a motion vector difference corresponding to the second origin motion vector; and

determining the second target motion vector based on the motion vector difference corresponding to the second origin motion vector and the second origin motion vector.

13. The method of claim 12 , wherein in response to determining that the method is applied to a decoder-side,

obtaining the motion vector difference corresponding to the first origin motion vector comprises:

parsing direction information and amplitude information on the motion vector difference corresponding to the first origin motion vector from a coded bit stream of the current block; and

determining the motion vector difference corresponding to the first origin motion vector based on the direction information and the amplitude information on the motion vector difference corresponding to the first origin motion vector, and

obtaining the motion vector difference corresponding to the second origin motion vector comprises:

parsing direction information and amplitude information on the motion vector difference corresponding to the second origin motion vector from the coded bit stream of the current block; and

determining the motion vector difference corresponding to the second origin motion vector based on the direction information and the amplitude information on the motion vector difference corresponding to the second origin motion vector.

14. The method of claim 13 , wherein,

in response to determining that the direction information indicates a direction being rightward and the amplitude information indicates an amplitude being Ar, the motion vector difference is (Ar, 0);

in response to determining that the direction information indicates the direction being downward and the amplitude information indicates the amplitude being Ad, the motion vector difference is (0, −Ad);

in response to determining that the direction information indicates the direction being leftward and the amplitude information indicates the amplitude being Al, the motion vector difference is (−Al, 0);

in response to determining that the direction information indicates the direction being upward and the amplitude information indicates the amplitude being Au, the motion vector difference is (0, Au).

15. The method of claim 13 , wherein parsing the direction information and the amplitude information on the motion vector difference corresponding to the first or the second origin motion vector from the coded bit stream of the current block comprises:

parsing flag information from the coded bit stream of the current block; and

in response to determining that the flag information indicates superimposing the motion vector difference on the origin motion vector, parsing the direction information and the amplitude information on the motion vector difference corresponding to the first or the second origin motion vector from the coded bit stream of the current block.

16. A decoder-side device, comprising:

a processor, and

a machine readable storage medium,

wherein the machine readable storage medium stores machine executable instructions executable by the processor, and the processor is configured to execute the machine executable instructions to perform:

when determining to enable a weighted prediction for a current block, for the current block, obtaining a weighted prediction angle of the current block;

for each pixel position of the current block,

determining a surrounding matching position pointed by the pixel position from surrounding positions outside the current block based on the weighted prediction angle of the current block;

determining a target weight value of the pixel position based on a reference weight value associated with the surrounding matching position;

determining an association weight value of the pixel position based on the target weight value of the pixel position;

determining a first prediction value of the pixel position based on a first prediction mode of the current block;

determining a second prediction value of the pixel position based on a second prediction mode of the current block; and

determining, based on the first prediction value, the target weight value, the second prediction value and the association weight value, a weighted prediction value of the pixel position; and

determining weighted prediction values of the current block based on the weighted prediction values of all pixel positions of the current block;

wherein before determining the target weight value of the pixel position based on the reference weight value associated with the surrounding matching position, further comprising:

configuring reference weight values for the surrounding positions outside the current block,

wherein the reference weight values of the surrounding positions outside the current block are pre-configured or configured based on weight configuration parameters, and the weight configuration parameters comprise a weight transform rate and a weight transform start position.

17. A coder-side device, comprising:

a processor, and

a machine readable storage medium,

wherein the machine readable storage medium stores machine executable instructions executable by the processor and the processor is configured to execute the machine executable instructions to perform:

when determining to enable a weighted prediction for a current block, for the current block, obtaining a weighted prediction angle of the current block;

for each pixel position of the current block,

determining a surrounding matching position pointed by the pixel position from surrounding positions outside the current block based on the weighted prediction angle of the current block;

determining a target weight value of the pixel position based on a reference weight value associated with the surrounding matching position;

determining an association weight value of the pixel position based on the target weight value of the pixel position;

determining a first prediction value of the pixel position based on a first prediction mode of the current block;

determining a second prediction value of the pixel position based on a second prediction mode of the current block; and

determining, based on the first prediction value, the target weight value, the second prediction value and the association weight value, a weighted prediction value of the pixel position; and

determining weighted prediction values of the current block based on the weighted prediction values of all pixel positions of the current block;

wherein before determining the target weight value of the pixel position based on the reference weight value associated with the surrounding matching position, further comprising:

configuring reference weight values for the surrounding positions outside the current block,

wherein the reference weight values of the surrounding positions outside the current block are pre-configured or configured based on weight configuration parameters, and the weight configuration parameters comprise a weight transform rate and a weight transform start position.

18. A non-transitory computer readable storage medium, storing at least one machine-executable instruction, wherein the at least one machine-executable instruction is executed by at least one processor to perform the method according to claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2022
From: SUN, YUCHENG
To: HANGZHOU HIKVISION DIGITAL TECHNOLOGY CO., LTD.
Reel/Frame 061700/0253 →
Priority Claims (1)
CN 202010220130.1 · Mar 25, 2020 · national
Continuity (1)
Related Publication 20230353723A1 · Nov 2, 2023
References Cited (54)
US 6320676B1 · Yoshidome · 2001 [cited by applicant]
US 9609343B1 · Chen et al. · 2017 [cited by applicant]
US 20120207214A1 · Zhou et al. · 2012 [cited by applicant]
US 20130114716A1 · Gao · 2013 [cited by examiner]
US 20170347094A1 · Su et al. · 2017 [cited by applicant]
US 20170347102A1 · Panusopone et al. · 2017 [cited by applicant]
US 20180184110A1 · Panusopone et al. · 2018 [cited by applicant]
US 20180288245A1 · Oguma · 2018 [cited by applicant]
US 20180288425A1 · Panusopone et al. · 2018 [cited by applicant]
US 20180332303A1 · Young · 2018 [cited by applicant]
US 20190014316A1 · Panusopone · 2019 [cited by examiner]
US 20190124339A1 · Young · 2019 [cited by applicant]
US 20200077110A1 · Zhang et al. · 2020 [cited by applicant]
US 20200213593A1 · Chiang · 2020 [cited by examiner]
US 20210227212A1 · Lee · 2021 [cited by examiner]
US 20210235072A1 · Ko · 2021 [cited by examiner]
US 20220224910A1 · Huo · 2022 [cited by examiner]
US 20220272373A1 · Moon · 2022 [cited by examiner]
CN 101502120 · 2009 [cited by applicant]
CN 104539967 · 2015 [cited by applicant]
CN 108781283 · 2018 [cited by applicant]
CN 109803145 · 2019 [cited by applicant]
CN 109862369 · 2019 [cited by applicant]
CN 109996081A · 2019 [cited by applicant]
CN 110121073A · 2019 [cited by applicant]
CN 110225346 · 2019 [cited by applicant]
CN 110312132A · 2019 [cited by applicant]
JP 7375224B2 · 2023 [cited by applicant]
RU 2571550C2 · 2015 [cited by applicant]
WO WO2020057648A1 · 2020 [cited by examiner]
WO WO2020098782A1 · 2020 [cited by examiner]
“Generalized Bi-prediction Method for Future Video Coding”—Chen et al., 978-1-5090-5966-9/16/$31.00 A © 2016 IEEE (Year: 2016). [cited by examiner]
“Rotational Weighted Averaged Template Matching for Intra Prediction”—Zhang et al., 978-1-7281-2940-2/19/$31.00 A © 2019 IEEE (Year: 2019). [cited by examiner]
“A Novel Motion Compensated Prediction Framework Using Weighted AMVP Prediction for HEVC”—Yu et al., 2013 Visual Communications and Image Processing (VCIP); Date of Conference: Nov. 17-20, 2013 (Year: 2013). [cited by examiner]
State Intellectual Property Office of the People's Republic of China, Office Action and Search Report Issued in Application No. 2021111527899, Oct. 14, 2022, 6 pages. (Submitted with Machine Translation). [cited by applicant]
European Patent Office, Extended European Search Report Issued in Application No. 21774249.3, Aug. 3, 2023, Germany, 14 pages. [cited by applicant]
Australian Patent Office, Office Action Issued in Application No. 2021243002, May 18, 2023, 3 pages. [cited by applicant]
Russian Patent Office, Office Action Issued in Application No. 2022123523, May 2, 2023, 14 pages. (Submitted with Machine Translation). [cited by applicant]
Liang Zhao et al, Non-CE: Weighted intra and inter prediction mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-00537,15th Meeting: Gothenburg, SE, Jul. 3-12, 2019, 6 pages. [cited by applicant]
Geert Van der Auwera et al, Extension of Simplified PDPC to Diagonal Intra Modes,Joint Video Experts Team (JVET), of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-J0069, 10th Meeting: San Diego, USA, Apr. 10-20, … [cited by applicant]
Yucheng Sun,CE4-related: On simplification for GEO weight derivation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-Q0312-v3,17th Meeting: Brussels, BE, Jan. 7-17, 2020, 7 pages. [cited by applicant]
Semih Esenlik et al, Non-CE4: Geometrical partitioning for inter blocks,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-00489, 15th Meeting: Gothenburg, SE, Jul. 3-12, 2019,9 page… [cited by applicant]
Ru-Ling Liao et al, CE4-related: Unification of triangle partition mode and geometric merge mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-P0305-v2,16th Meeting: Geneva, CH,… [cited by applicant]
Han Gao, et al.,“CE4: CE4-1.1, CE4-1.2 and CE4-1.14: Geometric Merge Mode (GEO)”, Document: JVET-P0068-v2, JVET-P0068 (version 2), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Sep. … [cited by applicant]
Ru-Ling Liao, et al.,“CE10.3.1.b: Triangular prediction unit mode”, Document: JVET-L0124-v2, [online], JVET-L0124 (version 2), Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,Oct. 5… [cited by applicant]
Shohei Matsuo et al, “A Study on Enhancement of HEVC Intra Prediction Using Weight Function”,Information Processing Society of Japan and the Institute of Electronics,Information and Communication Engineers, FIT2013, Aug… [cited by applicant]
Yucheng Sun, et al., “Angular weighted prediction for next-generation video coding standard”, Proceedings of 2021 IEEE International Conference on Multimedia and Expo (ICME) IEEE Jun. 9, 2021 ISBN: 978-1-6654-3864-3, <D… [cited by applicant]
Shohei Matsuo et al., AHG7: Modification of intra angular prediction blending, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, JCTVC-L0128, 12th Meeting: Geneva, Jan. … [cited by applicant]
Office Action in European patent Application No. 21774249.3, issued on Sep. 3, 2024. [cited by applicant]
Office Action in Indian patent Application No. 202217055632, issued on Mar. 22, 2024. [cited by applicant]
Office Action in Japanese patent Application No. 2023-182712, issued on Aug. 13, 2024. [cited by applicant]
International Search Report for PCT/CN2021/082465 mailed on Jun. 22, 2021 and its English translation provided by WIPO. [cited by applicant]
Written Opinion of the International Searching Authority for PCT/CN2021/082465 mailed on Jun. 22, 2021 and its English translation provided by Google Translate. [cited by applicant]
Krit Panusopone et al., “Weighted Angular Prediction,”, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 6th Meeting, JVET-F0104, Apr. 4, 2017, all pages. [cited by applicant]
Cited By (2)
US 12,494,031 US 12,526,401