JP3671633B2 - 印刷データ処理装置 - Google Patents
印刷データ処理装置 Download PDFInfo
- Publication number
- JP3671633B2 JP3671633B2 JP33002597A JP33002597A JP3671633B2 JP 3671633 B2 JP3671633 B2 JP 3671633B2 JP 33002597 A JP33002597 A JP 33002597A JP 33002597 A JP33002597 A JP 33002597A JP 3671633 B2 JP3671633 B2 JP 3671633B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- intermediate data
- band
- storage means
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
- Storing Facsimile Image Data (AREA)
Description
【発明の属する技術分野】
本発明は印刷データ処理装置に関する。さらに詳細には、用紙に対して同時に印字可能な複数の印字装置が処理用紙の搬送経路に沿って配列された所謂タンデム方式のカラーページプリンタに印字データを供給する印刷データ処理装置に関するものである。
【0002】
【従来の技術】
小型、高速のデジタル印刷に適した電子写真方式のカラーページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、画像(写真)、図形、文字などを同様に取り扱い、図形、文字等の拡大、回転、変形などが自由に制御できる記述言語を用いる印刷データ処理装置が一般に普及してきた。この記述言語の代表例として、PostScript(Adobe Systems社商標)、Interpress(Xerox社商標)、Acrobat(Adobe Systems社商標)、GDI(Graphics Device Interface、Microsoft社商標)等が知られている。
【0003】
記述言語で作成されている印刷情報は、ページ内の任意の位置の画像(写真)、図形、文字を表現する描画命令が任意の順で構成されており、本発明に係わるカラーページプリンタで印字するためには、印字前に印刷情報をラスタ化しなければならない。ラスタ化というのは、ページ又はページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。従来のページプリンタは、印字前にページ全体の印刷データをラスタ化し、ページバッファメモリに記憶していた。しかしながら、ページ全体に対するラスタデータを記憶するためには、大量のメモリを必要とする。特に、最新の電子写真方式のカラーページプリンタでは、C(Cyan),M(Magenta),Y(Yellow),Bk(Black)の4色のトナーに対応するラスタデータを必要とするとともに、白黒ページプリンタ以上に画質が要求されるため、1画素当たり複数のビット情報を持つのが一般的であり、さらに大量のメモリを必要とする。
【0004】
この大量のメモリの必要性に対し、コスト低減の観点からメモリ要求を低減させる技術として、バンドメモリ技術がある。バンドメモリ技術は、ページプリンタの印字前に1ページ分の印刷データを全てラスタ化するのではなく、記述言語で作成されている印刷データを直接ラスタ化するよりも速くラスタ化可能な比較的簡単な中間データに変換し、1ページを隣接する複数の領域(バンド)に分割し、各バンドに対応する中間データを記憶した後、ページの先頭のバンドから毎に順次ラスタデータに展開処理し、バンドに対応するバッファメモリに展開する技術である。
【0005】
従来、このバンドメモリ技術を用いた印刷データ処理装置は、CPU(中央演算処理装置)、メモリ、ASIC等を備えた専用ハードウェアを利用するのが一般的であった。この方式では、上記印刷データはネットワーク等を介して専用ハードウェアにそのまま入力され、専用ハードウェアのCPUを利用してバンド単位の中間データに変換され、専用ハードウェア内のメモリに蓄積される。1ページ分の中間データが蓄積された後、専用ハードウェア内のメモリをアクセスして、専用ハードウェアのCPU、あるいはASICを利用してラスタデータに展開処理するよう構成されている。しかしながら、最近のカラーページプリンタの高解像度化、高スピード化や、カラーページプリンタの高機能化(例えば、ネットワークのマルチプロトコル対応やマルチ記述言語対応など)によって、専用ハードウェアに要求される資源はどんどん大きくなってきている。
【0006】
これに対し、オフィスに広く普及しているPC(パーソナルコンピュータ)に簡単な専用ハードウェアを付加し、カラーページプリンタをドライブする方式が登場してきた。この方式では、一般的に上記印刷データはPCのCPUを利用してバンド単位の中間データに変換された後、専用ハードウェア内のメモリに転送される。1ページ分の中間データが蓄積された後、専用ハードウェア内のメモリをアクセスして、専用ハードウェアのASICを利用してラスタデータに展開処理するよう構成されている。この方式では、中間データを生成するためのCPUやネットワークのマルチプロトコル対応やマルチ記述言語対応のためのハードウェア資源はPCのものを利用することが可能であり、付加する専用ハードウェアの資源は小さくても良い。この方式に関しては、特開平6−195182等が公知である。特開平6−195182公報に記載されている印刷データ処理装置では、バンド分割された1ページ分の中間データはPCとシリアルインターフェース等で接続されたプリンタ内の専用ハードウェア内のメモリに転送される。この方式では、中間データとして画像(写真)データが入ってくる場合を考慮すると、専用ハードウェア内の中間データ用メモリとして大容量のメモリが必要となる。
【0007】
さらに、本願と同一出願人に係る特願平9−138609号は、専用ハードウェアのメモリ資源を小さくするために、バンド単位の中間データをPC内のメモリに蓄積し、専用ハードウェアによるラスタデータへの展開処理時に、PC内の中間データメモリをバンド毎に順次読み出し、ラスタデータへ展開する方式を提案している。特願平9−138609号に記載されている印刷データ処理装置では、バンド分割された1ページ分の中間データはPC内のメモリに蓄積される。この方式では、1ページ分の中間データ用メモリとしてPCに設置されている大容量のメモリを利用できるため、専用ハードウェアに付加されるメモリはバンド分、さらに詳しくはバンドを交互に切り替えれば良いため2バンド分で済むことになる。
【0008】
一方、カラーページプリンタの生産性の観点から、C(Cyan),M(Magenta),Y(Yellow),Bk(Black)の4色に対応した現像装置を備え、1つの印字装置で露光、現像をC,M,Y,Bkの4色分繰り返した後、用紙に一括転写して印字する、所謂シングルエンジン方式のカラーページプリンタ方式に対し、用紙の搬送経路に沿ってC,M,Y,Bkの4色に対応した印字装置を備え、各印字装置で露光、現像、用紙転写を行い、用紙が4色の印字装置を一回通過するだけでフルカラーの印字が可能となる、所謂タンデム方式のカラーページプリンタが登場してきた。タンデム方式のカラーページプリンタへ印字データを供給する印刷データ処理装置としては、特開平8−192542公報等が公知である。特開平8−192542公報には、記述言語で作成されている印刷情報を1つの中央演算処理装置でラスタ化し、C,M,Y,Bkの4色に対応する印字データをフレームバッファに蓄積した後、印字装置の記録速度に合わせて小ブロック毎に並列転送するよう構成されている。
【0009】
【発明が解決しようとする課題】
上記専用ハードウェアによるラスタデータへの展開処理時にPC内の中間データメモリをバンド毎に順次読み出しラスタデータへ展開する方式を、タンデム方式のカラーページプリンタへ適用する場合は、印字位置の異なる4色分の印字データを同時に供給する必要があるため、PCから専用ハードウェアへの中間データの高速のデータバスおよびデータ転送が必要となる。
【0010】
さらに、C,M,Y,Bkデータを転送する特開平8−192542公報に記載されている方式とは異なって、PCでの中間データ生成の負荷を軽減し、印刷データ処理を高速化するため、PCのCPU処理では処理負荷の重い、印字装置のC,M,Y,Bk色再現特性にあわせるための色変換処理を専用ハードウェアで処理させることが望ましい。即ち、専用ハードウェアにおいて、例えば中間データの色信号がRGB色空間信号の場合、印字位置の差によりデータの異なるR,G,Bデータを入力し、C,M,Y,Bkの4色の印字装置の画素に対応したC,M,Y,Bk色信号を出力する色変換処理する必要がある。従って、印字位置の差を吸収するための仕組みが必要となる。
【0011】
上記課題に対して、データ転送を少なくするという観点からは、印字位置の差を吸収する量の中間データ用メモリを専用ハードウェアに持たせる方式がある。図2にこの方式の構成図を示す。図2の構成は、第1記憶手段(PC)に記憶されたバンドごとのデータを第2記憶手段に印字位置の差を吸収する量の中間データを記憶する容量を有するメモリに転送し、その後第2記憶手段からデータを取り出して展開処理等必要な処理を行う構成である。この方式では、専用ハードウェアに大量のメモリが必要となる。
【0012】
また、専用ハードウェアの中間データ用メモリを削減する観点からは、専用ハードウェアの中間データ用メモリをC,M,Y,Bk各色毎のバンドを交互に切り替えるための2バンド分のみとし、印字位置の差に対応したPC内の中間データメモリをC,M,Y,Bk各色毎に印字位置の差によりデータの異なるR,G,Bデータを毎回アクセスし、専用ハードウェアに転送する方式がある。図3にこの方式の構成図を示す。図3では、各印字色ごとに2バンド分のメモリを第2記憶手段として構成し、この第2記憶手段に随時、第1記憶手段からデータ転送を実行する構成である。この方式では、PCから専用ハードウェアへのデータ転送を非常に高速に行う必要があるという問題がある。
【0013】
本発明は、このような点に鑑みてなされたものであり、タンデム方式のカラーページプリンタで出力するための印刷データをカラーページプリンタで出力可能なデータ構造に展開する印刷データ処理装置において、専用ハードウェア内の中間データメモリリソースとPCから専用ハードウェアへのデータ転送リソースを印刷データの内容に応じて効率的に利用し、限定されたリソースで最も高速に出力装置に印字データを供給する印刷データ処理装置を提供することを目的としている。
【0014】
さらに、PCで中間データを生成し専用ハードウェアで中間データを展開処理するシステム構成において、PCの処理負荷を最小にする印刷データ処理装置を提供することを目的としている。
【0015】
【課題を解決するための手段】
本発明の印刷データ処理装置は、上述の目的を達成する構成を有する印刷データ処理装置であり、所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理装置であって、印刷データを入力する入力手段と、入力手段に入力された印刷データを解析して中間データを生成する中間データ生成手段と、中間データを所定の大きさのバンド単位の中間データに分割するバンド分割手段と、バンド分割手段によって分割されたバンド単位の中間データを少なくとも1ページ分記憶する第1記憶手段と、第1記憶手段から順次出力されるバンド単位の中間データを入力し記憶する第2記憶手段であり、バンド単位の入力中間データを順次更新するバンドバッファ領域と、バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とを有する第2記憶手段と、第1記憶手段から第2記憶手段へ中間データを転送する転送手段と、第2記憶手段に記憶された中間データをバンド毎に読み出して出力装置で出力可能なデータ構造に展開する展開処理手段と、第1記憶手段に記憶されるバンド単位の中間データのデータ量に基づいて、第2記憶手段中の前記ブロックバッファ領域のメモリ領域の分割を実行し、該分割されたブロックバッファメモリ領域の分割態様に基づいて第1記憶手段から第2記憶手段への中間データ転送を制御する中間データ転送・制御手段とを有することを特徴とする。
【0017】
さらに本発明の印刷データ処理装置において、中間データ転送・制御手段は、第1記憶手段に記憶されるバンド単位の中間データのデータ量中、最大の中間データ量を有するバンドの中間データを記憶可能な容量に基づいて第2記憶手段中のブロックバッファ領域のメモリ領域分割を実行することを特徴とする。
【0018】
さらに本発明の印刷データ処理装置において、中間データ転送・制御手段は、第2記憶手段における中間データ記憶構成に基づいて、転送手段において実行される第1記憶手段から第2記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする。
【0019】
さらに本発明の印刷データ処理装置において、中間データ転送・制御手段は、第2記憶手段中のブロックバッファ領域のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて第1記憶手段から第2記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする。
【0020】
さらに本発明の印刷データ処理装置において、展開処理手段は、中間データに含まれる個々の画素の色を定量的に表す複数の色データから、出力装置の複数の印字装置の記録色に対応した色データに変換する色変換処理を含むことを特徴とする。
【0021】
さらに本発明の印刷データ処理装置において、第2記憶手段は、文字・図形の描画命令に対する中間データのための記憶手段と画像の描画命令に対する中間データのための記憶手段とを備え、少なくとも画像の描画命令に対する中間データのデータ量に基づいて、画像の描画命令に対する中間データのための記憶手段の記憶構成が制御されることを特徴とする。
【0022】
さらに本発明の印刷データ処理装置において、出力装置は出力速度可変に構成されており、バンド単位の中間データのデータ量に基づいて、出力速度が決定されることを特徴とする。
さらに、本発明の印刷データ処理方法は、所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理方法であって、印刷データを入力する入力ステップと、入力ステップにおいて入力された印刷データを解析して中間データを生成する中間データ生成ステップと、中間データを所定の大きさのバンド単位の中間データに分割するバンド分割ステップと、バンド分割ステップにおいて分割されたバンド単位の中間データを少なくとも1ページ分、第1記憶手段に記憶する第1記憶ステップと、第1記憶手段から順次出力されるバンド単位の中間データを記憶する第2記憶手段内のブロックバッファ領域の領域分割を実行するメモリ分割ステップと、ブロックバッファ領域の分割態様に基づいて、第1記憶手段から第2記憶手段への中間データの転送制御を実行して、第1記憶手段から第2記憶手段へ中間データを転送する転送ステップと、第1記憶手段から順次出力されるバンド単位の中間データを第2記憶手段に記憶する第2記憶ステップであり、バンド単位の入力中間データを順次更新するバンドバッファ領域と、バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とに区分して記憶する第2記憶ステップと、第2記憶手段に記憶された中間データをバンド毎に読み出して出力装置で出力可能なデータ構造に展開する展開処理ステップとを有することを特徴とする印刷データ処理方法にある。
【0023】
上述の構成を有する本発明の印刷データ処理装置において、所定の描画命令で記述されている印刷データは、ネットワークを介して、あるいは印刷処理を行うPC(パーソナルコンピュータ)等に入力される。PC等に入力された印刷データは、PCのCPUで実行される中間データ生成手段により、所定の中間データを生成する。中間データとは、後段で詳述するが入力印刷データを印刷装置において印刷可能なデータへ展開する中間段階のデータである。中間データ生成手段により生成された中間データは、同様にPCのCPUで実行されるバンド分割手段により、所定のバンド境界で分割され、バンド毎にPCの第1記憶手段に記憶される。記憶された中間データは、PCのCPUで実行される中間データ転送・記憶制御手段により、少なくとも画像描画命令に対するバンド毎の中間データ量が評価され、評価された中間データ量に基づいて、第2記憶手段の記憶構成および中間データの転送順序が制御される。第2記憶手段に転送された中間データは、専用ハードウェアの展開処理手段により、出力装置の出力に応じて読み出され、ラスターデータに展開され、印刷が実行される。
【0024】
【発明の実施の形態】
以下、本発明の印刷データ処理装置の具体的な構成について、複数の実施例を示して図面を用いて説明する。
【0025】
[実施例1]
図1は本発明による印刷データ処理装置の原理構成を示すブロック図である。同図において、本発明による印刷データ処理装置は印刷データ1を入力する印刷データ入力手段2と、中間データ生成手段3と、バンド分割手段4と、第1記憶手段5と、転送手段6と、第2記憶手段7と、展開処理手段8と、中間データ転送・記憶制御手段9とから構成されている。展開処理手段8によって処理されたデータは印刷出力装置10に出力され、印刷処理がなされる。以下、各手段の詳細について説明する。
【0026】
印刷データ入力手段2は、本印刷データ処理装置が実装されているPC、あるいは本印刷データ処理装置が実装されているPCとネットワークで接続されたPCで生成された印刷データ1を入力するための通信機能、および中間データ生成手段3へ出力されるまでの間、印刷データ1を一時記憶する機能等を備えたものである。本実施例で対象とする記述言語は、例えばGDIであるが、Acrobatで代表されるPDF(Portable Document Format)、PostScriptで代表されるページ記述言語であってもよい。
【0027】
中間データ生成手段3は、印刷データ入力手段2より入力された印刷データ1を定められた記述言語のシンタックスに従ってトークンとして切り出し、描画命令を実行し、中間データを生成する。本実施例で対象とする中間データは、例えば台形を基本図形要素とする描画オブジェクト毎の台形リストデータである。さらに詳しくは、中間データは、中間データを管理するための管理情報と台形データを何色で塗りつぶすかを示す色情報等から構成される付加情報と、描画オブジェクト毎の領域を表す台形リストデータで構成される。また、上記付加情報は文字・図形要素の描画命令に対するものと、画像要素の描画命令に対するものとは異なる。
【0028】
バンド分割手段4は、中間データ生成手段3で生成された描画オブジェクト毎の中間データをバンド単位で展開処理手段8でラスターデータ化し出力装置10で出力するため、所定のバンド境界で中間データを分割するものである。中間データ生成手段3およびバンド分割手段4を通してバンド毎に生成された中間データは、ページ毎に第1記憶手段5に格納される。
【0029】
第1記憶手段5は、バンド分割手段4でバンド単位に分割された中間データをページ単位で格納し、展開処理手段8の要求に応じてバンド単位で中間データを第2記憶手段7に転送するための中間データバッファである。第1記憶手段5に記憶される中間データは、出力装置10で連続的に出力される中間データで、入力された印刷データの全ページ、あるいは一部のページの印刷データに対応する中間データであり、少なくとも1ページ分の印刷データに対応する中間データが含まれている。
【0030】
転送手段6は、第1記憶手段5に格納されたバンド単位の中間データを、中間データ転送・記憶制御手段9で決定された順番に従って第2記憶手段7に転送する。
【0031】
第2記憶手段7は、バンド単位で入力される中間データを所定の期間保持する記憶領域と、バンド単位で入力される中間データを順次更新する記憶領域とから構成され、それぞれの記憶領域の大きさおよび構成は、中間データ転送・記憶制御手段9により制御される。さらに詳しくは、上記中間データを所定の期間保持する記憶領域は、タンデム方式のカラーページプリンタのC,M,Y,Bkの4色の印字装置の印字位置の差を吸収するためのものであるが、印字出力される中間データのデータ量に応じて保持するバンド数を増減させるものである。所定の期間保持する記憶領域の中間データは、保持される中間データが第1記憶手段から転送されるかわりに、中間データを順次更新する記憶領域に転送する。中間データを順次更新する記憶領域は、後段の展開処理手段8で、バンド単位で展開処理するための所謂入力バッファとなる領域で、ダブルバッファで構成される。尚、本実施例では、中間データを順次更新する記憶領域は固定で、中間データを所定の期間保持する記憶領域を可変とし、印字出力される中間データのデータ量に応じて記憶領域の大きさおよび構成を変更するよう構成されるものであるが、中間データを所定の期間保持する記憶領域、中間データを順次更新する記憶領域とも可変としても良い。
【0032】
展開処理手段8は、第2記憶手段7に格納された中間データをバンド単位に読み出し、展開処理手段8内の出力バッファメモリに印字データ(ラスターデータ)を展開するものである。展開処理手段8内の出力バッファメモリは、ダブルバッファ構成で設けられ、一方の出力バッファメモリに印字データが展開処理されている間、他方の出力バッファメモリに蓄積された印字データは、出力装置10の各印字装置の印字データ要求に応じて、各印字装置に出力されるよう構成されている。
【0033】
中間データ転送・記憶制御手段9は、第1記憶手段5に格納された印字出力される中間データのデータ量を評価し、上記したように第2記憶手段7の記憶領域の大きさおよび構成を制御するとともに、第1記憶手段5から第2記憶手段7に転送する中間データのバンドの順番を制御するものである。
【0034】
ここで、本発明の印刷処理装置の中間データ転送・記憶制御手段9によって実行される中間データの転送および制御の概要を、図4に示す第2記憶手段7における中間データ記憶構成および中間データ転送の例を用いて説明する。図4において、第1記憶手段における中間データの記憶はバンド単位で行われる。第1記憶手段に記憶された中間データの一部は第2記憶手段中の「中間データを所定の期間保持する領域:ブロックバッファ」に転送され、一部が直接「中間データを順次更新する領域:バンドバッファ」に転送される。図4で示すこれらのメモリ領域構成は、後段で詳細に説明するが、図13に示すブロックバッファ部704と、バンドバッファ部703に対応する。図4の「中間データを所定の期間保持する領域」に転送された中間データは、必要に応じて「中間データを順次更新する領域」に転送される。「中間データを順次更新する領域」に転送されたデータは、展開処理ハードウェア(HW)部に転送され、順次展開処理がなされて、展開処理終了後、印刷処理が実行される。
【0035】
図4に示すように「中間データを所定の期間保持する領域」、および「中間データを順次更新する領域」を第2記憶手段中に構成することによって、第1記憶手段から第2記憶手段へのデータ転送回数を減少させることができる。この具体的なデータ転送方法については図13および図14を用いて後段で詳述する。さらに、このように「中間データを所定の期間保持する領域」、および「中間データを順次更新する領域」を第2記憶手段中に構成することによって、第2記憶手段のメモリ量に対して中間データ量が小さい場合は中間データの転送回数を少なくし、第2記憶手段のメモリ量に対して中間データ量が大きい場合は中間データのデータ量に応じて転送回数を増加させるような構成をとることができる。従って、PCのデータ転送のためのリソースを大きく費やすPCの第1記憶手段から第2記憶手段へ中間データ転送を、第2記憶手段のメモリ量と中間データのデータ量に応じて最小化するため、PCへの負荷を小さくすることが可能となる。
【0036】
出力装置10は、C,M,Y,Bkの4色の印字装置を備え、各印字装置毎に展開処理手段8の出力バッファメモリから出力される印字データを受け取って、記録用紙に印字し出力するタンデム方式のカラーレーザプリンタである。図7にタンデム方式のカラーページプリンタの構成例を示す。図7において、タンデム方式のカラーレーザプリンタは、記録色に対応した各印字装置、即ちBlackデータ印字装置37、Yellowデータ印字装置37’、Magentaデータ印字装置37’’、Cyanデータ印字装置37’’’と、記録用紙51を搬送する搬送ベルト52と、定着装置53等で構成されている。また、各印字装置は、図7の右端の印字装置に代表的に示すように、感光体ドラム371、帯電器372、レーザ走査装置373、記録色に対応した現像装置374、転写装置375等から構成されている。レーザ走査装置373は、赤外半導体レーザ、レンズ、ポリゴンミラーより構成され、数十μmのスポット光となって感光体ドラム371を走査する。感光体ドラム371は、帯電器372により帯電されており、光信号により、静電潜像が形成される。潜像は記録色に対応した現像装置374上の2成分磁気ブラシ現像によりトナー像となり、転写装置375によって記録用紙51上に転写される。この工程を、Black、Yellow、Magenta、Cyanの順に繰り返し、記録用紙上に多重転写する。最後に、搬送ベルト52より記録用紙を剥離し、定着装置53でトナーを定着する。
【0037】
次に本実施例の実装の形態について説明する。図5は本実施例の印刷データ処理装置全体が実装されるハードウェアの構成例である。図5において、本実施例は、PC(パーソナルコンピュータ)21と、PC21が接続されるネットワーク23と、専用ハードウェア36と、PC21と専用ハードウェア36を接続する高速シリアルバス35と、出力装置10とで構成されている。
【0038】
ネットワーク23は、例えばEthernetであり、ネットワーク23を介して図示しないPCやワークステーションから印刷データ1が入力される。
【0039】
PC21は、CPU(中央演算処理装置)24と、メモリコントローラ25と、DRAM26と、システムバスコントローラ27と、ネットワークインタフェース28と、磁気ディスク29と、CPUバス31と、システムバス32とから構成される一般的なものである。システムバス32は、例えばPCI(Peripheral Compact Interconnect)バスであり、高速のデータ転送が可能である。
【0040】
高速シリアルバス35は、例えばIEEE1394高性能シリアルバスである。IEEE1394高性能シリアルバスを設けることにより、PC21と専用ハードウェアとの間の中間データ転送は、アイソクロナス転送モードにより一定の速度で転送することが可能となる。
【0041】
PC21には、本実施例の印刷データ入力手段2、中間データ生成手段3、バンド分割手段4、第1記憶手段5、中間データ転送・記憶制御手段9に相当する機能が実装される。例えば、磁気ディスク29は、印刷データ入力手段2、中間データ生成手段3、バンド分割手段4、転送手段6、中間データ転送・記憶制御手段9の各処理のための所定のプログラム等の格納領域、印刷データ入力手段2の印刷データ格納領域として使用される。また、DRAM26は、中間データ生成手段3、バンド分割手段4、転送手段6、中間データ転送・記憶制御手段9の各処理のためのワークエリア、第1記憶手段5のメモリ領域として使用される。さらに、CPU31では印刷データ入力手段2、中間データ生成手段3、バンド分割手段4、転送手段6、中間データ転送・記憶制御手段9の各処理のための所定のプログラム各処理が実行される。
【0042】
図6は専用ハードウェア36の構成例である。図6において専用ハードウェア36は、例えばシリアルバスインターフェース41と、中間データ転送・記憶制御手段9の指示に基づき第2記憶手段のメモリ構成を制御するメモリ制御LSI42と、第2記憶手段のメモリを提供するDRAM43と、DRAM43から展開処理するための中間データを読み出し台形データ処理と画像処理に振り分けるための中間データ制御LSI44〜44’’’と、台形データからラスターデータに展開処理する台形データ処理LSI45と、色変換および解像度変換等の画像処理を実行する画像処理LSI46と、出力バッファメモリのためのDRAM47と、出力バッファメモリのラスターデータを出力装置10の各印字装置37〜37’’’に出力するためのビデオインターフェースLSI48とから構成されている。尚、図6に示すように、中間データ制御LSI44〜44’’’からビデオインターフェースLSI48は、各印字装置37〜37’’’に対応して4組づつ設けられている。
【0043】
以上、本発明を適用する印刷データ処理装置の概要および実装の形態について記述した。以下、本発明の主要部の詳細について説明する。
【0044】
初めに、この印刷データ処理装置における中間データ生成とバンド分割の詳細について説明する。
【0045】
中間データ生成手段3は、図8に示すように、字句解釈部301と、トークン解釈部302と、命令実行部303と、描画状態記憶部304と、画像処理部305と、ベクターデータ生成部306と、フォント管理部307と、マトリックス変換部308と、ショートベクター生成部309と、台形データ生成部310とから構成される。
【0046】
字句解析部301は、印刷データ入力手段より入力された印刷情報ファイルを定められた記述言語のシンタックスに従ってトークンとして切り出し、その切り出したトークンをトークン解釈部302に出力するものである。
【0047】
トークン解釈部302は、字句解析部301から入力されたトークンを解釈し、内部命令やその引数に変換し、それら内部命令と引数の組を命令実行部303へ転送する。例えば内部命令には、文字/図形/画像の描画を実行する描画命令や、色や線属性など描画必要な情報を設定する描画状態命令などがある。
【0048】
命令実行部303は、トークン解釈部302から送られてきた内部命令を実行する。ここで実行する命令は、主に描画命令と描画状態命令がある。例えば描画命令には、以下の表1に示すように3種類の描画命令があり、それぞれの描画に必要な情報が示されている。このうちアンダーラインがある情報については、描画命令中の引数として与えられ、その他の情報は予め初期設定や先行する命令などにより描画状態記憶部304に記憶されている。描画命令の実行は、画像描画以外は受け取った描画命令をそのままベクターデータ生成部306へ転送する。画像描画の場合は、受け取った描画命令を画像処理部305へ転送するとともに、画像ヘッダの縦と横の大きさをベクターデータ生成部306へ転送する。また描画状態命令については、命令を描画状態記憶部304へ転送する。
【0049】
【表1】
【0050】
画像処理部305は、命令実行部303から入力された命令の引数である入力画像ヘッダと入力画像データを、描画状態記憶部304から獲得した変換マトリックスを使ってアフィン変換したり、入力画像の色空間を入出力装置の色空間に依存しない色空間に変換する色空間変換などの処理を行い、出力画像ヘッダと出力画像データを生成してバンド分割手段へ転送する。また、画像処理部305の処理機能として、中間データを削減するために、画像データに対して圧縮処理を施し、専用ハードウェア36で伸長処理を施しても良い。静止画像に対する圧縮処理として、例えばJPEG圧縮が一般的である。
【0051】
描画状態記憶部304は、命令実行部303から受け取った命令に含まれる引数の値で、例えば表1に示したアンダーラインの無い情報についての値の設定を行い、それらを記憶する。また、画像処理部305、ベクターデータ生成部306、マトリックス変換部308、ショートベクター生成部309、バンド分割手段4(図1参照)などの要求に従って、それらの値を転送する。
【0052】
ベクターデータ生成部306では、命令実行部303から送られてきた命令と引数、描画状態記憶部304の値を使用して、塗りつぶし描画を除く、新たに描画するためのベクターデータを生成する。まず文字描画の場合について説明する。引数で与えられた文字コードと描画状態記憶部から獲得したフォントIDをフォント管理部へ転送して、文字のアウトラインデータを獲得する。獲得したアウトラインデータには、描画原点(カレントポイント)の情報が含まれていないので、描画状態記憶部304から獲得したカレントポイントのオフセットをアウトラインデータに加えることによって、目的のベクターデータを生成する。画像描画の場合には、引数で与えられた画像ヘッダの縦と横のサイズからそれに対する矩形ベクターを生成し、描画状態記憶部304から獲得したカレントポイントのオフセットを加えることで目的のベクターデータを生成する。ストローク描画の場合は、引数で与えられたベクターと描画状態記憶部304から獲得した各種の線属性から、太さを持った線のアウトラインベクターを生成する。このように生成したベクター(塗りつぶし描画の場合は命令実行部303から直接受け取ったベクター)を、マトリックス変換部308へ転送する。
【0053】
フォント管理部307は、各種フォントに対するアウトラインベクターデータを記憶するとともに、与えられた文字コードとフォントIDによって、その文字に対するアウトラインベクターデータを提供する。
【0054】
マトリックス変換部308は、ベクターデータ生成部306から受け取ったベクターデータを、描画状態記憶部304から獲得した変換マトリックスによってアフィン変換する。このアフィン変換の主な目的は、アプリケーションの解像度(座標系)からプリンタの解像度(座標系)に変換するためのものである。変換マトリックスには下式(1)に示すような3x3のものが使われ、入力ベクターデータ(Xn,Yn)は、出力ベクターデータ(Xn’,Yn’)に変換されてショートベクター生成部309へ送られる。
【0055】
【数1】
【0056】
ショートベクター生成部309は、入力されたベクターの中に曲線のベクターがある場合にその曲線のベクターを、誤差が描画状態記憶部304から獲得したフラットネス(flatness)値より小さくなるように、複数のショートベクターで近似する処理を行う。例えば曲線のベクターには、4つの制御点で表現されるベジエ曲線が使われる。この場合ショートベクター化の処理は、ベジエ曲線を再帰的に分割し、高さがフラットネス(flatness)で与えられた値より小さくなった時点で分割を終了する。そして分割された各ベジエ曲線の始点と終点を順番に結ぶことにより、ショートベクター化が完了する。生成されたショートベクターは、バンド分割手段4へ送られる。
【0057】
台形データ生成部310は、入力されたベクターデータから、描画領域を示す台形データ(三角形の場合もあるがデータ構造は台形と同じである)の集合を生成する。例えば図9(a)に示す太線で示された多角形のベクターは、4つの台形により描画領域が示される。尚、この台形は出力装置のスキャンラインに平行な2辺を持った台形であり、1つの台形は図9(b)に示すように(sx,sy,x0,x1,x2,h)の6つのデータで表現される。生成された台形は、バンド分割手段4へ送られる。
【0058】
図1のバンド分割手段4の構成を図10に示す。図10に示すようにバンド分割手段4はバンド分解部401と、中間データ管理部402とから構成される。バンド分解部401は、入力された台形データのうち複数のバンドにまたがる台形データをバンド毎の台形データに分割し、バンド毎に台形データを中間データ管理部402へ転送する。例えば図11では、4つの台形データ(図11左の太い破線で分割)がバンド分解部によって6つの台形データ(図11右図)に分割される。
【0059】
中間データ管理部402は、バンド毎に入力された台形データに付加情報をつけて中間データを生成し、バンド毎に中間データを第1記憶手段5に書き込む処理を行う。付加情報は、中間データを管理するための管理情報と、台形データを何色で塗りつぶすかを示す色情報である。文字/図形の描画命令に対する管理情報は、オブジェクトID,オブジェクトの種類,台形数のデータであり、例えばRGBの値が色情報である。これらのデータは、図12(a)に示すように、描画命令によって生成されたバンド毎の台形データの前に付加される。画像の描画命令に対する管理情報は文字/図形と同じであるが、色情報は画像ヘッダと画像データとなる。また図12(b)に示すように、画像ヘッダと画像データは、描画命令によって生成されたバンド毎の台形データそれぞれに対して1つずつ付加される。また、画像データは圧縮された形で格納される場合もあり、画像ヘッダに圧縮処理の有無が含まれている。以上の各中間データは記録色毎、バンド毎にまとめられ、各バンドの最終データにEOD(End Of Data)を表すデータを付加して、バンドデータの終了を明確にしている。
【0060】
次に、図1のブロック図における第1記憶手段5から第2記憶手段7へのデータ転送およびそれらを制御する中間データ転送・記憶制御手段9について説明する。
【0061】
図13に第2記憶手段7の構成例を示す。図13において、第2記憶手段7はメモリ構成およびメモリ間のデータ転送を制御するメモリ制御部701とメモリ部702から構成されており、さらにメモリ部702は、前記したように中間データを順次更新する記憶領域(バンドバッファ部703)と中間データを所定の期間保持する記憶領域(ブロックバッファ部704)から構成され、バンドバッファ部703は固定領域として確保され、ブロックバッファ部704は可変領域として、中間データの記憶構成はメモリ制御部701により制御される。また、メモリ制御部701とメモリ部702は、図6のメモリ制御LSI42とDRAM43にそれぞれ対応している。バンドバッファ部703は、C,M,Y,Bkの4色の印字装置に対応して4組で構成されており、さらにそれぞれはダブルバッファ構成の中間データバッファで、展開処理手段8の要求に応じて一方の中間データバッファから中間データが出力されているとき、他方の中間データバッファには第1記憶手段5より、あるいはブロックバッファ部704より、次のバンドの中間データが入力されるよう構成されている(図4参照)。
【0062】
また、文字・図形のみからなる印刷データの中間データに関しては、非常に複雑な印刷データでも1ページ分で最大でも3MByte程度と小さく、メモリ量を設計する場合は、画像データのみを考えればよい。例えば、中間データとして格納する画像データの解像度の最大値を300dpi、RGB各色8bit、プリンタ装置22の記録サイズをA3サイズ(約300mm×約420mm)、バンド分割数を64、圧縮無し、を仮定すると、バンドバッファ部703のメモリサイズは、下式で示すように全体で約6.6MByteとなる。
【0063】
【数2】
【0064】
上記式から、バンドバッファ部703のメモリサイズは全体で6.6MByte、各色ごと1.65MByte(6.6[MByte]÷4)、各バンドごと約0.82MByte(1.65[MByte]÷2)であることが理解される。一方、ブロックバッファ部704は、1バンド分のサイズとしてバンドバッファ部703のように固定領域(約0.82MByte)をとるのではなく、入力される画像データに応じて1バンド分のサイズを変更し、限定されたメモリ量で、所定期間記憶するバンド数をできるだけ多くなるよう構成されるものである。例えば、入力される印刷データに含まれる画像データの解像度が150dpi、画像の主走査方向(上記式2において記録サイズが300mmの方向)サイズが75mmであるとすると、1バンド分のサイズは上記した式(2)の場合と比較すると、以下の式(3)で示すように1/16となる。
【0065】
【数3】
【0066】
さらに、この画像データの解像度が150dpi、画像の主走査方向サイズが75mmである条件において、C,M,Y,Bkの4色の印字装置の最大差を60バンド分と仮定すると、下式(4)に示すようにブロックバッファ部704として、約3.1MByteのメモリを保持していれば、中間データを順次保持することが可能となる。
【0067】
【数4】
0.82[MByte]×60[バンド]×1/16[必要なメモリ量の比]
=3.1[MByte].....(4)
【0068】
上記したように、中間データを順次保持することが可能であれば、第1記憶手段5から第2記憶手段7へのデータ転送は常に1バンドあたり一回づつで済むことになり、PCのリソースに影響を与えることが少なくなる。従って、ブロックバッファ部704部に保持される中間データを増加させることにより、第1記憶手段5から第2記憶手段7へのデータ転送を少なくすることができる。このように、第1記憶手段5から第2記憶手段7へのデータ転送は、第2記憶手段中のブロックバッファ部704へ転送する中間データ量を変更することによって、その回数を少なくするように制御することが可能となる。
【0069】
図14にブロックバッファ部704に1バンド毎に中間データを保持した場合の中間データ転送の一例を説明するための図を示す。図14では、図の都合上、C,M,Y,Bkの印字位置の最大差(CからBk)を10バンド分としているが、印字位置のずれが他の値であっても、本発明の印刷データ処理装置の構成の中間データ転送に与える効果は、ほぼ同様のものとなる。図14においてバンドの並びは、A0、B1、A2、B3、A4、B5...の順であり、このバンド順で各印字位置において印字が実行される。
【0070】
図14において、図14中の右欄は、各色Bk、Y、M、Cごとの印字位置において印字されるバンドを示している。左端のBkから右端のCの印字位置との差は10バンドである。左欄「転送されるバンド」が各色Bk、Y、M、Cごとに転送すべきバンドデータを示している。データ中、Axx(xxはバンドNo.)はブロックバッファ部704に所定期間保持されるデータであり、ブロックバッファ部704の保持データはバンドバッファ部703を経由して展開処理手段に転送され、展開処理の後、出力される。Bxxは、第1記憶手段からブロックバッファ部704を介さずに直接バンドバッファ部703に転送されるデータを示している。データがバンドバッファ部703に転送された後は、その後の展開処理および印字処理を印字スピードに間に合うように実行するリアルタイム処理とするのが一般的であり、バンドバッファ部703へのデータ転送後の処理に遅れが発生すると印字ミスを招くこととなる。
【0071】
図14において、最下行はBk印字位置に「A0」が示されており、Bk印字位置においてA0バンドが印字されることを示し、左欄のBk用バッファの値「A0」は、この印刷のためにBkバッファから転送すべきバンドがA0であることを示している。この時点では、Y、M、Cの印字位置において印字されるデータはない。
【0072】
Bk印字位置の値が「B9」のときに、もっとも離れたC印字位置の印字が開始される。このときのC印字位置の印字バンドは「A0」である。このタイミングで各色ごとの印字バンドは、Bkが「B9」、Yが「A6」、Mが「B3」、Cが「A0」である。これらの各バンドデータ中「A6」および「A0」はブロックバッファ部704に保持されているデータをバンドバッファ部703に転送すればよく、「B9」、および「B3」のバンドデータについては、第1記憶手段からバンドバッファ部703に転送することが必要となる。次の印字タイミングにおける印字バンドは、Bkが「A10」、Yが「B7」、Mが「A4」、Cが「B1」である。これらの各バンドデータ中「A10」および「A4」はブロックバッファ部704に保持されているデータをバンドバッファ部703に転送すればよく、「B7」、および「B1」のバンドデータについては、第1記憶手段からバンドバッファ部703に転送することが必要となる。
【0073】
ブロックバッファ部704は、所定バンドのデータ量を保持することが可能な構成を有する。図14に示すデータ転送構成を実現するためには、例えばブロックバッファは最低限「A0、A2、A4、A6、A8」を記憶する容量を有することが必要であり、C印字位置においてバンド「A0」の印字が終了した時点で、その後は「A0」データが不要となるので次のバンドデータ「A10」を第1記憶手段から転送し、A0データを消去するように構成すればよい。ブロックバッファ部704は、さらに大きな容量を有していてもよいが、利用可能なメモリスペースを考慮して、転送回数を減少させるために最も効率的な構成に領域分割がなされる。この分割は転送される中間データに基づいて制御される。この制御は、中間データ転送・記憶制御手段9によって実行される。中間データ転送・記憶制御手段9については後段で詳述するが、例えば、第1記憶手段5に記憶された出力装置10で連続出力する中間データのデータ量をバンド単位で評価し、連続出力するバンドの内、最大の中間データ量を検出し、このデータ量に基づいて第2記憶手段のメモリ領域の分割構成を制御する。
【0074】
上述のように、印字位置の差に相当する中間データをブロックバッファ部704が1バンド毎に保持することができるとして、第1記憶手段5から第2記憶手段7へのデータ転送について検討する。図14に示す例において、すべての印字位置Bk、Y、M、Cでの印字が開始した後について検討する。Bk印字位置においてバンド「B9」の印字が開始された後をみると、Bk印字位置がバンド「B9」印字のタイミングでは、転送されるバンドの対応する行に示すように、「B9」および「B3」の2バンドについて、第1記憶手段から第2記憶手段のバンドバッファへの転送が必要となる。次のBk印字位置がバンド「A10」印字のタイミングでは、「A10」、「B7」および「B1」の3バンドがそれぞれ第1記憶手段から第2記憶手段のブロックバッファ(バンド「A10」)およびバンドバッファ(バンド「B7」、「B1」)へ転送される。その後、Bk印字バンドが「B11」のタイミングでは第1記憶手段から第2記憶手段へ2バンドの転送、Bk印字バンドが「A12」のタイミングでは第1記憶手段から第2記憶手段へ3バンドの転送と繰り返される。
【0075】
上述のようなブロックバッファ構成を有する本発明の印刷データ処理装置と、ブロックバッファを持たない装置とのデータ転送について比較検討する。ブロックバッファを持たない装置においては、すべての印字タイミングにおいて第1記憶手段から各色のバンドバッフアへのダイレクト転送が必要となるので1印字タイミングで印字色数に対応する4バンドの転送が必要になる。これに対して本発明のブロックバッファ構成を有する印刷データ処理装置においては、図14に示す例から明らかなように、1つの印字タイミングで2バンド転送あるいは3バンド転送を行えばよい。従って、第1記憶手段から第2記憶手段への転送回数は、本発明の印刷データ処理装置においては、ブロックバッファが無い場合に比較して5/8(2[バンドn]+3[バンドn+1])/(4[バンドn]+4[バンドn+1]=5/8)となり、転送回数の削減が達成される。
【0076】
また、図14に示すように、バンドバッファ部への転送は、順次第1記憶手段5からバンドバッファ部703へのデータ転送とブロックバッファ部704からバンドバッファ部703へのデータ転送が切りかえられるが、これはメモリ制御部701により制御される。
【0077】
また、図14に示す例におけるバンド単位の中間データの第1記憶手段5から第2記憶手段7へのデータ転送順序は、図14の転送されるバンドの欄の下段から順次上段へ向かう順序である。図14の場合、A0、B1、A2...と、それぞれのバンドの中間データを「Axx」についてはブロックバッファ部704へ、「Bxx」についてはバンドバッファ部703へ転送する。第1記憶手段から第2記憶手段への転送順序は、ブロックバッファ部704のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて決定される。この決定は、中間データ転送・制御手段9によって実行される。中間データ転送・制御手段9については、後段で詳述する。
【0078】
尚、上記仮定では画像データに対して圧縮処理を実施していないが、例えばJPEG圧縮を施すことによりデータ量は大きく削減できるため、ブロックバッファ部704の1バンド分のメモリサイズはさらに小さくできるため、ブロックバッファ部704に保持できるバンド数は増加し、第1記憶手段5から第2記憶手段7へのデータ転送回数をより小さくすることができる。
【0079】
転送手段6は、例えばシステムバス32が前記したようにPCIバス、高速シリアルバスがIEEE1394の場合、図5のシステムバスコントローラ27をマスタ・デバイス、図5のシステムバスインターフェース34をスレーブ・デバイスとして、図5のDRAM26から図6のDRAM43への中間データのバースト・データ転送を実行する。このバースト・データ転送を制御するためのPCのCPU24を利用した所定のプログラムは、バンド単位で中間データを第1記憶手段5から第2記憶手段7に展開処理手段8の要求に応じてリアルタイムに転送するために、リアルタイム処理クラスの優先度で実行される。また、図14に示すような第1記憶手段5からバンドバッファ部703へのデータ転送バンドの切換えは、中間データ転送・記憶制御手段9の指示に基づいて実行される。
【0080】
図15に中間データ転送・記憶制御手段9の構成例を示す。図15において、中間データ転送・記憶制御手段9は、中間データ量評価部901と、メモリ構成決定部902と、メモリ構成・データ転送順序指示部903とから構成される。中間データ量検出部901は、第1記憶手段5に記憶された出力装置10で連続出力する中間データのデータ量をバンド単位で評価し、連続出力するバンドの内、最大の中間データ量を検出するものである。
【0081】
中間データ量検出部901で検出された最大の中間データ量は、メモリ構成決定部902に転送され、メモリ構成が決定される。例えば、C,M,Y,Bkの4色の印字装置の差を60バンド分、ブロックバッファ部704のメモリ量を8MByteと仮定した場合、最大中間データ量が8[MByte]÷60[バンド]=0.13MByte以下であれば、ブロックバッファ部704を約0.13MByteのバンドサイズに分割し、出力装置10で連続出力する分の中間データを順次保持することが可能となる。また、最大中間データ量が0.13MByte以上で0.26MByte以下の場合は、ブロックバッファ部704を約0.26MByteのバンドサイズに分割し、1バンド毎に保持することが可能になり、図14に示すような中間データ転送となる。上記した例では、説明を簡単にするために0.13MByte以上で0.26MByte以下の場合は、全てブロックバッファ部704を約0.26MByteのバンドサイズに分割する例について示したが、中間のバンドサイズをとることにより平均的な転送回数を減らすことができる。
【0082】
メモリ構成・データ転送順序指示部903は、メモリ構成決定部902に決定されたブロックバッファ部704のメモリ構成を第2記憶手段7のメモリ制御部701に通知するとともに、図14に示すような中間データ転送順序を算出し、転送手段6および第2記憶手段7のメモリ制御部701に通知するよう構成されている。尚、中間データ転送順序は、ブロックバッファ部704のメモリ構成に対応する中間データ転送順序を予め算出したテーブルデータを保持することにより、瞬時に決定される。
【0083】
次に、展開処理手段8における中間データのラスターデータ化の処理フローについて説明する。
【0084】
図16に展開処理手段8の構成例を示す。図6に示すように展開処理手段8は、C,M,Y,Bkの4色の各印字装置に対応して4組の展開処理部を備えているが、同一構成のため図16では1組のみ示した。図6において、展開処理手段8は中間データ制御部801と、台形データ処理部802と、画像データ処理部804と、出力バッファメモリ部803とから構成されている。中間データ制御部801は、ダブルバッファ構成のバンドバッファ部703に交互に入力される中間データをオブジェクト毎に順次読み出し、中間データの管理情報を読み出し、当該オブジェクトが文字・図形要素に対する中間データか、あるいは画像要素に対する中間データかを検出し、台形データ処理部802および画像データ処理部804に転送する。即ち、文字・図形要素に対する中間データの台形データを台形データ処理部802に、色情報を画像データ処理部804に転送し、画像要素に対する中間データの形状を表す台形データを台形データ処理部802に、色情報に含まれる画像データを画像データ処理部804に転送する。その他、中間データ制御部801は各オブジェクトの展開処理およびバンド内の中間データの処理を管理する。
【0085】
台形データ処理部802は、中間データの台形データ(sx,sy,x0,x1,x2,h)を、図18に示されるような4点からなるデータ形式に変換して台形領域を描画するものである。図17に台形データ処理部802のブロック図を示す。図17において、台形データ処理部802は、中間データ入力部8021と、座標計算部A8022および座標計算部B8023と、エッジ描画部8024とから構成されている。
【0086】
中間データ入力部8021は、バンドメモリ部703から1つ1つの台形をなすデータを読み込んで、座標計算部A8022および座標計算部B8023に台形データを出力する。座標計算部A8022は、台形の左側のエッジ(図18のエッジP0P1)の座標計算を担当し、エッジ上の座標値をP0からP1に向かって順に出力する。座標計算部B8023は、台形の右側のエッジ(図18のエッジP2P3)の座標計算を担当し、エッジ上の座標値をP2からP3に向かって順に出力する。エッジ描画部8024は、座標計算部A8022及び座標計算部B8023から入力される座標値により、台形のx軸に平行な直線を描画する。
【0087】
図19に、座標計算部のブロック図を示す。入力された台形データ(sx,sy,x0,x1,x2,h)はDDAパラメータ計算部80221で4点の台形データ(P0,P1,P2,P3)に変換されて、傾きや残差の初期値などのDDAのパラメータを計算し、DDA処理部80222に出力する。DDA処理部80222は、入力されたパラメータに基づいてDDA処理を行い、最後に求めた点に対する移動方向と移動量を出力する。座標更新部80223は、入力された移動方向と移動量から現在保持している座標値を更新して出力する。
【0088】
図20は、エッジ描画部8024のブロック図である。エッジ描画部8024は、座標値A/B及び画像データを入力して台形の内部領域を塗りつぶすものである。アドレス計算部80241は、座標値A/Bを入力して、描画するエッジ成分のアドレスを計算する。マスク演算部80242は、座標値A/Bの値を入力して、描画するワード中の有効なビットを表すマスクを出力する。データ演算部80243は、入力された中間データが文字/図形要素の場合には台形領域によって固定的な色を表す色データを画像データ処理部803より入力し、この値を用いてスクリーン処理をして出力する。入力された中間データが画像要素の場合には、画像データ処理部803より画像データを入力し、スクリーン処理をして出力する。RmodW処理部80242は、入力されたアドレス、マスク、データを用いて以下の処理をすることにより描画を行う。まず、アドレスにより、出力バッファメモリ804をリードする。これにより読み込まれたデータをSource、マスクデータをMask、描画データをDataとすると、(Mask*Data+Mask#*Source)の値を演算して同一アドレスに書き戻す。ただし、*は論理積、+は論理和、#は論理否定をそれぞれ表す。この処理は、描画するエッジが含まれるワード毎に繰り返し行われる。
【0089】
図21に画像データ処理部803のブロック図を示す。図21において、画像データ処理部803は、色変換部8031と解像度変換部8032とから構成される。色変換部8031は、アプリケーションで作成された色空間、あるいは入出力装置の色再現特性に依存しない標準的な色空間から、出力装置10の色空間および色再現特性に合わせた色データに変換するものである。また、色変換部8031は上記したように、文字/図形要素の固定的な色を表す色データと画像要素の画素毎の色データに対して色変換を行う。解像度変換部8032は、色変換された画像データを出力装置10の解像度に合わせるために、画像データに対して補間近似を行う。尚、画像データ処理部803に入力される色データが文字/図形要素の固定的な色データの場合は、そのままの値が出力される。
【0090】
図22に色変換部8031のブロック図を示す。色変換部8031は、3次元補間演算処理部80311と3次元ルックアップテーブル80312とから構成されている。3次元ルックアップテーブル80312は、色変換処理のための格子点データが蓄積されており、3次元補間演算処理部は格子点データに基づき、注目画素の色変換演算を実行する。本実施例では、3次元補間演算は、例えば図23に示す三角柱補間演算が用いられる。三角柱補間演算では、図23に示す8つの格子点データに対して注目画素が存在する三角柱領域を形成する6つの格子点データの補間演算により注目画素の色信号が決定される。図23に示す三角柱補間演算は、下式で処理される。
【0091】
【数5】
D(o)=D(m)+△G×(D(n)−D(m))......(5)
ただし
【0092】
解像度変換部8032は、例えば最近傍補間法で構成されている。図24に最近傍補間法の原理を説明する図を示す。図24において、P1([x],[y]),P2([x+1],[y]),P3([x],[y+1]),P4([x+1],[y+1])が解像度変換部8032に入力される画像データの座標点の画素値であるとし、出力装置10の解像度に対応した座標点が例えばP(x,y)であるとすると、P(x,y)は最近傍の座標点の画素値P2([x+1],[y])となる。
【0093】
[実施例2]
次に、本発明の第2の実施例を説明する。図25は、本発明の印刷データ処理装置の他の原理構成を示すブロック図である。本実施例において、出力装置が出力速度可変の出力装置12で構成されており、中間データ転送・記憶制御手段が中間データ量に基づいて出力装置12の出力速度を決定する機能を備えた中間データ転送・記憶制御手段11で構成されている点が、実施例1の図1に示された印刷データ処理装置の構成と異なっている。
【0094】
出力装置12は、出力装置10と同様、C,M,Y,Bkの4色の印字装置を備え、各印字装置毎に展開処理手段8の出力バッファメモリから出力される印字データを受け取って、記録用紙に印字し出力するタンデム方式のカラーレーザプリンタで、構成は図7で示されるものである。図7において、出力速度可変にともない制御しなければならない印字プロセスにおける制御対象について説明する。制御しなければならない印字プロセスは、感光体ドラム371の回転速度、搬送ベルト52の速度、定着装置53のロール回転速度、レーザ走査装置373のポリゴンミラーの回転速度、現像装置374の現像ロール回転速度、転写電流等である。この内、感光体ドラム371の回転速度、搬送ベルト52の速度、定着装置53のロール回転速度、レーザ走査装置373のポリゴンミラーの回転速度、現像装置374の現像ロール回転速度は、印字速度に比例して制御すれば良い対象である。転写電流は印字速度に比例して定電流源の設定を制御すれば良い。また、一般的にレーザ走査装置373のポリゴンミラーの駆動にはブラシレスサーボモータ、その回転速度の安定にはPLL(Phase Locked Loop)制御が使用されている。従って、ポリゴンミラーの回転速度の変更は、PLL制御の基準周波数の分周により可能である。出力速度は例えば1/2,1/3,1/4に低減可能に構成されている。
【0095】
図26に本実施例の中間データ転送・記憶制御手段11の構成例を示す。図26において、出力装置速度指示部1201が付加されている点が図15と異なっている。出力装置速度指示部1201は、メモリ構成決定部902で決定されたブロックバッファ部704のメモリ構成から、第1記憶手段5から第2記憶手段7への中間データ転送回数と、最大中間データ量と、利用可能なデータ転送速度に基づき、出力装置12の変更可能な出力速度のなかから出力速度を決定し、転送手段6および転送手段6を介して出力装置12に設定出力速度を通知するよう構成されている。例えば、平均的な中間データ転送回数×最大中間データ量の値が、利用可能なデータ転送速度を越える時、出力装置12の出力速度を例えば1/2,1/3,1/4低減する。従って、本実施例に示す構成よって、PCの性能が低く高速のデータ転送速度が得られない場合でも、リソースを効率的に利用することができる。また、利用可能なデータ転送速度を制限しPC側への負荷をできるだけ小さくしたい場合でも、リソースを効率的に利用することができる。
【0096】
【発明の効果】
以上説明したように本発明では、タンデム方式のカラーページプリンタで出力するための印刷データをカラーページプリンタで出力可能なデータ構造に展開する印刷データ処理装置において、専用ハードウェア内の中間データメモリリソースとPCから専用ハードウェアへのデータ転送リソースを印刷データの内容に応じて効率的に利用し、限定されたリソースで最も高速に出力装置に印字データを供給する構成を構築することが可能な印刷データ処理装置を提供することを可能とした。また、PCで中間データを生成し専用ハードウェアで中間データを展開処理するシステム構成において、PCの処理負荷を最小にする印刷データ処理装置を提供することを可能とした。
【0097】
また、本発明の印刷データ処理装置によれば、出力装置のC,M,Y,Bk印字に合わせた色変換処理を専用ハードウェアの展開処理手段に含めた構成が可能となるため、PCの中間データ生成処理の負荷をさらに小さくすることが可能となる。
【0098】
さらに、本発明の印刷データ処理装置の一実施態様によれば、出力装置は出力速度可変に構成されており、中間データ転送リソースが制限されたリソースの場合、中間データ転送回数の増加に応じて、出力装置の出力速度を低下させることにより、印字データを欠落することなく出力することが可能となる。
【図面の簡単な説明】
【図1】 本発明の印刷データ処理装置の原理構成を示すブロック図である。
【図2】 印字位置の差を吸収する量の中間データ用メモリを専用ハードウェアに持たせる方式の説明図である。
【図3】 印字位置の差に対応したPC内の中間データメモリをC,M,Y,Bk各色毎に印字位置の差によりデータの異なるR,G,Bデータを毎回アクセスし、専用ハードウェアに転送する方式の説明図である。
【図4】 本発明の印刷データ処理装置の中間データ転送・記憶制御手段による第2記憶手段の記憶構成および中間データの転送の説明図である。
【図5】 本発明の印刷データ処理装置全体が実装されるハードウェアの構成例である。
【図6】 専用ハードウェアの構成例である。
【図7】 タンデム方式のカラーページプリンタの構成例である。
【図8】 中間データ生成手段の構成例を示すブロック図である。
【図9】 台形データを説明する図である。
【図10】 バンド分割手段の構成例を示すブロック図である。
【図11】 台形データのバンド境界での分割を説明する図である。
【図12】 台形データのデータ表現の一例を説明する図である。
【図13】 本発明の印刷データ処理装置における第2記憶手段の構成例を示すブロック図である。
【図14】 ブロックバッファ部に1バンド毎に中間データを保持した場合の中間データ転送の一例を説明する図である。
【図15】 本発明の印刷データ処理装置における中間データ転送・記憶制御手段の構成例を示すブロック図である。
【図16】 展開処理手段の構成例を示すブロック図である。
【図17】 台形データ処理部の構成例を示すブロック図である。
【図18】 展開処理手段での台形データ描画を説明する図である。
【図19】 座標計算部の構成例を示すブロック図である。
【図20】 エッジ描画部の構成例を示すブロック図である。
【図21】 画像データ処理部の構成例を示すブロック図である。
【図22】 色変換部の構成例を示すブロック図である。
【図23】 三角柱補間演算を説明する図である。
【図24】 最近傍補間演算を説明する図である。
【図25】 本発明の印刷データ処理装置の他の原理構成を示すブロック図である。
【図26】 実施例2の中間データ転送・記憶制御手段の構成例を示すブロック図である。
【符号の説明】
1 印刷データ
2 入力手段
3 中間データ生成手段
4 バンド分割手段
5 第1記憶手段
6 転送手段
7 第2記憶手段
8 展開処理手段
9,11 中間データ転送・記憶制御手段
10 出力装置
12 出力速度可変の出力装置
21 PC
23 ネットワーク
24 CPU
25 メモリコントローラ
26 DRAM
27 システムバスコントローラ
28 ネットワークインタフェース
29 磁気ディスク
31 CPUバス
32 システムバス
34 シリアルバスインタフェース
35 高速シリアルバス
36 専用ハードウェア
37 印字装置
41 シリアルバスインタフェースLSI
42 メモリ制御LSI
43 DRAM
44 中間データLSI
45 台形データ処理LSI
46 画像処理LSI
47 DRAM
48 ビデオインタフェースLSI
301 字句解釈部
302 トークン解釈部
303 命令実行部
304 描画状態記憶部
305 画像処理部
306 ベクタデータ生成部
307 フォント管理部
308 マトリックス変換部
309 ショートベクタ生成部
310 台形データ生成部
701 メモリ制御部
702 メモリ部
703 バンドバッファ部
704 ブロックバッファ部
801 中間データ制御部
802 台形データ処理部
803出力バッファメモリ部
804 画像データ処理部
901 中間データ量評価部
902 メモリ構成決定部
903 メモリ構成・データ転送順序指示部
8021 中間データ入力部
8022 座標計算部A
8023 座標計算部B
80221 DDAパラメータ計算部
80222 DDA処理部
80223 座標更新部
80241 アドレス計算部
80242 マスク演算部
80243 データ演算部
80244 RmodW処理部
8031 色変換部
8032 解像度変換部
80311 3次元補間演算処理部
80312 3次元ルックアップテーブル
1201 出力装置速度指示部
Claims (8)
- 所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理装置であって、
印刷データを入力する入力手段と、
前記入力手段に入力された印刷データを解析して中間データを生成する中間データ生成手段と、
前記中間データを所定の大きさのバンド単位の中間データに分割するバンド分割手段と、
前記バンド分割手段によって分割されたバンド単位の中間データを少なくとも1ページ分記憶する第1記憶手段と、
前記第1記憶手段から順次出力されるバンド単位の中間データを入力し記憶する第2記憶手段であり、前記バンド単位の入力中間データを順次更新するバンドバッファ領域と、前記バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とを有する第2記憶手段と、
前記第1記憶手段から前記第2記憶手段へ中間データを転送する転送手段と、
前記第2記憶手段に記憶された中間データをバンド毎に読み出して前記出力装置で出力可能なデータ構造に展開する展開処理手段と、
前記第1記憶手段に記憶されるバンド単位の中間データのデータ量に基づいて、前記第2記憶手段中の前記ブロックバッファ領域のメモリ領域の分割を実行し、該分割されたブロックバッファメモリ領域の分割態様に基づいて前記第1記憶手段から前記第2記憶手段への中間データ転送を制御する中間データ転送・制御手段と、
を有することを特徴とする印刷データ処理装置。 - 前記中間データ転送・制御手段は、前記第1記憶手段に記憶されるバンド単位の中間データのデータ量中、最大の中間データ量を有するバンドの中間データを記憶可能な容量に基づいて前記第2記憶手段中の前記ブロックバッファ領域のメモリ領域分割を実行することを特徴とする請求項1記載の印刷データ処理装置。
- 前記中間データ転送・制御手段は、前記第2記憶手段における中間データ記憶構成に基づいて、前記転送手段において実行される前記第1記憶手段から前記第2記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする請求項1乃至2いずれかに記載の印刷データ処理装置。
- 前記中間データ転送・制御手段は、前記第2記憶手段中の前記ブロックバッファ領域のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて前記第1記憶手段から前記第2記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする請求項3記載の印刷データ処理装置。
- 前記展開処理手段は、中間データに含まれる個々の画素の色を定量的に表す複数の色データから、出力装置の複数の印字装置の記録色に対応した色データに変換する色変換処理を含むことを特徴とする請求項1乃至4いずれかに記載の印刷データ処理装置。
- 前記第2記憶手段は、文字・図形の描画命令に対する中間データのための記憶手段と画像の描画命令に対する中間データのための記憶手段とを備え、少なくとも前記画像の描画命令に対する中間データのデータ量に基づいて、画像の描画命令に対する中間データのための記憶手段の記憶構成が制御されることを特徴とする請求項1乃至5いずれかに記載の印刷データ処理装置。
- 前記出力装置は出力速度可変に構成されており、前記バンド単位の中間データのデータ量に基づいて、出力速度が決定されることを特徴とする請求項1乃至6いずれかに記載の印刷データ処理装置。
- 所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理方法であって、
印刷データを入力する入力ステップと、
前記入力ステップにおいて入力された印刷データを解析して中間データを生成する中間データ生成ステップと、
前記中間データを所定の大きさのバンド単位の中間データに分割するバンド分割ステップと、
前記バンド分割ステップにおいて分割されたバンド単位の中間データを少なくとも1ページ分、第1記憶手段に記憶する第1記憶ステップと、
前記第1記憶手段から順次出力されるバンド単位の中間データを記憶する第2記憶手段内のブロックバッファ領域の領域分割を実行するメモリ分割ステップと、
ブロックバッファ領域の分割態様に基づいて、前記第1記憶手段から前記第2記憶手段への中間データの転送制御を実行して、前記第1記憶手段から前記第2記憶手段へ中間データを転送する転送ステップと、
前記第1記憶手段から順次出力されるバンド単位の中間データを前記第2記憶手段に記憶する第2記憶ステップであり、前記バンド単位の入力中間データを順次更新するバンドバッファ領域と、前記バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とに区分して記憶する第2記憶ステップと、
前記第2記憶手段に記憶された中間データをバンド毎に読み出して前記出力装置で出力可能なデータ構造に展開する展開処理ステップと、
を有することを特徴とする印刷データ処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33002597A JP3671633B2 (ja) | 1997-12-01 | 1997-12-01 | 印刷データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33002597A JP3671633B2 (ja) | 1997-12-01 | 1997-12-01 | 印刷データ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11157143A JPH11157143A (ja) | 1999-06-15 |
| JP3671633B2 true JP3671633B2 (ja) | 2005-07-13 |
Family
ID=18227944
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33002597A Expired - Fee Related JP3671633B2 (ja) | 1997-12-01 | 1997-12-01 | 印刷データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3671633B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2803414B1 (fr) * | 1999-12-29 | 2003-05-16 | Sagem | Procede d'impression laser d'une image couleur |
| JP3421298B2 (ja) | 2000-03-14 | 2003-06-30 | 友也 太田 | 建物用内部階段およびその建造方法 |
-
1997
- 1997-12-01 JP JP33002597A patent/JP3671633B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11157143A (ja) | 1999-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3826038B2 (ja) | 印刷システム及びその印刷方法並びに印刷装置 | |
| US6100998A (en) | Print processor with efficient memory use | |
| JPH111029A (ja) | カラープリントシステム,カラープリンタ,及びコンピュータが実行可能なプログラムを格納したコンピュータが読取可能な記録媒体 | |
| JP3962606B2 (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム | |
| EP0575134B1 (en) | Method and apparatus for printing according to a graphic language | |
| JP3885282B2 (ja) | 印刷データ処理装置および印刷データ処理方法 | |
| JP4103164B2 (ja) | 印刷処理装置 | |
| JPH10129050A (ja) | 印刷処理装置 | |
| JP2006159738A (ja) | 印刷制御装置およびそのデータ処理方法並びに記憶媒体。 | |
| JPH11157143A (ja) | 印刷データ処理装置 | |
| JPH10147019A (ja) | 印刷処理装置 | |
| JP2002067399A (ja) | 印刷制御装置 | |
| JP3640133B2 (ja) | 印刷処理装置 | |
| JP3700363B2 (ja) | 印刷処理装置 | |
| JP3755265B2 (ja) | 印刷処理装置 | |
| JP3864535B2 (ja) | 印刷処理装置および印刷処理方法 | |
| JPH10157217A (ja) | 印刷処理装置 | |
| JPH10151815A (ja) | 印刷処理装置 | |
| JPH0691990A (ja) | プリンタ制御方法およびその制御システム | |
| JP2001096854A (ja) | 印刷処理装置および印刷処理方法 | |
| JPH10305639A (ja) | 印刷処理装置および印刷処理方法 | |
| JPH10157216A (ja) | 印刷処理装置 | |
| JP3843290B2 (ja) | 印刷装置 | |
| JP4037417B2 (ja) | 印刷装置 | |
| JPH11144062A (ja) | 印刷処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050104 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050302 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050329 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050411 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080428 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090428 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100428 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110428 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |
