(57)【要約】【課題】  ＳＶＧのように特定の色空間を前提としたレンダラでレンダリングする系において、ドキュメントがサポートする色空間よりも広い色空間で表現された画像について、画像の色空間からデバイス特有の色空間へと直接変換できるようにし、画像の色を最大限に再現することを目的とする。【解決手段】  レンダリングする際にドキュメント中の全要素がデバイスカラーで記述されたドキュメントを作成し、レンダリング結果をプリンタで色空間変換を行わずに出力する。また、デバイスカラーに変換した画像をドキュメントに挿入する際に色空間情報を書き換え、レンダラで他の色空間に変換されないようにする。【選択図】  図１
2008153849.tif 000002
【特許請求の範囲】
【請求項１】
ドキュメントを出力するための出力手段であって、
第一の色空間で表現される画像データと、
第二の色空間で表現されるグラフィクスと、
１つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、
上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング手段と、
上記レンダリングされた画像を出力するための画像出力手段と、
上記画像データの色空間を上記画像出力手段の色空間へ変換する第一の色空間変換手段と、
上記グラフィクスの色空間を上記画像出力手段の色空間へ変換する第二の色空間変換手段と、
上記ドキュメント中の画像データを、上記第一の色空間変換手段により変換された画像データと置換する、第一の要素置換手段と、
上記ドキュメント中のグラフィクスを、上記第二の色空間変換手段により変換されたグラフィクスと置換する、第二の要素置換手段と、
上記第一の色空間変換手段により変換された画像データの色空間を表す記述を、第二の色空間を表す記述に置換する、色空間置換手段とを有するドキュメント出力手段。
【請求項２】
ドキュメントを出力するための出力手段であって、
第一の色空間で表現される画像データと、
第二の色空間で表現されるグラフィクスと、
１つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、
上記ドキュメント中の画像データを、画像データと同じ大きさの矩形と置換する画像置換手段と、
上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング手段と、
上記レンダリングされた画像を出力するための画像出力手段と、
上記画像データの色空間を上記画像出力手段の色空間へ変換する第一の色空間変換手段と、
上記レンダリングされた画像の色空間を上記画像出力手段の色空間へ変換する第二の色空間変換手段と、
上記第二の色空間変換手段により変換されたレンダリングされた画像中の、上記画像置換手段で置換した矩形に相当する部分に、上記第一の色変換手段により変換された画像データを合成する画像合成手段とを有するドキュメント出力手段。
【請求項３】
請求項1乃至請求項2に記載の手段であって、
前記色空間1はsRGBであることを特徴とする、ドキュメント出力手段。
【請求項４】
請求項1乃至請求項2乃至請求項3に記載の手段であって、
前記出力手段はディスプレイであることを特徴とする、ドキュメント出力手段。
【請求項５】
請求項1乃至請求項2乃至請求項3に記載の手段であって、
前記出力手段はプリンタであることを特徴とする、ドキュメント出力手段。
【請求項６】
請求項1乃至請求項2乃至請求項3乃至請求項4乃至請求項5に記載の手段であって、
前記ドキュメントは、XMLで記述されたものであることを特徴とする、ドキュメント出力手段。
【請求項７】
ドキュメントを出力するための出力装置であって、
第一の色空間で表現される画像データと、
第二の色空間で表現されるグラフィクスと、
1つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、
上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング部と、
上記レンダリングされた画像を出力するための画像出力部と、
上記画像データの色空間を上記画像出力部の色空間へ変換する第一の色空間変換部と、
上記グラフィクスの色空間を上記画像出力部の色空間へ変換する第二の色空間変換部と、
上記ドキュメント中の画像データを、上記第一の色空間変換部により変換された画像データと置換する、第一の要素置換部と、
上記ドキュメント中のグラフィクスを、上記第二の色空間変換部により変換されたグラフィクスと置換する、第二の要素置換部と、
上記第一の色空間変換部により変換された画像データの色空間を表す記述を、第二の色空間を表す記述に置換する、色空間置換部とを有するドキュメント出力装置。
【請求項８】
ドキュメントを出力するための出力装置であって、
第一の色空間で表現される画像データと、
第二の色空間で表現されるグラフィクスと、
1つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、
上記ドキュメント中の画像データを、画像データと同じ大きさの矩形と置換する画像置換部と、
上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング部と、
上記レンダリングされた画像を出力するための画像出力部と、
上記画像データの色空間を上記画像出力部の色空間へ変換する第一の色空間変換部と、
上記レンダリングされた画像の色空間を上記画像出力部の色空間へ変換する第二の色空間変換部と、
上記第二の色空間変換部により変換されたレンダリングされた画像中の、上記画像置換部で置換した矩形に相当する部分に、上記第一の色変換部により変換された画像データを合成する画像合成部とを有するドキュメント出力装置。
【請求項９】
請求項7乃至請求項8に記載の装置であって、
前記色空間1はsRGBであることを特徴とする、ドキュメント出力装置。
【請求項１０】
請求項7乃至請求項8乃至請求項9に記載の装置であって、
前記出力部はディスプレイであることを特徴とする、ドキュメント出力装置。
【請求項１１】
請求項7乃至請求項8乃至請求項9に記載の装置であって、
前記出力部はプリンタであることを特徴とする、ドキュメント出力装置。
【請求項１２】
請求項7乃至請求項8乃至請求項9乃至請求項10乃至請求項11に記載の装置であって、
前記ドキュメントは、XMLで記述されたものであることを特徴とする、ドキュメント出力装置。
【請求項１３】
ドキュメントを出力するための出力プログラムであって、
第一の色空間で表現される画像データと、
第二の色空間で表現されるグラフィクスと、
1つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、
上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング部と、
上記レンダリングされた画像を出力するための画像出力部と、
上記画像データの色空間を上記画像出力部の色空間へ変換する第一の色空間変換部と、
上記グラフィクスの色空間を上記画像出力部の色空間へ変換する第二の色空間変換部と、
上記ドキュメント中の画像データを、上記第一の色空間変換部により変換された画像データと置換する、第一の要素置換部と、
上記ドキュメント中のグラフィクスを、上記第二の色空間変換部により変換されたグラフィクスと置換する、第二の要素置換部と、
上記第一の色空間変換部により変換された画像データの色空間を表す記述を、第二の色空間を表す記述に置換する、色空間置換部とを有するドキュメント出力プログラム。
【請求項１４】
ドキュメントを出力するための出力プログラムであって、
第一の色空間で表現される画像データと、
第二の色空間で表現されるグラフィクスと、
1つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、
上記ドキュメント中の画像データを、画像データと同じ大きさの矩形と置換する画像置換部と、
上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング部と、
上記レンダリングされた画像を出力するための画像出力部と、
上記画像データの色空間を上記画像出力部の色空間へ変換する第一の色空間変換部と、
上記レンダリングされた画像の色空間を上記画像出力部の色空間へ変換する第二の色空間変換部と、
上記第二の色空間変換部により変換されたレンダリングされた画像中の、上記画像置換部で置換した矩形に相当する部分に、上記第一の色変換部により変換された画像データを合成する画像合成部とを有するドキュメント出力プログラム。
【請求項１５】
請求項13乃至請求項14に記載のプログラムであって、
前記色空間1はsRGBであることを特徴とする、ドキュメント出力プログラム。
【請求項１６】
請求項13乃至請求項14乃至請求項15に記載のプログラムであって、
前記出力部はディスプレイであることを特徴とする、ドキュメント出力プログラム。
【請求項１７】
請求項13乃至請求項14乃至請求項15に記載のプログラムであって、
前記出力部はプリンタであることを特徴とする、ドキュメント出力プログラム。
【請求項１８】
請求項13乃至請求項14乃至請求項15乃至請求項16乃至請求項17に記載のプログラムであって、
前記ドキュメントは、XMLで記述されたものであることを特徴とする、ドキュメント出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を含むドキュメントの出力方法及び装置に関する。
【背景技術】
【０００２】
従来より、印刷分野では、画像や文字，ベクターグラフィクスが混在するドキュメントが印刷用データとして用いられている。ドキュメントを構成する画像や文字，ベクターグラフィクスの事を、以降では「オブジェクト」と呼ぶ。ドキュメントは、オブジェクトの描画・レイアウトの命令群として存在し、表示・印刷する際にレンダリングされ、ラスター画像に展開される。そのため、見る環境に応じて最適な表示が可能となる。このようなドキュメントとして代表的なものに、Adobe（Adobeは登録商標）社のPDFや、Microsoft（Microsoftは登録商標）社のWord文書などがあり、それぞれ異なるフォーマットを持っている。ドキュメントをレンダリングするためには、ドキュメントフォーマットに対応したレンダラが必要となる。
【０００３】
オブジェクト群はそれぞれ異なる色空間で表現される場合があり、レンダラは、オブジェクトの色空間をレンダリング後の色空間へ変換する役割も担う。
【０００４】
ここで、色空間とは、色を規定し、表現するための体系である。数値化された色はすべて何らかの色空間を前提に表現されている。以降、「○○（色空間名）のオブジェクト」と言った場合には、オブジェクトの色は○○色空間で表現されたものであるとする。ある色空間で表される色を、他の色空間における同じような色に変換することを、「色空間変換」と呼ぶ。一般に、色空間変換をする際、変換後の色空間で表せない色は圧縮するなどして表示できる色に変換する。そのため、色空間変換をすると、画質が劣化することがある。
【０００５】
色空間変換による画質の劣化を防ぐために、レンダラやデバイスドライバでは様々な工夫がされている。例えば、特開2004-266860で開示されている方法によれば、オブジェクトの種類毎に異なる色空間変換方法を用いるため、それぞれのオブジェクトに合った色空間変換が可能となり、高品質な出力を得ることができる。しかし、特開2004-266860の方法では、特別なレンダラやデバイスドライバが必要となり、既にあるレンダラを流用することができない。
【０００６】
ドキュメントには、特定の色空間のみをサポートするものもある。その場合、対応するレンダラは、特定の色空間を前提としたものとなる。このようなドキュメントには、例えばWorld Wide Web Consortium（W3C）により標準として勧告されているSVG1.1がある。
【０００７】
SVGはXMLベースの2Dベクターグラフィクス記述言語である。SVGを構成するオブジェクトは、それぞれタグ付けされて意味や構造が分かるようになっている。また、オブジェクトは階層的に記述されており、記述の早い部分から順番に処理される。
【０００８】
SVG1.1では、ドキュメントの色空間をsRGBとしており、レンダラは原則としてオブジェクトの色はすべてsRGBで表現されているものとして扱う。このような場合、例えば、図2に示すようなAdobeRGB（Adobeは登録商標）の画像とsRGBのグラフィクスで構成されるSVGをレンダリングすると、画像の色が正確に再現されない。これは、AdobeRGB（Adobeは登録商標）の方がsRGBに比べて再現できる色の範囲が広いのにも関わらず、色空間変換が行われないためである。
【０００９】
しかし、sRGBではない画像を扱えるようにしたレンダラも存在する。そのようなレンダラを介してSVGドキュメントをレンダリング・印刷する際の動作について、図3，4を用いて説明する。
【００１０】
図3は、SVGドキュメントをレンダリング・印刷する際の処理の大まかな流れを表すフローチャートである。
【００１１】
ステップ301では、SVGドキュメントをレンダリングし、印刷用の画像を生成する。レンダリングは、図4を用いて後述する方法で行う。
【００１２】
ステップ302では、ステップ301で生成された印刷用の画像を、プリンタドライバへ転送する。
【００１３】
ステップ303では、プリンタドライバにおいて、印刷用の画像をデバイス特有の色空間（以降、デバイス色空間と呼ぶ）へと変換する。
【００１４】
ステップ304では、ステップ303で変換された画像を印刷する。
【００１５】
図4は、SVGドキュメントをレンダリングする際の処理の流れを表すフローチャートである。ここで、I番目のオブジェクトと言った場合には、オブジェクトが記述されている順にI番目に相当するオブジェクトを指すものとする。
【００１６】
ステップ401では、変数Nにドキュメントに含まれるオブジェクトの数を代入する。
【００１７】
ステップ402では、変数Iに0を代入する。
【００１８】
ステップ403では、ドキュメント中のI番目のオブジェクトが画像かどうかを判定する。画像であれば、ステップ404へ進む。画像でなければ、ステップ406へ進む。
【００１９】
ステップ404では、画像の色空間がsRGBかどうかを判定する。これは、画像に埋め込まれているプロファイルを確認することで実現する。sRGBであれば、ステップ406へ進む。sRGBでなければ、ステップ405へ進む。
【００２０】
ステップ405では、画像の色空間を、sRGBへと変換する。変換処理は、図5，8を用いて後述する方法で行う。
【００２１】
ステップ406では、ドキュメント中のI番目のオブジェクトを描画する。
【００２２】
ステップ407では、変数Iに1を加える。
【００２３】
ステップ408では、変数Iと変数Nの値を比較する。I≧Nであれば、処理を終了する。I<Nであれば、ステップ403へ戻る。
【特許文献１】特開2004-266860号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかし、図3，4を用いて説明した方法では、SVGドキュメントを印刷するまでに、画像に対して2回の色空間変換が行われる。画像の色空間からsRGBへ変換を行う際と、プリンタドライバにおいてsRGBからデバイスの色空間へ変換を行う際である。前述したように、色空間変換には画質劣化が伴うため、図3，4を用いて説明した方法では画像の画質が著しく劣化するという問題がある。
【課題を解決するための手段】
【００２５】
上記の課題を解決するために、本提案件では、SVGのように特定の色空間を前提としたレンダラでレンダリングする系において、ドキュメントがサポートする色空間よりも広い色空間で表現された画像について、画像の色空間からデバイス特有の色空間へと直接変換できるようにし、画像の色を最大限に再現することを目的としている。
【００２６】
そのために、本発明のドキュメント処理装置は、ドキュメントを出力するための出力手段であって、第一の色空間で表現される画像データと、第二の色空間で表現されるグラフィクスと、1つ以上の画像データと1つ以上のグラフィクスで構成されるドキュメントと、上記ドキュメントをレンダリングして、レンダリングされた画像を得る、ドキュメントレンダリング手段と、上記レンダリングされた画像を出力するための画像出力手段と、上記画像データの色空間を上記画像出力手段の色空間へ変換する第一の色空間変換手段と、上記グラフィクスの色空間を上記画像出力手段の色空間へ変換する第二の色空間変換手段と、上記ドキュメント中の画像データを、上記第一の色空間変換手段により変換された画像データと置換する、第一の要素置換手段と、上記ドキュメント中のグラフィクスを、上記第二の色空間変換手段により変換されたグラフィクスと置換する、第二の要素置換手段と、上記第一の色空間変換手段により変換された画像データの色空間を表す記述を、第二の色空間を表す記述に置換する、色空間置換手段とを有することを特徴とする。
【発明の効果】
【００２７】
これらの方法を用いることで、SVGのように特定の色空間を前提としたドキュメントのレンダラでレンダリングする系において、ドキュメントがサポートする色空間よりも広い色空間で表現された画像について、画像の色空間からデバイス特有の色空間へと直接変換できるため、画像の色を最大限に再現することができる。
【発明を実施するための最良の形態】
【００２８】
（第一の実施例）
以下、図面を用いて本発明を具体的に説明する。
【００２９】
図1は、本実施例を実現するシステムの概略を示した図である。CPU101は、システム全体の動作をコントロールし、一次記憶102に格納されたプログラムの実行などを行う。
【００３０】
一次記憶102は、主にメモリであり、二次記憶103に記憶されたプログラムなどを読み込んで格納する。二次記憶103は、主にハードディスクである。一次記憶の容量は二次記憶の容量より小さく、一次記憶に格納しきれないプログラムやデータなどは二次記憶に格納される。また、長時間記憶しなくてはならないデータなども二次記憶に格納される。本実施例では、本実施形態の処理手順を実現するようなプログラムは二次記憶103に格納し、プログラム実行時に一次記憶102に読み込んで、CPU101が実行処理を行う。
【００３１】
入力デバイス104とは例えば、マウスやキーボードである。プログラムに割り込み信号を送るために用いる。
【００３２】
出力デバイス105とは例えば、モニタである。
【００３３】
印刷デバイス106は、例えばインクジェット式プリンタや、レーザービームプリンタであり、印刷をするために用いる。印刷デバイス106は、実際に印刷を行う機械と、機械を制御するドライバにより構成される。ドライバは、印刷用に用意された画像を受け取り、色空間変換を施すなど、印刷をするのに適した形にして、機械へ送る。
【００３４】
ここで、本実施例におけるドライバの色変換処理について、図13を用いて説明する。
【００３５】
印刷用画像1301は、ドライバに送られてくる、印刷用に用意された画像である。
【００３６】
CMS1302は、印刷用画像1301について、印刷用画像の色空間からデバイスRGBへ色空間変換をするモジュールである。
【００３７】
印刷用画像1303は、デバイスRGBで表現された印刷用画像である。
【００３８】
CMS1304は、印刷用画像1303について、デバイスRGBからCMYKへ色空間変換をするモジュールである。
【００３９】
印刷用画像1305は、CMYKで表現された印刷用画像であり、印刷デバイス106で印刷される。
【００４０】
本実施例では、SVGドキュメントをレンダリングして印刷する際の動作について説明する。なお、以降で単にSVGと言う場合は、World Wide Web Consortium（W3C）により標準として勧告されているSVG1.1を示すものとする。また、本実施例におけるSVGレンダラは、図4を用いて説明した手順で動作するものとする。
【００４１】
まず、色空間を変換する方法について、図５，8を用いて説明する。色空間の変換は、一般的なCMSにより実現される。
【００４２】
図5は一般的なCMSを説明する図である。CMSは、同一のカラー画像を複数の出力デバイス105や、印刷デバイス106で良好に色再現するための色処理技術である。
【００４３】
ＣＭＳによれば、入力系の色信号は出力系の色信号へ変換される。具体的には、まず、入力系装置に関する所定の変換式もしくは変換テーブルにより、入力系装置に依存する入力色信号を装置に依存しない色空間（ＰＣＳ：  Ｐｒｏｆｉｌｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ｓｐａｃｅ）上の色信号に変換する。装置に依存する色空間上の色信号と、ＰＣＳ上の色信号とを相互変換する所定の変換式もしくは変換テーブルが、その装置のプロファイルである。ここで、入力系装置とは、画像を作成する装置のことであり、デジタルカメラや、画像を編集するアプリケーションである。
【００４４】
ＰＣＳ上に変換された色信号に、所定の色処理を施して、出力すべき信号値を得た後、各出力系装置のプロファイルを参照して、その色信号を出力系装置に依存する色空間上の色信号に変換する。
【００４５】
ＣＭＳによれば、各装置のプロファイルに基づき、各装置に依存する色空間とＰＣＳとの間で色信号を変換することで、複数の異なる装置間における色合わせが実現される。
【００４６】
一般に、ＰＣＳとしては、測色に用いられる色空間であるＣＩＥ  ＸＹＺやＣＩＥ  ＬＡＢなどが用いられる。そして、画像入出力装置のプロファイルには、その装置によって入力または出力される可視像（例えばディスプレイ）の測色値と、色信号との対応関係、すなわち、その装置の色再現特性が格納される。従って、プロファイルは、例えば、画像出力装置に所定の色信号に基づく画像を出力させ、その出力画像の測色値と色信号との対応関係に基づき作成される。
【００４７】
図8はＣＭＳを導入した画像出力装置における色処理の一例を示す図である。図8は、レッド（R）、グリーン（G）、ブルー（B）の液晶等によって画面上に画像を形成するディスプレイを想定したものである。
【００４８】
画像入力装置に依存する入力ＲＧＢ信号は、画像入力装置の色再現特性が格納された入力プロファイル84を参照する入力装置モデル変換部81により、ＰＣＳであるＣＩＥ  ＸＹＺ空間上のＸＹＺ信号に変換される。カラーマッピング部82は、入力されるＸＹＺ信号を画像出力装置の色再現領域内のＸ’Y’Z’信号に変換する。X’Y’Z’信号は、画像出力装置の色再現特性が格納された出力プロファイル85を参照する出力装置モデル変換部83により、画像出力装置に依存するRGB信号に変換される。
【００４９】
出力装置モデル変換部83は、プロファイル85に格納された三次元ルックアップテーブル（以下「３ＤＬＵＴ」と呼ぶ）を用いて、均等色空間であるＣＩＥＬＡＢ上の入力信号X’Y’Z’を、画像出力装置に依存する信号Ｒ’Ｇ’Ｂ’に変換する。３ＤＬＵＴは、X’Y’Z’信号値と、対応するR’G’B’信号値との関係を示すテーブルである。そのテーブルを構成するR’G’Ｂ’信号値は、例えば下記のように離散的な格子点に対応する。出力プロファイル変換部81は、３ＤＬＵＴにおいて入力信号X’Y’Z’近傍の複数の格子点を検索し、それら格子点に対応するデータおよび入力信号X’Y'Z’から、公知の立方体補間等の補間方法を用いて出力するＲ’Ｇ’Ｂ’値を演算する。
【００５０】
{X', Y', Z'} ＝ {0,0,0}
{0,0,32}
：
{0,0,224}
{0,0,255}
{0,32,0}
{0,32,32}
：
{255,255,255}
第一の実施例における実施形態の基本的な流れについて、図6を用いて説明する。
【００５１】
図6は、SVGドキュメントを印刷デバイス106で印刷する際の処理の手順を示すフローチャートである。
【００５２】
ステップ601では、各オブジェクトの色空間を印刷デバイス106のデバイス色空間へ変換し、全オブジェクトがデバイス色空間で表現されるSVGドキュメントを生成する。詳細は図7を用いて後述する。
【００５３】
ステップ602では、ステップ601で生成されたSVGドキュメントをレンダリングし、印刷用画像を生成する。レンダリングは、図4を用いて前述した方法で行う。
【００５４】
ステップ603では、ステップ602の結果得られる印刷用画像を、印刷デバイス106へ渡す。
【００５５】
ステップ604では、ステップ802において印刷デバイス106が受け取った印刷用画像を、印刷する。このとき、ドライバにおいてCMS1302の処理をスキップするようにする。
【００５６】
次に、図6のステップ601の詳細について、図7を用いて説明する。
【００５７】
図7は、ドキュメント内の各オブジェクトが、デバイス色空間で表現されるSVGドキュメントを生成する際の処理の手順を表すフローチャートである。図7において、元のSVGドキュメントを旧ドキュメント，新しく生成されるSVGドキュメントを新ドキュメントと呼ぶ。
【００５８】
ステップ701では、新ドキュメントを作成する。以降の処理で、新ドキュメントにオブジェクトを追加していく。
【００５９】
ステップ702では、変数Nに旧ドキュメントのオブジェクトの数を代入する。
【００６０】
ステップ703では、変数Iに0を代入する。
【００６１】
ステップ704では、旧ドキュメントのI番目のオブジェクトが画像かどうかを調べる。画像である場合は、ステップ705へ進む。画像でない場合は、ステップ707へ進む。
【００６２】
ステップ705では、画像の色空間をデバイスの色空間へ変換する。色空間変換は、図5，8を用いて前述した方法で行う。
【００６３】
ステップ706では、ステップ705で色変換を施した画像を、新ドキュメントに挿入する。その際、画像の色空間はsRGBであると偽装する。色空間の偽装は、画像に埋め込まれているプロファイルを削除したり、Exifタグに書かれている情報を書き換えたりすることで実現する。これにより、ドキュメントのレンダリング時に、色変換がされない。
【００６４】
ステップ707では、オブジェクトの色を、ｓRGBで表される色からデバイス色空間で表される色へ変換する。
【００６５】
ステップ708では、オブジェクトの色の記述を、ステップ707で変換された色へと書き換え、新ドキュメントに挿入する。前述したように、SVGは原則的にオブジェクトの色をsRGBとして扱う。そのため、書き換えた色もsRGBとして扱われ、ドキュメントのレンダリング時に色変換はされない。
【００６６】
ステップ709では、変数Iに1を加える。
【００６７】
ステップ710では、変数Iと変数Nの値を比較する。I≧Nであれば、処理を終了する。I<Nであれば、ステップ703へ戻る。
【００６８】
以上説明したように、第一の実施例に示すドキュメントのレンダリング方法では、レンダリングする際にドキュメント中の全要素がデバイスカラーで記述されたドキュメントを作成し、レンダリング結果をプリンタで色空間変換を行わずに出力する。
【００６９】
（第二の実施例）
第二の実施例では、画像を1枚含むSVGドキュメントを印刷する方法について説明する。
【００７０】
まず、第二の実施例における実施形態の基本的な流れについて、図9を用いて説明する。
【００７１】
図9は、SVGドキュメントを印刷デバイス106で印刷する際の処理の手順を示すフローチャートである。
【００７２】
ステップ901では、SVGドキュメント中の画像の色空間を、デバイス色空間へ変換する。
【００７３】
ステップ902では、SVGドキュメント内の画像を、RGB=（R1,G1,B1）の色で塗りつぶされた矩形で置き換える。ここで、RGB=（R1,G1,B1）は、抜き色として予め定めた値とする。ステップ901，902の処理の詳細は、図10を用いて後述する。
【００７４】
ステップ903では、SVGドキュメントをレンダリングし、印刷用画像を生成する。レンダリングは、図4を用いて前述した方法で行う。
【００７５】
ステップ904では、ステップ903の結果得られる印刷用画像の色空間を、ｓRGBからデバイスの色空間へ変換する。色空間変換は、図5，8を用いて前述した方法で行う。
【００７６】
ステップ905では、ステップ904で色空間変換された印刷用画像と、ステップ901で色空間変換された画像を合成する。詳細は図11を用いて後述する。
【００７７】
ステップ906では、ステップ905の結果得られる印刷用画像を、印刷デバイス106へ渡す。
【００７８】
ステップ907では、ステップ906において印刷デバイス106が受け取った印刷用画像を、印刷する。このとき、ドライバにおいてCMS1302の処理をスキップするようにする。
【００７９】
次に、図9のステップ901，902で行われる処理の詳細について、図10に示すフローチャートを用いて説明する。
【００８０】
ステップ1001では、変数Nにオブジェクトの数を代入する。
【００８１】
ステップ1002では、変数Iに0を代入する。
【００８２】
ステップ1003では、ドキュメントのI番目のオブジェクトが画像かどうかを調べる。画像であれば、ステップ1004へ進む。画像でなければ、ステップ1007へ進む。
【００８３】
ステップ1004では、画像の位置XI,YI，大きさWI,HIを取得する。
【００８４】
ステップ1005では、画像の色空間を、デバイス色空間へ変換する。色空間変換は、図5，8を用いて前述した方法で行う。
【００８５】
ステップ1006では、位置XI,YI，大きさWI,HIの矩形オブジェクトを、画像の代わりに挿入する。この時、他のオブジェクトとの上下関係が保たれるようにする。また、矩形オブジェクトは、RGB=（R1,G1,B1）の色で塗りつぶす。
【００８６】
ステップ1007では、I+1番目以降のオブジェクトのうち、画像と重なるものがあるかどうかを調べる。これは、I+1番目以降のオブジェクトの位置，大きさを、画像の位置，大きさと比較することで実現する。I+1番目以降のオブジェクトのうち、画像と重なるものがあれば、ステップ1007へ進む。重なるものがなければ、ステップ1008へ進む。
【００８７】
ステップ1007では、I+1番目以降の各オブジェクトと画像との籍集合を算出し、籍集合の和集合を算出し、和集合の領域の形で画像を切り抜き、挿入する。これにより、オブジェクトが透明度を持っている場合に、下に重なる画像とアルファブレンドをすることができる。
【００８８】
ステップ1008では、変数Iに1を加える。
【００８９】
ステップ1009では、変数Iと変数Nの値を比較する。I≧Nであれば、処理を終了する。I<Nであれば、ステップ1003へ戻る。
【００９０】
次に、図9のステップ905で行われる処理の詳細について、図11に示すフローチャートを用いて説明する。図11において、図9のステップ904で得られる画像を「印刷用画像」，図9のステップ901で得られる画像を単に「画像」と呼ぶ。
【００９１】
ここで、印刷用画像と画像の座標系について、図１２を用いて説明する。印刷用画像について、位置や大きさは、印刷用画像の左上端の点を原点とし、右方向に+X，下方向に+Yとなる座標系で表されるものとする。同様に、画像について、位置や大きさは、画像の左上端の点を原点とし、右方向に+X，下方向に+Yとなる座標系で表されるものとする。上記位置，大きさとも、単位はピクセルである。また、印刷用画像の幅，高さをそれぞれWP，HPとする。画像の位置をXI,YI，幅，高さをそれぞれWI,HIとする。更に、印刷用画像における座標(x,y)の画素の色を、RGBP(x,y)とする。画像における座標(x,y)の画素の色を、RGBI(x,y)とする。
【００９２】
ステップ1101では、図10のステップ1006で挿入した矩形の色RGB=（R1,G1,B1）を、sRGBで表される色からデバイス色空間で表される色へ変換する。変換された色を、RGB=（R2,G2,B2）とする。
【００９３】
ステップ1102では、変数jに0を代入する。
【００９４】
ステップ1103では、変数iに0を代入する。
【００９５】
ステップ1104では、印刷用画像における座標(i,j)の画素の色RGBP(i,j)と、ステップ1101で変換された色RGB=（R2,G2,B2）を比較する。RGBP(i,j)=（R2,G2,B2）であれば、ステップ1105へ進む。RGBP(i,j)≠（R2,G2,B2）であれば、ステップ1106へ進む。
【００９６】
ステップ1105では、印刷用画像における座標(i,j)の画素の色RGBP(i,j)に、画像における座標(i-XI, j-YI)の画素の色RGBI(i-XI, j-YI)を代入する。
【００９７】
ステップ1106では、変数iに1を加える。
【００９８】
ステップ1107では、変数iとWPの値を比較するi≧WPであれば、ステップ1108へ進む。i<WPであれば、ステップ1004へ戻る。
【００９９】
ステップ1108では、変数jに1を加える。
【０１００】
ステップ1109では、変数jとHPの値を比較するj≧HPであれば、処理を終了する。j<HPであれば、ステップ1103へ戻る。
【０１０１】
本実施例では、SVGドキュメントに含まれる画像が1枚の場合について説明したが、複数の抜き色と、それぞれに対応する画像との対応表を作成することで、複数枚の画像が含まれるような場合についても対応が可能となる。
【０１０２】
第二の実施例に示すドキュメントのレンダリング方法では、レンダリングする際にドキュメント中の画像部分を抜き色に置き換えてデバイスカラーへレンダリングする。画像は別途デバイスカラーに変換し、デバイス色空間上で画像とドキュメントをブレンドする。ブレンド結果をプリンタで色空間変換を行わずに出力する。
【図面の簡単な説明】
【０１０３】
【図１】実施例におけるシステム構成を表す図である。
【図２】画像を含むSVGドキュメントの例を表す図である。
【図３】一般的な、SVGドキュメントのレンダリング・印刷処理の流れを示すフローチャートである。
【図４】一般的な、SVGドキュメントのレンダリング処理の流れを示すフローチャートである。
【図５】CMSの一般的な概念を説明する図である。
【図６】実施例1における、SVGドキュメントのレンダリング・印刷処理の流れを示すフローチャートである。
【図７】実施例1における、全オブジェクトの色がデバイス色空間で表現されるSVGドキュメントを生成する処理の流れを示すフローチャートである。
【図８】CMSを導入した画像出力装置における色処理の一例を説明する図である。
【図９】実施例2における、SVGドキュメントのレンダリング・印刷処理の流れを示すフローチャートである。
【図１０】実施例2における、ドキュメント中の画像を矩形で置き換える処理の流れを示すフローチャートである。
【図１１】実施例2における、画像と印刷用画像を合成する処理の流れを示すフローチャートである。
【図１２】実施例2における、印刷用画像と画像の座標系を表す図である。
【図１３】実施例における印刷デバイス106のドライバの、色空間変換の動作を表す図である。
【符号の説明】
【０１０４】
101  CPU
102  一次記憶
103  二次記憶
104  入力デバイス
105  出力デバイス
106  印刷デバイス
81  入力装置モデル変換部
82  カラーマッピング部
83  出力装置モデル変換部
84  入力プロファイル
85  出力プロファイル
1301  印刷用画像
1302  CMS1
1303  デバイスRGBの印刷用画像
1304  CMS2
1305  CMYKの印刷用画像
【図１】
2008153849.tif 000003
【図２】
2008153849.tif 000004
【図３】
2008153849.tif 000005
【図４】
2008153849.tif 000006
【図５】
2008153849.tif 000007
【図６】
2008153849.tif 000008
【図７】
2008153849.tif 000009
【図８】
2008153849.tif 000010
【図９】
2008153849.tif 000011
【図１０】
2008153849.tif 000012
【図１１】
2008153849.tif 000013
【図１２】
2008153849.tif 000014
【図１３】
2008153849.tif 000015