IMAGE DEMOSAICER AND METHOD
First Claim
1. A method for demosaicing a raw image captured by an image sensor that includes a pixel array and a Bayer-pattern color-filter array (CFA) having a plurality of red color filters CFr, green color filters CFg, and blue color filters CFb each covering a respective one of a plurality of pixel sub-arrays of the pixel array, the pixel array including a plurality of pixels p(x,y)α
- located at a respective one of a plurality of coordinates (x,y)α
, and beneath a color filter CFα
, and each generating a respective one of a plurality of primary pixel-values Bα
(x,y)α
, where a is one of r, g, and b, the method comprising;
horizontally-interpolating a green channel, of the raw image, formed of primary pixel-values Bg(x,y)g of the plurality of primary pixel-values Bα
(x,y)α
, to yield a horizontally-interpolated green channel that includes both primary pixel-values Bg(x,y)g and non-primary pixel-values Igh(x,y)r,b;
modifying each non-primary pixel-value Igh(x,y)r,b by a plurality of horizontally-neighboring non-primary pixel-values Igh(x,y)r,b, to yield a refined horizontally-interpolated green channel;
vertically-interpolating the green channel to yield a vertically-interpolated green channel that includes both primary pixel-values Bg(x,y)g and non-primary pixel-values Igv(x Y)r,b;
modifying each non-primary pixel-value Igv(x,y)r,b by a plurality of vertically-neighboring non-primary pixel-values Igv(x,y)r,b, to yield a refined vertically-interpolated green channel;
generating a full-resolution green channel from the refined horizontally-interpolated green channel, refined vertically-interpolated green channel, a horizontal-gradient of the horizontally-interpolated green channel, and a vertical-gradient of the vertically-interpolated green channel;
generating a full-resolution red channel by determining a plurality of non-primary red pixel-values Ir(xt, yt)g,b, each corresponding to a respective one of the plurality of coordinates (xt, yt)g,b, from a local-red mean value of neighboring red primary pixel-values Br(x,y)r and the full-resolution green channel;
generating a full-resolution blue channel by determining a plurality of non-primary blue pixel-values Ib(xt,yt)g,r, each corresponding to a respective one of the plurality of coordinates (xt,yt)g,r, from a local-blue mean value of neighboring blue primary pixel-values Bb(x,y)b and the full-resolution green channel; and
combining the full-resolution red channel, the full-resolution green channel, and the full-resolution blue channel to yield a demosaiced raw image.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for demosaicing a raw image includes: (1) horizontally-interpolating a green channel formed of primary pixel-values Bg(x,y)g to yield a horizontally-interpolated green channel that includes both Bg(x,y)g and non-primary pixel-values Igh(x,y)r,b; (2) modifying each Igh(x,y)r,b, by horizontally-neighboring pixel-values, to yield a refined horizontally-interpolated green channel; (3) vertically-interpolating the green channel to yield a vertically-interpolated green channel that includes pixel-values Igv(x,y)r,b; (4) modifying each Igv(x,y)r,b by vertically-neighboring pixel-values, to yield a refined vertically-interpolated green channel; (5) generating a full-resolution green channel from the refined interpolated green channels and gradients thereof; (6) generating a full-resolution red channel by determining red pixel-values from a local-red mean value of neighboring pixel-values and the full-resolution green channel; (7) generating a full-resolution blue channel by determining pixel-values from a local-blue mean value of neighboring pixel-values and the full-resolution green channel; and (8) combining the full-resolution channels to yield a demosaiced raw image.
-
Citations
20 Claims
-
1. A method for demosaicing a raw image captured by an image sensor that includes a pixel array and a Bayer-pattern color-filter array (CFA) having a plurality of red color filters CFr, green color filters CFg, and blue color filters CFb each covering a respective one of a plurality of pixel sub-arrays of the pixel array, the pixel array including a plurality of pixels p(x,y)α
- located at a respective one of a plurality of coordinates (x,y)α
, and beneath a color filter CFα
, and each generating a respective one of a plurality of primary pixel-values Bα
(x,y)α
, where a is one of r, g, and b, the method comprising;horizontally-interpolating a green channel, of the raw image, formed of primary pixel-values Bg(x,y)g of the plurality of primary pixel-values Bα
(x,y)α
, to yield a horizontally-interpolated green channel that includes both primary pixel-values Bg(x,y)g and non-primary pixel-values Igh(x,y)r,b;modifying each non-primary pixel-value Igh(x,y)r,b by a plurality of horizontally-neighboring non-primary pixel-values Igh(x,y)r,b, to yield a refined horizontally-interpolated green channel; vertically-interpolating the green channel to yield a vertically-interpolated green channel that includes both primary pixel-values Bg(x,y)g and non-primary pixel-values Igv(x Y)r,b; modifying each non-primary pixel-value Igv(x,y)r,b by a plurality of vertically-neighboring non-primary pixel-values Igv(x,y)r,b, to yield a refined vertically-interpolated green channel; generating a full-resolution green channel from the refined horizontally-interpolated green channel, refined vertically-interpolated green channel, a horizontal-gradient of the horizontally-interpolated green channel, and a vertical-gradient of the vertically-interpolated green channel; generating a full-resolution red channel by determining a plurality of non-primary red pixel-values Ir(xt, yt)g,b, each corresponding to a respective one of the plurality of coordinates (xt, yt)g,b, from a local-red mean value of neighboring red primary pixel-values Br(x,y)r and the full-resolution green channel; generating a full-resolution blue channel by determining a plurality of non-primary blue pixel-values Ib(xt,yt)g,r, each corresponding to a respective one of the plurality of coordinates (xt,yt)g,r, from a local-blue mean value of neighboring blue primary pixel-values Bb(x,y)b and the full-resolution green channel; and combining the full-resolution red channel, the full-resolution green channel, and the full-resolution blue channel to yield a demosaiced raw image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- located at a respective one of a plurality of coordinates (x,y)α
-
11. An image demosaicer for demosaicing a raw image captured by an image sensor that includes a pixel array and a Bayer-pattern color-filter array (CFA) having a plurality of red color filters CFr, green color filters CFg, and blue color filters CFb each covering a respective one of a plurality of m×
- n pixel sub-arrays of the pixel array, the pixel array including a plurality of pixels p(x,y)α
located at a respective one of a plurality of coordinates (x,y)α
, and beneath a color filter CFα
, and each generating a respective one of a plurality of primary pixel-values Bα
(x,y)α
, where a is one of r, g, and b;a memory storing non-transitory computer-readable instructions and adapted to store the raw image; a microprocessor adapted to execute the instructions to; horizontally-interpolate a green channel, of the raw image, formed of primary pixel-values Bg(x,y)g of the plurality of primary pixel-values Bα
(x,y)α
, to yield a horizontally-interpolated green channel that includes both primary pixel-values Bg(x,y)g and non-primary pixel-values Igh(x,y)r,b;modify each non-primary pixel-value Igh(x,y)r,b by a plurality of horizontally-neighboring non-primary pixel-values Igh(x,y)r,b, to yield a refined horizontally-interpolated green channel; vertically-interpolate the green channel to yield a vertically-interpolated green channel that includes both primary pixel-values Bg(x,y)g and non-primary pixel-values Ig(x,y)r,b; modify each non-primary pixel-value Igv(x,y)r,b by a plurality of vertically-neighboring non-primary pixel-values Igv(x,y)r,b, to yield a refined vertically-interpolated green channel; generate a full-resolution green channel from the refined horizontally-interpolated green channel, refined vertically-interpolated green channel, a horizontal-gradient of the horizontally-interpolated green channel, and a vertical-gradient of the vertically-interpolated green channel; generate a full-resolution red channel by determining a plurality of non-primary red pixel-values Ir (xt, yt)g,b, each corresponding to a respective one of the plurality of coordinates (xt, yt)g,b, from a local-red mean value of neighboring red primary pixel-values Br(x,y)r and the full-resolution green channel; generate a full-resolution blue channel by determining a plurality of non-primary blue pixel-values Ib(xt, yt)g,r, each corresponding to a respective one of the plurality of coordinates (xt, yt)g,r, from a local-blue mean value of neighboring blue primary pixel-values Bb (x,y)b and the full-resolution green channel; and combine the full-resolution red channel, the full-resolution green channel, and the full-resolution blue channel to yield a demosaiced raw image. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
- n pixel sub-arrays of the pixel array, the pixel array including a plurality of pixels p(x,y)α
Specification