(57)【要約】【課題】  描画命令をビットマップ展開する際に、ピクセル毎の属性情報等を付加情報としてピクセル毎の色処理を実現する方法では、描画命令に論理演算処理が指定された場合には付加情報を正確に作成することができない。【解決手段】  入力された描画命令をビットマップに展開する際に、描画命令が指定する論理演算処理を、その対象となるソース、パターンおよび論理演算コードにより解析し、該解析結果に基づいて、前記ビットマップの各ピクセルに対応する付加情報用オペレートを作成し、これに基づいてピクセル毎の付加情報を作成する。これにより、前記ビットマップに対して前記付加情報に基づく画像処理を施して、高品位な出力用画像データを作成することができる。【選択図】  図11B
2006318208.tif 000002
【特許請求の範囲】
【請求項１】
入力された描画命令をビットマップに展開するビットマップ展開ステップと、
前記描画命令が指定する論理演算処理を解析する解析ステップと、
該解析結果に基づいて、前記ビットマップのピクセル毎の属性を示す付加情報を作成する付加情報作成ステップと、
前記ビットマップに対して前記付加情報に基づく画像処理を施して出力用の画像データを作成する出力データ作成ステップと、
を有することを特徴とする画像処理方法。
【請求項２】
前記解析ステップにおいては、
前記描画命令が指定する論理演算処理の対象となるソースおよびパターンの色データおよび論理演算コードを解析する
ことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記付加情報作成ステップにおいては、
前記解析ステップにおける解析結果に基づいて、前記ビットマップの各ピクセルに対応する付加情報用オペレートを作成し、
該決定された付加情報用オペレートに基づいて前記ビットマップのピクセル毎の付加情報を作成する
ことを特徴とする請求項１または２記載の画像処理方法。
【請求項４】
前記付加情報作成ステップは、
前記解析ステップにおける解析結果に基づいて、前記ビットマップの各ピクセルに対応する付加情報用オペレートを作成するオペレート作成ステップと、
前記付加情報用オペレートによって付加情報用の論理演算コードを作成するコード作成ステップと、
付加情報用ソースを作成するソース作成ステップと、
付加情報用パターンを作成するパターン作成ステップと、
前記付加情報用の論理演算コードおよび前記付加情報用ソースおよび前記付加情報用パターンによる論理演算を行うことによって、前記ビットマップのピクセル毎の付加情報を作成する論理演算ステップと、
を有することを特徴をする請求項１または２記載の画像処理方法。
【請求項５】
前記ビットマップ展開ステップは、前記描画命令を多値ビットマップに展開することを特徴とする請求項１乃至４のいずれかに記載の画像処理方法。
【請求項６】
前記付加情報は、デフォルト値を有することを特徴とする請求項１乃至５のいずれかに記載の画像処理方法。
【請求項７】
前記解析ステップにおいては、前記描画命令によって論理演算処理が指定されない場合には、上書き処理としての論理演算処理が指定されているとみなすことを特徴とする請求項１乃至６のいずれかに記載の画像処理方法。
【請求項８】
入力された描画命令をビットマップに展開するビットマップ展開手段と、
前記描画命令が指定する論理演算処理を解析する解析手段と、
該解析結果に基づいて、前記ビットマップのピクセル毎の属性を示す付加情報を作成する付加情報作成手段と、
前記ビットマップに対して前記付加情報に基づく画像処理を施して出力用の画像データを作成する出力データ作成手段と、
を有することを特徴とする画像処理装置。
【請求項９】
ホスト装置と印刷装置が接続され、該ホスト装置内のプリンタドライバで生成した印刷用の画像データを該印刷装置に送信する画像処理システムであって、
前記ホスト装置内のプリンタドライバにおいて、請求項１乃至７のいずれかに記載された画像処理方法が実行されることを特徴とする画像処理システム。
【請求項１０】
ホスト装置と印刷装置が接続され、該ホスト装置内で生成した印刷用の画像データを該印刷装置に送信する画像処理システムであって、
前記印刷装置内において、請求項１乃至７のいずれかに記載された画像処理方法が実行されることを特徴とする画像処理システム。
【請求項１１】
情報処理装置を制御することによって、該情報処理装置を請求項１乃至７の何れかに記載された画像処理方法を実行する画像処理装置として動作させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理方法および画像処理システムに関し、特にピクセル毎の属性情報を作成する画像処理方法および画像処理システムに関する。
【背景技術】
【０００２】
高品質な印刷画像を提供する画像処理装置においては、描画命令に対しRGB24ビットの多値ビットマップを多値ビットマップ領域に展開し、すべての描画命令の処理が終了した時点で、多値ビットマップ領域の全体に対して、色処理（色補正、色変換、2n値化を施すことが一般的である。この処理の様子を、図12に示す。すなわち同図に示されるように、文字，グラフィクス，イメージ等の各属性からなる描画オブジェクトが、多値ビットマップ領域に展開された後、それら各属性にかかわらず、多値ビットマップ領域全体に対して同一の色処理が施されることによって、例えば出力するプリンタ等のデバイスに依存したビットマップが得られる。すなわち、描画オブジェクトを展開する際に、オブジェクト毎に色処理を変えることはできない。
【０００３】
このように、展開された多値ビットマップにおいては、ピクセル毎の属性等を示す付加情報を保有していないため、ある任意のピクセルに対し、どのオブジェクト（文字，グラフィクス，イメージ）として描画されたか、あるいはオブジェクトのエッジ部分なのか中心部分なのか、等の判定はできず、ピクセル毎に最適な色処理を施すことはできなかった。
【０００４】
そこで現在では、任意のピクセル毎に最適な色処理を変更できるようにするために、種々の方法が提案されており、その一般的なものとして、全てのピクセルに対して付加情報を付しておく手法がある。
【０００５】
例えば、RGB24ビットに対して付加情報用に1バイトを確保し、1ピクセルをRGBα32ビットとして処理を行ったり、または図13に示すように、別領域に付加情報用メモリを確保し、全てのピクセルに対して付加情報を設定しておく、等の手法がある。図13に示す手法においては、多値ビットマップ領域内のピクセルが更新されるたびに、そのピクセルに対応する付加情報も更新される。そして、すべての描画コマンドが多値ビットマップ領域に展開された後、ピクセル毎に対応する付加情報を参照して、各属性に応じた最適な色処理を施したビットマップが生成される（たとえば、特許文献１参照）。
【特許文献１】特開2001-228990号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記従来のピクセル毎の色処理方式では、描画オブジェクトが全て上書きされていく場合であれは問題は発生しない。しかしながら、論理演算処理が指定された描画オブジェクトを処理する場合には、正確に付加情報を格納することができないという問題があった。その具体例を、図14を用いて以下に説明する。
【０００７】
図14において、イメージ属性を有する描画オブジェクト1と、グラフィクス属性を有する描画オブジェクト2を処理する際に、描画オブジェクト2は「下地がない場合のみ描画」という論理演算が指定されているとする。この場合、付加情報格納領域141には、描画オブジェクト1に対応する付加情報1が格納され、次いで描画オブジェクト2に対応する付加情報2が格納されるが、このとき、既に格納された付加情報1に対し、付加情報2が上書きされるピクセルが発生する。
【０００８】
理想的には、描画オブジェクト2に指定された論理演算を行えば、色処理後のビットマップ142としては描画オブジェクト1は全てが描画され、それに重なる描画オブジェクト2については描画されないはずである。しかしながら図14の付加情報格納領域141に示すように、論理演算を考慮せずに付加情報を格納すると、イメージと判断すべきにもかかわらず、グラフィクスと判断されてしまうピクセルが発生するため、正確な色処理を行うことができず、最適な描画が行われない。
【０００９】
本発明は上述した問題を解決するためになされたものであり、多値画像データをビットマップ展開する際に、画素毎の適切な付加情報を作成する画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記目的を達成するための一手法として、以下のステップを実行する。
【００１１】
すなわち、入力された描画命令をビットマップに展開するビットマップ展開ステップと、前記描画命令が指定する論理演算処理を解析する解析ステップと、該解析結果に基づいて、前記ビットマップのピクセル毎の属性を示す付加情報を作成する付加情報作成ステップと、前記ビットマップに対して前記付加情報に基づく画像処理を施して出力用の画像データを作成する出力データ作成ステップと、を有することを特徴とする。
【００１２】
例えば前記解析ステップにおいては、前記描画命令が指定する論理演算処理の対象となるソースおよびパターンの色データおよび論理演算コードを解析し、前記付加情報作成ステップにおいては、前記解析ステップにおける解析結果に基づいて、前記ビットマップの各ピクセルに対応する付加情報用オペレートを作成し、該決定された付加情報用オペレートに基づいて前記ビットマップのピクセル毎の付加情報を作成することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、論理演算処理の指定のある描画命令についても全ピクセルに対して正確な付加情報を作成することができるため、ピクセル毎に最適な画像処理を施した高品位画像を出力することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
【００１５】
＜第１実施形態＞
図1，図2，図3は、本実施形態の画像処理方法が実現される情報処理システムの構成例を示すブロック図である。
【００１６】
図1において、1は中央処理装置であり、補助記憶装置3から主記憶装置2にロードされたシステムプログラムやアプリケーションプログラムによって、入力装置4から入力される情報を処理して、出力装置5やプリンタ7に出力する。なお、本実施形態の制御プログラムおよび関連データは、システムに接続された媒体読取装置6からFDやCD-ROM，ICメモリカード等の記憶媒体を読み込むことによって、補助記憶装置3に格納されている。
【００１７】
なお本実施形態において出力装置5はディスプレイなどの表示装置とし、プリンタ7とは区別する。また、入力装置4はキーボード、ポインティングデバイス等で構成されているものとする。さらに補助記憶装置3は、ハードディスク、光磁気ディスクで構成されるものであっても良いし、これらの組み合わせで構成されるものであってもよい。また、それぞれの装置がネットワークを介して接続される構成であっても、勿論本発明の範疇である。
【００１８】
図2は、補助記憶装置3に格納されていた制御プログラムと関連データが中央処理装置1に読み込まれて主記憶装置2に展開された後、入力装置4から印刷命令が入力されて、プリンタ7へデータを送って印刷を行うまでのデータの流れを示す概念図である。なお、主記憶装置2上のアプリケーション、ドライバとも、OSの制御下で機能する。なお、中央処理装置1,主記憶装置2の構成はすなわち、ホストコンピュータとして実現され、ここでのドライバとはすなわち、プリンタドライバである。
【００１９】
図3は、図2に示すドライバ部分における処理の詳細を記した図である。同図によればドライバは、OSからの描画命令を受けると、該描画命令を多値のビットマップに展開するが、同時に描画オブジェクトの付加情報の属性を付加情報格納領域に格納する。ここで意味する付加情報の属性とは、オブジェクトの種類（イメージ，グラフィクス，テキスト）やオブジェクトの端部を示すエッジ情報等、最適な色処理を行う上で必要とされる情報である。
【００２０】
なお本実施形態では、多値ビットマップ領域と付加情報格納領域とを別領域とする例を示しているが、例えば多値ビットマップをRGB24ビット、付加情報αを8ビットとしてこの2つを結合したビットマップ（RGBα32ビット）を採用しても、本発明は同様に実現される。また、本実施形態においては描画命令の多値ビットマップへの展開と付加情報の格納は、それぞれを独立して処理することも可能である。
【００２１】
全ての描画命令を処理したら、付加情報と多値ビットマップの合成を行って様々な付加情報毎の多値ビットマップデータを抽出する。そして、抽出されたビットマップデータに対し、付加情報毎の色処理を行なってデバイス依存ビットマップを作成する。これをすべての付加情報に対して繰り返し、合成されたデバイス依存ビットマップを作成し、プリンタ7への出力を行う。
【００２２】
なお、本実施形態では本発明をプリンタドライバ上で実行するものとして説明したが、プリンタ7内で処理を行った場合ても、本発明は同様に実現される。
【００２３】
以下、図4〜図9を用いて、上記図1〜図3で示した情報処理システム上における本実施形態の処理を詳細に説明する。
【００２４】
図4は、多値ビットマップの1ピクセルに対する、付加情報格納領域のフォーマットを示す図である。仮に、付加情報をオブジェクトの種類（3種類：イメージ，グラフィクス，テキスト）を示すものとした場合、それぞれの属性をビットで表すために3ビットが必要となる。本実施形態では、該3ビットの先頭から順に、イメージ，グラフィクス，テキストの各属性を示すとする。なお、付加情報格納領域は1ピクセルあたり3ビットに限定されるものではなく、予備ビットを含めて8ビット(例えば、残りの5ビットは使用しない)等で表しても良い。
【００２５】
図5は、図4に示す描画オブジェクトに論理演算処理指定がある場合に、付加情報格納領域に付加情報が格納される際の具体例を示す図である。ここでは、付加情報としてイメージ属性のビットを立てようとした際に、既に下地情報としてグラフィクス属性のみが立っていた場合について説明する。この場合、付加情報格納領域に付加情報を格納する際の論理演算処理は、以下に示す4種類のオペレート(Op)に分類できる。なお図5においては、付加情報を示す3ビットのうち"ON"がビットが立った状態を示し、空白がビットが立っていない（ビットが落ちた）状態を示している。
【００２６】
Op1：付加情報格納（ターゲットとなる属性のビットを立てる）
Op2：クリア（付加情報格納領域のビットを落とす）
Op3：何もしない（付加情報格納領域のビットはそのまま）
Op4：反転する（付加情報格納領域のビットはそのままで良い）
ここで、「Op4：反転する」というオペレートに関しては、元来ある属性を持った色が反転しているだけであるので、付加情報格納領域のビットについては「Op3：何もしない」と同様、そのままでよい。
【００２７】
なお図5は、下地の付加情報がグラフィクス属性であり、その状態に対してイメージ属性の付加情報を格納したい場合についての、上記4種類のオペレート例を示したものである。この場合、Op1ではイメージ属性の付加情報が上書きされるため、下地であったグラフィクス属性は無くなる。
【００２８】
以下、ある論理演算処理が指定された描画オブジェクトを処理する際に、付加情報の格納処理において図5で挙げた4種類のオペレートを振り分ける例について、図6，図7，図8を参照して説明する。
【００２９】
図6は、本実施形態の説明を容易にするために、一般的な論理演算処理を示す図である。ここで論理演算とは、「ソース」ビットに対する「パターン」ビットによる演算結果を、付加情報格納領域としてのデスティネーション（以下、単に「デスト」と称する）のビットに格納する際の、演算内容を示すものである。この演算の「結果」、すなわち付加情報格納領域に最終的に格納されるビット（rxxx）は、「パターン」,「ソース」,「デスト」の全組み合わせに対し任意に0か1と成り得、なお、「結果」のビットを示すrxxxのxxx部分は、パターン,ソース,デストのビット値を順次並べることによって表されている。このように、全部で2の4乗(16)通りの論理演算処理があり得るが、この論理演算処理を一意に定めるのが論理演算コードである。
【００３０】
図6には、一般的な論理演算処理の一例としての「ソースコピー」および「パターンコピー」が示されている。「ソースコピー」とは「デスト」への「ソース」の上書きを示し、「パターン」,「デスト」の組み合わせに関わらず、「ソース」の示すビットがそのまま、「結果」となることを意味する。同様に「パターンコピー」とは「デスト」への「パターン」の上書きを示し、「パターン」の示すビットがそのまま「結果」となることを意味する。
【００３１】
図7A〜図7Dは本実施形態において、実際に描画オブジェクトで指定された論理演算処理に基づき、付加情報用オペレートを変更する様子を示す図である。一般に論理演算処理は上述したように、論理演算コードによって指定される。本実施形態における論理演算コードとしては、図6に示す「結果」を一意に決められるものであれば如何なるものであっても良いが、ここでは例として、マイクロソフト社のWindows（登録商標）において与えられるものとする。この場合、0がビットON、1がビットOFFを示す。
【００３２】
まず、付加情報のうち対象にしている属性(論理演算処理指定がなければ本来立てるべき属性：以下、対象属性と称する)のビットに対するオペレートを、図7Aおよび図7Bに示す。図7Aは、一般的な論理演算との比較を容易とするために、図6に示したいずれの値に注目すべきかを示すものである。
【００３３】
描画オブジェクトに付随してきた「パターン」が白、すなわちビットOFFであれば、図6に「結果」として示されるr1xxが付加情報用オペレートの作成に使用されるビットであり、白以外すなわちビットONであれば、r0xxが使用されるビットである。図7Aでは、描画オブジェクトに付随してきたパターンが白以外であった例を示している。ここで白を特別視する理由は、白（RGB値で0xFFFFFFFF）という値は色を表すものであるが、同時に論理演算処理においては存在しないということも表されるためである。
【００３４】
次に、ソースが0である旨を示すrx00とrx01の組み合わせ、およびソースが1である旨を示すrx10とrx11の組み合わせを確認する。これら(rx00,rx01),(rx10,rx11)のとる値は、(0,0),(0,1),(1,0),(1,1)のいずれかであり、これらが図5に示す4種類のオペレート（Op1〜Op4）に、以下のように割り当てられる。
【００３５】
(0,0)  →  ビットON、つまりOp1：付加情報格納
(1,1)  →  ビットOFF、つまりOp2：クリア
(0,1)  →  ビットがデストと同じ、つまりOp3：何もしない
(1,0)  →  ビットがデストと逆、つまりOp4：反転する（Op3：何もしないと同様）
これらいずれかのオペレートが、ソース0の場合とソース1の場合で一意に決められる。この様子を図7Bに示す。すなわち図7Bにおいて、ソースが0である場合の対象属性ビットに対するオペレートを示すTarget_SrcONと、ソースが1である場合の対象属性ビットに対するオペレートを示すTarget_SrcOFFはそれぞれ、Op1〜Op4のいずれかを示す。
【００３６】
ただし、ここでは描画オブジェクトに対するソースを付加情報用ソースに変更する必要がある。具体的には図7Cに示すように、ソース内のあるピクセルについて、「白」であれば付加情報用ソースは全ての属性をOFF（Windows（登録商標）においては1）とし、「白」以外であれば全ての属性をON（Windwos（登録商標）においては0）とする変更が必要である。
【００３７】
以上のように決定されるオペレートは、付加情報における対象属性のビットに対して決定されるオペレートである。一方、付加情報における対象属性以外の属性（以下、非対象属性と称する）に対するオペレートに関しては、図7Bのように決定された対象属性のオペレートに応じて、以下のように一意に決まる。
【００３８】
対象属性がOp1：付加情報格納  →  非対象属性のビットはOp2：クリア
対象属性がOp2：クリア  →  非対象属性のビットもOp2：クリア
対象属性がOp3：何もしない  →  非対象属性のビットもOp3：何もしない
対象属性がOp4：反転  →  非対象属性のビットもOp4：何もしない
この様子を図7Dに示す。すなわち図7Dにおいて、ソースが0である場合の非対象属性ビットに対するオペレートを示すNonTarget_SrcONと、ソースが1である場合の非対象属性ビットに対するオペレートを示すNonTarget_SrcOFFはそれぞれ、Op2〜Op4のいずれかのオペレートを示し、すなわち、非対象属性に対するオペレートとしてOp1：付加情報格納は存在しないことが分かる。
【００３９】
本実施形態においては、論理演算処理指定のある描画オブジェクトを処理する際に、付加情報に対しても以上説明したように決定されたオペレートを各属性毎に行うことによって、適切な付加情報を作成することができる。
【００４０】
ここで図8A〜図8Cを用いて、付加情報に対するオペレートの効率的な処理方法について説明する。本実施形態においては各ピクセルに対する付加情報毎に、さらにその属性ビットや付加情報用ソースによってオペレートを切り替える必要がある。この処理を効率良く行うために、これらのオペレートを図6に示すように、付加情報用のパターンおよびソースを用いて表すことが可能である。そのためには、付加情報用パターンを用意する必要がある。
【００４１】
ここで付加情報用パターンとは、図8Aで示すように、ある描画オブジェクトの属性（この例ではイメージ属性）を示すビットをON、それ以外のビットをOFFにしたものである。図8Bは、図7Dに示すオペレートを、図7Cに示す付加情報用ソース、図8Aに示す付加情報用パターンを用いて、図6に示したような構成により表現したものである。図8Bにおいて、図6における「結果」の0 or 1に相当する個所、すなわちオペレート結果としてのOFF or ONは、図7Bおよび図7Dで説明した対象属性および非対象属性のオペレートによって一意に決定される。
【００４２】
以下、上記オペレートの決定方法について、図8Cを用いて詳細に説明する。図8Cは、全オペレートについての付加情報の格納例を示す図である。
【００４３】
図8Bにおいて、付加情報用パターンがOFFであるということは、非対象属性のビットに対するオペレートであることを意味し、すなわち図7DにおいてNonTarget_SrcOFF，NonTarget_SrcONとして示されたオペレートである。したがってこの場合、オペレートとしてOp1（付加情報格納）は存在しない。Op2（クリア）であればビットを落とすためにデスト（付加情報格納領域）の値に関らず、オペレートの結果は常にOFFとなる。また、Op3（そのまま）ではデストのビットがそのまま使用されるため、オペレートの結果はOFF,ONのいずれかとなる。同様にOp4(反転)でもデストのビットがそのまま使用され、オペレートの結果はOFF,ONのいずれかとなる。
【００４４】
一方、付加情報パターンがONであるということは、対象属性のビットに対するオペレートであることを意味し、すなわち図7BにおいてTarget_SrcOFF，Target_SrcONとして示されたオペレートである。したがってこの場合には、上述した付加情報パターンがOFFである場合のオペレートOp2,Op3,Op4に加えて、Op1(付加情報格納)があり得る。このOp1の場合は付加情報パターンがONであるため、デスト（付加情報格納領域）の値に関らず、オペレート結果は常にONとなる。
【００４５】
図8Bにおいて、以上のように決定される「結果」により一意となるものを付加情報用論理演算コードとすることにより、本実施形態では付加情報に対しても、一般的な論理演算と同様の処理を行うことができる。例えば、図8Bに示すOFF,ONをそれぞれ0,1に置き換えることによって論理演算を行えば良い。これにより付加情報に対し、対象属性ビットを意識することなく効率的な論理演算処理を施すことができる。
【００４６】
図9は、以上のように論理演算処理を施すことによって作成された付加情報を用いて、描画された多値ビットマップに対する色処理等を行う例を示した図である。同図に示されるように本実施形態では、描画オブジェクトをビットマップ展開する際に、作成した付加情報を付加情報格納領域に格納しておく。そして、色処理を行う際には、多値ビットマップを付加情報毎に抽出し、抽出したそれぞれの領域に対して色処理等を行なうことによって、それぞれの属性に応じた色処理を施すことができる。そして、それら属性毎の多値ビットマップを再度合成することによって、デバイスに依存したビットマップが作成される。なお、多値ビットマップを付加情報毎に抽出するのではなく、ピクセル毎に付加情報を見ながら色処理等を行っても、同様の結果が得られることは言うまでもない。
【００４７】
本実施形態における画像処理方法は、図11Aおよび図11Bに示されるフローチャートに基づいてプログラム化されている。以下、このフローチャートを参照しながら本発明に係る画像印刷処理について説明する。
【００４８】
まず、図1に示す入力装置4から印刷を実行するように命令が入力されると、補助記憶装置3から主記憶装置2上に読み込まれた、図2に示すOS、ドライバやアプリケーションのうち、OSがそのメッセージを受け取る。OSは現在アクティブであるアプリケーションに対して印刷実行メッセージを送る。
【００４９】
アプリケーションは、そのメッセージをOSが認識できるコマンドに変換して印刷するデータやコマンドのメッセージをOSに送り、OSはこのメッセージをドライバの認識できるコマンドに変換してドライバに送ることにより、図11Aのフローチャートに示す処理がドライバによって実行される。
【００５０】
ドライバはまず、初期化用のメッセージが送られてきたタイミングで、主記憶装置2内に多値ビットマップを格納する領域や付加情報格納領域をアロケートして、その内容をクリアしておく(S1101)。そしてドライバは、OSから送られてくる描画命令に従って多値ビットマップを展開し(S1102)、次に描画命令の属性を付加情報格納領域に展開する(S1103)。全ての描画命令に対して多値ビットマップへの展開とそれに対応する付加情報格納領域への属性の格納が完了すれば(S1115)、描画データと共に正確な付加情報を入手することができる。
【００５１】
以下、ステップS1103における付加情報の格納処理について、図11Bに示すフローチャートを用いて詳細に説明する。
【００５２】
付加情報の属性を展開するために、まず描画命令の属性（イメージ，グラフィクス，テキスト等の対象属性）を判断する(S1104)。次に、描画命令におけるパターンは白であるか否かを確認し(S1105)、その結果に従って、描画命令で指定されている論理演算コードのしかるべき個所を取り出し、例えば図7Bに示したように付加属性用オペレートを作成する(S1106,S1107)。ここで作成されたオペレートはすなわち、描画命令の属性（対象属性）を付加情報格納領域に展開する際のオペレートである。
【００５３】
なお本実施形態においては、描画命令で論理演算処理が指定されていない場合には、上書き処理として論理演算コードを作成する。
【００５４】
そしてこれら対象属性のオペレートに基づいて、図7Dに示したように、描画命令の属性以外の属性（非対象属性）に対するオペレートを作成する(S1108)。
【００５５】
これまでに作成したオペレートを用いて、付加情報の全属性に対してオペレートを切り分けながら処理を行うことも可能であるが、本実施形態では処理の効率化を図るため、図8A〜図8Dを用いて説明したように、付加情報として展開する対象属性にかかわらず一括処理を行う方法を提供する。そのために、図8B,図8Cで示したように、ステップS1106,S1107,S1108で作成されたオペレートに基づいて付加情報用論理演算コードを作成する(S1109)。
【００５６】
次に、図7Cで示したように付加情報用ソースを作成する(S1110)。
【００５７】
さらに、図4に示す付加情報のフォーマットにおいて、図8Aに示したように、描画命令の属性（対象属性）を示すビットをON、それ以外（非対象属性）をOFFにした形式で、付加情報用パターンを作成する(S1111)。また、描画命令を多値ビットマップに展開する際に、それぞれの多値ビットマップのピクセルに対応した付加情報格納領域を抽出し、これを付加情報用デスティネーションとする(S1112)。
【００５８】
そして、付加情報用論理演算コードを用いて、付加情報用ソース、付加情報用パターン、付加情報用デスティネーションによる論理演算処理を行い(S1113)、該演算結果を付加情報用デスティネーションに格納する(S1114)。以上により、ステップS1103の付加情報格納処理が完了する。
【００５９】
以上のように全ての描画命令に対するビットマップ展開および付加情報の格納処理が終了したら、その後は図9に示したように、付加情報に従って属性毎に最適な色処理等の処理を行うことによって、最適なデバイス依存ビットマップを作成することができる。
【００６０】
なお、本実施形態はレンダリングを行う画像処理装置であれば、様々な形態の装置に適用することが可能である。
【００６１】
また、主に描画命令の属性をイメージ、テキスト、グラフィクスの3種類を例として説明したが、本発明はこの例に限定されず、付加情報の属性ビットを追加することにより、識別可能な属性数およびその内容を任意に設定することができる。
【００６２】
また、本実施形態では描画命令を多値ビットマップに展開する例を示したが、本発明における画像データのフォーマットとしては、ピクセル毎の色情報を示せるものであれば良く、例えば二値画像データへの展開を行っても本発明は同様に成立する。
【００６３】
また、本実施形態は、中央処理装置1と主記憶装置2を備えるホストコンピュータにおけるプリンタドライバの機能として実行されるとして説明したが、本発明はこの形態に限らず、例えばホストコンピュータがアプリケーションやOSから描画命令を受け取り、その描画命令をPDL(Page Discription Langage)や中間言語等の描画命令に変更して、プリンタ7に送信するような構成であっても良い。この場合、本実施形態はプリンタ7の内部処理として実現される。
【００６４】
以上説明したように本実施形態によれば、アプリケーションやOSから受け取った描画命令を多値ビットマップに展開し、さらに多値ビットマップのピクセル毎に属性を示す付加情報を作成するレンダリング処理を行う際に、論理演算処理指定のある描画命令についても適切な付加情報を作成することができるため、ピクセル毎の属性に応じた色処理等を施した高品位画像を得ることができる。
【００６５】
＜変形例＞
上述した第1実施形態において、予めデフォルト属性を設定しておくことによって、付加情報格納領域として必要なビット数を減らすことができる。
【００６６】
この例を図10に示す。同図によれば、付加情報として上述した本実施形態と同様にテキスト、イメージ、グラフィクスの3種類の属性を示すために、付加情報格納領域に必要なビット数を1ビット減らすことができる。図10に示す例においては、デフォルト値がテキスト属性であり、すなわち、1ピクセルあたりの付加情報格納領域として、各ビットがイメージ、グラフィクスを示す2ビットが用意され、このいずれのビットも落ちている場合には、これをテキスト属性であると定義されている。
【００６７】
この場合も第1実施形態と同様に、図4乃至図9を用いて説明したような属性毎の画像処理を行うことができる。
【００６８】
［他の実施例］
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６９】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００７０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００７２】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などがある。
【００７３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００７４】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７７】
【図１】本発明に係る一実施形態の画像処理方法が実現される情報処理システムの構成例を示すブロック図である。
【図２】本実施形態の情報処理システムにおけるデータの流れを示す図である。
【図３】本実施形態におけるプリンタドライバの処理概要を示す図である。
【図４】本実施形態における付加情報の格納フォーマット例を示す図である。
【図５】本実施形態における付加情報格納用オペレートの種類を示す図である。
【図６】一般的な論理演算処理を示す図である。
【図７Ａ】本実施形態における論理演算処理を一般的な論理演算と比較するための図である。
【図７Ｂ】対象属性ビットに対するオペレートの決定方法を示す図である。
【図７Ｃ】付加情報用ソースの作成方法を示す図である。
【図７Ｄ】非対象属性ビットに対するオペレートの決定方法を示す図である。
【図８Ａ】本実施形態における付加情報パターンの作成方法を示す図である。
【図８Ｂ】本実施形態における付加情報のオペレートを一般的な論理演算形式で表現した図である。
【図８Ｃ】全オペレートについての付加情報の格納例を示す図である。
【図９】本実施形態における付加情報を考慮した色処理例を示す図である。
【図１０】本実施形態の変形例として、付加情報領域を低減した例を示す図である。
【図１１Ａ】本実施形態における画像処理を示すフローチャートである。
【図１１Ｂ】付加情報格納処理を示すフローチャートである。
【図１２】描画命令を多値ビットマップ領域に展開し、全ピクセルに対して同一の色処理を行う例を示す図である。
【図１３】全ピクセルに対して付加情報を設定することによって、属性毎の色処理を実現する例を示す図である。
【図１４】描画オブジェクトに論理演算処理が指定された場合に、適切な付加情報が格納されない例を示す図である。
【図１】
2006318208.tif 000003
【図２】
2006318208.tif 000004
【図３】
2006318208.tif 000005
【図４】
2006318208.tif 000006
【図５】
2006318208.tif 000007
【図６】
2006318208.tif 000008
【図７Ａ】
2006318208.tif 000009
【図７Ｂ】
2006318208.tif 000010
【図７Ｃ】
2006318208.tif 000011
【図７Ｄ】
2006318208.tif 000012
【図８Ａ】
2006318208.tif 000013
【図８Ｂ】
2006318208.tif 000014
【図８Ｃ】
2006318208.tif 000015
【図９】
2006318208.tif 000016
【図１０】
2006318208.tif 000017
【図１１Ａ】
2006318208.tif 000018
【図１１Ｂ】
2006318208.tif 000019
【図１２】
2006318208.tif 000020
【図１３】
2006318208.tif 000021
【図１４】
2006318208.tif 000022