IP Library Granted Patent US 12,356,000
Granted Patent B2
US 12,356,000 · App. 18/599,096 · Granted Jul 8, 2025

Video bitstream coding

Inventors: Krit Panusopone (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 12,356,000
App. No.
18/599,096
Filed
Mar 7, 2024
Granted
Jul 8, 2025
Kind
B2
Examiner
LI, TRACY Y
Art Unit
2487
USPC
375/240.12
Abstract

A method of decoding JVET video includes receiving a bitstream indicating how a coding tree unit was partitioned into coding units, and parsing said bitstream to generate at least one predictor based on an intra prediction mode signaled in the bitstream. The predictor may be generated by interpolating neighboring pixels for each pixel within a coding block. The computation may be more accurate by deriving a value for a bottom right neighboring pixel.

Claims (33)

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

receive a bitstream indicating how a coding tree unit was partitioned into coding blocks including said current coding block;

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 said pixel locations on said left side of the current coding block 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;

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;

calculate an adjustment factor that is based upon said width of said coding block multiplied by said height of said coding block, and

wherein said height of said coding block is different value than said width of said coding block such that said coding block is rectangular;

derive a prediction pixel value from the first and second predictors together with said adjustment factor, wherein a plurality of prediction pixel values make up a prediction block.

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

3. The method of claim 1 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.

4. The method of claim 1 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.

5. The method of claim 1 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.

6. The method of claim 1 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.

7. A method for predicting pixel values in an encoder for an encoded bitstream each of which having a respective position x, y for a current coding block which is based upon pixels on an upper side of the current coding block and left side of the current coding block the method configured to:

wherein said bitstream indicates how a coding tree unit was partitioned into coding blocks including said current coding block;

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 said pixel locations on said left side of the current coding block 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;

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;

calculate an adjustment factor that is based upon said width of said coding block multiplied by said height of said coding block, and

wherein said height of said coding block is different value than said width of said coding block such that said coding block is rectangular;

derive a prediction pixel value from the first and second predictors together with said adjustment factor, wherein a plurality of prediction pixel values make up a prediction block.

8. A method for predicting pixel values in a decoder for an encoded bitstream each of which having a respective position x, y for a current coding block which is based upon pixels on an upper side of the current coding block and left side of the current coding block the method configured to:

receive said bitstream indicates how a coding tree unit was partitioned into coding blocks including said current coding block;

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 said pixel locations on said left side of the current coding block 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;

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;

calculate an adjustment factor that is based upon said width of said coding block multiplied by said height of said coding block, and

wherein said height of said coding block is different value than said width of said coding block such that said coding block is rectangular;

derive a prediction pixel value from the first and second predictors together with said adjustment factor, wherein a plurality of prediction pixel values make up a prediction block.

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

providing a bitstream indicating how a coding tree unit was partitioned into coding blocks including said current coding block;

providing a bitstream indicating how 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 said pixel locations on said left side of the current coding block 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;

providing said bitstream indicating how 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;

providing said bitstream wherein an adjustment factor is based upon said width of said coding block multiplied by said height of said coding block, and

wherein said height of said coding block is different value than said width of said coding block such that said coding block is rectangular;

providing said bitstream wherein a prediction pixel value configured to be derived from the first and second predictors together with said adjustment factor, wherein a plurality of prediction pixel values make up a prediction block.

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 (11)
Continuation 18091921 · Dec 30, 2022
Continuation 17483465 · Sep 23, 2021
Continuation 17111250 · Dec 3, 2020
Continuation 16721246 · Dec 19, 2019
Continuation 15855687 · Dec 27, 2017
Provisional Application 62522420 · Jun 20, 2017
Provisional Application 62482178 · Apr 5, 2017
Provisional Application 62459797 · Feb 16, 2017
Provisional Application 62440379 · Dec 29, 2016
Provisional Application 62439724 · Dec 28, 2016
Related Publication 20240214599A1 · Jun 27, 2024
References Cited (36)
US 6571016B1 · Mehrotra · 2003 [cited by applicant]
US 9445088B2 · Chong · 2016 [cited by applicant]
US 20010017942A1 · Kalevo · 2001 [cited by applicant]
US 20020039387A1 · Auvray et al. · 2002 [cited by applicant]
US 20090110070A1 · Takahashi · 2009 [cited by examiner]
US 20090284544A1 · Nobori · 2009 [cited by applicant]
US 20110280304A1 · Jeon et al. · 2011 [cited by applicant]
US 20130101036A1 · Zhou · 2013 [cited by applicant]
US 20130202048A1 · Kim et al. · 2013 [cited by applicant]
US 20130329794A1 · Jeon et al. · 2013 [cited by applicant]
US 20160241868A1 · Li · 2016 [cited by applicant]
US 20160269725A1 · Mrak · 2016 [cited by applicant]
US 20180176582A1 · Zhao et al. · 2018 [cited by applicant]
US 20180288408A1 · Ikai · 2018 [cited by examiner]
US 20190037237A1 · Suzuki et al. · 2019 [cited by applicant]
US 20190200020A1 · Lee · 2019 [cited by applicant]
AU 2011379258A1 · 2014 [cited by examiner]
CA 2945042C · 2019 [cited by examiner]
EP 2728884A2 · 2014 [cited by applicant]
EP 2890130A1 · 2015 [cited by applicant]
RU 2547457C1 · 2015 [cited by examiner]
J. Chen, et al., “Algorithm Description of Joint Exploration Test Model 5 (JEM5)”, JVET-E1001-V2. [cited by applicant]
PCT International Search Report & Written Opinion, RE: Application No. PCT/US2017/068682, dated Mar. 16, 2018. [cited by applicant]
S. Yu, et al., “Distance-based weighted prediction for H.264 coding” ICALIP Jul. 7, 2008, pp. 1477-1480. [cited by applicant]
K. Panusopone, et al., “Unequal Weight Planar Prediction and Constrained PDPC”, 5th JVET Meeting, Geneva, No. JVET-E0068, Jan. 5, 2017. [cited by applicant]
PCT International Search Report & Written Opinion, RE: Application No. PCT/US2017/068654, dated Mar. 16, 2018. [cited by applicant]
Algorithm Description of Joint Exploration Test Model 4 (JEM4), 116th MPET Meeting, Chengdu, No. N16511, Nov. 21, 2016, pp. 6-12. [cited by applicant]
PCT International Search Report & Written Opinion, RE: Application No. PCT/US2017/068605, dated Jun. 8, 2018. [cited by applicant]
J. Lainema, et al., “Intra Coding of the HEVC Standard”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, No. 12, Dec. 1, 2012, pp. 1792-1801. [cited by applicant]
K. Ugur (Nokia), et al., “Description of video coding technoloy proposal by Tandberg, Nokia, Ericsson”, 1st JCT-VC Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG. 16, No. JCTVC-… [cited by applicant]
English Translation of German Examination Report Re: Application No. 11 2017 006 638.7. [cited by applicant]
Kanumuri, Sandeep; Tan, TK; Bossen, Frank: Enhancements to Intra Coding (JCTVC-D235). As of Jan. 22, 2011. [cited by applicant]
S. Kanumuri, et al., “CE6.e/f. Planar mode experiments and results”, 6th JCT-VC Meeting, Geneva, JCTVC-E321, Mar. 16-23, 2011, 8 pgs. [cited by applicant]
GB Search Report Re: Application No. GB2004268.5 (dated Mar. 8, 2021). [cited by applicant]
Bross et al. High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call) JCT-VC 12th meeting, Geneva Jan. 14-23, 2013 JCTVC-L1003. [cited by applicant]
Fraunhoefer, HM-16.0 HEVC Test Model, 2014. [cited by applicant]