(57)【要約】      （修正有）【課題】  データ伝送を効率的に行う印刷処理装置および印刷処理システムの提供。【解決手段】  画像処理装置は複数のデータ形式の何れかに則して送られてくる分割画像データを受信する手段と、データ形式を判別する手段と、第１のデータ形式の分割画像データを格納する第１の格納部と、第２のデータ形式の分割画像データを格納する第２の格納部と、第１の格納部のデータを読み出して、第２のデータ形式に変換して第２の格納部の所定の位置に格納する画像変換手段と、第１の格納部の使用状況に応じて上位装置が送信すべきデータ形式を判断可能な情報を通知する通知部とを備え、上位装置は分割して第１のデータ形式に変換する画像分割変換部と、第１のデータ形式の分割画像データを第２のデータ形式に変換するデータ形式変換部と、通知手段からの情報に基づいて第１又は第２のデータ形式の何れかで分割画像データを送信すべきか判断する判断部とを備える。【選択図】        図１
2005339257.tif 000002
【特許請求の範囲】
【請求項１】
上位装置で分割され、かつ複数のデータ形式の何れかを使用して送られてくる分割画像データを受信する受信手段と、
前記受信した分割画像データのデータ形式を判別する判別手段と、
前記受信した分割画像データが第１のデータ形式であれば、これを格納する第１の格納部と、
前記受信した分割画像データが第２のデータ形式であれば、これを格納する第２の格納部と、
前記第１の格納部に格納している分割画像データを読み出して、前記第２のデータ形式に変換し、前記第２の格納部の所定の位置に格納する画像変換手段と、
前記第２の格納部に格納されている前記各分割画像データに基づいて印刷する印刷手段と、
前記第１の格納部の使用状況を判断し、使用状況に応じて前記上位装置が送信すべきデータ形式を判断可能な情報を通知する通知手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記第１のデータ形式は、ページ記述言語であり、前記第２のデータ形式はビットマップ形式であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
画像データに基づく印刷処理を指示するための上位装置と、該上位装置からの印刷指示に応じて印刷処理を行う画像処理装置とからなる画像処理システムにおいて、
前記画像処理装置は、
前記上位装置で分割され、かつ複数のデータ形式の何れかに則して送られてくる分割画像データを受信する受信手段と、
前記受信した分割画像データのデータ形式を判別する判別手段と、
前記受信した分割画像データが第１のデータ形式であれば、これを格納する第１の格納部と、
前記受信した分割画像データが第２のデータ形式であれば、これを格納する第２の格納部と、
前記第１の格納部に格納している分割画像データを読み出して、前記第２のデータ形式に変換して前記第２の格納部の所定の位置に格納する画像変換手段と、
前記第２の格納部に格納されている前記各分割画像データに基づいて印刷する印刷手段と、
前記第１の格納部の使用状況を判断し、使用状況に応じて前記上位装置が送信すべきデータ形式を判断可能な情報を通知する通知手段とを備えており、
前記上位装置は、
前記画像データを分割すると共に、該各分割画像データを前記第１のデータ形式に変換する画像分割変換部と、
前記第１のデータ形式の分割画像データを前記第２のデータ形式の分割画像データに変換するデータ形式変換部と、
前記画像形成装置の前記通知手段からの情報を受信する受信部と、
該受信部の受信情報に基づいて第１のデータ形式又は第２のデータ形式の何れかで分割画像データを送信すべきか判断する判断部と、
前記判断部で判断したデータ形式で前記分割画像データを送信する送信部と、
を備えることを特徴とする画像処理システム。
【請求項４】
前記上位装置の受信部の受信情報は、前記第１の格納部の空き容量情報であり、
前記上位装置において、該空き容量と前記第１のデータ形式の各分割画像データのデータサイズとを比較し、前記空き容量より小さいデータサイズの該第１のデータ形式の分割画像データを送信データとして選択する送信データ選択部を備えることを特徴とする請求項３記載の画像処理システム。
【請求項５】
前記上位装置の受信部の受信情報は、前記第１の格納部の空き容量情報であり、
前記上位装置において、前記第２のデータ形式の分割画像データを送信中に、前記第１の格納部の空き容量情報を所定の時間間隔で受信し、前記空き容量が送信前の前記第１のデータ形式の各分割画像データの内、少なくとも一つの分割画像データのサイズを超えて増加した後、前記第２のデータ形式の分割画像データの送信を一時的に中断して前記第１のデータ形式の分割画像データを送信する制御を行う送信タイミング制御部を備えることを特徴とする請求項３記載の画像処理システム。
【請求項６】
前記データ形式変換部は、前記画像分割変換部が前記画像データの分割と第１のデータ形式への変換を完了した後、直ちに該第１のデータ形式の各分割画像データを前記第２のデータ形式に変換処理することを特徴とする請求項３記載の画像処理システム。
【請求項７】
前記上位装置において、前記画像分割変換部が前記画像データの分割と第１のデータ形式への変換を終了した後、該第１のデータ形式での分割画像データの送信を判断した際は、元画像の先頭部にあたる分割画像データより順次送信し、前記第２のデータ形式での送信を判断した際は、元画像の最後部にあたる前記第１のデータ形式の分割画像データより前記第２のデータ形式に変換処理して順次送信する制御を行う送信データ制御部を備えることを特徴とする請求項３記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷処理装置および画像処理装置に関し、特に上位装置からのデータ伝送が効率的に行われる印刷装置および印刷システムに関する。
【背景技術】
【０００２】
画像処理装置としてのプリンタは、上位装置としてホストコンピュータのアプリケーションプログラム上で作成された画像データに基づいて印刷処理を行う。この印刷処理は、次に述べる２つの方法で実施される。第１の方法として、ホストコンピュータで送信すべきデータをページ記述言語（Ｐａｇｅ
Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）データ又はこれに準じる中間言語に変換し、該データをプリンタへ送信し、該データを受信したプリンタでビットマップデータに展開した後、該ビットマップデータに基づいて印刷処理を行う方法と、第２の方法として、予め画像データをビットマップデータ又はこれに準じるデータ形式に変換し、変換したデータをホストコンピュータからプリンタへ送信し、該データを受信したプリンタでビットマップデータに基づいて印刷処理を行う方法とが存在する。
【０００３】
一般的に、ビットマップデータなどをホストコンピュータからプリンタへ伝送する場合、ビットマップデータに展開されたデータは、展開前のデータよりも、そのデータ量が多く、データ伝送に多くの時間が必要となる。又、ＰＤＬデータをホストコンピュータからプリンタへ伝送する場合、データ量が少なくデータ転送時間が短縮するものの、ビットマップの展開をプリンタで行う必要があり、この展開処理に多くの時間が必要であった。
【０００４】
そこで、特許文献１に示すように、プリンタにビットマップデータの展開処理機能を持たせ、ホストコンピュータからプリンタへＰＤＬデータを送信し、受信したＰＤＬデータを展開し、印刷処理するまでの処理時間と、ホストコンピュータからプリンタへビットマップデータを送信し、該ビットマップデータに基づいて印刷処理するまでの処理時間とを比較し、印刷処理までの時間が短くなるデータ形式を選択して、印刷処理を行う画像処理システムが開示されている。
【特許文献１】特開平１０−１９８５２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、前記した判断に基づきＰＤＬデータを選択し、印刷処理を行った場合でも、ＰＤＬデータ中にプリンタによるビットマップデータへの展開処理に長い時間を必要とする画像を含んでいる場合、ＰＤＬデータの受信速度に対してビットマップデータの展開処理速度が遅くなり、このためホストコンピュータからのデータを受信する受信バッファにＰＤＬデータを受入れることができなくなり、ホストコンピュータからのデータ伝送が停止する事態が生じる恐れがあり、効率的に印刷処理を行うことができなかった。
【０００６】
かかる問題に鑑みて、本発明の目的はデータ伝送を効率的に行う印刷処理装置および印刷処理システムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、以上の点を解決するために、次の構成を採用する。
〈構成１〉
上位装置で分割され、かつ複数のデータ形式の何れかを使用して送られてくる分割画像データを受信する受信手段と、受信した分割画像データのデータ形式を判別する判別手段と、受信した分割画像データが第１のデータ形式であれば、これを格納する第１の格納部と、受信した分割画像データが第２のデータ形式であれば、これを格納する第２の格納部と、第１の格納部に格納している分割画像データを読み出して、第２のデータ形式に変換し、第２の格納部の所定の位置に格納する画像変換手段と、第２の格納部に格納されている各分割画像データに基づいて印刷する印刷手段と、第１の格納部の使用状況を判断し、使用状況に応じて上位装置が送信すべきデータ形式を判断可能な情報を通知する通知手段とを備えることを特徴とする。
〈構成２〉
第１のデータ形式は、ページ記述言語であり、前記第２のデータ形式はビットマップ形式であることを特徴とする。
【０００８】
〈構成３〉
画像データに基づく印刷処理を指示するための上位装置と、該上位装置からの印刷指示に応じて印刷処理を行う画像処理装置とからなる画像処理システムにおいて、記画像処理装置は、上位装置で分割され、かつ複数のデータ形式の何れかに則して送られてくる分割画像データを受信する受信手段と、受信した分割画像データのデータ形式を判別する判別手段と、受信した分割画像データが第１のデータ形式であれば、これを格納する第１の格納部と、受信した分割画像データが第２のデータ形式であれば、これを格納する第２の格納部と、第１の格納部に格納している分割画像データを読み出して、第２のデータ形式に変換して第２の格納部の所定の位置に格納する画像変換手段と、第２の格納部に格納されている各分割画像データに基づいて印刷する印刷手段と、第１の格納部の使用状況を判断し、使用状況に応じて上位装置が送信すべきデータ形式を判断可能な情報を通知する通知手段とを備えており、上位装置は、画像データを分割すると共に、該各分割画像データを第１のデータ形式に変換する画像分割変換部と、第１のデータ形式の分割画像データを第２のデータ形式の分割画像データに変換するデータ形式変換部と、画像形成装置の通知手段からの情報を受信する受信部と、該受信部の受信情報に基づいて第１のデータ形式又は第２のデータ形式の何れかで分割画像データを送信すべきか判断する判断部と、判断部で判断したデータ形式で分割画像データを送信する送信部と、を備えることを特徴とする。
【０００９】
〈構成４〉
上位装置の受信部の受信情報は、第１の格納部の空き容量情報であり、上位装置において、該空き容量と前記第１のデータ形式の各分割画像データのデータサイズとを比較し、前記空き容量より小さいデータサイズの該第１のデータ形式の分割画像データを送信データとして選択する送信データ選択部を備えることを特徴とする。
〈構成５〉
上位装置の受信部の受信情報は、第１の格納部の空き容量情報であり、上位装置において、第２のデータ形式の分割画像データを送信中に、第１の格納部の空き容量情報を所定の時間間隔で受信し、空き容量が送信前の第１のデータ形式の各分割画像データの内、少なくとも一つの分割画像データのサイズを超えて増加した後、第２のデータ形式の分割画像データの送信を一時的に中断して第１のデータ形式の分割画像データを送信する制御を行う送信タイミング制御部を備えることを特徴とする。
【００１０】
〈構成６〉
データ形式変換部は、画像分割変換部が画像データの分割と第１のデータ形式への変換を完了した後、直ちに該第１のデータ形式の各分割画像データを前記第２のデータ形式に変換処理することを特徴とする。
〈構成７〉
上位装置において、画像分割変換部が画像データの分割と第１のデータ形式への変換を終了した後、該第１のデータ形式での分割画像データの送信を判断した際は、元画像の先頭部にあたる分割画像データより順次送信し、第２のデータ形式での送信を判断した際は、元画像の最後部にあたる第１のデータ形式の分割画像データより第２のデータ形式に変換処理して順次送信する制御を行う送信データ制御部を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、画像処理装置で受信した分割画像データのデータ形式を判別して、第１のデータ形式の分割画像データを第１の格納部に格納し、第２のデータ形式の分割画像データを第２の格納部に格納し、第１の格納部に格納されている分割画像データを第２のデータ形式に変換処理して、第２の格納部の所定の位置に格納すると共に、第１の格納部の使用状況を判別し、使用状況に応じて前記上位装置が送信すべき、データ形式を判断可能に通知する。従って、上位装置は、第１の格納部の使用状況に応じて、第１のデータ形式の画像データから第２のデータ形式の画像データに切替えて送信を行うことにより、画像処理装置は、第１の格納部に空きがあるとき、第１のデータ形式の画像データを受信し、第１の格納部に空きがないとき、第２のデータ形式の画像データを受信して第２の格納部に格納することから、常に分割画像データの受信を行うことができる。これにより、本発明によれば、上位装置と画像処理装置との間で効率的に分割画像データを伝送することができ、然るに効率的な印刷処理を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を図を用いて詳細に説明する。
ホストコンピュータなどの上位装置からプリンタやファクシミリなどの画像処理装置に対しデータを伝送し、該画像処理装置で印刷処理を行う画像処理システムを説明する。特に、本実施例では画像処理装置としてプリンタを例に説明する。
尚、本発明における実施形態の幾つかを詳細に説明するが、以下の説明では、各実施例を構成する各ブロックに共通して同一または同種のものには同一符号を付して説明を省略する。
【実施例１】
【００１３】
本発明の画像処理システム１００は、図１に示すように、プリンタ１０とホストコンピュータ５０とが伝送路８０を介して接続されている。
【００１４】
プリンタ１０は、ＵＳＢ（Universal
Serial Bus）などのシリアル通信や、セントロニクスなどのパラレル通信、ＬＡＮ（Local Area Network）通信などの通信規格に対応して、ホストコンピュータ５０と通信するためのインタフェース１１と、該インタフェース１１を介して受信するデータを一時的に保持するテンポラリバッファ２２と、受信するデータの形式を識別するデータ形式識別部１２が設けられた制御部１３と、受信するデータの格納先をデータ形式識別部１２の識別結果に基づいて選択するバッファ選択部１４と、該バッファ選択部１４で選択される第１の格納部としての受信バッファ１５と、第２の格納部としてのデータバッファ１６と、受信バッファ１５に格納されているデータに対し、ビットマップ展開処理を行いデータバッファ１６の所定の位置に格納する展開処理部１８と、データバッファ１６に保持されているデータを印刷可能なデータに変換処理する画像処理部１９と、該画像処理部１９で処理されたデータに基づいて印刷を行う印刷部２０と、受信バッファの空容量をホストコンピュータ５０へ通知する通知部２１とを備える。
【００１５】
尚、テンポラリバッファ２２と受信バッファ１５とデータバッファ１６とは、ＲＡＭ１７に設けられており、適宜その内容が書き換え可能である。
【００１６】
プリンタ１０と伝送路８０を介して接続するホストコンピュータ５０は、基本ソフトウェア上で動作するアプリケーション５１と、前記通信規格に対応してプリンタ１０と通信するためのインタフェース５２と、プリンタを制御するためのドライバ５３とを備えている。
【００１７】
アプリケーション５１やドライバ５３は、プログラムとしてホストコンピュータ５０の図示しない記憶部に記録されており、該記憶部に記録されたプログラムを逐次読み出し、該プログラムに従って図示しないＣＰＵに処理させることで、アプリケーション５１およびドライバ５３は機能する。
【００１８】
アプリケーション５１は、ワードプロセッサや描画などのソフトウェアであり、このアプリケーションソフトウェアで作成された画像データをプリンタ１０に印刷処理させるべく、アプリケーション５１からの印刷指示をドライバ５３へ通知すると、該ドライバ５３がホストコンピュータ５０からプリンタ１０へデータを伝送するために動作する。
【００１９】
ドライバ５３は、画像データをプリンタで認識可能のデータに変換し、変換後のデータを所定のデータサイズに分割処理するデータ変換部５４と、受信バッファの空容量を監視する受信バッファ監視部５５と、分割処理したデータのサイズおよび受信バッファの空容量のサイズを比較するサイズ比較部（判断部）５６と、インタフェース５２を介してプリンタ１０と通信するための送受信部５７とを備えている。
【００２０】
画像データは、アプリケーションで作成された図やグラフなどのイメージデータなどであり、データ変換部５４はこのような画像データをページ記述言語（Ｐａｇｅ
Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）のデータ又はこれに準じる中間言語のデータに変換する。尚、前記したページ記述言語およびこれに準じる中間言語をＰＤＬ言語と総称し、以降の説明を行う。
【００２１】
データ変換部５４は、ドライバ展開処理部（データ形式変換部）５８とバンド変換処理部（画像分割変換部）５９とを備えている。ドライバ展開処理部５８は、ＰＤＬ言語の画像データに対し、必要に応じてビットマップ展開処理を施す。
バンド変換処理部５９は、図２に示すように、画像データを所定のデータサイズに分割してＰＤＬ言語へ変換処理する。尚、分割された各データをバンドと称し、以降の説明を行う。図２においては、アプリケーションで作成した1ページ分の画像データを５分割処理し、５個のバンドを生成する。生成された各バンドに対し、バンド１〜バンド５なる名称をそれぞれ付して以降の説明を行う。
【００２２】
送受信部５７は、分割処理により生成されたバンド単位でプリンタに送信する処理と、プリンタ１０に対し、該プリンタ１０の受信バッファ１５の空容量を問合せて、その結果を取得する処理とを行うべく、通信制御を行う。
【００２３】
受信バッファ監視部５５は、バンド変換処理部５９で分割処理した各バンドをプリンタへ送信するのに先立ち、プリンタ１０に受信バッファの空容量の問合せを行い、受信バッファの空容量の監視を行う。
【００２４】
サイズ比較部５６は、受信バッファ監視部５５で取得した受信バッファの空容量と、バンド変換処理部５９で生成した各バンドにおいて、プリンタ１０へ送信すべきバンドのデータサイズとを比較する。この比較結果に基づいて、送信すべきバンドが受信バッファに受信できないとき、当該バンドに対しビットマップ展開処理をドライバ展開処理部５８で行う。
【００２５】
ところで、ホストコンピュータ５０からのバンドを受信するプリンタ１０は、展開前のバンドを受信バッファ１５で受信し、展開後のバンドはデータバッファ１６で受信する。従って、受信バッファ１５に受信可能な空き容量が無い場合、送信すべきバンドを予めビットマップ展開処理しておき、展開後のバンドをデータバッファ１６で受信させることができる。
【００２６】
ここで、プリンタ１０の各部を詳細に説明する。
テンポラリバッファ２２は、ホストコンピュータ５０からのバンドを一時的に受入れる機能を有しており、後述するデータ形式識別部１２において、バンドのデータ形式を識別するために必要なデータの収容量が確保されている。例えば受入れるバンドのヘッダでデータ形式を識別できる場合、該ヘッダ部を受入れるだけの容量がテンポラリバッファ２２に確保されている。
【００２７】
データ形式識別部１２は、テンポラリバッファ２２で一時的に保持しているホストコンピュータ５０からのバンドを解析し、ビットマップ展開処理前のバンドであるか、ビットマップ展開処理後のバンドであるかを識別し、識別結果をバッファ選択部１４に通知する。
【００２８】
バッファ選択部１４は、データ形式識別部１２の識別結果に基づいて、受信するバンドがビットマップ展開処理前であるとき受信バッファ１５へ、受信するバンドがビットマップ展開処理後であるときデータバッファ１６へ格納すべく、受信するバンドの格納先を選択する制御を行う。
【００２９】
受信バッファ１５は、受信する展開前のバンドを格納可能な、少なくとも１バンドのデータサイズよりも大きな容量で形成されている。
データバッファ１６は、バンドに対応した領域を設けており、ビットマップ展開処理後の各バンド１〜バンド５を、該各バンド１〜バンド５に対応して設けた各領域に格納する。
【００３０】
展開処理部１８は、受信バッファ１５に格納されているビットマップ展開前のバンドをビットマップ展開処理し、ビットマップ展開処理後のバンドをデータバッファ１６の所定の位置に格納する処理を行う。ビットマップ展開処理前のバンドが例えばバンド２であるとき、展開処理部１８はビットマップ展開処理前のバンド２に対し、ビットマップ展開処理を行って得た展開後のバンド２をデータバッファ１６におけるバンド２の格納位置に格納する。
【００３１】
画像処理部１９は、データバッファ１６に格納している展開後のバンドに対し、必要に応じて画像変換処理を行い、印刷用のビットマップデータを生成し、該データを印刷部２０へ出力する。また、ビットマップ展開処理後のバンドが圧縮処理されてデータバッファ１６に格納されている場合、画像処理部１９は、その圧縮を伸張する処理も行う。
【００３２】
通知部２１は、受信バッファ監視部５５からの要求に応じて、受信バッファ１５の空容量を調べ、その結果を通知する。通知を受けた受信バッファ監視部５５は、通知結果に基づいて、受信バッファ１５に空容量が無い場合、送信すべきバンドをドライバ展開処理部５８でビットマップ展開処理させる。ビットマップ展開処理後のバンドが送受信部５７によりプリンタ１０へ伝送されると、プリンタ１０は、展開後のバンドをデータバッファ１６に格納する。これにより、受信バッファに空容量が無い場合、データバッファ１６に展開後のバンドを格納することができる。
【００３３】
次に、画像処理システム１００の動作をフローチャートを用いて説明する。
ホストコンピュータ５０におけるデータ変換処理の動作を図３のフローチャートに沿って説明する。
ホストコンピュータ５０のアプリケーション５１により画像データが生成された後（ステップＳ１１）、印刷要求があるまで待機する（ステップＳ１２）。
【００３４】
印刷要求があると、ホストコンピュータ５０は、インタフェース５２を制御してプリンタ１０に対し印刷処理を行う要求を通知する（ステップＳ１３）。その後、データ変換部５４は、画像データを所定のバンド数に分割処理する（ステップＳ１４）。分割処理で生成された各バンドは、バンド変換処理部５９で順にＰＤＬに変換される（ステップＳ１５）。
全てのバンドに対し、ＰＤＬ変換を行うと処理が終了する（ステップＳ１６）。
【００３５】
次に、ホストコンピュータ５０におけるデータ送信処理の動作を図４のフローチャートに沿って説明する。
送受信部５７は、データ変換部５４で画像データを分割処理して得た各バンドにおいて、少なくとも１つのバンドのＰＤＬ変換処理の完了を待っており（ステップＳ２１）、ＰＤＬ変換処理を終えたバンドを順次送信する。
【００３６】
すなわち、ＰＤＬ変換処理が完了し、送信すべきバンドがあるとき、受信バッファ監視部５５は、プリンタ１０に対し、受信バッファ１５の空容量を問合せる。この問合せを受けたプリンタ１０は、通知部２１で受信バッファ１５の空容量を調べ、その空容量をホストコンピュータ５０へ通知する。
【００３７】
プリンタ１０からの通知を受けたホストコンピュータ５０は、受信バッファ１５の空容量を取得する（ステップＳ２２）。その後、サイズ比較部５６は、取得した空容量と、送信すべきバンドのデータサイズとを比較する（ステップＳ２３）。サイズ比較部５６は、送信すべきバンドのデータサイズが受信バッファ１５の空容量よりも小さいとき（ステップＳ２４）、送受信部５７は、当該バンド、すなわちビットマップ展開処理前のバンドをプリンタ１０へ送信する（ステップＳ２５）。
【００３８】
送受信部５７は、各バンドを送信し終えたか否かを確認する（ステップＳ２６）。全てのバンドの送信を終えていない場合、前記したステップＳ２１からの処理を行う。
【００３９】
ところで、前記したステップＳ２４において、送信すべきバンドのデータサイズが受信バッファ１５の空容量よりも大きいと判断したサイズ比較部５６は、当該バンドをビットマップ展開処理すべく、ドライバ展開処理部５８に対し展開を指示する（ステップＳ２７）。
【００４０】
その後、送受信部５７は、ドライバ展開処理部５８でビットマップ展開処理されたバンドをプリンタ１０へ送信する（ステップＳ２８）。その後、前記したステップＳ２６において、送受信部５７は、各バンドを送信し終えたか否か確認する。全バンドの送信が完了すると、送信処理を終了する。尚、送信処理は、ＰＤＬ変換処理と並行して行われる。
【００４１】
次に、送信されたバンドをプリンタ１０で受信する動作を図５のフローチャートに沿って説明する。
プリンタ１０は、ホストコンピュータ５０から印刷要求があるまで待機状態にあり（ステップＳ３１）、ホストコンピュータ５０からの印刷要求の後、受信バッファ１５の空容量の問合せに対し、通知部２１は受信バッファ１５の空容量をホストコンピュータ５０へ通知する（ステップＳ３２）。
【００４２】
ホストコンピュータ５０からのバンドは、インタフェース１１を介してテンポラリバッファ２２に一時的に保持される（ステップＳ３３）。データ形式識別部１２は、受信したテンポラリバッファ２２に保持するバンドが、展開前のバンドであるか展開後のバンドであるか否かを識別する（ステップＳ３４）。
【００４３】
バッファ選択部１４は、データ形式識別部１２からの識別結果に基づいて収容先を選定する（ステップＳ３５）。すなわち、展開前のバンドは、受信バッファ１５で保持され（ステップＳ３６）、展開後のバンド（展開後データ）は、データバッファ１６で保持される（ステップＳ３７）。
【００４４】
その後、全バンドの受信を完了したか否かを判定し、全バンドの受信を完了していないとき、全バンドの受信が完了するまでステップＳ３３からの処理を繰返す（ステップＳ３８）。また、受信処理は、前記したＰＤＬ変換処理およびデータ送信処理と並行して行われる。
【００４５】
次に、受信バッファに受信したバンドのビットマップ展開処理を図６のフローチャートに沿って説明する。
展開処理部１８は、受信したバンドが受信バッファ１５に保持されるまで待機しており（ステップＳ４１）、受信バッファ１５にバンドが保持されると、保持されたバンドを読出し、該バンドをビットマップ展開処理し、展開後のバンドをデータバッファ１６の所定の位置に保持させる（ステップＳ４２）。
【００４６】
その後、受信した全バンド、すなわち、受信したバンドにおいて、受信バッファ１５に保持される全バンドの変換処理を終えたか否かを判断し（ステップＳ４３）、全バンドの変換処理を終えるまで前記したステップＳ４１からの処理を繰返す。
ビットマップ展開処理は、前記したＰＤＬ変換処理、送信処理および受信処理と並行して行われる。
【００４７】
ビットマップ展開処理を終えた各バンドに基づいて行う印刷処理を図７のフローチャートに沿って説明する。尚、ビットマップ展開処理されたバンドを展開後データと称して、以降の説明を行う。
画像処理部１９は、１ページ分の展開後データがデータバッファ１６に保持されるまで待機しており（ステップＳ５１）、データバッファ１６に１ページ分の展開後データが保持されると、保持されたバンドを読出し、必要に応じて画像処理を行い、印刷部２０で処理可能な例えばビットマップなどのデータ形式に変換する（ステップＳ５２）。尚、画像処理は、展開後データが圧縮されている場合、該展開後データに対して行う伸張処理等である。
【００４８】
画像処理を終えた展開後データは印刷部２０へ送られると、印刷部２０は当該展開後データに基づいて印刷処理を行う（ステップＳ５３）。その後、全ての展開後データに基づく印刷処理、すなわち全ページの印刷処理を終えたか否かを判断し（ステップＳ５４）、全ページの印刷処理を終えるまで前記したステップＳ５１からの処理を繰返す。
印刷処理は、前記したＰＤＬ変換処理、送信処理、受信処理およびビットマップ展開処理と並行して行われる。
【００４９】
ところで、前記した各処理において、終了判定に必要なバンド総数やページ総数などは、バンド情報およびページ情報などとして、ホストコンピュータ５０から伝送されるバンドに含まれている。すなわちホストコンピュータ５０からのバンドを解析し、バンド情報やページ情報を抽出し、抽出したこれらの情報に基づいて各処理の終了判定を行う。また、バンド情報およびページ情報は、総数の外に、当該バンドが何バンド目のバンドであるか、また何ページ目のバンドであるか示す識別情報も含んでいる。
【００５０】
次に、プリンタ１０のＲＡＭ１７、特に受信バッファ１５およびデータバッファ１６に限って、その使用量の遷移を図８の遷移図を用いて、本発明の要所となる処理のみを詳細に説明する。遷移図は、初期状態、処理中１、処理中２、中略して、処理完了の順に処理の流れと共に、受信バッファ１５の使用量およびデータバッファ１６の使用量の関係を示している。尚、本実施例では、１ページ分の画像データがバンド１〜バンド５までの５バンドに分割された例で説明する。
【００５１】
受信バッファ１５は、展開前のバンドを２バンド分保持可能であり、データバッファ１６は、バンド１〜バンド５までの５バンド分の展開後バンドを保持可能である。尚、データバッファ１６は、バンド１〜バンド５までのそれぞれを、受入れ順序に関係なく、バンド番号に対応付けられた所定の位置に、展開後のバンドを保持する。
【００５２】
初期状態において、受信バッファ１５およびデータバッファ１６には何も保持されておらず、その後、ホストコンピュータ５０からのバンド１は、テンポラリバッファ２２に一時的に保持され、データ形式識別部１２でビットマップ展開処理前のバンドであると識別され、バッファ選択部１４の制御を受けて受信バッファ１５に保持される。バンド２も前記したと同様に受信バッファ１５で保持される。
【００５３】
この状態にあるとき、次のバンドを送信すべく、ホストコンピュータ５０の受信バッファ監視部５５から監視要求があると、この要求に応じて通知部２１は、受信バッファ１５の空き容量を通知する。
【００５４】
処理中１において、通知部２１からの通知で得た受信バッファ１５の空容量と、送信すべきバンド、すなわちバンド３のサイズとを比較し、該バンド３のデータサイズが受信バッファ１５の空容量より大きいと判断したサイズ比較部５６は、バンド３にビットマップ展開処理を施すべく、データ変換部５４に対しビットマップ展開処理を指示する。
【００５５】
指示を受けたデータ変換部５４は、バンド３をビットマップ展開処理し、該展開後のバンド３がプリンタ１０へ送信され、ホストコンピュータ５０からのバンド３がテンポラリバッファ２２で一時的に保持される。その後、データ形式識別部１２によりビットマップ展開処理後のバンドであると識別されたバンド３は、バッファ選択部１４の制御を受けて、データバッファ１６に保持される。
従って、受信バッファ１５に受信可能な空容量が無い場合、データバッファ１６で受信することができる。
【００５６】
尚、前記した処理と並行して、受信バッファ１５に保持しているバンド１は、展開処理部１８でビットマップ展開処理され、展開後のバンド１がデータバッファ１６の所定の位置に保持される。またビットマップ展開処理の進捗状況に応じて、受信バッファ１５におけるバンド１の使用量が低減する。
【００５７】
処理中３において、引き続き展開後のバンド３をデータバッファ１６で保持している間に、バンド１のビットマップ展開処理が終了すると、バンド２のビットマップ展開処理が引き続き行われる。
【００５８】
処理中４において、ホストコンピュータ５０から展開後のバンド３の送信が終了、すなわちプリンタ１０のデータバッファ１６で展開後のバンド３を保持し終えた後、受信バッファ監視部５５から監視要求があると、通知部２１は、バンド１のビットマップ展開処理が終えバンド２のビットマップ展開処理に伴い使用量が低減している受信バッファ１５の空容量を通知する。
【００５９】
処理５において、通知を受け、受信バッファ１５の空容量と送信すべきバンド４のデータサイズとを比較したサイズ比較部５６は、この比較で空容量がバンド４のサイズより大きいと判断し、バンド４に対しビットマップ展開処理を施すことなく展開前のバンド４がプリンタ１０へ送信される。ホストコンピュータ５０からのバンド４は、テンポラリバッファ２２に一時的に保持される。その後、データ形式識別部１２によりビットマップ展開処理前のバンドであると識別されたバンド４は、バッファ選択部１４の制御を受けて、受信バッファ１５に保持される。
【００６０】
この状態にあるとき、次のバンドを送信すべく、ホストコンピュータ５０の受信バッファ監視部５５から監視要求があると、この要求に応じて通知部２１は、受信バッファ１５の空き容量を通知する。
尚、以降の処理は、前記した処理中１と同様であり、サイズ比較部５６でバンド５のデータサイズが受信バッファ１５の空容量より大きいと判断すると、ドライバ展開処理部５８でビットマップ展開処理が施される。その後、展開後のバンド５がホストコンピュータ５０からプリンタ１０へ送信される。プリンタ１０では、受信したバンド５をデータ形式識別部１２で識別し、展開後のバンド５をデータバッファ１６で保持する。
【００６１】
全てのバンド、すなわちバンド１〜バンド５がデータバッファ１６で保持された後、画像処理部１９は、必要に応じてバンドに対し、圧縮データの伸張処理等の画像処理を行い、印刷用のビットマップデータを生成し、該ビットマップデータに基づいて印刷部２０で印刷処理を行う。
【００６２】
前記したように、実施例１の画像処理システムによれば、ホストコンピュータ５０からの監視要求に応じて、プリンタ１０の通知部２１で受信バッファ１５の空容量をホストコンピュータ５０へ通知し、通知を受けたホストコンピュータ５０では、送信すべきバンドのデータサイズと、受信バッファ１５の空容量とを比較し、送信すべきバンドのデータサイズが大きいとき、当該バンドをドライバ展開処理部５８でビットマップ展開処理し、展開後のバンドをプリンタ１０へ送信する。
【００６３】
一方、バンドを受けたプリンタ１０では、データ形式識別部１２でビットマップ展開処理前のバンドであるか、ビットマップ展開処理後のバンドであるか否かを判定し、ビットマップ展開処理後のバンドをデータバッファ１６で保持させることから、受信バッファ１５に空容量が無い場合でも、データバッファ１６で展開後のバンドを受信して保持することができ、常にバンドの受信が可能である。よって実施例１の画像処理システム１００によれば、ホストコンピュータ５０からのバンドをプリンタ１０で常に受信できることから、効率的なバンド伝送を行うことができる。
【実施例２】
【００６４】
実施例２の画像処理システム２００は、受信バッファ１５の空容量に応じて送信すべきバンドを選択する送信データ選択部がホストコンピュータ５０に追加されている。
すなわち実施例２のホストコンピュータ５０は、図９に示すように、アプリケーション５１およびドライバ５３を備えおり、実施例２のドライバ５３は、ドライバ展開処理部５８およびバンド変換処理部５９から成るデータ変換部５４と、受信バッファ監視部５５と、サイズ比較部５６と、送受信部５７と、本実施例の特徴である送信データ選択部６０とを備えている。
【００６５】
一方、プリンタ１０は、実施例１と同様であり、インタフェース１１と、データ形式識別部１２を有する制御部１３と、バッファ選択部１４と、受信バッファ１５とデータバッファ１６とテンポラリバッファ２２を有するＲＡＭ１７と、ビットマップ展開処理部１８と、画像処理部１９と、印刷部２０とを備えている。
【００６６】
実施例２の特徴である送信データ選択部６０は、受信バッファ監視部５５で受信バッファ１５の空容量を取得し、サイズ比較部５６で空容量と展開前のバンドのデータサイズとを比較した結果において、何れのバンドを送信すべきか選択する。すなわち送信データ選択部６０は、サイズ比較部５６の比較結果に基づいて、取得した受信バッファ１５の空容量より小さいデータサイズの展開前のバンドがある場合、当該バンドをバンドの送信順序に関係無く選択する。送信データ選択部６０で選択された受信バッファ１５の空容量よりデータサイズが小さなバンドは、送受信部５７でプリンタ１０へ伝送される。
【００６７】
ところで、実施例１のサイズ比較部５６は、受信バッファ１５の空容量と、送信すべきバンドのデータサイズとのみ比較を行っていたが、実施例２においては、単に受信バッファ１５の空容量とバンドのデータサイズとを比較するのではなく、送信すべきバンドのデータサイズが受信バッファ１５の空容量より小さいとき、更に次のバンドと受信バッファ１５の空容量とを比較する。これにより、送信データ選択部６０は、受信バッファ１５の空容量より小さいデータサイズのバンドを取得することができる。
【００６８】
次に、ホストコンピュータ５０におけるバンドの送信処理を図１０のフローチャートに沿って説明する。
送受信部５７は、データ変換部５４で画像データを分割処理して得た各バンドにおいて、少なくとも１つのバンドのＰＤＬ変換処理の完了を待っており（ステップＳ６１）、ＰＤＬ変換処理を終えたバンドを送信する。
【００６９】
すなわち、ＰＤＬ変換処理が完了し、送信すべきバンドがあるとき、受信バッファ監視部５５は、プリンタ１０に対し、受信バッファ１５の空容量を問合せる。この問合せを受けたプリンタ１０は、通知部２１で受信バッファ１５の空容量を調べ、その空容量をホストコンピュータ５０へ通知する。
【００７０】
プリンタ１０からの通知を受けたホストコンピュータ５０は、受信バッファ１５の空容量を取得すると（ステップＳ６２）、該空容量と、送信すべき各展開前のバンドのデータサイズとをサイズ比較部５６で比較する（ステップＳ６３）。送信データ選択部６０は、サイズ比較部５６の比較結果に基づいて、各展開前のバンドにおいて、受信バッファ１５の空容量よりも小さなデータサイズのバンドを選択する。
【００７１】
前記した選択処理で受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが選定できたとき（ステップＳ６４）、当該バンドをプリンタ１０へ送信する（ステップＳ６５）。
【００７２】
一方、前記した選択処理で受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが無い場合、バンド番号が若いバンドがドライバ展開処理部５８でビットマップ展開処理される（ステップＳ６６）。その後、展開後のバンドがプリンタ１０へ送信される（ステップＳ６７）。
【００７３】
送受信部５７は、各バンドを送信し終えたか否かを確認する（ステップＳ６７）。全てのバンドの送信が完了していない場合、前記したステップＳ６１からの処理を行い、全バンドの送信が完了すると、送信処理を終了する。尚、送信処理は、ＰＤＬ変換処理や受信処理などと並行して行われる。
【００７４】
次に、プリンタ１０の受信バッファ１５およびデータバッファ１６の使用量の遷移を図１１の遷移図を用いて、本発明の要所となる処理のみを詳細に説明する。遷移図は、初期状態、処理中１、処理中２、中略して、処理完了の順に処理の流れと共に、受信バッファ１５の使用量およびデータバッファ１６の使用量の関係を示している。尚、本実施例では、１ページ分の画像データがバンド１〜バンド５までの５バンドに分割された例で説明する。
【００７５】
受信バッファ１５は、展開前のバンドを３バンド分保持可能であり、データバッファ１６は、バンド１〜バンド５までの５バンド分の展開後バンドを保持可能である。尚、データバッファ１６は、バンド１〜バンド５までのそれぞれを、受入れ順序に関係なく、バンド番号に対応付けられた所定の位置に、展開後のバンドを保持する。
【００７６】
初期状態において、受信バッファ１５およびデータバッファ１６には何も保持されておらず、その後、ホストコンピュータ５０はプリンタ１０の受信バッファ１５の空容量を問合せて、受信バッファ１５の空容量を取得すると、該空容量と、展開前のバンド１〜バンド５のそれぞれのデータサイズと比較し、バンド１、バンド３およびバンド５のデータサイズが受信バッファの空容量よりも、小さいと判断し、これらの展開前のバンドがホストコンピュータ５０からプリンタ１０へ送信され、プリンタ１０の受信バッファ１５で保持された状態を示している。
【００７７】
この状態にあるとき、次のバンドを送信すべく、ホストコンピュータ５０の受信バッファ監視部５５から監視要求があると、この要求に応じて通知部２１は、受信バッファ１５の空き容量を通知する。
【００７８】
処理中１において、サイズ比較部５６で通知部２１からの通知で得た受信バッファ１５の空容量と、送信すべきバンド、すなわちバンド２のデータサイズおよびバンド４のデータサイズとを比較し、何れのバンドも受信バッファ１５の空容量よりも大きいと判断されると、送信データ選択部６０は、バンド番号が若い展開前のバンド２を選択する。データ変換部５４は、選択したバンド２をビットマップ展開処理し、展開後のバンド２がプリンタ１０へ送信される。
【００７９】
ホストコンピュータ５０からのバンド２がテンポラリバッファ２２で一時的に保持された後、データ形式識別部１２によりビットマップ展開処理後のバンドであると識別されたバンド３は、バッファ選択部１４の制御を受けて、データバッファ１６に保持される。
【００８０】
尚、前記した処理と並行して、受信バッファ１５に保持しているバンド１は、展開処理部１８でビットマップ展開処理され、展開後のバンド１がデータバッファ１６の所定の位置に保持される。これにより、ビットマップ展開処理の進捗状況に応じて、受信バッファ１５におけるバンド１の使用量が低減する。
【００８１】
処理中３において、引き続き展開後のバンド２をデータバッファ１６で保持している間に、バンド１のビットマップ展開処理が終了すると、バンド３のビットマップ展開処理が引き続き行われる。
【００８２】
処理中４において、ホストコンピュータ５０から展開後のバンド３の送信が終了、すなわちプリンタ１０のデータバッファ１６で展開後のバンド３を保持し終えた後、受信バッファ監視部５５から監視要求があると、通知部２１は、バンド１のビットマップ展開処理を終えバンド３のビットマップ展開処理に伴い使用量が低減している受信バッファ１５の空容量を通知する。
【００８３】
処理５において、サイズ比較部５６は、受信バッファ１５の空容量と送信すべきバンド４のデータサイズとを比較する。ここでは、比較結果が受信バッファ１５の空容量よりも展開前のバンド４のデータサイズが大きい前提で、以降の説明を行う。
【００８４】
処理６において、サイズ比較部５６でバンド４のデータサイズが受信バッファ１５の空容量より大きいと判断されると、ドライバ展開処理部５８でバンド４に対しビットマップ展開処理を施す。ビットマップ展開処理されたバンドは、送受信部５７によりプリンタ１０へ送信される。テンポラリバッファ２２にホストコンピュータ５０からのバンド４が一時的に保持されると、データ形式識別部１２は、テンポラリバッファ２２に一時的に保持したバンド４が展開後のバンドであると識別すると、識別結果をバッファ選択部１４へ通知し、バッファ選択部１４は、テンポラリバッファ２２に一時的に保持しているバンド４をデータバッファ１６に保持する。
【００８５】
尚、以降の処理は、前記した処理中２と同様であり、受信バッファ１５に保持しているバンド５が展開処理部１８でビットマップ展開処理され、展開後のバンド５がデータバッファ１６の所定の位置に保持されると共に、受信中のバンド４をデータバッファ１６の所定の位置に保持する処理も並行して行われる。
【００８６】
全てのバンド、すなわちバンド１〜バンド５がデータバッファ１６で保持された後、画像処理部１９は、必要に応じてバンドに対し、圧縮データの伸張処理等の画像処理を行い、印刷用のビットマップデータを生成し、該ビットマップデータに基づいて印刷部２０で印刷処理を行う。
【００８７】
前記したように、実施例２の画像処理システム２００によれば、実施例１と同様にホストコンピュータ５０からのバンドをプリンタ１０で常に受信できる。更に実施例２の画像処理システム２００によれば、サイズ比較部５６で送信すべき各展開前のバンドにおいて、受信バッファ１５の空容量より小さいデータサイズのバンドをバンド番号に関係なく選択し、これを送信する。これにより、実施例２の画像処理システム２００によれば、受信バッファ１５で保持可能なデータサイズのバンドをバンド番号に関係なく送信することから、
バンド番号による制約を受けることなく、効率的なバンド伝送を行うことができる。
【実施例３】
【００８８】
送信タイミングを制御する送信タイミング制御部がホストコンピュータ５０に追加されている。
すなわち実施例３のホストコンピュータ５０は、図１２に示すように、アプリケーション５１およびドライバ５３を備えおり、実施例３のドライバ５３は、ドライバ展開処理部５８およびバンド変換処理部５９を有するデータ変換部５４と、受信バッファ監視部５５と、サイズ比較部５６と、送受信部５７と、送信データ選択部６０と、本実施例の特徴である送信タイミング制御部６１とを備えている。
【００８９】
一方、プリンタ１０は、実施例１と同様であり、インタフェース１１と、データ形式識別部１２を有する制御部１３と、バッファ選択部１４と、受信バッファ１５とデータバッファ１６とテンポラリバッファ２２とを有するＲＡＭ１７と、展開処理部１８と、画像処理部１９と、印刷部２０と、通知部２１とを備えている。
【００９０】
実施例２の特徴である送信タイミング制御部６１は、ホストコンピュータ５０から展開後のバンドを送信中に、定期的に受信バッファ監視部５５を起動し、該受信バッファ監視部５５で監視する受信バッファ１５の空容量を取得し、サイズ比較部５６で取得した受信バッファ１５の空容量と、各展開前のバンドのデータサイズとを比較し、受信バッファ１５の空容量より小さいデータサイズのバンドがある場合、現在送信中の処理を一時中断し、受信バッファ１５の空容量より小さいデータサイズの展開前のバンドを送信処理した後、展開前のバンドの送信処理が終了した後、一時中断していた展開後のバンド送信処理を再開する制御を行う。
【００９１】
受信バッファ監視部５５は、前記した実施例と同様に、展開前のバンドの送信に先立ち、受信バッファ１５の空容量を問い合わせるが、更にドライバ展開処理部５８でビットマップ展開処理されたバンドが送信中である間にも、定期的に受信バッファ１５の空容量を問い合わせる。
【００９２】
次に、ホストコンピュータ５０におけるバンドの送信処理を図１３のフローチャートに沿って説明する。
送受信部５７は、データ変換部５４で画像データを分割処理して得た各バンドにおいて、少なくとも１つのバンドのＰＤＬ変換処理の完了を待っており（ステップＳ７１）、ＰＤＬ変換処理を終えたバンドを送信する。
【００９３】
すなわち、ＰＤＬ変換処理が完了し、送信すべきバンドがあるとき、受信バッファ監視部５５は、プリンタ１０に対し、受信バッファ１５の空容量を問合せる。この問合せを受けたプリンタ１０は、通知部２１で受信バッファ１５の空容量を調べ、その空容量をホストコンピュータ５０へ通知する。
【００９４】
プリンタ１０からの通知を受けたホストコンピュータ５０は、受信バッファ１５の空容量を取得すると（ステップＳ７２）、該空容量と、送信すべき各展開前のバンドのデータサイズとをサイズ比較部５６で比較する（ステップＳ７３）。送信データ選択部６０は、サイズ比較部５６の比較結果に基づいて、各展開前のバンドにおいて、受信バッファ１５の空容量よりも小さなデータサイズのバンドを選択する。
【００９５】
前記した選択処理で受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが選定できたとき（ステップＳ７４）、当該バンドをプリンタ１０へ送信する（ステップＳ７５）。その後、送受信部５７は、各バンドを送信し終えたか否かを確認し（ステップＳ７６）、全てのバンドの送信が完了していない場合、前記したステップＳ７１からの処理を行い、全バンドの送信が完了すると、送信処理を終了する。
【００９６】
一方、前記したステップＳ７４の選択処理において、受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが無い場合、バンド番号が若いバンドがドライバ展開処理部５８でビットマップ展開処理される（ステップＳ７７）。その後、展開後のバンドがプリンタ１０へ送信される（ステップＳ７８）。
【００９７】
ところで、前記したステップＳ７７における展開後のバンドの送信中に、送信タイミング制御部６１は、受信バッファ監視部５５を起動制御し、受信バッファ監視部５５で受信バッファ１５の空容量の問合せを行わせて、受信バッファ１５の空容量を取得させる（ステップＳ７９）。
受信バッファ１５の空容量を取得すると、該空容量と、送信すべき各展開前のバンドのデータサイズとをサイズ比較部５６で比較する（ステップＳ８０）。送信データ選択部６０は、サイズ比較部５６の比較結果に基づいて、各展開前のバンドにおいて、受信バッファ１５の空容量よりも小さなデータサイズのバンドを選択する。
【００９８】
前記した選択処理で受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが選定できたとき（ステップＳ８１）、送信タイミング制御部６１は、現在送信中の処理、すなわち展開後のバンド送信処理を一時中断する制御を行った後（ステップＳ８２）、選定した展開前のバンドの送信処理を行う（ステップＳ８３）。
【００９９】
展開前のバンドの送信処理が終了すると、送信タイミング制御部６１は、一時中断していた展開後のバンドの送信処理を再開する制御を行う（ステップＳ８４）。その後、ステップＳ７９からの処理を繰返す。
【０１００】
ところで、前記したステップＳ８１において、受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドを選定できなかったとき、展開後のバンドの送信が完了したか否かを判定し（ステップＳ８５）、送信処理が完了していない場合はステップＳ７９からの処理を繰り返し、送信処理が完了している場合は、前記したステップＳ７６における全バンドの送信完了確認の処理を行う。
【０１０１】
次に、プリンタ１０の受信バッファ１５およびデータバッファ１６の使用量の遷移を図１４の遷移図を用いて、本実施例の要所となる処理を詳細に説明する。遷移図は、初期状態、処理中１、処理中２、中略して、処理完了の順に処理の流れと共に、受信バッファ１５の使用量およびデータバッファ１６の使用量の関係を示している。尚、本実施例では、１ページ分の画像データがバンド１〜バンド５までの５バンドに分割された例で説明する。
【０１０２】
受信バッファ１５は、展開前のバンドを３バンド分保持可能であり、データバッファ１６は、バンド１〜バンド５までの５バンド分の展開後バンドを保持可能である。尚、データバッファ１６は、バンド１〜バンド５までのそれぞれを、受入れ順序に関係なく、バンド番号に対応付けられた所定の位置に、展開後のバンドを保持する。
【０１０３】
初期状態において、受信バッファ１５およびデータバッファ１６には何も保持されておらず、その後、ホストコンピュータ５０はプリンタ１０の受信バッファ１５の空容量を問合せて、受信バッファ１５の空容量を取得すると、該空容量と、展開前のバンド１〜バンド５のそれぞれのデータサイズと比較し、バンド１、バンド３およびバンド５のデータサイズが受信バッファの空容量よりも、小さいと判断し、これらの展開前のバンドがホストコンピュータ５０からプリンタ１０へ送信され、プリンタ１０の受信バッファ１５で保持された状態を示している。
【０１０４】
この状態にあるとき、次のバンドを送信すべく、ホストコンピュータ５０の受信バッファ監視部５５から監視要求があると、この要求に応じて通知部２１は、受信バッファ１５の空き容量を通知する。
【０１０５】
処理中１において、サイズ比較部５６で通知部２１からの通知で得た受信バッファ１５の空容量と、送信すべきバンド、すなわちバンド２のデータサイズおよびバンド４のデータサイズとを比較し、何れのバンドも受信バッファ１５の空容量よりも大きいと判断されると、送信データ選択部６０は、バンド番号が若い展開前のバンド２を選択する。データ変換部５４は、選択したバンド２をビットマップ展開処理し、展開後のバンド２がプリンタ１０へ送信される。
【０１０６】
ホストコンピュータ５０からのバンド２がテンポラリバッファ２２で一時的に保持された後、データ形式識別部１２によりビットマップ展開処理後のバンドであると識別されたバンド３は、バッファ選択部１４の制御を受けて、データバッファ１６に保持される。
【０１０７】
尚、前記した処理と並行して、受信バッファ１５に保持しているバンド１は、展開処理部１８でビットマップ展開処理され、展開後のバンド１がデータバッファ１６の所定の位置に保持される。これにより、ビットマップ展開処理の進捗状況に応じて、受信バッファ１５におけるバンド１の使用量が低減する。
【０１０８】
処理中２において、バンド１のビットマップ展開処理が終了した後、ホストコンピュータ５０が展開後のバンド２を送信している間に、受信バッファ監視部５５が受信バッファ１５の空容量をプリンタ１０に問合せて受信バッファ１５の空容量を取得すると、該受信バッファ１５の空容量と未送信の展開前のバンド４のデータサイズとをサイズ比較部５６で比較する。比較結果において展開前のバンド４のデータサイズが受信バッファ１５の空容量より小さいと判断され、送信データ選択部６０により選定されると、送信タイミング制御部６１は、現在送信中の処理、すなわち展開後のバンド２の送信処理を一時中断し、選定した展開前のバンド４の送信処理を開始する制御を行う。
【０１０９】
処理中３において、受信バッファ１５で保持しているバンド３のビットマップ展開処理が行われている間に、ホストコンピュータ５０からの展開前のバンド４をプリンタ１０で受信し、該展開前のバンド４を受信バッファ１５で保持する。
【０１１０】
処理中４において、展開前のバンド４の送信処理が完了すると、送信タイミング制御部６１は、中断している展開後のバンド２の送信処理を再開する制御を行う。
【０１１１】
尚、以降の処理は、受信バッファ１５で保持しているバンド５をビットマップ展開処理した後データバッファ１６の所定の位置に保持し、その後受信バッファ１５で保持しているバンド４をビットマップ展開処理した後、データバッファ１６の所定の位置で保持する。
【０１１２】
全てのバンド、すなわちバンド１〜バンド５がデータバッファ１６で保持された後、画像処理部１９は、必要に応じてバンドに対し画像処理を行い、印刷用のビットマップデータを生成し、該ビットマップデータに基づいて印刷部２０で印刷処理を行う。
【０１１３】
前記したように、実施例３の画像処理システム３００によれば、前記した実施例と同様にホストコンピュータ５０からのバンドをバンド番号に関係なくプリンタ１０で常に受信できる。更に実施例３の画像処理システム３００によれば、展開後のバンドを送信中に、受信バッファ１５で保持可能なデータサイズのバンドがあるとき、送信タイミング制御部６１が送信中の展開後のバンドの送信処理を一時中断し、前記展開前のバンドを送信し、該展開前のバンドの送信処理が完了した後、中断している送信処理を再開すべく、送信タイミングの制御を行うことにより、データサイズが大きな展開後のバンド伝送よりデータサイズが小さな展開前のバンドを優先的に送信することから、効率的なバンド伝送を行うことができる。
【実施例４】
【０１１４】
前記した実施例では、ホストコンピュータ５０において、必要に応じてビットマップ展開処理を行ったが、実施例４では、予めビットマップ展開処理を行っておき、ビットマップ展開処理が必要なとき、すなわち受信バッファに空容量が無いとき、即座に予めビットマップ展開処理を施したバンドを送信する。
【０１１５】
実施例４の画像処理システム４００の要部となる構成は、前記した実施例３と同様であることからその説明を割愛し、画像処理システム４００の動作をフローチャートに沿って説明する。
実施例４のホストコンピュータ５０におけるデータ変換処理が図１５のフローチャートに示されており、ホストコンピュータ５０における送信処理が図１６のフローチャートに示されている。
【０１１６】
先ず、データ変換処理を説明する。
ホストコンピュータ５０のドライバ展開処理部５８は、アプリケーション５１で生成された画像データを分割処理し、各画像データ（各バンド）に対しＰＤＬ変換処理で展開前のバンドが生成されるまで待機している（ステップＳ９１）。ドライバ展開処理部５８は、バンド変換処理部５９で、少なくとも１バンド以上の展開前のバンドが生成されると、該各展開前のバンドに対しビットマップ展開処理を行う（ステップＳ９２）。
【０１１７】
ドライバ展開処理部５８は、少なくとも１バンド分のビットマップ展開処理が完了したか否かを判定する（ステップＳ９３）。その後、全バンドの送信処理が完了したか否か判定し（ステップＳ９４）、全バンドの送信処理が終了していなければ、前記したステップＳ９１からの処理を繰返す。
尚、前記したビットマップ展開処理は、バンド変換処理部５９におけるＰＤＬ変換処理と並行して行われる。
【０１１８】
これにより、展開後のバンドが送信処理に先立ち、予め生成されることから、送信処理中に、展開後のバンドが必要になると、予めビットマップ展開処理したバンドを即座に送信することができる。
【０１１９】
次に、送信処理を図１６のフローチャートに沿って説明する。尚、図１６のフローチャートにおいて、前記した図１３におけるステップ番号と同一の処理内容は同一のステップ番号が付されている。
送受信部５７は、ＰＤＬ変換処理の完了を待っており（ステップＳ７１）、ＰＤＬ変換処理を終えたバンドを送信すべく、受信バッファ監視部５５は、プリンタ１０から受信バッファ１５の空容量を取得すると（ステップＳ７２）、該受信バッファ１５の空容量と、送信すべきバンドのデータサイズとをサイズ比較部５６で比較し（ステップＳ７３）、送信データ選択部６０で、各展開前のバンドにおいて、受信バッファ１５の空容量よりも小さなデータサイズのバンドが選択される。
【０１２０】
前記した選択処理において、受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが選定されると（ステップＳ７４）、当該バンドをプリンタ１０へ送信する（ステップＳ７５）。その後、送受信部５７は、各バンドを送信し終えたか否かを確認し（ステップＳ７６）、全てのバンドの送信が完了していない場合、前記したステップＳ７１からの処理を行い、全バンドの送信が完了すると、送信処理を終了する。
【０１２１】
ところで、前記したステップＳ７４において、受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが存在しない場合、予めビットマップ展開処理施されたバンドを即座に送信する（ステップＳ７８）。これにより、展開前のバンドを受信バッファで保持するだけの空容量が無いと判明してから、ビットマップ展開処理を開始して、ビットマップ展開処理の完了を待つ必要がなく、即座に展開後のバンドを送信することができる。
尚、ステップＳ７８以降の処理は、前記した実施例３と同様であることから、その説明を割愛する。
【０１２２】
前記したように、実施例４の画像処理システム４００は、展開後のバンドの送信処理に先立ち、予めビットマップ展開処理を施したバンドを生成することにより、バンドを送信処理中に、展開後のバンドが必要になってから、ビットマップ展開処理を開始する必要が無く、予めビットマップ展開処理しておいたバンドを即座に送信できることから、効率的なバンド伝送を行うことができる。
【実施例５】
【０１２３】
実施例５の画像処理システム５００は、図１７に示すように、送信データ制御部と送信済みバンドデータ比較部とがホストコンピュータ５０に追加されている。
すなわち実施例３のホストコンピュータ５０は、アプリケーション５１およびドライバ５３を備えおり、実施例５のドライバ５３は、ドライバ展開処理部５８およびバンド変換処理部５９を有するデータ変換部５４と、受信バッファ監視部５５と、サイズ比較部５６と、送受信部５７と、送信データ選択部６０と、送信タイミング制御部６１と、本実施例の特徴である送信データ制御部６２および送信済みバンドデータ比較部６３とを備えている。
【０１２４】
送信データ制御部６２および送信済みバンドデータ比較部６３以外は、前記した実施例と同様であることから、その説明を割愛し、本実施例の特徴である送信データ制御部６２および送信済みバンドデータ比較部６３を詳細に説明する。尚、全バンド（バンド１〜バンドｍ）がデータ変換処理を終えた前提で以降の説明を行う。また、プリンタ１０においてビットマップ展開処理する展開前のバンドを、昇順にバンド１からバンド（１＋ｘ）（但しｘは０からの昇順）と称し、ホストコンピュータ５０においてビットマップ展開処理する展開前のバンドを、降順にバンドｍからバンド（ｍ-ｙ）（但しｙは０からの昇順）と称して、以降の説明を行う。
【０１２５】
送信データ制御部６２は、バンド１から始まる展開前のバンドと、バンドｍから始まる展開前のバンドとの送信順位の制御を行う。
送信済みバンドデータ比較部６３は、全バンドの送信が完了したか否かを確認すべく、ホストコンピュータ５０からプリンタ１０へ送信された展開前のバンドの管理番号と、ホストコンピュータ５０でビットマップ展開処理された展開後のバンドの管理番号との比較を行う。
【０１２６】
次に、画像処理システム５００の動作を説明する。データ変換処理、ビットマップ展開処理、受信処理、印刷処理は、前記した実施例と同様であることから、その説明を割愛し、本発明の特徴である送信処理を図１８のフローチャートに沿って説明する。
送受信部５７は、バンド変換処理部５９においてデータ変換処理が終了するまで待機しており（ステップＳ９１）、データ変換処理が終了すると、受信バッファ監視部５５が起動してプリンタ１０の受信バッファの空容量を取得する（ステップＳ９２）。
【０１２７】
その後、サイズ比較部５６で受信バッファ１５の空容量と、送信すべき各バンド（バンド（１＋ｘ）：但しｘは０からの昇順）の展開前のデータサイズとを比較する（ステップＳ９３）。送信データ選択部６０は、サイズ比較部５６の比較結果に基づいて、展開前の各バンドにおいて、最初のバンド（バンド（１＋ｘ）：但しｘは０からの昇順）から順に比較を行って、受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンド（１＋ｘ）が選定できたとき（ステップＳ９４）、当該バンドをプリンタ１０へ送信する（ステップＳ９５）。
【０１２８】
尚、全バンドのデータ変換処理が終了すると、ホストコンピュータ５０で最後に生成されたバンド（バンドｍ）から順に、ビットマップ展開処理が開始される。すなわち、図１９に示すように、ホストコンピュータ５０のドライバ展開処理部５８は、アプリケーション５１で生成された画像データが分割処理され、全バンド（バンド１〜バンドｍ）に対しＰＤＬ変換処理が施され、ＰＤＬ変換処理が完了するまで待機している（ステップＳ１２０）。
【０１２９】
ドライバ展開処理部５８は、最後のバンド、すなわちバンドｍから降順に、展開前のバンドに対し、ビットマップ展開処理を施す（ステップＳ１３０）。その後、全バンドの送信処理が完了したか否か判定し（ステップＳ１４０）、全バンドの送信処理が終了していなければ、前記したステップＳ１２０からの処理を繰返す。
【０１３０】
ところで、ホストコンピュータ５０からプリンタ１０へ、展開前のバンドがバンド１から昇順にバンド（１＋ｘ）まで送信される間に、バンドｍから降順にバンド（ｍ−ｙ）まで前記したビットマップ展開処理が並行して行われる。
【０１３１】
前記したステップＳ９５におけるバンド送信が完了したか否かを判定し（ステップＳ９６）、送信が終了していない場合は、送信処理を継続する。
送信が終了した場合は、送信済みバンドデータ比較部６３で送信状況を示す情報に送信が完了したことを示す情報を更新した後、展開前のバンドのバンド番号（１＋ｘ）と、展開後のバンドのバンド番号（ｍ−ｙ）との比較を行う（ステップＳ９７）。尚、送信状況情報やバンド番号は、図示しない記憶部で保持管理される。
【０１３２】
ここで、送信済みバンドデータ比較部６３の比較処理を説明する。展開前のバンドの送信順序は、図２０に示すように、バンド（１＋ｘ）（但しｘは０からの昇順）、すなわち最初のバンドから、つまりバンド１、バンド２・・・バンド（１＋ｘ）の昇順に送信され、展開後のバンドの送信順序は、バンド（ｍ−ｙ）（但しｙは０からの昇順）、すなわちバンドｍ、バンド（ｍ−１）、バンド（ｍ−２）・・・バンド（ｍ−ｙ）の降順に送信されることから、展開前のバンドのバンド番号と、展開後のバンドのバンド番号との差が１未満になると、送信完了と判断でき、この判断を行うべく、送信済みバンドデータ比較部６３で展開前のバンド番号と、展開後のバンド番号との比較を行う。
【０１３３】
前記した比較処理で、（ｍ−ｙ）−（１＋ｘ）＞１であるとき、送信処理が完了していないと判断し、（ｍ−ｙ）−（１＋ｘ）＜＝１であるとき、全バンドの送信処理の完了と判断する（ステップＳ９８）。送信処理が完了していない場合、前記したステップＳ９１からの処理を繰返す。
【０１３４】
ところで、前記したステップＳ９４において、バンド（１＋ｘ）のデータサイズが受信バッファ１５の空容量よりも大きいとき、即座に展開後のバンド（ｍ−ｙ）を送信する(但し、送信順序は、ｙ＝０からの昇順)（ステップＳ９９）。
【０１３５】
その後、受信バッファ監視部５５で受信バッファ１５の空容量を問合せ、該受信バッファ１５の空容量を取得する（ステップＳ１００）。
受信バッファ１５の空容量を取得すると、該空容量と、送信データ制御部６２で管理する送信すべき各展開前のバンド（１＋ｘ）のデータサイズとをサイズ比較部５６で比較する（ステップＳ１０１）。送信データ選択部６０は、サイズ比較部５６の比較結果に基づいて、各展開前のバンドにおいて、受信バッファ１５の空容量よりも小さなデータサイズのバンドを選択する。
【０１３６】
前記した選択処理で受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが選定できたとき（ステップＳ１０２）、送信タイミング制御部６１は、現在送信中の処理、すなわち展開後のバンド（ｍ−ｙ）の送信処理を一時中断する制御を行った後（ステップＳ１０３）、選定した展開前のバンド（１＋ｘ）の送信処理を行う（ステップＳ１０４）。
【０１３７】
選定した展開前のバンド（１＋ｘ）の送信処理の完了を待って（ステップＳ１０５）、送信済みバンドデータ比較部６３で送信状況を示す情報に送信が完了したことを示す情報を更新した後、展開前のバンドのバンド番号（１＋ｘ）と、展開後のバンドのバンド番号（ｍ−ｙ）との比較を行う（ステップＳ１０６）。
【０１３８】
この比較で、（ｍ−ｙ）−（１＋ｘ）＞１であるとき、全バンドの送信処理が完了していないと判断し（ステップＳ１０７）、一時中断している展開後のバンド（ｍ−ｙ）の送信処理を再開し（ステップＳ１０８）、ステップＳ９９からの処理を継続する。
【０１３９】
一方、前記したステップＳ１０７において、（ｍ−ｙ）−（１＋ｘ）＜＝１であるとき、全バンドの送信処理の完了と判断し、展開後のバンド（ｍ−ｙ）の送信処理を中止する（ステップＳ１０９）。
【０１４０】
ところで、前記したステップＳ１０２において、受信バッファ１５の空容量よりも小さいデータサイズの展開前のバンドが選定できなかったとき、展開後のバンド（ｍ−ｙ）の送信処理の完了を判定し（ステップＳ１１０）、送信処理が完了していない場合は、前記したステップＳ９９からの送信処理を継続する。尚、前記したステップＳ１１０の判定で送信処理が完了している場合は、前記したステップＳ９７からの送信済みバンドの比較処理を行う。
【０１４１】
前記したように、実施例５の画像処理システム５００によれば、展開前のバンドは昇順のバンド番号で送信し、プリンタ１０の受信バッファ１５に展開前のバンドを受入れるだけの容量が無い場合は、展開後のバンドを降順のバンド番号で送信することから、ステップＳ１０１において複数の未送信バンドの展開前のデータサイズと空容量とを比較する必要がなく、単に送信データ制御部６２で管理するバンドのデータサイズだけを空容量と比較すればよいことから、効率的に送信すべきバンドの選定を行うことができ、よって効率的なバンド伝送を行うことができる。
【０１４２】
【産業上の利用可能性】
【０１４３】
前記した実施例では、データ形式識別部１２でデータ形式を識別するための容量が少なくとも確保されているテンポラリバッファを用いて説明を行ったが、受信バッファの空容量を管理すること、すなわちデータ形式識別部１２でデータ形式を識別するための容量が少なくとも確保できるまで、ビジー状態であることをホストコンピュータ５０に通知することで、テンポラリバッファを用いなくてもよい。
【図面の簡単な説明】
【０１４４】
【図１】実施例１の画像処理システムのブロック図である。
【図２】バンド分割を示す図である。
【図３】データ変換処理のフローチャートである。
【図４】ホストコンピュータにおける送信処理のフローチャートである。
【図５】プリンタにおける受信処理のフローチャートである。
【図６】プリンタにおける展開処理のフローチャートである。
【図７】プリンタにおける印刷処理のフローチャートである。
【図８】実施例１のＲＡＭ状態遷移を示す図である。
【図９】実施例２の画像処理システムのブロック図である。
【図１０】実施例２のホストコンピュータにおける送信処理のフローチャートである。
【図１１】実施例２のＲＡＭ状態遷移を示す図である。
【図１２】実施例３の画像処理システムのブロック図である。
【図１３】実施例３のホストコンピュータにおける送信処理のフローチャートである。
【図１４】実施例３のＲＡＭ状態遷移を示す図である。
【図１５】実施例４のホストコンピュータにおけるビットマップ展開処理のフローチャートである。
【図１６】実施例４のホストコンピュータにおける送信処理のフローチャートである。
【図１７】実施例５の画像処理システムのブロック図である。
【図１８】実施例５のホストコンピュータにおける送信処理のフローチャートである。
【図１９】実施例５のホストコンピュータにおけるビットマップ展開処理のフローチャートである。
【図２０】送信済みバンドデータ比較部の処理内容を示す図である。
【符号の説明】
【０１４５】
１０  プリンタ
１１  ５２  Ｉ／Ｆ
１２  データ形式識別部
１３  制御部
１４  バッファ選択部
１５  受信バッファ
１６  データバッファ
１７  ＲＡＭ
１８  展開処理部
１９  画像処理部
２０  印刷部
２１  通知部
５０  ホストコンピュータ
５１  アプリケーション
５２  インタフェース
５３  ドライバ
５４  データ変換部
５５  受信バッファ監視部
５６  サイズ比較部
５７  送受信部
５８  ドライバ展開処理部
５９  バンド変換処理部
８０  伝送路
【図１】
2005339257.tif 000003
【図２】
2005339257.tif 000004
【図３】
2005339257.tif 000005
【図４】
2005339257.tif 000006
【図５】
2005339257.tif 000007
【図６】
2005339257.tif 000008
【図７】
2005339257.tif 000009
【図８】
2005339257.tif 000010
【図９】
2005339257.tif 000011
【図１０】
2005339257.tif 000012
【図１１】
2005339257.tif 000013
【図１２】
2005339257.tif 000014
【図１３】
2005339257.tif 000015
【図１４】
2005339257.tif 000016
【図１５】
2005339257.tif 000017
【図１６】
2005339257.tif 000018
【図１７】
2005339257.tif 000019
【図１８】
2005339257.tif 000020
【図１９】
2005339257.tif 000021
【図２０】
2005339257.tif 000022