(57)【要約】【課題】色域外の入力色を、色差が最小になる色域内の色へ変換する色差重視の色変換技術があるが、入力色が視覚限界領域内か外かを判定しない。【解決手段】画像入出力機器間で画像データを処理する場合に、画像データを入力し（Ｓ２０１）、入力された画像データが所定の色域の外部に存在するか否かを判定し（Ｓ２０４）、色域の外部に存在すると判定された画像データを色域の外縁部または内部へ変換する（Ｓ２０６）。【選択図】　　図２
2004096447.tif 000002
【特許請求の範囲】
【請求項１】
画像入出力機器と接続される画像処理装置であって、
画像データを入力する入力手段と、
入力された画像データが所定の色域の外部に存在するか否かを判定する判定手段と、
前記色域の外部に存在すると判定された画像データを前記色域の外縁部または内部へ変換する変換手段とを有することを特徴とする画像処理装置。
【請求項２】
さらに、前記色域として人間の視覚限界領域を記憶するメモリを有することを特徴とする請求項１に記載された画像処理装置。
【請求項３】
さらに、前記色域として、予め定められた複数色を頂点とする色域を記憶するメモリを有することを特徴とする請求項１に記載された画像処理装置。
【請求項４】
さらに、前記変換手段による変換手法を設定するための設定手段を有することを特徴とする請求項１から請求項３の何れかに記載された画像処理装置。
【請求項５】
前記設定手段により、変換手法として色差最小、明度保存、色相保存または彩度保存を選択することを特徴とする請求項４に記載された画像処理装置。
【請求項６】
前記設定手段により、前記変換手法に加えて、変換条件として彩度優先、色差優先、階調優先または明度優先を選択することを特徴とする請求項４に記載された画像処理装置。
【請求項７】
画像入出力機器間で画像データを処理する画像処理方法であって、
画像データを入力し、
入力された画像データが所定の色域の外部に存在するか否かを判定し、
前記色域の外部に存在すると判定された画像データを前記色域の外縁部または内部へ変換することを特徴とする画像処理方法。
【請求項８】
画像処理装置を制御して、請求項７に記載された画像処理を実行することを特徴とするプログラム。
【請求項９】
請求項８に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、画像入出力機器間で画像データを処理する画像処理に関する。
【０００２】
【従来の技術】
パーソナルコンピュータの普及に伴い、ディジタルカメラやカラースキャナなどの画像入力機器によって画像を入力し、その画像をＣＲＴやＬＣＤなどの画像表示装置で表示、確認し、さらに、用途に応じて画像に編集、加工、修正などを施して、カラープリンタなどの画像出力機器によって画像出力することが容易になった。また、ディジタルカメラで撮影した画像を、カラーモニタに表示することなしに、直接、カラープリンタで画像出力する場合も増加している。勿論、コンピュータ上で作成したＣＧ画像をカラープリンタで出力する、画像入力装置を必要としない場合もある。
【０００３】
ディジタルカメラ、カラースキャナ、カラーモニタ、カラープリンタなど画像入出力機器の色再現特性や色再現範囲は異なっている。そこで、画像入出力機器間の色再現をマッチングさせるため、機器間で色信号を交換する色空間として標準的な色空間を使用し、画像を入出力する目的や用途に応じて階調性重視（色味重視）、鮮やかさ重視、色差重視などの色処理を行う。
【０００４】
【発明が解決しようとする課題】
機器間で色信号を交換するための標準的な色空間として、モニタ色空間であるｓＲＧＢがあるが、ｓＲＧＢ色空間の色域はインクジェットプリンタの色域などに比べ狭い。さらに広い色域をもつ標準的な色空間としてはｓＹＣＣ、ｂｇ−ｓＲＧＢ、ｓｃＲＧＢなどがある。しかし、これらの色空間は、人間の視覚領域（視覚限界領域）を超える広い色域をもつ色空間であるにもかかわらず、視覚限界領域外のデータの取り扱いが定義されていない。
【０００５】
色域外のデータの取り扱いについて、特開平４−１８６９６９号公報には、画像出力機器の色域外の色が入力された場合に、入力色を、最も近い（色差最小の）画像出力機器の色域内の色へ変換する色差重視の色変換を行う例が開示されている。しかし、同公報に開示された技術は、入力色が視覚限界領域内か、視覚限界領域外かを判定しないばかりか、画像出力機器の色域外の色を、単純に、色差最小の色へ変換するため、オリジナルの入力データの色味が全く考慮されない問題がある。
【０００６】
本発明は、上述の問題を個々にまたはまとめて解決するためのもので、色域外の画像データを適切に扱うことを目的とする。
【０００７】
また、色域外の画像データの色味を考慮した色変換を設定可能にすることを他の目的とする。
【０００８】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明にかかる画像処理装置は、画像入出力機器と接続される画像処理装置であって、画像データを入力する入力手段と、入力された画像データが所定の色域の外部に存在するか否かを判定する判定手段と、前記色域の外部に存在すると判定された画像データを前記色域の外縁部または内部へ変換する変換手段とを有することを特徴とする。
【００１０】
好ましくは、さらに、前記変換手段による変換手法を設定するための設定手段を有することを特徴とする。
【００１１】
本発明にかかる画像処理方法は、画像入出力機器間で画像データを処理する画像処理方法であって、画像データを入力し、入力された画像データが所定の色域の外部に存在するか否かを判定し、前記色域の外部に存在すると判定された画像データを前記色域の外縁部または内部へ変換することを特徴とする。
【００１２】
【発明の実施の形態】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【００１３】
【第１実施形態】
［構成］
図１は実施形態の画像処理装置１の構成例を示すブロック図である。
【００１４】
画像処理装置１には、ディジタルカメラやカラースキャナなどの、画像を入力するための画像入力装置２、ＣＲＴやＬＣＤなどの、画像を表示するための画像表示装置３、および、カラープリンタなどの、画像を出力するための画像出力装置４が接続される。
【００１５】
画像入力装置１において、画像入力部５は、画像入力装置２から色信号を入力する、ＵＳＢやＩＥＥＥ１３９４などのインタフェイスである。画像表示部６は、画像表示装置３に表示する色信号を生成するビデオインタフェイスである。画像出力部７は、画像出力装置４に色信号を出力する、ＩＥＥＥ１２８４、ＵＳＢやＩＥＥＥ１３９４などのインタフェイスである。
【００１６】
ｓｃＲＧＢのような視覚限界領域を越える値を表現できるＲＧＢ色空間において、コンピュータグラフィックスなどの電子的に生成できるデータは、視覚限界領域の内か外かなどを意識せずにデータ生成が可能であり、視覚限界領域を越えることがある。また、ｓｃＲＧＢのような視覚限界領域を越える値を表現できるＲＧＢ色空間において、視覚限界領域を越えていない画像データに対し、エッジ強調処理や彩度アップ処理など、画素の彩度や明度を増加させる処理を行なうと、視覚限界領域を越えることがある。
色座標変換部８は、入力色信号、表示色信号、出力色信号および処理色信号間の色信号座標（色空間）を変換する。色域内外判定部９は、入力された色信号が視覚限界領域の内部の色を示すか、外部の色を示すかを判定する。色変換部１０は、視覚限界領域の外部の色に対応する色信号を、視覚限界領域の外縁部の色に対応する色信号へ変換する。
【００１７】
データバッファ１１は、データ処理を行うために一時的にデータを保存する、ＲＡＭのようなメモリである。視覚限界領域記憶部１２は、詳細は後述するが、視覚限界領域を黒色、白色それぞれのＸＹＺ値がＹが０〜１になるように正規化された状態で記憶し、また、三次元領域としてＬＣｈ値またはＲＧＢ値を記憶する、ＲＯＭやハードディスクのような不揮発性メモリである。
【００１８】
ユーザインタフェイス（ＵＩ）部１３は、ユーザが画像処理装置１を操作するためのインタフェイスである。なお、ＵＩ部１３が生成するインタフェイス画面は、画像表示部６を介して画像表示装置３に表示される。また、インタフェイス画面に対するユーザの操作は、図示しないキーボードやポインティングデバイスを介してＵＩ部１３に入力される。
【００１９】
なお、色座標変換部８、色域内外判定部９、色変換部１０およびＵＩ部１３は、ハードウェアとして実現してもよいが、画像処理装置１の図示しないＣＰＵにプログラムを供給することで実現されるものである。
【００２０】
［処理］
図２は画像処理装置１の画像処理例を示すフローチャートで、画像処理装置１のＣＰＵによって実行される。
【００２１】
画像入力部５を介して画像入力装置２から画像データが入力されると、画像データをデータバッファ１１に書き込み（Ｓ２０１）、色座標変換部８によって入力画像データをＸＹＺ値に色座標変換する（Ｓ２０２）。本実施形態では、入力画像データの色座標としてｓｃＲＧＢを用いることにする。従って、ステップＳ２０２における色座標変換は式（１）および（２）を用いる。
ＲｓｃＲＧＢ　＝　ＲｓｃＲＧＢ（１６）／８１９２　−　０．５
ＧｓｃＲＧＢ　＝　ＧｓｃＲＧＢ（１６）／８１９２　−　０．５　…（１）
ＢｓｃＲＧＢ　＝　ＢｓｃＲＧＢ（１６）／８１９２　−　０．５
2004096447.tif 000003
【００２２】
次に、視覚限界領域記憶部１２から視覚限界領域情報を読み出し（Ｓ２０３）、色座標変換された画像データが視覚限界領域の内部に存在するか外部に存在するかを、色域内外判定部９によって判定する（Ｓ２０４）。続いて、視覚限界領域内外の判定結果が内部を示せば処理をステップＳ２０７へ進め、外部を示せば処理をステップＳ２０６へ進める（Ｓ２０５）。
【００２３】
視覚限界領域の外部に存在すると判定された画像データは、色変換部１０により、視覚限界領域の外縁部の色に対応する画像データに変換し、データバッファ１１の対応する位置へ書き込む（Ｓ２０６）。そして、処理対象の画像データが入力画像データの最後の画素に対応する画像データか否かを判別し（Ｓ２０７）、最後の画素に対応する画像データでなければ処理をステップＳ２０４へ戻す。
【００２４】
また、最後の画素に対応する画像データの場合は、データバッファ１１に格納された画像データを、色座標変換部８により、ＸＹＺ値から出力色信号座標へ色座標変換する（Ｓ２０８）。本実施形態では出力色信号座標としてｓｃＲＧＢを用いることにする。従って色座標変換は式（３）および（４）を用いる。
2004096447.tif 000004
ＲｓｃＲＧＢ（１６）　＝　ＲｓｃＲＧＢ×８１９２　＋　４０９６
ＧｓｃＲＧＢ（１６）　＝　ＧｓｃＲＧＢ×８１９２　＋　４０９６　…（４）
ＢｓｃＲＧＢ（１６）　＝　ＢｓｃＲＧＢ×８１９２　＋　４０９６
【００２５】
次に、データバッファ１１に格納された画像データを、画像表示部６または画像出力部７を介して、画像表示装置３または画像出力装置４へ出力し（Ｓ２０９）、処理を終える。
【００２６】
［視覚限界領域情報］
図３はステップＳ２０３における視覚限界領域情報を読み込む処理例を示すフローチャートである。
【００２７】
まず、視覚限界領域記憶部１２から視覚限界領域の下限である黒色のＸＹＺ値を読み込み、レジスタＸｋ、ＹｋおよびＺｋへセットする（Ｓ３０１）。そして、同様に、視覚限界領域の上限である白色のＸＹＺ値を読み込み、レジスタＸｗ、ＹｗおよびＺｗへセットする（Ｓ３０２）。次に、視覚限界領域の三次元情報（ＬＣｈ値）を読み込み（Ｓ３０３）、処理を終える。
【００２８】
図４Ａおよび４Ｂは視覚限界領域記憶部１２に記憶されている視覚限界領域情報の例を示す図で、視覚限界領域の黒情報および白情報のＸＹＺ値（図４Ａ）、並びに、視覚限界領域の三次元情報のＬＣｈ値（図４Ｂ）をそれぞれ示す。例えば黒情報は、Ｘ＝０．０、Ｙ０．０、Ｚ＝０．０であり、白情報はＤ６５光源の場合、Ｘ＝９５．０５、Ｙ＝１００．０、Ｚ＝１０８．９１である。また、三次元情報には、（０．０，０．０，０．０）から（９５．０５，１００．０，１０８．９１）のＸＹＺ値を式（５．１）〜式（５．４）（白色は、Ｄ６５を使用）および式（６）を用いＬＣｈ値を算出し、例えばＬ値およびｈ値がそれぞれ１０ステップごとの最大彩度のＣ値を格納するようにする。
【００２９】
［視覚限界領域の内外判定］
図５はステップＳ２０４における視覚限界領域の内か外かの判定を示すフローチャートである。
【００３０】
まず、色域内外判定フラグＯＵＴを初期化し（Ｓ４０１）、画像データのＸ値が視覚限界領域の下限値Ｘｋよりも小さいか否かの判別を行う（Ｓ４０２）。同様に、Ｙ値が下限値Ｙｋよりも小さいか否かの判別（Ｓ４０３）、Ｚ値が下限値Ｚｋよりも小さいか否かの判別（Ｓ４０４）、Ｘ値が視覚限界領域の上限値Ｘｗよりも大きいか否か判別（Ｓ４０５）、Ｙ値が上限値Ｙｗよりも大きいか否かの判別（Ｓ４０６）、Ｚ値が上限値Ｚｗよりも大きいか否かの判別を順次行うが、何れかのステップで下限値より小さいまたは上限値より大きいと判別された場合は処理をステップＳ４０８へ進め、そうでない場合は処理を終える。
【００３１】
何れかのステップで下限値より小さいまたは上限値より大きいと判別された場合は、色域内外判定フラグＯＵＴに色域外を意味する‘１’をセットし（Ｓ４０８）、処理を終える。
【００３２】
［色変換］
図６はステップＳ２０６における色変換処理を示すフローチャート、図７は色変換手法を設定するユーザンタフェイス画面である色変換手法設定ウィンドウ６０１を示す図、図８は色変換手法を説明する図である。
【００３３】
まず、前述した式による算出結果はＹが０〜１になるようにスケーリングされているため、スケールを合わせるためにＸＹＺ値をそれぞれ１００倍し（Ｓ５０１）、色座標変換部８により、ＸＹＺ値を式（５．１）から（５．４）によってＬａｂ値へ変換する（Ｓ５０２）。
Ｙ／Ｙｎ　＞　０．００８８５６　のとき
Ｌ＊　＝　１１６（Ｙ／Ｙｎ）１／３　　　　　　　…（５．１）
Ｙ／Ｙｎ　≦　０．００８８５６　のとき
Ｌ＊　＝　９０３．２９（Ｙ／Ｙｎ）　　　　　　　…（５．２）
ここで、Ｙ：ＸＹＺ表色系の三刺激値のＹ値
Ｙｎ：完全拡散反射面の標準の光によるＹ値
ａ＊　＝　５００［ｆ（Ｘ／Ｘｎ）　−　ｆ（Ｙ／Ｙｎ）］
ｂ＊　＝　２００［ｆ（Ｙ／Ｙｎ）　−　ｆ（Ｚ／Ｚｎ）］　　　　…（５．３）
ここで、
Ｘ／Ｘｎ　＞　０．００８８５６　のとき
ｆ（Ｘ／Ｘｎ）　＝　（Ｘ／Ｘｎ）１／３
Ｘ／Ｘｎ　≦　０．００８８５６　のとき
ｆ（Ｘ／Ｘｎ）　＝　７．７８（Ｘ／Ｘｎ）　＋　１６／１１６
Ｙ／Ｙｎ　＞　０．００８８５６　のとき
ｆ（Ｙ／Ｙｎ）　＝　（Ｙ／Ｙｎ）１／３　　　　…（５．４）
Ｙ／Ｙｎ　≦　０．００８８５６　のとき
ｆ（Ｙ／Ｙｎ）　＝　７．７８（Ｙ／Ｙｎ）　＋　１６／１１６
Ｚ／Ｚｎ　＞　０．００８８５６　のとき
ｆ（Ｚ／Ｚｎ）　＝　（Ｚ／Ｚｎ）１／３
Ｚ／Ｚｎ　≦　０．００８８５６　のとき
ｆ（Ｚ／Ｚｎ）　＝　７．７８（Ｚ／Ｚｎ）　＋　１６／１１６
Ｘ，　Ｙ，　Ｚ：ＸＹＺ表色系の三刺激値Ｘ，　Ｙ，　Ｚの値
Ｘｎ，　Ｙｎ，　Ｚｎ：完全拡散反射面の標準の光によるＸ，　Ｙ，　Ｚの値
【００３４】
なお、ステップＳ５０２における変換では、白色としてＤ６５を用いるためＸｎ＝９５．０５、Ｙｎ＝１００．０、Ｚｎ＝１０８．９１を使用する。続いて、色座標変換部８により、式（６）を用い、Ｌａｂ値をＬＣｈ値へ変換する（Ｓ５０３）。
Ｌ　＝　Ｌ＊
Ｃａｂ　＝　√（ａ＊２　＋　ｂ＊２）　　…（６）
ｈａｂ　＝　ｔａｎ−１（ｂ＊／ａ＊）
【００３５】
次に、図７に示すユーザインタフェイスを用いて、ユーザに色変換手法を設定させる（Ｓ５０４）。色変換手法設定ウィンドウ６０１には、基本的な色変換手法を選択するための基本設定ウィンドウ６０２がある。さらに詳細な設定（基本設定に加えて優先する変換手法を設定する）をしたい場合は、詳細設定チェックボックス６０３をチェックし、詳細設定ウィンドウ６０４のラジオボタンによって優先する変換条件を選択する。なお、図７の例では、基本の色変換として「色相保存」が選択され、変換条件として「階調優先」が選択されている。
【００３６】
ユーザは設定が終了すると「ＯＫ」ボタン６０５を押す。もし、設定をキャンセルする場合は「キャンセル」ボタン６０６を押す。
【００３７】
次に、色変換部１０により、設定された色変換手法（および変換条件）に沿って色変換を行う（Ｓ５０５）。図８はステップＳ５０５において行われる色変換の様子を示す図で、基本的な色変換手法として色相保存が選択された場合の色変換方向を示している。なお、縦軸は明度Ｌを、横軸は彩度Ｃをそれぞれ示し、ステップＳ３０３で読み込まれた視覚限界領域７００も示す。
【００３８】
図８において、入力色７０１は、「彩度優先」が選択された場合は、彩度が変化しないよう視覚限界領域７００の外縁部７０２へ変換される。同様に、「色差優先」が選択された場合は色差が最小になるよう外縁部７０３へ、「階調優先」が選択された場合は階調が変化しないよう外縁部７０４へ、「明度優先」が選択された場合は明度が変化しないよう外縁部７０５へそれぞれ変換される。
【００３９】
次に、色座標変換部８により、式（６）の逆変換式を用いて、色変換後のＬＣｈ値をＬａｂ値へ変換し（Ｓ５０６）、式（５．１）〜（５．４）の逆変換式を用い、Ｌａｂ値をＸＹＺ値へ変換し（Ｓ５０７）、スケールを戻すためにＸＹＺ値をそれぞれ１００で除算し（Ｓ５０８）、処理を終える。
【００４０】
このように、視覚限界領域の黒情報および白情報を用いて、入力色データが視覚限界領域の内部か外部かを判定し、外部に存在する色データをユーザが設定した変換手法（および変換条件）に応じて色変換することで、視覚限界領域外の色を色味をなるべく保存するなどして、視覚限界領域の外縁部の色に変換することができる。
また、視覚限界領域内にマッピングすることは、画像データは最終的に人間が見ることができるようにする必要があるので、視覚限界領域外の色をもつ画素は視覚限界領域内の色をもつ画素に変換する必要があるためである。本第１実施形態のようなマッピングを行わないと、視覚限界領域外の色が、視覚限界領域内のどの色へ変換されるのかが不明なため、その部分だけが異なる色となってしまい、周辺画素とのつながりが悪くなり、画質が著しく悪くなる。第１の実施形態のように階調を優先させる色相保存の色変換処理を行なうと、視覚限界領域外の色が色味ができるだけ変わらないように処理するため、周囲の画素とのつながりが悪くならない。
【００４１】
【第２実施形態】
以下、本発明にかかる第２実施形態の画像処理装置を説明する。なお、第２実施形態において、第１実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００４２】
［構成］
図９は第２実施形態の画像処理装置１の構成例を示すブロック図である。
【００４３】
内部処理用色域記憶部１４は、ＲＧＢの三点を頂点とする内部処理用色域を記憶する、ＲＯＭやハードディスクのような不揮発性メモリである。なお、詳細は後述するが、内部処理用色域記憶部１４は、黒色、白色それぞれのＲＧＢ値が０〜１になるように正規化した状態で記憶する。また、三次元領域としてＬＣｈ値を記憶する。
【００４４】
［処理］
図１０は画像処理装置１の画像処理例を示すフローチャートで、画像処理装置１のＣＰＵによって実行される。
【００４５】
画像入力部５を介して画像入力装置２から画像データが入力されると、画像データをデータバッファ１１に書き込み（Ｓ１２０１）、色座標変換部８によって入力画像データをＸＹＺ値を介して内部処理用ＲＧＢ値に色座標変換する（Ｓ１２０２）。本実施形態では、入力画像データの色座標としてｓｃＲＧＢを用いることにする。従って、ステップＳ１２０２における色座標変換は式（１）（２）および（７）を用いる。なお、変換後のＲＧＢ値に、適宜、ガンマ変換処理を行ってもよい。
2004096447.tif 000005
【００４６】
次に、内部処理用色域記憶部１４から内部処理用色信号の色域情報を読み出し（Ｓ１２０３）、色座標変換された画像データが内部処理用色域の内部に存在するか外部に存在するかを、色域内外判定部９によって判定する（Ｓ１２０４）。続いて、内部処理用色域内外の判定結果が内部を示せば処理をステップＳ１２０７へ進め、外部を示せば処理をステップＳ１２０６へ進める（Ｓ１２０５）。
【００４７】
内部処理用色域の外部に存在すると判定された画像データは、色変換部１０により、内部処理用色域の外縁部の色に対応する画像データに変換し、データバッファ１１の対応する位置へ書き込む（Ｓ１２０６）。そして、処理対象の画像データが入力画像データの最後の画素に対応する画像データか否かを判別し（Ｓ１２０７）、最後の画素に対応する画像データでなければ処理をステップＳ１２０４へ戻す。
【００４８】
また、最後の画素に対応する画像データの場合は、データバッファ１１に格納された画像データを、画像表示部６または画像出力部７を介して、画像表示装置３または画像出力装置４へ出力し（Ｓ１２０８）、処理を終える。
【００４９】
［内部処理用色域情報］
図１１はステップＳ１２０３における内部処理用色域情報を読み込む処理例を示すフローチャートである。
【００５０】
まず、内部処理用色域記憶部１４から内部処理用色域の下限である黒色のＲＧＢ値を読み込み、レジスタＲｋ、ＧｋおよびＢｋへセットする（Ｓ１３０１）。そして、同様に、内部処理用色域の上限である白色のＸＹＺ値を読み込み、レジスタＲｗ、ＧｗおよびＢｗへセットする（Ｓ１３０２）。次に、視覚限界領域の三次元情報（ＬＣｈ値）を読み込み（Ｓ１３０３）、処理を終える。
【００５１】
図１２Ａおよび１２Ｂは内部処理用色域記憶部１４に記憶されている内部処理用色域情報の例を示す図で、内部処理用色域の黒情報および白情報のＲＧＢ値（図１２Ａ）、並びに、内部処理用色域の三次元情報のＬＣｈ値（図１２Ｂ）をそれぞれ示す。例えば、黒情報は、Ｒ＝０．０、Ｇ＝０．０、Ｂ＝０．０であり、白情報は、Ｒ＝１．０、Ｇ＝１．０、Ｂ＝１．０である。また、三次元情報には、（０．０，０．０，０．０）から（１．０，１．０，１．０）のＲＧＢ値の式（７）の逆変換によって得られるＸＹＺ値を１００倍後、式（５．１）〜式（５．４）（白色は、Ｄ６５を使用）および式（６）によってＬＣｈ値を算出し、例えばＬ値およびｈ値がそれぞれ１０ステップごとの最大彩度のＣ値を格納するようにする。
【００５２】
［内部処理用色域の内外判定］
図１３はステップＳ１２０４における内部処理用色域の内か外かの判定を示すフローチャートである。
【００５３】
まず、色域内外判定フラグＯＵＴを初期化し（Ｓ１４０１）、画像データのＲ値が内部処理用色域の下限値Ｒｋよりも小さいか否かの判別を行う（Ｓ１４０２）。同様に、Ｇ値が下限値Ｇｋよりも小さいか否かの判別（Ｓ１４０３）、Ｂ値が下限値Ｂｋよりも小さいか否かの判別（Ｓ１４０４）、Ｒ値が内部処理用色域の上限値Ｒｗよりも大きいか否か判別（Ｓ１４０５）、Ｇ値が上限値Ｇｗよりも大きいか否かの判別（Ｓ１４０６）、Ｂ値が上限値Ｂｗよりも大きいか否かの判別を順次行うが、何れかのステップで下限値より小さいまたは上限値より大きいと判別された場合は処理をステップＳ１４０８へ進め、そうでない場合は処理を終える。
【００５４】
何れかのステップで下限値より小さいまたは上限値より大きいと判別された場合は、色域内外判定フラグＯＵＴに色域外を意味する‘１’をセットし（Ｓ１４０８）、処理を終える。
【００５５】
［色変換］
図１４はステップＳ１２０６における色変換処理を示すフローチャートである。
【００５６】
まず、色座標変換部８により、式（７）の逆変換式を用いて内部処理用色信号のＲＧＢ値をＸＹＺ値に変換する（Ｓ１５０１）。続いて、第１実施形態と同様に、前述した式による算出結果はＹが０〜１になるようにスケーリングされているため、スケールを合わせるためにＸＹＺ値をそれぞれ１００倍し（Ｓ１５０２）、色座標変換部８により、ＸＹＺ値を式（５．１）から（５．４）によってＬａｂ値へ変換する（Ｓ１５０３）。なお、ステップＳ１５０３における変換では、白色としてＤ６５を用いるためＸｎ＝９５．０５、Ｙｎ＝１００．０、Ｚｎ＝１０８．９１を使用する。
【００５７】
続いて、第１実施形態と同様に、色座標変換部８により、式（６）を用い、Ｌａｂ値をＬＣｈ値へ変換し（Ｓ１５０４）、図７に示すユーザンタフェイスを用いて、ユーザに色変換手法を設定させ（Ｓ１５０５）、色変換部１０により、設定された色変換手法に沿って色変換を行う（Ｓ１５０６）。
【００５８】
次に、第１実施形態と同様に、色座標変換部８により、式（６）の逆変換式を用いて、色変換後のＬＣｈ値をＬａｂ値へ変換し（Ｓ１５０７）、式（５．１）〜（５．４）の逆変換式を用い、Ｌａｂ値をＸＹＺ値へ変換し（Ｓ１５０８）、スケールを戻すためにＸＹＺ値をそれぞれ１００で除算する（Ｓ１５０９）。
【００５９】
そして、色座標変換部８により、式（７）を用い、ＸＹＺ値を内部処理用色信号ＲＧＢ値へ変換し、処理を終える。
【００６０】
このように、内部処理用色域の黒情報および白情報を用いて、入力色データが内部処理用色域の内部か外部かを判定し、外部に存在する色データをユーザが設定した変換手法（および変換条件）に応じて色変換することで、内部処理用色域外の色を色味をなるべく保存するなどして、内部処理用色域の外縁部の色に変換することができる。
【００６１】
【第３実施形態】
以下、本発明にかかる第３実施形態の画像処理装置を説明する。なお、第３実施形態において、第１実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００６２】
［構成］
図１５は第３実施形態の画像処理装置１の構成例を示すブロック図である。
【００６３】
画像処理部１５は、色補正などの画像処理を行う。色域変換部１６は、内部処理用色域を画像出力装置４の色域へ色域変換する。画像出力装置色域記憶部１７は、画像出力装置４の色域として、詳細は後述するが、三次元領域としてＬＣｈ値を記憶する。
【００６４】
［処理］
図１６は画像処理装置１の画像処理例を示すフローチャートで、画像処理装置１のＣＰＵによって実行される。
【００６５】
画像入力部５を介して画像入力装置２から画像データが入力されると、画像データをデータバッファ１１に書き込み（Ｓ２２０１）、色座標変換部８によって入力画像データをＸＹＺ値を介して内部処理用ＲＧＢ値に色座標変換する（Ｓ２２０２）。本実施形態では、入力画像データの色座標としてｓｃＲＧＢを用いることにする。従って、ステップＳ２２０２における色座標変換は式（１）（２）および（７）を用いる。なお、変換後のＲＧＢ値に、適宜、ガンマ変換処理を行ってもよい。
【００６６】
次に、第２実施形態と同様に、内部処理用色域記憶部１４から内部処理用色信号の色域情報を読み出し（Ｓ２２０３）、色座標変換された画像データが内部処理用色域の内部に存在するか外部に存在するかを、色域内外判定部９によって判定する（Ｓ２２０４）。続いて、内部処理用色域内外の判定結果が内部を示せば処理をステップＳ２２０７へ進め、外部を示せば処理をステップＳ２２０６へ進める（Ｓ２２０５）。
【００６７】
内部処理用色域の外部に存在すると判定された画像データは、第２実施形態と同様に、色変換部１０により、内部処理用色域の外縁部の色に対応する画像データに変換し、データバッファ１１の対応する位置へ書き込む（Ｓ２２０６）。そして、処理対象の画像データが入力画像データの最後の画素に対応する画像データか否かを判別し（Ｓ２２０７）、最後の画素に対応する画像データでなければ処理をステップＳ２２０４へ戻す。
【００６８】
また、最後の画素に対応する画像データの場合は、画像処理部２１１５により、データバッファ１１に格納された画像データに階調補正や色補正などの画像処理を施し（Ｓ２２０８）、色域変換部１６により、内部処理用色域を画像出力装置４の色域へ変換し（Ｓ２２０９）、色域変換された画像データを、画像出力部７を介して、画像出力装置４へ出力し（Ｓ２２１０）、処理を終える。
【００６９】
［色域変換］
図１７はステップＳ２２０９における内部処理用色域を画像出力装の置色域へ変換する処理を示すフローチャートである。
【００７０】
まず、内部処理用色域記憶部１４から内部処理用色域情報を読み込む（Ｓ２３０１）。この色域情報は、図１２Ａおよび１２Ｂで説明したように内部処理用色域の三次元情報のＬＣｈ値である。読み出す三次元情報は、例えば、Ｌ値およびｈ値がそれぞれ１０ステップごとの最大彩度のＣ値である。また、図１２Ａおよび１２Ｂには示さないが、これらのＬＣｈ値に対応する内部処理用色信号のＲＧＢ値も、内部処理用色域記憶部１４に記憶させておき、ステップＳ２３０１で読み込む。
【００７１】
次に、画像出力装置色域記憶部１７から画像出力装置４の色域情報を読み込む（Ｓ２３０２）。この色域情報は、内部処理用色域の三次元情報と同様に、画像出力装置４の色域を示すＬ’Ｃ’ｈ’値である。読み出す三次元情報は、例えば、Ｌ’値およびｈ’値がそれぞれ１０ステップごとの最大彩度のＣ’値である。また、これらのＬ’Ｃ’ｈ’値に対応する画像出力色信号Ｒ’Ｇ’Ｂ’値も画像出力装置色域記憶部１７に記憶させておき、ステップＳ２３０２で読み出す。
【００７２】
次に、明度Ｌ値と色相ｈ値ごとに、各Ｌ値および各ｈ値に対応する内部処理用色域のＬＣｈ値および画像出力装置４の色域のＬ’Ｃ’ｈ’値を求める。そして、ＬＣｈ値、Ｌ’Ｃ’ｈ’値とＲＧＢ値、Ｒ’Ｇ’Ｂ’値とを対応付け、三次元ルックアップテーブル（３ＤＬＵＴ）を作成する（Ｓ２３０３）。
【００７３】
そして、３ＤＬＵＴを用いて、処理対象画像の色域を内部処理用色域から画像出力装置４の色域へ変換し（Ｓ２３０４）、処理を終える。
【００７４】
このように、内部処理用色域の黒情報および白情報を用いて、入力色データが内部処理用色域の内部か外部かを判定し、外部に存在する色データをユーザが設定した変換手法（および変換条件）に応じて色変換することで、内部処理用色域外の色を色味をなるべく保存するなどして、内部処理用色域の外縁部に変換し、さらに、画像出力装置４の色域へ変換することができる。
【００７５】
【変形例】
上記の実施形態では、ＸＹＺ値との色変換に、Ｙが０〜１に正規化された状態の変換式を用いたが、これに限定されず、Ｙを０〜１００に正規化するようにしてもよい。
【００７６】
上記の実施形態では、図７のインタフェイス画面に示す色変換手法を説明したが、色変換手法はこれに限定されず、ユーザが望む色変換手法であればよい。また図８において、各色変換手法の変換方向を説明したが、この変換方向に限定されるものではない。また、色変換後の色は、色域の外縁部としたが、色域内部の色へ変換するようにしてもよい。色変換に用いる色座標もＬＣｈ座標に限定されず、どのような表色系でもよい。また、上記の実施形態では、白色としてＤ６５を用いる例を説明したが、これに限らない。
【００７７】
上記の実施形態では、図７に示すユーザインタフェイス画面の例としてボタンを用いる選択方法を示したが、これに限定されず、例えばドロップダウンメニューにより、ユーザが選択するようなユーザインタフェイス画面でもよい。また、キーワードを直接入力するようなユーザインタフェイス画面でも構わない。さらに、ユーザが色変換後の色を色座標中で設定できるよう構成してもよい。つまり、ユーザが所望する設定が可能であれば、如何なるユーザインタフェイスの構成であってもよい。
【００７８】
上記の実施形態では、色域情報としてＬＣｈ値を記憶する例を説明したが、これに限定されず、三次元色域を表現できる形式であればよい。また、ＩＣＣプロファイルなど、あるフォーマットに則った形式で記憶させてもよい。
【００７９】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００８０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００８２】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００８３】
【発明の効果】
以上説明したように本発明によれば、色域外の画像データを適切に扱うことができる。
【００８４】
また、色域外の画像データの色味を考慮した色変換を設定可能にすることができる。
【図面の簡単な説明】
【図１】実施形態の画像処理装置の構成例を示すブロック図、
【図２】画像処理装置の画像処理例を示すフローチャート、
【図３】視覚限界領域情報を読み込む処理例を示すフローチャート、
【図４Ａ】視覚限界領域記憶部に記憶されている視覚限界領域情報の例を示す図、
【図４Ｂ】視覚限界領域記憶部に記憶されている視覚限界領域情報の例を示す図、
【図５】視覚限界領域の内か外かの判定を示すフローチャート、
【図６】色変換処理を示すフローチャート、
【図７】色変換手法を設定するユーザンタフェイス画面である色変換手法設定ウィンドウを示す図、
【図８】色変換手法を説明する図、
【図９】第２実施形態の画像処理装置の構成例を示すブロック図、
【図１０】画像処理装置の画像処理例を示すフローチャート、
【図１１】内部処理用色域情報を読み込む処理例を示すフローチャート、
【図１２Ａ】内部処理用色域記憶部に記憶されている内部処理用色域情報の例を示す図、
【図１２Ｂ】内部処理用色域記憶部に記憶されている内部処理用色域情報の例を示す図、
【図１３】内部処理用色域の内か外かの判定を示すフローチャート、
【図１４】色変換処理を示すフローチャート、
【図１５】第３実施形態の画像処理装置の構成例を示すブロック図、
【図１６】画像処理装置の画像処理例を示すフローチャート、
【図１７】内部処理用色域を画像出力装の置色域へ変換する処理を示すフローチャートである。
【図１】
2004096447.tif 000006
【図２】
2004096447.tif 000007
【図３】
2004096447.tif 000008
【図４Ａ】
2004096447.tif 000009
【図４Ｂ】
2004096447.tif 000010
【図５】
2004096447.tif 000011
【図６】
2004096447.tif 000012
【図７】
2004096447.tif 000013
【図８】
2004096447.tif 000014
【図９】
2004096447.tif 000015
【図１０】
2004096447.tif 000016
【図１１】
2004096447.tif 000017
【図１２Ａ】
2004096447.tif 000018
【図１２Ｂ】
2004096447.tif 000019
【図１３】
2004096447.tif 000020
【図１４】
2004096447.tif 000021
【図１５】
2004096447.tif 000022
【図１６】
2004096447.tif 000023
【図１７】
2004096447.tif 000024