(57)【特許請求の範囲】
【請求項１】
描画オブジェクトの種類を判別する判別手段と、
前記描画オブジェクトの合成方法の種類を判断する判断手段と、
前記判断した合成方法の種類に従って前記判別したオブジェクトの種類の情報を合成する合成手段と、
前記判断した合成方法の種類に従って画素単位に前記描画オブジェクトをレンダリングしたレンダリング結果に前記合成されたオブジェクトの種類の情報を付加する処理手段とを有し、
前記描画オブジェクトの合成方法の種類は、ｏｒ、ａｎｄ、ｘｏｒ、αブレンドの合成方法を含むことを特徴とする画像処理装置。
【請求項２】
前記描画オブジェクトの種類とは、オブジェクトがビットマップであるかベクタグラフィックであるかの情報を含むことを特徴とする請求項１項記載の画像処理装置。
【請求項３】
前記描画オブジェクトの種類とは、オブジェクトがカラーであるか白黒であるかの情報を含むことを特徴とする請求項１項記載の画像処理装置。
【請求項４】
前記描画オブジェクトの種類とは文字であるか文字以外であるかの情報を含むことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記描画オブジェクトの種類とは、オブジェクトが階調優先であるか解像度優先であるかを示す情報を有することを特徴とする請求項１記載の画像処理装置。
【請求項６】
前記合成されたオブジェクトの種類の情報に応じて、前記レンダリング結果のデータに画像処理を施す画像処理手段を更に有することを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記画像処理とは、２値化処理、フィルタ処理、黒文字処理を含むことを特徴とする請求項６項記載の画像処理装置。
【請求項８】
前記画像処理とは、オブジェクトの情報に応じて黒文字であるとみなされる時、レンダリングされたデータの黒単色出力を行なうことを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記合成処理を禁止するコマンドを受信することにより前記合成は禁止されることを特徴とする請求項１記載の画像処理装置。
【請求項１０】
前記禁止するコマンドは、前記画像処理に接続されたホストコンピュータのプリンタドライバにおいて入力されることを特徴とする請求項９記載の画像処理装置。
【請求項１１】
前記合成は、２種類以上のオブジェクトに関して行われることを特徴とする請求項１項記載の画像処理装置。
【請求項１２】
描画オブジェクトの種類を判別する判別工程と、
前記判別したオブジェクトの合成方法の種類を判断する判断工程と、
前記判断した合成方法の種類に従ってオブジェクトの合成及び前記判別したオブジェクトの種類の情報を合成する合成手段、
前記判断した合成方法の種類に従って画素単位に前記描画オブジェクトをレンダリングしたレンダリング結果に前記合成されたオブジェクトの種類の情報を付加する処理工程とを有し、
前記描画オブジェクトの合成方法の種類は、ｏｒ、ａｎｄ、ｘｏｒ、αブレンドの合成方法を含むことを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１に記載の画像処理装置として機能させるためのプログラムを格納することを特徴とするコンピュータにより読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置及び方法及び記憶媒体に関する。
【０００２】
【従来の技術】
従来、カラーレンダリングを行う際には、オブジェクトの属性を解析して、そのオブジェクトに対応した色辞書を用いて、レンダリングを行うのが一般的であった。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来例では、図２の様にレンダリングされてビットマップイメージになってしまうと、そのビットマップがどのオブジェクトから作成されたかが不明になり、レンダリング後には元オブジェクトの正確な情報把握が不可能で、正確なエッジ抽出などの後処理が困難であるという問題点があった。
【０００４】
ＰｏｓｔＳｃｒｉｐｔ（登録商標）の様なＰａｉｎａｔｅｒ，Ｓアルゴリズムに基づく描画モデルを前提にしたレンダリングエンジンについては記述してあるが、オブジェクト合成（ＲＯＰ処理や、透明度を持つオブジェクト合成）を行う場合のオブジェクトの種類えお示す情報ビットは失われ、有効な処理方法については、検討されていないという問題点がある。
【０００５】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたもので、描画オブジェクトの種類を判別する判別手段と、前記描画オブジェクトの合成方法の種類を判断する判断手段と、前記判断した合成方法の種類に従って前記判別したオブジェクトの種類の情報を合成する合成手段と、前記判断した合成方法の種類に従って画素単位に前記描画オブジェクトをレンダリングしたレンダリング結果に前記合成されたオブジェクトの種類の情報を付加する処理手段とを有し、前記描画オブジェクトの合成方法の種類は、ｏｒ、ａｎｄ、ｘｏｒ、αブレンドの合成方法を含むことを特徴とする。
【０００６】
【発明の実施の形態】
（第１の実施の形態）
図１は、本実施例に適用されるレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図で、このＬＢＰは不図示のホストコンピュータ等のデータ源から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。
【０００７】
同図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。１０１２は操作のためのスイッチおよびＬＥＤ表示器などが配されている操作パネル、１００１はＬＢＰ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。レーザドライバ１００２は半導体レーザ１００３を工藤するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、イエロー、マゼンタ、シアン、ブラックの色毎に形成され、静電ドラム１００６周囲のイエロー、マゼンタ、シアン、ブラックの現像ユニット１００７によりそれぞれ現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【０００８】
この様に構成されたプリンタシステムにおいて、図３、図４を参照しながら、図５のフローチャートにしたがって本実施例を説明する。
【０００９】
図３において、３０１はＰＤＬ（ページ記述言語：例えばポストスクリプト：登録商標、ＧＤＩ：登録商標など）データを解釈するＰＤＬ解釈部である。３０２は前記３０１が作成するオブジェクトである。３０３は前記３０２をレンダリングエンジンの解釈できる命令３０４に変換し、オブジェクト情報（Ｆｌａｇ）３０５を付加するグラフィックライブラリである（オブジェクトの情報については、後述する図４参照）。３０６はレンダリングエンジンである。３０７は（ＲＧＢ各色８ｂｉｔ＋オブジェクト情報ビット（Ｆｌａｇ）３ｂｉｔ）／ピクセルのビットマップイメージである。３０８は前記３０７を３０９のプリンタエンジンで印刷するため画像処理を行う前処理モジュールである。
【００１０】
図４は前記３０５のオブジェクト情報を詳細に示した図である。オブジェクト情報としては、３Ｂｉｔを使用し、ビット０はＢｉｔｍａｐオブジェクトかＶｅｃｔｏｒグラフィックかを示すビット（Ｂｉｔｍａｐフラグと呼ぶことにする）であり、ビット１はカラーオブジェクトか白黒オブジェクトかを示すビット（色フラグと呼ぶことにする）である。ビット２はＢｉｔｍａｐフラグが０（＝Ｂｉｔｍａｐデータ）の時は文字以外か文字かを示し、Ｂｉｔｍａｐフラグが１（＝Ｖｅｃｔｏｒデータ）の時は階調優先か解像優先かを示すビット（文字フラグとよぶことにする）である。
【００１１】
以下図５に従い図３に示す処理ブロックにおける処理手順を説明する。
【００１２】
ＬＢＰ１０００は印字データを受信すると（ステップ５０２）前記ＰＤＬ解釈部３０１がデータを解釈する（ステップ５０３）。前記ＰＤＬ解釈部３０１は解釈結果をほとんどの場合１オブジェクトの１描画命令として前記オブジェクト３０２を出力する（ステップ５０４）。前記グラフックライブラリ３０３は前記オブジェクト３０２を解釈し（ステップ５０５）、解釈結果に基づいて前記オブジェクト情報フラグ３０５を付加した前記命令３０４を作成する（ステップ５０６）。
【００１３】
前記レンダリングエンジン３０６は、前記命令３０４と前記オブジェクト情報フラグ３０５をレンダリングし、前記ビットマップイメージ３０７を作成する（ステップ５０７）。この時、レンダリング対象は前記命令３０４のみであり、前記オブジェクト情報クラブ３０５はそのままスルーされレンダリング結果の各ピクセルに付加される。前記前処理モジュール３０８は前記ビットマップイメージ３０７を前記エンジン３０９で印刷するための前処理を行う（ステップ５０８）。具体的には、ＲＧＢ２４Ｂｉｔ→ＣＭＹＫ１Ｂｉｔ変換（色変換、２値化）黒文字処理（ピクセル値が限りなく黒に近い色の文字の場合には、黒のみを使用して文字を描画する処理）等々を行う。その結果を前記３０９が印刷して（ステップ５０９）、処理を終了する。
【００１４】
（第２の実施の形態）
上述の構成ではレンダリングエンジンのレンダリング結果をＲＧＢ各８ｂｉｔ／Ｐｉｘｅｌとしたが、その他の色空間でレンダリングするレンダリングエンジンについても同様の結果を得られる事は言うまでもない。
【００１５】
以上説明したように、本実施例によれば、レンダリング終了後にもピクセルが元オブジェクトの情報を保持する事が可能となり、より正確なエッジ抽出などの後処理が可能となる。
【００１６】
上述した構成ではオブジェクト情報を用いて、レンダリング後に元オブジェクトの性格な情報把握を行う点を説明した。
【００１７】
以下、オブジェクト合成を行う場合において、オブジェクト情報を保持可能な画像処理装置の一例を示す。
【００１８】
装置構成は図１と同様のため説明を省略する。
【００１９】
図６において、６０１はＰＤＬデータを解釈するＰＤＬ解釈部である。６０２は前記６０１が作成するオブジェクトである。６０３は前記６０２をレンダリングエンジンの解釈できる命令２０４に変換し、オブジェクト情報Ｆｌａｇ６０５を付加するグラフィックライブラリである（オブジェクトの情報については、図７参照）。６０６はレンダリングエンジンである。６０７は（ＲＣＢ各色８ｂｉｔ＋オブジェクト情報ビット３ｂｉｔ）／ピクセルのビットマップイメージである。
【００２０】
図７は前記６０５のオブジェクト情報を詳細にあらわした図である。オブジェクト情報としては、３Ｂｉｔを使用し、ビット０はＢｉｔｍａｐオブジェクトかＶｅｃｔｏｒグラフィックかを示すビット（Ｂｉｔｍａｐフラグと呼ぶことにする）であり、ビット１はカラーオブジェクトか白黒オブジェクトかを示すビット（色フラグと呼ぶことにする）である。ビット２はＢｉｔｍａｐフラグが０（＝Ｂｉｔｍａｐオブジェクト）の時は文字以外か文字かを示し、Ｂｉｔｍａｐフラグが１（＝Ｖｅｃｔｏｒ）の時は階調優先か解像優先かを示すビット（文字フラグとよぶことにする）である。
【００２１】
図８は論理描画におけるオブジェクトの合成方法を示した表である。
【００２２】
オブジェクトがＳ（ソースのみ。つまり、オブジェクトを上書きする場合）、（ＮｏｔＳソースの否定演算＝ソースｂｉｔの０／１反転を行い、オブジェクトを上書きする場合）の時は上書きするオブジェクトのＢｉｔｍａｐフラグ、色フラグ、文字フラグのそれぞれの情報ビットを前記６０７に残し、Ｄ（デスティネーションのみ。つまり、下地をそのまま利用する場合）、ＮｏｔＤ（ディスティネーションの否定演算子＝ディスティネーションｂｉｔの０／１の反転を行う）の時は下地のＢｉｔｍａｐフラグ、色フラグ、文字フラグのそれぞれの情報ビットをそのまま残し、ＳｏｒＤ（ＳとＤの論理和）、ＳａｎｄＤ（ＳとＤの論理積）、ＳｘｏｒＤ（ＳとＤの排他論理和）、ＳαＤ（ＳとＤのαブレンドオペレーション＝透明度を持つＳ及びＤのａｎｄ、ｏｒ、ｘｏｒ）を行う時は、図７に示した上書きするオブジェクトと下地のＢｉｔｍａｐフラグ、色フラグ、文字フラグからなる３Ｂｉｔの各Ｂｉｔについてａｎｄ処理を行い情報ビットを決定する、事を示している。
【００２３】
次に図９に従い本実施の形態における処理の流れを説明する。
【００２４】
１０００は印字データを受信すると（ステップ９０２）前記６０１がデータを解釈する（ステップ９０３）。前記ＰＤＬ解釈部６０１は解釈結果をほとんどの場合１オブジェクトの１描画命令として前記オブジェクト６０２として出力する（ステップ９０４）。前記グラフィカルライブラリ６０３は前記６０２を解釈し（ステップ９０５）、解釈結果に基づいて前記情報ビット６０５を付加した前記命令６０４を作成する（ステップ９０６）。前記レンダリングエンジン６０６は、前記６０４＋前記６０５データを受信すると、合成処理の判断をし（ステップ９０７）、オブジェクトの合成指示が無い場合は上書きを行い（ステップ９０９）、オブジェクトの合成指示がある場合は図８に基づいて合成を行う。又、情報ビットについてもフラグ合成を行う。そして、レンダリング処理結果として合成処理後（上書きした）Ｒ、Ｇ、Ｂ８ｂｉｔ＋フラグ合成された情報ビットが出力される。尚フラグは画素単位はつく（ステップ９０８）。レンダリングすべきデータへの処理が終わったか否かを判断し（ステップ９１０）、終わっていなければステップ９０２から処理を再開する。終わっていれば、前記６０７を確定し（ステップ９１１）、処理を終了する（ステップ９１２）。尚、確定された６０７は、第１の実施形態（ステップ５０８、５０９）同様処理に用いられる。
【００２５】
（第３の実施の形態）
第２の実施例では、ＳｏｒＤ、ＳａｎｄＤ、ＳｘｏｒＤ、ＳαＤを行う際にＳ（上書きするオブジェクト）Ｄ（下地）のＢｉｔｍａｐフラグ、色フラグ、文字フラグの３ｂｉｔをＡＮＤ処理して、下地にオブジェクトを上書きした位置における情報ビット（３ｂｉｔ）を決定した。そして、第１の実施形態の様にこの情報ビットを参照してＲＧＢ２４ｂｉｔ（各ＲＧＢ８ｂｉｔ）の信号をＣＭＹＫ１ｂｉｔに変換する際の２値化方法、色変換方法黒文字処理の有無を決定した。
【００２６】
しかしながら操作者によっては、ＡＮＤ処理により得られた上述した情報ビットを参照して処理を行ったカラープリント結果が好ましくないことも考えられる。
【００２７】
そこで第３の実施例では不図示のＬＢＰに接続されたホストコンピュータからプリンタドライバー上でユーザーにより入力されるコマンドを受信することによりＳｏｒＤ、ＳａｎｄＤ、Ｓｘｏｒ，ＳαＤを行う際に情報ビットに対してＡＮＤ処理を禁止し、図８の様に強制的に情報フラグをオール０にした。この場合、プリント上の合成処理が行われた部分は、情報ビットを参照した処理は行われない。
【００２８】
その結果、操作者の好みによって合成処理が行われた部分について情報ビットを用いた処理、情報ビットを用いない処理の双方が選択可能となり、より操作者の好みに合ったプリントが可能となる。
【００２９】
（第４の実施の形態）
第２の実施例では２項演算による１つのオブジェクトを下地に合成するオブジェクトの合成を示したが、２つ、３つ、…のオブジェクトの合成即ち３項、４項…となった場合でも、数学的に２項演算の集合に置き換えることができるので、上述の実施例か適応可能である事は言うまでもない。
【００３０】
（第５の実施の形態）
第２〜第３の実施例では、前記９１０で後続データの処理を行う場合に前記９０２から処理を再開する例（＝受信バッファが無い例）を示したが、前記６０４に全印字データが格納できる場合は前記９０７から、前記６０２に全印字データを格納できる場合は前記９０５から再開できる事は言うまでもない。
【００３１】
（第６の実施の形態）
第２〜第３の実施例では、レンダリングエンジンのレンダリング結果をＲＧＢ各８ｂｉｔ／Ｐｉｘｅｌとしたが、その他の色空間でレンダリングするレンダリングエンジンについても同様の結果を得られる事は言うまでもない。
【００３２】
以上説明したように、透明度を持つオブジェクト、ＲＯＰ処理を伴うオブジェクトに対しても、レンダリング終了後にもピクセルが元オブジェクトの情報を保持する事が可能となる。
【００３３】
（本発明の他の実施の形態）
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、本実施形態をクライアントコンピュータ及びサーバーコンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれるし、前述のプログラムが記憶された記憶媒体も上述の実施形態に含まれる。
【００３４】
かかる記憶媒体としてはたとえばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。
【００３５】
また前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限られず、他のソフトウエア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【００３６】
【発明の効果】
以上本発明では、描画オブジェクトの種類を判別する判別手段、前記判別したオブジェクトの合成の有無を判断する判断手段、前記判断結果に応じて、オブジェクトの合成及び前記判別したオブジェクトの種類の情報を合成する合成手段、画素単位に前記描画オブジェクトをレンダリングしたレンダリング結果に合成処理されたオブジェクトの種類を示す情報付加する処理手段とを有するのでレンダリングした後も、合成結果を踏まえたオブジェクトの種類に関する情報を保持でき、オブジェクトの種類を考慮した画像処理が可能となる。
【００３７】
オブジェクトの種類の情報により黒文字、２値化処理、フィルタ処理といったさまざまな画像処理を制御できるので、文字等の再現性を向上できる。
【００３８】
また、必要によってオブジェクトの種類のフラグの合成の禁止を行なうことで、合成処理を行なったレンダリング後のデータに適応的に画像処理をおこなうことを禁止できる。
【図面の簡単な説明】
【図１】第１の実施例のＬＢＰの断面図である。
【図２】従来例を示す図である。
【図３】第１の実施例の構成を示す図である。
【図４】３０５のオブジェクト情報を示す図である。
【図５】第１の実施例の処理手順を示す図である。
【図６】第２の実施例の構成を示す図である。
【図７】６０５のオブジェクトを示す図である。
【図８】合成方法を示す図である。
【図９】第２の実施例の処理の流れを示す図である。
【図１０】第３の実施例の処理を示す図である。
【図１】
0004181716.tif 000002
【図２】
0004181716.tif 000003
【図３】
0004181716.tif 000004
【図４】
0004181716.tif 000005
【図５】
0004181716.tif 000006
【図６】
0004181716.tif 000007
【図７】
0004181716.tif 000008
【図８】
0004181716.tif 000009
【図９】
0004181716.tif 000010
【図１０】
0004181716.tif 000011