(57)【特許請求の範囲】
【請求項１】
印刷出力すべき画像情報がビットマップデータの形態で展開されたメモリに対してアドレスを連続的に変化させたときのアクセス方向と、前記印刷出力の際に印刷ヘッドに読み出される画像情報のドット列の並びの方向とが異なっている印刷出力装置において、
前記画像情報が前記印刷ヘッドが印刷する範囲によって定義されるバンドに分割されたデータを格納する前記メモリと、
前記バンド毎の画像情報を前記メモリから読み出す際に、前記メモリのアクセス方向に沿った一単位のデータを読み出して格納するレジスタと、
その前記レジスタから読み出した前記一単位のデータのうち、印刷ヘッドのドット列の並びの方向に沿うデータを順次転送され保持するシフトレジスタと、
トリガー信号に基づきシフトレジスタのデータを取り込んで印刷ヘッドに順次転送するラッチ回路と
を有することを特徴とする印刷出力装置。
【請求項２】
印刷出力すべき画像情報がビットマップデータの形態で展開されたメモリに対してアドレスを連続的に変化させたときのアクセス方向と、前記印刷出力の際に印刷ヘッドに読み出される画像情報のドット列の並びの方向とが異なり、且つ前記印刷ヘッドに読み出される画像情報の各ドットが前記印刷ヘッドの各ドット形成部の位置に応じてシフトされて読み出される印刷出力装置において、
前記画像情報が前記印刷ヘッドが印刷する範囲によって定義されるバンドに分割され、前記印刷ヘッドの各ドットのシフト量に相当する空白データを埋め込まれたデータを格納する前記メモリと、
前記バンド毎の空白データを埋め込まれた画像情報を前記メモリから読み出す際に、前記メモリのアクセス方向に沿った一単位のデータを読み出して格納するレジスタと、
その前記レジスタから読み出した前記一単位のデータのうち、印刷ヘッドのドット列の並びの方向に沿うデータを順次転送され保持するシフトレジスタと、
トリガー信号に基づきシフトレジスタのデータを取り込んで印刷ヘッドに順次転送するラッチ回路と
を有することを特徴とする印刷出力装置。
【請求項３】
印刷出力すべき画像情報がビットマップデータの形態で展開されたメモリに対してアドレスを連続的に変化させたときのアクセス方向と、前記印刷出力の際に印刷ヘッドに読み出される画像情報のドット列の並びの方向とが異なり、且つ前記印刷ヘッドに読み出される画像情報の各ドットが前記印刷ヘッドの各ドット形成部の位置に応じてシフトされて読み出される印刷出力装置において、
前記画像情報が前記印刷ヘッドが印刷する範囲によって定義されるバンドに分割されたデータを格納する前記メモリと、
前記バンド毎の画像情報を前記メモリから読み出す際に、前記メモリのアクセス方向に沿った一単位のデータを読み出して格納するレジスタと、
その前記レジスタから読み出した前記一単位のデータに前記印刷ヘッドの各ドットのシフト量に相当する空白データを挿入するシーケンサと、
この空白データが挿入された前記一単位のデータのうち、印刷ヘッドのドット列の並びの方向に沿うデータを順次転送され保持するシフトレジスタと、
トリガー信号に基づきシフトレジスタのデータを取り込んで印刷ヘッドに順次転送するラッチ回路と
を有することを特徴とする印刷出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＡＤシステム等で作成された図面等の画像情報を、例えばインクジェットヘッド等を用いて印刷出力するための印刷出力装置に関する。
【０００２】
【従来の技術】
Ａ０，Ａ１サイズといった大型の図面を出力するラスタプロッタ等の印刷出力装置では、メモリ容量を削減するため、１枚の図面の印刷領域を複数のバンドに分割し、バンド毎にビットマップ展開と印刷処理を繰り返すことがなされている。図１１は、この種の従来の印刷処理装置の印刷処理フローを示す図である。
【０００３】
まず、ＣＡＤシステムで作成された直線、円、円弧、自由曲線、文字、イメージ等の画像情報をビットマップメモリに展開する（Ｓ１）。このとき、例えば図１２に示すように、１枚の描画領域１を複数のバンドに分割すると共に、各バンド毎にベクタ型式の画像情報を分割し、ソート処理したのちＤＤＡ（Digital Differential Analyzer ）処理することにより、各バンド毎にビットマップ展開を行っていく。これにより、大型の図面であっても、ビットマップメモリとして必要な容量を１〜２バンド分の容量に抑えることができる。
【０００４】
各バンドは、図１３に示すように、印刷ヘッド、例えばインクジェットヘッド２の一回の走査により印刷可能な幅に設定される。ここで、インクジェットヘッド２の各ノズル３は、垂直方向に一列に並んでいるとは限らず、一般には、配置スペースの関係から、互いに少しずつずれて配置されている。そこで、このノズル３のずれ量を印刷タイミングによって補償するため、ビットマップデータに、各ノズルの位置に応じたシフトデータを埋め込む必要がある。これがシフト処理（Ｓ２）である。図１３には、図１２に示すビットマップデータをシフト処理した結果の一例が示されている。シフト処理としては、例えば図１３に示すように、シフト量に応じた空白データ、即ち“０”のデータ列をメモリに埋め込むことがなされている。
【０００５】
次に、直交変換が実行される（Ｓ３）。即ち、メモリに対するアクセスの単位となるデータは、図１３の斜線部で示すように、水平方向にビット列が並ぶ例えば３２ビットのデータであり、図中点線矢印で示すように、水平方向に順にアクセスされる。これに対し、インクジェットヘッドに転送すべきデータは、ほぼ垂直方向に並ぶビット列である。従って、メモリに展開され、シフト処理がなされたデータを、図１４に示すように直交変換して専用メモリに格納する。また、インクジェットヘッド２は、往復印刷のため、図１３の実線矢印で示すように、奇数番目のバンドと偶数番目のバンドとで印刷方向が反転するので、図１４（ａ）〜（ｂ）に示すように、直交変換後のデータも奇数番目と偶数番目とで展開方向を１８０°変える必要がある。
【０００６】
【発明が解決しようとする課題】
上述した従来の印刷出力装置では、メモリに対するアクセス方向と印刷ヘッドに転送するデータ列の並びの方向とを揃えるために、直交変換を行っているので、そのための専用のメモリを必要とするうえ、直交変換処理に時間がかかり、印刷速度の低下につながるという問題がある。
【０００７】
本発明は、このような問題点を解決するためになされたもので、ビットマップ展開後の処理を簡略化して、印刷時間を大幅に短縮すると共に、メモリの容量を削減することができる印刷出力装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る印刷出力装置は、印刷出力すべき画像情報がビットマップデータの形態で展開されたメモリに対してアドレスを連続的に変化させたときのアクセス方向と、前記印刷出力の際に印刷ヘッドに読み出される画像情報のドット列の並びの方向とが異なっている印刷出力装置において、前記画像情報が前記印刷ヘッドが印刷する範囲によって定義されるバンドに分割されたデータを格納する前記メモリと、前記バンド毎の画像情報を前記メモリから読み出す際に、前記メモリのアクセス方向に沿った一単位のデータを読み出して格納するレジスタと、その前記レジスタから読み出した前記一単位のデータのうち、印刷ヘッドのドット列の並びの方向に沿うデータを順次転送され保持するシフトレジスタと、トリガー信号に基づきシフトレジスタのデータを取り込んで印刷ヘッドに順次転送するラッチ回路とを有することを特徴とする。
【０００９】
本発明に係る印刷出力装置は、印刷出力すべき画像情報がビットマップデータの形態で展開されたメモリに対してアドレスを連続的に変化させたときのアクセス方向と、前記印刷出力の際に印刷ヘッドに読み出される画像情報のドット列の並びの方向とが異なり、且つ前記印刷ヘッドに読み出される画像情報の各ドットが前記印刷ヘッドの各ドット形成部の位置に応じてシフトされて読み出される印刷出力装置において、前記画像情報が前記印刷ヘッドが印刷する範囲によって定義されるバンドに分割され、前記印刷ヘッドの各ドットのシフト量に相当する空白データを埋め込まれたデータを格納する前記メモリと、前記バンド毎の空白データを埋め込まれた画像情報を前記メモリから読み出す際に、前記メモリのアクセス方向に沿った一単位のデータを読み出して格納するレジスタと、その前記レジスタから読み出した前記一単位のデータのうち、印刷ヘッドのドット列の並びの方向に沿うデータを順次転送され保持するシフトレジスタと、トリガー信号に基づきシフトレジスタのデータを取り込んで印刷ヘッドに順次転送するラッチ回路とを有することを特徴とする。
【００１０】
本発明に係る印刷出力装置は、印刷出力すべき画像情報がビットマップデータの形態で展開されたメモリに対してアドレスを連続的に変化させたときのアクセス方向と、前記印刷出力の際に印刷ヘッドに読み出される画像情報のドット列の並びの方向とが異なり、且つ前記印刷ヘッドに読み出される画像情報の各ドットが前記印刷ヘッドの各ドット形成部の位置に応じてシフトされて読み出される印刷出力装置において、前記画像情報が前記印刷ヘッドが印刷する範囲によって定義されるバンドに分割されたデータを格納する前記メモリと、前記バンド毎の画像情報を前記メモリから読み出す際に、前記メモリのアクセス方向に沿った一単位のデータを読み出して格納するレジスタと、その前記レジスタから読み出した前記一単位のデータに前記印刷ヘッドの各ドットのシフト量に相当する空白データを挿入するシーケンサと、この空白データが挿入された前記一単位のデータのうち、印刷ヘッドのドット列の並びの方向に沿うデータを順次転送され保持するシフトレジスタと、トリガー信号に基づきシフトレジスタのデータを取り込んで印刷ヘッドに順次転送するラッチ回路とを有することを特徴とする。
【００１１】
本発明では、印刷ヘッドに読み出される画像情報のドット列の並びの方向に沿ってメモリに対するアドレスを順次発生させ、順次読み出されるデータのうち印刷すべき位置のドットのデータを印刷ヘッドに順次転送するようにしている。即ち、本発明によれば、アドレス操作とビット選択操作とにより、メモリアクセス方向とは異なる方向のデータ列を読み出すようにしているので、従来のような直交変換操作を必要としない。このため、直交変換のための専用メモリが不要であるうえ、そのための処理時間も短縮することができる。
【００１２】
印刷ヘッドのドット形成部の位置に応じたシフト処理を実行する場合には、従来と同様のシフト量データのメモリへの埋め込み処理を実行しても良いが、データ読み出し時にシフト量に応じた空白データ列を読み出しデータに挿入し、この空白データ列が挿入されたデータの特定の位置のビットを印刷ヘッドに転送するようにしてもよい。
この場合には、シフト処理としてメモリにデータを埋め込む処理も不要になるので、更に処理速度が向上する。
【００１３】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好ましい実施の形態について説明する。
図１は、本発明の一実施例に係るシステムの構成を示すブロック図である。
このシステムは、画像情報を作成・編集するＣＡＤシステム１１と、本発明を適用した印刷処理装置としてのラスタプロッタ１２とから構成されている。
ＣＡＤシステム１１から転送されるプロッタコマンドは、インタフェース（Ｉ／Ｆ）２１及びバス２２を介してＲＡＭ２３に格納される。ＣＰＵ２４は、ＲＯＭ２５に格納されたプログラムに従って、ＲＡＭ２３に格納されたプロッタコマンドを解析し、プロッタコマンドに含まれるベクタデータを各バンド領域毎の中間データ（ベクタデータ）に変換し、各バンド単位でソート処理を実行したのち、各バンド毎に中間データを画像プロセッサ（ＧＰ）２６に転送する。画像プロセッサ２６は、中間データをバンド毎にビットマップメモリ２７に順次展開する。また、画像プロセッサ２６は、ＣＰＵ２４からのコマンドを受けて、ビットマップメモリ２７内のデータに対してシフト処理を施したのち、印刷すべきデータ列毎にヘッド駆動部２８を介してインクジェットヘッド２９にデータを転送する。
【００１４】
次に、上記ラスタプロッタ１２による印刷処理の詳細について説明する。
図２は、印刷処理のフローチャートである。
まず、各バンド毎にベクタデータがビットマップメモリ２７に展開される（Ｓ１１）。図３（ａ）に展開後の様子を示す。
続いて、同図（ｂ）に示すように、シフト処理が実行される（Ｓ１２）。シフト処理は、従来と同様、空白データの埋め込み処理を適用することができる。
【００１５】
続いて、１バンド分の印刷出力が実行される（Ｓ１３）。以下、この処理について詳述する。
図４は、シフト処理後のビットマップメモリ２７のデータ格納状況を模式的に示す図である。
メモリ２７に対するアクセスの単位となるデータは、例えば３２ビットで、０，１，２，…，ｎ−１，ｎ，…と連続的に変化するアドレスが与えられた場合、水平方向（ｉ方向）に順番にアクセスされる。用紙サイズが決定されると、横方向の最右端アドレス（ｎ−１）が決定される。この例では、ノズル数が４８のインクジェットヘッドを２つ使用して、９６ドット幅で印刷される範囲を１バンドに設定している。いま、１バンド内の各データの水平方向位置をｉ、垂直方向位置をｊ、各データ内の出力すべきドットの位置をｋとする。
【００１６】
図５は、印刷出力処理（Ｓ１３）の詳細フロー、図６はビットマップメモリ２７、ヘッド駆動部２８及びインクジェットヘッド２９の詳細ブロック図である。
図５において、まず水平ポインタｉ、ビットポインタｋ及び垂直ポインタｊを“０”に初期化する（Ｓ２１，Ｓ２２，Ｓ２３）。次に、アドレス（ｉ＋ｊｎ）（最初は“０”）のデータを読み出す（Ｓ２４）。なお、ｎは用紙サイズから一意に決定される。呼び出されたデータは、ＣＰＵ２４又は画像プロセッサ２６内のレジスタ３１に格納される。続いて、レジスタ３１に読み出したデータのｋビット目を取り出し、４８ビットシフトレジスタ３２ａにシフト入力する（Ｓ２５，Ｓ２６）。
【００１７】
次に、垂直ポインタｊをカウントアップする（Ｓ２７）。ｊが９５を超えるまで、即ち、１バンドの垂直方向の１列分に相当するデータ列が読み出されるまで、アドレス（ｉ＋ｊｎ）のデータの読み出し（Ｓ２４）と、ｋビット目のデータの取り出し（Ｓ２５）と、４８ビットシフトレジスタ３２ａへの入力（Ｓ２６）とを繰り返すと、図６の４８ビットシフトレジスタ３２ａ，３２ｂには、印刷出力すべき１列分のデータが格納されることになる。
この状態で、ラッチ回路３３にTriger-wait 信号を入力してシフトレジスタ３２ａ，３２ｂのデータをラッチし、印刷タイミングに合わせてラッチ回路３３にFire信号を導入すると、インクジェットヘッド２９ａ，２９ｂからインク滴が吐出され、１ライン分の印刷が完了する（Ｓ２９）。なお、一般的なインクジェットヘッドの場合、１回のインクの吐出に約１３５μｓかかるので、ラッチ回路３３を介在させることにより、インクの吐出の間に次のデータ列をシフトレジスタ３２ａ，３２ｂにセットしておくことは比較的容易である。
【００１８】
以後、ビットポインタｋをカウントアップし（Ｓ３０）、ｋが３１を超えるまで上記処理を繰り返す（Ｓ３１）と、３２ビット分、即ち、第ｉ番目の垂直方向のデータ列について印刷処理が終了する。更に、水平方向ポインタｉをカウントアップし（Ｓ３２）、ｉがｎ−１を超えるまで上記処理を繰り返す（Ｓ３３）ことにより、１バンド分の印刷処理が終了する。
なお、２バンド目の印刷処理については、水平方向ポインタｉをｎ−１から０まで変化させると共に、ビットポインタｋを３１から０に変化させるようにすることで、往復印刷に対応することができる。
【００１９】
以上の処理では、印刷処理に先立ち、シフトデータをビットマップメモリ２７に埋め込むシフト処理を実行したが、印刷処理の際にシフトデータを同時に挿入するようにしてもよい。この場合、図２のシフト処理（Ｓ１２）が不要になる。
図７は、この場合の印刷処理のフローチャート、図８はデータ転送処理に関係する部分のブロック図である。
【００２０】
図７の処理では、図５の処理のデータの読み出しステップ（Ｓ２４）とｋビット目の取り出し処理（Ｓ２５）との間に、所定個数の“０”を挿入シフトする処理（Ｓ４１）が追加されている。シフト量ｍ（ｊ）は、垂直方向ポインタｊの位置によって一意に決定されるので、例えば同期式シーケンサ４１の内部又は外部にテーブルとして予め用意しておけばよい。
この実施例によれば、アドレス（ｉ＋ｊｎ）のデータを読み出したのち、同期式シーケンサ４１からシフト量ｍ（ｊ）個の“０”データを発生させて読み出したデータに挿入し、ｋビット目のデータを取り出すことにより、データの読み出し時に同時にシフト処理も実行されるので、ビットマップメモリ２７へのシフトデータの埋め込み処理が不要となり、更に印刷速度を向上させることができる。
【００２１】
なお、インクジェットヘッド２９のノズルの配列としては、例えば図９に示すようなものがある。インクジェットヘッド２９は、４８ノズルの２つのヘッド２９ａ，２９ｂからなり、ヘッド２９ａ，２９ｂは、例えば１００ドット離れた位置に互いに配置され、各ヘッド２９ａ，２９ｂは、垂直方向に並んだ１２個のノズル４２を４列配置したものである。４つのノズル列は、水平方向に１８ドット、２４ドット及び１８ドットの間隔をおいて、垂直方向に１ドット分ずつずれて配置されている。
【００２２】
このようなインクジェットヘッド２９を使用した場合、シフト量ｍ（ｊ）は、部分的に１データの長さ３２ビットを超える。そこで、図７のステップＳ２４とステップＳ４１を次のように変更する。
▲１▼ステップＳ２４
アドレス［ｉ＋ｊｎ−ＩＮＴ｛ｍ（ｊ）／３２｝］のデータをＲＥＡＤ
▲２▼ステップＳ４１
ｍ（ｊ）−ＩＮＴ｛ｍ（ｊ）／３２｝・３２個の“０”を挿入
ここでＩＮＴ（ｘ）は、ｘの整数部分を取り出す関数である。
この処理を行うことにより、３２ビットを超えるシフト量ｍ（ｊ）に対しても、シフト量に対応した位置のデータが読み出され、且つシフト量ｍ（ｊ）を３２で除算した余りの数だけ読み出されたデータに“０”が挿入されてｋビット目が取り出されることになるので、シフト量に応じた適切なデータがインクジェットヘッド２９にセットされることになる。
【００２３】
なお、以上の実施例では、ビットマップメモリ２７に１バンド分のデータが展開された後に印字出力が開始されるものとして説明したが、例えば図１０に示すように、１バンドの描画領域を更にｍ個の領域に分割し、ビットマップ展開を１バンドの端の領域から▲１▼，▲２▼，▲３▼，…と順次行っていくと、展開が終了した領域から順次印刷出力を開始することができるので、ビットマップ展開と印刷出力とを並行して実行することができ、更に印刷に要する時間を短縮することができる。
【００２４】
また、以上では、インクジェットヘッドを使用するラスタプロッタに本発明を適用した実施例について説明したが、本発明はこのようなタイプのラスタプロッタに適用を限定されるものではなく、サーマルヘッドや他のシリアルドットプリンタにも適用可能であることはいうまでもない。
【００２５】
【発明の効果】
以上述べたように、本発明によれば、印刷ヘッドに読み出される画像情報のドット列の並びの方向に沿ってメモリに対するアドレスを順次発生させ、順次読み出されるデータのうち印刷すべき位置のドットのデータを印刷ヘッドに順次転送するようにしているので、従来のような直交変換操作を必要とせず、直交変換のための専用メモリが不要になると共に、印刷に要する処理時間を大幅に短縮することができるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明の一実施例に係るラスタプロッタの構成を示すブロック図である。
【図２】  同プロッタにおける印刷処理のフローチャートである。
【図３】  同プロッタにおけるビットマップ展開とシフト処理を説明するための図である。
【図４】  同プロッタにおけるメモリに格納されたデータの概要を示す図である。
【図５】  同プロッタにおける印刷出力処理の詳細フローチャートである。
【図６】  同プロッタにおけるデータ転送部分のブロック図である。
【図７】  本発明の他の実施例に係るラスタプロッタの印刷出力処理の詳細フローチャートである。
【図８】  同プロッタにおけるデータ転送部分のブロック図である。
【図９】  インクジェットヘッドの一例を示す図である。
【図１０】  本発明の更に他の実施例を説明するための図である。
【図１１】  従来のラスタプロッタの印刷処理のフローチャートである。
【図１２】  同プロッタにおけるビットマップ展開処理を説明するための図である。
【図１３】  同プロッタにおけるシフト処理を説明するための図である。
【図１４】  同プロッタにおける直交変換処理を説明するための図である。
【符号の説明】
１１…ＣＡＤシステム、１２…ラスタプロッタ、２１…インタフェース、２２…バス、２３…ＲＡＭ、２４…ＣＰＵ、２５…ＲＯＭ、２６…画像プロセッサ、２７…ビットマップメモリ、２８…ヘッド駆動部、２９…インクジェットヘッド。
【図１】
0003971469.tif 000002
【図２】
0003971469.tif 000003
【図３】
0003971469.tif 000004
【図４】
0003971469.tif 000005
【図５】
0003971469.tif 000006
【図６】
0003971469.tif 000007
【図８】
0003971469.tif 000008
【図７】
0003971469.tif 000009
【図９】
0003971469.tif 000010
【図１０】
0003971469.tif 000011
【図１１】
0003971469.tif 000012
【図１２】
0003971469.tif 000013
【図１３】
0003971469.tif 000014
【図１４】
0003971469.tif 000015