Patent Publication Number: US-11024236-B2

Title: Display driver with gamma correction

Description:
CROSS REFERENCE 
     This application claims priority of Japanese Patent Application No. 2017-004518, filed on Jan. 13, 2017, the disclosure of which is incorporated herein by reference. 
     TECHNICAL FIELD 
     The present disclosure relates to a display driver, a display device and a driving method, more particularly, to image data processing adapted to drive a self-luminous display panel such as OLED (organic light emitting diode) display panels. 
     BACKGROUND ART 
     In many common implementations, a display driver driving a display panel is configured to perform gamma correction matching the characteristics of the display panel. The gamma correction may include image data processing performed to correctly display an image with brightness levels corresponding to the grayscale values specified by image data. Generally, the correspondence relation between the brightness levels of subpixels (R subpixels, G subpixels and B subpixels) and the signal levels of drive signals (drive voltages or drive currents) is not linear in the display panel. For example, the voltage-transparency curve (V-T curve) of a liquid crystal display panel may not be linear. Accordingly, in various implementations, supplying drive signals proportional to the grayscale values specified by display data does not achieve displaying an image with correct brightness levels. 
     However, gamma correction may be performed to display an image on such a display panel with the brightness levels corresponding to the specified grayscale values. 
     Additionally, in various implementations, a display driver which drives a self-luminous display panel such as OLED (organic light emitting diode) display panels is adapted to perform image data processing for controlling the screen brightness level in concurrence with gamma correction. In general, a display device has the function of adjusting the screen brightness level (that is, the brightness level of the entire displayed image). This function allows the display device to increase the screen brightness level through a manual operation, when a user desires to display a brighter image, for example. 
     For a display device including a backlight, such as liquid crystal display panels, in various implementations, it is not necessary to perform image data processing for controlling the screen brightness level, because the screen brightness level can be adjusted by the brightness of the backlight. In driving a self-luminous display panel such as OLED display panels, in contrast, the signal levels of the drive signals supplied to the respective subpixels of the respective pixels are controlled to control the screen brightness level. Accordingly, image data processing may be performed on image data to control the screen brightness level in driving a self-luminous display panel. 
     In one or more implementations, a display driver driving a self-luminous display panel may include a gamma correction circuitry which performs processing for controlling the screen brightness level in concurrence with gamma correction. Such gamma correction circuitry may however may increase the circuit size and/or decrease in the number of representable grayscale levels. 
     SUMMARY 
     In one embodiment, a display driver includes: a correction circuitry configured to calculate an output value from an input grayscale value and a brightness data which specifies a screen brightness level of a self-luminous display panel; and a drive circuitry configured to generate a drive signal driving a light-emitting element of the self-luminous display panel in response to the output value. The correction circuitry is configured to determine, based on the brightness data, correction control points used for correction performed on the input grayscale value for the screen brightness level specified by the brightness data, and calculate the output value from the input grayscale value with input-output characteristics specified by the correction control points. 
     In another embodiment, a display device includes a self-luminous display panel in which each pixel circuit includes a light-emitting element; and a display driver driving the self-luminous display panel. The display driver includes: a correction circuitry configured to calculate an output value from an input grayscale value and a brightness data which specifies a screen brightness level of the self-luminous display panel; and a drive circuitry configured to generate a drive signal driving the light-emitting element of the self-luminous display panel in response to the output value. The correction circuitry is configured to determine, based on the brightness data, correction control points used for correction performed on the input grayscale value for the screen brightness level specified by the brightness data, and calculate the output value from the input grayscale value with input-output characteristics specified by the correction control points. 
     In still another embodiment, a method includes: calculating an output value from an input grayscale value and a brightness data which specifies a screen brightness level of a self-luminous display panel in which each pixel circuit includes a light-emitting element; and generating a drive signal driving the light-emitting element of the self-luminous display panel in response to the output value. The step of calculating the output value includes: determining, based on the brightness data, correction control points used for correction performed on the input grayscale value for the screen brightness level specified by the brightness data; and calculating the output value from the input grayscale value with input-output characteristics specified by the correction control points. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a graph illustrating the corresponding brightness levels to be achieved through gamma correction according to one or more embodiments; 
         FIG. 2  is a graph illustrating input-output characteristics of gamma correction for screen brightness levels according to one or more embodiments; 
         FIG. 3  is a block diagram of a gamma correction circuitry according to one or more embodiments; 
         FIG. 4  is a graph illustrating a decrease in the number of representable grayscale levels in a gamma correction circuitry illustrated according to one or more embodiments; 
         FIG. 5  is a block diagram illustrating a configuration of a display device according to one or more embodiments; 
         FIG. 6  is a block diagram illustrating a configuration of a display driver according to one or more embodiments; 
         FIG. 7  is a graph illustrating input-output characteristics of gamma correction according to one or more embodiments; 
         FIG. 8  is a graph illustrating the input-output characteristics of gamma correction according to one or more embodiments; 
         FIG. 9  is a block diagram illustrating a configuration of a gamma correction circuitry according to one or more embodiments; 
         FIG. 10  is a flowchart illustrating operation of gamma correction circuitry according to one or more embodiments; 
         FIG. 11  illustrates a Bezier curve calculation circuitry according to one or more embodiments; 
         FIG. 12  is a flowchart illustrating a calculation procedure performed in Bezier curve calculation circuitry according to one or more embodiments; 
         FIG. 13  is a block diagram illustrating one example of the configuration of a Bezier curve calculation circuitry according to one or more embodiments; 
         FIG. 14  is a circuit diagram illustrating the configuration of the processing units of the Bezier curve calculation circuitry according to one or more embodiments; 
         FIG. 15  illustrates a Bezier curve calculation circuitry according to one or more embodiments; 
         FIG. 16  is a block diagram illustrating an example configuration of a Bezier curve calculation circuitry according to one or more embodiments; 
         FIG. 17  is a circuit diagram illustrating configurations of an initial-stage processing unit and processing units of the Bezier curve calculation circuitry according to one or more embodiments; and 
         FIG. 18  schematically illustrates a Bezier curve calculation circuitry according to one or more embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     In the following, a description is given of various embodiments. 
     In one embodiment, a display driver configured for driving a self-luminous display drive is adapted to perform image data processing for controlling the screen brightness level in concurrence with gamma correction. A self-luminous display panel referred herein includes a display panel in which a pixel circuit constituting a subpixel of each pixel includes a light emitting element, such as OLED display panel. In one embodiment of an OLED display panel, each pixel includes a red subpixel, a green subpixel and a blue subpixel which include light emitting elements emitting red light, green light and blue light, respectively. In other embodiments, each pixel may include other subpixel colors in addition to red, green and blue subpixels. For example, pixels may additionally include white subpixels. Further, in yet other embodiments, each pixel may include other subpixel colors alternatively to red, green, and/or blue subpixels. 
       FIG. 1  illustrates one embodiment of the correspondence relation between the input grayscale value and the brightness levels of each subpixel to be achieved by ideal gamma characteristics of a display panel, for each screen brightness level. The legend “brightness level 100%” indicates a graph illustrating the gamma characteristics for the case where the screen brightness level is the allowed maximum brightness level (100%), and the legend “brightness level 75%” indicates a graph illustrating the gamma characteristics for the case where the screen brightness level is 75% of the allowed maximum brightness level. Similarly, the legend “brightness level 50%” indicates a graph illustrating the gamma characteristics for the case where the screen brightness level is 50% of the allowed maximum brightness level and the legend “brightness level 25%” indicates a graph illustrating the gamma characteristics for the case where the screen brightness level is 25% of the allowed maximum brightness level. 
     In  FIG. 1 , the graphs are normalized based on the brightness level of a subpixel being 1.0 when the input grayscale value associated with the subpixel is the allowed maximum value (255 in  FIG. 1 ) for the case where the screen brightness level is the maximum brightness level (the brightness level of 100%). For the screen brightness level of 100%, for example, the ideal brightness level of a certain subpixel is 0.5 when the input grayscale value associated with this subpixel is 186. 
     In one embodiment, the input-output characteristics of the gamma correction are modified in response to the screen brightness level. Further, processing for controlling the screen brightness level may be performed in concurrence with gamma correction.  FIG. 2  is a graph illustrating one example of ideal input-output characteristics of the gamma correction for each screen brightness level. Illustrated in  FIG. 2  are the input-output characteristics of the gamma correction for each screen brightness level when display data used to drive an OLED display panel through voltage programming are generated. In  FIG. 2 , the graph of the input-output characteristics is drawn with an assumption that the value of the display data (that is, the output value of the gamma correction) is a 12-bit value and each subpixel of each pixel of the OLED display panel is programmed with a voltage proportional to the value of the display data. When the output value is “4095”, for example, the subpixel of interest is programmed with a voltage of 5V. It should be noted that the brightness level of the subpixel is increased as the drive voltage is decreased, when an OLED display panel is driven through voltage programming. 
     With reference to  FIG. 2 , the shape of the input-output characteristics curve of the gamma correction depends on the screen brightness level due to the gamma characteristics of the display panel. For example, the input grayscale value at which the input-output characteristics curve is bent depends on the screen brightness level. More specifically, in the example illustrated in  FIG. 2 , the input-output characteristics curve is bent at input grayscale values of “17” and “34” for a screen brightness level of 100%, while the input-output characteristics curve is bent at input grayscale values of “30” and “66” for a screen brightness level of 25%. 
     The dependency of the input-output characteristics curve on the screen brightness level may cause a problem of an undesired increase in the circuit size of a gamma correction circuitry which performs processing for controlling the screen brightness level in concurrence with gamma correction. For example, a one approach to achieve processing for controlling the screen brightness level in concurrence with gamma correction is to prepare an LUT (lookup table) corresponding to the input-output characteristics for each screen brightness level. However, in various embodiments, preparing an LUT (lookup table) corresponding to the input-output characteristics for each screen brightness level may undesirably increase the circuit size of the gamma correction circuitry, because an LUT has a large circuit size. 
     One possible approach to avoid an increase in the circuit size of a gamma correction circuitry may be to provide a processing circuitry (such as an LUT) which achieves the input-output characteristics of gamma correction for the allowed maximum screen brightness level and to adjust the input grayscale value supplied to the processing circuitry in response to the screen brightness level.  FIG. 3  is a block diagram illustrating the configuration of a gamma correction circuitry  100  thus configured. It should be noted that the Applicant does not acknowledge that the configuration of the gamma correction circuitry  100  illustrated in  FIG. 3  is publically known in the art. 
     The gamma correction circuitry  100  illustrated in  FIG. 3  includes an input grayscale value adjustment circuitry  101  and a maximum-brightness-level-based calculation circuitry  102 . The input grayscale value adjustment circuitry  101  calculates an input grayscale value D IN2  to be supplied to the maximum-brightness-level-based calculation circuitry  102  on the basis of the screen brightness level and an input grayscale value D IN1  externally supplied to the gamma correction circuitry  100 . The maximum-brightness-level-based calculation circuitry  102  provides the input-output characteristics of the gamma correction for the allowed screen maximum brightness level (a screen brightness level of 100%). In one embodiments, when receiving the input grayscale value D IN2 , the allowed maximum-brightness-level-based calculation circuitry  102  outputs an output value D OUT  corresponding to the input grayscale value D IN2  in accordance with the input-output characteristics of the gamma correction for the maximum screen brightness level (the screen brightness level of 100%). For example, the maximum-brightness-level-based calculation circuitry  102  may output the output value D OUT  corresponding to the input grayscale value D IN2  in accordance with the input-output relationship defined by the graph indicated by “brightness level 100%” in  FIG. 2 . Such operation can be achieved by using an LUT as the maximum-brightness-level-based calculation circuitry  102 , for example. 
     When the gamma value of the gamma correction is γ and the screen brightness level is q times (where 0≤q&lt;1) of the allowed maximum brightness level, the following expression (1a) holds for the input grayscale value D IN1  of the gamma correction circuitry  100  and the input grayscale value D IN2  to be supplied to the maximum-brightness-level-based calculation circuitry  102 :
 
 D   IN2   γ   =q·D   IN1   γ   (1a)
 
     The following expression (1b) can be obtained from expression (1a):
 
 D   IN2   =q   1/γ   ·D   IN1   (1b)
 
     In one embodiment, when the gamma value γ of the display panel is 2.2 and the screen brightness level is 0.5 times of the allowed maximum brightness level (a screen brightness level of 50%), for example, the following expression (1c) is obtained from expression (1b): 
                           D     IN   ⁢           ⁢   2       =       ⁢       0.5     1   2.2       ·     D     IN   ⁢           ⁢   1                     ≈       ⁢       (     186   255     )     ·     D     IN   ⁢           ⁢   1                       (     1   ⁢   c     )               
