Single-step conversion from RGB Bayer pattern to YUV 4:2:0 format
First Claim
1. A direct converter comprising:
- an input buffer coupled to receive a stream of pixels in a Bayer pattern wherein each pixel location has no more than one of a red (R) pixel, a blue (B) pixel, and a green (G) pixel;
a luminance calculator, coupled to receive an input block of the pixels from the input buffer, the input block including a plurality of green pixels and at least one blue pixel and at least one red pixel in the Bayer pattern, the luminance calculator generating from the green, red, and blue pixels in the input block a luminance pixel for a pixel location within the input block;
a luminance buffer for storing a plurality of luminance pixels generated by the luminance calculator including a luminance block of luminance pixels that has at least some pixel locations that correspond to pixel locations within the input block; and
a chrominance calculator, coupled to both the input buffer and to the luminance buffer, receiving at least two red pixels and at least two blue pixels within the input block, and receiving the luminance block of luminance pixels from the luminance buffer, the chrominance calculator calculating a first chrominance value from an average of the at least two blue pixels and from the luminance block of luminance pixels and a second chrominance value from an average of the at least two red pixels and from the luminance block of luminance pixels, whereby luminance and chrominance values are calculated directly from the red, green, and blue pixels in the Bayer pattern.
3 Assignments
0 Petitions
Accused Products
Abstract
Bayer-pattern pixels captured by an image sensor have only one of the three primary colors (RGB) per pixel location. Rather than interpolate the Bayer-pattern to generate the missing RGB color components for each pixel location, a direct conversion is performed to YUV pixels. A luminance calculator receives a 3×3 block of Bayer-pattern pixels and generates a luminance (Y) pixel for the center pixel location. Different coefficients are multiplied by each of the 9 Bayer-pattern pixels before summing to produce the center Y pixel, depending on the pattern location. A chrominance calculator first receives a 3×3 block of Y pixels generated by the luminance calculator. The 9 Y pixels are averaged to produce an average luminance. Two red or blue pixels in the 3×3 block are averaged and the average luminance subtracted. Then a constant is multiplied to generate the U and V pixels. Intermediate interpolated RGB avoided.
-
Citations
20 Claims
-
1. A direct converter comprising:
-
an input buffer coupled to receive a stream of pixels in a Bayer pattern wherein each pixel location has no more than one of a red (R) pixel, a blue (B) pixel, and a green (G) pixel; a luminance calculator, coupled to receive an input block of the pixels from the input buffer, the input block including a plurality of green pixels and at least one blue pixel and at least one red pixel in the Bayer pattern, the luminance calculator generating from the green, red, and blue pixels in the input block a luminance pixel for a pixel location within the input block; a luminance buffer for storing a plurality of luminance pixels generated by the luminance calculator including a luminance block of luminance pixels that has at least some pixel locations that correspond to pixel locations within the input block; and a chrominance calculator, coupled to both the input buffer and to the luminance buffer, receiving at least two red pixels and at least two blue pixels within the input block, and receiving the luminance block of luminance pixels from the luminance buffer, the chrominance calculator calculating a first chrominance value from an average of the at least two blue pixels and from the luminance block of luminance pixels and a second chrominance value from an average of the at least two red pixels and from the luminance block of luminance pixels, whereby luminance and chrominance values are calculated directly from the red, green, and blue pixels in the Bayer pattern. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for directly generating YUV pixels from red (R), green (G), blue (B) pixels in an un-interpolated pattern comprising:
-
receiving an input block of at least 3 rows of at least 3 pixels per row of R, G, and B pixels in the un-interpolated pattern wherein each pixel location in the un-interpolated pattern is a partial pixel that is missing at least one of the R, G, and B color components; determining a pattern type for the input block and selecting a selected coefficient block in response to the pattern type; multiplying the input block by the selected coefficient block and summing to generate a Y component that represents an average brightness at a center of the input block; generating and storing Y components for each pixel location; reading stored Y components for locations in the input block and generating an average Y value for the input block from Y components; reading at least two B pixels from the input block; generating a U component from the at least two B pixels and from the average Y value while ignoring R and G pixels from the input block; reading at least two R pixels from the input block; and generating a V component from the at least two R pixels and from the average Y value while ignoring B and G pixels from the input block; wherein the U and V components represent color of a YUV pixel while the Y component represents brightness of the YUV pixel, whereby R, G, B pixels in the un-interpolated pattern are directly converted to Y, U, and V components of YUV pixels without RGB interpolation. - View Dependent Claims (14, 15, 16)
-
-
17. A color-space converter comprising:
-
input buffer means, receiving red (R), green (G), and blue (B) mono-color pixels arrayed in a pattern representing an image, for storing an input block of at least 3 lines of at least 3 mono-color pixels per line; luminance calculator means, examining a pattern of the R, G, B pixels in the input block to determine a coefficient block, for multiplying the R, G and B pixels in the input block by the coefficient block to generate a luminance component for a center pixel location within the input block; luminance storage means, receiving luminance components from the luminance calculator means, for storing luminance components for pixel locations in a YUV color space representing the image; and chrominance calculator means, receiving at least two B pixels from the input block and receiving at least two R pixels from the input block, for generating a U chrominance component for the center pixel location within the input block by averaging the at least two B pixels and averaging at least 9 luminance components from the luminance storage means for pixel locations within the input block, and for generating a V chrominance component for the center pixel location within the input block by averaging the at least two R pixels and averaging at least 9 luminance components from the luminance storage means for pixel locations within the input block, whereby Y, U, and V components are generated directly from the R, G, and B mono-color pixels in the input block without generation of multi-color RGB pixels. - View Dependent Claims (18, 19, 20)
-
Specification