Nothing Special   »   [go: up one dir, main page]

JP3671633B2 - Print data processing device - Google Patents

Print data processing device Download PDF

Info

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
Application number
JP33002597A
Other languages
Japanese (ja)
Other versions
JPH11157143A (en
Inventor
康二 足立
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP33002597A priority Critical patent/JP3671633B2/en
Publication of JPH11157143A publication Critical patent/JPH11157143A/en
Application granted granted Critical
Publication of JP3671633B2 publication Critical patent/JP3671633B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は印刷データ処理装置に関する。さらに詳細には、用紙に対して同時に印字可能な複数の印字装置が処理用紙の搬送経路に沿って配列された所謂タンデム方式のカラーページプリンタに印字データを供給する印刷データ処理装置に関するものである。
【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】

Figure 0003671633
【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】
Figure 0003671633
【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】
Figure 0003671633
【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】
Figure 0003671633
【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)
ただし
Figure 0003671633
【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 出力装置速度指示部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print data processing apparatus. More specifically, the present invention relates to a print data processing device that supplies print data to a so-called tandem color page printer in which a plurality of printing devices capable of simultaneously printing on paper are arranged along a conveyance path of processing paper. .
[0002]
[Prior art]
With the development of a small, high-speed electrophotographic color page printer suitable for digital printing, images (photographs), graphics, characters, etc., which have taken off from conventional text information-oriented printing, are handled in the same way. In general, a print data processing apparatus using a description language that can freely control expansion, rotation, deformation, and the like has been widely used. Representative examples of this description language include PostScript (trademark of Adobe Systems), Interpress (trademark of Xerox), Acrobat (trademark of Adobe Systems), GDI (trademark of Graphics Devices Interface, Microsoft Corporation, etc.).
[0003]
The print information created in the description language consists of images (photographs), graphics, and drawing commands representing arbitrary positions in the page in any order, and is printed by the color page printer according to the present invention. In order to do so, the print information must be rasterized before printing. Rasterization is the process of developing raster scan lines into a series of individual dots or pixels across a page or part of a page, and successively generating scan lines below the page. A conventional page printer rasterizes print data for the entire page before printing and stores it in a page buffer memory. However, a large amount of memory is required to store raster data for the entire page. In particular, the latest electrophotographic color page printer requires raster data corresponding to four color toners of C (Cyan), M (Magenta), Y (Yellow), and Bk (Black), and a monochrome page. Since image quality is required to be higher than that of a printer, it is common to have a plurality of bit information per pixel, and a larger amount of memory is required.
[0004]
In response to this need for a large amount of memory, there is a band memory technology as a technology for reducing memory requirements from the viewpoint of cost reduction. Band memory technology does not rasterize all print data for one page before printing by the page printer, but it is relatively easy to rasterize faster than direct rasterization of print data created in a description language Intermediate data, dividing one page into a plurality of adjacent areas (bands), storing the intermediate data corresponding to each band, and sequentially developing raster data from the first band of the page, This is a technology developed in a buffer memory corresponding to a band.
[0005]
Conventionally, a print data processing apparatus using the band memory technology generally uses dedicated hardware including a CPU (Central Processing Unit), a memory, an ASIC, and the like. In this method, the print data is directly input to dedicated hardware via a network or the like, converted into intermediate data in band units using a CPU of the dedicated hardware, and stored in a memory in the dedicated hardware. After the intermediate data for one page is accumulated, the memory in the dedicated hardware is accessed, and raster data is expanded using the CPU or ASIC of the dedicated hardware. However, with the recent increase in resolution and speed of color page printers and advanced functions of color page printers (for example, network multi-protocol support and multi-description language support), the resources required for dedicated hardware are It's getting bigger and bigger.
[0006]
On the other hand, a method of adding simple dedicated hardware to a PC (personal computer) widely used in offices and driving a color page printer has appeared. In this method, generally, the print data is converted into intermediate data in band units using a CPU of a PC, and then transferred to a memory in dedicated hardware. After the intermediate data for one page is accumulated, the memory in the dedicated hardware is accessed, and raster data is developed using the ASIC of the dedicated hardware. In this method, the hardware resources for generating the intermediate data for the CPU and the network corresponding to the multi-protocol and the multi-description language can be those of the PC, and the additional dedicated hardware resources are It may be small. Regarding this method, JP-A-6-195182 and the like are known. In the print data processing apparatus described in Japanese Patent Laid-Open No. Hei 6-195182, band-divided intermediate data for one page is transferred to a memory in dedicated hardware in a printer connected to a PC via a serial interface or the like. . In this method, considering the case where image (photo) data is input as intermediate data, a large-capacity memory is required as the intermediate data memory in the dedicated hardware.
[0007]
Further, Japanese Patent Application No. 9-138609, which belongs to the same applicant as this application, stores intermediate data in a band unit in a memory in a PC in order to reduce memory resources of dedicated hardware, and raster data by dedicated hardware. A method has been proposed in which the intermediate data memory in the PC is sequentially read for each band during rasterization processing and rasterized into raster data. In the print data processing apparatus described in Japanese Patent Application No. 9-138609, intermediate data for one page divided into bands is stored in a memory in the PC. In this method, since a large-capacity memory installed in the PC can be used as an intermediate data memory for one page, the memory added to the dedicated hardware can be switched alternately for the band, more specifically for the band. Therefore, only two bands are required.
[0008]
On the other hand, from the viewpoint of productivity of a color page printer, a development device corresponding to four colors of C (Cyan), M (Magenta), Y (Yellow), and Bk (Black) is provided, and exposure and development are performed by one printing device. Is repeated for four colors of C, M, Y, and Bk, and then transferred to a sheet of paper and printed at once, compared to the so-called single engine type color page printer system, C, M, Y, A so-called tandem system that has a printing device that supports four colors of Bk, and that performs exposure, development, and paper transfer in each printing device, enabling full-color printing only once the paper passes through the four-color printing device. Color page printers have appeared. As a print data processing apparatus for supplying print data to a tandem color page printer, Japanese Patent Laid-Open No. Hei 8-192542 is well known. In JP-A-8-192542, print information created in a description language is rasterized by one central processing unit, and print data corresponding to four colors of C, M, Y, and Bk is stored in a frame buffer. Thereafter, the data is transferred in parallel for each small block in accordance with the recording speed of the printing apparatus.
[0009]
[Problems to be solved by the invention]
When the raster data is rasterized by the dedicated hardware, the intermediate data memory in the PC is read out band by band and raster raster data is applied to a tandem color page printer. Since it is necessary to supply print data for the same amount of data at the same time, a high-speed data bus and data transfer of intermediate data from the PC to the dedicated hardware are required.
[0010]
Further, unlike the method described in Japanese Patent Laid-Open No. 8-192542 that transfers C, M, Y, Bk data, in order to reduce the load of generating intermediate data on the PC and speed up the print data processing. In the CPU processing of the PC, it is desirable that the color conversion processing for adjusting the C, M, Y, Bk color reproduction characteristics of the printing apparatus, which has a heavy processing load, be processed by dedicated hardware. That is, in the dedicated hardware, for example, when the color signal of the intermediate data is an RGB color space signal, R, G, and B data having different data depending on the printing position are input, and four colors of C, M, Y, and Bk are input. It is necessary to perform color conversion processing for outputting C, M, Y, and Bk color signals corresponding to the pixels of the printing apparatus. Therefore, a mechanism for absorbing the difference in print position is required.
[0011]
To solve the above problem, from the viewpoint of reducing data transfer, there is a method in which dedicated hardware has an intermediate data memory of an amount that absorbs the difference in print position. FIG. 2 shows a configuration diagram of this method. 2 transfers the data for each band stored in the first storage means (PC) to a memory having a capacity for storing intermediate data in an amount that absorbs the difference in print position in the second storage means. The configuration is such that necessary processing such as expansion processing is performed by extracting data from the second storage means. This method requires a large amount of memory for dedicated hardware.
[0012]
In addition, from the viewpoint of reducing the intermediate data memory of the dedicated hardware, the intermediate data memory of the dedicated hardware is limited to two bands for alternately switching the band for each color of C, M, Y, Bk, and printing. An intermediate data memory in the PC corresponding to the difference in position is accessed every time R, G, B data with different data depending on the printing position difference for each color of C, M, Y, Bk and transferred to dedicated hardware. is there. FIG. 3 shows a configuration diagram of this method. In FIG. 3, a memory for two bands is configured as the second storage unit for each print color, and data transfer is executed from the first storage unit to the second storage unit as needed. This method has a problem that it is necessary to transfer data from a PC to dedicated hardware at a very high speed.
[0013]
The present invention has been made in view of the above points, and is a dedicated print data processing apparatus that develops print data for output by a tandem color page printer into a data structure that can be output by a color page printer. Printing that efficiently uses the intermediate data memory resource in hardware and the data transfer resource from the PC to the dedicated hardware according to the contents of the print data, and supplies the print data to the output device at the fastest speed with limited resources An object is to provide a data processing apparatus.
[0014]
It is another object of the present invention to provide a print data processing apparatus that minimizes the processing load of a PC in a system configuration in which intermediate data is generated by a PC and the intermediate data is expanded by dedicated hardware.
[0015]
[Means for Solving the Problems]
  The print data processing apparatus according to the present invention is a print data processing apparatus having a configuration that achieves the above-described object, and converts print data described by a predetermined drawing command to handle recording colors that can be processed in parallel. A print data processing apparatus that supplies print data that can be output by an output device having a plurality of printing devices, an input means for inputting print data, and an intermediate data obtained by analyzing the print data input to the input means Intermediate data generating means for generating the intermediate data, band dividing means for dividing the intermediate data into intermediate data in band units of a predetermined size, and at least one page of intermediate data in band units divided by the band dividing means is stored. 1 storage means and second storage means for inputting and storing intermediate data in band units sequentially output from the first storage meansSecond storage means having a band buffer area for sequentially updating the input intermediate data in band units and a block buffer area for holding the input intermediate data in band units for a predetermined period;, Transfer means for transferring intermediate data from the first storage means to the second storage means, and expansion processing means for reading the intermediate data stored in the second storage means for each band and expanding it into a data structure that can be output by the output device And based on the data amount of intermediate data in band units stored in the first storage means,Division of the memory area of the block buffer area in the second storage means is executed, and intermediate data transfer from the first storage means to the second storage means is controlled based on the division mode of the divided block buffer memory areaIntermediate data transfer / control means.
[0017]
Further, in the print data processing apparatus of the present invention, the intermediate data transfer / control unit can store the intermediate data of the band having the maximum intermediate data amount among the data amount of the intermediate data stored in the first storage unit in the band unit. The memory area division of the block buffer area in the second storage means is executed based on the capacity.
[0018]
Further, in the print data processing apparatus of the present invention, the intermediate data transfer / control unit is configured to perform intermediate data transfer from the first storage unit to the second storage unit executed in the transfer unit based on the intermediate data storage configuration in the second storage unit. It has the structure which determines the data transfer order of transfer.
[0019]
Further, in the print data processing apparatus according to the present invention, the intermediate data transfer / control unit includes the first storage unit based on a table in which the memory area division configuration of the block buffer area in the second storage unit is associated with the intermediate data transfer order. The data transfer sequence of the intermediate data transfer from the storage device to the second storage means is determined.
[0020]
Further, in the print data processing apparatus according to the present invention, the expansion processing means selects a color corresponding to the recording colors of the plurality of printing devices of the output device from the plurality of color data quantitatively representing the color of each pixel included in the intermediate data. It includes a color conversion process for converting data.
[0021]
Further, in the print data processing apparatus of the present invention, the second storage means includes storage means for intermediate data for a character / graphic drawing command and storage means for intermediate data for an image drawing command. The storage configuration of the storage unit for the intermediate data for the image drawing command is controlled based on the data amount of the intermediate data for the drawing command.
[0022]
  Furthermore, in the print data processing apparatus of the present invention, the output device is configured to be variable in output speed, and the output speed is determined based on the data amount of intermediate data in band units.
  Furthermore, the print data processing method of the present invention can convert print data described by a predetermined drawing command, and output it in an output device having a plurality of printing devices corresponding to recording colors capable of parallel printing processing. A print data processing method to be supplied as print data, comprising: an input step for inputting print data; an intermediate data generation step for analyzing the print data input in the input step to generate intermediate data; A band dividing step for dividing the data into band-sized intermediate data, a first storage step for storing in the first storage means at least one page of the band-based intermediate data divided in the band dividing step, and a first storage Area of the block buffer area in the second storage means for storing intermediate data in band units sequentially output from the means Based on the memory partitioning step for executing the block buffer area and the partition mode of the block buffer area, the intermediate data transfer control from the first storage means to the second storage means is executed, and the intermediate storage from the first storage means to the second storage means is performed. A band buffer area for sequentially transferring the band-unit input intermediate data, a transfer step for transferring data, and a second storage step for storing the band-unit intermediate data sequentially output from the first storage unit in the second storage unit A second storage step for storing the input intermediate data in band units into block buffer areas for holding for a predetermined period, and reading out the intermediate data stored in the second storage means for each band and outputting them by the output device And a development processing step for developing the data structure into a possible data structure.
