IP Library Granted Patent US 11,019,353
Granted Patent B2
US 11,019,353 · App. 16/722,664 · Granted May 25, 2021

Unequal weight planar prediction

Inventors: Krit Panusopone (San Diego, CA); Yue Yu (San Diego, CA); Seungwook Hong (San Diego, CA); Limin Wang (San Diego, CA)
Assignee: ARRIS Enterprises LLC
H04N19/50H04N19/105H04N19/107H04N19/11H04N19/136H04N19/176H04N19/182H04N19/186H04N19/52H04N19/59H04N19/593H04N19/82H04N19/96H04N19/119H04N19/126
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,019,353
App. No.
16/722,664
Filed
Dec 20, 2019
Granted
May 25, 2021
Kind
B2
Art Unit
2482
USPC
375/240.12
Abstract

A method of decoding JVET video includes receiving a bitstream and calculating a final planar prediction in planar mode to predict pixel values for a current coding block. The final planar prediction may rely on using unequal weights applied to each of a horizontal and vertical predictor, where such predictors may be generated by interpolating neighboring pixels for each predicted pixel within a coding block. The computation may be made more accurate by deriving a value for a bottom right neighboring pixel.

Claims (50)

1. A method for using planar mode to predict pixel values for a current coding block having height H, width W, and a top-left (TL) pixel within the current coding block is defined by coordinates x=0 and y=0, where constructed or reconstructed neighboring pixels form rows of horizontal boundary pixels on an upper side of the current coding block and constructed or reconstructed neighboring pixels form a column of vertical boundary pixels on a left side of the current coding block, the method configured to: calculate an intensity value of a bottom right neighboring pixel of the current coding block; using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block:

calculate an intensity value of a bottom right neighboring pixel of the current coding block;

using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate a horizontal predictor P h (x,y) and a vertical predictor P v (x,y) for a pixel at coordinate (x,y) in the current coding block by interpolating between corresponding neighboring pixels in neighboring rows and by interpolating between corresponding neighboring pixels in neighboring columns, respectively:

calculating a final planar prediction P(x,y) using unequal weights applied to each of the horizontal and vertical predictors, respectively, is determined in accordance with:

P ( x,y )=( A ( x,y )* P h ( x,y )+ B ( x,y )* P v ( x,y )+ c ( x,y ))/( D ( x,y ))

where A(x,y) and B(x,y) are position dependent weighting factors for the horizontal and vertical predictors, respectively, c(x,y) is a position dependent rounding factor, and D(x,y) is a position dependent scaling factor, wherein unequal weights A(x,y) and B(x,y) are assigned for prediction of each pixel within the coding block.

2. A method for using planar mode to predict pixel values for a current coding block having height H, width W, and a top-left (TL) pixel within the current coding block is defined by coordinates x=0 and y=0, where constructed or reconstructed neighboring pixels form rows of horizontal boundary pixels on an upper side of the current coding block and constructed or reconstructed neighboring pixels form a column of vertical boundary pixels on a left side of the current coding block, the method configured to: calculate an intensity value of a bottom right neighboring pixel of the current coding block; using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate an intensity value of a bottom right neighboring pixel of the current coding block;

using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate a horizontal predictor P h (x,y) and a vertical predictor P v (x,y) for a pixel at coordinate (x,y) in the current coding block by interpolating between corresponding neighboring pixels in neighboring rows and by interpolating between corresponding neighboring pixels in neighboring columns, respectively;

calculating a final planar prediction P(x,y) using unequal weights applied to each of the horizontal and vertical predictors, respectively, is determined in accordance with:

P ( x,y )=( A ( x,y )* P h ( x,y )+ B ( x,y )* P v ( x,y )+ c ( x,y ))( D )( x,y ))

where A(x,y) and B(x,y) are position dependent weighting factors for the horizontal and vertical predictors, respectively, c(x,y) is a position dependent rounding factor, and D(x,y) is a position dependent scaling factor, wherein unequal weights A(x,y) and B(x,y) are each assigned to a distance ratio from a reliable neighboring pixel for each of the horizontal predictor and the vertical predictor.

