JP2007018321A - 情報処理装置及びプリンタドライバ - Google Patents

情報処理装置及びプリンタドライバ Download PDF

Info

Publication number
JP2007018321A
JP2007018321A JP2005199966A JP2005199966A JP2007018321A JP 2007018321 A JP2007018321 A JP 2007018321A JP 2005199966 A JP2005199966 A JP 2005199966A JP 2005199966 A JP2005199966 A JP 2005199966A JP 2007018321 A JP2007018321 A JP 2007018321A
Authority
JP
Japan
Prior art keywords
data
buffer
recording
mask
block
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
Application number
JP2005199966A
Other languages
English (en)
Other versions
JP4641459B2 (ja
Inventor
Akihiko Hamamoto
昭彦 濱本
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 JP2005199966A priority Critical patent/JP4641459B2/ja
Priority to US11/428,904 priority patent/US7961349B2/en
Publication of JP2007018321A publication Critical patent/JP2007018321A/ja
Application granted granted Critical
Publication of JP4641459B2 publication Critical patent/JP4641459B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Ink Jet (AREA)

Abstract

【課題】 マスクパターンを用いて圧縮した記録データとマスクパターンを受信する記録装置において、1回の走査における記録領域の走査方向の端部の位置情報と、マスクパターンの位置情報とのオフセットの調整を行うために処理が複雑になっていた。。
【解決手段】 マスクパターンを用いて圧縮した記録データを用いて記録する場合には、1回の走査における記録領域の走査方向の端部の位置をマスクパターンのサイズに対応して調整する。
【選択図】 図12

Description

本発明は、情報処理装置及びプリンタドライバに関するものである。
シリアルタイプのインクジェット記録装置は、記録ヘッドを搭載したキヤリッジを紙送り方向(ノズルの配列方向)と異なる方向(主走査方向)に移動させながら、記録ヘッドのノズルからインクを吐出することで画像を形成する。
この記録装置においては、記録ヘッドに転送する記録データを保持する為の印字バッファ(記録バッファ)を備えており、そのメモリ容量としては、少なくとも1主走査方向に記録するデータの全てを保持できるのに十分な量のメモリを確保している(1バンド分の印字バッファ)。
例えば、輻走査方向に600dpiで128ノズル配置された記録ヘッドを、主走査方向に600dpiの解像度で8インチ幅の記録を行う場合は、1主走査に必要な印字バッファは、1色あたり76800バイトの印字バッファを必要とする。
一方、高画質化を実現する為に、従来1色あたり1種類の吐出量に対して、各色複数の吐出量を行うマルチドロップレットの手法や、あるいはC(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の基本の4色に加えて、フォト画像の階調アップの為にPC(フォトシアン)やPM(フォトマゼンタ)の色を加えるような多色化の手法が幅広く普及している。このために記録装置の必要なメモリの量は増加する傾向にある。
また、高速化を実現するために、各色のノズル数自体を増加させて、1ページを印字するのに必要なスキャン回数を削減することも継続的に取り組まれている。このことも、印字バッファが増加する方向になる。
印字バッファサイズの増加は、プリンタの生産コストアップつながってしまう。しかしながら、ホスト装置(ホストコンピュータ)の市場への普及と低価格化に連動して、インクジェット記録装置の市場での低価格化も急速に進んでいる。特にローエンドのインクジェット記録装置に関しては、低価格化が顕著であり、この実現の為に、インクジェットプリンタが備えるメモリサイズを削減する(印字バッファサイズを1主走査分より小さくする)ための発明がなされている。
例えば、1主走査分のデータをバッファに入力完了する前に主走査を開始する制御(特許文献1)や、ホスト装置におけるCPUのマルチタスク処理のために、処理負荷の増加等でホスト装置から記録装置へのデータ転送が間に合わない場合のリカバリ制御(特許文献2)がある。
さらに、ホスト装置においてマスク圧縮し、ホスト装置から記録装置へは、マスク圧縮に使った情報および圧縮間引きされた印字データをプリンタへ転送する制御(特許文献3)がある。
特開平11−259248号公報 特開2003−305903号公報 特開2003−159839号公報
しかしながら、特許文献3の場合では、1カラムのデータの中に、マスクパターンデータと圧縮間引きされたデータを送っており、マスクパターンとしてはノズル列に沿った一次元マスクである。しかも1ノズル列の長さより短く、1ノズル列に対応するデータ数に対してマスクパターンが複数回繰り返されるためコスト的には優位である。しかしながら、一方でマスクパターンの自由度が少なくなり画質が犠牲になってしまうという課題がある。
本発明は上述した課題に鑑みてなされたもので、ホスト装置から記録装置へ転送されるデータ量を抑えながらも、なおかつ、高画質で低コストの記録装置を提供することを目的としている。
上記目的を達成するために、本発明の情報処理装置は以下のような構成からなる。即ち、画像データに基づき生成した記録データを出力する第1の出力モードと、前記生成した記録データをマスクデータによる間引きした後出力する第2の出力モードとを備える情報処理装置であって、前記第1の出力モードまたは前記第2の出力モードを選択する手段と、前記選択手段の選択に基づき、前記マスクデータによる間引きを開始するカラム位置を変更する。
また、本発明のプリンタドライバは以下のような構成からなる。即ち、画像データに基づき生成した記録データを出力する第1の出力モードと、前記生成した記録データをマスクデータによる間引きした後出力する第2の出力モードとを備えるプリンタドライバであって、前記第1の出力モードまたは前記第2の出力モードを選択する工程と、前記選択工程の選択に基づき、前記マスクデータによる間引きを開始するカラム位置を変更する。
以上、説明したように、本発明によれば、マスクデータを用いて圧縮する記録を行う場合に、マスク処理を行うための位置情報をホスト装置から出力する手間を省くことができる。記録装置についても、マスク処理を行うための位置情報を受けて、マスク処理を行う位置調整を行う制御構成を省くことができる。
以下添付図面を参照して、本発明の基本原理および、この原理に基づく本発明の好適な実施形態について詳細に説明する。
<プリンティングシステム全体構成>
図1は以下に説明する実施形態におけるプリンティングシステムの外観図である。このシステムは、ホストコンピュータ2001およびホストコンピュータ2001にシリアルインターフェース170を介して接続されるインクジェットプリンタ(インクジェット記録装置)2011によって構成されている。
図2は、プリンティングシステムにおける機能ブロック図である。ホストコンピュータ2001では、アプリケーションで作成された画像をプリンタドライバ2002が、オペレーティングシステムのグラフィックドライバインターフェース(GDI)2004を介して色情報としてはRGB形式、データ配列としてはラスタ形式に配列されたデータを取得する。
プリンタドライバ2002は、出力先であるインクジェットプリンタ2011の機種特性に依存しない処理(入力補正・色補正・出力補正・二値化等)の実行と、機種特性に依存した処理の実行をラスタ単位で繰り返して、インクジェットプリンタ2011に送信するデータを生成する。特に機種依存の処理は、ドライバ2002に含まれている1構成モジュールであるアウトプットモジュール2003で実行される。
アウトプットモジュール2003では、従来から行われてきたレベル変換処理に加えて、これまではプリンタ側で行っていた、YMCKのラスタデータ形式から後述するノズルレイアウトにあわせた形式に変換するラスタ/ノズル変換(HV変換)、記録データ(印字データ)の生成と紙送り制御の組み合わせによる印字パス制御、および各スキャンの印字左端・右端を検出するスキャン制御等までもアウトプットモジュール側で実行する。
これによって、インクジェットプリンタの制御回路およびそこで実行するソフトウエアを簡略化することが可能であり、低価格なインクジェットプリンタの実現に寄与している。
ホストコンピュータ2001で生成された印字データは、ホストコンピュータのスプーラブロック2005およびシリアルインターフェース170を経由して、インクジェットプリンタ2011に送信される。
インクジェットプリンタ2011の内部では、送受信タスク2012によって受信バッファ2へのデータ受信を制御し、コマンド解析タスク2015によって、受信バッファ内に格納されているコマンドを解析し、コマンド種類に応じた制御を実行する。給紙コマンド・排紙コマンド・紙送りコマンド等のメカ動作関連コマンドの場合は、メカ制御系と上位レイヤとのインターフェースであるエンジンインターフェースタスク2017、メカシーケンス制御をつかさどるエンジンシーケンサータスク2018、センサ・モータ等のメカユニットの入出力を制御するエンジンドライバタスク2019によってメカ動作を実現する。
コマンド解析タスク2015によって、後述するデコードコマンドと判別された場合は、受信バッファ2からデコードバッファ2020へのDMA転送が実行される。コマンド解析タスク2015によって、印字情報コマンド(印字左端・右端情報、ブロックサイズ、ブロック数、カラープレーン数等)と判別された場合は、印字データ制御タスク2016に情報が伝達される。コマンド解析タスク2015で印字データコマンドと解析された場合は、コマンド解析タスクによって、受信バッファ2から記録バッファ4への印字データのDMA転送が起動される。この起動とともに、1ブロック(64カラム分)の印字データを転送するDMA転送終了割り込みに同期して印字データ制御タスク2016から、エンジンインターフェースタスク2017に対してスキャン開始が指示される。
エンジンインターフェースタスク2017では、ASIC(いわゆるゲートアレー)174内部の印字関連の各種レジスタ設定を行った後、エンジンシーケンサタスク2018、エンジンドライバタスク2019を駆使して、印字の為のキャリッジ動作(記録ヘッドの走査)を実行する。キャリッジが所定のエンコーダ位置に到達したら、前記設定の印字関連レジスタの設定値に基づいて、ASIC174が記録バッファから記録ヘッドへのDMA転送および記録ヘッドの駆動制御が実行され、記録ヘッドからインクを吐出し、1スキャン分の画像が記録用紙(被記録媒体)に形成される。
この他タスクとしては、カバーオープン/クローズを検出するカバースィッチ・パワーキー・レジュームキー等のユーザーが操作する入力系の検出をつかさどるユーザーインターフェースタスク2013、さらに各タスク間の動作を調整するためのシステムコントロールタスク2014が存在する。
<記録装置の構成>
図3はインクジェットプリンタ2011のメカ構成を示す外観斜視図である。インクジェットプリンタは、カラープリント、白黒モノカラープリントの両方が可能な構成を示している。図3に示すように、キャリッジ101上にはブラックは320個、カラーは各色毎に192個ずつのノズルを有したマルチノズルの記録ヘッド102とカートリッジガイド103とが搭載されている。記録ヘッド102はブラック(K)のインク、或いは、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)のインクをそれぞれ吐出する。プリンタ動作時、記録ヘッド102にはブラックインクを収容したインクカートリッジ110と他の3色のインクを収容したインクカートリッジ111が装着されている。
そして、それぞれのインクカートリッジからシアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)のインクが記録ヘッドへ供給される。また、多数の導線を配列したフレキシブルケーブル(不図示)を介して記録ヘッドにおける各ノズルの駆動信号が供給される。
図7(a)は、カラープリント用の記録ヘッド102を被記録媒体106側から示した外観斜視図である。各色に対応しているノズル列(イエロー(Y)701、マゼンタ(M)702、シアン(C)703、ブラック(K)704)は走査方向(X方向)に対して略直交する方向に配列する。イエロー、マゼンタ、シアンの各カラーノズルは、図7(b)のシアンのノズルレイアウト図に示すように、小ノズルと大ノズルとが平行に各192ノズル配置された構造をもっている。よってトータルとしてはカラーに関しては、1152ノズル(192ノズル×6プレーン(イエロー大/小・マゼンタ大/小・シアン大・小))が配置されており、制御上は小ノズルおよび大ノズルは別カラープレーンとして取り扱っている。
キャリッジ101は2本のガイドレール104、105上に搭載されており、キャリッジ101に連結した無端ベルト109をキャリアモータ(後述)で駆動することによりキャリッジ101をX方向(以下、このX方向を「主走査方向」という)に往復走査させる。また、搬送ローラ108は搬送モータ(後述)によって駆動され、被記録媒体106をY方向(以下、このY方向を「副走査方向」という)に搬送する。
なお、ガイドレールと平行に不図示のエンコーダスリットが配置されており、キャリッジ101に搭載された不図示のセンサが、エンコーダスリット数を読み取ることで、走査方向の位置を捕捉し、この位置情報に基づきキャリッジの位置を1画素単位で制御する。
図4はインクジェットプリンタの制御回路を示すブロック図である。図4において、170は記録信号を入力するインタフェースであり、例えば、ホストコンピュータ2001などの外部装置から記録データを入力する。171はMPUであり、172はMPU171が実行する制御プログラム(必要によっては文字フォントを含む)を格納するROM、173は各種データ(上記記録データやヘッドに供給されるデータ等)を一時的に保存しておくSRAMである。
174は記録ヘッド102に対する記録制御を行うASIC(いわゆるゲートアレー)であり、インターフェース170、MPU171、SRAM173間のデータ転送制御も行う。179は記録ヘッド102を主走査方向に移動させるためのキャリアモータであり、178は被記録媒体を副走査方向に搬送するための搬送モータである。175は記録ヘッドを駆動するヘッドドライバ、176、177はそれぞれ搬送モータ178、キャリアモータ179を駆動するためのモータドライバである。
上述した制御回路ブロック図の動作の概要を説明すると、インターフェース170に記録データが入るとASIC174とMPU171との間で記録データが駆動用のデータに変換される。そして、モータドライバ176、177が駆動されると共に、ヘッドドライバ175に送られた駆動データ及び制御信号に従って記録ヘッド102の記録素子が駆動されインクが吐出する。
<記録装置におけるデータの流れ>
図5は、記録装置の制御ブロックの説明図である。以下に、図6、図8の説明をしながら記録装置におけるデータの流れを説明する。
1はインターフェース制御部(コントローラ)であり、インターフェース信号線S1を介してホストコンピュータ2001から転送されてくるデータを受信し、その受信したデータの中から、記録装置の動作に必要なデータ及び画像データを抽出して一旦蓄える。インタフェースコントローラ1で抽出されたデータは信号線S2を介して受信バッファ2に格納される。
受信バッファ2はSRAMもしくはDRAM等のメモリ手段(記憶装置)に設けられており、この受信バッファに蓄えられるデータは図8(a)、(b)、(c)で示すような構造のものとなる。
図8(a)において受信バッファのデータ構造が示されるように、左から順に「コマンド」(1001),「データ長」(1002),「設定データ」(1003)のデータが格納され、これに続いて「コマンド」(1004),「データ長」(1005),「設定データ」(1006)のデータが格納されている。
これは時系列順に転送されてきたデータが、受信バッファの連続したアドレスに格納されることを示し、ここで示す設定データ1006は、例えば給紙の実行や紙送り量の設定、使用する記録ヘッド数等を示す情報であり、この設定データで定められた情報が全て揃って初めて記録装置で記録が可能となる。この後に、記録の対象となる画像データ(1009、1012)が受信バッファ2に格納される。
この画像データ(1009、1012)は、記録ヘッドが被記録媒体に対して1度の走査で記録する際に必要とされるデータ量を、それより少ないデータ量としてブロック単位に分割したデータであり、そのブロック単位で画像データを区切り、順次第1ブロックデータ(1009)、第2ブロックデータ(1012)、・・・として格納される。これらブロックデータは、記録バッファに対してもブロック単位で格納される。
図8(b)はブロック単位に分割された画像データのデータ構造を詳細に示す図であり、同図で示すように、複数の色のデータ(1013〜1014)が各々圧縮されたデータとして順次格納される。この色データは「色変えコード」(1016、1017、1018)で区切られる。
例えば、普通紙で適用される印字モードであり、シアン、イエロー、マゼンタ、それと黒の4色で、カラーに関しては大ノズルのみを使用する印字モード(記録モード)の場合には、圧縮された第1色から第4色のデータが一つのデータブロックを構成している。
また、特殊紙に適用されるモードのひとつで、特殊紙に定着しづらい顔料のBkは使用せずに、染料のシアン、イエロー、マゼンタの3色で画像を形成する印字モード(記録モード)がある。この場合、大ノズルに加えて、小ノズルも使用することで、粒状感の低減を行っている。すなわち、シアン、イエロー、マゼンタの3色で、各色毎に縦192ノズルを1列としたノズル列が走査方向に2列(大ノズルと小ノズル)、この2列のノズル列がそれぞれシアン、イエロー、マゼンタに対応して設けられている。
即ち、圧縮された第1色から第6色の色データが一つのブロックデータとして構成されている。例えば、第1色と第2色がシアンのデータ、第3色と第4色はマゼンタのデータ、第5色と第6色はイエローのデータとなる。
図8(c)はアウトプットモジュールで後述するマスク圧縮を適用する印字モードの場合の1スキャン印字に関して、受信バッファに格納されているデータ構造の詳細を示している。マスク圧縮を適用しないケースのデータ構造である図8(a)との差異は、このスキャンの印字左端位置および右端位置を示すスキャン情報コマンド(1021〜1023)と前記第一ブロックの印字画像データコマンド(1030〜1032)との間に、アウトプットモジュールでマスク圧縮された画像データをインクジェットプリンタ側でデコードするために必要な情報を伝える2つのコマンド、デコード情報コマンド(1024〜1026)とデコードデータコマンド(1027〜1029)が追加されている点である。
デコード情報コマンドは、印字画像データコマンド内の各色をどのデコードパターンを使ってデコードするかを指定するコマンドである。デコードデータコマンドは、デコードデータそのものであり、本実施例では、最大4パターンをサポートしている。デコードデータは、アウトプットモジュールで実行されるマスク圧縮実行時に使用したデータであり、後述のアウトプットモジュールでのマスク圧縮で詳細は説明するが、順方向印字(キャリッジ基準位置から非基準位置へのスキャン)時と、逆方向印字(非基準から基準へのスキャン)とで、マスク圧縮に使用するデータは異なってくる。このためアウトプットモジュールではスキャンごとにデコード情報コマンドとデコードデータコマンドを生成している。
ここで、記録装置の制御ブロックの説明の途中であるが、記録バッファの説明をする。図6は画像データを保持する記録バッファのデータ構造を示す図である。本実施形態では1ブロックのカラム数を64カラム(600DPI)とし、記録バッファはリングバッファ構造をとっている。
例えば、特殊紙の場合に適用されるモードで、Y・M・C各大ノズル・小ノズルの両方を使うモードの場合、各ブロックデータには、第1色データから第6色データが格納される。各ブロック内に格納される各色データの長さは記録ヘッドのノズル数に対応するものである。記録バッファのサイズとしては、取りうる最大カラープレーンの3ブロック分を割り当てており、取りうる最大カラープレーン数は前記特殊紙印字に使用されるモードのひとつで第1色データから第6色データの場合の6となる。従って、記録バッファサイズとしては、27648バイト(192ノズル×64カラム×6カラープレーン÷8)がDRAM123に割り当てられている。
例えば6カラープレーンを使用する印字モードで、1回の走査で最大約8インチの長さを記録する場合、前述のように3ブロックを同時に保持することが可能であり、第1ブロックに対してはバッファAが第2ブロックにはバッファBが割り当てられ、第3ブロックにはバッファCが割り当てられる。バッファAから第1ブロックの読み出し(つまり印字)が終了すると、バッファAには第4ブロックのデータが書き込まれる。バッファーBから第2ブロックの読み出しが終了すると、バッファBには第5ブロックのデータが書き込まれる。以上のようなローテーション(リングバッファ)を繰り返し、最終的には第75ブロック(8インチ×600DPI÷64カラム)のデータがバッファCに書き込まれることになる。このような記録バッファにおける処理は、後述する書き込みポインタと読み出しポインタの管理によって、書き込みと平行して読み出しが行われる構成をとることによって、64カラム×3ブロックという1スキャン分の幅(走査幅)にはるかに満たない記録バッファでも、1スキャン印字が可能な構成になっている。
別のケースで、例えばカラー1色のみを使用する場合は、同時に18ブロックのデータを保持することが可能であるが、この場合でも印字幅に換算すると1.92インチであり、最大印字幅である8インチにははるかに満たない記録バッファサイズである。
ここで、説明を図5に戻して各制御ブロックの説明を続ける。受信バッファ2に格納されるデータのうち、記録装置の制御用の設定値である「コマンド」,「データ長」,「設定データ」は、インタフェースコントローラ1から信号線S902を介してCPU9により読み出され、図中にある各部制御回路(7,8)に設定される(S903、S907)。CPU9は読み出したデータ(図8(a)の1001〜1008に相当するデータ)を解釈し、その結果に従って記録装置の全体的な記録制御を行う。
一方、CPU9は画像データの処理に関してはデータ展開ブロック3を起動して処理を実行させるものとする。データ展開ブロック3には、3つの機能を備えている。1つめの機能は、デコードデータのダウンロードを行うダウンロード機能である。2つめの機能は、単純にPackBits圧縮された印字データのPackBits解凍(展開)を行う解凍機能である。3つめの機能は、マスク圧縮とPackBits圧縮という2重に圧縮されたデータをデコードデータを用いた解凍処理、PackBits解凍処理を順に行う解凍機能である。この解凍処理は別の表現を用いれば伸張処理である。
図8(a)、(b)で示されるような、マスク圧縮を行わない場合にデータ展開ブロックで行われるPackBits展開について説明する。データ展開ブロック3は受信バッファ2から、図8(b)で示されるように「圧縮TAG」と「データ」及び「色変えコード」の3種類のデータを読み出し、これらのデータに基づきデータの展開制御を実行する。圧縮TAGが8ビットで00hから7Fhまで値の場合、非連続なデータが1から128個データ領域に有るとして処理し、圧縮TAGが8ビットでFFhから81hまで値の場合、次の1バイトデータを連続した2から128個のデータに解凍する処理を行う。圧縮TAGの所で、80hを読み出した場合は色変えコードとして処理する。解凍したデータを信号線S4に乗せ、記録バッファ4に書き込む。
記録バッファ4には解凍された画像データが図6に示すように格納される。記録バッファ4の先頭アドレス(先頭番地)には、第1ブロックの第1色に対応したデータの先頭のデータが書き込まれる(格納される)。その後に続くデータは、アドレスを1ずつ加算しながら順次書き込まれる。記録バッファに格納できる領域は、最初にCPU9が読み込んだ設定データで決定され、その値以上のデータは書き込めないので画像データを圧縮する際には、その設定データに従ったデータサイズの制限が加えられることになる。色変えコードを検出した後のデータは第2色に対応したデータの先頭番地から順次書き込まれる。このアドレスデータの制御は後に説明する記録バッファリング制御構造回路8が実行することになる。
この書き込み処理を、第1ブロックの第1色データから第8色データまで行い、第8色データの書き込みを終えて色変えコードを検知すると、第1ブロックのデータが全て書き込み終えたことになる。データ展開ブロック3はデータの展開動作を終了し、CPU9に対しブロック1個分のデータの展開が完成したことを割込み(INT1)で伝え、CPU9からの次のデータ展開の起動を待つ。
記録バッファ4に複数ブロックの画像データが揃った段階で、CPU9は記録動作を開始すべくキャリアモータ179を動作させ、記録ヘッド6が走査しながら、画像データをキャリッジエンコーダ(CRエンコーダ)10に同期して転送し、記録することで紙面上(被記録媒体に)に画像を完成させることができる。記録ヘッド6が主走査方向に走査した後、搬送手段が被記録媒体を副走査方向に搬送する。こうして、記録ヘッドの走査と、被記録媒体の搬送を繰り返し行って、1ページ分の画像の記録を行う。
記録データ生成ブロック5は、記録バッファ4に有る記録データを、CPU9から指定された値に従って、CRエンコーダ10に同期したタイミングで信号線S5を介して読み出し、記録ヘッド6が記録できるデータ構造に変換しながら信号線S6に出力していく。この記録データ生成ブロック5は後で述べる記録バッファ内のブロック幅(ブロックの長さを示す。)の情報、ブロックの各色の高さ(色データの「ラスター数」という。)についての情報を保持する。
次に図8(c)のデコードデータコマンド(1027〜1029)の場合に適用するデコードデータのダウンロード機能について説明する。データ展開ブロック3は受信バッファ2から、デコードデータコマンド(1027)をデータ長(1028)を読み出し、信号線S3を経由して取り込まれたデコードデータを展開あるいは解凍処理することなくそのまま信号線S2001に乗せてDRAM173のうちの一部に割り当てられているデコードバッファーにDMA転送する。この実施形態では、パターン0からパターン3までの4パターンのデコードデータを格納しており、各パターンあたり1536バイト(縦192ラスタ×横64カラム÷8)のエリアを割り当てている。
最後に、図8(c)に示すように、スキャン情報コマンド(1021)から印字データコマンド(1030)の間に、デコード情報コマンド(1024)を検出した場合にデータ展開ブロックで実行するマスク展開について説明する。
CPU9はPackBits展開を起動する前に、デコード情報コマンド(1024)のパラメータ(1026)で各色にた対応するデータに適用するデコードパターンNoを確定し、信号線S905を経由してデータ展開ブロックのマスク展開レジスタ群(不図示)に、マスク展開機能の有効、各色データに適用するデコードパターンNo、オフセット情報を設定する。
各デコードパターンは192ラスタ×64カラムの2次元データであり、オフセット情報はこの中のどの位置からデコードを開始するかを指定するものである。この後、PackBits展開と同様に、CPU9は信号線S905を経由して、データ展開ブロックによるPackBits展開の起動をかける。データ展開ブロック3は、受信バッファの画像データを信号線S3を介して取り込み、PackBits展開を実行する。同時にデコードバッファからこのデータに対応するデコードデータを信号線S2002を介して取得し、PackBits展開後のデータとデコードデータとから、マスク圧縮前のデータを復元したあと、信号線S4を介して記録バッファ4に記録データを格納する。
<受信バッファの書き込み、読み込み制御>
受信バッファ2には、インターフェースコントローラ1がデータを書き込み、データ展開ブロック3が画像データのみを読み出すが、その書き込みアドレスと読み出しアドレスを制御しているのが受信バッファリング構造制御回路7である。受信バッファリング構造制御回路7は受信バッファ2の先頭アドレスと最終アドレス、それと書き込みアドレスと読み出しアドレスの管理を行っている。
受信バッファリング構造制御回路7はインターフェースコントローラ1から受信する書き込み要求信号(S701)を受け付け毎に1アドレスずつ加算し、これを書き込みアドレスの情報として受信バッファ2に出力する(信号線S702)。そして、受信バッファリング構造制御回路7は受信バッファ2の最終アドレスに達した場合に書き込みアドレスを受信バッファ2の先頭のアドレスに戻す制御を行う。
また、書き込みアドレスが読み出しアドレスに到達(一致)した場合、受信バッファ2がデータでいっぱいになり、次のデータを書き込めない旨をインターフェースコントローラ1に信号線S703を介して通信する。
このとき同時にCPU9に対しても信号線S904の割込み信号により、受信バッファ2はデータの書き込みができない状態であることを知らせる。受信バッファ2の構造はCPU9が信号線S903のバスを用いて内部のレジスタに書き込むことで設定することができる。
読み出しアドレスは、CPU9が受信バッファリング構造制御回路7の中に有るデータリード用レジスタを介して直接に受信バッファ2の中のデータを読み出す場合と、データ展開ブロック3がデータ読み出し要求信号線S705を介して要求した場合に、読み出しアドレスとして信号線S706を介して1アドレスづつ加算されて受信バッファ2に出力される。
受信バッファリング構造制御回路7は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを受信バッファ2の先頭アドレスに戻す制御を行う。また、読み出しアドレスが書き込みアドレスに到達(一致)した場合、受信バッファ上からデータがなくなったので、次のデータを読み出せない旨をデータ展開ブロックに信号線S704を介して通信する。このとき同時にCPU9に対しても信号線S904の割込み信号線で、受信バッファ2上には、読み出すデータが無い旨を知らせる。
以上が受信バッファ2に対するデータの書き込み、読み取り制御の処理内容である。次に、この受信バッファ2から読み出され、展開処理されたデータを記録バッファに書き込みし、あるいはその記録バッファからデータを読み取るための処理内容を説明する。
<記録バッファの書き込み、読み取り制御>
記録バッファ4に対して、データ展開ブロック3が画像データを書き込み、記録データ生成ブロック5がその書き込まれた画像データを読み出すが、その際、書き込みアドレスと読み出しアドレスを制御しているのが記録バッファリング構造制御回路8である。
記録バッファリング構造制御回路8は記録バッファの先頭アドレスと、最終アドレス、それと書き込みアドレスと、読み出しアドレスの管理を行っている。
記録バッファリング構造制御回路8はデータ展開ブロック3から受信する書き込み要求信号(S801)を受け付け毎に1アドレスずつ加算し、これを書き込みアドレスの情報として記録バッファ4に出力する(信号線S802)。そして、記録バッファリング構造制御回路8は記録バッファ4の最終アドレスに達した場合に書き込みアドレスを記録バッファ4の先頭のアドレスに戻す制御を行う。
また、書き込みアドレスが読み出しアドレスに到達(一致)した場合、記録バッファ4が画像データでいっぱいになり、次の画像データを書き込めない旨をデータ展開ブロック3に信号線S803を介して通信する。
また、データ展開ブロック3が色変えコードを受信バッファ2から読み込んだ場合、データ展開ブロック3は信号線S804を介してその旨を通信し、記録バッファリング構造制御回路8は次の色のデータを格納する先頭番地を信号線S802から出力するように準備する。記録バッファ4の構造はCPU9が信号線S907のバスを用いて内部のレジスタに書き込むことで設定することができる。
読み出しアドレスは、記録データ生成ブロック5が各色毎にデータ読み出し要求信号線S805を介して要求すると、読み出しアドレスとして信号線S806を介して1アドレスづつ加算されて記録バッファ4に出力される。
記録バッファリング構造制御回路8は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを記録バッファ4の先頭アドレスに戻す制御を行う。
記録データ生成ブロック5は現在読み出している画像データブロックのデータ構造をCPU9から信号線S908のバスを介して、記録データ生成ブロック5内部にあるレジスタに設定する。設定された画像データブロック構造内にある画像データを全て読み出すと終了信号S909をCPU9に対し割り込み信号として通信する。この際、記録バッファ4上に次の画像データブロックがすでに展開されているならば、その画像データブロック構造をレジスタに書き込む。
記録バッファ4は1画像データブロック単位でデータの書き込みを制御しており、書き込まれていない画像データブロックに対し記録データ生成ブロックを起動しないので、記録バッファの読み出しアドレスが書き込みアドレスを越えることは起きない。
以上が記録装置におけるデータの流れの概要である。
<ホスト装置におけるデータ生成>
本実施形態のプリンティングシステムにおいて、ホスト装置側で実行されるプリンタドライバを構成するモジュールの1つであるアウトプットモジュールでのデータ生成に関して説明する。図9から図13を用いて説明していく。
図11にアウトプットモジュールの制御フローを示す。
アウトプットモジュール2003は、プリンタドライバ2002の他のモジュールからC,M,Y各色の1ラスタデータを取得する。(S3001)本印字モードの場合は、図9のレベル変換&ランダムインデックスイメージ図の(a)および(c)に示すように、600DPIの解像度で、1ピクセルあたり4ビットで9レベルの情報として引き渡される。最大印字幅である8インチのデータが存在する場合には、1色あたり2400バイト(8インチ×600DPI×4ビット÷8)の情報量になる。
ドライバからの入力に対して、図11(c)入出力振り分けテーブルに示すように、アウトプットモジュールでは、0から8までの入力値に応じて、各色大ノズル・小ノズルの組み合わせで4ビットの出力に振り分ける。この中で同一入力値に対して3パターンが想定されているものに関しては、乱数によるランダム振りまきを実施する。
本印字モードの場合はカラーの6パス印字であり、カラー192ノズルであるから、紙送り量は32ラスタになる。よってランダムインデックスバッファに32ラスタ分のデータが蓄積されるたびに、1スキャン分のデータ生成を実行することになる。紙送り後に蓄積されたラスタ数が32ラスタに満たない場合は前述S3001およびS3002の処理を繰り返し、ランダムインデックスによる振りまき処理を繰り返す。(S3003)
ランダムインデックスバッファに新たな32ラスタ分が蓄積されたならば、このスキャンの為の各種データ生成処理に移行する。より具体的な例として、よって、図10(f)の6パスイメージのP1のスキャンを行う為のデータ生成に関して説明する。まずランダムインデックスバッファから本スキャンで印字するデータを抽出して中間バッファを生成する。(S3004)
図9(d)出力ビット位置とパスの関係に示すように、ランダムインデックスバッファ上の各4ビットは、1XXXが1および4Pass、X1XXが2および5Pass、XX1Xが3および6Passに印字するように定義されている。つまり、図10(f)の6パスイメージ図におけるP1スキャンにおいて、ノズルブロックA(給紙側から数えて32ノズル分)で印字する為のデータは、今回の32ラスタデータが格納されているNブロック中の1XXX(4ビット中の第1ビット)を抽出することになる。同様にP1スキャンにおいて、ノズルブロックB(Aに続く32ノズル分)で印字するデータは、前回の32ラスタデータが格納されている(N−1)ブロック中のX1XX(4ビット中の第2ビット)を抽出することになる。ノズルブロックCに関しては、N−2ブロックのXX1Xを、ノズルブロックDに関しては、N−3ブロックの1XXXを、ノズルブロックEに関しては、N−4のX1XXを、最も下流側(排紙側)に位置する32ノズルであるノズルブロックFに関してはN−5ブロックのXX1Xを抽出することになる。
つまり、図10(f)6パスイメージ図において、P1パスの往路のノズルブロックAで印字する為に生成する中間バッファデータと、P4パスの復路のノズルブロックDで印字する為に生成する中間バッファデータとは、基本的には同一データであるが、厳密には異なってくる。理由は、前記プリンタ本体での記録データの流れで説明したように、プリンタ本体側の記録バッファは、カラー6カラープレーンモードの場合は、64カラム×3ブロック分の印字データしか同時に保持できない。ということは、前記抽出パターンによるランダムインデックスバッファのサーチ方向は図10(a)のランダムインデックスバッファに示すように、スキャン方向(往路方向印字(Fwd)/復路方向印字(Bwd))に応じて、切り替わらなければならないからである。以上のことは、1カラープレーンについてのみ説明しているが、Y/M/Cの3色について大ノズルと小ノズルが存在するからトータル6カラープレーンについても、同様にランダムインデックスバッファから中間バッファを生成していくことになる。
全カラープレーンの中間バッファをサーチして、使用ノズル幅を検出し(S3005)、全カラープレーンにおける印字最左端・印字最右端を検出する(S3006)。
この図において、P1往路で50%のDot(ドット)の印字データを生成し、P2復路で50%のDotの印字データを生成することになる。
次にマスクバッファのデータ生成について説明する。本実施例のYMCの大小ノズル6パスモードで適用するマスク圧縮の場合には、図10(d1)に示すように、縦はカラーのノズル数である192ラスタ、横は64カラム(いずれも600DPI単位)の2次元パターンのマスクバッファを適用する。
マスクパターンの中身に関しては、図10(d2)マスクバッファ拡大図に示すように、50%Dutyであり、なおかつ、前述の抽出パターンが同じノズルブロックに関しては、補完関係が成立するようなマスクバッファデータとする。なお、マスクバッファ拡大図において、○は今回のスキャンでは印字データを転送しないドットを意味し、●は今回のスキャンでは印字データを転送するドットを意味している。
ノズルブロックA(給紙側つまり搬送方向上流側から数えて32ノズル分)用のマスクデータであるマスクAと、ノズルブロックD(給紙側つまり搬送方向上流側から数えて97ノズル目128ノズル目までの32ノズル分)用のマスクデータであるマスクDとは、補完関係にあり、(d2)マスクバッファ拡大図に示すように、マスクAの●の部分は、マスクDでは○に、マスクAの○の部分はマスクDでは●になっている。同様に、マスクBとマスクEは補完関係、マスクCとマスクFは補完関係になっている。
以上のような縦192ラスタ横64カラムのマスクバッファを今回の印字モードで使用する全カラープレーン(Y,M,C,y,m,cの全6プレーン)に対して生成する。(S3007)なお、前述のように、中間バッファ生成の為のランダムインデックスバッファのサーチ方向は、スキャン方向に応じて切り替えることが必要であるが、ということは、マスクバッファのデータ生成においても、同様にスキャン方向に応じて切り替えることになる。但し、図10(c2)中間バッファ拡大図、(d2)マスクバッファ拡大図、(e)マスク圧縮後の印字データ拡大図では、マスク圧縮の説明を容易にする為に、P1スキャンの往路印字のノズルブロックAで印字する為のデータ生成と、P4スキャンの復路印字のノズルブロックDとで印字する為のデータ生成にはスキャン方向に対する差は無いものとして表現している。
次にマスク圧縮処理を行うが、その前に本発明のポイントである前記S3006で検出した印字最左端・印字最右端のマスクブロック幅に対する丸めこみを実行する。(S3008)
図12は、記録用紙に記録される画像Sと、星型の画像Sに記録を行うための記録ヘッドの印字最左端と印字最右端の位置関係を示す。また、星型の画像Sの上側には、1走査分の記録データを格納する記録バッファと記録ヘッドの走査領域とを対応させ、記録バッファに格納されている記録データについて説明する図である。補足すると、本実施形態では、図6で説明しているように、記録バッファの容量は1回の走査で使用する記録データ量より小さいが、被記録媒体に記録される走査方向の位置(カラム位置)と記録バッファに格納された状態(記録バッファのアドレス)、マスクデータとの関係を分かりやすくするためにこのような図12のように表している。
被記録媒体に画像Sを形成する場合、6回(P1〜P6は走査の開始位置)の走査についての説明図である。例えば1回目の走査(P1)は右方向に走査して記録する。2回目の走査(P2)は左方向に走査して記録する。このように、双方向記録を示している。なお、図12では、記録用紙は搬送されるが、説明を簡単にするために、記録ヘッドを搬送方向にずらして表している。
この実施形態では192ラスタ×64カラムの2次元のマスクデータが、印字可能な最左端に対応するバッファにおけるアドレスPos0から印字可能な最右端に対応するアドレスPos75(最大印字幅8インチの場合)まで64カラム単位で繰り返し適用される。
マスク圧縮を行う場合に、印字データ位置に対応するマスクデータをマスクバッファからピックアップしてマスク圧縮することになる。マスク圧縮された印字データは、マスク圧縮に使ったマスクデータをデコードデータとして、ホスト装置からプリンタへ、スキャン前に転送し、プリンタにおいてマスク圧縮印字データとデコードデータからマスク展開(マスク圧縮からの復元)を行っている。よって、アウトプットモジュール側でのマスク圧縮時の印字データとマスクデータの関係が、プリンタ本体での印字データとデコードデータの関係と完全に一致しなければ、もとの印字データは完全に復元することができない。
仮に本実施形態を適用しない場合は、印字開始位置がマスクバッファ(プリンタ本体側ではデコードバッファ)上の何カラム目に対応するのかという情報、つまりオフセット情報が必要になる。前述のようにマスクバッファのデータ生成はスキャン方向に応じて切り替わる必要もあり、これに伴ってオフセット情報の管理はさらに複雑になってくる。例えば、各カラープレーン(この場合は6カラープレーン)に対して、完全に独立に設定可能な6パターンを保持できるデコードバッファを備えていれば、オフセット情報をなくすことは可能であるが、この場合プリンタ本体側のASICのゲート数が増えることになる。
このように、本実施形態を適用することで、マスク圧縮を適用するモードの場合は、印字開始位置をマスクバッファのカラム幅で割り切れる値に丸め込むことで、上記のオフセット情報を、アウトプットモジュール側からプリンタ本体に伝える必要が無くなるとともに、ホスト装置(プリンタドライバあるいはアウトプットモジュール)側の制御およびプリンタ側での制御を大幅に簡略化することが可能になる。
この丸め込みの処理を実行するか否かは、記録モードがマスクデータを使用して圧縮をするか否かである。記録モードがマスクデータを使用しないモードにおいては、このような丸め込みの処理を行う必要はない。このことを図13の制御フローで示した。ステップS401において、記録モードがマスクデータを使用するモードであるか判断する。ステップS401でYesであれば、印字領域における走査方向の端部位置(印字領域における記録ヘッドの移動方向の上流側端部や下流側端部、左端や右端)の変更(丸め込み)の処理を行う。このことは、記録バッファの読出し処理に関する表現を用いれば、印字領域における走査方向の端部位置に対応した記録バッファの読出し開始アドレスを変更するのである。この読出し開始アドレスの変更は、マスクバッファの区切りのアドレス位置に読出し開始位置を合わせることである。そして、マスクバッファの区切りのアドレス位置に読出し開始位置を合わせる場合には、例えば、図12において記録データの格納位置を含むようにする。
しかし、Noであれば、端部位置の変更(丸め込み)処理は行わない。 この印字開始位置の丸め方は、図12に示すようにスキャン方向に応じて切り替える。例えば図12のP1で示される往路スキャンでの印字の場合、オリジナルの印字左端位置(開始位置)はマスクバッファの64カラムの区切り位置であるPosX+1より2カラム進んだ位置(PosX+3)にある。この位置を、P1の往路スキャンの印字最左端位置はPosX+3からPosX+1に変更される(図では左側へ)。また、P2で示される復路スキャンでの印字の場合、図に示す印字右端位置(開始位置)からPosY+4に変更される(図では右側へ)。
この変更により必ずマスクバッファの先頭カラムからマスクデータを取り出す(読み出す)ことが可能になり、オフセット量の管理が不要になる。
この2カラム分記録ヘッドのスキャン幅(走査幅)が大きくなるが、6パスで画像を形成するようなマルチパス印字モードにおいては、十分に無視できる時間である。
例えば、普通紙の印字モードのように、マスク圧縮を適用しないモードで、印字スピードが要求される場合は、前記S3008のマスクバッファのカラム幅(64カラム)単位の丸め込みは、実行されないことになる。
マスクバッファデータの生成が終了したら、前記中間バッファ上に抽出した印字データと前記マスクバッファ上に生成したマスクデータとから、マスク圧縮された印字データを生成する処理に移行する。まず192ノズルのどのノズルブロック(32ノズル幅)の処理を行っているかを示す副走査方向のポインタであるラスタポインタや、中間バッファおよびマスクバッファからの主走査方向へのデータピックアップ位置を示すカラムポインタ等の各種ポインタを初期化する。(S3009)なお、ラスタポインタは、中間バッファおよびマスクバッファからの副走査方向におけるデータピックアップ位置を管理するポインタであり、ラスタポインタが0の場合は前記ノズルブロックA(給紙側から数えて32ノズル分)用のラスタ位置を示し、ラスタポインタが32の場合は前記ノズルブロックB(ノズルブロックAに続く32ノズル分)用のラスタ位置を示し、最終値である160の場合は前記ノズルブロックF(ノズルブロックEに続く32ノズル分)用のラスタ位置を示している。カラムポインタの初期化は、前記S3006およびS3008によって決定された印字最左端・最右端位置に対応する値で初期化される。今回のスキャンが順方向印字の場合は印字最左端位置から、今回のスキャンが逆方向印字の場合は、印字最右端位置からそれぞれ決定される。
S3008によってマスクバッファのカラム幅での丸めが行われる印字モードの場合は、丸められた印字最左端位置あるいは印字最右端位置から、実際の印字最左端位置あるいは印字最右端位置まではNullのデータ(ヌルデータすなわちゼロデータ)が生成されることになる。つまり、印字開始端部を含むブロックデータを生成する場合に、変更するカラム分のヌルデータが印字開始端部に対応するデータの前に挿入される。
また、カラムポインタはマスクバッファの主走査方向のピックアップ位置も示しており、前述のようにマスクは64カラム周期で繰り返しているからカラムポインタをマスクバッファのカラム幅である64で割った余りが示すカラム位置がマスクバッファからの主走査方向に対するデータピックアップ位置を示すことになる。
図10(c)中間バッファ拡大図に示すように、中間バッファからラスタポインタおよびカラムポインタで特定される32ラスタ×16カラムのデータを切り出し(S3010)、同様に図10(d)マスクバッファ拡大図に示すように、マスクバッファから前記S3010で切り出した中間バッファ上の切り出し位置に対応す32ラスタ×16カラムのデータを切り出す(S3011)。
図10(e)マスク圧縮後の印字データ拡大図に示すように、中間バッファの印字データのうち、マスクバッファの●の部分のみを抽出してマスク済みデータを生成し、ホストPCからプリンタに印字データを送信する為の出力用バッファ(不図示)に一時格納する。(S3012)つまりマスクバッファの○の位置に相当する中間バッファデータは、今回のスキャンでは間引かれることになる。
32ノズル単位のAからFの6つのブロックに対して、前記S3010からS3012の処理を繰り返すことで(S3013、S3014)、今回の16カラムに対する192ノズル分の50%間引かれた印字データを生成することになる。
192ノズル分×16カラム分のマスク圧縮によるデータ間引き処理が終了すると、前記ラスタポインタを初期化するとともに、次の16カラムの処理を実施する為にカラムポインタを16カラム分更新する(S3016)。
印字最左端および印字最右端までの全カラムに対して、マスク圧縮によるデータ間引き処理が終了したならば、残り5色のカラープレーンに対しても、前記S3009からの処理を繰り返して、最終的に6つのカラープレーンに対して出力バッファデータが作成されることになる(S3017)。
前述のマスク圧縮によるデータ間引き後のデータが格納されている出力バッファデータに対してPackBits圧縮を実行する。(S3018)なお、前記S3010〜S3016までの制御フローによって、第N色用の出力バッファには、16カラム×32ラスタの512ビットから50%間引かれたデータである256ビットのデータが、ノズルブロックA用、B用、C用、D用、E用、F用という順番に繰り返し格納されている。
一方、図6記録バッファデータ構造に示すように、プリンタ本体では第1色用から第6色までのデータが、64カラム幅で3ブロック分の記録バッファが準備されている。よって、第1色用の出力バッファから、192ノズル×64カラム幅分のデータをピックアップしPackBits圧縮する。次に、第2色用の出力バッファから192ノズル×64カラム幅分に相当するデータをピックアップしPackBits圧縮する。これを第6色用の出力バッファまで繰り返すとともに、図8受信データ構造の(b)に示すように、PackBits圧縮された各色データの最後には色変コードを付加することになる。
以上で図8受信データ構造の(a)の1032に示す第1ブロックの画像データの生成が終了する。この処理を前記印字最左端から印字最右端までブロック単位で繰り返すことで今回のスキャンで印字する全ブロックの画像データの生成を実行する(S3020)。
次に、前記S3007で生成したマスクデータから図8受信データ構造の(c)の1029で送信する為のデコードデータの生成を行う。(S3021)この実施形態では、マスク圧縮による間引きを適用する6パスモードでの場合に、第1色をシアン(大)、第2色をシアン(小)、第3色をマゼンタ(大)、第4色をマゼンタ(小)、第5色をイエロー(大)、第6色をイエロー(小)と定義し、シアンのマスクデータは大小共通でパターン0を、マゼンタのマスクデータは大小共通でパターン1を、イエローのマスクデータは大小共通でパターン2をそれぞれ適用している(不図示)。
前述のように、マスク圧縮によるデータ間引きは、16カラム×32ノズル分の単位で、ノズルA用からノズルF用までを繰り返してデータ生成を行った。よって、マスクバッファから生成するデコードデータも、同様に、マスクバッファの先頭から、16カラム×32ノズル分の単位で、ノズルA用からノズルF用までを繰り返繰り返し、トータル64カラム分のデータを、1つのデコードデータとして生成する準備する。なお、前述のとおり、マスクバッファに格納されるマスクデータは、スキャン開始位置によって変わることはないが、スキャン方向によって(順方向印字か逆方向印字か)切り替わることになる。
以上で、今回のスキャンの為のデータ生成処理は終了し、次に、ホストPCからプリンタへのコマンド・データ送信処理に移行する。
まず、前記S3006およびS3008で決定した、本スキャンの印字最左端位置。印字最右端位置の情報を含むスキャン情報コマンドを送信する。(S3022)次に、各カラープレーンをどのマスクデータで圧縮したかを、プリンタ側に伝える為の、デコード情報コマンドを生成する(S3023)。
今回説明しているマスク圧縮を適用する6パスモードの場合は、前述のとおりに、図8の(c)1034の第1色デコードパターンとしてはパターン0が、1035の第2色デコードパタンもパターン0が、第3色および第4色に関してはパターン1が、第5色および第6色に関してはパターン2が、送信されることになる。
次に、前記S3021で生成したデコードデータを送信する。(S3024)図8(c)の1037のパターン0にはシアン用のマスク圧縮に使用したマスクデータである192ラスタ×64カラムのデータが転送され、1038のパターン1にはマゼンタ用のマスク圧縮に使用したマスクデータが、1039のパターン2にはイエロー用のマスク圧縮に使用したマスクデータが、それぞれ転送されることになる。
最後に、前記S3020で生成した画像データを、1ブロック単位で繰り返し印字データコマンドとして送信して今回のスキャン用のコマンド・データ送信処理が終了する(S3025、S3026)。
スキャン用のコマンド・データ送信が終わると、32ラスタ分の紙送りコマンドを発行し(S3027)、最後尾のランダムインデックスバッファの32ラスタ分を開放する。例えば図10(a)のランダムインデックスバッファにおいて、今回生成した32ラスタ分がN番目であるとしたら、今回の開放する最後尾の32ラスタとは、N−5番目の32ラスタになる。実際には、ランダムインデックスバッファは、リングバッファ構造になっており、開放された32ラスタ分に関しては、図11のAに分岐して、次の32ラスタ分の処理に使用されることになる。
<その他の実施形態>
上述した実施形態について記録装置の記録動作について双方向記録(往路記録と復路記録)の場合を例にして説明したが、片方向記録の場合についても適用しても構わない。図12を用いて説明するならば、記録ヘッドが往路の走査のみ記録を行う場合には、左端について丸め込みの処理を行えばよい。
また、上述したマスクブロックのカラム数は、64に限定するものではなく、例えば128あるいは32であっても構わない。
プリンティングシステム概観斜視図 プリンティングシステム機能ブロック図 記録装置の外観斜視図 記録装置の制御ブロック図 記録装置の機能ブロック図 記録バッファデータ構造 記録ヘッドの外観斜視図 受信データ構造 レベル変換&ランダムインデックスイメージ図 マスク圧縮&パス制御イメージ図 アウトプットモジュール制御フロー 印字左端・右端とマスクの位置関係イメージ図 制御フロー

