IP Library Granted Patent US 12,581,107
Granted Patent B2
US 12,581,107 · App. 18/811,553 · Granted Mar 17, 2026

System processing partitioned coded video

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 12,581,107
App. No.
18/811,553
Filed
Aug 21, 2024
Granted
Mar 17, 2026
Kind
B2
Art Unit
2481
USPC
375/240.12
Abstract

A system for decoding a bitstream by a decoder that includes receiving a bitstream indicating how a coding tree unit was partitioned into coding units and identifying final coding units to be decoded represented. The system decodes the identified final coding units using a first predictor, a second predictor, and an adjustment factor. The system derives a prediction pixel value based upon the first predictor, the second predictor and together with the adjustment factor.

Claims (43)

1 . A method of decoding a bitstream by a decoder that includes a processor, comprising:

(a) receiving said bitstream indicating how a coding tree unit was partitioned into coding units according to a quad tree plus multi tree structure that allows a square parent node to be split with a quaternary tree partitioning that splits said square parent node in half in both horizonal and vertical directions to define leaf nodes that are square in shape each of which are the same size, wherein said quad tree plus multi tree structure allows one of said leaf nodes to be split based upon one selected from a group consisting of,

(i) a symmetric binary tree partitioning that splits one of said leaf nodes of said quaternary tree partitioning in half in either a horizontal direction or a vertical direction resulting in two rectangular blocks that are the same size as leaf nodes, and

(ii) an asymmetric tree partitioning that splits one of said leaf nodes of said quaternary tree partitioning in either a horizontal direction or a vertical direction comprising two rectangular blocks that are different sizes as leaf nodes;

(b) wherein said leaf nodes as a result of said symmetric binary tree partitioning are allowed to be further partitioned by either of said symmetric binary tree partitioning and said asymmetric tree partitioning;

(c) wherein said leaf nodes as a result of said asymmetric tree partitioning are allowed to be further partitioned by either of said symmetric binary tree partitioning and said asymmetric tree partitioning;

(d) identifying final coding units to be decoded represented by leaf nodes of the quad tree plus multi tree structure, where at least two of said final coding units is rectangular, where at least one of said final coding units is rectangular;

(e) decoding the identified final coding units using an intra decoding process derived from for predicting pixel values each of which having a respective position x, y for a current coding block which is part of a coded tree unit derived from based upon neighboring pixel locations pixels on an upper side of the current coding block and on a 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;

(i) calculate a first predictor for a pixel in the current coding block derived from 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 set at a vertical position of said height of said coding block; said first predictor derived from based upon a summation of said second value and said fourth value, the summation of which is adjusted by a first predictor factor;

(ii) calculate a second predictor, different from the first predictor, for the pixel in the current coding block derived from 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 derived from based upon a summation of said sixth value and said eighth value, the summation of which is adjusted by a second predictor factor; and

calculate an adjustment factor that is derived from 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 represented by a first variable, wherein said width of said coding block is represented by a second variable, wherein said first variable is different than said second variable, wherein the value of said first variable is different than the value of said second variable, wherein said current coding block is rectangular;

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

(iii) derive a prediction pixel value from the sum of (i) the first predictor and (ii) the second predictor and together with (iii) said 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.

2 . A method of encoding a bitstream by an encoder that includes a processor, comprising:

(a) providing said bitstream indicating how a coding tree unit was partitioned into coding units according to a quad tree plus multi tree structure that allows a square parent node to be split with a quaternary tree partitioning that splits said square parent node in half in both horizonal and vertical directions to define leaf nodes that are square in shape each of which are the same size, wherein said quad tree plus multi tree structure allows one of said leaf nodes to be split based upon one selected from a group consisting of,

(i) a symmetric binary tree partitioning that splits one of said leaf nodes of said quaternary tree partitioning in half in either a horizontal direction or a vertical direction resulting in two rectangular blocks that are the same size as leaf nodes, and

(ii) an asymmetric tree partitioning that splits one of said leaf nodes of said quaternary tree partitioning in either a horizontal direction or a vertical direction comprising two rectangular blocks that are different sizes as leaf nodes;

(b) wherein said leaf nodes as a result of said symmetric binary tree partitioning are allowed to be further partitioned by either of said symmetric binary tree partitioning and said asymmetric tree partitioning;

(c) wherein said leaf nodes as a result of said asymmetric tree partitioning are allowed to be further partitioned by either of said symmetric binary tree partitioning and said asymmetric tree partitioning;

(d) wherein said bitstream is configured for identifying final coding units to be decoded represented by leaf nodes of the quad tree plus multi tree structure, where at least two of said final coding units is rectangular, where at least one of said final coding units is rectangular;

