(57)【特許請求の範囲】
【請求項１】
描画指示からプリンタ装置用のコマンドを生成するコマンド生成手段と、
描画指示から、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第１の描画指示、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受ける描画指示のうちで予め定められた第２の描画指示を抽出する抽出手段と、
前記抽出手段により新たに抽出された前記第１または前記第２の描画指示が、既にプリンタ装置へ出力したコマンドに対応する描画指示であるか否かを判断する第１の判断手段と、
前記抽出手段により新たに抽出された描画指示が、前記第２の描画指示であり、かつ、その描画指示に対応するコマンドをプリンタ装置へ出力済みであると前記第１の判断手段により判断された場合に、そのコマンドの実行結果に影響を与えるコマンドをそのコマンドを出力した後に出力したか否かを判断する第２の判断手段と、
を具備し、
前記コマンド生成手段は、
前記抽出手段により新たに抽出された描画指示が、前記第１の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第１の判断手段により判断された場合には、その描画指示からのコマンド生成を中止し、
前記抽出手段により新たに抽出された描画指示が、前記第２の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第１の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと前記第２の判断手段により判断された場合に、その描画指示からのコマンド生成を中止することを特徴とする画像処理装置。
【請求項２】
描画指示からプリンタ装置用のコマンドを生成し、プリンタ装置に出力するコマンド生成手段と、
描画指示から、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第１の描画指示、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受ける描画指示のうちで予め定められた第２の描画指示を抽出する抽出手段と、
前記抽出手段により新たに抽出された前記第１または前記第２の描画指示が、既にプリンタ装置へ出力したコマンドに対応する描画指示であるか否かを判断する第１の判断手段と、
前記抽出手段により新たに抽出された描画指示が、前記第２の描画指示であり、かつ、その描画指示に対応するコマンドをプリンタ装置へ出力済みであると前記第１の判断手段により判断された場合に、そのコマンドの実行結果に影響を与えるコマンドをそのコマンドを出力した後に出力したか否かを判断する第２の判断手段と、
を具備し、
前記コマンド生成手段は、
前記抽出手段により新たに抽出された描画指示が、前記第１の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第１の判断手段により判断された場合には、その描画指示から生成したコマンドのプリンタ装置への出力を中止し、
前記抽出手段により新たに抽出された描画指示が、前記第２の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第１の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと前記第２の判断手段により判断された場合に、その描画指示から生成したコマンドのプリンタ装置への出力を中止することを特徴とする画像処理装置。
【請求項３】
描画指示からプリンタ装置用のコマンドを生成し、プリンタ装置に出力するコマンド生成手段と、
前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第１のコマンド、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けるコマンドのうちで予め定められた第２のコマンドを抽出する抽出手段と、
前記抽出手段により新たに抽出されたコマンドを記憶する記憶手段と、
前記抽出手段により抽出されたコマンドと前記記憶手段に記憶されているコマンドとを比較する比較手段と
を具備し、
前記コマンド生成手段は、
前記抽出手段により抽出された前記第１のコマンドについて、一致するコマンドが前記記憶手段に記憶されていると前記比較手段により判断された場合には、そのコマンドのプリンタ装置への出力を中止し、
前記抽出手段により抽出された前記第２のコマンドについて、一致するコマンドが前記記憶手段に記憶されていると前記比較手段により判断され、かつ、そのコマンドの実行結果に影響を与えるコマンドがそのコマンドに後続してプリンタ装置へ出力されていない場合には、そのコマンドのプリンタ装置への出力を中止することを特徴とする画像処理装置。
【請求項４】
前記抽出手段により抽出すべき前記第１のコマンドと前記第２のコマンドとを記憶する抽出対象記憶手段を具備し、
前記抽出手段は、前記コマンド生成手段により生成されるコマンドが、前記抽出対象記憶手段に記憶されているコマンドであった場合に、そのコマンドを抽出することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記コマンド生成手段により生成されるコマンドが、前記記憶手段に記憶されているコマンドの実行結果に影響を与えるコマンドであるか否かを判断し、影響を与えるコマンドであると判断した場合には、その影響を受けるコマンドを前記記憶手段から消去する消去手段を具備することを特徴とする請求項３または４に記載の画像処理装置。
【請求項６】
前記記憶手段は、前記抽出手段により新たに抽出されたコマンドとそのコマンドの描画属性とを併せて記憶し、
現在の描画属性を記憶する描画属性管理手段と、
前記抽出手段により抽出されたコマンドが前記記憶手段に記憶されているコマンドの何れかと一致すると前記比較手段により判断された場合に、そのコマンドの描画属性と、前記描画属性管理手段に記憶されている現在の描画属性とを比較する描画属性比較手段と  を具備し、
前記コマンド生成手段は、描画属性が前記描画属性管理手段に記憶されている現在の描画属性と一致すると前記描画属性比較手段により判断されたコマンドのプリンタ装置への出力を中止する
ことを特徴とする請求項３記載の画像処理装置。
【請求項７】
前記描画属性比較手段により、双方の描画属性が一致しないと判断された場合には、前記記憶手段に記憶されているコマンドおよび描画属性を、新規のコマンドおよび現在の描画属性で置き換える書換手段を具備する
ことを特徴とする請求項６記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、アプリケーションからの印刷指示に従ってプリンタ装置への印刷情報を生成する画像処理装置に関する。
【０００２】
【従来の技術】
図９は、従来技術による一般的なネットワーク上に配設された印刷システムの構成を示すブロック図である。図において、アプリケーション１は、ホスト装置で動作するソフトウェアであり、アプリケーション１上でユーザにより印刷が指示されると、ホスト装置のオペレーティングシステムが持つ描画ライプラリ２に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ２は、印刷指示を受けると、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターン等の情報をセットにしてプリンタドライバ３に送出する。プリンタドライバ３は、上記描画指示（オブジェクト単位）を受けると、そのオブジェクトの内容を解釈して各プリンタ装置固有のＰＤＬコマンドを生成し、そのコマンドをネットワーク４を介してプリンタ装置へ送出する。プリンタ装置では、デコンポーザ５により上記ＰＤＬコマンドを解釈し、ビットマップデータを作成して出力バッファ６に一旦格納し、図示しない画像形成装置により所定の用紙に画像を印刷して出力する。
【０００３】
ところで、近年、プリンタ装置は、高速印刷、高解像度処理、カラー化など、著しい進化を遂げており、この結果、プリンタ装置の描画指示入力であるＰＤＬ（ページ記述言語）も複雑化し、また、ＰＤＬデータのデータ量も増大している。また、編集文書がカラー化すれば、それに応じてカラー対応のコマンドが必要となるのは当然であり、さらに、高解像度になれば、データ量も増大は避けられない。例えば、従来、白黒２値３００ｄｐｉの解像度のラスター形式の画像データは、Ａ４、１枚分でも、１Ｍバイト程度で済んでいる。これが６００ｄｐｉになると、４Ｍバイトとなり、白黒８ｂｉｔになれば、３２Ｍバイト、カラー化すれば１２８Ｍバイトもの大容量データとなる。
【０００４】
一方、プリンタ装置の高速印刷を実現するためには、１ページあたりの処理時間を高速化しなければならない。例えば、４０ｐｐｍの印刷を可能にするためには、平均１．５秒の間に１ページ分のＰＤＬデータの処理を行わなければならない。この実現のためには、ホスト装置、ネットワーク、プリンタ装置などすべての構成要素に対して高速化が実現されなければならない。しかしながら、ホスト装置で作成されたＰＤＬデータをネットワーク４を介してプリンタ装置が受信することを考えると、１２８ＭＢｙｔｅｓものデータを転送するだけで非常に時間がかかってしまう。すなわち、ＰＤＬデータだけで１２８ＭＢｙｔｅｓとなってしまうと、ネットワーク４での転送時間だけで目標値を超えてしまうという問題がある。
【０００５】
そこで、例えば、特開平２−８０６９では、パターン図形の効率的な描画を実現するためのホストコンピュータとプリンタ装置とからなるシステムを開示している。ここで、図１０は、上記従来技術による印刷システムの構成を示すブロック図である。なお、図９に対応する部分には同一の符号を付けて説明を省略する。該従来技術では、使用する頻度の高いパターン図形をプリンタ装置のパターン管理装置１２ａに予め登録しておき、同一のパターン図形を使用して描画する際には、既に登録してあるパターン図形をｌＤで指定して描画を指示する。プリンタ装置側では、デコンポーザ１２のパターン管理装置１２ａから上記ＩＤに対応するパターン図形を読み出し、該パターン図形を描画処理装置１２ｂで描画して出力バッファ６に格納する。これにより、パターン図形の描画において、その度にパターン図形本体を描画データとして転送する必要をなくし、データ量の削減を図ることを可能としている。
【０００６】
【発明が解決しようとする課題】
ところで、従来技術（特開平２−８０６９）では、複数のデータを予め登録した上で切り替えて使用できるような特定のコマンドにしか改善効果はなく、また、プリンタ装置側にもパターン登録専用の処理機構として、パターン管理装置１２ａなどが必要となる。さらに、ホスト装置側にも、描画するパターン図形をｌＤによって管理し、登録を行う機構およぴｌＤによる指定などの指示を行う機構として、パターンデータ管理装置１０ａなどが必要となる。
【０００７】
また、このような描画処理機構をホスト装置上で行う処理は、一般に、ユーザが変更することが難しいＯＳ（オペレーティングシステム）上の描画ライブラリで実現される場合が多く、ＯＳがこのような機構を予め持っていない場合には、このシステムを実現することは難しい。したがって、従来技術では、非常に限定された状況でしか効果がなく、しかも、ホスト装置とプリンタ装置との双方に改良を加えなければならず、改造も広範囲に及ぶという問題がある。
【０００８】
この発明は上述した事情に鑑みてなされたもので、比較的簡単な構成変更だけで、ネットワークを転送されるデータ量を削減することができる画像処理装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
上述した問題点を解決するために、請求項１記載の発明では、描画指示からプリンタ装置用のコマンドを生成するコマンド生成手段と、描画指示から、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第１の描画指示、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受ける描画指示のうちで予め定められた第２の描画指示を抽出する抽出手段と、前記抽出手段により新たに抽出された前記第１または前記第２の描画指示が、既にプリンタ装置へ出力したコマンドに対応する描画指示であるか否かを判断する第１の判断手段と、前記抽出手段により新たに抽出された描画指示が、前記第２の描画指示であり、かつ、その描画指示に対応するコマンドをプリンタ装置へ出力済みであると前記第１の判断手段により判断された場合に、そのコマンドの実行結果に影響を与えるコマンドをそのコマンドを出力した後に出力したか否かを判断する第２の判断手段と、を具備し、前記コマンド生成手段は、前記抽出手段により新たに抽出された描画指示が、前記第１の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第１の判断手段により判断された場合には、その描画指示からのコマンド生成を中止し、前記抽出手段により新たに抽出された描画指示が、前記第２の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第１の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと前記第２の判断手段により判断された場合に、その描画指示からのコマンド生成を中止することを特徴とする。
【００１０】
この発明によれば、抽出手段により上記第１または上記第２の描画指示を抽出し、新たに抽出された第１の描画指示については、その描画指示に対応するコマンドを出力済みであると上記第１の判断手段により判断された場合には、その描画指示からのコマンド生成が中止され、新たに抽出された第２の描画指示については、その描画指示に対応するコマンドを出力済みであると上記第１の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと上記第２の判断手段により判断された場合に、その描画指示からのコマンド生成が中止される。したがって、有効なコマンドと判定されたコマンドだけがプリンタ装置に出力されるので、比較的簡単な構成変更だけで、ネットワークを転送されるデータ量を削減することが可能になる。
【００１１】
【発明の実施の形態】
次に図面を参照してこの発明の実施形態について説明する。
Ａ．第１実施形態
Ａ−１．第１実施形態の構成
図１は、本発明の第１実施形態による印刷システムの構成を示すブロック図である。図において、ホスト装置上には、ＤＴＰ文書などを編集するためのアプリケーション１が動作している。アプリケーション１は、ユーザにより印刷が指示されると、ホスト装置のオペレーティングシステムが持つ描画ライプラリ２に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ２は、描画指示を受けると、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターン等の情報をセットにしてプリンタドライバ３０に送出する。描画オブジェクトは、例えば、文字描画の場合、書体情報、描画開始位置、文字の大きさ、文字列データなど、文字列を描画するための複数の情報を１つにまとめたデータである。また、該描画オブジェクトは、例えば、異なる複数の文字列を描画する場合、どのオブジェクトにもすべて添付される。
【００１２】
プリンタドライバ３０は、ＰＤＬコマンド生成装置３１、コマンド抽出装置３２、およびコマンド比較／記憶装置３３からなる。ＰＤＬコマンド生成装置３１は、上記描画指示（オブジェクト単位）を受けると、そのオブジェクトの内容を解釈して各プリンタ装置固有のＰＤＬコマンドを生成するとともに、生成したコマンドをプリンタ装置へ送出すべきであるか否かをコマンド抽出装置３２に問い合わせ、「無効」であるとの応答を得た場合には、そのコマンドを送出せず、「有効」であるとの応答を得た場合にのみ、そのコマンドをプリンタ装置へ送出する。
【００１３】
ここで、ＰＤＬコマンドについて説明する。ＰＤＬコマンドは、一般に、１つのコマンドが１つの属性値を規定するか、もしくは、描画を実行する実行コマンドのように、１つのコマンドの機能が限られている場合が多い。例えば、上述した文字列出力の場合、ＰＤＬコマンドは、書体指定コマンド、描画開始位置指定コマンド、文字の大きさ指定コマンド、文字列描画コマンドなどのような複数のコマンドに分割される。
【００１４】
ところで、上述したように描画ライブラリから送られてきたオブジェクトは、オブジェクト１つ１つに、すべて必要な属性値が設定されているため、該オブジェクトを単純に分解してＰＤＬコマンドを生成して出力するようなＰＤＬコマンド生成装置では、不必要な描画コマンドが多数送信される可能性がある。例えば、図示するオブジェクト（１）とオブジェクト（２）が両方とも文字列描画を指示するものとして、両方とも、同じ書体を使用する場合には（図示の例では、両方とも「Courier」）、オブジェクト（１）によって生成されたＰＤＬコマンドを一度すべて送信してしまえば、オブジェクト（２）については、書体指定のコマンドを発行する必要がない。本発明は、このように不要なコマンドを省く方法について提案するものである。
【００１５】
コマンド抽出装置３２は、ＰＤＬコマンド生成装置３１からの問い合わせに対して、生成されたコマンドが、他の属性値によって左右されないコマンドであるか否かを判別し、左右されないコマンドであれば、保存の対象として抽出し、コマンド比較／記憶装置３３に供給する一方、当該コマンドが既に発行されたコマンドであるという検索結果がコマンド比較／記憶装置３３から供給された場合には、ＰＤＬコマンド生成装置３１に対して、「無効」を通知し、発行されていないコマンドである場合には、「有効」を通知する。
【００１６】
上述したように、過去に発行したコマンドをプリンタ装置に出力しないようにするには、過去に発行したコマンドを記憶しておき、新しくコマンドを発行する際に、そのコマンドが既に発行されたコマンドであるか否かを判断すればよい。但し、すべてのコマンドについて、この方法が適用できるとは限らない。すなわち、書体指定のコマンドなどについては、どんなに前に指定されたものであっても、プリンタ装置がリセットされない限り有効であるが、矩形描画コマンドなどの描画実行コマンドのほとんどは、このままでは適用できない。描画実行は、属性設定コマンドによって設定された属性値を参照しながら描画が実行されるため、過去に発行された描画実行コマンドと同一の描画実行コマンドを発見しても、その時の描画属性が異なれば、描画の内容が異なるためである。上記コマンド抽出装置３２では、他の属性値によって左右されないコマンドであるか否かを判別することで、抽出対象のコマンドであるか否かを判断している。
【００１７】
このように、本第１実施形態では、コマンド抽出装置３２において、上述したように、適用できるコマンドと、適用できないコマンドとがあることを考慮し、対象となるＰＤＬコマンドが抽出された時のみ、そのコマンドを記憶しておくことによって、問題を解決するものである。例えば、書体指定のコマンドは、他の属性値によって左右されないコマンドであるため、コマンド抽出装置３２は、このコマンドを保存の対象として抽出し、コマンド比較／記憶装置３３に送る。
【００１８】
コマンド比較／記憶装置３３は、上記コマンド抽出装置３２からコマンドが供給されると、記憶しているコマンドと比較し、初めてのコマンドである場合には、そのコマンドを記憶するとともに、既に記憶しているコマンドであるか否かを示す検索結果を上記コマンド抽出装置３２に供給する。このとき、コマンド比較／記憶装置３３は、書体指定コマンドのように、書体ｌＤなどのパラメータを持っている場合には、コマンドの名称だけでなく、パラメータも一緒に記憶するとともに、比較する場合には、バラメ一タも合わせて比較する。また、１つのジョブの終了時など、ジョブ内で記憶したコマンドが有効でなくなった場合には、記憶領域をすべて消去する。
【００１９】
次に、上述したＰＤＬコマンド生成装置３１、コマンド抽出装置３２およびコマンド比較／記憶装置３３についてより詳細に説明する。ここで、図２は、ＰＤＬコマンド生成装置、コマンド抽出装置およびコマンド比較／記憶装置の機能を説明するためのブロック図である。ＰＤＬコマンド生成装置３１は、コマンド生成装置３１ａおよびコマンド出力装置３１ｂを備えている。コマンド生成装置３１ａは、描画ライブラリ２からの描画指示を受け、そのオブジェクトの内容を解釈して各プリンタ装置固有のＰＤＬコマンドを生成するとともに、生成したコマンドをプリンタ装置へ送出すべきであるか否かをコマンド抽出装置３２に問い合わせる。コマンド出力装置３１ｂは、コマンド抽出装置３２、またはコマンド比較／記憶装置３３から「有効」であるとの通知を得た場合には、対象のコマンドをプリンタ装置へ出力する一方、コマンド比較／記憶装置３３から「無効」であるとの通知を得た場合には、対象となるコマンドをプリンタへ出力しない。
【００２０】
コマンド抽出装置３２は、抽出装置３２ａおよび抽出対象コマンド一覧３２ｂを備えている。抽出対象コマンド一覧３２ｂには、他の属性値によって左右されないコマンド、すなわち一度プリンタ装置へ出力すれば、プリンタ装置がリセット（リブート）されない限り有効状態が維持されるコマンドの一覧を記憶する。抽出装置３２ａは、上記ＰＤＬコマンド生成装置３１のコマンド生成装置３１ａからの問い合わせに対して、抽出対象コマンド一覧３２ｂを検索し、同一のコマンドが記憶されているか否かの結果を得て、抽出対象でないコマンドであると判別された場合には、ＰＤＬコマンド生成装置３１のコマンド出力装置３１ｂに対して「有効」を通知する。また、抽出対象のコマンドであると判別された場合には、コマンド比較／記憶装置３３にコマンドを送出するとともに問い合わせる。
【００２１】
コマンド比較／記憶装置３３は、比較装置３３ａおよびコマンド記憶装置３３ｂを備えている。コマンド記憶装置３３ｂは、上記コマンド抽出装置３２の抽出装置３２ａからの初めてのコマンド、言い換えると、プリンタ装置に１度でも出力したコマンドを記憶する。比較装置３３ａは、上記コマンド抽出装置３２の抽出装置３２ａからの問い合わせに対して、コマンド記憶装置３３ｂを検索し、同一のコマンドが既に記憶されているか否かの結果（格納済み、未格納）を得て、未格納である場合には、ＰＤＬコマンド生成装置３１のコマンド出力装置３１ｂに対して「有効」を通知する。また、格納済みである場合には、ＰＤＬコマンド生成装置３１のコマンド出力装置３１ｂに対して「無効」を通知する。
【００２２】
比較装置３３ａは、上記比較の結果、コマンド記憶装置３３ｂに存在しない場合には、該コマンドをパラメータとともに新規に記憶し、ＰＤＬコマンド生成装置３１に対して、このコマンドは、まだ発行されていないのでプリンタに送信すべきコマンド、つまり、有効なコマンドであることを通知する。一方、上記比較の結果、同一のコマンドとパラメータとが記憶されていた場合には、既にプリンタ装置に送信済みのコマンドであるため、無効なコマンドであることを通知する。したがって、ＰＤＬコマンド生成装置３１からは、有効なコマンドと判定されたコマンドだけがプリンタ装置に送信されることになる。
【００２３】
なお、上述したコマンド抽出装置３２では、ＰＤＬコマンド生成装置３１によって生成されたコマンドを判別することで、プリンタ装置に出力しなくてもよいコマンドを抽出していたが、これに代わりに、描画ライブラリ２から供給される描画指示を判別することで、プリンタ装置に出力しなくてもよいコマンドを抽出するようにしてもよい。この場合、該当する描画指示を検出した場合には、ＰＤＬコマンド生成装置でのＰＤＬコマンド生成自体を中止することで、データ量を削減する。
【００２４】
Ａ−２．第１実施形態の動作
次に、上述した第１実施形態の動作について説明する。
ユーザが、アプリケーション１上で編集した文書の印刷指示を行うと、アプリケーション１は、ホスト装置のオペレーティングシステムが持つ描画ライプラリ２に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ２は、描画指示を受けると、プリンタドライバ３０が提供しているファンクションを呼び出し、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターンなどの情報をセットにしてプリンタドライバ３０に送出する。プリンタドライバ３０では、ＰＤＬコマンド生成装置３１のコマンド生成装置３１ａにより、上記描画指示に従ってＰＤＬコマンドが生成される。
【００２５】
ここで、図３は、ホスト装置の動作を説明するためのフローチャートである。まず、ステップＳａ１で、コマンド抽出装置３２により抽出対象コマンド一覧３２ａを参照し、生成されたコマンドが特定のコマンドであるか否かを判断する。そして、特定のコマンドである場合には、ステップＳａ２で、比較装置３３ａによりコマンド記憶装置３３ｂから１つの格納済みコマンドを取り出し、ステップＳａ３で、同一のコマンドであるか否かを判断する。ここで、同一でなければ、ステップＳａ４で、格納済みコマンドの全てと比較したか否かを判断し、まだ比較していない格納済みコマンドがある場合には、ステップＳａ２に戻り、次の格納済みコマンドを取り出して比較するという処理を繰り返し実行する。
【００２６】
全ての格納済みコマンドとの比較が終了しても、同一のコマンドがなければ、ステップＳａ５で、生成されたコマンドを、コマンド記憶装置３３ｂに新規に登録依頼する。これにより、コマンド記憶装置３３ｂでは、上記コマンドが新たに記憶されることになる。次に、ステップＳａ６で、描画コマンドを作成し、ステップＳａ７で、プリンタ装置に出力する。一方、格納済みコマンドに一致する場合には、ステップＳａ６で描画コマンドを作成することなく、パラメータのみをプリンタ装置に出力する。例えば、図１に示す例では、プリンタ装置には、２個目の文字描画時に、書体指定のコマンドが省かれている。また、特定のコマンドでない場合は、プリンタ装置への出力を省略することができないので、ステップＳａ６で、描画コマンドを作成し、ステップＳａ７で、プリンタ装置に出力する。
【００２７】
Ｂ．第２実施形態
次に、本発明の第２実施形態について説明する。上述した第１実施形態では、他のコマンドの影響を受けないコマンドのみを、プリンタ装置に出力せずに省く対象としていたが、ネットワークのトラヒックを低減させるという目的においては、実際には、発行頻度の高いコマンドを削減することが重要である。しかしながら、そのようなコマンドが他のコマンドの影響を受けないコマンドであるかどうかは分からない。そこで、本第２実施形態では、他のコマンドからの影響を受ける特定のコマンドについても、無駄なコマンドであれば、プリンタ装置へ出力せずに、ネットワークのトラヒックを低減する方式を提供する。
【００２８】
第１実施形態で説明したように、１つのＰＤＬコマンドは、他のコマンド、もしくは、他のコマンドによって規定されたプリンタ装置の内部状態（描画属性）によって、その描画内容が異なってくる。言い換えると、プリンタ装置の内部状態が変わらなければ、同一のコマンドは同一の印刷結果をもたらす。そこで、発行されるコマンドを監視し、他のコマンドからの影響を受ける特定のコマンドが発行されると、それ以後、特定のコマンドに影響を与える他のコマンドが発行されないか否かを監視する。そして、上記特定のコマンドが再度発行されるまでに、上記他のコマンドが発行されなかった場合には、特定のコマンドがまだ有効であるため、再度発行された特定のコマンドをプリンタ装置に出力しないことにより、出力するデータ量を削減し、ネットワークのトラヒックを低減する。一方、所定のコマンドが再発行されるまでの間に、上記他のコマンドが発行された場合には、プリンタ装置に内部状態が変わっているので、再度発行された特定のコマンドをプリンタ装置に出力すればよい。
【００２９】
ここで、図４は、本第２実施形態によるホスト装置の一部構成を示すブロック図である。なお、図１に対応する部分には同一の符号を付けて説明を省略する。図において、抽出対象コマンド一覧４４は、前述した第１実施形態と同様に他の属性値によって左右されないコマンド、すなわち既にプリンタ装置へ出力すれば、プリンタ装置がリセット（リブート）されない限り有効状態が維持されるコマンドに加えて、他のコマンドの影響を受けるものの、上述した所定の条件の下では有効状態が維持される特定のコマンドの一覧を記憶する。また、抽出対象コマンド一覧４４は、コマンド毎に、コマンドのパラメータおよび該コマンドが出力済みであるか、未出力であるかを示すフラグを記憶するとともに、さらに、特定のコマンドに影響を与える他のコマンドを記憶する。
【００３０】
特定コマンド抽出装置４２は、ＰＤＬコマンド生成装置４１からのコマンドを監視し、上記抽出対象コマンド一覧４４を参照し、特定のコマンドを抽出し、フラグの状態により、出力済みであるか否かを判別する。初めての抽出コマンドであった場合には、抽出対象コマンド一覧４４のコマンドに対応するフラグを立てる。また、コマンド監視装置４３は、上記特定コマンド抽出装置４２により特定のコマンドが抽出された以後、抽出対象コマンド一覧４４を参照し、特定のコマンドに影響を与える他のコマンドが発行されないか否かを監視し、上記特定のコマンドが再度発行されるまでに、上記他のコマンドが発行されなかった場合には、再度発行された特定のコマンドをプリンタ装置に出力しないようにＰＤＬコマンド生成装置４１を制御する。一方、所定のコマンドが再発行されるまでの間に、上記他のコマンドが発行された場合には、再度発行された特定のコマンドをプリンタ装置に出力するようにＰＤＬコマンド生成装置４１を制御する。
【００３１】
例として、クリップ領域の指定コマンドを取り上げる。クリップ領域の指定コマンドは、クリップ領域を指定する座標値列のパラメータを持っている。そのため、座標系を変更するコマンドや、座標系を含む属性ページが初期化され、初期値に戻されたりした場合、前にクリップ領域が発行された時点での座標値列の解釈と、次のクリップ領域指定での座標列の解釈とが異なってしまう。したがって、クリップ領域の場合には、座標系のコマンドが途中に発行された場合には、前のクリップ領域のコマンドの記憶を破棄すればよい。このようにすれば、他のコマンドによって影響を受けるコマンドにおいても、無駄なコマンドを削減することが可能である。
【００３２】
Ｃ．第３実施形態
次に、本発明の第３実施形態について説明する。前述した第１実施形態では、、他のコマンドによる描画属性の変更の影響を受けないコマンド、つまり、完全に独立した特定のコマンドのみを、保存対象のコマンドとして定義することで、動作保証している。また、第２実施形態では、同じコマンドが連続する場合や、ある特定のコマンドに対象を絞り、そのコマンドに影響を与える他のコマンドを監視することで、他のコマンドの影響を受ける特定のコマンドについての解決方法を提案している。いずれの場合も、コマンドが少ない数であれば対応できるが、コマンド数が多くなると、対応が難しくなる。これに対して、本第３実施形態では、より多くのコマンドにおいても対応することができる方式を提供する。
【００３３】
本第３実施形態では、描画ライブラリ２から受け取った描画オブジェクトから、ＰＤＬコマンドを生成する際に、コマンドと関連する描画属性値をセットにして、記憶装置に格納し、コマンド比較の際には、この関連する描画属性も併せて比較することによって、コマンドの適用範囲を大幅に広げるようになっている。ここでのコマンドとは、図５に示すように、コマンド本体とコマンドのパラメータであり、描画属性とは、現在のプリンタ装置の内部状態を表わす描画のための属性値のことを指す。
【００３４】
Ｃ−１．第３実施形態の構成
ここで、図６は、本第３実施形態によるホスト装置の構成を示すブロック図である。なお、図１に対応する部分には同一の符号を付けて説明を省略する。図において、ＰＤＬコマンド生成装置５１は、描画ライブラリからの描画指示に従って、ＰＤＬコマンドを生成し、一旦、コマンド抽出装置５２に送出する。コマンド抽出装置５２は、後述するコマンド比較／記憶装置５４への格納対象となるコマンドを抽出するとともに、描画属性を変更するような種類のコマンドも抽出する。描画属性を変更するような種類のコマンドは、描画属性管理装置５３へ送出される。
【００３５】
また、コマンド抽出装置５２は、ＰＤＬコマンド生成装置５１からの検索要求に対して、コマンド比較／記憶装置５４に記憶されているコマンド群を参照し、生成されたコマンドが、コマンド比較／記憶装置５４に記憶すべき対象となるコマンドか否かを判別し、記憶対象となるべきコマンドでない場合は、ＰＤＬコマンド生成装置５１に対して「有効」を通知する一方、記憶対象となるべきコマンドであると判別された場合には、ＰＤＬコマンド生成装置５１に対して、「無効」を通知するとともに、このコマンドをそのバラメータと共にコマンド比較／記憶装置に通知する。
【００３６】
コマンド比較／記憶装置５４は、ＰＤＬコマンド生成装置５１で新たなコマンドが生成される度に、図５に示す形式で、該コマンドおよび描画属性を記憶するとともに、その旨を描画属性管理装置５３へ通知する。また、描画属性管理装置５３は、新たに供給される描画属性を、現在の描画属性値として記憶するとともに、コマンド比較／記憶装置５４に新たなコマンドが記憶される際には、その時点での描画属性値もセットで記憶する。
【００３７】
次に、上述したＰＤＬコマンド生成装置５１、コマンド抽出装置５２、描画属性管理装置５３およびコマンド比較／記憶装置５４についてより詳細に説明する。ここで、図７は、ＰＤＬコマンド生成装置５１、コマンド抽出装置５２、描画属性管理装置５３およびコマンド比較／記憶装置５４の機能を説明するためのブロック図である。ＰＤＬコマンド生成装置５１は、コマンド生成装置５１ａおよびコマンド出力装置５１ｂを備えている。コマンド生成装置５１ａは、描画ライブラリ２からの描画指示を受け、そのオブジェクトの内容を解釈して各プリンタ装置固有のＰＤＬコマンドを生成するとともに、生成したコマンドをプリンタ装置へ送出すべきであるか否かをコマンド抽出装置５２に問い合わせる。コマンド出力装置５２は、コマンド抽出装置５２、またはコマンド比較／記憶装置５４から「有効」であるとの通知を得た場合には、対象のコマンドをプリンタ装置へ出力する一方、コマンド比較／記憶装置５４から「無効」であるとの通知を得た場合には、対象となるコマンドをプリンタへ出力しない。
【００３８】
コマンド抽出装置５２は、抽出装置６０、抽出対象コマンド一覧６１および描画属性管理装置５３を備えている。抽出装置６０は、記憶対象コマンド判別部６０ａおよび描画属性コマンド抽出部６０ｂからなる。記憶対象コマンド判別部６０ａは、抽出対象となるコマンドの一覧を記憶する抽出対象コマンド一覧６１を参照し、ＰＤＬコマンド生成装置５１からのコマンドが、抽出対象となるコマンドか否かを判別し、抽出対象となるべきコマンドでない場合には、ＰＤＬコマンド生成装置５１のコマンド出力装置５１ｂに対して「有効」を通知する一方、このコマンドが抽出対象となるべきコマンドであると判別された場合には、コマンド比較／記憶装置５４のコマンド比較部７０ａに該コマンドをそのバラメータと共に通知する。また、描画属性コマンド抽出部６０ｂは、供給されるコマンドが、描画属性を設定するコマンドかどうかを判別し、描画属性を設定するコマンドであった場合には、描画属性管理装置５３にそのコマンドの描画属性値を設定する。この描画属性値は、コマンド比較／記憶装置５４の比較装置７０における描画属性比較に用いられる。
【００３９】
ここで、コマンド抽出装置５２において、記憶対象コマンド判別部６０ａと描画属性コマンド抽出部６０ｂの両方にコマンドを供給する理由について説明しておく。ＰＤＬのコマンドは、描画を実際に実施するコマンドと、描画属性を設定するコマンドとの２種類がある。今回、本第３実施形態では、この双方のＰＤＬコマンドに対して無駄な出力を削減しようとしている。したがって、記憶対象となるコマンドは、双方のコマンドであるため、まず、必ず全てのコマンドを、記憶対象コマンド判別部６０ａに送出する。一方、描画属性が設定／変更されたことを把握するために、描画属性コマンド抽出部６０ｂに対しても全てのコマンドを送る必要がある。
【００４０】
次に、コマンド比較／記憶装置５４は、比較装置７０およびコマンド記憶装置７１からなる。まず、比較装置７０は、コマンド比較部７０ａおよび描画属性比較部７０ｂからなる。コマンド比較部７０ａは、コマンド抽出装置５２の記憶対象コマンド判別部６０ａからのコマンドがコマンド記憶装置７１に既に記憶されているか否かを判別する。判別は、まず、コマンド部分から行われる。コマンドは、コマンド本体およびそのパラメータからなる。コマンド比較部７０ａは、これらをコマンド記憶装置７１に記憶されているエントリ１つ１つと比較し、記憶されているコマンドのいずれともと一致しない場合には、まだ発行されていないのでプリンタ装置に送信すべきコマンドである、つまり、このコマンドは出力しなければならない有効なコマンドであると判断し、コマンド出力装置に対して、「有効」であることを通知する。それと同時に、このコマンドは、コマンド記憶装置７１に記憶されていないので、新エントリとして記憶される。
【００４１】
一方、描画属性比較部７０ｂは、上記コマンド比較部７０ａにおいてコマンド本体およぴパラメータが一致するエントリがあった場合、該当コマンドの描画属性と、描画属性管理装置５３が管理している現在の描画属性値とを比較する。描画属性値は、コマンド記憶装置７１の描画属性部分に格納されており、対応するコマンドがプリンタ装置に出力された時点での描画属性値である。また、該描画属性値は、そのエントリのコマンドが影響を受ける描画属性のみである。したがって、描画属性の影響を受けない単独のコマンドの場合には、このエントリには何も格納されていないため、無条件で一致したとみなされる。描画属性比較部７０ｂは、比較の結果、描画属性値のすべてが一致した場合には、そのコマンドは出力する必要のないコマンドであると判断し、コマンド出力装置５１ｂに対して、「無効」であることを通知する。
【００４２】
また、描画属性比較部７０ｂは、描画属性値が一致しなかった場合には、そのエントリのコマンドは、プリンタ装置に出力された以降に関連する描画属性値が変化しており、記憶している意味がないと判断し、そのエントリの描画属性値を最新の描画属性で書き換えた上で、コマンド出力装置５１ｂに対して、このコマンドをプリンタ装置に出力しなければならないコマンド、すなわち「有効」であることを通知する。
【００４３】
また、コマンド記憶装置７１は、上記コマンド抽出装置５２の抽出装置６０からの初めてのコマンド、言い換えると、上述した比較の結果、記憶されているコマンドのいずれともと一致しない場合には、新規にパラメータとともに記憶する。
【００４４】
Ｃ−２．第３実施形態の動作
次に、上述した第３実施形態の動作について説明する。
ホスト装置では、ＤＴＰ文書などを編集するためのアプリケーション１が動作している。ユーザが、このアプリケーション１上で編集した文書の印刷指示を行うと、アプリケーション１は、ホスト装置のオペレーティングシステムが持つ描画ライプラリ２に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ２は、描画指示を受けると、プリンタドライバ５０が提供しているファンクションを呼び出し、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターンなどの情報をセットにしてプリンタドライバ５０に送出する。プリンタドライバ５０では、ＰＤＬコマンド生成装置５１のコマンド生成装置５１ａにより、上記描画指示に従ってＰＤＬコマンドを生成する。
【００４５】
ここで、図８は、第３実施形態による動作を説明するためのフローチャートである。まず、ステップＳｂ１で、描画ライブラリ２からの描画指示を受けて、描画属性コマンドであるか否かを判断し、描画属性コマンドである場合には、ステップＳｂ２で、現在の描画属性値と一致するか否かを判断し、現在の描画属性値と同一である場合には、コマンドを出力せずに終了する。一方、同一でない場合には、ステップＳｂ３で、描画属性管理装置５３に格納した後、ステップＳｂ１１で、当該コマンドおよび描画属性をプリンタ装置へ出力する。
【００４６】
一方、描画属性コマンドでない場合には、ステップＳｂ４で、特定のコマンドであるか否かを判断する。そして、特定のコマンドである場合には、ステップＳｂ５で、コマンド記憶装置７１から１つの格納済みコマンドと対応する描画属性とを取り出し、ステップＳｂ６で、同一のコマンドであるか否かを判断する。ここで、同一でなければ、ステップＳｂ７で、格納済みコマンドの全てと比較したか否かを判断し、まだ比較していない格納済みコマンドがある場合には、ステップＳｂ５に戻り、次の格納済みコマンドを取り出して比較するという処理を繰り返し実行する。
【００４７】
そして、全ての格納済みコマンドとの比較が終了しても、同一のコマンドがなければ、ステップＳｂ８で、コマンドと描画属性とを対にしてコマンド記憶装置７１に新規に登録する。これにより、コマンド記憶装置７１では、上記コマンドおよび描画属性を新たに記憶することになる。次に、ステップＳｂ１１で、上記コマンドおよび描画属性をプリンタ装置に出力する。
【００４８】
一方、格納済みコマンドに一致する場合には、ステップＳｂ９で、同一の描画属性であるか否かを判断し、同一の描画属性である場合には、そのコマンドは出力する必要のないコマンドであると判断し、当該処理を終了する。したがって、この場合、上記コマンドおよび描画属性は、プリンタ装置に出力されない。一方、コマンドが既にコマンド記憶装置７１に記憶されており、かつ同一の描画属性でない場合には、描画属性に変更が加えられるので、ステップＳｂ１０で、コマンド記憶装置７１に格納してある該当コマンドに対応する描画属性値を、上記コマンドの描画属性値に修正した後、ステップＳｂ１１で、上記コマンドおよび描画属性をプリンタ装置に出力する。
【００４９】
上述した処理により、ＰＤＬコマンド生成装置５１で生成された全てのコマンドに対して、プリンタ装置に出力する必要のあるコマンドであるか、必要のないコマンドかの判定を行うことができる。
【００５０】
なお、上述した第１ないし第３実施形態において、プリンタドライバを含むホスト装置側に一切の改造ができない場合には、プリンタ装置側に、コマンド抽出装置およびコマンド比較／記憶装置を備えるようにしてもよい。この場合、ネットワークのトラヒックを低減することはできないが、ホスト装置から供給されるＰＤＬコマンドを処理することによって、プリンタ装置の処理速度の向上を図ることが可能である。
【発明の効果】
以上、説明したように、この発明によれば、抽出手段により、描画指示から特定の描画指示を抽出し、判断手段により、新たに抽出された特定の描画指示が、既にプリンタ装置に出力したコマンドに対応する描画指示であるか否かを判断し、一度、プリンタ装置に送出した描画指示であった場合、前記コマンド生成手段は、前記判断手段により、既にプリンタ装置に出力したコマンドに対応する描画指示であると判断された場合、前記コマンド生成手段でのコマンドを生成しないようにするか、あるいは前記コマンド生成手段により生成したコマンドをプリンタ装置に出力しないようにするようにしたので、プリンタドライバ、もしくは、プリンタ装置のどちらか一方に改造を施すのみで、大幅な改造を施すことなく、プリンタ装置へ出力されるＰＤＬデータを大幅に削減することで、ネットワークのトラヒックを低減することができ、また、プリンタ装置においても処理するコマンド量が減るために処理速度を向上させることができるという利点が得られる。
【図面の簡単な説明】
【図１】  本発明の第１実施形態による印刷システムの構成を示すブロック図である。
【図２】  ＰＤＬコマンド生成装置、コマンド抽出装置およびコマンド比較／記憶装置の機能を説明するためのブロック図である。
【図３】  第１実施形態によるホスト装置の動作を説明するためのフローチャートである。
【図４】  本発明の第２実施形態による印刷システムの構成を示すブロック図である。
【図５】  コマンド記憶装置に記憶されるデータ構成を示す概念図である。
【図６】  本発明の第３実施形態による印刷システムの構成を示すブロック図である。
【図７】  ＰＤＬコマンド生成装置、コマンド抽出装置およびコマンド比較／記憶装置の機能を説明するためのブロック図である。
【図８】  第３実施形態による動作を説明するためのフローチャートである。
【図９】  従来技術による一般的なネットワーク上に配設された印刷システムの構成を示すブロック図である。
【図１０】  他の従来技術によるネットワーク上に配設された印刷システムの構成を示すブロック図である。
【符号の説明】
１  アプリケーション
２  描画ライブラリ
３０  プリンタドライバ
３１  ＰＤＬコマンド生成装置（コマンド生成手段）
３２  コマンド抽出装置（抽出手段）
３３  コマンド比較／記憶装置（判断手段、記憶手段、比較手段）
４  ネットワーク
３２ｂ  抽出対象コマンド一覧（抽出対象記憶手段）
４０  プリンタドライバ
４１  ＰＤＬコマンド生成装置（コマンド生成手段）
４２  特定コマンド抽出装置（抽出手段、判断手段、消去手段）
４３  コマンド監視装置（判断手段）
４４  抽出対象コマンド一覧（抽出対象記憶手段）
５０  プリンタドライバ
５１  ＰＤＬコマンド生成装置（コマンド生成手段）
５２  コマンド抽出装置（抽出手段）
５３  描画属性管理装置（描画属性管理手段）
５４  コマンド比較／記憶装置（判断手段、記憶手段、比較手段、書換手段）
６０  抽出装置（描画属性比較手段）
６０ａ  記憶対象コマンド判別部
６０ｂ  描画属性コマンド抽出部（描画属性比較手段）
６１  抽出対象コマンド一覧（抽出対象記憶手段）
【図１】
0003663957.tif 000002
【図２】
0003663957.tif 000003
【図３】
0003663957.tif 000004
【図４】
0003663957.tif 000005
【図５】
0003663957.tif 000006
【図６】
0003663957.tif 000007
【図７】
0003663957.tif 000008
【図８】
0003663957.tif 000009
【図９】
0003663957.tif 000010
【図１０】
0003663957.tif 000011