JPH11170634A - データ処理パイプライン - Google Patents

データ処理パイプライン

Info

Publication number
JPH11170634A
JPH11170634A JP10168202A JP16820298A JPH11170634A JP H11170634 A JPH11170634 A JP H11170634A JP 10168202 A JP10168202 A JP 10168202A JP 16820298 A JP16820298 A JP 16820298A JP H11170634 A JPH11170634 A JP H11170634A
Authority
JP
Japan
Prior art keywords
print data
data
lossless
lossy
raster
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
JP10168202A
Other languages
English (en)
Inventor
Gary L Vondran Jr
ゲーリー・エル・ヴァンドラン・ジュニア
James R Nottingham
ジェームス・アール・ノッティンガム
Douglas Heins
ダグラス・ヘインズ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH11170634A publication Critical patent/JPH11170634A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • 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/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/642Adapting to different types of images, e.g. characters, graphs, black and white image portions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

(57)【要約】 【課題】 印刷データのデータ要素の圧縮/伸張、カ
ラー空間変換、中間調処理などの処理を最適化する。 【解決手段】ソースストリームをテキスト、線画、グラ
フィックス、イメージ等のデータ要素の特性に基づいて
複数のデータストリームに分割する。分割は、無損失性
(可逆)と損失性(非可逆)のピクセルデータに分割す
ることができる。各データストリームは、データ処理パ
イプラインにおいて、それぞれ別個に圧縮、カラー空間
変換、伸張等の処理を受ける。処理を受けたデータスト
リームは併合ユニットで併合され、オリジナルの画像を
再構成し、必要ならば中間調処理を受け、プリントエン
ジンに渡される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データの処理に関
し、より具体的にはプリンタにおける印刷データ処理パ
イプラインの構成に関する。
【0002】
【従来の技術】プリンタの印刷データパイプラインは、
印刷に備えてパイプラインに入力される印刷データにつ
いて多くの操作を実行する。これらの操作は、印刷デー
タの圧縮、印刷データの伸張、カラー空間の変換、中間
調処理(halftoning)を含む。実行される操作の種類お
よびその操作が実行される特定の順番は、パイプライン
に入る印刷データの種類、プリントエンジンの機能、プ
リンタの使用できるメモリに依存して変化する。パイプ
ラインに入ることができる印刷データの種類には、テキ
スト、線画(line art)、イメージ、グラフィックスを含
むことができる。従来技術におけるパイプラインの実現
は、多様な処理操作がファームウェアの制御下のプロセ
ッサにより実行される。パイプラインに入る印刷データ
の種類に依存して、多くの可能なファームウェア・ルー
チンが必要に応じて実行され、前述の操作を行う。
【0003】実行される印刷データ圧縮の操作の詳細
は、パイプラインに入る印刷データの種類に依存する。
たとえば、イメージ印刷データのような印刷データのあ
る種類では、情報の何らかの損失(loss)をもたらす印刷
データ圧縮ルーチンが許容されている。これらの印刷デ
ータの種類では、印刷された出力の品質低下は認められ
ない。印刷された出力で情報の損失が認められない圧縮
ルーチンは、「視覚的に無損失性(visually lossles
s)」なシステムと呼ばれる。しかし、テキストや線画の
ような他の印刷データの種類についての印刷された出力
の品質は、使用する印刷データ圧縮ルーチンが情報の損
失をもたらさないことが重要である。
【0004】データ圧縮/伸張システムは、当該技術分
野において既知であり、デジタルデータ信号のストリー
ムを圧縮デジタルコード信号に符号化し、圧縮デジタル
コード信号を最初のデータに復号化して戻す。データ圧
縮は、所与の形式のデータを最初より少ないスペースで
足りる代わりの形式に変換しようとする何らかの処理を
いう。データ圧縮システムの目的は、デジタル情報の所
与の内容を保持するのに必要な記憶容量の節約を行うこ
とである。このデジタル情報がイメージやテキストのデ
ジタル表示である場合には、データ圧縮システムが2つ
の一般的な型に分類される。すなわち、損失があるもの
(lossy:損失性)と無いもの(lossless:無損失性)で
ある。(なお、lossyおよびlosslessは、それぞれ非可
逆および可逆ともいう。) 無損失性のシステムは、可逆(reciprocity)と呼ばれる
ものを有する。データ圧縮システムが可逆の特性(prop
erty)を持つためには、いかなる情報の変質または損失
もなく、圧縮されたデータを再伸張または復号して最初
の形に戻すことができなければならない。また復号化デ
ータと最初のデータは、互いに全く同一であり区別でき
ないものでなければならない。よって可逆の特性は、情
報論で使用される厳密にノイズ(雑音)が無いものと同
義である。
【0005】いくつかのアプリケーションは、可逆の特
性に厳密に準拠する必要がない。上に述べたように、こ
のような特定のアプリケーションの1つが、イメージデ
ータを扱う場合である。人間の眼はノイズに感知しやす
いわけではないので、圧縮および伸張の間における情報
の多少の変質または損失が許容される。情報のこの損失
を与えるシステムを、「損失性データ圧縮システム」と
呼ぶことにする。
【0006】データ圧縮システムの設計における重要な
基準は、圧縮の効率性であり、これは圧縮比により特性
づけられる。圧縮比(compression ratio)は、圧縮形式
のサイズで割った非圧縮形式のデータサイズの比であ
る。データが圧縮可能であるためには、データは冗長度
を含まなければならない。圧縮の効率性は、圧縮の手順
が入力データの冗長度をいかに有効に使うかにより決定
される。データが保管される通常のコンピュータでは、
冗長度は個々の記号表示(たとえば、数字、バイト、文
字)の均一でない使用および一連の記号のたびたび起こ
る発生(一般的な語、ブランクのレコードフィールドの
ような)の両方で起こる。
【0007】プリンタにより与えられ、受け入れられる
データレート(data rate)に関して、データ圧縮システ
ムは十分なパフォーマンスを提供する。データが圧縮さ
れるレートは、圧縮システムの入力データの処理レート
により決定される。達成されたデータレートを維持し、
処理されたデータが使用可能でないことによる印刷の中
断を防止するには、十分なパフォーマンスが必然的であ
る。よって、データ圧縮伸張システムは、システム全体
に悪影響を及ぼさないために十分なデータ帯域幅を有し
なければならない。
【0008】通常、データ圧縮伸張システムのパフォー
マンスは、圧縮および伸張に必要な計算、および統計デ
ータを保管するのに利用され圧縮処理を導くランダムア
クセスメモリとこれに類するようなシステム要素のスピ
ードにより限界づけられる。これは、圧縮伸張システム
がファームウェアで実現される時に特に当てはまり、フ
ァームウェアが一般用の中央処理ユニットを、データ圧
縮伸張処理を実行するよう導く。このようなシステムで
は、圧縮装置のパフォーマンスは、圧縮中の入力キャラ
クタあたり必要なプロセッサ・サイクル数により特性づ
けられる。サイクル数が小さければ小さいほど、パフォ
ーマンスは良くなる。ファームウェアの解決方法は、フ
ァームウェアの圧縮伸張スピードにより限界づけられ
る。これは、ファームウェアがいくつかの中央処理ユニ
ット・サイクルを利用して各バイトを伸張するからであ
る。よって、ファームウェア処理は通常、伸張スピード
を上げるために圧縮比を落とすよう調整された。
【0009】一般用のデータ圧縮手順は、従来技術にお
いて既知である。3つの適切な手順、ハフマン法(Huffm
an)、タンストール法(Tunstall)、レンペル−ジブ法(L
empel-Ziv)がある。まず第一の一般用に開発されたデ
ータ圧縮手順の1つが、ハフマン法である。簡単に述べ
ると、ハフマン法は記号の全長のセグメントを可変長ワ
ードにマップする。タンストール法は、記号の可変長セ
グメントを固定長バイナリワードにマップし、ハフマン
法に準ずるものである。ハフマン手順と同様に、タンス
トール手順は、ソースデータの確率を前もって知ってい
る必要がある。また、この前もって知っているという必
要性は、データの統計的なストレングス処理(statistic
strength processing)を累積する適切なバージョンを
利用することにより、ある程度までは満足することがで
きる。
【0010】レンペル−ジブ手順は、記号の可変長セグ
メントを可変長バイナリワードにマップする。入力また
は出力セグメントに制約がない場合には漸近的に最適で
ある。この手順では、入力データ列が、適切に成立した
セグメントに解析される。セグメントのそれぞれは、入
力データからの1つの新しい記号により付加された入力
列の初めの部分の正確な複写から構成される。行われる
複写はできるだけ長く、すでに解析されたセグメントに
一致することに制約されない。出力セグメントを表す符
号語は、初めの複写部分が始まるところ、符号の長さ、
および新しい記号へのポインタから成る情報を含む。レ
ンペル−ジブのデータ圧縮技術についてのさらなる技術
が、米国特許第4558302号に見られ、ここで参照により
取り入れる。
【0011】前述のデータ圧縮手順は有効な一般用の無
損失性手順であるが、冗長度のいくつかの特定の種類
が、他の方法を使用して圧縮される。ランレングス符号
化(run length encoding、RLE)として一般に知ら
れるこのような無損失性方法の1つが、図形イメージデ
ータに良く適している。RLEでは、一連の個々のキャ
ラクタが、繰り返されたキャラクタの識別子を加えたカ
ウント・フィールドとして符号化される。通常、2個の
キャラクタが、それぞれのキャラクタの連なり(run)に
印をつけるのに必要なので、この符号化は2またはそれ
より少ないキャラクタの連なりには使用されない。しか
し、デジタルデータ形式で表される図形イメージを扱う
場合には、任意の所与のラインにおいて同じキャラクタ
の大きな連なりが存在し、RLEはこのような情報につ
いて効率的な圧縮手順を行う。
【0012】前述のデータ圧縮手順のすべてが、データ
の冗長度に大きく依存し、顕著な圧縮比を達成する。こ
れらの手順で明らかに不利なのは、データのある種類に
ついて、入力データが何らかの決まった冗長度に欠けて
いるために入力よりも圧縮された出力が実際大きくなっ
てしまうことである。印刷の技術分野では、このような
「圧縮不完全な(incompressible)」データが簡単に生成
される。画像のある種類は、「組織的ディザ(ordered d
ither)」または「誤差拡散(error diffused)」のどち
らかとして分類される。組織的ディザの画像(「クラス
タ(cluster)」ともいう)は、中間調(half-tone)画像で
あり、ページ全体にわたって中間調のグレー(gray)表示
を含む。このような画像は、部分的なデータの冗長度を
表すのが一般的であり、上に述べたようにデータ符号化
の無損失性技術に向いている。
【0013】しかし、誤差拡散の画像(「分散(dispers
ed)」ともいう)は、それらのデータではほとんど冗長
度を表さず、異なる圧縮方法が必要である。写真(photo
graphic)画像を表す印刷データは、冗長度の低い印刷デ
ータの別の例を与える。結果として、ページプリンタの
1つのデータ圧縮機構の使用は、もはやこのようなプリ
ンタが画像データを取り扱うことをできなくしている。
米国特許第5479587号のタイトル「Page Printer Having
Adaptive Data Compression For Memory Minimizatio
n」はCambellらで提示され、ここで参照により取り入れ
る。これによると、ページプリンタは多様な圧縮技術を
通じて歩んでおり、印刷されたデータの全ページに必要
なサイズより少ない限られたメモリサイズに適応しよう
としている。上述した出願では、メモリが少なくてイメ
ージが印刷できない場合、第1の「モードM」圧縮技術
が使用される。この技術を使用して、各行にRLEを使
用し、ブロック内の行から行に生じる変化デルタを符号
化することにより、ブロックを圧縮しようという試みが
なされる。「モードM」圧縮技術が、ページを印刷する
ことができるのに十分な圧縮比を提供するのに成功しな
い場合には、LZW型圧縮を使用して第2の試みがなさ
れる。最後に、LZWベースの圧縮技術がページを印刷
することができる十分大きな圧縮比を得るのに成功しな
い場合には、損失性圧縮手順が使用される。
【0014】
【発明が解決しようとする課題】ラスタ印刷データの処
理において、印刷されるページを生成するのに先立ち、
多様な操作がラスタ印刷データについて実行される。デ
ータ圧縮、カラー空間変換、中間調のような操作は、印
刷されるページを生成するのに先だって実行することが
できる操作に含まれる。ラスタ印刷データの処理におい
て、ページの多様なセクションが、異なる種類のデータ
圧縮、カラー空間変換、中間調操作を使用して最適に処
理される場合が頻繁にある。多様なラスタ印刷データ処
理の操作をページの適切なセクションについて最適に実
行することができるようにするため、ラスタ印刷データ
の最適処理に直面した良く起こる問題は、ページを形成
するラスタ印刷データの分割であった。
【0015】例えば、ページに対応するラスタ印刷デー
タを保管するのに必要なメモリ量を考えてみる。プリン
タがドット場所の密度(インチあたりのドット)を大き
くし、グレイスケール(gray scale)の機能を加え(グ
レイスケールのレベルを決めるためピクセルあたり多く
のビット数を使用する)、カラー印刷の機能を含む(モ
ノクロ印刷よりピクセルあたり追加のビットを必要とす
る)と、ページを印刷するのに使用するデータを保管す
るのに必要なメモリは、同じ解像度のモノクロ・プリン
タに必要とされるメモリの32倍に達する。カラープリ
ンタがより妥当なメモリサイズを使用することができる
ようにするため、データ圧縮技術がメモリの必要量を下
げるのに通常使用される。しかし、ラスタ印刷データの
異なる種類が、異なる圧縮技術を用いてそれぞれ最適に
圧縮される。たとえば、イメージを含むページのセクシ
ョンに対応するラスタ印刷データについては、圧縮比と
印刷品質の最適な組み合わせは損失性圧縮技術を使用す
ることにより達成される。しかし、テキストを含むペー
ジのセクションに対応するラスタ印刷データについて
は、圧縮比と印刷品質の最適な組み合わせは無損失性圧
縮技術を使用することにより達成される。したがって、
それぞれのデータ要素の処理にデータ処理操作の最適な
型の適用を可能にするデータ処理パイプラインが必要で
ある。
【0016】
【課題を解決するための手段】印刷データのバイトまた
はワードのような複数のデータ要素から形成される複数
のデータストリームのそれぞれを別個に処理するための
データ処理パイプラインは、各データ要素についてデー
タパイプライン処理操作の最適化を可能にする。データ
処理パイプラインは、複数のデータストリームにより定
められ、データ要素に対応する併合データ要素から形成
される併合データストリームを使用する。たとえば、複
数のデータストリームは、データ要素ごとにデータ要素
のそれぞれの特性に基づいて印刷データストリームのよ
うなソースデータストリームを分割することにより形成
することができる。その特性に依存して、ソースデータ
ストリームを2つより多くのデータストリームに最適に
分割することができる。ラスタ印刷データを処理するの
に使用されるデータ処理パイプラインの場合には、ラス
タ印刷データのストリームをピクセルレベルで分割する
ことができる。たとえば、ページの損失性領域に関連す
るピクセルは、損失性ラスタ印刷データストリームを形
成することができ、ページの無損失性領域に関連するピ
クセルは、無損失性ラスタ印刷データストリームを形成
することができる。その後、データ圧縮のようなデータ
処理パイプラインの操作が、ページの各ピクセルについ
ての圧縮比および印刷品質の最適な組み合わせを達成す
るよう選択される。
【0017】またラスタ印刷データのストリームは、ピ
クセルのそれぞれを表すのに使用されるビット数に基づ
いて分割することもできる。極端な場合、カラーで印刷
されるページ領域に対応するピクセルは、ピクセルのそ
れぞれを表すのに24ビットを必要とすることができ、
白黒で印刷されるページ領域に対応するピクセルは、ピ
クセルのそれぞれを表すのに1ビットのみを必要とする
ことができる。ピクセルのそれぞれを表すのに使用され
るビット数に基づいてラスタ印刷データのストリームを
分割することにより、ピクセルあたりのビット数につい
て最適化された圧縮操作を使用することができる。さら
に、バイナリの白と黒のデータのピクセルを含むラスタ
印刷データのストリームは、カラー空間変換操作を必要
としないのに対し、カラーデータのピクセルを含むラス
タ印刷データのストリームはカラー空間変換操作を必要
とすることができる。
【0018】さらに、ラスタ印刷データのストリームの
分割は、ピクセルに対応するページ領域の所望の印刷解
像度に基づくことができる。たとえば、ベクトルグラフ
ィックス・オブジェクト(objects)のエッジ(edges)また
はイメージ・オブジェクトのエッジは、通常印刷品質の
理由により高解像度から良いものが得られ、ベクトルグ
ラフィックス・オブジェクトの内部領域またはイメージ
・オブジェクトの内部領域は、印刷品質を犠牲にするこ
となく低解像度で印刷することができる。解像度に基づ
いてラスタ印刷データストリームを分割することは、デ
ータ処理パイプラインの処理に必要なデータ量の減少を
可能にし、これによりページを印刷するのに必要な時間
を減少させることができる。さらに、中間調および圧縮
操作を、特定の分割されたラスタ印刷データストリーム
の解像度に基づいて、ラスタ印刷データの分割されたス
トリームのそれぞれについて最適化することができる。
【0019】データ処理パイプラインは、無損失性圧縮
/伸張器、中間調ユニット、カラー空間変換器、または
それらの組み合わせといった第1のパイプライン処理ユ
ニットを含む。第1のパイプライン処理ユニットは、第
1の入力を含み、複数のデータストリームのうちの1番
目のものを受け取る。第1のパイプライン処理ユニット
は、圧縮操作、伸張操作、カラー空間変換、中間調操
作、または前述の操作の組み合わせといった第1の変換
を、複数のデータストリームのうち1番目のデータスト
リームのデータ要素について実行するよう構成され、第
1の変換されたデータストリームを生成する。
【0020】さらにデータ処理パイプラインは、損失性
圧縮/伸張器、中間調ユニット、カラー空間変換器、ま
たはそれらの組み合わせといった第2のパイプライン処
理ユニットを含む。第2のパイプライン処理ユニット
は、第2の入力を含み、複数のデータストリームのうち
の2番目のデータストリームを受け取る。第2のパイプ
ライン処理ユニットは、圧縮操作、伸張操作、カラー空
間操作、中間調操作、または前述した操作の組み合わせ
といった第2の変換を、複数のデータストリームの2番
目のデータストリームのデータ要素について実行するよ
う構成され、第2の変換されたデータストリームを生成
する。
【0021】さらに、データ処理パイプラインは、第1
の変換されたデータストリームおよび第2の変換された
データストリームを受け取るよう構成された併合ユニッ
トを含む。併合ユニットは、第1の変換されたデータス
トリームおよび第2の変換されたデータストリームを、
併合データストリームを使用して出力データストリーム
へ併合するよう構成される。
【0022】
【発明の実施の形態】本発明は、ここで例示される典型
的な実施の形態に限定されるものではない。さらに、印
刷データ処理パイプラインの実施形態はカラーレーザー
・プリンタについて述べるが、当該技術分野の当業者に
は、この開示内容を理解した後で、無損失性または損失
性データ圧縮方法を用いて選択的に圧縮されたデータを
取り扱う並列パスを使用することにより、パフォーマン
スを有利に達成するため、開示された印刷データ処理パ
イプラインの構成が他の画像システムにも適用すること
ができることがわかるであろう。たとえば、開示された
印刷データ処理パイプラインは、スキャナおよびデジタ
ル写真処理のラボ(laboratories)に通常適用することが
できる。さらに、画像データの保管にメモリを必要とす
る画像を生成するための任意のシステムが、最適化され
た画像品質を達成することができ、開示されたパイプラ
インの構成を適用して必要なメモリ量を最小とすること
ができる。
【0023】カラー印刷では、印刷品質を高レベルに維
持する一方、印刷データを保管するのに必要なメモリを
下げる印刷データ処理パイプラインが必要である。損失
性または無損失性の圧縮方法を使用して選択的に印刷デ
ータを圧縮する印刷データ処理パイプラインの構成を使
用することは、高い印刷品質を維持し、印刷データの保
管に必要なメモリを最小化する。さらに、印刷データ処
理パイプラインにおける操作を適切な位置におくことに
より、印刷品質をさらに良くし、必要なメモリ量を減少
させる。
【0024】図1は、複数のデータ要素から形成された
ソースデータストリームの区画から生成された複数のデ
ータストリームを処理するためのデータ処理パイプライ
ン200の一般的な実現を表すブロック図である。複数
のデータストリームのそれぞれは、データ要素から形成
される。図1には、複数のデータストリームのうちの第
1のデータストリーム201および第2のデータストリ
ーム202のみしか表していないが、データ要素の特性
に依存して、ソースデータストリームは2より多くのデ
ータストリームに分割して、データ要素を最適に処理す
ることができる。
【0025】第1のパイプライン処理ユニット203
は、複数のデータストリームのうち第1のデータストリ
ーム201について第1の変換を実行するのに使用され
る。第1のパイプライン処理ユニット203により実行
される第1の変換は、データ圧縮または伸張、カラー空
間変換、中間調処理、または他のデータ処理操作のよう
な1または複数の操作を行うことができる。第1の変換
を実行する方法は、複数のデータストリームのうちの第
1のデータストリーム201を形成するデータ要素の特
性に最適化される。第1のパイプライン処理ユニット2
03は、第1の変換されたデータストリーム205を生
成する。
【0026】第2のパイプライン処理ユニット204
は、複数のデータストリームのうち第2のデータストリ
ーム202について第2の変換を実行するのに使用され
る。第2のパイプライン処理ユニット204により実行
される第2の変換は、データ圧縮または伸張、カラー空
間変換、中間調処理、または他のデータ処理操作のよう
な1または複数の操作を行うことができる。第2の変換
を実行する方法は、複数のデータストリームのうちの第
2のデータストリーム202を形成するデータ要素の特
性に最適化される。第2のパイプライン処理ユニット2
04は、第2の変換されたデータストリーム206を生
成する。
【0027】併合ユニット207は、第1の変換された
データストリーム205および第2の変換されたデータ
ストリーム206を受け取る。併合ユニット207は、
第1の変換されたデータストリーム205および第2の
変換されたデータストリーム206を、出力データスト
リーム208に併合する。この併合操作を行うため、併
合ユニット207は併合データストリーム209を使用
する。併合データストリーム209は、併合データ要素
から形成され、複数のデータストリームのうちの第1の
データストリーム201および第2のデータストリーム
202により定められるため、併合操作の結果である出
力データストリーム208のデータ要素は、ソースデー
タストリームにおけるデータ要素の順番を有する。よっ
て、併合ユニット207は、第1の変換されたデータス
トリーム205および第2の変換されたデータストリー
ム206を組み立て、出力データストリーム208にソ
ースデータストリームにおけるデータ要素の順番を保持
する。
【0028】ソースデータストリームにおけるデータ要
素の特性に基づいて、ソースデータストリームを分割し
て複数のデータストリームのうちの第1の201および
第2の202を形成することにより、第1のパイプライ
ン処理ユニット203および第2のパイプライン処理ユ
ニット204は、データ要素の処理を最適化するようそ
れぞれ構成される。
【0029】図2は、カラープリンタを通る印刷データ
の流れを表す簡略化された概念図であり、カラーレーザ
・プリンタについての印刷データ処理パイプライン15
の好ましい実施形態を含む。図2は、並列の損失性およ
び無損失性のパスを使用し、印刷データ処理パイプライ
ン15により実行される典型的な操作を通る印刷データ
の流れのみの例示を試みたものである。図2は、印刷デ
ータ処理パイプライン15のハードウェア・ブロック図
ではない。ハードウェア・ブロック図の後の説明から明
らかになるように、印刷データ処理パイプライン15
は、印刷データの処理を最適化するよう様々な異なる方
法で構成することができる。
【0030】システムへの印刷データ入力は、いくつか
の異なる形式で送られてくる。入力印刷データは、表示
リスト(Display List)、ラスタ印刷データ、または既に
圧縮を受けたラスタ印刷データの形で送られてくる。表
示リスト印刷データは、印刷されるべきページを構成す
るのに必要な情報を含む。表示リスト印刷データは、テ
キストまたはイメージ印刷データとしてのラスタ印刷デ
ータ、テキスト文字を表す印刷制御言語のコード、グラ
フィックス・イメージを表すグラフィックス言語のコー
ド、またはこれらの印刷データのいくつかの組み合わせ
を識別するコードと一緒に、ラスタ印刷データを含むこ
とができる。概念的には、印刷データは、印刷出力を生
成するのに必要な形式に印刷データを変換するのに必要
とされる処理に依存した適切な場所で、印刷データ処理
パイプライン15に入力される。
【0031】画像処理は、ファームウェア・ルーチンの
実行により画像処理操作1において、表示リスト印刷デ
ータについて実行される。この画像処理操作1には、入
力をページ片(page strips)に分割することが含まれ
る。入力をページ片に分割するため、印刷データが対応
するページの垂直位置に基づいて、表示リスト印刷デー
タは保管される。画像処理操作1でページ片にページを
分割することには、形成されるページ片に対応するペー
ジのセクションを形成する印刷データの種類を考慮する
ことを伴う。各ページ片は、1または2のページ片要素
で形成される。ページのセクションが、完全に損失性ま
たは完全に無損失性の印刷データのどちらかから形成さ
れると、1要素のページ片のみが、ページのセクション
について画像処理操作1で形成される。しかし、そのセ
クションについての表示リスト印刷データが損失性およ
び無損失性の印刷データの両方を含むときは、2つの別
個のページ片要素が、そのページのセクションについて
形成される。これらのページ片要素の一方は損失性印刷
データのみを含み、他方は無損失性印刷データのみを含
む。
【0032】対応するページのセクションについての損
失性および無損失性のページ片要素の形成は、データの
両種類が表示リスト印刷データに存在する時に発生す
る。この場合、画像処理操作1は、損失性および無損失
性の両方のページ片要素をピクセル位置ごと適切に、ペ
ージ・セクションからの損失性および無損失性のページ
片要素で満たすことにより、2つのページ片要素のそれ
ぞれを作る。損失性および無損失性のページ片要素に
は、ページのセクションについての印刷データが含まれ
る。たとえば、表示リスト印刷データが、損失性イメー
ジ印刷データと一緒に無損失性テキスト印刷データを含
む場合には、画像処理操作1は表示リスト印刷データを
テキスト印刷データとイメージ印刷データとに分離す
る。その後、無損失性および損失性のページ片要素のそ
れぞれが、ピクセル位置ごとに、それぞれのテキスト印
刷データおよびイメージ印刷データで満たされる。この
場合、表示リスト印刷データに対応するページ片は、無
損失性テキスト印刷データを包含するページ片要素で被
せられる損失性イメージ印刷データを包含するページ片
要素、を含む合成ページ片とみなされる。
【0033】損失性および無損失性のページ片要素が形
成される場合には、画像処理操作1が対応する併合プレ
ーン(merge plane)を生成する。この併合プレーンは、
2つのページ片要素において対応するピクセル位置のそ
れぞれの対について1ビットから成り、そのピクセルに
ついての印刷データが含まれる損失性および無損失性の
ページ片要素を指す。併合プレーンを形成するビット
は、バイトに形づくられ、バイト・ストリームとして印
刷データ処理パイプライン15を通って転送される。こ
の併合プレーンは、印刷データ処理パイプライン15の
後の段階で使用され、無損失性および損失性のページ片
要素を組み合わせ、これにより最初の(オリジナルの)
ページ片が再構成される。この併合操作は、この明細書
の後の方で詳細に述べる。
【0034】1つのページ片要素が、損失性印刷データ
のみ、または無損失性印刷データのみを有するよう形成
される場合は、そのページ片についてのすべての印刷デ
ータが1つのページ片要素に含まれる。さらに、ページ
片要素に関連する併合プレーンは、イメージ処理操作1
によっては生成されない。ページのセクションについて
1つのページ片要素しかないので、併合プレーンのどの
ビットも同一である。したがって、印刷データ処理パイ
プライン15を通るすべて同じ値のバイトから成る併合
プレーンを送る必要性が無い。イメージ処理操作1で併
合プレーンを生成する代わりに、印刷データ処理パイプ
ライン15の後の段階で併合プレーンが生成される。こ
れについては、この明細書の後の方で詳しく述べる。
【0035】また画像処理操作1は、ページ片における
各ピクセル位置に対応する1つの値を有する中間調プレ
ーン(halftone plane)を生成する。この明細書で後で述
べるように、各中間調の値は2ビットで表され、ピクセ
ルに対応する印刷データに適用される中間調操作を決定
する。実行される中間調操作が、ページ片の各ピクセル
について同じである場合は、中間調プレーンは印刷デー
タ処理パイプライン15の後の方の段階で生成される。
これについては、この明細書の後の方でより詳細に述べ
る。
【0036】ページ片要素に分割された表示リスト印刷
データから、ラスタ印刷データが表示リスト印刷データ
に対応して生成される。結果のラスタ印刷データのペー
ジ片要素は、生成される時に印刷データ処理パイプライ
ン15の操作を通る。ラスタ印刷データメモリ2は、画
像処理操作1により生成されたラスタ印刷データを保管
するのに使用される。ラスタ印刷データメモリ2に割り
振られるメモリ領域は、ページ片あたりの最大限可能な
ライン数をもつ2つのページ片要素のラスタ印刷デー
タ、対応する併合プレーンのサイズ、対応する中間調プ
レーンのサイズを含むのに十分な記憶容量をもつ。ペー
ジ片要素のそれぞれは、画像処理操作1においてラスタ
処理され、ラスタ印刷データメモリ2に割り振られたメ
モリ領域に保管され、その後印刷データ処理パイプライ
ン15の次の操作に送られ、画像処理操作1でラスタ処
理された次のページ片要素のためにラスタ印刷データメ
モリ2に領域を作る。好ましい実施形態においては、ラ
スタ印刷データメモリ2が、印刷データ処理パイプライ
ン15が実装される集積回路に含まれないことに注意す
べきである。
【0037】通常、生成されたラスタ印刷データは、そ
れぞれのピクセルについて3個の8ビットのバイトから
成る。3バイトのそれぞれが、表示リスト印刷データが
表現されるカラー空間におけるカラー次元(color dimen
sions)の1つに対応する。印刷データ処理パイプライン
の好ましい実施の形態が動作するカラープリンタでは、
これはRGBカラー空間である。しかし、当該技術分野
の当業者には、入力印刷データのカラー空間が、シア
ン、マゼンタ、黄、黒(CMYK)や、色相(hue)、飽
和度(saturation)、明度(value)(HSV)、色相、明
度(lightness)、飽和度(HLS)、輝度(luminance)、
赤黄スケール、緑青スケール(La*b*)、輝度、赤緑
スケール、黄青スケール(Luv)、輝度、赤青スケー
ル、緑黄スケール(YCrCb)またはYIQのような
任意のカラー空間であることがわかるであろう。生成さ
れたラスタ印刷データは、イメージ、テキスト、線画、
グラフィックス、またはこれらのいくつかの組み合わせ
に対応する。
【0038】前述したように、画像処理操作1は、無損
失性および損失性のページ片要素が形成されるような表
示リスト印刷データの場合に、併合プレーンを作成す
る。印刷データ処理パイプラインの後の方で、併合ビッ
トは対応する無損失性および損失性のページ片要素の対
からピクセルを選択するのに使用され、無損失性および
損失性のページ片要素を組み合わせ、最初の(オリジナ
ルの)画像に向けてピクセル間の正確な空間的関係を維
持する。
【0039】カラー空間変換は、カラー空間変換操作3
で実行される。ラスタ印刷データについて達成される圧
縮の度合いは、ラスタ印刷データが表現されるカラー空
間により影響される。たとえば、高い損失性圧縮比(同
じ画像品質で)は、RGBカラー空間からYCbCrカ
ラー空間へのカラー空間変換を実行し、YCbCrへの
変換後に損失性圧縮操作を実行することにより成し遂げ
られるのが通常である。YCbCrカラー空間は、輝度
/色相/彩度(chroma)型のカラー空間であり、カラー空
間のCrおよびCb要素は、それぞれ色相および彩度の
両方の情報を含む。人間の眼は、輝度の変更に対して最
も敏感であり、彩度の変更に対しては相対的に敏感では
ない。このため、このカラー空間で表現される印刷デー
タは、CrおよびCb要素において著しい冗長度の量を
含む。結果として損失性圧縮は、相対的に大きい圧縮比
でラスタ印刷データの損失性ページ片要素について実行
される。圧縮比に依存したこのカラー空間の有利な点
は、無損失性圧縮については存在しない。その理由は、
無損失性ページ片要素は、RGBカラー空間からYCb
Crカラー空間へのカラー空間変換を受けないからであ
る。しかし、このカラー空間変換が他の理由で必要とさ
れた場合には、実行される。印刷データ処理パイプライ
ンの後の段階で、無損失性ページ片要素および損失性ペ
ージ片要素の両方が、RGBまたはYCbCrカラー空
間からCMYKカラー仕様へのカラー空間変換を受け
る。このカラー空間変換は、この明細書の後の方で述べ
る。
【0040】1つのページ片に対応するページのセクシ
ョンから無損失性および損失性のページ片を形成し、さ
らに併合プレーンおよび中間調プレーンを生成すること
は、印刷データ処理パイプライン15を通って送られる
データ量を増加させる。それぞれのピクセルに関連する
併合ビットおよび2つの中間調ビットが、印刷データ量
を増加させる。しかし、高圧縮比が無損失性および損失
性のページ片について行われ、しかも併合プレーンおよ
び中間調プレーンも無損失性圧縮を受けるので、印刷デ
ータを包含するのに必要なメモリ領域は、最悪の場合で
わずかに増加するだけである。しかし、無損失性および
損失性のデータに異なるデータ圧縮のアルゴリズムを適
用しないパイプラインを介した印刷品質の改良結果は、
顕著である。ほとんどの印刷ジョブにとって、印刷デー
タはすべて損失性か、またはすべて無損失性かのどちら
かである。これらの場合、画像処理操作1から印刷デー
タ処理パイプライン15を通って送られるラスタ印刷デ
ータの量における唯一の増加は、ページ片のピクセルに
異なる中間調アルゴリズムを適用する場合には中間調プ
レーンである。同じ中間調アルゴリズムがページ片のす
べてのピクセルに適用される場合には、イメージ処理操
作1では中間調プレーンはまったく生成されない。
【0041】ラスタ印刷データは、印刷データ処理パイ
プラインに直接入力することができる。ラスタ印刷デー
タは、スキャナまたはホスト・コンピュータから送られ
ることができる。またラスタ印刷データを提供する装置
は、画像処理操作1により使用されるヘッダを提供し、
ページ片を形成する。このヘッダには、画像処理操作1
のため損失性または無損失性としてラスタ印刷データを
分離するのに画像処理操作1が使用する情報が含まれ
る。
【0042】損失性ラスタ印刷データのページ片要素が
損失性圧縮を受ける前に、ラスタ印刷データのカラー空
間変換されたページ片要素のCrおよびCb要素が選択
的に減少させられ、印刷データ処理パイプライン15が
取り扱わなければならない印刷データの量を減少させ、
これによりデータ処理量を増加させ、ラスタ印刷データ
を保持するのに必要なメモリ量を減少させる。前述した
CrおよびCb要素の冗長度が、このラスタ印刷データ
のサブサンプリングが達成されることを可能にし、ラス
タ印刷データの視覚的な無損失性の特性を維持する。サ
ブサンプリング操作は、損失性圧縮操作5で実行され
る。損失性圧縮操作5は、走査線に沿って8ピクセル幅
であって、8の連続した走査線分の高さであるセクショ
ンから形成されるラスタ印刷データのブロックについて
圧縮を行う。サブサンプリングを通って、これらの8ピ
クセルx8ピクセルのブロックの全体数が減少する。
【0043】発生するサブサンプリングの量は必要なデ
ータ減少量に依存し、ラスタ印刷データが使用可能なメ
モリ領域に適合することができるようにする。十分なメ
モリ領域が使用可能であれば、サブサンプリングはペー
ジ片要素の損失性ラスタ印刷データの量を1/3だけ下
げるよう実行される。メモリへの損失性ラスタ印刷デー
タの適合が必要な場合には、サブサンプリングはページ
片要素の損失性ラスタ印刷データの量を半分だけ下げる
ように実行される。
【0044】1/3の減少を達成するサブサンプリング
は、以下のように行われる。たとえば、損失性ラスタ印
刷データの3つのグループを考え、それぞれのグループ
が1つのカラー空間からピクセルの8x8の4つのブロ
ックを表すとする。第1グループは輝度要素から形成さ
れ、第2グループはCr要素から形成され、第3グルー
プはCb要素から形成される。そして、損失性ラスタ印
刷データが全体として12ブロックある。第2グループ
では、4ブロックそれぞれにおける8の走査線のそれぞ
れについて、各走査線に沿った交互のピクセルに対応す
る損失性ラスタ印刷データのみが維持される(各ブロッ
クの各走査線の第1番目のピクセルで始まる)。結果と
して、4ブロックそれぞれの各走査線について、8ピク
セル幅が4ピクセルに減少する。この方法では、Cr要
素の4ブロックは、2ブロックにサブサンプリングされ
る。Cb要素のサブサンプリングは、同様のやり方で、
4ブロックから2ブロックになる。このサブサンプリン
グの後、ピクセルの最初の12ブロックのうち8個はそ
のままであり、すなわち1/3だけ減少する。
【0045】半分の減少を達成するサブサンプリング
は、Cr要素の2ブロックおよびCb要素の2ブロック
が残る1/3の減少を行うのと同じサブサンプリング手
順を適用することによりなされる。同じサブサンプリン
グ手順を、CrおよびCb要素の残りのブロックに適用
すると、Cr要素について1ブロック、Cb要素につい
て1ブロックという結果を生じる。サブサンプリングの
この第2のパスの後、ピクセルの最初の12ブロックの
うち、6が残り、半分だけ減少する。
【0046】サブサンプリング操作が実行された後、損
失性圧縮操作5において、損失性圧縮アルゴリズムがペ
ージ片要素に適用される。印刷データ処理パイプライン
15の好ましい実施形態において使用される損失性圧縮
方法は、周知のJPEGアルゴリズムである。JPEG
損失性圧縮方法が選択されたのは、以前開発されたハー
ドウェアが、この方法を実行するのに簡単に利用するこ
とができたからである。しかし、ベクトル量子化のよう
な任意の損失性圧縮方法が使用されてきた。無損失性ペ
ージ片要素である場合には、このページ片要素の圧縮
は、無損失性圧縮操作4で実行される。さらに、ページ
片要素に対応する併合および中間調プレーンがある場合
には、これらの両方が無損失性圧縮操作4で圧縮され
る。印刷データ処理パイプライン15の好ましい実施形
態では、ジブ−レンペルの無損失性圧縮/伸張方法を使
用し、これは米国特許第5455576号で開示され、ここで
参照により取り入れる。しかし、JBIG、ランレング
スまたはデルタロウ圧縮(deltarow compression)のよう
な任意の無損失性圧縮/伸張方法も使用することができ
る。無損失性および損失性圧縮を実施するのに使用する
技術に関する情報は、「INTRODUCTION TO DATA COMPRES
SION」、Khalid Sayood、1996年、Morgan Kaufmann出
版という本に見られ、ここで参照により取り入れる。
【0047】損失性圧縮操作5および無損失性圧縮操作
4によりそれぞれ生成された損失性および無損失性の圧
縮ラスタ印刷データは、圧縮ラスタ印刷データメモリ6
に保管されるる。圧縮ラスタ印刷データメモリ6に割り
振られる領域は、ページ全体の圧縮損失性および無損失
性のラスタ印刷データの3つの色のプレーンすべて、ペ
ージ全体の圧縮中間調データ、ページ全体の圧縮併合デ
ータを保持するのに十分なサイズである。好ましい実施
形態においては、圧縮ラスタ印刷データメモリ6が、印
刷データ処理パイプライン15が実装される集積回路に
含まれないことに注意すべきである。さらに、ラスタ印
刷データメモリ2および圧縮ラスタ印刷データメモリ6
の指定は、印刷データ処理パイプライン15の操作を説
明する目的のためだけの概念的意味である。ラスタ印刷
データメモリ2および圧縮ラスタ印刷データメモリ6の
両方が、圧縮ラスタ印刷データであろうと、圧縮/伸張
操作が実行されなかったラスタ印刷データについてであ
ろうと、物理的にシステムメモリに置かれ、印刷データ
を保管する。メモリは所与の時間で保管されるデータの
種類によって指定しさえすればいいので、システムメモ
リの場所は、異なる時間の印刷データの両方の種類を保
管するのに使用することができる。
【0048】損失性または無損失性のページ片要素の各
ピクセルについてラスタ印刷データは3バイトで表さ
れ、すなわちラスタ印刷データのそれぞれのカラー空間
の要素について1バイトで表される。損失性および無損
失性のページ片要素は、印刷データ処理パイプライン1
5を通って2つの並列チャネルを移動する。印刷データ
処理パイプライン15における印刷データの位置によ
り、損失性および無損失性のラスタ印刷データストリー
ムは、1バイト幅または3バイト幅のどちらかである。
損失性および無損失性のラスタ印刷データは、カラー空
間変換操作3、9に3バイト幅ストリームとして入り、
1バイト幅ストリームとして出て、出力カラー空間の次
元を表す3バイトグループの各バイトを有する3バイト
幅ストリームにパックされる。損失性および無損失性の
ラスタ印刷データは、カラー空間変換操作12に3バイ
ト幅ストリームとして入り、1バイト幅ストリームとし
て出る。カラー空間変換操作3、9、12に入る3バイ
トグループのそれぞれのバイトが、入力カラー空間の1
次元に対応するラスタ印刷データを表す。カラー空間変
換操作12を出る結果としての1バイトは、印刷を受け
ている出力カラー空間の1つの次元に対応するラスタ印
刷データを表す。損失性および無損失性の印刷データ
は、画像処理操作1を3バイト幅ストリームとして出
る。損失性および無損失性の印刷データが、損失性5、
8、11圧縮および無損失性4、7、10圧縮操作に3
バイト幅ストリームとして入り、1バイト幅ストリーム
として出て、その後バッファされ、3バイト幅ストリー
ムとなる。損失性および無損失性の印刷データは損失性
5、8、11伸張および無損失性4、7、10伸張操作
に1バイト幅ストリームとして入り、1バイト幅ストリ
ームとして出る。損失性および無損失性のラスタ印刷デ
ータは、併合操作13および中間調操作14の両方を1
バイト幅ストリームとして入り、1バイト幅ストリーム
として出る。
【0049】併合データプレーンはバイトに調整され
る。各ピクセルについて1ビットのみが併合操作に必要
とされるので、併合データの各バイトは、8ピクセルに
ついての併合情報を含む。中間調データプレーンは8ビ
ットのバイトに調整される。各ピクセルについて2ビッ
トが中間調操作では必要とされるので、中間調データの
各バイトは4ピクセルについての中間調情報を含む。中
間調プレーンおよび併合プレーンの両方が、印刷データ
処理パイプラインを通って2つの並列バイト幅チャネル
を移動する。
【0050】損失性および無損失性のページ片要素を形
成し、その後これらのページ片要素のラスタ印刷データ
を、それぞれ損失性または無損失性の圧縮方法を用いて
圧縮することにより、メモリ圧縮および画像品質の最適
な組み合わせが印刷データについて達成される。損失性
ラスタ印刷データは損失性圧縮技術を用いて高圧縮さ
れ、視覚的に無損失性の特性を維持する。無損失性ラス
タ印刷データは無損失性圧縮技術を用いて圧縮されるの
で、画像品質の劣化を生じず、高圧縮比を達成する。選
択された損失性および無損失性の圧縮方法は、損失性ラ
スタ印刷データ(イメージ)および無損失性ラスタ印刷
データ(テキスト、線画、グラフィックス)について最
適化され、画像品質を劣化させることなく高圧縮比を生
じさせる。この機能は非常に有利な点であり、印刷デー
タ処理パイプライン15において損失性および無損失性
のページ片要素を使用することから生じる。印刷データ
処理パイプライン15の好ましい実施形態では、複数の
チャネルを使用し、損失性および無損失性のラスタ印刷
データ、対応する中間調および併合データを、印刷デー
タ処理パイプライン15を通って移動させるが、1つの
マルチプレクサ・チャネルを使用して、連続的に印刷デ
ータのページ片要素を転送することもできることに注意
すべきである。1つのマルチプレクサ・チャネルの使用
は、必要なハードウェアを縮小するためにパフォーマン
スを犠牲にする。
【0051】圧縮ラスタ印刷データを印刷データ処理パ
イプライン15に入力することが可能である。これは、
圧縮ラスタ印刷データが表示リストのコマンドに関連す
る印刷データ処理パイプライン15の入力である時に生
じることができ、ラスタ印刷データまたは圧縮ラスタ印
刷データがページ全体の伸張および印刷に備えて印刷デ
ータ処理パイプラインの入力であることができる。この
圧縮ラスタ印刷データは、ホストコンピュータまたはホ
ストコンピュータを介したスキャナにより与えることが
できる。この圧縮ラスタ印刷データには、画像処理操作
1により使用される情報を含むホストコンピュータによ
り付されるヘッダが含まれる。
【0052】表示リスト印刷データとしての印刷データ
処理パイプライン15への損失性イメージの前の入力
を、圧縮損失性ラスタ印刷データとして印刷データ処理
パイプライン15への入力である損失性イメージで被せ
たい(overlay)と望む場合を考えてみる。この場合、印
刷データ処理パイプライン15にパスが提供され、圧縮
ラスタ印刷データを圧縮ラスタ印刷データメモリ6から
損失性伸張操作8へ送り、カラー空間変換操作9でカラ
ー空間変換を行って(圧縮損失性ラスタ印刷データがR
GBカラー空間で表現されない場合について)、RGB
カラー空間に戻し、結果をラスタ印刷データメモリ2に
保管し、前の入力損失性イメージを用いて被せることを
行うため、伸張損失性ラスタ印刷データを画像処理操作
1に配信する。その後画像処理操作1は、損失性ページ
片要素への分割を実行する。圧縮損失性ラスタ印刷デー
タを無損失性印刷データと組み合わせるためのこのパス
が、概念的意味で図2に示されている。印刷データがハ
ードウェアの機能ブロックに追従し、図2に示される操
作を行う実際のルートは、この明細書の後ろの方で述べ
る。
【0053】前述したように、印刷データ処理パイプラ
イン15は、ラスタまたは圧縮ラスタ印刷データ形式の
印刷を供給することができるホストコンピュータまたは
スキャナのような多様な装置から、ラスタまたは圧縮ラ
スタ印刷データを受け取ることができる。ラスタまたは
圧縮ラスタ印刷データのどちらかを受け取ることは、ラ
スタ操作を行う画像処理操作1の必要性を取り除く。さ
らに、印刷データが、もう印刷ができる圧縮ラスタ印刷
データとして受取られると、損失性5および(または)
無損失性4圧縮操作またはカラー空間変換操作3を行う
必要性がない。
【0054】印刷データ処理パイプライン15の好まし
い実施形態に示される操作を達成するのに使用される機
能ブロックは、1つの集積回路に実現される。デジタル
集積回路でこれらの機能を実現するのに使用される技術
は、デジタル集積回路の設計分野において周知である。
専用ハードウェアにおける印刷データ処理パイプライン
15の機能の実現は、パイプラインに入る印刷データに
ついてすぐれた処理パフォーマンスを提供する。
【0055】マイクロプロセッサを使用して印刷データ
処理パイプライン15における操作のそれぞれを実行す
ることは可能であるが、印刷データの処理パフォーマン
スが極端に低下する。マイクロプロセッサは、必要な印
刷データ圧縮、カラー空間変換、印刷データ伸張操作を
実行するのに、損失性および無損失性のページ片要素を
交互に取り扱う必要がある。さらに、マイクロプロセッ
サは、損失性および無損失性のページ片要素を併合し、
中間調操作を実行する。
【0056】印刷データ処理パイプライン15の好まし
い実施形態は、CMYKカラー仕様で表現される印刷デ
ータを受け取るよう設計されるカラーレーザ・プリント
エンジン16を用いて動作する。さらに、プリントエン
ジン16は、トナーをページに転送するのに先立ち、C
MYKカラー仕様のそれぞれのプレーンについて連続的
にトナーを現像(developing)することより動作する。プ
リントエンジン16によって使用される4パスの現像処
理が、印刷データ処理パイプライン15を通るラスタ印
刷データが流れる方法を命令する。レーザプリントエン
ジン16のこの動作モードにより、ページについてのラ
スタ印刷データが、4つの連続したパスでプリントエン
ジン16に送られる(CMYKカラー仕様のそれぞれの
次元について1パス)。
【0057】前述したように、ページ全体の圧縮ラスタ
印刷データは、損失性および無損失性のページ片要素が
圧縮される時に、圧縮ラスタ印刷データメモリ6に割り
振られたメモリに累積される。損失性圧縮ラスタ印刷デ
ータはYCbCrカラー空間で表現される。無損失性圧
縮ラスタ印刷データは、RGBカラー空間で表現され
る。レーザプリントエンジンのCMYKカラー仕様の4
つのプレーンのそれぞれに圧縮ラスタ印刷データを変換
するには、4つの連続したパスで印刷データ処理パイプ
ライン15を通って、ページについての圧縮ラスタ印刷
データを送る必要がある。これら4パスのそれぞれにお
いて、無損失性および損失性の圧縮ラスタ印刷データ
が、2つの1バイト幅チャネルを介してそれぞれの無損
失性10および損失性11伸張操作に、伸張のため送ら
れる。無損失性圧縮ラスタ印刷データのバイトにインタ
ーリーブ(interleave、はさみこみ)されるのは、圧縮
併合プレーンおよび中間調プレーンである。併合プレー
ンおよび中間調プレーンが無損失性ラスタ印刷データに
インターリーブされるので、これらは無損失性ラスタ印
刷データと一緒に無損失性圧縮を受ける。伸張の後、併
合プレーンおよび中間調プレーンは、伸張無損失性印刷
データストリームから抽出される。これについては、こ
の明細書の後の方で詳しく述べる。損失性圧縮印刷デー
タは、損失性ページ片要素を含む。損失性圧縮ラスタ印
刷データの伸張の後、補間操作が実行され、損失性ラス
タ印刷データの圧縮に先立ちサブサンプリングを通して
除去されたCrおよびCb要素の値を拡張(expand)す
る。補間操作は、損失性伸張操作11の一部として実行
される。
【0058】損失性11および無損失性10の伸張操作
の後、無損失性印刷データおよび損失性印刷データの両
方が、カラー空間変換操作12のカラー空間変換のため
に送られる。プリントエンジン16が4パスの現像処理
を使用するので、ページのすべてのカラープレーン(col
or plane)についての圧縮ラスタ印刷データが、損失性
11および無損失性10伸張操作を介して4回連続して
送られる。無損失性10および損失性11の伸張操作を
通る圧縮ラスタ印刷データのカラー空間変換操作12へ
の4パスのそれぞれについて、カラー空間変換操作12
がCMYKカラー仕様の4プレーンのうち1つを生成す
る。カラー空間変換操作12は、印刷されるべきページ
のピクセルのそれぞれを表す損失性または無損失性のラ
スタ印刷データの3個の8ビットのバイトを使用して実
行する。カラー空間変換操作12からのラスタ印刷デー
タストリーム出力は、損失性ラスタ印刷データおよび無
損失性ラスタ印刷データから形成される2個の8ビット
チャネルを含む。カラー空間変換操作12への無損失性
ラスタ印刷データ入力は、RGBカラー空間で表現され
る。カラー空間変換操作12への損失性ラスタ印刷デー
タ入力は、YCrCbカラー空間で表現される。
【0059】図2は、損失性5および無損失性4圧縮操
作、無損失性7および損失性8伸張操作、無損失性10
および損失性11伸張操作が、別個のハードウェアユニ
ットで達成されることを示唆する。しかし、印刷データ
処理パイプライン15の好ましい実施形態においては、
損失性の圧縮および伸張を実行する1つのハードウェア
ユニットがあり、無損失性の圧縮および伸張を実行する
1つのハードウェアユニットがある。これらのユニット
は、印刷データ処理パイプライン15についてすべての
圧縮/伸張操作を行う。印刷データ処理パイプライン1
5を説明する目的のために、好ましい実施形態におい
て、図2は別個のハードウェアユニットとしてカラー空
間変換操作3,9,12を示すが、1つのカラー空間変
換器が、必要なカラー空間変換のすべてを実行するのに
使用される。印刷データ処理パイプライン15の好まし
い実施形態においては、カラー空間変換器が、出願「AP
PRATUS FOR GENERATING INTERPOLATION INPUT DATA」(1
0960608-1)、「APPRATUS FORROUTING INTERPOLATION IN
PUT DATA」(10960467-1)に開示されており、参照により
ここで取り入れる。当該技術分野の当業者には、損失性
および無損失性の印刷データを表現するのに選択される
カラー空間の間で変換を実行するカラー空間変換器、お
よび複数パス印刷データ処理パイプラインで使用するの
に適したレーザプリントエンジンにより使用されるカラ
ー仕様を、この明細書を理解した後でわかるであろう。
【0060】併合操作13は、無損失性ラスタ印刷デー
タストリーム、損失性ラスタ印刷データストリーム、中
間調データストリーム、併合データストリームを入力と
して受け取る。これらの印刷データストリームのそれぞ
れが、バイトストリームから形成される。ページ全体の
ピクセルのそれぞれについてプリントエンジンのカラー
仕様の1つのカラープレーンを表す印刷データが、無損
失性および損失性のラスタ印刷データストリームに含ま
れる。併合操作13の機能は、ピクセルごとにこれら2
つのラスタ印刷データストリームを組み合わせ、前に無
損失性および損失性のページ片要素に分割された最初の
(オリジナルの)画像を、処理されているカラープレー
ンについて再構成する。各ピクセルに関連する併合デー
タのビットが併合操作13により使用され、現在処理さ
れているピクセルのラスタ印刷データが、無損失性ラス
タ印刷データストリームから選択されるか、または損失
性ラスタ印刷データストリームから選択されるかどうか
を判断する。併合操作13を通る損失性および無損失性
のラスタ印刷データの引き続き起こる次のパスが、プリ
ントエンジンのカラー仕様の残っているカラープレーン
について最初の画像を再構成する。ピクセルのそれぞれ
が、印刷されたページ上の位置に対応する。再構成処理
は、無損失性および損失性のラスタ印刷データストリー
ムの空間的同期とみなされ、最初の画像を生成する。さ
らに、空間的同期を達成するため、無損失性および損失
性のラスタ印刷データストリームと併合データのストリ
ームは、時間的に同期しなければならない。
【0061】開示された印刷データ処理パイプライン1
5は、プレーンごとにプリントエンジン16の現像特性
を利用し、印刷操作をするのに必要なメモリ全体量を下
げる。印刷データ処理パイプライン15において、カラ
ー空間変換操作12の次に併合操作13を位置づけるこ
とで、プリントエンジン16のCMYKカラー仕様の1
つのカラープレーンについてラスタ印刷データの保管の
ため、併合操作13が最小サイズのラインバッファを使
用するという必要性のみがある。併合操作13がカラー
空間変換操作12に先だって印刷データ処理パイプライ
ン15に位置したのでは、RGBおよびYCrCbカラ
ー空間の3次元のそれぞれについてラスタ印刷データを
保管するのに十分なサイズのラインバッファを併合操作
13が使用するという必要性が生じることとなる。
【0062】無損失性および損失性印刷データについて
別個のパスを使用する印刷データ処理パイプラインの構
成は、複数パスの代わりに1つのパスでプリントエンジ
ンのカラー仕様のすべてのカラープレーンについてラス
タ印刷データを受けることにより動作するプリントエン
ジンと互換性がある。この場合、カラー空間変換操作1
2が、各ピクセルを表すラスタ印刷データについてカラ
ー空間変換を実行し、同時にC、M、Y、K要素の対応
する値のそれぞれを生成する必要がある。これは、C、
M、Y、K要素それぞれを生成するのに必要な補間を同
時に実行する機能を有するカラー空間変換操作12を必
要とする。さらに併合操作13は、C、M、Y、K要素
それぞれについてラスタ印刷データを含むのに十分なサ
イズのラインバッファが必要である。
【0063】印刷データ処理パイプライン15の好まし
い実施形態では、併合操作13で組み合わされたラスタ
印刷データは、中間調操作14に付される。中間調操作
14は、プリントエンジン16への印刷データの配信に
先だってラスタ印刷データについて実行される最後の操
作となるよう位置づけられる。中間調操作14は、各ピ
クセルに関連する中間調印刷データによって示されたよ
うに、併合されたラスタ印刷データについてプレーンご
とに中間調処理を行う。併合操作13の後に中間調操作
14を位置づけることが、中間調操作4がプリントエン
ジン16により使用されるカラー空間の各カラープレー
ンについて連続的に処理することを可能にし、これによ
ってラスタ印刷データを保管するのがより少ないメモリ
で足りる。さらに、中間調操作14が併合操作に先だっ
て実行されると、無損失性ラスタ印刷データおよび損失
性ラスタ印刷データのストリームについて中間調操作1
4を別個に実行する必要性があるために、中間調操作1
4の複雑さが著しく増加する。さらに、印刷データ処理
パイプライン15の最後に中間調操作14を置くこと
が、最適な印刷品質をもたらす。損失性ラスタ印刷デー
タの圧縮の事前に中間調操作14を位置づけることは、
中間調処理により達成された強調(enhancements、エン
ハンスメント)のいくらかの損失をもたらし、中間調ラ
スタ印刷データについて達成された圧縮レベルを減少さ
せる。加えて、印刷品質の最高レベルが、プリントエン
ジンのカラー仕様で表されるラスタ印刷データについて
中間調操作14を実行することにより達成される。した
がって、印刷データ処理パイプライン15の好ましい実
施形態では、中間調操作14はカラー空間変換操作12
の後に位置される。
【0064】ラスタ印刷データの各ピクセルに中間調ビ
ットを割り当てるのは、中間調プレーンを作る画像処理
操作1で実行される。前述したように、印刷データ処理
パイプラインに入る印刷データは、ラスタ印刷データ形
式のテキスト、グラフィックス、イメージ印刷データ、
印刷制御言語の印刷データ、グラフィックス言語の印刷
データであることができる。画像処理ブロック操作1の
ファームウェア操作は、適用される中間調アルゴリズム
の種類に従って対応する損失性および無損失性のページ
片要素について中間調プレーンを生成する。たとえば、
テキスト印刷データについての中間調ビットは、「1
1」に割り当てられることができ、グラフィックス印刷
データについての中間調ビットは「10」に割り当てら
れることができ、イメージ印刷データについての中間調
ビットは「01」に割り当てられることができ、いかな
る中間調操作もピクセルに対応する印刷データに適用さ
れないことを示す中間調ビットは、「00」に割り当て
られることができる。中間調ビットの割り当ては、中間
調ビットに関連する印刷データの種類について最適化さ
れた中間調操作の適用を可能にする。たとえば、中間調
ビットは、インチあたり異なるライン数のライン・スク
リーン(line screen)を有する中間調アルゴリズムを特
定することができる。中間調操作は、印刷技術分野にお
いて周知である。中間調に関するさらなる情報は、ISBN
0-262-21009-6(1993年に4版)Ulichney,Rの「Digital
Halftoning」に見受けられ、ここで参照により取り入れ
る。
【0065】併合操作13は、無損失性ラスタ印刷デー
タストリーム、損失性ラスタ印刷データストリーム、中
間調印刷データストリーム、併合印刷データストリーム
を入力として受け取る。これらの印刷データストリーム
のそれぞれが、8ビットのバイトから形成される。ペー
ジ全体のピクセルのそれぞれについてプリントエンジン
カラー仕様の1つのカラープレーンを表す印刷データ
が、無損失性および損失性のラスタ印刷データストリー
ムに包含される。併合操作13の機能は、最初の画像
(前に無損失性および損失性のページ片要素に分離され
た)が、処理されているカラープレーンについて再構成
されるよう、ピクセルごとにこれら2つのラスタ印刷デ
ータストリームを組み合わせることである。併合操作1
3を通る損失性および無損失性のラスタ印刷データの引
き続きおこる次のパスが、プリントエンジンカラー仕様
の残っているプレーンについて最初の画像を再構成す
る。ピクセルのそれぞれが、印刷されるページ上の位置
に対応する。再構成処理は、無損失性および損失性のラ
スタ印刷データの空間的同期とみなされ、最初の画像を
生成する。さらに、空間的同期を達成するため、無損失
性および損失性のラスタ印刷データストリームと中間調
の印刷データストリームは、時間的に同期しなければな
らない。
【0066】印刷データ処理パイプライン15の構成
は、印刷データ処理パイプライン15を通る印刷データ
の通過の前およびその間に実行される。パイプラインの
いくつかのパラメータが、各ページ、各カラープレーン
のいくつか、各ページ片のいくつかについて構成され
る。ページあたりのライン数およびラインあたりのピク
セル数は、ページごとに構成することができる。さら
に、印刷処理パイプライン15により処理されるカラー
プレーンの数(すなわち、モノクロまたはフルカラーで
印刷される画像である)が、ページごとに構成可能であ
る。
【0067】各カラープレーンについてのラスタ印刷デ
ータを処理することは、カラー空間変換操作3,9,1
2の構成を必要とする。カラー空間変換操作3,9,1
2の実行に先立ち、出力カラー空間の意図したカラープ
レーンへの変換に必要なカラー空間変換テーブルがロー
ドされる。さらに、適切な中間調テーブルがカラープレ
ーンを中間調処理するために使用されるよう、中間調操
作14を通る各カラープレーンの処理は中間調操作14
の構成を必要とする。たとえば、画像の連続的なカラー
プレーンを処理するとき、各中間調テーブルは、異なる
相対的な観点で選択されたライン・スクリーン(line sc
reen)を使用する中間調アルゴリズムに対応することが
できる。中間調の技術分野が周知なように、連続的に印
刷されたカラープレーンについての異なる相対的な観点
で選択されたライン・スクリーンの使用が、印刷加工を
生成するカラープレーン間の相互作用を減少させる。
【0068】また印刷データ処理パイプライン15は、
ページ片ごとに構成可能なパラメータを有する。画像処
理操作1は印刷データ処理パイプライン15を構成する
ことができ、各ページ片について多様な使用可能なパイ
プライン処理操作を実行する。たとえば、画像処理操作
1はページ片ごとについて印刷データ処理操作15を構
成し、圧縮操作4,5,伸張操作7,8,10,11,
カラー空間変換操作3,9,12または中間調操作14
を実行またはバイパスすることができる。さらに、無損
失性ページ片要素のピクセルあたりのビット数を、ペー
ジごとに1,2,4,8を特定することができる。印刷
データ処理パイプライン15の好ましい実施形態では、
損失性圧縮操作5で使用される圧縮アルゴリズムが、損
失性ページ片要素のピクセルあたり8ビットを必要とす
る。さらに、画像処理操作1は、ページ片の損失性また
は無損失性要素がヌルデータ(null data)から形成する
ことができることを指定することができ、対応する併合
プレーンの各ビットが同じ値であることを指定すること
ができる。
【0069】図3は、印刷データ処理パイプライン15
の好ましい実施形態における簡略化されたハードウェア
ブロック図である。図3に示される機能ブロック図に接
続されるパスは、データパスを表す。図3には、機能ブ
ロック間におけるデータの流れを制御するのに使用され
る多様な制御ラインは示されていない。好ましい実施形
態では、圧縮/伸張操作4、5、7、8、10、11、
カラー空間変換操作3、9、12、併合操作13、中間
調操作14が、ASIC120で実行される。印刷データ処
理パイプライン15の好ましい実施形態は、PCIバスにA
SIC120を接続するよう構成される。しかし、当該技
術分野の当業者には、印刷データ処理パイプライン15
が、VESAバスのような他の種類のバスに接続されるよう
構成できることがわかるであろう。PCIバスアーキテク
チャは、デジタルシステム設計の技術分野において周知
であり、ここで詳細には述べない。画像処理操作1は、
マイクロプロセッサ132のようなプロセッサにより実
行され、PCIバスを介して印刷データ処理パイプライン
15と通信を行う。印刷データは、ASIC120への転送
およびASIC120からの転送時に、ラスタ印刷データメ
モリ2および圧縮ラスタ印刷データメモリ6から検索さ
れ、およびメモリ2、6にロードされる。
【0070】ASIC120は、PCIバスインターフェース
121を介してPCIバスと接続する。PCIバスインターフ
ェース121は、PCIバスインターフェース121の構
成に必要なレジスタおよびPCIバスとASIC120間を流
れる時に印刷データのバッファリングに必要なレジスタ
を含む。
【0071】ビデオDMA122のようなダイレクトメモ
リアクセス・コントローラは、印刷データ処理パイプラ
イン15の多様な機能を実行するASIC120の一部への
印刷データの流れおよびASIC120の一部からの印刷デ
ータの流れを制御する。ビデオDMAバッファ123は、
ビデオDMA122を通過するときに印刷データを一時的
に保管し、印刷データがASIC120へおよびASIC120
から移動する時、PCIバスとASIC120の多様な機能ブ
ロックの間の印刷データレートを適合させる。ビデオDM
Aバッファの使用は、PCIバスインターフェース121お
よびASIC120の残りの部分における機能ブロックの間
のデータの流れのレートにおける不整合を補償する。
【0072】いくつかの重要な有利な点が、ASIC120
における印刷データ処理パイプライン15の実現から結
果として生じる。第1の有利な点は、印刷データ処理パ
イプライン15についての処理操作が、ASIC120の内
部で達成されるという効率的なやり方である。すべての
操作をASIC120に置くことにより、印刷データは処理
のオーバーヘッドを招くことなく連続した操作間で転送
されるが、1つの印刷データパイプライン処理操作の実
行に専用の別個の集積回路間のPCIバスに印刷データの
転送が生じる場合には処理のオーバーヘッドが生じる。
第2の有利な点は、ASIC120の機能ブロックに関して
印刷データを選択的にバイパスするようASIC120を構
成することができるということである。第3の有利な点
は、他の機能ブロックに転送するため、またはメモリに
保管するため、機能ブロックの出力を選択的にビデオDM
A122にフィードバックすることができるということ
である。これらの機能は、非常に柔軟性があって効率的
な印刷データ処理パイプラインを作り、印刷データ処理
パイプラインは印刷データの種類に依存して印刷データ
処理操作を最適化するよう構成される。ASIC120が、
可能な印刷データ処理操作の特定のサブセットを実行す
るよう構成されるので、印刷データに適用される操作
が、幅広い種類のやり方で印刷データの特性に適合され
る。これは、印刷システムが印刷データのすべての可能
な種類を最適に処理するようパイプラインを構成するこ
とを可能にする。フィードバック機能は、印刷データ処
理操作がページ印刷の印刷データを用意するのに一番適
した順番で実行されることを可能にする。印刷データ処
理パイプライン15の操作が完了すると、その結果がビ
デオDMA122により次の操作に向けられる。
【0073】PCIバスからロードされた印刷データにつ
いて実行する印刷データ処理パイプライン15の操作の
種類に依存して、ビデオDMA122はASIC120の適切
な機能ブロックに印刷データを配信するよう構成され
る。カラー空間変換が必要とされると、印刷データはビ
デオDMA122によりページ片マネージャ124に送ら
れる。ページ片マネージャ124は、印刷データをビデ
オDMA122からカラー空間変換器125の適切な損失
性または無損失性の入力へ送りこむ。さらにページ片マ
ネージャ124は、無損失性ラスタ印刷データにインタ
ーリーブされた併合データおよび中間調データを抽出
し、これらのそれぞれを別個のバイト幅チャネルを介し
て併合ユニット128に送る。印刷データの圧縮または
伸張が必要な場合には、印刷データはビデオDMA122
により、損失性伸張/圧縮器126または無損失性圧縮
/伸張器127の適切な圧縮または伸張の入力に宛てて
送られる。併合ユニット128は、カラー空間変換器1
25から出力される損失性および無損失性のラスタ印刷
データストリームについて併合操作13を実行する。ラ
インバッファ129は、併合操作13で使用される損失
性および無損失性のラスタ印刷データと併合および中間
調データのバッファリングのためSRAMを含む。中間
調ユニット130は、中間調プレーンで特定されるビッ
トに従ってピクセルのそれぞれに対応して、併合された
ラスタ印刷データストリームについて中間調操作14を
行う。図3には明示的に示していないが、カラー空間変
換器125および中間調ユニット130は、印刷データ
について実行するべき操作がカラー空間変換および(ま
たは)中間調処理を含まない場合には、これらの機能ブ
ロックに関して印刷データをバイパスするよう構成され
る。
【0074】図3の印刷データ処理パイプライン15を
通る印刷データの流れについて操作が完了した時、印刷
データはASIC120からメモリに転送され、後でさらな
る処理のためにASIC120に戻る。たとえば、損失性5
および無損失性4の圧縮操作がそれぞれ損失性126お
よび無損失性127の圧縮器/伸張器で実行された後、
その結果の圧縮ラスタ印刷データは、PCIバスインター
フェース121を通ってビデオDMA120に転送され、
その後PCIバスを介して圧縮ラスタ印刷データメモリ6
に転送される。圧縮ラスタ印刷データが伸張される時
は、圧縮ラスタ印刷データが、圧縮ラスタ印刷データメ
モリ6からPCIバスを介しPCIバスインターフェース12
1を通ってASIC120に転送され、DMA122により損
失性126および無損失性127の圧縮器/伸張器のど
ちらかまたは両方の伸張入力に送られる。カラー空間変
換操作3が損失性および(または)無損失性のラスタ印
刷データについて実行された後、その結果のラスタ印刷
データはビデオDMA122を通って損失性126圧縮/
伸張器および(または)無損失性127の圧縮/伸張器
に戻され、またはビデオDMA122およびPCIバスインタ
ーフェース121を通ってラスタ印刷データメモリ2に
戻され、または併合操作13を行うため併合ユニット1
28に送られる。カラー空間変換器125にはセレクタ
(selector)が含まれ、損失性または無損失性のカラー空
間の変換されたラスタ印刷データを、併合ユニット13
0の損失性および無損失性の印刷データ入力に接続され
るカラー空間変換器125の損失性または無損失性の出
力に送る。
【0075】ページ片マネージャ124がラスタ印刷デ
ータを管理するので、印刷データ処理パイプライン15
のカラー空間変換操作3、9、12、併合操作13、中
間調操作14が、一定形式を有するラスタ印刷データの
ストリームを受け取る。たとえば、1つのみの損失性ま
たは無損失性のページ片要素が画像処理操作1で生成さ
れるという状況では、対応する損失性および無損失性の
ページ片要素は損失性および無損失性のパス上をカラー
空間変換器125に送られるよう、ページ片マネージャ
124がブランク印刷データの対応する損失性または無
損失性のページ片を生成する(適したように)。さら
に、1つのみの損失性または無損失性のページ片要素が
画像処理操作1により生成される場合では、ページ片マ
ネージャ124が、ページ片要素の各ピクセルに対応す
る同じビットで形成される対応する併合プレーンを生成
する。さらに、同じ中間調処理がページ片の各ピクセル
に適用される場合では、ページ片マネージャ124はペ
ージ片に対応する中間調プレーンを生成する。ページ片
マネージャ124は併合データおよび中間調データを、
別個のバイト幅パスを介して併合ユニット128へ送
る。
【0076】ページ片マネージャ124は、別個のバイ
ト幅チャネルを介して伸張された損失性および無損失性
のラスタ印刷データを受け取る。圧縮損失性ラスタ印刷
データが、損失性圧縮/伸張器126により伸張される
と、カラー空間の各次元の結果としての8ピクセルx8
ピクセルのブロックが、損失性圧縮/伸張器126に含
まれる3つの64バイトバッファに保管される。ページ
片マネージャ124は、3つの出力バッファから送られ
る損失性ラスタ印刷データのバイト幅ストリームを受け
取る。各ピクセルに対応する伸張損失性ラスタ印刷デー
タのバイトは、カラー空間の各次元に対応する1バイト
を有する3つの連続したバイトとして、損失性圧縮/伸
張器126の出力バッファから送られる。たとえば、3
つの連続したバイトの1番目は「Y」要素に対応し、2
番目は「Cb」要素に対応し、3番目は「Cr」要素に
対応する。ページ片マネージャ124は、ピクセルにつ
いて損失性ラスタ印刷データの3つの対応するバイトを
組み立て、それらを損失性ラスタ印刷データの24ビッ
ト幅ストリームとしてカラー空間変換器125に送る。
【0077】ページ片マネージャ124は、各無損失性
ピクセルについて3つの連続バイトのバイト幅ストリー
ムとして伸張無損失性ラスタ印刷データを受け取る。た
とえば、3つの連続バイトの1番目は「R」要素に対応
し、2番目は「G」要素に対応し、3番目は「B」要素
に対応する。無損失性圧縮/伸張器127から送られた
無損失性ラスタ印刷データにインターリーブ(interleav
e、はさみこみ)されるのは、併合データおよび中間調
データである。インターリーブは、印刷されたページの
1ラインに対応する無損失性ラスタ印刷データのバイト
が送られ、無損失性ラスタ印刷データのラインに対応す
る併合データおよび中間調データの必要なバイト数がこ
れに続くよう行われる。ページ片マネージャ124は併
合データおよび中間調データを抽出し、これらを別個の
チャネルを介して併合ユニット128に送る。ページ片
マネージャ124はピクセルについての無損失性ラスタ
印刷データの3つの対応するバイトを組み立て、これら
を無損失性ラスタ印刷データの24ビット幅ストリーム
としてカラー空間変換器125に送る。
【0078】いくつかのケースでは、ビデオDMA122
が圧縮のステップをバイパスし、ラスタ印刷データを直
接ページ片マネージャ124に送る場合がある。これ
は、圧縮および圧縮ラスタ印刷データメモリ6への保管
をすることなく、ラスタ印刷データのページがプリント
エンジン16に送られる時になされる。この場合、ラス
タ印刷データは、いかなる多様なフィードバックパスを
使うことなく、直線的に印刷データ処理パイプライン1
5を通って流れる。また、ラスタ印刷データが直接ビデ
オDMA122からページ片マネージャ124に送られる
こともでき、カラー空間変換および中間調処理のような
引き続き起こる次の印刷データ処理パイプライン15の
処理操作を通り、適切な圧縮器に送るためビデオDMA1
22を通るフィードバックパス上を戻り、その後メモリ
に保管するためビデオDMA122に圧縮ラスタ印刷デー
タを戻す。
【0079】無損失性ラスタ印刷データは、各ピクセル
のカラー空間の次元あたり1ビット、2ビット、4ビッ
トまたは8ビットにより特定される。無損失性ラスタ印
刷データをカラー空間変換器125に送ることに先立
ち、ページ片マネージャ124は1ビット、2ビットお
よび4ビットの表示を、各ピクセル表示の次元あたりフ
ルの8ビットに変換する。ページ片要素のそれぞれに適
用される印刷データ処理パイプライン操作の異なる種類
を有するのと同様に、ラスタ印刷データのパラメータは
ページ片要素の間で変更することができる。ページ片マ
ネージャ124は、一定形式のラスタ印刷データのシー
ムレスなストリームが(ここでシームレスとは、ページ
片要素間のラスタ印刷データの形式の違いが取り除か
れ、印刷データ処理パイプライン15を通るラスタ印刷
データの流れのレートにおいてほとんど変動が無いこと
を意味する)、印刷データ処理パイプライン操作のダウ
ンストリーム(下流)に配信されるのに必要な操作を実
行する。
【0080】実行されそうな印刷データ処理操作の多く
の種類の特定の例をあげることは、ASIC120で実現さ
れる印刷データ処理パイプライン15のかなりの多様性
をより良く例示する。CMYKエンジンカラー仕様で表
現されるラスタ印刷データを使用してページが印刷され
る第1のケースを考えてみる。ここでは、いかなる圧縮
/伸張操作も行われず、中間調処理がラスタ印刷データ
に適用される。損失性および無損失性のラスタ印刷デー
タが、一回に1カラープレーン分、PCIバスインターフ
ェース121を通ってシステムメモリから転送される。
ビデオDMA122は損失性および無損失性のラスタ印刷
データを、ページ片マネージャ124を介して、印刷デ
ータをバイパスするよう構成されているカラー空間変換
器125に送る。併合ユニット128は損失性および無
損失性のラスタ印刷データについて併合操作13を行
い、併合された印刷データを中間調操作14のために中
間調ユニット13に送る。中間調処理されたラスタ印刷
データは、プリントエンジンインターフェース131を
通ってプリントエンジン16に送られる。この第1のケ
ースでは、印刷データ処理パイプライン15は併合操作
13および中間調操作14のみを行うよう構成された。
【0081】第2のケースでは、印刷データ処理パイプ
ライン15は損失性および無損失性の圧縮ラスタ印刷デ
ータについて伸張操作10、11を実行し、カラー空間
変換操作12、併合操作13、および中間調操作14を
実行するよう構成される。損失性および無損失性の圧縮
ラスタ印刷データは、システムメモリからPCIバスイン
ターフェース121を通って転送される。ビデオDMA1
22は損失性および無損失性の圧縮ラスタ印刷データ
を、伸張のために損失性126および無損失性127の
圧縮/伸張器に送る。伸張無損失性および損失性のラス
タ印刷データは、プリントエンジン16の4パスのそれ
ぞれについて1つのカラープレーンに変換するため、カ
ラー空間変換器125に送られる。損失性および無損失
性のカラー空間のカラー空間変換器125から変換され
たラスタ印刷データ出力は、併合操作13を行うため併
合ユニット128に送られる。中間調操作14が併合ユ
ニット128からの併合された印刷データ出力について
実行される。中間調操作の結果は、PCIバスインターフ
ェース121を通ってシステムメモリに送るため、ビデ
オDMA122に送り戻される。この一連の動きは連続し
て4回発生し、プリントエンジン16の各カラープレー
ンについて印刷データを生成する。この第2のケースで
は、印刷データ処理パイプライン15は、後で印刷をす
るためにシステムメモリに処理された印刷データを戻
す。ビデオDMA122がすべての印刷データを2回取り
扱う必要があったが(ロードの間1回と、保管の間1
回)、複数の操作がPCIバスの使用またはマイクロプロ
セッサ132の干渉なくASIC120の印刷データについ
て実行された。
【0082】3番目のケースでは、印刷データ処理パイ
プライン15は、カラー空間変換操作、中間調操作、そ
の後に無損失性圧縮操作を実行するよう構成される。無
損失性ラスタ印刷データは、システムメモリからPCIバ
スインターフェース121を通って転送される。ビデオ
DMA122は無損失性ラスタ印刷データをページ片マネ
ージャ124を通ってカラー空間変換器125へ送り、
プリントエンジン16のカラー空間のプレーンへの変換
を受ける。ページ片マネージャ124は対応するブラン
クの損失性ラスタ印刷データおよび併合印刷データを生
成する。ブランク損失性ラスタ印刷データは、カラー空
間変換器125に関してバイパスされる。併合ユニット
130は、ページ片マネージャ124により生成された
併合印刷データを使用して、無損失性および損失性のラ
スタ印刷データについて併合操作を実行する。中間調ユ
ニット130は、併合されたラスタ印刷データについて
中間調操作14を実行する。中間調ユニット130から
のラスタ印刷データ出力は、ビデオDMA122に送られ
る。その後無損失性圧縮のため、ビデオDMA122はラ
スタ印刷データを無損失性圧縮/伸張器127に送る。
圧縮ラスタ印刷データはビデオDMAに戻され、PCIバスイ
ンターフェース121を通って保管のためシステムメモ
リに送られる。この一連の動きは連続して4回発生し、
プリントエンジン16の各カラープレーンについて印刷
データを生成する。第2のケースとは対照的に、実行さ
れた印刷データ処理操作の順番が変更された。これは、
印刷データ処理パイプライン15が、印刷データの処理
を最適化するよう構成されることができることを例示す
る。
【0083】印刷データ処理パイプラインの従来技術
が、一般用のマイクロプロセッサを使用して実現され、
多様なカラー空間変換、圧縮/伸張、併合、中間調操作
が行われてきた。これらの操作を行うファームウェアを
実行するマイクロプロセッサのスピードは、専用ハード
ウェアを使用して達成されるものより遅い。さらに、こ
れらの操作を成し遂げるために一般用のマイクロプロセ
ッサを使用するのは、システムバスを介してマイクロプ
ロセッサおよびメモリ間を転送する中間印刷データのた
めに著しいデータ転送のオーバーヘッドを生じさせる。
システムバスを介する転送が非常に大きいことが、一般
用のマイクロプロセッサを用いて実現された印刷データ
処理パイプラインの処理能力を著しく低下させる。
【0084】印刷データ処理パイプラインは、専用の集
積回路を使用して実現され、印刷データ処理パイプライ
ンの特定の機能を達成してきた。カラー空間変換および
圧縮/伸張のような操作は、個々の集積回路で実現され
てきた。しかし、一般用のマイクロプロセッサはなお、
印刷データ処理パイプラインの操作が実行されるとき、
多様な集積回路およびメモリ間を印刷データを移動させ
る必要がある。これは、専用ハードウェアの使用による
処理時間におけるいくつかの改良を提供するが、データ
転送のオーバーヘッドはなお、パフォーマンスの制約要
因である。ASIC120の印刷データ処理パイプライン1
5の実現は、ASIC120における複数パイプライン操作
を実行することにより、このデータ転送のオーバーヘッ
ドを回避する。
【0085】併合ユニット130の好ましい実施形態
は、損失性および無損失性のラスタ印刷データストリー
ムから選択し、併合ビットを使用して1つのデータスト
リームを形成し、最初の画像を再構成する。しかし、併
合ユニット130で使用される技術は、同様のやり方で
併合されたデータの各ユニットについての複数の併合ビ
ットを使用して2つより多いデータストリームを組み合
わせるのにも有効であることを理解すべきである。さら
に、併合されたデータストリームは、損失性および無損
失性のラスタ印刷データストリームとは別の方法で、ラ
スタ印刷データまたはラスタ印刷データの区画とは別の
データの種類を含むことができる。たとえば、ラスタ印
刷データストリームは、ラスタ印刷データのピクセルへ
の中間調操作の適用に依存して複数のストリームに分割
することができる。中間調操作を受けるラスタ印刷デー
タのこれらのピクセルは、中間調処理されたラスタ印刷
データについて最適化される圧縮操作を使用して圧縮さ
れる。中間調処理を受けなかったラスタ印刷データのピ
クセルは、異なる圧縮操作を受ける。ラスタ印刷データ
ストリームの他の可能な分割は、ピクセルの各カラー空
間を表すのに使用されるビット数に基づく。たとえば、
黒および白の情報を含むページ領域は、カラー画像を含
むページ領域よりピクセルあたりのビットを少なくして
表される。最も極端な場合では、ページのある領域はピ
クセル表示あたりフルカラー24ビットをもち、ページ
の他の領域は、ピクセル表示あたりバイナリの黒および
白の1ビットをもつことができる。ラスタ印刷データの
ピクセルあたりフルカラー24ビットのストリームおよ
びラスタ印刷データのピクセルあたり1ビットのストリ
ームを別個に処理することは、ストリームのそれぞれに
ついて圧縮および中間調操作を最適化することを可能に
する。ラスタ印刷データストリームをさらに分割できる
ことは、ページを表示するのに使用される解像度に基づ
く。たいして細かい特徴を含まない画像の領域は、60
0dpiのような低い解像度で印刷される。非常に細かい
特徴を含む画像の領域は、1200dpiのような高い解
像度で印刷される。このケースは、鮮明な境界を有する
一定のグレイスケール領域(gray scale region)が存在
するときに発生することができる。高い解像度のラスタ
印刷データストリームおよび低い解像度のラスタ印刷デ
ータストリームを別個に処理することは、ラスタ印刷デ
ータストリームのそれぞれについて中間調および圧縮操
作を最適化することを可能にする。
【0086】印刷データ処理パイプライン15の好まし
い実施形態は、併合ユニット130を使用して併合操作
13をデジタルデータについて実行するが、感光ドラム
(photoconductor drum)の表面の損失性および無損失性
のラスタ印刷データの現像(連続パス)を通ってプリン
トエンジン16の感光ドラムの表面へ併合操作を実行す
ることも可能なことに注意すべきである。この併合操作
は、感光ドラムが現像される時、損失性および無損失性
のラスタ印刷データの間の効率的なOR操作である。さ
らに、併合プレーンを使用する代わりに、損失性および
無損失性のラスタ印刷データの間にOR操作が実行さ
れ、これらストリームから選択されるべきラスタ印刷デ
ータを特定するよう、デジタルデータについて併合操作
13を実行することもできる。
【0087】図4は、併合ユニット128により実行さ
れる操作を図で表す。セクション20から23のそれぞ
れが、SRAMラインバッファ129の一部であり、各
セクションが2つのバッファに対応し、併合ユニット1
28に入る印刷データストリームの4種のうちの1つを
保持する。バッファリングが必要なのは、十分な印刷デ
ータを必要な時に印刷データストリームのそれぞれから
使用でき、併合ユニット128のラスタ印刷データの処
理量を下げることなく併合操作13を実行するためであ
る。併合ユニット128は各併合ビットを処理するの
で、ラスタ印刷データのバイトは、処理されているピク
セルに割り当てるため、無損失性または損失性の印刷デ
ータストリームの両方から使用できなければならない。
さらに、中間調ビットが、処理されているピクセルとの
空間的関係を維持するために使用できなければならな
い。無損失性印刷データストリームについて、ピクセル
が印刷されるページに連続的に置かれた時にプリントエ
ンジンの2つの走査線全体をカバーするよう、無損失性
ラインバッファ21に十分なバイト数が保管される。無
損失性ラインバッファ21を形成する2つのバッファに
無損失性ラスタ印刷データの2ラインを保管することに
より、無損失性ラスタ印刷データは「ピンポン」のやり
方で無損失性ラインバッファ21を通って移動すること
ができ、高い処理量を維持する。
【0088】印刷データ処理パイプライン15の好まし
い実施形態における損失性ラスタ印刷データについての
データ圧縮アルゴリズムの操作は、圧縮走査に使用され
るセルを形成するため、損失性ページ片要素のピクセル
を分割することにより動作する。印刷データ処理パイプ
ラインの好ましい実施形態で選択されたセルのサイズ
は、幅が8ピクセル、高さが8ピクセルである。伸張が
圧縮損失性ラスタ印刷データに実行されると、幅8ピク
セルで高さ8ピクセルのブロックに対応するのにラスタ
印刷データの十分なバイトが、損失性伸張操作11の出
力として生成される。カラー空間変換器125からの損
失性ラスタ印刷データ出力の十分なバッファリングを確
実にするため、圧縮損失性ラスタ印刷データの伸張がブ
ロックごとになされるので、損失性ラインバッファ20
は2ラインのブロックを保管する容量をもつ。2ライン
のブロックは、ピクセルの十分な数に相当し、16のプ
リントエンジンの走査線全体をカバーする。損失性ライ
ンバッファ20を形成する2つのバッファに損失性ラス
タ印刷データの2ラインのブロックを保管することによ
り、損失性ラスタ印刷データは「ピンポン」のやり方で
損失性ラインバッファを通って動くことができ、高い処
理能力を維持する。併合ラインバッファ22および中間
調ラインバッファ23はそれぞれ、十分な併合ビットと
中間調ビットを含み、ピクセルの2走査線を処理する。
従って、併合ラインバッファ22の記憶容量は、無損失
性ラインバッファ21の1/8であり、中間調のライン
バッファ23の記憶容量は、無損失性ラインバッファ2
1の1/4である。
【0089】印刷データマルチプレクサ24の入力は、
損失性ラインバッファ20および無損失性ラインバッフ
ァ21の出力に接続される。併合ラインバッファ22の
出力は、印刷データマルチプレクサ24の出力のため、
入力ラスタ印刷データの選択を制御する。処理を受けて
いるピクセルの併合ビットの状況に基づいて、印刷デー
タマルチプレクサ24は、損失性ラスタ印刷データスト
リームまたは無損失性ラスタ印刷データストリームのど
ちらかから処理されているピクセルについてラスタ印刷
データを選択する。印刷データマルチプレクサ24の出
力からの併合されたラスタ印刷データストリームは、2
つの入力ラスタ印刷データストリームの組み合わせなの
で、最初の画像のピクセル間における空間的同期が、再
構成された画像に維持される。無損失性および損失性の
ラスタ印刷データストリームの両方の対応するピクセル
に前に割り当てられた中間調ビットが、併合ユニット1
28に中間調ビットが入った時に存在したラスタ印刷デ
ータへのピクセル毎の空間的同期を維持する。
【0090】図5は、併合ユニット128の高レベルブ
ロック図である。それぞれ8ビットのバイトのストリー
ムから成る損失性ラスタ印刷データストリーム30およ
び無損失性ラスタ印刷データストリーム31が、それぞ
れ損失性入力バッファ32および無損失性入力バッファ
33に保管される。それぞれが8ビットのバイトから成
るストリームに形成される併合ビット34のストリーム
および中間調ビット35のストリームは、併合入力バッ
ファ36および中間調入力バッファ37にそれぞれ保管
される。入力バッファ32、33、36、37は、印刷
データストリームが入力バッファ32、33、36、3
7から送られる時に、これらの印刷データストリームの
それぞれが8ビット幅から32ビット幅に変換されるよ
う設計される。
【0091】カラー空間変換器インターフェース・コン
トローラ38は、入力バッファ制御機能を含み、入力バ
ッファ32、33、36、37を通る4つの印刷データ
ストリームの転送を管理する。この制御機能は、カラー
空間変換器125へハンドシェーキング信号(handshaki
ng signals)を送り、および変換器125からハンドシ
ェーキング信号を受け取る。これらのハンドシェーキン
グ信号は、カラー空間変換器125から入力バッファ3
2、33、36、37への印刷データの流れを制御す
る。これらのハンドシェーキング信号から、カラー空間
変換器インターエース・コントローラ38は、許可信号
(enable signals)を生成し、入力バッファ32、33、
36、37が印刷データの適切な種類(損失性、無損失
性、中間調、併合)を入力バッファ32、33、36、
37のうちの対応する1つへロードすることを許可す
る。カラー空間変換器125から受取られたハンドシェ
ーキング信号は、損失性および無損失性のラスタ印刷デ
ータが、損失性32および無損失性33の入力バッファ
に転送するのに使用可能である時を示す信号を含む。ま
たカラー空間変換器インターフェース・コントローラ3
8は、併合および中間調印刷データが、併合36および
中間調37の入力バッファに転送可能である時を示すハ
ンドシェーキング信号を受け取る。また、カラー空間変
換器インターフェース・コントローラ38からカラー空
間変換器125およびページ片マネージャ124に送ら
れるハンドシェーキング信号は、入力バッファ32、3
3、36、37のそれぞれが入力印刷データを受け取る
用意がある時を示す信号を含む。
【0092】入力バッファ32、33、36、37のそ
れぞれからの32ビット幅データストリーム40、4
1、42、43出力は、入力バッファマルチプレクサ3
9に送られる。カラー空間変換器インターフェース・コ
ントローラ38は、入力バッファマルチプレクサ39を
通る入力バッファ32、33、36、37からの印刷デ
ータストリームの流れを制御する。カラー空間変換器イ
ンターフェース・コントローラ38により生成された制
御信号47は、SRAMインターフェース・コントロー
ラ44に転送するため32ビット幅データストリーム4
0、41、42、43のうちの1つを選択する。カラー
空間変換器インターフェース・コントローラ38に含ま
れる状況機構(state machine)(別個には示されていな
い)は、制御信号47を生成し、入力バッファ32、3
3、36、37からの印刷データストリームのどれが、
SRAMインターフェース・コントローラ44に転送す
るため入力バッファマルチプレクサ39により選択され
るかを判断する。
【0093】SRAMインターフェース・コントローラ
44およびカラー空間変換器インターフェース・コント
ローラ38はそれぞれ、必要なハンドシェーク信号45
を生成し、入力バッファマルチプレクサ39を介して印
刷データをSRAMインターフェース・コントローラ4
4に転送する。SRAMインターフェース・コントロー
ラ44はハンドシェーク信号を生成し、カラー空間変換
器インターフェースコントローラ38に、SRAMイン
ターフェース・コントローラ44が印刷データを受け取
る準備があるということを示す。カラー空間変換器イン
ターフェース・コントローラ38は、入力バッファマル
チプレクサ39から送られた印刷データの種類(損失
性、無損失性、中間調、併合)を識別する制御信号を提
供する。SRAMインターフェース・コントローラ44
により受取られた印刷データは、SRAMラインバッフ
ァ129に保管される。SRAMラインバッファ129
は、印刷データの種類(損失性、無損失性、中間調、併
合)のそれぞれに対応するセクションに分割される。S
RAMラインバッファ129のラインバッファ20から
23は、図4に示されるこれらに対応する。SRAMラ
インバッファ129の印刷データの保管は、十分な印刷
データを連続した併合操作を実行するのに使用すること
ができるということを保証する。SRAMインターフェ
ース・コントローラ44により受取られた印刷データ
は、カラー空間変換器インターフェース・コントローラ
38からの制御信号45により判断されたように、SR
AMラインバッファ129の適切なセクションに保管さ
れる。SRAMラインバッファ129に保管された印刷
データは、SRAMインターフェース・コントローラ4
4にロードされるので、印刷データを併合操作13を実
行するのに使用することができる。印刷データは、1つ
の双方向32ビット幅のバス49を介してSRAMライ
ンバッファに保管され、またそこからロードされる。こ
のバス49は図5に2つの単方向バスとして示されてい
るが、併合ユニット128の好ましい実施形態は、1つ
の双方向バスを使用する。SRAMインターフェース・
コントローラ44はアドレスを生成し、アドレスバス5
0を介してSRAMラインバッファ129の記憶場所に
アクセスする。
【0094】SRAMラインバッファ129からSRA
Mインターフェース・コントローラ44にロードされる
印刷データは、併合操作を実行するのに備えて、出力バ
ッファ51、52、53、54に転送される。出力バッ
ファ51、52、53、54は、損失性出力バッファ5
1、無損失性出力バッファ52、併合出力バッファ5
3、中間調出力バッファ54を含む。中間調出力バッフ
ァ54および併合出力バッファ53は、それぞれシフト
レジスタから形成される。シフトレジスタを使用するこ
とにより、中間調印刷データおよび併合印刷データの3
2ビットワードを、対のビットに(中間調印刷データ)
または個々のビットに(併合印刷データ)分割すること
が可能となり、これらは通常関連するピクセルに対応す
るラスタ印刷データと突き合わせられる。SRAMイン
ターフェース・コントローラから出力バッファ51、5
2、53、54への印刷データの転送は、中間調インタ
ーフェース・コントローラ55およびSRAMインター
フェース・コントローラ44の間で制御信号56により
管理される。制御信号56は、出力バッファ51、5
2、53、54のそれぞれが印刷データの対応する種類
(損失性、無損失性、中間調、併合)を受け取る準備が
ある時を示す信号を含み、SRAMインターフェース・
コントローラ44が出力バッファ51、52、53、5
4に転送するのに使用できる印刷データを有する時を示
す信号を含む。
【0095】中間調インターフェース・コントローラ5
5は制御信号57を生成し、出力バッファ51、52、
53、54を通る印刷データの転送を制御する。出力バ
ッファ51、52、53、54のそれぞれへの入力印刷
データストリームは32ビット幅である。損失性ラスタ
印刷データ出力バッファ51および無損失性ラスタ印刷
データ出力バッファ52からの損失性および無損失性の
ラスタ印刷データストリーム出力は、それぞれ8ビット
幅である。制御信号57は許可信号を含み、適切な印刷
データの種類が、対応する出力バッファ51、52、5
3、54へロードされることを許可する。損失性51お
よび無損失性52のラスタ印刷データ出力バッファのそ
れぞれに含まれるのはマルチプレクサであり(図5には
示されていない)、印刷データマルチプレクサ24への
転送のため、32ビット幅の損失性および無損失性のラ
スタ印刷データストリームに含まれる4つの8ビットの
バイトのうちの1つを選択する。制御信号57は、損失
性出力バッファ51および無損失性出力バッファ52の
一部であるマルチプレクサを制御するのに必要な信号を
含む。中間調インターフェース・コントローラ55によ
り生成された制御信号57は、32ビット幅の中間調お
よび併合データストリームを、対応する中間調データ出
力バッファ54および併合データ出力バッファ53にロ
ードするのに必要な信号を含む。前述したように、中間
調データ出力バッファ54および併合データ出力バッフ
ァ53のそれぞれが、シフトレジスタを含む。さらに、
中間調データ出力バッファ54および併合データ出力バ
ッファ53のそれぞれがマルチプレクサ(図5には示さ
れていない)を含み、制御信号57に含まれる信号によ
り判断されたように、右シフト出力または左シフト出力
のどちらかを選択する。またこの信号は、シフトレジス
タが併合データおよび中間調データを動かす方向を制御
する。両面モード(duplex mode)印刷のため、併合デー
タおよび中間調データを動かすシフトレジスタの方向を
制御することが必要である。両面モード印刷では、ラス
タ印刷データがプリントエンジン16に配信される順番
が、ページの一番上と一番下を基準として、ページの表
側と裏側の印刷の間で逆方向になる。
【0096】印刷データマルチプレクサ24は、バイト
幅の損失性および無損失性のラスタ印刷データストリー
ムを入力として受け取る。併合出力バッファ53からの
1ビット幅併合データストリーム出力が、併合ユニット
128からの出力のため入力ラスタ印刷データストリー
ムのうちの1つの選択を制御する。併合ユニット128
の多様なバッファを通って移動された時、併合データス
トリームの併合ビットの相対的な順番、およびそれぞれ
のラスタ印刷データストリームの損失性および無損失性
のラスタ印刷データの相対的な順番を維持することによ
り、印刷データマルチプレクサ24により実行される併
合操作13が、ピクセルごとに最初の(オリジナルの)
ページを正確に再構成する。デジタル設計の技術分野の
当業者には、この明細書を理解した後に、印刷データマ
ルチプレクサ24の機能を実行するのに必要な論理回路
を設計する知識を所有するであろう。
【0097】SRAMラインバッファ129は、損失性
および無損失性のラスタ印刷データ、併合データ、中間
調データの間の時間的および空間的な同期の確立を可能
にする。伸張損失性ラスタ印刷データが、8ピクセル幅
で高さ8ピクセルのブロックで伸張されるために、伸張
損失性ラスタ印刷データは併合ユニット128に配信さ
れ、他の印刷データへの同期からはずれてSRAMライ
ンバッファ129に保管される。印刷データがSRAM
ラインバッファ129から移動する(離れる)方法が、
時間的および空間的同期を確立する。SRAMラインバ
ッファ129の使用を必要としない併合ユニットの実現
が可能であることに注意すべきである。損失性および無
損失性のラスタ印刷データストリームおよび併合データ
が、時間的および空間的に同期した方法で併合ユニット
に与えられると、併合ユニット128の内部における印
刷データストリームのバッファリングの必要性が除去さ
れる。時間的および空間的に同期した印刷データストリ
ームを受け取るのが必要な併合ユニットの実現のため、
必要ならば印刷データストリームのバッファリングは併
合ユニットの外部で実行される。さらに、損失性および
無損失性のラスタ印刷データストリームおよび併合デー
タストリームの間の時間的および空間的同期により、印
刷データマルチプレクサを使用して機能する併合ユニッ
トは著しく簡略化される。
【0098】併合データ出力バッファ53は、併合デー
タのバイト幅ストリームを、損失性または無損失性のラ
スタ印刷データに同期した1ビット幅ストリーム(対応
するピクセルを表す)に変換する。併合ユニット128
の好ましい実施形態は、損失性および無損失性のラスタ
印刷データのバイトから選択するため1ビットを使用す
るが、複数ビット幅ストリームを、2つより多いラスタ
印刷データストリームから選択するのに使用することも
でき、ラスタ印刷データストリームは8ビットより多く
を使用して、カラー空間の各次元を表すこともできる。
【0099】図6は、損失性入力バッファ32の入力側
配置の簡略化された概念図であり、入力バッファ32、
33、36、37のそれぞれの操作を表す。典型的な損
失性入力バッファ32は、8個の8ビットのデータラッ
チ60〜67から形成される。8ビット入力損失性ラス
タ印刷データストリーム68が、8個のデータラッチ6
0〜67の8個の「DATA」入力へ送られる。8個の
データラッチ60〜67の「EN」入力に接続された8
個の3入力ANDゲート69〜76は、制御信号(カラ
ー空間変換器インターフェース・コントローラ38によ
り生成される)を解読し、入力印刷データストリームの
バイトのロードのため8個のデータラッチ60〜67の
1つを選択する。解読ロジックは、カラー空間変換器イ
ンターフェース・コントローラ38の一部である。図6
に示されるように、8個のデータラッチ60〜67は、
それぞれが4個のデータラッチを有する2つのバンクに
区切られる。印刷データストリームの4つの連続的に転
送されたバイトが2つのバンクの片方にロードされ、印
刷データストリームの次の4つの連続的に転送されたバ
イトが2つのバンクの他方にロードされるように、制御
信号の解読がなされる。印刷データストリームの4バイ
トの連続的に転送されるグループが、データラッチの2
つのバンクのうちの1つに交互にロードされるように、
入力バッファ32、33、36、37へのロードは、入
力バッファ32、33、36、37を通る印刷データの
流れを維持する。2つのバンクのうちの片方が入力印刷
データでロードされる間、2つのバンクのうちの他方か
らの印刷データの転送が発生する。
【0100】図7は、損失性入力バッファ32の出力側
配置の簡略化された概念図であり、入力バッファ32、
33、36、37のそれぞれの操作を表す。8個のデー
タラッチ60〜67の「OE」入力が固定論理レベルに
接続され、損失性入力バッファ32に保管される損失性
ラスタ印刷データが、各クロックサイクルの立ち上がり
エッジでデータラッチ60〜67から出力される。損失
性入力バッファ32の2つのバンクのそれぞれの4つの
8ビット出力が、2つの32ビット幅の印刷データを形
成する。これら2つの32ビット幅印刷データストリー
ムは、マルチプレクサ70の入力に接続される。これら
2つのうちの1つ、32ビット幅印刷データストリーム
が、入力バッファマルチプレクサ39への入力のために
選択される。選択は、カラー空間変換器インターフェー
ス・コントローラ38により生成された制御信号を使用
して、マルチプレクサ70により実行される。この制御
信号は、入力バッファ32、33、36、37の2つの
バンクのうちどれがフル(full)で、入力バッファマルチ
プレクサ39に送られるのに含まれる印刷データを有す
る用意があるかを検出する。2バンクのそれぞれに保管
される4バイトのグループのうちの1つが交互に選択さ
れるので、入力バッファ32、33、36、37からの
印刷データの転送は、入力バッファ32、33、36、
37を通る印刷データの流れを維持し、入力バッファマ
ルチプレクサ39への印刷データの流れを維持する。印
刷データの4バイトが2つのバンクのうちの片方から転
送される間、2つのバンクの他方への印刷データの4バ
イトのロードが発生する。
【0101】図8は、損失性出力バッファ51および無
損失性出力バッファ52の入力側配置の簡略化された概
念図を示す。損失性51および無損失性52出力バッフ
ァのそれぞれが、4個の8ビットデータラッチ80〜9
5の2つのバンクを含む。併合ユニット128の内部の
32ビット幅の損失性ラスタ印刷データストリームおよ
び無損失性ラスタ印刷データストリームが、それぞれ4
つの8ビット幅損失性または無損失性のラスタ印刷デー
タストリームに分割され、各データラッチ80〜95の
それぞれの「DATA」入力に送られる。データラッチ
80〜95のそれぞれの「EN」入力は、損失性および
無損失性のラスタ印刷データのデータラッチ80〜95
へのロードを制御する。4つのANDゲート96〜99
は、中間調インターフェース・コントローラ55の一部
であり、中間調インターフェース・コントローラ55に
より生成される制御信号を解読し、データラッチ80〜
95のロードを制御する。損失性および無損失性のラス
タ印刷データが、データラッチ80〜95の1対のバン
クにロードされる間、損失性および無損失性のラスタ印
刷データは、データラッチ80〜95の他の1対のバン
クから送られる。このバッファリング方法の使用は、損
失性および無損失性出力バッファ51、52を通る印刷
データの流れを維持する。
【0102】図9は、損失性51および無損失性52出
力バッファについてのデータラッチ80〜83、88〜
91の損失性および無損失性の1対のバンクの出力側配
置の簡略化した概念図である。損失性51および無損失
性52出力バッファのデータラッチ84〜87、92〜
95の他の2つのバンクの出力側も同様に実現される。
損失性51および無損失性52出力バッファは、32ビ
ット幅入力損失性および無損失性のラスタ印刷データス
トリームを、8ビット幅の損失性および無損失性のラス
タ印刷データストリームに変換する。8個のデータラッ
チ80〜83、88〜91の「OE」入力が、固定論理
レベルに接続され、これらのデータラッチ80〜83、
88〜91に保管される損失性および無損失性のラスタ
印刷データが、各クロックサイクルの立ち上がりエッジ
で出力される。マルチプレクサ100、101は、印刷
データマルチプレクサ24への入力のため、それぞれの
データラッチ80から83、88から91からの8ビッ
ト出力のうちの1つを選択するのに使用される。それぞ
れのデータラッチ80〜83、88〜91からの8ビッ
ト出力が、それぞれのマルチプレクサ100、101に
より選択されるので、それぞれの損失性および無損失性
のラスタ印刷データストリームの8ビットのバイトの相
対的な順番が維持される。これは、印刷データマルチプ
レクサ24により実行される併合操作13が正確に最初
のページを再構成するのに必要である。マルチプレクサ
100、101を制御するのに使用される信号は、中間
調インターフェース・コントローラ55により生成され
る。併合出力バッファ53による併合ビット出力のスト
リームは、印刷データ・マルチプレクサ24により、損
失性および無損失性のラスタ印刷データストリームから
の8ビットのバイトの選択を制御する。印刷データ・マ
ルチプレクサ24から出されるラスタ印刷データは8ビ
ット幅であり、併合された損失性および無損失性のラス
タ印刷データストリームから成る。
【0103】図10は、中間調出力シフトレジスタ11
0および併合出力シフトレジスタ111の簡略化された
概念図である。32ビット幅中間調印刷データストリー
ム112および32ビット幅併合印刷データストリーム
113が、それぞれの出力シフトレジスタ110、11
1にロードされる。中間調インターフェース・コントロ
ーラ55から出力シフトレジスタ110、111のそれ
ぞれの「LD」入力への信号は、中間調および併合印刷
データのロードを制御する。シフトレジスタ110、1
11の使用により、中間調印刷データおよび併合印刷デ
ータが調整されたバイトを、それぞれ2ビット幅および
1ビット幅の印刷データのストリームに分割することが
可能となるので、これらの2つのデータストリームの相
対的な順番が、損失性および無損失性のラスタ印刷デー
タストリームに関して維持される。
【0104】ANDゲート114、115は、中間調イ
ンターフェース・コントローラ55に含まれ、それぞれ
のシフトレジスタ110、111からの併合印刷データ
および中間調印刷データのシフト・アウトを制御する。
シフトレジスタ110、111の「EN」入力がアサー
トされると、それぞれのレジスタが、併合印刷データお
よび中間調印刷データをシフト・アウトする。シフトレ
ジスタ110、111への「DIR」入力のレベルに依
存して、併合および中間調印刷データは、クロックの立
ち上がりエッジで「SLD」または「SRD」出力から
シフト・アウトされる。併合および中間調印刷データの
相対的順番が損失性および無損失性のラスタ印刷データ
ストリームを基準として維持されるよう、「DIR」入
力はレジスタ110、111の併合および中間調印刷デ
ータのシフトの方向を制御する。併合ユニット128の
内部でそれぞれの32ビット幅印刷データストリームに
形成される時に、32ビットの最上位および最下位のビ
ットに対して、併合および中間調ビットがどのように並
べられるかに依存して、損失性および無損失性の印刷デ
ータストリームへの空間的同期を維持するよう「DI
R」入力が制御される。
【0105】シフトレジスタ110からシフト・アウト
された中間調印刷データストリームは2ビット幅であ
り、シフトレジスタ111からシフト・アウトされた併
合データストリームは1ビット幅である。マルチプレク
サ116、117は、シフトレジスタ110、111の
「DIR」入力に接続される同じ信号で制御され、マル
チプレクサ116、117から出力するためシフトレジ
スタ110、111の「SRD」または「SLD」出力
を選択する。マルチプレクサ117からの併合印刷デー
タ出力の1ビット幅ストリームは、印刷データ・マルチ
プレクサ24の制御入力に接続され、ピクセルごとに損
失性または無損失性のラスタ印刷データストリームから
選択する。併合ユニット128からの出力印刷データ
は、バッファ・マルチプレクサ24からの8ビット幅の
併合されたラスタ印刷データストリーム出力を含み、マ
ルチプレクサ116からの2ビット幅の中間調印刷デー
タストリーム出力を含む。
【0106】本発明のいくつかの実施形態を例示し説明
したが、当該技術分野の当業者には、本発明か ら離れ
ることなく様々な改良がなされることができることが明
らかであろう。
【0107】本発明は例として次の実施態様を含む。 (1)複数のデータ要素からそれぞれ形成される複数の
データストリーム(201、202)を別個に処理するためのデ
ータ処理パイプライン(200、15)であって、前記複数の
データストリーム(201、202)により定められ、前記デー
タ要素に対応する併合データ要素から形成される併合デ
ータストリーム(209)を使用するデータ処理パイプライ
ンは、前記複数のデータストリーム(201、202)の第1の
データストリーム(201)を受け取る第1の入力を有し、
該第1のデータストリームの前記データ要素について第
1の変換を実行し、第1の変換されたデータストリーム
(205)を生成する第1のパイプライン処理ユニット(203)
と、前記複数のデータストリーム(201、202)の第2のデ
ータストリーム(202)を受け取る第2の入力を有し、該
第2のデータストリームの前記データ要素について第2
の変換を実行し、第2の変換されたデータストリーム(2
06)を生成する第2のパイプライン処理ユニット(204)
と、前記第1の変換されたデータストリーム(205)、前
記第2の変換されたデータストリーム(206)および前記
併合データストリーム(209)を受け取るよう構成され、
前記第1の変換されたデータストリームと前記第2の変
換されたデータストリームを、前記併合データストリー
ムを使用して出力データストリーム(208)に併合する併
合ユニット(207、128)と、を備えるデータ処理パイプラ
イン。
【0108】(2)上記(1)におけるデータ処理パイ
プライン(200、15)において、前記複数のデータストリー
ム(200、201)の前記第1のデータストリーム(201)の前記
データ要素は、選択的に無損失性データおよび圧縮無損
失性データを含み、前記複数のデータストリームの前記
第2のデータストリーム(202)は、選択的に損失性デー
タおよび圧縮損失性データを含み、前記併合データ要素
は併合データを含み、前記第1のパイプライン処理ユニ
ット(203)は無損失性伸張出力および無損失性圧縮出力
を有する無損失性圧縮/伸張器(127)を含み、該無損失
性圧縮/伸張器は前記併合データを受け取り、圧縮併合
データを生成する機能および前記圧縮併合データを受け
取り伸張併合データを生成する機能を含み、前記第1の
変換されたデータストリーム(205)は、選択的に圧縮無
損失性データおよび伸張無損失性データを含み、前記第
2のパイプライン処理ユニットは、損失性伸張出力およ
び損失性圧縮出力を有する損失性圧縮/伸張器(126)を
含み、前記第2の変換されたデータストリームは選択的
に圧縮損失性データおよび伸張損失性データを含み、前
記出力データストリーム(208)は併合された無損失性お
よび損失性データを含み、前記併合ユニット(207、128)
は、前記無損失性データ、前記損失性データ、前記併合
データを受け取り、前記併合された無損失性および損失
性データを生成し、前記伸張無損失性データ、前記伸張
損失性データおよび前記伸張併合データを受け取り、前
記併合された無損失性および損失性データを生成する機
能を含む上記(1)のデータ処理パイプライン。
【0109】(3)上記(2)におけるデータ処理パイ
プライン(200、15)において、前記無損失性圧縮出力およ
び前記損失性圧縮出力に接続され、前記無損失性、前記
圧縮無損失性、前記伸張無損失性データ、前記損失性、
前記圧縮損失性、前記伸張損失性データ、および前記併
合、前記圧縮併合、前記伸張併合データのうちの少なく
とも1つを受け取る第3の入力を有し、前記無損失性、
前記圧縮無損失性、前記伸張無損失性データ、および前
記併合、前記圧縮併合、前記伸張併合データのうちの少
なくとも1つを前記無損失性圧縮/伸張器(127)に送
り、前記損失性、前記圧縮損失性、前記伸張損失性デー
タうちの少なくとも1つを前記損失性圧縮/伸張器(12
6)に送るよう構成されたダイレクトメモリアクセス・コ
ントローラ(122)と、前記無損失性伸張出力、前記損失
性伸張出力、および前記ダイレクトメモリアクセス・コ
ントローラに接続され、第1の無損失性出力、第1の損
失性出力および前記併合ユニット(128)に接続された併
合データ出力を有するページ片マネージャ(124)と、前
記第1の無損失性出力および前記第1の損失性出力に接
続され、併合ユニットに接続された第2の無損失性出力
および第2の損失性出力を有するカラー空間変換器(12
5)であって、前記第1および第2の変換のそれぞれがカ
ラー空間変換を含むカラー空間変換器と、を備える上記
(2)のデータ処理パイプライン。
【0110】(4)上記(3)におけるデータ処理パイ
プラインにおいて、前記カラー空間変換器(125)は、前
記カラー空間変換器を通る前記無損失性データ、前記伸
張無損失性データ、前記損失性データ、前記伸張損失性
データをバイパスする機能を含み、前記カラー空間変換
器(125)は、前記無損失性データおよび前記損失性デー
タから選択するため、および前記伸張無損失性データお
よび前記伸張損失性データから選択するため、前記ダイ
レクトメモリアクセス・コントローラ(122)に接続され
たセレクタ出力を有するセレクタを含み、前記無損失性
および損失性データは、印刷システムにおける使用のた
め無損失性ラスタ印刷データおよび損失性ラスタ印刷デ
ータをそれぞれ含み、前記併合された無損失性および損
失性のデータは、併合された無損失性および損失性ラス
タ印刷データを含み、前記ページ片マネージャ(124)
は、次の処理操作のため、前記無損失性ラスタ印刷デー
タ、前記伸張無損失性ラスタ印刷データ、前記損失性ラ
スタ印刷データ、前記伸張損失性ラスタ印刷データの少
なくとも1つをフォーマットする機能を含み、前記印刷
システムは、電子写真方式(electrophotographic)印刷
システム(16)を含む上記(3)のデータ処理パイプライ
ン。
【0111】(5)複数の印刷データ要素からそれぞれ
形成される複数の印刷データストリーム(201、202)を別
個に処理するための印刷データ処理パイプライン(200、
15)であって、前記複数の印刷データストリーム(201、20
2)により定められ、前記印刷データ要素に対応する併合
データ要素から形成される併合データストリーム(209)
を使用する印刷データ処理パイプラインは、前記複数の
印刷データストリーム(201、202)の第1の印刷データス
トリーム(201)を受け取る第1の入力を有し、該第1の
印刷データストリームの前記印刷データ要素について第
1の変換を実行し、第1の変換された印刷データストリ
ーム(205)を生成する第1のパイプライン処理ユニット
(203)と、前記複数の印刷データストリーム(201、202)の
第2の印刷データストリーム(202)を受け取る第2の入
力を有し、該第2の印刷データストリームの前記印刷デ
ータ要素について第2の変換を実行し、第2の変換され
た印刷データストリーム(206)を生成する第2のパイプ
ライン処理ユニット(204)と、前記第1の変換された印
刷データストリーム(205)、前記第2の変換された印刷
データストリーム(206)および前記併合データストリー
ム(209)を受け取るよう構成され、前記第1の変換され
た印刷データストリームと前記第2の変換された印刷デ
ータストリームを、前記併合データストリームを使用し
て出力印刷データストリーム(208)を併合する併合ユニ
ット(207、128)と、を備える印刷データ処理パイプライ
ン。
【0112】(6)上記(5)における印刷データ処理
パイプライン(200、15)において、前記併合データ要素は
選択的に併合データおよび伸張併合データを含み、前記
複数の印刷データストリームの前記第1のストリームの
前記データ要素は、選択的に無損失性ラスタ印刷データ
および圧縮無損失性ラスタ印刷データを含み、前記複数
の印刷データストリームの前記第2のストリームの前記
データ要素は、選択的に損失性ラスタ印刷データおよび
圧縮損失性ラスタ印刷データを含み、前記出力印刷デー
タストリーム(208)は、併合された無損失性および損失
性のラスタ印刷データを含み、前記第1のパイプライン
処理ユニット(203)は、前記無損失性ラスタ印刷データ
から前記圧縮無損失性ラスタ印刷データを生成し、前記
圧縮無損失性ラスタ印刷データから伸張無損失性ラスタ
印刷データを生成する無損失性圧縮/伸張器(127)を含
み、前記第2のパイプライン処理ユニット(204)は、前
記損失性ラスタ印刷データから前記圧縮損失性ラスタ印
刷データを生成し、前記圧縮損失性ラスタ印刷データか
ら伸張損失性ラスタ印刷データを生成する損失性圧縮/
伸張器(126)を含み、前記第1の変換されたデータスト
リーム(205)は、選択的に前記無損失性ラスタ印刷デー
タ、前記圧縮無損失性ラスタ印刷データ、前記伸張無損
失性ラスタ印刷データを含み、前記第2の変換されたデ
ータストリーム(206)は、選択的に前記損失性ラスタ印
刷データ、前記圧縮損失性ラスタ印刷データ、前記伸張
損失性ラスタ印刷データを含み、前記無損失性圧縮/伸
張器(127)は、無損失性伸張出力および無損失性圧縮出
力を含み、前記併合データを受け取り、圧縮併合データ
を生成する機能および前記圧縮併合データを受け取り前
記伸張併合データを生成する機能を含み、前記損失性圧
縮/伸張器(126)は、損失性伸張出力および損失性圧縮
出力を含む上記(5)の印刷データ処理パイプライン。
【0113】(7)上記(6)における印刷データ処理
パイプラインはさらに、前記無損失性圧縮出力および前
記損失性圧縮出力に接続され、前記無損失性、前記圧縮
無損失性、前記伸張無損失性ラスタ印刷データ、前記損
失性、前記圧縮損失性、前記伸張損失性ラスタ印刷デー
タ、および前記併合、前記圧縮併合、前記伸張併合デー
タのうちの少なくとも1つを受け取る入力を有し、前記
無損失性、前記圧縮無損失性、前記伸張無損失性デー
タ、および前記併合、前記圧縮併合、前記伸張併合デー
タのうちの少なくとも1つを前記無損失性圧縮/伸張器
(127)に送るよう構成され、前記損失性、前記圧縮損失
性、前記伸張損失性ラスタ印刷データのうちの少なくと
も1つを前記損失性圧縮/伸張器(126)に送るよう構成
されたダイレクトメモリアクセス・コントローラ(122)
と、印刷データから前記無損失性ラスタ印刷データ、前
記損失性ラスタ印刷データおよび前記併合データを生成
し、ダイレクトメモリアクセス・コントローラの前記入
力に送るプロセッサ(132)と、前記無損失性伸張出力、
前記損失性伸張出力および前記ダイレクトメモリアクセ
ス・コントローラに出力され、第1の無損失性出力、第
1の損失性出力、前記併合ユニットに接続された併合デ
ータ出力を有し、前記無損失性ラスタ印刷データ、前記
損失性ラスタ印刷データおよび前記併合データ、前記伸
張無損失性ラスタ印刷データ、前記伸張損失性ラスタ印
刷データおよび前記伸張併合データのうちの少なくとも
1つを次の処理操作のためフォーマットする機能を含む
ページ片マネージャと、前記第1の無損失性出力および
前記第1の損失性出力に接続され、前記併合ユニットに
接続された第2の無損失性出力および第2の損失性出力
を有し、前記カラー空間変換器を通る前記無損失性ラス
タ印刷データ、前記伸張無損失性ラスタ印刷データ、前
記損失性ラスタ印刷データ、前記伸張損失性ラスタ印刷
データをバイパスする機能を含み、前記無損失性ラスタ
印刷データおよび前記損失性ラスタ印刷データから選択
するため、または前記伸張無損失性ラスタ印刷データお
よび前記伸張損失性ラスタ印刷データから選択するた
め、前記ダイレクトメモリアクセス・コントローラに接
続されるセレクタ出力を有するセレクタを含むカラー空
間変換器と、を備える上記(6)の印刷データ処理パイ
プライン。
【0114】(8)プリンタであって、複数の印刷デー
タ要素からそれぞれ形成される複数の印刷データストリ
ーム(201、202)を生成し、前記複数の印刷データストリ
ームにより定められ、前記印刷データ要素に対応する併
合データ要素から形成される併合データストリームを生
成するプロセッサ(132)と、前記プロセッサから前記複
数の印刷データストリームを受け取るよう構成されたダ
イレクトメモリアクセス・コントローラ(122)と、前記
ダイレクトメモリアクセス・コントローラ、前記第1の
パイプライン処理ユニット(203、127)から前記複数の印
刷データストリームのうちに第1の印刷データストリー
ムを受け取る第1の入力を有し、該第1の印刷データス
トリームの前記印刷データ要素について第1の変換を実
行し、第1の変換された印刷データストリームを生成す
る第1のパイプライン処理ユニットと、前記ダイレクト
メモリアクセス・コントローラ、前記第2のパイプライ
ン処理ユニット(204、126)から前記複数の印刷データス
トリームのうちに第1の印刷データストリームを受け取
る第2入力を有し、該第2の印刷データストリームの前
記印刷データ要素について第2の変換を実行し、第2の
変換された印刷データストリームを生成する第2パイプ
ライン処理ユニットと、前記第1の変換された印刷スト
リーム、前記第2の変換された印刷ストリームおよび前
記併合データストリームを受け取るよう構成され、前記
第1の変換された印刷データストリームおよび前記第2
の変換された印刷データストリームを、前記併合データ
ストリームを使用して出力印刷データストリームに併合
する併合ユニット(207、128)と、を備えるプリンタ。
【0115】(9)上記(8)におけるプリンタにおい
て、前記併合データ要素は、選択的に併合データおよび
伸張併合データを含み、前記複数の印刷データストリー
ムの前記第1の印刷ストリームの前記データ要素は、選
択的に無損失性ラスタ印刷データおよび圧縮無損失性ラ
スタ印刷データを含み、前記複数の印刷データストリー
ムの前記第2の印刷ストリームの前記データ要素は、選
択的に損失性ラスタ印刷データおよび圧縮損失性ラスタ
印刷データを含み、前記出力印刷データストリームは、
併合された無損失性および損失性ラスタ印刷データを含
み、前記第1のパイプライン処理ユニットは、前記圧縮
無損失性ラスタ印刷データを前記無損失性ラスタ印刷デ
ータから生成し、伸張無損失性ラスタ印刷データを前記
圧縮無損失性ラスタ印刷データから生成する無損失性圧
縮/伸張器を含み、前記第2のパイプライン処理ユニッ
トは、前記圧縮損失性ラスタ印刷データを前記損失性ラ
スタ印刷データから生成し、伸張損失性ラスタ印刷デー
タを前記圧縮損失性ラスタ印刷データから生成する損失
性圧縮/伸張器を含み、前記第1の変換されたデータス
トリームは、選択的に前記無損失性ラスタ印刷データ、
前記圧縮無損失性ラスタ印刷データ、前記伸張無損失性
ラスタ印刷データを含み、前記第2の変換されたデータ
ストリームは、選択的に前記損失性ラスタ印刷データ、
前記圧縮損失性ラスタ印刷データ、前記伸張損失性ラス
タ印刷データを含み、前記無損失性圧縮/伸張器(127)
は、無損失性伸張出力および無損失性圧縮出力を含み、
前記併合データを受け取って圧縮併合データを生成し、
前記圧縮併合データを受け取って前記伸張併合データを
生成する機能を含み、前記損失性圧縮/伸張器(126)は
損失性伸張出力および損失性圧縮出力を含む上記(8)
のプリンタ。
【0116】(10)上記(9)におけるプリンタにお
いて、前記無損失性伸張出力、前記損失性伸張出力およ
び前記ダイレクトメモリアクセス・コントローラに接続
され、第1の無損失性出力、第1の損失性出力および前
記併合ユニットに接続された併合データ出力を有し、前
記無損失性ラスタ印刷データ、前記伸張無損失性ラスタ
印刷データ、前記損失性ラスタ印刷データ、前記伸張損
失性ラスタ印刷データ、前記併合データおよび前記伸張
併合データの少なくとも1つを次の処理操作のためにフ
ォーマットする機能を含むページ片マネージャと、前記
第1の無損失性出力および前記第1の損失性出力に接続
され、前記併合ユニットに接続された第2の無損失性出
力および第2の損失性出力を有し、前記カラー空間変換
器を通る前記無損失性ラスタ印刷データ、前記伸張無損
失性ラスタ印刷データ、前記損失性ラスタ印刷データ、
前記伸張損失性ラスタ印刷データをバイパスする機能を
含み、前記無損失性ラスタ印刷データおよび前記損失性
ラスタ印刷データから選択するため、および前記伸張無
損失性ラスタ印刷データおよび前記伸張損失性ラスタ印
刷データから選択するため、前記ダイレクトメモリアク
セス・コントローラに接続されたセレクタ出力を有する
セレクタを含むカラー空間変換器と、を備える上記
(9)のプリンタ。
【0117】
【発明の効果】本発明によるデータ処理パイプラインに
よれば、データ要素に基づいて、圧縮比と印刷品質の最
適な組合せを適用することができるようになる。また、
印刷データ処理パイプラインにおける操作を適切な位置
におくことにより、印刷品質をさらに良くし、必要なメ
モリ量を減少させることができるようになる。
【図面の簡単な説明】
【図1】印刷データ処理パイプラインの高レベル図。
【図2】カラープリンタにおける印刷データ処理パイプ
ラインの好ましい実施形態を通る印刷データの流れの概
念図。
【図3】印刷データ処理パイプラインの好ましい実施形
態のハードウェア・ブロック図。
【図4】併合操作の概念図。
【図5】併合ユニットの高レベルブロック図。
【図6】損失性入力バッファの入力側の概念図。
【図7】損失性入力バッファの出力側の概念図。
【図8】損失性および無損失性出力バッファの入力側の
概念図。
【図9】損失性および無損失性出力バッファの出力側の
概念図。
【図10】中間調および併合印刷データストリームに使
用されるシフトレジスタの概念図。
【符号の説明】
15、200 印刷データ処理パイプライン 201 第1のデータストリーム 202 第2のデータストリーム 205 第1の変換されたデータストリーム 206 第2の変換されたデータストリーム 128、207 併合ユニット 208 出力データストリーム 209 併合データストリーム
フロントページの続き (51)Int.Cl.6 識別記号 FI H04N 1/411 H04N 1/40 Z (72)発明者 ジェームス・アール・ノッティンガム アメリカ合衆国83713アイダホ州ボイジー、 ノース・ジャガー・アベニュー 4741 (72)発明者 ダグラス・ヘインズ アメリカ合衆国83318アイダホ州バーレー、 リバー・ラン・エステーツ 23

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のデータ要素からそれぞれ形成される
    複数のデータストリームを別個に処理するためのデータ
    処理パイプラインであって、前記複数のデータストリー
    ムにより定められ、前記データ要素に対応する併合デー
    タ要素で形成される併合データストリームを使用し、 前記複数のデータストリームの第1のデータストリーム
    を受け取る第1の入力を有し、該第1のデータストリー
    ムの前記データ要素について第1の変換を実行し、第1
    の変換されたデータストリームを生成する第1のパイプ
    ライン処理ユニットと、 前記複数のデータストリームの第2のデータストリーム
    を受け取る第2の入力を有し、該第2のデータストリー
    ムの前記データ要素について第2の変換を実行し、第2
    の変換されたデータストリームを生成する第2のパイプ
    ライン処理ユニットと、 前記第1の変換されたデータストリーム、前記第2の変
    換されたデータストリームおよび前記併合データストリ
    ームを受け取るよう構成され、前記第1の変換されたデ
    ータストリームおよび前記第2の変換されたデータスト
    リームを、前記併合データストリームを使用して出力デ
    ータストリームに併合する併合ユニットと、 を備えるデータ処理パイプライン。
