IP Library › Granted Patent US 12,382,052
Granted Patent B2
US 12,382,052 · App. 17/489,793 · Granted Aug 5, 2025

Chroma sample weight derivation for geometric partition mode

Inventors: Semih Esenlik (Munich, DE); Max Blaeser (Aachen, DE); Zhijie Zhao (Shenzhen, CN); Han Gao (Munich, DE); Anand Meher Kotra (Munich, DE); Biao Wang (Munich, DE); Elena Alexandrovna Alshina (Munich, DE)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/132H04N19/105H04N19/159H04N19/176H04N19/186
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,382,052
App. No.
17/489,793
Granted
Aug 5, 2025
Kind
B2
Abstract

A method of coding implemented by a decoding device, comprising obtaining a value of a parameter for a current block, the value of the parameter indicating a partition mode for the current block; obtaining a first prediction mode for the current block; obtaining a second prediction mode for the current block; generate a first prediction value for a chroma sample in the current block according to the first prediction mode; generate a second prediction value for a chroma sample in the current block according to the second prediction mode; obtaining a combined prediction value by combining the first prediction value and the second prediction value.

Claims (62)

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

obtaining a value of a parameter for a current block, the value of the parameter indicating a partition mode for the current block;

obtaining a first prediction mode for the current block;

obtaining a second prediction mode for the current block;

generating a first prediction value for a chroma sample in the current block according to the first prediction mode;

generating a second prediction value for a chroma sample in the current block according to the second prediction mode;

obtaining a combined prediction value by combining the first prediction value and the second prediction value;

obtaining a weight value for a luma sample by calculating the weight value for the luma sample; and obtaining a first weight value for a chroma sample by calculating the first weight value for the chroma sample;

obtaining a combined prediction value for the chroma sample in the current block, according to the first prediction value for the chroma sample and the first weight value for the chroma sample; and

wherein the combined prediction value is obtained by combining the first prediction value and the second prediction value according to a blending operation, the blending operation is implemented using a function of a sample distance sample_dist as input and sample Weight1 as output,

wherein said sample_dist function is a division or multiplication with a constant number operation, a right shifting a constant amount operation, a taking the absolute value or a clipping operation or a combination of those, and wherein sample_dist=((x<<1)+1)*Dis[angleIdx1]+ ((y<<1)+1))*Dis[angleIdx2]−offset (distanceIdx), and wherein angleIdx1 and angleIdx2 represent quantized trigonometric parameters of a separation line and angleIdx2 is equal to a remainder of a variable (displacementX) plus 8 and divided by 32, x and y are the −x and −y coordinates of a sample with respect to top-left sample of a coding block, offset (distanceIdx) is an offset value, which is a function of an index value (distanceIdx), and Dis[ ] is a lookup table describing the change in the sample distance with respect to a unit increase in the x or y directions, and wherein sample Weight1=Clip3(0, 8, f (sample_dist)), wherein f( ) 1s a division/addition/multiplication with a constant number operation, a right shifting with a constant amount operation, taking the absolute value operation or a clipping operation or a combination of those,

wherein sample Weight1=Clip3(0, 8, sample_dist*K+Clip3(0, 8, sample_dist+4)), sample_dist represents a distance of the luma sample to a separation line of the current block, and K is an integer with a value greater than 0.

2. The method according to claim 1 , wherein the combined prediction value is obtained by combining the first prediction value and the second prediction value according to the partition mode.

3. The method of claim 1 , wherein the obtaining of the first weight value for the chroma sample, is related to obtaining of the weight value for the luma sample in the current block as,

sampleWeight C 1( x,y )=sampleWeight1(2* x, 2* y );

wherein x and y are coordinates of a chroma sample with respect to the top-left coordinate of the chroma block of the coding block, sampleWeightC1 (a, b) is a first weight value for the chroma sample which is located at a sample coordinate (a,b) in the chroma block of the current block, a and b being coordinate values; and sampleWeight1 (c, d) represents a weight value corresponding to a luma sample which is located at a sample coordinate (c, d) in a luma block of the current block, c and d being coordinate values.

