(57)【特許請求の範囲】
【請求項１】
入力画像を示す描画オブジェクトデータを含むプリントジョブを入力する入力手段と、
前記描画オブジェクトデータをレンダリングするレンダリング手段と、
レンダリング結果に基づき出力画像を形成するプリンタ部と、
を有する画像出力装置であって、
グラデーションオブジェクトを示す描画オブジェクトデータを処理するグラデーション処理部を有し、
前記グラデーション処理部は、グラデーションオブジェクトに対してのみ他のオブジェクトとは異なるタイミングでカラーマッチング処理を行う処理部であって、グラデーションオブジェクト内に設定されている複数のポイントのそれぞれについて入力色空間データを出力デバイス色空間データにカラーマッチング変換し、前記複数のポイントのそれぞれの出力デバイス色空間データを補間することによりグラデーション画像を生成する処理部であり、
前記グラデーションオブジェクトを示す描画オブジェクトデータは、色空間がＲＧＢであることを示すデータ、および、前記複数のポイントの各々のＲＧＢ色データを含む描画オブジェクトデータである
ことを特徴とする画像出力装置。
【請求項２】
前記描画オブジェクトデータはタグとイメージデータとを含み、
前記グラデーション処理部は、前記タグに含まれているグラデーションのオペレータに基づきグラデーション画像を再描画することを特徴とする請求項１記載の画像出力装置。
【請求項３】
入力画像を示す描画オブジェクトデータを含むプリントジョブを入力する入力工程と、
前記描画オブジェクトデータをレンダリングするレンダリング工程と、
プリンタ部にレンダリング結果を出力する出力工程と、
を有する画像処理方法であって、
グラデーションオブジェクトを示す描画オブジェクトデータを処理するグラデーション処理工程を有し、
前記グラデーション処理工程は、グラデーションオブジェクトに対してのみ他のオブジェクトとは異なるタイミングでカラーマッチング処理を行う工程であって、グラデーションオブジェクト内に設定されている複数のポイントのそれぞれについて入力色空間データを出力デバイス色空間データに変換し、前記複数のポイントのそれぞれの出力デバイス色空間データを補間することによりグラデーション画像を生成する工程であり、
前記グラデーションオブジェクトを示す描画オブジェクトデータは、色空間がＲＧＢであることを示すデータ、および、前記複数のポイントの各々のＲＧＢ色データを含む描画オブジェクトデータである
ことを特徴とする画像処理方法。
【請求項４】
入力画像を示す描画オブジェクトデータを含むプリントジョブを入力する入力工程のコードと、
前記描画オブジェクトデータをレンダリングするレンダリング工程のコードと、
プリンタ部にレンダリング結果を出力する出力工程のコードと、
を有する、画像出力装置を制御するためのプログラムであって、
グラデーションオブジェクトを示す描画オブジェクトデータを処理するグラデーション処理工程のコードを有し、
前記グラデーション処理工程は、グラデーションオブジェクトに対してのみ他のオブジェクトとは異なるタイミングでカラーマッチング処理を行う工程であって、グラデーションオブジェクト内に設定されている複数のポイントのそれぞれについて入力色空間データを出力デバイス色空間データに変換し、前記複数のポイントのそれぞれの出力デバイス色空間データを補間することによりグラデーション画像を生成する工程であり、
前記グラデーションオブジェクトを示す描画オブジェクトデータは、色空間がＲＧＢであることを示すデータ、および、前記複数のポイントの各々のＲＧＢ色データを含む描画オブジェクトデータである
ことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラデーションオブジェクトを示す描画オブジェクトデータを出力デバイス色空間データでレンダリングする画像出力装置および画像処理方法に関する。
【０００２】
【従来の技術】
近年、ICCプロファイル等を用いたカラーマッチング処理を行うカラープリンタが普及している。カラーマッチング技術とは、デバイス独立な色空間とデバイス固有の色空間を相互に変換することで、デバイスに独立した色再現を実現するものである。
【０００３】
一般のプリンタにおいては、描画するオブジェクトに応じて適宜カラーマッチング処理を施し、常に最適な色再現を実現するような工夫が施されている。カラープリンタが処理する描画オブジェクトとしては、単線や多角形等の幾何オブジェクトや、ピクセルで構成されたイメージデータ等がある。それぞれのオブジェクトには、その色情報が何らかの形で指定されている。プリンタ内部の描画エンジン部は、オブジェクト描画の際にまず指定された色情報に基づいてカラーマッチング処理を施し、その後にラスタライズウィンドウやバンドメモリ等の展開領域へ、順次描画を行っていくように、構成されている。
【０００４】
例えば、赤の三角形を描画する場合は、赤（255,0,0）という色を、ソースプロファイルを参照して、一旦デバイス独立な色空間値に変換する。次に、該デバイス独立な色空間値に基づき、ディスティネーション側のプロファイルを参照して出力デバイスにおける値を算出し、これを描画エンジンに知らせて描画を実行する。
【０００５】
なお、色変換方法としては、サンプルグリッドで構成されるLUT等にデータを埋め込み、８点補間等の線形演算等を用いて近似値を推定する方法がよく用いられている。補間演算は、例えば以下に示す手続き1),2)を各点に施し、手続き3)を最終点に施すことによって行われる。
【０００６】
1). Li = Pi+dPi*rateX {for each point}
2). Mi = Li+dLi*rateY {for each point}
3). Pi = Mi+dMi*rateZ {for last point}
【発明が解決しようとする課題】
ここで描画オブジェクトが、その色変化を伴う所謂グラデーションである場合について考える。例えば、始点から終点にかけて赤から黒に変化するような線オブジェクトを考えると、その色変換処理は図１で示されるように、描画ラインの上の位置Viに応じて行う必要がある。この時、描画位置の変化(v1−v2)が移動距離(x2ーx1)に対して緩い場合、すなわちv1−v2の値が極めて小さい場合には、計算機の量子化誤差に起因して、色変換結果が所望値にならない場合がある。
【０００７】
本発明は、上記問題に鑑みてなされたものであって、グラデーションを有するオブジェクトに対し、出力デバイス色空間において補間を行うことによって、グラデーション画像をスムーズで綺麗に色再現できるようにすることを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するための一手法として、本発明の画像出力装置は以下の構成を備える。
【００１０】
本発明の一側面は、入力画像を示す描画オブジェクトデータを含むプリントジョブを入力する入力手段と、前記描画オブジェクトデータをレンダリングするレンダリング手段と、レンダリング結果に基づき出力画像を形成するプリンタ部とを有する画像出力装置に係り、前記レンダリング手段は、グラデーションオブジェクトを示す描画オブジェクトデータを処理するグラデーション処理部を有し、前記グラデーション処理部は、グラデーションオブジェクトに対してのみ他のオブジェクトとは異なるタイミングでカラーマッチング処理を行う処理部であって、グラデーションオブジェクト内に設定されている複数のポイントのそれぞれについて入力色空間データを出力デバイス色空間データにカラーマッチング変換し、前記複数のポイントのそれぞれの出力デバイス色空間データを補間することによりグラデーション画像を生成する処理部であり、前記グラデーションオブジェクトを示す描画オブジェクトデータは、色空間がＲＧＢであることを示すデータ、および、前記複数のポイントの各々のＲＧＢ色データを含む描画オブジェクトデータであることを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１４】
＜第１実施形態＞
図２は、本実施形態の概略システム構成を示すブロック図であり、画像処理装置100とプリンタ200が接続されている様子を示す。画像処理装置100において、グラフィクス等の描画オブジェクト群104はプリントジョブ108内のデータ群を構成するものであって、色の変化（GRAD）を有するグラデーションオブジェクト（Obj.1）が含まれる。このデータはアプリケーション101の内部形式105やオペレーティングシステム（OS）102の内部形式106等に適宜変換され、保持されている。
【００１５】
印刷を行う場合は、印刷対象データがプリンタドライバ103の内部形式107に変換、保持され、適宜プリンタ200に送信される。このとき、グラデーションオブジェクト(Obj.1)については、プリンタ200内のGRADハンドラ201へ送られる。GRADハンドラ201は、グラデーションオブジェクトに対してのみ、通常の手続きとは異なる描画処理を行うように、レンダリングエンジン203に働きかける。
【００１６】
レンダリングエンジン203は、入力されたプリントジョブ108に従って、描画対象となるオブジェクト群に対して自身のデバイス色空間（例えばCMYK色空間）へのカラーマッチング処理を施す。その後レンダリングエンジン203は内部のGRAD処理部2031において、入力されたグラデーションオブジェクトに対して該オブジェクト内に設定されているポイント上の出力側色空間色に基づいて、その他の領域の色を適宜補間することによって、再度描画処理を行う。すなわち、グラデーションオブジェクトについては、プリンタ側色空間（例えばCMYK色空間）において色変換の演算処理がなされる。
【００１７】
以下、図３を参照して本実施形態における色変換処理の具体例を説明する。
【００１８】
図３(ａ)は、矩形のグラデーションオブジェクトの例を示し、４つのポイントPi(i=1,2,3,4)において色(Ri,Gi,Bi)が設定されている様子を示す。すなわち、入力側色空間（この場合RGB色空間）において色が設定されている例を示す。ここで従来の色変換処理によれば、入力側色空間（例えばRGB色空間）における色の変化を前提として、プリンタ側の描画処理が設計されていた。
【００１９】
図３(ｂ)は、図３(ａ)に示したグラデーションオブジェクトについて、本実施形態による色変換を施した結果を示す。本実施形態では、入力側色空間（この場合RGB色空間）で示されていた４ポイントPiの色が、出力側色空間（この場合CMYK色空間）の色Ci(i=1,2,3,4)に変換され、これら各ポイントの色に基づき、ポイント間の色Ciが補間により算出される。すなわち、出力側色空間においてCiの補間演算がなされる。従って、プリンタ200においてはよりスムーズで綺麗な色再現が可能となる。
【００２０】
さらに、本実施形態の動作を、上記従来例において図１に示した例について説明する。まず、入力値であるv1、v2それぞれの対応するデバイス値（出力色空間上の値）を求める。そして描画ライン上の値Viを、一般的なカラーマッチング処理でなく、上記２ポイントのデバイス値に基づく補間によって算出する。例えば、v1に対するデバイス値がC1,M1,Y1,K1であり、v2に対するデバイス値がC2,M2,Y2,K2であるとすると、x1とx2の間にあるXiの値は、各色とも以下のように求められる。
【００２１】
Ci = C1 + (C2-C1) * ((Xi-x1)/(x2-x1))  {for each colors}
以上説明したように本実施形態によれば、従来の入力側色空間での色変換処理とは異なり、線や多角形等の幾何オブジェクトに対して適切なポイントを設定し、色の変化値の制御を出力側色空間において行うため、出力側装置においてよりスムーズで綺麗な色再現が可能となる。
【００２２】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００２３】
上述した第１実施形態によれば、グラフィックスオブジェクトのように描画命令等で構成されるデータであれば、たとえグラデーションオブジェクトであっても適切な処理を行うことが可能となる。しかしながら、すでにピクセル等に展開されてしまったイメージ画像等のオブジェクトについては、同様に扱うことはできない。
【００２４】
そこで第２実施形態においては、アプリケーションやオペレーティングシステム側の関数等においてグラデーションオブジェクトを生成した場合、同時にその際に利用されたオペレータや記述子等の情報（Graphics Description Operator、以下「GDO」）を、イメージ画像の拡張タグ部分に埋め込む。そしてプリンタ側においては、埋め込まれた拡張タグを利用してイメージ画像の再描画を行うことを特徴とする。すなわち、イメージファイルに対しても、出力側色空間（例えばCMYK色空間）における演算処理が可能となる。
【００２５】
GDOのデータとしては、例えば矩形領域に対して線形のグラデーションを設定して画像が生成された場合、以下のようなストリングス文字列の集まりで表現される。
【００２６】
0003817473.tif 000002
図４は、オブジェクトの拡張タグとしてGDOデータを埋め込む処理を示すフローチャートである。まずステップＳ１で対象オブジェクトであるか否かを判定し、該当オブジェクトであればステップＳ２へ進み、メモリアロケーション等の準備処理を行う。
【００２７】
そしてステップＳ３では、対象オブジェクトや環境状況等をパラメータ等によりチェックし、ステップＳ４へ進む。ステップＳ４では、データへのオーバライトが可能か否かを検査し、問題がなければステップＳ５へ進み、GDOオペレータを生成する。
【００２８】
ステップＳ６では、生成されたオペレータに基づいてGDOデータを生成する。ステップＳ７では、生成されたGDOデータをタグとして、オリジナルデータに対する追加、書き込み処理を行い、処理を終了する。
【００２９】
図５は、第２実施形態においてGDOタグが追加されたイメージデータのフォーマットを示す図であり、上述した一連の処理によって新規のGDOタグ（GDO.Tag(N+1)）が追加された様子を示している。
【００３０】
図６は、第２実施形態の概略システム構成を示すブロック図であり、画像処理装置100とプリンタ200が接続されている様子を示す。同図において、上述した図２と同様の構成には同一番号を付し、説明を省略する。
【００３１】
第２実施形態において、画像処理装置100内のイメージファイル109は、上述した処理等によってその内部にGDOタグを有している。イメージファイル109を構成する各データは、アプリケーション101の内部形式105やOS102の内部形式106等に適宜変換され、保持されている。
【００３２】
印刷を行う場合は、印刷対象データがプリンタドライバ103の内部形式107に変換、保持され、適宜プリンタ200に送信される。このとき、GDOタグについては、プリンタ200内のGDOハンドラ205へ送られる。GDOハンドラ205は、GDOタグを有するイメージデータに対してのみ、通常の手続きとは異なる描画処理を行うように、レンダリングエンジン203に働きかける。レンダリングエンジン203は、内部にGDO処理部2032を持ち、GDOタグを持つイメージデータが入力されると、そのタグ内に設定されているオペレータを読み出し、該オペレータの指示に従って、再度描画処理を行う。このとき特にグラデーション等の色の変化については、出力側色空間において適宜演算を行い、その結果に基づいて描画処理を行う。すなわち、色変換の演算処理は、プリンタ側色空間（例えばCMYK色空間）において行われる。
【００３３】
図７は、レンダリングエンジン203における機能の一例をプロセス上位側から並べた、概略ブロック図を示す。
【００３４】
オブジェクトハンドラ701は、プリントジョブ108内のオブジェクトを順次処理していくプロセスを実行する。該プロセスから、描画処理部(Drawer)702等が呼び出され、処理が継続的に行われる。
【００３５】
イメージファイル等にGDOタグが含まれており、かつ、それが有効である場合には、図６に示したGDOハンドラ205が起動され、該ハンドラ205による処理が順次行われていく。このとき、GDOタグ内部のオペレータに従って、展開処理等が再構築され、再描画の準備が進められる。その際に、位置情報処理部703が生成され、展開時に必要な位置関係の情報を適宜計算し、描画情報の一部として構造体等に追加する。オブジェクト描画部704は、前記データ群、及び属性処理部705で制御している属性情報（色管理情報等）から、描画に必要な情報群を全てとり揃えるように処理を行う。
【００３６】
これら一連の処理によって、例えば図３(ａ)に示したようなデータも、図３(ｂ)で示したように出力色空間（例えばCMYK色空間）で再構成されることになり、その結果、プリンタ200においてスムーズで綺麗なグラデーション表現が可能となる。
【００３７】
なお、上述した第１実施形態のようにグラフィックスオブジェクトのように描画命令等で構成される画像データについても、第２実施形態と同様に拡張タグ情報を付加するように構成し、プリンタ側における再描画処理を該拡張タグ情報を参照して行うことも可能である。
【００３８】
以上説明したように第２実施形態によれば、従来の入力側色空間での色変換処理とは異なり、GDOオペレータ等の情報をイメージファイルの拡張タグとして埋め込んでおき、これをプリンタ200側の展開処理系で利用することによって、イメージデータの色変換処理を出力側色空間において行うことが可能となり、プリンタ200においてよりスムーズで綺麗な色再現が可能となる。
【００３９】
なお、上述した第１及び第２実施形態は、それらの機能を同時に有しても良い。
【００４０】
また、対象となるグラデーションパターンは、図示した以外のものでも適用可能であることはもちろんである。
【００４１】
また、第２実施形態に示した図６においては、イメージデータをプリンタ200内のGDOハンドラ205に渡す例を示したが、レンダリングエンジン203では、GDOタグ内のオペレータで完全に再描画が可能である場合等、イメージデータが不要である場合にはこれを送信しないように構成しても良い。
【００４２】
また、GDOをタグとして伝達する例を示したが、それ以外の伝達方法を用いても、第２実施形態と同様な効果が得られる。
【００４３】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、立体画像プリンタなど）に適用してもよい。
【００４４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４６】
【発明の効果】
以上説明したように本発明によれば、グラデーションを有するオブジェクトに対し、グラデーションオブジェクトに対してのみ他のオブジェクトとは異なるタイミングでカラーマッチング処理を行うことにより、グラデーションオブジェクト内に設定されている複数のポイントのそれぞれについて入力色空間データを出力デバイス色空間データにカラーマッチング変換し、前記複数のポイントのそれぞれの出力デバイス色空間データを補間することによりグラデーション画像を生成するようにしたので、グラデーション画像をスムーズで綺麗に色再現することができる。
【図面の簡単な説明】
【図１】補間値が描画ラインの位置に応じて変化する概念を示す図である。
【図２】本発明に係る一実施形態の概略システム構成を示すブロック図である。
【図３】色の変化を持つ矩形オブジェクトの色変換例を示す図である。
【図４】第２実施形態における拡張タグ(GDO)の付加処理を示すフローチャートである。
【図５】第２実施形態におけるイメージデータフォーマットを示す図である。
【図６】第２実施形態の概略システム構成を示すブロック図である。
【図７】第２実施形態におけるレンダリングエンジンの機能構成を示すブロック図である。
【符号の説明】
100  画像処理装置
101  アプリケーション
102  ＯＳ
103  プリンタドライバ
104  描画オブジェクト群
105  アプリケーション内部形式データ
106  OS内部形式データ
107  プリンタドライバ内部形式データ
108  プリントジョブ
109  イメージファイル
200  プリンタ
201  GRADハンドラ
202  描画前処理部
203  レンダリングエンジン
204  プリンタエンジン
205  GDOエンジン
2031  GRADハンドラ
2032  GDO処理部
【図１】
0003817473.tif 000003
【図２】
0003817473.tif 000004
【図３】
0003817473.tif 000005
【図４】
0003817473.tif 000006
【図５】
0003817473.tif 000007
【図６】
0003817473.tif 000008
【図７】
0003817473.tif 000009