Patent ID: 8564680

Claim:
A method of synthesizing color data, the method comprising: receiving a matrix of color data represented in a red-green-blue color space, said matrix of color data including more green color data than i) red color data and ii) blue color data; presynthesizing missing neighbor color data with respect to a generation point in said matrix of color data when said generation point has the green color data; calculating gradients at a plurality of angles with respect to said generation point in said matrix of color data; performing a first-level edge test by comparing each of said gradients to a noise threshold; determining whether a second-level edge test is required based on said comparing; when no second-level edge test is required, i) performing no second-level edge test, and ii) selecting an interpolation technique in response to said comparing; and when the second-level edge test is required, i) performing a second-level edge test based on one or more of said gradients, and ii) selecting the interpolation technique based on said comparing and said second-level edge test; synthesizing missing color data at said generation point using said selected interpolation technique; wherein the presynthesizing missing neighbor color data with respect to said generation point when said generation point has green color data includes: when said generation point is on a red/green row of the matrix, then generating missing vertical neighbor red color data before synthesizing missing red color data at said generation point; when said generation point is on the red/green row of the matrix, then generating missing horizontal neighbor blue color data before synthesizing missing blue color data at said generation point; when said generation point is on a blue/green row of the matrix, then generating missing vertical neighbor blue color data before synthesizing missing blue color data at said generation point; and when said generation point is on the blue/green row of the matrix, then generating missing horizontal neighbor red color data before synthesizing missing red color data at said generation point.