JP2005342965A - 記録装置及び記録装置のデータ処理方法 - Google Patents
記録装置及び記録装置のデータ処理方法 Download PDFInfo
- Publication number
- JP2005342965A JP2005342965A JP2004163754A JP2004163754A JP2005342965A JP 2005342965 A JP2005342965 A JP 2005342965A JP 2004163754 A JP2004163754 A JP 2004163754A JP 2004163754 A JP2004163754 A JP 2004163754A JP 2005342965 A JP2005342965 A JP 2005342965A
- Authority
- JP
- Japan
- Prior art keywords
- recording
- data
- block
- buffer
- element arrays
- 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.)
- Withdrawn
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】 記録バッファを効率的に利用すると共に、記録素子列の構成等により記録速度が低下するのを防ぐ。
【解決手段】 記録素子列を複数有する記録ヘッドを走査させて記録を行う記録装置において、接続されたホスト機器から送信された、各記録素子列に対応した記録データを受信バッファに格納し、走査方向における記録領域を複数の領域に分割し、該領域に対応して記録バッファのブロックのサイズを設定し、ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロック1414に格納するように記録バッファへの格納を制御する。
【選択図】 図14B
【解決手段】 記録素子列を複数有する記録ヘッドを走査させて記録を行う記録装置において、接続されたホスト機器から送信された、各記録素子列に対応した記録データを受信バッファに格納し、走査方向における記録領域を複数の領域に分割し、該領域に対応して記録バッファのブロックのサイズを設定し、ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロック1414に格納するように記録バッファへの格納を制御する。
【選択図】 図14B
Description
本発明は記録装置及び記録装置のデータ処理方法に関し、より詳細には、記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、配列方向と交差する方向に走査させて記録を行う記録装置における記録データの格納処理に関するものである。
例えばワードプロセッサ、パーソナルコンピュータ、ファクシミリ等に於ける情報出力装置として、所望される文字や画像等の情報を用紙やフィルム等シート状の記録媒体に記録を行うプリンタが広く使用されている。
プリンタの記録方式としては様々な方式が知られているが、用紙等の記録媒体に非接触記録が可能である、カラー化が容易である、静粛性に富む、等の理由でインクジェット方式が近年特に注目されており、又その構成としては、所望される記録情報に応じてインクを吐出する記録ヘッドを搭載したキャリッジを用紙等の記録媒体の搬送方向と交差する方向に往復走査させながら記録を行なう、シリアル記録方式が安価で小型化が容易などの点から一般的に広く用いられている。
従来、記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、記録ヘッドの走査方向の記録領域を複数の領域に分割し、分割された領域単位の記録データを格納するバッファを有する記録装置(印刷装置)が知られている。
このような記録装置では、分割された領域単位の記録データをバッファに格納する際に、色データ毎にデータの格納領域を切替える情報と格納可能なバッファ残量及び書き込みアドレス更新量の比較の結果とに基づき、領域単位の記録データの書き込みアドレス情報を、色データ毎に制御する書き込み制御部を備えている。
また、バッファに格納された記録データを読み出すための読み出しアドレス情報を色データ毎に制御する読み出し制御部と、読み出しアドレス情報に基づいて読み出された記録データに従い、分割された領域単位の記録データを生成する記録データ生成手段とを備えている。
このような構成で複数種類のインクを用いて記録を行う記録装置において、全てのインクの記録解像度が同じである場合には、全てのインクについて記録データを格納する単位(ブロック)を同じサイズとして、同時に記録が行われる。
一方、記録解像度の異なるインクがある場合には、記録解像度に応じてブロックのサイズを異ならせて、ブロック毎に記録が行われる(例えば特許文献1、2、3参照)。
特公昭63−12290号公報
特開2003−305895号公報
特開2003−305896号公報
しかしながら、記録解像度に応じてブロックのサイズを異ならせると、同じ走査で記録できなくなり、走査回数が増えることとなる。これにより、記録速度が低下してしまう。
これは、記録解像度の異なるノズル列がある構成や、例えば、特定のインクに対して互いにピッチの半分ずらされて配列されている2つのノズル列を有する構成などでも同様の問題が生じる。
本発明は以上のような状況に鑑みてなされたものであり、記録バッファを効率的に利用すると共に、記録素子列の構成等により記録速度が低下するのを防ぐことを目的とする。
上記目的を達成する本発明の一態様としての記録装置は、記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置であって、
接続されたホスト機器から送信された、各記録素子列に対応した記録データを格納する受信バッファと、
前記走査方向における記録領域を複数のブロックに分割し、該ブロック毎に記録データを格納する記録バッファと、
前記ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロックに格納するように前記記録バッファへの格納を制御する書き込み制御手段と、を備えている。
接続されたホスト機器から送信された、各記録素子列に対応した記録データを格納する受信バッファと、
前記走査方向における記録領域を複数のブロックに分割し、該ブロック毎に記録データを格納する記録バッファと、
前記ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロックに格納するように前記記録バッファへの格納を制御する書き込み制御手段と、を備えている。
このようにすると、記録解像度が異なる記録素子列がある場合や、複数の記録素子列を交互に駆動して同じ色を記録する場合などに、記録バッファのブロックのサイズに応じて複数の記録素子列の記録データが1つのブロックに格納される。
従って、記録バッファを効率的に利用できると共に、記録素子列の構成にかかわらず記録速度が低下しない。
なお、書き込み制御手段は、同じ色を記録する複数の記録素子列の記録データを1つのブロックに格納するように制御してもよい。具体的な記録ヘッドの構成例としては、2つの記録素子列で同じ色を記録し、該2つの記録素子列は前記所定方向に互いにピッチの半分だけずらされて配列されている構成が考えられる。この場合、2つの記録素子列は、互いに記録するドットの大きさが異なっていてもよい。
また、書き込み制御手段は、他の記録素子列よりも記録解像度が低い複数の記録素子列の記録データを1つのブロックに格納するように制御してもよい。具体的な例としては、記録解像度が低い記録素子列の数が2であり、該2つの記録素子列の記録解像度が、他の記録素子列の記録解像度の2分の1となる場合がある。
書き込み制御手段は、複数の記録素子列の記録データを1つのブロックに記録素子列の配列順に繰り返し格納する、あるいは、2つの記録素子列の記録データを1つのブロックに記録素子列の配列方向に交互に格納するようにしてもよい。
上記目的を達成する本発明の別の態様としての記録装置のデータ処理方法は、記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置のデータ処理方法であって、
接続されたホスト機器から送信された、各記録素子列に対応した記録データを受信バッファに格納する受信工程と、
前記走査方向における記録領域を複数の領域に分割し、該領域に対応して記録バッファのブロックのサイズを設定する設定工程と、
前記ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロックに格納するように前記記録バッファへの格納を制御する書き込み制御工程と、を備えている。
接続されたホスト機器から送信された、各記録素子列に対応した記録データを受信バッファに格納する受信工程と、
前記走査方向における記録領域を複数の領域に分割し、該領域に対応して記録バッファのブロックのサイズを設定する設定工程と、
前記ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロックに格納するように前記記録バッファへの格納を制御する書き込み制御工程と、を備えている。
なお、上記の目的は、上記記録装置に対応したデータ処理方法、該方法をコンピュータ装置によって実現させるコンピュータプログラム、該コンピュータプログラムを格納した記憶媒体によっても達成される。
本発明によれば、記録解像度が異なる記録素子列がある場合や、複数の記録素子列を交互に駆動して同じ色を記録する場合などに、記録バッファのブロックのサイズに応じて複数の記録素子列の記録データが1つのブロックに格納される。
従って、記録バッファを効率的に利用できると共に、記録素子列の構成にかかわらず記録速度が低下しない。
以下に、添付図面を参照して、本発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
なお、この明細書において、「記録」(「プリント」という場合もある)とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
さらに、「インク」(「液体」と言う場合もある)とは、上記「記録(プリント)」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理(例えば記録媒体に付与されるインク中の色剤の凝固または不溶化)に供され得る液体を表すものとする。
またさらに、「ノズル」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
以下、本発明をインクジェット記録装置(印刷装置)に適用した一実施形態について具体的に説明する。
<記録装置の概略構成>
図1は、本実施形態のインクジェット記録装置の概略構成を示すカバーを外した状態の斜視図である。
図1は、本実施形態のインクジェット記録装置の概略構成を示すカバーを外した状態の斜視図である。
図1において、キャリッジ101は記録ヘッド(不図示)とカートリッジ110を搭載し、ガイド軸102に沿って走行可能である。なお、本実施形態では、記録ヘッドは、インクジェット方式の記録ヘッドである。また、103はシャーシであり、メインシャーシ103aと左右の側面板103b及び103cから構成される。108はキャリッジの駆動源であるキャリッジモータであり、109はキャリッジに接続されキャリッジモータ108によって駆動されるベルト、130は記録ヘッド吐出面の清掃や吸引動作行う回復系ユニット、140はキャリッジ101に搭載された発光素子及び受光素子と共にキャリッジの位置及び速度を算出するCRエンコーダを構成するスケールである。
記録媒体としての記録紙は、給紙ローラ(不図示)によって装置本体内に送り込まれ、紙送りローラ105とピンチローラ(不図示)、紙押え板(不図示)によって狭持され、記録ヘッドの記録領域へと搬送され記録が行われる。
インクカートリッジ110は、イエロー、マゼンタ、シアンの3色のインクを収容したカラーインクカートリッジと、ブラックインクを収容したブラックインクカートリッジの2種類で、それぞれ別々にカートリッジガイド7に挿入され、記録ヘッドと接続される。
本実施形態のインクジェット記録装置は、ホストコンピュータと接続され、ホストコンピュータ(プリンタドライバ)から記録データの供給を受けて記録を行う。また、本実施形態の記録装置は、記録ヘッドを搭載したキャリッジを記録媒体上で走査させて記録を行うために、記録ヘッドの走査方向の記録領域を複数の領域に分割し、分割された領域単位で画像を記録(印刷)する。
その場合、本実施形態のインクジェット記録装置では、後述するように、記録データ位置の調整(レジスト調整)を行うが、ホストコンピュータ側で行っても、記録装置側で行っても、あるいはホストコンピュータ側でおおまかな(例えばバイト単位の)調整を行い、記録装置側でより細かな(例えばビット単位の)レジスト調整を行うようにしてもよい。以下では、ホストコンピュータ側でバイトを単位とした記録データ位置の調整(レジスト調整)を行い、記録装置側の記録バッファリング構造制御回路8でビット単位のレジスト調整を行う場合について説明する
<記録制御部の構成>
図2は、本発明にかかる記録装置の記録制御部の構成を示すブロック図である。同図に於いて、1はインターフェース信号線S1を介してホストコンピュータ(不図示)から転送されてくるデータを受信し、その受信したデータの中から、記録装置の動作に必要なデータ及び記録データを抽出して一旦蓄えるインターフェース制御部(コントローラ)であり、インターフェースコントローラ1で抽出されたデータは信号線S2を介して受信バッファ2に格納される。
<記録制御部の構成>
図2は、本発明にかかる記録装置の記録制御部の構成を示すブロック図である。同図に於いて、1はインターフェース信号線S1を介してホストコンピュータ(不図示)から転送されてくるデータを受信し、その受信したデータの中から、記録装置の動作に必要なデータ及び記録データを抽出して一旦蓄えるインターフェース制御部(コントローラ)であり、インターフェースコントローラ1で抽出されたデータは信号線S2を介して受信バッファ2に格納される。
受信バッファ2はSRAMもしくはDRAM等の記憶装置(メモリ)で構成され、この受信バッファに蓄えられるデータは図3(a)、(b)で示すような構造のものとなる。
図3(a)において受信バッファのデータ構造が示されるように、左から順に「コマンド」(201)、「データ長」(202)、「設定データ」(203)のデータが格納され、これに続いて「コマンド」(204)、「データ長」(205)、「設定データ」(206)のデータが格納されている。これは時系列順に転送されてきたデータが、受信バッファの連続したアドレスに格納されることを示し、ここで示す設定データ206は、例えば給紙の実行や紙送り量の設定、使用する記録ヘッド数等を示す情報であり、この設定データで定められた情報が全て揃って初めて記録装置で記録が可能となる。この後に、記録の対象となる記録データ(209、212)が受信バッファ2に格納される。
この記録データ(209、212)は、記録ヘッドが記録媒体上を1度の走査で記録する際に必要とされるデータ量を、それより少ないデータ量としてブロック単位に分割したデータであり、そのブロック単位で記録データを区切り、順次第1ブロックデータ(209)、第2ブロックデータ(212)、…として格納される。
図3(b)はブロック単位に分割された記録データのデータ構造を詳細に示す図であり、同図で示すように、複数の色のデータ(213〜214)が各々圧縮されたデータとして順次格納される。この色データは、インクの色(シアン、イエロー、マゼンタ、黒)に対応した記録データのことであり、「色変えコード」(216、217、218)で区切られる。
例えば、シアン、イエロー、マゼンタ、それと黒の4色の色データを想定した場合、各色毎に縦64ノズルを1列としたノズル列が走査方向に2列ずつ配列する記録ヘッドを用いると、各ノズル列単位のデータが1つの色データを構成することになるのでノズル2列が4色分、すなわち、圧縮された第1色から第8色の色データが一つのブロックデータ内に記録データとして格納される。このノズル列の各ノズルは、記録媒体の搬送方向に並んでいる。例えば、第1色と第2色がシアンのデータ、第3色と第4色はマゼンタのデータ、第5色と第6色はイエローのデータ、第7色と第8色は黒のデータとなる。
図4は記録データを保持する記録バッファのデータ構造を示す図である。例えば1回の走査で最大約8インチの走査方向の長さを記録する場合、1つのブロックデータが走査方向に約1インチの記録ができるサイズとすると、トータル8ブロックの記録データを記録すれば、1走査分の画像が完成することになる。第1ブロックから第8ブロックは記録ヘッドの走査方向に配置され、各ブロックデータには、第1色データから第8色データが格納される。各ブロック内に格納される各色データの長さは記録ヘッドのノズル数に対応するものである。
説明を図2に戻し、各制御ブロックの説明を続ける。受信バッファ2に格納されるデータのうち、記録装置の制御用の設定値である「コマンド」、「データ長」、「設定データ」は、インターフェースコントローラ1から信号線S902を介してCPU9により読み出され、図中にある各部制御回路(7、8)に設定される(S903、S907)。CPU9は読み出したデータ(図3(a)の201〜208に相当するデータ)を解釈し、その結果に従って記録装置の全体的な記録制御を統括する。一方、CPU9は記録データの処理に関してはデータ解凍ブロック55を起動して処理を実行させるものとする。
データ解凍ブロック55は受信バッファ2から、図3(b)で示されるように「圧縮TAG」と「データ」及び「色変えコード」の3種類のデータを読み出し、これらのデータに基づきデータの展開制御を実行する。本実施形態ではデータの圧縮/解凍方法としてPackBits圧縮を用いたので、圧縮TAGが8ビットで00hから7Fhまでの値の場合、非連続なデータが1から128個データ領域に有るとして処理し、圧縮TAGが8ビットでFFhから81hまでの値の場合、次の1バイトデータを連続した2から128個のデータに解凍する処理を行う。圧縮TAGの所で、80hを読み出した場合は色変えコードとして処理する。解凍したデータを信号線S4aを介して、画像変換ブロック54に送る。この画像変換ブロックにてHV変換がなされ、信号線S4bを介してHV変換されたデータが記録バッファ4に格納される。
記録バッファ4には解凍およびHV変換された記録データが図4に示すデータ構造で格納される。記録バッファ4の先頭アドレスには第1ブロックの第1色データの先頭データが書き込まれ、その後に続くデータは、アドレスを適宜変更しながら順次書き込まれる。記録バッファのアドレスに一つの色データとして格納できる領域は、最初にCPU9が読み込んだ設定データで決定され、その値以上のデータは書き込めないので記録データを圧縮する際には、その設定データに従ったデータサイズの制限が加えられることになる。色変えコードを検出した後のデータは第2色データの先頭番地から順次書き込まれる。このアドレスデータの制御は後に説明する記録バッファリング制御構造回路8が実行することになる。
この書き込みを第1ブロックの第1色データから第8色データまで繰り返し、第8色データの書き込みを終えて色変えコードを検知すると、第1ブロックのデータが全て書き込み終えたことになる。データ解凍ブロック55はデータの展開動作を終了し、CPU9に対しブロック1個分のデータの展開が完成したことを割込み(S906)で伝え、CPU9からの次のデータ展開の起動を待つ。
記録バッファ4上に複数ブロックの記録データが揃った段階で、CPU9は記録動作を開始すべくキャリッジモータ(図1の108)を動作させ、記録ヘッド6を搭載したキャリッジを走査させながら、記録データをキャリッジエンコーダ(CRエンコーダ)10に同期して転送し、記録することで紙面上(記録媒体に)に画像を完成させることができる。記録ヘッド6が主走査方向に走査した後、搬送手段が記録媒体を副走査方向に搬送する。こうして、記録ヘッドの走査と、記録媒体の搬送を繰り返し行って、1ページ分の画像の記録を行う。
記録データ生成ブロック5は、記録バッファ4上に有る記録データの各ブロック構造を、CPU9から指定された値に従って、CRエンコーダ10に同期したタイミングで信号線S5を介して読み出し、記録ヘッド6が記録できるデータ構造に変換しながら信号線S6に出力していく。この記録データ生成ブロック5は後で述べる記録バッファ内のブロック幅(ブロックの長さを示す。)の情報、ブロックの各色の高さ(色データの「ラスター数」という。)についての情報を保持する。
尚、記録バッファ4から読み出されたデータ領域は次の記録データを蓄えるために、零クリアされる。
<受信バッファの書き込み、読み出し制御>
以上説明したように受信バッファ2には、インターフェースコントローラ1がデータを書き込み、データ解凍ブロック55が記録データのみを読み出すが、その書き込みアドレスと読み出しアドレスを制御しているのが受信バッファリング構造制御回路7である。受信バッファリング構造制御回路7は受信バッファ2の先頭アドレスと最終アドレス、それと書き込みアドレスと読み出しアドレスの管理を行っている。
以上説明したように受信バッファ2には、インターフェースコントローラ1がデータを書き込み、データ解凍ブロック55が記録データのみを読み出すが、その書き込みアドレスと読み出しアドレスを制御しているのが受信バッファリング構造制御回路7である。受信バッファリング構造制御回路7は受信バッファ2の先頭アドレスと最終アドレス、それと書き込みアドレスと読み出しアドレスの管理を行っている。
受信バッファリング構造制御回路7はインターフェースコントローラ1から受信する書き込み要求信号(S701)を受け付け毎に1アドレスずつ加算し、これを書き込みアドレスの情報として受信バッファ2に出力する(S702)。そして、受信バッファリング構造制御回路7は受信バッファ2の最終アドレスに達した場合に書き込みアドレスを受信バッファ2の先頭のアドレスに戻す制御を行う。
また、書き込みアドレスが読み出しアドレスに到達(一致)した場合、受信バッファ2がデータでいっぱいになり、次のデータを書き込めない旨をインターフェースコントローラ1に信号線S703を介して通信する。
このとき同時にCPU9に対しても信号線S904の割込み信号により、受信バッファ2はデータの書き込みができない状態であることを知らせる。受信バッファ2の構造はCPU9が信号線S903のバスを用いて内部のレジスタに書き込むことで設定することができる。
読み出しアドレスは、CPU9が受信バッファリング構造制御回路7の中に有るデータリード用レジスタを介して直接に受信バッファ2の中のデータを読み出す場合と、データ解凍ブロック55がデータ読み出し要求信号線S705を介して要求した場合に、読み出しアドレスとして信号線S706を介して1アドレスずつ加算されて受信バッファ2に出力される。
受信バッファリング構造制御回路7は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを受信バッファ2の先頭アドレスに戻す制御を行う。また読み出しアドレスが書き込みアドレスに到達(一致)した場合、受信バッファ上からデータがなくなったので、次のデータを読み出せない旨をデータ解凍ブロックに信号線S704を介して通信する。このとき同時にCPU9に対しても信号線S904の割込み信号線で、受信バッファ2上には、読み出すデータが無い旨を知らせる。
以上が受信バッファ2に対するデータの書き込み、読み取り制御の処理内容である。次に、この受信バッファ2から読み出され、展開処理されたデータを記録バッファに書き込み、あるいはその記録バッファからデータを読み取るための処理内容を説明する。
<記録バッファの書き込み、読み出し制御>
記録バッファ4に対して、画像変換ブロック54が記録データを書き込み、記録データ生成ブロック5がその書き込まれた記録データを読み出すが、その際、書き込みアドレスと読み出しアドレスを制御しているのが記録バッファリング構造制御回路8である。
記録バッファ4に対して、画像変換ブロック54が記録データを書き込み、記録データ生成ブロック5がその書き込まれた記録データを読み出すが、その際、書き込みアドレスと読み出しアドレスを制御しているのが記録バッファリング構造制御回路8である。
記録バッファリング構造制御回路8は記録バッファの先頭アドレスと、最終アドレス、それと書き込みアドレスと、読み出しアドレスの管理を行っている。
記録バッファリング構造制御回路8は画像変換ブロック54から受信する書き込み要求信号(S801)を受け付ける毎にアドレスを適宜変更し、これを書き込みアドレスの情報として記録バッファ4に出力する(S802)。そして、記録バッファリング構造制御回路8は記録バッファ4の最終アドレスに達した場合に書き込みアドレスを記録バッファ4の先頭のアドレスに戻す制御を行う。
また、書き込みアドレスが読み出しアドレスに到達(一致)した場合、記録バッファ4が記録データでいっぱいになり、次の記録データを書き込めない旨を画像変換ブロック54に信号線S809を介して通信する。
また、データ解凍ブロック55が色変えコードを受信バッファ2から読み込んだ場合、データ解凍ブロック55は信号線S541を介して画像変換ブロック54にその旨を通信し、画像変換ブロックは、信号線S807を介して、記録バッファリング構造制御回路に出力する。記録バッファリング構造制御回路8は次の色のデータを格納する先頭番地を信号線S802から出力するように準備する。記録バッファ4の構造はCPU9が信号線S907のバスを用いて内部のレジスタに書き込むことで設定することができる。
読み出しアドレスは、記録データ生成ブロック5が各色毎にデータ読み出し要求信号線S805を介して要求すると、読み出しアドレスとして信号線S806を介して1アドレスずつ加算されて記録バッファ4に出力される。
記録バッファリング構造制御回路8は読み出しアドレスが最終アドレスに達した場合、読み出しアドレスを記録バッファ4の先頭アドレスに戻す制御を行う。
記録データ生成ブロック5は現在読み出している記録データブロックのデータ構造をCPU9から信号線S908のバスを介して、記録データ生成ブロック5内部にあるレジスタに設定する。設定された記録データブロック構造内にある記録データを全て読み出すと終了信号S909をCPU9に対し割り込み信号として通信する。この際、記録バッファ4上に次の記録データブロックがすでに展開されているならば、その記録データブロック構造をレジスタに書き込む。
記録バッファ4は1記録データブロック単位でデータの書き込みを制御しており、書き込まれていない記録データブロックに対し記録データ生成ブロックを起動しないので、記録バッファの読み出しアドレスが書き込みアドレスを越えることは起きない。11は、バッファ構造情報メモリである。これは、記録バッファの制御用の作業用メモリ(ワークRAM)で、後で述べる記録バッファ構造についての情報を一時的に格納する領域である。
<記録バッファリング構造制御回路の説明>
記録バッファリング構造制御回路の説明を図5及び図8を用いて説明する。記録バッファリング構造制御回路の処理において、図5は書き込みアドレス制御を中心に説明する図であり、図8は記録バッファリング構造制御回路8の読み出しアドレス制御を中心に説明する図である。
記録バッファリング構造制御回路の説明を図5及び図8を用いて説明する。記録バッファリング構造制御回路の処理において、図5は書き込みアドレス制御を中心に説明する図であり、図8は記録バッファリング構造制御回路8の読み出しアドレス制御を中心に説明する図である。
記録バッファリング構造制御回路8は読み出し制御部8Aと書き込みアドレス制御部8Bで構成されている。また、記録バッファ4のバッファ領域は、記録バッファの先頭のアドレスをtop_adrで示し、最終アドレスをbottom_adrで表示する。この先頭アドレスは書き込みアドレス制御部8B内のレジスタ803に格納され、最終アドレスは書き込みアドレス制御部8B内のレジスタ804に格納される。
記録バッファ4に示される「RP」はリードポインタを示し、「WP」はライトポインタを示す。記録バッファの中のRPとWPの間のハッチング部分は記録データが格納されていることを表している。また、記録バッファ4の白色部分は記録データが格納されていないことを表す。
読み出しアドレス制御部8A内の802は、データの読み出しアドレス(RP:リードポインタ)を示すレジスタである。書き込みアドレス制御部8Bにある805から812は第1色から第8色について、各色の情報を格納するレジスタである。ここで、レジスタ805には第1色目データのバッファの高さ情報(1st_hight)と、第1色データの有り無しを示す情報(1_color_bit)と、第1色目のレジスト調整値情報(1_reg_wnum)が格納され、同様にレジスタ806〜812についても第2色〜第8色について同様の情報が設定される。
なお、レジスト調整値情報は、ノズル列間のラスタ方向における相対位置に対応した値となるので、1つのノズル列に対しては常に同じ値となる。例えば、第1色データを基準とすると、第1色データの対するレジスト調整値情報は0、第2色データに対するレジスト調整値情報は第1色データを記録するノズル列と第2色データを記録するノズル列との間のラスタ方向における相対距離に対応した値となる(例えば、カラム数に対応する)。
813はブロックの幅情報(block_width)を設定するレジスタであり、この幅情報は第1色〜第8色までブロック単位で、共通して使われる値である。
後述するが、849はインク滴(紙面におけるドット)の大きさの異なる記録データをトグル(交互に)で格納する場合に使用するレジスタである。850は解像度が異なる記録データを格納する場合に使用するレジスタである。
上述のブロックの高さ情報、幅情報及びレジスト調整値情報は、図3(a)で説明した設定データに含まれる情報である。
815は次のブロックデータのアドレスを格納するレジスタであり、このアドレスは各色に関する情報を格納するレジスタ805からレジスタ812のうちのいずれかの値と、ブロックデータに関する幅の情報を格納するレジスタ813の値を用いて決定することができる。書き込み制御部8Bは、書き込み対象となる第1ブロックデータに関する設定情報に従い、次に書き込み対象となる第2ブロックデータの書き込み開始アドレスを決定し、このレジスタに格納する。
817はレジスト調整分の書き込み開始アドレスを格納するレジスタであり、このアドレスは各色に関する情報を格納するレジスタ805からレジスタ812のうち全ての値と、ブロックデータに関する幅の情報を格納するレジスタ813の値を用いて決定することができる。書き込み制御部8Bは、書き込み対象となる第1ブロックデータに関する設定情報に従い、次に書き込み対象となるレジスト調整分の書き込み開始アドレスを決定し、このレジスタに格納する。
なお、書き込み制御部8Bは、例えば第1の色データについて説明すると、第1ブロックのデータに対応する記録データの書き込み完了前に、第1ブロックのデータのレジスト調整幅分を反映した第2ブロックでの書き込み開始アドレス情報を決定している。他の色データ(第2色データ〜第8色データ)についても同様である。
書き込み制御部8Bは、第1ブロックデータに対応する記録データの書き込み完了前に、第1ブロックデータのレジスト幅分に対する書き込みアドレス情報を、決定した書き込み開始アドレスに更新することができる。
また、816はデータの書き込みアドレス(WP)を格納するレジスタである。
814はアドレス制御レジスタで、書き込みアドレス(WP)が読み出しアドレス(RP)を追い越さないように(両アドレスが重複したアドレスを指定しないように)書き込み処理、読み出し処理の管理をする。
<記録バッファへのデータの格納(図6)>
図6は、記録バッファ4に記録データがどのように格納されるか説明する図である。図6(a)では、第1色データとして縦に順に4ワード分ずつ、格納される状態を示す。ここで1ワード(16ビット)が16画素分に対応している。レジスタに情報を格納するアドレスは1ずつインクリメントされるものとすると、ライトポインタ(WP)は1→2→3→4→5→…とカウントされる。
図6は、記録バッファ4に記録データがどのように格納されるか説明する図である。図6(a)では、第1色データとして縦に順に4ワード分ずつ、格納される状態を示す。ここで1ワード(16ビット)が16画素分に対応している。レジスタに情報を格納するアドレスは1ずつインクリメントされるものとすると、ライトポインタ(WP)は1→2→3→4→5→…とカウントされる。
例えば、図6(a)のレジスタの設定は、バッファの高さ情報(ラスター数)の値(1st_hight)は「4」であり、データの有り無し情報(1_color_ビット)の値は「1(有り)」である。レジスタ813(ブロックの幅情報:block_width)の値は「28」である。つまり、第1色のバッファの高さは64ノズル(64ビット=16×4)分である。
図6(b)は、第2色データがある場合に、記録バッファ4へのデータの書き込みを示す図である。第1色の格納領域に全てデータを格納した後、矢印のようにライトポインタ(WP)を第2色の先頭アドレスへ移動し、第2色のデータの格納を行う。図6(c)では、第2色データが無い場合、第1色データの格納領域に続き、第3色データが格納されることを示す。この場合、図5で示すレジスタ806の第2色データの有り無し情報(2_color_bit)は、データ無しを示す「0(無し)」である。あるいは、バッファの高さ情報(2nd_hight)が「0」であれば、データが無いことを示すので、この情報を用いてもかまわない。あるいはデータの有り無し情報とバッファの高さ情報との論理積演算(AND処理)を行ってその結果を用いて判断しても良い。
図6(d)では、第2色のデータについて、書き込み位置を示すe1(WP:ライトポインタ)は、読み出し位置を示すe2(RP:リードポインタ)の手前で書き込みを停止することを示す。これは、読み出しが終了していない位置には、データの書き込みを禁止して、上書きをすることを防ぐ制御を行うものである。以上の制御は、第3色から第8色の領域についても同様である。
<記録バッファへのデータの格納処理>
図9及び10は、レジスト調整値がゼロでない時に、記録バッファ4に記録データがどのように格納されるか説明する図である。図9及び10では、第1色データとして縦に順に3ワード分ずつ、格納されている状態を示す。ここで1ワードが16画素分に対応している。
図9及び10は、レジスト調整値がゼロでない時に、記録バッファ4に記録データがどのように格納されるか説明する図である。図9及び10では、第1色データとして縦に順に3ワード分ずつ、格納されている状態を示す。ここで1ワードが16画素分に対応している。
ここで、図9はデータが入力される順番を示し、図10は実際に書き込まれるアドレスを示している図である。第1色の先頭アドレスは0であり、次のアドレス2は、アドレス0からノズルの配列方向に割当てられる。ここで、図9、図10に格納される1アドレスに格納されているデータは、ノズルの配列方向に16ビット、記録ヘッドの走査方向に1ビットに対応している。
また、図9及び10の斜線部は第1色目のレジスト調整値(6)および第2色目のレジスト調整値(2)を示している。これらのレジスト調整単位は、1カラム(1ドット、記録データでは1ビットに対応する)である。実際の書き込み開始位置は図9に示す位置からになるが、実アドレスは図10に示す通り、レジスト調整値に対応してスキップした位置(例えば左から7つ目の24)から始まることになる。
また、図9及び10の2つの図は対応しているので、例えば1番目に書き込まれるデータのアドレスは、図10に示すように24となり、2番目に書き込まれるデータのアドレスは図10に示すように2Aとなる。
ここで、図9及び10のレジスタの設定は、バッファの高さ情報(ラスター数)の値(1st_hight)は「3」であり、データの有り無し情報の値(1_color_bit)は「1(有り)」である。レジスタ813(ブロックの幅情報:block_width)の値は「16」である。第1色目のレジスト調整値(1_reg_wnum)は6で第2色目のレジスト調整値(2_reg_wnum)は3である。
この時、例えば図9において、レジスタに情報を格納するアドレスを右に1ずつインクリメントすると、図10においてライトポインタ(WP)の実アドレスは0→6→C→12→18→…とカウントアップされることになる。
ここで、データを書き込む順番は、図9及び図10の様に16個単位で一つ下の段に行っても構わないし、データを受信する順序により、ブロック幅まで進んだ後(10個単位)一つ下の段に移っても構わない(図9で、10の位置の次に17の位置に進む)。
また、図9に示す通りに、第1色データについて、10個目までデータが書き込まれた(格納された)後、11個目のデータを書き込む先は、次のブロック(第2ブロック)の先頭になる。これはレジスト調整を行うことによって、現在のブロック(第1ブロック)に入りきらなくなったデータを書き込む(格納する)ためである。
レジスト調整分の書き込みが終了(図9で16番目のデータ書き込みが終了)すると、17個目のデータは、現在のブロック(第1ブロック)から書かれることになる。これは実際のアドレスが図10で16個目がDEで、17個目が26になると言うことである。
この様にして、現在のブロック(第1ブロック)と次のブロック(第2ブロック)との間を行き来することで、レジスト調整を行いながら、第1色目のデータを書き込んでいく。
第1色目のデータが全て書き終わると、同様の処理を第1ブロックの第2色目以降に行っていく。
また、レジスタに情報を格納するアドレスは、図6のように縦に1ずつインクリメントさせて、ライトポインタ(WP)の実アドレスを0→2→4→6→8→…とカウントアップさせてもよい。
ここで、図9においてレジスタに情報を格納するアドレスを縦に1ずつインクリメントさせないのは、画像変換ブロック3からのデータや、ホストからのデータの変更に柔軟に対応するためである。
例えば、画像変換ブロック3を使用しない時には、ホストからの記録データは、従来通りレジスタに情報を格納するアドレスは図6のように1ずつインクリメントさせて、ライトポインタ(WP)は1→2→3→4→5→…とカウントするように対応している。
しかし、画像変換ブロック3を使用して例えばHV変換等を行うと、HV変換を行った後の記録記録データは、レジスタに情報を格納するアドレスは図6のように1ずつインクリメントさせて、ライトポインタ(WP)を1→2→3→4→5→…とカウントアップする事が出来なくなる。
その為、アドレスのインクリメント量に自由度を持たせることで、ホストからの様々なデータ転送方式にも対応でき、また画像変換ブロック3でのデータ変換にも対応することが出来るようになる。
<レジスト調整による記録バッファ内のデータ>
図11A、図11B、図11Cは、レジスト調整に関連したデータの状態を模式的に示す図である。図中の数字はいずれもブロック番号を示している。図11Aは、ホストコンピュータ(プリンタドライバ)で全てのレジスト調整を行った場合の転送データを示している。図11Bは、ホストコンピュータから送信され記録装置が受信したデータを示している。このデータに対してはレジスト調整は行われていない。図11Cは、図11Bのようなデータに対して記録装置側でレジスト調整され、記録バッファに格納されたデータを示している。
図11A、図11B、図11Cは、レジスト調整に関連したデータの状態を模式的に示す図である。図中の数字はいずれもブロック番号を示している。図11Aは、ホストコンピュータ(プリンタドライバ)で全てのレジスト調整を行った場合の転送データを示している。図11Bは、ホストコンピュータから送信され記録装置が受信したデータを示している。このデータに対してはレジスト調整は行われていない。図11Cは、図11Bのようなデータに対して記録装置側でレジスト調整され、記録バッファに格納されたデータを示している。
図11Aと図11Cに示されたデータを記録媒体へ記録すると、いずれもレジスト調整がなされているため同様な記録結果となるが、図11Cのデータは図11Bの受信データに対して記録装置側でレジスト調整を行ったため、ラスタ方向にブロック位置がずれ、その結果として図11Bのデータよりもブロック数が1つ増えている。
このようにホストコンピュータから送信したブロック数と記録装置の記録バッファに書き込まれたブロック数が異なると、論理的な矛盾が生じてしまう。
この様な矛盾が生じないように、図11Bに示すようなデータをホストコンピュータから転送する場合、1ブロック余分なデータを付加して記録装置に送信し、ホストコンピュータと記録装置(記録バッファ)とのブロック数が同じとなるようにする。
図12A、図12B、図12Cは、レジスト調整に関連したデータの状態を、図11A〜図11Cと同様に示す図である。図12Aは、ホストコンピュータ(プリンタドライバ)で全てのレジスト調整を行った場合の転送データを示しており、図11Aと同様な構成となる。図12Bは、ホストコンピュータから送信され記録装置が受信したデータを示している。このデータに対してはレジスト調整は行われていない。図12Cは、図12Bのようなデータに対して記録装置側でレジスト調整され、記録バッファに格納されたデータを示している。
ここで、図11B及び図11Cに示したデータと、図12B及び図12Cに示したデータとを比較すると、図11Bの受信データに対してレジスト調整を行った図11Cのデータのブロック数は1つ増えているが、図12Bの受信データに対してレジスト調整を行った図12Cのデータのブロック数は増えていないことがわかる。ずなわち、ホストコンピュータから図12Bのようなデータを転送する場合には、1ブロック余分に送信する必要はない。
図11B及び図11Cに関連して、1ブロック余分に転送する場合についてもう少し詳しく説明する。図13Aは、1ブロック余分に転送する場合のデータ構成を示す図である。この場合、留意すべきは1ブロック余分(追加された)に転送されたブロックの色変えコードの位置である。
図13Aにおいて、(a)は圧縮前のデータを示し、(b)は圧縮前のデータにレジスト調整幅を加えた状態を示し、(c)は増えたブロックの後端を基準としたレジスト調整幅を示し、(d)は色変えコードが挿入される位置(挿入されるべき位置)を示している。なお、(b)のブロックは第nブロック、(c)のブロックは第n+1ブロックとする。
この場合、色変えコードの位置は、(d)のクロスハッチの領域内にある必要がある。これは、(d)の斜線部分の領域に色変えコードが入っていると、レジスト調整することによってブロックが更に1つ増えてしまうからである。
図13Bも図13Aと同様に、(a)は圧縮前のデータを示し、(b)は圧縮前のデータにレジスト調整幅を加えた状態を示し、(c)は増えたブロックの後端を基準としたレジスト調整幅を示し、(d)は色変えコードが挿入されるべき位置を示している。図13Aと異なるのは、1ブロック余分に転送しない点である。
この場合にも、(d)のクロスハッチの領域以外に色変えコードが入っていると、レジスト調整することによって1ブロック増えてしまうため、色変えコードの位置は、(d)に示すように、(c)に示された後端を基準にしたレジスト調整幅の境界より前にある必要がある。
<記録バッファへの格納方法>
以下に、シアン、イエロー、マゼンタ、黒(Bk)の4色それぞれに縦64個のノズル列を走査方向に2列ずつ有し、シアン、イエロー、マゼンタの3色については、奇数列のノズルと偶数列のノズルとで吐出するインク滴の容量、すなわち形成されるドットの大きさが異なる記録ヘッドを用いて、シアン、イエロー、マゼンタの3色については、奇数列と偶数列のノズルを交互に駆動して記録を行う場合の、記録バッファへの記録データの格納方法について説明する。
以下に、シアン、イエロー、マゼンタ、黒(Bk)の4色それぞれに縦64個のノズル列を走査方向に2列ずつ有し、シアン、イエロー、マゼンタの3色については、奇数列のノズルと偶数列のノズルとで吐出するインク滴の容量、すなわち形成されるドットの大きさが異なる記録ヘッドを用いて、シアン、イエロー、マゼンタの3色については、奇数列と偶数列のノズルを交互に駆動して記録を行う場合の、記録バッファへの記録データの格納方法について説明する。
なお、各ノズル列のノズルはいずれも600dpiのピッチで配列され、シアン、イエロー、マゼンタの3色については、奇数列と偶数列のノズル列はノズルの配列方向に互いにピッチの半分だけずらされており、奇数列のノズルと偶数列のノズルを交互に駆動することによって記録解像度1200dpiでの記録が行われる。
図14は、ホストコンピュータから送信されるデータと、該データに対応した記録データを格納した様子を示す図である。なお、図14では、奇数列を「O(odd)」、偶数列を「E(even)」でそれぞれ表し、奇数列のノズルから吐出したインクによって記録媒体(例えば記録用紙)上に形成される大きなドットのデータを「大」、偶数列のノズルから吐出したインクによって形成される小さなドットのデータを「小」で表すものとする。
図14Aは、ホストコンピュータから送信される画像データの1例を示している。図示されたようにホストコンピュータからは、8つのノズル列に対応した1401〜1408の8つの画像データがブロック形式で順次送信される。
図14Bは、本実施形態で図14Aの画像データを記録バッファに格納した状態を示す図である。上記のように、Bk以外の色については、2つのノズル列を交互に駆動するため、1つのブロック(1411〜1413)に2つのノズル列の記録データを格納している。つまりホストコンピュータから送信された記録解像度600dpiの2つのノズル列の画像データを交互に配置して、記録装置内部では記録解像度1200dpiの1つのブロックとして取り扱う。また、黒(Bk)の2つのノズル列の画像データについては、2つの列に対する記録データを連続した形で記録解像度1200dpiの1つのブロック1414に格納する。
図14Cは、図14Aの画像データを従来の方法で記録バッファに格納した状態を示す図である。Bk以外の色については、図14Bと同様に格納されるが、Bkのデータについては、ホストコンピュータから送信されたのと同様に、2列の600dpiの記録データをそれぞれ異なるブロック1424及び1425に格納している。このBkの記録データを格納した2つのブロック1424及び1425は、半分の領域にのみ記録データが格納されているが、残り半分の領域は他の色と区切り位置を合わせるため使用されない。従って、図14Bに示した本実施形態における記録バッファの格納状態と比較すると、600dpi×2=1200dpi分の記録バッファが無駄になってしまうことがわかる。
ここで記録データをトグル格納したい時には849のレジスタを使用する。例えば、トグル格納を行う場合には、レジスタ849に「1」を設定する。この「1」を設定することで、トグル格納機能が有効になる。一方、トグル格納を行わない場合には、レジスタ849に「0」を設定する。このトグル格納機能により、図14Bに示すように、2つのノズル列で記録されるデータを走査方向に、1ビット単位で交互に格納することができる。
従って、トグル格納した記録データについての読出したデータを奇数列のノズルあるいは偶数列のいずれか対応させる。この処理は記録データ生成ブロックで行う。
ここで、図14Bに示すように、解像度が異なる記録データを格納する場合には、レジスタ850に「1」を設定する。これにより、1411、1412、1413に格納されている解像度1200dpiのデータとは異なる解像度600dpiの2種類のBkデータを1つのブロック(ブロック1414)に詰めて格納することができる。
このように、1つのブロックに詰めて格納した場合には、この格納に応じて読出し処理を行う。
従って、記録データの色により読出し方が異なる。例えば、シアンやマゼンタなどのデータについて2カラム分読み出した場合、ブラックについてのデータは1カラム分の読出しを行う。これは、格納されているデータの解像度の比1200dpi:600dpi=2:1に対応している。
このような読出し処理は、レジスタ850に「1」が設定されている場合に行われるよう制御すれば良いが、予め特定の色のデータについて行うと決まっていれば、読出しを行う場合の色数をカウントして読出しを行えばよい。
なお、レジスタ850に「0」を設定すれば、図14Cに示すように解像度600dpiのデータ(Bk)をブロック1424、1425に別々に格納することができる。
以上のように、レジスタ849と850を使用することで、ブロックに所望の形態で記録データを格納することができ、ブロックを有効に使用することができる。
以上のように、レジスタ849と850を使用することで、ブロックに所望の形態で記録データを格納することができ、ブロックを有効に使用することができる。
ここでトグル格納対象の色の判別とトグル格納対象外の色の判別する方法の例として、1つ目に予め、トグル格納をおこなうデータを決めておく。上述したように本実施例では、7色目(7番目)のデータ・8色目(8番目)のデータ以外はトグル格納対象色と決めておき、格納する色数をカウントして制御を行えばよい。2番目の例として、レジスタ805〜812が、トグル格納対象のデータであるか否かを示す情報を保持すればよい。あるいは各色データについて、トグル格納対象色か否かだけを示す専用のレジスタを設けてもよい。
図14Dは、ホストコンピュータから送信される画像データの別の例を示している。図示した例では、Bk以外の色については、ホストコンピュータ(プリンタドライバ)は、記録解像度600dpiの2つのノズル列を記録解像度1200dpiの1つのノズル列として認識し、各色の画像データを1つのブロックで送信する。従って、シアン、イエロー、マゼンタの3色については、1200dpiの画像データがブロック1431、1432、1433でそれぞれ送信され、Bkについては600dpiの画像データが1434及び1435で2列分送信される。
図14Eは、本実施形態で図14Dの画像データを記録バッファに格納した状態を示す図である。この場合にも、黒(Bk)の2つのノズル列の画像データについては、2つの列に対する記録データを連続した形で記録解像度1200dpiの1つのブロック1444に格納する。図14Fは、図14Dの画像データを従来の方法で記録バッファに格納した状態を示す図であり、図14Eに示した本実施形態における記録バッファの格納状態と比較すると、2つのブロック1454と1455内の1200dpi分の記録バッファが無駄になってしまうことがわかる。上述したレジスタ850に「1」を設定することで図14Eに示すように記録データを格納できる。
また、本例では格納する記録データの解像度の比率をノズルの解像度に合わせ「1200dpi:600dpi=2:1」としている。しかし解像度の比率は一例であり、例えば解像度の比率が「3:2」のように、2種類の解像度の一方が他方の解像度の複数倍にならない時でも、記録バッファを無駄にしない格納方法は可能である。
例えば、図16A、図16B、図16C、図16Dのように解像度の比率が「3:2」の場合では、図16Dにあるように基準となる解像度を300dpiとし、格納される全ての記録データは、この基準となる解像度のN倍とすることで、記録バッファを無駄にしない格納が可能になる。
また図17A、図17B、図17C、図17Dのように解像度の比率が「5:2」となる場合でも、以上と同じ考え方で記録バッファを無駄にしない格納が可能となる。
<記録バッファへのデータの格納例>
図15A及び15Bは、レジスト調整値がゼロでない時に記録バッファ4に、レジスタ849に「1」をセットして、2つのノズル列の記録データを交互に格納(トグル格納)した状態を説明する図である。なお、記録データのビットの対応関係は、図9や図10と同じである。
図15A及び15Bは、レジスト調整値がゼロでない時に記録バッファ4に、レジスタ849に「1」をセットして、2つのノズル列の記録データを交互に格納(トグル格納)した状態を説明する図である。なお、記録データのビットの対応関係は、図9や図10と同じである。
図15A及び15Bでは1列目の記録データとして縦(ノズル列方向)に順に3ワード分ずつ格納されている状態を示している。なお、この例では1ワードが16画素分に対応している。図15Aはデータが入力される順番を示し、図15Bは実際に書き込まれるアドレスを示している。データ(1−1)、データ(1−2)、データ(1−3)、…は、既に上述している大きなドットのデータである。また、データ(2−1)、データ(2−2)、データ(2−3)、…は、小さなドットのデータである。
また、図15A及び15Bにおける斜線部は、2つのノズル列に対するレジスト調整値を示している。実際の書き込み開始位置は、図15Aに示す位置からになるが、実アドレスは図15Bに示す通りレジスト調整値分スキップした値から始まることになる。また、これら2つの図は対応しており、例えば1番目に書き込まれるデータ(1−1)のアドレスは図15Bに示すように18となり、2番目に書き込まれるデータ(1−2)のアドレスは図15Bに示すように24となる。データは、図の矢印の方向に格納される。このデータ(1−1)から(1−14)まで格納する。残るデータ(1−15)、データ(1−16)は、次のブロックに格納される。以下の格納処理については図9、図10で説明しているので省略する。
小さなドットのデータであるデータ(2−1)は、図15Aに示すようにデータ(1−1)の右隣に格納されている。データ(2−2)はデータ(1−2)の右隣に格納されている。このように、大きなドットのデータと小さなドットのデータが主走査方向(矢印)に交互に格納されている。
言い換えると、ノズル列の配列順に、奇数ノズル列のデータ、偶数ノズル列のデータ、奇数ノズル列のデータという順序で、繰り返し格納されている。
ここで図15A及び15Bのレジスタの設定は、バッファの高さ情報(ラスター数)の値は「3」であり、データの有り無し情報の値は「1(有り)」である。レジスタ813(ブロックの幅情報)の値は「32」である。第1列目のレジスト調整値は2であり、第2列目のレジスト調整値は1である。この時、例えば図15Aにおいてレジスタに情報を格納するアドレスを右に1つ飛びでインクリメントすると、図15Bにおいてライトポインタ(WP)の実アドレスは0→C→18→24→30…とカウントすることになる。
ここでデータを書き込む順番は、ブロック幅まで行ってから一つ下の段に行っても構わないし、図15A及び15Bの様に16個単位で一つ下の段に行っても構わない。また図15Aに示す通りに14個目までデータが書き込まれた後、15個目のデータを書き込む先は次のブロックの先頭になる。これはレジスト調整を行うことによって、現在のブロックに入りきらないレジスト調整分のデータを書き込むためである。
レジスト調整分の書き込みが終了(図15Aで16番目のデータの書き込みが終了)すると、17個目のデータは、現在のブロックから書かれることになる。これは実際のアドレスが図15Bで16個目が17Cで、17個目が1Aになると言うことである。
この様にして現在のブロックと次のブロックとの間を行き来することで、レジスト調整を行いながら、第1列目のデータを書き込んでいく。
第1列目のデータが全て書き終わると、同様の処理を第2列目以降に行っていく。
またレジスタに情報を格納するアドレスは、図15Aのように縦に1ずつインクリメントさせて、ライトポインタ(WP)の実アドレスを0→2→4→6→8→…とカウントしてもよい。
ここで図15Aにおいてレジスタに情報を格納するアドレスを縦に1ずつインクリメントさせないのは、画像変換ブロック3からのデータや、ホストからのデータの変更に柔軟に対応するためである。
例えば画像変換ブロック3を使用しない時には、ホストからの印字データは、従来通りレジスタに情報を格納するアドレスは図6のように1ずつインクリメントさせて、ライトポインタ(WP)は1→2→3→4→5→…とカウントするように対応している。しかし、画像変換ブロック3を使用して例えばHV変換等を行うと、HV変換を行った後の印字画像データは、レジスタに情報を格納するアドレスは図6のように1ずつインクリメントさせて、ライトポインタ(WP)は1→2→3→4→5→…とカウントする事が出来なくなる。
その為、アドレスのインクリメントに自由度を持たせることで、ホストからのデータ転送の修正にも対応でき、また画像変換ブロック3でのデータ変換にも対応することが出来るようになる。
<記録バッファからのデータの読み出し>
以下に、図8を参照して記録バッファからのデータの読み出し処理について説明する。図8において、左側は記録バッファリング構造制御回路8の読み出しアドレス制御部8Aを示し、右側は記録バッファ4を示している。
以下に、図8を参照して記録バッファからのデータの読み出し処理について説明する。図8において、左側は記録バッファリング構造制御回路8の読み出しアドレス制御部8Aを示し、右側は記録バッファ4を示している。
記録バッファ4のバッファ領域は、記録バッファの先頭のアドレスであるtop_adrで表され、最終アドレスはbottom_adrで表される。この先頭アドレスはレジスタ803に格納され、最終アドレスはレジスタ804に格納される。記録バッファに示される「RP」は図5と同様にリードポインタであり、「WP」はライトポインタである。記録バッファ4におけるRPとWPの間のハッチング部分は記録データが格納されていることを表し、それ以外の部分は記録データが格納されていないことを表す。
読み出しアドレス制御部8A内の802は、データの読み出しアドレス(RP:リードポインタ)を示すレジスタであり、破線の枠で囲った900は第1レジスタ群、実線の枠で囲った901は第2レジスタ群である。
第1ブロックから第8ブロックの記録データを記録する場合、例えば、走査の開始時において、第1レジスタ群には第1ブロックについての情報が格納されている。また、第2レジスタ群には、第2ブロックについての情報が格納される。第1ブロックの記録が終了すると、第1レジスタ群900には第2レジスタ群901の情報がコピーされて格納される。そして第2レジスタ群901には、第3ブロックの情報が格納される。以下、最後の第8ブロックのデータが格納されるまで同様の処理が順に行われる。そして、次の走査開始時には、再び、第1レジスタ群には第1ブロックの情報が格納され、第2レジスタ群には第2ブロックの情報が格納される。
第1レジスタ群が示す第nブロックの記録が終了した時、第2レジスタ群に第n+1ブロックの情報が格納されていない場合は、第n+1ブロックの記録データがまだ準備できていないので、第2レジスタ群の情報は第1レジスタ群にコピーされず、加えて記録バッファからのデータ読み出しを停止する。
第1レジスタ群内にあるレジスタ819は、第1色についての高さ情報(1st_hight)と色データの有り無し情報(1_color_bit)を設定するレジスタである。各レジスタ822、824、826、828、830、832、834は第2色〜第8色について同様に高さ情報と色データの有り無し情報を設定するレジスタである。
820は各ブロックデータの幅情報(block_width)を格納するレジスタである。この幅情報は第1色〜第8色までブロック単位で、共通して使われる値である。
レジスタ818は第1色の読み出しアドレス(1st_color_adr)を格納するレジスタである。第1色のデータが格納されている記録バッファ819から読み出されるとアドレスが更新される。例えば図8(a)に示すように、第1色データの内、1→2→3→4と1カラム分のデータが読み出される。レジスタ821、823、825、827、829、831、833はそれぞれ第2色〜第8色の読み出しアドレスを格納するレジスタであり、第2色〜第8色の色データも第1色の色データと同様に順に1カラム分のデータが読み出される。
記録バッファ4に格納されるデータは複数の色データを含むため、例えば、第1色、第2色、…の色データが混在した場合、各色単位の色データを格納するためのアドレスは、連続していないものとなる。そのため、読み出しアドレスのレジスタが1つであれば、例えば第1色の記録バッファ4のアドレスの次に第2色の記録バッファ1のアドレス読み出しを行う際、アドレス計算をする必要があるが、記録バッファ4に各色ごとに読み出しアドレスを格納するレジスタを用意することで、カラム単位での読み出しを行う際のアドレス計算を省くことができる。
817はアドレス制御レジスタである。読み出しアドレスは、記録データ生成ブロック5が各色毎にデータ読み出し要求信号線S805を介して要求すると、アドレス制御レジスタ817は読み出しアドレスとして信号線S806を介して1アドレスずつ加算して記録バッファ4に出力する。
835は次のブロックのアドレスを格納するレジスタである。現在読み出されているブロックが第1ブロックであれば、このレジスタには第2ブロックの先頭のアドレスが格納される。このレジスタの値は、現在読み出されているブロックデータの読み出しが終了すると、レジスタ802にコピーされる。これにより、次のブロックデータの読み出しがスムーズにできる。
レジスタ836は第1色から第8色のうち、読み出す順序を特定するための情報を格納するテーブルである。このテーブルに設定された値によって記録バッファからデータを読み出す順序を自由に設定することができる。例えば、第1色→第2色→…→第8色の順に読み出すことができる。また、値を変えて、第1色→第2色→第5色→第6色→第7色→第8色のように第3色、第4色のデータの読み出しをスキップすることもできる。これによって、格納されていない色の記録データについては、正確に読みとばすことができる。
第2レジスタ群901は次のブロックデータに関する情報を格納するバッファの集まりである。第1レジスタ群の各レジスタが読まれたら、第2レジスタ群の各レジスタに設定されている値が、第1レジスタ群の対応するレジスタに設定される。例えば、レジスタ838に設定されている値がレジスタ819に設定される。レジスタ839〜845は、次のブロックデータにおける第2色〜第8色の色データについて同様の情報が設定されるレジスタである。
レジスタ838(819)には第1色目のデータのバッファの高さ情報と、第1色データの有り無しを示す情報が格納される。
846(820)はブロックの幅情報を設定するレジスタである。この幅情報は第1色〜第8色までブロック単位で、共通して使われる値である。
レジスタ878は、先に設定したブロックのサイズとブロックのサイズが同じであるか否かを表す情報(same_type)を格納するレジスタであり、ブロックのサイズが同じ場合、この値を「1」とすることで、第1レジスタ群に同じ値を容易に再設定することができる。この場合、レジスタ838〜846の設定を省くことができる。一方、レジスタ878の値が「0」の場合には、各レジスタ838〜846にそれぞれの値が設定される。
以上説明したように本発明の好適な一実施形態によれば、インクジェット記録装置において、記録解像度の異なるノズル列がある場合、記録解像度の低い複数のノズル列の記録データを、記録解像度の高い記録データに対応した1つのブロックに格納する。このため、実質的に記録解像度が異なるノズル列があっても、記録バッファのブロックのサイズを統一でき、走査回数が増えず従来よりも記録速度が向上する。また、記録バッファに無駄となる領域がなくなり、必要となるバッファ容量を最小化することができるので、インクジェット記録装置のコストを低減するすることが出来る。
<他の実施形態>
なお以上の実施形態では本発明をインクジェット方式に従って記録を行うインクジェット記録装置に適用した場合を例に挙げて説明したが、本発明は複数の記録素子が配列された記録ヘッドを記録素子の配列方向と交差する方向に走査して記録を行う記録装置であれば、他の方式の記録装置にも適用できる。
なお以上の実施形態では本発明をインクジェット方式に従って記録を行うインクジェット記録装置に適用した場合を例に挙げて説明したが、本発明は複数の記録素子が配列された記録ヘッドを記録素子の配列方向と交差する方向に走査して記録を行う記録装置であれば、他の方式の記録装置にも適用できる。
また、記録ヘッドのノズル列の構成は上記で説明した例に限定されず、記録解像度が異なるノズル列(複数のノズル列の組合せでで1つの画素を記録する場合には記録解像度が異なるノズル列の組合せを)含む複数のノズル列を有する構成であれば、本発明を適用できる。
ノズル列(又はノズル列の組合せによる)の記録解像度は、上記の例のように2種類である必要はなく、3種類以上であってもよい。
この場合、例えば、ノズル列の記録解像度が2種類であれば、一方の記録解像度が他方の記録解像度の複数倍であると好適である。
以上の実施形態は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギとして熱エネルギを発生する手段(例えば電気熱変換体やレーザ光等)を備え、前記熱エネルギによりインクの状態変化を生起させる方式を用いることにより記録の高密度化、高精細化が達成できる。
加えて、上記の実施形態で説明した記録ヘッド自体に一体的にインクタンクが設けられたカートリッジタイプの記録ヘッドのみならず、装置本体に装着されることで、装置本体との電気的な接続や装置本体からのインクの供給が可能になる交換自在のチップタイプの記録ヘッドを用いてもよい。
また、以上説明した記録装置の構成に、記録ヘッドに対する回復手段、予備的な手段等を付加することは記録動作を一層安定にできるので好ましいものである。これらを具体的に挙げれば、記録ヘッドに対してのキャッピング手段、クリーニング手段、加圧あるいは吸引手段、電気熱変換体あるいはこれとは別の加熱素子あるいはこれらの組み合わせによる予備加熱手段などがある。また、記録とは別の吐出を行う予備吐出モードを備えることも安定した記録を行うために有効である。
さらに、記録装置の記録モードとしては黒色等の主流色のみの記録モードだけではなく、記録ヘッドを一体的に構成するか複数個の組み合わせによってでも良いが、異なる色の複色カラー、または混色によるフルカラーの少なくとも1つを備えた装置とすることもできる。
さらに加えて、本発明に係る記録装置の形態としては、コンピュータ等の情報処理機器の画像出力端末として一体または別体に設けられるものの他、リーダ等と組み合わせた複写装置、さらには送受信機能を有するファクシミリ装置の形態を取るものであっても良い。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
Claims (9)
- 記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置であって、
接続されたホスト機器から送信された、各記録素子列に対応した記録データを格納する受信バッファと、
前記走査方向における記録領域を複数のブロックに分割し、該ブロック毎に記録データを格納する記録バッファと、
前記ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロックに格納するように前記記録バッファへの格納を制御する書き込み制御手段と、
を備えることを特徴とする記録装置。 - 前記書き込み制御手段は、同じ色を記録する複数の記録素子列の記録データを1つのブロックに格納するように制御することを特徴とする請求項1に記載の記録装置。
- 2つの記録素子列で同じ色を記録し、該2つの記録素子列は前記所定方向に互いにピッチの半分だけずらされて配列されていることを特徴とする請求項2に記載の記録装置。
- 前記2つの記録素子列は、互いに記録するドットの大きさが異なることを特徴とする請求項3に記載の記録装置。
- 前記書き込み制御手段は、他の記録素子列よりも記録解像度が低い複数の記録素子列の記録データを1つのブロックに格納するように制御することを特徴とする請求項1に記載の記録装置。
- Nが2以上の整数であるとき、前記記録解像度が低い記録素子列の数がNであり、該N個の記録素子列の記録解像度が、他の記録素子列の記録解像度のN分の1であることを特徴とする請求項5に記載の記録装置。
- 前記書き込み制御手段は、複数の記録素子列の記録データを1つのブロックに記録素子列の配列順に繰り返し格納することを特徴とする請求項1に記載の記録装置。
- 前記書き込み制御手段は、2つの記録素子列の記録データを1つのブロックに記録素子列の配列方向に交互に格納することを特徴とする請求項1に記載の記録装置。
- 記録素子が所定方向に配列された記録素子列を複数有する記録ヘッドを、前記配列方向と交差する方向に走査させて記録を行う記録装置のデータ処理方法であって、
接続されたホスト機器から送信された、各記録素子列に対応した記録データを受信バッファに格納する受信工程と、
前記走査方向における記録領域を複数の領域に分割し、該領域に対応して記録バッファのブロックのサイズを設定する設定工程と、
前記ブロックのサイズに応じて、複数の記録素子列の記録データを1つのブロックに格納するように前記記録バッファへの格納を制御する書き込み制御工程と、
を備えることを特徴とする記録装置のデータ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004163754A JP2005342965A (ja) | 2004-06-01 | 2004-06-01 | 記録装置及び記録装置のデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004163754A JP2005342965A (ja) | 2004-06-01 | 2004-06-01 | 記録装置及び記録装置のデータ処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005342965A true JP2005342965A (ja) | 2005-12-15 |
Family
ID=35495780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004163754A Withdrawn JP2005342965A (ja) | 2004-06-01 | 2004-06-01 | 記録装置及び記録装置のデータ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005342965A (ja) |
-
2004
- 2004-06-01 JP JP2004163754A patent/JP2005342965A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826066B2 (ja) | 記録装置及び記録装置の制御方法 | |
US7528984B2 (en) | Printing apparatus, data processing method for printing apparatus, and printing system | |
US8724157B2 (en) | Printing apparatus and printer driver | |
EP1700698B1 (en) | Recording apparatus, data processing method for recording apparatus, and recording system | |
US8730514B2 (en) | Recording apparatus and method of controlling the recording apparatus based on image data commands | |
US8004705B2 (en) | Printing system and printing method using transfer of compressed image data and compression pattern from host to printing apparatus | |
JP4665792B2 (ja) | 印刷システム及び印刷方法 | |
US7535593B2 (en) | Printing apparatus, data processing method for printing apparatus, and printing system | |
JP3613076B2 (ja) | 画像処理装置、画像処理方法、および記録媒体 | |
JP4502391B2 (ja) | 記録装置、記録装置のデータ処理方法、及び記録システム | |
JP3919587B2 (ja) | 記録装置及び記録装置の制御方法 | |
JP2005342965A (ja) | 記録装置及び記録装置のデータ処理方法 | |
KR100771714B1 (ko) | 기록 장치 및 기록 장치에 대한 데이터 처리 방법 | |
JP2006281779A (ja) | 記録装置、記録装置のデータ処理方法、記録装置の制御方法、プログラム及び記憶媒体 | |
JP3970296B2 (ja) | 記録装置及び記録装置の制御方法 | |
JP3970297B2 (ja) | 記録装置及び記録装置の制御方法 | |
JP3927880B2 (ja) | 記録装置及び記録装置の制御方法 | |
JP2005153414A (ja) | 記録装置及び記録装置の制御方法 | |
JP2006168198A (ja) | 記録装置及び記録装置の制御方法 | |
JP2005262589A (ja) | 記録装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070807 |