(57)【要約】  色変換プログラム（６）は、カラーデジタル画像中の所定箇所の色を、予め作成された色変換テーブルに従って所望の色に変換する処理をコンピュータに実行させる色変換プログラムであって、色変換テーブルの作成は、所定間隔で格子点（１４）が設けられた変換空間（１３）内で、色変換指定された点である引っ張り点（１５）を、色変換後の色として指定された点に向かって所定回数だけ微小移動させ、この引っ張り点（１５）の微小移動に伴って引っ張り点（１５）から各格子点（１４）に対して作用する構造変革力と、該構造変革力を受けた各格子点（１４）が微小移動することによって隣接格子点（１４）から作用する対変革抵抗力との合力として各格子点（１４）に作用する総力を算出し、この総力に基づいて各格子点（１４）の微小移動先をそれぞれ決定するものである。
2008139532.tif 000002
【特許請求の範囲】
【請求項１】
カラーデジタル画像中の所定箇所の色を、予め作成された色変換テーブルに従って所望の色に変換する処理をコンピュータに実行させる色変換プログラムであって、
前記色変換テーブルの作成は、該色変換テーブルの大きさに対応し所定間隔で格子点が設けられた変換空間内で、色変換すべき色として指定された点である引っ張り点を、色変換後の色として指定された点に向かって所定回数だけ微小移動させ、この引っ張り点の微小移動に伴って該引っ張り点から各格子点に対して作用する構造変革力と、該構造変革力を受けた各格子点が微小移動することによって隣接格子点から作用する対変革抵抗力との合力として各格子点に作用する総力を算出し、この総力に基づいて各格子点の微小移動先をそれぞれ決定するものであることを特徴とする色変換プログラム。
【請求項２】
前記構造変革力は、その大きさが、微小移動前の引っ張り点の位置から格子点の現在位置までの距離に依存し、且つ、その作用方向が、引っ張り点の微小移動方向と略同方向であることを特徴とする請求項１に記載の色変換プログラム。
【請求項３】
前記対変革抵抗力は、その大きさが、前記各格子点から前記隣接格子点を通る平面に降ろした垂線の長さに依存し、且つ、その作用方向が、前記各格子点から前記隣接格子点までの距離が、微小移動を開始する前の初期状態での各格子点間距離より広がっている時は引力方向であって、狭まっている時は斥力方向であることを特徴とする請求項１又は２に記載の色変換プログラム。
【請求項４】
前記各格子点を挟んで対向する一対の前記隣接格子点のうち、一方が前記変換空間の内側に位置し他方が外側に位置する場合、前記他方の隣接格子点に代えて、前記各格子点を中心として前記一方の隣接格子点と点対称の位置に架空隣接格子点が存在するものとして前記対変革抵抗力を算出することを特徴とする請求項１乃至３のいずれかに記載の色変換プログラム。
【請求項５】
請求項１乃至４のいずれかに記載の色変換プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項６】
カラーデジタル画像中の所定箇所の色を、予め作成された色変換テーブルに従って所望の色に変換する色変換装置であって、
前記色変換テーブルの大きさに対応し所定間隔で格子点が設けられた変換空間内で、色変換すべき色として指定された点である引っ張り点を、色変換後の色として指定された点に向かって所定回数だけ微小移動させる引っ張り点微小移動手段と、引っ張り点の微小移動に伴って該引っ張り点から各格子点に対して作用する構造変革力と、該構造変革力を受けた各格子点が微小移動することによって隣接格子点から作用する対変革抵抗力との合力として各格子点に作用する総力を算出し、この総力に基づいて各格子点を微小移動させる格子点微小移動手段と、を備えることを特徴とする色変換装置。
【請求項７】
前記構造変革力は、その大きさが、微小移動前の引っ張り点の位置から格子点の現在位置までの距離に依存し、且つ、その作用方向が、引っ張り点の微小移動方向と略同方向であることを特徴とする請求項６に記載の色変換装置。
【請求項８】
前記対変革抵抗力は、その大きさが、前記各格子点から前記隣接格子点を通る平面に降ろした垂線の長さに依存し、且つ、その作用方向が、前記各格子点から前記隣接格子点までの距離が、微小移動を開始する前の初期状態での各格子点間距離より広がっている時は引力方向であって、狭まっている時は斥力方向であることを特徴とする請求項６又は７に記載の色変換装置。
【請求項９】
前記各格子点を挟んで対向する一対の前記隣接格子点のうち、一方が前記変換空間の内側に位置し他方が外側に位置する場合、前記他方の隣接格子点に代えて、前記各格子点を中心として前記一方の隣接格子点と点対称の位置に架空隣接格子点が存在するものとして前記対変革抵抗力を算出することを特徴とする請求項６乃至８のいずれかに記載の色変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラーデジタル画像に生じた部分的な色の不具合を所望の色に変換する色変換プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体、ならびに色変換装置に関する。
【背景技術】
【０００２】
デジタルカメラ等で撮影したカラーデジタル画像には、撮影機器の性能や、撮影者の技量や、撮影環境等によって、部分的な色の不具合が生じる場合がある。この不具合が生じた部分の色を所望の色に変換する手段としては、変換したい色と変換後の色をＲＧＢ組値等でユーザに指定させ、その指定された色だけを変換する方法が従来用いられている（例えば特許文献１参照）。【０００３】
一方、色を変換する他の手段としては、トーンカーブを操作する方法も従来用いられている。図１５は、ある植物を撮影した画像の色を変換するためのトーンカーブを示す図であって、図１５（ａ）は赤成分トーンカーブを、図１５（ｂ）は緑成分トーンカーブを、図１５（ｃ）は青成分トーンカーブをそれぞれ示している。尚、各図では、ＲＧＢ組値を構成するＲ値，Ｇ値，Ｂ値のそれぞれについて、トーンカーブ操作前の入力値を横軸に、操作後の出力値を縦軸に取り、トーンカーブの操作前であって入力と出力が等しい状態を点線で示している。ここで、例えば、画像に写った植物のうち、葉っぱの部分の緑色が薄く、この緑色を強調したい場合、図１５（ｂ）に点線で示す緑成分のトーンカーブをつかんで上方に持ち上げる一方、図１５（ａ）に点線で示す赤成分のトーンカーブと図１５（ｃ）に点線で示す青成分のトーンカーブをつかんでそれぞれ下方に引き下げる。これにより、画像の赤成分と青成分を弱め、緑成分を際立たせることができる。【０００４】
【特許文献１】特開２００６−１５７３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、カラーデジタル画像において不具合が生じた部分の色を所望の色に変換する方法のうち、ユーザに指定させた色だけを変換する方法では、所望の色に変換されるのは指定された１色だけであって、その近傍色にも同様の不具合が生じていても全く変換されないため、画像中に色の不具合が改善されない部分が残るという問題がある。【０００６】
また、トーンカーブを操作して色を変換する方法では、画像全体に渡って一律に色が変換されるため、不具合が生じていない部分まで色が変換されてしまうという問題がある。例えば、前述のように植物を撮影した画像について葉っぱの緑色を強調した場合、黄色い花びらの部分までもが緑掛かった色に変換されてしまう。このような問題を回避する手段としては、画像中で色を変換する必要がない部分をユーザに予め領域指定させ、その領域を隔離した状態で、前述と同様にしてトーンカーブを操作するといったようなものがある。この場合、隔離された部分はトーンカーブの影響を受けず、色に不具合が生じた部分だけが所望の色に変換される。しかし、この方法では、領域指定の作業がユーザにとって煩雑であるとともに、かなりの熟練を要するという問題がある。【０００７】
本発明は、このような問題に鑑みてなされたものであり、直感的且つ容易な操作により、カラーデジタル画像中において、色に不具合が生じていない部分は色を大きく変化させることなく、色に不具合が生じた部分を所望の色に変換することが可能な色変換プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体、ならびに色変換装置を提供する。
【課題を解決するための手段】
【０００８】
上記目的を達成するための請求項１記載の色変換プログラムは、カラーデジタル画像中の所定箇所の色を、予め作成された色変換テーブルに従って所望の色に変換する処理をコンピュータに実行させる色変換プログラムであって、前記色変換テーブルの作成は、該色変換テーブルの大きさに対応し所定間隔で格子点が設けられた変換空間内で、色変換すべき色として指定された点である引っ張り点を、色変換後の色として指定された点に向かって所定回数だけ微小移動させ、この引っ張り点の微小移動に伴って該引っ張り点から各格子点に対して作用する構造変革力と、該構造変革力を受けた各格子点が微小移動することによって隣接格子点から作用する対変革抵抗力との合力として各格子点に作用する総力を算出し、この総力に基づいて各格子点の微小移動先をそれぞれ決定することを特徴とするものである。【０００９】
請求項２記載の色変換プログラムは、前記構造変革力は、その大きさが、微小移動前の引っ張り点の位置から格子点の現在位置までの距離に依存し、且つ、その作用方向が、引っ張り点の微小移動方向と略同方向であることを特徴とするものである。【００１０】
請求項３記載の色変換プログラムは、前記対変革抵抗力は、その大きさが、前記各格子点から前記隣接格子点を通る平面に降ろした垂線の長さに依存し、且つ、その作用方向が、前記各格子点から前記隣接格子点までの距離が、微小移動を開始する前の初期状態での各格子点間距離より広がっている時は引力方向であって、狭まっている時は斥力方向であることを特徴とするものである。【００１１】
請求項４記載の色変換プログラムは、前記各格子点を挟んで対向する一対の前記隣接格子点のうち、一方が前記変換空間の内側に位置し他方が外側に位置する場合、前記他方の隣接格子点に代えて、前記各格子点を中心として前記一方の隣接格子点と点対称の位置に架空隣接格子点が存在するものとして前記対変革抵抗力を算出することを特徴とするものである。【００１２】
請求項５記載のコンピュータ読み取り可能な記録媒体は、請求項１乃至４のいずれかに記載の色変換プログラムが記録されたことを特徴とするものである。【００１３】
請求項６記載の色変換装置は、カラーデジタル画像中の所定箇所の色を、予め作成された色変換テーブルに従って所望の色に変換する色変換装置であって、前記色変換テーブルの大きさに対応し所定間隔で格子点が設けられた変換空間内で、色変換すべき色として指定された点である引っ張り点を、色変換後の色として指定された点に向かって所定回数だけ微小移動させる引っ張り点微小移動手段と、引っ張り点の微小移動に伴って該引っ張り点から各格子点に対して作用する構造変革力と、該構造変革力を受けた各格子点が微小移動することによって隣接格子点から作用する対変革抵抗力との合力として各格子点に作用する総力を算出し、この総力に基づいて各格子点を微小移動させる格子点微小移動手段と、を備えることを特徴とするものである。【００１４】
請求項７記載の色変換装置は、前記構造変革力は、その大きさが、微小移動前の引っ張り点の位置から格子点の現在位置までの距離に依存し、且つ、その作用方向が、引っ張り点の微小移動方向と略同方向であることを特徴とするものである。【００１５】
請求項８記載の色変換装置は、前記対変革抵抗力は、その大きさが、前記各格子点から前記隣接格子点を通る平面に降ろした垂線の長さに依存し、且つ、その作用方向が、前記各格子点から前記隣接格子点までの距離が、微小移動を開始する前の初期状態での各格子点間距離より広がっている時は引力方向であって、狭まっている時は斥力方向であることを特徴とするものである。【００１６】
請求項９記載の色変換装置は、前記各格子点を挟んで対向する一対の前記隣接格子点のうち、一方が前記変換空間の内側に位置し他方が外側に位置する場合、前記他方の隣接格子点に代えて、前記各格子点を中心として前記一方の隣接格子点と点対称の位置に架空隣接格子点が存在するものとして前記対変革抵抗力を算出することを特徴とするものである。
【発明の効果】
【００１７】
本発明の請求項１に係る色変換プログラムによれば、指定された変換対象色に関しては、指定された変換後の色には完全に一致しないまでも、できるだけこれに近い色に色変換する。また、変換対象色に近い色に関しては、変換対象色の変換後の色にある程度近い色に変換する一方、変換対象色から遠い色に関しては、変更の度合いを小さくしてできる限り変換前の色のままとする。これにより、画像全体に対して色変換を行っても、色の不具合が生じた部分だけが所望の色に色変換され、色の不具合が生じていない部分に意図しない色変換が行われることがない。また、画像中において色変換すべき色と色変換後の色を指定する、という極めて直感的且つ容易な操作を行うだけで高精度な色変換を行うことができる。尚、変換対象色に近い色とは、例えば色情報がｓＲＧＢ方式で記録されている場合、ＲＧＢ空間において変換対象色を表す点からの距離が近い点によって表される色のことを意味し、逆に変換対象色から遠い色とは、ＲＧＢ空間において変換対象色を表す点からの距離が遠い点によって表される色のことを意味する。【００１８】
また、本発明の請求項２に係る色変換プログラムによれば、正確且つ簡易に構造変革力を算出して、高精度な色変換を実現することができる。【００１９】
また、本発明の請求項３に係る色変換プログラムによれば、正確且つ簡易に対変革抵抗力を算出して、高精度な色変換を実現することができる。【００２０】
また、本発明の請求項４に係る色変換プログラムによれば、変換空間の外縁部に位置する外縁部格子点と外縁部以外の部分に位置する非外縁部格子点の両方について、構造変革力や非変革抵抗力を共通の算出式を用いて算出することができるので、処理の簡略化を図ることができる。【００２１】
また、本発明の請求項５に係るコンピュータ読み取り可能な記録媒体によれば、請求項１乃至４のいずれかに記載の色変換プログラムと同様の効果を得ることができる。【００２２】
また、本発明の請求項６に係る色変換装置によれば、請求項１に記載の色変換プログラムと同様の効果を得ることができる。【００２３】
また、本発明の請求項７に係る色変換装置によれば、請求項２に記載の色変換プログラムと同様の効果を得ることができる。【００２４】
また、本発明の請求項８に係る色変換装置によれば、請求項３に記載の色変換プログラムと同様の効果を得ることができる。【００２５】
また、本発明の請求項９に係る色変換装置によれば、請求項４に記載の色変換プログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施例に係る色変換装置装置及び色変換プログラムについて図面に基づいて説明する。図１は、本実施例に係る色変換装置１の構成を示すブロック図である。色変換装置１は、カラーデジタル画像である原画像の画像データを入力するためのメディアリーダ（原画像入力手段）２と、入力された原画像の画像データを色変換して新画像の画像データを生成するコンピュータ３と、生成された新画像の画像データを出力するための写真プリンタ４と、を備えてなるものである。ここで、本発明における画像データとは、画像を構成する各画素毎に、いわゆるｓＲＧＢ方式で色情報が記録された色情報の集合体を意味している。尚、ｓＲＧＢ方式とは、色情報をＲ（赤成分），Ｇ（緑成分），Ｂ（青成分）の３つの値の組で色を表現するものである。【００２７】
メディアリーダ２は、メモリカード，ＣＤ等の各種記憶媒体に記憶された原画像データを読み取ってコンピュータ３に入力するためのものである。もちろん、本発明にかかる原画像入力手段として、本実施例のメディアリーダ２に代えて従来公知のイメージスキャナ等を用いることにより、プリント済みの写真画像からカラーデジタル画像データを読み取ることも可能である。【００２８】
コンピュータ３は、メディアリーダ２から入力された原画像データを記憶する画像メモリ５と、色変換のための色変換プログラム６を格納するハードディスク７と、該ハードディスク７から読み出された色変換プログラム６を一時記憶するＲＡＭ（Ｒａｎｄａｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８と、この色変換プログラム６に従って原画像データを色変換するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９と、原画像や色変換後の新画像を表示するための表示部１０と、マウスやキーボード等で構成される操作部１１と、がシステムバス１２を介して接続されてなるものである。尚、色変換後の新画像をハードディスク７に格納することも可能である。尚、本実施例では、色変換プログラム６をハードディスク７に格納しているが、これに代えて、コンピュータ読み取り可能な記録媒体（不図示）に色変換プログラム６を記録しておき、この記録媒体から色変換プログラム６を読み出すことも可能である。【００２９】
以下、本発明に係る色変換プログラム６のアルゴリズムについて説明する。本色変換プログラム６は、種々のプログラミング言語を用いて作成され、原画像データを色変換することによって、色の不具合を改善した新画像データを算出するものである。【００３０】
まず、色変換プログラム６を用いて原画像を色変換する手順について説明する。原画像の色変換に際しては、まず、色変換プログラム６を起動してハードディスク７からＲＡＭ８上へと読み出す。次に、変換すべき原画像の画像データをメディアリーダ２から入力して、画像メモリ５上にロードした後、原画像に対する色変換指定を行う。この色変換指定としては、原画像上に表示されたどの色を変換するのか変換対象色を指定する変換前色指定と、変換対象色をどのような色に変換するのかを指定する変換後色指定とを行う。ここで、変換前色指定は、原画像上で変換対象色が存在する位置をマウスポインタでクリックすることにより行う。一方、変換後色指定は、変換対象色のＲＧＢ組値を構成するＲ値，Ｇ値，Ｂ値をそれぞれどのように増減させるかを、例えば（−２０，＋２０，−２０）というようにキーボードから数値入力することにより行う。【００３１】
尚、変換前色指定に関しては、マウスポインタによるクリックに代えて、原画像上において変換対象色が存在する位置を、そのＸ座標とＹ座標をキーボードから数値入力することによって指定することも可能である。また、原画像上の位置を指定することで変換対象色を指定する代わりに、変換対象色のＲＧＢ組値を直接入力することによって指定することも可能である。また、変換後色指定に関しては、ＲＧＢ組値の変換対象色からの相対的な増減値を入力することに代えて、変換後の色のＲＧＢ組値をそれぞれ入力することによって指定することも可能である。【００３２】
そして、変換対象色を複数指定したい場合には、同様の手順で色変換指定を複数回繰り返し、例えば、ＲＧＢ組値が（１３０，１４８，７２）の変換対象色を（１１０，１６８，５２）に、ＲＧＢ組値が（５１，６５，３０）の変換対象色を（３６，８５，２０）にそれぞれ色変換するように指定する。そして、色変換指定が完了すると、色変換処理に先立って色変換・準備処理を起動し、色変換処理の準備を整えた後、色変換処理を起動する。以下、この色変換・準備処理と色変換処理について詳述する。【００３３】
色変換・準備処理とは、色変換指定に基づいて、色変換処理で使用する色変換テーブルを作成する処理である。すなわち、色変換処理では、原画像を構成する各画素のＲＧＢ組値を色変換テーブルに従って変換するため、この色変換処理に先立って、（０，０，０）から（２５５，２５５，２５５）まで計１６，７７７，２１６（２５６×２５６×２５６）通り存在するＲＧＢ組値を、どのようなＲＧＢ組値に変換するかを定めた色変換テーブルを作成する必要がある。但し、本発明では、コンピュータ３による処理の高速化を考慮して、全てのＲＧＢ組値については色変換テーブルを作成せずに、ＲＧＢ組値を構成する各成分について８．０間隔で色変換テーブルを作成する。もちろん、この間隔は任意に設定変更が可能である。【００３４】
ここで、図２に示すように、Ｒ，Ｇ，Ｂの３次元空間において、（−８，−８，−８），（２６４，−８，−８），（−８，２６４，−８），（−８，−８，２６４），（−８，２６４，２６４），（２６４，−８，２６４），（２６４，２６４，−８），（２６４，２６４，２６４）の６つの点を頂点とする立方体領域を「変換空間１３」と定義し、この変換空間１３中に各成分毎に８．０間隔でプロットした点を「格子点１４」と定義する。本発明では、前述のように、この各格子点１４について色変換テーブルを作成する。更に、図２に三角印で示すように、変換空間１３中に、前記変換前色指定でユーザが指定した変換対象色をプロットし、この点を「引っ張り点１５」と定義する。尚、変換対象色が複数指定された場合には、この引っ張り点１５が変換空間１３中に複数個存在することになる。【００３５】
色変換テーブルの作成とは、変換前色指定で指定された引っ張り点１５を、変換後色指定で指定されたＲＧＢ組値へと移動させた時に、これに伴って各格子点１４が変換空間１３内のどこへ移動するかを決定することである。本発明では、引っ張り点１５の移動とは微小移動の繰り返しであって、引っ張り点１５の微小移動に伴って各格子点１４も微小移動を繰り返すものとする。そして、引っ張り点１５の微小移動に伴って、各格子点１４には構造変革力と対変革抵抗力という２つの力が作用し、この２つの力の合力によって各格子点１４の微小移動後の位置が決まるものとする。ここで、構造変革力とは、引っ張り点１５から各格子点１４に対して作用するものであって、引っ張り点１５が自身の移動と略同じ方向に各格子点１４を移動させようとする力である。一方、対変革抵抗力とは、各格子点１４に対してこれに隣接する格子点１４から作用するものであって、ある格子点１４が構造変革力を受けて移動すると、隣接する格子点１４との位置関係が変わるため、隣接する格子点１４が自身との位置関係を保つようにある格子点１４を移動させようとする力である。例えば、ある格子点１４が微小移動して隣接する格子点１４に接近した場合、その格子点１４に対しては、隣接する格子点１４から微小移動前の位置へ押し戻そうとする力が作用する。逆に、ある格子点１４が微小移動して隣接する格子点１４から遠ざかった場合、その格子点１４に対しては、隣接する格子点１４から微小移動前の位置へ引き戻そうとする力が作用する。【００３６】
このように、各格子点１４に対しては、引っ張り点１５の数だけ構造変革力が作用するとともに、隣接する格子点１４の数だけ対変革抵抗力が作用し、これら全ての力のベクトルの合力により、各格子点１４の微小移動先の位置が決定される。例えば、構造変革力が対変革抵抗力と比べて極めて大きい場合には、その格子点１４は構造変革力の影響により大きく移動するが、これとは逆に構造変革力と比較して対変革抵抗力が大きい場合には、その格子点１４はほとんど移動しない。【００３７】
コンピュータ３による色変換テーブルの作成に際しては、前述のように、まずＲＧＢ３次元空間内に変換空間１３と格子点１４を設定した後、ユーザの変換前色指定に基づいて引っ張り点１５を設定する。そして、後述する微小移動処理を所定回数だけ繰り返す。具体的には、図３に示すように、まず、変数「微小移動回数」を０に設定し（Ｓ１）、微小移動回数が所定の閾値に達したか否かを判定し（Ｓ２）、閾値に達していない場合には（Ｓ２：Ｎｏ）、微小移動処理を実行した後（Ｓ３）、微小移動回数を１だけカウントアップし（Ｓ４）、微小移動回数が閾値に達したか否かを再度判定し（Ｓ２）、閾値に達していない場合には（Ｓ２：Ｎｏ）Ｓ３とＳ４を繰り返し、閾値に達した場合には（Ｓ２：Ｙｅｓ）、処理を終了する。【００３８】
ここで、図４乃至図６は、微小移動処理を説明するための図である。ここでは、ＲＧＢ組値が（１３０，１４８，７２）である変換対象色を（１１０，１６８，５２）に色変換するとともに、ＲＧＢ組値が（５１，６５，３０）である変換対象色を（３６，８５，２０）に色変換するするように色変換指定がされた場合を例に説明する。まず、図４は、微小移動処理を開始する前の初期状態における変換空間１３を示す図であり、図２に示す変換空間１３をＢ＝７２を通る水平面で切断した断面の状態を示している。尚、図４乃至図６では、各格子点１４を四角印で示すとともに、図の見易さを考慮して、Ｒ軸方向とＧ軸方向に向かってそれぞれ３２間隔で格子点１４を黒く塗り潰している。また、図４では、初期状態における２つの引っ張り点１５ａを丸印で、色変換指定された２つの色変換後の引っ張り点１５ｂを三角印でそれぞれ示している。尚、図４では、説明の便宜上、本来はＢ＝７２を通る切断面上に位置しない（１１０，１６８，５２）や（５１，６５，３０）や（３６，８５，２０）といった点を仮想的に切断面上に図示している。この図４によれば、初期状態では、各格子点１４は８．０間隔で整列した状態となっている。【００３９】
次に、図５は、微小移動回数が１０回に達した場合の変換空間１３を示す図であり、図２に示す変換空間１３をＢ＝７２を通る水平面で切断した断面の状態を示している。尚、図５では、初期状態における引っ張り点１５ａを丸印で、微小移動処理を１０回実行した後の引っ張り点１５ｃを三角印でそれぞれ示している。尚、この図５でも、説明の便宜上、本来はＢ＝７２を通る切断面上に位置しない微小移動前後の引っ張り点１５を仮想的に切断面上に図示している。この図５によれば、引っ張り点１５の微小移動に追従して各格子点１４も微小移動することにより、初期状態と比較して、各格子点１４の配列には若干の歪みが生じている。【００４０】
最後に、図６は、微小移動回数が閾値に達した場合の変換空間１３を示す図であり、図２に示す変換空間１３をＢ＝７２を通る水平面で切断した断面の状態を示している。尚、図６では、初期状態における引っ張り点１５ａを丸印で、微小移動回数が閾値に達した時の引っ張り点１５ｄの位置を三角印でそれぞれ示している。尚、この図６でも、説明の便宜上、本来はＢ＝７２を通る切断面上に位置しない微小移動前後の引っ張り点１５を仮想的に切断面上に図示している。この図６によれば、図５と比較して各格子点１４の配列の歪みが大きくなっている。そして、引っ張り点１５ｄは、図４に示す色変換指定された色変換後の引っ張り点１５ｂとは完全に一致しないものの、ほぼこれに近い位置へと移動している。また、初期状態で引っ張り点１５ａに近接した位置にあった格子点１４は、引っ張り点１５ａに追従して移動することにより、微小移動処理の実行後も、引っ張り点１５の移動先として色変換指定された（１１０，１６８，５２）に近接した位置へと移動している。一方、初期状態で引っ張り点１５ａから離間した位置にあった各格子点１４は、微小移動処理の実行後も、その位置はほとんど変化していない。【００４１】
ところで、微小移動回数の閾値は以下のようにして求めることができる。まず、前述のように複数回の色変換指定によって複数個指定される引っ張り点１５のそれぞれについて、下記の式（１）と式（２）で定義される〔変換移動距離〕を求める。そして、各引っ張り点１５について算出した〔変換移動距離〕のうち、最大値を〔最大・変換移動距離〕と定義する。尚、本発明では、ＲＧＢ３次元空間中のベクトルを「Ｖ＿」を頭に付けることで表記し、このベクトルのＲＧＢ各成分を表すときは、ベクトルの後ろにＲ，Ｇ，Ｂをそれぞれ付けて表記する。また、ベクトル同士の和や差を表す演算記号として「＋」と「−」を用いるとともに、実数とベクトルの掛け算や割り算を表す演算記号として「×」と「／」を用いる。更に、ベクトルの大きさは、「大きさ＿」を「Ｖ＿」の前に付けることで表記する。このベクトルの大きさは、ＲＧＢ３次元ユークリッド空間におけるいわゆるユークリッド距離であって、ＲＧＢ各成分を平方和したものの平方根として算出する。
【数１】
2008139532.tif 000003
【数２】
2008139532.tif 000004
【００４２】
そして、下記の式（３）により微小移動回数の閾値を求める。ここで、式（３）における〔微小移動距離の上限〕とは、引っ張り点１５が１回あたりの微小移動で移動し得る最大距離であって、本実施例では１．６に設定している。尚、この〔微小移動距離の上限〕は、本実施例に限定されず任意に設定変更が可能である。この値を１．６より大きく設定すれば、微小移動回数が少なくなり、処理時間の短縮が図れる一方、この値を１．６より小さく設定すれば、微小移動回数が多くなり、処理時間は長くなるが、色変換の品質向上を図ることができる。
【数３】
2008139532.tif 000005
【００４３】
ここで、図７は、１回の微小移動処理の流れを示すフローチャートである。微小移動処理では、処理の開始に伴い、まず引っ張り点１５全体を１回微小移動させ（Ｓ５）、次に格子点１４全体を１回微小移動させて（Ｓ６）、処理が終了する。以下、引っ張り点１５の微小移動と格子点１４の微小移動について、それぞれ説明する。【００４４】
まず、引っ張り点１５の微小移動について説明する。複数個指定された引っ張り点１５のうち、ある引っ張り点αについて、微小移動処理を開始する前の初期状態での位置、すなわち変換前色指定で指定された位置を〔Ｖ＿引っ張り点α・初期状態位置〕とし、閾値により定められた回数分の微小移動処理が完了した時に移動すべき位置、すなわち変換後色指定で指定された位置を〔Ｖ＿引っ張り点α・移動完了後位置〕とすると、引っ張り点αの全移動を示すベクトル〔Ｖ＿全移動・引っ張り点α〕は、下記の式（４）のように表される。そうすると、引っ張り点αの１回あたりの微小移動を示すベクトル〔Ｖ＿１回あたりの微小移動・引っ張り点α〕は、式（５）のように表される。
【数４】
2008139532.tif 000006
【数５】
2008139532.tif 000007
【００４５】
これによれば、Ｎ回目（１≦Ｎ≦閾値）の微小移動について、引っ張り点αの微小移動後の位置〔Ｖ＿引っ張り点α・微小移動後位置〕が下記の式（６）で、微小移動前の位置〔Ｖ＿引っ張り点α・微小移動前位置〕が式（７）でそれぞれ算出される。そして、式（６）で算出された〔Ｖ＿引っ張り点α・微小移動後位置〕へ引っ張り点αを微小移動させ、これと同様にして、他の全ての引っ張り点１５も微小移動させる。
【数６】
2008139532.tif 000008
【数７】
2008139532.tif 000009
【００４６】
次に、格子点１４の微小移動について説明する。格子点１４の微小移動は、各格子点１４に対して以下の処理を実行することにより行う。
（１）全ての引っ張り点１５から作用する構造変革力の合力に従って、格子点１４を仮移動させる。
（２）格子点１４に作用する対変革抵抗力を決定する。
（３）構造変革力と対変革・抵抗力より、格子点１４に作用する総力を決定する。
（４）総力に従って、格子点１４を実移動させる。【００４７】
まず、格子点１４を仮移動させる。この仮移動とは、実際には格子点１４を移動させずに、仮に移動させたとした場合の移動後の位置を仮想的に算出することである。ここで、仮移動後の格子点１４の位置を算出するためには、ベクトルである構造変革力について、その大きさと作用方向とを決定する必要がある。まず、構造変革力の大きさについては、例えばある１つの格子点Ａに対して、ある１個の引っ張り点αから作用する構造変革力の大きさを考えると、微小移動前の引っ張り点αと現在位置にある格子点Ａとを結ぶベクトル〔Ｖ＿差＿格子点Ａ・現在位置＿引っ張り点α・微小移動前位置〕は、下記の式（８）によって表される。従って、両者を結ぶこのベクトルの大きさである、〔大きさ＿Ｖ＿差＿格子点Ａ・現在位置＿引っ張り点α・微小移動前位置〕が、引っ張り点αから格子点Ａまでの距離〔距離＿格子点Ａ・現在位置＿引っ張り点α・微小移動前位置〕に相当する。これを用いれば、引っ張り点αから格子点Ａに作用する構造変革力の大きさは、式（９）のように表すことができる。尚、本実施例では、式（９）中の引力定数１，２，３をそれぞれ、引力定数１＝５．０，引力定数２＝０．０，引力定数３＝３０．０にそれぞれ設定しているが、本実施例に限定されず任意に設定変更が可能である。また、式（９）に代えて、距離の増大とともに構造変革力が減少していく曲線により表される他の数式を用いてもよい。
【数８】
2008139532.tif 000010
【数９】
2008139532.tif 000011
【００４８】
ここで、以下の表１は、上記式（９）に示される〔構造変革力の大きさ〕と〔距離＿格子点Ａ・現在位置＿引っ張り点α・微小移動前位置〕との関係を示したものであり、これをグラフ化したのが図８である。この表１と図８に示されるように、引っ張り点αと格子点Ａとの間の距離が短いほど、引っ張り点αから格子点Ａに作用する構造変革力は大きく、両者間の距離が長くなるに従って、構造変革力は減少する。尚、表１と図８では、〔構造変革力の大きさ〕を「力の大きさ」と、〔距離＿格子点Ａ・現在位置＿引っ張り点α・微小異動前位置〕を「距離」とそれぞれ省略している。
【表１】
2008139532.tif 000012
【００４９】
次に、構造変革力の作用方向は、引っ張り点αの微小移動方向と略同方向であると考えられる。従って、引っ張り点αの微小移動方向を求めるため、上記式（６）と式（７）で求めた〔Ｖ＿引っ張り点α・微小移動後位置〕と〔Ｖ＿引っ張り点α・微小移動前位置〕を用いることにより、引っ張り点αの１回あたりの微小移動を表すベクトル〔Ｖ＿引っ張り点α・微小移動〕を次の式（１０）で示すように求めた。そして、引っ張り点αの微小移動方向への単位ベクトルを式（１１）で示すように算出して、これを構造変革力の作用方向として決定した。尚、引っ張り点αの１回あたりの微小移動を表すベクトルとして、上記式（５）で求めた〔Ｖ＿１回あたりの微小移動・引っ張り点α〕を用いることなく、〔Ｖ＿引っ張り点α・微小移動〕を用いたことにより、コンピュータ３による計算時に、いわゆる桁あふれによる丸めが行われて計算誤差が累積することを回避することができる。
【数１０】
2008139532.tif 000013
【数１１】
2008139532.tif 000014
【００５０】
以上のように求めた構造変革力の大きさと作用方向を用いれば、引っ張り点αから格子点Ａに作用する構造変革力は、次の式（１２）で示される。但し、〔大きさ＿Ｖ＿引っ張り点α・微小移動〕が極めて小さい場合には、ゼロ除算を回避すべく、構造変革力を極めてゼロベクトルに近く設定するのが好適である。本実施例では、〔大きさ＿Ｖ＿引っ張り点α・微小移動〕が、式（１３）で示す条件を満たす場合には、構造変革力のＲＧＢ成分を、式（１４）〜式（１６）に示すように設定した。もちろん、この設定は任意に変更可能である。
【数１２】
2008139532.tif 000015
【数１３】
2008139532.tif 000016
【数１４】
2008139532.tif 000017
【数１５】
2008139532.tif 000018
【数１６】
2008139532.tif 000019
【００５１】
次に、格子点Ａに対して、全ての引っ張り点１５より作用する構造変革力の合力を算出する。すなわち、式（１２）と同様にして、引っ張り点α以外の他の引っ張り点β，γ・・についても格子点Ａに作用する構造変革力を求め、下記の式（１７）に示すように、これを全ての引っ張り点１５についてベクトル和することにより、１個の格子点１４に対して全ての引っ張り点１５から作用する構造変革力の合力〔Ｖ＿構造変革力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ引っ張り点・全て〕を算出する。
【数１７】
2008139532.tif 000020
【００５２】
そして、構造変革力の合力に基づいて、仮移動後の格子点Ａの位置を算出する。すなわち、仮移動後の格子点Ａの位置を示すベクトル〔Ｖ＿格子点Ａ・仮移動後位置〕は、格子点Ａの現在位置を表すベクトル〔Ｖ＿格子点Ａ・現在位置〕と、格子点Ａの仮移動を表すベクトル〔Ｖ＿格子点Ａ・仮移動〕を用いることにより、下記の式（１８）のように表すことができる。ここで、この〔Ｖ＿格子点Ａ・仮移動〕とは、上記式（１７）で算出した構造変革力の合力〔Ｖ＿構造変革力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ引っ張り点・全て〕を意味している。但し、式（１９）に示すように、〔大きさ＿Ｖ＿格子点Ａ・仮移動〕が、所定の上限値である〔移動量・上限値〕を超えて大きくなった場合には、式（２０）及び式（２１）に示すように、〔補正係数〕を用いて〔Ｖ＿格子点Ａ・仮移動〕を補正して〔Ｖ＿格子点Ａ・仮移動補正後〕を算出することにより、仮移動の量を小さめに設定し直すこととする。尚、本実施例では、全ての引っ張り点１５のうち、構造変革力の大きさが最大となる引っ張り点１５を「最強引っ張り点」と定義し、式（２２）に示すように、この最強引っ張り点の微小移動を表すベクトル〔Ｖ＿最強引っ張り点・微小移動〕の大きさを、〔移動量・上限値〕として設定した。また、式（１８）によって算出した〔Ｖ＿格子点Ａ・仮移動後位置〕が、（−８，−８，−８）〜（２６４，２６４，２６４）の立方体領域である変換空間１３の外側に位置する場合には、式（２３）に示すように、格子点Ａは仮移動後も現在位置にあるものとしてその位置を修正することとする。
【数１８】
2008139532.tif 000021
【数１９】
2008139532.tif 000022
【数２０】
2008139532.tif 000023
【数２１】
2008139532.tif 000024
【数２２】
2008139532.tif 000025
【数２３】
2008139532.tif 000026
【００５３】
次に、格子点１４が、上記式（１８）で求めた〔Ｖ＿格子点Ａ・仮移動後位置〕に移動したと仮定した時に、隣接格子点１４から作用する対変革抵抗力を決定する。まず、本発明では、変換空間１３内に存在する格子点１４を、変換空間１３の外縁部に位置する外縁部格子点と、外縁部以外の部分に位置する非外縁部格子点とに分類する。ここで、外縁部格子点とは、格子点１４の初期状態すなわち微小移動開始前の位置を示すベクトル〔Ｖ＿格子点・初期状態位置〕のＲＧＢ成分が、以下の式（２４）〜式（２９）に示す条件の少なくとも１つを満足するような格子点１４を意味している。
【数２４】
2008139532.tif 000027
【数２５】
2008139532.tif 000028
【数２６】
2008139532.tif 000029
【数２７】
2008139532.tif 000030
【数２８】
2008139532.tif 000031
【数２９】
2008139532.tif 000032
【００５４】
最初に、非外縁部格子点について検討する。非外縁部格子点は、変換空間１３の比較的内部に位置しているため、格子点が微小移動を開始する前の初期状態では、図９に示すように、非外縁部格子点の１つである格子点Ａに隣接する格子点としては、Ｒ軸方向に隣接する〔格子点・Ｒ軸＋〕，〔格子点・Ｒ軸−〕と、Ｇ軸方向に隣接する〔格子点・Ｇ軸＋〕，〔格子点Ｇ軸−〕と、Ｂ軸方向に隣接する〔格子点・Ｂ軸＋〕，〔格子点・Ｂ軸−〕の計６個が変換空間１３内に存在している。【００５５】
その後、図９に示すように初期状態で整列していた各格子点は、微小移動を繰り返すに連れて、図１０に示すように互いの位置関係に歪みが生じる。尚、図１０では、初期状態での各隣接格子点の位置を点線で示している。この時、各隣接格子点から格子点Ａに作用する対変革抵抗力を決定するため、格子点Ａから各隣接格子点までの距離をそれぞれ求める。この隣接格子点までの距離とは、図１１に示すように、隣接格子点を通る平面Ｓに対して格子点Ａから降ろした垂線Ｖの長さを意味する。例えば、格子点Ａと〔格子点・Ｒ軸＋〕や〔格子点・Ｒ軸−〕との距離は、下記の式（３０）で示すように、隣接格子点の現在位置を示すベクトルと格子点Ａの仮移動後の位置を示すベクトルについてＲ成分の差を求め、その絶対値を取ることで算出することができる。また、これと同様に、格子点Ａと〔格子点・Ｇ軸＋〕や〔格子点・Ｇ軸−〕との距離は、式（３１）により、格子点Ａと〔格子点・Ｂ軸＋〕や〔格子点・Ｂ軸−〕との距離は、式（３２）によりそれぞれ算出することができる。
【数３０】
2008139532.tif 000033
【数３１】
2008139532.tif 000034
【数３２】
2008139532.tif 000035
【００５６】
そして、格子点Ａに対し、隣接格子点の１つである格子点αから作用する対変革抵抗力を決定する。ベクトルである対変革抵抗力を決定するためには、その大きさと作用方向とを決定する必要がある。まず、対変革抵抗力の大きさについては、式（３０）〜式（３２）で算出した隣接格子点αとの距離が、初期状態での格子点間距離である〔距離・基準〕＝８．０に等しい場合は、格子点Ａに対して隣接格子点αからは対変革抵抗力が作用しない、すなわちその大きさが０であるものとする。一方、隣接格子点αとの距離が〔距離・基準〕より大きい場合、格子点Ａに対して隣接格子点αからは引力が作用し、その大きさである〔対変革抵抗力の大きさ〕は下記の式（３３）で表されるものとする。これとは逆に、隣接格子点αとの距離が〔距離・基準〕より小さい場合、格子点Ａに対して隣接格子点αからは斥力が作用し、その大きさである〔対変革抵抗力の大きさ〕は下記の式（３４）で表されるものとする。
【数３３】
2008139532.tif 000036
【数３４】
2008139532.tif 000037
【００５７】
ここで、以下に示す表２は、〔距離〕と〔対変革抵抗力の大きさ〕との関係を示したものであり、これをグラフ化したのが図１２である。この表２と図１２に示されるように、〔距離〕＝８．０で対変革抵抗力の大きさは０であり、そこから〔距離〕が小さくなるに連れて、すなわち隣接格子点αが格子点Ａに近づくに連れて、対変革抵抗力は大きくなり、逆に〔距離〕が大きくなった場合も、すなわち隣接格子点αが格子点Ａから遠ざかった場合も、対変革抵抗力は大きくなる。尚、表２と図１２では、〔対変革抵抗力の大きさ〕を「力の大きさ」と略している。
【表２】
2008139532.tif 000038
【００５８】
次に、対変革抵抗力の作用方向を決定する。前述のように、格子点Ａと隣接格子点αとの距離が〔距離・基準〕以上である場合は、隣接格子点αから格子点Ａに対して引力が作用し、その作用方向は下記の式（３５）で表されるものとする。一方、格子点Ａと隣接格子点αとの距離が〔距離・基準〕より小さい場合は、隣接格子点αから格子点Ａに対して斥力が作用し、その作用方向は下記の式（３６）で表されるものとする。
【数３５】
2008139532.tif 000039
【数３６】
2008139532.tif 000040
【００５９】
以上のように求めた対変革抵抗力の大きさと作用方向を用いれば、隣接格子点αから格子点Ａに作用する対変革抵抗力は、次の式（３７）で示される。但し、〔大きさ＿Ｖ＿変革抵抗力の方向〕が極めて小さい場合には、ゼロ除算を回避すべく、対変革抵抗力を表すベクトルを極めてゼロベクトルに近く設定するのが好適である。本実施例では、〔大きさ＿Ｖ＿対変革抵抗力の方向〕が、下記の式（３８）で示す条件を満たす場合には、対変革抵抗力を表すベクトルのＲＧＢ成分を、式（３９）〜式（４１）に示すように設定した。もちろん、この設定は任意に変更可能である。
【数３７】
2008139532.tif 000041
【数３８】
2008139532.tif 000042
【数３９】
2008139532.tif 000043
【数４０】
2008139532.tif 000044
【数４１】
2008139532.tif 000045
【００６０】
そして、１個の格子点Ａに対して、全ての隣接格子点より作用する対変革抵抗力の合力を算出する。すなわち、隣接格子点αと同様にして、それ以外の他の５個の隣接格子点についても対変革抵抗力をそれぞれ求め、式（４２）に示すように、これら全てをベクトル和することにより、６個全ての隣接格子点より作用する対変革抵抗力の合力〔Ｖ＿対変革抵抗力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ隣接格子点・全て〕を算出する。
【数４２】
2008139532.tif 000046
【００６１】
そして、構造変革力の合力と対変革抵抗力の合力を足し合わせることにより、格子点Ａに作用する総力を決定する。すなわち、式（４３）に示すように、格子点Ａに作用する〔Ｖ＿総力＿Ｔｏ格子点Ａ〕を、式（１７）で算出した〔Ｖ＿構造変革力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ引っ張り点・全て〕と、式（４２）で算出した〔Ｖ＿対変革抵抗力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ隣接格子点・全て〕をベクトル和することにより算出する。
【数４３】
2008139532.tif 000047
【００６２】
最後に、算出した総力に基づいて格子点Ａを実移動させる。すなわち、実移動後の格子点Ａの位置を示すベクトル〔Ｖ＿格子点Ａ・実移動後位置〕は、格子点Ａの現在位置を表すベクトル〔Ｖ＿格子点Ａ・現在位置〕と、格子点Ａの実移動を表すベクトル〔Ｖ＿格子点Ａ・実移動〕を用いることにより、下記の式（４４）のように表すことができる。ここで、この〔Ｖ＿格子点Ａ・実移動〕とは、上記式（４３）で算出した〔Ｖ＿総力＿Ｔｏ格子点Ａ〕を意味している。但し、式（４５）に示すように、〔大きさ＿Ｖ＿格子点Ａ・実移動〕が、所定の上限値である〔移動量・上限値〕を超えて大きくなった場合には、式（４６）及び式（４７）に示すように、〔補正係数〕を用いて〔Ｖ＿格子点Ａ・実移動〕を補正して〔Ｖ＿格子点Ａ・実移動補正後〕を算出することにより、実移動の量を小さめに設定し直すこととする。尚、本実施例では、上記式（２２）で算出した〔大きさ＿Ｖ＿最強引っ張り点・微小移動〕を〔移動量・上限値〕として設定した。また、式（４４）によって算出した〔Ｖ＿格子点Ａ・実移動後位置〕が、（−８，−８，−８）〜（２６４，２６４，２６４）の変換空間１３の外側に位置する場合、より詳細には、〔Ｖ＿格子点Ａ・実移動後位置〕のＲＧＢ成分が、下記の式（４８）〜式（５３）に示す条件の少なくとも１つを満足する場合、式（５４）に示すように、格子点Ａは実移動後も現在位置にあるものとしてその位置を修正することとする。
【数４４】
2008139532.tif 000048
【数４５】
2008139532.tif 000049
【数４６】
2008139532.tif 000050
【数４７】
2008139532.tif 000051
【数４８】
2008139532.tif 000052
【数４９】
2008139532.tif 000053
【数５０】
2008139532.tif 000054
【数５１】
2008139532.tif 000055
【数５２】
2008139532.tif 000056
【数５３】
2008139532.tif 000057
【数５４】
2008139532.tif 000058
【００６３】
次に、外縁部格子点について検討する。外縁部格子点は、変換空間１３の外縁部に位置しているため、格子点１４が微小移動を開始する前の初期状態では、ある格子点１４に隣接する格子点１４の数は、非外縁部格子点と異なり５個以下である。例えば、図１３に示すように、ある格子点Ａが立方体領域である変換空間１３の頂点上に位置している場合、より詳細には格子点Ａの初期状態位置を示すベクトルのＲＧＢ成分が下記の式（５５）〜式（５７）に示す条件を全て満たす場合、この格子点Ａに隣接する格子点としては、Ｒ軸方向に隣接する〔格子点・Ｒ軸−〕，Ｇ軸方向に隣接する〔格子点・Ｇ軸−〕，Ｂ軸方向に隣接する〔格子点・Ｂ軸−〕の計３個が変換空間１３内に存在し、〔格子点・Ｒ軸＋〕，〔格子点・Ｇ軸＋〕，〔格子点・Ｂ軸＋〕は変換空間１３内に存在しない。また、図に詳細は示さないが、格子点Ａが変換空間１３の立方体稜線上に位置する場合は、これに隣接する格子点は４個が変換空間１３内に存在し、格子点Ａが変換空間１３の立方体面上に位置する場合は、これに隣接する格子点は５個が変換空間１３内に存在する。
【数５５】
2008139532.tif 000059
【数５６】
2008139532.tif 000060
【数５７】
2008139532.tif 000061
【００６４】
このような外縁部格子点について隣接格子点から作用する対変革抵抗力を決定する場合、隣接格子点が変換空間１３内に存在しない方向に関しては、架空の隣接格子点が存在するとの仮定の下で対変革抵抗力を決定する。例えば、図１３に示すように、ある格子点Ａが変換空間１３の立方体頂点上に位置する場合、変換空間１３内に存在する３個の隣接格子点を「実在隣接格子点」と定義する一方、図１３に点線で示すように、Ｒ軸方向に隣接して架空の格子点〔架空隣接格子点・Ｒ軸＋〕が、Ｇ軸方向に隣接して架空の格子点〔架空隣接格子点・Ｇ軸＋〕が、Ｂ軸方向に隣接して架空の格子点〔架空隣接格子点・Ｂ軸＋〕がそれぞれ存在するものと仮定し、これらを「架空隣接格子点」と定義する。また、同様に、実在・隣接格子点が４個存在する場合には、２個の架空・隣接格子点が存在し、実在・隣接格子点が５個存在する場合には、１個の架空・隣接格子点が存在し、いずれの場合も格子点Ａには実在と架空を合わせて計６個の隣接格子点が存在するものとする。【００６５】
ここで、格子点Ａを挟んでＲＧＢ各軸方向に向かい合う一対の隣接格子点を「隣接格子点ペア」と定義し、ある架空・隣接格子点と対をなす実在隣接格子点のことを「ペア相手・実在隣接格子点」と定義する。そして、架空隣接格子点も実在隣接格子点と同様に微小移動させることとし、図１４に示すように、その現在位置は、格子点Ａを中心としてペア相手・実在隣接格子点と点対称の位置であるものとする。この前提に基づけば、下記の式（５８）に示すように、架空・隣接格子点の現在位置を表す〔Ｖ＿架空隣接格子点・現在位置〕は、ペア相手・実在隣接格子点の現在位置を表す〔Ｖ＿ペア相手・実在隣接格子点・現在位置〕と、格子点Ａの現在位置を表す〔Ｖ＿格子点Ａ・現在位置〕を用いることによって算出することができる。
【数５８】
2008139532.tif 000062
【００６６】
このようにして現在位置を算出した架空隣接格子点を用いれば、前記非外縁部格子点と同様の手順で対変革抵抗力を求めることができる。すなわち、まず、格子点Ａから各隣接格子点までの距離をそれぞれ求める。例えば、格子点Ａと〔架空隣接格子点・Ｒ軸＋〕や〔実在隣接格子点・Ｒ軸−〕との距離は、下記の式（５９）で示すように、架空隣接格子点の現在位置を示すベクトルと格子点Ａの仮移動後の位置を示すベクトルについてＲ成分の差を求め、その絶対値を取ることで算出することができる。また、これと同様に、格子点Ａと〔架空隣接格子点・Ｇ軸＋〕や〔実在隣接格子点・Ｇ軸−〕との距離は、式（６０）により、格子点Ａと〔架空隣接格子点・Ｂ軸＋〕や〔実在隣接格子点・Ｂ軸−〕との距離は、式（６１）によりそれぞれ算出することができる。
【数５９】
2008139532.tif 000063
【数６０】
2008139532.tif 000064
【数６１】
2008139532.tif 000065
【００６７】
そして、格子点Ａに対し、隣接格子点の１つである架空隣接格子点αから作用する対変革抵抗力を決定する。ベクトルである対変革抵抗力を決定するためには、その大きさと作用方向とを決定する必要がある。まず、対変革抵抗力の大きさについては、式（５９）〜式（６１）で算出した架空隣接格子点αとの距離が、初期状態での格子点間距離である〔距離・基準〕＝８．０に等しい場合は、格子点Ａに対して架空隣接格子点αからは対変革抵抗力が作用しない、すなわちその大きさが０であるものとする。一方、架空隣接格子点αとの距離が〔距離・基準〕より大きい場合、格子点Ａに対して架空隣接格子点からは引力が作用し、その大きさである〔対変革抵抗力の大きさ〕は、下記の式（６２）で表されるものとする。これとは逆に、架空隣接格子点αとの距離が〔距離・基準〕より小さい場合、格子点Ａに対して架空隣接格子点αからは斥力が作用し、その大きさである〔対変革抵抗力の大きさ〕は、下記の式（６３）で表されるものとする。
【数６２】
2008139532.tif 000066
【数６３】
2008139532.tif 000067
【００６８】
次に、対変革抵抗力の作用方向を決定する。前述のように、格子点Ａと架空隣接格子点αとの距離が〔距離・基準〕以上である場合は、架空隣接格子点αから格子点Ａに対して引力が作用し、その作用方向は下記の式（６４）で表されるものとする。一方、格子点Ａと架空隣接格子点αとの距離が〔距離・基準〕より小さい場合は、架空隣接格子点αから格子点Ａに対して斥力が作用し、その作用方向は下記の式（６５）で表されるものとする。
【数６４】
2008139532.tif 000068
【数６５】
2008139532.tif 000069
【００６９】
以上のように求めた対変革抵抗力の大きさと作用方向を用いれば、架空隣接格子点αから格子点Ａに作用する対変革抵抗力は、次の式（６６）で示される。但し、〔大きさ＿Ｖ＿対変革抵抗力の方向〕が極めて小さい場合には、ゼロ除算を回避すべく、対変革抵抗力を表すベクトルを極めてゼロベクトルに近く設定するのが好適である。本実施例では、〔大きさ＿Ｖ＿対変革抵抗力の方向〕が、下記の式（６７）で示す条件を満たす場合には、対変革抵抗力を表すベクトルのＲＧＢ成分を、式（６８）〜式（７０）に示すように設定した。もちろん、この設定は任意に変更可能である。
【数６６】
2008139532.tif 000070
【数６７】
2008139532.tif 000071
【数６８】
2008139532.tif 000072
【数６９】
2008139532.tif 000073
【数７０】
2008139532.tif 000074
【００７０】
そして、１個の格子点Ａに対して、全ての隣接格子点より作用する対変革抵抗力を算出する。すなわち、架空隣接格子点αと同様にして、それ以外の他の２個の架空隣接格子点と３個の実在隣接格子点についても、対変革抵抗力を表すベクトルをそれぞれ求め、式（７１）に示すように、これら全てをベクトル和することにより、６個全ての隣接格子点より作用する対変革抵抗力の合力〔Ｖ＿対変革抵抗力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ隣接格子点・全て〕を算出する。
【数７１】
2008139532.tif 000075
【００７１】
そして、構造変革力の合力と対変革抵抗力の合力を足し合わせることにより、格子点Ａに作用する総力を決定する。すなわち、式（７２）に示すように、格子点Ａに作用する〔Ｖ＿総力＿Ｔｏ格子点Ａ〕を、式（１７）で算出した〔Ｖ＿構造変革力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ引っ張り点・全て〕と、式（７１）で算出した〔Ｖ＿対変革抵抗力＿Ｔｏ格子点Ａ＿Ｆｒｏｍ隣接格子点・全て〕をベクトル和することにより算出する。
【数７２】
2008139532.tif 000076
【００７２】
最後に、算出した総力に基づいて格子点Ａを実移動させる。この外縁部格子点の実移動は、上記式（４４）〜式（５４）に基づく非外縁部格子点の実移動と同様であるため、ここでは説明を省略する。【００７３】
以上のように色変換テーブルを作成することで色変換・準備処理が完了すると、この色変換テーブルに従って、入力された原画像を構成する各画素毎に色変換を実行して新画像を生成する。尚、前述のように、処理の高速化を図るために、本実施例ではＲＧＢ組値を構成する各成分について８．０間隔で色変換テーブルを作成している。従って、原画像データ中に色変換テーブルには存在しないＲＧＢ組値が存在した場合は、いわゆる線形補完と呼ばれる手法を用いて変換後のＲＧＢ組値を算出している。より詳細には、色変換テーブルに存在しない「不存在ＲＧＢ組値」を内部に含むような１辺が８の立方体を考え、この不存在ＲＧＢ組値を挟んで対角する立方体の２頂点の色変換指定に基づいて、不存在ＲＧＢ組値の色変換後のＲＧＢ組値を線形補完により求める。
【産業上の利用可能性】
【００７４】
本発明に係る色変換プログラム及びこれが記録されたコンピュータ読み取り可能な記録媒体、ならびに色変換装置は、いわゆるｓＲＧＢ方式で色情報が記録された画像データのみならず、他の方式で色情報が記録された画像データに対しても適用可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施例に係る色変換装置１の構成を示すブロック図。
【図２】ＲＧＢ３次元空間における変換空間１３を示す図。
【図３】コンピュータ３による色変換テーブルの作成処理の流れを示すフローチャート。
【図４】微小移動処理を開始する前の初期状態における変換空間１３を示す図であり、図２に示す変換空間１３をＢ＝７２を通る水平面で切断した断面の状態を示す図。
【図５】微小移動回数が１０回に達した場合の変換空間１３を示す図であり、図２に示す変換空間１３をＢ＝７２を通る水平面で切断した断面の状態を示す図。
【図６】微小移動回数が閾値に達した場合の変換空間１３を示す図であり、図２に示す変換空間１３をＢ＝７２を通る水平面で切断した断面の状態を示す図。
【図７】１回の微小移動処理の流れを示すフローチャート。
【図８】〔構造変革力の大きさ〕と〔距離＿格子点Ａ・現在位置＿引っ張り点α・微小移動前位置〕との関係をグラフ化した図。
【図９】非外縁部格子点である格子点Ａとそれに隣接する格子点との初期状態での位置関係を示す図。
【図１０】格子点Ａとそれに隣接する格子点との微小移動後の位置関係を示す図。
【図１１】格子点Ａから各隣接格子点までの距離を説明するための図。
【図１２】〔距離〕と〔対変革抵抗力の大きさ〕との関係をグラフ化した図。
【図１３】外縁部格子点である格子点Ａとそれに隣接する格子点との初期状態での位置関係を示す図。
【図１４】格子点Ａとそれに隣接する格子点との微小移動後の位置関係を示す図。
【図１５】従来例に係る色の変換手法を説明するための図であって、図１５（ａ）は赤成分のトーンカーブを、図１５（ｂ）は緑成分のトーンカーブを、図１５（ｃ）は青成分のトーンカーブをそれぞれ示している。
【符号の説明】
【００７６】
１  色変換装置
６  色変換プログラム
１３  変換空間
１４  格子点
１５  引っ張り点
Ｓ  平面
Ｖ  垂線
【図１】
2008139532.tif 000077
【図２】
2008139532.tif 000078
【図３】
2008139532.tif 000079
【図４】
2008139532.tif 000080
【図５】
2008139532.tif 000081
【図６】
2008139532.tif 000082
【図７】
2008139532.tif 000083
【図８】
2008139532.tif 000084
【図９】
2008139532.tif 000085
【図１０】
2008139532.tif 000086
【図１１】
2008139532.tif 000087
【図１２】
2008139532.tif 000088
【図１３】
2008139532.tif 000089
【図１４】
2008139532.tif 000090
【図１５】
2008139532.tif 000091
【国際調査報告】
2008139532.tif 000092
2008139532.tif 000093
2008139532.tif 000094
2008139532.tif 000095
2008139532.tif 000096