3. A method for using planar mode to predict pixel values for a current coding block having height H, width W, and a top-left (TL) pixel within the current coding block is defined by coordinates x=0 and y=0, where constructed or reconstructed neighboring pixels form rows of horizontal boundary pixels on an upper side of the current coding block and constructed or reconstructed neighboring pixels form a column of vertical boundary pixels on a left side of the current coding block, the method configured to: calculate an intensity value of a bottom right neighboring pixel of the current coding block; using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate an intensity value of a bottom right neighboring pixel of the current coding block;

using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate a horizontal predictor P h (x,y) and a vertical predictor P v (x,y) for a pixel at coordinate (x,y) in the current coding block by interpolating between corresponding neighboring pixels in neighboring rows and by interpolating between corresponding neighboring pixels in neighboring columns, respectively;

calculating a final planar prediction P(x,y) using unequal weights applied to each of the horizontal and vertical predictors, respectively, is determined in accordance with:

P ( x,y )=( A ( x,y )* P h ( x,y )+ B ( x,y )* P v ( x,y )+ c ( x,y ))( D ( x,y ))

where A(x,y) and B(x,y) are position dependent weighting factors for the horizontal and vertical predictors, respectively, c(x,y) is a position dependent rounding factor, and D(x,y) is a position dependent scaling factor, further comprising applying unequal weights to at least one of the horizontal predictor and/or the vertical predictor.

4. A method for using planar mode to predict pixel values for a current coding block having height H, width W, and a top-left (TL) pixel within the current coding block is defined by coordinates x=0 and y=0, where constructed or reconstructed neighboring pixels form rows of horizontal boundary pixels on an upper side of the current coding block and constructed or reconstructed neighboring pixels form a column of vertical boundary pixels on a left side of the current coding block, the method configured to: calculate an intensity value of a bottom right neighboring pixel of the current coding block; using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate an intensity value of a bottom right neighboring pixel of the current coding block;

using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate a horizontal predictor P h (x,y) and a vertical predictor P v (x,y) for a pixel at coordinate (x,y) in the current coding block by interpolating between corresponding neighboring pixels in neighboring rows and by interpolating between corresponding neighboring pixels in neighboring columns, respectively;

calculating a final planar prediction P(x,y) using unequal weights applied to each of the horizontal and vertical predictors, respectively, is determined in accordance with:

P ( x,y )=( A ( x,y )* P h ( x,y )+ B ( x,y )* P v ( x,y )+ c ( x,y ))/( D ( x,y ))

where A(x,y) and B(x,y) are position dependent weighting factors for the horizontal and vertical predictors, respectively, c(x,y) is a position dependent rounding factor, and D(x,y) is a position dependent scaling factor, further comprising applying unequal weights at horizontal and vertical predictor computations.

5. A method for using planar mode to predict pixel values for a current coding block having height H, width W, and a top-left (TL) pixel within the current coding block is defined by coordinates x=0 and y=0, where constructed or reconstructed neighboring pixels form rows of horizontal boundary pixels on an upper side of the current coding block and constructed or reconstructed neighboring pixels form a column of vertical boundary pixels on a left side of the current coding block, the method configured to: calculate an intensity value of a bottom right neighboring pixel of the current coding block; using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate an intensity value of a bottom right neighboring pixel of the current coding block;

using the calculated bottom right neighboring pixel value, calculate intensity values for the neighboring pixels in a row along the lower side of the current coding block and in a column along the right side of the current coding block;

calculate a horizontal predictor P h (x,y) and a vertical predictor P v (x,y) for a pixel at coordinate (x,y) in the current coding block by interpolating between corresponding neighboring pixels in neighboring rows and by interpolating between corresponding neighboring pixels in neighboring columns, respectively:

calculating a final planar prediction P(x,y) using unequal weights applied to each of the horizontal and vertical predictors, respectively, is determined in accordance with:

P ( x,y )=( A ( x,y )* P h ( x,y )+ B ( x,y )* P v ( x,y )+ c ( x,y ))/( D ( x,y ))

where A(x,y) and B(x,y) are position dependent weighting factors for the horizontal and vertical predictors, respectively, c(x,y) is a position dependent rounding factor, and D(x,y) is a position dependent scaling factor, using bottom right position adjustment and unequal weight assignment in combination.

6. A method for predicting pixel values each of which having a respective position x, y for a current coding block based upon neighboring pixel locations on an upper side of the current coding block and on a left side of the current coding block the method configured to:

