(57)【特許請求の範囲】
【請求項１】
任意の配色を持ったデザインの配色を変換するデザイン配色変換方法であって、
変換対象のデザインで使われている色を色空間に配置された質点とみなして、それらの質点と、各質点を元の色空間位置につなぎとめる力であり各質点の元の色空間位置からの変移量が大きいほど大きくなるつなぎとめる力と、デザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義されて該距離が近くなるほど質点に対して大きな斥力を発生する場の力とで構成される力学モデルに対して、該つなぎとめる力を規定する関数と該場の力を規定する関数とを設定とともに、ユーザによって設定された該つなぎとめる力を規定する関数のパラメータを用いることで、該力学モデルを生成する過程と、
変換対象のデザインで使われている色の色空間位置を前記質点の座標位置の初期値として、前記力学モデルの力学的に安定な解を求める過程と、
変換対象のデザインで使われている色を、前記安定解の指定する色空間上の色に変換する過程とを備えることを、
特徴とするデザイン配色変換方法。
【請求項２】
請求項１に記載のデザイン配色変換方法において、
前記力学モデルを生成する過程では、前記場の力として、特定の質点同士の間に、距離によらない一定の斥力を発生するものを設定することを、
特徴とするデザイン配色変換方法。
【請求項３】
請求項１又は２に記載のデザイン配色変換方法において、
前記力学モデルを生成する過程では、複数種類の色弱者がデザイン閲覧者となる場合、あるいは、色覚正常者と１種類又は複数種類の色弱者とがデザイン閲覧者となる場合には、それらのデザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義された前記場の力を足し合わせたものを使って前記力学モデルを生成することを、
特徴とするデザイン配色変換方法。
【請求項４】
請求項１ないし３のいずれか１項に記載のデザイン配色変換方法において、
変換対象のデザインで使われている色を、デザイン閲覧者が区別できて欲しい色同士の集合にまとめる過程を備え、
前記力学モデルを生成する過程では、前記まとめた集合に属する色に対応付けられる質点同士の間のみに前記場の力を設定することで前記力学モデルを生成することを、
特徴とするデザイン配色変換方法。
【請求項５】
請求項１ないし４のいずれか１項に記載のデザイン配色変換方法において、
前記各過程では、色空間を変換することで処理を実行する必要がある場合に、その実行にあたって実数ａのＮ乗根を算出する必要がある場合には、規定の初期値ｘ0 を起点にして、下式で表される漸化式
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
に従ってｘn を更新していくことで収束値ｘを得て、その収束値ｘの逆数をＮ乗根の近似値として算出することを、
特徴とするデザイン配色変換方法。
【請求項６】
任意の配色を持ったデザインの配色を変換するデザイン配色変換装置であって、
変換対象のデザインで使われている色を色空間に配置された質点とみなして、それらの質点と、各質点を元の色空間位置につなぎとめる力であり各質点の元の色空間位置からの変移量が大きいほど大きくなるつなぎとめる力と、デザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義されて該距離が近くなるほど質点に対して大きな斥力を発生する場の力とで構成される力学モデルに対して、該つなぎとめる力を規定する関数と該場の力を規定する関数とを設定とともに、ユーザによって設定された該つなぎとめる力を規定する関数のパラメータを用いることで、該力学モデルを生成する手段と、
変換対象のデザインで使われている色の色空間位置を前記質点の座標位置の初期値として、前記力学モデルの力学的に安定な解を求める手段と、
変換対象のデザインで使われている色を、前記安定解の指定する色空間上の色に変換する手段とを備えることを、
特徴とするデザイン配色変換装置。
【請求項７】
請求項６に記載のデザイン配色変換装置において、
前記力学モデルを生成する手段は、複数種類の色弱者がデザイン閲覧者となる場合、あるいは、色覚正常者と１種類又は複数種類の色弱者とがデザイン閲覧者となる場合には、それらのデザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義された前記場の力を足し合わせたものを使って前記力学モデルを生成することを、
特徴とするデザイン配色変換装置。
【請求項８】
請求項６又は７に記載のデザイン配色変換装置において、
変換対象のデザインで使われている色を、デザイン閲覧者が区別できて欲しい色同士の集合にまとめる手段を備え、
前記力学モデルを生成する手段は、前記まとめた集合に属する色に対応付けられる質点同士の間のみに前記場の力を設定することで前記力学モデルを生成することを、
特徴とするデザイン配色変換装置。
【請求項９】
請求項６ないし８のいずれか１項に記載のデザイン配色変換装置において、
前記各手段は、色空間を変換することで処理を実行する必要がある場合に、その実行にあたって実数ａのＮ乗根を算出する必要がある場合には、規定の初期値ｘ0 を起点にして、下式で表される漸化式
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
に従ってｘn を更新していくことで収束値ｘを得て、その収束値ｘの逆数をＮ乗根の近似値として算出することを、
特徴とするデザイン配色変換装置。
【請求項１０】
請求項１ないし５のいずれか１項に記載のデザイン配色変換方法をコンピュータに実行させるためのデザイン配色変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デザインの配色を色弱者に識別しやすい配色に変換するデザイン配色変換方法およびその装置と、そのデザイン配色変換方法の実現に用いられるデザイン配色変換プログラムとに関し、特に、自動的かつ高速に配色変換を実行できるようにするデザイン配色変換方法およびその装置と、そのデザイン配色変換方法の実現に用いられるデザイン配色変換プログラムとに関する。
【０００２】
白人男性の約８％、黒人男性の約４％、黄色人男性の約５％は、特定の範囲の色について差を感じにくいという色覚特性を持っている。以下、このような人々を色弱者と呼ぶ。なお、色弱者には、色覚の違いで、Ｐ型色覚、Ｄ型色覚、Ｔ型色覚、Ａ型色覚などの種類があり、正常な色覚者はＣ型色覚と呼ばれている。
【０００３】
ここで、画像に用いられている色の数がピクセル数と同程度であると、質点とみなされる色が色空間を埋め尽くし、計算結果が入力に比べてほとんど変化しない。よって、以下では、入力される画像はなめらかな色変化（グラデーション）がない任意の配色のデザインであるか、用いられる色の数が減色ツールなどによって少なくなっていることを仮定し、この仮定を満たす画像をデザインと呼ぶことにする。
【０００４】
本発明は、このようなデザインの入力に対して、色弱者に識別しづらい個所を自動的に配色し直すことで、色弱者に識別しやすい配色に変換する新たな配色変換技術に関するものである。
【背景技術】
【０００５】
一般のＲＧＢで表現されている色が、色弱者にはどのように見えているのかを計算する方法が提案されている（非特許文献１参照）。
【０００６】
また、色弱者にどのように見えているのかをシミュレートするソフトウェアは既に開発されおり、読みにくくなる文字を自動的に提示、指摘する機能もある（非特許文献２参照）。
【０００７】
さらに、配色を変えた後、色彩がどうあるべきかを定式化し、「願望関数」を定義して最適化を図り、配色を自動的に変換するソフトウェアも開発されている（非特許文献３参照）。
【非特許文献１】F.Vienot, H.Brettel, and J.D.Mollon, Digital video colourmaps for checking the legibility of displays by dichromats, COLOR research and application, vol.24, no.4, pp.243-252, Aug.1999.
【非特許文献２】H.Takagi, C.Asakawa, K.Fukuda, and J.Maeda. Accessibility designer: visualizing usability for the blind. In ACM ASSETS'04, pp.175-184. ACM Press, 2004.
【非特許文献３】K.Wakita, and K.shimamura, SmartColor: Disambiguation Framework for the Colorblind, In ACM ASSETS'05, pp.158-165. ACM Press, 2005.
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１，２に記載される発明などを利用して、色弱者に見えている配色をシミュレートしながら、色弱者でも認識しやすい配色に変更するためには、デザイナーが少しずつ色を変え、何度もシミュレートを繰り返さなければならないという問題がある。
【０００９】
また、非非特許文献３に記載されている配色を自動的に変えてくれるソフトウェア（ＳmartＣolor）は、定義された願望関数に対して最適配色を探索するものであり、配色の決定に、配色に用いられている色の数に対して指数オーダーの時間がかかってしまうという問題がある。
【００１０】
本発明はかかる事情に鑑みてなされたものであって、デザインの入力に対して、色弱者に識別しづらい個所を配色し直すことで、色弱者に識別しやすい配色に変換するという処理を行うときに、その配色変換を自動的かつ高速に実行できるようにする新たな技術の提供を目的とする。
【課題を解決するための手段】
【００１１】
この目的を達成するために、本発明のデザイン配色変換装置は、任意の配色を持ったデザインの配色を自動的かつ高速に変換する処理を実現するために、（１）変換対象のデザインで使われている色を色空間に配置された質点とみなして、それらの質点と、各質点を元の色空間位置につなぎとめる力であり各質点の元の色空間位置からの変移量が大きいほど大きくなるつなぎとめる力と、デザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義されてその距離が近くなるほど質点に対して大きな斥力を発生する場の力とで構成される力学モデルに対して、つなぎとめる力を規定する関数と場の力を規定する関数とを設定とともに、ユーザによって設定されたつなぎとめる力を規定する関数のパラメータを用いることで、その力学モデルを生成する生成手段と、（２）変換対象のデザインで使われている色の色空間位置を質点の座標位置の初期値として、生成手段の生成した力学モデルの力学的に安定な解を求める計算手段と、（３）変換対象のデザインで使われている色を、計算手段の求めた安定解の指定する色空間上の色に変換する変換手段とを備えるように構成する。
【００１２】
このように構成されるときに、さらに、（４）変換対象のデザインで使われている色を、デザイン閲覧者が区別できて欲しい色同士の集合にまとめるグループ化手段を備えることがあり、このグループ化手段を備える場合には、生成手段は、グループ化手段のまとめた集合に属する色に対応付けられる質点同士の間のみに場の力を設定することで力学モデルを生成する。
【００１３】
また、生成手段は、場の力として、特定の質点同士の間に、距離によらない一定の斥力を発生するものを設定することがある。
【００１４】
また、生成手段は、複数種類の色弱者がデザイン閲覧者となる場合、あるいは、色覚正常者と１種類又は複数種類の色弱者とがデザイン閲覧者となる場合には、それらのデザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義された場の力を足し合わせたものを使って力学モデルを生成する。
【００１５】
また、生成手段や計算手段や変換手段の各手段は、色空間を変換することで処理を実行する必要がある場合に、その実行にあたって実数ａのＮ乗根を算出する必要がある場合には、規定の初期値ｘ0 を起点にして、下式で表される漸化式
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
に従ってｘn を更新していくことで収束値ｘを得て、その収束値ｘの逆数をＮ乗根の近似値として算出することがある。
【００１６】
以上の各処理手段が動作することで実現される本発明のデザイン配色変換方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００１７】
このように構成される本発明では、変換対象のデザインで使われている色を色空間に配置された質点とみなして、それらの質点と、各質点を元の色空間位置につなぎとめる力と、デザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義されてその距離が近くなるほど質点に対して大きな斥力を発生する場の力とで構成される力学モデルに対して、つなぎとめる力を規定する関数と場の力を規定する関数とを設定することで、その力学モデルを生成する。
【００１８】
このときに設定するつなぎとめる力とは、元のデザインをなるべく保持しようと作用する力であり、例えば、つなぎとめる力（Ｆ）を規定する関数として、
Ｆ＝ｋp ×ｘ      ｋp ：バネ定数
ｘ  ：変移量
というバネ力を想定する場合には、各質点に対して、この関数（ただし、バネ定数ｋp については質点毎に変えてもよい）を設定する。
【００１９】
また、このときに設定する場の力とは、デザイン閲覧者に識別しにくい色同士を識別しやすい色に変えようと作用する力であり、例えば、場の力（Ｆ）の関数として、
Ｆ＝ｋq ×＜ｒij＞／｜＜ｒij＞｜3     ｋq   ：係数，
ｒij  ：質点ｉと質点ｊとの間の距離
＜・＞：ベクトル                    という関数を設定する場合には、各質点同士に対して、この関数（ただし、係数ｋq については質点同士毎に変えてもよい）を設定する。
【００２０】
この場の力の関数により発生する場の力は、質点ｉから質点ｊにおよぼす場の力の方向と、質点ｊから質点ｉにおよぼす場の力の方向とが反対方向となることから分かるように、質点ｉと質点ｊとが離れるように作用し、しかも、このとき、質点ｉと質点ｊとが近い程（デザイン閲覧者が識別しにくい程）大きな力となって作用し、これから、デザイン閲覧者に識別しにくい色同士を識別しやすい色に変えようと作用する。
【００２１】
この特性を考慮して、変換対象のデザインで使われている色を、デザイン閲覧者が識別できて欲しい色同士の集合にまとめるようにして、そのまとめた集合に属する色に対応付けられる質点同士の間のみに場の力を設定することで力学モデルを生成するようにしてもよい。
【００２２】
例えば、質点１〜５がある場合に、質点１，３をデザイン閲覧者が識別できて欲しい色同士として１つにまとめ、質点２，４，５をデザイン閲覧者が識別できて欲しい色同士として１つにまとめるようにして、質点１，３の集合に対応して、質点１と質点３との間に場の力を設定し、質点２，４，５の集合に対応して、質点２と質点４、質点２と質点５、質４と質点５との間に場の力を設定するようにして、それ以外の質点同士には場の力が発生しないようにすることで力学モデルを生成するようにしてもよい。
【００２３】
このような場の力を設定するようにすると、デザイン閲覧者が識別する必要のない色同士には力が働かず、デザイン閲覧者が識別できて欲しい色同士のみに力が働くという、有効かつ簡略な力学モデルを生成することができるようになる。
【００２４】
ここで、場の力の関数として、“Ｆ＝ｋq ×＜ｒij＞／｜＜ｒij＞｜3 ”というような距離が近くなるほど質点に対して大きな斥力を発生するものを用いると、距離がある程度大きくなると斥力が小さくなってしまうので、特に識別しやすい色に変えたい色については、場の力（Ｆ）の関数として、例えば、
Ｆ＝ｋq ×＜ｒij＞／｜＜ｒij＞｜
のように、距離によらない斥力を発生するものを設定するようにしてもよい。
【００２５】
このようにして生成される力学モデルには、力学的に安定な解が存在する。例えば、質点が２つしか存在しない場合で説明するならば、２つの質点がそれぞれ固定された点にバネでつながれるとともに、２つの質点に場の力として斥力が働くので、図１に示すように、各質点にかかる力のベクトルの和が０となる安定点が存在することになる。
【００２６】
そこで、本発明では、変換対象のデザインで使われている色の色空間位置を質点の座標位置の初期値として、例えば、質点を順番に１つずつ選択して、その選択した質点にかかる力（つなぎとめる力と場の力）に基づいて、その選択した質点が微小変移する位置を求め、それにより変化する他の質点にかかる力を更新していくという処理を繰り返していくことで、生成した力学モデルの力学的に安定な解を求める。
【００２７】
このようにして求められる力学モデルの力学的に安定な解は、デザイン閲覧者に識別しにくい色同士を識別しやすい色に変えようと作用する力と、元のデザインをなるべく保持しようとする力とが拮抗する安定点を示すものであり、元のデザインを大きく変えない範囲で、デザイン閲覧者に識別しにくい色同士を識別しやすい色に変換するものになっている。
【００２８】
そこで、本発明では、変換対象のデザインで使われている色を、求めた安定解の指定する色空間上の色に変換することで、デザイン閲覧者に識別しにくい色同士を識別しやすい色に変換する。
【００２９】
この処理を行うときにあって、デザイン閲覧者が特定の色覚を持つ色弱者ということもあるが、複数種類の色弱者がデザイン閲覧者となったり、色覚正常者と１種類又は複数種類の色弱者とがデザイン閲覧者となることがある。
【００３０】
そこで、本発明では、このような場合には、それらのデザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義された場の力を足し合わせたものを使って力学モデルを生成して、その安定解を求めるようにしている。
【００３１】
これにより、複数種類の色弱者がデザイン閲覧者となったり、色覚正常者と１種類又は複数種類の色弱者とがデザイン閲覧者となる場合に、それらのデザイン閲覧者に識別しにくい色同士を識別しやすい色に変換することができるようになる。
【００３２】
以上に説明したことから分かるように、本発明は、色の数の二乗のオーダーの時間で、元のデザインの配色を自動的に変更することが可能となるので、色弱者に識別しやすい配色に変換するという処理を行うときに、従来技術に比べて、その配色変換処理を極めて高速に実行することができるようになる。
【００３３】
本発明では、基本的には、質点同士の距離に基づいて場の力を発生させるようにしている。これから、本発明の処理については、ＣＩＥ（国際照明委員会）の定めたＬａｂ色空間などのような均等色空間上で行うことが望ましい。
【００３４】
これから、本発明を実現する場合、色空間の変換処理を行うことが起こる。色空間の変換を行うと、その実行にあたって実数ａのＮ乗根を算出する必要がある。
【００３５】
通常のニュートン法で実数ａのＮ乗根の近似値を算出する場合、
ｘn+1 ＝ｘn −（ｘn −（ａ／ｘn N-1 ))／Ｎ
という漸化式に従ってｘn を更新していくことで収束値ｘを得て、その収束値ｘをＮ乗根の近似値として算出するようにしている。
【００３６】
しかしながら、この計算方法は除法で行うことから、計算機で計算する場合、計算時間がかかってしまう。
【００３７】
そこで、本発明では、規定の初期値ｘ0 を起点にして、
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
という漸化式に従ってｘn を更新していくことで収束値ｘを得て、その収束値ｘの逆数をＮ乗根の近似値として算出するようにする。
【００３８】
この計算方法によれば、実数での除法を行わずに反復計算が可能であり、最後に一度だけ除法で逆数を計算すればよいことから、高速に実数ａのＮ乗根の近似値を算出することができるようになる。
【発明の効果】
【００３９】
本発明によれば、色弱者には認識しにくい配色を、認識しやすい配色に自動的に変換できるようになる。しかも、この変換にあたって、変えたくない色を指定し、バネ定数などのようなパラメータを入力することで、元のデザインをあまり変えずに配色を変換することができるようになる。
【００４０】
また、配色が決定するまでにかかる時間は、配色に用いられている色の数の二乗オーダーであり、これから従来技術と比べて非常に高速に配色変換を実行することができるようになる。
【００４１】
また、ユーザがあらかじめ識別できて欲しい色同士の集合を指定しておくことで、関係のない色同士が影響を及ぼしあうことをなくし、より自由な配色変換を実行することができるようになる。
【００４２】
また、配色変換に伴う色空間の変換の際に、必要な計算量を減らすことで、より高速な処理を実現できるようになる。
【発明を実施するための最良の形態】
【００４３】
以下、実施の形態に従って本発明を詳細に説明する。ここで、以下の説明では、前述した仮定を満たすデザインを処理することを想定する。
【００４４】
図２に、本発明を具備するデザイン配色変換装置１の装置構成を図示する。
【００４５】
この図に示すように、本発明のデザイン配色変換装置１は、配色変換の対象となるデザインの情報を入力するデザイン入力装置１０と、デザイン入力装置１０の入力したデザインの情報を記憶するデザイン記憶装置１１と、前述した力学モデルの生成に必要となるパラメータ情報を入力するパラメータ入力装置１２と、作業メモリ１４を使いながら、デザイン入力装置１０の入力したデザイン情報とパラメータ入力装置１２の入力したパラメータ情報とに基づいて力学モデルを生成して、その力学的な安定解を求め、それに基づいてデザイン入力装置１０の入力したデザインの配色を変換することで出力画像を計算する出力画像計算装置１３と、出力画像計算装置１３の生成した力学モデルを記憶する力学モデル記憶装置１５と、出力画像計算装置１３の計算した出力画像を出力する画像出力装置１６とを備える。
【００４６】
この出力画像計算装置１３は、出力画像を計算する処理を行うために、デザイン入力装置１０の入力したデザイン情報とパラメータ入力装置１２の入力したパラメータ情報とに基づいて力学モデルを生成して力学モデル記憶装置１５に格納する力学モデル生成部１３０と、力学モデル記憶装置１５から力学モデルを読み出して、その読み出した力学モデルの力学的な安定解を算出する安定解算出部１３１と、安定解算出部１３１の算出した安定解に基づいて、入力したデザインの配色を変換する配色変換部１３２と、サブルーチンとして用意されて、力学モデル生成部１３０や安定解算出部１３１や配色変換部１３２の処理の実行に必要となる色空間の変換処理を実行する色空間変換部１３３と、サブルーチンとして用意されて、非特許文献１に記載される方法などに従って、安定解算出部１３１の処理の実行に必要となる色覚の変換処理を実行する色覚変換部１３４とを備える。
【００４７】
図３に、デザイン記憶装置１１の記憶するデザイン配色情報のデータ構造の一例を図示し、図４に、力学モデル記憶装置１５の記憶する力学モデルのデータ構造の一例を図示する。
【００４８】
デザイン記憶装置１１は、例えば、図５に示すような配色を持つデザインが入力された場合には、そのデザインを記憶することに加えて、そのデザインの持つ配色情報を記憶するものであり、例えば、図３に示すように、質点番号１に対応付けて、全体の背景色“#ffffff"とその背景色“#ffffff"の色ベクトル（色空間座標値）とを記憶し、質点番号２に対応付けて、“タイトル”という文字の文字色“#64f064"とその文字色“#64f064"の色ベクトルとを記憶し、質点番号３に対応付けて、“タイトル”という文字の背景色“#e5e563"とその背景色“#e5e563"の色ベクトルとを記憶し、質点番号４に対応付けて、“本文”という文字の文字色“#5a642a"とその文字色“#5a642a"の色ベクトルとを記憶し、質点番号５に対応付けて、“強調文字”という文字の文字色“#ff430c"とその文字色“#ff430c"の色ベクトルとを記憶することで、デザイン入力装置１０の入力したデザインの持つ配色情報を記憶する。
【００４９】
一方、力学モデル記憶装置１５は、デザインで使われている色を色空間に配置された質点とみなして、それらの質点と、各質点を元の色空間位置につなぎとめる力（以下ではバネ力を想定する）と、デザイン閲覧者の認知色空間で定義される質点同士の距離に応じて定義されてその距離が近くなるほど質点に対して大きな斥力を発生する場の力とで構成される力学モデルのデータ構造の情報を記憶するものであって、例えば、図５に示すような配色を持つデザインが入力された場合には、図４に示すように、５つの質点番号１〜５に対応付けて、その質点を元の色空間位置につなぎとめるバネ力の大きさを規定するバネ定数を記憶するとともに、２つの質点の組み合わせの質点番号対に対応付けて、その質点同士の間に働く場の力の関数のＩＤ（距離が近くなるほど大きな斥力を発生する複数種類の関数の中から選択された関数のＩＤ）と、その関数に記述されるパラメータの値とを記憶することで、力学モデル生成部１３０により生成された力学モデルのデータ構造の情報を管理する。
【００５０】
ここで、全ての質点に対してバネ力を設定する必要はなく、また、全ての質点同士の組み合わせてに対して場の力を設定する必要はないので、力学モデル記憶装置１５は、バネ定数が０の質点を管理することもあるし、場の力の関数のＩＤを持たない質点の組み合わせを管理することもある。
【００５１】
図６〜図１１に、このように構成される本発明のデザイン配色変換装置１の実行するフローチャートの一例を図示する。
【００５２】
次に、このフローチャートに従って、本発明のデザイン配色変換装置１の実行する処理について詳細に説明する。
【００５３】
〔１〕全体的処理
最初に、図６のフローチャートに従って、本発明のデザイン配色変換装置１の実行する全体的な処理について説明する。
【００５４】
本発明のデザイン配色変換装置１は、図６のフローチャートに示すように、まず最初に、ステップＳ１００で、ユーザがデザイン入力装置１０を使って、配色変換の対象となるデザインの情報（デザインそのものの情報の他に、デザインで使われている色の色ベクトルの情報などを含む）を入力してくるので、そのデザインの情報を入力してデザイン記憶装置１１に記憶する。このとき、デザインの配色情報については、図３に示すような形でデザイン記憶装置１１に記憶する。さらに、ユーザがパラメータ入力装置１２を使ってデザインで使われている各色についてバネ定数を設定してくるので、そのバネ定数を入力して、図４の上段に示すような形で力学モデル記憶装置１５に記憶する。
【００５５】
このステップＳ１００の処理の詳細については、図７に示すフローチャートを参照して後述する。
【００５６】
続いて、ステップＳ２００で、ユーザがデザインで使われている色と色の組み合わせのそれぞれについて距離から力を出力する場の力の関数を定義して、パラメータ入力装置１２を使ってそれらの場の力の関数の情報を入力してくるので、それらの場の力の関数の情報を入力して、図４の下段に示すような形で力学モデル記憶装置１５に記憶する。
【００５７】
このステップＳ２００の処理の詳細については、図８および図９に示すフローチャートを参照して後述する。
【００５８】
続いて、ステップＳ３００で、力学モデル記憶装置１５に記憶した力学モデルの情報と、デザイン記憶装置１１に記憶したデザインの配色情報とに基づいて、出力画像計算装置１３を使って力学シミュレーションを行い、安定解（各質点の色空間座標値が収束する解）を求める。
【００５９】
ここで、デザインの配色情報には、デザイン記憶装置１１に記憶される図３に示すような配色情報（色の数、色名、色ベクトルの情報）の他に、どの色とどの色とは識別できるようにする必要があり、どの色とどの色とは識別できるようにする必要がないという情報も存在するが、これらの情報については、場の力の関数の設定の有無によって力学モデルの中に埋め込まれることになる。すなわち、識別できるようにする必要のある色同士の間には、斥力の発生によって反発を引き起こすことになる場の力の関数が設定され、識別できるようにする必要のない色同士の間には、この場の力の関数が設定されないことで、これらの情報については力学モデルの中に埋め込まれることになる。
【００６０】
このステップＳ３００の処理の詳細については、図１０および図１１に示すフローチャートを参照して後述する。
【００６１】
続いて、ステップＳ４００で、ステップＳ３００で求めた安定解が与える配色を元のデザイン（入力したデザイン）に適用し、デザインを描き直した上で、画像出力装置１６から出力する。
【００６２】
〔２〕ステップＳ１００の処理の詳細
次に、図７のフローチャートに従って、図６のフローチャートのステップＳ１００で実行する処理の詳細について説明する。
【００６３】
本発明のデザイン配色変換装置１は、図６のフローチャートのステップＳ１００の処理に入ると、図７のフローチャートに示すように、まず最初に、ステップＳ１０１で、必要なメモリ領域を作業メモリ１４に確保する。ここで必要とする変数は、下記の表１の通りである。
【００６４】
【表１】
0004824660.tif 000002
【００６５】
続いて、ステップＳ１０２で、デザイン入力装置１０から、配色変換の対象となるデザインの情報（デザインそのものの情報の他に、デザインで使われている色の色ベクトルの情報などを含む）を入力して、その入力したデザインそのものの情報とそのデザインの配色情報とをデザイン記憶装置１１に記憶する。
【００６６】
デザインの例としては、ｈｔｍｌで書かれた文書がある。図１２に、ｈｔｍｌ文書で書かれたデザインの一例を示す。この図１２に示すｈｔｍｌ文書に従って、ブラウザにより、図５に示すようなデザインが描画されることになる。
【００６７】
続いて、ステップＳ１０３で、入力したデザインの配色に用いられている色の数を特定して、変数Ｎに代入する。
【００６８】
図１２に示すｈｔｍｌ文書の例で説明するならば、全体の背景色（#ffffff)、タイトルの背景色（#e5e563)、タイトルの文字色（#64f064)、“本文”という文字の文字色（#5a642a)、“強調文字”という文字の文字色（#ff430c)の５色が使われており、この場合にはＮ＝５を代入する。
【００６９】
続いて、ステップＳ１０４で、各色について処理を行うべくＮ回の繰り返しを始める。ここで、色の識別子となる添字をｉとする。
【００７０】
続いて、ステップＳ１０５で、ユーザと対話することで、ｉ番目の色につなげるバネのバネ定数を入力し、変数ｋｓ[i] に代入する。
【００７１】
このとき設定するバネ定数は、元の色からどの程度変化してもよいのかを示すパラメータである。バネ定数が大きくなると、元の位置から動きにくくなるので、ユーザは、なるべく変化させたくない色についてはバネ定数を大きな値に設定することになる。
【００７２】
続いて、ステップＳ１０６で、ステップＳ１０４から始まったｉについての繰り返し処理を終了する。
【００７３】
このようにして、図６のフローチャートのステップＳ１００では、配色変換の対象となるデザインの情報を入力してデザイン記憶装置１１に記憶するとともに、その入力したデザインで使われている各色（各質点）についてバネ定数を設定して力学モデル記憶装置１５に記憶するという処理を実行するのである。
【００７４】
〔３〕ステップＳ２００の処理の詳細
次に、図６のフローチャートのステップＳ２００で実行する処理の詳細について説明する。
【００７５】
図６のフローチャートのステップＳ２００では、図６のフローチャートのステップＳ１００で定義されたＮ個の色同士に働く場の力の関数を定義する。
【００７６】
Ｎ個の色同士に働く場の力の関数は、それぞれ、色空間における色ベクトルの距離Ｒijと、縮退した色空間（色弱者の識別する色空間）における色ベクトルの距離ｒijとを入力として、力ベクトルを出力する。以下に、場の力の関数の例を示す。
【００７７】
（イ）場の力の関数の例１
場の力の関数として、下記の（１）式で表されるものを用いる。この関数は、電場や磁場の場の関数と同じ形である。
【００７８】
【数１】
0004824660.tif 000003
【００７９】
（ロ）場の力の関数の例２
（１）式で表される関数を使うと、縮退した色空間での距離が０に近いときに、力が無限に大きくなってしまう。そこで、このようなことが起こる場合には、下記の（２）式で表されるものを用いるようにする。この関数を使えば、力の大きさが発散することを防ぐことができる。また、色同士の距離が十分大きいときには、力の大きさは（１）式とほとんど同じ大きさになる。
【００８０】
【数２】
0004824660.tif 000004
【００８１】
（ハ）場の力の関数の例３
（２）式で表される関数を使うと、縮退した色空間で色の距離が小さいときに、元々の色空間でも色が近いのか、縮退したことによって小さくなったのかを区別できない。そこで、このようなことを区別する必要がある場合には、下記の（３）式で表されるものを用いるようにする。この関数を使えば、縮退によって距離が小さくなった色には大きな力が働き、元々近い色には大きな力は働かない。
【００８２】
【数３】
0004824660.tif 000005
【００８３】
（ニ）場の力の関数の例４
ある二つの色を特に区別したいときには、距離によらずに常に一定の力をかければよい。このようなことを考慮する必要がある場合には、下記の（４）式で表されるものを用いるようにする。
【００８４】
【数４】
0004824660.tif 000006
【００８５】
次に、図８のフローチャートに従って、図６のフローチャートのステップＳ２００で実行する処理の詳細について説明する。
【００８６】
本発明のデザイン配色変換装置１は、図６のフローチャートのステップＳ２００の処理に入ると、図８のフローチャートに示すように、まず最初に、ステップＳ２０１ａで、必要なメモリ領域を作業メモリ１４に確保する。ここで必要とする変数は、下記の表２の通りである。
【００８７】
【表２】
0004824660.tif 000007
【００８８】
続いて、ステップＳ２０２ａで、各色について処理を行うべくＮ回の繰り返しを始める。ここで、色の識別子となる添字をｉとする。
【００８９】
続いて、ステップＳ２０３ａで、各色について処理を行うべくｉ回の繰り返しを始める。ここで、色の識別子となる添字をｊとする。
【００９０】
続いて、ステップＳ２０４ａで、ユーザと対話することで、ｉ番目の色（質点）とｊ番目の色（質点）との間に働く場の力の関数を定義して、変数ｆ[i][j]に代入する。
【００９１】
例えば、前述した（１）式〜（４）式に示した４つの場の力の関数の中から１つを選ぶとともに、その選んだ関数に記述される係数ｋｑを設定することでｉ番目の色とｊ番目の色との間に働く場の力の関数を定義して、変数ｆ[i][j]に代入するのである。
【００９２】
ここで、ｉ番目の色とｊ番目の色との間に、無条件に、場の力の関数を定義するのではなくて、識別できるようにする必要のある色同士である場合にのみ、場の力の関数を定義するようにしてもよい。
【００９３】
また、ｉ番目の色とｊ番目の色との間に、複数の場の力の関数を定義するようにしてよい。このように複数の場の力の関数を定義する場合には、全ての関数を足し合わせたものを変数ｆ[i][j]に代入することになる。
【００９４】
続いて、ステップＳ２０５ａで、ステップＳ２０３ａから始まったｊについての繰り返し処理を終了する。
【００９５】
続いて、ステップＳ２０６ａで、ステップＳ２０２ａから始まったｉについての繰り返し処理を終了する。
【００９６】
このようにして、図８のフローチャートのステップＳ２００では、入力したデザインで使われている色と色の組み合わせのそれぞれについて場の力の関数を設定して、力学モデル記憶装置１５に記憶するという処理を実行するのである。
【００９７】
図８のフローチャートでは、識別できるようにする必要のある色同士にのみ場の力の関数を定義するということを実現するには、ステップＳ２０４ａの処理において、ユーザがｉ番目の色とｊ番目の色とがそれに該当するのか否かを意識する必要がある。これでは、ユーザに大きな負荷がかかることになる。
【００９８】
そこで、ユーザが簡単に識別できるようにする必要のある色同士にのみ場の力の関数を定義することを実現する場合には、図８のフローチャートに代えて図９のフローチャートを実行することになる。
【００９９】
次に、この図９のフローチャートに従って、図６のフローチャートのステップＳ２００で実行する場合の処理の詳細について説明する。
【０１００】
本発明のデザイン配色変換装置１は、図６のフローチャートのステップＳ２００の処理に入ると、図９のフローチャートに従って処理を実行する場合には、まず最初に、ステップＳ２０１ｂで、必要なメモリ領域を作業メモリ１４に確保する。ここで必要とする変数は、前述の表２および下記の表３の通りである。
【０１０１】
【表３】
0004824660.tif 000008
【０１０２】
続いて、ステップＳ２０２ｂで、ユーザと対話することで、使用する場の数を入力し、変数Ｍに代入することで、使用する場の数を設定する。例えば、Ｍ＝４を設定する。
【０１０３】
続いて、ステップＳ２０３ｂで、各場について処理を行うべくＭ回の繰り返しを始める。ここで、場の識別子となる添字をｍとする。
【０１０４】
続いて、ステップＳ２０４ｂで、ユーザと対話することで、ｍ番目の場の力がおよぶ色の集合を定義し、変数Ｌｍ[m] に代入する。
【０１０５】
図８に示すｈｔｍｌ文書の例で説明するならば、全体の背景色（#ffffff)、タイトルの背景色（#e5e563)、タイトルの文字色（#64f064)、“本文”の文字色（#5a642a)、“強調文字”の文字色（#ff430c)という５つの色が使われているので、例えば、
Ｌｍ[0] ＝｛（#e5e563) ,（#64f064)  ｝
Ｌｍ[1] ＝｛（#64f064) ,（#5a642a) ,（#ff430c)  ｝
というように定義するのである。
【０１０６】
続いて、ステップＳ２０５ｂで、ユーザと対話することで、ｍ番目の場の力の関数を定義し、変数ｆｍ[m] に代入する。
【０１０７】
例えば、前述した（１）式〜（４）式に示した４つの場の力の関数の中から１つを選ぶとともに、その選んだ関数に記述される係数ｋｑを設定することでｍ番目の場の力の関数を定義して、変数ｆｍ[m] に代入する。例えば、Ｌｍ[0] の場の力の関数を下記の（５）式と定義し、Ｌｍ[1] の場の力の関数を下記の（６）式と定義するのである。
【０１０８】
【数５】
0004824660.tif 000009
【０１０９】
続いて、ステップＳ２０６ｂで、ステップＳ２０ｂａから始まったｍについての繰り返し処理を終了する。
【０１１０】
続いて、ステップＳ２０７ｂで、ｉ番目の色とｊ番目の色との間に働く場の力の関数である変数ｆ[i][j]を生成する。
【０１１１】
このｆ[i][j]の生成は、ｉとｊが共に集合Ｌｍ[m] に含まれるｍを探し出した上で、関数ｆｍ[m] を代入することで行う。このとき、ｍが複数ある場合には、全ての関数ｆｍ[m] を足し合わせたものをｆ[i][j]とする。
【０１１２】
このようにして、図９のフローチャートによると、ユーザは、例えば、
Ｌｍ[0] ＝｛（#e5e563) ,（#64f064)  ｝
Ｌｍ[1] ＝｛（#64f064) ,（#5a642a) ,（#ff430c)  ｝
というように定義するとともに、Ｌｍ[0] の場の力の関数として前述した（５）式を定義し、Ｌｍ[1] の場の力の関数として前述した（６）式を定義すると、いちいち設定しなくても、
・（#e5e563)と（#64f064)との間に（５）式で表される場の力の関数
・（#64f064)と（#5a642a)との間に（６）式で表される場の力の関数
・（#64f064)と（#ff430c)との間に（６）式で表される場の力の関数
・（#5a642a)と（#ff430c)との間に（６）式で表される場の力の関数
を設定することができるようになる。
【０１１３】
したがって、図９のフローチャートを実行することで、ユーザは簡単に識別できるようにする必要のある色同士にのみ場の力の関数を定義することができるようになる。
【０１１４】
〔４〕ステップＳ３００の処理の詳細
このようにして、図７のフローチャートを実行することで、力学モデル記憶装置１５には図４の上段に示すような情報が記憶され、図８や図９のフローチャートを実行することで、力学モデル記憶装置１５には図４の下段に示すような情報が記憶されることで、力学モデルが生成されることになる。
【０１１５】
図６のフローチャートのステップＳ３００では、このようにして生成した力学モデルの力学的に安定な解を算出する処理を実行する。
【０１１６】
次に、図１０および図１１のフローチャートに従って、図６のフローチャートのステップＳ３００で実行する処理の詳細について説明する。
【０１１７】
ここで、このステップＳ３００で実行する処理では、デザイン記憶装置１１から、入力したデザインの持つ各色（各質点）の色ベクトルを作業メモリ１４上に読み出すとともに、力学モデル記憶装置１５から、入力したデザインに対応付けて生成した力学モデルを作業メモリ１４上に読み出して、その読み出した力学モデルに従って、力学的な安定点に到達するまで、その読み出した各色（各質点）の色ベクトルを更新していくように処理することになる。
【０１１８】
本発明のデザイン配色変換装置１は、図６のフローチャートのステップＳ３００の処理に入ると、図１０および図１１のフローチャートに示すように、まず最初に、ステップＳ３０１で、必要なメモリ領域を作業メモリ１４に確保する。ここで必要とする変数は、下記の表４の通りである。
【０１１９】
【表４】
0004824660.tif 000010
【０１２０】
続いて、ステップＳ３０２で、各色について処理を行うべくＮ回の繰り返しを始める。ここで、色の識別子となる添字をｉとする。
【０１２１】
続いて、ステップＳ３０３で、デザイン記憶装置１１から読み出したｉ番目の色の色ベクトルを変数ｘ０[i] に代入する。
【０１２２】
続いて、ステップＳ３０４で、ｉ番目の色の色ベクトルを表す変数ｘ[i] に対して、初期値としてｘ０[i] を代入する。
【０１２３】
続いて、ステップＳ３０５で、ｉ番目の色の速度ベクトルを表す変数ｖ[i] に対して、初期値として０を代入する。
【０１２４】
続いて、ステップＳ３０６で、ステップＳ３０２から始まったｉについての繰り返し処理を終了する。
【０１２５】
このようにして、ステップＳ３０２〜ステップＳ３０６の処理に従って、全ての色（質点）について、その色の色ベクトルの初期値を表す変数変数ｘ０[i] に対して、デザイン記憶装置１１から読み出した色ベクトルを代入し、その色の色ベクトルを表す変数ｘ[i] に対して、初期値としてデザイン記憶装置１１から読み出した色ベクトルを代入し、その色の速度ベクトルを表す変数ｖ[i] に対して、初期値として０を代入するのである。
【０１２６】
続いて、ステップＳ３０７で、各色について処理を行うべくＮ回の繰り返しを始める。ここで、色の識別子となる添字をｉとする。
【０１２７】
続いて、ステップＳ３０８で、色ベクトルの初期値ｘ０[i] と色ベクトルｘ[i] との距離を算出して、変数ｄ[i] に代入する。
【０１２８】
続いて、ステップＳ３０９で、ｄ[i] 、ｖ[i] 、ｉ番目のバネのバネ定数ｋｓ[i] および空気抵抗係数ｋｖから、バネの力と空気抵抗とを計算して、変数Ｆ[i] に代入する。具体的には、
Ｆi ＝−ｋｓi ・ｄi −ｋｖ・ｖi 
を計算して、変数Ｆ[i] に代入する。
【０１２９】
続いて、ステップＳ３１０で、各色について処理を行うべくＮ回の繰り返しを始める。ここで、色の識別子となる添字をｊとする。
【０１３０】
続いて、ステップＳ３１１で、ｉ≠ｊであるのか否かを判断して、ｉ≠ｊであることを判断するときには、ステップＳ３１２およびステップＳ３１３の処理を実行し、ｉ≠ｊでないことを判断するときには、この処理を省略する。
【０１３１】
続いて、ステップＳ３１２で、デザイン閲覧者として色覚正常者とＰ型色覚の色弱者とＤ型色覚の色弱者とを想定するならば、ｘ[i] とｘ[j] との差分ベクトルＲ[i][j]と、ｘ[i] に対応したＰ縮退空間の色ベクトルｘｐ[i] とｘ[j] に対応したＰ縮退空間の色ベクトルｘｐ[j] との差分ベクトルｒｐ[i][j]と、ｘ[i] に対応したＤ縮退空間の色ベクトルｘｄ[i] とｘ[j] に対応したＤ縮退空間の色ベクトルｘｄ[j] との差分ベクトルｒｄ[i][j]を計算する。
【０１３２】
ここで、Ｐ縮退空間とはＰ型色覚の色弱者の認知色空間を表し、Ｄ縮退空間とはＤ型色覚の色弱者の認知色空間を表す。また、Ｒ[i][j]は先に定義したＲijを表し、ｒｐ[i][j]およびｒｄ[i][j]は先に定義したｒijを表す。
【０１３３】
なお、ｘｐ[i] 、ｘｐ[j] 、ｘｄ[i] 、ｘｄ[j] については、サブルーチンとして用意されて、非特許文献１に記載される方法などに従って色覚の変換処理を実行する色覚変換部１３４を使って算出する。
【０１３４】
続いて、ステップＳ３１３で、図６のフローチャートのステップＳ２００の処理で求めた場の力の関数ｆ[i][j]に対して、Ｒ[i][j]、ｒｐ[i][j]、ｒｄ[i][j]を代入することで、ｊ番目の色がｉ番目の色に与える場の力を求めて、Ｆ[i] に加算する。
【０１３５】
すなわち、関数ｆ[i][j]に対してｒｐ[i][j]を代入することで、Ｐ型色覚の色弱者の認知色空間で求められる距離ｒｐ[i][j]を使ってｊ番目の色がｉ番目の色に与える場の力を求め、関数ｆ[i][j]に対してｒｄ[i][j]を代入することで、Ｄ型色覚の色弱者の認知色空間で求められる距離ｒｄ[i][j]を使ってｊ番目の色がｉ番目の色に与える場の力を求め、さらに、前述した（３）式のように、色覚正常者の認知色空間で求められる距離Ｒ[i][j]に応じた場の力の関数を用いる場合には、関数ｆ[i][j]に対してＲ[i][j]を代入することで、色覚正常者の認知色空間で求められる距離Ｒ[i][j]を使ってｊ番目の色がｉ番目の色に与える場の力を求めて、それらをＦ[i] に加算するのである。
【０１３６】
続いて、ステップＳ３１４で、ステップＳ３１０から始まったｊについての繰り返し処理を終了する。
【０１３７】
続いて、ステップＳ３１５で、ステップＳ３０７から始まったｉについての繰り返し処理を終了する。
【０１３８】
このようにして、ステップＳ３０６〜ステップＳ３１５の処理に従って、全ての色（質点）について、その色に与えられるバネの力とその色に与えられる場の力の総和との合計値を算出して、その色に働く力ベクトルを表す変数Ｆ[i] に代入するのである。
【０１３９】
続いて、ステップＳ３１６で、変数check[i]に偽（false)を代入する。
【０１４０】
続いて、ステップＳ３１７で、各色について処理を行うべくＮ回の繰り返しを始める。ここで、色の識別子となる添字をｉとする。
【０１４１】
続いて、ステップＳ３１８で、ｉ番目の色に働いている力ベクトルＦ[i] から、その色の速度ベクトルｖ[i] を再計算して更新する。例えば、
ｖnew i ＝ｖold i ＋ｆi ・ｄｔ
に従って更新する。
【０１４２】
続いて、ステップＳ３１９で、更新した速度ベクトルｖ[i] から、ｄｔ秒後の位置ベクトルｘ[i] を再計算して更新する。例えば、
ｘnew i ＝ｘold i ＋ｖi ・ｄｔ
に従って更新する。
【０１４３】
続いて、ステップＳ３２０で、予め設定される微小な閾値Ｆ＿eps,ｖ＿eps を用いて、｜Ｆ[i] ｜＞Ｆ＿eps か、｜ｖ[i] ｜＞ｖ＿eps が成立するのか否かを判断して、成立することを判断するときには、ステップＳ３２１の処理を実行し、成立しないことを判断するときには、この処理を省略する。
【０１４４】
続いて、ステップＳ３２１で、変数check[i]に真（true）を代入する。すなわち、ｉ番目の色について、その色に働いている力ベクトルＦ[i] が０に収束していないか、その色の速度ベクトルｖ[i] が０に収束していない場合には、ステップＳ３１６で変数check[i]に代入した偽（false)を真（true）に書き換えるのである。
【０１４５】
続いて、ステップＳ３２２で、ステップＳ３１６から始まったｉについての繰り返し処理を終了する。
【０１４６】
続いて、ステップＳ３２３で、全てのcheck[i]の値が偽（false)であるのか否かを判断して、全てのcheck[i]の値が偽（false)でないことを判断するときには、まだ安定解に到達していないことを判断して、ステップＳ３０７の処理に戻り、全てのcheck[i]の値が偽（false)であることを判断するときには、安定解に到達したことを判断して、処理を終了する。
【０１４７】
このようにして、図６のフローチャートのステップＳ３００では、デザイン記憶装置１１から、入力したデザインの持つ各色（各質点）の色ベクトルを読み出すとともに、力学モデル記憶装置１５から、入力したデザインに対応付けて生成した力学モデルを読み出して、その読み出した力学モデルに従って力学シミュレーションを行って、安定解を求めるように処理するのである。
【０１４８】
このようにして求まる安定解は、入力したデザインの持つ色の色ベクトルをどのような色ベクトルを変換するのかということを示している。
【０１４９】
これから、続くステップＳ４００では、ステップＳ３００で求めた安定解が与える配色を元のデザイン（入力したデザイン）に適用し、デザインを描き直した上で、画像出力装置１６から出力するように処理するのである。
【０１５０】
以上に説明したように、本発明のデザイン配色変換装置１によれば、色弱者には認識しにくい配色を、認識しやすい配色に自動的に変換できるようになる。しかも、この変換にあたって、変えたくない色を指定し、バネ定数などのようなパラメータを入力することで、元のデザインをあまり変えずに配色を変換することができるようになる。
【０１５１】
この配色変換を実行するにあたって、色と色の間の距離を算出するときには、Ｌａｂ色空間などのような均等色空間でその距離を求めることが好ましい。また、色覚変換部１３４は特定の色空間上で色覚変換処理を行うものが多い。
【０１５２】
これから、この配色変換を実行するにあたって、色空間を変換することが起こる。このような色空間の変換処理を実行する場合、任意の実数のＮ乗根（Ｎは整数）を計算する必要がある。
【０１５３】
例えば、ＲＧＢ色空間からＬａｂ色空間への変換には、
Ｒ＝（Ｉ／２５５）2.2 ，Ｇ＝（Ｊ／２５５）2.2 ，Ｂ＝（Ｋ／２５５）2.2 
というガンマ補正が必要であり、また、この逆変換を行う場合には、
Ｉ＝２５５・Ｒ1/2.2 ，Ｊ＝２５５・Ｇ1/2.2 ，Ｋ＝２５５・Ｂ1/2.2 
という変換が必要である。
【０１５４】
また、ＲＧＢ色空間をＸＹＺ色空間に変換した後、さらに、ＸＹＺ色空間をＬａｂ色空間に変換する場合には、
Ｌ＝１１６（Ｙ／１００）1/3 −１６
ａ＝５００((Ｘ／９５．０４）1/3 −（Ｙ／１００）1/3 ）
ｂ＝２００((Ｙ／１００）1/3 −（Ｚ／１０８．９）1/3 ）
という変換が必要である。
【０１５５】
これらを厳密に計算してしまうと時間を要することから、以下の方法で計算することが考えられる。
【０１５６】
すなわち、これらの関数は、
（Ｉ／２５５）2.2 ＝（Ｉ／２５５）2 ・（Ｉ／２５５）1/5 
２５５・Ｒ1/2.2 ＝２５５・Ｒ5/11＝２５５・（Ｒ1/11）5 
などと変形できるので、任意の実数のＮ乗根（Ｎは整数）が高速に求められれば解決する。
【０１５７】
任意の実数のＮ乗根（Ｎは整数）を高速に求めるには、ニュートン法を応用する方法が用いられている。
【０１５８】
通常のニュートン法の場合、実数ａのＮ乗根ａ1/N の近似値を求めるには、
ｇ（ｘ）：ｘN −ａ
を定義して、
ｇ（ｘ* ）＝０  
となる値を求めることで行う。
【０１５９】
具体的には、ある初期値から、
ｘn+1 ＝ｘn −（ｘn −（ａ／ｘn N-1 ))／Ｎ
という漸化式を反復計算していけば、
ｘn →ｘ* 
となり、どこかで計算を打ち切れば近似値が得られる。
【０１６０】
この計算方法では、反復計算の際に実数で除法を行っている。しかるに、計算機で計算を行う場合、除法は乗法よりも時間がかかってしまう。
【０１６１】
これから、通常のニュートン法に従って、実数ａのＮ乗根ａ1/N の近似値を求めることで色空間の変換処理を実行するようにすると、その変換処理に時間がかかるという問題がある。
【０１６２】
そこで、本発明では、実数ａのＮ乗根ａ1/N の近似値を求めるために、
ｆ（ｘ）：（１／ｘN ）−ａ
を定義して、
ｆ（ｘ* ）＝０  
となる値を求めることで行う。
【０１６３】
このときの漸化式は、
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
となり、実数での除法を行わずに反復計算が可能である。この反復計算を途中で打ち切り、最後に一度だけ除法を計算すれば、実数ａのＮ乗根ａ1/N の近似値を求めることができる。
【０１６４】
これから、本発明によれば、実数ａのＮ乗根ａ1/N の近似値を高速に求めることができるようになり、これにより、色空間の変換処理を高速に実行することができるようになる。
【０１６５】
次に、この漸化式
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
を反復計算する場合に、初期値ｘ0 として、下記の（７）式で表されるものを用いるようにすると、必ず解に収束することについて説明する。ここで、〔ａ〕はａを超えない最も大きな整数を示しており、分母を整数とすることで実数での除法を行う必要はない。
【０１６６】
【数６】
0004824660.tif 000011
【０１６７】
図１３に、ｘ＞０の範囲でｙ＝ｆ（ｘ）のグラフを書いたものを図示する。ここで、図中に示す点線は、下記の（８）式で表される原点（０，０）を通る直線を示している。
【０１６８】
【数７】
0004824660.tif 000012
【０１６９】
この（８）式で表される直線は、図中に示すように、
ｘ＝((Ｎ＋１）／ａ）1/N 
で、ｙ＝ｆ（ｘ）に接する。
【０１７０】
ここで、集合Ａ，Ｂを、下記の（９）式で表されるものと定める。
【０１７１】
【数８】
0004824660.tif 000013
【０１７２】
ｆ（ｘ）＝０を求めるのに使用する本発明で用いるニュートン法の漸化式
ｘn+1 ＝ｘn ＋（ｘn −ａ・ｘn N+1 ）／Ｎ
に対して、ｆ（ｘ）はｘ＞０において単調減少かつ下に凸なので、
・ｘn ∈Ａならば、ｘn+1 ∈Ａ
・ｘn ∈Ｂならば、ｘn+1 ∈Ａ
が成り立つ。
【０１７３】
また、ある自然数ｍがｘm ∈Ａを満たすとき、数列｛ｘn ｜ｎ＞ｍ｝は単調増加であり、ｎ→∞においてｆ（ｘ）＝０の解“１／ａ1/N ”に収束する。
【０１７４】
以上から、集合Ｃを下記の（１０）式で表されるものとすれば、ニュートン法の反復計算の初期値ｘ0 が、ｘ0 ∈Ｃを満たせば、数列｛ｘn ｝は安定に解に収束することが示せた。
【０１７５】
【数９】
0004824660.tif 000014
【０１７６】
次に、（７）式に記述される初期値がｘ0 ∈Ｃとなることを示す。ｘ0 ＞０は明らかなので、ｘ0 ＜((Ｎ＋１）／ａ）1/N を示せばよい。
【０１７７】
まず、０＜ａ＜Ｎ＋１のときを考える。このとき、１＜（Ｎ＋１）／ａとなり、１より大きな数のＮ乗根は１より大きいので、
ｘ0 ＝１＜((Ｎ＋１）／ａ）1/N 
となる。
【０１７８】
次に、ａ≧Ｎ＋１のときを考える。このとき、（Ｎ＋１）／ａ≦１となるので、
（Ｎ＋１）／ａ≦((Ｎ＋１）／ａ）1/N 
となり、等号はａ＝Ｎ＋１のときのみ成立する。
【０１７９】
また、〔ａ〕≦ａ＜〔ａ〕＋１なので、
（Ｎ＋１）／（〔ａ〕＋１）＜（Ｎ＋１）／ａ
となる。
【０１８０】
よって、
ｘ0 ＝（Ｎ＋１）／（〔ａ〕＋１）＜（Ｎ＋１）／ａ≦((Ｎ＋１）／ａ）1/N 
から、
ｘ0 ＜((Ｎ＋１）／ａ）1/N 
となる。
【０１８１】
以上に説明したことから、（７）式で示される初期値ｘ0 が必ず安定解に収束することが示された。
【産業上の利用可能性】
【０１８２】
本発明は、デザインの配色を色弱者に識別しやすい配色に変換する場合に適用できるものであり、色弱者には認識しにくい配色を、認識しやすい配色に自動的かつ高速に変換することを実現する。
【図面の簡単な説明】
【０１８３】
【図１】本発明の説明図である。
【図２】本発明のデザイン配色変換装置の装置構成図である。
【図３】デザイン記憶装置の記憶するデザイン配色情報の説明図である。
【図４】力学モデル記憶装置の記憶する力学モデルの説明図である。
【図５】デザインの一例を示す図である。
【図６】本発明のデザイン配色変換装置の実行するフローチャートである。
【図７】本発明のデザイン配色変換装置の実行するフローチャートである。
【図８】本発明のデザイン配色変換装置の実行するフローチャートである。
【図９】本発明のデザイン配色変換装置の実行するフローチャートである。
【図１０】本発明のデザイン配色変換装置の実行するフローチャートである。
【図１１】本発明のデザイン配色変換装置の実行するフローチャートである。
【図１２】デザインを記述するｈｔｍｌ文書の一例を示す図である。
【図１３】実数ａのＮ乗根を求めるために用いる関数の説明図である。
【符号の説明】
【０１８４】
１      デザイン配色変換装置
１０    デザイン入力装置
１１    デザイン記憶装置
１２    パラメータ入力装置
１３    出力画像計算装置
１４    作業メモリ
１５    力学モデル記憶装置
１６    画像出力装置
１３０  力学モデル生成部
１３１  安定解算出部
１３２  配色変換部
１３３  色空間変換部
１３４  色覚変換部
【図１】
0004824660.tif 000015
【図２】
0004824660.tif 000016
【図３】
0004824660.tif 000017
【図４】
0004824660.tif 000018
【図５】
0004824660.tif 000019
【図６】
0004824660.tif 000020
【図７】
0004824660.tif 000021
【図８】
0004824660.tif 000022
【図９】
0004824660.tif 000023
【図１０】
0004824660.tif 000024
【図１１】
0004824660.tif 000025
【図１２】
0004824660.tif 000026
【図１３】
0004824660.tif 000027