JPH1191173A - 印刷されるべきビットマップのラスター化線をビットマップ・データ線区分を検索する区分的線形直接メモリアクヤス・アドレス指定モードを用いて構築する方法及び装置 - Google Patents

印刷されるべきビットマップのラスター化線をビットマップ・データ線区分を検索する区分的線形直接メモリアクヤス・アドレス指定モードを用いて構築する方法及び装置

Info

Publication number
JPH1191173A
JPH1191173A JP10169095A JP16909598A JPH1191173A JP H1191173 A JPH1191173 A JP H1191173A JP 10169095 A JP10169095 A JP 10169095A JP 16909598 A JP16909598 A JP 16909598A JP H1191173 A JPH1191173 A JP H1191173A
Authority
JP
Japan
Prior art keywords
data
block
blocks
memory
bitmap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP10169095A
Other languages
English (en)
Inventor
Rii Dafuin Daarin
ダーリン・リー・ダフィン
Hawaado Erisu Jiyunia Jieemuzu
ジェームズ・ハワード・エリス・ジュニア
Danieru Aauin Jiyunia Fuiritsupu
フィリップ・ダニエル・アーウィン・ジュニア
Man Hoan Kuon
クオン・マン・ホアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lexmark International Inc filed Critical Lexmark International Inc
Publication of JPH1191173A publication Critical patent/JPH1191173A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0077Raster outputting to the print element(s)
    • G06K2215/008Raster outputting to the print element(s) from more than one raster memory

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 印刷すべきページのビットマップ画像を一連
の画像ブロック又はタイルに分割する印刷装置を提供す
る。 【解決手段】 複数のブロックのビットマップ印刷デー
タを含み、ブロック・リスト・テーブル内の対応する項
目を有し、非ヌル・データを含む全ブロックが、メモリ
回路の複数のメモリ素子から成る区域の画像テーブルに
一時的に格納され、ヌル・データを含む全ブロックが画
像テーブルに格納されず、ブロック・リスト・テーブル
の複数の項目の一部分が、キャッシュ内に一時的に格納
され、存在する間に操作され、複数のバンドの各々が印
刷のために印刷エンジンに使用可能になると、キャッシ
ュ内の項目の制御下で、バンド・バッファを使用せずに
各々のデータが印刷エンジンにリアルタイムで伝達さ
れ、バンド・バッファを使用せずに各々のデータが印刷
エンジンにで伝達されると非ヌル・データを含む現在の
バンド内の全ブロックが画像テーブルから充填される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に印刷装置に
関し、特に一度に単一ラスター線という割合でラスター
化画像データを印刷するタイプのレーザプリンタに関す
る。具体的には、本発明は、ビットマップ画像データの
ブロック又はタイルを形成し、それらをダイナミック・
ランダム・アクセス・メモリの非連続域に一時的に格納
し、その後、リアルタイムで必要に応じて各区域から単
一ラスタ線を取り出して、シリアル化方式でレーザ印刷
エンジンにそのデータを送るレーザプリンタとして開示
される。
【0002】
【従来の技術】現在、一般に入手可能な従来のレーザプ
リンタの中には、ハードウェア及びソフトウェア・オペ
レーティング・システムのアーキテクチャが、ビットマ
ップ・ページ画像が「ブロック」と呼ばれるユニットか
らなるチェッカーボード・パターンに分割されるような
ものになっているものもある。ブロック数/ページは、
用紙サイズ、ブロック・サイズ、dpi(ドット数/イ
ンチ)単位の印刷ヘッド解像度、画素毎のビット数(ビ
ット数/画素)のビットマップ解像度によって決まる。
例えば、8-1/2”×11”のページは複数の矩形ブ
ロックに分割することができ、そのページ上には20個
の水平ブロック×100個の垂直ブロックが含まれる。
印刷ヘッド解像度が1200dpiで、ビットマップ解
像度が1ビット/画素の場合、各ブロックは、幅512
画素×高さ128画素になるだろう。
【0003】通常、プリンタ内のランダム・アクセス・
メモリ(RAM)のサイズは、ページ全体のビットマッ
プを格納するのに必要なサイズより小さい。このため、
ラスター化プロセスによって各ブロックに情報を「ペイ
ント」する場合、メモリがブロック単位で割り振られ
る。したがって、各ブロックのビットマップ画像データ
は、他の同様のブロックから個別の区域に格納され、こ
のようなより小さい区域はプリンタのRAMの各種メモ
リ・アドレス位置全体に広がる可能性が高い。しかし、
ビットマップ画像を印刷する場合、従来のプリンタで
は、「分散」ブロック・ページ表現から「集結」バンド
・ページ表現へと、RAMに格納されたデータの変形を
行わなければならず、この場合の「バンド」は、印刷ペ
ージの幅全体にわたって伸びる水平ブロックのグループ
を含む。このバンド構築プロセスでは非連続ブロックを
「バンド・バッファ」にコピーし、それぞれのバッファ
は連続メモリにページ幅ストリップを保持する。
【0004】プリンタのスループット(即ち、ページ数
/分)に応じて、複数のバンドをバッファしなければ、
画像を印刷することはできない。多くのプリンタでは、
このような複数のバンドを保持するために、プリンタの
メインRAMシステム内の特定の1組のメモリ位置が予
約されている。通常、システムのRAMには最低2つの
バンドが格納される。即ち、(1)シリアル・データ・
ストリームとしてレーザ印刷ヘッドに現在送られている
バンドと、(2)前のバンドの印刷が終了する前に完了
する(印刷準備ができる)ように現在構築されているも
う1つのバンドである。
【0005】従来のプリンタ内のバック・エンド・レン
ダリング・ソフトウェアの基本的な問題の一部は、バン
ド構築プロセスが、(用紙がプリンタ内を移動する間
に)非連続RAM位置の分散ブロックからリアルタイム
でバンド・バッファを格納するために使用するRAM内
の事前割振り連続メモリ位置へのビットマップ画像デー
タのコピー動作を含み、それにより、メイン・プロセッ
サのパフォーマンスの一部分を必要とすることである。
しかも、「実データ」ブロックのようにヌル又は「ブラ
ンク」ブロックをバンド・バッファにコピーしなければ
ならず、それにより、メモリ帯域を占めるメモリ検索及
び格納動作が必要になる(即ち、メモリ・システムのア
ドレス・バスとデータ・バスを使用するためのアクセス
時間が必要になる)。さらに、非連続ブロックにヌル・
ブロック画像データを保持するために追加のRAM位置
を割り振らなければならず、複数のバンド・バッファを
保持するために追加のメモリを割り振らなければならな
い。
【0006】プリンタ用の画像構築システムを開示する
特許の幾つかを以下に示す。即ち、米国特許第4,94
2,541号(Hoelによる)では、プリンタ内の画像デ
ータをマッピングするために仮想メモリを使用するパッ
チ化システムを開示している。物理メモリは「パッチ」
として割り振られ、ページ画像ビットマップを作成する
際にその物理メモリが使用される。1つのパッチはビッ
トマップ形式のページの矩形域に対応し、各パッチは仮
想(或は論理)メモリの非連続セグメントによって表さ
れ、それは後で物理メモリにマッピングされると連続す
る。物理メモリの割振りステップ中に「ブランク」パッ
チが見つかると、そのブランク・パッチは単一「ブラン
ク」物理パッチにマッピングされる。このようなブラン
ク・パッチはいずれも、この同一単一ブランク物理パッ
チにマッピングされる。印刷中にブランク物理パッチ
は、論理ページ画像の正しいブランク域にマッピングさ
れる。これはシリアル化プロセス中に行われ、特定のマ
ッピング済み物理パッチがゼロ・パッチであることが判
明した場合、メモリ内の単一ブランク物理パッチがアク
セスされ、正しいブランク・データ(ブランク論理パッ
チ用)がプリンタに転送される。非ブランク・データは
論理パッチ化アドレスを使用して物理メモリ・アドレス
にマッピングされ、その物理アドレスは非連続なものに
することができる。データをプリンタに転送する時期が
来ると、連続している論理アドレスは、プリンタの必要
に応じて、適当なデータを提供するために正しい物理ア
ドレスを検出するためのオフセット(或はポインタ)を
使用する。プリンタにとってはデータの個々のパッチが
必要なので、これはブランク・データと非ブランク・デ
ータの両方を含む。
【0007】米国特許第5,502,804号(Butter
fieldによる)では、リアルタイムで出力ページ画像を
生成するレーザプリンタを開示している。印刷エンジン
に送る前にページ全体をビットマップ形式で構築するこ
とを要求するのではなく、Butterfieldは、印刷のプロ
セスを開始するために単一バンドの構築を使用すること
を開示し、第1のバンドの構築後、第1のバンドを印刷
している間に第2のバンドが作成される。この方法を使
用することにより、大量のメモリを節約することができ
る。というのは、印刷エンジンにデータを送る前にビッ
トマップ・ページ全体を構築する必要がないからであ
る。ページ全体を構築するために十分なメモリが使用可
能であっても、Butterfieldのバンド技法を使用するこ
とにより、あるバンド内の第1のページを印刷している
間に他のバンドで第2のページを構築することができ
る。Butterfieldは、高水準言語の印刷ジョブ・データ
を受け取り、ビットマップに直接変換するのではなく、
このデータを「グラフィック・オーダ」に変換する。単
一グラフィック・コマンドは複数のバンドに影響する可
能性があるので、メモリ内の表構造である「コマンド・
ブロック」を使用して、1つのオーダを何度も処理する
ことができる。まず、「オーダ構築ステップ」が実行さ
れ、複数の入力を単一コマンド・ブロックに結合する
(それにより、メモリを最小限にする)ことにより、冗
長オーダを除去するよう試みる。第1の(中間)画像描
画ステップは、オーダ構築ステップと並行して行われ、
ページ画像内にオブジェクトを描く。このオブジェクト
は、次の(又は第2の)描画ステップ用のソース・デー
タとして使用するためにユーザ・メモリに格納される。
第2の(据置き)画像描画ステップは、そのページ画像
用の全てのオーダが生成されたときに始まる。このステ
ップは、影響を受ける各画像バンドごとに1つずつ、オ
ーダ・コマンドを何度も処理することができる。
【0008】米国特許第5,574,953号(Rustに
よる)では、圧縮データを非連続メモリに格納するデー
タ圧縮/圧縮解除システムを開示している。データが圧
縮され、メモリに格納されると、次に使用するメモリを
指し示す最後の位置にポインタを置くことにより、非連
続セグメントがマークされる。ポインタの直前には特別
な「リンク」コードが格納され、そのコードが論理的に
非連続メモリをまとめてリンクする。データが圧縮解除
されると、そのコードがリンク・コードである場合、ア
ドレス・ポインタはシステムをメモリ内の次の位置に向
け、その位置ではそのセグメントを検索するために次の
圧縮データが格納される。そのコードがリンク・コード
ではない場合、コード(或はデータ)は圧縮解除され
る。
【0009】米国特許第5,129,088号(Auslan
derによる)では、ハード・ディスク・ドライブ上の非
連続グループのブロックから仮想ディスクを作成するデ
ータ処理システムを開示している。物理メモリ位置から
なる各ドライブ(或は複数のドライブ)は物理区画に分
割され、各区画は所定の数の連続アドレス可能ブロック
を含む。「論理」ブロックは連続しているが、各グルー
プのブロック内の区画は必ずしも物理的に連続している
わけではない。システム・メモリでは追加の位置を割り
振る必要があるので、システムは1つ或は複数の追加区
画を自動的に割り振ることができ、これはさらに情報を
格納するために動的に行われる。
【0010】米国特許第4,555,802号(Fedak
による)では、画像データを複数のセグメントに分割
し、各セグメントが正方形又は矩形になるシステムを開
示している。このセグメントを分析し、どれがブランク
又はゼロ・データを含み、どれが少なくとも1ビットの
非ゼロ・データを含むかを判定する。ブランク・セグメ
ントは無視され、非ブランク・セグメントは格納され、
インデックスが付けられる。ディレクトリを作成し、各
グループの非ブランク・セグメントの記憶位置ならびに
矩形ラスター・アレイの信号に対するその空間位置を示
す。短縮及び短縮解除マシン動作はいずれも、セグメン
トのビット有意情報内容とは無関係である。
【0011】米国特許第5,416,615号(Shirot
aによる)では、水平方向と垂直方向の両方に画像デー
タを抽出し、n×nピクセルのデータからなる「オリジ
ナル・ブロック」を形成するディジタル・データ伝送装
置を開示している。この情報から、2次元余弦変形など
の変形動作が行われ、それにより、m×mピクセルのデ
ータからなる「差分ブロック」を作成する。差分ブロッ
ク・データを「変形コード化」して「係数データ」を生
成し、「フラグ生成回路」を使用して係数データを伝送
する。しかし、このフラグ生成回路は、意味のあるデー
タが一切ないときに(一般にブランク・データを意味す
る)係数データの伝送を省略する場合にフラグを生成
し、個別の伝送回路はそのフラグ又は複数のフラグとピ
クセル・データのブロックを伝送する。
【0012】先行技術の従来のプリンタでは、シリアル
・データとしてレーザ印刷エンジンに送る前に、ラスタ
ー化ビットマップ画像データの「バンド」を連続メモリ
内に構築しなければならない。事実、ほとんどの従来の
プリンタでは、2つの個別のバンドがランダム・アクセ
ス・メモリ内に予約された特定の位置を有し、一方の組
の連続メモリ位置はレーザ印刷ヘッドに現在出力されて
いるバンド用であり、第2の組の連続メモリ位置は現在
構築されているバンド用である。第1のバンドのデータ
がレーザ印刷ヘッドに完全に送られるまでに、第2のバ
ンドは連続メモリ内で完全に完成し、必要に応じてレー
ザ印刷ヘッドに送れる状態になる。
【0013】バンド構築プロセス用に予約されたランダ
ム・アクセス・メモリ(RAM)の量はわずかではな
い。例えば、解像度が1200dpi(ドット数/イン
チ)である場合、8-1/2”幅のページをカバーし、
128本の水平ラスター線を含むバンドは、160Kバ
イトのメモリを必要とする。2つのバンドを保持する
(或は少なくともこのような2つのバンド用にメモリ内
の空間を予約する)場合、プリンタのメモリは320K
バイトの空間を予約しなければならない。多くのレーザ
プリンタは、2MバイトのRAMを有するものとして製
造されるので、この320KBという要件は、プリンタ
のメモリ全体の相当な部分になる。バンド構築プロセス
用のメモリ要件を除去することが可能であれば、重要な
販売上の利点として、また、プリンタ用のパフォーマン
スの節約として、メモリ空間及びメモリ帯域の大幅な節
約を実現することができる。
【0014】
【発明が解決しようとする課題】したがって、本発明の
主な目的は、レーザ印刷ヘッドに送る予定のバンドを構
築するためにメモリ内のスペース或は空間を予約すると
いう要件を除去する印刷装置を提供することにある。
【0015】本発明の他の目的は、印刷すべきページの
ラスター化ビットマップ画像をブロック又はタイルに分
割し、非ヌル・データ(即ち、「実」データ)を含むブ
ロックをランダム・アクセス・メモリに一時的に格納
し、画像ページ上のそれぞれの位置を追跡する間にヌル
・データ・ブロックを廃棄し、ビットマップ・データを
レーザ印刷ヘッドに供給するときにランダム・アクセス
・メモリからではなく特殊レジスタからヌル・ブロック
・データを供給する印刷装置を提供することにある。
【0016】本発明の他の目的は、印刷すべきページの
ラスター化ビットマップ画像をブロック又はタイルに分
割し、非ヌル・データを含むブロックをランダム・アク
セス・メモリに一時的に格納し、シリアル化ビットマッ
プ・データをレーザ印刷ヘッドに供給するというシリア
ル化手順中に処理回路によって容易にアクセスするため
に複数のブロック・リスト項目を保持するためのキャッ
シュを提供する印刷装置を提供することにある。
【0017】本発明の他の目的は、印刷すべきページの
ラスター化ビットマップ画像をブロック又はタイルに分
割し、非ヌル・データを含むブロックをランダム・アク
セス・メモリに一時的に格納し、複数のブロック・リス
ト情報項目を保持するためのキャッシュを使用して、
「オン・ザ・フライ」で印刷ヘッドに対してリアルタイ
ムでビットマップ・データの「バンド」を生成し、バン
ド或はページ幅の長さがプリンタのメモリ・システム内
のメモリの予定割振りによって制限されない印刷装置を
提供することにある。
【0018】本発明の追加の目的、利点、その他の新規
の特徴については、一部は以下に示す説明に記載し、一
部は以下の説明を検討したときに当業者に明らかになる
か或は本発明の実施によって覚えることができるだろ
う。
【0019】
【課題を解決するための手段】上記その他の目的を達成
するため、本発明の一態様によれば、データ・ソース
(ホスト・コンピュータなど)から印刷ジョブを受け取
り、必要であればそれをビットマップにラスター化する
ことにより、そのデータを解釈し、ソフトウェア・ペー
ジマップ(PMAP)コードを使用して、印刷すべきペ
ージのビットマップ画像を一連の画像ブロック又はタイ
ルに分割する、改良された印刷装置が提供される。この
ソフトウェアはビットマップ・ブロックへの全ての参照
のために圧縮ページ・マップ(CPM)という構造を使
用し、このCPMは解像度、ページ・サイズなど、その
ページの特徴を記述する制御ヘッダを含む。制御ヘッダ
の後にCPMはそのページ上の各ブロック用の項目を含
む。
【0020】CPMの各項目はブロック構造を指すポイ
ンタであり、その構造はブロック・タイプ、サイズな
ど、ブロックの特徴を記述する制御ヘッダを含む。ヘッ
ダの後にブロック構造は実ブロック・データを含み、こ
のデータは通常、8KBのサイズである。
【0021】新しいページを開始すると、プリンタ・ソ
フトウェアは、RAM内に割り振られたメモリが一切な
いヌルとして、全てのブロックを参照する。このソフト
ウェアはビットマップに黒の画素をペイントするので、
まず、ブロックを検査して、そのブロックがヌル(全て
が白)か実(全てが白ではない)かを確認する。ペイン
トすべきブロックがヌルである場合、ペイントを行う前
に(このレンダリング或はラスター化手順の間に)その
ブロック用のメモリをまず割り振らなければならない。
そのブロックが実である場合、それはすでに割り振られ
ているので、直ちにペイントを行うことができる。
【0022】印刷すべき時期が来ると、プリンタ・ソフ
トウェアは、レーザ印刷ヘッドが分かるフォーマットに
変換するためにデータをシリアル化しなければならな
い。このソフトウェアは、CPMからの項目を処理する
ことにより、「ブロック・リスト・テーブル」(BL
T)を構築する。BLT内の項目は、ページ全体のブロ
ック順序に対応するように、「項目0」から「項目N」
まで順序付けられている。この順序付けは、単式ページ
上と複式ページの表側では左から右へ、複式ページの裏
側では右から左へ行われる。
【0023】非ヌル・データを含む各画像ブロックはプ
リンタのメモリ・システムに格納されるが、各ブロック
はその特定のページ上の他のブロックに対して非連続メ
モリ位置に配置される可能性がある。ヌル画像データ・
ブロック(例えば、ビットマップからの論理1ビットに
よって黒の画素を現像する印刷メカニズムを使用するプ
リンタにおいて、論理0のデータのみを含む画像ブロッ
ク)はシリアル化ステップでプリンタのメモリ・システ
ムに格納されないが、むしろ、物理印刷ページ上のそれ
ぞれの位置だけがブロック・リスト・テーブルに格納さ
れる。ブロック・リスト・テーブル内の各項目は、画像
データ・ブロックの1つを含む物理ランダム・アクセス
・メモリ域の開始アドレスのみを含むが、膨張係数や、
これが印刷ページにわたる「バンド」用のリスト内の最
後のブロックであるか、このブロックが正規の非ヌル・
データ・ブロック(即ち、「実」データ・ブロック)で
あるか或はヌル・データを含む「OPなし」(又は「N
OP」)ブロックであるかなど、特定の画像データ・ブ
ロックに関する他の変数或は属性も含む。当然のことな
がら、ヌル・データ・ブロックは、ブロック・リスト・
テーブル上のその項目に物理メモリ・アドレスをリスト
する必要がない。というのは、ヌル・ビットマップ画像
データを格納するために物理RAM域を一切必要としな
いからである。
【0024】ラスター化データをレーザ印刷ヘッドに転
送する前に連続メモリでバンドを構築するのではなく、
本発明では、リアルタイムでビットマップ・データの一
連のラスター化線セグメントを構築し、レーザの出力ビ
ームが当たっている回転多角ミラーによって光導電ドラ
ム上に作成すべき「走査線」を定義するために必要な単
一線全体を完成するために、必要に応じてデータの単一
ラスター化線セグメントをブロック単位で検索すること
により、そのセグメントを「オン・ザ・フライ」でレー
ザ印刷ヘッドに送る。必要なときに各ブロックから単一
線を読み取るための好ましい手順は、印刷すべき単一バ
ンド用のブロック・リスト・テーブルにアクセスし、ブ
ロック・リスト項目のうちの4つをプリンタのASIC
に形成したキャッシュに入れることであり、その中の個
々のブロック・リスト項目はこのキャッシュ内の1つの
ブロックから次のブロックへ区分線形直接メモリ・アク
セス(PWLDMA)回路によって容易にアクセス可能
である。
【0025】単一バンドがそのバンドの水平幅全体にわ
たって20個の個別ブロックを含む場合、そのバンドの
単一ラスター線を読み取るには、キャッシュとの間で4
個のブロック・リスト項目のグループの転送を別々に5
回行う必要があるだろう。特定のブロック・リスト項目
がキャッシュ内に存在する場合、適切な時期にブロック
・アドレスを検査し、この特定のブロック用のビットマ
ップ「実データ」を保持するRAMの対応域からの読取
り動作を指示する。ポインタの使用により、適切なラス
ター化線セグメントのビットマップ・データは、RAM
内の対応するメモリ位置から読み取られ、ASIC(本
質的に複数項目レジスタを含む)内の先入れ先出し(F
IFO)メモリに転送される。レーザ印刷ヘッドはこの
特定の線セグメント用のデータを必要とするので、FI
FOメモリは、適切なデータ伝送速度でシリアル化デー
タを供給することになる。
【0026】特定のデータ・ブロックがヌル・ブロック
である場合、キャッシュに存在する間にそれに対応する
ブロック・リスト項目を検査すると、その「NOP」属
性は、プリンタの画像システムがRAMを調べてこの特
定のブロックのラスター化線セグメント用の「実デー
タ」を見つける必要はなく、むしろ、ASIC内に存在
する特殊NOPレジスタからヌル・データの線セグメン
トを引き出さなければならないことを示す。このNOP
レジスタは、全て0或は全て1(印刷ページに必要なも
のが正規の画像データであるか反転画像データであるか
による)の線セグメントをASIC内のFIFOメモリ
にフィードする。NOPレジスタは、通常、全て1或は
全て0で充填される32ビットの汎用レジスタである
が、このサブセットに限定されず、そのデータ・セット
は1と0を交互に含む他の数値を含むことができること
が分かるだろう。この場合も適切な時期にこのヌル・デ
ータがFIFOメモリの一番下から適切なデータ伝送速
度でレーザ印刷ヘッドに送られる。
【0027】特定の印刷ジョブに関してASIC内に格
納される属性の1つは印刷すべきブロックの幅であり、
これは解像度(ビット数/画素)と印刷すべき物理ブロ
ックの幅(ビット数)によって決まる。このブロック幅
属性は、印刷ページ上に特定のバンドを構築するために
区分線形DMA回路がブロック・リスト・キャッシュ内
の次の項目に移動すべき時期を決定する。場合によって
は、バンドの「最後のブロック」が「全」ブロックであ
る必要がなくなり、印刷ページの特定の線或はバンドの
印刷を終了するために「部分」ブロックのデータだけが
必要になる可能性がある。本発明は、「全ブロック」と
「部分ブロック」の両方に備えるものであり、バンドを
構築するために必要な数のブロックを許可することによ
り、バンドのサイズを制限のないものにすることがで
き、そのバンド用のブロック数に対する人為的な制約は
一切なくなる。むしろ、ブロック・リスト項目内の「最
後のブロック」属性は、特定のバンド用のデータを出力
している間に最後のブロックが到達した時間をシステム
に知らせる。
【0028】以下に記載する好ましい実施例では、個々
のブロックからFIFOメモリに単一ラスター線の線セ
グメントをロードするためのRAMからのデータ転送
は、区分線形アドレス指定方式の直接メモリ・アクセス
(DMA)手順を使用して実施される。メモリ内に格納
された事前確立バンド・バッファにこのようなデータを
構築する従来のプリンタとは対照的に、まずRAM内の
特定のメモリ位置からデータを読み取り、次にバンド・
バッファ用に予約したRAM内の他の事前確立メモリ位
置にそれと同じデータを読み込むことにより、本発明
は、RAMから特定のブロックの対応する線セグメント
・データを保持するメモリ位置から適切な量のデータを
読み取り、そのデータをFIFOメモリに向けるだけで
ある。これにより、メモリ帯域が節約され、それによ
り、他の重要なタスクを実行するためにプリンタの処理
システム用の処理時間が節約される。
【0029】プリンタのソフトウェアによってブロック
・リスト・テーブル(BLT)がRAM内に構築された
後で本発明で使用する手順の簡潔な説明は以下に示す通
りであるが、そのBLTは、ASIC内のブロック・リ
スト・アドレス・レジスタBLA1及びBLA2、バン
ド転送カウント・レジスタBTC1及びBTC2、ブロ
ック幅レジスタBW0及びBW1により、ASICハー
ドウェアに「渡される」。 1.BLA1レジスタは、ビットマップの第1のバンド
を記述する第1のブロック・リスト・テーブルのRAM
内のアドレスを保持する。 2.BLA2レジスタは、ビットマップの第2のバンド
を記述する第2のブロック・リスト・テーブルのRAM
内のアドレスを保持する。 3.BTC1レジスタは、バンド1でDMA転送するた
めの32ビット・ワードの数を保持する。 4.BTC2レジスタは、バンド2でDMA転送するた
めの32ビット・ワードの数を保持する。 5.BW0レジスタは、右端のブロックを除くバンド内
の全てのブロックのブロック幅(32ビット・ワード
数)を定義する。 6.BW1レジスタは、バンド内の右端のブロックのブ
ロック幅(32ビット・ワード数)を定義する。
【0030】この時点で、以下のようにASIC内のハ
ードウェア・レジスタを操作することにより、連続ラス
ター線が非連続ブロックから構築される。 1.BLA1はBLTの開始アドレスであり、項目1、
2、3、4は(RAM内の)BLTからASIC内のブ
ロック・リスト・キャッシュ(BLC)にコピーされ
る。 2.BLCの項目1から始めて、ラスター線セグメント
がASIC内のラスターFIFOに構築される。 a.NOPフィールドが設定されていない場合、BLT
項目のADDRESSフィールドを使用して、RAMか
らラスター線FIFOにラスター線セグメントをコピー
する。 b.NOPフィールドが設定されている場合、ASIC
内のNOPレジスタからラスター線FIFOにラスター
線セグメントがコピーされる。 c.(2a)と(2b)のいずれの場合も、コピーする
データのサイズはLBフィールド(バンド内の最後のブ
ロック)によって決まり、LBフィールドが設定されて
いない場合、ラスター線セグメントのサイズはBW0に
よって定義され、LBフィールドが設定されている場
合、ラスター線セグメントのサイズはBW1によって定
義される。 d.(2a)及び(2b)のコピー動作後、ADDRE
SSフィールドはブロック幅の分だけBLCで増分さ
れ、LBフィールドはどのBLC項目を次に処理するか
を定義する。LBフィールドが設定されていない場合、
BLC内の次の順次項目が次に処理され、LBフィール
ドが設定されている場合、そのバンドのラスター線は完
了し、次の項目はBLA1によってアドレス指定される
BLT内の第1の項目になる。 3.BLCの項目1、2、3、4の処理後、更新したB
LCはRAM内のBLTに書き戻さなければならず、B
LTの項目5、6、7、8はBLCにコピーされる。最
後のブロックLBが見つかるまで、4つの項目をキャッ
シュするたびに、BLCとの間で項目が移動される。 4.BTC1が時間切れになって、バンド1の終わりを
示すまで、複数のラスター線がラスター線FIFOにコ
ピーされ、次に、 a.区分線形DMAが自動的にBLA1及びBTC1レ
ジスタ(バンド1を記述するもの)からBLA2及びB
TC2レジスタ(バンド2を記述するもの)に移動し、
FIFOへのラスター走査線のコピーをシームレスに続
行する。 b.割込みがマイクロプロセッサにポストされ、ソフト
ウェアはバンド3を記述する値でBLA1及びBTC1
レジスタを上書きする。 5.BTC2が時間切れになって、バンド2の終わりを
示すまで、プロセスが続行し、次に、 a.区分線形DMAが自動的にBLA2及びBTC2レ
ジスタ(バンド2を記述するもの)からBLA1及びB
TC1レジスタ(バンド1を記述するもの)に移動し、
FIFOへのラスター走査線のコピーをシームレスに続
行する。 b.割込みがマイクロプロセッサにポストされ、ソフト
ウェアはバンド4を記述する値でBLA2及びBTC2
レジスタを上書きする。 6.そのページの終わりに達するまで、(4)及び
(5)のプロセスが続行される。
【0031】本発明のさらに他の目的は、本発明を実施
するために企図された最適態様の1つで本発明の好まし
い実施例が記載され示されている、以下の説明及び図面
から当業者に明らかになるだろう。お分かりのように、
本発明は他の異なる実施例が可能であり、その幾つかの
細部では、いずれも本発明から逸脱せずに様々な明白な
態様の変更が可能である。したがって、図面及び説明
は、限定的なものではなく、例示的なものであるとみな
す。
【0032】本明細書に組み込まれ、その一部を形成す
る添付図面は、本発明の幾つかの態様を示し、説明及び
請求の範囲と相俟って、本発明の原理を説明する働きを
する。
【0033】
【発明の実施の形態】次に本発明の好ましい実施例を詳
細に参照するが、その一例を添付図面に示す。図中、同
様の番号は複数の図面にわたって同じ要素であることを
示す。
【0034】次に図面を参照すると、図1は参照番号1
0で全体が示されるレーザプリンタのハードウェア・ブ
ロック図を示す。レーザプリンタ10は、異なる電圧レ
ベルの複数の出力を有する可能性のあるDC電源12
と、アドレス線、データ線、制御/割込み線を有するマ
イクロプロセッサ14と、読取り専用メモリ(ROM)
16と、複数の異なる機能を実行するためにソフトウェ
ア動作によって幾つかの部分に分割されたランダム・ア
クセス・メモリ(RAM)などの比較的標準的な所与の
構成要素を含むことが好ましい。
【0035】また、レーザプリンタ10は、少なくとも
1つのシリアル入力ポート或はパラレル入力ポート、あ
るいは多くの場合に両方のタイプの入力ポートをも含
み、シリアル・ポートについては参照番号18、パラレ
ル・ポートについては参照番号20で示す。このような
ポート18及び20のそれぞれは、図1に参照番号22
で全体が示される対応入力バッファに接続されるものと
思われる。シリアル・ポート18は、通常、ワード・プ
ロセッサ或はグラフィック・パッケージあるいはコンピ
ュータ援用描画パッケージなどのソフトウェア・プログ
ラムを含むと思われるパーソナル・コンピュータ或はワ
ークステーションのシリアル出力ポートに接続されるだ
ろう。同様に、パラレル・ポート20は、同じタイプの
プログラムを含む同じタイプのパーソナル・コンピュー
タ或はワークステーションのパラレル出力ポートに接続
可能である。このような入力装置は、図1に参照番号2
4及び26によってそれぞれ示されている。
【0036】入力バッファ22によってテキスト或はグ
ラフィック・データが受け取られると、通常、それは参
照番号28で示す1つ或は複数のインタプリタ(解釈プ
ログラム)に伝達される。一般的なインタプリタはPost
ScriptTMであり、これはほとんどのレーザプリンタが使
用する業界標準である。解釈後、入力データは、通常、
共通グラフィック・エンジンに送られてラスター化され
るが、これは、図1に参照番号30で示すRAMの一部
分で行われる。ラスター化プロセスを高速化するため、
フォント・プールと、おそらくフォント・キャッシュ
も、ほとんどのレーザプリンタのROM或はRAMにそ
れぞれ格納され、このようなフォント・メモリは図1に
参照番号32で示されている。このようなフォント・プ
ール及びキャッシュは、共通グラフィック・エンジン3
0がこのような各文字を最小限の経過時間で容易にビッ
トマップに変換できるように、共通英数字用のビットマ
ップ・パターンを供給する。
【0037】データがラスター化されると、そのデータ
は待ち行列マネージャ或はページ・バッファに向けられ
るが、それは参照番号34で示すRAMの一部分であ
る。典型的なレーザプリンタでは、そのページのハード
・コピーを物理的に印刷するために要する時間間隔中に
1ページ分のラスター化データが待ち行列マネージャに
格納されるが、本発明ではこのラスター化データを従来
のプリンタとはまったく異なる方法で処理する。待ち行
列マネージャ34内のデータは、参照番号36で示す印
刷エンジンにリアルタイムで伝達される。印刷エンジン
36は印刷ヘッド内のレーザ光源を含み、その出力46
は1枚の用紙上の物理的なインキングであり、レーザプ
リンタ10からの最終印刷出力である。
【0038】印刷エンジン36はASIC(特定用途向
け集積回路)40を含み、これは印刷エンジン内の様々
なハードウェア構成要素用のコントローラ及びデータ操
作装置として動作する。待ち行列マネージャ34から到
着したビットマップ印刷データは、ASIC40によっ
て受け取られ、適切な時期にレーザ印刷ヘッドに送られ
る。
【0039】通常、アドレス線、データ線、制御線は、
バスとしてグループ化され、バスはレーザプリンタ10
内の様々な電子構成要素の回りで物理的に並列に伝達さ
れる(場合によっては多重化も行われる)導電経路であ
ることが分かるだろう。例えば、アドレス・バスとデー
タ・バスは、通常、全てのROM及びRAM集積回路に
送られ、制御線或は割込み線は、通常、バッファとして
動作する全ての入力或は出力集積回路に向けられる。さ
らに、参照番号38の1組のバスは、待ち行列マネージ
ャ34から印刷エンジン36にビットマップ画像データ
を送るだけでなく、以下に詳述するように、ASIC4
0から待ち行列マネージャ34にアドレス指定コマンド
を送る。
【0040】上記のように、本発明の待ち行列マネージ
ャ34は、印刷エンジン36によって印刷を開始する前
に1ページ分の画像データを保持する必要がない。印刷
すべきページのビットマップ画像は矩形「ブロック」又
は「タイル」に分割されるので、各ブロック又はタイル
用の実際のビットマップ・データは一時的にRAMの特
定区域に格納され、このような「区域」もここでは漠然
と「ブロック」と呼ぶことにする。上記のように、RA
Mの個別の区域又はブロックは、印刷すべき単一バンド
用のビットマップ・データを格納する場合でも、非連続
になる可能性があり、このような非連続メモリ・ブロッ
クの表現は全体を参照番号50で示す。「ブロック」リ
スト・テーブル52もダイナミックRAMに格納され、
このブロック・リスト・テーブルは、テーブル内の様々
なフィールドが様々なブロックの属性を記述する記述子
テーブルを表す。このようなフィールドの1つは、ビッ
トマップ画像ブロックの1つを格納する物理的なダイナ
ミックRAMの区域を指し示す「アドレス・フィール
ド」である。これについては、以下に詳述する。
【0041】印刷エンジン36のASIC40は、本発
明に関連して特に使用する幾つかの新しい構成要素を含
む。キャッシュ60は、ブロック・リスト・テーブル5
2からの項目の幾つかを保持するために設けられてい
る。さらに、1対の「ブロック・リスト・アドレス」レ
ジスタ62は、2つのブロック・リスト・テーブル52
用のダイナミックRAM内の物理メモリ・アドレス位置
に関するアドレス指定情報(即ち、ポインタ)を含む。
また、ASIC40は、「空の」ビットマップ画像ブロ
ックを印刷するとき(より適切に記載すると、このよう
な空のブロックを「印刷」しないとき)に使用する「ヌ
ル」データを含む、特殊「OPなし」レジスタ64も含
む。というのは、通常、物理的な1枚の用紙上のこのよ
うな空の区域については、用紙上に印刷画素が一切置か
れないからである。このOPなしレジスタ64は、ここ
では「NOP」レジスタとも呼ぶ。
【0042】ASIC40は、データ経路42に沿って
レーザ印刷ヘッド44に最終的に出力するためにラスタ
ー化ビットマップ・データを格納する先入れ先出し(F
IFO)メモリ66も含む。ラスター化線セグメント情
報はFIFO66の一番上に入るので、その「一番下」
の部分は、レーザ印刷ヘッドにシリアル・ディジタル・
データに送るために必要なデータ伝送速度で空になるの
で、光導電ドラム(図示せず)上に適切な放電区域を生
成するようにリアルタイムで機能することができる。
【0043】図1は、メイン・システムのアドレス・バ
スとデータ・バスが、プリンタ10のマイクロプロセッ
サ14及び様々なRAM構成要素によって使用されるだ
けでなく、印刷エンジン36のASIC40にも向けら
れることも概略で示す。
【0044】図2は、プリンタ10によって印刷すべき
ページの一部分を示し、その左上隅の部分を参照番号1
00で全体を示す。参照番号102、104、106、
112、122で示すような様々な矩形ブロックは、そ
のページ全体のビットマップ画像が分割された、いわゆ
るチェッカーボード・パターンを表している。一番上の
行のブロック(即ち、ブロック102、104、10
6、108)は、印刷エンジン36のレーザ印刷ヘッド
によって後で1行ずつ印刷される一番上のバンドを構成
する左端のブロックである。したがって、ブロック11
2、114、116、118はそのページの一番上から
2番目のバンドの左端のブロックを構成し、ブロック1
22、124、126、128はそのページの一番上か
ら3番目のバンドの左端のブロックを構成する。
【0045】好ましい実施例では、このようなブロック
のそれぞれは、図2に寸法「H」と「W」でそれぞれ表
すように、1ビット/画素のビットマップ解像度のとき
に128行×512列の画素又はピクセル・データを含
む。このサイズのブロックを使用すると、ダイナミック
RAM内の8192バイト(即ち、8Kであり、各バイ
トが8ビットを含む)の区域でビットマップ画像データ
を表すことができ、それぞれの8K区域はプリンタのR
AMのメモリ・マップ内のどこかに個別のエンティティ
として格納することができる。上記のように、このよう
なメモリ域はここでは「ブロック」とも呼ばれ、図3で
はこのような10個のブロック、即ち、番号付きブロッ
クB0〜B9を含むこのようなメモリ・マップ50を示
す。
【0046】ブロック102などの各画像ブロック又は
タイルは、一般に、1ドット/画素を含む。しかし、こ
の画像データはカラー・データ或はグレイ・スケール・
データを表し、例えば、4ビット/画素を必要とし、そ
れにより、メモリ内の32KBの区域を必要とする可能
性があることが分かるだろう。1200dpi(ドット
数/インチ)の印刷解像度のときに1ビット/画素であ
ると想定すると、標準の8-1/2”×11”のページ
は、20個の水平ブロック×100個の垂直ブロックか
らなるマトリックスに分割することができ、それによ
り、2000ブロック/ページを必要とする。このよう
な各ブロックは、画素データを含むために8KBのRA
M域を必要とするはずなので、単一バンドのビットマッ
プ画像データでは20個のこのようなブロック或はプリ
ンタ10のダイナミックRAM内の160KBの区域を
必要とすることが分かるだろう。
【0047】当然のことながら、メモリ・マップ50に
よって図3に示すように、そのデータを幾つかのより小
さいメモリ域に分割できるのであれば、この大量のデー
タ用にダイナミックRAM内の空間を割り振る方が容易
である。図3では、メモリ・マップの各正方形はプリン
タ10用のRAMの8KBの区域を表し、隣接する正方
形のメモリ位置はRAM内の連続メモリ・アドレスも有
するだろう。このようなブロックの画像データは8KB
の区分に分割できるので、特定のバンドの全てのブロッ
クが連続する1組のメモリ・アドレス内で隣同士に位置
する必要はない。例えば、図3では、1つのバンドの最
初の10個のブロックが記述子B0〜B9によって示さ
れ、これらは文字通り、メモリ・マップ50全体にわた
って分散している。例えば、ブロックB0は、図2のブ
ロック102用のビットマップ画像データを格納するた
めに必要な区域を表すことができる。これに対応して、
ブロックB1はブロック104のビットマップ画像デー
タを格納するための区域を表し、ブロックB2はブロッ
ク106用のビットマップ画像データを格納するために
必要なメモリ区域を表すだろう。
【0048】このタイプの分割メモリ割振りは現在のあ
りふれたプリンタの一部では極めて一般的であり、通
常、メモリ・マップ域内のこのような割振りは、レーザ
印刷ヘッドによって印刷すべきバンドを構築する時期ま
での一時的なものにすぎない。従来のプリンタでは、ブ
ロックB0〜B9(ならびに20個のブロックからなる
バンド全体を作成するために必要と思われる他のブロッ
ク)は、メモリ・マップ50上に示すそれぞれの位置の
ダイナミックRAMから検索し、次にそのバンドを構築
するために新しい物理メモリ・アドレス(図示せず)に
移動する必要があり、通常、このような新しい物理メモ
リ・アドレスは、バンド・バッファ用に予約された専用
の1組のメモリ・アドレスに含まれるだろう。本発明で
は、以下に示すように、このようなブロックのビットマ
ップ情報を検索し、この画像データを新しいメモリ・ア
ドレスに再配置することは不要である。
【0049】図4は、参照番号52で全体が示されるブ
ロック・リスト・テーブルを示している。上記のよう
に、このブロック・リスト・テーブル52は、テーブル
内の各項目に様々な情報フィールドを含む記述子テーブ
ルである。例えば、参照番号150で示す第1の項目
は、「ブロック膨張係数」を表す2つのビット、即ち、
152の「BX1」というビットと153の「BX0」
というビットなどの様々な情報フィールドを含む。好ま
しい実施例では、ビットBX1及びBX0の両方が0に
設定されている場合、膨張係数比は1:1になり、これ
は元のビットマップ画像データの複製である。BXnビ
ットが「01」という値に等しい場合、膨張係数比は
1:2になり、単一の論理1データ・ビットごとに2つ
の黒の画素が転送される。同様に、好ましい実施例では
1:4及び1:8という膨張係数も使用可能であり、論
理1ビットマップ値ごとに4個或は8個の黒の画素が転
送される。
【0050】参照番号154は、ブロック・リスト・テ
ーブル52の第1の項目150用の「アドレス・フィー
ルド」を表す。図4のアドレス・フィールド154は、
ブロックB0用の画像ビットマップ・データが存在する
メモリ・マップ50の区域を表す。好ましい実施例で
は、27ビットのメモリ・アドレス用の空間がアドレス
・フィールド内にあり、これは、このブロックの画像デ
ータを含むプリンタのダイナミックRAMの特定の区域
用の連続メモリの開始アドレスを指すポインタを表す。
【0051】第1の項目150用のブロック・リスト・
テーブル内の他のフィールドは、「LB」ビット156
と「NOP」ビット158とを含む。好ましい実施例で
は、LB=0である場合、このブロック・リスト項目1
50は、この特定のバンドのビットマップ画像データ用
のリスト内の最後のブロックを表さない。LB=1であ
る場合、このブロック・リスト項目は、この特定のバン
ド用のリスト内の最後のブロックを表し、その結果、こ
のブロックは「部分」ブロックになる可能性がある。1
ページの表側を印刷する場合、そのバンドの最後のブロ
ックは部分ブロックになるだろう。これは、特定のバン
ドについて印刷すべき画素数が「ブロック幅」の正確な
倍数ではない場合に使用されるものと思われるが、「ブ
ロック幅」はASIC40に格納されたもう1つのパラ
メータである。これに対して、両面印刷ジョブの裏側を
印刷している場合、そのバンドの第1のブロックは部分
ブロックにすることができる。これについては、以下に
詳述する。
【0052】ビットNOP=1である場合、このブロッ
ク・リスト項目用の物理画像データ・ブロックがヌル・
ブロック(空又はゼロ・データを含む)であったので、
システムはデータの「OPなし」転送を要求することに
なり、そのデータはプリンタのメモリ・システムのダイ
ナミックRAM内のメモリ素子のグループからではな
く、ASIC40内のレジスタから得られる。これに対
して、NOP=0である場合、これは、例えば、ブロッ
クB0用のアドレス・フィールド154に指定されたポ
インタを使用してプリンタのダイナミックRAMから
「実データ」が検索される正規転送を指定するものであ
る。
【0053】同様に、ブロック・リスト項目160は、
ブロックB1用のアドレス・ポインタ164を含み、参
照番号166及び168でそれぞれ指定される「最後の
ブロック」及び「OPなし」パラメータを有する。同様
に、170にあるブロック・リスト・テーブル内の第3
の項目は、ブロックB2用のアドレス・フィールド17
4と、それに対応してそれぞれ176及び178にある
最後のブロック・ビット及びOPなしビットとを含む。
【0054】(好ましい実施例のように)1つのバンド
用のブロック数が20に等しい場合、ビットマップ画像
データは、実際に印刷する必要がある画素データを含む
20個未満のビットマップ画像ブロックを含むことがで
きる。即ち、そのバンド内のブロックの一部は「空」又
はゼロ・データにすることができ、このような実際のブ
ロック位置の物理ページ上にはいかなる画素も印刷され
ないだろう。図2の一番上の第1のバンドは、20個の
全ブロックのビットマップ画像データを含むことができ
るが、例えば、実際に印刷される「実」データを含むの
は、このようなブロックのうちの10個だけであり、図
3及び図4のB0〜B9というブロックによって表され
る。ブロックB0〜B9が印刷すべきページ上の最初の
10個の左端の物理ブロックを表し、この一番上のバン
ド上の次の10個のブロックが空又はゼロ・データのみ
を含んでいる場合、図4は、最初の10個のブロック・
リスト項目(即ち、ブロックB0〜B9用の項目)の全
てについてNOPビットが論理0に設定されたブロック
・リスト・テーブルを含むだろう。その場合、次の10
個のブロック・リスト項目は、論理1に等しいNOP値
を含むものと思われる。
【0055】この例では、参照番号180にある10番
目のブロック・リスト項目は、参照番号188で論理0
に等しいNOPを含むはずである。項目190がこのブ
ロック・リスト・テーブル上の次の10個のうちの1つ
である場合、198のNOPは論理1になるように設定
されるだろう。このような条件下では、ブロック「B
N」用のアドレス・フィールド194は無視されるか又
は0に設定されるだろう。というのは、このブロック用
のヌル・データを含む物理域がプリンタ10のダイナミ
ックRAM内に一切ないからである。本発明によれば、
ヌル・データ・ブロックはメモリに格納されず、このた
め、印刷すべきページ用のビットマップ画像データを一
時的に格納するときに相当なメモリ空間が節約される。
その後、ブロックBNを含むバンドを印刷する時期にな
ると、図8に示すように、適切なヌル・データがNOP
レジスタ64から印刷エンジンに送られる。これについ
ては、以下に詳述する。
【0056】図4のブロック・リスト・テーブル52
は、ASIC40内に存在するDMA(直接メモリ・ア
クセス)コントローラ70を使用するDMAチャネルを
使用して、区分線形アドレス指定に資する。ブロック・
リスト項目(項目150など)のそれぞれは、32ビッ
ト幅或は4バイトのサイズであることが好ましい。プリ
ンタのダイナミックRAMにこの情報を格納する場合、
アドレス・ポインタを4バイトだけシフトするだけで各
ブロック・リスト項目を順にアクセスできるように、連
続物理メモリ位置を使用してこのようなブロック・リス
ト項目を格納することが好ましい。
【0057】図6に参照番号62で全体が示される「ブ
ロック・リスト・アドレス」パラメータ・レジスタは、
ブロック・リスト・テーブルの先頭のアドレスを提供す
る。例えば、ブロックB0用のブロック・リスト・テー
ブルは参照番号250に位置し、DMAがブロックを走
査するときにブロック・リスト・テーブル内の次の項目
をアドレス指定するために、増分した値でレジスタを更
新せずにブロック・リスト・アドレス・レジスタに{ブ
ロック番号*4}という値が追加される。この結果、リ
ストを通過するごとに同一のリスト・アドレス指定が行
われる。ブロック・リスト・アドレス・レジスタは2重
バッファされるので、DMAチャネル「オートリロー
ド」モードをサポートするためにブロック・リスト・テ
ーブルもデータ・メモリに2重バッファされる。このオ
ートリロード・モードについては上記に明確に記載され
ており、ラスター線データをFIFO66にシームレス
にコピーし続ける間に、このモードによって様々なバン
ドが第1のブロック・リスト・テーブル250(即ち、
BLA1)と第2のブロック・リスト・テーブル252
(即ち、BLA2)との間で継続的に移動することがで
きる。
【0058】図5に参照番号60で示されるキャッシュ
は、ASIC40のメモリ素子内に作成される。好まし
い実施例では、キャッシュ60は所与の瞬間に4個のブ
ロック・リスト項目を保持することができる。例えば、
参照番号200のキャッシュ#1には、ブロック・リス
ト項目150を入れることができる。これが行われる場
合、210のキャッシュ#2はブロック・リスト項目1
60を含み、220のキャッシュ#3はブロック・リス
ト項目170を含み、230のキャッシュ#4はブロッ
クB3用のブロック・リスト項目を含むだろう。この例
では、キャッシュ#1に位置するアドレス・フィールド
204はアドレス・フィールド154と同じになるだろ
う。また、ビット膨張係数202及び203はビット1
52及び153と同じになり、LBビット206はLB
ビット156と同じになり、NOPビット208はNO
Pビット158と同じ値を有するものと思われる。キャ
ッシュ#2〜#4のアドレス・フィールドは、参照番号
214、224、234でそれぞれ示される。この例で
は、キャッシュ60内に現在存在する4つのブロック・
リスト項目の全てが「実データ」を含むので、アドレス
・フィールド204、214、224、234はプリン
タ10のダイナミックRAM内の実際の物理メモリ位置
を指し示すことになる。
【0059】ブロック・リスト・アドレス(BLA)レ
ジスタ62は、現在処理中のデータ用のブロック・リス
ト・テーブルを保持するプリンタのダイナミックRAM
内のメモリ位置を指す2つのポインタを含むために使用
することが好ましい。この例では、250のBLA1ポ
インタは第1のブロック・リスト・テーブル54の第1
のバイトを含むメモリ素子を指し示し、BLA2ポイン
タ252は第2のブロック・リスト・テーブル(図示せ
ず)の第1のバイトを指し示すことになる。
【0060】本発明の重要な態様の1つは、用紙がプリ
ンタ内を移動するときに、1つのバンドの単一ラスター
線をリアルタイムで構築し、このラスター線を印刷エン
ジンに「オン・ザ・フライ」で提示するために必要なデ
ータに迅速にアクセスできることである。これは、BL
Aレジスタ62を参照することにより最初の4つのブロ
ック・リスト項目にアクセスすることによって達成され
るが、この特定のバンドについてはこれはブロックB0
〜B3になるものと思われる。このような4つのブロッ
ク・リスト項目はブロック・リスト・テーブル52から
アクセスされるので、キャッシュ#1〜キャッシュ#4
というキャッシュ位置にあるキャッシュ60内に迅速に
入れられる。上記のように、項目150、160、17
0、270に関する4つのブロックはいずれも2つのB
LAレジスタによって迅速に循環される。
【0061】図8の参照番号68にあるレジスタ「BW
1」及び「BW0」(ASIC40内に存在するレジス
タ)内に定義された「ブロック幅」パラメータを参照し
た後、実際のビットマップ画像データをプリンタのダイ
ナミックRAMからブロック単位で検索することができ
る。これは、ダイナミックRAMから、同じくASIC
40の一部である図7の先入れ先出し(FIFO)メモ
リ66にビットマップ画像データを転送するDMAコン
トローラ70の制御下にあることが好ましい。
【0062】4つのブロック・リスト項目がキャッシュ
60内に入ると、DMAコントローラ70はアドレス・
フィールド(即ち、200にあるキャッシュ#1内のフ
ィールド204)を検査して、ブロックB0用のビット
マップ・データを含む開始メモリ素子を見つける。ブロ
ック幅パラメータBW1及びBW0によって指定された
データ・ビット数を読み取った後、FIFO66の参照
番号260にある第1のレジスタ内に適切な量のビット
マップ・データが転送される。ブロックB0全体の画像
データが、行×列のマトリックスの情報ビット(BW0
及びBW1によって定義されるように、通常は128×
512ビット)を含み、FIFO66のレジスタ260
内に転送されず、むしろ、ブロックB0からの単一ラス
ター線のみがFIFOに転送されることが分かるだろ
う。したがって、参照番号260にあるレジスタ#1は
512ビットの画像データのみを含み、そのデータは結
局、単一ラスター線のシリアル情報として印刷エンジン
36の印刷ヘッドに転送されることになる(当然のこと
ながら、これはレーザプリンタにとって望ましい結果で
ある)。
【0063】次に、DMAコントローラ70は、210
にあるキャッシュ#2のアドレス・フィールド214の
アドレス・ポインタを調べるが、これはブロックB1用
の「実データ」を含むメモリ素子位置を指し示すことに
なる。次にDMAコントローラは、プリンタのダイナミ
ックRAM内のこの画像データの適切な部分にアクセス
してそのブロックB1から単一ラスター線のデータのみ
を抽出することになり、その単一線セグメントがFIF
O66内に入れられる。それが行われると、ブロックB
1からのこのラスター線セグメントは、FIFO66の
一番上にあるレジスタ260に入れられる。同時に、レ
ジスタ260のそれまでの内容は、FIFO内のレジス
タ#2として示される、すぐ下のレジスタ262にシフ
ト・ダウンされる。
【0064】このようなタイプの動作は、それぞれのブ
ロック・リスト項目がキャッシュ60の位置220及び
230内に置かれることになる次の2ブロック分のデー
タについて(即ち、ブロックB2及びB3について)続
行され、DMAコントローラ70は、それに対応して、
プリンタのダイナミックRAM内で指し示されている適
切なラスター線セグメントのデータを見つけ、FIFO
66の一番上のレジスタ260にロードすべき、さらに
2組の512ビット画像データを提示する。FIFO6
6全体が4組のラスター線セグメントで充填されると、
FIFO66の4つのレジスタ260、262、26
4、266の全てが、印刷すべきページの1つのバンド
のラスター線の1/5を構成する4つの連続ラスター線
セグメント用のビットマップ画像データで充填されるこ
とになる。この時点で、ブロックB0用のラスター線セ
グメントはレジスタ266に存在し、レーザ印刷ヘッド
がデータを受け取るために必要とする適切なデータ伝送
速度でデータ経路42に沿ってレーザ印刷ヘッド44に
転送するために使用可能である。このグループの512
ビットがレーザ印刷ヘッドに転送されると、ブロックB
1の線セグメント用のデータ(一時的にレジスタ264
内に存在する)が一番下のレジスタ266に転送され、
それもレーザ印刷ヘッド44に転送するために使用可能
になる。
【0065】本発明のもう1つの利点は、キャッシュ6
0を使用して一度に4つのブロック・リスト項目用の情
報を保持することにより、メモリ帯域を節約することで
ある。DMAコントローラ70が、ブロック・リスト項
目150、160、170、270をキャッシュ位置2
00、210、220、230に転送することによって
キャッシュ60をロードする場合、第1のブロック・リ
スト項目を提示するためには4つのクロック・サイクル
が必要である。キャッシュ60にこのようなブロック・
リスト項目がロードされると、プリンタは、他のブロッ
ク・リスト項目を検査するためにキャッシュで迅速に増
分することができる。このような増分ごとに1つのクロ
ック・サイクルが必要になるので、キャッシュ60内の
4つのブロック・リスト項目を全て検査するには、わず
か7つのクロック・サイクルが必要になる。あるいは、
各ブロック・リスト項目が単独で参照される場合、合計
16個のクロック・サイクルが必要になるものと思われ
る。この迅速なターンアラウンド・タイムでキャッシュ
60をアクセスすることにより、プリンタは、レーザ印
刷ヘッド44で現在印刷する予定の4つのブロック用の
適切なラスター線セグメント・データを迅速に提示する
ことができる。
【0066】印刷中の1つ或は複数のブロックがヌル・
データ・ブロックであるという状況では、実データを含
む他のブロック・リスト項目の場合と同様に、そのブロ
ック・リスト項目がキャッシュ60内にロードされる。
しかし、そのNOP属性を読み取ると、システムは、D
MAコントローラ70が停止し、プリンタのダイナミッ
クRAM内の物理メモリ素子にアクセスする必要がない
ことを認識することになる。むしろ、適切な512ビッ
トのラスター線セグメント・データ・ストリームを提供
するために、NOPレジスタ64(ASIC40内)が
アクセスされる。「通常」の印刷モードの場合、NOP
レジスタ64は、論理0の値を有する512個の連続ビ
ット(即ち、これはBW0レジスタによって定義された
「全ブロック」であると想定する)を提供することにな
る。「反転」ビデオ・モードで印刷する場合、NOPレ
ジスタ64は、論理1の値を有する512個の連続デー
タ・ビットを提供することになる。本発明のこの特徴
は、ヌル・データ・ブロックを第1の場所に格納しない
ことによって物理的なRAM空間を節約するだけでな
く、レーザプリンタ10のメモリ・バス及びデータ・バ
スをアンロードし、それにより、そのメモリ帯域容量を
消耗させないことによってそのパフォーマンスを高め
る。
【0067】ブロック・リスト項目の最後のブロック
(LB)属性は、適切な画像データ・ブロック用の4つ
の連続ブロック項目を提示することにより、まもなくそ
のブロックの次のラスター線に移行するか或は(その第
1のラスター線用の)まったく新しいブロックに移行す
る時期になることをDMAコントローラ70に通知する
ためにキャッシュ60が使用する。これが行われると、
アクセスすべき次のブロック・リスト項目は循環してリ
ストの第1の項目に戻り、そのバンドの終わりに達した
ことを意味する「転送カウント」が時間切れになるま
で、この順序付けが続行される。転送カウントがオート
リロード・モードで時間切れになると、ブロック・リス
ト・アドレス及び転送アカウントが「保持レジスタ」か
ら「活動レジスタ」に転送され、DMA要求を処理を続
行するようにDMAチャネルが再装備(rearm)さ
れる。ターミナル・カウントに達し、DMAチャネルが
オートリロード・モードになっていない場合、割込みに
よって、チャネルを増強するための割込みサービス・ル
ーチンがトリガされる。
【0068】上記のように、バンド内の最後のブロック
は「部分」ブロックにすることができ、それはブロック
幅の正確な倍数ではないデータ幅を有するバンドに必要
なものである。「BW0」パラメータ・レジスタは、そ
の表側で印刷中のページ用のバンド内の第1のブロック
から次のブロックを通り最後のブロックまでのブロック
幅に使用する。バンド内の最後のブロックの場合、「B
W1」パラメータ・レジスタはそのブロック幅に使用す
る。当然のことながら、BW1は、ブロック幅の正確な
倍数であるバンド用のBW0に等しい値を有する可能性
がある。両面印刷動作で裏側を印刷する場合、「BW
1」パラメータ・レジスタはそのバンド内の第1のブロ
ック用のブロック幅に使用する。このバンド内の第2の
ブロックから最後のブロックの場合、「BW0」パラメ
ータ・レジスタはブロック幅に使用する。
【0069】本発明の好ましい実施例の上記の説明は、
例示及び説明のために示したものである。網羅すること
或は開示した精密な形式に本発明を限定することを意図
するものではない。上記の教示を考慮すると、明らかな
変更或は変形が可能である。好ましい実施例は、本発明
の原理とその実際の応用例を最もよく示し、それによ
り、当業者が企図する特定の用途に適した様々な実施例
で様々な変更によって本発明を最もよく利用できるよう
にするために選び、説明したものである。本発明の範囲
は請求の範囲で定義するものとする。
【図面の簡単な説明】
【図1】図1は、本発明の原理により構築されたレーザ
プリンタで使用する主な構成要素のハードウェア・ブロ
ック図である。
【図2】図2は、図1のプリンタで印刷すべきページの
ビットマップ表現の一部分であり、ビットマップはブロ
ック又はタイルに分割されていることを示す図である。
【図3】図3は、図1のプリンタのランダム・アクセス
・メモリの一部分の概略図であり、印刷すべきページの
ビットマップ画像データのブロックを含むことができる
メモリ位置の様々な区域を示す図である。
【図4】図4は、図2の印刷ページを構成する画像デー
タのブロックの位置情報及びその他の属性を格納するた
めに本発明が使用するブロック・リスト・テーブルの一
部分の概略図である。
【図5】図5は、図4のブロック・リスト・テーブルか
らの4つのブロック・リスト項目を保持するキャッシュ
の概略図である。
【図6】図6は、図4のブロック・リスト・テーブルの
うちの2つのテーブルのアドレスを保持するブロック・
リスト・アドレス・レジスタの概略図である。
【図7】図7は、図1のプリンタのレーザ印刷ヘッドに
転送予定のビットマップ画像データを保持する先入れ先
出し(FIFO)メモリの概略図である。
【図8】図8は、図1のプリンタが使用する他の2つの
レジスタ、即ち、OPなし(NOP)レジスタとブロッ
ク幅(BW)レジスタの概略図である。
【符号の説明】
10 レーザプリンタ 12 DC電源12 14 マイクロプロセッサ 16 読取り専用メモリ(ROM) 18 シリアル・ポート 20 パラレル・ポート 22 入力バッファ 24 入力装置 26 入力装置 28 インタプリタ 30 共通グラフィック・エンジン(ラスタライザ)
(RAM) 32 フォント・プール及びフォント・キャッシュ(R
AM或はROM) 34 待ち行列マネージャ(RAM) 36 印刷エンジン 40 ASIC(特定用途向け集積回路) 44 レーザ印刷ヘッド 50 非連続メモリ・ブロック 52 ブロック・リスト・テーブル 60 キャッシュ 62 「ブロック・リスト・アドレス」レジスタ 64 特殊「OPなし」レジスタ、「NOP」レジスタ 66 先入れ先出し(FIFO)メモリ 70 DMAコントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェームズ・ハワード・エリス・ジュニア アメリカ合衆国 40515 ケンタッキー、 レキシントン、メドウブリッジ・コート 4516 (72)発明者 フィリップ・ダニエル・アーウィン・ジュ ニア アメリカ合衆国 40509 ケンタッキー、 レキシントン、ビッグ・ポンド・サークル 1310 (72)発明者 クオン・マン・ホアン アメリカ合衆国 40515 ケンタッキー、 レキシントン、サウス・ポイント・ドライ ブ 385

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 印刷装置であって、 (a)複数のメモリ素子から成る主要区域を含み、複数
    のメモリ素子から成るキャッシュ区域を含む、メモリ回
    路と、 (b)ビットマップ印刷データを入力し、印刷媒体の形
    式で出力を提示する印刷エンジンと、 (c)前記メモリ回路と前記印刷エンジンとの間のデー
    タの流れを制御し、ビットマップ印刷データを前記印刷
    エンジンに提供するように構成された処理回路であり、
    前記印刷エンジンによって印刷すべき各ページごとに複
    数のバンドのビットマップ印刷データを作成するために
    前記メモリ回路内に存在する印刷ジョブ・データについ
    て操作するように構成され、前記複数のバンドのそれぞ
    れが複数のブロックのビットマップ印刷データを含み、
    前記複数のブロックのそれぞれがブロック・リスト・テ
    ーブル内の対応する項目を有しており、 非ヌル・データを含む全てのブロックが、前記メモリ回
    路の複数のメモリ素子から成る前記主要区域の画像テー
    ブルに一時的に格納され、ヌル・データを含む全てのブ
    ロックが前記画像テーブルに格納されず、 前記ブロック・リスト・テーブルの前記複数の項目の一
    部分が、前記キャッシュ内に一時的に格納され、前記キ
    ャッシュ内に存在する間に操作され、 前記複数のバンドのそれぞれが印刷のために前記印刷エ
    ンジンに使用可能になると、前記キャッシュ内の項目の
    制御下で、バンド・バッファを使用せずにそれぞれのデ
    ータが前記印刷エンジンにリアルタイムで伝達されると
    ヌル・データを含む現在のバンド内の全てのブロックが
    内部レジスタから充填され、バンド・バッファを使用せ
    ずにそれぞれのデータが前記印刷エンジンにリアルタイ
    ムで伝達されると非ヌル・データを含む現在のバンド内
    の全てのブロックが前記画像テーブルから充填されるこ
    とから成る処理回路と、を備える印刷装置。
  2. 【請求項2】 前記キャッシュ及びブロック・リスト・
    テーブルの使用により、前記バンドの幅を制限のないも
    のにすることができる、請求項1に記載の印刷装置。
  3. 【請求項3】 非ヌル・データの前記ブロックが非連続
    物理メモリ位置の前記画像テーブルに格納される、請求
    項1に記載の印刷装置。
  4. 【請求項4】 前記ブロック・リスト・テーブルが各バ
    ンドの全てのブロック用の前記画像テーブル内のメモリ
    ・アドレスのポインタを格納する、請求項1に記載の印
    刷装置。
  5. 【請求項5】 前記複数のブロック・リスト・テーブル
    のうちの少なくとも1つを表すメモリ素子を指すポイン
    タを含む少なくとも1つのブロック・リスト・アドレス
    ・レジスタをさらに含む、請求項1に記載の印刷装置。
  6. 【請求項6】 前記内部レジスタがヌル・ブロック用の
    データを含む、請求項1に記載の印刷装置。
  7. 【請求項7】 前記画像テーブルがランダム・アクセス
    ・メモリを含み、前記内部レジスタが前記印刷エンジン
    に含まれる特定用途向け集積回路(ASIC)のメモリ
    素子を含む、請求項1に記載の印刷装置。
  8. 【請求項8】 印刷装置であって、 (a)複数のメモリ素子から成る主要区域を含み、複数
    のメモリ素子から成るキャッシュ区域を含む、メモリ回
    路と、 (b)ビットマップ印刷データを入力し、印刷媒体の形
    式で出力を提示する印刷エンジンと、 (c)前記メモリ回路と前記印刷エンジンとの間のデー
    タの流れを制御し、ビットマップ印刷データを前記印刷
    エンジンに供給するように構成された処理回路であり、
    前記印刷エンジンによって印刷すべき各ページのラスタ
    ー化ビットマップ・印刷ジョブ・データを複数のブロッ
    クのビットマップ印刷データに分割するように構成さ
    れ、前記複数のブロックのそれぞれがブロック・リスト
    ・テーブル内の対応する項目を有し、 非ヌル・データを含む全てのブロックが、前記メモリ回
    路の複数のメモリ素子から成る前記主要区域の画像テー
    ブルに一時的に格納され、ヌル・データを含む全てのブ
    ロックが前記画像テーブルに格納されず、 前記ブロック・リスト・テーブルの前記複数の項目の一
    部分が、前記キャッシュ内に一時的に格納され、 前記キャッシュに格納された前記ブロック・リスト・テ
    ーブルの前記ブロックに対応するビットマップ画像デー
    タが、非ヌル・データを含むブロック用の前記画像テー
    ブルから検索され、さらにヌル・データを含むブロック
    用のNOPレジスタから検索され、 前記キャッシュに格納された前記ブロック・リスト・テ
    ーブルの前記ブロックについてブロック単位で印刷する
    ために、ビットマップ画像データがリアルタイムで前記
    印刷エンジンに伝達されることから成る処理回路と、を
    備える印刷装置。
  9. 【請求項9】 非ヌル・データの前記ブロックが非連続
    物理メモリ位置の前記画像テーブルに格納される、請求
    項8に記載の印刷装置。
  10. 【請求項10】 前記ブロック・リスト・テーブルが全
    てのブロック用の前記画像テーブル内のメモリ・アドレ
    スのポインタを格納する、請求項8に記載の印刷装置。
  11. 【請求項11】 前記複数のブロック・リスト・テーブ
    ルのうちの少なくとも1つを表すメモリ素子を指すポイ
    ンタを含む少なくとも1つのブロック・リスト・アドレ
    ス・レジスタをさらに含む、請求項8に記載の印刷装
    置。
  12. 【請求項12】 前記NOPレジスタがヌル・ブロック
    用のデータを含む、請求項8に記載の印刷装置。
  13. 【請求項13】 前記画像テーブルがランダム・アクセ
    ス・メモリを含み、前記NOPレジスタが前記印刷エン
    ジンに含まれる特定用途向け集積回路(ASIC)のメ
    モリ素子を含む、請求項8に記載の印刷装置。
  14. 【請求項14】 前記キャッシュに現在格納されている
    前記ブロック・リスト・テーブルの前記ブロックのそれ
    ぞれに関する単一ラスター化線のビットマップ画像デー
    タが、前記画像テーブル及び前記NOPレジスタの一方
    から検索され、前記キャッシュに現在格納されている前
    記ブロック・リスト・テーブルの前記ブロックのうちの
    少なくとも1つの前記単一ラスター化線に対応するビッ
    トマップ画像データを保持するために十分な容量を有す
    るFIFOメモリに伝達され、適切な時期に前記FIF
    Oが前記ビットマップ画像データを前記印刷エンジンに
    リアルタイムで伝送する、請求項8に記載の印刷装置。
  15. 【請求項15】 メモリ記憶装置と、印刷エンジンと、
    処理回路とを有する印刷システムにおいて、リアルタイ
    ムで印刷するためにバッファすることなしに、効率よく
    ビットマップ印刷データを格納し、ヌル及び非ヌル・ビ
    ットマップ印刷データを結合する方法であって、 (a)前記印刷エンジンによって印刷すべき各ページの
    ラスター化ビットマップ・印刷ジョブ・データを複数の
    ブロックのビットマップ印刷データに分割し、前記複数
    のブロックのそれぞれがブロック・リスト・テーブル内
    の対応する項目を有するステップと、 (b)非ヌルを含む全てのブロックを前記メモリ記憶装
    置の複数のメモリ素子から成る主要区域に一時的に格納
    し、前記非ヌル・データ・ブロックのそれぞれに関する
    情報をブロック・リスト・テーブル内の項目に一時的に
    格納するステップと、 (c)前記ヌル・データ・ブロックのそれぞれに関する
    情報を前記ブロック・リスト・テーブル内の項目に一時
    的に格納するステップと、 (d)前記ブロック・リスト・テーブルの前記複数の項
    目の一部分をキャッシュ内に一時的に格納するステップ
    と、 (e)前記キャッシュに格納された前記ブロック・リス
    ト・テーブルの前記ブロックに対応するビットマップ画
    像テーブルを、非ヌル・データを含むブロック用の前記
    画像テーブルから、ならびにヌル・データを含むブロッ
    ク用のNOPレジスタから検索するステップと、 (f)前記キャッシュに格納された前記ブロック・リス
    ト・テーブルの前記ブロックについてブロック単位で印
    刷するためにビットマップ画像データをリアルタイムで
    前記印刷エンジンに伝達するステップと、の諸ステップ
    を含む方法。
  16. 【請求項16】 (g)前記キャッシュに現在格納され
    ている前記ブロック・リスト・テーブルの前記ブロック
    のそれぞれに関する単一ラスター化線のビットマップ画
    像データを前記画像テーブル及び前記NOPレジスタの
    一方から検索するステップと、 (h)前記キャッシュに現在格納されている前記ブロッ
    ク・リスト・テーブルの前記ブロックの全ての前記単一
    ラスター化線をFIFOメモリに伝達するステップと、 (i)適切な時期に前記ビットマップ画像データを前記
    FIFOから前記印刷エンジンにリアルタイムで伝送す
    るステップと、 を更に含む、請求項15に記載の方法。
  17. 【請求項17】 非ヌル・データの前記ブロックが非連
    続物理メモリ位置の前記画像テーブルに格納される、請
    求項15に記載の方法。
  18. 【請求項18】 前記ブロック・リスト・テーブルに全
    てのブロック用の前記画像テーブル内のメモリ・アドレ
    スのポインタを格納するステップをさらに含む、請求項
    15に記載の方法。
  19. 【請求項19】 前記複数のブロック・リスト・テーブ
    ルのうちの少なくとも1つを表すメモリ素子を指すポイ
    ンタを含む少なくとも1つのブロック・リスト・アドレ
    ス・レジスタを提供することをさらに含む、請求項15
    に記載の方法。
  20. 【請求項20】 前記NOPレジスタがヌル・ブロック
    用のデータを含む、請求項15に記載の方法。
  21. 【請求項21】 前記画像テーブルがランダム・アクセ
    ス・メモリを含み、前記NOPレジスタが前記印刷エン
    ジンに含まれる特定用途向け集積回路(ASIC)のメ
    モリ素子を含む、請求項15に記載の方法。
