(57)【特許請求の範囲】
【請求項１】
印刷媒体に対する浸透性の異なる複数種類のインクを用いて印刷可能な印刷装置に画像を印刷させる印刷制御装置であって、
前記印刷装置により印刷対象の画像が前記印刷媒体に印刷される場合に前記複数種類のうちの第１の種類のインクを用いて印刷される前記印刷対象の画像における第１の領域と、前記印刷装置により前記印刷対象の画像が前記印刷媒体の同一ページに印刷される場合に前記複数種類のうちの前記第１の種類のインクより前記印刷媒体に対する浸透性の低い第２の種類のインクを用いて印刷される前記印刷対象の画像における第２の領域とを、前記印刷対象の画像を示す情報に基づき判定する判定手段と、
前記判定手段により判定された前記印刷対象の画像における前記第１の領域の画像を非可逆圧縮方式で圧縮し、前記判定手段により判定された前記印刷対象の画像における前記第２の領域の画像を可逆圧縮方式で圧縮する圧縮手段と、
前記圧縮手段により圧縮された画像に基づき、前記印刷対象の画像を前記印刷媒体に前記印刷装置により印刷させる印刷制御手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記印刷対象の画像は複数のオブジェクトを含み、前記判定手段は、前記印刷対象の画像における前記複数のオブジェクトに対応する領域ごとに、前記第１の領域と前記第２の領域とを判定することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記印刷制御手段は、前記圧縮手段により圧縮された前記印刷対象の画像の前記第１の領域の画像と、前記圧縮手段により圧縮された前記印刷対象の画像の前記第２の領域の画像とを区別して前記印刷装置に送信する送信手段を有することを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項４】
前記判定手段は、前記印刷対象の画像が示す色に基づき、前記印刷対象の画像における第１の領域と、前記印刷対象における第２の領域とを判定することを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御装置。
【請求項５】
前記印刷対象の画像は複数のオブジェクトを含み、
前記判定手段は、前記印刷対象の画像に含まれる前記複数のオブジェクトがベクタ画像であるかに基づき、前記印刷対象の画像における第１の領域と、前記印刷対象の画像における第２の領域とを判定することを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御装置。
【請求項６】
前記印刷装置に画像を印刷させるときの設定を示す印刷設定を取得する取得手段を更に有し、
前記圧縮手段は、前記取得手段が取得した印刷設定が、前記印刷装置が前記第２の種類のインクを用いて印刷を行うための所定の印刷設定でない場合は、前記判定手段により判定された前記印刷対象の画像における前記第２の領域の画像であっても非可逆圧縮方式で圧縮することを特徴とする請求項１乃至５のいずれか１項に記載の印刷制御装置。 
【請求項７】
前記第１の種類のインクは染料インクであり、前記第２の種類のインクは顔料インクであることを特徴とする請求項１乃至６のいずれか１項に記載の印刷制御装置。
【請求項８】
印刷媒体に対する浸透性の異なる複数種類のインクを用いて印刷可能な印刷装置に画像を印刷させる印刷制御方法であって、
判定手段が、前記印刷装置により印刷対象の画像が前記印刷媒体に印刷される場合に前記複数種類のうちの第１の種類のインクを用いて印刷される前記印刷対象の画像における第１の領域と、前記印刷装置により前記印刷対象の画像が前記印刷媒体の同一ページに印刷される場合に前記複数種類のうちの前記第１の種類のインクより前記印刷媒体に対する浸透性の低い第２の種類のインクを用いて印刷される前記印刷対象の画像における第２の領域とを、前記印刷対象の画像を示す情報に基づき判定する判定工程と、
圧縮手段が、前記判定工程において判定された前記印刷対象の画像における前記第１の領域の画像を非可逆圧縮方式で圧縮し、前記判定工程において判定された前記印刷対象の画像における前記第２の領域の画像を可逆圧縮方式で圧縮する圧縮工程と、
印刷制御手段が、前記圧縮工程において圧縮された画像に基づき、前記印刷対象の画像を前記印刷媒体に前記印刷装置により印刷させる印刷制御工程と、
を有することを特徴とする印刷制御方法。
【請求項９】
請求項８に記載の印刷制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インクジェット方式の印刷装置による印刷のための印刷データを生成する情報処理装置、及びその制御方法に関する。
【背景技術】
【０００２】
従来から、パーソナルコンピュータ（ＰＣ）などのホストコンピュータにおいて印刷データを生成し、生成した印刷データをプリンタに出力し、プリンタによって紙などの印刷媒体への印刷を行わせる印刷システムが知られている。
【０００３】
また、印刷システムにおいて、ホストコンピュータからプリンタに出力する印刷データを圧縮して送信する方式が知られている。一例として、ホストコンピュータは、印刷データに含まれるラスタ画像データをＪＰＥＧ符号化などにより非可逆圧縮することにより、印刷データのデータサイズを小さくしてプリンタに出力する。プリンタは受け取った印刷データに含まれる、非可逆圧縮されたラスタ画像データを伸長し、印刷を行う。印刷データのデータサイズが小さくなると、ホストコンピュータからプリンタへ印刷データが高速に転送されるので、印刷システムにおける印刷処理が高速化される。
【０００４】
画像データをＪＰＥＧ符号化などにより非可逆圧縮すると、画像データの高周波成分が失われ、画質が劣化する。そのため、例えば文字や単純な図形など、画像において高周波成分を多く含む部分で画質の劣化が特に激しい。
【０００５】
これに対し、階調性重視のイメージデータと解像度重視のイメージデータを別々にラスタライズし、前者を階調性重視で圧縮し、後者を解像度重視で圧縮する技術が知られる（特許文献１参照）。
【特許文献１】特開平１０−２０７６６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
インクを吐出することにより印刷を行うインクジェットプリンタの多くは、文字画像や写真画像などの、特徴の異なる様々な画像を、様々な印刷媒体に対して適切に印刷できるように、異なる特性を持つ複数のインクを備える。
【０００７】
インクの特性の１つに、印刷媒体に対する浸透性がある。浸透性の低いインクは、印刷媒体の表面に残る量が多い。そのため、濃度が高く、シャープな画像を印刷できるという利点がある。一方で、浸透性の低いインクは、印刷媒体への浸透速度が遅く、印刷媒体の表面に残ったインクが定着するまでに必要な時間が長くなる。結果、近接する位置に他のインク滴が付着した場合、両インクの境界で反応をおこし、印刷画質を劣化させる原因となる。このような現象には、一例としてブリードと呼ばれるものがあり、インク同士の浸透性の違いや、表面張力の違いによって発生する。
【０００８】
浸透性の低いインクは、前述のような利点から、高い視認性と鮮明さが要求される黒色の文字の記録に使用されるのが一般的である。そのため、インクジェットプリンタの中には、黒色の文字の印刷用に浸透性の低い顔料黒インクを持ち、その他の画像の印刷用に浸透性の高い染料カラーインクを持つものがある。
【０００９】
このようなインクジェットプリンタでは、１枚の印刷媒体に対して顔料の黒インクと染料カラーインクの両方を使用するため、これらのインク滴の境界ではブリードが発生する。特に、顔料インクで印刷される文字の内部に染料インクが混入した場合、文字の視認性や鮮明さなどが大きく低下し、浸透性の低いインクを使うことによる利点が損なわれてしまう。以下、図２を参照して、顔料インクで印刷される文字の内部に染料インクが混入する現象を説明する。
【００１０】
ラスタ画像２００は、ホストコンピュータによって非可逆圧縮された画像データをインクジェットプリンタが伸長して得られた画像である。また、拡大画像２０５は、ラスタ画像２００の一部を拡大した画像である。
【００１１】
拡大画像２０５において、領域２０１は、染料カラーインクによって印刷される領域である。領域２０２は、黒の文字「ｔ」の一部であり、顔料黒インクで印刷される領域である。文字とその背景の画像との境界は通常、周波数の高い領域であり、ＪＰＥＧ符号化などにより非可逆圧縮すると、ノイズが発生しやすい。ノイズ２０３及びノイズ２０４は、発生したノイズを簡略化して示したものである。
【００１２】
ノイズ２０３は、文字領域（領域２０２）の外側に発生するノイズを示し、黒と背景の色との中間的な色である。このようなノイズ２０３は、通常は完全な黒ではないため、印刷時には染料カラーインクによって印刷される。そのため、ノイズとして印刷されてしまうものの、浸透性の高い染料カラーインクで印刷される領域２０２の中に、同じ染料カラーインクで印刷されるので、ブリードによる印刷品質の劣化は発生しにくい。
【００１３】
一方、文字領域（領域２０２）の内側に発生するノイズ２０４も、同様に完全な黒とはならないため、染料カラーインクで印刷される。即ち、浸透性の低い顔料黒インクで印刷される領域２０２の内部に、浸透性の高い染料カラーインクでノイズ２０４が印刷される。その結果、浸透性の異なるインクで印刷される領域同士が、細かい範囲で斑に存在することとなり（領域２０２，ノイズ２０４）、ブリードによる印刷品質の劣化が激しい。具体的には、文字の輪郭部において顔料黒インクの滲み出しが発生し、文字の輪郭の鮮明さが失われてしまう。
【００１４】
このように、ラスタ画像データを非可逆圧縮することによる印刷画質の劣化は、印刷時に用いられるインクの性質と密接な関係がある。換言すれば、非可逆圧縮により発生した同程度のノイズであっても、印刷画質への影響は、印刷時に用いられるインクの性質により大きく異なる。
【００１５】
しかしながら、特許文献１などの従来の技術は、非可逆圧縮時に一般的に発生しやすいノイズを軽減する事は考慮しているが、特性の異なるインクを使用することに伴う印刷画質の劣化は考慮していない。
【００１６】
本発明はこのような状況に鑑みてなされたものであり、印刷装置に印刷媒体に対する浸透性の異なる複数種類のインクを用いて印刷させる場合に、ブリードの影響による画質劣化を抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、第１の本発明は、印刷媒体に対する浸透性の異なる複数種類のインクを用いて印刷可能な印刷装置に画像を印刷させる印刷制御装置であって、前記印刷装置により印刷対象の画像が前記印刷媒体に印刷される場合に前記複数種類のうちの第１の種類のインクを用いて印刷される前記印刷対象の画像における第１の領域と、前記印刷装置により前記印刷対象の画像が前記印刷媒体の同一ページに印刷される場合に前記複数種類のうちの前記第１の種類のインクより前記印刷媒体に対する浸透性の低い第２の種類のインクを用いて印刷される前記印刷対象の画像における第２の領域とを、前記印刷対象の画像を示す情報に基づき判定する判定手段と、前記判定手段により判定された前記印刷対象の画像における前記第１の領域の画像を非可逆圧縮方式で圧縮し、前記判定手段により判定された前記印刷対象の画像における前記第２の領域の画像を可逆圧縮方式で圧縮する圧縮手段と、前記圧縮手段により圧縮された画像に基づき、前記印刷対象の画像を前記印刷媒体に前記印刷装置により印刷させる印刷制御手段と、を有することを特徴とする印刷制御装置を提供する。
【００１８】
また、第２の本発明は、印刷媒体に対する浸透性の異なる複数種類のインクを用いて印刷可能な印刷装置に画像を印刷させる印刷制御方法であって、判定手段が、前記印刷装置により印刷対象の画像が前記印刷媒体に印刷される場合に前記複数種類のうちの第１の種類のインクを用いて印刷される前記印刷対象の画像における第１の領域と、前記印刷装置により前記印刷対象の画像が前記印刷媒体の同一ページに印刷される場合に前記複数種類のうちの前記第１の種類のインクより前記印刷媒体に対する浸透性の低い第２の種類のインクを用いて印刷される前記印刷対象の画像における第２の領域とを、前記印刷対象の画像を示す情報に基づき判定する判定工程と、圧縮手段が、前記判定工程において判定された前記印刷対象の画像における前記第１の領域の画像を非可逆圧縮方式で圧縮し、前記判定工程において判定された前記印刷対象の画像における前記第２の領域の画像を可逆圧縮方式で圧縮する圧縮工程と、印刷制御手段が、前記圧縮工程において圧縮された画像に基づき、前記印刷対象の画像を前記印刷媒体に前記印刷装置により印刷させる印刷制御工程と、を有することを特徴とする印刷制御方法を提供する。
【００２０】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態における記載によって更に明らかになるものである。
【発明の効果】
【００２１】
以上の構成により、本発明によれば、印刷装置に印刷媒体に対する浸透性の異なる複数種類のインクを用いて印刷させる場合に、ブリードの影響による画質劣化を抑制することが可能となる。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明の実施形態を説明する。以下で説明される個別の実施形態は、本発明の上位概念から下位概念までの種々の概念を理解するために役立つであろう。
【００２３】
なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００２４】
また、以下の各実施形態においては、顔料黒インクと染料カラーインクの境界で発生するブリードを抑制するための構成を説明する。しかしながら、ブリードの発生はインク同士の性質（例えば、浸透性）の違いに起因するものであり、顔料と染料、或いは黒とカラーの組み合わせに限定されるものではない。
【００２５】
［第１の実施形態］
図８は、第１の実施形態に係る印刷システム８００の構成を示すブロック図である。印刷システム８００は、本発明を適用した情報処理装置の一例であるパーソナルコンピュータ（ＰＣ）１００と、インクジェット方式の印刷装置であるプリンタ１１１とを含み、両者はＵＳＢケーブルなどで通信可能に接続されている。
【００２６】
ＰＣ１００は、アプリケーション１０１、オペレーティングシステム（ＯＳ）１０２、及びプリンタドライバ１０３を含み、これらはソフトウェアによって実現される。
【００２７】
アプリケーション１０１は、ワードプロセッサやウェブブラウザなどであり、印刷対象の画像データを生成する。印刷対象の画像データは、文字などのテキストデータ、図形などのグラフィックスデータ、写真などのビットマップデータなどを含む。アプリケーション１０１は、ユーザの指示に従い、編集中の文書や閲覧中のウェブページに基づいて印刷動作を実行する。具体的には、アプリケーション１０１は、印刷要求、及び描画命令群をＯＳ１０２に発行する。
【００２８】
ＯＳ１０２は、アプリケーション１０１から印刷要求を受け、プリンタ１１１に対応するプリンタドライバ１０３に印刷要求および描画命令群を発行する。ＯＳ１０２はまた、アプリケーション１０１を含む複数のアプリケーションによって発行された印刷要求及び描画命令群をスプールすることができる。ＯＳ１０２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳである。
【００２９】
プリンタドライバ１０３は、ＯＳ１０２によって発行された印刷要求と描画命令群に基づいて、ラスタ画像データを生成する。プリンタドライバ１０３は、ラスタ画像データを非可逆圧縮するが、本実施形態においては、全てのラスタ画像データを非可逆圧縮するわけではない（詳細は後述）。そして、プリンタドライバ１０３は、プリンタ１１１で処理するために必要なコマンド等をラスタ画像データに付加し、プリンタ１１１が印刷のために使用可能な印刷データを生成し、プリンタ１１１へ出力する。なお、この段階では通常、ラスタ画像データはＲＧＢ色空間で表現される多値の画像データである。
【００３０】
プリンタ１１１は、伸長部８０１、色処理部８０２、二値化部８０３、及びプリンタエンジン８０４を含む。
【００３１】
伸長部８０１は、ＰＣ１００から受信した印刷データに含まれるラスタ画像データを伸長する。色処理部８０２は、伸長されたラスタ画像データに対し、各種色処理を行い、ＣＭＹＫ色空間で表現される多値の画像データに変換する。二値化部８０３は、多値の画像データに対しハーフトーン処理を行うなどして二値化する。プリンタエンジン８０４は、二値化された画像データに基づいて印刷を行う。
【００３２】
図９は、ＰＣ１００の詳細な構成例を示すブロック図である。図９において、図８と同一の構成要素には同一の符号を付し、説明を省略する。ＰＣ１００は、ハードディスクドライブ（ＨＤＤ）９０３、ＣＰＵ９０４、ＲＡＭ９０５、及びＲＯＭ９０６を含む。
【００３３】
ＨＤＤ９０３は、ＯＳや種々のアプリケーションのプログラムを含む。ＣＰＵ９０４がこれらのプログラムを実行することにより、アプリケーション１０１、ＯＳ１０２、及びプリンタドライバ１０３の機能が実現される。
【００３４】
ＰＣ１００はまた、ＰＣ１００に接続されたモニタ９０２を制御するモニタドライバ９０１を含む。モニタドライバ９０１の機能も、ＨＤＤ９０３に格納されたプログラムをＣＰＵ９０４が実行することにより実現される。モニタドライバ９０１は、ＯＳ１０２を介して、アプリケーション１０１によって発行される描画命令群（イメージ描画命令、テキスト描画命令、及びグラフィクス描画命令）を受信し、受信した描画命令群に基づく画像をモニタ９０２に表示させる。また、前述の通り、印刷時には、アプリケーション１０１が発行する描画命令群はＯＳ１０２を介してプリンタドライバ１０３へ出力される。
【００３５】
図１は、プリンタドライバ１０３の詳細な構成例を示すブロック図である。プリンタドライバ１０３は、判定部１０４、描画部１０５、非可逆圧縮部１０８、可逆圧縮部１０９、及び印刷データ生成部１１０を含み、これらはプリンタドライバ１０３のソフトウェアによって実現される。プリンタドライバ１０３はまた、第１メモリ１０６、及び第２メモリ１０７を含み、これらはＨＤＤ９０３又はＲＡＭ９０５（図９参照）の一部として確保されるメモリである。
【００３６】
プリンタドライバ１０３は、ＯＳ１０２を介してアプリケーション１０１から描画命令群を受信する。描画命令群は、ベクタ画像の描画命令を含む。
【００３７】
判定部１０４は、描画命令群に含まれる描画命令それぞれについて、対応するラスタ画像をプリンタ１１１が印刷媒体（紙など）に印刷するために、予め定められた性質を有するインクが使用されるか否かを判定する。ここで、予め定められた性質を有するインクとは、例えば、印刷媒体への浸透性が閾値以上のインクなどであり、より具体的には、染料カラーインクなどである。以下では、説明の便宜上、予め定められた性質を有するインクは染料カラーインクであり、予め定められた性質を有さないインクは顔料黒インクであるものとする。即ち、プリンタ１１１は、顔料黒インク及び染料カラーインクを備え、染料カラーインクは、顔料黒インクよりも、印刷媒体に対する浸透性が高いものとする。
【００３８】
ところで、判定部１０４は、ベクタ画像の描画命令については、対応するラスタ画像で使用される色を、描画命令から直接知ることができる。しかしながら、ラスタ画像の描画命令については、判定部１０４は、使用される色を知るためには、ラスタ画像の各画素を確認する必要があり、処理に時間がかかる。そこで、ラスタ画像の描画命令については常に「予め定められた性質を有するインク（例えば、染料カラーインク）が使用される」と判定するように、判定部１０４を構成してもよい。換言すれば、判定部１０４は、図８を参照して説明したビットマップデータについては常に「染料カラーインクが使用される」と判定してもよい。これにより、判定部１０４における判定の処理が高速化される。
【００３９】
描画部１０５は、描画命令それぞれに対応するラスタ画像を描画する。このとき、描画部１０５は、染料カラーインクが使用されると判定部１０４において判定された描画命令に対応するラスタ画像を第１メモリ１０６内（第１メモリ内）に描画する。また、染料カラーインクが使用されないと判定部１０４において判定された描画命令に対応するラスタ画像を第２メモリ１０７内（第２メモリ内）に描画する。従って、第１メモリ１０６内のラスタ画像１０６ａと第２メモリ１０７内のラスタ画像１０７ａとは、印刷媒体の同一の領域への印刷のためにプリンタ１１１によって使用される。
【００４０】
また、本実施形態では、顔料黒インクによって印刷される色が黒一色のみであるものとするので、第２メモリ１０７は各画素について２ビットだけ確保すればよい。従って、必要なメモリ量や転送されるデータ量を削減することができる。また可逆圧縮対象色が複数ある場合にも、１つの多値ラスタデータを作成する代わりに、それぞれの色に対して２値のラスタ画像１０７ａを複数生成してもよい。一方、第１メモリ１０６は、印刷対象画像の解像度に応じて、例えば各画素について２４ビット確保する。
【００４１】
描画部１０５による描画終了後、非可逆圧縮部１０８は、第１メモリ１０６内のラスタ画像１０６ａをＪＰＥＧ符号化などにより非可逆圧縮する。また、可逆圧縮部１０９は、第２メモリ１０７内のラスタ画像１０７ａを可逆圧縮する。なお、可逆圧縮部１０９において重要なことは、画像にノイズが混入しないことなので、データ量の削減よりも処理速度を優先する場合などは、ラスタ画像１０７ａを圧縮しなくても構わない。
【００４２】
印刷データ生成部１１０は、非可逆圧縮されたラスタ画像１０６ａと、可逆圧縮されたラスタ画像１０７ａとに、プリンタ１１１で処理するために必要なコマンド等を付加して、印刷データを生成する。印刷データにおいては、例えば、プリンタ１１１が処理可能なように、非可逆圧縮されたラスタ画像１０６ａのデータと可逆圧縮されたラスタ画像１０７ａのデータとが、一定のラスタ数単位で交互に含まれる。
【００４３】
プリンタドライバ１０３は、以上の処理により生成された印刷データをプリンタ１１１へ出力する。プリンタ１１１は、受信した印刷データに含まれる、圧縮されたラスタ画像データを伸長して合成し、色処理、二値化などの処理を行い、印刷する。
【００４４】
図３は、第１メモリ１０６内のラスタ画像１０６ａ、第２メモリ１０７内のラスタ画像１０７ａ、及びこれらを合成して得られる合成画像３００の一例を示す図である。
【００４５】
本実施形態のプリンタドライバ１０３は、プリンタ１１１において最終的に印刷に用いられるインクの種類に基づいて、ラスタ画像の可逆圧縮／非可逆圧縮を切り替えることにより、印刷データのデータ量を削減しつつ、印刷画質の劣化を抑制する。ここで、プリンタ１１１は、非可逆圧縮されたラスタ画像１０６ａの上に、可逆圧縮されたラスタ画像１０７ａを単純に重ね合わせることで、本来の印刷対象画像（合成画像３００）を得ることができる。
【００４６】
ところで、写真などの画像の一部を切り抜いて空白画素が発生すると、空白画素の境界が高周波になり、非可逆圧縮時の圧縮率の低下やノイズの混入の原因となる。そこで、本実施形態においては、プリンタドライバ１０３は、ＯＳ１０２から受信した描画命令に基づいてラスタ画像を描画する時点で、第１メモリ１０６と第２メモリ１０７に分けて描画を行う。即ち、描画命令に対応するラスタ画像をメモリに描画した後に、可逆圧縮する色（画素）を抽出するわけでは無い。
【００４７】
こうすることで、ラスタ画像の全画素を走査し、画素単位で色を調べるような処理が不要となり、処理の負荷を小さく抑えることができる。また、特定の画素の抽出に伴う空白画素の発生が防止される。これにより、非可逆圧縮対象のラスタ画像についても、高圧縮率で、且つノイズも少ない圧縮処理を行うことが可能となる。
【００４８】
更には、単純にそれぞれのメモリにラスタ画像を描画し、重ね合わせを行った場合、本来の描画命令の上下関係が保たれないという問題が発生する。そのため、上から重ねあわせる画像については、その後更に上から描画された描画命令の領域分を切り取った状態とする必要がある。ラスタ画像１０７ａの文字列「ＡＢＣ」が一部切り取られているのはそのためである。逆に、非可逆圧縮の画像（ラスタ画像１０６ａ）を上から重ね合わせようとすると、非可逆圧縮の画像の一部を切り取る必要が出てくる。この場合、前述の通り、圧縮率の低下やノイズの増加の原因となるので、以下の説明においてはこのような重ね合わせ処理は採用しない。しかし、このような重ね合わせ処理を採用すること自体は本発明の概念に反するものではなく、ラスタ画像１０７ａは高画質に保たれる。
【００４９】
図３に示す単純な重ね合わせで合成画像３００を得ることを可能にするための処理の詳細は、図６を参照して後述する。
【００５０】
以下、図５を参照して、上述のプリンタドライバ１０３における処理の詳細を説明する。図５は、第１の実施形態に係る印刷データ生成処理の流れを示すフローチャートである。プリンタドライバ１０３がＯＳ１０２から印刷要求及び描画命令群を受信すると、図５に示すフローチャートの処理が開始する。
【００５１】
Ｓ５００で、プリンタドライバ１０３は、印刷に必要な初期化処理を行う。実際には、ＯＳ１０２がプリンタドライバ１０３に対してプリンタドライバ１０３のＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）を呼び出すことにより、呼び出されたＤＤＩの種類に応じてプリンタドライバ１０３が適切な処理を行う。具体的には、例えば、描画命令に対応するラスタ画像を描画するためのメモリの確保などを行う。本実施形態においては、第１メモリ１０６についてはＳ５００で確保されるが、第２メモリ１０７については、後述する図６のＳ６０５において確保される。
【００５２】
なお、プリンタドライバ１０３は、プリンタ１１１の記録ヘッドの走査方向のラスタを複数含む処理単位（バンド単位）で描画命令群を処理してもよい。これにより、ＰＣ１００及びプリンタ１１１が必要とするメモリ量が削減される。
【００５３】
Ｓ５０１で、プリンタドライバ１０３は、現在の印刷モードを確認し、特殊処理が有効（アクティブ）か否かを判定する。特殊処理とは、描画命令に基づいて描画されたラスタ画像に対する画像処理のうち、印刷時に使用されるインクの種類が変化する可能性のある処理である。前述の通り、本実施形態においては、判定部１０４が描画命令に基づいて染料カラーインクが使用されるか否かを判定する。しかしながら、ラスタ画像の描画後に、印刷時に使用されるインクの種類が変化すると、判定部１０４による判定結果が活用できなくなる。そのため、Ｓ５０１において、特殊処理が有効の場合、Ｓ５０３に進み、可逆／非可逆切り替えモードをＯＦＦにする。可逆／非可逆切り替えモードがＯＦＦの場合、後述するように、全ての描画命令は第１メモリ１０６に描画される。
【００５４】
なお、印刷モードは、ＲＡＭ９０５などに予め設定されていてもよいし、アプリケーション１０１からの印刷要求と同時に指定されてもよい。また、可逆／非可逆切り替えモードのＯＮ／ＯＦＦは、ＲＡＭ９０５などに設定されて保持される。
【００５５】
特殊処理が有効でなかった場合、Ｓ５０２で、プリンタドライバ１０３は、現在の印刷モードを確認し、黒の画素（ＲＧＢ色空間において、Ｒ＝Ｇ＝Ｂ＝０）の印刷に顔料黒インクが使用されるように設定されているか否かを判定する。通常、最終的に用いられるインクを判別するためには、単純にラスタライズ時の色を判定するだけでは不足している。一般的に、要求される印刷速度や、印刷対象用紙をはじめとする各種印刷設定によって、印刷に使用するインクは適切に使い分けが行われる。例えば写真画像を印刷する場合などは、画質を向上させるために、黒の画素の印刷にも染料カラーインクが使用される場合が多い。黒の画素の印刷に顔料黒インクが使用されない場合、Ｓ５０３に進み、可逆／非可逆切り替えモードをＯＦＦにする。黒の画素の印刷に顔料黒インクが使用される場合、Ｓ５０４に進み、可逆／非可逆切り替えモードをＯＮにする。
【００５６】
Ｓ５０２における判定は、例えば、図４に示すルックアップテーブル（ＬＵＴ）を使用して実現される。図４の例では、印刷メディア、両面設定、縁なし設定、及び印刷品位の組み合わせに応じて、顔料黒インクが使用されるか否かがＬＵＴに登録されている。図４において、斜線で示された箇所は、存在しないモードであることを示す。図４において、ＴＲＵＥとあるモードは、顔料黒インクが使用されるモード、ＦＡＬＳＥとあるモードは、顔料黒インクが使用されないモードであることを示す。本実施形態では、顔料黒インクのみに注目し、顔料黒インクが使用されるような印刷設定を知りたいので、ＬＵＴは図４のように、ＴＲＵＥ又はＦＡＬＳＥを格納していればよい。複数のインクについて使用されるか否かを知りたい場合は、各インクについてＴＲＵＥ又はＦＡＬＳＥを格納する必要がある。なお、図４のＬＵＴは、例えばプリンタドライバ１０３のソフトウェアの一部として、ＨＤＤ９０３に格納される。
【００５７】
続いて、Ｓ５０５で、プリンタドライバ１０３はバンド単位で描画命令をＯＳ１０２から受け取り、プリンタ１１１が利用可能な印刷データを生成する。この処理の詳細は、図６のフローチャートを参照して後述する。
【００５８】
Ｓ５０６で、プリンタドライバ１０３は、生成した印刷データをプリンタ１１１に送信する。以後は、残りのバンドが存在しなくなるまで、バンド単位でＳ５０５〜Ｓ５０７の処理を繰り返す。
【００５９】
最後にＳ５０８で、プリンタドライバ１０３は、Ｓ５００で確保した第１メモリ１０６の開放等の終了処理を行い、ＯＳ１０２に処理を返し、本フローチャートの処理が終了する。
【００６０】
なお、図５のフローチャートでは１ページの印刷処理を示しているが、印刷対象の画像が複数ページに亘る場合は、Ｓ５０１〜Ｓ５０７の処理がページ数分繰り返される。
【００６１】
図６は、図５のＳ５０５における処理の詳細を示すフローチャートである。
【００６２】
Ｓ６００で、プリンタドライバ１０３は、現在のバンドに属する未処理の描画命令が存在するか否かを判定する。具体的には、ＯＳ１０２が現在のバンドのサイズ、位置から、現在のバンドに属する描画命令を判断すし、それぞれの描画命令に対応するＤＤＩを呼び出し、プリンタドライバ１０３は呼び出されたＤＤＩに応じて、Ｓ６０１以降の処理を行う。現在のバンドに属する全ての描画命令が処理されると、Ｓ６１０に進む。
【００６３】
Ｓ６０１で、判定部１０４は、図５のＳ５０３又はＳ５０４で設定された可逆／非可逆圧縮切り替えモードを確認する。可逆／非可逆圧縮切り替えモードがＯＦＦであれば、Ｓ６０２に進み、描画部１０５が描画命令に対応するラスタ画像を第１メモリ１０６内に描画し、Ｓ６００に戻る。なお、描画処理は、描画部１０５の代わりに、プリンタドライバ１０３がＯＳ１０２の機能を用いて行ってもよい（以下同様）。
【００６４】
一方、Ｓ６０１において可逆／非可逆圧縮切り替えモードがＯＮであった場合、Ｓ６０３で、判定部１０４は、呼び出されたＤＤＩとその引数を参照し、顔料黒インクのみで印刷される描画命令であるか否かを判断する。本実施形態では、前述の通り、描画命令に基づくラスタライズ時に、顔料黒インクで印刷されるラスタ画像を第２メモリ１０７に描画する。この時、例えば、ある描画命令に基づくビットマップデータに存在する黒の領域（Ｒ＝０，Ｇ＝０，Ｂ＝０の領域）を判断し、第２メモリ１０７に描画することも可能ではある。しかし、ビットマップデータは写真などの画像を示すため、抽出された黒の領域が高周波である可能性は低く、わざわざ走査して抽出するメリットが小さい。加えて、ビット数の多いビットマップデータを走査するのは処理に時間がかかる。以上のような理由から、本実施形態では、顔料黒一色で描画されるようなテキストデータやグラフィックスデータのみを第２メモリ１０７に展開する。
【００６５】
ここで、顔料黒一色で描画されるようなテキストデータやグラフィックスデータの識別方法について説明する。テキストデータやグラフィックスデータのＤＤＩには、引数としてＢＲＵＳＨＯＢＪ構造体が与えられる。この構造体には、その描画に用いるブラシの情報が格納されている。ここで、単色による塗りつぶしであるかどうかは、ＢＲＵＳＨＯＢＪ構造体のｉＳｏｌｉｄＣｏｌｏｒメンバを参照することで判断することができる。ＢＲＵＳＨＯＢＪの表す描画色は、ＢＲＵＳＨＯＢＪ＿ｕｌＧｅｔＢｒｕｓｈＣｏｌｏｒ関数で取得することが可能である。このようにして取得した描画命令の描画色がＲＧＢ（０，０，０）であるかどうかを判断することで、顔料黒一色で描画される描画命令であるかどうかを判断することができる。ＢＲＵＳＨＯＢＪ構造体を引数として持つような、ＤｒｖＬｉｎｅＴｏをはじめとするグラフィックスデータの描画命令については、このような方法により、顔料黒一色で描画される描画命令であるかどうかを判断することができる。
【００６６】
また、テキストデータの描画命令であるＤｒｖＴｅｘｔＯｕｔの場合、描画用のＢＲＵＳＨＯＢＪ構造体とは別に、透過用のＢＲＵＳＨＯＢＪ構造体を引数として持つ。このようなＤＤＩにおいては、透過用のＢＲＵＳＨＯＢＪ構造体によって、透過が定義されていないかどうかも調べる必要がある。
【００６７】
また、ＤｒｖＢｉｔＢｌｔについても、ＢＲＵＳＨＯＢＪ構造体が引数として用意されており、塗りつぶしのオブジェクトも表現することができる。この場合、同様に引数のＢＲＵＳＨＯＢＪ構造体の表す描画色を調べることで、顔料黒一色で描画される描画命令であるかどうかを判断することができる。ＤｒｖＳｔｒｅｔｃｈＢｌｔをはじめとするその他の描画命令のＤＤＩについては、ＢＲＵＳＨＯＢＪ構造体による塗りつぶしはサポートされていないため、その時点で除外する。
【００６８】
以上のような方法で、Ｓ６０３では、呼び出されたＤＤＩにおける描画が、顔料黒一色によるものであるかどうかが判定される。ここで、顔料黒一色で描画されると判定された場合、Ｓ６０４に進み、そうでなければＳ６０７に進む。
【００６９】
Ｓ６０４では、描画部１０５は、第２メモリ１０７が既に確保されているか否かを判定する。まだ確保されていなければ、描画部１０５は、Ｓ６０５で各画素が１ビットで表されるラスタ画像用のメモリとして第２メモリ１０７を確保し、全ての値を１に初期化する。即ち、第２メモリ１０７において、ラスタ画像が描画されないメモリ領域をマスク処理する。ここでは、顔料黒のような特定の色の領域を保存しておきたいので、確保するメモリは各画素につき１ビットでよい。
【００７０】
Ｓ６０６で、描画部１０５は、描画命令に対応するラスタ画像を第２メモリ１０７内に描画する。第２メモリ１０７において、０のビットは黒、１のビットは白（透明）の画素を示すものとする。従って、第２メモリ１０７への描画は、まずｉＳｏｌｉｄＣｏｌｏｒメンバを０ｘ００としたようなＢＲＵＳＨＯＢＪを新たに作成する。その他の、領域情報やクリッピング情報などのＤＤＩの引数はそのまま採用する。つまり、ＤＤＩの各引数に対し、ＢＲＵＳＨＯＢＪ構造体のみ第２メモリ１０７用に置き換え、あとは描画対象を第２メモリ１０７に変更して描画を行う。
【００７１】
一方、Ｓ６０３で顔料黒インクのみで印刷される描画命令ではないと判定された場合、Ｓ６０７で、描画部１０５は、描画命令に対応するラスタ画像を第１メモリ１０６内に描画する。
【００７２】
次に、Ｓ６０８で、描画部１０５は、第２メモリ１０７が確保されているか否かを判定する。確保済みであれば、描画部１０５は、Ｓ６０８で、第２メモリ１０７からの切り抜き処理を行う。この切り抜き処理は、図３を参照した説明した通りで、第２メモリ１０７を第１メモリ１０６の上から単純に重ねあわせるだけで合成画像３００を得るための処理である。即ち、ラスタ画像が描画される第１メモリ１０６のメモリ領域に対応する第２メモリ１０７のメモリ領域をマスク処理する。具体的には、描画部１０５は、第２メモリ１０７に対してＢＲＵＳＨＯＢＪを新たに作成し、Ｓ６０６と同様の方法で、描画命令に対応するラスタ画像を描画する。ここでは、第２メモリ１０７において、ラスタ画像を１（透過）で描画したいので、まずｉＳｏｌｉｄＣｏｌｏｒメンバを０ｘ０１としたようなＢＲＵＳＨＯＢＪを新たに作成する。その他の、領域情報やクリッピング情報などのＤＤＩの入力はそのまま採用し、第２メモリ１０７に描画する。
【００７３】
現在のバンドに属する全ての描画命令ついて、Ｓ６０１〜Ｓ６０９における処理が完了すると、Ｓ６１０に進む。
【００７４】
Ｓ６１０では、非可逆圧縮部１０８は、第１メモリ１０６にラスタライズした画像データを非可逆圧縮する。必要に応じて、バンド全体ではなく、更に帯状に分割した上で圧縮しても良い。
【００７５】
次に、Ｓ６１１で、第２メモリ１０７が確保されていた場合、可逆圧縮部１０９は、第２メモリ１０７内のラスタ画像を可逆圧縮する。但し、前述の通り、可逆圧縮を行わなくてもよい。
【００７６】
Ｓ６１２で、印刷データ生成部１１０は、Ｓ６１０で非可逆圧縮した第１メモリ１０６内のラスタ画像データ、及びＳ６１１で可逆圧縮した第２メモリ１０７内のラスタ画像データを含む印刷データを生成する。具体的には、これらのラスタ画像データを、プリンタ１１１とプリンタドライバ１０３との間で予め定められた形式でコマンド化する。
【００７７】
ここで、プリンタ１１１の持つメモリ容量によっては、バンド単位でそれぞれ生成した可逆圧縮データ／非可逆圧縮データを、それぞれ帯状に分割し、交互に送信しても良い。これは、プリンタ１１１が受け取ったデータを一旦展開しておくバッファが不足すると、可逆圧縮データと非可逆圧縮データの重ね合わせの処理を行うことができないためである。もちろん、帯状に分割する場合の単位は、それぞれの圧縮データを伸長した場合の高さ（ライン数）である必要があり、それらは可逆圧縮データと非可逆圧縮データの双方で一致させておく。
【００７８】
ある１ページの印刷対象画像に対して生成される印刷データの一例を図７に示す。図７の例では、印刷データ生成部１１０は、印刷対象画像を１６ライン毎にコマンド化し、プリンタ１１１に送信する。印刷データの先頭にはまず印刷開始や、様々な初期化情報を含む印刷開始コマンドが付加される。次に、前述の通り、１６ライン毎に、非可逆圧縮データと可逆圧縮データが交互に、それぞれコマンドとして送信される。それぞれのコマンドはヘッダとしてライン数（図７ではページの最後を除き、１６）やデータ量などが含まれる。印刷イメージの最終ｎラインのデータを示す印刷データの最後には、印刷終了を示すコマンドが付加される。
【００７９】
このようにして、特定のバンドに対する印刷データの生成が終了したら、プリンタドライバ１０３は、Ｓ６１３で確保した第２メモリ１０７を開放する。以上が、図５のＳ５０６で示した、バンド単位で印刷データを生成する処理の詳細である。
【００８０】
以上説明したように、本実施形態によれば、プリンタドライバ１０３を備える情報処理装置であるＰＣ１００は、浸透性の低い顔料黒インクで印刷される描画命令に対応するラスタ画像を、他の描画命令とは別のメモリ（第２メモリ１０７）に描画する。そして、第２メモリ１０７内のラスタ画像を可逆圧縮して（或いは、圧縮せずに）プリンタ１１１に送信する。一方、ＰＣ１００は、染料カラーインクで印刷される描画命令に対応するラスタ画像を第１メモリ１０６内に描画し、第１メモリ１０６内のラスタ画像を非可逆圧縮してプリンタ１１１へ送信する。プリンタ１１１は、図３に示すとおり、非可逆圧縮／可逆圧縮されたラスタ画像をそれぞれ伸長し、重ね合わせることにより、印刷対象の画像データを得る。
【００８１】
このようにして得られた印刷対象の画像データは、浸透性の低い顔料黒で印刷される領域について、図２のノイズ２０４に示されるような、領域２０２の内部に発生するノイズが抑制されたデータである。そのため、非可逆圧縮に伴って発生するノイズに起因するブリードを抑制することが可能になる。即ち、インクジェットプリンタによる印刷のための印刷データを生成する情報処理装置において、印刷時に特性の異なるインクが使用されることに伴う印刷画質の劣化を抑制することが可能となる。このとき、浸透性の高い染料カラーインクで印刷される領域については非可逆圧縮されているので、印刷画質の劣化を抑制しつつも、ＰＣ１００からプリンタ１１１へ送信されるデータ量の増大も抑制することができる。
【００８２】
また、図２のノイズ２０３のような、領域２０１におけるノイズの発生も抑制され、印刷画質が向上する。
【００８３】
＜変形例１＞
以上の説明において、第２メモリ１０７に描画されるラスタ画像は、顔料黒インク用の１つであったが、カラーであってもよいし、また、複数あってもよい。この場合、図４に示すＬＵＴは、複数の色について使用／不使用の情報を格納する。プリンタドライバ１０３は、ＬＵＴで「使用」と判断された色で描画されるとＳ６０３において判定された場合に、第２メモリ１０７に対する描画を行う。第２メモリ１０７は色毎に確保され、第２メモリ１０７内のラスタ画像は色情報と共にプリンタ１１１に送信され、プリンタ１１１によって第１メモリ１０６内のラスタ画像と合成後、印刷される。
【００８４】
＜変形例２＞
以上の説明においては、プリンタ１１１は印刷設定に関わらず、少なくとも一部において非可逆圧縮を行ったＲＧＢ多値データを入力とするような構成としたが、印刷設定によって、圧縮を行わない印刷データの入力と切り替えるような構成も取ることができる。
【００８５】
この場合、例えば、圧縮を行わないような印刷設定である場合は、プリンタドライバ１０３にてＲＧＢ多値データを非可逆圧縮することなくＣＭＹＫデータに変換を行い、プリンタ１１１に送信する。
【００８６】
このようにすることにより、印刷品位を優先させたい印刷設定時には、始めから完全に非圧縮とし、高品位な印刷結果を得ることが可能である。
【００８７】
＜変形例３＞
変形例２においては、印刷設定によってプリンタ１１１に送信する印刷データの圧縮、非圧縮を切り替えていたが、プリンタ１１１の接続に用いられているインタフェースによって切り替えるような構成も取ることができる。
【００８８】
この場合、転送速度が遅いインタフェースの場合にのみ、第１の実施形態で生成されるような圧縮された印刷データを送信することで、転送速度が遅いインタフェース接続時にも、高速な印刷を行うことが可能である。
【００８９】
［その他の実施形態］
上述した各実施形態の機能を実現するためには、各機能を具現化したソフトウェアのプログラムコードを記録した記録媒体をシステム或は装置に提供してもよい。そして、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによって、上述した各実施形態の機能が実現される。この場合、記録媒体から読み出されたプログラムコード自体が上述した各実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。このようなプログラムコードを供給するための記録媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスクなどを用いることができる。或いは、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることもできる。
【００９０】
また、上述した各実施形態の機能を実現するための構成は、コンピュータが読み出したプログラムコードを実行することだけには限られない。そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含まれている。
【００９１】
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれてもよい。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって上述した各実施形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【００９２】
【図１】第１の実施形態に係るプリンタドライバの詳細な構成例を示すブロック図である。
【図２】顔料インクで印刷される文字の内部に染料インクが混入する現象を説明する図である。
【図３】第１メモリ内のラスタ画像、第２メモリ内のラスタ画像、及びこれらを合成して得られる合成画像の一例を示す図である。
【図４】黒の画素の印刷に顔料黒インクが使用されるか否かを、印刷モードごとに登録したルックアップテーブルである。
【図５】第１の実施形態に係る印刷データ生成処理の流れを示すフローチャートである。
【図６】図５のＳ５０５における処理の詳細を示すフローチャートである。
【図７】第１の実施形態に係る印刷データの一例を示す図である。
【図８】第１の実施形態に係る印刷システムの構成を示すブロック図である。
【図９】第１の実施形態に係るパーソナルコンピュータ（ＰＣ）の詳細な構成例を示すブロック図である。
【符号の説明】
【００９３】
１００  パーソナルコンピュータ（ＰＣ）
１０１  アプリケーション
１０２  オペレーティングシステム（ＯＳ）
１０３  プリンタドライバ
１０４  判定部
１０５  描画部
１０６  第１メモリ
１０７  第２メモリ
１０８  非可逆圧縮部
１０９  可逆圧縮部
１１０  印刷データ生成部
１１１  プリンタ
【図１】
0005028190.tif 000002
【図２】
0005028190.tif 000003
【図３】
0005028190.tif 000004
【図４】
0005028190.tif 000005
【図５】
0005028190.tif 000006
【図６】
0005028190.tif 000007
【図７】
0005028190.tif 000008
【図８】
0005028190.tif 000009
【図９】
0005028190.tif 000010