(57)【特許請求の範囲】
【請求項１】
任意形状を塗りつぶしパターンで塗りつぶす方法であって、
塗りつぶしパターンで塗りつぶすための任意形状をホストコンピュータにおいて指定するためのステップと、
前記塗りつぶしパターンと表示背景との排他的論理和（ＸＯＲ）をとるための排他的論理和（ＸＯＲ）命令の生成を前記ホストコンピュータにおいて検出するステップと、
前記ＸＯＲ命令の生成の検出に応じて前記ＸＯＲ命令が実行されないようにするとともに前記塗りつぶしパターンがプリンタに格納されないようにするステップと、
前記任意形状を表すデータを前記ホストコンピュータから前記プリンタへ送信するステップと、
前記任意形状の少なくとも一部をマスクとして前記プリンタ内のマスクバッファに記憶するステップと、
前記塗りつぶしパターンを前記ホストコンピュータから前記プリンタへ送信するステップと、
前記マスクバッファ内の前記マスクと前記塗りつぶしパターンとの論理積をとってクリップされた塗りつぶしパターンを作成するステップと、
前記クリップされた塗りつぶしパターンを前記プリンタにおいて印刷するステップと、
からなる方法。
【請求項２】
前記塗りつぶしパターンが均一でないパターンである、請求項１の方法。
【請求項３】
前記任意形状がラスタイメージである、請求項１の方法。
【請求項４】
前記記憶するステップ及び前記論理積をとるステップは前記ホストコンピュータからページ記述言語で命令を受信することに応じて実施される、請求項１の方法。
【請求項５】
前記ホストコンピュータに記憶されたプリンタドライバプログラムが、該ホストコンピュータ内で生成されたページ記述言語の命令を変換し、変換されたページ記述言語の命令をプリンタへ送信し、前記変換された命令によって前記記憶するステップ及び前記論理積をとるステップを前記プリンタに実施させる、請求項１の方法。
【請求項６】
前記排他的論理和命令の生成を検出するステップの後に、
前記任意形状を第１のパターン上にコピーするための前記ホストコンピュータによるコピー命令の生成を検出するステップと、
前記コピー命令の生成の検出に応じて前記任意形状を表すデータを前記プリンタへ送信するステップと、
をさらに含む、請求項１の方法。
【請求項７】
前記記憶するステップの後に、前記塗りつぶしパターンと前記第１のパターンとの排他的論理和をとるための前記ホストコンピュータによるＸＯＲ命令の生成を検出するステップをさらに含み、
前記ＸＯＲ命令の生成の検出に応じて、前記塗りつぶしパターンを前記プリンタへ送信する前記ステップが実施される、請求項６の方法。
【請求項８】
送信された塗りつぶしパターンと表示背景との排他的論理和をとるためのホストコンピュータによる排他的論理和（ＸＯＲ）命令の生成を検出し、該検出に応じて前記ＸＯＲ命令が実行されないようにするとともに前記塗りつぶしパターンがプリンタに格納されないようにするための手段と、
前記ホストコンピュータから送信されたデータ及び印刷命令を受信するための受信機と、
送信された任意形状の少なくとも一部をマスクとして記憶するためのマスクバッファと、
前記任意形状について塗りつぶしパターンを記憶するためのメモリと、
前記マスクバッファ内の前記マスクと前記塗りつぶしパターンとの論理積をとってクリップされた塗りつぶしパターンを作成するための手段と、
前記クリップされた塗りつぶしパターンを印刷するためのプリンタと、
からなるプリンタシステム。
【請求項９】
前記マスクと前記塗りつぶしパターンとの論理積をとる前に前記マスクバッファの内容を反転させ、前記塗りつぶしパターンの排他クリッピングを実施するためのインバータをさらに含む、請求項８のプリンタシステム。
【請求項１０】
ホストコンピュータによって生成された塗りつぶしステップの第１の集合を、任意形状を塗りつぶしパターンで塗りつぶすための塗りつぶしステップの第２の集合に変換するための、プリンタドライバをさらに含む、請求項８のプリンタシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はグラフィック処理に関し、より詳細には、任意の形状を表示用に選択されたパターンで塗りつぶす方法に関する。
【０００２】
【従来の技術】
HP DeskJet 1200Cプリンタなどの多くのタイプのプリンタでは、ホスト・コンピュータからプリンタに送られる制御情報、及び表示情報は、高水準ページ記述言語で提供され、その後、プリンタによってラスタ走査タイプ形式に変換される。次にプリンタは、媒体上にプリントするために、そのラスタ走査形式のデータをプリント・エンジンに送る。高水準コマンドの処理は、ホスト・コンピュータではなく、プリンタが行うため、コンピュータはユーザに対してより迅速に対応することができる。
【０００３】
プリントするページは、まずプリンタに表示リストとして記憶されるか、または個別のピクセルとしてフレーム・バッファに記憶される。Anthony Parkhurst他による、Hewlett-Packard Journal 1994年２月号、85-97ページの論文「Connectivity of the HP DeskJet 1200C Printer」は、ホスト・コンピュータとHP DeskJet 1200Cカラー・プリンタ間の、この周知のインタフェースについて述べている。この論文は、ここで参照することによって本明細書に組み込まれる。このようなインタフェースは、他のプリンタが使用しているインタフェースと同様である。
【０００４】
HP DeskJet 1200Cは、ブラック・ペン、シアン・ペン、マゼンタ・ペン、及びイエロー・ペンを使用するカラー・インクジェット型プリンタである。インクジェット・プリントヘッドによってブラック・インク滴、またはカラー・インク滴が噴射され、媒体上にドット、即ちピクセルを形成する。これらのドットは、近接しているか、または重複しており、個々のドットを互いに区別することはできない。シアン、マゼンタ、及びイエローのインクの様々な組み合わせによって、多くの色が作られる。
【０００５】
プリンタに送られるページ記述言語は、座標と、矩形、ベクトル、円、多角形などの基本形を使用して、表示される形状を記述する。テキストは、文字の外観を記述するのではなく、文字とフォントを指定することによって記述される。ページ記述言語は、形状を特定のパターン、または色で塗りつぶすなどの、形状に関して行われる操作も記述する。このようなページ記述言語は、プリントする各ピクセルが、ラスタ走査の順にプリンタに送られる単純なピクセル単位の記述とは対照的に、このようなラスタ走査形式の伝送を高水準言語と連係して行うことができる。周知のページ記述言語の１つは、PCL-5C言語である。この言語については、ヒューレット・パッカードの出版物「PCL 5 Printer Language Technical Reference Manual」、1992年版、マニュアル・パート番号5961-0509で詳述されており、ここで参照することによって、本明細書に組み込まれる。グラフィックのプログラムを開発するプログラマは、このようなPCL-5言語を使用して表示イメージを定義することができる。その他のページ記述言語としては、PostScript、及びHP-GL/2などがある。
【０００６】
プリンタに必要なメモリ容量と、ページのレンダリング、及びプリントに要する時間は、ページ記述の複雑さに正比例する。HP DeskJet 1200Cのメモリ容量は２メガバイトであるが、より複雑なグラフィックに対して、最大26メガバイトまで拡張可能である。
【０００７】
パーソナル・コンピュータ用のグラフィック・アプリケーション・プログラムによって、ユーザは、テキスト、任意オブジェクト、及び背景を塗りつぶすことが容易になってきている。例えば、グラジェントの塗りつぶしの場合、ユーザは始めの色、終わりの色、及び直線的、角度的、放射状、または円錐状などの、グラジェントの種類を選択するだけでよい。グラジェントが定義されると、それが任意のテキスト、またはグラフィックに適用されて、テキストまたはオブジェクトが、事前に定義されたグラジェントのパターンで塗りつぶされる。現在、プレゼンテーション・グラフィックを扱う多くのアプリケーションでは、標準の背景として全画面グラジェントを使用することができる。
【０００８】
マウスと組み合わせて使用されるメニュー方式の表示のような、グラフィカル・ユーザ・インタフェース(GUI)によって、エンド・ユーザは塗りつぶしを簡単に行えるようになっているが、その塗りつぶしを内部的に表現し、実現する標準的な方法はない。このことから、（特定のプリンタをホスト・コンピュータ内の様々なアプリケーション・プログラムとインタフェースさせるために使用される）プリンタ・ドライバとページ記述言語が、様々なアプリケーション・プログラムによって使用される様々な塗りつぶしや陰影付け技法を支援することが重要な機能になっている。
【０００９】
グラフィック表示機能を含むいくつかの代表的なソフトウェア・アプリケーションは、３ステップのラスタ操作(ROP)処理を使用して、任意形状のオブジェクトを固定的な塗りつぶし、またはパターン化された塗りつぶしで塗りつぶす。ROPとは、イメージ・データに対して行われる論理的な操作である。図１では、任意形状のグラジェントの塗りつぶしが、例として使用されている。
【００１０】
図１の(A)ないし(C)に、グラジェントの塗りつぶしを有する楕円を作成する、従来のROP処理を示す。この処理は、任意形状の境界線の外側の表示のどの部分も変更することなく、グラジェントの塗りつぶしを作成する。図１の(A)ないし(C)では、初期の背景は、表示リストまたはフレーム・バッファに記憶されているカラーＸの背景10である。
【００１１】
ユーザは例えば、従来のグラフィック・プログラムとマウスを使用して、形状の輪郭を描くことによって任意形状を作成する。この任意形状は、アプリケーション・プログラムによって自動的に作成される任意のオブジェクトであってもよい。ここでは、この任意形状は楕円であるものと仮定する。
【００１２】
ユーザは次に、任意形状に対して所望の塗りつぶしを選択する。これは、カラーＹのグラジェント・パターン12であるものと仮定する。
【００１３】
次に、３ステップのROP処理が行われ、選択した塗りつぶしパターンで、その任意形状が塗りつぶされる。
【００１４】
この３ステップ処理の最初のステップ（図１の(A)）では、背景10の目的領域内のピクセルと、グラジェント塗りつぶしパターン12との排他的論理和(XOR)をとる。このステップは、ページ記述言語においては、ROP 90で指定される。これによって、目的領域にカラーＺの中間グラジェント・パターン14が作成される。
【００１５】
ステップ２（図１の(B)）では、前もって作成された任意形状が、モノクローム・マスク16として（表示リスト、またはフレーム・バッファ内の）目的領域にコピーされ、パターン18で示されているように、目的領域内の対応するピクセルを置換する。このコピー・ステップは、ROP 240で指定される。
【００１６】
ステップ３（図１の(C)）では、再びROP 90命令を使用して、目的領域パターン18内の全てのピクセルと、グラジェント・パターン12の排他的論理和がとられる。ステップ３の結果、マスク16の外側の部分が、元の表示背景10に変換されると同時に、マスク16内のピクセルが、グラジェント・パターン12に変換される。マスクされた、結果のグラジェント・パターン12は次に、プリントまたはその他の方法で表示される。
【００１７】
【発明が解決しようとする課題】
上記３ステップの処理は、グラジェント・パターン12を２回送信する必要があり、このグラジェント・パターンを２回記憶するのに十分なメモリをプリンタ内に必要とする。塗りつぶしパターンが複雑なラスタ・イメージ（例えば写真）であれば、そのイメージを記憶するのに更に多くのメモリが必要になる。
【００１８】
図１の(A)ないし(C)に関連して説明した３ステップのROP処理よりもメモリと複雑さが少なくて済み、しかも実施に関して実際的でコストのかからないプリンタ、またはコンピュータによる塗りつぶし処理を実施することが望ましい。
【００１９】
【課題を解決するための手段】
本発明の一実施例では、任意形状を１つのパターンで塗りつぶす従来の３ステップのROP処理を、必要な計算とメモリが少なくて済むように修正する。好適実施例では、ホスト・コンピュータに導入されているプリンタ・ドライバ・ルーチンによって、従来のROP命令を修正された命令セットに変換し、次にそれが送信され、プリンタによって処理される。プリンタ内のマスキング・バッファが、この処理を支援する。この改良された方法では、塗りつぶしパターンをプリンタに、２回ではなく１回送信するだけで済み、その結果、最大50％のメモリ節約になり、プリント時間が大幅に短縮される。
【００２０】
３ステップのROPプロセスとは対照的に、塗りつぶしパターンと目的領域の排他的論理和をとる最初のステップ(ROP 90)は削除される。塗りつぶされる任意形状がプリンタに送信され、それらの形状（マスク）が一時マスキング・バッファに記憶される。塗りつぶしパターンは次に、プリンタに送信され、マスクの領域と一致する塗りつぶしパターンだけがプリントのために転送されるように、そのマスクと論理積(AND)がとられる。
【００２１】
この方法の特定の一実施例は、PCL-5C形式のアーキテクチャを使用し、いかなるアプリケーションも介在することなく実施される。好適実施例では、プリンタ・ドライバが従来のROP処理を、既にこうしたROP処理を使用している既存のアプリケーションによって動作するように変更する。しかし、本発明は、プリンタ・ドライバによる変更を必要としないように、アプリケーション・プログラムによって直接実施されることもできる。結果イメージをプリント以外の方法で表示することも考えられる。
【００２２】
【発明の実施の形態】
本発明が、塗りつぶしパターンを有する１つ、または複数の任意形状を表示するように、プリンタに対して命令するホスト・コンピュータに関して説明される。例示のために、ホスト・コンピュータで実行されるアプリケーション・プログラム（例えばグラフィック・プログラム）は、従来の３ステップROP処理を使用して任意形状を塗りつぶし、プリンタに対する命令は、高水準ページ記述言語で送信されるものと仮定する。このようなシステムの構成については、図４に関して更に詳細に説明する。
【００２３】
好適実施例では、ソフトウェア・パッケージがプリンタに付属して提供され、ホスト・コンピュータにロードされプリンタ・ドライバとして機能する。プリンタ・ドライバは通常、特定のプリンタを、使用が予想される様々なデータ形式とインタフェースさせるために使用される。次にプリンタ・ドライバは、プリント命令が送信される前に、後述する様々な変換ステップを実行する。次に、送信された命令に関して、プリンタ内の特定のハードウェアとソフトウェアが、後述する様々な処理を実行する。他の実施例では、ホスト・コンピュータで実行されるアプリケーション・プログラムが、プリンタ・ドライバによる変換が不要となるように、直接プリンタ・ドライバの機能を実施する。
【００２４】
好適実施例では、プリンタ命令はPCL-5C形式でプリンタに送信される。プリンタによって使用されるPCL-5Cフォーマッタ・アーキテクチャは、入力されるPCL-5Cデータ・ストリームから言語構文解析プログラムによって生成されるオブジェクトの表示リストの構成に基づいている。この構文解析プログラムは、データ・ストリーム内のコマンドを認識し、要求された機能を実行する。この構文解析プログラムの出力は、表示リストとして記憶される。表示リストは、ページ記述が完了し、ページがクローズされるまで成長し続ける。表示リスト内のオブジェクトとそれらの属性は、これらのオブジェクトがページ上に現れる上から下に向けての順に作成される必要はない。表示リスト内のオブジェクトは次に、３プレーン(CMY)スワスにラスタ化され、シアン、マゼンタ、及びイエローのインクジェット・プリント・ヘッドなどの、実際にプリントを行うためのプリント・エンジンに送信される。表示リストは、基本オブジェクト定義のほかに、レンダリング処理において表示リストのオブジェクトの性質を特徴付ける、前景色、パターン、ROPなどの特定の属性も受け取る。これらの状態変更属性は、状態変更の影響を受けるソース・オブジェクトが現れるまで、プリンタに記憶される。状態変更は、状態変更が影響を及ぼすオブジェクトの前で、表示リスト内に待ち行列化される。このような表示リスト形式は公知である。
【００２５】
好適方法で使用される命令または状態は、プリンタによって、例えば前景色またはROPなどと同じ方法で扱われ、状態変更の後に表示リストに配置された全てのオブジェクトが、状態変更命令の影響を受ける。従って、本発明の実施態様は、プリンタ電子回路の全体的な動作をほとんど変更する必要がない。
【００２６】
図２に示す好適処理では、任意のパターンまたはカラーの元の表示背景22（図３の(A)）が仮定されている。ユーザは次に、従来のアプリケーション・プログラムとグラフィカル・ユーザ・インタフェースを使用して、塗りつぶす任意形状を作成する。任意形状を作成するこのステップは、代わりにアプリケーション・プログラムによって自動的に行うこともできる。塗りつぶす任意形状には、テキストやラスタ・イメージを含めることができる。ユーザまたはアプリケーション・プログラムは次に、任意形状の塗りつぶしパターンを選択し、コンピュータに対して、任意形状を選択した塗りつぶしパターンで塗りつぶすよう命令する。この塗りつぶしパターンは、固定的な色でも、グラジェントまたはラスタ・イメージなどの均一でないパターンでもよい。これらの上記ステップは、従来のものであり、公知である。
【００２７】
この時点で、アプリケーション・プログラムは、プリンタに対して任意形状を塗りつぶしパターンで塗りつぶすように命令しようと試みて、図１の(A)に関して述べた様々なROPコマンド(ROP 90、ROP 240、ROP 90)の第１のROPコマンドを生成する。しかし、本発明の一実施例に従うと、ホスト・コンピュータ内に事前にプログラムされているプリンタ・ドライバが、アプリケーション・プログラムから第１の命令(ROP 90)を検出する。この検出に応答して、プリンタ・ドライバは次に、排他的論理和ROP 90コマンドと共に（またはその後に）送信された全てのオブジェクト（例えば塗りつぶしパターン）を廃棄する。従って、この塗りつぶしパターンはプリンタに送信されず、排他的論理和ROP 90コマンドに関連する従来の技術の図１の(A)に示す最初のステップはプリンタによって実行されない。従って、プリンタのメモリは、この情報を記憶する必要がない。他の実施例では、排他的論理和ROP 90コマンドと塗りつぶしパターンはプリンタに送信されるが、プリンタによって無視される。
【００２８】
次に、アプリケーション・プログラムは図１の(B)の２番目のステップのための命令を生成する。これはマスク・コピー・コマンドROP 240である。プリンタ・ドライバは、このコマンドをインターセプトし、エスケープ・シーケンスにマスク定義の状態を入力する(ESC*11P)。次に、このマスク定義命令ESC*11Pと、ユーザによって生成された任意形状マスク26（図３）がプリンタに送信される。このコマンドESC*11Pに応答して、プリンタは図３の(A)に示すようにマスク26をプリンタ解像度でモノクローム（単一プレーン）マスキング・バッファ30（図４）内に配置する。
【００２９】
マスク定義コマンドの後に送信されたオブジェクトがあれば全てマスキング・バッファ30に記憶されるため、複数のオブジェクト（及びラスタ・イメージさえも）が記憶されることがある。マスク26の形状は、周知のPCL-5Cの基本形（例えばベクトル、多角形、テキスト、または１ビット・ラスタなど）のいずれかを使用して定義されうる。
【００３０】
アプリケーション・プログラムが、排他的論理和ROP 90ステップの繰り返しである図１の(C)の従来の３ステップROP処理で、３番目の命令を生成すると、プリンタ・ドライバはマスク・クリッピング命令ESC*12Pを生成する。このステップでは、マスキング・バッファ30内のマスク26と、ESC*12P命令とともにプリンタに送信された塗りつぶしパターン32との論理積がとられる（図３の(B)）。このステップで、送信された塗りつぶしパターン32がマスク26によってクリップされ、それによってマスク26の形状をとる。これは包含クリッピングと呼ばれる。その結果の任意形状の塗りつぶしパターン34（図３の(B)）は、元の背景22とともに１回のスワスで処理される（表示リストが使用される場合）かまたは、後でプリントするためにフレーム・バッファに記憶される。表示リストが使用される場合、イメージ・プロセッサが表示リスト内のデータを、プリントされるスワスに変換し、このデータのスワスをプリント・エンジンに送信する。プリント・エンジンは次に、このスワスをプリンタで使用される様々なペンの付勢信号に変換する。
【００３１】
この塗りつぶしパターンを使用してマスク26の外側にあるオブジェクトを塗りつぶしたい場合は、マスキング・バッファ30の内容がまず反転されてから、塗りつぶしパターン32との論理積がとられ、マスク26の境界線内の塗りつぶしパターン32の全ての部分がクリップされる。これは排他クリッピングと呼ばれる。従って、塗りつぶされる任意形状は、マスクの外側の表示部分である。
【００３２】
次のステップでは、命令ESC*10Pが送信され、マスキング・バッファ30が割り当て解除され、マスク定義が非活動化される。マスキング・バッファ30はもはや、入力グラフィック・データに影響を及ぼさなくなる。マスキング・バッファ30は、プリンタ内のより大きなメモリの一部であってもよい。モノクローム・マスキング・バッファ30は、単一スワスの大きさだけあれば済む。このスワスのサイズは少なくとも、プリンタの１回の走査のプリント幅と同じ幅である。スワスのサイズは、多重プリント幅とすることができ、処理時間とプリント速度を含む多くの周知のトレードオフに基づいて選択される。従って、オブジェクトのサイズに応じて、表示される１つのオブジェクト（または複数のオブジェクト）が、処理時に多くのスワスに分割されうる。
【００３３】
従って、図３の(B)に示す、その結果のマスクされた塗りつぶしパターン34は、図１の(C)の任意形状の塗りつぶしパターン12と同じであるが、従来の３ステップROP処理とは異なり、２ステップしか使用されない。また、塗りつぶしパターンは２回ではなく１回しか送信されないため、最大50％のメモリ節約を実現することができ、プリンタが実際にグラフィックをプリントできるようになるまでに要する処理時間が大幅に短縮される。
【００３４】
図１の(A)ないし(C)のROP処理の代わりに、任意のマスキング処理を使用するアプリケーション・プログラムによって、図２に示すROP変換処理ではなく、任意のマスキング処理が直接実行されうる。その場合、図２に関して説明したエスケープ・ルーチンは、他のアプリケーション・プログラムとともに使用するためのプリンタ・ドライバでは依然使用可能であっても、使用されない。
【００３５】
図の実施例はイメージを表示するためにプリンタを使用しているが、表示装置は表示スクリーンまたはその他の装置とすることができる。
【００３６】
図４は、好適実施例のシステムの様々な構成要素を例示した概略ブロック図である。従来のパーソナル・コンピュータ40は、従来のオペレーティング・システム・ファイル42(MS-DOSなど）、アプリケーション・ファイル44、グラフィカル・ユーザ・インタフェース(GUI)ファイル（マイクロソフトによるものなど）、及びグラフィカル・デバイス・インタフェース(GDI)ファイル46（マイクロソフトによるウィンドウズなど）を使用してプログラムされている。マウスやキーボードなどの従来の入力装置48と、従来のCRT 50またはその他の表示スクリーンが、従来の方式でコンピュータ40に接続されている。ブロック52に表示プロセッサとフレーム・バッファが示されている。
【００３７】
コンピュータ40には、プリンタ・ドライバ・ファイル56もロードされており、従来のROP塗りつぶし命令から、図２及び図３に関して説明した任意のマスキング命令への変換と、プリンタ・ドライバの従来のインタフェース機能を実行する。
【００３８】
ケーブル58が、コンピュータ40からプリンタ60にPCL-5Cのデータを送信する。PCL-5Cのデータは次に、PCLフォーマッタ62によって適切にフォーマットされ、構文解析される。そこで処理されたデータは、表示リスト64内に記憶される。
【００３９】
前述のマスキング・バッファ30は、表示リスト64及びイメージ・プロセッサ66と関連して使用され、ラスタ化されたブラック・スワスと３プレーンCMYスワスを生成する。これらのスワスはプリント・エンジン68にプリントのために送られる。本明細書で特に記述されていない構成要素、及び機能は、全て公知であり、従来のものとすることができ、このことは本発明固有の利点である。
【００４０】
本発明に従ったプリンタは、表示リスト64の代わりに従来のフレーム・バッファ、及びそれに関連する処理ハードウェアを利用することもできる。こうしたプリンタの詳細な構成は、当業者には周知であろう。
【００４１】
プリンタ電子回路が、コンピュータ40の外側に図示されているが、このプリンタ電子回路（またはその他の表示電子回路）は、コンピュータ40の内部に収容されうる。
【００４２】
図５の(A)ないし(C)、及び図６の(A)ないし(B)に、本発明のクリップ／マスク技法と従来のROP処理の処理速度及びメモリ節約の性能比較が示されている。これらのグラフから分かるように、表示リスト・オブジェクト及びファイル・サイズが、クリップ／マスク技法を使用することによって大幅に削減され、クリップ／マスク技法を使用した、データ処理のシミュレーション・タイミングは、ROP処理タイミングに対して大幅に短縮されている。
【００４３】
本発明の特定の実施例を示し、説明してきたが、当業者には、本発明から逸脱することなく、その広範な態様において変更、及び修正を加えることができることが明かであろう。従って、特許請求の範囲は、本発明の真の意図、及び範囲内に包含される、こうした全ての変更、及び修正を含むものである。
【００４４】
以下に本発明の実施態様を列挙する。
【００４５】
１．  任意形状を塗りつぶす方法であって、
塗りつぶしパターンで塗りつぶす任意形状を指定するステップ、
前記任意形状を表すデータを受信機構に送信するステップ、
前記任意形状の少なくとも一部をマスクとしてマスク・バッファに記憶するステップ、
前記塗りつぶしパターンを前記受信機構に送信するステップ、
前記マスク・バッファ内の前記マスクと前記塗りつぶしパターンの論理積をとって、クリップされた塗りつぶしパターンを作成するステップ、及び
前記クリップされた塗りつぶしパターンを表示するステップを含むことを特徴とする、前記方法。
【００４６】
２．  論理積をとる前記ステップの前に、前記マスク・バッファの内容を反転して前記塗りつぶしパターンの排他クリッピングを行うステップを更に含むことを特徴とする、項番１に記載の方法。
【００４７】
３．  前記記憶ステップと、前記論理積をとるステップが、ホスト・コンピュータからページ記述言語で命令を受け取るプリンタによって実行されることを特徴とする、項番１または２のどちらかに記載の方法。
【００４８】
４．  ホスト・コンピュータに記憶されているプリンタ・ドライバ・プログラムが、前記ホスト・コンピュータ内で生成されたページ記述言語の命令を変換して、プリンタに送信するための変換後の前記ページ記述言語の命令にし、前記変換後の命令が、前記記憶ステップと論理積をとる前記ステップを前記プリンタに実行させることを特徴とする、項番１、２、または３のいずれかに記載の方法。
【００４９】
５．  任意形状を指定する前記ステップとデータを送信する前記ステップの間で実行される、
送信された塗りつぶしパターンと表示背景との排他的論理和(XOR)をとるための、前記ホスト・コンピュータによる排他的論理和命令の生成を検出し、前記検出ステップに応答して、前記排他的論理和命令が実行されないようにし、前記塗りつぶしパターンが前記プリンタ内のメモリに記憶されないようにするステップを更に含むことを特徴とする、項番４に記載の方法。
【００５０】
６．  排他的論理和命令の生成を検出する前記ステップの後で実行される、
前記任意形状を第１のパターン上にコピーして、第２のパターンを作成するための、前記ホスト・コンピュータによるコピー命令の生成を検出し、前記コピー命令の生成を検出する前記ステップに応答して、前記任意形状を表すデータを受信機構に送信する前記ステップを実行するステップを更に含むことを特徴とする、項番５に記載の方法。
【００５１】
７．  前記記憶ステップの後で、
前記塗りつぶしパターンと前記第２のパターンの排他的論理和をとるための、前記ホスト・コンピュータによる排他的論理和命令の生成を検出し、前記排他的論理和命令の生成を検出する前記ステップに応答して、前記塗りつぶしパターンを前記受信機構に送信する前記ステップと、前記マスク・バッファ内の前記マスクと前記塗りつぶしパターンの論理積をとる前記ステップを実行するステップを更に含むことを特徴とする、項番６に記載の方法。
【００５２】
８．  送信されたデータとホスト・コンピュータからのプリント命令を受け取る受信機構、
送信された任意形状の少なくとも一部をマスクとして記憶するマスク・バッファ、
前記任意形状に関する塗りつぶしパターンを記憶するメモリ、
前記マスク・バッファ内の前記マスクと前記塗りつぶしパターンとの論理積をとって、クリップされた塗りつぶしパターンを作成する手段、及び
前記クリップされた塗りつぶしパターンを表示するプリンタを備えた、プリンタ・システム。
【００５３】
９．  前記マスクと前記塗りつぶしパターンの論理積をとる前に、前記マスク・バッファの内容を反転して、前記塗りつぶしパターンの排他クリッピングを行うインバータを更に備えていることを特徴とした、項番８に記載のシステム。
【００５４】
10．  ホスト・コンピュータによって生成された第１の組の塗りつぶしステップを、任意形状を塗りつぶしパターンで塗りつぶす第２の組の塗りつぶしステップに変換する、プリンタ・ドライバを更に備えることを特徴とする、項番８または９のどちらかに記載のシステム。
【００５５】
【発明の効果】
本発明によって、任意形状をあるパターンで塗りつぶす、従来の３ステップROP処理を修正し、プリンタの計算量とメモリ量を低減させる技法が提供される。
【図面の簡単な説明】
【図１】１つの任意形状を１つの塗りつぶしパターンで塗りつぶす、従来の３ステップのROP処理における適当なステップを例示する図である。
【図２】１つの任意形状を塗りつぶすための、好適実施例の方法で用いられる基本ステップのフロー・チャートを示す図である。
【図３】図２の好適処理で実行される、選択されたステップを例示する図である。
【図４】本発明の一実施例を実行するために使用されるコンピュータ、及びプリンタ・システムのブロック図である。
【図５】好適方法と従来の方法の処理速度と必要メモリを比較するグラフを示す図である。
【図６】好適方法と従来の方法の処理速度と必要メモリを比較するグラフを示す図である。
【符号の説明】
30  マスキング・バッファ
40  コンピュータ
42  オペレーティング・システム・ファイル
44  アプリケーション、及びGUIファイル
46  GDIファイル
48  入力装置
50  ＣＲＴ
52  表示プロセッサ、及びバッファ
56  プリンタ・ドライバ・ファイル
58  ケーブル
60  プリンタ
62  PCL-5Cフォーマッタ
64  表示リスト
66  イメージ・プロセッサ
68  プリント・エンジン
【図１】
0003813229.tif 000002
【図２】
0003813229.tif 000003
【図３】
0003813229.tif 000004
【図４】
0003813229.tif 000005
【図５】
0003813229.tif 000006
【図６】
0003813229.tif 000007