(e) wherein said bitstream is configured for subsequent decoding of identified final coding units using an intra decoding process derived from 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 part of a coded tree unit derived from neighboring pixel locations pixels based upon pixels on an upper side of the current coding block and on a 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;

(i) calculate a first predictor for a pixel in the current coding block derived from 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 at a vertical position of said height of said coding block; said first predictor derived from based upon a summation of said second value and said fourth value, the summation of which is adjusted by a first predictor factor;

(ii) calculate a second predictor, different from the first predictor, for the pixel in the current coding block derived from 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 derived from based upon a summation of said sixth value and said eighth value, the summation of which is adjusted by a second predictor factor; and

calculate an adjustment factor that is derived from 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 represented by a first variable, wherein said width of said coding block is represented by a second variable, wherein said first variable is different than said second variable, wherein the value of said first variable is different than the value of said second variable, wherein said current coding block is rectangular;

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

(iii) derive a prediction pixel value from the sum of (i) the first predictor and (ii) the second predictor and together with (iii) said 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 encode said coding block based upon said prediction pixel value.

3 . A bitstream of compressed video data for decoding by a decoder that includes a processor, including a non-transitory computer readable storage medium storing said bitstream of the compressed video data for decoding by the decoder, said non-transitory computer-readable storage medium having instructions stored thereon that, when executed by one or more processors of a device, configure the device to provide and/or receive said bitstream comprising video data, the bitstream comprising:

(a) said bitstream containing data indicating how a coding tree unit was partitioned into coding units according to a quad tree plus multi tree structure that allows a square parent node to be split with a quaternary tree partitioning that splits said square parent node in half in both horizonal and vertical directions to define leaf nodes that are square in shape each of which are the same size, wherein said quad tree plus multi tree structure allows one of said leaf nodes to be split based upon one selected from a group consisting of,

(i) a symmetric binary tree partitioning that splits one of said leaf nodes of said quaternary tree partitioning in half in either a horizontal direction or a vertical direction resulting in two rectangular blocks that are the same size as leaf nodes, and

(ii) an asymmetric tree partitioning that splits one of said leaf nodes of said quaternary tree partitioning in either a horizontal direction or a vertical direction comprising two rectangular blocks that are different sizes as leaf nodes;

(b) wherein said leaf nodes as a result of said symmetric binary tree partitioning are allowed to be further partitioned by either of said symmetric binary tree partitioning and said asymmetric tree partitioning;

(c) wherein said leaf nodes as a result of said asymmetric tree partitioning are allowed to be further partitioned by either of said symmetric binary tree partitioning and said asymmetric tree partitioning;

(d) wherein said bitstream is configured for identifying final coding units to be decoded represented by leaf nodes of the quad tree plus multi tree structure, where at least two of said final coding units is rectangular, where at least one of said final coding units is rectangular;

(e) wherein said bitstream containing data is configured for decoding the identified final coding units using an intra decoding process derived from indicating a prediction of pixel values for predicting pixel values by an encoder each of which having a respective position x, y for a current coding block which is part of a coded tree unit derived from based upon neighboring pixel locations pixels on an upper side of the current coding block and on a 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;

(i) providing a bitstream indicating how calculate a first predictor for a pixel in the current coding block derived from 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 derived from based upon a summation of said second value and said fourth value, the summation of which is adjusted by a first predictor factor;

(ii) providing said bitstream indicating how calculate a second predictor, different from the first predictor, for the pixel in the current coding block derived from 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 derived from based upon a summation of said sixth value and said eighth value, the summation of which is adjusted by a second predictor factor; and

providing said bitstream wherein calculate an adjustment factor that is derived from 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 represented by a first variable, wherein said width of said coding block is represented by a second variable, wherein said first variable is different than said second variable, wherein the value of said first variable is different than the value of said second variable, wherein said current coding block is rectangular;

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

