IP Library Granted Patent US 12,587,674
Granted Patent B2
US 12,587,674 · App. 18/781,886 · Granted Mar 24, 2026

Bit depth variable for high precision data in weighted prediction syntax and semantics

Inventors: Yue Yu (San Diego, CA); Limin Wang (San Diego, CA)
Assignee: ARRIS Enterprises LLC
H04N19/577H04N19/172H04N19/186H04N19/46H04N19/573H04N19/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,587,674
App. No.
18/781,886
Granted
Mar 24, 2026
Kind
B2
Abstract

Particular embodiments provide a variable, BitDepth, that may be set at a value based on a number of bits used to represent pixels in pictures of a video. The variable may be used in syntax elements in HEVC, such as the HEVC range extension, but other coding standards may be used. By using the variable, different resolutions for the video may be accommodated during the encoding and decoding process. For example, the number of pixels in the pictures may be represented by 8 bits, 10 bits, 12 bits, or another number of bits depending on the resolution. Using the BitDepth variable in the syntax provides flexibility in the motion estimation and motion compensation process. For example, syntax elements used in the weighted prediction process may take into account different numbers of bits used to represent the pictures.

Claims (63)

1 . A method for decoding a bitstream, the method comprising:

identifying one or more weight flags signaled in the bitstream that indicates presence of weighting factors for at least one of a luma component and/or a chroma component;

determining a first weighting factor for performing weighted prediction for a current unit of a current picture, the first weighting factor for weighting pixels of a first reference unit of a first reference picture when performing motion compensation for the current unit;

determining a second weighting factor for performing weighted prediction for the current unit of the current picture, the second weighting factor for weighting pixels of a second reference unit of a second reference picture when performing motion compensation for the current unit;

wherein when the weighting factors for a luma component is present:

determining from a signaled delta_luma_weight_10 syntax element a difference of the first weighting factor and the second weighting factor applied to a luma prediction value for list 0 prediction using a variable RefPicList0[i] for a first luma component, and

deriving a variable LumaWeightL0 associated with the luma component weighting factors, wherein when the one or more weight flags indicates presence of the weighting factor for a luma component, Luma WeightL0 is derived to be equal to (1«luma_log 2_weight_denom)+delta_luma_weight_10 in a range of −(1«(BitDepth Y −1)), (1«(BitDepth Y −1))−1, inclusive, wherein said BitDepth Y shall only be equal to 8;

determining from a signalled delta_luma_weight_11 syntax element a difference of the second weighting factor applied to a luma prediction value for list 1 prediction using a variable RefPicList1[i] for the first luma component,

deriving a variable Luma WeightL1 associated with the luma component weighting factors, wherein when the one or more weight flags indicates presence of the weighting factor for a luma component, LumaWeightL1 is derived to be equal to (1«luma_log 2_weight_denom)+delta_luma_weight_11 in a range of −(1«(BitDepth Y −1)), (1«(BitDepth Y −1)−1), inclusive,

wherein the luma_log 2_weight_denom is a base 2 logarithm of a denominator for all luma weighting factors, and the BitDepth Y is a bit depth for the luma component of the respective reference picture; and

wherein when weighting factors for a chroma component is present:

determining from a signaled delta_chroma_weight_10[i][j] syntax element a difference of the first weighting factor applied to a chroma prediction value for list 0 prediction using a variable RefPicList0[i] with j equal to 0 for Cb or j equal to 1 for Cr for a first chroma component; and

