実施形態における画像処理装置の概要、構成を説明する前に、視野角の違いによる面積効果について説明する。
最初に、本実施形態における観察対象物である被写体と、出力画像上におけるその観察対象物を示す画像である被写体画像に対する観察視野角と、の関係について図1を用いて説明する。
図1は、本実施形態に係る視野角を説明する図である。図1(a)は、観察対象物として実際の被写体を観察者が観察する例を示している。図1(b)は、観察者がプリンタで出力した出力画像における被写体画像を観察する例を示している。図1(c)は、観察者がプロジェクタで投影した出力画像における被写体画像を観察する例を示している。
図1(a)において、被写体102は被写体サイズ101を有するものとする。先に説明したように、視野角は観察対象物(ここでは被写体102)のサイズと観察者の距離とに基づいて決定されるものである。図1(a)においては観察者が被写体102を基準距離103の位置で観察する場合、被写体102を基準視野角104の大きさで見ていることになる。なお、基準距離とは、予め定められた任意の距離のことである。本実施形態では、観察者の位置にカメラ105を設置して被写体を撮像した撮像画像を取得するものとする。従って、本実施形態では、基準距離とは、被写体を撮像した際のカメラ105と被写体102との間の距離を示す。基準視野角とは、基準距離で被写体102を観察する際の視野角である。つまり、撮像画像は基準距離と被写体サイズ101とによって求まる基準視野角に対応する画像である。なお、撮像画像を撮像する際の撮像条件は、後述する撮像画像に基づいた被写体の出力サイズの算出、および、被写体または出力画像等の色を測定した値である測色値の算出が可能であればよい。
なお、被写体102の色は、撮像画像に基づいて算出してもよいし測色器107を用いて算出してもよい。測色器107を用いる場合、測定視野角106は、CIE(国際照明委員会)によって2度もしくは10度を用いることが定義されている。つまり、測定視野角106が2度もしくは10度になる位置で測色器107を用いて測色値を得る。本実施形態では、測色器107を用いる場合、測定視野角106を2度に設定して算出された測色値を用いることとする。
被写体102の色を取得するために、測色器107を用いて測定した測色値を直接入力してもよいし、または、被写体の撮像画像における画素値を、測色器107で測定した測色値へ変換する処理によって取得された測色値を用いてもよい。被写体の撮像画像における画素値に基づいて測色値を求める処理は、例えば、特開2007−208629号公報に開示されている技術を用いることにより実現される。
図1(a)に示されるように、観察者が被写体を観察するときの基準視野角104と測色器107における測定視野角106とは異なる場合が多い。この場合、面積効果の影響により、観察者が基準視野角104において知覚する色は、測色器107における測色値とは異なることになる。
次に、図1(b)は、観察者がプリンタで出力した印刷画像上の被写体を示す被写体画像を観察する場合の例を示す。この被写体画像は図1(a)の被写体102を撮像した画像である。例えば、ポスターやカタログのような印刷物においては、被写体画像が、実際の被写体のサイズと等倍で再現されるとは限らない。具体的には、印刷画像108上において出力サイズ109に再現された被写体画像110から観察距離111の位置で観察者112が被写体画像110を観察する場合、被写体画像110を観察視野角113の大きさで見ていることになる。なお、観察距離とは、予め定められた任意の距離のことである。本実施形態では、印刷画像や後述する投影画像のような出力画像における被写体画像110と観察者との間の距離のことである。ここでは被写体画像110と観察者との間の距離として説明しているが、出力画像と観察者との間の距離としてもよい。観察視野角とは、観察距離111で被写体画像110を観察する際の視野角である。つまり、被写体画像110は、観察距離111と出力サイズ109とによって求まる観察視野角に対応する画像である。
図1(c)は、出力画像がプロジェクタの投影画像であった場合に、観察者が投影画像上の被写体画像を観察する場合の例を示す。なお、図1(b)と図1(c)とにおいては観察距離や観察視野角に同じ符号を割り当てているが、これは同じ概念を示す趣旨で用いているものであり、図1(b)と図1(c)における観察距離や観察視野角が等しいことを表す趣旨ではない。もちろん、図1(b)と図1(c)における観察距離や観察視野角が等しくてもよい。図1(b)または(c)に示されるように、観察者112が被写体102を観察する基準視野角104と出力画像上の被写体画像110の色を観察する観察視野角113の大きさが異なる場合、観察者112が知覚する色は面積効果の影響により異なる。
上記のように、観察視野角に応じて明度および彩度が変化するため、忠実な色の再現を実現するには、面積効果を考慮する必要がある。
(実施形態1)
実施形態1は、観察対象物を実際に観察する際の視野角と、出力画像上におけるその観察対象物を示す画像を観察する場合の視野角と、に基づいて出力画像における被写体領域の色を補正する形態に関するものである。つまり、第1の観察対象物として実際の観察対象物を用い、第2の観察対象物として出力画像における被写体画像を用いる形態を説明する。
実施形態1における画像処理装置の概要、構成について、図2を参照しながら説明する。図2は、本実施形態に係る画像処理装置の概略、構成を説明するブロック図である。本実施形態に係る画像処理装置は、CPU201を備えている。CPU201は、ROM202が記憶する制御プログラム、オペレーティングシステム、アプリケーションプログラム、デバイスドライバ等に従って制御を行なう。すなわちCPU201は、RAM203、操作部204、演算処理部205、モニタ206、入力機器207、出力機器208の制御を行う。
RAM203は、各種制御プログラムや操作部204から入力されるデータの作業領域および一時待避の領域である。操作部204は、入力機器207や出力機器208等へのデータ入力を行う。演算処理部205は、本実施形態における面積効果に起因する色補正の演算処理を行う。モニタ206は、演算処理部205の処理結果や操作部204で入力されたデータ等を表示する。入力機器207には撮像装置や測色器107が含まれ、出力機器208には画像を出力するプリンタ等が含まれる。また、出力機器208が、モニタ206に相当する場合もある。
図3は、本実施形態に係る画像処理装置の演算処理部205において構成される色補正処理部301を説明するブロック図である。図3を用いて、観察する視野角に応じた色補正処理におけるブロック構成について説明する。
演算処理部205は、視野角に対応して色補正処理を行う色補正処理部301を備え、入力機器207に含まれる撮像装置は、被写体を撮像する被写体撮像部302を備えている。色補正処理部301は、撮像画像格納部303、被写体サイズ取得部304、基準距離設定部305、基準視野角算出部306、被写体領域抽出部307、被写体色取得部308を備えている。色補正処理部301は、また、出力レイアウト画像データ格納部309、被写体出力サイズ取得部310、観察距離設定部311、観察視野角算出部312を備えている。さらに、色補正処理部301は、色補正データ格納部313、色補正部314、画像補正部315、出力デバイスプロファイル格納部316を備えている。
被写体撮像部302によって被写体を撮像して得られた撮像画像は、撮像画像格納部303に格納される。被写体サイズ取得部304は、撮像画像および撮像条件(合焦距離、倍率等)に基づき、観察対象物である被写体の実際のサイズWおよび撮像距離を算出して取得する。ここで、撮像画像および撮像条件(合焦距離、倍率等)から被写体の大きさを求める処理については、例えば、特開2009−198951号公報に開示されている技術を用いることにより実現される。ここで、被写体のサイズとは、後述の被写体領域抽出部307によって被写体領域として抽出された領域のサイズであるものとする。
本実施形態における視野角の一例として、観察対象が矩形である場合を想定し、その対角線の幅を被写体サイズW、被写体サイズWを観察者112が見る角度を視野角であると定義する。ただし、被写体は必ずしも矩形であるとは限らないため、被写体の形状に応じて最適な視野角を求めるための被写体サイズ101を任意に設定することもできる。
基準距離設定部305は、観察者112が被写体を観察する距離を基準距離Dとして設定する。本実施形態では、基準距離として被写体の撮像距離を適用するものとする。つまり、観察者112の被写体に対する位置が撮像装置の位置と同じであるものとする。
基準視野角算出部306は、被写体のサイズWおよび観察者112による基準距離Dから下記の式1を用いて観察者112の位置における実際の被写体の視野角である基準視野角104の角度θを算出する。
θ = 2tan^-1(W/(2D)) ・・・(式1)
被写体領域抽出部307は、被写体の撮像画像および出力画像から被写体領域(被写体画像)を切り抜く。前述の被写体サイズ取得部304は切り抜きされた被写体領域を用いて被写体のサイズを取得する。被写体色取得部308は、撮像画像の画素値を測色値に変換する処理によって、被写体領域抽出部307が撮像画像から切り抜いた被写体領域の画素における測色値を取得する。
出力レイアウト画像データ格納部309は、撮像画像から切り抜いた被写体領域を出力画像上に配置した出力レイアウト画像データを格納する。本実施形態では、Adobe photoshopに代表される画像編集アプリケーションによって生成されたデータのような出力画像となる画像データを出力レイアウト画像データと呼ぶ。Adobe photoshopにおけるデータは、レイヤー画像と呼ばれる複数の画像を重ねあわせることで一つの画像データを形成するという特徴がある。本実施形態では1つの出力レイアウト画像データを構成する複数のレイヤー画像の中に、被写体の撮像画像から切り抜かれた被写体部分の画像が含まれるレイヤー画像があるものとする。
被写体出力サイズ取得部310は、出力レイアウト画像データから、実際に出力する出力画像における被写体部分の出力サイズ109を算出して取得する。ここで、出力サイズ109の算出方法を以下に示す。
まず、出力レイアウト画像データの出力解像度と出力画像の縦横の各画素数、もしくは出力画像を印刷する用紙サイズを取得することによって、印刷画像108における実際の縦横のサイズWPP、WLPを取得する。次に、出力レイアウト画像データの縦横における各画素数NPP、NLPと、被写体領域抽出部307によって抽出された出力画像中の被写体領域における縦横の各画素数NPT、NLTとにおける比率NPT/NPP、NLT/NLPを求める。印刷画像108を実際に出力するサイズに求めた比率を積算し、出力画像上の被写体領域の縦横のサイズWPP・NPT/NPP、WLP・NLT/NLPを求めることによって、実際の出力画像における被写体サイズWtを(式2)によって算出する。
Wt=√[{WPP(NPT/NPP)}・{WPP(NPT/NPP)}+{WLP(NLT/NLP)}・{WLP(NLT/NLP)] ・・・(式2)
観察距離設定部311は、観察者112が出力画像上の被写体部分を観察する距離を観察距離D1として設定する。観察距離は、観察者112が出力画像上の被写体部分を観察する観察視野角を定義するために用いられる。
観察視野角算出部312は、出力画像上の被写体領域のサイズWtおよび観察者112による観察距離D1を式1に適用する。観察距離D1を適用した後、観察視野角算出部312は、観察者112における出力画像上の被写体領域の観察視野角113の角度θ1を基準視野角104の角度θと同様に算出する。
このように、それぞれ算出された基準視野角104と観察視野角113とを用いることで、後述するように視野角の違いに起因する色の見え方の違いを適切に補正することができる。
色補正データ格納部313は、視野角の変化に対応する色度の補正パラメータを格納している。色度は彩度や明度を含むものである。補正パラメータについては後述する。色補正部314は、基準視野角104と被写体の測色値と観察視野角113とに基づいて、色補正データ格納部313に格納された補正パラメータを参照し、出力画像上の被写体の再現色度値を算出する。画像補正部315は、出力レイアウト画像データ上の被写体領域の画素の画素値を補正する。すなわち、画像補正部315は、色補正部314で算出した再現色度値を再現するように、出力デバイスプロファイルを参照して画像の画素値を変換する。ここで、出力デバイスプロファイルは、色度値を入力インデックスとし、出力デバイスの画素値を出力するルックアップテーブルである。出力デバイスプロファイル格納部316は、出力デバイスによって出力される画像において再現される色度値と画素値との対応関係について記述したデータからなるプロファイルを格納している。出力機器208が備える画像出力部317は、補正された画像データを出力する。
次に、観察者112が実際に図1の基準視野角104において被写体102を観察した色を出力画像上の被写体の色として再現する際の、観察視野角に応じた被写体の色補正処理方法について説明する。
図4は、本実施形態における色補正データ格納部313のメモリ構成401を説明する図である。色補正データ格納部313には、図4に示すような視野角に応じた明度補正パラメータおよび彩度補正パラメータが補正パラメータとして保持されている。ここで、補正パラメータとは、視野角に応じて彩度および明度を補正するためのパラメータである。明度補正パラメータは各明度に対応する補正係数を記述した明度補正テーブルを指し、彩度補正パラメータは彩度によらず一定の係数を指す。また、視野角に対応する補正パラメータが色補正データ格納部313に存在しない場合、他の視野角の補正パラメータの補間演算によって対応する補正パラメータを算出して生成することができる。上記補正パラメータは、図4に示す形式に限定する必要は無く、例えば色相ごとに補正係数を持っていてもよい。さらに、補正パラメータを用いずに視野角に関わる変数を持つ色変換関数でもよく、当該関数を補正パラメータに代わって保持する形態であってもよい。
図5は、本実施形態に係る色補正パラメータの一例を説明する図である。図5(a)は、任意の視野角における補正パラメータの明度の曲線についての一例を示している。図5(b)は、任意の視野角における補正パラメータの彩度の直線についての一例を示している。
図5(a)において、横軸および縦軸は2度視野角における明度の軸である。先に説明したように、2度視野角は測定視野角106のことである。つまり、測色値を求める際に用いられる視野角のことである。点線502は、2度視野角の明度を示す。実線501は、入力明度に対し2度視野角よりも大きい視野角において観察者112が知覚する明度の関係を示している。明度が大きくなるにつれて、色を変換する前の明度と変換した後の明度との差が一旦大きくなるが、さらに明度を大きくすると、色の変換前後の明度の差が縮まってくる。図5(a)では2つの視野角の例を示しているが、図4に示す明度補正テーブルは、各視野角に応じて図5(a)に示すような曲線を示すテーブルとなっている。
同様に、図5(b)において、横軸および縦軸は2度視野角における彩度の軸である。点線504は、2度視野角の彩度を示す。実線503は、入力彩度に対し2度視野角よりも大きい視野角において観察者112が知覚する彩度の関係を示している。彩度が大きくなるにつれて、色を変換する前の彩度と変換した後の彩度との差が徐々に大きくなり、変換した後の彩度が大きい値になる。図5(b)では2つの視野角の例を示しているが図4に示す彩度補正テーブルは、各視野角に応じて図5(b)に示すような直線を示す係数となっている。
本実施形態における視野角に応じた色補正アルゴリズムについて図6を用いて詳細に説明する。
図6は、本実施形態に係る視野角の違いと知覚される彩度との関係を説明する図であり、図1の基準視野角104および観察視野角113において知覚される彩度の関係について示した図である。つまり、被写体を実際に観察したときの視野角と、その被写体を示す画像を観察したときの視野角において知覚される彩度の関係を示す図である。点線504は、図5(b)で示した線分であり2度視野角の彩度を示す。先に説明したように本実施形態では2度視野角は図1の測定視野角106に相当する。従って、点線504は測定視野角106における入力彩度と測定視野角106における出力彩度との対応を示している。実線601は、測定視野角106における入力彩度に対する基準視野角104において知覚される出力彩度の対応関係を示す。実線602は、測定視野角106における入力彩度に対する観察視野角113において知覚される出力彩度の対応関係を示す。なお、点線504、実線601、および実線602は、色補正データ格納部313に格納されている各視野角における補正パラメータと一致している。
観察者112が、任意の被写体の測色値における彩度Cp1を、測定視野角106において知覚する出力彩度は点Aの値となる。また彩度Cp1を、基準視野角104において知覚する出力彩度は点Bの値となる。次に、観察者112が基準視野角104において知覚する彩度である点Bの値を、観察視野角113において同じ彩度で観察する場合には、実線602上の彩度の点Cの値となる必要がある。なお、彩度の点Cの測定視野角106における彩度は、彩度Cp2に対応することが分かる。すなわち、被写体の色の彩度を基準視野角104において観察した彩度を観察視野角113において観察できるようにするためには、彩度Cp1 を彩度Cp2に変換すればよい。この変換は、明度についても同様である。
つまり、上記の処理は次のようにも言える。撮像画像におけるある領域において測色器などによって測色された測色値を第1の値とする。このとき、第1の値を出力した際に基準視野角104において知覚される第2の値を求める。そして、観察視野角113において第2の値として知覚されるために必要な第3の値を求める。そして、この第3の値を測色値に換算した第4の値を求める。このように、出力画像における被写体領域の色度における第1の値を順次変換して第4の値に変換する。かかる処理により、出力画像における被写体領域において知覚される色と、被写体を観察したときに知覚される色(すなわち、撮像画像の色)とを近づけることができる。このように、第1の値から第2の値を求める場合、第2の値から第3の値を求める場合、及び第3の値から第4の値を求める場合に用いられるパラメータを色補正パラメータと称する。補正パラメータは先に説明したように視野角に応じて格納されているものであり、色補正パラメータは、この補正パラメータを用いて実際に色変換処理を行なう場合に用いられるパラメータとして説明する。もちろん、色補正パラメータを算出せずに補正パラメータのみを用いて色変換を行なってもよい。ここでは実施形態をより容易に理解できるように、補正パラメータと色補正パラメータという別の概念を用いて説明をしている。このように、本実施形態では、単純に視野角に応じた補正パラメータを用いて色補正を行なうのではなく、視野角間の色補正パラメータを用いる。かかる処理により、第1の観察対象物を観察したときに知覚される色を、第2の観察対象物を観察したときに知覚される色に近づける処理を行なう。
以上の変換順に従って、測定視野角106と基準視野角104との間の色補正パラメータ、基準視野角104と観察視野角113との間の色補正パラメータ、および観察視野角113と測定視野角106との間の色補正パラメータを用いて処理を行なう。これにより、本実施形態における視野角に応じた色補正が実現される。
(インターフェース画面)
図7は、プリンタによって出力画像を出力する場合において、視野角に応じた色補正処理を実施するためにモニタ206上に表示されるユーザインターフェース(以下、UIという。)UI701を説明する図である。図7を用いて、出力画像を出力するUI701の操作手順を説明する。
UI701では、テキストボックス702に撮像画像のファイル名を入力するための参照ボタン703が配置されている。本実施形態では、撮像条件は画像のタブ情報に記載されており、タブ情報を演算処理部205において解析することによって、各撮像条件を取得するものとする。なおUI701とは異なるUI(図示せず)を用いて、各撮像条件を入力するような実施形態であってもよい。
ユーザが被写体領域設定ボタン704を操作することによって、撮像画像から被写体領域が抽出される。被写体領域は、撮像画像中の所定の領域をユーザがマウス等を用いて特定することで抽出されてもよいし、座標入力などによって抽出されてもよい。ユーザが被写体サイズ設定ボタン705を操作することによって、撮像画像における被写体領域と撮像条件とに基づいて被写体サイズが算出される。算出された被写体サイズは、テキストボックス706およびテキストボックス707に表示される。テキストボックス708には、被写体を観察したときの基準距離を入力する。撮像距離が基準距離である場合は、撮像条件から基準距離が自動的にテキストボックス708に入力されてもよい。撮像画像における画素値を測色値に変換するための測色値変換プロファイルをテキストボックス709に入力するための参照ボタン710も配置されている。測色値変換プロファイルを用いることで、撮像画像における画素値を測定視野角における測色値に変換することができる。測色値変換プロファイルは、例えばRGB値をCIEによって規定されているLab値などの値に変換するための変換テーブルを含む。
表示部711は、入力された被写体の撮像画像712を表示する。表示部713は、出力レイアウト画像714を表示する。
テキストボックス715に出力レイアウト画像のファイル名を入力するための参照ボタン716が配置されている。ユーザは、ドロップダウンリストボタン717を操作して出力画像の出力用紙サイズを入力し、テキストボックス718に出力画像を観察する観察距離111を入力する。図では示していないが、被写体領域設定ボタン704によって設定された被写体領域を出力レイアウト画像から抽出し、入力された出力用紙サイズに基づいて被写体画像のサイズが決定されることになる。
UI701にはまた、出力画像において側色値を所望の色度値を再現する画素値に変換するための出力デバイスプロファイルをテキストボックス719に入力するための参照ボタン720が配置される。色補正ボタン721を操作すると、視野角に応じた色補正処理が実施される。
なお、表示部713において、表示された出力レイアウト画像714上の被写体領域の色と補正された色とを交互に示すことができるようにし、処理の効果をユーザに示すようにしてもよい。ユーザが画像出力ボタン722を操作すると、視野角に応じた色補正処理が施された出力画像がプリンタで出力される。
図8は、出力機器208が距離センサを備えたプロジェクタ114である場合において、視野角に応じた色補正処理を実施するためにユーザに表示するUI801を説明する図である。図8を用いて、出力画像を出力するUI801の操作手順を説明する。なお、図7で示したUIと同じコンポーネントについては同じ符号を付して説明を省略する。
ユーザが出力画像サイズ設定ボタン802を操作すると、プロジェクタの距離センサが動作し、スクリーンとプロジェクタと間の距離を測定し、測定距離に応じた出力画像サイズが算出される。算出された出力画像サイズは、テキストボックス803およびテキストボックス804に表示される。
ユーザが観察距離設定ボタン805を操作すると、プロジェクタの距離センサが動作する。スクリーンとプロジェクタと間の距離が観察者の観察距離と同じである場合は、距離センサで測定した距離がテキストボックス806に観察距離として入力される。なお、スクリーンとプロジェクタと間の距離が観察者とスクリーンと間の距離と異なる場合は、テキストボックス806に観察距離を直接入力することも可能である。
以上のように、UI701またはUI801によって、視野角に応じた色補正を実現する。
図9は、本実施形態に係る画像処理装置の色補正部314を説明するブロック図である。図9を用いて色補正部314のブロック構成を説明する。
本実施形態に係る画像処理装置の色補正部314は、基準視野角格納部901、観察視野角格納部902、被写体色格納部903、視野角対応補正パラメータ生成部904を備えている。さらに、色補正部314は、基準視野角対応色変換部905、観察視野角対応色変換部906、出力色度値変換部907、出力色度値格納部908を備えている。
基準視野角格納部901は、算出された基準視野角104を格納する。観察視野角格納部902は、算出された観察視野角113を格納する。被写体色格納部903は、撮像画像より算出された被写体の測色値を格納する。
視野角対応補正パラメータ生成部904は、測定視野角106と基準視野角104と観察視野角113とを参照し、測定視野角106と基準視野角104と観察視野角113とに対応する補正パラメータをそれぞれ色補正データ格納部313から取得する。各視野角に対応する補正パラメータが色補正データ格納部313に存在しない場合は、他の視野角の補正パラメータの補間演算によって対応する補正パラメータを算出して生成する。視野角対応補正パラメータ生成部904は、取得した各補正パラメータより、次の色補正パラメータを生成する。すなわち、測定視野角106と基準視野角104との間、基準視野角104と観察視野角113との間、および観察視野角113と測定視野角106との間の色度を補正する色補正パラメータを生成する。
基準視野角対応色変換部905は、被写体色格納部903に格納された被写体の測色値のうちの彩度および明度を求める。その後、基準視野角対応色変換部905は、被写体の測色値のうちの彩度及び明度を、測定視野角106と基準視野角104と間の色補正パラメータを用いて、基準視野角104における彩度および明度に変換する。
観察視野角対応色変換部906は、基準視野角対応色変換部905において変換された基準視野角104における彩度および明度を、基準視野角104と観察視野角113と間の色補正パラメータを用いて、観察視野角113における彩度および明度に変換する。
出力色度値変換部907は、観察視野角対応色変換部906において変換された観察視野角113における彩度および明度を、観察視野角113と測定視野角106と間の色補正パラメータを用いて測定視野角106における彩度および明度に変換する。また、変換した測定視野角106における彩度および明度と測色値の色相とを色度値に変換し、その値を出力色度値とする。出力色度値格納部908は、出力色度値変換部907において変換された出力色度値を格納する。
図10は、本実施形態に係る画像処理装置の全体的な処理を説明するフローチャートである。図10を用いて本実施形態における画像処理装置の全体的な処理フローを説明する。
ステップS1001において、被写体撮像部302は、被写体102の撮像画像を取得する。ステップS1002において、被写体領域抽出部307は、取得した撮像画像から被写体領域を抽出する。ステップS1003において、被写体サイズ取得部304は、取得した撮像画像から被写体領域の被写体サイズ101を算出して取得する。ステップS1004において、被写体色取得部308は、取得した撮像画像における被写体領域の画素値を測色値に変換する。ステップS1005において、基準距離設定部305は、被写体102の基準距離103を取得して設定する。ステップS1006において、基準視野角算出部306は、サイズを算出した被写体102の基準視野角104を算出する。
ステップS1007において、出力レイアウト画像データ格納部309は、取得した撮像画像を出力するためにレイアウトされた出力レイアウト画像を取得して格納する。ステップS1008において、被写体出力サイズ取得部310は、取得した出力レイアウト画像を画像出力部317で出力するサイズを取得する。ステップS1009において、被写体領域抽出部307は、取得した出力レイアウト画像から被写体領域を抽出する。ステップS1010において、被写体出力サイズ取得部310は、出力画像における被写体領域の出力サイズ109を取得する。ステップS1011において、観察距離設定部311は、出力画像の観察距離111を取得して設定する。ステップS1012において、観察視野角算出部312は、取得した出力サイズ109および出力画像の観察距離111より、出力画像上の被写体領域の観察視野角113を算出する。
ステップS1013において、色補正部314は、基準視野角104と観察視野角113と測定視野角106とに応じた色補正パラメータを生成する。ステップS1014において、色補正部314は、出力画像上の被写体領域の測色値をステップS1013において生成した色補正パラメータを用いて出力色度値に変換する。ステップS1015において、画像補正部315は、ステップS1014において色補正処理された出力画像上の被写体領域の出力色度値を、出力デバイスプロファイルを用いて、出力デバイスに応じた画素値に変換する。ステップS1016において、画像出力部317は、ステップS1015において変換した画素値を用いて画像を出力する。
図11は、本実施形態に係る画像処理装置の色補正処理を説明するフローチャートである。図11を用いて、本実施形態における画像処理装置の視野角に応じた色補正処理フローを説明する。
ステップS1101において、被写体色格納部903は、被写体の撮像画像の画素値から変換された被写体の測色値を取得して格納する。ステップS1102において、基準視野角格納部901は、被写体102の基準視野角104を取得して格納する。ステップS1103において、観察視野角格納部902は、出力画像上の被写体領域の観察視野角113を取得して格納する。
ステップS1104において、視野角対応補正パラメータ生成部904は、測定視野角106と基準視野角104と観察視野角113とに対応する補正パラメータを取得する。 ステップS1105において、視野角対応補正パラメータ生成部904は、測定視野角106と基準視野角104と間、基準視野角104と観察視野角と113間、および観察視野角113と測定視野角106と間の色補正パラメータを生成する。
ステップS1106において、基準視野角対応色変換部905は、撮像画像における被写体102の測色値を、彩度と明度に変換する。ステップS1107において、基準視野角対応色変換部905は、測定視野角106と基準視野角104と間の彩度の色補正パラメータを用いて、被写体102の測色値における彩度を変換する。
ステップS1108において、基準視野角対応色変換部905は、測定視野角106と基準視野角104と間の明度の色補正パラメータを用いて、被写体102の測色値における明度を変換する。
ステップS1109において、観察視野角対応色変換部906は、ステップ1107において変換した彩度を、基準視野角104と観察視野角113と間の彩度の色補正パラメータを用いて、観察視野角113における彩度に変換する。
ステップS1110において、観察視野角対応色変換部906は、ステップ1108において変換した明度を、基準視野角104と観察視野角113と間の明度の色補正パラメータを用いて、観察視野角113における明度に変換する。
ステップS1111において、観察視野角対応色変換部906は、ステップS1109において変換された観察視野角における彩度を観察視野角113と測定視野角106と間の彩度の色補正パラメータを用いて、測定視野角106における彩度に変換する。
ステップS1112において、観察視野角対応色変換部906は、ステップS1110において変換された観察視野角における明度を観察視野角113と測定視野角106と間の明度の色補正パラメータを用いて、測定視野角106における明度に変換する。
ステップS1113において、出力色度値変換部907は、ステップS1111およびステップS1112において変換した測定視野角106における彩度及び明度と、被写体102の測色値における色相とを、色度値に変換する。
ステップS1114において、出力色度値格納部908は、ステップS1113において変換した色度値を出力画像上の被写体領域における出力色度値として格納する。
以上、本実施形態によれば、実際の被写体と出力画像上に再現される被写体との大きさに応じて面積効果に起因する色の見えを補正し、視野角に応じた被写体の忠実な色補正を実現することができる。
(実施形態2)
実施形態1において、基準視野角104と観察視野角113とが異なる場合の色補正処理について説明した。ここで、基準視野角104と観察視野角113とが一致する場合には実施形態1における色補正処理フローを実行することは不要な工数が発生することになり非効率的である。従って、実施形態2では、実施形態1において基準視野角104と観察視野角113が一致する場合の色処理について説明する。
図12は、本実施形態に係る画像処理装置の色補正部1200を説明するブロック図である。図12を用いて色補正部1200のブロック構成を説明する。なお、図9と同一の構成には、同一の符号を使用して説明する。
本実施形態に係る画像処理装置の色補正部1200は、実施形態1の色補正部314の構成に加え、視野角判定部1201および出力色度値設定部1202を備えている。
視野角判定部1201は、基準視野角104と観察視野角113とを比較して視野角が一致するか否かを判定する。視野角が一致する場合、実施形態1における色補正処理では、彩度および明度の色補正パラメータによる変換において、入力された彩度及び明度と変換後の彩度及び明度とは一致する。そのため、視野角に応じた補正パラメータによる彩度および明度変換を行う必要はない。
出力色度値設定部1202は、視野角判定部1201において視野角が一致する場合に、入力された被写体の測色値を出力色度値に設定し、出力色度値格納部908に格納する。
図13は、本実施形態に係る画像処理装置の色補正処理を説明するフローチャートである。図13を用いて、本実施形態における画像処理装置の視野角に応じた色補正処理フローを説明する。
ステップS1301において、被写体色格納部903は、被写体102の測色値を入力値として取得して格納する。ステップS1302において、基準視野角格納部901は、被写体102の基準視野角104を取得して格納する。ステップS1303において、観察視野角格納部902は、被写体領域の出力サイズ109および出力画像の観察距離111から出力画像上の被写体領域の観察視野角113を取得して格納する。
ステップS1304において、視野角判定部1201は、基準視野角104と観察視野角113を比較し、視野角の値が一致するか否かを判定する。ステップS1304において、視野角が一致する場合はステップS1305に進み、視野角が一致しない場合はステップS1306に進む。
ステップS1305において、出力色度値設定部1202は、入力された被写体102の測色値を出力色度値に設定する。ステップS1306において、出力色度値変換部907は、図11のステップS1104ないしステップS1113における視野角に応じた色補正処理によって被写体102の測色値を変換し、出力色度値を取得する。ステップS1307において、出力色度値格納部908は、ステップS1305で設定した出力色度値またはステップS1306で取得された出力色度値を格納する。
以上、本実施形態によれば色補正処理において処理を簡略化することができる。
(実施形態3)
実施形態3は、実施形態1及び2とは異なる処理を説明する。実施形態3は第1のデバイスと第2のデバイスの間のカラーマッチングにおいて、第1の観察対象物および第2の観察対象物を表示するそれぞれのデバイスの色域の大きさを、それぞれのデバイスの視野角の違いに応じて調整する形態に関するものである。ここで色域とは、表示装置で表示できる色の再現範囲であって、色再現特性のことをいう。具体的には、本実施形態は、出力機器208をプリンタ208とし、このプリンタ208とモニタ206との間の色域をこれらデバイスで出力される観察対象物同士の視野角の違いに応じて調整する。すなわち、モニタ206での色の見えを、プリンタ208で再現するためのカラーマッチング処理に関するものである。
図14は、本実施形態における演算処理部の処理概要を説明するための概念図である。本実施形態における演算処理部にて行われる処理概要を、図14を参照して説明する。演算処理は、図14に記載の手順1401ないし手順1406の順で行われる。
はじめに、手順1401では、モニタ206およびプリンタ208の各デバイスについて、色の再現特性である色域および観察視野角113の取得処理を行う。手順1502では、取得した各デバイスの色域を補正する。この補正処理は、観察視野角113に応じた補正パラメータに基づいて処理される。当該処理によって補正した色域を、面積効果を考慮した、実際に人が知覚する色の見えに対応する色域として扱う。手順1503では、色域補正処理によって階調の劣化が発生する可能性があるため、補正後の色域の階調判定および階調補正を行う。
手順1404では、プロファイル生成を行う。本実施形態では、モニタ206の色の見えをプリンタ208で再現するための色変換テーブルをプロファイルと呼ぶこととする。すなわち、手順1404は、色変換テーブル生成を行う手順である。手順1405では、出力する画像データの取得およびプロファイルに基づく画像データの変換を行う。最後に、手順1406では、変換後の画像データによりプリンタで画像を出力する。
図15は、本実施形態に係る面積効果に起因する補正を行う目的を説明するための概念図である。補正後の色域上でマッチング処理を行うことによる効果について、図15を用いて説明する。図15(a)は、色域補正前のプリンタ色域1501とモニタ色域1502とを示す図である。このときの各色域は、CIEによって定められている所定の視野角(すなわち、測定視野角)における色域を示している。ここでは、測定視野角は2度とする。図15(a)に示すように、測定視野角における色域は、モニタ色域1502の方がプリンタ色域1501よりも大きい。図15(b)は、色域補正後のプリンタ色域1503とモニタ色域1504とを示す図である。図15(b)では、プリンタの観察視野角が測定視野角よりも大きい一方で、モニタの観察視野角は測定視野角と同じ例を示している。この場合、プリンタの観察視野角に応じて補正後のプリンタ色域1503は補正前のプリンタ色域1501よりも大きくなっている。この結果、拡張された補正後のプリンタ色域1503を用いてプロファイルを生成するので、異なるデバイス間での知覚される色を近づけることができる。このように、面積効果を考慮した補正後の色域上でプロファイル生成を行うため、面積効果に起因する色の見えを補正したデバイス間のカラーマッチング処理が実現可能となる。
図16は、実施形態1における図2の演算処理部205に対応する本実施形態の演算処理部1600の機能の論理構成を説明するブロック図である。図16を用いて、本実施形態における演算処理部1600の論理構成を説明する。
演算処理部1600は、視野角取得部1601、色域取得部1602、画像取得部1603、補正パラメータ算出部1605、記憶部1606、色補正部1607を備える。さらに、演算処理部1600は、階調判定部1608、階調補正部1609、プロファイル生成部1610、画像補正部1611を備える。
視野角取得部1601は、モニタ206およびプリンタ208の出力画像を観察する観察視野角を取得する。色域取得部1602は、あらかじめ定めた所定の視野角におけるモニタ色域およびプリンタ色域を取得する。ここでは、所定の視野角とは、CIEによって規定されている2度の視野角のことであり、実施形態1と同様にこの2度視野角のことを測定視野角と呼ぶことにする。画像取得部1603は、モニタ206およびプリンタ208の出力画像データを取得する。視野角取得部1601、色域取得部1602、および画像取得部1603が、それぞれ取得する観察視野角、色域、および出力画像データは、操作部204によって指示入力されるものとする。ただし、色域については、測色器107など、接続した入力機器207から直接取得することも可能である。
補正パラメータ算出部1605は、視野角取得部1601において取得した観察視野角に応じて、記憶部1606から補正パラメータを読み込む。また、観察視野角に対応した補正パラメータがない場合には、他の視野角の補正パラメータの補間処理などによって観察視野角の補正パラメータを算出する。補正パラメータは色域補正に用いられる。
色補正部1607は、補正パラメータ算出部1605において得られた補正パラメータに基づいて色域取得部1602において取得した色域の補正を行う。ここで、色域の補正とは、各観察視野角における明度および彩度の見えの変化に対応づけるための、明度および彩度の圧縮あるいは伸長処理である。補正後の色域は、分光放射輝度計などを用いた測色によって得られる色域とは異なる。
階調判定部1608は、色補正部1607において補正した色域の階調判定を行う。階調補正部1609は、階調判定部1608において判定した結果に基づいて階調補正を行う。プロファイル生成部1610は、補正した色域に基づいて、プロファイルを生成する。
画像補正部1611は、プロファイル生成部1610で生成したプロファイルを用いて、画像取得部1603で取得したモニタ206およびプリンタ208の出力画像の色を変換する。
図17は、本実施形態における画像処理装置の画像処理を説明するフローチャートである。本実施形態における演算処理部1600にて実行される処理の詳細を、図17から図22を参照して説明する。
ステップS1700において、ユーザは、操作部204を介して各デバイスの色域データの保存場所、モニタサイズ、プリントサイズ、および観察距離を入力後、図18に示すUI1800上のプロファイル生成ボタン1807を押下する。以下、ステップS1701からS1713に記載の処理は、プロファイル生成ボタン1807を押下した後に、自動で実行されるものとする。
ステップS1701において、視野角取得部1601は、操作部204を介して入力した情報を基に、モニタ206を観察する場合の観察視野角を取得する。観察視野角は、図18に示すUI1800上でユーザが指示した情報を基に算出する。
図18は、本実施形態における、プリンタによって出力画像を出力する場合において、観察視野角に応じた色補正処理を実施するためにモニタ206上に表示されるUI1800を説明する図である。UI1800には、モニタサイズ入力ボタン1801、モニタ206の観察距離入力ボタン1802、参照ボタン1803が表示されている。また、UI1800には、プリントサイズ入力ボタン1804、プリンタの観察距離入力ボタン1805、参照ボタン1806、プロファイル生成ボタン1807が表示されている。
具体的にモニタの観察視野角を算出するには、UI1800上のモニタサイズ入力ボタン1801を押下して表示される選択肢の中からモニタサイズを指定する。また、観察距離入力ボタン1802を押下して表示される選択肢の中から観察距離を指定する。そして、実施形態1と同様に、指定したモニタサイズWおよび観察距離Dから式1を用いて観察視野角の角度θを算出する。本実施形態では、画像をモニタ206の全域に表示することを前提とし、モニタサイズと画像サイズを同等とみなしている。ただし、モニタサイズと表示サイズが異なる場合には、表示サイズに応じた画像サイズを取得してもよい。また、本実施形態では、モニタ206の対角線の長さをWとしているが、縦あるいは横の長さであってもよい。
ステップS1702において、色域取得部1602は、あらかじめ定めた測定視野角におけるモニタ色域を取得する。モニタ色域は、ステップS1701と同様に、図18に示すUI1800上でユーザが指示した情報を基に取得する。具体的には、UI1800上のモニタ参照ボタン1803を押下し、モニタ色域を保持したデータファイルを指定し、指定のデータファイルから色域を読み込んで取得する。
図19は、本実施形態において取得するデバイスの色域のデータ形式を説明する図である。図19を用いて、モニタ色域のデータについて説明する。モニタ色域のデータとは、測定視野角である2度視野における729色(RGB9スライス)のCIE色空間であるLchを指す。モニタ色域のデータは、図19に示すようなRGBとLchとの値の対応表として予め記憶部1606に保持されているものをいう。色域データは、異なる視野角、またはCIEXYZ等、異なる色空間を用いることも可能である。
ステップS1703において、補正パラメータ算出部1605は、ステップS1701で取得した観察視野角に応じた補正パラメータを記憶部1606から読み出す。補正パラメータとは、実施形態1で説明したような図4に示すような観察視野角に応じた明度補正パラメータおよび彩度補正パラメータのことである。
ステップS1704において、色補正部1607は、ステップS1703において取得した補正パラメータに基づいて、ステップS1702において取得したモニタ色域の補正を行う。具体的には、色補正部1607は、補正パラメータに示される彩度補正係数や明度補正テーブルを参照してステップS1701で取得した観察視野角に対応する明度と彩度を構成するようにモニタ色域を補正する。
図20は、本実施形態における補正パラメータによる色域変化を説明するための概念図である。図20を用いて、本実施形態の補正パラメータによる色域変化を説明する。図20(a)は、色の変換前と変換後の明度の関係を示し、図20(b)は、色の変換前と変換後の彩度の関係を示している。図20(c)は、明度および彩度の平面(LC平面)の色域断面図を示している。
図20(a)において、横軸および縦軸は2度視野角(測定視野角)における明度の軸である。実線2001は、入力明度において2度視野角よりも大きい視野角において観察者112が知覚する明度の関係を示している。破線2002は、2度視野角の明度を示す。同様に、図20(b)において、横軸および縦軸は2度視野角における彩度の軸である。実線2003は、入力彩度において2度視野角よりも大きい視野角において観察者112が知覚する彩度の関係を示している。破線2004は、2度視野角の彩度を示す。また、図20(c)における破線2005で示す色域は補正前の色域を指し、実線2006で示す色域は補正後の色域を指している。観察視野角113が測定視野角より大きい場合は、彩度および明度がより高くなり、知覚されるデバイスの色の再現特性である色域は拡大される。
ステップS1705において、階調判定部1608は、ステップS1704において補正した色域に階調の劣化が発生していないかの階調判定を行う。階調判定は、例えば黒から白のグレーラインを参照して処理を行なう。すなわち、図19に示すRGB各値を共に0から32ずつ(最後224からは31)増加した計9ステップの色の各L値について、以下の(式3)の条件が成立するか否かの判定を行う。
L(i) > L(i+1) ・・・(式3)
ここで、L(i)はステップiの色のL値を指し、例えばi=0であればRGB値(0、0、0)に対応するL値、i=1であればRGB値(32、32、32)に対応するL値を指す。式3における条件が成立しない領域は、階調の劣化が発生した領域となる。ここでは、階調の劣化が発生した領域が1つでもあれば階調の劣化が発生していると判定する。階調の劣化が発生していると判定された場合はステップS1706へ処理を移行し、階調の劣化が発生していないと判定された場合はステップS1707へと処理を移行する。
ステップS1706において、階調補正部1609は、ステップS1704において補正した色域の明度補正処理を施し、階調補正を行う。具体的には、階調劣化が発生した領域に所定のバッファを設けた範囲を補正範囲とし、補正範囲の始点と終点をスプライン曲線などによって補間する。以上がモニタ色域についての補正処理である。
次に、プリンタ色域についての補正処理について説明する。ステップS1707において、視野角取得部1601は、操作部204を介して入力した情報を基に、プリンタ208を観察する場合の観察視野角を取得する。ユーザは、UI1800上のプリントサイズ入力ボタン1804を押下して表示される選択肢の中からプリンタサイズを指定し、同様に、プリンタ208の観察距離入力ボタン1805を押下して表示される選択肢の中から観察距離を指定する。視野角取得部1601は、ステップS1701と同様に、指定したプリントサイズをW、観察距離をDとし、式1を用いて観察視野角の角度θpを算出する。
ステップS1708において、色域取得部1602は、あらかじめ定めた測定視野角におけるプリンタ色域を取得する。具体的には、ユーザはUI1800上のプリンタ参照ボタン1806を押下し、プリンタ色域を保持したデータファイルを指定し、指定のデータファイルからプリンタの色域データを読み込む。ここで、プリンタの色域データとは、ステップS1702と同様に、2度視野における729色(RGB9スライス)のCIE色空間であるLchを指す。
ステップS1709において、補正パラメータ算出部1605は、ステップS1703と同様に、ステップS1707において取得した観察視野角に応じた補正パラメータを記憶部1606から読み出す。ステップS1710において、色補正部1607は、ステップS1704と同様に、ステップS1709において取得した補正パラメータに基づいて、ステップS1708において取得したプリンタ色域の補正を行う。
ステップS1711において、階調判定部1608は、ステップS1705と同様に、ステップS1710において補正した色域に階調の劣化が発生していないかの階調判定を行う。階調の劣化が起きていると判定された場合はステップS1712へと処理を移行し、階調の劣化が起きていないと判定された場合はステップS1713へと処理を移行する。ステップS1712において、階調補正部1609は、ステップS1706と同様に、ステップS1710において補正した色域の明度補正処理を施し、階調補正を行う。以上がプリンタ色域の補正処理の説明である。
次に、補正されたモニタ色域とプリンタ色域とに対応する色変換処理について説明する。ステップS1713において、プロファイル生成部1610は、プロファイルを生成する。すなわちプロファイル生成部1610は色変換テーブルの生成を行う。このプロファイルの生成は、ステップS1704またはステップS1706において補正したモニタ色域、およびステップS1710またはステップS1712において補正したプリンタ色域に基づいて行う。
図21は、本実施形態におけるプロファイルのデータ形式を説明する図である。図21を用いて、プロファイルについて説明する。本実施形態におけるプロファイルは、図21に示す様に、モニタ206で表示したあるRGB値(Rm、Gm、Bm)の色の見えを、プリンタで再現するためのRGB値(Rp、Gp、Bp)の対応表(RGB−RGBLUT)のことをいう。例えば、補正後のモニタ色域及びプリンタ色域における第1の値をモニタ206で表示する際のRGB値と、プリンタで出力する際のRGB値とを対応付けることによりプロファイルを生成する。
ステップS1714において、ユーザは、操作部204を介して画像データの出力を指示する。以下、ステップS1715ないしステップS1717に記載の処理は、画像データの出力がユーザによって指示された際に自動で実行されるものとする。ステップS1715において、画像取得部1603は、操作部204を介して入力した情報を基に、出力する画像データを取得する。
ステップS1716において、画像補正部1611は、ステップS1713で生成したプロファイルに基づき、ステップS1715において取得した画像データの色を変換する。ステップS1717において、CPU201は、出力機器(プリンタ)208を制御し、ステップS1716において色を変換した出力画像を出力する。このようにしてプリンタで出力される出力画像は、指定した視野角に応じた位置で観察する場合、モニタと同じ色に知覚されるように色域が拡張された色で構成された画像となる。
本実施形態では、図18に示すプロファイル生成アプリケーションのUI1800上で、モニタサイズ、プリントサイズ、および観察距離111をユーザが指示入力し、これらの情報に基づいて、観察視野角113を取得している。ただし、図22に示す出力設定を行うプリンタドライバのUI2200の画面上で指示入力してもよい。
図22は、本実施形態におけるプリンタのプロパティがモニタ206上に表示されるUI2200を説明する図である。UI2200には、出力用紙サイズ入力ボタン2201、色指定チェックボックス2202、面積効果チェックボックス2203、モニタ色域指定ボタン2204、および、モニタサイズ指定ボタン2205が表示されている。具体的な入力方法は、図22に示す出力設定を行うプリンタドライバのUI2200上において、まず、出力用紙サイズ入力ボタン2201で出力用紙サイズを指定する。次に、色指定チェックボックス2202をチェックし、モニタ色域指定ボタン2204でモニタ色域を指定する。さらに面積効果を考慮したマッチング処理を行う場合は、面積効果チェックボックス2203をチェックし、モニタサイズ指定ボタン2205でモニタサイズを指定する。
以上、本実施形態では、観察条件に応じて、実際に知覚される明度、彩度となるように色域形状を補正し、補正した色域を用いてカラーマッチング処理を行うことができる。これにより、大きさに応じた補正を施した色域上でマッチング処理を施すことで、観察対象物が観察される大きさが異なる場合についても知覚される色が一致し、面積効果に起因する色の見えを補正したデバイス間のカラーマッチング処理が実現可能となる。
また、明度および彩度の変化は、色域の拡大あるいは縮小であり、予め色域を補正しなければ、例えば面積効果により拡大される領域内の階調性が再現不可能な色と認識され、階調性が一度失われることがある。本実施形態では、面積効果を考慮することによって生じる階調性の劣化を判定、補正することで、階調性の劣化を抑え、忠実な色再現を行うことができる。
(実施形態4)
実施形態3では、図18に示すプロファイル生成アプリケーションのUI1800上で、モニタサイズ、プリントサイズ、観察距離をユーザが指示入力し、これらの情報に基づいて、観察視野角を取得する例を説明した。
実施形態4では、出力機器208をプロジェクタ114とし、プロジェクタ114に内蔵したセンサを用いて当該情報を自動取得する実施形態について説明する。なお、実施形態3に記載の視野角取得処理以外については、実施形態3と同様であるため、説明を省略する。
本実施形態が実施形態3と異なる点は、出力機器208に投影距離が検出可能なセンサを内蔵したプロジェクタを用いる点である。また、図18のUI1800に代えて図23に示すプロジェクタのプロファイル生成を行うアプリケーションUI2300を用いる点である。
図23は、出力機器208がプロジェクタである場合において、観察視野角に応じた色補正処理を実施するためにユーザに表示するUI2300を説明する図である。UI2300には、図18のUI1800と同様に、モニタサイズ入力ボタン1801、モニタ206の観察距離入力ボタン1802、参照ボタン1803が表示されている。また、UI2300には、プロジェクタにおけるサイズ自動取得ボタン2401、観察距離指定ボタン2302、ズーム倍率指定ゲージ2303が表示されている。ユーザがズーム倍率指定ゲージ2303を操作部204を介して調節することで、プロジェクタ114と連動し、表示倍率の取得、制御が可能である。さらにサイズ自動取得ボタン2401を押下することで、内蔵センサからの投影距離の取得や観察視野角の取得を自動で行うことが可能である。なお、観察視野角は、プロジェクタ114とスクリーンとの間の投影距離を観察距離として算出している。そのため、観察距離が異なる場合は、実施形態3と同様に観察距離をモニタ206の観察距離入力ボタン1802において直接入力することができる。
以上、本実施形態では、モニタの視野角とプロジェクタの視野角とに応じて各色域を補正することで、面積効果に起因する色の見えを補正したデバイス間のカラーマッチング処理を行うことが可能となる。
(実施形態5)
実施形態3では、色域を補正することで、面積効果を考慮した忠実なカラーマッチングを実現する方法について説明した。実施形態5では、補正前後のデバイス間の色域に基づいて、色域の補正処理を適用するか否かを切り替えてカラーマッチングを行う方法について説明する。
まず、面積効果による色域補正を適用するか否かを切り替える目的について説明する。実施形態3で説明した様に、面積効果を考慮した色の見えに対応するためには、予め観察視野角に応じた補正処理を施した色域に対応したプロファイル生成を行う必要がある。しかしながら、当該補正処理によって、デバイス間の色域のギャップが大きくなった場合、階調性が失われる領域が増加する。図15を参照して説明する。実施形態3では補正後のプリンタ色域1503は、補正前のプリンタ色域1501よりも大きくなっている例を示している。また、モニタ色域1504は変化がない例を示している。この図15の例とは逆に、補正後のプリンタ色域が補正前のプリンタ色域よりも小さくなる場合や、補正後のモニタ色域が大きくなるような場合、図15(a)に示すような補正前の各色域よりもデバイス間の色域のギャップが大きくなる場合がある。すなわち、プリンタ色域が包含するモニタ色域の割合(色域包含率)が小さくなった場合、圧縮される領域(プリンタ色域で包含できないモニタ色域)は大きくなる。この結果、階調性が失われる領域が増加することになる。面積効果を考慮し、忠実なデバイス間マッチングを実現する際には、再現できない領域は圧縮する必要がある。しかし、忠実な再現より階調性を重視する場合は、補正後の色域の包含率に応じて色域補正を行うか否かを切り替えることで、より階調性を維持することができる。
図24は、本実施形態における画像処理装置の色域補正処理を説明するフローチャートである。図24を用いて、本実施形態における色域補正処理のフローを説明する。なお、本実施形態における色域補正処理は、実施形態3におけるステップS1713に記載のプロファイル生成処理が、図24に示すステップS2401からないしS2406に代わるものである。その他の処理については実施形態3と同様であるため、説明を省略する。また、当該処理は演算処理部1600のプロファイル生成部1610で行われる。
ステップS2401において、プロファイル生成部1610は、補正処理を施す前のプリンタ色域およびモニタ色域を取得し、色域包含率Pbを算出する。ここで、色域包含率とは、第1のデバイスの色域が包含する第2のデバイスの色域のことを指す。本実施形態では、色域包含率はプリンタ色域が包含するモニタ色域の体積割合を指す。
ステップS2402において、プロファイル生成部1610は、面積効果に基づく補正処理を施したプリンタ色域およびモニタ色域を取得し、ステップS2501と同様に、色域包含率Paを算出する。
ステップS2403において、プロファイル生成部1610は、ステップS2501において算出した色域包含率Pbと、ステップS2502にて算出した色域包含率Paとの比較を行う。補正前の色域包含率Pb>補正後の色域包含率Paとなった場合はステップS2504へ処理を移行し、そうでない場合はステップS2405へ処理を移行する。
補正前の色域包含率が補正後の色域包含率よりも大きい場合、補正後の色域を用いると階調性を失われる領域が大きくなってしまう。そこで、ステップS2404において、プロファイル生成部1610は、プロファイル生成を行う色域に、補正処理を施す前のプリンタ色域およびモニタ色域を選択する。一方、ステップS2405では、プロファイル生成部1610は、プロファイル生成を行う色域に、補正処理を施した後のプリンタ色域およびモニタ色域を選択する。
ステップS2406において、プロファイル生成部1610は、ステップS2504またはステップS2405において選択した色域を用いてプロファイル生成を行う。以上のステップS2401からS2406の処理によって、階調性を優先したデバイス間マッチング処理が行われる。ここで、実施形態3に記載の処理を施して面積効果を考慮した忠実なマッチング処理を行うモードか、本実施形態に記載の包含率に応じて階調性を優先したマッチング処理を行うモードかは、図25のUIにおいてユーザが指定することができる。すなわち、ユーザによってどのモードにすべきかを選択可能に構成することができる。
図25は、本実施形態における、プリンタによって出力画像を出力する場合において、モニタ206上に表示されるUI2500を説明する図である。図25のUI2500は、マッチング処理の選択チェックボックス2501を表示する点で、図18のUI1800と相違する。具体的な指定方法は、図25に示すUI2500を用いて、マッチング処理の選択チェックボックス2501でユーザがマッチング処理を指示選択することで、処理の選択を実現することができる。
以上、本実施形態では、色域の補正を行った結果、デバイス間の色域のギャップが大きくなった場合、補正処理を適用しないように制御することができる。本実施形態によれば、階調性の保持を優先し、色域補正処理の適用的な切り替えが可能なカラーマッチング処理が可能になる。また、このような制御をするかしないかを切替える可能にすることにより目的に応じた色域補正を適用的に行なうことができる。
(実施形態6)
実施形態1から5においては、視野角に応じた色補正を行なう例を説明した。そして、視野角は、観察対象物のサイズと観察距離とに応じて求まるものとして説明した。しかしながら、人間の知覚する色は同じような色がまとまった領域のサイズのみならず、形状によっても変化する。そこで、実施形態6では観察対象物の形状を考慮して色補正を行なう例について説明する。
実施形態6に記載の処理は、図26に示す画像処理装置2601上のコンピュータプログラムによって実行される。本実施形態では、最終的にはプロジェクタ2603によってスクリーン2604上に投影するデジタルシネマ等のコンテンツの色の見えをモニタ2602上でシミュレーションしながら編集することを想定している。これは大画面で投影する環境が手元にないといった場合や、大画面上では編集を行いにくいといった理由による。このときに、測色値が等しくなるようにモニタ2602とプロジェクタ2603をキャリブレーションしてしまうと、これらの色の実際の見えは面積効果により異なってしまうため、最終的にプロジェクタ2603によって投影した際に所望の色にならない。そのため、面積効果を考慮して色補正を行った画像をモニタに表示する事で、プロジェクタ2603の色の見えをモニタ2602でシミュレートすることができる。つまり、本実施形態では、ターゲット出力装置となるプロジェクタ2603での画像の見えをと同じ見えとなるように補正した画像を出力装置であるモニタ2602で表示する例を説明する。尚、図26では画像処理装置2601とプロジェクタ2603は接続されているが、これらが接続されている必要はなく、同一の場所にある必要もない。
本実施形態における画像処理装置のハードウェア構成について、図27によって示されるブロック図を参照しながら説明する。画像処理装置2601は、CPU2701、ROM2702、RAM2703、HDD2704、汎用インターフェース(I/F)2705を含む。CPU2701はROM2702が記憶している制御プログラム、オペレーティングシステム、アプリケーションプログラム、デバイスドライバ等に従って、RAM2703、HDD2704、汎用I/F2705を介して、接続された外部装置の制御を行う。RAM2703は各種制御プログラムの作業領域及び一時退避領域である。モニタ2602は、表示する画像の色を画像処理装置2601によって制御する事が可能な表示装置である。
図28は、実施形態6に係る色補正処理を行なうモジュールのブロック構成を示す図である。画像処理装置は、観察状況取得部2801と、領域情報取得部2802と、補正量算出部2803と、補正部2804と、出力部2805とを有する。
<画像処理装置2601における動作>
本実施形態における画像処理装置2601にて実行される処理の詳細を、図28に示すブロック図と図29に示すフローチャートとを参照して説明する。尚、画像処理装置2601にはモニタ2602に表示する画像の色を制御するためのプログラムがインストールされており、以降の動作はこのプログラムが制御しているものとする。
ステップS2901で観察状況取得部2801は、スクリーン2604を観察する際の観察状況とモニタ2602を観察する際の観察状況とを示す観察情報を取得する。ここでは、観察状況取得部2801は、スクリーン2604のサイズ(短辺の長さ及び縦横比)及び視距離とモニタ2602の視距離とをユーザに入力させる。これには、例えば図30のようなユーザインターフェースを用いる。ここでスクリーン2604のサイズは縦横の辺の長さが特定できるものであれば、縦横比と対角線の長さ等の他の形式であってもよい。また、画像処理装置2601とプロジェクタ2603が接続されている場合は、視距離以外の情報はユーザに入力させずに自動的に取得してもよい。
ステップS2902で領域情報取得部2802は、出力対象の画像データから画像中の各オブジェクトの領域情報を取得する。この領域情報は、画像中の各ピクセルがどのオブジェクトに含まれるかを判別するためのラベル付けがされている形式であってもよいし、画像自体が各オブジェクトの図形の種類・大きさ・座標等のデータによって表現されている形式であってもよい。なお、本実施形態における画像データにおいては、画像中の各オブジェクトの領域情報が含まれているものとする。
ステップS2903で補正量算出部2803は、ステップS2902で取得した領域情報を用いて、各オブジェクトの色補正量を算出する。尚、この処理の詳細については後述する。
ステップS2904で補正部2804は、ステップS2903で求めた補正量を用いて、各オブジェクトの色の補正を行う。本実施形態では、補正量を表す補正係数は三刺激値XYZに対して適用する値であり、X値、Y値、Z値の補正係数をそれぞれ
と表す。まずモニタ2602上のデバイスRGB値を三刺激値XYZへと変換する。この変換は、モニタのガンマを表すγと3×3の変換マトリクスMとを用いて、次式のように行われる。
尚、モニタの色空間がsRGBである場合には、γ及びMは以下の値を用いる。
その他の色空間の場合は、γ及びMはデバイスRGB値と三刺激値XYZとの関係が適切に表せる値を用いればよい。これは、例えば実際に複数のデバイスRGB値で表示される色を測色して求めることができる。上式のようにして求めたX,Y,Zを用いて、オブジェクトの形状を考慮した面積効果を補正した後の三刺激値X’,Y’,Z’は次式のように算出される。
上式によって補正後の三刺激値が求まるため、これを用いて補正後の画像データを作成する。すなわち、補正後の三刺激値をデバイスRGB値に変換することでモニタ2602に出力する画像データを生成する。尚、本実施形態では、元の三刺激値に掛け算をする形で補正を行っているが、この形式に限る必要はない。補正後のデバイスRGB値は、式1及び式2で用いた変換マトリクスとガンマを用いて、次式のように変換できる。
ステップS2905で出力部2805は、ステップS2904で作成した画像データをモニタ2602上に表示する。尚、静止画の場合はこのステップで処理が終了するが、動画の場合には1フレームごとにステップS2902からステップS2905までを繰り返す。
<補正量算出の方法>
ステップS2903の補正量算出の方法の詳細について、図31のフローチャートを用いて述べる。ステップS3101で補正量算出部2803は、モニタ2602に表示する画像上の各オブジェクトを、長方形・楕円等の基本形状で近似し、その中で最適な近似を決定する。図32(a)は、モニタ2602に表示する画像を示しており、オブジェクト3201、オブジェクト3202、オブジェクト3203、オブジェクト3204の4つのオブジェクトから構成されている例を示している。図32(a)の上部の長方形のオブジェクト3201を楕円で近似した場合、図32(b)のような点線で表される楕円で近似される結果となる。各基本形状での近似の処理の詳細は、後述する。なお、ステップS3101の近似処理によって、各オブジェクトに近似する基本形状の種類i(例えば、長方形、楕円等)と、その基本形状の面積Sとが決定される。すなわち、ステップS3101の近似処理は、オブジェクトの形状情報を取得するオブジェクト形状情報取得処理といえる。
ステップS3102で補正量算出部2803は、色補正テーブルから補正量を算出する。すなわち、ステップS2901で取得したスクリーン2604のサイズ及び視距離と、モニタ2602の視距離と、ステップS3101で求めた基本形状の種類i及び基本形状の面積Sとを用いて、色補正テーブルから補正量を算出する。本実施形態の処理を行うプログラムには、図33のような視野角と、基本形状の種類iと、基本形状の縦横比とに応じた補正係数を格納したテーブルが組み込まれている。ここで、モニタ2602におけるオブジェクトの視野角φは、図34のように、基本形状の面積と同面積の正方形の一辺の長さ所定の観察距離で見た場合の角度を表すものである。視野角φは、モニタ2602におけるオブジェクトの面積S及び観察者とモニタ2602との間の視距離lから以下のように算出できる。
スクリーン2604上のオブジェクトの視野角φ’についても、モニタ2602とスクリーン2604の短辺の長さを用いて、スクリーン2604上のオブジェクトの面積を求めることで同様に算出できる。すなわち、モニタ2602の短辺とスクリーン2604の短辺との比により、モニタ2602上における画像中のオブジェクトと同じオブジェクトのスクリーン2604上における面積を求めることができる。そして、求めたオブジェクトの面積及びスクリーン2604と観察者との間の視距離を式8に適用してスクリーン2604上のオブジェクトの視野角を求めることができる。なお、モニタ2602の短辺の長さは既知であるものとする。
なお、図33のテーブルに格納されている補正係数は2度視野の正方形からの補正係数である。つまり、図33の一番上の行は、2度視野の正方形を3度視野の長方形(縦横比が1:1なので正方形)に補正する場合の各補正係数をそれぞれ示すものである。そのため、モニタ2602上の画像の見えをスクリーン2604上の画像の見えに合うように補正係数を算出するためには次の補正係数が必要となる。すなわち、2度視野の正方形からモニタ2602上のオブジェクトへの補正係数と、2度視野からスクリーン2604上のオブジェクトへの補正係数との両方が必要となる。そのため、モニタ2602上での視野角φとスクリーン2604上での視野角φ’に対応する補正係数をそれぞれテーブルから取得する。三刺激値X、Y、Zの視野角φに対応する補正係数をそれぞれ
視野角φ’に対応する補正係数をそれぞれ
とすると、モニタ2602とスクリーン2604との間の
は次式のように算出される。
尚、対応する補正量がテーブルに格納されていない場合は、例えば最も縦横比の近い値を用いる。例えば、面積が3cm2で縦横比が1:3の長方形の補正係数を求める場合、図33のテーブルに含まれている1:4の補正係数を用いることができる。また、縦横比が1:1のものと1:4のものとを用いて補間を行う等してもよい。例えば、縦横比が1:3.7であり、Yに関する補正係数が図33のテーブルのように縦横比1:1の補正係数が1.0、縦横比1:4の補正係数が0.97である場合、次式のようにして求める。
尚、本実施形態では補正量は係数の形としてテーブルに保持されていたが、この形式に限る必要はない。
<基本形状での近似の方法>
次に、ステップS3101における基本形状での近似の方法について、図35のフローチャートを用いて説明する。ステップS3501で補正量算出部2803は、基本形状の縦横比を設定する。例えば、1:1、1:4、1:9の縦横比について、基本形状で近似を行う場合、初めてこのステップに到達した際には1:1の縦横比を設定する。2回目以降にこのステップに到達した際には、現在の縦横比を確認し、1:1であれば1:4に、1:4であれば1:9に縦横比を切り替える。本実施形態では、例として上記の縦横比で近似を行う例を示したが、上記の縦横比に限る必要はない。
ステップS3102で補正量算出部2803は、基本形状の種類を長方形に設定する。例えば、長方形、楕円、三角形で近似を行う場合には、初めてこのステップに到達した際には長方形に設定する。2回目以降にこのステップに到達した際には、現在の基本形状を確認し、長方形であれば楕円、楕円であれば三角形に基本形状を切り替える。本実施形態では、例として上記の基本形状で近似を行う例を示したが、上記の基本形状に限る必要はない。
ステップS3503で補正量算出部2803は、ステップS290311及びS290312で設定された縦横比及び基本形状において評価関数の値が最小となるように、基本形状のサイズ及び角度を最適化する。尚、基本形状の位置は、オブジェクトの重心と基本形状の重心が一致する位置とする。この処理は、例えばオブジェクトの存在する領域の画素値を1、その他の画素値を0とした画像I1と、基本形状の存在する領域の画素値を1、その他の画素値を0とした画像I2との画素値の差の二乗和を評価関数として、それを最小化する事により行う。画像I1の座標(x,y)における画素値をI1(x,y)、基本形状の種類をi、基本形状の面積をS、基本形状の回転角度をθとしたときの基本形状に対応する画像I2の座標(x,y)における画素値をI2(x,y,i,S,θ)とする。すると、評価関数Eは次式で表せる。
ここで、w及びhは画像の横及び縦の画素数である。上式のEはS及びθによって偏微分可能であるため、最急降下法等の最適化手法によって、Eが最小となるS及びθを求めることが可能である。尚、基本形状は上記の形状に限る必要はない。また、基本形状での近似方法も上記に限る必要はない。
ステップS3504で補正量算出部2803は、現在設定されている縦横比について、すべての基本形状で基本形状のサイズ及び角度の最適化が完了したかどうかを判定する。最適化が完了している場合は、ステップS3505に進む。完了していない場合はステップS3502へ進む。
ステップS3505で補正量算出部2803は、すべての縦横比について基本形状のサイズ及び角度の最適化が完了したかどうかを判定する。最適化が完了している場合は、今までに求めたi,S,θの中で最もEが小さくなるI,S,θを記録し、図35に示す処理を終了しステップS3102へ進む。そうでない場合はステップS3501へ進む。この評価関数Eが最小となるときの基本形状の種類i及び面積Sが、近似対象のオブジェクトの形状を示す情報となる。
以上、実施形態6では、画像中の各オブジェクトの領域情報からオブジェクトの形状を推定し、プロジェクタで大画面投影した際の色の見えをモニタ上でシミュレートする例について説明した。本実施形態によれば、モニタ上で大画面投影した際の色の見えをシミュレートできるため、最終的にプロジェクタによって投影した際に、所望の色の見えを実現できる効果を有する。
(実施形態7)
実施形態6では、CG等のような各オブジェクトの領域情報が含まれている画像が入力されることを前提とした処理について説明した。本実施形態においては、CG等に限らず一般のビットマップ画像のようなオブジェクトの領域情報を含まない画像データが入力された場合であっても、面積効果による色の見えの変化を補正する方法について説明する。尚、実施形態6と同様にスクリーンに大画面投影した際の色の見えをモニタ上でシミュレートするものとする。本実施形態におけるハードウェア構成は、実施形態6の場合と同様であるため省略する。
本実施形態における画像処理装置2601にて実行される処理の詳細を、図36のフローチャートを用いて説明する。ステップS3601で観察状況取得部2801は、実施形態6におけるステップS2901と同様に、ターゲットとなるスクリーンのサイズ及びモニタとスクリーンとを観察する視距離をユーザに入力させることで観察状況を示す情報を取得する。
ステップS3602で領域情報取得部2802は、出力対象の画像データにオブジェクトの領域情報が含まれているかどうかを判定する。CG等の画像データのように、オブジェクトの領域情報が含まれている場合は、ステップS3604に進む。ビットマップ画像データのように、領域情報が含まれていない画像データの場合は、ステップS3603に進む。
ステップS3603で領域情報取得部2802は、画像データにおける画素値の情報を用いて、領域分割を行い、その画像データにおける領域情報を取得する。画像の領域分割には、k−means法やグラフカット等を用いる。この処理の詳細は後述する。
ステップS3604からステップS3607の各処理は、実施形態6におけるステップS2902からステップS2905の各処理と同様であるので、ここでの説明は省略する。
<領域分割の方法>
図36のフローチャートにおけるステップS3603の処理の詳細を、図37のフローチャートを用いて説明する。ステップS3701で領域情報取得部2802は、画像データのRGB値をLab色空間上のLab値へ変換する。この変換は、まずRGB値を三刺激値XYZへ変換し、その後、Lab値へと変換する。RGBからXYZへの変換は、実施形態6のステップS2904で述べた方法と同様である。三刺激値XYZからLab値への変換は次式のように行う。
ここで、Xn,Yn,Znはモニタ2603上でR=255,G=255,B=255として表示される色の三刺激値である。尚、本実施形態ではLab色空間上でk−means法によって領域分割する方法について述べるが、Luv等の他の色空間であってもよい。
ステップS3702で領域情報取得部2802は、全画素にランダムにラベル付けを行う。画像をk個のオブジェクトに分割したい場合、画素数の数だけ乱数を発生させ、その乱数をkで割った余りの0からk−1までの値をラベルとして各画素に割り当てる。尚、kの値はユーザが決めてもよいし、画像から自動的に決めてもよい。
ステップS3703で領域情報取得部2802は、全画素をLab値と座標xyの5次元空間にマッピングする。このとき、Lab値と座標xyの大きさを揃えるための正規化を行う。画像の高さをh、幅をwであるとき、例えば次式のように5次元空間の点pにマッピングする。
ここで、cは色と座標をどの程度重視するかを決定するパラメータである。
ステップS3704で領域情報取得部2802は、各ラベルの5次元空間での重心を求める。ラベルj(0≦j≦k−1)の点の集合をPj、集合Pjの要素数をnkとすると、重心g(j)は次式のように求まる。
ステップS3705で領域情報取得部2802は、ステップS3704で求めた各ラベルにおける重心との距離に基づき、全画素のラベルを更新する。全画素について、次式により各ラベルの重心とのユークリッド距離の2乗lj 2を求める。
各ラベルの重心とのユークリッド距離の2乗lj 2を求めた後、その中で最小の値をとるjを新たなラベルとしてその画素に割り当てる。
ステップS3706で領域情報取得部2802はラベルの変化した画素の個数を調べ、その個数が閾値よりも大きいならば、ステップS3704へ戻り、処理を繰り返す。ラベルの変化した画素の個数が閾値以下であるか、所定の回数処理が繰り返されている場合は図37の処理を終了し、ステップS3603へ進む。
本実施形態では、k−means法によって領域分割をする方法について述べたが、グラフカット等その他の方法によって領域分割を行ってもよい。
以上、実施形態7では、画像中に各オブジェクトの領域情報が含まれていない場合に、領域分割の処理を行うことにより、プロジェクタで大画面投影した際の色の見えをモニタ上でシミュレートする例について説明した。本実施形態によれば、ビットマップ画像においても、モニタ上で大画面投影した際の色の見えをシミュレートできるため、最終的にプロジェクタによって投影した際に、所望の色の見えを実現できる効果を有する。
(その他の実施形態)
実施形態6及び7では、モニタ上でプロジェクタによって大画面投影した画像の色の見えをシミュレーションする例について説明したが、面積効果による色の見えの変化を補正する際には、これらの機器の組み合わせに限る必要はない。例えば、A0サイズで印刷したいポスターの色の見えをL版プリントでシミュレートする事等も考えられる。この場合であっても、前記実施形態と同様に、プリンタドライバ等の画像処理装置上で動作するコンピュータプログラムによって色の補正を行う。ただし、プリンタはモニタと異なり、変換マトリクスとガンマによってデバイスのRGB値から三刺激値XYZへ変換する事が出来ないため、それらの代わりにルックアップテーブルを用いて四面体補間等の方法により変換を行う必要がある。その他の処理は、実施形態6及び7と同様である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本実施形態の機能を実現するためのプログラムコードを、1つのコンピュータ(CPU、MPU)で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。