JP10168202A 1997-06-17 1998-06-16 データ処理パイプライン Withdrawn JPH11170634A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US877,345 1986-06-23
US08/877,345 US5915079A (en) 1997-06-17 1997-06-17 Multi-path data processing pipeline

Publications (1)

Publication Number Publication Date
JPH11170634A true JPH11170634A (ja) 1999-06-29

Family

ID=25369795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10168202A Withdrawn JPH11170634A (ja) 1997-06-17 1998-06-16 データ処理パイプライン

Country Status (4)

Country Link
US (1) US5915079A (ja)
EP (1) EP0886205B1 (ja)
JP (1) JPH11170634A (ja)
DE (1) DE69835637D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003077534A1 (fr) * 2002-03-11 2003-09-18 Matsushita Electric Industrial Co., Ltd. Processeur d'image et dispositif d'impression d'image
US7330286B2 (en) 2000-10-13 2008-02-12 Seiko Epson Corporation Apparatus, method and computer program product for providing output image adjustment for image files
JP2021122126A (ja) * 2017-02-10 2021-08-26 日本電信電話株式会社 データ処理装置、データ出力方法及びコンピュータプログラム

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046391B1 (en) * 1995-08-07 2006-05-16 Electronics For Imaging, Inc. Method and apparatus for providing a color-balanced multiple print engine
US6657741B1 (en) * 1995-08-07 2003-12-02 Tr Systems, Inc. Multiple print engine system with selectively distributed ripped pages
US6977752B1 (en) * 1995-08-07 2005-12-20 Electronics For Imaging, Inc. Method and apparatus for determining toner level in electrophotographic print engines
US6018400A (en) * 1998-05-05 2000-01-25 Hewlett-Packard Company Laser printer employing overlapped color plane processing
AUPP702498A0 (en) * 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART77)
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6631986B2 (en) * 1998-12-16 2003-10-14 Silverbrook Research Pty Ltd Printer transport roller with internal drive motor
US7349135B2 (en) * 1998-12-18 2008-03-25 Xerox Corporation Time multiplexed image data decompression circuit
US8416847B2 (en) * 1998-12-21 2013-04-09 Zin Stai Pte. In, Llc Separate plane compression using plurality of compression methods including ZLN and ZLD methods
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
AUPP996099A0 (en) * 1999-04-23 1999-05-20 Silverbrook Research Pty Ltd A method and apparatus(sprint01)
US6919967B1 (en) 1999-11-18 2005-07-19 Hewlett-Packard Development Company, L.P. Printing performance enhancements for variable data publishing
JP3596863B2 (ja) * 1999-11-26 2004-12-02 シャープ株式会社 画像圧縮装置および画像伸張装置、ならびに画像圧縮方法および画像伸張方法をコンピュータに実行させるためのプログラムをそれぞれ記録したコンピュータ読取可能な記録媒体
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US6721456B1 (en) 2000-02-23 2004-04-13 International Business Machines Corporation Color image data and control bit compression scheme with run length encoding
US6804401B2 (en) * 2000-05-12 2004-10-12 Xerox Corporation Method for compressing digital documents with control of image quality subject to multiple compression rate constraints
US6894796B1 (en) 2000-05-12 2005-05-17 International Business Machines Corporation Method, system, and logic for selecting line work and control data for a pixel from multiple objects of line work data provided for the pixel
US6850338B1 (en) 2000-05-12 2005-02-01 International Business Machines Corporation Method, system, program, and data structure for generating raster objects
US7394568B1 (en) 2000-05-15 2008-07-01 Infoprint Solutions Company Llc Method, system, and logic for selecting pixel data from multiple objects
US6449328B1 (en) 2000-05-15 2002-09-10 International Business Machines Corporation Method and apparatus for shifting data from registers
US6961134B1 (en) 2000-05-15 2005-11-01 International Business Machines Corporation Method, system, and logic using multiplexers to select data for pixels from multiple objects
US6804411B1 (en) 2000-05-15 2004-10-12 International Business Machines Corporation Method, system, and program for decompressing and aligning line work data from multiple objects
US7230729B1 (en) * 2000-05-15 2007-06-12 Hewlett-Packard Development Company, L.P. Printer pipeline bypass in hardware-ready format
AU756971B2 (en) * 2000-05-24 2003-01-30 Canon Kabushiki Kaisha Highly pipelined printing system architecture
AUPQ772300A0 (en) 2000-05-24 2000-06-15 Canon Kabushiki Kaisha Highly pipelined printing system architecture
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US6999188B1 (en) 2000-10-30 2006-02-14 Konica Minolta Printing Solutions U.S.A., Inc. Dynamically configurable printer and method of use thereof
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US7965406B2 (en) 2002-10-25 2011-06-21 Xerox Corporation Time multiplexed image data decompression circuit
JP2004209924A (ja) * 2003-01-08 2004-07-29 Brother Ind Ltd 両面画像形成装置及び両面画像形成方法
US7551323B2 (en) * 2003-04-16 2009-06-23 Lexmark International, Inc. Systems and methods for error diffusion
US8639760B2 (en) * 2003-06-10 2014-01-28 Hewlett-Packard Development Company, L.P. Hard imaging devices, hard imaging systems, articles of manufacture, hard imaging device electronic mail processing methods
US20050053289A1 (en) * 2003-09-05 2005-03-10 Sharp Laboratories Of America, Inc. Staged full-image decompressing, re-sizing and half-toning by less than full-image data-file stages
US8368950B2 (en) * 2003-10-06 2013-02-05 Marvell International Technology Ltd. Method of pre-processing data on a host machine for a host-based print system
US20070109568A1 (en) * 2005-11-17 2007-05-17 Keithley Douglas G Method and apparatus for printing an image
JP4991816B2 (ja) * 2009-09-30 2012-08-01 シャープ株式会社 画像処理装置
US8805069B2 (en) 2012-06-12 2014-08-12 Kyocera Document Solutions Inc. Cell-based compression of digital images
US8848250B2 (en) 2012-10-23 2014-09-30 Kyocera Document Solutions Inc. Compression of halftoned digital images
US9001251B2 (en) 2013-09-10 2015-04-07 Rambus Inc. Oversampled image sensor with conditional pixel readout
US9363422B1 (en) * 2015-01-30 2016-06-07 Kyocera Document Solutions Inc. Cell-based compression with edge detection and interleaved encoding
US9380304B1 (en) 2015-01-30 2016-06-28 Kyocera Document Solutions Inc. Cell-based compression with edge detection
US9319565B1 (en) 2015-01-30 2016-04-19 Kyocera Document Solutions Inc. Interleaved encoding of compressed attribute and color planes
US9363416B1 (en) 2015-01-30 2016-06-07 Kyocera Document Solutions Inc. Digital image attribute plane compression
US9531920B2 (en) 2015-01-30 2016-12-27 Kyocera Document Solutions Inc. Digital image color plane compression
US11991335B2 (en) 2021-08-23 2024-05-21 Kyocera Document Solutions Inc. High-speed cell-based image compression

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5345320A (en) * 1990-11-29 1994-09-06 Minolta Camera Kabushiki Kaisha Color image data processing apparatus comprising monochrome pixel detector
US5515481A (en) * 1992-07-08 1996-05-07 Canon Kabushiki Kaisha Method and apparatus for printing according to a graphic language
US5511152A (en) * 1993-09-20 1996-04-23 Digital Equipment Corporation Memory subsystem for bitmap printer data controller
US5552898A (en) * 1994-07-06 1996-09-03 Agfa-Gevaert Lossy and lossless compression in raster image processor
US5754746A (en) * 1995-12-18 1998-05-19 Xerox Corporation Multi bit per pixel compression/decompression using parallel encoded streams
US5852742A (en) * 1997-06-17 1998-12-22 Hewlett-Packard Company Configurable data processing pipeline

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330286B2 (en) 2000-10-13 2008-02-12 Seiko Epson Corporation Apparatus, method and computer program product for providing output image adjustment for image files
US8059310B2 (en) 2000-10-13 2011-11-15 Seiko Epson Corporation Apparatus, method and computer program product for providing output image adjustment for image files
WO2003077534A1 (fr) * 2002-03-11 2003-09-18 Matsushita Electric Industrial Co., Ltd. Processeur d'image et dispositif d'impression d'image
US7557951B2 (en) 2002-03-11 2009-07-07 Panasonic Corporation Image processor and image printer
JP2021122126A (ja) * 2017-02-10 2021-08-26 日本電信電話株式会社 データ処理装置、データ出力方法及びコンピュータプログラム