Claims (4)

  1. 画像データに基づき生成した記録データを出力する第1の出力モードと、前記生成した記録データをマスクデータによる間引きした後出力する第2の出力モードとを備える情報処理装置であって、
    前記第1の出力モードまたは前記第2の出力モードを選択する手段と、
    前記選択手段の選択に基づき、前記マスクデータによる間引きを開始するカラム位置を変更することを特徴とする情報処理装置。
  2. 前記マスクデータは、mライン×nカラムの2次元データであることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2の出力モードを選択した場合、記録データを生成するとき、カラム位置の変更量に対応したヌルデータを追加することを特徴とする請求項1に記載の情報処理装置。
  4. 画像データに基づき生成した記録データを出力する第1の出力モードと、前記生成した記録データをマスクデータによる間引きした後出力する第2の出力モードとを備えるプリンタドライバであって、
    前記第1の出力モードまたは前記第2の出力モードを選択する工程と、
    前記選択工程の選択に基づき、前記マスクデータによる間引きを開始するカラム位置を変更することを特徴とするプリンタドライバ。
JP2005199966A 2005-07-08 2005-07-08 情報処理装置及びプリンタドライバ Expired - Fee Related JP4641459B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005199966A JP4641459B2 (ja) 2005-07-08 2005-07-08 情報処理装置及びプリンタドライバ
US11/428,904 US7961349B2 (en) 2005-07-08 2006-07-06 Information processing apparatus and printer driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005199966A JP4641459B2 (ja) 2005-07-08 2005-07-08 情報処理装置及びプリンタドライバ