Expression (1c) implies that, for the gamma value γ of 2.2, the input-output characteristics of the gamma correction for a screen brightness level of 50% can be achieved by supplying the value obtained as (186/255) times of the input grayscale value D IN1  to the maximum-brightness-level-based calculation circuitry  102 . In various embodiments, when the gamma value is γ and the screen brightness level is q times of the allowed maximum brightness level, gamma correction for a screen brightness level of q times of the allowed maximum brightness level can be achieved by supplying the value obtained as q 1/γ  times of the input grayscale value D IN1 .
 
     This approach however may lead to a decrease in the number of representable grayscale levels. This is because, as illustrated in  FIG. 4 , the allowed range of the input grayscale value D IN2  is restricted to or below q 1/γ  times of the allowed maximum value D IN   MAX  of the input grayscale value D IN1  in the configuration in which the input grayscale value D IN2  obtained as q 1/γ  times of the input grayscale value D IN1  is supplied to the maximum-brightness-level-based calculation circuitry  102 . When the input grayscale value D IN1  is an 8-bit value, the allowed maximum value D IN   MAX  of the input grayscale value D IN1  is 255 (=2 8 −1). When the screen brightness level is 0.5 times of the allowed maximum brightness level (a screen brightness level of 50%), for example, the input grayscale value D IN2  obtained as (186/255) times of the input grayscale value D IN1  is supplied to the maximum-brightness-level-based calculation circuitry  102 ; however, the input grayscale value D IN2  supplied to the brightness-level-based calculation circuitry  102  is restricted to the range from zero to 186. This means that the number of representable grayscale levels is decreased. 
     In one or more of the following embodiments, gamma correction circuitries configured to suppress an increase in the circuit size and avoid the problem of a decrease in the number of representable grayscale levels, and applications of the gamma correction circuitries thus configured are described. 
       FIG. 5  is a block diagram illustrating the configuration of a display device  10  in one embodiment. The display device  10  is configured as an OLED display device including an OLED display panel  1  and a display driver  2 . 
     The OLED display panel  1  includes gate lines  4 , data lines  5 , pixel circuits  6  and gate driver circuitries  7 . Each of the pixel circuits  6  is disposed at an intersection of a gate line  4  and a data line  5  and includes a light emitting element emitting light of red, green or blue. Pixel circuits  6  including a light emitting element emitting red light are used as R subpixels. Similarly, pixel circuits  6  including a light emitting element emitting green light are used as G subpixels and pixel circuits  6  including a light emitting element emitting blue light are used as B subpixels. The gate driver circuitries  7  drive the gate lines  4  in response to gate control signals SOUT received from the display driver  2 . In this embodiment, a pair of gate driver circuitries  7  is provided. One of the gate driver circuitries  7  drives the odd-numbered gate lines  4  and the other drives the even-numbered gate lines  4 . 
     The display driver  2  drives the OLED display panel  1  in response to image data D IN  and control data D CTRL  received from a host  3 , to display an image on the OLED display panel  1 . The image data D IN  describe the grayscale value of each subpixel of each pixel of the OLED display panel  1 . The control data D CTRL  include commands and parameters used for controlling the display driver  2 . An application processor, a CPU (central processing unit), a DSP (digital signal processor) or the like may be used as the host  3 . 
       FIG. 6  is a block diagram illustrating the configuration of the display driver  2  in one embodiment. The display driver  2  includes an interface control circuitry  11 , a gamma correction circuitry  12 , a latch circuitry  13 , a linear grayscale voltage generator circuitry  14 , a data line drive circuitry  15  and a register  16 . 
     The interface control circuitry  11  operates as follows. The interface control circuitry  11  forwards the image data D IN  received from the host  3  to the gamma correction circuitry  12 . The interface control circuitry  11  also stores various control parameters into the register  16  and controls the respective circuitries of the display driver  2  in response to commands included in the control data D CTRL . The control parameters stored in the register  16  include parameters used for controlling gamma correction performed in the gamma correction circuitry  12 , more particularly, maximum-brightness-level control point data CP 0  to CPm. The contents and technical meaning of the maximum-brightness-level control point data CP 0  to CPm will be described later in detail. 
     Additionally, the interface control circuitry  11  supplies a brightness data D BRT  specifying the screen brightness level of the OLED display panel  1  (the brightness level of the entire image displayed on the OLED display panel  1 ) to the gamma correction circuitry  12 . In one embodiment, the control data D CTRL  received from the host  3  may include the brightness data D BRT  and the interface control circuitry  11  may supply the brightness data D BRT  included in the control data D CTRL  to the gamma correction circuitry  12 . 
     The gamma correction circuitry  12  performs gamma correction on the image data D IN  received from the interface control circuitry  11  to generate display data D OUT  used to drive the OLED display panel  1 . The above-mentioned maximum-brightness-level control point data CP 0  to CPm and brightness data D BRT  are used in the gamma correction performed in the gamma correction circuitry  12 . Details of the gamma correction performed in the gamma correction circuitry  12  will be described later. In various embodiments, in place of the image data D IN , image data obtained by performing digital processing (such as scaling (image enlargement and shrinkage) and color adjustment) on the image data D IN  received from the interface control circuitry  11  may be supplied to the gamma correction circuitry  12 . 
     The latch circuitry  13  latches the display data D OUT  output from the gamma correction circuitry  12  and forwards the latched display data D OUT  to the data line drive circuitry  15 . 
     The linear grayscale voltage generator circuitry  14  generates a set of grayscale voltages respectively corresponding to the allowed data values of the display data D OUT . In this embodiment, the linear grayscale voltage generator circuitry  14  generates the set of grayscale voltages so that voltage level intervals between adjacent grayscale voltages are the same. In other words, the correspondence relationship between the data values described in the display data D OUT  and the corresponding grayscale voltages is linear in this embodiment. 
     The data line drive circuitry  15  drives the respective data lines  5  with the grayscale voltages corresponding to the data values described in the display data D OUT . More specifically, the data line drive circuitry  15  selects the grayscale voltages corresponding to the data values of the display data D OUT  from among the grayscale voltages received from the linear grayscale voltage generator circuitry  14  and drives the respective data lines  5  to the selected grayscale voltages. 
     Next, a description is given of the operation of the gamma correction circuitry  12  according to one or more embodiments. In one embodiment, when the input grayscale value X_IN associated with a subpixel of interest is supplied to the input of the gamma correction circuitry  12 , the gamma correction circuitry  12  outputs an output value Y_OUT as the data value of the display data D OUT  associated with the subpixel of interest. In this embodiment, the input grayscale value X_IN is an 8-bit data and the output value Y_OUT is a 12-bit data. 
     In one or more embodiments, the input-output characteristics of the gamma correction performed in the gamma correction circuitry  12 , that is, the correspondence relationship between the input grayscale value X_IN and the output value Y_OUT is controlled on the maximum-brightness-level control point data CP 0  to CPm and the brightness data D BRT . The maximum-brightness-level control point data CP 0  to CPm are a set of data which specify the input-output characteristics of the gamma correction for the case where the screen brightness level is the allowed maximum brightness level, that is, the brightness data D BRT  specifies the allowed maximum brightness level. 
       FIG. 7  is a graph schematically illustrating the maximum-brightness-level control point data CP 0  to CPm and the input-output characteristics curve determined by the same according to one or more embodiments. The maximum-brightness-level control point data CP 0  to CPm specify the coordinates of the control points CP 0  to CPm which define the input-output characteristics of the gamma correction in the XY coordinate system in which the X axis represents the input grayscale value X_IN and the Y axis represents the output value Y_OUT, for the case where the screen brightness level is the allowed maximum brightness level. In the embodiment illustrated in  FIG. 7 , the control point CPi denotes the control point whose coordinates are specified by the maximum-brightness-level control point data CPi, where i is an integer from zero to “m”, and CPi(X CPi , Y CPi ) denotes the coordinates of the control point CPi, where X CPi  is the X coordinate (the coordinate indicating the position in the X axis direction) of the control point CPi and Y CPi  is the Y coordinate (the coordinate indicating the position in the Y axis direction) of the control point CPi. The X coordinate of X CPi  of each control point CPi satisfies the condition given below:
 
 X   CP0   &lt;X   CP1   &lt; . . . &lt;X   CPi   &lt;X   CP(i+1)   &lt; . . . &lt;X   CP(m−1)   &lt;X   CPm ,
 
where the X coordinate X CP0  of the control point CP 0  is the allowed minimum value of the input grayscale value X_IN (that is, zero) and the X coordinate X CPm  of the control point CPm is the allowed maximum value of the input grayscale value X_IN (that is, 255).
 
     In various embodiments, when the screen brightness level is the allowed maximum brightness level (that is, the brightness data D BRT  specifies the allowed maximum brightness level), the gamma correction circuitry  12  calculates the output value Y_OUT as the Y coordinate of the point which is positioned on the curve defined by the control points CP 0  to CPm and has an X coordinate equal to the input grayscale value X_IN. In one embodiment, the gamma correction circuitry  12  may calculate the output value Y_OUT corresponding to the input grayscale value X_IN by using a Bezier curve defined by the control points CP 0  to CPm. In this case, the gamma correction circuitry  12  may calculate the output value Y_OUT as the Y coordinate of the point which is positioned on this Bezier curve and has an X coordinate equal to the input grayscale value X_IN. 
     In one example, the gamma correction circuitry  12  may calculate the output value Y_OUT as the Y coordinate of the point which is positioned on a second order Bezier curve defined by the control points CP 0  to CPm and has an X coordinate equal to the input grayscale value X_IN. In one or more embodiments, when the output value Y_OUT is calculated on the basis of a second order Bezier curve, which can be defined with three control points, the gamma correction circuitry  12  may select three control points CP(2k) to CP(2(k+1)) having X coordinates close to the input grayscale value X_IN from among the control points CP 0  to CPm, and calculate the output value Y_OUT as the Y coordinate of the point which is positioned on the second order Bezier curve defined by the control points CP(2k) to CP(2(k+1)) and has an X coordinate equal to the input grayscale value X_IN. In one or more embodiments, when a second order Bezier curve is used to calculate the output value Y_OUT, 2p+1 control points CP 0  to CPm are defined by the maximum-brightness-level control point data CP 0  to CPm, where p is an integer equal to or more than two. In this case, m=2p. 
     The Bezier curve used to calculate the output value Y_OUT is may not be limited to a second-order Bezier curve. In various embodiments, an n th  order Bezier curve can be defined with n+1 control points. Accordingly, when the output value Y_OUT is calculated on the basis of an n th  order Bezier curve, the gamma correction circuitry  12  may select n+1 control points CP(k×n) to CP((k+1)×n) having X coordinates close to the input grayscale value X_IN from among the control points CP 0  to CPm, and calculate the output value Y_OUT as the Y coordinate of the point which is positioned on the n th  order Bezier curve defined by the n+1 control points CP(k×n) to CP((k+1)×n)) and has an X coordinate equal to the input grayscale value X_IN. When an n th  order Bezier curve is used to calculate the output value Y_OUT, p×n+1 control points CP 0  to CPm are defined by the maximum-brightness-level control point data CP 0  to CPm, where p is an integer equal to or more than two. In this case, m=n×p. 
     In various embodiments, w the brightness data DBRT specifies a screen brightness level other than the allowed maximum brightness level, as illustrated in  FIG. 8 . In such embodiments, the gamma correction circuitry  12  calculates the output value Y_OUT under a condition that the input-output characteristics of the gamma correction for the specified screen brightness level is represented by a curve obtained by enlarging the curve defined with the control points CP 0  to CPm to A times, where A is a coefficient depending to the ratio q of the screen brightness level specified by the brightness data DBRT to the allowed maximum brightness level. An expression used to obtain the coefficient A will be described later. The gamma correction circuitry  12  calculates the output value Y_OUT as the Y coordinate of the point which is positioned on the curve obtained by enlarging the curve defined with the control points CP 0  to CPm to A times and has an X coordinate equal to the input grayscale value X_IN. In other words, in this embodiment, when the input-output characteristics of the gamma correction circuitry  12  for the case where the screen brightness level is the allowed maximum brightness level are represented by the following expression (2a):
 
 Y _OUT= f MAX( X _IN),  (2a)
 
the output value Y_OUT is calculated under a condition that the input-output characteristics of the gamma correction circuitry  12  for the case where the screen brightness level is q times of the allowed maximum brightness level are represented by the following expression (2b):
 
 Y_ OUT= f MAX( X _IN/ A ).  (2b)
 
     The curve represented as Y_OUT=fMAX(X_IN/A) can be defined with correction control points CP 0 ′ to CPm′ obtained by multiplying the X coordinates of the control points CP 0  to CPm, and therefore the output value Y_OUT is calculated as the Y coordinate of the point which is positioned on the curve defined with the correction control points CP 0 ′ to CPm′ and has an X coordinate equal to the input grayscale value X_IN, when the screen brightness level is q times of the allowed maximum brightness level. The correction control points CP 0 ′ to CPm′ are control points used in the gamma correction. The coordinates CPi′(XCPi′, YCPi′) of the correction control point CPi′ are obtained from the coordinates CPi(XCPi, YCPi) of the control points CPi in accordance with the following expressions (3b) and (3c):
 
 X CP i′=A·X CP i , and  (3b)
 
 Y CP i′=Y CP i   (3c)
 
     In one example, the gamma correction circuitry  12  may calculate the output value Y_OUT as the Y coordinate of the point which is positioned on a second order Bezier curve defined with the correction control points CP 0 ′ to CPm′ and has an X coordinate equal to the input grayscale value X_IN. It should be noted that the Bezier curve used to calculate the output value Y_OUT is not limited to a second order Bezier curve. 
     As described above, the coordinate A is determined depending on the ratio q of the screen brightness level specified by the brightness data D BRT  to the allowed maximum brightness level. When the gamma value of the display device  10  is γ, the coefficient A satisfies the following expression (4a):
 
( X _IN/ A ) γ   =q ·( X _IN) γ .  (4a)
 
Accordingly, the coefficient A can be determined in accordance with the following expression (4b):
 
 A= 1/ q   (1/γ) .  (4b)
 
     When the gamma value γ is 2.2 and q is 0.5 (that is, the screen brightness level is 0.5 times of the allowed maximum brightness level), for example, A is the obtained in accordance with the following expression (4c): 
                         A   =       ⁢     1       (   0.5   )       1   2.2                     =       ⁢       255   186     .                   (     4   ⁢   c     )               
In other words, when the screen brightness level is 0.5 times of the allowed maximum brightness level (a screen brightness level of 50%), the output value Y_OUT is calculated as the Y coordinate of the point which is positioned on the curve specified by the correction control points CP 0 ′ to CPm′ obtained by multiplying the X coordinates of the control points CP 0  to CPm by (255/186) times and has an X coordinate equal to the input grayscale value X_IN. In general, when the screen brightness level is q times of the allowed maximum brightness level, the output value Y_OUT is calculated as the Y coordinate of the point which is positioned on the curve specified by the correction control points CP 0 ′ to CPm′ obtained by multiplying the X coordinates of the control points CP 0  to CPm by 1/q(1/γ) times and has an X coordinate equal to the input grayscale value X_IN.
 
     Next, a description is given of various examples of the configuration of the gamma correction circuitry  12  for achieving the above-described operation. 
       FIG. 9  is a block diagram illustrating the configuration of the gamma correction circuitry  12  in one embodiment. The gamma correction circuitry  12  and the register  16 , which stores therein the maximum-brightness-level control point data CP 0  to CPm, constitute a correction circuitry which performs the gamma correction. The gamma correction circuitry  12  illustrated in  FIG. 9  is configured to calculate the output value Y_OUT from the input grayscale value X_IN using an n th  order Bezier curve. In this case, m is p×n, where p is an integer of two or more, and the coordinates of the (p×n+1) control points CP 0  to CPm are specified by the maximum-brightness-level control point data CP 0  to CPm. 
     The gamma correction circuitry  12  includes a correction control point calculation circuitry  21  and a Bezier curve calculation circuitry  22 . The correction control point calculation circuitry  21  determines n+1 correction control points CP(k×n)′ to CP((k+1)×n)′ used to calculate the output value Y_OUT corresponding to the input grayscale value X_IN from the brightness data D BRT , the input grayscale value X_IN and the maximum-brightness-level control point data CP 0  to CPm received from the register  16 , where k is an integer from zero to p−1. The Bezier curve calculation circuitry  22  calculates the Y coordinate of the point which is positioned on the n th  Bezier curve defined with the n+1 correction control points CP(k×n)′ to CP((k+1)×n)′ and has an X coordinate equal to the input grayscale value X_IN, and outputs the calculated Y coordinate as the output value Y_OUT. 
     The correction control point calculation circuitry  21  includes a multiplier circuitry  23 , a selector  24  and a multiplier circuitry  25 . The multiplier circuitry  23  and the selector  24  constitute a select circuitry configured to select (n+1) control points CP(k×n) to CP((k+1)×n) from among the control points CP 0  to CPm on the basis of the input grayscale value X_IN and the screen brightness level specified by the brightness data D BRT . More specifically, in various embodiments, the multiplier circuitry  23  calculates a control-point-selecting grayscale value Pixel_in as a value obtained by multiplying the input grayscale value X_IN by the inverse number 1/A of the coefficient A (that is, q (1/γ) ). In such embodiments, q is the ratio of the screen brightness level specified by the brightness data D BRT  to the allowed maximum brightness level and the coefficient A is given by the above-described expression (4b). The selector  24  selects (n+1) control points CP(k×n) to CP((k+1)×n) from among the control points CP 0  to CPm, on the basis of the control-point-selecting grayscale value Pixel_in. In the following, the control points CP(k×n) to CP((k+1)×n) selected by the selector  24  are referred to as the selected control points CP(k×n) to CP((k+1)×n). 
     In various embodiments, the multiplier circuitry  25  calculates the X coordinates X CP(k×n)′  to X CP((k+1)×n) ′ of the correction control points CP(k×n)′ to CP((k+1)×n)′ by multiplying the X coordinates X CP(k×n)  to X CP((k+1)×n)  of the selected control points CP(k×n) to CP((k+1)×n) by A. The Y coordinates Y CP(k×n)  to Y CP((k+1)×n)  of the selected control points CP(k×n) to CP((k+1)×n) are used as the Y coordinates Y CP(k×n) ′ to Y CP((k+1)×n) ′ of the correction control points CP(k×n)′ to CP((k+1)×n)′ without modification. 
       FIG. 10  is a flowchart illustrating an embodiment of the operation of the gamma correction circuitry  12  illustrated in  FIG. 9 . When an input grayscale value X_IN indicative of the grayscale level of a certain subpixel (a subpixel of interest) is supplied to the gamma correction circuitry  12 , a control-point-selecting grayscale value Pixel_in is calculated from the input grayscale value X_IN by the multiplier circuitry  23  at step S 01 . As described above, the control-point-selecting grayscale value Pixel_in is obtained by multiplying the input grayscale value X_IN by the inverse number 1/A of the coefficient A (that is, by q (1/γ) ). 
     This is followed by selecting n+1 control points CP(k×n) to CP((k+1)×n) from among the control points CP 0  to CPm on the basis of the control-point-selecting grayscale value Pixel_in at step S 02 . The selection of the n+1 control points CP(k×n) to CP((k+1)×n) is achieved by the selector  24 . In one or more embodiments, the n+1 control points CP(k×n) to CP((k+1)×n) are selected as follows. 
     The n th  order Bezier curve passes through the control points CP 0 , CPn, CP(2n), . . . CP(p×n) out of the m+1 (=p×n+1) control points CP 0  to CPm. The remaining control points are not necessary positioned on the n th  order Bezier curve, although determining the shape of the n th  order Bezier curve. The selector  24  compares the control-point-selecting grayscale value Pixel_in with the X coordinates of the control points through which the n th  order Bezier curve passes, and selects (n+1) control points CP(k×n) to CP((k+1)×n) in response to the result of the comparison. 
     In one or more embodiments, when the control-point-selecting grayscale value Pixel_in is larger than the X coordinate of the control point CP 0  and smaller than the X coordinate of the control point CPn, the selector  24  selects the control points CP 0  to CPn. When the control-point-selecting grayscale value Pixel_in is larger than the X coordinate of the control point CPn and smaller than the X coordinate of the control point CP(2n), the selector  24  selects the control points CPn to CP(2n). In one or more embodiments, when the control-point-selecting grayscale value Pixel_in is larger than the X coordinate X CP(k×n)  of the control point CP(k×n) and smaller than the X coordinate X CP((k+1)×n)  of the control point CP((k+1)×n), the selector  24  selects the control points CP(k×n) to CP((k+1)×n). 
     When the control-point-selecting grayscale value Pixel_in is equal to the X coordinate X CP(k×n)  of the control point CP(k×n), in one embodiment, the selector  24  selects the control points CP(k×n) to CP((k+1)×n). In such an embodiments, the selector  24  selects the control points CP((p−1)×n) to CP(p×n) when the control-point-selecting grayscale value Pixel_in is equal to the X coordinate of the control point CP(p×n). 
     In some embodiments, the selector may select the control points CP(k×n) to CP((k+1)×n) when the control-point-selecting grayscale value Pixel_in is equal to the X coordinate X CP((k+1)×n)  of the control point CP((k+1)×n). In such embodiments, the selector  24  selects the control points CP 0  to CPn when the control-point-selecting grayscale value Pixel_in is equal to the X coordinate of the control point CP 0 . 
     Further, in some embodiments, this is followed by determining the correction control points CP(k×n)′ to CP((k+1)×n)′ at step S 03 . In one embodiment, the X coordinates X CP(k×n) ′ to X CP((k+1)×n) ′ of the correction control points CP(k×n)′ to CP((k+1)×n)′ are calculated as the products of the coefficient A and the X coordinates X CP(k×n)  to X CP((k+1)×n)  of the selected control points CP(k×n) to CP((k+1)×n), respectively, by the multiplier circuitry  25 . In other words, the multiplier circuitry  25  calculates the X coordinates X CP(k×n) ′ to X CP((k+1)×n) ′ of the correction control points CP(k×n)′ to CP((k+1)×n)′ in accordance with the following expressions (5a): 
     
       
         
           
             
               
                 
                   
                     
                       X 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             k 
                             × 
                             n 
                           
                           ) 
                         
                       
                       ′ 
                     
                     = 
                     
                       A 
                       · 
                       
                         X 
                         
                           CP 
                           ⁡ 
                           
                             ( 
                             
                               k 
                               × 
                               n 
                             
                             ) 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   
                     5 
                     ⁢ 
                     a 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     
                       X 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             
                               ( 
                               
                                 k 
                                 × 
                                 n 
                               
                               ) 
                             
                             + 
                             1 
                           
                           ) 
                         
                       
                       ′ 
                     
                     = 
                     
                       A 
                       · 
                       
                         X 
                         
                           CP 
                           ⁡ 
                           
                             ( 
                             
                               
                                 ( 
                                 
                                   k 
                                   × 
                                   n 
                                 
                                 ) 
                               
                               + 
                               1 
                             
                             ) 
                           
                         
                       
                     
                   
                   , 
                   … 
                   ⁢ 
                   
                       
                   
                   , 
                 
               
               
                 
                     
                 
               
             
             
               
                 and 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     X 
                     
                       CP 
                       ⁡ 
                       
                         ( 
                         
                           
                             ( 
                             
                               k 
                               + 
                               1 
                             
                             ) 
                           
                           × 
                           n 
                         
                         ) 
                       
                     
                     ′ 
                   
                   = 
                   
                     A 
                     · 
                     
                       
                         X 
                         
                           CP 
                           ⁡ 
                           
                             ( 
                             
                               
                                 ( 
                                 
                                   k 
                                   + 
                                   1 
                                 
                                 ) 
                               
                               × 
                               n 
                             
                             ) 
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                     
                 
               
             
           
         
       
     
     The Y coordinates Y CP(k×n) ′ to Y CP((k+1)×n) ′ of the correction control points CP(k×n)′ to CP((k+1)×n)′ are determined as being equal to the Y coordinates Y CP(k×n)  to Y CP((k+1)×n)  of the selected control points CP (k×n) to CP((k+1)×n), respectively. In other words, the Y coordinates Y CP(k×n) ′ to Y CP((k+1)×n) ′ of the correction control points CP(k×n)′ to CP((k+1)×n)′ are represented by the following expressions (5b): 
     
       
         
           
             
               
                 
                   
                     
                       Y 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             k 
                             × 
                             n 
                           
                           ) 
                         
                       
                       ′ 
                     
                     = 
                     
                       Y 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             k 
                             × 
                             n 
                           
                           ) 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   
                     5 
                     ⁢ 
                     b 
                   
                   ) 
                 
               
             
             
               
                 
                   
                     
                       Y 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             
                               ( 
                               
                                 k 
                                 × 
                                 n 
                               
                               ) 
                             
                             + 
                             1 
                           
                           ) 
                         
                       
                       ′ 
                     
                     = 
                     
                       Y 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             
                               ( 
                               
                                 k 
                                 × 
                                 n 
                               
                               ) 
                             
                             + 
                             1 
                           
                           ) 
                         
                       
                     
                   
                   , 
                   … 
                   ⁢ 
                   
                       
                   
                   , 
                 
               
               
                 
                     
                 
               
             
             
               
                 and 
               
               
                 
                     
                 
               
             
             
               
                 
                   
                     Y 
                     
                       CP 
                       ⁡ 
                       
                         ( 
                         
                           
                             ( 
                             
                               k 
                               + 
                               1 
                             
                             ) 
                           
                           × 
                           n 
                         
                         ) 
                       
                     
                     ′ 
                   
                   = 
                   
                     
                       Y 
                       
                         CP 
                         ⁡ 
                         
                           ( 
                           
                             
                               ( 
                               
                                 k 
                                 + 
                                 1 
                               
                               ) 
                             
                             × 
                             n 
                           
                           ) 
                         
                       
                     
                     . 
                   
                 
               
               
                 
                     
                 
               
             
           
         
       
     
     The X and Y coordinates of the correction control points CP(k×n)′ to CP((k+1)×n)′ thus determined are supplied to the Bezier curve calculation circuitry  22 . Further, the output value Y_OUT corresponding to the input grayscale value X_IN is calculated by the Bezier curve calculation circuitry  22  at step S 04 . The output value Y_OUT is calculated as the Y coordinate of the point which is positioned on the n th  order Bezier curve defined with the (n+1) correction control points CP(k×n)′ to CP((k+1)×n)′ and has an X coordinate equal to the input grayscale value X_IN. 
     Although the above-described embodiment describes the configuration in which the gamma correction circuitry  12  is supplied with the maximum-brightness-level control point data CP 0  to CPm, which indicate the coordinates of the control points specifying the input-output characteristics of the gamma correction for the case where the screen brightness level is the allowed maximum brightness level (that is, the case where the brightness data D BRT  specifies the allowed maximum brightness level). In one or more embodiments, a set of control point data which indicate the coordinates of control points specifying the input-output characteristics of the gamma correction for the case where the screen brightness level is a specific brightness level (that is, the case where the brightness data D BRT  specifies the specific brightness level) may be used in place of the maximum-brightness-level control point data CP 0  to CPm. Further, the n+1 correction control points CP(k×n)′ to CP((k+1)×n)′ can be calculated by defining the parameter q, which is included in expression (4b) used to calculate the coefficient A, as the ratio of the brightness level specified by the brightness data D BRT  to the specific brightness level. 
     In various embodiments, the order of the Bezier curve used to calculate the output value Y_OUT may be selected depending to the required preciseness, not limited to a specific order. The use of a second order Bezier curve to calculate the output value Y_OUT however allows calculating the output value Y_OUT accurately while simplifying the configuration of the Bezier curve calculation circuitry  22 . In the following, a description is given of an exemplary configuration and operation of the Bezier curve calculation circuitry  22  for the case where the output value Y_OUT is calculated using a second order Bezier curve. In various embodiments, the X and Y coordinates of three correction control points CP(2k)′, CP(2k+1)′ and CP(2k+2)′ are supplied to the inputs of the Bezier curve calculation circuitry  22  when the output value Y_OUT is calculated using a second order Bezier curve. 
     In the following, a description is first given of the calculation algorithm performed in the Bezier curve calculation circuitry  22 .  FIG. 11  schematically illustrates the calculation algorithm performed in the Bezier curve calculation circuitry  22  in one embodiment and  FIG. 12  is a flowchart illustrating the calculation procedure. 
     As illustrated in  FIG. 12 , the three correction control points (2k)′ to CP(2k+2)′ are set to the Bezier curve calculation circuitry  22  as initial settings at step S 11 . For conciseness of the description, the correction control points (2k)′ to CP(2k+2)′ set to the Bezier curve calculation circuitry  22  are hereinafter referred to as control points A 0 , B 0  and C 0 , respectively. With reference to  FIG. 11 , the coordinates A 0  (AX 0 , AY 0 ), B 0  (BX 0 , BY 0 ) and C 0 (CX 0 , CY 0 ) of the control points A 0 , B 0  and C 0  are respectively represented as follows:
 
 A   0 ( AX   0   ,AY   0 )=( X   CP(2k)   ′,Y   CP(2k) ′),
 
 B   0 ( BX   0   ,BY   0 )=( X   CP(2k+1)   ′,Y   CP(2k+1) ′), and
 
 C   0 ( CX   0   ,CY   0 )=( X   CP(2k+2)   ′,Y   CP(2k+2) ′)
 
     As described in the following, the output value Y_OUT may be calculated by repeating calculation of midpoints. One unit of this repeated calculation is referred to as the midpoint calculation, hereinafter. In various embodiments, a midpoint of adjacent two of the three control points may be referred to as the first order midpoint and the midpoint of the two first order midpoints may be referred to as the second order midpoint. 
     In the first midpoint calculation, with respect to the initially-given control points A 0 , B 0  and C 0  (that is, the three correction control points CP(2k)′, CP(2k+1)′ and CP(2k+2)′), a first order midpoint do which is the midpoint of the control points A 0  and B 0  and a first order midpoint e 0  which is the midpoint of the control points B 0  and C 0  are calculated, and a second order midpoint f 0  which is the midpoint of the first order midpoints do and e 0  is further calculated. The second order midpoint f 0  is a point on the Bezier curve defined with the three control points A 0 , B 0  and C 0 . The coordinates (X f0 , Y f0 ) of the second order midpoint f 0  are represented by the following expressions (6a) and (6b):
 
 X   f0 =( AX   0 +2 BX   0   +CX   0 )/4, and  (6a)
 
 Y   f0 =( AY   0 +2 BY   0   +CY   0 )/4.  (6b)
 
     Three control points A 1 , B 1  and C 1  used for the next midpoint calculation (the second midpoint calculation) are selected from the control point A 0 , the first order midpoint do, the second order midpoint f 0 , the first order midpoint e 0  and the control point C 0  in response to the result of the comparison between the input grayscale X_IN and the X coordinate X f0  of the second order midpoint f 0 . In one or more embodiments, the control points A 1 , B 1  and C 1  are selected as follows:
 
When  X   f0   ≥X_IN   (A)
 
     In this case, the three points having the smallest three X coordinates (the three leftmost points), that is, the control point A 0 , the first order midpoint do and the second order midpoint f 0  are selected as the control points A 1 , B 1  and C 1 . In other words,
 
 A   1   =A   0   ,B   1   =d   0 , and  C   1   =f   0 .  (7a)
 
When  X   f0   &lt;X_IN   (B)
 
     In this case, the three points having the largest three X coordinates (the three rightmost points), that is, the second order midpoint f 0 , the first order midpoint e 0  and the control point C 0  are selected as the control points A 1 , B 1  and C 1 . In other words,
 
 A   1   =f   0   ,B   1   =e   0 , and  C   1   =C   0 .  (7b)
 
     The second midpoint calculation is performed in a similar manner. With respect to the control points A 1 , B 1  and C 1 , the first order midpoint d 1  of the control points A 1  and B 1  and the first order midpoint e 1  the control points B 1  and C 1  are calculated, and the second order midpoint f 1  of the first order midpoints d 1  and e 1  is further calculated. The second order midpoint f 1  is a point on the desired second-order Bezier curve. Three control points A 2 , B 2  and C 2  may be used for the next midpoint calculation (the third midpoint calculation). In one embodiment, the three control points may be selected from the control point A 1 , the first order midpoint d 1 , the second order midpoint f 1 , the first order midpoint e 1  and the control point C 1  in response to the result of the comparison between the input grayscale X_IN and the X coordinate X f1  of the second order midpoint f 1 . 
     As is illustrated in  FIG. 12 , the following calculation is performed in the i th  midpoint calculation at steps S 12  to S 14 :
 
When ( AX   i−1 +2 BX   i−1   +CX   i−1 )/4≥ X _IN,  (A)
 
 AX   i   =AX   i−1 ,  (8a)
 
 BX   i =( AX   i−1   +BX   i−1 )/2,  (9a)
 
 CX   i =( AX   i−1 +2 BX   i−1   +CX   i−1 )/4,  (10a)
 
 AY   i   =AY   i−1 ,  (11a)
 
 BY   i =( AY   i−1   +BY   i−1 )/2, and  (12a)
 
 CY   i =( AY   i−1 +2 BY   i−1   +CY   i−1 )/4.  (13a)
 
When ( AX   i−1 +2 BX   i−1   +CX   i−1 )/4&lt; X _IN,  (B)
 
 AX   i =( AX   i−1 +2 BX   i−1   +CX   i−1 )/4,  (8b)
 
 BX   i =( BX   i−1   +CX   i−1 )/2,  (9b)
 
 CX   i   =CX   i−1 ,  (10b)
 
 AY   i =( AY   i−1 +2 BY   i−1   +CY   i−1 )/4,  (11b)
 
 BY   i =( BY   i−1   +CY   i−1 )/2, and  (12b)
 
 CY   i   =CY   i−1 .  (13b)
 
     It would be apparent to a person skilled in the art that the equal sign may be attached to any one of the inequality signs recited in conditions (A) and (B). 
     The midpoint calculation is repeated a desired number of times in a similar manner at step S 15 . 
     In various embodiments, when a midpoint calculation is performed, the control points A i , B i  and C i  approach the second order Bezier curve and the X coordinates of the control points A i , B i  and C i  also approach the input grayscale value X_IN. The output value Y_OUT is finally obtained from the Y coordinate of at least one of the control points A N , B N  and C N  obtained through the N th  midpoint calculation. For example, the output value Y_OUT may be determined as the Y coordinate of an arbitrarily-selected one of the control points A N , B N  and C N . Alternatively, the output value Y_OUT may be determined as the average value of the Y coordinates of the control points A N , B N  and C N . 
     In various embodiments, when the number of times N of the midpoint calculations is relatively small, the preciseness of the output value Y_OUT can be improved by increasing the number of times N of the midpoint calculations. In various embodiments, once the number of times N of the midpoint calculations reaches the number of bits of the output value Y_OUT, the preciseness of the output value Y_OUT is not further improved thereafter. In one embodiment, the number of times N of the midpoint calculations is equal to the number of bits of the output value Y_OUT. For example, in this embodiment, in which the output value Y_OUT is a 12-bit data, the number of times N of the midpoint calculations may be 12. 
     Since the output value Y_OUT is calculated through repeated midpoint calculations as described above, the Bezier curve calculation circuitry  22  may be configured as a plurality of serially-connected processing circuitries each configured to perform the midpoint calculation.  FIG. 13  is a block diagram illustrating one example of the configuration of the Bezier curve calculation circuitry  22  thus configured. 
     The Bezier curve calculation circuitry  22  includes N primitive processing units  30   1  to  30   N  and an output stage  40 . Each of the primitive processing units  30   1  to  30   N  is configured to perform the above-described midpoint calculation. In other words, the primitive processing unit  30   i  is configured to calculate the X and Y coordinates of the control points A i , B i  and C i  from the X and Y coordinates of the control points A i−1 , B i−1  and C i−1  through calculations in accordance with expressions (8a) to (13a) and (8b) to (13b), where i is an integer from one to N. The output stage  40  outputs the output value Y_OUT on the basis of the Y coordinate of at least one control point selected from the control points A N , B N  and C N , which is output from the primitive processing unit  30   N  (that is, on the basis of at least one of AY N , BY N  and CY N ). The output stage  40  may output the Y coordinate of a selected one of the control points A N , B N  and C N  as the output value Y_OUT. 
       FIG. 14  is a circuit diagram illustrating the configuration of each primitive processing unit  30   i . Each primitive processing unit  30  includes adders  31  to  33 , selectors  34  to  36 , a comparator  37 , adders  41  to  43 , and selectors  44  to  46 . The adders  31  to  33  and the selectors  34  to  36  perform calculations on the X coordinates of the control points A i−1 , B i−1 , and C i−1  and the adders  41  to  43  and the selectors  44  to  46  perform calculations on the Y coordinates of the control points A i−1 , B i−1 , and C i−1 . 
     In one embodiment, each primitive processing unit  30   i  includes seven input terminals. One of the seven input terminal receives the input grayscale value X_IN, and the remaining six receive the X coordinates AX i−1 , BX i−1  and CX i−1  and Y coordinates AY i−1 , BY i−1  and CY i−1  of the control points A i−1 , B i−1  and C i−1 , respectively. The adder  31  has a first input connected to the input terminal to which AX i−1  is supplied and a second input connected to the input terminal to which BX i−1  is supplied. The adder  32  has a first input connected to the input terminal to which BX i−1  is supplied and a second input connected to the input terminal to which CX i−1  is supplied. The adder  33  has a first input connected to the output of the adder  31  and a second input connected to the output of the adder  32 . 
     Similarly, the adder  41  has a first input connected to the input terminal to which AY i−1  is supplied and a second input connected to the input terminal to which BY i−1  is supplied. The adder  42  has a first input connected to the input terminal to which BY i−1  is supplied and a second input connected to the input terminal to which CY i−1  is supplied. The adder  43  has a first input connected to the output of the adder  41  and a second input connected to the output of the adder  42 . 
     The comparator  37  has a first input to which the input gray-level value X_IN is supplied and a second input connected to the output of the adder  33 . 
     The selector  34  has a first input connected to the input terminal to which AX i−1  is supplied and a second input connected to the output of the adder  33 , and selects the first or second input in response to the output value of the comparator  37 . The output of the selector  34  is connected to the output terminal from which AX i  is output. Similarly, the selector  35  has a first input connected to the output of the adder  31  and a second input connected to the output of the adder  32 , and selects the first or second input in response to the output value of the comparator  37 . The output of the selector  35  is connected to the output terminal from which BX i  is output. Furthermore, the selector  36  has a first input connected to the output of the adder  33  and a second input connected to the input terminal to which C i−1  is supplied, and selects the first or second input in response to the output value of the comparator  37 . The output of the selector  36  is connected to the output terminal from which CX i  is output. 
     In one embodiment, the selector  44  has a first input connected to the input terminal to which AY i−1  is supplied and a second input connected to the output of the adder  43 , and selects the first or second input in response to an output value of the comparator  37 . The output of the selector  44  is connected to the output terminal from AY i  is output. Similarly, the selector  45  has a first input connected to the output of the adder  41  and a second input connected to the output of the adder  42 , and selects the first or second input in response to the output value of the comparator  37 . The output of the selector  45  is connected to the output terminal from which BY i  is output. Furthermore, the selector  46  has a first input connected to the output of the adder  43  and a second input connected to the input terminal to which CY i−1  is supplied, and selects the first or second input in response to the output value of the comparator  37 . The output of the selector  46  is connected to the output terminal from which CY i  is output. 
     In the primitive processing unit  30   i  thus configured, the adder  31  performs the calculation in accordance with the above-described expression (9a), the adder  32  performs the calculation in accordance with the above-described expression (9b), and the adder  33  performs the calculation in accordance with (10a) and (8b) using the output values from the adders  31  and  32 . Similarly, the adder  41  performs the calculation in accordance with the above-described expression (12a), the adder  42  performs the calculation in accordance with the expression (12b), and the adder  43  performs the calculation in accordance with expressions (13a) and (11b) using the output values from the adders  41  and  42 . The comparator  37  compares the output value of the adder  33  with the input grayscale value X_IN, and indicates which of the two input values supplied to each of the selectors  34  to  36  and  44  to  46  is to be output as the output value. When the input grayscale value X_IN is smaller than (AX i−1 +2BX i−1 +CX i−1 )/4, the selector  34  selects AX i−1 , the selector  35  selects the output value of the adder  31 , the selector  36  selects the output value of the adder  33 , the selector  44  selects AY i−1 , the selector  45  selects the output value of the adder  41 , and the selector  46  selects the output value of the adder  43 . When the input gray-level value X_IN is larger than (AX i−1 +2BX i−1 +CX i−1 )/4, the selector  34  selects the output value of the adder  33 , the selector  35  selects the output value of the adder  32 , the selector  36  selects the CX i−1 , the selector  44  selects the output value of the adder  43 , the selector  45  selects the output value of the adder  42 , and the selector  46  selects CY i−1 . The values selected by the selectors  34  to  36  and  44  to  46  are supplied to the primitive processing unit of the following stage as AX i , BX i , CX i , AY i , BY i , and CY i , respectively. 
     In various embodiments the divisions described within expressions (8a) to (13a) and (8b) to (13b) can be realized by truncating lower bits. Most simply, desired calculations can be achieved by truncating lower bits of the outputs of the adders  31  to  33  and  41  to  43 . In this case, one bit may be truncated from each of the output terminals of the adders  31  to  33  and  41  to  43 . It should be noted however that the positions where the lower bits are truncated in the circuitry may be arbitrarily modified as long as calculations equivalent to the expressions (8a) to (13a) and (8b) to (13b) are achieved. For example, lower bits may be truncated at the input terminals of the adders  31  to  33  and  41  to  43  or on the input terminals of the comparator  37 , the selectors  34  to  36  and the selectors  44  to  46 . 
     The output value Y_OUT is finally obtained from at least one of AY N , BY N  and CY N  output from the primitive processing unit  30   N , which is the final stage of the serially-connected primitive processing units  30   1  to  30   N  thus configured. 
       FIG. 15  schematically illustrates an improved algorithm for calculating the output value Y_OUT when a second degree Bezier curve is used for calculating the output value Y_OUT. In the algorithm illustrated in  FIG. 15 , i th  midpoint calculation involves calculating the first order midpoints d i−1 , e i−1  and the second order midpoint f i−1  after the control points A i−1 , B i−1  and C i−1  are subjected to parallel displacement so that the point B i−1  is shifted to the origin. Additionally, the second order midpoint f i−1  is always selected as the point C i  used in the (i+1) th  midpoint calculation. The repetition of such parallel displacement and midpoint calculation effectively reduces the number of required processing units and the number of bits of the values processed by the respective processing units. 
     With reference to  FIG. 15 , in the first parallel displacement and midpoint calculation, the control points A O , B O  and C O  are subjected to parallel displacement so that the control point B O  is shifted to the origin. The control points A O , B O  and C O  after the parallel displacement are referred to as the control points A O ′, B O ′ and C O ′, respectively. The control point B O ′ coincides with the origin. Here, the coordinates of the control points A 0 ′ and C 0 ′ are represented as follows, respectively:
 
 A   O ′( AX   O   ′,AY   O ′)=( AX   O   −BX   O   ,AY   O   −BY   O ), and
 
 C   O ′( CX   O   ′,CY   O ′)=( CX   O   −BX   O   ,CY   O   −BY   O )
 
