(57)【特許請求の範囲】
【請求項１】
内部にブラケットが設けられたハウジングと、
ブラケットに収容されたモータ及びギアと、
前記ハウジングの端部に配置されるフロントパネルであって、フロントパネルはフロントパネルを貫く開口部を画定し、その開口部によって前記ハウジングの内側へのアクセスが可能であることと、
前記開口部を介して後退位置と突出位置との間を移動可能であるように、前記ハウジングに対して摺動可能に配置されているキャリヤと
を備えるプリンタシステムであって、前記キャリヤは、
印刷媒体を供給するための印刷媒体受容器と、
インクを供給するためのインク受容器と、
ページ幅のプリントヘッドを有する第１の印刷エンジンとを保持するものであり、
前記ブラケットに収容されたモータ及びギアは、ピックアップローラを駆動して前記印刷媒体受容器上の印刷媒体を前記第１の印刷エンジンのプリントヘッドに送るように構成されている、プリンタシステム。
【請求項２】
前記キャリヤが後退位置にある時に、印刷媒体上に画像が印刷された後に、そこを介して印刷媒体が排出される印刷媒体用のスロットがフロントパネルとキャリヤとの間に形成される、請求項１に記載のシステム。
【請求項３】
キャリヤは、ハウジング内の案内手段上に支持されているシャーシを備える、請求項１または請求項２に記載のシステム。
【請求項４】
前記印刷媒体受容器は、シャーシ上に保持されているプラテンである、請求項３に記載のシステム。
【請求項５】
前記インク受容器は、インクカートリッジが取り外し可能に収容されている収容装置である、請求項３または請求項４に記載のシステム。
【請求項６】
前記収容装置は、キャリヤおよび第１の印刷エンジンに関して正しい位置にあるインクカートリッジを解放可能にロックするためのロック装置を備える、請求項５に記載のシステム。
【請求項７】
印刷媒体の両面に印刷を行うために、前記第１の印刷エンジンに対向して配置される第２の印刷エンジンをさらに備える、請求項１乃至６のいずれか１項に記載のシステム。
【請求項８】
印刷媒体の供給およびインクの供給のようなプリンタの消耗品が補充を必要とすることを表示するために、表示装置が前記フロントパネルに設けられている、請求項１乃至７のいずれか１項に記載のシステム。
【請求項９】
前記第２の印刷エンジンは、前記第１の印刷エンジンに対して回動可能である、請求項７に記載のシステム。
【請求項１０】
前記第２の印刷エンジンは、前記第１の印刷エンジン及び前記第２の印刷エンジンの間を通過する印刷媒体をバネによって押圧する、請求項７に記載のシステム。
【発明の詳細な説明】
【０００１】
（発明の分野）
本発明は、プリンタに関する。より詳細には、本発明は高速プリンタに関する。
【０００２】
（発明の背景）
プリンタシステムは、ラック搭載可能なモジュール、またはこのようなシステムと一体になっている部分としてその内部に内蔵される種々のタイプの元の装置と一緒に使用するためのものである。
【０００３】
（発明の概要）
本発明の第１の態様によると、
ハウジングと、
ハウジングの端部に配置され、その内部に形成されている開口部を有するフロントパネルと、
前記開口部において後退位置と突出位置との間を移動可能であるよう、ハウジングに対して摺動可能に配置されるキャリヤとを備え、該キャリヤは、
印刷媒体を供給するための受容器と、
インクを供給するための受容器と、
ページ幅のプリントヘッドを有する印刷エンジンとを保持する印刷システムを提供する。
【０００４】
本明細書においては、文脈が明確に別の意味であると示していない限り、「ページ幅プリントヘッド」という用語は、ページ上において一度に１行を印刷する印刷ゾーンを有するプリントヘッドを意味するものと理解されたい。前記行は、ページの長手方向端部または短手方向端部に平行である。ページがプリントヘッドを通過して移動すると、行全体が印刷され、プリントヘッドは固定式であり、すなわち、行はラスタではない。
【０００５】
キャリヤが後退位置に位置している時に、画像が印刷媒体上に印刷された後に、そこを通過して印刷媒体が排出される印刷媒体用のスロットが、フロントパネルとキャリヤとの間に形成される。
【０００６】
キャリヤは、ハウジング内に案内手段上に支持されているシャーシを備え得る。
よって、印刷媒体供給のための受容器は、シャーシ上に保持されるプラテンであり得る。同様に、インク供給のための受容器は、その内部において、インクカートリッジを取り外し可能に収容されている収容構造物を使用し得る。収容構造体は、キャリヤおよび印刷エンジンに対して、インクカートリッジを取り外し可能に正しい位置にロックするためのロック装置を備え得る。
【０００７】
印刷媒体の両面に印刷するために、キャリヤが後退位置に位置する時に、キャリヤ上に配置されている印刷エンジンに対向して、ハウジング内に第２の印刷エンジンが配置され得る。
【０００８】
印刷消耗品、すなわち、供給される印刷媒体および供給されるインクが補充を必要とする時を表示するための表示手段をフロントパネルに備え得る。この表示手段としては、１つまたはそれ以上の発光ダイオードのような視覚的表示手段を使用し得る。
【０００９】
本発明の第２の態様によると、本発明は、プリンタ用の印刷エンジンを提供する。該印刷エンジンは、
インク噴射手段と該インク噴射手段を囲む密封手段とを備えるページ幅プリントヘッドと、
その上においてプリントヘッドが噴射したインクが印刷媒体シート上に転写されるように受容される転写手段と、該転写手段はプリントヘッドに隣接して配置されていることと、
プリントヘッドが動作していない時に、インク噴射手段からインクが蒸発するのを防止するために、その密封手段が、転写手段の表面に当接するようにプリントヘッドを変位させるための変位手段と、該変位手段は、さらに、印刷が行われるべき時には、転写手段からプリントヘッドを引き離すよう動作可能であることとを備える。
【００１０】
プリントヘッドのインク噴射手段としては、複数のインクジェットノズルを備える超小型電子機械デバイスを使用し得る。密封手段としては、インク噴射手段を囲む弾性シールを使用し得る。密封手段は、インクジェットノズルを形成する半導体デバイスを囲む複数の入れ子状のリブからなり得る。
【００１１】
転写手段は、プリントヘッドが噴射したインクが、転写ローラの表面に付着するように、プリントヘッドに隣接して回転可能に装着されている転写ローラを備え得る。本発明の好適な実施形態の場合には、転写ローラの少なくとも一方の面は、点食、擦傷、引っかき傷に対する耐性を有する耐摩耗材料からなる。よって、転写ローラの少なくとも表面は窒化チタンからなってもよい。
【００１２】
変位手段は、電磁作動デバイスであり得る。電磁作動デバイスは、転写手段からプリントヘッドを引き離すために、第１のより大きな電流を必要とし、プリントヘッドを転写手段から離間して維持するために、第２のより小さい電流を必要とするソレノイドであり得る。
【００１３】
印刷エンジンは、印刷媒体シートを転写手段の表面に圧迫して、接触させるための圧迫手段を備え得る。圧迫手段としては、ピンチローラ、または、両面印刷を行うために、２つの印刷エンジンが設置されている場合には、印刷エンジンに対向して整列している転写ローラであり得る。
【００１４】
また、印刷エンジンは、転写手段の面をクリーニングするために、クリーニングステーションを備え得る。上記クリーニングステーションは、圧迫手段とプリントヘッドとの間に設置されている。クリーニングステーションは、スポンジのような吸収性の柔軟な弾性材料からなるクリーニング要素と、柔軟な弾性材料からなるワイパーを備え得る。上記ワイパーは、クリーニング要素とプリントヘッドとの間に配置されている。ワイパーは、ゴムの細片の形態であってもよい。
【００１５】
本発明の第３の態様によると、印刷媒体シートの両面に印刷するためのデジタル印刷システムが提供される。該印刷システムは、
第１の印刷エンジンと、
第１の印刷エンジンと対向して整列している第２の印刷エンジンとを備え、各印刷エンジンは、インクジェットプリントヘッドと、プリントヘッドが噴射したインクが印刷媒体の関連する面に塗布されるように被着する転写ローラとを有し、一方の印刷エンジンの転写ローラは、さらに、転写ローラを印刷媒体の関連する面に圧迫して接触させるために、他の印刷エンジンの転写ローラのための圧迫手段としての働きをする。
【００１６】
第２の印刷エンジンは、第１の印刷エンジンに対して回転可能に装着され得る。第２の印刷エンジンは、その転写ローラを偏倚させて第１の印刷エンジンの転写ローラと当接させるために、スプリングの形態にある偏倚手段を備える。それ故、各印刷エンジンの転写ローラは、対向する印刷エンジンのためのピンチローラの働きをすることが理解されるであろう。
【００１７】
両転写ローラの内の一方は、転写ローラを通過した印刷媒体シートを圧着するための圧迫手段として機能し得る。
各印刷エンジンの転写ローラの少なくとも１つの面は、点食、擦傷、引っかき傷ができにくい耐摩耗材料から形成することができる。上記材料としては、窒化チタンを使用し得る。
【００１８】
各印刷エンジンは、転写ローラの長さがプリントヘッドの長さにほぼ等しいページ幅プリントヘッドを備え得る。
各印刷エンジンのプリントヘッドは、インク噴射手段およびインク噴射手段を囲む密封手段を備え得る。プリントヘッドのインク噴射手段は、複数のインクジェットノズルを備える超小型電子機械デバイスであり得る。
【００１９】
密封手段は、インク噴射手段を囲む弾性シールであり得る。
各印刷エンジンのプリントヘッドが動作していない時、インク噴射手段からインクが蒸発するのを防止するために、インク噴射手段を密封手段が密封するように、プリントヘッドは関連する転写ローラを圧迫し得る。各印刷エンジンは、印刷を行う場合に、転写ローラからプリントヘッドを引き離すための変位手段を備える。
【００２０】
変位手段は、電磁作動デバイスを備え得る。この電磁作動デバイスは、印刷を可能にするために、転写ローラからプリントヘッドを引き離すために、第１のより大きな電流を必要とし、転写手段とプリントヘッドとの間に間隔を維持するために、第２のより小さい電流を必要とするソレノイドであり得る。
【００２１】
各印刷エンジンは、転写ローラの面をクリーニングするために、プリントヘッドの上流に位置するクリーニングステーションを備え得る。上記クリーニングステーションは、スポンジのような吸収性の柔軟な弾性材料からなるクリーニング要素と、クリーニング要素の下流に位置する柔軟な弾性材料からなるワイパーを備え得る。ワイパーは、ゴムからなってもよい。
【００２２】
各印刷エンジンは、プロセスカラー出力を供給し得る。
印刷エンジンは、印刷エンジンの間を通過する印刷媒体の両面に、印刷をほぼ同時に行うようにほぼ同時に動作し得る。
本発明の第４の態様によると、印刷媒体のシートの両面上への印刷を制御するためのコントローラが提供される。該コントローラは、
第１の印刷エンジンのページ幅プリントヘッドによる印刷を制御するための第１の印刷コントローラと、
第１の印刷エンジンのプリントヘッドによる印刷とほぼ同時に、第２の印刷エンジンのページ幅プリントヘッドによる印刷を制御するための第２の印刷コントローラと、
印刷コントローラを同期させるために、第１の印刷コントローラと第２の印刷コントローラとを相互に接続するための第１の連絡リンクと、
印刷エンジンによる印刷媒体シートの上記面上に印刷されるページの記述をホストシステムから受信するために、印刷コントローラの内の少なくとも１つをホストシステムに相互接続するための第２の連絡リンクとを備える。
【００２３】
好ましくは、第１の印刷コントローラは、マスタ印刷コントローラであり、第２の印刷コントローラは、上記第１の連絡リンクを介して信号を受信した場合に、マスタ印刷コントローラのコマンドに従って動作可能なスレーブ印刷コントローラである。
【００２４】
第１の連絡リンクは、スレーブ印刷コントローラからマスタ印刷コントローラにデータを送信し得る双方向リンクであり得る。よって、１ページを印刷した後で、またはより頻繁に、マスタ印刷コントローラは、第１の連絡リンクを介して、スレーブ印刷コントローラからインク消費情報を入手し得る。マスタ印刷コントローラは、このインク消費情報をインクカートリッジ内の残りのインク量を更新するのに使用する。さらに、マスタ印刷コントローラおよびスレーブ印刷コントローラは、また、第１の連絡リンクを介して、エラーイベントおよびホスト発行のプリンタリセットコマンドを交換し得る。
【００２５】
マスタ印刷コントローラは、ホストシステムに統一された見解を提示してスレーブ印刷コントローラの存在をマスクするために、該マスタ印刷コントローラに接続している第２の連絡リンクを有し得る。マスタ印刷コントローラが、スレーブ印刷コントローラのためページ記述用に使用し得るページバッファを常に有し得るように、スレーブ印刷コントローラが印刷媒体の表に印刷をしている間に、マスタ印刷コントローラは印刷媒体の裏に記述したページを印刷し得る。
【００２６】
印刷の同期は、スレーブ印刷コントローラの印刷動作を制御するマスタ印刷コントローラにより行われ得る。両印刷コントローラのプリントヘッドインターフェースは、印刷コントローラの内の一方が生成する共有ライン同期信号に同期させられ得る。
【００２７】
本発明の第５の態様によると、印刷媒体のシートの両面上への印刷を制御するための方法を提供する。この方法は、
第１の印刷エンジンの第１の印刷コントローラにおいて印刷されべき第１のページに関するデータを受信する工程と、
第１のページに関するデータを、第１の印刷コントローラから第２の印刷エンジンの第２の印刷コントローラへ送信する工程と、
第１の印刷コントローラにおいて印刷されるべき第２のページに関するデータを受信する工程と、
それぞれ、印刷媒体の裏面および表面の上における第１の印刷コントローラおよび第２の印刷コントローラによるページの印刷を同期させるために、第１の印刷コントローラのコマンドに従って印刷エンジンによる印刷を制御する工程とを含む。
【００２８】
前記方法は、マスタ印刷コントローラである第１の印刷コントローラが生成する共有ライン同期信号により双方印刷コントローラのプリントヘッドインターフェースを同期させる工程と備え得る。さらに、この方法は、ホスト連絡リンクを通して、ホストシステムからマスタ印刷コントローラへ印刷するページに関するデータを送信する工程を備え得る。マスタ印刷コントローラは、前記データが、スレーブ印刷コントローラである第２の印刷コントローラに転送すべきものであるか否かを決定する。
【００２９】
この方法は、また、データをスレーブ印刷コントローラに転送する前に、マスタ印刷コントローラのメモリ内にデータ全体を受信する工程を備え得る。
この方法は、マスタ印刷コントローラが、スレーブ印刷コントローラ向けのページ記述のために使用し得るページバッファを常に有することを保証するために、印刷媒体の裏に印刷するために、マスタ印刷コントローラを選択する工程を備え得る。
【００３０】
すでに説明したように、この方法は、周期的に、スレーブ印刷コントローラからマスタ印刷コントローラへ所定のデータを送信する工程を備え得る。
本発明の第６の態様によると、プリンタ用の印刷エンジンを提供する。上記印刷エンジンは、
ページ幅プリントヘッドと、
プリントヘッドによりその表面に付着させられたインクを、画像が印刷されるべき印刷媒体のシートの表面に転写するために、プリントヘッドに隣接して配置されている転写ローラと、該転写ローラはその内部に形成された通路を有することと、
転写ローラを回転駆動し、転写ローラを通過して印刷媒体を供給するため駆動手段と、該駆動手段は転写ローラの通路内に配置されていることとを備える。
【００３１】
プリントヘッドは、超小型電子機械インクジェットプリントヘッドであり得る。
転写ローラとしては、そこを貫通して通路を形成する中空の直円柱であり得る。
【００３２】
転写ローラの少なくとも表面は、点食、擦傷、引っかき傷に対する耐性を有する耐摩耗材料から形成し得る。前記材料としては、窒化チタンを使用し得る。
駆動手段は、モータであり得る。上記モータは、好ましくは、ステッパモータである。
【００３３】
減速ギヤボックスをモータ上に装着し得る。空間を低減するために、ギヤボックスのギヤトレーンの少なくとも一部はウォームギヤトレーンであってもよい。
添付の図面を参照しながら、本発明について説明するが、この説明は単に例示としてのものにすぎない。
【００３４】
（図面の詳細な説明）
１  緒言
本発明によるプリンタは、写真画質画像再生と雑誌画質テキスト再生とを組み合わせた高性能カラープリンタである。それは、１６００ドット／インチ（ｄｐｉ）バイレベル（ｂｉ−ｌｅｖｅｌ）ＣＭＹＫ（シアン、マゼンタ、黄色、黒色）を生成する約２０．３ｃｍ（８インチ）ページ幅超小型電気機械式インクジェットプリントヘッドを使用するものである。本明細書の記載において、プリントヘッド技術は「メムジェット（Ｍｅｍｊｅｔ）」と称し、プリンタは「Ｃｅプリント（Ｃｅｐｒｉｎｔ）」と称する。
【００３５】
Ｃｅプリントは、主として大衆消費電子製品（ＣＥ）機器に搭載するよう設計された相手先商標製品製造（ＯＥＭ）部品として想定される。所期の市場としては、テレビ、ＶＣＲ、フォトＣＤプレーヤ、ＤＶＤプレーヤ、ハイファイシステム、ウェブ／インターネット端末、コンピュータモニターおよび車両制御卓などがある。以下に詳細に説明する通り、それは小さな輪郭のフロントパネルを特徴とし、ユーザは排出トレーを介して用紙及びインクにアクセスし得る。Ｃｅプリンントは、家屋内環境条件下で水平方向で動作する。
【００３６】
Ｃｅプリントには、片面機および両面機がある。片面機は、毎分フルカラーＡ４またはレターで３０ページ（すなわち、３０枚／分）を印刷する。両面機は毎分フルカラー６０ページを印刷する。Ｃｅプリントでは双方の大きさの紙が印刷可能であるが、特定の用紙サイズのためには製造時に構成される。
【００３７】
１．１  操作の概要
Ｃｅプリントは、バイレベル黒色および連続階調（コントーン（ｃｏｎｔｏｎｅ））画像を直接用いる黒色テキストおよびグラフィックならびにディザバイレベルＣＭＹＫを用いるグラフィックを再現する。実用的にはＣｅプリントは黒色解像度８００ｄｐｉおよびコントーン解像度２６７画素／インチ（ｐｐｉ）を可能とする。
【００３８】
ＣｅプリントはＣＥ機器に組み込まれ、比較的低速の（１．５Ｍバイト／秒）の接続を介してＣＥ機器（ホスト）プロセッサと通信する。Ｃｅプリントはホストプロセッサによって、各ページをコントーン画素および黒色ドットのレベルまでレンダリングする。ホストプロセッサは、レンダリングされた各ページを３ＭＢ未満まで圧縮して、プリンタに２秒以下で送る。Ｃｅプリントは、その超小型電気機械式インクジェット（メムジェット）プリントヘッドの速度でラインごとにページを解凍・印刷する。Ｃｅプリントは圧縮ページ２ページには十分なバッファメモリ（６ＭＢ）を有していることから、次のページを受信しながら１ページを印刷し得る。ただし、圧縮されていないページ（１１９ＭＢ）では１ページに十分なバッファメモリも有さない。
【００３９】
両面機のＣｅプリントには、平行して動作する２個のプリントヘッドを備える。これらのプリントヘッドは別個のデータ経路によってデータを得るものであり、各経路はＣｅプリントの片面機にある論理を繰り返す。両面機では、ホストプロセッサへの接続が相応に早くなっている（３ＭＢ／ｓ）。
【００４０】
２  製品の規格
表１には、Ｃｅプリントユニットの片面機および両面機の製品仕様の概要を示してある。
【表１】
0004714344.tif 000002
【００４１】
３  メムジェット印刷
メムジェットプリントヘッドは１６００ｄｐｉのバイレベルＣＭＹＫを生成する。低拡散紙上では、各吐出液滴はほぼ完全に円形の直径２２．５ｍｍのドットを形成する。ドットは孤立させて得ることが容易であり、拡散ドットディザをその最大まで活用し得る。メムジェットプリントヘッドはページ幅であり、一定の紙送り速度で動作することから、４色面が完全な位置合わせ精度で印刷されて、理想的なドットごとの印刷が可能となる。結果的に色平面間には空間的相互作用がないことから、同じディザマトリクスを各色平面に用いる。
【００４２】
ページレイアウトには、画像、グラフィックおよびテキストが混在していても良い。連続階調（コントーン）画像およびグラフィックは、確率的拡散ドットディザを用いて再現される。クラスタドット（または振幅変調）ディザとは異なり、目によって空間的に統合された時に、拡散ドット（または周波数変調）ディザは高い空間周波数（すなわち、画像の詳細）をドット解像度のほぼ限界まで再現し、同時に相対的に低い空間周波数をそのフルカラーの濃さまで再現する。確率的ディザマトリクスを注意深く設計して、画像全体にタイル表示する際に好ましくない低周波数パターンがないようにする。それ自体のサイズは、多くの強度レベルをサポートする上で必要な最小サイズ（すなわち、２５７強度レベルでは１６×１６×８ビット）を超えるのが普通である。Ｃｅプリントは、サイズ６４×６４×３×８ビットのディザ容量を用いる。その容量は、従来のディザマトリクスの場合のようにただ１回ではなく、１個のドットが強度範囲を通じて複数回状態を変えることができるようにすることで、ディザ設計時にかなりの自由度を提供するものである。
【００４３】
人間のコントラスト感度は視野１度当たり約３周期の空間周波数でピークとなり、それから対数的に下降して、１度当たり約４０周期を超えると係数１００で低下し、１度当たり約６０周期を超えると測定することは困難となる。１２インチ（約３００ｍｍ）という通常の目視距離では、それは印刷ページ上で２００〜３００周期／インチ（ｃｐｉ）またはナイキストの定理によれば４００〜６００サンプル／インチに相当する。約４００画素／インチ（ｐｐｉ）を超えるコントーン解像度は用途が限られ、実際にはディザによる色誤差にわずかに寄与するものである。
【００４４】
黒色のテキストおよびグラフィックはバイレベル黒色ドットを直接用いて再現されることから、印刷に先だってアンチエリアジング（すなわち低域能動フィルター処理）されない。従ってテキストは、上記で説明した知覚範囲を超えてサンプリングされ、目によって空間的に統合されるとより滑らかなエッジを与える。約１２００ｄｐｉまでのテキスト解像度はやはり、知覚されたテキストのシャープネスに寄与する（当然のことながら、低拡散紙と仮定して）。
【００４５】
４  ページ送り構造
４．１  ページ画像サイズ
Ｃｅプリントは、Ａ４およびレターページをフルエッジブリードで印刷する。以下の説明で使用する各種空間的解像度および色の深さについて、相当するページ画像の大きさを表２に示してある。留意すべき点として、Ａ４ページの大きさはレターページの大きさより大きい。ただし、レターページの方が幅広い。従ってページのバッファ要件はＡ４基準であり、ラインバッファ要件はレター基準である。
【表２】
0004714344.tif 000003
【００４６】
４．２  制約
ページ印刷時にメムジェットに基づくプリンタを中断する動作を行うと、視認可能な不連続が生じることから、印刷を開始する前にプリンタに全ページを送り、バッファ不足の可能性を排除することが有利である。さらに、ホストからプリンタへのページの転送に、ページを印刷するのに要する時間との比較してかなりの時間を要する場合、プリンタに２つのページバッファを備えて、１ページを印刷しながら次を受信できるようにすることが有利である。ページの転送時間がその２秒間の印刷時間より短い場合、デュアルバッファリングによって、Ｃｅプリントの全３０ページ／分というページ速度を達成することが可能となる。
【００４７】
図６には、２秒ページレンダリングおよび２秒ページ転送と仮定した場合の、プリンタにおけるデュアルバッファリングで達成可能な継続印刷速度を示してある。
【００４８】
プリンタが最大で８ＭＢのみのメモリ（すなわち、１個の６４ＭビットＤＲＡＭ）を有することが経済的であると仮定すると、プリンタにおける各ページバッファに利用可能なものは４ＭＢ未満となり、ページ画像の大きさに対して４ＭＢ未満という制限が課されることになる。プリンタにおいてプログラムおよび作業メモリを可能とするには、それをページ画像当たり３ＭＢに制限する。
【００４９】
プリンタがホストプロセッサに対して代表的な低速接続のみを有すると仮定すると、その接続の速度は１〜２ＭＢ／秒（すなわち、パラレルポートで２ＭＢ／秒、ＵＳＢで１．５ＭＢ／秒、１０Ｂａｓｅ−Ｔイーサネットで１ＭＢ／ｓ）である。２秒ページ転送（すなわち印刷時間と同じ）と仮定すると、それによってページ画像の大きさには２〜４ＭＢという制限が生じる。すなわち、ページバッファの大きさによって課されるものと同様の制限である。
【００５０】
実用上は、ホストプロセッサおよびプリンタは近接して連結されることが可能であることから、それらの間の高速接続が可能であると考えられる。
片面機のＣｅプリントがどれだけのホスト接続速度を必要とするとしても、両面機ではその速度の２倍の接続が必要である。
【００５１】
４．３  ページのレンダリングおよび圧縮
ページレンダリング（またはラスタ化）は、各種方法によってホストプロセッサとプリンタの間で分割され得る。一部のプリンタは、ポストスクリプトなどの全ページ記述言語（ＰＤＬ）をサポートし、それに応じて複雑なレンダラーを有する。他のプリンタは、テキストのレンダリング専用の特別なサポートを提供して、高いテキスト解像度を実現する。それには通常、内蔵またはダウンロード可能なフォント用のサポートを有する。そのような場合、埋込レンダラーを用いることでホストプロセッサへのレンダリング負担が軽減され、ホストプロセッサからプリンタに転送されるデータ量が減る。しかしそれには代償が伴う。そのプリンタは予想された以上に複雑となり、多くの場合、アプリケーションプログラムがページの構成、レンダリングおよび印刷を行うホストのグラフィックシステムを完全にサポートすることができない。それはホストプロセッサの高性能を利用しないものである。
【００５２】
Ｃｅプリントはホストプロセッサによってページ、すなわちコントーン画像およびグラフィックを画素レベルまで、黒色のテキストおよびグラフィックをドットレベルまでレンダリングする。Ｃｅプリントは、コントーンデータをディザし、結果を前景のバイレベル黒色テキストおよびグラフィックと結合させる簡単なレンダリングエンジンのみを有する。この戦略によってプリンタは簡易性、及びページ記述言語やグラフィックシステムに対する独立性を維持する。それはマルチメディアＣＥ機器のホストプロセッサで期待される高性能を完全に利用するものである。この戦略の欠点は、ホストプロセッサからプリンタに転送しなければならないデータ量が大きくなる可能性があることである。従って我々は、一定の印刷速度３０ページ／分を可能とする上で必要な３ＭＢまでページ画像サイズを減量するために圧縮を用いる。
【００５３】
約２１．１ｃｍ（８．３インチ）×約２９．７ｃｍ（１１．７インチ）のＡ４ページは、１６００ｄｐｉで１１９ＭバイトのバイレベルＣＭＹＫページ画像サイズを有し、４００ｐｐｉで５９．３ＭＢのコントーンＣＭＹＫページサイズを有する。
【００５４】
ＪＰＥＧ圧縮を用いて、コントーンデータを圧縮する。ＪＰＥＧは性質上損失が大きいが、１０：１以下の圧縮率では、その損失は無視できる程度であるのが普通である。１０：１未満の高品質圧縮比を達成し、バイレベル比までの積算コントーンを得るために、２６７ｐｐｉのコントーン解像度が選択される。それによって、２５．５ＭＢのコントーンＣＭＹＫページサイズ、８．５：１という相当する圧縮比を得て、３ＭＢ／ページという限界内に適合させ、コントーンを各次元において１．６というバイレベル比とする。
【００５５】
プリンタ解像度（１６００ｄｐｉ）でラスタ化した黒色テキスト（および／またはグラフィック）の全ページは２９．６ＭＢのバイレベル画像を与える。１６００ｄｐｉでのテキストのラスタ化は性質上小さい利得を得るのにホストプロセッサにかなりの負担を負わせることから、８００ｄｐｉでテキストをラスタ化することが選択される。それによって７．４ＭＢのバイレベル画像が得られ、３ＭＢ／ページという制限内に適合するために２．５：１未満の損失のない圧縮比が必要となる。これは、グループ４ファクシミリで使用される圧縮法と同様の２次元バイレベル圧縮法を用いて行われる。
【００５６】
ページの画像領域とテキスト領域が重なっていない限りにおいて、これら２つの組合せは３ＭＢの制限内に適合する。テキストが背景画像の上部にあると、最悪の場合には６ＭＢに近い圧縮ページ画像サイズとなる（実際のテキスト圧縮率によって決まる）。これは、プリンタのページバッファメモリ内で適合するが、プリンタにおけるページの二重バッファリングを防止することで、プリンタのページ速度を２／３、すなわち１０ページ／分まで低下させる。
【００５７】
４．４  ページ展開と印刷
前述のように、ホストプロセッサはコントーン画像およびグラフィックを画素レベルまでレンダリングし、黒色のテキストおよびグラフィックをドットレベルまでレンダリングする。それらは、異なる手段によって圧縮され、一緒にプリンタに転送される。
【００５８】
プリンタは２つの３ＭＢページバッファを備え、一つはホストから受信するページ用のものであり、一つは印刷されるページ用のものである。プリンタは圧縮されたページを印刷時に展開する。その展開は、２６７ｐｐｉコントーンＣＭＹＫ画像データを解凍すること、得られたコントーン画素を１６００ｄｐｉバイレベルＣＭＹＫドットまでハーフトーン化すること、８００ｄｐｉのバイレベル黒色テキストデータを解凍すること、相当するバイレベルＣＭＹＫ画像ドット上に得られたバイレベル黒色テキストドットを合成することからなる。
【００５９】
アプリケーションから印刷ページへの概念的なデータの流れを図７に示してある。
５  プリンタハードウェア
Ｃｅプリントは、主として大衆消費電子製品（ＣＥ）機器に搭載するよう設計されたＯＥＭ部品として想定される。所期の市場には、テレビ、ＶＣＲ、フォトＣＤプレーヤ、ＤＶＤプレーヤ、ハイファイシステム、ウェブ／インターネット端末、コンピュータモニターおよび車両制御卓などがある。それは偏平フロントパネルを特徴とし、ユーザは排出トレーを介して紙及びインクにアクセスできる。Ｃｅプリントは、家屋内環境条件下で水平方向で動作する。
【００６０】
ページ幅メムジェットプリントヘッドが簡素であることから、Ｃｅプリントは超小型プリント機構を有し、それによって製品全体の高さが片面機で４０ｍｍ、両面機で６０ｍｍとなる。
【００６１】
ＯＥＭ製品の性質により、それは単純なスタイルであって、ホスト製品に組み込まれるために小さい寸法でなければならない。Ｃｅプリントは、ターゲット市場製品全てに組み込まれるようなスタイルであり、最小の全体寸法は高さ４０ｍｍ×幅２７２ｍｍ×奥行き４１６ｍｍである。この製品の唯一の装飾部分は、フロントファッシアおよびフロントトレーのプラスチック部品である。これらは、Ｃｅプリントとある装置とを一体化させたい場合には、製造業者が再設計することが可能である。
【００６２】
上記２つの型のＣｅプリント、すなわちプリンタの正面図を、図面の図１および２にそれぞれ示してあり、それらは参照符号１０によって表される。留意すべき点として、両面機の方がピンチローラの代わりに第２のプリントエンジンを収納するために高くなっている以外、機械的には双方の型とも同じである。これについて以下に詳細に説明する。片面機Ｃｅプリントの側面図および平面図をそれぞれ図３および４に示してある。両面機のＣｅプリントの側面図を図５に示してある。
【００６３】
Ｃｅプリント１０は、着脱式インクカートリッジおよびメムジェットプリントヘッド機構を有するモータ付きＡ４／レター紙トレイである。Ｃｅプリント１０は、排紙ボタン１４、電源ＬＥＤ１６、インク切れＬＥＤ１８および用紙切れＬＥＤ２０を有するフロントパネル１２を備える。用紙トレイ２２は、フロントパネル１２に対して摺動可能に配置されている。用紙トレイ２２がその「ホーム」ポジションにある時、排紙スロット２４がフロントパネル１２と用紙トレイ２２の間に形成される。
【００６４】
フロントパネル１２は、プリンタ１０の動作部分を有するハウジング２６に面している。図面の５で示したように、両面機の場合のハウジング２６は、符号２８においてフロントパネル１２の方向に段を有していることで、第２の印刷エンジンを収納するようになっている。ハウジング２６は、金属シャーシ３０（図８）、ファッシア、（成形）用紙トレイ２２、インクカートリッジ３２（図１０）、３個のモータ、可撓性ＰＣＢ３４（図８Ａ）、剛直なＰＣＢ（図８）ならびにコスト効率の高い大量製品を得るための各種射出成形品および比較的小型の部品を覆っている。
【００６５】
プリンタ１０は操作が簡単であり、フロントパネルのＬＥＤ２０またはＬＥＤ１８によってそれぞれ示される紙またはインクの補充が必要な際にユーザとの相互作用を必要とするのみである。用紙ハンドリング機構は従来のプリンタの適用と同様であることから、信頼性が高いと考えられる。希に紙詰まりが起こると、用紙トレイ排紙動作によって、ユーザはその問題に対処し得る。トレイ２２には、トレイ２２が押されるとトレイを引き込むセンサーを有する。トレイ２２が途中で紙詰まりを起こすと、それも感知され、トレイ２２が再度排出される。これによってユーザは、そのトレイを単に押して閉めるだけでトレイ２２の操作を簡単に済ますことができ、外に出た位置にある際トレイに衝撃があってもユニットは損傷から保護される。さらに、閉じる際に子供がトレイ２２に指を挟むことも考慮されている。インク交換は、新しいカートリッジ３２を用紙トレイ２２に挿入し（図８）、それをカムロックレバー機構によって固定することで行われる。
【００６６】
５．１  概観
Ｃｅプリントの概観を図８〜１０に示してある。図９に示したように、シャーシ３０には、その上で用紙トレイ２２のフロントローラホイール４０が摺動可能である、底部金属加工部品３８がある。ブラケット４２には、モータ４４、４６および４８ならびに用紙トレイ２２を押し出し、紙ピックアップローラ５４を駆動するためのギア５０および５２がある。
【００６７】
ブラケット４２および基部金属加工部品３８には２本のガイドレール５６が取り付けられており、それによって成形用紙トレイ２２とその後部ローラホイール５８が前方に摺動し得る。前述のように、トレイ２２はフロントローラ４０上にも載置され、それによって排出及び引き込みのための強力で低摩擦かつ安定な方法が提供される。可撓性ＰＣＢ３４（図８Ａ）は、モータ４４，４６，４８を介してメインＰＣＢ３６から接点成型物６０および光導体領域６２まで配されている。可撓性ＰＣＢ３４上の光センサーによって、ギアホイール６４にあるホール（図９）を感知することで、排出位置にある時にトレイ２２を押すと、トレイエジェクターモータ４６は、取り出しボタン１４とは独立してトレイ２２を引き込むことができる。同様に、引き込み時に何らかの停止があると、トレイ２２は排出される。
【００６８】
接点成形部品６０は、可撓性ＰＣＢ３４が固定されている発泡パッド６６を有し、印刷時にプリントヘッドおよびバスバーにデータおよび電源の接点を提供する。
【００６９】
転写ローラ６８（図１１）は２個のエンドキャップ６９（図８Ａ）を有し、それらは低摩擦ベアリングアセンブリ７０において働く。エンドキャップ６９の一方は、減速ギヤを介して動力をウォーム駆動部に伝える小ギア７２（図１４）によって動作する内部ギアを有する。これは別のギアによってさらに減速されて、転写ローラ６８内に配置されたステッパモータ１２４の出力シャフト上に取り付けられたモータウォーム駆動部７６に伝達される。転写ローラ６８内に収納されたモータ駆動アセンブリのためのこの解決法によって、インクコネクタ成形部品８０，８２に取り付けられた小型シャーシ７８（図８Ａ）上への将来的な設計および搭載のための空間が確保されている。
【００７０】
インクコネクタ８４は、イジェクタープレート８８およびバネ９０を有する４個のピン８６を有し、これはインクカートリッジ３２とインターフェース接続されている（図１０）。インクカートリッジ３２は、カムロックレバーおよびバネ９２（図８）を介してアクセスされる。インクは、成形チャンネルを介して可撓性の４チャンネルホースコネクタ９４中に導かれており、そのコネクタはプリントヘッドカートリッジエンドキャップ９６とインターフェース接続されている。プリントヘッドカートリッジの他方の端には、エンドキャップ上に異なる可撓性シールコネクタ９８（図８）があることで、組立時にカートリッジからインクを抜き取ることができ、密閉された環境下でユニットおよびインクコネクタにインクを効果的に充填し得る。プリントヘッドおよびインクコネクタアセンブリは、用紙トレイ２２中に直接取り付けられている。
【００７１】
用紙トレイ２２は、いくつかの標準的な用紙ハンドリング構成要素を有する。すなわち、低摩擦パッド１０２を有し、２個の圧縮バネ１０４によってバネ止めされた金属ベースチャンネル１００（図８）ならびにリベット固定されたアーム１０８を有する２個の金属用紙ガイド１０６である。用紙は、バネ鋼クリップ１１０によってトレイ２２の片側に整列させられる。トレイ２２は通常は、Ａ４紙を収容するよう構成されているが、用紙ガイドアセンブリ１０６の一方の配置を変更して、用紙トレイ２２中にプレートをクリップ止めして後部止め具を提供することでレターサイズの用紙が収容される。用紙トレイ２２は１５０枚まで収容可能である。
【００７２】
用紙補給の標準的な作業と同様に、金属ベースチャンネル１００は押し下げられ、トレイロック成形部品１１２と戻りバネ１１４を用いてラッチ留めされる。用紙を補給し、トレイ２２を引き込んだら、基部金属加工部品３８（図９）中の金属返し部１１６を叩くことで、トレイロック成形部品１１２のラッチ止めを解除する。
【００７３】
これでプリンタ１０は印刷可能となる。始動すると、別の駆動ギア５０および通常のモータ４４と噛み合った小型駆動ギア１１８によって、紙ピックアップローラ５４が駆動される。ローラ５４は、２個の熱止め（heat staked ）保持成形部品１２０によって基部金属加工部品３８（図９）上に配置されている（図８）。ピックアップローラ５４の端にある小型成形部品が可撓性ＰＣＢ３４上のセンサーと連動して、ピックアップローラ５４を停止位置に正確に位置決めすることで、排出時に接触することなく紙およびトレイ２２を抜き出すことができる。この正確な位置決めにより、ローラ５４が一定の回転数で転写ローラ６８（図１０）にシートを送ることも可能となる。転写ローラ６８が同様の速度で動いている際には、紙の取り込みには問題はないはずである。ハウジング２６内に搭載された光センサー２２は各シートの開始を確認し、転写モータ１２４（図１４）を連動させるので、例えば異常操作時にシートがローラの前方に移動しても問題はない。
【００７４】
メインＰＣＢ３６が、標準的なＰＣＢ支持棒１２６を介して基部金属加工部品３８上に取り付けられており、データコネクタ１２８およびＤＣコネクタ１３０が差し込まれている。
【００７５】
フロントパネル１２がスナップ細部を用いて基部金属加工部品３８に取り付けられており、頂部金属カバー１３２は、４個の固定具１３４を介してＲＦＩ／ＥＭＩに対する完全性を有する製品全体を完成する。
【００７６】
５．２  プリントヘッドアセンブリおよび画像転写機構
プリントエンジンは図１１に詳細に示されており、概して参照符号１４０で表わされる。次にメムジェットプリントヘッドアセンブリは、参照符号１４２で表す。これは、Ｃｅプリントなどの製品にインクカートリッジ３２と共にメムジェットプリントヘッド１４３を配置する上での以下の４通りの可能な方法の一つを代表するものである。
・恒久型プリントヘッド、交換可能インクカートリッジ（図１１に示したもの）
・別個の交換可能なプリントヘッドおよびインクカートリッジ
・再充填可能な一体型のプリントヘッドおよびインクカートリッジ
・使い捨ての一体型のプリントヘッドおよびインクカートリッジ
【００７７】
メムジェットプリントヘッド１４３は窒化チタン（ＴｉＮ）コート転写ローラ６８上に印字を行い、それが反時計方向に回転して１枚の用紙１４４上に画像を転写する。用紙１４４は、片面機の場合にはバネ式ゴムコートピンチローラ１４５によって転写ローラ６８に対して押圧される。図１３に示したように、両面機の場合には、用紙１４４は反対の転写ローラ６８の動作下、一方の転写ローラ６８に対して押圧される。用紙１４４に画像を転写した後、転写ローラ６８は続いて、クリーニングスポンジ１４６を通過し、最後のゴムワイパー１４８を通過する。スポンジ１４６とワイパー１４８は、転写ローラ６８の表面をクリーニングするためのクリーニングステーションを形成している。
【００７８】
動作中、プリントヘッドアセンブリ１４２は、図１２Ｂに示したようにソレノイド１５０によって転写ローラ６８から離されている。非動作時はプリントヘッドアセンブリ１４２は、図１２Ａに示したように転写ローラ６８に当接して停止している。プリントヘッドの一体型弾性シール１５２はプリントヘッドアセンブリ１４２を密閉し、メムジェットプリントヘッド１４３が乾燥するのを防止している。
【００７９】
両面機のＣｅプリント１０では、図１３に示したように互いに対向したデュアルプリントエンジン１４０を有し、それぞれに関連するプリントヘッドアセンブリ１４２および転写ローラ６８がある。下側のプリントエンジン１４０は固定されており、上側のプリントエンジン１４０は回動し、バネによって用紙１４４を押圧するようになっている。前述のように、上側転写ローラ６８が片面機におけるピンチローラ１４５の代わりとなっている。
【００８０】
インクカートリッジ３２、プリントヘッドアセンブリ１４２および転写ローラ６８の間の関係を、図面の図１５および図１６に詳細に示してある。インクカートリッジは、シアン、マゼンタ、黄色および黒色インク用に４個の貯蔵器１５４，１５６，１５８，１６０がある。
【００８１】
各貯蔵器１５４〜１６０は、プリントヘッドアセンブリ１４２の相当する貯蔵器１６４〜１７０と連通している。これらの貯蔵器は、インクフィルタ１７４を介してメムジェットプリントヘッドチップ１４３（図１６）にインクを供給する。図１６において留意すべき点として、弾性キャッピングシール１５２がプリントヘッドチップ１４３の両側に配置されて、プリントヘッドアセンブリ１４２が転写ローラ６８に当接して停止している時に密閉が保たれるようになっている。
【００８２】
電力は母線１７６を介してソレノイドに供給される。
６  プリンタ制御プロトコル
本セクションは、ホストとＣｅプリントとの間で使用されるプリンタ制御プロトコルについて説明するものである。本セクションは、制御およびステータスの取り扱いならびに実際のページ記述を含む。
【００８３】
６．１  制御および使用状況
プリンタ制御プロトコルは、ホストプロセッサとプリンタ１０によって交換される様式とメッセージの意味を定義するものである。転送プロトコルが接続の詳細な性質によって決まることから、制御プロトコルは、ホストプロセッサとプリンタ１０との間の転送プロトコルとは独立に定義される。
【００８４】
各メッセージは、１６ビットのメッセージコードとそれに続くサイズ一定またはサイズ可変であることができるメッセージ固有データから構成される。
メッセージに含まれる整数は全て、ビッグエンディアンバイト順でコード化される。
【００８５】
表３は、プリンタ１０にホストプロセッサが送信するコマンドメッセージを定義している。
【表３】
0004714344.tif 000004
【００８６】
「プリンタリセット」コマンドを用いてプリンタをリセットして、エラー状態を解除し、印刷を打ち切ることができる。
【００８７】
「文書開始」コマンドは、新たな文書開始を示すのに使用される。これは、両面機で奇数ページと偶数ページを識別するために用いられるプリンタのページカウントをリセットする。「文書終了」コマンドは単に、文書の終了を示すのに用いられる。
【００８８】
出力ページの記述は、ページの大きさと解像度を記述するページヘッダーとそれに続く実際のページ内容を記述する１以上のページバンドから構成されている。ページヘッダーは、「ページ開始」コマンドでプリンタに伝達される。各ページバンドは、「ページバンド」コマンドでプリンタに伝達される。最終ページバンドは「ページ終了」コマンドの次に来る。ページ記述については、表４．２に詳細に記載してある。
【００８９】
表４には、プリンタがホストプロセッサに送信する応答メッセージを定義してある。
【００９０】
【表４】
0004714344.tif 000005
「プリンタステータス」メッセージは通常、「プリンタステータス取得」コマンドに応じて送信される。しかしながら、ホストプロセッサとプリンタとの間の接続の性質から、プリンタはホストプロセッサに非請求のステータスメッセージを送信することができる。非請求ステータスメッセージは、ホストプロセッサに対して頻繁にプリンタをポーリングさせる必要なく、プリンタの例外的事態をホストプロセッサに、またそれによってユーザに適時に報告し得る。
【００９１】
「ぺージエラー」メッセージは、「ページ開始」、「ページバンド」および「ページ終了」コマンドそれぞれに応じて送信される。
表５には、プリンタステータスメッセージにある１６ビットプリンタステータスの様式を定義してある。
【表５】
0004714344.tif 000006
【００９２】
表６には、「ページエラー」メッセージで返信され得るページエラーコードを定義してある。
【表６】
0004714344.tif 000007
【００９３】
６．２  ページ記述
Ｃｅプリント１０はフルドット解像度（１６００ｄｐｉ）で黒色を再現するが、コントーン色については階調表現を用いて若干低い解像度で再現する。従ってページ記述は、黒色層とコントーン層に分割される。黒色層はコントーン層の上に合成されるものと定義される。
【００９４】
この黒色層は、各画素当たり１ビットの不透明度を有するビットマップからなる。この黒色層マットは、プリンタのドット解像度の整数倍率である解像度を有する。サポートされる最高解像度は１６００ｄｐｉ、すなわちプリンタのフルドット解像度である。
【００９５】
コントーン層は、各画素につき３２ビットＣＭＹＫ色を有するビットマップからなる。このコントーン画像は、プリンタのドット解像度の整数倍率である解像度を有する。サポートされる最高解像度は２６７ｐｐｉ、すなわちプリンタのドット解像度の１／６である。
【００９６】
コントーン解像度も代表的には黒色解像度の整数倍率とすることで、プリンタドライバでの計算を単純化する。しかしながらそれは必要条件ではない。
黒色層とコントーン層はいずれも、プリンタへの低速接続において効率的な転送を行うために圧縮された形態にある。
【００９７】
６．２．１  ページ構造
Ｃｅプリントは、約２１．６ｃｍ（８．５インチ）プリントヘッドを用いてフルエッジブリードで印刷する。それはマージンを規定しないため、紙の大きさ（Ａ４またはレター）に相当する印刷可能ページ領域を有する。
【００９８】
目標ページサイズは、ページ記述で具体的に述べた明瞭な（目標の）左および右マージンを除くプリント可能ページ領域によって制限される。
６．２．２  ページ記述様式
印刷可能ページ領域に関係して暗に定義される場合は別として、各ページ記述は完全かつ自己完結型である。ページ記述が参照するページ記述とは別個にプリンタに転送されるデータはない。
【００９９】
ページ記述は、ページの大きさと解像度を説明するページヘッダーとそれに続く実際のページの内容を説明する１以上のページバンドから構成される。
表７には、ページヘッダーのフォーマットを示してある。
【表７】
0004714344.tif 000008
【０１００】
ページヘッダーは、プリンタがページヘッダーフォーマットを確認できるようにするシグネチャ及び版数を有する。記号および／または版数が欠落するか、またはプリンタと適合しない場合、プリンタはそのページを拒否する場合がある。
【０１０１】
ページヘッダーは、目標ページの解像度とサイズを定義するものである。必要に応じて、黒色層およびコントーン層を所望ページにクリップする。黒色またはコントーン基準倍率が所望のページ幅やページ高さの倍数ではない場合には必ずそれを行う。
【０１０２】
所望の左および上マージンは、印刷可能ページ領域内での所望ページの位置決めを規定するものである。
黒色層パラメータは、黒色層の画素のサイズおよびその所望解像度に対する整数基準倍率を定義するものである。
【０１０３】
コントーン層パラメータは、コントーン層の画素のサイズおよびその目標解像度に対する整数基準倍率を定義するものである。
表８には、ページバンドヘッダーのフォーマットを示してある。
【表８】
0004714344.tif 000009
【０１０４】
黒色層パラメータは、黒色バンドの高さおよびその圧縮バンドデータのサイズを定義するものである。サイズ可変の黒色バンドデータは、ページバンドヘッダーの固定サイズ部分に続く。
【０１０５】
コントーン層パラメータは、コントーンバンドの高さおよびその圧縮ページデータのサイズを定義するものである。サイズ可変のコントーンバンドデータは、サイズ可変黒色バンドデータに続く。
【０１０６】
表９には、ページバンドヘッダーに続くサイズ可変バンドデータのフォーマットを示してある。
【０１０７】
【表９】
0004714344.tif 000010
サイズ可変黒色バンドデータとサイズ可変コントーンバンドデータは、８バイト境界に合わせられる。必要なパディングのサイズは、ページバンドヘッダー構造のサイズ固定部分およびサイズ可変黒色バンドデータのサイズに含まれる。
【０１０８】
全ページ記述は、プリンタにおけるページバッファメモリに従って、３ＭＢ未満の目標サイズおよび６ＭＢの最大サイズを有する。以下のセクションでは、圧縮黒色層および圧縮コントーン層のフォーマットについて説明する。
【０１０９】
６．２．３  バイレベル黒色層圧縮
６．２．３．１  グループ３および４ファクシミリ圧縮
グループ３ファクシミリ圧縮アルゴリズムは、低速でノイズの多い電話回線での転送用に損失なくバイレベルデータを圧縮するものである。バイレベルデータは、白色背景上で走査された黒色のテキストおよびグラフィックを表すものであり、アルゴリズムはそのクラスの画像用に調整される（例えばハーフトーン化されたバイレベル画像については明瞭には調整されない）。１Ｄグループ３アルゴリズムが各走査線をランレングスコード化し、次に得られたランレングスをハフマンコード化する。０〜６３の範囲のランレングスは停止コードでコード化される。６４〜２６２３の範囲のランレングスは、それぞれが６４の整数倍を表す構成（ｍａｋｅ−ｕｐ）コードとそれに続く停止コードでコード化される。２６２３を超えるランレングスは、複数の構成コードとそれに続く停止コードでコード化される。ハフマンコード表は固定されるが、黒色ランと白色ランについて別個に調整される（一般的である１７２８より上の構成コードを除く）。可能であれば、２Ｄグループ３アルゴリズムは、前記走査線に関しての１組の短エッジデルタ値（０、±１、±２、±３）として走査線をコード化する。デルタ記号はエントロピーコード化される（従って、ゼロデルタ記号は１ビット長のみとなる等である）。デルタコード化できない２Ｄコード化ライン内のエッジはランレングスコード化され、接頭部によって識別される。１Ｄおよび２Ｄコード化線は区別してマークされる。１Ｄコード化ラインは、実際に必要であるか否かとは無関係に、一定の間隔で設けられて、デコーダが画像劣化を最小限としながらラインノイズから再生できるようにする。２Ｄグループ３は６：１までの圧縮比を与える。
【０１１０】
グループ４ファクシミリアルゴリズムは、エラーがない通信線（すなわち、線が真にエラーがないか、あるいは比較的低いプロトコルレベルでエラー補正が行われる）での転送用にバイレベルデータを損失なく圧縮する。グループ４アルゴリズムは２Ｄグループ３アルゴリズムに基づいたものであり、転送はエラーを有さないと仮定されることから、１Ｄコード化ラインがエラー復旧の補助として一定間隔で設けられないという大きな変更点を有する。グループ４は、ＣＣＩＴＴセットの試験画像について２０：１〜６０：１の範囲の圧縮比を達成する。
【０１１１】
グループ４圧縮アルゴリズムの設計目的と性能により、それはバイレベル黒色層の圧縮アルゴリズムとして適している。しかしそのハフマンコード表は比較的低い走査解像度（１００〜４００ｄｐｉ）に調整されており、２６２３を超えるランレングスを無駄にコード化する。８００ｄｐｉでは、我々の最大ランレングスは現在のところ６４００である。プリンタ制御装置チップではグループ４デコーダコアが利用できることから（７節）、それは４００ｄｐｉファクシミリの利用で通常生じるものを超えるランレングスを扱うことはできないと考えられる。従って、修正を行う必要があると考えられる。
【０１１２】
グループ４の利点のほとんどがデータコード化に由来するものであることから、デルタコード化のみに基づく比較的単純なアルゴリズムが我々の要件を満足するものと考えられる。このアプローチについて以下に詳細に説明する。
【０１１３】
６．２．３．２  バイレベルエッジデルタおよびランレングス（ＥＤＲＬ）圧縮フォーマット
エッジデルタおよびランレングス（ＥＤＲＬ）圧縮フォーマットは、ある程度グループ４圧縮フォーマットおよびその先行形式に基づいたものである。
【０１１４】
ＥＤＲＬは、適切にエントロピーコード化された３種類の記号を用いる。それはエッジ作成（ｃｒｅａｔｅ  ｅｄｇｅ）、エッジ消去（ｋｉｌｌ  ｅｄｇｅ）およびエッジデルタ（ｅｄｇｅ  ｄｅｌｔａ）である。各ラインはその先行型を参照してコード化される。第１ラインの先行型は白色ラインと定義される。各ラインはオフホワイトで開始すると定義される。ラインが実際に黒色で開始すると（比較的起こりにくい状況）、それはオフセットゼロで黒色エッジを規定しなければならない。各ラインはその左端、すなわちオフセットページ幅でそのエッジを規定する。
【０１１５】
同じ意味を有する（白色−黒色または黒色−白色）最大デルタ範囲内にエッジがある場合、前のラインでのエッジを参照してエッジをコード化し得る。それはエッジデルタコードの一つを利用する。デルタが短くしかも可能性の高いものであるほど、コードが短い。最大デルタ範囲（±２）を選択して、代表的なシンボルエッジにデルタの分布を適合させる。その分布はほとんどの場合、ポイント数とは独立である。代表的な例を表１０に示してある。
【表１０】
0004714344.tif 000011
【０１１６】
エッジも、同じラインにおける前のエッジからランレングスを用いてコード化し得る。それは、短（７ビット）ランレングスおよび長（１３ビット）ランレングスについてエッジ作成コードの一つを用いる。簡明さを期すと、グループ４とは異なり、ランレングスはエントロピーコード化されない。エッジデルタが前のラインにおけるエッジと暗に同期化した状態とするために、現行のラインを通過する際に前のラインにおける各未使用エッジを「消去する」。これはエッジ消去コードを用いる。ページ終了コードは、デコーダにページの終端を知らせる。
【０１１７】
留意すべき点として、７ビットランレングスと１３ビットランレングスを具体的に選択して、８００ｄｐｉＡ４／レターページをサポートする。比較的長いランレングスは圧縮性能に対してほとんど影響なくサポートできると考えられる。例えば、１６００ｄｐｉ圧縮をサポートする場合、ランレングスはそれぞれ少なくとも８ビットおよび１４ビットなければならない。一般用途での選択は８ビットおよび１６ビットであると考えられることから、幅約１０１．６ｃｍ（４０インチ）１６００ｄｐｉページまでがサポートされる。
【０１１８】
表１１に、全組合せのコードを示してある。留意すべき点として、ライン終端コードはない。デコーダはページ幅を用いてライン終端を検出する。コードの長さは、コード生成の相対的確率によって並べてある。
【表１１】
0004714344.tif 000012
【０１１９】
図１７には、簡単なコード化例を示してある。留意すべき点として、別の全白色ラインに続く全白色ラインの一般的状況は単一ビット（Δ０）を用いてコード化され、別の全黒色ラインに続く全黒色ラインは２つのビット（Δ０，Δ０）を用いてコード化される。
【０１２０】
留意すべき点として、上記は圧縮アルゴリズム自体ではなく、圧縮フォーマットについて説明している。同一画像について各種の同等のコード化を行い、一部はそれ以外のものより小型化し得る。例えば、純粋なランレングスコード化は圧縮フォーマットに適合する。圧縮アルゴリズムの目的は、最良ではないとしても、任意画像についての良好なコード化を発見することにある。
【０１２１】
以下は、先行型を参照したラインのＥＤＲＬコード化を行うための簡単なアルゴリズムである。
【表１２】
0004714344.tif 000013
0004714344.tif 000014
【０１２２】
留意すべき点として、アルゴリズムはライン間の実際のエッジ連続性については不明であり、実際には２本のライン間で「不正な」エッジにマッチングする場合がある。幸運にも、圧縮フォーマットは正しくデコードすることから、それについて言及することはなく、「不正」マッチングが圧縮比に悪影響を与えることは困難である。
【０１２３】
完全を期すために、相当する解凍アルゴリズムを以下に示す。それは、プリンタ制御装置チップでのＥＤＲＬエキスパンダユニットの中核を形成している（７節）。
【表１３】
0004714344.tif 000015
【０１２４】
６．２．３．３  ＥＤＲＬ圧縮性能
表１２には、グループ４アルゴリズムを選択するのに使用されるＣＣＩＴＴ試験文書についてのグループ４およびＥＤＲＬの圧縮性能を示してある。各文書は、４００ｄｐｉで走査された単一のページを表す。グループ４の優れた性能は、４００ｄｐｉの特徴に調整されたそのエントロピーコード化ランレングスによるものである。
【表１４】
0004714344.tif 000016
【０１２５】
雑誌のテキストは一般的には、ポイントサイズ１０の活字（Times など）書体で植字されている。このサイズでは、Ａ４／レターページは１４，０００文字まで有するが、代表的な雑誌ページはは約７，０００文字しか有さない。テキストは５より小さいポイントサイズで植字されることは希である。８００ｄｐｉにおいてテキストは、標準的な書体を用いて２より小さいポイントサイズでは、有意に表されることはできない。表１３には、各種ポイントサイズの判読性を示してある。
【表１５】
0004714344.tif 000017
【０１２６】
表１４には、８００ｄｐｉで表現した各種ポイントサイズのテキストページについてのグループ４およびＥＤＲＬの圧縮性能を示してある。留意すべき点として、ＥＤＲＬによって、ポイントサイズ３で植字されたテキストの全ページについて必要な圧縮比２．５が得られる。テキストページ上の文字分布は、英語統計学に基づいている。
【表１６】
0004714344.tif 000018
【０１２７】
９以上のポイントサイズでは、単にグループ４のランレングスコードが４００ｄｐｉに調整されているという理由で、ＥＤＲＬはグループ４よりわずかに性能が優れている。
【０１２８】
これらの圧縮結果は、非常に小さい文字の場合のように、データの垂直方向での関連づけが低くない限り、エントロピーコード化ランレングスが２Ｄコード化ほど圧縮に寄与しないという所見を裏付けるものである。
【０１２９】
６．２．４  コントーン層圧縮
６．２．４．１  ＪＰＥＧ圧縮
ＪＰＥＧ圧縮アルゴリズムは、指損失を伴って定の画質レベルでコントーン画像を圧縮する。ＪＰＥＧ圧縮アルゴリズムはは、５：１以下の圧縮比で知覚できない程度の画像劣化を、１０：１以下の圧縮比では無視できるほどの画像劣化を伴う。
【０１３０】
ＪＰＥＧは代表的には、最初に明るさとクロミナンスを別個の色チャンネルに分ける色空間に画像を変換する。ヒトの視覚系はクロミナンスより明るさに対する感度が相対的に高いことから、それによってクロミナンスチャンネルはほとんど損失なくサブサンプリングし得る。その第１段階後、各色チャンネルを別個に圧縮する。
【０１３１】
画像は８×８画素ブロックに分割される。次に、各ブロックを離散余弦変換（ＤＣＴ）を介して周波数ドメインに変換する。この変換は、比較的低い周波数係数で画像エネルギを集中する効果があり、それによって比較的高い周波数係数のより粗の量子化が行われる。その量子化はＪＰＥＧにおける主要な圧縮源である。係数を周波数ごとに配列することで隣接するゼロ係数の確率および次にゼロのランレングスコード化ランを最大とすることでさらに圧縮が行われる。最終的に、ランレングスおよびゼロ以外の周波数係数をエントロピーコード化する。解凍は圧縮の逆のプロセスである。
【０１３２】
６．２．４．２  ＣＭＹＫコントーンＪＰＥＧ圧縮フォーマット
ＣＭＹＫコントーン層は、インターリーブドカラーＪＰＥＧバイトストリームに圧縮される。インターリービングは、プリンタにおける空間効率的な解凍に必要であるが、デコーダを４組（すなわち、色チャンネル当たり１）ではなく２組のハフマン符号表に制限し得る。明るさとクロミナンスを分離すると、明るさチャンネルは一方の組の表を共有することができ、クロミナンスチャンネルは他方の組を共有し得る。
【０１３３】
表の共有またはクロミナンスのサブサンプリングのいずれかのために明るさ／クロミナンス分離が必要と思われる場合、ＣＭＹをＹＣｒＣｂに変換し、ＣｒおよびＣｂについて妥当なサブサンプリングを行う。Ｋは明るさチャンネルとして処理され、サブサンプリングされない。
【０１３４】
ＪＰＥＧバイトストリームは完全かつ自己独立型である。それには、量子化およびハフマン符号表を含む解凍に必要な全てのデータがある。
７  プリンタコントローラ
７．１  プリンタコントローラの構造
プリンタコントローラ１７８（図１８）は、Ｃｅプリント中央プロセッサ（ＣＣＰ）チップ１８０、６４ＭビットＲＤＲＡＭ１８２およびマスタＱＡチップ１８４から成る。
【０１３５】
ＣＣＰ１８０には、汎用プロセッサ１８１と、プロセッサバス１８６を介して上記プロセッサにより制御される１組の目的別機能ユニットがある。３個の機能ユニットのみが非標準であり、それはＥＤＲＬエキスパンダ１８８、ハーフトーン化装置／コンポジタ（ｈａｌｆｔｏｎｅｒ／ｃｏｍｐｏｓｉｔｏｒ）１９０およびメムジェットプリントヘッド１４３を制御するプリントヘッドインターフェース１９２である。
【０１３６】
上記プロセッサ１８１上で動作するソフトウェアは、各ページを受信、展開（ｅｘｐａｎｄ）および印刷する種々の機能ユニットを調整する。これについては、次のセクションで説明する。
【０１３７】
上記ＣＣＰ１８０の種々の機能ユニットについては以下の各セクションで説明する。
７．２  ページの展開および印刷
ページの展開および印刷プロセスは以下の通りである。ページ記述は、ホストインターフェース１９４を介してホストから受信されて、メインメモリ１８２に記憶される。メインメモリ１８２の６ＭＢがページ記憶専用に割り当てられる。これは、各々が３ＭＢを超えない２ページまたは６ＭＢまでの１ページを保持することが可能である。ホストが３ＭＢを超えないページを形成する場合、プリンタはストリーミングモードで動作する。すなわち、プリンタは１ページを印刷しながら次のページを受信する。ホストが３ＭＢを超えるページを形成する場合、プリンタは単一ページモードで動作する。すなわちプリンタは各ページを受信し、次のページを受信する前にそのページを印刷する。ホストが６ＭＢを超えるページを形成する場合は、それらのページはプリンタにより拒否される。実用上は、プリンタドライバは、この状態が生ずるのを防止する。
【０１３８】
１ページは２つの部分、すなわち、バイレベル黒色層と、コントーン層とから成る。これらの層は異なるフォーマットで圧縮される。すなわちバイレベル黒色層はＥＤＲＬフォーマットで、コントーン層はＪＰＥＧフォーマットで圧縮される。ページ展開の第１段階は、２つの層を並列に解凍する段階から成る。バイレベル層は、ＥＤＲＬエキスパンダ１８８により解凍され、コントーン層はＪＰＥＧデコーダ１９６により解凍される。
【０１３９】
ページ展開の第２段階は、コントーンＣＭＹＫデータをバイレベルＣＭＹＫにハーフトーン化する工程と、次にバイレベル黒色層をバイレベルＣＭＹＫ層と合成する工程とから成る。ハーフトーン化および合成は、ハーフトーン化装置／コンポジタユニット１９０によって行われる。
【０１４０】
最後に、合成されたバイレベルＣＭＹＫ画像は、メムジェットプリントヘッド１４３を制御するプリントヘッドインターフェースユニット１９２を介して印刷される。
【０１４１】
メムジェットプリントヘッド１４３は高速で印刷することから、紙１４４はプリントヘッド１４３を一定速度で通過して移動せねばならない。プリントヘッド１４３に対してデータが十分に高速に供給されずに紙１４４が停止されると、視認可能な印刷の乱れが生じる。したがって、要求される速度でプリントヘッドインターフェース１９２に対してバイレベルＣＭＹＫデータを転送することが重要である。
【０１４２】
完全に展開された１６００ｄｐｉのバイレベルＣＭＹＫページは、１１９ＭＢの画像サイズを有する。展開されたページをプリンタメモリに記憶するのは非実用的であることから、各ページは印刷中にリアルタイムで展開される。そこで、ページの展開および印刷の各種段階をパイプライン化する。ページの展開および印刷のデータフローを、表１５に示す。１８２ＭＢ／ｓのインターフェース１９８を介してメインメモリに出入りする集合体トラフィックは、Ｒａｍｂｕｓなどの現行の技術の能力の範囲内である。
【表１７】
0004714344.tif 000019
【０１４３】
各段階は、メインメモリ１８２における共有ＦＩＦＯを介して次の段階と連絡する。各ＦＩＦＯはラインに編成され、各ＦＩＦＯの最小サイズ（ライン数）は、生成側の出力ウィンドウ（ライン数）と消費側の入力ウィンドウ（ライン数）を扱えるよう設計される。段階間のメインメモリバッファを表１６に示してある。総バッファ空間使用が６．３ＭＢであると、プログラムコードおよびスクラッチメモリに対しては（利用可能な８ＭＢのうちの）１．７ＭＢが残る。
【表１８】
0004714344.tif 000020
【０１４４】
各ＦＩＦＯを含む全体的なデータフローを図１９に示してある。
コントーンページの解凍は、ＪＰＥＧデコーダ１９６により実行される。バイレベルページ解凍はＥＤＲＬエキスパンダ１８８により実行される。ハーフトーン化および合成は、ハーフトーン化装置／コンポジタユニット１９０により実行される。これらの機能ユニットについて以下の各セクションで説明する。
【０１４５】
７．２．１  ＤＭＡ法
各機能ユニットは、１以上のオンチップ入力および／または出力ＦＩＦＯを備える。各ＦＩＦＯには、マルチチャンネルＤＭＡコントローラ２００内の別個のチャンネルが割り当てられる。ＤＭＡコントローラ２００は２重アドレス転送ではなく単一アドレス転送を処理することから、各チャンネルに対して別々の要求／応答インターフェースを提供する。
【０１４６】
各機能ユニットは、入力ＦＩＦＯが使い果たされるか、出力ＦＩＦＯが満たされると常に適切に停止する。
プロセッサ１８１は、各ＤＭＡ転送をプログラムする。ＤＭＡコントローラ２００は、そのチャンネルに接続された機能ユニットからの要求時に、転送の各ワードに対するアドレスを生成する。その機能ユニットは、自身の要求がＤＭＡコントローラ２００により応答されたときに上記ワードをデータバス１８６上に、またはそれからラッチする。転送が完了するとＤＭＡコントローラ２００はプロセッサ１８１に割り込みを掛けることから、プロセッサ１８１は同一チャンネル上で別の転送をタイムリーにプログラムし得る。
【０１４７】
一般的に、対応するメインメモリＦＩＦＯが利用可能になると直ちに（すなわち、読取用が空でなく、書込用が一杯でない状態）、プロセッサ１８１はチャンネル上の別の転送をプログラムする。
【０１４８】
ＤＭＡコントローラ２００で実施されるチャンネルサービスの細分性は、ある程度メインメモリ１８２の待ち時間によって決まる。
７．２．２  ＥＤＲＬエキスパンダ
ＥＤＲＬエキスパンダユニット（ＥＥＵ）１８８を図２０により詳細に示してある。ユニット１８８はＥＤＲＬ圧縮バイレベル画像を解凍する。
【０１４９】
ＥＥＵ１８８への入力は、ＥＤＲＬビットストリームである。上記ＥＥＵからの出力は、展開バイレベル画像の解像度から、整数の基準倍率により１６００ｄｐｉへと水平方向に換算された１組のバイレベル画像ラインである。
【０１５０】
開始すると、ＥＥＵ１８８はＥＤＲＬビットストリーム内の「ページ終了」コードを検出するまで、またはＥＥＵの制御レジスタにより明瞭に停止されるまで、動作を続行する。
【０１５１】
ＥＥＵ１８８は、ビットストリームをデコードすべく明示的ページ幅に依存する。この明示的ページ幅は、ＥＥＵ１８８を開始する前にページ幅レジスタ２０２に書き込まれねばならない。
【０１５２】
展開バイレベル画像の換算は、明示的基準倍率によって決まる。その明示的基準倍率は、ＥＥＵ１８８を開始する前に基準倍率レジスタ２０４に書込まれねばならない。
【表１９】
0004714344.tif 000021
【０１５３】
ＥＤＲＬ圧縮フォーマットについては、６．２．３．２節に記載してある。そのフォーマットは、各エッジに関するバイレベル画像を表現する。各ラインにおける各エッジは、先行ラインにおけるエッジに対して、または、同一ラインにおける先行エッジに対してコード化される。コード化方法とは無関係に各エッジは最終的に、同一ラインにおける先行エッジからのエッジの距離へとデコードされる。この距離すなわちランレングスはその後、画像の対応部分を表現する１の各ビットもしくはゼロの各ビットの列へとデコードされる。解凍アルゴリズムもまた、６．２．３．２節に定義されている。
【０１５４】
ＥＥＵ１８８は、ビットストリームデコーダ２０６、状態マシン２０８、エッジ計算ロジック２１０、２個のランレングスデコーダ２１２およびランレングス（再）エンコーダ２１４から成る。ビットストリームデコーダ２０６は、ビットストリームからのエントロピーコード化（ｅｎｔｒｏｐｙ−ｃｏｄｅｄ）されたコードワードをデコードし、それを状態マシン２０８へと受け渡す。状態マシン２０８はビットストリームデコーダ２０６に対して上記コードワードのサイズを返信し、それによりデコーダ２０６は次のコードワードへ前進することができる。「エッジ生成」コードの場合、状態マシン２０８は上記ビットストリームデコーダ２０６を使用して、そのビットストリームからの対応ランレングスを抽出する。状態マシン２０８は、表１９で定義されるエッジ計算ロジック２１０およびランレングスのデコード／コード化を制御する。
【０１５５】
エッジ計算ロジック２１０は極めて簡単である。先行する（基準）ラインおよび現行の（コード化）ラインにおける現行のエッジオフセットは、それぞれ基準エッジレジスタ２１６およびエッジレジスタ２１８に保持される。「エッジ生成」コードに関連するランレングスは、ランレングスデコーダ２１２．１へと直接出力され、現行エッジへと加算される。「デルタ」コードは、基準エッジに対して関連デルタを加算し、かつ現行のエッジを減算することによりランレングスへと書き換えられる。生成されたランレングスは、ランレングスデコーダ２１２．１へと出力されると共に、上記現行エッジに加算される。次のランレングスはランレングスエンコーダ２１４から抽出されると共に、基準エッジへと加算される。「エッジ消去」コードは単に、現行基準エッジをスキップされるようにするだけである。再び、次のランレングスが上記ランレングスエンコーダ２１４から抽出され、基準エッジに加算される。
【０１５６】
エッジ計算ロジック２１０がエッジを表すランレングスを生成する毎に、ランレングスはランレングスデコーダ２１２．１へと受け渡される。ランレングスデコーダ２１２．１はランをデコードする一方、状態マシン２０８への停止信号を生成する。ランレングスデコーダ２１２はエッジ計算ロジック２１０よりも低速であることから、ランレングスデコーダをデカップルする点は多くない。展開されたラインは、約２１．６ｃｍ（８．５インチ）８００ｄｐｉライン（８５０バイト）を保持する上で十分に大きいラインバッファ２２０に蓄積される。
【０１５７】
先行して展開されたラインもまた、バッファ２２２でバッファされる。それは、現行ラインのデコードに対する基準として作用する。先行ラインは、要求があると再コード化される。これは、最悪の場合は各画素に対して１本の１３ビットランレングス（１６００ｄｐｉで２０ＫＢ）であるので、先行ラインのデコード済みランレングスをバッファするよりも安価である。ランレングスエンコーダ２１４はランをコード化する一方、状態マシン２０８に対して停止信号を生成する。ランレングスエンコーダ２１４はページ幅を使用してライン終了を検出する。（現行）ラインバッファ２２０および先行ラインバッファ２２２は、単一のＦＩＦＯとして連結かつ管理され、ランレングスエンコーダ２１４を簡略化する。
【０１５８】
第２のランレングスデコーダ２１２．２は、約２１．６ｃｍ（８．５インチ）１６００ｄｐｉライン（１７００バイト）を保持するに十分な大きさを有するラインバッファ２２４へ出力ランレングスをデコードする。この出力ランレングスデコーダ２１２．２に受け渡されたランレングスには、レジスタ２０４からの基準倍率を掛けることから、このデコーダ２１２．２は１６００ｄｐｉのラインを生成する。そのラインは、出力画素ＦＩＦＯを介して基準倍率倍されて出力される。これにより、必要な垂直方向の換算が簡素なライン復元で達成される。ＥＥＵ１８８は、その画像スケーリングに組み込まれたエッジスムージングを有して設計され得る。テンプレートマッチングに基づく簡単なスムージング方式は極めて効果的となり得る。これは、低解像度ランレングスデコーダとスムーズ換算ユニットとの間にマルチラインバッファを要すると考えられるが、高解像度ランレングスデコーダが必要なくなるであろう。
【０１５９】
７．２．２．１  ＥＤＲＬストリームデコーダ
ＥＤＲＬストリームデコーダ２０６（図２１）は、入力ビットストリーム中のエントロピーコード化ＥＤＲＬコードワードをデコードする。そのデコーダは、ビットストリーム内のコードワード境界に左（最上位）エッジが常に整列される１６ビットバレルシフタ２２８を介して視認される２バイト入力バッファ２２６を使用する。バレルシフタ２２８に接続されたデコーダ２３０は、表１８に従いコードワードをデコードし、状態マシン２０８に対応コードを提供する。
【表２０】
0004714344.tif 000022
【０１６０】
その結果、状態マシン２０８はそのコードの長さを出力する。これは、現行のコードワードビットオフセットに対してアキュムレータ２３２によってｍｏｄｕｌｏ−８にて加算され、次のコードワードビットオフセットを生成する。このビットオフセットはバレルシフタ２２８を制御する。コードワードビットオフセットが終了すると、キャリービットは入力ＦＩＦＯからの次のバイトのラッチを制御する。このとき、バイト２はバイト１へとラッチされ、ＦＩＦＯ出力はバイト２へとラッチされる。それは入力バッファを埋めるために長さ８の２サイクルを要する。これは、状態マシン２０８のステータスを開始することで処理される。
【０１６１】
７．２．２．２  ＥＤＲＬエキスパンダ状態マシン
ＥＤＲＬエキスパンダ状態マシン２０８はＥＤＲＬストリームデコーダ２０６により提供される各コードに応じてエッジ計算およびランレングス展開ロジックを制御する。該マシンは、現行コードワードの長さをＥＤＲＬストリームデコーダ２０６に供給し、現行のデルタコードに関連するデルタ値をエッジ計算ロジック２１０に供給する。状態マシン２０６はまた、上記制御レジスタ２３４（図２０）からの開始および停止制御信号と、エッジ計算ロジック２１０からのライン終了（ＥＯＬ）信号とに対して応答する。
【０１６２】
状態マシン２０８はまた、「エッジ生成」コードに関連するランレングスの多重サイクルフェッチも制御する。
【表２１】
0004714344.tif 000023
【０１６３】
７．２．２．３  ランレングスデコーダ
ランレングスデコーダ２１２は、ランレングスを、出力ストリームにおける対応長さのゼロの各ビットもしくは１の各ビットのシーケンスへと展開する。ラインの最初のランは白色（色０）と仮定される。各ランは、その先行ランの反対の色であると仮定される。最初のランが実際に黒色（色１）であれば、それはゼロ長さの白色ランにより先行されねばならない。ランレングスデコーダ２１２は、現行の色を内部で追跡する。
【０１６４】
ランレングスデコーダ２１２は、クロック毎に出力ストリームに対して最大で８ビットを付加する。ランレングスは代表的には、８の整数倍ではないことから、画像における最初のラン以外のランは、バイト整列されていないのが普通である。ランデコーダ２１２は、現在において構築されつつあるバイト内で利用可能なビット数を、バイト空間レジスタ２３６内に維持する（図２２）。これは、デコードの開始時およびバイト毎の出力時に、８へと初期化される。
【０１６５】
デコーダ２１２は、「次のラン」ライン２４８がランレングスレジスタ２３８に非ゼロ値をラッチすると直ちに、各ビットのランの出力を開始する。デコーダ２１２は、ランレングスレジスタ２３８がゼロになったときに効果的に停止する。
【０１６６】
現行色の多数のビットが、クロック毎に出力バイトレジスタ２４０へとシフトされる。現行色は、１ビットカラーレジスタ２４２に保持される。実際に出力されるビット数は、ランレングス内に残ったビット数と、出力バイト内に残ったスペアビット数とにより制限される。出力されるビット数はランレングスおよびバイト空間から減算される。ランレングスがゼロになると、それは完全にデコードされている。ただし、そのランの後部（ｔｒａｉｌｉｎｇ）ビットは依然として出力バイトレジスタ２４０にあって、出力を未決とし得る。バイト空間がゼロになると、出力バイトは一杯であり、出力ストリームに付加される。
【０１６７】
１６ビットバレルシフタ２４４、出力バイトレジスタ２４０およびカラーレジスタ２４２は協働して、シリアル入力としての色によってクロック毎に複数ビット位置だけシフトし得る８ビットシフトレジスタを実現する。
【０１６８】
外部リセットライン２４６を用いてラインの開始時にランレングスデコーダ２１２をリセットする。また、外部「次ラン」ライン２４８を用いて、新ランレングスのデコードを要求する。それには、外部ランレングスライン２５０が伴う。「次のラン」ライン２４８は、「リセット」ライン２４６と同一のクロックにセットしてはならない。「次のラン」は現行色を反転することから、その色のリセットはその色をゼロではなく１にセットする。不完全な場合には、外部「フラッシュ」ラインを用いて、ランの最後のバイトをフラッシュ（ｆｌｕｓｈ）する。それをライン毎に使用することでバイト整列されたラインを生成するか、あるいは画像ごとに使用することでバイト整列された画像を生成し得る。
【０１６９】
外部「レディ」ラインは、ランレングスデコーダ２１２がランレングスをデコードする準備ができたか否かを示す。それを用いて、外部ロジックを停止し得る。
【０１７０】
７．２．２．４  ランレングスエンコーダ
ランレングスエンコーダ２１４は、入力ストリームにおけるゼロもしくは１のビットのランを検出する。ラインの最初のランは白色（カラー０）と仮定される。各ランは、その先行ランの反対の色であると仮定される。最初のランが実際に黒色（カラー１）であれば、ランレングスエンコーダ２１４はそのラインの最初にてゼロ長さの白色ランを生成する。ランレングスデコーダは、現行の色を内部で追跡する。
【０１７１】
ランレングスエンコーダ２１４は、クロック毎に入力ストリームから最大で８ビットを読取る。それは、ビットストリーム内の現在位置に左（最上位）エッジが常に整列される１６ビットバレルシフタ２５８を介して視認される２バイト入力バッファ２５６（図２３）を使用する。バレルシフタ２５８に接続されたエンコーダ２６０は、表２０に従い８ビット（部分的）ランレングスをコード化する。８ビットランレングスエンコーダ２６０は現行色を使用して、適切な色のランを認識する。
【０１７２】
８ビットランレングスエンコーダ２６０により生成された８ビットランレングスは、ランレングスレジスタ２６２内の値に加算される。８ビットランレングスエンコーダ２６０が現行ランの最後を認識すると、レディレジスタ２６４によりラッチされるラン終了信号を生成する。レディレジスタ２６４の出力は、エンコーダ２１４がランレングスレジスタ２６２内に蓄積された現行ランレングスのコード化を完了したことを示す。さらに、レディレジスタ２６４の出力を用いて、８ビットランレングスエンコーダ２６０を停止する。停止されると８ビットランレングスエンコーダ２６０は、ゼロ長ランおよびゼロラン終了信号を出力し、ランレングスエンコーダ２１４全体を効果的に停止する。
【表２２】
0004714344.tif 000024
【０１７３】
８ビットランレングスエンコーダ２６０の出力は、残存ページ幅により制限される。実際の８ビットランレングスは、残存ページ幅から減算されると共に、バレルシフタ２５８を制御してバイトストリーム入力にクロック供給するのに使用されるｍｏｄｕｌｏ−８ビット位置アキュムレータ２６６に加算される。
【０１７４】
外部「リセット」ライン２６８を用いて、１ラインの開始時にランレングスエンコーダ２１４をリセットする。それは現行色をリセットし、「ページ幅」信号をページ幅レジスタ２７２へとラッチする。外部「次のラン」ライン２７４を用いて、ランレングスエンコーダ２１４から別のランレングスを要求する。それは現行色を反転し、ランレングスレジスタ２６２およびレディレジスタ２６４をリセットするものである。不完全な場合、外部「フラッシュ」ライン２７６を用いて、そのランの最終バイトをフラッシュする。それをライン毎に使用してバイト整列されたラインを処理するか、あるいは画像ごとに使用してバイト整列された画像を処理し得る。
【０１７５】
外部準備ライン２７８は、ランレングスエンコーダ２１４がランレングスをコード化する準備ができており、現行ランレングスがランレングスライン２８０上で利用可能であることを示す。それを用いて、外部ロジックを停止し得る。
【０１７６】
７．２．２．５  タイミング
ＥＥＵ１８８は、１２４Ｍ  １ビット黒色画素／秒の出力速度を有する。コアロジックはクロックごとに１つのランレングスを生成する。ランレングスデコーダ２１２およびランレングスエンコーダ２１４は、クロック当たり８画素（ビット）までの生成／消費を行う。一方のランレングスデコーダ２１２．１およびランレングスエンコーダ２１４は１／４解像度（８００ｄｐｉ）で動作する。他方のランレングスデコーダ２１２．２はフル解像度（１６００ｄｐｉ）で動作する。
【０１７７】
全ページが３ポイントテキストからなる最悪の場合のバイレベル画像は、８００ｄｐｉ（レンダリング解像度）で約６Ｍランレングスに変換される。１６００ｄｐｉ（水平方向出力解像度）では、これは約２０の平均ランレングスを与える。従って、８画素出力バイトの約４０％が２つのランにわたることから、１クロックではなく２クロックが必要となる。出力ラインは垂直方向に繰り返されて、垂直解像度１６００ｄｐｉを与える。ラインが生成されるのではなく繰り返される場合、それはクロック当たり８画素の完全効率を有し、よってオーバーヘッドは２０％に半減される。
【０１７８】
ＥＥＵ１８８の出力段階での完全解像度ランレングスデコーダはＥＥＵ１８８で最も遅い構成要素である。従ってＥＥＵ１８８の最低クロック速度は、ＥＥＵの出力画素速度（１２４Ｍ画素／秒）によって規定され、ランレングスデコーダの幅（８）で割られ、最悪ケースのオーバーヘッド（２０％）に応じて調節される。これによって約２２ＭＨｚという最低速度が得られる。
【０１７９】
７．２．３  ＪＰＥＧデコーダ
ＪＰＥＧデコーダ１９６（図２４）は、ＪＰＥＧ圧縮ＣＭＹＫコントーン画像を解凍する。
ＪＰＥＧデコーダ１９６への入力は、ＪＰＥＧビットストリームである。ＪＰＥＧデコーダ１９６からの出力は、１組のコントーンＣＭＹＫ画像ラインである。
【０１８０】
解凍の際、ＪＰＥＧデコーダ１９６はその出力を８×８画素ブロックの形態で書込む。これらのブロックは場合によって、コーダに緊密に連結されたページ幅×８ストリップバッファを介して全幅ラインに変換される。このためには６７ＫＢのバッファが必要と考えられる。本発明者らはこれに代えて、図２４に示したように、共有バスアクセスを有する８個のパラレル画素ＦＩＦＯ２８２と、対応する８個のＤＭＡチャンネルとを使用する。
【０１８１】
７．２．３．１  タイミング
ＪＰＥＧデコーダ１９６は３．５Ｍ  ３２ビットＣＭＹＫ画素／秒という出力速度を有する。デコーダの必要クロック速度はデコーダ設計によって決まる。
７．２．４  ハーフトーン化装置／コンポジタ
ハーフトーン化装置／コンポジタユニット（ＨＣＵ）１９０（図２５）は、コントーンＣＭＹＫ層をバイレベルＣＭＹＫにハーフトーン化する機能およびハーフトーン化されたコントーン層の上に黒色層を合成する機能を兼務している。
【０１８２】
ＨＣＵ１９０への入力は、展開された２６７ｐｐｉのＣＭＹＫコントーン層および展開された１６００ｄｐｉの黒色層である。ＨＣＵ１９０からの出力は、１組の１６００ｄｐｉバイレベルＣＭＹＫ画像ラインである。
【０１８３】
一旦始動すると、ＨＣＵ１９０は、「ページ終了」条件を検出するまで、または制御レジスタ２８４を介して明示的に停止させられるまで続行する。
ＨＣＵ１９０は、指定された幅および長さのドットページを生成する。幅および長さは、ＨＣＵ１９０の始動に先立ち、制御レジスタ２８４のページ幅レジスタおよびページ長レジスタに書込まれなくてはならない。ページ幅はプリントヘッドの幅に相当する。ページ長は、目標ページの長さに相当する。
【０１８４】
ＨＣＵ１９０は、ページ幅に関して、指定された左右マージンの間において目標ページを生成する。左右マージンの位置は、ＨＣＵ１９０を始動するに先立ち制御レジスタ２８４の左マージンレジスタおよび右マージンレジスタに書込まれなくてはならない。左マージンから右マージンまでの距離は、目標ページの幅に相当する。
【０１８５】
ＨＣＵ１９０は、指定された黒色およびコントーンページ幅に従って黒色およびコントーンデータを消費する。これらのページ幅は、ＨＣＵ１９０の始動に先立ち、制御レジスタ２８４の黒色ページ幅およびコントーンページ幅レジスタに書込まれなくてはならない。ＨＣＵ１９０は、黒色およびコントーンデータを所望ページ幅にクリップする。こうして、黒色およびコントーンページ幅は、入力ＦＩＦＯレベルでいずれか特別なライン終了ロジックを必要とすることなく所望ページ幅を上回ることができるようになる。
【０１８６】
ページ幅、黒色ページ幅およびコントーンページ幅とマージンとの間の関係を図２６に示してある。
ＨＣＵ１９０は、指定された基準倍率に基づいて水平方向および垂直方向の両方向でコントーンデータをプリンタ解像度に合わせて拡縮する。この基準倍率は、ＨＣＵ１９０を始動させる前に、制御レジスタ２８４のコントーン基準倍率レジスタに書込まれなくてはならない。
【表２３】
0004714344.tif 000025
【０１８７】
ＨＣＵ１９０によって生成されたデータの消費側は、プリントヘッドインターフェース１９２である。プリントヘッドインターフェース１９２は、プラナーフォーマット、すなわち色平面が分離された状態でのバイレベルＣＭＹＫ画像データを必要とする。さらにそれは、偶数および奇数の画素が分離されていることも必要とする。従って、ＨＣＵ１９０の出力段階は、８個、すなわち偶数シアン、奇数シアン、偶数マゼンタ、奇数マゼンタ、偶数黄色、奇数黄色、偶数黒色および奇数黒色のパラレル画素ＦＩＦＯを使用する。
【０１８８】
入力コントーンＣＭＹＫ  ＦＩＦＯ２８８は、フル９ＫＢラインバッファである。ラインは、ラインの複製を介して垂直方向の拡大を実施するためコントーン基準倍率回使用される。ラインの最終使用の開始まで、ＦＩＦＯ書込みアドレスラッピングは無効化される。別法としては、メモリトラフィックを４４ＭＢ／秒だけ増大させるが、オンチップ９ＫＢラインバッファは必要とせずに、メインメモリからコントーン基準倍率回そのラインを読取ることが挙げられる。
【０１８９】
７．２．４．１  多重閾値ディザ
多重閾値ディザユニット２９０を図面の図２７に示してある。汎用２５６層ディザボリュームは、異なる強度レベルをデカップルさせることにより、ディザセル設計において大きな柔軟性を与える。汎用ディザボリュームは大きいものであっても良く、例えば６４×６４×２５６ディザボリュームは１２８ＫＢのサイズをもつ。同様に、各色成分がこのボリュームからの異なるビットの検索を必要とすることから、これらのボリュームのアクセス効率は低い。実際には、ディザボリュームの各層を完全にデカップルさせる必要はない。ボリュームの各ドット列は、２５６の分離したビットではなくむしろ固定された閾値セットとして実現することが可能である。例えば、３つの８ビット閾値を使用すると、２４ビットしか消費されない。ここでｎ個の閾値がｎ＋１個の強度間隔を定義づけ、これらの間隔内で対応するディザセルの位置が交互にセットされないか、またはセットされた状態となる。ディザされているコントーン画素値は、ｎ＋１個の間隔の１つを一意的に選択し、こうして、対応する出力ドットの値が決定される。
【０１９０】
３重閾値６４×６４×３×８ビット（１２ＫＢ）のディザボリュームを用いてコントーンデータをディザリングする。これら３つの閾値は、１サイクル内でディザセルＲＯＭから検索できる簡便な２４ビット値を形成する。色平面間でディザセルの位置合わせが望まれる場合には、同じ３重閾値を１回検索し、各色成分をディザリングするために使用することが可能である。ディザセルの位置合わせが望まれない場合には、ディザセルを４つのサブセルに分割し、１回のサイクルで４つの異なる３重閾値を並行して検索可能である別々にアドレス指定可能な４個のＲＯＭの中にこれらを記憶することが可能である。以下に示したアドレス指定スキームを用いると、４つの色平面は、互いから３２ドットの垂直方向および／または水平方向のオフセットにおいて、同じディザセルを共有する。
【０１９１】
各３重閾値ユニット２９２は、３重閾値および強度値を間隔へ、そこから１ビットまたはゼロビットへと変換する。３重閾値処理規則は表２２に示してある。対応する論理は図２８に示してある。
【表２４】
0004714344.tif 000026
【０１９２】
７．２．４．２  合成
ＨＣＵ１９０の合成ユニット２９４は、ハーフトーン化ＣＭＹＫ層ドット全体上に黒色層ドットを合成する。黒色層不透明度が１である場合には、ハーフトーン化ＣＭＹはゼロにセットされる。
【０１９３】
４ビットのハーフトーン化カラーＣcＭcＹcＫcおよび１ビット黒色層不透明度Ｋbとした場合、合成ロジックは、表２３に定義した通りである。
【表２５】
0004714344.tif 000027
【０１９４】
７．２．４．３  クロックイネーブルジェネレータ
ＨＣＵ１９０のクロックイネーブルジェネレータ２９６は、コントーンＣＭＹＫ画素入力、黒色ドット入力およびＣＭＹＫドット出力をクロックするためのイネーブル信号を生成する。
【０１９５】
前述したとおり、コントーン画素入力バッファは、ラインバッファおよびＦＩＦＯの双方として使用される。各ラインは１回読取られ、次にコントーン基準倍率回使用される。ＦＩＦＯ書込みアドレスラッピングは、そのラインの最終繰り返し使用開始まで無効化され、その時点でクロックイネーブルジェネレータ２９６は、ラッピングをイネーブルとするコントーンライン前進（ａｄｖａｎｃｅ）イネーブル信号を生成する。
【０１９６】
クロックイネーブルジェネレータ２９６は、出力ドットＦＩＦＯの偶数セットまたは奇数セットを選択するのに使用される偶数信号および、現行ドット位置がページの左または右マージンにあるときに白色ドットを生成するのに使用されるマージン信号をも生成する。
【０１９７】
クロックイネーブルジェネレータ２９６は、１組の計数器を使用する。計数器の内部ロジックを表２４に定義する。クロックイネーブル信号のロジックを、表２５に定義する。
【表２６】
0004714344.tif 000028
【表２７】
0004714344.tif 000029
【０１９８】
７．２．４．４  タイミング
ＨＣＵ１９０は１２０Ｍ  ４−ビットＣＭＹＫ画素／秒の出力速度を有する。それはクロック当たり１画素を生成することから、少なくとも１２４ＭＨｚでクロックしなければならない。
【０１９９】
７．３  プリントヘッドインターフェース
Ｃｅプリント１０は、９節で説明する約２１．６ｃｍ（８．５インチ）ＣＭＹＫメムジェットプリントヘッド１４３を使用する。このプリントヘッドは、２つのセグメントグループに配置された１７個のセグメントから構成される。第１のセグメントグループは９個のセグメントを有し、第２のセグメントグループは８個のセグメントを有する。プリントヘッド１４３は、各色１３，６００個のノズル、合計５４，４００個のノズルを有する。プリントヘッドインターフェース１９２は、下記の動作パラメータで構成される１０節に記載の標準的なメムジェットプリントヘッドインターフェースである。
・最大色数＝４
・Ｘｆｅｒ当たりセグメント数＝９
・セグメント群数＝２。
【０２００】
プリントヘッドインターフェース１９２は多くの外部接続を有するが、約２１．６ｃｍ（８．５インチ）プリントヘッドではその全てを使用するわけではないことから、全てがＣＣＰ１８０上の外部ピンに接続されているわけではない。具体的には、ＳｅｇｍｅｎｔＧｒｏｕｐｓの値は、２個のＳＲＣｌｏｃｋピンおよび２個のＳｅｎｓｅＳｅｇＳｅｌｅｃｔピンのみがあることを示唆している。しかしながら、３６個のＣｏｌｏｒＤａｔａピンの全ては必要である。
【０２０１】
７．３．１  タイミング
Ｃｅプリント１０は２秒間で約２１．１ｃｍ×約２９．７ｃｍ（８．３インチ×１１．７インチ）のページを印刷する。従ってプリントヘッド１４３は、２秒間に１８，７２０ライン（約２９．７ｃｍ（１１．７インチ）×１６００ｄｐｉ）を印刷しなければならず、よってライン時間は約１０７μ秒となる。プリントヘッドインターフェース１９２内では、１回の印刷サイクルおよび１回のロードサイクルが双方ともその時間内に完了しなければならない。さらに、用紙１４４は同時間内に約１６μｍだけ進まなければならない。
【０２０２】
高速印刷モードにおいてメムジェットプリントヘッド１４３は、１ライン全体を１００μ秒で印刷し得る。全てのセグメントが同時に吐出することから、各吐出パルスによって５４４個のノズルから同時に吐出される。これによって、各ライン間の他のタスクには７μ秒が残されることになる。
【０２０３】
プリントヘッド１４３への１６００のＳＲＣｌｏｃｋパルス（ＳＲＣｌｏｃｋ１およびＳＲＣｌｏｃｋ２のそれぞれに８００）も、１０７μ秒のライン時間内に生じなければならない。タイミングを１００μ秒に制限すると、１つのＳＲＣｌｏｃｋパルスの長さは１００μ秒／１６００＝６２．５ナノ秒を超えることができない。従ってプリントヘッド１４３は１６ＭＨｚでクロックされなければならない。
【０２０４】
プリントヘッドインターフェース１９２は公称画素速度１２４Ｍ  ４−ビットＣＭＹＫ画素／秒を有する。しかしながら、それは各１０７μ秒中の１００μ秒でのみアクティブであることから、それは少なくとも１４０ＭＨｚでクロックされなければならない。これを１４４ＭＨｚに増加して、それをプリントヘッド速度の整数倍とし得る。
【０２０５】
７．４  プロセッサおよびメモリ
７．４．１  プロセッサ
プロセッサ１８１は、ページ受信、展開および印刷中にその他の機能ユニットを同期化する制御プログラムを実行する。これは、さまざまな外部インターフェースのためのテバイスドライバも実行し、ユーザインターフェースを介してユーザの動作にも対応する。
【０２０６】
これは、効率のよいＤＭＡ管理を提供するよう低い割込み待ち時間を有していなくてはならないが、それ以外の点では、特に高性能である必要はない。
７．４．２  ＤＭＡコントローラ
ＤＭＡコントローラ２００は、２９チャンネル上で単一アドレス転送をサポートする（表２６参照）。これは、転送完了時点でプロセッサ１８１に対しベクトル割込みを生成する。
【表２８】
0004714344.tif 000030
【０２０７】
７．４．３  プログラムＲＯＭ
プログラムＲＯＭ  ２９８は、システムブート時にメインメモリ１８２内にロードされるＣＣＰ１８０制御プログラムを保持する。
【０２０８】
７．４．４  Ｒａｍｂｕｓインターフェース
Ｒａｍｂｕｓインターフェース１９８は、外部８ＭＢ（６４Ｍビット）のＲａｍｂｕｓＤＲＡＭ（ＲＤＲＡＭ）１８２に対する高速インターフェースを提供する。
【０２０９】
７．５  外部インターフェース
７．５．１  ホストインターフェース
ホストインターフェース１９４は、少なくとも１．５ＭＢ／秒（または両面機のＣｅプリントでは３ＭＢ／秒）の速度でホストプロセッサへの接続を提供する。
【０２１０】
７．５．２  スピーカインターフェース
スピーカインターフェース３００（図２９）は、メインメモリ１８２からのサウンドクリップのＤＭＡ介在転送に用いられる小型ＦＩＦＯ３０２、各８ビットサンプル値を電圧に変換する８ビットデジタル−アナログ変換器（ＤＡＣ）３０４および外部スピーカ３０８に送電する増幅器３０６を備える（図１８）。ＦＩＦＯ３０２が空の場合、該ＦＩＦＯ３０２はゼロ値を出力する。
【０２１１】
スピーカインターフェース３００は、サウンドクリップの周波数でクロックされる。
プロセッサ１８１は、単にスピーカインターフェース３００のＤＭＡチャンネルをプログラミングすることによってスピーカ３０８にサウンドクリップを出力する。
【０２１２】
７．５．３  パラレルインターフェース
パラレルインターフェース３０９は、多くのパラレル外部信号ライン上に入出力を提供する。これによってプロセッサ１８１は、表２７に挙げた機器を検知または制御し得る。
【表２９】
0004714344.tif 000031
【０２１３】
７．５．４  シリアルインターフェース
シリアルインターフェース３１０は、２つの標準的な低速シリアルポートを提供する。一方のポートは、マスタＱＡチップ１８４に接続するために用いられる。他方のポートは、インクカートリッジ内のＱＡチップ３１２に接続するために用いられる。２つの間のプロセッサ介在プロトコルを用いて、インクカートリッジを認証する。プロセッサ１８１は次に、ＱＡチップ３１２からのインク特性ならびに各インクの残量を検索し得る。プロセッサ１８１は、メムジェットプリントヘッド１４３を適切に構成するために、これらのインク特性を使用する。このプロセッサは、プリントヘッドインターフェース１９２により蓄積されたインク消費情報を用いてページ毎に更新されるインク残量を使用して、プリントヘッド１４３が乾燥することによる損傷を決して受けさせないことを保証する。
【０２１４】
７．５．４．１  インクカートリッジＱＡチップ
インクカートリッジ３２内のＱＡチップ３１２は、可能なかぎり最良の印刷品質を維持するために必要とされる情報を備えており、認証チップを用いて実現される。認証チップ内の２５６ビットのデータは、以下のように割り当てられる。
【表３０】
0004714344.tif 000032
【０２１５】
各ページを印刷する前に、プロセッサ１８１は、最悪の場合でも１ページ全面を印刷するのに充分なインクがあることを保証するためにインク残量を確認しなければならない。ひとたびページが印刷された時点で、プロセッサ１８１は（プリントヘッドインターフェース１９２から得られた）各色の液滴合計数に液滴体積を乗算する。印刷されたインクの量をインク残量から引く。インク残量の測定単位はナノリットルであることから、３２ビットは４リットル以上のインクを表わすことが可能である。１ページに使用されるインクの量は、最も近いナノリットル（すなわち約１０００個の印刷ドット）に切り上げなければならない。
【０２１６】
７．５．５  ＣＣＰ間インターフェース
ＣＣＰ間インターフェース３１４は、第２のＣＣＰへの双方向高速シリアル通信リンクを提供し、２個のＣＣＰを有する両面機プリンタなどのマルチＣＣＰ構成で使用される。
【０２１７】
このリンクは３０ＭＢ／秒という最低速度を有することで、ページデータのタイムリーな分配をサポートし、ＩＥＥＥ１３９４またはＲａｍｂｕｓなどの技術を用いて行うことができる。
【０２１８】
７．５．６  ＪＴＡＧインターフェース
試験目的で、標準的なＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ、共同検査活動グループ）インターフェース（図示せず）が備えられる。チップが複雑であるために、ＢＩＳＴ（ビルトイン自己検査）および機能ブロック分離などの種々の試験技術が必要とされる。総合チップ試験回路に対しては、チップの１０％のオーバーヘッドが想定される。
【０２１９】
８  両面印刷
Ｃｅプリントの両面機は、２個の完全な印刷エンジンすなわち２個の印刷ユニット１４０を備え、一方は用紙の前面用であり、他方は後面用である。各印刷ユニット１４０は、プリンタコントローラ１７８と、メムジェットプリントヘッド１４３を有するプリントヘッドアセンブリ１４２と、転写ローラ６８とから成る。両印刷ユニット１４０は同一のインク供給源を共有する。後面側すなわち下側の印刷ユニット１４０はマスタユニットとして作用する。該ユニットは、ホストとの通信、インクカートリッジ３２の取り扱い、ユーザインターフェースの取り扱い、および用紙搬送の制御などの全体的プリンタ機能を統御する。前面側すなわち上側の印刷ユニット１４０はスレーブユニットとして作用する。該ユニットは、上記マスタユニットを介して上記ホストプロセッサからページを取得すると共に、印刷の間においては上記マスタユニットにより同期される。
【０２２０】
両プリンタコントローラ１７８は、Ｃｅプリント中央プロセッサ（ＣＣＰ）１８０およびローカル８ＭＢ  ＲＤＲＡＭ１８２を備えている。上記マスタユニットの各外部インターフェースは片面機のＣｅプリントと同一の手法で使用されるが、上記スレーブユニットのメモリンターフェース１９８およびプリントヘッドインターフェース１９２のみが使用される。ＣＣＰ１８０の外部マスタ／スレーブピンが作動のモードを選択する。
【０２２１】
このデュアルプリンタコントローラ配置構成は図３０に示される。
８．１  ページの供給および割り当て
マスタＣＣＰ１８０Ｍ（図３０）は、上記ホストプロセッサに対してプリンタ１０の統合ビューを呈示する。それはスレーブＣＣＰ１８０ＳＣＣＰ１８０Ｓの存在を隠すものである。
【０２２２】
各ページは上記ホストプロセッサからプリンタ１０に対し、ページ順に送信される。文書の第１頁は常に表面の頁であり、且つ、表側の頁および裏面の頁は常に交互配置（ｉｎｔｅｒｌｅａｖｅ）される。故に奇数番目の頁は表面の頁であり且つ偶数番目の頁は裏面の頁である。用紙の表面もしくは裏面のいずれかに片面モードで印刷する為には、上記ホストは適切なブランク頁をプリンタ１０に送信せねばならない。プリンタ１０は、全頁に対するページ記述を期待する。
【０２２３】
マスタＣＣＰ１８０Ｍが奇数番目頁に関するページコマンドを上記ホストプロセッサから受信したとき、該マスタＣＣＰ１８０ＭはそのコマンドをＣＣＰ間シリアルリンク３１４を介してスレーブＣＣＰ１８０Ｓへとルーティングする。上記ホストリンクおよびそのプロトコルに不当な制限を課すのを回避すべく、各コマンドは、上記スレーブのメモリ１８２Ｓに転送される前に、コマンド全体が受信されて上記マスタのローカルメモリ１８２Ｍ内に記憶される。これにより導入される遅延は僅かである、と言うのも、ＣＣＰ間シリアルリンク３１４は高速だからである。スレーブに予定されたページに対して利用可能なページバッファをマスタＣＣＰ１８０Ｍが常に有するのを保証すべく、上記マスタは慎重に作成された裏面ＣＣＰであることから、該マスタは一致する裏面の偶数番目頁を受信する前に表面の奇数番目頁を受信する。
【０２２４】
８．２  同期印刷
一旦、マスタＣＣＰ１８０ＭおよびスレーブＣＣＰ１８０Ｓが夫々のページを受信すると、マスタＣＣＰ１８０Ｍは実際の印刷を開始する。これは、マスタＣＣＰ１８０Ｍにおけるページ展開および印刷プロセスを開始することと、ＣＣＰ間シリアルリンク３１４を介して送信されたコマンドによりスレーブＣＣＰ１８０Ｓで同一のプロセスを開始することとからなる。
【０２２５】
表面印刷頁および裏面印刷頁の間の完全な位置合わせを行うため、両ＣＣＰのプリントヘッドインターフェース１９２は共通ライン同期信号に対して同期される。上記同期信号はマスタＣＣＰ１８０Ｍにより生成される。
【０２２６】
上記プリントヘッドインターフェースのラインローダ／フォーマットユニット（ＬＬＦＵ）の停止状態により示される如く（１０．４節）、両ＣＣＰにおける印刷パイプラインが十分に準備されたなら、マスタＣＣＰ１８０Ｍはプリントヘッドインターフェース１９２のライン同期生成器ユニット（ＬＳＧＵ）を始動する（１０．２節）。マスタＣＣＰ１８０Ｍは、ＣＣＰ間シリアルリンク３１４上で送信されたポールにより、スレーブＣＣＰ１８０ＳのＬＬＦＵのステータスを得る。
【０２２７】
１頁の印刷の後、またはより頻繁に、マスタＣＣＰ１８０ＭはＣＣＰ間リンク３１４を介してスレーブＣＣＰ１８０Ｓからインク消費情報を得る。マスタＣＣＰ１８０Ｍはこれを使用し、第７．５．４．１節に記載したように、インクカートリッジ３２の残存インク体積を更新する。
【０２２８】
マスタおよびスレーブＣＣＰ１８０Ｍ，１８０Ｓは，またＣＣＰ間リンク３１４を介し、エラーイベント、および、ホストにより開始されたリセットコマンドも交換する。
【０２２９】
９  メムジェットプリントヘッド
メムジェットプリントヘッド１４３は、４色までのバイレベルドットを生成することで特定幅の印刷頁を生成するドロップオンデマンドの１６００ｄｐｉインクジェットプリンタである。上記プリントヘッドは１６００ｄｐｉで印刷することから、各ドットの直径は約２２．５ｍｍであり且つ１５．８７５ｍｍだけ離間されている。また印刷はバイレベルであることから、入力イメージは最適結果の為にディザ（ｄｉｔｈｅｒ）されもしくは誤差拡散されねばならない。
【０２３０】
一般的に、特定の用途に対するメムジェットプリントヘッドはページ幅である。これにより、プリントヘッド１４３は固定され得ると共に、用紙１４４はプリントヘッド１４３を通過して移動し得る。図３１は典型的な配置構成を示している。
【０２３１】
メムジェットプリントヘッド１４３は、多数の同一の１／２インチメムジェットセグメントから成る。故に該セグメントは、プリントヘッド１４３を構築する基本構成ブロックである。
【０２３２】
９．１  メムジェットセグメントの構造
この節では、メムジェットプリントヘッド１４３を構築する上記基本構成ブロックである単一セグメントの構造を検証する。
９．１．１  セグメント内のノズルのグループ化
単一セグメント内における各ノズルは、物理的安定性、ならびに、印刷中の電力消費の最小化の理由で、グループ化される。物理的安定性に関しては、同一のインクリザーバを合計で１０個のノズルが共有する。電力消費に関しては、低速および高速印刷モードを可能とする為にグループ化が行われる。メムジェットセグメントは２通りの印刷速度をサポートすることにより、異なる製品構成において速度／電力消費のトレードオフを行うことを許容する。
【０２３３】
低速印刷モードにおいては、セグメントから各色の４個のノズルが同時に吐出する。吐出するノズルの厳密な個数は、プリントヘッド内にいくつの色が存在するかに依存する。これは４色（たとえばＣＭＹＫ）印刷環境においては、同時に１６個のノズルを吐出させることに相当する。また、３色（たとえばＣＭＹ）印刷環境においては、同時に１２個のノズルを吐出させることに相当する。１個のセグメントにおける全ノズルを吐出させるには、異なる２００セットのノズルが吐出させられねばならない。
【０２３４】
高速印刷モードにおいては、セグメントからの各色の８個のノズルが同時に起動される。起動されるノズルの厳密な個数は、プリントヘッド内にいくつの色が存在するかに依存する。これは４色（たとえばＣＭＹＫ）印刷環境においては、同時に３２個のノズルを吐出させることに相当する。また、３色（たとえばＣＭＹ）印刷環境においては、同時に２４個のノズルを吐出させることに相当する。１個のセグメントにおける全てのノズルを吐出させるには、異なる１００セットのノズルが吐出させられねばならない。
【０２３５】
低速モードにおける電力消費は、高速モードにおけるその半分である。但し、１頁を印刷するために消費されるエネルギはいずれの場合も同一であることに注意されたい。
【０２３６】
９．１．１．１  １０個のノズルが１個のポッドを構成
単一のポッドは、共通インクリザーバを共有する１０個のノズルから成る。５個のノズルがひとつの列であり、５個が別の列である。各ノズルは１５．８７５ｍｍ格子上で離間された２２．５ｍｍ直径のドットを生成し、１６００ｄｐｉで印刷する。図３２は単一ポッドの配置を示し、各ノズルは吐出させられるべき順序に従い付番されている。
【０２３７】
各ノズルはこの順序で吐出させられるが、各ノズルと、印刷頁上における各ドットの物理的配置は異なる。一方の列からの各ノズルは該当ページ上のひとつのラインからの偶数番目ドットを表すと共に、他方の列における各ノズルはそのページ上の隣のラインからの奇数番目ドットを表す。図３３は、各ノズルが、ロードされるべき順序に従い付番されたという同一ポッドを示している。
【０２３８】
故に、ひとつのポッド内における各ノズルは、論理的に１ドット幅だけ分離される。各ノズル間の厳密な距離は、上記メムジェット吐出メカニズムの特性に依存する。プリントヘッド１４３は、用紙の流れに整合すべく千鳥状に配置されたノズルにより形成される。
【０２３９】
９．１．１．２  各色から１個ずつのポッドがクロマポッドを構成
各色につき１個のポッドは、１個のクロマポッドへとグループ化される。１個のクロマポッドにおけるポッドの個数は、特定の用途に依存する。（黒色のみを印刷するような）モノクローム印刷システムにおいては、単一色しか存在しないため単一個のポッドが存在する。写真印刷用途のプリントヘッドは３色（シアン、マゼンタ、黄色）を必要とすることから、それらの用途に使用される各メムジェットセグメントはクロマポッド毎に３個のポッドを有する（各色に対して１個のポッド）。（デスクトッププリンタなどの）ＣＭＹＫ（シアン、マゼンタ、黄色、黒色）印刷システムにおいて使用されるように、各ポッドの予測最大数は４である。この最大の４色は何らかの物理的制約により課されるのでは無く、予測される用途から予測される最大値にすぎない（もちろん、色数が増えるにつれて、セグメントのコストは増加すると共に、単一のシリコンウェハから製造され得るこれらのより大きなセグメントの個数は減少する）。
【０２４０】
ひとつのクロマポッドは、異なるライン上の１０ドットの同一水平セットの個々の色成分を表す。異なるカラーポッド間の厳密な距離は、メムジェット作動パラメータに依存すると共に、メムジェットの個々の設計に依り変化し得る。上記距離は所定数のドット幅と考えられることから、印刷時には考慮されねばならず、シアンノズルにより印刷された各ドットは、マゼンタ、黄色もしくは黒色ノズルにより印刷されたラインとは異なるラインに対するものとなる。印刷アルゴリズムは、各色間の約８ドット幅までの可変距離を許容せねばならない。図３４は、ＣＭＹＫ印刷アプリケーションに対する単一個のクロマポッドを示している。
【０２４１】
９．１．１．３  ５個のクロマポッドが１個のポッドグループを構成
５個のクロマポッドは単一のポッドグループに編成される。故にひとつのポッドグループは各色に対して５０個のノズルを含む。一例として、各クロマポッドが０乃至４と付番されると共に、ＣＭＹＫクロマポッドを使用した配置構成が図３５に示される。明瞭化の為に、隣接する各クロマポッドの間の距離が誇張されていることに注意されたい。
【０２４２】
９．１．１．４  ２個のポッドグループが１個の位相グループを構成する
２個のポッドグループは単一の位相グループに編成される。位相グループがその様な名称とされるのは、ひとつの位相グループ内におけるノズルの各グループは所定吐出位相の間において同時に吐出させられるからである（これは以下において更に詳述される）。２つのポッドグループからひとつの位相グループを形成するのはまさに、２本のＰｏｄｇｒｏｕｐＥｎａｂｌｅラインを介して低速および高速印刷を行う為である。
【０２４３】
低速印刷の間においては２個のＰｏｄｇｒｏｕｐＥｎａｂｌｅラインの一方のみが所定吐出パルスにおいてセットされることから、２個のポッドグループの一方のみが各ノズルを吐出させる。高速印刷の間においては双方のＰｏｄｇｒｏｕｐＥｎａｂｌｅラインがセットされることから、双方のポッドグループが各ノズルを吐出させる。故に低速印刷は高速印刷の２倍の時間が掛かる、と言うのも、高速印刷は同時に２倍のノズルを吐出させるからである。
【０２４４】
図３６は、ひとつの位相グループの構成を示している。尚、明瞭化の為に、隣接するポッドグループ間の距離は誇張されている。
９．１．１．５  ２つの位相グループが一つの吐出グループを構成
２つの位相グループ（ＰｈａｓｅｇｒｏｕｐＡおよびＰｈａｓｅｇｒｏｕｐＢ）は単一の吐出グループに編成され、４個の吐出グループが各セグメント内に存在する。各吐出グループがその様な名称とされるのは、それらが同じノズルを同時に吐出させるからである。２本の有効化ラインすなわちＡＥｎａｂｌｅおよびＢＥｎａｂｌｅによれば、ＰｈａｓｅｇｒｏｕｐＡの各ノズルおよびＰｈａｓｅｇｒｏｕｐＢの各ノズルは異なる吐出位相として独立的に吐出させられ得る。その配置構成は図３７に示されている。明瞭化の為に隣接する各グループの間の距離は誇張されている。
【０２４５】
９．１．１．６  ノズルのグループ化の要約
表２９は、ＣＭＹＫクロマポッドを想定した１個のセグメントにおけるノズルグループ化の要約である。
【表３１】
0004714344.tif 000033
【０２４６】
上記のＣの値、すなわちセグメント内に含まれる色数により、ノズルの合計数が決定される。
【０２４７】
ＣＭＹＫなどの４色セグメントでは、１個のセグメント当たりのノズルの個数は３，２００個である。
ＣＭＹなどの３色セグメントでは、１個のセグメント当たりのノズルの個数は２，４００個である。
【０２４８】
単色環境においては、ノズルの個数は８００個である。
９．１．２  ロードおよび印刷サイクル
単一セグメントは、Ｃを該ノズルにおける色数として合計で８００Ｃ個のノズルを備える。印刷されるべき情報に依存して、印刷サイクル（Ｐｒｉｎｔ  Ｃｙｃｌｅ）はこれらのノズルの全てまで吐出させることを含む。ロードサイクル（Ｌｏａｄ  Ｃｙｃｌｅ）は、引き続く印刷サイクルの間に印刷されるべき情報をセグメントにロードすることを伴う。
【０２４９】
各ノズルは、印刷サイクルの間において該ノズルが吐出するか否かを決定する関連ＮｏｚｚｌｅＥｎａｂｌｅビットを有する。（ノズル毎に１個の）該ＮｏｚｚｌｅＥｎａｂｌｅビットは、一連のシフトレジスタを介してロードされる。
【０２５０】
論理的に、（一色につき１個の）セグメント毎に、各々が８００深度（ｄｅｅｐ）のＣ個のシフトレジスタが存在する。所定の色に対してシフトレジスタに各ビットがシフトされると、各ビットは交互のパルスにて上側および下側ノズルに導向される。内部的には、各８００深度シフトレジスタは２個の４００深度シフトレジスタから成り、一方は上側の各ノズル用であり、他方が下側の各ノズル用である。上記の交互の内部レジスタに対しては、交互の各ビットがシフトされる。但し外部インターフェースに関する限り、単一の８００深度シフトレジスタが存在する。
【０２５１】
全てのシフトレジスタが完全にロードされたなら（８００個のロードパルス）、全てのビットが適切なＮｏｚｚｌｅＥｎａｂｌｅビットへと並列に転送される。これは、８００Ｃビットの単一並列転送に相当する。上記転送が起きると、印刷サイクルが開始する。上記印刷サイクルの最後において全てのＮｏｚｚｌｅＥｎａｂｌｅビットに対する並列ロードが生ずる限りにおいて、上記印刷サイクルおよびロードサイクルは同時に生じ得る。
【０２５２】
９．１．２．１  ロードサイクル
ロードサイクルは、そのセグメントのシフトレジスタに対して次の印刷サイクルの各ＮｏｚｚｌｅＥｎａｂｌｅビットをロードすることに関する。
各セグメントは、Ｃ個のシフトレジスタに直接的に関連付けられたＣ個の入力を有する（Ｃはセグメントにおける色数である）。これらの入力はＣｏｌｏｒＮＤａｔａと称され、Ｎは１乃至Ｃである（たとえば、４色セグメントはＣｏｌｏｒ１Ｄａｔａ、Ｃｏｌｏｒ２Ｄａｔａ、Ｃｏｌｏｒ３ＤａｔａおよびＣｏｌｏｒ４Ｄａｔａと表現される４個の入力を有する）。ＳＲＣｌｏｃｋラインへの単一パルスにより、上記Ｃ個のビットは適切な各シフトレジスタへと転送される。交互のパルスにより各ビットは夫々上側および下側ノズルへと転送される。完全なデータ転送に対しては合計で８００個のパルスが必要である。全ての８００Ｃ個のビットが転送されたなら、ＰＴｒａｎｓｆｅｒライン上の単一パルスにより、各シフトレジスタからのデータは適切な各ＮｏｚｚｌｅＥｎａｂｌｅビットへと並列転送される。
【０２５３】
ＰＴｒａｎｓｆｅｒ上のパルスによる上記並列転送は、上記印刷サイクルが終了した後に生ぜねばならない。さもないと、印刷されつつあるラインに対するＮｏｚｚｌｅＥｎａｂｌｅビットは誤りとなる。
【０２５４】
奇数番目および偶数番目のドット出力は、同一の印刷サイクル内において印刷されるが、同一の物理的出力ライン上には現れないことに注意することは重要である。上記プリントヘッド内において、異なる色のノズル間を分離するとともに、奇数番目および偶数番目のノズルを物理的に分離することは、ページの別ライン上に各ドットを生成することを保証する。この相対的差異は、データをプリントヘッド１４３にロードするときに考慮されねばならない。各ラインにおける実際の差異は、上記プリントヘッド１４３に使用されるインクジェットの特性に依存する。上記差異は、変数Ｄ1 およびＤ2 により定義され、Ｄ1 は異なる色の各ノズル間の距離であり、Ｄ2 は同一色の各ノズル間の距離である。表３０は、最初の４個のパルスに関して第Ｃ番目のカラーセグメントに転送されるドットを示している。
【表３２】
0004714344.tif 000034
【０２５５】
以下、全ての８００個のパルスに対して同様である。
データは２０ＭＨｚの最大速度でセグメントへとクロック入力され得るが、これは４０μｓ内にデータの全ての８００Ｃ個のビットをロードするものである。
【０２５６】
９．１．２．２  印刷サイクル
単一のメムジェットプリントヘッドセグメントは８００個のノズルを備える。それらの全てを一度に吐出させる電力の消費が多すぎ、インクの再充填およびノズル干渉に関して問題となる。この問題は、メムジェットプリントヘッドが、夫々のセグメントが８００個のノズルを備えた複数個の１／２インチセグメントから成ることを考慮したときに更に明らかとなる。故に、２種類の吐出モード、すなわち、低速印刷モードおよび高速印刷モードが定義される。
【０２５７】
・低速印刷モードにおいては２００個の位相があり、各位相は４Ｃ個のノズルを吐出させる（吐出グループ毎にＣ個であり、Ｃは色数である）。
・高速印刷モードにおいては１００個の位相があり、各位相は８Ｃ個のノズルを吐出させる（吐出グループ毎に２Ｃ個であり、Ｃは色数である）。
所定の吐出パルスにおいて吐出させられるべきノズルは、
・３ビットのＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ（ひとつの吐出グループの５個のクロマポッドの内から１個を選択する）
・４ビットのＮｏｚｚｌｅＳｅｌｅｃｔ（ひとつのポッドの１０個のノズルの内から１個を選択する）
・２ビットのＰｏｄｇｒｏｕｐＥｎａｂｌｅライン（吐出すべき０個、１個もしくは２個のポッドグループを選択する）
により決定される。
【０２５８】
上記各ＰｏｄｇｒｏｕｐＥｎａｂｌｅラインのひとつがセットされたとき、ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔおよびＮｏｚｚｌｅＳｅｌｅｃｔにより決定される如く特定されたポッドグループの４個のノズルのみが吐出させられる。上記各ＰｏｄｇｒｏｕｐＥｎａｂｌｅラインの両者がセットされたとき、上記ポッドグループの両者がそれらのノズルを吐出させる。上記低速モードに対しては、２個の吐出パルスが必要とされ、夫々、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ＝１０および０１である。高速モードに対しては、唯一個の吐出パルスが必要とされ、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ＝１１である。
【０２５９】
上記吐出パルスの存続時間は、ＡＥｎａｂｌｅおよびＢＥｎａｂｌｅラインにより与えられるが、これらのラインは夫々、全ての吐出グループからＰｈａｓｅｇｒｏｕｐＡおよびＰｈａｓｅｇｒｏｕｐＢを吐出する。吐出パルスの典型的な存続時間は１．３〜１．８ｍｓである。パルスの存続時間は、（温度とインク特性とに依存する）インクの粘度と、上記プリントヘッド１４３に対して利用可能な電力量とに依存する。温度変化を補償すべき上記プリントヘッド１４３からのフィードバックの詳細に関しては、第９．１．３節を参照されたい。
【０２６０】
上記ＡＥｎａｂｌｅおよびＢＥｎａｂｌｅは、各吐出パルスが重複し得るべく、別のラインである。故に低速印刷サイクルの２００個の位相は、１００個のＡ位相および１００個のＢ位相から成り、事実上、１００組の位相Ａおよび位相Ｂを与える。同様に、高速印刷サイクルの１００個の位相は５０個のＡ位相および５０個のＢ位相から成り、事実上、５０組の位相Ａおよび位相Ｂを与える。
【０２６１】
図３８は、典型的な印刷サイクルの間におけるＡＥｎａｂｌｅおよびＢＥｎａｂｌｅラインを示している。高速印刷においては、５０個の２ｍｓサイクルが在る一方、低速印刷では１００個の２μｓサイクルが在る。
【０２６２】
高速印刷モードに対し、吐出順序は次の通りである。
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ０、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  １、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ２、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ３、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ４、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ０、ＮｏｚｚｌｅＳｅｌｅｃｔ  １、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
．．．．
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ３、ＮｏｚｚｌｅＳｅｌｅｃｔ  ９、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ４、ＮｏｚｚｌｅＳｅｌｅｃｔ  ９、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １１（位相ＡおよびＢ）
【０２６３】
低速印刷モードに対し、吐出順序は同様である。ＰｏｄｇｒｏｕｐＥｎａｂｌｅが１１である高速モードの各位相に対し、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ＝０１および１０の２つの位相は次の様に置換される。
【０２６４】
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ０、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  ０１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ０、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １０（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  １、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  ０１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  １、ＮｏｚｚｌｅＳｅｌｅｃｔ  ０、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １０（位相ＡおよびＢ）
．．．
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ３、ＮｏｚｚｌｅＳｅｌｅｃｔ  ９、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  ０１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ３、ＮｏｚｚｌｅＳｅｌｅｃｔ  ９、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １０（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ４、ＮｏｚｚｌｅＳｅｌｅｃｔ  ９、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  ０１（位相ＡおよびＢ）
・ＣｈｒｏｍａｐｏｄＳｅｌｅｃｔ  ４、ＮｏｚｚｌｅＳｅｌｅｃｔ  ９、ＰｏｄｇｒｏｕｐＥｎａｂｌｅ  １０（位相ＡおよびＢ）
【０２６５】
ノズルが吐出するとき、再充填には約１００μｓを要する。そのノズルは該再充填時間が経過するまで吐出され得ない。この故に、最高印刷速度は１００μｓ／ラインに制限される。高速印刷モードにおいて１ラインを印刷する時間は１００μｓであることから、１つのラインのノズルの吐出から次のラインのノズル吐出までの時間は再充填時間と整合する。上記低速印刷モードはこれより低速であることから、これもまた許容可能である。
【０２６６】
ノズルが吐出すると、そのノズルのポッドの共通インクリザーバ内における限定時間内での音響的混乱も引き起こされる。この混乱は、同一のポッド内における他のノズルの吐出と干渉する可能性がある。故にポッド内の各ノズルの吐出は、可及的に長時間に亙り相互からオフセットされねばならない。故に本発明では、ひとつのクロマポッド（１つのカラー毎に１個のノズル）からの４個のノズルを吐出させてから、そのポッドグループ内における次のクロマポッドへと移動する。
【０２６７】
・低速印刷モードにおいて各ポッドグループは別々に吐出させられる。故に両ポッドグループ内における５個のクロマポッドは第１クロマポッドが再び吐出させられる前に全て吐出させられねばならず、合計で１０×２μサイクルとなる。その結果、各ポッドは２０μｓ毎に１度吐出する。
【０２６８】
・高速印刷モードにおいて各ポッドグループは一緒に吐出させられる。故に単一のポッドグループ内の５個のクロマポッドは第１クロマポッドが再び吐出させられる前に全て吐出させられるべきことから、合計で５×２μサイクルとなる。その結果、各ポッドは１０μｓ毎に１度吐出させられる。
【０２６９】
上記インクチャネルは３００ｍｍ長であると共にインク内の音速は約１，５００ｍ／ｓであることから、インクチャネルの共振周波数は２．５ＭＨｚである。故に、音響パルスの減衰に対して低速モードは５０個の共振サイクルを許容し、高速モードは２５個の共振サイクルを許容する。その結果、いずれの場合においても一切の音響的干渉は最小である。
【０２７０】
９．１．３  セグメントからのフィードバック
１個のセグメントは数本のフィードバックのラインを生成する。これらのフィードバックラインは、各吐出パルスのタイミングを調節すべく使用される。複数のセグメントが共にプリントヘッドへと集められることから、各フィードバックラインをひとつのトライステートバスとして共有し、各セグメントの内の１個のセグメントのみがフィードバックライン上にフィードバック情報を載せるのが効率的である。
【０２７１】
Ｃｏｌｏｒ１Ｄａｔａ上のデータとＡＮＤされた、特定セグメントのＳｅｎｓｅＳｅｇＳｅｌｅｃｔライン上のパルスは、該特定のセグメントがフィードバックを提供するか否かを選択する。次のＳｅｎｓｅＳｅｇＳｅｌｅｃｔパルスまで、上記フィードバック検知ラインはそのセグメントに由来する。各フィードバック検知ラインは次の通りである。
・Ｔｓｅｎｓｅは上記コントローラに対し、プリントヘッドの温度を知らせる。これにより上記コントローラはパルス吐出のタイミングを調節し得る、と言うのも、温度はインクの粘度に影響するからである。
・Ｖｓｅｎｓｅはコントローラに対し、上記アクチュエータが利用し得る電圧を知らせる。これによりコントローラはパルス幅を調節することにより、低電圧バッテリもしくは高電圧源に対して補償し得る。
・Ｒｓｅｎｓｅはコントローラに対し、アクチュエータヒータの抵抗率（単位面積当たりのオーム値）を知らせる。これによりコントローラはパルス幅を調節し、上記ヒータの抵抗率に関わりなく一定エネルギを維持し得る。
・Ｗｓｅｎｓｅはコントローラに対し、リソグラフおよびエッチングの変動により±５％まで変化し得るヒータの重要部分の幅を知らせる。これによりコントローラは、パルス幅を適切に調節し得る。
【０２７２】
９．１．４  予備加熱サイクル
上記印刷プロセスは平衡温度に留まるという強い傾向を有する。印刷された写真などのイメージの第１の部分が一貫したドットサイズを有するのを確かなものとすべく、上記平衡温度は一切のドットを印刷する前に満足されねばならない。これは予備加熱サイクルにより達成される。
【０２７３】
該予備加熱サイクルは、セグメントの全てのノズルに対する“１”（すなわち全てのノズルの吐出を設定）による単一のロードサイクルと、各ノズルに対する多数の短時間吐出パルスとを包含する。パルスの存続時間は、インク滴を吐出するには不十分であり乍らも、インクを加熱するには十分でなければならない。故に各ノズルに対しては、標準的な印刷サイクルと同一のシーケンスで反復される全部で約２００個のパルスが必要とされる。
【０２７４】
予備加熱モードの間におけるフィードバックはＴｓｅｎｓｅにより提供されると共に、（周囲よりも約３０℃高い）平衡温度に到達するまで継続される。予備加熱モードの存続時間は約５０ミリ秒であり、インク組成に依存する。
【０２７５】
予備加熱は、各印刷ジョブの前に実施される。これが性能に影響することは無い、と言うのも、予備加熱はデータがプリンタに転送されている間に行われるからである。
【０２７６】
９．１．５  クリーニングサイクル
各ノズルが詰まる可能性を減少すべく、各印刷ジョブの前にクリーニングサイクルが行われ得る。各ノズルは、吸収スポンジに向けて何度も吐出させられる。  該クリーニングサイクルは、セグメントの全てのノズルに対する“１”（すなわち全てのノズルの吐出を設定）による単一のロードサイクルと、各ノズルに対する多数の吐出パルスとを包含する。各ノズルは、標準的印刷サイクルと同一のノズル吐出シーケンスによりクリーニングされる。各ノズルが吐出させられる回数は、インク組成と、それまでのプリンタのアイドル時間とに依存する。予備加熱と同様に、クリーニングサイクルはプリンタの性能には影響しない。
【０２７７】
９．１．６  プリントヘッドインターフェースの要約
各セグメントは、結合パッドに対して次の接続を有する。
【表３３】
0004714344.tif 000035
【０２７８】
９．２  各セグメントによりメムジェットプリントヘッドを構成
メムジェットプリントヘッドは、多数個の同一の１／２インチ（１．２７センチメートル）プリントヘッドセグメントから構成される。これらの１／２インチセグメントは、共に製造されて、または、製造後に共に載置されて、所望長さのプリントヘッドを生成する。各１／２インチセグメントは、ページの個々の部分に亙り４色までの８００個の１６００ｄｐｉのバイレベルドットを印刷することにより、最終的イメージを生成する。各セグメントは最終的イメージの８００個のドットを生成するが、各ドットは各カラーインクの組合せにより表現される。
【０２７９】
たとえば４インチ（１０．１６センチメートル）プリントヘッドは、一般的にモノリシックなプリントヘッドとして製造された８個のセグメントから構成される。典型的な４色印刷アプリケーション（シアン、マゼンタ、黄色、黒色）において各セグメントは、ページの異なる部分に亙りバイレベルのシアン、マゼンタ、黄色、黒色のドットを印刷して最終的イメージを生成する。
【０２８０】
８インチ（２０．３２センチメートル）プリントヘッドは、２個の４インチプリントヘッドから、または、１６個のセグメントで構成された単一の８インチプリントヘッドから構築され得る。構築メカニズムに関わらず、実効プリントヘッドは依然として８インチの長さである。
【０２８１】
２インチ（５．０８センチメートル）プリントヘッドは同様の配置構成を有するが、４個のセグメントのみを使用する。同様に、フルブリード（ｆｕｌｌ−ｂｌｅｅｄ）Ａ４／レタープリンタは、実効５１．５９センチメートル（８．５インチ）の印刷領域に対して１７個のセグメントを使用する。
【０２８２】
ひとつのセグメントにおけるノズルの合計数は８００Ｃ（表２９参照）であることから、Ｓ個のセグメントを備えた所定プリントヘッドにおけるノズルの合計数は８００ＣＳ個である。故にセグメントＮは、ドット８００Ｎ〜８００Ｎ＋７９９を印刷する役割を果たす。
【０２８３】
プリントヘッドを結線する際には多くの考察が行われねばならない。プリントヘッドの幅が増加するにつれ、セグメントの個数は増加し且つ接続の個数も増加する。各セグメントは、それ自体の各ＣｏｌｏｒＤａｔａ接続（接続の内のＣ本）、ならびに、ロードおよび印刷の為のＳＲＣｌｏｃｋおよび他の接続を有する。
【０２８４】
９．２．１  ローディングの考察
セグメントの個数Ｓが少ない場合、共通のＳＲＣｌｏｃｋラインを使用すると共に、各セグメントに対するＣｏｌｏｒＤａｔａ入力の各々にＣビットのデータを載置することにより、全てのセグメントを同時にロードすることは合理的である。４インチプリンタにおいてはＳ＝８であることから、単一個のＳＲＣｌｏｃｋパルス内にプリントヘッドに対して転送されるビットの合計数は３２である。但し８インチプリンタではＳ＝１６であると共に、印刷データ生成器からプリントヘッドへと６４本のデータラインを延ばすのは合理的とは思われない。
【０２８５】
代わりに、ローディングを目的として所定数のセグメントを共にグループ化することが好適である。セグメントの各グループは同時にロードされるに十分なほど少数であり、ＳＲＣｌｏｃｋを共有する。たとえば８インチプリントヘッドは２つのセグメントグループを有し、各セグメントグループが８個のセグメントを備え得る。両グループに対しては３２本のＣｏｌｏｒＤａｔａラインが共有され、セグメントグループ毎に１本となる２本のＳＲＣｌｏｃｋラインが備えられる。
【０２８６】
セグメントグループの数が容易に分割可能でない場合でも、各セグメントをグループ化することは依然として好適である。一例は、Ａ４／レターページを生成する８．５インチ（２１．５９センチメートル）プリンタである。１７個のセグメントが在ると共に、これらのセグメントは、９個ずつの２グループとしてグループ化される（９Ｃビットのデータが各セグメントに行き、第１グループでは全ての９Ｃビットが使用されるが第２グループでは８Ｃビットのみが使用される）か、または、６個ずつの３グループとされ得る（此処でも、最終グループではＣビットが未使用である）。
【０２８７】
セグメントグループの個数が増加するにつれ、プリントヘッドにロードするのに必要な時間は増加する。唯一個のグループが在る場合には、８００個のロードパルスが必要とされる（各パルスはＣ個のデータビットを転送する）。Ｇ個のグループが在る場合、８００Ｇ個のロードパルスが必要とされる。また、データ生成器とプリントヘッドとの間の接続の帯域幅は、特定アプリケーションに対する許容可能なタイミングパラメータに対処して斯かるパラメータ以内とされ得るべきである。
【０２８８】
もしＧがセグメントグループの個数であり且つＬがひとつのグループにおける最大セグメント数であれば、プリントヘッドはＬＣ本のＣｏｌｏｒＤａｔａラインおよびＧ本のＳＲＣｌｏｃｋラインを必要とする。Ｇに関わらず、単一のＰＴｒａｎｓｆｅｒラインのみが必要とされ、該ラインは全てのセグメントに対して共有され得る。
【０２８９】
各セグメントグループにおけるＬ個のセグメントが単一のＳＲＣｌｏｃｋパルスによりロードされることから、任意の印刷プロセスはプリントヘッドに対する正しいシーケンスでデータを生成せねばならない。一例として、Ｇ＝２かつＬ＝４の場合、第１のＳＲＣｌｏｃｋ１パルスは、次の印刷サイクルのドット０、８００、１６００および２４００に対するＣｏｌｏｒＤａｔａビットを転送する。また、第１のＳＲＣｌｏｃｋ２パルスは、次の印刷サイクルのドット３２００、４０００、４８００および５６００に対するＣｏｌｏｒＤａｔａビットを転送する。第２のＳＲＣｌｏｃｋ１パルスは、次の印刷サイクルのドット１、８０１、１６０１および２４０１に対するＣｏｌｏｒＤａｔａビットを転送する。また、第２のＳＲＣｌｏｃｋ２パルスは、次の印刷サイクルのドット３２０１、４００１、４８０１および５６０１に対するＣｏｌｏｒＤａｔａビットを転送する。
【０２９０】
８００Ｇ個のＳＲＣｌｏｃｋパルス（ＳＲＣｌｏｃｋ１およびＳＲＣｌｏｃｋ２）の後では、ライン全体がプリントヘッド内にロードされ且つ共通のＰＴｒａｎｓｆｅｒパルスが与えられ得る。
【０２９１】
同一の印刷サイクル内において印刷されるのではあるが、奇数番目および偶数番目のカラー出力が同一の物理的出力ライン上には現れないことに注意することは重要である。上記プリントヘッド内において奇数番目および偶数番目のノズルを物理的に分離すると共に異なる色間を分離すると、それらは確実にページの別ライン上に各ドットを生成する。この相対的差異は、データをプリントヘッド１４３にロードするときに考慮されねばならない。各ラインにおける実際の差異は、上記プリントヘッド１４３に使用されるインクジェットの特性に依存する。上記差異は、変数Ｄ1 およびＤ2 により定義され、Ｄ1 は異なるカラーの各ノズル間の距離であり、Ｄ2 は同一カラーの各ノズル間の距離である。単一個のセグメントグループのみを考慮すると、表３２は、共有されたＳＲＣｌｏｃｋの最初の４個のパルスの間にプリントヘッドのセグメントｎに転送されるドットを示している。
【表３４】
0004714344.tif 000036
【０２９２】
特定のセグメントグループへの全ての８００個のＳＲＣｌｏｃｋパルスに関して、以下同様である。
【０２９３】
９．２．２  印刷の考察
印刷に関し、低速印刷モードでは各セグメントから４Ｃ個のノズルが印刷され、高速印刷モードでは各セグメントからの８Ｃ個のノズルが印刷される。
各セグメントを任意の手法で結線することは確かに可能であるが、全てのセグメントを同時に吐出する状況のみを考慮する。これは何故かと言えば、低速印刷モードでは小型のプリントヘッド（たとえば５．０８〜１０．１６センチメートル‘２インチもしくは４インチ））に対しては低電力が可能であり、制御チップの設計は大きな印刷サイズ（２０．３２〜４５．７２センチメートル（８〜１８インチ）など）に十分な電力が利用可能であることを想定するからである。特定の用途が要求するならば、プリントヘッド１４３における各接続を変更して吐出のグループ化を許容することは容易な事項である。
【０２９４】
全セグメントが同時に吐出させられる場合、低速印刷モードでは４ＣＳ個のノズルが吐出させられ、且つ高速印刷モードでは８ＣＳ個のノズルが吐出させられる。全セグメントが同時に印刷することから、印刷ロジックは第９．１．２．２節で定義されたのと同一である。
【０２９５】
故に２つの印刷モードに対するタイミングは、
・低速で１ラインを印刷する２００μｓ（１００個の２μｓサイクルから成る）
・高速で１ラインを印刷する１００μｓ（５０個の２μｓサイクルから成る）  である。
【０２９６】
９．２．３  フィードバックの考察
ひとつのセグメントは、第９．１．３節で定義されたように、数本のラインのフィードバックを生成する。各フィードバックラインは、各吐出パルスのタイミングを調節すべく使用される。複数のセグメントがひとつのプリントヘッド内に集合されることから、各フィードバックラインをトライステートバスとして共有し、各セグメントの内の１個のセグメントのみが各フィードバックライン上にフィードバック情報を同時に載置するのが効果的である。
【０２９７】
共有されたＴｓｅｎｓｅ、Ｖｓｅｎｓｅ、ＲｓｅｎｓｅおよびＷｓｅｎｓｅライン上にどのセグメントがフィードバック情報を載置するかを選択する為にはＣｏｌｏｒ１Ｄａｔａラインを使用することから、データをロードする為の各セグメントのグループ化はフィードバックの為のセグメントを選択する為に使用され得る。まさにＧ本のＳＲＣｌｏｃｋライン（単一ラインが同一のセグメントグループの各セグメント間で共有される）が在るように、同様にＧ本のＳｅｎｓｅＳｅｇＳｅｌｅｃｔラインが在る。正しいＳｅｎｓｅＳｅｇＳｅｌｅｃｔラインがパルスされたとき、Ｃｏｌｏｒ１Ｄａｔａビットがセットされたグループのセグメントは、共有された各フィードバックライン上へのデータの載置を開始する。フィードバックに関して先行してアクティブであるセグメントもまたそのＣｏｌｏｒ１Ｄａｔａビットを０として無効化されねばならず、且つ、このセグメントは異なるセグメントグループ内とされ得る。故に１個より多いセグメントグループが在る場合には、フィードバックセグメントを変更するには２段階を必要とする。以前のセグメントを無効化し、新セグメントを有効化する段階である。
【０２９８】
９．２．４  プリントヘッド接続の要約
この節は、プリントヘッド１４３が上述の各節に記述されたように、多数のセグメントから構築されたと想定している。データローディングに対しては、各セグメントはＧ個のセグメントグループへとグループ化され、最大セグメントグループにはＬ個のセグメントが在ると想定している。また、プリントヘッド内にはＣ個の色が存在すると想定している。また、プリントヘッド１４３に対する吐出メカニズムは全セグメントを同時に吐出すると共に、唯一個のセグメントが共通トライステートバス上にフィードバック情報を同時に載置すると想定している。これらの事項の全てを想定し、表３３はプリントヘッドから利用可能な各外部接続を列挙している。
【表３５】
0004714344.tif 000037
【０２９９】
１０  メムジェットプリントヘッドインターフェース
プリントヘッドインターフェース（ＰＨＩ）１９２は、印刷されるべきドットをプロセッサ１８１がメムジェットプリントヘッド１４３にロードして実際のドット印刷プロセスを制御する為の手段である。ＰＨＩ  １９２は次のものを含んでいる。
・（並置印刷および前面／後面印刷を許容する）複数のチップならびにステッパモータに対して同期信号を提供するＬｉｎｅＳｙｎｃＧｅｎユニット（ＬＳＧＵ）。
・データをメムジェットプリントヘッドに転送し、印刷の間にノズル吐出シーケンスを制御するメムジェットインターフェース（ＭＪＩ）。
・所定印刷ラインに対するドットをローカルバッファ記憶装置にロードし且つこれらのドットをメムジェットプリントヘッドに必要とされる順序でフォーマットする、ラインローダ／フォーマットユニット（ＬＬＦＵ）。
【０３００】
ＰＨＩ１９２内の各ユニットは、プロセッサ１８１によりプログラムされた多数のレジスタにより制御される。これに加えてプロセッサ１８１は、メモリから上記ＬＬＦＵへの転送の為にＤＭＡコントローラ２００内の適切な各パラメータをセットアップする役割を果たす。これは、ページが明確な縁部を有するように、ページの開始および終了の間に適切な色に白色（全てが０）をロードする段階を含む。
【０３０１】
ＰＨＩ  １９２は、種々のプリントヘッドの長さおよびフォーマットに対処し得る。広範囲な動作カスタマイズに関し、ＰＨＩ  １９２は次の如くパラメータ化される。
【表３６】
0004714344.tif 000038
【０３０２】
ＰＨＩの内部構造に依れば、最大で４個のカラー、転送毎の９個のセグメント、および、４回の転送が許容される。９個のセグメントに対して４個のカラーを転送すると１回の転送毎に３６ビットとなり、且つ、９個のセグメントに対する４回の転送は最大で４５．７２ｃｍ（１８インチ）の印刷ライン長さに相当する。４５．７２ｃｍ（１８インチ）の４色プリントヘッドにより印刷されたライン毎の合計ドット数は１１５，２００（１８×１６００×４）である。
【０３０３】
他の例示的設定は表３５に示される。
【表３７】
0004714344.tif 000039
【０３０４】
１０．１  プリントヘッドインターフェースのブロック図
図３９には、プリントヘッドインターフェース１９２の内部構造が示されている。
【０３０５】
ＰＨＩ  １９２内には、２個のＬＳＧＵ  ３１６が在る。第１のＬＳＧＵ  ３１６は、全ての同期チップにおけるメムジェットインターフェース３２０を制御すべく使用されるＬｉｎｅＳｙｎｃ０を生成する。第２のＬＳＧＵ  ３１８は、用紙駆動ステッパモータをパルス駆動すべく使用されるＬｉｎｅＳｙｎｃ１を生成する。
【０３０６】
チップ上のマスタ／スレーブピンに依れば、マスタ／スレーブ関係により並置印刷、前面／後面印刷などの為に複数のチップが共に接続され得る。マスタ／スレーブピンがＶＤＤに取付けられた場合、そのチップがマ開始見做され、且つ、２個のＬｉｎｅＳｙｎｃＧｅｎユニット３１６、３１８により生成されたＬｉｎｅＳｙｎｃパルスが２本のトライステートＬｉｎｅＳｙｎｃ共通ライン（全てのチップにより共有されたＬｉｎｅＳｙｎｃ０およびＬｉｎｅＳｙｎｃ１）上へと有効化される。マスタ／スレーブピンがＧＮＤに取付けられた場合、そのチップはスレーブと見做され、且つ、２個のＬｉｎｅＳｙｎｃＧｅｎユニット３１６、３１８により生成されたＬｉｎｅＳｙｎｃパルスは共通する各ＬｉｎｅＳｙｎｃライン上へは有効化されない。この様にしてマスタチップのＬｉｎｅＳｙｎｃパルスは、接続された全てのチップに関する全てのＰＨＩ  １９２により使用される。
【０３０７】
次の節は、ＬｉｎｅＳｙｎｃＧｅｎユニット３１６、３１８、ラインローダ／フォーマットユニット３２２およびメムジェットインターフェース３２０を夫々詳述するものである。
【０３０８】
１０．２  ＬｉｎｅＳｙｎｃＧｅｎユニット
ＬｉｎｅＳｙｎｃＧｅｎユニット（ＬＳＧＵ）３１６、３１８は、ページを印刷するに必要な同期パルスを生成する役割を果たす。各ＬＳＧＵ  ３１６、３１８は外部ＬｉｎｅＳｙｎｃ信号を生成してライン同期を有効化する。ＬＳＧＵ  ３１６、３１８の内部の生成器は、‘発信’を告げられたときにＬｉｎｅＳｙｎｃパルスを生成し、その後は停止が告げられるまで、多数のサイクルの全てにおいて斯かるパルスを生成する。
【０３０９】
各ＬｉｎｅＳｙｎｃパルス間の厳密なパルス数は、生成器毎に１個のＣｙｃｌｅｓＢｅｔｗｅｅｎＰｕｌｓｅｓレジスタにより決定される。それは少なくとも、１つのラインが印刷されるのを許容するに十分なほど長く（速度が低速もしくは高速かに依存して１００μｓもしくは２００ｍｓ）されねばならないが、（たとえば、用紙搬送回路の特定の要件に対処すべく）所望に応じて更に長くされ得る。もしＣｙｃｌｅｓＢｅｔｗｅｅｎＰｕｌｓｅｓレジスタがライン印刷時間よりも少ない数に設定されたなら、ページは適切に印刷されない、と言うのも、特定のラインの印刷が終了する前に各ＬｉｎｅＳｙｎｃパルスが到達するからである。
【０３１０】
各ＬＳＧＵ  ３１６、３１８内には次のインターフェースレジスタが含まれる：
【表３８】
0004714344.tif 000040
【０３１１】
ＬｉｎｅＳｙｎｃパルスはＬＳＧＵ  ３１６，３１８から直接的には使用されない。上記ＬｉｎｅＳｙｎｃパルスは、上記マスタ／スレーブピンがマスタに設定されたときにのみ、トライステートＬｉｎｅＳｙｎｃライン上に有効化される。故にＬｉｎｅＳｙｎｃパルスは、マスタチップにより生成された形態でのみ使用される（スレーブチップにより生成されたパルスは無視される）。
【０３１２】
１０．３  メムジェットインターフェース
メムジェットインターフェース（ＭＪＩ）３２０はデータをメムジェットプリントヘッド１４３に転送すると共に、印刷の間においてノズル吐出シーケンスを制御する。
【０３１３】
ＭＪＩ３２０は、第９．２．１節および第９．２．２節に記述されたプリントヘッドのロードおよび吐出順序に従うと共に、第９．１．４節および第９．１．５節に記述された予備加熱サイクルおよびクリーニングサイクルの機能性を備える。高速および低速印刷モードが利用可能であるが、ＭＪＩ３２０はプリントヘッドにおける全セグメントから所定ノズルを常に同時に吐出させる（ひとつのセグメントからの各ノズルを吐出させて、次に他のセグメントのノズルを別個に吐出させるのでは無い）。各色に対するドットカウントもまたＭＪＩ３２０により維持される。
【０３１４】
上記ＭＪＩは、２種類のデータ源の選択肢からデータをプリントヘッドへとロードする。
・全てが「１」である。このことは、後続の印刷サイクルの間において全ノズルが吐出することを意味し、且つ、予備加熱もしくはクリーニングサイクルに対してプリントヘッドにロードを行う標準的メカニズムである。
・ＬＬＦＵ３２２の転送レジスタ内に保持された３６ビット入力から。これは、イメージを印刷する標準的手段である。ＬＬＦＵ３２２からの３６ビット値は上記プリントヘッドに対して直接送信され、且つ、１ビット「アドバンス」制御パルスはＬＬＦＵ３２２に送信される。
【０３１５】
ＭＪＩ３２０は、該当ページに対して何本のラインを印刷すべきかを認識している。ＭＪＩ３２０は「発信」を告げられたときに、第１ラインを開始する前にＬｉｎｅＳｙｎｃパルスを待機する。ＭＪＩ３２０が１ラインのロード／印刷を終了したなら、次のラインを開始する前に次のＬｉｎｅＳｙｎｃパルスまで待機する。ＭＪＩ３２０は指定されたライン数がロード／印刷されたならば停止し、更なる一切のＬｉｎｅＳｙｎｃパルスを無視する。
【０３１６】
故にＭＪＩ３２０は、ＬＬＦＵ３２２、ＬｉｎｅＳｙｎｃ０（全ての同期チップ間で共有される）、および、外部メムジェットプリントヘッド１４３に対して直接接続される。
【０３１７】
ＭＪＩ３２０はＬＬＦＵ３２２から３６ビットのデータを受理する。これらの３６ビットの内、セグメントの個数および色数に対応するビットのみが有効である。たとえば２つの色および９個のセグメントのみが在るならば、ビット０−１はセグメント０に対して有効であり、ビット２−３は無効であり、ビット４−５はセグメント１に対して有効であり、ビット６−７は無効であるなどである。上記状態マシンはどのビットが有効であり且つどのビットが有効で無いかには注意せず、各ビットをプリントヘッド１４３へと受け渡すだけである。ＭＪＩ３２０から出てくるデータラインおよび制御信号は、チップの用途により必要とされる可及的に少ないピンを使用し、そのチップのピン出力へと適切に結線され得る（更なる情報に関しては第１０．３．１節を参照されたい）。
【０３１８】
１０．３．１  プリントヘッドへの接続
ＭＪＩ３２０は、最大で４個のセグメントグループへの転送毎に、最大で９個のセグメントへとクロック供給される最大で４色を備え、プリントヘッド１４３への多数の接続を有する。ＭＪＩ３２０から出る各ラインは、全てのラインが必ずしもピンでは無いが、チップ上のピンへと直接接続され得る。たとえば、チップが８インチＣＭＹＫプリンタに対してのみ接続されるべく特定的に設計されている場合、各転送パルス毎に３２ビットのみが転送されることが必要とされる。故に、３６ピンでは無く、３２ピン（カラー毎に８ピン）のデータ出力が必要とされる。同様にして、２個のＳＲＣｌｏｃｋパルスのみが必要とされることから、異なるＳＲＣｌｏｃｋに応える為には４ピンでは無く２ピンのみが必要とされる。以下同様である。
【０３１９】
チップが完全に汎用的でなければならない場合には、ＭＪＩ３２０からの接続の全ては、そのチップ上の各ピンに対して（その故に、プリントヘッド１４３に対して）接続されねばならない。
【０３２０】
表３７はＭＪＩ３２０からの最大数の接続を列挙しているが、その多くはチップの各ピンに対して常に接続される。ピンの個数が可変である場合、ピンの個数が何に依存するかは注釈により説明している。入力および出力の方向は、ＭＪＩ３２０に関している。また、各名称はプリントヘッド１４３上の各ピン接続に対応する。
【表３９】
0004714344.tif 000041
0004714344.tif 000042
【０３２１】
１０．３．２  吐出パルス継続時間
上記ＡＥｎａｂｌｅラインおよびＢＥｎａｂｌｅライン上の上記吐出パルスの継続時間は、（温度とインク特性とに依存する）インクの粘度と、上記プリントヘッド１４３に対して利用可能な電力量とに依存する。典型的なパルス継続時間範囲は１．３乃至１．８μｓである。故にＭＪＩ３２０は、プリントヘッド１４３からのフィードバックにより索引付けされた（ｉｎｄｅｘｅｄ）プログラマブルパルス継続時間テーブル３２４（図４１）を備える。パルス継続時間のテーブル３２４に依れば、低コストの電源を使用し得ると共に、より正確な液滴の噴射が促進される。
【０３２２】
パルス継続時間テーブル３２４は２５６個のエントリを有すると共に、ライン３２６，３２８上の現行のＶｓｅｎｓｅおよびＴｓｅｎｓｅ設定により索引付けされる。アドレスの上位４ビットはＶｓｅｎｓｅから由来し、アドレスの下位４ビットはＴｓｅｎｓｅから由来する。各エントリは８ビットであり、０〜４ｍｓの範囲の固定小数点値を表す。ＡＥｎａｂｌｅおよびＢＥｎａｂｌｅラインを生成するプロセスは、図４１に示される。
【０３２３】
２５６バイトテーブル３２４は、第１ページを印刷する前にプロセッサ１８１により書込まれる。所望であれば、テーブル３２４は各ページ間に更新され得る。テーブル３２４内の８ビットパルス継続時間エントリの各々は、
・ユーザの輝度設定（ページ記述からの）
・インクの粘度曲線（ＱＡチップからの）
・Ｒｓｅｎｓｅ
・Ｗｓｅｎｓｅ
・Ｖｓｅｎｓｅ
・Ｔｓｅｎｓｅ
を組合せる。
【０３２４】
１０．３．３  ドットカウント
ＭＪＩ３２０は、プリントヘッド１４３から吐出された各色のドット数のカウントを維持する。各色に対するドットカウントは３２ビット値であり、プロセッサの制御下で個別にクリアされる。３２ビット長にて各ドットカウントは１７頁の２０．３２×３０．４８センチメートル（８インチ×１２インチ）ページの最大被覆率ドットカウントを保持し得るが、一般的な用法においては１ページ毎にもしくは半ページ毎にドットカウントが読取られてクリアされる。
【０３２５】
上記ドットカウントは、インクカートリッジ３２のインクが尽きる時点を予測すべくＱＡチップ３１２（第７．５．４節参照）を更新する。プロセッサ１８１は、色の各々に対するインクカートリッジ３２内のインクの体積を、ＱＡチップ３１２から認識する。液滴の個数をカウントすることにより、インクセンサが省略されると共に、インクチャネルが乾燥するのを防止する。各ページの後、更新された液滴カウントがＱＡチップ３１２内に書込まれる。新たなページは、十分なインクが残されていなければ印刷されないことから、再印刷されるべき無駄な半印刷ページを生ずること無くユーザがインクを交換し得る。
【０３２６】
図４２には、カラー１に対するドットカウンタのレイアウトが示されている。残りの３つのドットカウンタ（Ｃｏｌｏｒ１ＤｏｔＣｏｕｎｔ、Ｃｏｌｏｒ２ＤｏｔＣｏｕｎｔおよびＣｏｌｏｒ３ＤｏｔＣｏｕｎｔ）は構造が同一である。
【０３２７】
１０．３．４  レジスタ
プロセッサ１８１はレジスタセットを介してＭＪＩ３２０と通信する。各レジスタに依ればプロセッサ１８１は、印刷をパラメータ化し得ると共に、印刷の進行に関するフィードバックを受信し得る。
【０３２８】
ＭＪＩ３２０には、次のレジスタが含まれる。
【表４０】
0004714344.tif 000043
0004714344.tif 000044
0004714344.tif 000045
0004714344.tif 000046
【０３２９】
ＭＪＩのステータスレジスタは、以下のようなビット解釈を有する１６ビットレジスタである。
【表４１】
0004714344.tif 000047
【０３３０】
次の擬似コードは、単一ラインのためにプリントヘッドにロードする必要があるロジックを示している。ローディングは、ＬｉｎｅＳｙｎｃパルスが到達した後でのみ開始することに注意されたい。これは、そのラインに対するデータがＬＬＦＵ３２２により準備され、且つプリントヘッド１４３への最初の転送に対して有効であることを保証する為である。
【０３３１】
【表４２】
0004714344.tif 000048
１０．３．５  予備加熱およびクリーニングサイクル
クリーニングおよび予備加熱サイクルは、ＭＪＩ３２０内の適切な各レジスタを設定することにより容易に行われる。
・ＳｅｔＡｌｌＮｏｚｚｌｅｓ＝１
・パルス継続時間レジスタを、短継続時間（予備加熱モードの場合）、または、クリーニングモードのための適切な液滴噴射継続時間のいずれかに設定する。
・ＮｕｍＬｉｎｅｓを、各ノズルが吐出させられるべき回数に設定する。
・Ｇｏビットを設定し、その後、印刷サイクルが完了されてＧｏビットがクリアされるのを待機する。
【０３３２】
ＬＳＧＵ  ３１６、３１８もまた、正しい周波数にてＬｉｎｅＳｙｎｃパルスを送信すべくプログラムされねばならない。
１０．４  ラインローダ／フォーマットユニット
ラインローダ／フォーマットユニット（ＬＬＦＵ）３２２は、所与の印刷ラインのためのドットをローカルバッファ記憶装置にロードし、それらのドットをメムジェットプリントヘッド１４３のために必要な順序にフォーマットする。それは、ページの最終的な印刷に対するメムジェットインターフェース３２０へ予め計算したｎｏｚｚｌｅＥｎａｂｌｅビットを供給する任を負う。
【０３３３】
印刷は、ドットビット情報を準備し、それにアクセスするために二重バッファ動作スキームを使用する。一本のラインが第１のバッファ内に読み込まれている間に、第２のバッファ内に予めロードされたラインが、メムジェットドット順に読み出される。全ラインが、メムジェットインターフェース３２０を介して第２のバッファからプリントヘッド１４３に送信されると、読出しプロセスおよび書込みプロセスが、バッファを交換する。この場合、第１のバッファが読み出され、第２のバッファに、データの新規ラインがロードされる。図４３の概念図を見れば分かるように、これは印刷プロセス中反復して行われる。
【０３３４】
４色の４５．７２ｃｍ（１８インチ）の最大ライン長を提供する各バッファの大きさは１４Ｋバイトである（１８×１６００×４ビット＝１１５，２００ビット＝１４，４００バイト）。バッファ０（図４４の参照符号３３０）およびバッファ１（３３２）の双方の大きさは、２８，１２８Ｋバイトである。このような設計にすることにより、４５．７２ｃｍ（１８インチ）の最大印刷長を許容し得るが、特定の用途のためにバッファの容量を小さくすることはよくあることである。
【０３３５】
一方のバッファに書込みが行われている間に、他方のバッファ３３０，３３２から読出しが行われるので、二組のアドレスラインを使用しなければならない。ＤＭＡ肯定応答に応じて、状態マシン３３６が生成するＷｒｉｔｅＥｎａｂｌｅにより、共通のデータバス１８６から３２ビットのＤａｔａＩｎ３３４がロードされる。
【０３３６】
マルチプレクサ３３８は、バッファ０およびバッファ１の２つの４ビット出力の間で選択を行い、４ビットシフトレジスタ３４０により、結果を９−エントリに送る。最大９回の読出しサイクル（サイクルの回数は、１回の転送毎に書込まれるセグメントの数により異なる）が行われた後で、また、先行パルスがＭＪＩ３２０から送られてくる度に、シフトレジスタ３４０からの現行の３６ビットの数値が３６ビットの転送レジスタ３４２にゲートされるが、この場合、ＭＪＩ３２０は、３６ビットの転送レジスタ３４２を使用し得る。
【０３３７】
３６ビットのすべてが、必ずしも有効であるとは限らないことに留意されたい。３６ビットの中の有効なビットの数は、プリントヘッド１４３の色数、セグメントの数、およびセグメントグループの分割（セグメントグループの数が１より大きい場合）により異なる。詳細については、９．２節を参照されたい。
【０３３８】
長さがＬインチ、色数がＣ個のプリントヘッドは、１６００ＬＣ個のカラードットからなる。１つのカラードットあたり１ビットで、一本の印刷ラインは１６００ＬＣビットからなる。ＬＬＦＵ３２２は、４色の４５．７２ｃｍ（１８インチ）の最大ラインのサイズをアドレス指定し得る。これは、一本のライン当り１０８，８００ビット（１４Ｋバイト）に等しい。これらのビットをプリントヘッド１４３に送るための正しい順序でＭＪＩ３２０に供給しなければならない。ロードサイクルのドットのロードの順序に関する、より詳細な情報については、９．２．１節を参照されたいが、要するに、２ＬＣビットが１回の転送当り最大３６ビットと一緒に、ＳｅｇｍｅｎｔＧｒｏｕｐｓ転送の際に、プリントヘッド１４３に転送される。プリントヘッド１４３の特定のセグメントへの各転送は、同時にすべての色をロードしなければならない。
【０３３９】
１０．４．１  バッファ
２つの各バッファ３３０，３３２は、色毎に、４つのサブバッファに分割される。各サブバッファの容量は、３６００バイトであり、１６００ｄｐｉで、４５．７２ｃｍ（１８インチ）の長さの１色のドットを保持するのに十分な容量である。メモリは、１回に３２ビットアクセスされるので、（１０ビットのアドレスを必要とする）各バッファに対して９００個のアドレスが存在する。
【０３４０】
図４５に示すように、各色のバッファ内の奇数のドットの前に、すべての偶数のドットが置かれる。未使用の空間が存在する場合には、その空間は、各色のバッファの最後に置かれる。
【０３４１】
実際に使用されるメモリの量は、プリントヘッドの長さに直接関連する。プリントヘッドの長さが４５．７２ｃｍ（１８インチ）である場合には、１８００バイトの偶数のドットが存在し、その後に、未使用の空間と一緒に、１８００バイトの奇数のドットが位置する。プリントヘッドの長さが３０．４８ｃｍ（１２インチ）である場合には、１２００バイトの偶数のドットが存在し、その後に１２００バイトの奇数のドットと、未使用の１２００バイトのドットが位置する。
【０３４２】
有利に使用されるサブバッファの数は、プリントヘッドの色数に直接関連する。この数は、通常、３または４である。しかし、（メモリの無駄な使用を幾分少なくして）１または２のカラーシステムで、このシステムを実行するのは非常に容易なことである。デスクトップ印刷環境の場合には、色数は４である。すなわち、Ｃｏｌｏｒ１＝シアン、Ｃｏｌｏｒ２＝マゼンタ、Ｃｏｌｏｒ３＝黄色、Ｃｏｌｏｒ４＝黒である。
【０３４３】
アドレス解読回路は、所与のサイクル中に、４つのサブバッファの中の１つから読み出したものであれ、上記１つのサブバッファへ書き込んだものであれ、４つのすべてのサブバッファに対して、１回に３２ビットのアクセスを行うことができるようになっている。各カラーバッファから読み出した３２ビットの中の１つのビットだけが、４つの出力ビット全部に対して選択される。図４６はこのプロセスを示す。アドレスの１５ビットは、３２ビットを選択するために使用中のアドレスの１０ビットにより、特定のビットを読み出すことができ、アドレスの５ビットは、これら３２ビットから１ビットを選択する。すべてのカラーバッファは、この論理を共有しているので、１つの１５ビットのアドレスは、１色に１つずつ、４ビット全てを与える。各バッファは、１つの３２ビットの数値を、所与のサイクル中に、特定のカラーバッファに書き込むことができるようにするために、それ自身のＷｔｉｔｅＥｎａｂｌｅラインを有する。１つのバッファのみが実際にデータインをクロック制御するため、ＤａｔａＩｎの３２ビットは共有される。
プリントヘッド内の色数に関わらず、所与の読出しサイクル中に４ビット（各カラーバッファから１ビットずつ）が生成されることに留意されたい。
【０３４４】
１０．４．２  アドレスの生成
１０．４．２．１  読出し
読出しのためのアドレスの生成は簡単である。サイクル毎に、特定のセグメントに対する一色につき１ビットを表わす４ビットを取り出すために使用されるビットアドレスを生成する。現行のビットアドレスに４００を加算することにより、次のセグメントの等価のドットに進む。（８００ではなく）４００を加えるのは、奇数ドットおよび偶数ドットが、バッファ内で分離しているからである。このプロセスは、最初に、偶数ドット（ドットデータは、一度にＭＪＩ３６ビットに送信される）を表わすデータを受信するために、ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒのＳｅｇｍｅｎｔＧｒｏｕｐセットの回数だけ行われ、奇数のドットをロードするために、ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒの別のＳｅｇｍｅｎｔＧｒｏｕｐの回数だけ行われる。この全プロセスは４００回反復され、１回ごとに開始アドレスが増加する。それ故、すべてのドットの数値は、４００×２×ＳｅｇｍｅｎｔＧｒｏｕｐｓ×ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒ回のサイクルにおいてプリントヘッドが必要とする順序で転送される。
【０３４５】
さらに、ＴｒａｎｓｆｅｒＷｒｉｔｅＥｎａｂｌｅ制御信号を生成する。ＬＬＦＵ３２２は、ＭＪＩ３２０の前に始動するので、第１の数値は、ＭＪＩ３２０からのアドバンスパルスの前に転送しなければならない。また、第１のアドバンスパルスに対して準備ができている次の数値も生成しなければならない。解決策としては、ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒサイクルの後に、第１の数値を転送レジスタに転送し、その後で、ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒサイクルを停止し、次のＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒサイクルグループを開始するために、アドバンスパルスを待つことが挙げられる。第１のアドバンスパルスが到着すると、ＬＬＦＵ３２２は、ＭＪＩ３２０に同期させられる。しかし、最初の転送数値が有効になり、次の３２ビットの数値が転送レジスタ３４２内にロードされる準備が出来ているように、次のラインを開始するＬｉｎｅＳｙｎｃパルスは、ＬＬＦＵ３２２の後、少なくとも２ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒサイクルの時点で、ＭＪＩ３２０に到着していなければならない。
【０３４６】
下記疑似コードに読出しプロセスを示す。
【表４３】
0004714344.tif 000049
【０３４７】
最後の転送は、完全に使用されない場合がある。このような状況は、１回の転送当りのセグメントの数が、プリントヘッド内のセグメントの実際の数に均等に分割できない場合に生じる。このような状況の一例は、セグメントの数が１７である、２１．６ｃｍ（８．５インチ）のプリントヘッドである。１回毎に９のセグメントを転送するということは、最後の９セグメントの中の８セグメントだけが有効であることを意味する。しかし、タイミングは、（たとえ、使用しなくても）９番目の全セグメント値を生成することを要求する。よって、データは使用されないため、実際のアドレスは無関係状態である。
そのラインが完了すると、ＣｕｒｒＲｅａｄＢｕｆｆｅｒ値をプロセッサによりトグルしなければならない。
【０３４８】
１０．４．２．２  書込み
書込みプロセスも簡単である。４つのＤＭＡ要求ラインが、ＤＭＡコントローラ２００に出力される。返信ＤＭＡ肯定応答ラインにより要求が満足すると、適当な８ビットの宛先アドレスが選択され（１５ビット出力アドレスの下位５ビットは無視される数値である）、肯定応答信号は、正しいバッファのＷｒｉｔｅＥｎａｂｌｅ制御ラインに送信される（現行の書込みバッファは、ＣｕｒｒｅｎｔＲｅａｄＢｕｆｆｅｒである）。１０ビットの宛先アドレスが、各色毎に１つのアドレスである現行の４つのアドレスから選択される。ＤＭＡ要求が満足すると、適当な宛先アクセスが増加され、対応するＴｒａｎｓｆｅｒＲｅｍａｉｎｉｎｇカウンタが減じられる。その色に対する転送残りの数がゼロでない場合には、ＤＭＡ要求ラインが設定されるだけである。
【０３４９】
下記の疑似コードは、書込みプロセスを示す。
【表４４】
0004714344.tif 000050
【０３５０】
１０．４．３  レジスタ
下記のインターフェースレジスタは、ＬＬＦＵ３２２内に含まれる。
【表４５】
0004714344.tif 000051
【０３５１】
１０．５  印刷の制御
印刷を制御する際に、そのページの最初のラインが確実にバッファに転送されるように、プロセッサ１８１は、読出しモードで、ＬＬＦＵ３２２をプログラムし、開始する。ＤＭＡコントローラ２００から割込みを受け取った場合には、プロセッサ１８１は、ＬＬＦＵバッファ３３０，３３２を切り替え、ＭＪＩ３２０をプログラムし得る。その後で、プロセッサ１８１は、ＬＬＦＵ３２２を読出し／書込みモードで開始し、ＭＪＩ３２０を開始する。その後で、プロセッサ１８１は、他の接続しているプリンタコントローラが、確実に、そのＬＬＦＵおよびＭＪＩを開始するように十分な時間待機しなければならない。（他の接続しているプリンタコントローラが存在しない場合には、プロセッサ１８１は、ＬＬＦＵ３２２の停止ビットが設定されるまで、２ＳｅｇｍｅｎｔｓＰｅｒＸｆｅｒサイクルの間、待機しなければならない。）その後で、プロセッサ１８１は、同期された印刷を開始するように、ＬＧＳＵ３１６，３１８をプログラムし得る。ＤＭＡコントローラ２００から割込みを受け取った場合には、プロセッサ１８１は、ＤＭＡチャネルを再プログラムし、ＬＬＦＵバッファ３３０，３３２を交換し、読出し／書込みモードでＬＬＦＵ３２２を再開し得る。ＬＬＦＵ３３２は、そのパイプラインで効果的に充填されると、ＬＬＦＵ３３２は、ＭＪＩ３２０から次のアドバンスパルスまで停止する。印刷中、ＭＪＩ３２０に接触する必要はない。
【０３５２】
なんらかの理由で、プロセッサ１８１が、ライン間の時間内に、ＭＪＩ３２０レジスタまたはＬＬＦＵ３２２レジスタになんらかの変更を行いたい場合には、ＭＪＩ３２０の状態ビット、およびＬＬＦＵ３２２のＧｏビットをポーリングすることにより現行のラインの印刷／ロードを確実に終了しなければならない。
【０３５３】
１１．一般的プリンタドライバ
この節では、Ｃｅプリント１０用の任意のホストをベースとするプリンタドライバの一般的な態様について説明する。
１１．１  グラフィックスおよび画像化モデル
プリンタドライバは、ホストグラフィックスシステムに密接に結合しており、そのため、プリンタドライバは、異なるグラフィックスおよび画像化作業、特に、合成作業およびテキスト作業に対してデバイス特有の処理を供給し得るものと仮定する。また、ホストは、カラーマネージメントに対するサポートを提供し、その結果、デバイスから独立した色を、ユーザが選択したＣｅプリント特有のＩＣＣ（国際カラー協会）カラープロファイルに基づいて標準的な方法で、Ｃｅプリント特有のＣＭＹＫカラーに変換し得る。ユーザがプリンタでの出力媒体（すなわち、普通紙、コート紙、ＯＨＰ用紙等）を指定した場合には、ユーザにより、カラープロファイルが暗黙的に選択される。プリンタ１０に送られるページ記述は、常にデバイス特有のＣＭＹＫカラーを含む。
【０３５４】
ホストグラフィックスシステムは、プリンタドライバにより指定された解像度に画像およびグラフィックスをレンダリングするが、このホストグラフィックスシステムは、プリンタドライバがレンダリングテキストを制御し得るようにするものと仮定する。特に、グラフィックスシステムは、プリンタドライバが、通常のデバイス解像度以上の解像度でテキストをレンダリングし、配置させるようにプリンタドライバに十分な情報を供給する。
【０３５５】
ホストグラフィックスシステムは、このシステムが、通常のデバイス解像度で、グラフィックスオブジェクトおよび画像化オブジェクトを合成するが、プリンタドライバが、実際の合成を制御し得るようにするコントーンページバッファにランダムアクセスする必要がある。すなわち、このシステムは、プリンタドライバが、ページバッファを管理することを期待する。
【０３５６】
１１．２  二層ページバッファ
プリンタのページ記述は、２６７ｐｐｉのコントーン層および８００ｄｐｉの黒色層を含む。黒色層は、概念的にコントーン層の上に位置する。すなわち、黒色層は、プリンタによりコントーン層上に合成される。それ故、プリンタドライバは、中解像度コントーン層および高い解像度の黒色層を対応して含むページバッファを維持する。
【０３５７】
グラフィックスシステムは、オブジェクトをレンダリングし、ページバッファボトムアップに、すなわち、後続オブジェクトが先行オブジェクトを覆い隠して合成する。層が１つしかない場合には、このプロセスは自然に行われるが、後で合成される２つの層が存在する場合には、自然には行われない。それ故、コントーン層上に置かれているオブジェクトが、黒色層上の何かを覆い隠す場合には、それを検出する必要がある。
【０３５８】
隠ぺい現象が検出された場合には、隠ぺいされた黒色画素が、コントーン層と一緒に合成され、黒色層から除去される。その後で、隠ぺいしているオブジェクトがコントーン層上に置かれ、場合によってなんらかの方法で黒色画素と相互作用する。隠ぺいしているオブジェクトの合成モードが、背景と相互作用を起こすことができないモードである場合には、黒色画素は、コントーン層と合成されることなく単に廃棄される。もちろん、実際には、コントーン層と黒色層との間には、わずかな相互作用しか存在しない。
【０３５９】
プリンタドライバは、グラフィックスシステムに、２６７ｐｐｉの公称ページ解像度を指定する。可能な場合には、プリンタドライバは、黒色テキストを除いて、画像オブジェクトおよびグラフィックスオブジェクトを２６７ｐｐｉの画素レベルにレンダリングするために、グラフィックスシステムに依存する。プリンタドライバは、すべてのテキストレンダリング要求を処理し、８００ｄｐｉで黒色テキストを検出してレンダリングするが、２６７ｐｐｉでレンダリングするために、黒でないテキストレンダリング要求をグラフィックスシステムに返信する。
【０３６０】
理想的には、グラフィックスシステムおよびプリンタドライバは、そのページが完成し、プリンタに送る準備ができるまでデバイス特有のＣＭＹＫに変換するのを延期して、デバイスに依存しないＲＧＢで色を操作することが望ましい。そうすることにより、ページバッファの必要条件が削減され、合成がより合理的となる。ＣＭＹＫ空間内での合成は、理想的ではない。
【０３６１】
最後に、グラフィックスシステムは、レンダリングした各オブジェクトをプリンタドライバのページバッファ内に合成するようにプリンタドライバに要求する。上記各オブジェクトは、２４ビットのコントーンＲＧＢを使用し、明示的な（または、暗黙的に不透明の）不透明チャネルを有する。
【０３６２】
プリンタドライバは、３つの部分に分けて、二層ページバッファを維持する。第１の部分は、中解像度（２６７ｐｐｉ）のコントーン層である。この層は、２４ビットのＲＧＢビットマップからなる。第２の部分は、中解像度の黒色層である。この部分は、８ビットの不透明ビットマップからなる。第３の部分は、高解像度（８００ｄｐｉ）の黒色層である。この部分は、１ビットの不透明ビットマップからなる。中解像度の黒色層は、高解像度の不透明な層のサブサンプリングされたバージョンである。実際には、低解像度は、高解像度の整数の換算係数ｎである（例えば、ｎ＝８００／２６７＝３）と仮定した場合には、各低解像度の不透明度値は、対応するｎ×ｎの高解像度の不透明度値を平均することにより入手される。この値は、ボックスフィルタにかけられたサブサンプリングに対応する。黒色画素をサブサンプリングは、高解像度の黒色層内の縁部が効果的にエイリアス除去し、それにより、コントーン層がその後ＪＰＥＧ圧縮され、圧縮解除された場合に、リンギングアーティファクトを低減する。
【０３６３】
図４７は、ページバッファの構造および大きさを示す。
１１．３  合成モデル
ページバッファ合成モデルを説明するために、下記の変数を定義する。
【表４６】
0004714344.tif 000052
【０３６４】
不透明度
【数１】
0004714344.tif 000053
の黒色オブジェクトを黒色層と一緒に合成した場合には、黒色層は下記のように更新される。
【０３６５】
【数２】
0004714344.tif 000054
【０３６６】
オブジェクトの不透明度は、黒色層の不透明度と論理和され（規則１）、中解像度の黒色層の対応する部分は、高い解像度の黒色層から再計算される（規則２）。
【０３６７】
色ＣObM および不透明度αObM のコントーンオブジェクトが、コントーン層と一緒に合成されると、コントーン層および黒色層は下記のように更新される。
【数３】
0004714344.tif 000055
【０３６８】
コントーンオブジェクトが、黒色層を隠ぺいする場合には、例え完全に不透明でなくても、影響を受けた黒色層の画素は、黒色層からコントーン層に押出され、すなわち、コントーン層と合成され（規則３）、黒色層から除去される（規則４および５）。その後で、コントーンオブジェクトは、コントーン層と合成される（規則６）。
【０３６９】
コントーンオブジェクトの画素が、完全に不透明である場合には（すなわち、αObM ［ｘ，ｙ］＝２５５である場合には）、背景コントーン画素は、後に前景コントーン画素により完全に除去されるため（規則６）、対応する黒色画素を背景のコントーン層内に押し出す必要はない（規則３）。
【０３７０】
１１．４  ページ圧縮および送出
ページレンダリングが完了すると、プリンタドライバは、グラフィックスシステムが供給するカラーマネージメント機能の補助により、コントーン層をＣｅプリント特有のＣＭＹＫに変換する。
【０３７１】
その後、プリンタドライバは、黒色層およびコントーン層を、６．２節で説明したように、Ｃｅプリントページ記述内に圧縮し、パッケージ化する。このページ記述は、標準的なスプーラーを介してプリンタ１０に送信される。
【０３７２】
黒色層が、一組の１ビット不透明度値として操作されるが、一組の１ビット黒色値としてプリンタ１０に送信されることに留意されたい。これら２つの解釈は異なっているものの同じ表現を共有しているので、データを変換する必要がない。
【０３７３】
順方向離散余弦変換（ＤＣＴ）は、ＪＰＥＧ圧縮のコストが最も高い部分である。現在の高品質のソフトウェアを実行する際には、各８×８ブロックの順方向ＤＣＴは、１２回の整数の乗算と、３２回の整数の加算を必要とする。通常の現在の汎用プロセッサの場合には、１回の整数の乗算は、１０サイクルを必要とし、１回の整数の加算は２サイクルを必要とする。これは、１８４サイクルのブロック当りの全コストに等しい。
【０３７４】
２６．４ＭＢのコントーン層は、４３２，５３８個のＪＰＥＧブロックからなり、全体で約８０メガサイクルの順方向ＤＣＴのコストを必要とする。１５０ＭＨｚの場合には、これは０．５秒に等しく、これは各ページに許される２秒のレンダリング時間の２５％である。
ＣＥ指向プロセッサは、ＤＳＰサポートを有し得、その場合、１つのサイクルの乗算を行う場合には、ＪＰＥＧ圧縮時間は無視し得る。
【０３７５】
１１．５  バンド化された出力
プリンタ制御プロトコルは、一連のバンドとして、プリンタ１０へのページの送信をサポートする。グラフィックスシステムも、バンド化された出力をサポートする場合には、それにより、プリンタドライバは、画像の１つのバンドを一度にレンダリングすることにより、メモリ要件を軽減し得る。しかし、一度に１つのバンドをレンダリングすると、２つのバンドに跨るオブジェクトは複数回扱われなければならないため、一度に全ページをレンダリングする場合より、よりコストが高くなる場合があることに留意されたい。
【０３７６】
バンド化されたレンダリングを行った場合には、プリンタドライバ内のメモリ要件を軽減し得るが、２つのバンドのための複数のバッファが依然として必要である。一方のバッファは、プリンタ１０に送信中のバンドのために必要であり、他方のバッファは、レンダリング中のバンドのために必要である。ホストプロセッサとプリンタとの間の接続が十分高速である場合には、１つのバッファで十分な場合がある。同様に、システムにディスクドライブが設置されていて、送信中に、メモリの各ブロック内にロードするだけの場合には、プリンタへ送信中のバンドをディスク上に記憶し得る。
【０３７７】
１２  ウィンドウズ９ｘ／ＮＴ／ＣＥプリンタドライバ
１２．１  ウィンドウズ９ｘ／ＮＴ／印刷システム
ウィンドウズ９ｘ／ＮＴ／ＣＥ印刷システム内においては、プリンタは、グラフィックスデバイスであり、アプリケーションは、グラフィックスデバイスインターフェース（ＧＤＩ）を介して、このグラフィックスデバイスと通信する。プリンタドライバグラフィックスＤＬＬ（ダイナミックリンクライブラリ）は、ＧＤＩが供給する種々のグラフィックス機能のデバイス依存の部分を実行する。
【０３７８】
スプーラーは、プリンタへのページの送出を処理し、アプリケーション要求印刷に対して異なるマシン上に常駐し得る。スプーラーは、プリンタへの物理的接続を処理するポートモニタを介してプリンタへページを送信する。オプションとしての言語モニタは、プリンタとの通信に付加的なプロトコルを課するプリンタドライバの一部であり、特に、スプーラーに代わってプリンタからの状態応答をデコードする。
【０３７９】
プリンタドライバユーザインターフェースＤＬＬは、プリンタ特有の特性を編集し、プリンタ特有のイベントを報告するためのユーザインターフェースを実行する。
【０３８０】
図４８は、ウィンドウズ９ｘ／ＮＴ／ＣＥ印刷システムの構造を示す。
プリンタドライバ言語モニタおよびユーザインターフェースＤＬＬは、６節で説明したプリンタ制御プロトコルの関連した態様を実行しなければならない。この節の以下の部分においては、プリンタドライバグラフィックスＤＬＬの設計について説明する。この説明は、適当なウィンドウズ９ｘ／ＮＴ／ＣＥ  ＤＤＫと一緒に読まれたい。
【０３８１】
１２．２  ウィンドウズ９ｘ／ＮＴ／ＣＥグラフィックスデバイスインターフェース（ＧＤＩ）
ＧＤＩは、アプリケーションが、デバイス表面上での描画、すなわち、通常は、表示スクリーンまたは印刷したページの抽象化を可能にする機能を提供する。ラスタデバイスの場合には、デバイス表面は、概念上カラービットマップである。アプリケーションは、デバイスに依存しない方法で、すなわち、デバイスの解像度およびカラー特性とは無関係に、前記表面上に描画し得る。
【０３８２】
アプリケーションは、全デバイス表面にランダムアクセスし得る。このことは、メモリが限定されているプリンタデバイスが、バンド化された出力を必要とする場合には、ＧＤＩは、全ページのＧＤＩコマンドをバッファし、順次各バンド内にウィンドウ処理したコマンドを再生しなければならないことを意味する。これにより、アプリケーションは非常に柔軟になるが、性能に悪影響を与える恐れもある。ＧＤＩは、カラーマネージメントをサポートし、それにより、アプリケーションが提供する、デバイスに依存しない色は、デバイスの標準ＩＣＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｌｏｒ  Ｃｏｎｓｏｒｔｉｕｍ）カラープロファイルに従って、デバイスに依存する色に即応的に変換される。プリンタドライバは、例えば、ドライブにより管理されるプリンタ特性シート上における用紙タイプのユーザによる選択によって、異なるカラープロファイルを作動し得る。
【０３８３】
ＧＤＩは、ライン及びスプラインアウトライングラフィックス（経路）、画像およびテキストをサポートする。アウトラインフォントグリフスを含むアウトライングラフィックスは、ストロークされ、ビットマップ化されたブラッシュパターンで充填され得る。グラフィックスおよび画像は、幾何学的に変形され、デバイス表面のコンテンツと一緒に合成され得る。ウィンドウズ９５／ＮＴ４は、ブールの合成演算子のみを提供するが、ウィンドウズ９８／ＮＴ５は、適当なアルファブレンディングを提供する。
【０３８４】
１２．３  プリンタドライバグラフィックスＤＬＬ
ラスタプリンタは、理論上では、ウィンドウズ９ｘ／ＮＴ／ＣＥの下で、標準プリンタドライバコンポーネントを使用することができ、それにより、プリンタドライバトリビアルを展開するジョブを行うことが可能である。このことは、デバイス表面を単一のビットマップとしてモデル化し得るという能力に依存している。これに付随する問題は、テキストおよび画像を同じ解像度でレンダリングしなければならないことである。これは、テキストの解像度を低下させるか、または過度の出力データを生成して性能を低下させる。すでに説明したように、Ｃｅプリント方法は、それぞれの再現を最適化するために、黒色テキストおよび画像を異なる解像度でレンダリングする方法である。それ故、プリンタドライバは、１１節で説明した一般的な設計により実行される。
【０３８５】
よって、ドライバは、１１．２節で説明した２つの層を持ち、３つの部分からなるページバッファを維持するが、このことは、プリンタドライバは、デバイス表面の管理を行わなければならないことを意味し、このことは、また、プリンタデバイスは、デバイス表面へのすべてのＧＤＩアクセスを仲介しなければならないことを意味する。
【０３８６】
１２．３．１  デバイス表面の管理
グラフィックスドライバは、下記の機能を含む多くの標準的機能をサポートしなければならない。
【表４７】
0004714344.tif 000056
【０３８７】
ＤｒｖＥｎａｂｌｅＤＥＶは、ＧＤＩに対して、返信されたＤＥＶＩＮＦＯ構造のｆｌＧｒａｐｈｉｃｓＣａｐｓ部を介して、ドライバのグラフィックスレンダリング能力を示す。これについては、以下にさらに詳細に説明する。
【０３８８】
ＤｒｖＥｎａｂｌｅＳｕｒｆａｃｅは、２つの概念上の層および３つの部分、すなわち２６７ｐｐｉコントーン層の２４ビットＲＧＢカラー、２６７ｐｐｉ黒色層の８ビット不透明度、および８００ｄｐｉの黒色層１ビット不透明度からなるデバイス表面を生成する。これら２つの層を収容する仮想デバイス表面は、２６７ｐｐｉの公称解像度を有し、それ故、これは、ＧＤＩの動作が行われる解像度である。
【０３８９】
統合ページバッファは、約３４ＭＢのメモリを必要とするが、ページバッファのサイズは、１２．３．４節で説明したように、一度に１つのバンドでページをレンダリングすることにより自由に小さくし得る。
【０３９０】
プリンタ特有のグラフィックスドライバも、下記の機能をサポートしなければならない。
【表４８】
0004714344.tif 000057
【０３９１】
ＤｒｖＳｔａｒｔＤｏｃは、プリンタに、文書開始コマンドを送り、ＤｒｖＥｎｄＤｏｃは、文書終了コマンドを送る。
【０３９２】
ＤｒｖＳｔａｒｔＰａｇｅは、プリンタに、ページヘッダと一緒にページ開始コマンドを送る。
ＤｒｖＳｅｎｄＰａｇｅは、ＲＧＢからのコントーン層をＧＤＩが提供するカラーマネージメント機能によりＣＭＹＫに変換し、コントーン層および黒色層の双方を圧縮し、圧縮したページを１つのバンドとして、プリンタに送る（ページバンドコマンドで）。
【０３９３】
ＤｒｖＳｔａｒｔＰａｇｅ及びＤｒｖＳｅｎｄＰａｇｅの双方は、スプーラーを介してデータをプリンタに送るために、ＥｎｇＷｒｉｔｅＰｒｉｎｔｅｒを使用する。
【０３９４】
デバイス表面の管理、およびこのデバイス表面へのＧＤＩアクセスの仲介は、プリンタドライバが、下記の追加機能をサポートしなければならないことを意味する。
【表４９】
0004714344.tif 000058
【０３９５】
画像の複製、描線（ｓｔｒｏｋｉｎｇ  ｐａｔｈ）、および領域の充填は、すべてコントーン層上で行われ、一方、黒ベタテキストのレンダリングは、バイレベル黒色層上で行われる。さらにまた、黒でないテキストのレンダリングは、黒色層上ではサポートされないため、コントーン層上で行われる。反対に、黒ベタでの描線および充填は、（そのように選択した場合には）黒色層上で行うこともできる。
【０３９６】
プリンタドライバは上記機能をフックせざるを得ないが、コントーン層は標準フォーマットのビットマップであることから、その機能の対応するＧＤＩ実行にコントーン層を適用し戻す機能呼出しをパントし得る。すべてのＤｒｖＸｘｘ機能に対して、ＧＤＩが提供する対応するＥｎｇＸｘｘ機能が存在する。
【０３９７】
１１．２節で説明したように、コントーン層向けのオブジェクトが、黒色層上の画素を隠ぺいする場合には、コントーンオブジェクトが、コントーン層を合成される前に、隠ぺいされた黒色画素を黒色層からコントーン層に移動させなければならない。この作業プロセスの最も重要な点は、ＧＤＩにパントされる前に、隠ぺいを検出し、フックされた呼出しで処理することである。このプロセスは、その幾何学的形状からのコントーンオブジェクトの画素毎の不透明度を決定することと、１１．２節で説明したように、黒色画素を黒色層からコントーン層へ選択的に転送するためにこの不透明度を使用することとを含む。
【０３９８】
１２．３．２  コントーンオブジェクトの幾何学的形状の決定
各コントーンオブジェクトの幾何学的形状がレンダリングされる前に、各コントーンオブジェクトの幾何学的形状を決定することができ、それにより、コントーンオブジェクトが、どの黒色画素を隠ぺいするのかを効率的に決定し得る。ＤｒｖＣｏｐｙＢｉｔｓおよびＤｒｖＰａｉｎｔの場合には、幾何学的形状は、一組の長方形として数えることができるクリップオブジェクト（ＣＬＩＰＯＢＪ）により決定される。
【０３９９】
ＤｒｖＳｔｒｏｋｅＰａｔｈの場合には、事態はより複雑である。ＤｒｖＳｔｒｏｋｅＰａｔｈは、直線およびベジエ−スプライン曲線セグメントの双方、および単一画素幅のラインおよび幾何学的幅のラインをサポートする。第１の工程は、ドライバのＤＥＶＩＮＦＯ構造のｆｌＧｒａｐｈｉｃｓＣａｐｓ部内の対応する能力フラグ（ＧＣＡＰＳ＿ＢＥＺＩＥＲＳおよびＧＣＡＰＳ＿ＧＥＯＭＥＴＲＩＣＷＩＤＥ）をクリアすることにより、ベジエ−スプライン曲線セグメントおよび幾何学的幅ラインの複雑性を双方とも回避することである。こうすることにより、上記呼出しをＤｒｖＰａｉｎｔへの数組のより簡単な呼出しとして再度公式化する。通常、ＧＤＩは、ドライバに、高レベルの能力を加速する機会を与えるが、ドライバが供給しない任意の能力をシミュレートする。
【０４００】
残っているのは、単に、単一画素幅の直線の幾何学的形状を決定することだけである。このような線は、実線であっても、装飾線であってもよい。後者の場合、線のスタイルは、特定の線の属性（ＬＩＮＥＡＴＴＲＳ）のスタイリングアレイにより決定される。スタイリングアレイは、その全長に沿って、その線の不透明と透明とをどのように交互に配置するかを指定し、それにより、種々の破線効果等をサポートする。
ブラシが、黒ベタである場合には、同様に、黒色層に直線を役に立つようにレンダリングし得るが、８００ｄｐｉの解像度により暗示される幅は太くなる。
【０４０１】
１２．３．３  テキストのレンダリング
ＤｒｖＴｅｘｔＯｕｔの場合には、同様に、事態はより複雑である。最初に、不透明な背景が存在する場合には、不透明な背景は、コントーン層上の任意の他の充填のように処理される（ＤｒｖＰａｉｎｔ参照）。前景のブラシが黒でない場合、または混合モードが実際上不透明でない場合、またはフォントがスケラブルでない場合、またはフォントがアウトラインストローキングを示す場合には、呼出しが、コントーン層に適用されるべきＥｎｇＴｅｘｔＯｕｔにパントされる。しかし、呼出しがパントされる前に、ドライバは、（ＦＯＮＴＯＢＪ＿ｃＧｅｔＧｌｙｐｈｓを介して）そのビットマップを入手することにより各グリフの幾何学的形状を決定し、黒色層に対し通常の通常の隠ぺいのチェックを行う。
【０４０２】
ＤｒｖＴｅｘｔＯｕｔ呼出しをパントすることが許されない場合には（文書化があいまい）、ドライバは、複雑なテキスト動作を禁止しなければならない。これは、（ＧＣＡＰＳ＿ＶＥＣＯＲ＿ＦＯＮＴ能力フラグをクリアすることによる）アウトラインストローキングの禁止、および（ＧＣＡＰＳ＿ＡＲＢＭＩＸＴＸＴ能力フラグをクリアすることによる）複雑な混合モードの禁止を含む。前景のブラシが黒または不透明であり、フォントがスケラブルであり、ストロークされない場合には、グリフは、黒色層上にレンダリングされる。この場合、ドライバは、（再び、ＦＯＮＴＯＢＪ＿ｃＧｅｔＧｌｙｐｈｓを介して、しかし、ＰＡＴＨＯＢＪとして）そのアウトラインを入手することにより、各グリフの幾何学的形状を決定する。その後で、ドライバは、８００ｄｐｉで、そのアウトラインから各グリフをレンダリングし、それを黒色層に書き込む。アウトラインの幾何学的形状は、デバイス座標（すなわち、２６７ｐｐｉ）を使用するが、この座標は、より高い解像度レンダリングのための十分な少数部精度を有する固定少数点フォーマットである。
【０４０３】
指定されている場合には、取り消し線および下線の矩形が、グリフ幾何学的形状に追加されることに留意されたい。
ドライバは、８００ｄｐｉで、正確な位置決めができるように、高精度の固定少数点フォーマットで、ＧＤＩにより、（再び、２６７ｐｐｉデバイス座標で）グリフ位置が提供されるよう要求すべく、ＤＥＶＩＮＦＯ内で、ＧＣＡＰＳ＿ＨＩＧＨＲＥＳＴＥＸＴフラグをセットしなければならない。また、ドライバは、ＧＤＩに、グリフをビットマップとしてではなく、アウトラインとしてキャッシュすることを指示し得るようにＤｒｖＧｅｔＧｌｙｐｈＭｏｄｅ機能の実行も提供しなければならない。理想的には、ドライバは、効率的なメモリを可能にするため、レンダリングされたグリフビットマップをキャッシュすることが望ましい。一定のポイントサイズ未満のグリフのみをキャッシュすべきである。
【０４０４】
１２．３．４  バンド化された出力
６節で説明したように、印刷制御プロトコルは、ページ記述をページヘッダおよび多数のページバンドに分割することにより、バンド化された出力をサポートする。ＧＤＩは、内部バッファメモリの容量が小さい、プリンタドライバおよびプリンタを提供するために、プリンタへのバンド化された出力をサポートする。
【０４０５】
ＧＤＩは、アプリケーションの関与なしで、バンド化された出力を処理し得る。ＧＤＩは、単に、メタファイル内で、アプリケーションにより実行されたすべてのグラフィックス動作を記録し、その後、ページの各バンドに対してプリンタドライバに、全メタファイルを再生するだけである。プリンタドライバは、通常のように、現行のバンドに、グラフィックス動作をクリップしなければならない。アプリケーションが、（ＲＡＳＴＥＲＣＡＰＳ索引で呼出された場合に、ＧｅｔＤｅｖｉｃｅＣａｐｓにより返還された）ドライバのラスタ能力のＲＣ＿ＢＡＮＤＩＮＧビットに注目し、各バンドに関連するグラフィックス動作だけを実行する場合には、バンド状の出力をより効率的にし得る。
【０４０６】
メモリが制限されているために、バンド化された出力を必要とする場合には、プリンタドライバは、ＤｒｖＥｎａｂｌｅＳｕｒｆａｃｅ内のＥｎｇＭａｒｋＢａｎｄｉｎｇＳｕｒｆａｃｅを呼出すことにより、バンド分割を行うことができなければならない。また、プリンタドライバは、下記の追加機能をサポートしなければならない。
【表５０】
0004714344.tif 000059
【０４０７】
ＤｒｖＳｅｎｄＰａｇｅのように、ＤｒｖＮｅｘｔＢａｎｄは、ＧＤＩが提供するカラーマネージメント機能により、ＲＧＢからのコントーン層をＣＭＹＫに変換し、コントーン層および黒色層の双方を圧縮し、圧縮したページバンドを（ページバンドコマンドで）プリンタに送る。
【０４０８】
スプーラーを介して、プリンタにバンドデータを送るためにＥｎｇＷｒｉｔｅＰｒｉｎｔｅｒが使用される。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態によるＣｅプリントプリンタの正面図。
【図２】  本発明の第２の実施形態によるプリンタの正面図。
【図３】  図１のプリンタの側面図。
【図４】  図１のプリンタの平面図。
【図５】  図２のプリンタの側面図。
【図６】  プリンタ内での二重バッファ動作により達成し得るプリンタの継続印刷速度を示す図。
【図７】  アプリケーションから印刷されるページへの概念的なデータの流れを示すフローチャート。
【図８】  プリンタの平面断面図。
【図８Ａ】  図８の円で囲んだ領域の詳細図。
【図９】  図８のプリンタの一方の側面から見た側面図。
【図１０】  図８のプリンタの他方の側面から見た側面図。
【図１１】  プリンタの印刷エンジンと画像転写機構との間の関係を示すプリンタの部分側面図。
【図１２Ａ】  転写機構に対して停止、かつ非印刷状態のプリントヘッドを示す、図１１のデバイスの一部の側面図。
【図１２Ｂ】  転写機構に対して印刷状態のプリントヘッドを示す、図１１のデバイスの一部の側面図。
【図１３】  図２の両面プリンタのプリントヘッドと転写機構の配置の概略側面図。
【図１４】  プリンタの用紙駆動チェーンの三次元展開図。
【図１５】  プリンタの印刷システムの三次元図。
【図１６】  図１５の印刷システムの一部の拡大三次元図。
【図１７】  簡単なコード化サンプルを示す図。
【図１８】  プリンタコントローラアーキテクチャのブロック図。
【図１９】  ページ展開及び印刷するデータの流れのフローチャート。
【図２０】  ＥＤＲＬエキスパンダユニットのブロック図。
【図２１】  ＥＤＲＬストリームデコーダのブロック図。
【図２２】  ランレングスデコーダのブロック図。
【図２３】  ランレングスエンコーダのブロック図。
【図２４】  ＪＰＥＧデコーダのブロック図。
【図２５】  ハーフトーン化装置／コンポジタのブロック図。
【図２６】  ページ幅とマージンとの間の関係を示す図。
【図２７】  多重閾値ディザ装置のブロック図。
【図２８】  三重閾値ディザの論理のブロック図。
【図２９】  スピーカインターフェースのブロック図。
【図３０】  二重プリンタコントローラ構成のブロック図。
【図３１】  メムジェットページ幅プリントヘッドの概略図。
【図３２】  噴射順に付番されている１２本の印刷ノズルのポッドの概略図。
【図３３】  ロード順に付番されているノズルを含む同じポッドの概略図。
【図３４】  各色の１つのポッドを備えるクロマポッドの概略図。
【図３５】  ５つのクロマポッドを備えるポッドグループの概略図。
【図３６】  ２つのポッドグループを備える位相グループの概略図。
【図３７】  セグメント、噴射グループ、位相グループ、ポッドグループ、クロマポッドの間の関係を示す概略図。
【図３８】  通常の印刷サイクル中のＡＥｎａｂｌｅラインおよびＢＥｎａｂｌｅラインの位相図。
【図３９】  プリントヘッドインターフェースのブロック図。
【図４０】  メムジェットインターフェースのブロック図。
【図４１】  ＡＥｎａｂｌｅパルス幅およびＢＥｎａｂｌｅパルス幅の生成のフローチャート。
【図４２】  ドットカウント論理のブロック図。
【図４３】  ラインＮおよびＮ＋１を印刷中の二重バッファ動作の概念図。
【図４４】  ラインローダ／フォーマットユニットの構造のブロック図。
【図４５】  バッファの概念図。
【図４６】  バッファの論理構造のブロック図。
【図４７】  二層ページバッファの構造およびサイズを示す図。
【図４８】  示されたプリンタドライバ構成要素を備えるウィンドウズ９ｘ／ＮＴ／ＣＥ印刷システムのブロック図。
【図１】
0004714344.tif 000060
【図２】
0004714344.tif 000061
【図３】
0004714344.tif 000062
【図４】
0004714344.tif 000063
【図５】
0004714344.tif 000064
【図６】
0004714344.tif 000065
【図７】
0004714344.tif 000066
【図８】
0004714344.tif 000067
【図８Ａ】
0004714344.tif 000068
【図９】
0004714344.tif 000069
【図１０】
0004714344.tif 000070
【図１１】
0004714344.tif 000071
【図１２Ａ】
0004714344.tif 000072
【図１２Ｂ】
0004714344.tif 000073
【図１３】
0004714344.tif 000074
【図１４】
0004714344.tif 000075
【図１５】
0004714344.tif 000076
【図１６】
0004714344.tif 000077
【図１７】
0004714344.tif 000078
【図１８】
0004714344.tif 000079
【図１９】
0004714344.tif 000080
【図２０】
0004714344.tif 000081
【図２１】
0004714344.tif 000082
【図２２】
0004714344.tif 000083
【図２３】
0004714344.tif 000084
【図２４】
0004714344.tif 000085
【図２５】
0004714344.tif 000086
【図２６】
0004714344.tif 000087
【図２７】
0004714344.tif 000088
【図２８】
0004714344.tif 000089
【図２９】
0004714344.tif 000090
【図３０】
0004714344.tif 000091
【図３１】
0004714344.tif 000092
【図３２】
0004714344.tif 000093
【図３３】
0004714344.tif 000094
【図３４】
0004714344.tif 000095
【図３５】
0004714344.tif 000096
【図３６】
0004714344.tif 000097
【図３７】
0004714344.tif 000098
【図３８】
0004714344.tif 000099
【図３９】
0004714344.tif 000100
【図４０】
0004714344.tif 000101
【図４１】
0004714344.tif 000102
【図４２】
0004714344.tif 000103
【図４３】
0004714344.tif 000104
【図４４】
0004714344.tif 000105
【図４５】
0004714344.tif 000106
【図４６】
0004714344.tif 000107
【図４７】
0004714344.tif 000108
【図４８】
0004714344.tif 000109