(57)【特許請求の範囲】
【請求項１】
所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理装置であって、
印刷データを入力する入力手段と、
前記入力手段に入力された印刷データを解析して中間データを生成する中間データ生成手段と、
前記中間データを所定の大きさのバンド単位の中間データに分割するバンド分割手段と、
前記バンド分割手段によって分割されたバンド単位の中間データを少なくとも１ページ分記憶する第１記憶手段と、
前記第１記憶手段から順次出力されるバンド単位の中間データを入力し記憶する第２記憶手段であり、前記バンド単位の入力中間データを順次更新するバンドバッファ領域と、前記バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とを有する第２記憶手段と、
前記第１記憶手段から前記第２記憶手段へ中間データを転送する転送手段と、
前記第２記憶手段に記憶された中間データをバンド毎に読み出して前記出力装置で出力可能なデータ構造に展開する展開処理手段と、
前記第１記憶手段に記憶されるバンド単位の中間データのデータ量に基づいて、前記第２記憶手段中の前記ブロックバッファ領域のメモリ領域の分割を実行し、該分割されたブロックバッファメモリ領域の分割態様に基づいて前記第１記憶手段から前記第２記憶手段への中間データ転送を制御する中間データ転送・制御手段と、
を有することを特徴とする印刷データ処理装置。
【請求項２】
前記中間データ転送・制御手段は、前記第１記憶手段に記憶されるバンド単位の中間データのデータ量中、最大の中間データ量を有するバンドの中間データを記憶可能な容量に基づいて前記第２記憶手段中の前記ブロックバッファ領域のメモリ領域分割を実行することを特徴とする請求項１記載の印刷データ処理装置。
【請求項３】
前記中間データ転送・制御手段は、前記第２記憶手段における中間データ記憶構成に基づいて、前記転送手段において実行される前記第１記憶手段から前記第２記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする請求項１乃至２いずれかに記載の印刷データ処理装置。
【請求項４】
前記中間データ転送・制御手段は、前記第２記憶手段中の前記ブロックバッファ領域のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて前記第１記憶手段から前記第２記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする請求項３記載の印刷データ処理装置。
【請求項５】
前記展開処理手段は、中間データに含まれる個々の画素の色を定量的に表す複数の色データから、出力装置の複数の印字装置の記録色に対応した色データに変換する色変換処理を含むことを特徴とする請求項１乃至４いずれかに記載の印刷データ処理装置。
【請求項６】
前記第２記憶手段は、文字・図形の描画命令に対する中間データのための記憶手段と画像の描画命令に対する中間データのための記憶手段とを備え、少なくとも前記画像の描画命令に対する中間データのデータ量に基づいて、画像の描画命令に対する中間データのための記憶手段の記憶構成が制御されることを特徴とする請求項１乃至５いずれかに記載の印刷データ処理装置。
【請求項７】
前記出力装置は出力速度可変に構成されており、前記バンド単位の中間データのデータ量に基づいて、出力速度が決定されることを特徴とする請求項１乃至６いずれかに記載の印刷データ処理装置。
【請求項８】
所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理方法であって、
印刷データを入力する入力ステップと、
前記入力ステップにおいて入力された印刷データを解析して中間データを生成する中間データ生成ステップと、
前記中間データを所定の大きさのバンド単位の中間データに分割するバンド分割ステップと、
前記バンド分割ステップにおいて分割されたバンド単位の中間データを少なくとも１ページ分、第１記憶手段に記憶する第１記憶ステップと、
前記第１記憶手段から順次出力されるバンド単位の中間データを記憶する第２記憶手段内のブロックバッファ領域の領域分割を実行するメモリ分割ステップと、
ブロックバッファ領域の分割態様に基づいて、前記第１記憶手段から前記第２記憶手段への中間データの転送制御を実行して、前記第１記憶手段から前記第２記憶手段へ中間データを転送する転送ステップと、
前記第１記憶手段から順次出力されるバンド単位の中間データを前記第２記憶手段に記憶する第２記憶ステップであり、前記バンド単位の入力中間データを順次更新するバンドバッファ領域と、前記バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とに区分して記憶する第２記憶ステップと、
前記第２記憶手段に記憶された中間データをバンド毎に読み出して前記出力装置で出力可能なデータ構造に展開する展開処理ステップと、
を有することを特徴とする印刷データ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は印刷データ処理装置に関する。さらに詳細には、用紙に対して同時に印字可能な複数の印字装置が処理用紙の搬送経路に沿って配列された所謂タンデム方式のカラーページプリンタに印字データを供給する印刷データ処理装置に関するものである。
【０００２】
【従来の技術】
小型、高速のデジタル印刷に適した電子写真方式のカラーページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、画像（写真）、図形、文字などを同様に取り扱い、図形、文字等の拡大、回転、変形などが自由に制御できる記述言語を用いる印刷データ処理装置が一般に普及してきた。この記述言語の代表例として、ＰｏｓｔＳｃｒｉｐｔ（Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社商標）、Ｉｎｔｅｒｐｒｅｓｓ（Ｘｅｒｏｘ社商標）、Ａｃｒｏｂａｔ（Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社商標）、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ、Ｍｉｃｒｏｓｏｆｔ社商標）等が知られている。
【０００３】
記述言語で作成されている印刷情報は、ページ内の任意の位置の画像（写真）、図形、文字を表現する描画命令が任意の順で構成されており、本発明に係わるカラーページプリンタで印字するためには、印字前に印刷情報をラスタ化しなければならない。ラスタ化というのは、ページ又はページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。従来のページプリンタは、印字前にページ全体の印刷データをラスタ化し、ページバッファメモリに記憶していた。しかしながら、ページ全体に対するラスタデータを記憶するためには、大量のメモリを必要とする。特に、最新の電子写真方式のカラーページプリンタでは、Ｃ（Ｃｙａｎ），Ｍ（Ｍａｇｅｎｔａ），Ｙ（Ｙｅｌｌｏｗ），Ｂｋ（Ｂｌａｃｋ）の４色のトナーに対応するラスタデータを必要とするとともに、白黒ページプリンタ以上に画質が要求されるため、１画素当たり複数のビット情報を持つのが一般的であり、さらに大量のメモリを必要とする。
【０００４】
この大量のメモリの必要性に対し、コスト低減の観点からメモリ要求を低減させる技術として、バンドメモリ技術がある。バンドメモリ技術は、ページプリンタの印字前に１ページ分の印刷データを全てラスタ化するのではなく、記述言語で作成されている印刷データを直接ラスタ化するよりも速くラスタ化可能な比較的簡単な中間データに変換し、１ページを隣接する複数の領域（バンド）に分割し、各バンドに対応する中間データを記憶した後、ページの先頭のバンドから毎に順次ラスタデータに展開処理し、バンドに対応するバッファメモリに展開する技術である。
【０００５】
従来、このバンドメモリ技術を用いた印刷データ処理装置は、ＣＰＵ（中央演算処理装置）、メモリ、ＡＳＩＣ等を備えた専用ハードウェアを利用するのが一般的であった。この方式では、上記印刷データはネットワーク等を介して専用ハードウェアにそのまま入力され、専用ハードウェアのＣＰＵを利用してバンド単位の中間データに変換され、専用ハードウェア内のメモリに蓄積される。１ページ分の中間データが蓄積された後、専用ハードウェア内のメモリをアクセスして、専用ハードウェアのＣＰＵ、あるいはＡＳＩＣを利用してラスタデータに展開処理するよう構成されている。しかしながら、最近のカラーページプリンタの高解像度化、高スピード化や、カラーページプリンタの高機能化（例えば、ネットワークのマルチプロトコル対応やマルチ記述言語対応など）によって、専用ハードウェアに要求される資源はどんどん大きくなってきている。
【０００６】
これに対し、オフィスに広く普及しているＰＣ（パーソナルコンピュータ）に簡単な専用ハードウェアを付加し、カラーページプリンタをドライブする方式が登場してきた。この方式では、一般的に上記印刷データはＰＣのＣＰＵを利用してバンド単位の中間データに変換された後、専用ハードウェア内のメモリに転送される。１ページ分の中間データが蓄積された後、専用ハードウェア内のメモリをアクセスして、専用ハードウェアのＡＳＩＣを利用してラスタデータに展開処理するよう構成されている。この方式では、中間データを生成するためのＣＰＵやネットワークのマルチプロトコル対応やマルチ記述言語対応のためのハードウェア資源はＰＣのものを利用することが可能であり、付加する専用ハードウェアの資源は小さくても良い。この方式に関しては、特開平６−１９５１８２等が公知である。特開平６−１９５１８２公報に記載されている印刷データ処理装置では、バンド分割された１ページ分の中間データはＰＣとシリアルインターフェース等で接続されたプリンタ内の専用ハードウェア内のメモリに転送される。この方式では、中間データとして画像（写真）データが入ってくる場合を考慮すると、専用ハードウェア内の中間データ用メモリとして大容量のメモリが必要となる。
【０００７】
さらに、本願と同一出願人に係る特願平９−１３８６０９号は、専用ハードウェアのメモリ資源を小さくするために、バンド単位の中間データをＰＣ内のメモリに蓄積し、専用ハードウェアによるラスタデータへの展開処理時に、ＰＣ内の中間データメモリをバンド毎に順次読み出し、ラスタデータへ展開する方式を提案している。特願平９−１３８６０９号に記載されている印刷データ処理装置では、バンド分割された１ページ分の中間データはＰＣ内のメモリに蓄積される。この方式では、１ページ分の中間データ用メモリとしてＰＣに設置されている大容量のメモリを利用できるため、専用ハードウェアに付加されるメモリはバンド分、さらに詳しくはバンドを交互に切り替えれば良いため２バンド分で済むことになる。
【０００８】
一方、カラーページプリンタの生産性の観点から、Ｃ（Ｃｙａｎ），Ｍ（Ｍａｇｅｎｔａ），Ｙ（Ｙｅｌｌｏｗ），Ｂｋ（Ｂｌａｃｋ）の４色に対応した現像装置を備え、１つの印字装置で露光、現像をＣ，Ｍ，Ｙ，Ｂｋの４色分繰り返した後、用紙に一括転写して印字する、所謂シングルエンジン方式のカラーページプリンタ方式に対し、用紙の搬送経路に沿ってＣ，Ｍ，Ｙ，Ｂｋの４色に対応した印字装置を備え、各印字装置で露光、現像、用紙転写を行い、用紙が４色の印字装置を一回通過するだけでフルカラーの印字が可能となる、所謂タンデム方式のカラーページプリンタが登場してきた。タンデム方式のカラーページプリンタへ印字データを供給する印刷データ処理装置としては、特開平８−１９２５４２公報等が公知である。特開平８−１９２５４２公報には、記述言語で作成されている印刷情報を１つの中央演算処理装置でラスタ化し、Ｃ，Ｍ，Ｙ，Ｂｋの４色に対応する印字データをフレームバッファに蓄積した後、印字装置の記録速度に合わせて小ブロック毎に並列転送するよう構成されている。
【０００９】
【発明が解決しようとする課題】
上記専用ハードウェアによるラスタデータへの展開処理時にＰＣ内の中間データメモリをバンド毎に順次読み出しラスタデータへ展開する方式を、タンデム方式のカラーページプリンタへ適用する場合は、印字位置の異なる４色分の印字データを同時に供給する必要があるため、ＰＣから専用ハードウェアへの中間データの高速のデータバスおよびデータ転送が必要となる。
【００１０】
さらに、Ｃ，Ｍ，Ｙ，Ｂｋデータを転送する特開平８−１９２５４２公報に記載されている方式とは異なって、ＰＣでの中間データ生成の負荷を軽減し、印刷データ処理を高速化するため、ＰＣのＣＰＵ処理では処理負荷の重い、印字装置のＣ，Ｍ，Ｙ，Ｂｋ色再現特性にあわせるための色変換処理を専用ハードウェアで処理させることが望ましい。即ち、専用ハードウェアにおいて、例えば中間データの色信号がＲＧＢ色空間信号の場合、印字位置の差によりデータの異なるＲ，Ｇ，Ｂデータを入力し、Ｃ，Ｍ，Ｙ，Ｂｋの４色の印字装置の画素に対応したＣ，Ｍ，Ｙ，Ｂｋ色信号を出力する色変換処理する必要がある。従って、印字位置の差を吸収するための仕組みが必要となる。
【００１１】
上記課題に対して、データ転送を少なくするという観点からは、印字位置の差を吸収する量の中間データ用メモリを専用ハードウェアに持たせる方式がある。図２にこの方式の構成図を示す。図２の構成は、第１記憶手段（ＰＣ）に記憶されたバンドごとのデータを第２記憶手段に印字位置の差を吸収する量の中間データを記憶する容量を有するメモリに転送し、その後第２記憶手段からデータを取り出して展開処理等必要な処理を行う構成である。この方式では、専用ハードウェアに大量のメモリが必要となる。
【００１２】
また、専用ハードウェアの中間データ用メモリを削減する観点からは、専用ハードウェアの中間データ用メモリをＣ，Ｍ，Ｙ，Ｂｋ各色毎のバンドを交互に切り替えるための２バンド分のみとし、印字位置の差に対応したＰＣ内の中間データメモリをＣ，Ｍ，Ｙ，Ｂｋ各色毎に印字位置の差によりデータの異なるＲ，Ｇ，Ｂデータを毎回アクセスし、専用ハードウェアに転送する方式がある。図３にこの方式の構成図を示す。図３では、各印字色ごとに２バンド分のメモリを第２記憶手段として構成し、この第２記憶手段に随時、第１記憶手段からデータ転送を実行する構成である。この方式では、ＰＣから専用ハードウェアへのデータ転送を非常に高速に行う必要があるという問題がある。
【００１３】
本発明は、このような点に鑑みてなされたものであり、タンデム方式のカラーページプリンタで出力するための印刷データをカラーページプリンタで出力可能なデータ構造に展開する印刷データ処理装置において、専用ハードウェア内の中間データメモリリソースとＰＣから専用ハードウェアへのデータ転送リソースを印刷データの内容に応じて効率的に利用し、限定されたリソースで最も高速に出力装置に印字データを供給する印刷データ処理装置を提供することを目的としている。
【００１４】
さらに、ＰＣで中間データを生成し専用ハードウェアで中間データを展開処理するシステム構成において、ＰＣの処理負荷を最小にする印刷データ処理装置を提供することを目的としている。
【００１５】
【課題を解決するための手段】
本発明の印刷データ処理装置は、上述の目的を達成する構成を有する印刷データ処理装置であり、所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理装置であって、印刷データを入力する入力手段と、入力手段に入力された印刷データを解析して中間データを生成する中間データ生成手段と、中間データを所定の大きさのバンド単位の中間データに分割するバンド分割手段と、バンド分割手段によって分割されたバンド単位の中間データを少なくとも１ページ分記憶する第１記憶手段と、第１記憶手段から順次出力されるバンド単位の中間データを入力し記憶する第２記憶手段であり、バンド単位の入力中間データを順次更新するバンドバッファ領域と、バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とを有する第２記憶手段と、第１記憶手段から第２記憶手段へ中間データを転送する転送手段と、第２記憶手段に記憶された中間データをバンド毎に読み出して出力装置で出力可能なデータ構造に展開する展開処理手段と、第１記憶手段に記憶されるバンド単位の中間データのデータ量に基づいて、第２記憶手段中の前記ブロックバッファ領域のメモリ領域の分割を実行し、該分割されたブロックバッファメモリ領域の分割態様に基づいて第１記憶手段から第２記憶手段への中間データ転送を制御する中間データ転送・制御手段とを有することを特徴とする。
【００１７】
さらに本発明の印刷データ処理装置において、中間データ転送・制御手段は、第１記憶手段に記憶されるバンド単位の中間データのデータ量中、最大の中間データ量を有するバンドの中間データを記憶可能な容量に基づいて第２記憶手段中のブロックバッファ領域のメモリ領域分割を実行することを特徴とする。
【００１８】
さらに本発明の印刷データ処理装置において、中間データ転送・制御手段は、第２記憶手段における中間データ記憶構成に基づいて、転送手段において実行される第１記憶手段から第２記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする。
【００１９】
さらに本発明の印刷データ処理装置において、中間データ転送・制御手段は、第２記憶手段中のブロックバッファ領域のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて第１記憶手段から第２記憶手段への中間データ転送のデータ転送順序を決定する構成を有することを特徴とする。
【００２０】
さらに本発明の印刷データ処理装置において、展開処理手段は、中間データに含まれる個々の画素の色を定量的に表す複数の色データから、出力装置の複数の印字装置の記録色に対応した色データに変換する色変換処理を含むことを特徴とする。
【００２１】
さらに本発明の印刷データ処理装置において、第２記憶手段は、文字・図形の描画命令に対する中間データのための記憶手段と画像の描画命令に対する中間データのための記憶手段とを備え、少なくとも画像の描画命令に対する中間データのデータ量に基づいて、画像の描画命令に対する中間データのための記憶手段の記憶構成が制御されることを特徴とする。
【００２２】
さらに本発明の印刷データ処理装置において、出力装置は出力速度可変に構成されており、バンド単位の中間データのデータ量に基づいて、出力速度が決定されることを特徴とする。
さらに、本発明の印刷データ処理方法は、所定の描画命令で記述された印刷データを変換処理し、並列印字処理が可能な記録色に対応した複数の印字装置を備えた出力装置において出力可能な印字データとして供給する印刷データ処理方法であって、印刷データを入力する入力ステップと、入力ステップにおいて入力された印刷データを解析して中間データを生成する中間データ生成ステップと、中間データを所定の大きさのバンド単位の中間データに分割するバンド分割ステップと、バンド分割ステップにおいて分割されたバンド単位の中間データを少なくとも１ページ分、第１記憶手段に記憶する第１記憶ステップと、第１記憶手段から順次出力されるバンド単位の中間データを記憶する第２記憶手段内のブロックバッファ領域の領域分割を実行するメモリ分割ステップと、ブロックバッファ領域の分割態様に基づいて、第１記憶手段から第２記憶手段への中間データの転送制御を実行して、第１記憶手段から第２記憶手段へ中間データを転送する転送ステップと、第１記憶手段から順次出力されるバンド単位の中間データを第２記憶手段に記憶する第２記憶ステップであり、バンド単位の入力中間データを順次更新するバンドバッファ領域と、バンド単位の入力中間データを所定の期間保持するブロックバッファ領域とに区分して記憶する第２記憶ステップと、第２記憶手段に記憶された中間データをバンド毎に読み出して出力装置で出力可能なデータ構造に展開する展開処理ステップとを有することを特徴とする印刷データ処理方法にある。
【００２３】
上述の構成を有する本発明の印刷データ処理装置において、所定の描画命令で記述されている印刷データは、ネットワークを介して、あるいは印刷処理を行うＰＣ（パーソナルコンピュータ）等に入力される。ＰＣ等に入力された印刷データは、ＰＣのＣＰＵで実行される中間データ生成手段により、所定の中間データを生成する。中間データとは、後段で詳述するが入力印刷データを印刷装置において印刷可能なデータへ展開する中間段階のデータである。中間データ生成手段により生成された中間データは、同様にＰＣのＣＰＵで実行されるバンド分割手段により、所定のバンド境界で分割され、バンド毎にＰＣの第１記憶手段に記憶される。記憶された中間データは、ＰＣのＣＰＵで実行される中間データ転送・記憶制御手段により、少なくとも画像描画命令に対するバンド毎の中間データ量が評価され、評価された中間データ量に基づいて、第２記憶手段の記憶構成および中間データの転送順序が制御される。第２記憶手段に転送された中間データは、専用ハードウェアの展開処理手段により、出力装置の出力に応じて読み出され、ラスターデータに展開され、印刷が実行される。
【００２４】
【発明の実施の形態】
以下、本発明の印刷データ処理装置の具体的な構成について、複数の実施例を示して図面を用いて説明する。
【００２５】
［実施例１］
図１は本発明による印刷データ処理装置の原理構成を示すブロック図である。同図において、本発明による印刷データ処理装置は印刷データ１を入力する印刷データ入力手段２と、中間データ生成手段３と、バンド分割手段４と、第１記憶手段５と、転送手段６と、第２記憶手段７と、展開処理手段８と、中間データ転送・記憶制御手段９とから構成されている。展開処理手段８によって処理されたデータは印刷出力装置１０に出力され、印刷処理がなされる。以下、各手段の詳細について説明する。
【００２６】
印刷データ入力手段２は、本印刷データ処理装置が実装されているＰＣ、あるいは本印刷データ処理装置が実装されているＰＣとネットワークで接続されたＰＣで生成された印刷データ１を入力するための通信機能、および中間データ生成手段３へ出力されるまでの間、印刷データ１を一時記憶する機能等を備えたものである。本実施例で対象とする記述言語は、例えばＧＤＩであるが、Ａｃｒｏｂａｔで代表されるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＰｏｓｔＳｃｒｉｐｔで代表されるページ記述言語であってもよい。
【００２７】
中間データ生成手段３は、印刷データ入力手段２より入力された印刷データ１を定められた記述言語のシンタックスに従ってトークンとして切り出し、描画命令を実行し、中間データを生成する。本実施例で対象とする中間データは、例えば台形を基本図形要素とする描画オブジェクト毎の台形リストデータである。さらに詳しくは、中間データは、中間データを管理するための管理情報と台形データを何色で塗りつぶすかを示す色情報等から構成される付加情報と、描画オブジェクト毎の領域を表す台形リストデータで構成される。また、上記付加情報は文字・図形要素の描画命令に対するものと、画像要素の描画命令に対するものとは異なる。
【００２８】
バンド分割手段４は、中間データ生成手段３で生成された描画オブジェクト毎の中間データをバンド単位で展開処理手段８でラスターデータ化し出力装置１０で出力するため、所定のバンド境界で中間データを分割するものである。中間データ生成手段３およびバンド分割手段４を通してバンド毎に生成された中間データは、ページ毎に第１記憶手段５に格納される。
【００２９】
第１記憶手段５は、バンド分割手段４でバンド単位に分割された中間データをページ単位で格納し、展開処理手段８の要求に応じてバンド単位で中間データを第２記憶手段７に転送するための中間データバッファである。第１記憶手段５に記憶される中間データは、出力装置１０で連続的に出力される中間データで、入力された印刷データの全ページ、あるいは一部のページの印刷データに対応する中間データであり、少なくとも１ページ分の印刷データに対応する中間データが含まれている。
【００３０】
転送手段６は、第１記憶手段５に格納されたバンド単位の中間データを、中間データ転送・記憶制御手段９で決定された順番に従って第２記憶手段７に転送する。
【００３１】
第２記憶手段７は、バンド単位で入力される中間データを所定の期間保持する記憶領域と、バンド単位で入力される中間データを順次更新する記憶領域とから構成され、それぞれの記憶領域の大きさおよび構成は、中間データ転送・記憶制御手段９により制御される。さらに詳しくは、上記中間データを所定の期間保持する記憶領域は、タンデム方式のカラーページプリンタのＣ，Ｍ，Ｙ，Ｂｋの４色の印字装置の印字位置の差を吸収するためのものであるが、印字出力される中間データのデータ量に応じて保持するバンド数を増減させるものである。所定の期間保持する記憶領域の中間データは、保持される中間データが第１記憶手段から転送されるかわりに、中間データを順次更新する記憶領域に転送する。中間データを順次更新する記憶領域は、後段の展開処理手段８で、バンド単位で展開処理するための所謂入力バッファとなる領域で、ダブルバッファで構成される。尚、本実施例では、中間データを順次更新する記憶領域は固定で、中間データを所定の期間保持する記憶領域を可変とし、印字出力される中間データのデータ量に応じて記憶領域の大きさおよび構成を変更するよう構成されるものであるが、中間データを所定の期間保持する記憶領域、中間データを順次更新する記憶領域とも可変としても良い。
【００３２】
展開処理手段８は、第２記憶手段７に格納された中間データをバンド単位に読み出し、展開処理手段８内の出力バッファメモリに印字データ（ラスターデータ）を展開するものである。展開処理手段８内の出力バッファメモリは、ダブルバッファ構成で設けられ、一方の出力バッファメモリに印字データが展開処理されている間、他方の出力バッファメモリに蓄積された印字データは、出力装置１０の各印字装置の印字データ要求に応じて、各印字装置に出力されるよう構成されている。
【００３３】
中間データ転送・記憶制御手段９は、第１記憶手段５に格納された印字出力される中間データのデータ量を評価し、上記したように第２記憶手段７の記憶領域の大きさおよび構成を制御するとともに、第１記憶手段５から第２記憶手段７に転送する中間データのバンドの順番を制御するものである。
【００３４】
ここで、本発明の印刷処理装置の中間データ転送・記憶制御手段９によって実行される中間データの転送および制御の概要を、図４に示す第２記憶手段７における中間データ記憶構成および中間データ転送の例を用いて説明する。図４において、第１記憶手段における中間データの記憶はバンド単位で行われる。第１記憶手段に記憶された中間データの一部は第２記憶手段中の「中間データを所定の期間保持する領域：ブロックバッファ」に転送され、一部が直接「中間データを順次更新する領域：バンドバッファ」に転送される。図４で示すこれらのメモリ領域構成は、後段で詳細に説明するが、図１３に示すブロックバッファ部７０４と、バンドバッファ部７０３に対応する。図４の「中間データを所定の期間保持する領域」に転送された中間データは、必要に応じて「中間データを順次更新する領域」に転送される。「中間データを順次更新する領域」に転送されたデータは、展開処理ハードウェア（ＨＷ）部に転送され、順次展開処理がなされて、展開処理終了後、印刷処理が実行される。
【００３５】
図４に示すように「中間データを所定の期間保持する領域」、および「中間データを順次更新する領域」を第２記憶手段中に構成することによって、第１記憶手段から第２記憶手段へのデータ転送回数を減少させることができる。この具体的なデータ転送方法については図１３および図１４を用いて後段で詳述する。さらに、このように「中間データを所定の期間保持する領域」、および「中間データを順次更新する領域」を第２記憶手段中に構成することによって、第２記憶手段のメモリ量に対して中間データ量が小さい場合は中間データの転送回数を少なくし、第２記憶手段のメモリ量に対して中間データ量が大きい場合は中間データのデータ量に応じて転送回数を増加させるような構成をとることができる。従って、ＰＣのデータ転送のためのリソースを大きく費やすＰＣの第１記憶手段から第２記憶手段へ中間データ転送を、第２記憶手段のメモリ量と中間データのデータ量に応じて最小化するため、ＰＣへの負荷を小さくすることが可能となる。
【００３６】
出力装置１０は、Ｃ，Ｍ，Ｙ，Ｂｋの４色の印字装置を備え、各印字装置毎に展開処理手段８の出力バッファメモリから出力される印字データを受け取って、記録用紙に印字し出力するタンデム方式のカラーレーザプリンタである。図７にタンデム方式のカラーページプリンタの構成例を示す。図７において、タンデム方式のカラーレーザプリンタは、記録色に対応した各印字装置、即ちＢｌａｃｋデータ印字装置３７、Ｙｅｌｌｏｗデータ印字装置３７’、Ｍａｇｅｎｔａデータ印字装置３７’’、Ｃｙａｎデータ印字装置３７’’’と、記録用紙５１を搬送する搬送ベルト５２と、定着装置５３等で構成されている。また、各印字装置は、図７の右端の印字装置に代表的に示すように、感光体ドラム３７１、帯電器３７２、レーザ走査装置３７３、記録色に対応した現像装置３７４、転写装置３７５等から構成されている。レーザ走査装置３７３は、赤外半導体レーザ、レンズ、ポリゴンミラーより構成され、数十μｍのスポット光となって感光体ドラム３７１を走査する。感光体ドラム３７１は、帯電器３７２により帯電されており、光信号により、静電潜像が形成される。潜像は記録色に対応した現像装置３７４上の２成分磁気ブラシ現像によりトナー像となり、転写装置３７５によって記録用紙５１上に転写される。この工程を、Ｂｌａｃｋ、Ｙｅｌｌｏｗ、Ｍａｇｅｎｔａ、Ｃｙａｎの順に繰り返し、記録用紙上に多重転写する。最後に、搬送ベルト５２より記録用紙を剥離し、定着装置５３でトナーを定着する。
【００３７】
次に本実施例の実装の形態について説明する。図５は本実施例の印刷データ処理装置全体が実装されるハードウェアの構成例である。図５において、本実施例は、ＰＣ（パーソナルコンピュータ）２１と、ＰＣ２１が接続されるネットワーク２３と、専用ハードウェア３６と、ＰＣ２１と専用ハードウェア３６を接続する高速シリアルバス３５と、出力装置１０とで構成されている。
【００３８】
ネットワーク２３は、例えばＥｔｈｅｒｎｅｔであり、ネットワーク２３を介して図示しないＰＣやワークステーションから印刷データ１が入力される。
【００３９】
ＰＣ２１は、ＣＰＵ（中央演算処理装置）２４と、メモリコントローラ２５と、ＤＲＡＭ２６と、システムバスコントローラ２７と、ネットワークインタフェース２８と、磁気ディスク２９と、ＣＰＵバス３１と、システムバス３２とから構成される一般的なものである。システムバス３２は、例えばＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐａｃｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスであり、高速のデータ転送が可能である。
【００４０】
高速シリアルバス３５は、例えばＩＥＥＥ１３９４高性能シリアルバスである。ＩＥＥＥ１３９４高性能シリアルバスを設けることにより、ＰＣ２１と専用ハードウェアとの間の中間データ転送は、アイソクロナス転送モードにより一定の速度で転送することが可能となる。
【００４１】
ＰＣ２１には、本実施例の印刷データ入力手段２、中間データ生成手段３、バンド分割手段４、第１記憶手段５、中間データ転送・記憶制御手段９に相当する機能が実装される。例えば、磁気ディスク２９は、印刷データ入力手段２、中間データ生成手段３、バンド分割手段４、転送手段６、中間データ転送・記憶制御手段９の各処理のための所定のプログラム等の格納領域、印刷データ入力手段２の印刷データ格納領域として使用される。また、ＤＲＡＭ２６は、中間データ生成手段３、バンド分割手段４、転送手段６、中間データ転送・記憶制御手段９の各処理のためのワークエリア、第１記憶手段５のメモリ領域として使用される。さらに、ＣＰＵ３１では印刷データ入力手段２、中間データ生成手段３、バンド分割手段４、転送手段６、中間データ転送・記憶制御手段９の各処理のための所定のプログラム各処理が実行される。
【００４２】
図６は専用ハードウェア３６の構成例である。図６において専用ハードウェア３６は、例えばシリアルバスインターフェース４１と、中間データ転送・記憶制御手段９の指示に基づき第２記憶手段のメモリ構成を制御するメモリ制御ＬＳＩ４２と、第２記憶手段のメモリを提供するＤＲＡＭ４３と、ＤＲＡＭ４３から展開処理するための中間データを読み出し台形データ処理と画像処理に振り分けるための中間データ制御ＬＳＩ４４〜４４’’’と、台形データからラスターデータに展開処理する台形データ処理ＬＳＩ４５と、色変換および解像度変換等の画像処理を実行する画像処理ＬＳＩ４６と、出力バッファメモリのためのＤＲＡＭ４７と、出力バッファメモリのラスターデータを出力装置１０の各印字装置３７〜３７’’’に出力するためのビデオインターフェースＬＳＩ４８とから構成されている。尚、図６に示すように、中間データ制御ＬＳＩ４４〜４４’’’からビデオインターフェースＬＳＩ４８は、各印字装置３７〜３７’’’に対応して４組づつ設けられている。
【００４３】
以上、本発明を適用する印刷データ処理装置の概要および実装の形態について記述した。以下、本発明の主要部の詳細について説明する。
【００４４】
初めに、この印刷データ処理装置における中間データ生成とバンド分割の詳細について説明する。
【００４５】
中間データ生成手段３は、図８に示すように、字句解釈部３０１と、トークン解釈部３０２と、命令実行部３０３と、描画状態記憶部３０４と、画像処理部３０５と、ベクターデータ生成部３０６と、フォント管理部３０７と、マトリックス変換部３０８と、ショートベクター生成部３０９と、台形データ生成部３１０とから構成される。
【００４６】
字句解析部３０１は、印刷データ入力手段より入力された印刷情報ファイルを定められた記述言語のシンタックスに従ってトークンとして切り出し、その切り出したトークンをトークン解釈部３０２に出力するものである。
【００４７】
トークン解釈部３０２は、字句解析部３０１から入力されたトークンを解釈し、内部命令やその引数に変換し、それら内部命令と引数の組を命令実行部３０３へ転送する。例えば内部命令には、文字／図形／画像の描画を実行する描画命令や、色や線属性など描画必要な情報を設定する描画状態命令などがある。
【００４８】
命令実行部３０３は、トークン解釈部３０２から送られてきた内部命令を実行する。ここで実行する命令は、主に描画命令と描画状態命令がある。例えば描画命令には、以下の表１に示すように３種類の描画命令があり、それぞれの描画に必要な情報が示されている。このうちアンダーラインがある情報については、描画命令中の引数として与えられ、その他の情報は予め初期設定や先行する命令などにより描画状態記憶部３０４に記憶されている。描画命令の実行は、画像描画以外は受け取った描画命令をそのままベクターデータ生成部３０６へ転送する。画像描画の場合は、受け取った描画命令を画像処理部３０５へ転送するとともに、画像ヘッダの縦と横の大きさをベクターデータ生成部３０６へ転送する。また描画状態命令については、命令を描画状態記憶部３０４へ転送する。
【００４９】
【表１】
0003671633.tif 000002
【００５０】
画像処理部３０５は、命令実行部３０３から入力された命令の引数である入力画像ヘッダと入力画像データを、描画状態記憶部３０４から獲得した変換マトリックスを使ってアフィン変換したり、入力画像の色空間を入出力装置の色空間に依存しない色空間に変換する色空間変換などの処理を行い、出力画像ヘッダと出力画像データを生成してバンド分割手段へ転送する。また、画像処理部３０５の処理機能として、中間データを削減するために、画像データに対して圧縮処理を施し、専用ハードウェア３６で伸長処理を施しても良い。静止画像に対する圧縮処理として、例えばＪＰＥＧ圧縮が一般的である。
【００５１】
描画状態記憶部３０４は、命令実行部３０３から受け取った命令に含まれる引数の値で、例えば表１に示したアンダーラインの無い情報についての値の設定を行い、それらを記憶する。また、画像処理部３０５、ベクターデータ生成部３０６、マトリックス変換部３０８、ショートベクター生成部３０９、バンド分割手段４（図１参照）などの要求に従って、それらの値を転送する。
【００５２】
ベクターデータ生成部３０６では、命令実行部３０３から送られてきた命令と引数、描画状態記憶部３０４の値を使用して、塗りつぶし描画を除く、新たに描画するためのベクターデータを生成する。まず文字描画の場合について説明する。引数で与えられた文字コードと描画状態記憶部から獲得したフォントＩＤをフォント管理部へ転送して、文字のアウトラインデータを獲得する。獲得したアウトラインデータには、描画原点（カレントポイント）の情報が含まれていないので、描画状態記憶部３０４から獲得したカレントポイントのオフセットをアウトラインデータに加えることによって、目的のベクターデータを生成する。画像描画の場合には、引数で与えられた画像ヘッダの縦と横のサイズからそれに対する矩形ベクターを生成し、描画状態記憶部３０４から獲得したカレントポイントのオフセットを加えることで目的のベクターデータを生成する。ストローク描画の場合は、引数で与えられたベクターと描画状態記憶部３０４から獲得した各種の線属性から、太さを持った線のアウトラインベクターを生成する。このように生成したベクター（塗りつぶし描画の場合は命令実行部３０３から直接受け取ったベクター）を、マトリックス変換部３０８へ転送する。
【００５３】
フォント管理部３０７は、各種フォントに対するアウトラインベクターデータを記憶するとともに、与えられた文字コードとフォントＩＤによって、その文字に対するアウトラインベクターデータを提供する。
【００５４】
マトリックス変換部３０８は、ベクターデータ生成部３０６から受け取ったベクターデータを、描画状態記憶部３０４から獲得した変換マトリックスによってアフィン変換する。このアフィン変換の主な目的は、アプリケーションの解像度（座標系）からプリンタの解像度（座標系）に変換するためのものである。変換マトリックスには下式（１）に示すような３ｘ３のものが使われ、入力ベクターデータ（Ｘｎ，Ｙｎ）は、出力ベクターデータ（Ｘｎ’，Ｙｎ’）に変換されてショートベクター生成部３０９へ送られる。
【００５５】
【数１】
0003671633.tif 000003
【００５６】
ショートベクター生成部３０９は、入力されたベクターの中に曲線のベクターがある場合にその曲線のベクターを、誤差が描画状態記憶部３０４から獲得したフラットネス（ｆｌａｔｎｅｓｓ）値より小さくなるように、複数のショートベクターで近似する処理を行う。例えば曲線のベクターには、４つの制御点で表現されるベジエ曲線が使われる。この場合ショートベクター化の処理は、ベジエ曲線を再帰的に分割し、高さがフラットネス（ｆｌａｔｎｅｓｓ）で与えられた値より小さくなった時点で分割を終了する。そして分割された各ベジエ曲線の始点と終点を順番に結ぶことにより、ショートベクター化が完了する。生成されたショートベクターは、バンド分割手段４へ送られる。
【００５７】
台形データ生成部３１０は、入力されたベクターデータから、描画領域を示す台形データ（三角形の場合もあるがデータ構造は台形と同じである）の集合を生成する。例えば図９（ａ）に示す太線で示された多角形のベクターは、４つの台形により描画領域が示される。尚、この台形は出力装置のスキャンラインに平行な２辺を持った台形であり、１つの台形は図９（ｂ）に示すように（ｓｘ，ｓｙ，ｘ０，ｘ１，ｘ２，ｈ）の６つのデータで表現される。生成された台形は、バンド分割手段４へ送られる。
【００５８】
図１のバンド分割手段４の構成を図１０に示す。図１０に示すようにバンド分割手段４はバンド分解部４０１と、中間データ管理部４０２とから構成される。バンド分解部４０１は、入力された台形データのうち複数のバンドにまたがる台形データをバンド毎の台形データに分割し、バンド毎に台形データを中間データ管理部４０２へ転送する。例えば図１１では、４つの台形データ（図１１左の太い破線で分割）がバンド分解部によって６つの台形データ（図１１右図）に分割される。
【００５９】
中間データ管理部４０２は、バンド毎に入力された台形データに付加情報をつけて中間データを生成し、バンド毎に中間データを第１記憶手段５に書き込む処理を行う。付加情報は、中間データを管理するための管理情報と、台形データを何色で塗りつぶすかを示す色情報である。文字／図形の描画命令に対する管理情報は、オブジェクトＩＤ，オブジェクトの種類，台形数のデータであり、例えばＲＧＢの値が色情報である。これらのデータは、図１２（ａ）に示すように、描画命令によって生成されたバンド毎の台形データの前に付加される。画像の描画命令に対する管理情報は文字／図形と同じであるが、色情報は画像ヘッダと画像データとなる。また図１２（ｂ）に示すように、画像ヘッダと画像データは、描画命令によって生成されたバンド毎の台形データそれぞれに対して１つずつ付加される。また、画像データは圧縮された形で格納される場合もあり、画像ヘッダに圧縮処理の有無が含まれている。以上の各中間データは記録色毎、バンド毎にまとめられ、各バンドの最終データにＥＯＤ（Ｅｎｄ  Ｏｆ  Ｄａｔａ）を表すデータを付加して、バンドデータの終了を明確にしている。
【００６０】
次に、図１のブロック図における第１記憶手段５から第２記憶手段７へのデータ転送およびそれらを制御する中間データ転送・記憶制御手段９について説明する。
【００６１】
図１３に第２記憶手段７の構成例を示す。図１３において、第２記憶手段７はメモリ構成およびメモリ間のデータ転送を制御するメモリ制御部７０１とメモリ部７０２から構成されており、さらにメモリ部７０２は、前記したように中間データを順次更新する記憶領域（バンドバッファ部７０３）と中間データを所定の期間保持する記憶領域（ブロックバッファ部７０４）から構成され、バンドバッファ部７０３は固定領域として確保され、ブロックバッファ部７０４は可変領域として、中間データの記憶構成はメモリ制御部７０１により制御される。また、メモリ制御部７０１とメモリ部７０２は、図６のメモリ制御ＬＳＩ４２とＤＲＡＭ４３にそれぞれ対応している。バンドバッファ部７０３は、Ｃ，Ｍ，Ｙ，Ｂｋの４色の印字装置に対応して４組で構成されており、さらにそれぞれはダブルバッファ構成の中間データバッファで、展開処理手段８の要求に応じて一方の中間データバッファから中間データが出力されているとき、他方の中間データバッファには第１記憶手段５より、あるいはブロックバッファ部７０４より、次のバンドの中間データが入力されるよう構成されている（図４参照）。
【００６２】
また、文字・図形のみからなる印刷データの中間データに関しては、非常に複雑な印刷データでも１ページ分で最大でも３ＭＢｙｔｅ程度と小さく、メモリ量を設計する場合は、画像データのみを考えればよい。例えば、中間データとして格納する画像データの解像度の最大値を３００ｄｐｉ、ＲＧＢ各色８ｂｉｔ、プリンタ装置２２の記録サイズをＡ３サイズ（約３００ｍｍ×約４２０ｍｍ）、バンド分割数を６４、圧縮無し、を仮定すると、バンドバッファ部７０３のメモリサイズは、下式で示すように全体で約６．６ＭＢｙｔｅとなる。
【００６３】
【数２】
0003671633.tif 000004
【００６４】
上記式から、バンドバッファ部７０３のメモリサイズは全体で６．６ＭＢｙｔｅ、各色ごと１．６５ＭＢｙｔｅ（６．６［ＭＢｙｔｅ］÷４）、各バンドごと約０．８２ＭＢｙｔｅ（１．６５［ＭＢｙｔｅ］÷２）であることが理解される。一方、ブロックバッファ部７０４は、１バンド分のサイズとしてバンドバッファ部７０３のように固定領域（約０．８２ＭＢｙｔｅ）をとるのではなく、入力される画像データに応じて１バンド分のサイズを変更し、限定されたメモリ量で、所定期間記憶するバンド数をできるだけ多くなるよう構成されるものである。例えば、入力される印刷データに含まれる画像データの解像度が１５０ｄｐｉ、画像の主走査方向（上記式２において記録サイズが３００ｍｍの方向）サイズが７５ｍｍであるとすると、１バンド分のサイズは上記した式（２）の場合と比較すると、以下の式（３）で示すように１／１６となる。
【００６５】
【数３】
0003671633.tif 000005
【００６６】
さらに、この画像データの解像度が１５０ｄｐｉ、画像の主走査方向サイズが７５ｍｍである条件において、Ｃ，Ｍ，Ｙ，Ｂｋの４色の印字装置の最大差を６０バンド分と仮定すると、下式（４）に示すようにブロックバッファ部７０４として、約３．１ＭＢｙｔｅのメモリを保持していれば、中間データを順次保持することが可能となる。
【００６７】
【数４】
０．８２［ＭＢｙｔｅ］×６０［バンド］×１／１６［必要なメモリ量の比］
＝３．１［ＭＢｙｔｅ］．．．．．（４）
【００６８】
上記したように、中間データを順次保持することが可能であれば、第１記憶手段５から第２記憶手段７へのデータ転送は常に１バンドあたり一回づつで済むことになり、ＰＣのリソースに影響を与えることが少なくなる。従って、ブロックバッファ部７０４部に保持される中間データを増加させることにより、第１記憶手段５から第２記憶手段７へのデータ転送を少なくすることができる。このように、第１記憶手段５から第２記憶手段７へのデータ転送は、第２記憶手段中のブロックバッファ部７０４へ転送する中間データ量を変更することによって、その回数を少なくするように制御することが可能となる。
【００６９】
図１４にブロックバッファ部７０４に１バンド毎に中間データを保持した場合の中間データ転送の一例を説明するための図を示す。図１４では、図の都合上、Ｃ，Ｍ，Ｙ，Ｂｋの印字位置の最大差（ＣからＢｋ）を１０バンド分としているが、印字位置のずれが他の値であっても、本発明の印刷データ処理装置の構成の中間データ転送に与える効果は、ほぼ同様のものとなる。図１４においてバンドの並びは、Ａ０、Ｂ１、Ａ２、Ｂ３、Ａ４、Ｂ５．．．の順であり、このバンド順で各印字位置において印字が実行される。
【００７０】
図１４において、図１４中の右欄は、各色Ｂｋ、Ｙ、Ｍ、Ｃごとの印字位置において印字されるバンドを示している。左端のＢｋから右端のＣの印字位置との差は１０バンドである。左欄「転送されるバンド」が各色Ｂｋ、Ｙ、Ｍ、Ｃごとに転送すべきバンドデータを示している。データ中、Ａｘｘ（ｘｘはバンドＮｏ．）はブロックバッファ部７０４に所定期間保持されるデータであり、ブロックバッファ部７０４の保持データはバンドバッファ部７０３を経由して展開処理手段に転送され、展開処理の後、出力される。Ｂｘｘは、第１記憶手段からブロックバッファ部７０４を介さずに直接バンドバッファ部７０３に転送されるデータを示している。データがバンドバッファ部７０３に転送された後は、その後の展開処理および印字処理を印字スピードに間に合うように実行するリアルタイム処理とするのが一般的であり、バンドバッファ部７０３へのデータ転送後の処理に遅れが発生すると印字ミスを招くこととなる。
【００７１】
図１４において、最下行はＢｋ印字位置に「Ａ０」が示されており、Ｂｋ印字位置においてＡ０バンドが印字されることを示し、左欄のＢｋ用バッファの値「Ａ０」は、この印刷のためにＢｋバッファから転送すべきバンドがＡ０であることを示している。この時点では、Ｙ、Ｍ、Ｃの印字位置において印字されるデータはない。
【００７２】
Ｂｋ印字位置の値が「Ｂ９」のときに、もっとも離れたＣ印字位置の印字が開始される。このときのＣ印字位置の印字バンドは「Ａ０」である。このタイミングで各色ごとの印字バンドは、Ｂｋが「Ｂ９」、Ｙが「Ａ６」、Ｍが「Ｂ３」、Ｃが「Ａ０」である。これらの各バンドデータ中「Ａ６」および「Ａ０」はブロックバッファ部７０４に保持されているデータをバンドバッファ部７０３に転送すればよく、「Ｂ９」、および「Ｂ３」のバンドデータについては、第１記憶手段からバンドバッファ部７０３に転送することが必要となる。次の印字タイミングにおける印字バンドは、Ｂｋが「Ａ１０」、Ｙが「Ｂ７」、Ｍが「Ａ４」、Ｃが「Ｂ１」である。これらの各バンドデータ中「Ａ１０」および「Ａ４」はブロックバッファ部７０４に保持されているデータをバンドバッファ部７０３に転送すればよく、「Ｂ７」、および「Ｂ１」のバンドデータについては、第１記憶手段からバンドバッファ部７０３に転送することが必要となる。
【００７３】
ブロックバッファ部７０４は、所定バンドのデータ量を保持することが可能な構成を有する。図１４に示すデータ転送構成を実現するためには、例えばブロックバッファは最低限「Ａ０、Ａ２、Ａ４、Ａ６、Ａ８」を記憶する容量を有することが必要であり、Ｃ印字位置においてバンド「Ａ０」の印字が終了した時点で、その後は「Ａ０」データが不要となるので次のバンドデータ「Ａ１０」を第１記憶手段から転送し、Ａ０データを消去するように構成すればよい。ブロックバッファ部７０４は、さらに大きな容量を有していてもよいが、利用可能なメモリスペースを考慮して、転送回数を減少させるために最も効率的な構成に領域分割がなされる。この分割は転送される中間データに基づいて制御される。この制御は、中間データ転送・記憶制御手段９によって実行される。中間データ転送・記憶制御手段９については後段で詳述するが、例えば、第１記憶手段５に記憶された出力装置１０で連続出力する中間データのデータ量をバンド単位で評価し、連続出力するバンドの内、最大の中間データ量を検出し、このデータ量に基づいて第２記憶手段のメモリ領域の分割構成を制御する。
【００７４】
上述のように、印字位置の差に相当する中間データをブロックバッファ部７０４が１バンド毎に保持することができるとして、第１記憶手段５から第２記憶手段７へのデータ転送について検討する。図１４に示す例において、すべての印字位置Ｂｋ、Ｙ、Ｍ、Ｃでの印字が開始した後について検討する。Ｂｋ印字位置においてバンド「Ｂ９」の印字が開始された後をみると、Ｂｋ印字位置がバンド「Ｂ９」印字のタイミングでは、転送されるバンドの対応する行に示すように、「Ｂ９」および「Ｂ３」の２バンドについて、第１記憶手段から第２記憶手段のバンドバッファへの転送が必要となる。次のＢｋ印字位置がバンド「Ａ１０」印字のタイミングでは、「Ａ１０」、「Ｂ７」および「Ｂ１」の３バンドがそれぞれ第１記憶手段から第２記憶手段のブロックバッファ（バンド「Ａ１０」）およびバンドバッファ（バンド「Ｂ７」、「Ｂ１」）へ転送される。その後、Ｂｋ印字バンドが「Ｂ１１」のタイミングでは第１記憶手段から第２記憶手段へ２バンドの転送、Ｂｋ印字バンドが「Ａ１２」のタイミングでは第１記憶手段から第２記憶手段へ３バンドの転送と繰り返される。
【００７５】
上述のようなブロックバッファ構成を有する本発明の印刷データ処理装置と、ブロックバッファを持たない装置とのデータ転送について比較検討する。ブロックバッファを持たない装置においては、すべての印字タイミングにおいて第１記憶手段から各色のバンドバッフアへのダイレクト転送が必要となるので１印字タイミングで印字色数に対応する４バンドの転送が必要になる。これに対して本発明のブロックバッファ構成を有する印刷データ処理装置においては、図１４に示す例から明らかなように、１つの印字タイミングで２バンド転送あるいは３バンド転送を行えばよい。従って、第１記憶手段から第２記憶手段への転送回数は、本発明の印刷データ処理装置においては、ブロックバッファが無い場合に比較して５／８（２［バンドｎ］＋３［バンドｎ＋１］）／（４［バンドｎ］＋４［バンドｎ＋１］＝５／８）となり、転送回数の削減が達成される。
【００７６】
また、図１４に示すように、バンドバッファ部への転送は、順次第１記憶手段５からバンドバッファ部７０３へのデータ転送とブロックバッファ部７０４からバンドバッファ部７０３へのデータ転送が切りかえられるが、これはメモリ制御部７０１により制御される。
【００７７】
また、図１４に示す例におけるバンド単位の中間データの第１記憶手段５から第２記憶手段７へのデータ転送順序は、図１４の転送されるバンドの欄の下段から順次上段へ向かう順序である。図１４の場合、Ａ０、Ｂ１、Ａ２．．．と、それぞれのバンドの中間データを「Ａｘｘ」についてはブロックバッファ部７０４へ、「Ｂｘｘ」についてはバンドバッファ部７０３へ転送する。第１記憶手段から第２記憶手段への転送順序は、ブロックバッファ部７０４のメモリ領域分割構成と中間データ転送順序とを対応付けたテーブルに基づいて決定される。この決定は、中間データ転送・制御手段９によって実行される。中間データ転送・制御手段９については、後段で詳述する。
【００７８】
尚、上記仮定では画像データに対して圧縮処理を実施していないが、例えばＪＰＥＧ圧縮を施すことによりデータ量は大きく削減できるため、ブロックバッファ部７０４の１バンド分のメモリサイズはさらに小さくできるため、ブロックバッファ部７０４に保持できるバンド数は増加し、第１記憶手段５から第２記憶手段７へのデータ転送回数をより小さくすることができる。
【００７９】
転送手段６は、例えばシステムバス３２が前記したようにＰＣＩバス、高速シリアルバスがＩＥＥＥ１３９４の場合、図５のシステムバスコントローラ２７をマスタ・デバイス、図５のシステムバスインターフェース３４をスレーブ・デバイスとして、図５のＤＲＡＭ２６から図６のＤＲＡＭ４３への中間データのバースト・データ転送を実行する。このバースト・データ転送を制御するためのＰＣのＣＰＵ２４を利用した所定のプログラムは、バンド単位で中間データを第１記憶手段５から第２記憶手段７に展開処理手段８の要求に応じてリアルタイムに転送するために、リアルタイム処理クラスの優先度で実行される。また、図１４に示すような第１記憶手段５からバンドバッファ部７０３へのデータ転送バンドの切換えは、中間データ転送・記憶制御手段９の指示に基づいて実行される。
【００８０】
図１５に中間データ転送・記憶制御手段９の構成例を示す。図１５において、中間データ転送・記憶制御手段９は、中間データ量評価部９０１と、メモリ構成決定部９０２と、メモリ構成・データ転送順序指示部９０３とから構成される。中間データ量検出部９０１は、第１記憶手段５に記憶された出力装置１０で連続出力する中間データのデータ量をバンド単位で評価し、連続出力するバンドの内、最大の中間データ量を検出するものである。
【００８１】
中間データ量検出部９０１で検出された最大の中間データ量は、メモリ構成決定部９０２に転送され、メモリ構成が決定される。例えば、Ｃ，Ｍ，Ｙ，Ｂｋの４色の印字装置の差を６０バンド分、ブロックバッファ部７０４のメモリ量を８ＭＢｙｔｅと仮定した場合、最大中間データ量が８［ＭＢｙｔｅ］÷６０［バンド］＝０．１３ＭＢｙｔｅ以下であれば、ブロックバッファ部７０４を約０．１３ＭＢｙｔｅのバンドサイズに分割し、出力装置１０で連続出力する分の中間データを順次保持することが可能となる。また、最大中間データ量が０．１３ＭＢｙｔｅ以上で０．２６ＭＢｙｔｅ以下の場合は、ブロックバッファ部７０４を約０．２６ＭＢｙｔｅのバンドサイズに分割し、１バンド毎に保持することが可能になり、図１４に示すような中間データ転送となる。上記した例では、説明を簡単にするために０．１３ＭＢｙｔｅ以上で０．２６ＭＢｙｔｅ以下の場合は、全てブロックバッファ部７０４を約０．２６ＭＢｙｔｅのバンドサイズに分割する例について示したが、中間のバンドサイズをとることにより平均的な転送回数を減らすことができる。
【００８２】
メモリ構成・データ転送順序指示部９０３は、メモリ構成決定部９０２に決定されたブロックバッファ部７０４のメモリ構成を第２記憶手段７のメモリ制御部７０１に通知するとともに、図１４に示すような中間データ転送順序を算出し、転送手段６および第２記憶手段７のメモリ制御部７０１に通知するよう構成されている。尚、中間データ転送順序は、ブロックバッファ部７０４のメモリ構成に対応する中間データ転送順序を予め算出したテーブルデータを保持することにより、瞬時に決定される。
【００８３】
次に、展開処理手段８における中間データのラスターデータ化の処理フローについて説明する。
【００８４】
図１６に展開処理手段８の構成例を示す。図６に示すように展開処理手段８は、Ｃ，Ｍ，Ｙ，Ｂｋの４色の各印字装置に対応して４組の展開処理部を備えているが、同一構成のため図１６では１組のみ示した。図６において、展開処理手段８は中間データ制御部８０１と、台形データ処理部８０２と、画像データ処理部８０４と、出力バッファメモリ部８０３とから構成されている。中間データ制御部８０１は、ダブルバッファ構成のバンドバッファ部７０３に交互に入力される中間データをオブジェクト毎に順次読み出し、中間データの管理情報を読み出し、当該オブジェクトが文字・図形要素に対する中間データか、あるいは画像要素に対する中間データかを検出し、台形データ処理部８０２および画像データ処理部８０４に転送する。即ち、文字・図形要素に対する中間データの台形データを台形データ処理部８０２に、色情報を画像データ処理部８０４に転送し、画像要素に対する中間データの形状を表す台形データを台形データ処理部８０２に、色情報に含まれる画像データを画像データ処理部８０４に転送する。その他、中間データ制御部８０１は各オブジェクトの展開処理およびバンド内の中間データの処理を管理する。
【００８５】
台形データ処理部８０２は、中間データの台形データ（ｓｘ，ｓｙ，ｘ０，ｘ１，ｘ２，ｈ）を、図１８に示されるような４点からなるデータ形式に変換して台形領域を描画するものである。図１７に台形データ処理部８０２のブロック図を示す。図１７において、台形データ処理部８０２は、中間データ入力部８０２１と、座標計算部Ａ８０２２および座標計算部Ｂ８０２３と、エッジ描画部８０２４とから構成されている。
【００８６】
中間データ入力部８０２１は、バンドメモリ部７０３から１つ１つの台形をなすデータを読み込んで、座標計算部Ａ８０２２および座標計算部Ｂ８０２３に台形データを出力する。座標計算部Ａ８０２２は、台形の左側のエッジ（図１８のエッジＰ０Ｐ１）の座標計算を担当し、エッジ上の座標値をＰ０からＰ１に向かって順に出力する。座標計算部Ｂ８０２３は、台形の右側のエッジ（図１８のエッジＰ２Ｐ３）の座標計算を担当し、エッジ上の座標値をＰ２からＰ３に向かって順に出力する。エッジ描画部８０２４は、座標計算部Ａ８０２２及び座標計算部Ｂ８０２３から入力される座標値により、台形のｘ軸に平行な直線を描画する。
【００８７】
図１９に、座標計算部のブロック図を示す。入力された台形データ（ｓｘ，ｓｙ，ｘ０，ｘ１，ｘ２，ｈ）はＤＤＡパラメータ計算部８０２２１で４点の台形データ（Ｐ０，Ｐ１，Ｐ２，Ｐ３）に変換されて、傾きや残差の初期値などのＤＤＡのパラメータを計算し、ＤＤＡ処理部８０２２２に出力する。ＤＤＡ処理部８０２２２は、入力されたパラメータに基づいてＤＤＡ処理を行い、最後に求めた点に対する移動方向と移動量を出力する。座標更新部８０２２３は、入力された移動方向と移動量から現在保持している座標値を更新して出力する。
【００８８】
図２０は、エッジ描画部８０２４のブロック図である。エッジ描画部８０２４は、座標値Ａ／Ｂ及び画像データを入力して台形の内部領域を塗りつぶすものである。アドレス計算部８０２４１は、座標値Ａ／Ｂを入力して、描画するエッジ成分のアドレスを計算する。マスク演算部８０２４２は、座標値Ａ／Ｂの値を入力して、描画するワード中の有効なビットを表すマスクを出力する。データ演算部８０２４３は、入力された中間データが文字／図形要素の場合には台形領域によって固定的な色を表す色データを画像データ処理部８０３より入力し、この値を用いてスクリーン処理をして出力する。入力された中間データが画像要素の場合には、画像データ処理部８０３より画像データを入力し、スクリーン処理をして出力する。ＲｍｏｄＷ処理部８０２４２は、入力されたアドレス、マスク、データを用いて以下の処理をすることにより描画を行う。まず、アドレスにより、出力バッファメモリ８０４をリードする。これにより読み込まれたデータをＳｏｕｒｃｅ、マスクデータをＭａｓｋ、描画データをＤａｔａとすると、（Ｍａｓｋ＊Ｄａｔａ＋Ｍａｓｋ＃＊Ｓｏｕｒｃｅ）の値を演算して同一アドレスに書き戻す。ただし、＊は論理積、＋は論理和、＃は論理否定をそれぞれ表す。この処理は、描画するエッジが含まれるワード毎に繰り返し行われる。
【００８９】
図２１に画像データ処理部８０３のブロック図を示す。図２１において、画像データ処理部８０３は、色変換部８０３１と解像度変換部８０３２とから構成される。色変換部８０３１は、アプリケーションで作成された色空間、あるいは入出力装置の色再現特性に依存しない標準的な色空間から、出力装置１０の色空間および色再現特性に合わせた色データに変換するものである。また、色変換部８０３１は上記したように、文字／図形要素の固定的な色を表す色データと画像要素の画素毎の色データに対して色変換を行う。解像度変換部８０３２は、色変換された画像データを出力装置１０の解像度に合わせるために、画像データに対して補間近似を行う。尚、画像データ処理部８０３に入力される色データが文字／図形要素の固定的な色データの場合は、そのままの値が出力される。
【００９０】
図２２に色変換部８０３１のブロック図を示す。色変換部８０３１は、３次元補間演算処理部８０３１１と３次元ルックアップテーブル８０３１２とから構成されている。３次元ルックアップテーブル８０３１２は、色変換処理のための格子点データが蓄積されており、３次元補間演算処理部は格子点データに基づき、注目画素の色変換演算を実行する。本実施例では、３次元補間演算は、例えば図２３に示す三角柱補間演算が用いられる。三角柱補間演算では、図２３に示す８つの格子点データに対して注目画素が存在する三角柱領域を形成する６つの格子点データの補間演算により注目画素の色信号が決定される。図２３に示す三角柱補間演算は、下式で処理される。
【００９１】
【数５】
Ｄ（ｏ）＝Ｄ（ｍ）＋△Ｇ×（Ｄ（ｎ）−Ｄ（ｍ））．．．．．．（５）
ただし
0003671633.tif 000006
【００９２】
解像度変換部８０３２は、例えば最近傍補間法で構成されている。図２４に最近傍補間法の原理を説明する図を示す。図２４において、Ｐ１（［ｘ］，［ｙ］），Ｐ２（［ｘ＋１］，［ｙ］），Ｐ３（［ｘ］，［ｙ＋１］），Ｐ４（［ｘ＋１］，［ｙ＋１］）が解像度変換部８０３２に入力される画像データの座標点の画素値であるとし、出力装置１０の解像度に対応した座標点が例えばＰ（ｘ，ｙ）であるとすると、Ｐ（ｘ，ｙ）は最近傍の座標点の画素値Ｐ２（［ｘ＋１］，［ｙ］）となる。
【００９３】
［実施例２］
次に、本発明の第２の実施例を説明する。図２５は、本発明の印刷データ処理装置の他の原理構成を示すブロック図である。本実施例において、出力装置が出力速度可変の出力装置１２で構成されており、中間データ転送・記憶制御手段が中間データ量に基づいて出力装置１２の出力速度を決定する機能を備えた中間データ転送・記憶制御手段１１で構成されている点が、実施例１の図１に示された印刷データ処理装置の構成と異なっている。
【００９４】
出力装置１２は、出力装置１０と同様、Ｃ，Ｍ，Ｙ，Ｂｋの４色の印字装置を備え、各印字装置毎に展開処理手段８の出力バッファメモリから出力される印字データを受け取って、記録用紙に印字し出力するタンデム方式のカラーレーザプリンタで、構成は図７で示されるものである。図７において、出力速度可変にともない制御しなければならない印字プロセスにおける制御対象について説明する。制御しなければならない印字プロセスは、感光体ドラム３７１の回転速度、搬送ベルト５２の速度、定着装置５３のロール回転速度、レーザ走査装置３７３のポリゴンミラーの回転速度、現像装置３７４の現像ロール回転速度、転写電流等である。この内、感光体ドラム３７１の回転速度、搬送ベルト５２の速度、定着装置５３のロール回転速度、レーザ走査装置３７３のポリゴンミラーの回転速度、現像装置３７４の現像ロール回転速度は、印字速度に比例して制御すれば良い対象である。転写電流は印字速度に比例して定電流源の設定を制御すれば良い。また、一般的にレーザ走査装置３７３のポリゴンミラーの駆動にはブラシレスサーボモータ、その回転速度の安定にはＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）制御が使用されている。従って、ポリゴンミラーの回転速度の変更は、ＰＬＬ制御の基準周波数の分周により可能である。出力速度は例えば１／２，１／３，１／４に低減可能に構成されている。
【００９５】
図２６に本実施例の中間データ転送・記憶制御手段１１の構成例を示す。図２６において、出力装置速度指示部１２０１が付加されている点が図１５と異なっている。出力装置速度指示部１２０１は、メモリ構成決定部９０２で決定されたブロックバッファ部７０４のメモリ構成から、第１記憶手段５から第２記憶手段７への中間データ転送回数と、最大中間データ量と、利用可能なデータ転送速度に基づき、出力装置１２の変更可能な出力速度のなかから出力速度を決定し、転送手段６および転送手段６を介して出力装置１２に設定出力速度を通知するよう構成されている。例えば、平均的な中間データ転送回数×最大中間データ量の値が、利用可能なデータ転送速度を越える時、出力装置１２の出力速度を例えば１／２，１／３，１／４低減する。従って、本実施例に示す構成よって、ＰＣの性能が低く高速のデータ転送速度が得られない場合でも、リソースを効率的に利用することができる。また、利用可能なデータ転送速度を制限しＰＣ側への負荷をできるだけ小さくしたい場合でも、リソースを効率的に利用することができる。
【００９６】
【発明の効果】
以上説明したように本発明では、タンデム方式のカラーページプリンタで出力するための印刷データをカラーページプリンタで出力可能なデータ構造に展開する印刷データ処理装置において、専用ハードウェア内の中間データメモリリソースとＰＣから専用ハードウェアへのデータ転送リソースを印刷データの内容に応じて効率的に利用し、限定されたリソースで最も高速に出力装置に印字データを供給する構成を構築することが可能な印刷データ処理装置を提供することを可能とした。また、ＰＣで中間データを生成し専用ハードウェアで中間データを展開処理するシステム構成において、ＰＣの処理負荷を最小にする印刷データ処理装置を提供することを可能とした。
【００９７】
また、本発明の印刷データ処理装置によれば、出力装置のＣ，Ｍ，Ｙ，Ｂｋ印字に合わせた色変換処理を専用ハードウェアの展開処理手段に含めた構成が可能となるため、ＰＣの中間データ生成処理の負荷をさらに小さくすることが可能となる。
【００９８】
さらに、本発明の印刷データ処理装置の一実施態様によれば、出力装置は出力速度可変に構成されており、中間データ転送リソースが制限されたリソースの場合、中間データ転送回数の増加に応じて、出力装置の出力速度を低下させることにより、印字データを欠落することなく出力することが可能となる。
【図面の簡単な説明】
【図１】  本発明の印刷データ処理装置の原理構成を示すブロック図である。
【図２】  印字位置の差を吸収する量の中間データ用メモリを専用ハードウェアに持たせる方式の説明図である。
【図３】  印字位置の差に対応したＰＣ内の中間データメモリをＣ，Ｍ，Ｙ，Ｂｋ各色毎に印字位置の差によりデータの異なるＲ，Ｇ，Ｂデータを毎回アクセスし、専用ハードウェアに転送する方式の説明図である。
【図４】  本発明の印刷データ処理装置の中間データ転送・記憶制御手段による第２記憶手段の記憶構成および中間データの転送の説明図である。
【図５】  本発明の印刷データ処理装置全体が実装されるハードウェアの構成例である。
【図６】  専用ハードウェアの構成例である。
【図７】  タンデム方式のカラーページプリンタの構成例である。
【図８】  中間データ生成手段の構成例を示すブロック図である。
【図９】  台形データを説明する図である。
【図１０】  バンド分割手段の構成例を示すブロック図である。
【図１１】  台形データのバンド境界での分割を説明する図である。
【図１２】  台形データのデータ表現の一例を説明する図である。
【図１３】  本発明の印刷データ処理装置における第２記憶手段の構成例を示すブロック図である。
【図１４】  ブロックバッファ部に１バンド毎に中間データを保持した場合の中間データ転送の一例を説明する図である。
【図１５】  本発明の印刷データ処理装置における中間データ転送・記憶制御手段の構成例を示すブロック図である。
【図１６】  展開処理手段の構成例を示すブロック図である。
【図１７】  台形データ処理部の構成例を示すブロック図である。
【図１８】  展開処理手段での台形データ描画を説明する図である。
【図１９】  座標計算部の構成例を示すブロック図である。
【図２０】  エッジ描画部の構成例を示すブロック図である。
【図２１】  画像データ処理部の構成例を示すブロック図である。
【図２２】  色変換部の構成例を示すブロック図である。
【図２３】  三角柱補間演算を説明する図である。
【図２４】  最近傍補間演算を説明する図である。
【図２５】  本発明の印刷データ処理装置の他の原理構成を示すブロック図である。
【図２６】  実施例２の中間データ転送・記憶制御手段の構成例を示すブロック図である。
【符号の説明】
１  印刷データ
２  入力手段
３  中間データ生成手段
４  バンド分割手段
５  第１記憶手段
６  転送手段
７  第２記憶手段
８  展開処理手段
９，１１  中間データ転送・記憶制御手段
１０  出力装置
１２  出力速度可変の出力装置
２１  ＰＣ
２３  ネットワーク
２４  ＣＰＵ
２５  メモリコントローラ
２６  ＤＲＡＭ
２７  システムバスコントローラ
２８  ネットワークインタフェース
２９  磁気ディスク
３１  ＣＰＵバス
３２  システムバス
３４  シリアルバスインタフェース
３５  高速シリアルバス
３６  専用ハードウェア
３７  印字装置
４１  シリアルバスインタフェースＬＳＩ
４２  メモリ制御ＬＳＩ
４３  ＤＲＡＭ
４４  中間データＬＳＩ
４５  台形データ処理ＬＳＩ
４６  画像処理ＬＳＩ
４７  ＤＲＡＭ
４８  ビデオインタフェースＬＳＩ
３０１  字句解釈部
３０２  トークン解釈部
３０３  命令実行部
３０４  描画状態記憶部
３０５  画像処理部
３０６  ベクタデータ生成部
３０７  フォント管理部
３０８  マトリックス変換部
３０９  ショートベクタ生成部
３１０  台形データ生成部
７０１  メモリ制御部
７０２  メモリ部
７０３  バンドバッファ部
７０４  ブロックバッファ部
８０１  中間データ制御部
８０２  台形データ処理部
８０３出力バッファメモリ部
８０４  画像データ処理部
９０１  中間データ量評価部
９０２  メモリ構成決定部
９０３  メモリ構成・データ転送順序指示部
８０２１  中間データ入力部
８０２２  座標計算部Ａ
８０２３  座標計算部Ｂ
８０２２１  ＤＤＡパラメータ計算部
８０２２２  ＤＤＡ処理部
８０２２３  座標更新部
８０２４１  アドレス計算部
８０２４２  マスク演算部
８０２４３  データ演算部
８０２４４  ＲｍｏｄＷ処理部
８０３１  色変換部
８０３２  解像度変換部
８０３１１  ３次元補間演算処理部
８０３１２  ３次元ルックアップテーブル
１２０１  出力装置速度指示部
【図１】
0003671633.tif 000007
【図２】
0003671633.tif 000008
【図３】
0003671633.tif 000009
【図４】
0003671633.tif 000010
【図５】
0003671633.tif 000011
【図６】
0003671633.tif 000012
【図７】
0003671633.tif 000013
【図８】
0003671633.tif 000014
【図９】
0003671633.tif 000015
【図１０】
0003671633.tif 000016
【図１１】
0003671633.tif 000017
【図１２】
0003671633.tif 000018
【図１３】
0003671633.tif 000019
【図１４】
0003671633.tif 000020
【図１５】
0003671633.tif 000021
【図１６】
0003671633.tif 000022
【図１７】
0003671633.tif 000023
【図１８】
0003671633.tif 000024
【図１９】
0003671633.tif 000025
【図２０】
0003671633.tif 000026
【図２１】
0003671633.tif 000027
【図２２】
0003671633.tif 000028
【図２３】
0003671633.tif 000029
【図２４】
0003671633.tif 000030
【図２５】
0003671633.tif 000031
【図２６】
0003671633.tif 000032