Publications (2)

Publication Number Publication Date
JP2007018321A true JP2007018321A (ja) 2007-01-25
JP4641459B2 JP4641459B2 (ja) 2011-03-02

Family

ID=37755435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005199966A Expired - Fee Related JP4641459B2 (ja) 2005-07-08 2005-07-08 情報処理装置及びプリンタドライバ

Country Status (2)

Country Link
US (1) US7961349B2 (ja)
JP (1) JP4641459B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011000826A (ja) * 2009-06-19 2011-01-06 Canon Inc 記録マスク符号化方法および記録方法および記録装置
US20110019208A1 (en) * 2009-07-23 2011-01-27 Canon Kabushiki Kaisha Image data generating apparatus, printing apparatus, and image data generation method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004017389A (ja) * 2002-06-14 2004-01-22 Canon Inc 情報処理装置および印刷装置
JP2004106496A (ja) * 2002-09-20 2004-04-08 Canon Inc 記録装置および記録装置の制御方法
JP2004314339A (ja) * 2003-04-11 2004-11-11 Konica Minolta Holdings Inc インクジェット記録装置
JP2005096222A (ja) * 2003-09-24 2005-04-14 Konica Minolta Holdings Inc インクジェット記録装置及びインクジェット記録方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction
US6538764B2 (en) * 1996-04-12 2003-03-25 Canon Kabushiki Kaisha Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program
US6097499A (en) 1997-11-14 2000-08-01 Lexmark International, Inc. Methods and apparatus for isochronous printing with minimal buffering
US6661845B1 (en) * 1999-01-14 2003-12-09 Vianix, Lc Data compression system and method
JP3642312B2 (ja) 2001-11-28 2005-04-27 船井電機株式会社 印字システム
JP2003305895A (ja) * 2002-04-15 2003-10-28 Canon Inc 画像形成システム、記録装置及び記録制御方法
JP3977128B2 (ja) * 2002-04-15 2007-09-19 キヤノン株式会社 記録システム
JP3826066B2 (ja) 2002-04-15 2006-09-27 キヤノン株式会社 記録装置及び記録装置の制御方法
US6896348B2 (en) * 2002-07-23 2005-05-24 Canon Kabushiki Kaisha Ink jet printing apparatus, ink jet printing method, program, and printing medium
US6903842B2 (en) * 2002-11-18 2005-06-07 Destiny Technology Corporation Method for generating full-page print data
JP2004255700A (ja) * 2003-02-26 2004-09-16 Seiko Epson Corp メモリ容量の節約を考慮したドットデータ作成処理
US20050162694A1 (en) * 2003-04-15 2005-07-28 Fujitsu Limited Printer control device
US7535593B2 (en) * 2004-06-01 2009-05-19 Canon Kabushiki Kaisha Printing apparatus, data processing method for printing apparatus, and printing system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004017389A (ja) * 2002-06-14 2004-01-22 Canon Inc 情報処理装置および印刷装置
JP2004106496A (ja) * 2002-09-20 2004-04-08 Canon Inc 記録装置および記録装置の制御方法
JP2004314339A (ja) * 2003-04-11 2004-11-11 Konica Minolta Holdings Inc インクジェット記録装置
JP2005096222A (ja) * 2003-09-24 2005-04-14 Konica Minolta Holdings Inc インクジェット記録装置及びインクジェット記録方法

