(57)【要約】【課題】  安価にページメモリを構築できるとともに、ページメモリへの画素データの書込みが高速に行え、装置全体のパフォーマンス向上を図れる印刷装置を提供することにある。【解決手段】  作図データを画素データに展開する展開手段と、円盤状の記憶媒体を有し１ページ分の画素データが記憶される記憶装置とを備え、該記憶装置から画素データを読み出して印刷ヘッド側に供給し該画素データに基づき１スキャンラインの印刷を行うと共に、１スキャンラインごとに印刷用紙を間歇送りして１枚の印刷用紙へ印刷を行っていく印刷装置において、１ページの印刷画像が縦方向と横方向とにそれぞれ複数に分割されてなる各ブロックの画素データを単位データとして、個々の単位データを上記記憶媒体において同心円上に連続的に配列された複数のセクタにまとめて格納するように構成する。【選択図】    図２
2008168642.tif 000002
【特許請求の範囲】
【請求項１】
印刷内容が示された作図データをドット毎の画素データに展開する展開手段と、前記画素データが記憶される円盤状の記憶媒体を有する記憶装置と、前記画素データを前記記憶媒体へ格納する制御をおこなう記憶装置入出力制御手段とを備え、前記記憶装置から前記画素データを読み出して印刷ヘッドに供給し、印刷用紙を間歇送りして前記用紙への印刷位置を変えて、複数のラインからなるスキャンライン毎に前記画素データに基づき前記印刷用紙に印刷を行う印刷装置において、
前記記憶装置入出力制御手段は前記記憶装置の同心円上に連続した複数のセクタに、横方向に配置された複数の画素データから構成される画素データ列を縦方向に複数列配置した構成のセルであって横方向に配置された複数の前記セルから構成されたセル列が縦方向に複数列配置されたマトリクス状に複数の前記セルに分割されてなる１ページ分の印刷画像の画素データを、前記画素データ列の先頭から終端方向に向かって配置されている前記画素データの順に前記記憶装置へ格納し、かつ前記セルの先頭から終端に向かって配置されている前記画素データ列の順に前記記憶装置へ格納し、かつ前記セル列の先頭から終端方向に向かって配列されている前記セルの順に前記記憶装置へ格納し、かつ前記印刷画像の縦方向の先頭から終端方向に向かって配置されている前記セル列の順に、格納させることを特長とする印刷装置。
【請求項２】
前記セルの幅は、前記スキャンラインの幅のビット数を正の整数で割った商に応じたビット数であることを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記セルの高さは、前記セルの幅と同じかまたは前記セルの幅を正の整数で割った商に応じたビット数であることを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記記憶装置入出力制御手段は、前記記憶装置への画素データの書込みと読出しとを前記セル単位で行うことを特徴とする請求項１から請求項３のいずれか１項に記載の印刷装置。
【請求項５】
前記記憶装置入出力制御手段は、前記同心円上の記憶容量を超える量の前記画素データがある場合は、超えた前記画素データを前記同心円に隣接した同心円上に連続的に配列された複数のセクタに格納させることを特徴とする請求項1から請求項４のいずれか１項に記載の印刷装置。
【請求項６】
前記記憶装置入出力制御手段は前記セルの大きさを指定するデータテーブルを有し、前記データテーブルに設定されている値を、前記印刷画像のサイズに応じて可変することを特長とする請求項５に記載の印刷装置。
【請求項７】
前記記憶装置入出力制御手段は、前記印刷画像がカラー画像である場合は、前記カラーを構成する色毎に前記画素データを前記記憶手段に格納することを特徴とする請求項５に記載の印刷装置。
【請求項８】
前記セルを前記記憶装置に格納する順に基づいてセルアドレスを付与し、前記記憶装置入出力制御手段は前記セルアドレスに従って前記記憶装置に前記画素データを格納することを特徴とする請求項５に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、作図データを画素データに展開して印刷を行う印刷装置に適用して有用な技術に関し、例えばハードディスクなど大容量の記憶装置に１ページ分の画素データを記憶させて印刷を行う大判印刷用の印刷装置に適用して特に有用な技術に関する。
【背景技術】
【０００２】
例えばインクジェット方式プリンタにおいては、ホスト装置から送信されてくる印刷データの形式には大きく分けて２種類ある。
【０００３】
一つは、ベクタデータと言われるものであり、例えば、１本の線を表現する場合、その始点と終点の座標値と直線を示す描画コードとをホスト装置から送信するものである。この場合、ベクタデータを受信したプリンタは、このベクタデータからドット毎の画素データ（ラスタデータとも云う）を生成してからインクヘッドに送る必要がある。この処理をラスタ展開と云う。
【０００４】
もう一つのデータ形式は、予めホスト装置にてラスタ展開した後にプリンタに送信してくるものである。どちらのデータフォーマットで送信する場合も、結果的には同一の画素データとなり、メモリ装置（ＲＡＭまたはハードディスク装置）に格納される。
【０００５】
一方、インクジェット方式のプリンタは複数のインクノズルをもったインクヘッドを備えており、このインクノズル数分のインクドットを吐出しながら水平方向にスキャンして印刷が行われる。そのためインクへッドに対してはインクの吐出タイミングに同期してインクノズル幅分のドットデータを送信する必要がある。
【０００６】
従って、インクヘッドが１回のスキャンを実行するためには、上記データ生成を繰り返し実行し、１スキャン分のスキャンデータ（これを１スキャンラインと呼ぶ）を一旦メモリ装置に格納する必要がある。そして、インクヘッドがこのスキャンデータを読み込みながらスキャンデータに従ってインクの噴出しを行う。
【０００７】
ここで、画素データを格納するメモリ装置としては、ＲＡＭあるいはハードディスク装置がある。画素データの格納方法は、１画面すなわち１ページ分の画素データを全部メモリ装置に格納する方式と、１スキャン分の画素データのみ格納する方式とがある。
【０００８】
１スキャン分の画素データのみ格納する方式では、１スキャンラインの印刷毎に画素データを生成するとともに、メモリ装置内の画素データを新たに生成したものと入れ替えた後に、当該スキャンラインの印刷を繰り返していくといった処理を行う。これをバンドメモリ方式といい、メモリ容量が少なくて済むという利点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
１画面分の画素データをメモリ装置に格納する方式の場合には、膨大なメモリ量が必要となる。例えば、ＪＩＳのＡ０サイズ、解像度７２０ｄｐｉ（ドット／インチ）、６色のデータを格納しようとした場合、約６００Ｍｂｙｔｅのメモリが必要となり、メモリ装置としてＲＡＭを使用すると大幅なコストアップとなる。
【００１０】
このコストアップを避けるために、上記のバンドメモリ方式を採用することも可能である。この方式では、１回のスキャンに必要なデータのみ格納すればよいので、必要なメモリ量が大幅に減る。例えば、一度に吹くことのできるインクノズルの数が５１２ノズル、解像度７２０ｄｐｉ、６色の場合、Ａ０用紙の短辺（９１４ｍｍ）を一度に吐出するためには、  ２４Ｋｂｉｔ×６×５１２＝７３７２８Ｋｂｉｔ＝約７．３Ｍｂｙｔｅのメモリがあればよい。しかしこの方式では、1)印刷時に回転処理をすることができない、2)同一データを再度印刷する場合に、もう一度ラスタライズ処理をやり直す必要があり再印刷に時間がかかる、3)印刷途中で紙ジャムが起った場合のリカバリ処理に際してもラスタライズ処理をやり直す必要があり時間がかかるなどの欠点がある。
【００１１】
また、１ページ分の画素データを格納するメモリ装置（以下、ページメモリと称する）をハードディスク装置により構築することも可能である。ハードディスク装置は、バイトあたりの単価がＲＡＭと比較して非常に安価であるため、仮に６００Ｍｂｙｔｅのページメモリをハードディスク装置上に構築したとしてもＲＡＭの場合に比べて、コストの上昇は僅かである。さらに、装着したハードディスク装置の空領域は、他の用途にも使用できるため、コストアップの影響が減る。しかし、ハードディスク装置の場合、記録ヘッドが記録媒体上のデータを探し出して移動する動作（シーク動作という）が必要であるため、ＲＡＭに比べてデータの読出しと書込みにかかる時間が非常に遅くなるという欠点がある。
【００１２】
ところで、ハードディスク装置からの読出しと書込みは通常５１２バイトのセクタ毎に行われる。ここで、１ページ分の画素データを１ラインごとに連続するセクタに格納されていくようにページメモリを確保した場合、水平方向の書込み、読出しはシーク動作が入る回数が減るため高速に読み書きができる。一方、ドットデータの書込みはいつも水平方向のみとは限らない。例えばページメモリがＡ０サイズであっても実際にホスト装置から送信されてくるドットデータは、Ａ０サイズより小さな複数個の矩形領域のデータが送られてくるため、ページメモリ上の任意の矩形領域に画素データを書き込む必要がある。この場合、水平方向のデータについては、シーク動作が入らないので高速動作が可能であるが、垂直方向についてはシーク動作が入るため遅くなるという欠点がある。
【００１３】
また、ページメモリをハードディスク装置により構築した従来のプリンタでは、ハードディスク装置から画素データを読み出す際、一旦、メモリバスを介して画素データを読み出してからプリンタエンジンに送るという処理を行うのが一般的である。しかしながら、このような画素データの読出し処理をしていたのでは、画素データの転送にメモリバスが占有され、その他の処理にメモリバスを使用できないという課題があった。上述したように、ハードディスク装置はＲＡＭに比べて低速であるため、画素データの転送にメモリバスが占有されるとその占有時間は無視できないものとなる。メモリバスが使用できないと、ホストから送られてくる印刷データのスプール処理や、印刷データを画素データに展開する処理など、その他の処理がスムーズに進まず、プリンタ全体のパフォーマンスを低下
させる原因となっている。
【００１４】
たとえば、１０Ｍｂｙｔｅ／秒の性能を持ったハードディスク装置の場合、Ａ０サイズのドットデータ（６００Ｍｂｙｔｅ）を送信する時間は、約６０秒であり、印刷装置全体の性能に与える影響が非常に大きい。
【００１５】
上述した従来の問題点をまとめると次のようになる。
（１）ＲＡＭでページメモリを構築した場合
1)膨大なメモリ素子が必要でコストアップにつながる。
（２）バンドメモリ方式の場合
1)コピー印刷時にラスタライズ処理のやり直し、または上位装置からのデータ再転送が必要であり、時間がかかる。
【００１６】
2)印刷時に回転処理できない。
【００１７】
3)紙ジャムのリカバリ印刷の際、ラスタライズ処理のやり直し、または上位装置からのデータ再転送が必要であり、時間がかかる。
（３）ハードディスク装置でページメモリを構築した場合
1)ページメモリのドットデータを水平方向に構成した場合、任意の矩形領域のドットデータ書き込みが遅くなる。
【００１８】
2)ドットデータの読み出しに時間がかかり、その間データバスを占有してしまう。そのため印刷装置全体の性能を下げる。
【００１９】
この発明の目的は、安価にページメモリを構築できるとともに、ページメモリへの画素データの書込みが高速に行え、装置全体のパフォーマンスの向上を図れる印刷装置を提供することにある。
【課題を解決するための手段】
【００２０】
本発明は、上記目的を達成するため、印刷内容が示された作図データをドット毎の画素データに展開する展開手段と、円盤状の記憶媒体を有し１ページ分の画素データが記憶される記憶装置とを備え、該記憶装置から画素データを読み出して印刷ヘッド側に供給し該画素データに基づき１スキャンラインの印刷を行うと共に、１スキャンラインごとに印刷用紙を間歇送りして１枚の印刷用紙へ印刷を行っていく印刷装置において、１ページの印刷画像が縦方向と横方向とにそれぞれ複数に分割されてなる各ブロックの画素データを単位データとして、個々の単位データを上記記憶媒体において同心円上に連続的に配列された複数のセクタにまとめて格納する記憶装置入出力制御手段を備えた構成とした。
【００２１】
このような手段によれば、円盤状の記憶媒体に１ページ分の画素データを記憶させるので、安価にページメモリを構築できるとともに、ページメモリにより従来より得られる様々な効果を享受することが出来る。それに加えて、印刷画像を縦横に複数に分割したブロック毎の画素データ、即ち単位データを連続するセクタに記憶させるようにしたので、上記ブロック毎の画素データの書込みと読出しが、記憶装置のシーク動作を介さずに連続的に高速に行える。また、作図データを展開して記憶装置に書き込む場合には、印刷画面中の任意の矩形領域に画素データを書き込んでいくという処理が高い頻度で生じるが、このような処理の場合に、画素データを１ライン毎に配列させてページメモリに記憶させた従来方式に比べて、１ページ分の画素データの書込みを高速に行うことが出来る。
【００２２】
具体的には、上記記憶装置は、磁気ディスクを記憶媒体とするハードディスク装置である。なお、光磁気ディスクや相変化記録方式の光ディスクなど、大容量で書換え可能な種々の円盤状の記憶媒体を備えた記憶装置を使用することも可能である。
【００２３】
望ましくは、上記印刷ヘッドが所定ライン数の画素データを取り込んで所定幅のスキャンライン印刷を行う形式の場合に、上記ブロックの高さは、上記スキャンライン印刷の幅長を自然数で割った長さとなるように構成する。
【００２４】
また、上記記憶装置入出力制御手段は、１ページ分の上記単位データを、印刷画像において列ごとに左から右へとブロックが並び、さらに右端のブロックの次に次列左端のブロックが続くような順序に配列して、記憶媒体において連続的に配列されている複数のセクタに格納すると良い。また、その左右を反転させた配列としても良い。
【００２５】
上記のように単位データを構成し配列することで、画素データを記憶装置から印刷ヘッド側に読み出す処理も、画素データを１ライン毎に配列させてページメモリに記憶させた従来方式のものと同等に、高速に行うことが出来る。
【００２６】
さらに望ましくは、上記記憶装置入出力制御手段は、個々の単位データを、印刷画像において各ラインの画素データが左から右へと並び、さらに右端の画素データの次に次のラインの左端の画素データが続くような順序に配列して、上記記憶装置に格納するように構成すると良い。また、その左右を反転させた配列としても良い。また、上記記憶装置入出力制御手段は、上記記憶装置への画素データの書込みと読出しとを上記単位データの単位で行うように構成する。また、印刷画像の画素データが複数色の画素データの集合として構成されている場合に、各色ごとの画素データをそれぞれ上記単位データにより構成すると良い。このような構成により、ブロックごとの画素データの取り扱いが容易なものとなる。
【００２７】
また望ましくは、上記単位画像セルの大きさを決定する上記印刷画像の縦横の分割数を変更可能な設定手段を設ける。また、上記単位データのデータ構成（縦横のデータ幅、データ配列、記憶装置中における各単位データの配列など）を変更可能な設定手段を設ける。
【００２８】
このような手段によれば、例えば、印刷用紙のサイズや印刷領域のサイズに合わせて、分割ブロックの大きさや、単位データのデータ構成を適宜設定変更したり、また、作図データとして細かな矩形領域への描画データが多い場合や、大まかな矩形領域への描画データが多い場合など、印刷内容の様々な傾向に合わせて、分割ブロックの大きさや、単位データのデータ構成を適宜設定変更するなど、様々な印刷態様に合わせて単位データの態様も最適化して書込み速度や印刷手段への読出し速度をより高速にすることができる。
【００２９】
より望ましくは、少なくとも上記展開手段へ作図データが読み込まれる際および展開した画素データを上記記憶装置に書き込む際にデータ転送が行われる第１データバスと、画素データを上記記憶装置から上記印刷ヘッド側へ転送する際に使用される第２データバスと、上記記憶装置と上記第１データバスまたは第２データバスとの接続を切り換える切替手段と、上記記憶装置から上記印刷手段に画素データを直接転送する直接転送制御手段とを備え、上記切替手段により記憶装置を第２データバスに接続させることで上記第２データバスを介したデータ転送と並行して上記第１データバスを介した作図データの読み込みが行えるように構成する。
【００３０】
このような手段によれば、記憶装置から印刷手段へ画素データが読み出されている間にも第１データバスを使用することが出来るので、印刷装置の総合的なパフォーマンスを大きく向上させることが出来る。
【００３１】
望ましくは、上記直接転送制御手段は、上記記憶装置に記憶されている１ページ分の画素データを、一度印刷ヘッド側へ転送した後に所定の指令に基づいて再度印刷ヘッド側へ転送することが可能なように構成する。また、上記記憶装置に記憶されている１ページ分の画素データのうち任意の箇所から上記単位データの単位で上記印刷手段に転送することが可能なように構成する。また、上記記憶装置に単位データの単位で任意の箇所から画素データの書き込みが可能なように構成する。
【００３２】
これらの構成により、作図データの展開処理をやり直さずに、再印刷処理、一部の範囲のみ印刷を行う部分印刷処理、一部の範囲のみ変更する部分変更印刷処理などをすばやく行うことが可能となる。
【００３３】
さらに望ましくは、例えば紙ジャム、用紙切れ、インク切れといった印刷処理のトラブルを検出するトラブル検出手段と、トラブルが検出された場合に上記直接転送制御手段による上記単位データの転送を中断させる印刷処理制御手段とを備えると良い。また、トラブルの復旧を検出するトラブル復旧検出手段を備え、上記印刷処理制御手段はトラブルの復旧が検出されたことに基づき上記直接転送制御手段に再度上記単位データの転送を行わせるように構成すると良い。このような手段によれば、トラブル復旧後、作図データの展開処理をやり直す必要なく、自動的に再印刷を行わせることが出来る。
【００３４】
また、ユーザーにより操作可能な操作手段（操作パネルなど）を備え、該操作手段を介した操作により上記直接転送制御手段に上記単位データの転送処理を行わせたり、外部信号を入力する外部インターフェースを備え、該外部インターフェースに入力されるコマンドに基づいて上記直接転送制御手段に上記単位データの転送処理を行わせるように構成することで、ユーザーの操作や外部のホストコンピュータなどからの指示により再印刷処理や部分印刷処理を行うことが可能となる。
【発明の効果】
【００３５】
以上説明したように、本発明に従うと、ＲＡＭの代わりにハードディスクでページメモリを構築できるなど、安価にページメモリを構築して、ページメモリにより従来より得られた様々な効果を享受できることに加え、１ページ分の画素データを印刷領域に対して縦横に複数に分割したセルデータ毎にハードディスクの連続するセクタに記憶させるようにしたので、作図データを展開して記憶装置に書き込む場合にデータの書き込みを高速に行うことが出来るという効果がある。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の好適な実施例を図面に基づいて説明する。
【００３７】
図１は、本発明の実施例の印刷装置の全体構成を示すブロック図である。
【００３８】
この実施例の印刷装置１は、インクジェット方式の印刷ヘッドを有し、このヘッドを用紙搬送方向と直交する方向（横方向）に往復スキャンさせることで複数ライン（例えば５１２ライン×６色：以下１スキャンラインと呼ぶ）の印刷を行うと共に、用紙を縦方向に間歇的に送りながら上記のスキャンラインの印刷を繰り返すことでＡ０サイズやＡ１サイズの大判用紙に印刷を行うことを可能とする装置である。
【００３９】
この印刷装置１は、印刷ヘッドや１スキャンライン分の画素データを蓄えるメモリを備えたプリンタエンジン６、このプリンタエンジン６に画素データを送るためのエンジンインターフェース１４、伝送ケーブルを介して接続されるホストコンピュータ２…（以下単にホストと呼ぶ）からデータ受信を行う外部インターフェースとしてのホストインターフェース７、ホストから送られてきた作図データを一時的に蓄えておくスプールメモリ１１、印刷装置１の全体的な制御を行うＣＰＵ８、このＣＰＵ８により実行される制御用プログラムや制御用データが記憶されたプログラムＲＯＭ９、スプールメモリ１１に蓄えられた作図データを展開して得られる１ページ分の画素データが蓄えられる記憶装置としてのページメモリ１２、ＣＰＵ８やホストインターフェース７およびスプールメモリ１１が接続されて作図データの転送や該作図データを展開した画素データの転送が行われる第１データバスとしてのメインバス１３、ページメモリ１２にアクセスするときにバスの切換えを行ったりページメモリ１２の画素データを直接転送したりする切替手段と直接転送制御手段とを兼ねたページメモリ制御回路１０、並びに、ユーザーによりキー操作可能な入力キーや操作内容を表示する表示部が設けられた操作手段としての操作パネル１５等を備えて構成される。
【００４０】
この実施例の印刷装置１においては、ホスト２…から送られてくる作図データは、例えば描画コマンドや各種パラメータ（印刷座標、線種、色など）により印刷内容を表したベクタデータである。
【００４１】
ＣＰＵ８は、内部にＲＡＭを備えたプロセッサであり、該ＲＡＭを作業スペースとして上記プログラムＲＯＭ９に記憶された制御用プログラムや制御用データに従って、複数の機能モジュールを実現する。これら複数の機能モジュールとしては、ホストインターフェース７で受信した作図データをスプールメモリ１１に格納していくスプール機能モジュールや、ベクタデータをドット毎の画素データに展開する展開手段としてのラスタ展開モジュール、並びに、画素データを単位データである後述のセルデータを単位としてページメモリ１２の方へ転送する画素データ転送モジュール、印刷処理を指示する印刷処理制御手段としての印刷処理モジュールなどが含まれる。上記ホスト２…から送られてくる作図データは上記スプール機能モジュールにより一旦スプールメモリ１１に蓄えられた後に、上記ラスタ展開モジュールにより画素データに展開され、その後、画素データ転送モジュールによりページメモリ１２に転送される。
【００４２】
ＣＰＵ８により実現される機能モジュールには、ハードウェアを動かすために上記の各機能モジュールとハードウェアとの間に階層的に構築される下層の機能モジュールがある。以下、これらの機能モジュールを下層モジュールと呼び、上記のスプール機能モジュール、ラスタ展開モジュール、画素データ転送モジュールおよび印刷処理モジュール等を上層モジュール２０と呼ぶ。
【００４３】
図５には、上層モジュールがページメモリ１２にアクセスするために階層的に構築された下層モジュールを説明する機能ブロック図を示す。
【００４４】
ページメモリ１２にアクセスするための下層モジュールには、先ず、ページメモリ１２を直接的に制御して後述のセクタ毎にデータの読書きを行うハードディスクドライバ２３、上層モジュール２０からデータ入出力用のコマンドを受けて対応する下層モジュールを呼び出すＩ／Ｏシステム２１、上層モジュール２０とハードディスクドライバ２３との間に介在しページメモリ１２へ画素データを読書きする際に本発明に係る特徴的なフォーマットに従って画素データを扱う記憶装置入出力制御手段としてのセルユニット・ファイルシステム（以下、ＣＵファイルシステム２２と呼ぶ）などがある。
【００４５】
このように階層的に構築された機能モジュールによれば、上層モジュール２０がページメモリ１２にアクセスするコマンドを発した場合には、先ず、Ｉ／Ｏシステム２１がドライバテーブルの中から上記コマンドに対応した下層モジュールすなわちＣＵファイルシステム２２を呼び出し、上層モジュール２０はこれらＣＵファイルシステム２２とハードディスクドライバ２３を介してページメモリ１２にアクセスする。上記ＣＵファイルシステム２２の詳細については後述する。
【００４６】
ページメモリ１２は、例えば複数の磁気ディスクを記憶媒体とした大容量（例えば１Ｇ〜２Ｇｂｙｔｅ）のデータを格納可能なハードディスク装置である。Ａ０サイズ、解像度７２０ｄｐｉ、６色の画素データ（約６００Ｍｂｙｔｅのデータ）であれば１ページ又は複数ページ分が格納可能である。磁気ディスクに格納されるデータの構造は一般的なハードディスクのものと同様であり、円盤状の磁気ディスクにトラックと呼ばれる同心円状に区分けされた複数の帯が半径方向に沿って配列され、このトラック上にアドレスを付加されたセクタと呼ばれるブロックが配列されている。そして、このセクタに所定容量（例えば５１２ｂｙｔｅ）のデータが格納されるようになっている。また、このセクタがページメモリ１２に直接データアクセスを行う場合の最小単位になっている。
【００４７】
また、同一トラック（複数の磁気ディスクがある場合は同じ半径のトラックを同一トラックとする）上に配列された複数のセクタは、その配列順に連続的なアドレスが付与され、また、或るトラックの最後のセクタの次は、半径方向に隣接するトラックの先頭のセクタへ続くように連続的にアドレスが付与されるようになっている。
【００４８】
従って、磁気ヘッドが磁気ディスクの半径方向に移動（シークと言う）してデータアクセスする記憶装置においては、複数のセクタにデータアクセスする際、連続するアドレスに沿ってデータアクセスする場合に最もシーク時間が少なくなり、高速なデータ書込みやデータの読出しが可能なようになっている。
【００４９】
ページメモリ制御回路１０は、ページメモリ１２の接続をメインバス１３とエンジンインターフェース１４側のデータ線とで切り替える切替手段としてのバススイッチや、ＣＰＵ８の制御と独立してページメモリ１２からエンジンインターフェース１４へ直接データ転送を行わせる直接転送制御手段としてのＤＭＡ（Direct Memory Access）制御回路を備えて構成される。そして、画素データをページメモリ１２に書き込む場合には、ＣＰＵ８の指示に基づきページメモリ１２を第１のデータバスとしてのメインバス１３側に接続させる一方、印刷を行うために画素データをページメモリ１２からプリンタエンジン６側に送る場合には、ＣＰＵ８の指示に基づきページメモリ１２の接続をエンジンインターフェース１４側の第２データバスとしてのデータ線１７に切り換えるとともに、ＣＰＵ８の印刷範囲の指示に基づきＣＰＵ８の制御から独立してページメモリ１２の画素データを直接プリンタエンジン６に転送するようになっている。
【００５０】
プリンタエンジン６には、いわゆる紙ジャムなどのトラブルやその復旧を検出するトラブル検出手段およびトラブル復旧検出手段としてのセンサが設けられ、このセンサ出力はエンジンインターフェース１４やメインバス１３を介してＣＰＵ８に割込み信号として入力されるようになっている。
【００５１】
また、操作パネル１５からは、ページメモリ１２に蓄えられている１ページ分の画素データに基づき１ページの印刷完了後や印刷途中に同じページの印刷を再度行わせる再印刷処理の実行指示や、上記１ページ分の画素データに基づきその一部分の印刷を行わせる部分印刷処理の実行指示、並びに、部分印刷処理における印刷範囲の入力などがキー操作等により行えるようになっている。また、操作パネル１５はＣＵファイルシステムのフォーマットパラメータを変更可能な設定手段も構成しており、操作パネル１５の操作により、セルデータの大きさを決定する１ページの印刷画面の分割数の設定入力、下記のセルデータの縦横のデータ幅、個々のセルデータにおける画素データの配列、１ページの印刷画面におけるセルデータの配列など、セルデータのデータ構造の設定入力が行えるようになっている。また、上記の各実行指示や各設定はホストインターフェース７を介してホスト２…からのデータ入力によっても可能になっている。
【００５２】
次に、ページメモリ１２へ画素データを書き込む際に用いられる上記ＣＵファイルシステム２２について詳細に説明する。
【００５３】
図２には、セルデータで構成されている１ページ分の画素データを色別に分割した状態を表した説明図を、図３には、ページメモリ１２におけるセルデータの記憶状態を示す説明図を、図４には、各セルの画素データの配列を表した説明図を示す。
【００５４】
上記ＣＵファイルシステム２２においては、１ページ分の画素データは印刷座標上で縦横複数に分割（例えば縦ｎ分割、横ｍ分割）してなる単位データとしてのセルデータを最小単位として扱う。カラー印刷では、１ページ分の画素データは黒、シアン、マゼンタ、黄、ライトシアン、ライトマゼンタなどの色ごとに画素データが構成され、セルデータも各色毎に分離して扱う。図２において実線で分割されている個々の画素データがセルデータである。
【００５５】
この実施例では１個のセルデータは縦２５６ビット×横１２８ビットとしている。セルの高さは１スキャンラインのライン数（５１２ライン）や印刷ヘッドに備わる１色分のノズル数（２５６個）と同じビット数又はその整数分の１となるように決定するのが望ましい。また、セルの幅はセルデータを９０度回転する処理などを考慮すればセルの高さと同じかその整数分の１となるように決定するのが望ましい。また、これらセルデータの縦横のビット数はともに８の倍数などＣＰＵ８が扱いやすいデータ長にすることが望ましい。
【００５６】
ＣＵファイルシステム２２においては、各セルデータに対して、印刷用紙の印刷領域に対応して左上から右下に向かって順次ブロックが連続するようにセルアドレスが付与される。すなわち、列ごとに左側から右側へとのブロックが並び、右端のブロックの次は次列の左端のブロックへと続くようにセルアドレスが連続的に付与される。図中、黒色の画素データに対してセルアドレス「０」〜「ｍ×ｎ−１」をブロック毎に記している。
【００５７】
図３に示すように、１つのセルデータはページメモリ１２としてのハードディスク上でアドレスが連続する複数のセクタ（この実施例では８個のセクタ）に格納される。さらに、１ページ分の画素データを構成する各セルデータは、連続するセクタアドレスに沿って、上記セルアドレスの順に格納されるように取り扱われる。
【００５８】
また、図４（Ａ）に示すように、１つのセルデータにおいて画素データの配列は、印刷座標上で左上から右下にかけて画素データが連続する配列、すなわち、同一ラインの左端から右端へと画素データが続いて右端の次は次ラインの左端へと画素データが続くような配列になっている。図４（Ｂ）は従来の画素データ配列を比較のために示したものである。
【００５９】
実施例のＣＵファイルシステム２２において、上記セルデータを構成するブロックの分割数や、セルデータの縦横のデータ幅、セルデータ中の画素データの配列順序、および１ページの印刷画面でみたセルデータの配列順序（セルアドレスの付与順序）などは、ＣＵファイルシステム２２が保有するデータテーブルの値を書き換えることで変更できるようになっている。そして、この変更は、上記操作パネル１５を使用したキー入力、或いはホストからのデータ入力により行うことが可能になっている。
【００６０】
ページメモリ１２において１ページ分のセルデータが格納される連続的な記憶領域は、受信した作図データをＣＰＵ８が解析して印刷図面サイズ（例えばＡ０又はＡ１）が認識された際に、該印刷図面サイズに基づきＣＵファイルシステム２２により確保される。そして、受信した作図データを解析して印刷図面サイズの情報が得られた際に、該印刷図面のサイズに応じて上記セルデータを構成するブロックの分割数や上記セルデータの構成を決定または変更するようにしても良い。また、予め大きなサイズの印刷図面に対応可能な大容量の記憶領域をページメモリ１２上に確保しておき、小さいサイズの印刷図面を取り扱う場合でも、この記憶領域の一部の領域に１ページ分のセルデータを連続的に格納するように構成しても良い。
【００６１】
次に上記のＣＵファイルシステム２２の作用について説明する。
【００６２】
ＣＵファイルシステム２２は、画素データをページメモリ１２に転送する際や、ラスタ展開モジュールにより一旦ページメモリ１２に書き込まれた画素データを読み出す際、並びに、部分印刷を行う際に印刷範囲を指定する場合などに作用する。以下、これらの場合についてそれぞれ説明する。
【００６３】
先ず、画素データをページメモリ１２に転送する処理は、画素データ転送モジュールから転送先のセルアドレスとそれに対応するセルデータがＣＵファイルシステム２２に渡されて開始される。各モジュール間のデータのやり取りはＣＰＵ８内のＲＡＭを介して行われる。ＣＵファイルシステム２２にセルアドレスとそれに対応するセルデータが渡されると、ＣＵファイルシステム２２がそのセルアドレスを上述のフォーマットに従ってページメモリ１２のセクタアドレスに変換する。そして、セクタアドレスとセルデータとを対応付けてハードディスクドライバ２３に送る。すると、ハードディスクドライバ２３は上記セルデータをページメモリ１２の上記フォーマットに従った所定領域に書き込んでいく。
【００６４】
ラスタ展開モジュールによる画素データの読出し処理は、作図データを展開する際に、先に展開してページメモリ１２に書き込んである画素データを読出し、新たな画素データを重ね書きして再度ページメモリ１２に書き込む場合に行われる処理である。
【００６５】
この画素データの読出し処理は、先ず、ラスタ展開モジュールが読出し元のセルアドレスをＣＵファイルシステム２２に渡すことで実行される。セルアドレスが送られるとＣＵファイルシステム２２がこのセルアドレスを上記のフォーマットに従ったセクタアドレスに変換して、読出しコマンドとともにハードディスクドライバ２３に送る。すると、ハードディスクドライバ２３は上記のセクタから画素データを読み出してＣＵファイルシステム２２に送り、ＣＵファイルシステム２２はこれら画素データを要求されたセルアドレスのセルデータとしてラスタ展開モジュールに渡す。
【００６６】
上記印刷範囲の指定は、印刷処理モジュールが印刷範囲を示すセルアドレスをＣＵファイルシステム２２に渡すことで行われる。例えば、矩形領域の指定であれば左上の開始セルアドレスと幅方向のセル数と高さ方向のセル数とがＣＵファイルシステム２２に送られる。ＣＵファイルシステム２２ではこれらのデータに基づいて印刷範囲の画素データが格納されているセクタアドレスを所定の形式（例えば先頭のセクタアドレスと連続するデータ幅との組合わせ）で算出し、それをページメモリ制御回路１０に送る。
【００６７】
ページメモリ制御回路１０に印刷範囲を示す上記データが送られると、ＣＰＵ８の制御と独立してページメモリ制御回路１０により所定のタイミングで印刷範囲の画素データがページメモリから読み出されてプリンタエンジン６に転送され部分印刷が行われていく。
【００６８】
次に、上記実施例の印刷装置１により行われる幾つかの印刷処理について図６〜図９のフローチャートを参照しながら説明する。
【００６９】
図６は、ＣＰＵ８により実行される通常の印刷処理の制御手順を示すフローチャートである。
【００７０】
通常の印刷処理では、先ず、ＣＰＵ８のスプール機能モジュールがホストから送られてくる作図データを受信してスプールメモリに格納していく（ステップＳ１０１）。格納が済んだら作図データを解析して用紙サイズなどから展開される画素データのサイズを調べ、ページメモリ１２に該画素データを格納する領域を確保する（ステップＳ１０２）。
【００７１】
次いで、ＣＰＵ８のラスタ展開モジュールにより順次スプールメモリから作図データを取り出してラスタ展開する（ステップＳ１０３）。そして、ラスタ展開された画素データをセル単位でページメモリ１２の所定領域に書き込んでいく（ステップＳ１０４）。次に、１ページ分の展開処理が終了したか否か判別して（ステップＳ１０５）、終了するまで上記ステップＳ１０３，Ｓ１０４の処理を繰り返す。
【００７２】
そして、１ページ分の展開処理が終了したら、ＣＰＵ８の印刷処理モジュールがページメモリ制御回路１０に印刷指示を与える（ステップＳ１０６）。すると、ページメモリ制御回路１０により画素データがページメモリ１２からプリンタエンジン６に直接転送されて１ページの印刷が行われていく。
【００７３】
図７は、ＣＰＵ８とページメモリ制御回路１０により実行される複数枚印刷の制御手順を示すフローチャートである。
【００７４】
複数枚印刷の処理では、作図データを展開して１ページ分の画素データをページメモリ１２に格納した段階で、ＣＰＵ８の印刷処理モジュールがページメモリ制御回路１０に複数枚の印刷指示を与える（ステップＳ２０１）。すると、ページメモリ制御回路１０により画素データがプリンタエンジン６に直接転送されて１枚の印刷が行われていくと共に、この画素データの直接転送が複数枚分行われて、複数枚の印刷が行われる。
【００７５】
図８は、印刷装置により実行されるトラブル処理の制御手順を示すフローチャートで、（ａ）はＣＰＵ８やページメモリ制御回路１０側の制御手順、（ｂ）はプリントエンジン６側の制御手順を示している。
【００７６】
これらのフローチャートは、ＣＰＵ８の印刷指示によりページメモリ制御回路１０が画素データをプリントエンジン６に直接転送している状態から記している。
【００７７】
印刷が開始されると、ＣＰＵ８側では、ＣＰＵ８からの指示に基づいてページメモリ制御回路１０により画素データの転送が順次行われる一方（ステップＳ３０１）、プリントエンジン６側では、順次転送されてくる画素データに従って印刷ヘッドをスキャンさせてスキャンライン印刷が行われる（ステップＳ３０５）。
【００７８】
この状態で、例えば紙ジャム、用紙切れ、インク切れなどのトラブルが発生すると、プリントエンジン６側のセンサが検出してプリントエンジン６側の制御により印刷動作が停止される（ステップＳ３０６）。そして、プリントエンジン６がＣＰＵ８に紙ジャム発生の割込み信号を出力してトラブル発生を通知する（ステップＳ３０７）。
【００７９】
ＣＰＵ８側では、上記トラブル発生の通知を受けるとページメモリ制御回路１０に画素データの転送を中断する指示を出して、該画素データの転送を中断させる（ステップＳ３０２）。そして、プリントエンジン６からトラブル復旧の通知が行われるまで待機する（ステップＳ３０３）。
【００８０】
その後、ユーザーがジャムを起こした用紙を取り除いて正しく用紙をセットし、印刷再開を指令すると、プリントエンジン６からＣＰＵ８にトラブル復旧の通知が行われる。
【００８１】
ＣＰＵ８側では、上記トラブル復旧の通知を受けると、ページメモリ制御回路１０に転送再開の指示を出して画素データの転送を再開させる（ステップＳ３０３）。ここで、画素データ転送の再開位置は、１ページの最初からである。または紙ジャム発生で中断した位置から、或いは紙ジャム発生位置より所定長さ手前からなど、様々な設定が可能である。そして、この画素データに基づきプリントエンジン６で印刷動作が再開される（ステップＳ３０８）。
【００８２】
図９は、ＣＰＵ８とページメモリ制御回路１０により実行される部分印刷処理の制御手順を示すフローチャートである。
【００８３】
部分印刷処理では、作図データを展開して１ページ分の画素データをページメモリ１２に格納した後に、先ず、操作パネル１５を介したユーザーからの操作入力、或いは、ホスト２…からのデータ入力により、ＣＰＵ８に部分印刷の指示と部分印刷の範囲を示すデータが入力される（ステップＳ４０１）。
【００８４】
外部から部分印刷の指示と印刷範囲のデータ入力が行われると、ＣＰＵ８はこのデータに基づき印刷範囲に対応するセルアドレスと印刷幅と印刷高さを表すセル数を算出し、これらに基づきページメモリ制御回路１０に部分印刷の指示と印刷範囲のデータを出力する（ステップＳ４０２）。ＣＰＵ８において印刷範囲を示すデータは、上述したように、印刷処理モジュールからＣＵファイルシステム２２にはセルアドレスやセル数で表されるが、ＣＵファイルシステム２２からハードディスクドライバ２３を経てページメモリ制御回路１０にはセクタアドレスやデータ幅で表される。
【００８５】
そして、ページメモリ制御回路１０により、指定された印刷範囲の画素データが所定のタイミングで順次プリンタエンジン６に直接転送されていき部分印刷が行われる（ステップＳ４０３）。
【００８６】
以上のように、この実施例の印刷装置１によれば、ハードディスク装置に１ページ分の画素データを記憶させるので、安価なページメモリを構築できるとともに、ページメモリにより従来より得られた様々な効果を享受できる。すなわち、複数枚印刷やトラブル復旧時の再印刷処理、部分印刷処理などを行う場合に、再度作図データを画素データに展開する処理を行う必要がなく、すばやい処理が可能である。
【００８７】
それに加えて、１ページ分の画素データを印刷座標において縦横に複数に分割したセルデータ毎に連続するセクタに記憶させるようにしたので、印刷画像を縦横に分割したブロック毎の画素データの書込みと読出しが高速に行える。作図データを展開して記憶装置に書き込む場合には、印刷面中の任意の矩形領域に画素データを書き込むという処理を行いたい場合があるが、このような場合でもデータの書き込みを高速に行うことが出来る。
【００８８】
また、上記実施例のセルデータの大きさやセルデータの配列により、画素データをページメモリ１２からプリンタエンジン６に読み出す際にも、従来の画素データを１ライン毎に配列させてページメモリに記憶させた方式のものと同等に、高速に処理することが出来る。
【００８９】
また、セルデータのデータ構造を設定変更可能にしたことにより、例えば、印刷用紙のサイズや印刷領域の大きさに応じてセルを設定したり、作図データとして細かな矩形領域への描画データが多い場合や、大まかな矩形領域への描画データが多い場合など、印刷内容の様々な傾向に合わせて、画素データの書込みや印刷手段への読出しが高速になるように、セルデータのデータ構造を最適化することが出来る。
【００９０】
また、ページメモリ制御回路１０により、ページメモリ１２からプリントエンジン６に画素データを直接転送され、且つ、このデータ転送にメインバス１３を使用しないので、印刷処理の実行中でもＣＰＵ８によりメインバス１３を使用することが出来るので、例えば、印刷処理中に作図データのスプールや作図データの解析や画素データへの展開処理をスムーズに行うことが可能になるなど、印刷装置の総合的なパフォーマンスを大きく向上させることが出来る。
【００９１】
以上本発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００９２】
例えば、上記実施例では本発明をインクジェット方式の印刷装置に適用して説明したが、例えば感光ドラムによりライン方向に連なる印刷を連続的に行う電子写真式の印刷装置に対しても同様に適用可能である。また、画素データもドットが有るか否かの２値データでなく階調印刷するための多値データとして扱うこともできる。また、ページメモリ１２としてハードディスクを例示したが、その他、光ディスクや光磁気ディスクなどの円盤状の記憶媒体を使用した大容量の記憶装置を適用することもできる。
【００９３】
また、画素データをセルデータごとに扱う記憶装置入出力制御手段として、ＣＰＵにより実現されるＣＵファイルシステムを例示したが、記憶装置入出力制御手段を１個の機能モジュールとして構成するのではなく、上層モジュールないに同様の機能を付加させ、上層モジュールが同様のフォーマットで画素データを扱うようにして構成することも可能である。また、記憶装置入出力制御手段はＣＰＵによりソフト的に実現するのでなく、ページメモリの制御を行う専用の制御回路によりハード的に構成することも可能である。
【００９４】
また、１ページの画素データにおけるセルデータの配列や、１つのセルデータにおける画素データの配列などは、上記実施例で示したものと左右逆転したものとしても良いし、また、それ以外の配列としても良い。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施例の印刷装置の全体構成を示すブロック図である。
【図２】１ページ分の画素データをセルデータ毎に分割した状態を示す説明図である。
【図３】記憶装置中におけるセルデータの状態を示す説明図である。
【図４】セルデータ内の画素データの配列を示す説明図である。
【図５】図１のＣＰＵにより構成されるページメモリにアクセスするための機能モジュールを説明する機能ブロック図である。
【図６】図１のＣＰＵにより実行される印刷処理の制御手順を示すフローチャートである。
【図７】図１のＣＰＵとページメモリ制御回路により実行される複数枚印刷の制御手順を示すフローチャートである。
【図８】印刷装置により実行されるトラブル処理の制御手順を示すフローチャートで、（ａ）はＣＰＵやページメモリ制御回路側の制御手順、（ｂ）はプリントエンジン側の制御手順を示している。
【図９】図１のＣＰＵとページメモリ制御回路により実行される部分印刷処理の制御手順を示すフローチャートである。
【符号の説明】
【００９６】
１      印刷装置
２      ホストコンピュータ
６      プリンタエンジン（印刷手段）
７      ホストインターフェース（外部インターフェース）
８      ＣＰＵ
９      プログラムＲＯＭ
１０    ページメモリ制御回路（切替手段、直接転送制御手段）
１２    ページメモリ（記憶装置）
１３    メインバス（第１データバス）
１５    操作パネル（操作手段、設定手段）
１７    データ線（第２データバス）
２２    ＣＵファイルシステム（記憶装置入出力制御手段）
２３    ハードディスクドライバ
【図１】
2008168642.tif 000003
【図２】
2008168642.tif 000004
【図３】
2008168642.tif 000005
【図４】
2008168642.tif 000006
【図５】
2008168642.tif 000007
【図６】
2008168642.tif 000008
【図７】
2008168642.tif 000009
【図８】
2008168642.tif 000010
【図９】
2008168642.tif 000011