CPC G06T 5/008 (2013.01) [G06T 5/40 (2013.01); G09G 5/026 (2013.01); G09G 2320/0242 (2013.01); G09G 2320/066 (2013.01)] | 17 Claims |
1. A non-transitory computer readable storage medium storing computer code thereon for execution by at least one processor, the computer code comprising:
instructions to select an input pixel from within a plurality of blocks of pixels of at least a portion of an input image, wherein the plurality of pixel blocks include at least three blocks of pixels in a vertical direction and at least three blocks of pixels in a horizontal direction, and wherein the input pixel has an input pixel value and a pixel location and the input pixel is located within a first block of pixels;
instructions to generate a respective initial block mapping curve for each block of the plurality of blocks;
instructions to determine, from the plurality of blocks of pixels, a set of overlap blocks based on the pixel location;
instructions to generate a first new pixel value for the input pixel based on a spatially low-pass filtered block mapping curve, wherein the spatially low-pass filtered block mapping curve is a function of a weighted average of the respective initial block mapping curves for each overlap block of the set of overlap blocks;
instructions to select a different pixel within the first block of pixels, the different pixel having a different location than the input pixel; and
instructions to generate a second new pixel value for the different pixel based on a different spatially low-pass filtered block mapping curve for the first block of pixels, wherein the different spatially low-pass filtered block mapping curve is a function of the respective initial block mapping curves for each overlap block of the set of overlap blocks and the different location.
|