This application claims the benefit of Korean Patent Application No. 10-2004-0012988, filed on Feb. 26, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
Embodiments of the present invention relate to a color temperature conversion method, medium, and apparatus, and more particularly, to a color temperature conversion method, medium, and apparatus converting a color temperature of an image to a user-set color temperature, on a pixel-by-pixel basis, based on the brightness of each pixel.
2. Description of the Related Art
Conventional image display devices, e.g., those disclosed in U.S. Pat. Nos. 4,562,460, 4,633,299, 4,788,586, and 5,619,229, convert a color temperature of an image by adjusting the hue of the image or individually controlling red, green, and blue (RGB) video signals. Other conventional image display devices, e.g., those disclosed in U.S. Pat. Nos. 4,685,071 and 5,495,428, convert the color temperature of an image by using correlation matrices. However, these conventional image display methods may adversely affect image representations, especially when there is a large difference between a current basic color temperature of a given pixel and a target color temperature. The conventional image display devices convert color temperatures of an image, from the current basic color temperature to the target color temperature, thereby producing color distortions as if the image was forced to pass through a predetermined color filter. Such color distortions of the image may become more apparent in portions of the image representing the human skin, compared to other portions of the image, because people can easily differentiate natural human skin colors from less natural ones.
Embodiments of the present invention provide color temperature conversion methods, media, and apparatuses that can realize as natural an image, with a desired color temperature, as possible and can minimize color distortions of the image, especially, in portions representing, for example, the human skin, by converting the color temperature of each pixel of the image to another color temperature based on the brightness and hue of each pixel of the image.
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.
According to an aspect of the present invention, there is provided a color temperature conversion method, which receives an image signal including pixels, each having a brightness signal and color difference signals, converting color temperature of an input pixel based on the brightness of the input pixel. The color temperature conversion method may include: determining first information associated with a conversion range; determining whether the color temperature of the input pixel needs to be converted by determining, based on the first information, whether the input pixel is within the conversion range; calculating color coordinates of a target point if the input pixel is within the conversion range; and converting the color temperature of the input pixel by moving, in the same direction as the reference point, to the target point an amount proportional to the reference point displacement so that the input pixel can be automatically moved along with the reference point of the conversion range.
If the conversion range is realized on a color coordinate system as an oval, tilted by a predetermined rotation angle, the first information may include a basic length of the oval, the lengths of the major and minor axis of the oval, and coefficients for a rotation matrix.
The calculating of the color coordinates of the target point may include: obtaining two sample brightnesses, which are very similar to the brightness of the input pixel; receiving a user-set color temperature and obtaining four pairs of sample color coordinates corresponding to combinations of the brightness of the input pixel and the two sample brightnesses; and obtaining the color coordinates of the target point through interpolation by using the two pairs of sample color coordinates.
The basic length of the oval may be obtained by multiplying the brightness of the input pixel by a predetermined coefficient.
If the conversion range is realized on a color coordinate system as an oval which is tilted by a predetermined rotation angle, the converting of the color temperature of the input pixel may include: calculating a distance between the center of the oval and an intersection point between the boundary of the oval and a straight line passing through the center of the oval and a point where the input pixel currently resides; and obtaining color coordinates of a point, to which the input pixel is to be moved when the center of the oval is moved to the target point, by using the distance, color coordinates of the point where the input pixel currently resides, and the color coordinates of the target point.
The calculating of the distance between the center of the oval and the intersection point may include: moving the oval to the origin of the color coordinate system; rotating the oval and the input pixel contained therein by a predetermined angle by using coefficients for a rotation matrix; obtaining color coordinates of an intersection point between the origin of the color coordinate system and a straight line passing through the origin of the color coordinate system and a point, to which the input pixel has been moved after being rotated by the predetermined angle; and calculating a distance between the origin of the coordinate system and the intersection point.
According to another aspect of the present invention, there is provided computer readable code in a medium implementing embodiments of the present invention.
According to another aspect of the present invention, there is provided a color temperature conversion apparatus, which receives an image signal having pixels each having a brightness signal and color difference signals and converts color temperature of an input pixel based on the brightness of the input pixel. The color temperature conversion apparatus may include: a first calculation unit, which calculates first information associated with a conversion range; a determination unit, which receives the image signal and determines whether the color temperature of the input pixel needs to be converted by determining based on the first information whether the input pixel is within the conversion range; a first storage unit, which stores second information including a plurality of sample color temperatures corresponding to different brightnesses and the respective pairs of color coordinates; a second calculation unit, which obtains color coordinates of a target point through interpolation based on the second information read from the storage unit and a user-set color temperature; and a color coordinate conversion unit, converts the color temperature of the input pixel by moving in the same direction as the reference point to the target point in amount proportional to the reference point displacement so that the input pixel can be automatically moved along with the reference point of the conversion range.
The color temperature conversion apparatus may also include a second storage unit, which stores various user-set color temperatures for different brightnesses.
If the conversion range is realized on a color coordinate system as an oval, tilted by a predetermined rotation angle, the first information may include a basic length of the oval, the lengths of the major and minor axis of the oval, and coefficients for a rotation matrix.
The second information may include a plurality of sample color temperatures corresponding to different brightnesses and the respective pairs of color coordinates.
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 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 to explain the present invention by referring to the figures.
The determination unit 110 receives an image signal, made up of different pixels, and variables (hereinafter, referred to as conversion range determining variables) for determining a conversion range from the variable calculation unit 120, with the determination unit 110 determining whether a current pixel of the image signal is within the conversion range, i.e., whether the color temperature of the current pixel needs to be converted, based on the conversion range determining variables. Here, each of the pixels of the image signal includes a brightness signal and color difference signals. In addition, the conversion range may be realized as any quadratic curve, in particular, an oval, on a color coordinate system. The conversion range will now be described as being able to be realized as an oval on the color coordinate system.
The variable calculation unit 120 receives the image signal from an external apparatus, receives predetermined information from the storage unit 130, determines the conversion range determining variables by using the predetermined information, and outputs the calculation results to the determination unit 110.
The storage unit 130 stores various adjustment factors, i.e., the conversion range determining variables, and outputs the various adjustment factors to the variable calculator 120.
The color coordinate calculation unit 140 calculates color coordinates of a target point, to which a reference point of the conversion range is to be moved, based on a color temperature (hereinafter, referred to as user-set color temperature) set by a user, and brightness and color difference signals of the current pixel, with reference to the lookup table 150.
The lookup table 150 stores a plurality of basic color temperatures and a plurality of basic brightnesses provided by the image display device and pairs of sample color coordinates corresponding to combinations of the plurality of basic color temperatures and the plurality of basic brightnesses.
The color temperature conversion unit 160 converts the color temperature of the current pixel by moving the reference point of the conversion range to the target point.
Operation S201 will now be described in greater detail.
Firstly, a basic length Base_Dist of the oval is calculated by using Equation (1) below:
Base—Dist=k×Y (1),
where k denotes a constant for determining Base_Dist, and Y denotes the brightness of the current pixel.
Second, the length a of the major axis of the oval is calculated by using Equation (2) below:
a=α×Base—Dist (2),
where α denotes a constant for determining a.
Third, the length b of the minor axis of the oval is calculated by using Equation (3) below:
b=β×a (3),
where β denotes a constant for determining b.
Fourthly, coefficients m1 and m2 for a rotation matrix are determined by using the angle θ of the major axis of the oval, relative to the X-axis of the color coordinate system, which is expressed by Equations (4) and (5) below:
m1=cos(−θ) (4)
m2=sin(−θ) (5)
Fifthly, an inverse number f of the square of the length a of the major axis of the oval is calculated by using Equation (6) below:
Sixthly and finally, an inverse number g of the square of the length b of the minor axis of the oval is calculated by using Equation (7) below:
In operation S202, the determination unit 110 determines whether the current pixel is within the conversion range, based on the conversion range determining variables. Operation S202 will now be described in further detail.
Firstly, the image signal is received, and each and every one of the pixels of the image signal is processed. Secondly, the conversion range determining variables m1, m2, f, and g, which are determined by the variable calculation unit 120, are received. Thirdly, supposing P(x, y) denotes a current location of the current pixel on the color coordinate system, and P1(p1x, p1y) denotes a point obtained by moving P, color coordinates p1x and p1y of P1(p1x, p1y) are respectively obtained by using Equations (8) and (9):
p1x=m1×x−m2×y (8)
p1y=m2×x−m1×y (9).
Fourthly and finally, it is determined whether the current pixel is within the conversion range, i.e., whether the color temperature of the current pixel needs to be converted, by using Inequality (10). In other words, if the current pixel satisfies Inequality (10), the current pixel is determined as being within the conversion range. Otherwise, the current pixel is determined as being beyond the conversion range, and the entire color temperature conversion method is completed. Thereafter, another round of color temperature conversion is performed on a subsequent pixel.
f×p1x+g×p1y≦1 (10)
In operation S203, the color coordinate calculation unit 140 calculates color coordinates (hereinafter, referred to as target color coordinates) of a target point, to which the center of the conversion range is to be moved, based on the brightness signal of the current pixel and a user-set color temperature with reference to the lookup table 150. Table 2 below is an example of the lookup table 150.
The calculation of the target color coordinates will now be described in further detail with reference to Table 2.
Firstly, supposing that the current pixel has a brightness Y, two sample brightnesses Yl and Yh, which satisfy Inequality (11) below, are selected from among a plurality of sample brightnesses stored in the first lookup table 150:
Yl<Y≦Yh (11)
Every two consecutive brightnesses, among the plurality of sample brightnesses, have a predetermined difference, and each of the plurality of sample brightnesses has a fixed value. If each of the plurality of sample brightness signals is 8-bit data, it may be set to a value between 0 and 255. For example, the lookup table 150 may have a total of 16 sample brightness signals (i.e., N=16) having a difference of 16 thereamong. If the 16 sample brightness signals are 0, 16, 32, 48, 64, 80, . . . , 240, and the brightness signal Y of the current pixel is 37, then the two selected sample brightness signals Yl and Yh are 32 and 48, respectively.
Secondly, two sample color temperatures, which satisfy Inequality (12) below, are selected from among a plurality of sample color temperatures provided by the lookup table 150:
Tl<Tu≦Th (12)
Thirdly, if the brightness Y of the current pixel is the same as one of the plurality of sample brightnesses, then there is no need to obtain the brightness of the current pixel through interpolation by using the two sample brightnesses Yl and Yh, pairs of sample color coordinates (CbTl, CrTl) and (CbTh, CrTh), respectively corresponding to combinations of the brightness Y of the current pixel and the selected sample color temperatures Tl and Th, as they can be obtained from the lookup table 150. In this case, target color coordinates (CbTu, CrTu) corresponding to a combination of the brightness Y of the current pixel and the user-set color temperature Tu are obtained through interpolation by using the pairs of sample color coordinates (CbTl, CrTl) and (CbTh, CrTh) and weight values Wtl and Wth. The weight values Wtl and Wth can be calculated by taking advantage of differences between Tu and Tl and between Tu and Th, which is expressed by Equations (13) and (14) below. The color coordinates CbTu and CrTu can then be obtained by using the below Equations (15) and (16), respectively.
Cb
Tu
=W
tl
×Cb
Tl
+W
th
×Cb
Th (15)
CrTu=Wtl×CrTl+Wth×CrTh (16)
On the other hand, if the brightness Y of the current pixel is not the same as any of the plurality of sample brightnesses, there is the need to obtain the brightness of the current pixel through interpolation by using the two sample brightnesses Yl and Yh, and then the target color coordinates (CbTu
Cb
Tu
=W
yl
×CbT
u
yl
+W
yh
×CbT
u
yh (19)
CrTu=Wyl×CrTu
In operation S204, the color temperature conversion unit 160 converts the color temperature of the current pixel by moving the reference point (e.g., the center) of the conversion range to the target point. Operation S204 will now be described in further detail.
Firstly, it is determined whether both of color coordinates x and y of a point P, at which the current pixel currently resides, have a value of 0. If both of the color coordinates x and y of the current pixel have a value of 0, i.e., if x=y=0, color coordinates x′ and y′ of a P′, to which the current pixel is to be automatically moved along with the center of the conversion range, are simply replaced with the respective target color coordinates Tu(CbTu, CrTu). In other words, x′=CbTu, and y′=CrTu. Thereafter, the entire color conversion process for the current pixel is completed without the need to perform additional processes on the current pixel, and then another round of color conversion is performed on a subsequent pixel.
Secondly, unless both of the color coordinates x and y of the point P have a value of 0, a distance r between the center of the conversion range and a point on the boundary of the conversion range, at which a predetermined straight line drawn from the center of the conversion range through a point P1(p1x, p1y) obtained by rotating P terminates, is calculated by using Equation (21) below:
where B denotes a gradient of the predetermined straight line, and
and (xc, yc) denote a pair of color coordinates at an intersection point between the predetermined straight line and the conversion range. Here, the predetermined straight line can be represented by the following equation: y=Bx. If p1x=0 and p1y≠0,
If p1y=0 and p1x≠0,
Thirdly, the weight Wm is calculated by using Equation (22) below:
where P denotes the point at which the current pixel currently resides.
Fourthly, the color coordinates x′ and y′ of the point P′, to which the current pixel is to be moved from, are calculated by using Equation (23) below:
In operation S205, it is determined whether all of the pixels of the image signal have gone through the above-described operations, i.e., operations S200 through S204. If all of the pixels of the image signal have already been processed, the color conversion method is completed. Otherwise, operations S200 through S204 are repeated until no pixels of the image signal are left unprocessed.
The determination unit 510 receives a set of conversion range determining variables from the first lookup table 520.
The first lookup table 520 stores a plurality of pixel brightnesses and the respective sets of conversion range determining variables and provides one of the sets of conversion range determining variables corresponding to the brightness of a current pixel to the determination unit 510. An example of the first lookup table 520 is shown in Table 3 below.
Since the first lookup table 520 cannot store all possible pixel brightnesses and the respective sets of conversion range determining variables, it may search the plurality of pixel brightnesses for the closest one to the brightness of the current pixel, and then may transmit a corresponding one of the sets of conversion range determining variables corresponding to the searched pixel brightness to the determination unit 510 if there is no match for the brightness of the current pixel among the plurality of pixel brightness stored in the first lookup table 520.
The color coordinate conversion unit 560 receives target color coordinates from the second lookup table 550 and then converts the color temperature of the input pixel by moving, in the same direction as the reference point of a conversion range, to a point indicated by the target color coordinates in amount proportional to the reference point displacement, the process being similar to the processes discussed above for
In short, the color temperature conversion apparatus 500 obtains the conversion range determining variables and the target color coordinates from the first and second lookup tables 520 and 550, while the color temperature conversion apparatus 100 of
The color temperature conversion apparatus 600 includes elements of the color temperature conversion apparatus 100 and further includes the first lookup table 630, while the color coordinate calculation unit 640 of
The operation of the color temperature conversion apparatus 600 will now be described in further detail.
Firstly, supposing that a current pixel has a brightness Y, two sample brightnesses Yl and Yh, which satisfy Inequality (24) below, are selected from among a plurality of sample brightnesses stored in the first lookup table 630.
Yl<Y≦Yh (24)
Each of the two sample brightnesses Yl and Yh has a fixed value. If the two sample brightnesses Yl and Yh are 8-bit data, they may have a value between 0 and 255. For example, the first lookup table 630 may store a total of 16 sample brightness signals (i.e., N=16), and every two consecutive sample brightnesses among the plurality of sample brightnesses may have a predetermined difference therebetween. If the 16 sample brightness signals are 0, 16, 32, 48, 64, 80, . . . , 240, and the brightness signal Y of the current pixel is 37, then the two selected sample brightness signals Yl and Yh may be 32 and 48, respectively.
Secondly, user-set color temperatures Tl
Tl
Th
Thirdly, two pairs of sample color coordinates (CbTu
Fourthly and finally, weight values can be obtained by using differences between the brightness Y of the current pixel and the two sample brightnesses Yl and Yh, as shown in Equations (17) and (18), and then a pair of target color coordinates corresponding to a combination of the brightness Y of the current pixel and a user-set color temperature Tu are obtained by using the two pairs of sample color coordinates (CbTu
The color temperature conversion apparatus 600 obtains a user-set color temperature from the first lookup table 630, rather than receiving it from the outside. Therefore, the color temperature conversion apparatus 600 can result in pixels with different brightnesses having different color temperatures. In addition, the color temperature conversion apparatus 600 may be designed to receive a user-set color temperature from the outside and then convert pixels with different brightnesses to have different color temperatures by taking advantage of the relationships between the user-set color temperature and other user-set color temperatures, which are stored in the first lookup table 630 and correspond to the different pixel brightnesses.
The process of obtaining color coordinates of a point P′(x′, y′) on the color coordinate system, to which the input pixel is to be transferred from a point P(x, y), where it currently resides, will now be described in further detail with reference to
Referring to
A distance s between the reference point R and the target point R′ is obtained by using Equation (27) below:
(P′−P)=a(R′−R) (27).
Equation (27) can be rearranged into Equation (28) below:
where r=r1+r2=r1+∥P−R∥. Accordingly, the point P′ can be obtained by using Equation (29) below:
As shown in Equation (29), P′ is determined by R, R′, P, and r. Thus, there is a need to calculate r in order to calculate P′. If the conversion range 700 is circular, r is always the same as the radius of the conversion range 700, which makes the calculation of P′ easier.
Referring to
The conversion range 800 can be expressed by the following equation: fx2+gy2=1 where
The distance r can be obtained by using Equation (30) below:
As described above, it is possible to realize any color temperature that a user wants for the brightness of each pixel of an image and minimizing color distortions of the image.
Embodiments of the present invention may be implemented through computer readable coding/instructions in a medium, e.g., a computer-readable medium, including but not limited to storage media such as magnetic storage media (ROMs, RAMs, floppy disks, magnetic tapes, etc.), optically readable media (CD-ROMs, DVDs, etc.), and carrier waves (e.g., transmission over the internet). The present invention may also be embodied as a medium having a computer-readable code embodied therein for causing a number of computer systems connected via a network to effect distributed processing. The functional programs, codes and code segments for embodying the present invention may be easily deducted by programmers in the art which the present invention belongs to in view of the above disclosure.
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 these embodiments 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-0012988 | Feb 2004 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
4562460 | Harwood | Dec 1985 | A |
4633299 | Tanaka | Dec 1986 | A |
4685071 | Lee | Aug 1987 | A |
4788586 | Eckenbrecht | Nov 1988 | A |
5293580 | Shimizu | Mar 1994 | A |
5384601 | Yamashita et al. | Jan 1995 | A |
5495428 | Schwartz | Feb 1996 | A |
5619229 | Kumaki | Apr 1997 | A |
6031543 | Miyashita et al. | Feb 2000 | A |
6476793 | Motoyama et al. | Nov 2002 | B1 |
6504551 | Takashima et al. | Jan 2003 | B1 |
20020015536 | Warren et al. | Feb 2002 | A1 |
20020031256 | Hiramatsu et al. | Mar 2002 | A1 |
20020126302 | Fukao | Sep 2002 | A1 |
20030091230 | Choi et al. | May 2003 | A1 |
Number | Date | Country |
---|---|---|
1 517 542 | Mar 2005 | EP |
6-78320 | Mar 1994 | JP |
9-214792 | Aug 1997 | JP |
10-326340 | Dec 1998 | JP |
2000-217127 | Aug 2000 | JP |
2002-112282 | Apr 2002 | JP |
2002-223366 | Aug 2002 | JP |
2005-80313 | Mar 2005 | JP |
Entry |
---|
Do, Hyun-Chul, et al., “Color Reproduction Error Correction for Color Temperature Conversion in PDP-TV,” IEEE Transactions on Consumer Electronics, IEEE Inc. New York, vol. 49, No. 3, Aug. 2003, pp. 473-478. |
European Search Report, dated Jul. 12, 2005, and issued in corresponding European Patent Application No. 05251022.9-2202. |
Japanese Office Action issued Mar. 22, 2011 in corresponding Japanese Patent Application 2005-053512. |
Number | Date | Country | |
---|---|---|---|
20050201617 A1 | Sep 2005 | US |