IP Library Granted Patent US 11,641,484
Granted Patent B2
US 11,641,484 · App. 17/900,610 · Granted May 2, 2023

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/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 11,641,484
App. No.
17/900,610
Granted
May 2, 2023
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 (46)

1. A method for decoding a bitstream of video data, 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 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:

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, 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 luma_log2_weight_denom is a base 2 logarithm of a denominator for all luma weighting factors, and 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:

determining from a delta_chroma_weight_10[i][j] syntax element a difference of the first weighting factor and the second 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 second component; and

deriving a variable ChromaWeightL0 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, ChromaWeightL0 is derived to be equal to ((1<<(luma_log2_weight_denom+delta_chroma_log2_weight_denom))+delta_ch roma_weight_10, delta_chroma_weight_10 in a range of −(1<<(BitDepthc−1)), ((1<<BitDepthc−1)−1), inclusive,

wherein delta_chroma_log2_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 delta_chroma_weight_10[i][j] syntax element is within the range set by the ChromaWeightL0, and

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

wherein a variable ChromaArrayType is used at least in part to derive a pred_weight_table based upon if (ChromaArrayType !=0).

2. One or more computer-readable memory or storage devices storing encoded data as part of a bitstream of video data, the encoded data being organized to facilitate decoding by a video decoder performing operations, the video decoder being implemented using memory and one or more processing units, the operations 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 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:

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, 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 luma_log2_weight_denom is a base 2 logarithm of a denominator for all luma weighting factors, and 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:

determining from a delta_chroma_weight_10[i][j] syntax element a difference of the first weighting factor and the second 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 second component; and

deriving a variable ChromaWeightL0 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, ChromaWeightL0 is derived to be equal to ((1<<(luma_log2_weight_denom+delta_chroma_log2_weight_denom))+delta_ch roma_weight_10, delta_chroma_weight_10 in a range of −(1<<(BitDepthc−1)), ((1<<BitDepthc−1)−1), inclusive,

wherein delta_chroma_log2_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 delta_chroma_weight_10[i][j] syntax element is within the range set by the ChromaWeightL0, and

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

wherein a variable ChromaArrayType is used at least in part to derive a pred_weight_table based upon if (ChromaArrayType !=0).

3. A computing device comprising:

a video encoder for video data configured to provide a bitstream and perform operations comprising:

providing 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;

wherein 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;

wherein a 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:

providing 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

wherein 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, 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 luma_log2_weight_denom is a base 2 logarithm of a denominator for all luma weighting factors, and 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:

providing from a delta_chroma_weight_10[i][j] syntax element a difference of the first weighting factor and the second 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 second component; and

wherein a variable ChromaWeightL0 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, ChromaWeightL0 is derived to be equal to ((1<<(luma_log2_weight_denom+delta_chroma_log2_weight_denom))+delta_ch roma_weight_10, delta_chroma_weight10 in a range of −(1<<(BitDepthc−1)), ((1<<BitDepthc−1)−1), inclusive,

wherein delta_chroma_log2_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 delta_chroma_weight_10[i][j] syntax element is within the range set by the ChromaWeightL0, and

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

wherein a variable ChromaArrayType is used at least in part to derive a pred_weight_table based upon if (ChromaArrayType !=0).

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 067252/0657 Recorded Jan 12, 2026
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE NORTH CAROLINA, LLC (F/K/A COMMSCOPE, INC. OF NORTH CAROLINA)
Reel/Frame 074593/0348 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 067259/0697 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 069790/0575 →
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 →
PATENT SECURITY AGREEMENT (TERM) Recorded Apr 29, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 067259/0697 →
PATENT SECURITY AGREEMENT (ABL) Recorded Apr 29, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 067252/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2022
From: YU, YUE; WANG, LIMIN
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060959/0555 →
CHANGE OF NAME Recorded Aug 31, 2022
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 061365/0116 →
Continuity (5)
Continuation 17352100 · Jun 18, 2021
Continuation 16548836 · Aug 22, 2019
Continuation 14533369 · Nov 5, 2014
Provisional Application 61900332 · Nov 5, 2013
Related Publication 20220417555A1 · Dec 29, 2022