4. The method of claim 1 , wherein the obtaining the first weight value for the chroma sample, is related to obtaining of the weight value for the luma sample in the current block as,

sampleWeight C 1( x,y )=sampleWeight1(2* x− 1,2* y− 1);

or

sampleWeight C 1( x,y )=(sampleWeight1(2* x− 1,2* y− 1)+sampleWeight1(2* x, 2* y )+ K )>>1;

or

sampleWeight C 1( x,y )=(sampleWeight1(2* x− 1,2* y− 1)+sampleWeight1(2* x, 2* y )+sampleWeight1(2* x, 2* y− 1)+sampleWeight1(2* x− 1,2* y )+ K )>>2;

or

sampleWeight C 1( x,y )=(sampleWeight1(2* x− 1,2* y− 1)+sampleWeight1(2* x, 2* y )+sampleWeight1(2* x, 2* y− 1)+sampleWeight1(2* x− 1,2* y )+2)>>2;

or

sampleWeight C 1( x,y )=(sampleWeight1(2* x− 1,2* y− 1)+sampleWeight1(2* x, 2* y )+1)>>1;

wherein x and y are coordinates of a chroma sample with respect to the top-left coordinate of the chroma block of the coding block, sampleWeightC1 (a, b) is a first weight value for the chroma sample which is located at a sample coordinate (a,b) in the chroma block of the current block, a and b being coordinate values; and sampleWeight1 (c, d) represents a weight value corresponding to a luma sample which is located at a sample coordinate (c, d) in a luma block of the current block, c and d being coordinate values; and K is an integer value.

5. The method according to claim 1 , wherein the partition mode is a geometrical model.

6. The method according to claim 1 , wherein the parameter is an angle parameter or a distance parameter.

7. The method according to claim 1 , where the first prediction mode and the second prediction mode are different.

8. The method according to claim 1 , wherein the first prediction mode or the second prediction mode is an inter prediction mode, wherein information for the inter prediction mode comprises a reference picture index or a motion vector.

9. The method according to claim 1 , wherein the first prediction mode or the second prediction mode is an intra prediction mode, wherein information for the intra prediction mode comprises an intra prediction mode index.

10. The method according to claim 1 , wherein K 1s indicated by a value of an indicator in a bitstream decoded by the decoding device.

11. A video decoder, comprising: one or more processors; and a non-transitory computer-readable storage medium coupled to the one or more processors and storing programming instructions for execution by the one or more processors, wherein the one or more processors, upon executing the programming instructions, cause the video decoder to carry out operations of:

obtaining a value of a parameter for a current block, the value of the parameter indicating a partition mode for the current block;

obtaining a first prediction mode for the current block;

obtaining a second prediction mode for the current block;

generating a first prediction value for a chroma sample in the current block according to the first prediction mode;

generating a second prediction value for a chroma sample in the current block according to the second prediction mode;

obtaining a combined prediction value by combining the first prediction value and the second prediction value;

obtaining a weight value for a luma sample by calculating the weight value for the luma sample; and obtaining a first weight value for a chroma sample by calculating the first weight value for the chroma sample;

obtaining a combined prediction value for the chroma sample in the current block, according to the first prediction value for the chroma sample and the first weight value for the chroma sample; and

wherein the combined prediction value is obtained by combining the first prediction value and the second prediction value according to a blending operation, the blending operation is implemented using a function of a sample distance sample_dist as input and sample Weight1 as output,

wherein said sample_dist function is a division or multiplication with a constant number operation, a right shifting a constant amount operation, a taking the absolute value or a clipping operation or a combination of those, and wherein sample_dist=((x<<1)+1)*Dis[angleIdx1]+ ((yv<<1)+1))*Dis[angleIdx2]−offset (distanceIdx), and wherein angleIdx1 and angleIdx2 represent quantized trigonometric parameters of a separation line and angleIdx2 is equal to a remainder of a variable (displacementX) plus 8 and divided by 32, x and y are the −x and −y coordinates of a sample with respect to top-left sample of a coding block, offset (distanceIdx) is an offset value, which is a function of an index value (distanceIdx), and Dis[ ] is a lookup table describing the change in the sample distance with respect to a unit increase in the x or y directions, and

