(57)【特許請求の範囲】
【請求項１】
描画命令を入力する入力手段と、
前記入力手段により入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別手段と、
前記判別手段により重なると判別された場合、前記入力手段により入力された描画命令の描画属性を変更せず、前記判別手段により重ならないと判別された場合、前記入力手段により入力された描画命令の描画属性を変更する変更手段とを有し、
前記変更手段は、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とすることを特徴とする情報処理装置。
【請求項２】
前記変更手段により変更された描画命令をプリンタに出力する出力手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
描画命令を入力する入力手段と、
前記入力手段により入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別手段と、
前記判別手段により重なると判別された場合、前記入力手段により入力された描画命令の描画属性を変更せず、前記判別手段により重ならないと判別された場合、前記入力手段により入力された描画命令の描画属性を変更する変更手段とを有し、
前記変更手段は、ＯＲ描画を省略し、ＡＮＤ描画を上書き描画に変更し、ＸＯＲ描画を上書き描画に変更し色属性を反転させることを特徴とする情報処理装置。
【請求項４】
前記入力手段により入力された描画命令が上書きのときは、前記判別手段による判別と前記変更手段による変更とを行わないことを特徴とする請求項１、または３記載の情報処理装置。
【請求項５】
前記判別手段による判別と前記変更手段による変更とを行うか否かを指定する指定手段を有することを特徴とする請求項１、または３記載の情報処理装置。
【請求項６】
描画領域を矩形ブロックに分割して前記判別手段による判別を行うことを特徴とする請求項１、または３記載の情報処理装置。
【請求項７】
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップとを有し、
前記変更ステップは、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とする情報処理方法。
【請求項８】
前記変更ステップにより変更された描画命令をプリンタに出力する出力ステップを有することを特徴とする請求項７記載の情報処理方法。
【請求項９】
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップとを有し、
前記変更ステップは、ＯＲ描画を省略し、ＡＮＤ描画を上書き描画に変更し、ＸＯＲ描画を上書き描画に変更し色属性を反転させることを特徴とする情報処理方法。
【請求項１０】
前記入力ステップにより入力された描画命令が上書きのときは、前記判別ステップによる判別と前記変更ステップによる変更とを行わないことを特徴とする請求項７、または９記載の情報処理方法。
【請求項１１】
前記判別ステップによる判別と前記変更ステップによる変更とを行うか否かを指定する指定ステップを有することを特徴とする請求項７記、または９載の情報処理方法。
【請求項１２】
描画領域を矩形ブロックに分割して前記判別ステップによる判別を行うことを特徴とする請求項７、または９記載の情報処理方法。
【請求項１３】
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップと実行させるためのプログラムを記憶したコンピュータで読み出し可能な記憶媒体であって、
前記変更ステップは、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とする記憶媒体。
【請求項１４】
前記変更ステップにより変更された描画命令をプリンタに出力する出力ステップを有することを特徴とする請求項１３記載の記憶媒体。
【請求項１５】
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップと実行させるためのプログラムを記憶したコンピュータで読み出し可能な記憶媒体であって、
前記変更ステップは、ＯＲ描画を省略し、ＡＮＤ描画を上書き描画に変更し、ＸＯＲ描画を上書き描画に変更し色属性を反転させることを特徴とする記憶媒体。
【請求項１６】
前記入力ステップにより入力された描画命令が上書きのときは、前記判別ステップによる判別と前記変更ステップによる変更とを行わないことを特徴とする請求項１３、または１５記載の記憶媒体。
【請求項１７】
前記判別ステップによる判別と前記変更ステップによる変更とを行うか否かを指定する指定ステップを有することを特徴とする請求項１３、または１５記載の記憶媒体。
【請求項１８】
描画領域を分割して前記判別ステップによる判別を行うことを特徴とする請求項１３、または１５記載の記憶媒体。
【請求項１９】
前記プログラムは、プリンタドライバプログラムであることを特徴とする請求項１３、または１５記載の記憶媒体。
【請求項２０】
プリンタと、情報処理装置とを有する印刷システムにおいて、
前記情報処理装置は、描画命令を入力する入力手段と、前記入力手段により入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別手段と、前記判別手段により重なると判別された場合、前記入力手段により入力された描画命令の描画属性を変更せず、前記判別手段により重ならないと判別された場合、前記入力手段により入力された描画命令の描画属性を変更する変更手段と、前記変更手段により変更された描画命令をプリンタに出力する出力手段とを有し、
前記変更手段は、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とする印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置、情報処理方法、コンピュータで読み出し可能なプログラムを記録した媒体、および、印刷システムに関するものである。
【０００２】
【従来の技術】
従来の描画出力生成では、OR描画やAND描画といった該当する領域の状態に依存する論理描画出力処理を、該当する領域の内容によらず処理しており、印字不良の発生、論理描画属性の切り替えに伴う出力データ量の増大、プリンタ等の出力装置での印刷スループットの低下、プリンタ等の出力装置での再現性の低下といった欠点があった。
【０００３】
【発明が解決しようとする課題】
上述の通り、従来の描画出力生成では、OR描画やAND描画といった該当する領域の状態に依存する論理描画出力処理を、該当する領域の内容によらず処理しており、印字不良の発生、論理描画属性の切り替えに伴う出力データ量の増大、プリンタ等の出力装置での印刷スループットの低下、プリンタ等の出力装置での再現性の低下といった欠点があった。
【０００４】
【課題を解決するための手段】
上記課題を解決するため本発明は、従来実現できなかった一部の論理描画が可能となることによる印字不良発生の低下、論理描画属性の切り替えに伴う出力データ量の肥大化の防止、プリンタ等の出力装置での印刷スループットの向上、プリンタ等の出力装置での再現性の向上を目的とする。
【０００５】
また、描画要求回数が多くなった場合の処理速度を向上させ
ることを目的とする。
【０００６】
また、処理を簡素化させ、処理速度を向上させることを目的とする。
【０００７】
また、記憶を効率的に行い、処理速度を向上させることを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明の情報処理装置は、
描画命令を入力する入力手段と、
前記入力手段により入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別手段と、
前記判別手段により重なると判別された場合、前記入力手段により入力された描画命令の描画属性を変更せず、前記判別手段により重ならないと判別された場合、前記入力手段により入力された描画命令の描画属性を変更する変更手段とを有し、
前記変更手段は、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とすることを特徴とする。
また、本発明の情報処理装置は、
描画命令を入力する入力手段と、
前記入力手段により入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別手段と、
前記判別手段により重なると判別された場合、前記入力手段により入力された描画命令の描画属性を変更せず、前記判別手段により重ならないと判別された場合、前記入力手段により入力された描画命令の描画属性を変更する変更手段とを有し、
前記変更手段は、ＯＲ描画を省略し、ＡＮＤ描画を上書き描画に変更し、ＸＯＲ描画を上書き描画に変更し色属性を反転させることを特徴とする。
【０００９】
また、本発明の情報処理方法は、
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップとを有し、
前記変更ステップは、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とする。
また、本発明の情報処理方法は、
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップとを有し、
前記変更ステップは、ＯＲ描画を省略し、ＡＮＤ描画を上書き描画に変更し、ＸＯＲ描画を上書き描画に変更し色属性を反転させることを特徴とする。
【００１０】
また、本発明の記憶媒体は、
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップと実行させるためのプログラムを記憶したコンピュータで読み出し可能な記憶媒体であって、
前記変更ステップは、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とする。
また、本発明の記憶媒体は、
描画命令を入力する入力ステップと、
前記入力ステップにより入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別ステップと、
前記判別ステップにより重なると判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更せず、前記判別ステップにより重ならないと判別された場合、前記入力ステップにより入力された描画命令の描画属性を変更する変更ステップと実行させるためのプログラムを記憶したコンピュータで読み出し可能な記憶媒体であって、
前記変更ステップは、ＯＲ描画を省略し、ＡＮＤ描画を上書き描画に変更し、ＸＯＲ描画を上書き描画に変更し色属性を反転させることを特徴とする。
【００１１】
また、本発明の印刷システムは、
プリンタと、情報処理装置とを有する印刷システムにおいて、
前記情報処理装置は、描画命令を入力する入力手段と、前記入力手段により入力された描画命令の描画領域が他の描画命令の描画領域と重なるか否かを判別する判別手段と、前記判別手段により重なると判別された場合、前記入力手段により入力された描画命令の描画属性を変更せず、前記判別手段により重ならないと判別された場合、前記入力手段により入力された描画命令の描画属性を変更する変更手段と、前記変更手段により変更された描画命令をプリンタに出力する出力手段とを有し、
前記変更手段は、ＯＲ描画を上書き描画に変更し、ＡＮＤ描画を省略し、ＸＯＲ描画を上書き描画に変更することを特徴とする。
【００１２】
【発明の実施の形態】
第１図は本発明の一発明の実施の形態を示す論理描画自動処理装置の構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００１３】
図において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムデバイス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００１４】
また、このＲＯＭ３のプログラム用ＲＯＭあるいは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等を記憶し、ＲＯＭ３のフォント用ＲＯＭあるいは外部メモリ１１には上記文書処理の際に使用するフォントデータ等を記憶し、ＲＯＭ３のデータ用ＲＯＭあるいは外部メモリ１１には上記文書処理等を行う際に使用する各種データ（例えば、ディレクトリ情報、プリンタドライバテーブル等）を記憶する。この場合、制御の主体は、ハードウェア上はＣＰＵである。一方、ソフトウェア上は制御の主体は本論理描画自動処理プログラムを含む印刷関連モジュールである。２はＲＡＭで、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）で、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、論理描画自動処理プログラム等を記憶するハードディスク１２（ＨＤ）、フロッピーディスクドライブ１３（ＦＤＤ）にセットされたフロッピーディスク１４（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インターフェース（インターフェース）２０を介してプリンタ５０００に接続されて、プリンタ５０００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。また、描画命令変更する、しないを設定するウインドウを表示させ、ユーザに選択させる。
【００１５】
プリンタ５０００において、２１はプリンタＣＰＵで、ＲＯＭ２３のプログラム用ＲＯＭに記憶された制御プログラム等あるいは外部メモリ３０に記憶された制御プログラム等に基づいてシステムバス２４に接続される印刷部（プリンタエンジン）２７に出力情報としての画像信号を出力する。また、このＲＯＭ２３のプログラムＲＯＭには、ＣＰＵ２１の制御プログラム等を記憶する。ＲＯＭ２３のフォント用ＲＯＭには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ２３のデータ用ＲＯＭにはハードディスク等の外部メモリ３０がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。ＣＰＵ２１は入力部２５を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。２２はＣＰＵ２１の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ２２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ３０は、ディスクコントローラ（ＤＫＣ）２９によりアクセスを制御される。外部メモリ３０は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、２８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００１６】
また、前述した外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル２８からのプリンタモード設定情報を記憶するようにしてもよい。
【００１７】
図２はホストコンピュータ３０００において、ＯＳの管理の基にＲＡＭ２にロードされた本制御モジュールが実行可能となった状態のメモリマップを示している。
【００１８】
図３は本発明の実施の形態の概略をフローチャートで示したものである。
【００１９】
図４は前記図３の出力データ生成ステップ（ステップ２０１）の詳細な処理をフローチャートで示したものである。
【００２０】
図5は前記図４の領域処理および出力処理ステップ（ステップ３０６）の詳細な処理をフローチャートで示したものである。
【００２１】
図６は前記図５のステップ４１０の詳細な処理をフローチャートで示したものである。
【００２２】
図７は前記図５の「描画領域を領域情報〔i〕に保存するステップ」（ステップ４１１）で保存する領域情報のデータを示したものである。
【００２３】
図３、４、５、６によって表わされるプログラムはホストコンピュータ３０００上のＨＤ１２またはＦＤ１４に対して論理描画自動処理プログラムを含むモジュールとして記憶され、ＣＰＵ１がＯＳ４６の管理の下で実行することにより達成する手段として機能している。
【００２４】
以下、図３、４、５、６に示すフローチャートを中心にして、本発明の発明の実施の形態を詳しく説明する。
【００２５】
本発明の実施の形態では、ホストコンピュータ３０００において、ＢＩＯＳ、ＯＳ、アプリケーション及び本発明における論理描画自動処理制御プログラムをＣＰＵ１が実行することにより動作する。ＢＩＯＳはプログラムＲＯＭ３に書き込まれており、ＯＳは外部メモリ１１であるハードディスク１２（以下、ＨＤ１２）に書き込まれている。そして、ホストコンピュータ３０００の電源がＯＮされた時に、ＢＩＯＳプログラム中のＩＰＬ（Ｉｎｉｔｉａｌ Ｐｒｏｇｒａｍ Ｌｏａｄｉｎｇ）機能により、ＯＳがＨＤからＲＡＭ２へ読み込まれ、ＯＳの動作が開始される。
【００２６】
そして、実際に、プリンタ色処理モード自動制御プログラムを含む印刷関連モジュールが動作可能となるのは、ユーザ等の指示により、ホストコンピュータ３０００上で、ＯＳ管理の下動作するアプリケーションより印刷処理が実行された時で、印刷関連モジュールを記録しているＦＤ１４をＦＤＤ１３にセットするか、または、印刷関連モジュールをＨＤドライブ１２に保存しておき、ＯＳおよびＢＩＯＳの制御のもとに印刷関連モジュールがＦＤ１４またはＨＤドライブ１２から読み出され、ＲＡＭ２にロードされた時である。前述の通り、第2図が、本発明の実施の形態における属性自動処理制御プログラムを含む印刷関連モジュールがホストコンピュータ３０００上のＲＡＭ２にロードされ実行可能となった状態のメモリマップを示している。大まかな処理フローは図３に示す通りで印刷実行時にアプリケーションより受け取った印刷データから出力データ生成を行うステップ（ステップ２０１）からなっている。詳しくは図４に示す通り、まず保存した領域の数を示す変数ｉを０にする（ステップ３０１）。次にアプリケーションからの描画処理を受けつけ（ステップ３０２）、それが描画終了の要求かどうかの判別を行う（ステップ３０３）。受け付けた描画処理が描画終了の場合、処理を終了する。受け付けた描画処理が描画終了ではない場合、その描画処理が改ページの要求であるかどうかの判別を行う（ステップ３０４）。その描画処理が改ページの要求である場合、変数ｉを０にし（ステップ３０５）、ステップ３０２に戻る。それ以外の場合、領域の管理および出力を行う（ステップ３０６）。次に変数ｉに１を加え（ステップ３０７）、次の描画処理の受け付け処理（ステップ３０２）に戻る。以降ステップ３０２からステップ３０７までの一連の処理をアプリケーションから描画終了の要求を受けるまで続ける。ステップ３０６の処理の詳細は図５に示す通りで、まず変更した出力を行う必要があるかどうかを判別する（ステップ４０１）。ここで、必要がないと判断されるのは、描画属性が上書きであり変更の必要がない場合、及び、ユーザにより描画属性を変更しないモードが選択されている場合である。必要がない場合、ステップ４０９に進む。必要がある場合、変数flagを０にする（ステップ４０２）。次に変数ｊを０にする（ステップ４０３）。次にｊがｉより小さいかどうかの判別を行う（ステップ４０４）。ｊがｉより小さくない場合、ステップ４０８に進む。ｊがｉより小さい場合、アプリケーションより受けた描画要求の描画領域と保存した領域情報のｊ番目（以降、領域情報〔ｊ〕と表記）に重なる部分があるかどうかを判別する（ステップ４０５）。重なる部分がある場合、変数flagを１にし（ステップ４０７）、ステップ４０８に進む。重なる部分がない場合、変数ｊに１を加え、ステップ４０４に戻る。以降ステップ４０４からステップ４０６の処理が繰り返され、ステップ４０４またはステップ４０５の条件によりステップ４０８に進む。ステップ４０８では変数flagが０であるかを判別する。０である場合、アプリケーションより受け付けた描画要求の領域が今までに描画したものとは重なっていないため、該当領域は白である。そのため、アプリケーションが要求した論理描��を該当領域が白である場合に限定した同等処理に置き換えることができる。この変更した出力を行うのがステップ４１０である。次にステップ４１１に進む。ステップ４１０の詳細な処理は図６に示す通りで、描画を省略できるかどうかを判別する（ステップ４５１）。省略できる場合、描画を省略し（ステップ４５２）終了する。省略できない場合、属性を変更した出力を行う（ステップ４５３）。
【００２７】
属性を変更した場合の例を以下に示す。
濃度で表現する場合の例
・白を０、黒を１の２値で表現
・白を０、黒を２５５の２５６階調で表現  等
【００２８】
【表１】
0003825883.tif 000002
【００２９】
輝度で表現する場合の例
・白を１、黒を０の２値で表現
・白を２５５、黒を０の２５６階調で表現
・ＲＧＢの順で赤を（２５５,０,０）緑を（０,２５５,０）青を（０,０,２５５）白（２５５,２５５,２５５）黒（０,０,０）で表現  等
【００３０】
【表２】
0003825883.tif 000003
【００３１】
Windowsにおけるラスタオペレーションコードの例
【００３２】
【表３】
0003825883.tif 000004
【００３３】
なおＤはディスティネーション、Ｓはソース、Ｐはパターン、ｏはＯＲ描画、ａはＡＮＤ描画、ｘはＸＯＲ、ｎはＮＯＴを表す。ちなみに、ＤＳｏは、ディスティネーションとソースをＯＲ描画するためのコードで、それは、Ｄ（描画の必要なし）という描画属性に置き変えられる。
【００３４】
変数flagが０でない場合、該当領域には以前に描画されている。そのため、最終的な描画結果を変えないように、変更しない出力を行う（ステップ４０９）。次にステップ４１１に進む。ステップ４１１ではアプリケーションから受けた描画要求の描画領域を保存する。この際の領域情報の保存されかたを示したのが図７である。
【００３５】
今までに示した本発明の実施の形態により、従来実現できなかった一部の論理描画が可能となることによる印字不良発生の低下、論理描画属性の切り替えに伴う出力データ量の肥大化の防止、プリンタ等の出力装置での印刷スループットの向上、プリンタ等の出力装置での再現性の向上といった効果を実現する。
【００３６】
なお、本発明の実施の形態では本論理描画出力処理プログラムを含む印刷関連モジュールを記録する媒体をＦＤもしくはＨＤドライブとしたが、媒体はそれ以外にCD-ROMやICメモリカード、あるいは電子メールやパソコン通信等のネットワークを介するものであっても良い。更に論理描画出力処理プログラムを含む印刷関連モジュールをROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。
【００３７】
（他の発明の実施の形態）
また、前発明の実施の形態では領域の記憶を単一にて行っていたが、その記憶を複数に分割して行うのが本発明の実施の形態で言及するところである。
【００３８】
前発明の実施の形態で示した図４、５の処理を本発明の実施の形態に基づいて変更したのが図９、１０である。
【００３９】
また、本発明の実施の形態では領域の記憶を複数で行うが、その記憶の分割を領域で行う際の参考に図８を示す。図８は１ページ分の領域を縦方向にa等分、横方向にb等分し、その結果c（=a×b）の領域に分割された様子を示している。本発明の実施の形態ではこの分割された各領域に対してそれぞれ描画領域を記憶する例を示す。
【００４０】
図９は描画領域の記憶を複数に分割した場合の、前記図３の出力データ生成ステップ（ステップ２０１）の詳細な処理をフローチャートで示したものである。
【００４１】
図１０は前記図９の領域処理および出力処理ステップ（ステップ５０６）の詳細な処理をフローチャートで示したものである。
【００４２】
図１１は前記図８の分割された各領域に対応する情報を保存するためのデータ構造である。（以下、分割領域情報）この中には対応する分割された各領域を保存するための分割領域、その領域内に描画したオブジェクトの数を示す保存オブジェクト数、そして今まで描画したオブジェクトの各領域が入っている。
【００４３】
図１２は前記図１１で示した分割領域情報が分割した領域の数（=c）だけ保存されているのを示す図である。このｉ番目の分割領域情報を、分割領域情報〔ｉ〕と表記する。
【００４４】
図１３はｃ個のそれぞれの分割領域情報の分割領域にどの領域が入っているかの対応を示した図である。
【００４５】
図１４は描画の一例であり、本発明の実施の形態での説明に用いる。
【００４６】
図１５は前記図８のa=1、b=2の場合の例である。
【００４７】
以下、図３、９、１０に示すフローチャートを中心にして発明の実施の形態を詳しく説明する。
【００４８】
本発明の実施の形態は前記図３のステップ２０１が図９の場合である。まず、ｃ個の分割領域情報の保存オブジェクト数を０にする（ステップ５０１）。次に図１３に示すように、ｃ個の分割領域情報の分割領域をセットする（ステップ５０２）。次にアプリケーションからの描画処理を受け付け（ステップ５０３）、描画処理が描画終了の要求であるかを判別する（ステップ５０４）。受け付けた描画処理が描画終了である場合、処理を終了する。受け付けた描画処理が描画終了でない場合、その描画処理が改ページの要求であるかどうかを判別する（ステップ５０５）。改ページの要求であった場合、ステップ５０１と同様にｃ個の分割領域情報の保存オブジェクト数を０にする（ステップ５０７）。改ページの要求ではなかった場合、領域の管理および出力を行う（ステップ５０６）。次に描画処理の受け付け処理（ステップ５０３）に戻る。以降ステップ５０３から５０７までの一連の処理をアプリケーションから描画終了の要求を受けるまで続ける。ステップ５０６の処理の詳細は図１０に示す通りで、まず変数ｋを０にする（ステップ６０１）。次にｋが分割した領域の数ｃより小さいかどうかの判定をおこなう（ステップ６０２）。小さくない場合は、終了する。小さい場合は次にステップ６０３に進む。ステップ６０３では描画領域と分割領域情報〔ｋ〕の分割領域に重なる部分があるかを判別する。重なる部分がない場合、ステップ６１６に進む。重なる部分がある場合、変更した出力を行う必要があるかどうかを判別する（ステップ６０４）。変更した出力を行う必要がない場合、ステップ６１３に進む。変更した出力を行う必要がある場合、変数flagを０にする（ステップ６０５）。次に変数ｊを０にする（ステップ６０６）。次にｊと分割領域情報〔ｋ〕の保存オブジェクト数を比較する（ステップ６０７）。ｊの方が小さくない場合、ステップ６１１に進む。ｊの方が小さい場合、ステップ６０８に進む。ステップ６０８では描画領域と分割領域情報〔ｋ〕のｊ番目のオブジェクトの領域が重なるかどうかを判別する。重ならない場合、ｊに１を加え（ステップ６０９）、ステップ６０７に戻る。重なる場合、ステップ６１０に進み、変数flagを１にする。次に変数flagが０かどうかを判別する（ステップ６１１）。変数flagが０の場合、変更した出力を行う（ステップ６１２）。ステップ６１２の詳細な処理は前記図６の処理である。次にステップ６１４に進む。変数flagが０でない場合、変更しない出力を行い（ステップ６１３）、ステップ６１４に進む。ステップ６１４では分割領域情報の保存オブジェクト数（ｍと表わす）に１を加える。次に描画領域を分割領域情報〔ｋ〕のｍ番目のオブジェクトの描画領域として保存する（ステップ６１５）。次にステップ６１６に進み、ｋに１を加え、ステップ６０２に戻る。以降、ステップ６０２からステップ６１６の一連の処理をステップ６０２の条件で終了するまで行う。
【００４９】
これまでに示した発明の実施の形態について図１４の具体例を用いて、説明を補足する。
【００５０】
ここで２つの領域が重なっているかどうかの判別には、他の処理に比べ、非常に時間のかかるものとする。また領域の分割は図１５のように行うとする。
【００５１】
領域の記憶を１つにする場合、２つの領域が重なっているかどうかの判別（ステップ４０５）は、2n個目の描画オブジェクトの場合、最大(2n-1)回必要である。
【００５２】
描画の記憶を２つにする場合、２つの領域が重なっているかどうかの判別（ステップ６０３およびステップ６０８）は2+(n-1)回必要である。
【００５３】
出力を行うまでには、
総判別回数＝１個目のオブジェクトの判別の回数＋２個目のオブジェクトの判別の回数＋…＋２n個目のオブジェクトの判別の回数
であるから、nが大きい場合には領域の記憶を１よりも２にした方が回数が少なくてて済む。
【００５４】
今回の例の場合、処理時間は判別の回数に依存するため、領域の記憶を複数（＝２）に分割した方がはるかに高速に処理が行える。
【００５５】
本発明の実施の形態の場合、ページごとに用紙サイズが変わらない場合を示しているが、変わる場合でも同様である。
【００５６】
今まで示した発明の実施の形態により、描画要求回数が多くなった場合の処理速度を向上させることができるようになる。
【００５７】
また他の発明の実施の形態として前記２項目の発明の実施の形態で図７の領域の情報または図１１のオブジェクトの描画領域として保存していた領域の情報を矩形で表わすというのが本発明の実施の形態で言及するところである。
【００５８】
これは図１６のような描画の領域を保存する際に、それより小さいことがないような矩形の情報として保存するということであり、その一例を図１７に示す。矩形以外の形態で保存する場合、図１６の図形の各頂点の座標の形態、もしくは対応するピクセルが領域内であれば１そうでなければ０といったようなイメージに類する形態で保存する必要がある。この場合、描画領域が大きくて複雑な形状をしていると記憶領域を大きく消費する。また２つの領域が重なっている場合の判定にも時間を要する。
【００５９】
今まで説明したように、領域の保存形態を図１７で示したような矩形で行うことにより、記憶を効率的に行い、処理速度を向上を図ることができる。
【００６０】
【発明の効果】
以上説明したように、本発明によれば、従来実現できなかった一部の論理描画が可能となることによる印字不良発生の低下、論理描画属性の切り替えに伴う出力データ量の肥大化の防止、プリンタ等の出力装置での印刷スループットの向上、プリンタ等の出力装置での再現性の向上といった効果がある。
【００６１】
また、描画要求回数が多くなった場合の処理速度を向上させるといった効果がある。
【００６２】
また、描画要求回数が多くなった場合の処理速度を向上させるといった効果がある。
【００６３】
また、記憶を効率的に行い、処理速度を向上させるといった効果がある。
【図面の簡単な説明】
【図１】本説明の一発明の実施の形態を示す情報処理装置の構成を示すブロック図である。
【図２】本発明の実施の形態における論理描画自動処理プログラムを含む印刷関連モジュールが情報処理装置３０００上のＲＡＭ２にロードされ実行可能となった状態のメモリマップである。
【図３】本発明の実施の形態の概略を示したフローチャートである。
【図４】図３のステップ２０１の詳細な処理を示したフローチャートである。
【図５】図４のステップ３０６の詳細な処理を示したフローチャートである。
【図６】図５のステップ４１０の詳細な処理を示したフローチャートである。
【図７】図５のステップ４１１で保存する領域情報を示す図である。
【図８】描画領域の記憶を複数で行う際の分割を領域ごとに行う場合の例を示す例である。
【図９】図３のステップ２０１の詳細な処理を示したフローチャートである。
【図１０】図９のステップ５０６の詳細な処理を示したフローチャートである。
【図１１】図９のステップ６１４で保存する分割領域情報の内容を示す図である。
【図１２】図１０で示した分割領域情報が分割した数の分保存されるのを示す図である。
【図１３】図９のステップ５０２でそれぞれの分割領域情報の分割領域にどの領域が入っているかの対応を示す図である。。
【図１４】例における描画を示す図である。
【図１５】描画領域の記憶を複数で行う際の分割の例を示す図である。前記図８のa=1,b=2の場合にに相当する。
【図１６】描画の一例を示す図である。
【図１７】前記図１６での描画の領域の保存を矩形で行う際の例を示す図である。
【図１】
0003825883.tif 000005
【図２】
0003825883.tif 000006
【図３】
0003825883.tif 000007
【図４】
0003825883.tif 000008
【図５】
0003825883.tif 000009
【図６】
0003825883.tif 000010
【図７】
0003825883.tif 000011
【図８】
0003825883.tif 000012
【図９】
0003825883.tif 000013
【図１０】
0003825883.tif 000014
【図１１】
0003825883.tif 000015
【図１２】
0003825883.tif 000016
【図１３】
0003825883.tif 000017
【図１４】
0003825883.tif 000018
【図１５】
0003825883.tif 000019
【図１６】
0003825883.tif 000020
【図１７】
0003825883.tif 000021