deriving a variable ChromaWeight10 associated with the chroma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for a chroma component, ChromaWeight10 is derived to be equal to ((1«(ChromaLog2WeightDemon)+delta_chroma weight_10[i][j] in a range of −(1«(BitDepthc−1)), ((1«BitDepthc−1)−1), inclusive, wherein said BitDepthc shall only be equal to 8;

determining from a signaled delta_chroma_weight_11 [i] [j] syntax element a difference of the second weighting factor applied to a chroma prediction value for list 1 prediction using a variable RefPicList1[i] with j equal to 0 for Cb or j equal to 1 for Cr for the first chroma component; and

deriving a variable ChromaWeight11 associated with the chroma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for the chroma component, ChromaWeight11 is derived to be equal to ((1«(ChromaLog2WeightDemon)+delta_chroma weight_11[i][j], in a range of −(1«(BitDepthc−1)), ((1«BitDepthc−1)−1), inclusive, where ChromaLog2WeightDemon is derived from luma_log 2_weight_denom+delta_chroma_log 2_weightdenom, wherein the delta_chroma_log 2_weight_denom is a difference of a base 2 logarithm of a denominator for all chroma weighting factors, and BitDepthc is a bit depth for the chroma component of the respective reference picture;

wherein the ChromaWeightL0 variable is based upon the delta_chroma_weight_10[i][j],

wherein the ChromaWeightL1 variable is based upon the delta_chroma_weight_11[i][j],

wherein the second component comprises a chroma component of the first reference unit or the second reference unit;

wherein a determination of at least one value present in a pred weight table is dependent on a variable ChromaArrayType.

2 . A method for encoding a bitstream by an encoder, the method comprising:

said bitstream including data suitable for identifying one or more weight flags signaled in the bitstream that indicates presence of weighting factors for at least one of a luma component and/or a chroma component;

said bitstream including data suitable for determining a first weighting factor for performing weighted prediction for a current unit of a current picture, the first weighting factor for weighting pixels of a first reference unit of a first reference picture when performing motion compensation for the current unit;

said bitstream including data suitable for determining a second weighting factor for performing weighted prediction for the current unit of the current picture, the second weighting factor for weighting pixels of a second reference unit of a second reference picture when performing motion compensation for the current unit;

wherein when weighting factors for a luma component is present:

said bitstream including data suitable for determining from a signaled delta_luma_weight_10 syntax element a difference of the first weighting factor applied to a luma prediction value for list 0 prediction using a variable RefPicList0[i] for a first luma component, and

said bitstream including data suitable for deriving a variable LumaWeightLO associated with the luma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for a luma component, LumaWeightL0 is derived to be equal to (1<<luma_log2_weight_denom)+delta_luma_weight_10 in a range of -(1<<(BitDepthy-1)), (1<<(BitDepthy-1)-1), inclusive, wherein said BitDepthy shall only be equal to 8;

said bitstream including data suitable for determining from a signaled delta_luma_weight_11 syntax element a difference of the second weighting factor applied to a luma prediction value for list 1 prediction using a variable RefPicList1 [i] for the first luma component,

said bitstream including data suitable for deriving a variable LumaWeightL1 associated with the luma component weighting factors, wherein when the one or more weight flags indicates presence of the weighting factor for a luma component, LumaWeightL1 is derived to be equal to (1<<luma_log2_weight_denom)+delta_luma_weight_11 in a range of-(1<<(BitDepthy-1)), (1<<(BitDepthy-1)-1), inclusive,

wherein the luma_log 2_weight_denom is a base 2 logarithm of a denominator for all luma weighting factors, and the BitDepthy is a bit depth for the luma component of the respective reference picture; and

wherein when weighting factors for a chroma component is present:

said bitstream including data suitable for determining from a signaled delta_chroma_weight_10[i][j] syntax element a difference of the first weighting factor applied to a chroma prediction value for list 0 prediction using a variable RefPicList0[i] with j equal to 0 for Cb or j equal to 1 for Cr for a first chroma component; and

said bitstream including data suitable for deriving a variable ChromaWeight10 associated with the chroma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for a chroma component, ChromaWeight10 is derived to be equal to ((1<<(ChromaLog2WeightDemon)+delta_chroma_weight_10[i][j] in a range of-(1<<(BitDepthc-1)), ((1<<BitDepthc-1)-1), inclusive, wherein said BitDepthc shall only be equal to 8;

said bitstream including data suitable for determining from a signaled delta_chroma_weight_11[i][j] syntax element a difference of the second weighting factor applied to a chroma prediction value for list 1 prediction using a variable RefPicList 1 [i] with j equal to 0 for Cb or j equal to 1 for Cr for the first chroma component; and

said bitstream including data suitable for deriving a variable ChromaWeight11 associated with the chroma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for the chroma component, ChromaWeight11 is derived to be equal to ((1<<(ChromaLog2WeightDemon)+delta_chroma_weight_11[i][j], in a range of-(1<<(BitDepthc-1)), ((1<<BitDepthc-1)-1), inclusive,

where ChromaLog2WeightDemon is derived from luma_log

2_weight_denom+delta_chroma_log 2_weight_denom,

wherein the delta_chroma_log 2_weight_denom is a difference of a base 2 logarithm of a denominator for all chroma weighting factors, and BitDepthc is a bit depth for the chroma component of the respective reference picture;

wherein the ChromaWeightL0 variable is based upon the delta_chroma_weight_10[i][j],

wherein the ChromaWeightL1 variable is based upon the delta_chroma_weight_11[i][j],

wherein the second component comprises a chroma component of the first reference unit or the second reference unit;

wherein a determination of at least one value present in a pred weight table is dependent on a variable ChromaArrayType.

3 . A computer readable non-volatile storage device storing a bitstream of compressed video data, the bitstream comprising:

said bitstream including data suitable for identifying one or more weight flags signaled in the bitstream that indicates presence of weighting factors for at least one of a luma component and/or a chroma component;

said bitstream including data suitable for determining a first weighting factor for performing weighted prediction for a current unit of a current picture, the first weighting factor for weighting pixels of a first reference unit of a first reference picture when performing motion compensation for the current unit;

said bitstream including data suitable for determining a second weighting factor for performing weighted prediction for the current unit of the current picture, the second weighting factor for weighting pixels of a second reference unit of a second reference picture when performing motion compensation for the current unit;

wherein when weighting factors for a luma component is present:

said bitstream including data suitable for determining from a signaled delta_luma_weight_10 syntax element a difference of the first weighting factor applied to a luma prediction value for list 0 prediction using a variable RefPicList0[i] for a first luma component, and

said bitstream including data suitable for deriving a variable LumaWeightL0 associated with the luma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for a luma component, LumaWeightL0 is derived to be equal to (1<<luma_log 2_weight_denom)+delta_luma_weight_10 in a range of-(1<<(BitDepthy-1)), (1<<(BitDepthy-1)-1), inclusive, wherein said BitDepthy shall only be equal to 8;

said bitstream including data suitable for determining from a signaled delta_luma_weight_11 syntax element a difference of the second weighting factor applied to a luma prediction value for list 1 prediction using a variable RefPicList1[i] for the first luma component,

said bitstream including data suitable for deriving a variable LumaWeightL1associated with the luma component weighting factors, wherein when the one or more weight flags indicates presence of the weighting factor for a luma component, LumaWeightL1 is derived to be equal to (1<<luma_log2_weight_denom)+delta_luma_weight_11 in a range of-(1<<(BitDepthy-1)), (1<<(BitDepthy-1)-1), inclusive,

wherein the luma_log 2_weight_denom is a base 2 logarithm of a denominator for all luma weighting factors, and the BitDepthy is a bit depth for the luma component of the respective reference picture; and

wherein when weighting factors for a chroma component is present:

said bitstream including data suitable for determining from a signaled delta_chroma_weight_10[i][j] syntax element a difference of the first weighting factor applied to a chroma prediction value for list 0 prediction using a variable RefPicList0[i] with j equal to 0 for Cb or j equal to 1 for Cr for a first chroma component; and

said bitstream including data suitable for deriving a variable ChromaWeight10 associated with the chroma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for a chroma component, ChromaWeight10 is derived to be equal to ((1<<(ChromaLog2WeightDemon)+delta_chroma_weight_10[i][j] in a range of-(1<<(BitDepthc-1)), ((1<<BitDepthc-1)-1), inclusive, wherein said BitDepthc shall only be equal to 8;

said bitstream including data suitable for determining from a signaled delta_chroma_weight_11[i][j] syntax element a difference of the second weighting factor applied to a chroma prediction value for list 1 prediction using a variable RefPicList1[i] with j equal to 0 for Cb or j equal to 1 for Cr for the first chroma component; and

said bitstream including data suitable for deriving a variable ChromaWeight11associated with the chroma component weighting factor, wherein when the one or more weight flags indicates presence of the weighting factor for the chroma component, ChromaWeight11 is derived to be equal to ((1<<(ChromaLog2WeightDemon)+delta_chroma_weight_11[i][j], in a range of -(1<<(BitDepthc-1)), ((1<<BitDepthc-1)-1), inclusive,

where ChromaLog2WeightDemon is derived from luma_log

2_weight_denom+delta_chroma_log 2_weight_denom,

wherein the delta_chroma_log 2_weight_denom is a difference of a base 2 logarithm of a denominator for all chroma weighting factors, and BitDepthc is a bit depth for the chroma component of the respective reference picture;

wherein the ChromaWeightL0 variable is based upon the delta_chroma_weight_10[i][j],

wherein the ChromaWeightL1 variable is based upon the delta_chroma_weight_11[i][j],

wherein the second component comprises a chroma component of the first reference unit or the second reference unit;

wherein a determination of at least one value present in a pred weight table is dependent on a variable ChromaArrayType.

Assignments (2)
SECURITY INTEREST Recorded Apr 8, 2026
From: ARRIS ENTERPRISES LLC; RUCKUS IP HOLDINGS LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075476/0814 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
Continuity (8)
Continuation 18379994 · Oct 13, 2023
Continuation 18124503 · Mar 21, 2023
Continuation 17900610 · Aug 31, 2022
Continuation 17352100 · Jun 18, 2021
Continuation 16548836 · Aug 22, 2019
Continuation 14533369 · Nov 5, 2014
Provisional Application 61900332 · Nov 5, 2013
Related Publication 20240430476A1 · Dec 26, 2024
References Cited (21)
US 9473779B2 · Rapaka · 2016 [cited by applicant]
US 9883203B2 · Chien · 2018 [cited by applicant]
US 9918105B2 · Pang · 2018 [cited by applicant]
US 10368107B2 · Zhang · 2019 [cited by applicant]
US 20010031004A1 · Kim et al. · 2001 [cited by applicant]
US 20030215011A1 · Wang et al. · 2003 [cited by applicant]
US 20040234143A1 · Hagai et al. · 2004 [cited by applicant]
US 20050053143A1 · Holcomb et al. · 2005 [cited by applicant]
US 20050053300A1 · Mukerjee · 2005 [cited by applicant]
US 20130243093A1 · Chen · 2013 [cited by applicant]
US 20140079125A1 · Tanizawa et al. · 2014 [cited by applicant]
US 20150098503A1 · Pu · 2015 [cited by examiner]
US 20150131721A1 · Yu et al. · 2015 [cited by applicant]
Tanizawa, et al., “Revised text of explicit weighted prediction”, 9th JCT-VC Meeting, (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16) Apr. 17, 2012. [cited by applicant]
W Pu, et al , “High Precision Weighted Prediction for HEVC Range Extension”, 15th JCT-VC Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG 16), Oct. 24, 2013, 4 pgs. [cited by applicant]
Benjamin Bross et al., High Efficiency video Coding (HEVC), text specification, Draft 10 (for FDIS & Last Call), Documetn: JCTVC⋅LI003_v34. Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/I… [cited by applicant]
David Flynn et al., High Efficienty Video Coding (HEVC) Range Extensions text specification: Draft 4. Document: JCTVC-NI005_ vl. Joint Collaborative Team on Video Coding (JCT-VC) ofITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC … [cited by applicant]
Wei Pu et al., High Precision Weighted Prediction of HEVC Range Extension. Document: JCTVC-00235rl. Joint Collaborative Team on Video Coding (JCT-VC) ofITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG II-15th Meeting: Geneva… [cited by applicant]
PCT Search Report & Written Opinion, Re: Application No. PCT/ US2014/064083; dated Jan. 30, 2015. [cited by applicant]
A. Tanizawa, et al., “Proposed modifications of explicit weighted prediction”, 9th JCT-VC Meeting, 100th MPEG Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WGII and ITU-T SG.16) Apr. 17, 2012, 1… [cited by applicant]
A. Tanizawa, et al., “Redundancy removal of explicit weighted prediction syntax”, 7th JCT-VC Meeting, 98th MPEG Meeting (Joint Collaborative Team on Video Coding ofISO/IEC JTC1/SC29/WGII and ITU-T SG. 16), Nov. 8, 2011,… [cited by applicant]