JP3663957B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP3663957B2 JP3663957B2 JP05459199A JP5459199A JP3663957B2 JP 3663957 B2 JP3663957 B2 JP 3663957B2 JP 05459199 A JP05459199 A JP 05459199A JP 5459199 A JP5459199 A JP 5459199A JP 3663957 B2 JP3663957 B2 JP 3663957B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- drawing instruction
- output
- printer
- extraction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、アプリケーションからの印刷指示に従ってプリンタ装置への印刷情報を生成する画像処理装置に関する。
【0002】
【従来の技術】
図9は、従来技術による一般的なネットワーク上に配設された印刷システムの構成を示すブロック図である。図において、アプリケーション1は、ホスト装置で動作するソフトウェアであり、アプリケーション1上でユーザにより印刷が指示されると、ホスト装置のオペレーティングシステムが持つ描画ライプラリ2に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ2は、印刷指示を受けると、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターン等の情報をセットにしてプリンタドライバ3に送出する。プリンタドライバ3は、上記描画指示(オブジェクト単位)を受けると、そのオブジェクトの内容を解釈して各プリンタ装置固有のPDLコマンドを生成し、そのコマンドをネットワーク4を介してプリンタ装置へ送出する。プリンタ装置では、デコンポーザ5により上記PDLコマンドを解釈し、ビットマップデータを作成して出力バッファ6に一旦格納し、図示しない画像形成装置により所定の用紙に画像を印刷して出力する。
【0003】
ところで、近年、プリンタ装置は、高速印刷、高解像度処理、カラー化など、著しい進化を遂げており、この結果、プリンタ装置の描画指示入力であるPDL(ページ記述言語)も複雑化し、また、PDLデータのデータ量も増大している。また、編集文書がカラー化すれば、それに応じてカラー対応のコマンドが必要となるのは当然であり、さらに、高解像度になれば、データ量も増大は避けられない。例えば、従来、白黒2値300dpiの解像度のラスター形式の画像データは、A4、1枚分でも、1Mバイト程度で済んでいる。これが600dpiになると、4Mバイトとなり、白黒8bitになれば、32Mバイト、カラー化すれば128Mバイトもの大容量データとなる。
【0004】
一方、プリンタ装置の高速印刷を実現するためには、1ページあたりの処理時間を高速化しなければならない。例えば、40ppmの印刷を可能にするためには、平均1.5秒の間に1ページ分のPDLデータの処理を行わなければならない。この実現のためには、ホスト装置、ネットワーク、プリンタ装置などすべての構成要素に対して高速化が実現されなければならない。しかしながら、ホスト装置で作成されたPDLデータをネットワーク4を介してプリンタ装置が受信することを考えると、128MBytesものデータを転送するだけで非常に時間がかかってしまう。すなわち、PDLデータだけで128MBytesとなってしまうと、ネットワーク4での転送時間だけで目標値を超えてしまうという問題がある。
【0005】
そこで、例えば、特開平2−8069では、パターン図形の効率的な描画を実現するためのホストコンピュータとプリンタ装置とからなるシステムを開示している。ここで、図10は、上記従来技術による印刷システムの構成を示すブロック図である。なお、図9に対応する部分には同一の符号を付けて説明を省略する。該従来技術では、使用する頻度の高いパターン図形をプリンタ装置のパターン管理装置12aに予め登録しておき、同一のパターン図形を使用して描画する際には、既に登録してあるパターン図形をlDで指定して描画を指示する。プリンタ装置側では、デコンポーザ12のパターン管理装置12aから上記IDに対応するパターン図形を読み出し、該パターン図形を描画処理装置12bで描画して出力バッファ6に格納する。これにより、パターン図形の描画において、その度にパターン図形本体を描画データとして転送する必要をなくし、データ量の削減を図ることを可能としている。
【0006】
【発明が解決しようとする課題】
ところで、従来技術(特開平2−8069)では、複数のデータを予め登録した上で切り替えて使用できるような特定のコマンドにしか改善効果はなく、また、プリンタ装置側にもパターン登録専用の処理機構として、パターン管理装置12aなどが必要となる。さらに、ホスト装置側にも、描画するパターン図形をlDによって管理し、登録を行う機構およぴlDによる指定などの指示を行う機構として、パターンデータ管理装置10aなどが必要となる。
【0007】
また、このような描画処理機構をホスト装置上で行う処理は、一般に、ユーザが変更することが難しいOS(オペレーティングシステム)上の描画ライブラリで実現される場合が多く、OSがこのような機構を予め持っていない場合には、このシステムを実現することは難しい。したがって、従来技術では、非常に限定された状況でしか効果がなく、しかも、ホスト装置とプリンタ装置との双方に改良を加えなければならず、改造も広範囲に及ぶという問題がある。
【0008】
この発明は上述した事情に鑑みてなされたもので、比較的簡単な構成変更だけで、ネットワークを転送されるデータ量を削減することができる画像処理装置を提供することを目的としている。
【0009】
【課題を解決するための手段】
上述した問題点を解決するために、請求項1記載の発明では、描画指示からプリンタ装置用のコマンドを生成するコマンド生成手段と、描画指示から、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第1の描画指示、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受ける描画指示のうちで予め定められた第2の描画指示を抽出する抽出手段と、前記抽出手段により新たに抽出された前記第1または前記第2の描画指示が、既にプリンタ装置へ出力したコマンドに対応する描画指示であるか否かを判断する第1の判断手段と、前記抽出手段により新たに抽出された描画指示が、前記第2の描画指示であり、かつ、その描画指示に対応するコマンドをプリンタ装置へ出力済みであると前記第1の判断手段により判断された場合に、そのコマンドの実行結果に影響を与えるコマンドをそのコマンドを出力した後に出力したか否かを判断する第2の判断手段と、を具備し、前記コマンド生成手段は、前記抽出手段により新たに抽出された描画指示が、前記第1の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第1の判断手段により判断された場合には、その描画指示からのコマンド生成を中止し、前記抽出手段により新たに抽出された描画指示が、前記第2の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第1の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと前記第2の判断手段により判断された場合に、その描画指示からのコマンド生成を中止することを特徴とする。
【0010】
この発明によれば、抽出手段により上記第1または上記第2の描画指示を抽出し、新たに抽出された第1の描画指示については、その描画指示に対応するコマンドを出力済みであると上記第1の判断手段により判断された場合には、その描画指示からのコマンド生成が中止され、新たに抽出された第2の描画指示については、その描画指示に対応するコマンドを出力済みであると上記第1の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと上記第2の判断手段により判断された場合に、その描画指示からのコマンド生成が中止される。したがって、有効なコマンドと判定されたコマンドだけがプリンタ装置に出力されるので、比較的簡単な構成変更だけで、ネットワークを転送されるデータ量を削減することが可能になる。
【0011】
【発明の実施の形態】
次に図面を参照してこの発明の実施形態について説明する。
A.第1実施形態
A−1.第1実施形態の構成
図1は、本発明の第1実施形態による印刷システムの構成を示すブロック図である。図において、ホスト装置上には、DTP文書などを編集するためのアプリケーション1が動作している。アプリケーション1は、ユーザにより印刷が指示されると、ホスト装置のオペレーティングシステムが持つ描画ライプラリ2に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ2は、描画指示を受けると、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターン等の情報をセットにしてプリンタドライバ30に送出する。描画オブジェクトは、例えば、文字描画の場合、書体情報、描画開始位置、文字の大きさ、文字列データなど、文字列を描画するための複数の情報を1つにまとめたデータである。また、該描画オブジェクトは、例えば、異なる複数の文字列を描画する場合、どのオブジェクトにもすべて添付される。
【0012】
プリンタドライバ30は、PDLコマンド生成装置31、コマンド抽出装置32、およびコマンド比較/記憶装置33からなる。PDLコマンド生成装置31は、上記描画指示(オブジェクト単位)を受けると、そのオブジェクトの内容を解釈して各プリンタ装置固有のPDLコマンドを生成するとともに、生成したコマンドをプリンタ装置へ送出すべきであるか否かをコマンド抽出装置32に問い合わせ、「無効」であるとの応答を得た場合には、そのコマンドを送出せず、「有効」であるとの応答を得た場合にのみ、そのコマンドをプリンタ装置へ送出する。
【0013】
ここで、PDLコマンドについて説明する。PDLコマンドは、一般に、1つのコマンドが1つの属性値を規定するか、もしくは、描画を実行する実行コマンドのように、1つのコマンドの機能が限られている場合が多い。例えば、上述した文字列出力の場合、PDLコマンドは、書体指定コマンド、描画開始位置指定コマンド、文字の大きさ指定コマンド、文字列描画コマンドなどのような複数のコマンドに分割される。
【0014】
ところで、上述したように描画ライブラリから送られてきたオブジェクトは、オブジェクト1つ1つに、すべて必要な属性値が設定されているため、該オブジェクトを単純に分解してPDLコマンドを生成して出力するようなPDLコマンド生成装置では、不必要な描画コマンドが多数送信される可能性がある。例えば、図示するオブジェクト(1)とオブジェクト(2)が両方とも文字列描画を指示するものとして、両方とも、同じ書体を使用する場合には(図示の例では、両方とも「Courier」)、オブジェクト(1)によって生成されたPDLコマンドを一度すべて送信してしまえば、オブジェクト(2)については、書体指定のコマンドを発行する必要がない。本発明は、このように不要なコマンドを省く方法について提案するものである。
【0015】
コマンド抽出装置32は、PDLコマンド生成装置31からの問い合わせに対して、生成されたコマンドが、他の属性値によって左右されないコマンドであるか否かを判別し、左右されないコマンドであれば、保存の対象として抽出し、コマンド比較/記憶装置33に供給する一方、当該コマンドが既に発行されたコマンドであるという検索結果がコマンド比較/記憶装置33から供給された場合には、PDLコマンド生成装置31に対して、「無効」を通知し、発行されていないコマンドである場合には、「有効」を通知する。
【0016】
上述したように、過去に発行したコマンドをプリンタ装置に出力しないようにするには、過去に発行したコマンドを記憶しておき、新しくコマンドを発行する際に、そのコマンドが既に発行されたコマンドであるか否かを判断すればよい。但し、すべてのコマンドについて、この方法が適用できるとは限らない。すなわち、書体指定のコマンドなどについては、どんなに前に指定されたものであっても、プリンタ装置がリセットされない限り有効であるが、矩形描画コマンドなどの描画実行コマンドのほとんどは、このままでは適用できない。描画実行は、属性設定コマンドによって設定された属性値を参照しながら描画が実行されるため、過去に発行された描画実行コマンドと同一の描画実行コマンドを発見しても、その時の描画属性が異なれば、描画の内容が異なるためである。上記コマンド抽出装置32では、他の属性値によって左右されないコマンドであるか否かを判別することで、抽出対象のコマンドであるか否かを判断している。
【0017】
このように、本第1実施形態では、コマンド抽出装置32において、上述したように、適用できるコマンドと、適用できないコマンドとがあることを考慮し、対象となるPDLコマンドが抽出された時のみ、そのコマンドを記憶しておくことによって、問題を解決するものである。例えば、書体指定のコマンドは、他の属性値によって左右されないコマンドであるため、コマンド抽出装置32は、このコマンドを保存の対象として抽出し、コマンド比較/記憶装置33に送る。
【0018】
コマンド比較/記憶装置33は、上記コマンド抽出装置32からコマンドが供給されると、記憶しているコマンドと比較し、初めてのコマンドである場合には、そのコマンドを記憶するとともに、既に記憶しているコマンドであるか否かを示す検索結果を上記コマンド抽出装置32に供給する。このとき、コマンド比較/記憶装置33は、書体指定コマンドのように、書体lDなどのパラメータを持っている場合には、コマンドの名称だけでなく、パラメータも一緒に記憶するとともに、比較する場合には、バラメ一タも合わせて比較する。また、1つのジョブの終了時など、ジョブ内で記憶したコマンドが有効でなくなった場合には、記憶領域をすべて消去する。
【0019】
次に、上述したPDLコマンド生成装置31、コマンド抽出装置32およびコマンド比較/記憶装置33についてより詳細に説明する。ここで、図2は、PDLコマンド生成装置、コマンド抽出装置およびコマンド比較/記憶装置の機能を説明するためのブロック図である。PDLコマンド生成装置31は、コマンド生成装置31aおよびコマンド出力装置31bを備えている。コマンド生成装置31aは、描画ライブラリ2からの描画指示を受け、そのオブジェクトの内容を解釈して各プリンタ装置固有のPDLコマンドを生成するとともに、生成したコマンドをプリンタ装置へ送出すべきであるか否かをコマンド抽出装置32に問い合わせる。コマンド出力装置31bは、コマンド抽出装置32、またはコマンド比較/記憶装置33から「有効」であるとの通知を得た場合には、対象のコマンドをプリンタ装置へ出力する一方、コマンド比較/記憶装置33から「無効」であるとの通知を得た場合には、対象となるコマンドをプリンタへ出力しない。
【0020】
コマンド抽出装置32は、抽出装置32aおよび抽出対象コマンド一覧32bを備えている。抽出対象コマンド一覧32bには、他の属性値によって左右されないコマンド、すなわち一度プリンタ装置へ出力すれば、プリンタ装置がリセット(リブート)されない限り有効状態が維持されるコマンドの一覧を記憶する。抽出装置32aは、上記PDLコマンド生成装置31のコマンド生成装置31aからの問い合わせに対して、抽出対象コマンド一覧32bを検索し、同一のコマンドが記憶されているか否かの結果を得て、抽出対象でないコマンドであると判別された場合には、PDLコマンド生成装置31のコマンド出力装置31bに対して「有効」を通知する。また、抽出対象のコマンドであると判別された場合には、コマンド比較/記憶装置33にコマンドを送出するとともに問い合わせる。
【0021】
コマンド比較/記憶装置33は、比較装置33aおよびコマンド記憶装置33bを備えている。コマンド記憶装置33bは、上記コマンド抽出装置32の抽出装置32aからの初めてのコマンド、言い換えると、プリンタ装置に1度でも出力したコマンドを記憶する。比較装置33aは、上記コマンド抽出装置32の抽出装置32aからの問い合わせに対して、コマンド記憶装置33bを検索し、同一のコマンドが既に記憶されているか否かの結果(格納済み、未格納)を得て、未格納である場合には、PDLコマンド生成装置31のコマンド出力装置31bに対して「有効」を通知する。また、格納済みである場合には、PDLコマンド生成装置31のコマンド出力装置31bに対して「無効」を通知する。
【0022】
比較装置33aは、上記比較の結果、コマンド記憶装置33bに存在しない場合には、該コマンドをパラメータとともに新規に記憶し、PDLコマンド生成装置31に対して、このコマンドは、まだ発行されていないのでプリンタに送信すべきコマンド、つまり、有効なコマンドであることを通知する。一方、上記比較の結果、同一のコマンドとパラメータとが記憶されていた場合には、既にプリンタ装置に送信済みのコマンドであるため、無効なコマンドであることを通知する。したがって、PDLコマンド生成装置31からは、有効なコマンドと判定されたコマンドだけがプリンタ装置に送信されることになる。
【0023】
なお、上述したコマンド抽出装置32では、PDLコマンド生成装置31によって生成されたコマンドを判別することで、プリンタ装置に出力しなくてもよいコマンドを抽出していたが、これに代わりに、描画ライブラリ2から供給される描画指示を判別することで、プリンタ装置に出力しなくてもよいコマンドを抽出するようにしてもよい。この場合、該当する描画指示を検出した場合には、PDLコマンド生成装置でのPDLコマンド生成自体を中止することで、データ量を削減する。
【0024】
A−2.第1実施形態の動作
次に、上述した第1実施形態の動作について説明する。
ユーザが、アプリケーション1上で編集した文書の印刷指示を行うと、アプリケーション1は、ホスト装置のオペレーティングシステムが持つ描画ライプラリ2に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ2は、描画指示を受けると、プリンタドライバ30が提供しているファンクションを呼び出し、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターンなどの情報をセットにしてプリンタドライバ30に送出する。プリンタドライバ30では、PDLコマンド生成装置31のコマンド生成装置31aにより、上記描画指示に従ってPDLコマンドが生成される。
【0025】
ここで、図3は、ホスト装置の動作を説明するためのフローチャートである。まず、ステップSa1で、コマンド抽出装置32により抽出対象コマンド一覧32aを参照し、生成されたコマンドが特定のコマンドであるか否かを判断する。そして、特定のコマンドである場合には、ステップSa2で、比較装置33aによりコマンド記憶装置33bから1つの格納済みコマンドを取り出し、ステップSa3で、同一のコマンドであるか否かを判断する。ここで、同一でなければ、ステップSa4で、格納済みコマンドの全てと比較したか否かを判断し、まだ比較していない格納済みコマンドがある場合には、ステップSa2に戻り、次の格納済みコマンドを取り出して比較するという処理を繰り返し実行する。
【0026】
全ての格納済みコマンドとの比較が終了しても、同一のコマンドがなければ、ステップSa5で、生成されたコマンドを、コマンド記憶装置33bに新規に登録依頼する。これにより、コマンド記憶装置33bでは、上記コマンドが新たに記憶されることになる。次に、ステップSa6で、描画コマンドを作成し、ステップSa7で、プリンタ装置に出力する。一方、格納済みコマンドに一致する場合には、ステップSa6で描画コマンドを作成することなく、パラメータのみをプリンタ装置に出力する。例えば、図1に示す例では、プリンタ装置には、2個目の文字描画時に、書体指定のコマンドが省かれている。また、特定のコマンドでない場合は、プリンタ装置への出力を省略することができないので、ステップSa6で、描画コマンドを作成し、ステップSa7で、プリンタ装置に出力する。
【0027】
B.第2実施形態
次に、本発明の第2実施形態について説明する。上述した第1実施形態では、他のコマンドの影響を受けないコマンドのみを、プリンタ装置に出力せずに省く対象としていたが、ネットワークのトラヒックを低減させるという目的においては、実際には、発行頻度の高いコマンドを削減することが重要である。しかしながら、そのようなコマンドが他のコマンドの影響を受けないコマンドであるかどうかは分からない。そこで、本第2実施形態では、他のコマンドからの影響を受ける特定のコマンドについても、無駄なコマンドであれば、プリンタ装置へ出力せずに、ネットワークのトラヒックを低減する方式を提供する。
【0028】
第1実施形態で説明したように、1つのPDLコマンドは、他のコマンド、もしくは、他のコマンドによって規定されたプリンタ装置の内部状態(描画属性)によって、その描画内容が異なってくる。言い換えると、プリンタ装置の内部状態が変わらなければ、同一のコマンドは同一の印刷結果をもたらす。そこで、発行されるコマンドを監視し、他のコマンドからの影響を受ける特定のコマンドが発行されると、それ以後、特定のコマンドに影響を与える他のコマンドが発行されないか否かを監視する。そして、上記特定のコマンドが再度発行されるまでに、上記他のコマンドが発行されなかった場合には、特定のコマンドがまだ有効であるため、再度発行された特定のコマンドをプリンタ装置に出力しないことにより、出力するデータ量を削減し、ネットワークのトラヒックを低減する。一方、所定のコマンドが再発行されるまでの間に、上記他のコマンドが発行された場合には、プリンタ装置に内部状態が変わっているので、再度発行された特定のコマンドをプリンタ装置に出力すればよい。
【0029】
ここで、図4は、本第2実施形態によるホスト装置の一部構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けて説明を省略する。図において、抽出対象コマンド一覧44は、前述した第1実施形態と同様に他の属性値によって左右されないコマンド、すなわち既にプリンタ装置へ出力すれば、プリンタ装置がリセット(リブート)されない限り有効状態が維持されるコマンドに加えて、他のコマンドの影響を受けるものの、上述した所定の条件の下では有効状態が維持される特定のコマンドの一覧を記憶する。また、抽出対象コマンド一覧44は、コマンド毎に、コマンドのパラメータおよび該コマンドが出力済みであるか、未出力であるかを示すフラグを記憶するとともに、さらに、特定のコマンドに影響を与える他のコマンドを記憶する。
【0030】
特定コマンド抽出装置42は、PDLコマンド生成装置41からのコマンドを監視し、上記抽出対象コマンド一覧44を参照し、特定のコマンドを抽出し、フラグの状態により、出力済みであるか否かを判別する。初めての抽出コマンドであった場合には、抽出対象コマンド一覧44のコマンドに対応するフラグを立てる。また、コマンド監視装置43は、上記特定コマンド抽出装置42により特定のコマンドが抽出された以後、抽出対象コマンド一覧44を参照し、特定のコマンドに影響を与える他のコマンドが発行されないか否かを監視し、上記特定のコマンドが再度発行されるまでに、上記他のコマンドが発行されなかった場合には、再度発行された特定のコマンドをプリンタ装置に出力しないようにPDLコマンド生成装置41を制御する。一方、所定のコマンドが再発行されるまでの間に、上記他のコマンドが発行された場合には、再度発行された特定のコマンドをプリンタ装置に出力するようにPDLコマンド生成装置41を制御する。
【0031】
例として、クリップ領域の指定コマンドを取り上げる。クリップ領域の指定コマンドは、クリップ領域を指定する座標値列のパラメータを持っている。そのため、座標系を変更するコマンドや、座標系を含む属性ページが初期化され、初期値に戻されたりした場合、前にクリップ領域が発行された時点での座標値列の解釈と、次のクリップ領域指定での座標列の解釈とが異なってしまう。したがって、クリップ領域の場合には、座標系のコマンドが途中に発行された場合には、前のクリップ領域のコマンドの記憶を破棄すればよい。このようにすれば、他のコマンドによって影響を受けるコマンドにおいても、無駄なコマンドを削減することが可能である。
【0032】
C.第3実施形態
次に、本発明の第3実施形態について説明する。前述した第1実施形態では、、他のコマンドによる描画属性の変更の影響を受けないコマンド、つまり、完全に独立した特定のコマンドのみを、保存対象のコマンドとして定義することで、動作保証している。また、第2実施形態では、同じコマンドが連続する場合や、ある特定のコマンドに対象を絞り、そのコマンドに影響を与える他のコマンドを監視することで、他のコマンドの影響を受ける特定のコマンドについての解決方法を提案している。いずれの場合も、コマンドが少ない数であれば対応できるが、コマンド数が多くなると、対応が難しくなる。これに対して、本第3実施形態では、より多くのコマンドにおいても対応することができる方式を提供する。
【0033】
本第3実施形態では、描画ライブラリ2から受け取った描画オブジェクトから、PDLコマンドを生成する際に、コマンドと関連する描画属性値をセットにして、記憶装置に格納し、コマンド比較の際には、この関連する描画属性も併せて比較することによって、コマンドの適用範囲を大幅に広げるようになっている。ここでのコマンドとは、図5に示すように、コマンド本体とコマンドのパラメータであり、描画属性とは、現在のプリンタ装置の内部状態を表わす描画のための属性値のことを指す。
【0034】
C−1.第3実施形態の構成
ここで、図6は、本第3実施形態によるホスト装置の構成を示すブロック図である。なお、図1に対応する部分には同一の符号を付けて説明を省略する。図において、PDLコマンド生成装置51は、描画ライブラリからの描画指示に従って、PDLコマンドを生成し、一旦、コマンド抽出装置52に送出する。コマンド抽出装置52は、後述するコマンド比較/記憶装置54への格納対象となるコマンドを抽出するとともに、描画属性を変更するような種類のコマンドも抽出する。描画属性を変更するような種類のコマンドは、描画属性管理装置53へ送出される。
【0035】
また、コマンド抽出装置52は、PDLコマンド生成装置51からの検索要求に対して、コマンド比較/記憶装置54に記憶されているコマンド群を参照し、生成されたコマンドが、コマンド比較/記憶装置54に記憶すべき対象となるコマンドか否かを判別し、記憶対象となるべきコマンドでない場合は、PDLコマンド生成装置51に対して「有効」を通知する一方、記憶対象となるべきコマンドであると判別された場合には、PDLコマンド生成装置51に対して、「無効」を通知するとともに、このコマンドをそのバラメータと共にコマンド比較/記憶装置に通知する。
【0036】
コマンド比較/記憶装置54は、PDLコマンド生成装置51で新たなコマンドが生成される度に、図5に示す形式で、該コマンドおよび描画属性を記憶するとともに、その旨を描画属性管理装置53へ通知する。また、描画属性管理装置53は、新たに供給される描画属性を、現在の描画属性値として記憶するとともに、コマンド比較/記憶装置54に新たなコマンドが記憶される際には、その時点での描画属性値もセットで記憶する。
【0037】
次に、上述したPDLコマンド生成装置51、コマンド抽出装置52、描画属性管理装置53およびコマンド比較/記憶装置54についてより詳細に説明する。ここで、図7は、PDLコマンド生成装置51、コマンド抽出装置52、描画属性管理装置53およびコマンド比較/記憶装置54の機能を説明するためのブロック図である。PDLコマンド生成装置51は、コマンド生成装置51aおよびコマンド出力装置51bを備えている。コマンド生成装置51aは、描画ライブラリ2からの描画指示を受け、そのオブジェクトの内容を解釈して各プリンタ装置固有のPDLコマンドを生成するとともに、生成したコマンドをプリンタ装置へ送出すべきであるか否かをコマンド抽出装置52に問い合わせる。コマンド出力装置52は、コマンド抽出装置52、またはコマンド比較/記憶装置54から「有効」であるとの通知を得た場合には、対象のコマンドをプリンタ装置へ出力する一方、コマンド比較/記憶装置54から「無効」であるとの通知を得た場合には、対象となるコマンドをプリンタへ出力しない。
【0038】
コマンド抽出装置52は、抽出装置60、抽出対象コマンド一覧61および描画属性管理装置53を備えている。抽出装置60は、記憶対象コマンド判別部60aおよび描画属性コマンド抽出部60bからなる。記憶対象コマンド判別部60aは、抽出対象となるコマンドの一覧を記憶する抽出対象コマンド一覧61を参照し、PDLコマンド生成装置51からのコマンドが、抽出対象となるコマンドか否かを判別し、抽出対象となるべきコマンドでない場合には、PDLコマンド生成装置51のコマンド出力装置51bに対して「有効」を通知する一方、このコマンドが抽出対象となるべきコマンドであると判別された場合には、コマンド比較/記憶装置54のコマンド比較部70aに該コマンドをそのバラメータと共に通知する。また、描画属性コマンド抽出部60bは、供給されるコマンドが、描画属性を設定するコマンドかどうかを判別し、描画属性を設定するコマンドであった場合には、描画属性管理装置53にそのコマンドの描画属性値を設定する。この描画属性値は、コマンド比較/記憶装置54の比較装置70における描画属性比較に用いられる。
【0039】
ここで、コマンド抽出装置52において、記憶対象コマンド判別部60aと描画属性コマンド抽出部60bの両方にコマンドを供給する理由について説明しておく。PDLのコマンドは、描画を実際に実施するコマンドと、描画属性を設定するコマンドとの2種類がある。今回、本第3実施形態では、この双方のPDLコマンドに対して無駄な出力を削減しようとしている。したがって、記憶対象となるコマンドは、双方のコマンドであるため、まず、必ず全てのコマンドを、記憶対象コマンド判別部60aに送出する。一方、描画属性が設定/変更されたことを把握するために、描画属性コマンド抽出部60bに対しても全てのコマンドを送る必要がある。
【0040】
次に、コマンド比較/記憶装置54は、比較装置70およびコマンド記憶装置71からなる。まず、比較装置70は、コマンド比較部70aおよび描画属性比較部70bからなる。コマンド比較部70aは、コマンド抽出装置52の記憶対象コマンド判別部60aからのコマンドがコマンド記憶装置71に既に記憶されているか否かを判別する。判別は、まず、コマンド部分から行われる。コマンドは、コマンド本体およびそのパラメータからなる。コマンド比較部70aは、これらをコマンド記憶装置71に記憶されているエントリ1つ1つと比較し、記憶されているコマンドのいずれともと一致しない場合には、まだ発行されていないのでプリンタ装置に送信すべきコマンドである、つまり、このコマンドは出力しなければならない有効なコマンドであると判断し、コマンド出力装置に対して、「有効」であることを通知する。それと同時に、このコマンドは、コマンド記憶装置71に記憶されていないので、新エントリとして記憶される。
【0041】
一方、描画属性比較部70bは、上記コマンド比較部70aにおいてコマンド本体およぴパラメータが一致するエントリがあった場合、該当コマンドの描画属性と、描画属性管理装置53が管理している現在の描画属性値とを比較する。描画属性値は、コマンド記憶装置71の描画属性部分に格納されており、対応するコマンドがプリンタ装置に出力された時点での描画属性値である。また、該描画属性値は、そのエントリのコマンドが影響を受ける描画属性のみである。したがって、描画属性の影響を受けない単独のコマンドの場合には、このエントリには何も格納されていないため、無条件で一致したとみなされる。描画属性比較部70bは、比較の結果、描画属性値のすべてが一致した場合には、そのコマンドは出力する必要のないコマンドであると判断し、コマンド出力装置51bに対して、「無効」であることを通知する。
【0042】
また、描画属性比較部70bは、描画属性値が一致しなかった場合には、そのエントリのコマンドは、プリンタ装置に出力された以降に関連する描画属性値が変化しており、記憶している意味がないと判断し、そのエントリの描画属性値を最新の描画属性で書き換えた上で、コマンド出力装置51bに対して、このコマンドをプリンタ装置に出力しなければならないコマンド、すなわち「有効」であることを通知する。
【0043】
また、コマンド記憶装置71は、上記コマンド抽出装置52の抽出装置60からの初めてのコマンド、言い換えると、上述した比較の結果、記憶されているコマンドのいずれともと一致しない場合には、新規にパラメータとともに記憶する。
【0044】
C−2.第3実施形態の動作
次に、上述した第3実施形態の動作について説明する。
ホスト装置では、DTP文書などを編集するためのアプリケーション1が動作している。ユーザが、このアプリケーション1上で編集した文書の印刷指示を行うと、アプリケーション1は、ホスト装置のオペレーティングシステムが持つ描画ライプラリ2に対して、ユーザが編集した文書の内容に従って描画指示を行う。描画ライブラリ2は、描画指示を受けると、プリンタドライバ50が提供しているファンクションを呼び出し、描画オブジェクトという形式で、描画位置、描画図形、塗潰しパターンなどの情報をセットにしてプリンタドライバ50に送出する。プリンタドライバ50では、PDLコマンド生成装置51のコマンド生成装置51aにより、上記描画指示に従ってPDLコマンドを生成する。
【0045】
ここで、図8は、第3実施形態による動作を説明するためのフローチャートである。まず、ステップSb1で、描画ライブラリ2からの描画指示を受けて、描画属性コマンドであるか否かを判断し、描画属性コマンドである場合には、ステップSb2で、現在の描画属性値と一致するか否かを判断し、現在の描画属性値と同一である場合には、コマンドを出力せずに終了する。一方、同一でない場合には、ステップSb3で、描画属性管理装置53に格納した後、ステップSb11で、当該コマンドおよび描画属性をプリンタ装置へ出力する。
【0046】
一方、描画属性コマンドでない場合には、ステップSb4で、特定のコマンドであるか否かを判断する。そして、特定のコマンドである場合には、ステップSb5で、コマンド記憶装置71から1つの格納済みコマンドと対応する描画属性とを取り出し、ステップSb6で、同一のコマンドであるか否かを判断する。ここで、同一でなければ、ステップSb7で、格納済みコマンドの全てと比較したか否かを判断し、まだ比較していない格納済みコマンドがある場合には、ステップSb5に戻り、次の格納済みコマンドを取り出して比較するという処理を繰り返し実行する。
【0047】
そして、全ての格納済みコマンドとの比較が終了しても、同一のコマンドがなければ、ステップSb8で、コマンドと描画属性とを対にしてコマンド記憶装置71に新規に登録する。これにより、コマンド記憶装置71では、上記コマンドおよび描画属性を新たに記憶することになる。次に、ステップSb11で、上記コマンドおよび描画属性をプリンタ装置に出力する。
【0048】
一方、格納済みコマンドに一致する場合には、ステップSb9で、同一の描画属性であるか否かを判断し、同一の描画属性である場合には、そのコマンドは出力する必要のないコマンドであると判断し、当該処理を終了する。したがって、この場合、上記コマンドおよび描画属性は、プリンタ装置に出力されない。一方、コマンドが既にコマンド記憶装置71に記憶されており、かつ同一の描画属性でない場合には、描画属性に変更が加えられるので、ステップSb10で、コマンド記憶装置71に格納してある該当コマンドに対応する描画属性値を、上記コマンドの描画属性値に修正した後、ステップSb11で、上記コマンドおよび描画属性をプリンタ装置に出力する。
【0049】
上述した処理により、PDLコマンド生成装置51で生成された全てのコマンドに対して、プリンタ装置に出力する必要のあるコマンドであるか、必要のないコマンドかの判定を行うことができる。
【0050】
なお、上述した第1ないし第3実施形態において、プリンタドライバを含むホスト装置側に一切の改造ができない場合には、プリンタ装置側に、コマンド抽出装置およびコマンド比較/記憶装置を備えるようにしてもよい。この場合、ネットワークのトラヒックを低減することはできないが、ホスト装置から供給されるPDLコマンドを処理することによって、プリンタ装置の処理速度の向上を図ることが可能である。
【発明の効果】
以上、説明したように、この発明によれば、抽出手段により、描画指示から特定の描画指示を抽出し、判断手段により、新たに抽出された特定の描画指示が、既にプリンタ装置に出力したコマンドに対応する描画指示であるか否かを判断し、一度、プリンタ装置に送出した描画指示であった場合、前記コマンド生成手段は、前記判断手段により、既にプリンタ装置に出力したコマンドに対応する描画指示であると判断された場合、前記コマンド生成手段でのコマンドを生成しないようにするか、あるいは前記コマンド生成手段により生成したコマンドをプリンタ装置に出力しないようにするようにしたので、プリンタドライバ、もしくは、プリンタ装置のどちらか一方に改造を施すのみで、大幅な改造を施すことなく、プリンタ装置へ出力されるPDLデータを大幅に削減することで、ネットワークのトラヒックを低減することができ、また、プリンタ装置においても処理するコマンド量が減るために処理速度を向上させることができるという利点が得られる。
【図面の簡単な説明】
【図1】 本発明の第1実施形態による印刷システムの構成を示すブロック図である。
【図2】 PDLコマンド生成装置、コマンド抽出装置およびコマンド比較/記憶装置の機能を説明するためのブロック図である。
【図3】 第1実施形態によるホスト装置の動作を説明するためのフローチャートである。
【図4】 本発明の第2実施形態による印刷システムの構成を示すブロック図である。
【図5】 コマンド記憶装置に記憶されるデータ構成を示す概念図である。
【図6】 本発明の第3実施形態による印刷システムの構成を示すブロック図である。
【図7】 PDLコマンド生成装置、コマンド抽出装置およびコマンド比較/記憶装置の機能を説明するためのブロック図である。
【図8】 第3実施形態による動作を説明するためのフローチャートである。
【図9】 従来技術による一般的なネットワーク上に配設された印刷システムの構成を示すブロック図である。
【図10】 他の従来技術によるネットワーク上に配設された印刷システムの構成を示すブロック図である。
【符号の説明】
1 アプリケーション
2 描画ライブラリ
30 プリンタドライバ
31 PDLコマンド生成装置(コマンド生成手段)
32 コマンド抽出装置(抽出手段)
33 コマンド比較/記憶装置(判断手段、記憶手段、比較手段)
4 ネットワーク
32b 抽出対象コマンド一覧(抽出対象記憶手段)
40 プリンタドライバ
41 PDLコマンド生成装置(コマンド生成手段)
42 特定コマンド抽出装置(抽出手段、判断手段、消去手段)
43 コマンド監視装置(判断手段)
44 抽出対象コマンド一覧(抽出対象記憶手段)
50 プリンタドライバ
51 PDLコマンド生成装置(コマンド生成手段)
52 コマンド抽出装置(抽出手段)
53 描画属性管理装置(描画属性管理手段)
54 コマンド比較/記憶装置(判断手段、記憶手段、比較手段、書換手段)
60 抽出装置(描画属性比較手段)
60a 記憶対象コマンド判別部
60b 描画属性コマンド抽出部(描画属性比較手段)
61 抽出対象コマンド一覧(抽出対象記憶手段)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus that generates print information for a printer apparatus in accordance with a print instruction from an application.
[0002]
[Prior art]
FIG. 9 is a block diagram showing the configuration of a printing system arranged on a general network according to the prior art. In the figure,
[0003]
Incidentally, in recent years, printer apparatuses have made remarkable progress such as high-speed printing, high-resolution processing, and colorization. As a result, PDL (page description language) that is a drawing instruction input of the printer apparatus has become complicated, and PDL The amount of data is also increasing. In addition, if the edited document is colorized, it is natural that commands corresponding to colors are required, and if the resolution is increased, the amount of data is inevitably increased. For example, conventionally, raster image data with a resolution of black and white binary 300 dpi only requires about 1 Mbyte for A4. If this is 600 dpi, it will be 4 Mbytes, and if it is black and white 8 bits, it will be 32 Mbytes, and if it is colorized, it will be 128 Mbytes of large capacity data.
[0004]
On the other hand, in order to realize high-speed printing of the printer device, the processing time per page must be increased. For example, in order to enable printing at 40 ppm, it is necessary to process one page of PDL data in an average of 1.5 seconds. In order to realize this, high speed must be realized for all the components such as the host device, the network, and the printer device. However, considering that the printer device receives the PDL data created by the host device via the
[0005]
Therefore, for example, Japanese Patent Laid-Open No. 2-8069 discloses a system comprising a host computer and a printer device for realizing efficient drawing of pattern figures. Here, FIG. 10 is a block diagram showing the configuration of a printing system according to the above-described prior art. Note that portions corresponding to those in FIG. 9 are denoted by the same reference numerals and description thereof is omitted. In the prior art, a pattern figure that is frequently used is registered in advance in the
[0006]
[Problems to be solved by the invention]
By the way, in the prior art (Japanese Patent Laid-Open No. 2-8069), there is only an improvement effect for a specific command that can be used by switching a plurality of data in advance, and processing dedicated to pattern registration is also performed on the printer side. As a mechanism, a
[0007]
In addition, the processing for performing such a drawing processing mechanism on the host device is generally implemented by a drawing library on an OS (operating system) that is difficult for a user to change, and the OS performs such a mechanism. If you do not have it in advance, it is difficult to implement this system. Therefore, the prior art is effective only in a very limited situation, and both the host device and the printer device must be improved, and there is a problem that the modification is extensive.
[0008]
The present invention has been made in view of the above-described circumstances, and an object of the present invention is to provide an image processing apparatus that can reduce the amount of data transferred over a network with only a relatively simple configuration change.
[0009]
[Means for Solving the Problems]
In order to solve the above-described problems, in the first aspect of the present invention, a command generation unit that generates a command for a printer device from a drawing instruction, and a drawing instruction The first drawing instruction whose execution result of the command generated by the command generation means is not affected by the subsequent execution of the command, or the execution of the command followed by the execution result of the command generated by the command generation means The second of the drawing instructions affected by the Extraction means for extracting a drawing instruction and newly extracted by the extraction means First determination means for determining whether the first or second drawing instruction is a drawing instruction corresponding to a command that has already been output to the printer, and a drawing instruction newly extracted by the extracting means Is the second drawing instruction, and if the first determining means determines that the command corresponding to the drawing instruction has been output to the printer, the execution result of the command is affected. A second judging means for judging whether or not a command to be given is outputted after outputting the command; The command generation means includes: When it is determined by the first determining means that the drawing instruction newly extracted by the extracting means is the first drawing instruction and a command corresponding to the drawing instruction has been output The command generation from the drawing instruction is stopped, the drawing instruction newly extracted by the extracting means is the second drawing instruction, and the command corresponding to the drawing instruction has been output. If it is determined by the first determining means and the second determining means determines that a command affecting the execution result of the command has not been output, It is characterized in that command generation from a drawing instruction is stopped.
[0010]
According to this invention, the extraction means The first or second Extract drawing instructions and newly extracted For the first drawing instruction, when the first determining means determines that the command corresponding to the drawing instruction has been output, command generation from the drawing instruction is stopped and newly extracted. For the second drawing instruction, it is determined by the first determining means that a command corresponding to the drawing instruction has been output, and a command that affects the execution result of the command is not output. When judged by the second judging means, Command generation from drawing instructions is stopped. Accordingly, since only commands determined to be valid commands are output to the printer device, the amount of data transferred over the network can be reduced with only a relatively simple configuration change.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Next, an embodiment of the present invention will be described with reference to the drawings.
A. First embodiment
A-1. Configuration of the first embodiment
FIG. 1 is a block diagram showing the configuration of a printing system according to the first embodiment of the present invention. In the figure, an
[0012]
The
[0013]
Here, the PDL command will be described. In general, in many cases, the PDL command has one command that defines one attribute value or the function of one command is limited like an execution command that executes drawing. For example, in the case of the character string output described above, the PDL command is divided into a plurality of commands such as a typeface designation command, a drawing start position designation command, a character size designation command, a character string drawing command, and the like.
[0014]
By the way, as described above, since all the objects sent from the drawing library are set with necessary attribute values for each object, the object is simply decomposed to generate and output a PDL command. In such a PDL command generation apparatus, a large number of unnecessary drawing commands may be transmitted. For example, if both the object (1) and the object (2) shown in the figure indicate the character string drawing and both use the same typeface (both "Courier" in the example shown), the object If all the PDL commands generated by (1) are transmitted once, there is no need to issue a typeface designation command for the object (2). The present invention proposes a method for eliminating such unnecessary commands.
[0015]
In response to the inquiry from the PDL
[0016]
As described above, in order to prevent a previously issued command from being output to the printer device, the previously issued command is stored, and when a new command is issued, the command is already issued. What is necessary is just to judge whether there exists. However, this method is not always applicable to all commands. In other words, the typeface designation command is valid as long as it is designated before the printer device is reset, but most of the drawing execution commands such as the rectangle drawing command cannot be applied as they are. Since drawing is executed while referring to the attribute value set by the attribute setting command, even if a drawing execution command that is the same as a drawing execution command issued in the past is found, the drawing attribute at that time must be different. This is because the contents of drawing are different. The
[0017]
Thus, in the first embodiment, the
[0018]
When a command is supplied from the
[0019]
Next, the above-described PDL
[0020]
The
[0021]
The command comparison /
[0022]
If the comparison device 33a does not exist in the command storage device 33b as a result of the comparison, the comparison device 33a newly stores the command together with the parameters, and since this command has not yet been issued to the PDL
[0023]
In the
[0024]
A-2. Operation of the first embodiment
Next, the operation of the above-described first embodiment will be described.
When the user gives an instruction to print a document edited on the
[0025]
FIG. 3 is a flowchart for explaining the operation of the host device. First, in step Sa1, the
[0026]
Even if the comparison with all stored commands is completed, if there is no identical command, in step Sa5, a new request is made to register the generated command in the command storage device 33b. Thus, the command storage device 33b newly stores the command. Next, a drawing command is created in step Sa6, and is output to the printer apparatus in step Sa7. On the other hand, if the command matches the stored command, only the parameters are output to the printer device without creating a drawing command in step Sa6. For example, in the example shown in FIG. 1, the type designation command is omitted from the printer device when the second character is drawn. If the command is not a specific command, the output to the printer device cannot be omitted. Therefore, a drawing command is created in step Sa6 and output to the printer device in step Sa7.
[0027]
B. Second embodiment
Next, a second embodiment of the present invention will be described. In the first embodiment described above, only commands that are not affected by other commands are excluded without being output to the printer device. However, in order to reduce network traffic, in practice, the frequency of issue It is important to reduce high commands. However, it is not clear whether such a command is unaffected by other commands. Therefore, the second embodiment provides a method for reducing network traffic without outputting a specific command affected by other commands to a printer if it is a useless command.
[0028]
As described in the first embodiment, the drawing content of one PDL command differs depending on the other command or the internal state (drawing attribute) of the printer device defined by the other command. In other words, if the internal state of the printer apparatus does not change, the same command will produce the same print result. Therefore, the issued command is monitored, and when a specific command affected by another command is issued, it is monitored whether another command affecting the specific command is issued thereafter. If the other command is not issued until the specific command is issued again, the specific command is still valid, and therefore the issued specific command is not output to the printer. This reduces the amount of data to be output and reduces network traffic. On the other hand, if another command is issued before a predetermined command is reissued, the internal state has changed to the printer device, so that the reissued specific command is output to the printer device. do it.
[0029]
FIG. 4 is a block diagram showing a partial configuration of the host device according to the second embodiment. It should be noted that portions corresponding to those in FIG. In the figure, the extraction target command list 44 is a command that is not influenced by other attribute values as in the first embodiment described above, that is, if it is already output to the printer device, it remains valid unless the printer device is reset (rebooted). In addition to the command to be executed, a list of specific commands that are affected by other commands but are maintained in the valid state under the predetermined condition described above is stored. In addition, the extraction target command list 44 stores, for each command, a command parameter and a flag indicating whether the command has been output or not output, and further, other commands that affect the specific command. Remember the command.
[0030]
The specific command extraction device 42 monitors the command from the PDL command generation device 41, refers to the extraction target command list 44, extracts a specific command, and determines whether it has been output based on the state of the flag To do. If it is the first extraction command, a flag corresponding to the command in the extraction target command list 44 is set. Further, after the specific command extraction device 42 extracts a specific command, the
[0031]
As an example, a clip area designation command is taken up. The clip area designation command has a parameter of a coordinate value string that designates the clip area. Therefore, when the command to change the coordinate system or the attribute page including the coordinate system is initialized and returned to the initial value, the interpretation of the coordinate value sequence at the time when the clip area was issued before and the next Interpretation of the coordinate sequence when specifying the clip area is different. Therefore, in the case of a clip area, if a command in the coordinate system is issued midway, the storage of the previous clip area command may be discarded. In this way, it is possible to reduce useless commands even in commands that are affected by other commands.
[0032]
C. Third embodiment
Next, a third embodiment of the present invention will be described. In the first embodiment described above, the operation is guaranteed by defining only commands that are not affected by the change of the drawing attribute by other commands, that is, specific commands that are completely independent as the commands to be saved. Yes. In the second embodiment, when the same command continues, or by focusing on a specific command and monitoring other commands that affect the command, the specific command affected by the other command Have proposed a solution. In either case, a small number of commands can be used, but a large number of commands makes it difficult to handle. On the other hand, the third embodiment provides a method that can cope with more commands.
[0033]
In the third embodiment, when a PDL command is generated from a drawing object received from the drawing
[0034]
C-1. Configuration of the third embodiment
FIG. 6 is a block diagram showing the configuration of the host device according to the third embodiment. It should be noted that portions corresponding to those in FIG. In the figure, a PDL
[0035]
The
[0036]
Each time a new command is generated by the PDL
[0037]
Next, the above-described PDL
[0038]
The
[0039]
Here, the reason why the
[0040]
Next, the command comparison /
[0041]
On the other hand, the drawing attribute comparison unit 70b, when there is an entry whose command body and parameter match in the command comparison unit 70a, the drawing attribute of the corresponding command and the current drawing managed by the drawing
[0042]
If the drawing attribute values do not match, the drawing attribute comparison unit 70b stores the drawing attribute value associated with the entry command after it has been output to the printer device. The command is determined to be meaningless, the drawing attribute value of the entry is rewritten with the latest drawing attribute, and this command is output to the printer device to the
[0043]
In addition, the
[0044]
C-2. Operation of the third embodiment
Next, the operation of the above-described third embodiment will be described.
In the host device, an
[0045]
Here, FIG. 8 is a flowchart for explaining the operation according to the third embodiment. First, in step Sb1, upon receiving a drawing instruction from the drawing
[0046]
On the other hand, if it is not a drawing attribute command, it is determined in step Sb4 whether the command is a specific command. If it is a specific command, in step Sb5, one stored command and the corresponding drawing attribute are extracted from the
[0047]
If the same command is not found even after the comparison with all stored commands is completed, the command and drawing attributes are paired and registered in the
[0048]
On the other hand, if it matches the stored command, it is determined in step Sb9 whether or not they have the same drawing attribute. If they have the same drawing attribute, the command does not need to be output. And the process ends. Therefore, in this case, the command and the drawing attribute are not output to the printer apparatus. On the other hand, if the command is already stored in the
[0049]
With the above-described processing, it is possible to determine whether all commands generated by the PDL
[0050]
In the first to third embodiments described above, if no modification is possible on the host device side including the printer driver, a command extraction device and a command comparison / storage device may be provided on the printer device side. Good. In this case, although the network traffic cannot be reduced, it is possible to improve the processing speed of the printer apparatus by processing the PDL command supplied from the host apparatus.
【The invention's effect】
As described above, according to the present invention, the extraction unit extracts a specific drawing instruction from the drawing instruction, and the determining unit newly outputs the specific drawing instruction that has already been output to the printer device. If the drawing instruction is once sent to the printer apparatus, the command generating means uses the determining means to draw the drawing corresponding to the command already output to the printer apparatus. If the command is determined to be an instruction, the command generation unit does not generate a command, or the command generated by the command generation unit is not output to a printer device. Or, only one of the printer devices is modified, and the output is made to the printer device without significant modification. That the PDL data that significantly reduces, it is possible to reduce the traffic of the network, also has the advantage that it is possible to also improve the processing speed to the command amount to be processed is reduced in the printer.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a printing system according to a first embodiment of the present invention.
FIG. 2 is a block diagram for explaining functions of a PDL command generation device, a command extraction device, and a command comparison / storage device.
FIG. 3 is a flowchart for explaining the operation of the host device according to the first embodiment;
FIG. 4 is a block diagram illustrating a configuration of a printing system according to a second embodiment of the present invention.
FIG. 5 is a conceptual diagram showing a data configuration stored in a command storage device.
FIG. 6 is a block diagram illustrating a configuration of a printing system according to a third embodiment of the present invention.
FIG. 7 is a block diagram for explaining functions of a PDL command generation device, a command extraction device, and a command comparison / storage device.
FIG. 8 is a flowchart for explaining an operation according to the third embodiment;
FIG. 9 is a block diagram showing a configuration of a printing system arranged on a general network according to the prior art.
FIG. 10 is a block diagram showing a configuration of a printing system arranged on a network according to another conventional technique.
[Explanation of symbols]
1 Application
2 Drawing library
30 Printer driver
31 PDL command generator (command generator)
32 Command extraction device (extraction means)
33 Command comparison / storage device (determination means, storage means, comparison means)
4 network
32b Extraction target command list (extraction target storage means)
40 Printer driver
41 PDL command generator (command generator)
42 Specific command extraction device (extraction means, determination means, erasure means)
43 Command monitoring device (judgment means)
44 Extraction target command list (extraction target storage means)
50 Printer driver
51 PDL command generator (command generator)
52 Command extraction device (extraction means)
53 Drawing attribute management device (drawing attribute management means)
54 Command comparison / storage device (determination means, storage means, comparison means, rewrite means)
60 Extraction device (drawing attribute comparison means)
60a Memory target command discriminator
60b Drawing attribute command extraction unit (drawing attribute comparison means)
61 Extraction target command list (extraction target storage means)
Claims (7)
描画指示から、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第1の描画指示、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受ける描画指示のうちで予め定められた第2の描画指示を抽出する抽出手段と、
前記抽出手段により新たに抽出された前記第1または前記第2の描画指示が、既にプリンタ装置へ出力したコマンドに対応する描画指示であるか否かを判断する第1の判断手段と、
前記抽出手段により新たに抽出された描画指示が、前記第2の描画指示であり、かつ、その描画指示に対応するコマンドをプリンタ装置へ出力済みであると前記第1の判断手段により判断された場合に、そのコマンドの実行結果に影響を与えるコマンドをそのコマンドを出力した後に出力したか否かを判断する第2の判断手段と、
を具備し、
前記コマンド生成手段は、
前記抽出手段により新たに抽出された描画指示が、前記第1の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第1の判断手段により判断された場合には、その描画指示からのコマンド生成を中止し、
前記抽出手段により新たに抽出された描画指示が、前記第2の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第1の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと前記第2の判断手段により判断された場合に、その描画指示からのコマンド生成を中止することを特徴とする画像処理装置。Command generation means for generating a command for the printer device from the drawing instruction;
From the drawing instruction , the first drawing instruction in which the execution result of the command generated by the command generation unit is not influenced by the subsequent command execution, or the execution result of the command generated by the command generation unit follows. An extracting means for extracting a predetermined second drawing instruction among drawing instructions affected by the execution of the command ;
First determination means for determining whether or not the first or second drawing instruction newly extracted by the extracting means is a drawing instruction corresponding to a command already output to a printer;
The first determining means determines that the drawing instruction newly extracted by the extracting means is the second drawing instruction and the command corresponding to the drawing instruction has been output to the printer apparatus. A second determination means for determining whether or not a command that affects the execution result of the command is output after the command is output;
Comprising
The command generation means includes
When it is determined by the first determining means that the drawing instruction newly extracted by the extracting means is the first drawing instruction and a command corresponding to the drawing instruction has been output , Stop generating commands from that drawing instruction,
It is determined by the first determining means that the drawing instruction newly extracted by the extracting means is the second drawing instruction and a command corresponding to the drawing instruction has been output. An image processing apparatus , wherein when the second determining means determines that a command affecting a command execution result is not output , command generation from the drawing instruction is stopped.
描画指示から、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けない第1の描画指示、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受ける描画指示のうちで予め定められた第2の描画指示を抽出する抽出手段と、
前記抽出手段により新たに抽出された前記第1または前記第2の描画指示が、既にプリンタ装置へ出力したコマンドに対応する描画指示であるか否かを判断する第1の判断手段と、
前記抽出手段により新たに抽出された描画指示が、前記第2の描画指示であり、かつ、その描画指示に対応するコマンドをプリンタ装置へ出力済みであると前記第1の判断手段により判断された場合に、そのコマンドの実行結果に影響を与えるコマンドをそのコマンドを出力した後に出力したか否かを判断する第2の判断手段と、
を具備し、
前記コマンド生成手段は、
前記抽出手段により新たに抽出された描画指示が、前記第1の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第1の判断手段により判断された場合には、その描画指示から生成したコマンドのプリンタ装置への出力を中止し、
前記抽出手段により新たに抽出された描画指示が、前記第2の描画指示であり、かつ、その描画指示に対応するコマンドを出力済みであると前記第1の判断手段により判断され、さらに、そのコマンドの実行結果に影響を与えるコマンドが出力されていないと前記第2の判断手段により判断された場合に、その描画指示から生成したコマンドのプリンタ装置への出力を中止することを特徴とする画像処理装置。Command generation means for generating a command for the printer device from the drawing instruction and outputting the command to the printer device;
From the drawing instruction, the first drawing instruction in which the execution result of the command generated by the command generation unit is not influenced by the subsequent command execution, or the execution result of the command generated by the command generation unit follows. An extracting means for extracting a predetermined second drawing instruction among drawing instructions affected by the execution of the command ;
First determination means for determining whether or not the first or second drawing instruction newly extracted by the extracting means is a drawing instruction corresponding to a command already output to a printer;
The first determining means determines that the drawing instruction newly extracted by the extracting means is the second drawing instruction and the command corresponding to the drawing instruction has been output to the printer apparatus. A second determination means for determining whether or not a command that affects the execution result of the command is output after the command is output;
Comprising
The command generation means includes
When it is determined by the first determining means that the drawing instruction newly extracted by the extracting means is the first drawing instruction and a command corresponding to the drawing instruction has been output , Stop outputting the command generated from the drawing instruction to the printer,
It is determined by the first determining means that the drawing instruction newly extracted by the extracting means is the second drawing instruction and a command corresponding to the drawing instruction has been output. An image characterized by stopping output of a command generated from a drawing instruction to a printer device when the second determining means determines that a command affecting the command execution result has not been output. Processing equipment.
前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実 行により影響を受けない第1のコマンド、または、前記コマンド生成手段によって生成されるコマンドの実行結果が後続するコマンドの実行により影響を受けるコマンドのうちで予め定められた第2のコマンドを抽出する抽出手段と、
前記抽出手段により新たに抽出されたコマンドを記憶する記憶手段と、
前記抽出手段により抽出されたコマンドと前記記憶手段に記憶されているコマンドとを比較する比較手段と
を具備し、
前記コマンド生成手段は、
前記抽出手段により抽出された前記第1のコマンドについて、一致するコマンドが前記記憶手段に記憶されていると前記比較手段により判断された場合には、そのコマンドのプリンタ装置への出力を中止し、
前記抽出手段により抽出された前記第2のコマンドについて、一致するコマンドが前記記憶手段に記憶されていると前記比較手段により判断され、かつ、そのコマンドの実行結果に影響を与えるコマンドがそのコマンドに後続してプリンタ装置へ出力されていない場合には、そのコマンドのプリンタ装置への出力を中止することを特徴とする画像処理装置。Command generation means for generating a command for the printer device from the drawing instruction and outputting the command to the printer device;
First command execution result of the command generated by said command generation means is not affected by the execution of the subsequent command or by the execution of a command execution result of the command generated by said command generating means is followed Extraction means for extracting a predetermined second command among the affected commands ;
Storage means for storing the newly extracted command by the extraction means,
And comparator means for comparing the Turkey commands are stored in the extracted command to the storage means by the extraction means,
The command generation means includes
For the first command extracted by the extracting means, when the comparing means determines that a matching command is stored in the storage means, the output of the command to the printer device is stopped,
For the second command extracted by the extraction means, the comparison means determines that a matching command is stored in the storage means, and a command that affects the execution result of the command is included in the command. An image processing apparatus characterized in that output of the command to the printer apparatus is stopped when it is not subsequently output to the printer apparatus.
前記抽出手段は、前記コマンド生成手段により生成されるコマンドが、前記抽出対象記憶手段に記憶されているコマンドであった場合に、そのコマンドを抽出することを特徴とする請求項3記載の画像処理装置。Comprising extraction object storage means for storing the first command and the second command to be extracted by the extraction means;
4. The image processing according to claim 3 , wherein the extraction unit extracts the command when the command generated by the command generation unit is a command stored in the extraction target storage unit. apparatus.
現在の描画属性を記憶する描画属性管理手段と、
前記抽出手段により抽出されたコマンドが前記記憶手段に記憶されているコマンドの何れかと一致すると前記比較手段により判断された場合に、そのコマンドの描画属性と、前記描画属性管理手段に記憶されている現在の描画属性とを比較する描画属性比較手段と を具備し、
前記コマンド生成手段は、描画属性が前記描画属性管理手段に記憶されている現在の描画属性と一致すると前記描画属性比較手段により判断されたコマンドのプリンタ装置への出力を中止する
ことを特徴とする請求項3記載の画像処理装置。The storage means may store together newly extracted command and the drawing attribute of the command by the extraction means,
Drawing attribute management means for storing current drawing attributes;
When the comparison means determines that the command extracted by the extraction means matches any of the commands stored in the storage means, the drawing attribute of the command is stored in the drawing attribute management means A drawing attribute comparing means for comparing with the current drawing attribute;
The command generation unit stops outputting the command determined by the drawing attribute comparison unit to the printer device when the drawing attribute matches the current drawing attribute stored in the drawing attribute management unit. The image processing apparatus according to claim 3.
ことを特徴とする請求項6記載の画像処理装置。Rewriting means for replacing the command and drawing attribute stored in the storage means with a new command and the current drawing attribute when the drawing attribute comparing means determines that the drawing attributes do not match. The image processing apparatus according to claim 6 .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05459199A JP3663957B2 (en) | 1999-03-02 | 1999-03-02 | Image processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP05459199A JP3663957B2 (en) | 1999-03-02 | 1999-03-02 | Image processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000250725A JP2000250725A (en) | 2000-09-14 |
| JP3663957B2 true JP3663957B2 (en) | 2005-06-22 |
Family
ID=12974980
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP05459199A Expired - Fee Related JP3663957B2 (en) | 1999-03-02 | 1999-03-02 | Image processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3663957B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6300447B2 (en) * | 2013-02-28 | 2018-03-28 | キヤノン株式会社 | Drawing apparatus, drawing method, and program |
-
1999
- 1999-03-02 JP JP05459199A patent/JP3663957B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000250725A (en) | 2000-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3563793B2 (en) | Data processing method and apparatus | |
| JP3663957B2 (en) | Image processing device | |
| US20090168085A1 (en) | Image processing method and image processing apparatus | |
| JP2006155308A (en) | Image forming apparatus | |
| JP7658202B2 (en) | Printing device, printing system and program | |
| JP4144369B2 (en) | Image processing apparatus, image processing method, and program | |
| JP3852728B2 (en) | Printing apparatus and information processing apparatus | |
| JP3610141B2 (en) | Information processing apparatus, printing apparatus, printing system, and data processing method and control method for printing system | |
| JP4109755B2 (en) | Printing device | |
| JP2003051929A (en) | Image processing method and apparatus | |
| JP5560934B2 (en) | Printer driver | |
| JP2010046891A (en) | Image forming apparatus | |
| JP4325339B2 (en) | Printing system, host computer and printer driver | |
| JP2005199485A (en) | Image processing apparatus, image processing method, and program for executing image processing method | |
| KR100565792B1 (en) | How to save font data of printer | |
| JP2002254767A (en) | Printing apparatus and control method thereof | |
| JP2002278719A (en) | Printing apparatus, control method thereof, control program | |
| JP2001270170A (en) | Printer control device | |
| JPH10175332A (en) | Print control apparatus, print control method, and storage medium storing computer-readable program | |
| JP2000033730A (en) | Printing apparatus, control method thereof, and printing system | |
| JPH07144444A (en) | Communication control device | |
| JPH07323602A (en) | Printing device and object drawing method of printing device | |
| JP2003072162A (en) | Print control device, data processing method, storage medium, and program | |
| JP2001270172A (en) | Image forming apparatus, font data control method in image forming apparatus, and storage medium | |
| JPH09218741A (en) | Information processing apparatus and control method therefor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040930 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041102 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050308 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050321 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080408 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100408 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110408 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120408 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130408 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 9 |
|
| LAPS | Cancellation because of no payment of annual fees |