Meanwhile, the parallel displacement distance BX O  in the X axis direction is subtracted from an initial processing target grayscale value X_IN O  to obtain a processing target grayscale value X_IN 1 , where the initial processing target grayscale value X_IN O  is equal to the input grayscale value X_IN.
 
     Next, the first order midpoint d O ′ of the control points A O ′ and B O ′ and the first order midpoint e O ′ of the control points B O ‘ and C O ’ are calculated, and the second order midpoint f O ′ of the first order midpoints e O ′ and f O ′ is further calculated. The second order midpoint f O ′ is positioned on the second degree Bezier curve obtained by such parallel displacement that the control point B 0  is shifted to the origin (that is, the second degree Bezier curve defined with the three control points A O ′, B O ′ and C O ′). 
     In this case, the coordinates (X fO ′, Y fO ′) of the second order midpoint f O ′ are represented by the following expression: 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             ( 
                             
                               
                                 X 
                                 
                                   f 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   0 
                                 
                                 ′ 
                               
                               , 
                               
                                 Y 
                                 
                                   f 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   0 
                                 
                                 ′ 
                               
                             
                             ) 
                           
                           = 
                             
                           ⁢ 
                           
                             ( 
                             
                               
                                 
                                   
                                     AX 
                                     0 
                                     ′ 
                                   
                                   + 
                                   
                                     CX 
                                     0 
                                     ′ 
                                   
                                 
                                 4 
                               
                               , 
                               
                                 
                                   
                                     AY 
                                     0 
                                     ′ 
                                   
                                   + 
                                   
                                     CY 
                                     0 
                                     ′ 
                                   
                                 
                                 4 
                               
                             
                             ) 
                           
                         
                         , 
                       
                     
                   
                   
                     
                       
                         = 
                           
                         ⁢ 
                         
                           ( 
                           
                             
                               
                                 
                                   ( 
                                   
                                     
                                       AX 
                                       0 
                                     
                                     - 
                                     
                                       BX 
                                       0 
                                     
                                   
                                   ) 
                                 
                                 + 
                                 
                                   ( 
                                   
                                     
                                       CX 
                                       0 
                                     
                                     - 
                                     
                                       BX 
                                       0 
                                     
                                   
                                   ) 
                                 
                               
                               4 
                             
                             , 
                           
                         
                       
                     
                   
                   
                     
                       
                           
                         ⁢ 
                         
                           
                             
                               ( 
                               
                                 
                                   AY 
                                   0 
                                 
                                 - 
                                 
                                   BY 
                                   0 
                                 
                               
                               ) 
                             
                             + 
                             
                               ( 
                               
                                 
                                   CY 
                                   0 
                                 
                                 - 
                                 
                                   BY 
                                   0 
                                 
                               
                               ) 
                             
                           
                           4 
                         
                         ) 
                       
                     
                   
                   
                     
                       
                         = 
                           
                         ⁢ 
                         
                           ( 
                           
                             
                               
                                 
                                   AX 
                                   0 
                                 
                                 - 
                                 
                                   2 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   
                                     BX 
                                     0 
                                   
                                 
                                 + 
                                 
                                   CX 
                                   0 
                                 
                               
                               4 
                             
                             , 
                             
                               
                                 
                                   AY 
                                   0 
                                 
                                 - 
                                 
                                   2 
                                   ⁢ 
                                   
                                       
                                   
                                   ⁢ 
                                   
                                     BY 
                                     0 
                                   
                                 
                                 + 
                                 
                                   CY 
                                   0 
                                 
                               
                               4 
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
     The three control points A 1 , B 1  and C 1  used in next parallel displacement and midpoint calculation (the second parallel displacement and midpoint calculation) are selected from among the point A O ′, the first order midpoint d O ′, the second order midpoint f O ′, the first order midpoint e O ′ and the point C O ′ in response to the result of comparison of the processing target grayscale value X_IN 1  with the X coordinate value X fO ′ of the second order midpoint f O ′. In this selection, the second order midpoint f O ′ is always selected as the control point C 1  whereas the control points A 1  and B 1  are selected as follows:
 
When  X   fo   ′≥X _IN 1   (A)
 
     In this case, the two points having the smallest two X coordinates (the leftmost two points), that is, the control point A O ′ and the first order midpoint d O ′ are selected as the control points A 1  and B 1 , respectively. In other words,
 
 A   1   =A   O   ′,B   1   =d   O ′ and  C   1   =f   O ′.  (15a)
 
When  X   fO   &lt;X_IN   1   (B)
 
     In this case, the two points having the largest two X coordinates (the rightmost two points), that is, the control point C O ′ and the first order midpoint e O ′ are selected as the control points A 1  and B 1 , respectively. In other words,
 
 A   1   =C   O   ′,B   1   =e   O ′ and  C   1   =f   O ′.  (15b)
 
     As a whole, in the first parallel displacement and midpoint calculation, the following calculations are performed:
 
 X _IN 1   =X_IN   0   −BX   0 , and  (16)
 
 X   f0 ′=( AX   0 −2 BX   0   +CX   0 )/4.  (17)
 
When  X   fO   ′≥X_IN   1 ,  (A)
 
                       AX   1     =       AX   0     -     BX   0         ,           (     17   ⁢   a     )                   BX   1     =       (       AX   0     -     BX   0       )     /   2       ,           (     18   ⁢   a     )                       CX   1     =       ⁢     X     f   ⁢           ⁢   0     ′                   =       ⁢       (       AX   0     -     2   ⁢           ⁢     BX   0       +     CX   0       )     /   4       ,                 (   19   )                   AY   1     =       AY   0     -     BY   0         ,           (     20   ⁢   a     )                   BY   1     =       (       AY   0     -     BY   0       )     /   2       ,   and           (     21   ⁢   a     )                       CY   1     =       ⁢     Y     f   ⁢           ⁢   0     ′                 =       ⁢       (       AY   0     -     2   ⁢           ⁢     BY   0       +     CY   0       )     /   4.                   (   22   )               When  X   fO   ′&lt;X_IN   1 ,  (B)
 
 AX   1   =CX   0   −BX   0 ,  (17b)
 
 BX   1 =( CX   0   −BX   0 )/2,  (18b)
 
 CX   1 =( AY   0 −2 BY   0   +CY   0 )/4,  (19)
 
 AY   1   =CY   0   −BY   0 ,  (20b)
 
 BY   1 =( CY   0   −BY   0 )/2, and  (21b)
 
 CY   1 =( AY   0 −2 BY   0   +CY   0 )/4.  (22)
 
     It would be apparent to a person skilled in the art that the equal sign may be attached to any one of the inequality signs recited in conditions (A) and (B). 
     As understood from expressions (17a), (18a), (17b) and (18b), the following relationship may be established irrespectively of which of conditions (A) and (B) is satisfied:
 
 AX   1 =2 BX   1 , and  (23)
 
 AY   1 =2 BY   1 .  (24)
 
This implies that there is no need to redundantly calculate or store the coordinates of the control points A 1  and B 1  when the above-described processing is actually implemented. This would be understood from the fact that the control point B 1  is located at the midpoint between the control point A 1  and the origin O as illustrated in  FIG. 15 . Although a description is given below of an embodiment in which the coordinates of the control point B 1  are calculated, the calculation of the coordinates of the control point A 1  is substantially equivalent to that of the coordinates of the control point B 1 .
 
     Similar processing is performed in the second parallel displacement and midpoint calculation. First, the control points A 1 , B 1  and C 1  are subjected to such a parallel displacement that the control point B 1  is shifted to the origin. The control points A 1 , B 1  and C 1  after the parallel displacement are referred to as the control points A 1 ′, B 1 ′ and C 1 ′, respectively. Additionally, the parallel displacement distance BX 1  in the X axis direction is subtracted from the processing target grayscale value X_IN 1 , thereby calculating the processing target grayscale value X_IN 2 . Next, the first order midpoint d 1 ′ of the control points A 1 ′ and B 1 ′ and the first order midpoint e 1 ′ of the control points B 1 ′ and C 1 ′ are calculated, and the second order midpoint f 1 ′ of the first order midpoints d 1 ′ and e 1 ′ is further calculated. 
     Similarly to expressions (16) to (22), the following expressions are obtained:
 
 X _IN 2   =X_IN   1   −BX   1 , and  (25)
 
 X   f1 ′=( AX   1 −2 BX   1   +CX   1 )/4.  (26)
 
When  X   f1   ′≥X_IN   2 ,  (A)
 
                       AX   2     =       AX   1     -     BX   1         ,           (     27   ⁢   a     )                   BX   2     =       (       AX   1     -     BX   1       )     /   2       ,           (     28   ⁢   a     )                         CX   2     =       ⁢     X     f   ⁢           ⁢   1     ′       ,                 =       ⁢       (       AX   1     -     2   ⁢           ⁢     BX   1       +     CX   1       )     /   4       ,                 (   29   )                   AY   2     =       AY   1     -     BY   1         ,           (     30   ⁢   a     )                   BY   2     =       (       AY   1     -     BY   1       )     /   2       ,   and           (     31   ⁢   a     )                         CY   2     =       ⁢     Y     f   ⁢           ⁢   1     ′       ,           ⁢   and               =       ⁢       (       AY   1     -     2   ⁢           ⁢     BY   1       +     CY   1       )     /   4.                   (   32   )               When  X   f1   ′&lt;X_IN   2 ,  (B)
 
 AX   2   =CX   1   −BX   1 ,  (27b)
 
 BX   2 =( CX   1   −BX   1 )/2,  (28b)
 
 CX   2 =( AY   1 −2 BY   1   +CY   1 )/4,  (29)
 
 AY   2   =CY   1   −BY   1 ,  (30b)
 
 BY   2 =( CY   1   −BY   1 )/2, and  (31b)
 
 CY   2 =( AY   1 −2 BY   1   +CY   1 )/4.  (32)
 
     Here, by substituting expression (23) into expressions (28a) and (29) and expression (24) into expressions (31a) and (32), the following expressions are obtained: 
     
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             BX 
                             2 
                           
                           = 
                             
                           ⁢ 
                           
                             
                               BX 
                               1 
                             
                             / 
                             2 
                           
                         
                         , 
                         
                           ( 
                           
                             
                               for 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 CX 
                                 1 
                               
                             
                             ≥ 
                             
                               X_IN 
                               2 
                             
                           
                           ) 
                         
                       
                     
                     
                       
                                                   
                         ⁢ 
                         
                           ( 
                           
                             33 
                             ⁢ 
                             a 
                           
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         
                           = 
                             
                           ⁢ 
                           
                             
                               ( 
                               
                                 
                                   CX 
                                   1 
                                 
                                 - 
                                 
                                   BX 
                                   1 
                                 
                               
                               ) 
                             
                             / 
                             2 
                           
                         
                         , 
                         
                           ( 
                           
                             
                               for 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 CX 
                                 1 
                               
                             
                             &lt; 
                             
                               X_IN 
                               2 
                             
                           
                           ) 
                         
                       
                     
                     
                       
                           
                         ⁢ 
                         
                           ( 
                           
                             33 
                             ⁢ 
                             b 
                           
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         
                           
                             CX 
                             2 
                           
                           = 
                             
                           ⁢ 
                           
                             
                               CX 
                               1 
                             
                             / 
                             4 
                           
                         
                         , 
                       
                     
                     
                       
                           
                         ⁢ 
                         
                           ( 
                           34 
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         
                           
                             BY 
                             2 
                           
                           = 
                             
                           ⁢ 
                           
                             
                               BY 
                               1 
                             
                             / 
                             2 
                           
                         
                         , 
                         
                           ( 
                           
                             
                               for 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 CX 
                                 1 
                               
                             
                             ≥ 
                             
                               X_IN 
                               2 
                             
                           
                           ) 
                         
                       
                     
                     
                       
                           
                         ⁢ 
                         
                           ( 
                           
                             35 
                             ⁢ 
                             a 
                           
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         
                           = 
                             
                           ⁢ 
                           
                             
                               ( 
                               
                                 
                                   CY 
                                   1 
                                 
                                 - 
                                 
                                   BY 
                                   1 
                                 
                               
                               ) 
                             
                             / 
                             2 
                           
                         
                         , 
                         
                           
                             ( 
                             
                               
                                 for 
                                 ⁢ 
                                 
                                     
                                 
                                 ⁢ 
                                 
                                   CX 
                                   1 
                                 
                               
                               &lt; 
                               
                                 X_IN 
                                 2 
                               
                             
                             ) 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           and 
                         
                       
                     
                     
                       
                           
                         ⁢ 
                         
                           ( 
                           
                             35 
                             ⁢ 
                             b 
                           
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         
                           CY 
                           2 
                         
                         = 
                           
                         ⁢ 
                         
                           
                             CY 
                             1 
                           
                           / 
                           4. 
                         
                       
                     
                     
                       
                           
                         ⁢ 
                         
                           ( 
                           36 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                     
                 
               
             
           
         
       
     
     It should be noted that in some embodiments, there may be no need to redundantly calculate or store the X coordinate AX 2  and the Y coordinate AY 2  of the control point A 2 , since the following relationship is established as is the case of expressions (23) and (24):
 
 AX   2 =2 BX   2 , and  (37)
 
 AY   2 =2 BY   2 .  (38)
 
     Similar processing is performed in the third and subsequent parallel displacements and midpoint calculations. It would be understood that, similarly to the second parallel displacement and midpoint calculation, the processing performed in the i th  parallel displacement and midpoint calculation (for i≥2) is represented by the following expressions: 
     
       
         
           
             
               
                 
                   
                     
                       X_IN 
                       i 
                     
                     = 
                       
                     ⁢ 
                     
                       
                         X_IN 
                         
                           i 
                           - 
                           1 
                         
                       
                       - 
                       
                         BX 
                         
                           i 
                           - 
                           1 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                                
                   ⁢ 
                   
                     ( 
                     39 
                     ) 
                   
                 
               
             
             
               
                 
                   
                     
                       BX 
                       i 
                     
                     = 
                       
                     ⁢ 
                     
                       
                         BX 
                         
                           i 
                           - 
                           1 
                         
                       
                       / 
                       2 
                     
                   
                   , 
                   
                     ( 
                     
                       
                         for 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           CX 
                           
                             i 
                             - 
                             1 
                           
                         
                       
                       ≥ 
                       
                         X_IN 
                         i 
                       
                     
                     ) 
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     ( 
                     
                       40 
                       ⁢ 
                       a 
                     
                     ) 
                   
                 
               
             
             
               
                 
                   
                     = 
                       
                     ⁢ 
                     
                       
                         ( 
                         
                           
                             CX 
                             
                               i 
                               - 
                               1 
                             
                           
                           - 
                           
                             BX 
                             
                               i 
                               - 
                               1 
                             
                           
                         
                         ) 
                       
                       / 
                       2 
                     
                   
                   , 
                   
                     ( 
                     
                       
                         for 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           CX 
                           
                             i 
                             - 
                             1 
                           
                         
                       
                       &lt; 
                       
                         X_IN 
                         i 
                       
                     
                     ) 
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     ( 
                     
                       40 
                       ⁢ 
                       b 
                     
                     ) 
                   
                 
               
             
             
               
                 
                   
                     CX 
                     i 
                   
                   = 
                     
                   ⁢ 
                   
                     
                       CX 
                       
                         i 
                         - 
                         1 
                       
                     
                     / 
                     4 
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     ( 
                     41 
                     ) 
                   
                 
               
             
             
               
                 
                   
                     
                       BY 
                       i 
                     
                     = 
                       
                     ⁢ 
                     
                       
                         BY 
                         
                           i 
                           - 
                           1 
                         
                       
                       / 
                       2 
                     
                   
                   , 
                   
                     ( 
                     
                       
                         for 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           CX 
                           
                             i 
                             - 
                             1 
                           
                         
                       
                       ≥ 
                       
                         X_IN 
                         i 
                       
                     
                     ) 
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     ( 
                     
                       42 
                       ⁢ 
                       a 
                     
                     ) 
                   
                 
               
             
             
               
                 
                   
                     = 
                       
                     ⁢ 
                     
                       
                         ( 
                         
                           
                             CY 
                             
                               i 
                               - 
                               1 
                             
                           
                           - 
                           
                             BY 
                             
                               i 
                               - 
                               1 
                             
                           
                         
                         ) 
                       
                       / 
                       2 
                     
                   
                   , 
                   
                     
                       ( 
                       
                         
                           for 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             CX 
                             
                               i 
                               - 
                               1 
                             
                           
                         
                         &lt; 
                         
                           X_IN 
                           i 
                         
                       
                       ) 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     and 
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     ( 
                     
                       42 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       b 
                     
                     ) 
                   
                 
               
             
             
               
                 
                   
                     CY 
                     i 
                   
                   = 
                     
                   ⁢ 
                   
                     
                       CY 
                       
                         i 
                         - 
                         1 
                       
                     
                     / 
                     4. 
                   
                 
               
               
                 
                     
                   ⁢ 
                   
                     ( 
                     43 
                     ) 
                   
                 
               
             
           
         
       
     
     It would be apparent to a person skilled in the art that the equal sign may be attached to any one of the inequality signs recited in expressions (40a) and (40b) The same goes for expressions (42a) and (42b). 
     Expressions (41) and (43) imply that the control point C i  is positioned on the segment connecting the origin O to the control point C i−1  and that the distance between the control point C i  and the origin O is a quarter of the length of the segment OC i−1 . Accordingly, the repetition of the parallel displacement and midpoint calculation makes the control point C i  closer to the origin O. It would be readily understood that this relationship allows simplification of the calculation of coordinates of the control point C 1 . It should be also noted that, in various embodiments, there may be no need to calculate or store the coordinates of the points A 2  to A N  in the second and following parallel displacements and midpoint calculations similarly to the first parallel displacement and midpoint calculation, since expressions (39) to (43) do not recite the coordinates of the control points A 1  and A i−1 . 
     The output value Y_OUT to be finally calculated by repeating the parallel displacement and midpoint calculation N times is obtained as the Y coordinate value of the control point B N  with all the parallel displacements cancelled. Accordingly, the output coordinate value Y_OUT can be calculated the following expression:
 
 Y _OUT= BY   0   +BY   1   + . . . +BY   i−1 .  (44)
 
To achieve such processing, the following processing is performed in the i th  parallel displacement and midpoint calculation:
 
 Y _OUT 1   =BY   0 , (for  i= 1) and
 
 Y _OUT i   =Y _OUT i−1   +BY   i−1 . (for  i≥ 2)  (45)
 
In this case, the output value Y_OUT of interest is obtained as Y_OUT N .
 
       FIG. 16  is a circuit diagram illustrating the configuration of the Bezier curve calculation circuitry  22  in which the parallel displacement and midpoint calculation. The Bezier curve calculation circuitry  22  illustrated in  FIG. 16  includes an initial-stage processing unit  50   1  and a plurality of primitive processing units  50   2  to  50   N  serially connected to the output of the initial-stage processing unit  50   1 . The initial-stage processing unit  50   1  has the function of achieving the first parallel displacement and midpoint calculation and is configured to perform the calculations in accordance with expressions (16) to (22). The primitive processing units  50   2  to  50   N  have the function of achieving the second and following parallel displacements and midpoint calculations and are configured to perform the calculations in accordance with expressions (39) to (43) and (45). 
       FIG. 17  is a circuit diagram illustrating the configurations of the initial-stage processing unit  50   1  and the primitive processing units  50   2  to  50   N . The initial-stage processing unit  50   1  includes subtractors  51  to  53 , an adder  54 , a selector  55 , a comparator  56 , subtractors  62  and  63 , an adder  64 , and a selector  65 . The initial-stage processing unit  50   1  has seven input terminals. The input grayscale value X_IN is inputted to one of the input terminals, and the X coordinates AX O , BX O  and CX O  and Y coordinates AY O , BY O , and CY O  of the control points A O , B O  and C O  are supplied to the other six terminals, respectively. 
     The subtracter  51  has a first input to which the input grayscale value X_IN is supplied and a second input connected to the input terminal to which BX O  is supplied. The subtracter  52  has a first input connected to the input terminal to which AX O  is supplied and a second input connected to the input terminal to which BX O  is supplied. The subtracter  53  has a first input connected to the input terminal to which CX O  is supplied and a second input connected to the input terminal to which BX O  is supplied. The adder  54  has a first input connected to the output of the subtracter  52  and a second input connected to the output of the subtracter  53 . 
     Similarly, the subtracter  62  has a first input connected to the input terminal to which AY O  is supplied and a second input connected to the input terminal to which BY O  is supplied. The subtracter  63  has a first input connected to the input terminal to which CY O  is supplied and a second input connected to the input terminal to which BY O  is supplied. The adder  64  has a first input connected to the output of the subtracter  62  and a second input connected to the output of the subtracter  63 . 
     The comparator  56  has a first input connected to the output of the subtracter  51  and a second input connected to the output of the adder  54 . The selector  55  has a first input connected to the output of the subtracter  52  and a second input connected to the output of the subtracter  53 , and selects the first or second input in response to the output value SEL 1  of the comparator  56 . Furthermore, the selector  65  has a first input connected to the subtracter  62  and a second input connected to the output of the subtracter  63 , and selects the first or second input in response to the output value SEL 1  of the comparator  56 . 
     The output terminal from which the processing target grayscale value X_IN 1  is outputted is connected to the output of the subtracter  51 . The output terminal from which BX 1  is outputted is connected to the output of the selector  55 , and the output terminal from which CX 1  is outputted is connected to the output of the adder  54 . Furthermore, the output terminal from which BY 1  is outputted is connected to the output of the selector  65 , and the output terminal thereof from which CY 1  is outputted is connected to the output of the adder  64 . 
     The subtracter  51  performs the calculation in accordance with expression (16), and the subtracter  52  performs the calculation in accordance with expression (18a). The subtracter  53  performs the calculation in accordance with expression (18b), and the adder  54  performs the calculation in accordance with expression (19) on the basis of the output values of the subtractors  52  and  53 . Similarly, the subtracter  62  performs the calculation in accordance with expression (21a). The subtracter  63  performs the calculation in accordance with expression (21b), and the adder  64  performs the calculation in accordance with expression (22) on the basis of the output values of the subtractors  62  and  63 . The comparator  56  compares the output value of the subtracter  51  (that is, X_IN O −BX O ) with the output value of the adder  54 , and instructs the selectors  55  and  65  to select which of the two input values thereof is to be outputted as the output value. In various embodiments, when X_IN 1  is equal to or smaller than (AX O −2BX O +CX O )/4, the selector  55  selects the output value of the subtracter  52  and the selector  65  selects the output value of the subtracter  62 . Further, when X_IN O −BX O  is larger than (AX O −2BX O +CX O )/4, the selector  55  selects the output value of the subtracter  53  and the selector  65  selects the output value of the subtracter  63 . The values selected by the selectors  55  and  65  are supplied to the primitive processing unit  50   2  as BX 1  and BY 1 , respectively. Furthermore, the output values of the adders  54  and  64  are supplied to the primitive processing unit  50   2  as CX 1  and CY 1 , respectively. 
     It should be noted, that in various embodiments, that divisions recited in expressions (16) to (22) can be realized by truncating lower bits. The positions where the lower bits are truncated in the circuit may be arbitrarily modified as long as calculations equivalent to expressions (16) to (22) are performed. The initial-stage processing unit  50   1  illustrated in  FIG. 17  is configured to truncate the lowest one bit on the outputs of the selectors  55  and  65  and to truncate the lowest two bits on the outputs of the adders  54  and  64 . 
     Meanwhile, the primitive processing units  50   2  to  50   N , which have the same configuration, each include subtractors  71  and  72 , a selector  73 , a comparator  74 , a subtracter  75 , a selector  76 , and an adder  77 . 
     In the following, a description is given of the primitive processing unit  50   i  which performs the i th  parallel displacement and midpoint calculation, where i is an integer from two to N. The subtracter  71  has a first input connected to the input terminal to which the processing target grayscale value X_IN i−1  is supplied, and a second input connected to the input terminal to which BX i−1  is supplied. The subtracter  72  has a first input connected to the input terminal to which BX i−1  is supplied, and a second input connected to the input terminal to which CX i−1  is supplied. The subtracter  75  has a first input connected to the input terminal to which BY i−1  is supplied, and a second input connected to the input terminal to which CY i−1  is supplied. 
     The comparator  74  has a first input connected to the output of the subtracter  71  and a second input connected to the input terminal to which CX i−1  is supplied. 
     The selector  73  has a first input connected to the input terminal to which BX i−1  is supplied, and a second input connected to the output of the subtracter  72 , and selects the first or second input in response to the output value SELi of the comparator  74 . Similarly, the selector  76  has a first input connected to the input terminal to which BY i−1  is supplied, and a second input connected to the output of the subtracter  75 , and selects the first or second input in response to the output value of the comparator  74 . 
     The processing target grayscale value X_IN i  is output from the output terminal connected to the output of the subtracter  71 . BX i  is output from the output terminal connected to the output of the selector  73 , and CX i  is output from the output terminal connected to the input terminal to which CX i  is supplied via an interconnection. In this process, the lower two bits of CX i  are truncated. Furthermore, BY i  is output from the output terminal connected to the output of the selector  73 , and CY i  is output from the output terminal connected to the input terminal to which CY i−1  is supplied via an interconnection. In this process, the lower two bits of CY i−1  are truncated. 
     The adder  77  has a first input connected to the input terminal to which BX i−1  is supplied, and a second input connected to the input terminal to which Y_OUT i−1  is supplied. It should be noted that, with respect to the primitive processing unit  50   2  which performs the second parallel displacement and midpoint calculation, Y_OUT 1  supplied to the primitive processing unit  50   2  coincides with BY O . Y_OUT i  is outputted from the output of the adder  77 . 
     The subtracter  71  performs the calculation in accordance with expression (39), and the subtracter  72  performs the calculation in accordance with expression (40b). The subtracter  75  performs the calculation in accordance with expression (42b), and the adder  77  performs the calculation in accordance with expression (45). The comparator  74  compares the output value X_IN i (=X_IN i−1 −BX i−1 ) of the subtracter  71  with CX i−1 , and instructs the selectors  73  and  76  to select which of the two input values thereof is to be outputted as the output value. When X_IN i  is equal to or smaller than CX i−1 , the selector  73  selects BX i−1  and the selector  76  selects BY i−1 . When X_IN i  is larger than CX i−1 , on the other hand, the selector  73  selects the output value of the subtracter  72  and the selector  76  selects the output value of the subtracter  75 . The values selected by the selectors  73  and  76  are supplied to the next primitive processing unit  50   i+1  as BX i  and BY i , respectively. Furthermore, the values obtained by truncating the lower two bits of CX i−1  and CY i−1  are supplied to the next primitive processing unit  50   i+1  as CX i  and CY i , respectively. 
     It should be noted here that divisions recited in expressions (40) to (43) can be realized by truncating lower bits. The positions where the lower bits are truncated in the circuit may be arbitrarily modified as long as operations equivalent to Equations (40) to (43) are performed. The primitive processing unit  50   i  illustrated in  FIG. 17  is configured to truncate the lower one bit on the outputs of the selectors  73  and  76  and to truncate the lower two bits on the interconnections receiving CX i−1  and CY i−1 . 
     The effect of reduction in the number of the processing elements would be understood from the comparison of the configuration of the primitive processing units  50   2  to  50   N  illustrated in  FIG. 17  with that of the primitive processing units  30   1  to  30   N  illustrated in  FIG. 14 . Besides, in the configuration adapted to the parallel displacement and midpoint calculation illustrated in  FIG. 17 , in which each of the primitive processing units  50   2  to  50   N  is configured to truncate lower bits, the number of bits of data to be handled is more reduced in latter ones of the primitive processing units  50   2  to  50   N . As thus discussed, the configuration adapted to the parallel displacement and midpoint calculation as illustrated in  FIG. 17  allows calculating the output value Y_OUT with reduced hardware utilization. 
     Although the above-described embodiments recite the cases where the output value Y_OUT is calculated using the second degree Bezier curve having the shape specified by three control points, in other embodiments, the output value Y_OUT may be alternatively calculated by using a third or higher degree Bezier curve. When an n th  degree Bezier curve is used, the X and Y coordinates of (n+1) correction control points are initially given, and similar midpoint calculations are performed on the (n+1) correction control points to calculate the output value Y_OUT. 
     In various embodiments, when (n+1) correction control points are given, the midpoint calculation is performed as follows. First order midpoints are each calculated as a midpoint of adjacent two of the (n+1) correction control points. The number of the first order midpoints is n. Further, second order midpoints are each calculated as a midpoint of adjacent two of the n first order midpoints. The number of the second order midpoint is n−1. In the same way, (n−k) (k+1) th  order midpoints are each calculated as a midpoint of adjacent two of the (n−k+1) k th  order midpoints. This procedure is repeatedly carried out until the single n-th order midpoint is finally calculated. Here, the control point having the smallest X coordinate out of the (n+1) correction control points is referred to as the minimum control point and the control point having the largest X coordinate is referred to as the maximum control point. Similarly, the k th  order midpoint having the smallest X coordinate out of the k th  order midpoints is referred to as the k th  order minimum midpoint and the k th  order midpoint having the largest X coordinate is referred to as the k th  order maximum midpoint. When the X coordinate value of the n th  order midpoint is smaller than the input grayscale value X_IN, the minimum control point, the first to (n−1) th  order minimum midpoints and the n-th order midpoint are selected as the (n+1) control points for the next midpoint calculation. When the X coordinate of the n-th order midpoint is larger than the input grayscale value X_IN, the n th  order midpoint, the first to (n−1) th  order maximum midpoints and the maximum control point are selected as the (n+1) control points for the next midpoint calculation. The output value Y_OUT is calculated on the basis of the Y coordinate of at least one of the (n+1) control points obtained through N times of the midpoint calculation. 
     For easiness of understanding the following describes a midpoint calculation for the case where n=3, that is, the case where a third degree Bezier curve is used to calculate the output value Y_OUT. In this case, four correction control points CP(3k)′ to CP(3k+3)′ are set to the Bezier curve calculation circuitry  22 . In the following, the four correction control points CP(3k)′ to CP(3k+3)′ are simply referred to control points A 0 , B 0 , C 0  and D 0 , and the coordinates of the control points A O , B O , C O , and D O  are referred to as (AX O , AY O ), (BX O , BY O ), (CX O , CY O ), and (DX O , DY 0 ), respectively. The coordinates A 0  (AX 0 , AY 0 ), B 0  (BX 0 , BY 0 ), C 0  (CX 0 , CY 0 ) and D 0 (DX 0 , DY 0 ) of the control points A O , B O , C O , and D O  are respectively represented as follows:
 
 A   0 ( AX   0   ,AY   0 )=( X   CP(3k)   ′,Y   CP(3k) ′),
 
 B   0 ( BX   0   ,BY   0 )=( X   CP(3k+1)   ′,Y   CP(3k+1) ′),
 
 C   0 ( CX   0   ,CY   0 )=( X   CP(3k+2)   ′,Y   CP(3k+2) ′), and
 
 D   0 ( DX   0   ,DY   0 )=( X   CP(3k+3)   ′,Y   CP(3k+3) ′).
 
       FIG. 18  illustrates the midpoint calculation for n=3 (that is, for the case where the third degree Bezier curve is used to calculate the output value Y_OUT). Initially, four control points A O , B O , C O , and D O  are given. It should be noted that the control point A O  is the minimum control point and the control point D O  is the maximum control point. In the first midpoint calculation, the first order midpoint do that is the midpoint of the control points A O  and B O , the first order midpoint e O  that is the midpoint of the control points B O  and C O , and the first order midpoint f O  that is the midpoint of the control points C O  and D O  are calculated. It should be noted that do is the first order minimum midpoint and that f O  is the first order maximum midpoint. The second order midpoint g O  that is the midpoint of the first order midpoints do and e O  and the second order midpoint h O  that is the midpoint of the first order midpoints e O  and f O  are further calculated. Here, the midpoint g O  is the second order minimum midpoint and h O  is the second order maximum midpoint. Furthermore, the third order midpoint i O  that is the midpoint between the second order midpoints g O  and h O  is calculated. The third order midpoint i O  is a point on the third degree Bezier curve specified by the four control points A O , B O , C O  and D O , and the coordinates (X iO , Y iO ) of the third order midpoint i O  are represented by the following equations, respectively:
 
 X   iO =( AX   0 +3 BX   0 +3 CX   0   +DX   0 )/8, and
 
 Y   iO =( AY   0 +3 BY   0 +3 CY   0   +DY   0 )/8.
 
     The four control points A 1 , B 1 , C 1  and D 1  used in the next midpoint calculation (the second midpoint calculation) are selected in response to the result of comparison of the input grayscale value X_IN with the X coordinate X iO  of the third order midpoint i O . More specifically, when X iO ≥X_IN, the minimum control point A O , the first order minimum midpoint do, the second order minimum midpoint f O , and the third order midpoint e O  are selected as the control points A 1 , B 1 , C 1  and D 1 , respectively. When X iO &lt;X_IN, on the other hand, the third order midpoint e O , the second order maximum midpoint h O , the first order maximum midpoint f O , and the maximum control point D O  are selected as the control points A 1 , B 1 , C 1  and D 1 , respectively. 
     The second and subsequent midpoint calculations are performed by the similar procedure. Generally, the following calculations are performed in the i th  midpoint calculation:
 
When ( AX   i−1 +3 BX   i−1 +3 CX   i−1   +DX   i−1 )/8≥ X _IN,  (A)
 
 AX   i   =AX   i−1 ,  (2a′)
 
 BX   i =( AX   i−1   +BX   i−1 )/2,  (3a′)
 
 CX   i =( AX   i−1 +2 BX   i−1   +CX   i−1 )/4,  (4a′)
 
 DX   i =( AX   i−1 +3 BX   i−1 +3 CX   i−1   +DX   i−1 )/8,  (5a′)
 
 AY   i   =AY   i−1 ,  (6a′)
 
 BY   i =( AY   i−1   +BY   i−1 )/2,  (7a′)
 
 CY   i =( AY   i−1 +2 BY   i−1   +CY   i−1 )/4, and  (8a′)
 
 DY   i =( AY   i−1 +3 BY   i−1 +3 CY   i−1   +DY   i−1 )/8.  (9a′)
 
When ( AX   i−1 +3 BX   i−1 +3 CX   i−1   +DX   i−1 )/8&lt; X _IN,  (B)
 
 AX   i =( AX   i−1 +3 BX   i−1 +3 CX   i−1   +DX   i−1 )/8,  (2b′)
 
 BX   i =( BX   i−1 +2 CX   i−1   +DX   i−1 )/4,  (3b′)
 
 CX   i =( CX   i−1   +DX   i−1 )/2,  (4b′)
 
 DX   i   =DX   i−1 ,  (5b′)
 
 AX   i =( AX   i−1 +3 BX   i−1 +3 CX   i−1   +DX   i−1 )/8,  (6b′)
 
 BY   i =( BY   i−1 +2 CY   i−1   +DY   i−1 )/4,  (7b′)
 
 CY   i =( CY   i−1   +DY   i−1 )/2, and  (8b′)
 
 DY   i   =DY   i−1   (9b′)
 
     It would be apparent to a person skilled in the art that the equal sign may be attached to any one of the inequality signs recited in conditions (A) and (B). 
     Each midpoint calculation makes the control points A i , B i , C i  and D i  closer to the third degree Bezier curve, and also makes the X coordinate values of the control points A i , B i , C i  and D i  closer to the input grayscale value X_IN. The output value Y_OUT to be finally calculated is obtained from the Y coordinate of at least one of the control points A N , B N , C N  and D N  obtained by the N-th midpoint calculation. For example, the output value Y_OUT may be determined as the Y coordinate of an arbitrarily-selected one of the control points A N , B N , C N  and D N . Alternatively, the output value Y_OUT may be determined as the average value of the Y coordinates of the control points A N , B N , C N  and D N . 
     In a range in which the number of times N of the midpoint calculations is relatively small, the preciseness of the output value Y_OUT is more improved as the number of times N of the midpoint calculations is increased. It should be noted however that, once the number of times N of the midpoint calculations reaches the number of bits of the output value Y_OUT, the preciseness of the voltage data value Y_OUT is not further improved thereafter. In one embodiment, the number of times N of the midpoint calculations may be equal to the number of bits of the voltage data value Y_OUT. In the present embodiment, in which the output value Y_OUT is a 12-bit data, the number of times N of the midpoint calculations may be 12. 
     Further when the output value Y_OUT is calculated by using an (n+1) th  order Bezier curve, the midpoint calculation may be performed after performing parallel displacement on the control points so that one of the control points is shifted to the origin O, similarly to the case where the second-order Bezier curve is used. When the gamma curve is expressed by a third degree Bezier curve, for example, the first to n-th order midpoints are calculated after subjecting the control points to parallel displacement so that the control point B i−1  or C i−1  is shifted to the origin O. Furthermore, either a combination of the control point A i−1 ′ obtained by the parallel displacement, the first order minimum midpoint, the second order minimum midpoint and the third order midpoint or a combination of the third order midpoint, the second order maximum midpoint, the first order maximum midpoint, and the control point D −1 ′ are selected as the next control points A i , B i , C i  and D i . Also in this case, the number of bits of values processed by each calculating unit is effectively reduced. 
     Although embodiments of the present disclosure have been specifically described in the above, it would be understood by a person skilled in the art that the technologies of the present disclosure may be implemented with various modifications.