(57)【特許請求の範囲】
【請求項１】
インク滴下印刷ヘッドを駆動させる印刷用エンジンコントローラチップであって、
圧縮ページデータを受信するインタフェースと、
受信した前記圧縮ページデータにおいて圧縮された連続色調画像面をデコードする色調画像デコーダと、
受信した前記圧縮ページデータにおいて圧縮された２値画像面をデコードする２値デコーダと、
連続色調画像面をディザーするとともに２値画像面データと出力面とを合成する中間色調器／映像信号合成器と、
印刷タグを印刷ページに置くように赤外画像面を作り出す赤外タグエンコーダと、
その合成信号を印刷ヘッドに出力する印刷ヘッド駆動器と
を含み、前記中間色調器／映像信号合成器は、前記印刷ヘッドに供給されるインクを前記画像面に組込むためにカラーマスクによって制御されるドットマージャユニットを含んでおり、前記印刷ヘッドに赤外インクが供給されない場合、前記赤外画像面が、可視インクチャンネルにマップされる、前記印刷用エンジンコントローラチップ。
【請求項２】
前記インタフェースが高速シリアルインタフェースである、請求項１に記載の印刷用エンジンコントローラチップ。
【請求項３】
前記色調画像デコーダがＪＰＥＧデコーダである、請求項１に記載の印刷用エンジンコントローラチップ。
【請求項４】
前記色調画像デコーダが、デコードした前記画像の別個のカラー面を、前記中間色調器／映像信号合成器の前工程に出力してバッファを分離する、請求項１に記載の印刷用エンジンコントローラチップ。
【請求項５】
前記２値デコーダがグループ４ファクシミリデコーダである、請求項１に記載の印刷用エンジンコントローラチップ。
【請求項６】
前記２値デコーダが、受信した前記圧縮画像面における圧縮された２値画像面を、前記中間色調器／映像信号合成器の前工程でデコードして、それぞれのバッファに出力する、請求項１に記載の印刷用エンジンコントローラチップ。
【請求項７】
請求項１〜６のいずれか１項に記載の印刷用エンジンコントローラチップによって駆動するインク滴下プリンタ。
【発明の詳細な説明】
【０００１】
発明の分野
本発明はプリンタ製品の分野で使用するのに適した印刷用エンジン／コントローラ（ＰＥＣ）に関するものである。本発明は更に印刷ヘッドのインタフェースチップに具備される印刷用エンジン／コントローラに関する。
【０００２】
発明の背景
プリンタの種類の範囲はその画像がドット形式でページに選択的に供給されるインクから構築されるもので発展してきた。発明者、Kia Silverbrookの‘モノリシック印刷ヘッドに関する自己整列構築と製造工程’と題する米国特許第6045710号において、要求に応じて滴下するプリンタに対する従来技術の評価がその製造工程とともに述べられている。
【０００３】
以後メムジェット（Memjet）印刷ヘッドと呼ばれるマイクロエレクトロメカニカル小型要求印刷ヘッドが本出願と同時に出願された同時係属国際特許出願に記載されており、以後クロス・リファレンスとして本明細書に援用されている。
【０００４】
【表１】
0004694086.tif 000002
【０００５】
メムジェット印刷ヘッドはたとえば１ページの全幅を通して液体インクの１６００dpiの２値ドットを作り出すことができる印刷ヘッド部から開発されている。ドットはその最大値まで利用可能な拡散ドットデザリングを可能にするように容易に分離して作り出される。カラー面は理想的なドットオンドット印刷を可能にする完全な登録（registration）法で印刷されることができる。印刷ヘッドはマイクロエレクトロメカニカルインク滴下技術を用いることにより高速印刷を可能にする。
【０００６】
本発明に関するさまざまな方法、システム、および装置が本出願と同時に出願されている本発明の出願人あるいは譲受人による次の同時係属出願に開示されている：
NPA001,NPA002,NPA004,NPA005,NPA006,NPA007,NPA008,NPA009,NPA010,NPA012,NPA016,NPA017,NPA018,NPA019,NPA020,NPA021,NPA030,NPA035,NPA048,NPA075,NPB001,NPB002,NPK002,NPK003,NPK004,NPK005,NPM001,NPM002,NPM003,NPM004,NPP005,Npp006,NPP016,NPP017,NPN001,NPP001,NPP003,NPP007,NPP008,NPP018,NPS001,NPS003,NPS020,NPT001,NPT002,NPT003,NPT004,NPX001,NPX003,NPX008,NPX011,NPX014,NPX016,IJ52,IJM52,MJ10,MJ11,MJ12,MJ13,MJ14,MJ15,MJ34,MJ47,MJ58,MJ62,MJ63,MJ64,MJ65,MJ66,PAK04,PAK05,PAK06,PAK07,PAK08,PEC01,PEC02,PEC03,PP01,PP02,PP03,PP04,PP07,PP08,PP09.PP10,PP11,PP12,PP13,PP14,PP15,PP16およびPP17。
【０００７】
これら同時係属出願の開示内容はクロスリファレンスとして本明細書に援用されている。各出願は事件整理番号で一時的に識別される。これは利用可能になった時点で対応するPCT出願番号によって置き換えられる。
【０００８】
上述のような印刷ヘッドの性能はそのエンジン／コントローラよって示される。高速印刷は印刷ヘッドとそのエンジン／コントローラの両方の開発によるものである。上記技術によって可能とされる1ページ幅の印刷ヘッドは滴下制御信号を高速で供給することができるエンジン／コントローラを必要とする。典型的ページレイアウトには画像、グラフィックおよび文章の混合したものが含まれる。上記マイクロエレクトロメカニカル印刷ヘッドのページ幅の性質により、各ページは目に見える誤差を生じさせることを避けるように一定の速度で印刷し得る。このことは印刷速度が入力データの速度に適合するように変えられる必要が無いということを意味する。文書の画像表示のラスター化および文書の印刷は分離され得る。印刷ヘッドがデータを一定供給することを確実にするため、ページはそれが完全にラスター化されるまで印刷されるべきではない。理想的にはラスター化はより複雑なページをラスター化する時間が得られるように、単純なページをラスター化するときに印刷の先を行くようにすることができるべきである。エンジン／コントローラはこれらの機能が実現されるべき程度を決定するものである。
【０００９】
印刷ヘッドにおけるより速い速度は印刷ヘッドとそのエンジン／コントローラの両者の開発に左右される。印刷用エンジン／コントローラのアーキテクチャは大容量のデータを印刷ヘッドに高速で押し出すように設計される必要がある。
【００１０】
発明の概要
一つの形態において本発明は
色調画像デコーダと、
２値圧縮デコーダと、
中間色調器／映像信号合成器と印刷ヘッドインタフェースと
を含む印刷用エンジン／コントローラに存在する。
【００１１】
印刷用エンジン／コントローラはコンピュータまたは印刷分配システムによりそれに対し適切にフォーマット化された圧縮ページデータからページを作り出すための最終のステップを提供する。そのステップにはページ画像を拡張し、色調層をディザリングし、色調層に対し黒の層を構成し、赤外層に赤外タグを加え、そして出来上がった画像を印刷ヘッドに送る各ステップが含まれる。
【００１２】
印刷用エンジン／コントローラは圧縮されたページデータを受信する高速シリアルインタフェースを用いるのが好ましい。色調画像面はJPEGデコーダで復号され、それらはマージン装置の制御のもと中間色調器／映像信号合成器において大きさが調整される。グループ４ファクシミリデコーダは２値の画像面を復号し、それはまたマージン装置の制御のもと中間色調器／映像信号合成器において大きさが調整される。オプションとして赤外タグエンコーダは印刷ページに赤外インクで印刷されるタグを置くように赤外画像面を作り出す働きをする。中間色調器／映像信号合成器は色調画像面をディザーする圧縮されたページデータからのディザーデータを供給するディザーマトリックスアクセス装置を含んでいる。
【００１３】
本発明は更に圧縮されたページデータを受信するインタフェースと、いかなる連続的色調の画像をも受信圧縮ページデータに復号する色調画像デコーダと、いかなる２値の画像面とディザーデータをも受信圧縮ページデータに復号する２値デコーダと、いかなる２値画像面をいかなる連続色調画面にも合成する中間色調器／映像信号合成器と、合成信号を印刷ヘッドに出力する印刷ヘッド駆動器とを含むインク滴下ヘッドとインタフェースする印刷用エンジン／コントローラチップを含んでいる。
【００１４】
好適実施例の詳細な説明
典型的な１２インチの印刷ヘッド幅はＡ４およびレターサイズのフルブリードの印刷を可能にする以下に記述する１つ以上のＰＥＣによって制御される。カラーインクの６チャンネルが本印刷環境において期待される最大チャンネルである。これらは：
・通常のカラー印刷に対し、ＣＭＹ
・黒色テキストおよびその他の黒色印刷に対し、Ｋ
・タグを可能にする応用に対し、ＩＲ（赤外）
・高速で野印刷を可能にする、Ｆ（フィクサティブ）
である。
【００１５】
プリンタが高速印刷をすることができるものであるため、フィクサティブは次のページが高速で印刷を完了する前に、インクを乾燥可能にするのに必要とされる。さもないとページはお互いにインクが流れ出てしまう。低速印刷環境ではフィクサティブは必要としない。
【００１６】
ＰＥＣは印刷ヘッドとインタフェースする一つのチップ内に構築される。それは機能として四つの基本レベルを含んでいる。
・ＩＥＥＥ１３９４のようなシリアルインタフェースを通じて圧縮ページを受信すること。
・圧縮されたフォームからページを生成するための印刷エンジン。印刷エンジンの機能はページ画像を拡張するステップと、色調層をディザリングするステップと、色調層に対し黒色層を合成するステップと、任意により赤外タグを付加するステップと、出来上がった画像を印刷ヘッドに送る機能とを含んでいる。
・印刷ヘッドとステップモータを制御するための印刷コントローラ。
・二つのＱＡチップと通信するための二つの標準的低速シリアルポート。確認手順を行っている間、強力なセキュリティを保証するためにポートが二つなければならず一つのポートでは無いということに留意すること。
【００１７】
図１において文書を計算機システムから印刷ページに送るデータの流れが見られる。文書は１１で受信され、ページレイアウトを有効化することができ、必要とされるいくつかの対象を付加することができるメモリバッファ１２にロードされる。メモリ１２からのページは１３でラスター化され、印刷エンジンコントローラ１０へ伝送する前に１４で圧縮される。ページはメモリバッファ１５に印刷エンジンコントローラ１０内で圧縮されたページ画像として受信され、そこからそれはページ拡張部１６に送られ、そこでページ画像が取り出される。必要なディザリングは１７で色調層に与えることができる。黒色２値の層も１９における赤外タグとともに１８で色調層に対し一緒に合成することができる。合成されたページデータは２０で印刷されてページ２１を生成する。
【００１８】
印刷用エンジン／コントローラは圧縮されたページ画像を取り出し、ページの拡張とパイプラインにおけるやり方のように印刷を始める。ページの拡張と印刷は相当の大きさの２値ＣＭＹＫ＋ＩＲページ画像をメモリに記憶するのは実際的でないためにパイプラインのようにするのが好ましい。
【００１９】
パイプラインの最初の段階はＪＰＥＧ圧縮された色調ＣＭＹＫ層（以下参照）を拡張し、グループ４ファックス圧縮された２値ディザーマトリクス選択マップ（以下参照）を拡張し、グループ４ファックス圧縮された２値黒色層（以下参照）をすべて並行的に拡張する。これと並行してタグエンコーダは圧縮されたページ画像から２値ＩＲタグを符号化する。第二段階はディザーマトリクス選択マップによって選択されたディザーマトリクスを用いて色調ＣＭＹＫ層をディザーし、２値黒色層を出来上がった２値Ｋ層に対して合成し、ＩＲ層をページに追加する。固定層はまたＣ，Ｍ，Ｙ，Ｋ，あるいはＩＲチャンネルのいずれにおいても必要とされる各ドット位置において生成される。最後の段階は印刷ヘッドインタフェース（以下参照）を経て印刷ヘッドを通して２値ＣＭＹＫ＋ＩＲデータを印刷する。
【００２０】
図２においていかに印刷用エンジン／コントローラ１０が全体の印刷システムアーキテクチャに適合するかが示される。印刷システムのさまざまな構成品は
・印刷用エンジン／コントローラ（ＰＥＣ）。ＰＥＣチップ１０、あるいは複数のチップがメモリバッファ２４に記憶するために圧縮されたページ画像を受信し、ページの拡張を行い、黒色層を合成し、印刷ヘッド２３へドットデータを送り出す責任を有している。それはまたＱＡチップ２５，２６と通信し、最適な印刷を保証するために印刷ヘッドの特性を引き出す手段を与える。ＰＥＣは本明細書の主題である。
・メモリバッファ。メモリバッファ２４は圧縮されたページ画像を記憶し、与えられたページの印刷中に使用を消去する。メモリバッファの構築と動作は当業者には既知であり、それらの使用に対する標準チップの分野と技術は本発明のＰＥＣの使用において活用することができる。
・マスターＱＡチップ。マスターチップ２５は交換可能なインクカートリッジＱＡチップ２６に適合される。ＱＡユニットの構築と動作は当業者に既知であり、既知のＱＡ工程の分野は本発明のＰＥＣの使用において活用することができる。たとえば、ＱＡチップは同時係属米国特許出願に記載されている。
【００２１】
【表２】
0004694086.tif 000003
【００２２】
ＱＡチップ通信はそれが画像の拡張と物理的印刷ヘッドを走らせる役割を持っているのでＰＥＣチップ全体の機能の中に最適に含まれることができる。ＱＡチップ通信を配備することにより、ページを印刷するのに十分なインクがあることが保証され得る。印刷ヘッドアセンブリに備えられるＱＡは確証用チップを用いて実装されるのが好ましい。それがマスターＱＡチップであるので、それは確証用キーを含むだけであり、ユーザデータを含まない。しかしながらそれはインクカートリッジのＱＡチップと適合しなければならない。インクカートリッジのＱＡチップは最も実現可能な印刷品質を維持するのに必要な情報を含んでおり、確証チップを用いて実装される。６４メガビット（８メガバイト）のメモリバッファが圧縮されたページ画像を記憶するのに用いられるのが好ましい。一ページがバッファに書き込まれている間、他方が読み出されている（ダブルバッファリング）。さらに追加して、ＰＥＣはページの印刷中に計算されたドット情報をバッファするメモリを使う。ページＮの印刷中バッファは
・圧縮ページＮの読みこみ
・ページＮの２値ドット情報の読みこみと書きこみ
・圧縮されたページＮ＋１の書き込み
に用いられる。
【００２３】
ＰＥＣチップが以下の機能を実行する簡易なマイクロコントローラＣＰＵコア３５を組込んでいることが望ましい。
・印刷ページ間のシリアルインタフェース３６を経てＱＡチップ確証プロトコルを実行する
・印刷中並列インタフェース９１を経てステップモータを走らせる（ステップモータは５ｋＨｚの処理を要する）
・印刷中ＰＥＣのさまざまな部分を同期させる
・外部データ要求（プログラムの登録他）とインタフェースする手段の提供をする
・印刷ヘッド部の低速データ要求（特性ベクトルの読み込みやパルスプロファイルの書き込みのような）とインタフェースする手段の提供をする
・ポートレイトと風景のタグを外部ＤＲＡＭに書き込む手段を提供する
すべての画像処理が専用ハードウェアによって実施されるので、ＣＰＵはピクセルを処理しない。結果として、ＣＰＵは簡単なものになる。非常に広い分野の既知のＣＰＵコアが適している：それは要求される計算を実行し、機能を十分早く制御するのに十分な処理能力を持ついかなる処理コアでもよい。適切なコアの一例は約１MHzで動作するフィリップス８０５１マイクロコントローラである。CPUコア３５に関連するものはプログラム化されたROMと小さなプログラム消滅可能なRAMであってもよい。CPUはメモリマップされたI/Oを経てPECチップ内の他のユニットと通信する。特定のアドレス範囲が特定のユニットにマップし、それぞれの範囲内で特定ユニット内の特定レジスタにマップする。これはシリアル３６とパラレル９１インタフェースを含んでいる。小さなプログラムフラッシュROMはPECチップに組込まれている。その大きさは選ばれるCPUに左右されるが、８KBを超えてはならない。同様に小さなスクラッチRAMの領域はPECチップに含まれることができる。プログラムのコードが画像を操作することはないので大きなスクラッチ領域を必要としない。RAMの大きさは選ばれるCPUに左右されるが（たとえばスタックメカニズム、規約を呼び出すサブルーチン、レジスタの大きさ他）、約２KB以上であってはならない。
【００２４】
上記参照セグメントベースのページ幅印刷ヘッドを用いるPECチップは最大のドット分解能（典型的に１６００dpi）で黒を再生することができるが、中間色を用いる幾分低い分解能で色調カラーを再生することができる。したがって、ページ記述は黒の２値層と色調層に分けられる。黒の２値層は色調層に対して合成するよう定義される。黒の２値層は各ピクセルに対し１−ビットの半透明処理を含むビットマップからなる。黒の層のつや消しはプリンタのドット分解能の整数因数である分解能を持つ。最も高い分解能は１６００dpi、すなわちプリンタの最大ドット分解能である。色調層は各ピクセルに対し、３２ビットCMYKカラーを含むビットマップからなる。ここでKはオプションである。この色調画像はプリンタのドット分解能の整数因数である分解能を持つ。最も高い分解能は単一のPECに対し１２インチに渡って３２０ppi、すなわちプリンタのドット分解能の５分の１である。より高い色調分解能に対し複数のPECが要求され、各PECで出力ページのストリップを生成する。色調分解能はまた典型的にRIPにおける計算を簡単にするために黒色２値レベルの分解能の整数因数である。しかしながらこれは要求ではない。黒色２値レベル層と色調層はいずれもプリンタの内部メモリーに効率的に記憶するために圧縮された形になっている。
【００２５】
図３において印刷エンジンのアーキテクチャが示される。印刷エンジンのページ拡張と印刷するパイプラインは高速シリアルインタフェース２７（標準のIEEE1394インタフェースのような）と、標準のJPEGデコーダ２８と、標準のグループ４ファックスデコーダと、カスタム中間色調器／合成器２９と、カスタムタグエンコーダ３０と、ラインローダ／フォーマッタユニット３１と、印刷ヘッド３３へのカスタムインタフェースからなっている。デコーダ２８，８８とエンコーダ３０は中間色調器／合成器２９へバッファされる。タグエンコーダ３０は赤外タグあるいはページへのタグをページに何が使用されるかに応じたプロトコルにしたがって確定する。タグの実際の内容は本発明の主題ではない。
【００２６】
印刷エンジンは二重バッファの方法で動作する。一ページがDRAMインタフェース８９と高速シリアルインタフェース２７からのデータバス９０を経てDRAM３４にロードされ、一方前のロードされたページはDRAM３４から読み出され、印刷エンジンのパイプラインを通過する。ページが印刷を終わると、次にロードされたばかりのページが印刷されるページになる。そして新しいページが高速シリアルインタフェース２７を経てロードされる。最初の段階でパイプラインはどのJPEG圧縮された色調（CMYK）層も拡張し、二つのグループ４ファックス圧縮された２値レベルデータ流のいずれをも拡張する。二つの流れは黒色層（PECが実際のカラーを不可知で、この２値層が出力インクのいずれかに向けられるのであるけれど）と色調ディザリング（以下を参照）のためディザーマトリクス間を選択するつや消しである。第二段階で最初と並行にIRか黒色インクのいずれかに後で与えるためのタグが符号化される。最後に第三段階は色調層をディザーし、作られた２値のディザーされた層に対し位置タグと２値のスポット層を合成する。データの流れは印刷ヘッドのオーバーラップするセグメントを通して滑らかな遷移を作り出すよう理想的に調整され、理想的には印刷ヘッドの死んだノズルに対し補償するよう調整される。２値データの６チャンネルまでがこの段階から作り出される。すべての６チャンネルが印刷ヘッドに存在するわけではないことに留意すべきである。たとえば、印刷ヘッドはCMYだけであってもよく、KがCMYチャンネルに押し込められ、IRが無視される。あるいは、IRインクが利用できない場合（あるいは試験目的のために）位置タグはKに印刷することができる。得られた２値CMYK-IRドットデータはバッファされ、一連のラインバッファ（以下参照）を経て印刷ヘッド３３上に印刷するためフォーマット化される。これらのラインバッファの多くはオフチップDRAM３４上に理想的に記憶されことができる。最終段階は印刷ヘッドインタフェース３２を経て２値ドットデータの６チャンネルを印刷する。
【００２７】
圧縮がPECを用いる印刷システムにおいて用いられる。これはホストとPEC間の帯域要求を低減し、同時にページ記憶のメモリ要求を低減する。２６７ppiで色調CMYKデータのレターサイズのページは２５MBの大きさをもつ。JPEG（以下参照）のような消失性色調圧縮アルゴリズムを用いると、色調画像は著しい品質低下無しに１０：１までの比率で圧縮し、２.５MBの圧縮されたページサイズを与える。８００dpiで２値データレターサイズページは７MBの大きさを持つ。テキスト文書のようなコヒーレントなデータは非常によく圧縮する。グループ４ファクシミリ（以下参照）のような損失のない２値圧縮アルゴリズムを用いると、１０ポイントのテキスト文書はおよそ１０：１も比率で圧縮して０.８MBの圧縮されたページの大きさになる。ディザーされるとCMYKの色調画像データのページは２値データで１１４MBからなる。以下に記述される２層に圧縮されたページ画像フォーマットは消失性JPEG色調画像圧縮と非消失性の２値レベルテキスト圧縮の相対強度を利用するものである。フォーマットは記憶するのに十分コンパクトなものであり、印刷中直接実時間で拡張するのに十分簡便なものである。テキストと画像は通常重ならないので、通常の最悪ケースでのページ画像サイズは２.５MB（すなわち画像のみ）であり、一方、通常の最善ケースのページ画像サイズ０.８MB（すなわちテキストのみ）である。絶対最悪ケースページ画像サイズは３.３MB（すなわち画像上のテキスト）である。平均的ページの四分の一が画像を含んでいると仮定すると平均のページ画像の大きさは１.２MBである。
【００２８】
グループ３ファクシミリ圧縮アルゴリズム（ANSI/ELA 538−1988、グループ４ファクシミリ装置のファクシミリ符号化企画と符号化制御機能、１９８８年８月参照）が遅い、雑音のある電話線を通る伝送に対し、２値レベルデータを損失なく圧縮するのに使用し得る。２値レベルデータは走査される白色の背景上の黒色テキストと図形を表し、アルゴリズムは画像のこのクラスに対して微調整される（たとえば中間調２値画像に対してそれは明確には微調整されないものの）。IDグループ３アルゴリズムは各走査線を符号長（ランレングス）符号化し、次に生成されたランレングスをハフマン（Huffman）符号化する。０から６３の範囲の符号長は終端（terminating）符号で符号化される。６４から２６２３の範囲の符号長はそれぞれが複数の６４の符号長を表し、その後に終端符号が続くメークアップ符合で符号化される。２６２３を超える符号長は後に終端符号が続く複数のメークアップ符号で符号化される。ハフマンの表は固定されるが、黒と白の長さに対して別々に微調整される（それが一般的である１７２８より大きいメークアップ符合を除く）。可能な場合、２Dグループ３アルゴリズムが前の走査線を参照して短い端のデルタ分（０、±１、±２、±３）として走査線を符号化する。デルタシンボルはエントロピー符号化である（したがってゼロデルタシンボルは１ビット長のみ、等々）。デルタ符号化されない２D符号化されたライン内の端部はランレングス符号化で接頭部（プレフィックス）によって識別される。１Dと２D符号化されたラインは別々にマークされる。１D符号化されたラインは実際に必要とされるか、されないかにかかわらず、デコーダが最小の画像劣化で回線雑音から復号できることを保証するように一定の間隔で生成される。２Dグループ３は６：１までの圧縮比を達成する（Urban,S.J.、“ファクシミリシステムの電子画像化の標準に関するレビュー”、電子画像ジャーナル（Journal of Electronic Imaging）Vol.1(1)、１９９２年１月５-２１ページ参照）。
【００２９】
グループ４ファクシミリアルゴリズム（ANSI/EIA 538-1988、グループ4ファクシミリ装置のファクシミリ符号化企画と符号化制御機能、1988年8月参照）は誤りのない通信回線（すなわち回線が真に誤りがないか、誤り訂正が低プロトコルレベルでなされる）に対する伝送のため２値データを消失することなく圧縮する。グループ４アルゴリズムは伝送が誤り無しと仮定しているので、１D符号化されたラインが誤り再生の一助として一定間隔でもはや生成されないという本質的修正を持つ２Dグループ３アルゴリズムに基づいている。グループ４はテスト画像のCCITTセットに対し20：1から60：1の範囲の圧縮比を達成する。グループ４圧縮アルゴリズムの設計目標と性能は２値層に対する圧縮アルゴリズムとしてその適格性を示す。しかしながら、そのハフマン表が低走査分解能（100‐400dpi）に微調整され、それが2623を超える符号長を不器用に符号化する。800dpiで我々の最大符号長は現在6400である。グループ４のデコーダのコアがPECの使用に利用可能であるけれど、それは400dpiのファクシミリ応用において通常遭遇するものを超える符号長を扱えないので、修正が必要である。（典型的には1600dpi）黒色層はG4ファックスを用いて10：1を超える典型的な圧縮比で消失なく圧縮される。色調カラー層に適合する（典型的には320dpi）ディザーマトリクス選択層はG4ファックスを用いて50：1を超える典型的圧縮比で消失なく圧縮される。
【００３０】
グループ４ファックス（G４ファックス）のデコーダは２値データを解凍することに関与する。２値データは単一のスポット色（テキストと線図形に対する典型的な黒色）に制限され、また（JPEGデコーダで解凍された）色調データの次のディザーリングに使用するためのディザーマトリクス選択ビットマップに制限される。G４ファックスデコーダへの入力は外部DRAMから読み出される２値レベルデータの２平面である。G４ファックスデコーダの出力は解凍された２値データの２平面である。解凍された２値レベルデータは印刷するパイプラインの次段階のため中間色調／合成ユニット（HCU）へ送られる。二つの２値レベルバッファはG４ファックスデコーダとHCU間の２値データを転送する手段を提供する。各々の解凍された２値層は二つのラインバッファへの出力である。各バッファは期待される最大の分解能でドットの全12インチラインを保持することができる。２ラインバッファを持つことは他のラインがG４ファックスデコーダで書きこまれている間に一ラインがHCUで読み出されることを許容する。これは単一の２値ラインが典型的に1600dpi以下で，したがってドットとラインの両方の次元に拡張されなければならないため重要である。バッファリングが全ライン分より少ないとG４ファックスデコーダは同じラインを複数回‐各出力600dpiドットラインに対して１回復号しなければならない。
【００３１】
スポットカラー１は出力画像の単一カラー面に対し高分解能ドットデータを許容するよう設計される。色調層が画像に対し十分な分解能を提供するのに対し、スポットカラー１はテキストと線図形（典型的に黒色）のような応用に向けられている。テキストと線図形に用いられるとき、典型的圧縮比は10：1を超える。スポットカラー１は最大の印刷品質に対し１６００dpiまでの可変の分解能を可能にする。したがって２ラインバッファーの各々は全体で2400バイト（12インチ×1600dpi＝19200ビット）である。
【００３２】
ディザーマトリクス選択マップの分解能は理想的に色調分解能に適合すべきである。その結果、２ラインバッファのそれぞれはしたがって１２インチを３２０dpiで記憶することができる４８０バイト（（3840ビット）である。マップが色調分解能に適合するとき、典型的圧縮比は50：1を超える。
・８００dpiスポットカラー１層（典型的には黒色）
・３２０dpiディザーマトリクス選択層
をサポートするために、解凍帯域要求は１秒あたり１ページの性能に対し、９.０５MB/sec（ページ幅が１２インチか８.５インチかにかかわらず）で、最大のプリンタ速度性能(1秒あたり30,000ライン)をだしている間１２インチと８.５インチページ幅に対しそれぞれ２０MB/secと１４.２MB/secである。解凍されたデータがラインバッファへの出力とするとG４ファックスデコーダは出力の各々から一度に１ラインずつ容易にラインを解凍する。
【００３３】
G４ファックスデコーダはDRAMインタフェースを経て主メモリから直接供給される。圧縮量が外部DRAMへの帯域要求を決定する。G４ファックスが消失無しであるから、画像の複雑さがデータの量、したがって帯域に影響を与え、典型的に800dpiの黒色テキスト・図形層が10：1の圧縮を超え、従って１秒あたり１ページを印刷するのに要求される帯域は０.７８MB/secである。同様に、典型的な320dpiディザー選択マトリクスは50：1以上で圧縮し０.０２５MB/secの帯域を生じる。ディザー選択マトリクスの320dpiとスポットカラー１の800dpiの最も速い速度の形態はそれぞれ１.７２MB/secと０.０５６MB/secの帯域を必要とする。したがって２MB/secの全帯域はDRAM帯域に対し十分以上であるべきである。G４ファックスの復号機能はG4ファックスデコーダコアによって実現される。広い範囲のG４ファックスデコーダコアが適している：それは要求される計算と制御機能を十分早く実施する十分な処理能力を持ついかなるコアでもよい。それは400dpiファクシミリ応用において通常遭遇するものを超える符号長を扱うことができなければならず、したがって修正を要してもよい。
【００３４】
JPEG圧縮アルゴリズム（ISO/IEC 19018-1:1994、情報技術−連続色調の静止画像のデジタル圧縮と符号化：要求とガイドライン、1994参照）は決められた品質レベルで色調画像を消失的に圧縮する。それは5：1以下の圧縮比で感知できない画像劣化を、そして10：1以下の圧縮比で無視し得る画像劣化をもたらす（Wallace, G. K. "JPEG静止絵圧縮標準“ACMの通信、Vol.34, No.4. 1991年4月、30−44ページ参照）。JPEGは輝度と色彩を別のカラーチャンネルに分離するカラー空間に画像を典型的にまず変換する。これは色彩に対してより輝度に対して人間の視覚システムが相対的に大きい感度を持っているため、色彩チャンネルを評価しうるほど消失することなくサブサンプルされることを許容する。この第一ステップの後、各カラーチャンネルは別々に圧縮される。画像は8x8ピクセルブロックに分割される。各ブロックは次にディスクリートコサイン変換（DCT）を経て周波数領域に変換される。この変換は画像エネルギーを相対的に低い周波数係数に集中させる効果をもち、そのことは高い周波数係数がより雑に量子化されることを許容する。この量子化はJPEGにおける圧縮の主要プログラムである。更に、圧縮は隣接のゼロ係数の見込みを最大にするよう係数を周波数で並べることによって達成され、次にランレングス-符号化はゼロが続く。最後に、ランレングスと非ゼロの周波数係数がエントロピー符号化される。解凍は圧縮の逆の処理で行われる。
【００３５】
CMYK（またはCMY）色調層はプレーナカラーのJPEGバイトストリームに圧縮される。輝度／色彩の分離が、すなわち表の共有のため、あるいは色彩のサブサンプリングのために必要と思われる場合、CMYKはYcrCbに変換され、CrとCbは正しくサブサンプルされる。JPEGのバイトストリームは完全なものとなり、自己包含される。それは量子化とハフマン表を含む解凍に必要とされるすべてのデータを含む。JPEGデコーダは色調データ層の活動中の解凍を実行することに関与する。JPEGデコーダへの入力は色調データの４面までである。これはCMY色調画像を表す典型的に３面であるか、CMYKの色調画像を表す４面である。各カラー面は典型的にはすべてのカラー面が同じ分解能をもつけれど、別々の分解能でもありうる。色調層は外部DRAMから読み込まれる。JPEGデコーダの出力は各面に分離された解凍された色調データである。解凍された色調画像は印刷するパイプラインにおける次の段階のため中間色／合成ユニット（HCU）２９へ送られる。４面のバッファはJPEGデコーダとHCU２９の間の色調データを遷移させる手段を提供する。
【００３６】
解凍された色調データの各カラー面は二つのラインバッファ(以下参照)のセットに出力される。各ラインバッファは３８４０バイトで、したがって単一カラー面のピクセルの１２インチを３２０ppiに保持することができる。ラインバッファすることは他のラインバッファがJPEGデコーダによって書き込まれている間に１ラインバッファがHCUで読み出されることを許容する。これは単一の色調ラインが典型的には１６００ppiより少ないため重要なことであり、したがってドットとラインの両方の次元で拡張されなければならない。バッファリングが全１ランより少なかったら、JPEGデコーダは同じラインを複数回−各出力６００dpiのドットラインに対して１回デコードしなければならない。さまざまな分解能が実現されるであろうが、分解能と利用可能な帯域の間でトレードオフが必要である。分解能とカラー数が増加すると帯域要求もまた増加する。更に、PECチップによって目標とされているセグメント数もまた帯域と実現可能な分解能に影響を与える。色調画像がプレーナフォーマットで処理されるので、各カラー面は異なる分解能（たとえばCMYはK面より高分解能となる）で記憶されることができることに留意すべきである。最も高く提供される色調分解能は１６００ppi (プリンタの最大ドット分解能に適合する)である。しかしながら、そこには色調ピクセルを１２インチの長さの３２０ppiに対し十分保持するために十分な出力ラインバッファメモリがありさえすればよい。出力の全１２インチがより高い色調分解能で要求されるなら、プリンタの最終出力が依然として２値であるのみであることに留意されなければならないが、複数のPECチップが必要とされるであろう。４面を３２０ppiで実現する場合、解凍出力帯域要求は毎秒１ページの性能(ページ幅が１２インチであるか８.５インチであるかにかかわらず)に対して４０MB/secであり、最大のプリンタ速度性能(毎秒30,000ライン)で１２インチと８.５インチのページ幅に対しそれぞれ８８MB/secと６４MB/secである。
【００３７】
JPEGデコーダはDRAMインタフェースを経て主メモリから直接データが供給される。圧縮量が外部DRAMへの帯域要求を決める。圧縮のレベルが上がるにつれ、帯域は下がるが、最終出力画像の品質もまた低下する。単一カラー面のDRAM帯域は圧縮率を出力帯域に適用することによって容易に計算することができる。たとえば、圧縮比10：１を持つ３２０dpiの単一カラー面は毎秒１ページを生成するのにDRAMへ１MB/secでアクセスする必要がある。JPEG機能はJPEGコアで実現される。さまざまなJPEGコアが適している：それは要求される計算と制御機能を十分早く実行することのできる十分な処理能力を持ついかなるJPEGコアでもよい。たとえば、BTG X-Matchコアは最大印刷速度(毎秒1600dpiで30,000ライン)で400ppiまでの色調分解能で４カラー面の解凍を可能にし、１ページ/secに対し800ppiを可能にする。コアはより汎用のJPEG圧縮/解凍コアによって取り込まれる要求を低減して解凍をサポートするのみに必要とされていることに留意すべきである。コアの大きさは100,000ゲート以上にはならないことが期待される。回答されたデータがラインバッファへの出力であるとすると、JPEGデコーダは各カラー面の全体のラインを一度に容易に解凍することができ、したがって１ライン中の文脈切り替えを少なくし、JPEGデコーダの制御を簡略化することができる。４つの文脈は維持されなければならず(各カラー面に対し１文脈)、それは適切なJPEGパラメータ同様、外部DRAMの現アドレスを含むものである。
【００３８】
図４において中間色調/合成ユニット（HCU）２９は色調(典型的にCMYK)層を同じものの２値バージョンに中間調化し、適当な中間調色調層に対しスポット１,２値層を合成する機能を結合するものである。プリンタにKインクがない場合、HCU29は適切にKをCMYにマップすることができる。それはまたディザーマトリクス選択マップの対応する値に基づいてピクセルごとに二つのディザーマトリクスの間を選択する。HCU２９への入力はバッファ３７を通る拡張された色調層（JPEGデコーダユニットからの）、バッファ３８を通る拡張された２値スポット１層、バッファ３９を通る色調層と典型的に同じ分解能で拡張されたディザーマトリクス選択ビットマップ、そしてバッファ４０を通るフルのドット分解能におけるタグデータである。HCU２９からの４１におけるラインローダ/フォーマットユニット(LLFU)への出力は６面までのカラー面におけるプリンタ分解能２値画像ラインのセットである。典型的には色調層はCMYKかCMYで２値スポット１層はKである。
【００３９】
図５においてHCUがより詳細に示される。一度開始されると、HCUはそれがページの端状態を検出するまで、あるいはその制御レジスターを経て明白に止められるまで処理を進める。HCUの最初の仕事はスケールユニット４３のような対応するスケールユニットにおいて、４２のようなバッファプレーンで受信されるすべてのデータを横と縦の両方のプリンタ分解能に大きさをあわせることである。
【００４０】
スケールユニットは色調データあるいは２値データを横と縦の両方向にプリンタ分解能まで大きさをあわせる手段を提供する。スケーリングは両次元においてデータの値を回数の整数に反復再生することによって達成される。データをスケールする処理は技術に習熟したものにはなじみのものである。
【００４１】
二つの制御ビットがマージンユニット５７によってスケールユニット４３へ与えられる：アドバンスドットとアドバンスライン。アドバンスドットビットはステートマシーンが同じドットデータの複数のインスタンスを生成することを可能にする（ページマージンとプリントヘッドの重なる部分に対してドットデータを作り出すのに有益である）。アドバンスラインビットはドットの特定ラインが終わったときにステートマシーンを制御することを可能にし、それによってプリンタマージンにしたがってデータを切り詰めることを可能にする。それはまたスケールユニットを特別のラインの終わり論理を要求することの手間を省く働きをする。スケールユニットへの入力はフルラインバッファッである。ラインはスケールファクターの倍数がラインの反復再生を経て縦の上方スケーリングを有効にするのに用いられ、各ライン内で各値はスケールファクターの倍数がピクセルの反復再生を経て横方向の上方スケーリングを有効にするのに用いられる。入力ラインが一度スケールファクターの倍数に用いられる (アドバンスラインビットがスケールファクターの倍数に設定される)とアドレスの入力バッファ選択ビットがトグルされる（二重バッファリング）。スケールユニットの論理はスケールユニットがアドレスを生成するだけであるので、８ビットと１ビットのケースで同じである。
【００４２】
色調層の各々は異なる分解能でありうるので、それらは独立にスケールされる。バッファ４５の２値スポット１層とバッファ４６のディザーマトリクス選択層もまたスケールされる必要がある。バッファ４７の２値タグデータは正しい分解能で構築され、スケールされる必要がない。スケールアップされるディザーマトリクス選択ビットはディザーマトリクスアクセスユニット４８によって２つのディザーマトリクスから単一の８ビット値を選択するのに用いられる。８ビット値は四つのコンパレータ４４への出力と、それを特定の８ビット色調値に単に比較するだけのコンパレータ４９から５１への出力である。実際のディザーマトリクスの生成は印刷ヘッドの構造に依存し、それによってマトリクスを生成することが当該技術において習熟したものになじみのものである一般的処理に依存する。色調値が８ビットディザーマトリクス値より大きいか等しければ、１が出力される。そうでなければ、０が出力される。これらのビットは次にマージンユニット５７からのインページビット(特定のドットがページの印刷可能領域内であるかどうか)を用いて５２から５６においてすべてANDされる。HCUの最終段階は合成段階である。６つの出力層の各々に対し、それぞれ６入力を持つユニット５８のような一つのドットマージャユニットがある。各ドットマージャユニットからの一つの出力はいずれかまたはすべての入力ビットの組み合わせである。これはスポットカラーがいずれかの出力カラー面(試験目的のための赤外を含む)に置かれることを可能にし、黒色がシアン、マジェンダおよびイエローにマージされることを可能にし(黒色インクが印刷ヘッドになければ)、そしてタグドットデータが可視面に置かれることを可能にする。フィクサティブカラー面はまた容易に生成されることができる。ドット再構成ユニット(DRU)５９は出力がセグメント順に、そしてセグメント内のドット順になるよう生成されたドットストリームを与えられたカラー面に持ってきてそれを３２ビットの量に構成する働きをする。最小の最順序化がオーバーラップするセグメントに対するドットがセグメント順に生成されないと言う事実により必要とされる。
【００４３】
２つの制御ビットがマージンユニット５７によってスケールユニットに与えられる：アドバンスドットとアドバンスライン。アドバンスドットビットはステートマシンを同じドットデータの複数のインスタンス（ページマージンに有益で、印刷ヘッドにおいてオーバーラップするセグメントに対しドットデータを作る）を生成させるようにする。アドバンスラインビットはステートマシンをドットの特定ラインが終了されるとき制御可能にし、それによって印刷マージンにしたがってデータの切り詰めを可能にする。それはまた、スケールユニットが特別のライン終端ロジックを必要とすることを省略する。
【００４４】
コンパレータユニットは単一の８ビット“以上または等価”コンパレータを含む。それは８ビットの色調値が８ビットのディザーマトリクス値より大きいか、等しいかを決定するのに用いられる。そのようにコンパレータユニットは二つの８ビット入力をとり、一つの１ビット出力を発生する。
【００４５】
図６においてドットマージャユニットのより詳細が示される。それは２値のディザーされたデータ、スポット１カラーおよびタグデータを実際の印刷ヘッドの出力インクにマッピングする手段を与える。各ドットマージャユニットは６つの１ビット入力を取り、そのカラー面に対し出力ドットを表す単一のビット出力を作る。６０における出力ビットは入力ビットのいずれかまたはすべての入力ビットの組み合わせである。これはスポットカラーがいずれかの出力カラー面に置かれることを可能にし（試験目的のための赤外を含む）、黒色がシアン、マジェンダ、およびイエローにマージされることを可能にし（印刷ヘッドに黒色インクがない場合）、そしてタグドットデータが可視面に置かれることを可能にする。フィクサティブに対する出力はすべての入力ビットを単に結合するだけで容易に生成されることができる。ドットマージャユニットは６入力ビットに対するマスクとして用いられる６ビットカラーマスクレジスタを含んでいる。入力ビットの各々は対応するカラーマスクレジスタビットでANDされ、結果の６ビットは次に最終の出力ビットを形成するようORされる。
【００４６】
図７において、出力がセグメント順に、そしてセグメント内でドット順になるよう生成されたドットストリームを与えられたカラー面に対し取り出し、それを３２ビットの寮に構成する働きをするドット再構成ユニット(DRU)が示される。最小の最順序化がオーバーラップするセグメントに対するドットがセグメント順に生成されないと言う事実により必要とされる。DRUは３２ビットのシフトレジスタと通常の３２ビットレジスタおよび通常の１６ビットレジスタを含んでいる。５ビットカウンタがそこまで処理されたビットの数を追跡する。ディザーマトリクスアクセスユニット（DMAU）からのドットアドバンス信号はどのビットが出力されるべきかをDRUに指示する。
【００４７】
図７においてレジスタ(A)６２はサイクルごとにクロックされる。それはドットマージャユニット(DMU)によって生成される最も直近のドットを含む。前３２ビットの値は簡易な５ビットカウンタを経てDRUステートマシン６４によって生成される書き込み可能信号によって３２サイクルごとにレジスタ(B)に転写(コピー)される。レジスタ(B)６３からの１６の奇数ビット(ビット１，３，５，７、等々)は同じ書き込み可能パルスでレジスタ(C)６５に転写される。次に３２ビットのマルチプレクサ６６はステートマシンからの２ビットに基づいて次の３出力の間を選択する。
・レジスタBからの全３２ビット
・レジスタAの１６の偶数ビット(ビット０，２，４，６、等々)から作られる３２ビット値とレジスタBの１６偶数ビット。レジスタAからの１６偶数ビットがビット０から１５を形成し、一方レジスタBからの１６偶数ビットがビット１６から３１を形成する。
・レジスタBの１６の奇数ビット(ビット１，３，５，７、等々)とレジスタCの１６ビットから作られる３２ビット値。レジスタCのビットはビット０から１５を形成し、レジスタBからの奇数ビットが１６から３１を形成する。
DRUに対するステートマシンは表１に示される。それはステート０で始まる。それは３２サイクルごとにステートを変える。３２サイクル中、単一のノーオーバーラップビットがそれら３２サイクルに対するすべてのドットアドバンスビットのANDを収集する(ノーオーバーラップ＝サイクル０のドットアドバンスで、次にノーオーバーラップ＝ノーオーバーラップとサイクル１から３１のドットアドバンスをANDしたもの)。
【００４８】
【表３】
0004694086.tif 000004
【００４９】
図５におけるマージンユニット（MU）５７はディザーマトリクスアクセスユニット（DMAU）４８からのアドバンスドットとアドバンスライン信号を現在のページのページマージンに基づく一般の制御信号に切り替える働きをする。MUはページを通してドットとラインのカウンターを保持する。いずれもページの始まりでは０にセットされる。ドットカウンタはMUがDMAUからドットアドバンス信号を受けるごとに１だけ進められる。MUがDMAUからラインアドバンス信号を受けるとき、ラインカウンタは増加され、ドットカウンタは０にリセットされる。サイクルごとに現在のラインとドットの値はページのマージンと比較され、適切な出力ドットアドバンス、ラインアドバンスおよびマージン内信号がこれらのマージンに基づいて与えられる。DMAUはHCU対する実質的なメモリ要求のみを含んでいる。
【００５０】
図８においてラインローダ/フォーマットユニット（LLFU）が示される。それはHCUからのドット情報を受信し、与えられたプリントラインのドットを適切なバッファ記憶（あるときはチップ上に、あるときは外部DRAM３４内に）ロードされ、そして印刷ヘッドに要求される順にそれらをフォーマット化する。その外部インタフェースによってLLFUの高いレベルのブロックダイアグラムが図９に示される。LLFUへの入力６７はすべてHCUで生成される６つの３２ビットワードのセットとデータバリッドビットである。出力６８は６色の最大１５印刷ヘッドセグメントを表す９０ビットのセットである。すべての出力ビットが妥当であるということはなく、いくつの色が実際に印刷ヘッドで用いられるかに左右される。
【００５１】
上に参照される印刷ヘッド上の噴射ノズル、二つのオフセットされた列のノズルの物理的配置は同じ色の奇数と偶数ドットが二つの異なるラインに対するものであることを意味する。偶数ドットはラインL用で、奇数ドットがL-２用である。更に一つの色のドットと他の色のドット間に多数のラインがある。同じドット位置に対する６つの色の面がHCUで一度に計算されるので同じドットが適切なカラーノズルの下に位置されるまでカラー面のそれぞれに対するドットデータを遅らせる必要がある。
【００５２】
各バッファラインの大きさは印刷ヘッドの幅に左右される。一つのPECが１５までの印刷ヘッドセグメントに対するドットを生成するので、したがって一つの奇数あるいは偶数バッファラインが９６００ビット(１２００バイト)全体に対し６４０ドットの１５セットである。たとえば、カラー６の奇数ドットに必要とされるバッファは全体でほぼ４５Kバイトである。
【００５３】
要求のバッファの全セットは製造技術が可能であればPECチップ上に与えることができる。さもなければ、カラー２以降のバッファは外部DRAMに記憶される。これはカラー面間の距離が将来変わるかも知れなくてもPECを正当化するものである。すべてがその特定のドットライン(追加のラインバッファは必要とされない)に対して印刷されるのでPEC上にカラー１に対する偶数ドットを保持することは些細なことである。更に、カラー１の奇数ドットをバッファするのに必要とされる二つのハーフラインは本質的にDRAM帯域を節約する。さまざまなラインバッファ（チップ上およびDRAM内の）はページがクリーンなエッジを持つよう印刷される前にすべて０にプリロードされる必要がある。ページの端はHCUによって自動的に生成され、その結果、それはクリーンエッジを持つ。
【００５４】
図１０において、カラーNのOESplit（図９のOesplit ７０参照）に関するブロックダイアグラムが示され、図９における二つのバッファEとF、７１，７２のそれぞれに対するブロックダイアグラムが図１０と１１に示される。バッファEFは図３の印刷ヘッドインタフェース（PHI）32へデータを送る２重バッファの機構である。したがってバッファEとFは同じ構造を持つ。ドットの一ラインを処理する時、二つのバッファの一つは他方が読み込まれている間、書き込まれる。二つのバッファはPHIからのライン同期信号を受信すると論理的に交換される。両バッファEとFは図１１に示されるように各カラーあたり１サブバッファで、カラー１サブバッファが７３と番号付けられる６つのサブバッファからなる。各サブバッファの大きさは２４００バイトで、セグメントあたり１２８０ドットで１５セグメントを保持するのに十分な大きさである。メモリは３２ビット一度にアクセスされ、したがって各サブバッファに対し６００アドレスがあるアドレスの１０ビットを必要とする）。すべての偶数ドットは各カラー用サブバッファの奇数ドットの前に置かれる。何らかの未使用スペース（１５セグメント以下の印刷に対し）がある場合、それは各カラーのサブバッファの終わりに置かれる。各サブバッファから実際に用いられるメモリの量はPECによって実際にアドレスされるセグメントの数に直接関係する。１５セグメントの印刷ヘッドに対し、未使用スペース無しで偶数ドットの１２００バイトがあり、奇数ドットの１２００バイトが続く。有利に用いられるサブバッファの数は印刷ヘッドに用いられるからの数に直接関係している。
【００５５】
バッファEとFの各々に対するアドレスデコーディング回路は与えられたサイクルにおいて単一の３２ビットアクセスがすべての６サブバッファに（すべての６からの読み込み、かまたは６の一つへの書き込み）なされる様なものである。当該プロセスは図１１に示される。アドレスの１５ビットは３２ビットを選択するのに用いられているアドレスの１０ビットによって特定のビットの読みだしを可能にし、アドレスの５ビットがそれら３２から１ビットを選定する。すべてのカラーサブバッファがこの論理を共有するので、一つの１５ビットアドレスはカラーあたり１ビットで、全部で６ビットの出力を与える。各サブバッファ７３から７８は与えられたサイクルで一つの３２ビット値を特定のカラーバッファに書き込まれるようにするそれ自身の書き込み可能（WriteEnable）ラインを持っている。個々の書き込み可能（WriteEnable）はカラー選択（ColorSelect）の復号された形式で単一の書き込み可能（WriteEnable）入力をANDすることによって生成される。ライン７９のデータ入力（DataIn）の３２ビットは一つのバッファのみが実際にデータの入力に同期（クロック）するので、共有される。
【００５６】
バッファEとFから読み出すためのアドレス生成は直接的である。各サイクルが特定のセグメントに対しカラーあたり1ビットを表す６ビットをとってくるのに用いられるビットアドレスを生成する。現在のビットアドレスに６４０を加えることにより我々は次のセグメントの等価なドットへ進む。我々は奇数と偶数のドットがバッファ内で分離されるので６４０（１２８０でなく）を加える。我々は偶数ドットを表すデータを取り込むようこのNumSegments倍数し、それらのビットをPHIへ送る。NumSegments=１５の時、ビットの数は９０（１５×６ビット）である。処理は次に奇数ドットに対して繰り返される。この全体の偶数/奇数生成処理は開始アドレスを毎回増加させながら６４０回繰り返される。したがってすべてのドット値が６４０×２×NumSegmentsサイクルにおいて印刷ヘッドによって要求される順にPHIへ移送される。NumSegments=15の時、サイクル数は19,200サイクルである。印刷ヘッドで実際に用いられるカラーの数に関係なく、6ビットが与えられた読み込みサイクルで（各カラーのバッファから１ビット）作られることに留意すべきである。
【００５７】
更に、我々は図９の90ビットのトランスファ（Transfer）レジスタ９０へ書き込むためTwriteEnable制御信号を生成する。LLFUがPHIの前にスタートするので我々はPHIからのアドバンスパルスの前に最初の値を移送しなければならない。我々はまた最初のアドバンスパルスに対し迅速に次の値を生成しなければならない。解は最初の値をNumSegmentsサイクル後トランスファレジスタに移送することで、そして次にNumSegmentsサイクルを後に止めて、次のNumSegmentsサイクルグループをスタートさせるアドバンスパルスを待つことである。一度最初のアドバンスパルスが到着すると、LLFUはPHIに同期される。一つのドットラインの対する読み込み処理は次の擬似コードで示される。
【００５８】
0004694086.tif 000005
読み込み処理がデータをEまたはFからPHIへ移送する間、書き込み処理は他バッファの次のドットラインを準備している。
【００５９】
EまたはFへ書かれているデータはHCUで生成されるカラー１データであり、バッファDからのカラー２−６データ（DRAMから供給される）である。カラー１データはHCUのアウトプットバリッドフラグがセットされる時はいつもEFに書かれ、カラー２−６データはレジスタCからの他の時間中に書き込まれる。
【００６０】
図９のバッファOE１８１はカラー１の隣接する３２ドットの一つのHCU生成セットを保持するのに用いられる。ドットがページ上で隣接している間は、奇数と偶数のドットは別々の時間に印刷される。
【００６１】
バッファAB８２はカラー１の奇数データを２ドットラインだけ遅らせる２重バッファ機構である。バッファAとBはしたがって同じ構造を持つ。ドットのラインの処理中、二つのバッファの一つは読み出されそして次に書き込まれる。二つのバッファは全体のドットラインが処理されると論理的に交換される。単一のビットフラグABSenseは二つのバッファのどちらが読み出され、書き込まれているかを決定する。
【００６２】
HCUは最初のフラグがラインに対して送られた後、各３２サイクルごとである出力バリッド制御フラグがセットされる時はいつもカラー１のデータの３２ビットを提供する。３２ビットは単一のドットラインに対し３２ドットの隣接するセット−１６の偶数ドット（ビット０，２，４、等々）と１６の奇数ドット（ビット１，３，５、等々）を定義する。出力のバリッド制御フラグはOE１レジスタ８１に対するWriteEnable制御として用いられる。我々はHCUデータを出力バリッド信号ごとに処理する。HCUカラー１データの１６の偶数ビットは偶数カラー１データの３２ビットを作るようレジスタOE？野１６の奇数ビットと組み合わされる。同様に、HCUカラー１データの１６奇数ビットは奇数カラー１データの３２ビットを作るようレジスタOE？の１６奇数ビットと組み合わされる。２のグループの第１出力バリッド信号の受信に際して、我々はバッファEF内の図１１に示されるカラー１、７３へ奇数データを移送するようバッファABを読む。２のグループの第２出力バリッド信号の受信に際して、我々が前に読んだバッファABの同じ場所に奇数データの３２ビットを書き込み、そして我々は偶数データの３２ビットをバッファEF内のカラー１へ書く。
【００６３】
HCUは出力バリッド制御がセットされている時はいつでもカラー面あたりのデータの３２ビットを提供する。これはあるスタートアップ時の間を除いて３２サイクルごとに生じる。３２ビットは単一のドットラインに対し３２ドットの隣接するセット−１６の偶数ドット（ビット０，２，４、等々）と１６の奇数ドット（ビット１，３，５、等々）を定義する。
バッファOE1（図１０の８３）がカラー１に対する単一の３２ビット値を記憶するのに用いられる間、バッファOE2からOE5はカラー２から６に対する単一の３２ビット値をそれぞれ記憶するのに用いられる。ちょうどカラー１に対するデータが６４サイクルごとに（二つの出力バリッドフラグが立つごとに）カラー１の奇数ドットを表す３２ビットとカラー１の偶数ドットを表す３２ビットに分割されるように、残りのカラー面はまた偶数と奇数ドットに分割される。
【００６４】
しかしながら、バッファEFへ直接書かれる代わりに、ドットデータはラインの数だけ遅らされバッファCD（図９の８４）を経てDRAMに書き出される。与えられたラインに対するドットがDRAMにかかれている間、前のラインのドットがDRAMから読み出され、そしてバッファEF（７１,７２）に書き込まれる。この処理はカラー１をバッファEFへ書き込む処理と多重化（interleaved）されて実行されなければならない。
【００６５】
出力バリッドフラグが図１０のライン８５上のHCUから受信されるごとに、カラーNデータの３２ビットはバッファOEN（８３）へ書き込まれる。二つ目の出力バリッドフラグごとに、組み合わされた６４ビットの値はカラーバッファN（８６）へ書き込まれる。これはすべてのカラー面２−６に対して並列で生じる。カラーバッファN（８６）は二つの完全なセグメントに対するドットが記憶されるよう６４ビットの４０セット（３２０バイト）を含む。これはDRAMへ書き出されるべき前のセグメントデータ（奇数と偶数の両ドット）に対する完全なセグメント生成時間（２０×６４=１２８０サイクル）を可能にする。書き込みに対するアドレス生成は直接的である。ライン８７上のColorNWriteEnable信号は２番目の出力バリッドフラグごとに与えられる。アドレスは０でスタートし、３９まで二番目の出力バリッドフラグごとに増加する。４０へ進む代わりにアドレスは０にリセットされ、こうして二重バッファの考え方を提供する。これは読み込みが出力バリッドフラグ中に生じない限り動作し、前のセグメントデータが単一のセグメントデータを生成するのにかかる時間内にDRAMに書き込まれることができる。処理は次の擬似コードで示される。
【００６６】
0004694086.tif 000006
読み込みのためのアドレス生成はそれがDRAMアクセスのためのタイミング（読み込みと書き込みの両方）、バッファEFアクセス、そしてそれゆえカラー１の生成に結びついているのでよりトリッキーである。それは以下により十分に説明される。
【００６７】
バッファＣ、Ｄ、Ｅ、Ｆ、およびカラーＮはＤＲＡＭアクセスのタイミングにすべて結び付けられており、バッファＥとＦに関し、カラー１処理と干渉してはいけない。基本原理はカラーＮの単一のセグメント（奇数か偶数ドットのいずれか）に対するデータがバッファＣＤを経てバッファＥＦへＤＲＡＭから転移される。データがＤＲＡＭから一度読み出されると、それらのドットはColorNBufferNの値に基づいて置き換えられる。これは奇数と偶数のドットにおけるカラーのそれぞれに対して実行される。ドットの完全なセグメントの値が蓄積した後（６４サイクルの２０セット）、次に処理は再開される。与えられたプリントラインのすべてのセグメントに対するデータがDRAMからそしてDRAMへ一度転移されると、そのカラーのDRAMバッファに対する現在のアドレスはカラーラインの特定のデータがDRAMから読み戻されるまでそれが適切な数のラインであるよう進められる。この観点でしたがって、DRAMはFIFOの形で動作する。その結果、カラーN（奇数か偶数のいずれか）がカラーN（同じ奇数/偶数の意味）をバッファCに複写している間、DRAMからバッファDに読み込まれる。データのバッファCへの複写は出力バリッドフラグが20転移中に生じているかどうかに依存して２０か２１サイクルをとる。一度両タスクが終わると（典型的にはDRAMアクセスがより遅いタスクであるが）、処理の二番目の部分が始まる。バッファCのデータはDRAM（ちょうど読み出されたと同じ場所）に書き込まれ、バッファDのデータがバッファEFへ複写される（再び、カラー１データが転送されているので出力バリッドフラグがセットされている間はカラーNデータのいずれもバッファEFに転送されない）。両タスクが終わると同じ処理はカラーN（奇数または偶数のいずれか）の他の意味に対し行われ、そして次に残りの他のカラーに対して行われる。全体の二重処理は１０回行われる。DRAMにおける現在のラインの各々に対するアドレスは次のラインの処理に対して始まるよう更新される。
【００６８】
帯域に関し、ドットデータバッファに対するDRAMアクセスはPECからのすべてのDRAMアクセスの大多数を消費する。各プリントラインに対し、我々はカラー２-６対する全体のドットラインを読み出し、カラー２-６に対する全体のドットラインを書き出す。１５セグメントの最大に対し、これはプリントラインあたり２×５×１５×１２８９ビット=192,000ビット（24,000バイト）に等しくなる。最も早い印刷システム（毎秒30,000ライン）に対し、これは687MB/secに等しくなる。毎秒1ページの印刷に対し、必要とされる帯域は３12MB/secである。帯域が非常に高いので、DRAMの各カラーに対し、さまざまなハーフラインのアドレスが用いられるメモリのタイプに対して最適化される。たとえばRDRAMメモリシステムでは第一番目のハーフラインバッファはDRAMアクセス上のページヒットを最大にするよう各カラーに対して1KBの制約に調整される。さまざまなセグメントが処理されるので、次のセグメントの開始が1Kバイトページ内でバイト９６０に調整されようとするなら640ビットのアクセスは2ページにわたるであろうことを保証する必要がある。したがって可変のDRAMMaxValがこの場合をチェックするのに用いられ、それが起これば、アドレスはページ調整される次のハーフラインバッファに対して丸められる。その結果、無駄は13セグメントあたり64バイトのみであるが、単一のページ内で完全に640ビットアクセスの得をする。
【００６９】
アドレス生成処理は20×3２ビットの読みと、続く20×32ビットの書き込みからなる10セットのNumSegmentsの価値と考えられ、それは次の擬似コードに示される。
【００７０】
0004694086.tif 000007
0004694086.tif 000008
MaxHalfColorsのレジスタは別々に扱われるがカラー１を含まない奇数と偶数のカラーによってカラーの数より一つ少ないことに留意しなければならない。たとえば、標準の６色印刷システムに関し、１０有り（奇数と偶数でカラー２−６）、したがってMaxHalfColorsは9に設定されるべきである。
【００７１】
LLFUは２NumSgmentsのサイクルがPHIに対し最初の180ビットを準備するよう要求する。その結果印刷ヘッドは開始され、LLFUが開始した後、最初のライン同期パルスがこの時間間隔を発生しなければならない。これは最初のトランスファ値が正当であるようにし、次の９０ビット値がトランスファレジスタにロードされる用意があるようにする。
【００７２】
印刷ヘッドインタフェース（PHI）はプロセッサーが印刷ヘッドに印刷されるドットをロードし、実際のドット印刷処理を制御する手段である。それはLLFUから入力を取り、印刷ヘッド自身にデータを出力する。PHIはさまざまな印刷ヘッド長とフォーマットを扱うことができる。PHIの内部構造は最大６色、トランスファあたり８セグメント、そして最大２セグメントグループを可能にする。これはA4/レターサイズをフルブリードで印刷することのできる１５セグメント（８.５インチ）に対して十分であるはずである。
【００７３】
明細書全体の目的は本発明をいずれか一つの実施例または特徴の個々の集団に限定することなく本発明の好適実施例を記述することであった。当業者は本発明の範囲内にいずれにせよ含まれる個々の実施例からの応用を実現することができる。
【図面の簡単な説明】
【図１】  データフローと印刷用エンジンコントローラによって実施される機能を示す図である
【図２】  全体の印刷システムアーキテクチャに関連した印刷用エンジンコントローラを示す図である。
【図３】  印刷用エンジンコントローラのアーキテクチャを示す図である。
【図４】  図３の中間色調器／画像信号合成ユニット（HCU）への外部インタフェースを示す図である。
【図５】  図４のHCUへの内部回路を示す図である。
【図６】  図５のドットマージャーユニット内の工程を示すブロック図である。
【図７】  図５のドット再構成ユニット内の工程を示す図である。
【図８】  図５のラインローダ／フォーマットユニット（LLFU）内の工程を示す図である。
【図９】  図８のLLFUにおいてカラーデータを発生させる内部回路を示す図である。
【図１０】  図９のLLFUの構成品を示す図である。
【図１１】  図９のLLFUの構成品を示す図である。
【符号の説明】
１…上のビット、６…低位ビット、１０…印刷エンジンコントローラ、１２…メモリバッファ、１５…メモリバッファ、１６…ページエキスパンダ、２３…印刷ヘッド、２４…メモリバッファ、２５…マスターチップ、２６…QAチップ、２７…高速シリアルインタフェース、２８…デコーダ、２９…中間色調器／合成器、３１…ラインローダーフォーマッタ、３２…印刷ヘッドインタフェース、３３…印刷ヘッド、３４…DRAM、３５…マイクロコントローラCPUコア、３６…シリアルインタフェース、３７、３８…バッファ、３９…デコーダ、４０…２値タグFIFO、４２…色調バッファ面、４３…スケールユニット、４４…コンパレータ、４５、４６…バッファ、４７…２値タグFIFO、４８…ディザーマトリクスアクセスユニット、５７…マージンユニット、５８…ドットマージャ、５９…ドット再構成ユニット、６０…OR、６１…ビット、６２、６３…レジスタ、６４…ステートマシン、６５…レジスタ、６７…ドットデータの６面、６８…印刷ヘッドインタフェース、６９…PHI、７０…OEスプリット、７９…データ入力オンライン、８１…OE1レジスタ、８３…ビット幅、８５…HCUオンライン、８６…カラーバッファN、８７…カラーN書き込み可能、９０…トランスファレジスタ、９１…並列インタフェース。
【図１】
0004694086.tif 000009
【図２】
0004694086.tif 000010
【図３】
0004694086.tif 000011
【図４】
0004694086.tif 000012
【図５】
0004694086.tif 000013
【図６】
0004694086.tif 000014
【図７】
0004694086.tif 000015
【図８】
0004694086.tif 000016
【図９】
0004694086.tif 000017
【図１０】
0004694086.tif 000018
【図１１】
0004694086.tif 000019