(57)【要約】【課題】  印刷データを高速でラスタライズすることを実現し得る技術を提供すること。【解決手段】  プリンタシステム１０は、第１プリンタ２０ａと、その第１プリンタ２０ａと通信可能に接続される第２プリンタ２０ｂとを備える。第１プリンタ２０ａと第２プリンタ２０ｂは、印刷データを印刷するように第１プリンタ２０ａが指示された場合に、共同して当該印刷データをラスタライズすることによって当該印刷データのビットマップデータを作成することが可能である。第１プリンタ２０ａの印刷装置４４ａは、当該印刷データのビットマップデータに基づいて印刷媒体に印刷する。【選択図】  図１
2008087225.tif 000002
【特許請求の範囲】
【請求項１】
第１プリンタと、その第１プリンタと通信可能に接続されるラスタライズ装置とを備えるプリンタシステムであり、
第１プリンタは、第１ラスタライザと第１印刷装置とを有し、
ラスタライズ装置は、第２ラスタライザを有し、
第１ラスタライザと第２ラスタライザは、印刷データを印刷するように第１プリンタが指示された場合に、共同して当該印刷データをラスタライズすることによって当該印刷データのビットマップデータを作成することが可能であり、
第１印刷装置は、当該印刷データのビットマップデータに基づいて印刷媒体に印刷することを特徴とするプリンタシステム。
【請求項２】
第１ラスタライザは、印刷データを印刷するように第１プリンタが指示された場合に、当該印刷データの一部である第１所定部分をラスタライズすることによって第１ビットマップデータを作成し、
第１プリンタは、当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力し、
ラスタライズ装置は、第１プリンタから出力された第２所定部分を入力し、
第２ラスタライザは、入力された第２所定部分をラスタライズすることによって第２ビットマップデータを作成し、
ラスタライズ装置は、作成された第２ビットマップデータを第１プリンタに出力し、
第１プリンタは、ラスタライズ装置から出力された第２ビットマップデータを入力し、
第１印刷装置は、第１ラスタライザによって作成された第１ビットマップデータと、入力された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷することを特徴とする請求項１のプリンタシステム。
【請求項３】
ラスタライズ装置は、第２印刷装置をさらに有する第２プリンタであることを特徴とする請求項１又は２のプリンタシステム。
【請求項４】
第１ラスタライザと第２ラスタライザは、印刷データを印刷するように第２プリンタが指示された場合に、共同して当該印刷データをラスタライズすることによって当該印刷データのビットマップデータを作成することが可能であり、
第２印刷装置は、当該印刷データのビットマップデータに基づいて印刷媒体に印刷することを特徴とする請求項３のプリンタシステム。
【請求項５】
第１ラスタライザと第２ラスタライザは、印刷データを印刷するように第１プリンタが指示された場合に、当該印刷データに含まれる１つのバンドを共同してラスタライズすることによって、当該バンドのビットマップデータを作成することが可能であることを特徴とする請求項１から４のいずれかのプリンタシステム。
【請求項６】
第１ラスタライザのみが当該バンドのビットマップデータを作成すること、及び、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することのいずれかが、当該バンドに含まれる印刷データの内容に基づいて選択されることを特徴とする請求項５のプリンタシステム。
【請求項７】
前記の選択が第１プリンタによって実行されることを特徴とする請求項６のプリンタシステム。
【請求項８】
２つ以上のオブジェクトが当該バンドに含まれる場合に、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されることを特徴とする請求項６又は７のプリンタシステム。
【請求項９】
通信ネットワークからダウンロードすることが必要である２つ以上のＤＬオブジェクトが当該バンドに含まれる場合に、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されることを特徴とする請求項６又は７のプリンタシステム。
【請求項１０】
通信ネットワークからダウンロードすることが必要であるＤＬオブジェクトと非ＤＬオブジェクトとが当該バンドに含まれる場合に、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されることを特徴とする請求項６又は７のプリンタシステム。
【請求項１１】
前記ＤＬオブジェクトが第２ラスタライザによってラスタライズされ、前記非ＤＬオブジェクトが第１ラスタライザによってラスタライズされることを特徴とする請求項１０のプリンタシステム。
【請求項１２】
第１ラスタライザのみによって当該バンドのビットマップデータを作成するための第１処理時間と、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成するための第２処理時間とが比較され、（１）第１処理時間が第２処理時間より小さい場合は、第１ラスタライザのみが当該バンドのビットマップデータを作成することが選択され、（２）第２処理時間が第１処理時間より小さい場合は、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されることを特徴とする請求項６又は７のプリンタシステム。
【請求項１３】
外部側ラスタライザを有するラスタライズ装置と通信可能に接続されて利用されるプリンタであり、
印刷データを印刷するように指示された場合に、当該印刷データの第１所定部分をラスタライズすることによって第１ビットマップデータを作成することが可能であるプリンタ側ラスタライザと、
当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力する装置と、
前記第２所定部分を外部側ラスタライザがラスタライズすることによって作成されてラスタライズ装置から出力された第２ビットマップデータを入力する装置と、
プリンタ側ラスタライザによって作成された第１ビットマップデータと、入力された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷する装置と
を備えるプリンタ。
【請求項１４】
外部側ラスタライザを有するラスタライズ装置と通信可能に接続されて利用されるプリンタのためのコンピュータプログラムであり、
そのコンピュータプログラムは、そのプリンタに搭載されるコンピュータに、以下の各処理、即ち、
印刷データを印刷するように指示された場合に、当該印刷データの第１所定部分をラスタライズすることによって第１ビットマップデータを作成する第１作成処理と、
当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力し、外部側ラスタライザに第２所定部分をラスタライズさせて第２ビットマップデータを作成させる第２作成処理と、
第１作成処理によって作成された第１ビットマップデータと、第２作成処理によって作成された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷する処理と
を実行させることを特徴とするコンピュータプログラム。
【請求項１５】
外部側ラスタライザを有するラスタライズ装置と通信可能に接続されるプリンタによって実行されるラスタライズ方法であり、
印刷データを印刷するように指示された場合に、当該印刷データの第１所定部分をラスタライズすることによって第１ビットマップデータを作成する第１作成工程と、
当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力し、外部側ラスタライザに第２所定部分をラスタライズさせて第２ビットマップデータを作成させる第２作成工程と、
第１作成工程で作成された第１ビットマップデータと、第２作成工程で作成された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷する工程と
を備えるラスタライズ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データをラスタライズしてビットマップデータを作成するための技術に関する。特に、印刷データをラスタライズすることが可能であるプリンタを備えるプリンタシステムに関する。
本明細書の「プリンタ」という用語は、最も広義に解釈されるべきものであり、画像やテキスト等を印刷媒体に印刷することができるあらゆる装置を含む。例えば、プリンタという用語には、コピー機、ＦＡＸ、複合機等も含まれる。
【背景技術】
【０００２】
例えば、プリンタは、外部装置（ＰＣ、デジタルカメラ、ポータブルメディア等）に接続されて利用される。いくつかのプリンタは、外部装置から出力された印刷データを入力すると、その印刷データをラスタライズしてビットマップデータを作成する。プリンタは、作成されたビットマップデータに基づいて印刷媒体に印刷する。下記の特許文献１には、印刷データをラスタライズすることができるプリンタが開示されている。
【０００３】
【特許文献１】特開平２００２−９１７２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
印刷データを大きな解像度で印刷することができるプリンタが増えている。解像度が大きいと、ビットマップデータのデータ量も大きくなる。この場合、印刷データをラスタライズしてビットマップデータを作成する時間が長くなる。印刷データを大きな解像度で鮮明に印刷することが実現されている一方において、印刷データのラスタライズに要する時間が長期化するという問題が存在する。
【０００５】
本発明は、上記の実情に鑑みて創作されたものであり、印刷データを高速でラスタライズすることを実現し得る技術を提供する。
【課題を解決するための手段】
【０００６】
本発明者は、複数のプリンタが通信可能に接続されているシステムが広く利用されていることに着目した。本発明者は、このようなシステムにおいて複数のプリンタが共同して印刷データをラスタライズすれば、印刷データのラスタライズに要する時間を短縮することができることを見出した。本発明は、上記の知見に基づいて創作されたものである。
【０００７】
本発明の技術思想を最も広義に記述すると、以下のようになる。即ち、本発明は、第１プリンタと、その第１プリンタと通信可能に接続されるラスタライズ装置とを備えるプリンタシステムである。このラスタライズ装置は、第１プリンタとは別のプリンタであってもよいし、他のデバイスであってもよい。
第１プリンタは、第１ラスタライザと第１印刷装置とを有する。ラスタライズ装置は、第２ラスタライザを有する。第１ラスタライザと第２ラスタライザは、印刷データを印刷するように第１プリンタが指示された場合に、共同して当該印刷データをラスタライズすることによって当該印刷データのビットマップデータを作成することが可能である。なお、上記の第１ラスタライザと第２ラスタライザは、常に共同して印刷データをラスタライズしてもよいし、そうでなくてもよい。第１印刷装置は、当該印刷データのビットマップデータに基づいて印刷媒体に印刷する。
【０００８】
本発明のプリンタシステムによると、少なくとも２つのラスタライザが印刷データを共同してラスタライズすることが可能である。この場合、１つのラスタライザによって印刷データがラスタライズされる場合と比べて、その印刷データを高速でラスタライズすることができることがある。本発明のシステムは、印刷データが常に１つのラスタライザによってラスタライズされる場合よりも、印刷データのラスタライズの高速化を実現し得るものである。
なお、ラスタライズ装置の数は、１つに限られない。１つのプリンタと２つ以上のラスタライズ装置が共同して印刷データをラスタライズすることができるシステムが構築されてもよい。
【０００９】
上記のプリンタシステムの各要素は、以下のように動作してもよい。
第１ラスタライザは、印刷データを印刷するように第１プリンタが指示された場合に、当該印刷データの一部である第１所定部分をラスタライズすることによって第１ビットマップデータを作成する。第１プリンタは、当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力する。この第２所定部分は、当該印刷データの第１所定部分以外の全ての部分であってもよいし、当該印刷データの第１所定部分以外の中の一部であってもよい。
ラスタライズ装置は、第１プリンタから出力された第２所定部分を入力する。第２ラスタライザは、入力された第２所定部分をラスタライズすることによって第２ビットマップデータを作成する。ラスタライズ装置は、作成された第２ビットマップデータを第１プリンタに出力する。
第１プリンタは、ラスタライズ装置から出力された第２ビットマップデータを入力する。第１印刷装置は、第１ラスタライザによって作成された第１ビットマップデータと、入力された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷する。
【００１０】
上記のラスタライズ装置は、第２印刷装置をさらに有する第２プリンタであってもよい。即ち、第１プリンタと第２プリンタによって上記のプリンタシステムが構築されてもよい。３つ以上のプリンタによって上記のプリンタシステムが構築されてもよい。
第１ラスタライザと第２ラスタライザは、印刷データを印刷するように第２プリンタが指示された場合に、共同して当該印刷データをラスタライズすることによって当該印刷データのビットマップデータを作成してもよい。この場合、第２印刷装置は、当該印刷データのビットマップデータに基づいて印刷媒体に印刷する。
【００１１】
印刷データを複数の領域（バンド）に分けて、各領域を印刷される順にラスタライズするプリンタが存在する。即ち、印刷データからバンド単位でビットマップデータを作成するプリンタが存在する。バンド単位でビットマップデータが作成されると、ビットマップデータを記憶するためのメモリの容量を圧縮することができる。
上記した本発明のプリンタシステムは、バンド単位でビットマップデータを作成するプリンタを利用してもよい。即ち、第１ラスタライザと第２ラスタライザは、印刷データを印刷するように第１プリンタが指示された場合に、当該印刷データに含まれる１つのバンドを共同してラスタライズすることによって、当該バンドのビットマップデータを作成してもよい。
このプリンタシステムは、各バンドのビットマップデータを作成することの高速化を実現し得る。
【００１２】
バンド単位でビットマップデータが作成される場合、上記のプリンタシステムは、以下の特徴を有していてもよい。即ち、第１ラスタライザのみが当該バンドのビットマップデータを作成すること、及び、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することのいずれかが、当該バンドに含まれる印刷データの内容に基づいて選択される。
この選択は、第１プリンタによって実行されてもよいし、他のデバイスによって実行されてもよい。例えば、第１プリンタに接続されるＰＣが存在し、そのＰＣが第１プリンタに印刷するように指示する場合、そのＰＣによって上記の選択が実行されてもよい。
【００１３】
以下のいずれかの手法を利用して、上記の選択が実行されてもよい。
（１）２つ以上のオブジェクトが当該バンドに含まれる場合に、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されてもよい。
この場合、一方のオブジェクト（群）が第１ラスタライザによってラスタライズされ、他方のオブジェクト（群）が第２ラスタライザによってラスタライズされることになる。
バンドに含まれる複数のオブジェクトが共同してラスタライズされるために、そのバンドのビットマップデータを作成することの高速化が実現され得る。
【００１４】
（２）通信ネットワークからダウンロードすることが必要である２つ以上のＤＬオブジェクトが当該バンドに含まれる場合に、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されてもよい。
この場合、一方のＤＬオブジェクト（群）が第１ラスタライザによってダウンロードされてラスタライズされ、他方のＤＬオブジェクト（群）が第２ラスタライザによってダウンロードされてラスタライズされてもよい。一方において、各ＤＬオブジェクトが第１プリンタ又はラスタライズ装置によってダウンロードされ、一方のＤＬオブジェクト（群）が第１プリンタによってラスタライズされ、他方のＤＬオブジェクト（群）がラスタライズ装置によってラスタライズされてもよい。
バンドに含まれる複数のＤＬオブジェクトが共同してラスタライズされるために、そのバンドのビットマップデータを作成することの高速化が実現され得る。
【００１５】
（３）通信ネットワークからダウンロードすることが必要であるＤＬオブジェクトと非ＤＬオブジェクトとが当該バンドに含まれる場合に、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択されてもよい。
上記の非ＤＬオブジェクトは、通信ネットワークからダウンロードする必要がないオブジェクトである。
上記のＤＬオブジェクトが第１ラスタライザによってラスタライズされ、上記の非ＤＬオブジェクトが第２ラスタライザによってラスタライズされてもよい。
一方において、上記のＤＬオブジェクトが第２ラスタライザによってラスタライズされ、上記の非ＤＬオブジェクトが第１ラスタライザによってラスタライズされてもよい。非ＤＬオブジェクトのラスタライズに要する時間は比較的に短く、ＤＬオブジェクトのラスタライズに要する時間は比較的に長い。印刷するように指示された第１プリンタは、並列的に様々な処理を実行する必要がある。第１プリンタは、長時間を要するＤＬオブジェクトのラスタライズを第２ラスタライザに実行させ、その間に短時間で非ＤＬオブジェクトをラスタライズするとともに他の様々な処理を実行することが好ましい。この方が、ビットマップデータを効率的に作成することができる。
【００１６】
（４）第１ラスタライザのみによって当該バンドのビットマップデータを作成するための第１処理時間と、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成するための第２処理時間とが比較されてもよい。
（４−１）第１処理時間が第２処理時間より小さい場合は、第１ラスタライザのみが当該バンドのビットマップデータを作成することが選択される。
（４−２）第２処理時間が第１処理時間より小さい場合は、第１ラスタライザと第２ラスタライザが共同して当該バンドのビットマップデータを作成することが選択される。
この手法では、ビットマップデータを作成するための時間が短い方が選択される。このために、ビットマップデータを作成するための時間が短縮されることが保証される。
【００１７】
次のプリンタを利用すれば、上記のプリンタシステムを構築することができる。このプリンタは、外部側ラスタライザを有するラスタライズ装置と通信可能に接続されて利用される。このプリンタは、プリンタ側ラスタライザと出力装置と入力装置と印刷装置を有する。
プリンタ側ラスタライザは、印刷データを印刷するように指示された場合に、当該印刷データの第１所定部分をラスタライズすることによって第１ビットマップデータを作成することが可能である。
出力装置は、当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力する。
入力装置は、前記の第２所定部分を外部側ラスタライザがラスタライズすることによって作成されてラスタライズ装置から出力された第２ビットマップデータを入力する。
印刷装置は、プリンタ側ラスタライザによって作成された第１ビットマップデータと、入力された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷する。
このプリンタは、ラスタライズ装置と共同して印刷データをラスタライズすることができる。このプリンタによると、ラスタライズの高速化が実現され得る。
【００１８】
本発明では、上記のプリンタを実現するためのコンピュータプログラムを提供する。このコンピュータプログラムは、プリンタに搭載されるコンピュータに、以下の各処理を実行させる。
（１）印刷データを印刷するように指示された場合に、当該印刷データの第１所定部分をラスタライズすることによって第１ビットマップデータを作成する第１作成処理。
（２）当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力し、外部側ラスタライザに第２所定部分をラスタライズさせて第２ビットマップデータを作成させる第２作成処理。
（３）第１作成処理によって作成された第１ビットマップデータと、第２作成処理によって作成された第２ビットマップデータとを含むビットマップデータに基づいて印刷媒体に印刷する処理。
【００１９】
また、次のラスタライズ方法も有用である。このラスタライズ方法は、外部側ラスタライザを有するラスタライズ装置と通信可能に接続されるプリンタによって実行される。この方法は、以下の各工程を備える。
（１）印刷データを印刷するように指示された場合に、当該印刷データの第１所定部分をラスタライズすることによって第１ビットマップデータを作成する第１作成工程。
（２）当該印刷データの第１所定部分以外の第２所定部分をラスタライズ装置に出力し、外部側ラスタライザに第２所定部分をラスタライズさせて第２ビットマップデータを作成させる第２作成工程。
（３）第１作成工程で作成された第１ビットマップデータと、第２作成工程で作成された第２ビットマップデータとを含むビットマップデータに基づいて、印刷媒体に印刷する工程。
この方法によると、ラスタライズの高速化が実現され得る。
【発明を実施するための最良の形態】
【００２０】
ここでは、以下の実施例に記載の技術の主要な特徴をまとめておく。
（形態１）第１プリンタと第２プリンタによってプリンタシステムが構築される。各プリンタは、情報処理装置（ＰＣ）に接続されている。各プリンタは、ＰＣから送られてくる印刷データをラスタライズして印刷することができる。
（形態２）少なくとも一方のプリンタは、メモリカードが挿入されるスロット部を有する。その一方のプリンタは、メモリカードに記憶されている印刷データをラスタライズして印刷することができる。
（形態３）各プリンタは、印刷データからバンド単位でビットマップデータを作成する。印刷媒体に印刷される順に各バンドのビットマップデータが作成される。
（形態４）各プリンタは、ローカルエリアネットワーク等のネットワークに接続されている。
（形態５）印刷データに含まれるＤＬオブジェクトは、画像オブジェクトである。
（形態６）画像オブジェクトは、その画像データが記憶されているインターネット上のアドレス（ＵＲＬ）を含んでいる。プリンタは、画像オブジェクトに含まれるアドレスにアクセスし、画像データをダウンロードする。
【実施例】
【００２１】
（第１実施例）
図面を参照して本発明の第１実施例を説明する。図１は、本実施例のプリンタシステム１０を示す。プリンタシステム１０は、第１プリンタ２０ａと第２プリンタ２０ｂとＰＣ６０とサーバ７０等を有する。各プリンタ２０ａ，２０ｂは、インターネット５６に接続されている。
（第１プリンタの構成）
第１プリンタ２０ａは、制御装置２２ａと記憶装置２４ａと表示装置３６ａと操作装置３８ａとスロット部４０ａと印刷装置４４ａと入出力ポート４６ａを有する。
制御装置２２ａは、ＣＰＵ等によって構成されている。制御装置２２ａは、第１プリンタ２０ａが実行する各処理を統括的に制御する。例えば、制御装置２２ａは、印刷データをラスタライズしてビットマップデータを作成する処理を実行することができる。即ち、制御装置２２ａは、ラスタライザとして機能する。
記憶装置２４ａは、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ等によって構成されている。記憶装置２４ａは、制御装置２２ａが各処理を実行するためのプログラムを記憶している。また、記憶装置２４ａは、上記のプログラムが実行される過程で生成される各種のデータを記憶することができる。記憶装置２４ａは、記憶領域２６ａ，２８ａ，３０ａ，３２ａを有する。各記憶領域２６ａ〜３２ａが記憶するデータの内容を次に説明する。
【００２２】
印刷データ記憶領域２６ａは、印刷データを記憶することができる。また、印刷データ記憶領域２６ａは、印刷データから変換されたレイアウトデータを記憶することができる。印刷データやレイアウトデータの内容は後で説明する。
ＤＬオブジェクト記憶領域２８ａは、インターネット５６からダウンロードされたＤＬオブジェクト（画像データ）を記憶することができる。ＤＬオブジェクトについては後で説明する。
第１ビットマップデータ記憶領域３０ａは、少なくとも１バンド分のビットマップデータを記憶することができる。バンドについては後で説明する。
第２ビットマップデータ記憶領域３２ａも、少なくとも１バンド分のビットマップデータを記憶することができる。
【００２３】
表示装置３６ａは、液晶ディスプレイ等によって構成されている。表示装置３６ａは、様々なデータを表示することができる。
操作装置３８ａは、複数のキーによって構成されている。ユーザは、操作装置３８ａを操作することによって、様々な情報をプリンタ２０ａに入力することができる。
スロット部４０ａは、各種のメモリカード４２ａを受け入れることができる。
印刷装置４４ａは、インクジェット方式又はレーザ方式の印刷装置である。印刷装置４４ａは、図示省略の印刷用紙に印刷することができる。
入出力ポート４６ａには、インターネット回線５０とＬＡＮ回線５２が接続されている。インターネット回線５０は、インターネット５６に接続されている。第１プリンタ２０ａは、インターネット５６上の様々な装置７０等と通信可能である。ＬＡＮ回線５２は、ＰＣ６０に接続されている。第１プリンタ２０ａは、ＰＣ６０と通信可能である。また、ＬＡＮ回線５２は、第２プリンタ２０ｂに接続されている。第１プリンタ２０ａは、第２プリンタ２０ｂと通信可能である。
【００２４】
（第２プリンタの構成）
第２プリンタ２０ｂは、第１プリンタ２０ａと同様の構成を有する。即ち、第２プリンタ２０ｂは、制御装置２２ｂと記憶装置２４ｂと表示装置３６ｂと操作装置３８ｂとスロット部４０ｂと印刷装置４４ｂと入出力ポート４６ｂを有する。
制御装置２２ｂは、ラスタライザとして機能する。
記憶装置２４ｂは、印刷データ記憶領域２６ｂとＤＬオブジェクト記憶領域２８ｂと第１ビットマップデータ記憶領域３０ｂと第２ビットマップデータ記憶領域３２ｂを有する。これらの記憶領域２６ｂ〜３２ｂが記憶するデータの内容は、第１プリンタ２０ａと同様である。
また、スロット部４０ｂは、各種のメモリカード４２ｂを受け入れることができる。
【００２５】
ユーザは、ＰＣ６０を操作することによって、ＰＣ６０に表示された内容を印刷するように第１プリンタ２０ａに指示することができる。この場合、ＰＣ６０から第１プリンタ２０ａに印刷データが送られる。第１プリンタ２０ａは、ＰＣ６０から送られてきた印刷データに基づいて印刷する。
同様に、ユーザは、ＰＣ６０に表示された内容を印刷するように第２プリンタ２０ｂに指示することができる。この場合、ＰＣ６０から第２プリンタ２０ｂに印刷データが送られ、その印刷データが第２プリンタ２０ｂによって印刷される。
また、ユーザは、操作装置３８ａを操作することによって、メモリカード４２ａに記憶されているデータを印刷するように第１プリンタ２０ａに指示することができる。この場合、第１プリンタ２０ａは、メモリカード４２ａに記憶されている印刷データを取り込み、その印刷データに基づいて印刷する。
同様に、ユーザは、メモリカード４２ｂに記憶されているデータを印刷するように第２プリンタ２０ｂに指示することができる。この場合、第２プリンタ２０ｂは、メモリカード４２ｂに記憶されている印刷データを取り込み、その印刷データに基づいて印刷する。
【００２６】
（プリンタが実行する処理）
第１プリンタ２０ａが実行する印刷処理について説明する。ここでは、第１プリンタ２０ａが実行する印刷処理について説明する。この印刷処理は、ＰＣ６０から印刷データが送られてきた場合、又は、メモリカード４２ａに記憶されている印刷データを印刷するように指示された場合に実行される。この印刷処理は、制御装置２２ａによって実行される。図２と図３は、第１プリンタ２０ａが実行する印刷処理のフローチャートを示す。以下では、メモリカード４２ａに記憶されている印刷データを印刷する場合を例として説明する。
第１プリンタ２０ａは、メモリカード４２ａに記憶されている印刷データを読み込む（Ｓ２）。この印刷データは、印刷データ記憶領域２６ａ（図１参照）に記憶される。図４は、メモリカード４２ａに記憶されている印刷データ１００を可視的に表したものを示す。この印刷データ１００は、ＸＨＴＭＬ−Ｐｒｉｎｔデータである。ＸＨＴＭＬ−Ｐｒｉｎｔデータ１００を印刷するためには、そのデータ１００をラスタライズしてビットマップ形式のデータを作成する必要がある。
【００２７】
図４の印刷データ１００は、４つのオブジェクト１０２，１０４，１０６，１０８を含んでいる。オブジェクト１０２，１０４，１０８は、画像オブジェクトである。オブジェクト１０２は、ＪＰＥＧ形式の画像オブジェクトである。オブジェクト１０４，１０８は、ＳＶＧ形式の画像オブジェクトである。印刷データ１００には、画像オブジェクト１０２，１０４，１０８の画像データが含まれていない。各画像オブジェクト１０２，１０４，１０８の画像データは、インターネット上の他のデバイスに記憶されている。印刷データ１００は、各画像オブジェクト１０２，１０４，１０８の画像データが記憶されているインターネット上のアドレスを含んでいる。印刷データ１００に含まれるアドレスにアクセスすると、インターネット５６から各画像オブジェクト１０２，１０４，１０８の画像データをダウンロードすることができる。画像データのダウンロードは、後のステップ（図３のＳ２４等）で実施される。各画像オブジェクト１０２，１０４，１０８は、インターネット５６からダウンロードする必要があるオブジェクトであり、以下では「ＤＬオブジェクト」と呼ぶことがある。なお、本実施例では、各画像オブジェクト１０２，１０４，１０８の画像データは、図１に示されるサーバ７０に記憶されているものとする。
図４のオブジェクト１０６は、テキストオブジェクトである。第１プリンタ２０ａは、テキストオブジェクト１０６からビットマップデータを作成し、テキストオブジェクト１０６の文字（ＡＢ）を印刷用紙に印刷することができる。即ち、テキストオブジェクト１０６は、インターネット５６からダウンロードする必要があるものではない。即ち、テキストオブジェクト１０６は、非ＤＬオブジェクトと呼ぶことができる。
【００２８】
図５は、図４のＸＨＴＭＬ−Ｐｒｉｎｔデータ１００のデータ構成を示す。図５の印刷データ１００は、画像オブジェクト１０２に対応するデータ１２２と、画像オブジェクト１０４に対応するデータ１２４と、テキストオブジェクト１０６に対応するデータ１２６と、画像オブジェクト１０８に対応するデータ１２８を含んでいる。
データ１２２は、ＪＰＥＧ形式の画像データであることを示す（ｉｍｇ１．ｊｐｇ）。また、データ１２２は、画像データが記憶されているインターネット上のアドレスを含んでいる（図５では図示省略されている）。即ち、データ１２２は、サーバ７０（図１参照）のアドレス（ＵＲＬ）を含んでいる。
データ１２４は、ＳＶＧ形式（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）の画像データであることを示す（ｉｍｇ２．ｓｖｇ）。データ１２４は、画像データが記憶されているインターネット上のアドレス（サーバ７０のアドレス）を含んでいる。
データ１２６は、「ＡＢ」という文字のテキストデータを含んでいる。
データ１２８は、ＳＶＧ形式の画像データであることを示す（ｉｍｇ３．ｓｖｇ）。データ１２８は、画像データが記憶されているインターネット上のアドレス（サーバ７０のアドレス）を含んでいる。
【００２９】
第１プリンタ２０ａは、図２のＳ２を終えると、レイアウト処理を実行する（Ｓ４）。このレイアウト処理では、Ｓ２で読み込まれたＸＨＴＭＬ−Ｐｒｉｎｔデータ１００に含まれる各オブジェクト１０２，１０４，１０６，１０８が矩形オブジェクトに変換される。
図６と図７を参照して、レイアウト処理について説明する。図６は、図４の印刷データ１００がレイアウト処理によって変換された後のデータ１３０（レイアウトデータ１３０）を可視的に表したものを示す。図７は、図６のレイアウトデータ１３０のデータ構成を示す。
【００３０】
図４の画像オブジェクト１０２は、図６の矩形画像オブジェクト１３２に変換される。矩形画像オブジェクト１３２は、画像オブジェクト１０２にほぼ外接する矩形の２つの座標Ｃ１，Ｃ２によって位置決めされる。画像オブジェクト１０２自体が矩形であるために、矩形画像オブジェクト１３２は、画像オブジェクト１０２と同じ矩形を有している。
座標Ｃ１と座標Ｃ２は、矩形の１つの対角線上に位置する２つの座標（以下では対角座標と呼ぶ）である。図７のデータ１４２は、図６の矩形画像オブジェクト１３２に対応する。データ１４２の「２０  １０」は、座標Ｃ１に対応する。データ１４２の「１００  ６０」は、座標Ｃ２に対応する。
【００３１】
図４の画像オブジェクト１０４は、図６の矩形画像オブジェクト１３４に変換される。矩形画像オブジェクト１３４は、画像オブジェクト１０４にほぼ外接する矩形の対角座標Ｃ３，Ｃ４によって位置決めされる。図７のデータ１４４は、図６の矩形画像オブジェクト１３４に対応する。データ１４４の「１２０  １０」は、座標Ｃ３に対応する。データ１４４の「２００  ６０」は、座標Ｃ４に対応する。
【００３２】
図４のテキストオブジェクト１０６は、図６の矩形テキストオブジェクト群１３６に変換される。テキストオブジェクト１０６は、「ＡＢ」という２文字のテキストである。この場合、２つの文字のそれぞれが矩形テキストオブジェクト１３６に変換される。
例えば、文字「Ａ」の矩形テキストオブジェクト１３６は、その「Ａ」にほぼ外接する矩形の対角座標Ｃ５，Ｃ６によって位置決めされる。図７のデータ１４６ａは、図６の文字「Ａ」の矩形テキストオブジェクト１３６に対応する。データ１４６ａの「２１０  ４５」は、座標Ｃ５に対応する。データ１４６ａの「２２０  ６５」は、座標Ｃ６に対応する。また、データ１４６ａの「ｓｅｒｉｆ  ａ  ２０ｐｔ」は、２０ポイントのフォントの「Ａ」という文字であることを意味する。
同様に、他の文字「Ｂ」が、矩形テキストオブジェクト１３６に変換される。図７では、文字「Ｂ」に対応するデータ１４６ｂが示されている。データ１４６ｂの「２２５  ４５」は、座標Ｃ７に対応する。データ１４６ｂの「２３５  ６５」は、座標Ｃ８に対応する。データ１４６ｂの「ｓｅｒｉｆ  ｂ  ２０ｐｔ」は、２０ポイントのフォントの「Ｂ」という文字であることを意味する。
【００３３】
図４の画像オブジェクト１０８は、図６の矩形画像オブジェクト１３８に変換される。矩形画像オブジェクト１３８は、ほぼ楕円形の画像オブジェクト１０８にほぼ外接する矩形の対角座標Ｃ９，Ｃ１０によって位置決めされる。図７のデータ１４８は、図６の矩形画像オブジェクト１３８に対応する。データ１４８の「２０  １００」は、座標Ｃ９に対応する。データ１４８の「１００  １４０」は、座標Ｃ１０に対応する。
なお、図７のデータ１４０は、印刷用紙の寸法（縦２１０、横２９７）を示す。
【００３４】
なお、レイアウトデータ１３０は、図７に示されるデータの他に以下のデータを含んでいてもよい。
（１）矩形オブジェクトの頂点の１つの座標と、その矩形の縦及び横の長さ
（２）矩形オブジェクトの頂点の１つの座標と、その矩形の対角線の長さ
（３）矩形オブジェクトの大きさ
（４）矩形オブジェクトの回転角度
（５）矩形テキストオブジェクトの文字の色
（６）矩形画像オブジェクトの背景の色
（７）印刷用紙のページ番号
また、レイアウトデータ１３０の中では、各矩形オブジェクトが印刷される順にソートされていることが好ましい。
【００３５】
レイアウトデータ１３０は、印刷データ記憶領域２６ａ（図１参照）に記憶される。第１プリンタ２０ａは、レイアウト処理（図２のＳ４）を実行すると、Ｓ６に進む。Ｓ６では、最初のバンドが特定される。以下では、バンドを特定する符号として「ｎ」を利用する。最初のバンドは「ｎ＝０」であり、それ以降は「ｎ＝１」、「ｎ＝２」、「ｎ＝３」・・・と増加していく。
バンドについて簡単に説明しておく。第１プリンタ２０ａは、印刷データ１００をラスタライズしてビットマップデータを作成し、作成されたビットマップデータに基づいて印刷用紙に印刷する。全ての印刷データ１００のビットマップデータを作成した後に印刷を開始するという手法が考えられる。しかしながら、この場合、全ての印刷データ１００のビットマップデータを記憶することができる大容量のメモリが必要になる。
本実施例の第１プリンタ２０ａは、ビットマップデータを記憶するためのメモリ容量を圧縮するために、バンド単位でビットマップデータを作成する手法を採用する。印刷データ１００は、複数のバンドに分けられる。図４や図６では、３つのバンド１１０，１１２，１１４が示されている。印刷用紙に印刷される順に各バンド１１０〜１１４のビットマップデータが作成される。１つのバンド（例えばバンド１１０）のビットマップデータが作成されると、そのバンドの印刷が開始される。そのバンドの印刷が行なわれている間に、次のバンド（例えばバンド１１２）のビットマップデータが作成される。これを最後のバンドまで繰り返す。バンド単位でビットマップデータが作成されると、印刷が終了したバンドのビットマップデータを消去することができるために、ビットマップデータを記憶するためのメモリ容量を圧縮することができる。
【００３６】
第１プリンタ２０ａは、図２のＳ６において最初のバンド（本実施例ではバンド１１０）を特定すると、そのバンド１１０のバンド領域を決定する（Ｓ８）。バンド領域は、２つの座標（０，ｎ・ｈＢ），（ｗ，（ｎ＋１）・ｈＢ）によって画定される。「ｎ」は、バンドを特定する数字である。最初のバンドの場合、ｎ＝０である。「ｈＢ」は、バンド幅（図６の１つのバンドの縦の長さ）を示す。バンド幅ｈＢは、固定値であってもよいし、変動値であってもよい。例えば、メモリ容量、印刷用紙の寸法、印刷の解像度等に基づいて、バンド幅ｈＢが変更されてもよい。バンド幅は、バンド毎に変更されてもよいし、印刷データ毎に変更されてもよい。
バンド領域を画定する２つの座標（０，ｎ・ｈＢ），（ｗ，（ｎ＋１）・ｈＢ）は、矩形のバンドの１つの対角線上に配置されるものである。例えば、バンド１１０（ｎ＝０）を画定する２つの座標は、（０，０），（ｗ，ｈＢ）である。（０，０）はバンド１１０の左上の頂点の座標であり、（ｗ，ｈＢ）はバンド１１０の右下の頂点の座標である。
【００３７】
第１プリンタ２０ａは、Ｓ８で決定されたバンド領域に含まれるオブジェクトを特定する（Ｓ１０）。まず、第１プリンタ２０ａは、矩形オブジェクト１３２〜１３８のそれぞれについて、上端のｙ座標（以下では「ｙ１」とする）と、下端のｙ座標（以下では「ｙ２」とする）を特定する。例えば、矩形画像オブジェクト１３２の場合、ｙ１は１０であり、ｙ２は６０である（図７参照）。また例えば、矩形画像オブジェクト１３８の場合、ｙ１は１００であり、ｙ２は１４０である。
Ｓ１０では、ｙ１又はｙ２がｎ・ｈＢと（ｎ＋１）・ｈＢの間に含まれるオブジェクト（群）が特定される。例えば、バンド１１０の場合、ｙ１又はｙ２がゼロとｈＢの間に含まれるオブジェクト（群）が特定される。本実施例では、２つの矩形画像オブジェクト１３２，１３４と２つの矩形テキストオブジェクト１３６，１３６が特定される。
【００３８】
第１プリンタ２０ａは、Ｓ１０を終えると、図３のＳ２０に進む。Ｓ２０では、Ｓ１０において２つ以上の矩形画像オブジェクトが特定されたのか否かが判断される。例えば、バンド１１０の場合、Ｓ１０において２つの矩形画像オブジェクト１３２，１３４が特定されるために、Ｓ２０でＹＥＳと判断される。
Ｓ２０でＹＥＳの場合、第１プリンタ２０ａは、１つの矩形画像オブジェクト（ここでは矩形画像オブジェクト１３２とする）に関するデータを第２プリンタ２０ｂに出力する（Ｓ２２）。即ち、矩形画像オブジェクト１３２の画像データが記憶されているアドレスと、その画像データの拡大率（又は縮小率）と、その画像データの回転角度と、印刷の解像度等が、第２プリンタ２０ｂに出力される。
【００３９】
第２プリンタ２０ｂは、第１プリンタ２０ａから出力された矩形画像オブジェクト１３２のデータ（アドレス、拡大率、回転角度、解像度等）を入力する。第２プリンタ２０ｂは、入力されたアドレス（即ち図１のサーバ７０）にアクセスし、矩形画像オブジェクト１３２の画像データをダウンロードする。ダウンロードされた画像データは、ＤＬオブジェクト記憶領域２８ｂ（図１参照）に記憶される。第２プリンタ２０ｂは、第１プリンタ２０ａから出力されたデータ（拡大率、回転角度、解像度等）に基づいて、ダウンロードされた画像データをラスタライズする。即ち、矩形画像オブジェクト１３２が占有する領域内の各座標について、その座標に印字されるドットの大きさ（もしくはドットなし）と色が決定される。座標群の密度は、印刷の解像度に依存する。公知の様々な手法を利用してラスタライズを実行することができる。例えば、ハーフトーン処理、誤差拡散法、ディザ法等を利用してラスタライズを実行することができる。
第２プリンタ２０ｂは、ラスタライズされた後のデータ（即ち矩形画像オブジェクト１３２のビットマップデータ）を第１プリンタ２０ａに出力する。第２プリンタ２０ｂから出力されたビットマップデータは、後述するＳ２８において第１プリンタ２０ａに入力される。
【００４０】
第１プリンタ２０ａは、Ｓ２２において矩形画像オブジェクト１３２に関するデータを第１プリンタ２０ｂに出力すると、矩形画像オブジェクト１３４の画像データをダウンロードする（Ｓ２４）。この処理は、矩形画像オブジェクト１３４に含まれるアドレス（サーバ７０のアドレス）にアクセスすることによって実行される。ダウンロードされた画像データは、ＤＬオブジェクト記憶領域２８ａ（図１参照）に記憶される。
第１プリンタ２０ａは、ダウンロードされた画像データをラスタライズする（Ｓ２６）。このラスタライズも、公知の様々な手法を利用して実行される。ラスタライズによって得られた矩形画像オブジェクト１３４のビットマップデータは、第１ビットマップデータ記憶領域３０ａ（図１参照）に記憶される。
【００４１】
なお、バンド１１０の次にラスタライズされるバンド１１２のビットマップデータは、第２ビットマップデータ記憶領域３２ａ（図１参照）に記憶される。また、バンド１１４のビットマップデータは、第１ビットマップデータ記憶領域３０ａに記憶される。この場合、バンド１１０のビットマップデータは、第１ビットマップデータ記憶領域３０ａから消去される。また、バンド１１４の次のバンド（図示省略）のビットマップデータは、第２ビットマップデータ記憶領域３２ａに記憶される。この場合、バンド１１２のビットマップデータは、第２ビットマップデータ記憶領域３２ａから消去される。
各バンド１１０，１１２，１１４等のビットマップデータは、第１ビットマップデータ記憶領域３０ａと第２ビットマップデータ記憶領域３２ａに交互に記憶される。
【００４２】
第１プリンタ２０ａが矩形画像オブジェクト１３４のビットマップデータを作成している間に、第２プリンタ２０ｂが矩形画像オブジェクト１３２のビットマップデータを作成する。即ち、第１プリンタ２０ａと第２プリンタ２０ｂは、並行してラスタライズを実行する。
第２プリンタ２０ｂから出力された矩形画像オブジェクト１３２のビットマップデータは、Ｓ２８において第１プリンタ２０ａに入力される。入力されたビットマップデータは、第１ビットマップデータ記憶領域３０ａ（図１参照）に記憶される。
第１プリンタ２０ａは、バンド１１０に含まれる他のオブジェクト１３６，１３６をラスタライズし、それらのビットマップデータを第１ビットマップデータ記憶領域３０ａに記憶させる。これにより、バンド１１０に含まれる全てのオブジェクト１３２，１３４，１３６のビットマップデータが、第１ビットマップデータ記憶領域３０ａに記憶されることになる。
【００４３】
なお、図３のフローチャートでは、Ｓ２６の処理を終えた後に、Ｓ２８の処理が実行されるように見える。しかしながら、第１プリンタ２０ａは、Ｓ２６の処理を実行する前（もしくは処理を終える前）に、Ｓ２８の処理を実行してもよい。
また、Ｓ２８の処理を終えた後に、Ｓ３０の処理が実行されるように見える。しかしながら、第１プリンタ２０ａは、Ｓ２８の処理を実行する前（もしくは処理を終える前）に、Ｓ３０の処理を実行してもよい。第１プリンタ２０ａは、Ｓ２０〜Ｓ２８のいずれかの処理の前にＳ３０の処理を実行してもよい。しかしながら、第２プリンタ２０ｂが矩形画像オブジェクト１３２をラスタライズする処理を早期に実行させるために、Ｓ３０の処理は、Ｓ２２の処理より後に実行させることが好ましい。
また、１つのバンドに３つ以上の矩形画像オブジェクトが含まれる場合、第１プリンタ２０ａが複数の矩形画像オブジェクトのラスタライズを実行し、第２プリンタ２０ｂが１つの矩形画像オブジェクトのラスタライズを実行してもよい。また、第１プリンタ２０ａが１つの矩形画像オブジェクトのラスタライズを実行し、第２プリンタ２０ｂが複数の矩形画像オブジェクトのラスタライズを実行してもよい。なお、１つのバンドに４つ以上の矩形画像オブジェクトが含まれる場合、第１プリンタ２０ａが複数の矩形画像オブジェクトのラスタライズを実行し、第２プリンタ２０ｂも複数の矩形画像オブジェクトのラスタライズを実行してもよい。
【００４４】
Ｓ２０の判断は、１つのバンドに含まれる矩形画像オブジェクトの数に基づいて実行される。バンドに含まれる矩形画像オブジェクトの数が０又は１の場合、Ｓ２０でＮＯと判断される。この場合、第１プリンタ２０ａは、第２プリンタ２０ｂに画像データのラスタライズを実行させない。第１プリンタ２０ａは、各オブジェクトを自分でラスタライズする（Ｓ３２）。例えば、バンドに１つの矩形画像オブジェクトが含まれる場合、第１プリンタ２０ａは、その矩形画像オブジェクトの画像データをダウンロードし、ダウンロードされた画像データをラスタライズする。
Ｓ３０又はＳ３２の処理を終えると、図２のＳ４０に進む。
【００４５】
Ｓ４０では、第１ビットマップデータ記憶領域３０ａ又は第２ビットマップデータ記憶領域３０ｂに記憶されているビットマップデータに基づいて、印刷用紙に印刷する処理が実行される。例えば、バンド１１０のビットマップデータは、第１ビットマップデータ記憶領域３０ａに記憶されている。このために、第１ビットマップデータ記憶領域３０ａに記憶されているビットマップデータに基づいて、バンド１１０の印刷処理が実行される。Ｓ４０の印刷処理は、制御装置２２ａが印刷装置４４ａ（図１参照）に指示を出すことによって行なわれる。
【００４６】
第１プリンタ２０ａは、Ｓ４０において印刷が開始されると、次のバンドが存在するのか否かを判断する（Ｓ４２）。例えば、バンド１１０についてＳ８〜Ｓ４０が終了した場合、次のバンド１１２が存在するために、Ｓ４２でＹＥＳと判断される。
Ｓ４２でＹＥＳの場合、第１プリンタ２０ａは、次のバンドを特定する（Ｓ４４）。例えば、バンド１１０についてＳ８〜Ｓ４０が終了した場合は、バンド１１２が特定される
次いで、第１プリンタ２０ａは、Ｓ４４で特定されたバンドが１枚の印刷用紙の終端を超えるものであるのか否かを判断する（Ｓ４６）。この処理は、ｎ・ｈＢがｈ（印刷用紙の縦の長さ）より大きい場合にＹＥＳと判断される。
Ｓ４６でＹＥＳの場合、次の印刷用紙に印刷することを決定する（Ｓ４８）。この場合、バンドを特定する番号（ｎ）がクリアされてゼロになる。Ｓ４８を終えた場合、又は、Ｓ４６でＮＯの場合は、Ｓ８に進む。これにより、次のバンドについてＳ８〜Ｓ４０の処理が実行されることになる。
【００４７】
バンド１１２以降のそれぞれのバンドについて、上記したＳ８〜Ｓ４０の処理が実行される。
バンド１１２について実行される処理の内容を簡単に説明しておく。この処理は、バンド１１０のビットマップデータが印刷用紙に印刷されている間に実行される。
Ｓ１０では、矩形画像オブジェクト１３８（画像オブジェクト１０８）が特定される。Ｓ２０では、ＮＯと判断される。１つの矩形画像オブジェクト１３８しかバンド１１２に含まれていないからである。
Ｓ３２では、矩形画像オブジェクト１３８の画像データがダウンロードされ、その画像データがラスタライズされる。これにより、バンド１１２のビットマップデータが作成される。バンド１１２のビットマップデータは、第２ビットマップデータ記憶領域３２ａに記憶される。第１プリンタ２０ａは、第２ビットマップデータ記憶領域３２ａに記憶されているバンド１１２のビットマップデータに基づいて、印刷用紙に印刷する処理を実行する（Ｓ４０）
【００４８】
バンド１１２の印刷処理（Ｓ４０）が実行されている間に、バンド１１４についてＳ８以降の処理が実行される。全てのバンドについてＳ８〜Ｓ４０の処理が実行されると、Ｓ４２でＮＯと判断される。これにより、全ての処理が終了することになる。
【００４９】
第１プリンタ２０ａが実行する処理について詳しく説明した。第２プリンタ２０ｂは、第１プリンタ２０ａの場合と同じフローチャート（図２と図３）に従って、印刷データを印刷する処理を実行することができる。例えば、第２プリンタ２０ｂは、印刷データからレイアウトデータを作成することができる。また、第２プリンタ２０ｂは、１つのバンドに２つ以上の矩形画像オブジェクトが含まれる場合に、第１プリンタ２０ａに矩形画像オブジェクトのラスタライズを実行させる。
【００５０】
本実施例では、第１プリンタ２０ａと第２プリンタ２０ｂが、共同して印刷データ１００をラスタライズすることができる。即ち、第１プリンタ２０ａが印刷データ１００の一部分をラスタライズする処理と、第２プリンタ２０ｂが印刷データ１００の他の部分をラスタライズする処理が、並行して（同時的に）実施される。この場合、１つのプリンタのみによって印刷データ１００がラスタライズされる場合と比べて、印刷データ１００を高速でラスタライズすることができる。本実施例のプリンタシステム１０は、印刷データ１００のラスタライズの高速化を実現する。この結果、印刷データ１００の印刷に要する時間を短縮することができる。
また、本実施例では、印刷データ１００に含まれる各オブジェクト１０２〜１０８が矩形オブジェクト１３２〜１３８に変換される。単純な矩形の座標によって各オブジェクトが位置決めされる。このために、第１プリンタ２０ａ（又は第２プリンタ２０ｂ）は、バンドに含まれるオブジェクトを容易に特定することができる。即ち、図２のＳ１０の処理を容易に実行することができる。
【００５１】
（第２実施例）
本実施例では、第１プリンタ２０ａ（又は第２プリンタ２０ｂ）が実行する処理が第１実施例と異なる。図８は、レイアウトデータの一例を示す。図８を参照して、本実施例の第１プリンタ２０ａが実行する処理を説明する。
レイアウトデータ１５０は、２つの矩形画像オブジェクト１５２，１５４を含んでいる。矩形画像オブジェクト１５２は、２つのバンド１１０，１１２に跨って配置されている。矩形画像オブジェクト１５４は、バンド１１０のみに含まれている。
第１プリンタ２０ａは、矩形画像オブジェクト１５４をラスタライズするように第２プリンタ２０ｂに指示する。即ち、第１プリンタ２０ａは、矩形画像オブジェクト１５４に関するデータ（アドレス、拡大率、回転角度、解像度等）を第２プリンタ２０ｂに出力する。第２プリンタ２０ｂは、矩形画像オブジェクト１５４の画像データをダウンロードし、その画像データをラスタライズする。
第１プリンタ２０ａは、矩形画像オブジェクト１５２の画像データをインターネット５６からダウンロードし、その画像データをラスタライズする。第１プリンタ２０ａは、矩形画像オブジェクト１５２がラスタライズされた後のデータ（即ちビットマップデータ）をＤＬオブジェクト記憶領域２６ａに記憶させる。第１プリンタ２０ａは、ＤＬオブジェクト記憶領域２６ａに記憶されている矩形画像オブジェクト１５２のビットマップデータの中からバンド１１０に含まれる部分のみを切り取り、その部分を第１ビットマップデータ記憶領域３０ａに記憶させる。
また、第１プリンタ２０ａは、第２プリンタ２０ｂでラスタライズされた矩形画像オブジェクト１５４のビットマップデータを入力し、入力されたビットマップデータを第１ビットマップデータ記憶領域３０ａに記憶させる。これにより、バンド１１０のビットマップデータが作成されることになる。
【００５２】
第１プリンタ２０ａは、バンド１１０のビットマップデータに基づいて印刷媒体に印刷する処理（Ｓ４０）を実行している間に、バンド１１２のビットマップデータを作成する。ＤＬオブジェクト記憶領域２６ａには、矩形画像オブジェクト１５２のビットマップデータが記憶されている。このビットマップデータは、バンド１１０のビットマップデータが作成される際に矩形画像オブジェクト１５２がラスタライズされることによって得られたものである。第１プリンタ２０ａは、ＤＬオブジェクト記憶領域２６ａに記憶されている矩形画像オブジェクト１５２のビットマップデータの中からバンド１１２に含まれる部分のみを切り取り、その部分を第２ビットマップデータ記憶領域３２ａに記憶させる。これにより、バンド１１２のビットマップデータが作成されることになる。
【００５３】
（第３実施例）
第２実施例と異なり、本実施例の第１プリンタ２０ａは、矩形画像オブジェクト１５４の画像データをインターネット５６からダウンロードし、その画像データをラスタライズする。第１プリンタ２０ａは、矩形画像オブジェクト１５２をラスタライズするように第２プリンタ２０ｂに指示する。即ち、第１プリンタ２０ａは、矩形画像オブジェクト１５２に関するデータ（アドレス、拡大率、回転角度、解像度等）を第２プリンタ２０ｂに出力する。
第２プリンタ２０ｂは、矩形画像オブジェクト１５２の画像データをダウンロードし、その画像データをラスタライズする。第２プリンタ２０ｂは、矩形画像オブジェクト１５２がラスタライズされた後のデータ（即ちビットマップデータ）をＤＬオブジェクト記憶領域２６ｂに記憶させる。第２プリンタ２０ｂは、ＤＬオブジェクト記憶領域２６ｂに記憶されている矩形画像オブジェクト１５２のビットマップデータの中からバンド１１０に含まれる部分のみを切り取り、その部分を第１プリンタ２０ａに出力する。
第１プリンタ２０ａは、第２プリンタ２０ｂから出力された矩形画像オブジェクト１５２のビットマップデータ（バンド１１０に含まれる部分のみ）を入力し、入力されたビットマップデータを第１ビットマップデータ記憶領域３０ａに記憶させる。また、第１プリンタ２０ａは、自身によってラスタライズされた矩形画像オブジェクト１５４のビットマップデータを第１ビットマップデータ記憶領域３０ａに記憶させる。これにより、バンド１１０のビットマップデータが作成されることになる。
【００５４】
第１プリンタ２０ａは、バンド１１０のビットマップデータに基づいて印刷媒体に印刷する処理（Ｓ４０）を実行している間に、バンド１１２のビットマップデータを作成する。第２プリンタ２０ｂのＤＬオブジェクト記憶領域２６ｂには、矩形画像オブジェクト１５２のビットマップデータが記憶されている。第１プリンタ２０ａは、矩形画像オブジェクト１５２のビットマップデータ（バンド１１２に含まれる部分のみ）を出力するように、第２プリンタ２０ｂに指示する。
第２プリンタ２０ｂは、ＤＬオブジェクト記憶領域２６ｂに記憶されている矩形画像オブジェクト１５２のビットマップデータの中からバンド１１２に含まれる部分のみを切り取り、その部分を第１プリンタ２０ａに出力する。
第１プリンタ２０ａは、第２プリンタ２０ｂから出力された矩形画像オブジェクト１５２のビットマップデータ（バンド１１２に含まれる部分のみ）を入力し、入力されたビットマップデータを第２ビットマップデータ記憶領域３０ｂに記憶させる。これにより、バンド１１２のビットマップデータが作成されることになる。
【００５５】
（第４実施例）
本実施例では、第１プリンタ２０ａ（又は第２プリンタ２０ｂ）が実行する処理が第１実施例と異なる。特に、図３のＳ２０の判断の基準が第１実施例と異なる。図９は、レイアウトデータの一例を示す。図９を参照して、本実施例の第１プリンタ２０ａが実行する処理を説明する。
第１実施例の第１プリンタ２０ａは、１つのバンドに２つ以上の矩形画像オブジェクトが含まれる場合に、少なくとも１つの矩形画像オブジェクトをラスタライズするように第２プリンタ２０ｂに指示する（図３のＳ２０，Ｓ２２）。これに対し、本実施例の第１プリンタ２０ａは、１つのバンドに１つの矩形画像オブジェクトしか含まれていなくても、そのバンドに他のオブジェクト（矩形テキストオブジェクト）が含まれている場合は、その矩形画像オブジェクトをラスタライズするように第２プリンタ２０ｂに指示する。
例えば、図９のレイアウトデータ１６０のバンド１１０は、１つの矩形画像オブジェクト１６２と２つの矩形テキストオブジェクト１６４ａ，１６４ｂを含んでいる。この場合、第１プリンタ２０ａは、矩形画像オブジェクト１６２をラスタライズするように第２プリンタ２０ｂに指示する。第１プリンタ２０ａは、矩形テキストオブジェクト１６４ａ，１６４ｂを自分でラスタライズする。
【００５６】
なお、本実施例において、第１プリンタ２０ａは、矩形テキストオブジェクト１６４ａ，１６４ｂをラスタライズするように第２プリンタ２０ｂに指示し、矩形画像オブジェクト１６２を自分でラスタライズしてもよい。
【００５７】
（第５実施例）
本実施例では、第１プリンタ２０ａ（又は第２プリンタ２０ｂ）が実行する処理が第１実施例と異なる。特に、図３のＳ２０の判断の基準が第１実施例と異なる。
本実施例の第１プリンタ２０ａは、オブジェクトの種類にかかわらず、１つのバンドに複数のオブジェクトが含まれる場合に、少なくとも１つのオブジェクトをラスタライズするように第２プリンタ２０ｂに指示する。
例えば、図９のバンド１１２は、３つの矩形テキストオブジェクト１６６ａ，１６６ｂ，１６６ｃを含んでいる。この場合、第１プリンタ２０ａは、少なくとも１つの矩形テキストオブジェクト（例えば１６６ａ）をラスタライズするように第２プリンタ２０ｂに指示する。第１プリンタ２０ａは、他の矩形テキストオブジェクト（例えば１６６ｂ，１６６ｃ）を自分でラスタライズする。
【００５８】
（第６実施例）
本実施例では、第１プリンタ２０ａ（又は第２プリンタ２０ｂ）が実行する処理が第１実施例と異なる。特に、図３のＳ２０の判断の基準が第１実施例と異なる。図１０は、本実施例における図２のＳ１０より後の処理のフローチャートを示す。即ち、本実施例の第１プリンタ２０ａは、図３のフローチャートの代わりに、図１０のフローチャートを実行する。
第１プリンタ２０ａは、図２のＳ１０で特定されたオブジェクトの中に、少なくとも１つの矩形画像オブジェクトが含まれているのか否かを判断する（Ｓ６０）。ここでＹＥＳの場合、第１プリンタ２０ａは、１つの矩形画像オブジェクトに関するデータ（アドレス、拡大率、回転角度、解像度等）を第２プリンタ２０ｂに出力する（Ｓ６２）。
【００５９】
第２プリンタ２０ｂは、矩形画像オブジェクトに関するデータを入力すると、その矩形画像オブジェクトをラスタライズして第１プリンタ２０ａに出力するための処理時間ｔ２を計算する。この処理時間ｔ２は、矩形画像オブジェクトの画像データをダウンロードするための時間（ｔＤ）と、ダウンロードされた画像データをラスタライズするための時間（ｔＬ）と、ラスタライズによって得られたビットマップデータを第１プリンタ２０ａに送るための時間（即ち伝送時間；ｔＴ）との和である。
時間ｔＤは、固定値であってもよいし、画像データのデータ量等に基づいて決定されてもよい。時間ｔＤを決定する際に、第２プリンタ２０ｂの処理速度が考慮されてもよい。
時間ｔＬは、固定値であってもよいし、画像データのデータ量等に基づいて決定されてもよい。
時間ｔＴは、固定値であってもよいし、画像データのデータ量や第１プリンタ２０ａと第２プリンタ２０ｂの間の通信速度等に基づいて決定されてもよい。
第２プリンタ２０ｂは、処理時間ｔ２を算出すると、その処理時間ｔ２を第１プリンタ２０ａに出力する。この処理時間ｔ２は、後述するＳ６６において第１プリンタ２０ａに入力される。
【００６０】
第１プリンタ２０ａは、バンドに含まれる全てのオブジェクト（即ち図２のＳ１０で特定された全てのオブジェクト）を自分でラスタライズする場合の処理時間ｔ１を計算する（Ｓ６４）。
オブジェクトの種類に応じて処理時間が決まっていてもよい。例えば、矩形画像オブジェクトの処理時間（ｔＩＯ）と、矩形テキストオブジェクトの処理時間（ｔＴＯ）が決まっていてもよい。この場合、例えば、２つの矩形画像オブジェクトと３つの矩形テキストオブジェクトが１つのバンドに含まれる場合、２×ｔＩＯと３×ｔＴＯの和を算出することによって処理時間ｔ１が得られる。
一方において、第１プリンタ２０ａは、オブジェクトのデータ量等に基づいて処理時間ｔ１を算出してもよい。また、第１プリンタ２０ａは、矩形画像オブジェクトの画像データをダウンロードする時間を考慮して処理時間ｔ１を算出してもよい。
【００６１】
第１プリンタ２０ａは、第２プリンタ２０ｂによって計算された処理時間ｔ２を入力する（Ｓ６６）。
第１プリンタ２０ａと第２プリンタ２０ｂが共同して当該バンドのラスタライズを実行する場合の処理時間（これを共同処理時間と呼ぶ）は、第１プリンタ２０ａがラスタライズに要する時間（これをｔ２’とする）、又は、第２プリンタ２０ｂがラスタライズに要する時間（上記のｔ２）である。即ち、第１プリンタ２０ａがラスタライズに要する時間の方が遅い場合、共同処理時間は上記のｔ２’である。また、第２プリンタ２０ｂがラスタライズに要する時間の方が遅い場合、共同処理時間は上記のｔ２である。
ｔ１は、第１プリンタ２０ａが全てのオブジェクトをラスタライズするための時間である。ｔ２’は、第１プリンタ２０ａが一部のオブジェクト（第２プリンタ２０ｂによってラスタライズされる矩形画像オブジェクト以外のオブジェクト）をラスタライズするための時間である。このために、ｔ２’は、ｔ１より小さい。
ｔ２よりｔ１の方が小さい場合は、第１プリンタ２０ａが全てのオブジェクトをラスタライズした方が、高速でラスタライズを実行することができる。一方において、ｔ１よりｔ２の方が小さい場合は、第１プリンタ２０ａと第２プリンタ２０ｂが共同してラスタライズした方が、高速でラスタライズを実行することができる。この場合の共同処理時間はｔ２又はｔ２’であり、ｔ２がｔ１より小さく、ｔ２’もｔ１より小さいからである。
【００６２】
第１プリンタ２０ａは、Ｓ６４で算出された処理時間ｔ１と、Ｓ６６で入力された処理時間ｔ２を比較する（Ｓ７０）。ｔ１がｔ２より小さい場合、Ｓ７０でＹＥＳと判断される。ｔ１がｔ２より大きい場合、Ｓ７０でＮＯと判断される。
Ｓ７０でＹＥＳの場合、第１プリンタ２０ａは、バンドに含まれる全てのオブジェクトを自分でラスタライズする（Ｓ７８）。第１プリンタ２０ａは、ラスタライズされたビットマップデータを、ビットマップデータ記憶領域３０ａ又は３２ａに記憶させる。
【００６３】
一方において、Ｓ７０でＮＯの場合、第１プリンタ２０ａは、矩形画像オブジェクトをラスタライズするように第２プリンタ２０ｂに指示する（Ｓ７２）。第２プリンタ２０ｂは、矩形画像オブジェクトをラスタライズし、ラスタライズによって得られたビットマップデータを第１プリンタ２０ａに出力する。このビットマップデータは、後述するＳ７６において第１プリンタ２０ａに入力される。
さらに、第１プリンタ２０ａは、第２プリンタ２０ｂにラスタライズを指示した矩形画像オブジェクト以外のオブジェクト（群）をラスタライズする（Ｓ７４）。第１プリンタ２０ａは、ラスタライズされたビットマップデータを、ビットマップデータ記憶領域３０ａ又は３２ａに記憶させる。
第１プリンタ２０ａは、第２プリンタ２０ｂで作成された矩形画像オブジェクトのビットマップデータを入力し、そのビットマップデータをビットマップデータ記憶領域３０ａ又は３２ａに記憶させる（Ｓ７６）。
【００６４】
本実施例では、ｔ１とｔ２が比較され、速い方が採用される。ｔ１とｔ２’は比較されないが、ｔ２’がｔ１より小さいことがわかっている。このために、ｔ１とｔ２を比較することは、第１プリンタ２０ａのみによってラスタライズするための処理時間と、第１プリンタ２０ａと第２プリンタ２０ｂが共同してラスタライズするための処理時間を比較することに等しい。
本実施例によると、印刷データをラスタライズするのに要する時間を確実に短縮することができる。
【００６５】
上記した各実施例の変形例を列挙する。
（変形例１）
第６実施例において、第２プリンタ２０ｂは、図９のＳ６２の処理が第１プリンタ２０ａによって実行された場合に、自分が使用することができるメモリ量を第１プリンタ２０ａに出力してもよい。
この場合、第１プリンタ２０ａは、第２プリンタ２０ｂから送られてきたメモリ量が所定の閾値より大きい場合に限って、第２プリンタ２０ｂにラスタライズを指示してもよい（即ち図９のＳ７０においてＮＯと判断してもよい）。
【００６６】
（変形例２）
上記の各実施例において、印刷データを印刷するように第１プリンタ２０ａが指示されることと、他の印刷データを印刷するように第２プリンタ２０ｂが指示されることが並列的に実施されることがある。この場合は、第１プリンタ２０ａと第２プリンタ２０ｂが共同して印刷データを印刷することを禁止してもよい。
【００６７】
（変形例３）
上記の各実施例において、印刷データからバンド単位のビットマップデータを作成しなくてもよい。第１プリンタ２０ａ（又は第２プリンタ２０ｂ）は、印刷データの全てからビットマップデータを作成し、その後に印刷を開始してもよい。
この場合、上記の各実施例において、図３のＳ２０の処理は、バンドに含まれるオブジェクトに基づいて判断されるのではなく、印刷データの全体に含まれるオブジェクト（群）に基づいて判断されてもよい。
【００６８】
（変形例４）
上記の各実施例のＳ２０の判断基準は、ＡＮＤ条件及び／又はＯＲ条件によって組み合わせることができる。
【００６９】
（変形例５）
３つ以上のプリンタによってシステム１０が構成されてもよい。この場合、３つ以上のプリンタが、共同して印刷データをラスタライズしてもよい。
【００７０】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００７１】
【図１】実施例のプリンタシステムの構成を示す。
【図２】プリンタが実行する処理のフローチャートを示す。
【図３】プリンタが実行する処理のフローチャートを示す（図２の続き）。
【図４】印刷データを可視的に表したものを示す。
【図５】印刷データのデータ構成を示す。
【図６】レイアウトデータを可視的に表したものを示す。
【図７】レイアウトデータのデータ構成を示す。
【図８】レイアウトデータの別の例を示す。
【図９】レイアウトデータの別の例を示す。
【図１０】プリンタが実行する処理のフローチャートを示す（第６実施例）。
【符号の説明】
【００７２】
２０ａ：第１プリンタ
２０ｂ：第２プリンタ
２２ａ，２２ｂ：制御装置
２４ａ，２４ｂ：記憶装置
３６ａ，３６ｂ：表示装置
３８ａ，３８ｂ：操作装置
４０ａ，４０ｂ：スロット部
４４ａ，４４ｂ：印刷装置
４６ａ，４６ｂ：入出力ポート
５６：インターネット
１００：印刷データ
１０２，１０４，１０８：画像オブジェクト
１０６：テキストオブジェクト
１１０，１１２，１１４：バンド
１３０：レイアウトデータ
１３２，１３４，１３８：矩形画像オブジェクト
１３６：矩形テキストオブジェクト
【図１】
2008087225.tif 000003
【図２】
2008087225.tif 000004
【図３】
2008087225.tif 000005
【図４】
2008087225.tif 000006
【図５】
2008087225.tif 000007
【図６】
2008087225.tif 000008
【図７】
2008087225.tif 000009
【図８】
2008087225.tif 000010
【図９】
2008087225.tif 000011
【図１０】
2008087225.tif 000012