(57)【要約】【課題】  本発明は、色処理結果の解析を視覚的に簡単に把握できるようにする。【解決手段】  色情報群から該色情報によって示される色を覆い包む第１の多面体を生成する第１生成工程と、色処理が行われた色情報群の第２の多面体を生成する第２生成工程と、  前記第１の多面体および前記第２の多面体の夫々に対して表示属性を設定する設定工程と、  前記第１の多面体、前記第２の多面体および前記第１および第２の多面体夫々に対する表示属性を用いて、前記第１の多面体および前記第２の多面体をレンダリングするレンダリング工程と、前記レンダリングされた第１および第２の多面体を表示部に表示させる表示工程とを有する。【選択図】  図２４
2005293615.tif 000002
【特許請求の範囲】
【請求項１】
色情報群から該色情報によって示される色を覆い包む第１の多面体を生成する第１生成工程と、
色処理が行われた色情報群の第２の多面体を生成する第２生成工程と、
前記第１の多面体および前記第２の多面体の夫々に対して表示属性を設定する設定工程と、
前記第１の多面体、前記第２の多面体および前記第１および第２の多面体夫々に対する表示属性を用いて、前記第１の多面体および前記第２の多面体をレンダリングするレンダリング工程と、
前記レンダリングされた第１および第２の多面体を表示部に表示させる表示工程とを有することを特徴とする色処理方法。
【請求項２】
指定色の色値および該指定された色の色値に対して前記色処理を行った色値を算出する算出工程を有し、
前記レンダリング手段は、前記第１の多面体および前記第２の多面体に加えて、前記指定色の色値および前記色処理を行った色値に応じたオブジェクトをレンダリングすることを特徴とする請求項１記載の色処理方法。
【請求項３】
さらに、前記指定色の色値と前記色処理を行った色値との関連を示す表示情報を生成することを特徴とする請求項２記載の色処理方法。
【請求項４】
さらに、前記色処理で用いる色空間圧縮方法を設定する設定工程を有することを特徴とする請求項１記載の色処理方法。
【請求項５】
請求項１乃至請求項４の何れかに記載の色処理方法をコンピュータにて実現するためのプログラムを格納する記録媒体。
【請求項６】
色情報群から該色情報によって示される色を覆い包む第１の多面体を生成する第１生成手段と、
色処理が行われた色情報群の第２の多面体を生成する第２生成手段と、
前記第１の多面体および前記第２の多面体の夫々に対して表示属性を設定する設定手段と、
前記第１の多面体、前記第２の多面体および前記第１および第２の多面体夫々に対する表示属性を用いて、前記第１の多面体および前記第２の多面体をレンダリングするレンダリング手段と、
前記レンダリングされた第１および第２の多面体を表示部に表示させる手段とを有することを特徴とする色処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
色処理前後の結果を多面体を用いて表示させる色処理方法および装置に関する。
【背景技術】
【０００２】
色を構成する要素として３つの属性（明るさ、色相、彩度）があるのは広く知られていることである。これら３つの属性を各々直交する座標に割り当て、３次元ユークリッド空間で表現する例として、ＲＧＢ色空間やＸＹＺ色空間等が広く用いられている。
【０００３】
様々な色空間の中でも空間内の距離と色差を結び付けたものとして均等知覚色空間というものが存在する。その中でもＣＩＥ１９７６−Ｌａｂ空間（以下、単にＬａｂ色空間）は、色のマッピング状態や各カラーデバイスの色再現領域を解析するために、よく用いられる均等知覚色空間の一つである。色のマッピング状態や各カラーデバイスの色再現領域を解析するためには、カラーデバイスが出力する色（Ｌａｂ値）を測定、又は計算で求め、該Ｌａｂ色空間内にプロットする必要がある。ここで、プロットというのは、グラフにそのデータを記すことを意味する、二変数のプロットであればＸＹ座標等の平面上における座標位置に点列等を記すが、座標が空間として構成される場合は、３Ｄのレンダリング機能を利用しなければならない。
【０００４】
３Ｄのレンダリングシステムは、予め設定された観察位置を通して、ある投影面に写像される画像を生成することで空間上のオブジェクトを疑似的に二次元の画像で再現するものである。さらには、操作する利用者がより詳細にその様子を観察するために、回転や拡大縮小等の機能が付加されている場合も多い。このような機能を用いることで、色空間内に点在する色のデータを可視化することは従来より行われている（特許文献１）。
【特許文献１】特開平６−３４８８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、前述した３Ｄのレンダリング機能を提供する３次元レンダリングシステムは、多くの種類が存在する。その中でも、隠面処理の都合上、描画する三角ポリゴンの法線ベクトルを一致させなければならないものが存在する。
【０００６】
しかし、従来より三角ポリゴン等で構成された多面体について、該ポリゴン群の法線ベクトルを自動処理によって一致させる手法については何ら技術開示されていない。このため、隠面処理の都合上、描画する三角ポリゴンの法線ベクトルを一致させなければならない３次元レンダリングシステムにおいては、法線ベクトルが不揃いのポリゴン群を描画することは不可能であった。
【０００７】
ここで、３次元レンダリングシステムにおいて、登録する三角ポリゴンの３つの頂点の順番と該三角ポリゴンの法線ベクトルの向きとの関係を、図９に基づいて説明する。
【０００８】
三角ポリゴンにおける法線ベクトルを考えると、長さは一意に求められるが、その向きは必要に応じて明確に定義しなければならない。そこで、登録されている頂点の順番でみたときに、右ネジの進行方向と同じように進む方向を法線ベクトルの向きとして定義する。０４→１９→０５と右回りで登録されている三角ポリゴンの場合は奥方向に法線ベクトルが向いており、ちょうど右ネジが右回転の時に進行する場合と同じである。一方、０４→１１→０５と登録されている三角ポリゴンの場合は手前方向に法線ベクトルが向き、ちょうど右ネジを左回転させた時に進行する方向と同じである。この例から、０４→１９→０５と登録されている三角ポリゴンと、０４→１１→０５と登録されている三角ポリゴンとは、法線ベクトルが一致していないことがわかる。
【０００９】
また、このような法線ベクトルが一致しない三角ポリゴン群を、上記システムにおいて表示すると、本来は描画されるべき三角ポリゴンが表示されなかったりするという問題も生じる。
【００１０】
本発明は、色処理結果の解析を視覚的に簡単に把握できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は、色情報群から該色情報によって示される色を覆い包む第１の多面体を生成する第１生成工程と、色処理が行われた色情報群の第２の多面体を生成する第２生成工程と、前記第１の多面体および前記第２の多面体の夫々に対して表示属性を設定する設定工程と、前記第１の多面体、前記第２の多面体および前記第１および第２の多面体夫々に対する表示属性を用いて、前記第１の多面体および前記第２の多面体をレンダリングするレンダリング工程と、前記レンダリングされた第１および第２の多面体を表示部に表示させる表示工程とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、色処理結果の解析を視覚的に簡単に把握することができる。
【発明を実施するための最良の形態】
【００１３】
（実施形態１）
まず、多面体生成処理および多面体生成処理を実現するためのシステムの概略を説明する。
【００１４】
第１の実施の形態を、図１ないし図６に基づいて説明する。
【００１５】
まず、本実施形態の概略構成について説明する。図６は、カラー画像処理装置１における３Ｄのレンダリング機能を提供する３次元レンダリングシステム１０（多面体生成装置）の１例を示す。
【００１６】
３次元レンダリングシステム１０は、データ生成手段１１と、データ変更手段１２と、表示手段１３とを備えている。なお、１４は、生成した多面体のデータを保存するファイルシステムである。１５は、後述する実施の形態で用いるメモリである。
【００１７】
ここで、データ生成手段１１は、座標空間上に点在する点列を取り込み、検索対象辺から三角形を派生させ、該三角形の頂点を多面体を構成する三角ポリゴンのデータ群として生成する。このような多面体の生成処理によって、各三角ポリゴンの頂点を１組のデータ群としてファイルシステム１４に登録してゆく。
【００１８】
データ変更手段１２は、多面体を構成する各三角ポリゴンの法線ベクトルを計算し、必要に応じて該法線ベクトルを適宜変更することにより、多面体を構成する全ての三角ポリゴンの法線ベクトルを一致させる。すなわち、まず、生成された多面体の内部に点を一つ設定する。通常は三角ポリゴン座標より求めた重心点は該多面体の内部に収まるので、該重心点を内部点として用いるが特に重心点である必要はない。次に、登録された三角ポリゴンの頂点データ１組のデータを取り出す。頂点データは、登録されている順序と該頂点の座標データから外積ベクトルを求め、これを法線ベクトルとする。次に、三角ポリゴンの三角形としての重心点を求め、さらに、前記内部点とのベクトルを求めることにより、内部点と三角形としての重心点とを結ぶベクトルを算出する。次に、その算出したベクトルと、前記法線ベクトルとの内積をとり、該求めたスカラー値を用いて必要に応じて、登録されている頂点データの順序を適宜入れ換える。このような処理によって、全ての三角ポリゴンの法線ベクトルを一致させる。
【００１９】
表示手段１３は、多面体を構成する三角ポリゴンの頂点の順序を適宜変更した後の法線ベクトルが全て一致した多面体を表示させる。
【００２０】
図１は、座標空間に点在する点列を取り囲む多面体生成処理を示したフローチャートである。最初に、ステップＳ１１において、初期化処理を行う。ここで最初の三角形の探索を行う。最初の三角形は座標空間上に点在する点列の最大値又は最小値等の極点近傍付近で探索する。次に、ステップＳ１２において、探索対象辺を再編成し、さらに、探索対象となる辺をファイルシステム１４に登録してゆく。
【００２１】
ステップＳ１３では、前記ステップＳ１２において登録された辺を順に調べることで、検索が終了か否かの判断を行う。検索が終了していない場合はステップＳ１４に進み、検索対象辺のアドレスへアクセスし、ファイルシステム１４に登録された辺の座標データ等を取り出す。
【００２２】
ステップＳ１５では、ファイルシステム１４から取り出された座標データ等をもとに、検索対象辺からの新たな三角形の派生が可能か検証し、新頂点候補を探索する。ステップＳ１６において、新頂点候補が既に登録されたものと重複しないか等を判定した後に、新たな登録対象であった場合には、ステップＳ１７において、ファイルシステム１４に追加登録を行う。このようにして順次探索を行い、各三角形から隣接する新たな三角形を派生させ、これを登録することによって、ポリゴンデータの生成が可能となる。
【００２３】
上述した図１の処理によって、図４および図５で示されるように、座標空間上に点在する点列を取り囲む多面体の生成を自動的に実行することが可能となる。
【００２４】
次に、３次元レンダリングシステムにおいて、登録する三角ポリゴンの３つ頂点の順番と該三角ポリゴンの法線ベクトルの向きとの関係を、図３に基づいて説明する。
【００２５】
三角ポリゴンにおける法線ベクトルを考えると、長さは一意に求められるが、その向きは必要に応じて明確に定義しなければならない。
【００２６】
例えば、隠面処理を行う場合、視点の位置と多面体の位置関係に基づき隠面処理を行う三角ポリゴンが求められる。この隠面処理を高速に行う１手法として、三角ポリゴンの重心から視点へのベクトルと三角ポリゴンの法線ベクトル（右ネジの進行方向を正）の内積が負である場合にその三角ポリゴンに対して隠面処理を行う手法がある。
【００２７】
そこで本実施形態では、登録されている頂点の順番でみたときに、右ネジの進行方向と同じように進む方向を法線ベクトルの向きとして定義し、多面体を構成する全ての三角ポリゴンの法線ベクトルの方向を揃える処理を行う。
【００２８】
前述した図９に示した例では、０４→１９→０５と右回りで登録されている三角ポリゴンの場合は奥方向に法線ベクトルが向いており、２つの三角ポリゴンが隣接しているのに法線ベクトルが互いに全く逆の方向を示している。このような場合において、法線ベクトルの方向を変更する。具体的には、図３に示すように、０４→１９→０５を並び変えて、０４→０５→１９と登録し直すことによって、法線ベクトルの方向を揃える。
【００２９】
多面体を構成する三角ポリゴンの法線ベクトルの方向を全て一致させるためには、全ての三角ポリゴンの法線が外向きに設定させる必要がある。そのためには、多面体の内部の点（内部点又は重心点）から各三角形の重心点に向けてベクトルを求め、該ベクトルと法線ベクトルの内積をとり、該内積値が負数になった場合にその三角ポリゴンの頂点データの登録順序を変更するという処理を行えばよい。
【００３０】
図２は、多面体を構成する全ての三角ポリゴンの法線ベクトルを一致させるために、各三角ポリゴンのベクトルを調べて頂点の登録順序を変更するデータ変更処理について説明したフローチャートである。
【００３１】
まず、ステップＳ４１１において、初期化の処理を適宜行う。ステップＳ４１２のデータ読込み処理において、ファイルシステム１４に記録されている三角ポリゴンの各データを読み込む。ステップＳ４１３では、読込んだ三角ポリゴンのデータの座標をもとに、多面体の重心点を計算する。ステップＳ４２１の読み出し処理では、改めて頂点座標の読み出しを行う。
【００３２】
ステップＳ４２２のベクトル算出処理では、三角形の重心点を求め、前記ステップ４１３で求めた多面体の重心点から、該三角形の重心点へ向かうベクトルＡを算出する。ステップＳ４２３の法線ベクトル算出処理では、登録されている頂点の順序に基づいて法線ベクトル成分を算出し、ステップＳ４２４の内積計算処理において、該法線ベクトルと前記ベクトルＡの内積計算を行う。
【００３３】
ステップＳ４２５の判定処理では、前記算出された内積値が、負数の時には、ステップＳ４２６の並替え処理へ分岐するよう構成する。ステップＳ４２６の並替え処理では、ファイルシステム１４に登録されている三角ポリゴンの頂点データである２番目と３番目のデータを入れ換える処理を行う。ステップＳ４２７の終了判定処理では、ファイル構造体を参照し、読出しが終了したかの判定を行い、読出しが終了していなければステップＳ４２１の読出し処理へ戻り、終了していればステップＳ４２８の終了処理へ進み、終了処理を行う。
【００３４】
以上の処理のように頂点の登録順序を適宜変更することにより、多面体を構成する全ての三角ポリゴンの法線ベクトルを一致させることができる。
【００３５】
次に、実施形態１の変形例１を、図７に基づいて説明する。
【００３６】
本例では、第１の実施の形態の例のように、既にファイルシステム１４等に登録されているデータを読出して処理するのではなく、多面体を生成変更する処理の中で、図６に示したメモリ１５を用いてデータの読出し処理を実行する。
【００３７】
まず、ステップＳ５１１の初期化処理５１１では、適宜初期化処理を行う。ステップＳ１５２のデータ読込み処理では、ファイルシステム１４に記録されている点列データを読み込む。ステップＳ５１３の検索終了判定処理では、図２のステップＳ１３と同様な処理であり、ステップＳ５１４の検索登録処理では、図２のＳ１４からＳ１７までの処理とはほぼ同様な処理である。
【００３８】
本例では、ここでファイルシステム１４への登録を行わずに、一旦メモリ１５上にデータを保持したまま、次の処理に移行する。
【００３９】
ステップＳ５１５の重心点算出処理では、メモリ１５上に記録されている三角ポリゴンのデータにアクセスし、多面体の重心点を算出する。ステップＳ５２１の座標取出し処理では、メモリ１５上のデータに再度アクセスし、頂点の座標データを取り出す。ステップＳ５２２のベクトル算出処理では、三角形の重心点を求め、前記ステップＳ５１５で求めた多面体の重心点から、該三角形の重心点へ向かうベクトルＡを算出する。ステップＳ５２３の法線ベクトル算出処理では、登録されている頂点の順序に基づいて法線ベクトル成分を算出し、ステップＳ５２４の内積計算処理において、該法線ベクトルと前記ベクトルＡの内積計算を行う。
【００４０】
ステップＳ５２５の判定処理では、前記算出された内積値が、負数の時にはステップＳ５２６の並替え処理へ分岐する。ステップＳ５２６の並替え処理では、メモリ１５上に登録されている三角ポリゴンの頂点データである二番目と三番目のデータを入れ換える。ステップＳ５２７の終了判定処理では、登録データを参照するポインタ等を参照し、処理が終了したかの判定を行い、終了していなければステップＳ５２１の取出し処理へ戻り、終了していればステップＳ５２８の終了処理へ進み、メモリ１５上のデータの書き出し、保存処理、メモリ１５の解放処理等の終了処理を適宜行う。
【００４１】
次に、実施形態１の変形例２を、図８に基づいて説明する。
【００４２】
本例では、図４の点列データを入力した後に、図５の多面体を構成する段階で、検索できた三角ポリゴンを表示手段１３に順次表示する処理を備えた場合の例である。
【００４３】
まず、ステップＳ６１１のデータ読込み処理では、ファイルシステム１４に記録されている点列データを読み込む。ステップＳ６１２の中心点算出処理では、各データにおける各座標成分の最大値、最小値等から多面体が構成されたときの中心点（内部点）を計算する。
【００４４】
ステップＳ６１３の検索終了判定処理では、図２のＳ１３に相当する処理であって、処理が終了するまで検索終了の判定処理を繰り返す。ステップＳ６２１の検索処理では、新たに登録すべき三角ポリゴンを検索し、これを一時領域に仮登録する。ステップＳ６２２のベクトル算出処理では、前記ステップＳ６１２で求めた多面体の中心点から、三角ポリゴンを形成する３つの頂点のいずれか一つの点へ向かうベクトル点へ向かうベクトルＡを算出する。
【００４５】
ステップＳ６２３の法線ベクトル算出処理では、仮登録されている頂点の順序に基づいて法線ベクトル成分を算出し、ステップＳ６２４の内積計算処理において、該法線ベクトルと前記ベクトルＡの内積計算を行う。
【００４６】
ステップＳ６２５の判定処理では、前記算出された内積値が、負数の時には、ステップＳ６２６の並替え処理へ分岐する。ステップＳ６２６の並替え処理では、メモリ１５上に登録されている三角ポリゴンの頂点データである二番目と三番目のデータを入れ換える。ステップＳ６２７の描画処理では、法線ベクトルが適正化された三角ポリゴンを表示手段１３により追加表示し、全ての検索が終了するまで順次追加作業を繰り返す。
【００４７】
（実施形態２）
図５に示されるような凸型多面体を生成する方法は、ギフトラッピング法が最も基本的な実現方法として広く知られている。これは図１に示されるように、点列を入力し、該点列に対して、適当な外点を始点として各データ列を適宜操作し、繰り返し次の点列（頂点候補）を探索していくものである。
【００４８】
しかしながら、この方法では対象とする点列の数が増えると、これに比例して処理時間も大きく増加するという問題が知られている。
【００４９】
本実施形態では、以下の処理を行い、凸型多面体の内部の点を探索対象から除去することにより、高速な多面体の生成を実現している。
１．三次元を構成する各軸上での最大、最小値の端点（六点）を用いて八面体を形成する。
２．八面体の内含点列を除外し、処理する点列の数を減らす。
３．該内含点列を除外したデータ群に対してギフトラッピング法を適用する。また、更には、八面体を構成した後に、該八面体を構成する三角形上の点列に対して、該三角形の平面から最も遠い点列を選びだしこれを頂点とする四面体を新たに構成し、該四面体の内含点列を除外し、データ数を減少させる。この処理は複数回適宜繰り返すよう構成すれば更に効果的である。
【００５０】
以下、図面を用いて多面体生成方法を詳細に説明する。
【００５１】
図１０はデータ点列の分布状態をＸＹ平面に対して垂直な位置から観察したものであって、ＸＹ各軸上の最大点、最小点より四辺形を構成し、該四辺形の内部点を削除する様子を示したものである。図からも明らかなように各軸上の最大、最小値を基に構成された四辺形で取り囲まれる内部の点列は、表面を構成する点列とは成り得ないので後段の処理でも不必要であることがわかる。本発明の骨子は処理に不必要な点を削除することで処理対象のデータ数を大幅に減少させ、処理全体の高速化を実現することである。平面上のデータであれば四辺形又は三角形等の組み合わせで不必要な点を判定することが可能である。対象空間が色空間のように三次元である場合には多面体を用いて同様に不必要な点を判定することが可能である。
【００５２】
図１１は扱うデータを三次元空間に拡張した場合を示している。図示されるようにＺ軸の最大最小値を付加することで八面体が構成される。該八面体は図で示されるように各軸の最大値、最小値に対応して便宜上の頂点番号（１〜８）を割り当てるとすると、１−２−３、１−３−４、１−４−５、１−５−２、６−３−２、６−４−３、６−５−４、６−２−５、の計８つの三角形で囲まれることになる。
【００５３】
本実施形態では、該八面体の内部に存在する点列を削除することで処理の高速化を実現する。図１２は本実施形態の処理を示す概略フローチャートである。図１の多面体生成処理の前段処理として、八面体を構成する手続きステップＳ１９と、該多面体の内部点を削除する手続き（ステップＳ２０）を行う。この処理によって削除出来る点列の数は入力されるデータの分布状態により異なるが、例えば半径が１の球体状にほぼ均一にデータが分布しているとすれば、全体に対して約３１．８（＝１／π）％が削除対象となる。
【００５４】
これは半径１の球体の体積（４π／３）に対して該球体に内接する八面体の体積（４／３）の割合である。実際の検討結果では、テストデータとして球体内部にランダムに生成させた４３５点に対する処理時間が５１．８秒であったのに対して、削除処理によって対象処理データは３２４点に減少し、その結果処理時間は３４．４秒に短縮した。その差１７．４秒は、ほぼ３３％の減少でありデータ数の減少率にほぼ比例する結果が出ることが判明した。
【００５５】
（実施形態２の変形例）
次に、図１３〜１５を用いて実施形態２の変形例について説明する。
図１３に示されるように、実施形態２と同様に八面体の内部の点列を削除した後は、八面体の外部のみに点列が存在することになる。さらに、本変形例では、八面体を構成する各面の三角形その平面から最も距離が遠い点とで形成される四面体の内部に点列を削除することにより、削除する点数を増やし処理の高速化を実現する。
【００５６】
まず、図１３で示されるように、Ｘｍｉｎ，Ｙｍａｘ，Ｚｍｉｎの３つの点を各々点ＡＢＣとし該三点を含む平面上の点列を選択する。次に図１４で示されるように該平面より最も距離の遠い点Ｄを頂点として四面体を形成し概四面体の内部点を削除する（ステップＳ２５，２６）。このような処理を八面体の全ての面に対して行う。更には該形成された四面体上の三角形平面に同様の処理を適宜繰り返す。全ての四面体内部に点列が存在しなくなった時に処理を終了するように構成すれば、生成された三角形の集合が与えられた点列データの外郭を覆う表面を表すことになる。
【００５７】
図１５を用いて処理の流れの概略を簡単に説明する。
【００５８】
まず、ステップＳ２１において初期化処理を行う。そして、ステップＳ２２〜Ｓ２４において実施形態２と同様に八面体を求め、八面体の内部の点を削除する。
【００５９】
次に、八面体を構成するある面から最も距離が遠い点を探索し四面体を求め（ステップＳ２６）、該四面体の内部の点を削除し（ステップＳ２７）、ステップＳ２６で探索された点を新頂点として追加登録する（ステップＳ２８）。ステップＳ２６〜Ｓ２８の処理を八面体を構成する全ての面に対して行う（ステップＳ２５、Ｓ２９、Ｓ３０）。
【００６０】
そして、ステップＳ２８により追加された新頂点と八面体を構成する８頂点に基づき、多面体を再構成し、多面体をより複雑にするか否かを判断する。多面体を複雑にする必要がある場合は、Ｎを再構成された多面体に応じて更新する（ステップＳ３１）。なお、ステップＳ２６で常に点が探索された場合はＮに１６が設定される。
【００６１】
ステップＳ３１においてＮが更新された場合は、各面に対してステップＳ２５〜Ｓ３１の処理を繰り返す（ステップＳ３２）。
【００６２】
なお、上記本願実施形態２およびその変形例では、八面体や四面体を用いたが、例えば六面体などを用いても同様の処理を実現可能である。さらには、十二面体などの適当な多面体をもちいても同様である。
【００６３】
すなわち、多面体生成処理の速度を向上させるためには、できる限り不用なデータ点列を効率よく削除すれば良いので、不用なデータ点列を削除する実施形態であれば良い。
【００６４】
実施形態２によれば、空間上に点在する色データ等を包み込む多面体モデルを生成する際に、与えられた点列の数が増えても処理時間がこれに比例して大きく増加することを防ぎ効率的な多面体生成処理を行うことができる。
【００６５】
（実施形態３）
凸型多面体の生成方法は、ギフトラッピング法が最も基本的な実現方法として広く知られている。凸型多面体の生成方法としては、その他にも多数存在する。
【００６６】
ここで問題なのは、各々の処理速度が一概に予測することは出来ないという点である。例えば、あるデータの分布状態に応じては、最適なアルゴリズムが存在しても、別の分布状態を持つデータ群に関しては逆に速度が低下する場合も考えられる。よって理想的にはデータの分布状態に応じて最も最適なアルゴリズムを適応的に選択しなけれな意味が無いことになる。
【００６７】
そこで、実施形態３は、データの分布状態に適したアルゴリズムを選択する方法を提供する。
【００６８】
複数の解析アルゴリズムを予め用意し、定型的なデータ群に対しては、処理に最適な生成アルゴリズムを対応づけるタグを割り当て、解析実行に入る段階で該タグを用いて適宜処理を切替えるよう構成する。
【００６９】
複数のアルゴリズムが並列処理可能なシステムにおいて、不定型的なデータ群に対しては、データの分布状態等を統計的に解析し、処理に最適な生成アルゴリズムを複数個候補として列挙させ、これを同時に起動させた後に、中間処理結果を調べることで、入力データ群に対応した最適なアルゴリズムを一意に決定し、不要になったプロセスを途中で抹消し該プロセスが確保した計算機資源を解放させるよう構成する。
【００７０】
図１６を用いて、定常的な実験又は測定により得られる特徴的なデータ列に対して、その入力データに応じたタグを割り振り、該タグによって適用するアルゴリズムの種類を選択する処理を説明する。
【００７１】
複数のデータが各々データセレクタに入力される。各々のデータは各々異なる状況で測定されたデータ群であって、例えば、データ１はカラーインクジェットプリンタで出力された色を測定したデータ群、データ２はカラーＬＢＰで出力された色を測定したデータ群で出力されたものとする。ここで、データ１にはアルゴリズムＡの処理が、データ２にはアルゴリズムＢの処理が各々最適であることが予め実験的に判明している場合を想定すると、これらデータ群に多面体生成処理に用いるアルゴリズムを指定するためのタグデータを付加する。
【００７２】
タグデータが付加されたデータ１又は２を入力すると、図６の３次元レンダリングシステムに含まれるタグ解析処理部３０（不図示）がデータに付加されたタグデータを解析し、該データに適したアルゴリズムを選択し、図６のデータ生成手段において実行される多面体生成処理において選択されたアルゴリズムを使用するように制御する。
【００７３】
データ１が入力された場合は、タグ解析処理部３０がタグＡを解析し、アルゴリズムＡを選択する。
【００７４】
データ２が入力された場合は、タグ解析処理部３０がタグＢを解析し、アルゴリズムＢを選択する。
【００７５】
上述した処理により、定型的に行われる測定や解析に対しては、タグデータにより最適なアルゴリズムの選択を用いて多面体生成処理を行うことができる。したがって、常に短時間で多面体生成処理を行うことができる。
【００７６】
次に、データの分布状態が不定な入力データに対して適切なアルゴリズムを選択する処理を図１７を用いて説明する。
【００７７】
まず与えられたデータ列に対してデータ解析を行い、その解析結果に応じて適用アルゴリズムの候補を列挙し、該列挙された候補の数の分だけプロセスをフォークし、該アルゴリズムを各々に並列計算機上で同時に処理を開始させる。処理が開始されてから暫く後に、処理の結果を調査し、該調査結果に基づいて最適なアリゴリズムを唯一選択決定し、処理の途中から利用可能な計算資源を選択決定されたアリゴリズムのみに割り当てることで処理時間の短縮を実現する。
【００７８】
カラープリンタ（機種不問）で出力された色を測定したデータ群であるデータ３を入力する。まず、データ解析処理部３１においてデータ３を解析し、データ生成手段１１が有する複数のアルゴリズムＡ，Ｂ，Ｃから幾つかの候補を決定する。
【００７９】
そして、例えば、データ３に対してアルゴリズムＢ，Ｃが候補として選択された場合は、データ生成手段１１において、２つのアルゴリズムＢ，Ｃに基づく処理を同時に起動（フォーク）するように制御する（候補決定＆フォーク３２）。
【００８０】
同時に起動された処理（Ｂ，Ｃ）は、所定タイミングにおいて処理したデータ数（又は処理進行度）を示す中間報告信号をプロセス監視処理部３３に通知する。プロセス監視処理部３３は中間報告信号に基づきデータ３に最適なアルゴリズムを選択し、制御信号によって選択されなかった処理を停止させる。
【００８１】
そして、選択された処理を継続させることにより、データ３に対する多面体生成処理を完結させる。
【００８２】
マルチタスクに動作する計算機上では、資源を有効に解放することで単一プロセスの処理速度を上げることが可能となるので結果的に最速で処理を終了させることが可能である。
【００８３】
なお、データ解析処理部３１（不図示）は図６の３次元レンダリングシステム１０に含まれている。また、その他の処理部はデータ生成手段の機能である。
【００８４】
図１８に、図１６及び図１７の処理機能を有する本実施形態の構成の１例を示す。図１８において、図１６、１７と同一の機能については同一の符号を付け説明を割愛する。
【００８５】
データセレクタ３５は、入力されたデータを解析し、データに多面体生成処理のアルゴリズムを指定するタグが付加されているか否かを判定する。そして、タグが付加されている場合は図１６に示す処理を行い、タグが付加されていない場合は図１７に示す処理を行うように制御する。
【００８６】
本実施形態によれば、空間上に点在する色データ等を包み込む多面体モデルを生成する際に、与えられた点列データがどのような分布状態であっても特にそれを気にすることなく、自動的に該分布状態に応じた最適なアルゴリズムが適宜選択実行され、常に高速な処理結果を得ることが可能となる。
【００８７】
（実施形態４）
モニター上のカラー画像をカラープリンタで出来る限り忠実に再現する技術はカラーマッチングと呼ばれており近年、広く利用されている技術の一つである。通常モニターの色再現領域は広く、プリンターのそれは狭い。つまり、モニター上の色、全てがプリンタで再現出来るわけではない。この問題を解決する為に色空間圧縮なる技術が用いられる。この色空間圧縮は様々な方法と圧縮率で複数存在する。これは利用されるケースに応じて適宜選択、または割当てられるものである。その際に問題となるのは適用される方法がどのように作用するのかが利用者にわかり辛いというものである。
【００８８】
本実施形態では、実施形態１〜３で説明した３Ｄレンダリング機能を用いて色空間圧縮の作用を視覚的にわかり易くした方法を説明する。
【００８９】
まず、本実施形態の概略を説明する。
【００９０】
まず始めに空間上の色再現領域を表現する三角ポリゴンデータ群を一意に算出するモデリング手段を用意し、該モデリング手段を用いて、選択モニターの色再現領域と、該選択モニターを色空間圧縮で圧縮した後の色再現領域を表現するモデルデータを生成し、各々のポリゴンデータに適切な透過属性を持たせ、これを３Ｄ表示する。利用者は３Ｄ表示された２つの色再現領域を参照しながら、印刷の際に気になる特定色をその中へ追加表示し、所望の特性を持つ色空間圧縮方法を自由に選択するよう構成する。
【００９１】
これにより従来よりわかりずらかった色空間圧縮のマッピングが三角形のポリゴンデータを用いることで高速に可視化できる為に利用者に、より迅速で最適なカラードキュメント印刷環境を提供することが可能となる。
【００９２】
以下、図面を参照しながら本実施形態について詳細に詳説する。
【００９３】
図１９は本実施形態を実装したカラープリンタードライバの内部処理の概略ブロック図である。ここでは、ドライバの内部処理の中でも特に設定処理、及び該各設定により変更される色変換処理の動作について詳細に説明を行う。ここでは便宜上以下のようなシステムと過程して解説を行う。ドライバーはホストコンピュータのＯＳに組み込まれている。該ホストに接続されるモニタはＡ，Ｂタイプの二種類があり、いずれもフルカラー表示が可能である。出力プリンタは該ホストコンピュータのプリンタインターフェイスに直接接続されるローカルプリンタであってやはりフルカラー画像の出力が可能である。利用者は該ホストコンピュータ用いてカラードキュメントを作成し、これをカラープリンタ装置を用いて出力する。作成されるカラードキュメントは、モニタに表示されながら編集等の操作が加えられる。出力されたカラードキュメントの色はモニタに表示されたものと一致するよう該ドライバ内部でカラーマッチング処理が行われる。
【００９４】
カラーマッチングのオプションとして、１：色相優先タイプと、２：彩度優先タイプの二種類を用意しておき、各ドキュメントに応じて適宜変更出来るように構成されている。これらは共に色空間圧縮方法を用いているが圧縮の方法が異なるタイプである。以下では便宜上カラーマッチングオプションと色空間圧縮方法は同義に扱う。また、ＣＩＥ−１９７６Ｌａｂ値を省略して単にＬａｂ値とする。さらには、ドライバーをＯＳに組み込んだ時点では、モニタはＡタイプ、カラーマッチングオプションは、１：色相優先タイプがデフォルトとして設定されるとして扱う。
【００９５】
画像データ１０１はプレビュー画像生成処理１１１によってプレビュー画像に変換された後、モニタ１２０上に表示される。利用者はこのプレビュー画像を参照しながら画像中の特定の色を選定し色指定入力手段１１３へ入力する。例えば、画像データは棒グラフを含むものであった場合に、棒グラフ中で特に気になる色（例えば紺青色等）を選定し、該選定色の値（ＲＧＢ値）をキーボード装置やマウス操作等で入力する。モニタタイプやカラーマッチングオプションは各々、モニタ指定手段１１４とカラーマッチングオプション指定手段１１５により指定されており、該設定はドライバーの設定画面で変更可能である。プロファイルセレクタ１１２は、モニタータイプとカラーマッチングオプションの組み合わせにより指定されるプロファイルデータ（Ａ１，Ａ２，Ｂ１，Ｂ２の４つの中からいずれか一つ）をプロファイル格納ファイル１３１の中より選択し、これを色変換処理１０２へ引き渡す。色変換処理１０２は、印刷が開始されると画像データ１０１を入力とし、前記設定により指定されるプロファイルを用いて適切な色変換処理を行い印刷用の出力データ１０３を出力する。
【００９６】
図２０は図１９におけるレンダリング処理部１１６の内部を示した概略ブロック図である。モデルデータ選択手段２２１は、モニタータイプとマッチングオプションの組み合わせにより指定されるモデルデータ（Ａ１，Ａ２，Ｂ１，Ｂ２の４つの中からいずれか一つ）をモデル格納ファイル２１１の中より選択しこれを合成処理２３１へ引き渡す。ここでは、色再現範囲を可視化するために、三角ポリゴン群で表面を構成する多面体を用いてこれを表現する。
【００９７】
モデルデータはモデリング手段により予め用意されておりモニターの色再現範囲と色空間圧縮後の色再現範囲と２つのデータが格納されている。いずれも複数の頂点と、これを組み合わせた三角ポリゴン群を記述したものである。以下に例を示す。
【００９８】
Ｆｉｌｅｎａｍｅ“Ｍｏｄｅｌ−Ａ１”
ＭｏｄｅｌＢｅｇｉｎ／／Ｍｏｉｎｔｏｒ
Ａ（ｎｏ  ｃｏｍｐｒｅｓｓ）
Ｖｅｒｔｅｘ  Ｐｘ１，Ｐｙ１，Ｐｚ１
Ｖｅｒｔｅｘ  Ｐｘ２，Ｐｙ２，Ｐｚ２
Ｖｅｒｔｅｘ  ＰｘＭ１，ＰｙＭ１，ＰｚＭ１
Ｐｏｌｙｌｉｎｅ  ３ｔｉ１  ｔｊ１  ｔｋ１
Ｐｏｌｙｌｉｎｅ  ３ｔｉ２  ｔｊ２  ｔｋ２
…
Ｐｏｌｙｌｉｎｅ  ３ｔｉＮ１  ｔｊＮ１
ｔｋＮ１
ＭｏｄｅｌＥｎｄ
ＭｏｄｅｌＢｅｇｉｎ／／Ｍｏｉｎｔｏｒ
Ａ（ｃｏｍｐｒｅｓｓｅｄ）
Ｖｅｒｔｅｘ  ｐｘ１，ｐｙ１，ｐｚ１
Ｖｅｒｔｅｘ  ｐｘ２，ｐｙ２，ｐｚ２
…
Ｖｅｒｔｅｘ  ｐｘＭ２，ｐｙＭ２，ＰｚＭ２
Ｐｏｌｙｇｏｎ  ３ｔｉ１  ｔｊ１  ｔｋ１
Ｐｏｌｙｇｏｎ  ３ｔｉ２  ｔｊ２  ｔｋ２
…
Ｐｏｌｙｇｏｎ  ３ｔｉＮ２  ｔｊＮ２  ｔｋＮ２
ＭｏｄｅｌＥｎｄ
【００９９】
また、色指定入力手段１１３へ入力された指定色（ＲＧＢ値）に基づいて座標位置算出手段２２３では現在選択されているモニタ上での色座標値Ａ（Ａｘ，Ａｙ，Ａｚ）と、それを現在選択されているカラーマッチングオプションで色変換処理をした後での色座標値Ａ’（Ａｘ’，Ａｙ’，Ａｚ’）を求めた後、以下のような処理によりレンダリング処理に応じたフォーマットへ変換する。
【０１００】
Ｆｉｌｅｎａｍｅ“Ｍｏｄｅｌ−Ｐｏｉｎｔ”
ＭｏｄｅｌＢｅｇｉｎ／／２ｐｏｉｎｔｓ
ＰｏｉｎｔＳｅｔ  ｓｐｈｅｒｅ  ｒａｄｉｏｕｓ（ｏ．５）
Ｖｅｒｔｅｘ  Ａｘ  Ａｙ  Ａｚ
Ｖｅｒｔｅｘ  Ａｘ’Ａｙ’Ａｚ’
Ｐｏｉｎｔ  １  Ｃｏｌｏｒ  Ａ
Ｐｏｉｎｔ  ２  Ｃｏｌｏｒ  Ａ’
ＭｏｄｅｌＥｎｄ
【０１０１】
本実施形態ではレンダリングの空間としてｘｙｚ軸で構成される（３次元ユークリッド）空間を想定している。ここでは、該空間にＬａｂ空間を当てはめるので各々の座標値はＬａｂ値と等価となる。また、便宜上Ｌ軸はｘ軸、ａ軸はｙ軸、ｂ軸はｚ軸として扱う。合成処理２３１では選択されたモデルのデータ（上記Ｍｏｄｅｌ−Ａ１）と座標位置算出手段２２３での出力ファイル（上記Ｍｏｄｅｌ−Ｐｏｉｎｔ）を合成し一つのファイルとして３次元レンダラー処理２３２へ引き渡す。該レンダラー処理では指定された３次元上のオブジェクトから二次元の画像を生成しディスプレィ装置へ表示するよう構成されている。
【０１０２】
図２１は、モデルデータを作成するモデリング手段の処理の概略を示したフローチャートである。
【０１０３】
まず始めにステップ３０１では測定された１２５点のサンプルデータを入力する。ここではモニタのＲＧＢ空間を均等に分割するサンプルとして１２５点を想定している。ＲＧＢ各々の軸に対して０→２５５までを５ステップに分割すると、５×５×５点のサンプルデータが得られる。これを合計すれば１２５点となる。このＲＧＢデータの組み合わせ１２５点に対して各々Ｌａｂ値を求めてステップ３０１で入力を行う。この時に先頭から順にＩＤ番号、ＲＧＢ値、Ｌａｂ値という組合せで入力が行われる。ステップ３０２では、この時の基本８色（ＲＧＢＣＭＹＷＫ、図１１の１２面体を構成する８頂点に相当する。）のＩＤ番号を入力し、ステップ３１０では、該ＩＤ番号と入力された１２５点データより１２面体を生成する。ステップ３１２では生成された多面体と１２５点を同時に表示する。ステップ３１３では表示された多面体が色再現領域を十分近似していない場合はステップ３１４において頂点を新規に追加しステップ３１５で多面体を再構成し、ステップ３１２へ戻り再度表示を行う。これを繰り返すことで十分よく近似が行えるまで多面体モデルを生成していくことが可能となる。図２２は隣接する２つの三角ポリゴンに１点づつ頂点を追加し、面数を増やしていく例を示した概念図である。このようにして３Ｄ表示されている多面体の表面かその内部にサンプル点が隠れるように、または三角形の表面が各サンプルから遠過ぎた場合は凹面を適当に構成してより良い近似を得るように三角ポリゴンを構成していく。ここで、より精度の高い近似を行う場合はより多くのサンプルを用いて、全ての点を慎重に選択していけば良い。
【０１０４】
なお、モデリング手段とし実施形態１〜３で説明したデータ生成手段１１及びデータ変更手段１２を用いても構わない。実施形態１〜３で説明した方法を用いると空間内に散在する点列に対して幾何学的な計算を施し自動的にかつ高速に多面体を生成することができる。
【０１０５】
図２３は実際の３Ｄ表示の様子を示したサンプル例である。ここで多面体５１０はモニタ上の色再現領域を示しており、三角ポリゴンは辺のみで描画されている。一方多面体５２０は色空間圧縮後の色再現領域を示しており、三角ポリゴンは辺と面で描画されている。本実施形態の３Ｄ表示では隠面処理を行う為、常に手前にあるポリゴンしか描画されず、よって多面体５２０の内部は不可視となる。点５３１は指定色の色空間圧縮前の位置、点５３２は色空間圧縮後の位置を示している。
【０１０６】
ユーザは出力するドキュメントに応じた最適なマッチングオプションを切替えながら複数の指定色を各々マッピング状態を確認しながら最終的に各々の印刷に最適なマッチングオプションを選択することが可能となる。
【０１０７】
なお、図２３では指定色を１色しか表示していないが、ユーザの指示に基づき複数色を同時に表示することも可能である。ただし同時に複数色を表示させた場合は視点を各色の位置関係により、隠面処理によって表示されない色が生じる可能性がある。
【０１０８】
（実施形態４の変形例１）
次に図２４を参照しながら実施形態４の変形例１について解説する。図２４は図１９のレンダリング処理部１１６に相当する処理を説明した概略ブロック図である。色再現領域を表現するモデルデータを予め用意するのではなくて、処理系の中にモデルデータ生成機能を持つことで随時、選択されたモニタやマッチングオプションに応じたモデルデータを生成するという点である。ここでは空間上の色再現領域を凸面体生成アリゴリズムによって算出するモデリング手段を用意する。凸面体生成アリゴリズムは既に多くの手法が提案されているのでここでは特に解説しない。
【０１０９】
モデルデータ生成は、まず選択されたモニターの色再現領域に対して行う。モニタデータ１６０１には現在選択されているモニタの色特性情報が格納されていて、これを用いてモデリング手段１６１１は１２５点のサンプルを生成し、各点のＬａｂ値を求める。これら空間上の点列群を覆い包む表面ポリゴン（三角形）を凸多面体生成アルゴリズムによって自動生成する。生成されたモデルデータには処理１６１２において透過属性がそれぞれ付けられる。以下にその例を示す。ここでは、ＴｒａｎｓｐａｒｅｎｔＢｅｇｉｎ（）文とＴｒａｎｓｐａｒｅｎｔＥｎｄ文で囲まれたＰｏｌｙｇｏｎの面が透過属性を持ちその透過率ＴｒａｎｓｐａｒｅｎｔＢｅｇｉｎ（）文のパラメータで指定する。ここで１００％の透過率を設定すると外郭を表現しているポリゴンそのものが見えなくなるので、本実施例では８０％（指定値は１００分の１で０．８となる）の透過率を設定する。
【０１１０】
Ｆｉｌｅｎａｍｅ“Ｍｏｄｅｌ−Ａ１”
ＭｏｄｅｌＢｅｇｉｎ／／Ｍｏｉｎｔｏｒ
Ａ（ｎｏ  ｃｏｍｐｒｅｓｓ）
Ｖｅｒｔｅｘ  Ｐｘ１，Ｐｙ１，Ｐｚ１
Ｖｅｒｔｅｘ  Ｐｘ２，Ｐｙ２，Ｐｚ２
…
ＴｒａｎｓｐａｒｅｎｔＢｅｇｉｎ（０．８）
Ｖｅｒｔｅｘ  ＰｘＭ１，ＰｙＭ１，ＰｚＭ１
Ｐｏｌｙｇｏｎ  ３  ｔｉ１  ｔｊ１  ｔｋ１
Ｐｏｌｙｇｏｎ  ３  ｔｉ２  ｔｊ２  ｔｋ２
…
Ｐｏｌｙｇｏｎ  ３  ｔｉＮ１  ｔｊＮ１
ｔｋＮ１
ＴｒａｎｓｐａｒｅｎｔＥｎｄ
ＭｏｄｅｌＥｎｄ
ＭｏｄｅｌＢｅｇｉｎ／／Ｍｏｉｎｔｏｒ
Ａ（ｃｏｍｐｒｅｓｓｅｄ）
Ｖｅｒｔｅｘ  ｐｘ１，ｐｙ１，ｐｚ１
Ｖｅｒｔｅｘ  ｐｘ２，ｐｙ２，ｐｚ２
…
Ｖｅｒｔｅｘ  ｐｘＭ２，ｐｙＭ２，ＰｚＭ２
Ｐｏｌｙｇｏｎ  ３  ｔｉ１  ｔｊ１  ｔｋ１
Ｐｏｌｙｇｏｎ  ３  ｔｉ２  ｔｊ２  ｔｋ２
…
Ｐｏｌｙｇｏｎ  ３  ｔｉＮ２  ｔｊＮ２
ｔｋＮ２
ＭｏｄｅｌＥｎｄ
【０１１１】
次にモデルデータ生成は、色空間圧縮後の色再現領域に対して行う。モニタデータ１６１１と、現在選択されている色空間圧縮方法を示すカラーマッチングオプションハンドル１６３０を色空間圧縮計算手段１６１３へ引き渡し、色空間圧縮後の１２５点のサンプルを生成し、各点のＬａｂ値を求める。モデリング手段１６１４ではこれら空間上の点列群を覆い包む表面ポリゴンを凸多面体生成アルゴリズムによって自動生成する。ここでは透過属性は付加されない。
【０１１２】
座標位置算出手段１６１５では、モニターデータ１６１１、カラーマッチングオプションハンドル１６３０、色指定手段１６１６で指定された特色の色のＲＧＢ値、各々が入力され現在選択されているモニタにおける指定色の座標位置が求められる。ここで座標位置は色空間圧縮前と後の二点が求められ合成処理１６２０へ引き渡される。
【０１１３】
合成処理１６２０では、色空間圧縮前のモニタ色再現領域のポリゴンデータと、色空間圧縮後のモニタ色再現領域のポリゴンデータと、指定色の座標位置２点（色空間圧縮前と後）のポイントデータを合成し、該データを三次元レンダラー処理１６２１へ引き渡す。このレンダラー処理では指定された３次元上のオブジェクトから二次元の画像を生成しディスプレィ装置へ表示を行う。ユーザは表示の様子を見ながら、出力するドキュメントに応じた最適なマッチングオプションへ変更することが可能である。
【０１１４】
（実施形態４の変形例２）
図２５を参照しながら実施形態４の変形例２について解説する。図２５は図１９のレンダリング処理部１１６に相当する処理を説明した概略ブロック図である。本変形例では、色再現領域を表現するモデルデータを予め用意するのではなくて、処理系の中にモデルデータ生成機能を持つことで随時、選択されたモニタやマッチングオプションに応じたモデルデータを生成する。ただ、一つ大きく相違する点として色空間圧縮後の色再現領域を表現するポリゴンに第二の透過属性を持たせることである。
【０１１５】
モデルデータ生成は、まず選択されたモニターの色再現領域に対して行う。モニタデータ７０１には現在選択されているモニタの色特性情報が格納されていて、これを用いてモデリング手段７１１は１２５点のサンプルを生成し、各点のＬａｂ値を求める。これら空間上の点列群を覆い包む表面ポリゴン（三角形）を凸多面体生成アルゴリズムによって自動生成する。生成されたモデルデータには処理７１２において第一の透過属性がそれぞれ付けられる。ここで１００％の透過率を設定すると外郭を表現しているポリゴンそのものが見えなくなるので、本実施例では第一の透過属性として８０％（指定値は１００分の１で０．８となる）の透過率を設定する。
【０１１６】
次にモデルデータ生成は、色空間圧縮後の色再現領域に対して行う。モニタデータ７１１と、現在選択されている色空間圧縮方法を示すマッチングオプションハンドル７３０を色空間圧縮計算手段７１３へ入力し、色空間圧縮後の１２５点のサンプルを生成し、各点のＬａｂ値を求める。モデリング手段７１４ではこれら空間上の点列群を覆い包む表面ポリゴンを凸多面体生成アルゴリズムによって自動生成する。生成されたモデルデータには処理７１７において第一の透過属性がそれぞれ付けられる。ここでは第二の透過属性として２０％（指定値は１００分の１で０．２となる）の透過率を設定する。上述した外郭を構成するポリゴン群と合わせて以下のようなデータが構成される。
【０１１７】
Ｆｉｌｅｎａｍｅ“Ｍｏｄｅｌ−Ａ１”
ＭｏｄｅｌＢｅｇｉｎ／／Ｍｏｉｎｔｏｒ
Ａ（ｎｏ  ｃｏｍｐｒｅｓｓ）
Ｖｅｒｔｅｘ  Ｐｘ１，Ｐｙ１，Ｐｚ１
Ｖｅｒｔｅｘ  Ｐｘ２，Ｐｙ２，Ｐｚ２
…
ＴｒａｎｓｐａｒｅｎｔＢｅｇｉｎ（０．８）
Ｖｅｒｔｅｘ  ＰｘＭ１，ＰｙＭ１，ＰｚＭ１
Ｐｏｌｙｇｏｎ  ３  ｔｉ１  ｔｊ１  ｔｋ１
Ｐｏｌｙｇｏｎ  ３  ｔｉ２  ｔｊ２  ｔｋ２
…
Ｐｏｌｙｇｏｎ  ３  ｔｉＮ１  ｔｊＮ１
ｔｋＮ１
ＴｒａｎｓｐａｒｅｎｔＥｎｄ
ＭｏｄｅｌＥｎｄ
ＭｏｄｅｌＢｅｇｉｎ／／Ｍｏｉｎｔｏｒ
Ａ（ｃｏｍｐｒｅｓｓｅｄ）
Ｖｅｒｔｅｘ  ｐｘ１，ｐｙ１，ｐｚ１
Ｖｅｒｔｅｘ  ｐｘ２，ｐｙ２，ｐｚ２
…
Ｖｅｒｔｅｘ  ｐｘＭ２，ｐｙＭ２，ＰｚＭ２
ＴｒａｎｓｐａｒｅｎｔＢｅｇｉｎ（０．２）
Ｐｏｌｙｇｏｎ  ３  ｔｉ１  ｔｊ１  ｔｋ１
Ｐｏｌｙｇｏｎ  ３  ｔｉ２  ｔｊ２  ｔｋ２
…
Ｐｏｌｙｇｏｎ  ３  ｔｉＮ２  ｔｊＮ２
ｔｋＮ２
ＴｒａｎｓｐａｒｅｎｔＥｎｄ
ＭｏｄｅｌＥｎｄ
【０１１８】
座標位置算出手段７１５では、モニターデータ７１１、マッチングオプションハンドル７３０、色指定手段７１６で指定された特定の色のＲＧＢ値、各々が入力され現在選択されているモニタにおける指定色の座標位置が求められる。ここで座標位置は色空間圧縮前と後の二点が求められる。本実施形態では更に点Ａ（色空間圧縮前の座標）から点Ａ′（同圧縮後の座標）へ向けて矢印線で結線されてより視覚的に位置が把握がし易いよう構成する。
【０１１９】
Ｆｉｌｅｎａｍｅ“Ｍｏｄｅｌ−Ｐｏｉｎｔ”
ＭｏｄｅｌＢｅｇｉｎ／／２ｐｏｉｎｔｓ
ＰｏｉｎｔＳｅｔ  ｓｐｈｅｒｅ  ｒａｄｉｏｕｓ（０．５）
Ｖｅｒｔｅｘ  Ａｘ  Ａｙ  Ａｚ
Ｖｅｒｔｅｘ  Ａｘ’Ａｙ’Ａｚ’
Ｐｏｉｎｔ  １  Ｃｏｌｏｒ  Ａ
Ｐｏｉｎｔ  ２  Ｃｏｌｏｒ  Ａ’
Ｌｉｎｅ  １  ２  Ａｒｒｏｗ
ＭｏｄｅｌＥｎｄ
【０１２０】
合成処理７２０では、色空間圧縮前のモニタ色再現領域のポリゴンデータと、色空間圧縮後のモニタ色再現領域のポリゴンデータと、指定色の座標位置２点（色空間圧縮前と後）のポイントデータを合成し、該データを三次元レンダラー処理７２１へ引き渡す。このレンダラー処理では指定された３次元上のオブジェクトから二次元の画像を生成しディスプレィ装置へ表示を行う。
【０１２１】
図２６は本変形例の３Ｄ表示の様子を示した例である。ここで多面体８１０はモニタ上の色再現領域を示しており、これを表現している三角ポリゴン群は辺と透過率８０％の面で描画されている。一方多面体８２０は色空間圧縮後の色再現領域を示しており、これを表現している三角ポリゴン群は辺と透過率２０％の面で描画されている。本実施形態の３Ｄ表示では透過属性が設定されていないものと透過属性が設定されててもその透過率が０％のポリゴンに対しては隠面処理を行うが、それ以外のものでは透過属性を考慮してポリゴンの重なりも表示するよう構成している。よって図で示されるように仮に点８３２が色再現領域８２０の中に入り込んでいても透過属性が設定されている為に、点８３２は手前のポリゴン越しに見えることになる。また、点８３１は指定色の色空間圧縮前の位置、点８３２は色空間圧縮後の位置であって、これを矢印線で結線することで視覚的な認識が正しく行えるように工夫している。ユーザはこれらの表示の様子を見ながら、出力するドキュメントに応じた最適なマッチングオプションを自由に選択することが可能である。
【０１２２】
以上述べた実施形態以外にも以下のような実施形態が考えられる。
１．モニタデータ６０１はカラーマネージメントシステムにおいて、各カラーデバイスに割り当てられたプロファイルから得た情報でも良い。
２．モデリング手段６１１とモデリング手段６１４は説明の都合上、別手段としてブロック図としたが、実装上同じブロックとしても良い。
３．色空間圧縮はモニタの色再現領域を圧縮したものであったが、これに限定されるものではない。ソース側とディステネーション側はあらゆるカラーデバイスがその対象となる。更には本実施例１〜３においては体積的な縮小が色空間圧縮であるように扱ったが、その限りではない。逆に色空間慎重でも色空間移動でも同様に処理が可能である。
４．色再現領域を多面体の表面で表現する際の基本面構成として三角ポリゴンを用いているが、四角形ポリゴンと三角ポリゴンの組み合わせや、五角形ポリゴンと三角ポリゴンの組み合わせを用いても良い。また、微小な三角ポリゴンで自由曲面を近似したものでも構わない。
５．色再現領域を多面体の表面で表現する際の基本面構成として三角ポリゴンを用いて、その３つの頂点の座標に、その座標位置における色を算出して、各頂点に該当色を、頂点と頂点を結ぶ辺や面には、各頂点の該当色を基に補間により求めた色を割り当てるよう構成する。
６．プリンタの接続はローカルであってもそれ以外であっても良い。また、システムに組み込んだプリンタドライバ以外での処理でも同様に実現可能である。例えばユーティリティソフト、アプリケーションソフトや、またはアプリケーションソフトに接続するプラグイン形式、または、ヘルパーアプリケーションであっても良い。もちろん、カラーマネージメントシステムにおけるカラープロファイルを作成すプロファイルメイカーでこれを実現しても良い。
７．モデルデータは予め用意しても、随時必要な時に作成しても、またはある時点において作成したデータをキャッシングしたものであっても良い。更には、プロファイルデータ内部にそのデータを格納しても、一時的な作業領域（メモリ又はファイル）に格納しても良い。
８．三次元の表示に際しては、マウス等の入力デバイスを用いて、リアルタイムに移動、回転、縮尺等が可能であって、自由な位置から三次元データを観察することが可能であるよう構成を提供しても良い。
９．透過属性を指定する代わりに、ある入力を基に隠面処理を切替える等の工夫をすることでポリゴンで覆われた表面の内部の点を観察出来るよう構成しても良い。
【０１２３】
以上述べた他にも様々な実施形態が考えられるが実質的には色再現領域を表現する際に、表面に三角形ポリゴンを用いた多面体を用いるものであれば、これに付随するその他の技術の手法により本願発明が限定されるものではない。
【０１２４】
実施形態４及びその変形例によれば、従来よりわかりずらかった色空間圧縮処理によるマッピングの状態を、三次元表示システムを用いて効率的に可視化することが可能となった。色空間圧縮前と色空間圧縮後における色再現領域の変化を重ね表示で同時にこれを比較することが可能となり、また、三角ポリゴンを用いることでデータ量が減少し、処理の高速化が計れた結果、従来より困難であったデータのリアルタイムな回転、縮尺が行なえる等、より自由な位置からインタラクティブに三次元データを観察することが可能となった。また、特定色を指定して該当色が、実際にどのようにマッピングされるか等を観察することで、実際のカラー印刷過程における課題を直接的に解析することが可能である。その結果、様々な色空間圧縮方法の中から所望の特性を持った種類を迅速に設定または選択することが可能となる。
【０１２５】
（実施形態５）
３Ｄレンダリング機能を用いて、空間上のオブジェクトを観察する際に、利用者が回転や拡大縮小等の操作を頻繁に繰り返して行なった場合には、そのオブフェクトの本来の上下関係等がわからなくなる場合がある。従来より座標軸等を同時に描画したり別の表示窓に方角等を表示する等の工夫もみられたが、直観性に欠けている。特に３Ｄレンダリングシステムを対話的に用いる場合は、システム自身が利用者の操作に対して即座に応答する程度の高速表示が要求されると同時に、利用者が表示されているデータを的確、且つ直観的にその状態が認識できるよう構成されてなければならない。
【０１２６】
そこで、本実施形態では、Ｌａｂ色空間のａｂ平面に平行な正方形を用意し、該正方形の中心点を原点に重ね合わせ、同時に表示することにより、利用者が表示されているデータの状態を直観的に認識できるようにした。この表示が必要ない時は利用者の操作によって随時消去可能とする。
【０１２７】
図２７はａｂ平面に平行な正方形の大きさを、入力されるデータのａ値の最大値、最小値及びｂ値の最大値、最小値を参照し決定する処理を説明した概略フローチャートである。初期化処理Ｓ８１１では変数Ｍａｘをゼロに設定する等の処理を行なう。データ入力処理Ｓ８１２では、色再現領を示すＬ値、ａ値、ｂ値、の一組を読み込む。大小判定Ｓ８１３では、前記データ入力処理Ｓ１２で読み込んだａ値の絶対値と変数Ｍａｘを比較し、ａ値の絶対値の方が大きければ代入処理Ｓ８１４にてａ値の絶対値を変数Ｍａｘに代入する。大小判定Ｓ８１５では、前記データ入力処理Ｓ１２で読み込んだｂ値の絶対値と変数Ｍａｘを比較し、ｂ値の絶対値の方が大きければ代入処理Ｓ８１６にてｂ値の絶対値を変数Ｍａｘに代入する。終了判定Ｓ８１７では読み込みが終了しているかを判定し、終了していない場合にはデータ入力処理Ｓ８１２へ戻る。辺長設定処理Ｓ８１８では、変数Ｍａｘに０．５を乗じた値を設定する。座標設定処理Ｓ８１９では、この設定された値をもとに正方形の座標データを生成する。該正方形はａｂ平面に平行であって、その重心点は原点と一致するように設定される。
【０１２８】
図２８は、色再現領域を示すデータ群により生成された多面体Ｐ１に、該データ群に基づき図２７の処理により生成された正方形Ｐ２を、３Ｄレンダリングシステムを用いて合成し、表示した画像を示す。
【０１２９】
図２８では、多面体の表面の様子を観察することができるが、その内部を観察することができない。そこで、図２９のＰ３に示されるように、多面体を構成する三角形を面で表現するのではなく、辺のみで再現することによりその内部を観察できるようにする。
【０１３０】
Ｐ３のように表示するには、実施形態４で説明した透過率を制御することにより簡単に実現することができる。
【０１３１】
すなわち、利用者が図２８（Ｐ１）又は図２９（Ｐ３）のいずれのモードを設定するかに応じて色再現領域に関する透過率を制御することにより、本実施形態を実現することができる。
【０１３２】
利用者はこの２つの画像を適宜切替えて観察することで詳細にデータの解析を行なうことができる。
【０１３３】
また、ある輝度値における色再現領域の状態を詳細に観察することも色再現領域を把握する際に重要である。
【０１３４】
そこで、図３０のようなユーザーインターフェースを提供する。
【０１３５】
入力されたＬａｂ値の点列データ群に対して、多面体生成処理を施し多面体Ｐ４を得、これを３Ｄレンダリングシステムを用いて、表示窓Ｒ１に表示する。表示窓Ｒ１の左端には、スライド領域Ｒ２内で自由に移動するスライドバーＲ３ある。これを任意の位置へ移動するに伴ってａｂ平面に平行な正方形Ｐ５が移動する。該正方形は多面体Ｐ４と重なっている場合には、必要に応じてその重なり部分が別の表示窓に適宜表示される。表示窓Ｒ４３は図６で表示されているＲ５の位置における、その重なり部分を断面Ｐ６として表示している。表示窓Ｒ４１、表示窓Ｒ４２は、それ以前のＰ５の位置における重なりを示した表示窓であって、必要に応じて生成、保持、廃棄可能である。
【０１３６】
なお、Ｐ６では、多面体の頂点だけでなく、該頂点データを抽出したデータ群（例えば、図２１のステップ３０１で入力される１２５点のサンプルデータ）に含まれる頂点以外のデータも表示している。これにより、多面体の精度の度合い及びサンプルデータを出力したデバイスの色再現性を確認することができる。
【０１３７】
図２８、図２９、図３０を用いて説明した３Ｄレンダリングシステムを用いた色再現領域を表示する方法以外にも以下のような形態が考えられる。
１．拡大縮小を施した複数の画像を扱う場合に、その縮尺による違い等が容易に認識が出来るよう、規定の長さの正方形に置き換えて表示することが出来るよう構成する。
２．回転による操作で変化する上下関係がより容易に認識出来るよう、正方形の表と裏で異なる配色を適用する。
３．内部の点列の様子を示す為に、三角ポリゴンの面に透過属性を持たせる。これによって色再現領域を常に認識しながら且つ内部の点の様子も観察することが可能となる。
４．ある特定色のグラデーションを定義して、そのグラデーションの変化を線分による表現することで、色の変化、及び、色再現領域との位置関係等が観察出来るよう構成する。
５．回転や拡大縮小等によってオブジェクトが所望の位置に表示されていない時には、予め登録済みのアイコンを選択することで、現在の表示状態を廃棄し、即座に登録された表示状態に切り替わる（回転、拡大縮小）よう構成する。
【０１３８】
以上述べた他にも様々な実施形態が考えられるが実質的には、色の解析を行なう目的で三次元の表示システムにおいて多面体モデルを表示し、これを回転、拡大縮小等の操作を行なう際、利用者がより扱い易いよう工夫したものは全て本発明と同質である。
【０１３９】
従来より三次元空間上のオブフェクトを観察する際に、利用者が回転や拡大縮小等の操作を頻繁に繰り返して行なった場合には、そのオブフェクトの上下関係等がわからなくなる場合がある。本実施形態によれば正方形を台座として原点付近に配置しこれを同時に表示することで、利用者は表示されているデータの上下関係等を的確に、且つ直観的に認識することが出来る。また、該正方形大きさを入力されるデータの分布に応じて変化させることで、観察データの対比、比較等が容易になる。更には、点列を取り囲む多面体を構成し、これをａｂ平面に平行な正方形を用いて切断し、その切断面を別表示窓において表示するよう構成する。該正方形はＬ軸上を自由に移動出来るよう構成し、該切断面はこれに応じて適宜変更されるようにする。これによって多面体の立体的な把握が容易になる。
【０１４０】
なお、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明はシステム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システム或いは装置に読み出すことによって、そのシステム或いは装置が、本発明の効果を享受することが可能となる。
【図面の簡単な説明】
【０１４１】
【図１】本発明の第１の実施の形態である多面体を構成するポリゴンデータの生成時におけるデータ変更処理を示すフローチャートである。
【図２】多面体を構成するポリゴンデータの生成処理を示すフローチャートである。
【図３】三角ポリゴンの登録する頂点の順序と法線ベクトルとの関係において、法線ベクトルの向きが一致する場合の例を示す説明図である。
【図４】座標空間に点在する点列を示す説明図である。
【図５】座標空間に点在する点列を取り囲む多面体の構成を示す説明図である。
【図６】３次元レンダリングシステムの構成例を示すブロック図である。
【図７】第１の実施の形態の変形例１のフローチャートである。
【図８】第１の実施の形態の変形例２のフローチャートである。
【図９】三角ポリゴンの登録する頂点の順序と法線ベクトルとの関係において、法線ベクトルの向きが互いに異なる１例を示す説明図である。
【図１０】多角形の内部点列を除外する様子を示した概説図。
【図１１】三次元空間内でＸＹＺ各軸上の最大、最小点の六点を選択し該六点から構成される多面体を示した概観図。
【図１２】実施形態２の処理を示した概略フローチャート。
【図１３】実施形態２の変形例において、三角平面上の点列を選択する様子を示した概念図。
【図１４】実施形態２の変形例において、四面体の構成と内部点列を選択する様子を示した概念図。
【図１５】実施形態２の変形例の処理を示した概略フローチャート。
【図１６】データに付加されているタグに基づき多面体生成処理アルゴリズムを選択する処理を説明する図。
【図１７】データを解析して、適したアルゴリズムを選択する処理を説明する図。
【図１８】実施形態３の構成を説明する図。
【図１９】実施形態４における全体処理を説明した概略ブロック図。
【図２０】レンダリング処理１１６の内部処理を説明した概説ブロック図。
【図２１】モデリデータを生成するモデリング過程を説明した概略フロー図。
【図２２】隣接する三角形ポリゴンが新たな頂点により分割される様子を示した概説図。
【図２３】三次元表示の例を示したサンプル図。
【図２４】実施形態４の変形例におけるレンダリング処理の内部処理を説明した概説ブロック図。
【図２５】実施形態４の変形例２におけるレンダリング処理の内部処理を説明した概説ブロック図。
【図２６】三次元表示の例を示したサンプル図。
【図２７】入力されたデータ点列の分布に応じて正方形の長さを変更する処理を概説した概略フローチャート。
【図２８】Ｌａｂ空間に点在する色データの色再現領域を多面体で表現し、これに正方形の平面オブジェクトを原点位置に配置し、共に３Ｄのレンダリングシステムで表示した様子を示した例。
【図２９】Ｌａｂ空間に点在する色データの色再現領域を多面体で表現し、これを構成する三角ポリゴンを面で描画した場合と、線分のみで描画した場合とを比較した例。
【図３０】空間内に存在する多面体に対して、これを任意の位置で切断した場合の切断面を別の表示窓で表示した表示例。
【図１】
2005293615.tif 000003
【図２】
2005293615.tif 000004
【図３】
2005293615.tif 000005
【図４】
2005293615.tif 000006
【図５】
2005293615.tif 000007
【図６】
2005293615.tif 000008
【図７】
2005293615.tif 000009
【図８】
2005293615.tif 000010
【図９】
2005293615.tif 000011
【図１０】
2005293615.tif 000012
【図１１】
2005293615.tif 000013
【図１２】
2005293615.tif 000014
【図１３】
2005293615.tif 000015
【図１４】
2005293615.tif 000016
【図１５】
2005293615.tif 000017
【図１６】
2005293615.tif 000018
【図１７】
2005293615.tif 000019
【図１８】
2005293615.tif 000020
【図１９】
2005293615.tif 000021
【図２０】
2005293615.tif 000022
【図２１】
2005293615.tif 000023
【図２２】
2005293615.tif 000024
【図２３】
2005293615.tif 000025
【図２４】
2005293615.tif 000026
【図２５】
2005293615.tif 000027
【図２６】
2005293615.tif 000028
【図２７】
2005293615.tif 000029
【図２８】
2005293615.tif 000030
【図２９】
2005293615.tif 000031
【図３０】
2005293615.tif 000032