(57)【要約】【課題】プリンタドライバが、ラスタデータに含まれるオブジェクトの領域を判定するには、複雑な座標計算を要したり、ＯＳの印刷処理を詳細に把握したりする必要があった。【解決手段】プリンタドライバのデータ変換部は、ＰＤＦ形式のスプールファイルを複製して外部記憶装置にＰＤＦデータ１として保存する。プリンタドライバのラスタデータ生成部は、データ変換部が保存したＰＤＦデータ１を取得し、ＰＤＦデータ１に含まれるオブジェクトに従って、対象のオブジェクトを描画した新たなＰＤＦデータ２を作成し、ＰＤＦデータ２をＯＳのラスタデータ生成部にてラスタデータ２に変換させる。ラスタデータ生成部は、生成したラスタデータ２を参照して、スプールファイルから生成されたラスタデータのうち対象のオブジェクトを特定し、必要な処理を施してプリントデータを生成する。【選択図】図３
2011165010.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語で記述された第１の形式のデータを印刷設定に従ってラスタデータに変換するラスタデータ生成手段を備えた情報処理装置であって、
前記第１の形式の処理対象データに基づいて、該処理対象データに含まれた特定のオブジェクトの領域を示す領域データを含む前記第１の形式のオブジェクト領域データを生成するオブジェクト領域データ作成手段と、
前記ラスタデータ生成手段によりラスタデータに変換された前記処理対象データと、前記ラスタデータ生成手段により前記処理対象データと同じ印刷設定に従ってラスタデータに変換された前記オブジェクト領域データとを対比し、ラスタデータに変換された前記処理対象データにおける前記特定のオブジェクトを特定する特定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記特定のオブジェクトは、特定の種類のオブジェクトであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定の種類のオブジェクトは、ビットマップオブジェクトであることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
色インクで画像を形成する機能に加え、光沢インクで画像形成する機能を有するラスタプリンタに接続するためのインターフェース手段を更に備え、
前記特定手段により特定された、ラスタデータに変換された前記特定のオブジェクトを、光沢インクに対応する成分として、ラスタデータに変換された前記処理対象データに付加する処理手段を更に備えることを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
ラスタデータに変換された前記処理対象データに含まれた、前記特定手段により特定された前記特定のオブジェクトを、他のオブジェクトで置換する手段を更に備えることを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項６】
前記第１の形式は、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式またはＰｏｓｔＳｃｒｉｐｔ形式であることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理方法。
【請求項７】
ページ記述言語で記述された第１の形式のデータを印刷設定に従ってラスタデータに変換するラスタデータ生成手段をオペレーティングシステムの一部として提供するコンピュータを、
前記第１の形式の処理対象データに基づいて、該処理対象データに含まれた特定のオブジェクトの領域を示す領域データを含む前記第１の形式のオブジェクト領域データを生成するオブジェクト領域データ作成手段と、
前記ラスタデータ生成手段によりラスタデータに変換された前記処理対象データと、前記ラスタデータ生成手段により前記処理対象データと同じ印刷設定に従ってラスタデータに変換された前記オブジェクト領域データとを対比し、ラスタデータに変換された前記処理対象データにおける前記特定のオブジェクトを特定する特定手段と
して機能させるためのプログラム。
【請求項８】
ページ記述言語で記述された第１の形式のデータを印刷設定に従ってラスタデータに変換するラスタデータ生成手段を備えた情報処理装置における情報処理方法であって、
オブジェクト領域データ作成手段が、前記第１の形式の処理対象データに基づいて、該処理対象データに含まれた特定のオブジェクトの領域を示す領域データを含む前記第１の形式のオブジェクト領域データを生成するオブジェクト領域データ作成工程と、
前記ラスタデータ生成手段が、前記処理対象データと前記オブジェクト領域データとを、同じ印刷設定にしたがってラスタデータに変換する変換工程と、
特定手段が、前記ラスタデータ生成手段によりラスタデータに変換された前記処理対象データと、前記ラスタデータ生成手段により前記処理対象データと同じ印刷設定に従ってラスタデータに変換された前記オブジェクト領域データとを対比し、ラスタデータに変換された前記処理対象データにおける前記特定のオブジェクトを特定する特定工程と
を有することを特徴とする情報処理方法。
【請求項９】
ページ記述言語で記述された第１の形式のデータを印刷設定に従ってラスタデータに変換するラスタデータ生成手段と、
前記第１の形式の処理対象データに基づいて、該処理対象データに含まれた特定のオブジェクトの領域を示す領域データを含む前記第１の形式のオブジェクト領域データを生成するオブジェクト領域データ作成手段と、
前記オブジェクト領域データ作成手段により生成されたオブジェクト領域データを前記処理対象データと同じ印刷設定に従ってラスタデータに変換する変換手段と、
前記変換手段により変換されたラスタデータは、光沢インクにより印刷され、前記ラスタデータ生成手段により変換されたラスタデータは通常インクで印刷される印刷データを生成する生成手段と
してコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法および情報処理装置およびプログラムに関し、例えば印刷データに含まれるオブジェクトの領域を判定するための処理方法に関する。
【背景技術】
【０００２】
一般に、ホストコンピュータ（以下、ＰＣと称す）に搭載されるオペレーティングシステム（以下、ＯＳと称す）には、印刷要求を行なうＰＣにプリンタが接続された環境での印刷をサポートするために印刷システムが備えられている。このような印刷システムとしては、米国アップル社のＭａｃ  ＯＳ  Ｘ（登録商標）で動作するＣＵＰＳ（Ｃｏｍｍｏｎ  ＵＮＩＸ（登録商標）  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）印刷システムが知られている。また、Ｍａｃ  ＯＳ  Ｘでは、アプリケーションからの印刷要求に応じてＯＳが生成するスプールファイルの標準データ形式としてＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（登録商標））を採用している。
【０００３】
プリンタは一般にスプールファイルを直接解釈する事ができないため、印刷システムおよびプリンタドライバにより、プリンタが解釈可能なデータ形式に変換する。例えば、インクジェットプリンタのようなラスタプリンタで印刷する際には、以下のような処理が行われる。すなわち、アプリケーションからの印刷要求によってＯＳが生成したスプールファイルは、プリンタドライバのデータ変換部によって処理され、ＯＳのラスタデータ生成部においてラスタデータへ変換される。プリンタドライバのプリントデータ生成部は、このラスタデータをプリンタが解釈可能なデータ形式へ変換し、バックエンドを通じてプリンタへデータを送信し、印刷が行われる。このように、ＣＵＰＳ印刷システムでは、幾つかの処理部が連携して順に処理を行い、データ形式を変換していくことで印刷を実現している。また、これら処理部の順序はシステムによって決められるようになっている。
【０００４】
ここで、プリンタドライバによっては、プリンタでより高画質な印刷を行なうために、印刷データに含まれるビットマップやテキストなどのオブジェクトに応じて画像処理を行なうものがある。このようなプリンタドライバは、ＯＳからページ記述言語（以下ＰＤＬと称す）形式の印刷データを受け取り、その描画コマンドを解析することで、印刷データに含まれるビットマップやテキストなどのオブジェクトを認識している。そして、その認識結果に応じて、各々のオブジェクトに応じた画像処理を行い印刷を行なっている（例えば特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２４７３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、上述のようなラスタプリンタに対するＣＵＰＳ印刷システムにおいて、印刷データに含まれるオブジェクトに応じて、プリンタで印刷可能なプリントデータに画像処理を施すことを考える。このような場合、プリンタドライバのプリントデータ生成部は、印刷データに含まれるオブジェクトを識別し、その領域を判定する必要がある。しかしながら、プリントデータ生成部に渡されるデータは、ＯＳのラスタデータ生成部により生成されたラスタデータであるため、印刷データに含まれるオブジェクトの領域を判定するのは一般に困難である。ラスタデータを解析し、オブジェクトの領域を判定するには、複雑な計算を要するが、正しく判定できるとは限らない。また、印刷データに含まれるビットマップオブジェクトの背景色とページの色が同色の場合、領域を正しく判定できない可能性もある。
【０００７】
一方、上述したプリンタドライバのデータ変換部によるオブジェクトの領域判定の可能性について考えてみる。このデータ変換部は、Ｍａｃ  ＯＳ  Ｘ  Ｌｅｏｐａｒｄ  １０．５におけるＣＵＰＳ  １．３より追加されたｃｕｐｓＰｒｅｆｉｌｔｅｒに対応するものである。データ変換部は、ＯＳのラスタデータ生成部によってラスタデータに変換される前の印刷データである、ＰＤＦ形式のスプールファイルを入力として受け取り、ＰＤＦ形式のデータを出力するものである。この出力データがプリンタドライバのプリントデータ生成部に入力される。したがって、ＰＤＦデータの内部コマンドを解析することにより、印刷データに含まれるオブジェクトの領域を判定する事は一見可能なように思われる。
【０００８】
しかしながら、ここで一つ問題がある。Ｍａｃ  ＯＳの仕様では、印刷を行なう際に設定可能なページの割付、拡縮、送り順等のページに関わる操作は、ＯＳが提供するラスタデータ生成部により行われる。このため、プリンタドライバのデータ変換部でＰＤＦ形式のスプールファイルを解析して得られるオブジェクトの領域はそのまま利用する事はできない。ラスタデータ生成部で実行されるページの割付、拡縮、送り順等の操作がスプールファイルには反映されておらず、プリンタドライバのプリントデータ生成部に渡されるラスタデータとは一般に一致しないためである。両者を一致させるにはＯＳのラスタデータ生成部の詳細な仕様を把握し、ラスタデータ生成部と同様な処理を行ってから座標計算を行なう必要がある。しかしながら、ラスタデータ生成部の仕様は公開されていないため、これも一般に困難である。
【０００９】
本発明は上記の問題点を鑑みて成されたもので、例えばラスタプリンタによる印刷等のために印刷データをラスタデータへ変換する機能をＯＳが担う印刷システムにおいて、プリンタドライバが複雑な計算をすることなく、当該印刷システムから出力されるラスタデータでのオブジェクトの領域を判定可能な情報処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は以下のような構成を備える。すなわち、
ページ記述言語で記述された第１の形式のデータを印刷設定に従ってラスタデータに変換するラスタデータ生成手段を備えた情報処理装置であって、
前記第１の形式の処理対象データに基づいて、該処理対象データに含まれた特定のオブジェクトの領域を示す領域データを含む前記第１の形式のオブジェクト領域データを生成するオブジェクト領域データ作成手段と、
前記ラスタデータ生成手段によりラスタデータに変換された前記処理対象データと、前記ラスタデータ生成手段により前記処理対象データと同じ印刷設定に従ってラスタデータに変換された前記オブジェクト領域データとを対比し、ラスタデータに変換された前記処理対象データにおける前記特定のオブジェクトを特定する特定手段とを備える。
【発明の効果】
【００１１】
本発明によれば、ラスタ化処理前後のデータに含まれるオブジェクトを高精度に対応付けることができる。これにより、ラスタデータ中のオブジェクトの領域を高精度に決定することができる。例えばオペレーティングシステム等により提供されるラスタ化処理において画像データ中のオブジェクトの変倍や移動等が行われる場合、ラスタ化処理の過程でオブジェクトの配置や大きさを変更するものであっても、ラスタ処理前の例えばページ記述言語形式のデータ中のオブジェクトと、ラスタデータに含まれるオブジェクトとを高精度に対応付け、ラスタデータ中のオブジェクトの領域を判定することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態におけるハードウェア構成を示すブロック図
【図２】情報処理装置のソフトウェア構成を示すブロック図
【図３】本発明の第１の実施形態を示し、印刷データの処理順序を説明するブロック図
【図４】ＯＳおよびプリンタドライバが提供するユーザインターフェースを表す図
【図５】プリンタドライバの処理の流れを説明するフローチャート
【図６】実際の印刷データとビットマップ領域判定のために生成されるデータの一例を示す図
【図７】本発明の第２の実施形態を示し、印刷データの処理順序を説明するブロック図
【図８】実際の印刷データとビットマップ領域およびテキスト領域判定のために生成されるデータの一例を示す図
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
［実施形態１］
＜情報処理システムのハードウェア構成＞
図１は本発明の実施形態における情報処理装置及び周辺装置からなる情報処理システムのハードウェア構成を示すブロック図である。同図は、ＰＣ１とＥａｔｈｅｒｎｅｔ（登録商標）やＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（以下、ＵＳＢと称す）などの通信バス１１１を介してプリンタＡ２、プリンタＢ３とが通信可能な印刷システムの例である。ＰＣ１は情報処理装置の一例である。ＰＣ１には、Ｍａｃ  ＯＳ  Ｘ（登録商標）と同等のＯＳがインストールされているものとし、印刷システムとしてはＭａｃ  ＯＳ  Ｘ（登録商標）に導入されているＣＵＰＳ印刷システムを想定している。図１では、プリンタは２つのみ図示したが、通信バス１１１を介して任意の数のプリンタが接続可能である。
【００１５】
ＰＣ１において、ＣＰＵ１０１はＲＡＭ１０３及び外部記憶装置１０４に格納されたプログラムに従って各部を制御する。ＣＰＵ１０１は、プリンタＡ２及びプリンタＢ３に対応したプリンタドライバを実行し、アプリケーションプログラムに基づいて作成された出力情報をプリンタに対応する出力コマンドに変換し、プリンタＡ２またはプリンタＢ３に所定のプロトコルで出力する。図５のフローチャートの手順は、ＣＰＵ１０１により実行される各処理部（データ変換部やプリントデータ生成部）により実現される。ＲＯＭ１０２は、ＣＰＵ１０１が実行するＢＩＯＳプログラムやフォントデータを格納している。ＲＡＭ１０３は、必要に応じてＣＰＵ１０１がデータやプログラムの書き込みや読み出しを行なうために使用され、プリンタドライバ起動時には、プリンタドライバのプログラムコードがこのＲＡＭ１０３にロードされる。外部記憶装置１０４はファイルストレージであり、ＣＰＵ１０１が読み出すプログラムコードやスプールファイル、生成されたラスタデータ等が格納される。外部記憶装置１０４は本実施形態の機能の一部を実現するデバイスで、例えばＦＤ、ＣＤ−ＲＷ、ＨＤＤなどである。入力デバイス制御部１０５は、キーボードやマウス等の入力デバイス１０７を制御する。表示装置制御部１０６は、ＣＲＴ等の表示装置１０８を制御する。内部バス１０９は、各構成要素間のデータ通信を行なうデータバス、システムバスで構成される。通信Ｉ／Ｆ１１０は、通信バス１１１を介してプリンタＡ２及びプリンタＢ３との通信を司り、双方向通信可能である。なお、シリアルインターフェースとしてはＵＳＢやＩＥＥＥ１３９４など、パラレルインターフェースとしてはセントロニクスやＳＣＳＩなど複数の種類が利用可能であるが、双方向の通信を実現するものであればどのようなインターフェースでも構わない。
【００１６】
プリンタＡ２はラスタデータを受信して印刷を行うラスタプリンタである。また後述するように、色インクで画像を形成する機能に加え、光沢インクで画像形成する機能を有している。プリンタＡ２において、プリントコントローラ１１３は、通信Ｉ／Ｆ１１２より得られたプリンタコマンドをもとにプリンタエンジン１１４を制御し印刷を行なう。プリンタエンジン１１４は、プリンタヘッドの操作や記録媒体の搬送を行なう機構である。
【００１７】
＜情報処理システムのソフトウェア構成＞
図２は、ＰＣ１のソフトウェア構成を示すブロック図である。ＰＣ１は、ＣＵＰＳ印刷システム２０２、プリンタドライバ２０４を備え、アプリケーション２０１の印刷データをＣＵＰＳ印刷システム２０２及びプリンタドライバ２０４を通じてプリンタＡ２が処理可能（印刷可能）なプリントデータに変換して出力する。アプリケーション２０１は、ＣＵＰＳ印刷システム２０２に対して印刷要求を行い、印刷される描画データと、用紙サイズや用紙種類、またページの割付や拡縮などが設定された印刷設定情報とをＣＵＰＳ印刷システム２０２に受け渡す。ＣＵＰＳ印刷システム（ＯＳ）２０２は、アプリケーション２０１から送られた描画データのスプール処理や、プリンタドライバ２０４のロード／実行などの様々な印刷制御を行なう。また、ＯＳ２０２はラスタデータ生成部２０３を持ち、印刷データをラスタデータへ変換する機能を持つ。プリンタドライバ２０４は、データ変換部２０５とプリントデータ生成部２０６とを備えており、ＣＵＰＳ印刷システム２０２から印刷データと印刷設定情報を受け取り印刷動作に必要な処理を行なう。データ変換部２０５は、ラスタデータ生成部２０３に先だって、受け取った印刷データに対して印刷処理に必要な前処理を行なう。データ変換部２０５で処理された印刷データは前述のラスタデータ生成部２０３を経由してプリントデータ生成部２０６に渡される。プリントデータ生成部２０６は、ラスタデータ生成部２０３で生成されたラスタデータを受け取り、印刷設定情報に基づいてプリントデータを生成する。バックエンド２０７は、プリントデータ生成部２０６によって生成されたプリントデータをプリンタＡ２へ出力する。
【００１８】
図３は、本発明の第１の実施形態について印刷データの処理順序を説明するブロック図である。本ブロック図は、その特徴的な構成として、本実施形態に特有のオブジェクト領域判定用の新たなデータフロー（破線で示す）を有する。すなわち、データ変換部２０５からプリントデータ生成部２０６へのデータフロー３０１、およびプリントデータ生成部２０６とラスタデータ生成部２０３間のデータフロー３０２である。以下、ＯＳ２０２が生成するスプールファイルの形式は、ＯＳ標準のＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式とし、アプリケーション２０１によって印刷が行なわれた際の処理を順を追って説明する。なおＯＳ２０２が生成するスプールファイルは、ＰＤＦ等、オブジェクトを識別可能に記述するページ記述言語の形式を有し、本実施形態ではこの形式を第１の形式と呼ぶ。
【００１９】
ここで、本実施形態では、発明の効果をわかりやすく説明するために、ＯＳ２０２は印刷設定として１枚あたりのページ数である割付設定を選択できる機能を持つものとする。また、この印刷設定は、ＯＳ２０２が提供するユーザインターフェース（以下、ＵＩと称す）を通して、アプリケーション２０１からの印刷時に設定できるものとする。図４（ａ）がそのＵＩの一例を表すものであり、ＵＩ４０１はページのレイアウトを設定するために表示される。ＵＩ４０１は、プリンタ選択メニュー部４０２と印刷設定パネル選択メニュー部４０３と印刷設定パネル表示部４０４から構成される。プリンタ選択メニュー部４０２は、ＯＳ２０２にプリンタが複数登録されている場合にその一覧をメニュー項目として表示し、プリンタを選択可能とするための選択欄である。印刷設定パネル選択メニュー部４０３は、印刷処理に必要な各種設定項目を関連する項目群で分類し、その項目群の一覧をメニュー項目として表示し、設定項目を選択可能とするための選択欄である。印刷設定パネル選択メニュー部４０３で選択可能な項目としては、ＯＳ２０２が提供するものとプリンタドライバ２０４が提供するものが存在し、同図で選択されている「レイアウト」はＯＳ２０２が提供する機能の一例である。印刷設定パネル表示部４０４は、印刷設定パネル選択メニュー部４０３で選択された設定項目に基づいて、更にその詳細が表示される。割付設定部４０５は、１枚あたりのページ数を設定するための設定欄であり、ポップアップメニュ−によって割付の設定を行なう事ができる。なお、本実施形態では、割付設定部４０５で「２ページ／枚」と設定されたものとして話を進める。なお図４のＵＩで選択された印刷設定は、印刷設定情報の一部として保存される。
【００２０】
さらに、本実施形態で印刷に用いるプリンタＡ２は、光沢をもつ特殊なインク（以下、光沢インクと称す）を用紙に塗布して光沢インクで画像形成する機能を備える。プリンタＡ２へは通常のプリントデータとともに光沢インクを塗布する領域データを送る事により光沢インクによる印刷が実行される。アプリケーション２０１で印刷を実行する際には、プリンタドライバ２０４が提供するＵＩを通して光沢インクに関するオプションを選択できるものとする。図４（ｂ）がその一例を表すものであり、光沢インクを塗布する領域を選択させるために表示するものである。プリンタ選択メニュー部４０２、印刷設定パネル選択メニュー部４０３、印刷設定パネル表示部４０４は、図４（ａ）と同等の役割を果たすものである。ラジオボタン４０６がユーザに選択させるためのラジオボタンであり、「ページ全面に塗布する」か「ビットマップ領域のみに塗布する」のいずれかを選択できる。「ページ全面に塗布する」が選択されている場合は、光沢インクをページ全面に塗布し、「ビットマップ領域のみに塗布する」が選択されている場合は、ビットマップ領域以外の部分には光沢インクを塗布せず、ビットマップ領域のみに光沢インクを塗布する。ＯＳ２０２のラスタデータ生成部２０３およびプリンタドライバ２０４のデータ変換部２０５とプリントデータ生成部２０６は、これらＯＳ２０２が提供する機能、プリンタドライバ２０４が提供する機能の設定値を、印刷設定情報として印刷データとともに受け取ることができ、それに応じて処理を行なう。
【００２１】
＜画像データ処理＞
図３に戻って具体的な処理の説明を行なう。ユーザによる操作等に応じてアプリケーション２０１から印刷要求が行われると、ＯＳ２０２は印刷される描画データと印刷設定情報とをアプリケーション２０１から受け取り、ＰＤＦ形式のスプールファイル（以下、ＰＤＦ印刷データと称す）を生成する。前述の通りこれが第１の形式のデータに相当する。図６（ａ）はＰＤＦ印刷データの一例を表す。ＰＤＦ印刷データ６０１は印刷されるＰＤＦ形式のデータ１ページを表し、オブジェクト６０２はビットマップオブジェクト、オブジェクト６０３はテキストオブジェクトを表す。本例ではビットマップオブジェクト６０２が領域判定の対象、すなわち特定すべきオブジェクト（特定のオブジェクト）となる。ＰＤＦ印刷データでは、これらのオブジェクトが特定可能である。
【００２２】
生成されたＰＤＦ印刷データはまず、プリンタドライバ２０４のデータ変換部２０５へ入力される。データ変換部２０５では、ＰＤＦ印刷データと印刷設定情報を受け取り、ＰＤＦ印刷データに対して処理を行なった後、ＰＤＦ形式の印刷データを出力する。
【００２３】
図５（ａ）は、データ変換部２０５の処理を説明するフローチャートである。データ変換部２０５は、まずＯＳ２０２からＰＤＦ印刷データ（すなわち処理対象データ）を受け取る（Ｓ５０１）。そして次に、データ変換部２０５は、Ｓ５０２でビットマップ領域の判定を行なうかどうかを印刷設定情報から判断する。本実施形態では、図４（ｂ）のＵＩにて、「ビットマップ領域のみに塗布する」が選択されている場合は、Ｓ５０３に進む。また、「ページ全面に塗布する」が選択されている場合には、Ｓ５０３をスキップし、Ｓ５０４に進む。Ｓ５０３では、データ変換部２０５が、ＰＤＦ印刷データを外部記憶装置１０４にコピーする。この作成したコピーをＰＤＦデータ１とする。この処理は、後ほど処理を行なうプリントデータ生成部２０６が、ＣＵＰＳ印刷システムにおける通常のフローでは利用できないＰＤＦ印刷データを利用できるようにするためのものである。
【００２４】
最後に、データ変換部２０５は、Ｓ５０４にてＰＤＦ印刷データを出力して終了する。ここで、本実施例におけるデータ変換部２０５は、受け取ったＰＤＦ印刷データそのものに変更を加える処理は行なわないため、入力されるＰＤＦ印刷データ、保存するＰＤＦデータ１、出力するＰＤＦ印刷データは全て等しいものである。例えば、前述した図６の印刷データの例であれば、ＰＤＦデータ１と出力するＰＤＦ印刷データは、共に図６（ａ）と同じものである。もちろん、必要に応じてＰＤＦ印刷データに変更を加えることも可能であり、その場合には保存するＰＤＦデータ１と出力するＰＤＦ印刷データが等しいものとなるようにすればよい。
【００２５】
図３に戻って説明を続ける。プリンタドライバ２０４のデータ変換部２０５により出力されたＰＤＦ印刷データは、次にＯＳ２０２のラスタデータ生成部２０３に入力される。ラスタデータ生成部２０３は、ＯＳ２０２が提供するものであり、入力されたＰＤＦ印刷データを印刷設定情報に従ってラスタデータへ変換する処理を行なう。以後、ここで生成されるラスタデータをラスタ印刷データと称する。さらに、ラスタデータ生成部２０３は、その重要な役割として、印刷設定情報に設定されたページの割付、拡縮といったページに関わる操作も行なう。例えば、ラスタデータ生成部２０３が、データ変換部２０５の出力である図６（ａ）のＰＤＦ印刷データ６０１を、先の図４（ａ）で示したＵＩのように「２ページ／枚」の設定でラスタライズした場合、図６（ｄ）のようなラスタ印刷データ６０７が生成される。図６（ｄ）のラスタ印刷データ６０７は、ラスタデータ形式の印刷データ１ページを表し、この状態ではページ内に含まれるビットマップをオブジェクトとしては認識できない。ラスタデータ生成部２０３は、最後に、生成したラスタ印刷データを出力し、終了する。
【００２６】
さらに図３に戻って説明を続ける。ラスタデータ生成部２０３により出力されたラスタ印刷データは、次にプリンタドライバ２０４のプリントデータ生成部２０６に入力される。プリントデータ生成部２０６は、その基本的な役割として、受け取ったラスタ印刷データに対し、印刷設定情報に従ってプリンタＡ２で解釈可能なデータ形式へ変換する処理を担うものである。さらに、本実施形態では、ラスタ印刷データに含まれるビットマップ領域を判定し、その領域に応じた処理を行なう。
【００２７】
図５（ｂ）は、プリントデータ生成部２０６の処理を説明するフローチャートである。プリントデータ生成部２０６は、まず、Ｓ５０５にてラスタデータ生成部２０３が出力したラスタ印刷データを受け取る。このラスタ印刷データが、実際に印刷されるデータである。次に、プリントデータ生成部２０６は、Ｓ５０６にてビットマップ領域の判定を行なうかどうかを印刷設定情報から判断する。プリントデータ生成部２０６は、データ変換部２０５のＳ５０２と同様に、図４（ｂ）のＵＩで「ビットマップ領域のみに塗布する」が選択されている場合は、Ｓ５０７に進む。また、「ページ全面に塗布する」が選択されている場合には、Ｓ５１３に進み、通常のプリントデータ生成処理を行なう。Ｓ５０７からＳ５１２が、実際にビットマップ領域の判定を行なう処理である。
【００２８】
プリントデータ生成部２０６は、まずＳ５０７にて、データ変換部２０５が保存したＰＤＦデータ１を取得する。次に、プリントデータ生成部２０６は、Ｓ５０８にて、このＰＤＦデータ１の内部コマンドを解析し、ラスタ印刷データにおけるビットマップ領域を判定するための新たなＰＤＦデータ２を作成する。すなわちオブジェクト領域データ作成の機能を遂行する。ＰＤＦデータ２は、ＰＤＦデータ１の内部コマンドを解析することにより、ビットマップオブジェクトが描画される領域を取得することで、対象となる領域に白色以外の色（例えば黒色）で内部を塗りつぶした矩形を描画したものである。このＰＤＦデータ２は、対象となるオブジェクトの領域を特定するためのデータであり、オブジェクト領域データと呼ぶこともある。例えば、図６（ａ）のＰＤＦデータ１から生成されるＰＤＦデータ２は、図６（ｂ）のような結果となる。図６（ｂ）にて、オブジェクト領域データ６０４は図６（ａ）のＰＤＦ印刷データ６０１と同じページ構成をもつＰＤＦ形式のページであり、オブジェクト６０５はビットマップオブジェクトの領域を表す、描画した黒色の矩形である。黒色としているのは本例では黒色成分を用いてオブジェクト領域を描画しているためであり、色には特別な意味はなく、どの色成分を用いてもよい。しかし特定されるべきオブジェクト（ビットマップオブジェクト）に対応する画素を本実施形態では「黒」と呼ぶことにする。
【００２９】
次に、プリントデータ生成部２０６は、ラスタデータ形式でのビットマップ領域を判定するためにＳ５０９の処理を行なう。すなわち、プリントデータ生成部２０６は、ＯＳ２０２のラスタデータ生成部２０３を内部的に起動して、生成したＰＤＦデータ２をラスタライズし、ラスタデータ１に変換する処理を行なう。ここで注意として、ラスタデータ生成部２０３を動作させる際には、ＰＤＦ形式の入力データと共に印刷設定情報を渡す必要ある。その印刷設定情報はプリントデータ生成部２０６に渡される印刷設定情報と少なくともページに関わる設定について同じ設定値を設定したものを渡すようにする。こうすることにより、プリントデータ生成部２０６が内部的に起動したラスタデータ生成部２０３より得るラスタデータ１は、ラスタ印刷データと同じページ設定を適用されたラスタデータとなる。そのため、ラスタデータ１とラスタ印刷データの各ピクセルは一対一に対応する。そして、ラスタデータ１のうち、矩形を描画された部分、すなわち黒色で色がついた部分は、ラスタ印刷データに含まれるビットマップ領域を表す。プリントデータ生成部２０６はラスタ印刷データとラスタ化されたラスタデータ１（オブジェクト領域データ）とを対比し、ラスタデータ１の各ピクセルが黒色であればビットマップ領域、黒色でなければそれ以外の領域と判定する事ができる。こうしてラスタ印刷データ上における、特定すべきオブジェクトを特定することができる。例えば、プリントデータ生成部２０６が、内部的に起動したラスタデータ生成部２０３によって先の図６（ｂ）のＰＤＦデータ２を「２ページ／枚」の設定でラスタライズすると、図６（ｃ）のようなラスタデータ１を取得することができる。図６（ｃ）のラスタ化されたオブジェクト領域データ６０６は、図６（ｄ）のラスタ印刷データ６０７と同じページ構成を持つラスタデータである。
【００３０】
プリントデータ生成部２０６は、次にＳ５１０、Ｓ５１１にて、得られたビットマップ領域判定用のラスタデータ１と通常の印刷データであるラスタ印刷データに対し、領域判定に応じた処理を行なう。ここでの領域判定に応じた処理は、先ほど述べたような光沢インクをビットマップ領域のみに塗布する処理とすると、領域判定用のラスタデータ１は、黒色のピクセルがビットマップ領域を表し、そのまま塗布する領域データとして用いることができる。そのため、ラスタデータ１を光沢インク用の成分データとしてラスタ印刷データに統合する処理だけを行なうものとする。この光沢インク用の成分データに応じた画像が、プリンタＡ２の持つ光沢インク用ヘッドにより記録されることになる。また、ラスタ印刷データ６０７に応じた画像が、Ｃ（シアン）Ｍ（マゼンタ）Ｙ（イエロー）Ｋ（ブラック）の通常インク用ヘッドにより記録される。そして、プリントデータ生成部２０６は、Ｓ５１２にて、不要になったＰＤＦデータ１を削除する。最後に、プリントデータ生成部２０６は、Ｓ５１３にて光沢インクの塗布する領域データが統合されたラスタ印刷データをプリントデータへ変換し、Ｓ５１４にて出力して処理を終了する。こうして作成されたプリントデータは、最終的にバックエンド２０７を通してプリンタへ送られ、印刷が行われる。なお本例では、Ｓ５１３では、光沢インク用の成分データが付加されていない場合には、ページ全体に光沢インクを塗布すると判定し、光沢インク用の成分データをページ全面にわたり記録する。
【００３１】
このように、プリンタドライバは、印刷データのビットマップ領域に矩形を描画したＰＤＦデータ２を生成し、さらにＯＳ２０２のラスタデータ生成部２０３によってＰＤＦデータ２を領域判定用のラスタデータに変換し参照する。こうすることで、プリンタドライバは、ラスタデータ生成部２０３によって適用される様々なページに係る設定に依存せずに、印刷データのビットマップ領域を判定することが可能となる。また、色のついた矩形を描画することで、領域判定の対象となるビットマップオブジェクトの背景色とページの色が同色の場合でも、正確に領域を判定する事ができる。さらに、本発明を適用すれば、領域判定に応じた処理として、ビットマップ領域に特殊なインクを塗布する処理だけでなく、ビットマップ領域の背景に色をつけるような処理や誤差拡散処理、また色処理を切り替えるようなことも可能となる。
【００３２】
［実施形態２］
次に第２の実施形態について説明する。なお以下の説明では、第１の実施形態と共通する図及びその説明は省略し、異なる点についてのみ説明する。
【００３３】
実施形態１では、プリンタドライバ２０４のプリントデータ生成部２０６が、ビットマップ領域に矩形を描画した領域判定用のＰＤＦデータ２の生成処理（Ｓ５０８）と、ＰＤＦデータ２を領域判定用のラスタデータ２に変換する処理（Ｓ５０９）とを行なった。実施形態２は、実施形態１の変形であり、これらの処理をプリンタドライバ２０４のデータ変換部２０５が行なうものである。
【００３４】
図７は、第２の実施形態における印刷データの処理順序を説明するブロック図である。同図は、データ変換部２０５とラスタデータ生成部２０３間のデータフロー７０１と、データ変換部２０５からプリントデータ生成部２０６へのデータフロー７０２とを持つ。データ変換部２０５は、ＰＤＦ印刷データの内部コマンドを解析し、ＰＤＦデータ２を生成する処理（Ｓ５０８）と、内部的に起動したラスタデータ生成部２０３によってＰＤＦデータ２をラスタデータ１に変換する処理（Ｓ５０９）を行なう。これら処理は第１の実施形態においてプリントデータ生成部２０６が行なった処理である。そして、データ変換部２０５は、生成した領域判定用のラスタデータ１を外部記憶装置１０４に保存する。図６のデータの例であれば、第１の実施形態では、図６（ａ）のようなＰＤＦ印刷データが外部記憶装置１０４に保存されたのに対し、本実施形態では、図６（ｃ）のようなラスタデータが外部記憶装置１０４に保存される。次に、プリントデータ生成部２０６は、データ変換部２０５が外部記憶装置１０４に保存した領域判定用のラスタデータ１を取得し、その各ピクセルを参照する事で、第１の実施形態と同様に、印刷データに含まれるビットマップ領域を判断することができる。
【００３５】
すなわち、本実施形態では、データ変換部２０５は、図５（ａ）のステップＳ５０３に代えて、図５（ｂ）のステップＳ５０８〜Ｓ５０９を実行し、生成したラスタデータ１（ラスタ化したオブジェクト領域データ）を外部記憶装置１０４に保存する。そしてプリントデータ生成部２０６は図５（ｂ）の手順のうち、ステップＳ５０８，Ｓ５０９を除くステップを実行する。ただし、ステップＳ５０７で取得されるデータは、ＰＤＦデータ１ではなく、保存されているラスタデータ１である。
【００３６】
このように、データ変換部とプリントデータ生成部とによる機能の分担は、柔軟に変更することが可能である。そしてその変更によっても、実施形態１により奏する効果に変わりはない。
【００３７】
［実施形態３］
次に第３の実施形態について説明する。なお以下の説明では、前述の実施形態と共通する図及びその説明は省略し、異なる点についてのみ説明する。
【００３８】
第３の実施形態は、第１の実施形態と第２の実施形態の変形である。本実施形態では、データ変換部２０５が、ビットマップ領域判定における、ビットマップ領域に矩形を描画したＰＤＦデータ２の生成処理を行い、プリントデータ生成部２０６が、ＰＤＦデータ２を領域判定用のラスタデータ１に変換する処理を行なう。この場合、印刷データの処理順序を示すブロック図は、第１の実施形態を示す図３と同じになるが、データフロー３０１によりデータ変換部２０５からプリントデータ生成部２０６へ渡されるデータ形式が第１の実施形態とは異なる。
【００３９】
データ変換部２０５は、ＰＤＦ印刷データの内部コマンドを解析し、ビットマップ領域に内部を色で塗りつぶした矩形を描画したＰＤＦデータ２を生成し（図５のＳ５０８に対応）、外部記憶装置１０４に保存する。図６のデータの例であれば、第１の実施形態では、図６（ａ）のようなＰＤＦ印刷データが外部記憶装置１０４に保存されたのに対し、本実施形態では、図６（ｂ）のような領域判定用のＰＤＦデータが保存される。次に、プリントデータ生成部２０６は、データ変換部２０５が保存したＰＤＦデータ２を取得し、内部的に起動したラスタデータ生成部２０３によって、ＰＤＦデータ２をラスタライズし、ラスタデータ１に変換する（図５のＳ５０９に対応）。プリントデータ生成部２０６は、生成した領域判定用のラスタデータ１の色がついたピクセルを参照する事により、第１の実施形態と同様に、印刷データに含まれるビットマップ領域を判断することができる。
【００４０】
すなわち、本実施形態では、データ変換部２０５は、図５（ａ）のステップＳ５０３に代えて、図５（ｂ）のステップＳ５０７〜Ｓ５０８を実行し、生成したＰＤＦデータ２（オブジェクト領域データ）を外部記憶装置１０４に保存する。そしてプリントデータ生成部２０６は図５（ｂ）の手順のうち、ステップＳ５０７，Ｓ５０８を除くステップを実行する。ただし、ステップＳ５０９で処理対象とするＰＤＦデータ２は、データ変換部２０５により生成されて保存されているデータである。
【００４１】
このように、データ変換部とプリントデータ生成部とによる機能の分担は、柔軟に変更することが可能である。そしてその変更によっても、実施形態１により奏する効果に変わりはない。
【００４２】
［実施形態４］
次に第４の実施形態について説明する。なお以下の説明では、前述の実施形態と共通する図及びその説明は省略し、異なる点についてのみ説明する。
【００４３】
第４の実施形態は、プリンタドライバ２０４が、印刷データに含まれるビットマップ領域だけでなくテキスト領域やグラフィック領域等、他のオブジェクトの領域も判定するものである。なお、印刷データの処理順序を示すブロック図は、図３と同じ構成を持つ。また領域判定の対象となる領域にオブジェクトを描画したＰＤＦデータ２の生成処理、および、生成したＰＤＦデータ２を領域判定用のラスタデータ１に変換する処理は、実施形態１と同様にプリントデータ生成部２０６が行なうものとする。
【００４４】
ビットマップ領域以外のテキスト領域やグラフィックス領域等を判定する際にも、上述した実施形態と同様に、領域判定のためのＰＤＦデータ２を生成する段階で、ＰＤＦデータ２に対象のオブジェクトを同時に描画しておけば、その領域を判定する事ができる。図８は、この時の印刷データの例を表したものであり、ビットマップ領域に加えてテキスト領域も同時に判定する例である。なお、図８は、ビットマップ領域のみを判定する図６に対応しており、図６と同様に、図８（ａ）は、ＰＤＦ形式の印刷データであり、図８（ｄ）は「２ページ／枚」の設定で作成されたラスタデータ形式の印刷データである。図８（ｂ）は、図８（ａ）のＰＤＦ印刷データを解析して得られるビットマップ領域とテキスト領域に色をつけたＰＤＦデータ２であり、ビットマップ領域だけでなく、テキスト領域８０１も同時に描画する。図８（ｃ）は、プリントデータ生成部２０６が、ラスタデータ生成部２０３を内部的に起動し、図８（ｂ）のＰＤＦデータ２をラスタライズして生成する領域判定用のラスタデータ１の例である。プリントデータ生成部２０６は、生成したラスタデータ１のうち色のついたピクセルを参照する事で、ビットマップ領域だけでなく、テキスト領域も同時に判断することができる。なお、図８の例では、ビットマップ領域とテキスト領域は図示の都合上同じ黒色で描画している。しかし、図８（ｂ）の領域判定用のＰＤＦデータ２を生成する時点で、ビットマップ領域とテキスト領域を異なる色、例えばビットマップ領域は黒色、テキスト領域は赤色で描画しておけば、それぞれの領域を色によって判定することができる。
【００４５】
すなわち本実施形態では、図５（ａ）のステップＳ５０２および図５（ｂ）のステップＳ５０６において、「ビットマップ領域の判定を行なう？」との判断に代えて、「何らかのオブジェクト領域の判定を行なう？」との判断を行なう。ここで「何らかのオブジェクト」とは、ビットマップやテキスト、ラインアート等、判定対象とするオブジェクトであり、予め定められていても、ユーザによりその都度指定されてもよい。
【００４６】
これにより本実施形態では、オブジェクトの種類としてビットマップ以外のオブジェクトについてもその領域をラスタデータから高精度に特定することができる。
【００４７】
さらに、オブジェクト領域を、オブジェクトの種類毎ではなく、指定されたオブジェクトごとに特定することもできる。このためにはたとえば、ラスタデータ生成部に入力される形式のデータ（たとえばＰＤＦ）中から対象のオブジェクトを例えばユーザに選択させておく。そしてその選択されたオブジェクトを、ラスタデータ生成部の出力ラスタデータ中から特定することが可能である。
【００４８】
さて、上記の実施形態１〜４では、スプールファイルが、ＯＳの標準形式であるＰＤＦ形式である場合を例に説明を行なったが、本発明はこれに限られるものではない。例えば、スプールファイル形式がアドビシステムズ社のＰｏｓｔＳｃｒｉｐｔである場合にも効果的に適用することができる。この場合、プリンタドライバ２０４のデータ変換部２０５でＰｏｓｔＳｃｒｉｐｔを扱えるようにすればよい。データ変換部２０５は、ＰｏｓｔＳｃｒｉｐｔ形式のデータを入出力とするものとなり、ＯＳ２０２のラスタデータ生成部２０３はＰｏｓｔＳｃｒｉｐｔ形式のデータからラスタデータへ変換するものとなる。従って、プリンタドライバ２０４のデータ変換部２０５、プリントデータ生成部２０６で処理するＰＤＦ形式のデータをＰｏｓｔＳｃｒｉｐｔ形式のデータに置き換えることで容易に本発明を適用することができる。また、スプールファイルがＰｏｓｔＳｃｒｉｐｔ形式であっても、データ変換部２０５にＰｏｓｔＳｃｒｉｐｔからＰＤＦへの変換機能を備えれば、プリントデータ生成部２０６でビットマップ領域判定のために処理するデータ形式はＰＤＦ形式にできる。上記の実施形態の要領でオブジェクト領域を特定できる。スプールファイルがＰＤＦ形式であり、プリントデータ生成部２０６で処理するデータ形式をＰｏｓｔｓｃｒｉｐｔ形式にしたい場合も同様である。
【００４９】
また上記実施形態１〜４では、オペレーティングシステムはＭａｃＯＳとしたが、ラスタデータ生成部がオブジェクトの配置の変更を出力データに反映させる機能（例えば回転や変倍、レイアウト等）を持つ場合、ＭａｃＯＳに限らず本発明は適用できる。これは、ラスタデータ生成部がオペレーティングシステムにより提供されず、別のベンダにより提供される外付け機能である場合も同様である。
【００５０】
また、上記実施形態１〜４では、ラスタデータ生成部の出力ラスタデータ中から特定されたオブジェクトに対しては、上記実施形態で説明した処理以外の処理を施すこともできる。たとえば特定されたオブジェクトが文字であり、その領域が所定のサイズよりも小さければ、他のオブジェクト（例えばＸ印の文字列など）と置換するなどの処理を行なうこともできる。このように、オブジェクトの配置を変更可能なラスタデータ生成部から出力されるラスタデータを対象とし、その中の特定のオブジェクトに対して処理を施す場合、本発明によって対象のオブジェクトを特定することが容易である。
【００５１】
＜実施形態５＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011165010.tif 000003
【図２】
2011165010.tif 000004
【図３】
2011165010.tif 000005
【図４】
2011165010.tif 000006
【図５】
2011165010.tif 000007
【図６】
2011165010.tif 000008
【図７】
2011165010.tif 000009
【図８】
2011165010.tif 000010