ADAPTIVE GAMMA TRANSFORM UNIT AND RELATED METHOD

Abstract
The invention discloses a Gamma transform unit. The Gamma transform unit has a lookup table. The lookup table stores a plurality of difference values corresponding to a plurality of predetermined input values. Each of the difference values substantially equals a difference between an ideal output value and a Gamma function output value, both of which correspond to one of the predetermined input values. After the Gamma transform unit has received an input value, it generates a required Gamma function output value corresponding to the received input value through referring to the lookup table.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows an exemplary display driving circuit applying the ideas of the present invention.



FIG. 2 and FIG. 3 are two examples illustrating how the Gamma transform unit of FIG. 1 simulates the Gamma function GAMMA(x).





DETAILED DESCRIPTION


FIG. 1 shows an exemplary display driving circuit applying the ideas of the present invention. The display driving circuit 100 shown in FIG. 1 includes a Gamma transform unit 120 and a timing control circuit 140. The Gamma transform unit 120 comprises a lookup table 125 and is responsible for simulating a Gamma function. Specifically, the Gamma transform unit 120 generates a required Gamma function output value GAMMA(x) for a received input value x through referring to the information stored in the lookup table 125. The timing control circuit 140 then drives a display apparatus 200 according to the Gamma function output value GAMMA(x) generated by the Gamma transform unit 120. For example, the timing control circuit 140 generates a horizontal-starting signal H_start, a vertical-starting signal V_start, a horizontal-output-enabling signal H_output_enable, and a vertical-output-enabling signal V_output_enable to drive the display apparatus 200.


In this embodiment, the concept of utilizing a lookup table to store Gamma function output values is abandoned. Difference values, each of which represents the difference between a Gamma function output value and an ideal output value, are stored instead. Since the bit length of each of the difference values is shorter than the bit length of each of the Gamma function output values, the space required to store a difference value is smaller than the space required to store a Gamma function output value. For example, the bit length of a Gamma function output value is 10 bits, and the bit length of a difference value is 4 bits. The concept of utilizing a lookup table to store difference values in place of Gamma function output values indeed economizes the use of storage space. In addition, the overall hardware cost is also reduced.


More specifically, each of the difference values stored in the lookup table 125 represents the difference between an ideal output value and a Gamma function output value, both of which correspond to one of a plurality of predetermined input values. In the following paragraphs, an ideal function F(x), which could be a linear function, is utilized to illustrate the relationship between the input values and the ideal output values, where x is an integer variable satisfying 0<=x<=255. In addition, a function GAMMA(x) is utilized to illustrate the relationship between the input values and the Gamma function output values. In this embodiment, the lookup table 125 stores a plurality of difference values DELTA(x1), DELTA(x2), DELTA(x3), . . . , DELTA(xN−1), and DELTA(xN), corresponding to a plurality of predetermined input values x1, x2, x3, . . . , xN−1, and xN, respectively. For an integer variable n satisfying 1<=n<=N, DELTA(xn) equals to GAMMA(xn)−F(xn). The plurality of predetermined input values x1, x2, x3, . . . , xN−1, and xN constitute a subset of a integer set that includes 0, 1, 2, 3, . . . , 254, and 255. In other words, the plurality of predetermined input values x1, x2, x3, . . . , xN−1, and xN may encompass all or part of the possible input values, which include 0, 1, 2, 3, . . . , 254, and 255. In one example, N=254, and x1=1, x2=2, x3=3, . . . xN−1=253, and xN=254. In another example, N=31, and x1=8e, x2=16, x3=32, . . . , xN−1=240, and xN=248.


Please refer to FIG. 2 and FIG. 3, which are two examples illustrating how the Gamma transform unit 120 simulates the Gamma function GAMMA(x). The dotted lines represent the Gamma curves corresponding to the Gamma function GAMMA(x). The solid lines represent the ideal curve corresponding to the ideal function F(x). The thick line segments represent the difference values stored in the lookup table 125.


Assume that the Gamma transform unit 120 has received an input value x, for example 32, which belongs to the plurality of predetermined input values. The Gamma transform unit 120 directly looks up the lookup table 125 to obtain the difference value DELTA(32) and then combines the difference value DELTA(32) with an ideal output value F(32) to obtain the required Gamma function output value GAMMA(32).


Assume that the Gamma transform unit 120 has receive an input value x, for example 35, which does not belong to the plurality of predetermined input values. The Gamma transform unit 120 first looks up the lookup table 125 to obtain a first difference value DELTA(32) corresponding to a first predetermined input value x=32 and a second difference value DELTA(40) corresponding to a second predetermined input value x=40. Then, the Gamma transform unit 120 combines the first difference value DELTA(32) with a first ideal output value F(32) to generate a first reference Gamma function output value GAMMA(32), and combines the second difference value DELTA(40) with a second ideal output value F(40) to generate a second reference Gamma function output value GAMMA(40). Finally, the Gamma transform unit 120 interpolates the reference Gamma function output values GAMMA(32) and GAMMA(40) to obtain the required Gamma function output value GAMMA(35). More specifically, the required Gamma function output value GAMMA(35) is obtained through calculating the following equations,





GAMMA(32)=DELTA(32)+F(32)





GAMMA(40)=DELTA(40)+F(40)





GAMMA(35)=(⅝)*GAMMA(32)+(⅜)*GAMMA(40)


The aforementioned input value x could be a pixel's gray level in the red domain, the green domain, or the blue domain. Since each of the color domains of the display apparatus 200 may correspond to a unique Gamma function, the aforementioned method could be used on each of the color domains to simulate the Gamma function of the very color domain.


As mentioned earlier, the bit length of each of the difference values is shorter than the bit length of each of the Gamma function output values. The storage space required to store a difference value is smaller than the storage space required to store a Gamma function output value. Therefore, compared to the method of the prior art, which stores Gamma function output values, the method of the present invention indeed retrenches the used storage space. In addition, the overall hardware cost is also reduced through applying the method proposed in the present invention.


Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.

Claims
  • 1. A Gamma transform unit comprising a lookup table, the lookup table storing a plurality of difference values corresponding to a plurality of predetermined input values, each of the plurality of difference values being substantially equal to the difference between an ideal output value and a Gamma function output value, both the ideal output value and the Gamma function output value corresponding to one of the plurality of predetermined input values, wherein the Gamma transform unit generates a required Gamma function output value corresponding to a received input value by referring to the lookup table.
  • 2. The Gamma transform unit of claim 1, wherein when the received input value matches one of the plurality of predetermined input values, the Gamma transform unit utilizes the lookup table to obtain a difference value corresponding to the received input value, and combines the obtained difference value with an ideal output value corresponding to the received input value to obtain the required Gamma function output value corresponding to the received input value.
  • 3. The Gamma transform unit of claim 1, wherein when the received input value does not match any of the plurality of predetermined input values, the Gamma transform unit utilizes the lookup table to obtain a first and a second difference value corresponding to a first and a second predetermined input value respectively, combines the first difference value with a first ideal output value corresponding to the first predetermined input value to obtain a first reference Gamma function output value, combines the second difference value with a second ideal output value corresponding to the second predetermined input value to obtain a second reference Gamma function output value, and interpolates the first and second reference Gamma function output values to obtain the required Gamma function output value corresponding to the received input value.
  • 4. The Gamma transform unit of claim 1, wherein the bit length of each of the plurality of difference values is shorter than the bit length of a corresponding Gamma function output value.
  • 5. The Gamma transform unit of claim 1 being set in a display driving circuit, the display driving circuit further comprising a timing control circuit coupled to the Gamma transform unit, and the timing control circuit driving a display apparatus according to the required Gamma function output value generated by the Gamma transform unit.
  • 6. A Gamma transform method, comprising: utilizing a lookup table to store a plurality of difference values corresponding to a plurality of predetermined input values, each of the plurality of difference values being substantially equal to the difference between an ideal output value and a Gamma function output value, both the ideal output value and the Gamma function output value corresponding to one of the plurality of predetermined input values;generating a required Gamma function output value corresponding to a received input value by referring to the lookup table; anddriving a display apparatus by the Gamma function output value.
  • 7. The Gamma transform method of claim 6, wherein when the received input value matches one of the plurality of predetermined input values, the step of generating a required Gamma function output value corresponding to a received input value by referring to the lookup table further comprises: utilizing the lookup table to obtain a difference value corresponding to the received input value; andcombining the obtained difference value with an ideal output value corresponding to the received input value to obtain the required Gamma function output value corresponding to the received input value.
  • 8. The Gamma transform method of claim 6, wherein when the received input value does not match any of the plurality of predetermined input values, the step of generating a required Gamma function output value corresponding to a received input value by referring to the lookup table further comprises: utilizing the lookup table to obtain a first and a second difference value corresponding to a first and a second predetermined input value respectively;combining the first difference value with a first ideal output value corresponding to the first predetermined input value to obtain a first reference Gamma function output value;combining the second difference value with a second ideal output value corresponding to the second predetermined input value to obtain a second reference Gamma function output value; andinterpolating the first and second reference Gamma function output values to obtain the required Gamma function output value corresponding to the received input value.
  • 9. The Gamma transform method of claim 6, wherein the bit length of each of the plurality of difference values is shorter than the bit length of a corresponding Gamma function output value.
Priority Claims (1)
Number Date Country Kind
095117117 May 2006 TW national