特許第6971031号(P6971031)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シナプティクス・ディスプレイ・デバイス株式会社の特許一覧

<>
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000006
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000007
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000008
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000009
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000010
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000011
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000012
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000013
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000014
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000015
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000016
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000017
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000018
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000019
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000020
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000021
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000022
  • 特許6971031-表示ドライバ、表示装置及び駆動方法 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6971031
(24)【登録日】2021年11月4日
(45)【発行日】2021年11月24日
(54)【発明の名称】表示ドライバ、表示装置及び駆動方法
(51)【国際特許分類】
   G09G 3/30 20060101AFI20211111BHJP
   G09G 3/20 20060101ALI20211111BHJP
   H01L 51/50 20060101ALI20211111BHJP
   H04N 5/202 20060101ALI20211111BHJP
【FI】
   G09G3/30 K
   G09G3/20 612U
   G09G3/20 641Q
   G09G3/20 641C
   H05B33/14 A
   H04N5/202
【請求項の数】10
【全頁数】36
(21)【出願番号】特願2017-4518(P2017-4518)
(22)【出願日】2017年1月13日
(65)【公開番号】特開2018-112710(P2018-112710A)
(43)【公開日】2018年7月19日
【審査請求日】2019年12月12日
(73)【特許権者】
【識別番号】308017571
【氏名又は名称】シナプティクス・ジャパン合同会社
(74)【代理人】
【識別番号】100205350
【弁理士】
【氏名又は名称】狩野 芳正
(74)【代理人】
【識別番号】100117617
【弁理士】
【氏名又は名称】中尾 圭策
(72)【発明者】
【氏名】降旗 弘史
(72)【発明者】
【氏名】青垣 多俊
(72)【発明者】
【氏名】能勢 崇
【審査官】 越川 康弘
(56)【参考文献】
【文献】 特表2015−529890(JP,A)
【文献】 米国特許出願公開第2014/0375704(US,A1)
【文献】 特開2011−133578(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09G 3/30
G09G 3/20
H01L 51/50
H04N 5/202
(57)【特許請求の範囲】
【請求項1】
各画素回路が発光素子を含む自発光表示パネルを駆動するための表示ドライバであって、
前記自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出するように構成された補正回路部と、
前記出力値に応じて前記自発光表示パネルの前記発光素子を駆動する駆動信号を生成するように構成された駆動回路部
とを具備し、
前記補正回路部は、
前記入力階調値に対応する第1座標軸と前記出力値に対応する第2座標軸とで規定される座標系における、前記画面の輝度が特定輝度である場合の前記入力階調値と前記出力値との間の入出力特性を規定する特定輝度制御点の前記第1座標軸に沿った方向における位置を指定する第1座標と前記第2座標軸に沿った方向における位置を指定する第2座標とを記述する特定輝度制御点データを保持するように構成された特定輝度制御点データ保持回路と、
前記輝度データと前記入力階調値と前記特定輝度制御点データとに基づいて、前記輝度データに指定された前記画面の輝度について前記入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定するように構成された補正用制御点演算回路と、
前記補正用制御点によって規定される入出力特性で前記入力階調値から前記出力値を算出するように構成された補正演算回路
とを含み、
前記補正用制御点演算回路は、
前記輝度データと前記入力階調値とに基づいて前記特定輝度制御点のうちから選択制御点を選択し、
前記補正用制御点の前記第1座標軸に沿った方向における位置を指定する第3座標を前記選択制御点の前記第1座標と所定の係数Aとの積として算出し、
前記補正用制御点の前記第2座標軸に沿った方向における位置を指定する第4座標を前記選択制御点の前記第2座標に一致するように決定するように構成され、
前記係数Aは、前記輝度データで指定された前記画面の輝度の前記特定輝度に対する比をqとして、前記自発光表示パネルについて設定されたガンマ値γを用いて、下記式:
A=1/q(1/γ)
従って決定される
表示ドライバ。
【請求項2】
請求項1に記載の表示ドライバであって、
前記補正用制御点演算回路は、(n+1)個の前記補正用制御点を決定するように構成され(nは、2以上の整数)、
前記補正用制御点によって規定される前記入出力特性のカーブが、前記補正用制御点によって決定されるn次ベジェ曲線である
表示ドライバ。
【請求項3】
請求項に記載の表示ドライバであって、
前記特定輝度制御点は、第1〜第(p×n+1)制御点を含み(pは、2以上の整数)、
前記第1〜第(p×n+1)制御点のうちの第i制御点の前記第1座標(iは、1以上(p×n)以下の整数)は、前記第(i−1)制御点の前記第1座標よりも大きく、
前記第1制御点の前記第1座標は、前記入力階調値の許容最小値であり、
前記第(p×n+1)制御点の前記第1座標は、前記入力階調値の許容最大値であり、
前記補正用制御点演算回路は、前記入力階調値に前記係数Aの逆数1/Aを乗じた値が、前記第((k−1)×n+1)制御点の前記第1座標より大きく前記第(k×n+1)制御点の前記第1座標より小さい場合(kは1以上p以下の整数)、前記第((k−1)×n+1)〜第(k×n+1)制御点を前記選択制御点として選択するように構成された
表示ドライバ。
【請求項4】
請求項2に記載の表示ドライバであって、
前記nが2であり、
前記補正演算回路は、前記(n+1)個の前記補正用制御点を更新する更新演算を繰り返して行うことによって前記出力値を得る繰り返し演算回路を備えており、
前記(n+1)個の前記補正用制御点のうち前記第1座標が最小であるものを第1補正用制御点とし、前記(n+1)個の前記補正用制御点のうち前記第1座標が最大であるものを第3補正用制御点とし、前記(n+1)個の前記補正用制御点のうち前記第1補正用制御点でも前記第3補正用制御点でもないものを第2補正用制御点とし、前記第1補正用制御点と前記第2補正用制御点の中点を第1中点とし、前記第2補正用制御点と前記第3補正用制御点の中点を第2中点とし、前記第1中点と前記第2中点の中点を第3中点としたとき、
前記更新演算では、前記第3中点の前記第1座標軸の座標と前記入力階調値の比較の結果に応じて、更新前の前記第1補正用制御点、前記第1中点及び前記第3中点を、それぞれ、更新後の前記第1補正用制御点、前記第2補正用制御点及び前記第3補正用制御点として決定する第1演算、又は、前記第3中点、前記第2中点及び更新前の前記第3補正用制御点を、それぞれ、更新後の前記第1補正用制御点、前記第2補正用制御点及び前記第3補正用制御点として決定する第2演算の一方を行い、
前記補正演算回路は、所定回数の前記更新演算により得られた前記第1乃至第3補正用制御点のうちの少なくとも一の補正用制御点の前記第4座標から前記出力値を得るように構成された
表示ドライバ。
【請求項5】
請求項2に記載の表示ドライバであって、
前記nが2であり、
前記(n+1)個の前記補正用制御点のうち前記第1座標が最小であるものを第1補正用制御点とし、前記(n+1)個の前記補正用制御点のうち前記第1座標が最大であるものを第3補正用制御点とし、前記(n+1)個の前記補正用制御点のうち前記第1補正用制御点でも前記第3補正用制御点でもないものを第2補正用制御点として、
前記補正演算回路は、
前記入力階調値から更新前の前記第2補正用制御点の前記第3座標を減じて演算対象階調値を決定し、前記第1補正用制御点を前記第2補正用制御点の前記第3座標の値だけ前記第1座標軸に沿って移動し、前記第2補正用制御点の前記第4座標の値だけ前記第2座標軸に沿って移動した点として第1初段移動後制御点を算出し、前記第3補正用制御点を前記第2補正用制御点の前記第3座標の値だけ前記第1座標軸に沿って移動し、前記第2補正用制御点の前記第4座標の値だけ前記第2座標軸に沿って移動した点として第2初段移動後制御点を算出し、前記第1初段移動後制御点と前記第2初段移動後制御点の座標から第1移動後制御点、第2移動後制御点及び第3移動後制御点の座標を得る初段演算回路と、
前記第1移動後制御点、前記第2移動後制御点、前記第3移動後制御点及び前記演算対象階調値を更新する更新演算を繰り返して行うことによって前記出力値を得る繰り返し演算回路
とを備え、
前記第1初段移動後制御点と前記座標系の原点の中点を第1初段移動後中点とし、前記第2初段移動後制御点と原点の中点を第2初段移動後中点とし、前記第1初段移動後中点と前記第2初段移動後中点との中点を第3初段移動後中点として、前記初段演算回路は、(a)前記第1初段移動後制御点、前記第1初段移動後中点及び前記第3初段移動後中点を、それぞれ前記第1移動後制御点、前記第2移動後制御点及び前記第3移動後制御点として決定する演算、又は(b)前記第2移動後制御点、前記第2初段移動後中点、及び前記第3初段移動後中点をそれぞれ前記第1移動後制御点、前記第2移動後制御点及び前記第3移動後制御点として決定する演算のいずれかを、前記第3初段移動後中点の前記第1座標軸の座標と前記演算対象階調値とを比較した結果に基づいて選択的に実行するように構成され、
前記第1移動後制御点と前記座標系の原点の中点を第1移動後中点とし、前記第2移動後制御点と原点の中点を第2移動後中点とし、前記第1移動後中点と前記第2移動後中点との中点を第3移動後中点として、前記更新演算において、前記繰り返し演算回路は、更新前の前記演算対象階調値から更新前の前記第2移動後制御点の前記第1座標軸の座標を減じた値を更新後の前記演算対象階調値として算出すると共に、(c)更新前の前記第1移動後制御点、前記第1移動後中点及び前記第3移動後中点を、それぞれ、更新後の前記第1移動後制御点、前記第2移動後制御点及び前記第3移動後制御点として決定する演算、
又は(d)更新前の前記第2移動後制御点、前記第2移動後中点、及び前記第3移動後中点をそれぞれ、更新後の前記第1移動後制御点、前記第2移動後制御点及び前記第3移動後制御点の座標値として決定する演算のいずれかを、前記第3移動後中点の前記第1座標軸の座標値と更新後の前記演算対象階調値とを比較した結果に基づいて選択的に実行し、
前記繰り返し演算回路は、前記第2補正用制御点の前記第2座標軸の座標に、前記初段演算回路によって算出された前記第2移動後制御点の前記第2座標軸の座標及び前記更新演算のそれぞれによって得られる前記第2移動後制御点の前記第2座標軸の座標を加算して得られる値を前記出力値として得るように構成された
表示ドライバ。
【請求項6】
請求項2に記載の表示ドライバであって、
前記補正演算回路は、前記(n+1)個の前記補正用制御点を更新する更新演算を繰り返して行うことによって前記出力値を得る繰り返し演算回路を備えており、
前記(n+1)個の前記補正用制御点の隣接する2つの制御点の中点をn個の1次中点とし、(n−k+1)個のk次中点(1≦k≦n−1)の隣接する2つの中点を(n−k)個の(k+1)次中点とし、前記(n+1)個の前記補正用制御点のうち前記第3座標が最小のものを最小制御点とし、前記(n+1)個の前記補正用制御点のうち前記第3座標が最大のものを最大制御点とし、前記k次中点のうち前記第1座標軸の座標が最小のものを最小k次中点とし、前記k次中点のうち前記第1座標軸の座標が最大のものを最大k次中点としたとき、前記更新演算では、更新前の前記最小制御点、前記最小1次中点乃至最小(n−1)次中点、及び、前記n次中点の座標値に対応して更新後の前記(n+1)個の補正用制御点の座標値を決定する第1演算、又は、更新前の前記最大制御点、前記最大1次中点乃至最大(n−1)次中点、及び、前記n次中点の座標値に対応して更新後の前記(n+1)個の前記補正用制御点を決定する第2演算の一方を、前記n次中点の前記第1座標軸の座標値と前記入力階調値との比較の結果に応答して実行し、
前記補正演算回路は、所定回数の前記更新演算により得られた前記(n+1)個の補正用制御点のうちの少なくとも一の補正用制御点の前記第4座標から前記出力値を得るように構成された
表示ドライバ。
【請求項7】
各画素回路が発光素子を含む自発光表示パネルと、
前記自発光表示パネルを駆動するように構成された表示ドライバ
とを具備し、
前記表示ドライバが、
前記自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出するように構成された補正回路部と、
前記出力値に応じて前記自発光表示パネルの前記発光素子を駆動する駆動信号を生成するように構成された駆動回路部
とを含み、
前記補正回路部は、
前記入力階調値に対応する第1座標軸と前記出力値に対応する第2座標軸とで規定される座標系における、前記画面の輝度が特定輝度である場合の前記入力階調値と前記出力値との間の入出力特性を規定する特定輝度制御点の前記第1座標軸に沿った方向における位置を指定する第1座標と前記第2座標軸に沿った方向における位置を指定する第2座標とを記述する特定輝度制御点データを保持するように構成された特定輝度制御点データ保持回路と、
前記輝度データと前記入力階調値と前記特定輝度制御点データとに基づいて、前記輝度データに指定された前記画面の輝度について前記入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定するように構成された補正用制御点演算回路と、
前記補正用制御点によって規定される入出力特性で前記入力階調値から前記出力値を算出するように構成された補正演算回路
とを具備し、
前記補正用制御点演算回路は、
前記輝度データと前記入力階調値とに基づいて前記特定輝度制御点のうちから選択制御点を選択し、
前記補正用制御点の前記第1座標軸に沿った方向における位置を指定する第3座標を前記選択制御点の前記第1座標と所定の係数Aとの積として算出し、
前記補正用制御点の前記第2座標軸に沿った方向における位置を指定する第4座標を前記選択制御点の前記第2座標に一致するように決定するように構成され、
前記係数Aは、前記輝度データで指定された前記画面の輝度の前記特定輝度に対する比をqとして、前記自発光表示パネルについて設定されたガンマ値γを用いて、下記式:
A=1/q(1/γ)
従って決定される
表示装置。
【請求項8】
請求項に記載の表示装置であって、
前記補正用制御点演算回路は、(n+1)個の前記補正用制御点を決定し(nは、2以上の整数)、
前記補正用制御点によって規定される前記入出力特性のカーブが、前記補正用制御点によって決定されるn次ベジェ曲線である
表示装置。
【請求項9】
請求項に記載の表示装置であって、
前記特定輝度制御点は、第1〜第(p×n+1)制御点を含み(pは、2以上の整数)、
前記第1〜第(p×n+1)制御点のうちの第i制御点の前記第1座標(iは、1以上(p×n)以下の整数)は、前記第(i−1)制御点の前記第1座標よりも大きく、
前記第1制御点の前記第1座標は、前記入力階調値の許容最小値であり、
前記第(p×n+1)制御点の前記第1座標は、前記入力階調値の許容最大値であり、
前記補正用制御点演算回路は、前記入力階調値に前記係数Aの逆数1/Aを乗じた値が、前記第((k−1)×n+1)制御点の前記第1座標より大きく前記第(k×n+1)制御点の前記第1座標より小さい場合(kは1以上p以下の整数)、前記第((k−1)×n+1)〜第(k×n+1)制御点を前記選択制御点として選択するように構成された
表示装置。
【請求項10】
各画素回路が発光素子を含むように構成された自発光表示パネルを駆動するための駆動方法であって、
前記自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出するステップと、
前記出力値に応じて前記自発光表示パネルの前記発光素子を駆動する駆動信号を生成するステップ
とを具備し、
前記出力値を算出するステップは、
前記入力階調値に対応する第1座標軸と前記出力値に対応する第2座標軸とで規定される座標系における、前記画面の輝度が特定輝度である場合の前記入力階調値と前記出力値との間の入出力特性を規定する特定輝度制御点の前記第1座標軸に沿った方向における位置を指定する第1座標と前記第2座標軸に沿った方向における位置を指定する第2座標とを記述する特定輝度制御点データを提供するステップと、
前記輝度データと前記入力階調値と前記特定輝度制御点データとに基づいて、前記輝度データに指定された前記画面の輝度について前記入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定するステップと、
前記補正用制御点によって規定される入出力特性で前記入力階調値から前記出力値を算出するステップ
とを含み、
前記補正用制御点を決定するステップは、
前記輝度データと前記入力階調値とに基づいて前記特定輝度制御点のうちから選択制御点を選択するステップと、
前記補正用制御点の前記第1座標軸に沿った方向における位置を指定する第3座標を前記選択制御点の前記第1座標と所定の係数Aとの積として算出するステップと、
前記補正用制御点の前記第2座標軸に沿った方向における位置を指定する第4座標を前記選択制御点の前記第2座標に一致するように決定するステップと、
を含み、
前記係数Aは、前記輝度データで指定された前記画面の輝度の前記特定輝度に対する比をqとして、前記自発光表示パネルについて設定されたガンマ値γを用いて、下記式:
A=1/q(1/γ)
従って決定される
駆動方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示ドライバ、表示装置及び駆動方法に関し、特に、OLED(Organic Light Emitting Diode)表示パネルのような自発光表示パネルの駆動に好適に用いられる画像データの演算に関する。
【背景技術】
【0002】
表示パネルを駆動する表示ドライバでは、一般に、表示パネルの特性に合わせたガンマ補正が行われる。ガンマ補正とは、画像データによって指定された階調値に対応した輝度で画像を正しく表示するために行われる画像データ処理である。表示パネルは、一般に、各副画素(R副画素、G副画素、B副画素)の輝度と当該副画素に供給される駆動信号(駆動電圧や駆動電流)の信号レベルとの対応が直線的ではない。例えば、液晶表示パネルの電圧−透過率曲線(V−Tカーブ)は、一般的に、直線ではない。従って、表示データによって指定された階調値に比例した信号レベルを有する駆動信号を供給しても、正しい輝度で画像を表示することはできない。ガンマ補正は、このような表示パネルにおいて、指定された階調値に対応する輝度で画像を表示するために行われる。
【0003】
加えて、OLED(Organic Light Emitting Diode)表示パネルのような自発光表示パネルを駆動する表示ドライバにおいては、ガンマ補正と同時に画面の輝度を制御する画像データ演算を行うことが望ましい。表示装置は、一般に、画面の輝度(即ち、表示される画像全体の輝度)を調節する機能を有することが求められる。例えば、ユーザが明るい画像の表示を希望する場合に、マニュアル操作によって画面の輝度を増大できる機能を表示装置が有していることが望ましい。液晶表示パネルのようなバックライトを有する表示デバイスについては、画面の輝度をバックライトの輝度によって調節可能なので、画面の輝度を制御する画像データ演算を行うことは必須ではない。一方、OLED表示パネルのような自発光表示パネルの駆動においては、一般に、画面の輝度を制御のためには、各画素の各副画素に供給される駆動信号の信号レベルを制御することが必要である。よって、自発光表示パネルの駆動において画面の輝度を制御する場合、画像データに対して何らかの画像データ演算を行うことが必要である。
【0004】
発明者は、自発光表示パネルを駆動する表示ドライバに、ガンマ補正と同時に画面の輝度を制御する演算を行うガンマ補正回路を搭載することを検討している。しかしながら、発明者の検討によれば、このようなガンマ補正回路には、回路規模の増大の問題や、表現可能な階調数の減少の問題が生じ得る。
【0005】
なお、特開2011−133578号公報は、本発明に関連し得る技術を開示されている。特開2011−133578号公報は、ガンマ補正の入出力特性をベジェ曲線として表現しながらガンマ補正を行う技術を開示している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−133578号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本発明の目的の一つは、ガンマ補正と同時に画面の輝度を制御する画像データ演算を行うように構成されたガンマ補正回路の改良を提供することにある。本発明の他の目的及び新規の特徴は、以下の開示から当業者には理解されよう。
【課題を解決するための手段】
【0008】
本発明の一の観点では、各画素回路が発光素子を含むように構成された自発光表示パネルを駆動するための表示ドライバが提供される。当該表示ドライバは、自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、出力値に応じて自発光表示パネルの発光素子を駆動する駆動信号を生成する駆動回路部とを具備する。補正回路部は、入力階調値に対応する第1座標軸と出力値に対応する第2座標軸とで規定される座標系における、画面の輝度が特定輝度である場合の入力階調値と出力値との間の入出力特性を規定する特定輝度制御点の第1座標軸に沿った方向における位置を指定する第1座標と第2座標軸に沿った方向における位置を指定する第2座標とを記述する特定輝度制御点データを保持する特定輝度制御点データ保持回路と、輝度データと入力階調値と特定輝度制御点データとに基づいて、輝度データに指定された画面の輝度について入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定する補正用制御点演算回路と、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出する補正演算回路とを含む。補正用制御点演算回路は、補正用制御点の第1座標軸に沿った方向における位置を指定する第3座標を特定輝度制御点の第1座標と輝度データとに基づいて算出し、補正用制御点の第2座標軸に沿った方向における位置を指定する第4座標を特定輝度制御点の第2座標に基づいて決定する。
【0009】
本発明の他の観点では、表示装置が、各画素回路が発光素子を含むように構成された自発光表示パネルと、自発光表示パネルを駆動する表示ドライバとを具備する。表示ドライバは、自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出する補正回路部と、出力値に応じて自発光表示パネルの発光素子を駆動する駆動信号を生成する駆動回路部とを含む。補正回路部は、入力階調値に対応する第1座標軸と出力値に対応する第2座標軸とで規定される座標系における、画面の輝度が特定輝度である場合の入力階調値と出力値との間の入出力特性を規定する特定輝度制御点の第1座標軸に沿った方向における位置を指定する第1座標と第2座標軸に沿った方向における位置を指定する第2座標とを記述する特定輝度制御点データを保持する特定輝度制御点データ保持回路と、輝度データと入力階調値と特定輝度制御点データとに基づいて、輝度データに指定された画面の輝度について入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定する補正用制御点演算回路と、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出する補正演算回路とを具備する。補正用制御点演算回路は、補正用制御点の第1座標軸に沿った方向における位置を指定する第3座標を特定輝度制御点の第1座標と輝度データとに基づいて算出し、補正用制御点の第2座標軸に沿った方向における位置を指定する第4座標を特定輝度制御点の第2座標に基づいて決定する。
【0010】
本発明の他の観点では、各画素回路が発光素子を含むように構成された自発光表示パネルを駆動するための駆動方法が提供される。当該駆動方法は、自発光表示パネルに表示される画面の輝度を指定する輝度データと入力階調値とから出力値を算出するステップと、出力値に応じて自発光表示パネルの発光素子を駆動する駆動信号を生成するステップとを具備する。出力値を算出するステップは、入力階調値に対応する第1座標軸と出力値に対応する第2座標軸とで規定される座標系における、画面の輝度が特定輝度である場合の入力階調値と出力値との間の入出力特性を規定する特定輝度制御点の第1座標軸に沿った方向における位置を指定する第1座標と第2座標軸に沿った方向における位置を指定する第2座標とを記述する特定輝度制御点データを提供するステップと、輝度データと入力階調値と特定輝度制御点データとに基づいて、輝度データに指定された画面の輝度について入力階調値に対して行われる補正演算に用いられる制御点である補正用制御点を決定するステップと、補正用制御点によって規定される入出力特性で入力階調値から出力値を算出するステップとを含む。補正用制御点を決定するステップでは、補正用制御点の第1座標軸に沿った方向における位置を指定する第3座標が、特定輝度制御点の第1座標と輝度データとに基づいて算出され、補正用制御点の第2座標軸に沿った方向における位置を指定する第4座標が、特定輝度制御点の第2座標に基づいて決定される。
【発明の効果】
【0011】
本発明によれば、回路規模の増大と表現可能な階調数の減少を抑制しながらガンマ補正と同時に画面の輝度を制御する画像データ演算を行う技術を提供することができる。
【図面の簡単な説明】
【0012】
図1】ガンマ補正において実現すべき各副画素の輝度と入力階調値との関係を、画面の各輝度について示すグラフである。
図2】画面の各輝度についてのガンマ補正の理想的な入出力特性の一例を示すグラフである。
図3】画面の輝度が最大輝度である場合のガンマ補正の入出力特性を実現する演算回路を設けると共に、当該演算回路に入力される入力階調値を画面の輝度に応じて調節するように構成されたガンマ補正回路の構成を示すブロック図である。
図4図3の構成のガンマ補正回路における表現可能な階調数の減少の問題を説明するためのグラフである。
図5】一実施形態における表示装置の構成を示すブロック図である。
図6】一実施形態における表示ドライバの構成を示すブロック図である。
図7】最大輝度制御点データ及びそれによって決定されるガンマ補正の入出力特性を概念的に示すグラフである。
図8】輝度データにより最大輝度以外の輝度が指定されている場合において出力値の算出に用いられる、ガンマ補正の入出力特性を示すグラフである。
図9】一実施形態におけるガンマ補正回路の構成を示すブロック図である。
図10図9のガンマ補正回路の動作を示すフローチャートである。
図11】一実施形態においてベジェ曲線演算回路において行われる演算のアルゴリズムを示す概念図である。
図12】ベジェ曲線演算回路において行われる演算の手順を示すフローチャートである。
図13図11図12に図示されている演算を行うベジェ曲線演算回路の構成の一例を示すブロック図である。
図14図13に図示されているベジェ曲線演算回路の各単位演算ユニットの構成を示す回路図である。
図15】他の実施形態においてベジェ曲線演算回路において行われる演算のアルゴリズムを示す概念図である。
図16図12に図示されている演算を行うベジェ曲線演算回路の構成の例を示すブロック図である。
図17図17に図示されているベジェ曲線演算回路の初段演算ユニット及び各単位演算ユニットの構成を示す回路図である。
図18】他の実施形態においてベジェ曲線演算回路において行われる演算のアルゴリズムを示す概念図である。
【発明を実施するための形態】
【0013】
以下、添付図面を参照しながら実施形態を説明する。
【0014】
上述されているように、自発光表示パネルを駆動する表示ドライバにおいては、ガンマ補正と同時に画面の輝度を制御する画像データ演算を行うことが望ましい。ここでいう自発光表示パネルとは、例えば、OLED表示パネルのように、画素を構成する副画素を構成する画素回路が発光素子を含んでいる表示パネルのことである。最も典型的なOLED表示パネルの構成では、各画素は、R副画素、G副画素及びB副画素を含んでおり、R副画素、G副画素及びB副画素は、それぞれ、赤色、緑色及び青色を発光する発光素子を含んでいる。
【0015】
図1は、理想的な場合にガンマ補正において実現すべき各副画素の輝度と入力階調値との関係、即ち、表示パネルの理想的なガンマ特性を、画面の各輝度について示すグラフである。「輝度100%」は、画面の輝度が最大輝度である(100%である)場合のガンマ特性を示すグラフであり、「輝度75%」は、画面の輝度が最大輝度の75%である場合のガンマ特性を示すグラフである。同様に、「輝度50%」は、画面の輝度が最大輝度の50%である場合のガンマ特性を示すグラフであり、「輝度25%」は、画面の輝度が最大輝度の25%である場合のガンマ特性を示すグラフである。図1においては、画面の輝度が最大(輝度100%)であるときに、ある副画素に対応する入力階調値が最大値(図1では255)である場合の当該副画素の輝度が1.0であるとして規格化されている。例えば、画面の輝度が100%である場合、ある副画素に対応する入力階調値が186であれば、当該副画素の理想的な輝度は0.5である。
【0016】
ガンマ補正と同時に画面の輝度を制御する演算を行う場合、ガンマ補正の入出力特性を、画面の輝度に応じて変化することが望ましい。図2は、画面の各輝度についてのガンマ補正の理想的な入出力特性の一例を示すグラフである。なお、図2は、電圧プログラミングによってOLED表示パネルを駆動する場合に用いられる表示データを生成する場合における、各輝度についてのガンマ補正の入出力特性を示している。図2では、表示データの値(即ち、ガンマ補正の出力値)が12ビットであり、且つ、表示データの値に比例した電圧で、OLED表示パネルの各画素の各副画素がプログラミングされるものとして入出力特性のグラフが描かれている。例えば、出力値が“4095”である場合、5Vの電圧で対象の副画素がプログラミングされる。電圧プログラミングによってOLED表示パネルを駆動する場合、駆動電圧が低いほど輝度が大きくなることに留意されたい。
【0017】
図2において留意すべきことは、表示デバイスのガンマ特性に起因して、ガンマ補正の入出力特性のカーブの形状が、画面の輝度に応じて異なるということである。例えば、入出力特性のカーブが折れ曲がる入力階調値は、輝度に応じて異なる。より具体的には、図2の例においては、輝度100%に対応する入出力特性のカーブは、入力階調値“17”及び“34”において折れ曲がるが、輝度25%に対応する入出力特性のカーブは、入力階調値“30”及び“66”で折れ曲がっている。
【0018】
入出力特性のカーブの形状が画像の全体の輝度に応じて異なることは、ガンマ補正と同時に画像の全体の輝度を制御する演算を行うガンマ補正回路の回路規模を不所望に増大させるという問題を生じさせ得る。例えば、ガンマ補正と同時に画面の輝度を制御する演算を行う最も簡便な手法は、画面の各輝度について、入出力特性に対応するLUT(lookup table)を用意することである。しかしながら、LUTは回路規模が大きいので、LUTを画面の各輝度について用意すると、ガンマ補正回路の回路規模が増大してしまう。
【0019】
ガンマ補正回路の回路規模の増大を防止するための一つの手法として、画面の輝度が最大輝度である場合のガンマ補正の入出力特性を実現する演算回路(例えば、LUT)を設けると共に、当該演算回路に入力される入力階調値を画面の輝度に応じて調節することが考えられる。図3は、このような構成のガンマ補正回路100の構成を示すブロック図である。なお、出願人は、図3のガンマ補正回路100の構成が公知であることを自認するものではないことに留意されたい。
【0020】
図3のガンマ補正回路100は、入力階調値調節回路101と、最大輝度演算回路102とを備えている。入力階調値調節回路101は、ガンマ補正回路100の入力階調値DIN1と画面の輝度とに基づいて、最大輝度演算回路102に供給すべき入力階調値DIN2を算出する。最大輝度演算回路102は、最大輝度(輝度100%)についてのガンマ補正の入出力特性を実現する演算回路であり、入力階調値DIN2を受け取ると、最大輝度(輝度100%)についてのガンマ補正の入出力特性に従って入力階調値DIN2に対応する出力値DOUTを出力する。最大輝度演算回路102は、例えば、図2の「輝度100%」のグラフとして規定された入出力関係に従って入力階調値DIN2に対応する出力値DOUTを出力する。このような動作は、例えば、最大輝度演算回路102としてLUTを使用することで実現可能である。
【0021】
ガンマ補正のガンマ値がγであり、画面の輝度が最大輝度のq倍(0≦q<1)である場合、ガンマ補正回路100の入力階調値DIN1と最大輝度演算回路102に与えるべき入力階調値DIN2との間には、下記式(1a)が成立する。
【数1】
【0022】
式(1a)から下記式(1b)が得られる:
【数2】
【0023】
例えば、表示パネルのガンマ値γが2.2であり、画面の輝度が最大輝度の0.5倍(輝度50%)である場合、式(1b)から下記式(1c)が得られる。
【数3】
式(1c)は、ガンマ値γが2.2である場合、ガンマ補正回路100の入力階調値DIN1を(186/255)倍して得られる値を入力階調値DIN2として最大輝度演算回路102に入力することにより、輝度50%についてのガンマ補正の入出力特性を実現することができることを意味している。一般に、ガンマ値がγであり、画面の輝度が最大輝度のq倍である場合、ガンマ補正回路100の入力階調値DIN1のq1/γ倍の値を最大輝度演算回路102に入力することで、最大輝度のq倍である場合についてのガンマ補正を実現することができる。
【0024】
しかしながら、このような手法は、表現可能な階調数を減少させるという問題を生じさせる。これは、図4に図示されているように、ガンマ補正回路100の入力階調値DIN1のq1/γ倍の入力階調値DIN2を最大輝度演算回路102に入力する構成では、入力階調値DIN2の許容される範囲が、入力階調値DIN1の許容最大値DINMAXのq1/γ倍以下に制限されるからである。入力階調値DIN1が8ビットであれば、入力階調値DIN1の許容最大値DINMAXは、255(=2−1)である。例えば、画面の輝度が特定輝度の0.5倍(輝度50%)である場合、ガンマ補正回路の入力階調値DIN1を(186/255)倍して得られる入力階調値DIN2が最大輝度演算回路102に入力される。しかしながら、最大輝度演算回路102に入力される入力階調値DIN2の範囲は0から186に制限される。これは、表現可能な階調数が減少することを意味している。
【0025】
以下に述べられる実施形態では、回路規模の増大を抑制すると共に、表現可能な階調数の減少の問題を回避するように構成されたガンマ補正回路、及び、その応用が提示される。
【0026】
図5は、一実施形態の表示装置10の構成を示すブロック図である。図5の表示装置10は、OLED表示パネル1と、表示ドライバ2とを備えるOLED表示装置として構成されている。
【0027】
OLED表示パネル1は、ゲート線4とデータ線5と画素回路6とゲートドライバ回路7とを備えている。画素回路6のそれぞれは、ゲート線4とデータ線5とが交差する位置に設けられており、赤、緑、青のいずれかの色を発光する発光素子を備えている。赤を発光する発光素子を備える画素回路6は、R副画素として用いられる。同様に、緑を発光する発光素子を備える画素回路6はG副画素として用いられ、青を発光する発光素子を備える画素回路6はB副画素として用いられる。ゲートドライバ回路7は、表示ドライバ2から受け取ったゲート制御信号SOUTに応答してゲート線4を駆動する。本実施形態では、一対のゲートドライバ回路7が設けられており、一方のゲートドライバ回路7は、奇数番目のゲート線4を駆動し、他方のゲートドライバ回路7は、偶数番目のゲート線4を駆動する。
【0028】
表示ドライバ2は、ホスト3から受け取った画像データDIN及び制御データDCTRLに応じてOLED表示パネル1を駆動してOLED表示パネル1に画像を表示する。画像データDINは、OLED表示パネル1の各画素の各副画素の階調値を記述している。制御データDCTRLは、表示ドライバ2を制御するためのコマンド及びパラメータを含んでいる。ホスト3としては、例えば、アプリケーションプロセッサ、CPU(central processing unit)、DSP(digital signal processor)などが使用され得る。
【0029】
図6は、一実施形態における表示ドライバ2の構成を示すブロック図である。表示ドライバ2は、インターフェース制御回路11と、ガンマ補正回路12と、ラッチ回路13と、リニア階調電圧生成回路14と、データ線駆動回路15と、レジスタ16とを備えている。
【0030】
インターフェース制御回路11は、下記の動作を行う。第1に、インターフェース制御回路11は、ホスト3から受け取った画像データDINをガンマ補正回路12に転送する。インターフェース制御回路11は、更に、制御データDCTRLに含まれている様々な制御パラメータをレジスタ16に格納すると共に、制御データDCTRLに含まれるコマンドに応答して表示ドライバ2の各回路を制御する。レジスタ16に格納される制御パラメータは、ガンマ補正回路12で行われるガンマ補正を制御するためのパラメータ、具体的には最大輝度制御点データCP0〜CPmを含んでいる。最大輝度制御点データCP0〜CPmの内容や技術的意義については、後に詳細に説明する。加えて、インターフェース制御回路11は、OLED表示パネル1に表示される画面の輝度(OLED表示パネル1に表示される画像全体の輝度)を指定する輝度データDBRTをガンマ補正回路12に供給する。一実施形態では、ホスト3から受け取った制御データDCTRLが輝度データDBRTを含んでおり、インターフェース制御回路11は、制御データDCTRLに含まれる輝度データDBRTをガンマ補正回路12に供給してもよい。
【0031】
ガンマ補正回路12は、インターフェース制御回路11から受け取った画像データDINに対してガンマ補正を行ってOLED表示パネル1の駆動に用いられる表示データDOUTを生成する。上述の最大輝度制御点データCP0〜CPm及び輝度データDBRTは、ガンマ補正回路12によって行われるガンマ補正において用いられる。ガンマ補正回路12において行われるガンマ補正の詳細については後述する。なお、インターフェース制御回路11から受け取った画像データDINそのものではなく、画像データDINに何らかのデジタル演算処理(例えば、スケーリング(拡大又は縮小)や色調整)を行って得られる画像データがガンマ補正回路12に入力されてもよい。
【0032】
ラッチ回路13は、ガンマ補正回路12から出力される表示データDOUTをラッチしてデータ線駆動回路15に転送する。
【0033】
リニア階調電圧生成回路14は、表示データDOUTに記述されているデータ値がとり得る値のそれぞれに対応する一組の階調電圧を生成する。本実施形態では、リニア階調電圧生成回路14は、隣接する階調電圧の電圧レベルの間隔が同一であるように一組の階調電圧を生成する。即ち、本実施形態では、表示データDOUTに記述されているデータ値とそれに対応する階調電圧の関係が線形的である。
【0034】
データ線駆動回路15は、表示データDOUTに記述されているデータ値に対応する階調電圧で各データ線5を駆動する。詳細には、データ線駆動回路15は、リニア階調電圧生成回路14から供給された階調電圧のうちから表示データDOUTのデータ値に対応する階調電圧を選択し、その階調電圧になるように各データ線5を駆動する。
【0035】
続いて、ガンマ補正回路12の動作について説明する。以下の説明においては、画像データDINとして、演算対象の副画素の入力階調値X_INがガンマ補正回路12の入力に与えられると、ガンマ補正回路12が当該副画素に対応する表示データDOUTのるデータ値として出力値Y_OUTを出力するものとする。以下における本実施形態の説明では、入力階調値X_INが8ビットデータであり、出力値Y_OUTが12ビットデータであるとして説明を行う。
【0036】
本実施形態では、ガンマ補正回路12で行われるガンマ補正の入出力特性、即ち、入力階調値X_INと出力値Y_OUTとの対応関係が、最大輝度制御点データCP0〜CPm及び輝度データDBRTによって制御される。最大輝度制御点データCP0〜CPmは、画面の輝度が最大輝度である場合、即ち、輝度データDBRTにより最大輝度が指定されている場合のガンマ補正の入出力特性を指定する一組のデータである。
【0037】
図7は、最大輝度制御点データCP0〜CPm及びそれによって決定される入出力特性のカーブを概念的に示すグラフである。最大輝度制御点データCP0〜CPmは、X軸を入力階調値X_INに対応する座標軸とし、Y軸を出力値Y_OUTに対応する座標軸として規定されるXY座標系において、画面の輝度が最大輝度である場合のガンマ補正の入出力特性を規定する制御点CP0〜CPmの座標を指定するデータである。なお、図7において、最大輝度制御点データCPi(iは、0以上m以下の整数)によって座標が指定される制御点を、制御点CPiと記載し、制御点CPiの座標を、CPi(XCPi,YCPi)と記載していることに留意されたい。ここで、XCPiは、制御点CPiのX座標(即ち、X軸方向に沿った方向における位置を示す座標)であり、YCPiは、制御点CPiのY座標(即ち、Y軸方向に沿った方向における位置を示す座標)である。また、制御点CPiのX座標XCPiは、下記の条件を満たしているものとする:
CP0<XCP1< … <XCPi<XCP(i+1)< … <XCP(m−1)<XCPm
ただし、制御点CP0のX座標XCP0は、入力階調値X_INの許容最小値(即ち、0)であり、制御点CPmのX座標XCPmは、入力階調値X_INの許容最小値(即ち、255)である。
【0038】
画面の輝度が最大輝度である場合(即ち、輝度データDBRTにより最大輝度が指定されている場合)、ガンマ補正回路12は、制御点CP0〜CPmによって規定される曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出する。一実施形態では、ガンマ補正回路12は、制御点CP0〜CPmによって規定されるベジェ曲線を用いて入力階調値X_INに対応する出力値Y_OUTを算出してもよい。この場合、ガンマ補正回路12は、当該ベジェ曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出する。
【0039】
一例としては、ガンマ補正回路12は、制御点CP0〜CPmによって規定される2次ベジェ曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出してもよい。2次ベジェ曲線は、3つの制御点によって決定可能であるから、2次ベジェ曲線を用いて出力値Y_OUTを算出する場合、ガンマ補正回路12は、X座標が入力階調値X_INに近い3つの制御点CP(2k)〜CP(2(k+1))を制御点CP0〜CPmのうちから選択し、該3つの制御点CP(2k)〜CP(2(k+1))で規定される2次ベジェ曲線上に位置し、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出してもよい。2次ベジェ曲線が出力値Y_OUTの算出に用いられる場合、(2p+1)個(pは、2以上の整数)の制御点CP0〜CPmが最大輝度制御点データCP0〜CPmに規定される。即ち、m=2pである。
【0040】
ただし、出力値Y_OUTの算出に用いられるベジェ曲線は、2次ベジェ曲線に限定されない。一般に、n次ベジェ曲線は、(n+1)個の制御点で規定される。よって、n次ベジェ曲線を用いて出力値Y_OUTを算出する場合、ガンマ補正回路12は、X座標が入力階調値X_INに近い(n+1)個の制御点CP(k×n)〜CP((k+1)×n)を制御点CP0〜CPmのうちから選択し、該(n+1)個の制御点CP(k×n)〜CP((k+1)×n)で規定されるn次ベジェ曲線上に位置し、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出してもよい。n次ベジェ曲線が出力値Y_OUTの算出に用いられる場合、((p×n)+1)個(pは、2以上の整数)の制御点CP0〜CPmが最大輝度制御点データCP0〜CPmに規定される。即ち、m=n×pである。
【0041】
一方、輝度データDBRTにより最大輝度以外の輝度が指定されている場合、図8に図示されているように、ガンマ補正回路12は、当該指定された輝度である場合のガンマ補正の入出力特性が、制御点CP0〜CPmで規定される曲線をX軸方向にA倍に拡大して得られる曲線で表されるとして出力値Y_OUTを算出する。ここで、Aは、輝度データDBRTによって指定されている輝度の最大輝度に対する比qに依存する係数である。なお、係数Aを得るための式は、後述する。ガンマ補正回路12は、制御点CP0〜CPmで規定される曲線をX軸方向にA倍に拡大して得られる曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出する。即ち、本実施形態では、画面の輝度が最大輝度である場合のガンマ補正回路12の入出力特性が、下記式(2a):
Y_OUT=fMAX(X_IN) ・・・(2a)
により表される場合に、画面の輝度が最大輝度のq倍である場合のガンマ補正回路12の入出力特性が、下記式
Y_OUT=fMAX(X_IN/A) ・・・(2b)
で表されるものとして、出力値Y_OUTが算出される。
【0042】
Y_OUT=fMAX(X_IN/A)で表される曲線は、制御点CP0〜CPmのX座標をA倍して得られる制御点CP0’〜CPm’によって規定することができるから、画面の輝度が最大輝度のq倍である場合には、制御点CP0’〜CPm’によって規定される曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTが算出される。ここで、制御点CP0’〜CPm’は、ガンマ補正における演算において実際に用いられる制御点であり、よって、以下では、補正用制御点CP0’〜CPm’と記載する。補正用制御点CPi’の座標CPi’(XCPi’,YCPi’)は、制御点CPiの座標CPi(XCPi,YCPi)を用いて下記式(3b)、(3c)によって得られる。
CPi’=A・XCPi・・・(3b)
CPi’=YCPi ・・・(3c)
【0043】
一例としては、ガンマ補正回路12は、補正点制御点CP0’〜CPm’によって規定される2次ベジェ曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として、出力値Y_OUTを算出してもよい。ただし、出力値Y_OUTの算出に用いられるベジェ曲線は、2次ベジェ曲線に限定されない。
【0044】
上記のように、係数Aは、輝度データDBRTによって指定されている輝度の最大輝度に対する比qに依存して決定される。表示装置10のガンマ値がγである場合、係数Aについて、下記式が成立する:
(X_IN/A)γ=q・(X_IN)γ ・・・(4a)
よって、Aは、下記式(4b)により決定可能である。
A=1/q(1/γ) ・・・(4b)
【0045】
例えば、ガンマ値γが2.2であり、qが0.5である場合(即ち、画面の輝度が最大輝度の0.5倍である場合)、Aは、下記式(4c)で得られる:
A=1/(0.5)1/2.2
=255/186 ・・・(4c)
即ち、画面の輝度が最大輝度の0.5倍(輝度50%)である場合、制御点CP0〜CPmのX座標を255/186倍することで得られる制御点CP0’〜CPm’で指定される曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として出力値Y_OUTが算出される。一般に、輝度データDBRTで指定されている画面の輝度が最大輝度のq倍である場合には、制御点CP0〜CPmのX座標を1/q(1/γ)倍することで得られる制御点CP0’〜CPm’で指定される曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として出力値Y_OUTが算出される。
【0046】
続いて、上記の動作を実現するためのガンマ補正回路12の具体的な構成の例を説明する。図9は、一実施形態におけるガンマ補正回路12の構成を示すブロック図である。ガンマ補正回路12は、最大輝度制御点データCP0〜CPmを保持するレジスタ16と共に、ガンマ補正を実行するための補正回路部を構成している。図9のガンマ補正回路12は、n次ベジェ曲線を用いて入力階調値X_INから出力値Y_OUTを算出するように構成されている。この場合、mは、p×n(pは、2以上の整数)であり、最大輝度制御点データCP0〜CPmによって(p×n+1)個の制御点CP0〜CPmの座標が指定される。
【0047】
ガンマ補正回路12は、補正用制御点演算回路21と、ベジェ曲線演算回路22とを備えている。補正用制御点演算回路21は、輝度データDBRTと、入力階調値X_INと、レジスタ16から受け取った最大輝度制御点データCP0〜CPmとから、入力階調値X_INに対応する出力値Y_OUTの算出に用いられる(n+1)個の補正用制御点CP(k×n)’〜CP((k+1)×n)’を決定する。ここで、kは、0以上p−1以下の整数である。ベジェ曲線演算回路22は、(n+1)個の補正用制御点CP(k×n)’〜CP((k+1)×n)’で規定されるn次ベジェ曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標を算出し、算出したY座標を出力値Y_OUTとして出力する。
【0048】
補正用制御点演算回路21は、乗算回路23と、セレクタ24と、乗算回路25とを備えている。乗算回路23とセレクタ24は、入力階調値X_INと輝度データDBRTに指定された画面の輝度と入力階調値X_INとに基づいて制御点CP0〜CPmのうちから(n+1)個の制御点CPk〜CP(k+n)を選択する選択回路を構成している。詳細には、乗算回路23は、入力階調値X_INに係数Aの逆数1/A(即ち、q(1/γ))を乗じて得られる値として制御点選択用階調値Pixel_inを算出する。ここで、qは、輝度データDBRTに指定された画面の輝度の最大輝度に対する比であり、係数Aは、上述の式(4b)で与えられることに留意されたい。セレクタ24は、制御点選択用階調値Pixel_inに基づいて、制御点CP0〜CPmのうちから(n+1)個の制御点CP(k×n)〜CP((k+1)×n)を選択する。以下では、セレクタ24で選択された制御点CP(k×n)〜CP((k+1)×n)を選択制御点CP(k×n)〜CP((k+1)×n)と記載する。乗算回路25は、選択制御点CP(k×n)〜CP((k+1)×n)のX座標XCP(k×n)〜XCP((k+1)×n)をA倍して、それぞれ、補正用制御点CP(k×n)’〜CP((k+1)×n)’のX座標XCP(k×n)’〜XCP((k+1)×n)’を算出する。補正用制御点CP(k×n)’〜CP((k+1)×n)’のY座標YCP(k×n)’〜YCP((k+1)×n)’としては、選択制御点CP(k×n)〜CP((k+1)×n)のY座標YCP(k×n)〜YCP((k+1)×n)がそのまま用いられる。
【0049】
図10は、図9のガンマ補正回路12の動作を示すフローチャートである。ある副画素(対象副画素)の階調を示す入力階調値X_INがガンマ補正回路12に入力されると、制御点選択用階調値Pixel_inが、入力階調値X_INから乗算回路23によって算出される(ステップS01)。上述のように、制御点選択用階調値Pixel_inは、入力階調値X_INに係数Aの逆数1/A(即ち、q(1/γ))を乗ずることで得られる。
【0050】
更に、制御点選択用階調値Pixel_inに基づいて、制御点CP0〜CPmのうちから(n+1)個の制御点CP(k×n)〜CP((k+1)×n)が選択される(ステップS02)。(n+1)個の制御点CP(k×n)〜CP((k+1)×n)の選択は、セレクタ24によって行われる。より具体的には、下記のようにして(n+1)個の制御点CPk〜CP(k+n)が選択される。
【0051】
m(=p×n+1)個の制御点CP0〜CPmのうち、制御点CP0、CPn、CP(2n)、・・・CP(p×n)は、n次ベジェ曲線が通過する制御点である。他の制御点は、該n次ベジェ曲線の形状を決めるが、当該n次ベジェ曲線の上にあるとは限らない。セレクタ24は、n次ベジェ曲線が通過する制御点それぞれのX座標と制御点選択用階調値Pixel_inとを比較し、その比較の結果に応じて(n+1)個の制御点CP(k×n)〜CP((k+1)×n)を選択する。
【0052】
詳細には、制御点選択用階調値Pixel_inが、制御点CP0のX座標より大きく、制御点CPnのX座標より小さい場合、セレクタ24は、制御点CP0〜CPnを選択する。また、制御点選択用階調値Pixel_inが、制御点CPnのX座標より大きく、制御点CP2nのX座標より小さい場合、セレクタ24は、制御点CPn〜CP(2n)を選択する。一般に、制御点選択用階調値Pixel_inが、制御点CP(k×n)のX座標XCP((k−1)×n)より大きく、制御点CP((k+1)×n)のX座標XCP(k×n)より小さい場合、セレクタ24は、制御点CP(k×n)〜CP((k+1)×n)を選択する(kは、0以上p以下の整数)。
【0053】
また、制御点選択用階調値Pixel_inが制御点CP(k×n)のX座標XCP(k×n)に一致する場合、一実施形態では、セレクタ24が、制御点CP(k×n)〜((k+1)×n)を選択する。この場合、制御点選択用階調値Pixel_inが制御点CP(p×n)に一致するときには、セレクタ24は、制御点CP((p−1)×n)〜CP(p×n)を選択する。
【0054】
その代わりに、制御点選択用階調値Pixel_inが制御点CP((k+1)×n)のX座標XCP((k+1)×n)に一致する場合に、セレクタ24が制御点CP(k×n)〜((k+1)×n)を選択してもよい。この場合、制御点選択用階調値Pixel_inが制御点CP0に一致するときには、セレクタ24は、制御点CP0〜CPnを選択する。
【0055】
続いて、補正用制御点CP(k×n)’〜CP((k+1)×n)’が決定される(ステップS03)。詳細には、補正用制御点CP(k×n)’〜CP((k+1)×n)’のX座標XCP(k×n)’〜XCP((k+1)×n)’は、乗算回路25により、選択制御点CP(k×n)〜CP((k+1)×n)のX座標XCP(k×n)〜XCP((k+1)×n)と係数Aとの積として算出される。即ち、乗算回路25は、下記式(5a):
CP(k×n)’=A・XCP(k×n)
CP((k×n)+1)’=A・XCP((k×n)+1)
・・・
CP((k+1)×n)’=A・XCP((k+1)×n) ・・・(5a)
に従って、補正用制御点CP(k×n)’〜CP((k+1)×n)’のX座標XCP(k×n)’〜XCP((k+1)×n)’を算出する。
【0056】
補正用制御点CP(k×n)’〜CP((k+1)×n)’のY座標YCP(k×n)’〜YCP((k+1)×n)’は、それぞれ、選択制御点CP(k×n)〜CP((k+1)×n)のY座標YCP(k×n)〜YCP((k+1)×n)と同一に決定される。即ち、補正用制御点CP(k×n)’〜CP((k+1)×n)’のY座標YCP(k×n)’〜YCP((k+1)×n)’は、下記式(5b):
CP(k×n)’=YCP(k×n)
CP((k×n)+1)’=YCP((k×n)+1)
・・・
CP((k+1)×n)’=YCP((k+1)×n) ・・・(5b)
で表される。
【0057】
このようにして決定された補正用制御点CP(k×n)’〜CP((k+1)×n)’のX座標、Y座標が、ベジェ曲線演算回路22に供給され、ベジェ曲線演算回路22により、入力階調値X_INに対応する出力値Y_OUTが算出される(ステップS04)。出力値Y_OUTは、(n+1)個の補正用制御点CP(k×n)’〜CP((k+1)×n)’で規定されるn次ベジェ曲線上に位置し、且つ、X座標が入力階調値X_INである点のY座標として算出される。
【0058】
上記の実施形態では、画面の輝度が最大輝度である場合(即ち、輝度データDBRTにより最大輝度が指定されている場合)のガンマ補正の入出力特性を指定する制御点の座標を示す最大輝度制御点データCP0〜CPmが、ガンマ補正回路12に与えられる構成が記載されているが、一般に、最大輝度制御点データCP0〜CPmの代わりに、画面の輝度が特定輝度である場合(即ち、輝度データDBRTにより該特定輝度が指定されている場合)のガンマ補正の入出力特性を指定する制御点の座標を示す制御点データが用いられてもよい。この場合にも、係数Aを算出する式(4b)に含まれるパラメータqとして、輝度データDBRTにより指定されている輝度の、該特定輝度に対する比を用いることで、(n+1)個の補正用制御点CP(k×n)’〜CP((k+1)×n)’を算出することができる。
【0059】
出力値Y_OUTの算出に使用されるベジェ曲線の次数は特に限定されず、必要とする精度に応じた次数が選択され得る。ただし、2次ベジェ曲線を用いて出力値Y_OUTを算出することは、ベジェ曲線演算回路22の構成を簡略にしながら正確な出力値Y_OUTを算出することができる点で好適である。以下では、2次ベジェ曲線を用いて出力値Y_OUTを算出する場合のベジェ曲線演算回路22の好適な構成及び動作について説明する。ここで、2次ベジェ曲線を用いて出力値Y_OUTを算出する場合には、3つの補正用制御点CP(2k)’、CP(2k+1)’、CP(2k+2)’のX座標、Y座標がベジェ曲線演算回路22の入力として与えられることに留意されたい。
【0060】
以下では、まず、ベジェ曲線演算回路22において行われる演算のアルゴリズムについて説明する。図11は、一実施形態において、ベジェ曲線演算回路22において行われる演算のアルゴリズムを示す概念図であり、図12は、当該演算の手順を示すフローチャートである。
【0061】
図12に図示されているように、初期設定として、3つの補正用制御点CP(2k)’〜CP(2k+2)’が、ベジェ曲線演算回路22に設定される(ステップS11)。なお、記載を簡潔にするために、以下では、ベジェ曲線演算回路22に設定される補正用制御点CP(2k)’、CP(2k+1)、CP(2k+2)’を、それぞれ、制御点A、B、Cと記載する。即ち、図11を参照して、制御点A、B、Cの座標A(AX、AY)、B(BX、BY)、C(CX、CY)は、それぞれ、次のように表わされる:
(AX、AY)=(XCP(2k)’,YCP(2k)’)
(BX、BY)=(XCP(2k+1)’,YCP(2k+1)’)
(CX、CY)=(XCP(2k+2),YCP(2k+2’)
【0062】
出力値Y_OUTは、以下に述べられるように、中点を求める演算を繰り返すことによって算出される。この繰り返し演算の1単位を、以下では、中点演算と呼ぶことにする。また、3つの制御点の隣接する2つの制御点の中点を1次中点と呼び、該2つの1次中点の中点を2次中点と呼ぶことがある。
【0063】
最初の中点演算(1回目の中点演算)では、初期的に与えられる制御点A、B、C(即ち、3つの補正用制御点CP(2k)’、CP(2k+1)’、CP(2k+2)’)に関し、制御点Aと制御点Bの中点である1次中点dと、制御点Bと制御点Cの中点である1次中点eとが求められ、更に、1次中点dと1次中点eの中点である2次中点fが求められる。2次中点fは、3つの制御点A、B、Cで規定される2次ベジェ曲線上の点である。このとき、2次中点fの座標(Xf0、Yf0)は、下記式(6a)、(6b)で表わされる:
f0=(AX+2BX+CX)/4 ・・・(6a)
f0=(AY+2BY+CY)/4 ・・・(6b)
【0064】
次の中点演算(2回目の中点演算)に使用される3つの制御点:制御点A、B、Cは、制御点A、1次中点d、2次中点f、1次中点e、制御点Bのうちから、入力階調値X_INと2次中点fのX座標Xf0との比較の結果に応じて選択される。詳細には、下記のようにして制御点A、B、Cが選択される:
(A)Xf0≧X_INの場合
この場合、X座標が小さい3点(左側の3点):制御点A、1次中点d、2次中点fが、制御点A、B、Cとして選択される。即ち、
=A,B=d,C=f. ・・・(7a)
(B)Xf0<X_INの場合
この場合、X座標が大きい3点(右側の3点):2次中点f、1次中点e、制御点Cが、制御点A、B、Cとして選択される。即ち、
=f,B=e,C=C. ・・・(7b)
【0065】
同様の手順により、2回目の中点演算が行われる。制御点A、B、Cに関し、制御点Aと制御点Bの1次中点dと、制御点Bと制御点Cの1次中点eとが求められ、更に、1次中点dと1次中点eの2次中点fが求められる。2次中点fは、所望の2次ベジェ曲線上の点である。更に、次の中点演算(3回目の中点演算)に使用される3つの制御点:制御点A、B、C、が制御点A、1次中点d、2次中点f、1次中点e、制御点Bのうちから、入力階調値X_INと2次中点fのX座標Xf1との比較の結果に応じて選択される。
【0066】
結局、図12に示されているように、i回目の中点演算では、下記のような演算が行われることになる(ステップS12〜S14):
(A)(AXi−1+2BXi−1+CXi−1)/4≧X_INの場合
AX=AXi−1,・・・(8a)
BX=(AXi−1+BXi−1)/2, ・・・(9a)
CX=(AXi−1+2BXi−1+CXi−1)/4,・・・(10a)
AY=AYi−1,・・・(11a)
BY=(AYi−1+BYi−1)/2, ・・・(12a)
CY=(AYi−1+2BYi−1+CYi−1)/4.・・・(13a)
(B)(AXi−1+2BXi−1+CXi−1)/4<X_INの場合
AX=(AXi−1+2BXi−1+CXi−1)/4,・・・(8b)
BX=(BXi−1+CXi−1)/2, ・・・(9b)
CX=CXi−1,・・・(10b)
AY=(AYi−1+2BYi−1+CYi−1)/4,・・・(11b)
BY=(BYi−1+CYi−1)/2, ・・・(12b)
CY=CYi−1,・・・(13b)
【0067】
なお、条件(A)、(B)に関して等号が条件(A)、(B)のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。
【0068】
以下、同様の手順により、所望の回数だけ中点演算が繰り返される(ステップS15)。
【0069】
中点演算が行われる毎に、制御点A、B、Cが2次ベジェ曲線に近づいていくと共に、制御点A、B、CのX座標が入力階調値X_INに近づいていく。N回目の中点演算によって得られた制御点A、B、Cの少なくとも一つのY座標から、最終的に算出すべき出力値Y_OUTの値が得られる。例えば、制御点A、B、Cのうちから任意に選択された一点のY座標が、出力値Y_OUTとして選ばれてもよい。また、制御点A、B、CのY座標の平均値が出力値Y_OUTとして選ばれてもよい。
【0070】
中点演算が行われる回数Nが比較的少ない範囲では、中点演算が行われる回数Nが多いほど、出力値Y_OUTの精度を向上させることができる。ただし、出力値Y_OUTの精度は、中点演算が行われる回数Nが出力値Y_OUTのビット数に到達すると、それ以上は向上しない。したがって、中点演算が行われる回数Nは、出力値Y_OUTのビット数に一致することが好ましい。例えば、出力値Y_OUTが12ビットデータである本実施形態では、中点演算が行われる回数Nは、12であることが好ましい。
【0071】
上記のように、出力値Y_OUTの算出は、中点演算の繰り返しによって行われるので、ベジェ曲線演算回路22は、直列に接続された、それぞれが中点演算を行うように構成された複数の演算回路として構成され得る。図13は、このように構成されたベジェ曲線演算回路22の構成の一例を示すブロック図である。
【0072】
ベジェ曲線演算回路22は、N個の単位演算ユニット30〜30と、出力段40とを備えている。単位演算ユニット30〜30のそれぞれは、上記の中点演算を行うように構成されている。即ち、単位演算ユニット30は(iは、1以上N以下の整数)、制御点Ai−1、Bi−1、Ci−1のX座標、Y座標から、式(8a)〜(13a)、(8b)〜(13b)の演算により、制御点A、B、CのX座標、Y座標を算出するように構成されている。出力段40は、単位演算ユニット30から出力される制御点A、B、Cのうちの少なくとも一つの制御点のY座標(即ち、AY、BY及びCYのうちの少なくとも一)に基づいて出力値Y_OUTを出力する。出力段40は、制御点A、B、Cのうちの一の制御点のY座標を出力値Y_OUTとして出力してもよい。
【0073】
図14は、各単位演算ユニット30の構成を示す回路図である。各単位演算ユニット30は、加算器31〜33と、セレクタ34〜36と、比較器37と、加算器41〜43と、セレクタ44〜46とを備えている。加算器31〜33と、セレクタ34〜36は、制御点Ai−1、Bi−1、Ci−1のX座標について演算を行い、加算器41〜43と、セレクタ44〜46とは、制御点Ai−1、Bi−1、Ci−1のY座標について演算を行う。
【0074】
各単位演算ユニット30は、7つの入力端を有しており、そのうちの一つには入力階調値が入力され、他の6つには、制御点Ai−1、Bi−1、Ci−1のX座標AXi−1、BXi−1、CXi−1、及び、Y座標AYi−1、BYi−1、CYi−1が供給される。加算器31は、その第1入力がAXi−1が供給される入力端に接続され、第2入力がBXi−1が供給される入力端に接続される。加算器32は、その第1入力がBXi−1が供給される入力端に接続され、第2入力がCXi−1が供給される入力端に接続される。加算器33は、その第1入力が加算器31の出力に接続され、第2入力が加算器32の出力に接続される。
【0075】
同様に、加算器41は、その第1入力がAYi−1が供給される入力端に接続され、第2入力がBYi−1が供給される入力端に接続される。加算器42は、その第1入力がBYi−1が供給される入力端に接続され、第2入力がCYi−1が供給される入力端に接続される。加算器43は、その第1入力が加算器41の出力に接続され、第2入力が加算器42の出力に接続される。
【0076】
比較器37は、その第1入力に入力階調値X_INが供給され、第2入力が加算器33の出力に接続されている。
【0077】
セレクタ34は、第1入力がAXi−1が供給される入力端に接続され、第2入力が加算器33の出力に接続され、比較器37の出力値に応答して第1入力と第2入力のいずれかを選択する。セレクタ34の出力は、AXを出力する出力端に接続されている。同様に、セレクタ35は、第1入力が加算器31の出力に接続され、第2入力が加算器32の出力に接続され、比較器37の出力値に応答して第1入力と第2入力のいずれかを選択する。セレクタ35の出力は、BXを出力する出力端に接続されている。また、セレクタ36は、第1入力が加算器33の出力に接続され、第2入力がCXi−1が供給される入力端に接続され、比較器37の出力値に応答して第1入力と第2入力のいずれかを選択する。セレクタ36の出力は、CXを出力する出力端に接続されている。
【0078】
セレクタ44〜46についても同様である。セレクタ44は、第1入力がAYi−1が供給される入力端に接続され、第2入力が加算器43の出力に接続され、比較器37の出力値に応答して第1入力と第2入力のいずれかを選択する。セレクタ44の出力は、AYを出力する出力端に接続されている。同様に、セレクタ45は、第1入力が加算器41の出力に接続され、第2入力が加算器42の出力に接続され、比較器37の出力値に応答して第1入力と第2入力のいずれかを選択する。セレクタ45の出力は、BYを出力する出力端に接続されている。また、セレクタ46は、第1入力が加算器43の出力に接続され、第2入力がCYi−1が供給される入力端に接続され、比較器37の出力値に応答して第1入力と第2入力のいずれかを選択する。セレクタ46の出力は、CYを出力する出力端に接続されている。
【0079】
このような構成の単位演算ユニット30において、加算器31は上記の式(9a)の演算を行い、加算器32は、式(9b)の演算を行い、更に、加算器33は、加算器31、32の出力値を用いて式(10a)、(8b)の演算を行う。同様に、加算器41は上記の式(12a)の演算を行い、加算器42は、式(12b)の演算を行い、更に、加算器43は、加算器41、42の出力値を用いて式(13a)、(11b)の演算を行う。比較器37は、加算器33の出力値と入力階調値X_INとを比較し、セレクタ34〜36、44〜46のそれぞれが2つの入力値のいずれを出力値として出力するかを指示する。入力階調値X_INが(AXi−1+2BXi−1+CXi−1)/4よりも小さい場合には、セレクタ34がAXi−1を選択し、セレクタ35が加算器31の出力値を選択し、セレクタ36が加算器33の出力値を選択し、セレクタ44がAYi−1を選択し、セレクタ45が加算器41の出力値を選択し、セレクタ46が加算器43の出力値を選択する。一方、入力階調値X_INが(AXi−1+2BXi−1+CXi−1)/4よりも大きい場合には、セレクタ34が加算器33の出力値を選択し、セレクタ35が加算器32の出力値を選択し、セレクタ36がCXi−1を選択し、セレクタ44が加算器43の出力値を選択し、セレクタ45が加算器42の出力値を選択し、セレクタ46がCYi−1を選択する。セレクタ34〜36、44〜46によって選択された値が、それぞれ、AX、BX、CX、AY、BY、CYとして、次段の単位演算ユニット30に供給される。
【0080】
ここで、式(8a)〜(13a)、(8b)〜(13b)に含まれている除算は、下位ビットを切り捨てることによって実現可能であることに留意されたい。最も簡便には、加算器31〜33、41〜43の出力において、下位ビットを切り捨てれば所望の演算を実現できる。この場合、加算器31〜33、41〜43の出力端において1ビットを切り捨てればよい。ただし、下位ビットの切り捨てを行う回路上の場所は、式(8a)〜(13a)、(8b)〜(13b)と等価な演算が行われる限り、適宜に変更可能である。例えば、加算器31〜33、加算器41〜43の入力において下位ビットの切り捨てが行われてもよいし、また、比較器37、セレクタ34〜36、44〜46の入力において下位ビットの切り捨てが行われてもよい。
【0081】
このように構成された単位演算ユニット30〜30の最終段の単位演算ユニット30から出力されるAY、BY、CYの少なくともいずれか一つから、最終的に算出すべき出力値Y_OUTの値が得られる。
【0082】
図15は、出力値Y_OUTの算出に2次ベジェ曲線を用いる場合において、出力値Y_OUTを算出するアルゴリズムの改良を示す概念図である。図15に図示されているアルゴリズムでは、第1に、i回目の中点演算において、制御点Ai−1、Bi−1,Ci−1を制御点Bi−1が原点になるように平行移動した後に1次中点di−1、1次中点ei−1、2次中点fi−1が演算される。第2に、2次中点fi−1が第i+1回目の中点演算に使用される制御点Cとして常に選択される。このような平行移動/中点演算を繰り返し行うことにより、演算器の数を低減し、また、各演算器において処理される値のビット数を低減することができる。以下、図14のアルゴリズムを詳細に説明する。
【0083】
1回目の平行移動/中点演算では、まず、制御点A、B、Cが、移動後に制御点Bが原点になるように平行移動される。平行移動後の制御点A、B、Cをそれぞれ、制御点A’、B’、C’と表記する。制御点B’は、原点に一致する。このとき、制御点A’、制御点C’の座標は、次のように表わされる:
’(AX’,AY’)=(AX−BX,AY−BY
’(CX’,CY’)=(CX−BX,CY−BY).
【0084】
同時に、演算対象階調値X_INから、X軸方向の平行移動量BXが減じられて演算対象階調値X_INが算出される。
【0085】
続いて、制御点A’と制御点B’の1次中点d’と、制御点B’と制御点C’の1次中点e’とが求められ、更に、1次中点d’と1次中点e’の2次中点f’が求められる。2次中点f’は、制御点Bが原点になるように平行移動した後の2次ベジェ曲線(即ち、3つの制御点A’、B’、C’で規定される2次ベジェ曲線)上の点である。
【0086】
このとき、2次中点f’の座標(Xf0’、Yf0’)は、下記式で表わされる:
【数4】
【0087】
次の平行移動/中点演算(2回目の平行移動/中点演算)に使用される3つの制御点:制御点A、B、Cは、制御点A’、1次中点d’、2次中点f’、1次中点e’、制御点C’のうちから、演算対象階調値X_INと2次中点f’のX座標値Xf0’との比較の結果に応じて選択される。このとき、2次中点f’が制御点Cとして常に選択される一方、制御点A、Bは、次のようにして選択される。
(A)Xf0’≧X_INの場合
この場合、X座標値が小さい2点(左側の2点):制御点A’、1次中点d’が、それぞれ、制御点A、Bとして選択される。即ち、
=A’,B=d’,C=f’. ・・・(15a)
(B)Xf0<X_INの場合
この場合、X座標値が大きい2点(右側の2点):制御点C’、1次中点e’が、それぞれ、制御点A、Bとして選択される。即ち、
=C’,B=e’,C=f’. ・・・(15b)
【0088】
結局、1回目の平行移動/中点演算では、下記のような演算が行われることになる:
X_IN=X_IN−BX, ・・・(16)
f0’=(AX−2BX+CX)/4,・・・(17)
(A)Xf0’≧X_INの場合
AX=AX−BX, ・・・(17a)
BX=(AX−BX)/2, ・・・(18a)
CX=Xf0
=(AX−2BX+CX)/4,・・・(19)
AY=AY−BY, ・・・(20a)
BY=(AY−BY)/2, ・・・(21a)
CY=Yf0
=(AY−2BY+CY)/4. ・・・(22)
(B)Xf0’<X_INの場合
AX=CX−BX,・・・(17b)
BX=(CX−BX)/2, ・・・(18b)
CX=(AY−2BY+CY)/4,・・・(19)
AY=CY−BY, ・・・(20b)
BY=(CY−BY)/2, ・・・(21b)
CY=(AY−2BY+CY)/4.・・・(22)
【0089】
なお、条件(A)、(B)に関して等号が条件(A)、(B)のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。
【0090】
ここで、式(17a)、(18a)、(17b)、(18b)から理解できるように、(A)、(B)のいずれの場合にも
AX=2BX, ・・・(23)
AY=2BY, ・・・(24)
という関係が成立する。これは、上記の演算を実装する際には、制御点A、Bの座標を重複して計算し、又は記憶する必要がないことを意味している。このことは、図15に図示されているように、制御点Bが制御点Aと原点Oの中点に位置することからも理解されよう。以下では、制御点Bの座標が計算される実施形態を説明するが、制御点Aの座標を計算する演算でも実質的に等価である。
【0091】
2回目の平行移動/中点演算でも、同様の演算が行われる。まず、制御点A、B、Cが、移動後に制御点Bが原点になるように平行移動される。平行移動後の制御点A、B、Cをそれぞれ、制御点A’、B’、C’と表記する。同時に、演算対象階調値X_INから、X軸方向の平行移動量BXが減じられて演算対象階調値X_INが算出される。続いて、制御点A’と制御点B’の1次中点d’と、制御点B’と制御点C’の1次中点e’とが求められ、更に、1次中点d’と1次中点e’の2次中点f’が求められる。
【0092】
このとき、式(16)〜(22)と同様にして、
X_IN=X_IN−BX, ・・・(25)
f1’=(AX−2BX+CX)/4,・・・(26)
(A)Xf1’≧X_INの場合
AX=AX−BX, ・・・(27a)
BX=(AX−BX)/2, ・・・(28a)
CX=Xf1’,
=(AX−2BX+CX)/4,・・・(29)
AY=AY−BY, ・・・(30a)
BY=(AY−BY)/2, ・・・(31a)
CY=Yf1
=(AY−2BY+CY)/4. ・・・(32)
(B)Xf1’<X_INの場合
AX=CX−BX,・・・(27b)
BX=(CX−BX)/2, ・・・(28b)
CX=(AY−2BY+CY)/4,・・・(29)
AY=CY−BY, ・・・(30b)
BY=(CY−BY)/2, ・・・(31b)
CY=(AY−2BY+CY)/4.・・・(32)
が得られる。
【0093】
このとき、式(23)を式(28a)、(29)に代入し、式(24)を式(31a)、(32)に代入することにより、下記式が得られる:
BX=BX/2, (for CX≧X_IN)・・・(33a)
=(CX−BX)/2, (for CX<X_IN)・・・(33b)
CX=CX/4, ・・・(34)
BY=BY/2, (for CX≧X_IN)・・・(35a)
=(CY−BY)/2, (for CX<X_IN)・・・(35b)
CY=CY/4. ・・・(36)
【0094】
ここで、式(23)、(24)と同様に下記式が成立するから、制御点AのX座標値AX、Y座標AYを計算し、又は、記憶する必要はないことに留意されたい。
AX=2BX, ・・・(37)
AY=2BY, ・・・(38)
【0095】
3回目以降の平行移動/中点演算についても、同様な演算が行われる。このとき、2回目の平行移動/中点演算と同様にして考えれば、i回目の平行移動/中点演算(i≧2)において行われる演算が下記のように表わされることが理解されよう。
X_IN=X_INi−1−BXi−1, ・・・(39)
BX=BXi−1/2, (CXi−1≧X_IN)・・・(40a)
=(CXi−1−BXi−1)/2, (CXi−1<X_IN)・・・(40b)
CX=CXiー1/4, ・・・(41)
BY=BYi−1/2, (CXi−1≧X_IN)・・・(42a)
=(CYi−1−BYi−1)/2, (CXi−1<X_IN)・・・(42b)
CY=CYi−1/4. ・・・(43)
【0096】
なお、式(40a)、(40b)に関し、等号が式(40a)、(40b)のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。式(42a)、(42b)についても同様である。
【0097】
ここで、式(41)、(43)の式の意味するところは、制御点Cは、原点Oと制御点Ci−1とを結ぶ線分上にあり、且つ、原点Oからの距離が、線分OCi−1の長さの4分の1であるような点であるということである。即ち、平行移動/中点演算を繰り返すと、制御点Cは、原点Oに近づいていく。このような関係が制御点Cの座標の計算の容易化に寄与していることは容易に理解されよう。また、式(39)〜(43)には制御点A、Ai−1の座標値が含まれていないから、2回目以降の平行移動/中点演算においても制御点A〜Aの座標を計算し、又は、記憶する必要はないことに留意されたい。
【0098】
平行移動/中点演算をN回繰り返した後に最終的に得るべき出力値Y_OUTは、平行移動をすべてキャンセルした場合の制御点BのY座標(即ち、図4における制御点BのY座標)として得ることができる。即ち、出力値Y_OUTは、下記式:
Y_OUT=BY+BY+・・・+BYi−1, ・・・(44)
から得ることができる。このような演算を行うためには、i回目の平行移動/中点演算において下記の演算を行えばよい:
Y_OUT=BY, (for i=1)
Y_OUT=Y_OUTi−1+BYi−1, (for i≧2) (45)
この場合、目的の出力値Y_OUTは、Y_OUTとして得られることになる。
【0099】
図16は、以上に説明された平行移動/中点演算をハードウェアによって行う場合のベジェ曲線演算回路22の構成を示すブロック図である。図16のベジェ曲線演算回路22は、初段演算ユニット50と、初段演算ユニット50の出力に直列に接続された複数の単位演算ユニット50〜50とを備えている。初段演算ユニット50は、1回目の平行移動/中点演算を行う機能を有しており、式(16)〜(22)の演算を行うように構成されている。また、単位演算ユニット50〜50は、2回目以降の平行移動/中点演算を行う機能を有しており、式(39)〜(43)及び式(45)の演算を行うように構成されている。
【0100】
図17は、初段演算ユニット50と単位演算ユニット50〜50の構成を示す回路図である。初段演算ユニット50は、減算器51〜53と、加算器54と、セレクタ55と、比較器56と、減算器62、63と、加算器64と、セレクタ65とを備えている。初段演算ユニット50は、7つの入力端を有しており、そのうちの一つには入力階調値X_INが入力され、他の6つには、制御点A、B、CのX座標値AX、BX、CX、及び、Y座標AY、BY、CYが供給される。
【0101】
減算器51は、第1入力に入力階調値X_INが供給され、第2入力にBXが供給される入力端に接続されている。減算器52は、第1入力がAXが供給される入力端に接続され、第2入力がBXが供給される入力端に接続されている。減算器53は、第1入力がCXが供給される入力端に接続され、第2入力がBXが供給される入力端に接続されている。加算器54は、第1入力が減算器52の出力に接続され、第2入力が減算器53の出力に接続されている。
【0102】
同様に、減算器62は、第1入力がAYが供給される入力端に接続され、第2入力がBYが供給される入力端に接続されている。減算器63は、第1入力がCYが供給される入力端に接続され、第2入力がBYが供給される入力端に接続されている。加算器64は、第1入力が減算器62の出力に接続され、第2入力が減算器63の出力に接続されている。
【0103】
比較器56は、第1入力が減算器51の出力に接続され、第2入力が加算器54の出力に接続されている。セレクタ55は、第1入力が減算器52の出力に接続され、第2入力が減算器53の出力に接続され、比較器56の出力値SEL1に応答して第1入力と第2入力のいずれかを選択する。また、セレクタ65は、第1入力が減算器62の出力に接続され、第2入力が減算器63の出力に接続され、比較器56の出力値SEL1に応答して第1入力と第2入力のいずれかを選択する。
【0104】
演算対象階調値X_INを出力する出力端は、減算器51の出力に接続される。また、BXを出力する出力端はセレクタ55の出力に接続され、CXを出力する出力端は、加算器54の出力に接続されている。更に、BYを出力する出力端はセレクタ65の出力に接続され、CYを出力する出力端は、加算器64の出力に接続されている。
【0105】
減算器51は、式(16)の演算を行い、減算器52は、式(18a)の演算を行う。減算器53は、式(18b)の演算を行い、加算器54は、減算器52、53の出力値に基づいて式(19)の演算を行う。同様に、減算器62は、式(21a)の演算を行う。減算器63は、式(21b)の演算を行い、加算器64は、減算器62、63の出力値に基づいて式(22)の演算を行う。比較器56は、減算器51の出力値X_IN−BXと加算器54の出力値とを比較し、セレクタ55、65のそれぞれが2つの入力値のいずれを出力値として出力するかを指示する。X_INが(AX−2BX+CX)/4以下の場合には、セレクタ55が減算器52の出力値を選択し、セレクタ65が減算器62の出力値を選択する。一方、X_IN−BXが(AX−2BX+CX)/4よりも大きい場合には、セレクタ55が減算器53の出力値を選択し、セレクタ65が減算器63の出力値を選択する。セレクタ55、65によって選択された値が、それぞれBX、BYとして、単位演算ユニット50に供給される。また、加算器54、64の出力値が、それぞれCX、CYとして単位演算ユニット50に供給される。
【0106】
ここで、式(16)〜(22)に含まれている除算は、下位ビットを切り捨てることによって実現可能であることに留意されたい。下位ビットの切り捨てを行う回路上の場所は、式(16)〜(22)と等価な演算が行われる限り、適宜に変更可能である。図17の初段演算ユニット50は、セレクタ55、65の出力において下位1ビットが切り捨てられ、加算器54、64の出力において下位2ビットが切り捨てられるものとして構成されている。
【0107】
一方、単位演算ユニット50〜50は、同一の構成を有しており、減算器71、72、セレクタ73、比較器74、減算器75、セレクタ76、及び加算器77を備えている。
【0108】
以下では、i回目の平行移動/中点演算を行う単位演算ユニット50について説明する(iは、2以上N以下の整数)。減算器71は、第1入力が演算対象階調値X_INi−1が供給される入力端に接続され、第2入力がBXi−1が供給される入力端に接続されている。減算器72は、第1入力がBXi−1が供給される入力端に接続され、第2入力がCXi−1が供給される入力端に接続されている。減算器75は、第1入力がBYi−1が供給される入力端に接続され、第2入力がCYi−1が供給される入力端に接続されている。
【0109】
比較器74は、第1入力が減算器71の出力に接続され、第2入力がCXi−1が供給される入力端に接続されている。
【0110】
セレクタ73は、第1入力がBXi−1が供給される入力端に接続され、第2入力が減算器72の出力に接続され、比較器74の出力値SELiに応答して第1入力と第2入力のいずれかを選択する。同様に、セレクタ76は、第1入力がBYi−1が供給される入力端に接続され、第2入力が減算器75の出力に接続され、比較器74の出力値に応答して第1入力と第2入力のいずれかを選択する。
【0111】
演算対象階調値X_INは、減算器71の出力に接続された出力端から出力される。また、BXは、セレクタ73の出力に接続された出力端から出力され、CXは、CXが供給された入力端に配線を介して接続された出力端から出力される。このとき、CXの下位2ビットが切り捨てられる。更に、BYは、セレクタ73の出力に接続された出力端から出力され、CYは、CYi−1が供給された入力端に配線を介して接続された出力端から出力される。このとき、CYi−1の下位2ビットが切り捨てられる。
【0112】
また、加算器77は、第1入力がBXi−1が供給される入力端に接続され、第2入力がY_OUTi−1が供給される入力端に接続される。ここで、2回目の平行移動/中点演算を行う単位演算ユニット50については、単位演算ユニット50に入力されるY_OUTがBYに一致することに留意されたい。Y_OUTは、加算器77の出力から出力される。
【0113】
減算器71は、式(39)の演算を行い、減算器72は、式(40b)の演算を行う。減算器75は、式(42b)の演算を行い、加算器77は、式(45)の演算を行う。比較器74は、減算器71の出力値X_IN(=X_INi−1−BXi−1)とCXi−1とを比較し、セレクタ73、76のそれぞれが2つの入力値のいずれを出力値として出力するかを指示する。X_INがCXi−1以下である場合には、セレクタ73がBXi−1を選択し、セレクタ76がBYi−1を選択する。一方、X_INがCXi−1よりも大きい場合には、セレクタ73が減算器72の出力値を選択し、セレクタ76が減算器75の出力値を選択する。セレクタ73、76によって選択された値が、それぞれBX、BYとして、次段の単位演算ユニット50i+1に供給される。また、CXi−1、CYi−1の下位2ビットを切り捨てた値が、CX、CYとして次段の単位演算ユニット50i+1に供給される。
【0114】
ここで、式(40)〜(43)に含まれている除算は、下位ビットを切り捨てることによって実現可能であることに留意されたい。下位ビットの切り捨てを行う回路上の場所は、式(40)〜(343)と等価な演算が行われる限り、適宜に変更可能である。図17の単位演算ユニット50は、セレクタ73、76の出力において下位1ビットが切り捨てられ、CXi−1、CYi−1を受け取る配線において下位2ビットが切り捨てられるものとして構成されている。
【0115】
図17の単位演算ユニット50〜50図14の単位演算ユニット30〜30の構成を比較すれば、演算の最適化による演算器の減少の効果を理解できよう。加えて、平行移動/中点演算を行う図17の構成では、単位演算ユニット50〜50のそれぞれが下位ビットを切り捨てるように構成されているので、取り扱うデータのビット数が後段の単位演算ユニット50〜50になるほど少なくなる。このように、平行移動/中点演算を行う図17の構成では、ハードウェアを削減しながら出力値Y_OUTを計算できる。
【0116】
上記では、3つの制御点で形状が規定される2次ベジェ曲線を用いて出力値Y_OUTを算出する場合について説明されているが、3次以上のベジェ曲線を用いて出力値Y_OUTを算出してもよい。n次ベジェ曲線を用いる場合には、(n+1)個の補正用制御点が初期的に与えられ、その(n+1)個の補正用制御点に対して上記と同様の中点演算が行われて出力値Y_OUTが算出される。
【0117】
より具体的には、(n+1)個の補正用制御点が与えられる場合、中点演算は、以下のようにして行われる。(n+1)個の補正用制御点の隣接する2つの制御点の中点である1次中点が算出される。1次中点は、n個存在する。更に、n個の1次中点の隣接する2つの中点である2次中点が算出される。2次中点は、n−1個存在する。以下同様に、(n−k+1)個のk次中点の隣接する2つの中点である(n−k)個の(k+1)次中点が算出される。この手順を、1個のn次中点が算出されるまで繰り返して行う。ここで、(n+1)個の制御点のうち、X座標が最小のものを最小制御点と規定し、X座標が最大のものを最大制御点と規定する。また、k次中点のうちX座標が最小のものを最小k次中点と規定し、X座標が最大のものを最大k次中点と規定する。n次中点のX座標が入力階調値X_INより小さい場合、最小制御点、最小1次中点乃至最小(n−1)次中点、及びn次中点が、次のステップの(n+1)個の制御点として選択される。一方、n次中点のX座標が入力階調値X_INより大きい場合、n次中点、最大(n−1)次中点乃至最大1次中点、及び最大制御点が、次の中点演算の(n+1)個の制御点として選択される。出力値Y_OUTは、N回の中点演算によって得られた(n+1)個の制御点のうちの少なくとも一の制御点のY座標に基づいて算出される。
【0118】
このような一般化の理解をより容易にするために、n=3の場合(即ち、3次ベジェ曲線が出力値Y_OUTの算出に用いられる場合)の中点演算について更に説明する。この場合、4つの補正用制御点CP(3k)’〜 CP(3k+3)’がベジェ曲線演算回路22に設定される。以下では、4つの補正用制御点CP(3k)’、CP(3k+1)’、CP(3k+2)’、CP(3k+3)’を、単に、制御点A、B、C0、と記載し、また、制御点A、B、C0、の座標が、それぞれ、(AX、AY)、(BX、BY)、(CX、CY)、(DX、DY)であるとする。ここで、制御点A、B、C、Dの座標A(AX、AY)、B(BX、BY)、C(CX、CY)、D(DX、DY)は、それぞれ、次のように表わされる:
(AX、AY)=(XCP(3k)’,YCP(3k)’)
(BX、BY)=(XCP(3k+1)’,YCP(3k+1)’)
(CX、CY)=(XCP(3k+2),YCP(3k+2’)
(DX、DY)=(XCP(3k+3),YCP(3k+3’)
【0119】
図18は、n=3の場合(即ち、3次ベジェ曲線が出力値Y_OUTの算出に使用される場合)についての中点演算を説明する図である。初期的に、4つの制御点A、B、C、Dが与えられる。ここで、制御点Aが最小制御点であり、点Dが最大制御点である。最初の中点演算(1回目の中点演算)では、制御点Aと制御点Bの中点である1次中点dと、制御点Bと制御点Cの中点である1次中点eと、制御点Cと点Dの中点である1次中点fが求められる。ここで、dが最小1次中点であり、fが最大1次中点である。更に、1次中点d、eの中点である2次中点gと、1次中点e、fの中点である2次中点hとが求められる。ここで、gが最小2次中点であり、hが最大2次中点である。更に、2次中点g、hの中点である3次中点iが求められる。3次中点iは、4つの制御点A、B、C、Dによって規定される3次ベジェ曲線の上の点であり、3次中点iの座標(Xi0,Yi0)は、下記式で表わされる:
i0=(AX+3BX+3CX+DX)/8,
i0=(AY+3BY+3CY+DY)/8.
【0120】
次の中点演算(2回目の中点演算)に使用される4つの制御点:点A、B、C、Dは、入力階調値X_INと3次中点iのX座標Xi0との比較の結果に応じて選択される。詳細には、Xi0≧X_INの場合、最小制御点A、最小1次中点d、最小2次中点f、及び3次中点eが、それぞれ、点A、B、C、Dとして選択される。一方、Xi0<X_INの場合には、3次中点e、最大2次中点h、最大1次中点f、及び最大制御点Dが、それぞれ、点A、B、C、Dとして選択される。
【0121】
2回目以降の中点演算も、同様の手順で行われる。一般化すれば、i回目の中点演算では、下記のような演算が行われることになる:
(A)(AXi−1+3BXi−1+3CXi−1+DXi−1)/8≧X_INの場合
AX=AXi−1,・・・(2a’)
BX=(AXi−1+BXi−1)/2, ・・・(3a’)
CX=(AXi−1+2BXi−1+CXi−1)/4,・・・(4a’)
DX=(AXi−1+3BXi−1+3CXi−1+DXi−1)/8,・・・(5a’)
AY=AYi−1,・・・(6a’)
BY=(AYi−1+BYi−1)/2, ・・・(7a’)
CY=(AYi−1+2BYi−1+CYi−1)/4.・・・(8a’)
DY=(AYi−1+3BYi−1+3CYi−1+DYi−1)/8,・・・(9a’)
(B)(AXi−1+3BXi−1+3CXi−1+DXi−1)/8<X_INの場合
AX=(AXi−1+3BXi−1+3CXi−1+DXi−1)/8,・・・(2b’)
BX=(BXi−1+2CXi−1+DXi−1)/4,・・・(3b’)
CX=(CXi−1+DXi−1)/2, ・・・(4b’)
DX=DXi−1,・・・(5b’)
AX=(AXi−1+3BXi−1+3CXi−1+DXi−1)/8
BY=(BYi−1+2CYi−1+DYi−1)/4,・・・(6b’)
CY=(CYi−1+DYi−1)/2, ・・・(7b’)
DY=DYi−1,・・・(8b’)
【0122】
なお、条件(A)、(B)に関して等号が条件(A)、(B)のいずれの不等号に付せられてもよいことは、当業者には自明的であろう。
【0123】
中点演算が行われる毎に、制御点A、B、C,Dが3次ベジェ曲線に近づいていくと共に、制御点A、B、C,DのX座標が入力階調値X_INに近づいていく。N回目の中点演算によって得られた制御点A、B、C,Dの少なくとも一つのY座標から、最終的に算出すべき出力値Y_OUTの値が得られる。例えば、制御点A、B、C、Dのうちから任意に選択された一の制御点のY座標が、出力値Y_OUTとして選ばれてもよい。また、制御点A、B、C、DのY座標の平均値が出力値Y_OUTとして選ばれてもよい。
【0124】
中点演算が行われる回数Nが比較的少ない範囲では、中点演算が行われる回数Nが多いほど、出力値Y_OUTの精度を向上させることができる。ただし、出力値Y_OUTの精度は、中点演算が行われる回数Nが出力値Y_OUTのビット数に到達すると、それ以上は向上しない。中点演算が行われる回数Nは、出力値Y_OUTのビット数に一致することが好ましい。例えば、出力値Y_OUTが12ビットデータである本実施形態では、中点演算が行われる回数Nは、12であることが好ましい。
【0125】
(n+1)次ベジェ曲線を用いて出力値Y_OUTを算出する場合においても2次ベジェ曲線を用いる場合と同様に、中間に位置する制御点のいずれかが原点Oになるように平行移動したうえで中点演算を行ってもよい。例えば、3次ベジェ曲線でガンマカーブを表現する場合、制御点Bi−1又はCi−1が原点Oになるように平行移動したうえで1次中点乃至n次中点が算出される。更に、平行移動後の制御点Ai−1’、最小1次中点、最小2次中点、及び3次中点の組み合わせ、又は、3次中点、最大2次中点、最大1次中点、及び制御点Di−1’の組み合わせのいずれかが、次の制御点A、B、C、Dとして選ばれる。この場合も、各演算器において処理される値のビット数を低減することができる。
【0126】
以上には、本発明の実施形態が具体的に記述されているが、本発明は、上記の実施形態に限定されない。本発明が種々の変更と共に実施され得ることは、当業者には理解されよう。
【符号の説明】
【0127】
1 :OLED表示パネル
2 :表示ドライバ
3 :ホスト
4 :ゲート線
5 :データ線
6 :画素回路
7 :ゲートドライバ回路
10 :表示装置
11 :インターフェース制御回路
12 :ガンマ補正回路
13 :ラッチ回路
14 :リニア階調電圧生成回路
15 :データ線駆動回路
16 :レジスタ
21 :補正用制御点演算回路
22 :ベジェ曲線演算回路
23 :乗算回路
24 :セレクタ
25 :乗算回路
30 :単位演算ユニット
30〜30:単位演算ユニット
31〜33 :加算器
34〜36 :セレクタ
35 :セレクタ
36 :セレクタ
37 :比較器
40 :出力段
41〜43:加算器
44〜46:セレクタ
50 :初段演算ユニット
50〜50:単位演算ユニット
51〜53:減算器
54 :加算器
55 :セレクタ
56 :比較器
62、63:減算器
64 :加算器
65 :セレクタ
71、72:減算器
73 :セレクタ
74 :比較器
75 :減算器
76 :セレクタ
77 :加算器
100 :ガンマ補正回路
101 :入力階調値調節回路
102 :最大輝度演算回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18