calculate a first predictor for a pixel in the current coding block based upon a first value which is determined by a summation of (i) a height of said coding block, (ii) minus 1, (iii) minus y; a second value determined by said first value multiplied by a value of a pixel location of said pixel locations on said upper side of the current coding block at horizontal position x; a third value which is determined by a summation of (i) y, (ii) plus 1; a fourth value determined by said third value multiplied by a value of a pixel location of pixel locations on said left side of the current coding block set at a vertical position of said height of said coding block; said first predictor based upon a summation of said second value and said fourth value, the summation of which is adjusted by a first predictor factor;

calculate a second predictor, different from the first predictor, for the pixel in the current coding block based upon a fifth value which is determined by a summation of (i) a width of said coding block, where said height of said coding block is different than said width of said coding block, (ii) minus 1, (iii) minus x; a sixth value determined by said fifth value multiplied by a value of a pixel location of said pixel locations on said left side of the current coding block at a vertical position y; a seventh value which is determined by a summation of (i) x, (ii) pus 1; an eighth value determined by said seventh value multiplied by a value of a pixel location of said pixel locations on said upper side of the current coding block at a horizonal position of said width of said coding block; said second predictor based upon a summation of said sixth value and said eighth value, the summation of which is adjusted by a second predictor factor, and

derive a prediction pixel value from the sum of (i) the first predictor and (ii) the second predictor and (iii) an adjustment factor, the sum of which is modified by a scaling factor, and wherein a plurality of prediction pixel values make up a prediction block.

7. The method of claim 6 wherein deriving the prediction pixel value comprises averaging the first and second predictors.

8. The method of claim 6 wherein said value of said pixel location of said pixel locations on said upper side of the current coding block at horizontal position x is a luminance value.

9. The method of claim 6 wherein said value of said pixel location of said pixel locations on said left side of the current coding block at said vertical position of said height of said coding block is a luminance value.

10. The method of claim 6 wherein said value of said pixel location of said pixel locations on said left side of the current coding block at said vertical position y is a luminance value.

11. The method of claim 6 wherein said value of said pixel location of said pixel locations on said upper side of the current coding block at said horizonal position of said width of said coding block is a luminance value; said value of said pixel location of said pixel locations on said upper side of the current coding block at horizontal position x is a luminance value; said value of said pixel location of said pixel locations on said left side of the current coding block at said vertical position of said height of said coding block is a luminance value; said value of said pixel location of said pixel locations on said left side of the current coding block at said vertical position y is a luminance value, and said value of said pixel location of said pixel locations on said upper side of the current coding block at said horizonal position of said width of said coding block is a luminance value.

12. The method of claim 6 wherein said neighboring pixel locations on said upper side of the current coding block is arranged as a group of pixel locations.

13. The method of claim 12 wherein said neighboring pixel locations on said left side of the current coding block is arranged as a group of pixel locations.

14. The method of claim 6 wherein said neighboring pixel locations on said upper side of the current coding block is arranged as a set of pixel locations.

15. The method of claim 14 wherein said neighboring pixel locations on said left side of the current coding block is arranged as a set of pixel locations.

16. The method of claim 6 wherein said neighboring pixel locations on said upper side of the current coding block is arranged as an array of pixel locations.

17. The method of claim 16 wherein said neighboring pixel locations on said left side of the current coding block is arranged as an array of pixel locations.

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 058843/0712 Recorded Jan 12, 2026
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC; COMMSCOPE NORTH CAROLINA, LLC (F/K/A COMMSCOPE, INC. OF NORTH CAROLINA); COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 074591/0389 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058875/0449 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 069743/0057 →
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 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058875/0449 →
ABL SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058843/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2019
From: PANUSOPONE, KRIT; YU, YUE; HONG, SEUNGWOOK; WANG, LIMIN
To: ARRIS ENTERPRISES LLC
Reel/Frame 051345/0009 →
Continuity (7)
Continuation 15856617 · Dec 28, 2017
Provisional Application 62439724 · Dec 28, 2016
Provisional Application 62440379 · Dec 29, 2016
Provisional Application 62459797 · Feb 16, 2017
Provisional Application 62522420 · Jun 20, 2017
Provisional Application 62482178 · Apr 5, 2017
Related Publication 20200145686A1 · May 7, 2020
Cited By (1)
US 12,581,107