JP4666816B2 - 記録装置及びその制御方法、プログラム - Google Patents

記録装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP4666816B2
JP4666816B2 JP2001172738A JP2001172738A JP4666816B2 JP 4666816 B2 JP4666816 B2 JP 4666816B2 JP 2001172738 A JP2001172738 A JP 2001172738A JP 2001172738 A JP2001172738 A JP 2001172738A JP 4666816 B2 JP4666816 B2 JP 4666816B2
Authority
JP
Japan
Prior art keywords
recording
mask pattern
pattern
mask
sub
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.)
Expired - Fee Related
Application number
JP2001172738A
Other languages
English (en)
Other versions
JP2002361853A5 (ja
JP2002361853A (ja
Inventor
哲也 河鍋
英彦 神田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2001172738A priority Critical patent/JP4666816B2/ja
Priority to US10/162,903 priority patent/US7301668B2/en
Publication of JP2002361853A publication Critical patent/JP2002361853A/ja
Publication of JP2002361853A5 publication Critical patent/JP2002361853A5/ja
Application granted granted Critical
Publication of JP4666816B2 publication Critical patent/JP4666816B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/10Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers
    • G06K15/102Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers using ink jet print heads
    • G06K15/105Multipass or interlaced printing
    • G06K15/107Mask selection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Ink Jet (AREA)
  • Dot-Matrix Printers And Others (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の記録素子を有する記録ヘッドを記録媒体上の所定領域に対して、少なくとも1回の副走査を介して所定回数主走査させながら、間引き画像を補完的に記録することにより、記録媒体へ画像を形成する記録装置及びその制御方法、プログラムに関するものである。
【0002】
【従来の技術】
プリンタ、複写機、ファクシミリなどの画像形成装置、あるいはコンピュータやワードプロセッサなどの複合電子機器やワークステーションの出力機器として用いられる画像形成装置は、画像情報に基づいて紙などの記録媒体に所望される文字や画像等の情報を記録するように構成されている。
【0003】
この画像形成装置は、記録方式によりインクジェット方式、ワイヤドット方式、サーマル方式、レーザービーム方式などに分けることができる。
【0004】
例えば、インクジェット方式の記録ヘッドを用いるインクジェットプリンタは、記録ヘッドから記録媒体にインクを吐出して記録を行なうもので、以下の利点を有する。
【0005】
すなわち、記録ヘッドのコンパクト化が容易であり、高精細な画像を高速で記録することができる。また、普通紙に特別の処理を必要とせずに記録することが可能であり、ランニングコストが低く、ノンインパクト方式であるために騒音が少なく、多色のインクを使用してカラー画像を記録するのが容易である。
【0006】
このようなインクジェット方式を採用した記録ヘッドを往復走査しながら、記録媒体に対してインクを吐出し、複数回の走査によって画像を完成させるシリアルプリンタでは、記録用紙などの記録媒体の搬送精度や記録ヘッドの吐出性能によって、搬送精度の影響による濃度ムラや記録ヘッドの吐出動作のばらつきによるスジが記録画像に現れ、記録品質が劣化することがある。
【0007】
このような不具合を解消するため、記録ヘッドの異なる領域で記録媒体の同じ部分記録領域を複数回走査することでその部分記録領域に対する記録を完成させるマルチパス記録方式が提案されている。
【0008】
このマルチパス記録方式は、元々の画像データに所定のサイズのマスクパターンをかけて(論理積をして)、記録ヘッドの1回の走査で記録する画素数を間引き、各走査毎にインク吐出を行う記録ヘッドの記録素子(ノズル)を異ならせる。さらに、記録媒体の搬送単位を記録ヘッドの記録幅より短くして記録を行うので、記録ヘッドの記録素子間の吐出性能のばらつきが記録媒体の特定の場所に集中することによる、また、搬送精度の影響などによる濃度ムラやすじの発生が抑えられる。
【0009】
そのような従来技術の一例として、特開平7−52390号公報では、所定のサイズの領域内でマスクパターンの分布がランダムなマスクマトリクスを使用する方法が提案されている。また、特開平10−235852号公報では、記録ヘッドの走査方向である主走査方向と記録媒体の搬送方向である副走査方向の少なくともひとつの解像度が記録解像度より低いマスクパターンを用いた記録方式などが提案されている。このようなランダムなマスクマトリクスを用いたマルチパス記録方式では、主/副走査方向に対して、吐出周期が不規則となるので、濃度ムラやスジの発生が防止される。また、マスクパターンがランダムであるので、記録データがマスクパターンに同調する可能性が極めて低くすることができることが知られている。
【0010】
また、例えば、副走査方向に配列された記録ヘッド上の記録素子の配置間隔よりも高い解像度で記録媒体上に画像を記録しようとすると、一般的には、副走査方向の記憶媒体の搬送量の駆動分解能を前記所望の解像度に設定してマルチパス記録にて画像記録を行なう方式が知られている。
【0011】
【発明が解決しようとする課題】
しかしながら、上記説明したように、副走査方向の記録解像度にあわせて、記録媒体搬送機構の駆動分解能を設定するようにすると、記録媒体搬送機構を構成する歯車などの機構部品に高精度な部品を使う必要が生じ、記録媒体搬送機構のコストアップの原因となる。また、副走査方向の駆動分解能を高くするためには、記録媒体の搬送量に対応する記録媒体搬送機構の構成要素であるモータ等の駆動量が増加しまう。これらの問題を解決するために記録素子の副走査方向の解像度より、記録媒体搬送機構の駆動分解能を前者とは逆に低く設定する方法がある。
【0012】
例えば、記録素子の副走査方向の解像度を600dpiとして、記録媒体搬送機構の駆動分解能を400dpiに設定する。この記録媒体搬送機構を用いれば、1の量の搬送用駆動パルスで記録媒体が1/400インチ搬送される。つまり、600dpiを1画素と考えた場合には、1の量の搬送用駆動パルスで1.5画素分の搬送量で記録媒体を搬送できる。従って、2n+1の量の搬送用駆動パルスでマルチパス記録を行なえば、記録媒体上の副走査方向に1200dpiの解像度の記録が可能である。また、2nの量の搬送用駆動パルスで3画素分の搬送量で記録媒体を搬送できるので、副走査方向に600dpiの記録解像度も可能である。
【0013】
このような構成にすることで、記録媒体搬送機構のコストアップを抑制し、スループットの低減も抑制できるのであるが、副走査方向に600dpiの記録素子からなる記録ヘッドを用いてマルチパス記録を行うためには、副走査方向に3画素の倍数でマルチパス記録を行なうための補間記録を行なう必要がある。また、マルチパス記録を行ない濃度ムラやスジなどが少ない記録出力を行なう上で、上記従来のマスクパターン技術は有用であるが、上記従来の構成では、副走査方向のマスクパターン数が少なくとも8n若しくは16nの画素数、あるいは2nの画素で構成されている必要があり、上記記録素子と記録媒体搬送機構の駆動分解能の関係をもった記録装置には適用が難しい問題があった。
【0014】
本発明は上記の課題に鑑みてなされたものであり、記録素子の副走査方向の解像度と搬送系の駆動分解能が2nの関係でない構成においても、高品位な記録を実現することができる記録装置及びその制御方法、プログラムを提供することを目的とする。
【0015】
【課題を解決するための手段】
上記の目的を達成するための本発明による記録装置は以下の構成を備える。即ち、
複数の記録素子を所定解像度で所定方向に配列した記録ヘッドを記録媒体上の所定領域に対して、前記所定解像度とは異なる駆動分解能で駆動する搬送手段を用いて、前記所定解像度および前記駆動分解能に応じて定まる、複数の異なる副走査量により複数回の前記記録媒体の副走査および複数回の主走査を行って、最終的に記録媒体に形成する画像の間引き画像を補完的に記録することにより、記録媒体へ前記画像を形成する記録装置であって、
前記複数回の記録媒体の副走査それぞれに対応する前記記録ヘッドの記録素子数に応じて、1カラム分のパターンとして、前記副走査方向に前記複数回分のパターンを生成し、これを所定カラム数分繰り返すことでマスクパターンを生成する生成手段と、
前記生成手段で生成されたマスクパターンを記憶する記憶手段と、
主走査方向の1カラム分の記録タイミング信号毎に、画像データと前記記憶手段に記憶されたマスクパターンのうち、前記記録タイミング信号に対応した前記パターンを用いて前記間引き画像を記録する記録手段と
を備える。
【0016】
また、好ましくは、乱数を発生する乱数発生手段を更に備え、
前記生成手段は、前記副走査方向に前記複数回分のパターンを前記乱数発生手段で発生された乱数値を用いて生成し、これを所定カラム数分繰り返すことで前記マスクパターンを生成する。
【0017】
また、好ましくは、前記生成手段は、前記記録ヘッドの同一記録素子に対応する前記マスクパターン内の隣接カラムのドットが少なくとも非連続となるような前記マスクパターンを生成する。
【0018】
また、好ましくは、前記生成手段は、複数の記録モードに対応した複数のマスクパターンを生成するためのマスクパターン制御情報に基いて、前記マスクパターンを生成する。
【0019】
また、好ましくは、前記マスクパターン制御情報は、少なくとも補間関係となるマスクパターンに対応する前記記録ヘッドの記録素子の副走査方向の位置情報を含む。
【0020】
また、好ましくは、記録モードに応じて、前記副走査量と前記マスクパターンを変更する変更手段と
を更に備える。
【0021】
また、好ましくは、当該記録装置を制御するCPUと、前記CPUのローカルバスに接続されたメモリを更に備え、
前記生成手段は、前記マスクパターンを生成するマスクパターン生成プログラムを前記メモリ上にロードして実行して、前記マスクパターンを生成する。
【0022】
また、好ましくは、前記副走査量に対応する前記記録ヘッドの記録素子数は、2n+1個である。
【0023】
また、好ましくは、前記記録手段は、前記マスクパターンを用いて記録制御するための記録制御情報に基づいて、前記画像データと該マスクパターンを用いて画像を記録し、前記記録制御情報は、少なくとも前記マスクパターンの面数、カラム数、前記主走査毎の該マスクパターンのカラム読出位置更新量とを含む。
【0026】
上記の目的を達成するための本発明による記録装置の制御方法は以下の構成を備える。即ち、
複数の記録素子を所定解像度で所定方向に配列した記録ヘッドを記録媒体上の所定領域に対して、前記所定解像度とは異なる駆動分解能で駆動する搬送手段を用いて、前記所定解像度および前記駆動分解能に応じて定まる、複数の異なる副走査量により複数回の前記記録媒体の副走査および複数回の主走査を行って、最終的に記録媒体に形成する画像の間引き画像を補完的に記録することにより、記録媒体へ前記画像を形成する記録装置の制御方法であって、
前記複数回の記録媒体の副走査それぞれに対応する前記記録ヘッドの記録素子数に応じて、1カラム分のパターンとして、前記副走査方向に前記複数回分のパターンを生成し、これを所定カラム数分繰り返すことでマスクパターンを生成する生成工程と、
前記生成工程で生成されたマスクパターンを記憶媒体に記憶する記憶工程と、
主走査方向の1カラム分の記録タイミング信号毎に、画像データと前記記憶媒体に記憶されたマスクパターンのうち、前記記録タイミング信号に対応した前記パターンを用いて前記間引き画像を記録する記録工程と
を備える。
【0027】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
複数の記録素子を所定解像度で所定方向に配列した記録ヘッドを記録媒体上の所定領域に対して、前記所定解像度とは異なる駆動分解能で駆動する搬送手段を用いて、前記所定解像度および前記駆動分解能に応じて定まる、複数の異なる副走査量により複数回の前記記録媒体の副走査および複数回の主走査を行って、最終的に記録媒体に形成する画像の間引き画像を補完的に記録することにより、記録媒体へ前記画像を形成する記録装置の制御をコンピュータに機能させるためのプログラムであって、
前記複数回の記録媒体の副走査それぞれに対応する前記記録ヘッドの記録素子数に応じて、1カラム分のパターンとして、前記副走査方向に前記複数回分のパターンを生成し、これを所定カラム数分繰り返すことでマスクパターンを生成する生成工程と、
前記生成工程で生成されたマスクパターンを記憶媒体に記憶する記憶工程と、
主走査方向の1カラム分の記録タイミング信号毎に、画像データと前記記憶媒体に記憶されたマスクパターンのうち、前記記録タイミング信号に対応した前記パターンを用いて前記間引き画像を記録する記録工程と
をコンピュータに機能させる。
【0028】
【発明の実施の形態】
以下、図面を参照して、本発明に係る一実施形態を詳細に説明する。
【0029】
尚、本実施形態では、画像形成装置と、この画像形成装置に画像記録用のデータを送信する上位装置とが接続された画像記録システムにおいて、上位装置と画像形成装置との間でデータの送受信を行なうことのできる画像記録システムを例にとって説明する。
【0030】
また、以下の説明では、上位装置としてはホストコンピュータを、画像形成装置としてはインクジェット方式の記録ヘッドを搭載したインクジェットプリンタを用いて説明するが、本発明の範囲を記載例に限定する趣旨のものではない。
[画像記録システムの構成]
図1は本発明の実施形態に係る画像記録システムの構成を示すブロック図である。
【0031】
図1に示すように、画像記録システムは、ホストコンピュータ500とインクジェットプリンタ100とが接続されて構成される。
【0032】
ホストコンピュータ500において、501はプリンタドライバであり、502はステータスモニタであり、それぞれソフトウェアの形式で記憶されている。
【0033】
尚、プリンタドライバ501、ステータスモニタ502は、ホストコンピュータ500に装着されたROM(不図示)等の記憶媒体に記憶されたものでもよい。
【0034】
インクジェットプリンタ100は、後述する図3のブロック図に示す制御回路を有している。
【0035】
ホストコンピュータ500とインクジェットプリンタ100とは、例えば、高速シリアル通信のひとつであるUSBインターフェースを用いてケーブル503、504を介して接続されている。
【0036】
尚、この接続は、USBインターフェースを用いるケーブル503、504に限ることはなく、双方向通信可能であれば、どのようなものでも使用できる。例えば、パラレルインターフェースのIEEE1284、高速シリアルインターフェースのIEEE1394、赤外線インターフェース、ブルーツゥースまたはIEEE802.11b等の無線通信を用いて接続することも可能である。
【0037】
ユーザが所望の文書や画像をインクジェットプリンタ100を用いて記録するときには、まず、ホストコンピュータ500上で所望の文書や画像の記録を指示する操作を行う。
【0038】
これにより、プリンタドライバ501は、所望の文書や画像の元データから色処理・ハーフトーニング等の画像処理を行うことにより記録データを生成する。この記録データには、ユーザから選択指示された記録媒体種類の情報や記録品位の選択情報、また、記録データをモノクロ、若しくはカラーで記録するかを示すモノクロ/カラー識別情報等を指示する記録モード設定コマンドを付加してインクジェットプリンタ100に送信する。
【0039】
これに対し、インクジェットプリンタ100は、受信した記録データに基づいて紙などの記録媒体に画像を出力することにより、ユーザは所望する文書や画像を得ることができるように構成されている。インクジェットプリンタ100は、記録データ中の記録モード設定コマンドにより指定されたモノクロ/カラー識別情報と記録媒体と記録品位の組合せに応じて、指定された記録媒体に対して指定された記録品位の画像を出力するように最適な記録制御をすべく、記録方向や記録解像度や記録に際するマルチパス数等を決めるようになっている。
【0040】
また、ステータスモニタ502は記録中や所定の操作により起動され、接続されているインクジェットプリンタ100から、ステータス情報を受け取り、そのステータス情報からプリンタ100の状態を解析し、必要に応じて、ホストコンピュータ500の操作画面などにその内容を表示することができる。
[インクジェットプリンタの構成]
図2は本発明の実施形態に係るインクジェットプリンタ100の構成を示す外観斜視図である。
【0041】
図2において、インクジェットプリンタ100の給紙位置に挿入された記録シート等の記録媒体105は、搬送ローラ106の回転によって矢印P方向に搬送され、記録ヘッド104によるプリント可能領域へ搬送される。
【0042】
このプリント可能領域における記録媒体105の下部にはプラテン107が設置されている。記録ヘッド104はキャリッジ101に搭載され、キャリッジ101は2つのガイド軸であるガイド軸102とガイド軸103によって、それらの軸方向に沿う方向に往復移動が可能である。すなわち、記録ヘッド104は、プリント領域を主走査方向(図2の矢印で示すQ1、Q2方向)に往復走査する。
【0043】
記録ヘッド104は、複数色のインクを吐出可能な吐出口と、複数色のインクを収容可能なインクタンクを含み、記録ヘッド104のインク吐出口は下側を向いている。
【0044】
インクジェットプリンタ100における複数のインクの色は、例えば、Bk(黒)、C(シアン)、M(マゼンタ)、Y(イエロー)の4色である。本実施形態において、プリントヘッド104にはブラックインクを吐出するための記録素子として320ノズル、また、イエロー、マゼンタ、シアンのカラー色インクを吐出するための記録素子としてそれぞれ128ノズルで構成されている。また、これらのノズルは各色ごとに副走査方向に(図中の矢印P方向)600dpiの解像度で配置されている。本発明を適用する上で、記録素子の配列解像度は、600dpi以外に、例えば、300dpiでも、1200dpiなどその他の解像度でもよい。また、インク色により記録素子の配列解像度が異なっていても良く、例えば、ブラックインクを吐出するための記録素子の配列解像度が300dpi、カラー色インクを吐出するための記録素子の配列解像度が600dpiであってもよい。
【0045】
108はセンサ/SW(スイッチ)部407と、LEDや液晶表示素子等を有する表示部409とを備える操作パネルである。センサ/SW部407はインクジェットプリンタ100の電源のオン/オフや各種記録モードの設定等に使用され、表示部409はインクジェットプリンタ100の状態を表示するのに使用される。
[インクジェットプリンタの制御構成]
図3は本発明の実施形態に係るインクジェットプリンタ100の制御構成を示すブロック図である。
【0046】
ホストコンピュータ500から送信されたプリント対象の文字や画像を含む記録データがインクジェットプリンタ100で受信されると、その受信した記録データは受信バッファ401に入力されて保持される。
【0047】
受信バッファ401に保持された記録データは、CPU402の管理下でRAM403に転送されて一次的に記憶される。RAM403は、所謂、DRAMであり、CPU402の外部バスに接続されており、CPU402からの読出/書込のアクセス時には数クロックのウエイト時間を要する。
【0048】
ROM411には、本実施形態で実行される処理を含む各種制御に必要なプログラムやデータが記憶されている。そして、このプログラムをCPU402が実行することで、ホストコンピュータ500からインクジェットプリンタ100に送信された記録データを記録したり、インクジェットプリンタ100の動作状態を知らせるステータス情報等がインクジェットプリンタ100からホストコンピュータ500に送信される。
【0049】
また、ROM411は、CPU402により実行される制御プログラムや各種初期設定パラメータ等も記憶している。ROM411は、CPU402の外部バスに接続されており、CPU402からの読出のアクセス時には数クロックのウエイト時間を要する。
【0050】
また、SRAM430は、所謂、スタティックメモリであり、CPU402のローカルバスに接続されていて、CPU402からの読出/書込のアクセス時にはウエイトすることがない(0wait)、高速でアクセス可能な記憶媒体である。このようなSRAM430は、通常、半導体製法上、シリコンチップの占有面積が広く必要なので、必要最小限のメモリ容量に止めるようにしてコストアップなどの要因を極力抑制している。本実施形態では、SRAM430は8KByte、RAM403は2MByteとしているが、このメモリ容量はかかる装置の性能と価格などにより最適な量に決めれば良く、それらは設計事項である。SRAM430は、メモリ容量が少ないため、特に高速処理が要求される制御だけ、例えば、プリンタエンジン405のキャリッジ動作制御や、マスクパターン生成制御などに限定して利用している。
【0051】
エンジンコントロール部404は、CPU402からの指令により、キャリッジモータやラインフィードモータ等の機械部を有するプリンタエンジン405を駆動制御する。本実施形態におけるキャリッジモータは、キャリッジ101に搭載されてプリントヘッド104を主走査方向に最大25インチ/secの走査速度で移動制御できる。また、フィードモータは搬送ローラ106を最小1/400インチの回転駆動させ、記録媒体105を400dpiの駆動分解能で副走査方向に搬送制御できる搬送系である。
【0052】
この搬送系の副走査方向の駆動分解能は、400dpiに限定されるものではなく、例えば、記録素子の副走査方向の解像度が600dpiのとき、搬送系の副走査方向の駆動分解能を720dpiに設定して、1回のプリントヘッド104の主走査方向への記録動作に対し、この搬送系によって記録媒体105を3/720インチ若しくは6n+3/720インチ搬送させてマルチパス記録を行うことで、副走査方向の記録解像度を1200dpiとすることもできる。また、1回のプリントヘッド104の主走査方向への記録動作に対し、搬送系によって記録媒体105を6n/720インチ搬送させてシングルパス記録/マルチパス記録を行うことで、副走査方向の記録解像度を600dpiとすることもできる。
【0053】
NVRAM420は不揮発性メモリであり、インクジェットプリンタ100の電源が切断されるときにも記憶しておくべき設定情報を記憶するメモリである。
【0054】
CPU402は、インクジェットプリンタ100の電源投入時などの初期化タイミングで、NVRAM420に記憶されている設定情報を読み出し、その内容をRAM403に格納して、電源切断時や所定の更新タイミングで設定情報のNVRAM420への書込/更新を行う。本実施形態では、NVRAM420として、EEPROM(電気的消去可能ROM)を採用しているが、不揮発性メモリであればどのようなものでも使用することができる。例えば、電池バックアップ付メモリやフラッシュメモリなどでもよい。
【0055】
センサ/SWコントロール部406は、各種センサや操作パネル108のSW(スイッチ、カバー開閉検知センサ)等を含むセンサ/SW部407からの信号を受信して、受信した信号をCPU402に送信する。
【0056】
表示コントロール部408は、CPU402からの指令により、操作パネル108の表示部409の表示制御を行う。プリントヘッドコントロール部410は、CPU402からの指令によりプリントヘッド104を駆動制御する。また、プリントヘッドコントロール部410は、プリントヘッド104の状態を監視し、例えば、プリントヘッド104の温度を検出して、その温度情報をCPU402に送信する。そして、CPU402は、その温度情報に基づいてプリントヘッド104の駆動制御を実行している。
【0057】
プリントヘッド104は、ブラック・インクタンクと、イエロー色・マゼンタ色・シアン色を3色1体化させたカラー・インクタンクとの2種類のインクタンクを有し、それぞれが着脱可能になっている。また、本発明を適用する上で、インクタンクの種類は、例えば、黒インクのみの1種類の場合でも、あるいは、4色もしくは6色などに複数にインクタンクに分離した構成など、インク色と物理的なインクタンクの組合せはどのようであっても一向に構わない。
【0058】
インクジェットプリンタ100の筐体にはカバー(不図示)があり、開閉状態を操作パネル108より取得し、カバーが開けられときは記録中ならカバーが閉じられるまで記録を一時停止させる。また、カバーが開けられときが、記録中ではなく、かつプリンタ機内に紙づまりなどの問題が発生していないときには記録ヘッド104を走査方向の中央付近に移動させて、ユーザがインクタンクを交換できるような構成となっている。
[プリントヘッドコントロール部410の詳細構成]
図4は本発明の実施形態に係るプリントヘッドコントロール部410の詳細構成を示すブロック図である。
【0059】
CPU402より記録指示がなされると、所定の記録タイミングごとに画像データ読出制御回路700は副走査方向の画像データを、RAM403の画像データ領域403a(図5)から所定量読み出す。このとき、同時に、マスクデータ読出制御回路710は、後述する記録制御処理によって記録指示直前に設定されるパラメータレジスタMD_TOP730、MD_LEN740、MD_RP750の内容に従って、マスクデータをRAM403のマスクデータ領域403bから所定量読み出す。
【0060】
次に、出力データ生成回路720は前者の画像データと後者のマスクデータの論理積(AND)演算を行って画像データを間引きし、プリントヘッド104の記録タイミング信号を発生させて、プリントヘッド104よりその間引いた画像データに基づく画像の記録を行なう。
【0061】
パラメータレジスタMD_TOP730、MD_LEN740、MD_RP750は、CPU402より読み書き可能なレジスタで構成されている。MD_TOP730は対象となるマスクデータ群の先頭アドレスをRAM403上の物理アドレスとして保持する。MD_LEN740はそのマスクデータ群のデータ長を保持する。MD_RP750は記録指示時の最初のマスクデータの読出開始位置を示し、かつMD_TOP730に設定されているマスクデータ群の先頭アドレスから見た相対値(オフセットアドレス値)を保持する。
【0062】
つまり、記録指示がなされると記録タイミングごとにマスクデータ読出制御回路710はMD_TOP740にMD_RP750の内容を加算して読出アドレスを求め、RAM403上の所望のマスクデータを1カラム量読み出す。
【0063】
そして、次のカラムのマスクデータを読み出せるように、MD_RP750の内容を更新する。即ち、主走査方向が、例えば、図2の矢印Q2方向であればMD_RP750の値に所定量Xを加算(MD_RP=MD_RP+X)する。このとき、MD_RP750の値が、MD_LEN740の値以上の場合は、MD_RP750に0を設定して、記録のための主走査方向のカラム方向にマスクデータをリング状(巡回的)に読み出せるようにしている。
【0064】
また、主走査方向が前者と反対(図2の矢印Q1方向)であれば、MD_RP750の内容から所定量Xを減算(MD_RP=MD_RP−X)する。このとき、MD_RP750の値が0以下の場合は、MD_RP750にMD_LEN750の値から所定量Xを減算した値を設定(MD_RP=MD_RP−X)して、カラム方向にマスクデータをリング状に読み出せるようにしている。
【0065】
尚、上記説明した回路構成をインク色の数分、あるいは記録素子のノズル列ごとに個別に用意してその各々を別々に制御させてインク色別、あるいはノズル列別に間引き記録制御するように構成することもできる。
[メモリの構成]
図5は本発明の実施形態に係るRAM403、ROM411、SRAM430のメモリ構成を示すブロック図である。
【0066】
RAM403には、ホストコンピュータ500から記録指示された画像データを記録データに変換したものを一時格納する画像データ領域403aと、後述するマスクバッファとして機能し、マルチパス記録に用いるマスクパターンを格納するマスクデータ領域403bと、受信バッファ401を介して受信した画像データの一時格納領域やシステム制御およびその他の各種制御プログラムなどで使用する作業領域などを含むその他の領域403cが構成されている。
【0067】
ROM411には、CPU402が読み出し実行するプログラムやデータを記憶してあり、後述の記録制御処理のプログラムを記憶する記録制御部411a、後述のマスクパターン生成処理の基本処理部分のプログラムを記憶するマスク処理基本部411b、ホストコンピュータ500より指示された記録モードに応じた後述のマスクパターン生成プログラム群を記憶するマスク処理生成部1〜N(411c−1〜411c−N)、マスクパターン生成処理、記録制御等に必要な制御データを記憶するマスク処理データ部411d、その他のシステム制御やエンジン制御用などのプログラムやデータを記憶するその他の処理/データ部411eが構成されている。
【0068】
また、マスク処理データ部411dには、乱数値テーブル(乱数値配列データ)が記憶されている。この乱数値テーブルは、最大16パスのマルチパス記録に対応できるようになっている。具体的には、例えば、4ビット(0000(B:2進数)〜1111(b))で表現される0〜15までの数値を4ビット×64K(32KByte)の領域に対して、予めパーソナルコンピュータ上などで乱数器を使って上記4ビットの数値をランダムに配置させた乱数値配列で構成されている。乱数の生成手法は、例えば、特開平10−235852号公報に開示されているものと同等であるので、ここでは詳述しない。
【0069】
尚、特開平10−235852号公報では、記録装置で動的に乱数値配列を生成しているが、本実施形態ではマスクパターン生成時の処理時間を少しでも短縮させ、かつコストを抑制する目的で、予め乱数値配列データをROM411に記憶する構成を採用している。また、例えば、CPU402の処理能力が充分高い場合には乱数発生関数などを利用したり、あるいは乱数発生回路などを付加したり、別の手段で乱数を発生させても良い。
【0070】
SRAM430には、マスクパターン生成処理で高速に処理を行なうためのマスク処理作業領域430aと、記録モードに応じたマスクパターン生成プログラムを動的にロードして実行させるためのマスク処理領域430bと、その他キャリッジモータ制御などの、特にリアルタイム性を重視する制御用のプログラムやデータを格納するその他の処理/作業領域430cが構成されている。
【0071】
このようにSRAM430を利用することで、特に、RISC(Reduced Instruction Set of Computer)形式CPUを採用した構成では著しい処理速度の向上が期待できる。また、近年のRISC形式CPUにはSRAMを内蔵したものが安価に入手可能であるので、SRAM付CPU構成を採用したからといえ必ずしもコストアップの要因にならないことが多い。
[マスク処理データの構成]
本実施形態では、ホストコンピュータ500から指示された記録モード(記録媒体種類、記録品位、モノクロ/カラー記録)に応じて所望の記録品位になるように、マルチパス記録出力をおこなうために使用するマスクパターンの種類を示すマスク番号を定義している。
【0072】
後述の記録制御は、記録モードの種類に応じてマスク番号を対応させ、そのマスク番号を後述のマスク処理生成部に与えることで所望のマスクパターンを生成する。つまり、マスク番号に基いて、以下に説明する制御テーブルを参照することでマスクパターンを生成し、記録制御で必要なマスクパターン情報を出力するようになっている。
【0073】
図6〜図8は、図5で説明したマスク処理データ部411dに格納してある制御データの構成を示す図である。
【0074】
本実施形態では、このような制御データをROM411に格納記憶させるように構成したが、例えば、RAM403などの他のメモリに格納するようにしても良い。また、以下で説明するそれぞれのパラメータの格納順序はどのような順序/構成でもかまわない。
【0075】
まず、図6の制御テーブル600は、マスク番号(#00〜#N)順にそれぞれのマスク番号に対応した第1制御データ1(610)を配置している。第1制御データ1(610)には、マスク番号に対応したマスクパターンデータ総計量のバイト数を記憶するCLR_SIZE611、マスク番号に対応するマスクパターン生成プログラムのバイト数を記憶するFUNC_SIZE612、そのマスクパターン生成プログラムのROM411上の格納アドレスを記憶するFUNC_ADR613、マスク番号に対応する第2制御データ(図7のデータ2(620))の格納アドレスを記憶するTBL_ADR614、マスク番号に対応するマスク基本情報(図7のデータ3(630))の格納アドレスを記憶するRET_ADR615が構成されている。
【0076】
次に、図7の第2制御データ2(620)には、乱数値テーブルの格納アドレスを記憶するRND_ADR621、マスク基本情報であるデータ3(630)の格納アドレスを記憶するBINF_ADR622、マスク詳細情報であるデータ4(650)の格納アドレスを記憶するDINF_ADR623が構成されている。
【0077】
本実施形態では、マスクパターンの種類に応じて乱数値テーブルの読出開始アドレスを可変にできるようにするためにRND_ADR621を設けているが、例えば、乱数数発生器や乱数発生関数など他の乱数発生手段を用いる場合には必要ない。
【0078】
マスク基本情報であるデータ3(630)には、マスクバッファ面数を記憶するBUF_NUM631、マスクバッファの1カラムの高さのバイト数を記憶するBUF_HEIGHT632、マスクバッファ1面のカラム数(幅)を記憶するBUF_WIDTH633、記録パス毎に進めるマスクバッファの読出開始オフセットカラム数を記憶するSCAN_OFFSET634、マスクバッファ1面あたりの繰返し利用回数を記憶するREPEAT_NUM635、マスクデータ格納開始アドレス(後述のMSK_TOPで指定されたアドレス)から見たマスクバッファの開始オフセットアドレスを記憶するBUF_OFFSET636、マスクバッファ1面量のバイト数を記憶するBUF_SIZE637、複数面のマスクバッファ構成時のマスクバッファ面間距離のオフセット量をバイト数で表現した値を記憶するBUF_NEXT638が構成されている。
【0079】
尚、本実施形態では、マスクバッファ1面のサイズを計算する際に少しでも処理速度を向上させる目的で、BUF_HEIGHT632とBUF_WIDTH633との積と同値を記憶するBUF_SIZE637を設けたが、例えば、処理速度が充分速い構成であれば特に必要はない。また、BUF_NUM631〜BUF_NEXT638のいずれか若しくは、全ての値がマスク番号によらず常に固定な場合にはそれらのパラメータを特に記憶しておく必要はなく、例えば、パラメータのいずれか、若しくは全てのパラメータを定数などに変更することは容易である。
【0080】
図8のマスク詳細情報であるデータ4(650)は、指定されたマルチパス数に応じた1パス中(1バンド中)の補間ドット数に対応させるようになっている。このマスク詳細情報であるデータ4(650)、及びデータ(630)を複数持つことで多様な複数のマスクパターンを生成することができる。
【0081】
本実施形態では、複数のマスクパターンを生成できるようになっていて、例えば、1パス千鳥間引き(50%デューティ)のマスクパターン、2パス用マスクパターン、3パス用マスクパターン、4パス用マスクパターン、6パス用マスクパターン、8パス用マスクパターン、12パス用マスクパターン、16パス用マスクパターンなどの複数のマスクパターンを記録モードに応じて生成することができる。
【0082】
ここで、データ4(660)の詳細を説明する前にマスクパターンとマスクバッファと記録制御におけるマスクパターンの使用方法について説明するものである。
【0083】
図8〜図11は4パス記録、つまり、4ドット補間で構成され、更に副走査方向の補間ドット数を2種類用意して交互に切り換えて記録することで、副走査方向の濃度ムラやスジを軽減させるために、異なる2面のマスクパターンを交互に切り換えてマルチパス記録するときの一実施形態を説明する。
【0084】
まず、第1面の第1マスクパターンは図9Aに示した形態のマスクバッファで構成され、第2面の第2マスクパターンは図9Bに示した形態のマスクバッファで構成されている。それぞれのマスクバッファは、記録に使われるプリントヘッド104の副走査方向の記録素子数(ドット数)をビット数に換算した量を1カラムのマスクパターン量として、必要幅のカラム数を確保した領域として構成されている。
【0085】
本実施形態では、128ノズルのプリントヘッド104を用いているので、16バイト(128ビット)を1カラムとして896カラムのマスクバッファ領域を2面分用意している。それぞれのマスクバッファは、図中のadr1およびadr2より開始され、図中の上方向よりマスクバッファ上のビット位置D0、D1、…、D15の順に割当れられていて、また、図中の上側から下方向に向かい各ビットは順にプリントヘッド104のノズル番号0からノズル番号127に対応している。これらのマスクパターンは、記録時に図10、図11ように組み合わせてマルチパス記録を行なう。
【0086】
まず、図11のバンド1の第1パス目を記録するときに、A1部分の高さだけ記録媒体を搬送して、図9Aの第1マスクパターンで間引きしながら画像を記録する。その際に、第1マスクパターンと主走査方向の関係は図10に示したような概念である。つまり、第1マスクパタ−ンの最初の0カラムを装置の記録開始位置(例えば、左側の記録限界位置)から対応させ、マスクパターンの最終カラムの次は、同一のマスクバッファの0カラム目のマスクパターンを再び読み出せるように、即ち、カラム方向(主走査方向)にリング状に対応させるようにする。
【0087】
記録時の主走査方向が順方向(左から右へ移動)である場合は、ドットの左打出位置のカラムアドレスをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを順方向(図中左から右へ)で読み出すように設定する。また、逆方向(右から左方向)である場合は、ドットの右打出位置のカラムアドレスをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを逆方向(図中右から左へ)で読み出すように設定する。
【0088】
続いて、「バンド1の第1パス目」の記録が完了すると、図11のA2部分の高さだけ記録媒体を搬送して、図9Bの第2マスクパターンで間引きしながら画像を記録することで、「バンド1の第2パス目」・「バンド2の第1パス目」の記録を行う。このとき、マスクパターンの読出カラム位置は記録時の主走査方向が順方向(左から右へ移動)である場合は、ドットの左打出位置のカラムアドレスにオフセット量SCAN_OFFSET634を加算したものをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを順方向(図中左から右へ)で読み出すように設定する。また、逆方向(右から左方向)である場合は、ドットの右打出位置のカラムアドレスにオフセット量SCAN_OFFSET634を加算したものをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを逆方向(図中右から左へ)で読み出すように設定する。
【0089】
続いて、「バンド1の第2パス目」・「バンド2の第1パス目」の記録が完了すると、図11のA1部分の高さだけ記録媒体を搬送して、図9Aの第1マスクパターンで間引きしながら画像を記録することで、「バンド1の第3パス目」・「バンド2の第2パス目」・「バンド3の第1パス目」の記録を行う。このとき、マスクパターンの読出カラム位置は記録時の主走査方向が順方向(左から右へ移動)である場合は、ドットの左打出位置のカラムアドレスにオフセット量SCAN_OFFSET634の2倍を加算したものをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを順方向(図中左から右へ)で読み出すように設定する。また、逆方向(右から左方向)である場合は、ドットの右打出位置のカラムアドレスにオフセット量SCAN_OFFSET634の2倍を加算したものをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを逆方向(図中右から左へ)で読み出すように設定する。
【0090】
続いて、「バンド1の第3パス目」・「バンド2の第2パス目」・「バンド3の第1パス目」の記録が完了すると、図11のA2部分の高さだけ記録媒体を搬送して、図9Bの第2マスクパターンで間引きしながら画像を記録することで、「バンド1の第4パス目」・「バンド2の第3パス目」・「バンド3の第2パス目」・「バンド3の次のバンドの第1パス目」の記録を行う。このとき、マスクパターンの読出カラム位置は記録時の主走査方向が順方向(左から右へ移動)である場合は、ドットの左打出位置のカラムアドレスにオフセット量SCAN_OFFSET634の3倍を加算したものをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを順方向(図中左から右へ)読み出すように設定する。また、逆方向(右から左方向)である場合は、ドットの右打出位置のカラムアドレスにオフセット量SCAN_OFFSET634の3倍を加算したものをマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンを逆方向(図中右から左へ)読み出すように設定する。
【0091】
以上のように、主走査ごとにマスクパターンを切り換え、また、オフセット量SCAN_OFFSET634にパス回数−1の値を掛けた量を加えてマスクパターン幅BUF_WIDTHで割った余りのカラム数の位置からマスクパターンの読出位置を求めて記録を繰返すことにより所望の画像記録が所定の記録品位で出力できる。このように、主走査ごとにマスクパターンの読出カラム位置を変更することで、異なる主走査間の副走査方向の同一カラム位置のマスクパターンを変更する。これにより、副走査方向のパターン間同調などによる記録品位の劣化を防止することができる。
【0092】
以上説明したマスクパターンと図8のマスク詳細情報であるデータ4(650)及びデータ4詳細(660)との関係を説明する。
【0093】
マスク詳細情報であるデータ4(650)には、生成すべきマスクパターンの位置情報、補間関係などの情報がマスクパターン生成順序で記憶されていて、例えば、図11のようにマスクパターンの補完領域A1、B1、C1、D1、続いて補完領域A2、B2、C2、D2の順序にパラメータを記憶している。この領域A1〜D2はデータ4詳細(660)に示すパラメータをそれぞれ保持している。
【0094】
A1のパラメータには、図9AのA1部分のビット高さbh1をBAND_HEIGHT661に、マスクパターン生成開始位置bp1をBAND_POS662に、第1マスクバッファ開始位置adr1をBUF_TOP663に、カラム方向オフセット量ho1(0:「ゼロ値」)をHPOS664に記憶している。
【0095】
B1のパラメータには、図9BのB1部分のビット高さbh6をBAND_HEIGHT661に、マスクパターン生成開始位置bp6をBAND_POS662に、第2マスクバッファ開始位置adr2をBUF_TOP663に、カラム方向オフセット量ho6(オフセット量SCAN_OFFSET634の値)をHPOS664に記憶している。
【0096】
C1のパラメータには、図9AのC1部分のビット高さbh3をBAND_HEIGHT661に、マスクパターン生成開始位置bp3をBAND_POS662に、第1マスクバッファ開始位置adr1をBUF_TOP663に、カラム方向オフセット量ho3(オフセット量SCAN_OFFSET634の2倍値)をHPOS664に記憶している。
【0097】
D1のパラメータには、図9BのD1部分のビット高さbh8をBAND_HEIGHT661に、マスクパターン生成開始位置bp8をBAND_POS662に、第2マスクバッファ開始位置adr2をBUF_TOP663に、カラム方向オフセット量ho8(オフセット量SCAN_OFFSET634の3倍値)をHPOS664に記憶している。
【0098】
以下、同様にして、A2のパラメータにはビット高さbh5をBAND_HEIGHT661に、マスクパターン生成開始位置bp5をBAND_POS662に、第2マスクバッファ開始位置adr2をBUF_TOP663に、カラム方向オフセット量ho5をHPOS664に記憶している。
【0099】
B2のパラメータには、ビット高さbh2をBAND_HEIGHT661に、マスクパターン生成開始位置bp2をBAND_POS662に、第1マスクバッファ開始位置adr1をBUF_TOP663に、カラム方向オフセット量ho2(オフセット量SCAN_OFFSET634の値)をHPOS664に記憶している。
【0100】
C2のパラメータには、ビット高さbh7をBAND_HEIGHT661に、マスクパターン生成開始位置bp7をBAND_POS662に、第2マスクバッファ開始位置adr2をBUF_TOP663に、カラム方向オフセット量ho7(オフセット量SCAN_OFFSET634の2倍値)をHPOS664に記憶している。
【0101】
D2のパラメータには、ビット高さbh4をBAND_HEIGHT661に、マスクパターン生成開始位置bp4をBAND_POS662に、第1マスクバッファ開始位置adr1をBUF_TOP663に、カラム方向オフセット量ho4(オフセット量SCAN_OFFSET634の3倍値)をHPOS664に記憶している。
【0102】
尚、補間関係となるマスクパターンのビット高さbh1とbh6とbh3とbh8は同値、またbh5とbh2とbh7とbh4は同値である。本実施形態では、上述のように一色あたりの副走査方向の記録素子数が128個で600dpiの配列解像度かつ搬送系の駆動分解能が400dpiであるので、副走査方向に600dpiの4パス記録させるためには、各補完パターンのドット数を3nにする必要があるため、前者のビット高さを33ビット、後者のビット高さを27ビットで構成するようにしている。
[マスクパターン生成方法]
次に、図12A〜12Bを参照して本実施形態のマスクパターン生成方法を説明する。
【0103】
尚、以下の説明では、話を簡単にするために、1カラムが3ビット構成で4カラムかつ4面(3ビット×4ビット×4面)のマスクパターン生成方法を一例として説明するが、この他にもNビット×Mビット×L面のマスクパターンを生成することはもちろん可能である。
【0104】
まず、図12Aの数列は、目的とする3×4ビット、つまり、12ビットの4面補間のマスクパターンを生成させるための12個の乱数値配列データを表している。4面補間、つまり、4ドット補間するためには少なくとも4つ乱数値をランダムに発生させればよく、発生した乱数値により4面のいづれかひとつのビットを1に設定すれば良い。
【0105】
例えば、0〜3の4つの数値が乱数的に発生したとすると、0の時は第1面パターンPT1の注目ビットを1に、1の時は第2面パターンPT2の注目ビットを1に、2の時は第3面パターンPT3の注目ビットを1に、3の時は第4面パターンPT4の注目ビットを1にするようにする。
【0106】
この方法で、図12Aの乱数値配列データに基いて生成したマスクパターンを図12Bに示す。尚、図中上側に付したA〜Dはカラム番号を、また、左側に付した1〜3の数字は行番号を表している。これからの説明で、第nパターンPTnのAカラムの1列目を、便宜上、PTn[A,1]と表現する。
【0107】
まず、PT1〜PT4のすべてのビットを0クリアしておく。最初の乱数は0であるので、PT1[A,1]を1にする。続いて、次の乱数は1であるので、PT2[A,2]を1にする。続いて、次の乱数は3であるので、PT4[A,3]を1にする。
【0108】
続いて、次の乱数は0であるので、PT1[B,1]を1にする。続いて、次の乱数は2であるので、PT3[B,2]を1にする。続いて、次の乱数は0であるので、PT1[B,3]を1にする。
【0109】
続いて、次の乱数は1であるので、PT2[C,1]を1にする。続いて、次の乱数は3であるので、PT4[C,2]を1にする。続いて、次の乱数は2であるので、PT3[C,3]を1にする。
【0110】
続いて、次の乱数は2であるので、PT3[D,1]を1にする。続いて、次の乱数は1であるので、PT2[D,2]を1にする。最後の乱数は3であるので、PT4[D,3]を1にする。
【0111】
以上のようにして、マスクパターン生成が完了する。
[マスクパターンの隣接ドット禁止制御方法]
本実施形態のプリントヘッド104は、主走査方向に記録解像度1200dpiで記録することができる。また、プリントヘッド104を主走査方向に走査速度25インチ/secで移動させることができる。この条件であると、プリントヘッド104の同一記録素子の駆動周波数は最大約30KHz(=1/(1/25/1200))必要になる。記録素子の最大駆動周波数を高くするのは技術的にも困難な課題であり、また、高くできたとしても高精度に部品などの特性を管理する必要が生じて結果としてコストアップする要因にもなる。そこで、このような場合には、千鳥間引き等で同一記録素子の駆動が非連続になるようにする必要がある。
【0112】
つまり、主走査方向の記録解像度が1200dpiである場合に、図12AのマスクパターンPT1のPT1[A,1]、PT1[B,1]のようなマスクパターンを使用すると連続して記録素子駆動が発生してしまう場合が生じてしまう。記録解像度が600dpiあるいは上記走査速度が1/2であれば問題ないが、そのような方法を採用すると記録品位が低下したり、記録出力が時間が遅くなったりする問題がある。
【0113】
そこで、図12Cに示すような隣接ドット禁止演算で、図12Dのように、図12Bのマスクパターンを補正することにより、同一記録素子を必ず非連続に駆動させるようなマスクパターンを生成する。このようにすれば、走査速度25インチ/secで1200dpiの記録解像度の画像を高品位に形成することができる。
【0114】
但し、図12Cに示す隣接ドット禁止演算でなくても、マスクパターン生成中の隣接ドット禁止演算は可能である。例えば、マスクビットに1を設定しようとするたびに、そのビットに隣接する直前のビットが0であるかを判断し、隣接ビットが1の場合にはその他のパターンにビットを設定することができる。ところが、このようなビット判断とビット操作を行なうようにすると、マスクパターンを生成する時間が長くなってしまう問題がある。
【0115】
そこで、本実施形態では、図12Cに示すような隣接ドット禁止演算で、常に同じ時間で複数同一カラム中の複数ビットによる隣接ドットの記録を禁止するようにしている。図12C中の( )で囲まれた数字は、演算式とその演算順序を、また、下線付きの文字は演算子を表しており、ANDは論理積、ORは論理和、EORは排他論理和の演算子を表している。また、WKは汎用的なワーク領域あるいはワークレジスタである。
(A列のとき)
パターン生成対象カラムが最初のカラムの場合、つまり、この例でのA列のカラムのときには、隣接ドット禁止演算を以下の手順で行なう。まず、図12Aで説明した同様な手順で各パターンPT1〜PT4のA列の3ビットのパターンをそれぞれ作業レジスタに生成し、
(1)PT1用のパターンを最初のカラムパターン保存領域(若しくはレジスタ)PT1sに保存、
(2)PT1用のパターンを隣接カラムパターン保存領域(若しくはレジスタ)PT1pに保存、
(3)PT2用のパターンを最初のカラムパターン保存領域(若しくはレジスタ)PT2sに保存、
(4)PT2用のパターンを隣接カラムパターン保存領域(若しくはレジスタ)PT2pに保存、
(5)PT3用のパターンを最初のカラムパターン保存領域(若しくはレジスタ)PT3sに保存、
(6)PT3用のパターンを隣接カラムパターン保存領域(若しくはレジスタ)PT3pに保存、
(7)PT4用のパターンを最初のカラムパターン保存領域(若しくはレジスタ)PT4sに保存、
(8)PT4用のパターンを隣接カラムパターン保存領域(若しくはレジスタ)PT4pに保存して、最後にそれぞれのカラムパターンをPT1〜PT4のA列に書き込む。
(B列、C列のとき)
次に、パターン生成対象カラムが最初でも最後のカラムでない場合、つまり、この例でのB列、C列のカラムのときには、隣接ドット禁止演算を以下の手順で行なう。まず、図12Aで説明した同様な手順で各パターンPT1〜PT4のB列の3ビットのパターンをそれぞれ作業レジスタに生成し、
(1)WKにPT1用のパターンと隣接カラムパターンPT1pの論理積を保存、
(2)PT1用のパターンをWKとの排他的論理和演算結果に更新、この演算により図12DのPT1'[B,1]が1から0になる。
【0116】
(3)PT2用のパターンをWKとの論理和演算結果に更新、この演算により図12DのPT2'[B,1]が0から1になる。
【0117】
(4)WKにPT2用のパターンと隣接カラムパターンPT2pの論理積を保存、
(5)PT2用のパターンをWKとの排他的論理和演算の結果に更新、
(6)PT3用のパターンをWKとの論理和演算結果に更新、
(7)WKにPT3用のパターンと隣接カラムパターンPT3pの論理積を保存、
(8)PT3用のパターンをWKとの排他的論理和演算の結果に更新、
(9)PT4用のパターンをWKとの論理和演算の結果に更新、
(10)WKにPT4用のパターンと隣接カラムパターンPT4pの論理積を保存、
(11)PT4用のパターンをWKとの排他的論理和演算の結果に更新、
(12)PT1用のパターンをWKとの論理和演算結果に更新、
(13)から(16)でPT1〜PT4用のパターンを隣接カラムパターン保存領域(若しくはレジスタ)PT1p〜PT4pに保存して、最後にそれぞれのカラムパターンをPT1〜PT4のB列に書き込む。同様にして、C列も処理する。その際に、演算(5)で図12DのPT2'[C,1]が1から0になり、演算(6)で図12DのPT3'[C,1]が0から1になる。
(D列のとき)
次に、パターン生成対象カラムが最後のカラムの場合、つまり、この例でのD列のカラムのときには、隣接ドット禁止演算を以下の手順で行なう。まず、図12Aで説明した同様な手順で各パターンPT1〜PT4のD列の3ビットのパターンをそれぞれ作業レジスタに生成し、
(1)WKにPT1用のパターンと隣接カラムパターンPT1pと最初のカラムパターンPT1sの論理和との論理積を保存、
(2)PT1用のパターンをWKとの排他的論理和演算結果に更新、
(3)PT2用のパターンをWKとの論理和演算結果に更新、
(4)WKにPT2用のパターンと隣接カラムパターンPT2pと最初のカラムパターンPT2sの論理和との論理積を保存、
(5)PT2用のパターンをWKとの排他的論理和演算結果に更新、
(6)PT3用のパターンをWKとの論理和演算結果に更新、
(7)WKにPT3用のパターンと隣接カラムパターンPT3pと最初のカラムパターンPT3sの論理和との論理積を保存、
(8)PT3用のパターンをWKとの排他的論理和演算結果に更新、この演算により図12DのPT3'[D,1]が1から0になる。
【0118】
(9)PT4用のパターンをWKとの論理和演算結果に更新、この演算により図12DのPT4'[D,1]が0から1になる。
【0119】
(10)WKにPT4用のパターンと隣接カラムパターンPT4pと最初のカラムパターンPT4sの論理和との論理積を保存、
(11)PT4用のパターンをWKとの排他的論理和演算結果に更新、この演算により図12DのPT4'[D,3]が1から0になる。
【0120】
(12)PT1用のパターンをWKとの論理和演算結果に更新、この演算により図12DのPT1'[D,3]が0から1になる。
【0121】
(13)WKにPT1用のパターンと隣接カラムパターンPT1pと最初のカラムパターンPT1sの論理和との論理積を保存、
(14)PT1用のパターンをWKとの排他的論理和演算結果に更新、
(15)PT2用のパターンをWKとの論理和演算結果に更新、
(16)WKにPT2用のパターンと隣接カラムパターンPT2pと最初のカラムパターンPT2sの論理和との論理積を保存、
(17)PT2用のパターンをWKとの排他的論理和演算結果に更新、
(18)PT3用のパターンをWKとの論理和演算結果に更新して、最後にそれぞれのカラムパターンをPT1〜PT4のD列に書き込む。
【0122】
このようにして、図12Bのパターンを図12Dのように補正することができる。
【0123】
本実施形態では、4ビット補間について述べたが、例えば、3ビット補間の場合は、以下のように変更すれば良い。
【0124】
つまり、A列の演算では(7)(8)の演算式が不要となり、B列、C列の演算では(9)〜(11)及び(16)の演算式が不要となり、D列の演算では(9)〜(11)及び(16)〜(18)の演算式が不要になるだけである。
【0125】
また、例えば、6ビット補間の場合は、A列の演算に(9)PT5s=PT5A、(10)PT5p=PT5A、(11)PT6s=PT6A、(12)PT6p=PT6Aを加え、B列、C列の演算の(11)の後に(11−2)PT5n=PT5n OR WK、(11−3)WK=PT5n AND PT5p、(11−4)PT5n=PT5n EOR WK、(11−5)PT6n=PT6n OR WK、(11−3)WK=PT6n AND PT6p、(11−4)PT6n=PT6n EOR WKと、(16)の後に(17)PT5p=PT5A、(18)PT6p=PT6Aを加え、D列の演算の(11)の後に(11−2)PT5n=PT5n OR WK、(11−3)WK=PT5n AND(PT5p OR PT5s)、(11−4)PT5n=PT5n EORWK、(11−5)PT6n=PT6n OR WK、(11−3)WK=PT6n AND(PT6p OR PT6s)、(11−4)PT6n=PT6n EOR WKの演算式と、(18)の後に(19)WK=PT3n AND(PT3p OR PT3s)、(20)PT3n=PT3n EOR WK、(21)PT4n=PT4n OR WK、(22)WK=PT4n AND(PT4p OR PT4s)、(23)PT4n=PT4n EOR WK、(24)PT5n=PT5n OR WKの演算式を加えれば良く、この他の数のドット補間のときでも同様な考え方で対応可能である。
[記録制御方法]
図13は本発明の実施形態に係るインクジェットプリンタ100で実行される記録制御を示すフローチャートである。
【0126】
尚、図13で使用されるパラメータは、図5で説明したRAM403のその他の領域403cに確保してある。MSK_NUMは、マスク番号を格納する作業レジスタである。MSK_TOPは、マスクデータ格納開始アドレスが設定され、かつマスクパターン生成処理にこれらのパラメータを受け渡すために使用される作業レジスタである。また、MSK_PARは、マスクパターン生成処理において生成したマスクパターンの基本情報(図7のデータ3(630))の格納アドレスを記憶する作業レジスタである。また、LPOS及びRPOSはそれぞれ、主走査毎の記録範囲の左位置及び右位置を一時保存する作業レジスタである。また、PASSは、記録パスの回数を計数するための作業レジスタである。また、MD_TOP730、MD_LEN740、MD_RP750は、図4で説明したマスクデータ読出制御回路710を制御するための制御レジスタである。
【0127】
以下、図13に示す処理は記録開始時に実行される。
【0128】
まず、記録開始が指示されると、以前の前ページと同じ記録モードであるか否かを判定する(ステップS100)。同じ記録モードである場合(ステップS100でNO)、ステップS150に進む。一方、同じ記録モードでない場合(ステップS100でYES)、ステップS110に進む。そして、以降のステップS110〜ステップS140でマスクパターンを生成する。
【0129】
具体的には、指定された記録モードの指示に応じた記録方式を求め、記録パス数やマスク番号等のパラメータを準備し、マスク番号をMSK_NUMに設定する(ステップS110)。次に、マスクデータ格納開始アドレスをMSK_TOPに設定する(ステップS120)。次に、後述のマスクパターン生成処理を実行する(ステップS130)。そして、マスクパターンの基本情報をMSK_PARに保存する(ステップS140)。
【0130】
次に、記録を開始するために記録媒体を給紙する(ステップS150)。正常に給紙動作が完了した場合には、ステップS160に進む。
【0131】
尚、給紙動作が記録媒体の不足(紙なし)や、ジャム発生などで正常にできなかった場合には、ユーザなどによるリトライ操作および再給紙動作により記録媒体が正常に給紙されるまで待機する。
【0132】
次に、記録媒体が給紙され記録準備が完了すると、記録パス回数PASSを0にリセットする(ステップS160)。そして、ステップS220で記録が終了するまでの間、ステップS170〜ステップS220を繰り返し実行して記録を行なう。
【0133】
具体的には、RAM403の画像データ領域403aからステップS210の主走査により記録対象となる部分を抽出するために、画像データ読出位置を設定する(ステップS170)。次に、記録範囲の左位置をLPOSに、右位置をRPOSに保存する(ステップS180)。続いて、ステップS140で取得したマスクパターンの基本情報を参照して、マスクデータ読出制御回路710のMD_TOP730、MD_LEN740、MD_RP750を次のように設定する(ステップS190)。
【0134】
尚、下記の表記において、X+YはXとYを加算する演算式、X*YはXにYを掛ける演算式、X/YはXをYで割った商を求める演算式、X%YはXをYで割った余りを求める演算式を意味する。
【0135】
▲1▼ MD_TOP = MSK_TOP + BUF_OFFSET(636)
+ (( PASS / REPEAT_NUM(635) ) % BUF_NUM(631) ) * BUF_NEXT
▲2▼ MD_LEN = BUF_SIZE(637)
・主走査方向が順方向(左から右へ記録)のとき
▲3▼ MD_RP = (( SCAN_OFFSET(636) * PASS + LPOS ) % BUF_WIDTH(633) )
* BUF_HEIGHT(632)
・主走査方向が逆順方向(右から左へ記録)のとき
▲3▼ MD_RP = (( SCAN_OFFSET(636) * PASS + RPOS ) % BUF_WIDTH(633) )
* BUF_HEIGHT(632)
そして、必要量だけ、つまり、これから主走査するマルチパス記録の最下部のバンド高さ分量だけ記録媒体を副走査方向に搬送する(ステップS200)。次に、プリントヘッド104による主走査方向への記録を行う(ステップS210)。そして、ステップS220で、このページ内の記録すべき画像データの記録が終了したか否かを判定する。記録が終了していない場合(ステップS220でNO)、ステップS170に戻り、記録動作を継続する。一方、記録が終了した場合(ステップS220でYES)、記録媒体を排紙し(ステップS230)、処理を終了する。
[マスクパターン生成処理の制御方法]
一般的に、メモリデバイスにはワード長という定義があり、ひとつのメモリローケーションを構成するビット数(ワード長)が8ビット、16ビット、32ビットように固定されている。例えば、本実施形態におけるメモリRAM403は16ビット長のものを採用している。上述したように、本発明のマスクパターンは副走査方向に任意ビット数のパターンを副走査方向の任意位置から生成させて、所定の補間ドットパターンとなるようにマスクパターンを生成する。
【0136】
従って、ひとつの補間関係を形成する生成すべきマスクパターンの副走査方向のビット数は必ずしも16nビットにならず、また、RAM403に生成したマスクパターンを書き込むときの開始ビット位置も16nにはならないわけである。
【0137】
このことより、本実施形態では、まず、対象となるRAM403のマスクデータ領域403bをすべて0クリアしておいて、SRAM430に32ビットの作業レジスタをマスクパターン数分用意して、マスクパターン生成対象となる1カラム中の各々のマスクパターンを、用意した各々の作業レジスタに最下位ビット(D0ビット)より最大16ビット量生成する。
【0138】
そして、これらの作業レジスタを各々のマスクパターンの書込ビット位置になるよう32ビット全体を(最大15ビット)左シフトしたものを、下位16ビットと上位16ビットの2回に分けてRAM403の所望位置に対してOR(論理和)書込を行うようにしている。
【0139】
上記のように、頻繁にアクセスされるような32ビットの作業レジスタをSRAM430に配置、あるいはCPU402の汎用レジスタを使用することで処理速度を向上させることができる。また、マスクパターン生成処理部分をマスクパターン種類ごとに複数に細分化しておいて、できるだけこれらの処理を単純化させるようにして、ひとつの処理のマスクパターン生成プログラムのサイズを最小化してROM411に記憶しておき、マスク番号MSK_NUMに応じたマスクパターン生成処理実行直前で、SRAM430のマスク処理領域403bにマスクパターン生成プログラムをロードして、SRAM430上でマスクパターン生成プログラムを実行させて高速にマスクパターンを生成させるようにしている。
【0140】
但し、SRAM430のメモリサイズが十分大きく、すべての種類のマスクパターン生成プログラムを静的にSRAM430に常駐させられる場合には、毎回、そのマスクパターン生成プログラムをSRAMにロードさせる必要はなく、例えば、装置の初期化処理等のタイミングでSRAM430に予めロードされておけば良い。
【0141】
しかし、この方法は、SRAMのメモリサイズが大きくなるため制御用集積回路等のチップ面積が増大してしまい、結果としてかなりなコストアップになることが予想され現実的ではない。また、別の方法として特別な制御ロジックを用意してハードウェアロジック回路により上記のような処理を部分的に補助、あるいは全てをサポートする方法も考えられる。
【0142】
例えば、上記のようなRAM403へのマスクパターン書込をハードウェアロジック回路でサポートして、ソフトウェア処理はメモリ境界を意識することなく必要量のマスクパターンのビット数を一度に生成させて、用意したハードウェアロジック回路の所定の制御レジスタなどに書き込むべきマスクパターンのビットパターンデータと、その書込開始ビット位置を設定できるように構成する。そして、ソフトウェア処理による書込指示によりハードウェアロジック回路がRAM403に対して直接リード・モディファイ・ライトなどの手法によって生成したマスクパターンの書込対象ビットのビット位置のみを書き換えるようにすることも可能である。
【0143】
そのようにした場合には、上記のようなマスクバッファの0クリア処理は不要となり、更なる高速化が期待できる。また、更に、ハードウェアロジック回路により乱数を発生させ、ハードウェアロジック回路でその乱数値に応じてマスクパターンを生成する方法や、前述の隣接ドット禁止演算をハードウェアロジック回路で行なう方法なども可能である。
【0144】
このように、ハードウェアロジック回路により、マスクパターンを生成するように構成すれば、マスクパターンを生成に要する処理時間は短縮化でき高速化できる。しかし、これらのハードウェアロジック回路のサポートによる方法は、制御回路などの追加によるコストアップが懸念され、また、些細なマスクパターン生成方法の仕様変更などを困難にさせてしまう恐れがある。
【0145】
次に、図13のステップS130のマスクパターン生成処理の詳細について、図14を用いて説明する。
【0146】
図14は本発明の実施形態に係るステップS130のマスクパターン生成処理の詳細を示すフローチャートである。
【0147】
尚、図14で説明するマスクパターン生成処理は、CPU402の制御によって実行されるプログラムによって実現されるとするが、専用のハードウェア回路で実現されても良い。
【0148】
まず、図13のステップS110で設定されたマスク番号MSK_NUMに基づいて図6の制御テーブル600を参照し、マスク番号に対応するデータ1(610)のパラメータを取得する(ステップS300)。次に、図13のステップS130で設定されたマスクデータ開始アドレスMSK_TOPで指示されたアドレスからステップS300で取得したパラメータのCLR_SIZE611で指示されるバイト数だけRAM403を0クリアする(ステップS310)。
【0149】
続いて、ステップS300で取得したパラメータのTBL_ADR614で指示されるアドレスに格納されている図7のデータ2(620)のパラメータを取得して、作業レジスタRNDに乱数値テーブルの読出開始アドレスRND_ADR621を、作業レジスタBINFに図7のマスク基本情報であるデータ3(630)の格納アドレスBINF_ADR622を、作業レジスタDINFに図8のマスク詳細情報であるデータ4(650)の格納アドレスDINF_ADR623を、それぞれ保存する(ステップS320)。
【0150】
次に、ステップS310で取得したパラメータのマスクパターン生成処理の格納アドレスFUNC_ADR613で指示されたアドレスからFUNC_SIZE612で指示されるバイト数だけROM411からSRAM430のマスク処理領域403bにマスクパターン生成プログラムをロードする(ステップS330)。続いて、ロードしたプログラムをSRAM430上で実行する(ステップS340)。そして、ステップS320でBINFに保存しておいたマスク基本情報の格納アドレスを読み出し、それを戻り値として(ステップS350)、処理を終了する。
[(SRAM上で実行させる)高速マスクパターン生成方法]
次に、図14のステップS340の具体例について、図15A、図15Bを用いて説明する。
【0151】
図15A及び図15Bは本発明の実施形態に係るステップS340の具体例を示すフローチャートである。
【0152】
図15A〜15Bで使用されている、pnumは、補間すべきドット数を表す定数であり、例えば、図9A〜9Bで説明したような4ドット補間のときは「4」を定義する。wbitは、一回のバンド処理における最大ビット数を表すものである。つまり、wbit量は一度に生成可能なマスクパターンの副走査方向のビット数を定めるもので、また、書込時のビットシフト量は最大wbit−1になるように指定する。例えば、wbitを8に設定したときは、最大8ビットのパターンデータを最大7ビットシフトできることになる。
【0153】
このようなビットシフト操作は、例えば、CPU内蔵の汎用レジスタで行なうことが可能であるから、wbitの設定値は、ビットシフト操作に利用可能な汎用レジスタのビット長の1/2にすることが望ましい。本実施形態のCPU402は、32ビットの汎用レジスタが内蔵されていて、ビットシフト命令により32ビット内で一度に15ビットのシフト操作が可能な構成なので、本実施形態ではwbitを16に定義している。
【0154】
また、図15A〜15Bで一点鎖線で囲われたステップは繰返し処理であり、その左上に記載してある「N=0→pnum」は、一点鎖線内のステップをN=0から始め、1サイクル終了ごとにN=N+1して、N<pnumの条件の間その枠内の処理を繰返すことを表している。
【0155】
また、図15A〜15Bで使用されいる変数は、図5で説明したSRAM430のマスク処理作業領域430aに確保してある。これらの変数は、頻繁に利用するもののみを確保するようにして、その確保数を必要最小限にとどめ、SRAM403の使用占有率を少なくしている。
【0156】
HEIGHTは、マスクバッファ高さをバイト数で表したBUF_HEIGHT(632)の値を一時的に保存する。
【0157】
WIDTHは、マスクバッファ幅をカラム数で表したBUF_WIDTH633の値を一時的に保存する。
【0158】
Mは、図8のマスク詳細情報であるデータ4(650)の読出開始位置を一時的に保存する。
【0159】
Nは、[N]を付した配列型の変数の配列番号を一時的に保存する。
【0160】
BANDは、図8のマスク詳細情報であるデータ4の対象となるバンド高さBAND_HEIGT661の値を一時的に保存する。
【0161】
VHは、未処理のバンド高さ量を一時的に保存する。
【0162】
VOFSは、処理済のバンド高さ量を一時的に保存する。
【0163】
Hは、バンド処理中のパターン生成/書込サイクルで処理すべきバンドの高さ量を一時的に保存する。
【0164】
Wは、バンド処理中の作業用カウンタ値を一時的に保存する。
【0165】
Rは、バンド処理中の乱数値を0からpnum−1にした値一時的に保存する。
【0166】
COLは、バンド中の処理対象カラム位置を一時的に保存する。
【0167】
また、SRND(不図示)は、図14のステップS320のRNDで示す乱数値テーブルの読出開始アドレスが設定されている。PTは、1回のマスクパターン書込のときに使用する32ビットの作業レジスタである。
【0168】
また、図中、[N]を付したものは配列型の変数を表し、それぞれは、pnum個の配列型変数で構成させれていて、次のようなものがある。
【0169】
まず、VPOS[N]は、図8のBAND_POS662をwbitで割った余りを補間パターン毎に求めた値、つまり、補間パターン毎のバンド開始位置を一時的に保存する。
【0170】
WTOP[N]は、マスクバッファ先頭アドレスMSK_TOPに図8のBUF_TOP663を加え、さらにBAND_POS662をwbitで割った商を加えたもので、補間パターン毎のバンドの0カラム位置を指すマスクバッファへのアドレス値を一時的に保存する。
【0171】
WEND[N]は、マスクバッファ先頭アドレスMSK_TOPにBUF_TOP663を加えさらにバッファサイズ(バッファ高さHEIGHT*バッファ幅WIDTH)加えたもので、補間パターン毎のバンドの最終カラム+1の位置を指すマスクバッファへのアドレス値を一時的に保存する。
【0172】
WCUR[N]は、補間パターン毎のバンドのマスクバッファへの書込アドレス値を一時的に保存する。
【0173】
HOFS[N]は、補間パターン毎のバンドの図8のオフセットカラム数HPOS664にバッファ高さHEIGHTを掛けた値、つまり、書込オフセット量を一時的に保存する。
【0174】
PCUR[N]は、補間パターン毎のバンドの1回の生成/書込サイクル中のマスクパターンデータ(wbitのビット数)を一時的に保存する。
【0175】
以下の配列型変数は、図12Cで説明した隣接ドット禁止演算処理用のもので、図15Bのステップ番号に下線を付した処理内(ステップS800〜ステップS830)でのみ使われ、既に図12Cで隣接ドット禁止演算は説明したものと同等である。
【0176】
PPRV[N]は、図12CのPT1p〜PTNpと同じ補間パターン毎のバンドの隣接カラム(直前のカラム)のマスクパターンデータ(wbitのビット数)を一時的に保存する。また、P1ST[N]は、図12CのPT1s〜PTNsと同じ補間パターン毎のバンドの最初のカラムのマスクパターンデータ(wbitのビット数)を一時的に保存するものである。尚、隣接ドット禁止が必要ないマスクパターンを生成するときには、PPRV[N]およびP1ST[N]は不要である。
【0177】
また、ステップ番号に下線を付したもの(ステップS800〜ステップS830)は、図12Cで説明した隣接ドット禁止演算のための処理であるが、隣接ドット禁止が必要ないマスクパターンを生成するときには含まれない。
【0178】
また、図中の表記でX+YはXとYを加算する演算式を、X−YはXからYを減算する演算式、X*YはXにYを掛ける演算式、X/YはXをYで割った商を求める演算式を、X%Yは、XをYで割った余りを求める演算式を、それぞれ意味する。
【0179】
図15Aに示した処理は、図14のステップS340を実行したときに開始される。以下の処理では、上述した4ドット補間のとき、つまり、pnum=4のときの実施形態を一例として説明する。
【0180】
まず、ステップS500〜S520は本処理の初期化処理である。
【0181】
HIGHTにマスクバッファの1カラムの高さを表すバイト数を設定する(ステップS500)。次に、WIDTHにマスクバッファのカラム幅数を設定する(ステップS510)。次に、作成すべきマスクパターンのマスク詳細情報の最初を読み出すようにするためにMを0に初期化する(ステップS520)。
【0182】
これにより、図8の矢印aで示すA1のデータ4の661〜664のパラメータから読み出すようにする。本処理は、基本的には4つの入れ子ループ処理で形成されていて、外側から第1ループ、第2ループ、第3ループ、第4ループと定義すると、第1ループはステップS530〜S1060であり、ひとつのセットのバンド情報の生成が終了するたびにステップS530に戻るループ処理で、図8のマスク詳細情報であるデータ4(650)に登録されている全てのバンド情報に従ったマスクパターンの生成が完了するまで繰返す。
【0183】
第2ループは、ステップS570〜S1040であり、各バンドのマスクパターンをwbit以下の高さの単位量のパターン生成が終わるたびにステップS570に戻るループ処理で、処理済のバンド高さVOFSがバンド高さBANDになるまで繰返す。
【0184】
第3ループは、ステップS640〜S1010であり、wbit単位の高さ量のパターンを1回書き込み終了するたびにステップS640に戻るループ処理で、wbit以下の高さの単位量のパターンをマスクバッファ幅WIDTHのカラム数の量のパターンの生成が完了するまで繰返す。
【0185】
第4ループは、ステップS660〜S700であり、マスクパターンを1ビット生成するたびにステップS660に戻るループ処理で、ひとつのマスクパターン生成/書込サイクルで処理すべきバンド高さのビット数が完了するまで繰返す。
【0186】
それでは、これらのループ内の処理を以下に詳述する。
【0187】
まず、第1ループの入り口のステップS530では、ステップS530内の(1)〜(4)を4回繰返すことで、以下の処理を実行する。つまり、
(1)VPOS[0]にA1バンドのビット開始位置を、
(2)WTOP[0]にA1バンドの0カラム位置のバッファアドレスを、
(3)WEND[0]にA1バンドの最終カラム+1の位置のバッファアドレスを、
(4)HOFS[0]にA1バンドの書込オフセット量を設定する。
【0188】
そして(1)から(4)を、後3回繰返してVPOS[1]、VPOS[2]、VPOS[3]にB1、C1、D1バンドのビット開始位置を、また、WTOP[1]、WTOP[2]、WTOP[3]にB1、C1、D1バンドの0カラム位置のバッファアドレスを、また、WEND[1]、WEND[2]、WEND[3]にB1、C1、D1バンドの最終カラム+1の位置のバッファアドレスを、また、HOFS[1]、HOFS[2]、HOFS[3]にB1、C1、D1バンドの書込オフセット量を、それぞれ設定する。
【0189】
続いて、BANDにA1〜D1のバンド高さを設定する(ステップS540)。次に、VHに処理すべきバンド高さを設定する(ステップS550)。次に、バンド処理を開始するために処理済のバンド高さVOFSを0に初期化する(ステップS560)。
【0190】
次に、第2ループの入り口のステップS570〜S610で、Hにバンド処理中のマスクパターン生成/書込サイクルで処理すべきバンドの高さ量をwbit以下の値に設定し、処理すべきバンド高さVHを更新する。
【0191】
つまり、処理すべきバンド高さVHがwbitより大きい場合(ステップS570でYES)、Hにwbitを設定し(ステップS580)、VHからwbitを減算して(ステップS590)、ステップS620に進む。
【0192】
一方、wbit以下の場合(ステップS570でNO)、HにVHを設定し(ステップS600)、もう処理すべきバンド高さがないのでVHを0にリセットして(ステップS610)、ステップS620に進む。
【0193】
続いて、ステップS620〜S630では、ステップS640から始まる第3ループ処理の初期化を行なう。
【0194】
つまり、A1バンドの0カラム位置を指すアドレス値WTOP[0]とA1バンドの書込オフセット量HOFS[0]を加えたものをA1バンドのマスクバッファへの書込アドレス値としてWCUR[0]に設定する(ステップS620)。
【0195】
これを、3回繰返してWCUR[1]、WCUR[2]、WCUR[3]にB1、C1、D1バンドのマスクバッファへの書込アドレス値として設定する。続いて、処理対象カラム位置を0リセットする(ステップS630)。
【0196】
次に、第3ループの入り口のステップS640〜S650では、ステップS660から始まる第4ループ処理のための初期化を行なう。
【0197】
つまり、A1バンドのマスクパターンデータPCUR[0]を0リセットする(ステップS640)。
【0198】
これを、3回繰返してB1バンド用のPCUR[1]、C1バンド用のPCUR[2]、D1バンド用のPCUR[3]を0リセットする。そして、ステップS660〜S700の第4ループのループ回数を決める作業用カウンタWに、バンド処理中のパターン生成/書込サイクルで処理すべきバンドの高さ量Hを設定する(ステップS650)。
【0199】
次に、第4ループでは、まず、SRNDから乱数値テーブルを読出し、pnum=4であるので、乱数値0〜3をRに設定し、SRNDの読出位置を必要に応じて更新する(ステップS660)。例えば、乱数値が0〜3範囲で発生させる場合には、乱数値テーブルの値を2ビットづつ利用すればよいわけで、例えば、乱数値テーブルが記憶されているROM411のワード長が16ビットのときには、乱数発生8回(=16ビット/2ビット)につき1回だけROM411から実際に16ビットの乱数データを読み出す。
【0200】
次に、PCUR[0]〜[3]をそれぞれ左に1ビットシフトして(ステップS670)、PCUR[ 乱数値R ]のところだけD0ビットを1に設定する(ステップS680)。これにより、例えば、R=0のときはA1バンド用のPCUR[0]にビットをセット、R=1のときはB1バンド用のPCUR[1]にビットをセット、R=2のときはC1バンド用のPCUR[2]にビットをセット、R=3のときはD1バンド用のPCUR[3]にビットをセットするようにして、ランダムなマスクパターンを副走査方向に生成する。
【0201】
そして、ステップS680で、1ビットのマスクパターンを生成したので作業用カウンタWを減算し(ステップS690)、Wが0より大きい場合(ステップS700でYES)、ステップS660に戻る。一方、Wが0になる場合(ステップS700でNO)、つまり、対象となる1カラム中の所定量のビット高さ量のマスクパターンの生成が終了すると、図15Bに進む。
【0202】
図15BのステップS800、ステップS810、ステップS820は、隣接ドット禁止演算が必要なマスクパターン生成処理にだけ存在するもので、対象カラム位置COLが0、つまり、最初のカラムのときにステップS800の隣接ドット禁止演算1を実行する。また、COLが0より大きく(最初のカラムでない)、かつマスク幅WIDTH−1(最終のカラムでないとき)にはステップS810の隣接ドット禁止演算2を実行する。また、その他のとき、つまり、COLがマスク幅−1(最終のカラムのとき)にはステップS830の隣接ドット禁止演算3を実行する。
【0203】
尚、ステップS800の隣接ドット禁止演算1は図12Cで説明したA列のときと、ステップS810の隣接ドット禁止演算2はB列、C列のときと、ステップS820の隣接ドット禁止演算3はD列のときと、全く演算方法が同じなのでここでは詳述しない。
【0204】
続いて、ステップS900(ステップS910〜S960をpnum回繰返す)にて、RAM403上の指定されたマスクデータ領域403bに上記処理で生成したマスクパターンを書き込む。
【0205】
まず、A1バンドのマスクパターンPCUR[0]をA1バンドのバンド開始位置VPOS[0]の量だけ左にビットシフトしたデータをPTに生成して(ステップS910)、A1バンドのマスクバッファへの書込アドレスWCUR[0]が指すメモリ位置にPTをOR(論理和)することで書き込む(ステップS920)。
【0206】
尚、wbit=16ときには、PTは32ビットとなり、WCUR[N]が指すアドレスが(1を1バイトと考えたアドレス値で)2nの物理アドレスを指すことになる。ところが、CPUの種類、あるいはメモリコントロール回路の制御方式などによっては32ビットのメモリ書込操作が4nの物理アドレスでのみ可能な場合があるので、その際にはPTの下位16ビットをWCUR[N]が指すアドレスにOR(論理和)書込、PTの上位16ビットをWCUR[N]+2(1を1バイトと考えたアドレス値で)が指すアドレスにOR(論理和)書込を行う、即ち、複数回に分けて書込を行うようにすればよい。
【0207】
続いて、ステップS940〜S960にてA1バンドのマスクバッファへの書込アドレスWCUR[0]を更新する。
【0208】
つまり、WCUR[0]にバッファ高さHEIGHTを加算し(ステップS940)、WCUR[0]がA1バンドの最終カラム位置+1のアドレス値WEND[0]より小さい場合(ステップS950でYES)、A1バンドの書込を終了する。一方、WEND[0]以上の場合(ステップS950でNO)、WCUR[0]をA1バンドの0カラム位置のバッファアドレスWTOP[0]に変更して(ステップS960)、A1バンドの書込を終了する。
【0209】
そして、ステップS910〜S960を3回繰返し、A1バンドと同様にB1、C1、D1バンドの書込と、書込アドレスWCUR[1]、WCUR[2]、WCUR[3]の更新を行なう。
【0210】
次に、カラム位置COLを更新し(ステップS1000)、COLがバッファ幅WIDTH未満である場合(ステップS1010でYES)、第3ループの先頭のステップS640に戻る。そして、COLがWIDTHと等しくなると第3ループを終了する。一方、COLがバッファ幅WIDTH以上である場合(ステップS1010でNO)、ステップS1020に進む。
【0211】
次に、ステップS1020では、A1〜D1バンドの0カラム位置のバッファアドレスを更新する。
【0212】
つまり、A1バンドの0カラム位置のバッファアドレスWTOP[0]にwbitを8で割った商(wbitをバイト数に換算した値)を加算する。これは、上記第3ループによりwbitの高さだけA1バンドのマスクパターンを生成完了したからである。A1バンドと同様にしてB1バンド用のWTOP[1]、C1バンド用のWTOP[2]、D1バンド用のWTOP[3]にwbitを8で割った商(wbitをバイト数に換算した値)を加算する。
【0213】
次に、処理済のバンド高さVOFSに第3ループで生成済のバンド高さHを加算してVOFSを更新する(ステップS1030)。
【0214】
次に、VOFSがA1バンドの高さBAND未満である場合(ステップS1040でYES)、第2ループの最初のステップS570に戻る。そして、処理済のバンド高さVOFSがA1バンド高さBANDと等しくなると、A1バンド、B1バンド、C1バンド、D1バンドのマスクパターンが完成したことになる。
【0215】
そして、全てのマスクパターン生成が完了したか否かを判定する(ステップS1050)。まだ、残りマスクパターン生成がある場合(ステップS1050でNO)、マスク詳細情報の読出し位置Mにpnumを加算し(ステップS1060)、つまり、図8のマスク詳細情報であるデータ4(650)の矢印bから始まるA2バンド、B2バンド、C2バンド、D2バンドのパラメータがステップS530で取得できるようにして、第1ループの最初のステップS530に戻り、上記第1ループ〜第4ループの処理でA1〜D1と同じ手順により残りのA2〜D2バンドのマスクパターンを生成する。
【0216】
尚、上記説明でのA1をA2に、B1をB2に、C1をC2に、D1をD2に、それぞれ読みかえて考えればよいので、ここではA2バンド〜D2バンドのマスクパターン生成方法は詳述しない。
【0217】
以上のようにして、全てのマスクパターン生成が終了すると(ステップS1050でYES)、処理を終了する。また、その際に乱数値テーブルの最終読出位置(SRNDの)を戻り値として、参照元が乱数値テーブルを継続的に使用できるようにしている。このようにすれば、複数の異なる形式のマスクパターンが必要な際にも、乱数情報を継続して利用させることで、生成する異なるマスクパターン同士が例え全く同じ形態でも、異なるマスクパターン同士の同一カラム位置に異なったマスクパターンを生成するようにしている。このようにすれば、異なるマスクパターン同士のパターン同調などの問題をも回避可能である。
【0218】
以上説明したように、本実施形態によれば、副走査方向に記録素子を並べた構成、例えば、ノズル列を用いてマルチパス記録する際に、副走査方向の補間ドット数を2n+1、つまり、奇数個にすることができることがわかる。さて、このような記録素子の副走査方向の配置は、その解像度が高くなるとひとつの記録色(インク色)に対応したノズル列が複数になることが多いことが知られていて、例えば、ひとつの記録色に対応したノズル列を副走査方向に見て、奇数ドット位置と偶数ドット位置に千鳥状に分離して記録素子を配列する方法がある。
【0219】
このように記録素子を分離配置することで高解像化は比較的容易にすることが可能になるが、反面、物理的、電気的にノズルなどの記録素子を分別したことで、ノズル列間で特性ばらつきが生じてしまうことがある。つまり、2列に分けた場合には奇数ドット位置と偶数ドット位置で微妙に特性が異なることがある。
【0220】
このような構成でマルチパス記録を行なうと、従来は副走査方向の補間ドット数が2nであることから必ず奇数ドット位置の記録素子で記録したもの同士、偶数ドット位置の記録素子で記録したもの同士の補間関係になってしまう。
【0221】
この結果、最悪の場合、両者の特性ばらつきにより、奇数ドット位置で記録した画像と、偶数ドット位置で記録した画像が干渉しあったり、記録濃度差、着弾位置などの物理的な記録位置、着弾面積などに傾きあるいは差が生じて、その結果記録画像に濃度ムラやスジなどが発生してしまう。
【0222】
そこで、上述した本実施形態の補間方式を採用すると、副走査方向の補間を奇数ドットと偶数ドット位置の記録素子を交互に使用した間引き記録出力を補間しあうようにできるので、たとえ、奇数ドット位置/偶数ドット位置間の特性ばらつきがあっても、記録媒体上で平均化されて記録出力されることから、濃度ムラやスジなどの発生を抑制できる。
【0223】
また、副走査方向の搬送分解能と副走査方向の記録素子の配列解像度との関係が2nあるいは1/2nでなくてもマルチパス記録が可能になり、濃度むらやスジなどを低減した画像出力が可能になる。
【0224】
更に、副走査方向の搬送解像度と副走査方向の記録素子の配列解像度との比率を、例えば、3:2(400dpi:600dpi)に設定できるので、主走査方向の記録媒体上の記録密度を低下させることなく、搬送系の搬送速度を高速化や清音化することが可能であり、また、搬送系の機構部品などのコストを抑制することができる。
【0225】
また、上述の実施形態における記録モードはホストコンピュータ500より取得したが、例えば、画像記録装置自身で文字や画像データを記録画像データに展開して画像記録したり、また、フラッシュメモリデバイスなどを読取り、色処理、ハーフトーニングなどの画像処理を行ないながら画像を記録する装置においても、使用される記録媒体と記録品位などにより上記記録モードを決めて記録することができる。更には、画像記録装置に自動的に記録媒体の種類を検出できる機構を設けて、その判定結果に応じて記録モードを決めるようにしてもよい。
【0226】
以上の実施形態は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギーとして熱エネルギーを発生する手段(例えば電気熱変換体やレーザ光等)を備え、前記熱エネルギーによりインクの状態変化を生起させる方式を用いることにより記録の高密度化、高精細化が達成できる。
【0227】
その代表的な構成や原理については、例えば、米国特許第4723129号明細書、同第4740796号明細書に開示されている基本的な原理を用いて行うものが好ましい。この方式は、いわゆるオンデマンド型、コンティニュアス型のいずれにも適用可能であるが、特に、オンデマンド型の場合には、液体(インク)が保持されているシートや液路に対応して配置されている電気熱変換体に、記録情報に対応していて核沸騰を越える急速な温度上昇を与える少なくとも1つの駆動信号を印加することによって、電気熱変換体に熱エネルギーを発生せしめ、記録ヘッドの熱作用面に膜沸騰を生じさせて、結果的にこの駆動信号に1対1で対応した液体(インク)内の気泡を形成できるので有効である。
【0228】
この気泡の成長、収縮により吐出用開口を介して液体(インク)を吐出させて、少なくとも1つの滴を形成する。この駆動信号をパルス形状とすると、即時適切に気泡の成長収縮が行われるので、特に応答性に優れた液体(インク)の吐出が達成でき、より好ましい。
【0229】
このパルス形状の駆動信号としては、米国特許第4463359号明細書、同第4345262号明細書に記載されているようなものが適している。なお、上記熱作用面の温度上昇率に関する発明の米国特許第4313124号明細書に記載されている条件を採用すると、さらに優れた記録を行うことができる。
【0230】
記録ヘッドの構成としては、上述の各明細書に開示されているような吐出口、液路、電気熱変換体の組み合わせ構成(直線状液流路または直角液流路)の他に熱作用面が屈曲する領域に配置されている構成を開示する米国特許第4558333号明細書、米国特許第4459600号明細書に記載された構成も本発明に含まれるものである。加えて、複数の電気熱変換体に対して、共通するスロットを電気熱変換体の吐出部とする構成を開示する特開昭59−123670号公報や熱エネルギーの圧力波を吸収する開口を吐出部に対応させる構成を開示する特開昭59−138461号公報に基づいた構成としても良い。
【0231】
さらに、記録装置が記録できる最大記録媒体の幅に対応した長さを有するフルラインタイプの記録ヘッドとしては、上述した明細書に開示されているような複数記録ヘッドの組み合わせによってその長さを満たす構成や、一体的に形成された1個の記録ヘッドとしての構成のいずれでもよい。
【0232】
加えて、上記の実施形態で説明した記録ヘッド自体に一体的にインクタンクが設けられたカートリッジタイプの記録ヘッドのみならず、装置本体に装着されることで、装置本体との電気的な接続や装置本体からのインクの供給が可能になる交換自在のチップタイプの記録ヘッドを用いてもよい。
【0233】
また、以上説明した記録装置の構成に、記録ヘッドに対する回復手段、予備的な手段等を付加することは記録動作を一層安定にできるので好ましいものである。これらを具体的に挙げれば、記録ヘッドに対してのキャッピング手段、クリーニング手段、加圧あるいは吸引手段、電気熱変換体あるいはこれとは別の加熱素子あるいはこれらの組み合わせによる予備加熱手段などがある。また、記録とは別の吐出を行う予備吐出モードを備えることも安定した記録を行うために有効である。
【0234】
さらに、記録装置の記録モードとしては黒色等の主流色のみの記録モードだけではなく、記録ヘッドを一体的に構成するか複数個の組み合わせによってでも良いが、異なる色の複色カラー、または混色によるフルカラーの少なくとも1つを備えた装置とすることもできる。
【0235】
尚、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0236】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0237】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0238】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R/RW、DVD−ROM/RAM、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0239】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0240】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0241】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図13、図14、図15A、図15Bに示すフローチャートに対応するプログラムコードが格納されることになる。
【0242】
【発明の効果】
以上説明したように、本発明によれば、記録素子の副走査方向の解像度と搬送系の駆動分解能が2nの関係でない構成においても、高品位な記録を実現することができる記録装置及びその制御方法、プログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る画像記録システムの構成を示すブロック図である。
【図2】本発明の実施形態に係るインクジェットプリンタの構成を示す外観斜視図である。
【図3】本発明の実施形態に係るインクジェットプリンタの制御構成を示すブロック図である。
【図4】本発明の実施形態に係るプリントヘッドコントロール部の詳細構成を示すブロック図である。
【図5】本発明の実施形態に係るRAM、ROM、SRAMのメモリ構成を示すブロック図である。
【図6】本発明の実施形態に係るマスクパターン生成用の制御テーブルの構成を示す図である。
【図7】本発明の実施形態に係るマスクパターン生成用の基本情報の構成を示す図である。
【図8】本発明の実施形態に係るマスクパターン生成用の詳細情報の構成を示す図である。
【図9A】本発明の実施形態に係る第1マスクバッファの構成を示す図である。
【図9B】本発明の実施形態に係る第2マスクバッファの構成を示す図である。
【図10】本発明の実施形態に係るマスクバッファの記録時の記録範囲との関係を示す図である。
【図11】本発明の実施形態に係るマルチパス記録方法を説明する図である。
【図12A】本発明の実施形態に係るマスクパターン生成用の乱数列を示す図である。
【図12B】本実施形態に係るマスクパターン生成方法の一例を示す図である。
【図12C】本発明の実施形態に係るマスクパターンの隣接ドット禁止演算方法の一例を示す図である。
【図12D】本発明の実施形態に係る隣接ドット禁止演算を適用したマスクパターンの一例を示す図である。
【図13】本発明の実施形態に係るインクジェットプリンタで実行される記録制御を示すフローチャートである。
【図14】本発明の実施形態に係るマスクパターン生成処理の詳細を示すフローチャートである。
【図15A】本発明の実施形態に係るマスクパターン生成処理の具体例を示すフローチャートである。
【図15B】本発明の実施形態に係るマスクパターン生成処理の具体例を示すフローチャートである。
【符号の説明】
100 インクジェットプリンタ
104 プリントヘッド
401 受信バッファ
402 CPU
403 RAM
404 エンジンコントロール部
405 プリンタエンジン
406 センサ/SWコントロール部
407 センサ/SW部
408 表示コントロール部
409 表示部
410 記録ヘッドコントロール部
411 ROM
420 NVRAM
430 SRAM
500 ホストコンピュータ
501 プリンタドライバ
502 ステータスモニタ
600 テーブル
610 データ1
620 データ2
630 データ3
650 データ4
700 画像データ読出制御回路
710 マスクデータ読出制御回路
720 出力データ生成回路

Claims (19)

  1. 複数の記録素子を所定解像度で所定方向に配列した記録ヘッドを記録媒体上の所定領域に対して、前記所定解像度とは異なる駆動分解能で駆動する搬送手段を用いて、前記所定解像度および前記駆動分解能に応じて定まる、複数の異なる副走査量により複数回の前記記録媒体の副走査および複数回の主走査を行って、最終的に記録媒体に形成する画像の間引き画像を補完的に記録することにより、記録媒体へ前記画像を形成する記録装置であって、
    前記複数回の記録媒体の副走査それぞれに対応する前記記録ヘッドの記録素子数に応じて、1カラム分のパターンとして、前記副走査方向に前記複数回分のパターンを生成し、これを所定カラム数分繰り返すことでマスクパターンを生成する生成手段と、
    前記生成手段で生成されたマスクパターンを記憶する記憶手段と、
    主走査方向の1カラム分の記録タイミング信号毎に、画像データと前記記憶手段に記憶されたマスクパターンのうち、前記記録タイミング信号に対応した前記パターンを用いて前記間引き画像を記録する記録手段と
    を備えることを特徴とする記録装置。
  2. 乱数を発生する乱数発生手段を更に備え、
    前記生成手段は、前記副走査方向に前記複数回分のパターンを前記乱数発生手段で発生された乱数値を用いて生成し、これを所定カラム数分繰り返すことで前記マスクパターンを生成する
    ことを特徴とする請求項1に記載の記録装置。
  3. 前記生成手段は、前記記録ヘッドの同一記録素子に対応する前記マスクパターン内の隣接カラムのドットが少なくとも非連続となるような前記マスクパターンを生成する
    ことを特徴とする請求項1あるいは請求項2に記載の記録装置。
  4. 前記生成手段は、複数の記録モードに対応した複数のマスクパターンを生成するためのマスクパターン制御情報に基いて、前記マスクパターンを生成する
    ことを特徴とする請求項1乃至請求項3のいずれか1項に記載の記録装置。
  5. 前記マスクパターン制御情報は、少なくとも補間関係となるマスクパターンに対応する前記記録ヘッドの記録素子の副走査方向の位置情報を含む
    ことを特徴とする請求項4に記載の記録装置。
  6. 記録モードに応じて、前記副走査量と前記マスクパターンを変更する変更手段を更に備える
    ことを特徴とする請求項1乃至請求項5のいずれか1項に記載の記録装置。
  7. 当該記録装置を制御するCPUと、前記CPUのローカルバスに接続されたメモリを更に備え、
    前記生成手段は、前記マスクパターンを生成するマスクパターン生成プログラムを前記メモリ上にロードして実行して、前記マスクパターンを生成する
    ことを特徴とする請求項1乃至請求項6のいずれか1項に記載の記録装置。
  8. 前記副走査量に対応する前記記録ヘッドの記録素子数は、2n+1個である
    ことを特徴とする請求項1乃至請求項7のいずれか1項に記載の記録装置。
  9. 前記記録手段は、前記マスクパターンを用いて記録制御するための記録制御情報に基づいて、前記画像データと該マスクパターンを用いて画像を記録し、前記記録制御情報は、少なくとも前記マスクパターンの面数、カラム数、前記主走査毎の該マスクパターンのカラム読出位置更新量とを含む
    ことを特徴する請求項8に記載の記録装置。
  10. 複数の記録素子を所定解像度で所定方向に配列した記録ヘッドを記録媒体上の所定領域に対して、前記所定解像度とは異なる駆動分解能で駆動する搬送手段を用いて、前記所定解像度および前記駆動分解能に応じて定まる、複数の異なる副走査量により複数回の前記記録媒体の副走査および複数回の主走査を行って、最終的に記録媒体に形成する画像の間引き画像を補完的に記録することにより、記録媒体へ前記画像を形成する記録装置の制御方法であって、
    前記複数回の記録媒体の副走査それぞれに対応する前記記録ヘッドの記録素子数に応じて、1カラム分のパターンとして、前記副走査方向に前記複数回分のパターンを生成し、これを所定カラム数分繰り返すことでマスクパターンを生成する生成工程と、
    前記生成工程で生成されたマスクパターンを記憶媒体に記憶する記憶工程と、
    主走査方向の1カラム分の記録タイミング信号毎に、画像データと前記記憶媒体に記憶されたマスクパターンのうち、前記記録タイミング信号に対応した前記パターンを用いて前記間引き画像を記録する記録工程と
    を備えることを特徴とする記録装置の制御方法。
  11. 乱数を発生する乱数発生工程を更に備え、
    前記生成工程は、前記副走査方向に前記複数回分のパターンを前記乱数発生工程で発生された乱数値を用いて生成し、これを所定カラム数分繰り返すことで前記マスクパターンを生成する
    ことを特徴とする請求項10に記載の記録装置の制御方法。
  12. 前記生成工程は、前記記録ヘッドの同一記録素子に対応する前記マスクパターン内の隣接カラムのドットが少なくとも非連続となるような前記マスクパターンを生成する
    ことを特徴とする請求項10あるいは請求項11に記載の記録装置の制御方法。
  13. 前記生成工程は、複数の記録モードに対応した複数のマスクパターンを生成するためのマスクパターン制御情報に基いて、前記マスクパターンを生成する
    ことを特徴とする請求項10乃至請求項12のいずれか1項に記載の記録装置の制御方法。
  14. 前記マスクパターン制御情報は、少なくとも補間関係となるマスクパターンに対応する前記記録ヘッドの記録素子の副走査方向の位置情報を含む
    ことを特徴とする請求項13に記載の記録装置の制御方法。
  15. 記録モードに応じて、前記副走査量と前記マスクパターンを変更する変更工程と更に備える
    ことを特徴とする請求項10乃至請求項14のいずれか1項に記載の記録装置の制御方法。
  16. 前記記録装置を制御するCPUと、前記CPUのローカルバスに接続されたメモリを更に備え、
    前記生成工程は、前記マスクパターンを生成するマスクパターン生成プログラムを前記メモリ上にロードして実行して、前記マスクパターンを生成する
    ことを特徴とする請求項10乃至請求項15のいずれか1項に記載の記録装置の制御方法。
  17. 前記副走査量に対応する前記記録ヘッドの記録素子数は、2n+1個である
    ことを特徴とする請求項10乃至請求項16のいずれか1項に記載の記録装置の制御方法。
  18. 前記記録工程は、前記マスクパターンを用いて記録制御するための記録制御情報に基づいて、前記画像データと該マスクパターンを用いて画像を記録し、前記記録制御情報は、少なくとも前記マスクパターンの面数、カラム数、前記主走査毎の該マスクパターンのカラム読出位置更新量とを含む
    ことを特徴する請求項17に記載の記録装置の制御方法。
  19. 複数の記録素子を所定解像度で所定方向に配列した記録ヘッドを記録媒体上の所定領域に対して、前記所定解像度とは異なる駆動分解能で駆動する搬送手段を用いて、前記所定解像度および前記駆動分解能に応じて定まる、複数の異なる副走査量により複数回の前記記録媒体の副走査および複数回の主走査を行って、最終的に記録媒体に形成する画像の間引き画像を補完的に記録することにより、記録媒体へ前記画像を形成する記録装置の制御をコンピュータに機能させるためのプログラムであって、
    前記複数回の記録媒体の副走査それぞれに対応する前記記録ヘッドの記録素子数に応じて、1カラム分のパターンとして、前記副走査方向に前記複数回分のパターンを生成し、これを所定カラム数分繰り返すことでマスクパターンを生成する生成工程と、
    前記生成工程で生成されたマスクパターンを記憶媒体に記憶する記憶工程と、
    主走査方向の1カラム分の記録タイミング信号毎に、画像データと前記記憶媒体に記憶されたマスクパターンのうち、前記記録タイミング信号に対応した前記パターンを用いて前記間引き画像を記録する記録工程と
    をコンピュータに機能させることを特徴とするプログラム。
JP2001172738A 2001-06-07 2001-06-07 記録装置及びその制御方法、プログラム Expired - Fee Related JP4666816B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001172738A JP4666816B2 (ja) 2001-06-07 2001-06-07 記録装置及びその制御方法、プログラム
US10/162,903 US7301668B2 (en) 2001-06-07 2002-06-06 Printing apparatus with generating means for generating a mask pattern comprising a plurality of planes, control method therefor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001172738A JP4666816B2 (ja) 2001-06-07 2001-06-07 記録装置及びその制御方法、プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010277412A Division JP2011051356A (ja) 2010-12-13 2010-12-13 インクジェット記録装置及びその方法

Publications (3)

Publication Number Publication Date
JP2002361853A JP2002361853A (ja) 2002-12-18
JP2002361853A5 JP2002361853A5 (ja) 2008-07-24
JP4666816B2 true JP4666816B2 (ja) 2011-04-06

Family

ID=19014308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001172738A Expired - Fee Related JP4666816B2 (ja) 2001-06-07 2001-06-07 記録装置及びその制御方法、プログラム

Country Status (2)

Country Link
US (1) US7301668B2 (ja)
JP (1) JP4666816B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004074510A (ja) * 2002-08-13 2004-03-11 Canon Inc 記録装置及びテストパターン記録方法
US8368950B2 (en) * 2003-10-06 2013-02-05 Marvell International Technology Ltd. Method of pre-processing data on a host machine for a host-based print system
JP2007176165A (ja) * 2005-12-01 2007-07-12 Canon Inc 記録データ生成方法、記録装置およびマスク製造方法
KR20070100590A (ko) * 2006-04-07 2007-10-11 삼성에스디아이 주식회사 전자방출표시소자 및 영상신호 보정방법
JP4862517B2 (ja) * 2006-06-29 2012-01-25 ブラザー工業株式会社 画像形成装置
US8223382B2 (en) * 2007-06-29 2012-07-17 Canon Kabushiki Kaisha Printing apparatus and control method therefor
US8272710B2 (en) * 2008-07-16 2012-09-25 Eastman Kodak Company Bi-directional print masking
JP6005909B2 (ja) * 2010-08-20 2016-10-12 株式会社Okiデータ・インフォテック 記録装置
JP2012161920A (ja) 2011-02-03 2012-08-30 Seiko Epson Corp 記録方法
JP4983997B2 (ja) * 2011-07-21 2012-07-25 ブラザー工業株式会社 画像形成装置
JP6987629B2 (ja) * 2017-12-15 2022-01-05 キヤノン株式会社 記録装置および記録方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04250044A (ja) * 1991-01-18 1992-09-04 Canon Inc インクジェット記録装置
JPH08300642A (ja) * 1995-04-03 1996-11-19 Xerox Corp 液体インクプリンタによるランダム印刷法
JPH10235852A (ja) * 1996-12-25 1998-09-08 Canon Inc 記録装置、記録方法及びデータ供給方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1127227A (en) 1977-10-03 1982-07-06 Ichiro Endo Liquid jet recording process and apparatus therefor
US4330787A (en) 1978-10-31 1982-05-18 Canon Kabushiki Kaisha Liquid jet recording device
US4345262A (en) 1979-02-19 1982-08-17 Canon Kabushiki Kaisha Ink jet recording method
US4463359A (en) 1979-04-02 1984-07-31 Canon Kabushiki Kaisha Droplet generating method and apparatus thereof
US4313124A (en) 1979-05-18 1982-01-26 Canon Kabushiki Kaisha Liquid jet recording process and liquid jet recording head
US4558333A (en) 1981-07-09 1985-12-10 Canon Kabushiki Kaisha Liquid jet recording head
JPS59123670A (ja) 1982-12-28 1984-07-17 Canon Inc インクジエツトヘツド
JPS59138461A (ja) 1983-01-28 1984-08-08 Canon Inc 液体噴射記録装置
JP3176182B2 (ja) 1993-06-30 2001-06-11 キヤノン株式会社 記録装置、インクジェット記録装置及び記録装置の制御方法
US6042212A (en) 1993-06-30 2000-03-28 Canon Kabushiki Kaisha Ink-jet recording apparatus and method using asynchronous masks
US5818474A (en) 1993-06-30 1998-10-06 Canon Kabushiki Kaisha Ink-jet recording apparatus and method using asynchronous masks
JPH11216856A (ja) 1997-11-14 1999-08-10 Canon Inc 記録装置および方法
JP3554161B2 (ja) 1997-11-14 2004-08-18 キヤノン株式会社 インクジェット記録装置およびインクジェット記録方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04250044A (ja) * 1991-01-18 1992-09-04 Canon Inc インクジェット記録装置
JPH08300642A (ja) * 1995-04-03 1996-11-19 Xerox Corp 液体インクプリンタによるランダム印刷法
JPH10235852A (ja) * 1996-12-25 1998-09-08 Canon Inc 記録装置、記録方法及びデータ供給方法

Also Published As

Publication number Publication date
US20020186386A1 (en) 2002-12-12
JP2002361853A (ja) 2002-12-18
US7301668B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
JP4863482B2 (ja) 記録装置及びその制御方法、記録ヘッドの制御回路及び記録ヘッドの駆動方法
JP2005169754A (ja) インクジェット記録装置及びインクジェット記録方法
JP3970096B2 (ja) インクジェット記録方法及びインクジェット記録装置
JP4666816B2 (ja) 記録装置及びその制御方法、プログラム
US6682168B2 (en) Image printing apparatus, control method therefor, storage medium and program
JP4343867B2 (ja) インクジェット記録装置
US6712443B2 (en) Ink jet recording apparatus and ink jet recording method
JPH0872330A (ja) プリンタ及びプリント方法
JP2000025210A (ja) 記録装置及びその制御方法、コンピュータ可読メモリ
JP4235569B2 (ja) 記録方法及び記録装置
JP2002166534A (ja) インクジェット記録装置、及びインクジェット記録方法
JP2003305834A (ja) 記録装置及び記録方法
JP4632416B2 (ja) インクジェット記録装置およびインクジェット記録方法
JP2011051356A (ja) インクジェット記録装置及びその方法
JP2006192602A (ja) インクジェット記録装置
EP1116587B1 (en) Printing apparatus and printing method
JP4144852B2 (ja) インクジェット記録装置及びインクジェット記録方法
JP3179667B2 (ja) 画像処理方法及び装置
JP2002137373A (ja) 記録処理方法、記録システム、情報処理装置およびインクジェット記録装置
JPH11331585A (ja) 記録装置及び記録方法
JP4262246B2 (ja) 画像記録装置およびその制御方法
JP2006240066A (ja) インクジェット記録装置
JP3517570B2 (ja) 記録装置及び記録制御方法
JP4018434B2 (ja) 記録装置及び記録制御方法
JPH11170502A (ja) 記録装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

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: 20110106

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: 20110111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees