(57)【特許請求の範囲】
【請求項１】
印刷を実行させるための印刷データを印刷ソースに基づいて生成する印刷装置において、
余白領域に所定の色で着色する指示を受けた場合に単一の印刷ソースから生成したスプールファイルを二重化する二重化手段と、
上記スプールファイルの一方を描画することにより印刷イメージを生成するレンダリング手段と、
他方の上記スプールファイルを上記レンダリング手段とは異なる手法にて描画することにより上記印刷イメージにおけるオブジェクトのうち白である領域についてもオブジェクトが存在する領域であると示す第１位置データを生成するとともに、
上記印刷イメージの全領域のうち、上記第１位置データに基づいて特定したオブジェクト存在領域についてハーフトーン処理を行うハーフトーン手段と、
上記ハーフトーン手段が生成したハーフトーンデータに基づいて上記印刷データを生成する印刷データ生成手段とを具備することを特徴とする印刷装置。
【請求項２】
上記ハーフトーン手段は、上記スプールファイルに基づいて黒キャンバス上に描画を行い、当該黒キャンバスを白黒反転させた反転画像に対して上記スプールファイルに基づく描画を透過モードで行うことにより上記第１位置データを生成することを特徴とする請求項１に記載の印刷装置。
【請求項３】
上記ハーフトーン手段は、
上記レンダリング手段が描画した上記印刷イメージに基づいて第２位置データを生成するとともに、
上記印刷イメージの全領域のうち、上記第１位置データと上記第２位置データとに基づいて特定したオブジェクト存在領域についてハーフトーン処理を行うことを特徴とする請求項１または請求項２のいずれかに記載の印刷装置。
【請求項４】
上記ハーフトーン手段は、上記第１位置データと上記第２位置データの少なくともいずれかがオブジェクトの存在を示す領域を上記オブジェクト存在領域であると特定することを特徴とする請求項１から請求項３のいずれか一項に記載の印刷装置。
【請求項５】
上記ハーフトーン手段は、上記二重化手段が上記スプールファイルの二重化を行わないとき、上記印刷イメージのうち白でない領域を上記第２位置データに基づいて特定し、同特定した領域についてハーフトーン処理を行うことを特徴とする請求項３または請求項４のいずれか一項に記載の印刷装置。
【請求項６】
印刷を実行させるための印刷データを印刷ソースに基づいて生成する印刷方法において、
所定の場合に単一の印刷ソースから生成したスプールファイルを二重化し、
上記スプールファイルの一方を描画することにより印刷イメージを生成し、
他方の上記スプールファイルを上記印刷イメージの描画とは異なる手法にて描画することにより上記印刷イメージにおけるオブジェクトのうち白である領域についてもオブジェクトが存在する領域であると示す第１位置データを生成するとともに、
上記印刷イメージの全領域のうち、上記第１位置データに基づいて特定したオブジェクト存在領域についてハーフトーン処理を行い、
上記ハーフトーン処理で生成されたハーフトーンデータに基づいて上記印刷データを生成することを特徴とする印刷方法。
【請求項７】
印刷を実行させるための印刷データを印刷ソースに基づいて生成する機能をコンピュータに実行させるためのコンピュータ読み取り可能な印刷プログラムにおいて、
余白領域に所定の色で着色する指示を受けた場合に単一の印刷ソースから生成したスプールファイルを二重化する二重化機能と、
上記スプールファイルの一方を描画することにより印刷イメージを生成するレンダリング機能と、
他方の上記スプールファイルを上記レンダリング機能とは異なる手法にて描画することにより上記印刷イメージにおけるオブジェクトのうち白である領域についてもオブジェクトが存在する領域であると示す第１位置データを生成するとともに、
上記印刷イメージの全領域のうち、上記第１位置データに基づいて特定したオブジェクト存在領域についてハーフトーン処理を行うハーフトーン機能と、
上記ハーフトーン機能にて生成したハーフトーンデータに基づいて上記印刷データを生成する印刷データ生成機能とをコンピュータに実行させることを特徴とするコンピュータ読み取り可能な印刷プログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷方法および印刷プログラムに関し、特に印刷を実行させるための印刷データを印刷ソースに基づいて生成する印刷装置に関する。
【背景技術】
【０００２】
写真画像データなどを印刷する場合、当該写真画像データが割り付けられた写真画像領域外に余白領域が生成される。この余白領域についても写真画像領域と同様に色変換処理とハーフトーン処理を行うと、当該余白領域についても理想的な白色となるようにインクによる着色がなされる場合がある。印刷用紙の紙地の色と、写真画像データに含まれる白色が真に意味する色が相違しており、その相違を解消するために白色の領域についてもインクによる着色をする場合があるからである。これにより、精度のよいカラーマッチングを実現することができる。しかしながら、余白領域についてもインクによる着色がなされると、インクを無駄に消費している印象をユーザーに与えるという問題が生じることとなる。
【０００３】
このような問題に対して、色変換処理の段階で、色変換対象の画素が余白領域のようなドローデータに由来するものであるか、写真画像領域のようなイメージデータに由来するものであるかを判別し、それぞれについて異なる色変換を実施するもが提案されている（特許文献１、参照。）。当該文献では、描画コマンドに基づいてレンダリングを行う際に、レンダリング後の各領域がドローデータに由来するものであるか、イメージデータに由来するものであるかを特定する管理画素データを予め作成している。そして、レンダリング後の色変換処理において、上記管理画素データを参照して各画素に適した色変換処理を行うようにしている。このようにすれば、余白領域のようなドローデータに由来する領域の白色についてはインクを使用させないような色変換処理を実施することも可能である。
【特許文献１】特開２００１−１１１８１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、レンダリングを行うレンダラに対して管理画素データを生成するように手を加えることができない場合があり、上述した文献のような手法が適用でないという問題があった。具体的には、レンダラがオペレーティングシステム等のプリンタドライバ以外の機能によって提供される場合には、プリンタドライバがレンダリング処理に介入することができず、上述した管理画素データを作成させることができないという問題があった。
本発明は、上記課題にかんがみてなされたもので、レンダラに特別な処理をさせることなく白色の由来を識別することができる印刷制御装置、印刷制御方法および印刷制御プログラムを提供しようとするものである。
【課題を解決するための手段】
【０００５】
本発明の印刷装置では、二重化手段は余白領域に所定の色で着色する指示を受けた場合に単一の印刷ソースから生成したスプールファイルを二重化する。例えば、上記スプールファイルを生成し、当該スプールファイルをコピーすることにより二重化することができる。レンダリング手段は、二重化された上記スプールファイルの一方を描画することにより印刷イメージを生成する。上記レンダリング手段は入力された上記スプールファイルを描画すればよいため、実質的には上記レンダリング手段が特別な処理を行う必要はない。ハーフトーン手段は、他方の上記スプールファイルを上記レンダリング手段とは異なる手法によって描画することにより、上記印刷イメージにおけるオブジェクトのうち白である領域についてもオブジェクトが存在する領域であると示す第１位置データを生成する。そして、上記印刷イメージの全領域のうち、上記第１位置データに基づいて特定したオブジェクト存在領域についてハーフトーン処理を行う。すなわち、ハーフトーン処理の対象を上記印刷イメージの全領域のうちのオブジェクト存在領域に限定し、それ以外の領域についてはハーフトーン処理を行わないようにする。従って、上記第１位置データが示す上記オブジェクト存在領域以外の領域については色材による着色を回避させることができる。印刷データ生成手段は、上記ハーフトーン手段が生成したハーフトーンデータに基づいて上記印刷データを生成する。
【０００６】
また、第１位置データを生成する具体的手法として、上記スプールファイルに基づいて黒キャンバス上に描画を行い、当該黒キャンバスを白黒反転させた反転画像に対して上記スプールファイルに基づく描画を透過モードで行うようにしてもよい。このようにすれば、上記第１位置データにおいてオブジェクトが存在する領域を白以外の色で表現しつつオブジェクトが存在しない領域を白で表現することができ、オブジェクトが存在するか否かを容易に判別することができる。
【０００７】
また、上記第１位置データは上記印刷イメージとは独立して描画を行うことにより生成されており、上記印刷イメージとの間でオブジェクトの位置に誤差が生じる可能性がある。これに対して、上記レンダリング手段が生成した上記印刷イメージに基づいて第２位置データを生成し、上記第１位置データと上記第２位置データの双方に基づいて特定したオブジェクト存在領域についてハーフトーン処理を行うようにしてもよい。上記第２位置データは上記印刷イメージから生成されているため、オブジェクトの位置に関して正確である。従って、上記第１位置データに基づく位置判定の不正確さを上記第２位置データによって解消することができる。
【０００８】
さらに、上記二重化手段が上記スプールファイルの二重化を行わず上記スプールファイルが単一である場合において、上記第２位置データのみを使用して、上記ハーフトーン手段が上記印刷イメージのうち白でない領域についてのみハーフトーン処理を行うようにしてもよい。このようにハーフトーン処理を切り換えることにより、印刷画像における白色の表現の仕方をユーザーの希望に沿わせることができる。
【０００９】
さらに本発明の技術的思想は、印刷装置において行われる印刷方法においても具現化されることはいうまでもない。また、当該印刷方法を実現するための印刷プログラムをコンピュータに読み込ませ、所定の機能を実行させることにより、コンピュータを用いて実現することも可能である。さらに、上述した印刷装置や印刷方法や印刷プログラムを一部に有する他の装置や方法やプログラムにおいても、本発明の技術的思想を具現化することができる。例えば、上述した印刷装置の各手段を含むスキャナ付きプリンタにおいても本発明の効果を得ることができる。また、上述した印刷装置や印刷方法や印刷プログラムが有する手段や工程や機能が複数の装置において分担されて実現されるものであってもよい。例えば、複数の機能がネットワークを介して接続された複数のコンピュータによって実現されてもよい。
【発明を実施するための最良の形態】
【００１０】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）印刷装置の構成：
（２）印刷処理：
（２−１）白地へのかぶり効果をオン（全面）にするときの処理：
（２−２）白地へのかぶり効果をオンにするときの処理：
（２−３）白地へのかぶり効果をオフにするときの処理：
（３）変形例：
【００１１】
（１）印刷装置の構成
図１は、本発明の一実施形態にかかる印刷装置の一部を構成するコンピュータの構成を示している。同図において、コンピュータ１０はＣＰＵとＲＡＭとＲＯＭとからなる制御部１１とハードディスクドライブ（ＨＤＤ）１２とＵＳＢインターフェース（Ｉ／Ｆ）１３と入力インターフェース（Ｉ／Ｆ）１４とビデオインターフェース（Ｉ／Ｆ）１５とバス１６とから構成されている。バス１６によって、制御部１１とＨＤＤ１２とＵＳＢＩ／Ｆ１３と入力Ｉ／Ｆ１４とビデオＩ／Ｆ１５との間でデータが送受信可能となっている。ＵＳＢＩ／Ｆ１３にはプリンタ２０が接続され、入力Ｉ／Ｆ１４にはキーボード３０ａとマウス３０ｂが接続されている。ビデオＩ／Ｆ１５には、ディスプレイ４０が接続されている。ＨＤＤ１２にはオペレーティングシステムＯＳやプリンタドライバＰＤやアプリケーションＡＰＬを実行するためのプログラムデータ１２ａが記憶されており、制御部１１のＣＰＵがプログラムデータ１２ａを読み出してＲＡＭ上に展開しつつオペレーティングシステムＯＳやプリンタドライバＰＤやアプリケーションとしての一般プログラムＧＰに相当する演算を実行する。
【００１２】
制御部１１においてはオペレーティングシステムＯＳが実行されており、オペレーティングシステムＯＳ上でプリンタドライバＰＤと一般プログラムＧＰが実行されている。オペレーティングシステムＯＳは、各プログラムが共通して使用可能なＡＰＩを有しており、そのひとつとしてプリントシステムＰＳを提供している。プリントシステムＰＳは、スプーラＰＳ１とレンダラＰＳ２とＵＩ部ＰＳ３とから構成されている。スプーラＰＳ１は、例えばワープロソフト等の一般プログラムＧＰから指示された印刷ソースＩＳを、描画コマンドを含むスプールファイルＳＦに変換してスプールする機能を実行する。レンダラＰＳ２はスプールファイルＳＦの描画コマンドに基づいて描画（レンダリング）を行うことにより印刷ソースＩＳに対応したビットマップデータ（印刷イメージＩＤ）を生成する機能を実行する。プリンタドライバＰＤは、二重化部（手段）ＰＤ１と色変換部ＰＤ２とハーフトーン部（手段）ＰＤ３と印刷データ生成部（手段）ＰＤ４と指示受付部ＰＤ５から構成されている。
【００１３】
二重化部ＰＤ１は、スプーラＰＳ１が生成したスプールファイルＳＦがレンダラＰＳ２に受け渡される際に、当該スプールファイルＳＦをコピーして二重化する機能を実行する。色変換部ＰＤ２は、レンダラＰＳ２が生成した印刷イメージＩＤをＨＤＤ１２に記憶されたルックアップテーブル（ＬＵＴ：Look Up Table）１２ｂを参照して色変換する。本実施形態のプリンタ２０は、シアン（Ｃ）マゼンタ（Ｍ）イエロー（Ｙ）ブラック（Ｋ）のインクを使用して印刷を行うものであり、印刷イメージＩＤはＣＭＹＫインク量のビットマップデータに色変換されることとなる。ハーフトーン部ＰＤ３は、第１位置データ生成部ＰＤ３ａと第２位置データ生成部ＰＤ３ｂとオブジェクト存在領域特定部ＰＤ３ｃとハーフトーン処理部ＰＤ３ｄとから構成されている。第１位置データ生成部ＰＤ３ａはスプールファイルＳＦの描画コマンドに基づいて所定の方法で描画することにより第１位置データＰＯＩを生成する機能を実行する。第２位置データ生成部ＰＤ３ｂは印刷イメージＩＤに基づいて第２位置データＳＯＩを生成する機能を実行する。オブジェクト存在領域特定部ＰＤ３ｃは、第１位置データＰＯＩと第２位置データＳＯＩの各ラスタをスキャンすることにより、オブジェクト存在領域を特定する処理を行う。また、指示受付部ＰＤ５が所定の指示を受け付けた場合には第２位置データＳＯＩのみに基づいてオブジェクト存在領域を特定する処理を行う。ハーフトーン処理部ＰＤ３ｄは、印刷イメージＩＤにおけるオブジェクト存在領域、または、印刷イメージＩＤの全体についてハーフトーン処理を行う。これによりハーフトーンデータが生成される。なお、ハーフトーン処理の手法として、ディザ法や誤差拡散法を適用することができる。印刷データ生成部ＰＤ４は、ハーフトーンデータに対してマイクロウィーブ処理等を実行することによりプリンタ２０が解釈可能な印刷データに変換する機能を実行する。以上の各ソフトウェア構成が実行する処理の内容については、印刷処理の説明で詳述する。
【００１４】
図２は、プリンタ２０の内部構成を概念的に示した説明図である。プリンタ２０には、全体の動作を制御する制御回路２１と、印刷用紙上に画像を印刷するための印刷キャリッジ２２と、印刷キャリッジ２２を主走査方向に移動させる機構と、印刷媒体の紙送りを行うための機構などが搭載されている。印刷キャリッジ２２は、Ｋインクを収納するインクカートリッジ２２ａ１と、Ｃインク、Ｍインク、Ｙインクの各種インクを収納するインクカートリッジ２２ａ２と、底面側に設けられた印字ヘッド２２ｂなどから構成されており、印字ヘッド２２ｂには、インク滴を吐出するインク吐出ヘッド２２ｂ１〜２２ｂ４がインク毎に設けられている。印刷キャリッジ１２にインクカートリッジ２２ａ１，２２ａ２を装着すると、カートリッジ内の各インクは図示しない導入管を通じて、各色のインク吐出ヘッド２２ｂ１〜２２ｂ４に供給される。
【００１５】
印刷キャリッジ２２を主走査方向に移動させる機構は、印刷キャリッジ２２を駆動するためのキャリッジベルト２３ａと、キャリッジベルト２３ａに動力を供給するキャリッジモータ２３ｂと、キャリッジベルト２３ａに絶えず適度な張力を付与しておくための張力プーリ２３ｃと、印刷キャリッジ２２の動きをガイドするキャリッジガイド２３ｄと、印刷キャリッジ２２の原点位置を検出する原点位置センサ２３ｅなどから構成されている。後述する制御回路２１の制御の下でキャリッジモータ２３ｂを回転させると、回転角度に応じた距離だけ印刷キャリッジ２２を主走査方向に移動させることが可能である。また、キャリッジモータ２３ｂを逆回転させれば、印刷キャリッジ２２を逆方向に移動させることも可能となっている。印刷用紙の紙送りを行うための機構は、印刷用紙を裏面側から支えるプラテン２４ａと、プラテン２４ａを回転させて紙送りを行う紙送りモータ２４ｂなどから構成されている。後述する制御回路２１の制御の下で紙送りモータ２４ｂを回転させることで、回転角度に応じた距離だけ印刷用紙を副走査方向に紙送りすることが可能となっている。
【００１６】
制御回路２１は、ＣＰＵを中心として、ＲＯＭや、ＲＡＭ、デジタルデータをアナログ信号に変換するＤ／Ａ変換器、さらには、周辺機器との間でデータのやり取りを行うための周辺機器インターフェースＰＩＦなどから構成されている。制御回路２１は、キャリッジモータ２３ｂおよび紙送りモータ２４ｂを駆動して印刷キャリッジ２２の主走査および副走査を行いながら、各色のインク吐出ヘッド２２ｂ１〜２２ｂ４に駆動信号を供給してインク滴を吐出させる制御も行っている。インク吐出ヘッド２２ｂ１〜２２ｂ４に供給する駆動信号は、コンピュータ１０によって生成された印刷データに基づいて生成する。制御回路２１の制御の下で、印刷キャリッジ２２を主走査および副走査（紙送り方向。図２を参照のこと）させながら、インク吐出ヘッド２２ｂ１〜２２ｂ４からインク滴を吐出して印刷用紙上に各色のインクドットを形成することによって、印刷用紙上にカラー画像を印刷することが可能となっている。
【００１７】
（２）印刷処理
図３は、印刷処理の流れを示している。ステップＳ１００において、コンピュータ１０の制御部１１が実行する一般プログラムＧＰがユーザーからの印刷要求を受ける。例えば、ワープロソフトにおいてプリントボタンを押した場合に印刷要求が受け付けられる。ステップＳ１１０においては、オペレーティングシステムＯＳが提供するプリントシステムＰＳのＵＩ部ＰＳ３がディスプレイ４０に印刷条件を設定するためのＵＩ画面を表示させるとともに、キーボード３０ａとマウス３０ｂを介してユーザーの操作を受け付ける。このＵＩ画面は基本的にはプリントシステムＰＳのＵＩ部ＰＳ３によって提供されるが、プリンタ２０固有の設定項目についてはプリンタドライバＰＤの指示受付部ＰＤ５によって提供される。
【００１８】
図４は、ステップＳ１１０において表示されるＵＩ画面を示している。同図において、印刷に使用するためのプリンタ２０を指定するための項目等が設けられており、最下部に”白地にかぶり効果を与える”か否かの設定を受け付けるための項目が設けられている。この項目は、プリンタドライバＰＤの指示受付部ＰＤ５によって提供されており、具体的に”オフ”と”オン”と”オン（全面）”のいずれかを指示することが可能となっている。ステップＳ１１０にてプリントボタンのクリックが検出されると、ステップＳ１２０において、クリック検出時の設定内容をプリントシステムＰＳのＵＩ部ＰＳ３およびプリンタドライバＰＤの指示受付部ＰＤ５が取得する。ステップＳ１３０においては、スプーラＰＳ１が一般プログラムＧＰから例えば文書や写真画像データ等の印刷ソースＩＳを取得し、ステップＳ１２０にて取得した各種設定に基づいてスプールファイルＳＦを生成する。次のステップＳ１４０においては、ステップＳ１２０にて取得した”白地にかぶり効果を与える”か否かの設定に基づいて以降の処理を分岐させ、ハーフトーン処理部ＰＤ３ｄにそれぞれ異なる３つのモードのハーフトーン処理を実行させる。
【００１９】
（２−１）白地へのかぶり効果をオン（全面）にするときの処理
図５は、白地へのかぶり効果をオン（全面）とするようユーザーによって指示された場合のデータの流れを模式的に示している。ステップＳ１５０においては、スプーラＰＳ１が後段のレンダラＰＳ２にスプールファイルＳＦを出力する。次のステップＳ１６０においては、レンダラＰＳ２がスプールファイルＳＦに含まれる描画コマンドおよびステップＳ１２０にて取得した設定情報に基づいて描画を行うことにより各画素の色が所定の色空間で表現された印刷イメージＩＤを生成する。本実施形態においては２５６階調のＲＧＢ色空間で各画素の色が表現された印刷イメージが生成されるものとする。すなわち、レンダラＰＳ２が行う描画においては、まず白色Ｒ＝Ｇ＝Ｂ＝２５５のキャンバスを用意し、当該キャンバスに描画コマンドに基づき各オブジェクトを配置していく。ステップＳ１７０においては、印刷イメージＩＤをプリンタドライバＰＤの色変換部ＰＤ２に受け渡し、色変換部ＰＤ２がＬＵＴ１２ｂを参照して印刷イメージＩＤを色変換する。これにより、プリンタ２０のインク吐出ヘッド２２ｂ１〜２２ｂ４に吐出させるＣＭＹＫインク量で各画素の色が表現された印刷イメージＩＤを得ることができる。
【００２０】
図６は、本実施形態で色変換部ＰＤ２が参照するＬＵＴ１２ｂを示している。同図において、ＬＵＴ１２ｂでは色空間を全体的に網羅する各グリッドについてＲＧＢ値とＣＭＹＫ値の対応関係が規定されている。ここで、ＲＧＢ色空間において白色を示すＲ＝Ｇ＝Ｂ＝２５５に対応付けられたＣＭＹＫ値はＣ＝Ｍ＝Ｙ＝Ｋ＝０となっておらず、ＣＭについて小さい値（Ｃ＝Ｍ＝１，Ｙ＝Ｋ＝０）が対応付けられている。ＣＭＹＫ値は印刷段階においてインク吐出ヘッド２２ｂ１〜２２ｂ４が吐出させるＣＭＹＫインク量を意味しており、Ｃ＝Ｍ＝Ｙ＝Ｋ＝０となる画素についてはいずれのインクも吐出されないことを意味する。すなわち、Ｃ＝Ｍ＝Ｙ＝Ｋ＝０となる画素については、印刷用紙の紙地の白色がそのまま印刷結果として現れることとなる。これに対して、ＲＧＢ色空間において白色を示すＲ＝Ｇ＝Ｂ＝２５５には、ＣＭについて小さい値（Ｃ＝Ｍ＝１，Ｙ＝Ｋ＝０）を有するＣＭＹＫ値が対応付けられているため、ＲＧＢ色空間において白色を示す画素がわずかなＣＭインクを使用して表現されることとなる。つまり、ＲＧＢ色空間における白色を、印刷用紙の紙地の色そのもので表現せず、わずかなＣＭインクを使用して表現することとしている。地色がわずかに黄みがかっている印刷用紙に対して印刷を行う場合には、地色にＣＭインクをわずかに混色させることにより、地色よりも真の白色に近い色を表現することができる。本実施形態のＬＵＴ１２ｂは、地色がわずかに黄みがかっている印刷用紙に対して印刷を行う場合を想定して作成されたものであり、ＲＧＢ色空間において白色を印刷用紙の地色よりも白色らしい色で表現することができる。これにより、色の正確性に優れた印刷を実現することができる。
【００２１】
ステップＳ１８０においては、印刷イメージＩＤをハーフトーン部ＰＤ３のハーフトーン処理部ＰＤ３ｄが取得し、ハーフトーン部ＰＤ３が印刷イメージＩＤの全体についてハーフトーン処理を実行する。これにより、各画素についてプリンタ２０のインク吐出ヘッド２２ｂ１〜２２ｂ４がインクを吐出させるか否かを規定したハーフトーンデータＨＤを得ることができる。ステップＳ１９０においては、ハーフトーンデータＨＤを印刷データ生成部ＰＤ４に受け渡し、印刷データ生成部ＰＤ４がハーフトーンデータＨＤに対してマイクロウィーブ処理等を行うことにより印刷データＰＤを生成する。ステップＳ２００においては、印刷データＰＤがプリンタ２０に出力され、プリンタ２０が印刷データＰＤに基づく印刷を実行させる。
【００２２】
図７は、白地へのかぶり効果をオン（全面）としたときの印刷結果の例を示している。同図において、オブジェクトとしてのＣＧ[Computer Graphics]を中央に割り付けた印刷ソースＩＳについての印刷結果を示している。なお、当該ＣＧにおいては、白色（ＲＧＢ色空間においてＲ＝Ｇ＝Ｂ＝２５５）の背景の中央に赤色で塗りつぶされた円が描画されているものとする。また、当該ＣＧの外側の領域は何らオブジェクトが存在しない余白領域となっている。ステップＳ１６０においてレンダラＰＳ２がＲＧＢ色空間の印刷イメージＩＤを生成した段階では、ＣＧ内の背景およびＣＧの外側の余白領域に属する全画素がＲＧＢ色空間において白色を示すＲ＝Ｇ＝Ｂ＝２５５で表されていることとなる。ステップＳ１７０において色変換部ＰＤ２がＬＵＴ１２ｂを参照して印刷イメージＩＤを一様に色変換しているため、ＣＧ内の背景およびＣＧの外側の余白領域がいずれもＣ＝Ｍ＝１，Ｙ＝Ｋ＝０のＣＭＹＫ値を有する画素に色変換されることとなる。次のステップＳ１８０においては、ハーフトーン処理部ＰＤ３ｄが印刷イメージＩＤの全体について一様にハーフトーン処理を実行するため、ＣＧ内の白色背景およびＣＧの外側の余白領域においてＣＭインクを吐出する画素が０でない確率で発生することとなる。従って、図７において黒点で示すようにＣＧ内の背景およびＣＧの外側の余白領域においてＣＭインクのドットが点在することとなる。すなわち、白色で表現されるべき領域に、わずかなインクがかぶった状態となる。このようなかぶり効果は、ＣＧの内外（ＣＧ内の背景およびＣＧの外側の余白領域）を問わず全体に及ぶこととなり、余白領域を含めて白色の正確なカラーマッチングを実現することができる。なお、ＣＧ内の白色背景およびＣＧの外側の余白領域には同様のハーフトーン処理がなされるため、実際には破線で示す境界は視認できず、ＣＧ内の白色背景とＣＧの外側の余白領域との区別はつかない。
【００２３】
（２−２）白地へのかぶり効果をオンにするときの処理
図８は、白地へのかぶり効果をオンとするようユーザーによって指示された場合のデータの流れを模式的に示している。ステップＳ２１０においては、スプーラＰＳ１が後段のレンダラＰＳ２にスプールファイルＳＦを出力する。このとき、プリンタドライバＰＤの二重化部ＰＤ１がスプールファイルＳＦを取得し、スプールファイルＳＦをコピーする。もとのスプールファイルＳＦはそのままレンダラＰＳ２に出力される。コピーされたスプールファイルＳＦには、コピーされたものである旨のフラグが添付されＲＡＭに記憶される。レンダラＰＳ２に出力されたスプールファイルＳＦについては、ステップＳ２２０において、上述したステップＳ１６０と同様にレンダリングが行われ、ＲＧＢ色空間の印刷イメージＩＤが生成されることとなる。ステップＳ２３０においては、レンダリング後のＲＧＢ色空間の印刷イメージＩＤを第２位置データ生成部ＰＤ３ｂが取得し、当該印刷イメージＩＤに基づいて第２位置データＳＯＩを生成する処理を実行する。
【００２４】
図９は、図７に示したものと同様の印刷ソースＩＳについて第２位置データＳＯＩを生成する処理の手順を模式的に示している。まず、印刷イメージＩＤのコピーを作成し、当該コピーした印刷イメージＩＤを２５６階調のグレースケールのビットマップデータに変換する。印刷イメージＩＤの各画素はＲＧＢ値で表されるため、当該ＲＧＢ値を輝度Ｙに変換（Ｙ＝０．３×Ｒ＋０．５９×Ｇ+０．１１×Ｂ）する。そして、変換した輝度Ｙが２５５（白であるか）か否かによって２値化することによって、２値階調の第２位置データＳＯＩを生成する。ここで、印刷イメージＩＤにおいてオブジェクトが存在していない領域は白キャンバス（Ｒ＝Ｇ＝Ｂ＝２５５）のままであるため、輝度Ｙも白を示す２５５となる。従って、基本的には、オブジェクトが存在する領域（黒で図示）と、オブジェクトが存在しない領域（白で図示）とが２値階調によって識別可能な２値階調の第２位置データＳＯＩが生成されることとなる。しかし、オブジェクト中に存在するに白についても、オブジェクトが存在しない領域と同様に白い画素に２値化されるため、完全には識別することはできない。例えば、ＣＧ内の白色背景の部分については、オブジェクトとしてのＣＧ内であるにもかかわらず白に２値化されており、ＣＧ外の領域との識別が不可能となっている。ステップＳ２４０においては、コピー元の印刷イメージＩＤをプリンタドライバＰＤの色変換部ＰＤ２に受け渡し、ステップＳ１７０と同様に色変換を実行する。
【００２５】
一方、ステップＳ２１０にてコピーされたスプールファイルＳＦは、ステップＳ２５０においてハーフトーン部ＰＤ３に出力される。ハーフトーン部ＰＤ３は、スプールファイルＳＦのフラグを解析し当該スプールファイルＳＦが二重化されたものであると認識する。コピーしたスプールファイルＳＦは第１位置データ生成部ＰＤ３ａに受け渡され、ステップＳ２５０にて当該スプールファイルＳＦに基づいて第１位置データＰＯＩを生成する第１位置データ生成処理が実行される。
【００２６】
図１０は、図７に示したものと同様の印刷ソースＩＳについて第１位置データＰＯＩを生成する処理の手順を模式的に示している。第１位置データ生成処理においては、２５６階調のグレースケールのキャンバスを、すべて黒（輝度Ｙ＝０）の画素で塗りつぶした黒キャンバスを用意し、当該黒キャンバスに対してスプールファイルＳＦに含まれる描画コマンドに基づき描画を行う。オブジェクトは、ＲＧＢ値で表されるため、当該ＲＧＢ値を輝度Ｙに換算しながら描画を行っていく。なお、オブジェクトが有する輝度Ｙを輝度ｙと表記するものとする。黒キャンバス上に描画を行うことにより、オブジェクトが存在する領域はオブジェクトが有する輝度（Ｙ＝ｙ）となり、オブジェクトが存在しない領域は黒（Ｙ＝０）のままとなる。次に、黒キャンバスに描画されたイメージを白黒反転させる。これにより、オブジェクトが存在する領域は、オブジェクトが有する輝度ｙを白黒反転した輝度（Ｙ＝２５５−ｙ）となり、オブジェクトが存在しない領域は白（Ｙ＝２５５）となる。白黒反転した反転画像が得られると、さらに当該イメージに対してスプールファイルＳＦに含まれる描画コマンドに基づき、再度、描画を行う。このときの描画は透過モードとする。
【００２７】
これにより、オブジェクトが存在しない領域は白（Ｙ＝２５５）のままとなる。一方、オブジェクトが存在する領域の輝度Ｙは、描画前の輝度（Ｙ＝２５５−ｙ）とオブジェクトの輝度（Ｙ＝ｙ）とを透過率に応じた重みによって線形結合した値となる。ここで、描画前の輝度（Ｙ＝２５５−ｙ）とオブジェクトの輝度（Ｙ＝ｙ）が双方ともＹ＝２５５となることはあり得ないため、透過モードで描画した後のオブジェクトが存在する領域の輝度Ｙは２５５よりも小さい（白でない）輝度Ｙを有することとなる。最後に、輝度Ｙが２５５（白であるか）か否かによって２値化することによって、オブジェクトが存在する領域（黒く図示）と、オブジェクトが存在しない領域（白く図示）とが２値階調によって識別可能な第１位置データＰＯＩを生成する。第１位置データＰＯＩにおいては、オブジェクト中の白（ＣＧ内の白色背景）についても、オブジェクトが存在する領域であると識別することができる。本実施形態においては、第２位置データＳＯＩと第１位置データＰＯＩを順次生成するようにしたが、第２位置データＳＯＩと第１位置データＰＯＩはそれぞれ二重化されたスプールファイルＳＦをもとに独立して生成されるため、第２位置データＳＯＩと第１位置データＰＯＩを生成する処理を並行して行うことができる。ステップＳ２６０においては、オブジェクト存在領域特定部ＰＤ３ｃが第１位置データＰＯＩと第２位置データＳＯＩとを取得し、これらに基づいてオブジェクト存在領域を特定する。
【００２８】
図１１は、ステップＳ２５０においてオブジェクト存在領域を特定する様子を説明している。同図においては、第１位置データＰＯＩと第２位置データＳＯＩにおいて共通する位置（図９と図１０においてＣＧの中央を貫通するＸ１の位置）のラスタが図示されている。ステップＳ２６０においては、第１位置データＰＯＩと第２位置データＳＯＩの少なくとも一方がオブジェクト存在すると示す領域を最終的なオブジェクト存在領域であると特定する。従って、第２位置データＳＯＩではオブジェクトが存在しないと示されるＣＧ内の白色領域も、第１位置データＰＯＩがオブジェクトが存在すると示すことをもって、オブジェクト存在領域であると特定されることとなる。第１位置データＰＯＩは、オブジェクト内の白色領域についてもオブジェクトが存在するということが識別できるため、基本的には第１位置データＰＯＩが採用されることとなる。第２位置データＳＯＩは実際に印刷を行う印刷イメージＩＤに基づいて生成されているのに対して、第１位置データＰＯＩは独自にレンダリングを行って生成したものであるため、第１位置データＰＯＩは位置精度に関して第２位置データＳＯＩよりも劣ることとなる。従って、第２位置データＳＯＩも使用してブジェクト存在領域の位置精度を確保するとともに、できるだけ漏れがなくオブジェクト存在領域が検出できるようにすることができる。
【００２９】
以上のようにして、オブジェクト存在領域の特定が完了すると、ステップＳ２７０においてハーフトーン処理部ＰＤ３ｄが印刷イメージＩＤに対してハーフトーン処理を実行する。なお、印刷イメージＩＤは、ステップＳ２４０においてＣＭＹＫ色空間に色変換されたものである。ステップＳ２７０におけるハーフトーン処理においては、ステップＳ２６０にて特定されたオブジェクト存在領域についてのみハーフトーン処理を行い、それ以外の領域についてはＣＭＹＫの各インクについてインクを吐出させない階調を付与する。このようにすることにより、ハーフトーン処理の範囲を絞ることができ、処理の高速化を図ることができる。ハーフトーン処理が完了すると、ステップＳ１９０，Ｓ２００において印刷データＰＤの生成を行い、プリンタ２０が印刷データＰＤに基づく印刷を実行させる。
【００３０】
図１２は、白地へのかぶり効果をオンとしたときの印刷結果の例を示している。ステップＳ２４０において色変換部ＰＤ２がＬＵＴ１２ｂを参照して印刷イメージＩＤを一様に色変換した段階では、ＣＧ内の背景およびＣＧの外側の余白領域がいずれもＣ＝Ｍ＝１，Ｙ＝Ｋ＝０のＣＭＹＫ値を有する画素に色変換されることとなる。しかしながら、ステップＳ２７０でハーフトーン処理部ＰＤ３ｄがオブジェクト存在領域についてのみハーフトーン処理を行い、それ以外の領域については強制的にインクを吐出させない階調を付与しているため、ＣＧ内の背景にＣＭインクのドットを点在させ、ＣＧの外側の余白領域において一切インクドットが形成させないようにすることができる。すなわち、オブジェクトの内部において白色で表現されるべき領域に限り、わずかなインクがかぶった状態とすることができる。従って、ＣＧの内部については白色の正確なカラーマッチングを実現するとともに、ＣＧの内部については紙地の白を活かし、インク消費量や粒状感を抑えることができる。
【００３１】
（２−３）白地へのかぶり効果をオフにするときの処理
図１３は、白地へのかぶり効果をオフとするようユーザーによって指示された場合のデータの流れを模式的に示している。ステップＳ２８０においては、スプーラＰＳ１が後段のレンダラＰＳ２にスプールファイルＳＦを出力する。次のステップＳ２９０においては、ステップＳ１６０と同様に、レンダラＰＳ２がスプールファイルＳＦに含まれる描画コマンドおよびステップＳ１２０にて取得した設定情報に基づいて描画を行うことにより各画素の色がＲＧＢ色空間で表現された印刷イメージＩＤを生成する。ステップＳ３００においては、レンダリング後のＲＧＢ色空間の印刷イメージＩＤを第２位置データ生成部ＰＤ３ｂが取得し、当該印刷イメージＩＤのコピーに基づいて第２位置データＳＯＩを生成する第２位置データ生成処理を実行する。なお、ここにおける第２位置データ生成処理も上述したステップＳ２３０と同様である。従って、図９に示したものと同様の第２位置データＳＯＩが生成されることとなる。
【００３２】
ステップＳ３１０においては、コピー元の印刷イメージＩＤをプリンタドライバＰＤの色変換部ＰＤ２に受け渡し、ステップＳ１７０，Ｓ２４０と同様に色変換を実行する。ステップＳ３２０では、色変換によって得られたＣＭＹＫ色空間の印刷イメージＩＤに対してハーフトーン処理部ＰＤ３ｄがハーフトーン処理を実行する。ステップＳ３２０におけるハーフトーン処理においては、第２位置データＳＯＩがオブジェクトが存在すると示す領域（厳密には印刷イメージＩＤのうち白でない領域）についてのみハーフトーン処理を実行し、それ以外の領域についてはＣＭＹＫの各インクについてインクを吐出させない階調を付与する。ここでも、ハーフトーン処理の範囲を絞ることができ、処理の高速化を図ることができる。ハーフトーン処理が完了すると、ステップＳ１９０，Ｓ２００において印刷データＰＤの生成を行い、プリンタ２０が印刷データＰＤに基づく印刷を実行させる。
【００３３】
図１４は、白地へのかぶり効果をオフとしたときの印刷結果の例を示している。ステップＳ３２０においては、第２位置データＳＯＩがオブジェクトが存在すると示す領域（印刷イメージＩＤのうち白でない領域）についてのみハーフトーン処理部ＰＤ３ｄがハーフトーン処理を行い、それ以外の領域については強制的にインクを吐出させない階調を付与しているため、ＣＧ内の白色背景およびＣＧ外の余白領域において一切インクドットが形成されないようにすることができる。すなわち、オブジェクトの内部において白色で表現されるべき領域およびオブジェクト外の余白領域の双方について、インクがかぶらない状態とすることができる。従って、紙地の白色を活かした印刷を実現することができる。
【００３４】
（３）まとめ
以上説明したように、本実施形態においては、白地へのかぶり効果をオン（全面）にするモードと、白地へのかぶり効果をオンにするモードと、白地へのかぶり効果をオフにするモードの３種類のハーフトーンをユーザーの指示に基づいて実行させることができる。白地へのかぶり効果をオンにするモードにおいては、レンダリング後の印刷イメージＩＤに含まれる白色がオブジェクト内のもの（オブジェクトに由来するもの）であるかオブジェクト外のもの（オブジェクトに由来しないもの）であるかを識別し、オブジェクト外の白色のみのかぶり効果をオフさせることができる。印刷イメージＩＤに含まれる白色がオブジェクト内のものであるかオブジェクト外のものであるかを識別するにあたっては、二重化されたスプールファイルＳＦに基づいてハーフトーン部ＰＤ３が独自に生成した第１位置データＰＯＩを使用する。このとき、プリントシステムＰＳのレンダラＰＳ２は、もとのスプールファイルＳＦに基づいてレンダリングを行えばよく、特別な処理を行う必要はない。従って、レンダラＰＳ２に手を加えることなく、印刷イメージＩＤに含まれる白色がオブジェクト内のものであるかオブジェクト外のものであるかを識別することができる。ただし、第１位置データＰＯＩは二重化されたスプールファイルＳＦに基づいて独自に生成されるため、レンダラＰＳ２がレンダリングした印刷イメージＩＤとの間で位置のずれが生じる場合も考えられる。これに対して、印刷イメージＩＤに基づいて生成した第２位置データＳＯＩも使用してオブジェクト存在領域を特定するようにしたため、オブジェクト存在領域の特定を正確に行うことができる。
【図面の簡単な説明】
【００３５】
【図１】コンピュータのブロック構成図である。
【図２】プリンタのブロック構成図である。
【図３】印刷処理のフローチャートである。
【図４】ＵＩ画面を示す図である。
【図５】白地へのかぶり効果をオン（全面）としたときの印刷処理を示す模式図である。
【図６】ＬＵＴを示す図である。
【図７】白地へのかぶり効果をオン（全面）としたときの印刷結果の例を示す図である。
【図８】白地へのかぶり効果をオンとしたときの印刷処理を示す模式図である。
【図９】第２位置データＳＯＩを生成する処理の手順を示す模式図である。
【図１０】第１位置データＰＯＩを生成する処理の手順を示す模式図である。
【図１１】オブジェクト存在領域を特定する処理を説明する模式図である。
【図１２】白地へのかぶり効果をオンとしたときの印刷結果の例を示す図である。
【図１３】白地へのかぶり効果をオフとしたときの印刷処理を示す模式図である。
【図１４】白地へのかぶり効果をオフとしたときの印刷結果の例を示す図である。
【符号の説明】
【００３６】
１０…コンピュータ，１１…制御部，１２…ＨＤＤ，１２ｂ…ＬＵＴ，１３…ＵＳＢＩ／Ｆ，１４…入力Ｉ／Ｆ，１５…ビデオＩ／Ｆ，１６…バス，ＯＳ…オペレーティングシステム，ＰＳ…プリントシステム，ＰＳ１…スプーラ，ＰＳ２…レンダラ，ＰＳ３…ＵＩ部，ＰＤ…プリンタドライバ，ＰＤ１…二重化部（手段），ＰＤ２…色変換部，ＰＤ３…ハーフトーン部（手段），ＰＤ４…印刷データ生成部（手段），ＰＤ５…指示受付部，ＧＰ…一般プログラム，２０…プリンタ，２１…制御回路，２２…印刷キャリッジ，２２ａ１，２２ａ２…インクカートリッジ，２２ｂ１〜２２ｂ４…インク吐出ヘッド，２３ａ…キャリッジベルト，２３ｂ…キャリッジモータ，２３ｃ…張力プーリ，２３ｄ…キャリッジガイド，２３ｅ…原点位置センサ，２４ａ…プラテン，２４ｂ…紙送りモータ
【図１】
0004924340.tif 000002
【図２】
0004924340.tif 000003
【図３】
0004924340.tif 000004
【図４】
0004924340.tif 000005
【図５】
0004924340.tif 000006
【図６】
0004924340.tif 000007
【図８】
0004924340.tif 000008
【図９】
0004924340.tif 000009
【図１１】
0004924340.tif 000010
【図１３】
0004924340.tif 000011
【図１４】
0004924340.tif 000012
【図７】
0004924340.tif 000013
【図１０】
0004924340.tif 000014
【図１２】
0004924340.tif 000015