Also Published As

Publication number Publication date
US20070008554A1 (en) 2007-01-11
US7961349B2 (en) 2011-06-14
JP4641459B2 (ja) 2011-03-02

Similar Documents

Publication Publication Date Title
JP2005529001A (ja) プリント・エンジンに関連する改良
US9056457B2 (en) Image recording apparatus
JP4641459B2 (ja) 情報処理装置及びプリンタドライバ
US7301668B2 (en) Printing apparatus with generating means for generating a mask pattern comprising a plurality of planes, control method therefor, and program
JPH10312254A (ja) シリアルプリンタ及びシリアルプリンタにおけるイメージバッファアクセス方法
US8068253B2 (en) Recording apparatus
JP2008149640A (ja) 印刷装置
JP2012125981A (ja) インク吐出ヘッド制御装置、画像形成装置、インク吐出ヘッドの制御方法、及びプログラム
US6948790B2 (en) Non-uniform resolutions for printing
KR20060084635A (ko) 프린터헤드의 구동 방법 및 그를 이용한 화상 형성 장치
JP3744273B2 (ja) 記録方法および記録装置、並びに、そのためのプログラムを記録した可読媒体
JP3613076B2 (ja) 画像処理装置、画像処理方法、および記録媒体
US6948797B2 (en) Non-uniform passes per raster
JP5699448B2 (ja) 情報処理装置
US5898393A (en) Data translating memory system
JP5863177B2 (ja) インクジェット記録装置
KR100771714B1 (ko) 기록 장치 및 기록 장치에 대한 데이터 처리 방법
JP4274012B2 (ja) 記録装置
JP2008250799A (ja) 印刷システム及び印刷システムの制御方法
JP6140952B2 (ja) データ処理装置、データ処理方法およびプログラム
JP4009849B2 (ja) 色変換装置、色変換方法、色変換プログラム、色変換テーブル作成装置、色変換テーブル作成方法、色変換テーブル作成プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP5343504B2 (ja) インクジェット記録装置、画像形成システム、画像形成方法、及びプログラム
JP2001225460A (ja) 印刷時の条件に応じて使用ノズル数を変更する印刷
JP4193433B2 (ja) 複数の画像の連続印刷
JP2000062293A (ja) 印刷記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100625

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100903

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees