(57)【要約】【課題】カラーチャート撮影時に、複数の撮影条件を自動的に生成することにより、広いダイナミックレンジを十分にカバーした色推定を行うこと。【解決手段】補正したい表示装置３００にカラーチャートを表示し、撮像装置２００で撮像し、広ダイナミックレンジ色補正システム１００に送信する。広ダイナミックレンジ色補正システム１００は、送信された撮像データと別途設定されたカラーマッチングしたい目標値とに基づき色補正データ１０１を生成し、表示装置３００に設定する。これにより表示装置３００では最初にカラーチャートを表示したときよりも目標値に近い色となり、カラーマッチングを行うことが可能となる。【選択図】図１
2013009048.tif 000002
【特許請求の範囲】
【請求項１】
予め定めたカラーチャートを表示する表示手段と、
異なる撮像条件で、前記表示されたカラーチャートを撮像することで取得する撮像画像データから、カラーパッチデータの撮像画素値を取得する撮像手段と、
前記撮像手段により取得されたカラーパッチデータが、前記表示手段への入力信号と前記撮像手段からの出力値との特性が線形な範囲内における値であるか否かを判定するレンジ判定手段と、
前記撮像条件に基づいて色変換マトリックスを選択する色変換マトリックス記憶手段と、
前記カラーパッチデータの撮像画素値のうち、前記判定手段により線形の範囲内における値と判定されたと撮像画素値と、前記色変換マトリックスとから、三刺激値を推定し、色変換テーブルを生成する三刺激値推定手段と、
前記色変換テーブルを合成して前記表示手段に適用する色変換テーブルを生成する合成手段と
を有することを特徴とする色推定装置。
【請求項２】
前記レンジ判定手段は前記判定結果を示すレンジ判定情報を生成し、
前記レンジ判定情報に基づいて再撮像に必要な再撮像条件を生成し、カラーチャートを再生成するために必要なカラーチャート再生成情報を生成する再撮像条件生成手段と、
前記カラーチャート再生成情報に基づき、新たなカラーチャートを生成して前記表示手段に表示させる信号値制御手段と
をさらに有し、
前記撮像手段は、前記生成された再撮像条件で再撮像を行って、複数のカラーパッチデータの撮像画素値を取得
することを特徴とする請求項１に記載の色推定装置。
【請求項３】
前記撮像手段は、予め定めた複数の撮像条件で複数回撮像を行って、複数のカラーパッチデータの撮像画素値を取得することを特徴とする請求項１に記載の色推定装置。
【請求項４】
予め定めたカラーチャートを表示手段に表示する表示ステップと、
異なる撮像条件で、前記表示されたカラーチャートを撮像手段で撮像することで取得する撮像画像データから、カラーパッチデータの撮像画素値を取得する撮像ステップと、
前記撮像ステップにおいて取得されたカラーパッチデータが、前記表示手段への入力信号と前記撮像手段からの出力値との特性が線形な範囲内における値であるか否かを判定するレンジ判定ステップと、
前記撮像条件に基づいて色変換マトリックスを選択する色変換マトリックス記憶ステップと、
前記カラーパッチデータの撮像画素値のうち、前記判定ステップにより線形の範囲内における値と判定されたと撮像画素値と、前記色変換マトリックスとから、三刺激値を推定し、色変換テーブルを生成する三刺激値推定ステップと、
前記色変換テーブルを合成して前記表示手段に適用する色変換テーブルを生成する合成ステップと
を有することを特徴とする色推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色推定装置および方法に関し、より具体的にはカラーマッチングのための色推定装置および方法に関する。
【背景技術】
【０００２】
現在、ディスプレイやプロジェクタを複数台同時に並べて表示するような使用態様が増えており、このような場合に同一の画像が複数の表示装置に表示されることを考慮して表示装置間で色を一致させること（カラーマッチング）が望まれている。また、デジタルシネマで画像を表示する場合も、規格化されているので映画館同士で色を一致させる技術が要求される。
【０００３】
そこで、近年では、ＩＣＣプロファイル（International Color Consortium Profile）を画像表示装置ごとに生成し、統一的な色管理が行われている。このＩＣＣプロファイルを生成するには、通常、高価な専用の測定器を用いて長時間測定する必要があった。そこで、安価なデジタルカメラを用いてＩＣＣプロファイルを生成する技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２０８６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のデジタルカメラを用いてＩＣＣプロファイルを生成する技術では、カラーチャートをある条件で一度だけしか撮影しないので、被写体のダイナミックレンジを十分にカバーした色推定を行うことが出来ないという課題があった。
【０００６】
そこで本発明では、カラーチャート撮影時に、複数の撮影条件を自動的に生成することにより、広いダイナミックレンジを十分にカバーした色推定を行うことを目的とする。
【課題を解決するための手段】
【０００７】
このような目的を達成するため、本発明の色推定装置は、予め定めたカラーチャートを表示する表示手段と、異なる撮像条件で、表示されたカラーチャートを撮像することで取得する撮像画像データから、カラーパッチデータの撮像画素値を取得する撮像手段と、撮像手段により取得されたカラーパッチデータが、表示手段への入力信号と撮像手段からの出力値との特性が線形な範囲内における値であるか否かを判定するレンジ判定手段と、撮像条件に基づいて色変換マトリックスを選択する色変換マトリックス記憶手段と、カラーパッチデータの撮像画素値のうち、判定手段により線形の範囲内における値と判定されたと撮像画素値と、色変換マトリックスとから、三刺激値を推定し、色変換テーブルを生成する三刺激値推定手段と、色変換テーブルを合成して表示手段に適用する色変換テーブルを生成する合成手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明は、カラーチャート撮影時に複数の条件で撮影し、複数の色変換テーブルを生成することで、専用の測色器を用いることなく、広いダイナミックレンジでの色推定を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例の広ダイナミックレンジ色補正システムを用いたカラーマッチングを示す概念図である。
【図２】本実施例の広ダイナミックレンジ色補正システムの構成を示すブロック図である。
【図３】本実施例の広ダイナミックレンジ色補正システム内の三刺激値推定装置の構成を示すブロック図である。
【図４】本実施例の広ダイナミックレンジ色補正システム内の色補正処理装置の構成を示すブロック図である。
【図５】実施例１におけるカラーチャートの表示例を示す図である。
【図６】実施例１におけるカラーチャートの信号データを示す図である。
【図７】実施例１におけるカラーチャートを撮像して得られるデータ値を示す図である。
【図８】実施例１におけるカメラリニアリティ特性の概念を示す例およびカメラリニアリティ特性データを示す図である。
【図９】実施例１におけるレンジ判定の処理を示すフローチャートである。
【図１０】実施例１における三刺激値推定の処理を示すフローチャートである。
【図１１】実施例１における白色パッチが飽和しないように撮像した場合の色変換テーブルを示す図である。
【図１２】実施例１における再撮像した場合の色変換テーブルを示す図である。
【図１３】実施例１における再撮像の処理を示すフローチャートである。
【図１４】実施例１における色変換テーブルの合成処理を示すフローチャートである。
【図１５】実施例１における四面体補間について説明する図である。
【図１６】実施例１における色変換テーブル合成時の重みづけ関数ｆを示す図である。
【図１７】実施例２における広ダイナミックレンジ色補正システム内の三刺激値推定装置に関する構成を示すブロック図である。
【図１８】実施例２におけるレンジ判定の処理を示すフローチャートである。
【図１９】実施例２における三刺激値推定の処理を示すフローチャートである。
【図２０】実施例２における色変換テーブルの合成処理を示すフローチャートである。
【図２１】実施例１における広ダイナミックレンジ色変換テーブルＤ’の例を示す図である。
【発明を実施するための形態】
【００１０】
［実施例１］
本実施例では、ダイナミックレンジが広く、色域の広い表示装置３００を用いて、本発明の色推定装置で色推定を行う。また、本実施例では表示装置３００の色推定を行った後、目標とする色へ補正する処理の例も説明する。図１は、表示装置３００の三刺激値を、撮像装置２００を用いて推定し、表示装置３００の色を目標とする色へ補正するために必要な色補正データを生成する処理の概略を説明するための模式図である。図１を参照すると、補正したい表示装置３００にカラーチャートを表示し、撮像装置２００で撮像し、広ダイナミックレンジ色補正システム１００に送信する。広ダイナミックレンジ色補正システム１００は、送信された撮像データと別途設定されたカラーマッチングしたい目標値とに基づき色補正データ１０１を生成し、表示装置３００に設定する。これにより表示装置３００では最初にカラーチャートを表示したときよりも目標値に近い色となり、カラーマッチングを行うことが可能となる。以下で、システム構成の詳細およびシステム動作の詳細について説明する。
【００１１】
＜システム構成例＞
図２は、本発明にかかる広ダイナミックレンジ色補正システム１００の全体の構成を示すブロック図である。図３は、さらにこの広ダイナミックレンジ色補正システム１００内の三刺激値推定装置１０２の構成の詳細を示すブロック図であり、図４は広ダイナミックレンジ色補正システム１００内の色補正処理装置１０３の構成の詳細を示すブロック図である。
【００１２】
広ダイナミックレンジ色補正システム１００は、カラーパッチデータ取得部１０１、三刺激値推定装置１０２、色補正処理装置１０３およびメディアインターフェース１０４を備えている。また、三刺激値推定装置１０２は、レンジ判定部１０５、再撮像条件生成部１０６、カメラ制御部１０７、信号値制御部１０８、色変換マトリックス記憶部１０９、三刺激値推定部１１０、色変換テーブル合成部１１１を備えている。さらに、ＣＰＵ１１２、ＲＯＭ１１３、ＲＡＭ１１４、操作部１１５および表示部１１６も備えている。色補正処理装置１０３は、目標値記憶部１１７、色補正データ生成部１１８、ＣＰＵ１１２、ＲＯＭ１１３、ＲＡＭ１１４、操作部１１５および表示部１１６を備えている。
【００１３】
図５に示される表示装置３００に表示されたカラーチャート４００を参照すると、カラーパッチデータ取得部１０１は、撮像装置２００から入力されるカラーチャート４００の撮影画像データから、各カラーパッチ部分を抽出し、撮像画素値を取得する。以下、図７に示すようにカラーパッチの撮像画素値を撮像RGB値と呼ぶ。取得した撮像RGB値などのデータはレンジ判定部１０５、三刺激値推定部１１０に送信される。ここで、カラーチャート４００は、複数の色を表すカラーパッチからなる画像であり、表示装置３００に表示される。図５の複数の枠４０１は、それぞれ特定の色で塗りつぶされているカラーパッチを示す。なお、図中では１つ、すなわち枠４０１を除いて枠の符号は省略している。カラーチャート４００は、例えば４０９６階調であり、R成分について０、２５６、５１２などのように２５６間隔で階調値を選択し、同じくG成分、B成分についても２５６間隔で選択することができる。このようにして、組み合わせにより１７×１７×１７（＝４９１３）通りの色を表すことができる。図６に示すカラーチャートデータには、それら４９１３通りの色を表す、非デバイス依存のRGB画素値が格納されている。以下、図６に示すように非デバイス依存のRGB画素値を信号RGB値と呼ぶ。
【００１４】
また、枠４０１内の特定の色で塗りつぶされた部分をカラーパッチと呼び、図６に示すように、各々カラーチャート内での位置を示すＩＤが画素値に対応付けられて格納されている。ＩＤは図５におけるカラーパッチの位置に対応しており、図５に示すｘ軸（行）とｙ軸（列）とを用いて、（ｘ、ｙ）という値で割り当てられる。例えば、図５に示すカラーチャート４００が６６行７５列から構成されているとすると、ＩＤは（１，１）から（７５，６６）までとなり、便宜上最後列の（３９，６６）から（７５，６６）にはＮＵＬＬ値が入っているものとする。
【００１５】
三刺激値推定装置１０２は、カラーパッチデータと色変換マトリックスとに基づいて、表示装置３００の広いレンジでの色変換テーブルを生成し、色補正処理装置１０３に送信する。ここで、色変換マトリックスとは、図７に示すような撮像装置２００の撮像RGBを三刺激値XYZへ変換する多項式における係数を要素とする行列とする。また、色変換テーブルとは、表示装置３００のデバイスRGBと三刺激値XYZとの３Ｄ  Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ（3DLUT）とする。
【００１６】
色補正処理装置１０３は、目標値に基づいて表示装置３００の色補正データを生成し、メディアインターフェース１０４を通して表示装置３００に送信する。メディアインターフェース１０４は、撮像装置２００や表示装置３００と通信するためのインターフェースである。撮像条件取得部１１９は、撮像装置２００がカラーチャート４００を撮像した時の撮像条件を取得し、再撮像条件生成部１０５および色変換マトリックス記憶部１０９に送信する。ここで、撮像条件とはレンズの絞り値、シャッター時間、ＩＳＯ感度とするがこれに限られない。
【００１７】
レンジ判定部１０５は、カラーパッチデータと撮像条件、カメラリニアリティ特性データに基づいて、白色パッチと黒色パッチ、赤色パッチ、緑色パッチ、青色パッチの撮像RGB値が線形なレンジ内に収まっているか判定する。ここで、白色パッチとはカラーパッチデータのうち、信号値RGBがR=G=Bとなっていて且つ、R=G=Bが最大となるカラーパッチデータのことである。また、黒色パッチとはカラーパッチデータのうち、信号値RGBがR=G=B=0となっているカラーパッチデータのことである。また、赤色パッチとはカラーパッチデータのうち、信号値RGBが（４０９５，０，０）となっているパッチである。緑色パッチおよび青色パッチについても同様に、それぞれ（０，４０９５，０）および（０，０，４０９５）の値を持つパッチである。ただし、各パッチの４０９５は信号値RGBの最大bit数から求まる値である。また、線形なレンジとは、図７に示すような撮像画素値と輝度との関係が図８（ａ）に示す形状であるとき、Ｔｈ１とＴｈ２の間のような線形な形状となっている範囲のことと定義する。カメラリニアリティ特性データについては後述する。レンジ判定部１０５による判定から得られたレンジ判定情報を、再撮像条件生成部１０６および色変換テーブル合成部１１１に送信する。レンジ判定情報についても詳細は後述する。
【００１８】
再撮像条件生成部１０６は、レンジ判定情報に基づいて、再撮像に必要な撮像条件を生成する。生成した再撮像条件はカメラ制御部１０７に送信される。カメラ制御部１０７は、メディアインターフェース１０４を通して、撮像条件を撮像装置２００に設定し、再度カラーチャート４００を撮像させる。信号値制御部１０８は、ＲＯＭ１１３やＲＡＭ１１４に格納されるカラーチャートデータを読み出し、表示装置３００に表示させ、カラーパッチデータ内に格納されているRGB信号値を三刺激値推定部１１０に送信する。
【００１９】
色変換マトリックス記憶部１０９は、撮像条件取得部１１９から得た撮像条件に基づいて色変換マトリックスを選択し、三刺激値推定部１１０に色変換テーブルを送信する。三刺激値推定部１１０は、カラーパッチデータと色変換マトリックスとを用いて三刺激値を推定し、推定した三刺激値と信号値に基づいて表示装置３００の色変換テーブルを生成し、色変換テーブル合成部１１１へ送信する。ここで、三刺激値はXYZ値とし、以下ではXYZ値と呼ぶ。
【００２０】
色変換テーブル合成部１１１は、色変換テーブルとレンジ判定情報とに基づいて、色変換テーブルを合成し、色補正処理装置１０３内の色補正データ生成部１１８に送信する。ＣＰＵ１１２は、装置内の各構成の処理全てに関わり、ＲＯＭ１１３やＲＡＭ１１４に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。また、ＲＯＭ１１３およびＲＡＭ１１４は、その処理に必要なプログラム、データ、作業領域などをＣＰＵ１１２に提供する。
【００２１】
操作部１１５は、ボタンやモードダイヤルなどを用いることができ、これらを介して入力された操作者の指示を受け取る。表示部１１６は、一般的には液晶ディスプレイが広く用いられており、カラーチャートデータや撮像画像データを表示する。また、ユーザーへの指示を表示することも可能である。目標値記憶部１１７は、表示装置３００にカラーマッチングさせたい目標値を記憶している。この目標値は、デバイスRGBとXYZとの3DLUTでもよく、色補正データ生成部１１８へ送信される。なお、本実施例では、目標値はＤＣＩで規格される値として説明するがこれに限られない。
【００２２】
補正データ生成部１１８は、表示装置３００の色変換テーブルと目標値とに基づいて、表示装置３００に表示される色を目標値にカラーマッチングさせるために必要な色補正データを生成し、表示装置３００に送信する。表示装置３００は、色補正データを受信し、色補正データをプロファイルに設定する。ここで、色補正データは信号RGB値とXYZ値との3DLUTである。
【００２３】
＜システム全体の動作＞
実施例１におけるシステム全体の動作についての詳細を説明する。まず、表示装置３００にカラーチャート４００を表示させ、撮像装置２００で撮像する。得られた撮像ＲＧＢ値に基づいてカラーパッチデータを算出し、撮像装置２００から撮像条件を取得する。そして、得られたカラーパッチデータが線形なレンジ内か判定し、レンジ判定情報を生成する。
【００２４】
次に、三刺激値推定装置１０２における処理を説明する。まず、三刺激値推定の処理を行い、表示装置３００の色変換テーブルを生成する。表示装置３００のダイナミックレンジを全てカバーして三刺激値を推定するためには１回の撮像では不十分なため、再撮像の処理を行う。この結果、レンジ判定情報に基づいて、撮像、再撮像したカラーパッチデータから生成した複数の色変換テーブルの合成処理を行う。そして、合成した色変換テーブルを色補正処理装置１０３に送信する。色補正処理装置１０３は、受信した色変換テーブルとカラーマッチングの目標値とに基づいて色補正データ生成の処理を行い、生成した色補正データは表示装置３００にプロファイルとして設定される。
【００２５】
以下では、カラーパッチデータおよび撮像条件取得およびダイナミックレンジ判定の処理、三刺激値推定装置１０２内の三刺激値推定の処理、再撮像の処理、色変換テーブルの合成処理並びに色補正処理装置１０３内の色補正データ生成の処理を詳細に説明する。
【００２６】
＜カラーパッチデータ取得の処理、撮像条件取得の処理＞
信号値制御部１０８は、ＲＯＭ１１３に格納されているカラーチャートデータを表示装置３００に送信し、カラーチャート４００を表示させ、カラーチャートデータをカラーパッチデータ取得部１０１に送信する。次に、撮像装置２００が、表示装置３００に表示されているカラーチャート４００を撮像する。本実施例では、表示装置３００の各画素は、12bitまでの画像を表示できるとする。このとき、白色の画素値が撮像画像上で飽和しないように撮像する。ここで、白色とは、カラーチャートデータのうち、信号RGB値がR=G=B且つ、最大のRGB値をもつカラーパッチのことである。撮像画像データはデータインターフェース１０４を通して、カラーパッチデータ取得部１０１に送信される。また、撮像時の撮像条件は、色変換マトリックス記憶部１０９に送信される。さらに、撮像画像データは撮像装置２００内でRAW現像されずに送信されるとしてもよい。本実施例では撮像画像データをRAW画像とし、RAW画像はRGB各10bitであるとして説明する。
【００２７】
カラーパッチデータ取得部１０１は、撮像装置２００から入力されるカラーチャート４００の撮影画像データから、各カラーパッチ部分を抽出し、撮像RGB値を取得する。具体的には、図５のカラーチャートを撮像し、撮像画像データを読み込む。そして、撮像画像データ内の十字マークを検出する。図５から分かるように、十字マークはカラーチャートの四隅に配されているので、十字マークを検出することで自動的にカラーチャートの位置を特定することができる。さらに、カラーパッチの行数と列数の情報を予めもっていれば、カラーチャートの位置からカラーパッチの位置を特定し、図６に示すようなカラーパッチ内の撮像画素値と位置とを表すＩＤを取得することができる。
【００２８】
なお、カラーパッチの行数および列数は、ユーザーが操作部１１２を操作することで指定してもよいし、ユーザーがカラーパッチの位置を１つ１つ指定してもよい。以下、各カラーパッチを撮像して取得した撮像RGB値の各平均値およびカラーパッチのＩＤを合わせてカラーパッチデータと呼ぶ。カラーパッチデータの例を図７に示す。カラーパッチデータ取得部１０１は、カラーパッチデータをレンジ判定部１０５および三刺激値推定部１１０に送信する。次に、撮像条件取得部１１９は、撮像装置２００がカラーチャート４００を撮像した時の撮像条件を取得し、再撮像条件生成部１０５と色変換マトリックス記憶部１０９とに送信する。以上のようにして、以降の処理で用いるカラーパッチデータおよび撮像条件を取得する。次にダイナミックレンジ判定の処理を説明する。
【００２９】
＜ダイナミックレンジ判定の処理＞
ここでは、広ダイナミックレンジ色補正システムが行うべき次の処理を判定するダイナミックレンジ判定の処理について説明する。すなわち、いくつかの条件からカラーパッチデータが線形なレンジ内に収まっているか判定する。以下では、上記の処理を詳細に説明する。
【００３０】
まず、レンジ判定部１０５は、カラーパッチデータと撮像条件およびカメラリニアリティ特性データに基づいてレンジ判定情報を生成する。ここで、カメラリニアリティ特性とは、図８（ａ）に示すような、撮像装置２００に使われるイメージセンサの輝度あるいは入力信号と、その出力値である撮像画素値との関係がどの程度線形であるかを表す特性である。図８（ａ）から理解できるように、一般にイメージセンサは、暗部と明部において輝度および撮像画素値が非線形となる。これは、暗部においてはイメージセンサの感度が低く、明部においては画素値が飽和するためである。広ダイナミックレンジで色補正を行うためには、暗部や明部においても輝度に対して線形なデータが必要であるため、再撮像を行う。
【００３１】
ここで、カメラリニアリティ特性データとは、カメラの撮像画素値と輝度との関係が非線形となる領域を示す閾値Ｔｈ１とＴｈ２を含むデータである。また、このカメラリニアリティ特性データは、撮像条件によっても異なってくることから、図８（ｂ）に示すように撮像条件ごとに保持していてもよい。また、カメラリニアリティ特性データを一つだけ保持し、撮像条件から算出するとしてもよい。レンジ判定部１０５内のダイナミックレンジ判定の処理フローを図９のフローチャートに示す。
【００３２】
以下、図９のフローチャートを参照して説明する。ステップＳ６０１において、レンジ判定部１０５はカラーパッチデータ取得部１０１からカラーパッチデータを取得する。
【００３３】
ステップＳ６０２において、レンジ判定部１０５は撮像条件取得部１１９から撮像条件を取得する。ステップＳ６０３において、レンジ判定部１０５は撮像条件に基づきカメラリニアリティ特性データを選択して取得する。ここでは、上記で説明したように、撮像条件に基づいて該当するカメラリニアリティ特性データをＲＯＭ１１３から読み出す。
【００３４】
ステップＳ６０４において、レンジ判定部１０５は取得したカラーパッチデータから白色パッチと黒色パッチ、赤色パッチ、緑色パッチ、青色パッチを抽出する。ただし、カラーパッチデータ内に、赤色パッチ、緑色パッチ、青色パッチがない場合、これらについては抽出しなくてもよい。ステップＳ６０５において、判定結果であるレンジ判定情報をＲＡＭ１１４から取得する。レンジ判定情報とは、（Jw,Jk,Jr,Jg,Jb）の５組の値であり、初期値として（0,0,0,0,0）が与えられている。
【００３５】
ステップＳ６０５において、レンジ判定部１０５は白色パッチ、黒色パッチ、赤色パッチ、緑色パッチ、青色パッチの各撮像RGB値をＴｈ１およびＴｈ２と比較して線形領域にあるか否か判定する。まず、レンジ判定情報（Jw,Jk,Jr,Jg,Jb）＝（0,0,0,0,0）として設定する。次に、抽出した白色パッチでの撮像RGB値のうちG成分の画素値をレンジ判定値Ｐ１とおく。Ｐ１と、カメラリニアリティ特性データから読み出したＴｈ１およびＴｈ２とを比較する。Ｐ１がＴｈ１以上且つＴｈ２以下である場合、白色パッチの撮像RGB値は線形なレンジ内であると判定し、レンジ判定情報のJw=1とする。また、Ｐ１がＴｈ２より大きい場合やＰ１がＴｈ１より小さい場合、Jw=0とする。
【００３６】
次に、抽出した黒色パッチでの撮像RGB値のうちG成分の画素値をレンジ判定値Ｐ２とおく。Ｐ２とＴｈ１を比較し、Ｐ２がＴｈ１より小さい場合、Jk=1とする。また、Ｐ２がＴｈ１以上である場合、Jk=0とする。同様にして赤色パッチの撮像RGB値のうちR成分をレンジ判定値Ｐ３、緑色パッチの撮像RGB値のうちG成分をレンジ判定値Ｐ４、青色パッチの撮像RGB値のうちB成分をレンジ判定値Ｐ５としてＴｈ１、Ｔｈ２と比較する。Ｐ３、Ｐ４、Ｐ５がそれぞれＴｈ１以上且つＴｈ２以下の時、レンジ判定情報をそれぞれJr=1,Jg=1,Jb=1とする。また、Ｐ３、Ｐ４、Ｐ５がそれぞれＴｈ２より大きい場合やＰ１がＴｈ１より小さい場合、レンジ判定情報をそれぞれJr=0,Jg=0,Jb=0とする。また、カラーパッチデータ内に赤色パッチ、緑色パッチ、青色パッチがない場合はJr,Jg,Jbを変更しない。
【００３７】
最後に、レンジ判定情報、使用したカメラリニアリティ特性データ、レンジ判定値Ｐ１、Ｐ３、Ｐ４およびＰ５を三刺激値推定部１１０に送信する。また、使用したカメラリニアリティ特性データ、レンジ判定値Ｐ１、Ｐ３、Ｐ４、Ｐ５および適用すべき撮像条件を再撮像条件生成部１０６に送信する。なお、レンジ判定値を送信する際、対応するカラーパッチのＩＤも合わせて送信するものとする。
【００３８】
このようにして、カラーパッチデータが線形なレンジの範囲内に収まっているかを判定する。次に三刺激値推定の処理に移る。なお、上記ではＴｈ１を線形なレンジ内かを判定する閾値としたが、撮像条件ごとに定まるノイズの閾値としてもよい。例えば、ある撮像条件における画素値がＴｈ１より小さい場合、ノイズ量が大きいためレンジ外と判定する。また、ステップＳ６０６において、各色のパッチをＴｈ１およびＴｈ２と比較したが、比較する閾値はこれに限られるものではなく、色ごとに別途用意した値であってもよい。
【００３９】
＜三刺激値推定の処理＞
取得したレンジ判定情報に基づき、最初の撮像により得られたカラーパッチデータから三刺激値を推定するか、再撮像の処理を実行するか判定する。ここでは、三刺激値を推定すると判定された場合の三刺激値推定の処理について説明する。三刺激値を推定する場合、取得した撮像条件に基づいて、撮像RGB値をXYZ値に変換する色変換マトリックスを読み出し、カラーパッチデータの撮像RGB値をXYZ値に変換する。変換したXYZ値およびカラーパッチデータから色変換テーブルを生成し、色変換テーブル合成部１１１に送信する。
【００４０】
以下で、上記の処理を詳細に説明する。まず、色変換マトリックス記憶部１０９は、撮像条件取得部１１９が取得した撮像条件に基づいて色変換マトリックスを読み出す。色変換マトリックスは、３行３列のマトリックス、３行９列のマトリックス、３行１９列のマトリックスなどが考えられる。これらの色変換マトリックスは撮像条件ごとに用意されている。色変換マトリックス記憶部１０９は、取得した撮像条件に基づいて、該当する色変換マトリックスを選択し、三刺激値推定部１１０に送信する。
【００４１】
さらに、色変換マトリックス記憶部１０９は、撮像条件に基づいて、ＲＯＭ１１３またはＲＡＭ１１４に格納されているカメラリニアリティ特性データを読み出し、三刺激値推定部１１０に送信する。次に、三刺激値推定部１１０は、レンジ判定情報に基づいて三刺激値推定を行うか判定する。三刺激値推定部１１０の処理のフローチャートを図１０に示す。
【００４２】
以下、図１０のフローチャートを参照して説明する。ステップＳ７０１において、三刺激値推定部１１０は取得したレンジ判定情報に基づいて判定を行う。具体的には、レンジ判定情報（Jw,Jk,Jr,Jg,Jb）のうち、Jw,Jr,Jg,Jbの全てが１だった場合（Jw×Jr×Jg×Jb=1）、ステップＳ７０２に進む。また、Jw,Jr,Jg,Jbのうちいずれかが０であった場合（Jw×Jr×Jg×Jb=0）、ステップＳ７０６、すなわち再撮像の処理へ進む。
【００４３】
ステップＳ７０２において、三刺激値推定を行うが、この場合、色変換マトリックスとカラーパッチデータに基づいてXYZ値を算出する。すなわち、三刺激値推定部１１０は、カラーパッチデータの撮像RGB値に色変換マトリックスをかけることでXYZ値を算出する。まず、撮像RGB値を正規化する。正規化は撮像RGB値が10bitの場合、各値を１０２３（＝２１０−１）で割る。次に、下記の式（１）〜（３）のいずれかを用いてXYZ値を算出する。
【００４４】
【数１】
2013009048.tif 000003
【００４５】
【数２】
2013009048.tif 000004
【００４６】
【数３】
2013009048.tif 000005
【００４７】
ここで、Ｍ１は３行３列の色変換マトリックス、Ｍ２は３行９列の色変換マトリックス、Ｍ３は３行１９列の色変換マトリックスである。上記の式を用いてカラーパッチデータ内の全てのカラーパッチについてXYZ値を算出し、ＩＤと撮像RGB値と信号RGB値とXYZ値とを対応付けた色変換テーブルを生成する。さらに色変換テーブルにおいて、レンジ判定値のもつＩＤに対応するデータには、レンジ判定値であったか否かを規定するタグを付与する。図１１および１２に色変換テーブルの例を示す。なお、図１１は白色パッチが飽和しないように撮像した場合の色変換テーブルの一例であり、図１２は再撮像した場合の色変換テーブルの一例である。
【００４８】
ステップＳ７０３において、三刺激値推定部１１０は生成した色変換テーブルと、使用した色変換マトリックスと、カメラリニアリティ特性データとを対応付けてＲＡＭ１１４に格納する。ステップＳ７０４において、三刺激値推定部１１０は、レンジ判定情報のうちJkに基づいて判定を行う。具体的には、Jk=0のとき、ステップＳ７０６に進む。Jk=1のとき、ステップＳ７０５に進む。
【００４９】
ステップＳ７０５において、三刺激値推定部１１０はＲＡＭ１１４に格納される全ての色変換テーブルと、それに対応した色変換マトリックスおよびカメラリニアリティ特性データを読み出し、色変換テーブル合成部１１１へ送信する。そして、色変換テーブルの合成処理へ移行する。ステップＳ７０６において、三刺激値推定部１１０は三刺激値推定の処理を終了し、再撮像の処理へ移行する。以上のようにして、撮像カラーパッチデータから表示装置３００のXYZ値を推定し、色変換テーブルを色変換テーブル合成部１１１へ送信する。
【００５０】
＜再撮像の処理＞
ここでは、再撮像の処理について説明する。レンジ判定情報に基づいて、再撮像条件生成部１０６で再度、カラーチャートを撮像するために必要な撮像条件を生成する。そして、生成した撮像条件をカメラ制御部１０７から撮像装置２００に設定させる。さらに、暗部を線形なレンジで詳細に撮像するために必要なカラーチャート再生成情報を生成する。ここで、カラーチャート再生成情報とは、再撮像条件に合わせて再生成するカラーチャートデータの最大信号RGB値である。新たなカラーチャートを信号値制御部１０８から表示装置３００に表示させ、撮像装置２００でカラーチャートを撮像させる。以上が、再撮像の処理の概略となる。
【００５１】
以下では、上記の処理を詳細に説明する。まず、再撮像条件生成部１０６は、レンジ判定情報に基づいて、カラーパッチデータが線形なレンジの範囲内に収まるように、再度撮影するために必要な撮像条件およびカラーチャート再生成情報を生成する。再撮像条件生成部１０６のフローチャートを図１３に示す。
【００５２】
以下、図１３のフローチャートを参照して説明する。ステップＳ９０１において、再撮像条件生成部１０６は取得したレンジ判定情報に基づいて判定を行う。具体的には、レンジ判定情報（Jw,Jk,Jr,Jg,Jb）のうち、Jw,Jr,Jg,Jbの全てが１だった場合、ステップＳ９０２に進む。また、Jw,Jr,Jg,Jbのうちいずれかが０であった場合、ステップＳ９０５へ進む。
【００５３】
ステップＳ９０２において、再撮像条件生成部１０６はレンジ判定情報のうちJkに基づいて判定を行う。具体的には、Jk=0のとき、ステップＳ９０３に進む。Jk=1のとき、ステップＳ９０６に進む。ステップＳ９０３において、再撮像条件生成部１０６は、レンジ判定部１０５から取得したカメラリニアリティ特性データに基づいて再撮像条件を生成する。レンジ判定部１０５から取得した撮像条件のうち、レンズの絞り値がＦ１、シャッター時間がＴ１であったとする。このとき、再撮像によって暗部Ｔｈ１以下の撮像画素値を線形なレンジ内に入れるために必要な撮像条件Ｆ２、Ｔ２は下記の式から算出される。
【００５４】
【数４】
2013009048.tif 000006
【００５５】
上記の式より、再撮像に必要な条件の組み合わせは（絞り値、シャッター時間）＝（Ｆ２，Ｔ１）、（Ｆ１，Ｔ２）の２種類となる。
【００５６】
ステップＳ９０４において、再撮像条件生成部１０６は、信号値制御部１０８からカラーチャートデータ４００を取得する。そして、再撮像の際に用いるカラーチャートデータ４０１を生成するために必要なカラーチャート再生成情報を生成する。そこでまず表示装置３００のガンマを算出する。カラーチャートデータ４００からグレーパッチを抽出する。ここで、グレーパッチとは信号RGB値がR=G=Bとなるカラーチャートデータのことである。次に、このグレーパッチのＩＤと同じＩＤのカラーパッチデータを抽出する。白色パッチではないグレーパッチの撮像RGB値をRcam,Gcam,Bcamとし、信号RGB値をRsig,Gsig,Bsigとする。また、白色パッチの撮像RGB値をRcam1,Gcam1,Bcam1とし、信号RGB値をRsig1,Gsig1,Bsig1とする。このとき、求めたい表示装置３００のガンマをγとすると、γは下記の式から算出される。
【００５７】
【数５】
2013009048.tif 000007
【００５８】
また、ガンマは抽出した全てのグレーパッチに対して式（５）を行い、その平均値を用いてもよいし、操作部１１５からユーザーが入力してもよい。ガンマはＲＡＭ１１４に格納する。次に、カラーチャート再生成情報を生成する。カラーチャート再生成情報をＳ１とおくと、Ｓ１は下記の式から算出される。
【００５９】
【数６】
2013009048.tif 000008
【００６０】
ただし、上記式の４０９５は白色パッチの信号値である。
【００６１】
ステップＳ９０５において、再撮像条件生成部１０５は、取得したレンジ判定値Ｐ１、Ｐ３、Ｐ４、Ｐ５およびカメラリニアリティ特性データから再撮像条件を生成する。レンジ判定部１０５から取得した撮像条件のうち、レンズの絞り値がＦ１、シャッター時間がＴ１であったとする。このとき、下記の式から線形なレンジの範囲外での最大撮像RGB値Ｐ６を算出する。
【００６２】
【数７】
2013009048.tif 000009
【００６３】
ここで、上記式のMAXはかっこ内の最大値を選択する、という意味である。そして、再撮像によって白色パッチを暗部Ｔｈ１以上且つ明部Ｔｈ２以下の撮像画素値として取得するために必要な撮像条件Ｆ２、Ｔ２は下記の式から算出される。
【００６４】
【数８】
2013009048.tif 000010
【００６５】
上記の式より、再撮像に必要な条件の組み合わせは（絞り値，シャッター時間）＝（Ｆ２，Ｔ１）、（Ｆ１，Ｔ２）の２種類となる。ステップＳ９０６において、再撮像条件生成部１０６は再撮像の処理を終了する。再撮像の処理を終了したのち、色変換テーブル合成の処理に移る。最後に、再撮像条件生成部１０５は、得られた再撮像条件（Ｆ２，Ｔ１）、（Ｆ１，Ｔ２）をカメラ制御部１０７に送信する。また、カラーチャート再生成情報Ｓ１がある場合、Ｓ１は信号値制御部１０８に送信する。
【００６６】
次に、カメラ制御部１０７では、再撮像条件に基づいて撮像装置２００に撮像条件を設定する。まず、再撮像条件に含まれるＦ２、Ｔ２に近く且つ撮像装置２００に存在する値Ｆ２’、Ｔ２’を選択する。例えばＦ２＝１．８であるとする。一般的にレンズの絞り値は１．０、１．４、２．０、２．８・・・となっているので、Ｆ２’＝２．０とする。本実施例では、Ｆ２’は、Ｆ２より大きな値、かつ最も近い値を選択するが、単に最も近い値を選択してもよい。次にＴ２＝０．６であるとする。シャッター時間は一般的に２、１、１／２、１／４、１／８・・・となっているので、Ｔ２’＝１／２とする。本実施例では、Ｔ２’はＴ２より小さな値かつ最も近い値を選択するが、単に最も近い値を選択してもよい。Ｆ２’とＴ２’を設定後、表示部１１６に再撮像条件を（Ｆ２’，Ｔ１）と（Ｆ１，Ｔ２’）のどちらを選ぶか選択させる旨のメッセージを表示し、ユーザーに選択させる。そして、ユーザーが選択した再撮像条件を撮像装置２００に送信して設定する。
【００６７】
次に、信号値制御部１０８は、カラーチャート再生成情報Ｓ１に基づき、新たなカラーチャートデータ４０２を生成する。例えば、Ｓ１＝２０４８であるとする。R成分について０、１２８、２５６などのように１２８間隔で階調値を選択し、同じくG成分、B成分についても１２８間隔で階調値を選択する。これにより、信号RGB値０〜２０４８までの新たなカラーチャートデータ４０２が生成される。さらに、カラーチャートデータ４００と同様に位置を示すＩＤも付与する。そして、生成したカラーチャートデータ４０２を表示装置３００に送信し、表示させる。次に、表示装置３００に表示された新たなカラーチャートをユーザーが撮像装置２００で撮像するが、この処理は基本的にカラーパッチデータ取得の処理および撮像条件取得の処理と同じである。
【００６８】
このようにして、全カラーチャートデータを撮像装置２００の線形なレンジ内で撮像する再撮像の処理を行うことができる。
【００６９】
＜色変換テーブルの合成処理＞
ここでは、色変換テーブルの合成処理について説明する。これまでの処理で生成した色変換テーブルのうち、ダイナミックレンジは広いが、暗部の精度が低い色変換テーブルと、ダイナミックレンジは狭いが暗部の精度が高い色変換テーブルを合成する。これにより、ダイナミックレンジが広く精度の高い色変換テーブルを生成する。これにより、広いダイナミックレンジを持つ表示装置３００の色変換テーブルを生成することができる。以上が、色変換テーブルの合成処理の概略となるが、以下では、上記の処理を詳細に説明する。
【００７０】
まず、色変換テーブル合成部１１１のフローチャートを図１４に示す。以下、図１４のフローチャートを参照して説明する。ステップＳ１００１において、色変換テーブル合成部１１１は、三刺激値推定部１１０から全色変換テーブル並びにそれぞれに対応した色変換マトリックスおよびカメラリニアリティ特性データを取得する。
【００７１】
ステップＳ１００２において、色変換テーブル合成部１１１は、各カメラリニアリティ特性データ内のＴｈ２から、対応する色変換マトリックスを用いてXYZ値を算出する。まず、Ｔｈ２を三刺激値推定の処理におけるステップＳ７０２と同様に正規化する。正規化したＴｈ２をＴｈ２’とし、（R,G,B）＝（Ｔｈ２’，Ｔｈ２’，Ｔｈ２’）とし、式（１）ないし（３）のいずれかを用いてＴｈ２における三刺激値X_th2,Y_th2,Z_th2を算出する。例えば、ｎ個の色変換テーブル、カメラリニアリティ特性データおよび色変換マトリックスを取得していたとすると、ｎ個のＴｈ２におけるX_th2,Y_th2,Z_th2を算出する。
【００７２】
ステップＳ１００３において、色変換テーブル合成部１１１は、ステップＳ１００２で算出した各色変換テーブルのX_th2,Y_th2,Z_th2のうちY_th2を、色変換テーブル間で比較する。そして、Y_th2の値の小さい順に色変換テーブルをＤ１、Ｄ２、・・・とおく。例えば、ｎ個の色変換テーブルがあるとき、Y_th2の小さな順にＤ１、Ｄ２、・・・Ｄｎとラベリングされる。
【００７３】
ステップＳ１００４において、色変換テーブル合成部１１１はラベリングした色変換テーブルのうち、色変換テーブルＤ１と色変換テーブルＤ２を抽出し、色変換テーブルＤ１を暗部色変換テーブルＤｄ、色変換テーブルＤ２を明部色変換テーブルＤｌとする。ステップＳ１００５において、色変換テーブル合成部１１１は、ＤｄのXYZ値およびＤｄのX_th2,Y_th2,Z_th2並びにＤｌのXYZ値をそれぞれＣＩＥＬＡＢに変換する。まず、全色変換テーブルのうちY_th2が最大となったＤｎの色変換テーブルから、レンジ判定値にＰ１とあるＩＤのデータを抽出する。Ｐ１は色変換テーブルＤｎの白色パッチに相当するので、Ｐ１のXYZ値を表示装置３００の白色点と仮定して、ＤｄのXYZ値をＣＩＥＬＡＢ値に変換する。以下にXYZ値をL*a*b*値に変換する変換式を示す。
【００７４】
【数９】
2013009048.tif 000011
【００７５】
【数１０】
2013009048.tif 000012
【００７６】
【数１１】
2013009048.tif 000013
【００７７】
【数１２】
2013009048.tif 000014
【００７８】
【数１３】
2013009048.tif 000015
【００７９】
ここで、Xn,Yn,Znは全色変換テーブルのうちY_th2が最大となった色変換テーブルＤｎの白色パッチのXYZ値である。同様にして色変換テーブルＤｄのX_th2,Y_th2,Z_th2をL_th2*,a_th2*,b_th2*へ変換する。また色変換テーブルＤｌのXYZ値を同様にＣＩＥＬＡＢに変換する。
【００８０】
ステップＳ１００６において、色変換テーブル合成部１１１は、暗部色変換テーブルＤｄにおけるＴｈ２の三刺激値X_th2,Y_th2,Z_th2の信号RGB値を算出する。まず、各カラーパッチの評価関数Ｅを下記の式で表す。
【００８１】
【数１４】
2013009048.tif 000016
【００８２】
そして、上記式のＥが小さくなるL*a*b*値の4点をＤｄから探索する。色変換テーブルＤｄ内でＥが小さくなる４点をＵ０＝（L0*,a0*,b0*）、Ｕ１＝（L1*,a1*,b1*）、Ｕ２＝（L2*,a2*,b2*）、Ｕ３＝（L3*,a3*,b3*）、Ｕ＝（L_th2*,a_th2*,b_th2*）とする。すると、L*a*b*空間で示すと図１５に示すようにＵをＵ０、Ｕ１、Ｕ２、Ｕ３の4点で形成する四面体で覆う形となる。
【００８３】
このときＵを、四面体補間を用いて、既知のＵ０、Ｕ１、Ｕ２、Ｕ３から求める。まず、四面体を形成する４点のうち、任意の１点Ｕ０を基準とし、ほかの３点Ｕ１、Ｕ２、Ｕ３とそれぞれ結んだ３つのベクトルを考える。このとき、点ＵとＵ０を結んだベクトルはｋ、ｌ、ｍを実数とするとき、以下の式を満たす。
【００８４】
【数１５】
2013009048.tif 000017
【００８５】
ベクトルの成分で書き直すと、以下のようになる。
【００８６】
【数１６】
2013009048.tif 000018
【００８７】
上記式の両辺左側から逆行列を乗算して左辺と右辺を入れ替えると、
【００８８】
【数１７】
2013009048.tif 000019
【００８９】
上記式より算出されるＵを補間する割合はｋ、ｌ、ｍとなる。
【００９０】
【数１８】
2013009048.tif 000020
【００９１】
これらのｋ、ｌ、ｍが上記式を全て満たすとき、Ｕは生成した四面体の内部に存在する。上記式が成立しない場合、再度４点を探索しなおす。Ｕ０、Ｕ１、Ｕ２、Ｕ３の各点に対応する信号RGB値をＶ０、Ｖ１、Ｖ２、Ｖ３とし、Ｔｈ２の信号RGB値をＶ＝（R_th2,G_th2,B_th2）とすると、下記の式が成立する。
【００９２】
【数１９】
2013009048.tif 000021
【００９３】
これにより、色変換テーブルＤｄのＴｈ２の信号RGB値であるR_th2,G_th2,B_th2を算出できる。なお、上記では四面体補間によって求めたが、補間方法はこれに限られるものではない。
【００９４】
ステップＳ１００７において、色変換テーブル合成部１１１は、暗部色変換テーブルＤｄの白色パッチからＴｈ２までの間の信号RGB値とXYZ値とを、明部色変換テーブルＤｌ内に生成する。まず、色変換テーブルＤｄ内におけるＰ１のカラーパッチの信号RGB値をRw,Gw,Bwとする。このとき、色変換テーブルＤｌの信号RGB値のうち、Rw,Gw,Bw以上、R_th2,G_th2,B_th2以下で色変換テーブルＤｄに存在して色変換テーブルＤｌに存在しない信号RGB値をＤｌのテーブル内に生成する。さらに、色変換テーブルＤｌ内に新たに生成した信号RGB値に対応したXYZ値を生成する。このとき、XYZ値は色変換テーブルＤｌ内の線形補間で算出する。例えば、色変換テーブルＤｌ内のある２点の信号RGB値の間に１点の新たな信号RGB値が生成された場合の例を説明する。２点の信号RGB値を（Ra,Ga,Ba）と（Rb,Gb,Bb）とし、対応するXYZ値を（Xa,Ya,Za）、（Xb,Yb,Zb）とする。この間に新たな信号RGB値（Rc,Gc,Bc）が生成されたとすると、（Rc,Gc,Bc）に対応するXYZ値（Xc,Yc,Zc）は以下の線形補間の式から算出できる。
【００９５】
【数２０】
2013009048.tif 000022
【００９６】
上記のようにして新たに生成した信号RGB値に対応したXYZ値を算出する。これを色変換テーブルＤｌ内の信号RGB値がRw,Gw,Bw以上、R_th2,G_th2,B_th2以下の新たに生成した信号RGB値全てに対して行う。これにより、明部色変換テーブルＤｌ内に信号RGB値とXYZ値を生成できる。
【００９７】
ステップＳ１００８において、色変換テーブル合成部１１１はＤｄとＤｌの色変換テーブルを合成し、広ダイナミックレンジ色変換テーブルＤ’を生成する。まず色変換テーブルＤ’に信号RGB値の低い順に、Rw,Gw,BwまでＤｄの色変換テーブルの信号RGB値およびXYZ値を挿入する。次に、色変換テーブルＤｄとＤｌ内の信号RGB値Rw,Gw,Bwから色変換テーブルＤｄのR_th2,G_th2,B_th2までの信号RGB値を挿入し、XYZ値を合成して挿入する。信号RGB値がRsig,Gsig,Bsigのとき、色変換テーブルＤｄで対応するXYZ値をXd,Yd,Zd、Ｄ色変換テーブルｌで対応するXYZ値をXl,Yl,Zl、求めたいXYZ値をX’,Y’,Z’とする。このように設定すると、下記の式でX’,Y’,Z’を算出することができる。
【００９８】
【数２１】
2013009048.tif 000023
【００９９】
ただし、ここで用いられているY値の関数ｆは重みづけの関数である。関数ｆは図１６に示すように、Y値がＰ１におけるY値Ywまでの間は１であり、そこから色変換テーブルＤｄのY_th2までに０に低下する。ｆの式は下記のように表せる。
【０１００】
【数２２】
2013009048.tif 000024
【０１０１】
さらに、信号RGB値がR_th2,G_th2,B_th2以降は色変換テーブルＤ’に色変換テーブルＤｌの信号RGB値とそれに対応するXYZ値を挿入する。これにより、広ダイナミックレンジ色変換テーブルＤ’を生成することができる。図２１に広ダイナミックレンジ色変換テーブルＤ’の例を示す。
【０１０２】
ステップ１００９において、色変換テーブル合成部１１１は全ての色変換テーブルを合成したか判定する。全ての色変換テーブルを合成し終えた場合、色変換テーブルの合成処理を終了する。また、全ての色変換テーブルを合成し終えていない場合、ステップＳ１０１０に進む。ステップＳ１０１０において、色変換テーブル合成部１１１は次に広いダイナミックレンジを持つ色変換テーブルを合成するため、色変換テーブルを選択する。例えば、Ｄｌに色変換テーブルＤ２を選んでいた場合、次のＤｌに色変換テーブルＤ３を選択する。また、Ｄｄには合成した色変換テーブルＤ’を選択する。
【０１０３】
最後に、合成した広ダイナミックレンジ色変換テーブルＤ’を色補正処理装置１０３に送信する。このようにして、暗部から明部まで精度の高い色変換テーブルを合成した、広いダイナミックレンジを持つ色変換テーブルを生成することができる。
【０１０４】
＜色補正データ生成の処理＞
ここでは、色補正データ生成の処理について説明する。色補正データ生成部１１８は、目標値記憶部１１７に保持される目標テーブルを読み出す。ここで、目標テーブルとは信号RGB値とXYZ値とについての記憶された3DLUTである。本実施例では、デジタルシネマの国際標準であるＤＣＩで規格化されている色変換テーブルを目標テーブルとした例で説明するがこれに限られない。色変換テーブル合成部１１１から取得した色変換テーブルＤ’と目標テーブルとに基づき、表示装置３００が目標テーブルに最も近い色を表示するために必要な色補正データを生成する。生成された色補正データは、プロファイルとして表示装置３００に設定される。これにより、表示装置３００を目標値にカラーマッチングさせることができる。以上が色補正データ生成の処理の概略である。
【０１０５】
以下、上記の処理について詳細に説明する。色補正データ生成部１１８は、まず目標値記憶部１１７に記憶される目標テーブルを読み出す。上記したように目標テーブルは信号RGB値とXYZ値との色変換テーブルである。色補正データ生成部１１８は、色変換テーブル合成部１１１から広ダイナミックレンジ色変換テーブルＤ’を取得する。取得した広ダイナミックレンジ色変換テーブルＤ’を用いて、目標テーブルのXYZ値に最も近い値を、表示装置３００で表示するために必要な信号RGB値をＤ’から探索することにより、四面体補間により算出する。具体的な処理は上述の色変換テーブルの合成処理で行った処理と同一である。
【０１０６】
まず式（８）ないし（１２）を用いて目標テーブルのXYZ値をL*a*b*値に変換する。このとき、白色点は目標テーブルの信号RGB値がR=G=B且つ最大値である白のXYZ値とし、これらをXn,Yn,Znとする。同様に、広ダイナミックレンジ色変換テーブルＤ’のXYZ値もL*a*b*値に変換する。ここでも目標テーブルの白色点を用いる。次に、目標テーブルのL*a*b*値に最も近い４点をＤ’のL*a*b*値から探索する。ある目標テーブルのL*a*b*値をLt*,at*,bt*として式（１３）のL_th2*,a_th2*,b_th2*に代入し、評価関数Ｅが最小となる点から順に探索する。そして、式（１４）ないし（１８）により、目標テーブルのL*a*b*に最も近い表示が出来る信号RGB値が算出できる。なお、評価関数として式（１３）をこれまでの処理で使用してきたが、本処理では式（１３）の代わりに、下記の式で表されるΔＥ９４を使用してもいいことは言うまでもない。
【０１０７】
【数２３】
2013009048.tif 000025
【０１０８】
以上により、信号RGB値とXYZ値のテーブルである色補正データが生成できる。この色補正データをプロファイルとして表示装置３００に送信して設定する。これにより、表示装置３００のカラーマッチングが行うことができる。
【０１０９】
以上説明した処理制御を行うことで、通常の撮像装置２００ではダイナミックレンジが狭く色推定できないような広いダイナミックレンジをもつ表示装置３００においても、色推定を行うことができる。また、それにより表示装置３００を目標とする色へとカラーマッチングが可能となる。
【０１１０】
［実施例２］
実施例１では、撮像装置２００で広いダイナミックレンジの表示装置３００を精度よく測定するため、自動的に再撮像の条件および再撮像のカラーチャートを生成するといった処理を行った。しかし、この方法では高精度を得られる一方、回路規模が大きくなってしまうという問題がある。そこで、本実施例では１つのカラーチャートをユーザーが任意に設定したいくつかの撮像条件で撮像した場合にも広いダイナミックレンジの色を推定を可能にすることを目的とする。以下で、システム構成の詳細およびシステム動作の詳細について説明する。
【０１１１】
＜システム構成例＞
図１７は本発明にかかる広ダイナミックレンジ色補正システム１３００における三刺激値推定装置１３０１の構成例を示すブロック図である。具体的に本実施例では、実施例１における三刺激値推定装置１０２から、再撮像条件生成部１０６とカメラ制御部１０７とを除いた構成となっており、色補正処理装置１０３も含め、その他の構成は実施例１と同一である。よって、ブロック図の詳細な説明は省略する。
【０１１２】
＜システム全体の動作＞
本実施例におけるシステム全体の動作について説明する。まず、実施例１と同様、表示装置３００にカラーチャート４００を表示させ、撮像装置２００で撮像する。このとき、本実施例ではユーザーが任意に設定した撮像条件で複数回撮像を行う。複数回の撮像により得られた複数の撮像画像データから、カラーパッチデータおよび撮像条件を取得する。取得した各カラーパッチデータについて、実施例１と同様にそれぞれ線形なレンジ内か否か判定を行ってパッチ判定情報を生成する。ここで、パッチ判定情報とは各カラーパッチデータが線形なレンジ内か判定した結果を列記した情報であり、実施例１と同様である。
【０１１３】
パッチ判定情報が得られると、カラーパッチデータに基づいて三刺激値を推定し、表示装置３００の色変換テーブルを生成する。このようにして複数の色変換テーブルが得られるので、パッチ判定情報に基づいて色変換テーブルの合成処理を行う。合成した色変換テーブルは、色補正処理装置１０３に送信される。色補正処理装置１０３は、受信した色変換テーブルとカラーマッチングの目標値とに基づいて色補正データ生成の処理を行い、生成した色補正データを表示装置３００にプロファイルとして設定する。以下では、カラーパッチデータ取得および撮像条件取得の処理、三刺激値推定の処理並びに色変換テーブルの合成処理について詳細に説明する。
【０１１４】
＜カラーパッチデータ取得および撮像条件取得の処理＞
図１７を参照すると、信号値制御部１０８は、ＲＯＭ１１３に格納されるカラーチャートデータを表示装置３００に送信し、図５に示すようなカラーチャート４００を表示させる。これとともに、カラーチャートデータをカラーパッチデータ取得部１０１にも送信する。
【０１１５】
次に、撮像装置２００で表示装置３００に表示されているカラーチャート４００を、任意に撮像条件を変えて複数回撮像する。撮像画像データからカラーパッチデータを抽出する方法および撮像条件の取得方法は実施例１のカラーパッチデータ取得の処理および撮像条件取得の処理と同一であるため説明を省略する。カラーパッチデータが抽出されると、カラーパッチデータ取得部１０１は、抽出されたカラーパッチデータのヘッダなどに撮像条件を付加して、カラーパッチデータをレンジ判定部１０５および三刺激値推定部１１０に送信する。
【０１１６】
一方、撮像条件を取得した撮像条件取得部１１９は、取得した撮像条件を再撮像条件生成部１０５および色変換マトリックス記憶部１０９に送信する。以上のようにして、以降の処理で用いるカラーパッチデータおよび撮像条件の準備が整いダイナミックレンジ判定の処理に移る。
【０１１７】
＜ダイナミックレンジ判定の処理＞
ダ本処理ではまず、各カラーパッチデータが線形なレンジ内に収まっているか否かを判定する。レンジ判定部１０５内の処理フローを、図１８のフローチャートに示す。
【０１１８】
以下では、図１８のフローチャートを参照して説明する。ステップＳ１４０１からステップＳ１４０３までは実施例１のステップＳ６０１から６０３と同一であるため説明を省略する。ただし、本実施例では、１つのカラーチャートを、条件を変えて複数回撮像するため、複数のカラーパッチデータ、撮像条件およびカメラリニアリティ特性データが得られる点で実施例１と異なる。ステップＳ１４０４において、レンジ判定部１０５はパッチ判定情報を生成する。ここで、パッチ判定情報とは（Jd1, Jd2, Jd3,…, Jdn）という数値の組み合わせが各信号RGB値に対応付けられたテーブルである。つまりパッチ判定情報は信号RGB値分の行×撮像条件分の列の数値の組み合わせであり、初期値は全て０である。
【０１１９】
ステップＳ１４０５において、レンジ判定部１０５はカラーパッチデータから、ある信号RGB値を抽出し、対応する撮像TGB値が各カラーパッチデータの線形なレンジ内か判定する。例えば、ある信号RGB値R’,G’,B’におけるカラーパッチデータＣＤｉの撮像RGB値がRcam’,Gcam’,Bcam’であるとする。このとき、下記の式からR’,G’,B’がＣＤｉにおいて線形なレンジ内か判定し、パッチ判定情報を更新する。
【０１２０】
【数２４】
2013009048.tif 000026
【０１２１】
同様にして、R’,G’,B’において全てのカラーパッチデータで上記式の処理を行い、パッチ判定情報を更新する。このようにして、ある信号RGB値が撮像条件ごとに線形なレンジ内にあるか否か判定する。ステップＳ１４０６において、レンジ判定部１０５は、全ての信号RGB値についてパッチ判定情報を更新したか否か判定する。全ての更新が終了していない場合、ステップＳ１４０５に進む。最後に、生成したパッチ判定情報を色変換テーブル合成部１１１に送信する。
【０１２２】
このようにして、全ての撮像条件におけるカラーパッチデータがダイナミックレンジの範囲内かどうかを判定する。
【０１２３】
＜三刺激値推定の処理＞
本処理ではまず、取得した撮像条件に基づいて色変換マトリックスを読み出し、撮像条件に対応するカラーパッチデータの三刺激値を推定し、色変換テーブルを生成する。そして、生成した色変換テーブルを色変換テーブル合成部１１１に送信する。
【０１２４】
以下では、上記の処理のうち実施例１と差異のある部分についてのみ説明する。色変換マトリックス記憶部１０９の処理は、実施例１と同一であるため説明を省略する。ただし、本実施例では撮像条件ごとに色変換マトリックスを読み出す点で異なる。三刺激値推定部１１０は、撮像条件ごとにレンジ判定情報から三刺激値推定の判定を行い、撮像条件ごとに色変換マトリックスとカラーパッチデータから三刺激値推定の処理を行う。
【０１２５】
三刺激値推定部１１０のフローチャートを図１９に示す。以下、図１９のフローチャートを参照して説明する。ステップＳ１５０１の処理は、実施例１のステップＳ７０２と同一であるため説明を省略する。ステップＳ１５０２において、三刺激値推定部１１０は全てのカラーパッチデータに対して三刺激値の推定を行い、色変換テーブルを生成したか判定する。全てのカラーパッチデータに対して処理を行った場合、ステップＳ１４０４へ進む。まだ全ては行っていない場合、ステップＳ１５０３へ進む。
【０１２６】
ステップＳ１５０３において、三刺激値推定部１１０は、未処理のカラーパッチデータ、色変換マトリックスおよびカメラリニアリティ特性データを撮像条件に基づいて選択する。ステップＳ１５０４において、生成した全ての色変換テーブル、色変換マトリックスおよびカメラリニアリティ特性データを色変換テーブル合成部１１１へ送信する。以上のようにして、カラーパッチデータから表示装置３００のXYZ値を推定し、色変換テーブルを色変換テーブル合成部１１１へ送信する。
【０１２７】
＜色変換テーブルの合成処理＞
本処理では、ユーザーが任意に設定した撮像条件ごとの色変換テーブルのうち、線形なレンジの範囲内にあるテーブルを抽出して合成することで、ダイナミックレンジが広い色変換テーブルを生成する。
【０１２８】
以下に、本処理を詳細に説明する。まず、色変換テーブル合成部１１１のフローチャートを図２０に示す。以下、図２０のフローチャートを参照して説明する。ステップＳ１６０１の処理は、実施例１のステップＳ１００１と同一であるため説明を省略する。ステップＳ１６０２において、色変換テーブル合成部１１１は各カメラリニアリティ特性データ内のＴｈ１およびＴｈ２から、対応する色変換マトリックスを用いてXYZ値を算出する。具体的な算出方法は実施例１のステップＳ１００２と同一であるため説明を省略する。
【０１２９】
ステップＳ１６０３の処理は、実施例１のステップＳ１００３と同一であるため説明を省略する。ステップＳ１６０４において、色変換テーブル合成部１１１はパッチ判定情報を取得する。レンジ判定部１０５からパッチ判定情報を取得し、パッチ判定情報を色変換テーブルに対応させて並べ替える。ステップＳ１６０５において、色変換テーブル合成部１１１は色変換テーブルＤ’を生成する。ステップＳ１６０６において、色変換テーブル合成部１１１は、色変換テーブル内から信号RGB値を抽出する。
【０１３０】
ステップＳ１６０７において、色変換テーブル合成部１１１は、抽出した信号RGB値におけるパッチ判定情報の総和を判定する。下記の式から算出されるパッチ判定情報の総和Ｎ＝０のときはステップＳ１６０８へ進み、０以外のときはステップＳ１６０９へ進む。
【０１３１】
【数２５】
2013009048.tif 000027
【０１３２】
ステップＳ１６０８において、色変換テーブル合成部１１１は信号RGB値に対応するXYZ値を算出する。例えば、信号RGB値R’,G’,B’のXYZ値をX’,Y’,Z’とする。このとき、パッチ判定情報より、この信号RGB値はどの色変換テーブルにおいても線形なレンジの範囲外であるため、X’,Y’,Z’を色変換テーブルＤ１のこの信号RGB値におけるXYZ値とする。
【０１３３】
ステップＳ１６０９において、色変換テーブル合成部１１１は、パッチ判定情報に基づいて、信号RGB値におけるXYZ値を色変換テーブルの合成によって算出する。例えば、信号RGB値R’,G’,B’の、各色変換テーブルＤ１、Ｄ２、・・・、ＤｎにおけるXYZ値をXd1,Yd1,Zd1、Xd2,Yd2,Zd2、Xd3,Yd3,Zd3、・・・Xdn,Ydn,Zdnとする。このとき、求めたいXYZ値をX’,Y’,Z’とすると、下記の式から算出することができる。
【０１３４】
【数２６】
2013009048.tif 000028
【０１３５】
ステップＳ１６１０において、色変換テーブル合成部１１１は、色変換テーブルＤ’に信号RGB値と算出したXYZ値とを挿入する。ステップＳ１６１１において、色変換テーブル合成部１１１は、全ての信号RGB値についてXYZ値を挿入したか判定する。
【０１３６】
最後に、生成した広ダイナミックレンジ色変換テーブルＤ’を色補正処理装置１０３に送信する。このようにして、広いダイナミックレンジを持つ色変換テーブルを生成することができる。
【０１３７】
＜色補正データ生成の処理＞
色補正データ生成の処理については、実施例１と同一であるため説明を省略する。
【０１３８】
以上説明した処理制御を行うことで、ユーザーが任意に設定した撮像条件で複数回撮像することによって、広いダイナミックレンジをもつ表示装置３００の色推定を行うことができる。また、それにより表示装置３００のカラーマッチングを可能とする。
【０１３９】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、本発明は、複数のプロセッサが連携して処理を行うことによっても実現できるものである。
【図１】
2013009048.tif 000029
【図２】
2013009048.tif 000030
【図３】
2013009048.tif 000031
【図４】
2013009048.tif 000032
【図５】
2013009048.tif 000033
【図６】
2013009048.tif 000034
【図７】
2013009048.tif 000035
【図８】
2013009048.tif 000036
【図９】
2013009048.tif 000037
【図１０】
2013009048.tif 000038
【図１１】
2013009048.tif 000039
【図１２】
2013009048.tif 000040
【図１３】
2013009048.tif 000041
【図１４】
2013009048.tif 000042
【図１５】
2013009048.tif 000043
【図１６】
2013009048.tif 000044
【図１７】
2013009048.tif 000045
【図１８】
2013009048.tif 000046
【図１９】
2013009048.tif 000047
【図２０】
2013009048.tif 000048
【図２１】
2013009048.tif 000049