wherein sample Weight1=Clip3(0, 8, f (sample_dist)), wherein f( ) is a division/addition/multiplication with a constant number operation, a right shifting with a constant amount operation, taking the absolute value operation or a clipping operation or a combination of those,

wherein sample Weight1=Clip3(0, 8, sample_dist*K+Clip3(0, 8, sample_dist+4) sample_dist represents a distance of the luma sample to a separation line of the current block, and K is an integer with a value greater than 0.

12. The video decoder according to claim 11 , wherein the combined prediction value is obtained by combining the first prediction value and the second prediction value according to the partition mode.

13. The method according to claim 11 , wherein K 1s indicated by a value of an indicator in a bitstream decoded by the video decoder.

14. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:

obtaining a value of a parameter for a current block, the value of the parameter indicating a partition mode for the current block;

obtaining a first prediction mode for the current block;

obtaining a second prediction mode for the current block;

generating a first prediction value for a chroma sample in the current block according to the first prediction mode;

generating a second prediction value for a chroma sample in the current block according to the second prediction mode;

obtaining a combined prediction value by combining the first prediction value and the second prediction value;

obtaining a weight value for a luma sample by calculating the weight value for the luma sample; and obtaining a first weight value for a chroma sample by calculating the first weight value for the chroma sample;

obtaining a combined prediction value for the chroma sample in the current block, according to the first prediction value for the chroma sample and the first weight value for the chroma sample; and

wherein the combined prediction value is obtained by combining the first prediction value and the second prediction value according to a blending operation, the blending operation is implemented using a function of a sample distance sample_dist as input and sample Weight1 as output,

wherein said sample_dist function is a division or multiplication with a constant number operation, a right shifting a constant amount operation, a taking the absolute value or a clipping operation or a combination of those, and wherein sample_dist=((x<<1)+1)*Dis[angleIdx1]+ ((y<<11)+1))*Dis[angleIdx2]−offset (distanceIdx), and wherein angleIdx1 and angleIdx2 represent quantized trigonometric parameters of a separation line and angleIdx2 is equal to a remainder of a variable (displacementX) plus 8 and divided by 32, x and y are the −x and −y coordinates of a sample with respect to top-left sample of a coding block, offset (distanceIdx) is an offset value, which is a function of an index value (distanceIdx), and Dis[ ] is a lookup table describing the change in the sample distance with respect to a unit increase in the x or y directions, and

wherein sampleWeight1=Clip3(0, 8, f (sample_dist)), wherein f( ) is a division/addition/multiplication with a constant number operation, a right shifting with a constant amount operation, taking the absolute value operation or a clipping operation or a combination of those,

