(57)【特許請求の範囲】
【請求項１】
描画データを受付ける受付手段と、
前記受付手段により受付けた描画データが改ページの要求であるか否かを判別する判別手段と、
受付けた描画データが前記判別手段により改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類手段と、
受付けた描画データが前記判別手段により改ページの要求であると判別された場合、前記属性分類手段による属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力手段と、
を有することを特徴とする描画処理装置。
【請求項２】
前記属性分類手段は、複数の描画属性を階層化して分類することを特徴とする請求項１記載の描画処理装置。
【請求項３】
前記属性分類手段は、属性データの出力量を考慮して分類することを特徴とする請求項１記載の描画処理装置。
【請求項４】
前記属性分類手段は、属性データの切替処理時間を考慮して分類することを特徴とする請求項１記載の描画処理装置。
【請求項５】
前記属性分類手段は、属性データの出力量及び切替処理時間を考慮して分類することを特徴とする請求項１記載の描画処理装置。
【請求項６】
前記属性は、線幅、及び色を含むことを特徴とする請求項１記載の描画処理装置。
【請求項７】
前記属性は、書体、及び文字コードを含むことを特徴とする請求項１記載の描画処理装置。
【請求項８】
描画データを受付ける受付工程と、
前記受付工程により受付けた描画データが改ページの要求であるか否かを判別する判別工程と、
受付けた描画データが前記判別工程により改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類工程と、
受付けた描画データが前記判別工程により改ページの要求であると判別された場合、前記属性分類工程による属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力工程と、
を有することを特徴とする描画処理方法。
【請求項９】
前記属性分類工程は、複数の描画属性を階層化して分類することを特徴とする請求項８記載の描画処理方法。
【請求項１０】
前記属性分類工程は、属性データの出力量を考慮して分類することを特徴とする請求項８記載の描画処理方法。
【請求項１１】
前記属性分類工程は、属性データの切替処理時間を考慮して分類することを特徴とする請求項８記載の描画処理方法。
【請求項１２】
前記属性分類工程は、属性データの出力量及び切替処理時間を考慮して分類することを特徴とする請求項８記載の描画処理方法。
【請求項１３】
前記属性は、線幅、及び色を含むことを特徴とする請求項８記載の描画処理方法。
【請求項１４】
前記属性は、書体、及び文字コードを含むことを特徴とする請求項８記載の描画処理方法。
【請求項１５】
描画データを受付ける受付ルーチンと、
前記受付ルーチンにより受付けた描画データが改ページの要求であるか否かを判別する判別ルーチンと、
受付けた描画データが前記判別ルーチンにより改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類ルーチンと、
受付けた描画データが前記判別ルーチンにより改ページの要求であると判別された場合、前記属性分類ルーチンによる属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力ルーチンと、
を有するプログラムを記憶したことを特徴とする記憶媒体。
【請求項１６】
前記属性分類ルーチンは、複数の描画属性を階層化して分類することを特徴とする請求項１５記載の記憶媒体。
【請求項１７】
前記属性分類ルーチンは、属性データの出力量を考慮して分類することを特徴とする請求項１５記載の記憶媒体。
【請求項１８】
前記属性分類ルーチンは、属性データの切替処理時間を考慮して分類することを特徴とする請求項１５記載の記憶媒体。
【請求項１９】
前記属性分類ルーチンは、属性データの出力量及び切替処理時間を考慮して分類することを特徴とする請求項１５記載の記憶媒体。
【請求項２０】
前記属性は、線幅、及び色を含むことを特徴とする請求項１５記載の記憶媒体。
【請求項２１】
前記属性は、書体、及び文字コードを含むことを特徴とする請求項１５記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理されたデータをプリンタ等により描画出力するための描画出力データを順次入力されてくる描画要求に基づいて生成する描画処理装置、描画処理方法、及び記憶媒体に関する。
【０００２】
【従来の技術】
ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：ページ記述言語）では、線や文字等のデータを描画して印刷する場合、線については色や線幅、文字についてはフォントや大きさといった描画属性の切替えを行って、描画データを出力する必要があるが、従来は、描画要求の入力順序で描画属性の切替えを行って描画出力データを生成していた。
【０００３】
【発明が解決しようとする課題】
しかし、従来は、上記のように、描画要求の入力順序で描画出力データを生成していたため、例えば色、線幅、書体等の描画属性の切替頻度が高くなり、プリンタ側でのフォントキャッシュのヒット率低下、印刷スループットの低下を招くと共に、描画属性の切替頻度が高くなることによる出力データ量の増大化に伴って、解像度低下、画質の低下、印字不良を招いていた。
【０００４】
本発明は、このような背景の下になされたもので、その課題は、描画属性の切替頻度を低減できるようにすることにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、請求項１記載の描画処理装置は、描画データを受付ける受付手段と、前記受付手段により受付けた描画データが改ページの要求であるか否かを判別する判別手段と、受付けた描画データが前記判別手段により改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類手段と、受付けた描画データが前記判別手段により改ページの要求であると判別された場合、前記属性分類手段による属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力手段とを有している。
【０００６】
また、請求項２記載の発明では、請求項１記載の前記属性分類手段は、複数の描画属性を階層化して分類している。
【０００７】
また、請求項３記載の発明では、請求項１記載の前記属性分類手段は、属性データの出力量を考慮して分類している。
【０００８】
また、請求項４記載の発明では、請求項１記載の前記属性分類手段は、属性データの切替処理時間を考慮して分類している。
【０００９】
また、請求項５記載の発明では、請求項１記載の前記属性分類手段は、属性データの出力量及び切替処理時間を考慮して分類している。
【００１０】
また、請求項６記載の発明では、請求項１記載の前記属性は、線幅、及び色を含んでいる。
【００１１】
また、請求項７記載の発明では、請求項１記載の前記属性は、書体、及び文字コードを含んでいる。
【００１２】
また、請求項８記載の描画処理方法は、描画データを受付ける受付工程と、前記受付工程により受付けた描画データが改ページの要求であるか否かを判別する判別工程と、受付けた描画データが前記判別工程により改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類工程と、受付けた描画データが前記判別工程により改ページの要求であると判別された場合、前記属性分類工程による属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力工程とを有している。
【００１３】
また、請求項９記載の発明では、請求項８記載の前記属性分類工程は、複数の描画属性を階層化して分類している。
【００１４】
また、請求項１０記載の発明では、請求項８記載の前記属性分類工程は、属性データの出力量を考慮して分類している。
【００１５】
また、請求項１１記載の発明では、請求項８記載の前記属性分類工程は、属性データの切替処理時間を考慮して分類している。
【００１６】
また、請求項１２記載の発明では、請求項８記載の前記属性分類工程は、属性データの出力量及び切替処理時間を考慮して分類している。
【００１７】
また、請求項１３記載の発明では、請求項８記載の前記属性は、線幅、及び色を含んでいる。
【００１８】
また、請求項１４記載の発明では、請求項８記載の前記属性は、書体、及び文字コードを含んでいる。
【００１９】
また、請求項１５記載の記憶媒体は、描画データを受付ける受付ルーチンと、前記受付ルーチンにより受付けた描画データが改ページの要求であるか否かを判別する判別ルーチンと、受付けた描画データが前記判別ルーチンにより改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類ルーチンと、受付けた描画データが前記判別ルーチンにより改ページの要求であると判別された場合、前記属性分類ルーチンによる属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力ルーチンとを有するプログラムを記憶している。
【００２０】
また、請求項１６記載の発明では、請求項１５記載の前記属性分類ルーチンは、複数の描画属性を階層化して分類している。
【００２１】
また、請求項１７記載の発明では、請求項１５記載の前記属性分類ルーチンは、属性データの出力量を考慮して分類している。
【００２２】
また、請求項１８記載の発明では、請求項１５記載の前記属性分類ルーチンは、属性データの切替処理時間を考慮して分類している。
【００２３】
また、請求項１９記載の発明では、請求項１５記載の前記属性分類ルーチンは、属性データの出力量及び切替処理時間を考慮して分類している。
【００２４】
また、請求項２０記載の発明では、請求項１５記載の前記属性は、線幅、及び色を含んでいる。
【００２５】
また、請求項２１記載の発明では、請求項１５記載の前記属性は、書体、及び文字コードを含んでいる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態例を図面を参照しながら説明する。
【００２７】
図１は、本発明の実施の形態例に係る論理描画自動処理装置の概略構成を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器、複数の機器からなるシステム、またはＬＡＮ、ＷＡＮ等のネットワークを介して接続がなされて処理が行われるシステム等のいずれの形態にも本発明を適用できることは言うまでもない。
【００２８】
図１において、３０００はホストコンピュータであり、ＲＯＭ３中のプログラム用ＲＯＭ３ｂに記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、このＣＰＵ１は、システムバス４に接続される各デバイスを総括的に制御することにより、文書処理を実行する。
【００２９】
また、このＲＯＭ３中のプログラム用ＲＯＭ３ｂ、あるいは外部メモリ１１には、ＣＰＵｌの制御プログラムであるオペレーティングシステムプログラム（以下ＯＳという）等が記憶され、ＲＯＭ３中のフォント用ＲＯＭ３ａ、あるいは外部メモリ１１には、上記文書処理の際に使用するフォントデータ等が記憶され、ＲＯＭ３中のデータ用ＲＯＭ３ｃ，あるいは外部メモリ１１には、上記文書処理等を行う際に使用する各種データ（例えば、ディレクトリ情報、プリンタドライバテーブル等）が記憶される。この場合、ハードウエア上の制御の主体は、ＣＰＵ１である。一方、ソフトウエア上の制御の主体は、本論理描画自動処理プログラムを含む印刷関連モジュールである。
【００３０】
２はＲＡＭであり、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）であり、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はディスクコントローラ（ＤＫＣ）であり、ブートプログラム、各種のアプリケーションプログラム（以下、アプリケーションという）、フォントデータ、ユーザファイル、編集ファイル、論理描画自動処理プログラム等を記憶するハードディスク（ＨＤ）１２、フロッピーディスクドライブ（ＦＤＤ）１３にセットされたフロッピーディスク（ＦＤ）１４等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）であり、所定の双方向性のインターフェース２０を介してプリンタ５０００に接続されて、プリンタ５０００との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開処理（ラスタライズ）を実行し、ＣＲＴｌ０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００３１】
プリンタ５０００において、２１はプリンタＣＰＵであり、ＲＯＭ２３中のプログラム用ＲＯＭ２３ｂ、あるいは外部メモリ３０に記憶された制御プログラム等に基づいて、システムバス２４に接続される印刷部（プリンタエンジン）２７に出力情報としての画像信号を出力する。また、ＲＯＭ２３中のフォント用ＲＯＭ２３ａには上記出力情報を生成する際に使用するフォントデータ等を記憶し、ＲＯＭ２３中のデータ用ＲＯＭ２３ｂにはハードディスク等の外部メモリ３０が存在しないプリンタの場合には、ホストコンピュータ３０００上で利用される情報等を記憶している。ＣＰＵ２１は入力部２５を介してホストコンピュータ３０００との通信処理が可能となっており、ＣＰＵ２１の制御の下にプリンタ５０００内の情報等がホストコンピュータ３０００に通知される。２２はＣＰＵ２１の主メモリ、ワークエリア等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ２２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等として利用される。ハードディスク（ＨＤ）、ＩＣ力ード等の外部メモリ３０は、ディスクコントローラ（ＤＫＣ）２９によリアクセスを制御される。外部メモリ３０は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、２８は操作パネルであり、操作のためのスイッチおよびＬＥＤ表示器等が配されている。
【００３２】
なお、前述した外部メモリ３０は１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないＮＶＲＡＭを有し、操作パネル２８からのプリンタモード設定情報を記憶するようにしてもよい。
【００３３】
以下、図３〜図１３に示すフローチャートを中心にして、本発明に特有な属性自動分類・描画処理を説明する。
【００３４】
なお、図３〜図１３に示したフローチャートに対応するプログラムは、ホストコンピュータ３０００上のＨＤ１２、またはＦＤ１４に対して論理描画自動処理プログラムを含むモジュールとして記憶され、ＣＰＵ１がＯＳの管理の下で実行することにより達成する手段として機能している。
【００３５】
すなわち、図２に示したように、ホストコシピュータ３０００の電源がＯＮされた時に、プログラム用ＲＯＭ３ｂに書き込まれたＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラム中のＩＰＬ（ＩｎｉｔｉａｌＰｒｏｇｒａｍ  Ｌｏａｄｉｎｇ）機能により、ＯＳ４６がＨＤ１２からＲＡＭ２ヘ読込まれ、ＯＳ４６の動作が開始される。なお、図２は、本形態例における属性自動分類・描画出力処理プログラムを含む印刷関連モジュールがホストコンピュータ３０００上のＲＡＭ２にロードされ、実行可能となった状態のメモリマップを示している。
【００３６】
そして、実際に、属性自動分類・描画処理プログラムを含む印刷関連モジュールが動作可能となるのは、印刷関連モジュールを記録しているＦＤ１４をＦＤＤ１３にセットするか、または、印刷関連モジュールをＨＤ１２に保存しておき、ＯＳ４６およびＢＩＯＳ４７の制御のもとに印刷関連モジュ−ルがＦＤ１４またはＨＤ１２から読出され、ＲＡＭ２にロードされると共に、ユーザ等の指示により、ホストコンピュータ３０００上で、ＯＳ４６の管理の下で動作するアプリケーション４２より印刷処理が実行された時である。
【００３７】
属性自動分類・描画処理は、アプリケーションから供給された描画データを、図１５に示したように、例えば、色、線幅などの描画属性に基づいて分類してグループ化し、グループ単位で描画属性の切替えを行うことにより、描画属性の切替回数を低減し、描画属性の切替えに伴う出力データ量の増大を抑制するために行われるものである。この場合、色、線幅などの複数の描画属性が存在するときは、描画属性を階層化し、上位の描画属性に基づく分類から順に分類処理を行うようにしている。また、描画属性が同一の複数の描画データは、グループ単位で描画属性の切替えが行われた後、入力された順序を変更して連続的に出力される。
【００３８】
この属性分類データは、図１４に示したような形式で保存される。ここで、図４〜図１５で用いられる符号について説明しておく。入力された属性１のデータ数（例えば属性１が色の場合には色の数）をＴｃ、ｌ個目の（ｌ番目に入力された）属性１データをＴＤ［ｌ］と表記する。
【００３９】
ｌ個目の属性１データには、図１４に示したように、入力された属性２のデータ数、属性１の値、属性２のデータ数分の属性２データが含まれている。そして、属性２のデータ数をＴＤ［ｌ］．Ｕｃ、属性１の値をＴＤ［ｌ］．Ｕａ、ｍ番目に入力された属性２データをＴＤ［ｌ］．ＵＤ［ｍ］と表記する。
【００４０】
また、ｍ番目に入力された属性２データには、描画のデータ数、属性２の値、描画のデータ数分の描画データが含まれている。そして、描画のデータ数をＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃ、属性２の値をＴＤ［ｌ］．ＵＤ［ｍ］．Ｖａ、ｎ番目に入力された描画データをＴＤ［ｌ］．ＵＤ［ｍ］．ＶＤ［ｎ］と表記する。概略の処理フローは図３に示す通りであり、印刷実行時にアプリケーションプログラムより受取った印刷データ、すなわちアプリケーションにより処理されたデータからプリンタ５０００への出力データを生成するように構成されている（ステップＳ３０１）。
【００４１】
詳細には、図４に示したように、まず、ｆｌａｇを０にし（ステップＳ４０１）、属性１データのデータ数を表すＴｃを０にする（ステップＳ４０２）。次に、アプリケーションからの描画処理要求を受付け（ステップＳ４０３）、それが描画終了の要求か否かの判別を行う（ステップＳ４０４）。受付けた描画処理要求が描画終了の場合は、図１０に詳細を示した出力処理を行い（ステップＳ４０５）、処理を終了する。受付けた描画処理要求が描画終了ではない場合は、その描画処理が改ページの要求であるか否かを判別する（ステップＳ４０６）。その描画処理が改ページの要求である場合は、図１０の出力処理を行い（ステップＳ４０７）、ステップＳ４０３に戻る。改ページの要求でない場合は、図５に詳細を示した属性分類処理を行い（ステップＳ４０８）、ステップＳ４０３に戻る。
【００４２】
属性分類処理は図５に示す通りであり、まず変数ｌを１にし（ステップＳ５０１）、変数ｌがＴｃ（属性１データのデータ数）以下であるか否かを判別する（ステップＳ５０２）。変数ｌがＴｃ以下でない場合は、図７に詳細を示した属性１データ作成処理を行い（ステップＳ５０３）、終了する。変数ｌがＴｃ以下の場合は、ｌ個目の属性１データの属性の値を保存してあるＴＤ［ｌ］．Ｕａと、今回受付けた描画処理要求に係る描画データの属性１の値が同じであるか否かを判定し（ステップＳ５０４）、異なる場合は、新種の属性１を持つ描画データが今回入力されたことを意味するので、変数ｌを１だけインクリメントして（ステップＳ５０５）、ステップＳ５０２に戻る。ＴＤ［ｌ］．Ｕａの値と今回の描画データの属性１の値が同一の場合は、同一種の属性１を持つ描画データが既に入力されていることを意味するので、図６に詳細を示した属性１データ追加処理を行い（ステップＳ５０６）、終了する。なお、ステップＳ５０４での属性１の同一性判別処理では、該当する属性１（例えば色）を持たない描画データの場合、属性１を持たない属性１として判定される。以降についても同様である。
【００４３】
属性１データ作成処理の詳細は図７に示す通りであり、変数ｌが１であるかを判定し（ステップＳ７０１）、変数ｌが１でない場合は、ステップＳ７０４に進む。変数ｌが１の場合には、ｌ個目の属性１データに含まれる属性２データの個数を示すＴＤ［ｌ］．Ｕｃの値を０にする（ステップ７０２）。そして、変数ｍを１にして（ステップＳ７０３）、ステップＳ７０４に進む。
【００４４】
ステップＳ７０４では、ｌ個目の属性１データに含まれる属性２データの属性１を示すＴＤ［ｌ］．Ｕａに、今回の描画データの属性１の値を保存する。次に、図９に詳細を示した属性２データ作成処理を行い（ステップＳ７０５）、Ｔｃを１だけインクリメントして（ステップＳ７０６）、終了する。
【００４５】
属性２データ作成処理は図９に示す通りであり、変数ｍが１であるか否かを判別し（ステップＳ９０１）、変数ｍが１でない場合は、ステップＳ９０３に進む。変数ｍが１の場合には、ｌ個目の属性１データの中のｍ個目の属性２データの中の描画データの数を示すＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃを０にして（ステップＳ９０２）、ステップＳ９０３に進む。
【００４６】
ステップＳ９０３では、ｌ個目の属性１データの中のｍ個目の属性２データの中の描画データの属性２を示すＴＤ［ｌ］．ＵＤ［ｍ］．Ｖａに、今回の描画データの属性２の値を保存する。次に、図８に詳細を示す属性２データ追加処理を行い（ステップＳ９０４）、ｌ個目の属性１データに含まれる属性２データの個数を示すＴＤ［ｌ］．Ｕｃを１だけインクリメントして（ステップＳ９０５）、終了する。
【００４７】
属性２データ追加処理は図８に示す通りであり、ｌ個目の属性１データの中のｍ個目の属性２データの中のＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃ＋ｌ番目に、ＴＤ［ｌ］．ＵＤ［ｍ］．ＶＤ［ｎ］という表記名で今回の描画データを保存する（ステップＳ８０１）。ここでＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃはｌ個目の属性１データの中のｍ個目の属性２データの中に含まれる描画データの個数を示し、上記のＴＤ［ｌ］．ＵＤ［ｍ］．ＶＤ［ｎ］におけるｎは、ＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃ＋ｌに相当している。次に、ＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃを１だけインクリメントし（ステップＳ８０２）、終了する。
【００４８】
属性１データ追加処理は図６に示す通りであり、変数ｍを１にし（ステップＳ６０１）、変数ｍがＴＤ［ｌ］．Ｕｃ（属性２のデータ数）以下であるか否かを判別する（ステップＳ５０２）。ＴＤ［ｌ］．Ｕｃ以下でない場合は、上述した図９の属性２データ作成処理を行い（ステップＳ６０３）、終了する。変数ｍがＴＤ［ｌ］．Ｕｃ以下の場合には、ｌ個目の属性１データの中のｍ個目の属性２データの中の描画データの属性２の値を示すＴＤ［ｌ］．ＵＤ［ｍ］．Ｖａと、今回の描画データの属性２の値が同じであるか否かを判別する（ステップＳ６０４）。そして、属性２の値が異なる場合は、変数ｍを１だけインクリメントして（ステップＳ６０５）、ステップＳ６０２に戻る。属性２の値が同一の場合は、上述した図８の属性２データ追加処理を行い（ステップＳ６０６）、終了する。
【００４９】
図４のステップＳ４０５，Ｓ４０７における出力処理は図１０に示す通りであり、まず、Ｔｃ（属性１のデータ数）が０であるか否かを判別する（ステップＳ１００１）。そして、Ｔｃが０の場合には、終了する。Ｔｃが０でない場合は、変数ｌを１にし（ステップＳ１００２）、変数ｌがＴｃ以下であるか否かを判別する（ステップＳ１００３）。変数ｌがＴｃ以下でない場合は、Ｔｃを０にして（ステップＳ１０１２）、終了する。変数ｌがＴｃ以下の場合は、変数ｍを１にして（ステップＳ１００４）、変数ｍがＴＤ［ｌ］．Ｕｃ（属性２のデータ数）以下であるか否かを判別する。変数ｍがＴＤ［ｌ］．Ｕｃ以下でない場合は、変数ｌを１だけインクリメントして（ステップＳ１００６）、ステップＳ１００３に戻る。
【００５０】
変数ｍがＴＤ［ｌ］．ＵＣ以下の場合は、変数ｎを１にして（ステップＳ１００７）、変数ｎがＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃ（描画のデータ数）以下であるかを判定する（ステップＳ１００８）。変数ｎがＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃ以下でない場合は、変数ｍを１だけインクリメントして（ステップＳ１００９）、ステップＳ１００５に戻る。変数ｎがＴＤ［ｌ］．ＵＤ［ｍ］．Ｖｃ以下の場合は、図１１に詳細を示した出力処理２を行い（ステップＳ１０１０）、変数ｎを１だけインクリメントして（ステップＳ１０１１）、ステップＳ１００８に戻る。
【００５１】
出力処理２は図１１に示す通りであり、ｆｌａｇが０であるか否かを判別し（ステップＳ１１０１）、０でない場合は、ステップＳ１１０５に進む。ｆｌａｇが０の場合は、図１２に詳細を示した属性１切替出力を行い（ステップＳ１１０２）、次に、図１３に詳細を示した属性２切替出力を行い（ステップＳ１１０３）、ｆｌａｇを１にして（ステップＳ１１０４）、ステップＳ１１０５に進む。
【００５２】
ステップＳ１１０５では、属性１の値を示すＴＤ［ｌ］．Ｕａと、図１２に示したＸ（属性１の値）が同じであるか否かを判別し（ステップＳ１１０５）、属性１の値が同じ場合は、ステップＳ１００７に進み、属性１の値が異なる場合には、図１２の属性１切替出力を行って（ステップＳ１１０６）、ステップＳ１１０７に進む。ステップＳ１１０７では、属性２の値を示すＴＤ［ｌ］．ＵＤ［ｍ］．Ｖａと、図１３に示したＷ（属性２の値）が同じであるか否かを判別する。そして、属性２の値が同じ場合は終了し、属性２の値が異なる場合は、属性２切替出力を行う（ステップＳ１１０８）。そして、ＴＤ［ｌ］．ＵＤ［ｍ］．ＶＤ［ｎ］で示される描画データを出力して（ステップＳ１１０９）、終了する。
【００５３】
属性１切替出力は図１２に示す通りであり、属性ｌのデータをＴＤ［ｌ］．Ｕａの値に切替えて出力し（ステップＳ１２０１）、属性１のデータを示すＴＤ［ｌ］．ＵａをＸに保存して（ステップＳ１２０２）、終了する。
【００５４】
属性２切り替え出力は図１３に示す通りであり、属性２のデータをＴＤ［ｌ］．ＵＤ［ｍ］．Ｖａの値に切替えて出力し（ステップＳ１３０１）、属性２のデータを示すＴＤ［ｌ］．ＵＤ［ｍ］．ＶａをＷに保存して（ステップＳ１３０２）、終了する。
【００５５】
このような属性自動分類・描画処理を、図１６に示した描画データに対して行った場合、その出力状況は図１７に示したようになる。なお、図１６の例では、色の切替出力には５バイト、線幅の切替出力には３バイト必要であり、出力を受け取った処理装置での色の切替えには５秒、線幅の切替えには３秒の処理時間がかかるので、これら切替えに係る属性データの出力量、切替処理時間を考慮して、属性データの出力量がより少なくなり、かつ処理時間がより短時間となるように、属性１を色、属性２を線幅としている。換言すれば、色の方を線幅より上位の階層の属性として、色による分類の方が線幅による分類よりも先に実行されるようにしている。
【００５６】
また、図１７には、本形態例において属性１を色、属性２を線幅とした場合の出力状況のみならず、従来の出力状況と、本形態例において属性によるデータ出力量／処理時間を考慮せずに属性を階層化した場合（属性１を線幅、属性２を色とした場合）の出力状況をも示している。なお、＊印を付した部分は、属性１を色、属性２を線幅として本形態例を実行した場合より多い出力の部分である。
【００５７】
図１７に示したように、本形態例において属性１を色、属性２を線幅とした場合には、属性の切替回数が減少した結果、属性データの出力量については、従来よりも１８バイト少なくなり、データ出力量／処理時間を考慮しない場合に対しては、１０バイト少なくなっており、出力を受取る処理装置での処理時間については、従来よりも１８秒速くなり、データ出力量／処理時間を考慮しない場合に対しては、１０秒速くなっている。
【００５８】
また、本形態例によれば、出力を受取る処理装置で、キャッシュメモリを有効に活用することが可能となる。例えば、フォントキャッシュ・メモリを再利用する場合の条件となる属性が書体と文字コードの２つである場合に、図１８に示した描画データが入力されたとする。この場合、属性１を書体、属性２を文字コードとして、本形態例の処理を実行すると、その出力状況は、図１９に示したようになる。なお、フォントキャッシュ・メモリは１文字分を保存可能であるとする。
【００５９】
図１９に示したように、従来の出力では、描画データが入力される毎に属性切替えを行う必要があるため、フォントキャッシュ・メモリ内のデータを再利用することはできないが、本形態例では、属性切替回数が低減されて同一属性の描画データが連続的に供給されてくるので、フォントキャッシュ・メモリ内のデータを再利用することが可能となり、フォントキャッシュ・メモリのヒット率が向上する。
【００６０】
以上説明したように、本形態例によれば、描画要求に係るデータを、描画属性に基づいて分類してグループ化し、グループ単位で描画属性の切替えを行うことにより、描画属性の切替頻度を低減して、描画属性の切替えに伴う出力データ量の増大を抑制したので、プリンタ側でのフォントキャッシュのヒット率、および印刷スループットを向上し、解像度および画質の低下を回避し、印刷不良の発生を防止することが可能となる。
【００６１】
なお、本発明は、上記の形態例に限定されることなく、例えば、論理描画出力処理プログラムを含む印刷関連モジュールは、ハードディスク、またはフロッピーディスクに記憶することなく、例えばＣＤ−ＲＯＭ、ＩＣメモリカードに記憶したり、或いは電子メールやパソコン通信等、ネットワークを介して取得するようにしてもよい。また、上記の印刷関連モジュールを内蔵のＲＯＭにプリセットしておき、これをメモリマップの一部となすように構成し、直接ＣＰＵで実行することも可能である。また、分類の際に着目する属性は２種類に限定されず、１種類、または３種類以上の属性に着目して分類するようにしてもよい。
【００６２】
更に、属性に基づく分類処理は、１ページ単位で行うことなく、例えば、半ページ単位、文書単位等で行うことも可能である。
【００６３】
【発明の効果】
以上説明したように、本発明によれば、描画データを受付ける受付手段と、前記受付手段により受付けた描画データが改ページの要求であるか否かを判別する判別手段と、受付けた描画データが前記判別手段により改ページの要求でないと判別された場合、受付けた描画データの属性分類処理を行う属性分類手段と、受付けた描画データが前記判別手段により改ページの要求であると判別された場合、前記属性分類手段による属性分類処理に基づき属性切替コマンドが少なくなるように受付けた描画データの順番が変更された描画データを出力する出力手段とを有しているので、描画属性の切替頻度を低減することにより、出力データ量の低減やフォントキャッシュのヒット率の向上を図って、高速印刷を行うと共に、解像度低下、画質の低下、印字不良を防止することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態例に係る論理描画自動処理装置の概略構成を示すブロック図である。
【図２】本形態例における論理描画自動処理プログラムを含む印刷関連モジュールが情報処理装置上のＲＡＭにロードされ実行可能となった状態のメモリマップである。
【図３】属性自動分類・描画処理の概略を示したフローチャートである。
【図４】図３における出力データ生成処理の詳細を示したフローチャートである。
【図５】図４における属性分類処理の詳細を示したフローチャートである。
【図６】図５における属性１データ追加処理の詳細を示したフローチャートである。
【図７】図５における属性１データ作成処理の詳細を示したフローチャートである。
【図８】図６における属性２データ追加処理の詳細を示したフローチャートである。
【図９】図６における属性２データ作成処理の詳細を示したフローチャートである。
【図１０】図４における出力処理の詳細を示したフローチャートである。
【図１１】図１０における出力処理２の詳細を示したフローチャートである。
【図１２】図１１における属性１切替出力処理の詳細を示したフローチャートである。
【図１３】図１１における属性２切替出力処理の詳細を示したフローチャートである。
【図１４】属性分類データの保存方法を示す概念図である。
【図１５】属性分類方法を示す概念図である。
【図１６】描画要求に係るデータの第１の例を示した図である。
【図１７】図１４のデータ例に対応する描画出力データを示した図である。
【図１８】描画要求に係るデータの第２の例を示した図である。
【図１９】図１６のデータ例に対応する描画出力データを示した図である。
【符号の説明】
１…ＣＰＵ
３…プログラム用ＲＯＭ
７…ディスクコントローラ
８…プリンタコントローラ
１１…外部メモリ
１２…ハードディスク
１４…フロッピーディスク
２７…印刷部（プリンタエンジン）
３０００…ホストコンピュータ
５０００…プリンタ
【図１】
0003548396.tif 000002
【図２】
0003548396.tif 000003
【図３】
0003548396.tif 000004
【図４】
0003548396.tif 000005
【図５】
0003548396.tif 000006
【図６】
0003548396.tif 000007
【図７】
0003548396.tif 000008
【図８】
0003548396.tif 000009
【図９】
0003548396.tif 000010
【図１０】
0003548396.tif 000011
【図１１】
0003548396.tif 000012
【図１２】
0003548396.tif 000013
【図１３】
0003548396.tif 000014
【図１４】
0003548396.tif 000015
【図１５】
0003548396.tif 000016
【図１６】
0003548396.tif 000017
【図１７】
0003548396.tif 000018
【図１８】
0003548396.tif 000019
【図１９】
0003548396.tif 000020