This application claims the priority of Korean Patent Application No. 2004-57817, filed on Jul. 23, 2004 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to an image processing apparatus and method, and more particularly, to an image rendering apparatus and method, and a computer-readable recording medium for storing a computer program controlling the apparatus.
2. Description of the Related Art
Subpixel rendering techniques have increased visual resolution of rendered images. Along with the development of the subpixel rendering techniques, image display apparatuses have displayed images using various forms of subpixels and the forms of subpixels have been developing more diversely enhancing image resolution.
Conventionally in most methods for rendering input images to generate output images, the forms of the subpixels are changed without considering how to match the subpixels of the input images to the subpixels of the output images. Meanwhile, a conventional method for improving image quality by rendering subpixels instead of changing the forms of the subpixels is disclosed in U.S. Pat. No. 6,188,385. However, the disclosed conventional method can be applied only to subpixels with a strip form.
According to an aspect of the present invention, there is provided an image rendering apparatus and method capable of rendering images regardless of geometrical forms of subpixels.
According to an aspect of the present invention, there is also provided a computer-readable recording medium for storing a computer program controlling an image rendering apparatus capable of rendering images regardless of geometrical forms of subpixels.
According to an aspect of the present invention, there is provided an image rendering apparatus including a tristimulus value converter converting pixel values of each of input pixels included in an input image with a desired resolution to tristimulus values and outputting the converted tristimulus values of the input pixels; a tristimulus value generator generating tristimulus values of each of the output pixels with a predetermined area in an output image, using the tristimulus values of each of the input pixels received from the tristimulus value converter, and outputting the generated tristimulus values of the output pixels; and a pixel value generator converting the tristimulus values of each of the output pixels received from the tristimulus value generator to digital pixel values and outputting the converted digital pixel values.
According to another aspect of the present invention, there is provided an image rendering method including converting pixel values of input pixels included in an input image with a desired resolution to tristimulus values; obtaining tristimulus values of each of the output pixels with a predetermined area in an output image; and converting the tristimulus values of the output pixels to digital pixel values.
According to another aspect of the present invention, there is provided a computer-readable recording medium for storing at least a computer program controlling an image rendering apparatus, the computer program converting pixel values of each of input pixels included in an input image with a desired resolution to tristimulus values; obtaining tristimulus values of each of output pixels with a predetermined area in an output image; and converting the tristimulus values of each of output pixels to digital pixel values.
Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
These and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
The image rendering method shown in
According to an embodiment of the present invention, the resolution checker 10 shown in
The three-stripe configuration, for example, as shown in
At this time, the resolution interpolator 12 interpolates the input image received through the input terminal IN1 to have a desired resolution in response to the result checked by the resolution checker 10, and outputs the interpolated input image to the tristimulus value converter 14 (operation 42). For example, if the checked result received from the resolution checker 10 indicates that the input image does not have the desired resolution, the resolution interpolator 12 interpolates the input image to have the desired resolution. For that, the resolution interpolator 12 can expand the input image so that the input image has the desired resolution.
After operation 42, the tristimulus value converter 14 converts pixel values of input pixels included in an interpolated input image received from the resolution interpolator 12 or in a non-interpolated input image received through the input terminal IN1 to tristimulus values, in response to the checked result received from the resolution checker 12, and outputs the tristimulus values of each of the input pixels to the tristimulus value generator 16 and the pixel value generator 18, respectively (operation 44). Here, the tristimulus value is a value representing a X, Y, or Z component in the XYZ color space, wherein the Y component is a luminance component and the pixel values of the input pixels can be digital RGB values of Red (R), Green (G), and Blue (B). For example, if the pixel values of the input pixels are digital RGB values, the tristimulus value converter 14 converts the digital RGB values of each input pixel to tristimulus values of X, Y, and Z components.
For example, if the checked result received from the resolution checker 10 indicates that the input image has the desired resolution, the tristimulus value converter 14 receives the input image with the desired resolution through the input terminal IN1, and if the checked result indicates that the input image does not have the desired resolution, the tristimulus value converter 14 receives the interpolated input image from the resolution interpolator 12. At this time, the tristimulus value converter 14 converts the pixel values of each input pixel included in the input image to the tristimulus values using a color profile of the input image. If the color profile of the input image is not available, the tristimulus value converter 14 can calculate the tristimulus values of the pixel values, assuming that the input image is an RGB image. According to another embodiment of the present invention, if an input image with a desired resolution is received through the input terminal IN1, it is possible that the image rendering apparatus shown in
After operation 44, the tristimulus value generator 16 receives the tristimulus values of each of the input pixels from the tristimulus value converter 14, generates tristimulus values of each of the output pixels using the received tristimulus values of each input pixel, and outputs the generated tristimulus values of each of the output pixels to the pixel value generator 18 (operation 46). Here, each of the output pixels occupies a predetermined area on an output image and can include a plurality of predetermined input pixels.
According to an embodiment of the present invention, the tristimulus value generator 16 shown in
Here, Xpixel, Ypixel, and Zpixel are X, Y, and Z components in the XYZ color space, respectively, and represent the tristimulus values of the output pixel, A is an area occupied by the output pixel, M is the number of input pixels included in the area A of the output pixel, Xm is a tristimulus value representing a X component of tristimulus values of a m-th input pixel (1≦m≦M) among the M input pixels included in the area A, Ym is a tristimulus value representing a Y component of the tristimulus values of the m-th input pixel among the M input pixels included in the area A, and Zm is a tristimulus value representing a Z component of the tristimulus values of the m-th input pixel among the M input pixels included in the area A.
According to an embodiment of the present invention, after operation 46, the pixel value generator 18 converts the tristimulus values of each output pixel received from the tristimulus value generator 16 to digital pixel values and outputs the converted digital pixel values through an output terminal OUT1 (operation 48).
In the image rendering method according to an embodiment of the present invention as described above, digital pixel values of each output pixel are obtained regardless of the number or configuration of subpixels included in an output image. However, if two or more subpixels among subpixels included in each output image represent the same color component, the digital pixel values of each output pixel can be obtained by adjusting luminance components of the subpixels representing the same color component, as follows.
The operation 48A shown in
In the image rendering apparatus and method shown in
For example, referring to
According to another embodiment of the present invention, after operation 46, the relative driving value converter 70 converts the tristimulus values of each output pixel received through the input terminal IN2 from the tristimulus value generator 16 to relative driving values, and outputs the relative driving values of each output pixel to the relative driving value controller 74 (operation 90). Here, the relative driving value of each output pixel, which is also called a monitor tristimulus value, has a value between 0 and 1 and is a ratio of a present luminance value to a maximum luminance value of the output pixel.
After operation 90, the luminance component generator 72 receives from the tristimulus value converter 14 luminance components of Y among the tristimulus values of the input pixels belonging to each of the subpixels included in each the output pixel through the input terminal IN3, averages the received luminance components of Y, and outputs the averaged value as an input luminance component of the corresponding subpixel to the relative driving value controller 74 (operation 92). That is the luminance component generator 72 averages the luminance components of Y among the tristimulus values of the input pixels belonging to each of the subpixels and outputs an input luminance component of the corresponding subpixel.
After operation 92, the relative driving value controller 74 adjusts the relative driving values of the same color component subpixels until a distribution between the relative driving values of the same color component subpixels among subpixels belonging to each output pixel approximates a distribution between the input luminance components of the same color component subpixels, and outputs the adjusted results to the digital pixel value converter 76 (operation 94). For that, the relative driving value controller 74 receives the relative driving values of the same color component subpixels from the relative driving value converter 70 and the input luminance components of the same color component pixels from the luminance color generator 72.
Accordingly, the relative driving value controller 74 can adjust only the luminance components of the relative driving values of the same color component subpixels included in each output pixel without changing the entire chromaticity and luminance of each output pixel.
According to an embodiment of the present invention, after operation 92, the relative driving value controller 74 adjusts the luminance components of the relative driving values of the same color component subpixels so that a difference between the luminance components of the relative driving values of the same color component subpixels included in each output pixel approximates a difference between the input luminance components of the same color component subpixels (operation 94). This process can be expressed by an Nth rank linear equation of Equation 2.
cP·(P′N−P′N−1)=Ysub,P,N−Ysub,P,N−1
cP·(P′n−P′n−1)=Ysub,P,n−Ysub,P,n−1
cP·(P′2−P′1)=Ysub,P,2−Ysub,P,1 (2)
Here, cp is a luminance multiple constant for a channel P, the cp changes according to the channel P, and P is one of color components (for example, R, G, or B if the subpixel represents R, G, or B). Also, N is the number of the same color component subpixels representing the color component P wherein N is greater than or equal to 2 (2≦n≦N). Also, P′n is an adjusted relative driving value of an n-th same color component subpixel of the N same color component subpixels and has a maximum value (for example, “1”) and a minimum value (for example, “0”). For example, if N=2, P=R, and respective output pixels are implemented as shown in
Since an output pixel seldom has subpixels more than 9, if N is smaller than 4, the adjusted relative driving value P′n expressed by Equation 2 can be easily obtained by Equation 2.
When the relative driving value controller 74 adjusts the relative driving values of the same color component subpixels as shown in Equation 2, the average chromaticity and luminance of an output pixel including the same color component subpixels do not change as seen in Equation 3. That is, the entire chromaticity of each output pixel is equal to the average chromaticity of an area corresponding to the output pixel in an input image and the entire luminance of each output pixel is equal to the average luminance of an area corresponding to the output pixel in the input image. For example, referring to
Here, Pn is a non-adjusted relative driving value of the same color component subpixel existing at the n-th location.
Here, when the relative driving value controller 74 adjusts the luminance components of the relative driving values of a plurality of same color component subpixels, if the relative driving value controller 74 increases the luminance component of the relative driving value of a same color component subpixel, the relative driving value controller 74 decreases the luminance component of the relative driving value of a different same color component subpixel by the increased magnitude of the luminance component. For example, if each output pixel is configured as shown in
For example, if N=2, Equation 2 can be rewritten as Equation 4, wherein a relative driving value P1 of a same color component subpixel existing at a first location (n=1) and a relative driving value P2 of a same color component subpixel existing at a second location (n=2) can be adjusted by Equation 5.
cP(P′1−P′2)=Ysub,P,1−Ysub,P,2 (4)
P′1=P1+DP
P′2==P2−DP (5)
Here, DP can be obtained by Equation 6.
Referring to Equation 5, to prevent the entire chromaticity and luminance of an output pixel from changing, DP is subtracted from P2 as the DP is added to P1. At this time, the DP is decided based on a difference between an input luminance component Ysub,P,1 of the same color component subpixel at the first location (n=1) and an input luminance component Ysub,P,2 of the same color component subpixel at the second location (n=2), as seen in Equation 6. Accordingly, the difference between the luminance components of the relative driving values of the same color component subpixels in each output pixel can approximate a difference between the input luminance components of the same color component subpixels.
For example, if each output pixel is implemented as shown in
According to another embodiment of the present invention, after operation 92, the relative driving value controller 74 adjusts the relative driving values of the same color component subpixels until a ratio between the relative driving values of the same color component subpixels among the subpixels belonging to each output pixel approximates a ratio between the input luminance components of the same color component subpixels (operation 94). This process can be expressed by Equation 7.
Here, YP is an average value of the input luminance components decided in operation 92 for the N same color component subpixels representing the color component P and is expressed by Equation 8, and Pa is an average value of non-adjusted relative driving values Pn of the N same color component subpixels representing the color component P and is expressed by Equation 9.
According to an embodiment of the present invention, the relative driving value controller 74 can use an adjusted relative driving value as a maximum value if the adjusted relative driving value exceeds a maximum value, and use an adjusted relative driving value as a minimum value if the adjusted relative driving value is smaller than a minimum value. For example, if the maximum and minimum values are “1” and “0”, respectively, the relative driving value controller 74 sets P′i=0 if P′i is smaller than 0 and sets P′i=1 if P′i is greater than 1.
Meanwhile, after operation 94, the digital pixel value converter 76 converts adjusted or non-adjusted relative driving values of each output pixel received from the relative driving value controller 74 to digital pixel values, and outputs the digital pixel values through an output terminal OUT2 (operation 96).
The digital pixel values described above in operations 48 or 96 are obtained for each channel, and the input image has, for example, a range of 0 through 2R−1.
Hereinafter, a computer-readable recording medium storing a computer program controlling the image rendering apparatus, according to an embodiment of the present invention, is described as follows.
The computer-readable recording medium storing at least a computer program controlling the image rendering apparatus, according to an embodiment of the present invention, can store a computer program performing: converting pixel values of each of input pixels included in an input image with a desired resolution to tristimulus values, obtaining tristimulus values of each of the output pixels with a predetermined area of an output image, and converting the tristimulus values of each of the output pixels to digital pixel values. Here, the computer program stored in the recording medium further includes: determining whether the input image has the desired resolution; if it is determined that the input image does not have the desired resolution, interpolating the input image to have the desired resolution; and if it is determined that the input image has the desired resolution or after interpolating the input image, converting pixel values of each of the input pixels included in the input image with the desired resolution or in the interpolated input image to tristimulus values.
Here, the operation for obtaining the tristimulus values of each of the output pixels is performed by obtaining an average value of tristimulus values of the input pixels belonging to each of the output pixels and uses the obtained average value as a tristimulus value of each of the output pixels.
Also, the operation for converting the tristimulus values of the output pixels to the digital pixel values includes: converting pixel values of each of the input pixels included in an input image with a desired resolution to tristimulus values; obtaining tristimulus values of each of the output pixels with a predetermined area of an output image; and converting the tristimulus values of each of the output pixels to digital pixel values.
As described above, the image rendering apparatus and method and the computer-readable recording medium for storing the computer program controlling the apparatus, according to an embodiment of the present invention, can render an image regardless of geographical forms of subpixels of each output pixel, that is, even though each output pixel consists of subpixels with a geometrical pattern, and can apply a subpixel rendering algorithm while calculating digital pixel values for each output pixel, differently from the conventional rendering method which can be applied only to subpixels of specific shape, thereby preventing color fringe errors or visual artifacts without separate filtering. In particular, by rendering subpixels using only luminance information, considering that a human's spatial resolution ability is more sensible to luminance than to chromaticity, it is possible to simply render an image at a higher speed and to be easily implemented compared to the conventional rendering method.
Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in this embodiment without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2004-0057817 | Jul 2004 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
6075926 | Atkins et al. | Jun 2000 | A |
6188385 | Hill et al. | Feb 2001 | B1 |
6522425 | Yoshidome | Feb 2003 | B2 |
Number | Date | Country |
---|---|---|
2003-43496 | Jun 2003 | KR |
Number | Date | Country | |
---|---|---|---|
20060017745 A1 | Jan 2006 | US |