The present invention relates to the field of rendering images. Specifically, the present invention relates to a method for processing an image for improved visual display.
When displaying an image on a display screen, the resolution is limited by the number of pixels or sub-pixels on the display. In some conventional systems, the display screen comprises a number of pixels which are split into sub-pixels. For example, each pixel may have a red, a blue, and a green sub-pixel. In other systems, the sub-pixels may be magenta, cyan, and yellow. In still other systems the sub-pixels may be yellow and purple.
Some conventional systems fail to take full advantage of the resolution of the display screen because they fail to use sub-pixels individually. For example, when displaying white, the system activates a red, a blue, and a green sub-pixel. In other words, the system only makes use of a pixel. When displaying black, this system will ‘turn off’ the red, blue and green sub-pixels as a group. Thus, each pixel will be used to display either a white or a black region because of the blending of the light from the sub-pixels. When rendering an image which would ideally be as seen in
Other conventional systems improve upon the above system by ignoring the different colors of the sub-pixels and activating each sub-pixel individually. If the region to be displayed is white, this system will ‘turn on’ the sub-pixel regardless of its color. If the region is to be black, the system will ‘turn off’ the sub-pixel regardless of its color. Thus, the output is as seen in
For example, displaying an image which is mostly red, the system will ‘turn on’ the green and the blue sub-pixels even if there is no light at those wavelengths. Thus, were the triangle in
Accordingly, the present invention provides a method and system for processing a digital signal for enhancing the image quality. These and other advantages of the present invention will become apparent within discussions of the present invention herein.
A method for processing a digital signal to enhance the resolution is disclosed. An embodiment provides for a method of processing an image for display on a display having sub-pixel display capability. The method first maps a plurality sub-pixels of the display to corresponding regions of the image. Each sub-pixel may be mapped to a unique region of the image. Next, the method accesses the image, which was sampled to have a higher spatial resolution than the spatial resolution of the display. Then, for each sub-pixel of the display, the method calculates an intensity value for one color of a plurality of colors in the image. The calculation may be based on the intensity of that color alone. Finally, the method causes the sub-pixels on the output display to display the colors in proportion to the calculated intensities.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one skilled in the art that the present invention may be practiced without these specific details or by using alternate elements or methods. In other instances well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
The present invention provides for a method and system for pre-mosaicing for image display.
Embodiments of the present invention are well suited to other color schemes as well. For example, the sampled image 222 may comprise information for magenta, cyan, and yellow at each sub-region 220. As is well understood in the art, three colors may be selected such that most colors from the input image 202 may be rendered on the display 210. In fact, embodiments of the present invention are well suited to processing images 202 that were sampled for a display 210 having only two colors, for example, yellow and purple. However, the present invention is not limited to using two or three colors per sub-region 220. Nor is the present invention limited to the colors schemes described herein.
After sampling the image 202 and creating the digitized information, the sample may be filtered by filtering logic 206 (e.g., perform a color space transformation) such that a sampled image, which was suitable to be displayed via a first color coordinate system is transformed to be suitable to be displayed via a second color coordinate system. For example, the sampled image 222 may have been sampled to be displayed on a red, green, blue system. It may be filtered to be suitable to be displayed on a magenta, yellow, cyan system, as is well understood by those of ordinary skill in the art. The filtering step is optional in that the sampled image 222 may already be suitable with display 210.
Next, the image 222 is processed by processing logic 208, which may be implemented by, for example, computer system 100 of
Also shown in
Sub-pixels 313 in the output display 210 are mapped to regions 303 of the input display (e.g., the sampled image 222). Each sub-pixel 313 may be mapped to a unique region 303 of the sampled image 222. In this example, the red sub-pixel 313a is mapped to region 303a, the green sub-pixel 313b is mapped to region 313b, and the blue sub-pixel 313c is mapped to region 303c. It will be understood that region 303 contains information for all colors in the color scheme. A region 303, in turn, may be made up of three sub-regions 220. Thus, the image 222 has a higher resolution than the output display 210. The green 313b and the blue 303c sub-pixels are mapped to regions 303b and 303c, respectively.
Embodiments of the present invention calculate the average intensity of, for example, red over region 303a and assign a suitable value to the red sub-pixel 313a based on this value. In some embodiments, the green and the blue intensity values in region 303a are not used to calculate the intensity of red to be displayed in sub-pixel 313a.
Thus, in one embodiment, the intensity of red in region 303a is used to determine what the intensity of red should be for sub-pixel 313a. The intensity of green in region 303b is used to determine what the intensity of green should be for sub-pixel 313b. And the intensity of blue in region 303c is used to determine what the intensity of blue should be for sub-pixel 313c. However, in other embodiments, a sampling kernel is used to form a weighted average of the neighborhood of the region 303 of the original image 222. Thus, for example, the intensity of red to be displayed in sub-pixel 313a is not a function of only the intensity of red in the region 303a of the original image 222.
For example, the intensity of green to be displayed in sub-pixel 313b is determined by the weighted average of the green intensity of regions 303a, 303b, and 303c of the input image 222. In a similar fashion, the intensity of red to be displayed in sub-pixel 313a is determined by the weighted average of the red intensity of a region to the left of 303a (not shown), region 303a, and region 303b of the input image 222. In a similar fashion, the intensity of blue to be displayed in sub-pixel 313c is determined by the weighted average of the blue intensity of region 303b, region 303c, and a region to the right of 303c (not shown). Thus, each sub-pixel 313 has its own unique plurality of regions 303 for which its intensity is calculated.
The resulting colors to be displayed may have some errors. An embodiment diffuses these errors to other sub-pixels 313, which may have the same color as the sub-pixel 313 for which the error arose. For example, consider six regions 303 that have red, green, and blue values, as shown by the following notation, [Red, Green, Blue]:
The desired output for the sub-pixels 313 has a color value for one color and is zero for the other two colors, as the output display is only capable of displaying one color per sub-pixel 313. Thus, it is desired to calculate a single color intensity for each of the six sub-pixels shown below (e.g., red intensity for the first sub-pixel, a green for the second sub-pixels, etc.). In other words, one red intensity may be calculated for every three regions 303 of the input image 222. Likewise for green and blue. Thus, it is desired to determine color values for the question marks using the notation above in order to determine the intensity for six sub-pixels 313.
The first sub-pixel 313 on the output display 210 may be computed as the average of the first three red input image 222 values. For example, using the image values above, the average of the first three regions 303 is 9.33. The nearest fitting red value is 9. Thus, an error of 0.33 results. This error can be propagated to one or more regions of the input image. For example, the input image 222 may be altered to factor in the error just calculated as follows.
When calculating the value for the next red sub-pixel 313, the last three regions 303 above are used (e.g., 10; 10.33; 10). Thus, the error is factored into future calculations. The error may be propagated on in other ways, as well. For example, the error may be multiplied by 3 to for the error to be an integer. Furthermore, while in the present embodiment the error was propagated to the middle three of the three regions 303 to be used in the next calculation (e.g., the fifth region above), the error may be propagated to one or more of the other regions if desired. For example, the error could be propagated on to the fourth and/or sixth region.
Embodiments of the present invention are well-suited for displays with various pixel patterns. For example, referring to
In another embodiment, the fact that the green and the blue values in region 303 and not factored into the display of sub-pixel 313a is remembered as an error. When, for example, the values for the green sub-pixel 313b is determined, the error which occurred in processing two other regions 303 is carried over and used to compensate.
In step 410, sub-pixels 313 of the output display 210 are mapped to a region 220 of the sampled image 222. This mapping may be such that that each region 303 of the image 222 corresponds to only one sub-pixel 313 of the output and vice versa. However, the present invention is not limited to this mapping technique. Embodiments may map a single sub-pixel 313 of the output display 210 to more than one region 303 of the sampled image 222. The input image 222 may have a higher spatial resolution than the output 210, as seen in
In step 420, the process 400 accesses a sampled image 222, for example, image 222 after it has been processed by sampling logic 204 and, optionally, filter 206.
In step 430, the process 400 calculates an intensity value for the sub-pixel 313, based on the intensity of a color within the corresponding region 303 of the sampled image 222. Embodiments provide for various methods of performing this calculation.
In step 440, the process 400 assigns the calculated value to the sub-pixel 313 of the output display. For example, the calculated intensity of red for region 303a is assigned to sub-pixel 313a.
Then, in step 450, step 430 through step 440 are repeated for the rest of the regions 303 of the image 222, and therefore, the rest of the sub-pixels 313 of the output display 210.
Finally, in step 460, the processed image is output to the display 210. It will be understood that the process 400 is well suited to perform steps in another order and steps such as outputting to the display 210 may in fact be performed while other regions 303 are being processed.
Referring again to
Referring now to
In step 520, an error is calculated for the region 303a being processed for each color that is not provided for in the corresponding output sub-pixel 313a. For example, a green error and a blue error are calculated. The green error is based upon the intensity of the green in the region 303a being processed. In a similar fashion a blue error is calculated.
In step 530, these errors are stored for processing further regions 303 of the image. For example, the green error for region 303a will be used when processing the region 303b of the image which corresponds to a green sub-pixel in the output. There will be an additional green error from the processing of a region (e.g., region 303c) of the image 222 that corresponds to a blue output sub-pixel 313c, as well.
Then in step 540, the process 500 calculates a compensated intensity value for the red sub-pixel 313a. This is based on the uncompensated value of the red intensity for this region 303a, which was calculated in step 510, along with two red error values. The red error values may be from the processing of regions 303 with corresponding green and a blue output sub-pixels 313. The present invention is not limited to using regions 303 which were already processed for error values. For example, the errors may come from regions 303 which are yet to be processed for an uncompensated fit value, with the error being ‘passed back’.
One embodiment of the present invention averages the intensity values in sub-regions 220 of the sampled image 222 to produce intensity values for the output sub-pixels 313. The following may be used in step 430 of process 400. In this example, a red, green, blue color coordinate system is used. However, embodiments of the present invention are well suited to other color coordinate systems.
Referring to
Then, in step 620 the green intensity is calculated in an analogous fashion. The green sub-pixel 313b is based on the averages of the sub-regions 220 in region 303b of the sampled image 222.
In step 630, the blue intensity is calculated in an analogous fashion. Next, the steps of process 400 may be executed to continue the processing, starting at step 440 of
With reference still to
The preferred embodiment of the present invention, a method and system for pre-mosaicing an image, is thus described. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the below claims.
Number | Name | Date | Kind |
---|---|---|---|
5278949 | Thayer | Jan 1994 | A |
6009190 | Szeliski et al. | Dec 1999 | A |
6317158 | Tice | Nov 2001 | B1 |
6384839 | Paul | May 2002 | B1 |
6396505 | Lui et al. | May 2002 | B1 |
6559858 | Schneider et al. | May 2003 | B1 |
6714206 | Martin et al. | Mar 2004 | B1 |
6720972 | Feintuch | Apr 2004 | B2 |
6816167 | Rauchfuss et al. | Nov 2004 | B1 |
20020122019 | Baba et al. | Sep 2002 | A1 |
20030128223 | Feintuch | Jul 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20030122846 A1 | Jul 2003 | US |