以下、添付図面を参照して、本発明を実施するための最良の形態について詳細に説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係る情報処理装置100のシステム構成の一例を示す図である。
図1に示すように、本実施形態の情報処理装置100は、CPU101、ROM102、RAM103、システムバス104、周辺機器インタフェース105、キーボード(KB)106、測色機107、CRTディスプレイ(CRT)108、メモリコントローラ109、外部メモリ110及び通信インタフェース(I/F)コントローラ111を有して構成されている。
CPU101は、情報処理装置100における動作を統括的に制御するものであり、システムバス104を介して、情報処理装置100の各構成部(102、103、105、109及び111)を制御する。
ROM102には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(OS)等の各種プログラムが記憶されている。なお、本実施形態においては、CPU101が後述する図4の処理を実行するために必要なプログラムが外部メモリ110に記憶されている形態としているが、例えば、当該プログラムをROM102に記憶させる形態であってもよい。
RAM103は、CPU101の主メモリ、ワークエリア等として機能する。CPU101は、処理の実行に際して、ROM102又は外部メモリ110から必要なプログラム等をRAM103にロードし、当該プログラム等を実行することで各種の動作を実現する。
システムバス104は、CPU101、ROM102、RAM103、周辺機器インタフェース105、メモリコントローラ109及び通信インタフェース(I/F)コントローラ111を相互に通信可能に接続するためのものである。
周辺機器インタフェース105は、キーボード(KB)106や不図示のマウス等のポインティングデバイス、測色機107、表示手段であるCRTディスプレイ(CRT)108との接続を可能とし、これらの入出力の制御を行う。なお、図1では、CRT108と記載しているが、例えば、液晶ディスプレイ等の他の表示手段であってもよい。
測色機107は、例えば、ハンドタイプの分光測色計から構成されるものである。この測色機107で読み取った色情報は、周辺機器インタフェース105を介してCPU101で処理される。例えば、CPU101は、外部メモリ110に記憶されている色解析プログラムを実行し、当該プログラムにより色情報を解析して測色値を取得する。なお、この色解析プログラムは、例えば、ROM102に記憶されている形態であってもよい。
メモリコントローラ109は、例えば、ハードディスク(HD)やフレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリなどで構成される外部メモリ110への情報の書き込み(記憶)や、外部メモリ110からの情報の読み出しを制御する。
外部メモリ110は、ブートプログラムやCPU101が後述する図4の処理を実行するために必要なプログラム等の各種のプログラムや、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種のデータ等を記憶する。また、本実施形態の外部メモリ110には、後述の図2に示すカラーチャートの画像データを記憶するカラーチャート記憶部110aと、後述の図2に示す測色行掲示パッチ201の測色値を記憶する基準カラーパッチ部測色値記憶部110bと、後述の図2に示すカラーチャート部203の測色値を記憶するカラーチャート部測色値記憶部110cが構成されている。
通信インタフェース(I/F)コントローラ111は、ネットワークを介して外部装置と接続し通信制御を行うものである。例えば、TCP/IPを用いた通信等を行うことが可能である。また、例えば、外部装置としてプリンタとネットワークを介して通信を行うことも可能である。なお、この場合、周辺機器インタフェース105にプリンタが直接接続されている形態であってもよい。
また、CPU101は、例えば、RAM103内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT108上での表示を可能としている。また、CPU101は、CRT108上における不図示のマウスカーソル等でのユーザ指示を可能としている。
以下、本発明に係る情報処理装置100の処理について説明するが、本処理は、下記に示す本実施形態の行単位での測色処理における測色値の誤測色修正方法に限らず、例えば、ページ単位の測色処理などの測色機107における一度の動作によって取得される測色値の誤測色修正方法についても適用可能である。
図2は、本発明の第1の実施形態に係る情報処理装置100で用いるカラーチャートの一例を示す模式図である。
本実施形態で用いるカラーチャートは、その画像データが外部メモリ110のカラーチャート記憶部110aに格納されており、測色行掲示パッチ201(カラーチャート部の測色単位となるカラーパッチ群の位置を特定するために設けられた基準カラーパッチ部)と、測色行特定パッチ202と、カラーチャート部203とを有して構成されている。ここで、カラーチャート部203は、実際の測色対象であるカラーパッチ群である実測色カラーパッチ群を構成する。図2に示す例では、カラーチャート部203が、203a〜203hまでの8行、且つ、203x〜203yまでの14列で構成されている場合を示している。
なお、本実施形態で用いる位置とは、カラーパッチ群(203a〜203h)の行の順番を特定するもので、測色行掲示パッチ201と測色行特定パッチ202の測色値を比較することで今回測色したカラーパッチ群が測色行掲示パッチ201のどのカラーパッチに該当するかを特定することが可能である。この特定によって、測色したカラーパッチ群の位置(行の順番)を決定することができる。また、この位置は、後述の第2の実施形態でも用いられる。
本実施形態で用いるカラーチャートでは、カラーチャート部203とは別の領域に、測色行掲示パッチ201というカラーパッチ群(201a〜201h)と、カラーチャート部203における各行の先頭列に、測色行掲示パッチ201の測色順に対応した測色行特定パッチ202が配設されている。ここで、測色行掲示パッチ201のパッチ数は、カラーチャート部203の行数分必要となる。なお、測色行特定パッチ202は、先頭に配置することに限定されず、所定の位置に配置されればよい。例えば、カラーチャート部203の両端のいずれか一方に配置されればよい。
測色行掲示パッチ201の最初のカラーパッチ201aは、1行目のカラーチャート部203aを特徴づけるパッチであり、当該カラーパッチ201aと同様の色のパッチが、1行目のカラーチャート部203aの先頭部に、測色行特定パッチ202aとして付加されている。
同様に、2行目のカラーチャート部203bを特徴づけるパッチとして測色行掲示パッチ201b及び測色行特定パッチ202bが対応して設けられ、3行目のカラーチャート部203cを特徴づけるパッチとして測色行掲示パッチ201c及び測色行特定パッチ202cが対応して設けられ、4行目のカラーチャート部203dを特徴づけるパッチとして測色行掲示パッチ201d及び測色行特定パッチ202dが対応して設けられ、5行目のカラーチャート部203eを特徴づけるパッチとして測色行掲示パッチ201e及び測色行特定パッチ202eが対応して設けられ、6行目のカラーチャート部203fを特徴づけるパッチとして測色行掲示パッチ201f及び測色行特定パッチ202fが対応して設けられ、7行目のカラーチャート部203gを特徴づけるパッチとして測色行掲示パッチ201g及び測色行特定パッチ202gが対応して設けられ、8行目のカラーチャート部203hを特徴づけるパッチとして測色行掲示パッチ201h及び測色行特定パッチ202hが対応して設けられている。
即ち、測色行掲示パッチ201は、カラーチャート部203の測色単位である各行に対応して設けられ、カラーチャート部203の各行における測色順を定める複数のカラーパッチを具備する基準カラーパッチ部を構成する。
また、図2に示す測色行掲示パッチ201a〜201h(測色行特定パッチ202a〜202h)は、例えば、順に、赤色、黄緑色、水色、紫色、橙色、緑色、青色、灰色のパッチで形成されており、測色機107で測色を行った際に、相互に識別可能に構成されている。なお、測色行掲示パッチ201は、複数のカラーパッチがラインに配置されたものである。
カラーチャート部203には、2次元行列状(格子状)(図2には8行×14列)に複数のカラーパッチが配置され形成されている。このカラーチャート部203は、デバイス間の色の差を調整するカラープロファイル作成の基になる色情報を提供するためのものである。
図2に示すカラーチャートは、例えば、外部メモリ110に格納されているカラーチャート生成プログラムによって生成され、外部メモリ110のカラーチャート記憶部110aを介して出力されたものである。このカラーチャート生成プログラムでは、カラーチャートを生成する際に、自動測定可能な測色機(例えば、カラーチャートを置く専用台があるものなど)を使った測定を行うのか、或いは、ユーザの手で測色機を動かす手動測定を行うのかを設定する設定機能を有しており、手動測定モードが設定された際に、上述の測色行掲示パッチ201及び測色行特定パッチ202が付加されたカラーチャートが生成され、例えば、プリンタにより出力される。
なお、測色行特定パッチ202の次の列203xの各カラーパッチの色に、測色行特定パッチ202を構成する各カラーパッチの色が含まれない(測色行特定パッチ202の各カラーパッチの色と測色行特定パッチ202の次の列203xの各カラーパッチの色とが重ならない)ように構成し、カラーチャートを生成する。これにより、もし各行の測色を行う際、測色行特定パッチ202a〜202hのいずれかのカラーパッチがうまく測色できなかった場合でも、測色行特定パッチ202の各カラーパッチの色と測色行特定パッチ202の次の列203xの各カラーパッチの色が重ならないため、確実に測色ミスを特定することができる。
図2のように構成されたカラーチャートを使った測色方法について、以下にその概略を説明する。
まず始めに、カラーチャート部203を測色する前に、測色者に対して、ストリップ測色によって測色行掲示パッチ201を測色するよう指示する。これにより、測色者は、測色行掲示パッチ201の201a〜201hの各カラーパッチを順次測色することになる。この作業を行うことによって、カラーチャート部203の各行の先頭部に付加された測色行特定パッチ202の特徴値がわかる。ここで、ストリップ測色とは、直線(ライン)状に配置された特定個数のカラーパッチを一度の操作で測色して、当該特定個数のカラーパッチそれぞれの測色値を取得する測色方法である。
その後、測色者に対して、カラーチャート部203を先頭行からストリップ測色により測色するよう指示する。これにより、測色者は、カラーチャートの指定行を測色機107によって測色することになる。このとき、各行に割り振られている測色行特定パッチ202も同時に読み込む。
測色機107で測色された測色値から、測色した行の測色行特定パッチ202の測色値と当該測色行に対応している測色行掲示パッチ201の測色値とを比較し、ほぼ同等(一定値内)の値であった場合には、正しく測色できたと判断し、当該測色行の情報と関連付けて測色行におけるカラーチャート部203の測色値を外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)する。
また、当該比較した結果、測色行の測色行特定パッチ202の測色値と当該測色行に対応している測色行掲示パッチ201の測色値との値が大きく異なる値であった場合には、測色者が、指示した行と異なる行をストリップ測色したと判断する。
また、ストリップ測色した行が異なっていた場合、測色者がどの行を測色したのかを調査するために、測色した行の測色行特定パッチ202の測色値と測色行掲示パッチ201の各パッチの測色値とを比較する。そして、この場合、最も近似した測色行掲示パッチ201の測色値に対応する行を測色者が測色したと判断する。この場合は、測色者が誤って測色した行を特定することができたので、当該特定した測色行の情報と関連付けて測色行におけるカラーチャート部203の測色値を外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)する。
次に、第1の実施形態に係る情報処理装置100の機能構成について説明を行う。
図3は、本発明の第1の実施形態に係る情報処理装置100の機能構成の一例を示す図である。本実施形態においては、例えば、CPU101及び外部メモリ110に記憶されているプログラムから、以下の各部151〜157が構成されている。
測色行掲示パッチ測色指示部151は、例えば、測色行掲示パッチ201(カラーチャート部の測色単位となるカラーパッチ群の位置を特定するために設けられた基準カラーパッチ部)の測色をユーザ(測色者)に対して指示すると共に、測色された測色行掲示パッチ201の測色値データ(測色行掲示パッチ測色値データ)を取得する処理を行うものである。この測色行掲示パッチ測色指示部151は、例えば、後述する図4のステップS101の処理を実行する。
測色行指示部152は、例えば、測色する行をユーザ(測色者)に対して指示する処理を行うものである。この測色行指示部152は、例えば、後述する図4のステップS104〜S107の処理を実行する。
測色データ取得部153は、例えば、測色値データ(測色行特定パッチ202の測色値データ及びカラーチャート部203の測色値データ)を取得する処理を行うものである。この測色データ取得部153は、例えば、後述する図4のステップS102〜103及びS108〜S110の処理を実行する。
誤測色判定部154は、例えば、測色行指示部152においてユーザ(測色者)に指示した測色行と、実際に測色された行とが一致するか判定をする処理を行うものである。この誤測色判定部154は、例えば、後述する図4のステップS115の処理を実行する。
測色行特定部155は、例えば、ユーザ(測色者)が測色した行を特定する処理を行うものである。この測色行特定部155は、例えば、後述する図4のステップS111〜S114の処理を実行する。
測色データ格納部156は、例えば、得られた測色値データを、測色行特定部155で特定した測色行における測色行番号データと関連付けて保存(格納又は入力)する処理を行うものである。この測色データ格納部156は、例えば、後述する図4のステップS115〜S119の処理を実行する。
測色終了部157は、例えば、測色の終了における処理を行うものである。この測色終了部157は、例えば、後述する図4のステップS120の処理を実行する。
次に、上述したカラーチャートの測色方法を踏まえた情報処理装置100の処理方法について説明する。
図4は、本発明の第1の実施形態に係る情報処理装置100の処理方法を示すフローチャートである。
まず、ステップS101において、CPU101は、出力された図2のカラーチャートの測色行掲示パッチ201を測色者に測色させるべく測色機107を用いた測色行掲示パッチ201の測色指示を行い、測色機107から入力された色情報に基づく測色処理を行う。この際、測色者に対する測色指示としては、例えば、CRT108に図5に示すような画像の表示を行うことでなされる。このステップS101による測色処理により、測色行掲示パッチ201の各カラーパッチ(201a〜201h)の測色値が取得される(即ち、基準カラーパッチ部を構成する複数のカラーパッチのそれぞれの測色値が順次取得される)。
続いて、ステップS102において、CPU101は、測色者による測色行掲示パッチ201の測色が成功したか否かを判断する。ここでは、例えば、測色機107から測色行掲示パッチ201の個数分(図2の例では8個)の測色値の入力があった場合に、測色が成功したと判断する。ステップS102の判断の結果、測色行掲示パッチ201の測色が失敗であった場合には(S102/NO)、例えば、CRT108に図6に示すような測色失敗の警告表示画像の表示を行った後、ステップS101に戻る。
一方、ステップS102の判断の結果、測色行掲示パッチ201の測色が成功であった場合には(S102/YES)、続いて、ステップS103において、CPU101は、測色行掲示パッチ201の測色された順(測色された位置)にインデックス番号を結びつけて各測色行掲示パッチ201a〜201hの測色値を、基準カラーパッチ部測色値記憶部110bに記憶する。このステップS103により、カラーチャート部203の測色単位である各行における測色順の設定がなされる(即ち、カラーチャートの測色単位となるカラーパッチ群の位置を特定するための設定がなされる)。
図7は、本発明の第1の実施形態における測色行掲示パッチ201の測色イメージとその測色値の格納イメージを示す模式図である。
図7(a)は、ステップS101の測色指示に基づいて測色者が測色行掲示パッチ201の測色を行った際の測色イメージを示している。具体的に、図7(a)には、測色者が測色機107を用いて測色行掲示パッチ201a〜201hまでを順に測色した様子(基準カラーパッチ部を構成する複数のカラーパッチのそれぞれの測色値を順次取得する様子)が示されている。また、図7(b)は、測色された測色行掲示パッチ201のイメージを示している。
図7(c)は、ステップS103で基準カラーパッチ部測色値記憶部110bに記憶された測色値の格納イメージを示している。1番目に測色した測色行掲示パッチ201aの測色値は、インデックス番号1として1行目を特徴付ける測色値として対応付けられて記憶され、2番目に測色した測色行掲示パッチ201bの測色値は、インデックス番号2として2行目を特徴付ける測色値として対応付けられて記憶される。このように、測色行掲示パッチ201a〜201hの全ての測色行掲示パッチにインデックス番号1〜8が結びつけられて、図7(c)に示すようなイメージで基準カラーパッチ部測色値記憶部110bに記憶される。また、図7(c)に示す例では、測色値として、デバイスに依存しない色空間(絶対色空間)であるL*a*b*の値が示されている。なお、ステップS103における測色値は、RAM103に記憶するように構成しても良い。
次のステップS104以降の処理は、カラーチャート部203を1行ずつ測色していく処理である。この測色の際には、各行のカラーチャート部の先頭に付加されている測色行特定パッチ202も同時に測色するものとする。
まず、ステップS104において、CPU101は、測色する行を特定するために、当該測色が新規測色であるか否かを判断する。なお、ここで、新規測色とは、新しいカラーチャートを測色することを意味し、新規測色でない場合は、既にカラーチャート部203内の行を測色している場合を意味する。
ステップS104の判断の結果、当該測色が新規測色である場合には(S104/YES)、続いて、ステップS105において、CPU101は、当該測色において測色予定の行(測色単位)を示す測色行番号を1に設定する。
一方、ステップS104の判断の結果、当該測色が新規測色でない場合には(S104/NO)、続いて、ステップS106において、CPU101は、当該測色における測色行番号を、未測色行番号の最小値に設定する。ここで、例えば、1行目のカラーチャート部203aの測色が既に行われている場合において、次いで測色を行う場合には、当該測色における測色行番号を2に設定する。また、例えば、1行目のカラーチャート部203a、2行目のカラーチャート部203b及び4行目のカラーチャート部203dの測色が既に行われている場合において、次いで測色を行う場合には、当該測色における測色行番号を3に設定する。
ステップS105又はS106の処理が終了すると、続いて、ステップS107において、CPU101は、CRT108に、例えば図8に示すように、ステップS105又はS106において設定した測色行番号に基づく設定行の測色を指示する画像を表示する。この際、測色すべき測色行の番号だけでなく、測色する色(例えば、測色する行特定パッチの色)も同時にCRT108に表示するようにすることも可能である。これにより、測色者は、今回の測色において測色すべき行を知ることができる。
ステップS107で、測色者に対して測色機107を用いた設定行のカラーチャート部203(測色行特定パッチ202も含む)の測色指示を行った後、続いて、ステップS108において、CPU101は、測色機107から入力された色情報に基づく測色処理を行う。このステップS108による測色処理により、測色単位である1行分のカラーチャート部(測色行特定パッチも含む)の各カラーパッチの測色値が取得される(即ち、カラーチャートの測色単位であるカラーパッチ群(203a〜203h)の測色値が取得される)。
続いて、ステップS109において、CPU101は、1行分のカラーチャート部(測色行特定パッチも含む)の測色が成功したか否かを判断する。ここでは、例えば、測色機107から1行分のカラーチャート部203(測色行特定パッチ202も含む)の個数分(図2の例では15個)の測色値の入力があった場合に、測色が成功したと判断する。よって、このステップS109の判断では、ステップS107で表示した設定行のカラーチャート部203(測色行特定パッチ202も含む)が実際に測色されたか否かについては判断されず、1行分のカラーチャート部203(測色行特定パッチ202も含む)が正常に測色されれば肯定判断される。
ステップS109の判断の結果、1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色が失敗であった場合には(S109/NO)、例えば、CRT108に図9に示すような測色失敗の警告表示画像の表示を行った後、ステップS107に戻る。
一方、ステップS109の判断の結果、1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色が成功であった場合には(S109/YES)、続いて、ステップS110において、CPU101は、測色した1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色値を一時記憶領域(例えば、RAM103)に記憶する。
続いて、ステップS111において、CPU101は、基準カラーパッチ部測色値記憶部110bに記憶されている各測色行掲示パッチ201a〜201hの測色値の中から、今回測色された測色行特定パッチ202の測色値と近似(ほぼ一致)するものを抽出する。これにより、CPU101は、測色単位となるカラーパッチ群のうちの所定位置に存在するカラーパッチ(測色行特定パッチ202)の測色値に対応する測色値をもつ、基準カラーパッチ部のカラーパッチ(測色行掲示パッチ201a〜201hのいずれか)を特定する。そして、近似する測色値が抽出できた場合には、当該測色値に対応するインデックス番号を取得する。これにより、CPU101は、今回測色されたカラーパッチ群におけるカラーチャート部203上での位置を決定する。
ここで、近似(ほぼ一致)する測色値とは、基準となる測色値に対してある一定の許容値の範囲内に属する測色値をいい、例えば、本実施形態においては、図7(c)に示すL*a*b*で示された測色値との差が、L*a*b*のそれぞれの値に対して±1の範囲内に属する測色値を意味するものとする。具体的に、例えば、測色された測色行特定パッチ202の測色値が(52.33,78.61,64.98)であった場合には、インデックス番号1に対応付けられた測色行掲示パッチ201aの測色値(52.91,79.48,65.34)がそれぞれ±1以内で近似(ほぼ一致)するため、これらの値は一致とみなす。また、近似する値、即ち一致とみなせる値がなかった場合には、インデックス番号をNULLとする。なお、ステップS111の処理として、例えば、今回測色された測色行特定パッチ202の測色値との差が一番小さい(一番近似する)測色行掲示パッチ201の測色値を抽出し、当該測色値に対応するインデックス番号を取得するようにしてもよい。
続いて、ステップS112において、CPU101は、ステップS111の抽出の結果、今回測色された測色行特定パッチ202の測色値と近似(ほぼ一致)する、即ち一致したとみなせる測色行掲示パッチ201a〜201hの測色値があったか否かを判断する。この際、近似する測色値があったか否かの判断は、例えば、ステップS110で取得したインデックス番号の値で判断することができる。この場合、具体的なインデックス番号の数値を取得できた場合には近似する測色値があったと判断し、インデックス番号がNULLである場合には近似する測色値がなかったと判断する。
ステップS112の判断の結果、今回測色された測色行特定パッチ202の測色値と近似(ほぼ一致)する測色行掲示パッチ201a〜201hの測色値がなかった場合には(S112/NO)、続いて、ステップS113において、CPU101は、例えば図10に示すように、今回の測色が正しく行われなかった旨の警告表示画像をCRT108に表示する。
続いて、ステップS114において、CPU101は、今回の測色で得られ、ステップS110で一時記憶領域(例えば、RAM103)に記憶していた1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色値を削除(破棄)する。
一方、ステップS112の判断の結果、今回測色された測色行特定パッチ202の測色値と近似(ほぼ一致)する測色行掲示パッチ201a〜201hの測色値があった場合には(S112/YES)、続いて、ステップS115において、CPU101は、ステップS111で取得したインデックス番号とステップS105又はS106で設定した測色行番号とが一致するか否かを判断する。つまり、ステップS115において、CPU101は、図8で表示した行(位置)と測色した1行分のカラーチャート部203の行(位置)とが一致するかを判定する。
ステップS115の判断の結果、ステップS111で取得したインデックス番号とステップS105又はS106で設定した測色行番号とが一致する場合には(S115/YES)、続いて、ステップS116に進む。
ステップS116において、CPU101は、設定された測色行番号(決定した位置)における行を測色者が正しく測色できたとして、ステップS110で一時記憶領域(例えば、RAM103)に記憶させていた1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色値から当該測色行特定パッチ202の測色値を除いた測色値を、当該測色行番号の行におけるカラーチャート部203の測色値として外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)する。即ち、決定した位置として、カラーパッチ群(1行分のカラーチャート部203)の測色値をカラーチャート部測色値記憶部110cに記憶する。
なお、既に該当する測色行番号の行に測色値が存在する場合には、例えば、図11に示すような上書きするか否かのメッセージに係る画像をCRT108に表示させるように構成しても良い。この場合、例えば図11に示す「はい」のボタンが操作されて上書きする指示があった場合には、今回測色した値で上書きし、例えば図11に示す「いいえ」のボタンが操作されて上書きする指示がなかった場合(上書きしない指示があった場合)は、上書き処理をせずに再度測色する旨のメッセージと、ステップS107で説明したのと同様のメッセージを表示させる。また、既に該当する測色行番号の行に測色値が存在する場合には、ステップS113へ処理が移るように構成しても良い。
ステップS115の判断の結果、ステップS111で取得したインデックス番号とステップS105又はS106で設定した測色行番号とが一致しない場合には(S115/NO)、続いて、ステップS117に進む。
ステップS117において、CPU101は、ステップS115で誤った行が測色されていると判断されているので、例えば図12に示すように、測色者に対して誤った行を測色している旨の警告表示画像をCRT108に表示し、測色者から測色行の修正指示があるか否かを判断する。この判断の結果、例えば図12に示す「いいえ」のボタンが操作されて測色者から測色行の修正指示がなかった場合には(S117/NO)、ステップS114に進み、CPU101は、今回の測色で得られ、ステップS110で一時記憶領域(例えば、RAM103)に記憶していた1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色値を削除(破棄)する。なお、修正指示とは、今測色して得られた測色値を破棄せず、該当する測色行を特定し、この特定した測色行の測色値とする指示のことを意味する。
一方、ステップS117の判断の結果、例えば図12に示す「はい」のボタンが操作されて測色者から測色行の修正指示があった場合には(S117/YES)、ステップS118に進み、CPU101は、ステップS110で一時記憶領域(例えば、RAM103)に記憶させていた1行分のカラーチャート部203(測色行特定パッチ202も含む)の測色値から当該測色行特定パッチ202の測色値を除いた測色値を、ステップS111で取得したインデックス番号に対応する測色行番号(例えば、ステップS105又はS106で設定された測色行番号がいずれの番号でも、インデックス番号が2なら測色行番号は2、インデックス番号が3なら測色行番号は3とする)の行におけるカラーチャート部203の測色値として、外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)する。即ち、ステップS118では、ステップS105又はS106で設定された測色行番号をインデックス番号に対応する測色行番号(決定した位置)に修正して、1行分のカラーチャート部203の測色値を保存(入力)する。即ち、決定した位置として、カラーパッチ群(1行分のカラーチャート部203)の測色値を記憶する。
ステップS115〜S118の処理について、具体例を挙げて説明する。
図13〜図15は、本発明の第1の実施形態における1行分のカラーチャート部(測色行特定パッチ202も含む)の測色イメージとその測色値の格納イメージを示す模式図である。
図13は、ステップS107において1行目のカラーチャート部(測色行特定パッチも含む)の測色を行う設定表示がなされ、測色者により1行目のカラーチャート部(測色行特定パッチも含む)が正しく測色された場合を示している。図13(a)は、測色者が1行目のカラーチャート部203a(測色行特定パッチ202aも含む)の測色を行った際の測色イメージを示している。図13(b)は、既に測色されたパッチのイメージが示されたものであり、この場合、既に、ステップS103において図7に示す測色行掲示パッチ201の測色がなされている状態である。この測色行掲示パッチ201の測色値は、外部メモリ110の基準カラーパッチ部測色値記憶部110bに既に記憶されている。
図13(c)は、外部メモリ110のカラーチャート部測色値記憶部110cにおける格納イメージを示している。図13に示す場合、測色者により1行目のカラーチャート部(測色行特定パッチも含む)が正しく測色されているため、ステップS115では肯定判断され、ステップS116に進む。そして、ステップS116において、測色された1行目のカラーチャート部203a(測色行特定パッチ202aも含む)の測色値から当該測色行特定パッチ202aの測色値を除いた測色値、即ち1行目のカラーチャート部203aのみの測色値(XXXXXXXXXXXXXX)が、測色行番号1の行におけるカラーチャート部の測色値として、外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)される。
続いて、図14に示す2回目の測色がなされた場合を考える。
図14は、ステップS107において2行目のカラーチャート部(測色行特定パッチも含む)の測色を行う設定表示がなされ、測色者により2行目のカラーチャート部(測色行特定パッチも含む)が正しく測色された場合を示している。図14(a)は、測色者が2行目のカラーチャート部203b(測色行特定パッチ202bも含む)の測色を行った際の測色イメージを示している。図14(b)は、既に測色されたパッチのイメージが示されたものであり、この場合、既に、図7に示す測色行掲示パッチ201の測色及び図13に示す1行目のカラーチャート部(測色行特定パッチも含む)の測色がなされている状態である。
図14(c)は、外部メモリ110のカラーチャート部測色値記憶部110cにおける格納イメージを示している。図14に示す場合も、測色者により2行目のカラーチャート部(測色行特定パッチも含む)が正しく測色されているため、ステップS115では肯定判断され、ステップS116に進む。そして、ステップS116において、測色された2行目のカラーチャート部203b(測色行特定パッチ202bも含む)の測色値から当該測色行特定パッチ202bの測色値を除いた測色値、即ち2行目のカラーチャート部203bのみの測色値(YYYYYYYYYYYYYY)が、測色行番号2の行におけるカラーチャート部の測色値として、外部メモリ110のカラーチャート部測色値記憶部110cに保存される。
続いて、図15に示す3回目の測色がなされた場合を考える。
図15は、ステップS107において3行目のカラーチャート部(測色行特定パッチも含む)の測色を行う設定表示がなされ、測色者により4行目のカラーチャート部203d(測色行特定パッチ202dも含む)が誤って測色された場合を示している。図15(a)は、測色者が誤って4行目のカラーチャート部203d(測色行特定パッチ202dも含む)の測色を行った際の測色イメージを示している。図15(b)は、既に測色されたパッチのイメージが示されたものであり、この場合、既に、図7に示す測色行掲示パッチ201の測色及び図13に示す1行目のカラーチャート部(測色行特定パッチも含む)の測色、並びに、図14に示す2行目のカラーチャート部(測色行特定パッチも含む)の測色がなされている状態である。
図15(c)は、外部メモリ110のカラーチャート部測色値記憶部110cにおける格納イメージを示している。図15に示す場合は、3行目のカラーチャート部を測色しなければならないところ、測色者により4行目のカラーチャート部203d(測色行特定パッチ202dも含む)が誤って測色されているため、ステップS115では否定判断され、ステップS117に進む。この場合、ステップS117において測色者から測色行の修正指示があったとする。そして、この場合、ステップS118では、ステップS106で設定された測色行番号3をインデックス番号4に対応する測色行番号4に修正して、4行目のカラーチャート部203dのみの測色値(ZZZZZZZZZZZZZZ)が、修正後の測色行番号4の行におけるカラーチャート部の測色値として、外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)される。
再び、図4のフローチャートの説明に戻る。
ステップS114、S116或いはS118の処理が終了すると、続いて、ステップS119において、CPU101は、図2に示すカラーチャート部203(測色行特定パッチ202も含む)の全行の測色が終了したか否かを判断する。この判断の結果、未だ測色を行っていない行がある場合には(S119/NO)、ステップS104に戻る。
一方、ステップS119の判断の結果、図2に示すカラーチャート部203(測色行特定パッチ202も含む)の全行の測色が終了した場合には(S119/YES)、続いて、ステップS120において、CPU101は、ステップS103において基準カラーパッチ部測色値記憶部110bに記憶させた各測色行掲示パッチ201a〜201hの測色値(図7(c)に示す測色値)を破棄する。その後、当該フローチャートにおける処理が終了する。
ここで、外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)されたカラーチャート部203の測色値(測色した色のうち、最終的に利用される測色値)は、カラーパッチの理論上の色値との対応関係を導出する目的で使用され、最終的にその対応関係を記述したプロファイルが作成される。
次いで、本実施形態に係る情報処理装置100の作用・効果について説明する。
本実施形態の情報処理装置100では、測色行掲示パッチ(基準カラーパッチ部)201を構成する各カラーパッチ(201a〜201h)の測色値を取得する第1の取得ステップ(S101)と、カラーチャート部203の測色単位であるカラーパッチ群(測色行特定パッチ202も含む)の測色値を取得する第2の取得ステップ(S108)と、ステップS108で測色値を取得したカラーパッチ群のうちの所定位置に存在する測色行特定パッチ202(第1のカラーパッチ)の測色値と、ステップS101で取得した測色行掲示パッチ201の各カラーパッチにおける測色値との近似を判定する判定ステップ(S112)と、ステップS112における判定の結果、測色行掲示パッチ201の各カラーパッチの測色値の中に測色行特定パッチ202の測色値と近似するものがある場合、当該近似する測色行掲示パッチ201のカラーパッチにおける測色値に対応した順番と関連付けて、ステップS108で取得したカラーパッチ群の測色値を記憶する測色値記憶ステップ(S116又はS118)の処理を行うようにしている。
また、ステップS116又はS118の測色値記憶ステップでは、測色行特定パッチ202(第1のカラーパッチ)の測色値を除くカラーチャート部203のカラーパッチ(第2のカラーパッチ(実測色カラーパッチ群)、203x〜203y)の測色値を記憶する処理を行うようにしている。
また、本実施形態の情報処理装置100では、ステップS101で取得した測色行掲示パッチ201を構成する各カラーパッチ(201a〜201h)の測色値の取得の順番に基づいて、カラーチャート部203の各測色単位における測色順を示す情報(インデックス情報)を設定する第1の設定ステップ(S103)と、ステップS108で取得される予定の測色単位を示す情報(測色行番号)を設定する第2の設定ステップ(S105又はS106)の処理を更に行うようにしている。
本実施形態の情報処理装置100によれば、予めカラーチャートの情報を保持すること無く、且つ、類似する色配列のカラーチャートであっても測色された測色単位(行又は列のラインを含む)の正確な判定を行うことが可能となる。
これにより、カラーチャートのパッチ配列構成の汎用性を向上させ、カラーチャート部203(測色後に測色値として使用するパッチ群)内に無駄なパッチをカラーチャートに含むことなく、最適な色のパッチ群でカラーチャートを作成することが可能となる。また、カラーチャートを作成する際の作成者の負担、やカラーチャートを作成する装置の処理を軽減させることが可能となる。即ち、色配列の類似性を考慮すること無く、どのような色配列のカラーチャートであっても使用することが可能となる。
なお、本実施形態においては、図2に示すカラーチャートにおいて、基準カラーパッチ部として、測色行掲示パッチ201を適用するようにしているが、測色行掲示パッチ201を構成せずに、測色行特定パッチ202を基準カラーパッチ部として適用する形態であってもよい。この場合、ステップS101において、測色指示として測色行特定パッチ202の202aから202hへ順次測色するように指示し、測色機107から入力された色情報に基づく測色処理を行う。そして、ステップS103において、この測色行特定パッチ202の測色順に基づいて、カラーチャート部203の測色単位である各行における測色順の設定を行う形態を採る。
また、実施形態においては、測色者により測色されるカラーチャート部203の測色単位として、行を例に挙げて説明してきたが、行に限らず列を測色単位とする形態であってもよい。即ち、本発明の測色単位としてラインを適用することができる。測色単位として、列を適用する場合には、図2に示す測色行特定パッチ202をカラーチャート部203の列に対応させて設け(即ち、カラーチャート部203の行方向に設け)、ステップS108の処理において、測色者に対して測色機107を用いた設定列のカラーチャート部203(測色行特定パッチも含む)の測色指示を行い、測色機107から入力された色情報に基づく測色処理を行う形態を採る。
更には、カラーチャート部203の測色単位として、上述したラインに限らず、例えば、カラーチャート部203を複数の領域からなるブロックに分割し、当該各ブロックを適用することもできる。この場合には、当該ブロックに対応させて、測色行特定パッチ202を設け、ステップS108の処理において、測色者に対して測色機107を用いた設定ブロックのカラーチャート部203(測色行特定パッチも含む)の測色指示を行い、測色機107から入力された色情報に基づく測色処理を行う形態を採る。
(第2の実施形態)
上述した第1の実施形態は、予め測色すべきカラーチャートの形式が決定している場合に有効な形態である。このため、予め設計済みのカラーチャートが存在する場合には有効であるものの、汎用性に課題が残る。また、測色行を特定するための測色行特定パッチは、相互に識別可能なように特徴的な色である必要があるが、カラーチャートの行数が多くなった場合、測色行特定パッチのパッチ数が不足する事態が考えられる。この場合、測色行特定パッチとして似たような色を選定せざるを得ないことが予想され、測色行の特定を正確に行えない恐れが生じるという課題も残る。
このような更なる課題を解決するためのアイデアを本発明の第2の実施形態として説明する。第2の実施形態では、測色すべきカラーチャートの形式が決められていない場合、例えば、ユーザからの入力情報に基づいて、カラーチャートを自動で生成する。
図16は、本発明の第2の実施形態に係る情報処理装置で用いるカラーチャートの一例を示す模式図である。
図16に示すカラーチャートは、測色行掲示パッチ1601と、測色行特定パッチ1602と、カラーチャート部1603とを有して生成される。ここで、カラーチャート部1603は、実際の測色対象であるカラーパッチ群である実測色カラーパッチ群を構成する。
この際、実測色カラーパッチ群であるカラーチャート部1603の全ての行には、定められた複数の測色行特定パッチが付与可能となっており、また、第1の実施形態で使用した図2のカラーチャートと比べて少ない測色行掲示パッチのパッチ数で構成されている。
測色行掲示パッチ1601は、その先頭から、0から始まるインデックス番号を順に割り当てており、各色のパッチに対してインデックス番号を関連付けている。
図16では、例えば、赤色の測色行掲示パッチ1601aに対してインデックス番号0を割り当て、緑色の測色行掲示パッチ1601bに対してインデックス番号1を割り当て、青色の測色行掲示パッチ1601cに対してインデックス番号2を割り当て、シアンの測色行掲示パッチ1601dに対してインデックス番号3を割り当て、マゼンタの測色行掲示パッチ1601eに対してインデックス番号4を割り当て、イエロー(黄色)の測色行掲示パッチ1601fに対してインデックス番号5を割り当てている。
これに対して、測色行特定パッチ1602においては、行数に対して、10進数の値から測色行掲示パッチ1601の個数の値(図16に示す例では「6」)へ進数変換を行い、進数変換した後に各桁の値に基づいて、測色行掲示パッチ1601における各色とインデックス番号との関係から、測色行特定パッチ1602の各パッチの色を決定している。なお、図16に示す測色行の行番号は、本実施形態の情報処理装置がカラーチャート生成プログラムを用いて内部的に処理する際の行番号が示されており、図16には、0行目〜35行目(実際に出力されるカラーチャートでは「1行目〜36行目」に相当する)36行が示されている。
図16に示す例では、測色行掲示パッチ1601のパッチ数が6なので、1行目(実際に出力されるカラーチャートでは「2行目」)の値を6進数に変換することで、当該1行目を示す値は「01」となる。そして、この場合、各桁の値と測色行掲示パッチ1601の色との関連を参照して、当該1行目の測色行特定パッチ1602の各バッチの色は、左から、赤、緑となる。
上述のようにして生成されたカラーチャートは、例えば、指定されたプリンタから出力される。このようにして自動で生成され出力されたカラーチャートを使った測色方法について、以下に、その処理の概要を説明する。
まず、本実施形態の情報処理装置は、ユーザ(測色者)に対して測色行掲示パッチ1601をストリップ測色するように指示する。この指示によって、ユーザにより測色行掲示パッチ1601が測色される。この作業を行うことによって、測色行掲示パッチ1601に関連付けられているインデックス番号における特徴値が取得できる。
続いて、本実施形態の情報処理装置は、ユーザ(測色者)に対してカラーチャート部1603(測色行特定パッチ1602も含む)を先頭行からストリップ測色によって測色するよう指示する。この指示によって、ユーザによりカラーチャート部1603の指定行が測色機によって測色される。この際、各行に割り振られている測色行特定パッチ1602も同時に測色される。
続いて、本実施形態の情報処理装置は、測色した行に存在する全ての測色行特定パッチ1602の測色値について、測色行掲示パッチ1601の測色値と比較して、ほぼ一致する同等の値を探索する。この探索の結果、ほぼ一致する同等の値が存在する場合には、測色行掲示パッチ1601の測色値に対応する色が判断できるので、その色に関連付けられているインデックス番号を割り出す。そして、割り出した全ての測色行特定パッチにおけるインデックス番号を10進数の値に変換することによって、ユーザ(測色者)が測色した測色行番号を判断することができる。
続いて、本実施形態の情報処理装置は、ユーザ(測色者)が測色した測色行番号と、ユーザ(測色者)に指示した測色行番号とが一致しているか否かを判断する。そして、この判断の結果、一致していた場合には、正しい測色行が測色されたと判断して、当該測色行におけるカラーチャート部1603の測色値を、当該測色行の測色値として所定のデータ格納領域に保存(入力)する。一方、一致していなかった場合には、誤った測色行が測色されたと判断して、測色行特定パッチ1602の測色値と測色行掲示パッチ1601の測色値から、実際に測色された測色行を特定し、実際に測色された測色行におけるカラーチャート部1603の測色値を、特定された測色行の測色値として所定のデータ格納領域に保存(入力)する。
図17は、本発明の第2の実施形態に係る情報処理装置200のシステム構成の一例を示す図である。図17において、図1に示す構成と同様の構成については同じ符号を付しており、その詳細な説明は省略する。
図17に示すプリンタ112は、例えば、CPU101が外部メモリ210に格納されているカラーチャート生成プログラムを用いて自動で生成した図16に示すカラーチャートを出力するためのものである。このプリンタ112は、周辺機器インタフェース105と接続されている。
図17に示す外部メモリ210には、図1の外部メモリ110に構成されている各記憶部(110a〜110c)に加えて、測色行掲示パッチ色記憶部110d、カラーチャート構成データ記憶部110e及びカラーチャートイメージデータ記憶部110fが構成されている。
測色行掲示パッチ色記憶部110dは、基準カラーパッチ部である測色行掲示パッチ1601として使用できる色の情報が予め記憶されている。カラーチャート構成データ記憶部110eは、生成されたカラーチャートにおけるカラーチャート構成データを記憶するものである。カラーチャートイメージデータ記憶部110fは、生成されたカラーチャートにおけるカラーチャートイメージデータを記憶するものである。
図18は、本発明の第2の実施形態に係る情報処理装置200の機能構成の一例を示す図である。本実施形態においては、例えば、CPU101及び外部メモリ210に記憶されているプログラムから、以下の各部251〜269が構成されている。
カラーチャート作成データ入力部251、カラーチャートデータ自動生成部252、測色行掲示パッチデータ自動生成部253、測色行特定パッチデータ自動生成部254、カラーチャートイメージデータ生成部255、カラーチャート出力プリンタ選択部256、及び、カラーチャートイメージ出力部257は、誤測色自動修正(誤測色自動判定)を行うためのカラーチャートを生成するカラーチャート生成機能を有する部分であり、後述する図19のステップS1の処理で必要な機能群である。
測色行掲示パッチ測色指示部258、測色行指示部259、測色データ取得部260、誤測色判定部261、測色行特定部262、測色データ格納部263、及び、測色終了部264は、測色機107より得られた測色値が、指示した行の測色値であるか否かを判断し、指示した行の測色値でない場合に自動修正等を行う機能を有する部分であり、後述する図19のステップS2の処理で必要な機能群である。
ヘッダパッチ群データ作成部265、カラーチャート構成データ・カラーチャートイメージデータ保存部266、ヘッダパッチ群測色指示部267、ID値算出部268、及び、カラーチャート構成データ読込部269は、作成したカラーチャート構成データ及びカラーチャートイメージデータを保存(入力)する処理や、保存(入力)したカラーチャート構成データを利用する処理時に必要な機能群であり、必要に応じて、後述する図19のステップS1、ステップS2の処理で用いられる機能群である。
図19は、本発明の第2の実施形態に係る情報処理装置200の処理方法を示すフローチャートである。
まず、ステップS1において、CPU101は、誤測色自動修正(誤測色自動判定)を行うためのカラーチャートを生成するカラーチャート生成処理を行う。
続いて、ステップS2において、CPU101は、ステップS1で生成されたカラーチャートの測色値データ取得処理を行う。
図20は、図19のステップS1における詳細な処理の一例を示すフローチャートである。
まず、ステップS11において、CPU101は、カラーチャート作成データ入力部251の機能を実行し、カラーチャート作成のための基本情報をユーザもしくはファイルから取得する。即ち、ここでは、基本情報入力を行う。
具体的に、本実施形態では、CPU101は、例えば図21に示すようなユーザインタフェースをCRT108に表示して、ユーザに対して、カラーチャート部(実測色カラーパッチ群)1603の色データ、パッチ幅及び高さ、パッチ数、用紙サイズ、マージン、パッチ色空間データ等の各情報を入力させるように促し、カラーチャート作成に必要な基本情報を取得する。そして、CPU101は、取得した基本情報を、例えば、RAM103に保存(入力)する。また、図21に示すユーザインタフェースで「既存」が選択され、ユーザがカラーチャート構成データファイルを選択した場合、カラーチャート構成データ記憶部110eに保存(記憶)されているカラーチャート構成データをRAM103に読み込み、読み込んだカラーチャート構成データを用いて次の処理を進めても良い。
なお、図21に示すユーザインタフェースでは、作成したカラーチャートを印刷出力する周辺機器インタフェース105に複数接続されているプリンタ(112)を特定するため、カラーチャート出力プリンタ選択部256で処理される「プリンタ」の選択機能も併せ持つようになっているが、これは、カラーチャート作成後に、カラーチャートを印刷出力するためのプリンタ(112)を選択するように処理を行ってもよい。
続いて、ステップS12において、CPU101は、カラーチャートの自動作成に必要なデータを求めるカラーチャートデータ自動生成部252の機能を実行し、ステップS11でユーザから取得してRAM103に保存して(記憶されて)いる用紙サイズ、パッチ幅及び高さのパッチサイズ、マージンサイズの情報を読み込み、1枚の用紙に配置可能なパッチのパッチ数、行数及び列数を計算し、RAM103に保存(入力)する。この際、行数には、カラーチャート部1603のみならず測色行掲示パッチ1601も含まれ、列数には、カラーチャート部1603のみならず測色行特定パッチ1602も含まれる。
ステップS12における計算方法の一例を以下に示す。
用紙サイズ:縦…H、横…W
マージンサイズ:上…um、下…dm、左…lm、右…rm
パッチサイズ:縦…ph、横…pw
とした場合、
行数=((H−um−dm)/ph)
列数=((W−lm−rm)/pw)
パッチ数=行数×列数
但し、行数及び列数で求められた値は、小数点以下で切捨てを行う。
続いて、ステップS13において、CPU101は、更にカラーチャートデータ自動生成部252の機能を実行し、測色行掲示パッチ1601のパッチ数と測色行特定パッチ1602のパッチ数を計算する。
以下に、このステップS13における詳細な処理について説明する。
図22は、図20のステップS13における詳細な処理の一例を示すフローチャートである。
図20のステップS13の処理では、まず、ステップS1301において、CPU101は、各種の変数及び定数の設定を行う。
具体的には、ステップS12で算出した列数を示す変数Rを設定する。また、測色行掲示パッチ1601のパッチ数を示す変数Mを設定し、測色行特定パッチ1602の1行当たりのパッチ数を示す変数Sを設定する。さらに、ステップS11で取得した入力パッチ数を示す変数Ipatchを設定する。さらに、測色行掲示パッチ色記憶部110dに記憶されている色の情報に基づく色数の最大値を示す定数Mmaxを設定する。さらに、実測色カラーパッチ群の行数を示す変数Plineを設定する。さらに、変数M及び変数Sから求めた行特定判断可能行数を示す変数MaxLineを設定する。
続いて、ステップS1302において、CPU101は、初期化処理を行う。
具体的には、処理対象の列数を示す変数Rに1を減算して、処理対象の列数Rを変更する。この際、変数Rをデクリメントする理由は、用紙に配置可能な列数のうちの少なくとも1列は、測色行特定パッチ1602を配置する必要があるためである。さらに、変数M及び変数Sに1を設定し、変数MaxLineに0を設定して、初期化を行う。
続いて、ステップS1303において、CPU101は、行特定判断可能行数MaxLine、及び、実測色カラーパッチ群の行数Plineを以下の数式により算出する。
MaxLine=MS
Pline=Ipatch/R(小数点切り上げ)
続いて、ステップS1304において、CPU101は、ステップS1303で算出した実測色カラーパッチ群の行数Plineが行特定判断可能行数MaxLine以下であるか否かを判断する。
ステップS1304の判断の結果、実測色カラーパッチ群の行数Plineが行特定判断可能行数MaxLineを超える場合には(S1304/NO)、現在の測色行掲示パッチ1601のパッチ数M、及び、現在の測色行特定パッチ1602の1行当たりのパッチ数Sからでは、全ての実測色カラーパッチ群の測色行を特定することができないと判断されるので、ステップS1305に進む。
ステップS1305に進むと、CPU101は、現在の測色行掲示パッチ1601のパッチ数Mに1を加算して、処理対象の測色行掲示パッチ1601のパッチ数Mを変更する。
続いて、ステップS1306において、CPU101は、測色行掲示パッチ1601のパッチ数Mが測色行掲示パッチ1601の最大値Mmax以下であるか否かを判断する。
ステップS1306の判断の結果、測色行掲示パッチ1601のパッチ数Mが測色行掲示パッチ1601の最大値Mmax以下である場合には(S1306/YES)、ステップS1303に戻る。
一方、ステップS1306の判断の結果、測色行掲示パッチ1601のパッチ数Mが測色行掲示パッチ1601の最大値Mmaxを超える場合には(S1306/NO)測色行掲示パッチ1601として選択できる色が無くなるため、ステップS1307に進む。
ステップS1307に進むと、CPU101は、測色行掲示パッチ1601のパッチ数Mを1に戻して、測色行特定パッチ1602の1行当たりのパッチ数Sに1を加算してインクリメントする処理を行う。さらに、CPU101は、用紙に配置可能な列数から測色行特定パッチ1602を配置する領域が1列増えたため、処理対象の列数Rに1を減算してデクリメントする処理を行う。その後、ステップS1303に戻る。
一方、ステップS1304の判断の結果、実測色カラーパッチ群の行数Plineが行特定判断可能行数MaxLine以下である場合には(S1304/YES)、現在の測色行掲示パッチ1601のパッチ数M、及び、現在の測色行特定パッチ1602の1行当たりのパッチ数Sで、全ての実測色カラーパッチ群の測色行を特定することが可能になると判断できるので、ステップS1308に進む。ステップS1308に進むと、CPU101は、現在の測色行掲示パッチ1601のパッチ数M、及び、現在の測色行特定パッチ1602の1行当たりのパッチ数S、並びに、実測色カラーパッチ群の行数Plineの値をRAM103に保存(入力)する。以上のステップS1301〜ステップS1308の処理を経ることで、図20のステップS13がなされる。
ここで、図20の説明に戻る。
図20のステップS13の処理が終了すると、ステップS14に進む。
ステップS14に進むと、CPU101は、測色行掲示パッチデータ自動生成部253の機能を実行し、測色行掲示パッチ1601の色を決定する処理を行う。
以下に、このステップS14における詳細な処理について説明する。
図23は、図20のステップS14における詳細な処理の一例を示すフローチャートである。
図20のステップS14の処理では、まず、ステップS1401において、CPU101は、各種の変数及び定数の設定を行う。
具体的には、ステップS13で算出されてRAM103に保存(記憶)されている測色行掲示パッチ1601のパッチ数を示す定数Mを設定する。また、測色行掲示パッチ1601として選択した色を示す変数Mcolor[M]を設定する。さらに、測色行掲示パッチ1601として選択できる候補色を示す変数Color[9]を設定する。この際、候補色は、予め決定されており、本実施形態では、9色の候補色を用意しているという想定で、大きさ9の配列を持っている。
続いて、ステップS1402において、CPU101は、予め用意してある測色行掲示パッチ1601として選択できる色データを測色行掲示パッチ色記憶部110dから読み込み、これを変数Colorに設定する。
続いて、ステップS1403において、CPU101は、後述するステップS1404〜S1407のループで使用するカウンタ値Iを0として初期化を行う。
ステップS1404〜S1407はループ処理となっており、カウンタ値Iが測色行掲示パッチ1601のパッチ数Mの値以上になるまで処理が繰り返し行われる。
ステップS1405において、CPU101は、測色行掲示パッチ候補色の変数Color[I]に格納されている色を、測色行掲示パッチ1601のI番目の色として使用するため、測色行掲示パッチ選択色の変数Mcolor[I]に設定する。
続いて、ステップS1406において、CPU101は、カウンタ値Iに1を加算して、カウンタ値Iをインクリメントする処理を行う。
ステップS1404〜S1407のループ処理を抜けた後、続いて、ステップS1408において、CPU101は、変数Mcolorにおける色データをRAM103に保存(入力)する。以上のステップS1401〜ステップS1408の処理を経ることで、図20のステップS14がなされる。
ここで、図20の説明に戻る。
図20のステップS14の処理が終了すると、ステップS15に進む。
ステップS15に進むと、CPU101は、測色行特定パッチデータ自動生成部254の機能を実行し、ステップS14で決定した測色行掲示パッチ1601の色の情報に基づいて、測色行特定パッチ1602の色を決定する処理を行う。
以下に、このステップS15における詳細な処理について説明する。
図24は、図20のステップS15における詳細な処理の一例を示すフローチャートである。また、図25は、図24のフローチャートにおける処理の一例を示す模式図である。
図20のステップS15の処理では、まず、ステップS1501において、CPU101は、各種の変数及び定数の設定を行う。
具体的には、ステップS13で算出されてRAM103に保存(記憶)されている測色行掲示パッチ1601のパッチ数を示す定数Mを設定する。また、ステップS13で算出されてRAM103に保存(記憶)されている測色行特定パッチ1602の1行当たりのパッチ数を示す定数Sを設定する。さらに、ステップS13で算出されてRAM103に保存(記憶)されている実測色カラーパッチ群の行数を示す定数Plineを設定する。さらに、ステップS14でRAM103に保存された測色行掲示パッチ1601として選択した色を示す変数Mcolor[M]を設定する。さらに、実測色カラーパッチ群の各行に付与する測色行特定パッチ1602として選択された色を示す2次元の変数Lcolor[Pline][S]を設定する。
続いて、ステップS1502において、CPU101は、後述するステップS1503〜S1512のループで使用するカウンタ値Lを0として初期化を行う。ここで、Lは、行番号を示す値であり、以下のループ処理では、L行目の測色行特定パッチ1602の色を選択する処理が行われる。
ステップS1503〜S1512はループ処理となっており、カウンタ値Lが実測色カラーパッチ群の行数Plineの値以上になるまで処理が繰り返し行われる。
ステップS1504において、CPU101は、Lの値をM進数の値にする進数変換を行い、変数Nに格納する。これを行う理由について、以下に説明する。
測色行掲示パッチ1601はM個存在し、それぞれ、0〜(M−1)の番号(図25に示す「インデックス番号」)が振られている。このインデックス番号の情報からL行目の測色行特定パッチ1602の色を決定する際に、単純にLの値を使用しても、Lのある桁の値が(M−1)の値を超えていた場合、測色行掲示パッチ1601の色を示す変数Mcolorの番号に存在しない値のため、測色行特定パッチ1602の色を選択することが不可能となる。したがって、Lの値が(M−1)を超えないようにM進数変換を行い(図25に示す「M進数変換」)、M進数変換を行った結果の各桁の数値から測色行掲示パッチ1601の色を示す変数Mcolorを参照(図25に示す「測色行掲示パッチ色参照」)し、インデックス番号と対応する色を測色行特定パッチ1602の色として使用するためである。
続いて、ステップS1505において、CPU101は、測色行特定パッチ1602の1行当たりのパッチ数Sを変数Dに設定し、後述するステップS1506〜S1510のループで使用するカウンタ値Dの初期化を行う。
ステップS1506〜S1510はループ処理となっており、カウンタ値Dが0以下になるまで処理が繰り返し行われる。この処理は、図25に示す「測色行掲示パッチ色参照」に該当する処理である。
ステップS1507において、CPU101は、M進数変換した結果が格納されている変数NのD桁目の値を取得し、変数Vに設定する。
続いて、ステップS1508において、CPU101は、変数McolorのV番目における色データを取得する。そして、CPU101は、取得した色データを変数Lcolor[L][D]に設定する処理を行う。
続いて、ステップS1509において、CPU101は、変数Dに1を減算してデクリメントを行う。その後、ステップS1507に戻り、次の桁の測色行特定パッチ1602の色を選択する処理が行われる。
ステップS1506〜S1510のループ処理を抜けた後、続いて、ステップS1511において、CPU101は、この処理までに変数L行目の測色行特定パッチ1602の色が全て選択されたので、変数Lに1を加算してインクリメントする。その後、ステップS1504に戻り、次の行番号の測色行特定パッチ1602の色を選択する処理が行われる。
そして、全ての測色行特定パッチ1602のパッチ色が決定してステップS1503〜S1512のループ処理を抜けると、ステップS1513において、CPU101は、変数Lcolorにおける色データをRAM103に保存(入力)する。以上のステップS1501〜ステップS1513の処理を経ることで、図20のステップS15がなされる。
ここで、図20の説明に戻る。
図20のステップS15の処理が終了すると、ステップS16に進む。
ステップS16に進むと、CPU101は、カラーチャートイメージデータ生成部255の機能を実行し、ステップS11〜ステップS15の処理で得られた情報を用いて、誤測色自動修正を行うためのカラーチャートイメージデータを作成する処理を行う。ここで、例えば、CPU101は、図16に示すようなカラーチャートイメージデータを作成し、外部メモリ110のカラーチャート記憶部110aに保存(入力)する。
続いて、ステップS17において、CPU101は、カラーチャートイメージ出力部257の機能を実行し、ステップS16で作成したカラーチャートイメージデータを、例えば、図21に示すユーザインタフェースの「プリンタ」で指定されたプリンタ(112)から出力する処理を行う。以上のステップS11〜ステップS17の処理を経ることで、図19のステップS1がなされる。
次に、図19のステップS2において行われるカラーチャートの測色値データ取得処理の詳細について説明する。
図26は、図19のステップS2における詳細な処理の一例を示すフローチャートである。
まず、ステップS201において、CPU101は、測色行掲示パッチ測色指示部258の機能を実行し、ステップS1で生成されて出力された図16のカラーチャートの測色行掲示パッチ1601を測色者(ユーザ)に測色させるべく測色機107を用いた測色行掲示パッチ1601の測色指示を、例えば、CRT108に図5に示すような画像の表示することで行う。
その後、測色者(ユーザ)が測色機107を用いて基準カラーパッチ部である測色行掲示パッチ1601の測色を実施すると、続いて、ステップS202において、CPU101は、測色データ取得部260の機能を実行し、測色された測色行掲示パッチ1601の測色値を取得する。即ち、基準カラーパッチ部を構成するカラーパッチのそれぞれの測色値を順次取得する。そして、CPU101は、取得した測色行掲示パッチ1601の測色値を一時記憶領域(例えば、RAM103)に記憶する。このCPU101の測色データ取得部260の機能は、後述するステップS203〜ステップS205においても実行される。
続いて、ステップS203において、CPU101は、測色者による測色行掲示パッチ1601の測色が成功したか否かを判断する。このステップS203の詳細な処理については、図4のステップS102と同様である。
ステップS203の判断の結果、測色行掲示パッチ1601の測色が失敗であった場合には(S203/NO)、ステップS204に進む。ステップS204に進むと、CPU101は、CRT108に、例えば図6に示すような測色失敗の警告表示画像の表示を行う。その後、ステップS201に戻る。
一方、ステップS203の判断の結果、測色行掲示パッチ1601の測色が成功であった場合には(S203/YES)、ステップS205に進む。ステップS205に進むと、CPU101は、測色行掲示パッチ1601の測色値の取得順に(即ち、測色行掲示パッチ1601の測色された順に)インデックス番号を結びつけて各測色行掲示パッチ1601a〜1601fの測色値を、基準カラーパッチ部測色値記憶部110bに記憶する。
次のステップS206以降の処理は、カラーチャート部(実測色カラーパッチ群)1603を測色単位である1行ずつ測色していく処理である。この測色の際には、各行のカラーチャート部(実測色カラーパッチ群)1603の先頭に付加されている測色行特定パッチ1602も同時に測色するものとする。
ステップS206において、CPU101は、測色行指示部259の機能を実行し、測色する行を特定するために、当該測色が新規測色であるか否かを判断する。このCPU101の測色行指示部259の機能は、後述するステップS207〜ステップS209においても実行される。なお、ここで、新規測色とは、新しいカラーチャートを測色することを意味し、新規測色でない場合は、既にカラーチャート部1603内の行を測色している場合を意味する。
ステップS206の判断の結果、当該測色が新規測色である場合には(S206/YES)、続いて、ステップS207において、CPU101は、当該測色において測色予定の行(測色単位)を示す測色行番号を1に設定する。この際、図16に示されている行番号0が測色行番号1に対応するものとする。以下、同様に、図16に示されている行番号1、2、・・・が、それぞれ、測色行番号2、3、・・・に対応するものとする。
一方、ステップS206の判断の結果、当該測色が新規測色でない場合には(S206/NO)、続いて、ステップS208において、CPU101は、当該測色における測色行番号(予測測色行番号/次に測色する行番号)を、未測色行番号の最小値に設定する。ここで、例えば、図16に示す0行目(即ち、測色行番号1)のカラーチャート部1603の測色が既に行われている場合において、次いで測色を行う場合には、当該測色における測色行番号を2に設定する。また、例えば、図16に示す0行目のカラーチャート部1603、1行目(即ち、測色行番号2)のカラーチャート部1603及び3行目(即ち、測色行番号4)のカラーチャート部1603の測色が既に行われている場合において、次いで測色を行う場合には、当該測色における測色行番号を3(即ち、測色行番号3)に設定する。
ステップS207又はS208の処理が終了すると、続いて、ステップS209において、CPU101は、CRT108に、例えば図8に示すように、ステップS207又はS208において設定した測色行番号に基づく設定行の測色を指示する画像を表示する。これにより、測色者(ユーザ)に対して、ステップS207又はS208において設定した設定行の測色指示がなされる。
その後、測色者(ユーザ)による測色機107を用いた1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色が実施されると、続いて、ステップS210において、CPU101は、測色データ取得部260の機能を実行し、測色機107から入力された色情報に基づく測色値を取得する。即ち、カラーパッチ群(1行分のカラーチャート部1603)の測色値を取得する。このCPU101の測色データ取得部260の機能は、後述するステップS211〜ステップS213においても実行される。
続いて、ステップS211において、CPU101は、1行分のカラーチャート部(測色行特定パッチも含む)の測色が成功したか否かを判断する。ここでは、例えば、測色機107から1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の個数分(図16の例では12個)の測色値の入力があった場合に、測色が成功したと判断する。このステップS211における詳細な判断については、図4のステップS109と同様である。
ステップS211の判断の結果、1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色が失敗であった場合には(S211/NO)、ステップS212に進む。ステップS212に進むと、CPU101は、例えば、CRT108に図9に示すような測色失敗の警告表示画像の表示を行う。その後、ステップS209に戻る。
一方、ステップS211の判断の結果、1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色が成功であった場合には(S211/YES)、ステップS213に進む。ステップS213に進むと、CPU101は、測色した1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色値を一時記憶領域(例えば、RAM103)に記憶する。
続いて、ステップS214において、CPU101は、測色された測色行がカラーチャートの何行目であるのかを特定する測色行特定部262の機能を実行し、測色行特定パッチ1602及び測色行掲示パッチ1601の測色値から、インデックス番号を取得する処理を行う。つまり、測色行特定パッチ1602の測色値に対応する測色値をもつ測色行掲示パッチ1601のカラーパッチを特定する。このCPU101の測色行特定部262の機能は、後述するステップS215〜ステップS217においても実行される。
以下に、このステップS214における詳細な処理について説明する。
図27は、図26のステップS214における詳細な処理の一例を示すフローチャートである。また、図28は、図27のフローチャートにおける処理の一例を示す模式図である。
図26のステップS214の処理では、まず、ステップS21401において、CPU101は、各種の変数及び定数の設定を行う。
具体的には、ステップS13で算出されてRAM103に保存(記憶)されている測色行掲示パッチ1601のパッチ数を示す定数Mを設定する。また、ステップS13で算出されてRAM103に保存(記憶)されている測色行特定パッチ1602の1行当たりのパッチ数を示す定数Sを設定する。さらに、ステップS202で取得されてRAM103に保存(記憶)されている測色行掲示パッチ1601の測色値を示す変数Mmeasure[M]を設定する。さらに、ステップS213で取得されてRAM103に保存(記憶)されている測色行特定パッチ1602の測色値を示す変数Smeasure[S]を設定する。インデックス番号を示す変数Sindex[S]を設定する。
続いて、ステップS21402において、CPU101は、後述するステップS21403〜S21413のループで使用するカウンタ値Scountを0として初期化を行う。
ステップS21403〜S21413はループ処理となっており、カウンタ値Scountが測色行特定パッチ1602の1行当たりのパッチ数S以上になるまで処理が繰り返し行われる。
ステップS21404において、CPU101は、後述するステップS21405〜S21409のループで使用するカウンタ値Mcountを0として初期化を行う。
ステップS21405〜S21409はループ処理となっており、カウンタ値カウンタ値Mcountが測色行掲示パッチ1601のパッチ数M以上になるまで処理が繰り返し行われる。
ステップS21406において、CPU101は、測色行特定パッチ1602の測色値を示す変数Smeasure[Scount]の測色値(図28に示す「測色行特定パッチ測色値」)と、測色行掲示パッチ1601の測色値を示す変数Mmeasure[Mcount]の測色値(図28に示す「測色行掲示パッチ測色値」)との差を計算し、この差を変数Deltaに設定する。
ここで、1つのパッチにおける測色値は、例えば、いわゆる、L、a、bの3つの要素から成り立っている。ここで、変数Smeasure[Scount]における1つの測色値をL1、a1、b1とし、変数Mmeasure[Mcount]における1つの測色値をL2、a2、b2とした場合、下記に示す数式により、その差(Delta)を計算することができる。
Delta=((L1−L2)2+(a1−a2)2+(b1−b2)2)0.5
ステップS21407において、CPU101は、ステップS21406で算出した変数Deltaの値が基準値以下であるか否かを判断する。このステップS21407で使用する基準値としては、例えば、数値として同じ色であると判断できるような値を適用することが望ましい。例えば、L*a*b*の色差の場合、一般的に色差が5程度は同等と判断することができるので、ここでは、基準値として5を想定する。
ステップS21407の判断の結果、ステップS21406で算出した変数Deltaの値が基準値を超える場合には(S21407/NO)、ステップS21408に進む。ステップS21408に進むと、CPU101は、変数Mcountに1を加算してインクリメントを行う。
そして、ステップS21405〜S21409のループを抜けると、この場合は、測色行掲示パッチ1601の測色値に、測色行特定パッチ1602の当該測色値に近似する近似値がないと判断できるため、続いて、ステップS21410において、CPU101は、近似値なしフラグを立てる。その後、処理を終了する。
一方、ステップS21407の判断の結果、ステップS21406で算出した変数Deltaの値が基準値以下である場合には(S21407/YES)、測色行掲示パッチ1601のMcount番目の色と、測色行特定パッチ1602のScount番目の色とが同じであると判断できるので、ステップS21411において、CPU101は、該当する測色行掲示パッチ1601のインデックス番号を取得する処理(図28に示す「測色行掲示パッチ測色値参照」の部分で行われる処理)を行う。具体的に、ステップS21411では、変数Mcountの値を変数Sindex[Scount]に設定する。
続いて、ステップS21412において、CPU101は、次の測色行特定パッチ1602のインデックス番号を取得する処理を行うため、変数Scountに1を加算してインクリメントする。
そして、ステップS21403〜S21413のループを抜けると、ある行の測色行特定パッチ1602におけるインデックス番号が取得された状態となるため、続いて、ステップS21414において、CPU101は、取得された変数Sindexの値をRAM103に保存(入力)する。以上のステップS21401〜ステップS21414の処理を経ることで、図26のステップS214がなされる。
ここで、図26の説明に戻る。
図26のステップS214の処理が終了すると、ステップS215に進む。
ステップS215に進むと、CPU101は、近似値なしフラグの有無を検出して近似する測色値があったか否かを判断する。即ち、ここでは、近似値なしフラグがある(近似値なしフラグが立っている)場合には、近似する測色値がないと判断され、近似値なしフラグが無い場合には、近似する測色値があると判断される。
ステップS215の判断の結果、近似値なしフラグが無い場合、即ち、近似する測色値がある場合には(S215/YES)、ステップS216に進む。ステップS216に進むと、CPU101は、ステップS214で取得したインデックス番号に基づいて、測色行の割り出し処理を行う。このステップS216の概略としては、ステップS214で取得したインデックス番号をM進数〜10進数へ進数変換(図28に示す「10進数変換」)を行って測色行を割り出す処理である。このステップS216の処理により、測色行が割り出されて実測色番号が設定されることになる。即ち、CPU101は、測色された測色行(カラーパッチ群)がカラーチャート部1603のどの位置かを決定する。
以下に、このステップS216における詳細な処理について説明する。
図29は、図26のステップS216における詳細な処理の一例を示すフローチャートである。
図26のステップS216の処理では、まず、ステップS21601において、CPU101は、各種の変数及び定数の設定を行う。
具体的には、ステップS13で算出されてRAM103に保存(記憶)されている測色行掲示パッチ1601のパッチ数を示す定数Mを設定する。また、ステップS13で算出されてRAM103に保存(記憶)されている測色行特定パッチ1602の1行当たりのパッチ数を示す定数Sを設定する。さらに、ステップS214の処理で取得されRAM103に保存(記憶)されているインデックス番号を示す変数Sindex[S]を設定する。さらに、測色行を示す変数Lineを設定する。
続いて、ステップS21602において、CPU101は、ステップS21601で設定した設定値の初期化を行う。
具体的には、測色行を示す変数Lineを1に初期化する。これは、測色者(ユーザ)に示す測色行の測色行番号が1から始まるのに対して、図16に示すように内部的には0行目から始まるので、整合性を保つために1で初期化をしている。さらに、ステップS21603〜S21606のループで使用するカウンタ値Pを変数S−1として初期化を行っている。同様に、ステップS21603〜S21606の処理で使用するカウンタ値Indexを0として初期化を行っている。
ステップS21603〜S21606はループ処理となっており、カウンタ値Pが0未満になるまで処理が繰り返し行われる。
ステップS21604において、CPU101は、インデックス番号の10進数変換(図28に示す「10進数変換」)を行い、測色者(ユーザ)が実際に測色した実測色行番号(図28に示す「実測色行番号」)を算出する。変数Sindexの0番目のインデックス番号はM進数のS桁目の数値、変数Sindexの1番目のインデックス番号はM進数の(S−1)桁目の数値となることから10進数変換処理を行っている。
そして、測色者(ユーザ)が測色した測色行における処理が終了すると、ステップS21603〜S21606のループを抜けて、ステップS21607に進む。ステップS21607に進むと、CPU101は、算出されたLineの値を測色行としてRAM103に保存(入力)する。以上のステップS21601〜ステップS21607の処理を経ることで、図26のステップS216がなされる。
ここで、図26の説明に戻る。
図26のステップS216の処理が終了すると、ステップS217に進む。
ステップS217に進むと、CPU101は、RAM103に保存(記憶)してあるインデックス番号及び測色行特定パッチの測色値の破棄を行う。
続いて、ステップS218において、CPU101は、誤測色判定部261の機能を実行し、測色者(ユーザ)に指示した測色行番号と、ステップS216で求められた実測色行番号とが一致するか否かを判断する。
ステップS218の判断の結果、測色者(ユーザ)に指示した測色行番号とステップS216で求められた実測色行番号とが一致する場合には(S218/YES)、続いて、ステップS219に進む。
ステップS219に進むと、CPU101は、測色データ格納部263の機能を実行し、ステップS213で一時記憶領域(例えば、RAM103)に記憶させていた1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色値から当該測色行特定パッチ1602の測色値を除いた測色値を、当該測色行番号の行におけるカラーチャート部1603の測色値として外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)する。即ち、CPU101は、決定した位置(測色行番号)に、カラーパッチ群(1行分のカラーチャート部)の測色値をカラーチャート部測色値記憶部110cに記憶する。
ステップS218の判断の結果、測色者(ユーザ)に指示した測色行番号とステップS216で求められた実測色行番号とが一致しない場合には(S218/NO)、続いて、ステップS220に進む。
ステップS220に進むと、CPU101は、誤測色判定部261の機能を実行し、測色者(ユーザ)により誤った行が測色されているので、例えば図12に示すように、測色者に対して誤った行を測色している旨の警告表示画像をCRT108に表示する。
続いて、ステップS221において、CPU101は、誤測色判定部261の機能を実行し、測色者から測色行の修正指示があるか否かを判断する。この測色行の修正指示があるか否かの判断は、例えば、図12に示すユーザインタフェースで、「はい」のボタンが操作されたか否かで判断される。
ステップS221の判断の結果、例えば図12に示す「はい」のボタンが操作されて測色者から測色行の修正指示があった場合には(S221/YES)、ステップS222に進む。ステップS222に進むと、CPU101は、測色データ格納部263の機能を実行し、ステップS213で一時記憶領域(例えば、RAM103)に記憶させていた1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色値から当該測色行特定パッチ1602の測色値を除いた測色値を、ステップS216で求められた実測色行番号の行におけるカラーチャート部1603の測色値として、外部メモリ110のカラーチャート部測色値記憶部110cに保存(入力)する。
続いて、ステップS223において、CPU101は、例えば図30に示すように、測色行を自動で修正した旨の画像をCRT108に表示する。
一方、ステップS215の判断の結果、近似値なしフラグがある場合、即ち、近似する測色値がない場合には(S215/NO)、ステップS224に進む。ステップS224に進むと、CPU101は、例えば図10に示すように、今回の測色が正しく行われなかった旨の警告表示画像をCRT108に表示する。
ステップS224の処理が終了した場合、あるいは、ステップS221で測色者から測色行の修正指示がなかった場合には(S221/NO)、ステップS225に進む。ステップS225に進むと、CPU101は、今回の測色で得られ、ステップS213で一時記憶領域(例えば、RAM103)に記憶していた1行分のカラーチャート部1603(測色行特定パッチ1602も含む)の測色値を削除(破棄)する。
ステップS219の処理が終了した場合、ステップS223の処理が終了した場合、あるいは、ステップS225の処理が終了した場合には、ステップS226に進む。ステップS226に進むと、CPU101は、図16に示すカラーチャート部1603(測色行特定パッチ1602も含む)の全行の測色が終了したか否かを判断する。この判断の結果、未だ測色を行っていない行がある場合には(S226/NO)、ステップS206に戻る。
一方、ステップS226の判断の結果、図16に示すカラーチャート部1603(測色行特定パッチ1602も含む)の全行の測色が終了した場合には(S226/YES)、続いて、ステップS227において、CPU101は、ステップS205において基準カラーパッチ部測色値記憶部110bに記憶させた各測色行掲示パッチ1601a〜1601fの測色値を破棄する。この際、さらに、CPU101は、測色機107との切断処理などの終了処理も行われる。
本実施形態では、図19のステップS1で作成されたカラーチャートのチャート構成データ及びチャートイメージデータを、それぞれ、図17に示す外部メモリ210のカラーチャート構成データ記憶部110e及びカラーチャートイメージデータ記憶部110fに保存(入力)し、再利用することが可能である。この保存(入力)の処理は、例えば、図18に示すカラーチャート構成データ・カラーチャートイメージデータ保存部266の機能により行われる。
なお、本実施形態においては、図20に示すステップS11の処理で、例えば図21に示すようなユーザインタフェースをCRT108に表示し、ユーザが「既存」を選択し、更には、カラーチャート構成データ記憶部110fに保存(記憶)してあるカラーチャート構成データファイルを選択した場合に、カラーチャート部(実測色カラーパッチ群)1603のデータを得るようにしても良い。
また、情報処理装置200のスペックにより、カラーチャートを作成する処理時間が長いことが想定される場合には、カラーチャート構成データ・カラーチャートイメージデータ保存部266において、作成されたカラーチャートのデータをTIFF形式のイメージデータとしてカラーチャートイメージデータ記憶部110fに保存(入力)し、チャート構成データとしてチャートイメージデータファイル名もあわせてカラーチャート構成データ記憶部110eに格納し、カラーチャート構成データとカラーチャートイメージデータを結びつける方法もある。
その他にも、予め保存(記憶)するチャート構成データにIDを割り振り、測色行掲示パッチ1601に加えて、測色行掲示パッチの個数を示す測色行掲示パッチ数特定パッチと、チャート構成データ内のIDと結びついているIDパッチ群を設けるようにすることも考えられる。このように構成されたパッチ群を「ヘッダパッチ群」と称するようにする。
図31は、ヘッダパッチ群の一例を示す模式図である。
図31に示すヘッダパッチ群3100には、測色行掲示パッチ1601と、測色行掲示パッチ1601の前方に当該測色行掲示パッチの個数を示す測色行掲示パッチ数特定パッチ3101と、測色行掲示パッチ1601の後方にチャート構成データ内のIDと結びついているIDパッチ群3102が設けられている。なお、図31に示す測色行掲示パッチ1601は、9個のパッチからなるものが示されているが、後ろ3つのパッチは、使用されていないパッチであり、図16に示すものと同じである。
この場合、図31に示すヘッダパッチ群3100を測色し、測色した測色値データからID値を特定し、外部メモリ210に保存(記憶)してあるチャート構成データ内に格納してあるID値と比較し、一致したIDのチャート構成データを読み込み、どのようなカラーチャートレイアウトを持つカラーチャートであるかを自動で特定することが可能である。そして、チャート構成データの読み込み後、そのデータを利用して図26のステップS206以降の処理を行うようにする形態も考えられる。
まず、図31に示すヘッダパッチ群3100のIDパッチ群3102を作成する方法について説明する。この処理を行うために、CPU101は、ヘッダパッチ群データ作成部265の機能を実行する。このヘッダパッチ群データ作成部265では、図18に示す251〜254の構成で作成されたチャート構成データに対してID値を割り振った後、このカラーチャートの測色行掲示パッチ1601の色及び個数からIDパッチ群3102を作成する。
図32は、図31に示すIDパッチ群の色決定処理の一例を示すフローチャートである。
まず、ステップS3201において、CPU101は、各種の変数及び定数の設定を行う。
具体的には、チャート構成データを保存(記憶)した際に割り当てたID値を示す変数IDを設定する。また、ステップS13で算出されてRAM103に保存(記憶)されている測色行掲示パッチ1601のパッチ数を示す定数Mを設定する。また、測色行掲示パッチ1601として選択した色を示す変数Mcolor[M]を設定する。さらに、IDパッチ群3102のパッチ数を示す変数Iを設定する。図31に示す例では5が設定される。さらに、IDパッチ群3102におけるIDパッチの色を示す変数Icolor[I]を設定する。
続いて、ステップS3202において、CPU101は、チャート構成データに割り振られたIDの値をM進数の値にする進数変換を行い、変数Nに格納する。この際、進数変換を行う理由としては、ステップS1504で説明したものと同様である。
続いて、ステップS3203において、CPU101は、IDパッチ群3102のパッチ数を示す変数Iを変数Dに設定し、後述するステップS3204〜S3208のループで使用するカウンタ値Dの初期化を行う。
ステップS3204〜S3208はループ処理となっており、カウンタ値Dが0以下になるまで処理が繰り返し行われる。このステップS3204〜S3208は、IDパッチの色を決定する処理である。基本的な考え方は、測色行特定パッチ1602の色決定方法と同様であり、進数変換されたID値の各桁の値をインデックス番号として、測色行掲示パッチ1601の色を参照し、各桁のIDパッチの色を決定する。
ステップS3205において、CPU101は、M進数変換したID値の変数NにおけるD桁目の値を取得し、変数Vに設定する。
続いて、ステップS3206において、CPU101は、測色行掲示パッチ1601の色を示す変数Mcolor[V]を参照し、これをIDパッチのD桁目の色データとして取得する。
続いて、ステップS3207において、CPU101は、変数Dに1を減算してデクリメントを行う。その後、ステップS3205に戻り、次の桁のIDパッチ群3102の色を選択する処理が行われる。
ステップS3204〜S3208のループ処理を抜けた後、続いて、ステップS3209において、CPU101は、取得したIDパッチ群3102の色データをRAM103に保存(入力)する。以上のステップS3201〜S3209の処理を経ることにより、IDパッチ群3102の色決定処理が行われる。
次に、ヘッダパッチ群3100の測色行掲示パッチ数特定パッチ3101の色決定方法について説明する。この処理を行うために、CPU101は、ヘッダパッチ群データ作成部265の機能を実行する。
測色行掲示パッチ1601の配色は、常に固定であり、本実施形態の場合、図16を用いた説明で記述したように、左から、1色目は赤色、2色目は緑色、3色目は青色、4色目はシアン、5色目はマゼンタ、6色目はイエロー(黄色)というようになっている。
したがって、測色行掲示パッチ1601のパッチ数が決まると、おのずと測色行掲示パッチ1601の各パッチの色が決まる。このことから、測色行掲示パッチ1601の最後の色が特定できれば、測色行掲示パッチ1601のパッチ数を表すことが可能になる。図31に示す例では、測色行掲示パッチ1601のパッチ数は6であり、6色目のパッチ色はイエロー(黄色)であるため、測色行掲示パッチ数特定パッチ3101の色はイエロー(黄色)となっている。そして、このようにして、測色行掲示パッチ数特定パッチ3101の色が決定したら、これをRAM103に保存(入力)する。
そして、RAM103に保存(入力)した測色行掲示パッチ数特定パッチ3101の色と、IDパッチ群3102の色を読み込み、図31に示すように、それぞれ、測色行掲示パッチ1601の前後に配置するようにすれば、ヘッダパッチ群3100を作成することができる。そして、このヘッダパッチ群3100に基づいてカラーチャートイメージデータを再構成し、これをカラーチャートイメージデータ記憶部110fに保存(入力)する。
次に、図31に示すヘッダパッチ群3100を測色し、ID値を割り出す方法について説明する。
CPU101は、ヘッダパッチ群測色指示部267の機能によりヘッダパッチ群3100の測色指示を行い、測色データ取得部260の機能により測色値データの取得を行い、ID値算出部268の機能によりID値の算出処理を行い、カラーチャート構成データ読込部269の機能によりチャート構成データの読み込み処理を行う。
図33は、ID値の割り出し処理の一例を示すフローチャートである。
まず、ステップS3301において、CPU101は、ヘッダパッチ群測色指示部267の機能を実行し、例えば図34に示すようなユーザインタフェースをCRT108に表示して、測色者(ユーザ)に対して、ヘッダパッチ群3100を測色するように指示する。
ユーザにより測色機107を用いたヘッダパッチ群3100の測色が実施されると、続いて、ステップS3302において、CPU101は、測色データ取得部260の機能を実行し、測色されたヘッダパッチ群3100の測色値を取得する。このCPU101の測色データ取得部260の機能は、後述するステップS3303〜ステップS3304においても実行される。
続いて、ステップS3303において、CPU101は、測色者(ユーザ)によるヘッダパッチ群3100の測色が成功したか否かを判断する。
ステップS3303の判断の結果、ヘッダパッチ群3100の測色が失敗であった場合には(S3303/NO)、ステップS3304に進む。ステップS3304に進むと、CPU101は、CRT108に、例えば図35に示すような測色失敗の警告表示画像の表示を行う。その後、ステップS3301に戻る。
一方、ステップS3303の判断の結果、ヘッダパッチ群3100の測色が成功であった場合には(S3303/YES)、ステップS3305に進む。ステップS3305に進むと、CPU101は、ID値算出部268の機能を実行し、ステップS3302で取得したヘッダパッチ群3100の測色値からID値を割り出す処理を行う。
以下に、ステップS3305の詳細な処理について説明する。
まず、CPU101は、測色行掲示パッチ数特定パッチ3101の色の測色値と、測色行掲示パッチ1601の色の測色値から、測色行掲示パッチ1601のパッチ数を特定する。ここで、パッチ数を特定する方法としては、測色行掲示パッチ数特定パッチ3101の色の測色値が、測色行掲示パッチ1601の何番目の色の測色値と近似するかを検出する。例えば、測色行掲示パッチ1601の1番目に近似する値が存在していた場合は測色行掲示パッチのパッチ数が1個、2番目に近似する値が存在していた場合は測色行掲示パッチのパッチ数が2個というような判断を行い、測色行掲示パッチ1601のパッチ数を特定する。特定後、測色行掲示パッチ1601のパッチ数の情報をRAM103に保存(入力)する。
続いて、測色行掲示パッチ1601のパッチ数、測色行掲示パッチ1601の測色値、及び、IDパッチ群3102の測色値から、ID値を割り出すためのインデックス番号を特定する。このインデックス番号の特定方法としては、図27のフローチャートにおいて「測色行特定パッチ」を「ID値」と置き換えて処理を進めることによってインデックス番号を取得できる。
続いて、取得したインデックス番号から、ID値を割り出す。このID値の割り出し方法としては、図29のフローチャートにおいて「測色行特定パッチ」を「ID」、「測色行」を「ID値」と置き換えて処理を進めることによってID値を特定することが可能である。このようにして、ステップS3305の処理が行われる。
続いて、ステップS3306において、CPU101は、カラーチャート構成データ読込部269の機能を実行し、カラーチャート構成データ記憶部110eに保存(記憶)してあるカラーチャート構成データ群から、割り出したID値に対応するカラーチャート構成データを読み込み、RAM103に保存(入力)する処理を実施する。このCPU101のカラーチャート構成データ読込部269の機能は、後述するステップS3307〜ステップS3308においても実行される。
続いて、ステップS3307において、CPU101は、ステップS3306によるカラーチャート構成データの読み込みが成功したか否かを判断する。
ステップS3307の判断の結果、ステップS3306によるカラーチャート構成データの読み込みが失敗である場合には(S3307/NO)、ステップS3308に進む。ステップS3308に進むと、CPU101は、CRT108に、例えば図36に示すようなカラーチャートの特定が失敗した旨の警告表示画像の表示を行う。その後、処理を終了する。
一方、ステップS3307の判断の結果、ステップS3306によるカラーチャート構成データの読み込みが成功した場合には(S3307/YES)、読み込んだチャート構成データに基づくカラーチャートを使用してカラーチャート部(実測色カラーパッチ群)1601の測色処理を行うため、図26に示すステップS206に移行する。これにより、動的に測色するカラーチャートがどのような構成されているのかが判断でき、処理を進めることが可能である。
次いで、本実施形態に係る情報処理装置200の作用・効果について説明する。
本実施形態の情報処理装置200では、第1の実施形態における情報処理装置100における処理に加えて、図9のステップS1におけるカラーチャート生成処理を更に行うようにしている。この際、各測色単位(各行)における測色行特定パッチ1602(第1のカラーパッチ)は、複数のカラーパッチを構成可能となっている。
なお、この複数のカラーパッチ(第1のカラーパッチ)のそれぞれが、測色行掲示パッチ1601(基準カラーパッチ部を構成する複数のカラーパッチ)のどのカラーパッチに対応するかを特定(複数特定)し、この特定された複数のカラーパッチの組み合わせ(特定されたカラーパッチそれぞれの位置(順番)の組み合わせ)に従って、カラーチャート上の測色位置を決定することが可能となる。
ステップS216(第1の設定ステップ)では、各測色単位(各行)における測色行特定パッチ1602の複数のカラーパッチの測色値の組み合わせから、ステップS202(第1の取得ステップ)で取得した測色行掲示パッチ1601の各カラーパッチにおける測色値の取得の順番に基づいて、カラーチャート部1603の各測色単位における測色順を示す情報(実測色番号)を設定するようにしている。
本実施形態の情報処理装置200によれば、上述した第1の実施形態の情報処理装置200における作用・効果に加えて、例えば、測色対象のカラーチャート部(実測色カラーパッチ)1603の行数が多くなった場合であっても、測色行特定パッチ1602を用いた測色行の特定を正確に行うことが可能となる。
前述した各実施形態に係る情報処理装置の処理方法を示した図4、図19、図20、図22〜図24、図26、図27、図29、図32及び図33の各ステップは、外部メモリ110或いは210(又はROM102)に記憶されたプログラムが動作することによって実現できる。このプログラム及び当該プログラムを記録したコンピュータ読み取り可能な記憶媒体は本発明に含まれる。
具体的に、前記プログラムは、例えばCD−ROMのような記憶媒体に記録し、或いは各種伝送媒体を介し、コンピュータに提供される。前記プログラムを記録する記憶媒体としては、CD−ROM以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。他方、前記プログラムの伝送媒体としては、プログラム情報を搬送波として伝搬させて供給するためのコンピュータネットワーク(LAN、インターネットの等のWAN、無線通信ネットワーク等)システムにおける通信媒体を用いることができる。また、この際の通信媒体としては、光ファイバ等の有線回線や無線回線などが挙げられる。
また、コンピュータが供給されたプログラムを実行することにより各実施形態に係る情報処理装置の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているOS(オペレーティングシステム)或いは他のアプリケーションソフト等と共同して各実施形態に係る情報処理装置の機能が実現される場合や、供給されたプログラムの処理の全て、或いは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて各実施形態に係る情報処理装置の機能が実現される場合も、かかるプログラムは本発明に含まれる。