マルチディスプレイのキャリブレーションシステム
【課題】マルチディスプレイに備えられる各カラーディスプレイのキャリブレーションの精度を向上させる。
【解決手段】色測定装置218の色測定結果およびデジタルカメラ202の撮像結果を用いてディスプレイ毎に当該ディスプレイに対応するカメラモデルを決定し、デジタルカメラ202の撮像結果を用いてディスプレイ毎に当該ディスプレイに対応するディスプレイモデルを決定し、ディスプレイモデルおよびカメラモデルを用いてマルチディスプレイに対する入力信号値と各ディスプレイに対する出力信号値とを対応付けたLUT104をディスプレイ毎に決定する。
【解決手段】色測定装置218の色測定結果およびデジタルカメラ202の撮像結果を用いてディスプレイ毎に当該ディスプレイに対応するカメラモデルを決定し、デジタルカメラ202の撮像結果を用いてディスプレイ毎に当該ディスプレイに対応するディスプレイモデルを決定し、ディスプレイモデルおよびカメラモデルを用いてマルチディスプレイに対する入力信号値と各ディスプレイに対する出力信号値とを対応付けたLUT104をディスプレイ毎に決定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチディスプレイ(ディスプレイ集合体)を構成する複数のカラーディスプレイを連帯的にキャリブレーションする技術に関するものである。
【背景技術】
【0002】
従来、複数のカラーディスプレイを並べて配置することにより、これら複数のカラーディスプレイを用いて全体として1つの画像を表示することが可能なマルチディスプレイが知られている。
【0003】
マルチディスプレイにおいて、各カラーディスプレイを横断した一貫性のある画像を表示するためには、全てのカラーディスプレイのグレースケール色度値、階調応答関数(ガンマ曲線)、および最大輝度値を同一にするように各カラーディスプレイのキャリブレーションを行う必要がある。
【0004】
各カラーディスプレイのキャリブレーションを行わない場合、各カラーディスプレイは製造者および機種が同じであってもカラーディスプレイ毎に色出力特性が異なっているので、複数のカラーディスプレイに同じRGB信号値(R:レッド、G:グリーン、B:ブルー)を入力した場合であっても各カラーディスプレイに表示される画像の色が異なってしまい、各カラーディスプレイの境界部が視認されて不快感を与えてしまう場合がある。
【0005】
なお、ディスプレイのキャリブレーション方法として、例えば特許文献1には、ディスプレイにカラーチャートを表示させ、表示されているカラーチャートをデジタルカメラで撮像してデジタルカメラに固有の色空間で表現されている画像信号を生成し、表示されているカラーチャートを測色器で測色した結果と上記画像信号とに基づいてデジタルカメラのプロファイルを生成し、上記画像信号に上記プロファイルを適用してデバイス非依存の色空間で表現されている画像信号に変換し、変換した上記画像信号とカラーチャートの入力信号とを比較することによりディスプレイのプロファイルを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−208629号公報(2007年8月16日公開)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の技術は、マルチディスプレイのキャリブレーションを想定したものではないため、特許文献1の技術を用いてマルチディスプレイの各カラーディスプレイに対するキャリブレーションを行うと、各カラーディスプレイに対するキャリブレーションの精度が各カラーディスプレイの配置位置に応じて異なってしまうという問題が生じる。
【0008】
すなわち、マルチディスプレイは複数のカラーディスプレイを並べて配置することにより単体のカラーディスプレイでは実現できない大画面表示を実現するためのものなので、デジタルカメラと各カラーディスプレイとの相対位置(相対角度)が各カラーディスプレイの配置位置に応じて大きく異なる。このため、カラーディスプレイの出力特性の角度依存性(視野角特性)により、マルチディスプレイの端部に配置されているカラーディスプレイに対するキャリブレーションの精度と、中央部(あるいは反対側の端部)に配置されているカラーディスプレイに対するキャリブレーションの精度とに差異が生じてしまう。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、マルチディスプレイに備えられる各カラーディスプレイのキャリブレーションの精度を向上させることにある。
【課題を解決するための手段】
【0010】
本発明の一態様にかかるキャリブレーションシステムは、複数のディスプレイによって構成されるマルチディスプレイにおける上記各ディスプレイのキャリブレーションを行うキャリブレーションシステムであって、上記各ディスプレイのキャリブレーションを行うキャリブレーション処理部と、上記マルチディスプレイ全体の画像を撮像するデジタルカラーカメラと、上記各ディスプレイに表示される画像の色測定を行う色測定装置と、上記各ディスプレイの表示を制御する表示駆動処理部とを備え、上記キャリブレーション処理部は、上記色測定装置の色測定結果および上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するカメラキャリブレーション関数を決定する処理と、上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するディスプレイキャリブレーション関数を決定する処理と、上記ディスプレイキャリブレーション関数および上記カメラキャリブレーション関数を用いて、上記マルチディスプレイに対する入力信号値と上記各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルを上記ディスプレイ毎に決定する処理と、上記各ルックアップテーブルを当該ルックアップテーブルに対応する上記ディスプレイに読み込ませる処理とを行うことを特徴としている。
【発明の効果】
【0011】
上記の構成によれば、各ディスプレイのキャリブレーション処理にカメラのキャリブレーション結果を反映させることができるので、各ディスプレイのキャリブレーションを、デジタルカラーカメラと各ディスプレイとの相対位置にかかわらず正確に行うことができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態にかかるマルチディスプレイに備えられるディスプレイ装置の概略構成を示す説明図である。
【図2】本発明の一実施形態にかかるマルチディスプレイのキャリブレーションシステムの一構成例を示す説明図である。
【図3】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図4】本発明の一実施形態において、マルチディスプレイを構成する各ディスプレイに設定される測定範囲の一例を示す説明図である。
【図5】本発明の一実施形態において、マルチディスプレイを構成する各ディスプレイに設定される測定範囲の一例を示す説明図である。
【図6】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図7】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図8】本発明の一実施形態におけるカメラキャリブレーションの方法の一例を示す説明図である。
【図9A】本発明の一実施形態におけるカメラキャリブレーションの方法の一例を示す説明図である。
【図9B】本発明の一実施形態におけるカメラキャリブレーションの方法の一例を示す説明図である。
【図10A】本発明の一実施形態におけるカラーディスプレイの初期ディスプレイ応答関数の補正方法の一例を示す説明図である。
【図10B】本発明の一実施形態におけるカラーディスプレイの初期ディスプレイ応答関数の補正方法の一例を示す説明図である。
【図11】本発明の一実施形態におけるルックアップテーブルの生成方法の一例を示す説明図である。
【図12】本発明の一実施形態におけるディスプレイRGB値の平滑化処理の一例を示す説明図である。
【図13】本発明の一実施形態にかかるマルチディスプレイの一構成例を示す説明図である。
【図14】本発明の一実施形態にかかるマルチディスプレイの一構成例を示す説明図である。
【図15A】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図15B】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図16】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図17】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図18】本発明の一実施形態にかかるマルチディスプレイのキャリブレーションシステムの一構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
本発明の一実施形態について図面を参照しながら説明する。
【0014】
(1−1.はじめに)
本発明は、各図面に図示あるいは記述された内容に限定されるものではなく、各図面に図示あるいは記述された内容に対してさまざまな変形を施してもよい。また、本実施形態は本発明の代表的な形態を示したものであり、本発明は本実施形態に限定されるものではない。
【0015】
本実施形態で示す各要素(各部材)は、ハードウェア、ファームウェア、および/またはコンピュータシステムを動作させるためのプログラムをコンピュータ読み取り可能に記録した記録媒体によって実現されるものであってもよい。本実施形態では、各要素の一形態について説明するが、それら各要素の形態は本発明の範囲内で任意に変更可能である。
【0016】
また、図面に示した各処理の順序は本発明の一形態にすぎず、適宜変更してもよい。例えば、各ブロックの実行順序を図示した順序から変更してもよい。同様に、例えば、図面中で連続して示されている2以上のブロックを同時に並行して行ってもよく、部分的に並行して行ってもよい。また、コンピュータシステムを動作させるためのプログラムをコンピュータ読み取り可能に記録した記録媒体、ハードウェア、および/またはファームウェアは、さまざまなロジック関数を実行するように構成されてもよい。
【0017】
本実施形態で説明する特徴および方法をコンピュータシステムに実行させるためのプログラムを記録媒体にコンピュータ読み取り可能に記録してもよい。上記の記録媒体の構成は特に限定されるものではないが、例えば、フラッシュメモリ、ディスク記録媒体(例えば、フロッピーディスク(登録商標)、光学ディスク、磁気光学ディスク、DVD(Digital Versatile Disc)、CD(Compact Disc)、マイクロドライブなど)、ROM(Read-Only Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory、登録商標)、RAM(Random-Access Memory)、VRAM(Video Random-Access Memory)、DRAM(Dynamic Random-Access Memory)など)、指示および/またはデータを記録するのに適したさまざまなタイプの記録媒体および記録装置を用いることができる。
【0018】
また、本実施形態では、特定の色空間を用いる場合について説明するが、本発明はこれに限定されるものではなく、他の色空間を用いてもよい。
【0019】
複数のカラーディスプレイによって構成されるマルチディスプレイ(ディスプレイ集合体)において、ディスプレイの境界部をまたがって一体的な画像を表示するためには、全てのカラーディスプレイを同じグレースケール色度値、階調応答関数(ガンマ曲線)、および最大輝度値にキャリブレーションすることが好ましい。
【0020】
目標とするグレースケール色度値および階調応答関数は、ユーザによって指定される。
【0021】
典型的な階調応答関数としては、累乗の指数を用いて規定されるガンマ曲線(例えばIEC61966-2-1:1999標準で規定されたsRGB階調応答曲線では2.2)、および他の公知のガンマ曲線を用いることができる。
【0022】
目標とする最大輝度値はユーザが指定してもよく、ユーザがマルチディスプレイの全てのディスイプレイによって連帯的に達成される最大輝度値の目標値を指定してもよい。
【0023】
各カラーディスプレイのキャリブレーションを行わない場合、各カラーディスプレイは製造者および機種が同じであってもカラーディスプレイ毎に色出力特性が異なっているので、複数のカラーディスプレイに同じRGB信号値(R:レッド、G:グリーン、B:ブルー)を入力した場合であっても各カラーディスプレイの境界部が視認されて不快感を与えてしまう。
【0024】
(1−2.キャリブレーションシステム200の構成)
図2は、本実施形態にかかる典型的なキャリブレーションシステム200の構成を示す説明図である。また、図18は、キャリブレーションシステム200の構成を示すブロック図である。
【0025】
図2および図18に示すように、キャリブレーションシステム200は、マルチディスプレイ206、デジタルカメラ(デジタルカラーカメラ)202、色測定装置218、キャリブレーション用コンピュータ220、および表示駆動用コンピュータ228を備えている。
【0026】
デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に配置された三脚204によって支持されている。
【0027】
本実施形態では、マルチディスプレイ206の全体をデジタルカメラ202の撮像範囲内に収めてマルチディスプレイ206の全体を1つの画像として撮像することのできる位置にデジタルカメラ202を設置している。なお、デジタルカメラ202をパンニング等により移動させながらマルチディスプレイ206の全体を複数の部分毎に撮像し、それら各部分の撮像結果を組み合わせることによりマルチディスプレイ206の全体の画像を取得するようにしてもよい。
【0028】
マルチディスプレイ206は、複数のディスプレイ装置100a〜100dによって構成されている。また、各ディスプレイ装置100a〜100dは、色補正部101a〜101dとカラーディスプレイ(ディスプレイ)102a〜102dとを備えている。また、各色補正部101a〜101dには、LUT(ルックアップテーブル)104a〜104dが備えられている。より具体的には、各色補正部101a〜101dに設けられた記憶部(図示せず)にLUT104a〜104dが記憶されている。なお、以下の説明では、各カラーディスプレイについて共通の説明を行う場合には、ディスプレイ装置100a〜100dをディスプレイ装置100、色補正部101a〜101dを色補正部101、カラーディスプレイ102a〜102dをカラーディスプレイ102、LUT104a〜104dをLUT104と称して説明する。
【0029】
LUT104(104a〜104d)は、ディスプレイ装置100に入力されたRGB信号(RGB入力信号)を補正するために用いられ、補正後のRGB信号(RGB出力信号)に基づいてカラーディスプレイ102が駆動される。
【0030】
色測定装置(測色器)218は、支持手段216によって支持されている。支持手段216は、色測定装置218を、各カラーディスプレイ102a〜102dのそれぞれの色出力を個別に測定できるように支持する。
【0031】
色測定装置218としては、例えば、エックスライト社の「アイワン ディスプレイ 2(EyeOne Display 2)(登録商標)」や、データカラー社の「スパイダー 3(Spyder 3) (登録商標)」などを用いることができる。
【0032】
マルチディスプレイ206におけるディスプレイ装置100a〜100d、デジタルカメラ202、および色測定装置218は、キャリブレーション用コンピュータ220に有線、無線、または他の通信手段からなる通信リンク222,224,226等を介して通信可能に接続されている。
【0033】
表示駆動用コンピュータ228は、有線、無線、または他の通信手段からなる通信リンク230を介してグラフィックデータや映像データをマルチディスプレイ206(ディスプレイ装置100a〜100d)に送信し、マルチディスプレイ206(ディスプレイ装置100a〜100d)を駆動する。
【0034】
表示駆動用コンピュータ228は単一のコンピュータであってもよく、複数の駆動手段と、それら各駆動手段を管理して全てのカラーディスプレイを駆動するための統合コンピュータとを備えたコンピュータシステムであってもよい。上記のコンピュータシステムは、1または複数のセットトップボックスを備えていてもよい。
【0035】
表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは別々のコンピュータであってもよい。また、表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは、有線、無線、または他の通信手段からなる通信リンク232を介して互いに通信可能に接続された別々のコンピュータシステムであってもよい。上記の通信リンクとしては、シリアルポート、USBリンク、イーサネット(登録商標)リンク、あるいは他の有線または無線通信リンクなどを用いることができる。また、1つのコンピュータあるいはコンピュータシステムが、マルチディスプレイ206を駆動する表示駆動用コンピュータの機能と、キャリブレーション用コンピュータとしての機能とを実行する構成としてもよい。
【0036】
キャリブレーション用コンピュータ220を駆動してマルチディスプレイ全体をキャリブレーションするためのプログラムを、コンピュータ読み取り可能な記録媒体に非一時的に記憶させておいてもよい。
【0037】
上記プログラムは、例えば、以下に示す(1)〜(7)の処理をキャリブレーション用コンピュータ220に実行させる。
(1)デジタルカメラ202にマルチディスプレイ206の画像を撮像させるためのコマンドを生成してデジタルカメラ202に送信する処理。
(2)カラーディスプレイ102a〜102dに複数色のカラーパッチのうちの特定色のカラーパッチを表示させるコマンドを生成してマルチディスプレイ206を駆動するための表示駆動用コンピュータ228に送信する処理。
(3)カラーディスプレイ102a〜102dの色の測定を実行させるためのコマンドを生成して色測定装置218に送信する処理。
(4)後に行う色測定処理のために色測定装置218の位置を移動するようにユーザに促す処理。
(5)測定データおよび画像データを収集し、マルチディスプレイ206における各カラーディスプレイ102a〜102dのカメラキャリブレーションモデルを生成する処理。
(6)デジタルカメラ202から画像データを収集し、R,G,Bの1次元ガンマ補正のためのルックアップテーブル(マルチディスプレイ206における各ディスプレイ装置100a〜100dのLUT104)の内容を構成するデータを生成する処理。
(7)マルチディスプレイ206における各カラーディスプレイ102a〜102dに対応するLUT(RGBガンマ1次元ルックアップテーブル)104をダウンロードする処理。
【0038】
図1は、ディスプレイ装置100の構成を示す説明図である。この図に示すように、ディスプレイ装置100は、カラーディスプレイ102と色補正部101とを備えている。また、色補正部101は、LUT(RGBガンマ1次元ルックアップテーブル)104を備えている。
【0039】
ディスプレイ装置100に入力されたRGB入力信号106は、色補正部101においてLUT104に基づいてRGB出力信号108に補正され、RGB出力信号108を用いてカラーディスプレイ102が駆動される。
【0040】
LUT104は、白色点において目標とする表示輝度および色度を達成するための、カラーディスプレイ102に実際に送信されるRGB信号の最大値を規定するものであってもよい。
【0041】
また、LUT104は、ディスプレイ装置100に入力されるグレー信号(R=G=BのRGB信号)について生成される色度および階調応答を規定するための、グレースケールに沿ったR,G,Bの各信号レベルを設定したものであってもよい。
【0042】
LUT104のデータを正確に生成するためには、カラーディスプレイ102に入力されるRGB出力信号108に基づいてCIE XYZ色空間における色出力110を予想するための、カラーディスプレイ102の応答関数モデルが必要になる。
【0043】
カラーディスプレイ102の応答関数モデルは、さまざまなRGB出力信号108の値をカラーディスプレイ102に供給し、それら各RGB出力信号108の値に応じてカラーディスプレイ102に実際に表示される色(色出力110)を測定し、色出力110の測定結果とカラーディスプレイ102に供給したRGB出力信号108との関係から逆演算を行うことにより算出される。
【0044】
個々のカラーディスプレイ102(102a〜102d)についての上記応答関数モデルは、当該カラーディスプレイに対応するLUT104(目標とするグレースケールに沿った色度、階調応答関数、および最大輝度値を達成するようにディスプレイ装置100へのRGB入力信号106を補正するためのRGBガンマ1次元ルックアップテーブル)のデータを生成するために用いられる。
【0045】
各ディスプレイ装置100のLUT104に正確なデータを読み込ませておくことにより、全てのカラーディスプレイ102のグレースケール色度、階調応答関数、および最大輝度値を一致させることができ、各カラーディスプレイ102において目標とする色度および最大輝度を得ることができる。
【0046】
例えば、カラーディスプレイ102の色出力を測定するための色測定装置218として、測色器(colorimeter)や分光放射計(spectroradiometer)などを用いてもよい。
【0047】
より正確なキャリブレーションを行うためには、より多くのRGB信号について測定する必要がある。ところが、特に、グレースケールの周辺でより正確なキャリブレーションを行うためには多大な時間がかかり、その結果コストが増大してしまう。このため、色測定装置218を用いたカラーディスプレイ102の色測定点の数が少なくても正確なキャリブレーションを行うことのできる方法、システム、および装置が求められている。
【0048】
本実施形態では、マルチディスプレイ206に備えられる複数のカラーディスプレイ102のキャリブレーションを、デジタルカメラ202およびカラーディスプレイ102の色出力を測定する色測定装置218を用いて行う。色測定装置218の典型例としては、測色器、分光放射計、およびカラーディスプレイ102の色出力を測定する機能を有する他の装置を用いることができる。
【0049】
(1−3.キャリブレーション処理)
(1−3−1.キャリブレーション処理の全体の流れ)
図3は本発明の一実施形態にかかるキャリブレーション方法の流れを示す説明図である。
【0050】
まず、キャリブレーション用コンピュータ220(あるいはキャリブレーションプログラム)は、各ディスプレイ装置100に同じRGB信号が入力された場合にそれら各ディスプレイ装置100のカラーディスプレイ102の表示状態を均一にするためのLUT(RGBガンマ1次元ルックアップテーブル)104を初期化する(302)。
【0051】
本実施形態では、各ディスプレイ装置100に読み込まれているLUT104は、各ディスプレイ装置100に同じRGB信号が入力された場合にそれら各ディスプレイ装置100のカラーディスプレイ102の表示状態を均一にするように設定されている。ただし、LUT104は、必ずしも各カラーディスプレイ102の表示状態を均一にするためのものでなくてもよく、各カラーディスプレイ102に所定の表示状態を実現させるためのものであってもよい。また、必ずしもLUT104を初期化しなくてもよく、既知の値に設定してもよい。この場合、既知の機能に基づいて適切な補正が行われる。また、LUT104が既知であるが全ての領域から全ての範囲の値へのマッピングが含まれていない場合に、LUT104の初期化を行うようにしてもよい。
【0052】
次に、キャリブレーション用コンピュータ220が、デジタルカメラ202に暗時のカメラ画像(マルチディスプレイ206の通常使用時の光環境下でマルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにした状態でマルチディスプレイ206の全てのカラーディスプレイ102をデジタルカメラ202で撮像した画像)を取得する処理(304)を実行させるためのコマンドを生成してデジタルカメラ202に送信する。
【0053】
なお、キャリブレーション用コンピュータ220が、マルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにして照明光の状態を通常の状態にすることを、例えば、グラフィカルユーザインターフェース(GUI)、テキストユーザインターフェース、あるいは他のタイプのユーザインターフェースを介してユーザに促すようにしてもよい。
【0054】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各ディスプレイ装置100の電源をオフする処理を表示駆動用コンピュータ228に要求するコマンドを生成して表示駆動用コンピュータ228に送信するようにしてもよい。
【0055】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各カラーディスプレイ102における指定された測定範囲から獲得した暗時カメラ画像から暗時カメラR(レッド)代表値、暗時カメラG(グリーン)代表値、および暗時カメラB(ブルー)代表値を抽出するようにしてもよい。
【0056】
また、上記の代表値は、指定された測定範囲内における対応する全ての値の平均値であってもよい。
【0057】
なお、本実施形態では、上記の代表値を決定する前に、カメラの非線形性の補正を行う。
【0058】
図4は、カラーディスプレイ102a〜102dに対する測定範囲の設定方法の一例を示す説明図である。図4に示すように、各カラーディスプレイ102a〜102dについて、測定範囲410,412,414,416が設定される。図4の例では、各測定範囲は、対応するカラーディスプレイ102の中央部に位置する円形の範囲に設定されている。
【0059】
図5は、カラーディスプレイ102a〜102dに対する測定範囲の設定方法の他の例を示す説明図である。この図に示す例では、マルチディスプレイ206を構成する各カラーディスプレイ102a〜102dについて測定範囲510,512,514,516が設定されている。各測定範囲510は、対応するカラーディスプレイ102におけるマルチディスプレイ206の中央部に隣接する角部に四角形の範囲で設定されている。なお、測定範囲の設定方法は図4および図5に示した例に限定されるものではない。
【0060】
なお、キャリブレーション用コンピュータ220が、暗時カメラ画像あるいは当該マルチディスプレイの他の画像から測定範囲内に位置するカメラ画像の画素のRGB値を抽出する処理を容易に行うために、測定範囲識別情報を記憶するようにしてもよい。上記の測定範囲識別情報は、測定範囲に属する画素の画素値を第1固定値に設定し、測定範囲以外の画素の画素値を第2固定値に設定したマスク画像を含むものであってもよい。また、上記測定範囲識別情報は、測定範囲の位置を画像内の位置を容易に特定できるパラメータを用いて記述したもの(例えば、円の中心位置と半径とによって記述したものなど)であってもよい。
【0061】
キャリブレーション用コンピュータ220は、暗時カメラ画像を取得(304)した後、図3に示したように、カメラキャイブレーション(306)、およびディスプレイキャリブレーション(308)を行う。
【0062】
図6は本実施形態にかかるキャリブレーション方法の変形例を示す説明図である。この図に示す例では、キャリブレーション用コンピュータ220は、暗時カメラ画像を取得(602)した後、暗時カメラ画像における反射光の検出、すなわちマルチディスプレイの画像に含まれる環境光あるいは発光体から入射する光の反射光を検出する処理を行う(604)。反射光の検出方法は特に限定されるものではなく、従来から公知の方法を用いることができる。
【0063】
その後、キャリブレーション用コンピュータ220は、検出された反射光の位置に基づいて、測定範囲内に反射光が存在するか否かを判断する(606)。
【0064】
測定範囲内に反射光が存在すると判断した場合(608)、キャリブレーション用コンピュータ220は、ユーザに画像の調整を行わせるための通知および/または指示を行う。上記の画像の調整としては、例えば、(i)デジタルカメラの移動、(ii)反射光を生成している物(例えば光源あるいは他の反射光生成物)の遮蔽、電源オフ、あるいは移動、(iii)測定範囲の反射光を含まない位置への移動、あるいは(iv)その他の画像調整などが挙げられる。
【0065】
その後、キャリブレーション用コンピュータ220は、所望する暗時カメラ画像が得られるまで暗時カメラ画像の取得(602)、および反射光の検出(604)を継続する。
【0066】
所望する暗時カメラ画像が得られたら(612)、キャリブレーション用コンピュータ220は、カメラキャリブレーション(614)、およびディスプレイキャリブレーション(616)を実行する。
【0067】
図7は本実施形態にかかるキャリブレーション方法のさらに他の変形例を示す説明図である。図7に示す例では、キャリブレーション用コンピュータ220、暗時カメラ画像を取得(702)した後、マルチディスプレイの画像に生じる環境光または発光体から入射する光の反射光の検出(704)を行う。反射光の検出方法としては、従来から公知の方法を用いることができる。
【0068】
その後、キャリブレーション用コンピュータ220は、検出された反射光の位置に基づいて、測定範囲内に反射光が存在するか否かを判断する(706)。
【0069】
測定範囲内に反射光が存在すると判断した場合(708)、キャリブレーション用コンピュータ220は、反射光が含まれる位置にカメラデータを合成する(710)。例えば、反射光が含まれている領域にその近傍の反射光が含まれていない領域の画像を上記カメラデータとして合成する。
【0070】
カメラデータの合成(710)を行った後、あるいは反射光が測定範囲に含まれないと判断した場合(716)、キャリブレーション用コンピュータ220は、カメラキャリブレーション(712)、およびディスプレイキャリブレーション(714)を実行する。
【0071】
この変形例では、画像中の反射光が含まれる部分はその後の処理では無視される。
【0072】
(1−3−2.カメラキャリブレーション処理)
図8は、カメラキャリブレーションの方法を示す説明図である。
【0073】
まず、キャリブレーション用コンピュータ220は、カメラキャリブレーション用の複数のカラーパッチのうち、次に処理するカラーパッチを、環境と熱平衡になるまで十分にウォームアップさせた各カラーディスプレイ102に表示させる(802)。
【0074】
本実施形態では、各カラーディスプレイ102の測定範囲410,412,414,416に8つのカラーパッチを順に表示させる。また、本実施形態では、上記の8つのカラーパッチとして、RGBカラー立方体の各角部に相当する8色(ブラック、ホワイト、レッド、グリーン、ブルー、シアン、マゼンタ、およびイエロー)に応じたカラーパッチを用いる。
【0075】
なお、変形例として、RGB色立方体からサンプリングされる直線で囲まれた形状(例えば5×5×5など)に対応する色をカラーパッチとして用いてもよい。また、さらに他の変形例として、カメラキャリブレーション用の複数のカラーパッチとして、ブラック(黒色点)からホワイト(白色点)までのグレーライン(R=G=B)のサンプリングに応じた複数のカラーパッチを用いてもよい。また、上記のグレーラインのサンプリングは、均等なサンプリングであってもよく、非均等なサンプリングであってもよい。これらの変形例により、カメラキャリブレーション用の代替のカラーパッチの色が得られる。
【0076】
次に、キャリブレーション用コンピュータ220は、各測定範囲を測定するための位置に正確に設置された色測定装置218(例えば測色器、分光放射計、あるいはディスプレイの色出力を測定するための他の器具)によって測定されたCIE XYZ値(XYZ値とも言う)を取得する(804)。
【0077】
なお、本実施形態では、色測定装置218によって測定された上記XYZ値を、
XYZ(i,i)measured
として表す。ここで、(i,j)はi番目のディスプレイにおけるj番目のカラーパッチであることを示す。また、XYZ(i,i)measuredは、色測定装置218によって得られたX,Y,Zの3成分ベクトルを含んでいる。
【0078】
上記の3成分カラーベクトルにおける3つの成分は、例えば、RGBベクトルにおけるR成分、G成分、およびB成分であってもよく、CIE XYZベクトルにおけるX成分、Y成分、およびZ成分であってもよい。上記のR成分、G成分、およびB成分からなる値をRGB値と称し、上記のX成分、Y成分、およびZ成分からなる値をXYZ値と称する。
【0079】
次に、キャリブレーション用コンピュータ220は、マルチディスプレイ206を構成する各カラーディスプレイ102の測定範囲にカラーパッチが表示されている状態のマルチディスプレイ206のカラーパッチ画像を取得する(806)。
【0080】
また、キャリブレーション用コンピュータ220は、各カラーディスプレイ102の測定範囲についての代表値(カメラ代表値)を抽出する(808)。
【0081】
本実施形態では、上記代表値として、測定範囲内の各画素のR(レッド)値,G(グリーン)値,およびB(ブルー)値の平均値をカラーパッチ画像から抽出する。
【0082】
次に、キャリブレーション用コンピュータ220は、抽出した代表値に対して、
RGB(i,j)CDC=RGB(i,j)CP−RGB(i,j)CD
に基づいて暗時補正を施す(810)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。すなわち、キャリブレーション用コンピュータ220は、カラーパッチ画像から抽出したカメラRGB代表値(カメラ代表値)から暗時カメラRGB平均値(暗時カメラ値)を減算することにより、カメラRGB暗時補正値(カメラ暗時補正値)を算出する。
【0083】
次に、キャリブレーション用コンピュータ220は、カメラキャリブレーション用の複数のカラーパッチの全てについて、表示、色測定、およびカラーパッチ画像の取得を行ったか否かを判断する(812)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0084】
表示すべきカラーパッチが残っている場合(814)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(802)、全てのカラーパッチについて上述した処理が完了するまで(816)、同様の処理を繰り返す。
【0085】
その後、キャリブレーション用コンピュータ220は、マルチディスプレイ内の各カラーディスプレイについてカメラキャリブレーションモデル(カメラキャリブレーション関数)を算出する(818)。
【0086】
各カラーディスプレイについてのカメラキャリブレーションモデルは、カメラRGB暗時補正値をカメラモデルXYZ算出値に変換するものであってもよい。
【0087】
一般的なカメラキャリブレーションモデルは、
XYZ(i)C=F(i)CM(RGB(i)CDC)
で表される。ここで、RGB(i)CDCは、i番目のディスプレイに対応するカメラRGB暗時補正値の3つの要素ベクトルである。また、XYZ(i)Cは、i番目のディスプレイに対応するカメラモデルXYZ算出値の3つの要素ベクトルである。また、F(i)CMは一般的なカメラキャリブレーションモデル関数である。
【0088】
本実施形態では、3×3のマトリクスからなるカメラキャリブレーションモデル関数を用いる。なお、i番目のディスプレイについての上記カメラキャリブレーションモデル関数はM(i)CMとして示される。
【0089】
この場合、カメラキャリブレーションモデルは、
XYZ(i)C=M(i)CMRGB(i)CDC
で表される。なお、M(i)CMは、以下のように示すこともできる。
【0090】
【数1】
【0091】
ここで、NCはカメラキャリブレーション用カラーパッチの番号を示している。X(i,j)measured、Y(i,j)measured、およびZ(i,j)measuredは、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)measuredにおけるX,Y,Zの値をそれぞれ示している。R(i,j)CDC、G(i,j)CDC、およびB(i,j)CDCは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)CDCにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0092】
なお、上記M(i)CMを算出するために回帰法(regression methods)を用いてもよい。また、上記カメラキャリブレーションモデルは必ずしも線形モデルでモデル化する必要はなく、一般的なカメラキャリブレーションモデル関数F(i)CMを用いてもよい。
【0093】
カメラキャリブレーションを実行し、各カラーディスプレイについてのカメラキャリブレーションモデルを算出した後、ディスプレイキャリブレーションを行う。
【0094】
(1−3−3.ディスプレイキャリブレーション処理)
図9Aおよび図9Bは、本実施形態にかかるディスプレイキャリブレーションの方法を示す説明図である。
【0095】
まず、キャリブレーション用コンピュータ220は、マルチディスプレイ206の各カラーディスプレイ102を環境と熱平衡になるまで十分にウォームアップさせ、当該各カラーディスプレイ102に複数のディスプレイキャリブレーション用のカラーパッチのうち次に処理するカラーパッチを表示させる(902)。
【0096】
本実施形態では、各カラーディスプレイにおける当該カラーディスプレイについての測定範囲に12個のカラーパッチを順に表示させる。上記の12個のカラーパッチのうちの9個のカラーパッチは、ブラック(黒色点)からホワイト(白色点)までのグレーライン(R=G=B)のサンプルに対応している。グレーラインのサンプルは、均等であってもよく不均等であってもよい。残りの3個のカラーパッチは、ディスプレイにおけるR,G,Bの各原色についての最大信号値である。
【0097】
次に、キャリブレーション用コンピュータ220は、マルチディスプレイ206を構成する各カラーディスプレイ102にカラーパッチが表示されている状態のマルチディスプレイ206のカラーパッチ画像を取得する(904)。
【0098】
また、キャリブレーション用コンピュータ220は、各カラーディスプレイ102の測定範囲についての代表値(カメラ代表値)を抽出する(906)。
【0099】
本実施形態では、カラーパッチ画像から測定範囲内の各画素のR(レッド)値,G(グリーン)値,およびB(ブルー)値の平均値を上記代表値として抽出する。
【0100】
次に、キャリブレーション用コンピュータ220は、抽出した代表値に対して、
RGB(i,j)CDC=RGB(i,j)CP−RGB(i,j)CD
に基づいて暗時補正を施す(908)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。すなわち、キャリブレーション用コンピュータ220は、カラーパッチ画像から抽出したカメラRGB代表値(カメラ代表値)から暗時カメラRGB平均値(暗時カメラ値)を減算することにより、カメラRGB暗時補正値(カメラ暗時補正値)を算出する。
【0101】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイ102について、予め算出したカメラキャリブレーションモデルF(i)CMをカメラRGB暗時補正値に適用し、
XYZ(i,j)C1=F(i)CM(RGB(i,j)CP−RGB(i,j)CD)
に基づいてカメラモデルXYZ算出値を算出する(910)。ここで、XYZ(i,j)C1は、初期ディスプレイキャリブレーション関数の算出工程におけるi番目のディスプレイおよびj番目のカラーパッチに対応するカメラモデルXYZ算出値の3つの要素ベクトルを示している。RGB(i,j)CPは、i番目のディスプレイの測定範囲およびj番目のカラーパッチに対応するRGB代表値の3つの要素ベクトルを示している。RGB(i,j)CDは、i番目のディスプレイにおける暗時カメラRGB値の3つの要素ベクトルを示している。したがって、(RGB(i,j)CP−RGB(i,j)CD)は、暗時カメラ補正された代表値である。
【0102】
その後、キャリブレーション用コンピュータ220は、複数のディスプレイキャリブレーション用カラーパッチの全てについて表示およびカラー画像処理を行ったか否かを判断する(912)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0103】
表示すべきカラーパッチが残っている場合(914)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(902)、全てのカラーパッチについての処理が完了するまで(916)、同様の処理を繰り返す。
【0104】
ディスプレイキャリブレーション用の複数のカラーパッチの全ての表示され、カメラ撮像画像の処理が行われてカメラモデルXYZ算出値の処理が完了した場合、キャリブレーション用コンピュータ220は、9個のグレーパッチのRGB値と対応するカメラモデルXYZ算出値のY値とを用いて各カラーディスプレイ102の非線形の応答特性を算出し(918)、ディスプレイRGB入力値から線形RGB値を算出するのに用いられるカメラのY測定値に関する1次元ディスプレイ階調応答関数を生成する(920)。
【0105】
本実施形態では、R=G=Bである9つのグレーパッチを用いて、R=G=Bである入力RGB信号に対してカメラモデルXYZ算出値のY値が線形に変化するRGB値を算出する。3つの関数(ディスプレイ階調応答関数)F(i)RL(・)、F(i)GL(・)、およびF(i)BL(・)は、同一の関数であってもよい。
【0106】
線形RGB値は、ディスプレイに対するRGB入力値に基づいて以下のように示される。
【0107】
R(i,j)L=F(i)RL(R(j)P),
G(i,j)L=F(i)GL(G(j)P),
B(i,j)L=F(i)BL(B(j)P),
ここで、R(j)P、G(j)P、およびB(j)Pは、それぞれ、j番目のカラーパッチに対応するRGB入力信号値のR値、G値、およびB値を示している。また、R(i,j)L、G(i,j)L、およびB(i,j)Lは、それぞれ、i番目のディスプレイおよびj番目のカラーパッチに対応する線形のR値、G値、およびB値を示している。
【0108】
変形例として、各カラーディスプレイ102の線形応答をXYZの3要素(3刺激値)を用いて評価してもよい。さらに他の変形例として、カメラキャリブレーション工程で色測定装置218によって測定したグレーラインに沿ったXYZ値を用いて各カラーディスプレイ102の非線形応答の評価を行ってもよい。
【0109】
次に、キャリブレーション用コンピュータ220は、カメラモデルXYZ算出値および線形ディスプレイRGB値を用いて初期ディスプレイ応答関数(初期ディスプレイキャリブレーション関数)を算出する(922)。初期ディスプレイ応答関数は、M(i)DMとして示される線形ディスプレイRGB値の3×3のマトリクスとしてモデル化される。上記モデルは、
XYZ(i)C1=M(i)DMRGB(i)L
で表される。
また、上記マトリクスM(i)DMは、
【0110】
【数2】
【0111】
で表される。ここで、NDはディスプレイキャリブレーション用カラーパッチの番号を示している。X(i,j)C1、Y(i,j)C1、およびZ(i,j)C1は、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)C1におけるX,Y,Zの値をそれぞれ示している。R(i,j)L、G(i,j)L、およびB(i,j)Lは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)LにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0112】
なお、上記M(i)DMを算出するために回帰法を用いてもよい。また、上記ディスプレイは必ずしも線形モデルでモデル化する必要はなく、一般的なディスプレイキャリブレーションモデル関数F(i)DMを用いてもよい。また、ディスプレイモデル関数F(i)DMを、nテャンネルディスプレイデバイスをより正確にモデル化したn個の初期XYZモデルによって表される色分解モデルとして定義してもよい。また、上記色分解モデルはディスプレイの製造者から知らされるものであってもよく、推定したものであってもよい。
【0113】
i番目のカラーディスプレイについてのディスプレイXYZ値は、算出された初期ディスプレイ応答F(i)DMと線形RGB値とを用いて下記式で表される。
【0114】
【数3】
【0115】
また、i番目のカラーディスプレイについての線形RGB値は、ディスプレイXYZ値を用いて下記式で表される。
【0116】
【数4】
【0117】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイについての上記の初期ディスプレイ応答関数を補正(改良)する(924)。
【0118】
図10Aおよび図10Bは、本実施形態におけるカラーディスプレイの初期ディスプレイ応答関数の補正方法を示す説明図である。本実施形態では、各ディスプレイについての目標とする白色点の色度をユーザ入力に基づいて特定する。あるいは、予め設定された白色点の色度を用いてもよい。
【0119】
キャリブレーション用コンピュータ220は、上記初期ディスプレイキャリブレーション関数の算出工程において得られた白色パッチ(R=G=B)に対応するカメラモデルXYZ発生値のY値と目標とする白色点(x,y)の色度とを組み合わせることにより、カラーディスプレイ102毎の目標白色XYZ値を得る(1002)。
【0120】
なお、上記の目標白色XYZ値は、例えばユーザが入力してもよく、予め設定された値を用いてもよい。また、上記の目標白色XYZ値は必ずしも各カラーディスプレイ102の色再現域内でなくてもよい。また、i番目のカラーディスプレイについての上記の目標白色XYZ値は、
XYZ(i)W=[X(i)WY(i)WZ(i)W]T
で表される。ここで、Tはベクトル転置演算を意味する。
【0121】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイ102についてのディスプレイ固有の白色XYZ値を用いて、特定の色空間に定義された複数の補正カラーパッチ(補正(改良)する色)についての線形RGB値を取得する(1004)。
【0122】
本実施形態では、複数のカラーパッチを知覚的に均等な色空間に定義する。具体的には、本実施形態では、Lab色空間を用いる。ただし、これに限らず、他の知覚的に均等な色空間を用いてもよく、知覚的に非均等な色空間を用いてもよい。
【0123】
本実施形態では、上記の複数の補正カラーパッチとして、47個のカラーパッチを用いる。
【0124】
上記の47個のカラーパッチのうちの15個は、a=b=0に対応する無彩色Labグレーラインを等間隔にサンプリングすることによって得られる。これらのLab座標系は、白色信号(R=G=B)に応じてディスプレイ装置によって生成されるもともとのXYZに関して算出されるのではなく、各ディスプレイについてのディスプレイ固有の目標白色XYZ値に関して算出される。
【0125】
上記の47個のカラーパッチのうちの8個は、a=10,b=0の条件下でLを等間隔でサンプリングすることによって得られる。
【0126】
上記の47個のカラーパッチのうちの8個は、a=−10,b=0の条件下でLを等間隔でサンプリングすることによって得られる。
【0127】
上記の47個のカラーパッチのうちの8個は、a=0,b=10の条件下でLを等間隔でサンプリングすることによって得られる。
【0128】
上記の47個のカラーパッチのうちの8個は、a=0,b=−10の条件下でLを等間隔でサンプリングすることによって得られる。
【0129】
i番目のカラーディスプレイについてのj番目のカラーパッチに対応する上記の線形RGB値は、
【0130】
【数5】
【0131】
で表される。
【0132】
次に、キャリブレーション用コンピュータ220は、ディスプレイに特有の目標白色点はディスプレイのもともとの白色点とは異なる場合があるので、線形RGB値が色再現域外であるか否かを調べる(1006)。
【0133】
線形RGB値が色再現域外である場合(1008)、キャリブレーション用コンピュータ220は、色再現域外の線形RGB値色再現域の境界上に変換するクリップ処理を行う(1010)。
【0134】
本実施形態では、色再現域外の線形RGB値を色の色調を実質的に保つことのできる色再現域の境界上に配置(変換)する。
【0135】
本実施形態では、上記のクリップ処理を、
【0136】
【数6】
【0137】
に基づいて行う。ここで、R(i,j)CL、G(i,j)CL、B(i,j)CLはクリップされるRGB値を示している。また、FClipは、立方体の外部の点を、立方体の表面上における立方体の中心と上記の立方体の外部の点とを結ぶ直線上の点に配置するクリッピング関数を示している。
【0138】
なお、上記FClipは、立方体の外部の点を、立方体の表面上における立方体のブラック(R=G=B=0)に対応する頂点と上記の立方体の外部の点とを結ぶ直線上の点に配置するクリッピング関数であってもよい。また、上記FClipとして、範囲外の線形RGB値を色の色調を実質的に保つことのできる上記範囲の境界に配置することのできる他の公知の関数を用いてもよい。
【0139】
次に、キャリブレーション用コンピュータ220は、色再現域内の線形RGB値(再現可能なRGB値)を、それらがクリップ処理されたもの(1010)であるかクリップ処理されていないもの(1012)であるかにかかわらず、
R(i,j)P=(F(i)RL)−1(R(i,j)CL)
G(i,j)P=(F(i)GL)−1(G(i,j)CL)
B(i,j)P=(F(i)BL)−1(B(i,j)CL)
により初期ディスプレイキャリブレーションモデルの算出処理において得られたディスプレイ階調応答関数F(i)RL,F(i)GL,F(i)BLを用いた逆演算を行うことにより(ディスプレイ階調応答特性の逆特性を用いることにより)、ディスプレイRGB値(デバイスRGB値)に変換する(1014)。なお、上記R(i,j)P、G(i,j)P、およびB(i,j)Pは、それぞれ、i番目のディスプレイにおけるj番目のカラーパッチについてのディスプレイ値(デバイス値)を示している。
【0140】
その後、キャリブレーション用コンピュータ220は、マルチディスプレイ206における各カラーディスプレイ102に次のカラーパッチを表示させ(1016)、カラーパッチ画像を取得する(1018)。
【0141】
そして、各カラーディスプレイ102の測定範囲についての代表値を抽出する(1020)。
【0142】
本実施形態では、カラーパッチカメラ画像から、カメラ画像における測定範囲内の画素のR平均値、G平均値、およびB平均値を代表値として抽出する。
【0143】
次に、キャリブレーション用コンピュータ220は、上記代表値を、
RGB(i,j)CDC=RGB(i)CP−RGB(i,j)CD
に基づいて補正する(1022)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。
【0144】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイについて、予め算出した上記カメラキャリブレーションモデルF(i)CMを、
XYZ(i,j)C2=F(i)CM(RGB(i,j)CP−RGB(i,j)CD)
に基づいてカメラRGB暗時補正値に適用し(1024)、カメラモデルXYZ算出値を算出する。ここで、XYZ(i,j)C2は、i番目のディスプレイおよびj番目のカラーパッチについての補正(改良)後のディスプレイキャリブレーション関数に対応するカメラモデルXYZ算出値の3つの要素ベクトルを示している。RGB(i,j)CPは、i番目のディスプレイの測定範囲およびj番目のカラーパッチに対応するRGB代表値の3つの要素ベクトルを示している。RGB(i,j)CDは、i番目のディスプレイにおける暗時カメラRGB値の3つの要素ベクトルを示している。したがって、(RGB(i,j)CP−RGB(i,j)CD)は、暗時カメラ補正された代表値である。
【0145】
次に、キャリブレーション用コンピュータ220は、全てのカラーパッチについて、表示、およびカラー画像処理を行ったか否かを判断する(1026)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0146】
表示すべきカラーパッチが残っている場合(1028)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(1016)、全てのカラーパッチに対する処理が完了するまで(1030)同様の処理を繰り返す。
【0147】
全てのカラーパッチが表示され、それによって取得されたカメラ画像に対して補正(改良)後のディスプレイキャリブレーション関数についてのカメラモデルXYZ算出値を取得するための処理が行われた場合(1030)、キャリブレーション用コンピュータ220は、カメラモデル発生XYZ値を用いてグレースケールの周りのディスプレイ関数のモデル化を行う(1032)。
【0148】
本実施形態では、カメラモデルXYZ算出値は不規則なので、カラーディスプレイ102に応じたXYZ値を、カラーディスプレイ102に対応する四面体に分割する。
【0149】
本実施形態では、上記四面体を形成するためにドロネーのテッセレーションアルゴリズム(Delaunay tessellation algorithm)を用いる。具体的には、MATLAB関数における「delaunayn」を用いてドロネーのテッセレーション(分割)を実行する。
【0150】
XYZで示される目標とする複数の無彩色(中間色)のそれぞれについて、当該色がカラーディスプレイ102に応じた四面体内の色であるか否かを調査する。
【0151】
上記色が上記四面体内の色の1つである場合、当該色はカラーディスプレイの色再現域内の色である。上記色が上記四面体内の色の1つではない場合、当該色はカラーディスプレイの色再現域外の色であり、当該カラーディスプレイでは表示できない色である。
【0152】
上記色がカラーディスプレイの色再現域内である場合、四面体補間(重心補間)を用いて当該色の線形RGB値を取得する。
【0153】
その後、ディスプレイ階調応答関数の逆演算を行うことにより、線形RGB値からディスプレイRGB値を取得する。
【0154】
変形例として、XYZ値を他の色空間(例えばLab色空間)に変換し、当該他の色空間の四面体を用いてもよい。
【0155】
その後、キャリブレーション用コンピュータ220は、図9Bに示したように、各カラーディスプレイ102についてのLUT(RGBガンマ1次元LUT)104を構築し(926)、それぞれのカラーディスプレイ102に読み込ませる(928)。
【0156】
次に、キャリブレーション用コンピュータ220は、図11に示すように、マルチディスプレイ206を構成する全てのカラーディスプレイ102で連帯的に達成することのできる、目標とする色度を有する最大輝度値であるマルチディスプレイ206の最大輝度値(最大マルチディスプレイ輝度値)を決定する(1102)。
【0157】
本実施形態では、色度を固定して白色点の輝度値を徐々に増加させていき、各ディスプレイについて補正(改良)後のディスプレイキャリブレーション関数を算出する際に得られたXYZ色空間(あるいは他の色空間)の四面体を用いて、当該色を各カラーディスプレイ102で再現可能であるか否かを調査することにより、上記のマルチディスプレイ206の最大輝度値を決定する。上記の輝度値を徐々に増加させていく際の開始点を、黒色点に近接している目標とする白色/グレー色度の色に対応する点としてもよい。
【0158】
変形例として、例えばディスプレイ固有の白色点の目標とする色度での輝度を色再現域外から色再現域内に入るまでグレーラインに沿って徐々に減少させていくことにより上記最大輝度値を決定してもよい。
【0159】
また、微分解析器(DDA; Digital Differential Analyzer)を用いる方法、クリッピングドライバを用いる方法、あるいは他の方法を用いてもよい。
【0160】
キャリブレーション用コンピュータ220は、上記最大輝度値を決定した後、輝度(Y)スケールをサンプリングする(1104)。本実施形態では、目標とする階調応答関数(あるいは他の目標とするディスプレイ応答曲線の形状)に応じて、ゼロから上記最大輝度値まで、LUT104に要求されるLUT104のポイント数に応じた輝度(Y)スケールをサンプリングする。
【0161】
変形例として、LUT104の総ポイント数よりも少ないポイント数だけサンプリングし、目標とするLUT104のポイント数を実現するようにサンプリングポイントに対応しないポイントの値を補間あるいは近似するようにしてもよい。
【0162】
本実施形態では、LUT104の指標は、0から1までの間に均等にマッピングされる。
【0163】
目標とする階調応答関数は、マッピングされた指標に基づいてサンプリングされ、それによってゼロからマルチディスプレイ206の最大輝度値までの間で複数のサンプル位置が設定される。
【0164】
その後、キャリブレーション用コンピュータ220は、サンプリングされた輝度値と目標とする白色点の色度と組み合わせ、各カラーディスプレイ102について補正(改良)後のディスプレイキャリブレーション関数を算出する際に得られたXYZ色空間(あるいは他の色空間)の四面体を四面体補間(重心補間)することにより、対応する線形RGB値を算出する(1106)。
【0165】
また、キャリブレーション用コンピュータ220は、算出した線形RGB値にディスプレイ階調応答関数の逆演算を適用することにより、ディスプレイRGB値を取得する(1108)。そして、キャリブレーション用コンピュータ220は、各カラーディスプレイ102についての上記ディスプレイRGB値をエントリーとするカラーディスプレイ毎のLUT104を構築する。
なお、各カラーディスプレイ102について算出した上記ディスプレイRGB値に対し、図12に示すように平滑化処理を行い、平滑化処理後のディスプレイRGB値を用いてLUT104を構築するようにしてもよい。
【0166】
(1−4.キャリブレーションシステムの変形例)
図13は、キャリブレーションシステム200の変形例であるキャリブレーションシステム200bを示す説明図である。
【0167】
デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に恒久的に固定された固定部材204bに取り付けられている。
【0168】
図13に示した例では、マルチディスプレイ206の全体をデジタルカメラ202の撮像範囲内に収めてマルチディスプレイ206の全体を1つの画像として撮像する。なお、デジタルカメラ202をパンニング等により移動させながらマルチディスプレイ206の全体を複数の部分毎に撮像し、それら各部の撮像結果を組み合わせることによりマルチディスプレイ206の全体の画像を取得するようにしてもよい。
【0169】
図13に示した例では、デジタルカメラ202は天井に固定された固定部材204bに取り付けられている。
【0170】
マルチディスプレイ206は、複数のディスプレイ装置100を備えている。また、各ディスプレイ装置100は、カラーディスプレイ102とLUT104を備えた色補正部101とを備えている。LUT104は、ディスプレイ装置100に入力されたRGB信号(入力RGB信号)を補正するために用いられ、補正後のRGB信号(補正RGB信号)に基づいてカラーディスプレイ102が駆動される。
【0171】
支持手段216は、色測定装置218(あるいはディスプレイの色出力を検出する他の装置)を、各カラーディスプレイ102a〜102dのそれぞれの色出力を個別に測定できるように支持する。
【0172】
色測定装置218としては、例えば、エックスライト社の「アイワン ディスプレイ 2(EyeOne Display 2)(登録商標)」や、データカラー社の「スパイダー 3(Spyder 3) (登録商標)」などを用いることができる。
【0173】
マルチディスプレイ206におけるディスプレイ装置100、デジタルカメラ202、および色測定装置218は、キャリブレーション用コンピュータ220に有線、無線、または他の通信手段からなる通信リンク222,224,226等を介して通信可能に接続されている。
【0174】
表示駆動用コンピュータ228は、有線、無線、または他の通信手段からなる通信リンク230を介してグラフィックデータや映像データをマルチディスプレイ206に送信し、マルチディスプレイ206を駆動する。
【0175】
表示駆動用コンピュータ228は単一のコンピュータであってもよく、複数の駆動手段と、それら各駆動手段を管理して全てのカラーディスプレイを駆動するための統合コンピュータとを備えたコンピュータシステムであってもよい。また、上記のコンピュータシステムは1または複数のセットトップボックスを備えていてもよい。
【0176】
表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは別々のコンピュータであってもよい。
【0177】
また、表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは、有線、無線、または他の通信手段からなる通信リンク232を介して互いに通信可能に接続された別々のコンピュータシステムであってもよい。
【0178】
上記の通信リンクとしては、シリアルポート、USBリンク、イーサネット(登録商標)リンク、あるいは他の有線または無線通信リンクなどを用いることができる。また、1つのコンピュータあるいはコンピュータシステムが、マルチディスプレイ206を駆動する表示駆動用コンピュータの機能と、キャリブレーション用コンピュータとしての機能とを実行する構成としてもよい。
【0179】
キャリブレーション用コンピュータ220を駆動してマルチディスプレイ全体をキャリブレーションするためのプログラムをコンピュータ読み取り可能な記録媒体に非一時的に記憶させておいてもよい。
【0180】
また、上記プログラムは、例えば、以下に示す(1)〜(7)の処理をキャリブレーション用コンピュータ220に実行させる。
(1)デジタルカメラ202にマルチディスプレイ206の画像を撮像させるためのコマンドを生成してデジタルカメラ202に送信する処理。
(2)カラーディスプレイ102a〜102dに複数色のカラーパッチのうちの特定色のカラーパッチを表示させるコマンドを生成してマルチディスプレイ206を駆動するための表示駆動用コンピュータ228に送信する処理。
(3)カラーディスプレイ102a〜102dの色の測定を実行させるためのコマンドを生成して色測定装置218に送信する処理。
(4)後に行う色測定処理のために色測定装置218の位置を移動するようにユーザに促す処理。
(5)測定データおよび画像データを収集し、マルチディスプレイ206における各カラーディスプレイ102a〜102dのカメラキャリブレーションモデルを生成する処理。
(6)デジタルカメラ202から画像データを収集し、R,G,Bの1次元ガンマ補正のためのルックアップテーブル(マルチディスプレイ206における各ディスプレイ装置100a〜100dのLUT104)の内容を構成するデータを生成する処理。
(7)マルチディスプレイ206における各カラーディスプレイ102a〜102dに対応するLUT(RGBガンマ1次元ルックアップテーブル)104をダウンロードする処理。
【0181】
図14は、キャリブレーションシステム200の他の変形例であるキャリブレーションシステム200cを示す説明図である。
【0182】
デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に恒久的に固定された固定部材204bに取り付けられている。
【0183】
図14に示した例では、マルチディスプレイ206の全体をデジタルカメラ202の撮像範囲内に収めてマルチディスプレイ206の全体を1つの画像として撮像する。なお、デジタルカメラ202をパンニング等により移動させながらマルチディスプレイ206の全体を複数の部分毎に撮像し、それら各部の撮像結果を組み合わせることによりマルチディスプレイ206の全体の画像を取得するようにしてもよい。
【0184】
図14に示した例では、デジタルカメラ202は天井に固定された固定部材204bに取り付けられている。
【0185】
マルチディスプレイ206は、複数のディスプレイ装置100によって構成されている。
【0186】
支持手段216は、色測定装置218(あるいはディスプレイの色出力を検出する他の装置)を、各カラーディスプレイ102のそれぞれの色出力を個別に測定できるように支持する。
【0187】
色測定装置218としては、例えば、エックスライト社の「アイワン ディスプレイ 2(EyeOne Display 2)(登録商標)」や、データカラー社の「スパイダー 3(Spyder 3) (登録商標)」などを用いることができる。
【0188】
マルチディスプレイ206における各カラーディスプレイ102、デジタルカメラ202、および色測定装置218は、クラウド上(ネットワーク上)で動作する、マルチディスプレイのキャリブレーションを行うキャリブレーションアプリケーション220bに有線、無線、または他の通信手段からなる通信リンク222,224,226等を介して通信可能に接続されている。
【0189】
表示駆動用コンピュータ228は、有線、無線、または他の通信手段からなる通信リンク230を介してグラフィックデータや映像データをマルチディスプレイ206に送信し、マルチディスプレイ206を駆動する。
【0190】
表示駆動用コンピュータ228は単一のコンピュータであってもよく、複数の駆動手段と、それら各駆動手段を管理して全てのカラーディスプレイを駆動するための統合コンピュータとを備えたコンピュータシステムであってもよい。また、上記のコンピュータシステムは1または複数のセットトップボックスを備えていてもよい。
【0191】
表示駆動用コンピュータ228と上記キャリブレーションアプリケーション220bとは別々のコンピュータシステムであってもよい。
【0192】
また、表示駆動用コンピュータ228と上記キャリブレーションアプリケーション220bとは、有線、無線、または他の通信手段からなる通信リンク232を介して互いに通信可能に接続された別々のコンピュータシステムであってもよい。
【0193】
上記の通信リンクとしては、シリアルポート、USBリンク、イーサネット(登録商標)リンク、あるいは他の有線または無線通信リンクなどを用いることができる。また、1つのコンピュータあるいはコンピュータシステムが、マルチディスプレイ206を駆動する表示駆動用コンピュータの機能と、マルチディスプレイのキャリブレーションを行う上記キャリブレーションアプリケーションとしての機能とを実行する構成としてもよい。
【0194】
また、マルチディスプレイは、クラウド上(ネットワーク上)で動作する表示駆動アプリケーションによって駆動されるものであってもよい。すなわち、表示駆動用コンピュータ228の機能を、クラウド上で動作するアプリケーション(クラウドサービス)によって実行してもよい。
【0195】
また、上記プログラムは、例えば、以下に示す(1)〜(7)の処理をキャリブレーション用コンピュータ220に実行させる。
(1)デジタルカメラ202にマルチディスプレイ206の画像を撮像させるためのコマンドを生成してデジタルカメラ202に送信する処理。
(2)カラーディスプレイ102a〜102dに複数色のカラーパッチのうちの特定色のカラーパッチを表示させるコマンドを生成してマルチディスプレイ206を駆動するための表示駆動用コンピュータ228に送信する処理。
(3)カラーディスプレイ102a〜102dの色の測定を実行させるためのコマンドを生成して色測定装置218に送信する処理。
(4)後に行う色測定処理のために色測定装置218の位置を移動するようにユーザに促す処理。
(5)測定データおよび画像データを収集し、マルチディスプレイ206における各カラーディスプレイ102a〜102dのカメラキャリブレーションモデルを生成する処理。
(6)デジタルカメラ202から画像データを収集し、R,G,Bの1次元ガンマ補正のためのルックアップテーブル(マルチディスプレイ206における各ディスプレイ装置100a〜100dのLUT104)の内容を構成するデータを生成する処理。
(7)マルチディスプレイ206における各カラーディスプレイ102a〜102dに対応するLUT(RGBガンマ1次元ルックアップテーブル)104をダウンロードする処理
本実施形態において、デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に恒久的に固定された固定部材204bに取り付けられていてもよい。マルチディスプレイ206の全体を撮像できるようにデジタルカメラ202を設置することにより、カメラキャリブレーションの頻度をディスプレイキャリブレーションの頻度よりも低くすることができる。
【0196】
なお、カメラキャリブレーションの頻度を、カメラのずれが生じる頻度に応じて決めてもよい。
【0197】
また、カメラキャリブレーションの頻度を、ディスプレイのずれが生じる頻度に応じて決めてもよい。
【0198】
また、ディスプレイキャリブレーションの頻度を、カメラのずれが生じる頻度に応じて決めてもよい。
【0199】
また、ディスプレイキャリブレーションの頻度を、ディスプレイのずれが生じる頻度に応じて決めてもよい。
【0200】
また、ディスプレイキャリブレーションを、ディスプレイキャリブレーションスケジュールに応じて実行するようにしてもよい。
【0201】
また、カメラキャリブレーションを、環境光の条件(マルチディスプレイの周辺の光環境)が変化したとき、反射光の変化が生じたとき、あるいはカメラモデルに影響を及ぼす他の条件が変化したときに実行するようにしてもよい。
【0202】
上記のディスプレイキャリブレーションスケジュールは、マルチディスプレイが使用されていない期間中(非画像表示期間中)にマルチディスプレイのキャリブレーションを自動的に実行するものであってもよい。
【0203】
上記のディスプレイキャリブレーションスケジュールは、予め設定された周期毎にマルチディスプレイのキャリブレーションを自動的に実行するものであってもよい。
【0204】
(1−5.キャリブレーション処理の変形例)
図15Aおよび図15Bは本実施形態のキャリブレーション方法の変形例を示す説明図である。これら各図に示す変形例では、カメラキャリブレーションおよび初期ディスプレイ応答関数の決定を、測色結果およびデジタルカメラ202によって取得したカラー画像の両方を用いて行う。
【0205】
まず、キャリブレーション用コンピュータ220は、複数のカラーパッチのうち、次に処理するカラーパッチを、環境と熱平衡になるまで十分にウォームアップさせた各カラーディスプレイ102に表示させる(1502)。
【0206】
この変形例では、各カラーディスプレイ102における当該カラーディスプレイ102についての測定範囲に12個のカラーパッチを順に表示させる。
【0207】
上記の12個のカラーパッチのうちの9個のカラーパッチは、ブラック(黒色)からホワイト(白色)までのグレーライン(R=G=B)のサンプルに対応している。グレーラインのサンプルは、均等であってもよく不均等であってもよい。残りの3個のカラーパッチは、ディスプレイにおけるR,G,Bの各原色についての最大信号値である。
【0208】
次に、キャリブレーション用コンピュータ220は、各測定範囲を測定するための位置に正確に設置された色測定装置(例えば測色器、分光放射計、あるいはディスプレイの色出力を測定するための他の器具)218によって測定されたCIE XYZ値(XYZ値、あるいは測色XYZ値とも言う)を取得する(1504)。
【0209】
なお、色測定装置218によって測定された上記XYZ値を、
XYZ(i、j)measured
として表す。ここで、(i,j)はi番目のディスプレイにおけるj番目のカラーパッチであることを示す。また、XYZ(i,j)measuredは、色測定装置218によって得られたX,Y,Zの3成分ベクトルを含んでいる。
【0210】
上記の3成分カラーベクトルにおける3つの成分は、例えば、RGBベクトルにおけるR成分、G成分、およびB成分であってもよく、CIE XYZベクトルにおけるX成分、Y成分、およびZ成分であってもよい。上記のR成分、G成分、およびB成分からなる値をRGB値と称し、上記のX成分、Y成分、およびZ成分からなる値をXYZ値と称する。
【0211】
次に、キャリブレーション用コンピュータ220は、マルチディスプレイ206を構成する各カラーディスプレイ102の測定範囲にカラーパッチが表示されている状態のマルチディスプレイ206のカラーパッチ画像を取得する(1506)。
【0212】
また、キャリブレーション用コンピュータ220は、各カラーディスプレイ102の測定範囲についての代表値を抽出する(1508)。
【0213】
本実施形態では、上記代表値として、測定範囲内の各画素のR(レッド)値,G(グリーン)値,およびB(ブルー)値の平均値をカラーパッチ画像から抽出する。
【0214】
次に、キャリブレーション用コンピュータ220は、抽出した代表値に対して、
RGB(i,j)CDC=RGB(i,j)CP−RGB(i,j)CD
に基づいて暗時補正を施す(810)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。
【0215】
次に、キャリブレーション用コンピュータ220は、複数のカラーパッチの全てについて、表示、色測定、およびカラーパッチ画像の取得を行ったか否かを判断する(1512)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0216】
表示すべきカラーパッチが残っている場合(1514)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(1502)、全てのカラーパッチについての処理が完了するまで(1516)、同様の処理を繰り返す。
【0217】
その後、キャリブレーション用コンピュータ220は、マルチディスプレイ206内の各カラーディスプレイ102についてカメラキャリブレーションモデルを算出する(1518)。
【0218】
各カラーディスプレイ102についてのカメラキャリブレーションモデルは、カメラRGB暗時補正値をカメラモデルXYZ算出値に変換したものであってもよい。
【0219】
一般的なカメラキャリブレーションモデルは、
XYZ(i)C=F(i)CM(RGB(i)CDC)
で表される。ここで、RGB(i)CDCは、i番目のディスプレイに対応するカメラRGB暗時補正値の3つの要素ベクトルである。また、XYZ(i)Cは、i番目のディスプレイに対応するカメラモデルXYZ算出値の3つの要素ベクトルである。また、F(i)CMは一般的なカメラキャリブレーションモデル関数である。
【0220】
本実施形態では、3×3のマトリクスからなるカメラキャリブレーションモデル関数を用いる。なお、i番目のディスプレイについての上記カメラキャリブレーションモデル関数はM(i)CMとして示される。
【0221】
この場合、カメラキャリブレーションモデルは、
XYZ(i)C=M(i)CMRGB(i)CDC
で表される。なお、M(i)CMは、以下のように示すこともできる。
【0222】
【数7】
【0223】
ここで、NCはカメラキャリブレーション用カラーパッチの番号を示している。X(i,j)measured、Y(i,j)measured、およびZ(i,j)measuredは、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)measuredにおけるX,Y,Zの値をそれぞれ示している。R(i,j)CDC、G(i,j)CDC、およびB(i,j)CDCは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)CDCにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0224】
なお、上記M(i)CMを算出するために回帰法(regression methods)を用いてもよい。また、上記カメラは必ずしも線形モデルでモデル化する必要はなく、一般的なカメラキャリブレーションモデル関数F(i)CMを用いてもよい。
【0225】
カメラキャリブレーションを実行し、各カラーディスプレイについてのカメラモデルを算出した後、キャリブレーション用コンピュータ220は、ディスプレイキャリブレーションを行う。
【0226】
キャリブレーション用コンピュータ220は、9個のグレーパッチのRGB値と対応する測定Y値(色測定装置218が測定したY値)とを用いて各カラーディスプレイ102の非線形の応答特性を算出し(1520)、ディスプレイRGB入力値から線形RGB値を算出するのに用いられる測定Y値に関する1次元ディスプレイ階調応答関数を生成する(1522)。
【0227】
例えば、R=G=Bである9つのグレーパッチを用いてR=G=Bである入力グレー信号に対するディスプレイ装置の非線形の輝度(Y)応答を評価する。3つの関数F(i)RL(・)、F(i)GL(・)、およびF(i)GL(・)は、同一の関数であってもよい。
【0228】
したがって、線形RGB値は、各カラーディスプレイ102に対するRGB入力値に基づいて以下のように示される。
【0229】
R(i,j)L=F(i)RL(R(j)P),
G(i,j)L=F(i)GL(G(j)P),
B(i,j)L=F(i)BL(B(j)P),
ここで、R(i,j)L、G(i,j)L、およびB(i,j)Lは、それぞれ、i番目のディスプレイおよびj番目のカラーパッチに対応する線形のR値、G値、およびB値を示している。
【0230】
変形例として、各カラーディスプレイ102の線形応答をXYZの3要素(3刺激値)を用いて評価してもよい。
【0231】
次に、キャリブレーション用コンピュータ220は、測定XYZ値および線形ディスプレイRGB値を用いて初期ディスプレイ応答関数を算出する(1524)。初期ディスプレイ応答関数は、M(i)DMとして示される線形ディスプレイRGB値の3×3のマトリクスとしてモデル化される。
上記モデルは、
XYZ(i)measured=M(i)DMRGB(i)L
で表される。また、上記マトリクスM(i)DMは、
【0232】
【数8】
【0233】
で表される。ここで、NCはカラーパッチの番号を示している。X(i,j)measured、Y(i,j)measured、およびZ(i,j)measuredは、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)measuredにおけるX,Y,Zの値をそれぞれ示している。R(i,j)L、G(i,j)L、およびB(i,j)Lは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)LにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0234】
なお、上記M(i)DMを算出するために回帰法(regression methods)を用いてもよい。また、上記カメラは必ずしも線形モデルでモデル化する必要はなく、一般的なカメラキャリブレーションモデル関数F(i)DMを用いてもよい。
【0235】
i番目のカラーディスプレイについてのディスプレイXYZ値は、算出された初期ディスプレイ応答M(i)DMと線形RGB値とを用いて下記式で表される。
【0236】
【数9】
【0237】
また、i番目のカラーディスプレイについての線形RGB値は、ディスプレイXYZ値を用いて下記式で表される。
【0238】
【数10】
【0239】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイ102についての初期ディスプレイ応答関数を補正する(1526)。補正方法としては、上述した図10Aおよび図10Bに示した方法を用いることができる。
【0240】
その後、キャリブレーション用コンピュータ220は、図15Bに示したように、上述した方法を用いて、各カラーディスプレイ102についてのLUT(RGBガンマ1次元LUT)104を構築し(1528)、それぞれのカラーディスプレイ102に読み込ませる(1530)。
【0241】
図16は本実施形態のキャリブレーション方法の変形例を示す説明図である。この図に示す例では、まず、キャリブレーション用コンピュータ220(あるいはマルチディスプレイキャリブレーションプログラム)は、各カラーディスプレイ102に同じRGB信号が入力された場合にそれら各カラーディスプレイ102の表示状態を均一にするためのLUT(RGBガンマ1次元ルックアップテーブル)104を初期化する(1602)。なお、上記LUT104は、必ずしも各カラーディスプレイの表示状態を均一にするためのものでなくてもよく、各カラーディスプレイに所定の表示状態を実現させるためのものであってもよい。また、必ずしも上記LUT104を初期化しなくてもよく、既知の値に設定してもよい。この場合、既知の機能に基づいて適切な補正が行われる。上記LUT104が既知であるが全ての領域から全ての範囲の値のマッピングが含まれていない場合に、上記LUT104の初期化を行ってもよい。
【0242】
次に、キャリブレーション用コンピュータ220は、デジタルカメラ202に暗時のカメラ画像(通常の光環境下でマルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにした状態でマルチディスプレイ206の全てカラーディスプレイ102をデジタルカメラで撮像した画像)を取得する処理(1604)を実行させるためのコマンドを生成し、デジタルカメラ202に送信する。
【0243】
なお、キャリブレーション用コンピュータ220が、マルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにして照明光の状態を通常の状態にすることを、例えば、グラフィカルユーザインターフェース(GUI)、テキストユーザインターフェース、あるいは他のタイプのユーザインターフェースを介してユーザに促すようにしてもよい。
【0244】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各ディスプレイ装置100の電源をオフする処理を表示駆動用コンピュータ228に要求するコマンドを生成して表示駆動用コンピュータ228に送信するようにしてもよい。
【0245】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各カラーディスプレイ102における指定された測定範囲から獲得した暗時カメラ初期画像から暗時カメラR(レッド)初期代表値、暗時カメラG(グリーン)初期代表値、および暗時カメラB(ブルー)初期代表値を抽出するようにしてもよい。また、上記の代表値は、指定された測定範囲内における対応する全ての値の平均値であってもよい。
【0246】
また、キャリブレーション用コンピュータ220が、測定範囲内に位置するカメラ画像の画素のRGB値を暗時カメラ画像あるいは当該マルチディスプレイの他の画像から抽出する処理を容易に行うために、測定範囲識別情報を記憶するものであってもよい。上記の測定範囲識別情報は、測定範囲に属する画素の画素値を第1固定値に設定し、測定範囲以外の画素の画素値を第2固定値に設定したマスク画像を含むものであってもよい。
また、上記測定範囲識別情報は、測定範囲の位置を画像内の位置を容易に特定できるパラメータを用いて記述したもの(例えば、円の中心位置と半径とによって記述したものなど)であってもよい。
【0247】
暗時カメラ初期画像を取得(1604)した後、キャリブレーション用コンピュータ220は、暗時カメラRGB初期代表値を用いてカメラキャリブレーションを実行する(1606)。
【0248】
カメラキャリブレーションを実行した後、キャリブレーション用コンピュータ220は、暗時カメラRGB更新値の取得(1608)、およびディスプレイキャリ分でーション(1610)を実行する。
【0249】
図17は本実施形態のキャリブレーション方法の他の変形例を示す説明図である。この図に示す例では、まず、キャリブレーション用コンピュータ220(あるいはマルチディスプレイキャリブレーションプログラム)は、各カラーディスプレイ102に同じRGB信号が入力された場合にそれら各カラーディスプレイ102の表示状態を均一にするためのLUT(RGBガンマ1次元ルックアップテーブル)104を初期化する(1702)。
【0250】
なお、上記LUT104は、必ずしも各カラーディスプレイ102の表示状態を均一にするためのものでなくてもよく、各カラーディスプレイ102に所定の表示状態を実現させるためのものであってもよい。また、必ずしも上記LUT104を初期化しなくてもよく、既知の値に設定してもよい。この場合、既知の機能に基づいて適切な補正が行われる。上記LUT104が既知であるが全ての領域から全ての範囲の値のマッピングが含まれていない場合に、上記LUT104の初期化を行ってもよい。
【0251】
次に、キャリブレーション用コンピュータ220は、デジタルカメラ202に暗時のカメラ画像(通常の光環境下でマルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにした状態でマルチディスプレイ206の全てカラーディスプレイ102をデジタルカメラ202で撮像した画像)を取得する処理(1604)を実行させるためのコマンドを生成してデジタルカメラ202に送信する。
【0252】
なお、キャリブレーション用コンピュータ220がは、マルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにして照明光の状態を通常の状態にすることを、例えば、グラフィカルユーザインターフェース(GUI)、テキストユーザインターフェース、あるいは他のタイプのユーザインターフェースを介してユーザに促すようにしてもよい。
【0253】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各ディスプレイ装置100の電源をオフする処理を表示駆動用コンピュータ228に要求するコマンドを生成して表示駆動用コンピュータ228に送信するようにしてもよい。
【0254】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各カラーディスプレイ102における指定された測定範囲から獲得した暗時カメラ初期画像から暗時カメラR(レッド)初期代表値、暗時カメラG(グリーン)初期代表値、および暗時カメラB(ブルー)初期代表値を抽出してもよい。上記の代表値は、指定された測定範囲内における対応する全ての値の平均値であってもよい。
【0255】
また、キャリブレーション用コンピュータ220が、測定範囲内に位置するカメラ画像の画素のRGB値を暗時カメラ画像あるいは当該マルチディスプレイ206の他の画像から抽出する処理を容易に行うために、測定範囲識別情報を記憶するものであってもよい。上記の測定範囲識別情報は、測定範囲に属する画素の画素値を第1固定値に設定し、測定範囲以外の画素の画素値を第2固定値に設定したマスク画像を含むものであってもよい。また、上記測定範囲識別情報は、測定範囲の位置を画像内の位置を容易に特定できるパラメータを用いて記述したもの(例えば、円の中心位置と半径とによって記述したものなど)であってもよい。
【0256】
暗時カメラ初期画像を取得(1704)した後、キャリブレーション用コンピュータ220は、暗時カメラRGB初期代表値を用いてカメラキャリブレーション、および初期ディスプレイモデルの算出を行う(1706)。
【0257】
カメラキャリブレーション、および初期ディスプレイモデルの算出を行った後、キャリブレーション用コンピュータ220は、暗時カメラRGB更新値の取得(1708)、およびディスプレイキャリブレーション(1710)を実行する。
【0258】
(1−6.実施形態1のまとめ)
以上のように、本実施形態では、まず、以下に示す(1)〜(6)の処理により、カメラキャリブレーション関数(カメラキャリブレーションモデル)を求める。
(1)各カラーディスプレイ102の電源をオフにし、通常光の状態にて各カラーディスプレイ102をデジタルカメラ202で撮像する。(なお、環境光の状態が変わり、カメラキャリブレーション関数の変更が必要な場合に再キャリブレーション(カメラキャリブレーション関数の差異算出)を行うようにしてもよい。)
(2)デジタルカメラ202の撮像画像より、R,G,Bの代表値(暗時カメラRGB代表値)を求める。
(3)各カラーディスプレイ102に複数のカラーパッチを表示させてデジタルカメラ202で撮像し、撮像画像より各カラーパッチの代表値であるカラーパッチRGB代表値(第1撮像カラーパッチの代表値)をカラーディスプレイ102毎に求める。
(4)上記各カラーディスプレイ102に表示させた複数のカラーパッチを色測定装置218で測色して色測定値(第1カラーパッチ測色値)をカラーディスプレイ102毎に取得する。
(5)各カラーディスプレイ102について、カラーパッチRGB代表値を暗時カメラRGB代表値で補正し、カラーパッチRGB補正代表値(補正カラーパッチの代表値)を求める。
(6)各カラーディスプレイ102について、カラーパッチRGB補正代表値と色測定値とを用いてデジタルカメラ202のカメラキャリブレーション関数(カメラキャリブレーションモデル)を求める。
【0259】
次に、以下に示す(1)〜(6)の処理により、初期ディスプレイキャリブレーション関数(初期ディスプレイキャリブレーションモデル)を求める。
(1)ディスプレイキャリブレーション用のカラーパッチを各カラーディスプレイ102に表示し、デジタルカメラ202で撮像を行う。
(2)撮像画像より各カラーパッチの代表値であるカラーパッチRGB代表値(第2撮像カラーパッチの代表値)を取得し、取得したカラーパッチRGB代表値を暗時RGB代表値で補正することにより、カラーパッチRGB補正代表値(第2補正カラーパッチの代表値)をカラーディスプレイ102毎に求める。
(3)カラーパッチRGB補正代表値をカメラキャリブレーション関数を用いて三刺激値XYZに変換し、カメラキャリブレーション関数XYZ算出値を取得する。
(4)グレーパッチ(R=G=B)を表示したときのカラーパッチRGB補正代表値およびカメラキャリブレーション関数XYZ算出値のY値より、1次元ディスプレイ階調応答関数を求める。
(5)1次元階調応答関数を用いて、入力RGB値に対する線形RGB値(パッチ代表値の入力RGB値に対してカメラキャリブレーション関数XYZ算出値のYの値が線形に変化するRGB値)を算出する。
(6)カメラキャリブレーション関数を用いて、カメラキャリブレーション関数XYZ算出値および線形RGB値により、視野角特性や環境光を考慮した各カラーディスプレイ102の初期応答特性(初期ディスプレイキャリブレーション関数)を求める。
【0260】
さらに、上記のように算出した各カラーディスプレイ102についての初期ディスプレイキャリブレーション関数を、以下の(1)〜(7)の処理により補正(改良)する。
(1)目標とする白色点を設定するとともに、知覚的に均等な色空間(例えばLab色空間)上に補正する色の値(カラー値)を設定する。
(2)上記色空間上に設定した上記の補正する色の値をXYZ値に変換する。
(3)初期ディスプレイキャリブレーション関数を用いて上記のXYZ値に対応する線形RGB値をカラーディスプレイ102毎に算出する。
(4)算出した線形RGB値が対応するカラーディスプレイ102の色再現域外である場合、クリップ処理を行う。
(5)クリップ処理後の線形RGB値を1次元ディスプレイ階調応答関数を用いた逆演算によりディスプレイRGB値に変換する。
(6)各カラーディスプレイ102に複数のカラーパッチを表示させてデジタルカメラ202で撮像し、撮像画像より各カラーパッチの代表値であるカラーパッチRGB代表値し、カラーパッチRGB代表値を暗時カメラRGB代表値で補正してカラーパッチRGB補正代表値を算出する。算出したカラーパッチRGB補正代表値をカメラキャリブレーション関数を用いてカメラキャリブレーション関数XYZ算出値に変換する。変換した各カメラキャリブレーション関数XYZ算出値を四面体に分割し、複数の無彩色(グレー)が含まれる四面体を特定する。
(7)無彩色が四面体に含まれる場合、四面体補間を用いて当該無彩色に対応する線形RGB値を求め(ターゲットとなるグレーライン上の各点のディスプレイRGB値を四面体補間により算出し)、LUT104を構築する。
【0261】
このように構築したLUT104を用いてディスプレイのキャリブレーションを行うことにより、ディスプレイの角度依存性(視野角特性)を改善することができる。
【0262】
すなわち、2次元撮像装置では、カメラの画角のセンターとディスプレイのセンターとを合わせても、中心から遠くに行くに従ってディスプレイの角度依存性に起因する色の変化が発生してしまう。特に、マルチディスプレイを構成するディスプレイの個数(例えば5×5等)が多い場合やマルチディスプレイ全体のサイズが大きい場合などには、カメラの中心とマルチディスプレイの中心とを合わせるのが困難であり、角度による影響が大きくなる。また、カメラの撮像方向が各ディスプレイの表示面に対して平行に近い場合には、ディスプレイの角度依存性(視野角特性)の影響が大きくなる。
【0263】
これに対して、本実施形態によれば、上記角度依存性を補完するモデル(LUT104)をディスプレイ毎に用意しておくことができるので、当該モデルを用いて各ディスプレイのキャリブレーションを行うことにより、高精度な補正を行うことができる。
【0264】
本発明の一態様にかかるキャリブレーションシステムは、複数のディスプレイによって構成されるマルチディスプレイにおける上記各ディスプレイのキャリブレーションを行うキャリブレーションシステムであって、上記各ディスプレイのキャリブレーションを行うキャリブレーション処理部と、上記マルチディスプレイ全体の画像を撮像するデジタルカラーカメラと、上記各ディスプレイに表示される画像の色測定を行う色測定装置と、上記各ディスプレイの表示を制御する表示駆動処理部とを備え、上記キャリブレーション処理部は、上記色測定装置の色測定結果および上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するカメラキャリブレーション関数を決定する処理と、上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するディスプレイキャリブレーション関数を決定する処理と、上記ディスプレイキャリブレーション関数および上記カメラキャリブレーション関数を用いて、上記マルチディスプレイに対する入力信号値と上記各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルを上記ディスプレイ毎に決定する処理と、上記各ルックアップテーブルを当該ルックアップテーブルに対応する上記ディスプレイに読み込ませる処理とを行うことを特徴としている。
【0265】
上記の構成によれば、まず、各ディスプレイに表示される画像をデジタルカラーカメラで撮像するとともに色測定装置で色測定し、各ディスプレイについてカメラキャリブレーション関数を決定する。また、各ディスプレイに表示される画像をデジタルカメラで撮像し、各ディスプレイのディスプレイキャリブレーション関数を決定する。そして、ディスプレイキャリブレーション関数およびカメラキャリブレーション関数を用いて、マルチディスプレイに対する入力信号値と各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルをディスプレイ毎に決定する。これにより、各ディスプレイのキャリブレーション処理にカメラのキャリブレーション結果を反映させることができるので、各ディスプレイのキャリブレーションを、デジタルカラーカメラと各ディスプレイとの相対位置にかかわらず正確に行うことができる。
【0266】
また、上記カメラキャリブレーション関数を決定する処理は、上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、それぞれがカメラキャリブレーション用の複数の色のうちの1色に対応する複数のカメラキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各カメラキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像に基づいて上記ディスプレイ毎にカラーパッチRGB代表値を算出する処理と、上記色測定装置に上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイの色測定を行わせることにより、カメラキャリブレーション用の上記各色に対応する複数の色測定値を上記ディスプレイ毎に取得する処理と、上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、上記各ディスプレイについて、当該ディスプレイについての上記各カラーパッチRGB補正代表値と当該ディスプレイについての上記各色測定値とに基づいて当該ディスプレイの上記カメラキャリブレーション関数を作成する処理とを含んでいてもよい。
【0267】
上記の構成によれば、各ディスプレイに対応するカメラキャリブレーション関数を適切に作成することができる。
【0268】
また、上記ディスプレイキャリブレーション関数を決定する処理は、上記各ディスプレイに対応する初期ディスプレイキャリブレーション関数を決定する処理と、上記各初期ディスプレイキャリブレーション関数を補正することにより上記各ディスプレイに対応する各ディスプレイキャリブレーション関数を決定する処理とを含んでいてもよい。
【0269】
また、上記初期ディスプレイキャリブレーション関数を決定する処理は、複数のディスプレイキャリブレーション用の色のそれぞれに対応して上記各ディスプレイに表示される色を色測定装置により測定することで上記各ディスプレイについての複数の色測定値を取得する処理と、ディスプレイキャリブレーション用の上記各色について上記ディスプレイ毎に線形RGB値を算出することにより上記各ディスプレイについて複数の線形RGB値を生成する処理と、複数の上記線形RGB値と複数の上記色測定値とを用いて上記各ディスプレイについての上記初期モデルを算出する処理とを含んでいてもよい。
【0270】
また、上記初期ディスプレイキャリブレーション関数を決定する処理は、上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、それぞれがディスプレイキャリブレーション用の複数の色のうちの1色に対応する複数のディスプレイキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、上記ディスプレイキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各ディスプレイキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像毎にカラーパッチRGB代表値を決定することにより上記ディスプレイ毎に複数のカラーパッチRGB代表値を生成する処理と、上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、上記各カラーパッチRGB補正代表値に上記カメラキャリブレーション関数を適用することにより上記各ディスプレイ毎に複数のカメラキャリブレーション関数XYZ算出値を生成する処理と、ディスプレイキャリブレーション用の各色に対応する線形RGB値を上記ディスプレイ毎に算出することにより、上記ディスプレイ毎に複数の線形RGB値を生成する処理と、複数の上記線形RGB値と複数の上記カメラキャリブレーション関数XYZ算出値とを用いて上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を計算する処理とを含んでいてもよい。
【0271】
また、上記初期ディスプレイキャリブレーション関数を補正する処理は、第1色空間における目標とする無彩色グレースケールの周囲に複数の補正色を配置する処理と、複数の上記補正色を上記第1色空間からXYZ色空間に変換する処理と、上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を用いて、XYZ色空間に変換された複数の上記補正色から複数の線形RGB値を上記ディスプレイ毎に取得する処理と、複数の上記線形RGB値にクリッピング処理を行うことにより、上記各ディスプレイについての複数の実現可能な線形RGB値を生成する処理と、上記初期ディスプレイキャリブレーション関数を決定する処理で得られる上記各ディスプレイのディスプレイ階調応答関数の逆関数を適用することにより、上記各ディスプレイについての複数の実現可能な上記線形RGB値を複数のディスプレイRGB値に変換する処理と、上記各ディスプレイについての複数の上記ディスプレイRGB値を用いて上記各ディスプレイについての複数のカメラキャリブレーション関数XYZ算出値を取得する処理と、上記各ディスプレイについての上記カメラキャリブレーション関数XYZ算出値に対応する複数の値を、第2色空間における当該ディスプレイに対応する複数の四面体にテッセレーションする処理と、上記各ディスプレイに対応する上記複数の四面体を用いて上記ルックアップテーブルを上記ディスプレイ毎に構築する処理とを含んでいてもよい。
【0272】
また、上記ルックアップテーブルを構築する処理は、上記各ディスプレイに対応するマルチディスプレイ最大輝度値を決定する処理と、ゼロから上記マルチディスプレイ最大輝度値までの輝度スケールをサンプリングすることにより、複数の輝度値を生成する処理と、複数の上記輝度値と目標とする白色点の色度とを組み合わせる処理と、上記各ディスプレイに対応する複数の上記四面体を用いた補間処理を行うことにより、上記各ディスプレイについて複数の上記輝度値に対応する複数の線形RGB値を生成する処理と、上記初期ディスプレイキャリブレーション関数を決定する処理で得られるディスプレイ階調応答関数の逆関数を複数の上記線形RGB値に適用することにより上記各ディスプレイについて複数のディスプレイRGB値を取得する処理と、複数の上記ディスプレイRGB値を用いて上記各ディスプレイに対応する上記ルックアップテーブルを形成する処理とを含んでいてもよい。
【0273】
上記の各構成によれば、各ディスプレイに対応するディスプレイキャリブレーション関数を適切に作成することができる。
【0274】
本発明は上述した実施形態に示した具体例や用語に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0275】
本発明は、マルチディスプレイを構成する複数のカラーディスプレイのキャリブレーションを行うキャリブレーションシステムおよびキャリブレーション方法に適用できる。
【符号の説明】
【0276】
100,100a〜100d ディスプレイ装置
101,101a〜101d 色補正部
102,102a〜102d カラーディスプレイ(ディスプレイ)
104,104a〜104d LUT(ルックアップテーブル)
200,200b,200c キャリブレーションシステム
202 デジタルカメラ(デジタルカラーカメラ)
206 マルチディスプレイ
218 色測定装置
220 キャリブレーション用コンピュータ(キャリブレーション処理部)
220b キャリブレーションアプリケーション(キャリブレーション処理部)
228 表示駆動用コンピュータ(表示駆動処理部)
【技術分野】
【0001】
本発明は、マルチディスプレイ(ディスプレイ集合体)を構成する複数のカラーディスプレイを連帯的にキャリブレーションする技術に関するものである。
【背景技術】
【0002】
従来、複数のカラーディスプレイを並べて配置することにより、これら複数のカラーディスプレイを用いて全体として1つの画像を表示することが可能なマルチディスプレイが知られている。
【0003】
マルチディスプレイにおいて、各カラーディスプレイを横断した一貫性のある画像を表示するためには、全てのカラーディスプレイのグレースケール色度値、階調応答関数(ガンマ曲線)、および最大輝度値を同一にするように各カラーディスプレイのキャリブレーションを行う必要がある。
【0004】
各カラーディスプレイのキャリブレーションを行わない場合、各カラーディスプレイは製造者および機種が同じであってもカラーディスプレイ毎に色出力特性が異なっているので、複数のカラーディスプレイに同じRGB信号値(R:レッド、G:グリーン、B:ブルー)を入力した場合であっても各カラーディスプレイに表示される画像の色が異なってしまい、各カラーディスプレイの境界部が視認されて不快感を与えてしまう場合がある。
【0005】
なお、ディスプレイのキャリブレーション方法として、例えば特許文献1には、ディスプレイにカラーチャートを表示させ、表示されているカラーチャートをデジタルカメラで撮像してデジタルカメラに固有の色空間で表現されている画像信号を生成し、表示されているカラーチャートを測色器で測色した結果と上記画像信号とに基づいてデジタルカメラのプロファイルを生成し、上記画像信号に上記プロファイルを適用してデバイス非依存の色空間で表現されている画像信号に変換し、変換した上記画像信号とカラーチャートの入力信号とを比較することによりディスプレイのプロファイルを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−208629号公報(2007年8月16日公開)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の技術は、マルチディスプレイのキャリブレーションを想定したものではないため、特許文献1の技術を用いてマルチディスプレイの各カラーディスプレイに対するキャリブレーションを行うと、各カラーディスプレイに対するキャリブレーションの精度が各カラーディスプレイの配置位置に応じて異なってしまうという問題が生じる。
【0008】
すなわち、マルチディスプレイは複数のカラーディスプレイを並べて配置することにより単体のカラーディスプレイでは実現できない大画面表示を実現するためのものなので、デジタルカメラと各カラーディスプレイとの相対位置(相対角度)が各カラーディスプレイの配置位置に応じて大きく異なる。このため、カラーディスプレイの出力特性の角度依存性(視野角特性)により、マルチディスプレイの端部に配置されているカラーディスプレイに対するキャリブレーションの精度と、中央部(あるいは反対側の端部)に配置されているカラーディスプレイに対するキャリブレーションの精度とに差異が生じてしまう。
【0009】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、マルチディスプレイに備えられる各カラーディスプレイのキャリブレーションの精度を向上させることにある。
【課題を解決するための手段】
【0010】
本発明の一態様にかかるキャリブレーションシステムは、複数のディスプレイによって構成されるマルチディスプレイにおける上記各ディスプレイのキャリブレーションを行うキャリブレーションシステムであって、上記各ディスプレイのキャリブレーションを行うキャリブレーション処理部と、上記マルチディスプレイ全体の画像を撮像するデジタルカラーカメラと、上記各ディスプレイに表示される画像の色測定を行う色測定装置と、上記各ディスプレイの表示を制御する表示駆動処理部とを備え、上記キャリブレーション処理部は、上記色測定装置の色測定結果および上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するカメラキャリブレーション関数を決定する処理と、上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するディスプレイキャリブレーション関数を決定する処理と、上記ディスプレイキャリブレーション関数および上記カメラキャリブレーション関数を用いて、上記マルチディスプレイに対する入力信号値と上記各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルを上記ディスプレイ毎に決定する処理と、上記各ルックアップテーブルを当該ルックアップテーブルに対応する上記ディスプレイに読み込ませる処理とを行うことを特徴としている。
【発明の効果】
【0011】
上記の構成によれば、各ディスプレイのキャリブレーション処理にカメラのキャリブレーション結果を反映させることができるので、各ディスプレイのキャリブレーションを、デジタルカラーカメラと各ディスプレイとの相対位置にかかわらず正確に行うことができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施形態にかかるマルチディスプレイに備えられるディスプレイ装置の概略構成を示す説明図である。
【図2】本発明の一実施形態にかかるマルチディスプレイのキャリブレーションシステムの一構成例を示す説明図である。
【図3】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図4】本発明の一実施形態において、マルチディスプレイを構成する各ディスプレイに設定される測定範囲の一例を示す説明図である。
【図5】本発明の一実施形態において、マルチディスプレイを構成する各ディスプレイに設定される測定範囲の一例を示す説明図である。
【図6】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図7】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図8】本発明の一実施形態におけるカメラキャリブレーションの方法の一例を示す説明図である。
【図9A】本発明の一実施形態におけるカメラキャリブレーションの方法の一例を示す説明図である。
【図9B】本発明の一実施形態におけるカメラキャリブレーションの方法の一例を示す説明図である。
【図10A】本発明の一実施形態におけるカラーディスプレイの初期ディスプレイ応答関数の補正方法の一例を示す説明図である。
【図10B】本発明の一実施形態におけるカラーディスプレイの初期ディスプレイ応答関数の補正方法の一例を示す説明図である。
【図11】本発明の一実施形態におけるルックアップテーブルの生成方法の一例を示す説明図である。
【図12】本発明の一実施形態におけるディスプレイRGB値の平滑化処理の一例を示す説明図である。
【図13】本発明の一実施形態にかかるマルチディスプレイの一構成例を示す説明図である。
【図14】本発明の一実施形態にかかるマルチディスプレイの一構成例を示す説明図である。
【図15A】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図15B】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図16】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図17】本発明の一実施形態にかかるマルチディスプレイのキャリブレーション方法の一例を示す説明図である。
【図18】本発明の一実施形態にかかるマルチディスプレイのキャリブレーションシステムの一構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
本発明の一実施形態について図面を参照しながら説明する。
【0014】
(1−1.はじめに)
本発明は、各図面に図示あるいは記述された内容に限定されるものではなく、各図面に図示あるいは記述された内容に対してさまざまな変形を施してもよい。また、本実施形態は本発明の代表的な形態を示したものであり、本発明は本実施形態に限定されるものではない。
【0015】
本実施形態で示す各要素(各部材)は、ハードウェア、ファームウェア、および/またはコンピュータシステムを動作させるためのプログラムをコンピュータ読み取り可能に記録した記録媒体によって実現されるものであってもよい。本実施形態では、各要素の一形態について説明するが、それら各要素の形態は本発明の範囲内で任意に変更可能である。
【0016】
また、図面に示した各処理の順序は本発明の一形態にすぎず、適宜変更してもよい。例えば、各ブロックの実行順序を図示した順序から変更してもよい。同様に、例えば、図面中で連続して示されている2以上のブロックを同時に並行して行ってもよく、部分的に並行して行ってもよい。また、コンピュータシステムを動作させるためのプログラムをコンピュータ読み取り可能に記録した記録媒体、ハードウェア、および/またはファームウェアは、さまざまなロジック関数を実行するように構成されてもよい。
【0017】
本実施形態で説明する特徴および方法をコンピュータシステムに実行させるためのプログラムを記録媒体にコンピュータ読み取り可能に記録してもよい。上記の記録媒体の構成は特に限定されるものではないが、例えば、フラッシュメモリ、ディスク記録媒体(例えば、フロッピーディスク(登録商標)、光学ディスク、磁気光学ディスク、DVD(Digital Versatile Disc)、CD(Compact Disc)、マイクロドライブなど)、ROM(Read-Only Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory、登録商標)、RAM(Random-Access Memory)、VRAM(Video Random-Access Memory)、DRAM(Dynamic Random-Access Memory)など)、指示および/またはデータを記録するのに適したさまざまなタイプの記録媒体および記録装置を用いることができる。
【0018】
また、本実施形態では、特定の色空間を用いる場合について説明するが、本発明はこれに限定されるものではなく、他の色空間を用いてもよい。
【0019】
複数のカラーディスプレイによって構成されるマルチディスプレイ(ディスプレイ集合体)において、ディスプレイの境界部をまたがって一体的な画像を表示するためには、全てのカラーディスプレイを同じグレースケール色度値、階調応答関数(ガンマ曲線)、および最大輝度値にキャリブレーションすることが好ましい。
【0020】
目標とするグレースケール色度値および階調応答関数は、ユーザによって指定される。
【0021】
典型的な階調応答関数としては、累乗の指数を用いて規定されるガンマ曲線(例えばIEC61966-2-1:1999標準で規定されたsRGB階調応答曲線では2.2)、および他の公知のガンマ曲線を用いることができる。
【0022】
目標とする最大輝度値はユーザが指定してもよく、ユーザがマルチディスプレイの全てのディスイプレイによって連帯的に達成される最大輝度値の目標値を指定してもよい。
【0023】
各カラーディスプレイのキャリブレーションを行わない場合、各カラーディスプレイは製造者および機種が同じであってもカラーディスプレイ毎に色出力特性が異なっているので、複数のカラーディスプレイに同じRGB信号値(R:レッド、G:グリーン、B:ブルー)を入力した場合であっても各カラーディスプレイの境界部が視認されて不快感を与えてしまう。
【0024】
(1−2.キャリブレーションシステム200の構成)
図2は、本実施形態にかかる典型的なキャリブレーションシステム200の構成を示す説明図である。また、図18は、キャリブレーションシステム200の構成を示すブロック図である。
【0025】
図2および図18に示すように、キャリブレーションシステム200は、マルチディスプレイ206、デジタルカメラ(デジタルカラーカメラ)202、色測定装置218、キャリブレーション用コンピュータ220、および表示駆動用コンピュータ228を備えている。
【0026】
デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に配置された三脚204によって支持されている。
【0027】
本実施形態では、マルチディスプレイ206の全体をデジタルカメラ202の撮像範囲内に収めてマルチディスプレイ206の全体を1つの画像として撮像することのできる位置にデジタルカメラ202を設置している。なお、デジタルカメラ202をパンニング等により移動させながらマルチディスプレイ206の全体を複数の部分毎に撮像し、それら各部分の撮像結果を組み合わせることによりマルチディスプレイ206の全体の画像を取得するようにしてもよい。
【0028】
マルチディスプレイ206は、複数のディスプレイ装置100a〜100dによって構成されている。また、各ディスプレイ装置100a〜100dは、色補正部101a〜101dとカラーディスプレイ(ディスプレイ)102a〜102dとを備えている。また、各色補正部101a〜101dには、LUT(ルックアップテーブル)104a〜104dが備えられている。より具体的には、各色補正部101a〜101dに設けられた記憶部(図示せず)にLUT104a〜104dが記憶されている。なお、以下の説明では、各カラーディスプレイについて共通の説明を行う場合には、ディスプレイ装置100a〜100dをディスプレイ装置100、色補正部101a〜101dを色補正部101、カラーディスプレイ102a〜102dをカラーディスプレイ102、LUT104a〜104dをLUT104と称して説明する。
【0029】
LUT104(104a〜104d)は、ディスプレイ装置100に入力されたRGB信号(RGB入力信号)を補正するために用いられ、補正後のRGB信号(RGB出力信号)に基づいてカラーディスプレイ102が駆動される。
【0030】
色測定装置(測色器)218は、支持手段216によって支持されている。支持手段216は、色測定装置218を、各カラーディスプレイ102a〜102dのそれぞれの色出力を個別に測定できるように支持する。
【0031】
色測定装置218としては、例えば、エックスライト社の「アイワン ディスプレイ 2(EyeOne Display 2)(登録商標)」や、データカラー社の「スパイダー 3(Spyder 3) (登録商標)」などを用いることができる。
【0032】
マルチディスプレイ206におけるディスプレイ装置100a〜100d、デジタルカメラ202、および色測定装置218は、キャリブレーション用コンピュータ220に有線、無線、または他の通信手段からなる通信リンク222,224,226等を介して通信可能に接続されている。
【0033】
表示駆動用コンピュータ228は、有線、無線、または他の通信手段からなる通信リンク230を介してグラフィックデータや映像データをマルチディスプレイ206(ディスプレイ装置100a〜100d)に送信し、マルチディスプレイ206(ディスプレイ装置100a〜100d)を駆動する。
【0034】
表示駆動用コンピュータ228は単一のコンピュータであってもよく、複数の駆動手段と、それら各駆動手段を管理して全てのカラーディスプレイを駆動するための統合コンピュータとを備えたコンピュータシステムであってもよい。上記のコンピュータシステムは、1または複数のセットトップボックスを備えていてもよい。
【0035】
表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは別々のコンピュータであってもよい。また、表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは、有線、無線、または他の通信手段からなる通信リンク232を介して互いに通信可能に接続された別々のコンピュータシステムであってもよい。上記の通信リンクとしては、シリアルポート、USBリンク、イーサネット(登録商標)リンク、あるいは他の有線または無線通信リンクなどを用いることができる。また、1つのコンピュータあるいはコンピュータシステムが、マルチディスプレイ206を駆動する表示駆動用コンピュータの機能と、キャリブレーション用コンピュータとしての機能とを実行する構成としてもよい。
【0036】
キャリブレーション用コンピュータ220を駆動してマルチディスプレイ全体をキャリブレーションするためのプログラムを、コンピュータ読み取り可能な記録媒体に非一時的に記憶させておいてもよい。
【0037】
上記プログラムは、例えば、以下に示す(1)〜(7)の処理をキャリブレーション用コンピュータ220に実行させる。
(1)デジタルカメラ202にマルチディスプレイ206の画像を撮像させるためのコマンドを生成してデジタルカメラ202に送信する処理。
(2)カラーディスプレイ102a〜102dに複数色のカラーパッチのうちの特定色のカラーパッチを表示させるコマンドを生成してマルチディスプレイ206を駆動するための表示駆動用コンピュータ228に送信する処理。
(3)カラーディスプレイ102a〜102dの色の測定を実行させるためのコマンドを生成して色測定装置218に送信する処理。
(4)後に行う色測定処理のために色測定装置218の位置を移動するようにユーザに促す処理。
(5)測定データおよび画像データを収集し、マルチディスプレイ206における各カラーディスプレイ102a〜102dのカメラキャリブレーションモデルを生成する処理。
(6)デジタルカメラ202から画像データを収集し、R,G,Bの1次元ガンマ補正のためのルックアップテーブル(マルチディスプレイ206における各ディスプレイ装置100a〜100dのLUT104)の内容を構成するデータを生成する処理。
(7)マルチディスプレイ206における各カラーディスプレイ102a〜102dに対応するLUT(RGBガンマ1次元ルックアップテーブル)104をダウンロードする処理。
【0038】
図1は、ディスプレイ装置100の構成を示す説明図である。この図に示すように、ディスプレイ装置100は、カラーディスプレイ102と色補正部101とを備えている。また、色補正部101は、LUT(RGBガンマ1次元ルックアップテーブル)104を備えている。
【0039】
ディスプレイ装置100に入力されたRGB入力信号106は、色補正部101においてLUT104に基づいてRGB出力信号108に補正され、RGB出力信号108を用いてカラーディスプレイ102が駆動される。
【0040】
LUT104は、白色点において目標とする表示輝度および色度を達成するための、カラーディスプレイ102に実際に送信されるRGB信号の最大値を規定するものであってもよい。
【0041】
また、LUT104は、ディスプレイ装置100に入力されるグレー信号(R=G=BのRGB信号)について生成される色度および階調応答を規定するための、グレースケールに沿ったR,G,Bの各信号レベルを設定したものであってもよい。
【0042】
LUT104のデータを正確に生成するためには、カラーディスプレイ102に入力されるRGB出力信号108に基づいてCIE XYZ色空間における色出力110を予想するための、カラーディスプレイ102の応答関数モデルが必要になる。
【0043】
カラーディスプレイ102の応答関数モデルは、さまざまなRGB出力信号108の値をカラーディスプレイ102に供給し、それら各RGB出力信号108の値に応じてカラーディスプレイ102に実際に表示される色(色出力110)を測定し、色出力110の測定結果とカラーディスプレイ102に供給したRGB出力信号108との関係から逆演算を行うことにより算出される。
【0044】
個々のカラーディスプレイ102(102a〜102d)についての上記応答関数モデルは、当該カラーディスプレイに対応するLUT104(目標とするグレースケールに沿った色度、階調応答関数、および最大輝度値を達成するようにディスプレイ装置100へのRGB入力信号106を補正するためのRGBガンマ1次元ルックアップテーブル)のデータを生成するために用いられる。
【0045】
各ディスプレイ装置100のLUT104に正確なデータを読み込ませておくことにより、全てのカラーディスプレイ102のグレースケール色度、階調応答関数、および最大輝度値を一致させることができ、各カラーディスプレイ102において目標とする色度および最大輝度を得ることができる。
【0046】
例えば、カラーディスプレイ102の色出力を測定するための色測定装置218として、測色器(colorimeter)や分光放射計(spectroradiometer)などを用いてもよい。
【0047】
より正確なキャリブレーションを行うためには、より多くのRGB信号について測定する必要がある。ところが、特に、グレースケールの周辺でより正確なキャリブレーションを行うためには多大な時間がかかり、その結果コストが増大してしまう。このため、色測定装置218を用いたカラーディスプレイ102の色測定点の数が少なくても正確なキャリブレーションを行うことのできる方法、システム、および装置が求められている。
【0048】
本実施形態では、マルチディスプレイ206に備えられる複数のカラーディスプレイ102のキャリブレーションを、デジタルカメラ202およびカラーディスプレイ102の色出力を測定する色測定装置218を用いて行う。色測定装置218の典型例としては、測色器、分光放射計、およびカラーディスプレイ102の色出力を測定する機能を有する他の装置を用いることができる。
【0049】
(1−3.キャリブレーション処理)
(1−3−1.キャリブレーション処理の全体の流れ)
図3は本発明の一実施形態にかかるキャリブレーション方法の流れを示す説明図である。
【0050】
まず、キャリブレーション用コンピュータ220(あるいはキャリブレーションプログラム)は、各ディスプレイ装置100に同じRGB信号が入力された場合にそれら各ディスプレイ装置100のカラーディスプレイ102の表示状態を均一にするためのLUT(RGBガンマ1次元ルックアップテーブル)104を初期化する(302)。
【0051】
本実施形態では、各ディスプレイ装置100に読み込まれているLUT104は、各ディスプレイ装置100に同じRGB信号が入力された場合にそれら各ディスプレイ装置100のカラーディスプレイ102の表示状態を均一にするように設定されている。ただし、LUT104は、必ずしも各カラーディスプレイ102の表示状態を均一にするためのものでなくてもよく、各カラーディスプレイ102に所定の表示状態を実現させるためのものであってもよい。また、必ずしもLUT104を初期化しなくてもよく、既知の値に設定してもよい。この場合、既知の機能に基づいて適切な補正が行われる。また、LUT104が既知であるが全ての領域から全ての範囲の値へのマッピングが含まれていない場合に、LUT104の初期化を行うようにしてもよい。
【0052】
次に、キャリブレーション用コンピュータ220が、デジタルカメラ202に暗時のカメラ画像(マルチディスプレイ206の通常使用時の光環境下でマルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにした状態でマルチディスプレイ206の全てのカラーディスプレイ102をデジタルカメラ202で撮像した画像)を取得する処理(304)を実行させるためのコマンドを生成してデジタルカメラ202に送信する。
【0053】
なお、キャリブレーション用コンピュータ220が、マルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにして照明光の状態を通常の状態にすることを、例えば、グラフィカルユーザインターフェース(GUI)、テキストユーザインターフェース、あるいは他のタイプのユーザインターフェースを介してユーザに促すようにしてもよい。
【0054】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各ディスプレイ装置100の電源をオフする処理を表示駆動用コンピュータ228に要求するコマンドを生成して表示駆動用コンピュータ228に送信するようにしてもよい。
【0055】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各カラーディスプレイ102における指定された測定範囲から獲得した暗時カメラ画像から暗時カメラR(レッド)代表値、暗時カメラG(グリーン)代表値、および暗時カメラB(ブルー)代表値を抽出するようにしてもよい。
【0056】
また、上記の代表値は、指定された測定範囲内における対応する全ての値の平均値であってもよい。
【0057】
なお、本実施形態では、上記の代表値を決定する前に、カメラの非線形性の補正を行う。
【0058】
図4は、カラーディスプレイ102a〜102dに対する測定範囲の設定方法の一例を示す説明図である。図4に示すように、各カラーディスプレイ102a〜102dについて、測定範囲410,412,414,416が設定される。図4の例では、各測定範囲は、対応するカラーディスプレイ102の中央部に位置する円形の範囲に設定されている。
【0059】
図5は、カラーディスプレイ102a〜102dに対する測定範囲の設定方法の他の例を示す説明図である。この図に示す例では、マルチディスプレイ206を構成する各カラーディスプレイ102a〜102dについて測定範囲510,512,514,516が設定されている。各測定範囲510は、対応するカラーディスプレイ102におけるマルチディスプレイ206の中央部に隣接する角部に四角形の範囲で設定されている。なお、測定範囲の設定方法は図4および図5に示した例に限定されるものではない。
【0060】
なお、キャリブレーション用コンピュータ220が、暗時カメラ画像あるいは当該マルチディスプレイの他の画像から測定範囲内に位置するカメラ画像の画素のRGB値を抽出する処理を容易に行うために、測定範囲識別情報を記憶するようにしてもよい。上記の測定範囲識別情報は、測定範囲に属する画素の画素値を第1固定値に設定し、測定範囲以外の画素の画素値を第2固定値に設定したマスク画像を含むものであってもよい。また、上記測定範囲識別情報は、測定範囲の位置を画像内の位置を容易に特定できるパラメータを用いて記述したもの(例えば、円の中心位置と半径とによって記述したものなど)であってもよい。
【0061】
キャリブレーション用コンピュータ220は、暗時カメラ画像を取得(304)した後、図3に示したように、カメラキャイブレーション(306)、およびディスプレイキャリブレーション(308)を行う。
【0062】
図6は本実施形態にかかるキャリブレーション方法の変形例を示す説明図である。この図に示す例では、キャリブレーション用コンピュータ220は、暗時カメラ画像を取得(602)した後、暗時カメラ画像における反射光の検出、すなわちマルチディスプレイの画像に含まれる環境光あるいは発光体から入射する光の反射光を検出する処理を行う(604)。反射光の検出方法は特に限定されるものではなく、従来から公知の方法を用いることができる。
【0063】
その後、キャリブレーション用コンピュータ220は、検出された反射光の位置に基づいて、測定範囲内に反射光が存在するか否かを判断する(606)。
【0064】
測定範囲内に反射光が存在すると判断した場合(608)、キャリブレーション用コンピュータ220は、ユーザに画像の調整を行わせるための通知および/または指示を行う。上記の画像の調整としては、例えば、(i)デジタルカメラの移動、(ii)反射光を生成している物(例えば光源あるいは他の反射光生成物)の遮蔽、電源オフ、あるいは移動、(iii)測定範囲の反射光を含まない位置への移動、あるいは(iv)その他の画像調整などが挙げられる。
【0065】
その後、キャリブレーション用コンピュータ220は、所望する暗時カメラ画像が得られるまで暗時カメラ画像の取得(602)、および反射光の検出(604)を継続する。
【0066】
所望する暗時カメラ画像が得られたら(612)、キャリブレーション用コンピュータ220は、カメラキャリブレーション(614)、およびディスプレイキャリブレーション(616)を実行する。
【0067】
図7は本実施形態にかかるキャリブレーション方法のさらに他の変形例を示す説明図である。図7に示す例では、キャリブレーション用コンピュータ220、暗時カメラ画像を取得(702)した後、マルチディスプレイの画像に生じる環境光または発光体から入射する光の反射光の検出(704)を行う。反射光の検出方法としては、従来から公知の方法を用いることができる。
【0068】
その後、キャリブレーション用コンピュータ220は、検出された反射光の位置に基づいて、測定範囲内に反射光が存在するか否かを判断する(706)。
【0069】
測定範囲内に反射光が存在すると判断した場合(708)、キャリブレーション用コンピュータ220は、反射光が含まれる位置にカメラデータを合成する(710)。例えば、反射光が含まれている領域にその近傍の反射光が含まれていない領域の画像を上記カメラデータとして合成する。
【0070】
カメラデータの合成(710)を行った後、あるいは反射光が測定範囲に含まれないと判断した場合(716)、キャリブレーション用コンピュータ220は、カメラキャリブレーション(712)、およびディスプレイキャリブレーション(714)を実行する。
【0071】
この変形例では、画像中の反射光が含まれる部分はその後の処理では無視される。
【0072】
(1−3−2.カメラキャリブレーション処理)
図8は、カメラキャリブレーションの方法を示す説明図である。
【0073】
まず、キャリブレーション用コンピュータ220は、カメラキャリブレーション用の複数のカラーパッチのうち、次に処理するカラーパッチを、環境と熱平衡になるまで十分にウォームアップさせた各カラーディスプレイ102に表示させる(802)。
【0074】
本実施形態では、各カラーディスプレイ102の測定範囲410,412,414,416に8つのカラーパッチを順に表示させる。また、本実施形態では、上記の8つのカラーパッチとして、RGBカラー立方体の各角部に相当する8色(ブラック、ホワイト、レッド、グリーン、ブルー、シアン、マゼンタ、およびイエロー)に応じたカラーパッチを用いる。
【0075】
なお、変形例として、RGB色立方体からサンプリングされる直線で囲まれた形状(例えば5×5×5など)に対応する色をカラーパッチとして用いてもよい。また、さらに他の変形例として、カメラキャリブレーション用の複数のカラーパッチとして、ブラック(黒色点)からホワイト(白色点)までのグレーライン(R=G=B)のサンプリングに応じた複数のカラーパッチを用いてもよい。また、上記のグレーラインのサンプリングは、均等なサンプリングであってもよく、非均等なサンプリングであってもよい。これらの変形例により、カメラキャリブレーション用の代替のカラーパッチの色が得られる。
【0076】
次に、キャリブレーション用コンピュータ220は、各測定範囲を測定するための位置に正確に設置された色測定装置218(例えば測色器、分光放射計、あるいはディスプレイの色出力を測定するための他の器具)によって測定されたCIE XYZ値(XYZ値とも言う)を取得する(804)。
【0077】
なお、本実施形態では、色測定装置218によって測定された上記XYZ値を、
XYZ(i,i)measured
として表す。ここで、(i,j)はi番目のディスプレイにおけるj番目のカラーパッチであることを示す。また、XYZ(i,i)measuredは、色測定装置218によって得られたX,Y,Zの3成分ベクトルを含んでいる。
【0078】
上記の3成分カラーベクトルにおける3つの成分は、例えば、RGBベクトルにおけるR成分、G成分、およびB成分であってもよく、CIE XYZベクトルにおけるX成分、Y成分、およびZ成分であってもよい。上記のR成分、G成分、およびB成分からなる値をRGB値と称し、上記のX成分、Y成分、およびZ成分からなる値をXYZ値と称する。
【0079】
次に、キャリブレーション用コンピュータ220は、マルチディスプレイ206を構成する各カラーディスプレイ102の測定範囲にカラーパッチが表示されている状態のマルチディスプレイ206のカラーパッチ画像を取得する(806)。
【0080】
また、キャリブレーション用コンピュータ220は、各カラーディスプレイ102の測定範囲についての代表値(カメラ代表値)を抽出する(808)。
【0081】
本実施形態では、上記代表値として、測定範囲内の各画素のR(レッド)値,G(グリーン)値,およびB(ブルー)値の平均値をカラーパッチ画像から抽出する。
【0082】
次に、キャリブレーション用コンピュータ220は、抽出した代表値に対して、
RGB(i,j)CDC=RGB(i,j)CP−RGB(i,j)CD
に基づいて暗時補正を施す(810)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。すなわち、キャリブレーション用コンピュータ220は、カラーパッチ画像から抽出したカメラRGB代表値(カメラ代表値)から暗時カメラRGB平均値(暗時カメラ値)を減算することにより、カメラRGB暗時補正値(カメラ暗時補正値)を算出する。
【0083】
次に、キャリブレーション用コンピュータ220は、カメラキャリブレーション用の複数のカラーパッチの全てについて、表示、色測定、およびカラーパッチ画像の取得を行ったか否かを判断する(812)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0084】
表示すべきカラーパッチが残っている場合(814)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(802)、全てのカラーパッチについて上述した処理が完了するまで(816)、同様の処理を繰り返す。
【0085】
その後、キャリブレーション用コンピュータ220は、マルチディスプレイ内の各カラーディスプレイについてカメラキャリブレーションモデル(カメラキャリブレーション関数)を算出する(818)。
【0086】
各カラーディスプレイについてのカメラキャリブレーションモデルは、カメラRGB暗時補正値をカメラモデルXYZ算出値に変換するものであってもよい。
【0087】
一般的なカメラキャリブレーションモデルは、
XYZ(i)C=F(i)CM(RGB(i)CDC)
で表される。ここで、RGB(i)CDCは、i番目のディスプレイに対応するカメラRGB暗時補正値の3つの要素ベクトルである。また、XYZ(i)Cは、i番目のディスプレイに対応するカメラモデルXYZ算出値の3つの要素ベクトルである。また、F(i)CMは一般的なカメラキャリブレーションモデル関数である。
【0088】
本実施形態では、3×3のマトリクスからなるカメラキャリブレーションモデル関数を用いる。なお、i番目のディスプレイについての上記カメラキャリブレーションモデル関数はM(i)CMとして示される。
【0089】
この場合、カメラキャリブレーションモデルは、
XYZ(i)C=M(i)CMRGB(i)CDC
で表される。なお、M(i)CMは、以下のように示すこともできる。
【0090】
【数1】
【0091】
ここで、NCはカメラキャリブレーション用カラーパッチの番号を示している。X(i,j)measured、Y(i,j)measured、およびZ(i,j)measuredは、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)measuredにおけるX,Y,Zの値をそれぞれ示している。R(i,j)CDC、G(i,j)CDC、およびB(i,j)CDCは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)CDCにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0092】
なお、上記M(i)CMを算出するために回帰法(regression methods)を用いてもよい。また、上記カメラキャリブレーションモデルは必ずしも線形モデルでモデル化する必要はなく、一般的なカメラキャリブレーションモデル関数F(i)CMを用いてもよい。
【0093】
カメラキャリブレーションを実行し、各カラーディスプレイについてのカメラキャリブレーションモデルを算出した後、ディスプレイキャリブレーションを行う。
【0094】
(1−3−3.ディスプレイキャリブレーション処理)
図9Aおよび図9Bは、本実施形態にかかるディスプレイキャリブレーションの方法を示す説明図である。
【0095】
まず、キャリブレーション用コンピュータ220は、マルチディスプレイ206の各カラーディスプレイ102を環境と熱平衡になるまで十分にウォームアップさせ、当該各カラーディスプレイ102に複数のディスプレイキャリブレーション用のカラーパッチのうち次に処理するカラーパッチを表示させる(902)。
【0096】
本実施形態では、各カラーディスプレイにおける当該カラーディスプレイについての測定範囲に12個のカラーパッチを順に表示させる。上記の12個のカラーパッチのうちの9個のカラーパッチは、ブラック(黒色点)からホワイト(白色点)までのグレーライン(R=G=B)のサンプルに対応している。グレーラインのサンプルは、均等であってもよく不均等であってもよい。残りの3個のカラーパッチは、ディスプレイにおけるR,G,Bの各原色についての最大信号値である。
【0097】
次に、キャリブレーション用コンピュータ220は、マルチディスプレイ206を構成する各カラーディスプレイ102にカラーパッチが表示されている状態のマルチディスプレイ206のカラーパッチ画像を取得する(904)。
【0098】
また、キャリブレーション用コンピュータ220は、各カラーディスプレイ102の測定範囲についての代表値(カメラ代表値)を抽出する(906)。
【0099】
本実施形態では、カラーパッチ画像から測定範囲内の各画素のR(レッド)値,G(グリーン)値,およびB(ブルー)値の平均値を上記代表値として抽出する。
【0100】
次に、キャリブレーション用コンピュータ220は、抽出した代表値に対して、
RGB(i,j)CDC=RGB(i,j)CP−RGB(i,j)CD
に基づいて暗時補正を施す(908)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。すなわち、キャリブレーション用コンピュータ220は、カラーパッチ画像から抽出したカメラRGB代表値(カメラ代表値)から暗時カメラRGB平均値(暗時カメラ値)を減算することにより、カメラRGB暗時補正値(カメラ暗時補正値)を算出する。
【0101】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイ102について、予め算出したカメラキャリブレーションモデルF(i)CMをカメラRGB暗時補正値に適用し、
XYZ(i,j)C1=F(i)CM(RGB(i,j)CP−RGB(i,j)CD)
に基づいてカメラモデルXYZ算出値を算出する(910)。ここで、XYZ(i,j)C1は、初期ディスプレイキャリブレーション関数の算出工程におけるi番目のディスプレイおよびj番目のカラーパッチに対応するカメラモデルXYZ算出値の3つの要素ベクトルを示している。RGB(i,j)CPは、i番目のディスプレイの測定範囲およびj番目のカラーパッチに対応するRGB代表値の3つの要素ベクトルを示している。RGB(i,j)CDは、i番目のディスプレイにおける暗時カメラRGB値の3つの要素ベクトルを示している。したがって、(RGB(i,j)CP−RGB(i,j)CD)は、暗時カメラ補正された代表値である。
【0102】
その後、キャリブレーション用コンピュータ220は、複数のディスプレイキャリブレーション用カラーパッチの全てについて表示およびカラー画像処理を行ったか否かを判断する(912)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0103】
表示すべきカラーパッチが残っている場合(914)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(902)、全てのカラーパッチについての処理が完了するまで(916)、同様の処理を繰り返す。
【0104】
ディスプレイキャリブレーション用の複数のカラーパッチの全ての表示され、カメラ撮像画像の処理が行われてカメラモデルXYZ算出値の処理が完了した場合、キャリブレーション用コンピュータ220は、9個のグレーパッチのRGB値と対応するカメラモデルXYZ算出値のY値とを用いて各カラーディスプレイ102の非線形の応答特性を算出し(918)、ディスプレイRGB入力値から線形RGB値を算出するのに用いられるカメラのY測定値に関する1次元ディスプレイ階調応答関数を生成する(920)。
【0105】
本実施形態では、R=G=Bである9つのグレーパッチを用いて、R=G=Bである入力RGB信号に対してカメラモデルXYZ算出値のY値が線形に変化するRGB値を算出する。3つの関数(ディスプレイ階調応答関数)F(i)RL(・)、F(i)GL(・)、およびF(i)BL(・)は、同一の関数であってもよい。
【0106】
線形RGB値は、ディスプレイに対するRGB入力値に基づいて以下のように示される。
【0107】
R(i,j)L=F(i)RL(R(j)P),
G(i,j)L=F(i)GL(G(j)P),
B(i,j)L=F(i)BL(B(j)P),
ここで、R(j)P、G(j)P、およびB(j)Pは、それぞれ、j番目のカラーパッチに対応するRGB入力信号値のR値、G値、およびB値を示している。また、R(i,j)L、G(i,j)L、およびB(i,j)Lは、それぞれ、i番目のディスプレイおよびj番目のカラーパッチに対応する線形のR値、G値、およびB値を示している。
【0108】
変形例として、各カラーディスプレイ102の線形応答をXYZの3要素(3刺激値)を用いて評価してもよい。さらに他の変形例として、カメラキャリブレーション工程で色測定装置218によって測定したグレーラインに沿ったXYZ値を用いて各カラーディスプレイ102の非線形応答の評価を行ってもよい。
【0109】
次に、キャリブレーション用コンピュータ220は、カメラモデルXYZ算出値および線形ディスプレイRGB値を用いて初期ディスプレイ応答関数(初期ディスプレイキャリブレーション関数)を算出する(922)。初期ディスプレイ応答関数は、M(i)DMとして示される線形ディスプレイRGB値の3×3のマトリクスとしてモデル化される。上記モデルは、
XYZ(i)C1=M(i)DMRGB(i)L
で表される。
また、上記マトリクスM(i)DMは、
【0110】
【数2】
【0111】
で表される。ここで、NDはディスプレイキャリブレーション用カラーパッチの番号を示している。X(i,j)C1、Y(i,j)C1、およびZ(i,j)C1は、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)C1におけるX,Y,Zの値をそれぞれ示している。R(i,j)L、G(i,j)L、およびB(i,j)Lは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)LにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0112】
なお、上記M(i)DMを算出するために回帰法を用いてもよい。また、上記ディスプレイは必ずしも線形モデルでモデル化する必要はなく、一般的なディスプレイキャリブレーションモデル関数F(i)DMを用いてもよい。また、ディスプレイモデル関数F(i)DMを、nテャンネルディスプレイデバイスをより正確にモデル化したn個の初期XYZモデルによって表される色分解モデルとして定義してもよい。また、上記色分解モデルはディスプレイの製造者から知らされるものであってもよく、推定したものであってもよい。
【0113】
i番目のカラーディスプレイについてのディスプレイXYZ値は、算出された初期ディスプレイ応答F(i)DMと線形RGB値とを用いて下記式で表される。
【0114】
【数3】
【0115】
また、i番目のカラーディスプレイについての線形RGB値は、ディスプレイXYZ値を用いて下記式で表される。
【0116】
【数4】
【0117】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイについての上記の初期ディスプレイ応答関数を補正(改良)する(924)。
【0118】
図10Aおよび図10Bは、本実施形態におけるカラーディスプレイの初期ディスプレイ応答関数の補正方法を示す説明図である。本実施形態では、各ディスプレイについての目標とする白色点の色度をユーザ入力に基づいて特定する。あるいは、予め設定された白色点の色度を用いてもよい。
【0119】
キャリブレーション用コンピュータ220は、上記初期ディスプレイキャリブレーション関数の算出工程において得られた白色パッチ(R=G=B)に対応するカメラモデルXYZ発生値のY値と目標とする白色点(x,y)の色度とを組み合わせることにより、カラーディスプレイ102毎の目標白色XYZ値を得る(1002)。
【0120】
なお、上記の目標白色XYZ値は、例えばユーザが入力してもよく、予め設定された値を用いてもよい。また、上記の目標白色XYZ値は必ずしも各カラーディスプレイ102の色再現域内でなくてもよい。また、i番目のカラーディスプレイについての上記の目標白色XYZ値は、
XYZ(i)W=[X(i)WY(i)WZ(i)W]T
で表される。ここで、Tはベクトル転置演算を意味する。
【0121】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイ102についてのディスプレイ固有の白色XYZ値を用いて、特定の色空間に定義された複数の補正カラーパッチ(補正(改良)する色)についての線形RGB値を取得する(1004)。
【0122】
本実施形態では、複数のカラーパッチを知覚的に均等な色空間に定義する。具体的には、本実施形態では、Lab色空間を用いる。ただし、これに限らず、他の知覚的に均等な色空間を用いてもよく、知覚的に非均等な色空間を用いてもよい。
【0123】
本実施形態では、上記の複数の補正カラーパッチとして、47個のカラーパッチを用いる。
【0124】
上記の47個のカラーパッチのうちの15個は、a=b=0に対応する無彩色Labグレーラインを等間隔にサンプリングすることによって得られる。これらのLab座標系は、白色信号(R=G=B)に応じてディスプレイ装置によって生成されるもともとのXYZに関して算出されるのではなく、各ディスプレイについてのディスプレイ固有の目標白色XYZ値に関して算出される。
【0125】
上記の47個のカラーパッチのうちの8個は、a=10,b=0の条件下でLを等間隔でサンプリングすることによって得られる。
【0126】
上記の47個のカラーパッチのうちの8個は、a=−10,b=0の条件下でLを等間隔でサンプリングすることによって得られる。
【0127】
上記の47個のカラーパッチのうちの8個は、a=0,b=10の条件下でLを等間隔でサンプリングすることによって得られる。
【0128】
上記の47個のカラーパッチのうちの8個は、a=0,b=−10の条件下でLを等間隔でサンプリングすることによって得られる。
【0129】
i番目のカラーディスプレイについてのj番目のカラーパッチに対応する上記の線形RGB値は、
【0130】
【数5】
【0131】
で表される。
【0132】
次に、キャリブレーション用コンピュータ220は、ディスプレイに特有の目標白色点はディスプレイのもともとの白色点とは異なる場合があるので、線形RGB値が色再現域外であるか否かを調べる(1006)。
【0133】
線形RGB値が色再現域外である場合(1008)、キャリブレーション用コンピュータ220は、色再現域外の線形RGB値色再現域の境界上に変換するクリップ処理を行う(1010)。
【0134】
本実施形態では、色再現域外の線形RGB値を色の色調を実質的に保つことのできる色再現域の境界上に配置(変換)する。
【0135】
本実施形態では、上記のクリップ処理を、
【0136】
【数6】
【0137】
に基づいて行う。ここで、R(i,j)CL、G(i,j)CL、B(i,j)CLはクリップされるRGB値を示している。また、FClipは、立方体の外部の点を、立方体の表面上における立方体の中心と上記の立方体の外部の点とを結ぶ直線上の点に配置するクリッピング関数を示している。
【0138】
なお、上記FClipは、立方体の外部の点を、立方体の表面上における立方体のブラック(R=G=B=0)に対応する頂点と上記の立方体の外部の点とを結ぶ直線上の点に配置するクリッピング関数であってもよい。また、上記FClipとして、範囲外の線形RGB値を色の色調を実質的に保つことのできる上記範囲の境界に配置することのできる他の公知の関数を用いてもよい。
【0139】
次に、キャリブレーション用コンピュータ220は、色再現域内の線形RGB値(再現可能なRGB値)を、それらがクリップ処理されたもの(1010)であるかクリップ処理されていないもの(1012)であるかにかかわらず、
R(i,j)P=(F(i)RL)−1(R(i,j)CL)
G(i,j)P=(F(i)GL)−1(G(i,j)CL)
B(i,j)P=(F(i)BL)−1(B(i,j)CL)
により初期ディスプレイキャリブレーションモデルの算出処理において得られたディスプレイ階調応答関数F(i)RL,F(i)GL,F(i)BLを用いた逆演算を行うことにより(ディスプレイ階調応答特性の逆特性を用いることにより)、ディスプレイRGB値(デバイスRGB値)に変換する(1014)。なお、上記R(i,j)P、G(i,j)P、およびB(i,j)Pは、それぞれ、i番目のディスプレイにおけるj番目のカラーパッチについてのディスプレイ値(デバイス値)を示している。
【0140】
その後、キャリブレーション用コンピュータ220は、マルチディスプレイ206における各カラーディスプレイ102に次のカラーパッチを表示させ(1016)、カラーパッチ画像を取得する(1018)。
【0141】
そして、各カラーディスプレイ102の測定範囲についての代表値を抽出する(1020)。
【0142】
本実施形態では、カラーパッチカメラ画像から、カメラ画像における測定範囲内の画素のR平均値、G平均値、およびB平均値を代表値として抽出する。
【0143】
次に、キャリブレーション用コンピュータ220は、上記代表値を、
RGB(i,j)CDC=RGB(i)CP−RGB(i,j)CD
に基づいて補正する(1022)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。
【0144】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイについて、予め算出した上記カメラキャリブレーションモデルF(i)CMを、
XYZ(i,j)C2=F(i)CM(RGB(i,j)CP−RGB(i,j)CD)
に基づいてカメラRGB暗時補正値に適用し(1024)、カメラモデルXYZ算出値を算出する。ここで、XYZ(i,j)C2は、i番目のディスプレイおよびj番目のカラーパッチについての補正(改良)後のディスプレイキャリブレーション関数に対応するカメラモデルXYZ算出値の3つの要素ベクトルを示している。RGB(i,j)CPは、i番目のディスプレイの測定範囲およびj番目のカラーパッチに対応するRGB代表値の3つの要素ベクトルを示している。RGB(i,j)CDは、i番目のディスプレイにおける暗時カメラRGB値の3つの要素ベクトルを示している。したがって、(RGB(i,j)CP−RGB(i,j)CD)は、暗時カメラ補正された代表値である。
【0145】
次に、キャリブレーション用コンピュータ220は、全てのカラーパッチについて、表示、およびカラー画像処理を行ったか否かを判断する(1026)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0146】
表示すべきカラーパッチが残っている場合(1028)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(1016)、全てのカラーパッチに対する処理が完了するまで(1030)同様の処理を繰り返す。
【0147】
全てのカラーパッチが表示され、それによって取得されたカメラ画像に対して補正(改良)後のディスプレイキャリブレーション関数についてのカメラモデルXYZ算出値を取得するための処理が行われた場合(1030)、キャリブレーション用コンピュータ220は、カメラモデル発生XYZ値を用いてグレースケールの周りのディスプレイ関数のモデル化を行う(1032)。
【0148】
本実施形態では、カメラモデルXYZ算出値は不規則なので、カラーディスプレイ102に応じたXYZ値を、カラーディスプレイ102に対応する四面体に分割する。
【0149】
本実施形態では、上記四面体を形成するためにドロネーのテッセレーションアルゴリズム(Delaunay tessellation algorithm)を用いる。具体的には、MATLAB関数における「delaunayn」を用いてドロネーのテッセレーション(分割)を実行する。
【0150】
XYZで示される目標とする複数の無彩色(中間色)のそれぞれについて、当該色がカラーディスプレイ102に応じた四面体内の色であるか否かを調査する。
【0151】
上記色が上記四面体内の色の1つである場合、当該色はカラーディスプレイの色再現域内の色である。上記色が上記四面体内の色の1つではない場合、当該色はカラーディスプレイの色再現域外の色であり、当該カラーディスプレイでは表示できない色である。
【0152】
上記色がカラーディスプレイの色再現域内である場合、四面体補間(重心補間)を用いて当該色の線形RGB値を取得する。
【0153】
その後、ディスプレイ階調応答関数の逆演算を行うことにより、線形RGB値からディスプレイRGB値を取得する。
【0154】
変形例として、XYZ値を他の色空間(例えばLab色空間)に変換し、当該他の色空間の四面体を用いてもよい。
【0155】
その後、キャリブレーション用コンピュータ220は、図9Bに示したように、各カラーディスプレイ102についてのLUT(RGBガンマ1次元LUT)104を構築し(926)、それぞれのカラーディスプレイ102に読み込ませる(928)。
【0156】
次に、キャリブレーション用コンピュータ220は、図11に示すように、マルチディスプレイ206を構成する全てのカラーディスプレイ102で連帯的に達成することのできる、目標とする色度を有する最大輝度値であるマルチディスプレイ206の最大輝度値(最大マルチディスプレイ輝度値)を決定する(1102)。
【0157】
本実施形態では、色度を固定して白色点の輝度値を徐々に増加させていき、各ディスプレイについて補正(改良)後のディスプレイキャリブレーション関数を算出する際に得られたXYZ色空間(あるいは他の色空間)の四面体を用いて、当該色を各カラーディスプレイ102で再現可能であるか否かを調査することにより、上記のマルチディスプレイ206の最大輝度値を決定する。上記の輝度値を徐々に増加させていく際の開始点を、黒色点に近接している目標とする白色/グレー色度の色に対応する点としてもよい。
【0158】
変形例として、例えばディスプレイ固有の白色点の目標とする色度での輝度を色再現域外から色再現域内に入るまでグレーラインに沿って徐々に減少させていくことにより上記最大輝度値を決定してもよい。
【0159】
また、微分解析器(DDA; Digital Differential Analyzer)を用いる方法、クリッピングドライバを用いる方法、あるいは他の方法を用いてもよい。
【0160】
キャリブレーション用コンピュータ220は、上記最大輝度値を決定した後、輝度(Y)スケールをサンプリングする(1104)。本実施形態では、目標とする階調応答関数(あるいは他の目標とするディスプレイ応答曲線の形状)に応じて、ゼロから上記最大輝度値まで、LUT104に要求されるLUT104のポイント数に応じた輝度(Y)スケールをサンプリングする。
【0161】
変形例として、LUT104の総ポイント数よりも少ないポイント数だけサンプリングし、目標とするLUT104のポイント数を実現するようにサンプリングポイントに対応しないポイントの値を補間あるいは近似するようにしてもよい。
【0162】
本実施形態では、LUT104の指標は、0から1までの間に均等にマッピングされる。
【0163】
目標とする階調応答関数は、マッピングされた指標に基づいてサンプリングされ、それによってゼロからマルチディスプレイ206の最大輝度値までの間で複数のサンプル位置が設定される。
【0164】
その後、キャリブレーション用コンピュータ220は、サンプリングされた輝度値と目標とする白色点の色度と組み合わせ、各カラーディスプレイ102について補正(改良)後のディスプレイキャリブレーション関数を算出する際に得られたXYZ色空間(あるいは他の色空間)の四面体を四面体補間(重心補間)することにより、対応する線形RGB値を算出する(1106)。
【0165】
また、キャリブレーション用コンピュータ220は、算出した線形RGB値にディスプレイ階調応答関数の逆演算を適用することにより、ディスプレイRGB値を取得する(1108)。そして、キャリブレーション用コンピュータ220は、各カラーディスプレイ102についての上記ディスプレイRGB値をエントリーとするカラーディスプレイ毎のLUT104を構築する。
なお、各カラーディスプレイ102について算出した上記ディスプレイRGB値に対し、図12に示すように平滑化処理を行い、平滑化処理後のディスプレイRGB値を用いてLUT104を構築するようにしてもよい。
【0166】
(1−4.キャリブレーションシステムの変形例)
図13は、キャリブレーションシステム200の変形例であるキャリブレーションシステム200bを示す説明図である。
【0167】
デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に恒久的に固定された固定部材204bに取り付けられている。
【0168】
図13に示した例では、マルチディスプレイ206の全体をデジタルカメラ202の撮像範囲内に収めてマルチディスプレイ206の全体を1つの画像として撮像する。なお、デジタルカメラ202をパンニング等により移動させながらマルチディスプレイ206の全体を複数の部分毎に撮像し、それら各部の撮像結果を組み合わせることによりマルチディスプレイ206の全体の画像を取得するようにしてもよい。
【0169】
図13に示した例では、デジタルカメラ202は天井に固定された固定部材204bに取り付けられている。
【0170】
マルチディスプレイ206は、複数のディスプレイ装置100を備えている。また、各ディスプレイ装置100は、カラーディスプレイ102とLUT104を備えた色補正部101とを備えている。LUT104は、ディスプレイ装置100に入力されたRGB信号(入力RGB信号)を補正するために用いられ、補正後のRGB信号(補正RGB信号)に基づいてカラーディスプレイ102が駆動される。
【0171】
支持手段216は、色測定装置218(あるいはディスプレイの色出力を検出する他の装置)を、各カラーディスプレイ102a〜102dのそれぞれの色出力を個別に測定できるように支持する。
【0172】
色測定装置218としては、例えば、エックスライト社の「アイワン ディスプレイ 2(EyeOne Display 2)(登録商標)」や、データカラー社の「スパイダー 3(Spyder 3) (登録商標)」などを用いることができる。
【0173】
マルチディスプレイ206におけるディスプレイ装置100、デジタルカメラ202、および色測定装置218は、キャリブレーション用コンピュータ220に有線、無線、または他の通信手段からなる通信リンク222,224,226等を介して通信可能に接続されている。
【0174】
表示駆動用コンピュータ228は、有線、無線、または他の通信手段からなる通信リンク230を介してグラフィックデータや映像データをマルチディスプレイ206に送信し、マルチディスプレイ206を駆動する。
【0175】
表示駆動用コンピュータ228は単一のコンピュータであってもよく、複数の駆動手段と、それら各駆動手段を管理して全てのカラーディスプレイを駆動するための統合コンピュータとを備えたコンピュータシステムであってもよい。また、上記のコンピュータシステムは1または複数のセットトップボックスを備えていてもよい。
【0176】
表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは別々のコンピュータであってもよい。
【0177】
また、表示駆動用コンピュータ228とキャリブレーション用コンピュータ220とは、有線、無線、または他の通信手段からなる通信リンク232を介して互いに通信可能に接続された別々のコンピュータシステムであってもよい。
【0178】
上記の通信リンクとしては、シリアルポート、USBリンク、イーサネット(登録商標)リンク、あるいは他の有線または無線通信リンクなどを用いることができる。また、1つのコンピュータあるいはコンピュータシステムが、マルチディスプレイ206を駆動する表示駆動用コンピュータの機能と、キャリブレーション用コンピュータとしての機能とを実行する構成としてもよい。
【0179】
キャリブレーション用コンピュータ220を駆動してマルチディスプレイ全体をキャリブレーションするためのプログラムをコンピュータ読み取り可能な記録媒体に非一時的に記憶させておいてもよい。
【0180】
また、上記プログラムは、例えば、以下に示す(1)〜(7)の処理をキャリブレーション用コンピュータ220に実行させる。
(1)デジタルカメラ202にマルチディスプレイ206の画像を撮像させるためのコマンドを生成してデジタルカメラ202に送信する処理。
(2)カラーディスプレイ102a〜102dに複数色のカラーパッチのうちの特定色のカラーパッチを表示させるコマンドを生成してマルチディスプレイ206を駆動するための表示駆動用コンピュータ228に送信する処理。
(3)カラーディスプレイ102a〜102dの色の測定を実行させるためのコマンドを生成して色測定装置218に送信する処理。
(4)後に行う色測定処理のために色測定装置218の位置を移動するようにユーザに促す処理。
(5)測定データおよび画像データを収集し、マルチディスプレイ206における各カラーディスプレイ102a〜102dのカメラキャリブレーションモデルを生成する処理。
(6)デジタルカメラ202から画像データを収集し、R,G,Bの1次元ガンマ補正のためのルックアップテーブル(マルチディスプレイ206における各ディスプレイ装置100a〜100dのLUT104)の内容を構成するデータを生成する処理。
(7)マルチディスプレイ206における各カラーディスプレイ102a〜102dに対応するLUT(RGBガンマ1次元ルックアップテーブル)104をダウンロードする処理。
【0181】
図14は、キャリブレーションシステム200の他の変形例であるキャリブレーションシステム200cを示す説明図である。
【0182】
デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に恒久的に固定された固定部材204bに取り付けられている。
【0183】
図14に示した例では、マルチディスプレイ206の全体をデジタルカメラ202の撮像範囲内に収めてマルチディスプレイ206の全体を1つの画像として撮像する。なお、デジタルカメラ202をパンニング等により移動させながらマルチディスプレイ206の全体を複数の部分毎に撮像し、それら各部の撮像結果を組み合わせることによりマルチディスプレイ206の全体の画像を取得するようにしてもよい。
【0184】
図14に示した例では、デジタルカメラ202は天井に固定された固定部材204bに取り付けられている。
【0185】
マルチディスプレイ206は、複数のディスプレイ装置100によって構成されている。
【0186】
支持手段216は、色測定装置218(あるいはディスプレイの色出力を検出する他の装置)を、各カラーディスプレイ102のそれぞれの色出力を個別に測定できるように支持する。
【0187】
色測定装置218としては、例えば、エックスライト社の「アイワン ディスプレイ 2(EyeOne Display 2)(登録商標)」や、データカラー社の「スパイダー 3(Spyder 3) (登録商標)」などを用いることができる。
【0188】
マルチディスプレイ206における各カラーディスプレイ102、デジタルカメラ202、および色測定装置218は、クラウド上(ネットワーク上)で動作する、マルチディスプレイのキャリブレーションを行うキャリブレーションアプリケーション220bに有線、無線、または他の通信手段からなる通信リンク222,224,226等を介して通信可能に接続されている。
【0189】
表示駆動用コンピュータ228は、有線、無線、または他の通信手段からなる通信リンク230を介してグラフィックデータや映像データをマルチディスプレイ206に送信し、マルチディスプレイ206を駆動する。
【0190】
表示駆動用コンピュータ228は単一のコンピュータであってもよく、複数の駆動手段と、それら各駆動手段を管理して全てのカラーディスプレイを駆動するための統合コンピュータとを備えたコンピュータシステムであってもよい。また、上記のコンピュータシステムは1または複数のセットトップボックスを備えていてもよい。
【0191】
表示駆動用コンピュータ228と上記キャリブレーションアプリケーション220bとは別々のコンピュータシステムであってもよい。
【0192】
また、表示駆動用コンピュータ228と上記キャリブレーションアプリケーション220bとは、有線、無線、または他の通信手段からなる通信リンク232を介して互いに通信可能に接続された別々のコンピュータシステムであってもよい。
【0193】
上記の通信リンクとしては、シリアルポート、USBリンク、イーサネット(登録商標)リンク、あるいは他の有線または無線通信リンクなどを用いることができる。また、1つのコンピュータあるいはコンピュータシステムが、マルチディスプレイ206を駆動する表示駆動用コンピュータの機能と、マルチディスプレイのキャリブレーションを行う上記キャリブレーションアプリケーションとしての機能とを実行する構成としてもよい。
【0194】
また、マルチディスプレイは、クラウド上(ネットワーク上)で動作する表示駆動アプリケーションによって駆動されるものであってもよい。すなわち、表示駆動用コンピュータ228の機能を、クラウド上で動作するアプリケーション(クラウドサービス)によって実行してもよい。
【0195】
また、上記プログラムは、例えば、以下に示す(1)〜(7)の処理をキャリブレーション用コンピュータ220に実行させる。
(1)デジタルカメラ202にマルチディスプレイ206の画像を撮像させるためのコマンドを生成してデジタルカメラ202に送信する処理。
(2)カラーディスプレイ102a〜102dに複数色のカラーパッチのうちの特定色のカラーパッチを表示させるコマンドを生成してマルチディスプレイ206を駆動するための表示駆動用コンピュータ228に送信する処理。
(3)カラーディスプレイ102a〜102dの色の測定を実行させるためのコマンドを生成して色測定装置218に送信する処理。
(4)後に行う色測定処理のために色測定装置218の位置を移動するようにユーザに促す処理。
(5)測定データおよび画像データを収集し、マルチディスプレイ206における各カラーディスプレイ102a〜102dのカメラキャリブレーションモデルを生成する処理。
(6)デジタルカメラ202から画像データを収集し、R,G,Bの1次元ガンマ補正のためのルックアップテーブル(マルチディスプレイ206における各ディスプレイ装置100a〜100dのLUT104)の内容を構成するデータを生成する処理。
(7)マルチディスプレイ206における各カラーディスプレイ102a〜102dに対応するLUT(RGBガンマ1次元ルックアップテーブル)104をダウンロードする処理
本実施形態において、デジタルカメラ202は、マルチディスプレイ206の全体を撮像することのできる位置に恒久的に固定された固定部材204bに取り付けられていてもよい。マルチディスプレイ206の全体を撮像できるようにデジタルカメラ202を設置することにより、カメラキャリブレーションの頻度をディスプレイキャリブレーションの頻度よりも低くすることができる。
【0196】
なお、カメラキャリブレーションの頻度を、カメラのずれが生じる頻度に応じて決めてもよい。
【0197】
また、カメラキャリブレーションの頻度を、ディスプレイのずれが生じる頻度に応じて決めてもよい。
【0198】
また、ディスプレイキャリブレーションの頻度を、カメラのずれが生じる頻度に応じて決めてもよい。
【0199】
また、ディスプレイキャリブレーションの頻度を、ディスプレイのずれが生じる頻度に応じて決めてもよい。
【0200】
また、ディスプレイキャリブレーションを、ディスプレイキャリブレーションスケジュールに応じて実行するようにしてもよい。
【0201】
また、カメラキャリブレーションを、環境光の条件(マルチディスプレイの周辺の光環境)が変化したとき、反射光の変化が生じたとき、あるいはカメラモデルに影響を及ぼす他の条件が変化したときに実行するようにしてもよい。
【0202】
上記のディスプレイキャリブレーションスケジュールは、マルチディスプレイが使用されていない期間中(非画像表示期間中)にマルチディスプレイのキャリブレーションを自動的に実行するものであってもよい。
【0203】
上記のディスプレイキャリブレーションスケジュールは、予め設定された周期毎にマルチディスプレイのキャリブレーションを自動的に実行するものであってもよい。
【0204】
(1−5.キャリブレーション処理の変形例)
図15Aおよび図15Bは本実施形態のキャリブレーション方法の変形例を示す説明図である。これら各図に示す変形例では、カメラキャリブレーションおよび初期ディスプレイ応答関数の決定を、測色結果およびデジタルカメラ202によって取得したカラー画像の両方を用いて行う。
【0205】
まず、キャリブレーション用コンピュータ220は、複数のカラーパッチのうち、次に処理するカラーパッチを、環境と熱平衡になるまで十分にウォームアップさせた各カラーディスプレイ102に表示させる(1502)。
【0206】
この変形例では、各カラーディスプレイ102における当該カラーディスプレイ102についての測定範囲に12個のカラーパッチを順に表示させる。
【0207】
上記の12個のカラーパッチのうちの9個のカラーパッチは、ブラック(黒色)からホワイト(白色)までのグレーライン(R=G=B)のサンプルに対応している。グレーラインのサンプルは、均等であってもよく不均等であってもよい。残りの3個のカラーパッチは、ディスプレイにおけるR,G,Bの各原色についての最大信号値である。
【0208】
次に、キャリブレーション用コンピュータ220は、各測定範囲を測定するための位置に正確に設置された色測定装置(例えば測色器、分光放射計、あるいはディスプレイの色出力を測定するための他の器具)218によって測定されたCIE XYZ値(XYZ値、あるいは測色XYZ値とも言う)を取得する(1504)。
【0209】
なお、色測定装置218によって測定された上記XYZ値を、
XYZ(i、j)measured
として表す。ここで、(i,j)はi番目のディスプレイにおけるj番目のカラーパッチであることを示す。また、XYZ(i,j)measuredは、色測定装置218によって得られたX,Y,Zの3成分ベクトルを含んでいる。
【0210】
上記の3成分カラーベクトルにおける3つの成分は、例えば、RGBベクトルにおけるR成分、G成分、およびB成分であってもよく、CIE XYZベクトルにおけるX成分、Y成分、およびZ成分であってもよい。上記のR成分、G成分、およびB成分からなる値をRGB値と称し、上記のX成分、Y成分、およびZ成分からなる値をXYZ値と称する。
【0211】
次に、キャリブレーション用コンピュータ220は、マルチディスプレイ206を構成する各カラーディスプレイ102の測定範囲にカラーパッチが表示されている状態のマルチディスプレイ206のカラーパッチ画像を取得する(1506)。
【0212】
また、キャリブレーション用コンピュータ220は、各カラーディスプレイ102の測定範囲についての代表値を抽出する(1508)。
【0213】
本実施形態では、上記代表値として、測定範囲内の各画素のR(レッド)値,G(グリーン)値,およびB(ブルー)値の平均値をカラーパッチ画像から抽出する。
【0214】
次に、キャリブレーション用コンピュータ220は、抽出した代表値に対して、
RGB(i,j)CDC=RGB(i,j)CP−RGB(i,j)CD
に基づいて暗時補正を施す(810)。ここで、RGB(i,j)*は、i番目のディスプレイにおけるj番目のカラーパッチについてのR,G,Bの3つの要素ベクトルを示している。また、CDC、CP、およびCDは、それぞれ、カメラRGB暗時補正値、カメラRGB代表値、および暗時カメラRGB平均値を示している。
【0215】
次に、キャリブレーション用コンピュータ220は、複数のカラーパッチの全てについて、表示、色測定、およびカラーパッチ画像の取得を行ったか否かを判断する(1512)。すなわち、未処理のカラーパッチが残っているか否かを判断する。
【0216】
表示すべきカラーパッチが残っている場合(1514)、キャリブレーション用コンピュータ220は、各カラーディスプレイ102に次のカラーパッチを表示させ(1502)、全てのカラーパッチについての処理が完了するまで(1516)、同様の処理を繰り返す。
【0217】
その後、キャリブレーション用コンピュータ220は、マルチディスプレイ206内の各カラーディスプレイ102についてカメラキャリブレーションモデルを算出する(1518)。
【0218】
各カラーディスプレイ102についてのカメラキャリブレーションモデルは、カメラRGB暗時補正値をカメラモデルXYZ算出値に変換したものであってもよい。
【0219】
一般的なカメラキャリブレーションモデルは、
XYZ(i)C=F(i)CM(RGB(i)CDC)
で表される。ここで、RGB(i)CDCは、i番目のディスプレイに対応するカメラRGB暗時補正値の3つの要素ベクトルである。また、XYZ(i)Cは、i番目のディスプレイに対応するカメラモデルXYZ算出値の3つの要素ベクトルである。また、F(i)CMは一般的なカメラキャリブレーションモデル関数である。
【0220】
本実施形態では、3×3のマトリクスからなるカメラキャリブレーションモデル関数を用いる。なお、i番目のディスプレイについての上記カメラキャリブレーションモデル関数はM(i)CMとして示される。
【0221】
この場合、カメラキャリブレーションモデルは、
XYZ(i)C=M(i)CMRGB(i)CDC
で表される。なお、M(i)CMは、以下のように示すこともできる。
【0222】
【数7】
【0223】
ここで、NCはカメラキャリブレーション用カラーパッチの番号を示している。X(i,j)measured、Y(i,j)measured、およびZ(i,j)measuredは、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)measuredにおけるX,Y,Zの値をそれぞれ示している。R(i,j)CDC、G(i,j)CDC、およびB(i,j)CDCは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)CDCにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0224】
なお、上記M(i)CMを算出するために回帰法(regression methods)を用いてもよい。また、上記カメラは必ずしも線形モデルでモデル化する必要はなく、一般的なカメラキャリブレーションモデル関数F(i)CMを用いてもよい。
【0225】
カメラキャリブレーションを実行し、各カラーディスプレイについてのカメラモデルを算出した後、キャリブレーション用コンピュータ220は、ディスプレイキャリブレーションを行う。
【0226】
キャリブレーション用コンピュータ220は、9個のグレーパッチのRGB値と対応する測定Y値(色測定装置218が測定したY値)とを用いて各カラーディスプレイ102の非線形の応答特性を算出し(1520)、ディスプレイRGB入力値から線形RGB値を算出するのに用いられる測定Y値に関する1次元ディスプレイ階調応答関数を生成する(1522)。
【0227】
例えば、R=G=Bである9つのグレーパッチを用いてR=G=Bである入力グレー信号に対するディスプレイ装置の非線形の輝度(Y)応答を評価する。3つの関数F(i)RL(・)、F(i)GL(・)、およびF(i)GL(・)は、同一の関数であってもよい。
【0228】
したがって、線形RGB値は、各カラーディスプレイ102に対するRGB入力値に基づいて以下のように示される。
【0229】
R(i,j)L=F(i)RL(R(j)P),
G(i,j)L=F(i)GL(G(j)P),
B(i,j)L=F(i)BL(B(j)P),
ここで、R(i,j)L、G(i,j)L、およびB(i,j)Lは、それぞれ、i番目のディスプレイおよびj番目のカラーパッチに対応する線形のR値、G値、およびB値を示している。
【0230】
変形例として、各カラーディスプレイ102の線形応答をXYZの3要素(3刺激値)を用いて評価してもよい。
【0231】
次に、キャリブレーション用コンピュータ220は、測定XYZ値および線形ディスプレイRGB値を用いて初期ディスプレイ応答関数を算出する(1524)。初期ディスプレイ応答関数は、M(i)DMとして示される線形ディスプレイRGB値の3×3のマトリクスとしてモデル化される。
上記モデルは、
XYZ(i)measured=M(i)DMRGB(i)L
で表される。また、上記マトリクスM(i)DMは、
【0232】
【数8】
【0233】
で表される。ここで、NCはカラーパッチの番号を示している。X(i,j)measured、Y(i,j)measured、およびZ(i,j)measuredは、カラーパッチj=1,2,・・・NCについてのXYZ(i,j)measuredにおけるX,Y,Zの値をそれぞれ示している。R(i,j)L、G(i,j)L、およびB(i,j)Lは、カラーパッチj=1,2,・・・NCについてのRGB(i,j)LにおけるR,G,Bの値をそれぞれ示している。また、上記式における「/」は、例えばMATLABプログラミング言語等によって提供されるマトリクス除算関数を示している。
【0234】
なお、上記M(i)DMを算出するために回帰法(regression methods)を用いてもよい。また、上記カメラは必ずしも線形モデルでモデル化する必要はなく、一般的なカメラキャリブレーションモデル関数F(i)DMを用いてもよい。
【0235】
i番目のカラーディスプレイについてのディスプレイXYZ値は、算出された初期ディスプレイ応答M(i)DMと線形RGB値とを用いて下記式で表される。
【0236】
【数9】
【0237】
また、i番目のカラーディスプレイについての線形RGB値は、ディスプレイXYZ値を用いて下記式で表される。
【0238】
【数10】
【0239】
次に、キャリブレーション用コンピュータ220は、各カラーディスプレイ102についての初期ディスプレイ応答関数を補正する(1526)。補正方法としては、上述した図10Aおよび図10Bに示した方法を用いることができる。
【0240】
その後、キャリブレーション用コンピュータ220は、図15Bに示したように、上述した方法を用いて、各カラーディスプレイ102についてのLUT(RGBガンマ1次元LUT)104を構築し(1528)、それぞれのカラーディスプレイ102に読み込ませる(1530)。
【0241】
図16は本実施形態のキャリブレーション方法の変形例を示す説明図である。この図に示す例では、まず、キャリブレーション用コンピュータ220(あるいはマルチディスプレイキャリブレーションプログラム)は、各カラーディスプレイ102に同じRGB信号が入力された場合にそれら各カラーディスプレイ102の表示状態を均一にするためのLUT(RGBガンマ1次元ルックアップテーブル)104を初期化する(1602)。なお、上記LUT104は、必ずしも各カラーディスプレイの表示状態を均一にするためのものでなくてもよく、各カラーディスプレイに所定の表示状態を実現させるためのものであってもよい。また、必ずしも上記LUT104を初期化しなくてもよく、既知の値に設定してもよい。この場合、既知の機能に基づいて適切な補正が行われる。上記LUT104が既知であるが全ての領域から全ての範囲の値のマッピングが含まれていない場合に、上記LUT104の初期化を行ってもよい。
【0242】
次に、キャリブレーション用コンピュータ220は、デジタルカメラ202に暗時のカメラ画像(通常の光環境下でマルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにした状態でマルチディスプレイ206の全てカラーディスプレイ102をデジタルカメラで撮像した画像)を取得する処理(1604)を実行させるためのコマンドを生成し、デジタルカメラ202に送信する。
【0243】
なお、キャリブレーション用コンピュータ220が、マルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにして照明光の状態を通常の状態にすることを、例えば、グラフィカルユーザインターフェース(GUI)、テキストユーザインターフェース、あるいは他のタイプのユーザインターフェースを介してユーザに促すようにしてもよい。
【0244】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各ディスプレイ装置100の電源をオフする処理を表示駆動用コンピュータ228に要求するコマンドを生成して表示駆動用コンピュータ228に送信するようにしてもよい。
【0245】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各カラーディスプレイ102における指定された測定範囲から獲得した暗時カメラ初期画像から暗時カメラR(レッド)初期代表値、暗時カメラG(グリーン)初期代表値、および暗時カメラB(ブルー)初期代表値を抽出するようにしてもよい。また、上記の代表値は、指定された測定範囲内における対応する全ての値の平均値であってもよい。
【0246】
また、キャリブレーション用コンピュータ220が、測定範囲内に位置するカメラ画像の画素のRGB値を暗時カメラ画像あるいは当該マルチディスプレイの他の画像から抽出する処理を容易に行うために、測定範囲識別情報を記憶するものであってもよい。上記の測定範囲識別情報は、測定範囲に属する画素の画素値を第1固定値に設定し、測定範囲以外の画素の画素値を第2固定値に設定したマスク画像を含むものであってもよい。
また、上記測定範囲識別情報は、測定範囲の位置を画像内の位置を容易に特定できるパラメータを用いて記述したもの(例えば、円の中心位置と半径とによって記述したものなど)であってもよい。
【0247】
暗時カメラ初期画像を取得(1604)した後、キャリブレーション用コンピュータ220は、暗時カメラRGB初期代表値を用いてカメラキャリブレーションを実行する(1606)。
【0248】
カメラキャリブレーションを実行した後、キャリブレーション用コンピュータ220は、暗時カメラRGB更新値の取得(1608)、およびディスプレイキャリ分でーション(1610)を実行する。
【0249】
図17は本実施形態のキャリブレーション方法の他の変形例を示す説明図である。この図に示す例では、まず、キャリブレーション用コンピュータ220(あるいはマルチディスプレイキャリブレーションプログラム)は、各カラーディスプレイ102に同じRGB信号が入力された場合にそれら各カラーディスプレイ102の表示状態を均一にするためのLUT(RGBガンマ1次元ルックアップテーブル)104を初期化する(1702)。
【0250】
なお、上記LUT104は、必ずしも各カラーディスプレイ102の表示状態を均一にするためのものでなくてもよく、各カラーディスプレイ102に所定の表示状態を実現させるためのものであってもよい。また、必ずしも上記LUT104を初期化しなくてもよく、既知の値に設定してもよい。この場合、既知の機能に基づいて適切な補正が行われる。上記LUT104が既知であるが全ての領域から全ての範囲の値のマッピングが含まれていない場合に、上記LUT104の初期化を行ってもよい。
【0251】
次に、キャリブレーション用コンピュータ220は、デジタルカメラ202に暗時のカメラ画像(通常の光環境下でマルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにした状態でマルチディスプレイ206の全てカラーディスプレイ102をデジタルカメラ202で撮像した画像)を取得する処理(1604)を実行させるためのコマンドを生成してデジタルカメラ202に送信する。
【0252】
なお、キャリブレーション用コンピュータ220がは、マルチディスプレイ206を構成する各ディスプレイ装置100の電源をオフにして照明光の状態を通常の状態にすることを、例えば、グラフィカルユーザインターフェース(GUI)、テキストユーザインターフェース、あるいは他のタイプのユーザインターフェースを介してユーザに促すようにしてもよい。
【0253】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各ディスプレイ装置100の電源をオフする処理を表示駆動用コンピュータ228に要求するコマンドを生成して表示駆動用コンピュータ228に送信するようにしてもよい。
【0254】
また、キャリブレーション用コンピュータ220が、マルチディスプレイ206の各カラーディスプレイ102における指定された測定範囲から獲得した暗時カメラ初期画像から暗時カメラR(レッド)初期代表値、暗時カメラG(グリーン)初期代表値、および暗時カメラB(ブルー)初期代表値を抽出してもよい。上記の代表値は、指定された測定範囲内における対応する全ての値の平均値であってもよい。
【0255】
また、キャリブレーション用コンピュータ220が、測定範囲内に位置するカメラ画像の画素のRGB値を暗時カメラ画像あるいは当該マルチディスプレイ206の他の画像から抽出する処理を容易に行うために、測定範囲識別情報を記憶するものであってもよい。上記の測定範囲識別情報は、測定範囲に属する画素の画素値を第1固定値に設定し、測定範囲以外の画素の画素値を第2固定値に設定したマスク画像を含むものであってもよい。また、上記測定範囲識別情報は、測定範囲の位置を画像内の位置を容易に特定できるパラメータを用いて記述したもの(例えば、円の中心位置と半径とによって記述したものなど)であってもよい。
【0256】
暗時カメラ初期画像を取得(1704)した後、キャリブレーション用コンピュータ220は、暗時カメラRGB初期代表値を用いてカメラキャリブレーション、および初期ディスプレイモデルの算出を行う(1706)。
【0257】
カメラキャリブレーション、および初期ディスプレイモデルの算出を行った後、キャリブレーション用コンピュータ220は、暗時カメラRGB更新値の取得(1708)、およびディスプレイキャリブレーション(1710)を実行する。
【0258】
(1−6.実施形態1のまとめ)
以上のように、本実施形態では、まず、以下に示す(1)〜(6)の処理により、カメラキャリブレーション関数(カメラキャリブレーションモデル)を求める。
(1)各カラーディスプレイ102の電源をオフにし、通常光の状態にて各カラーディスプレイ102をデジタルカメラ202で撮像する。(なお、環境光の状態が変わり、カメラキャリブレーション関数の変更が必要な場合に再キャリブレーション(カメラキャリブレーション関数の差異算出)を行うようにしてもよい。)
(2)デジタルカメラ202の撮像画像より、R,G,Bの代表値(暗時カメラRGB代表値)を求める。
(3)各カラーディスプレイ102に複数のカラーパッチを表示させてデジタルカメラ202で撮像し、撮像画像より各カラーパッチの代表値であるカラーパッチRGB代表値(第1撮像カラーパッチの代表値)をカラーディスプレイ102毎に求める。
(4)上記各カラーディスプレイ102に表示させた複数のカラーパッチを色測定装置218で測色して色測定値(第1カラーパッチ測色値)をカラーディスプレイ102毎に取得する。
(5)各カラーディスプレイ102について、カラーパッチRGB代表値を暗時カメラRGB代表値で補正し、カラーパッチRGB補正代表値(補正カラーパッチの代表値)を求める。
(6)各カラーディスプレイ102について、カラーパッチRGB補正代表値と色測定値とを用いてデジタルカメラ202のカメラキャリブレーション関数(カメラキャリブレーションモデル)を求める。
【0259】
次に、以下に示す(1)〜(6)の処理により、初期ディスプレイキャリブレーション関数(初期ディスプレイキャリブレーションモデル)を求める。
(1)ディスプレイキャリブレーション用のカラーパッチを各カラーディスプレイ102に表示し、デジタルカメラ202で撮像を行う。
(2)撮像画像より各カラーパッチの代表値であるカラーパッチRGB代表値(第2撮像カラーパッチの代表値)を取得し、取得したカラーパッチRGB代表値を暗時RGB代表値で補正することにより、カラーパッチRGB補正代表値(第2補正カラーパッチの代表値)をカラーディスプレイ102毎に求める。
(3)カラーパッチRGB補正代表値をカメラキャリブレーション関数を用いて三刺激値XYZに変換し、カメラキャリブレーション関数XYZ算出値を取得する。
(4)グレーパッチ(R=G=B)を表示したときのカラーパッチRGB補正代表値およびカメラキャリブレーション関数XYZ算出値のY値より、1次元ディスプレイ階調応答関数を求める。
(5)1次元階調応答関数を用いて、入力RGB値に対する線形RGB値(パッチ代表値の入力RGB値に対してカメラキャリブレーション関数XYZ算出値のYの値が線形に変化するRGB値)を算出する。
(6)カメラキャリブレーション関数を用いて、カメラキャリブレーション関数XYZ算出値および線形RGB値により、視野角特性や環境光を考慮した各カラーディスプレイ102の初期応答特性(初期ディスプレイキャリブレーション関数)を求める。
【0260】
さらに、上記のように算出した各カラーディスプレイ102についての初期ディスプレイキャリブレーション関数を、以下の(1)〜(7)の処理により補正(改良)する。
(1)目標とする白色点を設定するとともに、知覚的に均等な色空間(例えばLab色空間)上に補正する色の値(カラー値)を設定する。
(2)上記色空間上に設定した上記の補正する色の値をXYZ値に変換する。
(3)初期ディスプレイキャリブレーション関数を用いて上記のXYZ値に対応する線形RGB値をカラーディスプレイ102毎に算出する。
(4)算出した線形RGB値が対応するカラーディスプレイ102の色再現域外である場合、クリップ処理を行う。
(5)クリップ処理後の線形RGB値を1次元ディスプレイ階調応答関数を用いた逆演算によりディスプレイRGB値に変換する。
(6)各カラーディスプレイ102に複数のカラーパッチを表示させてデジタルカメラ202で撮像し、撮像画像より各カラーパッチの代表値であるカラーパッチRGB代表値し、カラーパッチRGB代表値を暗時カメラRGB代表値で補正してカラーパッチRGB補正代表値を算出する。算出したカラーパッチRGB補正代表値をカメラキャリブレーション関数を用いてカメラキャリブレーション関数XYZ算出値に変換する。変換した各カメラキャリブレーション関数XYZ算出値を四面体に分割し、複数の無彩色(グレー)が含まれる四面体を特定する。
(7)無彩色が四面体に含まれる場合、四面体補間を用いて当該無彩色に対応する線形RGB値を求め(ターゲットとなるグレーライン上の各点のディスプレイRGB値を四面体補間により算出し)、LUT104を構築する。
【0261】
このように構築したLUT104を用いてディスプレイのキャリブレーションを行うことにより、ディスプレイの角度依存性(視野角特性)を改善することができる。
【0262】
すなわち、2次元撮像装置では、カメラの画角のセンターとディスプレイのセンターとを合わせても、中心から遠くに行くに従ってディスプレイの角度依存性に起因する色の変化が発生してしまう。特に、マルチディスプレイを構成するディスプレイの個数(例えば5×5等)が多い場合やマルチディスプレイ全体のサイズが大きい場合などには、カメラの中心とマルチディスプレイの中心とを合わせるのが困難であり、角度による影響が大きくなる。また、カメラの撮像方向が各ディスプレイの表示面に対して平行に近い場合には、ディスプレイの角度依存性(視野角特性)の影響が大きくなる。
【0263】
これに対して、本実施形態によれば、上記角度依存性を補完するモデル(LUT104)をディスプレイ毎に用意しておくことができるので、当該モデルを用いて各ディスプレイのキャリブレーションを行うことにより、高精度な補正を行うことができる。
【0264】
本発明の一態様にかかるキャリブレーションシステムは、複数のディスプレイによって構成されるマルチディスプレイにおける上記各ディスプレイのキャリブレーションを行うキャリブレーションシステムであって、上記各ディスプレイのキャリブレーションを行うキャリブレーション処理部と、上記マルチディスプレイ全体の画像を撮像するデジタルカラーカメラと、上記各ディスプレイに表示される画像の色測定を行う色測定装置と、上記各ディスプレイの表示を制御する表示駆動処理部とを備え、上記キャリブレーション処理部は、上記色測定装置の色測定結果および上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するカメラキャリブレーション関数を決定する処理と、上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するディスプレイキャリブレーション関数を決定する処理と、上記ディスプレイキャリブレーション関数および上記カメラキャリブレーション関数を用いて、上記マルチディスプレイに対する入力信号値と上記各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルを上記ディスプレイ毎に決定する処理と、上記各ルックアップテーブルを当該ルックアップテーブルに対応する上記ディスプレイに読み込ませる処理とを行うことを特徴としている。
【0265】
上記の構成によれば、まず、各ディスプレイに表示される画像をデジタルカラーカメラで撮像するとともに色測定装置で色測定し、各ディスプレイについてカメラキャリブレーション関数を決定する。また、各ディスプレイに表示される画像をデジタルカメラで撮像し、各ディスプレイのディスプレイキャリブレーション関数を決定する。そして、ディスプレイキャリブレーション関数およびカメラキャリブレーション関数を用いて、マルチディスプレイに対する入力信号値と各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルをディスプレイ毎に決定する。これにより、各ディスプレイのキャリブレーション処理にカメラのキャリブレーション結果を反映させることができるので、各ディスプレイのキャリブレーションを、デジタルカラーカメラと各ディスプレイとの相対位置にかかわらず正確に行うことができる。
【0266】
また、上記カメラキャリブレーション関数を決定する処理は、上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、それぞれがカメラキャリブレーション用の複数の色のうちの1色に対応する複数のカメラキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各カメラキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像に基づいて上記ディスプレイ毎にカラーパッチRGB代表値を算出する処理と、上記色測定装置に上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイの色測定を行わせることにより、カメラキャリブレーション用の上記各色に対応する複数の色測定値を上記ディスプレイ毎に取得する処理と、上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、上記各ディスプレイについて、当該ディスプレイについての上記各カラーパッチRGB補正代表値と当該ディスプレイについての上記各色測定値とに基づいて当該ディスプレイの上記カメラキャリブレーション関数を作成する処理とを含んでいてもよい。
【0267】
上記の構成によれば、各ディスプレイに対応するカメラキャリブレーション関数を適切に作成することができる。
【0268】
また、上記ディスプレイキャリブレーション関数を決定する処理は、上記各ディスプレイに対応する初期ディスプレイキャリブレーション関数を決定する処理と、上記各初期ディスプレイキャリブレーション関数を補正することにより上記各ディスプレイに対応する各ディスプレイキャリブレーション関数を決定する処理とを含んでいてもよい。
【0269】
また、上記初期ディスプレイキャリブレーション関数を決定する処理は、複数のディスプレイキャリブレーション用の色のそれぞれに対応して上記各ディスプレイに表示される色を色測定装置により測定することで上記各ディスプレイについての複数の色測定値を取得する処理と、ディスプレイキャリブレーション用の上記各色について上記ディスプレイ毎に線形RGB値を算出することにより上記各ディスプレイについて複数の線形RGB値を生成する処理と、複数の上記線形RGB値と複数の上記色測定値とを用いて上記各ディスプレイについての上記初期モデルを算出する処理とを含んでいてもよい。
【0270】
また、上記初期ディスプレイキャリブレーション関数を決定する処理は、上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、それぞれがディスプレイキャリブレーション用の複数の色のうちの1色に対応する複数のディスプレイキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、上記ディスプレイキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各ディスプレイキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像毎にカラーパッチRGB代表値を決定することにより上記ディスプレイ毎に複数のカラーパッチRGB代表値を生成する処理と、上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、上記各カラーパッチRGB補正代表値に上記カメラキャリブレーション関数を適用することにより上記各ディスプレイ毎に複数のカメラキャリブレーション関数XYZ算出値を生成する処理と、ディスプレイキャリブレーション用の各色に対応する線形RGB値を上記ディスプレイ毎に算出することにより、上記ディスプレイ毎に複数の線形RGB値を生成する処理と、複数の上記線形RGB値と複数の上記カメラキャリブレーション関数XYZ算出値とを用いて上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を計算する処理とを含んでいてもよい。
【0271】
また、上記初期ディスプレイキャリブレーション関数を補正する処理は、第1色空間における目標とする無彩色グレースケールの周囲に複数の補正色を配置する処理と、複数の上記補正色を上記第1色空間からXYZ色空間に変換する処理と、上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を用いて、XYZ色空間に変換された複数の上記補正色から複数の線形RGB値を上記ディスプレイ毎に取得する処理と、複数の上記線形RGB値にクリッピング処理を行うことにより、上記各ディスプレイについての複数の実現可能な線形RGB値を生成する処理と、上記初期ディスプレイキャリブレーション関数を決定する処理で得られる上記各ディスプレイのディスプレイ階調応答関数の逆関数を適用することにより、上記各ディスプレイについての複数の実現可能な上記線形RGB値を複数のディスプレイRGB値に変換する処理と、上記各ディスプレイについての複数の上記ディスプレイRGB値を用いて上記各ディスプレイについての複数のカメラキャリブレーション関数XYZ算出値を取得する処理と、上記各ディスプレイについての上記カメラキャリブレーション関数XYZ算出値に対応する複数の値を、第2色空間における当該ディスプレイに対応する複数の四面体にテッセレーションする処理と、上記各ディスプレイに対応する上記複数の四面体を用いて上記ルックアップテーブルを上記ディスプレイ毎に構築する処理とを含んでいてもよい。
【0272】
また、上記ルックアップテーブルを構築する処理は、上記各ディスプレイに対応するマルチディスプレイ最大輝度値を決定する処理と、ゼロから上記マルチディスプレイ最大輝度値までの輝度スケールをサンプリングすることにより、複数の輝度値を生成する処理と、複数の上記輝度値と目標とする白色点の色度とを組み合わせる処理と、上記各ディスプレイに対応する複数の上記四面体を用いた補間処理を行うことにより、上記各ディスプレイについて複数の上記輝度値に対応する複数の線形RGB値を生成する処理と、上記初期ディスプレイキャリブレーション関数を決定する処理で得られるディスプレイ階調応答関数の逆関数を複数の上記線形RGB値に適用することにより上記各ディスプレイについて複数のディスプレイRGB値を取得する処理と、複数の上記ディスプレイRGB値を用いて上記各ディスプレイに対応する上記ルックアップテーブルを形成する処理とを含んでいてもよい。
【0273】
上記の各構成によれば、各ディスプレイに対応するディスプレイキャリブレーション関数を適切に作成することができる。
【0274】
本発明は上述した実施形態に示した具体例や用語に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0275】
本発明は、マルチディスプレイを構成する複数のカラーディスプレイのキャリブレーションを行うキャリブレーションシステムおよびキャリブレーション方法に適用できる。
【符号の説明】
【0276】
100,100a〜100d ディスプレイ装置
101,101a〜101d 色補正部
102,102a〜102d カラーディスプレイ(ディスプレイ)
104,104a〜104d LUT(ルックアップテーブル)
200,200b,200c キャリブレーションシステム
202 デジタルカメラ(デジタルカラーカメラ)
206 マルチディスプレイ
218 色測定装置
220 キャリブレーション用コンピュータ(キャリブレーション処理部)
220b キャリブレーションアプリケーション(キャリブレーション処理部)
228 表示駆動用コンピュータ(表示駆動処理部)
【特許請求の範囲】
【請求項1】
複数のディスプレイによって構成されるマルチディスプレイにおける上記各ディスプレイのキャリブレーションを行うキャリブレーションシステムであって、
上記各ディスプレイのキャリブレーションを行うキャリブレーション処理部と、
上記マルチディスプレイ全体の画像を撮像するデジタルカラーカメラと、
上記各ディスプレイに表示される画像の色測定を行う色測定装置と、
上記各ディスプレイの表示を制御する表示駆動処理部とを備え、
上記キャリブレーション処理部は、
上記色測定装置の色測定結果および上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するカメラキャリブレーション関数を決定する処理と、
上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するディスプレイキャリブレーション関数を決定する処理と、
上記ディスプレイキャリブレーション関数および上記カメラキャリブレーション関数を用いて、上記マルチディスプレイに対する入力信号値と上記各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルを上記ディスプレイ毎に決定する処理と、
上記各ルックアップテーブルを当該ルックアップテーブルに対応する上記ディスプレイに読み込ませる処理とを行うことを特徴とするキャリブレーションシステム。
【請求項2】
上記カメラキャリブレーション関数を決定する処理は、
上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、
上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、
それぞれがカメラキャリブレーション用の複数の色のうちの1色に対応する複数のカメラキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、
上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各カメラキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像に基づいて上記ディスプレイ毎にカラーパッチRGB代表値を算出する処理と、
上記色測定装置に上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイの色測定を行わせることにより、カメラキャリブレーション用の上記各色に対応する複数の色測定値を上記ディスプレイ毎に取得する処理と、
上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、
上記各ディスプレイについて、当該ディスプレイについての上記各カラーパッチRGB補正代表値と当該ディスプレイについての上記各色測定値とに基づいて当該ディスプレイの上記カメラキャリブレーション関数を作成する処理とを含むことを特徴とする請求項1に記載のキャリブレーションシステム。
【請求項3】
上記ディスプレイキャリブレーション関数を決定する処理は、
上記各ディスプレイに対応する初期ディスプレイキャリブレーション関数を決定する処理と、
上記各初期ディスプレイキャリブレーション関数を補正することにより上記各ディスプレイに対応する各ディスプレイキャリブレーション関数を決定する処理とを含むことを特徴とする請求項1に記載のキャリブレーションシステム。
【請求項4】
上記初期ディスプレイキャリブレーション関数を決定する処理は、
上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、
上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、
それぞれがディスプレイキャリブレーション用の複数の色のうちの1色に対応する複数のディスプレイキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、
上記ディスプレイキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各ディスプレイキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像毎にカラーパッチRGB代表値を決定することにより上記ディスプレイ毎に複数のカラーパッチRGB代表値を生成する処理と、
上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、
上記各カラーパッチRGB補正代表値に上記カメラキャリブレーション関数を適用することにより上記各ディスプレイ毎に複数のカメラキャリブレーション関数XYZ算出値を生成する処理と、
ディスプレイキャリブレーション用の各色に対応する線形RGB値を上記ディスプレイ毎に算出することにより、上記ディスプレイ毎に複数の線形RGB値を生成する処理と、
複数の上記線形RGB値と複数の上記カメラキャリブレーション関数XYZ算出値とを用いて上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を計算する処理とを含むことを特徴とする請求項3に記載のキャリブレーションシステム。
【請求項5】
上記初期ディスプレイキャリブレーション関数を補正する処理は、
第1色空間における目標とする無彩色グレースケールの周囲に複数の補正色を配置する処理と、
複数の上記補正色を上記第1色空間からXYZ色空間に変換する処理と、
上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を用いて、XYZ色空間に変換された複数の上記補正色から複数の線形RGB値を上記ディスプレイ毎に取得する処理と、
複数の上記線形RGB値にクリッピング処理を行うことにより、上記各ディスプレイについての複数の実現可能な線形RGB値を生成する処理と、
上記初期ディスプレイキャリブレーション関数を決定する処理で得られる上記各ディスプレイのディスプレイ階調応答関数の逆関数を適用することにより、上記各ディスプレイについての複数の実現可能な上記線形RGB値を複数のディスプレイRGB値に変換する処理と、
上記各ディスプレイについての複数の上記ディスプレイRGB値を用いて上記各ディスプレイについての複数のカメラキャリブレーション関数XYZ算出値を取得する処理と、
上記各ディスプレイについての上記カメラキャリブレーション関数XYZ算出値に対応する複数の値を、第2色空間における当該ディスプレイに対応する複数の四面体にテッセレーションする処理と、
上記各ディスプレイに対応する上記複数の四面体を用いて上記ルックアップテーブルを上記ディスプレイ毎に構築する処理とを含むことを特徴とする請求項3に記載のキャリブレーションシステム。
【請求項6】
上記ルックアップテーブルを構築する処理は、
上記各ディスプレイに対応するマルチディスプレイ最大輝度値を決定する処理と、
ゼロから上記マルチディスプレイ最大輝度値までの輝度スケールをサンプリングすることにより、複数の輝度値を生成する処理と、
複数の上記輝度値と目標とする白色点の色度とを組み合わせる処理と、
上記各ディスプレイに対応する複数の上記四面体を用いた補間処理を行うことにより、上記各ディスプレイについて複数の上記輝度値に対応する複数の線形RGB値を生成する処理と、
上記初期ディスプレイキャリブレーション関数を決定する処理で得られるディスプレイ階調応答関数の逆関数を複数の上記線形RGB値に適用することにより上記各ディスプレイについて複数のディスプレイRGB値を取得する処理と、
複数の上記ディスプレイRGB値を用いて上記各ディスプレイに対応する上記ルックアップテーブルを形成する処理とを含むことを特徴とする請求項5に記載のキャリブレーションシステム。
【請求項1】
複数のディスプレイによって構成されるマルチディスプレイにおける上記各ディスプレイのキャリブレーションを行うキャリブレーションシステムであって、
上記各ディスプレイのキャリブレーションを行うキャリブレーション処理部と、
上記マルチディスプレイ全体の画像を撮像するデジタルカラーカメラと、
上記各ディスプレイに表示される画像の色測定を行う色測定装置と、
上記各ディスプレイの表示を制御する表示駆動処理部とを備え、
上記キャリブレーション処理部は、
上記色測定装置の色測定結果および上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するカメラキャリブレーション関数を決定する処理と、
上記デジタルカラーカメラの撮像結果を用いて上記ディスプレイ毎に当該ディスプレイに対応するディスプレイキャリブレーション関数を決定する処理と、
上記ディスプレイキャリブレーション関数および上記カメラキャリブレーション関数を用いて、上記マルチディスプレイに対する入力信号値と上記各ディスプレイに対する出力信号値とを対応付けたルックアップテーブルを上記ディスプレイ毎に決定する処理と、
上記各ルックアップテーブルを当該ルックアップテーブルに対応する上記ディスプレイに読み込ませる処理とを行うことを特徴とするキャリブレーションシステム。
【請求項2】
上記カメラキャリブレーション関数を決定する処理は、
上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、
上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、
それぞれがカメラキャリブレーション用の複数の色のうちの1色に対応する複数のカメラキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、
上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各カメラキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像に基づいて上記ディスプレイ毎にカラーパッチRGB代表値を算出する処理と、
上記色測定装置に上記カメラキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイの色測定を行わせることにより、カメラキャリブレーション用の上記各色に対応する複数の色測定値を上記ディスプレイ毎に取得する処理と、
上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、
上記各ディスプレイについて、当該ディスプレイについての上記各カラーパッチRGB補正代表値と当該ディスプレイについての上記各色測定値とに基づいて当該ディスプレイの上記カメラキャリブレーション関数を作成する処理とを含むことを特徴とする請求項1に記載のキャリブレーションシステム。
【請求項3】
上記ディスプレイキャリブレーション関数を決定する処理は、
上記各ディスプレイに対応する初期ディスプレイキャリブレーション関数を決定する処理と、
上記各初期ディスプレイキャリブレーション関数を補正することにより上記各ディスプレイに対応する各ディスプレイキャリブレーション関数を決定する処理とを含むことを特徴とする請求項1に記載のキャリブレーションシステム。
【請求項4】
上記初期ディスプレイキャリブレーション関数を決定する処理は、
上記マルチディスプレイの通常使用時の光環境下において上記各ディスプレイの電源をオフにした状態で上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記マルチディスプレイの暗時カメラ画像を取得する処理と、
上記暗時カメラ画像から上記各ディスプレイに対応する暗時カメラRGB代表値を決定する処理と、
それぞれがディスプレイキャリブレーション用の複数の色のうちの1色に対応する複数のディスプレイキャリブレーション用カラーパッチ画像を上記各ディスプレイに1色ずつ順次表示させる処理と、
上記ディスプレイキャリブレーション用カラーパッチ画像が表示されている上記各ディスプレイを含む上記マルチディスプレイ全体の画像を上記デジタルカラーカメラで撮像することにより上記各ディスプレイキャリブレーション用カラーパッチ画像に対応する複数のカラーパッチ画像を取得し、それら各カラーパッチ画像毎にカラーパッチRGB代表値を決定することにより上記ディスプレイ毎に複数のカラーパッチRGB代表値を生成する処理と、
上記各ディスプレイについての上記カラーパッチRGB代表値を当該ディスプレイについての上記暗時カメラRGB代表値に基づいて補正することにより、上記各ディスプレイについてのカラーパッチRGB補正代表値を算出する処理と、
上記各カラーパッチRGB補正代表値に上記カメラキャリブレーション関数を適用することにより上記各ディスプレイ毎に複数のカメラキャリブレーション関数XYZ算出値を生成する処理と、
ディスプレイキャリブレーション用の各色に対応する線形RGB値を上記ディスプレイ毎に算出することにより、上記ディスプレイ毎に複数の線形RGB値を生成する処理と、
複数の上記線形RGB値と複数の上記カメラキャリブレーション関数XYZ算出値とを用いて上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を計算する処理とを含むことを特徴とする請求項3に記載のキャリブレーションシステム。
【請求項5】
上記初期ディスプレイキャリブレーション関数を補正する処理は、
第1色空間における目標とする無彩色グレースケールの周囲に複数の補正色を配置する処理と、
複数の上記補正色を上記第1色空間からXYZ色空間に変換する処理と、
上記各ディスプレイに対応する上記初期ディスプレイキャリブレーション関数を用いて、XYZ色空間に変換された複数の上記補正色から複数の線形RGB値を上記ディスプレイ毎に取得する処理と、
複数の上記線形RGB値にクリッピング処理を行うことにより、上記各ディスプレイについての複数の実現可能な線形RGB値を生成する処理と、
上記初期ディスプレイキャリブレーション関数を決定する処理で得られる上記各ディスプレイのディスプレイ階調応答関数の逆関数を適用することにより、上記各ディスプレイについての複数の実現可能な上記線形RGB値を複数のディスプレイRGB値に変換する処理と、
上記各ディスプレイについての複数の上記ディスプレイRGB値を用いて上記各ディスプレイについての複数のカメラキャリブレーション関数XYZ算出値を取得する処理と、
上記各ディスプレイについての上記カメラキャリブレーション関数XYZ算出値に対応する複数の値を、第2色空間における当該ディスプレイに対応する複数の四面体にテッセレーションする処理と、
上記各ディスプレイに対応する上記複数の四面体を用いて上記ルックアップテーブルを上記ディスプレイ毎に構築する処理とを含むことを特徴とする請求項3に記載のキャリブレーションシステム。
【請求項6】
上記ルックアップテーブルを構築する処理は、
上記各ディスプレイに対応するマルチディスプレイ最大輝度値を決定する処理と、
ゼロから上記マルチディスプレイ最大輝度値までの輝度スケールをサンプリングすることにより、複数の輝度値を生成する処理と、
複数の上記輝度値と目標とする白色点の色度とを組み合わせる処理と、
上記各ディスプレイに対応する複数の上記四面体を用いた補間処理を行うことにより、上記各ディスプレイについて複数の上記輝度値に対応する複数の線形RGB値を生成する処理と、
上記初期ディスプレイキャリブレーション関数を決定する処理で得られるディスプレイ階調応答関数の逆関数を複数の上記線形RGB値に適用することにより上記各ディスプレイについて複数のディスプレイRGB値を取得する処理と、
複数の上記ディスプレイRGB値を用いて上記各ディスプレイに対応する上記ルックアップテーブルを形成する処理とを含むことを特徴とする請求項5に記載のキャリブレーションシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図10A】
【図10B】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9A】
【図9B】
【図10A】
【図10B】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図16】
【図17】
【図18】
【公開番号】特開2013−106347(P2013−106347A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2012−237198(P2012−237198)
【出願日】平成24年10月26日(2012.10.26)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成24年10月26日(2012.10.26)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]