(iii) providing said bitstream wherein derive a prediction pixel value configured to be derived from the sum of (i) the first predictor and (ii) the second predictor and together with (iii) said 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.

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 (10)
Continuation 18381949 · Oct 19, 2023
Continuation 17220735 · Apr 1, 2021
Continuation 16722664 · Dec 20, 2019
Continuation 15856617 · Dec 28, 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 20240414365A1 · Dec 12, 2024
References Cited (45)
US 9538175B2 · Karczewicz et al. · 2017 [cited by applicant]
US 9544584B2 · Lim et al. · 2017 [cited by applicant]
US 9544597B1 · Han et al. · 2017 [cited by applicant]
US 9596464B2 · Song et al. · 2017 [cited by applicant]
US 9648330B2 · Pu · 2017 [cited by examiner]
US 9661338B2 · Karczewicz et al. · 2017 [cited by applicant]
US 10284853B2 · Gokhale · 2019 [cited by examiner]
US 10616596B2 · Panusopone · 2020 [cited by examiner]
US 11019353B2 · Panusopone · 2021 [cited by examiner]
US 11159786B2 · Panusopone · 2021 [cited by examiner]
US 11785206B2 · Panusopone · 2023 [cited by examiner]
US 12101500B2 · Panusopone · 2024 [cited by examiner]
US 20130329794A1 · Jeon et al. · 2013 [cited by applicant]
US 20140105290A1 · Kwon · 2014 [cited by applicant]
EP 2728884A2 · 2014 [cited by applicant]
EP 2890130A1 · 2015 [cited by applicant]
WO 2012035640A1 · 2012 [cited by applicant]
WO 2017205701A1 · 2017 [cited by applicant]
WO 2017205703A1 · 2017 [cited by applicant]
Asymmetric partition with non-power of two transform for Intra coding; Kawamura; 2012. (Year: 2012). [cited by examiner]
Asymmetric partitioning with non-power of two transform for Intra coding; Kawamura; 2012. (Year: 2012). [cited by examiner]
Block Partitioning Structure in the HEVC Standard; Kim; 2012. (Year: 2012). [cited by examiner]
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 intra coding”, Audio, IEEE Conference on Language and Image Processing, ICALIP 2008, Jul. 7, 2008. [cited by applicant]
K. Panusopone, et al., “Unequal Weight Planar Prediction and Constrained PDPC”, 5th JVET Meeting, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG. 16, Jan. 5, 2017. [cited by applicant]
J. Chen, et al., “Algorithm Description of Joint Exploration Test Model 5 (JEM5)”, JVET-E1001-V2. [cited by applicant]
Y.-J. Chang, et al., “Arbitrary reference tier for intra directional modes,” 3rd JVET Meeting, Geneva, JVET-C0043, May 2016, 3 pgs. [cited by applicant]
PCT International Search Report & Written Opinion, Re: Application No. PCT/US2017/034592, dated Aug. 16, 2017. [cited by applicant]
T. Shiodera, et al., “CE6 Subset A: Bidirectional Intra Prediction” (JCTVC-C079), 95th MPEG Meeting, Daegu, No. rn18859, Jan. 20, 2011. [cited by applicant]
S. Matsuo, et al., “AGH7: Modification of Intra Angular Prediction Blending”, 12th JTC-VC Meeting, 103rd MPEG Meeting, Geneva, No. JCTVC-L0128, Jan. 7, 2013. [cited by applicant]
K. Panusopone, et al., “Weighted Angular Prediction”, 6th JVET Meeting, Hobart, JVET-F0104, Mar. 3-Apr. 7, 2017, 4 pgs. [cited by applicant]
Y. Lin, et al., “CE6.a: Report of Bidirectional UDI mode for Intra prediction”, JCTVC-F509, Jul. 14, 2011. [cited by applicant]
K. Suehring, et al., “JVET Common Test Conditions and Sollware Reference Configurations”, JVET-B1010, Feb. 2016. [cited by applicant]
PCT International Search Report & Written Opinion, Re: Application No. PCT/US2017/034594, dated Aug. 16, 2017. [cited by applicant]
Y.Ye, et al., “Improved H.264 Coding Based on Bi-directional Intra Prediction, Directional Transform , and Adaptive Coefficient Scanning”, 15th IEEE Inl'l Conference on Image Processing, Oct. 12, 2008, pp. 2116-2119. [cited by applicant]
K. Panusopone, et al., “Comparisons between UWP, W66 and Planar, Angular mode 66 under the same coding conditions”, 7th JVET Meeting, Torino, JVET-G00xx, Jul. 13-21, 2017, 4 pgs. [cited by applicant]
PCT International Search Report & Written Opinion, Re: Application No. PCT/US2018/040862, dated Sep. 24, 2018. [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, et al., “Description of video coding technology proposal by Tandberg, Nokia, Ericsson”, 1st JCT-VG Meeting, Dresden, No. JCTVC-A119, Apr. 12, 2010. [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 MPEG Meeting, Chengdu, No. N16511, Nov. 21, 206, pp. 6-12. [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]
Unequal weight planar prediction and constrained PDPC; Panusopone—2017. (Year: 2017). [cited by applicant]
Weighted angular prediction; Panusopone—2017. (Year: 2017). [cited by applicant]