US 11,785,226 B1
Adaptive composite intra prediction for image and video compression
Yaowu Xu, Saratoga, CA (US); and Hui Su, College Park, MD (US)
Assigned to GOOGLE INC., Mountain View, CA (US)
Filed by GOOGLE INC., Mountain View, CA (US)
Filed on Apr. 14, 2017, as Appl. No. 15/487,516.
Application 15/487,516 is a continuation of application No. 13/733,329, filed on Jan. 3, 2013, granted, now 9,628,790, issued on Apr. 18, 2017.
Int. Cl. H04N 19/159 (2014.01); H04N 19/182 (2014.01); H04N 19/176 (2014.01)
CPC H04N 19/159 (2014.11) [H04N 19/176 (2014.11); H04N 19/182 (2014.11)] 4 Claims
OG exemplary drawing
 
1. A method comprising:
generating, by a processor in response to instructions stored on a non-transitory computer readable medium, a decoded current block by decoding an encoded current block, wherein decoding the encoded current block includes adaptive composite intra-prediction, and wherein adaptive composite intra-prediction includes:
in response to a determination that a first prediction pixel from a first block immediately adjacent to a first edge of the encoded current block is available for predicting a current pixel of the encoded current block:
determining whether a second prediction pixel from a second block immediately adjacent to a second edge of the encoded current block is available for predicting the current pixel, wherein the second edge is opposite the first edge; and
in response to a determination that the second prediction pixel is available:
identifying a third prediction pixel from a third block immediately adjacent to a third edge of the encoded current block for predicting a current pixel of the encoded current block; and
generating a prediction value for the current pixel, wherein, on a condition that a distance of the current pixel from the first edge exceeds a distance of the current pixel from the second edge and on a condition that a distance of the current pixel from a fourth edge of the encoded current block exceeds a distance of the current pixel from the third edge, wherein the fourth edge is opposite the third edge, generating the prediction value includes:
 determining a sum of the second prediction pixel and the third prediction pixel; and
 determining, as the prediction value, a difference between the sum and a fourth prediction pixel from a fourth block, wherein the fourth block is adjacent to the second block and the third block;
generating a reconstructed pixel corresponding to the current pixel based on the prediction value; and
including the reconstructed pixel in the decoded current block; and
outputting or storing the decoded current block.