(57)【特許請求の範囲】
【請求項１】
カラー画像を出力する出力デバイスにおいて制御可能な３色の原色強度のうち、単色を表示した際に測色されるＸＹＺ表色系空間でのベクトル方向をそれぞれの座標軸とした所定の色空間での座標を取得するための特性データを保持する記憶部と、
前記記憶部に保持した前記特性データを用いて、入力された原色強度から前記所定の色空間での予測座標を算出する予測出力値算出部と、
前記入力された原色強度のうち少なくとも１つから、他の少なくとも１色の原色強度に基づいて前記予測出力値算出部で算出された前記予測座標の、補正対象原色と同じ原色成分を減算する原色強度補正部とを備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記原色強度補正部から出力される出力原色強度を前記出力デバイスに供給する制御値に変換する逆γ変換部をさらに備え、
前記出力原色強度は、原色毎に測定された三刺激値が線形に近くなるように選ばれ、且つ前記制御値との相関が前記逆γ変換部に格納されていることを特徴とする画像処理装置。
【請求項３】
請求項１又は請求項２に記載の画像処理装置であって、
前記記憶部は、前記出力デバイスにおいて制御可能な原色強度毎に測定された前記所定の色空間の座標値から、測定された黒表示時における座標値を減算した座標値に基づいて生成された前記予測出力値算出部で用いる前記特性データを保持することを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記記憶部は、前記出力デバイスの前記黒表示時における前記所定の色空間での座標値を保持し、
前記予測出力値算出部は、算出した前記予測座標に前記黒表示時における前記所定の色空間での座標値を加算することを特徴とする画像処理装置。
【請求項５】
請求項１乃至請求項４のいずれか１つに記載の画像処理装置であって、
入力デバイスより入力される画像データを、入力データ色空間で定義されているγ値に応じてγ変換するγ変換部と、
前記入力データ色空間で表現される前記画像データを、前記所定の色空間に座標変換する座標変換部とをさらに備えることを特徴とする画像処理装置。
【請求項６】
請求項１乃至請求項５のいずれか１つに記載の画像処理装置と、
前記画像処理装置より出力された前記出力原色強度に基づき画像を出力する出力デバイスとを備える画像出力装置。
【請求項７】
請求項６に記載の画像出力装置であって、
製造される個体毎に測定された前記出力デバイスの出力を測定し、当該測定結果に基づいて生成した特性データで前記画像処理装置内の記憶部を更新することを特徴とする画像出力装置。
【請求項８】
請求項６又は請求項７に記載の画像出力装置であって、
所定の使用期間経過後に、前記出力デバイスの出力を測定し、当該測定結果に基づいて生成した新たな特性データで前記画像処理装置内の記憶部を更新することを特徴とする画像出力装置。
【請求項９】
請求項６乃至請求項８のいずれか１つに記載の画像出力装置であって、
前記出力デバイスは光源を備え、前記光源からの光を制御することにより所定の画像を表示し、
入力される画像データの明るさ情報を検出する明るさ情報検出部と、
前記明るさ情報に応じて前記光源の発光量を制御する光源制御部と、
前記光源制御部の制御量、若しくは前記明るさ情報に基づいて前記画像データの前記出力デバイス上での明るさを補正する画像変換部とをさらに備え、
前記画像変換部より出力される前記画像データを請求項１乃至請求項１１に記載の画像処理装置で処理することを特徴とする画像出力装置。
【請求項１０】
請求項６乃至請求項９のいずれか１つに記載の画像出力装置であって、
前記出力デバイスの制御値と前記画像処理装置より出力された前記出力原色強度とが線形となるように、前記出力デバイスの階調設定がなされていることを特徴とする画像出力装置。
【請求項１１】
請求項１乃至請求項５のいずれか１つに記載の画像処理装置と、
前記画像処理装置に画像データを入力する入力デバイスと、
前記画像処理装置より出力された出力原色強度に基づき画像を出力する出力デバイスとを備える画像処理システム。
【請求項１２】
カラー画像を出力する出力デバイスにおいて制御可能な３色の原色強度のうち、単色を表示した際に測色されるＸＹＺ表色系空間でのベクトル方向をそれぞれの座標軸とした所定の色空間での座標を取得するための特性データを用いて、入力された原色強度から前記出力デバイスに出力される前記所定の色空間での予測座標を算出する予測出力値算出ステップと、
前記入力された原色強度のうち少なくとも１つから、他の少なくとも１色の原色強度に基づいて前記予測出力値算出ステップで算出された前記予測座標の、補正対象原色と同じ原色成分を減算する原色強度補正ステップとを備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像出力装置、画像処理システムに係る発明である。
【背景技術】
【０００２】
プリンタやディプレイのような出力デバイスは、デジタルカメラやスキャナのような入力デバイスと異なる色空間を持っており、相互に結合する際には一旦何らかの色空間に変換する必要があった。通常、この変換には、入力デバイスの色空間（入力画像）を一旦何らかの標準色空間に変換し、それを出力デバイスの色空間へ変換し直していた。これにより、異なる色空間を有する出力デバイスと入力デバイスとを任意で組み合わせても、正しい色座標変換ができる。
【０００３】
国際標準団体ＩＣＣ（International Color Consortium）では、前述の色座標変換について、その変換方法や入出力デバイス毎にその特性を記述したProfileフォーマット等について標準化している。例えば、標準規格にＩＣＣ．１：２００４−１０がある。これによると標準色空間は、Ｐｒｏｆｉｌｅの接続空間と言うことで、ＰＣＳ（Profile Connection Space）と定義されている。そして、いくつかのＰＣＳの種類及び変換手法も定義されている。
【０００４】
一般的に理解しやすい変換方法としては、まず入力画像（例えばＲＧＢ値）をγ変換して、線形値である原色強度ＩＲ，ＩＧ，ＩＢを算出する。次に、ＰＣＳを視感度の三刺激値であるＣＩＥ−ＸＹＺ（以降、Ｘ，Ｙ，Ｚとも表す）とすると、座標変換により原色強度ＩＲ，ＩＧ，ＩＢをＸ，Ｙ，Ｚに変換する。さらに、出力デバイスの色空間がＣＭＹ値で表されている場合、ＰＣＳの値（Ｘ，Ｙ，Ｚ）を出力デバイスのＣＭＹ空間への座標変換する。そして、ＣＭＹ空間の座標を逆γ変換を行い、出力デバイスの制御値を得る。
【０００５】
以上が、カラーマッチングの基本であるが、一般的なデバイスではγカーブ等が非線形な特性を有しているので、前述の変換方法だけでは十分な特性を得ることができない場合が多い。
【０００６】
そのため、例えばγ変換や逆γ変換において、γ値をＲＧＢやＣＭＹ毎に異ならせたり、ＬＵＴ（ルックアップテーブル）を使用する対応が必要となる。但し、γ変換又は逆γ変換のＬＵＴ処理はさほど問題とならないが、色空間の座標変換にＬＵＴを使用する処理は次元が多いためメモリ使用量が問題となる。例えば、ＰＣＳが２４ｂｉｔ色（３ｂｙｔｅ）に対してある色空間の２４ｂｉｔ色（３ｂｙｔｅ）の出力情報を得ようとすると、ＬＵＴに約５０Ｍｂｙｔｅの記憶容量が必要となる。もちろん、ＬＵＴのデータを間引いて、値の存在しないところを補完で算出する方法もあるが、変換精度と容量の大きさにはトレードオフの関係があるため、ＬＵＴの記憶容量の低減には限界がある。
【０００７】
一方、出力デバイスに着目すると、プリンタであれば座標変換の処理速度はあまり問題にならない。これは、プリンタが出力デバイスの場合、ＰＣ（パーソナルコンピューター）で座標変換作業を受け持つことができ、前述のようなフルサイズのＬＵＴも容易に用いることができるためである。但し、近年ではプリンタ自身が不揮発記憶媒体の読取装置を有し、プリンタ内部で座標変換作業を行う必要があるため、フルサイズのＬＵＴをプリンタ自身に持つことが困難であるので、別の手法を試みる必要がある。
【０００８】
また、出力デバイスが表示装置（ディスプレイ）の場合、動画表示が要求されるため、リアルタイム処理が必須となる。そのため、表示装置では、高速に処理できる色座標変換のアルゴリズムが必要であり、ＰＣなどのシステム側に負荷をかけない処理が望ましい。よって、出力デバイスが表示装置（ディスプレイ）の場合、ＬＵＴの容量も制限され、新たな手法も必要となる。特に、表示装置がＬＣＤ（液晶表示装置）の場合、ＲＧＢ毎にγカーブが異なっている。そのため、例えば、特許文献１や特許文献２に示されている手法により、ＬＣＤの色座標変換等の処理を改善している。
【０００９】
【特許文献１】特開２００１−３１２２５４号公報
【特許文献２】特開２００２−１１６７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
出力デバイスが表示装置の場合、表示装置側での色座標変換処理は、高速且つ低記憶容量が要求される。特に、光学特性に歪をもつＬＣＤが表示装置の場合、前述特許文献１，２では、ＲＧＢ毎にγ特性が異なるように処理している。しかし、特許文献１，２の処理は、フルサイズのＬＵＴを用いて処理する場合に比べて変換精度が不十分であった。具体的に、ＬＣＤでは、ＲＧＢのＹ値だけでなくＸ値，Ｙ値，Ｚ値のそれぞれ異なるため、９本のγカーブが必要となる。また、ＴＮ（ツイストネマチック）ＬＣＤの場合、それぞれのγカーブはγ乗のような単純な関数では表せず、変曲点が存在することもある。そのため、前述特許文献１，２の方法を用いても、高精度且つ簡単な色座標変換は容易ではない。
【００１１】
そこで、本発明は、ＲＧＢ等の制御可能な原色のそれぞれについて三刺激値ＸＹＺのγカーブが異なる出力デバイスにおいて、高精度且つ簡単な色座標変換が可能であり、高速且つ低記憶容量の画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る解決手段は、カラー画像を出力する出力デバイスにおいて制御可能な３色の原色強度のうち、単色を表示した際に測色されるＸＹＺ表色系空間でのベクトル方向をそれぞれの座標軸とした所定の色空間での座標を取得するための特性データを保持する記憶部と、前記記憶部に保持した前記特性データを用いて、入力された原色強度から前記所定の色空間での予測座標を算出する予測出力値算出部と、前記入力された原色強度のうち少なくとも１つから、他の少なくとも１色の原色強度に基づいて前記予測出力値算出部で算出された前記予測座標の、補正対象原色と同じ原色成分を減算する原色強度補正部とを備える。
【発明の効果】
【００１３】
本発明に記載の画像処理装置は、記憶部と、予測出力値算出部と、原色強度補正部とを備えるので、複雑な光学特性を持つ出力デバイスに対しても、高精度で所望の色座標を出力することができ且つ簡単な色座標変換が可能である。さらに、本発明に記載の画像処理装置は、大容量のＬＵＴや複雑な処理が不要であるため、高速且つ低記憶容量で提供することができる。
【発明を実施するための最良の形態】
【００１４】
（実施の形態 １）
出力デバイスと入力デバイスとでカラーマッチングを行う一般的な方法について、図１に示すブロック図を用いて説明する。まず、入力デバイス１から入力された入力画像はγ変換部２でγ変換され、線形値の各原色強度となる。具体的には、入力画像がＲＧＢ値で表されている場合、γ変換により以下の数１に示す原色強度ＩＲ，ＩＧ，ＩＢとなる。
【００１５】
【数１】
0004791233.tif 000002
【００１６】
次に、ＰＣＳとしてＣＩＥ−ＸＹＺを採用している場合、γ変換部２からの出力（ＩＲ，ＩＧ，ＩＢ）は、第１座標変換部３で変換され、数２に示すＸ，Ｙ，Ｚとなる。
【００１７】
【数２】
0004791233.tif 000003
【００１８】
さらに、出力デバイス６での色空間がＣＭＹ値で表されている場合、数３に示すようにＰＣＳの値（Ｘ，Ｙ，Ｚ）を第２座標変換部４でＣＭＹの色空間に座標変換する。
【００１９】
【数３】
0004791233.tif 000004
【００２０】
次に、数３で得られた値（ＩＣ，ＩＭ，ＩＹ）を逆γ変換部５で変換し、出力デバイス６で出力可能な値（Ｃ，Ｍ，Ｙ）にしている。逆γ変換部５での変換は、数４で表される。
【００２１】
【数４】
0004791233.tif 000005
【００２２】
以上が、カラーマッチングの基本であり、図１では、画像データを入力デバイス１から第１座標変換部３の入力まで入力色空間（例えばＲＧＢ）で表し、第１座標変換部３の出力から第２座標変換部４の入力までＰＣＳ色空間（例えばＸＹＺ）で表し、第２座標変換部４の出力から出力デバイス６まで出力色空間（例えばＣＭＹ）で表している。
【００２３】
しかし、前述したように光学特性に歪をもつＬＣＤを出力デバイス６とする場合、数２や数３に示す変換式は単純ではない。そこで、例えばＴＮモードのＴＦＴ−ＬＣＤの場合には、まずＲＧＢの画像を入力した際の実測値を測定する。図２（ａ）（ｂ）（ｃ）に、ＲＧＢ毎に測定されたＸＹＺ値の階調特性を示す。図２（ａ）（ｂ）（ｃ）では、ＲＧＢの入力階調（最大１に規格化）を横軸に、Ｒ，Ｇ，Ｂ＝１，１，１を入力した際のＹ値（すなわち白のＹ値）を１として規格化したＲＧＢ毎のＸＹＺ値を縦軸にしている。なお、図２（ａ）はＲのＸＹＺ特性を、図２（ｂ）はＧのＸＹＺ特性を、図２（ｃ）はＢのＸＹＺ特性をそれぞれ表している。
【００２４】
次に、図２（ａ）（ｂ）（ｃ）に示すグラフの横軸を、一般的なγ値に使用される白のグレースケールのＹ特性（ＹＲ＋ＹＧ＋ＹＢ）に変更した場合のグラフを図３（ａ）（ｂ）（ｃ）に示す。なお、図３（ａ）（ｂ）（ｃ）の横軸は、当該Ｙ特性の最大値を１として規格化している。また、図３（ａ）はＲのＸＹＺ特性を、図３（ｂ）はＧのＸＹＺ特性を、図３（ｃ）はＢのＸＹＺ特性をそれぞれ表している。
【００２５】
さらに、図３（ａ）（ｂ）（ｃ）に示すグラフの縦軸を、ＲＧＢ毎のＸＹＺ特性それぞれの最大値を１として規格化したグラフを図４（ａ）（ｂ）（ｃ）に示す。なお、図４（ａ）はＲのＸＹＺ特性を、図４（ｂ）はＧのＸＹＺ特性を、図４（ｃ）はＢのＸＹＺ特性をそれぞれ表している。
【００２６】
図４（ａ）（ｂ）（ｃ）における各特性が全て原点を通り傾き１の直線であれば、与えられた所望のＸＹＺ値から出力すべきＲＧＢ原色強度を求めるには、数３に示す簡単な一次変換を利用すればよい。しかし、本実施の形態のように光学特性に歪をもつＬＣＤを出力デバイスに採用する場合、数３に示す簡単な一次変換を利用したのでは、変換後に得られる結果が所望の値からずれてしまう。このような場合、図４（ａ）（ｂ）（ｃ）の特性を多項式等の何らかの関数（ＸR（Ｒ），ＹR（Ｒ）・・・ＺB（Ｂ））で近似して数５に示すような関係式を求め、与えられたＰＣＳの値（Ｘ，Ｙ，Ｚ）からＲＧＢ原色強度を逆算すればよい。
【００２７】
【数５】
0004791233.tif 000006
【００２８】
しかし、仮に数５が２次式であっても、３元２次連立方程式であり代数的に簡単に解けない。さらに、近似関数が３次以上や別の関数などであれば、代数的な解法は事実上不可能である。そこで、本実施の形態では、以下に説明する方法を用いて色座標変換等の画像処理を行う。
【００２９】
まず、図５に、本実施の形態に係る画像処理方法のフローチャートを示す。図５に示す画像処理１００は、図１に示したブロック図において、第２座標変換部４での処理に相当する。図１では、第２座標変換部４の後に、この第２座標変換４で使用したＲＧＢ原色強度と、出力デバイス６でＲＧＢを制御するための値（例えば、ＬＣＤの場合、所望の透過率となる印加電圧を指定する値）とを関連付ける逆γ変換部５が設けられている。
【００３０】
次に、図５を用いて第２座標変換４での画像処理を具体的に説明する。まず、画像処理１００では、ＰＣＳの値（Ｘ，Ｙ，Ｚ）が仮の強度算出ステップ１０１に入力される。仮の強度算出ステップ１０１では、記憶部１０４に保持されているデバイス特性データを用いて、仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）を算出する。ここで、記憶部１０４に保持されているデバイス特性データは、前述した図２に示す実測データが所定の形式に変換されたデータである。
【００３１】
仮の強度算出ステップ１０１では、具体的には数３と同様の数６に示す簡単な一次変換を行うことで算出される。
【００３２】
【数６】
0004791233.tif 000007
【００３３】
なお、数６で用いている３×３の変換行列は、記憶部１０４に保持されているデバイス特性データに基づき作成されており、具体的にはＲＧＢそれぞれの最大値を表示させた時のＸＹＺ値を行列配置し、その逆行列をとったものである（数７）。
【００３４】
【数７】
0004791233.tif 000008
【００３５】
得られた仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）は、予測ＰＣＳ値算出ステップ１０５及び微分係数行列作成ステップ１０２に並列入力される。
【００３６】
予測ＰＣＳ値算出ステップ１０５では、仮のＲＧＢ原色強度を入力した場合に出力デバイスで表示されるＸＹＺ値（出力すべき座標）を算出する。この算出時に使用する特性データは、記憶部１０４にデバイス特性データとして保持されており、図３に示すグラフより得られる特性データである。具体的に、記憶部１０４に保持されているデバイス特性データの形式には大きく２通りあり、１つはＬＵＴを用いる形式と、もう一つは関数化する形式とがある。
【００３７】
ＬＵＴを用いる形式は、離散化した何点かのＲＧＢ原色強度に対するＸＹＺ値をデバイス特性データとして保持させておき、記憶されていないＲＧＢ原色強度については線形補完若しくはｎ次スプライン補完などの手法を用いる。一方、関数化する方法は、何らかの関数を定義し、その中で使用されるパラメータのみをデバイス特性データとして保持させておく。
【００３８】
例えば、ＬＣＤの特性データは、ｘを変数としたａ＋ｂｘ＋ｃｘ2＋ｄｘ3のような多項式であれば概ね３次程度で関数化できる。そのため、記憶部１０４に保持させておくデバイス特性データは、パラメータの数（記憶容量）を優先すれば多項式の関数化が望ましい。これは、後述する微分係数のところでも多項式での関数化が役に立つ。
【００３９】
記憶部１０４のデバイス特性データからＲＧＢ毎のＸＹＺ値を取得する動作を、ＸR（ＩＲ），・・・，ＺB（ＩＢ）のような形で記述すると、予測ＰＣＳ値算出ステップ１０５での計算が数８のように表すことができる。
【００４０】
【数８】
0004791233.tif 000009
【００４１】
数８に示すＸP，ＹP，ＺPは、仮のＲＧＢ原色強度ＩＲ，ＩＧ，ＩＢを出力デバイスに出力した場合に予測されるＸＹＺ値（予測ＰＣＳ値（予測座標））である。なお、数７の右辺要素に、数８の右辺で使用しているＸR（ＩＲ），・・・，ＺB（ＩＢ）を用いると数９のように表される。
【００４２】
【数９】
0004791233.tif 000010
【００４３】
但し、数９の右辺要素は、関数に１を代入した最大強度を表している。
【００４４】
次に、数８により得られた予測ＰＣＳ値（ＸP，ＹP，ＺP）は、ＰＣＳ誤差算出ステップ１０６に入力される。ＰＣＳ誤差算出ステップ１０６は、予測ＰＣＳ値（ＸP，ＹP，ＺP）が仮の強度算出ステップ１０１に入力されたＸＹＺ値に対し、どの程度ずれているのかを算出する。具体的には、数１０の計算を行う。
【００４５】
【数１０】
0004791233.tif 000011
【００４６】
一方、仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）は、微分係数行列作成ステップ１０２にも入力される。微分係数行列作成ステップ１０２では、仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）で表示した時、記憶部１０４のデバイス特性データに基づいて、ＲＧＢ毎の各ＸＹＺ値近傍での偏微分係数を求める。偏微分係数を求めることは、言い換えると、図３に示す各ＸＹＺ特性において、横軸を仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）とした時のスロープの傾きを取得することである。
【００４７】
微分係数行列作成ステップ１０２においても予測ＰＣＳ値算出ステップ１０５と同様、ＬＵＴを用いる形式又は関数化する形式で記憶部１０４に保持されたデバイス特性データを利用する。ＬＵＴを用いる形式では、予め計算した偏微分係数そのものをテーブルに入れておく方法と、テーブルに記憶されているＲＧＢ原色強度に対するＸＹＺ値のＩＲ，ＩＧ，ＩＢ近傍での変化率を計算する方法とがある。例えば、離散化したＲＧＢ原色強度に対するＸＹＺ値の偏微分係数を取得する場合、線形近似であれば求めた傾きをそのまま使用すればよい。
【００４８】
関数化する形式は、当該関数が代数的に微分し難い関数形であれば、ＩＲとＩＲ＋Δ（Δは微少量）とのＸＹＺ値の差から求めればよい（ＩＧ，ＩＢも同様）。多項式の場合は微分係数を求めるのが容易であるため、近似した多項式を代数的に微分して計算できる。いずれの形式においても、記憶部１０４のデバイス特性データに基づいて、ＲＧＢ毎にＸＹＺ値の偏微分係数を取得する動作を ｄＸR（ＩＲ），・・・，ｄＺB（ＩＢ）のように記述すると、微分係数行列作成ステップ１０２は、数１１の行列ＭΔを作成する。
【００４９】
【数１１】
0004791233.tif 000012
【００５０】
得られたＭΔ行列は、逆行列演算ステップ１０３へ入力される。逆行列演算ステップ１０３では、ＭΔ行列の逆行列ＭΔ-1を求める。逆行列ＭΔ-1の各要素の物理的意味は、ＸＹＺ値がＩＲ，ＩＧ，ＩＢで表示されている場合に、ＸＹＺ値が少しだけ変化するとＩＲ，ＩＧ，ＩＢがどの程度変化するか（変化しなければならないか）を表している。前述の内容を数式で表すと、数１２となる。
【００５１】
【数１２】
0004791233.tif 000013
【００５２】
次に、ＲＧＢ原色強度補正量算出ステップ１０７では、逆行列演算ステップ１０３からの逆行列ＭΔ-1と、ＰＣＳ誤差算出ステップ１０６からのΔＸ， ΔＹ， ΔＺとを乗算して、数１３のようにΔＩＲ， ΔＩＧ， ΔＩＢを算出する。
【００５３】
【数１３】
0004791233.tif 000014
【００５４】
次に、ＲＧＢ原色強度補正ステップ１０８は、仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）にＲＧＢ原色強度補正量算出ステップ１０７で得られたΔＩＲ， ΔＩＧ， ΔＩＢを加算して、数１４のように新たなＲＧＢ原色強度を得る。
【００５５】
【数１４】
0004791233.tif 000015
【００５６】
次に、終了判定ステップ１０９では、微分係数行列作成ステップ１０２及び予測ＰＣＳ値算出ステップ１０５等の一連の処理を繰り返すか否かについて判断する。処理を繰り返す場合には、ＲＧＢ原色強度補正ステップ１０８で得られた新たなＲＧＢ原色強度を、仮のＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）として使用して同じ処理を行う。終了する場合は、新たなＲＧＢ原色強度を出力するＲＧＢ原色強度して、図１に示した逆γ変換部５に出力し終了する。
【００５７】
前述のように終了判定ステップ１０９を設けて同じ処理を繰り返すのは、図５に示す処理を一度行っただけでは、目的とする色座標変換精度に到達しない可能性があるからである。そのため、図５に示す処理を再度行うことで、少なくとも数６で求められるＲＧＢ原色強度より変換精度を高くしている。つまり、高精度のカラーマッチングが必要となる用途の場合、図５に示す処理を複数回繰り返すことで実現可能となる。
【００５８】
なお、図５は、本実施の形態に係る画像処理方法のフローチャートとして説明したが、本方法をコンピュータにより実行する場合を想定すると、仮の強度算出ステップ１０１を仮の強度算出部、微分係数行列作成ステップ１０２を微分係数行列作成部、予測ＰＣＳ値算出ステップ１０５を予測ＰＣＳ値算出部等の機能ブロックに置き換えることで、本実施の形態に係る画像処理装置を説明するブロック図としても説明できる。
【００５９】
次に、前述の画像処理１００で説明した３次元の色座標変換を１次元の色座標変換に簡略化して、もう少し詳細に説明する。図６は、１次元の色座標変換の処理を模式的に示した図である。以下、この図６を使用して画像処理を説明する。まず、図６の縦軸は出力される値（例えばＹ）、横軸は設定すべき原色強度（例えばＩＲ）とする。出力される値に対する原色強度の関係は、理想的には直線（理想特性Ａ）であるが、実際には図６の実際の特性Ｂように歪んでいる。  所望の出力値がＰであるとき、仮の原色強度は理想特性Ａすなわち線形変換で求められＩ０と求まる。しかし、実際の特性Ｂが歪んでいるため、線形変換で求めた仮の原色強度Ｉ０に対する出力値は、図６に示すようにＰ０と予測される。そして、仮の原色強度Ｉ０付近での傾きＣを求め、当該傾きＣと出力値の差Ｐ−Ｐ０とから、補正した新たな原色強度Ｉ１を算出する。新たな原色強度Ｉ１に対応する出力値はＰ１である。出力値の差Ｐ−Ｐ１は、出力値の差Ｐ−Ｐ０よりも小さくなり、前述の処理を繰り返すことで出力値を限りなくＰに近づけることが可能である。
【００６０】
以上の処理を数式で示す。まず、原色強度Ｉを入力した際に出力される値がｆ（Ｉ）と表される時、仮の原色強度Ｉ０近傍でのテイラー展開は数１５と表される。 
【００６１】
【数１５】
0004791233.tif 000016
【００６２】
数１５を用いて所望の出力値Ｐとなるような原色強度Ｉを算出する場合、仮の原色強度Ｉ０が原色強度Ｉに近いとすると、高次の項を無視して数１６と近似することができる。
【００６３】
【数１６】
0004791233.tif 000017
【００６４】
よって、代数的に原色強度Ｉを求めると数１７となる。
【００６５】
【数１７】
0004791233.tif 000018
【００６６】
ここで、仮の原色強度Ｉ０が原色強度Ｉに近くなければ、数１６での近似に誤差が生じ数１７の算出結果に誤差が含まれることになる。そこで、より原色強度Ｉに近くなった数１７の算出結果を仮の原色強度Ｉ０として再び数１７で計算し直すことで、数１６での近似精度が向上し、最終的に原色強度Ｉの値に収束する。図５に示した一連の繰り返し処理は、数１７を多次元に拡張したものである。
【００６７】
なお、数１６で１次の項までとしているのは、仮に２次の項以上も含めれば２次以上の多元連立方程式となり、これを解くのが容易でなくなるためである。１次の項までならば一次変換の行列演算で容易に計算できるからである。具体的に、仮のＲＧＢ原色強度をＩＲ0，ＩＧ0，ＩＢ0として数１６を３次元に拡張すると、所望のＰＣＳ値（ＸＹＺ）に対するＲＧＢ原色強度ＩＲ，ＩＧ，ＩＢの関係式は数１８のようになる。
【００６８】
【数１８】
0004791233.tif 000019
【００６９】
さらに、数１８を変形し、数１９、数２０を求めることができる。
【００７０】
【数１９】
0004791233.tif 000020
【００７１】
【数２０】
0004791233.tif 000021
【００７２】
数２０は、数１０から数１４で示した一連の計算を一行で書いたものに相当する。すなわち、出力すべきＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）は、仮のＲＧＢ原色強度（ＩＲ0，ＩＧ0，ＩＢ0）に、補正量を加算したものである。この補正量は、所望のＰＣＳ設定値（Ｘ，Ｙ，Ｚ）から仮のＲＧＢ原色強度より予測されるＰＣＳ値を減算し、仮のＲＧＢ原色強度点でのＸＹＺ微分係数の逆行列で一次変換してものである。
【００７３】
なお、ＰＣＳの誤差（ΔＸ，ΔＹ，ΔＺ）を求める際、仮のＲＧＢ原色強度より予測されるＰＣＳ値から所望のＰＣＳ設定値を引いた場合、前述の出力すべきＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）の計算は、仮のＲＧＢ原色強度から補正量を減算することになる。これは、数２０のＰＣＳ誤差演算部分（Ｘ−｛・・・｝の項）をひっくり返すことで、第二項の符号が入れ替わる（＋から−へ）ことからも自明である。つまり、出力すべきＲＧＢ原色強度（ＩＲ，ＩＧ，ＩＢ）は、仮のＲＧＢ原色強度（ＩＲ0，ＩＧ0，ＩＢ0）に、補正量を減算したものである。この補正量は、仮のＲＧＢ原色強度より予測されるＰＣＳ値から所望のＰＣＳ設定値（Ｘ，Ｙ，Ｚ）を減算し、仮のＲＧＢ原色強度点でのＸＹＺ微分係数の逆行列で一次変換してものである。
【００７４】
なお、図５に示す仮のＲＧＢ原色強度算出部１０１の働きは、予測ＰＣＳ値算出１０５等の処理の繰り返し回数を減らすことにある。例えば、初めに与える仮のＲＧＢ原色強度を０に固定しても、関数の高次の係数が小さければ少ない繰り返し回数で所望の値に収束すると考えられる。しかし、初めに与える仮のＲＧＢ原色強度が所望の値にできるだけ近い値であれば、同じ精度に達するまでの繰り返し回数が少なくなる。
【００７５】
次に、終了判定１０９の判定基準は、要求精度により、固定回数（例えば３回）の繰り返しを行う方法や、得られたＲＧＢ原色強度をもう一度予測ＰＣＳ値算出ステップ１０５及びＰＣＳ誤差算出ステップ１０６で処理し、ΔＸ，ΔＹ，ΔＺの大きさ（例えば、ΔＸ／Ｘ＜１％）で判定する方法がある。本実施の形態で説明しているＬＣＤの場合、実際に図５の処理を１回から２回に変更すると処理結果に差が視認できるが、２回から３回に変更しても処理結果の差はほとんど視認できない。すなわち、本実施の形態で述べているＬＣＤの場合、図５の処理を２回繰り返すことで十分の精度が得られることが分かる。
【００７６】
実際に、リアルタイム性が要求されるＬＣＤ等の出力デバイスに対して図５の処理を行う場合は、前述のアルゴリズムをＡＳＩＣ等のＩＣ内部に作成してやればよい。特に、リアルタイム性を考慮すれば、終了判定は固定回数とする方がよい。つまり、固定回数分だけ同じブロックをＩＣ内に準備し、直列又は並列処理させてやればリアルタイム性は損なわない。若しくは、内部処理速度が画像データの入力する周波数よりも十分高ければ、例えば倍速で同じ計算を２回繰り返して、前述のアルゴリズム用のブロック（論理ゲート数）を減らすこともできる。
【００７７】
本実施の形態では、ＬＣＤに用いられる画像処理装置について説明しているが、これまで、黒表示（入力が全て０）については特に言及しなかった。しかし、実際に存在する画像を出力する出力デバイスのほとんどは、それ自身の出力方式の物理的特性若しくは、周囲光の影響で黒を出力しようとしても三刺激値（ＸＹＺ）が完全に０にならず有限の値を持つ。出力デバイスの入力０は、本来出力０を要求しているため、出力デバイスの再現可能範囲外の座標点となる。出力デバイスの可能な出力０が限りなく三刺激値の０に近ければ特に問題とならないが、ある程度の差がある場合には以下の手法を用いる方がよい。
【００７８】
まず、実際の出力デバイスの測定結果から、出力デバイスの特性データを作成する方法を説明する。三刺激値が０でない黒出力となる出力デバイスの場合、測定結果ＸM，ＹM，ＺMは数２１のように表される。
【００７９】
【数２１】
0004791233.tif 000022
【００８０】
数２１では、Ｘ0，Ｙ0，Ｚ0が黒を出力した際に測定される三刺激値である。ＸR（Ｉｒ），ＸG（Ｉｇ），・・・ＺB（Ｉｂ）は、Ｉｒ，Ｉｇ，Ｉｂ＝０ （黒）を表示をした際に、０となる何らかの関数である。すなわち、測定されたデータから、ＸR（Ｉｒ），ＸG（Ｉｇ），・・・ＺB（Ｉｂ）の関数を得るには、測定されたデータから黒出力（Ｘ0，Ｙ0，Ｚ0）の測定データを減算すればよい。従って、求められたＸR（Ｉｒ），ＸG（Ｉｇ），・・・ＺB（Ｉｂ）及びＸ0，Ｙ0，Ｚ0を記憶部１０４にデバイス特性データとして保持しておけば、予測ＰＣＳ値算出ステップ１０５は、数２２の演算を行えばよい。
【００８１】
【数２２】
0004791233.tif 000023
【００８２】
なお、微分係数行列作成ステップ１０２では、数２２の関数形と数８の関数型の違いが定数のみであるので微分の結果に影響はない。すなわち、デバイス特性データの作成は、黒表示の測定値（Ｘ0，Ｙ0，Ｚ0）を減算した値を用いて、数８の演算の代わりに数２２の演算を行えばよい。これにより、黒出力の三刺激値が０でない出力デバイスにおいても、入力で要求される色座標を忠実に出力することができる。但し、前述の処理によっても、出力可能な黒レベル以下が入力より要求されると物理的に出力できない課題は残る。この場合、三刺激値が全て０の黒から出力可能な黒までの入力に対しては階調表現ができない、いわゆる黒つぶれが生じることになる。
【００８３】
なお、出力された結果の見え方及び出力デバイスの要求仕様にもよるが、白／黒のコントラスト比が高ければ、出力可能な黒レベルは低く簡易的に０とみなすことができ、黒つぶれを回避することも可能である。その際、予想ＰＣＳ値の算出には、黒の値（Ｘ0，Ｙ0，Ｚ0）を減算した測定値を記憶部１０４にデバイス特性データとして保持し、数２２の代わりに数８を使用すればよい。これにより、補正後の出力値は、所望のＰＣＳ値に対してＸ0，Ｙ0，Ｚ0を加算されたものとなる。Ｘ0，Ｙ0，Ｚ0が小さいため、出力デバイスの表示上あまり影響を与えず、黒つぶれも回避できる。実際に本実施の形態で挙げているＬＣＤでは、白黒のグレースケールを表示させると、白に近い部分ではＸ0，Ｙ0，Ｚ0の影響が十分小さく測色誤差値（＝設定値と実際の出力の差÷設定値）及び表示上も問題がない。しかし、黒に近い部分では測色誤差値のみに影響が大きく出てくる結果となった。測色誤差値の影響の大きい暗部では、元々暗いため視認への影響は少なく、特に出力結果自体に表示上の違和感はなかった。
【００８４】
図７に、具体的なソースコードを示す。図７に示すソースコードは、Ｃ言語の構文で書かれており、”//”の行にコメントが記載されている。図７では、//仮の原色強度TempR, TempG, TempB計算が仮の強度算出ステップ１０１に、//予測ＰＣＳ値(PredX, PredY, PredZ)計算が予測ＰＣＳ値算出ステップ１０５に、//ＰＣＳ誤差計算がＰＣＳ誤差算出ステップ１０６に、//微分係数行列係数計算が微分係数行列作成ステップ１０２、//微分係数の逆行列計算が逆行列演算ステップ１０３に、//Ｒ，Ｇ，Ｂ補正強度算出がＲＧＢ原色強度補正量算出ステップ１０７に、//Ｒ，Ｇ，Ｂ強度補正がＲＧＢ原色強度補正ステップ１０８に、//固定回数（２回）ループが終了判定ステップ１０９にそれぞれ対応している。
【００８５】
また、図７に示すソースコードでは、変数の型宣言は省略しており、浮動小数点／固定小数点等の処理・表記も省略している。この図７に示すソースコードでは、デバイス特性データを３次の多項式に近似し、その係数として与えている。なお、図７では、デバイス特性データを下線で表している。また、図７では、前述の黒つぶれを回避する処理についても導入しており、多項式の０次の係数を０としてコード上で記載を省略している。
【００８６】
実際に、図７のソースコードに使用される定数を図８に示す。そして、図７に示すプログラムに何らかのＰＣＳ値（Ｘ，Ｙ，Ｚ）を与えると、最終的にTempR，TempG，TempBの出力するＲＧＢ原色強度を得ることができる。このように、本実施の形態に係る画像処理方法は単純なコードによって実現可能である。
【００８７】
次に、デバイス特性データを多項式近似する場合やＬＵＴを用いて２次以上で外挿を含む補完を行う場合において、ＲＧＢの各原色強度のとりうる範囲外（０〜１以外）のカーブは架空のものである。そのため、とりうる範囲外のカーブは極値をとることもある。前述した画像処理方法では、複数回の処理ループの中で、仮のＲＧＢ原色強度が範囲外になることもある。仮のＲＧＢ原色強度が範囲外になると、ＲＧＢの補正値が必要以上に大きくなったり、正負反転してしまい所望の値に収束できない場合も存在する。従って、ＲＧＢの各原色強度のとりうる範囲外となる仮のＲＧＢ原色強度が与えられた場合、以下のように処理を行うことが望ましい。
【００８８】
まず、仮のＲＧＢ原色強度がＲＧＢの各原色強度のとりうる範囲外であっても、その逸脱の大きさが小さければ近似的に最大値又は最小値付近での微分係数と同じとみなせる。そのため、予測ＰＣＳ値算出の過程において仮のＲＧＢ原色強度の最大値（１とする）を超えた場合、与えられた強度から強度１を減算した値に強度１のＰＣＳ微分係数を乗算して、強度１のＰＣＳ値を加えるとよい。また、与えられた仮のＲＧＢ原色強度が最小値（０とする）よりも小さい場合、与えられた強度に強度０のＰＣＳ微分係数を乗算して、強度０のＰＣＳ値を加えるとよい。
【００８９】
具体的にソースコードを図９に示す。図９に示すコードは、Ｃ言語の構文で書かれており、”//”の行にコメントが記載されている。図９では、ＲＧＢそれぞれの処理が記載されている。また、微分係数行列作成の過程については、仮のＲＧＢ原色強度が１を超える場合は強度１の時の値を使用し、仮のＲＧＢ原色強度が０より小さい場合は強度０の時の値を使用すればよい。具体的にソースコードを図１０に示す。図１０に示すコードは、Ｃ言語の構文で書かれており、”//”の行にコメントが記載されている。図１０では、ＲＧＢそれぞれの処理が記載されている。
【００９０】
次に、本実施の形態では、ＲＧＢ原色強度を最大値を１に規格化した白のグレースケールのＹ値と定義して説明した。しかし、本発明はこれに限定する必要はなく、ＲＧＢ毎に異なる値で規格化してもよい。但し、ＲＧＢ毎に異なる値で規格化した場合、画像処理後に挿入される逆γ変換、すなわちＲＧＢ原色強度に対する出力デバイスの制御値への変換過程において、ＲＧＢ毎に異なる処理が必要となる。
【００９１】
本実施の形態に係る画像処理方法において、最もよい補正結果を得るには、原色強度に対するＰＣＳのカーブを可能な限り線形に近づくように原色強度のスケールを選定すればよい。数１６の近似において、高次の係数が小さければＩ−Ｉ０の値がある程度大きくても高次の項が小さくなり近似精度が上がる。故に、画像処理の繰り返し回数を少なくしてもよい。つまり、仮のＲＧＢ原色強度や出力するＲＧＢ原色強度は、原色毎に測定された三刺激値が線形となるように選ばれ、且つ出力デバイスの制御値との相関が逆γ変換部に格納されていることで、よい補正結果を得ることができる。
【００９２】
例えば、ＲＧＢ原色強度に各々の主となる出力値はＸＹＺであるが、ＸＲ，ＹＧ，ＺＢのそれぞれを選定してもよいし、ＸＲ＋ＹＲ＋ＺＲ＋ＸＧ＋ＹＧ＋ＺＧ＋ＸＢ＋ＹＢ＋ＺＢの値を使用してもよい。図４（ｃ）のＢのカーブを見ると、どれも上に凸のカーブとなっている。そこで、図４（ｃ）のＢのＺカーブを最大値１に規格化して横軸とした方が、全体カーブが線形に近くなり、処理回数を減らすことができる。最大の効果を得るには、Ｒ，Ｇ，Ｂそれぞれについて、最大制御値（１）での各Ｘ，Ｙ，Ｚと原点（０）とを結ぶ直線と、実際の特性との差の２乗和が最小になるような原色強度を選べば良い。しかし、ＲＧＢ毎に選定する原色強度を変えると、逆γ変換の過程で使用する相関のパラメータの数が増えることになり、処理量と記憶容量とのトレードオフの関係がある。なお、本実施の形態で説明した画像処理方法は、何の値を原色強度として定義しても、当該原色強度と出力の制御値との相関を把握しておき逆γ変換を行えば成立する。
【００９３】
また、原色強度に対する出力デバイスの制御値を線形になるように出力デバイス側の設定が可能であれば、逆γ変換は不要となり、画像処理方法はよりシンプルとなる。なお、出力デバイス側の設定として例えばＬＣＤの場合、印加電圧を生成する回路に工夫をして、印加電圧を設定する数値と原色強度に対応する値とが線形になるように設定する。
【００９４】
前述した本実施の形態に係る画像処理方法をＬＣＤに適用すると、図１１に示す結果となる。図１１は、あるＣＩＥ１９３１−ｘｙ色度点を所望のＰＣＳ値とし、Ｙ値を変化（出力可能な最大値から、その２０％まで）させたときの色シフトの様子を表している。なお、図１１に示すグラフを得るために、図７に示したプログラムを処理した後に、図１２に示す原色強度と制御値の相関データをＬＵＴとした逆γ変換を行っている。処理内容については、前述した処理等特別な処理ではないため詳細な説明は省略する。
【００９５】
図１１に示すグラフにおいてバツ印は入力点であり、この点は色シフトしない。図１１の黒菱形プロットは、本実施の形態に係る画像処理方法を行わない場合であり、出力デバイスの出力特性を線形とみなして演算したものである（仮のＲＧＢ原色強度をそのまま逆γ変換している）。図１１の白四角プロットは、本実施の形態に係る画像処理方法を２回の固定回数行った結果である。図１１に示す結果からも明らかなように、本実施の形態に係る画像処理方法を行うことにより色シフトが大幅に改善されている。図１１の白四角プロットは、わずかに色シフトが見られるが、これは、前述した黒つぶれを回避する制御を採用しているためである。所望のＰＣＳ値に出力デバイスの黒のＰＣＳ値を加算したｘｙ座標値を、図１１のグラフにプロットするとほぼ完全に白四角プロットと一致する。黒つぶれを容認して数２２を用いて処理すると、ほぼ完全にバツ印と一致する。
【００９６】
以上のように、本実施の形態に係る画像処理方法は、ＴＮモードのＬＣＤのような複雑な光学特性を持つ出力デバイスに対しても、高精度で所望の色座標を出力することができ且つ簡単な色座標変換が可能である。さらに、本実施の形態に係る画像処理方法は、大容量のＬＵＴや複雑な処理が不要であるため、高速且つ低記憶容量で提供することができる。
【００９７】
（実施の形態２）
実施の形態１では、図１に示す第２座標変換４について議論してきた。しかし、例えば出力デバイスがＰＣに接続して使用するｓＲＧＢ（standard ＲＧＢ）モニターの場合、図１に示す入力デバイス１がＰＣで、その入力がＲＧＢデータである。そのため、γ変換部２のγ値や第１座標変換部３の変換行列も一意的に与えられる。従って、出力デバイス６にｓＲＧＢモニターを使用する場合は、図１に示した第１座標変換部３と第２座標変換部４とをまとめることも可能である。実施の形態１では、ＰＣＳ値を例えばＸＹＺ値のような標準色空間の座標として取り扱ってきたが、本実施の形態では、ＰＣＳ値を出力デバイス１で制御可能なｓＲＧＢのＲＧＢ空間と定義することができる。
【００９８】
具体的にＰＣＳ値をｓＲＧＢのＲＧＢ空間で定義するには、デバイス特性データの設定で行う。デバイス特性データを作成する場合、出力デバイス固有の出力結果を測定するが、その時は例えばＸＹＺ値のような標準色空間の座標で記録しておく。例えば、ｓＲＧＢのように何らかの決められた色空間は、入力のＲＧＢ原色強度ＩＲｓ，ＩＧｓ，ＩＢｓに対してＸＹＺ値に変換できる数２３のような変換式を持つ。
【００９９】
【数２３】
0004791233.tif 000024
【０１００】
そのため、数２３の逆変換式を利用して測定された出力デバイスのＸＹＺ値から、所望の色空間の座標値（例えば、ｓＲＧＢのＲＧＢ空間）を求めることができる。さらに、当該逆変換式で得られた座標値をＰＣＳ値として、実施の形態１で示したデバイス特性データを作成し保持する。これにより、実施の形態１と同様の処理を行うことができ、第１座標変換部３と第２座標変換部４とをまとめることが可能になる。さらに、第１座標変換部３と第２座標変換部４とをまとめた変換部に、図１に示すγ変換部２と逆γ変換部５とを加えることにより、ｓＲＧＢ規格に準拠した画像処理方法及び画像処理装置を容易に実現可能となる。
【０１０１】
一方、ＰＣ用モニターではｓＲＧＢのみならず、他の色空間にも対応させる場合がある。この場合には、前述のように第１座標変換部３と第２座標変換部４とをまとめるよりかは、図１のように一旦標準色空間のＰＣＳを経由し、第１座標変換部３の処理のみを切り替えて複数の色空間に対応させる方が簡単である。つまり、図１の入力デバイス１より入力される画像データを、入力デバイス１で定義される色空間（入力データ色空間）でγ変換し、第１座標変換部３で入力データ色空間で表現された画像データを、ＰＣＳに座標変換する。
【０１０２】
また、デジタルカメラとディスプレイの接続のように、異なるデバイスの色空間同士を接続するには、図１のように一旦標準色空間のＰＣＳを利用し、第２座標変換部４に実施の形態１の処理を行うことで出力デバイスが起因する色ずれがなくなる。この処理は、接続間に介在するＰＣ内部で演算することもできるし、不揮発記憶媒体の読取装置を有している画像処理装置ならば装置内部で行ってもよい。
【０１０３】
このように、実施の形態１で説明した画像処理１００にデバイス特性データの設定方法や前後の関連処理を組み合わせて画像処理装置とすることが可能である。また、画像処理１００を含む画像処理装置にＬＣＤ等の出力デバイスを組み合わせて画像出力装置とすることも可能である。さらに、画像出力装置にデジタルカメラ等の入力デバイスなどの異なるデバイスを組み合わせて画像処理システムとすることも可能である。
【０１０４】
（実施の形態３）
実施の形態１で説明した画像処理方法は、出力デバイス固有の少ない特性データで高精度の補正を行うことができるため、動的なデバイス特性データの設定も容易である。高精度の補正手段には、前述したように大容量のＬＵＴを用いる方法がある。しかし、大容量のＬＵＴを動的に書き換えることは、容易に行うことはできない。
【０１０５】
出力デバイスから出力される画像は、外光によって特性（色など）が異なる。特に、ディスプレイのような場合、それ自身の経年変化や、温度・見る角度など様々な要因で特性が変化する。
【０１０６】
経年変化した出力デバイスの補正には、キャリブレーションを行うとよい。このキャリブレーションは、何らかのカラーセンサーを用いて出デバイスの出力（例えばＲＧＢ毎（及び黒））を測定し、その測定結果を用いて実施の形態１又は実施の形態２で述べた方法でデバイス特性データを再生成する。測定結果からデバイス特性データを計算する手段は、出力デバイスにマイクロコンピューターが内蔵されていればそれで行ってもよいし、外部のＰＣ等で計算したのを書き込んでもよい。また、このキャリブレーションを、出力デバイスの製造工程で行うことにより、出力デバイスの個体ばらつきを抑えることができる。
【０１０７】
また、温度や見る角度によって生じる出力デバイスの出力特性の変化を抑えるには、以下のような処理を行う。例えば、出力デバイスの出力特性の変化が予め予測できる場合、図１３に示す制御手段を行えばよい。図１３は、温度や見る角度等の条件に基づきデバイス特性データを変化させるシステムのブロック図である。まず、図１３では、マイクロコンピューター１３１に、温度や見る角度、外光などの特性を変化させる要因が条件として入力される。具体的に、これら条件は各種センサーや、ユーザによる入力などがあり、この条件をマイクロコンピューター１３１が検出する。
【０１０８】
マイクロコンピューター１３１は入力された条件に基づき、基本デバイス特性データ１３２から情報を取得する。そして、マイクロコンピューター１３１は、その情報に基づき実施の形態１で説明した記憶部１０４のデバイス特性データを書き換える。これにより、温度や見る角度によって出力デバイスの出力特性が変化しても、高精度の色補正が実現できる。
【０１０９】
例えば、温度によって特性が変わる場合、予め温度をいくつか変化させて前述デバイス特性データを測定しておき、その情報を基本デバイス特性データ１３２に格納しておく。マイクロコンピューター１３１は、現在の該当する温度に相当する特性を、基本デバイス特性データ１３２から取得し、その情報を記憶部１０４にデバイス特性データとして書き込む。
【０１１０】
なお、基本デバイス特性データ１３２に、温度に関して離散化されたデータが入っている場合、保存されている温度以外のデータは、線形等の補間の手法を用いて求める。また、デバイス特性データを多項式など関数化している場合、各係数を温度の関数として与えることもできる。その場合、温度の関数となる係数を基本デバイス特性データ１３２に格納しておき、与えられた温度条件から相当する係数を演算し、デバイス特性データを生成する。
【０１１１】
本実施の形態では、デバイス特性データのデータ量が小さいため、大容量のＬＵＴでは実現困難な動的なパラメータの変更が容易となり、キャリブレーションによる出力デバイスの出力特性の個体ばらつきや経年変化、及び外部の要因による特性変化による色ずれを抑えることができる。
【０１１２】
（実施の形態４）
透過型の液晶表示装置の場合、通常バックライトの光を液晶素子の透過率を調整し画像を表示している。通常液晶表示装置は、黒を表示していても白を表示していてもバックライトの光量は同じである。そのため、通常液晶表示装置は、特に黒表示の場合バックライトに投入されたエネルギーが無駄に消費されている。また、液晶表示装置の場合、黒を表示しようとして液晶素子の透過率を最小にしても完全に０にすることはできず、有限の値を持つ。そのため、液晶表示装置のコントラスト比は白の透過率÷黒の透過率で求められるため、黒の透過率で制限される。また、黒の透過率が高いと、暗い画像を表示する時に黒が黒くない、いわゆる黒浮きが視認されてしまう。近年このような欠点を補うために、バックライトの光量を、表示する画像に合わせてダイナミックに変化させる手法が取り入れられている。
【０１１３】
具体的には、入力された画像の明るさ情報を最大値検出や明るさのヒスグラム作成などで求め、当該結果に基づいて必要なバックライト光量を決定している。具体的には、バックライト光量を最大値に対して１／ｋ倍（ｋ＞１）し、逆に液晶素子の透過率をバックライト光量が最大値の時のｋ倍にすることで、無駄なエネルギーを費やすことなく同じ画像を表示させることができる。結果として、黒表示についても、バックライト光量が少なければ、黒で表示される光量も減るために黒がより暗くなり、暗い有彩色（例えば暗い赤）についても余計な黒成分が足し合わされないため彩度の低下も少なくなる。
【０１１４】
このようにバックライト光量をダイナミックに変化させる手法は、透過型の液晶表示装置にとって、欠点を補う有効な手段である。しかし、この手段をそのまま使用すると以下のような問題が生じる。
【０１１５】
具体的に、実施の形態１で説明したＬＣＤを用いて、画面一面に５０％の明るさの白を入力した場合を説明する。通常の表示では、バックライトは１００％で出力され、液晶素子の透過率は５０％に設定される。一方、前述した輝度制御の表示では、バックライトを５０％に制限し、液晶透過率を１００％に設定しても、表示輝度は同じとみなせ、消費電力を低減することができる。しかし、図４（ａ）（ｂ）（ｃ）に示すように、液晶素子の特性は三刺激値ＸＹＺに対して線形ではないことから、前述の２つの表示で色が異なる。つまり、通常の表示は青っぽく、輝度制御の表示は黄色っぽくなる。従って、前述した輝度制御を行う場合、透過率によって色が変化しないように工夫する必要がある。
【０１１６】
そこで、本実施の形態では、図１４に示す制御を行う。図１４では、バックライトと液晶素子の透過率をダイナミックに制御する輝度制御ブロック１４１の後段に実施の形態１で説明した画像処理１００を行うブロック図が示されている。このように画像処理１００を行うことで、液晶素子の透過率によらず色度を一定に保ち、出力される画像の色シフトを抑制できる。なお、画像処理１００で使用するＰＣＳの色空間座標は、ディスプレイに入力する色空間に設定する。若しくは、何らかの色座標変換処理を行いたい場合、ＰＣＳを標準色空間のＰＣＳ（ＸＹＺ）に設定し、画像処理１００又は輝度制御ブロック１４１の前にＰＣＳへの色座標変換処理を挿入すればよい。
【０１１７】
図１４に示す輝度制御ブロック１４１は、入力画像の明るさを検出する明るさ情報検出部１４２と、明るさ情報検出部１４２からの情報ｋに基づいて入力画像を表示する際の液晶素子の透過率をｋ倍する透過率変換部（画像変換部）１４３と、明るさ情報検出部１４２からの情報ｋに基づいてバックライトの輝度を１／ｋ倍にするバックライト制御部（光源制御部）１４４とを備えている。
【０１１８】
なお、図１４において、γ変換及び逆γ変換の記載を省略している。理想的には入力画像をγ変換した線形の原色強度で演算されるべきものであるが、見た目の絵作りの好みや演算の簡略化等からγ変換を省略する場合もある。また、バックライト制御及び入力画像の明るさ情報検出については、一旦画像がフレームメモリに蓄えられた後に明るさ検出等の処理がされる場合もあるが、本発明は、これに関して特に限定されないため、図１４では記載を省略している。また、近年液晶の光学応答速度を上げるために、前フレームの液晶状態若しくは入力画像と比較して、映像信号を過電圧で駆動することが多いが、その処理は画像処理１００の後に挿入すればよい。上記の内容では透過型の液晶表示装置（画像出力装置）としているが、フロントライトを用いた反射型の液晶表示装置（画像出力装置）でもよい。
【０１１９】
以上のように、本実施の形態に係る画像出力装置は、入力画像に応じて動的にバックライト（フロントライト）輝度を変化させるとともに画像出力素子の透過率（反射率）を変化させても、色シフトを抑え所望の色を表現できる。
【０１２０】
（実施の形態５）
実施の形態１で示した数２０を計算するには、図７に示したようなソースコードで実現できる。しかし、リアルタイム処理が要求される画像出力装置（例えば液晶表示装置）に、図７のソースコードを実行する回路を実装すると、論理回路数がやや大きくなりすぎる場合があった。そこで、本実施の形態では、数２０の計算処理を非常に小規模で実装できる手法を提供する。
【０１２１】
まず、出力デバイス自身の出力特性が、図４（ａ）（ｂ）（ｃ）で挙げているような非線形ではなく線形であれば、様々な色座標変換は行列演算等による座標変換で容易に行うことが可能である。そこで、本実施の形態では、出力デバイス自身の非線形特性を線形に補償する処理を行うことで、処理を簡略化している。出力デバイス自身の非線形特性を線形に補償する処理には、具体的に、実施の形態１の図５で示した処理を使用する。
【０１２２】
本実施の形態では、ＲＧＢで入力され画像をＲＧＢで出力するＬＣＤを例に説明する。実施の形態１で示した数１は、ＲＧＢの入力画像がγ変換され、線形空間での原色強度ＩＲ，ＩＧ，ＩＢとして得られる。そして、所望のＰＣＳ値は、実施の形態１の数２で表された一次変換により求められる。しかし、出力デバイスの出力特性を補償することに着目すると、数２の変換行列は任意の行列ではなく、実施の形態１の数９で示すような出力デバイス自身の線形特性を示している行列となる。従って、数２と数５とをあわせて書くと数２４のように表される。
【０１２３】
【数２４】
0004791233.tif 000025
【０１２４】
但し、ＩＲS，ＩＧS，ＩＢSは、入力画像のＲＧＢを線形のＲＧＢ原色強度にしたもので、ＩＲD，ＩＧD，ＩＢDは出力すべき（これから求める）線形のＲＧＢ原色強度である。また、数２４の左辺変換行列は、数９に示すようにＲＧＢ原色強度をそれぞれ１（最大値）にしたときのＸＹＺ値を要素としたものである。
【０１２５】
この数２４を変形すると、数２５となる。
【０１２６】
【数２５】
0004791233.tif 000026
【０１２７】
そして、数２５の右辺変換行列で変換した関数ＸR（ＩＲD），ＹR（ＩＲD），ＹR（ＩＲD）を、関数をＲＳR（ＩＲD），ＧＳR（ＩＲD），ＢＳR（ＩＲD）と書き表す。関数ＸG（ＩＲD）や関数ＸB（ＩＲD）等の関数についても同様に書き表す。書き表した結果を数２６に示す。
【０１２８】
【数２６】
0004791233.tif 000027
【０１２９】
なお、ＲＳR（ＩＲD）やＧＳR（ＩＲD）等の生成方法は、ＲＧＢの階調毎に適宜出力デバイスのＸＹＺ値を測定し、その値を変換行列で一次変換して生成する。ＩＲD，ＩＧD，ＩＢDについては、前述したように逆γ変換で相関を取れば何でもよいのだが、ここではＲ，Ｇ，Ｂそれぞれの主出力値（それぞれＸ，Ｙ，Ｚ）の最大値を１として規格化したものを用いることにする。
【０１３０】
次に、数２６の意味を説明する。右辺の第一項は、出力デバイスのＲ原色強度を指定した時に、それが入力空間（出力デバイスが線形である場合の空間）でのＲＧＢ原色強度を表す。同様に、二項は出力デバイスのＧ原色強度、三項は出力デバイスのＢ原色強度に関するものである。そして、ＲＳR（ＩＲD），ＧＳG（ＩＧD），ＢＳB（ＩＢD）以外の値は、出力デバイスが完全に線形であれば０となり、非線形であればある値をもつ。なお、以下においてＲＳR（ＩＲD），ＧＳG（ＩＧD），ＢＳB（ＩＢD）を主値と呼ぶ。
【０１３１】
しかし、主値以外の値は、主値に比べて小さいものであり、本実施の形態で使用しているＬＣＤを実際に計算しても主値の数％程度の大きさである。ここで、数２６の主値をわかりやすくするために太文字で書き直した式を数２７に示す。
【０１３２】
【数２７】
0004791233.tif 000028
【０１３３】
そして、本実施の形態における数１１の微分行列は、数２８と表すことができる。
【０１３４】
【数２８】
0004791233.tif 000029
【０１３５】
但し、ＲＳ’R（ＩＲD）は、ＲＳR（ＩＲD）のＩＲD近傍での微分係数を表す（他の微分係数についても同様に表される）。数２８に示す微分係数も主値以外は小さな値となる。仮に出力デバイスの出力特性が線形の場合、その傾きは一定のはずであるため、数２８は、定数の単位行列となる。一般的に、行列Ｍが数２９のように与えられた時、行列式は数３０と表され、逆行列は数３１と表せる。
【０１３６】
【数２９】
0004791233.tif 000030
【０１３７】
【数３０】
0004791233.tif 000031
【０１３８】
【数３１】
0004791233.tif 000032
【０１３９】
ここで、数２９〜数３１において、小文字で記載しているものは大文字で記載しているものよりも値が十分小さいものとする。そのため、２個以上の小文字の積は、無視するものとすると、数３０及び数３１は数３２及び数３３と近似することができる。
【０１４０】
【数３２】
0004791233.tif 000033
【０１４１】
【数３３】
0004791233.tif 000034
【０１４２】
次に、数３２及び数３３の関係を数２０に適用すると、数２０は数３４のように表せる。
【０１４３】
【数３４】
0004791233.tif 000035
【０１４４】
数３４は、一見複雑に見えるが、数２０の逆行列を書き下しているだけであり、実際の逆行列計算に比べれば計算量は減少している。
【０１４５】
さらに、数３４の非対角要素は、対角要素に比べて小さく、さらに乗算されるＰＣＳ誤差成分も小さいため、非対角要素を最初から０と近似できる。そのため、数３４を数３５と表すことができる。
【０１４６】
【数３５】
0004791233.tif 000036
【０１４７】
数３５は、数３４に比べ逆行列の演算及びその後の行列積の演算に関して計算量が著しく減っている。また、仮のＲＧＢ原色強度には、計算なしに入力された線形のＲＧＢ原色強度がそのまま使用できる。数３５を用いて実施の形態１に係る画像処理１００を行うと、例えば図３に示す特性を有するＬＣＤの場合、数２０の演算を２回繰り返して得られた精度が、１回の計算で達することができる。
【０１４８】
数３５に示す処理を実現するためのソースコードを図１５に示す。図１５に示す処理でも、前後のγ変換・逆γ変換は省略されており、繰り返し処理も省略している。そのため、図１５では入力したＩＲS，ＩＧS，ＩＢSから出力のＩＲD，ＩＧD，ＩＢDがそのまま得られるように記載されている。また、図１５では、処理の煩雑化を避けるために、予測ＰＣＳ値及び微分係数の取得を関数化してコードの記載からは省略している。ちなみに、数３５の第二項であるＰＣＳ誤差の計算で、主値以外を０にすると完全にＲＧＢが独立し、ＲＧＢ毎に独立にγ変換制御を行うことと等価となってしまう。さらに、本実施の形態で使用しているＬＣＤの特性であれば、ＩＲD，ＩＧD，ＩＢDをそれぞれＲＧＢのＸ，Ｙ，Ｚ値に選んだ場合、逆行列対角成分は１に近くほぼ一定なので、第二項のＰＣＳ誤差の計算において逆行列を単位行列と近似しても比較的高い精度の補正結果が得られる。すなわち、数３５の逆行列を単位行列した式を数３６に示す。
【０１４９】
【数３６】
0004791233.tif 000037
【０１５０】
よって、数３６では乗除算が必要ない（２倍はビットの左シフト演算で得られる）。具体的なソースコードを図１６に示す。図１６のソースコードの処理を行えば、予測ＰＣＳ値算出結果と実際のデバイス出力結果とに誤差が無く、且つそれ以外の計算について桁落ちがないとすれば、所望の値のＣＩＥ−ｘ，ｙ座標点から出力されるＣＩＥ−ｘ，ｙ座標点までの距離Δｘｙは、１回の計算で概ね０.００２以下に抑えることができる。
【０１５１】
さらに、数３６を簡略化するには、数３６でＩＲSとＲＳR（ＩＲS），ＩＧSとＧＳG（ＩＧS），ＩＢSとＢＳB（ＩＢS）が近い値をとることを利用すればよい。これを用いると数３６は数３７と書くことができる。
【０１５２】
【数３７】
0004791233.tif 000038
【０１５３】
数３７のソースコードは図１７のようになる。図１７のソースコードの処理を行えば、予測ＰＣＳ値算出結果と実際のデバイス出力結果とに誤差が無く、且つそれ以外の計算において桁落ちがないとすれば、Δｘｙは概ね０.００４以下に抑えることができる。
【０１５４】
数３６及び数３７を導く近似計算は、主値要素｛ＲＳR（ＩＲD），ＧＳG（ＩＧD），ＢＳB（ＩＢD）｝が、傾き１の直線に近くなることを利用して行っているが、その３要素に着目するとそれぞれ制御値（ＩＲD，ＩＧD，ＩＢD）の１元式であることから、ＩＲD，ＩＧD，ＩＢDを適切に選べば完全に主値要素を傾き１の直線にすることができる。そうすると近似精度はより向上する。すなわち、デバイスの測定されたＸＹＺ値からＲＳR，ＧＳR，・・・ＢＳBの階調特性を算出した後、ＲＳR，ＧＳG，ＢＳBをＩＲD，ＩＧD，ＩＢDに設定すればよいのである。
【０１５５】
もし、数３７で所望の精度が得られないような出力デバイスの出力特性の場合、数式 ３６を使用すればよい。それでも精度が足りない場合は数３４、数３５を用いる。最終的には、数３４や数３５を用いずに逆行列を計算を行えばよい。若しくは、実施の形態１で述べたように繰り返し処理を行うことで精度の向上を図ることができる。その場合、２回目以降は数３４や数３５の右辺第二項目のＰＣＳ誤差演算部の被減数ＩＲS，ＩＧS，ＩＢSのみ入力時のＲＧＢ原色強度に固定しておき、それ以外のＩＲS，ＩＧS，ＩＢSを新たに求めた値を代入すればよい。
【０１５６】
いずれの簡略化の計算結果においても、出力すべきＲＧＢ毎に、必ずＲ以外，Ｇ以外，Ｂ以外の成分が加味されており、この成分がＲＧＢ毎に独立してγ変換を行うより精度を上げる要因となっている。そのため、数３７の右辺第二項以降において、値が小さいと分かっている値の一部は省略してもよい。最終的に、ＩＲD，ＩＧD，ＩＢDの計算内容のいずれかに、それぞれ出力デバイスのＲ以外，Ｇ以外，Ｂ以外のＰＣＳ予測値が加味されていることが重要である。
【０１５７】
次に、実施の形態１で述べたように、黒を考慮した制御の場合は、数３５の第二項ＰＣＳ誤差の計算を数３８のように変形すればよい。
【０１５８】
【数３８】
0004791233.tif 000039
【０１５９】
ここで、Ｒ0，Ｇ0，Ｂ0は、黒表示の際測定されたＸＹＺ値（Ｘ0，Ｙ0，Ｚ0）を数３９で変換したものである。
【０１６０】
【数３９】
0004791233.tif 000040
【０１６１】
本実施の形態では、ＰＣＳの座標系を出力デバイス自身の出力特性に近い線形空間とすることにより微分係数行列をほぼ対角化し、計算結果が定数（０や１）に近くなるものを計算しないことにより著しく計算量を減らすことができる。つまり、本実施の形態では、図５での微分係数行列作成ステップ１０２や逆行列演算ステップ１０３等の逆行列の演算に関係する各ステップの一部又は全部を省略することができる。また、予測出力値算出ステップの算出過程において取得される各要素が、仮原色強度と略同じか、若しくは０の値に近似できる場合、当該要素に関する演算を省略することができる。もちろん、ＰＣＳ座標系は、前述に制限されず、逆行列演算が簡単となる対角行列や直行行列（逆行列は転置行列となる）などの微分係数行列になるように空間を選ぶことでも計算量の低減が図れる。
【０１６２】
また、本実施の形態では、一連の画像処理を出力デバイスの非線形特性を補償するのみに使用している。そのため、入力画像の色空間が出力デバイスの線形色空間となる。しかし、本発明はこれに限定されず、別の色空間の画像信号を入力したい場合は一旦線形座標変換等の座標変換を行ってから入力してもよい。なお、線形座標変換自体は、逆行列を計算するよりも計算量が少なくて済むため、トータルの処理としてはこの方が有利であると考えられる。
【図面の簡単な説明】
【０１６３】
【図１】カラーマッチングを説明するためのブロック図である。
【図２】出力デバイスの出力特性を示すグラフである。
【図３】出力デバイスの出力特性を示すグラフである。
【図４】出力デバイスの出力特性を示すグラフである。
【図５】本発明の実施の形態１に係る画像処理方法のフローチャートである。
【図６】本発明の実施の形態１に係る画像処理方法を説明するための模式図である。
【図７】本発明の実施の形態１に係る画像処理のソースコードを示す図である。
【図８】本発明の実施の形態１に係る画像処理のソースコードに用いる数値を示す図である。
【図９】本発明の実施の形態１に係る画像処理のソースコードを示す図である。
【図１０】本発明の実施の形態１に係る画像処理のソースコードを示す図である。
【図１１】本発明の実施の形態１に係る画像処理の結果を説明する図である。
【図１２】本発明の実施の形態１に係る画像処理の逆γ変換に用いる数値を示す図である。
【図１３】本発明の実施の形態３に係る画像出力装置のブロック図である。
【図１４】本発明の実施の形態４に係る画像出力装置のブロック図である。
【図１５】本発明の実施の形態５に係る画像処理のソースコードを示す図である。
【図１６】本発明の実施の形態５に係る画像処理のソースコードを示す図である。
【図１７】本発明の実施の形態５に係る画像処理のソースコードを示す図である。
【符号の説明】
【０１６４】
１  入力デバイス、２  γ変換部、３  第１座標変換部、４  第２座標変換部、５  逆γ変換部、６  出力デバイス、１００  画像処理方法、１０１  仮の強度算出ステップ、１０２  微分係数行列作成ステップ、１０３  逆行列演算ステップ、１０４  デバイス特性データ、１０５  予測ＰＣＳ値算出ステップ、１０６  ＰＣＳ誤差算出ステップ、１０７  ＲＧＢ原色強度補正量算出ステップ、１０８  ＲＧＢ原色強度補正ステップ、１０９  終了判定ステップ、１３１  マイクロコンピューター、１３２  基本デバイス特性データ、１４１  輝度制御ブロック、１４２  明るさ情報検出部、１４３  透過率変換部、１４４  バックライト制御部。
【図１】
0004791233.tif 000041
【図２】
0004791233.tif 000042
【図３】
0004791233.tif 000043
【図４】
0004791233.tif 000044
【図５】
0004791233.tif 000045
【図６】
0004791233.tif 000046
【図７】
0004791233.tif 000047
【図８】
0004791233.tif 000048
【図９】
0004791233.tif 000049
【図１０】
0004791233.tif 000050
【図１１】
0004791233.tif 000051
【図１２】
0004791233.tif 000052
【図１３】
0004791233.tif 000053
【図１４】
0004791233.tif 000054
【図１５】
0004791233.tif 000055
【図１６】
0004791233.tif 000056
【図１７】
0004791233.tif 000057