JP4546697B2 - Ink drop printer - Google Patents

Ink drop printer Download PDF

Info

Publication number
JP4546697B2
JP4546697B2 JP2002506942A JP2002506942A JP4546697B2 JP 4546697 B2 JP4546697 B2 JP 4546697B2 JP 2002506942 A JP2002506942 A JP 2002506942A JP 2002506942 A JP2002506942 A JP 2002506942A JP 4546697 B2 JP4546697 B2 JP 4546697B2
Authority
JP
Japan
Prior art keywords
page
data
print
printhead
dot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002506942A
Other languages
Japanese (ja)
Other versions
JP2004501011A (en
Inventor
サイモン, ロバート ワルムズリー,
ポール ラプスタン,
Original Assignee
シルバーブルック リサーチ ピーティワイ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シルバーブルック リサーチ ピーティワイ リミテッド filed Critical シルバーブルック リサーチ ピーティワイ リミテッド
Publication of JP2004501011A publication Critical patent/JP2004501011A/en
Application granted granted Critical
Publication of JP4546697B2 publication Critical patent/JP4546697B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/52Circuits or arrangements for halftone screening
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3871Composing, repositioning or otherwise geometrically modifying originals the composed originals being of different kinds, e.g. low- and high-resolution originals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
(技術分野)
本発明は、プリントヘッドを駆動する際に数多くのプリント機構/制御装置とともに動作するように適応されたプリント機構/制御装置に、及び複数のプリント機構/制御装置により駆動されるプリントヘッドに係わる。
【0002】
(背景技術)
従来の技術では、単一のプリント機構/制御装置が単一のプリントヘッドを制御する。しかしながら、この解決策は、さらに幅広いフォーマットのプリントヘッド、高解像度入力画像、またはさらに高速の印刷に十分にスケールしない。幅広いフォーマットのプリントヘッドの場合、制御装置チップは、現在ではそれぞれがさらに長い同数の印刷行を印字するためにさらに高速で実行するように作られなければならない。または、プリントヘッドがさらに高速で実行しなければならない場合は、印刷制御装置はさらに高速のクロック速度で実行されなければならない。あるいは入力画像の解像度がさらに高い場合には、それがさらに高い解像度であるため実際にさらに大きな入力画像を処理するために、制御チップは、さらに多くのバッファを内蔵するか、さらに高速で実行するか、あるいはその両方でなければならない。
【0003】
画像が、ドットフォーマットでページに選択的に適用されるインクから構築される一連のプリンタ種類が進化してきた。発明者キア シルバーブルック(Kia Silverbrook)に対する「モノリシックプリントヘッド用自動位置合わせ構造及び製造プロセス」と題される米国特許番号第6045710号では、その製造プロセスとともにドロップオンデマンドプリンタに対する従来の技術の評価が述べられている。
【0004】
本発明に関係する多様な方法、システム及び装置は、2000年5月24日に本発明の出願人または譲受人によって提出された以下の同時係属出願に開示されている:
PCT/AU00/00518, PCT/AU00/00519, PCT/AU00/00520, PCT/AU00/00521, PCT/AU00/00523, PCT/AU00/00524, PCT/AU00/00525, PCT/AU00/00526, PCT/AU00/00527, PCT/AU00/00528, PCT/AU00/00529,PCT/AU00/00530 PCT/AU00/005311,PCT/AU00/00532, PCT/AU00/00533, PCT/AU00/00534, PCT/AU00/00535, PCT/AU00/00536, PCT/AU00/00537, PCT/ATJ00/00538, PCT/AU00/00539, PCT/AU00/00540, PCT/AU00/00541, PCT/AU00/00542, PCT/AU00/00543, PCT/AU00/00544, PCT/AU00/00545, PCT/AU00/00547, PCT/AU00/00546, PCT/AU00/00554, PCT/AU00/00556, PCT/AU00/00557, PCT/AU00/00558, PCT/AU00/00559, PCT/AU00/00560, PCT/AU00/0056I, PCT/AU00/00562, PCT/AU00/00563, PCT/AU00/00564, PCT/AU00/00566, PCT/AU00/00567, PCT/AU00/00568, PCT/AU00/00569, PCT/AU00/00 570, PCT/AU00/00571, PCT/AU00/00572, PCT/AU00/00573, PCT/AU00/00574, PCF/AU00/00575, FCT/AU00/00576, PCT/AU00/o0577, PCT/AU00/00578, PCT/AU00/00579, Pcr/AU00/00581, PCT/AU00/00580, PCT/AU00/00582, PCT/AU00/00587, PCT/AU00/00588,PCT/AU00/00589, PCT/AU00/00583, PCT/AU00/00593, PCT/AU00/00590, PCT/AU00/00591, PCT/AU00/00592, PCT/AU00/00594, PCT/AU00/00595, PCT/AU00/00596, PCT/AU00/00597, PCT/AU00/00598, PCT/AU00/00516, PCT/AU00/005l7及びPCT/AU00/00511
これらの同時係属出願の開示は、ここに相互参照して組み込まれている。
【0005】
さらに、本発明に関係する多様な方法、システム及び装置は、本発明の出願人または譲受人によって同時に提出された以下の同時係属PCT出願に開示されている。つまり、PCT/AU00/第00755号、PCT/AU00/第00756号、及びPCT/AU00/第00757号である。
【0006】
これらの同時係属出願の開示は、ここに相互参照して組み込まれている。それぞれの出願は、その事件整理番号単位に仮に特定される。これは使用可能になると、対応するPCT出願番号で置換されるだろう。
【0007】
特に注記されるのは、これ以降MemJetプリントヘッドと呼ばれるミクロ電子機械ドロップオンデマンドプリントヘッドを記述する同時係属PCT出願番号特許出願PCT/AU00/第00591号、PCT/AU00/第00578号、PCT/AU00/第00579号、PCT/AU00/第00592号、及びPCT/AU00/第00590号である。
【0008】
Memjetプリントヘッドは、ページ幅全体で、例えば1600dpiの2層ドットの液体インクを生産できるプリントヘッドセグメントから開発される。ドットは容易に分離して生産され、分散ドットディザリングを完全に利用できるようにする。色平面は、完全に見当があった状態で印刷され、理想的なドットオンドット印刷を可能にすることができる。プリントヘッドは、ミクロ電子機械インクドロップ技術を使用する高速印刷を可能にする。
【0009】
さらに、同時係属PCT出願PCT/AU00/第00516号、PCT/AU00/第00517号、PCT/AU00/第00511号とPCT/AU00/第00755号、PCT/AU00/第00756号とPCT/AU00/第00757号が、前記に参照したページ幅プリントヘッドを駆動するのに適したプリント印刷機構/制御装置を記述する。
【0010】
単一のプリント機構/制御装置(PEC)チップは、前記に参照したタイプのプリントヘッドを駆動し、12インチのプリントヘッド上で320ppiの連続階調画像のディザリングされたバージョンを印刷できる。さらに高品質の出力のためにさらに高い解像度の画像を印刷できることが望ましい。プリントヘッドをさらに高速で実行できることが望ましい。
【0011】
(発明の概要)
本発明は、
圧縮されたページデータを受信するためのインタフェースと、
受信された圧縮済みページデータ内の圧縮された画面プレーンを復号するための画像デコーダと、
復号された画面のそれぞれのストリップを複合するためのハーフトナー/コンポジタと、
複合ストリップをプリントヘッドに出力するためのプリントヘッドインタフェースと、
プリントヘッドフォーマットデータを出力するマルチセグメントプリントヘッドインタフェース、及び
プリントヘッドでそのそれぞれのストリップを同期させるためのプリント機構/制御装置に結合するための同期信号を出力する同期信号発生器、
を含むプリントヘッドインタフェースと、
を備える、インクドットプリントヘッドを駆動するために他と結合されるように構成されるプリント機構/制御装置にある。
【0012】
Memjetプリントヘッドは、プリントヘッドの各セグメントに物理的な連結部があるマルチセグメントプリントヘッドである。例えば、Memjetプリントヘッドは、それぞれが単一のプリントヘッドセグメントを有する複数のチップから構築することができるか、あるいはそれぞれが複数のセグメントを含む複数のチップから構築することができる。両方のケースで配線は同じであり、両方のケースで論理接続性は同じである―つまり、複数のセグメントが1つのさらに幅広いプリントヘッドを形成するために結合する。
【0013】
有利なことに、本発明は、各々がページのストリップを担当し、すべてがマスタチップから同期している、マルチセグメントプリントヘッドを駆動するために同じプリント機構制御装置の複数のコピーを使用する。必要とされる用途に応じて、多岐に渡る構成を構築できる。例えば、12セグメントプリントヘッドを考えると、単一のプリント機構/制御装置(PEC)は、連続階調解像度320ppi及び最大行速度毎秒30,000行でプリントヘッド全体を実行するために使用できる。二倍の速度を達成する必要がある場合は、2個のPECがそれぞれ6セグメントを制御可能であり、依然として320ppi連続階調解像度で実行する。しかし、実質的な速度は倍増されている。同様に、連続階調解像度を640ppiに押し上げる必要がある場合、2個のPECは毎秒30,000行でプリントヘッドを実行できる。
【0014】
同時二重印刷のために同期も容易に使用できる。第1のPECがページの片側に12インチ(15のセグメント)を印刷する一方、第2のPECがページの第2側に印刷する。同期信号を出す単一のマスタチップがある限り、PECの組み合わせを達成できる。
【0015】
単一のプリントヘッドを複数のチップから駆動することは、さらに幅広いページ、さらに高速の印刷、さらに高い入力解像度、あるいは3つすべての組み合わせを生じさせるのに有利である。
【0016】
複数のPECを使用するためには、複数のPECに同じページを指定できる。その結果、さまざまなPECがページデータのストリップを処理し、さらに高速の時間及び/またはさらに高い解像度でページ全体を作成する。複数のPECからプリントヘッドにデータを送信する簡単な方法は、単にそれぞれのPECに指定された数のプリントヘッドセグメントを担当させることである。
【0017】
全体的なページ内のストリップのための個々のPECのプログラミングは、各PECのハーフトナー/コンポジタ内のマージン装置において組織化される。各プリント機構/制御装置内のタグエンコーダが、ページのストリップを処理することが可能で、タグ付きページが望ましいときに部分的なタグを作成できる。
【0018】
二重化された構成において、または16以上のMemjetセグメントから成り立つプリントヘッド構成のように、複数のPEGが同時に使用されるとき、それらは共用回線同期信号を介して同期される。外部のマスタ/スレーブピンを介して選択されるただ1つのプリントヘッド制御装置チップだけが、共用回線上に回線同期信号を発生させる。PECの内部は、他のPECと組み合わせてページの単一のストリップを印刷することを可能にする。これは、部分的なNetpageタグとページ記述の生成を含む。ただし、それぞれのPECに多様なストリップを正確に割り当てることは外部ページプロバイダの責任である。
【0019】
(発明の詳細な説明)
典型的には12インチのプリントヘッド幅は、A4ページとレターページ両方のfull−bleed印刷を可能とするために、後述されるように1つまたは複数のプリント機構/制御装置(PEC)により制御される。現在の印刷環境では、カラーインクの6つのチャネルが最大であると予想され、これらは、
・標準のカラー印刷用のCMY
・黒テキスト及び他の黒印刷用のK
・タグがイネーブルされた用途のためのIR(赤外線)
・高速での印刷を可能とするためのF(色留め)
である。
【0020】
プリンタは高速印刷が可能でなければならないため、次のページがさらに高速で印刷を完了する前にインクが乾くためには、フィクサティフが必要とされるだろう。それ以外の場合、ページは互いの上で裁ち切りに印刷される可能性がある。低速の印刷の状況ではフィクサティフは不必要である。
PECはプリントヘッドと接続するために単一のチップ内に構築される可能性がある。それは、以下の4つの基本的なレベルの機能性を含むだろう。
【0021】
・IEEE1394などのシリアルインタフェースを介して圧縮されたページを受信する。
【0022】
・圧縮形式からページを作成するためのプリント機構。該プリント機構の機能性は、ページ画像の拡大、連続階調層のディザリング、連続階調層の上での黒い層の複合、要すれば赤外線タグの追加、及び結果として生じる画像のプリンタヘッドへの送信を含む。
【0023】
・プリントヘッド及びステッピングモータを制御するための印刷制御装置。
【0024】
・2個のQAチップとの通信用の2つの標準低速シリアルポート。認証手順中の強力な機密保護を確実にするために、ただ1つのポートではなく、2つのポートが必要であることに注意する。
【0025】
図1では、コンピュータシステムから印刷されたページに文書を送信するためのデータの流れが示される。文書は11で受信され、ページレイアウトが達成されてよく、あらゆる必要とされるオブジェクトが追加される可能性があるメモリバッファ12にロードされる。メモリ12からのページは13でラスタライズされ、プリント機構制御装置10への伝送の前に14で圧縮される。ページはメモリバッファ15の中にプリント機構制御装置10内の圧縮されたページ画像として受信され、ページはメモリバッファからページ画像が検索されるページエキスパンダ16に送られる。必要なディザは、17で任意の連続階調層に適用される可能性がある。19の赤外線タグとともに、18で、任意の二層の黒い層が連続階調層の上に複合される可能性がある。複合されたページデータはページ21を作成するために20で印刷される。
【0026】
プリント機構/制御装置は圧縮されたページ画像を採取し、ページ拡大と印刷をパイプライン様式で開始する。メモリに相当の大きさの二層CMYK+IRページ画像を格納するのは実際的ではないため、好ましくは、ページ拡大と印刷はパイプラインされる。
【0027】
パイプラインの第1段階では、すべてを並行して、JPEG圧縮済み連続階調 CMYK層(以下参照)を拡大し、グループ4ファックス圧縮二層ディザマトリックス選択マップ(以下参照)を拡大する。これと同時に、タグエンコーダが、圧縮されたページ画像から二層IRタグデータを符号化する。第2段階では、ディザマトリックス選択マップにより選択されるディザマトリックスを使用して連続階調 CMYKをディザし、結果として生じる二層K層の上に二層の黒い層を複合し、IR層をページに追加する。フィクサティフ層も、Cチャネル、Mチャネル、Yチャネル、KチャネルまたはIRチャネルのどれかで必要がある場合は必ず各ドット位置に生成される。最後の段階では、プリントヘッドインタフェース(以下参照)を介し、プリントヘッドを通して二層CMYK+IRデータを印刷する。
【0028】
図2では、プリント機構/制御装置10が全体的なプリンタシステムアーキテクチャの中でどのように適合するのかが示される。プリンタシステムの多様な構成要素は、以下を含む可能性がある。
【0029】
・プリント機構/制御装置(PEC)。PECチップ10、つまりチップは、メモリバッファ24内で記憶するための圧縮されたページ画像を受信し、ページ拡大を実行し、ドットデータを黒層複合し、プリントヘッド23に送信するのを担当する。また、それは、QAチップ25、26と通信し、最適印刷を確実にするためにプリントヘッド特性を検索する手段となる。PECは、本明細書の主題である。
【0030】
・メモリバッファ。メモリバッファ24は、圧縮されたページ画像を記憶するため、及び指定されたページの印刷中の走り書き用である。メモリバッファの構造及び作用は当業者に既知であり、一連の標準的なチップとそれらの使用のための技法が本発明のPECの使用で活用される可能性がある。
【0031】
・マスタQAチップ。マスタチップ25は、交換式インクカートリッジQAチップ26に合わせられる。QA装置の構造及び作用は当業者に既知であり、一連の既知のQAプロセスが本発明のPECの使用で活用される可能性がある。例えば、QAチップは、同時係属米国特許出願に説明されている。
【0032】
【表1】

Figure 0004546697
【0033】
QAチップ通信は、それが物理的なプリントヘッドの実行だけではなく、画像の拡大でも役割を担うため、PECチップの全体的な機能性の中に最もうまく含まれる。QAチップ通信をそこに配置することにより、ページを印刷するのに十分なインクがあることが保証できる。好ましくは、プリントヘッドアセンブリ内に埋め込まれたQAが、認証チップを使用して実現される。それはマスタQAチップであるため、それは認証キーを含むに過ぎず、ユーザデータは含まない。しかしながら、それはインクカートリッジのQAチップに合わなければならない。インクカートリッジ内のQAチップは、考えられる最善の印刷品質を維持するために必要とされる情報を含み、認証チップを使用して実現される。
【0034】
好ましく、圧縮されたページ画像を記憶するには、64MBit(8MByte)メモリバッファが使用される。あるページがバッファに書き込まれている間に、別のページが読み取られている(二重バッファ化)。加えて、PECは、ページの印刷中に計算されたドット情報をバッファに入れるためにメモリを使用する。ページNの印刷中、バッファは以下のために使用される。
・圧縮されたページNの読み取り
・ページNのための二層ドット情報の読み書き
・圧縮されたページN+1の書き込み
【0035】
好ましくは、PECチップは、以下の機能を実行するために簡略なマイクロ制御装置CPUコア35を実装するだろう。
・印刷ページ間でシリアルインタフェース36を介してQAチップ認証プロトコルを実行する。
・印刷中に並列インタフェース91を介してステッピングモータを実行する(ステッピングモータは5kHzプロセスを必要とする)。
・印刷中にPECチップの多様な部分を同期させる。
・外部データ要求との接続手段となる(プログラミングレジスタ他)。
・(特徴化ベクトルの読み取り、及びパルスプロファイルの書き込みなどの)プリントヘッドセグメント低速データ要求との接続手段となる。
・外付けのDRAMに縦長書式及び横長書式タグ構造を書き込む手段となる。
【0036】
画像処理のすべてが専用ハードウェアによって実行されるため、CPUはピクセルを処理する必要がない。その結果、CPUはきわめて簡略となりえる。多岐に渡るCPUの既知のコアが適切である。つまり、それは、必要とされる計算及び制御機能を十分に速く実行するのに満足な処理力を備えた任意のプロセッサコアでありえる。適切なコアの例は、約1MHzで実行しているフィリップス8051マイクロコントローラである。CPUコア35に関連付けられているのは、プログラムROMと小型プログラムスクラッチRAMである。CPUは、メモリマッピングされたI/Oを介してPECチップ内で他の装置と通信する。特定のアドレス範囲は特定の装置にマッピングし、それぞれの範囲内では、その特定の装置内の特定のレジスタにマッピングできる。これは、シリアルインタフェース36とパラレル91インタフェースを含む。小型プログラムフラッシュROMがPECチップの中に組み込まれてよい。そのサイズは選ばれるCPUに左右されるが、8KBを超えてはならない。同様に、小型スクラッチRAM領域がPECチップの中に組み込まれてよい。プログラムコードは画像を操作する必要がないため、大きなスクラッチ領域に対するニーズはない。RAMサイズは選ばれるCPU(例えば、スタック機構、サブルーチン呼び出し規約、レジスタサイズ等)に左右されるが、約2KBを超えてはならない。
【0037】
前記に参照したセグメントベースのページ幅プリントヘッドを使用するPECチップは、完全ドット解像度(一般的には1600dpi)で黒を再生できるが、ハーフトーンを使用していくぶん低い解像度で連続階調カラーを再生する。従って、ページ記述は、二層の黒い層と連続階調層に分けられる。二層の黒い層は連続階調層の上で複合するために設定される。二層の黒い層は、ピクセルごとに1ビットの不透明度を含むビットマップから成り立っている。黒い層つや消しは、プリンタのドット解像度の整数係数である解像度を有する。サポートされている最高の解像度は1600dpi、つまりプリンタの完全ドット解像度である。連続階調層は、ピクセルごとに32ビットCMYK色を含むビットマップから成り立ち、Kはオプションである。この連続階調画像は、プリンタのドット解像度の整数係数である解像度を有する。サポートされている最高の解像度は、単一のPECの場合12インチで320ppi、つまりプリンタのドット解像度の5分の1である。さらに高い連続階調解像度のためには、それぞれのPECが出力ページのストリップを実現する複数のPECが必要とされる。連続階調解像度は、一般的には、RIPでの計算を簡略化するための黒の二層解像度の整数係数でもある。しかしながら、これは要件ではない。二層の黒い層及び連続階調層は、プリンタの内部メモリでの効率的な記憶のために、ともに圧縮された形式を取る。
【0038】
図3では、プリント機構アーキテクチャが示される。プリント機構のページ拡大及び印刷パイプラインは、(標準IEEE1394インタフェースなどの)高速シリアルインタフェース27、標準JPEGデコーダ28、標準グループ4FAXデコーダ4、カスタムハーフトナー/コンポジタ装置29、カスタムタグエンコーダ30、ラインローダ/フォーマッタ装置31、及びプリントヘッド33へのカスタムインタフェース32から成り立っている。タグエンコーダ30は、ページが何に使用されるのかに応じてプロトコルに従ってページに対する1つまたは複数の赤外線タグを確立し、タグの実際のコンテンツは本発明の主題ではない。
【0039】
プリント機構は二重バッファ化された方法で動作する。1ページが、DRAMインタフェース89及びデータバス90を介して高速シリアルインタフェース27からDRAM34の中にロードされるが、過去にロードされたページはDRAM34から読み取られ、プリント機構パイプラインを通過する。いったんページが印刷を終了すると、ロードされたばかりのページが印刷されているページになり、新しいページが高速シリアルインタフェース27を介してロードされる。第1段階で、パイプラインは、任意のJPEG圧縮連続階調(CMYK)層を拡大し、2つのグループ4ファックス圧縮済み二層データストリームのどれかを拡大する。(PEGは実際には色に寛容であり、この二層の層は出力リンクのどれかに向けることができるが)2つのストリームとは黒い層であり、連続階調ディザリング(以下参照)のためのディザマトリックスの間で選択するためのつや消しである。第2段階は、第1段階と並行して、IRまたは黒インクのどちらかでの後のレンダリングのためにあらゆるタグが符号化される。最後に、第3段階が、連続階調層をディザリングし、結果として生じる二層のディザリングされた層の上に位置タグ及び二層spot1層を複合する。データストリームは、プリントヘッド内の重複するセグメント全体での円滑な遷移を生じさせるために理想的に調整され、理想的にはそれはプリントヘッド内の故障したノズルを補償するために調整される。最高6チャネルの二層データがこの段階から生じる。6チャネルのすべてがプリントヘッド上に存在しない可能性があることに注意する。例えば、KがCMYチャネルの中に押し込められ、IRが無視され、プリントヘッドがCMYだけである可能性がある。代わりに、IRリンクが使用できない場合(または試験目的のための場合)、位置タグがKに印刷されることがある。結果として生じる二層CMYK−IRドットデータは、ラインバッファ(以下参照)の集合を介してプリントヘッド33での印刷のために、バッファ化され、フォーマット化される。これらのラインバッファの大多数が、オフチップDRAM34に理想的に記憶される可能性がある。最終的な段階は、プリントヘッドインタフェース32を介して6チャネルの二層レベルドットデータを印刷する。
【0040】
圧縮は、PECを利用する印刷システムで使用される。これは、ページ記憶のためのメモリ要件を削減するだけではなく、ホストとPECの間の帯域幅要件を削減するためでもある。267ppiでは、連続階調 CMYKデータのレターページは25MBというサイズを有する。JPEG(以下参照)などの損失の多い連続階調圧縮アルゴリズムを使用して、連続階調画像は、品質の顕著な損失を生じさせずに最高10:1の割合で圧縮し、2.5MBという圧縮ページサイズを提供する。800dpiで、二層データのレターページは7MBのサイズを有する。テキストなどのコヒーレントなデータは非常によく圧縮する。グループ4ファクシミリ(以下参照)などの圧縮のない二層圧縮アルゴリズムを使用して、10ポイントのテキストは約10:1の割合で圧縮し、0.8MBという圧縮ページサイズを提供する。いったんディザリングされると、CMYK 連続階調画像データの1ページは、114MBの二層データから成り立つ。後述される2つの層の圧縮済みページ画像フォーマットは、損失の多いJPEG 連続階調画像圧縮及び損失のない二層テキスト圧縮の相対的な長所を利用する。フォーマットは、記憶が効率的となるほど十分にコンパクトであり、印刷中の簡単なリアルタイム拡大を可能にするほど十分に簡略である。テキストと画像は通常重複しないため、通常の最悪のページ画像サイズは2.5MB(つまり画像だけ)であるが、通常の最良のケースのページ画像サイズは0.8MB(つまりテキストだけ)である。絶対的な最悪のケースのページ画像サイズは3.3MB(つまり、画像上のテキスト)である。平均ページの4分の1が画像を含むと仮定すると、平均的なページ画像サイズは1.2MBである。
【0041】
グループ3ファクシミリ圧縮アルゴリズム(ANSI/EIA 538−1988、グループ4ファクシミリ装置用のファクシミリコーディング方式及びコーディング制御関数、1988年8月を参照すること)は、低速の雑音がある電話回線上での伝送用に二層データを損失なく圧縮するために使用できる。二層データは、白の背景に走査された黒いテキストとグラフィックを表し、アルゴリズムはこのクラスの画像のために調整される(それは、例えば、ハーフトーン化された二層画像のためには明示的に調整されない)。IDグループ3アルゴリズムは各走査線をランレングス符号化してから、結果として生じるランレングスをハフマン符号化する。範囲0から63のランレングスは、終止コードでコーディングされる。範囲64から2623のランレングスは、それぞれが、終止コードが後に続く64の倍数を表すメークアップコードでコーディングされる。2623を超えるランレングスは、終止コードが後に続く複数のメークアップコードでコーディングされる。ハフマンテーブルは固定されるが、(共通である1728を超えるメークアップコードを除く)黒のランと白のランについて別々に調整される。可能なときには、2Dグループ3アルゴリズムは、過去の走査線に関して短いエッジデルタ(0、±1、±2、±3)の集合として走査線を符号化する。デルタ記号は(ゼロデルタ記号の長さが1ビット等にすぎないように)エントロピー符号化される。デルタ符号化できない2D符号化された線の中のエッジは、ランレングス符号化され、プリフィックスで特定される。1D−及び2D−符号化された線は別に記される。デコーダが、画像劣化が最小で回線雑音から回復できることを確実にするために、1D−符号化された線は、実際に必要とされているかどうかに関係なく、規則正しい間隔で作成される。2Dグループ3は、最高6:1の圧縮率を達成する(1992年1月、電子画像技術ジャーナル第1巻(1)、1992年1月、5−21ページ、Urban,S.J.「ファクシミリシステム用電子画像技術の規格の検討」を参照すること)。
【0042】
グループ4ファクシミリアルゴリズム(ANSI/EIA 538−1988、グループ4ファクシミリ装置用のファクリミリコーディング方式及びコーディング制御関数、1988年8月を参照すること)は、エラーのない通信線路での伝送のために二層データを損失なく圧縮する(つまり、回線は真にエラーがないか、あるいはエラー補正がさらに低いプロトコルレベルで行われる)。グループ4アルゴリズムは2Dグループ3アルゴリズムに基づいており、伝送がエラーなしであると仮定されるため、1D−符号化された線はもはやエラー回復に対する補助として定期的な間隔で生成されないという本質的な改良を伴う。グループ4は、試験画像のCCITTセットについて20:1から60:1の範囲の圧縮率を達成する。グループ4圧縮アルゴリズムの設計目標と性能は、それを二層の層用の圧縮アルゴリズムとして適格化する。しかしながら、そのハフマンテーブルはさらに低い走査解像度(100−400dpi)に調整され、それは2623を超えるランレングスを不適切に符号化する。800dpiでは、我々の最大ランレングスは現在6400である。グループ4デコーダコアはPECでの使用に利用できるが、それは400dpiファクシミリ用途で通常遭遇するランレングスを超えるランレングスは取り扱わない可能性があるため、改良を必要とするだろう。(一般的には1600dpiの)黒い層は、10:1を超える一般的な圧縮率でG4Faxを使用して損失なく圧縮される。連続階調カラー層に一致する(一般的に320dpiの)ディザマトリックス選択層は、50:1を超える一般的な圧縮率でG4Faxを使用して損失なく圧縮される。
【0043】
グループ4ファックス(G4ファックス)デコーダは、二層データの復元を担当する。二層データは単一のスポットカラー(一般的には、テキスト及び座標方式グラフィックスの場合は黒)、及びその後の(JPEGデコーダによって復元される)連続階調データのディザリングで使用するためのディザマトリックス選択ビットマップに制限される。G4ファックスデコーダへの入力は、外付けのDRAMから読み取られる二層データの2つの平面である。G4ファックスデコーダの出力は、復元された二層データの2つの平面である。復元された二層データは、印刷パイプラインの次の段階のためのハーフトナー/コンポジタ装置(HCU)に送信される。2つの二層バッファがG4ファックスデコーダとHCUの間で二層データを転送する手段となる。復元されたそれぞれの二層の層は2つのラインバッファに出力される。各バッファは、予想最大解像度でドットの完全な12インチ行を保持することができる。2つのラインバッファを有すると、他方の行はG4ファックスデコーダによって書き込まれている間に、HCUによって一方の行を読み取ることが可能になる。単一の二層線は一般的には1600dpi未満であり、従ってドット寸法と行寸法の両方で拡大されなければならないためこれは重要である。バッファ化が完全な1行未満である場合には、G4ファックスデコーダは、同じ行を複数回――つまり出力600dpiドット線ごとに一度復号しなければならないだろう。
【0044】
スポットカラー1は、出力画像の単一色平面のための高解像度ドットデータを可能にすることを目的とする。連続階調層は画像に適切な解像度を与えるが、スポットカラー1はテキストと座標方式グラフィックスなどの用途でターゲットにされる(一般的には黒)。テキストと座標方式グラフィックスとして使用されるとき、典型的な圧縮率は10:1を超える。スポットカラー1は、最大印刷品質のために最高1600dpiの可変解像度を可能にする。従って、2つのラインバッファは、合計2400バイト(12インチ×1600dpi=19,200ビット)である。
【0045】
ディザマトリックス選択マップの解像度は、理想的には連続階調解像度に一致する。その結果、従って2つのラインバッファのそれぞれが、320dpiで12インチを記憶できる480バイト(3840ビット)である。マップが連続階調解像度に一致するとき、一般的な圧縮率は50:1を超える。
【0046】
以下にサポートを提供するために、
・800dpiスポットカラー1層(一般的には黒)
・320dpiディザマトリックス選択層
復元帯域幅要件は(ページ幅が12インチなのか、それとも8.5インチなのかに関係なく)毎秒1ページ性能あたり毎秒9.5MBであり、最大プリンタ速度性能(毎秒30,000行)の間、12インチページ幅と8.5インチページ幅の場合、それぞれ毎秒20MBと毎秒14.2MBである。復元されたデータがラインバッファに出力されることを考慮すると、G4ファックスデコーダは、出力のそれぞれから行を一度に1行づつ容易に復元できる。
【0047】
G4ファックスデコーダは、DRAMインタフェースを介してメインメモリから直接的に送られる。圧縮量が、外付けのDRAMに対する帯域幅要件を決定する。G4ファックスは損失なしであるため、画像の複雑さがデータ量、ひいては帯域幅に影響を与える。一般的には800dpiの黒いテキスト/グラフィックス層は10:1圧縮を超えるため、毎秒1ページを印刷するために必要とされる帯域幅は毎秒0.78MBである。同様に、典型的な320dpiディザ選択マトリックスは50:1を超えて圧縮し、毎秒0.025MB帯域幅を生じさせる。ディザ選択マトリックスのための320dpiという最速印刷速度構成及びスポットカラー1のための800dpiは、それぞれ毎秒1.72MBと毎秒0.056MBの帯域幅を要求する。従って、総帯域幅毎秒2MBは、DRAM帯域幅にとって十分以上であるはずである。
【0048】
G4復号機能性は、G4ファックスデコーダコアによって実現される。多岐に渡るG4ファックスデコーダコアが適切である。つまり、それは必要とされる計算及び制御機能を十分に速く実行するのに満足な処理力を備えた任意のコアである。それは400dpiファクシミリ用途で通常遭遇するランレングスを超えるランレングスを処理できなければならないため、改良を必要とする場合がある。
【0049】
JPEG圧縮アルゴリズム(ISO/IEC 19017−1:1944、情報技術―連続階調静止画像のデジタル圧縮及びコーディング:要件と指針、1944を参照すること)は、連続階調画像を指定された品質レベルで損失多く圧縮する。それは5:1以下の圧縮率で感知できない画像劣化、及び10:1以下の圧縮率でごく少量の画像劣化を生じさせる(Wallace,G.K.「JPEG静止画像圧縮基準」、ACMの通信、第34巻第4番、1991年4月30−44ページを参照すること)。JPEGは、一般的には最初に画像を、輝度とクロミナンスを別々のカラーチャネルに中に分離する色空間に変換する。これにより、クロミナンスチャネルは、人間の視覚系がクロミナンスに対してより輝度に対して相対的に大きな感度を持つために、感知できるほどの損失を被らずにサブサンプリングすることができる。この第1ステップの後、それぞれのカラーチャネルは別々に圧縮される。画像は8×8ピクセルのブロックに分割される。それから、各ブロックが、離散コサイン変換(DCT)を介して周波数ドメインに変換される。この変換は、高周波係数をさらにぞんざいに量子化できるようにする相対的に低い周波数係数で画像エネルギーを集中させる効果をもつ。この量子化はJPEGの圧縮の主要なソースである。追加の圧縮は、隣接するゼロ係数の尤度を最大限にするために周波数ごとに係数を順序付けてから、ゼロのランをランレングス符号化することによって達成される。最後に、ランレングス及び非零周波数係数がエントロピーコーディングされる。復元は圧縮の逆プロセスである。
【0050】
CMYK(またはCMY)連続階調層は二次元のカラーJPEGバイトストリームに圧縮される。テーブル共有またはクロミナンスサブサンプリングの目的のどちらかのために、輝度/クロミナンスの分離が必要と見なされる場合には、CMYKがYCrCbに変換され、CrとCbが正しくサブサンプリングされる。JPEGビットストリームは完了し、自己完結している。それは、量子化テーブル及びハフマンテーブルを含む、復元に必要とされるすべてのデータを含む。
【0051】
JPEGデコーダは、連続階調データ層のオンザフライ復元の実行を担当する。JPEGデコーダに対する入力は4平面の連続階調データまでである。これは、典型的には、CMY連続階調画像を表す3つの平面となるか、あるいはCMYK連続階調画像を表す4つの平面になる。一般的にはすべての色平面が同じ解像度となるが、各色平面は異なる解像度となることができる。連続階調層は外付けのDRAMから読み取られる。JPEGデコーダの出力は、平面に分離される、復元された連続階調データである。復元された連続階調画像は、印刷パイプラインの次の段階のためにハーフトナー/コンポジタ装置(HCU)29に送信される。4平面連続階調バッファは、JPEGデコーダとHCU29の間で連続階調データを転送するための手段となる。
【0052】
復元された連続階調データの各色平面は、2つのラインバッファ(以下参照)の集合に出力される。各ラインバッファは3840バイトであるため、320ppiで12インチの単一色平面のピクセルを保持できる。ラインバッファ化は、他方のラインバッファがJPEGデコーダによって書き込まれている間に、一方のラインバッファをHCUに読み取らせるのを可能にする。単一の連続階調行は一般的には1600dpi未満であるため、ドット寸法と行寸法の両方で拡大されなければならないため、これは重要である。バッファ化が完全な1行未満である場合には、JPEGデコーダは同じ行を複数回――つまり、出力600dpiドット行ごとに一度、復号しなければならないだろう。多岐に渡る解像度がサポートされているが、解像度と利用可能な帯域幅の間には二律背反がある。解像度と色の数が増加するほど、帯域幅の要件も増加する。加えて、PECチップがターゲットとするセグメント数も帯域幅と考えられる解像度に影響を及ぼす。連続会長画像が二次元フォーマットで処理されるため、各色平面を別の解像度で記憶できることに注意する(例えば、CMYはK平面より高い解像度にある場合がある)。サポートされている最高の連続階調解像度は(プリンタの完全ドット解像度に一致する)1600dpiである。しかしながら、長さ12インチの320ppiの行に十分な連続階調ピクセルを保持するのに満足な出力ラインバッファメモリがあるにすぎない。完全な12インチの出力がさらに高い連続階調解像度で必要とされる場合には、プリンタでの最終的な出力は依然として二層にすぎないことが注記されなければならないが、複数のPECチップが必要とされるだろう。320ppiでの4色に対するサポートがある場合、復元出力帯域幅要件は(ページ幅が12インチなのか、それとも8.5インチなのかに関係なく)毎秒1ページの性能について毎秒40MBであり、最大プリンタ速度性能(毎秒30,000行)の間、12インチページ幅と8.5インチページ幅についてそれぞれ毎秒88MBと毎秒64MBである。
【0053】
JPEGデコーダはDRAMインタフェースを介してメインメモリから直接的に送られる。圧縮量が外部DRRAMに対する帯域幅要件を決定する。圧縮のレベルが高まるにつれ、帯域幅は減少するが、最終的な出力画像の品質も低下する。単一色平面のDRAM帯域幅は、圧縮係数を出力帯域幅に適用することによって容易に計算できる。例えば、圧縮係数が10:1である320ppiでの単一色平面は、毎秒1ページを作成するために毎秒1MBのDRAMへのアクセスを必要とする。
【0054】
JPEGの機能性はJPEGコアによって実現される。多岐に渡るJPEGコアが適切である。つまり、それは必要とされる計算及び制御機能を十分に速く実行するために満足な処理能力を備えた任意のJPEGコアである場合がある。例えば、BTG X−Matchコアは、最大印刷速度(毎秒1600dpiで30,000行)の場合最高400ppi、及び毎秒1ページのプリンタ速度の場合800ppiで連続階調解像度の4つの色平面の復元を可能にする最高毎秒140MBytesの復元速度を有する。コアが復元だけをサポートし、より汎用化されたJPEG圧縮/復元コアによって課される要件を削減する必要があることに注意する。コアのサイズは10,000ゲート以下となると予想される。復元されたデータがラインバッファに出力されることを考慮すると、JPEGデコーダは、容易に色平面ごとに一度に行全体を復元することができ、このようにして行の中でのコンテキストの切り替えを省き、JPEGデコーダ4の制御を簡略化する。4つのコンテキスト(色平面ごとに1つのコンテキスト)が保たれなければならず、適切なJPEG復号パラメータだけではなく外付けのDRAM内のカレントアドレスも含む。
【0055】
図4では、ハーフトナー/コンポジタ装置(HCU)29が、連続階調(一般的にはCMYK)層を同の二層バージョンにハーフトーン化する機能と、適切なハーフトーン化された連続階調層(複数の場合がある)の上にspot1二層の層を複合する機能を結合する。プリンタ内にKインクがない場合には、HCU29はKをCMYドットに適宜にマッピングできる。また、それは、ディザマトリックス選択マップ内の対応する値に基づき、ピクセル単位で2つのディザマトリックスの間で選択する。HCU29への入力はバッファ37を通して(JPEGデコーダ装置から)拡大された連続階調層、バッファ38を通して拡大された二層のspot1層、バッファ39を通した連続階調層と一般的には同じ解像度の拡大されたディザマトリックス選択ビットマップ、及びバッファ40を通る完全ドット解像度でのタグデータである。HCU29は、外付けのDRAMから読み取られる最高2つのディザマトリックスを使用する。HCU29から41にあるラインローダ/フォーマッタ装置(LLFU)への出力は、最高6つの色平面でのプリンタ解像度二層画像線の集合である。一般的には、連続階調はCMYKまたはCMYであり、二層spot1層はKである。
【0056】
図5では、HCUがさらに詳細に示されている。いったん起動すると、HCUは、それがページ端条件を検出するまで、あるいはそれがその制御レジスタを介して明示的に停止されるまで先に進む。HCUの第1タスクは、スケール装置43などのそれぞれのスケール装置で、42などのバッファ平面で受信されたすべてのデータを水平に且つ垂直にプリンタ解像度にスケーリングすることである。
【0057】
スケール装置は、プリンタ解像度に水平に且つ垂直に連続階調または二層データをスケーリングする手段となる。スケーリングは、両方の寸法で整数の回数データ値を複製することにより達成される。データをスケーリングするプロセスは、当業者によく知られているだろう。
【0058】
マージン装置57によってスケール装置43に、前進ドットと前進行という2個の制御ビットが提供される。前進ドットビットは、状態機械が(ページマージン、及びプリントヘッド内の重複するセグメントのためのドットデータの作成に有効である)同じドットデータの複数のインスタンスを生成できるようにする。前進行ビットは、状態機械が、ドットのある特定の行がいつ終了するのかを制御できるようにし、それによりプリンタマージンに応じたデータの切り捨てを可能にする。それは、スケール装置が、特殊な行端論理を必要とするのも省く。スケール装置への入力は完全なラインバッファである。行は、行の複製によって垂直の拡大を達成するために倍率回数使用され、各行の中で、各値は、ピクセル複製によって水平の拡大を達成するために倍数回数使用される。いったん入力線が倍数回数使用される(前進行ビットが倍数回数設定される)と、アドレスの入力バッファ選択ビットがトグルされる(二重バッファ化)。スケール装置はアドレスだけを生成するため、スケール装置の論理は8ビットと1ビットのケースで同じである。
【0059】
連続階調層のそれぞれは別の解像度となることがあるため、それらは独立してスケーリングされる。バッファ45での二層spot1層、及びバッファ46でのディザマトリックス選択層もスケーリングされる必要がある。バッファ47での二層タグデータは、正しい解像度で確立され、スケーリングされる必要はない。拡大されたディザマトリックス選択ビットは、2つのディザマトリックスから単一の8ビット値を選択するためにディザマトリックスアクセス装置48によって使用される。8ビット値は、単にそれを特別な8ビット連続階調値に比較するだけである4つのコンパレータ、44、及び49から51に出力される。実際のディザマトリックスの生成はプリントヘッドの構造に依存し、ディザマトリックスを生成するための一般的なプロセスは当業者によく知られているだろう。連続階調値が8ビットディザマトリックス値より大きい場合、1が出力される。大きくない場合は、0が出力される。その後、これらのビットは、(特定のドットがページの印刷可能領域の内側にあるかどうかに関係なく)52から56ですべて、マージン装置57からのinPageビットと論理積(AND)を取られる。HCU内の最終段階は、複合段階である。6つの出力層のそれぞれについて、装置58のような、それぞれ6つの入力を含む単一のドットマージャ装置がある。各ドットマージャ装置からの単一出力ビットは、入力ビットのどれかまたはすべての組み合わせである。これにより、スポットカラーを(試験目的のための赤外線を含む)任意の出力色平面に配置し、(プリントヘッドの中に黒いインクが存在しない場合)黒を青緑色、赤紫色、及び黄色にマージし、タグドットデータを可視平面に配置することができる。フィクサティフ色平面も容易に作成できる。ドット再編成(reorg)装置59が、指定された色平面のために生成されたドットストリームを採取することと、出力がセグメント順、及びセグメント内のドット順になるように、それを32ビット量に編成することを担当する。重複するセグメントのためのドットはセグメント順で生成されないという事実のため、最小の並べ替えが必要とされる。
【0060】
2つの制御ビット、つまり前進ドットと前進行が、マージン装置57によってスケール装置に提供される。前進ドットビットは、状態機械が、(ページマージン、及びプリントヘッド内の重複するセグメントのためのドットデータを作成するために有効である)同じドットデータの複数のインスタンスを生成できるようにする。前進行ビットは、状態機械が、ドットのある特定の行がいつ終了するのかを制御できるようにし、それによりプリンタマージンに応じたデータの切り捨てを可能にする。それは、スケール装置が特別な行端論理を必要とするのも省く。
【0061】
コンパレータ装置は、単純な8ビットの「より大きい」コンパレータを含む。それは、8ビットの連続階調値が8ビットのディザマトリックス値より大きいかどうかを判断するために使用される。従って、コンパレータ装置は2つの8ビット入力を取り込み、単一の1ビット出力を生じさせる。
【0062】
図6では、ドットマージャ装置のさらに詳細が示されている。それは、二層ディザリング済みデータ、spot1カラー、及びタグデータを実際のプリントヘッド内のタグデータにマッピングする手段となる。各ドットマージャ装置は、6個の1ビット入力を取り込み、その色平面の出力ドットを表す単一のビット出力を生じさせる。60での出力ビットは入力ビットのどれかまたはすべての組み合わせである。これにより、スポットカラーを(試験目的のための赤外線を含む)任意の出力色平面に配置し、(プリントヘッド内に黒インクがない場合に)黒を青緑色、赤紫色及び黄色にマージし、タグドットデータを可視平面に配置できるようにする。フィクサティフのための出力も、入力ビットのすべてを結合するだけで容易に生成できる。ドットマージャ装置は、該6個の入力ビットに対するマスクとして使用される6ビットColorMaskレジスタ61を含む。入力ビットのそれぞれは、対応するColorMaskレジスタビットと論理積(AND)を取られ、その後、結果として生じる6ビットがともに論理和(OR)を取られ、最終的な出力ビットを形成する。
【0063】
図7では、色平面のために生成されたドットビームを取り、出力がセグメント順に、及びセグメント内のドット順になるように、それを32ビット量に編成することを担当するドット再編成(reorg)装置(DRU)が示されている。重複するセグメントのためのドットはセグメント順に生成されないという事実のため、最小の並べ替えが必要とされる。DRUは32ビットのシフトレジスタ、標準32ビットレジスタ、及び標準16ビットレジスタを含む。5ビットカウンタがこれまで処理されたビット数を追跡調査する。どのビットが出力される必要があるのかに関してDRUに指示するために、ディザマトリックスアクセス装置(DMAU)からのドット前進信号が使用される。
【0064】
図7では、レジスタ(A)62はサイクルごとに計時される。それは、ドットマージャ装置(DMU)によって生成される32個の最も最近のドットを含む。完全32ビット値は、簡略な5ビットカウンタを介してDRU状態機械45により生じるWriteEnable信号によって32サイクルごとにレジスタ(B)63にコピーされる。レジスタ(B)63からの16個の奇数ビット(ビット1、3、5、7等)が、同じWriteEnableパルスでレジスタ(C)65にコピーされる。その後、32ビットマルチプレクサ66が、状態機械からの2ビットに基づき、以下の3つの出力の間で選択する。
【0065】
・レジスタBからの完全32ビット
・レジスタAからの16個の偶数ビット(ビット0、2、4、6等)及びレジスタBの16個の偶数ビットから構成される32ビット値。レジスタAからの該16個の偶数ビットはビット0から15を形成するが、レジスタBからの該16個の偶数ビットはビット16から31を形成する。
・レジスタBの16個の奇数ビット(ビット1、3、5、7等)とレジスタCの16ビットから構成される32ビット値。レジスタCのビットはビット0から15を形成するが、レジスタBからの奇数ビットはビット16から13を形成する。
【0066】
DRUのための状態機械は表1に示すことができる。その状態機械は状態0で起動する。それは32サイクルごとに状態を変える。32サイクルの間、単一のnoOverlapビットがそれらの32サイクルのすべてのドット前進ビットのAND(論理積)を収集する(noOverlap=サイクル0の場合のドット前進、及びnoOverlap=サイクル1から31の場合のnoOverlap AND(論理積)ドット前進)。
【0067】
【表2】
Figure 0004546697
【0068】
図5のマージン装置(MU)57は、ディザマトリックスアクセス装置(DMAU)48からの前進ドット信号と前進行信号を、現在のページのページマージンに基づいて一般的な制御信号に変換することを担当する。それは、頁端条件の作成も担当する。MUは、ページ全体でのドットと行のカウンタを保つ。ページの始まりで両方とも0に設定される。ドットカウンタは、MUがDMAUからドット前進信号を受信するたびに1進められる。MUがDMAUから行前進信号を受信すると、行カウンタが増分され、ドットカウンタは0にリセットされる。毎サイクル、現在の行の値とドットの値がページのマージンに比較され、これらのマージンに基づいて、適切な出力ドット前進信号、行前進信号及び、マージン内信号が発せられる。DMAUはHCU用の実質的なメモリ要件だけを含む。
【0069】
図8では、ラインローダ/フォーマッタ装置(LLFU)が示されている。それは、HCUからドット情報を受信し、指定された印刷行のドットを適切なバッファ記憶領域に(いくつかはチップ上に、いくつかは外付けのDRAM34に)ロードし、それらをプリントヘッドに必要とされる順序にフォーマットする。その外部インタフェースという点でのLLFUの高水準ブロック図は、図9に図示されている。LLFUへの入力67は6個の32ビットのワードと1個のDataValidビットの集合であり、すべてはHCUによって生成される。出力68は、6色から成る最大15個のプリントヘッドセグメントを表す90ビットの集合である。プリントヘッド内で実際に何色の色が使用されるのかに応じて、すべての出力ビットが有効でない可能性がある。
【0070】
前記に参照されたプリントヘッド上の発射ノズル、つまりオフセット列の中のノズルの物理的な配置は、同じ色の奇数ドットと偶数ドットが、2つの別々の行のためであることを意味している。偶数ドットは行Lのためであり、奇数ドットは行L−2のためである。加えて、ある色のドットと別の色のドット間の行数がある。同じドット位置のための6つの色平面は、HCUによって一度に計算されるため、同じドットが適切なカラーノズルの下に配置されるまで色平面ごとにドットデータを遅延するニーズがある。
【0071】
各バッファ行のサイズは、プリントヘッドの幅に依存する。単一のPECが最高15個のプリントヘッドセグメントのためのドットを生成するので、単一の奇数バッファ行または偶数バッファ行は、従って合計9600ビット(1200バイト)の640ドットの15の集合となる。例えば、色6奇数ドットに必要とされるバッファは合計してほぼ45KBytesになる。
【0072】
製造技法が有能である場合には、必要なバッファの集合全体がPECチップの上に設けられる可能性がある。それ以外の場合、色2以降のためのバッファは外付けDRAMに記憶できる。これにより、色平面間の距離が将来変化する可能性があるとしても、PECは有効になることができる。すべてはその特定のドット行を基準にして印刷される(追加ラインバッファは必要とされない)ため、PEC上に色1のための偶数ドットを保つことは瑣末である。加えて、色1奇数ドットをバッファに入れるために必要とされる2行の半行は、かなりのDRAM帯域幅を節約する。ページがきれいな端縁を有するように、ページが印刷される前に(チップ上及びDRAM内の)多様なラインバッファにはすべての0が事前ロードされる必要がある。頁端は、それがきれいな端縁を有するようにHCUによって自動的に生成される。
【0073】
図10では、Color N OESplit(図9のOesplit70を参照)のブロック図、及び図9の2つのバッファEとF、71、72のそれぞれのブロック図は図10と図11に示されている。バッファEFは、データを図3のプリントヘッドインタフェース(PHI)32に転送するための二重バッファ化された機構である。従って、バッファEとFは同一の構造を有する。ドットの1行の処理の間、2つのバッファの内の一方が書き込まれ、他方が読み出される。該2つのバッファは、PHIから行同期信号を受信すると、論理的にスワップされる。バッファEとFの両方とも、図11に図示されるように、各職1サブバッファで6個のサブバッファから構成され、色1サブバッファは73番と番号を付けられる。各サブバッファのサイズは、セグメントあたり1280ドットで15個のセグメントを保持するのに十分な2400バイトである。メモリは一度に32ビット、アクセスされるため、(10ビットのアドレスを必要とする)各サブバッファには600のアドレスがある。それぞれの色のサブバッファでは、すべての偶数ドットは奇数ビットの前に配置される。(15セグメントより少なく印刷するための)未使用の空間がある場合、それは各色のサブバッファの最後に位置する。各サブバッファから実際に使用されるメモリ量は、PECによって実際にアドレスされるセグメントの数に直接的に関係する。15セグメントのプリントヘッドの場合、未使用の空間がない、1200バイトの奇数ドットが後に続く1200バイトの偶数ビットがある。利益のあるように使用されるサブバッファの数は、プリントヘッドで使用される色数に直接的に関係する。サポートされている色の最大数は16である。
【0074】
バッファEとFそれぞれのためのアドレス指定復号回路構成要素は、6個すべてのサブバッファに単一の32ビットアクセス――6すべてからの読み取りまたは6の内の1つへの書き込みを行うことができるほどである。合計6個の出力ビットに対して、各色バッファから読み取られる32ビットの内の1個のビットだけが選択される。プロセスは図11に図示されている。アドレスの15ビットが、32ビットを選択するために使用されているアドレスの10ビットによる特定のビットの読み取りを可能にし、アドレスの5ビットがそれら32から1ビットを選ぶ。すべての色サブバッファがこの論理を共用するため、単一の15ビットのアドレスが、各色ごとに1ビット、合計6ビットを発する。各サブバッファ73から78は専用のWriteEnable行を有し、単一の32ビット値を指定サイクルの特定の色バッファに書き込むことができるようにする。個々のWriteEnablesは、単一のWriteEnable入力をColorSelectの復号された形式と論理積を取ることによって生成される。実際にはただ1つのバッファだけが同期してデータを引き入れるため、行79上の32ビットのDataInが共用される。
【0075】
バッファEとFから読み取るためのアドレスの作成は簡単である。各サイクルは、ある特定のセグメントのための色ごとに1ビットを表す6ビットをフェッチするために使用されるビットアドレスを作成する。640を現在のビットアドレスに追加することにより、次のセグメントの同等なドットに進む。奇数ドットと偶数ドットはバッファ内で分けられているため、(1280ではなく)640を追加する。該偶数ドットを表すデータを取り出すためにNumSegments回これを実行し、それらのビットをPHIに転送する。NumSegments=15のとき、ビット数は90(15×6ビット)である。それから、奇数ビットについてプロセスが繰り返される。この偶数/奇数ビット生成プロセス全体が640回繰り返され、毎回開始アドレスを増分する。このようにして、すべてのドット値が、640×2×NumSegmentサイクルでプリントヘッドによって必要とされる順序でPHIに転送される。NumSegment=15のとき、サイクル数は19,200サイクルである。プリントヘッド内で実際に使用される色の数に関係なく、6ビット(各色のバッファから1ビット)が指定読み取りサイクルで生成されることに注意する。
【0076】
加えて、図9の90ビット転送レジスタ90に書き込むためのTWriteEnable制御信号を生成する。LLFUはPHIの前に起動するため、PHIからの前進パルスの前に第1値を転送しなければならない。また第1前進パルスの準備を整えて次の値も生成しなければならない。解決策は、NumSegmentsサイクル後に第1値を転送レジスタに転送してから、NumSegmentsサイクル後に失速し、次のNumSegmentsサイクルグループを起動するために前進パルスを待機することである。いったん第1前進パルスが到着すると、LLFUはPHIに同期する。
【0077】
単一ドットラインの読み取りプロセスは、以下の擬似コードに示されている。
【0078】
【表3】
Figure 0004546697
【0079】
読み取りプロセスがEまたはFからPHIにデータを転送している間、書き込みプロセスは他のバッファでの次のドット行を作成している。
【0080】
EまたはFに書き込まれているデータは、HCUによって生成される色1データ、及び(DRAMから供給される)バッファDからの色2から6のデータである。色1データは、HCUのOutputValidフラグがセットされるときは必ずEFに書き込まれ、色2−6データはレジスタCからの他の日時の間に作成される。
【0081】
図9の81であるバッファOEは、色1について近接する32ドットの単一HCUを保持するために使用される32ビットのレジスタである。ドットはページで近接しているが、奇数ドットと偶数ドットは別々のときに印刷される。
【0082】
バッファAB82は、2ドット行分、色1のための奇数ドットデータを遅延するための二重バッファ化機構である。従って、バッファAとBは同一構造を有する。ドットの行の処理中、2つのバッファの内の1つが読み取られてから、書き込まれる。2つのバッファは、ドット行全体が処理された後に論理的にスワップされる。単一ビットフラグABSenseが、2つのバッファの内のどれが読み取られ、書き込まれるのかを突き止める。
【0083】
HCUは、第1フラグが行のために送信された後の32サイクルごとである、出力有効制御フラグがセットされるときに必ず、色1の32ビットを提供する。該32ビットは、単一ドット行のための32ドットの近接する集合―つまり、16個の偶数ビット(ビット0、2、4等)及び16個の奇数ビット(ビット1、3、5等)を定義する。出力有効制御フラグはOE1レジスタ81のためのWriteEnable制御として使用される。2つのOutputValid信号ごとにHCUデータを処理する。HCU色1データの該16個の偶数ビットは、レジスタOE1の該16個の偶数ビットと結合され、偶数色1データの32ビットを作る。同様に、HCU色1データの該16個の奇数ビットは、レジスタOE1の該16個の奇数ビットと結合され、奇数色1データの32ビットを作る。2のグループの第1OutputValid信号の受信時に、奇数データをバッファEF内の図11の色1、73に転送するためにバッファABを読み取る。2のグループの第2OutputValid信号の受信時に、奇数データの32ビットを過去に読み取ったバッファAB内の同じ場所に書き込み、偶数データの32ビットをバッファEF内の色1に書き込む。
【0084】
HCUh、OutputValid制御フラグがセットされると必ず色平面ごとに32ビットのデータを提供する。これは、一定の起動時間中を除き32のサイクルごとに発生する。該32ビットは、単一のドット行のための32ドット――16個の偶数ドット(ビット0、2、4等)と16個の奇数ドット(ビット1、3、5等)の近接集合を定義する。
【0085】
バッファOE1(図10の83)は色1のための単一の32ビット値を記憶するために使用されるが、バッファOE2からOE6はそれぞれ色2から6のための単一32ビット値を記憶するために使用される。ちょうど色1のためのデータが、64サイクルごとに(2つのOutputValidフラグごとに1回)色1奇数ドットを表す32ビットと色1偶数ビットを表す32ビットに分割されるように、残りの色平面も偶数ドットと奇数ドットに分割される。
【0086】
しかしながら、ドットデータは、直接的にバッファEFに書き込まれる代わりに数多くの行、遅延され、バッファCD(図9内の84)を介してDRAMに書き出される。指定された行のドットはDRAMに書き込まれるが、過去の行のドットはDRAMから読み取られ、バッファEF(71、72)に書き込まれる。このプロセスは、バッファEFに色1を書き込むプロセスとインタリーブされて実行されなければならない。
【0087】
図10の行85上でOutputValidフラグがHCUから受信されるたびに、32ビットの色NデータがバッファOEN(83)に書き込まれる。第2OutputValidフラグごとに、結合された64ビット値が色バッファN(86)に書き込まれる。これはすべての色平面2から6について同時に発生する。色バッファN(86)は、2つの完全なセグメントのためのドットを記憶できるようにするために、64ビット(320バイト)の40の集合を含む。これにより、過去のセグメントのデータ(奇数ドットと偶数ドットの両方)のための完全なセグメント生成時間(20×64=1280サイクル)をDRAMに書き出すことができる。書き込みのためのアドレス生成は簡単である。行87のColorNWriteEnable信号は、第2OutputValidフラグごとに出される。アドレスは0で開始し、39まで、第2OutputValidフラグごとに増分する。40に進む代わりに、アドレスは0にリセットされ、このようにして二重バッファ化方式を提供する。これは、OutputValidフラグの間に読み取りが発生しない限りうまく行き、過去のセグメントのデータは単一のセグメントのデータを生成するために要する時間内にDRAMに書き込むことができる。プロセスは以下の擬似コードに示される。
【0088】
【表4】
Figure 0004546697
【0089】
読み取りのためのアドレス生成は、それがDRAMアクセス(読み取りと書き込みの両方)、バッファEFアクセス、従って色1生成のためのタイミングに結び付けられているためより扱いにくい。それはさらに完全に後述される。
【0090】
バッファC、D、E、F及び色Nのためのアドレス生成は、すべてDRAMアクセスのタイミングに結び付けられ、バッファEとFに関する色1処理とは干渉してはならない。基本原理は、色Nの単一セグメント(奇数ドットまたは偶数ドットのどちらか)のためのデータは、DRAMからバッファEFにバッファCDを介して転送されるという点である。いったんデータがDRAMから読み取られると、それらのドットはColorBufferNの中の値に基づいて置換される。これは、奇数ドットと偶数ドットの色のそれぞれについて行われる。ドットに値する完全なセグメントが蓄積された後(64サイクルの20のセット)、プロセスは再開する。いったん指定された印刷行内のすべてのセグメントのデータがDRAMから、及びDRAMに転送されると、その色のDRAMバッファのためのカレントアドレスは、それが、色の行の特定のデータがDRAMから読み戻されるまで適切な数の行となるように進められる。その結果、色N(奇数または偶数のどちらか)は、色N(同じ奇数/偶数向き)をバッファCにコピーしている間に、DRAMからバッファDの中に読み取られる。データのバッファCへのコピーは、OutputValidフラグが20の転送の間に発生するかどうかに応じて、20サイクルまたは21サイクルを要する。いったん両方のタスクが終了すると(一般的にはDRAMアクセスの方がより低速なタスクとなるだろう)、プロセスの第2部分が開始する。バッファC内のデータがDRAMに書き込まれ(ちょうど読み取られたのと同じロケーション)、バッファD内のデータがバッファEFにコピーされる(色1データが転送されているため、OutputValidフラグがセットされている間、やはり色NデータはバッファEFには転送されない)。両方のタスクが終了すると、同じプロセスが色N(奇数または偶数のどちらか)の他の向きについて発生する。二重プロセス全体が10回発生する。それから、DRAM内のカレント行のそれぞれのアドレスが、次の行の処理が開始するために更新される。
【0091】
帯域幅という点では、ドットデータバッファのためのDRAMアクセスが、PECからの全DRAMアクセスの大多数を消費する。印刷行ごとに色2から6のドット行全体を読み取り、色2から6のドット行全体を書き込む。最大15個のセグメントの場合、これは印刷行ごとに2×5×15×1280ビット=192,000ビット(24,000バイト)に等しくなる。最も高速の印刷システム(毎秒30,000行)の場合、これは毎秒687MBに等しくなる。毎秒1ページの印刷の場合、必要とされる帯域幅は毎秒312MBである。帯域幅は大変高いため、DRAM内の各色のための多様な半行アドレスは、使用されているメモリタイプについて最適化される必要がある。例えばRDRAMメモリシステムでは、まさに最初の半行バッファが、色事に、1KByte境界に位置合わせされ、DRAMアクセスでのページヒットを最大限にする。多様なセグメントが処理されるので、次のセグメントの開始が1KByteページ内のバイト960で位置合わせされると、該640ビットのアクセスが2ページに及ぶことを保証することが必要である。従って、変数DRAMMaxValがこのケースがないかチェックするために使用され、それが発生すると、アドレスはページ位置合わせされる次の半行バッファについて切り上げられる。その結果、唯一の無駄は13個のセグメントごとの64バイトであるが、完全に単一ページ内での640ビットアクセスという優位点を有する。
【0092】
アドレス生成プロセスは、20×32ビットの書き込みが後に続く20×32ビットの読み取りの10セットに値するNumSegmentsと見なすことができ、それは以下の擬似コードに示されている。
【0093】
【表5】
Figure 0004546697
【0094】
MaxHalfColorsレジスタが、別々に処理された奇数色と偶数色という点での色数より1少ないが、色1を含んでいないことに注意する。例えば、標準的な6色印刷システムという点では、10(奇数と偶数の色2から6)あるため、MaxHalfColorsは9に設定される必要がある。
【0095】
LLFUは、プリントヘッドインタフェース(PHI)32のために最初の180ビットのデータを準備するために2NumSegmentsサイクルを必要とする。その結果、プリントヘッドが起動される必要があり、第1LineSyncパルスは、LLFUが起動した後のこの期間に発生しなけばならない。これにより、初期の転送値が有効となり、次の90ビット値が転送レジスタにロードされる準備が完了することができるようになる。
【0096】
プリントヘッドインタフェース(HI)32は、プロセッサがプリントヘッドに印刷されるドットをロードするための手段であり、実際のドット印刷プロセスを制御する。それはLLFUからの入力を取り込み、プリントヘッド自体にデータを出力する。PHIは多岐に渡るプリントヘッド長及びフォーマットを処理できる。幅広い動作カスタム化という点では、PHIは表33に従ってパラメータ化される。
【0097】
【表6】
Figure 0004546697
【0098】
PHIの内部構造は、最大6色、転送ごとに8個のセグメント、及び最大2つのセグメントグループに対処する。これは、完全bleedでA4/レターを印刷することができる15セグメント(8.5インチ)のプリンタには十分である。必要に応じてさらに幅広いプリントを作成するために、複数のPECを連結できる。
【0099】
プリントヘッドインタフェース(PHI)は、以下を含む。
・ステッピングモータだけではなく、複数のPECチップにも同期信号を提供する(並置(side−by−side)印刷及び両面(front/back)印刷を可能にする)LineSyncGen装置(LSGU)
・データをMemjetプリントヘッドに転送するMemjetインタフェース(MJI)
【0100】
図12には、プリントヘッドインタフェース(PHI)32の内部構造が示されている。PHIには2つのLSGU89、90がある。第1LSGU90は、すべての同期されたチップ内のMemjetインタフェース(MJI)を制御するために使用されるLineSync0(LS0)を生成する。第2LSGU89は、用紙駆動ステッピングモータを脈動する(pulse)するために使用されるLineSYnc1(LS1)を生成する。
【0101】
91にあるチップ上のマスタ/スレーブピンは、マスタ/スレーブ関係性によって複数のチップを並置印刷、両面印刷等のために連結できるようにする。マスタ/スレーブピンがVDDに取り付けられると、チップはマスタと見なされ、LineSyncGen装置90によって生成されるLineSyncパルスは、2つの3値状態イネーブル92によってすべてのチップが共用する、2つの3値状態LineSync共通行LineSync0の上にイネーブルされる。マスタ/スレーブピンがGNDに取り付けられると、チップはスレーブと見なされ、2つのLineSyncGen装置89、90によって生成されるLineSyncパルスは、共通のLiineSync行の上にイネーブルされない。このようにして、マスタチップのLineSyncパルスは、すべての接続されているチップ上でPHIによって使用される。
【0102】
LineSyncGen装置(LSGU)89、90は、ページを印刷するために必要とされる同期パルスの生成を担当する。各LSGUは、行同期をイネーブルするために外部LineSync信号を生成する。LGSU内部のジェネレータは、「継続する」ように言われるとき、及びその後停止するように言われるまであらゆる非常に多くのサイクル、LineSyncパルスを生成する。LineSyncパルスは次の行の始まりを定義する。LineSyncパルス間の正確なサイクル数は、ジェネレータごとに1つづつ、CycleBetweenPulsesレジスタによって決定される。それは少なくともある行を印刷し、別の行をロードできるほど長くなくてはならないが、所望されるように(例えば、用紙トランスポート回路構成要素の特別要件に対処するために)さらに長くなることがある。CycleBetweenPulsesレジスタが行印刷時間未満の数に設定されると、各LineSyncパルスが特定の行が印刷を終了する前に到達するため、ページは適切に印刷しないだろう。
【0103】
以下のインタフェースレジスタがLSGU内に含まれる。
【0104】
【表7】
Figure 0004546697
【0105】
LineSyncパルスはLGSUから直接的に使用されない。91でのマスタ/スレーブピンがマスタに設定される場合にだけ、LineSync0パルスは3値状態のLineSync0行97の上にイネーブルされる。その結果、LineSyncパルスは、マスタPECによって生成されるような形式だけで使用される(スレーブPECによって生成されるパルスは無視される)。
【0106】
MemJetインタフェース(MJI)93は、94にあるMemjetプリントヘッドにデータを転送し、Memjetインタフェースに、データの次の行の印刷をいつ開始するのかを教える。それは、指定されたセグメントからのフィードバックをイネーブルするためにも使用される。Memjetプリントヘッド95自体が、発射プロファイルが図3のPCシリアルインタフェース36によってプログラミングされる、そのノズルの発射シーケンスの制御を担当する。MJIは、第18.1項に説明されるプリントヘッドロード順に従う状態機械を含み、それは予熱サイクル及び清掃サイクルのための機能性も含んでよい。色ごとのドットカウントもMJによって保たれる(以下参照)。
【0107】
MJIは、以下の2つのデータソースの選択からプリントヘッドの中にデータをロードする。
・すべて1。つまり、すべてのノズルがそれ以降の印刷サイクルの間に発射し、予熱サイクルまたは清掃サイクルのためにプリントヘッドをロードするための標準的な機構である。
・LLFUの転送レジスタに保持される90ビット入力から。これは画像を印刷する標準的な手段である。第1転送では、第1の48ビットがプリントヘッドに送信され、第2の転送では、最後の42ビットがプリントヘッドに送信され、1番上の6ビットは0である。いったんすべての90ビットが送信されると、1ビット「前進」制御パルスがLLFUに送信される。
【0108】
MJIはそれがページのために何行を印刷しなければならないのかを知っている。MJIは「継続する」ように言われると、それは(NPSyncパルスを介してプリントヘッドに)最初の行を開始する前にLineSyncパルスを待機する。いったんそれが行のロード/印刷を終了すると、それは次の行を開始する前に次のLineSyncパルスまで待機する。いったん指定された数の行がロード/印刷されると、MJIは停止し、追加のLineSyncパルスを無視する。従って、MJIは97で直接的にLLF31(図3と図4を参照)に、(すべての同期チップの間で共用される)97でLineSync0に、及び外部MemJetプリントヘッド95に連結される。MJIはLLFUからの90ビットのデータを受け入れる。これらの90ビットの内、セグメント数及び色数に一致するビットだけが有効となるだろう。MJIの状態機械は、どのビットが有効であるのか、及びどのビットが有効ではないのかに注意しない―それは、ビットをプリントヘッドに渡すだけにすぎない。データ線及びMJIから出てくる制御信号は、後述されるようにチップのピンアウトに結線される。
【0109】
MJIは、最大2つのセグメントグループへの、転送あたり最大8個のセグメントに同期して引き入れられる、最大6色を含むプリントヘッドへの接続部数を有する。表35は、MJLに関する入力と出力の向きを含む接続部を一覧表示する。名称は、プリントヘッド上のピン接続部に対応する。
【0110】
【表8】
Figure 0004546697
【0111】
MJIは、プリントヘッドから発射されるそれぞれの色のドット数のカウントを維持する。色ごとのドットカウントは、プロセッサの制御下で個々にクリアされる32ビット値である。典型的な使用では、ドットカウントは、毎ページまたは半ページごとに読み取られ、クリアされるが、32ビット長では、各ドットカウントが、8インチ×12インチの17ページという最大カバレージドットカウントを保持することができる。該ドットカウントは、インクカートリッジがいつインク不足になるのかを予測する目的でQAチップを更新するためにプロセッサによって使用される。プロセッサは、QAチップから、色のそれぞれについてカートリッジ内のインク量を知っている。滴数のカウントが、インクセンサに対するニーズを排除し、インク溝が乾燥するのを防ぐ。更新された滴数カウントが、毎ページ後にQAチップに書き込まれる。十分なインクが残っていない限り新しいページは印刷されず、ユーザが、印刷し直されなければならない、価値のない半印刷済みページを得ることなくインクを交換できるようにする。
【0112】
図13では、Color Nのドットカウンタのレイアウトが示されている。すべての6つのドットカウンタが、好ましくは構造で同一である。該ドットカウンタは、HCUから15行から4行のエンコーダ99の中に、98にある色Nデータを取り込む。エンコーダ99の4つのライン出力は、加算器100、及び102で32ビットカウントを出力するColor Nドットカウント101に対してである。カウンタ101は、行103上のビットによってクリアされる可能性がある。カウンタ101のロードは、104のビットによって計時される。
プロセッサは、レジスタセットを介してMIIと通信する。レジスタは、プロセッサが、印刷進行についてのフィードバックを受け取るだけではなく、プリントをパラメータ化できるようにする。次のレジスタがMJIに含まれる。
【0113】
【表9】
Figure 0004546697
Figure 0004546697
【0114】
MJIのステータスレジスタは、以下のようなビット解釈の16ビットレジスタである。
【0115】
【表10】
Figure 0004546697
【0116】
以下の擬似コードは、単一行のためにプリントヘッドをロードするために必要とされる論理を示す。ロードがLineSyncパルスが到着した後にはじめて開始することに注意する。これは、行のためのデータがLLFFUにより作成され、プリントヘッドへの第1転送に有効であることを保証するためである。
【0117】
【表11】
Figure 0004546697
【0118】
清掃サイクルと予熱サイクルは、単に、MJIに適切なレジスタを設定し、プリントヘッドの発射パルスプロファイルをプログラミングすることによって達成される。
【0119】
・SetAllNozzles=1
・発射パルスプロファイルを(予熱モードの場合には)低期間に、あるいは清掃モードに適切なドロップイジェクションに設定する。
・NumLinesをノズルを発射しなければならない回数に設定する。
・継続ビットを設定してから、印刷サイクル完了時に継続ビットがクリアされるのを待機する。
【0120】
また、LSGUは、正しい周波数でLineSyncパルスを送信するようにプログラミングされなければならない。
【0121】
明細書を通して、目的は、任意の1つの実施形態または特徴の特定な集合に本発明を制限することなく、本発明の好ましい実施形態を説明することであった。当業者は、特定的な実施形態からの変化が、それにも関わらず本発明の範囲に該当することを理解できる。
【図面の簡単な説明】
【図1】 プリント機構制御装置により実行されるデータフロー及び機能を図解する図である。
【図2】 プリンタシステムの全体的なアーキテクチャとの関連でプリント機構制御装置を示す。
【図3】 プリント機構制御装置アーキテクチャを描く。
【図4】 図3のハーフトナー/コンポジタ装置(HCU)への外部インタフェースを描く。
【図5】 図4のHCUへの内部回路構成要素を示す図である。
【図6】 図5のドットマージャ装置内でのプロセスを描くブロック図を示す。
【図7】 図5のドット再編成装置内でのプロセスを描く図を示す。
【図8】 図5のラインローダ/フォーマット装置内のプロセスを描く図を示す。
【図9】 図8のLLFU内でカラーデータを生成するための内部回路構成要素を示す図である。
【図10】 図9に見られるLLFUの構成要素を描く。
【図11】 図9に見られるLLFUの構成要素を描く。
【図12】 プリントヘッドインタフェースへの内部回路構成要素を示す図である。
【図13】 プリントヘッドインタフェース内で使用されるドットカウンタの図を示す。
【符号の説明】
10 プリント機構制御装置(PEC)
12 メモリ
12,15 メモリバッファ
16 ページエキスパンダ
21 ページ
23 プリントヘッド
24 メモリブロック
25/26 QAチップ
25 マスタチップ
26 交換式インクカートリッジQAチップ
27 高速シリアルインタフェース
29 ハーフトナー/コンポジタ(HCU)装置
32 プリントヘッドインタフェース
35 CPUコア
36 シリアルインタフェース
37 4平面連続階調バッファ
38 二層spot1バッファ
39 二層dmselectバッファ
40 二層タグFIFO
43 スケール装置
44/49/50/51 コンパレータ
48 ディザマトリックスアクセス装置
57 マージン装置
59 ドット再編成(reorg)装置(DRU)
61 6ビットカラーマスクレジスタ
62 レジスタ(A)
63 レジスタ(B)
64 DRU状態機械
65 レジスタ(C)
66 32ビットマルチプレクサ
67 入力
68 出力
71/72 バッファEF
81/83 バッファOE1
82 バッファAB
84 バッファCD
86 カラーバッファN
89/90 LineSyncGen装置
91 パラレルインタフェース[0001]
(Technical field)
The present invention relates to a print mechanism / control device adapted to operate with a number of print mechanisms / control devices in driving the print head, and to a print head driven by a plurality of print mechanisms / control devices.
[0002]
(Background technology)
In the prior art, a single print mechanism / control device controls a single printhead. However, this solution does not scale well for wider format printheads, high resolution input images, or even faster printing. For a wide range of printheads, the controller chip must now be made to run faster to print the same number of print lines each longer. Or, if the printhead must run faster, the print controller must run at a faster clock speed. Or if the resolution of the input image is higher, the control chip has more buffers built in or runs faster to actually process a larger input image because it is higher resolution. Or both.
[0003]
A series of printer types have evolved in which images are constructed from ink that is selectively applied to a page in dot format. In U.S. Pat. No. 6,045,710 entitled “Automatic Alignment Structure and Manufacturing Process for Monolithic Printheads” to inventor Kia Silverbrook, the prior art evaluation of drop-on-demand printers along with its manufacturing process It is stated.
[0004]
Various methods, systems and apparatus relating to the present invention are disclosed in the following co-pending applications filed on May 24, 2000 by the assignee or assignee of the present invention:
PCT / AU00 / 00518, PCT / AU00 / 00519, PCT / AU00 / 00520, PCT / AU00 / 00521, PCT / AU00 / 00523, PCT / AU00 / 00524, PCT / AU00 / 00525, PCT / AU00 / 00526, PCT / AU00 / 00527, PCT / AU00 / 00528, PCT / AU00 / 00529, PCT / AU00 / 00530 PCT / AU00 / 005311, PCT / AU00 / 00532, PCT / AU00 / 00533, PCT / AU00 / 00534, PCT / AU00 / 00535 , PCT / AU00 / 00536, PCT / AU00 / 00537, PCT / ATJ00 / 00538, PCT / AU00 / 00539, PCT / U00 / 00540, PCT / AU00 / 00541, PCT / AU00 / 00542, PCT / AU00 / 00543, PCT / AU00 / 00544, PCT / AU00 / 00545, PCT / AU00 / 00547, PCT / AU00 / 00546, PCT / AU00 / 00554, PCT / AU00 / 00556, PCT / AU00 / 00557, PCT / AU00 / 00558, PCT / AU00 / 00559, PCT / AU00 / 00560, PCT / AU00 / 0056I, PCT / AU00 / 00562, PCT / AU00 / 00563 PCT / AU00 / 00564, PCT / AU00 / 00566, PCT / AU00 / 00567, PCT / AU00 / 00568, PCT / AU00 / 00569, PCT / AU00 / 00 570, PCT / AU00 / 00571, PCT / AU00 / 00572, PCT / AU00 / 00573, PCT / AU00 / 00574, PCF / AU00 / 00575, FCT / AU00 / 00576, PCT / AU00 / o0577 , PCT / AU00 / 00578, PCT / AU00 / 00579, Pcr / AU00 / 00581, PCT / AU00 / 00580, PCT / AU00 / 00582, PCT / AU00 / 00587, PCT / AU00 / 00588, PCT / AU00 / 00589, PCT / AU00 / 00583, PCT / AU00 / 00593, PCT / AU00 / 00590, PCT / AU00 / 00591, PCT / AU00 / 0059 , PCT / AU00 / 00594, PCT / AU00 / 00595, PCT / AU00 / 00596, PCT / AU00 / 00597, PCT / AU00 / 00598, PCT / AU00 / 00516, PCT / AU00 / 005l7 and PCT / AU00 / 00511
The disclosures of these copending applications are hereby incorporated by cross-reference.
[0005]
In addition, various methods, systems and apparatus related to the present invention are disclosed in the following co-pending PCT applications filed concurrently by the assignee or assignee of the present invention. That is, PCT / AU00 / 00755, PCT / AU00 / 00756, and PCT / AU00 / 00757.
[0006]
The disclosures of these copending applications are hereby incorporated by cross-reference. Each application is tentatively specified for each case serial number. This will be replaced with the corresponding PCT application number when it becomes available.
[0007]
Of particular note are co-pending PCT application numbers patent applications PCT / AU00 / 00591, PCT / AU00 / 00578, PCT /, which describe a microelectromechanical drop-on-demand printhead, hereinafter referred to as a MemJet printhead. AU00 / No. 00579, PCT / AU00 / No. 00592, and PCT / AU00 / No. 00590.
[0008]
The Memjet printhead is developed from a printhead segment that can produce two-layer dot liquid ink, for example 1600 dpi, across the entire page width. The dots are easily separated and produced to make full use of distributed dot dithering. The color plane is printed with complete registration, allowing for ideal dot-on-dot printing. The printhead enables high speed printing using microelectromechanical ink drop technology.
[0009]
In addition, co-pending PCT applications PCT / AU00 / 00516, PCT / AU00 / 00517, PCT / AU00 / 00511 and PCT / AU00 / 00755, PCT / AU00 / 00756 and PCT / AU00 / No. 0777 describes a print printing mechanism / control device suitable for driving the page width printhead referred to above.
[0010]
A single print mechanism / controller (PEC) chip can drive a printhead of the type referred to above and print a dithered version of a 320 ppi continuous tone image on a 12 inch printhead. It would be desirable to be able to print higher resolution images for higher quality output. It would be desirable to be able to run the printhead at a higher speed.
[0011]
(Summary of Invention)
The present invention
An interface for receiving compressed page data;
An image decoder for decoding the compressed screen plane in the received compressed page data;
A half toner / compositor for combining each strip of the decrypted screen;
A printhead interface for outputting the composite strip to the printhead;
A multi-segment printhead interface for outputting printhead format data; and
A synchronization signal generator for outputting a synchronization signal for coupling to a print mechanism / control device for synchronizing its respective strips at the printhead;
A printhead interface including:
A printing mechanism / control device configured to be coupled with others to drive an ink dot printhead.
[0012]
The Memjet print head is a multi-segment print head in which each segment of the print head has a physical connection. For example, a Memjet printhead can be constructed from multiple chips, each having a single printhead segment, or can be constructed from multiple chips, each containing multiple segments. The wiring is the same in both cases and the logical connectivity is the same in both cases—that is, multiple segments combine to form one wider printhead.
[0013]
Advantageously, the present invention uses multiple copies of the same printing mechanism controller to drive a multi-segment printhead, each responsible for stripping a page, all synchronized from the master chip. A wide variety of configurations can be constructed according to the required application. For example, considering a 12 segment printhead, a single print mechanism / controller (PEC) can be used to run the entire printhead with a continuous tone resolution of 320 ppi and a maximum line speed of 30,000 lines per second. If it is necessary to achieve twice the speed, two PECs can each control 6 segments and still run at 320 ppi continuous tone resolution. However, the substantial speed has been doubled. Similarly, if the continuous tone resolution needs to be boosted to 640 ppi, two PECs can run the printhead at 30,000 lines per second.
[0014]
Synchronization can also be easily used for simultaneous duplex printing. The first PEC prints 12 inches (15 segments) on one side of the page, while the second PEC prints on the second side of the page. As long as there is a single master chip that issues the sync signal, a combination of PECs can be achieved.
[0015]
Driving a single printhead from multiple chips is advantageous for producing wider pages, faster printing, higher input resolution, or a combination of all three.
[0016]
In order to use multiple PECs, the same page can be specified for multiple PECs. As a result, various PECs process strips of page data and create entire pages with faster time and / or higher resolution. A simple way to send data from multiple PECs to a printhead is simply to have each PEC assigned a specified number of printhead segments.
[0017]
The programming of the individual PECs for the strips in the entire page is organized in a margin device in each PEC half toner / compositor. A tag encoder within each print mechanism / control device can process strips of pages and create partial tags when a tagged page is desired.
[0018]
When multiple PEGs are used simultaneously, such as in a duplexed configuration or in a printhead configuration consisting of 16 or more Memjet segments, they are synchronized via a shared line synchronization signal. Only one printhead controller chip selected via an external master / slave pin generates a line synchronization signal on the shared line. The interior of the PEC allows printing a single strip of the page in combination with other PECs. This includes the generation of partial Netpage tags and page descriptions. However, it is the external page provider's responsibility to correctly assign the various strips to each PEC.
[0019]
(Detailed description of the invention)
Typically a 12 inch printhead width is controlled by one or more print mechanisms / control units (PECs) as described below to allow full-bleed printing of both A4 and letter pages. Is done. In the current printing environment, six channels of color ink are expected to be the largest,
・ CMY for standard color printing
・ K for black text and other black printing
IR (infrared) for tag-enabled applications
・ F (color stop) to enable high-speed printing
It is.
[0020]
Since the printer must be capable of high speed printing, a fixatih will be required for the ink to dry before the next page completes printing at a higher speed. Otherwise, the pages may be printed on top of each other in a bleed. A fixatih is not necessary in low-speed printing situations.
The PEC can be built in a single chip to connect with the printhead. It will include four basic levels of functionality:
[0021]
Receive a compressed page via a serial interface such as IEEE 1394.
[0022]
A print mechanism for creating pages from a compressed format. The functionality of the printing mechanism is to enlarge the page image, dither the continuous tone layer, combine the black layer on the continuous tone layer, add an infrared tag if necessary, and the resulting image printer head Including sending to.
[0023]
A print control device for controlling the print head and the stepping motor.
[0024]
• Two standard low-speed serial ports for communication with two QA chips. Note that two ports are required instead of just one port to ensure strong security during the authentication procedure.
[0025]
In FIG. 1, the flow of data for sending a document from a computer system to a printed page is shown. The document is received at 11 and a page layout may be achieved and loaded into the memory buffer 12 where any needed objects may be added. Pages from the memory 12 are rasterized at 13 and compressed at 14 before transmission to the print mechanism controller 10. The page is received in the memory buffer 15 as a compressed page image in the print mechanism controller 10, and the page is sent to the page expander 16 where the page image is retrieved from the memory buffer. The required dither may be applied to any continuous tone layer at 17. With 18 infrared tags, at 18 any two black layers may be composited onto the continuous tone layer. The combined page data is printed at 20 to create page 21.
[0026]
The printing mechanism / control device takes a compressed page image and initiates page expansion and printing in a pipeline manner. Preferably, page expansion and printing are pipelined because it is impractical to store a fairly large two-layer CMYK + IR page image in memory.
[0027]
In the first stage of the pipeline, all in parallel, the JPEG compressed continuous tone CMYK layer (see below) is expanded, and the group 4 fax compressed two-layer dither matrix selection map (see below) is expanded. At the same time, the tag encoder encodes the two-layer IR tag data from the compressed page image. In the second stage, dither matrix CMYK is dithered using the dither matrix selected by the dither matrix selection map, the two black layers are combined on top of the resulting double layer K layer, and the IR layer is paged Add to The fixture layer is also generated at each dot position whenever it is necessary for any of the C channel, M channel, Y channel, K channel, or IR channel. In the final stage, the two-layer CMYK + IR data is printed through the print head via the print head interface (see below).
[0028]
In FIG. 2, it is shown how the printing mechanism / controller 10 fits within the overall printer system architecture. Various components of the printer system may include:
[0029]
Print mechanism / control device (PEC). The PEC chip 10, i.e., the chip, is responsible for receiving the compressed page image for storage in the memory buffer 24, performing page expansion, combining the dot data with the black layer, and sending it to the print head 23. . It also communicates with the QA chips 25, 26 and provides a means for retrieving print head characteristics to ensure optimal printing. PEC is the subject of this specification.
[0030]
-Memory buffer. The memory buffer 24 is used for storing the compressed page image and for scribble during printing of the designated page. The structure and operation of memory buffers are known to those skilled in the art, and a series of standard chips and techniques for their use may be exploited using the PEC of the present invention.
[0031]
-Master QA chip. The master chip 25 is aligned with the replaceable ink cartridge QA chip 26. The structure and operation of QA devices are known to those skilled in the art, and a series of known QA processes can be exploited using the PEC of the present invention. For example, QA chips are described in co-pending US patent applications.
[0032]
[Table 1]
Figure 0004546697
[0033]
QA chip communication is best included in the overall functionality of the PEC chip because it plays a role not only in physical printhead execution, but also in image magnification. By placing QA chip communication there, it can be ensured that there is enough ink to print the page. Preferably, QA embedded in the printhead assembly is realized using an authentication chip. Since it is a master QA chip, it only contains an authentication key and no user data. However, it must fit the QA chip of the ink cartridge. The QA chip in the ink cartridge contains the information needed to maintain the best possible print quality and is implemented using an authentication chip.
[0034]
Preferably, a 64 MBit (8 MByte) memory buffer is used to store the compressed page image. One page is being written to the buffer while another is being read (double buffering). In addition, PEC uses memory to buffer the dot information calculated during the printing of the page. During the printing of page N, the buffer is used for:
-Reading compressed page N
Read and write double layer dot information for page N
-Writing compressed page N + 1
[0035]
Preferably, the PEC chip will implement a simple microcontroller CPU core 35 to perform the following functions.
Execute the QA chip authentication protocol between the print pages via the serial interface 36.
Execute the stepping motor via the parallel interface 91 during printing (the stepping motor requires a 5 kHz process).
Synchronize various parts of the PEC chip during printing.
・ It becomes a connection means with external data request (programming register etc.).
• Connects to printhead segment low speed data requests (such as reading a characterization vector and writing a pulse profile).
A means for writing a vertical format and a horizontal format tag structure in an external DRAM.
[0036]
Since all image processing is performed by dedicated hardware, the CPU does not need to process the pixels. As a result, the CPU can be very simple. A wide variety of known CPU cores are appropriate. That is, it can be any processor core with sufficient processing power to perform the required computation and control functions fast enough. An example of a suitable core is a Philips 8051 microcontroller running at about 1 MHz. Associated with the CPU core 35 are a program ROM and a small program scratch RAM. The CPU communicates with other devices within the PEC chip via memory mapped I / O. A particular address range can be mapped to a particular device, and within each range, can be mapped to a particular register within that particular device. This includes a serial interface 36 and a parallel 91 interface. A small program flash ROM may be incorporated into the PEC chip. Its size depends on the CPU chosen, but should not exceed 8KB. Similarly, a small scratch RAM area may be incorporated into the PEC chip. Since the program code does not need to manipulate the image, there is no need for a large scratch area. The RAM size depends on the selected CPU (eg, stack mechanism, subroutine calling convention, register size, etc.), but should not exceed about 2 KB.
[0037]
PEC chips that use the segment-based page width printhead referenced above can reproduce black at full dot resolution (typically 1600 dpi), but use halftones to produce continuous tone color at somewhat lower resolutions. Reproduce. Therefore, the page description is divided into two black layers and a continuous tone layer. The two black layers are set to composite on the continuous tone layer. The two black layers consist of a bitmap containing one bit of opacity for each pixel. The black layer matte has a resolution that is an integer coefficient of the printer dot resolution. The highest supported resolution is 1600 dpi, the full dot resolution of the printer. The continuous tone layer consists of a bitmap containing 32 bits of CMYK colors per pixel, where K is optional. This continuous tone image has a resolution that is an integer coefficient of the dot resolution of the printer. The highest supported resolution is 320 ppi at 12 inches for a single PEC, which is one fifth of the printer dot resolution. For higher continuous tone resolution, multiple PECs are required, each PEC implementing a strip of output pages. Continuous tone resolution is also generally an integer coefficient of black two-layer resolution to simplify RIP calculations. However, this is not a requirement. The two black layers and the continuous tone layer take a compressed form together for efficient storage in the printer's internal memory.
[0038]
In FIG. 3, the printing mechanism architecture is shown. The page expansion and print pipeline of the print mechanism includes a high-speed serial interface 27 (such as a standard IEEE 1394 interface), a standard JPEG decoder 28, a standard group 4 FAX decoder 4, a custom halftoner / compositor device 29, a custom tag encoder 30, a line loader / It comprises a formatter device 31 and a custom interface 32 to the print head 33. Tag encoder 30 establishes one or more infrared tags for the page according to the protocol depending on what the page is used for, and the actual content of the tag is not the subject of the present invention.
[0039]
The printing mechanism operates in a double buffered manner. One page is loaded into the DRAM 34 from the high-speed serial interface 27 via the DRAM interface 89 and the data bus 90, but the previously loaded page is read from the DRAM 34 and passes through the print mechanism pipeline. Once the page has finished printing, the page just loaded becomes the printed page and a new page is loaded via the high speed serial interface 27. In the first stage, the pipeline expands any JPEG compressed continuous tone (CMYK) layer and expands either of the two group 4 fax compressed double layer data streams. (The PEG is actually color-tolerant, and the two layers can be directed to one of the output links) The two streams are black layers and are continuous tone dithering (see below) Matte for choosing between dither matrices for. In the second stage, in parallel with the first stage, every tag is encoded for later rendering in either IR or black ink. Finally, the third stage dithers the continuous tone layer and combines the position tag and the two spot1 layers on the resulting two dithered layers. The data stream is ideally adjusted to produce a smooth transition across overlapping segments in the printhead, and ideally it is adjusted to compensate for failed nozzles in the printhead. Up to six channels of bi-layer data arise from this stage. Note that all 6 channels may not be present on the printhead. For example, K can be pushed into the CMY channel, IR can be ignored, and the printhead can be CMY only. Alternatively, a location tag may be printed on K if an IR link is not available (or for testing purposes). The resulting double layer CMYK-IR dot data is buffered and formatted for printing on the printhead 33 via a set of line buffers (see below). The majority of these line buffers may ideally be stored in off-chip DRAM 34. The final step is to print 6 channels of bi-level dot data via the printhead interface 32.
[0040]
Compression is used in printing systems that utilize PEC. This is not only to reduce the memory requirement for page storage, but also to reduce the bandwidth requirement between the host and the PEC. At 267 ppi, the letter page of continuous tone CMYK data has a size of 25 MB. Using a lossy continuous tone compression algorithm such as JPEG (see below), continuous tone images are compressed at a ratio of up to 10: 1 with no noticeable loss of quality, which is 2.5 MB Provides a compressed page size. At 800 dpi, the letter page of double-layer data has a size of 7 MB. Coherent data such as text is compressed very well. Using a two-layer compression algorithm without compression, such as Group 4 facsimile (see below), 10 point text is compressed at a ratio of about 10: 1, providing a compressed page size of 0.8 MB. Once dithered, one page of CMYK continuous tone image data consists of 114 MB of double layer data. The two-layer compressed page image format described below takes advantage of the relative advantages of lossy JPEG continuous tone image compression and lossless two-layer text compression. The format is compact enough for efficient storage and simple enough to allow easy real-time expansion during printing. Since text and images usually do not overlap, the usual worst page image size is 2.5 MB (ie only images), but the normal best case page image size is 0.8 MB (ie only text). The absolute worst case page image size is 3.3 MB (ie the text on the image). Assuming that a quarter of the average page contains images, the average page image size is 1.2 MB.
[0041]
Group 3 facsimile compression algorithm (see ANSI / EIA 538-1988, Facsimile Coding Scheme and Coding Control Function for Group 4 Facsimile Devices, August 1988) for transmission over telephone lines with low noise. It can be used to compress double layer data without loss. Double-layer data represents black text and graphics scanned against a white background, and the algorithm is adjusted for this class of images (for example, explicit for halftoned double-layer images Not adjusted). The ID group 3 algorithm performs run length encoding on each scan line and then Huffman encodes the resulting run length. Run lengths in the range 0 to 63 are coded with termination codes. Run lengths in the range 64 to 2623 are each coded with a makeup code representing a multiple of 64 followed by a termination code. Run lengths greater than 2623 are coded with multiple makeup codes followed by a termination code. The Huffman table is fixed, but is adjusted separately for black and white runs (except for the common 1728 makeup codes). When possible, the 2D group 3 algorithm encodes scan lines as a set of short edge deltas (0, ± 1, ± 2, ± 3) with respect to past scan lines. The delta symbol is entropy encoded (so that the length of the zero delta symbol is only 1 bit, etc.). Edges in 2D encoded lines that cannot be delta encoded are run length encoded and identified with a prefix. The 1D- and 2D-encoded lines are marked separately. In order to ensure that the decoder can recover from line noise with minimal image degradation, 1D-encoded lines are created at regular intervals, regardless of whether they are actually needed. 2D Group 3 achieves compression ratios of up to 6: 1 (January 1992, Electronic Image Technology Journal Volume 1 (1), January 1992, p. 5-21, Urban, SJ "Facsimile (See "Review of standards for electronic image technology for systems").
[0042]
The group 4 facsimile algorithm (see ANSI / EIA 538-1988, factory coding schemes and coding control functions for group 4 facsimile machines, August 1988) for transmission on error-free communication lines. Compress double-layer data without loss (ie, the line is truly error-free or error correction is performed at a lower protocol level). Since the Group 4 algorithm is based on the 2D Group 3 algorithm and the transmission is assumed to be error free, the essential that 1D-coded lines are no longer generated at regular intervals as an aid to error recovery. With improvement. Group 4 achieves compression ratios ranging from 20: 1 to 60: 1 for the CCITT set of test images. The design goals and performance of the group 4 compression algorithm qualify it as a compression algorithm for two layers. However, the Huffman table is adjusted to a lower scan resolution (100-400 dpi), which improperly encodes run lengths greater than 2623. At 800 dpi, our maximum run length is currently 6400. A Group 4 decoder core is available for use in PEC, but it may require improvement because it may not handle run lengths beyond those normally encountered in 400 dpi facsimile applications. The black layer (typically 1600 dpi) is compressed without loss using G4Fax with a typical compression ratio exceeding 10: 1. A dither matrix selection layer (typically 320 dpi) that matches the continuous tone color layer is compressed without loss using G4Fax with a typical compression ratio of over 50: 1.
[0043]
The group 4 fax (G4 fax) decoder is responsible for the recovery of the double layer data. Double-layer data is for use in a single spot color (typically black for text and coordinate graphics) and subsequent dithering of continuous tone data (reconstructed by a JPEG decoder) Limited to dither matrix selection bitmap. The input to the G4 fax decoder is two planes of double layer data read from the external DRAM. The output of the G4 fax decoder is two planes of recovered double layer data. The restored two-layer data is sent to a half toner / compositor unit (HCU) for the next stage of the printing pipeline. Two two-layer buffers provide a means for transferring two-layer data between the G4 fax decoder and the HCU. Each restored bi-layer is output to two line buffers. Each buffer can hold a complete 12 inch line of dots at the expected maximum resolution. Having two line buffers allows the HCU to read one row while the other row is being written by the G4 fax decoder. This is important because a single bilayer line is typically less than 1600 dpi and therefore must be enlarged in both dot and row dimensions. If the buffering is less than one full line, the G4 fax decoder will have to decode the same line multiple times—that is, once for every 600 dpi dot line output.
[0044]
Spot color 1 is intended to enable high resolution dot data for a single color plane of the output image. The continuous tone layer gives the image appropriate resolution, but spot color 1 is targeted for applications such as text and coordinate graphics (typically black). When used as text and coordinated graphics, typical compression ratios exceed 10: 1. Spot color 1 allows variable resolutions up to 1600 dpi for maximum print quality. Therefore, the two line buffers total 2400 bytes (12 inches × 1600 dpi = 19,200 bits).
[0045]
The resolution of the dither matrix selection map ideally matches the continuous tone resolution. As a result, each of the two line buffers is therefore 480 bytes (3840 bits) capable of storing 12 inches at 320 dpi. When the map matches the continuous tone resolution, typical compression ratios exceed 50: 1.
[0046]
To provide support for:
-800 dpi spot color 1 layer (generally black)
・ 320 dpi dither matrix selection layer
Restore bandwidth requirement is 9.5 MB per second per page performance (regardless of page width 12 inches or 8.5 inches), between maximum printer speed performance (30,000 lines per second) For a 12-inch page width and an 8.5-inch page width, the rates are 20 MB / second and 14.2 MB / second, respectively. Considering that the recovered data is output to the line buffer, the G4 fax decoder can easily recover one line at a time from each of the outputs.
[0047]
The G4 fax decoder is sent directly from the main memory via the DRAM interface. The amount of compression determines the bandwidth requirements for the external DRAM. Since G4 fax is lossless, the complexity of the image affects the amount of data and thus the bandwidth. Typically, an 800 dpi black text / graphics layer exceeds 10: 1 compression, so the bandwidth required to print one page per second is 0.78 MB per second. Similarly, a typical 320 dpi dither selection matrix compresses over 50: 1, yielding 0.025 MB bandwidth per second. The fastest print speed configuration of 320 dpi for the dither selection matrix and 800 dpi for spot color 1 require 1.72 MB / s and 0.056 MB / s respectively. Therefore, the total bandwidth of 2 MB per second should be more than enough for the DRAM bandwidth.
[0048]
G4 decoding functionality is realized by the G4 fax decoder core. A wide variety of G4 fax decoder cores are appropriate. That is, it is an arbitrary core with sufficient processing power to perform the required computation and control functions fast enough. It may require improvement because it must be able to handle run lengths beyond those normally encountered in 400 dpi facsimile applications.
[0049]
The JPEG compression algorithm (see ISO / IEC 19017-1: 1944, Information Technology-Digital Compression and Coding of Continuous Tone Still Images: Requirements and Guidelines, 1944) allows continuous tone images at a specified quality level. Compress much loss. It causes unacceptable image degradation at compression ratios below 5: 1 and very little image degradation at compression ratios below 10: 1 (Wallace, GK “JPEG still image compression standard”, ACM communication, Vol. 34, No. 4, April 1991, pages 30-44). JPEG generally converts an image first into a color space that separates luminance and chrominance into separate color channels. This allows the chrominance channel to be subsampled without suffering appreciable loss because the human visual system is more sensitive to luminance than chrominance. After this first step, each color channel is compressed separately. The image is divided into 8 × 8 pixel blocks. Each block is then transformed to the frequency domain via a discrete cosine transform (DCT). This transformation has the effect of concentrating the image energy with a relatively low frequency coefficient that allows the high frequency coefficients to be quantized more rigorously. This quantization is the main source of JPEG compression. Additional compression is achieved by ordering the coefficients by frequency to maximize the likelihood of adjacent zero coefficients and then run length encoding the runs of zeros. Finally, run lengths and non-zero frequency coefficients are entropy coded. Decompression is the inverse process of compression.
[0050]
The CMYK (or CMY) continuous tone layer is compressed into a two-dimensional color JPEG byte stream. If luminance / chrominance separation is deemed necessary for either table sharing or chrominance subsampling purposes, CMYK is converted to YCrCb and Cr and Cb are correctly subsampled. The JPEG bitstream is complete and self-contained. It contains all the data needed for reconstruction, including quantization table and Huffman table.
[0051]
The JPEG decoder is responsible for performing on-the-fly restoration of the continuous tone data layer. The input to the JPEG decoder is up to 4-plane continuous tone data. This is typically three planes representing a CMY continuous tone image, or four planes representing a CMYK continuous tone image. In general, all color planes have the same resolution, but each color plane can have a different resolution. The continuous tone layer is read from an external DRAM. The output of the JPEG decoder is restored continuous tone data that is separated into planes. The restored continuous tone image is sent to a half toner / compositor unit (HCU) 29 for the next stage of the printing pipeline. The four-plane continuous tone buffer serves as means for transferring continuous tone data between the JPEG decoder and the HCU 29.
[0052]
Each color plane of the restored continuous tone data is output to a set of two line buffers (see below). Since each line buffer is 3840 bytes, it can hold 12 inch single color plane pixels at 320 ppi. Line buffering allows the HCU to read one line buffer while the other line buffer is being written by the JPEG decoder. This is important because a single continuous tone row is typically less than 1600 dpi and must be enlarged in both dot and row dimensions. If the buffering is less than one full line, the JPEG decoder will have to decode the same line multiple times--that is, once every 600 dpi dot line of output. A wide variety of resolutions are supported, but there is a trade-off between resolution and available bandwidth. As the number of resolutions and colors increases, so does the bandwidth requirement. In addition, the number of segments targeted by the PEC chip also affects the resolution considered bandwidth. Note that because the successive presidential images are processed in a two-dimensional format, each color plane can be stored at a different resolution (eg, CMY may be at a higher resolution than the K plane). The highest supported continuous tone resolution is 1600 dpi (which matches the full dot resolution of the printer). However, there is only an output line buffer memory that is satisfactory to hold enough continuous tone pixels in a 12 inch long 320 ppi row. It should be noted that if a full 12-inch output is required at a higher continuous tone resolution, the final output at the printer is still only two layers, although multiple PEC chips are Will be needed. With support for 4 colors at 320 ppi, the restored output bandwidth requirement is 40 MB per second for 1 page per second performance (regardless of whether the page width is 12 inches or 8.5 inches) and the maximum printer During speed performance (30,000 lines per second), 88 MB per second and 64 MB per second for 12 inch page width and 8.5 inch page width, respectively.
[0053]
The JPEG decoder is sent directly from the main memory via the DRAM interface. The amount of compression determines the bandwidth requirement for the external DRRAM. As the level of compression increases, the bandwidth decreases, but the quality of the final output image also decreases. Single color plane DRAM bandwidth can be easily calculated by applying a compression factor to the output bandwidth. For example, a single color plane at 320 ppi with a compression factor of 10: 1 requires access to 1 MB of DRAM per second to create one page per second.
[0054]
The functionality of JPEG is realized by the JPEG core. A wide variety of JPEG cores are appropriate. That is, it can be any JPEG core with sufficient processing power to perform the required computation and control functions fast enough. For example, the BTG X-Match core can restore four color planes with continuous tone resolution at up to 400 ppi at maximum printing speed (30,000 lines at 1600 dpi per second) and 800 ppi at a printer speed of 1 page per second. With a restore speed of up to 140 Mbytes per second. Note that the core only supports decompression and needs to reduce the requirements imposed by the more generalized JPEG compression / decompression core. The core size is expected to be 10,000 gates or less. Considering that the restored data is output to the line buffer, the JPEG decoder can easily restore the entire line at once for each color plane, thus switching context within the line. Omitting the control of the JPEG decoder 4 is simplified. Four contexts (one context per color plane) must be maintained, including not only the appropriate JPEG decoding parameters, but also the current address in the external DRAM.
[0055]
In FIG. 4, the halftoner / compositor unit (HCU) 29 has the ability to halftone a continuous tone (typically CMYK) layer into the same two-layer version and the appropriate halftoned continuous tone. Combines the ability to composite the spot1 bilayer on top of the layer (s). If there is no K ink in the printer, the HCU 29 can appropriately map K to CMY dots. It also selects between two dither matrices in pixel units based on the corresponding values in the dither matrix selection map. The input to the HCU 29 is generally the same resolution as the continuous tone layer enlarged through the buffer 37 (from the JPEG decoder device), the two spot1 layers enlarged through the buffer 38, and the continuous tone layer through the buffer 39. The enlarged dither matrix selection bitmap and the tag data at full dot resolution through the buffer 40. The HCU 29 uses up to two dither matrices that are read from an external DRAM. The output to the line loader / formatter unit (LLFU) at HCU 29-41 is a collection of printer resolution bi-layer image lines in up to six color planes. Generally, the continuous tone is CMYK or CMY, and the two spot1 layers are K.
[0056]
In FIG. 5, the HCU is shown in more detail. Once activated, the HCU proceeds until it detects a page edge condition or until it is explicitly stopped via its control register. The first task of the HCU is to scale all data received at the buffer plane, such as 42, horizontally and vertically to the printer resolution at each scale device, such as scale device 43.
[0057]
The scale device provides a means for scaling continuous tone or double layer data horizontally and vertically to the printer resolution. Scaling is accomplished by replicating an integer number of data values in both dimensions. The process of scaling data will be familiar to those skilled in the art.
[0058]
The margin device 57 provides the scale device 43 with two control bits: forward dot and forward advance. The forward dot bit allows the state machine to generate multiple instances of the same dot data (which is useful for creating page margins and dot data for overlapping segments in the printhead). The advance bit allows the state machine to control when a particular line of dots ends, thereby allowing truncation of data according to the printer margin. It also saves the scale device from requiring special line end logic. The input to the scale device is a complete line buffer. Rows are used multiple times to achieve vertical magnification by row replication, and within each row, each value is used multiple times to achieve horizontal magnification by pixel replication. Once the input line is used multiple times (the previous bit is set multiple times), the address input buffer selection bit is toggled (double buffering). Since the scale device only generates addresses, the logic of the scale device is the same for the 8-bit and 1-bit cases.
[0059]
Since each of the continuous tone layers may have a different resolution, they are scaled independently. The two-layer spot1 layer in buffer 45 and the dither matrix selection layer in buffer 46 also need to be scaled. The double layer tag data in the buffer 47 is established with the correct resolution and need not be scaled. The expanded dither matrix selection bits are used by the dither matrix access device 48 to select a single 8-bit value from the two dither matrices. The 8-bit value is output to four comparators, 44, and 49 to 51, which simply compare it to a special 8-bit continuous tone value. The actual generation of the dither matrix depends on the structure of the printhead and the general process for generating the dither matrix will be familiar to those skilled in the art. If the continuous tone value is greater than the 8-bit dither matrix value, 1 is output. If it is not large, 0 is output. These bits are then ANDed with the inPage bits from margin device 57, all at 52 to 56 (regardless of whether a particular dot is inside the printable area of the page). The final stage within the HCU is a composite stage. For each of the six output layers, there is a single dot merger device that includes six inputs each, such as device 58. The single output bit from each dot merger device is any or all combinations of input bits. This places the spot color in any output color plane (including infrared for test purposes) and merges black into blue-green, magenta, and yellow (when no black ink is present in the printhead) The tag dot data can be arranged on the visible plane. A fixture color plane can also be created easily. A dot reorganizer 59 takes the dot stream generated for the specified color plane and reduces it to a 32-bit quantity so that the output is in segment order and dot order within the segment. Responsible for organizing. Due to the fact that dots for overlapping segments are not generated in segment order, a minimal permutation is required.
[0060]
Two control bits, forward dot and forward advance, are provided to the scale device by the margin device 57. The forward dot bit allows the state machine to generate multiple instances of the same dot data (which is useful for creating dot data for page margins and overlapping segments in the printhead). The advance bit allows the state machine to control when a particular line of dots ends, thereby allowing truncation of data according to the printer margin. It also saves the scale device from requiring special end-of-line logic.
[0061]
The comparator device includes a simple 8-bit “larger” comparator. It is used to determine whether an 8-bit continuous tone value is greater than an 8-bit dither matrix value. Thus, the comparator device takes two 8-bit inputs and produces a single 1-bit output.
[0062]
FIG. 6 shows further details of the dot merger device. It provides a means to map double layer dithered data, spot1 color, and tag data to tag data in the actual print head. Each dot merger device takes six 1-bit inputs and produces a single bit output that represents the output dots for that color plane. The output bits at 60 are any or all combinations of input bits. This places the spot color in any output color plane (including infrared for test purposes), merges black into turquoise, magenta and yellow (when there is no black ink in the printhead) Enable tag dot data to be placed on the visible plane. The output for the fixture can also be easily generated by simply combining all of the input bits. The dot merger device includes a 6-bit ColorMask register 61 used as a mask for the 6 input bits. Each of the input bits is ANDed with the corresponding ColorMask register bit, and then the resulting 6 bits are ORed together to form the final output bit.
[0063]
In FIG. 7, the dot reorganization responsible for taking the dot beam generated for the color plane and organizing it into a 32-bit quantity so that the output is in segment order and dot order within the segment. A unit (DRU) is shown. Due to the fact that dots for overlapping segments are not generated in segment order, a minimal permutation is required. The DRU includes a 32-bit shift register, a standard 32-bit register, and a standard 16-bit register. A 5-bit counter tracks the number of bits processed so far. A dot advance signal from a dither matrix access unit (DMU) is used to instruct the DRU as to which bits need to be output.
[0064]
In FIG. 7, the register (A) 62 is timed every cycle. It contains the 32 most recent dots generated by a dot merger unit (DMU). The complete 32-bit value is copied to register (B) 63 every 32 cycles by the WriteEnable signal generated by DRU state machine 45 through a simple 5-bit counter. Sixteen odd bits (bits 1, 3, 5, 7, etc.) from register (B) 63 are copied to register (C) 65 with the same WriteEnable pulse. A 32-bit multiplexer 66 then selects between the following three outputs based on the two bits from the state machine.
[0065]
-Complete 32 bits from register B
A 32-bit value consisting of 16 even bits from register A (bits 0, 2, 4, 6, etc.) and 16 even bits from register B. The 16 even bits from register A form bits 0 to 15, while the 16 even bits from register B form bits 16 to 31.
A 32-bit value consisting of 16 odd bits (bits 1, 3, 5, 7, etc.) in register B and 16 bits in register C. Register C bits form bits 0-15, while odd bits from register B form bits 16-13.
[0066]
The state machine for the DRU can be shown in Table 1. The state machine starts in state 0. It changes state every 32 cycles. During 32 cycles, a single noOverlap bit collects the AND of all the dot advance bits of those 32 cycles (noOverlap = dot advance if cycle 0, and noOverlap = cycles 1 to 31) NoOverlap AND (AND) dot advance).
[0067]
[Table 2]
Figure 0004546697
[0068]
The margin unit (MU) 57 in FIG. 5 is in charge of converting the forward dot signal and the forward advance signal from the dither matrix access unit (DMU) 48 into a general control signal based on the page margin of the current page. To do. It is also responsible for creating page edge conditions. The MU maintains a dot and row counter for the entire page. Both are set to 0 at the beginning of the page. The dot counter is incremented by 1 each time the MU receives a dot advance signal from the DMAU. When the MU receives a row advance signal from the DMAU, the row counter is incremented and the dot counter is reset to zero. Each cycle, the current row value and dot value are compared to the page margins, and appropriate output dot advance signal, row advance signal, and in-margin signal are generated based on these margins. The DMAU contains only substantial memory requirements for the HCU.
[0069]
In FIG. 8, a line loader / formatter device (LLFU) is shown. It receives dot information from the HCU, loads the dots for the specified print line into the appropriate buffer storage (some on chip, some on external DRAM 34) and needs them to the printhead Format in the order A high level block diagram of LLFU in terms of its external interface is shown in FIG. The input 67 to the LLFU is a set of six 32-bit words and one DataValid bit, all generated by the HCU. Output 68 is a 90-bit set representing up to 15 printhead segments of 6 colors. Depending on how many colors are actually used in the printhead, all output bits may not be valid.
[0070]
The physical arrangement of firing nozzles on the print head referred to above, ie the nozzles in the offset column, means that the odd and even dots of the same color are for two separate rows. Yes. Even dots are for row L and odd dots are for row L-2. In addition, there are the number of lines between one color dot and another color dot. Since six color planes for the same dot location are calculated at once by the HCU, there is a need to delay the dot data for each color plane until the same dot is placed under the appropriate color nozzle.
[0071]
The size of each buffer line depends on the width of the printhead. Since a single PEC generates dots for up to 15 printhead segments, a single odd or even buffer row is thus a set of 15 640 dots totaling 9600 bits (1200 bytes). . For example, the buffers required for color 6 odd dots total approximately 45 KBytes.
[0072]
If the manufacturing technique is competent, the entire set of required buffers may be provided on the PEC chip. Otherwise, buffers for color 2 and later can be stored in external DRAM. This allows PEC to be effective even if the distance between color planes may change in the future. Keeping an even dot for color 1 on the PEC is trivial because everything is printed relative to that particular dot row (no additional line buffer is required). In addition, the two halves needed to buffer color 1 odd dots saves considerable DRAM bandwidth. The various line buffers (on chip and in DRAM) need to be pre-loaded with all zeros before the page is printed so that the page has a clean edge. The page edge is automatically generated by the HCU so that it has a clean edge.
[0073]
10, a block diagram of Color N OESplit (see Oesplit 70 in FIG. 9) and a block diagram of each of the two buffers E and F, 71 and 72 in FIG. 9 are shown in FIGS. 10 and 11. The buffer EF is a double buffered mechanism for transferring data to the print head interface (PHI) 32 of FIG. Therefore, the buffers E and F have the same structure. During the processing of one row of dots, one of the two buffers is written and the other is read. The two buffers are logically swapped when a row synchronization signal is received from the PHI. Both buffers E and F are composed of 6 sub-buffers in each job 1 sub-buffer as shown in FIG. 11, and the color 1 sub-buffer is numbered 73. The size of each subbuffer is 2400 bytes, enough to hold 15 segments at 1280 dots per segment. Since the memory is accessed 32 bits at a time, each subbuffer (which requires a 10-bit address) has 600 addresses. In each color sub-buffer, all even dots are placed before the odd bits. If there is unused space (for printing less than 15 segments), it is located at the end of each color subbuffer. The amount of memory actually used from each subbuffer is directly related to the number of segments actually addressed by the PEC. For a 15-segment printhead, there is no unused space and there are 1200 bytes of even bits followed by 1200 bytes of odd dots. The number of subbuffers used in a beneficial manner is directly related to the number of colors used in the printhead. The maximum number of colors supported is 16.
[0074]
The addressing decode circuitry for each of buffers E and F can perform a single 32-bit access to all six subbuffers—read from all six or write to one of six. As much as possible. For a total of 6 output bits, only one of the 32 bits read from each color buffer is selected. The process is illustrated in FIG. The 15 bits of the address allow a specific bit to be read by the 10 bits of the address being used to select 32 bits, and the 5 bits of the address pick 1 bit out of those 32. Since all color sub-buffers share this logic, a single 15-bit address issues 1 bit for each color, for a total of 6 bits. Each sub-buffer 73-78 has a dedicated WriteEnable line that allows a single 32-bit value to be written to a specific color buffer in a specified cycle. Individual WriteEnables are generated by ANDing a single WriteEnable input with the decoded version of ColorSelect. In practice, only one buffer pulls in data synchronously, so the 32-bit DataIn on row 79 is shared.
[0075]
Creating addresses for reading from buffers E and F is simple. Each cycle creates a bit address that is used to fetch 6 bits representing 1 bit for each color for a particular segment. Adding 640 to the current bit address advances to the equivalent dot of the next segment. Since odd dots and even dots are separated in the buffer, 640 is added (instead of 1280). This is done NumSegments times to retrieve the data representing the even dots and transfer those bits to the PHI. When NumSegments = 15, the number of bits is 90 (15 × 6 bits). The process is then repeated for odd bits. This entire even / odd bit generation process is repeated 640 times, incrementing the start address each time. In this way, all dot values are transferred to the PHI in the order required by the printhead in 640 × 2 × NumSegment cycles. When NumSegment = 15, the number of cycles is 19,200 cycles. Note that 6 bits (1 bit from each color buffer) are generated in the specified read cycle, regardless of the number of colors actually used in the printhead.
[0076]
In addition, a TWWriteEnable control signal for writing to the 90-bit transfer register 90 of FIG. 9 is generated. Since the LLFU is activated before the PHI, the forward pulse from the PHIbeforeThe first value must be transferred. The next value must also be generated in preparation for the first forward pulse. The solution is to transfer the first value to the transfer register after a NumSegments cycle, then stall after a NumSegments cycle and wait for a forward pulse to activate the next NumSegments cycle group. Once the first forward pulse arrives, the LLFU is synchronized to the PHI.
[0077]
The process of reading a single dot line is shown in the following pseudo code.
[0078]
[Table 3]
Figure 0004546697
[0079]
While the reading process is transferring data from E or F to PHI, the writing process is creating the next dot row in the other buffer.
[0080]
The data written to E or F is color 1 data generated by the HCU and data of colors 2 to 6 from the buffer D (supplied from the DRAM). Color 1 data is always written to the EF whenever the Output Valid flag of the HCU is set, and color 2-6 data is created during other dates from register C.
[0081]
Buffer OE 81 in FIG.1Is a 32-bit register used to hold a single 32-dot HCU adjacent for color 1. The dots are close together on the page, but the odd and even dots are printed when they are separate.
[0082]
Buffer AB82 is a double buffering mechanism for delaying odd dot data for color 1 for two dot rows. Therefore, the buffers A and B have the same structure. During processing of a row of dots, one of the two buffers is read and then written. The two buffers are logically swapped after the entire dot row has been processed. A single bit flag ABSsense determines which of the two buffers is read and written.
[0083]
The HCU provides 32 bits of color 1 whenever the output valid control flag is set, which is every 32 cycles after the first flag is sent for a row. The 32 bits are a contiguous set of 32 dots for a single dot row—16 even bits (bits 0, 2, 4, etc.) and 16 odd bits (bits 1, 3, 5, etc.) Define Output valid control flag is OE1Used as WriteEnable control for register 81. Process HCU data for every two OutputValid signals. The 16 even bits of HCU color 1 data are stored in register OE.1Are combined with the 16 even bits to produce 32 bits of even color 1 data. Similarly, the 16 odd bits of HCU color 1 data are stored in register OE.1Are combined with the 16 odd bits to produce 32 bits of odd color 1 data. When receiving the first output valid signal of the second group, the buffer AB is read in order to transfer the odd data to the colors 1 and 73 in FIG. 11 in the buffer EF. When the second output valid signal of the second group is received, 32 bits of the odd data are written in the same place in the buffer AB read in the past, and 32 bits of the even data are written in the color 1 in the buffer EF.
[0084]
When the HCUh and OutputValid control flags are set, 32-bit data is provided for each color plane. This occurs every 32 cycles except during certain startup times. The 32 bits are 32 dots for a single dot row-a close set of 16 even dots (bits 0, 2, 4, etc.) and 16 odd dots (bits 1, 3, 5, etc.) Define.
[0085]
Buffer OE1(83 in FIG. 10) is used to store a single 32-bit value for color 1, but buffer OE2To OE6Are used to store single 32-bit values for colors 2 through 6, respectively. The remaining colors so that the data for color 1 is split into 32 bits representing color 1 odd dots and 32 bits representing color 1 even bits every 64 cycles (once every 2 OutputValid flags) The plane is also divided into even dots and odd dots.
[0086]
However, instead of being written directly into the buffer EF, the dot data is delayed a number of rows and written out to the DRAM via the buffer CD (84 in FIG. 9). The dots in the designated row are written in the DRAM, but the dots in the past row are read from the DRAM and written in the buffer EF (71, 72). This process must be performed interleaved with the process of writing color 1 to buffer EF.
[0087]
Each time an OutputValid flag is received from the HCU on line 85 of FIG. 10, 32-bit color N data is stored in the buffer OE.N(83) is written. For each second OutputValid flag, the combined 64-bit value is written to the color buffer N (86). This occurs for all color planes 2 to 6 simultaneously. Color buffer N (86) contains 40 sets of 64 bits (320 bytes) to allow storing dots for two complete segments. As a result, the complete segment generation time (20 × 64 = 1280 cycles) for the past segment data (both odd and even dots) can be written to the DRAM. Address generation for writing is simple. The ColorNWriteEnable signal in line 87 is issued for each second OutputValid flag. The address starts at 0 and increments with every second OutputValid flag up to 39. Instead of proceeding to 40, the address is reset to 0, thus providing a double buffering scheme. This works fine as long as no reading occurs during the OutputValid flag, and past segment data can be written to the DRAM within the time required to generate single segment data. The process is shown in the following pseudo code.
[0088]
[Table 4]
Figure 0004546697
[0089]
Address generation for reading is more cumbersome because it is tied to timing for DRAM access (both read and write), buffer EF access, and hence color 1 generation. It is described more fully below.
[0090]
The address generation for buffers C, D, E, F and color N are all tied to the timing of DRAM access and should not interfere with color 1 processing for buffers E and F. The basic principle is that data for a single segment of color N (either odd or even dots) is transferred from the DRAM to the buffer EF via the buffer CD. Once the data is read from the DRAM, those dots are replaced based on the value in ColorBufferN. This is done for each of the odd and even dot colors. After the complete segment worth a dot has accumulated (20 sets of 64 cycles), the process resumes. Once all segments of data in a specified print line have been transferred from and to the DRAM, the current address for that color's DRAM buffer is that specific data for that color line is read from the DRAM. Proceed with the appropriate number of rows until it is returned. As a result, color N (either odd or even) is read from DRAM into buffer D while copying color N (same odd / even orientation) to buffer C. Copying data to buffer C takes 20 or 21 cycles, depending on whether the OutputValid flag occurs during 20 transfers. Once both tasks are finished (generally DRAM access will be the slower task), the second part of the process begins. Data in buffer C is written to DRAM (same location as just read) and data in buffer D is copied to buffer EF (color 1 data is transferred, so OutputValid flag is set The color N data is also not transferred to the buffer EF while the data is being stored. When both tasks are finished, the same process occurs for other orientations of color N (either odd or even). The entire duplex process occurs 10 times. Then, the address of each current row in the DRAM is updated to start processing the next row.
[0091]
In terms of bandwidth, DRAM access for the dot data buffer consumes the majority of all DRAM access from the PEC. For each print line, the entire dot line of colors 2 to 6 is read and the entire dot line of colors 2 to 6 is written. For a maximum of 15 segments, this is equal to 2 × 5 × 15 × 1280 bits = 192,000 bits (24,000 bytes) per printed line. For the fastest printing system (30,000 lines per second) this is equal to 687 MB per second. For printing one page per second, the required bandwidth is 312 MB per second. Because the bandwidth is very high, the various half row addresses for each color in the DRAM need to be optimized for the memory type being used. For example, in an RDRAM memory system, the very first half-line buffer is conveniently aligned to a 1 KByte boundary to maximize page hits on DRAM accesses. Since various segments are processed, it is necessary to ensure that the 640-bit access spans two pages if the start of the next segment is aligned with byte 960 in the 1 KByte page. Thus, the variable DRAMMaxVal is used to check for this case, and when it occurs, the address is rounded up for the next half-line buffer to be page aligned. As a result, the only waste is 64 bytes for every 13 segments, but has the advantage of a 640-bit access entirely within a single page.
[0092]
The address generation process can be viewed as NumSegments worth 10 sets of 20x32 bit reads followed by a 20x32 bit write, which is shown in the pseudo code below.
[0093]
[Table 5]
Figure 0004546697
[0094]
Note that the MaxHalfColors register is one less than the number of colors in terms of the odd and even colors processed separately, but does not include color 1. For example, in terms of a standard six-color printing system, there are 10 (odd and even colors 2 to 6), so MaxHalfColors needs to be set to 9.
[0095]
The LLFU requires 2 NumSegments cycles to prepare the first 180 bits of data for Printhead Interface (PHI) 32. As a result, the printhead needs to be activated and the first LineSync pulse must occur during this period after the LLFU is activated. This validates the initial transfer value and allows the next 90-bit value to be ready for loading into the transfer register.
[0096]
The printhead interface (HI) 32 is a means for the processor to load the dots to be printed on the printhead and controls the actual dot printing process. It takes input from the LLFU and outputs data to the print head itself. The PHI can handle a wide variety of printhead lengths and formats. In terms of broad behavior customization, the PHI is parameterized according to Table 33.
[0097]
[Table 6]
Figure 0004546697
[0098]
The internal structure of the PHI handles up to 6 colors, 8 segments per transfer, and up to 2 segment groups. This is sufficient for a 15 segment (8.5 inch) printer capable of printing A4 / letter in full bleed. Multiple PECs can be concatenated to create wider prints as needed.
[0099]
The printhead interface (PHI) includes:
LineSyncGen device (LSGU) that provides synchronization signals to multiple PEC chips as well as stepping motors (allows side-by-side printing and front / back printing)
-Memjet interface (MJI) for transferring data to the Memjet printhead
[0100]
FIG. 12 shows the internal structure of the printhead interface (PHI) 32. There are two LSGUs 89, 90 in the PHI. The first LSGU 90 generates LineSync0 (LS0) that is used to control the Memjet interface (MJI) in all synchronized chips. The second LSGU 89 generates LineSync1 (LS1) that is used to pulse the paper drive stepping motor.
[0101]
The master / slave pins on the chip at 91 allow a plurality of chips to be connected for side-by-side printing, double-sided printing, etc., due to the master / slave relationship. When the master / slave pin is attached to VDD, the chip is considered a master, and the LineSync pulse generated by the LineSyncGen device 90 is shared by all three chips by two ternary state enables 92, two ternary state LineSync. Enabled on common row LineSync0. When the master / slave pin is attached to GND, the chip is considered a slave and the LineSync pulse generated by the two LineSyncGen devices 89, 90 is not enabled on the common LineSync row. In this way, the MasterSync LineSync pulse is used by the PHI on all connected chips.
[0102]
LineSyncGen devices (LSGU) 89, 90 are responsible for generating the sync pulses needed to print a page. Each LSGU generates an external LineSync signal to enable row synchronization. The generator inside the LGSU generates Line Sync pulses every very many cycles when told to "continue" and then told to stop. The LineSync pulse defines the beginning of the next row. The exact number of cycles between LineSync pulses is determined by the CycleBetweenPulses register, one for each generator. It must be at least long enough to print one line and load another, but can be longer as desired (e.g., to address special requirements of paper transport circuitry) is there. If the CycleBetweenPulses register is set to a number less than the line print time, the page will not print properly because each LineSync pulse arrives before a particular line finishes printing.
[0103]
The following interface registers are included in the LSGU.
[0104]
[Table 7]
Figure 0004546697
[0105]
LineSync pulses are not used directly from LGSU. Only if the master / slave pin at 91 is set to master, the LineSync0 pulse is enabled on the ternary LineSync0 row 97. As a result, LineSync pulses are used only in the form as generated by the master PEC (pulses generated by the slave PEC are ignored).
[0106]
The MemJet interface (MJI) 93 transfers the data to the Memjet printhead at 94 and tells the Memjet interface when to start printing the next line of data. It is also used to enable feedback from specified segments. The Memjet print head 95 itself is responsible for controlling the firing sequence of its nozzles whose firing profile is programmed by the PC serial interface 36 of FIG. The MJI includes a state machine that follows the printhead load order described in Section 18.1, which may also include functionality for preheat and cleaning cycles. The dot count for each color is also maintained by the MJ (see below).
[0107]
MJI loads data into the printhead from a choice of two data sources:
・ All one. That is, all nozzles fire during subsequent printing cycles and are the standard mechanism for loading the printhead for preheating or cleaning cycles.
• From the 90-bit input held in the transfer register of the LLFU. This is the standard means for printing images. In the first transfer, the first 48 bits are sent to the print head, and in the second transfer, the last 42 bits are sent to the print head, and the top six bits are zero. Once all 90 bits are transmitted, a 1-bit “forward” control pulse is transmitted to the LLFU.
[0108]
MJI knows how many lines it has to print for the page. When MJI is told to "continue", it waits for a LineSync pulse before starting the first line (via the NPSync pulse to the printhead). Once it finishes loading / printing a line, it waits for the next LineSync pulse before starting the next line. Once the specified number of lines has been loaded / printed, MJI stops and ignores additional LineSync pulses. Thus, the MJI is coupled directly to the LLF 31 (see FIGS. 3 and 4) at 97, to LineSync0 at 97 (shared among all sync chips), and to the external MemJet printhead 95. MJI accepts 90-bit data from LLFU. Of these 90 bits, only those bits that match the number of segments and colors will be valid. The MJI state machine does not care which bits are valid and which bits are not valid—it just passes the bits to the printhead. Control signals coming out of the data line and MJI are connected to the pinout of the chip as will be described later.
[0109]
The MJI has a number of connections to a printhead containing up to six colors that can be synchronously drawn into up to eight segments per transfer to up to two segment groups. Table 35 lists the connections including the input and output orientations for MJL. The name corresponds to the pin connection on the print head.
[0110]
[Table 8]
Figure 0004546697
[0111]
MJI maintains a count of the number of dots of each color fired from the printhead. The dot count for each color is a 32-bit value that is individually cleared under processor control. In typical use, the dot count is read and cleared every page or half page, but with 32 bit length, each dot count holds a maximum coverage dot count of 17 pages of 8 inches x 12 inches. can do. The dot count is used by the processor to update the QA chip in order to predict when the ink cartridge will run out of ink. The processor knows from the QA chip the amount of ink in the cartridge for each color. The drop count eliminates the need for an ink sensor and prevents the ink channel from drying out. The updated drop count is written to the QA chip after every page. As long as there is not enough ink left, a new page will not be printed, allowing the user to replace the ink without getting a worthless semi-printed page that must be reprinted.
[0112]
FIG. 13 shows a layout of a Color N dot counter. All six dot counters are preferably identical in structure. The dot counter takes in the color N data at 98 into the encoder 99 of 15 to 4 rows from the HCU. The four line outputs of encoder 99 are for Color N dot count 101 which outputs a 32-bit count at adders 100 and 102. Counter 101 may be cleared by a bit on row 103. The load of the counter 101 is timed by 104 bits.
The processor communicates with the MII through a register set. The register allows the processor to parameterize the print as well as receive feedback about the print progress. The following registers are included in the MJI.
[0113]
[Table 9]
Figure 0004546697
Figure 0004546697
[0114]
The MJI status register is a 16-bit register with the following bit interpretation.
[0115]
[Table 10]
Figure 0004546697
[0116]
The following pseudo code shows the logic required to load the printhead for a single line. Note that the load begins only after the LineSync pulse arrives. This is to ensure that the data for the row is created by LLFFU and is valid for the first transfer to the printhead.
[0117]
[Table 11]
Figure 0004546697
[0118]
The cleaning and preheating cycles are accomplished simply by setting the appropriate register in the MJI and programming the print head firing pulse profile.
[0119]
SetAllNozzles = 1
Set the firing pulse profile to a low period (in the case of preheat mode) or drop ejection appropriate to the cleaning mode.
Set NumLines to the number of times the nozzle must be fired.
• After setting the continuation bit, wait for the continuation bit to be cleared when the print cycle is complete.
[0120]
Also, the LSGU must be programmed to send LineSync pulses at the correct frequency.
[0121]
Throughout the specification, the aim has been to describe the preferred embodiments of the invention without limiting the invention to any one embodiment or specific collection of features. Those skilled in the art will appreciate that variations from the specific embodiments still fall within the scope of the invention.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a data flow and functions executed by a printing mechanism control apparatus.
FIG. 2 shows a print mechanism controller in the context of the overall architecture of the printer system.
FIG. 3 depicts a print mechanism controller architecture.
4 depicts an external interface to the half toner / compositor unit (HCU) of FIG.
5 is a diagram showing internal circuit components to the HCU of FIG. 4. FIG.
FIG. 6 shows a block diagram depicting a process within the dot merger apparatus of FIG.
FIG. 7 shows a diagram depicting a process within the dot reorganization apparatus of FIG. 5;
8 shows a diagram depicting a process within the line loader / format device of FIG.
9 is a diagram showing internal circuit components for generating color data in the LLFU of FIG. 8. FIG.
FIG. 10 depicts the components of the LLFU found in FIG.
FIG. 11 depicts the components of the LLFU found in FIG.
FIG. 12 illustrates internal circuit components to the printhead interface.
FIG. 13 shows a diagram of a dot counter used within the printhead interface.
[Explanation of symbols]
10 Print mechanism controller (PEC)
12 memory
12, 15 Memory buffer
16 page expander
21 pages
23 Printhead
24 memory blocks
25/26 QA chip
25 Master chip
26 Replaceable ink cartridge QA chip
27 High-speed serial interface
29 Half toner / compositor (HCU) equipment
32 Printhead interface
35 CPU core
36 Serial interface
37 4-plane continuous tone buffer
38 Double-layer spot1 buffer
39 Double-layer dmselect buffer
40 Double-layer tag FIFO
43 Scale device
44/49/50/51 Comparator
48 Dither Matrix Access Device
57 Margin device
59 dot reorganization unit (DRU)
61 6-bit color mask register
62 Register (A)
63 Register (B)
64 DRU state machine
65 registers (C)
66 32-bit multiplexer
67 inputs
68 outputs
71/72 Buffer EF
81/83 Buffer OE1
82 Buffer AB
84 Buffer CD
86 Color buffer N
89/90 LineSyncGen equipment
91 Parallel interface

Claims (1)

インクドロッププリンタであって、
前記インクドロッププリンタは、
横並びに配置された複数のプリントヘッドセグメントを含み、前記複数のプリントヘッドセグメントによってページ幅全体にわたって液体のインクドロップにより印刷する、複数セグメントインクドロッププリントヘッドと、
マスター/スレーブのピンを介して相互に接続された複数のプリントエンジンコントローラチップであって、各プリントエンジンコントローラチップは、所定数のプリントヘッドセグメントに対応付けられ、印刷されるページの一部分であるページストリップの印刷データを生成し、異なるプリントエンジンコントローラチップは、互いに異なるページストリップの印刷データを生成し、全てのプリントエンジンコントローラチップにより生成されたページストリップの印刷データは、印刷されるページ全体の印刷データに相当する、当該複数のプリントエンジンコントローラチップと、
を備え、
各プリントエンジンコントローラチップは、
圧縮されたページデータを受信するインタフェースと、
受信された圧縮済みページデータ内の連続階調画面を復号するための連続階調画像デコーダと、
受信された圧縮済みのページデータ内の任意の二層画面及びディザデータを復号するための二層デコーダと、
任意の連続階調画面上に任意の二層画面を構成するためのハーフトナー/コンポジタであって、印刷されるページのページストリップのそれぞれの印刷データを構成するために画面内のページデータがマージン装置の制御下でスケーリングされる、当該ハーフトナー/コンポジタと、
各ページストリップの印刷データを前記複数セグメントインクドロッププリントヘッドへ出力するためのプリントヘッドインタフェースであって、各ページストリップの印刷データを出力するインタフェース、および、同期信号を出力する同期信号発生器を含む、当該プリントヘッドインタフェースと、
を有し、
前記複数のプリントエンジンコントローラチップのうち1つは、同期信号を出力するマスターチップであり、他のプリントエンジンコントローラチップは、スレーブチップであり、前記スレーブチップが前記マスターチップから出力された同期信号を使用することにより、前記複数のプリントエンジンコントローラチップは、前記マスターチップにより生成・出力されるページストリップの印刷データの印刷タイミングと、各スレーブチップにより生成・出力されるページストリップの印刷データの印刷タイミングとを同期させることが可能に構成されている、
当該インクドロッププリンタ。
An ink drop printer,
The ink drop printer is
A multi-segment ink drop printhead comprising a plurality of printhead segments arranged side by side, wherein the plurality of printhead segments prints with a drop of liquid ink across a page width;
A plurality of print engine controller chips connected to each other via master / slave pins, each print engine controller chip being associated with a predetermined number of printhead segments and being a part of a printed page Generate print data for strips, different print engine controller chips generate print data for different page strips, and page strip print data generated by all print engine controller chips can print the entire printed page A plurality of print engine controller chips corresponding to the data;
With
Each print engine controller chip
An interface for receiving compressed page data;
A continuous tone image decoder for decoding a continuous tone screen in the received compressed page data;
A two-layer decoder for decoding any two-layer screen and dither data in the received compressed page data;
A half-toner / compositor for composing an arbitrary two-layer screen on an arbitrary continuous tone screen, and the page data in the screen is a margin for composing print data of each page strip of the printed page The half-toner / compositor scaled under the control of the device;
A printhead interface for outputting print data for each page strip to the multi-segment ink drop printhead, comprising an interface for outputting print data for each page strip, and a synchronization signal generator for outputting a synchronization signal The printhead interface;
Have
One of the plurality of print engine controller chips is a master chip that outputs a synchronization signal, the other print engine controller chip is a slave chip, and the slave chip outputs a synchronization signal output from the master chip. By using the plurality of print engine controller chips, the print timing of the page strip print data generated / output by the master chip and the print timing of the page strip print data generated / output by each slave chip are used. Configured to be able to synchronize with,
The ink drop printer.
JP2002506942A 2000-06-30 2000-06-30 Ink drop printer Expired - Lifetime JP4546697B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/AU2000/000754 WO2002002338A1 (en) 2000-06-30 2000-06-30 Print engine/controller to work in multiples and a printhead driven by multiple print engine/controllers

Publications (2)

Publication Number Publication Date
JP2004501011A JP2004501011A (en) 2004-01-15
JP4546697B2 true JP4546697B2 (en) 2010-09-15

Family

ID=3700833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002506942A Expired - Lifetime JP4546697B2 (en) 2000-06-30 2000-06-30 Ink drop printer

Country Status (7)

Country Link
EP (1) EP1301350A4 (en)
JP (1) JP4546697B2 (en)
CN (2) CN1192896C (en)
AU (2) AU5374400A (en)
IL (2) IL166422A0 (en)
WO (1) WO2002002338A1 (en)
ZA (1) ZA200210021B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6679584B2 (en) 1997-07-15 2004-01-20 Silverbrook Research Pty Ltd. High volume pagewidth printing
GB2387817A (en) * 2002-04-27 2003-10-29 Hewlett Packard Co Page wide array inkjet printer having halftone controller and multiple printheads, each printing different image strips.
GB0621375D0 (en) * 2006-10-27 2006-12-06 Domino Printing Sciences Plc Improvements in or relating to marking and/or coding
CN103763566B (en) * 2014-01-07 2016-09-28 西安建筑科技大学 Color Halftone method for compressing image based on three-dimensional matrice WDCT conversion
JP2019101480A (en) * 2017-11-28 2019-06-24 オムロン株式会社 Control device and control method
CN112394887A (en) * 2019-08-17 2021-02-23 森大(深圳)技术有限公司 Oneepass printing data high-efficiency processing method, device, equipment and storage medium
US11745501B1 (en) 2022-02-11 2023-09-05 Ricoh Company, Ltd. Drop size monitoring mechanism
US11755865B1 (en) 2022-03-01 2023-09-12 Ricoh Company, Ltd. Drop size monitoring mechanism
US11731420B1 (en) 2022-03-14 2023-08-22 Ricoh Company, Ltd. Drop size monitoring mechanism

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1762124A1 (en) * 1986-04-08 1992-09-15 Институт кибернетики им.В.М.Глушкова Inc-jet recording device
JPS63188055A (en) * 1987-01-29 1988-08-03 Canon Inc Ink jet recorder
JPH0686032A (en) * 1992-05-06 1994-03-25 Xerox Corp Printer output controller
JPH07132594A (en) * 1993-11-09 1995-05-23 Seiko Epson Corp Ink jet recording apparatus
JP3063526B2 (en) * 1994-06-22 2000-07-12 株式会社日立製作所 Ink jet recording device
JP3388916B2 (en) * 1994-11-07 2003-03-24 キヤノンファインテック株式会社 Recording device
FR2755900B1 (en) * 1996-11-15 1999-01-29 Toxot Sciences & Applic MULTI-COLOR INK-JET PRESS, METHOD FOR SYNCHRONIZING SUCH A PRESS, AND PRINTED PRODUCT OBTAINED BY USING SUCH PRESS
EP0936069B1 (en) * 1998-02-13 2007-07-25 Toshiba Tec Kabushiki Kaisha Ink-jet head driving device
KR100577025B1 (en) * 1998-11-09 2006-05-08 실버브룩 리서치 피티와이 리미티드 Halftoner/compositor unit
KR100576690B1 (en) * 1998-12-16 2006-05-03 실버브룩 리서치 피티와이 리미티드 A printer for incorporation into systems with limited access
AU4725500A (en) * 2000-05-24 2001-12-03 Silverbrook Res Pty Ltd Print engine/controller and printhead interface chip incorporating the engine/controller

Also Published As

Publication number Publication date
IL166422A (en) 2007-06-17
JP2004501011A (en) 2004-01-15
CN1644382A (en) 2005-07-27
CN1454156A (en) 2003-11-05
AU5374400A (en) 2002-01-14
EP1301350A1 (en) 2003-04-16
CN1192896C (en) 2005-03-16
IL166422A0 (en) 2006-01-15
AU2000253744A1 (en) 2002-04-11
CN100349746C (en) 2007-11-21
ZA200210021B (en) 2003-07-30
AU2000253744B2 (en) 2004-07-08
EP1301350A4 (en) 2005-03-16
WO2002002338A1 (en) 2002-01-10

Similar Documents

Publication Publication Date Title
US6921144B2 (en) Drop firing control in multicolor ink jet printheads
US7980648B2 (en) Print engine controller utilizing on and off chip memory for dot data formatting
AU2004202407B2 (en) Print engine controller with dithering and compositing circuitry
IL166422A (en) Print engine/controller with half-toner/compositor
JP4694086B2 (en) Printing engine / controller and printhead interface chip incorporating the engine / controller
AU2000247255A1 (en) Print engine/controller and printhead interface chip incorporating the engine/controller
AU2000247250A1 (en) Print engine/controller with color mask
US7957011B2 (en) Printer printing composited print image planes
US7457001B2 (en) Half-toner compositor for use in a print engine/controller
US20050225584A1 (en) Ink drop printer with print engine controller
KR100702467B1 (en) Print engine/controller with color mask
KR100714810B1 (en) Print engine/controller to work in multiples and a printhead driven by multiple print engine/controllers
KR100702464B1 (en) Print engine/controller and printhead interface chip incorporating the engine/controller
US8270023B2 (en) Print engine controller for double-buffered processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100702

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4546697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term