JP2004098636A - 複数のデータ処理装置を備えたプリンタ - Google Patents
複数のデータ処理装置を備えたプリンタ Download PDFInfo
- Publication number
- JP2004098636A JP2004098636A JP2002292147A JP2002292147A JP2004098636A JP 2004098636 A JP2004098636 A JP 2004098636A JP 2002292147 A JP2002292147 A JP 2002292147A JP 2002292147 A JP2002292147 A JP 2002292147A JP 2004098636 A JP2004098636 A JP 2004098636A
- Authority
- JP
- Japan
- Prior art keywords
- data
- data processing
- processing device
- printer
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【解決手段】プリンタ100は、メインデータ処理装置110、サブデータ処理装置130を備える。メインデータ処理装置110は、XHTML−printで記述された文書データを解釈しラスタデータを共有メモリ120に書き込む。サブデータ処理装置130は、共有メモリ120からラスタデータを読み出し、色変換処理、ハーフトーン処理を行って、印刷を実行する。各データ処理装置の処理内容を、文書データの解釈という高度な処理と、ラスタデータという大量なデータの処理とに分けることにより、処理効率を向上させることができる。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、複数のデータ処理装置を備えたプリンタに関する。
【0002】
【従来の技術】
従来、インクジェットプリンタ等のプリンタは、パーソナルコンピュータ等で生成された文書データに基づいて印刷を行う。
これらのプリンタには、高級な印刷言語で記述された文書データを解釈して印刷を行うことができるインテリジェンスプリンタと呼ばれるものがある。
インテリジェンスプリンタは、印刷言語で記述された文書データを解釈して印刷データを生成するため、高いデータ処理能力が求められることが多い。データ処理能力を向上するため、CPUを複数搭載し、複数のCPUによってデータ処理作業を分担させる場合がある(例えば、特許文献1)。
【0003】
【特許文献1】
特開平11−249843号公報
【0004】
【発明が解決しようとする課題】
複数のCPUを搭載したプリンタでは、従来、一方のCPUが印刷データを生成し、他方のCPUはプリントエンジンの駆動制御を受け持つことが多かった。かかる構成では、印刷データを生成する側のCPUの方が処理負担が大きかった。CPUの処理負担の偏りは、CPUコストの増加を招くとともに、効率的な印刷処理を阻害することがあった。本発明は、上記課題に鑑みてなされたもので、複数のデータ処理装置を搭載したプリンタにおいて、各データ処理装置のデータ処理負担を調整し、処理の効率化を図ることを目的とする。
【0005】
【課題を解決するための手段およびその作用・効果】
本発明のプリンタは、第1のデータ処理装置、第2のデータ処理装置、両者間でデータを受け渡すデータ伝達部を備える。第1のデータ処理装置は、文書データから印刷データを生成する一連の処理のうち相対的に高度なデータ処理を行う。第2のデータ処理装置は、残余の処理を行う。第1,第2のデータ処理装置は、CPU単体で構成してもよいし、CPU、ROM,RAM、入出力ポート等を含んだマイクロコンピュータとして構成してもよい。ASICのように専用的な回路としてもよい。
【0006】
一般に、文書データから印刷データを生成するまでの一連の処理は、高度な処理と、それほど高度な処理ではないが処理対象となるデータ量が膨大にある処理に大別されることが多い。本発明では、各データ処理装置の処理内容を、相対的に高度な処理とその他の処理に分散させる。これにより、第1,第2のデータ処理装置のいずれか一方に過度の負担が生じるのを防止することができる。
【0007】
例えば、文書データが印刷言語で生成されている場合、第1のデータ処理装置は、文書データを解釈してラスタデータを生成し、第2のデータ処理装置は、このラスタデータを印刷データに変換するように、各データ処理機能を分散させることができる。ここで、ラスタデータとは、ビットマップデータなど画素単位で階調値を規定することで印刷すべき画像を表したデータを意味する。
【0008】
上述の印刷言語には、例えば、ポストスクリプトやXHTML−print(拡張可能なハイパーテキストマークアップ言語で記述された印刷コマンド)等の高級な印刷言語が含まれる。第1のデータ処理装置は、印刷言語の各印刷コマンドを解釈してラスタデータを生成するという高度なデータ処理を実施する。第2のデータ処理装置は、ラスタデータを印刷データに変換するという比較的機械的だが、データ量が膨大な処理を実施する。
【0009】
本発明において、第1のデータ処理装置におけるラスタデータの生成は、文書データ中の文字データと文書データ画像データとを別に扱い、文字ラスタデータ、画像ラスタデータとを個別に生成するようにしてもよい。第2のデータ処理装置は、文字ラスタデータと画像ラスタデータとを合成して印刷イメージデータを生成する。このように文字ラスタデータと画像ラスタデータとを別個に生成することにより、文字、画像の特徴を活かしたデータ生成を行うことができる。例えば、一般に文字は画像に比較して使用される色数が少ないことが多いため、この特徴を活かして文字ラスタデータの色数を低減し、データサイズを低減させることができる。
【0010】
第1のデータ処理装置と第2のデータ処理装置のデータ伝達には、互いに共有するメモリを用いることができる。パラレルインターフェース、シリアルインターフェース、その他のバスによってデータ通信を行っても構わない。通信による場合には、第1のデータ処理装置と第2のデータ処理装置は、各データ処理装置に固有のバッファからデータを読み出し、通信し、他方のバッファへ書き込む処理を繰り返し実行する必要がある。これに対し、共有されるメモリを用いれば、一方のデータ処理装置が書き込んだデータを、他方のデータ処理装置が読み出すことにより、短時間でデータを受け渡すことができる利点がある。一般に、ラスタデータはデータ量が膨大であるため、この時間短縮による効果は大きい。
【0011】
共有メモリには、複数の共有領域を設け、第1のデータ処理装置および第2のデータ処理装置は、両者が同時に同じ共有領域を使用しない条件下で、これらの共有領域を順次切り替えて使用してもよい。
【0012】
こうすることで、例えば、一方のデータ処理装置がある共有領域にデータを書き込んでいる間に、他方のデータ処理装置は、別の共有領域からデータを読み出して処理することができる。このように複数の共有領域を切り替えながら使用することにより、効率的なデータの受け渡しを行うことができる。
【0013】
さらに、文字ラスタデータと画像ラスタデータとを個別に生成する場合には、各共有領域には、文字ラスタデータを格納する文字プレーンと画像ラスタデータを格納する画像プレーンとをそれぞれ設けることが好ましい。
【0014】
例えば、XHTML−printのように、文字と画像を別々に記述する印刷言語によって文書データが生成されている場合、文字のラスタデータと画像のラスタデータとをそれぞれ別々に生成し、各プレーンに格納させる。これにより、文字ラスタデータと画像ラスタデータとの合成を容易に行うことができる。
【0015】
本発明において、第2のデータ処理装置は、例えば、ラスタデータの各画素の色変換、ハーフトーン処理、印刷部の制御の少なくとも一部のデータ処理を実行させることができる。かれらの処理は、それほど高度ではないがデータ量が膨大となる処理であるため、データ処理機能の少なくとも一部をハードウェア回路として実装することが好ましい。
【0016】
例えば、色変換機能やハーフトーニング機能等をASIC(Application−Specific Integrated Circuit)のようなハードウェア回路して構成し、第2のデータ処理装置に実装することができる。
【0017】
本発明のプリンタは、第2の態様として、次の構成を採っても良い。第1のデータ処理装置は、印刷言語で記述された文書データを入力し、その印刷言語を解釈する。第2のデータ処理装置は、解釈結果に基づいて印刷データを生成し、その印刷データに基づいて印刷機構を制御する。このような処理分担でも、それぞれのデータ処理装置の負荷の偏りを緩和することができ、処理の効率化を図ることができる。解釈結果は、例えば、ラスタデータとして出力することができる。
【0018】
第2の態様において、文書データが、複数種類の文書構成要素を含んでいる場合、第1のデータ処理装置は、文書構成要素ごとに解釈結果を出力してもよい。文書構成要素とは、印刷言語において印刷内容を指定する方法が異なる要素を意味し、例えば、文字、画像、表などが挙げられる。第2のデータ処理装置で、各文書構成要素の解釈結果を合成すればよい。こうすることにより、第1のデータ処理装置、第2のデータ処理装置間のデータの受け渡し時に、各文書構成要素の特徴を活かすことができる。例えば、一般に文字は画像に比較して使用される色数が少ないことが多いため、この特徴を活かして文字ラスタデータの色数を低減し、データサイズを低減させることができる。
【0019】
第2の態様においても、データ伝達部は、パラレルインターフェース、シリアルインターフェース、その他のバスを用いる他、第1および第2のデータ処理装置が共有する共有メモリとしてもよい。特に、ラスタデータのように膨大なデータの場合、データ授受の効率という観点で共有メモリが適している。
【0020】
共有メモリを用いる場合、複数の共有領域を定義し、第1のデータ処理装置および第2のデータ処理装置でこれらの複数の共有領域を順次切り替えて使用してもよい。この場合、両者が同時に同じ共有領域を使用しない条件下で切り換えることが好ましい。
【0021】
共有領域を切り換えて使用する場合、文書データを、文書データよりも小さい複数の文書領域に分割して処理を進めることが好ましい。例えば、第1のデータ処理装置が、文書領域ごとにいずれかの共有領域に解釈結果を出力し、第2のデータ処理装置が、文書領域単位で印刷データを生成することができる。こうすることにより、複数の共有領域を効率的に使用して、処理の効率化を図ることができる。文書領域は、種々の設定が可能である。例えば、主走査、副走査を繰り返して印刷を行う印刷機構を用いる場合には、文書領域は、文書データを副走査方向にのみ分割して定義されるデータとすることにより、印刷を効率的に行うことができる点で好ましい。
【0022】
共有領域のサイズは、文書データに応じて動的に設定可能とすることが好ましい。共有領域の数を動的に設定可能としてもよい。こうすることにより、共有メモリの資源を有効に活用することができる。
【0023】
共有領域のサイズの設定は、第1および第2のデータ処理装置のいずれで行っても良い。第2のデータ処理装置で行う場合には、第1のデータ処理装置から、文書データに基づき、印刷データのサイズに関連する所定の情報を第2のデータ処理装置に送信し、第2のデータ処理装置は、この情報に基づいて、共有領域のサイズを設定するという手順を採ることになる。第2のデータ処理装置が、設定結果を第1のデータ処理装置に送信することにより、共有領域を双方のデータ処理装置で利用可能となる。
【0024】
共有メモリを用いる場合、第1または第2のデータ処理装置は、データ処理装置の管理下にあるハードウェアの動作状態を表すステータス情報を共有メモリに書き込むようにしてもよい。つまり、印刷に関連するデータの授受だけでなく、ステータス情報の授受に共有メモリを使用してもよい。いずれか一方のデータ処理装置から他方のデータ処理装置へのステータス通知にのみ利用してもよいし、双方向の通知に利用してもよい。
【0025】
このように共有メモリを介してステータス情報を受け渡す場合、受け取り側のデータ処理装置は、ステータス情報が書き込まれたタイミングとは無関係に、任意のタイミングで情報を参照することができる。従って、受け取り側の処理が妨げられないという利点がある。書き込み側は、ステータス情報が読み取られたか否かに関わらず、頻繁にステータス情報を更新することにより、情報のリアルタイム性を比較的容易に確保することもできる。このように共有メモリを介して受け渡すのに適したステータス情報としては、例えば、データ処理装置のスリープ状態、印刷機構のレディ状態、ビジー状態、種々のエラー、インクや用紙などの消耗品不足などが挙げられる。
【0026】
共有メモリを介してステータス情報の授受を行う場合、ステータス情報が他方のデータ処理装置によって未参照状態にあることを示すフラグデータを添付してステータス情報を書き込むようにしてもよい。受け取り側のデータ処理装置は、このフラグデータに基づいて、ステータス情報が更新されたか否かを判断することができる。また、受け取り側のデータ処理装置が、ステータス情報を参照するとともに、フラグデータを既参照状態に変更するようにしてもよい。こうすることで、書き込み側のデータ処理装置は、ステータス情報が相手に参照されたか否かを判断することができる。
【0027】
データ処理装置間で授受する情報には、その管理下にあるハードウェアの動作状態に応じて、他方のデータ処理装置に所定の動作を要求する動作要求情報が含まれる場合がある。例えば、リモコンのスイッチを管理しているデータ処理装置は、スイッチの操作状態に応じてインク交換、用紙の切換、排紙、電源のオン・オフなどの動作を実現するため、他方のデータ処理装置に動作要求情報を送信する必要が生じることがある。かかる動作要求情報については、共有メモリに単に書き込むだけでなく、他方のデータ処理装置に強制的に読み込ませる動作要求情報送信部を別途設けることが好ましい。例えば、共有メモリを介さずに、他方のデータ処理装置に直接、動作要求情報を送信する方法を採ってもよい。共有メモリに動作要求情報を書き込んだ後、他方のデータ処理装置に対して、その動作要求情報を強制的に読み取らせる信号を送信する方法を採ってもよい。
【0028】
第2の態様において、第1および第2のデータ処理装置が連携を保って動作するためには、各データ処理装置が、それぞれ他方の動作を制御可能とすることが好ましい。例えば、第1および第2のデータ処理装置は、それぞれ、データ処理装置に対応づけられたレジスタの少なくとも一部を、他方のデータ処理装置から書込可能としてもよい。各データ処理装置は、自己に対応づけられたレジスタに書き込まれた所定のコマンドを解釈して動作可能である。また、他方のデータ処理装置に対応づけられたレジスタにコマンドを書き込むことによって、他方のデータ処理装置の動作を制御することも可能となる。第1および第2のデータ処理装置が共にアクセス可能なメモリ領域をレジスタとして用いても良い。
【0029】
コマンドによる動作の制御は、例えば、共有メモリを用いたデータの受け渡しに適用することができる。まず、第1および第2のデータ処理装置の一方は、他方のデータ処理装置に受け渡すべきデータを共有メモリに書き込む。その後、書き込んだデータの読み出しを指示するコマンドを、他方のデータ処理装置に対応づけられたレジスタに書き込むことにより、データの読み込みを行わせることができる。この方法を採ることにより、共有メモリへの書き込みを定期的に監視するなどの煩雑な方法を採るまでなく、速やかにデータの受け渡しを実現することができる。
【0030】
上述の方法で共有メモリを用いてデータの受け渡しを行う場合、コマンドは、データの種類に応じて設定しておくことが好ましい。こうすることにより、共有メモリからのデータの読み出しを開始する前に、データの内容を知ることができるため、データの種類に応じた処理を速やかに実現することができる。また、共有メモリには、データの種類を特定する情報等を書き込む必要がなくなるから、資源を節約することもできる。
【0031】
共有メモリに、複数の共有領域が設定されている場合には、データの種類だけでなく、書き込みを行った共有領域に固有のコマンドを用いることも好ましい。例えば、第1のデータ処理装置は、文書領域ごとにいずれかの共有領域に解釈結果を出力し、出力先の共有領域に固有のコマンドを第2のデータ処理装置に対応づけられたレジスタに書き込む。こうすることにより、第2のデータ処理装置は、いずれの共有領域にデータが格納されているかを速やかに知ることができるため、データ読み出しの時間を短縮することができる。
【0032】
データ処理装置間でやりとりされるコマンドは、多種多様なものを定義することができる。例えば、第1のデータ処理装置が、第2のデータ処理装置を介して印刷機構を制御するためのコマンドを定義してもよい。つまり、第1のデータ処理装置は、文書領域に余白が含まれる場合には、印刷機構が印刷を実行すべき位置を、余白に応じて移動させるためのコマンドを送信するようにしてもよい。こうすることにより、余白に対応する印刷データの生成処理を行うまでなく、効率的に印刷を行うことができる。主走査および副走査を行って印刷する印刷機構を用いている場合、移動量は、主走査方向に移動させるべき画素数、副走査方向に移動させるべきラスタ数などによって指定することができる。
【0033】
先に説明したステータス情報や動作要求情報を共有メモリに書き込んだ上で、これらの情報を読み取らせるための読取コマンドを設定してもよい。この場合、ステータス情報や動作要求情報は、印刷に関連する処理とは無関係に種々のタイミングで書き込まれるとともに、即時応答が要求される場合がある。これらの情報を円滑に読みとらせるため、データ処理装置間でコマンドを送信するチャンネルを複数設け、読取コマンドと印刷に関連するコマンドは別チャンネルで送信するものとしてもよい。
【0034】
第2の態様において、第2のデータ処理装置は、印刷データを生成するために種々の処理を行う。印刷機構は、多色のドットを形成して多色印刷を行う機構である場合には、これらの処理には、色変換処理、ハーフトーン処理の少なくとも一方を含めることができる。色変換処理とは、第1のデータ処理装置から出力される解釈結果で用いられている表色系から、印刷機構が取り扱う表色系への変換処理を言う。ハーフトーン処理とは、多階調を表現するように、印刷機構が各画素ごとに形成可能なドットの分布を決定する処理を言う。
【0035】
色変換処理やハーフトーン処理は、画素ごとの処理となるため、比較的、単純な処理である一方、処理すべきデータ量が非常に多い。従って、色変換処理、ハーフトーン処理の少なくとも一方は、いわゆるASICなど、ハードウェア的に用意された回路で実行することが好ましい。
【0036】
第2の態様において、第2のデータ処理装置と共有メモリとを接続するデータバスその他のデータ転送路の転送速度は、第1のデータ処理装置と共有メモリとの間の転送速度よりも速いことが好ましい。第2のデータ処理装置は、画素ごとの処理などで、頻繁に共有メモリにアクセスすることが多いため、転送速度を高めることにより、第2のデータ処理装置における処理時間の短縮化を図ることができる。
【0037】
本発明は、第1の態様、第2の態様で説明した種々の特徴を、適宜、組み合わせたり、一部を省略したりすることにより、種々の構成を採ることができる。また、本発明は、プリンタの他、上述した第1のデータ処理装置、第2のデータ処理装置を用いて、プリンタを制御する制御装置、プリンタの制御方法などの態様で構成してもよい。
【0038】
【発明の実施の形態】
本発明の実施形態について次の順序で説明する。
A.システム構成:
B.ラスタデータの構造:
C.共有メモリの構成:
D.印刷処理:
E.変形例:
【0039】
A.システム構成:
図1は実施例としてのプリンタを用いた印刷システムの構成を示す説明図である。コンピュータ10は、例えば、XHTML−print等の印刷言語で記述された文書データをプリンタ100に送信する。文書データは、コンピュータ10で生成してもよいし、インターネット等のネットワークを介して取得してもよい。コンピュータ10としては、パーソナルコンピュータの他、ディジタルカメラ、携帯情報端末、携帯電話、衛星放送等を受信してディスプレイ装置に表示等させるためのセットトップボックス(STB)等を挙げることができる。
【0040】
プリンタ100は、パーソナルコンピュータにインストールされたプリンタドライバで処理するまでなく、文書データを解釈して印刷を行うことができる、いわゆるダイレクト印刷可能なプリンタである。本実施例では、多色のドットによってカラー印刷を行うインクジェットプリンタを用いた。プリンタ100は、ヘッドを印刷用紙に対して往復動させる主走査を行いながら、主走査方向と直交する方向に印刷用紙を副走査しつつ、ヘッドを駆動して、インク滴を吐出し、各画素にドットを形成する。主走査の往動時または復動時のいずれか一方向でドットを形成する単方向印刷と、往動時および復動時の双方でドットを形成する双方向印刷とが可能である。プリンタ100は、メインデータ処理装置110,サブデータ処理装置130、共有メモリ120を備えている。
【0041】
共有メモリ120は、メインデータ処理装置110及びサブデータ処理装置130に共有されるメモリである。いずれのデータ処理装置からも書き込み、読み出しが可能であり、両者間でのデータの授受に供される。本実施例では、共有メモリ120は、いわゆるSDRAMを用いていた。その他のRAM、外部記憶装置を共有メモリ120に適用してもよい。共有メモリ120は、ハードウェア構成上、サブデータ処理装置130側の管理下に有り、サブデータ処理装置側のクロックに基づいて動作する。サブデータ処理装置130、メインデータ処理装置110に備えられるCPUその他の回路とはバスで接続されるが、共有メモリ120へのアクセス速度は、上述のハードウェア構成上、サブデータ処理装置130の方がメインデータ処理装置110よりも速い。本実施例では、後述する通り、サブデータ処理装置130において、比較的頻繁に共有メモリ120へのアクセスを要する処理を行うため、かかるハードウェア構成とすることにより、全体の処理速度を向上させることができる。ハードウェア構成は、これに限定されるものではなく、共有メモリ120をメインデータ処理装置110の管理下においたり、双方から独立した構成としたりしても構わない。
【0042】
メインデータ処理装置110は、メインCPU111、RAM、ROMおよびコマンドメモリ118を備える。図中には、メインCPU111が、ROMに記憶されたソフトウェアに基づいて実現する機能ブロックを併せて示した。図中には、印刷処理上、関連のある部分のみを示した。メインデータ処理装置110は、ユーザが操作する各種スイッチ、リモートコントローラの動作を管理する機能も奏する。
【0043】
解釈部112は、コンピュータ10から受信した文書データの印刷コマンドを解析する。XHTMLやXML(Extensible Markup Language)で記述された文書データを取り扱うためには、解釈部112は、XHTMLやXMLを解釈する機能を備えることになる。一般に、文書データには、文書構成要素として、画像と文字とが含まれる。本実施例では、画像と文字とを分けて処理するものとした。解釈部112は、文書データから画像に関する部分を画像プレーン生成部113に受け渡し、文字に関する部分を文字プレーン生成部114に受け渡す。
【0044】
なお、文書構成要素とは、文書データにおいて、内容の指定方法が異なる要素を意味する。例えば、XHTMLなどの言語では、文字データは、フォント、サイズ、文字色などを規定する情報に続けて、印刷されるべき内容が特定されている。これに対し、画像データでは、印刷時のサイズ、位置座標を規定する情報に続けて、イメージファイルのURLが特定される。文書構成要素は、文字、画像に限られず、「表」を別個の文書構成要素として扱っても良い。
【0045】
画像プレーン生成部113は、文書データ中に含まれる画像に関する印刷コマンドに基づいて、画像のラスタデータを生成する。文字プレーン生成部114は、文書データ中に含まれる文字に関する印刷コマンドに基づいて、文字のラスタデータを生成する。文字プレーン生成部114は、この処理において、文字コードをラスタイメージに変換するために、適宜、フォントメモリを参照する。バンド制御部115は、画像ラスタデータ及び文字ラスタデータを共有メモリ120に書き込む。ラスタデータは、それぞれ所定の解像度で、画素ごとに階調値が記録されたデータとなる。本実施例では、文書データを一括して処理するのではなく、バンドと呼ばれる単位に分割して処理し、バンド単位で共有メモリ120に書き込むものとした。バンドの設定方法については、後述する。
【0046】
コマンドメモリ118は、メインCPU111のレジスタの一つとして位置づけられるメモリである。コマンドメモリ118は、サブデータ処理装置130による書き込み、メインCPU111による読み出しが可能であり、サブデータ処理装置130が、メインCPU111の動作を制御するために用いられる。サブデータ処理装置130は、メインCPU111用のコマンドを、コマンドメモリ118に書き込む。その後、メインCPU111に対して割り込み信号を出力すると、メインCPU111は、コマンドメモリ118からコマンドを読み出し、これを実行する。本実施例では、コマンドメモリ118内に、チャンネルCH0,チャンネルCH1の二つの領域を設け、チャンネルに対応した2本の割り込み信号を設けた。チャンネルCH0の割り込み信号が入力されると、メインCPU111は、コマンドメモリ118のチャンネルCH0に対応した領域からコマンドを読み出す。チャンネルCH1も同様である。
【0047】
サブデータ処理装置130は、サブCPU131、RAM、ROM、コマンドメモリ13、および種々の機能を実現するASICを備えている。図中に、サブデータ処理装置130の機能ブロックを併せて例示した。これらの機能ブロックにより、サブデータ処理装置130は、メインデータ処理装置110で生成されたラスタデータを処理し、印刷を実行する。ラスタデータの処理は、画素ごとに行われる処理が多いため、サブデータ処理装置130は、共有メモリ120に頻繁にアクセスすることになる。本実施例では、先に説明した通り、サブデータ処理装置130から共有メモリ120へのアクセス速度を重視して、ハードウェアを構成することにより、サブデータ処理装置130での処理速度を向上させている。この他、サブデータ処理装置130は、プリンタ100のうち、印刷を行う印刷機構のステータス、プリンタ100に設けられたLEDなどの表示部の動作を管理する機能も奏する。
【0048】
コマンド解析部131a合成部132ハーフトーン部134インタレースデータ生成部135コマンド解析部131aは、サブCPU131によってソフトウェア的に実現される機能であり、メインデータ処理装置110から入力された印刷コマンドを解釈する。ここで解釈されるコマンドには、例えば、印刷の実行開始、印刷部数、拡大や縮小の指定等を含めることができる。
【0049】
その他の機能ブロックは、ASICによりハードウェア的に実現される。もちろん、サブCPU131によってソフトウェア的に実現することも可能である。合成部132は、バンド毎に、文字ラスタデータと画像ラスタデータとを合成する。色変換部33は、ラスタデータで用いられる表色系、例えば、RGB表色系を、プリンタ100が取扱可能な表色系、例えば、CMY表色系に変換する。色変換部133は、2つの表色系の対応関係を示すルックアップテーブルを備えており、このテーブルを参照して、色変換を行う。
【0050】
ハーフトーン部134は、ラスタデータにおいて各画素に記録されている多階調をドットの分布で表現するように、各画素に形成するドットを決定する処理である。ハーフトーン処理には、例えば、誤差拡散法、ディザ法などを適用することができる。
【0051】
インタレースデータ生成部135は、インタレース方式で印刷するよう、プリンタ100におけるヘッドの副走査量を決定する。インタレース方式とは、各主走査でラスタラインを間欠的に形成することによって、印刷時に生じるバンディングを緩和する印刷方法を言う。
【0052】
以上の処理を経て、生成されたデータを、本実施例では、印刷データと称するものとする。この印刷データは、プリントエンジン136に受け渡される。プリントエンジン136は、印刷データに従って、主走査および副走査の実行指示を駆動制御部137に出力する。駆動制御部137は、プリントエンジン136からの指示に応じて、主走査および副走査を実行し、印刷を行う。
【0053】
コマンドメモリ138は、サブCPU131のレジスタの一つとして位置づけられるメモリである。コマンドメモリ138は、メインデータ処理装置110による書き込み、サブCPU131による読み出しが可能であり、メインデータ処理装置110が、サブCPU131の動作を制御するために用いられる。メインデータ処理装置110は、サブCPU131用のコマンドを、コマンドメモリ138に書き込む。その後、サブCPU131に対して割り込み信号を出力すると、サブCPU131は、コマンドメモリ138からコマンドを読み出し、これを実行する。本実施例では、コマンドメモリ138内に、チャンネルCH0,チャンネルCH1の二つの領域を設け、チャンネルに対応した2本の割り込み信号を設けた。チャンネルCH0の割り込み信号が入力されると、メインCPU131は、コマンドメモリ138のチャンネルCH0に対応した領域からコマンドを読み出す。チャンネルCH1も同様である。
【0054】
コマンド118、138に設けられたチャンネルCH0、CH1は任意の使い分けが可能である。本実施例では、チャンネルCH0を印刷処理を進めるために必要となるコマンドに利用し、チャンネルCH1を印刷機構のステータス情報などハードウェアの動作に関する情報を2つのデータ処理装置110、130で共有するためのコマンドに利用する。このように目的の異なるコマンドを、個別のチャンネルで授受することにより、それぞれ任意のタイミングでコマンドの受け渡しを行うことができる利点がある。
【0055】
B.ラスタデータの構造:
図2はラスタデータの構造を示す説明図である。図の上部には、文書データで表される画像(以下、「ドキュメントイメージ」と呼ぶ)を示した。ドキュメントイメージには、文字、画像などの文書構成要素で構成される。先に説明した通り、本実施例では、文字と画像に分けて文書データを解釈し、文字プレーン、画像プレーンという2種類のラスタデータを生成する。
【0056】
図の中断には、文字プレーンを例示した。図中のマスは、文字プレーンを構成する画素を示している。文字プレーンでは、画素ごとに8ビットのカラーインデックスが与えられる。カラーインデックスとは、R,G,Bの階調値の組み合わせで定義される色に固有の識別子である。カラーインデックスと実際の色との対応関係は、カラーパレットによって与えられる。図中には、カラーインデックスCIが0の時は「透明」、CIが1の時は「黒」、CIが2の時は「白」」を与えるカラーパレットを例示した。カラーパレットは、文書データごとに固有に設定可能である。文字プレーンでは、カラーインデックスと併せて、濃淡の階調値を示すデータを画素ごとに与えるようにしてもよい。文字が単色である場合には、カラーインデックスを「0」および「1」の2色に制限することにより、画素あたり1ビットのデータとしてもよい。カラーインデックスを利用することにより、文字プレーンのデータ量を低減することができる。
【0057】
図の下段には、画像プレーンを例示した。画像プレーンでは、画素ごとに、R、G、Bの階調値が与えられる。本実施例では、文字プレーンのカラーパレットと共に、R,G,B各8ビット、総計24ビットで色を表すものとした。画像プレーンの解像度は、文字プレーンと一致させてもよいし、異なっていても良い。
【0058】
本実施例では、文字プレーンは画像プレーンよりも上位に位置づけられている。つまり、画像プレーンは常に文字プレーンの背景となるよう設定されている。従って、文字プレーンと画像プレーンを合成すると、文字プレーンにおいて透明色が設定されている画素のデータは画像プレーンによって与えられ、その他の画素のデータは文字プレーンによって与えられる。これは、文字が存在する画素は背景となる画像データは一切透視することができない不透明な画素と扱うことに相当する。このように不透明な画素と扱うことにより、文字プレーンが透明色であるか否かによって、文字プレーンの階調値、画像プレーンの階調値を選択するだけで、容易に両者の合成を行うことができる。本実施例では、合成後の処理は、色変換、ハーフトーン処理のように画素ごとに施される処理である。従って、これらの処理を行うためには、文字プレーン、画像プレーンのいずれを対象として処理を行うかを、画素ごとに決定すれば足りるため、本実施例では、改めて合成画像を生成する必要はない。
【0059】
実施例においては、透明度を考慮した合成を行っても構わない。例えば、文字が存在する画素について、文字プレーンで与えられる階調値と、画像プレーンで与えられる階調値とを補間するデータを用いることにより、半透明な状態での重ね合わせを実現してもよい。この補間を規定する透過係数を画素ごとに設定可能としてもよい。また、文字プレーンを画像プレーンに必ずしも優先させる必要はなく、プレーンの優先順位を逆転させてもよい。
【0060】
また、文字プレーンを画像プレーンに優先させて重ね合わせ、画像ピクセルの値を文字ピクセルの値で置き換える場合を例示したが、例えば、256色の画像プレーンとそれ以上の色数を表現可能な画像プレーンを重ね合わせる等のように、階調数の低い画像プレーンを階調数の高い画像プレーンに重ね合わせて合成する場合にも適用できる。
【0061】
本実施例では、文書データは、バンド単位で処理される。ドキュメントイメージ中に、バンドを例示した。図示する通り、プリンタ100の主走査方向に幅Wpのドキュメントイメージであるものとする。ドキュメントイメージを、副走査方向に一定のバンド幅Bhで分割した帯状の処理単位#1〜#3がバンドとなる。バンド単位で処理することにより、文書データ全体を一括して処理する場合に比較して、処理過程で必要となるメモリ容量を抑制することができる。本実施例では、2つのデータ処理装置110,130の間で受け渡されるべきデータ量を低減することもできる。バンド幅Bhは、予め設定された固定値としてもよいが、本実施例では、文書データに基づき、動的に設定するものとした。例えば、文書データで指定される印刷用紙のサイズ、印刷領域のサイズ、画像のサイズ、文字プレーンおよび画像プレーンの解像度、色数の指定などを考慮して、共有メモリ120に処理過程でのデータが格納できるよう設定することが好ましい。
【0062】
C.共有メモリの構成:
図3は共有メモリ120の構成を示す説明図である。共有メモリ120には、バッファバッファB0及びバッファB1の2つのバッファが設けられている。その他、印刷機構のステータス情報などのデータを受け渡すための領域も確保されているが、ここでは図示を省略した。各バッファB0,B1のサイズは、上述したバンド幅Bhの設定と併せて、印刷ジョブ毎に決定される。各バッファB0,B1には、文字プレーンを格納するための文字プレーン格納領域と、画像プレーンを格納するための画像プレーン格納領域とが、それぞれ設けられている。色数や解像度の違いに起因して、文字プレーンと画像プレーンのデータ量は必ずしも一致してはいないため、文字プレーン格納領域、画像プレーン格納領域のサイズも異なっていても構わない。
【0063】
文書データの処理中における、メインデータ処理装置110からサブデータ処理装置130への文字プレーン、画像プレーンのデータ受け渡しは、バッファB0、B1を次の態様で併用して行われる。図中では、矢印の種類によって、メインデータ処理装置110とサブデータ処理装置130が並行して行う処理を表した。
【0064】
まず、メインデータ処理装置110は、図中の白抜き矢印で示すように、バンド単位でバッファB0に文字プレーン、画像プレーンのデータを書き込む。次のバンドについては、塗りつぶし矢印で示すように、バッファB1にデータを書き込む。この書き込みと並行して、サブデータ処理装置130は、塗りつぶし矢印で示すように、バッファB0からデータを読み出し、印刷処理をする。
【0065】
メインデータ処理装置110が、バッファB1への書き込みが完了した頃には、サブデータ処理装置130によるバッファB0の読み出しが完了しているから、メインデータ処理装置110は、白抜き矢印で示すように、次のバンドのデータを再びバッファB0に書き込む。この書き込みと並行して、サブデータ処理装置130は、図中の白抜き矢印で示すように、バッファB1からデータを読み出し、印刷処理をする。
【0066】
以下、同様にして、メインデータ処理装置110が一方のバッファにラスタデータを書き込んでいる間に、サブデータ処理装置130が他方のバッファからラスタデータを読み出して処理を行う。本実施例では、以下、共有メモリ120のかかる利用方法をダブルバッファ方式と称する。実施例では、2つのバッファを併用する場合を例示しているが、3つ以上のバッファを併用してもよい。
【0067】
D.印刷処理:
図4は印刷処理のフローチャートである。左側にメインデータ処理装置110の処理、右側にサブデータ処理装置130の処理を示した。中央には、共有メモリ120へのアクセス状況を示した。この処理は、コンピュータ10から印刷要求とともに文書データを受信することで開始される。
【0068】
処理が開始されると、メインデータ処理装置110は、印刷タスク情報を共有メモリ120に書き込む(ステップS100)。印刷タスク情報とは、印刷条件を規定するための情報であり、印刷用紙のサイズ、印刷領域のサイズ、ドキュメントイメージのサイズ、画像プレーンの解像度、文字プレーンの解像度、印刷解像度、印刷用紙の種類、単方向印刷/双方向印刷の指定、画像プレーンおよび文字プレーンの色数、カラーパレットなどが含まれる。印刷タスク情報を書き込む領域は、先に説明したバッファB0,B1とば別領域で、各項目ごとに予め設定されている。
【0069】
メインデータ処理装置110は、印刷タスク情報の書き込みが完了すると、印刷タスク実行コマンドを、サブデータ処理装置130のコマンドメモリ138のチャンネルCH0に書き込み、サブCPU131に割り込み信号を出力する(ステップS101)。印刷タスク実行コマンドとは、サブCPU131が印刷処理を開始するためのトリガとなる信号であり、例えば、「0」という既定のコマンド番号で足りる。サブCPU131は、割り込み信号に応じて、コマンドメモリ138からコマンドを読み出し、内容を解析する。読み出したコマンドが印刷タスク実行コマンドであると判断されると、共有メモリ120の所定領域にアクセスして印刷タスク情報を読出す(ステップS200)。そして、印刷タスク情報に基づいて、バッファB0,B1のサイズを決定するとともに、バッファB0,B1の領域を共有メモリ120内に確保する。バッファのサイズは、バンド単位のラスタデータに余裕を見込んで設定することが好ましい。また、バッファB0、B1に関する情報、例えば、各バッファの先頭アドレス、サイズ、および格納可能なラスタ数を、入力バッファ情報として、共有メモリ120の所定領域に書き込む(ステップS210)。次に、サブデータ処理装置130は、メインデータ処理装置110のコマンドメモリ118のチャンネルCH0に印刷タスク応答コマンドを書き込み、メインCPU111に割り込み信号を出力する(ステップS211)。印刷タスク応答コマンドは、バッファの確保完了を通知するとともに、メインデータ処理装置110が文書データの解析を開始するトリガとなる信号である。
【0070】
本実施例では、サブデータ処理装置130がバッファの確保を行う場合を例示したが、バッファB0,B1の確保はメインデータ処理装置110が行ってもよい。この場合には、入力バッファ情報は、印刷タスク情報と同様の方法で、サブデータ処理装置130に伝達すればよい。
【0071】
メインデータ処理装置110は、印刷タスク応答コマンドを認識すると、共有メモリ120から入力バッファ情報を読み込んで、文字プレーン及び画像プレーンを格納するバッファのアドレスを把握する(ステップS110)。そして、文書データを解釈し、バンド単位で文字プレーン及び画像プレーンのデータを生成して(ステップS120)、バッファB0の文字プレーン格納領域、画像プレーン格納領域にそれぞれ書き込む(ステップS121)。
【0072】
データの書き込みが完了すると、メインデータ処理装置110は、バッファB0の印刷動作要求情報を、サブデータ処理装置130のコマンドメモリ138のチャンネルCH0に書き込み、サブCPU131に割り込み信号を出力する(ステップS122)。バッファB0の印刷動作要求情報は、バッファB0に格納されたラスタデータの印刷を要求するコマンドであり、バッファB0に書き込んだラスタ数をパラメータに含んでいる。サブデータ処理装置130は、このコマンドを認識すると、バッファB0から文字プレーン及び画像プレーンのデータを読出し(ステップS220)、両者の合成、色変換処理、ハーフトーニング処理等を行って印刷する(ステップS221)。バッファB0の印刷が完了すると、サブデータ処理装置130は、バッファB0の印刷応答コマンドをメインデータ処理装置110のコマンドメモリ118のチャンネルCH0に書き込む。この際、データの処理が完了したバッファB0を、サブデータ処理装置130が初期化しておくようにしてもよい。こうすることにより、次に処理されたラスタデータに余白部分が多い場合には、メインデータ処理装置110は余白部分を除く画素にデータを書き込むだけ良くなり、データの書き込み時間を短縮することができる。
【0073】
一方、メインデータ処理装置110は、サブデータ処理装置130がバッファB0の印刷処理を行っている間、並行して次のバンドのラスタデータを生成する(ステップS130)。次バンドのラスタデータは、バッファB1に格納される(ステップS131)。図中では、区別を容易にするため、バッファB0を利用する処理を実線で示し、バッファB1を利用する処理を破線で示した。メインデータ処理装置110は、バッファB1へのデータの格納が完了すると、サブデータ処理装置130に対して、バッファB1の印刷動作要求情報および書き込んだラスタ数を送信する(ステップS132)。サブデータ処理装置130は、印刷動作要求情報に応じて、バッファB1の読み出しを行い(ステップS230)、印刷を実行する(ステップS231)。印刷が完了すると、バッファB1の印刷応答コマンドをメインデータ処理装置110に送信する(ステップS232)。
【0074】
印刷動作要求情報、印刷応答コマンドは、バッファB0用、バッファB1用を共通としても構わないが、本実施例では、異なるコマンドとした。こうすることにより、コマンド自体によってアクセスすべきバッファが特定されるため、各データ処理装置が誤ったバッファにアクセスすることを回避でき、処理の安定化を図ることができる。
【0075】
サブデータ処理装置130がバッファB1の処理をしている間、並行してメインデータ処理装置110は、第3番目のバンドのラスタデータを生成してバッファB0に格納する(ステップS140)。ただし、サブデータ処理装置130がバッファB0の処理を実行している最中に、新たなデータが誤ってバッファB0に書き込まれるのを回避するため、バッファB0へのデータ格納は、バッファB0の印刷応答コマンドを受信した後に行われる。
【0076】
以下、同様に、メインデータ処理装置110およびサブデータ処理装置は、使用するバッファを切り替えながら印刷処理を進める。メインデータ処理装置110は、ページの最終バンドのラスタデータをサブデータ処理装置130に印刷指示した後、印刷タスク終了動作要求情報をサブデータ処理装置130に送信する(ステップS150)。印刷タスク終了動作要求情報は、印刷ジョブの完了を通知するコマンドである。このコマンドと併せて、印刷完了後に排紙を行うか否かを指定してもよい。サブデータ処理装置130は、最終バンドの印刷を終えると、印刷タスク終了応答コマンドをメインデータ処理装置110に通知する(ステップS240)。
【0077】
このように構成される本実施の形態によれば、文書データの解釈と、ラスタデータの処理とを2つのデータ処理装置で分担することにより、両者間での負荷の偏りを緩和し、効率的に印刷を実行することができる。
【0078】
本実施例のプリンタ100は、ラスタデータをバンド単位で生成するとともに、複数のバッファB0,B1を併用してラスタデータを受け渡すことにより、メインデータ処理装置110とサブデータ処理装置130の並列処理が可能であり、処理時間の短縮を図ることができる。
【0079】
E.変形例:
メインデータ処理装置110とサブデータ処理装置130との間で、授受されるコマンドは、実施例で例示したものに限られない。例えば、メインデータ処理装置110からサブデータ処理装置130に送信されるコマンド(以下、「動作要求情報」と称する)として、入力スキップ動作要求情報を含めても良い。入力スキップ動作要求情報とは、プリンタ100が印刷すべきラスタ位置を無条件に進めるためのコマンドである。例えば、一部のラスタが、文字プレーン、画像プレーンともに余白であることが判明した場合には、そのラスタ数を指定して、このコマンドを送信する。サブデータ処理装置130は、プリンタ100を制御して、ドットを形成せずに、このコマンドで指定されたラスタ数分の副走査を行わせればよい。このコマンドを利用することにより、余白部分については、印刷データ生成のための種々の処理を省略することができる。サブデータ処理装置130からメインデータ処理装置110に送信されるコマンド(以下、「応答コマンド」と呼ぶ)として、入力スキップ動作要求情報の完了を通知するための入力スキップ応答コマンドを併せて設定しておくことが好ましい。
【0080】
メインデータ処理装置110およびサブデータ処理装置130の一方が管理する機構のステータス情報を、他方に伝達するためのコマンドを設けても良い。例えば、サブデータ処理装置130が管理する印刷機構のステータスとして、用紙切れ、用紙詰まり、インク切れ、排紙トレイへの印刷済み用紙の有無などが挙げられる。サブデータ処理装置130は、これらのステータスを表すステータス情報を共有メモリ120に書き込んだ後、その読み出しを指示するコマンド「ステータス情報変更コマンド」を、メインデータ処理装置110側のコマンドメモリ118に送信する。このコマンドは、印刷時に使用するチャンネルCH0ではなく、チャンネルCH1を使用することが好ましい。こうすることで、印刷に関連する処理とは独立した任意のタイミングでステータス情報を通知することが可能となる。メインデータ処理装置110からサブデータ処理装置130に伝えるステータス情報としては、例えば、メインデータ処理装置110のスリープが挙げられる。
【0081】
一方のデータ処理装置が管理するハードウェアの動作状態を、他方のデータ処理装置が制御するための動作要求情報を、ステータス情報の一種として、共有メモリ120経由で受け渡しても良い。例えば、メインデータ処理装置110からサブデータ処理装置130に伝える動作要求情報としては、LEDの点灯状態が挙げられる。メインデータ処理装置110は、共有メモリ120に、LEDの点灯状態を指示する動作要求情報を書き込んだ後、その読み出しを指示するコマンドを、コマンドメモリ138に送信する。このコマンドもチャンネルCH1を用いることが好ましい。サブデータ処理装置130は、このコマンドに応じて、動作要求情報を読み込み、LEDの点灯状態を指示通りに制御することができる。
【0082】
ステータス情報や動作要求情報については、読み出しを指示するコマンドの送信を省略してもよい。つまり、これらの情報の受信側となるデータ処理装置は、共有メモリ120に書き込まれた情報を、適宜、ポーリングするものとしてもよい。こうすることで、受信側データ処理装置の処理が妨げられることが抑制され、処理効率を向上することができる。ポーリングを採用する場合、情報が受信側データ処理装置によって未参照状態にあることを示すフラグデータを添付して情報を書き込んでもよい。受信側データ処理装置は、このフラグデータに基づいて、情報が更新されたか否かを判断することができる。また、受信側データ処理装置が、情報を読み込んだ時点で、このフラグデータを既参照状態に変更すれば、書き込み側のデータ処理装置は、このフラグデータによって、情報が相手に参照されたか否かを判断することができる。
【0083】
ポーリングでは、受信側データ処理装置の動作を妨げないため、情報の書き込み側のデータ処理装置も独自のタイミングで情報を書き込むことができる。情報の書き込み頻度をあげることも可能であるし、ステータス情報や動作要求情報に変更が生じた時点で直ちに書き換えることも可能であり、共有メモリ120に書き込まれた情報のリアルタイム性を向上することができる。
【0084】
動作要求情報には、例えば、ユーザがスイッチを操作した場合の動作など、動作の確実性、即応性が要求されるものがある。例えば、サブデータ処理装置130が管理するプリンタ100について、インク交換指示、エラー解除指示、紙種切換指示などが挙げられる。これらの動作要求情報は、共有メモリを介することなく、コマンドメモリ118,138にコマンドとして書き込んでもよい。データ処理装置は、割り込み信号を受けると、コマンドメモリ118,138の内容を必ず参照するため、コマンドメモリ118、138を利用することにより、動作要求情報を確実かつ遅滞なく受け渡すことができる。
【0085】
動作要求情報の内容に応じて、共有メモリ120を介した受け渡しと、コマンドメモリ118,138を介した受け渡しを使い分けても良い。例えば、動作の確実性、即応性が要求される動作要求情報にコマンドメモリ118,138を使用し、LEDの点灯状態のように動作の確実性、即応性は比較的低いが、リアルタイム性を向上した継続的な制御が要求される動作要求情報に共有メモリ120を使用するという使い分けが可能である。
【0086】
なお、上述した本発明の各実施の形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなく、他の様々な態様で本発明を実施できる。例えば、本実施例で例示した機能ブロックは、ソフトウェア的に実現してもよいし、ハードウェア的に実現しても構わない。
【図面の簡単な説明】
【図1】実施例としての本実施の形態に係るプリンタを用いた印刷システムの全体概要構成を示す説明図ブロック図である。
【図2】ラスタデータの構造を示す説明図である。
【図3】共有メモリ120の構成を示す説明図である。
【図4】印刷処理のフローチャートである。
【符号の説明】
10…コンピュータ
100…プリンタ
110…メインデータ処理装置
111…メインCPU
112…解釈部
113…画像プレーン生成部
114…文字プレーン生成部
115…バンド制御部
118…コマンドメモリ
120…共有メモリ
130…サブデータ処理装置
131…サブCPU
131a…コマンド解析部
132…合成部
133…色変換部
134…ハーフトーン部
135…インタレースデータ生成部
136…プリントエンジン
137…駆動制御部
138…コマンドメモリ
Claims (27)
- 文書データプリンタであって、
文書データを入力し、該文書データから印刷データを生成する一連のデータ処理のうち相対的に高度な処理を行う第1のデータ処理装置と、
前記一連のデータ処理のうち残余の処理を行う第2のデータ処理装置と、
前記第1のデータ処理装置、第2のデータ処理装置間で、データを受け渡すデータ伝達部と、
該生成された印刷データに基づいて印刷を実行する印刷部とを備えるプリンタ。 - 請求項1記載のプリンタであって、
前記文書データは、印刷言語で生成されており、
前記第1のデータ処理装置は、前記文書データを解釈してラスタデータを生成し、
前記第2のデータ処理装置は、前記ラスタデータを前記印刷データに変換するプリンタ。 - 請求項2記載のプリンタであって、
前記第1のデータ処理装置は、前記文書データ中の文字データに基づく文字ラスタデータの生成と、前記文書データ中の画像データに基づく該文字ラスタデータとは別に画像ラスタデータの生成を行い、
前記第2のデータ処理装置は、前記文字ラスタデータと前記画像ラスタデータとを合成して前記印刷イメージデータを生成するプリンタ。 - 請求項1記載のプリンタであって、
前記データ伝達部は、前記第1のデータ処理装置と前記第2のデータ処理装置とが共有するメモリであるプリンタ。 - 請求項4記載のプリンタであって、
前記メモリには、複数の共有領域が設けられ、
前記第1のデータ処理装置および第2のデータ処理装置は、両者が同時に同じ共有領域を使用しない条件下で、前記複数の共有領域を順次切り替えて使用するプリンタ。 - 請求項5記載のプリンタであって、
前記第1のデータ処理装置は、前記文書データ中の文字データに基づく文字ラスタデータの生成と、前記文書データ中の画像データに基づく該文字ラスタデータとは別に画像ラスタデータの生成を行い、
前記各共有領域には、前記文字ラスタデータを格納する文字プレーン及び前記画像ラスタデータを格納する画像プレーンがそれぞれ設けられているプリンタ。 - 請求項2記載のプリンタであって、
前記第2のデータ処理装置は、前記ラスタデータの各画素の色変換、ハーフトーン処理、前記印刷部の制御の少なくとも一部のデータ処理を実行し、該データ処理の少なくとも一部はハードウェア回路として実装されているプリンタ。 - プリンタであって、
第1および第2のデータ処理装置と、
前記第1および第2のデータ処理装置間で、データの授受を行うデータ伝達部と、
所定形式の印刷データに基づいて印刷を実行する印刷機構とを備え、
前記第1のデータ処理装置は、
印刷言語で記述された文書データを入力する文書データ入力部と、
該印刷言語を解釈する解釈部とを備え、
前記第2のデータ処理装置は、
前記解釈結果に基づいて、前記印刷データを生成するデータ生成部と、
該印刷データに基づいて、前記印刷機構を制御する印刷制御部とを備えるプリンタ。 - 請求項8記載のプリンタであって、
前記解釈部は、前記解釈に基づき、画素ごとに階調値が規定されたラスタデータを生成するプリンタ。 - 請求項8または請求項9記載のプリンタであって、
前記文書データは、前記印刷言語において印刷内容を指定する方法が異なる複数種類の文書構成要素を含み、
前記解釈部は、該文書構成要素ごとに前記解釈結果を出力し、
前記データ生成部は、各文書構成要素の解釈結果を合成して、前記印刷データを生成するプリンタ。 - 請求項10記載のプリンタであって、
前記複数種類の文書構成要素は、少なくとも画像と文字とを含むプリンタ。 - 請求項8記載のプリンタであって、
前記データ伝達部は、前記第1および第2のデータ処理装置が共有する共有メモリを有するプリンタ。 - 請求項12記載のプリンタであって、
前記共有メモリには、複数の共有領域が設けられ、
前記第1のデータ処理装置および第2のデータ処理装置は、両者が同時に同じ共有領域を使用しない条件下で、前記複数の共有領域を順次切り替えて使用するプリンタ。 - 請求項13記載のプリンタであって、
前記解釈部は、前記文書データを、該文書データよりも小さい複数の文書領域に分割し、該文書領域ごとに前記いずれかの共有領域に解釈結果を出力し、
前記第2のデータ処理装置は、該文書領域単位で前記印刷データを生成するプリンタ。 - 請求項13記載のプリンタであって、
前記共有領域のサイズは、前記文書データに応じて動的に設定可能であるプリンタ。 - 請求項15記載のプリンタであって、
前記第1のデータ処理装置は、前記文書データに基づき、前記印刷データのサイズに関連する所定の情報を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置は、該情報に基づいて、前記共有領域のサイズを設定するとともに、該設定結果を前記第1のデータ処理装置に送信するプリンタ。 - 請求項12記載のプリンタであって、
前記第1または第2のデータ処理装置は、該データ処理装置の管理下にあるハードウェアの動作状態を表すステータス情報を前記共有メモリに書き込むステータス情報出力部を備えるプリンタ。 - 請求項17記載のプリンタであって、
前記ステータス情報出力部は、前記ステータス情報が他方のデータ処理装置によって未参照状態にあることを示すフラグデータを、前記ステータス情報に添付し、
該他方のデータ処理装置は、該ステータス情報を参照するとともに、前記フラグデータを、既参照状態に変更するステータス参照部を備えるプリンタ。 - 請求項17記載のプリンタであって、
前記第1または第2のデータ処理装置は、該データ処理装置の管理下にあるハードウェアの動作状態に応じて、他方のデータ処理装置に所定の動作を要求する動作要求情報を、該他方のデータ処理装置に強制的に読み込ませる動作要求情報送信部を備えるプリンタ。 - 請求項8記載のプリンタであって、
前記第1および第2のデータ処理装置は、
それぞれのデータ処理装置に対応づけられるとともに、他方のデータ処理装置から書込可能なレジスタと、
該レジスタに書き込まれた所定のコマンドを解釈するコマンド解釈部と、
該他方のデータ処理装置に対応づけられたレジスタへのコマンドの書込によって、他方のデータ処理装置の動作を制御する動作制御部とを備えるプリンタ。 - 請求項20記載のプリンタであって、
前記データ伝達部は、前記第1および第2のデータ処理装置が共有する共有メモリを有し、
前記第1および第2のデータ処理装置の一方は、他方のデータ処理装置に受け渡すべきデータを前記共有メモリに書き込んだ後、前記動作制御部により、該書き込んだデータの読み出しを指示するコマンドを、前記他方のデータ処理装置に対応づけられたレジスタに書き込むプリンタ。 - 請求項21記載のプリンタであって、
前記コマンドは、前記データの種類に応じて設定されているプリンタ。 - 請求項21記載のプリンタであって、
前記共有メモリには、複数の共有領域が設定されており、
前記第1のデータ処理装置において、
前記解釈部は、前記文書データを該文書データよりも小さい複数の文書領域に分割し、該文書領域ごとに前記いずれかの共有領域に解釈結果を出力し、
前記動作制御部は、前記解釈結果を出力した共有領域に固有のコマンドを前記第2のデータ処理装置に対応づけられたレジスタに書き込むプリンタ。 - 請求項21記載のプリンタであって、
前記第1のデータ処理装置において、
前記解釈部は、前記文書データを該文書データよりも小さい複数の文書領域に分割し、該文書領域ごとに前記いずれかの共有領域に解釈結果を出力し、
前記動作制御部は、該文書領域に余白が含まれる場合には、前記印刷機構が印刷を実行すべき位置を、該余白に応じて移動させるためのコマンドを前記第2のデータ処理装置に対応づけられたレジスタに書き込むプリンタ。 - 請求項8記載のプリンタであって、
前記印刷機構は、多色のドットを形成して多色印刷を行う機構であり、
前記データ生成部は、前記解釈結果で用いられる表色系から前記印刷機構が取り扱う表色系への色変換処理、ハーフトーン処理の少なくとも一方を行うプリンタ。 - 請求項25記載のプリンタであって、
前記データ生成部は、前記色変換処理、ハーフトーン処理の少なくとも一方を実行する回路を備えるプリンタ。 - 請求項26記載のプリンタであって、
前記データ伝達部は、
前記第1および第2のデータ処理装置が共有する共有メモリと、
前記第1のデータ処理装置と該共有メモリとを接続する第1のデータ転送路と、
前記第2のデータ処理装置と該共有メモリとを接続し、前記第1のデータ転送路よりも転送速度が速い第2のデータ転送路とを有するプリンタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002292147A JP4370765B2 (ja) | 2002-07-16 | 2002-10-04 | 複数のデータ処理装置を備えたプリンタ |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002206429 | 2002-07-16 | ||
JP2002292147A JP4370765B2 (ja) | 2002-07-16 | 2002-10-04 | 複数のデータ処理装置を備えたプリンタ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004098636A true JP2004098636A (ja) | 2004-04-02 |
JP4370765B2 JP4370765B2 (ja) | 2009-11-25 |
Family
ID=32300231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002292147A Expired - Fee Related JP4370765B2 (ja) | 2002-07-16 | 2002-10-04 | 複数のデータ処理装置を備えたプリンタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4370765B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006082527A (ja) * | 2004-09-17 | 2006-03-30 | Sony Corp | カラー印刷装置、印刷制御装置、画像処理装置、印刷制御方法及びプログラム |
CN100576162C (zh) * | 2006-05-18 | 2009-12-30 | 三星电子株式会社 | 根据成像设备的打印能力使用装置打印内容的方法和系统 |
US8277007B2 (en) | 2009-07-17 | 2012-10-02 | Seiko Epson Corporation | Image processing apparatus |
JP2019130772A (ja) * | 2018-01-31 | 2019-08-08 | ブラザー工業株式会社 | 画像形成装置およびプログラム |
-
2002
- 2002-10-04 JP JP2002292147A patent/JP4370765B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006082527A (ja) * | 2004-09-17 | 2006-03-30 | Sony Corp | カラー印刷装置、印刷制御装置、画像処理装置、印刷制御方法及びプログラム |
CN100576162C (zh) * | 2006-05-18 | 2009-12-30 | 三星电子株式会社 | 根据成像设备的打印能力使用装置打印内容的方法和系统 |
US8277007B2 (en) | 2009-07-17 | 2012-10-02 | Seiko Epson Corporation | Image processing apparatus |
JP2019130772A (ja) * | 2018-01-31 | 2019-08-08 | ブラザー工業株式会社 | 画像形成装置およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4370765B2 (ja) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8154766B2 (en) | Image processing device, image forming system, image forming method and computer readable medium storing program | |
JPH11338651A (ja) | プリンタ制御回路、プリンタ及びプリントシステム | |
EP1081637B1 (en) | Sending of printer settings to a host device | |
JP2004164645A (ja) | 印刷制御のための装置、方法、およびプログラム | |
JP4054688B2 (ja) | 印刷システム並びに情報処理装置及びその制御方法、プリンタドライバプログラム及びコンピュータ可読記憶媒体 | |
US20030202196A1 (en) | Information processing apparatus, information processing system, information output control method, storage medium and program | |
JPH11314408A (ja) | プリンタ制御装置及びプリントシステム | |
US20040196483A1 (en) | Line based parallel rendering | |
JP4370765B2 (ja) | 複数のデータ処理装置を備えたプリンタ | |
JP2001325087A (ja) | 書き換え可能なコマンド記憶部を利用したコマンド解析 | |
JP5582302B2 (ja) | 画像処理装置、画像出力装置およびプログラム | |
JP2007130887A (ja) | 印刷装置及びその制御方法 | |
JP4348945B2 (ja) | 印刷装置 | |
JP3814371B2 (ja) | 情報処理装置及びその方法 | |
JPH11240227A (ja) | プリンタ及びプリントシステム | |
KR100571960B1 (ko) | 화상형성장치의 제어장치 및 방법 | |
JP5202265B2 (ja) | 画像処理装置、プログラム及び画像処理装置の制御方法 | |
JP3867344B2 (ja) | 画像出力装置 | |
JP4265196B2 (ja) | 分散処理による印刷データの生成 | |
KR100246457B1 (ko) | 프린터의화상데이터출력방법 | |
US20090317004A1 (en) | Image processing apparatus, printing apparatus, and image processing method | |
JP2000047976A (ja) | プリンタ制御装置 | |
JP3985568B2 (ja) | プリンタホスト、プリンタドライバおよび印刷システム | |
JP2007136953A (ja) | 印刷装置 | |
JP2005111941A (ja) | 印刷装置、印刷方法及び印刷実行プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090605 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090811 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090824 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120911 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130911 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |