(57)【要約】      （修正有）【課題】回路規模の増大と表現可能な階調数の減少を抑制しながらガンマ補正と同時に画面の輝度を制御する画像データ演算を行う技術を提供する。【解決手段】表示ドライバが、画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、出力値に応じて自発光表示パネルの発光素子を駆動する駆動回路部とを具備する。補正回路は、画面の輝度が特定輝度である場合の特定輝度制御点の座標を記述する特定輝度制御点データと輝度データと入力階調値とに基づいて、補正演算に用いられる補正用制御点を決定する補正用制御点演算回路と、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出する補正演算回路とを含む。補正用制御点演算回路は、補正用制御点の第１座標軸の座標を特定輝度制御点の第１座標軸の座標と輝度データとに基づいて算出する。【選択図】図９
2018112710.tif 000002
【特許請求の範囲】
【請求項１】
各画素回路が発光素子を含む自発光表示パネルを駆動するための表示ドライバであって、
前記自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、
前記出力値に応じて前記自発光表示パネルの前記発光素子を駆動する駆動信号を生成する駆動回路部
とを具備し、
前記補正回路部は、
前記入力階調値に対応する第１座標軸と前記出力値に対応する第２座標軸とで規定される座標系における、前記画面の輝度が特定輝度である場合の前記入力階調値と前記出力値との間の入出力特性を規定する特定輝度制御点の前記第１座標軸に沿った方向における位置を指定する第１座標と前記第２座標軸に沿った方向における位置を指定する第２座標とを記述する特定輝度制御点データを保持する特定輝度制御点データ保持回路と、
前記輝度データと前記入力階調値と前記特定輝度制御点データとに基づいて、前記輝度データに指定された前記画面の輝度について前記入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定する補正用制御点演算回路と、
前記補正用制御点によって規定される入出力特性で前記入力階調値から前記出力値を算出する補正演算回路
とを含み、
前記補正用制御点演算回路は、前記補正用制御点の前記第１座標軸に沿った方向における位置を指定する第３座標を前記特定輝度制御点の前記第１座標と前記輝度データとに基づいて算出し、前記補正用制御点の前記第２座標軸に沿った方向における位置を指定する第４座標を前記特定輝度制御点の前記第２座標に基づいて決定する
表示ドライバ。
【請求項２】
請求項１に記載の表示ドライバであって、
前記補正用制御点演算回路は、前記輝度データと前記入力階調値とに基づいて前記特定輝度制御点のうちから選択制御点を選択し、前記補正用制御点の前記第３座標を前記選択制御点の前記第１座標と前記輝度データとに基づいて算出し、前記補正用制御点の前記第４座標を前記選択制御点の前記第２座標に一致するように決定する
表示ドライバ。
【請求項３】
請求項２に記載の表示ドライバであって、
前記補正用制御点演算回路は、（ｎ＋１）個の前記補正用制御点を決定し（ｎは、２以上の整数）、
前記補正用制御点によって規定される前記入出力特性のカーブが、前記補正用制御点によって決定されるｎ次ベジェ曲線である
表示ドライバ。
【請求項４】
請求項２又は３に記載の表示ドライバであって、
前記補正用制御点演算回路は、前記補正用制御点の前記第３座標を、所定の係数Ａと前記選択制御点の前記第１座標との積として算出し、
前記係数Ａは、前記輝度データで指定された前記画面の輝度の前記特定輝度に対する比ｑ及び前記自発光表示パネルについて設定されたガンマ値γを用いて、下記式：
Ａ＝１／ｑ（１／γ）
に従って決定される
表示ドライバ。
【請求項５】
請求項４に記載の表示ドライバであって、
前記特定輝度制御点は、第１〜第（ｐ×ｎ＋１）制御点を含み（ｐは、２以上の整数）、
前記第１〜第（ｐ×ｎ＋１）制御点のうちの第ｉ制御点の前記第１座標（ｉは、１以上（ｐ×ｎ）以下の整数）は、前記第（ｉ−１）制御点の前記第１座標よりも大きく、
前記第１制御点の前記第１座標は、前記入力階調値の許容最小値であり、
前記第（ｐ×ｎ＋１）制御点の前記第１座標は、前記入力階調値の許容最大値であり、
前記入力階調値に前記係数Ａの逆数１／Ａを乗じた値が、前記第（（ｋ−１）×ｎ＋１）制御点の前記第１座標より大きく前記第（ｋ×ｎ＋１）制御点の前記第１座標より小さい場合（ｋは１以上ｐ以下の整数）、前記補正用制御点演算回路は、前記第（（ｋ−１）×ｎ＋１）〜第（ｋ×ｎ＋１）制御点を前記選択制御点として選択する
表示ドライバ。
【請求項６】
請求項２に記載の表示ドライバであって、
前記ｎが２であり、
前記補正演算回路は、前記３個の前記補正用制御点を更新する更新演算を繰り返して行うことによって前記出力値を得る繰り返し演算回路を備えており、
前記３個の前記補正用制御点のうち前記第１座標が最小であるものを第１補正用制御点とし、前記３個の前記補正用制御点のうち前記第１座標が最大であるものを第３補正用制御点とし、前記３個の前記補正用制御点のうち前記第１補正用制御点でも前記第３補正用制御点でもないものを第２補正用制御点とし、前記第１補正用制御点と前記第２補正用制御点の中点を第１中点とし、前記第２補正用制御点と前記第３補正用制御点の中点を第２中点とし、前記第１中点と前記第２中点の中点を第３中点としたとき、
前記更新演算では、前記第３中点の前記第１座標軸の座標と前記入力階調値の比較の結果に応じて、更新前の前記第１補正用制御点、前記第１中点及び前記第３中点を、それぞれ、更新後の前記第１補正用制御点、前記第２補正用制御点及び前記第３補正用制御点として決定する第１演算、又は、更新前の前記第２補正用制御点、前記第２中点及び前記第３中点を、それぞれ、前記第１補正用制御点、前記第２補正用制御点及び前記第３補正用制御点として決定する第２演算の一方を行い、
前記補正演算回路は、所定回数の前記更新演算により得られた前記第１乃至第３補正用制御点のうちの少なくとも一の補正用制御点の前記第４座標から前記出力値を得るように構成された
表示ドライバ。
【請求項７】
請求項３に記載の表示ドライバであって、
前記ｎが２であり、
前記３個の前記補正用制御点のうち前記第１座標が最小であるものを第１補正用制御点とし、前記３個の前記補正用制御点のうち前記第１座標が最大であるものを第３補正用制御点とし、前記３個の前記補正用制御点のうち前記第１補正用制御点でも前記第３補正用制御点でもないものを第２補正用制御点として、
前記補正演算回路は、
前記入力階調値から更新前の前記第２補正用制御点の前記第３座標を減じて演算対象階調値を決定し、前記第１補正用制御点を前記第２補正用制御点の前記第３座標の値だけ前記第１座標軸に沿って移動し、前記第２補正用制御点の前記第４座標の値だけ前記第２座標軸に沿って移動した点として第１初段移動後制御点を算出し、前記第３補正用制御点を前記第２補正用制御点の前記第３座標の値だけ前記第１座標軸に沿って移動し、前記第２補正用制御点の前記第４座標の値だけ前記第２座標軸に沿って移動した点として第２初段移動後制御点を算出し、前記第１初段移動後制御点と前記第２初段移動後制御点の座標から第１移動後制御点、第２移動後制御点及び第３移動後制御点の座標を得る初段演算回路と、
前記第１移動後制御点、前記第２移動後制御点、前記第３移動後制御点及び前記演算対象階調値を更新する更新演算を繰り返して行うことによって前記出力値を得る繰り返し演算回路
とを備え、
前記第１初段移動後制御点と前記座標系の原点の中点を第１初段移動後中点とし、前記第２初段移動後制御点と原点の中点を第２初段移動後中点とし、前記第１初段移動後中点と前記第２初段移動後中点との中点を第３初段移動後中点として、前記初段演算回路は、（ａ）前記第１初段移動後制御点、前記第１初段移動後中点及び前記第３初段移動後中点を、それぞれ前記第１移動後制御点、前記第２移動後制御点及び前記第３移動後制御点として決定する演算、又は（ｂ）前記第２移動後制御点、前記第２初段移動後中点、及び前記第３初段移動後中点をそれぞれ前記第１移動後制御点、前記第２移動後制御点及び前記第３移動後制御点として決定する演算のいずれかを、前記第３初段移動後中点の前記第１座標軸の座標と前記演算対象階調値とを比較した結果に基づいて選択的に実行するように構成され、
前記第１移動後制御点と前記座標系の原点の中点を第１移動後中点とし、前記第２移動後制御点と原点の中点を第２移動後中点とし、前記第１移動後中点と前記第２移動後中点との中点を第３移動後中点として、前記更新演算において、前記繰り返し演算回路は、更新前の前記演算対象階調値から更新前の前記第２移動後制御点の前記第１座標軸の座標を減じた値を更新後の前記演算対象階調値として算出すると共に、（ａ）更新前の前記第１移動後制御点、前記第１移動後中点及び前記第３移動後中点を、それぞれ、更新後の前記第１移動後制御点、前記第２移動後制御点及び前記第３移動後制御点として決定する演算、
又は（ｂ）更新前の前記第２移動後制御点、前記第２移動後中点、及び前記第３移動後中点をそれぞれ、更新後の前記第１移動後制御点、前記第２移動後制御点及び前記第３移動後制御点の座標値として決定する演算のいずれかを、前記第３移動後中点の前記第１座標軸の座標値と更新後の前記演算対象階調値とを比較した結果に基づいて選択的に実行し、
前記繰り返し演算回路は、前記第２補正用制御点の前記第２座標軸の座標に、前記初段演算回路によって算出された前記第２移動後制御点の前記第２座標軸の座標及び前記更新演算のそれぞれによって得られる前記第２移動後制御点の前記第２座標軸の座標を加算して得られる値を前記出力値として得るように構成された
表示ドライバ。
【請求項８】
請求項３に記載の表示ドライバであって、
前記補正演算回路は、前記（ｎ＋１）個の前記補正用制御点を更新する更新演算を繰り返して行うことによって前記出力値を得る繰り返し演算回路を備えており、
前記（ｎ＋１）個の前記補正用制御点の隣接する２つの制御点の中点をｎ個の１次中点とし、（ｎ−ｋ＋１）個のｋ次中点（１≦ｋ≦ｎ−１）の隣接する２つの中点を（ｎ−ｋ）個の（ｋ＋１）次中点とし、前記（ｎ＋１）個の前記補正用制御点のうち前記第３座標が最小のものを最小制御点とし、前記（ｎ＋１）個の前記補正用制御点のうち前記第３座標が最大のものを最大制御点とし、前記ｋ次中点のうち前記第１座標軸の座標が最小のものを最小ｋ次中点とし、前記ｋ次中点のうち前記第１座標軸の座標が最大のものを最大ｋ次中点としたとき、前記更新演算では、更新前の前記最小制御点、前記最小１次中点乃至最小（ｎ−１）次中点、及び、前記ｎ次中点の座標値に対応して更新後の前記（ｎ＋１）個の補正用制御点の座標値を決定する第１演算、又は、更新前の前記最大制御点、前記最大１次中点乃至最大（ｎ−１）次中点、及び、前記ｎ次中点の座標値に対応して更新後の前記（ｎ＋１）個の前記補正用制御点を決定する第２演算の一方を、前記ｎ次中点の前記第１座標軸の座標値と前記入力階調値との比較の結果に応答して実行し、
前記補正演算回路は、所定回数の前記更新演算により得られた前記（ｎ＋１）個の補正用制御点のうちの少なくとも一の補正用制御点の前記第４座標から前記出力値を得るように構成された
表示ドライバ。
【請求項９】
各画素回路が発光素子を含む自発光表示パネルと、
前記自発光表示パネルを駆動する表示ドライバ
とを具備し、
前記表示ドライバが、
前記自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、
前記出力値に応じて前記自発光表示パネルの前記発光素子を駆動する駆動信号を生成する駆動回路部
とを含み、
前記補正回路部は、
前記入力階調値に対応する第１座標軸と前記出力値に対応する第２座標軸とで規定される座標系における、前記画面の輝度が特定輝度である場合の前記入力階調値と前記出力値との間の入出力特性を規定する特定輝度制御点の前記第１座標軸に沿った方向における位置を指定する第１座標と前記第２座標軸に沿った方向における位置を指定する第２座標とを記述する特定輝度制御点データを保持する特定輝度制御点データ保持回路と、
前記輝度データと前記入力階調値と前記特定輝度制御点データとに基づいて、前記輝度データに指定された前記画面の輝度について前記入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定する補正用制御点演算回路と、
前記補正用制御点によって規定される入出力特性で前記入力階調値から前記出力値を算出する補正演算回路
とを具備し、
前記補正用制御点演算回路は、前記補正用制御点の前記第１座標軸に沿った方向における位置を指定する第３座標を前記特定輝度制御点の前記第１座標と前記輝度データとに基づいて算出し、前記補正用制御点の前記第２座標軸に沿った方向における位置を指定する第４座標を前記特定輝度制御点の前記第２座標に基づいて決定する
表示装置。
【請求項１０】
請求項９に記載の表示ドライバであって、
前記補正用制御点演算回路は、前記輝度データと前記入力階調値とに基づいて前記特定輝度制御点のうちから選択制御点を選択し、前記補正用制御点の前記第３座標を前記選択制御点の前記第１座標と前記輝度データとに基づいて算出し、前記補正用制御点の前記第４座標を前記選択制御点の前記第２座標に一致するように決定する
表示装置。
【請求項１１】
請求項１０に記載の表示装置であって、
前記補正用制御点演算回路は、（ｎ＋１）個の前記補正用制御点を決定し（ｎは、２以上の整数）、
前記補正用制御点によって規定される前記入出力特性のカーブが、前記補正用制御点によって決定されるｎ次ベジェ曲線である
表示装置。
【請求項１２】
請求項１０又は１１に記載の表示装置であって、
前記補正用制御点演算回路は、前記補正用制御点の前記第３座標を、所定の係数Ａと前記選択制御点の前記第１座標との積として算出し、
前記係数Ａは、前記輝度データで指定された画面の輝度の前記特定輝度に対する比ｑ及び前記自発光表示パネルについて設定されたガンマ値γを用いて、下記式：
Ａ＝１／ｑ（１／γ）
に従って決定される
表示装置。
【請求項１３】
請求項１２に記載の表示装置であって、
前記特定輝度制御点は、第１〜第（ｐ×ｎ＋１）制御点を含み（ｐは、２以上の整数）、
前記第１〜第（ｐ×ｎ＋１）制御点のうちの第ｉ制御点の前記第１座標（ｉは、１以上（ｐ×ｎ）以下の整数）は、前記第（ｉ−１）制御点の前記第１座標よりも大きく、
前記第１制御点の前記第１座標は、前記入力階調値の許容最小値であり、
前記第（ｐ×ｎ＋１）制御点の前記第１座標は、前記入力階調値の許容最大値であり、
前記入力階調値に前記係数Ａの逆数１／Ａを乗じた値が、前記第（（ｋ−１）×ｎ＋１）制御点の前記第１座標より大きく前記第（ｋ×ｎ＋１）制御点の前記第１座標より小さい場合（ｋは１以上ｐ以下の整数）、前記補正用制御点演算回路は、前記第（（ｋ−１）×ｎ＋１）〜第（ｋ×ｎ＋１）制御点を前記選択制御点として選択する
表示装置。
【請求項１４】
各画素回路が発光素子を含むように構成された自発光表示パネルを駆動するための駆動方法であって、
前記自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出するステップと、
前記出力値に応じて前記自発光表示パネルの前記発光素子を駆動する駆動信号を生成するステップ
とを具備し、
前記出力値を算出するステップは、
前記入力階調値に対応する第１座標軸と前記出力値に対応する第２座標軸とで規定される座標系における、前記画面の輝度が特定輝度である場合の前記入力階調値と前記出力値との間の入出力特性を規定する特定輝度制御点の前記第１座標軸に沿った方向における位置を指定する第１座標と前記第２座標軸に沿った方向における位置を指定する第２座標とを記述する特定輝度制御点データを提供するステップと、
前記輝度データと前記入力階調値と前記特定輝度制御点データとに基づいて、前記輝度データに指定された前記画面の輝度について前記入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定するステップと、
前記補正用制御点によって規定される入出力特性で前記入力階調値から前記出力値を算出するステップ
とを含み、
前記補正用制御点を決定するステップでは、前記補正用制御点の前記第１座標軸に沿った方向における位置を指定する第３座標が、前記特定輝度制御点の前記第１座標と前記輝度データとに基づいて算出され、前記補正用制御点の前記第２座標軸に沿った方向における位置を指定する第４座標が、前記特定輝度制御点の前記第２座標に基づいて決定される
駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示ドライバ、表示装置及び駆動方法に関し、特に、ＯＬＥＤ（Organic Light Emitting Diode）表示パネルのような自発光表示パネルの駆動に好適に用いられる画像データの演算に関する。
【背景技術】
【０００２】
表示パネルを駆動する表示ドライバでは、一般に、表示パネルの特性に合わせたガンマ補正が行われる。ガンマ補正とは、画像データによって指定された階調値に対応した輝度で画像を正しく表示するために行われる画像データ処理である。表示パネルは、一般に、各副画素（Ｒ副画素、Ｇ副画素、Ｂ副画素）の輝度と当該副画素に供給される駆動信号（駆動電圧や駆動電流）の信号レベルとの対応が直線的ではない。例えば、液晶表示パネルの電圧−透過率曲線（Ｖ−Ｔカーブ）は、一般的に、直線ではない。従って、表示データによって指定された階調値に比例した信号レベルを有する駆動信号を供給しても、正しい輝度で画像を表示することはできない。ガンマ補正は、このような表示パネルにおいて、指定された階調値に対応する輝度で画像を表示するために行われる。
【０００３】
加えて、ＯＬＥＤ（Organic Light Emitting Diode）表示パネルのような自発光表示パネルを駆動する表示ドライバにおいては、ガンマ補正と同時に画面の輝度を制御する画像データ演算を行うことが望ましい。表示装置は、一般に、画面の輝度（即ち、表示される画像全体の輝度）を調節する機能を有することが求められる。例えば、ユーザが明るい画像の表示を希望する場合に、マニュアル操作によって画面の輝度を増大できる機能を表示装置が有していることが望ましい。液晶表示パネルのようなバックライトを有する表示デバイスについては、画面の輝度をバックライトの輝度によって調節可能なので、画面の輝度を制御する画像データ演算を行うことは必須ではない。一方、ＯＬＥＤ表示パネルのような自発光表示パネルの駆動においては、一般に、画面の輝度を制御のためには、各画素の各副画素に供給される駆動信号の信号レベルを制御することが必要である。よって、自発光表示パネルの駆動において画面の輝度を制御する場合、画像データに対して何らかの画像データ演算を行うことが必要である。
【０００４】
発明者は、自発光表示パネルを駆動する表示ドライバに、ガンマ補正と同時に画面の輝度を制御する演算を行うガンマ補正回路を搭載することを検討している。しかしながら、発明者の検討によれば、このようなガンマ補正回路には、回路規模の増大の問題や、表現可能な階調数の減少の問題が生じ得る。
【０００５】
なお、特開２０１１−１３３５７８号公報は、本発明に関連し得る技術を開示されている。特開２０１１−１３３５７８号公報は、ガンマ補正の入出力特性をベジェ曲線として表現しながらガンマ補正を行う技術を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１３３５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の目的の一つは、ガンマ補正と同時に画面の輝度を制御する画像データ演算を行うように構成されたガンマ補正回路の改良を提供することにある。本発明の他の目的及び新規の特徴は、以下の開示から当業者には理解されよう。
【課題を解決するための手段】
【０００８】
本発明の一の観点では、各画素回路が発光素子を含むように構成された自発光表示パネルを駆動するための表示ドライバが提供される。当該表示ドライバは、自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、出力値に応じて自発光表示パネルの発光素子を駆動する駆動信号を生成する駆動回路部とを具備する。補正回路部は、入力階調値に対応する第１座標軸と出力値に対応する第２座標軸とで規定される座標系における、画面の輝度が特定輝度である場合の入力階調値と出力値との間の入出力特性を規定する特定輝度制御点の第１座標軸に沿った方向における位置を指定する第１座標と第２座標軸に沿った方向における位置を指定する第２座標とを記述する特定輝度制御点データを保持する特定輝度制御点データ保持回路と、輝度データと入力階調値と特定輝度制御点データとに基づいて、輝度データに指定された画面の輝度について入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定する補正用制御点演算回路と、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出する補正演算回路とを含む。補正用制御点演算回路は、補正用制御点の第１座標軸に沿った方向における位置を指定する第３座標を特定輝度制御点の第１座標と輝度データとに基づいて算出し、補正用制御点の第２座標軸に沿った方向における位置を指定する第４座標を特定輝度制御点の第２座標に基づいて決定する。
【０００９】
本発明の他の観点では、表示装置が、各画素回路が発光素子を含むように構成された自発光表示パネルと、自発光表示パネルを駆動する表示ドライバとを具備する。表示ドライバは、自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、出力値に応じて自発光表示パネルの発光素子を駆動する駆動信号を生成する駆動回路部とを含む。補正回路部は、入力階調値に対応する第１座標軸と出力値に対応する第２座標軸とで規定される座標系における、画面の輝度が特定輝度である場合の入力階調値と出力値との間の入出力特性を規定する特定輝度制御点の第１座標軸に沿った方向における位置を指定する第１座標と第２座標軸に沿った方向における位置を指定する第２座標とを記述する特定輝度制御点データを保持する特定輝度制御点データ保持回路と、輝度データと入力階調値と特定輝度制御点データとに基づいて、輝度データに指定された画面の輝度について入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定する補正用制御点演算回路と、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出する補正演算回路とを具備する。補正用制御点演算回路は、補正用制御点の第１座標軸に沿った方向における位置を指定する第３座標を特定輝度制御点の第１座標と輝度データとに基づいて算出し、補正用制御点の第２座標軸に沿った方向における位置を指定する第４座標を特定輝度制御点の第２座標に基づいて決定する。
【００１０】
本発明の他の観点では、各画素回路が発光素子を含むように構成された自発光表示パネルを駆動するための駆動方法が提供される。当該駆動方法は、自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出するステップと、出力値に応じて自発光表示パネルの発光素子を駆動する駆動信号を生成するステップとを具備する。出力値を算出するステップは、入力階調値に対応する第１座標軸と出力値に対応する第２座標軸とで規定される座標系における、画面の輝度が特定輝度である場合の入力階調値と出力値との間の入出力特性を規定する特定輝度制御点の第１座標軸に沿った方向における位置を指定する第１座標と第２座標軸に沿った方向における位置を指定する第２座標とを記述する特定輝度制御点データを提供するステップと、輝度データと入力階調値と特定輝度制御点データとに基づいて、輝度データに指定された画面の輝度について入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定するステップと、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出するステップとを含む。補正用制御点を決定するステップでは、補正用制御点の第１座標軸に沿った方向における位置を指定する第３座標が、特定輝度制御点の第１座標と輝度データとに基づいて算出され、補正用制御点の第２座標軸に沿った方向における位置を指定する第４座標が、特定輝度制御点の第２座標に基づいて決定される。
【発明の効果】
【００１１】
本発明によれば、回路規模の増大と表現可能な階調数の減少を抑制しながらガンマ補正と同時に画面の輝度を制御する画像データ演算を行う技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】ガンマ補正において実現すべき各副画素の輝度と入力階調値との関係を、画面の各輝度について示すグラフである。
【図２】画面の各輝度についてのガンマ補正の理想的な入出力特性の一例を示すグラフである。
【図３】画面の輝度が最大輝度である場合のガンマ補正の入出力特性を実現する演算回路を設けると共に、当該演算回路に入力される入力階調値を画面の輝度に応じて調節するように構成されたガンマ補正回路の構成を示すブロック図である。
【図４】図３の構成のガンマ補正回路における表現可能な階調数の減少の問題を説明するためのグラフである。
【図５】一実施形態における表示装置の構成を示すブロック図である。
【図６】一実施形態における表示ドライバの構成を示すブロック図である。
【図７】最大輝度制御点データ及びそれによって決定されるガンマ補正の入出力特性を概念的に示すグラフである。
【図８】輝度データにより最大輝度以外の輝度が指定されている場合において出力値の算出に用いられる、ガンマ補正の入出力特性を示すグラフである。
【図９】一実施形態におけるガンマ補正回路の構成を示すブロック図である。
【図１０】図９のガンマ補正回路の動作を示すフローチャートである。
【図１１】一実施形態においてベジェ曲線演算回路において行われる演算のアルゴリズムを示す概念図である。
【図１２】ベジェ曲線演算回路において行われる演算の手順を示すフローチャートである。
【図１３】図１１、図１２に図示されている演算を行うベジェ曲線演算回路の構成の一例を示すブロック図である。
【図１４】図１３に図示されているベジェ曲線演算回路の各単位演算ユニットの構成を示す回路図である。
【図１５】他の実施形態においてベジェ曲線演算回路において行われる演算のアルゴリズムを示す概念図である。
【図１６】図１２に図示されている演算を行うベジェ曲線演算回路の構成の例を示すブロック図である。
【図１７】図１７に図示されているベジェ曲線演算回路の初段演算ユニット及び各単位演算ユニットの構成を示す回路図である。
【図１８】他の実施形態においてベジェ曲線演算回路において行われる演算のアルゴリズムを示す概念図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら実施形態を説明する。
【００１４】
上述されているように、自発光表示パネルを駆動する表示ドライバにおいては、ガンマ補正と同時に画面の輝度を制御する画像データ演算を行うことが望ましい。ここでいう自発光表示パネルとは、例えば、ＯＬＥＤ表示パネルのように、画素を構成する副画素を構成する画素回路が発光素子を含んでいる表示パネルのことである。最も典型的なＯＬＥＤ表示パネルの構成では、各画素は、Ｒ副画素、Ｇ副画素及びＢ副画素を含んでおり、Ｒ副画素、Ｇ副画素及びＢ副画素は、それぞれ、赤色、緑色及び青色を発光する発光素子を含んでいる。
【００１５】
図１は、理想的な場合にガンマ補正において実現すべき各副画素の輝度と入力階調値との関係、即ち、表示パネルの理想的なガンマ特性を、画面の各輝度について示すグラフである。「輝度１００％」は、画面の輝度が最大輝度である（１００％である）場合のガンマ特性を示すグラフであり、「輝度７５％」は、画面の輝度が最大輝度の７５％である場合のガンマ特性を示すグラフである。同様に、「輝度５０％」は、画面の輝度が最大輝度の５０％である場合のガンマ特性を示すグラフであり、「輝度２５％」は、画面の輝度が最大輝度の２５％である場合のガンマ特性を示すグラフである。図１においては、画面の輝度が最大（輝度１００％）であるときに、ある副画素に対応する入力階調値が最大値（図１では２５５）である場合の当該副画素の輝度が１．０であるとして規格化されている。例えば、画面の輝度が１００％である場合、ある副画素に対応する入力階調値が１８６であれば、当該副画素の理想的な輝度は０．５である。
【００１６】
ガンマ補正と同時に画面の輝度を制御する演算を行う場合、ガンマ補正の入出力特性を、画面の輝度に応じて変化することが望ましい。図２は、画面の各輝度についてのガンマ補正の理想的な入出力特性の一例を示すグラフである。なお、図２は、電圧プログラミングによってＯＬＥＤ表示パネルを駆動する場合に用いられる表示データを生成する場合における、各輝度についてのガンマ補正の入出力特性を示している。図２では、表示データの値（即ち、ガンマ補正の出力値）が１２ビットであり、且つ、表示データの値に比例した電圧で、ＯＬＥＤ表示パネルの各画素の各副画素がプログラミングされるものとして入出力特性のグラフが描かれている。例えば、出力値が“４０９５”である場合、５Ｖの電圧で対象の副画素がプログラミングされる。電圧プログラミングによってＯＬＥＤ表示パネルを駆動する場合、駆動電圧が低いほど輝度が大きくなることに留意されたい。
【００１７】
図２において留意すべきことは、表示デバイスのガンマ特性に起因して、ガンマ補正の入出力特性のカーブの形状が、画面の輝度に応じて異なるということである。例えば、入出力特性のカーブが折れ曲がる入力階調値は、輝度に応じて異なる。より具体的には、図２の例においては、輝度１００％に対応する入出力特性のカーブは、入力階調値“１７”及び“３４”において折れ曲がるが、輝度２５％に対応する入出力特性のカーブは、入力階調値“３０”及び“６６”で折れ曲がっている。
【００１８】
入出力特性のカーブの形状が画像の全体の輝度に応じて異なることは、ガンマ補正と同時に画像の全体の輝度を制御する演算を行うガンマ補正回路の回路規模を不所望に増大させるという問題を生じさせ得る。例えば、ガンマ補正と同時に画面の輝度を制御する演算を行う最も簡便な手法は、画面の各輝度について、入出力特性に対応するＬＵＴ（lookup table）を用意することである。しかしながら、ＬＵＴは回路規模が大きいので、ＬＵＴを画面の各輝度について用意すると、ガンマ補正回路の回路規模が増大してしまう。
【００１９】
ガンマ補正回路の回路規模の増大を防止するための一つの手法として、画面の輝度が最大輝度である場合のガンマ補正の入出力特性を実現する演算回路（例えば、ＬＵＴ）を設けると共に、当該演算回路に入力される入力階調値を画面の輝度に応じて調節することが考えられる。図３は、このような構成のガンマ補正回路１００の構成を示すブロック図である。なお、出願人は、図３のガンマ補正回路１００の構成が公知であることを自認するものではないことに留意されたい。
【００２０】
図３のガンマ補正回路１００は、入力階調値調節回路１０１と、最大輝度演算回路１０２とを備えている。入力階調値調節回路１０１は、ガンマ補正回路１００の入力階調値ＤＩＮ１と画面の輝度とに基づいて、最大輝度演算回路１０２に供給すべき入力階調値ＤＩＮ２を算出する。最大輝度演算回路１０２は、最大輝度（輝度１００％）についてのガンマ補正の入出力特性を実現する演算回路であり、入力階調値ＤＩＮ２を受け取ると、最大輝度（輝度１００％）についてのガンマ補正の入出力特性に従って入力階調値ＤＩＮ２に対応する出力値ＤＯＵＴを出力する。最大輝度演算回路１０２は、例えば、図２の「輝度１００％」のグラフとして規定された入出力関係に従って入力階調値ＤＩＮ２に対応する出力値ＤＯＵＴを出力する。このような動作は、例えば、最大輝度演算回路１０２としてＬＵＴを使用することで実現可能である。
【００２１】
ガンマ補正のガンマ値がγであり、画面の輝度が最大輝度のｑ倍（０≦ｑ＜１）である場合、ガンマ補正回路１００の入力階調値ＤＩＮ１と最大輝度演算回路１０２に与えるべき入力階調値ＤＩＮ２との間には、下記式（１ａ）が成立する。
【数１】
2018112710.tif 000003
【００２２】
式（１ａ）から下記式（１ｂ）が得られる：
【数２】
2018112710.tif 000004
【００２３】
例えば、表示パネルのガンマ値γが２．２であり、画面の輝度が最大輝度の０．５倍（輝度５０％）である場合、式（１ｂ）から下記式（１ｃ）が得られる。
【数３】
2018112710.tif 000005
式（１ｃ）は、ガンマ値γが２．２である場合、ガンマ補正回路１００の入力階調値ＤＩＮ１を（１８６／２５５）倍して得られる値を入力階調値ＤＩＮ２として最大輝度演算回路１０２に入力することにより、輝度５０％についてのガンマ補正の入出力特性を実現することができることを意味している。一般に、ガンマ値がγであり、画面の輝度が最大輝度のｑ倍である場合、ガンマ補正回路１００の入力階調値ＤＩＮ１のｑ１／γ倍の値を最大輝度演算回路１０２に入力することで、最大輝度のｑ倍である場合についてのガンマ補正を実現することができる。
【００２４】
しかしながら、このような手法は、表現可能な階調数を減少させるという問題を生じさせる。これは、図４に図示されているように、ガンマ補正回路１００の入力階調値ＤＩＮ１のｑ１／γ倍の入力階調値ＤＩＮ２を最大輝度演算回路１０２に入力する構成では、入力階調値ＤＩＮ２の許容される範囲が、入力階調値ＤＩＮ１の許容最大値ＤＩＮＭＡＸのｑ１／γ倍以下に制限されるからである。入力階調値ＤＩＮ１が８ビットであれば、入力階調値ＤＩＮ１の許容最大値ＤＩＮＭＡＸは、２５５（＝２８−１）である。例えば、画面の輝度が特定輝度の０．５倍（輝度５０％）である場合、ガンマ補正回路の入力階調値ＤＩＮ１を（１８６／２５５）倍して得られる入力階調値ＤＩＮ２が最大輝度演算回路１０２に入力される。しかしながら、最大輝度演算回路１０２に入力される入力階調値ＤＩＮ２の範囲は０から１８６に制限される。これは、表現可能な階調数が減少することを意味している。
【００２５】
以下に述べられる実施形態では、回路規模の増大を抑制すると共に、表現可能な階調数の減少の問題を回避するように構成されたガンマ補正回路、及び、その応用が提示される。
【００２６】
図５は、一実施形態の表示装置１０の構成を示すブロック図である。図５の表示装置１０は、ＯＬＥＤ表示パネル１と、表示ドライバ２とを備えるＯＬＥＤ表示装置として構成されている。
【００２７】
ＯＬＥＤ表示パネル１は、ゲート線４とデータ線５と画素回路６とゲートドライバ回路７とを備えている。画素回路６のそれぞれは、ゲート線４とデータ線５とが交差する位置に設けられており、赤、緑、青のいずれかの色を発光する発光素子を備えている。赤を発光する発光素子を備える画素回路６は、Ｒ副画素として用いられる。同様に、緑を発光する発光素子を備える画素回路６はＧ副画素として用いられ、青を発光する発光素子を備える画素回路６はＢ副画素として用いられる。ゲートドライバ回路７は、表示ドライバ２から受け取ったゲート制御信号ＳＯＵＴに応答してゲート線４を駆動する。本実施形態では、一対のゲートドライバ回路７が設けられており、一方のゲートドライバ回路７は、奇数番目のゲート線４を駆動し、他方のゲートドライバ回路７は、偶数番目のゲート線４を駆動する。
【００２８】
表示ドライバ２は、ホスト３から受け取った画像データＤＩＮ及び制御データＤＣＴＲＬに応じてＯＬＥＤ表示パネル１を駆動してＯＬＥＤ表示パネル１に画像を表示する。画像データＤＩＮは、ＯＬＥＤ表示パネル１の各画素の各副画素の階調値を記述している。制御データＤＣＴＲＬは、表示ドライバ２を制御するためのコマンド及びパラメータを含んでいる。ホスト３としては、例えば、アプリケーションプロセッサ、ＣＰＵ（central processing unit）、ＤＳＰ（digital signal processor）などが使用され得る。
【００２９】
図６は、一実施形態における表示ドライバ２の構成を示すブロック図である。表示ドライバ２は、インターフェース制御回路１１と、ガンマ補正回路１２と、ラッチ回路１３と、リニア階調電圧生成回路１４と、データ線駆動回路１５と、レジスタ１６とを備えている。
【００３０】
インターフェース制御回路１１は、下記の動作を行う。第１に、インターフェース制御回路１１は、ホスト３から受け取った画像データＤＩＮをガンマ補正回路１２に転送する。インターフェース制御回路１１は、更に、制御データＤＣＴＲＬに含まれている様々な制御パラメータをレジスタ１６に格納すると共に、制御データＤＣＴＲＬに含まれるコマンドに応答して表示ドライバ２の各回路を制御する。レジスタ１６に格納される制御パラメータは、ガンマ補正回路１２で行われるガンマ補正を制御するためのパラメータ、具体的には最大輝度制御点データＣＰ０〜ＣＰｍを含んでいる。最大輝度制御点データＣＰ０〜ＣＰｍの内容や技術的意義については、後に詳細に説明する。加えて、インターフェース制御回路１１は、ＯＬＥＤ表示パネル１に表示される画面の輝度（ＯＬＥＤ表示パネル１に表示される画像全体の輝度）を指定する輝度データＤＢＲＴをガンマ補正回路１２に供給する。一実施形態では、ホスト３から受け取った制御データＤＣＴＲＬが輝度データＤＢＲＴを含んでおり、インターフェース制御回路１１は、制御データＤＣＴＲＬに含まれる輝度データＤＢＲＴをガンマ補正回路１２に供給してもよい。
【００３１】
ガンマ補正回路１２は、インターフェース制御回路１１から受け取った画像データＤＩＮに対してガンマ補正を行ってＯＬＥＤ表示パネル１の駆動に用いられる表示データＤＯＵＴを生成する。上述の最大輝度制御点データＣＰ０〜ＣＰｍ及び輝度データＤＢＲＴは、ガンマ補正回路１２によって行われるガンマ補正において用いられる。ガンマ補正回路１２において行われるガンマ補正の詳細については後述する。なお、インターフェース制御回路１１から受け取った画像データＤＩＮそのものではなく、画像データＤＩＮに何らかのデジタル演算処理（例えば、スケーリング（拡大又は縮小）や色調整）を行って得られる画像データがガンマ補正回路１２に入力されてもよい。
【００３２】
ラッチ回路１３は、ガンマ補正回路１２から出力される表示データＤＯＵＴをラッチしてデータ線駆動回路１５に転送する。
【００３３】
リニア階調電圧生成回路１４は、表示データＤＯＵＴに記述されているデータ値がとり得る値のそれぞれに対応する一組の階調電圧を生成する。本実施形態では、リニア階調電圧生成回路１４は、隣接する階調電圧の電圧レベルの間隔が同一であるように一組の階調電圧を生成する。即ち、本実施形態では、表示データＤＯＵＴに記述されているデータ値とそれに対応する階調電圧の関係が線形的である。
【００３４】
データ線駆動回路１５は、表示データＤＯＵＴに記述されているデータ値に対応する階調電圧で各データ線５を駆動する。詳細には、データ線駆動回路１５は、リニア階調電圧生成回路１４から供給された階調電圧のうちから表示データＤＯＵＴのデータ値に対応する階調電圧を選択し、その階調電圧になるように各データ線５を駆動する。
【００３５】
続いて、ガンマ補正回路１２の動作について説明する。以下の説明においては、画像データＤＩＮとして、演算対象の副画素の入力階調値Ｘ＿ＩＮがガンマ補正回路１２の入力に与えられると、ガンマ補正回路１２が当該副画素に対応する表示データＤＯＵＴのるデータ値として出力値Ｙ＿ＯＵＴを出力するものとする。以下における本実施形態の説明では、入力階調値Ｘ＿ＩＮが８ビットデータであり、出力値Ｙ＿ＯＵＴが１２ビットデータであるとして説明を行う。
【００３６】
本実施形態では、ガンマ補正回路１２で行われるガンマ補正の入出力特性、即ち、入力階調値Ｘ＿ＩＮと出力値Ｙ＿ＯＵＴとの対応関係が、最大輝度制御点データＣＰ０〜ＣＰｍ及び輝度データＤＢＲＴによって制御される。最大輝度制御点データＣＰ０〜ＣＰｍは、画面の輝度が最大輝度である場合、即ち、輝度データＤＢＲＴにより最大輝度が指定されている場合のガンマ補正の入出力特性を指定する一組のデータである。
【００３７】
図７は、最大輝度制御点データＣＰ０〜ＣＰｍ及びそれによって決定される入出力特性のカーブを概念的に示すグラフである。最大輝度制御点データＣＰ０〜ＣＰｍは、Ｘ軸を入力階調値Ｘ＿ＩＮに対応する座標軸とし、Ｙ軸を出力値Ｙ＿ＯＵＴに対応する座標軸として規定されるＸＹ座標系において、画面の輝度が最大輝度である場合のガンマ補正の入出力特性を規定する制御点ＣＰ０〜ＣＰｍの座標を指定するデータである。なお、図７において、最大輝度制御点データＣＰｉ（ｉは、０以上ｍ以下の整数）によって座標が指定される制御点を、制御点ＣＰｉと記載し、制御点ＣＰｉの座標を、ＣＰｉ（ＸＣＰｉ，ＹＣＰｉ）と記載していることに留意されたい。ここで、ＸＣＰｉは、制御点ＣＰｉのＸ座標（即ち、Ｘ軸方向に沿った方向における位置を示す座標）であり、ＹＣＰｉは、制御点ＣＰｉのＹ座標（即ち、Ｙ軸方向に沿った方向における位置を示す座標）である。また、制御点ＣＰｉのＸ座標ＸＣＰｉは、下記の条件を満たしているものとする：
ＸＣＰ０＜ＸＣＰ１＜  …  ＜ＸＣＰｉ＜ＸＣＰ（ｉ＋１）＜  …  ＜ＸＣＰ（ｍ−１）＜ＸＣＰｍ
ただし、制御点ＣＰ０のＸ座標ＸＣＰ０は、入力階調値Ｘ＿ＩＮの許容最小値（即ち、０）であり、制御点ＣＰｍのＸ座標ＸＣＰｍは、入力階調値Ｘ＿ＩＮの許容最小値（即ち、２５５）である。
【００３８】
画面の輝度が最大輝度である場合（即ち、輝度データＤＢＲＴにより最大輝度が指定されている場合）、ガンマ補正回路１２は、制御点ＣＰ０〜ＣＰｍによって規定される曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出する。一実施形態では、ガンマ補正回路１２は、制御点ＣＰ０〜ＣＰｍによって規定されるベジェ曲線を用いて入力階調値Ｘ＿ＩＮに対応する出力値Ｙ＿ＯＵＴを算出してもよい。この場合、ガンマ補正回路１２は、当該ベジェ曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出する。
【００３９】
一例としては、ガンマ補正回路１２は、制御点ＣＰ０〜ＣＰｍによって規定される２次ベジェ曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出してもよい。２次ベジェ曲線は、３つの制御点によって決定可能であるから、２次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出する場合、ガンマ補正回路１２は、Ｘ座標が入力階調値Ｘ＿ＩＮに近い３つの制御点ＣＰ（２ｋ）〜ＣＰ（２（ｋ＋１））を制御点ＣＰ０〜ＣＰｍのうちから選択し、該３つの制御点ＣＰ（２ｋ）〜ＣＰ（２（ｋ＋１））で規定される２次ベジェ曲線上に位置し、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出してもよい。２次ベジェ曲線が出力値Ｙ＿ＯＵＴの算出に用いられる場合、（２ｐ＋１）個（ｐは、２以上の整数）の制御点ＣＰ０〜ＣＰｍが最大輝度制御点データＣＰ０〜ＣＰｍに規定される。即ち、ｍ＝２ｐである。
【００４０】
ただし、出力値Ｙ＿ＯＵＴの算出に用いられるベジェ曲線は、２次ベジェ曲線に限定されない。一般に、ｎ次ベジェ曲線は、（ｎ＋１）個の制御点で規定される。よって、ｎ次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出する場合、ガンマ補正回路１２は、Ｘ座標が入力階調値Ｘ＿ＩＮに近い（ｎ＋１）個の制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）を制御点ＣＰ０〜ＣＰｍのうちから選択し、該（ｎ＋１）個の制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）で規定されるｎ次ベジェ曲線上に位置し、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出してもよい。ｎ次ベジェ曲線が出力値Ｙ＿ＯＵＴの算出に用いられる場合、（（ｐ×ｎ）＋１）個（ｐは、２以上の整数）の制御点ＣＰ０〜ＣＰｍが最大輝度制御点データＣＰ０〜ＣＰｍに規定される。即ち、ｍ＝ｎ×ｐである。
【００４１】
一方、輝度データＤＢＲＴにより最大輝度以外の輝度が指定されている場合、図８に図示されているように、ガンマ補正回路１２は、当該指定された輝度である場合のガンマ補正の入出力特性が、制御点ＣＰ０〜ＣＰｍで規定される曲線をＸ軸方向にＡ倍に拡大して得られる曲線で表されるとして出力値Ｙ＿ＯＵＴを算出する。ここで、Ａは、輝度データＤＢＲＴによって指定されている輝度の最大輝度に対する比ｑに依存する係数である。なお、係数Ａを得るための式は、後述する。ガンマ補正回路１２は、制御点ＣＰ０〜ＣＰｍで規定される曲線をＸ軸方向にＡ倍に拡大して得られる曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出する。即ち、本実施形態では、画面の輝度が最大輝度である場合のガンマ補正回路１２の入出力特性が、下記式（２ａ）：
Ｙ＿ＯＵＴ＝ｆＭＡＸ（Ｘ＿ＩＮ）        ・・・（２ａ）
により表される場合に、画面の輝度が最大輝度のｑ倍である場合のガンマ補正回路１２の入出力特性が、下記式
Ｙ＿ＯＵＴ＝ｆＭＡＸ（Ｘ＿ＩＮ／Ａ）        ・・・（２ｂ）
で表されるものとして、出力値Ｙ＿ＯＵＴが算出される。
【００４２】
Ｙ＿ＯＵＴ＝ｆＭＡＸ（Ｘ＿ＩＮ／Ａ）で表される曲線は、制御点ＣＰ０〜ＣＰｍのＸ座標をＡ倍して得られる制御点ＣＰ０’〜ＣＰｍ’によって規定することができるから、画面の輝度が最大輝度のｑ倍である場合には、制御点ＣＰ０’〜ＣＰｍ’によって規定される曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴが算出される。ここで、制御点ＣＰ０’〜ＣＰｍ’は、ガンマ補正における演算において実際に用いられる制御点であり、よって、以下では、補正用制御点ＣＰ０’〜ＣＰｍ’と記載する。補正用制御点ＣＰｉ’の座標ＣＰｉ’（ＸＣＰｉ’，ＹＣＰｉ’）は、制御点ＣＰｉの座標ＣＰｉ（ＸＣＰｉ，ＹＣＰｉ）を用いて下記式（３ｂ）、（３ｃ）によって得られる。
ＸＣＰｉ’＝Ａ・ＸＣＰｉ・・・（３ｂ）
ＹＣＰｉ’＝ＹＣＰｉ    ・・・（３ｃ）
【００４３】
一例としては、ガンマ補正回路１２は、補正点制御点ＣＰ０’〜ＣＰｍ’によって規定される２次ベジェ曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として、出力値Ｙ＿ＯＵＴを算出してもよい。ただし、出力値Ｙ＿ＯＵＴの算出に用いられるベジェ曲線は、２次ベジェ曲線に限定されない。
【００４４】
上記のように、係数Ａは、輝度データＤＢＲＴによって指定されている輝度の最大輝度に対する比ｑに依存して決定される。表示装置１０のガンマ値がγである場合、係数Ａについて、下記式が成立する：
（Ｘ＿ＩＮ／Ａ）γ＝ｑ・（Ｘ＿ＩＮ）γ        ・・・（４ａ）
よって、Ａは、下記式（４ｂ）により決定可能である。
Ａ＝１／ｑ（１／γ）    ・・・（４ｂ）
【００４５】
例えば、ガンマ値γが２．２であり、ｑが０．５である場合（即ち、画面の輝度が最大輝度の０．５倍である場合）、Ａは、下記式（４ｃ）で得られる：
Ａ＝１／（０．５）１／２．２
＝２５５／１８６  ・・・（４ｃ）
即ち、画面の輝度が最大輝度の０．５倍（輝度５０％）である場合、制御点ＣＰ０〜ＣＰｍのＸ座標を２５５／１８６倍することで得られる制御点ＣＰ０’〜ＣＰｍ’で指定される曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として出力値Ｙ＿ＯＵＴが算出される。一般に、輝度データＤＢＲＴで指定されている画面の輝度が最大輝度のｑ倍である場合には、制御点ＣＰ０〜ＣＰｍのＸ座標を１／ｑ（１／γ）倍することで得られる制御点ＣＰ０’〜ＣＰｍ’で指定される曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として出力値Ｙ＿ＯＵＴが算出される。
【００４６】
続いて、上記の動作を実現するためのガンマ補正回路１２の具体的な構成の例を説明する。図９は、一実施形態におけるガンマ補正回路１２の構成を示すブロック図である。ガンマ補正回路１２は、最大輝度制御点データＣＰ０〜ＣＰｍを保持するレジスタ１６と共に、ガンマ補正を実行するための補正回路部を構成している。図９のガンマ補正回路１２は、ｎ次ベジェ曲線を用いて入力階調値Ｘ＿ＩＮから出力値Ｙ＿ＯＵＴを算出するように構成されている。この場合、ｍは、ｐ×ｎ（ｐは、２以上の整数）であり、最大輝度制御点データＣＰ０〜ＣＰｍによって（ｐ×ｎ＋１）個の制御点ＣＰ０〜ＣＰｍの座標が指定される。
【００４７】
ガンマ補正回路１２は、補正用制御点演算回路２１と、ベジェ曲線演算回路２２とを備えている。補正用制御点演算回路２１は、輝度データＤＢＲＴと、入力階調値Ｘ＿ＩＮと、レジスタ１６から受け取った最大輝度制御点データＣＰ０〜ＣＰｍとから、入力階調値Ｘ＿ＩＮに対応する出力値Ｙ＿ＯＵＴの算出に用いられる（ｎ＋１）個の補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’を決定する。ここで、ｋは、０以上ｐ−１以下の整数である。ベジェ曲線演算回路２２は、（ｎ＋１）個の補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’で規定されるｎ次ベジェ曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標を算出し、算出したＹ座標を出力値Ｙ＿ＯＵＴとして出力する。
【００４８】
補正用制御点演算回路２１は、乗算回路２３と、セレクタ２４と、乗算回路２５とを備えている。乗算回路２３とセレクタ２４は、入力階調値Ｘ＿ＩＮと輝度データＤＢＲＴに指定された画面の輝度と入力階調値Ｘ＿ＩＮとに基づいて制御点ＣＰ０〜ＣＰｍのうちから（ｎ＋１）個の制御点ＣＰｋ〜ＣＰ（ｋ＋ｎ）を選択する選択回路を構成している。詳細には、乗算回路２３は、入力階調値Ｘ＿ＩＮに係数Ａの逆数１／Ａ（即ち、ｑ（１／γ））を乗じて得られる値として制御点選択用階調値Ｐｉｘｅｌ＿ｉｎを算出する。ここで、ｑは、輝度データＤＢＲＴに指定された画面の輝度の最大輝度に対する比であり、係数Ａは、上述の式（４ｂ）で与えられることに留意されたい。セレクタ２４は、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎに基づいて、制御点ＣＰ０〜ＣＰｍのうちから（ｎ＋１）個の制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）を選択する。以下では、セレクタ２４で選択された制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）を選択制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）と記載する。乗算回路２５は、選択制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）のＸ座標ＸＣＰ（ｋ×ｎ）〜ＸＣＰ（（ｋ＋１）×ｎ）をＡ倍して、それぞれ、補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＸ座標ＸＣＰ（ｋ×ｎ）’〜ＸＣＰ（（ｋ＋１）×ｎ）’を算出する。補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＹ座標ＹＣＰ（ｋ×ｎ）’〜ＹＣＰ（（ｋ＋１）×ｎ）’としては、選択制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）のＹ座標ＹＣＰ（ｋ×ｎ）〜ＹＣＰ（（ｋ＋１）×ｎ）がそのまま用いられる。
【００４９】
図１０は、図９のガンマ補正回路１２の動作を示すフローチャートである。ある副画素（対象副画素）の階調を示す入力階調値Ｘ＿ＩＮがガンマ補正回路１２に入力されると、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが、入力階調値Ｘ＿ＩＮから乗算回路２３によって算出される（ステップＳ０１）。上述のように、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎは、入力階調値Ｘ＿ＩＮに係数Ａの逆数１／Ａ（即ち、ｑ（１／γ））を乗ずることで得られる。
【００５０】
更に、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎに基づいて、制御点ＣＰ０〜ＣＰｍのうちから（ｎ＋１）個の制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）が選択される（ステップＳ０２）。（ｎ＋１）個の制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）の選択は、セレクタ２４によって行われる。より具体的には、下記のようにして（ｎ＋１）個の制御点ＣＰｋ〜ＣＰ（ｋ＋ｎ）が選択される。
【００５１】
ｍ（＝ｐ×ｎ＋１）個の制御点ＣＰ０〜ＣＰｍのうち、制御点ＣＰ０、ＣＰｎ、ＣＰ（２ｎ）、・・・ＣＰ（ｐ×ｎ）は、ｎ次ベジェ曲線が通過する制御点である。他の制御点は、該ｎ次ベジェ曲線の形状を決めるが、当該ｎ次ベジェ曲線の上にあるとは限らない。セレクタ２４は、ｎ次ベジェ曲線が通過する制御点それぞれのＸ座標と制御点選択用階調値Ｐｉｘｅｌ＿ｉｎとを比較し、その比較の結果に応じて（ｎ＋１）個の制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）を選択する。
【００５２】
詳細には、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが、制御点ＣＰ０のＸ座標より大きく、制御点ＣＰｎのＸ座標より小さい場合、セレクタ２４は、制御点ＣＰ０〜ＣＰｎを選択する。また、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが、制御点ＣＰｎのＸ座標より大きく、制御点ＣＰ２ｎのＸ座標より小さい場合、セレクタ２４は、制御点ＣＰｎ〜ＣＰ（２ｎ）を選択する。一般に、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが、制御点ＣＰ（ｋ×ｎ）のＸ座標ＸＣＰ（（ｋ−１）×ｎ）より大きく、制御点ＣＰ（（ｋ＋１）×ｎ）のＸ座標ＸＣＰ（ｋ×ｎ）より小さい場合、セレクタ２４は、制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）を選択する（ｋは、０以上ｐ以下の整数）。
【００５３】
また、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが制御点ＣＰ（ｋ×ｎ）のＸ座標ＸＣＰ（ｋ×ｎ）に一致する場合、一実施形態では、セレクタ２４が、制御点ＣＰ（ｋ×ｎ）〜（（ｋ＋１）×ｎ）を選択する。この場合、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが制御点ＣＰ（ｐ×ｎ）に一致するときには、セレクタ２４は、制御点ＣＰ（（ｐ−１）×ｎ）〜ＣＰ（ｐ×ｎ）を選択する。
【００５４】
その代わりに、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが制御点ＣＰ（（ｋ＋１）×ｎ）のＸ座標ＸＣＰ（（ｋ＋１）×ｎ）に一致する場合に、セレクタ２４が制御点ＣＰ（ｋ×ｎ）〜（（ｋ＋１）×ｎ）を選択してもよい。この場合、制御点選択用階調値Ｐｉｘｅｌ＿ｉｎが制御点ＣＰ０に一致するときには、セレクタ２４は、制御点ＣＰ０〜ＣＰｎを選択する。
【００５５】
続いて、補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’が決定される（ステップＳ０３）。詳細には、補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＸ座標ＸＣＰ（ｋ×ｎ）’〜ＸＣＰ（（ｋ＋１）×ｎ）’は、乗算回路２５により、選択制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）のＸ座標ＸＣＰ（ｋ×ｎ）〜ＸＣＰ（（ｋ＋１）×ｎ）と係数Ａとの積として算出される。即ち、乗算回路２５は、下記式（５ａ）：
ＸＣＰ（ｋ×ｎ）’＝Ａ・ＸＣＰ（ｋ×ｎ）
ＸＣＰ(（ｋ×ｎ）＋１)’＝Ａ・ＸＣＰ（（ｋ×ｎ）＋１）
・・・
ＸＣＰ（（ｋ＋１）×ｎ）’＝Ａ・ＸＣＰ（（ｋ＋１）×ｎ）      ・・・（５ａ）
に従って、補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＸ座標ＸＣＰ（ｋ×ｎ）’〜ＸＣＰ（（ｋ＋１）×ｎ）’を算出する。
【００５６】
補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＹ座標ＹＣＰ（ｋ×ｎ）’〜ＹＣＰ（（ｋ＋１）×ｎ）’は、それぞれ、選択制御点ＣＰ（ｋ×ｎ）〜ＣＰ（（ｋ＋１）×ｎ）のＹ座標ＹＣＰ（ｋ×ｎ）〜ＹＣＰ（（ｋ＋１）×ｎ）と同一に決定される。即ち、補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＹ座標ＹＣＰ（ｋ×ｎ）’〜ＹＣＰ（（ｋ＋１）×ｎ）’は、下記式（５ｂ）：
ＹＣＰ（ｋ×ｎ）’＝ＹＣＰ（ｋ×ｎ）
ＹＣＰ（（ｋ×ｎ）＋１）’＝ＹＣＰ（（ｋ×ｎ）＋１）
・・・
ＹＣＰ（（ｋ＋１）×ｎ）’＝ＹＣＰ（（ｋ＋１）×ｎ）      ・・・（５ｂ）
で表される。
【００５７】
このようにして決定された補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’のＸ座標、Ｙ座標が、ベジェ曲線演算回路２２に供給され、ベジェ曲線演算回路２２により、入力階調値Ｘ＿ＩＮに対応する出力値Ｙ＿ＯＵＴが算出される（ステップＳ０４）。出力値Ｙ＿ＯＵＴは、（ｎ＋１）個の補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’で規定されるｎ次ベジェ曲線上に位置し、且つ、Ｘ座標が入力階調値Ｘ＿ＩＮである点のＹ座標として算出される。
【００５８】
上記の実施形態では、画面の輝度が最大輝度である場合（即ち、輝度データＤＢＲＴにより最大輝度が指定されている場合）のガンマ補正の入出力特性を指定する制御点の座標を示す最大輝度制御点データＣＰ０〜ＣＰｍが、ガンマ補正回路１２に与えられる構成が記載されているが、一般に、最大輝度制御点データＣＰ０〜ＣＰｍの代わりに、画面の輝度が特定輝度である場合（即ち、輝度データＤＢＲＴにより該特定輝度が指定されている場合）のガンマ補正の入出力特性を指定する制御点の座標を示す制御点データが用いられてもよい。この場合にも、係数Ａを算出する式（４ｂ）に含まれるパラメータｑとして、輝度データＤＢＲＴにより指定されている輝度の、該特定輝度に対する比を用いることで、（ｎ＋１）個の補正用制御点ＣＰ（ｋ×ｎ）’〜ＣＰ（（ｋ＋１）×ｎ）’を算出することができる。
【００５９】
出力値Ｙ＿ＯＵＴの算出に使用されるベジェ曲線の次数は特に限定されず、必要とする精度に応じた次数が選択され得る。ただし、２次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出することは、ベジェ曲線演算回路２２の構成を簡略にしながら正確な出力値Ｙ＿ＯＵＴを算出することができる点で好適である。以下では、２次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出する場合のベジェ曲線演算回路２２の好適な構成及び動作について説明する。ここで、２次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出する場合には、３つの補正用制御点ＣＰ（２ｋ）’、ＣＰ（２ｋ＋１）’、ＣＰ（２ｋ＋２）’のＸ座標、Ｙ座標がベジェ曲線演算回路２２の入力として与えられることに留意されたい。
【００６０】
以下では、まず、ベジェ曲線演算回路２２において行われる演算のアルゴリズムについて説明する。図１１は、一実施形態において、ベジェ曲線演算回路２２において行われる演算のアルゴリズムを示す概念図であり、図１２は、当該演算の手順を示すフローチャートである。
【００６１】
図１２に図示されているように、初期設定として、３つの補正用制御点ＣＰ（２ｋ）’〜ＣＰ（２ｋ＋２）’が、ベジェ曲線演算回路２２に設定される（ステップＳ１１）。なお、記載を簡潔にするために、以下では、ベジェ曲線演算回路２２に設定される補正用制御点ＣＰ（２ｋ）’、ＣＰ（２ｋ＋１）、ＣＰ（２ｋ＋２）’を、それぞれ、制御点Ａ０、Ｂ０、Ｃ０と記載する。即ち、図１１を参照して、制御点Ａ０、Ｂ０、Ｃ０の座標Ａ０（ＡＸ０、ＡＹ０）、Ｂ０（ＢＸ０、ＢＹ０）、Ｃ０（ＣＸ０、ＣＹ０）は、それぞれ、次のように表わされる：
Ａ０（ＡＸ０、ＡＹ０）＝（ＸＣＰ（２ｋ）’，ＹＣＰ（２ｋ）’）
Ｂ０（ＢＸ０、ＢＹ０）＝（ＸＣＰ（２ｋ＋１）’，ＹＣＰ（２ｋ＋１）’）
Ｃ０（ＣＸ０、ＣＹ０）＝（ＸＣＰ（２ｋ＋２）’），ＹＣＰ（２ｋ＋２’）
【００６２】
出力値Ｙ＿ＯＵＴは、以下に述べられるように、中点を求める演算を繰り返すことによって算出される。この繰り返し演算の１単位を、以下では、中点演算と呼ぶことにする。また、３つの制御点の隣接する２つの制御点の中点を１次中点と呼び、該２つの１次中点の中点を２次中点と呼ぶことがある。
【００６３】
最初の中点演算（１回目の中点演算）では、初期的に与えられる制御点Ａ０、Ｂ０、Ｃ０（即ち、３つの補正用制御点ＣＰ（２ｋ）’、ＣＰ（２ｋ＋１）’、ＣＰ（２ｋ＋２）’）に関し、制御点Ａ０と制御点Ｂ０の中点である１次中点ｄ０と、制御点Ｂ０と制御点Ｃ０の中点である１次中点ｅ０とが求められ、更に、１次中点ｄ０と１次中点ｅ０の中点である２次中点ｆ０が求められる。２次中点ｆ０は、３つの制御点Ａ０、Ｂ０、Ｃ０で規定される２次ベジェ曲線上の点である。このとき、２次中点ｆ０の座標（Ｘｆ０、Ｙｆ０）は、下記式（６ａ）、（６ｂ）で表わされる：
Ｘｆ０＝（ＡＸ０＋２ＢＸ０＋ＣＸ０）／４        ・・・（６ａ）
Ｙｆ０＝（ＡＹ０＋２ＢＹ０＋ＣＹ０）／４        ・・・（６ｂ）
【００６４】
次の中点演算（２回目の中点演算）に使用される３つの制御点：制御点Ａ１、Ｂ１、Ｃ１は、制御点Ａ０、１次中点ｄ０、２次中点ｆ０、１次中点ｅ０、制御点Ｂ０のうちから、入力階調値Ｘ＿ＩＮと２次中点ｆ０のＸ座標Ｘｆ０との比較の結果に応じて選択される。詳細には、下記のようにして制御点Ａ１、Ｂ１、Ｃ１が選択される：
（Ａ）Ｘｆ０≧Ｘ＿ＩＮの場合
この場合、Ｘ座標が小さい３点（左側の３点）：制御点Ａ０、１次中点ｄ０、２次中点ｆ０が、制御点Ａ１、Ｂ１、Ｃ１として選択される。即ち、
Ａ１＝Ａ０，Ｂ１＝ｄ０，Ｃ１＝ｆ０．      ・・・（７ａ）
（Ｂ）Ｘｆ０＜Ｘ＿ＩＮの場合
この場合、Ｘ座標が大きい３点（右側の３点）：２次中点ｆ０、１次中点ｅ０、制御点Ｃ０が、制御点Ａ１、Ｂ１、Ｃ１として選択される。即ち、
Ａ１＝ｆ０，Ｂ１＝ｅ０，Ｃ１＝Ｃ０．      ・・・（７ｂ）
【００６５】
同様の手順により、２回目の中点演算が行われる。制御点Ａ１、Ｂ１、Ｃ１に関し、制御点Ａ１と制御点Ｂ１の１次中点ｄ１と、制御点Ｂ１と制御点Ｃ１の１次中点ｅ１とが求められ、更に、１次中点ｄ１と１次中点ｅ１の２次中点ｆ１が求められる。２次中点ｆ１は、所望の２次ベジェ曲線上の点である。更に、次の中点演算（３回目の中点演算）に使用される３つの制御点：制御点Ａ２、Ｂ２、Ｃ２、が制御点Ａ１、１次中点ｄ１、２次中点ｆ１、１次中点ｅ１、制御点Ｂ１のうちから、入力階調値Ｘ＿ＩＮと２次中点ｆ１のＸ座標Ｘｆ１との比較の結果に応じて選択される。
【００６６】
結局、図１２に示されているように、ｉ回目の中点演算では、下記のような演算が行われることになる（ステップＳ１２〜Ｓ１４）：
（Ａ）（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４≧Ｘ＿ＩＮの場合
ＡＸｉ＝ＡＸｉ−１，・・・（８ａ）
ＢＸｉ＝（ＡＸｉ−１＋ＢＸｉ−１）／２，  ・・・（９ａ）
ＣＸｉ＝（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４，・・・（１０ａ）
ＡＹｉ＝ＡＹｉ−１，・・・（１１ａ）
ＢＹｉ＝（ＡＹｉ−１＋ＢＹｉ−１）／２，  ・・・（１２ａ）
ＣＹｉ＝（ＡＹｉ−１＋２ＢＹｉ−１＋ＣＹｉ−１）／４．・・・（１３ａ）
（Ｂ）（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４＜Ｘ＿ＩＮの場合
ＡＸｉ＝（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４，・・・（８ｂ）
ＢＸｉ＝（ＢＸｉ−１＋ＣＸｉ−１）／２，  ・・・（９ｂ）
ＣＸｉ＝ＣＸｉ−１，・・・（１０ｂ）
ＡＹｉ＝（ＡＹｉ−１＋２ＢＹｉ−１＋ＣＹｉ−１）／４，・・・（１１ｂ）
ＢＹｉ＝（ＢＹｉ−１＋ＣＹｉ−１）／２，  ・・・（１２ｂ）
ＣＹｉ＝ＣＹｉ−１，・・・（１３ｂ）
【００６７】
なお、条件（Ａ）、（Ｂ）に関して等号が条件（Ａ）、（Ｂ）のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。
【００６８】
以下、同様の手順により、所望の回数だけ中点演算が繰り返される（ステップＳ１５）。
【００６９】
中点演算が行われる毎に、制御点Ａｉ、Ｂｉ、Ｃｉが２次ベジェ曲線に近づいていくと共に、制御点Ａｉ、Ｂｉ、ＣｉのＸ座標が入力階調値Ｘ＿ＩＮに近づいていく。Ｎ回目の中点演算によって得られた制御点ＡＮ、ＢＮ、ＣＮの少なくとも一つのＹ座標から、最終的に算出すべき出力値Ｙ＿ＯＵＴの値が得られる。例えば、制御点ＡＮ、ＢＮ、ＣＮのうちから任意に選択された一点のＹ座標が、出力値Ｙ＿ＯＵＴとして選ばれてもよい。また、制御点ＡＮ、ＢＮ、ＣＮのＹ座標の平均値が出力値Ｙ＿ＯＵＴとして選ばれてもよい。
【００７０】
中点演算が行われる回数Ｎが比較的少ない範囲では、中点演算が行われる回数Ｎが多いほど、出力値Ｙ＿ＯＵＴの精度を向上させることができる。ただし、出力値Ｙ＿ＯＵＴの精度は、中点演算が行われる回数Ｎが出力値Ｙ＿ＯＵＴのビット数に到達すると、それ以上は向上しない。したがって、中点演算が行われる回数Ｎは、出力値Ｙ＿ＯＵＴのビット数に一致することが好ましい。例えば、出力値Ｙ＿ＯＵＴが１２ビットデータである本実施形態では、中点演算が行われる回数Ｎは、１２であることが好ましい。
【００７１】
上記のように、出力値Ｙ＿ＯＵＴの算出は、中点演算の繰り返しによって行われるので、ベジェ曲線演算回路２２は、直列に接続された、それぞれが中点演算を行うように構成された複数の演算回路として構成され得る。図１３は、このように構成されたベジェ曲線演算回路２２の構成の一例を示すブロック図である。
【００７２】
ベジェ曲線演算回路２２は、Ｎ個の単位演算ユニット３０１〜３０Ｎと、出力段４０とを備えている。単位演算ユニット３０１〜３０Ｎのそれぞれは、上記の中点演算を行うように構成されている。即ち、単位演算ユニット３０ｉは（ｉは、１以上Ｎ以下の整数）、制御点Ａｉ−１、Ｂｉ−１、Ｃｉ−１のＸ座標、Ｙ座標から、式（８ａ）〜（１３ａ）、（８ｂ）〜（１３ｂ）の演算により、制御点Ａｉ、Ｂｉ、ＣｉのＸ座標、Ｙ座標を算出するように構成されている。出力段４０は、単位演算ユニット３０Ｎから出力される制御点ＡＮ、ＢＮ、ＣＮのうちの少なくとも一つの制御点のＹ座標（即ち、ＡＹＮ、ＢＹＮ及びＣＹＮのうちの少なくとも一）に基づいて出力値Ｙ＿ＯＵＴを出力する。出力段４０は、制御点ＡＮ、ＢＮ、ＣＮのうちの一の制御点のＹ座標を出力値Ｙ＿ＯＵＴとして出力してもよい。
【００７３】
図１４は、各単位演算ユニット３０ｉの構成を示す回路図である。各単位演算ユニット３０は、加算器３１〜３３と、セレクタ３４〜３６と、比較器３７と、加算器４１〜４３と、セレクタ４４〜４６とを備えている。加算器３１〜３３と、セレクタ３４〜３６は、制御点Ａｉ−１、Ｂｉ−１、Ｃｉ−１のＸ座標について演算を行い、加算器４１〜４３と、セレクタ４４〜４６とは、制御点Ａｉ−１、Ｂｉ−１、Ｃｉ−１のＹ座標について演算を行う。
【００７４】
各単位演算ユニット３０ｉは、７つの入力端を有しており、そのうちの一つには入力階調値が入力され、他の６つには、制御点Ａｉ−１、Ｂｉ−１、Ｃｉ−１のＸ座標ＡＸｉ−１、ＢＸｉ−１、ＣＸｉ−１、及び、Ｙ座標ＡＹｉ−１、ＢＹｉ−１、ＣＹｉ−１が供給される。加算器３１は、その第１入力がＡＸｉ−１が供給される入力端に接続され、第２入力がＢＸｉ−１が供給される入力端に接続される。加算器３２は、その第１入力がＢＸｉ−１が供給される入力端に接続され、第２入力がＣＸｉ−１が供給される入力端に接続される。加算器３３は、その第１入力が加算器３１の出力に接続され、第２入力が加算器３２の出力に接続される。
【００７５】
同様に、加算器４１は、その第１入力がＡＹｉ−１が供給される入力端に接続され、第２入力がＢＹｉ−１が供給される入力端に接続される。加算器４２は、その第１入力がＢＹｉ−１が供給される入力端に接続され、第２入力がＣＹｉ−１が供給される入力端に接続される。加算器４３は、その第１入力が加算器４１の出力に接続され、第２入力が加算器４２の出力に接続される。
【００７６】
比較器３７は、その第１入力に入力階調値Ｘ＿ＩＮが供給され、第２入力が加算器３３の出力に接続されている。
【００７７】
セレクタ３４は、第１入力がＡＸｉ−１が供給される入力端に接続され、第２入力が加算器３３の出力に接続され、比較器３７の出力値に応答して第１入力と第２入力のいずれかを選択する。セレクタ３４の出力は、ＡＸｉを出力する出力端に接続されている。同様に、セレクタ３５は、第１入力が加算器３１の出力に接続され、第２入力が加算器３２の出力に接続され、比較器３７の出力値に応答して第１入力と第２入力のいずれかを選択する。セレクタ３５の出力は、ＢＸｉを出力する出力端に接続されている。また、セレクタ３６は、第１入力が加算器３３の出力に接続され、第２入力がＣＸｉ−１が供給される入力端に接続され、比較器３７の出力値に応答して第１入力と第２入力のいずれかを選択する。セレクタ３６の出力は、ＣＸｉを出力する出力端に接続されている。
【００７８】
セレクタ４４〜４６についても同様である。セレクタ４４は、第１入力がＡＹｉ−１が供給される入力端に接続され、第２入力が加算器４３の出力に接続され、比較器３７の出力値に応答して第１入力と第２入力のいずれかを選択する。セレクタ４４の出力は、ＡＹｉを出力する出力端に接続されている。同様に、セレクタ４５は、第１入力が加算器４１の出力に接続され、第２入力が加算器４２の出力に接続され、比較器３７の出力値に応答して第１入力と第２入力のいずれかを選択する。セレクタ４５の出力は、ＢＹｉを出力する出力端に接続されている。また、セレクタ４６は、第１入力が加算器４３の出力に接続され、第２入力がＣＹｉ−１が供給される入力端に接続され、比較器３７の出力値に応答して第１入力と第２入力のいずれかを選択する。セレクタ４６の出力は、ＣＹｉを出力する出力端に接続されている。
【００７９】
このような構成の単位演算ユニット３０ｉにおいて、加算器３１は上記の式（９ａ）の演算を行い、加算器３２は、式（９ｂ）の演算を行い、更に、加算器３３は、加算器３１、３２の出力値を用いて式（１０ａ）、（８ｂ）の演算を行う。同様に、加算器４１は上記の式（１２ａ）の演算を行い、加算器４２は、式（１２ｂ）の演算を行い、更に、加算器４３は、加算器４１、４２の出力値を用いて式（１３ａ）、（１１ｂ）の演算を行う。比較器３７は、加算器３３の出力値と入力階調値Ｘ＿ＩＮとを比較し、セレクタ３４〜３６、４４〜４６のそれぞれが２つの入力値のいずれを出力値として出力するかを指示する。入力階調値Ｘ＿ＩＮが（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４よりも小さい場合には、セレクタ３４がＡＸｉ−１を選択し、セレクタ３５が加算器３１の出力値を選択し、セレクタ３６が加算器３３の出力値を選択し、セレクタ４４がＡＹｉ−１を選択し、セレクタ４５が加算器４１の出力値を選択し、セレクタ４６が加算器４３の出力値を選択する。一方、入力階調値Ｘ＿ＩＮが（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４よりも大きい場合には、セレクタ３４が加算器３３の出力値を選択し、セレクタ３５が加算器３２の出力値を選択し、セレクタ３６がＣＸｉ−１を選択し、セレクタ４４が加算器４３の出力値を選択し、セレクタ４５が加算器４２の出力値を選択し、セレクタ４６がＣＹｉ−１を選択する。セレクタ３４〜３６、４４〜４６によって選択された値が、それぞれ、ＡＸｉ、ＢＸｉ、ＣＸｉ、ＡＹｉ、ＢＹｉ、ＣＹｉとして、次段の単位演算ユニット３０に供給される。
【００８０】
ここで、式（８ａ）〜（１３ａ）、（８ｂ）〜（１３ｂ）に含まれている除算は、下位ビットを切り捨てることによって実現可能であることに留意されたい。最も簡便には、加算器３１〜３３、４１〜４３の出力において、下位ビットを切り捨てれば所望の演算を実現できる。この場合、加算器３１〜３３、４１〜４３の出力端において１ビットを切り捨てればよい。ただし、下位ビットの切り捨てを行う回路上の場所は、式（８ａ）〜（１３ａ）、（８ｂ）〜（１３ｂ）と等価な演算が行われる限り、適宜に変更可能である。例えば、加算器３１〜３３、加算器４１〜４３の入力において下位ビットの切り捨てが行われてもよいし、また、比較器３７、セレクタ３４〜３６、４４〜４６の入力において下位ビットの切り捨てが行われてもよい。
【００８１】
このように構成された単位演算ユニット３０１〜３０Ｎの最終段の単位演算ユニット３０Ｎから出力されるＡＹＮ、ＢＹＮ、ＣＹＮの少なくともいずれか一つから、最終的に算出すべき出力値Ｙ＿ＯＵＴの値が得られる。
【００８２】
図１５は、出力値Ｙ＿ＯＵＴの算出に２次ベジェ曲線を用いる場合において、出力値Ｙ＿ＯＵＴを算出するアルゴリズムの改良を示す概念図である。図１５に図示されているアルゴリズムでは、第１に、ｉ回目の中点演算において、制御点Ａｉ−１、Ｂｉ−１，Ｃｉ−１を制御点Ｂｉ−１が原点になるように平行移動した後に１次中点ｄｉ−１、１次中点ｅｉ−１、２次中点ｆｉ−１が演算される。第２に、２次中点ｆｉ−１が第ｉ＋１回目の中点演算に使用される制御点Ｃｉとして常に選択される。このような平行移動／中点演算を繰り返し行うことにより、演算器の数を低減し、また、各演算器において処理される値のビット数を低減することができる。以下、図１４のアルゴリズムを詳細に説明する。
【００８３】
１回目の平行移動／中点演算では、まず、制御点Ａ０、Ｂ０、Ｃ０が、移動後に制御点Ｂ０が原点になるように平行移動される。平行移動後の制御点Ａ０、Ｂ０、Ｃ０をそれぞれ、制御点Ａ０’、Ｂ０’、Ｃ０’と表記する。制御点Ｂ０’は、原点に一致する。このとき、制御点Ａ０’、制御点Ｃ０’の座標は、次のように表わされる：
Ａ０’（ＡＸ０’，ＡＹ０’）＝（ＡＸ０−ＢＸ０，ＡＹ０−ＢＹ０）
Ｃ０’（ＣＸ０’，ＣＹ０’）＝（ＣＸ０−ＢＸ０，ＣＹ０−ＢＹ０）．
【００８４】
同時に、演算対象階調値Ｘ＿ＩＮ０から、Ｘ軸方向の平行移動量ＢＸ０が減じられて演算対象階調値Ｘ＿ＩＮ１が算出される。
【００８５】
続いて、制御点Ａ０’と制御点Ｂ０’の１次中点ｄ０’と、制御点Ｂ０’と制御点Ｃ０’の１次中点ｅ０’とが求められ、更に、１次中点ｄ０’と１次中点ｅ０’の２次中点ｆ０’が求められる。２次中点ｆ０’は、制御点Ｂｉが原点になるように平行移動した後の２次ベジェ曲線（即ち、３つの制御点Ａ０’、Ｂ０’、Ｃ０’で規定される２次ベジェ曲線）上の点である。
【００８６】
このとき、２次中点ｆ０’の座標（Ｘｆ０’、Ｙｆ０’）は、下記式で表わされる：
【数４】
2018112710.tif 000006
【００８７】
次の平行移動／中点演算（２回目の平行移動／中点演算）に使用される３つの制御点：制御点Ａ１、Ｂ１、Ｃ１は、制御点Ａ０’、１次中点ｄ０’、２次中点ｆ０’、１次中点ｅ０’、制御点Ｃ０’のうちから、演算対象階調値Ｘ＿ＩＮ１と２次中点ｆ０’のＸ座標値Ｘｆ０’との比較の結果に応じて選択される。このとき、２次中点ｆ０’が制御点Ｃ１として常に選択される一方、制御点Ａ１、Ｂ１は、次のようにして選択される。
（Ａ）Ｘｆ０’≧Ｘ＿ＩＮ１の場合
この場合、Ｘ座標値が小さい２点（左側の２点）：制御点Ａ０’、１次中点ｄ０’が、それぞれ、制御点Ａ１、Ｂ１として選択される。即ち、
Ａ１＝Ａ０’，Ｂ１＝ｄ０’，Ｃ１＝ｆ０’．      ・・・（１５ａ）
（Ｂ）Ｘｆ０＜Ｘ＿ＩＮ１の場合
この場合、Ｘ座標値が大きい２点（右側の２点）：制御点Ｃ０’、１次中点ｅ０’が、それぞれ、制御点Ａ１、Ｂ１として選択される。即ち、
Ａ１＝Ｃ０’，Ｂ１＝ｅ０’，Ｃ１＝ｆ０’．      ・・・（１５ｂ）
【００８８】
結局、１回目の平行移動／中点演算では、下記のような演算が行われることになる：
Ｘ＿ＩＮ１＝Ｘ＿ＩＮ０−ＢＸ０，        ・・・（１６）
Ｘｆ０’＝（ＡＸ０−２ＢＸ０＋ＣＸ０）／４，・・・（１７）
（Ａ）Ｘｆ０’≧Ｘ＿ＩＮ１の場合
ＡＸ１＝ＡＸ０−ＢＸ０，      ・・・（１７ａ）
ＢＸ１＝（ＡＸ０−ＢＸ０）／２，        ・・・（１８ａ）
ＣＸ１＝Ｘｆ０’
＝（ＡＸ０−２ＢＸ０＋ＣＸ０）／４，・・・（１９）
ＡＹ１＝ＡＹ０−ＢＹ０，    ・・・（２０ａ）
ＢＹ１＝（ＡＹ０−ＢＹ０）／２，      ・・・（２１ａ）
ＣＹ１＝Ｙｆ０’
＝（ＡＹ０−２ＢＹ０＋ＣＹ０）／４．      ・・・（２２）
（Ｂ）Ｘｆ０’＜Ｘ＿ＩＮの場合
ＡＸ１＝ＣＸ０−ＢＸ０，・・・（１７ｂ）
ＢＸ１＝（ＣＸ０−ＢＸ０）／２，  ・・・（１８ｂ）
ＣＸ１＝（ＡＹ０−２ＢＹ０＋ＣＹ０）／４，・・・（１９）
ＡＹ１＝ＣＹ０−ＢＹ０，      ・・・（２０ｂ）
ＢＹ１＝（ＣＹ０−ＢＹ０）／２，        ・・・（２１ｂ）
ＣＹ１＝（ＡＹ０−２ＢＹ０＋ＣＹ０）／４．・・・（２２）
【００８９】
なお、条件（Ａ）、（Ｂ）に関して等号が条件（Ａ）、（Ｂ）のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。
【００９０】
ここで、式（１７ａ）、（１８ａ）、（１７ｂ）、（１８ｂ）から理解できるように、（Ａ）、（Ｂ）のいずれの場合にも
ＡＸ１＝２ＢＸ１，        ・・・（２３）
ＡＹ１＝２ＢＹ１，        ・・・（２４）
という関係が成立する。これは、上記の演算を実装する際には、制御点Ａ１、Ｂ１の座標を重複して計算し、又は記憶する必要がないことを意味している。このことは、図１５に図示されているように、制御点Ｂ１が制御点Ａ１と原点Ｏの中点に位置することからも理解されよう。以下では、制御点Ｂ１の座標が計算される実施形態を説明するが、制御点Ａ１の座標を計算する演算でも実質的に等価である。
【００９１】
２回目の平行移動／中点演算でも、同様の演算が行われる。まず、制御点Ａ１、Ｂ１、Ｃ１が、移動後に制御点Ｂ１が原点になるように平行移動される。平行移動後の制御点Ａ１、Ｂ１、Ｃ１をそれぞれ、制御点Ａ１’、Ｂ１’、Ｃ１’と表記する。同時に、演算対象階調値Ｘ＿ＩＮ１から、Ｘ軸方向の平行移動量ＢＸ１が減じられて演算対象階調値Ｘ＿ＩＮ２が算出される。続いて、制御点Ａ１’と制御点Ｂ１’の１次中点ｄ１’と、制御点Ｂ１’と制御点Ｃ１’の１次中点ｅ１’とが求められ、更に、１次中点ｄ１’と１次中点ｅ１’の２次中点ｆ１’が求められる。
【００９２】
このとき、式（１６）〜（２２）と同様にして、
Ｘ＿ＩＮ２＝Ｘ＿ＩＮ１−ＢＸ１，        ・・・（２５）
Ｘｆ１’＝（ＡＸ１−２ＢＸ１＋ＣＸ１）／４，・・・（２６）
（Ａ）Ｘｆ１’≧Ｘ＿ＩＮ２の場合
ＡＸ２＝ＡＸ１−ＢＸ１，      ・・・（２７ａ）
ＢＸ２＝（ＡＸ１−ＢＸ１）／２，        ・・・（２８ａ）
ＣＸ２＝Ｘｆ１’，
＝（ＡＸ１−２ＢＸ１＋ＣＸ１）／４，・・・（２９）
ＡＹ２＝ＡＹ１−ＢＹ１，    ・・・（３０ａ）
ＢＹ２＝（ＡＹ１−ＢＹ１）／２，      ・・・（３１ａ）
ＣＹ２＝Ｙｆ１’
＝（ＡＹ１−２ＢＹ１＋ＣＹ１）／４．      ・・・（３２）
（Ｂ）Ｘｆ１’＜Ｘ＿ＩＮ２の場合
ＡＸ２＝ＣＸ１−ＢＸ１，・・・（２７ｂ）
ＢＸ２＝（ＣＸ１−ＢＸ１）／２，  ・・・（２８ｂ）
ＣＸ２＝（ＡＹ１−２ＢＹ１＋ＣＹ１）／４，・・・（２９）
ＡＹ２＝ＣＹ１−ＢＹ１，      ・・・（３０ｂ）
ＢＹ２＝（ＣＹ１−ＢＹ１）／２，        ・・・（３１ｂ）
ＣＹ２＝（ＡＹ１−２ＢＹ１＋ＣＹ１）／４．・・・（３２）
が得られる。
【００９３】
このとき、式（２３）を式（２８ａ）、（２９）に代入し、式（２４）を式（３１ａ）、（３２）に代入することにより、下記式が得られる：
ＢＸ２＝ＢＸ１／２，  （ｆｏｒ  ＣＸ１≧Ｘ＿ＩＮ２）・・・（３３ａ）
＝（ＣＸ１−ＢＸ１）／２，  （ｆｏｒ  ＣＸ１＜Ｘ＿ＩＮ２）・・・（３３ｂ）
ＣＸ２＝ＣＸ１／４，    ・・・（３４）
ＢＹ２＝ＢＹ１／２，  （ｆｏｒ  ＣＸ１≧Ｘ＿ＩＮ２）・・・（３５ａ）
＝（ＣＹ１−ＢＹ１）／２，  （ｆｏｒ  ＣＸ１＜Ｘ＿ＩＮ２）・・・（３５ｂ）
ＣＹ２＝ＣＹ１／４．    ・・・（３６）
【００９４】
ここで、式（２３）、（２４）と同様に下記式が成立するから、制御点Ａ２のＸ座標値ＡＸ２、Ｙ座標ＡＹ２を計算し、又は、記憶する必要はないことに留意されたい。
ＡＸ２＝２ＢＸ２，        ・・・（３７）
ＡＹ２＝２ＢＹ２，        ・・・（３８）
【００９５】
３回目以降の平行移動／中点演算についても、同様な演算が行われる。このとき、２回目の平行移動／中点演算と同様にして考えれば、ｉ回目の平行移動／中点演算（ｉ≧２）において行われる演算が下記のように表わされることが理解されよう。
Ｘ＿ＩＮｉ＝Ｘ＿ＩＮｉ−１−ＢＸｉ−１，      ・・・（３９）
ＢＸｉ＝ＢＸｉ−１／２，  （ＣＸｉ−１≧Ｘ＿ＩＮｉ）・・・（４０ａ）
＝（ＣＸｉ−１−ＢＸｉ−１）／２，  （ＣＸｉ−１＜Ｘ＿ＩＮｉ）・・・（４０ｂ）
ＣＸｉ＝ＣＸｉー１／４，    ・・・（４１）
ＢＹｉ＝ＢＹｉ−１／２，  （ＣＸｉ−１≧Ｘ＿ＩＮｉ）・・・（４２ａ）
＝（ＣＹｉ−１−ＢＹｉ−１）／２，  （ＣＸｉ−１＜Ｘ＿ＩＮｉ）・・・（４２ｂ）
ＣＹｉ＝ＣＹｉ−１／４．    ・・・（４３）
【００９６】
なお、式（４０ａ）、（４０ｂ）に関し、等号が式（４０ａ）、（４０ｂ）のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。式（４２ａ）、（４２ｂ）についても同様である。
【００９７】
ここで、式（４１）、（４３）の式の意味するところは、制御点Ｃｉは、原点Ｏと制御点Ｃｉ−１とを結ぶ線分上にあり、且つ、原点Ｏからの距離が、線分ＯＣｉ−１の長さの４分の１であるような点であるということである。即ち、平行移動／中点演算を繰り返すと、制御点Ｃｉは、原点Ｏに近づいていく。このような関係が制御点Ｃｉの座標の計算の容易化に寄与していることは容易に理解されよう。また、式（３９）〜（４３）には制御点Ａｉ、Ａｉ−１の座標値が含まれていないから、２回目以降の平行移動／中点演算においても制御点Ａ２〜ＡＮの座標を計算し、又は、記憶する必要はないことに留意されたい。
【００９８】
平行移動／中点演算をＮ回繰り返した後に最終的に得るべき出力値Ｙ＿ＯＵＴは、平行移動をすべてキャンセルした場合の制御点ＢＮのＹ座標（即ち、図４における制御点ＢＮのＹ座標）として得ることができる。即ち、出力値Ｙ＿ＯＵＴは、下記式：
Ｙ＿ＯＵＴ＝ＢＹ０＋ＢＹ１＋・・・＋ＢＹｉ−１，      ・・・（４４）
から得ることができる。このような演算を行うためには、ｉ回目の平行移動／中点演算において下記の演算を行えばよい：
Ｙ＿ＯＵＴ１＝ＢＹ０，  （ｆｏｒ  ｉ＝１）
Ｙ＿ＯＵＴｉ＝Ｙ＿ＯＵＴｉ−１＋ＢＹｉ−１，  （ｆｏｒ  ｉ≧２）      （４５）
この場合、目的の出力値Ｙ＿ＯＵＴは、Ｙ＿ＯＵＴＮとして得られることになる。
【００９９】
図１６は、以上に説明された平行移動／中点演算をハードウェアによって行う場合のベジェ曲線演算回路２２の構成を示すブロック図である。図１６のベジェ曲線演算回路２２は、初段演算ユニット５０１と、初段演算ユニット５０１の出力に直列に接続された複数の単位演算ユニット５０２〜５０Ｎとを備えている。初段演算ユニット５０１は、１回目の平行移動／中点演算を行う機能を有しており、式（１６）〜（２２）の演算を行うように構成されている。また、単位演算ユニット５０２〜５０Ｎは、２回目以降の平行移動／中点演算を行う機能を有しており、式（３９）〜（４３）及び式（４５）の演算を行うように構成されている。
【０１００】
図１７は、初段演算ユニット５０１と単位演算ユニット５０２〜５０Ｎの構成を示す回路図である。初段演算ユニット５０１は、減算器５１〜５３と、加算器５４と、セレクタ５５と、比較器５６と、減算器６２、６３と、加算器６４と、セレクタ６５とを備えている。初段演算ユニット５０１は、７つの入力端を有しており、そのうちの一つには入力階調値Ｘ＿ＩＮが入力され、他の６つには、制御点Ａ０、Ｂ０、Ｃ０のＸ座標値ＡＸ０、ＢＸ０、ＣＸ０、及び、Ｙ座標ＡＹ０、ＢＹ０、ＣＹ０が供給される。
【０１０１】
減算器５１は、第１入力に入力階調値Ｘ＿ＩＮが供給され、第２入力にＢＸ０が供給される入力端に接続されている。減算器５２は、第１入力がＡＸ０が供給される入力端に接続され、第２入力がＢＸ０が供給される入力端に接続されている。減算器５３は、第１入力がＣＸ０が供給される入力端に接続され、第２入力がＢＸ０が供給される入力端に接続されている。加算器５４は、第１入力が減算器５２の出力に接続され、第２入力が減算器５３の出力に接続されている。
【０１０２】
同様に、減算器６２は、第１入力がＡＹ０が供給される入力端に接続され、第２入力がＢＹ０が供給される入力端に接続されている。減算器６３は、第１入力がＣＹ０が供給される入力端に接続され、第２入力がＢＹ０が供給される入力端に接続されている。加算器６４は、第１入力が減算器６２の出力に接続され、第２入力が減算器６３の出力に接続されている。
【０１０３】
比較器５６は、第１入力が減算器５１の出力に接続され、第２入力が加算器５４の出力に接続されている。セレクタ５５は、第１入力が減算器５２の出力に接続され、第２入力が減算器５３の出力に接続され、比較器５６の出力値ＳＥＬ１に応答して第１入力と第２入力のいずれかを選択する。また、セレクタ６５は、第１入力が減算器６２の出力に接続され、第２入力が減算器６３の出力に接続され、比較器５６の出力値ＳＥＬ１に応答して第１入力と第２入力のいずれかを選択する。
【０１０４】
演算対象階調値Ｘ＿ＩＮ１を出力する出力端は、減算器５１の出力に接続される。また、ＢＸ１を出力する出力端はセレクタ５５の出力に接続され、ＣＸ１を出力する出力端は、加算器５４の出力に接続されている。更に、ＢＹ１を出力する出力端はセレクタ６５の出力に接続され、ＣＹ１を出力する出力端は、加算器６４の出力に接続されている。
【０１０５】
減算器５１は、式（１６）の演算を行い、減算器５２は、式（１８ａ）の演算を行う。減算器５３は、式（１８ｂ）の演算を行い、加算器５４は、減算器５２、５３の出力値に基づいて式（１９）の演算を行う。同様に、減算器６２は、式（２１ａ）の演算を行う。減算器６３は、式（２１ｂ）の演算を行い、加算器６４は、減算器６２、６３の出力値に基づいて式（２２）の演算を行う。比較器５６は、減算器５１の出力値Ｘ＿ＩＮ０−ＢＸ０と加算器５４の出力値とを比較し、セレクタ５５、６５のそれぞれが２つの入力値のいずれを出力値として出力するかを指示する。Ｘ＿ＩＮ１が（ＡＸ０−２ＢＸ０＋ＣＸ０）／４以下の場合には、セレクタ５５が減算器５２の出力値を選択し、セレクタ６５が減算器６２の出力値を選択する。一方、Ｘ＿ＩＮ０−ＢＸ０が（ＡＸ０−２ＢＸ０＋ＣＸ０）／４よりも大きい場合には、セレクタ５５が減算器５３の出力値を選択し、セレクタ６５が減算器６３の出力値を選択する。セレクタ５５、６５によって選択された値が、それぞれＢＸ１、ＢＹ１として、単位演算ユニット５０２に供給される。また、加算器５４、６４の出力値が、それぞれＣＸ１、ＣＹ１として単位演算ユニット５０２に供給される。
【０１０６】
ここで、式（１６）〜（２２）に含まれている除算は、下位ビットを切り捨てることによって実現可能であることに留意されたい。下位ビットの切り捨てを行う回路上の場所は、式（１６）〜（２２）と等価な演算が行われる限り、適宜に変更可能である。図１７の初段演算ユニット５０１は、セレクタ５５、６５の出力において下位１ビットが切り捨てられ、加算器５４、６４の出力において下位２ビットが切り捨てられるものとして構成されている。
【０１０７】
一方、単位演算ユニット５０２〜５０Ｎは、同一の構成を有しており、減算器７１、７２、セレクタ７３、比較器７４、減算器７５、セレクタ７６、及び加算器７７を備えている。
【０１０８】
以下では、ｉ回目の平行移動／中点演算を行う単位演算ユニット５０ｉについて説明する（ｉは、２以上Ｎ以下の整数）。減算器７１は、第１入力が演算対象階調値Ｘ＿ＩＮｉ−１が供給される入力端に接続され、第２入力がＢＸｉ−１が供給される入力端に接続されている。減算器７２は、第１入力がＢＸｉ−１が供給される入力端に接続され、第２入力がＣＸｉ−１が供給される入力端に接続されている。減算器７５は、第１入力がＢＹｉ−１が供給される入力端に接続され、第２入力がＣＹｉ−１が供給される入力端に接続されている。
【０１０９】
比較器７４は、第１入力が減算器７１の出力に接続され、第２入力がＣＸｉ−１が供給される入力端に接続されている。
【０１１０】
セレクタ７３は、第１入力がＢＸｉ−１が供給される入力端に接続され、第２入力が減算器７２の出力に接続され、比較器７４の出力値ＳＥＬｉに応答して第１入力と第２入力のいずれかを選択する。同様に、セレクタ７６は、第１入力がＢＹｉ−１が供給される入力端に接続され、第２入力が減算器７５の出力に接続され、比較器７４の出力値に応答して第１入力と第２入力のいずれかを選択する。
【０１１１】
演算対象階調値Ｘ＿ＩＮｉは、減算器７１の出力に接続された出力端から出力される。また、ＢＸｉは、セレクタ７３の出力に接続された出力端から出力され、ＣＸｉは、ＣＸｉが供給された入力端に配線を介して接続された出力端から出力される。このとき、ＣＸｉの下位２ビットが切り捨てられる。更に、ＢＹｉは、セレクタ７３の出力に接続された出力端から出力され、ＣＹｉは、ＣＹｉ−１が供給された入力端に配線を介して接続された出力端から出力される。このとき、ＣＹｉ−１の下位２ビットが切り捨てられる。
【０１１２】
また、加算器７７は、第１入力がＢＸｉ−１が供給される入力端に接続され、第２入力がＹ＿ＯＵＴｉ−１が供給される入力端に接続される。ここで、２回目の平行移動／中点演算を行う単位演算ユニット５０２については、単位演算ユニット５０２に入力されるＹ＿ＯＵＴ１がＢＹ０に一致することに留意されたい。Ｙ＿ＯＵＴｉは、加算器７７の出力から出力される。
【０１１３】
減算器７１は、式（３９）の演算を行い、減算器７２は、式（４０ｂ）の演算を行う。減算器７５は、式（４２ｂ）の演算を行い、加算器７７は、式（４５）の演算を行う。比較器７４は、減算器７１の出力値Ｘ＿ＩＮｉ（＝Ｘ＿ＩＮｉ−１−ＢＸｉ−１）とＣＸｉ−１とを比較し、セレクタ７３、７６のそれぞれが２つの入力値のいずれを出力値として出力するかを指示する。Ｘ＿ＩＮｉがＣＸｉ−１以下である場合には、セレクタ７３がＢＸｉ−１を選択し、セレクタ７６がＢＹｉ−１を選択する。一方、Ｘ＿ＩＮｉがＣＸｉ−１よりも大きい場合には、セレクタ７３が減算器７２の出力値を選択し、セレクタ７６が減算器７５の出力値を選択する。セレクタ７３、７６によって選択された値が、それぞれＢＸｉ、ＢＹｉとして、次段の単位演算ユニット５０ｉ＋１に供給される。また、ＣＸｉ−１、ＣＹｉ−１の下位２ビットを切り捨てた値が、ＣＸｉ、ＣＹｉとして次段の単位演算ユニット５０ｉ＋１に供給される。
【０１１４】
ここで、式（４０）〜（４３）に含まれている除算は、下位ビットを切り捨てることによって実現可能であることに留意されたい。下位ビットの切り捨てを行う回路上の場所は、式（４０）〜（３４３）と等価な演算が行われる限り、適宜に変更可能である。図１７の単位演算ユニット５０ｉは、セレクタ７３、７６の出力において下位１ビットが切り捨てられ、ＣＸｉ−１、ＣＹｉ−１を受け取る配線において下位２ビットが切り捨てられるものとして構成されている。
【０１１５】
図１７の単位演算ユニット５０２〜５０Ｎと図１４の単位演算ユニット３０１〜３０Ｎの構成を比較すれば、演算の最適化による演算器の減少の効果を理解できよう。加えて、平行移動／中点演算を行う図１７の構成では、単位演算ユニット５０２〜５０Ｎのそれぞれが下位ビットを切り捨てるように構成されているので、取り扱うデータのビット数が後段の単位演算ユニット５０２〜５０Ｎになるほど少なくなる。このように、平行移動／中点演算を行う図１７の構成では、ハードウェアを削減しながら出力値Ｙ＿ＯＵＴを計算できる。
【０１１６】
上記では、３つの制御点で形状が規定される２次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出する場合について説明されているが、３次以上のベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出してもよい。ｎ次ベジェ曲線を用いる場合には、（ｎ＋１）個の補正用制御点が初期的に与えられ、その（ｎ＋１）個の補正用制御点に対して上記と同様の中点演算が行われて出力値Ｙ＿ＯＵＴが算出される。
【０１１７】
より具体的には、（ｎ＋１）個の補正用制御点が与えられる場合、中点演算は、以下のようにして行われる。（ｎ＋１）個の補正用制御点の隣接する２つの制御点の中点である１次中点が算出される。１次中点は、ｎ個存在する。更に、ｎ個の１次中点の隣接する２つの中点である２次中点が算出される。２次中点は、ｎ−１個存在する。以下同様に、（ｎ−ｋ＋１）個のｋ次中点の隣接する２つの中点である（ｎ−ｋ）個の（ｋ＋１）次中点が算出される。この手順を、１個のｎ次中点が算出されるまで繰り返して行う。ここで、（ｎ＋１）個の制御点のうち、Ｘ座標が最小のものを最小制御点と規定し、Ｘ座標が最大のものを最大制御点と規定する。また、ｋ次中点のうちＸ座標が最小のものを最小ｋ次中点と規定し、Ｘ座標が最大のものを最大ｋ次中点と規定する。ｎ次中点のＸ座標が入力階調値Ｘ＿ＩＮより小さい場合、最小制御点、最小１次中点乃至最小（ｎ−１）次中点、及びｎ次中点が、次のステップの（ｎ＋１）個の制御点として選択される。一方、ｎ次中点のＸ座標が入力階調値Ｘ＿ＩＮより大きい場合、ｎ次中点、最大（ｎ−１）次中点乃至最大１次中点、及び最大制御点が、次の中点演算の（ｎ＋１）個の制御点として選択される。出力値Ｙ＿ＯＵＴは、Ｎ回の中点演算によって得られた（ｎ＋１）個の制御点のうちの少なくとも一の制御点のＹ座標に基づいて算出される。
【０１１８】
このような一般化の理解をより容易にするために、ｎ＝３の場合（即ち、３次ベジェ曲線が出力値Ｙ＿ＯＵＴの算出に用いられる場合）の中点演算について更に説明する。この場合、４つの補正用制御点ＣＰ（３ｋ）’〜 ＣＰ（３ｋ＋３）’がベジェ曲線演算回路２２に設定される。以下では、４つの補正用制御点ＣＰ（３ｋ）’、ＣＰ（３ｋ＋１）’、ＣＰ（３ｋ＋２）’、ＣＰ（３ｋ＋３）’を、単に、制御点Ａ０、Ｂ０、Ｃ０、Ｄ０と記載し、また、制御点Ａ０、Ｂ０、Ｃ０、Ｄ０の座標が、それぞれ、（ＡＸ０、ＡＹ０）、（ＢＸ０、ＢＹ０）、（ＣＸ０、ＣＹ０）、（ＤＸ０、ＤＹ０）であるとする。ここで、制御点Ａ０、Ｂ０、Ｃ０、Ｄ０の座標Ａ０（ＡＸ０、ＡＹ０）、Ｂ０（ＢＸ０、ＢＹ０）、Ｃ０（ＣＸ０、ＣＹ０）、Ｄ０（ＤＸ０、ＤＹ０）は、それぞれ、次のように表わされる：
Ａ０（ＡＸ０、ＡＹ０）＝（ＸＣＰ（３ｋ）’，ＹＣＰ（３ｋ）’）
Ｂ０（ＢＸ０、ＢＹ０）＝（ＸＣＰ（３ｋ＋１）’，ＹＣＰ（３ｋ＋１）’）
Ｃ０（ＣＸ０、ＣＹ０）＝（ＸＣＰ（３ｋ＋２）’），ＹＣＰ（３ｋ＋２’）
Ｄ０（ＤＸ０、ＤＹ０）＝（ＸＣＰ（３ｋ＋３）’），ＹＣＰ（３ｋ＋３’）
【０１１９】
図１８は、ｎ＝３の場合（即ち、３次ベジェ曲線が出力値Ｙ＿ＯＵＴの算出に使用される場合）についての中点演算を説明する図である。初期的に、４つの制御点Ａ０、Ｂ０、Ｃ０、Ｄ０が与えられる。ここで、制御点Ａ０が最小制御点であり、点Ｄ０が最大制御点である。最初の中点演算（１回目の中点演算）では、制御点Ａ０と制御点Ｂ０の中点である１次中点ｄ０と、制御点Ｂ０と制御点Ｃ０の中点である１次中点ｅ０と、制御点Ｃ０と点Ｄ０の中点である１次中点ｆ０が求められる。ここで、ｄ０が最小１次中点であり、ｆ０が最大１次中点である。更に、１次中点ｄ０、ｅ０の中点である２次中点ｇ０と、１次中点ｅ０、ｆ０の中点である２次中点ｈ０とが求められる。ここで、ｇ０が最小２次中点であり、ｈ０が最大２次中点である。更に、２次中点ｇ０、ｈ０の中点である３次中点ｉ０が求められる。３次中点ｉ０は、４つの制御点Ａ０、Ｂ０、Ｃ０、Ｄ０によって規定される３次ベジェ曲線の上の点であり、３次中点ｉ０の座標（Ｘｉ０，Ｙｉ０）は、下記式で表わされる：
Ｘｉ０＝（ＡＸ０＋３ＢＸ０＋３ＣＸ０＋ＤＸ０）／８，
Ｙｉ０＝（ＡＹ０＋３ＢＹ０＋３ＣＹ０＋ＤＹ０）／８．
【０１２０】
次の中点演算（２回目の中点演算）に使用される４つの制御点：点Ａ１、Ｂ１、Ｃ１、Ｄ１は、入力階調値Ｘ＿ＩＮと３次中点ｉ０のＸ座標Ｘｉ０との比較の結果に応じて選択される。詳細には、Ｘｉ０≧Ｘ＿ＩＮの場合、最小制御点Ａ０、最小１次中点ｄ０、最小２次中点ｆ０、及び３次中点ｅ０が、それぞれ、点Ａ１、Ｂ１、Ｃ１、Ｄ１として選択される。一方、Ｘｉ０＜Ｘ＿ＩＮの場合には、３次中点ｅ０、最大２次中点ｈ０、最大１次中点ｆ０、及び最大制御点Ｄ０が、それぞれ、点Ａ１、Ｂ１、Ｃ１、Ｄ１として選択される。
【０１２１】
２回目以降の中点演算も、同様の手順で行われる。一般化すれば、ｉ回目の中点演算では、下記のような演算が行われることになる：
（Ａ）（ＡＸｉ−１＋３ＢＸｉ−１＋３ＣＸｉ−１＋ＤＸｉ−１）／８≧Ｘ＿ＩＮの場合
ＡＸｉ＝ＡＸｉ−１，・・・（２ａ’）
ＢＸｉ＝（ＡＸｉ−１＋ＢＸｉ−１）／２，  ・・・（３ａ’）
ＣＸｉ＝（ＡＸｉ−１＋２ＢＸｉ−１＋ＣＸｉ−１）／４，・・・（４ａ’）
ＤＸｉ＝（ＡＸｉ−１＋３ＢＸｉ−１＋３ＣＸｉ−１＋ＤＸｉ−１）／８，・・・（５ａ’）
ＡＹｉ＝ＡＹｉ−１，・・・（６ａ’）
ＢＹｉ＝（ＡＹｉ−１＋ＢＹｉ−１）／２，  ・・・（７ａ’）
ＣＹｉ＝（ＡＹｉ−１＋２ＢＹｉ−１＋ＣＹｉ−１）／４．・・・（８ａ’）
ＤＹｉ＝（ＡＹｉ−１＋３ＢＹｉ−１＋３ＣＹｉ−１＋ＤＹｉ−１）／８，・・・（９ａ’）
（Ｂ）（ＡＸｉ−１＋３ＢＸｉ−１＋３ＣＸｉ−１＋ＤＸｉ−１）／８＜Ｘ＿ＩＮの場合
ＡＸｉ＝（ＡＸｉ−１＋３ＢＸｉ−１＋３ＣＸｉ−１＋ＤＸｉ−１）／８，・・・（２ｂ’）
ＢＸｉ＝（ＢＸｉ−１＋２ＣＸｉ−１＋ＤＸｉ−１）／４，・・・（３ｂ’）
ＣＸｉ＝（ＣＸｉ−１＋ＤＸｉ−１）／２，  ・・・（４ｂ’）
ＤＸｉ＝ＤＸｉ−１，・・・（５ｂ’）
ＡＸｉ＝（ＡＸｉ−１＋３ＢＸｉ−１＋３ＣＸｉ−１＋ＤＸｉ−１）／８
ＢＹｉ＝（ＢＹｉ−１＋２ＣＹｉ−１＋ＤＹｉ−１）／４，・・・（６ｂ’）
ＣＹｉ＝（ＣＹｉ−１＋ＤＹｉ−１）／２，  ・・・（７ｂ’）
ＤＹｉ＝ＤＹｉ−１，・・・（８ｂ’）
【０１２２】
なお、条件（Ａ）、（Ｂ）に関して等号が条件（Ａ）、（Ｂ）のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。
【０１２３】
中点演算が行われる毎に、制御点Ａｉ、Ｂｉ、Ｃｉ，Ｄｉが３次ベジェ曲線に近づいていくと共に、制御点Ａｉ、Ｂｉ、Ｃｉ，ＤｉのＸ座標が入力階調値Ｘ＿ＩＮに近づいていく。Ｎ回目の中点演算によって得られた制御点ＡＮ、ＢＮ、ＣＮ，ＤＮの少なくとも一つのＹ座標から、最終的に算出すべき出力値Ｙ＿ＯＵＴの値が得られる。例えば、制御点ＡＮ、ＢＮ、ＣＮ、ＤＮのうちから任意に選択された一の制御点のＹ座標が、出力値Ｙ＿ＯＵＴとして選ばれてもよい。また、制御点ＡＮ、ＢＮ、ＣＮ、ＤＮのＹ座標の平均値が出力値Ｙ＿ＯＵＴとして選ばれてもよい。
【０１２４】
中点演算が行われる回数Ｎが比較的少ない範囲では、中点演算が行われる回数Ｎが多いほど、出力値Ｙ＿ＯＵＴの精度を向上させることができる。ただし、出力値Ｙ＿ＯＵＴの精度は、中点演算が行われる回数Ｎが出力値Ｙ＿ＯＵＴのビット数に到達すると、それ以上は向上しない。中点演算が行われる回数Ｎは、出力値Ｙ＿ＯＵＴのビット数に一致することが好ましい。例えば、出力値Ｙ＿ＯＵＴが１２ビットデータである本実施形態では、中点演算が行われる回数Ｎは、１２であることが好ましい。
【０１２５】
（ｎ＋１）次ベジェ曲線を用いて出力値Ｙ＿ＯＵＴを算出する場合においても２次ベジェ曲線を用いる場合と同様に、中間に位置する制御点のいずれかが原点Ｏになるように平行移動したうえで中点演算を行ってもよい。例えば、３次ベジェ曲線でガンマカーブを表現する場合、制御点Ｂｉ−１又はＣｉ−１が原点Ｏになるように平行移動したうえで１次中点乃至ｎ次中点が算出される。更に、平行移動後の制御点Ａｉ−１’、最小１次中点、最小２次中点、及び３次中点の組み合わせ、又は、３次中点、最大２次中点、最大１次中点、及び制御点Ｄｉ−１’の組み合わせのいずれかが、次の制御点Ａｉ、Ｂｉ、Ｃｉ、Ｄｉとして選ばれる。この場合も、各演算器において処理される値のビット数を低減することができる。
【０１２６】
以上には、本発明の実施形態が具体的に記述されているが、本発明は、上記の実施形態に限定されない。本発明が種々の変更と共に実施され得ることは、当業者には理解されよう。
【符号の説明】
【０１２７】
１        ：ＯＬＥＤ表示パネル
２        ：表示ドライバ
３        ：ホスト
４        ：ゲート線
５        ：データ線
６        ：画素回路
７        ：ゲートドライバ回路
１０      ：表示装置
１１      ：インターフェース制御回路
１２      ：ガンマ補正回路
１３      ：ラッチ回路
１４      ：リニア階調電圧生成回路
１５      ：データ線駆動回路
１６      ：レジスタ
２１      ：補正用制御点演算回路
２２      ：ベジェ曲線演算回路
２３      ：乗算回路
２４      ：セレクタ
２５      ：乗算回路
３０      ：単位演算ユニット
３０１〜３０Ｎ：単位演算ユニット
３１〜３３  ：加算器
３４〜３６  ：セレクタ
３５      ：セレクタ
３６      ：セレクタ
３７      ：比較器
４０      ：出力段
４１〜４３：加算器
４４〜４６：セレクタ
５０１    ：初段演算ユニット
５０２〜５０Ｎ：単位演算ユニット
５１〜５３：減算器
５４      ：加算器
５５      ：セレクタ
５６      ：比較器
６２、６３：減算器
６４      ：加算器
６５      ：セレクタ
７１、７２：減算器
７３      ：セレクタ
７４      ：比較器
７５      ：減算器
７６      ：セレクタ
７７      ：加算器
１００    ：ガンマ補正回路
１０１    ：入力階調値調節回路
１０２    ：最大輝度演算回路
【図１】
2018112710.tif 000007
【図２】
2018112710.tif 000008
【図３】
2018112710.tif 000009
【図４】
2018112710.tif 000010
【図５】
2018112710.tif 000011
【図６】
2018112710.tif 000012
【図７】
2018112710.tif 000013
【図８】
2018112710.tif 000014
【図９】
2018112710.tif 000015
【図１０】
2018112710.tif 000016
【図１１】
2018112710.tif 000017
【図１２】
2018112710.tif 000018
【図１３】
2018112710.tif 000019
【図１４】
2018112710.tif 000020
【図１５】
2018112710.tif 000021
【図１６】
2018112710.tif 000022
【図１７】
2018112710.tif 000023
【図１８】
2018112710.tif 000024