wherein sample Weight1=Clip3(0, 8, sample_dist*K+Clip3(0, 8, sample_dist+4) sample_dist represents a distance of the luma sample to a separation line of the current block, and K is an integer with a value greater than 0.

15. The method according to claim 14 , wherein K 1s indicated by a value of an indicator in a bitstream decoded by the one or more processors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2025
From: ESENLIK, SEMIH; BLAESER, MAX; ZHAO, ZHIJIE; GAO, HAN; KOTRA, ANAND MEHER; WANG, BIAO; ALSHINA, ELENA ALEXANDROVNA
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 071459/0513 →
Priority Claims (1)
WO PCT/EP2019/066516 · Jun 21, 2019 · international
Continuity (2)
Continuation PCTCN2020097147 · Jun 19, 2020
Related Publication 20220021883A1 · Jan 20, 2022
References Cited (32)
US 9609343B1 · Chen · 2017 [cited by examiner]
US 11190762B2 · Choi et al. · 2021 [cited by applicant]
US 20090196342A1 · Divorra Escoda · 2009 [cited by examiner]
US 20100208818A1 · Yin et al. · 2010 [cited by applicant]
US 20130251036A1 · Lee et al. · 2013 [cited by applicant]
US 20130287093A1 · Hannuksela · 2013 [cited by examiner]
US 20180213227A1 · Lim et al. · 2018 [cited by applicant]
US 20180288410A1 · Park · 2018 [cited by examiner]
US 20180376149A1 · Zhang · 2018 [cited by examiner]
US 20200288150A1 · Jun · 2020 [cited by examiner]
US 20200322628A1 · Lee · 2020 [cited by examiner]
US 20200366931A1 · Ko · 2020 [cited by examiner]
US 20210227222A1 · Lee · 2021 [cited by examiner]
CN 102763415A · 2012 [cited by applicant]
CN 103096070A · 2013 [cited by applicant]
CN 103339943A · 2013 [cited by applicant]
CN 108141585A · 2018 [cited by applicant]
WO 2011126274A3 · 2012 [cited by applicant]
WO 2019039324A1 · 2019 [cited by applicant]
R. Cha, O. Au, X. Fan, X. Zhang, and J. Li, “Improved combined inter-intra prediction using spatialvariant weighted coefficient, ” in Multimedia and Expo (ICME), 2011 IEEE International Conference on. IEEE, 2011, pp. 1-… [cited by examiner]
Y. Chen, D. Mukherjee, J. Han and K. Rose, “Joint inter-intra prediction based on mode-variant and edge-directed weighting approaches in video coding”, Proc. IEEE Int. Conf. Acoust. Speech Signal Process. (ICASSP), pp. … [cited by examiner]
Bross et al., “Versatile Video Coding (Draft 5),” JVET-N1001-v9, 14th Meeting: Geneva, CH, Mar. 19-27, 2019 (published Jun. 6, 2019). [cited by examiner]
Bross et al., “Versatile Video Coding (Draft 5),” JVET-N1001-v8, 14th Meeting: Geneva, CH, Mar. 19-27, 2019 (published Jun. 11, 2019). [cited by examiner]
Document: JVET-L1001-v2, Benjamin Bross et al, Versatile Video Coding (Draft 3), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Macao, CN, Oct. 3-12, 2018, total 174 pag… [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]
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]
Chen Jia-zhong et al., A method of textured block partition based on a distance weighted intra prediction, Computer Engineering and Applications, Oct. 21, 2008, with an English abstract total 3 pages. [cited by applicant]
Toma, Tadamasa et al., Description of SDR video coding technology proposal by Panasonic, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, Apr. 10-20, 2018, [… [cited by applicant]
JCT-VC: “Test Model under Consideration (TMuC)”, 1. JCT-VC Meeting; Apr. 15, 2010-Apr. 23, 2010; Dresden; (JointCollaborative Team on Video Coding of 1S0/IEC JTC1/SC29/WG11 and ITU-T SG.16),No. JCTVC-A205 Jul. 18, 2010 … [cited by applicant]
R-L Liao (Panasonic) et al: “CE10.3.1.b: Triangular prediction unitmode”, 12. JVET Meeting; Oct. 3, 2018-Oct. 12, 2018; Macao; (The Joint VideoExploration Team of 1S0/IEC JTC1/SC29/WG11 and ITU-T SG.16 ), No. JVET-L0124… [cited by applicant]
Blaser (RWTH-Aachen) M et al: “Description of SOR and 360 videocoding technology proposal by RWTH Aachen University”, 10. JVET Meeting; Apr. 10, 2018-Apr. 20, 2018; San Diego; (The JointVideo Exploration Team of ISO/IEC… [cited by applicant]
Yongjo Ahn, et al. Diagonal motion partitions on top of QTBT block structure, Joint Video exploration Team(JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 8th Meeting: Macao, CN, Oct. 18-25, 2017, JVET-H0087, pp… [cited by applicant]