(57)【特許請求の範囲】
【請求項１】
画像としてそのまま出力することが不可能な第１形式の画像データを、画像として出力することが可能な第２形式の画像データに変換して出力する画像出力装置において、
入力された前記第１形式の画像データが画像出力命令を伴っているか否かを解析するコマンド解析部と、
前記第１形式の画像データを前記第２形式の画像データに変換する変換部と、
前記変換部により変換された前記第２形式の画像データを保持する保持部と、
前記第２形式の画像データを画像として出力する出力部とを備え、
前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、
前記変換部は、前記第１形式の画像データを前記第２形式の画像データへ変換し、
前記保持部には、前記第２形式の画像データが保持されることを特徴とする画像出力装置。
【請求項２】
前記コマンド解析部は、
前記画像出力命令を伴うか伴わないかに拘わらずに作成中及び作成後の画像データを出力する画像作成部より出力される画像データを一時的に記憶する画像データ一時記憶部と、
予測画像データを記憶する予測画像データ記憶部と、
前記画像データ一時記憶部に一時的に記憶されている前記作成中及び作成後の画像データと、前記予測画像データ保持部に保持されている前記予測画像データと、を比較し、両画像データ間の相違する部分の程度や相違内容に関する比較結果に基づいて展開画像データと予測画像データとを作成し、該予測画像データを前記予測画像データ保持部に出力する画像データ比較部とを備え、
前記予測画像データ記憶部は、前記画像データ比較部より出力された前記予測画像データを記憶することを特徴とする請求項１に記載の画像出力装置。
【請求項３】
前記コマンド解析部は、
前記画像データ比較部より出力された前記展開画像データを前記画像作成部の出力形態に対応するビットマップデータに展開又は変形する画像展開部と、
前記画像展開部により展開／変形された少容量の前記ビットマップデータを記憶するキャッシュメモリ部と、
前記画像展開部により展開／変形された前記ビットマップデータをページ単位で記憶するページメモリ部と、
を更に備えていることを特徴とする請求項２に記載の画像出力装置。
【請求項４】
前記画像出力装置は前記画像データ一時記憶部に画像データを出力する画像作成部に接続され、
該画像作成部は、
ホストＣＰＵを介して動作させられ、前記画像データを作成するアプリケーションを格納し、前記アプリケーションにより作成した未完成の画像データ及び作成が完了した画像データを出力する画像作成アプリケーション部と、
前記画像作成アプリケーション部が出力する未完成の画像データ及び作成が完了した画像データを記憶する画像データ記憶部と、
前記画像データ記憶部に記憶された画像データを出力する画像出力部ドライバと、
を備えるホストコンピュータより構成されていることを特徴とする請求項３に記載の画像出力装置。
【請求項５】
前記画像作成部は、さらに、
前記ホストＣＰＵからの信号に基づいて転送信号を発生させる転送信号発生部と、
前記転送信号発生部が発生させた転送信号に応じて未完成の画像データを前記画像データ記憶部に転送する未完画像データ転送部と、
を含む転送部を備えていることを特徴とする請求項４に記載の画像出力装置。
【請求項６】
前記画像出力装置は前記画像データ一時記憶部に画像データを出力する画像作成部に接続され、
該画像作成部は、ホストＣＰＵを介して動作させられ、前記画像データを作成するアプリケーションを格納し、前記アプリケーションにより作成した未完成の画像データ及び作成が完了した画像データを出力する画像作成アプリケーション部と、
前記画像作成アプリケーション部が出力する未完成の画像データ及び作成が完了した画像データを記憶する画像データ記憶部と、
を備えるホストコンピュータより構成されると共に、
前記画像出力装置は、さらに、前記ホストＣＰＵからの信号に基づいてアクセス信号を発生させるアクセス信号発生部と、
前記アクセス信号発生部が発生させたアクセス信号に応じて未完成の画像データを前記画像データ記憶部より前記画像データ一時記憶部に転送させる未完画像データ転送部と、
を含む転送部を備えていることを特徴とする請求項３に記載された画像出力装置。
【請求項７】
前記画像出力装置は前記画像データ一時記憶部に画像データを出力する画像作成部に接続され、
該画像作成部は、ホストＣＰＵを介して動作させられ、前記画像データを作成するアプリケーションを格納し、前記アプリケーションにより作成した未完成の画像データ及び作成が完了した画像データを出力する画像作成アプリケーション部と、前記画像作成アプリケーション部が出力する未完成の画像データ及び作成が完了した画像データを記憶する画像データ記憶部と、前記画像データ記憶部に記憶された画像データを出力する画像出力部ドライバと、を備えるホストコンピュータより構成されると共に、
前記画像出力装置は、プリンタであり、該プリンタは前記ホストコンピュータにより作成されて順次転送されてくる未完画像データと該プリンタの予測画像データ記憶部に記憶されているプリンタ側の予測画像データとを比較する画像データ比較部を備えていることを特徴とする請求項３に記載された画像出力装置。
【請求項８】
前記プリンタは、さらに、前記画像データ比較部の比較結果に基づいて前記ホストコンピュータより転送されてきた未完画像データのデータ量と、前記予測画像データ記憶部に記憶されている予測画像データのデータ量との差が大きいか小さいかを判定する判定部を備えていることを特徴とする請求項７に記載された画像出力装置。
【請求項９】
前記プリンタの前記判定部が前記両画像データのデータ量の差が大きいものと判定した場合に、前記キャッシュメモリを用いてページフォーマットの文字コードや図形コマンドを入れ替えることにより、画像データを書き換えるように構成されていることを特徴とする請求項８に記載の画像出力装置。
【請求項１０】
前記プリンタの前記判定部が前記両画像データのデータ量の差が小さいものと判定した場合に、ページフォーマットの文字コードや図形コマンドを追加することにより、画像データを修正／上書きして書き換えるように構成されていることを特徴とする請求項８に記載の画像出力装置。
【請求項１１】
所定の画像形成アプリケーションを用いて画像データを作成・記憶すると共に出力ドライバを介して該画像データを出力する画像作成部と、この画像作成部により出力される画像出力不可能な第１形式の画像データを、画像出力可能な第２形式の画像データに変換して出力する画像出力装置において、
ホストＣＰＵを介して動作させられ、前記画像データを作成するアプリケーションを格納し、前記アプリケーションにより作成した未完成の画像データ及び作成が完了した画像データを出力する画像作成アプリケーション部と、
前記画像作成アプリケーション部が出力する未完成の画像データ及び作成が完了した画像データを記憶する画像データ記憶部と、
前記画像データ記憶部に記憶された画像データを出力する画像出力ドライバ部と、
入力された前記第１形式の画像データが画像出力命令を伴っているか否かを解析するコマンド解析部と、
前記第１形式の画像データを前記第２形式の画像データに変換する変換部と、
前記変換部により変換された前記第２形式の画像データを保持する保持部と、
前記第２形式の画像データを画像として出力する出力部とを備え、
前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、
前記変換部は、前記第１形式の画像データを前記第２形式の画像データへ変換し、
前記保持部には、前記第２形式の画像データが保持されることを特徴とする画像出力装置。
【請求項１２】
前記画像出力アプリケーション部、画像データ記憶部、画像出力ドライバ部及びコマンド解析部は、前記画像作成部としてのホストコンピュータに設けられ、
前記変換部及び前記保持部は前記画像出力部に設けられていると共に、
前記コマンド解析部と前記画像出力部との間は、信号線により接続されていることを特徴とする請求項１１に記載の画像出力装置。
【請求項１３】
前記画像出力部は、プリンタであり、該プリンタは、少なくとも、前記第１形式の画像データを前記第２形式の画像データに変換する変換部と、前記変換部により変換された前記第２形式の画像データを保持する保持部と、前記第２形式の画像データを画像として出力する出力部とを備え、
前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、前記変換部は、前記第１形式の画像データを前記第２形式の画像データへ変換し、
前記保持部には、前記第２形式の画像データが保持されることを特徴とする請求項１１に記載の画像出力装置。
【請求項１４】
前記プリンタは、さらに、前記第１形式の画像データが画像出力命令を伴っているか否かを解析するコマンド解析部を備えていることを特徴とする請求項１３に記載の画像出力装置。
【請求項１５】
前記画像出力部は、前記ホストコンピュータに接続されたプリンタであり、該プリンタは前記画像作成部としての前記ホストコンピュータにより作成されて順次転送されてくる未完成の画像データと該プリンタの予測画像データ記憶部に記憶されているプリンタ側の予測画像データとを比較する画像データ比較部を備えていることを特徴とする請求項１４に記載の画像出力装置。
【請求項１６】
前記プリンタは、さらに、前記画像データ比較部の比較結果に基づいて前記ホストコンピュータより転送されてきた未完成の画像データのデータ量と、前記予測画像データ記憶部に記憶されている予測画像データとのデータ量との差が大きいか小さいかを判定する判定部を備えていることを特徴とする請求項１５に記載の画像出力装置。
【請求項１７】
前記プリンタの前記判定部が前記未完成の画像データと予測画像データのデータ量の差が大きいものと判定した場合に、前記キャッシュメモリを用いてページフォーマットの文字コードや図形コマンドを入れ換えることにより、前記画像データを書き換えるように構成されていることを特徴とする請求項１６に記載の画像出力装置。
【請求項１８】
前記プリンタの前記判定部が前記未完成の画像データと予測画像データのデータ量の差が小さいものと判定した場合に、ページフォーマットの文字コードや図形コマンドを追加することにより、画像データを修正／上書きして書き換えるように構成されていることを特徴とする請求項１６に記載の画像出力装置。
【請求項１９】
前記画像出力装置は、さらに、前記ホストＣＰＵからの信号に基づいてアクセス信号を発生させるアクセス信号発生部と、
前記アクセス信号発生部が発生させたアクセス信号に応じて未完成の画像データを前記画像記憶部より前記画像データ一時記憶部に転送させる未完画像データ転送部と、を含む転送部を備えていることを特徴とする請求項１３に記載の画像出力装置。
【請求項２０】
所望の画像データを作成し、該画像データを画像出力命令を伴わない画像出力不可能な第１形式の画像データとして画像出力装置に転送し、該第１形式の画像データを画像出力可能な第２形式の画像データに変換して画像出力を実行するための所定のプログラムを記憶する画像出力手順記録媒体であって、
該記録媒体に記録されているプログラムは、
所定のアプリケーションを用いて文字・図形・模様についての前記第１形式の画像データを作成するステップと、
未完成画像データ及び作成が完了した画像データを画像データ記憶部に記憶させておくステップと、
該画像データ記憶部に記憶されている画像データを画像出力部ドライバを用いて転送するステップと、
入力された前記第１形式の画像データが画像出力命令を伴っているか否かをコマンド解析部により解析させるステップと、
変換部により前記第１形式の画像データを前記第２形式の画像データに変換するステップと、
前記変換部により変換された前記第２形式の画像データを保持部により保持するステップと、
前記第２形式の画像データを画像として出力するステップと、
前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、
前記変換部により前記第１形式の画像データを前記第２形式の画像データへ変換するステップと、
前記第２形式の画像データを前記保持部により保持するステップと、
を含むことを特徴とする画像出力手順記録媒体。
【請求項２１】
前記記録媒体に記録されているプログラムは、
前記画像出力命令を伴うか伴わないかに拘わらず、作成中及び作成後の画像データを出力する画像作成部より出力されてきた画像データを一時的に記憶するステップと、
前記一時的に記憶されている作成中及び作成後の画像データと、前記予測画像データ保持部に保持されている前記予測画像データとを比較し、両画像データの相違する部分の程度や相違内容に関する比較結果に基づいて展開画像データと予測画像データとを作成し、該予測画像データを前記予測画像データ保持部に出力するステップと、
前記画像作成部より最後に転送されてきた前記第１形式の画像データに相当する第２形式の画像データを前記画像データ比較部を介して予測データとして保持すると共に、前記予測画像データを記憶するステップとを更に含むことを特徴とする請求項２０に記載の画像出力手順記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字コードや図形コマンドあるいはイメージデータを含む画像データをビットマップデータに展開して画像を出力する画像出力装置に関する。
【０００２】
【従来の技術】
ホストコンピュータ上で画像作成アプリケーション・ソフトウェアを用いるなどして作成された画像データは、キーボードやマウスなどの入力デバイスを通じてユーザが画像出力命令を入力すると、出力画像データとして画像出力装置に転送され画像として出力される。画像出力装置には、プリンタ、デジタル複写機、ＦＡＸなどの画像記録装置、ディスプレイなどの画像表示装置等がある。
【０００３】
画像データは、「文字コード」、丸・四角などの図形描画命令である「図形コマンド」、ビットマップ形式で記述された自然画などの「イメージデータ」を基本単位とし、それらを任意に組合わせて構成される。
【０００４】
画像出力装置は、文字コードや図形コマンドあるいはイメージテータからなる画像データを受け取ると、この画像データを当該画像出力装置の出力形態に適したビットマップ形式に展開・変形した後、ページメモリと呼ばれるメモリに順次書き込んでいく。最近では、ホストコンピュータを用いてＯＳ（オペレーティングシステム）上で画像データの展開・変形ができるようになったが、原理は同様である。
【０００５】
画像出力装置がプリンタの場合を例にとると、６００ｄｐｉの記憶密度を有するものであれば、画像データのうち文字コードや図形コマンドは６００ｄｐｉの密度のビットマップデータに展開される。また、それがカラー記録能力を持つのであれば、イエロー・マゼンタ・シアンの３色もしくはそれに黒を加えた４色分のビットマップデータに展開される。
【０００６】
ビットマップ形式のイメージデータの場合は、変形処理が施される。先の例でいうと、そのイメージデータが６００ｄｐｉ以外の密度を持つものならば、６００ｄｐｉの密度に拡大・縮小される。
また、そのイメージデータが各画素８ビットの階調を持ち、プリンタの階調再現能力が各画素３ビットしか持たない場合は、多値誤差拡散などの疑似階調処理が施される。
【０００７】
１ページに属するすべての文字コード、図形コマンド、イメージデータが展開・変形され、ページメモリへの書き込みが終了すると、画像出力装置はページメモリに書き込まれているデータをページの隅からシリアルに読みだし、画像出力デバイスに送り、画像出力がなされる。
しかし、上記のような展開・変形処理は、複雑であるため、多くの処理時間を必要とし、高速な記録・表示の大きな妨げとなっている。
【０００８】
これを解決する一つの従来技術として、キャッシュが知られている。キャッシュは、ある文字コードをビットマップ形式のデータに展開した後、ページメモリに書き込むと同時に、キャッシュメモリという一時記憶部にそのビットマップ情報を保持しておく。以後、同じ文字コードについては、これを展開せずに、キャッシュメモリからビットマップ形式のデータを読みだしてページメモリに書き込む。キャッシュメモリから読み出す時間の方が文字コードを展開する時間より短いため、高速にページメモリに書き込むことができる。
【０００９】
しかしながら、このようなキャッシュ機能は、多くの文字コードがあらかじめ展開されてキャッシュされている場合にのみ有効であり、記録・表示を開始してまもないページの時間は短くできなかった。
また、イメージデータの拡大・縮小や疑似中間調処理に要する時間は短縮できないといった問題があった。
【００１０】
【発明が解決しようとする課題】
従来は、画像出力すべき画像データを展開・変形処理してビットマップデータを作成するのに多くの時間を必要とし、高速で画像を出力するのに大きな妨げとなっていた。また、キャッシュ機能が有効であるのは、特別な場合だけに限られていた。
本発明は、上記事情を考慮してなされたものであり、画像出力を高速化した画像出力装置、及び画像出力手順記録媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の第１の構成に係る画像出力装置は、画像としてそのまま出力することが不可能な第１形式の画像データを、画像として出力することが可能な第２形式の画像データに変換して出力する画像出力装置において、入力された前記第１形式の画像データが画像出力命令を伴っているか否かを解析するコマンド解析部と、前記第１形式の画像データを前記第２形式の画像データに変換する変換部と、前記変換部により変換された前記第２形式の画像データを保持する保持部と、前記第２形式の画像データを出力する出力部とを備え、前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、前記変換部は、前記第１形式の画像データを前記第２形式の画像データへ変換し、前記保持部には、第２形式の画像データが保持されることを特徴とする。
また、本発明の第２の構成に係る画像出力装置は、所定の画像形成アプリケーションを用いて画像データを作成・記憶すると共に出力ドライバを介して該画像データを出力する画像作成部と、この画像作成部により出力される画像出力不可能な第１形式の画像データを、画像出力可能な第２形式の画像データに変換して出力する画像出力装置において、ホストＣＰＵを介して動作させられ、前記画像データを作成するアプリケーションを格納し、前記アプリケーションにより作成した未完成の画像データ及び作成が完了した画像データを出力する画像作成アプリケーション部と、前記画像作成アプリケーション部が出力する未完成の画像データ及び作成が完了した画像データを記憶する画像データ記憶部と、前記画像データ記憶部に記憶された画像データを出力する画像出力ドライバ部と、入力された前記第１形式の画像データが画像出力命令を伴っているか否かを解析するコマンド解析部と、前記第１形式の画像データを前記第２形式の画像データに変換する変換部と、前記変換部により変換された前記第２形式の画像データを保持する保持部と、前記第２形式の画像データを画像として出力する出力部とを備え、前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、前記変換部は前記第１形式の画像データを前記第２形式の画像データへ変換し、前記保持部には、前記第２形式の画像データが保持されることを特徴とする。
【００１２】
本発明は、画像出力命令を伴なって入力された画像出力可能でない第１の形式の画像データを、画像出力可能な第２の形式の画像データに変換して画像出力する画像出力装置において、画像出力命令を伴なわずに入力された第１の形式の画像データを第２の形式の画像データに変換し保持しておく手段と、画像出力命令を伴なって入力された第１の形式の画像データと、前記画像出力命令を伴なわずに入力された第１の形式の画像データが同一であるか否か判定する手段と、同一であると判定された場合、既に変換され保持されている前記第２の形式の画像データをそのまま画像出力させ、同一でないと判定された場合、前記画像出力命令を伴なって入力された第１の形式の画像データに対応する第２の形式の画像データを完成させ画像出力させる手段とを備えたことを特徴とする。
【００１３】
本発明は、画像出力命令を伴なって入力された画像出力可能でない第１の形式の画像データを、画像出力可能な第２の形式の画像データに変換して画像出力する画像出力装置において、画像出力命令を伴なわずに入力された第１の形式の画像データを保持する第１の保持手段と、入力された第１の形式の画像データに対応する第２の形式の画像データを保持する第２の保持手段と、新たに入力された第１の形式の画像データと、前記第１の保持手段に保持された第１の形式の画像データが同一であるか否か判定する判定手段と、同一でないと判定された場合、前記新たに入力された第１の形式の画像データに対応する第２の形式の画像データを完成させ、前記第２の保持手段に保持させる変換手段と、前記新たに入力された第１の形式の画像データが前記画像出力命令を伴なって入力されたものであった場合、前記第２の保持手段に保持されている該第１の形式の画像データに対応する前記第２の形式の画像データを画像出力する手段とを備えたことを特徴とする。
【００１４】
本発明は、画像出力命令を伴なって入力された画像出力可能でない第１の形式の画像データを、画像出力可能な第２の形式の画像データに変換して画像出力する画像出力装置において、画像出力命令を伴なわずに入力された第１の形式の画像データを第２の形式の画像データに変換し保持しておく手段と、画像出力命令を伴なって入力された第１の形式の画像データと、前記画像出力命令を伴なわずに入力された第１の形式の画像データとの差分を抽出する手段と、差分が抽出されなかった場合、既に変換され保持されている前記第２の形式の画像データをそのまま画像出力させ、差分が抽出された場合、該差分のみを第２の形式の画像データに変換し既に変換され保持されている前記第２の形式の画像データに上書きし画像出力させる手段とを備えたことを特徴とする。
【００１５】
本発明は、画像出力命令を伴なって入力された画像出力可能でない第１の形式の画像データを、画像出力可能な第２の形式の画像データに変換して画像出力する画像出力装置において、画像出力命令を伴なわずに入力された第１の形式の画像データを保持する第１の保持手段と、入力された第１の形式の画像データに対応する第２の形式の画像データを保持する第２の保持手段と、新たに入力された第１の形式の画像データと、前記第１の保持手段に保持された第１の形式の画像データとの差分を抽出する差分抽出手段と、差分が抽出された場合、該差分のみを第２の形式の画像データに変換し前記第２の保持手段に保持されている前記第２の形式の画像データに上書きする変換手段と、前記新たに入力された第１の形式の画像データが前記画像出力命令を伴なって入力されたものであった場合、前記第２の保持手段に保持されている該第１の形式の画像データに対応する前記第２の形式の画像データを画像出力する手段とを備えたことを特徴とする。
【００１６】
好ましくは、入力された前記第１の形式の画像データに含まれる文字コードを前記第２の形式の画像データに変換した場合、該文字コードと対応する該第２の形式の画像データとを組にして登録するキャッシュ手段をさらに備えたことを特徴とする。
また、好ましくは、所定のタイミングで前記第１の形式の画像データを前記画像出力命令を伴なわずに転送するよう要求する手段をさらに備えたことを特徴とする。
【００１７】
本発明は、画像出力させたい所定の形式の画像データを画像出力命令と伴に画像出力装置に与える画像作成装置において、前記画像出力装置に対し、画像出力命令と伴に前記画像データを転送するのに先だって、所定のタイミングでその時点における画像データを画像出力命令を伴なわずに転送しておく手段を備えたことを特徴とする。
【００１８】
本発明は、画像作成装置は画像出力命令と伴に画像出力可能でない第１の形式の画像データを画像出力装置に転送し、画像出力装置は転送された該第１の形式の画像データを画像出力可能な第２の形式の画像データに変換して画像出力する画像出力方法において、前記画像作成装置から前記画像出力装置に対し、画像出力命令と伴に第１の形式の画像データを転送するのに先だって、所定のタイミングで、その時点における画像データを画像出力命令に伴なわずに転送しておき、前記画像出力装置は、画像出力命令を伴なわずに転送された前記第１の形式の画像データを前記第２の形式の画像データに変換し、これを後に画像出力命令を伴なって入力されると予測される第１の形式の画像データに対する第２の形式の予測画像データとして保持しておくことを特徴とする。
【００１９】
本発明は、画像作成装置は、外部から与えられる画像出力命令に応じて、画像作成アプリケーションを用いて作成された画像出力可能でない第１の形式の画像データを画像出力可能な第２の形式の画像データに変換して画像出力装置に転送し、画像出力装置は転送された該第２の形式の画像データを画像出力する画像出力方法において、前記画像作成装置から前記画像出力装置に対し、外部から与えられる画像出力命令に応答する形で前記第２の形式の画像データを転送するのに先だって、画像作成アプリケーションが継続的に動作していない期間中に、所定のタイミングで、その時点における第１の形式画像データを、前記第２の形式の画像データに変換し、これを後に画像出力命令を伴なって入力されると予測される第１の形式の画像データに対する第２の形式の予測画像データとして保持しておくことを特徴とする。
【００２０】
好ましくは、前記画像作成装置は、画像出力命令の受信前に所定のタイミングで順次転送信号を発生する転送信号発生手段と、前記転送信号を受信するとその時点での第１の形式の画像データを前記画像出力装置に転送するデータ転送手段を備えても良い。また、好ましくは、この転送信号発生手段は、所定の時間周期で前記転送信号を発生しても良い。また、この転送信号発生手段は、あるクロックに基づきカウントを行うカウンタを有し、カウント値がある所定の値になると前記転送信号を発生するようにしても良い。また、このカウンタは、ＣＰＵの状態を観測するＣＰＵ状態観測手段を有し、このＣＰＵ状態観測手段は、ＣＰＵが画像データ作成アプリケーションの動作中はｂｕｓｙ信号を発生し、前記カウンタは前記ｂｕｓｙ信号を受信すると前記カウント値をリセットするようにしても良い。
【００２１】
本発明の第３の構成に係る画像出力手順記録媒体は、所望の画像データを作成し、該画像データを画像出力命令を伴わない画像出力不可能な第１形式の画像データとして画像出力装置に転送し、該第１形式の画像データを画像出力可能な第２形式の画像データに変換して画像出力を実行するための所定のプログラムを記憶する画像出力手順記録媒体であって、該記録媒体に記録されているプログラムは、所定のアプリケーションを用いて文字・図形・模様についての前記第１形式の画像データを作成するステップと、未完成画像データ及び作成が完了した画像データを画像データ記憶部に記憶させておくステップと、該画像データ記憶部に記憶されている画像データを画像出力部ドライバを用いて転送するステップと、入力された前記第１形式の画像データが画像出力命令を伴っているか否かをコマンド解析部により解析させるステップと、変換部により前記第１形式の画像データを前記第２形式の画像データに変換するステップと、前記変換部により変換された前記第２形式の画像データを保持部により保持するステップと、前記第２形式の画像データを画像として出力するステップと、前記コマンド解析部により前記第１形式の画像データが前記画像出力命令を伴っていないものと解析された場合であっても、前記変換部により前記第１形式の画像データを前記第２形式の画像データへ変換するステップと、前記第２形式の画像データを前記保持部により保持するステップと、を含むことを特徴とする。
【００２２】
本発明では、画像出力装置は、画像出力命令を伴なわない第１の形式（例えばページ記述言語形式）の画像データが入力されると、これを第２の形式（例えばビットマップ形式）の画像データに変換（展開および／または変形）して保持しておく。その後、画像出力装置に対し、画像出力命令を伴なう第１の形式の画像データが入力され、この画像データが先に画像出力命令を伴なわずに入力された画像データと同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力を行なうことができる。
【００２３】
本発明では、画像出力装置は、画像出力命令を伴なわない第１の形式の画像データが入力されると、これを第２の形式の画像データに変換して保持しておく。その後、画像出力装置に対し、画像出力命令を伴なう第１の形式の画像データが入力され、この画像データが先に画像出力命令を伴なわずに入力された画像データと同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力を行なうことができる。また、画像出力命令を伴ない入力された第１の形式の画像データが先に画像出力命令を伴なわずに入力された画像データと同一内容でない場合、入力された第１の形式の画像データをすべて変換しなおし、あるいは差分に相当する部分のみ変換し既に変換し保持している第２の形式の画像データに上書きや削除など必要な処理を行なうなどして、前記画像出力命令を伴なって入力された第１の形式の画像データに対応する第２の形式の画像データを完成させてから、画像出力を行なう。
【００２４】
本発明では、画像出力装置は、画像出力命令を伴なわない第１の形式の画像データが入力されると、これを第２の形式の画像データに変換して保持しておく。画像出力命令を伴なわない第１の形式の画像データが何回も連続して入力された場合は、最後に入力された第１の形式の画像データに対応する第２の形式の画像データを保持しておく。つまり、画像出力命令を伴なわずに相前後して入力された画像データと同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理はおこなわず、同一内容でない場合、入力された第１の形式の画像データをすべて変換しなおし、あるいは差分に相当する部分のみ変換し既に変換し保持している第２の形式の画像データに上書きや削除など必要な処理を行なうなどして、最後に入力された第１の形式の画像データに対応する第２の形式の画像データを完成させておく。
【００２５】
その後、画像出力装置に対し、画像出力命令を伴なう第１の形式の画像データが入力され、この画像データが先に画像出力命令を伴なわずに入力された画像データと同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力を行なうことができる。また、画像出力命令を伴ない入力された第１の形式の画像データが先に画像出力命令を伴なわずに入力された画像データと同一内容でない場合、入力された第１の形式の画像データをすべて変換しなおし、あるいは差分に相当する部分のみ変換し既に変換し保持している第２の形式の画像データに上書きや削除など必要な処理を行なうなどして、前記画像出力命令を伴なって入力された第１の形式の画像データに対応する第２の形式の画像データを完成させてから、画像出力を行なう。
【００２６】
本発明では、画像出力装置は、画像出力命令を伴なわない第１の形式の画像データが入力されると、これを第２の形式の画像データに変換して保持しておく。その後、画像出力装置に対し、画像出力命令を伴なう第１の形式の画像データが入力されると、この画像データと先に画像出力命令を伴なわずに入力された画像データの差分を抽出する。差分がなく同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力を行なうことができる。差分が抽出された場合でも、該差分のみを第２の形式の画像データに変換し、これを既に変換し保持している第２の形式の画像データに上書きするだけで従来よりも高速に画像出力できる。
【００２７】
本発明では、画像出力装置は、画像出力命令を伴なわない第１の形式の画像データが入力されると、これを第２の形式の画像データに変換して保持しておく。その後、さらに第１の形式の画像データが入力されると、この画像データと先に画像出力命令を伴なわずに入力された画像データの差分を抽出する。そして、抽出された差分のみを第２の形式の画像データに変換し、これを既に変換し保持している第２の形式の画像データに上書きする。差分がなく同一内容である場合、変換処理は行なわない。
画像出力命令を伴なわない第１の形式の画像データが何回も連続して入力される場合、上記の処理を繰り返し、最後に入力された第１の形式の画像データに対応する第２の形式の画像データを保持しておく。
【００２８】
最終的に画像出力命令を伴なう第１の形式の画像データが入力されると、上記と同様に、この画像データと先に画像出力命令を伴なわずに入力された画像データの差分を抽出する。差分がなく同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力を行なうことができる。差分が抽出された場合でも、該差分のみを第２の形式の画像データに変換し、これを既に変換し保持している第２の形式の画像データに上書きするだけで従来よりも高速に画像出力できる。
【００２９】
本発明では、画像作成装置は、ユーザの指示により画像出力させたい所定の形式の画像データを画像出力命令と伴に画像出力装置に転送するのに先だって、所定のタイミングでその時点における画像データを画像出力命令なしに転送しておく。従って、画像出力側で、先に与えられた画像データについて出力可能な状態にしておけば、ユーザの指示に従って転送した画像データが、先に転送しておいた画像データと同一であった場合は、ただちに画像出力することができる。
【００３０】
本発明では、画像作成装置から画像出力装置に、ユーザの指示により画像出力させたい所定の形式の画像データを画像出力命令と伴に画像出力装置に転送するのに先だって、所定のタイミングでその時点における画像データを画像出力命令なしに転送しておく。画像出力装置は、画像出力命令を伴なわない第１の形式の画像データが入力されると、これを第２の形式の画像データに変換して保持しておく。その後、画像出力装置に対し、画像出力命令を伴なう第１の形式の画像データが入力され、この画像データが先に画像出力命令を伴なわずに入力された画像データと同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力を行なうことができる。
【００３１】
本発明は、画像作成装置から画像出力装置（例えばダムプリンタ）に、ユーザの指示により画像出力させたい画像出力可能な第２の形式の画像データを画像出力命令と伴に画像出力装置に転送するのに先だって、所定のタイミングでその時点における第１の形式の画像データを第２の形式の画像データに変換しておく。その後、外部から画像作成装置に対して画像出力命令が与えられた場合、画像出力すべき第１の形式の画像データが先に画像出力命令を待たずに第２の形式の画像データに変換した基となった第１の画像データと同一内容である場合、既に第２の形式の画像データに変換し保持しているので、変換処理を待たずにただちに画像出力装置に転送して画像出力させることができる。
また、画像作成装置では、画像作成アプリケーションが継続的に動作していない期間中に上記動作を行なうようにしたので、画像作成アプリケーションの実行が上記動作によって妨げられることがないので、ユーザは従来と比較し違和感なく自由に画像作成アプリケーションを使用することができる。
以上説明したように本発明によれば、ユーザーによる画像出力命令が入力されてから画像出力が開始されるまでの間の出力時間を削減することができる（ファースト・レスポンスを高速化することができる）。
【００３２】
【発明の実施の形態】
以下、図面を参照しながらこの発明の実施の形態を説明する。
この実施の形態の説明において、画像出力装置（画像出力部）の具体的にはプリンタの場合を用いるが、本発明はプリンタ以外のデジタル複写機やＦＡＸなど画像記録装置やディスプレイなどの画像表示装置等にも適用可能である。
【００３３】
図１に、この発明の第１の実施の形態に係る画像出力システムを示す。
この画像出力システムは、画像データを作成するための画像作成部１００、および与えられた画像データを出力する画像出力部２００から構成される。
この実施の形態では、画像作成部１００は、ホストコンピュータ３００上で実現し、画像出力部２００は、ホストコンピュータ３００と通信路で接続した画像出力装置（例えば、プリンタ、デジタル複写機、ＦＡＸなどの画像記録装置やディスプレイなどの画像表示装置等）として実現する場合を説明する。
【００３４】
ホストコンピュータ３００上では、画像データを作成するためのワードプロセッサなどのアプリケーション・ソフトウェアである画像作成アプリケーション（図中１０２）が起動可能であり、ユーザはこの画像作成アプリケーション１０２を利用して、画像データを作成する。ここで、画像データの基本単位は、「文字コード」「図形コマンド」「イメージデータ」である。画像データは、これら「文字コード」「図形コマンド」「イメージデータ」を任意に組合わせたもので、例えば「文字コード」だけを含む場合や「文字コード」と「イメージデータ」を含む場合や全て含む場合など、種々の場合があり得る。この画像作成アプリケーション１０２には、画像データを作成する機能の他に、例えば、作成した画像データを外部記憶装置等に保存する機能や外部記憶装置等に保存されている画像データを読出す機能等を持たせても良い。
【００３５】
ユーザは、画像データを画像出力装置に出力させたい場合は、ホストコンピュータ３００から画像出力命令を入力する。このホストコンピュータ３００から入力される画像出力命令は、画像作成アプリケーション１０２に対して行われる場合と、画像コピー（ディスプレイに表示されている画面のプリント）のようにホストコンピュータ３００上のＯＳに対して行われる場合が考えられる。
【００３６】
画像作成部１００は、上記の画像作成アプリケーション１０２によりユーザに画像作成機能を提供し、作成中の画像データを保持し、ユーザの画像出力命令に応じて作成完了の画像データを画像出力部２００に送り出す他に、画像出力命令がなくても所定のタイミングで作成中の画像データを画像出力部２００に送り出す機能を有するものである。
【００３７】
画像出力部２００は、基本的には、画像作成部１００から送られた画像データをビットマップデータに展開し変形し画像出力を行なうためのものであるが、この実施の形態では、画像作成部１００から所定のタイミングで送られてくる画像データを画像出力可能なビットマップデータの状態にして保持するようにしている。そして、新たに送られてきた画像データと直前に送られてきた画像データが同一である場合は、展開や変形などの処理を省略するようにしている。また、新たに送られてきた画像データと直前に送られてきた画像データの相違が小さいものである場合に、その差分に対応する展開や変形などの処理だけを行なうことも可能としている。
【００３８】
次に、画像作成部１００および画像出力部２００の構成について、さらに詳しく説明する。
図１に示すように、この第１の実施の形態では、画像作成部１００には、画像作成アプリケーション１０２、画像データ記憶部１０６、転送部１０７、画像出力部ドライバ１０８を設けている。
一方、第１の実施の形態では、画像出力部２００には、画像データ一時記憶部２０２、画像データ比較部２０４、予測画像データ記憶部２０６、画像展開部２０８、キャッシュメモリ部２１０、メモリ２１２、出力デバイス部２１４を設けている。
【００３９】
各構成要素の概要は、次の通りである。
画像データ記憶部１０６は、画像作成アプリケーション１０２で作成された画像データ（１）（図中ａで示す画像データ）を記憶する。
【００４０】
転送部１０７は、画像データ記憶部１０６に記憶された作成中の画像データを未完画像データとして、所定のタイミングで画像出力部２００に与えるために設けたものであり、画像データ記憶部１０６から画像出力部ドライバ１０８への画像データ（１）の転送を制御する。
なお、画像出力命令が入力された場合も、画像データ記憶部１０６から画像出力部ドライバ１０８へ画像データ（１）が出力画像データとして転送される。
【００４１】
画像出力部ドライバ１０８には、転送部１０７の働きによりまたは画像出力命令により画像データ（１）（図中ａ）が与えられると、これを画像出力部２００に対応した形式の画像データ（２）（図中ｂ）に変換し、画像データ一時記憶部２０２へ送る。
画像データ一時記憶部２０２は、画像出力部ドライバ１０８から送られてきた画像データを一時記憶する。
【００４２】
予測画像データ記憶部２０６は、最後に転送された画像データ（２）に相当する画像データを予測画像データ（図中ｃ）として保持する。予測画像データは、画像データ比較部２０４により書き込まれる。
画像データ比較部２０４は、画像データ一時記憶部２０２内の画像データ（未完画像データまたは出力画像データ）を予測画像データ記憶部２０６内の画像データと比較し、その結果（相違する部分の程度や相違内容）に基づいて展開画像データ（図中ｄ）と予測画像データを作成する。
【００４３】
画像展開部２０８は、キャッシュメモリ部２１０を利用しつつ、画像データ比較部２０４から与えられた展開画像データを出力デバイス部２１４の出力形態に対応したビットマップデータ（図中ｅ，ｆ）に展開・変形する。画像データの内容に応じて、展開だけ行なう場合と、変形だけ行なう場合と、両方を行なう場合が考えられる。作成されたビットマップデータは、メモリ２１２の内容に反映される。
【００４４】
キャッシュメモリ部２１０は、画像展開部２０８により展開・変形されたビットマップデータ（図中ｆ）をキャッシュする。
メモリ２１２は、画像展開部２０８により展開・変形されたビットマップデータ（図中ｅ）を保持する。
【００４５】
出力デバイス部２１４は、画像出力命令に従い、メモリ２１２内のビットマップデータ（図中ｅ）を出力（例えばプリント）する。
出力デバイス部２１４は、例えば、レーザープリンタの記録エンジンに相当する。この場合、メモリ２１２に所望のページのデータがすでに書き込まれると、メモリ２１２の内容はページの隅からシリアルに出力デバイス部２１４に送られ、画像として出力される。
【００４６】
ここで、上記の展開・変形処理を画像出力部（画像出力装置）がプリンタの場合を例にとって説明する。プリンタ記録エンジンが６００ｄｐｉという出力形態を持つものであれば、文字コードや図形コマンドは６００ｄｐｉの密度のビットマップデータに展開される。また、そのプリンタ記録エンジンがカラー記録能力を持つのであれば、イエロー・マゼンタ・シアンの３色もしくはそれに黒を加えた４色分のビットマップデータに展開される。
それ自体がビットマップ形式であるイメージデータに対しては変形処理が施される。先程の例でいうと、そのイメージデータが６００ｄｐｉ以外の密度を持つならば６００ｄｐｉの密度に拡大・縮小される。また、そのイメージデータが各画素８ビットの階調を持ち、プリンタ記録エンジンの階調再現能力が各画素３ビットしか持たない場合は、多値誤差拡散などの疑似階調処理が施される。
【００４７】
図２には、図１の画像出力システムのハードウェア構成図を示すとともに、併せて、太線でデータの流れを示している。
なお、上記した構成要素は、適宜、画像作成部１００と画像出力部２００に（ホストコンピュータとプリンタに）分散配置させることが可能であり、その分配の仕方により種々の実施の形態が考えられる。図１、２では、画像出力部ドライバ１０８と画像データ一時記憶部２０２の間の画像データ転送に通信路を用い、その他ではデータバスを用いているが、他の分配の仕方をとった場合は、通信路を用いる部分が変わる。
なお、転送部１０７は、ホストコンピュータ３００のホストＣＰＵ３０２上でプログラムを実行させることにより実現しても良い。また、画像データ比較部２０４や画像展開部２０８については、画像出力部２００に設けた図示しないＣＰＵ上でプログラムを実行させることにより実現しても良い。
【００４８】
次に、この画像出力システムの動作について説明する。
まず、画像作成部１００に関する動作について説明する。
画像作成アプリケーション１０２において、ユーザにより画像データ（１）が作成されていく。この画像データは、画像作成アプリケーション１０２に固有のページ記述言語形式の画像データあるいは画像作成アプリケーションを動作しているＯＳに固有のページ記述言語形式の画像データである。
【００４９】
図３に、ページ記述言語形式の画像データ例を示す。ページ記述言語形式の画像データは、ページフォーマット（例えば解像度や余白を定義するもの）、文字コード、丸や四角などの図形を描画する図形コマンド、自然画のようなビットマップ形式で記述されているイメージデータで構成される。図３にあるように、文字コード、図形コマンド、イメージデータには、ページ内の位置、大きさ、回転角度、フォントや線等の種類などが付加される。
画像作成アプリケーション１０２で作成された画像データ（１）（図中ａ）は、画像データ記憶部１０６に随時記憶されていく。
【００５０】
転送部１０７は、所定のタイミングで、この画像データ記憶部１０６に記憶されている画像データ（１）を画像出力部ドライバ１０８に転送する。
【００５１】
転送部１０７は、例えば図１のような構成である。転送信号発生部１０９は、ホストＣＰＵ３０２からのクロック（図示せず）を元に、所定のタイミングで転送信号（図中Ｓｉｇ２）を出力する。未完画像データ転送部１１０は、この転送信号（Ｓｉｇ２）を受信すると、未完画像転送コマンド（図１中のＣｍｄ）を画像データ記憶部１０６に送り、画像データ記憶部１０６に記憶されている画像データ（１）（図中ａ）を画像出力部ドライバ１０８に転送する。
【００５２】
上記の所定のタイミングについて説明すると、例えば、転送部１０７は、例えば一定の時間間隔ごとに未完画像データ（１）の転送を行っても良い。
また、転送部１０７がホストＣＰＵ３０２上で実行するプログラムにより実現されるものである場合で、この転送部１０７（あるいは画像出力部ドライバ１０８）の動作を行うＣＰＵと画像作成アプリケーション１０２を動作させるホストＣＰＵ３０２を共有しているときは、この転送動作のために画像作成アプリケーション１０２の動作が遅くなるケースが生じてくる。このような状況は画像作成ユーザにとっては不便である。したがって、このような不具合をなくすため、ホストＣＰＵ３０２がアプリケーション動作中は転送動作を行わないようにすることが望ましい。
【００５３】
図４は、上記のように動作させるための転送信号発生部１０９の内部構成の一例である。以下、図５のフローチャートを参照して、ＣＰＵ状態観測部１２０とカウンタ１２２からなる転送信号発生部１０９の動作を説明する。
まず、カウンタ１２２のカウント値を０に初期化する（ステップＳ２０）。カウンタ１２２は、ホストＣＰＵ３２０からのクロック（図示せず）で、カウントアップ（またはカウントダウン）していく（ステップＳ２１）。
【００５４】
ＣＰＵ状態観測部１２０は、ホストＣＰＵ３０２からの状態信号（図中ｓｉｇ１）を受け取り解析して、ホストＣＰＵ３０２が画像作成アプリケーション（１０２）の命令を実行中であるときに、ｂｕｓｙ信号（図中Ｓｉｇ２１）を発生する。カウンタ１２２は、ｂｕｓｙ信号を受信した場合、カウント値をリセットする（ステップＳ２２）。
【００５５】
ｂｕｓｙ信号によるリセットがなく、カウント値がある値ｎに達すると、カウンタ１２２は、転送信号（Ｓｉｇ２）を発生し（ステップＳ２４）、カウント値をリセットし（ステップＳ２０）、再度、カウントアップ（またはカウントダウン）を開始する。
このようにすれば、ホストＣＰＵ３０２が画像作成アプリケーション１０２の命令実行中または実行後、ｎクロックカウントする間は、未完画像データ転送部１１０が未完画像データ（図中ａ）の転送を行なわず、命令が一時中断しているときにのみ転送を行なうので、画像作成アプリケーション１０２の動作には負担をかけずにすむ。なお、このカウンタ係数ｎは、ユーザがキーボード入力やマウス操作などで任意に選択・設定できるようにすることが望ましい。
【００５６】
さて、画像データ記憶部１０６から画像出力部ドライバ１０８に画像データ（１）（図中ａ）が転送されると、画像出力部ドライバ１０８により、画像データ（１）は、画像データ（２）（図中ｂ）に変換される。この変換は、例えば、画像データ（１）を構成する各文字コード、図形コマンド、イメージデータ等を、それらに対応した画像出力部２００固有の関数コードやフォントアドレス等に置き換えることで行なわれる。
ただし、画像出力部２００が画像データ（１）（図中ａ）を直接認識でき、後述する画像展開部２０８での展開・変換が速やかに行われる場合は、画像データ（１）をそのまま変換せずに画像データ（２）として送る方が望ましい。
【００５７】
以上のように、ユーザが画像出力命令（例えばプリント命令）を入力する以前に転送部１０７の働きによって画像データが転送されるわけである。
このようにして所定のタイミングで転送される画像データは、未完画像データと呼ぶ。
【００５８】
一方、この画像出力システムでは、ユーザによる画像出力命令によって、画像データが転送されるが、画像出力命令直後の画像データは、出力画像データと呼ぶ。
画像作成アプリケーション１０２で作成された画像データは、ハードディスクあるいはフロッピーディスクなどの外部記憶媒体に一度記憶および保管された後、再度、画像作成アプリケーション１０２を通じて読み込まれ修正が施され出力される場合がある。このような場合も、再度読み込まれた画像データは、未完画像データとして、転送が開始されることが望ましい。
【００５９】
次に、図６のフローチャートを参照しながら、画像出力部２００に関する動作について説明する。
この画像出力部２００には、上記のようなタイミングで画像作成部１００から画像データ（２）（図中ｂ）が順次送られてくるが、以下では、画像データ（２）として、未完画像データが２回送られてきた後、出力画像データが送られてくる場合を例にとって説明を行なう。
まず、画像データ（２）として、１度目の未完画像データ（図中ｂ）が送られてきて画像データ一時記憶部２０２で一時記憶される。
【００６０】
画像データ比較部２０４からｒｅａｄｙ信号（図中Ｓｉｇ３）が受け渡されると、未完画像データは画像データ比較部２０４に引き渡される（ステップＳ１）。
その時点では、予測画像データ記憶部２０６に何も記憶されていないため（ステップＳ２でＮｏ）、未完画像データは、そのまま展開画像データ（図中ｄ）として画像展開部２０８に送られ（ステップＳ７，Ｓ９）、画像展開部２０８で予測ビットマップデータ（図中ｅ）に予測展開・変形されてメモリ２１２に書き込まれる（ステップＳ１０）。同時に、予測ビットマップデータ（図中ｆ）は、キャッシュメモリ部２１０に書き込まれる。
それと並行して、未完画像データは、予測画像データ（図中ｃ）として予測画像データ記憶部２０６に記憶される（ステップＳ３）。
未完画像データの場合は、画像出力命令は伴なわないので（ステップＳ１５でＮｏ）、一連の処理が終了となる。
【００６１】
次に、画像データ（２）として、２度目の未完画像データ（図中ｂ）が送られてくる。
画像データ比較部２０４では、この２度目の未完画像データと、予測展開画像データ記憶部２０６に記憶されている予測展開画像データとを比較する（ステップＳ１，Ｓ２，Ｓ４）。
【００６２】
比較結果に応じて、未完画像データは、展開画像データに変換され画像展開部２０８へと送られる。
この未完画像データから展開画像データへの変換について、図７〜図９を用いて詳しく説明する。
図７〜図９は、未完画像データと予測画像データの２つのデータの例を示している。画像データ（２）は、プリンタ固有のコードとなっており、情報に冗長な部分が少なく、比較も行ない易い。
【００６３】
まず、２度目の未完画像データが１度目の未完画像データと同内容であった場合は、ステップＳ４でＮｏとなり、何もせずに処理を終える。
もし、ステップＳ４で少しでも相違がある場合、上記の１度目の未完画像データに対する処理と同様に画像データ全体を展開・変形する方法と、後述するように相違する部分の程度や相違内容によっては、全体を展開・変形せずに部分展開を行なう方法とがある。
【００６４】
図７のように２度目の未完画像データが予測画像データに、新たな文字コードや図形コマンド（以下これらを総称して出力コマンドと呼ぶ）が付加されているだけならば（ステップＳ１１）、その付加された出力コマンドだけを展開などすれば処理量が少なくて済み有効である。付加された出力コマンドのみを展開などする場合、その付加された出力コマンドを展開画像データ（図中ｄ）として画像展開部２０８に送り、予測ビットマップデータ（図中ｅ）に予測展開・変形され（ステップＳ１３）、メモリ２１２に上書きなどにより反映される（ステップＳ１４）。さらに、予測ビットマップデータは、キャッシュメモリ部２１０に書き込まれる。また、その出力コマンドは、予測展開画像データとして、予測画像データ記憶部２０６に上書きなどにより反映される（ステップＳ５）。
【００６５】
しかし、差分が少なくても、部分展開後にメモリ２１２に反映させるのが容易でない場合には、未完画像データを構成するページ内のすべての出力コマンドをもう一度展開するなどしても良い。
なお、差分が少なく、部分展開容易な場合にも、下記のように未完画像データを構成するページ内のすべての出力コマンドをもう一度展開するなどしてもかまわない。
【００６６】
未完画像データのすべての記録コマンドを展開などする場合は、未完画像データすべてを展開画像データとして画像展開部２０８に送り、そこで予測ビットマップ画像に展開・変形され、メモリ２１２の内容を完全に置き換える。また、予測ビットマップデータは、キャッシュメモリ部２１０に記憶される。さらに、未完画像データは、予測画像データとして予測画像データ記憶部２０６に書き込まれ、その内容を置き換える（ステップＳ５）。
【００６７】
例えば、図８のように未完画像データが予測画像データの一部を落としたものや、図９のようにあるコマンドが未完画像データのみにあり、別のコマンドが予測画像データにある場合は、メモリ２１２や予測画像データ記憶部２０６の内容を部分消去せねばならず複雑な処理を必要とする（ステップＳ６でＮｏ）。この場合、未完画像データを改めてすべて展開・変形し（ステップＳ７，Ｓ９）、メモリ２１２の内容を置き換え（ステップＳ１０）、予測画像データ記憶部も置き換える（ステップＳ５）ほうが有効である。
【００６８】
さらに、部分消去が容易な場合は、予測画像データにのみあるデータに対応するビットマップデータをメモリ２１２から消去してもかまわない。このときは対応する予想画像データの内容も消去し、続いて未完画像データのみにあるコマンドを展開などしてメモリ２１２に上書きし、そのコマンドを予測画像データ（図中ｃ）として予測画像データ記憶部２０６の内容に付加する。
以上の２回目の未完画像データの場合も、画像出力命令はないので（ステップＳ１５でＮｏ）、一連の処理は終了となる。
【００６９】
なお、上記のステップＳ７やステップＳ１１でキャッシュされている出力コマンドがあった場合は、ステップＳ８やステップＳ１２のようにキャッシュを利用する。
【００７０】
画像データ（２）として未完画像データが３度以上送られてくる場合は、上記の２度目の未完画像データが送られてきた場合の処理が繰り返される。
最後に、ユーザがホストコンピュータ３００に画像出力命令（例えばプリンタ装置におけるプリント命令）を入力すると、画像出力命令とともに画像データ（２）として出力画像データが送られてくる。
【００７１】
出力画像データは、画像データ比較部２０４で予測展開画像データ記憶部２０６に記憶されている予測展開画像データと比較される（ステップＳ１，Ｓ２，Ｓ４）。
もし、出力画像データが予測画像データ（つまり最後に転送された未完画像データ）と同内容であった場合（ステップＳ４でＹｅｓ）、展開処理などの一切の処理が不要であり、メモリ２１２には既に出力画像データに対応するビットマップデータが記憶されている状態である。したがって、この場合はただちにメモリ２１２内の予測ビットマップデータが出力ビットマップデータとして出力デバイス２１４に送られ、画像出力が行なわれる（ステップＳ１５，Ｓ１６）。
【００７２】
比較の結果、異なる部分があると判定された場合は、２度目の未完画像データが送られてきたときの手順と同様にし、可能であればキャッシュメモリ部２１０を利用し、画像展開部２０８で必要な展開や変形などを施し、メモリ２１２への書き込みを行なう。
この場合、画像出力命令を受信するので、メモリ２１２への書き込みが終了した後出力デバイス２１４に送られ、画像出力が行なわれる（ステップＳ１５，Ｓ１６）。
【００７３】
以上のように、この実施の形態によれば、ユーザーによる画像出力命令入力されてから画像出力が開始されるまでの間の出力時間を削減することができる（ファースト・レスポンスを高速化することができる）。
【００７４】
なお、画像出力命令を実行した後は、各記憶部やメモリの内容を保持しておいても良いし、クリアしても良い。画像出力命令を実行した後に、基本的に相違する画像データを出力する可能性が高い場合は、最初の未完画像データを受けたときに、比較処理を省略することができるので、クリアしておいた方が有効である。一方、画像出力命令を実行した後に、相違部分の少ない画像データを編集あるいは出力する可能性が高い場合は、前回の出力画像データを次回の画像データに対する１回目の未完画像データとすることができるので、保持しておいた方が有効である。また、上記のいずれかを適宜選択設定できるようにしても良い。
【００７５】
ところで、画像作成アプリケーション１０２で作成する未完画像データ（１）または出力画像データ（１）（図中ａ）は複数のページにわたる画像データの場合が多い。それに対してメモリ２１２はコスト上の制約から１ページ分のビットマップデータしか書き込めない。そのため、未完画像データ（２）が複数ページにわたる場合、最も出力される可能性のあるページの未完画像データ（２）（図中ｂ）がメモリ２１２に予約展開・変形されていることが望ましい。通常は、第１ページから出力されることがおおいので、画像データの最初の１ページの画像データが予測展開・変形されているようにすることが望ましい。
【００７６】
第１の実施の形態の他のものとして、図１０に示すように、圧縮部２２６および伸長部２３２を設けて、メモリ２１２の容量を少なくてすむようにした画像出力システムを説明する。画像出力部２００′の圧縮部２２６は複数ページのビットマップデータ（図中ｅ）を圧縮して圧縮データ（図中ｇ）として、できるだけメモリ２１２に書き込む。ユーザが画像出力命令を入力した後は、予測画像データ（図中ｃ）と出力画像データ（２）（図中ｂ）が一致していれば伸長部２３２が圧縮データ（図中ｈ）を伸長しビットマップデータ（図中ｉ）として伸長するのみであるので、画像出力命令入力後の出力時間を短縮することができる。
【００７７】
図１１に、この発明の第２の実施の形態に係る画像出力システムを示す。
【００７８】
図１２には、図１１の画像出力システムのハードウェア構成図を示すと共に、併せて、太線でデータの流れを示している。
【００７９】
画像作成部１００″側に画像作成アプリケーション１０２と画像データ記憶部１０６を設け、画像出力部２００″側に転送部１０７、画像出力部ドライバ１０８、画像データ一時記憶部２０２、画像データ比較部２０４、予測画像データ記憶部２０６、画像展開部２０８、キャッシュメモリ部２１０、メモリ２１２、出力デバイス部２１４を設けたものである。
【００８０】
図１１の画像出力システムでは、図１と異なり、画像出力部２００″側にアクセス信号発生部１０９（図１の転送信号発生部１０９と同様のもの）と未完画像データアクセス部１１０（図１の未完画像データ転送部１１０と同様のもの）を設けてある。このアクセス信号発生部１０９は、図１の転送信号発生部１０９と同様、ある所定のタイミングになるとアクセス転送信号ｓｉｇ２（図１の転送信号Ｓｉｇ２と同様のもの）を発生する。ある所定のタイミングとは、前述した実施の形態における転送部１０７と同様である。未完画像データアクセス部１１０はアクセス信号Ｓｉｇ２を受け取ると、画像データ記憶部１０６にアクセスし、その画像データ記憶部１０６に記憶されている画像データ（１）（図中ａ）を画像出力部２００に読み込んでくる。
【００８１】
このような一連の作業はホストコンピュータ３００に負担を与えないので、アプリケーション動作をより高速に行なえる。
【００８２】
図１３に、この発明の第３の実施の形態に係る画像出力システムを示す。
【００８３】
図１４には、図１３の画像出力システムのハードウェア構成図を示すと共に、併せて、太線でデータの流れを示している。
【００８４】
画像作成部１００″′側に、画像作成アプリケーション１０２、画像データ記憶部１０６、転送部１０７、画像出力部ドライバ１０８、画像データ一時記憶部２０２、画像データ比較部２０４、予測画像データ記憶部２０６、画像展開部２０８、キャッシュメモリ部２１０、メモリ２１２を設け、画像出力部２００″′側には出力デバイス部２１４を設けたものである。
【００８５】
第１および第２の実施例では、予測処理に用いられる画像展開部２０８などが画像出力装置（例えばプリンタ）内に設けられている場合であったが、この第３の実施の形態は、画像の展開・変形をホストコンピュータ内で行ない、画像出力装置としてはダムプリンタを用いている場合である。
【００８６】
ただし、この場合、画像展開・変形を行うＣＰＵと画像作成アプリケーションを動作させるＣＰＵとを共有する可能性が高い。この場合は画像作成アプリケーションを優先的に作動させるようにすることが必要であり、これにより画像作成を行なっているユーザに違和感を与えずにすむ。
【００８７】
また、プリンタがネットワークに接続されていて複数のユーザーがプリンタとアクセスしたり、一人のユーザーが複数の画像アプリケーションを使用している場合が考えられる。この場合は、予測画像データ記憶やメモリを、使用されている数だけ持つことが望ましい。それらの数が足りないときは、複数のユーザーや複数のアプリケーションの間で優先順位をつけておくことが望ましい。
なお、第２の実施の形態や第３の実施の形態でも、図１０のように圧縮・伸長を行なう構成にしても良い。
【００８８】
また、以上の各実施の形態に係る画像出力装置は、例えば予め保存してある動画像データ（あるいは連続する画像データの差分が小さいもの）を複数連続して画像出力するような場合にも適用することができる。
【００８９】
以上の実施の形態では、画像作成部はホストコンピュータ３００上で実現し、画像出力部は、ホストコンピュータ３００と通信路で接続した画像出力装置（例えばプリンタ）として実現する場合を説明したが、もちろん画像作成部と画像出力部を一体化し、例えばワードプロセッサのような形で構成しても良い。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【００９０】
次に、図１５に示す本発明の第４の実施の形態に係る画像出力システムについて説明する。この第４の実施の形態に係る画像出力システムの特徴は、複数の画像作成装置１００（コンピュータ３００）が接続されている。例えばプリンタ等の画像出力装置２００を備えている点である。
【００９１】
具体的には、所定の画像作成アプリケーションを備えるコンピュータ３００により作成された画像データが、データバス３０１を介して、画像出力装置２００に転送される。転送に際しては、画像作成装置１００内に設けられた転送部１０７が用いられ、この転送部１０７は、転送信号発生部１０９とカウンタ１１１とを備えている。
プリンタ等の画像出力装置２００は、コンピュータ３００から転送されてきた画像データに付けられたコマンドを解析するコマンド解析部２０１と、第１形式の画像データを第２形式の画像データに変換する画像展開部２０８と、キャッシュメモリ２１０及びメモリ２１２を含む画像保持部２１１と、を備えている。
【００９２】
なお、前記コマンド解析部２０１が画像作成装置１００側に設けられている場合には、画像出力装置２００側には、コマンド出力転送部２１３が設けられ、データバス３０１とは逆方向のデータバス３０３を介してコンピュータ３００側のコマンド解析部へプリンタ側からコマンドを転送する。
【００９３】
前記コマンド解析部２０１は、画像データ時記憶部２０２、画像データ比較部２０４、予測画像データ記憶部２０６を備えており、画像作成装置１００より所定単位で順次送られてくる画像データを一時的に記憶し、予測画像データを作成して所定のタイミングにより常に画像データを迅速に出力できるようにしている。なお、１台のプリンタを複数の画像作成装置１００に接続して複数種類の画像データを同時並行して処理する場合には、少なくとも画像データ一時記憶部２０２と予測画像データ記憶部２０６とを画像作成装置１００の台数分だけ設けるようにしておけば良い。また、コマンド解析部２０１そのものを台数分設けておいても良い。
【００９４】
本願発明の顕著な特徴は、画像作成装置１００により準備された画像データを直ちに転送し、これを画像出力装置側に出力可能な状態で保持において、出力コマンドを伴なった画像データが転送されると直ちに保持画像（未完成画像）データと、転送画像データとも比較して最少の修正量で画像データを出力する点にある。そのために、コマンド解析部を画像出力装置（プリンタ）及び画像作成装置（コンピュータ等）の何れかに設けて、このコマンド解析部により作成中の画像データをできるだけ素早く出力できるように出力コマンドなしで送られてくる画像データから出力すべき画像データを予測して保持し、出力コマンドの到着と略同時に画像データを出力している。
【００９５】
そこで、本発明に係る画像システムにおいては、画像出力装置側の画像作成装置側とを双方向ケーブルで接続することにより両装置間の画像データの転送／蓄積と出力コマンドの伝達と画像データ出力の応答性の向上を図るようにしている。図１６及び図１７は、双方向ケーブルを用いて画像作成装置と画像出力装置とを接続した第５及び第６の実施の形態をそれぞれ示している。
【００９６】
図１６は第５の実施の形態に係る画像出力システムを示すブロック図である。図１６において、例えばコンピュータ３００等の画像作成装置は、画像作成アプリケーション等を用いて画像データを作成する画像作成部（図１６には、図示されず）と、作成された画像データを転送する転送部１０７と、を少なくとも備えている。また、例えばプリンタ２００等の画像出力装置は、入力された第１形成の画像データが画像出力命令を伴なっているか否かを解析するコマンド解析部２０１と、前記第１形式の画像データが画像出力命令を伴なっていない場合であっても前記第１形式の画像データを画像出力可能な第２形式の画像データに変換する変換部（画像展開部）２０８と、変換された第２形式の画像データを、画像出力命令を伴なって将来入力されると予測される第１形式の画像データに対応する第２形式の画像データとして保持する保持部２１１と、を備えている。
【００９７】
図１７は、第６の実施の形態に係る画像出力システムを示すブロック図であり、この第６の実施の形態においては、本願発明の特徴であるコマンド解析部が画像作成装置側に設けられ、双方向ケーブルにより画像出力装置と画像作成装置との間が接続されている。
具体的には、図１７において、画像作成装置としてのコンピュータ３００は、画像作成部１００と、転送すべき第１形式の画像データが画像出力命令を伴なっているか否かを解析するコマンド解析部３０５と、を備えている。また、画像出力装置としてのプリンタ２００は、画像出力不可能な第１形式の画像データを画像出力可能な第２形式の画像データに変換する変換部２０８と、変換された第２形式の画像データを、画像出力命令を伴なって将来入力されると予測される第１形式の画像データに対応する第２形式の画像データとして保持する保持部２１１と、画像作成装置から転送されてきた第１形式の画像データに画像出力命令が伴なっている場合に、画像作成装置へコマンド出力を転送するコマンド出力転送部１０７と、を備えている。
【００９８】
最後に、図１８を参照しながら本発明の第７の実施の形態に係る画像出力システムについて説明する。この第７の実施の形態に係る画像出力システムは、図７Ａ及び７Ｂ、８Ａ及び８Ｂ、並びに９Ａ及び９Ｂを用いて上述したように、画像出力命令を伴なわずに入力されていた第１形式の出力側画像データと、画像出力命令を伴なって転送されてきた第１形式の作成側画像データとを比較して、その比較結果における作成側と出力側との差が大きい場合には予測されて予め記憶されていた出力側の第１形式画像データを画像出力命令を伴なって転送されてきた作成側第１形式画像データに書換えてから画像データに出力する。また、作成側と出力側との差が小さい場合には、予め記憶されていた出力側第１形式画像データを上書／修正して画像データを出力する。なお、画像データは第１形式ではそのまま出力することはできないので、変換部で第２形式画像データに変換してから出力することになる。
【００９９】
【発明の効果】
本発明によれば、画像出力命令を伴わない第１形式の画像データを第２形式の画像データに変換して保持しておくので、その後、これと同一の第１形式の画像データが画像出力命令を伴い入力された場合、変換処理を待たず直ちに、既に保持している第２形式の画像データで画像出力を行なうことができる。
また、画像出力命令を伴い入力された第１形式の画像データが先に入力された第１形式の画像データと同一でなくても、その差分のみについて第１形式から第２形式への変換を行ない、その結果を既に保持している第２形式の画像データに上書きするなどして反映させるだけで、画像出力を行なうことができる。
このように、本発明によれば、ユーザーによる画像出力命令が入力されてから画像出力が開始されるまでの間の出力時間を削減することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る画像出力システムの構成を示す図。
【図２】同画像出力システムのハードウェア構成を示す図。
【図３】ページ記述言語形式の画像データの一例を示す図。
【図４】転送信号発生部の内部構成の一例を示す図。
【図５】図４の転送信号発生部の動作の流れを示すフローチャート。
【図６】画像出力部の動作の流れの一例を示すフローチャート。
【図７】未完画像データと予測画像データを比較説明するための図。
【図８】未完画像データと予測画像データを比較説明するための図。
【図９】未完画像データと予測画像データを比較説明するための図。
【図１０】同実施の形態に係る画像出力部の他の構成例を示す図。
【図１１】本発明の第２の実施の形態に係る画像出力システムの構成を示す図。
【図１２】同画像出力システムのハードウェア構成を示す図。
【図１３】本発明の第３の実施の形態に係る画像出力システムの構成を示す図。
【図１４】同画像出力システムのハードウェア構成を示す図。
【図１５】本発明の第４の実施の形態に係る画像出力システムの構成を示す図。
【図１６】双方向ケーブルにより接続された画像作成装置と画像出力装置とを備える本発明の第５の実施の形態に係る画像出力システムの構成を示す図。
【図１７】双方向ケーブルにより接続された画像作成装置と画像出力装置とを備え、かつコマンド解析部が画像作成装置側に設けられた本発明の第６の実施の形態に係る画像出力システムの構成を示す図。
【図１８】本発明の第７の実施の形態に係る画像出力システムの構成を示す図。
【符号の説明】
１００  画像作成部
１０２  画像作成アプリケーション
１０６  画像データ記憶部
１０７  転送部
１０８  画像出力部ドライバ
１０９  転送信号発生部
１１０  未完画像データ転送部
１２０  ＣＰＵ状態観測部
１２２  カウンタ
２００  画像出力部
２０２  画像データ一時記憶部
２０４  画像データ比較部
２０６  予測画像データ記憶部
２０８  画像展開部
２１０  キャッシュメモリ部
２１２  メモリ
２１４  出力デバイス部
２２６  圧縮部
２３２  伸長部
３００  ホストコンピュータ
３０２  ホストＣＰＵ
【図１】
0003660434.tif 000002
【図２】
0003660434.tif 000003
【図３】
0003660434.tif 000004
【図４】
0003660434.tif 000005
【図５】
0003660434.tif 000006
【図６】
0003660434.tif 000007
【図７】
0003660434.tif 000008
【図８】
0003660434.tif 000009
【図９】
0003660434.tif 000010
【図１０】
0003660434.tif 000011
【図１１】
0003660434.tif 000012
【図１２】
0003660434.tif 000013
【図１３】
0003660434.tif 000014
【図１４】
0003660434.tif 000015
【図１５】
0003660434.tif 000016
【図１６】
0003660434.tif 000017
【図１７】
0003660434.tif 000018
【図１８】
0003660434.tif 000019