JP10169095A 1997-05-12 1998-05-12 印刷されるべきビットマップのラスター化線をビットマップ・データ線区分を検索する区分的線形直接メモリアクヤス・アドレス指定モードを用いて構築する方法及び装置 Withdrawn JPH1191173A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/854,607 1997-05-12
US08/854,607 US5870535A (en) 1997-05-12 1997-05-12 Method and apparatus for building rasterized lines of bitmap data to be printed using a piecewise-linear direct memory access addressing mode of retrieving bitmap data line segments

Publications (1)

Publication Number Publication Date
JPH1191173A true JPH1191173A (ja) 1999-04-06

Family

ID=25319148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10169095A Withdrawn JPH1191173A (ja) 1997-05-12 1998-05-12 印刷されるべきビットマップのラスター化線をビットマップ・データ線区分を検索する区分的線形直接メモリアクヤス・アドレス指定モードを用いて構築する方法及び装置

Country Status (7)

Country Link
US (1) US5870535A (ja)
EP (1) EP0887763B1 (ja)
JP (1) JPH1191173A (ja)
KR (1) KR100597879B1 (ja)
CN (1) CN1129061C (ja)
DE (1) DE69831835T2 (ja)
TW (1) TW424201B (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0971013A (ja) * 1995-05-10 1997-03-18 Canon Inc 印刷制御装置及びメモリ制御方法及び印刷制御方法及び制御プログラムを記憶した記憶媒体
US6115134A (en) * 1997-12-05 2000-09-05 Hewlett-Packard Company Scan line splitting in a multi-staged image processing pipeline
US6195473B1 (en) * 1997-12-26 2001-02-27 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement
US6181835B1 (en) * 1997-12-26 2001-01-30 International Business Machines Corporation Non-integer scaling of raster images with image quality enhancement using an anamorphically scaled intermediate bitmap
US6226420B1 (en) * 1997-12-26 2001-05-01 International Business Machines Corporation Non-integer scaling of raster images
JPH11348358A (ja) * 1998-06-09 1999-12-21 Ricoh Co Ltd 画像形成装置
US6502181B1 (en) 1999-09-17 2002-12-31 Zilog, Inc. Method and apparatus for an enhanced processor
FR2801396B1 (fr) * 1999-11-22 2002-11-08 Canon Kk Convertion en mode point de donnees numeriques
JP2001158146A (ja) * 1999-12-03 2001-06-12 Fujitsu Ltd 印字制御装置
US6238037B1 (en) 2000-02-07 2001-05-29 Lexmark International, Inc. Method of multi-dot interlace printing
US6651116B1 (en) * 2000-05-15 2003-11-18 International Business Machines Corporation Output interface for a raster object memory in a method, system and program
US6557135B1 (en) * 2000-05-17 2003-04-29 Lucent Technologies Inc. Cycling through entirety of error-indicating acknowledgment information
US8270023B2 (en) * 2000-05-23 2012-09-18 Zamtec Limited Print engine controller for double-buffered processing
AU770625B2 (en) * 2000-12-28 2004-02-26 Canon Kabushiki Kaisha Pipelining of rendered data with variable sized buffers
US6697881B2 (en) * 2001-05-29 2004-02-24 Hewlett-Packard Development Company, L.P. Method and system for efficient format, read, write, and initial copy processing involving sparse logical units
US7324229B2 (en) * 2002-04-10 2008-01-29 Texas Instruments Incorporated Rendering in a printer using bands
JP4401618B2 (ja) * 2002-04-15 2010-01-20 キヤノン株式会社 記録装置、及び、バッファ管理方法
JP4018433B2 (ja) 2002-04-15 2007-12-05 キヤノン株式会社 記録装置
JP4371632B2 (ja) * 2002-06-05 2009-11-25 キヤノン株式会社 画像記録装置及びその記録制御方法
JP4510395B2 (ja) * 2003-03-27 2010-07-21 キヤノン株式会社 記録装置
US7710602B2 (en) * 2003-03-31 2010-05-04 Sharp Laboratories Of America, Inc. Systems and methods for context-based adaptive image processing using segmentation
US7359082B2 (en) * 2003-10-20 2008-04-15 Marvell International Technology Ltd. Independent video hardware blocks to support laser printers
CN1299196C (zh) * 2004-02-23 2007-02-07 致伸科技股份有限公司 动态调整打印作业的系统及其方法
CN100351856C (zh) * 2004-06-04 2007-11-28 北京北大方正电子有限公司 一种能够减少页面预光栅化时间的打印控制方法
US7684076B2 (en) * 2004-07-23 2010-03-23 Kabushiki Kaisha Toshiba Method and apparatus for raster image processing
JP4272603B2 (ja) * 2004-08-20 2009-06-03 株式会社沖データ 情報処理装置
CN100361067C (zh) * 2004-12-31 2008-01-09 东友科技股份有限公司 打印文件的分页方法
CN100351857C (zh) * 2005-01-07 2007-11-28 北京北大方正电子有限公司 一种能够减少打印内存需求的打印控制方法
JP4603933B2 (ja) 2005-05-23 2010-12-22 キヤノン株式会社 記録装置
CN100356395C (zh) * 2005-06-13 2007-12-19 北京北大方正电子有限公司 一种能够避免打印越界错误的打印控制方法
KR100759906B1 (ko) * 2005-09-30 2007-09-18 삼성전자주식회사 주소록의 선택적 인쇄 기능을 갖는 화상형성장치 및 인쇄시스템 그리고 그들의 인쇄방법
JP4659581B2 (ja) * 2005-10-07 2011-03-30 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
US8488133B2 (en) * 2006-08-30 2013-07-16 Lexmark International, Inc. System and method for marking print media
JP4881140B2 (ja) * 2006-12-07 2012-02-22 キヤノン株式会社 データ転送装置、データ転送制御方法、およびデータ転送制御プログラム
US8472066B1 (en) * 2007-01-11 2013-06-25 Marvell International Ltd. Usage maps in image deposition devices
CN101178775B (zh) * 2007-12-11 2010-04-14 北大方正集团有限公司 二值图打印数据的处理方法
DE102008052421A1 (de) * 2008-10-21 2010-04-22 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zum Bedrucken eines Banderolenstreifens
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
US8243313B2 (en) * 2009-05-26 2012-08-14 Infoprint Solutions Company Llc Cache optimization mechanism
CN102381058A (zh) * 2010-09-03 2012-03-21 上海商务数码图像技术有限公司 一种用于数码彩色印刷的作业信息处理方法及装置
CN104782091B (zh) * 2012-10-24 2017-09-22 松下知识产权经营株式会社 通信系统、接收终端、发送终端及流量控制方法
CN104281419B (zh) * 2013-07-08 2017-05-03 南京南瑞继保电气有限公司 基于中间件的变电站装置通用打印方法
CN108415674B (zh) * 2018-03-14 2021-07-27 杭州朔天科技有限公司 一种多通道并行输出的打印控制方法、装置及其芯片
CN113238977A (zh) * 2021-07-12 2021-08-10 深之蓝(天津)水下智能科技有限公司 数据传输方法、装置、系统、电子设备及存储介质
US11704077B2 (en) * 2021-10-20 2023-07-18 Ricoh Company, Ltd. Rasterized print job compression
US11907588B2 (en) * 2021-11-15 2024-02-20 International Business Machines Corporation Accelerate memory decompression of a large physically scattered buffer on a multi-socket symmetric multiprocessing architecture

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4555802A (en) * 1983-01-10 1985-11-26 International Business Machines Corporation Compaction and decompaction of non-coded information bearing signals
US4942541A (en) * 1988-01-22 1990-07-17 Oms, Inc. Patchification system
US5129088A (en) * 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
US5237645A (en) * 1988-03-09 1993-08-17 Oki America Industry Co., Ltd. Printing apparatus
US5043918A (en) * 1989-11-09 1991-08-27 Dataproducts Corporation Multiple bus image controller structure for color page printers
ATE134272T1 (de) * 1990-08-08 1996-02-15 Peerless Group Verfahren und vorrichtung zur bildwiedergabe
JPH05103212A (ja) * 1991-10-03 1993-04-23 Sony Corp データ伝送装置
US5339164A (en) * 1991-12-24 1994-08-16 Massachusetts Institute Of Technology Method and apparatus for encoding of data using both vector quantization and runlength encoding and using adaptive runlength encoding
US5585864A (en) * 1992-06-24 1996-12-17 Seiko Epson Corporation Apparatus for effecting high speed transfer of video data into a video memory using direct memory access
US5539865A (en) * 1992-11-10 1996-07-23 Adobe Systems, Inc. Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements
US5590286A (en) * 1993-10-07 1996-12-31 Sun Microsystems, Inc. Method and apparatus for the pipelining of data during direct memory accesses
US5574953A (en) * 1994-08-19 1996-11-12 Hewlett-Packard Company Storing compressed data in non-contiguous memory
US5579452A (en) * 1994-09-29 1996-11-26 Xerox Corporation Method of managing memory allocation in a printing system
US5563987A (en) * 1994-10-28 1996-10-08 International Business Machines Corporation Pagemap memory representation in RISC processor printers
US5608848A (en) * 1995-06-06 1997-03-04 Apple Computer, Inc. Processing blank data-lines of print data

Also Published As

Publication number Publication date
DE69831835D1 (de) 2005-11-17
EP0887763A2 (en) 1998-12-30
CN1129061C (zh) 2003-11-26
KR100597879B1 (ko) 2007-04-25
KR19980086978A (ko) 1998-12-05
EP0887763B1 (en) 2005-10-12
TW424201B (en) 2001-03-01
US5870535A (en) 1999-02-09
CN1199197A (zh) 1998-11-18
DE69831835T2 (de) 2006-06-14
EP0887763A3 (en) 2001-04-11

Similar Documents

Publication Publication Date Title
JPH1191173A (ja) 印刷されるべきビットマップのラスター化線をビットマップ・データ線区分を検索する区分的線形直接メモリアクヤス・アドレス指定モードを用いて構築する方法及び装置
US5740338A (en) Method for merging variable image data into a template image
US5588095A (en) System and method of printer banding
JPH06290007A (ja) プリンタにおけるラスタ発生器およびプリンタに対するメモリ要求を減少する方法
US5136688A (en) Print data processing apparatus for an image forming apparatus
JPH0345076A (ja) 画像データの処理方式
JPH0930060A (ja) プリンタ制御装置及び方法
JPH06282411A (ja) データ伸長回路及び方法
US5563987A (en) Pagemap memory representation in RISC processor printers
JP3604152B2 (ja) ページプリンタ用に強度のレンダリングを必要としないプロセッサ/メモリ
JP2726271B2 (ja) パッチ化システム
US5889931A (en) Image output method and apparatus thereof
US7050191B2 (en) Sub-banding of display list and video buffer for page rendering in a digital signal processor
EP0764919B1 (en) Printer with high bandwidth compression architecture
JP3116354B2 (ja) プリンタデータ管理方式
US6160632A (en) Simplified method to print inherited pages in a page printer
US6678804B1 (en) Apparatus and method for memory access control
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JPH11305962A (ja) 印刷処理装置および印刷処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
EP1093080A1 (en) Printer with high bandwidth compression architecture
JPH09216428A (ja) 高帯域幅圧縮アーキテクチャを具備するプリンタ
JP2000211198A (ja) イメ―ジデ―タの管理方法
JP2981758B2 (ja) ラスタ型プリンタ
JP3365068B2 (ja) 画像処理装置
JP2549624B2 (ja) イメ−ジデ−タの転送制御装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050802