(57)【要約】【課題】  異なる色のオブジェクトの重ね合わせ部分に対して入出力デバイスの色領域をマッチングさせる。【解決手段】  入力されたオブジェクト毎に異なる色空間圧縮処理を適用して出力する際に、入力されたオブジェクト毎に付属情報を含む中間データを生成し、その中間データに基づいてビットマップデータを生成して付属情報と共に格納する。そして、その付属情報を用いてビットマップデータに対する色空間圧縮処理を行う。付属情報は、オブジェクトの属性情報、又は色空間圧縮処理に関する情報である。【選択図】      図２１
2006345099.tif 000002
【特許請求の範囲】
【請求項１】
入力されたオブジェクト毎に付属情報を含む中間データを生成する中間データ生成手段と、
前記中間データに基づいてビットマップデータを生成し、前記付属情報と共に格納する格納手段と、
前記付属情報を用いて前記ビットマップデータに対する色空間圧縮処理を行う手段とを有することを特徴とする画像処理装置。
【請求項２】
前記付属情報は、少なくともオブジェクトの属性情報、色空間圧縮処理に関する情報であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記付属情報は、入力色空間の色領域情報を含むことを特徴とする請求項１記載の画像処理装置。
【請求項４】
ピクセル処理がされるピクセル部分の色空間圧縮処理に関する情報を選択させる手段を有し、
前記選択された色空間圧縮処理に関する情報を前記ビットマップデータのピクセル処理がされるピクセル部分に設定することを特徴とする請求項１記載の画像処理装置。
【請求項５】
入力されたオブジェクト毎に付属情報を含む中間データを生成する中間データ生成工程と、
前記中間データに基づいてビットマップデータを生成し、前記付属情報と共に格納する格納工程と、
前記付属情報を用いて前記ビットマップデータに対する色空間圧縮処理を行う工程とを有することを特徴とする画像処理方法。
【請求項６】
請求項５記載の画像処理方法をコンピュータに実行させるためのプログラム。
【請求項７】
請求項６記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたオブジェクト毎に異なる色空間圧縮処理を適用して出力する技術に関するものである。
【背景技術】
【０００２】
＜色空間圧縮方式＞
ユーザはモニタ上で再現される色とプリンタ出力画像の色とが知覚的に一致することを期待するが、色再現技術においてはモニタ上のカラー画像とプリンタ出力画像とを知覚上で一致させることは困難である。これは、モニタの色領域とプリンタの色領域とが異なるということが大きな要因である。
【０００３】
図１に示す（Ａ）は、ｓＲＧＢと印刷ＣＭＹＫの色領域の違いを示す図である。図１に示すような色領域の違いのために、コンピュータによってモニタ上で表現される色を実際に印刷装置の色材を用いて再現する色再現技術が重要となってきている。
【０００４】
そこで、このような色領域の異なる表示媒体間において、表示カラー画像の知覚的一致を図るには、均等表色系において、ある色領域と別の色領域とを対応させる技術が必要となる。実際には、ある色領域を別の色再現範囲に合わせるために、色空間を圧縮するのであるが、この色空間圧縮のことを「ガマットマッピング」といい、これを実現する色空間圧縮方式を「ガマットマッピングアルゴリズム（ＧＭＡ：Gamut Mapping Algorithm）」という。
【０００５】
ＧＭＡには、図１に示す（Ｂ）のように、彩度を保持した状態で色再現のマッピングを行う方法、図１に示す（Ｃ）のように、明度を保持して色再現のマッピングを行う方法、等の様々な方法が考案されている。
【０００６】
＜ICC（International Color Consortium）プロファイルによるカラーマッチング＞
図２は、ＩＣＣプロファイルを用いた一般的なカラーマッチング処理の流れを示す図である。ＲＧＢデータが入力されると、カラーマネージメントモジュール（ＣＭＭ：Color Management Module）にセットされたソースプロファイル、デスティネーションプロファイル、及びカラーマッチングの方式を示すＧＭＡ情報に基づいてカラーマッチングされ、補正されたＣＭＹＫデータとなって出力される。
【０００７】
ＧＭＡの処理には、一般に写真イメージ出力向けで画像の正確な色再現よりも色調の関係性保持を優先させた（Perceptual）、ロゴ等を忠実に再現するための色差最小（Colorimetric）、パイチャートや文字を鮮やかに出力するため色相の正確さは重視せずに、元のカラーの鮮やかな印象を維持することを目的としたサチュレイション（Saturation）の３種類がある。この３種類の方式を実施するためのカラーマッチングデータは、図２に示すようなプリンタプロファイルの例では、ＬａｂからプリンタＣＭＹＫへの変換ＬＵＴ（Look Up Table）が方式毎に用意され、セットされたＧＭＡ情報に対応したＬＵＴが選択され、カラーマッチングに使用される。
【０００８】
図３は、従来のプリンタのコントローラとなるフロントエンドサーバ３０１とプリンタエンジン３０２の構成を示すブロック図である。図３に示すように、プリンタのコントローラとなるフロントエンドサーバ３０１は、ネットワークに接続するためのネットワークＩ／Ｆ（インタフェース）部３１０、ユーザが使用するカラーマネージメントを予め設定するカラーマネージメント設定部３１１、ＰＤＬ（ページ記述言語）を解析し中間データを生成するＰＤＬインタプリタ部３１２、そのＰＤＬインタプリタ部３１２で生成された中間データを格納する中間データ格納部３１３、プリンタエンジン３０２とデータのやり取りを行うための通信インタフェース部３１４、中間データ格納部３１３の中間データをビットマップイメージデータに変換するレンダリング部３１５、カラーマネージメント設定部３１１で設定されたカラーマッチング処理を行うカラーマネージメント処理部３１６、カラーマッチングに使用されるプロファイルを格納するプロファイル格納部３１６Ａ、展開したビットマップイメージデータを格納するビットマップ格納部３１７から構成される。
【０００９】
また、プリンタエンジン３０２は、フロントエンドサーバ３０１とデータのやり取りを行うための通信Ｉ／Ｆ部３２０、印刷を行う出力部３２１から構成される。
【００１０】
図４は、カラーマネージメント設定部３１１を実現するためのＧＵＩの一例を示す図である。このＧＵＩを用いてユーザがオブジェクト属性毎に、即ち図４では、オブジェクト属性がラスタイメージの場合にはＧＭＡ１を、ベクターグラフィックスの場合にはＧＭＡ２を、テキストの場合にはＧＭＡ３を、予め設定する。
【００１１】
図５は、従来のフロントエンドサーバ３０１とプリンタエンジン３０２とを用いた印刷処理を示すフローチャートである。まず、フロントエンドサーバ３０１がネットワークＩ／Ｆ部３１０を介してＰＤＬデータを受信し（Ｓ５０１）、ＰＤＬインタプリタ部３１１がそのＰＤＬデータを解析する（Ｓ５０２）。次に、カラーマネージメント処理部３１６がＰＤＬデータの中のオブジェクトのカラーデータに対してカラーマネージメント設定部３１１で設定されたＧＭＡ情報に基づいてＧＭＡ処理を行う（Ｓ５０３）。ＧＭＡ処理については、更に詳述する。
【００１２】
次に、ＰＤＬインタプリタ部３１２がカラーマネージメント処理部３１６でＧＭＡ処理されたカラーデータを含むＰＤＬデータから中間データを生成し、その中間データを中間データ格納部３１３に格納する（Ｓ５０４）。次に、レンダリング部３１５が中間データ格納部３１３の中間データをビットマップイメージデータに展開し、ビットマップ格納部３１７に格納する（Ｓ５０５）。そして、ビットマップイメージデータをプリンタＣＭＹＫに変換する（Ｓ５０６）。最後に、展開されたビットマップイメージデータを、通信Ｉ／Ｆ部３１４を介してプリンタエンジン３０２へ転送し、プリンタエンジン３０２の出力部３２１で印刷が行われる（Ｓ５０７）。
【００１３】
このように、従来はＧＭＡ処理をレンダリングの前に行っているので、レンダリングの色空間はデバイスの色空間であるという特徴があった。
【００１４】
ここで、図６を用いて、図５に示すＳ５０３におけるＰＤＬデータ中のオブジェクトのカラーデータに対するＧＭＡ処理の詳細を説明する。図６は、ＰＤＬデータ中のオブジェクトのカラーデータに対するＧＭＡ処理の詳細を示すフローチャートである。
【００１５】
まず、ＰＤＬデータにおけるオブジェクト属性がイメージであるか否かを判定する（Ｓ６０１）。ここで、オブジェクト属性がイメージであれば、イメージに対して選択されたＧＭＡ情報をフラグ（Flag）にセットし（Ｓ６０２）、ＧＭＡ処理を行う（Ｓ６０３）。また、オブジェクト属性がイメージでなく、ベクターグラフィックスであれば（Ｓ６０４のＹＥＳ）、ベクターグラフィックスに対して選択されたＧＭＡ情報をフラグにセットし（Ｓ６０５）、ＧＭＡ処理を行う（Ｓ６０６）。
【００１６】
一方、オブジェクト属性がイメージ、ベクターグラフィックスでなく、文字であれば（Ｓ６０７のＹＥＳ）、文字に対して選択されたＧＭＡ情報をフラグにセットし（Ｓ６０８）、ＧＭＡ処理を行う（Ｓ６０９）。オブジェクトが存在する間（Ｓ６１０のＹＥＳ）、上述した処理を繰り返し、処理するオブジェクトがなくなると（Ｓ６１０のＮＯ）、この処理を終了する
ここで、図７を用いて、図６に示すＳ６０３、Ｓ６０６、Ｓ６０９におけるＧＭＡ処理の詳細を説明する。図７は、ＧＭＡ処理の詳細を示すフローチャートである。
【００１７】
まず、現在選択されているソースプロファイルを取り出し（Ｓ７０１）、デスティネーションプロファイルを取り出す（Ｓ７０２）。次に、現在選択されているＧＭＡの種類をレンダリングインテントフラグ（Rendering intent flag）にセットする（Ｓ７０３）。そして、ソースプロファイル及びデスティネーションプロファイルと、ＧＭＡの種類がセットされたレンダリングインテントフラグとをＣＭＭにセットし（Ｓ７０４）、ＣＭＭのカラーマッチング処理を行う（Ｓ７０５）。
【００１８】
＜カラーマッチング処理の説明＞
カラー画像データの色管理において使用すべき変換シーケンスを効率良く作成する改良された構造を提供する方法（例えば、特許文献１）について簡単に説明する。
【００１９】
図８は、カラーマネージメントモジュールをシステムレベルで説明するための図である。図８に示すように、カラーマネージメントモジュール８０１は、ユーザが予め設定したカラーマネージメント方法に基づいて色変換シーケンスを作成し、色変換手順を表すカラープロファイル８３０及びＧＭＡ８４０により、入力画像データ８１０を出力画像データ８２０に変換する。
【００２０】
図９は、カラーマネージメントモジュール８０１の構成要素を示す図である。図９に示すように、カラーマネージメントモジュール８０１は、変換シーケンス作成モジュール（Create_Transform）９１０と、色変換モジュール（Transform_Colors）９２０とを含む。この変換シーケンス作成モジュール９１０は、カラープロファイルリスト、ＧＭＡリスト、変換パラメータの３つの構成要素を含むアプリケーションプログラミングインタフェース（ＡＰＩ）を有する。ここで、カラープロファイルリストはユーザが設定可能な色変換手順を表す複数のカラープロファイルのリストである。ＧＭＡリストは、ユーザが色変換手順の中で設定可能な複数の種類のＧＭＡのリストである。そして、変換パラメータは、変換シーケンス作成により作成される色変換シーケンスを配置できる記憶場所を指示するためのパラメータである。
【００２１】
また、色変換モジュール９２０も、上述したＡＰＩに対して変換パラメータ、入力画像データ、出力画像データの３つの構成要素を有する。ここで、変換パラメータは変換シーケンス作成モジュール９１０により作成された色変換シーケンスが配置されている記憶場所を指示する。入力画像データは、ユーザが変換パラメータに対応する色変換シーケンスにより変換可能なカラー画像データから構成されている。そして、出力画像データは、変換パラメータにより表現される色変換シーケンスにより変換された後のカラー画像データである。
【００２２】
このように、ユーザは変換シーケンス作成モジュール９１０を利用して、プロファイルリスト及びＧＭＡリストに基づいて色変換シーケンスを生成し、その色変換シーケンスを入力画像データ８１０に適用し、色変換９２０の使用を経て出力画像データ８２０を作成する。
【００２３】
図１０は、カラープロファイル８３０の構造を説明するための図である。図１０に示すように、カラープロファイル８３０は、色変換シーケンスを作成し、且つ適用するために、カラーマネージメントモジュール８０１により要求されるカラープロファイル１からＮのシーケンスを表し、カラー画像データの色変換及びガマットマッピングに必要な特定のデバイスに対応する色変換情報を提供する。また、ユーザが予め設定したカラーマネージメント方法に従って色変換シーケンスで指示されるような適切なＧＭＡを適用するために、ガマットマッピングアルゴリズム（ＧＭＡ）８４０を提供する。
【００２４】
尚、カラープロファイル８３０は、代表的にはプリンタ、スキャナ、モニタ及びデジタルカメラなどの特定のイメージデバイスと関連している。ここで、特定のデバイスに対応するカラープロファイルを「デバイスカラープロファイル」と呼ぶ。
【００２５】
図１０に示すように、カラープロファイル８３０は色出現変換１０１０、色領域境界記述子１０２０、線形化テーブル１０３０で構成されている。まず、色出現変換１０１０は、カラー画像データをカラープロファイル８３０が関連しているデバイスに対応するデバイス色空間からデバイス非依存の色空間へ変換する、或いはデバイス非依存の色空間からデバイス依存の色空間へ逆変換するために使用される。
【００２６】
次に、色領域境界記述子１０２０は、カラープロファイル８３０が対応しているカラーイメージデバイスと関連している色領域境界を定義するために使用される。これにより、ガマットマッピング時に色領域境界の外へ出ないように、カラー画像データをマッピングでき、カラープロファイル８３０と関連しているイメージデバイスでカラー画像データを適切にレンダリングすることができる。
【００２７】
次に、線形化テーブル１０３０は、色出現変換１０１０及び色領域境界記述子１０２０をそれぞれアクセスするために色出現変換及びガマットマッピング変換の間で利用される１つ又は複数の線形化テーブルを含む。
【００２８】
図１１は、色変換シーケンス作成をシステムレベルで説明するための図である。カラープロファイルリスト１１１０とＧＭＡリスト１１２０は、変換シーケンス作成モジュール９１０への入力として提供され、カラープロファイルリスト１１１０はカラープロファイル基準（１）１１１１〜カラープロファイル基準（Ｎ）１１１２のようなカラープロファイル基準を含む複数の基準エントリを有する。従って、カラープロファイルリスト１１１０により、ユーザは色変換手順を表現する１つ又は複数のカラープロファイル基準を選択することができる。
【００２９】
尚、カラープロファイル基準（１）１１１１〜カラープロファイル基準（Ｎ）１１１２は、図１０に示すような個別のカラープロファイルに対応している。
【００３０】
ＧＭＡリスト１１２０は、ＧＭＡ基準（１）１１２１からＧＭＡ基準（Ｎ）１１２２などのユーザにより選択されたＧＭＡ基準を含む複数の基準エントリを有する。
【００３１】
変換シーケンス作成モジュール９１０は、カラープロファイル基準１１１１〜１１１２に従ってカラープロファイル８３０から色出現変換１０１０及び線形化テーブル１０３０を取得し、色変換シーケンス１１３０を作成するために、カラープロファイル８３０及びＧＭＡ８４０に対するアクセスを要求する。またＧＭＡ８４０は、ＧＭＡ基準１１２１〜１３２２において基準とされるそれぞれの型のＧＭＡに対応している。
【００３２】
ここで、変換シーケンス作成モジュール９１０は、カラープロファイルリスト１１１０、ＧＭＡリスト１１２０、カラープロファイル８３０及びＧＭＡ８４０に基づいて色変換シーケンス１１３０を生成する。色変換シーケンス１１３０は色変換手順に従ってカラー画像データを変換するための変換ステップ１１４０を含む。
【００３３】
まず、プロファイルステップ（１１４１）は、カラー画像データを提供した入力装置のカラープロファイルから得られた色出現変換に対応し、それにより、カラー画像データを入力装置の色空間からデバイス非依存の色空間にマッピングする。次に、ガマットマッピングステップ（１１４２）はＧＭＡリスト１１２０の第１番目のＧＭＡ基準、この場合にはＧＭＡ基準１１２１に対応する。変換シーケンス作成モジュール９１０は、カラープロファイルリスト１１１０のカラープロファイル基準毎に、また、ＧＭＡリスト１１２０のＧＭＡ基準毎に変換ステップを作成すべきか否かを判定する。
【００３４】
最後に、プロファイルステップ（１１４３）は、最後のカラープロファイル基準、この場合、カラープロファイル基準（Ｎ）１１１２がデバイスカラープロファイルに対応する場合に作成される。
【００３５】
図１２は、プロファイルステップの構造を説明するための図である。変換シーケンス作成モジュール９１０がカラープロファイルリスト１１１０からカラープロファイル基準を読み取り、そのカラープロファイル基準に対応するプロファイルステップを生成すべきであると判定すると、カラープロファイル８３０から適切なカラープロファイルにアクセスする。そして、そのカラープロファイルから必要なデータを取り出し、プロファイルステップを作成する。
【００３６】
図１２に示すように、プロファイルステップ（１１４１）は、色出現変換及びテーブル１２１０を含む。このように、プロファイルステップ（１１４１）がカラー画像データに適用されるときに、カラー画像データを適切に変換するために必要なデータを有し、適切なカラープロファイルから適切な色出現変換及び対応するテーブルをコピーする。ここで色出現変換及びテーブル１２１０は、図１０に示すような色出現変換１０１０及び線形化テーブル１０３０から得られたデータから構成されている。
【００３７】
ここで、色出現変換及びテーブル１２１０は、色空間変換と、第１の組の一次元ルックアップテーブルと、３×３行列と、第２の組の一次元ルックアップテーブルと、多次元ルックアップテーブルと、第３の組の一次元ルックアップテーブルと、第２の色空間変換とを含む。このように、プロファイルステップ（１１４１）はカラー画像データをデバイス非依存の色空間へマッピングするために及びカラー画像データをデバイス非依存の色空間からマッピングするために必要なデータを含んでいる。
【００３８】
尚、プロファイルステップ（１１４１）は、上述の変換及びテーブルを全て使用するとは限らない。例えば、モニタからの入力画像データは、第１の組の一次元ルックアップテーブルと、それに続く３×３行列と、色空間変換とを使用して、CIE XYZ空間からCIE JCh空間へ変換され、その他のステップは実行されない。これに対し、モニタへのカラー画像データの出力に際しては、JCh色空間からXYZ色空間へ変換するための色空間変換を使用し、続いて３×３行列を使用し、更に、第２の組の一次元ルックアップテーブルを使用することになるであろう。
【００３９】
変換ステップビットフィールド１２２０は、上記要素の内どれがプロファイルステップ（１１４１）により特定して要求されるかを指示するメカニズムを構成する。
【００４０】
図１３は、ガマットマッピングステップの構造を説明するための図である。ユーザは、変換シーケンス作成モジュール９１０により作成される色変換シーケンス１１３０の様々な時点でどの型のＧＭＡを使用すべきかを選択することができる。ガマットマッピングステップ（１３０１）は、ＧＭＡリスト１１２０の対応するＧＭＡ基準においてユーザによって要求される特定のＧＭＡ８４０を指示するＧＭＡのポインタ１３１０を含む。
【００４１】
尚、ＧＭＡポインタ１３１０は、名前によってＧＭＡを識別するなどの別の適切な手段により、特定の型のＧＭＡを識別しても差し支えない。他のガマットマッピングステップは、ＧＭＡリスト１１２０に含まれるＧＭＡ基準１１２１〜１１２２においてユーザにより指示される別の型のＧＭＡを指示するＧＭＡポインタを含む場合もあることがわかる。このように、ユーザは色変換シーケンス１１３０の所定の時点でどの型のＧＭＡを適用すべきかを制御することができる。
【００４２】
ガマットマッピングステップ（１３０１）は、ガマットマッピングを実行するために、ＧＭＡポインタ１３１０により指示される特定の型のＧＭＡに必要なデータのブロックを含むガマットマッピングデータ１３２０を更に含む。ガマットマッピングデータ１３２０は、カラープロファイル８３０から得られ、かつガマットマッピングステップ（１３０１）がカラー画像データをマッピングしている入力装置と出力装置とに対応する入力色領域境界記述子と出力色領域境界記述子の双方を含むのが好ましい。
【００４３】
例えば、ある特定のＧＭＡは、その特定のＧＭＡによって必要とされるあらゆる情報をセットアップするための初期設定ルーチンを有する。この初期設定データはガマットマッピングデータ１３２０でも提供されるのが好ましい。入力色領域境界記述子及び出力色領域境界記述子１３３０が存在することにより、特定のＧＭＡをカラー画像データに適用するときのガマットマッピングステップ（１３０１）の効率が向上する。
【００４４】
図１４は、色変換シーケンスを用いたカラー画像データの変換をシステムレベルで説明するための図である。図１４では、入力画像データ８１０は色変換シーケンス１１３０により変換される。まず、色変換シーケンス１１３０の第１の変換ステップはプロファイルステップ（１１４１）であり、入力画像データ８１０をＲＧＢなどの入力装置に対応するデバイス依存の色空間からＪＣｈなどのデバイス非依存の色空間へ変換する。
【００４５】
次に、ＧＭＡステップ（１１４２）を入力画像データ８１０に適用し、指示された色領域境界内にガマットマッピングする。ＧＭＡステップ（１１４２）は、カラーマネージメントモジュール８０１から提供されるＧＭＡ８４０を利用する。ＧＭＡ８４０は、ガマットマッピングを正確に実行するために、入力色空間及び出力色空間の色領域境界記述子を利用する。
【００４６】
プロファイルステップ（１１４３）は、入力画像データ８１０をＪＣｈなどのデバイス非依存の色空間からＲＧＢなどの出力装置に対応するデバイス依存の色空間へ変換し、出力画像データ８２０を生成する。
【００４７】
図１５は、カラー画像データの色変換処理を示すフローチャートである。まず、カラーマネージメントモジュール８０１におけるアプリケーションプログラミングインタフェース（ＡＰＩ）の色変換モジュール９２０を呼び出す（Ｓ１５０１）。ここで、ユーザが適用可能な色変換シーケンスを指示する変換ポインタが入力画像データと共に提供される。そして、色変換シーケンスにおける第１の変換ステップを読み取り（Ｓ１５０２）、変換ステップがプロファイルステップであるか否かを判定する（Ｓ１５０３）。ここで、変換ステップがプロファイルステップであれば、そのプロファイルステップから色出現変換及びテーブルをアクセスする（Ｓ１５０４）。
【００４８】
次に、プロファイルステップから変換ステップビットフィールドにアクセスし、復号して色出現変換及びテーブルに含まれる一次元テーブルなどの、どの変換及びテーブルをこの特定のプロファイルステップで利用すべきかを判定する（Ｓ１５０５）。次に、判定に従って入力画像データに適切な変換を適用する（Ｓ１５０６）。
【００４９】
また、ステップＳ１５０３で、変換ステップがＧＭＡステップであると判定された場合には、ＧＭＡステップからＧＭＡポインタと、入力色領域境界記述子及び出力色領域境界記述子にアクセスする（Ｓ１５０７）。
【００５０】
上述したように、ＧＭＡポインタは、入力画像データに適用されるべき適切なＧＭＡをアクセスするために利用される。適切なＧＭＡは従来、ユーザが予め指定した値が、中間データ、属性情報で保持されているものとする。
【００５１】
次に、色領域境界記述子を使用して適切なＧＭＡを入力画像データに適用する（Ｓ１５０８）。そして、色変換シーケンスに処理すべき変換ステップが残っているか否かを判定する（Ｓ１５０９）。ここで、処理すべき変換ステップが残っている場合にはＳ１５０２に戻り、処理すべき変換ステップが存在する間、Ｓ１５０２からＳ１５０９を繰り返し、変換ステップが存在しなければ、この処理を終了する。
【００５２】
このように、ユーザは、色変換シーケンスを通して使用可能なＧＭＡの選択を制御することができ、ガマットマッピングが実行される時点で入力色空間及び出力色空間の色領域記述子を利用する融通性のあるガマットマッピングを行うことにより、精度のよい色再現をすることができる。
【００５３】
上述した印刷処理は、ＰＣＬやPostSCript等、既存のＰＤＬ（Page Description Language）の出力を前提としたものである。
【００５４】
これに対して、モニタへのグラフィックデザインの表示を重視したＳＶＧのようなグラフィックフォーマットが使用されるようになってきている。ＳＶＧとはScaleable Vector Graphicの略で、２次元グラフィックをＸＭＬ形式で記述するための規格である。また、グラフィックスを点の集まりではなく、直線や曲線を表す数値データとして扱う描画方式で、線の座標と角度や方向の集まりで画像を記憶しているため、描いたグラフィックスは自由に移動、反転、拡大、縮小などの処理ができ、データ容量も小さい。
【００５５】
ＳＶＧにはイメージ、ベクターグラフィック、文字の３タイプのオブジェクトがある。ＳＶＧは高度なアプリケーションであり、ＳＶＧを使用して豊富でグラフィカルな機能を利用することができる。その代表として、αブレンドとグラデーションを挙げる。
【００５６】
αブレンドとは別名で半透明コピーと言われる技法である。この処理は、レンダリングを行う色空間（カラースペース）で二つの色値をα値（不透明度）に応じて加算して演算を行う。基本式はＲＧＢをαブレンド結果とし、ＲＧＢ１を転送元ＲＧＢとし、ＲＧＢ２を転送先ＲＧＢとし、αをα値（０．０〜１．０)とすると、次式となる。
【００５７】
ＲＧＢ＝ＲＧＢ１×α＋ＲＧＢ２×（１−α）である。
【００５８】
一方、グラデーションは、レンダリングを行うカラースペースで二つの色値の間を離散的に線形補間した演算を行う。
【００５９】
上述したＳＶＧのαブレンド機能がモニタ上でＷｅｂデザインのデータとして使用され、モニタで表示される場合、αブレンド機能がオペレーティングシステム（ＯＳ）で定めたレンダリング色空間（例えば、ｓＲＧＢのようなＲＧＢ色空間）で実施された後、そのレンダリング色空間のＲＧＢデータがモニタＲＧＢにカラーマッチング変換されて表示されることになる。
【００６０】
即ち、デバイスに依存しないレンダリング色空間でαブレンドの処理がなされた後に、デバイス色空間であるモニタＲＧＢ色空間に変換される。
【特許文献１】特開2001-218079号公報
【発明の開示】
【発明が解決しようとする課題】
【００６１】
しかしながら、上記従来のＩＣＣプロファイルを用いたカラーマッチングにおいては、上述したように、入力デバイスの色空間情報に基づいてマッチングができず、どのような色領域のデバイスの入力カラーデータがきても一律に処理することになってしまうため、カラーマッチング精度を上げることに限界があった。
【００６２】
また、ＰＤＬデータにＩＣＣプロファイルを用いたカラーマッチングを適用してプリンタ出力する際には、図１６に示すように、出力デバイスの色領域に色空間圧縮１６０１を行い、αブレンドのレンダリング１６０２を行うことが一般的に行われている。ここで、ＰＤＬにはαブレンド機能が十分ではないため、レンダリングの前に色空間圧縮を行っても、問題となることはなかった。
【００６３】
しかしながら、上述したＳＶＧのようなαブレンド機能がＷｅｂデザインとして重要な場合、レンダリングの前に色空間圧縮を行うと、αブレンド部分でモニタ表示とプリンタ出力との見えが異なってしまうという問題が生じる。
【００６４】
本発明は、上記課題を解決するためになされたもので、異なる色のオブジェクトの重ね合わせ部分に対して入出力デバイスの色領域をマッチングさせることを目的とする。
【課題を解決するための手段】
【００６５】
本発明は、画像処理装置であって、入力されたオブジェクト毎に付属情報を含む中間データを生成する中間データ生成手段と、前記中間データに基づいてビットマップデータを生成し、前記付属情報と共に格納する格納手段と、前記付属情報を用いて前記ビットマップデータに対する色空間圧縮処理を行う手段とを有することを特徴とする。
【００６６】
また、本発明は、画像処理方法であって、入力されたオブジェクト毎に付属情報を含む中間データを生成する中間データ生成工程と、前記中間データに基づいてビットマップデータを生成し、前記付属情報と共に格納する格納工程と、前記付属情報を用いて前記ビットマップデータに対する色空間圧縮処理を行う工程とを有することを特徴とする。
【発明の効果】
【００６７】
本発明によれば、異なる色のオブジェクトの重ね合わせ部分に対して入出力デバイスの色領域をマッチングさせることができる。
【発明を実施するための最良の形態】
【００６８】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００６９】
尚、実施形態では、ＩＣＣプロファイルを用いたカラーマッチング処理に替わる新しいカラーマッチング処理を印刷処理に組み込み、図１７に示すように、広い色領域でαブレンドのレンダリング１７０１を行い、その後、出力デバイスの色領域に圧縮１７０２する新しい印刷の仕組みについて説明する。
【００７０】
＜構成図＞  
図１８は、本実施形態によるプリンタのコントローラとなるフロントエンドサーバ１８０１とプリンタエンジン１８０２の構成を示すブロック図である。図１８に示すように、プリンタのコントローラとなるフロントエンドサーバ１８０１はネットワークに接続するためのネットワークＩ／Ｆ（インタフェース）部１８１０、ユーザが使用するカラーマネージメントを予め設定するカラーマネージメント設定部１８１１、ＰＤＬ（ページ記述言語）を解析し中間データを生成するＰＤＬインタプリタ部１８１２、そのＰＤＬインタプリタ部１８１２で生成された中間データを格納する中間データ格納部１８１３、プリンタエンジン１８０２とのデータのやり取りを行うための通信インタフェース部１８１４、中間データ格納部１８１３の中間データをビットマップイメージデータに変換するレンダリング部１８１５、カラーマネージメント設定部１８１１で設定されたカラーマッチング処理を行うカラーマネージメント処理部１８１６、カラーマッチングに使用されるプロファイルを格納するプロファイル格納部１８１６Ａ、プロファイルステップ部１８１６Ｂ、ＧＭＡ処理部１８１６Ｃ、ＧＭＡ格納部１８１６Ｄ、展開したビットマップイメージデータを格納するビットマップ格納部１８１７、ビットマップに展開時に作成する付属情報を格納する属性情報格納部１８１８から構成される。
【００７１】
また、プリンタエンジン１８０２は、フロントエンドサーバ１８０１とデータのやり取りを行うための通信Ｉ／Ｆ部１８２０、印刷を行う出力部１８２１から構成される。
【００７２】
図１９は、中間データ格納部１８１３で格納する中間データの構成例を示す図である。図１９に示すように、オブジェクトが持つ属性情報１９０１、及びカラーマネージメント設定部１８１１で設定されたＧＭＡ情報１９０２から構成される。
【００７３】
図２０は、属性情報格納部１８１８に格納される付属情報の構成例を示す図である。尚、付属情報はカラーマネージメント処理部１８１６でビットマップイメージデータに展開するときにピクセルデータに対して作成される。図２０に示すように、付属情報の構成はオブジェクトの種類を示すオブジェクト属性２００１と、カラーマネージメント設定部１８１１で設定されたＧＭＡ情報２００２とから構成される。
【００７４】
＜フローチャートの説明＞
図２１は、フロントエンドサーバ１８０１とプリンタエンジン１８０２とを用いた画像出力処理を示すフローチャートである。まず、フロントエンドサーバ１８０１がネットワークＩ／Ｆ部１８１０を介してＰＤＬデータを受信すると（Ｓ２１０１）、ＰＤＬインタプリタ部１８１２がそのＰＤＬデータを解析する（Ｓ２１０２）。そして、ＰＤＬデータから中間データを生成し、中間データ格納部１８１３に格納する（Ｓ２１０３）。
【００７５】
次に、レンダリング部１８１５が格納された中間データをビットマップイメージデータに展開し、ビットマップ格納部１８１７に格納する（Ｓ２１０４）。ここで、カラーマネージメント処理部１８１６が格納されたビットマップイメージデータに対するＧＭＡ処理を行う（Ｓ２１０５）。最後に、展開されたビットマップイメージデータをプリンタエンジン１８０２に転送して印刷が行われる（Ｓ２１０６）。
【００７６】
上述のように、αブレンド機能をレンダリング色空間で実施した後にＧＭＡ処理を行う仕組みを導入することが可能である。
【００７７】
図２２は、図２１に示すＳ２１０３の詳細な処理を示すフローチャートである。まず、ＰＤＬデータからオブジェクトデータを取り出し、オブジェクト情報及びオブジェクトに設定された入力カラープロファイルを取得する（Ｓ２２０１）。そして、入力カラープロファイルに基づいてプロファイルステップを実行する（Ｓ２２０２）。次に、Colorimetric（色差最小）処理のためのＧＭＡポインタを取り出す（Ｓ２２０３）。そして、入出力カラープロファイルから入力色空間の色領域境界記述子及び出力色空間の色領域境界記述子を取り出す（Ｓ２２０４）。
【００７８】
次に、入出力色空間の色領域境界記述子に基づいてColorimetricのガマットマッピングステップを実行する（Ｓ２２０５）。次に、レンダリング色空間のカラープロファイルを取り出し（Ｓ２２０６）、レンダリング色空間のカラープロファイルに基づいてプロファイルステップを実行する（Ｓ２２０７）。そして、オブジェクトデータの中のその他の情報を解析して中間データに変換し（Ｓ２２０８）、中間データの属性情報にオブジェクト属性情報を付加する（Ｓ２２０９）。
【００７９】
次に、中間データの属性情報に入力色空間の色領域境界記述子情報を付加する（Ｓ２２１０）。そして、カラーマネージメント設定部１８１１で設定されたオブジェクト属性に対するＧＭＡ情報を取り出し（Ｓ２２１１）、中間データの属性情報にＧＭＡ情報を付加する（Ｓ２２１２）。そして、中間データ格納部１８１３に中間データを属性情報と共に格納し（Ｓ２２１３）、処理すべきオブジェクトが存在する間（Ｓ２２１４のＹＥＳ）、上述したＳ２２０１〜Ｓ２２１３の処理を繰り返す。その後、オブジェクトがなくなると（Ｓ２２１４のＮＯ）、この処理を終了する。
【００８０】
このように、文書中の各オブジェクトに対して設定されたカラープロファイルと、レンダリング色空間のカラープロファイルとに基づいて、入力の色空間データをレンダリング色空間に測色的な色空間変換を行い、中間データに属性情報として、オブジェクト属性、入力色空間の色領域記述子、ＧＭＡ情報を設定することができる。
【００８１】
図２３は、図２１に示すＳ２１０４の詳細な処理を示すフローチャートである。まず、中間データ及びその属性情報であるオブジェクト属性情報、入力色空間の色領域境界記述子情報、ＧＭＡ情報を取り出す（Ｓ２３０１）。次に、中間データをレンダリング部１８１５でビットマップイメージデータに変換し（Ｓ２３０２）、ビットマップイメージデータの各ピクセルに対応した属性情報にオブジェクト属性情報、入力色空間の色領域境界記述子情報、ＧＭＡ情報を付加する（Ｓ２３０３）。そして、ビットマップ格納部１８１７にビットマップイメージデータを属性情報と共に格納し（Ｓ２３０４）、処理すべきオブジェクトが存在する間（Ｓ２３０５のＹＥＳ）、上述したＳ２３０１〜Ｓ２３０４の処理を繰り返し、オブジェクトがなくなると（Ｓ２３０５のＮＯ）、この処理を終了する。
【００８２】
このように、中間データをビットマップイメージデータに展開し、ビットマップイメージデータを構成する各ピクセルに対して属性情報として、オブジェクト属性、入力色空間の色領域記述子、ＧＭＡ情報を設定することができる。
【００８３】
図２４は、図２１に示すＳ２１０５の詳細な処理を示すフローチャートである。まず、ピクセルデータ、そのオブジェクト属性情報、入力色空間の色領域境界記述子、ＧＭＡ情報を取り出し（Ｓ２４０１）、出力カラープロファイルから出力色空間の色領域境界記述子を取り出す（Ｓ２４０２）。そして、レンダリング色空間のカラープロファイルを取り出し（Ｓ２４０３）、レンダリング色空間のカラープロファイルに基づいてプロファイルステップを実行する（Ｓ２４０４）。
【００８４】
次に、ＧＭＡ情報に対応したＧＭＡのポインタを取り出し（Ｓ２４０５）、入出力色空間の色領域境界記述子に基づいてＧＭＡ情報のガマットマッピングステップを実行する（Ｓ２４０６）。最後に、プリンタのカラープロファイルを取り出し（Ｓ２４０７）、プリンタのカラープロファイルに基づいてプロファイルステップを実行する（Ｓ２４０８）。ピクセルデータが存在する間（Ｓ２４０９のＹＥＳ）、上述したＳ２４０１〜Ｓ２４０７の処理を繰り返し、ピクセルデータがなくなると（Ｓ２４０９のＮＯ）、この処理を終了する。
【００８５】
このように、展開されたビットマップイメージデータの各ピクセルに対する属性情報として、オブジェクト属性、入力色空間の色領域記述子、ＧＭＡ情報を用いてレンダリング色空間及びプリンタのカラープロファイルに、レンダリング色空間のデータをプリンタの色空間データに色空間圧縮の処理を行うことができる。
【００８６】
本実施形態によれば、αブレンド機能をレンダリング色空間で実施した後に色空間圧縮を行う仕組みを導入することにより、従来の処理に比べてαブレンド部分でモニタ表示とプリンタ出力の見えを近くすることができる。
【００８７】
更に、ＩＣＣプロファイルを用いたカラーマッチングに比べて入出力デバイスの色空間情報に基づいてカラーマッチングを行うことができるようになるため、マッチング精度を向上させた印刷出力が期待できる。
【００８８】
［変形例］
次に、図面を参照しながら本実施形態の変形例について詳細に説明する。上述した実施形態では、レンダリングを行うカラースペースで同じα値の二つの色に対してαブレンドを行う場合を例に説明したが、変形例では図２５に示すように、α値がＡ１である色Ｃ１とα値がＡ２である色Ｃ２とに対してαブレンドを行う場合を例に説明する。この場合、重なり部分のブレンド色は、次式で表すことができる。
【００８９】
Ｃ１×Ａ１×（１−Ａ２）＋Ｃ２×Ａ２
ここで、図２６に示すように、入力色空間がAdobe ＲＧＢで、ガマットマッピング方式がＧＭＡ１で指定され、デジタルカメラの色領域内の色で構成されるラスターイメージと、入力色空間がｓＲＧＢで、ガマットマッピングの方式がＧＭＡ２で指定され、モニタの色領域内の色で構成されるベクターグラフィックスのαブレンドの場合を考える。
【００９０】
この変形例の場合、αブレンドのピクセル処理がされる部分を適切に処理できるＧＭＡ及び色領域は何かというのが問題になる。
【００９１】
そこで、αブレンドのピクセル処理がされる部分を適切に処理できるＧＭＡについては、図２７に示すように、複数のＧＭＡの中から適切なＧＭＡをユーザが選択できるユーザインタフェースを提供し、レンダリング後のデータに対して選択されたＧＭＡを適用する仕組みを提供する。
【００９２】
また、αブレンドのピクセル処理がされる部分を適切に処理できる色領域については、ピクセル処理がレンダリング色空間で実施され、演算後の結果が各オブジェクトで指定された色領域内に確実に入るか否かが不明のため、レンダリング色空間の色領域を使用することで解決する。
【００９３】
尚、変形例における構成は、上述した実施形態において図１８を用いて説明した構成と同様であり、その説明は省略する。
【００９４】
図２８は、中間データ格納部１８１３に格納する中間データの構成例を示す図である。図２８に示すように、オブジェクトが持つ属性情報２８０１、カラーマネージメント設定部１８１１で図２７に示すＵＩによって設定されたＧＭＡ情報２８０２、及び入力色空間の色領域境界記述子情報２８０３から構成される。
【００９５】
図２９は、属性情報格納部１８１８に格納される付属情報の構成例を示す図である。尚、付属情報はカラーマネージメント処理部１８１６でビットマップイメージデータに展開するときにピクセルデータに対して作成される。
【００９６】
付属情報は、図２９に示すように、オブジェクトの種類を示すデータ２９０１、カラーマネージメント設定部１８１１で図２７に示すＵＩによって設定されたＧＭＡ情報２９０２、及び入力色空間の色領域境界記述子情報２９０３から構成される。
【００９７】
次に、変形例におけるフロントエンドサーバ１８０１とプリンタエンジン１８０２とを用いた画像出力処理について説明する。
【００９８】
尚、画像出力処理は、上述した実施形態で図２１を用いて説明した処理と同様であり、ここでは相違する点のみを説明する。
【００９９】
図３０は、変形例における図２１に示すＳ２１０４の詳細な処理を示すフローチャートである。まず、中間データ及びその属性情報である、オブジェクト属性情報、入力色空間の色領域境界記述子情報、ＧＭＡ情報を取り出す（Ｓ３００１）。そして、中間データをレンダリング部１８１５でビットマップイメージデータに変換し（Ｓ３００２）、ビットマップイメージデータ中のピクセルデータを取り出す（Ｓ３００３）。ここで、ピクセル処理がなされているか否かを判定し（Ｓ３００４）、ピクセル処理されている場合は入力色空間の色領域境界記述子情報にレンダリング色空間の色領域境界記述子情報をセットする（Ｓ３００５）。そして、図２７に示すＵＩで選択されたピクセル情報に対するＧＭＡ情報を図２９に示すＧＭＡ情報２９０２にセットする（Ｓ３００６）。
【０１００】
一方、ピクセル処理がされていない場合は、Ｓ３００５、Ｓ３００６の処理を行わず、次の処理へ移行する。そして、各ピクセルに対応した属性情報にオブジェクト属性情報、入力色空間の色領域境界記述子情報、ＧＭＡ情報を付加する（Ｓ３００７）。処理すべきピクセルが存在する間、上述したＳ３００３〜Ｓ３００７の処理を繰り返し（Ｓ３００８）、ピクセルがなくなると、次の処理へ移行する。ここではビットマップ格納部１８１７にビットマップイメージデータを属性情報と共に格納する（Ｓ３００９）。そして、処理すべきオブジェクトが存在する間（Ｓ３０１０のＹＥＳ）、上述したＳ３００１〜Ｓ３００９の処理を繰り返し、オブジェクトがなくなると（Ｓ３０１０のＮＯ）、この処理を終了する。
【０１０１】
このように、中間データをビットマップイメージデータに展開し、ビットマップイメージデータを構成する各ピクセルに対して属性情報として、オブジェクト属性、入力色空間の色領域記述子、ＧＭＡ情報を設定することができる。
【０１０２】
変形例によれば、αブレンドのピクセル処理がされる部分を適切に処理できるＧＭＡ及び色領域を使用可能になるため、αブレンド部分でのモニタ表示とプリンタ出力の見えをより近くすることが可能となる。
【０１０３】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【０１０４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１０５】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１０６】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０８】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０９】
【図１】ｓＲＧＢと印刷ＣＭＹＫとの色領域の違いを示す図、彩度を保持した状態で色再現のマッピングを行う方法、明度を保持して色再現のマッピングを行う方法を示す図である。
【図２】ＩＣＣプロファイルを用いた一般的なカラーマッチング処理の流れを示す図である。
【図３】従来のプリンタのコントローラとなるフロントエンドサーバ３０１とプリンタエンジン３０２の構成を示すブロック図である。
【図４】カラーマネージメント設定部３１１を実現するためのＧＵＩの一例を示す図である。
【図５】従来のフロントエンドサーバ３０１とプリンタエンジン３０２とを用いた印刷処理を示すフローチャートである。
【図６】ＰＤＬデータ中のオブジェクトのカラーデータに対するＧＭＡ処理の詳細を示すフローチャートである。
【図７】ＧＭＡ処理の詳細を示すフローチャートである。
【図８】カラーマネージメントモジュールをシステムレベルで説明するための図である。
【図９】カラーマネージメントモジュール８０１の構成要素を示す図である。
【図１０】カラープロファイル８３０の構造を説明するための図である。
【図１１】色変換シーケンス作成をシステムレベルで説明するための図である。
【図１２】プロファイルステップの構造を説明するための図である。
【図１３】ガマットマッピングステップの構造を説明するための図である。
【図１４】色変換シーケンスを用いたカラー画像データの変換をシステムレベルで説明するための図である。
【図１５】カラー画像データの色変換処理を示すフローチャートである。
【図１６】従来の色空間圧縮１６０１とαブレンドのレンダリング１６０２とを示す図である。
【図１７】実施形態におけるαブレンドのレンダリング１７０１と色空間圧縮１７０２とを示す図である。
【図１８】本実施形態によるプリンタのコントローラとなるフロントエンドサーバ１８０１とプリンタエンジン１８０２の構成を示すブロック図である
【図１９】中間データ格納部１８１３で格納する中間データの構成例を示す図である。
【図２０】属性情報格納部１８１８に格納される付属情報の構成例を示す図である。
【図２１】フロントエンドサーバ１８０１とプリンタエンジン１８０２とを用いた画像出力処理を示すフローチャートである。
【図２２】図２１に示すＳ２１０３の詳細な処理を示すフローチャートである。
【図２３】図２１に示すＳ２１０４の詳細な処理を示すフローチャートである。
【図２４】図２１に示すＳ２１０５の詳細な処理を示すフローチャートである。
【図２５】従来のαブレンドを説明するための図である。
【図２６】従来のαブレンドのピクセル処理での問題を説明するための図である。
【図２７】変形例におけるユーザインタフェースの一例を示す図である。
【図２８】変形例の中間データ格納部１８１３に格納する中間データの構成例を示す図である。
【図２９】変形例の属性情報格納部１８１８に格納される付属情報の構成例を示す図である。
【図３０】変形例における図２１に示すＳ２１０４の詳細な処理を示すフローチャートである。
【図１】
2006345099.tif 000003
【図２】
2006345099.tif 000004
【図３】
2006345099.tif 000005
【図４】
2006345099.tif 000006
【図５】
2006345099.tif 000007
【図６】
2006345099.tif 000008
【図７】
2006345099.tif 000009
【図８】
2006345099.tif 000010
【図９】
2006345099.tif 000011
【図１０】
2006345099.tif 000012
【図１１】
2006345099.tif 000013
【図１２】
2006345099.tif 000014
【図１３】
2006345099.tif 000015
【図１４】
2006345099.tif 000016
【図１５】
2006345099.tif 000017
【図１６】
2006345099.tif 000018
【図１７】
2006345099.tif 000019
【図１８】
2006345099.tif 000020
【図１９】
2006345099.tif 000021
【図２０】
2006345099.tif 000022
【図２１】
2006345099.tif 000023
【図２２】
2006345099.tif 000024
【図２３】
2006345099.tif 000025
【図２４】
2006345099.tif 000026
【図２５】
2006345099.tif 000027
【図２６】
2006345099.tif 000028
【図２７】
2006345099.tif 000029
【図２８】
2006345099.tif 000030
【図２９】
2006345099.tif 000031
【図３０】
2006345099.tif 000032