[0023]
In the print data processing apparatus of the present invention having the above-described configuration, print data described by a predetermined drawing command is input via a network or a PC (personal computer) that performs print processing. From the print data input to the PC or the like, predetermined intermediate data is generated by an intermediate data generation unit executed by the CPU of the PC. The intermediate data, which will be described in detail later, is intermediate-stage data for expanding input print data into data that can be printed by the printing apparatus. The intermediate data generated by the intermediate data generating means is similarly divided at a predetermined band boundary by the band dividing means executed by the CPU of the PC, and stored in the first storage means of the PC for each band. The stored intermediate data is evaluated by the intermediate data transfer / storage control means executed by the CPU of the PC at least with respect to the intermediate data amount for each band with respect to the image rendering command. Based on the evaluated intermediate data amount, the second intermediate data amount is stored. The storage configuration of the storage means and the transfer order of the intermediate data are controlled. The intermediate data transferred to the second storage means is read according to the output of the output device by the dedicated hardware development processing means, developed into raster data, and printing is executed.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a specific configuration of the print data processing apparatus of the present invention will be described with reference to the drawings showing a plurality of embodiments.
[0025]
[Example 1]
FIG. 1 is a block diagram showing the principle configuration of a print data processing apparatus according to the present invention. In the figure, a print data processing apparatus according to the present invention includes a print data input means 2 for inputting print data 1, an intermediate data generation means 3, a band dividing means 4, a first storage means 5, a transfer means 6, It comprises second storage means 7, expansion processing means 8, and intermediate data transfer / storage control means 9. The data processed by the expansion processing means 8 is output to the print output device 10 for print processing. Details of each means will be described below.
[0026]
The print data input means 2 is for inputting print data 1 generated by a PC on which the present print data processing apparatus is mounted or a PC connected to the PC on which the present print data processing apparatus is mounted via a network. This is provided with a communication function and a function for temporarily storing the print data 1 until it is output to the intermediate data generating means 3. The target description language in the present embodiment is, for example, GDI, but may be a page description language represented by PDF (Portable Document Format) represented by Acrobat or PostScript.
[0027]
The intermediate data generation unit 3 cuts out the print data 1 input from the print data input unit 2 as a token according to the syntax of a predetermined description language, executes a drawing command, and generates intermediate data. The intermediate data targeted in this embodiment is trapezoid list data for each drawing object having, for example, a trapezoid as a basic graphic element. More specifically, the intermediate data includes management information for managing the intermediate data, additional information including color information indicating the color of the trapezoid data, and trapezoid list data representing an area for each drawing object. Composed. Further, the additional information is different from that for a drawing command for a character / graphic element and that for an image element.
[0028]
The band dividing unit 4 divides the intermediate data at a predetermined band boundary in order to convert the intermediate data for each drawing object generated by the intermediate data generating unit 3 into raster data by the expansion processing unit 8 and output it by the output device 10 in band units. To do. The intermediate data generated for each band through the intermediate data generating unit 3 and the band dividing unit 4 is stored in the first storage unit 5 for each page.
[0029]
The first storage means 5 stores the intermediate data divided in band units by the band dividing means 4 in page units, and transfers the intermediate data in band units to the second storage means 7 in response to a request from the expansion processing means 8. Is an intermediate data buffer. The intermediate data stored in the first storage means 5 is intermediate data continuously output by the output device 10 and is intermediate data corresponding to the print data of all pages or a part of the input print data. Yes, intermediate data corresponding to at least one page of print data is included.
[0030]
The transfer unit 6 transfers the band unit intermediate data stored in the first storage unit 5 to the second storage unit 7 according to the order determined by the intermediate data transfer / storage control unit 9.
[0031]
The second storage means 7 includes a storage area that holds intermediate data input in band units for a predetermined period, and a storage area that sequentially updates the intermediate data input in band units. The size and configuration are controlled by the intermediate data transfer / storage control means 9. More specifically, the storage area for holding the intermediate data for a predetermined period is for absorbing the difference in the printing positions of the C, M, Y, and Bk printing apparatuses of the tandem color page printer. However, the number of bands to be held is increased or decreased according to the amount of intermediate data to be printed out. The intermediate data in the storage area held for a predetermined period is transferred to the storage area where the intermediate data is sequentially updated instead of the intermediate data held from the first storage means being transferred. The storage area for sequentially updating the intermediate data is a so-called input buffer for performing expansion processing in band units by the subsequent expansion processing means 8 and is constituted by a double buffer. In this embodiment, the storage area for sequentially updating the intermediate data is fixed, the storage area for holding the intermediate data for a predetermined period is variable, and the size of the storage area is determined according to the amount of intermediate data to be printed out. However, the storage area for holding the intermediate data for a predetermined period and the storage area for sequentially updating the intermediate data may be variable.
[0032]
The expansion processing unit 8 reads the intermediate data stored in the second storage unit 7 in band units, and expands the print data (raster data) in the output buffer memory in the expansion processing unit 8. The output buffer memory in the expansion processing means 8 is provided in a double buffer configuration. While the print data is being expanded in one output buffer memory, the print data stored in the other output buffer memory is output from the output device 10. In response to the print data request of each printing apparatus, the printing apparatus is configured to output to each printing apparatus.
[0033]
The intermediate data transfer / storage control means 9 evaluates the data amount of the intermediate data printed out and stored in the first storage means 5, and determines the size and configuration of the storage area of the second storage means 7 as described above. In addition to controlling, the band order of the intermediate data transferred from the first storage means 5 to the second storage means 7 is controlled.
[0034]
Here, an outline of the intermediate data transfer and control executed by the intermediate data transfer / storage control means 9 of the print processing apparatus of the present invention is shown as an intermediate data storage configuration and intermediate data transfer in the second storage means 7 shown in FIG. An example will be described. In FIG. 4, storage of intermediate data in the first storage means is performed in band units. Part of the intermediate data stored in the first storage means is transferred to the “area for holding intermediate data for a predetermined period: block buffer” in the second storage means, and part of the intermediate data is directly updated to “intermediate data update area sequentially”. : Band buffer ". These memory area configurations shown in FIG. 4 will be described in detail later, but correspond to the block buffer unit 704 and the band buffer unit 703 shown in FIG. The intermediate data transferred to the “area for holding intermediate data for a predetermined period” in FIG. 4 is transferred to the “area for sequentially updating intermediate data” as necessary. The data transferred to the “region in which intermediate data is sequentially updated” is transferred to the development processing hardware (HW) unit, subjected to sequential development processing, and after completion of the development processing, print processing is executed.
[0035]
As shown in FIG. 4, the “storage area for holding intermediate data for a predetermined period” and the “area for sequentially updating intermediate data” are configured in the second storage means, so that the first storage means to the second storage means. The number of data transfers can be reduced. This specific data transfer method will be described in detail later with reference to FIGS. Further, by configuring the “region for holding the intermediate data for a predetermined period” and the “region for sequentially updating the intermediate data” in the second storage unit in this way, the intermediate amount with respect to the memory amount of the second storage unit When the amount of data is small, the number of transfers of the intermediate data is reduced, and when the amount of intermediate data is larger than the amount of memory of the second storage means, the number of transfers is increased according to the amount of data of the intermediate data. be able to. Therefore, in order to minimize the intermediate data transfer from the first storage means to the second storage means of the PC, which consumes a large amount of resources for data transfer of the PC, according to the memory amount of the second storage means and the data amount of the intermediate data. The load on the PC can be reduced.
[0036]
The output device 10 includes four color printing devices of C, M, Y, and Bk, receives print data output from the output buffer memory of the expansion processing means 8 for each printing device, prints it on recording paper, and outputs it. This is a tandem color laser printer. FIG. 7 shows a configuration example of a tandem color page printer. In FIG. 7, the tandem color laser printer includes printing devices corresponding to recording colors, that is, a black data printing device 37, a yellow data printing device 37 ′, a magenta data printing device 37 ″, and a cyan data printing device 37 ″. ', A conveyance belt 52 that conveys the recording paper 51, a fixing device 53, and the like. Each of the printing devices includes a photosensitive drum 371, a charger 372, a laser scanning device 373, a developing device 374 corresponding to a recording color, a transfer device 375, and the like, as representatively shown in the rightmost printing device in FIG. It is configured. The laser scanning device 373 includes an infrared semiconductor laser, a lens, and a polygon mirror, and scans the photosensitive drum 371 as spot light of several tens of μm. The photosensitive drum 371 is charged by a charger 372, and an electrostatic latent image is formed by an optical signal. The latent image becomes a toner image by two-component magnetic brush development on the developing device 374 corresponding to the recording color, and is transferred onto the recording paper 51 by the transfer device 375. This process is repeated in the order of Black, Yellow, Magenta, and Cyan to perform multiple transfer on the recording paper. Finally, the recording paper is peeled off from the conveying belt 52 and the toner is fixed by the fixing device 53.
[0037]
Next, an implementation form of the present embodiment will be described. FIG. 5 is a hardware configuration example in which the entire print data processing apparatus of the present embodiment is mounted. 5, the present embodiment includes a PC (personal computer) 21, a network 23 to which the PC 21 is connected, dedicated hardware 36, a high-speed serial bus 35 that connects the PC 21 and dedicated hardware 36, and the output device 10. It consists of and.
[0038]
The network 23 is, for example, Ethernet, and the print data 1 is input from a PC or workstation (not shown) via the network 23.
[0039]
The PC 21 includes a CPU (Central Processing Unit) 24, a memory controller 25, a DRAM 26, a system bus controller 27, a network interface 28, a magnetic disk 29, a CPU bus 31, and a system bus 32. It is general. The system bus 32 is, for example, a PCI (Peripheral Compact Interconnect) bus, and is capable of high-speed data transfer.
[0040]
The high-speed serial bus 35 is, for example, an IEEE 1394 high-performance serial bus. By providing the IEEE 1394 high-performance serial bus, intermediate data transfer between the PC 21 and the dedicated hardware can be performed at a constant speed in the isochronous transfer mode.
[0041]
The PC 21 is provided with functions corresponding to the print data input unit 2, the intermediate data generation unit 3, the band division unit 4, the first storage unit 5, and the intermediate data transfer / storage control unit 9 of this embodiment. For example, the magnetic disk 29 includes a storage area for a predetermined program for each process of the print data input unit 2, the intermediate data generation unit 3, the band division unit 4, the transfer unit 6, and the intermediate data transfer / storage control unit 9, Used as a print data storage area of the print data input means 2. The DRAM 26 is used as a work area for each process of the intermediate data generation means 3, band division means 4, transfer means 6, intermediate data transfer / storage control means 9 and a memory area of the first storage means 5. Further, the CPU 31 executes predetermined program processes for the print data input unit 2, the intermediate data generation unit 3, the band division unit 4, the transfer unit 6, and the intermediate data transfer / storage control unit 9.
[0042]
FIG. 6 shows a configuration example of the dedicated hardware 36. In FIG. 6, the dedicated hardware 36 includes, for example, a serial bus interface 41, a memory control LSI 42 that controls the memory configuration of the second storage unit based on an instruction from the intermediate data transfer / storage control unit 9, and a memory of the second storage unit. DRAM 43 to be provided, intermediate data control LSIs 44 to 44 '' 'for reading intermediate data for decompression processing from DRAM 43 and distributing them to trapezoidal data processing and image processing, and trapezoidal data processing LSI 45 for decompressing from trapezoidal data to raster data And image processing LSI 46 for executing image processing such as color conversion and resolution conversion, DRAM 47 for output buffer memory, and output buffer memory raster data to each printing device 37 to 37 ′ ″ of output device 10 Video interface LSI 48 for Are al configuration. As shown in FIG. 6, four sets of intermediate data control LSIs 44 to 44 ″ ″ to video interface LSIs 48 are provided corresponding to the respective printing devices 37 to 37 ″ ″.
[0043]
The outline and implementation form of the print data processing apparatus to which the present invention is applied have been described above. Details of the main part of the present invention will be described below.
[0044]
First, details of intermediate data generation and band division in the print data processing apparatus will be described.
[0045]
As shown in FIG. 8, the intermediate data generation unit 3 includes a lexical interpretation unit 301, a token interpretation unit 302, an instruction execution unit 303, a drawing state storage unit 304, an image processing unit 305, and a vector data generation unit 306. A font management unit 307, a matrix conversion unit 308, a short vector generation unit 309, and a trapezoid data generation unit 310.
[0046]
The lexical analysis unit 301 cuts out a print information file input from the print data input unit as a token according to a defined description language syntax, and outputs the cut-out token to the token interpretation unit 302.
[0047]
The token interpretation unit 302 interprets the token input from the lexical analysis unit 301, converts the token into an internal instruction and its argument, and transfers the combination of the internal instruction and the argument to the instruction execution unit 303. For example, the internal commands include a drawing command for drawing characters / graphics / images, and a drawing status command for setting necessary information such as colors and line attributes.
[0048]
The instruction execution unit 303 executes the internal instruction sent from the token interpretation unit 302. The commands executed here are mainly a drawing command and a drawing state command. For example, there are three types of drawing commands as shown in Table 1 below, and information necessary for each drawing is shown. Among these, information with an underline is given as an argument in the drawing command, and other information is stored in the drawing state storage unit 304 in advance by initial setting, preceding commands, or the like. In the execution of the drawing command, the received drawing command is transferred to the vector data generation unit 306 as it is except for image drawing. In the case of image drawing, the received drawing command is transferred to the image processing unit 305 and the vertical and horizontal sizes of the image header are transferred to the vector data generation unit 306. As for the drawing state command, the command is transferred to the drawing state storage unit 304.
[0049]
[Table 1]
Figure 0003671633
[0050]
The image processing unit 305 affine-transforms the input image header and the input image data, which are arguments of the command input from the command execution unit 303, using the conversion matrix acquired from the drawing state storage unit 304, and the color of the input image Processing such as color space conversion for converting the space into a color space that does not depend on the color space of the input / output device is performed, and an output image header and output image data are generated and transferred to the band dividing means. Further, as a processing function of the image processing unit 305, in order to reduce intermediate data, compression processing may be performed on the image data and decompression processing may be performed by the dedicated hardware 36. As compression processing for still images, for example, JPEG compression is common.
[0051]
The drawing state storage unit 304 sets the values for the information with no underline shown in Table 1, for example, as argument values included in the command received from the command execution unit 303, and stores them. Further, these values are transferred in accordance with requests from the image processing unit 305, vector data generation unit 306, matrix conversion unit 308, short vector generation unit 309, band dividing means 4 (see FIG. 1), and the like.
[0052]
The vector data generation unit 306 generates vector data for new drawing, excluding fill drawing, using the command and argument sent from the command execution unit 303 and the value of the drawing state storage unit 304. First, the case of character drawing will be described. The character code given by the argument and the font ID acquired from the drawing state storage unit are transferred to the font management unit, and the outline data of the character is acquired. Since the acquired outline data does not include the drawing origin (current point) information, the target vector data is generated by adding the offset of the current point acquired from the drawing state storage unit 304 to the outline data. In the case of image drawing, a rectangular vector is generated from the vertical and horizontal sizes of the image header given by the argument, and the target vector data is obtained by adding the offset of the current point acquired from the drawing state storage unit 304. Generate. In the case of stroke drawing, an outline vector of a line having a thickness is generated from the vector given by the argument and various line attributes acquired from the drawing state storage unit 304. The vector generated in this way (the vector directly received from the instruction execution unit 303 in the case of filled drawing) is transferred to the matrix conversion unit 308.
[0053]
The font management unit 307 stores outline vector data for various fonts, and provides outline vector data for the character according to a given character code and font ID.
[0054]
The matrix conversion unit 308 affine-transforms the vector data received from the vector data generation unit 306 using the conversion matrix acquired from the drawing state storage unit 304. The main purpose of this affine transformation is to convert from application resolution (coordinate system) to printer resolution (coordinate system). A 3 × 3 matrix as shown in the following formula (1) is used as the transformation matrix, and the input vector data (Xn, Yn) is converted into output vector data (Xn ′, Yn ′) and sent to the short vector generation unit 309. Sent.
[0055]
[Expression 1]
Figure 0003671633
[0056]
When there is a curved vector in the input vector, the short vector generation unit 309 selects a plurality of curved vectors so that the error is smaller than the flatness value acquired from the drawing state storage unit 304. Approximate with the short vector. For example, a Bezier curve represented by four control points is used for a curve vector. In this case, the short vectorization process recursively divides the Bezier curve, and ends the division when the height becomes smaller than a value given by flatness. The short vectorization is completed by connecting the start point and end point of each divided Bezier curve in order. The generated short vector is sent to the band dividing means 4.
[0057]
The trapezoid data generation unit 310 generates a set of trapezoid data (which may be a triangle but the data structure is the same as a trapezoid) indicating a drawing area from the input vector data. For example, in the polygonal vector indicated by the bold line shown in FIG. 9A, the drawing area is indicated by four trapezoids. This trapezoid is a trapezoid having two sides parallel to the scan line of the output device, and one trapezoid is 6 of (sx, sy, x0, x1, x2, h) as shown in FIG. It is expressed by one data. The generated trapezoid is sent to the band dividing means 4.
[0058]
FIG. 10 shows the configuration of the band dividing means 4 of FIG. As shown in FIG. 10, the band dividing unit 4 includes a band decomposing unit 401 and an intermediate data managing unit 402. The band decomposing unit 401 divides trapezoid data spanning a plurality of bands among the input trapezoid data into trapezoid data for each band, and transfers the trapezoid data to the intermediate data management unit 402 for each band. For example, in FIG. 11, four trapezoid data (divided by the thick broken line on the left in FIG. 11) are divided into six trapezoid data (the right diagram in FIG. 11) by the band decomposition unit.
[0059]
The intermediate data management unit 402 generates intermediate data by adding additional information to the trapezoidal data input for each band, and performs processing for writing the intermediate data to the first storage unit 5 for each band. The additional information is management information for managing the intermediate data and color information indicating the color of the trapezoid data. Management information for a character / graphic drawing command is data of an object ID, an object type, and the number of trapezoids. For example, RGB values are color information. As shown in FIG. 12A, these data are added before the trapezoidal data for each band generated by the drawing command. The management information for the image drawing command is the same as the character / graphic, but the color information is the image header and the image data. As shown in FIG. 12B, one image header and one image data are added to each of the trapezoid data for each band generated by the drawing command. The image data may be stored in a compressed form, and the presence or absence of compression processing is included in the image header. Each of the above intermediate data is collected for each recording color and for each band, and data representing EOD (End Of Data) is added to the final data of each band to clarify the end of the band data.
[0060]
Next, the data transfer from the first storage means 5 to the second storage means 7 in the block diagram of FIG. 1 and the intermediate data transfer / storage control means 9 for controlling them will be described.
[0061]
FIG. 13 shows a configuration example of the second storage means 7. In FIG. 13, the second storage means 7 includes a memory control unit 701 and a memory unit 702 for controlling the memory configuration and data transfer between the memories, and the memory unit 702 sequentially updates intermediate data as described above. Storage area (band buffer unit 703) and a storage area (block buffer unit 704) for holding intermediate data for a predetermined period. The band buffer unit 703 is secured as a fixed area, and the block buffer unit 704 as a variable area. The storage configuration of the intermediate data is controlled by the memory control unit 701. The memory control unit 701 and the memory unit 702 correspond to the memory control LSI 42 and the DRAM 43 in FIG. The band buffer unit 703 is composed of four sets corresponding to the four color printing devices of C, M, Y, and Bk, and each is an intermediate data buffer having a double buffer configuration. Accordingly, when intermediate data is output from one intermediate data buffer, intermediate data of the next band is input from the first storage means 5 or the block buffer unit 704 to the other intermediate data buffer. (See FIG. 4).
[0062]
Further, intermediate data of print data consisting only of characters and figures is as small as 3 Mbytes at maximum for even one page of very complicated print data. When designing a memory amount, only image data may be considered. For example, assuming that the maximum resolution of image data stored as intermediate data is 300 dpi, RGB each color is 8 bits, the recording size of the printer 22 is A3 size (about 300 mm × about 420 mm), the number of band divisions is 64, and no compression is performed. The memory size of the band buffer unit 703 is about 6.6 Mbytes as shown in the following equation.
[0063]
[Expression 2]
Figure 0003671633
[0064]
From the above formula, the memory size of the band buffer unit 703 is 6.6 MBytes as a whole, 1.65 MBytes (6.6 [MByte] ÷ 4) for each color, and about 0.82 MBytes (1.65 [MByte] ÷ 2) for each band. ) Is understood. On the other hand, the block buffer unit 704 does not take a fixed area (approximately 0.82 MByte) as the size of one band, but changes the size of one band according to input image data. In addition, the number of bands stored for a predetermined period is increased as much as possible with a limited amount of memory. For example, if the resolution of the image data included in the input print data is 150 dpi, and the main scanning direction of the image (the recording size is 300 mm in Equation 2 above) is 75 mm, the size for one band is as described above. Compared with the case of the formula (2), it becomes 1/16 as shown in the following formula (3).
[0065]
[Equation 3]
Figure 0003671633
[0066]
Further, assuming that the maximum difference of the four color printing devices of C, M, Y, and Bk is 60 bands under the condition that the resolution of the image data is 150 dpi and the main scanning direction size of the image is 75 mm, the following equation ( As shown in 4), if the block buffer unit 704 holds about 3.1 MByte of memory, it is possible to hold intermediate data sequentially.
[0067]
[Expression 4]
0.82 [MByte] x 60 [band] x 1/16 [ratio of required memory amount]
= 3.1 [MByte]. . . . . (4)
[0068]
As described above, if the intermediate data can be held sequentially, the data transfer from the first storage means 5 to the second storage means 7 is always required only once per band. Less influence. Therefore, by increasing the intermediate data held in the block buffer unit 704, data transfer from the first storage unit 5 to the second storage unit 7 can be reduced. As described above, the number of times of data transfer from the first storage unit 5 to the second storage unit 7 is reduced by changing the amount of intermediate data transferred to the block buffer unit 704 in the second storage unit. It becomes possible to control.
[0069]
FIG. 14 is a diagram for explaining an example of intermediate data transfer when intermediate data is held for each band in the block buffer unit 704. In FIG. 14, the maximum difference (C to Bk) between the print positions of C, M, Y, and Bk is set to 10 bands for convenience of illustration, but the present invention can be applied even if the print position shift is another value. The effect of the configuration of the print data processing apparatus on the intermediate data transfer is almost the same. In FIG. 14, the arrangement of the bands is A0, B1, A2, B3, A4, B5. . . In this band order, printing is executed at each print position.
[0070]
In FIG. 14, the right column in FIG. 14 shows bands printed at the print positions for the respective colors Bk, Y, M, and C. The difference between the leftmost Bk and the rightmost C printing position is 10 bands. The left column “Band to be transferred” indicates band data to be transferred for each color Bk, Y, M, and C. In the data, Axx (xx is a band number) is data held in the block buffer unit 704 for a predetermined period, and the data held in the block buffer unit 704 is transferred to the expansion processing means via the band buffer unit 703 and expanded. Output after processing. Bxx indicates data directly transferred from the first storage means to the band buffer unit 703 without going through the block buffer unit 704. After the data is transferred to the band buffer unit 703, it is common to use real-time processing that executes subsequent development processing and printing processing in time for the printing speed. If a delay occurs in the processing, a printing error will be caused.
[0071]
In FIG. 14, “A0” is shown at the Bk print position in the bottom line, and the A0 band is printed at the Bk print position. The value “A0” of the Bk buffer in the left column is the value of this print. Therefore, the band to be transferred from the Bk buffer is A0. At this time, there is no data to be printed at the Y, M, and C print positions.
[0072]
When the value of the Bk print position is “B9”, printing of the most distant C print position is started. The print band at the C print position at this time is “A0”. At this timing, the print bands for each color are Bk “B9”, Y “A6”, M “B3”, and C “A0”. Of these band data, “A6” and “A0” only need to transfer the data held in the block buffer unit 704 to the band buffer unit 703. For the band data of “B9” and “B3”, It is necessary to transfer from one storage means to the band buffer unit 703. The print bands at the next print timing are Bk “A10”, Y “B7”, M “A4”, and C “B1”. Of these band data, “A10” and “A4” need only transfer the data held in the block buffer unit 704 to the band buffer unit 703. For the band data of “B7” and “B1”, It is necessary to transfer from one storage means to the band buffer unit 703.
[0073]
The block buffer unit 704 has a configuration capable of holding a data amount of a predetermined band. In order to realize the data transfer configuration shown in FIG. 14, for example, the block buffer needs to have at least a capacity for storing “A0, A2, A4, A6, A8”, and the band “A0” at the C print position. "A0" data is no longer necessary after the printing of "" is completed, so the next band data "A10" may be transferred from the first storage means and the A0 data may be deleted. The block buffer unit 704 may have a larger capacity, but the area is divided into the most efficient configuration in order to reduce the number of transfers in consideration of the available memory space. This division is controlled based on the intermediate data to be transferred. This control is executed by the intermediate data transfer / storage control means 9. The intermediate data transfer / storage control means 9 will be described in detail later. For example, the amount of intermediate data continuously output by the output device 10 stored in the first storage means 5 is evaluated in band units and continuously output. The maximum amount of intermediate data in the band is detected, and the division configuration of the memory area of the second storage means is controlled based on this data amount.
[0074]
As described above, assuming that the block buffer unit 704 can hold the intermediate data corresponding to the difference in print position for each band, data transfer from the first storage unit 5 to the second storage unit 7 will be considered. In the example shown in FIG. 14, a case where printing at all the printing positions Bk, Y, M, and C is started will be considered. When the printing of the band “B9” is started at the Bk printing position, as shown in the corresponding line of the band to be transferred at the timing of printing the band “B9”, “B9” and “ For the two bands “B3”, transfer from the first storage means to the band buffer of the second storage means is required. At the timing when the next Bk print position is the band “A10” print, the three bands “A10”, “B7” and “B1” are changed from the first storage means to the block buffer (band “A10”) of the second storage means, respectively. It is transferred to the band buffer (bands “B7” and “B1”). Thereafter, when the Bk print band is “B11”, two bands are transferred from the first storage means to the second storage means, and when the Bk print band is “A12”, three bands are transferred from the first storage means to the second storage means. Repeated with transfer.
[0075]
The data transfer between the print data processing apparatus of the present invention having the block buffer configuration as described above and an apparatus having no block buffer will be compared. In an apparatus that does not have a block buffer, direct transfer from the first storage means to the band buffer of each color is required at all print timings, so that transfer of four bands corresponding to the number of print colors is required at one print timing. On the other hand, in the print data processing apparatus having the block buffer configuration of the present invention, as apparent from the example shown in FIG. 14, two-band transfer or three-band transfer may be performed at one print timing. Accordingly, the number of transfers from the first storage means to the second storage means is 5/8 (2 [band n] +3 [band n + 1] in the print data processing apparatus of the present invention as compared with the case where there is no block buffer. ) / (4 [band n] +4 [band n + 1] = 5/8), and the number of transfers is reduced.
[0076]
As shown in FIG. 14, the transfer to the band buffer unit can be sequentially switched between the data transfer from the first storage unit 5 to the band buffer unit 703 and the data transfer from the block buffer unit 704 to the band buffer unit 703. This is controlled by the memory control unit 701.
[0077]
Further, in the example shown in FIG. 14, the data transfer order of the band unit intermediate data from the first storage means 5 to the second storage means 7 is the order from the lower part of the transferred band column to the upper part in FIG. is there. In the case of FIG. 14, A0, B1, A2,. . . Then, the intermediate data of each band is transferred to the block buffer unit 704 for “Axx” and to the band buffer unit 703 for “Bxx”. The transfer order from the first storage means to the second storage means is determined based on a table in which the memory area division configuration of the block buffer unit 704 is associated with the intermediate data transfer order. This determination is executed by the intermediate data transfer / control unit 9. The intermediate data transfer / control unit 9 will be described in detail later.
[0078]
In the above assumption, the image data is not compressed. However, for example, by applying JPEG compression, the amount of data can be greatly reduced, so that the memory size for one band of the block buffer unit 704 can be further reduced. The number of bands that can be held in the block buffer unit 704 increases, and the number of data transfers from the first storage unit 5 to the second storage unit 7 can be further reduced.
[0079]
For example, when the system bus 32 is a PCI bus and the high-speed serial bus is IEEE1394 as described above, the transfer means 6 uses the system bus controller 27 in FIG. 5 as a master device and the system bus interface 34 in FIG. 5 as a slave device. Burst data transfer of intermediate data from the DRAM 26 in FIG. 5 to the DRAM 43 in FIG. 6 is executed. A predetermined program using the CPU 24 of the PC for controlling the burst data transfer is performed in real time according to the request of the expansion processing means 8 from the first storage means 5 to the second storage means 7 in the band unit. For transfer, it is executed at the priority of the real-time processing class. Further, switching of the data transfer band from the first storage unit 5 to the band buffer unit 703 as shown in FIG. 14 is executed based on an instruction from the intermediate data transfer / storage control unit 9.
[0080]
FIG. 15 shows a configuration example of the intermediate data transfer / storage control means 9. In FIG. 15, the intermediate data transfer / storage control means 9 includes an intermediate data amount evaluation unit 901, a memory configuration determination unit 902, and a memory configuration / data transfer order instruction unit 903. The intermediate data amount detection unit 901 evaluates the data amount of the intermediate data continuously output from the output device 10 stored in the first storage unit 5 in band units, and detects the maximum intermediate data amount among the continuously output bands. To do.
[0081]
The maximum amount of intermediate data detected by the intermediate data amount detection unit 901 is transferred to the memory configuration determination unit 902, and the memory configuration is determined. For example, assuming that the difference between the four color printing devices of C, M, Y, and Bk is 60 bands and the memory amount of the block buffer unit 704 is 8 Mbytes, the maximum intermediate data amount is 8 [MByte] / 60 [Bands]. If it is equal to or less than 0.13 Mbytes, the block buffer unit 704 is divided into a band size of about 0.13 Mbytes, and the intermediate data for the continuous output by the output device 10 can be sequentially held. Further, when the maximum intermediate data amount is 0.13 Mbyte or more and 0.26 Mbyte or less, the block buffer unit 704 can be divided into band sizes of about 0.26 Mbyte and held for each band. Intermediate data transfer as shown in FIG. In the above example, in order to simplify the explanation, the block buffer unit 704 is all divided into band sizes of about 0.26 Mbytes when 0.13 Mbytes or more and 0.26 Mbytes or less. By taking the size, the average number of transfers can be reduced.
[0082]
The memory configuration / data transfer order instructing unit 903 notifies the memory configuration of the block buffer unit 704 determined by the memory configuration determining unit 902 to the memory control unit 701 of the second storage unit 7, and the intermediate configuration as shown in FIG. The data transfer order is calculated and notified to the memory control unit 701 of the transfer means 6 and the second storage means 7. The intermediate data transfer order is instantaneously determined by holding table data in which the intermediate data transfer order corresponding to the memory configuration of the block buffer unit 704 is calculated in advance.
[0083]
Next, a processing flow for converting the intermediate data into raster data in the expansion processing means 8 will be described.
[0084]
FIG. 16 shows a configuration example of the expansion processing means 8. As shown in FIG. 6, the unfolding processing means 8 includes four sets of unfolding processing units corresponding to the four color printing devices of C, M, Y, and Bk. Only the pair is shown. In FIG. 6, the expansion processing unit 8 includes an intermediate data control unit 801, a trapezoid data processing unit 802, an image data processing unit 804, and an output buffer memory unit 803. The intermediate data control unit 801 sequentially reads the intermediate data alternately input to the band buffer unit 703 having a double buffer configuration for each object, reads the management information of the intermediate data, and whether the object is intermediate data for a character / graphic element, Alternatively, the intermediate data for the image element is detected and transferred to the trapezoid data processing unit 802 and the image data processing unit 804. That is, the trapezoid data of the intermediate data for the character / graphic element is transferred to the trapezoid data processing unit 802, the color information is transferred to the image data processing unit 804, and the trapezoid data representing the shape of the intermediate data for the image element is transferred to the trapezoid data processing unit 802. Then, the image data included in the color information is transferred to the image data processing unit 804. In addition, the intermediate data control unit 801 manages the expansion processing of each object and the processing of intermediate data in the band.
[0085]
The trapezoid data processing unit 802 converts the trapezoid data (sx, sy, x0, x1, x2, h) of the intermediate data into a data format consisting of four points as shown in FIG. It is. FIG. 17 shows a block diagram of the trapezoid data processing unit 802. In FIG. 17, the trapezoid data processing unit 802 includes an intermediate data input unit 8021, a coordinate calculation unit A 8022, a coordinate calculation unit B 8023, and an edge drawing unit 8024.
[0086]
The intermediate data input unit 8021 reads each trapezoidal data from the band memory unit 703, and outputs the trapezoid data to the coordinate calculation unit A8022 and the coordinate calculation unit B8023. The coordinate calculation unit A8022 is in charge of coordinate calculation of the left edge of the trapezoid (edge P0P1 in FIG. 18), and sequentially outputs coordinate values on the edge from P0 to P1. The coordinate calculation unit B8023 is in charge of coordinate calculation of the right edge of the trapezoid (edge P2P3 in FIG. 18), and sequentially outputs coordinate values on the edge from P2 to P3. The edge drawing unit 8024 draws a straight line parallel to the x-axis of the trapezoid based on the coordinate values input from the coordinate calculation unit A 8022 and the coordinate calculation unit B 8023.
[0087]
FIG. 19 shows a block diagram of the coordinate calculation unit. The input trapezoidal data (sx, sy, x0, x1, x2, h) is converted into four-point trapezoidal data (P0, P1, P2, P3) by the DDA parameter calculation unit 80221, and the initial slope and residual are obtained. A DDA parameter such as a value is calculated and output to the DDA processing unit 80222. The DDA processing unit 80222 performs DDA processing based on the input parameters, and outputs the moving direction and moving amount with respect to the last obtained point. The coordinate updating unit 80223 updates and outputs the currently held coordinate value from the input moving direction and moving amount.
[0088]
FIG. 20 is a block diagram of the edge drawing unit 8024. The edge drawing unit 8024 inputs the coordinate value A / B and the image data and fills the trapezoidal internal region. The address calculation unit 80241 inputs the coordinate value A / B and calculates the address of the edge component to be drawn. The mask calculation unit 80242 inputs the value of the coordinate value A / B and outputs a mask representing valid bits in the word to be drawn. When the input intermediate data is a character / graphic element, the data calculation unit 80243 inputs color data representing a fixed color by a trapezoid area from the image data processing unit 803, and performs screen processing using this value. Output. When the input intermediate data is an image element, the image data is input from the image data processing unit 803, screen-processed, and output. The RmodW processing unit 80242 performs drawing by performing the following processing using the input address, mask, and data. First, the output buffer memory 804 is read according to the address. Assuming that the read data is Source, the mask data is Mask, and the drawing data is Data, the value of (Mask * Data + Mask # * Source) is calculated and written back to the same address. However, * represents a logical product, + represents a logical sum, and # represents a logical negation. This process is repeated for each word including the edge to be drawn.
[0089]
FIG. 21 shows a block diagram of the image data processing unit 803. In FIG. 21, the image data processing unit 803 includes a color conversion unit 8031 and a resolution conversion unit 8032. The color conversion unit 8031 converts a color space created by an application or a standard color space that does not depend on the color reproduction characteristics of the input / output device into color data that matches the color space and color reproduction characteristics of the output device 10. Is. Further, as described above, the color conversion unit 8031 performs color conversion on color data representing a fixed color of a character / graphic element and color data for each pixel of an image element. The resolution conversion unit 8032 performs interpolation approximation on the image data in order to match the color-converted image data with the resolution of the output device 10. When the color data input to the image data processing unit 803 is fixed color data of character / graphic elements, the value is output as it is.
[0090]
FIG. 22 shows a block diagram of the color conversion unit 8031. The color conversion unit 8031 includes a three-dimensional interpolation calculation processing unit 80311 and a three-dimensional lookup table 80312. In the three-dimensional lookup table 80312, grid point data for color conversion processing is accumulated, and the three-dimensional interpolation calculation processing unit executes color conversion calculation of the pixel of interest based on the grid point data. In this embodiment, for example, a triangular prism interpolation calculation shown in FIG. 23 is used for the three-dimensional interpolation calculation. In the triangular prism interpolation calculation, the color signal of the pixel of interest is determined by interpolation calculation of six grid point data forming a triangular prism region where the pixel of interest exists with respect to the eight grid point data shown in FIG. The triangular prism interpolation calculation shown in FIG. 23 is processed by the following equation.
[0091]
[Equation 5]
D (o) = D (m) + ΔG × (D (n) −D (m)). . . . . . (5)
However,
Figure 0003671633
[0092]
The resolution conversion unit 8032 is configured by, for example, the nearest neighbor interpolation method. FIG. 24 is a diagram for explaining the principle of the nearest neighbor interpolation method. In FIG. 24, P1 ([x], [y]), P2 ([x + 1], [y]), P3 ([x], [y + 1]), and P4 ([x + 1], [y + 1]) are converted in resolution. If the pixel value of the coordinate point of the image data input to the unit 8032 is assumed and the coordinate point corresponding to the resolution of the output device 10 is, for example, P (x, y), P (x, y) is the nearest neighbor. Is the pixel value P2 ([x + 1], [y]) of the coordinate point.
[0093]
[Example 2]
Next, a second embodiment of the present invention will be described. FIG. 25 is a block diagram showing another principle configuration of the print data processing apparatus of the present invention. In this embodiment, the output device is composed of the output device 12 with variable output speed, and the intermediate data transfer / storage control means has the function of determining the output speed of the output device 12 based on the intermediate data amount. The configuration of the transfer / storage control means 11 is different from the configuration of the print data processing apparatus shown in FIG.
[0094]
Similarly to the output device 10, the output device 12 includes four color printing devices of C, M, Y, and Bk, receives print data output from the output buffer memory of the expansion processing means 8 for each printing device, A tandem color laser printer that prints on a recording sheet and outputs the configuration is shown in FIG. In FIG. 7, the control target in the printing process that must be controlled in accordance with the variable output speed will be described. The printing process that must be controlled includes the rotational speed of the photosensitive drum 371, the speed of the conveyor belt 52, the roll speed of the fixing device 53, the rotational speed of the polygon mirror of the laser scanning device 373, and the rotational speed of the developing roll of the developing device 374. Transfer current and the like. Among these, the rotational speed of the photosensitive drum 371, the speed of the conveying belt 52, the roll rotational speed of the fixing device 53, the rotational speed of the polygon mirror of the laser scanning device 373, and the rotational speed of the developing roll of the developing device 374 are proportional to the printing speed. It is a target that should be controlled. The transfer current may be controlled by setting the constant current source in proportion to the printing speed. In general, a brushless servomotor is used to drive the polygon mirror of the laser scanning device 373, and PLL (Phase Locked Loop) control is used to stabilize the rotation speed. Accordingly, the rotation speed of the polygon mirror can be changed by dividing the reference frequency of the PLL control. For example, the output speed can be reduced to 1/2, 1/3, and 1/4.
[0095]
FIG. 26 shows a configuration example of the intermediate data transfer / storage control means 11 of this embodiment. 26 differs from FIG. 15 in that an output device speed instruction unit 1201 is added. The output device speed instruction unit 1201 determines the number of intermediate data transfers from the first storage unit 5 to the second storage unit 7 and the maximum intermediate data amount from the memory configuration of the block buffer unit 704 determined by the memory configuration determination unit 902. The output speed is determined from among the output speeds that can be changed by the output device 12 based on the available data transfer speed, and the set output speed is notified to the output device 12 via the transfer means 6 and the transfer means 6. Has been. For example, when the average number of intermediate data transfers times the maximum amount of intermediate data exceeds the available data transfer rate, the output rate of the output device 12 is reduced by, for example, 1/2, 1/3, or 1/4. Therefore, with the configuration shown in this embodiment, resources can be used efficiently even when the performance of the PC is low and a high data transfer rate cannot be obtained. Moreover, even when it is desired to limit the available data transfer rate and reduce the load on the PC as much as possible, resources can be used efficiently.
[0096]
【The invention's effect】
As described above, according to the present invention, an intermediate data memory resource in dedicated hardware is used in a print data processing apparatus that expands print data to be output by a tandem color page printer into a data structure that can be output by a color page printer. That can efficiently use the data transfer resources from the PC to the dedicated hardware according to the contents of the print data, and build a configuration that supplies the print data to the output device at the highest speed with limited resources It was possible to provide a data processing device. In addition, it is possible to provide a print data processing apparatus that minimizes the processing load on a PC in a system configuration in which intermediate data is generated by a PC and the intermediate data is expanded by dedicated hardware.
[0097]
In addition, according to the print data processing apparatus of the present invention, it is possible to configure the color conversion process in accordance with the C, M, Y, and Bk printing of the output device in the development processing means of the dedicated hardware. It becomes possible to further reduce the load of the intermediate data generation processing.
[0098]
Further, according to one embodiment of the print data processing apparatus of the present invention, the output device is configured to be variable in output speed, and in the case where the intermediate data transfer resource is a limited resource, according to the increase in the number of intermediate data transfer By reducing the output speed of the output device, print data can be output without being lost.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a principle configuration of a print data processing apparatus of the present invention.
FIG. 2 is an explanatory diagram of a system in which dedicated hardware has an intermediate data memory of an amount that absorbs a difference in print position.
FIG. 3 shows that the intermediate data memory in the PC corresponding to the difference in print position accesses R, G, B data with different data every time depending on the print position difference for each color of C, M, Y, Bk It is explanatory drawing of the system transferred to.
FIG. 4 is an explanatory diagram of the storage configuration of the second storage unit and the transfer of intermediate data by the intermediate data transfer / storage control unit of the print data processing apparatus of the present invention.
FIG. 5 is a configuration example of hardware on which the entire print data processing apparatus of the present invention is mounted.
FIG. 6 is a configuration example of dedicated hardware.
FIG. 7 is a configuration example of a tandem color page printer.
FIG. 8 is a block diagram showing a configuration example of intermediate data generation means.
FIG. 9 is a diagram illustrating trapezoid data.
FIG. 10 is a block diagram illustrating a configuration example of a band dividing unit.
FIG. 11 is a diagram illustrating division of trapezoid data at band boundaries.
FIG. 12 is a diagram illustrating an example of data representation of trapezoid data.
FIG. 13 is a block diagram showing a configuration example of second storage means in the print data processing apparatus of the present invention.
FIG. 14 is a diagram illustrating an example of intermediate data transfer when intermediate data is held for each band in the block buffer unit;
FIG. 15 is a block diagram showing a configuration example of intermediate data transfer / storage control means in the print data processing apparatus of the present invention.
FIG. 16 is a block diagram illustrating a configuration example of an expansion processing unit.
FIG. 17 is a block diagram illustrating a configuration example of a trapezoidal data processing unit.
FIG. 18 is a diagram for explaining trapezoidal data drawing by the expansion processing means.
FIG. 19 is a block diagram illustrating a configuration example of a coordinate calculation unit.
FIG. 20 is a block diagram illustrating a configuration example of an edge drawing unit.
FIG. 21 is a block diagram illustrating a configuration example of an image data processing unit.
FIG. 22 is a block diagram illustrating a configuration example of a color conversion unit.
FIG. 23 is a diagram for explaining triangular prism interpolation calculation;
FIG. 24 is a diagram for explaining nearest neighbor interpolation calculation;
FIG. 25 is a block diagram showing another principle configuration of the print data processing apparatus of the present invention.
FIG. 26 is a block diagram illustrating a configuration example of intermediate data transfer / storage control means according to the second embodiment.
[Explanation of symbols]
1 Print data
2 Input means
3 Intermediate data generation means
4 Band dividing means
5 First storage means
6 Transfer means
7 Second storage means
8 Deployment processing means
9,11 Intermediate data transfer / storage control means
10 Output device
12 Output device with variable output speed
21 PC
23 Network
24 CPU
25 Memory controller
26 DRAM
27 System Bus Controller
28 Network interface
29 Magnetic disk
31 CPU bus
32 System bus
34 Serial bus interface
35 High-speed serial bus
36 Dedicated hardware
37 Printing device
41 Serial bus interface LSI
42 Memory control LSI
43 DRAM
44 Intermediate Data LSI
45 Trapezoidal data processing LSI
46 Image Processing LSI
47 DRAM
48 Video Interface LSI
301 Lexical interpretation part
302 Token interpreter
303 Instruction execution unit
304 Drawing state storage unit
305 Image processing unit
306 Vector data generator
307 Font Management Department
308 Matrix converter
309 Short vector generator
310 Trapezoid data generator
701 Memory control unit
702 Memory unit
703 Band buffer
704 Block buffer
801 Intermediate data control unit
802 Trapezoid data processing unit
803 output buffer memory
804 Image data processing unit
901 Intermediate data amount evaluation section
902 Memory configuration determination unit
903 Memory configuration / data transfer order instruction section
8021 Intermediate data input section
8022 Coordinate calculator A
8023 Coordinate calculator B
80221 DDA parameter calculator
80222 DDA processing unit
80223 Coordinate update unit
80241 Address calculator
80242 Mask calculation unit
80243 Data calculation part
80244 RmodW processor
8031 color converter
8032 Resolution converter
80311 Three-dimensional interpolation calculation processing unit
8031 3D lookup table
1201 Output device speed instruction section

Claims (8)

所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理装置であって、
印刷データを入力する入力手段と、
前記入力手段に入力された印刷データを解析して中間データを生成する中間データ生成手段と、
前記中間データを所定の大きさのバンド単位の中間データに分割するバンド分割手段と、
前記バンド分割手段によって分割されたバンド単位の中間データを少なくとも1ページ分記憶する第1記憶手段と、
前記第1記憶手段から順次出力されるバンド単位の中間データを入力し記憶する第2記憶手段であり、前記バンド単位の入力中間データを順次更新するバンドバッファ領域と、前記バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とを有する第2記憶手段と
前記第1記憶手段から前記第2記憶手段へ中間データを転送する転送手段と、
前記第2記憶手段に記憶された中間データをバンド毎に読み出して前記出力装置で出力可能なデータ構造に展開する展開処理手段と、
前記第1記憶手段に記憶されるバンド単位の中間データのデータ量に基づいて、前記第2記憶手段中の前記ブロックバッファ領域のメモリ領域の分割を実行し、該分割されたブロックバッファメモリ領域の分割態様に基づいて前記第1記憶手段から前記第2記憶手段への中間データ転送を制御する中間データ転送・制御手段と、
を有することを特徴とする印刷データ処理装置。
A print data processing device that converts print data described by a predetermined drawing command and supplies the print data as output data that can be output from an output device having a plurality of printing devices corresponding to recording colors that can be processed in parallel. And
An input means for inputting print data;
Intermediate data generating means for analyzing the print data input to the input means and generating intermediate data;
Band dividing means for dividing the intermediate data into intermediate data of a band unit of a predetermined size;
First storage means for storing at least one page of intermediate data in units of bands divided by the band dividing means;
A second storage means for inputting and storing band-by-band intermediate data sequentially output from the first storage means; a band buffer area for sequentially updating the band-by-band input intermediate data; and the band-by-band input intermediate data. A second storage means having a block buffer area for holding for a predetermined period ;
Transfer means for transferring intermediate data from the first storage means to the second storage means;
Expansion processing means for reading the intermediate data stored in the second storage means for each band and expanding the data into a data structure that can be output by the output device;
Based on the data amount of the band unit intermediate data stored in the first storage means, the memory area of the block buffer area in the second storage means is divided, and the block buffer memory area of the divided block buffer memory area is Intermediate data transfer / control means for controlling intermediate data transfer from the first storage means to the second storage means based on a division mode ;
A print data processing apparatus.
前記中間データ転送・制御手段は、前記第1記憶手段に記憶されるバンド単位の中間データのデータ量中、最大の中間データ量を有するバンドの中間データを記憶可能な容量に基づいて前記第2記憶手段中の前記ブロックバッファ領域のメモリ領域分割を実行することを特徴とする請求項記載の印刷データ処理装置。The intermediate data transfer / control unit is configured to store the second intermediate data based on a capacity capable of storing intermediate data of a band having the maximum intermediate data amount among the data amount of intermediate data stored in the first storage unit. print data processing apparatus according to claim 1, wherein executing the memory area division of the block buffer area in the memory means. 前記中間データ転送・制御手段は、前記第2記憶手段における中間データ記憶構成に基づいて、前記転送手段において実行される前記第1記憶手段から前記第2記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする請求項1乃至いずれかに記載の印刷データ処理装置。The intermediate data transfer / control means, based on the intermediate data storage configuration in the second storage means, performs the data transfer order of the intermediate data transfer from the first storage means to the second storage means executed in the transfer means print data processing apparatus according to claim 1 or 2 characterized by having a structure determined. 前記中間データ転送・制御手段は、前記第2記憶手段中の前記ブロックバッファ領域のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて前記第1記憶手段から前記第2記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする請求項記載の印刷データ処理装置。The intermediate data transfer / control means is configured to change the memory area division configuration of the block buffer area in the second storage means and the intermediate data transfer order from the first storage means to the second storage means. 4. The print data processing apparatus according to claim 3, further comprising a configuration for determining a data transfer order of intermediate data transfer to the printer. 前記展開処理手段は、中間データに含まれる個々の画素の色を定量的に表す複数の色データから、出力装置の複数の印字装置の記録色に対応した色データに変換する色変換処理を含むことを特徴とする請求項1乃至いずれかに記載の印刷データ処理装置。The expansion processing means includes color conversion processing for converting a plurality of color data quantitatively representing the color of each pixel included in the intermediate data into color data corresponding to the recording colors of the plurality of printing devices of the output device. print data processing apparatus according to any one of claims 1 to 4, characterized in that. 前記第2記憶手段は、文字・図形の描画命令に対する中間データのための記憶手段と画像の描画命令に対する中間データのための記憶手段とを備え、少なくとも前記画像の描画命令に対する中間データのデータ量に基づいて、画像の描画命令に対する中間データのための記憶手段の記憶構成が制御されることを特徴とする請求項1乃至いずれかに記載の印刷データ処理装置。The second storage means includes storage means for intermediate data for a character / graphic drawing command and storage means for intermediate data for an image drawing command, and at least the amount of intermediate data for the image drawing command based on the print data processing apparatus according to any one of claims 1 to 5 storage configuration of the storage means is being controlled for the intermediate data to the image drawing instruction. 前記出力装置は出力速度可変に構成されており、前記バンド単位の中間データのデータ量に基づいて、出力速度が決定されることを特徴とする請求項1乃至いずれかに記載の印刷データ処理装置。The output device is configured to output a variable speed, based on the data amount of the intermediate data of the band units, the print data processing according to any one of claims 1 to 6, characterized in that the output speed is determined apparatus. 所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理方法であって、
印刷データを入力する入力ステップと、
前記入力ステップにおいて入力された印刷データを解析して中間データを生成する中間データ生成ステップと、
前記中間データを所定の大きさのバンド単位の中間データに分割するバンド分割ステップと、
前記バンド分割ステップにおいて分割されたバンド単位の中間データを少なくとも1ページ分、第1記憶手段に記憶する第1記憶ステップと、
前記第1記憶手段から順次出力されるバンド単位の中間データを記憶する第2記憶手段内のブロックバッファ領域の領域分割を実行するメモリ分割ステップと、
ブロックバッファ領域の分割態様に基づいて、前記第1記憶手段から前記第2記憶手段への中間データの転送制御を実行して、前記第1記憶手段から前記第2記憶手段へ中間データを転送する転送ステップと、
前記第1記憶手段から順次出力されるバンド単位の中間データを前記第2記憶手段に記憶する第2記憶ステップであり、前記バンド単位の入力中間データを順次更新するバンドバッファ領域と、前記バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とに区分して記憶する第2記憶ステップと、
前記第2記憶手段に記憶された中間データをバンド毎に読み出して前記出力装置で出力可能なデータ構造に展開する展開処理ステップと、
を有することを特徴とする印刷データ処理方法。
A print data processing method for converting print data described by a predetermined drawing command and supplying the print data as output data that can be output from an output device having a plurality of printing devices corresponding to recording colors that can be processed in parallel. And
An input step for entering print data;
An intermediate data generation step of analyzing the print data input in the input step to generate intermediate data;
A band dividing step of dividing the intermediate data into intermediate data of a band unit of a predetermined size;
A first storage step of storing in the first storage means at least one page of intermediate data in units of bands divided in the band dividing step;
A memory dividing step of performing area division of a block buffer area in the second storage means for storing intermediate data in band units sequentially output from the first storage means;
Based on the division mode of the block buffer area, the intermediate data is transferred from the first storage means to the second storage means, and the intermediate data is transferred from the first storage means to the second storage means. A transfer step;
A second storage step of storing in the second storage means the intermediate data in band units sequentially output from the first storage means; a band buffer area for sequentially updating the input intermediate data in band units; and the band units A second storage step for storing the input intermediate data separately in a block buffer area for holding for a predetermined period;
An expansion processing step of reading the intermediate data stored in the second storage means for each band and expanding the data into a data structure that can be output by the output device;
A print data processing method characterized by comprising:
JP33002597A 1997-12-01 1997-12-01 Print data processing device Expired - Fee Related JP3671633B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33002597A JP3671633B2 (en) 1997-12-01 1997-12-01 Print data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33002597A JP3671633B2 (en) 1997-12-01 1997-12-01 Print data processing device

Publications (2)

Publication Number Publication Date
JPH11157143A JPH11157143A (en) 1999-06-15
JP3671633B2 true JP3671633B2 (en) 2005-07-13

Family

ID=18227944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33002597A Expired - Fee Related JP3671633B2 (en) 1997-12-01 1997-12-01 Print data processing device

Country Status (1)

Country Link
JP (1) JP3671633B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2803414B1 (en) * 1999-12-29 2003-05-16 Sagem LASER PRINTING METHOD OF A COLOR IMAGE
JP3421298B2 (en) 2000-03-14 2003-06-30 友也 太田 Internal stairs for buildings and method of construction

Also Published As

Publication number Publication date
JPH11157143A (en) 1999-06-15

Similar Documents

Publication Publication Date Title
JP3826038B2 (en) Printing system, printing method therefor, and printing apparatus
US6100998A (en) Print processor with efficient memory use
JPH111029A (en) Color print system, color printer, and computer readable recording medium storing computer executable program
JP3962606B2 (en) Printing command generation apparatus and method, printing apparatus and control method thereof, information processing apparatus, and printing system
EP0575134B1 (en) Method and apparatus for printing according to a graphic language
JP3671633B2 (en) Print data processing device
JP3885282B2 (en) Print data processing apparatus and print data processing method
JP4103164B2 (en) Print processing device
JPH10129050A (en) Printing processor
JP2006159738A (en) Print controller, its data processing method, and storage medium
JP3640133B2 (en) Print processing device
JP3755265B2 (en) Print processing device
JPH10147019A (en) Printing process device
JP3864535B2 (en) Print processing apparatus and print processing method
JP3700363B2 (en) Print processing device
JPH10157217A (en) Printing-processing apparatus
JPH10151815A (en) Printing-processing apparatus
JPH0691990A (en) Method for controlling printer and its control system
JP2001096854A (en) Apparatus and method for printing processing
JPH10305639A (en) Print processor and processing method
JPH10157216A (en) Printing-processing apparatus
JP4037417B2 (en) Printing device
JPH11144062A (en) Printing processor
JPH11119928A (en) Device and method for processing printing
JP3843290B2 (en) Printing device

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