Techniques for reducing color artifacts in digital images
First Claim
Patent Images
1. A method of demosaicing digital image data comprising:
- receiving raw pixel data for a given image;
low pass filtering the raw pixel data using a first demosiac kernel size to determine first level interpolated pixel data for each pixel;
low pass filtering the raw pixel data using a second demosiac kernel size to determine second level interpolated pixel data for each pixel;
determining if an artifact is present for each pixel from the first level interpolated pixel data;
if the artifact is not present at a given pixel, setting adjusted interpolated pixel data for the given pixel equal to the first level interpolated pixel data for the given pixel;
if the artifact is present at the given pixel, setting the adjusted interpolated pixel data for the given pixel equal to a blend of the first level interpolated pixel data and the second level interpolated pixel data for the given pixel; and
storing the adjusted interpolated pixel data in a computing device readable medium.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for reducing artifacts in a digital image, in accordance with one embodiment, includes receiving a stream of raw filter pixel data representing the image. The raw filter pixel data is interpolating to produce red, green-on-red row, green-on-blue row and blue pixel data for each pixel. An artifact in one or more given pixels is reduced as a function of a difference between the green-on-red row and green-on-blue row pixel data of each of the given pixels to generate adjusted interpolated pixel data.
246 Citations
19 Claims
-
1. A method of demosaicing digital image data comprising:
-
receiving raw pixel data for a given image; low pass filtering the raw pixel data using a first demosiac kernel size to determine first level interpolated pixel data for each pixel; low pass filtering the raw pixel data using a second demosiac kernel size to determine second level interpolated pixel data for each pixel; determining if an artifact is present for each pixel from the first level interpolated pixel data; if the artifact is not present at a given pixel, setting adjusted interpolated pixel data for the given pixel equal to the first level interpolated pixel data for the given pixel; if the artifact is present at the given pixel, setting the adjusted interpolated pixel data for the given pixel equal to a blend of the first level interpolated pixel data and the second level interpolated pixel data for the given pixel; and storing the adjusted interpolated pixel data in a computing device readable medium. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more non-transitory computing device readable media containing a plurality of instructions which when executed cause a computing device to implement a method comprising:
-
receiving a stream of Bayer filter pixel data for a given image; interpolating red, green-on-red row, green-on-blue row and blue pixel data from the Bayer filter pixel data for each pixel of the given image for two different kernel sizes; reducing an artifact in one or more given pixels as a function of a difference between the green-on-red row and green-on-blue row pixel data of each of the given pixels of the two different kernel sizes to generate adjusted interpolated pixel data equal to interpolated pixel data of one of the kernel sizes if the artifact is not present and equal to a blend of the interpolated pixel data for the two different kernel sizes if the artifact is present; and storing the adjusted interpolated pixel data. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. One or more non-transitory computing device readable media containing a plurality of instructions which when executed cause a computing device to implement a method comprising:
-
receiving Bayer pixel data for a given image; low pass filtering the Bayer pixel data using a first kernel size to determine first level interpolated pixel data; low pass filtering the Bayer pixel data using a second kernel size to determine second level interpolated pixel data; setting an adjusted interpolated pixel data equal to the first level interpolated pixel data for a given pixel, if a difference between chroma components in the first level interpolated pixel data is below a specified level; setting the adjusted interpolated pixel data to a blend of the first level interpolated pixel data and the second level interpolated pixel data for a given pixel, if the difference between chroma components in the first level interpolated pixel data is above the specified level and a difference between chroma components in the second level interpolated pixel data is below the specified level; and outputting the adjusted interpolated pixel data. - View Dependent Claims (17, 18, 19)
-
Specification