Also Published As

Publication number Publication date
EP0886205B1 (en) 2006-08-23
DE69835637D1 (de) 2006-10-05
US5915079A (en) 1999-06-22
EP0886205A3 (en) 2002-07-03
EP0886205A2 (en) 1998-12-23

Similar Documents

Publication Publication Date Title
JPH11170634A (ja) データ処理パイプライン
JP3400944B2 (ja) 併合データ要素を生成する方法およびその印刷データ処理パイプライン
JPH11179983A (ja) データ処理パイプラインにおける併合ユニット
JPH11179984A (ja) 構成可能なデータ処理パイプライン
US6529633B1 (en) Parallel difference coding method for lossless compression and real time decompression
JP5432450B2 (ja) エントロピー符号化を利用したカラー画像データの可逆圧縮
US7551796B2 (en) Image processing apparatus, image data generation and transmission method and image data generation and transmission program
JP3927388B2 (ja) 画像処理装置、画像処理方法及び記録媒体
JPH11339023A (ja) 構成設定可能な画像処理パイプラインを操作する方法
US5729625A (en) Image processing method and apparatus which expand a pixel into multiple pixels, with a change in the number of gray levels
US5568285A (en) Image processing system including plural color processing sections
JP2002300407A (ja) 画像処理装置、画像処理方法および画像処理プログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3346051B2 (ja) 画像処理装置
JP3459704B2 (ja) 画像処理装置及び方法
JP3101295B2 (ja) カラー画像通信方法
JP3459723B2 (ja) 画像処理装置及び方法
JP4719924B2 (ja) 画像処理装置および画像処理方法
JP2974362B2 (ja) カラー画像通信装置
JP2002084425A (ja) 多値画像データ圧縮装置
JP3070770B2 (ja) 並行処理対応画像符号化装置
JP3005016B2 (ja) カラー画像通信装置
JP2974361B2 (ja) カラー画像通信装置
JP5595142B2 (ja) 画像処理装置及び画像処理方法
JP2974360B2 (ja) 画像通信方法
JP2002223360A (ja) 符号化装置及び方法、復号装置及び方法、及び記憶媒体、並びにプリンタドライバ及びそれを格納する記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050518

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070406