(57)【要約】【課題】  色変換テーブルに対し、調整点の移動に伴ってその近傍点も移動させるような調整を行う場合、調整領域が固定されていると、特に調整点の移動量が大きい場合に滑らかな階調性を実現することは困難であった。【解決手段】  調整パラメータ設定部103で色変換テーブルにおける出力色空間上の調整領域を含む調整パラメータを設定し、色変換テーブル調整部104において、該調整パラメータに基づいて調整領域を移動し、該移動量に応じて前記調整領域の近傍にある近傍領域を移動することによって、色変換テーブルを調整する。この調整領域および近傍領域の移動は、有限要素法に基づいて行われる。【選択図】  図1
2007006037.tif 000002
【特許請求の範囲】
【請求項１】
画像の色を変換するための色変換テーブルを調整する色調整装置であって、
前記色変換テーブルにおける出力色空間上の調整領域を含む調整パラメータを設定する調整パラメータ設定手段と、
前記出力色空間上で前記調整パラメータに基づいて、前記調整領域を移動し、該移動量に応じて前記調整領域の近傍にある近傍領域を移動することによって、前記色変換テーブルを調整する色変換テーブル調整手段と、
を有することを特徴とする色調整装置。
【請求項２】
前記色変換テーブル調整手段は、前記調整領域の近傍領域を、該調整領域からの距離に応じて移動することを特徴とする請求項１記載の色調整装置。
【請求項３】
前記色変換テーブル調整手段は、前記調整領域および前記近傍領域の移動を有限要素法に基づいて行うことを特徴とする請求項１または２記載の色調整装置。
【請求項４】
前記調整パラメータは、前記調整領域と、該調整領域の調整先である目標領域の組であることを特徴とする請求項１乃至３のいずれかに記載の色調整装置。
【請求項５】
前記調整パラメータは、前記調整領域と、該調整領域を調整先に移動するための荷重ベクトルの組であることを特徴とする請求項１乃至４のいずれかに記載の色調整装置。
【請求項６】
さらに、前記調整パラメータ設定手段で設定された調整パラメータが適切であるか否かを判定する調整パラメータ判定手段を備え、
前記色変換テーブル調整手段は、前記調整パラメータ判定手段で適切であると判定された調整パラメータを用いて、前記色変換テーブルを調整することを特徴とする請求項１乃至５のいずれかに記載の色調整装置。
【請求項７】
前記調整パラメータ判定手段は、複数の調整領域間における色差が所定の閾値を超えていれば、該調整領域が適切であると判定することを特徴とする請求項６記載の色調整装置。
【請求項８】
前記調整パラメータ判定手段は、前記調整領域が前記色変換テーブルによって定義される色域内にあれば、該調整領域が適切であると判定することを特徴とする請求項６または７記載の色調整装置。
【請求項９】
前記調整領域は所定の色空間上における点を示し、前記近傍領域は前記色変換テーブルを構成する格子点であることを特徴とする請求項１乃至８のいずれかに記載の色調整装置。
【請求項１０】
さらに、調整対象となる色変換テーブルを設定する色変換テーブル設定手段を有することを特徴とする請求項１乃至９のいずれかに記載の色調整装置。
【請求項１１】
前記出力色空間はLAB色空間であることを特徴とする請求項１乃至１０のいずれかに記載の色調整装置。
【請求項１２】
画像の色を変換するための色変換テーブルを調整する色変換調整方法であって、
前記色変換テーブルにおける出力色空間上の調整領域を含む調整パラメータを設定する調整パラメータ設定ステップと、
前記調整パラメータに基づいて、前記出力色空間上で前記調整領域を移動させる調整領域移動ステップと、
前記調整領域の移動量に応じて、前記出力色空間上で前記調整領域の近傍にある近傍領域を移動させる近傍領域移動ステップと、
を有することを特徴とする色変換調整方法。
【請求項１３】
前記近傍領域移動ステップにおいては、前記近傍領域を前記調整領域からの距離に応じて移動することを特徴とする請求項１２記載の色変換調整方法。
【請求項１４】
前記調整領域移動ステップおよび前記近傍領域移動ステップにおいては、前記調整領域および前記近傍領域の移動を有限要素法に基づいて行うことを特徴とする請求項１２または１３記載の色変換調整方法。
【請求項１５】
前記調整パラメータは、前記調整領域と、該調整領域の調整先である目標領域の組であることを特徴とする請求項１２乃至１４のいずれかに記載の色変換調整方法。
【請求項１６】
前記調整パラメータは、前記調整領域と、該調整領域を調整先に移動するための荷重ベクトルの組であることを特徴とする請求項１２乃至１４のいずれかに記載の色変換調整方法。
【請求項１７】
情報処理装置を制御することによって、該情報処理装置を請求項１乃至１１の何れかに記載された色調整装置として動作させることを特徴とするプログラム。
【請求項１８】
請求項１７に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色調整装置およびその方法に関し、特に画像の色を変換するための色変換テーブルを調整する色調整装置およびその方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラやスキャナで取得した画像をプリンタで出力するようなシステムが普及している。デジタルカメラやスキャナで記録されたデジタル画像は、sRGB色空間やAdobeRGB色空間などの色空間のデータとして保存される。図24に、xy色度図上にプロットしたsRGB,AdobeRGB,プリンタのそれぞれの色再現範囲（以下、色域と記す）を示す。同図において、Rs,Gs,BsはそれぞれsRGBのRed,Green,Blueを表し、RA,GA,BAはそれぞれAdobeRGBのRed,Green,Blueを表す。図24に示されるように、sRGBやAdobeRGBの色域は、原色のRed,Green,Blueを頂点とする三角形によって表される。一方、プリンタの色域は、sRGBやAdobeRGBの色域のような簡単な三角形によって規定されるものではなく、複雑な曲線によって表現される。
【０００３】
このように、sRGBやAdobeRGBと、プリンタの色域は大きく異なる。このため、デジタルカメラやスキャナで記録したsRGB画像、あるいはAdobeRGB画像をプリンタで出力する場合には、色域の違いを補正するために、入力機器の色信号を出力機器の色信号に対応付ける処理（以下、色域圧縮と記す）が必要である。
【０００４】
一般的に、入力機器で記録されたRGB画像(例えばsRGBで表現された画像)をプリンタで出力する際には、図25に示すような処理が必要となる。すなわち、まず色変換部1001において入力のRGB値をCIELAB値に変換し、次に、空間変換部1002において該CIELAB値をプリンタのデバイスRGB値に変換する。そして最後に、該デバイスRGB値をプリント出力部1003において出力するのである。これらの処理は、全てプリンタのドライバで行われることもあれば、ICCプロファイルを利用した場合のように一部をパーソナルコンピュータ（以下、PC）が処理することもある。
【０００５】
上述した色域圧縮処理は、図25に示す色変換部1001で行われる処理であり、該変換処理は処理時間の短縮のために、ルックアップテーブル(LUT)処理を行うのが通例である。ここでLUTとは、例えば入力のR,G,B値をそれぞれ何スライスかにサンプリングしたRGB格子点データと、該格子点データを所望の色変換処理を用いて変換したCIELABデータの対応表である。例えば図25のように、色変換LUT1004を予め用意しておき、該LUT1004を用いた補間処理によって全入力RGB値を変換したCIELAB値を算出する。すなわち、入力機器で記録された画像をプリンタで出力する際には、色域圧縮処理を含んだ色変換LUTを予め用意しておく必要がある。
【０００６】
ここで、上述した色変換LUTを作成し、該LUTを用いた色変換を行って画像をプリンタで出力した場合について考える。このとき、該画像内のある色の再現結果が所望のものではなくなっている場合が考えられる。例えば、プリント出力物の肌色の明度が所望のものより低くなっており、被写体である人の表情が非常に暗くなってしまっている場合や、また、色相が黄色側に寄ってしまったことにより、まるで黄疸症状のような肌色に再現されてしまっている場合がある。このような場合には、より好ましい色を再現するために、肌色の明度を高くする、あるいは、色相を赤寄りにするなどの調整を、色変換LUTに施す必要がある。
【０００７】
このLUTの調整は、調整が必要であると判断された入力RGB値の近傍に存在するLUT格子点データを探索し、該格子点データに対応するCIELAB値（以下、調整点と記す）を所望の色値（以下、目標点と記す）で再現するように書き換えることで実現できる。
【０００８】
以下に、調整点を目標点へ移動する例を示す。この例では、周知の色域圧縮方法によって作成した入力RGB値からプリンタ色域への色変換LUTにおいて、ある色を調整点として指定し、該調整点を所望の目標点へ移動する。図26に、調整点と該調整点を含む同一色相面をL*a*平面に投影した例を示す。ただし、図中の○印で示される節点は、LUT内に記述されている格子点データに対応するCIELAB値の中で該調整点と同一色相面に存在する点である。また、図26におけるP9,P9'は、それぞれ調整点，目標点であり、すなわち、P9をP9'へ移動したいという要求がある。
【０００９】
この時、図26に示すように調整点P9のみを目標点P9'に移動してしまうと、P9'と近傍点P2,P3,P10,P17との距離が離れてしまい、P9'の近傍点P8,P16については、P9'との距離が極端に近づいてしまう。このようなP9の移動により、P7〜P13を含むライン上の階調特性曲線は図27に示すように、P9'を中心として急峻な変化をともなう曲線となる。したがって、このような色調整を施した色変換テーブルを用いて画像を変換すると、P9'付近において、階調跳び、あるいは階調の潰れが発生してしまうという問題が発生する。
【００１０】
そこで、階調跳びや階調の潰れを防止するためには、移動したい調整点のみを移動するのではなく、調整点の近傍点に対しても、該調整点の移動に追従するような移動が起こるような手法を適用することによって、色調整後の滑らかな階調を保つ必要がある。
【００１１】
上記のように、調整点の移動に伴って該調整点の近傍点を移動させる技術として、調整点を所望の点（目標点）に移動する際に、該調整点の近傍範囲を調整領域として設定し、該調整点の移動に伴い該調整範囲の点を移動することにより、滑らかな階調を保った色調整を実現する技術が知られている（例えば、特許文献1参照）。この例を、図28を参照して詳細に説明する。まず図28(a)に、設定した調整点、目標点、及び、調整領域の例を示す。図28(a)の設定を用いて該色調整を行うと、図28(b)に示すように調整点が目標点へ移動し、調整領域内の点が該調整点の移動にともなって移動する。この時、入力（調整前）と出力（調整後）の関係は図28(c)の様になり、調整前後の階調跳びや潰れがないことがわかる。
【特許文献１】特開平05-300531号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した特許文献1に開示された手法では、調整領域を固定して色調整を行っているため、図28(d)に示すような、特に調整点の移動量が大きい場合の色調整に問題が生じる。例えば、図28(e)に示すように調整後の調整点付近において近傍点との距離が近くなりすぎたり、調整領域内の点と調整領域外の点との距離が離れすぎたりしてしまう。このため、色調整の際の入力と出力との関係は図28(f)に示す様になり、調整点付近において階調の潰れ及び階調の反転が発生し、また、調整領域境界付近においては階調跳びが発生してしまう。
【００１３】
本発明は上述した問題を解決するためになされたものであり、階調性を維持した色再現が可能となるように色変換テーブルを調整する色調整装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の色調整装置は以下の構成を備える。
【００１５】
すなわち、画像の色を変換するための色変換テーブルを調整する色調整装置であって、前記色変換テーブルにおける出力色空間上の調整領域を含む調整パラメータを設定する調整パラメータ設定手段と、前記出力色空間上で前記調整パラメータに基づいて、前記調整領域を移動し、該移動量に応じて前記調整領域の近傍にある近傍領域を移動することによって、前記色変換テーブルを調整する色変換テーブル調整手段と、を有することを特徴とする。
【００１６】
例えば、前記色変換テーブル調整手段は、前記調整領域の近傍領域を、該調整領域からの距離に応じて移動することを特徴とする。
【００１７】
例えば、前記色変換テーブル調整手段は、前記調整領域および前記近傍領域の移動を有限要素法に基づいて行うことを特徴とする。
【発明の効果】
【００１８】
以上の構成からなる本発明によれば、階調性を維持した色再現が可能となるように色変換テーブルを調整することができる。
【発明を実施するための最良の形態】
【００１９】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
【００２０】
＜第１実施形態＞
図1は、本実施形態に係る色変換テーブル調整を行う、色調整装置の構成を示すブロック図である。同図において、1が色調整装置であり、色調整装置1は、調整を施す色変換テーブルを取り込む入力部101、該色変換テーブルを色変換テーブル調整部104に設定する色変換テーブル設定部102、該色変換テーブルに対して調整を施す際に用いる調整パラメータを設定する調整パラメータ設定部103、該調整パラメータに基づき、色変換テーブルに対して弾性変形を施すことで色変換テーブルを調整する色変換テーブル調整部104、色変換テーブル調整部104における調整後の色変換テーブルを出力する出力部105、色変換テーブル調整部104で使用する調整パラメータを保持する調整パラメータ保持部106、演算途中の各データを一時保存しておくバッファメモリ107、からなる。
【００２１】
●色変換調整処理（概要）
図2は、色調整装置1において実行される全体処理を示すフローチャートである。
【００２２】
まずステップS1において、入力部101は色変換テーブルを読み込み、これをバッファメモリ107に保存する。ここで図3に、読み込んだ色変換テーブルの一例を示す。同図に示すように色変換テーブルは、入力RGB(以下、sRGBとする)のRGB値と、該RGB値が所望の色変換方法(色域圧縮方法)によって変換されたCIELAB値とで構成される。なおRGB値は例えば、sRGBのR,G,Bをそれぞれ何スライスかした格子点データであり、またCIELAB値は、周知の色変換方法によって入力RGBの格子点データを変換した値である。また、色変換テーブルには、データ先頭部に不図示のデータ数が記述されているものとし、以下、このデータ数をＮGとする。例えば、R,G,Bをそれぞれ5スライスした場合であれば、ＮG=53=125であり、9スライスした場合であれば、ＮG=93729となる。
【００２３】
次にステップS2において、色変換テーブル設定部102は、ステップS1でバッファメモリ107に保存された色変換テーブルを取得し、色変換テーブル調整部104に設定する。なお、この色変換テーブル設定部102における具体的な処理内容については後述する。
【００２４】
そしてステップS3において、調整パラメータ設定部103は、調整パラメータ保持部106に保持されている調整パラメータを取得し、色変換テーブル調整部104に設定する。ここで図4に、調整パラメータの一例を示す。同図に示すように調整パラメータは、調整点と目標点を一組としたデータ数ＮPと、調整点のCIELAB値および対応する目標点のCIELAB値、で構成される。なお、本実施形態において調整対象となる色変換テーブルは、入力をRGB色空間、出力をCIELAB色空間の値とし、調整点および目標点は、色変換テーブルのCIELAB値の点列によって包含される領域内の、CIELAB値であるとする。なお、調整パラメータ設定部103における具体的な処理内容については後述する。
【００２５】
そしてステップS4において、色変換テーブル調整部104は、ステップS3で設定された調整パラメータに基づき、色変換テーブルのCIELAB値の点列に対して弾性変形を施すことによって調整後の色変換テーブルを算出し、バッファメモリ107に設定する。本実施形態では、色変換テーブルの調整方法として有限要素法を用いるとする。なお、色変換テーブル調整部104における具体的な処理内容については後述する。
【００２６】
そしてステップS5において、出力部105は、ステップS4でバッファメモリ107に設定された調整後の色変換テーブルを取得し、出力する。
【００２７】
●色変換テーブル設定処理
以下、色変換テーブル設定部102における処理について、図5を用いて詳細に説明する。図5は、ステップS2における色変換テーブル設定処理の詳細を示すフローチャートである。
【００２８】
同図に示すように色変換テーブル設定部102は、ステップS21において色変換テーブルのデータ数ＮGを取得し、ステップS22でデータ数計数用のカウンタiに初期値1を設定する。そしてステップS23において、バッファメモリ107に保存されている色変換テーブルのi番目のデバイスRGB値とCIELAB値を取得し、ステップS24においてこのi番目のデバイスRGB値とCIELAB値を色変換テーブル調整部104に設定した後、ステップS25でカウンタiに1を加算する。そしてステップS26において、カウンタiとＮGを比較し、i≦ＮGであった場合にはステップS23へ戻り、i＞ＮGであった場合には処理を終了する。
【００２９】
●調整パラメータ設定処理
以下、調整パラメータ設定部103における処理について、図6を用いて詳細に説明する。図6は、ステップS3における調整パラメータ設定処理の詳細を示すフローチャートである。
【００３０】
同図に示すように調整パラメータ設定部103は、ステップS31において調整パラメータ保持部106に保持されている調整パラメータのデータ数ＮPを取得し、ステップS32において、調整パラメータ数計数用のカウンタiに初期値1を設定する。そしてステップS33において、調整パラメータ保持部106に保持されているi番目の調整パラメータを取得し、ステップS34でこれを色変換テーブル調整部104に設定した後、ステップS35でカウンタiに1を加算する。そしてステップS36において、カウンタiと調整パラメータのデータ数ＮPを比較し、i≦ＮPであった場合にはS34へ戻り、i＞ＮPであった場合には処理を終了する。
【００３１】
●色変換テーブル調整処理
以下、色変換テーブル調整部104における処理について、図7を用いて詳細に説明する。図7は、ステップS4における色変換テーブル調整処理の詳細を示すフローチャートである。
【００３２】
同図に示すように色変換テーブル調整部104は、まずステップS41において、上述したステップS2で設定された色変換テーブルに基づき、有限要素を構成するトラスと節点の対応関係を記述した、図8に示すような対応表を作成する。ここで有限要素法においては、物体が多数の小さな要素で構成されるものとし、物体の変形をそれら各要素の変形によって近似する。
【００３３】
図9に、色変換テーブルのある色相面をL*‐a*平面上にプロットした様子を示す。同図に示すように、色変換テーブルを構成するn番目の要素Enは、トラスTnと、第1節点Piおよび第2節点Pjからなる。この節点Piの位置が変化すると、この変化によって生じた力が、節点Piとトラスによって接続している節点Ph,Pi-1,Pjへと伝播し、伝播した力によって該節点Ph,Pi-1,Pjの位置が変化する。
【００３４】
このトラスと節点の対応関係を表したものが、図8の対応表である。この対応表の作成は、節点位置の変化による力の影響が近傍節点へ等方的に伝播するような接続方法に基づいて行う。例えば図10に示すように、任意の節点Pと近傍節点26点を全て接続する。
【００３５】
ここで、色変換テーブル設定部102で設定された節点データの例を図11に示す。同図に示されるように節点データは、各節点の節点番号と空間座標x,y,z、及び該節点のデバイスRGB値で構成される。節点座標x,y,zは、色変換テーブル設定部102で設定されたa*,b*,L*にそれぞれ対応する。
【００３６】
以上のようにトラスと節点の対応表が作成されると、次にステップS42において、1つの要素内における、節点に作用する力と変位との変換係数を表す要素剛性マトリックスを作成する。
【００３７】
例えば、図12に示すような1つの要素において、2つの節点P1,P2をそれぞれ移動し、移動後の節点をP1',P2'とすると、要素剛性マトリックスMは式(1)で表される。
【００３８】
2007006037.tif 000003
【００３９】
ここで、Eはトラスの断面積、Aはトラスのヤング率を表す。また、l0は節点P1,P2間の距離を表し、節点P1の座標を(x1,y1,z1)、節点P2の座標を(x2,y2,z2)とすると、距離l0は式(2)で表される。
【００４０】
2007006037.tif 000004
【００４１】
また、式(1)においてθ,ρ,φはそれぞれ、図13に示すように、節点P1,P2を接続するトラスと、x,y,z各軸とのなす角を表す。
【００４２】
以上のように要素剛性マトリックスが作成されると、次にステップS43において、該要素剛性マトリックスを用いて、全ての節点に作用する力と変位との変換係数を表す全体剛性マトリックスを作成する。
【００４３】
例えば、図14に示すように3つの要素から成る簡単な系の場合、全体剛性マトリックスは以下のように作成される。まずステップS42において、i番目の要素Ei（i=1,2,3）における要素剛性マトリックスMiは、式(3)で表される。
【００４４】
2007006037.tif 000005
【００４５】
各要素剛性マトリックスM1,M2,M3をそれぞれ式(4),式(5),式(6)で置き換えると、全体剛性マトリックスUは、式(7)で表される。
【００４６】
2007006037.tif 000006
【００４７】
2007006037.tif 000007
【００４８】
2007006037.tif 000008
【００４９】
2007006037.tif 000009
【００５０】
以上のように全体剛性マトリックスが作成されると、次にステップS44において、調整パラメータ設定部103によって設定された調整点と目標点に基づき、各節点の変位を算出する。
【００５１】
以下、図15のフローチャートを用いて、ステップS44における節点変位の算出方法について具体的に説明する。まずステップS4401において全ての節点変位を0で初期化し、ステップS4402において調整点数計数用のカウンタiに初期値1を設定する。そしてステップS4403において、i番目の調整点座標Piと一致する節点が色変換テーブル内に存在するか否かを判定する。一致する節点が存在する場合にはステップS4404へ進み、一致する節点が存在しない場合にはステップS4405へ進む。
【００５２】
ステップS4404においては、i番目の目標点座標Tiから調整点座標Piを減じた値を、該節点の変位Diとして設定する。一方、ステップS4405においては、i番目の目標点座標Tiから調整点座標Piを減じた値を、Piを囲む節点Qjの変位として設定する。ここで図16に、調整点を囲む節点を移動することによって、調整点を目標点へ移動する様子を示す。図16において、Piは調整点、Tiは該調整点と組をなす目標点、Qj（但し、j=1,...,8  j∈Z）は調整点Piを囲む六面体を構成する8つの頂点、Qj'は調整点を目標点へ写像するように移動したQjの移動後の点を表す。図16に示すように、QjをQj'へ移動することによって、調整点Piを目標点Tiへ写像することができる。
【００５３】
そしてステップS4406において、カウンタiに1を加算した後、ステップS4407において、カウンタiと調整点総数ＮPとを比較し、j≦ＮPであった場合にはステップS4403へ戻り、i＞ＮPであった場合には処理を終了する。
【００５４】
以上のように、調整点の座標と一致する節点あるいは調整点を囲む節点の変位が算出されると、次にステップS45において、これら節点の変位を全節点の変位ベクトルに設定する。
【００５５】
例えば、図14に示した幾何条件において、節点Piの各x,y,z方向の変位を(Cix,Ciy,Ciz)、節点Piに作用する力をそれぞれ(Fix,Fiy,Fiz)（但し、i=1,2,3）とすると、系全体の力の釣り合いから連立方程式(8)が成り立つ。
【００５６】
2007006037.tif 000010
【００５７】
ここでUは、全節点P1,P2,P3の座標、トラスの断面積、及び、トラスのヤング率、の三つの要素から一意に決定される全体剛性マトリックス（式(7)）である。
【００５８】
以上のように全節点の変位ベクトルが設定されると、次にステップS46において、連立方程式(8)に基づいて調整後の節点座標を算出する。調整後の節点座標は、連立方程式(8)を解くことによって求まる節点変位と、調整前の節点座標とを加算することによって算出できる。
【００５９】
例えば、式(8)においてF2z=F3z=0とおき、F1x,F1y,F1z,F2x,F2y,C2z,F3x,F3y,C3zを未知数とし、式(8)をこれら未知数について解くことによって、節点変位を算出する。なお、未知数の算出方法は、逆行列を求める方法であっても良いし、反復計算によって求める方法であっても良い。このように算出した節点変位を、調整前の節点座標に加算することによって、調整後の節点座標が算出される。
【００６０】
次にステップS47において、ステップS46で算出した節点座標に基づいて調整後の色変換テーブルを作成し、バッファメモリ107に保存する。ここでは、調整後の色変換テーブルを作成するために、この調整後節点座標と、対応するデバイスRGBの組で構成される色変換テーブル作成する。この色変換テーブルが調整後の色変換テーブルであり、デバイスRGBから調整後のLab値への対応関係を表す。
【００６１】
以上説明したように本実施形態によれば、色変換テーブル調整装置1に任意の色変換テーブルを入力すると、予め保持している、調整が必要と考えられる調整点とその目標点の組を用いて、色変換テーブル内の対応する色データ及び近傍点を、弾性変形を用いた手法で移動する。これにより、所望の色再現を得、且つ滑らかな階調を保った色変換テーブルへの調整が実現される。
【００６２】
＜第2実施形態＞
以下、本発明に係る第2実施形態について説明する。
【００６３】
図17は、第2実施形態に係る色変換テーブル調整を行う、色調整装置の構成を示すブロック図である。同図において、2が色調整装置であり、色調整装置2は、ユーザによる入力を受けたり、ユーザへの警告を発したりするためのユーザインターフェース部201、ユーザインターフェース部201で入力された色変換テーブルと調整パラメータを読み込む入力部202、入力部202で入力された調整パラメータの適否を判定する調整パラメータ判定部203、調整パラメータ判定部203で判定された適切な調整パラメータを色変換テーブル調整部206へ設定する調整パラメータ設定部204、入力部202で入力された色変換テーブルを色変換テーブル調整部206へ設定する色変換テーブル設定部205、色変換テーブル設定部205で設定された色変換テーブルに対して色調整を実行する色変換テーブル調整部206、色変換テーブル調整部206における調整後の色変換テーブルを出力する出力部207、ユーザインターフェース部201で選択される色変換テーブルを保存しておく色変換テーブル保持部208、演算途中の各データを一時的に保存しておくバッファメモリ209、からなる。
【００６４】
●色変換調整処理（概要）
以下、第2実施形態における色変換調整処理について説明するが、まず図18に、ユーザインターフェース部201の一例を示す。同図において、2011は色変換テーブルが記述されたファイルを指定する色変換テーブル入力部、2012は色変換テーブルを調整するパラメータを入力する調整パラメータ入力部、2013は調整点を入力する調整点入力部、2014は調整点に作用する荷重ベクトルを入力する荷重ベクトル入力部、2015は調整点間色差の閾値を入力する閾値入力部、2016は入力を終えたことを通知するOKボタンである。
【００６５】
図19は、色調整装置2において実行される全体処理を示すフローチャートである。まずステップS501において入力部202が、ユーザインターフェース部201のOKボタンが押されたか否かを判定する。OKボタンが押されていない場合は、そのままユーザの入力を待つが、ユーザによってOKボタンが押された場合は、ステップS502へ進む。ステップS502において入力部202は、色変換テーブル入力部2011、及び調整パラメータ入力部2012に入力があるか否かの判定を行う。入力があった場合にはステップS501へ戻り、入力がなかった場合にはステップS503へ進む。
【００６６】
ステップS503において、入力部202は色変換テーブルと調整パラメータを設定する。この時点では既にユーザによって、ユーザインターフェース部201の色変換テーブル入力部2011に色変換テーブルのファイル名、調整点入力部2013に調整点の値、荷重ベクトル入力部2014に該調整点へ作用させる荷重ベクトルの値、さらには、閾値入力部2015に該調整点の近傍に他の調整点が設定されないようにするための色差の閾値が入力されている。そこで入力部202は、ユーザが指定した色変換テーブルが記述されたファイルを読み取り、バッファメモリ209に書き込む。また、調整パラメータ入力部2012に入力された各調整パラメータ(調整点、荷重ベクトル、閾値)の値を読み取り、バッファメモリ209に書き込む。
【００６７】
次にステップS504において、調整パラメータ判定部203は、ステップS503においてバッファメモリ209に書き込まれた色変換テーブルと調整パラメータを読み取り、調整点の領域内外判定を行う。なお、この領域内外判定については周知の内外判定方法が適用可能であるため、詳細な説明を省略する。
【００６８】
次にステップS505において調整パラメータ判定部203は、ステップS504の領域内外判定の結果を参照し、調整点が全て色変換テーブルの領域内に入っている場合にはステップS507へ進み、入っていない場合にはステップS506に進む。
【００６９】
ステップS506では、ユーザインターフェース部201がユーザに警告を発する。ユーザへの警告は、例えば図20に示すように、入力した調整点が、指定した色変換テーブルの領域外に存在するため、その点に対する調整が行われない旨を通知するメッセージボックスを表示する。そして警告後はステップS501へ戻り、ユーザの再入力を待つ。
【００７０】
一方、ステップS507では調整パラメータ判定部203が、各調整点間の色差を算出し、閾値と比較する。なお、調整パラメータ判定部203における色差判定処理の具体的な処理内容については後述する。
【００７１】
次にステップS508において、ステップS507の色差比較結果を参照し、調整点間色差が閾値より大きい場合にはステップS510へ進み、小さい場合にはステップS509に進む。
【００７２】
ステップS509では、ユーザインターフェース部201がユーザに警告を発する。
ユーザへの警告は、例えば図21に示すように、調整点に設定した閾値の範囲内に他の調整点が存在する、すなわち、調整点間の距離が非常に近いために、現条件で色調整を行ってしまうと階調性が悪化する可能性がある旨を通知するメッセージボックスを表示する。そして警告後はステップS501へ戻り、ユーザの再入力を待つ。
【００７３】
ステップS510において調整パラメータ設定部204は、調整パラメータを読み取り、色変換テーブル調整部206に設定する。なお、調整パラメータ設定部204におけるパラメータ設定方法については、上述した第1実施形態における調整パラメータ設定部103の動作(図6)と同様であるため、ここでは説明を省略する。
【００７４】
次にステップS511において、色変換テーブル設定部205は、ステップS503でバッファメモリ209に書き込まれた色変換テーブルを読み取り、色変換テーブル調整部206に設定する。なお、色変換テーブル設定部205における動作は、上述した第1実施形態における色変換テーブル設定部102の動作(図5)と同様であるため、ここでは説明を省略する。
【００７５】
次にステップS512において、色変換テーブル調整部206は、ステップS511で設定された調整パラメータに基づき、色変換テーブルに対して色調整を実行する。なお、色変換テーブル調整部206における動作は、上述した第1実施形態における色変換テーブル調整部104の動作（図7）とほぼ同様である。すなわち、第1実施形態では調整点に対応するパラメータとして目標点を指定したが、第2実施形態では目標点に代えて、調整点を同様の目標点に移動するための荷重ベクトルが指定されている点が異なるのみである。したがって、ここでは色変換テーブルの調整に関する詳細な説明を省略する。
【００７６】
そしてステップS513において、出力部207は、ステップS512でバッファメモリ209に設定された調整後色変換テーブルを取得し、出力する。
【００７７】
●調整パラメータ判定処理（色差判定処理）
以下、調整パラメータ判定部203における色差判定処理について、図22を用いて詳細に説明する。図22は、ステップS507における色差判定処理の詳細を示すフローチャートである。
【００７８】
同図に示すように調整パラメータ判定部203は、まずステップS601において、ステップS505で領域内と判定された調整点を取得し、ステップS602でその総数を計数した後、ステップS603,S604でそれぞれカウンタi,jに初期値1を設定する。
【００７９】
そしてステップS605において、警告フラグFに初期値0を設定する。ここで警告フラグFはユーザに対して警告を発するか否かを示すフラグであり、第2実施形態においては、F=0の場合は警告を行わず、F=1の場合に警告を行うものとする。
【００８０】
そしてステップS606において、i番目の調整点Piとj番目の調整点Pjの色差Ejを算出し、ステップS607において、この色差Ejと、閾値入力部2015に入力された閾値EThiとを比較する。色差Ejが閾値EThiより大きい場合にはステップS609に進むが、それ以外の場合、つまり色差Ejが閾値EThi以下の場合にはステップS608に進んで、警告フラグFに1を設定して処理を終了する。
【００８１】
ステップS609ではカウンタjに1を加算した後、ステップS610でカウンタjと調整点総数を比較し、jが調整点総数以下であった場合にはステップS605へ戻り、jが調整点総数より小さい場合にはステップS611に進む。
【００８２】
ステップS611ではカウンタiに1を加算した後、ステップS612でカウンタiと調整点総数を比較し、iが調整点総数以下であった場合にはステップS604へ戻り、iが調整点総数より小さい場合には処理を終了する。
【００８３】
以上のように調整パラメータ判定部203においては、全ての調整点の組み合わせに対して色差を算出し、その色差を閾値と比較し、ある調整点の閾値内に他の調整点が入っていた場合には、警告フラグFに1を設定する。このように警告フラグに1を設定することにより、上述したステップS509においてユーザに警告を発することができる。これは、入力した調整点間距離が非常に近い場合に、使用するアルゴリズムに関らず階調性が乱れる可能性が高いことを鑑みての処理であり、ユーザに警告を発することによって調整点の再入力を促すものである。
【００８４】
以上説明したように第2実施形態によれば、ユーザが色変換テーブルを作成する際に、所望の調整点を指定し、該調整点を所望の色で再現する色変換テーブルに調整することができる。そしてさらに、ユーザが入力した調整パラメータを用いて色変換テーブルを調整した結果、階調の跳びや潰れが発生する可能性を判定し、階調の跳びや潰れが発生する場合にはユーザに警告を発することによって、調整パラメータの再入力を促すことができる。
【００８５】
＜変形例＞
上述した第1および第2実施形態においては、画像入出力機器の色域情報としてCIELAB色空間のデータを用いる例を示したが、これはCIELAB色空間に限らず、CIELUV色空間のデータやXYZ表色系のデータであっても良く、例えば、CIECAM97、CIECAM97s、CIECAM02等のカラーアピアランス空間であっても良いことは言うまでもない。
【００８６】
また、上述した第1および第2実施形態においては、調整点を所望の点に移動する方法として有限要素法を用いる例を示したが、本発明はこの例に限定されるものではなく、調整点を所望の点に移動し、且つ、該調整点の近傍点を該調整点からの距離に応じて滑らかな階調を保ちながら移動する方法であれば、いかなる方法を用いても良い。
【００８７】
また、調整点に対応するパラメータとして、上述した第1実施形態においては目標点のみを、第2実施形態においては荷重ベクトルのみを用いる例を示したが、この目標点と荷重ベクトルを同時に使用することも可能である。また、同一の調整点に対して目標点と荷重ベクトルが指定された場合には、予めパラメータの優先度を規定しておくことによって、どちらかのパラメータを使っても良い。
【００８８】
また、上述した第1および第2実施形態においては、色変換テーブル調整部で要素剛性マトリックスを作成する例を示したが、要素剛性マトリックスを作成せずに、直接、全体剛性マトリックスを作成することも可能である。すなわち、荷重ベクトルと変位ベクトルとを変換するマトリックスを作成する方法であれば、いかなる方法を用いても良い。
【００８９】
また、上述した第1および第2実施形態においては、色変換テーブル調整部において、調整点が節点と一致しない場合に、図16に示すように、調整点を囲む六面体の各頂点である8つの節点を移動することで調整点の移動を図る例を示したが、図23に示すように、調整点を囲む四面体の各頂点を移動することで調整点の移動を行うことも可能である。また、六面体や四面体以外の多面体を用いても良く、すなわち、多面体でなくとも調整点を囲む領域であれば、どのような立体を用いても良い。
【００９０】
また、上述した第2実施形態においては、閾値として色差を入力する例を示した、色差ではなく、調整点を含む任意の領域を指定するようにしても良い。さらに言うと、指定する領域は調整点を含んでいなくても良い。
【００９１】
また、上述した第2実施形態においては、ユーザインターフェース部201で図20及び図21に示した文言によりユーザへ警告を行う例を示したが、このユーザへの警告は、調整点の設定が不適切であることをユーザが認識できるような方法であれば、いかなる方法を用いても良い。
【００９２】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９３】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では各図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００９４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００９６】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などがある。
【００９７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００９８】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１００】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０１】
【図１】本発明に係る一実施形態における色調整装置の構成を示すブロック図である。
【図２】本実施形態における色変換調整処理を示すフローチャートである。
【図３】本実施形態における色変換テーブルの一例を示す図である。
【図４】本実施形態における調整パラメータの一例を示す図である。
【図５】色変換テーブル設定処理を示すフローチャートである。
【図６】調整パラメータ設定処理を示すフローチャートである。
【図７】色変換テーブル調整処理を示すフローチャートである。
【図８】節点の接続情報を示す対応表である。
【図９】xyz空間における有限要素モデルの節点を示す図である。
【図１０】xyz空間における等方的な節点の接続を示す図である。
【図１１】色変換テーブル設定部で設定された節点データ例を示す図である。
【図１２】2つの節点を接続するトラスを示す図である。
【図１３】3次元ベクトルと各軸とのなす角を示す図である。
【図１４】3つの要素で構成される有限要素モデルを示す図である。
【図１５】節点変位算出処理を示すフローチャートである。
【図１６】調整点を囲む8つの節点の移動を示す図である。
【図１７】第2実施形態における色調整装置の構成を示すブロック図である。
【図１８】第2実施形態におけるユーザインターフェース例を示す図である。
【図１９】第2実施形態における色変換調整処理を示すフローチャートである。
【図２０】ユーザインターフェースによる警告例を示す図である。
【図２１】ユーザインターフェースによる警告例を示す図である。
【図２２】調整パラメータ判定部における色差判定処理を示すフローチャートである。
【図２３】調整点を囲む4つの節点の移動を示す図である。
【図２４】xy色度図にプロットしたsRGB,AdobeRGB,プリンタの各色域を示す図である。
【図２５】入力されたRGB画像をプリンタ出力する処理を示す図である。
【図２６】L*a*平面に投影した調整点と該調整点を含む同一色相面を示す図である。
【図２７】調整点を含む線上の階調特性曲線を示す図である。
【図２８】従来の色調整処理を示す図である。
【図１】
2007006037.tif 000011
【図２】
2007006037.tif 000012
【図３】
2007006037.tif 000013
【図４】
2007006037.tif 000014
【図５】
2007006037.tif 000015
【図６】
2007006037.tif 000016
【図７】
2007006037.tif 000017
【図８】
2007006037.tif 000018
【図９】
2007006037.tif 000019
【図１０】
2007006037.tif 000020
【図１１】
2007006037.tif 000021
【図１２】
2007006037.tif 000022
【図１３】
2007006037.tif 000023
【図１４】
2007006037.tif 000024
【図１５】
2007006037.tif 000025
【図１６】
2007006037.tif 000026
【図１７】
2007006037.tif 000027
【図１８】
2007006037.tif 000028
【図１９】
2007006037.tif 000029
【図２０】
2007006037.tif 000030
【図２１】
2007006037.tif 000031
【図２２】
2007006037.tif 000032
【図２３】
2007006037.tif 000033
【図２４】
2007006037.tif 000034
【図２５】
2007006037.tif 000035
【図２６】
2007006037.tif 000036
【図２７】
2007006037.tif 000037
【図２８】
2007006037.tif 000038