JP3755265B2 - Print processing device - Google Patents

Print processing device Download PDF

Info

Publication number
JP3755265B2
JP3755265B2 JP33005897A JP33005897A JP3755265B2 JP 3755265 B2 JP3755265 B2 JP 3755265B2 JP 33005897 A JP33005897 A JP 33005897A JP 33005897 A JP33005897 A JP 33005897A JP 3755265 B2 JP3755265 B2 JP 3755265B2
Authority
JP
Japan
Prior art keywords
processing
processing means
additional
print
main body
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
JP33005897A
Other languages
Japanese (ja)
Other versions
JPH11157144A (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 JP33005897A priority Critical patent/JP3755265B2/en
Publication of JPH11157144A publication Critical patent/JPH11157144A/en
Application granted granted Critical
Publication of JP3755265B2 publication Critical patent/JP3755265B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は印刷処理装置に係り、例えば電子写真方式のページプリンタを利用した印刷処理装置中の描画処理に関する。さらに詳しく言えば、印刷情報を印字データに展開するための描画処理に必要な機能の一部あるいは全部を実行するための演算処理手段を着脱可能とし、付加された演算処理手段の構成に基づいて処理プロセスを決定し効率的な描画処理を可能とした印刷処理装置に関する。
【0002】
【従来の技術】
各種の記述言語で作成されている印刷情報は、ページ内の任意の位置の画像、図形、文字を表現する描画命令が任意の順で構成されており、本発明に係わる電子写真方式のページプリンタで印字するためには、印字前に印刷情報をラスターデータ化しなければならない。ラスターデータ化というのは、ページ又はページの一部を横切る一連の個々のドットまたは画素へ展開してラスター走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。この印刷情報のラスターデータ化(以下、描画処理と記載する。)にともない処理しなければならないデータ量は膨大であり、描画処理するための演算処理リソースは高性能のものが要求されている。
【0003】
特に、電子写真方式のカラーページプリンタでは、C(Cyan),M(Magenta),Y(Yellow),Bk(Black)の4色のトナーに対応するラスターデータを必要とするとともに、白黒ページプリンタ以上に画質が要求されるため1画素当たり複数のビット情報を持つのが一般的である。例えば、解像度600dpi,階調情報各色8bit/画素,記録サイズA4の一般的なカラーページプリンタでは、1ページあたり処理しなければならないデータ量は、最終的なラスターデータのところで約140MBになる。また、プリント速度が1分間に6枚のカラーページプリンタであるとすると、少なくとも14MB/s以上のスループットで処理する必要がある。
【0004】
しかしながら、記述言語で作成されている生の印刷情報を受け取って、プリント速度でリアルタイムに全ての印刷情報をラスターデータ化することは通常不可能であり、ラスター化されたページ全体のラスターデータをページメモリに蓄積したり、バンド分割された中間データからプリント速度でバンド毎にラスターデータ化しメモリに蓄積することが、一般的に行われている。即ち、電子写真方式のページプリンタを用いた印刷処理装置におけるボトルネックは一般的には描画処理である。描画処理においては、高速処理とともに、限定された描画処理の演算処理リソースを効率的に利用することが望まれている。
【0005】
近年の印刷処理装置では、上記描画処理は1つの中央演算処理装置(以下、CPUと記載する。)を用いてソフトウェアで実行されるのが一般的である。また、上記した処理の高速化の問題を解決するため、特開平4−128068公報に記載されている印刷処理装置では、複数のCPUをバスにより密結合し、プログラムによって複数の描画命令を並列的に解釈させて高速処理を行う技術が開示されている。また、特開平5−124302公報に記載されている印刷処理装置では、印刷処理装置本体にCPUを内蔵したカートリッジを複数装着できるよう構成されており、印刷処理装置本体および複数のカートリッジに印刷情報をページ単位で振り分け、印刷処理装置本体および複数のカートリッジのCPUで並列的に解釈させて高速処理を行う技術が開示されている。
【0006】
しかしながら、特開平4−128068公報に記載されている印刷処理装置では、描画処理のためのリソースは固定的で、ユーザの利用状況に応じた拡張/削減が不可能であり、処理する印刷情報の少ないユーザに対しても初期的に必要以上の投資を強いることになる。これに対し、特開平5−124302公報に記載されている印刷処理装置では、印刷処理装置本体に装着するカートリッジの数を増減させることにより、ユーザの利用状況に応じて描画処理のためのリソースの拡張/削減が可能となる。しかしながら、特開平5−124302公報に記載されている印刷処理装置では、カートリッジの機能が固定的であり、上記したようにページ単位の並列処理しか実行できない。一方、ユーザの利用状況には、複雑な図形処理が多く含まれている印刷情報を出力する場合が多いとか、写真等の画像データが多く含まれている印刷情報を出力する場合が多いとか、1ページ毎の負荷は小さいが多数ページからなる印刷情報を出力する場合が多いとか、様々である。従って、上記したようにカートリッジの機能が固定的では、ユーザの利用状況には柔軟に対応することはできない。即ち、限定された描画処理リソースにおいて、効率的に利用することはできない。
【0007】
【発明が解決しようとする課題】
本発明は、このような点に鑑みてなされたものであり、描画処理のためのリソースの拡張と削減を可能とし、描画処理性能を実行すべき印刷情報の処理に応じて変更、構築可能とする印刷処理装置を提供することを目的としている。さらに、付加する描画処理リソースをユーザの利用状況の詳細に応じて選択可能とし、限定された描画処理リソースにおいて描画処理リソースを最も効率的に利用する印刷処理装置を提供することを目的としている。
【0008】
また、付加する描画処理リソースの設置と利用に関し、ユーザの手を煩わすことなく、簡易に設置と利用ができる印刷処理装置を提供することを目的としている。さらに、付加する描画処理リソースの交換により、性能の異なる様々な印字装置に対して共通の描画処理装置で対応できるアーキテクチャを提供することを目的としている。
【0009】
【課題を解決するための手段】
本発明は上述の目的を達成する印刷処理装置であり、入力印刷情報の描画処理を実行し、印刷装置において出力可能な印字データへの展開を行う印刷処理装置において、印刷情報を印字データに展開する描画処理を実行する本体処理手段と、本体処理手段に接続可能な構成を有し、描画処理の少なくとも一部の処理を実行する付加処理手段と、本体処理手段に接続された付加処理手段の種類を識別する検出手段と、検出手段により識別された付加処理手段の実行処理が特定できる形態である場合には本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定し、検出手段により識別された付加処理手段の実行処理が異なる形態で複数設定できる場合にはユーザによる指定によって本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定する描画処理プロセス決定手段と、描画処理プロセス決定手段により決定された描画処理プロセスの実行プログラムを本体処理手段および接続された付加処理手段にロードする描画処理プログラムロード手段とを備えたことを特徴とする。
【0010】
さらに、本発明の印刷処理装置において、描画処理プロセス決定手段は、検出手段により識別された付加処理手段の種類、個数、および描画処理プロセス指示情報に基づいて実行すべき描画処理プロセスを決定することを特徴とする。
【0011】
さらに、本発明の印刷処理装置において、描画処理プロセス決定手段は、付加処理手段の種類、個数、および描画処理プロセス指示情報の有無と、実行すべき描画処理プロセスとを対応させた描画処理プロセス決定テーブルに基づいて実行すべき描画処理プロセスを決定することを特徴とする。
【0012】
さらに、本発明の印刷処理装置において、付加処理手段は本体処理手段に対して着脱可能な構成を有することを特徴とする。
【0013】
さらに、本発明の印刷処理装置において、付加処理手段は本体処理手段または他の付加処理手段のアクセラレータとして構成されることを特徴とする。
【0014】
さらに、本発明の印刷処理装置において、付加処理手段は、一連の描画処理プロセス中、本体処理手段または他の付加処理手段の実行する描画処理プロセス以外の描画処理プロセスを実行する構成を有することを特徴とする。
【0015】
さらに、本発明の印刷処理装置において、付加処理手段は、一連の描画処理プロセス中、本体処理手段または他の付加処理手段の実行する描画処理プロセスの少なくとも一部の描画処理プロセスを本体処理手段または他の付加処理手段とともに並列に実行する構成を有することを特徴とする。
【0016】
さらに、本発明の印刷処理装置において、付加処理手段は同一の描画処理プロセスを並列処理可能な複数の付加処理手段によって構成され、描画処理プロセス決定手段は、印刷情報のページ単位の処理を複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする。
【0017】
さらに、本発明の印刷処理装置において、付加処理手段は同様の処理を並列に処理可能な複数の付加処理手段によって構成され、描画処理プロセス決定手段は、印刷情報中の描画オブジェクト単位の処理を複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする。
さらに、本発明の印刷処理方法は、入力印刷情報の描画処理を実行し、印刷装置において出力可能な印字データへの展開を行なう印刷処理方法であって、印刷情報を印字データに展開する前記描画処理を実行する本体処理手段と、前記本体処理手段に接続可能な構成を有し、前記描画処理の少なくとも一部の処理を実行する付加処理手段とを適用して実行する印刷処理方法において、前記本体処理手段に接続された付加処理手段の種類を識別する検出ステップと、前記検出ステップにおいて識別された付加処理手段の実行処理が特定できる形態である場合には前記本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定し、前記検出ステップにおいて識別された付加処理手段の実行処理が異なる形態で複数設定できる場合にはユーザによる指定によって前記本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定する描画処理プロセス決定ステップと、前記描画処理プロセス決定ステップにおいて決定された描画処理プロセスの実行プログラムを前記本体処理手段および接続された付加処理手段にロードする描画処理プログラムロードステップと、を備えたことを特徴とする印刷処理方法にある。
さらに、本発明の印刷処理方法において、前記描画処理プロセス決定ステップは、前記検出ステップにおいて識別された付加処理手段の種類、個数、および描画処理プロセス指示情報に基づいて実行すべき描画処理プロセスを決定することを特徴とする。
さらに、本発明の印刷処理方法において、前記描画処理プロセス決定ステップは、付加処理手段の種類、個数、および描画処理プロセス指示情報の有無と、実行すべき描画処理プロセスとを対応させた描画処理プロセス決定テーブルに基づいて実行すべき描画処理プロセスを決定することを特徴とする。
さらに、本発明の印刷処理方法において、前記付加処理手段は、一連の描画処理プロセス中、前記本体処理手段または他の付加処理手段の実行する描画処理プロセス以外の描画処理プロセスを実行することを特徴とする。
さらに、本発明の印刷処理方法において、前記付加処理手段は、一連の描画処理プロセス中、前記本体処理手段または他の付加処理手段の実行する描画処理プロセスの少なくとも一部の描画処理プロセスを前記本体処理手段または他の付加処理手段とともに並列に実行することを特徴とする。
さらに、本発明の印刷処理方法において、前記付加処理手段は同一の描画処理プロセスを並列処理可能な複数の付加処理手段によって構成され、前記描画処理プロセス決定ステップは、印刷情報のページ単位の処理を前記複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする。
さらに、本発明の印刷処理方法において、前記付加処理手段は同様の処理を並列に処理可能な複数の付加処理手段によって構成され、前記描画処理プロセス決定ステップは、印刷情報中の描画オブジェクト単位の処理を前記複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする。
【0018】
【発明の実施の形態】
以下、図面に基づき本発明に係わる印刷処理装置について説明する。図1は本発明に係る印刷処理装置の一実施例の基本構成を示すブロック図である。図1に示すように本実施例の印刷処理装置は、印刷情報1を入力し処理を実行する本体演算処理手段2と、付加演算処理手段3と、印刷装置4と、検出手段5と、描画処理プロセス決定手段6と、描画処理プログラムロード手段7とから構成されている。
【0019】
図1において、本発明の印刷処理装置で処理される印刷情報1は、例えばGDIコマンドで記述された印刷データであるが、Acrobatで代表されるPDF(Portable Document Format)、PostScriptで代表されるページ記述言語で記述された印刷データ等、様々な記述言語を用いて記述されたデータであってもよい。
【0020】
本体演算処理手段2は、印刷処理装置に本体処理手段として固定的に備えられたものであり、印刷処理のコアの機能を実現するものである。さらに、本体処理手段に接続される付加演算処理手段3との協調により、描画処理性能を向上させるものであるが、単独の場合でも、最低限の印刷処理を実行するためのリソースを備えたものである。即ち、本体演算処理手段2単独での描画処理を実行することが可能である。従って、本体演算処理手段2は、少なくとも印刷情報1を入力するための通信機能、描画処理が開始されるまでの間、印刷データを一時記憶する機能、印刷情報1を解釈しラスタデータ化された印字データに展開する描画処理機能、印刷装置4へラスタデータを出力するためのインターフェース機能等を有する。さらに、付加演算処理手段3が本体演算処理手段2に付加された場合、付加演算処理手段3の種類に応じて協調して動作するよう所定の描画処理プログラムが本体演算処理手段2にロードされ、描画処理機能が変更される。
【0021】
付加演算処理手段3は、描画処理の少なくとも一部の処理を実行する付加処理手段であり、本体演算処理手段2に対して着脱可能な構成を有する。付加演算処理手段3は、本体演算処理手段2と協調して描画処理機能の全て、あるいは一部を実行する。また、付加演算処理手段3には各種の描画処理機能を有するものおよび性能の異なる複数の種類のものがあり、それらが1つまたは複数個、インターフェースを介して本体演算処理手段2に接続される。本体演算処理手段2には、付加演算処理手段3を設置するためのスロットが複数設けられ、1つの付加演算処理手段3のみ、または複数の付加演算処理手段3の組み合わせによって本体演算処理手段2において実行される描画処理を並列化したり、あるいは順次処理によりアシストする。
【0022】
印刷装置4は、本体演算処理手段2あるいは付加演算処理手段3より出力される印字データを受け取って、記録用紙に印字し出力する電子写真方式のプリンタであり、例えばカラーレーザプリンタである。
【0023】
検出手段5は、本体演算処理手段2に設置された付加演算処理手段3を検出して動作可能とするとともに、検出された付加演算処理手段3の種類と数を描画処理プロセス決定手段6に通知するものである。尚、数の検出および通知は、設置された付加演算処理手段3の個数分、付加演算処理手段3の種類の検出と描画処理プロセス決定手段6への付加演算処理手段3の種類の通知を繰り返すことによって行われる。
【0024】
描画処理プロセス決定手段6は、検出手段5より通知された本体演算処理手段2に設置された付加演算処理手段3の種類と数に基づき、本体演算処理手段2および付加演算処理手段3で実行される描画処理プロセスを決定するものである。描画処理プロセスの決定に関しては、付加演算処理手段3の種類,数と描画処理プロセスとの対応関係を示すデータベースを参照して決定される。
【0025】
描画処理プログラムロード手段7は、描画処理プロセス決定手段6で決定された描画処理プロセスに基づき、本体演算処理手段2および該当する付加演算処理手段3に描画処理プログラムを保持するデータベースより読み出して所定の描画処理プログラムをロードし、本体演算処理手段2および該当する付加演算処理手段3を実行状態にさせるものである。
【0026】
次に本実施例の実装の形態について説明する。図2は本実施例の印刷処理装置全体が実装されるハードウェアの構成例である。
【0027】
図2において、本実施例の印刷処理装置は、ネットワーク11と、本体演算処理手段2と、付加演算処理手段である付加ハードウェア20と、プリンタ装置22とで構成されている。ネットワーク11は、例えばEthernetであり、ネットワーク11を介して図示しないPCやワークステーションから印刷情報1が入力される。本体演算処理手段2は、CPU(中央演算処理装置)13と、メモリコントローラ14と、DRAM15と、システムバスコントローラ17と、ネットワークインタフェース12と、磁気ディスク18と、CPUバス16と、システムバス23とから構成される一般的なものである。さらに本実施例では、印刷処理装置として処理性能を向上させるために、付加ハードウェアインターフェース19を介して付加ハードウェア20がシステムバス23に接続される。また、プリンタ装置22もまたプリンタインターフェース21を介してシステムバス23に接続される。システムバス23は、例えばPCI(Peripheral Compact Interconnect)バスであり、高速のデータ転送が可能である。
【0028】
本体演算処理手段2には、本実施例の描画処理、検出手段5、描画処理プロセス決定手段6、描画処理プログラムロード手段7に相当する機能が実装される。例えば、磁気ディスク18は描画処理、検出手段5、描画処理プロセス決定手段6、描画処理プログラムロード手段7の各処理のための所定のプログラム等の格納領域、印刷情報1の格納領域として使用される。また、DRAM15は、各処理のためのワークエリア、描画処理されたラスターデータのメモリ領域として使用される。さらに、CPU13では本体演算処理手段2の各処理のための所定のプログラム各処理が実行される。
【0029】
プリンタ装置22は、印刷装置4に相当するものである。図3は、プリンタ装置22の電子写真方式を用いたカラーページプリンタの構成例である。図3において、ビデオインターフェース31は、本体演算処理手段2および付加演算処理手段3から順次送られてくるCMYBkの色情報に対応したラスターデータを図示されない半導体レーザの点灯を制御するドライバーへ入力して光信号に変換する。半導体レーザ走査装置32は、赤外半導体レーザ322、レンズ321、ポリゴンミラー等により構成され、数十μmのスポット光となって感光体ドラム33を走査する。感光体ドラム33は、帯電器40により帯電されており、光信号により、静電潜像が形成される。潜像はロータリー現像器35上の2成分磁気ブラシ現像によりトナー像となり、転写ドラム36上に吸着させた用紙上に転写される。感光体ドラム33は、クリーナー37で余分のトナーをクリーニングする。この工程をBk,Y,M,Cの順に繰り返し、用紙上に多重転写する。最後に、転写ドラムにより用紙を剥離し、定着器38でトナーを定着する。39は用紙の搬送経路を示す。
【0030】
付加ハードウェア20は、図1の付加演算処理手段3に相当するものである。付加ハードウェア20の実施形態としては、例えば図4〜図6に示す3種の形態がある。図4の付加ハードウェアは画像処理アクセラレータ52であり、本体演算処理手段2のみでは負荷の重い画像処理のためのハードウェアで本体演算処理手段2の描画処理51の一部に組み込まれて動作するものである。例えば、付加ハードウェアである画像処理アクセラレータ52の保持する機能が色変換機能であれば、本体演算処理手段2の描画処理フローにおいて色変換処理に関しては、付加ハードウェアとして設置された画像処理アクセラレータ52の色変換機能を利用するAPIがコールされ、色変換処理を画像処理アクセラレータ52においてハードウェア処理する。
【0031】
図5の付加ハードウェアは、中間データレンダリング処理装置54であり、文字・図形処理のためのハードウェアである。中間データレンダリング処理装置54は、文字・図形情報の描画処理の中間で生成されるベクターデータを中間データとし、中間データ以降の描画処理をハードウェア動作させるためものである。図5に示すように、中間データレンダリング処理装置54を付加ハードウェアとして備えた構成においては、本体演算処理手段2は中間データまでを生成すればよいため描画処理の負荷が軽くなるとともに、中間データ以降を中間データレンダリング処理装置54によってハードウェア動作処理が可能となるため全体の処理の高速化が達成される。
【0032】
図6の付加ハードウェアは副描画処理装置57であり、CPUおよびメモリを内蔵し、本体演算処理手段2の描画処理と同様の機能を実行するものである。この図6に示すように副描画処理装置57を付加ハードウェアとして有する形態においては、本体演算処理手段2において、予め印刷情報1を解析しページ単位、あるいは描画オブジェクト単位に印刷情報1に含まれる印刷データを本体演算処理手段2の主描画処理部56と付加ハードウェア57の副描画処理装置57に分配する印刷情報分配処理部55が備えられている。
【0033】
図6の形態では付加ハードウェアの種類と数に応じて、本体演算処理手段2と付加ハードウェア20の両方に所定の描画処理プログラムが描画処理プログラムロード手段7よりロードされる。一方、図4および図5の形態では一般的に、本体演算処理手段2に所定の描画処理プログラムが描画処理プログラムロード手段7よりロードされる。しかし、図4および図5のハードウェアがDSPやFPGAのようなプログラマブルなデバイスで構成されていても良く、この場合は描画処理のためのハードウェア構成を記述する描画処理プログラムが描画処理プログラムロード手段7よりロードされる。
【0034】
図7は、図4の形態に対応する付加演算処理手段3のハードウェアの構成例と本体演算処理手段2とのインターフェース部のハードウェアの構成例を示すものである。図4の形態に対応する付加演算処理手段3は、カードバス(CardBus)コネクタ64と、カード・コントローラ65と、属性情報メモリ66と、入力バッファFIFO67と、アクセラレータ演算処理部68と、出力バッファFIFO69で構成される。本体演算処理手段2とのインターフェースに使用されているカードバス(CardBus)は、PCIバス同レベルの高速の転送速度が得られるとともに、PCMCIA規格のPCカード同様にカードの着脱の自動認識やカードドライバの自動ロードが実行される。一方、本体演算処理手段2のインターフェース部は、本実施例のシステムバスであるPCIバス61とカードバス(CardBus)を接続するためのPCI−to−CardBusコントローラ62と、付加演算処理手段3を挿入するためのCardBusスロット63で構成される。
【0035】
カード・コントローラ65は、本体演算処理手段2からの入力バッファ67へのデータ転送、アクセラレータ演算処理部68の演算、出力バッファ69から本体演算処理手段2へのデータ転送、付加演算処理手段3の種類に関する情報を含む属性情報の出力等を制御するものである。尚、本実施例では容易に着脱可能な付加演算処理手段3としてCardBusカードを例にしているが、これに限定されるものではなく、例えばPCIバスに直接に接続される付加回路基板の形態であってもよい。
【0036】
また、図6の形態に対応する付加演算処理手段3のハードウェアの構成例を図13に示す。図6の形態に対応する付加演算処理手段3は、カードバス(CardBus)コネクタ64と、カード・コントローラ101と、属性情報メモリ102と、CPU103と、メモリコントローラ104と、DRAM105と、専用CPUバス106で構成される。同様に、図5の形態に対応する付加演算処理手段3のハードウェアの構成例を図14に示す。図5の形態に対応する付加演算処理手段3は、カードバス(CardBus)コネクタ64と、カード・コントローラ111と、属性情報メモリ112と、レンダリング処理LSI 113と、メモリコントローラ114と、DRAM115と、専用内部バス116で構成される。
【0037】
以上、本発明を適用する印刷処理装置の概要およびハードウェア構成について記述した。次に、本発明の主要部の詳細について説明する。
【0038】
初めに、検出手段5について詳細を説明する。検出手段5は、図8に示すように、ソケットサービス71と、カードサービス72と、カード・サービス・クライアント・ドライバ73,73’・・・・とから構成されている。ソケットサービス71のおもな機能は、PCIカードバス(PCI−to−CardBus)コントローラ62および各カードバス(CardBus)スロット63の制御であり、アダプタ用ファンクション、ソケット用ファンクション、メモリウィンドウ用ファンクションが提供される。カードサービス72は、カード・サービス・クライアントに対するファンクションを中心に、リソース管理、バルク・メモリ関連のファンクションで構成されている。カード・サービス・クライアント・ドライバ73,73’・・・・は、各付加演算処理手段3毎に用意されたドライバであり、各付加演算処理手段3の認識、および付加演算処理手段3に対して必要なハードウェアリソースの割当て等を実行するものである。
【0039】
図9に、上記ソケットサービス71、カードサービス72、カード・サービス・クライアント・ドライバ73,73’・・・・を使って、付加演算処理手段3を認識する方法および付加演算処理手段3に対して必要なハードウェアリソースを割当てるための処理フローを示す。図9において、先ずCardBusスロット63に付加演算処理手段3が挿入されると、PCI−to−CardBusコントローラ62はカードサービスに付加演算処理手段3の挿入を通知する(図9中、ステップ1)。次に、カードサービスは、カード・サービス・クライアント・ドライバに付加演算処理手段3の挿入を通知するとともに、処理を渡す(ステップ2)。続いて、カード・サービス・クライアント・ドライバは、付加演算処理手段3内の属性情報メモリ66から属性情報を取得し(ステップ3)、対象とする付加演算処理手段3かどうかを認識する(ステップ4)。認識の結果NOであれば、カード・サービス・クライアント・ドライバは不一致をカード・サービスに通知し、カードサービスは登録されている次のカード・サービス・クライアント・ドライバに付加演算処理手段3の挿入を通知するとともに、処理を渡す(ステップ5)。認識の結果YESであれば、カード・サービス・クライアント・ドライバはカード・サービスに対して付加演算処理手段3に対して必要なハードウェアリソースの割当て等の初期化処理要求を行う(ステップ6)。続いて、カードサービスは、ソケットサービスに対して付加演算処理手段3に対するリソースの割当て指示(ステップ7、8)と、描画処理プロセス決定手段6に付加演算処理手段3の種類を通知(ステップ9)する。
【0040】
以上の処理フローをCardBusスロット63に挿入された付加演算処理手段3の個数分繰り返すことにより、描画処理プロセス決定手段6に付加演算処理手段3の種類と数を通知することができる。
【0041】
次に描画処理プロセス決定手段6について説明する。描画処理プロセス決定手段6は、図10に示すように、描画処理プロセス決定サービス81と、描画処理プロセスデータベース82とから構成される。描画処理プロセス決定サービス81は、カードサービス73から入力される付加演算処理手段3の種類情報と数に基づき、描画処理プロセスデータベース82を参照して描画処理プロセスを決定し、描画処理プログラムロード手段に通知する。
【0042】
付加演算処理手段3が、例えば図4および図5に示したように実行処理が特定される形態である場合は、描画処理プロセスは一義的に決定されるが、付加演算処理手段3が図6に示すCPU処理型の場合は、並列処理の実行形態は異なる形態で複数設定することができるため、本実施例では図示されないユーザインターフェースより入力される描画処理プロセス指示情報83の入力の有無によって処理形態を切り換えて設定することが可能に構成されている。例えば、付加演算処理手段3が図6に示すCPU内蔵型の場合、デフォルトではページ単位の並列処理を行うが、オブジェクト単位の並列処理を指示する描画処理プロセス指示情報83が描画処理プロセス決定サービス81に入力された場合はオブジェクト単位の並列処理とするように構成することができる。なお、処理の切り換えを印刷処理装置で処理される印刷情報1の状況に応じて行ってもよい。
【0043】
図11に描画処理プロセスデータベース82に記憶される描画処理プロセス決定に使用されるテーブルの例を示す。図11において示すテーブルには、本体処理手段に接続される付加処理手段として、JPEG圧縮伸長カード,色変換アクセラレータカード,レンダリング処理カード,CPU内蔵カードの4種類を想定している。これら4種類のいずれかまたは組み合わせが付加された場合の構成、および描画処理プロセス指示情報の有無に基づいて、描画処理プロセスが一義的に決定される。決定される描画処理プロセスはテーブルの右端の描画処理プロセスNo.によって規定されたプロセスである。例えば、図11に示す描画処理プロセス決定テーブル中の最下欄の場合、JPEG圧縮伸長カード,CPU内蔵カードが付加され、描画処理プロセス指示情報が有りの場合は、描画処理プロセスNo.9によって規定された処理が実行されることになる。
【0044】
なお、図11の描画処理プロセス決定テーブルは、設置される付加演算処理手段3の組合せは2個までの組合せ、すなわち付加演算処理手段3を設置できるCardBusスロットが2個の場合を示してあるが、本体演算処理手段2にさらに多くのスロットを設けることは可能であり、その場合は、その数に対応した付加演算処理手段の組み合わせに対応して描画処理プロセスを設定してテーブル化すればよい。
【0045】
次に描画処理プログラムロード手段6について説明する。描画処理プロセス決定手段6は、図12に示すように、描画処理プログラムロードサービス91と、描画処理プログラムデータベース92とから構成される。描画処理プログラムロードサービス91は、描画処理プロセス決定サービス81より入力される描画処理プロセスNo.に基づき、描画処理プログラムデータベース92を検索し、当該の描画処理プログラムモジュールを本体演算処理手段23のDRAM15およびCPU内蔵型の付加演算処理手段3のDRAM105にロードするものである。また、描画処理プログラムモジュールは、前記検出手段5および描画処理プロセス決定手段6を介して、付加演算処理手段3の着脱時に瞬時に対応してロードされるよう構成されている。
【0046】
次に本発明の付加演算処理手段3を用いた場合の描画処理について説明する。先ず、図5および図14の形態の付加演算処理手段3、すなわち中間データレンダリング処理手段54を付加演算処理手段として設置した場合の描画処理について説明する。この構成では、本体演算処理手段2で中間データを生成した後、付加演算処理手段の中間データレンダリング処理手段54で中間データをラスターデータ化する。
【0047】
図15に本体演算処理手段2に実装される中間データ生成処理のブロック図を示す。図15において中間データ生成処理は、字句解釈部121と、トークン解釈部122と、命令実行部123と、描画状態記憶部124と、画像処理部125と、ベクターデータ生成部126と、フォント管理部127と、マトリックス変換部128と、ショートベクター生成部129と、台形データ生成部130と、バンド分解部131と、中間データ管理部132とから構成される。尚、本実施例における中間データは台形データである。
【0048】
字句解釈部121は、印刷情報記憶部9より入力された印刷情報ファイルを定められた記述言語のシンタックスに従ってトークンとして切り出し、そのトークン解釈部122をに出力するものである。
【0049】
トークン解釈部122は、字句解析部301から入力されたトークンを解釈し、内部命令やその引数に変換し、それら内部命令と引数の組を命令実行部123へ転送する。例えば内部命令には、文字/図形/画像の描画を実行する描画命令や、色や線属性など描画必要な情報を設定する描画状態命令などがある。
【0050】
命令実行部123は、トークン解釈部122から送られてきた内部命令を実行する。ここで実行する命令は、主に描画命令と描画状態命令がある。例えば描画命令には、以下の表1に示すように3種類の描画命令があり、それぞれの描画に必要な情報が示されている。このうちアンダーラインがある情報については、描画命令中の引数として与えられ、その他の情報は予め初期設定や先行する命令などにより描画状態記憶部124に記憶されている。描画命令の実行は、画像描画以外は受け取った描画命令をそのままベクターデータ生成部126へ転送する。画像描画の場合は、受け取った描画命令を画像処理部105へ転送するとともに、画像ヘッダの縦と横の大きさをベクターデータ生成部126へ転送する。また描画状態命令については、命令を描画状態記憶部124へ転送する。
【0051】
【表1】

Figure 0003755265
【0052】
画像処理部125は、命令実行部123から入力された命令の引数である入力画像ヘッダと入力画像データを、描画状態記憶部124から獲得した変換マトリックスを使ってアフィン変換したり、入力画像の色空間を出力装置の色空間に変換する色空間変換などの処理を行い、出力画像ヘッダと出力画像データを生成してバンド分解部131に転送する。また、画像処理部125では、展開処理手段8で処理可能なデータ量にするための、間引き処理を行う。さらに、画像処理部125では、通常の処理フローでは圧縮処理は施されないが、転送制御手段10の中間データ再生性指示に基づき、対象画像データに対して圧縮処理を施すよう構成されている。本実施例では、圧縮処理として、例えばJPEG圧縮が用いられる。
【0053】
描画状態記憶部124は、命令実行部123から受け取った命令に含まれる引数の値で、例えば表1に示したアンダーラインの無い情報についての値の設定を行い、それらを記憶する。また、画像処理部125、ベクターデータ生成部126、マトリックス変換部128、ショートベクター生成部129、中間データ管理部132などの要求に従って、それらの値を転送する。
【0054】
ベクターデータ生成部126では、命令実行部123から送られてきた命令と引数、描画状態記憶部124の値を使用して、塗りつぶし描画を除く、新たに描画するためのベクターデータを生成する。まず文字描画の場合について説明する。引数で与えられた文字コードと描画状態記憶部から獲得したフォントIDをフォント管理部へ転送して、文字のアウトラインデータを獲得する。獲得したアウトラインデータには、描画原点(カレントポイント)の情報が含まれていないので、描画状態記憶部124から獲得したカレントポイントのオフセットをアウトラインデータに加えることによって、目的のベクターデータを生成する。画像描画の場合には、引数で与えられた画像ヘッダの縦と横のサイズからそれに対する矩形ベクターを生成し、描画状態記憶部124から獲得したカレントポイントのオフセットを加えることで目的のベクターデータを生成する。ストローク描画の場合は、引数で与えられたベクターと描画状態記憶部124から獲得した各種の線属性から、太さを持った線のアウトラインベクターを生成する。このように生成したベクター(塗りつぶし描画の場合は命令実行部103から直接受け取ったベクター)を、マトリックス変換部128へ転送する。
【0055】
フォント管理部127は、各種フォントに対するアウトラインベクターデータを記憶するとともに、与えられた文字コードとフォントIDによって、その文字に対するアウトラインベクターデータを提供する。
【0056】
マトリックス変換部128は、ベクターデータ生成部126から受け取ったベクターデータを、描画状態記憶部124から獲得した変換マトリックスによってアフィン変換する。このアフィン変換の主な目的は、アプリケーションの解像度(座標系)からプリンタの解像度(座標系)に変換するためのものである。変換マトリックスには下式(1)に示すような3x3のものが使われ、入力ベクターデータ(Xn,Yn)は、出力ベクターデータ(Xn’,Yn’)に変換されてショートベクター生成部129へ送られる。
【0057】
【数1】
Figure 0003755265
【0058】
ショートベクター生成部129は、入力されたベクターの中に曲線のベクターがある場合にその曲線のベクターを、誤差が描画状態記憶部124から獲得したフラットネス(flatness)値より小さくなるように、複数のショートベクターで近似する処理を行う。例えば曲線のベクターには、4つの制御点で表現されるベジエ曲線が使われる。この場合ショートベクター化の処理は、ベジエ曲線を再帰的に分割し、高さがflatnessで与えられた値より小さくなった時点で分割を終了する。そして分割された各ベジエ曲線の始点と終点を順番に結ぶことにより、ショートベクター化が完了する。生成されたショートベクターは、台形データ生成部130へ送られる。
【0059】
台形データ生成部130は、入力されたベクターデータから、描画領域を示す台形データ(三角形の場合もあるがデータ構造は台形と同じである)の集合を生成する。例えば図16(a)に示す太線で示された多角形のベクターは、4つの台形により描画領域が示される。尚、この台形は出力装置のスキャンラインに平行な2辺を持った台形であり、1つの台形は図16(b)に示すように(sx,sy,x0,x1,x2,h)の6つのデータで表現される。生成された台形は、バンド分解部131へ送られる。
【0060】
バンド分解部131は、入力された台形データのうち複数のバンドにまたがる台形データをバンド毎の台形データに分割し、バンド毎に台形データを中間データ管理部132へ転送する。例えば図17では、4つの台形データがバンド分解部によって6つの台形データに分割される。
【0061】
中間データ管理部132は、バンド毎に入力された台形データに付加情報をつけて中間データを生成し、バンド毎に中間データを本体演算処理手段2のDRAM15に書き込む処理を行う。付加情報は、中間データを管理するための管理情報と、台形データを何色で塗りつぶすかを示す色情報である。文字/図形の描画命令に対する管理情報は、オブジェクトID,オブジェクトの種類,台形数のデータであり、例えばCMYBkの値が色情報である。
【0062】
これらのデータは、図18(a)に示すように、描画命令によって生成されたバンド毎の台形データの前に付加される。画像の描画命令に対する管理情報は文字/図形と同じであるが、色情報は画像ヘッダと画像データとなる。また図18(b)に示すように、画像ヘッダと画像データは、描画命令によって生成されたバンド毎の台形データそれぞれに対して1つずつ付加される。また、画像データは圧縮された形で格納される場合もあり、画像ヘッダに圧縮処理の有無が含まれている。以上の各中間データは記録色毎、バンド毎にまとめられ、各バンドの最終データにEOD(End Of Data)を表すデータを付加して、バンドデータの終了を明確にしている。
【0063】
次に、付加演算処理手段である中間データレンダリング処理手段54(図3参照)において実行される中間データをラスターデータに展開するレンダリング処理について説明する。レンダリング処理LSI113(図14参照)は、本体演算処理装置のDRAM15から入力した中間データをなす台形データ(sx,sy,x0,x1,x2,h)を、図20に示されるような4点からなるデータ形式に変換して台形領域を描画するものである。図19に、レンダリング処理LSI113のブロック図を示す。中間データ入力部141は、DRAM115に割当てられた入力バッファから1つ1つの台形をなすデータを読み込んで、座標計算部A142および座標計算部B143に台形データを出力する。座標計算部A142は、台形の左側のエッジ(図20のエッジP0P1)の座標計算を担当し、エッジ上の座標値をP0からP1に向かって順に出力する。座標計算部B143は、台形の右側のエッジ(図20のエッジP2P3)の座標計算を担当し、エッジ上の座標値をP2からP3に向かって順に出力する。エッジ描画部457は、座標計算部A142及び座標計算部B143から入力される座標値により、台形のx軸に平行な直線を描画する。
【0064】
図21に、座標計算部のブロック図を示す。入力された台形データ(sx,sy,x0,x1,x2,h)はDDAパラメータ計算部151で4点の台形データ(P0,P1,P2,P3)に変換されて、傾きや残差の初期値などのDDAのパラメータを計算し、DDA処理部152に出力する。DDA処理部152は、入力されたパラメータに基づいてDDA処理を行い、最後に求めた点に対する移動方向と移動量を出力する。座標更新部153は、入力された移動方向と移動量から現在保持している座標値を更新して出力する。座標の初期値は、図示されていないCPUなどであらかじめ設定されているものとする。
【0065】
図22は、エッジ描画部144のブロック図である。エッジ描画部144は、座標値A/B及び画像データを入力して台形の内部領域を塗りつぶす。アドレス計算部161は、座標値A/Bを入力して、描画するエッジ成分のアドレスを計算する。マスク演算部162は、座標値A/Bの値を入力して、描画するワード中の有効なビットを表すマスクを出力する。データ演算部163は、入力されたデータが文字/図形の場合には台形領域によって固定的な色を表す色データを入力し、この値を用いてスクリーン処理をして出力する。入力されたデータが画像データの場合には、画像データ入力に対してスクリーン処理をして出力する。さらに、データ演算部163には、JPEG圧縮された画像データを伸長するためのJPEG伸長回路が設けられており、圧縮された画像データに対してはリアルタイムに伸長処理した後、スクリーン処理が施される。
【0066】
RmodW処理部164は、入力されたアドレス、マスク、データを用いて以下の処理をすることにより描画を行う。まず、アドレスにより、出力バッファをリードする。これにより読み込まれたデータをSource、マスクデータをMask、描画データをDataとすると、(Mask*Data+Mask#*Source)の値を演算して同一アドレスに書き戻す。ただし、*は論理積、+は論理和、#は論理否定をそれぞれ表す。この処理は、描画するエッジが含まれるワード毎に繰り返し行われる。
【0067】
以上、説明したように、付加演算処理手段として図5および図14に示すように中間データレンダリング処理手段を本体に対して設置した場合は、描画処理におけるレンダリング処理を図14に示す構成で実行可能となる。このような処理プロセスは、先に説明した図11の描画処理プロセスデータベースにおける描画処理プロセスの決定テーブルに基づいて決定され、本体演算処理手段と付加演算処理手段間のデータの転送もテーブルによって決定されたプロセスに従って実行される。
【0068】
次に、上記した描画処理フローを複雑な文字・図形処理が含まれる印刷情報に適用した場合の効果について説明する。例えば、適用するプリンタ装置22の出力解像度を1200dpiのような高解像度とすると、本体演算処理手段2のソフトウェア処理のみの場合、印刷情報を台形データにするまでの処理時間は、印刷情報をラスターデータにするまでの処理時間は平均的に50%以下となる。一方、レンダリング処理LSI113での処理時間はソフトウェア処理時間に比較して1/5〜1/10程度になる。従って、図5および図14に示すように付加演算処理手段として中間データレンダリング処理手段を設置し、本体のCPUによるソフトウェア処理に依存せず付加された中間データレンダリング処理手段によるレンダリング処理を実行することによって、印刷情報をラスターデータにするまでの処理時間は本体によるCPU処理のみの場合に比較して平均的に50%以下に削減できる。
【0069】
次に、図4および図7に示す付加演算処理手段3を適用する場合の描画処理について説明する。以下、付加演算処理手段3のアクセラレータ処理として3次元補間方式の色変換処理を例に説明する。
【0070】
図4および図7に示すように付加演算処理手段として画像処理アクセラレータ52を適用した場合の描画処理フローは、全体としては基本的に上述の図5および図14に示す中間データレンダリング処理手段54を付加演算処理手段として設置した場合の描画処理フローと同様なものとなるが、設置された付加演算処理手段に基づいて描画処理プロセスの決定テーブルによって決定されるプロセスに従って本体演算処理手段および付加演算処理手段によって個々に実行されるプロセスが異なってくる。
【0071】
また、付加演算処理手段を設置できるスロットが複数あれば、JPEG圧縮伸長カード,色変換アクセラレータカード,レンダリング処理カード,CPU内蔵カード等、複数の付加演算処理手段をスロット数に応じて設置することも可能である。
【0072】
図23に、付加演算処理手段を設置せず、本体演算処理手段のみにおいて描画処理を実行する構成のブロック図を示す。図23において、ショートベクタ生成部129以降において、中間データを生成しない点が図15の構成と異なり、またエッジデータ生成部133、エッジデータでのバンド分解部134、エッジ描画部135、画像処理部136が変更および追加されている点が図15の構成と異なっている。エッジデータ生成部133は、ショートベクターから直接座標点を計算するもので、図19に示す座標点計算部A142および座標点計算部B143のハードウェア処理をソフトウェア処理におきかえたものに相当している。同様に、エッジ描画部135は、図19に示すエッジ描画部144のハードウェア処理をソフトウェア処理におきかえたものに相当している。また、バンド分解部134は台形データでのバンド分解ではなく、ライン単位のバンド分解をするもので、処理は図15のバンド分解部131に比較して単純処理である。また、画像処理部136に関しては、図15の画像処理部125においては中間データとして付加演算処理手段に転送するために出力画像ヘッダを付加していたが、出力画像ヘッダの付加処理がなくなっている点が異なっている。従って、画像処理部125および画像処理部136において適用される色変換処理ハードウェアの基本構成は、図4および図7に示す中間データレンダリング処理手段を付加演算処理手段として付加した場合あるいは付加しない場合のいずれにおいても共通である。
【0073】
図24に色変換処理のためのアクセラレータ演算処理部68(図7参照)のブロック図を示す。色変換処理のためのアクセラレータ演算処理部68は、3次元補間演算処理部171と3次元ルックアップテーブル172とから構成されている。3次元ルックアップテーブル172は、色変換処理のための格子点データが蓄積されており、3次元補間演算処理部は格子点データに基づき、注目画素の色変換演算を実行する。本実施例では、3次元補間演算は、例えば図25に示す3角柱補間演算が用いられる。3角柱補間演算では、図25に示す8つの格子点データに対して注目画素が存在する3角柱領域を形成する6つの格子点データの補間演算により注目画素の色信号が決定される。図25に示す3角柱補間演算は、下式で処理される。
【0074】
【数2】
D(o)=D(m)+△G×(D(n)−D(m))...(1)
ただし
Figure 0003755265
【0075】
次に、上記した描画処理を画像処理が含まれる印刷情報に適用した場合の効果について説明する。例えば、画像データを読み込んでプリンタ装置22の特性にあわせて色変換処理のみをする最も基本的な画像処理において、本体演算処理手段2におけるソフトウェア処理のみの場合と、色変換処理を付加演算処理手段として本体に付加したハードウェアアクセラレータによって実行させた場合を比較すると、ハードウェアアクセラレータによって実行させた場合の処理時間は、ソフトウェア処理のみの処理時間のおおよそ30%以下となる。
【0076】
次に、図6および図13に示すように付加演算処理手段として副描画処理手段57を適用する場合の描画処理について説明する。付加演算処理手段として副描画処理手段57を適用した場合の描画フローは、基本的に図23によって説明されるの描画処理フローと同一であるが、本体演算処理手段2と付加演算処理手段3にページ単位、又はオブジェクト単位に印刷情報1に含まれる印刷データを振り分けるための印刷情報分配処理部55が加わる点が異なっている。
【0077】
付加演算処理手段を設置できるスロットが複数あれば、例えば図5および図14に示す中間データレンダリング処理手段54と図4および図7に示す画像処理アクセラレータ52を付加演算処理手段3として付加して併用することも可能であるが、組合せによって本体演算処理手段2および付加演算処理手段3にロードされる描画処理プログラムは変更される。
【0078】
図26に図6および図13に示す付加演算処理手段として副描画処理手段57を適用する場合の基本的な描画処理のブロック図を示す。図26では、図23に対してページ分配処理部137が付加されていること、および命令実行部123以下が、本体演算処理手段2と付加演算処理手段3と並列に設けられている点が異なっている。尚、図26はページ単位に印刷データを振り分ける場合の構成であるが、オブジェクト単位に印刷データを振り分ける場合も同様の構成となる。また、描画状態記憶部124とフォント管理部127は、本体演算処理手段2と付加演算処理手段3とで共通に利用するよう構成されている。これは、ポストスクリプト(PostScript)のように構造化されていない記述言語で記述された印刷データに対してはリソース情報を共有することが必要であること、およびデータサイズの大きいフォント情報を複数箇所で保持することを避けるためである。ページ分配処理部137は、本体演算処理手段2と付加演算処理手段3の処理性能、例えばCPUの処理速度に応じて、処理するページを振り分けるよう構成されている。また、上記構成の効果に対しては、単純に付加演算処理手段3の処理性能にほぼ比例する。
【0079】
【発明の効果】
以上、説明したように本発明の印刷処理装置は印刷情報を印字データに展開するための描画処理を実行する処理機能の少なくとも一部を実行可能とした付加処理手段を本体処理手段に着脱可能に構成したので、実行すべき描画処理に応じた描画処理システム構成を容易に構築することが可能となり、例えば時間の要する処理機能を専用の付加ハードウェアで実行させることにより処理の高速化が達成される。
【0080】
また本発明の印刷処理装置は、処理すべき印刷情報に応じて付加処理手段を選択し、選択され本体処理手段に接続された付加処理手段に基づいて実行すべき描画処理フローを最適なものとし、また実行すべき描画処理プロセスをユーザが指定可能としたので、任意の描画処理ステップを付加処理手段に実行させることが可能となり、限定された描画処理リソースを効率的に利用可能な印刷処理装置が提供できる。
【0081】
また、付加する描画処理リソースの設置を本体側で自動的に認識し、描画処理構成を再構成し、最適なプログラムの選定を行う機構が設けられており、ユーザの手を煩わすことなく、簡易に設置と利用ができる印刷処理装置を提供することが可能となる。さらに、付加する描画処理リソースの交換により、性能の異なる様々な印字装置に対して共通の描画処理装置での対応も可能となる。
【図面の簡単な説明】
【図1】 本発明に係る印刷処理装置の構成を示すブロック図である。
【図2】 本発明の印刷処理装置が実装されるハードウェアの構成例を示すブロック図である。
【図3】 本発明の印刷処理装置の実施例に係わる電子写真方式を用いたカラーページプリンタの構成例である。
【図4】 本発明に係る印刷処理装置の付加処理手段としての付加ハードウェアの一実施形態を示す図(その1)である。
【図5】 本発明に係る印刷処理装置の付加処理手段としての付加ハードウェアの一実施形態を示す図(その2)である。
【図6】 本発明に係る印刷処理装置の付加処理手段としての付加ハードウェアの一実施形態を示す図(その3)である。
【図7】 図4の構成に対応する付加処理手段のハードウェア構成例と本体処理手段とのインターフェース部のハードウェアの構成例を示す図である。
【図8】 本発明に係る印刷処理装置の検出手段の構成を示すブロック図である。
【図9】 本発明の印刷処理装置において付加演算処理手段を認識する方法および付加演算処理手段に対して必要なハードウェアリソースを割当てるための処理フローを説明する図である。
【図10】 本発明の印刷処理装置における描画処理プロセス決定手段の構成を示すブロック図である。
【図11】 本発明の印刷処理装置の描画処理プロセスデータベースにおける描画処理プロセスの決定テーブルの一例を示す図である。
【図12】 本発明の印刷処理装置の描画処理プログラムロード手段の構成を示すブロック図である。
【図13】 図6の構成に対応する付加処理手段のハードウェア構成例と本体処理手段とのインターフェース部のハードウェアの構成例を示す図である。
【図14】 図5の構成に対応する付加処理手段のハードウェア構成例と本体処理手段とのインターフェース部のハードウェアの構成例を示す図である。
【図15】 本発明の印刷処理装置の本体処理手段に実装される中間データ生成処理のブロック図である。
【図16】 印刷処理装置において処理される台形データを説明する図である。
【図17】 印刷処理装置において処理される台形データのバンド境界での分割を説明する図である。
【図18】 印刷処理装置において処理される台形データのデータ表現の一例を説明する図である。
【図19】 本発明の印刷処理装置におけるレンダリング処理LSIの構成を示すブロック図である。
【図20】 本発明の印刷処理装置におけるレンダリング処理LSIでの台形データ描画を説明する図である。
【図21】 印刷処理装置における座標計算部の構成を示すブロック図である。
【図22】 印刷処理装置におけるエッジ描画部の構成を示すブロック図である。
【図23】 本発明の印刷処理装置の本体処理手段におけるソフトウェア処理の描画処理構成示すブロック図である。
【図24】 色変換処理のためのアクセラレータ演算処理部の構成示すブロック図である。
【図25】 描画処理における三角柱補間演算を説明する図である。
【図26】 図6の構成の付加処理手段を設けた印刷処理装置に対応する描画処理の構成示すブロック図である。
【符号の説明】
1 印刷情報
2 本体演算処理手段
3 付加演算処理手段
4 印刷装置
5 検出手段
6 描画処理プロセス決定手段
7 描画処理プログラムロード手段
11 ネットワーク
12 ネットワークインタフェース
13 CPU
14 メモリコントローラ
15 DRAM
16 CPUバス
17 システムバスコントローラ
18 磁気ディスク
19 付加ハードウェアインタフェース
20 付加ハードウェア
21 プリンタインタフェース
22 プリンタ装置
51 描画処理装置
52 画像処理アクセラレータ
53 中間データ生成処理手段
54 中間データレンダリング処理手段
55 印刷データ分配処理手段
56 主描画処理手段
57 副描画処理手段
62 PCIカードバス・コントローラ
63 カードバス・スロット
64 カードバス・コネクタ
65,101,111 カード・コントローラ
66,102,112 属性情報メモリ
67 入力バッファ
68 アクセラレータ演算処理部
69 出力バッファFIFO
71 ソケットサービス
72 カードサービス
73 カードサービス・クライアント・ドライバ
81 描画処理決定サービス
82 描画処理プロセスデータベース
81 描画処理プログラムロードサービス
82 描画処理プログラムデータベース
103 CPU
104,114 メモリ・コントローラ
105,115 DRAM
113 レンダリング処理LSI[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print processing apparatus, and more particularly to a drawing process in a print processing apparatus using an electrophotographic page printer. More specifically, based on the configuration of the added arithmetic processing means, the arithmetic processing means for executing part or all of the functions necessary for the drawing processing for expanding the print information into the print data can be attached and detached. The present invention relates to a print processing apparatus that determines a processing process and enables efficient drawing processing.
[0002]
[Prior art]
The print information created in various description languages is composed of drawing commands for representing images, figures, and characters at arbitrary positions in the page in any order, and the electrophotographic page printer according to the present invention. In order to print with, print information must be converted into raster data 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. The amount of data that needs to be processed in accordance with the conversion of print information into raster data (hereinafter referred to as drawing processing) is enormous, and high-performance computing resources are required for drawing processing.
[0003]
In particular, an electrophotographic color page printer requires raster data corresponding to four color toners of C (Cyan), M (Magenta), Y (Yellow), and Bk (Black), and more than a monochrome page printer. Since image quality is required, it is common to have a plurality of bit information per pixel. For example, in a general color page printer having a resolution of 600 dpi, each gradation information color of 8 bits / pixel, and a recording size of A4, the amount of data to be processed per page is about 140 MB in the final raster data. If the print speed is 6 color page printers per minute, it is necessary to process at a throughput of at least 14 MB / s.
[0004]
However, it is usually impossible to receive raw print information created in a description language and convert all print information to raster data in real time at the print speed. Raster data of the entire rasterized page In general, the data is stored in the memory, or is converted into raster data for each band from the intermediate data divided into bands at the print speed and stored in the memory. That is, a bottleneck in a print processing apparatus using an electrophotographic page printer is generally a drawing process. In drawing processing, it is desired to efficiently use limited processing resources of drawing processing together with high-speed processing.
[0005]
In recent printing processing apparatuses, the drawing process is generally executed by software using one central processing unit (hereinafter referred to as CPU). In order to solve the above-mentioned problem of speeding up the processing, in the print processing apparatus described in Japanese Patent Laid-Open No. 4-128068, a plurality of CPUs are tightly coupled by a bus, and a plurality of drawing commands are executed in parallel by a program. A technique for performing high-speed processing by interpreting the above is disclosed. Further, the print processing apparatus described in Japanese Patent Laid-Open No. 5-124302 is configured such that a plurality of cartridges with a built-in CPU can be mounted in the main body of the print processing apparatus, and print information is sent to the main body of the print processing apparatus and the plurality of cartridges. A technique for performing high-speed processing by sorting in units of pages and causing the print processing apparatus main body and CPUs of a plurality of cartridges to interpret in parallel is disclosed.
[0006]
However, in the print processing apparatus described in Japanese Patent Laid-Open No. 4-128068, the resources for drawing processing are fixed, and cannot be expanded / reduced according to the usage status of the user. Even a small number of users will be forced to invest more than necessary. On the other hand, in the print processing apparatus described in Japanese Patent Laid-Open No. 5-124302, by increasing or decreasing the number of cartridges attached to the print processing apparatus main body, the resource of the drawing process according to the use situation of the user is increased. Expansion / reduction is possible. However, in the print processing apparatus described in Japanese Patent Laid-Open No. 5-124302, the function of the cartridge is fixed, and only parallel processing in units of pages can be executed as described above. On the other hand, the usage status of the user often outputs print information containing a lot of complicated graphic processing, or often outputs print information containing a lot of image data such as a photo, There are various cases where the load per page is small but print information consisting of many pages is often output. Therefore, as described above, if the function of the cartridge is fixed, it is not possible to flexibly cope with the usage situation of the user. That is, it cannot be used efficiently with limited drawing processing resources.
[0007]
[Problems to be solved by the invention]
The present invention has been made in view of the above points, and can expand and reduce resources for drawing processing, and can be changed and constructed according to processing of print information for which drawing processing performance should be executed. An object of the present invention is to provide a print processing apparatus. It is another object of the present invention to provide a print processing apparatus that makes it possible to select a drawing processing resource to be added according to the details of a user's usage status, and that uses the drawing processing resource most efficiently with the limited drawing processing resource.
[0008]
It is another object of the present invention to provide a print processing apparatus that can be easily installed and used without bothering a user regarding installation and use of additional drawing processing resources. It is another object of the present invention to provide an architecture that can deal with various printing apparatuses having different performances with a common drawing processing apparatus by exchanging additional drawing processing resources.
[0009]
[Means for Solving the Problems]
  The present invention is a print processing apparatus that achieves the above-described object. In a print processing apparatus that executes drawing processing of input print information and develops print data that can be output by the print apparatus, the print information is developed into print data. A main body processing means for executing drawing processing, an additional processing means for executing at least a part of the drawing processing, and an additional processing means connected to the main body processing means. Detection means for identifying the type, and additional processing means identified by the detection meansIf the execution processing of the additional processing means is determined by the main body processing means and the identified additional processing means, the execution processing of the additional processing means identified by the detection means is different. When a plurality of settings can be made, the drawing processing process to be executed in the main body processing means and the identified additional processing means is determined by the user's specification.And a drawing processing program loading means for loading the drawing processing process execution program determined by the drawing processing process determining means into the main body processing means and the connected additional processing means. To do.
[0010]
Furthermore, in the printing processing apparatus of the present invention, the drawing process determination unit determines a drawing process to be executed based on the type and number of additional processing units identified by the detection unit and the drawing process process instruction information. It is characterized by.
[0011]
Further, in the print processing apparatus of the present invention, the drawing process determination unit determines a drawing process that associates the type and number of additional processing units and the presence / absence of drawing process process instruction information with a drawing process to be executed. A drawing processing process to be executed is determined based on the table.
[0012]
Furthermore, the print processing apparatus of the present invention is characterized in that the additional processing means is detachable from the main body processing means.
[0013]
Furthermore, in the print processing apparatus of the present invention, the additional processing means is configured as an accelerator of the main body processing means or other additional processing means.
[0014]
Further, in the printing processing apparatus of the present invention, the additional processing means has a configuration for executing a drawing processing process other than the drawing processing process executed by the main body processing means or other additional processing means during a series of drawing processing processes. Features.
[0015]
Further, in the print processing apparatus of the present invention, the additional processing means performs at least a part of the drawing processing process executed by the main body processing means or other additional processing means during the series of drawing processing processes. It has the structure which performs in parallel with another additional processing means.
[0016]
Further, in the print processing apparatus according to the present invention, the additional processing means includes a plurality of additional processing means capable of processing the same drawing processing process in parallel, and the drawing processing process determining means performs processing for each page of the print information in a plurality of ways. A process for performing parallel processing using the additional processing means is determined as an execution process.
[0017]
  Further, in the print processing apparatus of the present invention, the additional processing means is configured by a plurality of additional processing means capable of processing the same processing in parallel, and the drawing processing process determining means performs processing for each drawing object in the print information. A process for performing parallel processing using the additional processing means is determined as an execution process.
Furthermore, the print processing method of the present invention is a print processing method for executing drawing processing of input print information and expanding the print data to print data that can be output by the printing apparatus, wherein the drawing is performed to expand the print information into print data. In a print processing method executed by applying main body processing means for executing processing and additional processing means having a configuration connectable to the main body processing means and executing at least part of the drawing processing, If the detection step for identifying the type of the additional processing means connected to the main body processing means and the execution process of the additional processing means identified in the detection step can be specified, the main body processing means and the identified The drawing processing process to be executed in the additional processing means is determined, and the execution processing of the additional processing means identified in the detection step is plural in different forms. A drawing process determination step for determining a drawing process to be executed in the main body processing unit and the identified additional processing unit according to designation by a user, and a drawing process determined in the drawing process determination step A drawing processing program loading step of loading a process execution program into the main body processing means and the connected additional processing means.
Furthermore, in the print processing method of the present invention, the drawing process determination step determines a drawing process to be executed based on the type and number of additional processing means identified in the detection step and drawing process process instruction information. It is characterized by doing.
Further, in the print processing method of the present invention, the drawing process determination step includes a drawing process that associates the type and number of additional processing means and the presence of drawing process process instruction information with the drawing process to be executed. A drawing processing process to be executed is determined based on the determination table.
Furthermore, in the print processing method of the present invention, the additional processing means executes a drawing processing process other than the drawing processing process executed by the main body processing means or other additional processing means during a series of drawing processing processes. And
Further, in the print processing method of the present invention, the additional processing means performs at least a part of the drawing processing process executed by the main body processing means or another additional processing means during the series of drawing processing processes. It is characterized by being executed in parallel with the processing means or other additional processing means.
Further, in the print processing method of the present invention, the additional processing means includes a plurality of additional processing means capable of processing the same drawing processing process in parallel, and the drawing processing process determining step performs processing for each page of print information. A process for performing parallel processing using the plurality of additional processing means is determined as an execution process.
Further, in the print processing method of the present invention, the additional processing means is constituted by a plurality of additional processing means capable of processing similar processing in parallel, and the drawing processing process determining step includes processing for each drawing object in the print information. Is determined as an execution process in parallel processing using the plurality of additional processing means.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
The print processing apparatus according to the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the basic configuration of an embodiment of a print processing apparatus according to the present invention. As shown in FIG. 1, the print processing apparatus of the present embodiment includes a main body calculation processing means 2, an additional calculation processing means 3, a printing apparatus 4, a detection means 5, a drawing, and the like. The processing process determining means 6 and the drawing processing program loading means 7 are configured.
[0019]
In FIG. 1, print information 1 processed by the print processing apparatus of the present invention is print data described by, for example, a GDI command, but a page represented by PDF (Portable Document Format) represented by Acrobat and PostScript. Data described using various description languages such as print data described in a description language may be used.
[0020]
The main body arithmetic processing means 2 is fixedly provided as a main body processing means in the print processing apparatus, and realizes a core function of print processing. Furthermore, although it is intended to improve the drawing processing performance by cooperation with the additional arithmetic processing means 3 connected to the main body processing means, it is equipped with a resource for executing a minimum printing process even in the case of being independent. It is. That is, it is possible to execute the drawing process by the main body arithmetic processing means 2 alone. Accordingly, the main body calculation processing means 2 interprets the print information 1 and raster data into at least a communication function for inputting the print information 1 and a function for temporarily storing print data until the drawing process is started. It has a drawing processing function for developing print data, an interface function for outputting raster data to the printing apparatus 4, and the like. Further, when the additional arithmetic processing means 3 is added to the main body arithmetic processing means 2, a predetermined drawing processing program is loaded on the main arithmetic processing means 2 so as to operate in cooperation with the type of the additional arithmetic processing means 3. The drawing processing function is changed.
[0021]
The additional arithmetic processing means 3 is an additional processing means for executing at least a part of the drawing process, and has a configuration that can be attached to and detached from the main body arithmetic processing means 2. The additional arithmetic processing means 3 executes all or part of the drawing processing function in cooperation with the main body arithmetic processing means 2. Further, the additional calculation processing means 3 includes those having various drawing processing functions and a plurality of types having different performances, and one or a plurality of them are connected to the main body calculation processing means 2 through an interface. . The main body arithmetic processing means 2 is provided with a plurality of slots for installing the additional arithmetic processing means 3. In the main body arithmetic processing means 2, only one additional arithmetic processing means 3 or a combination of the plural additional arithmetic processing means 3 is used. The drawing process to be executed is assisted in parallel or sequentially.
[0022]
The printing apparatus 4 is an electrophotographic printer that receives print data output from the main body calculation processing means 2 or the additional calculation processing means 3, prints it on a recording sheet, and outputs it, for example, a color laser printer.
[0023]
The detection means 5 detects and operates the additional arithmetic processing means 3 installed in the main body arithmetic processing means 2 and notifies the drawing processing process determining means 6 of the type and number of detected additional arithmetic processing means 3. To do. The number detection and notification are repeated for the number of installed additional arithmetic processing means 3 for detecting the type of the additional arithmetic processing means 3 and notifying the type of the additional arithmetic processing means 3 to the drawing processing process determining means 6. Is done by.
[0024]
The drawing processing process determining means 6 is executed by the main body arithmetic processing means 2 and the additional arithmetic processing means 3 based on the type and number of the additional arithmetic processing means 3 installed in the main body arithmetic processing means 2 notified from the detecting means 5. The drawing processing process to be determined is determined. The determination of the drawing process is determined with reference to a database showing the correspondence between the type and number of additional arithmetic processing means 3 and the drawing process.
[0025]
Based on the drawing process determined by the drawing process determination unit 6, the drawing process program loading unit 7 reads out from the database that holds the drawing process program in the main body calculation processing unit 2 and the corresponding additional calculation processing unit 3, and performs predetermined processing. The drawing processing program is loaded, and the main body arithmetic processing means 2 and the corresponding additional arithmetic processing means 3 are put into an execution state.
[0026]
Next, an implementation form of the present embodiment will be described. FIG. 2 is a configuration example of hardware on which the entire print processing apparatus according to this embodiment is mounted.
[0027]
In FIG. 2, the print processing apparatus according to the present embodiment includes a network 11, a main body arithmetic processing unit 2, additional hardware 20 that is an additional arithmetic processing unit, and a printer device 22. The network 11 is, for example, Ethernet, and print information 1 is input from a PC or workstation (not shown) via the network 11. The main body processing means 2 includes a CPU (Central Processing Unit) 13, a memory controller 14, a DRAM 15, a system bus controller 17, a network interface 12, a magnetic disk 18, a CPU bus 16, and a system bus 23. It is a general thing consisting of. Furthermore, in this embodiment, the additional hardware 20 is connected to the system bus 23 via the additional hardware interface 19 in order to improve the processing performance as a print processing apparatus. The printer device 22 is also connected to the system bus 23 via the printer interface 21. The system bus 23 is a PCI (Peripheral Compact Interconnect) bus, for example, and is capable of high-speed data transfer.
[0028]
The main body arithmetic processing means 2 is equipped with functions corresponding to the drawing processing, detecting means 5, drawing processing process determining means 6 and drawing processing program loading means 7 of this embodiment. For example, the magnetic disk 18 is used as a storage area for a predetermined program or the like for each process of the drawing process, the detection means 5, the drawing process determination unit 6, and the drawing process program loading means 7, and a storage area for the print information 1. . The DRAM 15 is used as a work area for each process and a memory area for raster data subjected to drawing processing. Further, the CPU 13 executes each process of a predetermined program for each process of the main body arithmetic processing means 2.
[0029]
The printer device 22 corresponds to the printing device 4. FIG. 3 is a configuration example of a color page printer using the electrophotographic system of the printer device 22. In FIG. 3, the video interface 31 inputs raster data corresponding to the color information of CMYBk sequentially sent from the main body arithmetic processing means 2 and the additional arithmetic processing means 3 to a driver that controls the lighting of a semiconductor laser (not shown). Convert to optical signal. The semiconductor laser scanning device 32 includes an infrared semiconductor laser 322, a lens 321, a polygon mirror, and the like, and scans the photosensitive drum 33 as spot light of several tens of μm. The photosensitive drum 33 is charged by the charger 40, and an electrostatic latent image is formed by an optical signal. The latent image is converted into a toner image by two-component magnetic brush development on the rotary developing device 35 and transferred onto a sheet adsorbed on the transfer drum 36. The photosensitive drum 33 cleans excess toner with a cleaner 37. This process is repeated in the order of Bk, Y, M, and C, and multiple transfer is performed on the paper. Finally, the sheet is peeled off by the transfer drum and the toner is fixed by the fixing device 38. Reference numeral 39 denotes a sheet conveyance path.
[0030]
The additional hardware 20 corresponds to the additional calculation processing means 3 in FIG. As an embodiment of the additional hardware 20, there are, for example, three types shown in FIGS. The additional hardware shown in FIG. 4 is an image processing accelerator 52. The main body arithmetic processing means 2 alone is a hardware for heavy image processing and is incorporated in a part of the drawing processing 51 of the main body arithmetic processing means 2 and operates. Is. For example, if the function held by the image processing accelerator 52, which is additional hardware, is a color conversion function, the image processing accelerator 52 installed as additional hardware in the drawing processing flow of the main body processing means 2 is used for color conversion processing. An API that uses the color conversion function is called, and the image processing accelerator 52 performs hardware processing for color conversion processing.
[0031]
The additional hardware of FIG. 5 is an intermediate data rendering processing device 54, which is hardware for character / graphic processing. The intermediate data rendering processor 54 uses vector data generated in the middle of the drawing process of character / graphic information as intermediate data, and performs the drawing process after the intermediate data by hardware. As shown in FIG. 5, in the configuration provided with the intermediate data rendering processing device 54 as additional hardware, the main body arithmetic processing means 2 only needs to generate up to intermediate data. Thereafter, hardware operation processing can be performed by the intermediate data rendering processing device 54, so that the overall processing speed can be increased.
[0032]
The additional hardware in FIG. 6 is a sub-drawing processing device 57, which has a built-in CPU and memory and executes the same function as the drawing processing of the main body arithmetic processing means 2. As shown in FIG. 6, in the form having the sub-drawing processing device 57 as additional hardware, the main processing unit 2 analyzes the print information 1 in advance and includes the print information 1 in page units or drawing object units. A print information distribution processing unit 55 that distributes print data to the main drawing processing unit 56 of the main body arithmetic processing unit 2 and the sub drawing processing unit 57 of the additional hardware 57 is provided.
[0033]
In the form of FIG. 6, a predetermined drawing processing program is loaded from the drawing processing program loading unit 7 into both the main body arithmetic processing unit 2 and the additional hardware 20 according to the type and number of additional hardware. On the other hand, in the forms of FIGS. 4 and 5, a predetermined drawing processing program is generally loaded from the drawing processing program loading means 7 into the main body arithmetic processing means 2. However, the hardware shown in FIGS. 4 and 5 may be configured by a programmable device such as a DSP or FPGA. In this case, a drawing processing program that describes the hardware configuration for drawing processing is loaded with the drawing processing program. Loaded by means 7.
[0034]
FIG. 7 shows a hardware configuration example of the additional arithmetic processing means 3 corresponding to the configuration of FIG. 4 and a hardware configuration example of an interface unit between the main body arithmetic processing means 2. 4 includes a card bus connector 64, a card controller 65, an attribute information memory 66, an input buffer FIFO 67, an accelerator calculation processing unit 68, and an output buffer FIFO 69. Consists of. The card bus (CardBus) used for the interface with the main body processing means 2 can obtain the same high speed transfer speed as that of the PCI bus, and can automatically recognize card attachment / detachment and the card driver like the PCMCIA standard PC card. Automatic loading of is executed. On the other hand, the interface section of the main body processing means 2 is inserted with a PCI-to-CardBus controller 62 for connecting the PCI bus 61 which is the system bus of this embodiment and a card bus (CardBus), and the additional arithmetic processing means 3. The CardBus slot 63 is used.
[0035]
The card controller 65 transfers data from the main body arithmetic processing means 2 to the input buffer 67, arithmetic operation by the accelerator arithmetic processing section 68, data transfer from the output buffer 69 to the main body arithmetic processing means 2, and types of the additional arithmetic processing means 3 It controls the output of attribute information including information related to. In the present embodiment, the CardBus card is taken as an example of the additional arithmetic processing means 3 that can be easily attached / detached, but the present invention is not limited to this. For example, in the form of an additional circuit board directly connected to the PCI bus. There may be.
[0036]
Further, FIG. 13 shows a hardware configuration example of the additional arithmetic processing means 3 corresponding to the embodiment of FIG. 6 includes a card bus (CardBus) connector 64, a card controller 101, an attribute information memory 102, a CPU 103, a memory controller 104, a DRAM 105, and a dedicated CPU bus 106. Consists of. Similarly, FIG. 14 shows a hardware configuration example of the additional arithmetic processing means 3 corresponding to the configuration of FIG. 5 includes a card bus connector 64, a card controller 111, an attribute information memory 112, a rendering processing LSI 113, a memory controller 114, and a DRAM 115. An internal bus 116 is used.
[0037]
The outline and hardware configuration of the print processing apparatus to which the present invention is applied have been described above. Next, the detail of the principal part of this invention is demonstrated.
[0038]
First, details of the detecting means 5 will be described. As shown in FIG. 8, the detecting means 5 includes a socket service 71, a card service 72, and card service client drivers 73, 73 ',. The main function of the socket service 71 is the control of the PCI card bus (PCI-to-CardBus) controller 62 and each card bus (CardBus) slot 63, and the adapter function, socket function, and memory window function are provided. Is done. The card service 72 is composed of functions related to resource management and bulk memory, centering on functions for card service clients. The card service client drivers 73, 73 ′,... Are drivers prepared for each additional arithmetic processing means 3. Allocating necessary hardware resources and the like.
[0039]
FIG. 9 shows a method for recognizing the additional arithmetic processing means 3 and the additional arithmetic processing means 3 using the socket service 71, card service 72, card service client driver 73, 73 ′,. A processing flow for allocating necessary hardware resources is shown. In FIG. 9, first, when the additional calculation processing means 3 is inserted into the CardBus slot 63, the PCI-to-CardBus controller 62 notifies the card service of the insertion of the additional calculation processing means 3 (step 1 in FIG. 9). Next, the card service notifies the card service client driver of the insertion of the additional arithmetic processing means 3 and passes the processing (step 2). Subsequently, the card service client driver acquires attribute information from the attribute information memory 66 in the additional calculation processing means 3 (step 3), and recognizes whether the target additional calculation processing means 3 is present (step 4). ). If the recognition result is NO, the card service client driver notifies the card service of the mismatch, and the card service inserts the additional arithmetic processing means 3 into the next registered card service client driver. Notification is made and processing is passed (step 5). If the recognition result is YES, the card service client driver issues an initialization processing request such as allocation of necessary hardware resources to the additional arithmetic processing means 3 for the card service (step 6). Subsequently, the card service notifies the socket service of a resource allocation instruction to the additional arithmetic processing means 3 (steps 7 and 8) and notifies the drawing processing process determining means 6 of the type of the additional arithmetic processing means 3 (step 9). To do.
[0040]
By repeating the above processing flow for the number of additional arithmetic processing means 3 inserted into the CardBus slot 63, the type and number of additional arithmetic processing means 3 can be notified to the drawing processing process determining means 6.
[0041]
Next, the drawing process determination unit 6 will be described. The drawing process determination unit 6 includes a drawing process determination service 81 and a drawing process database 82 as shown in FIG. The drawing process determination service 81 determines a drawing process by referring to the drawing process process database 82 based on the type information and number of the additional arithmetic processing means 3 input from the card service 73, and sends it to the drawing process program loading means. Notice.
[0042]
For example, when the additional calculation processing unit 3 has a form in which execution processing is specified as shown in FIGS. 4 and 5, the drawing processing process is uniquely determined. In the case of the CPU processing type shown in FIG. 6, since a plurality of parallel processing execution forms can be set in different forms, processing is performed depending on whether or not the drawing process process instruction information 83 input from a user interface (not shown) is input in this embodiment. The configuration can be changed and set. For example, when the additional arithmetic processing means 3 is of the CPU built-in type shown in FIG. 6, parallel processing in units of pages is performed by default, but drawing processing process instruction information 83 instructing parallel processing in units of objects is a drawing processing process determination service 81. Can be configured to perform parallel processing in units of objects. Note that the processing may be switched according to the status of the print information 1 processed by the print processing apparatus.
[0043]
FIG. 11 shows an example of a table used for determining the drawing process stored in the drawing process process database 82. The table shown in FIG. 11 assumes four types of additional processing means connected to the main body processing means: a JPEG compression / decompression card, a color conversion accelerator card, a rendering processing card, and a CPU built-in card. The drawing process is uniquely determined based on the configuration when any of these four types or combination is added and the presence / absence of drawing process process instruction information. The drawing process to be determined is the drawing process No. at the right end of the table. Is a process defined by For example, in the case of the lowermost column in the drawing process determination table shown in FIG. 11, when a JPEG compression / decompression card and a CPU built-in card are added and there is drawing process process instruction information, the drawing process process No. The process specified by 9 is executed.
[0044]
The drawing process determination table of FIG. 11 shows the case where up to two additional arithmetic processing means 3 are installed, that is, two CardBus slots in which the additional arithmetic processing means 3 can be installed. The main body processing means 2 can be provided with more slots. In this case, the drawing processing process can be set in correspondence with the combination of the additional processing means corresponding to the number and tabulated. .
[0045]
Next, the drawing processing program loading means 6 will be described. The drawing process determination unit 6 includes a drawing process program load service 91 and a drawing process program database 92 as shown in FIG. The drawing process program load service 91 receives a drawing process process No. input from the drawing process determination service 81. The drawing processing program database 92 is searched based on the above, and the drawing processing program module is loaded into the DRAM 15 of the main body processing means 23 and the DRAM 105 of the CPU built-in type additional processing means 3. The drawing processing program module is configured to be loaded in an instant manner when the additional arithmetic processing means 3 is attached / detached via the detecting means 5 and the drawing processing process determining means 6.
[0046]
Next, drawing processing when the additional calculation processing means 3 of the present invention is used will be described. First, drawing processing when the additional calculation processing means 3 in the form of FIGS. 5 and 14, that is, the intermediate data rendering processing means 54 is installed as additional calculation processing means will be described. In this configuration, after the intermediate data is generated by the main body processing means 2, the intermediate data is converted to raster data by the intermediate data rendering processing means 54 of the additional calculation processing means.
[0047]
FIG. 15 shows a block diagram of intermediate data generation processing implemented in the main body arithmetic processing means 2. In FIG. 15, the intermediate data generation process includes a lexical interpretation unit 121, a token interpretation unit 122, an instruction execution unit 123, a drawing state storage unit 124, an image processing unit 125, a vector data generation unit 126, and a font management unit. 127, a matrix conversion unit 128, a short vector generation unit 129, a trapezoid data generation unit 130, a band decomposition unit 131, and an intermediate data management unit 132. The intermediate data in this embodiment is trapezoid data.
[0048]
The lexical interpretation unit 121 cuts out the print information file input from the print information storage unit 9 as a token according to the syntax of a predetermined description language, and outputs the token to the token interpretation unit 122.
[0049]
The token interpretation unit 122 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 123. 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.
[0050]
The instruction execution unit 123 executes the internal instruction sent from the token interpretation unit 122. 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 124 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 126 as it is except for image drawing. In the case of image drawing, the received drawing command is transferred to the image processing unit 105, and the vertical and horizontal sizes of the image header are transferred to the vector data generation unit 126. For the drawing state command, the command is transferred to the drawing state storage unit 124.
[0051]
[Table 1]
Figure 0003755265
[0052]
The image processing unit 125 affine-transforms the input image header and the input image data, which are the arguments of the command input from the command execution unit 123, using the conversion matrix acquired from the drawing state storage unit 124, or the color of the input image Processing such as color space conversion for converting the space into the color space of the output device is performed, and an output image header and output image data are generated and transferred to the band decomposing unit 131. Further, the image processing unit 125 performs a thinning process for making the data amount processable by the expansion processing unit 8. Further, the image processing unit 125 is configured not to perform compression processing in a normal processing flow, but to perform compression processing on target image data based on an intermediate data reproducibility instruction from the transfer control means 10. In the present embodiment, for example, JPEG compression is used as the compression processing.
[0053]
The drawing state storage unit 124 sets the values of the arguments that are included in the instruction received from the instruction execution unit 123, for example, information with no underline shown in Table 1, and stores them. The values are transferred in accordance with requests from the image processing unit 125, vector data generation unit 126, matrix conversion unit 128, short vector generation unit 129, intermediate data management unit 132, and the like.
[0054]
The vector data generation unit 126 generates vector data for new drawing, excluding the fill drawing, using the command and argument sent from the command execution unit 123 and the value of the drawing state storage unit 124. 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 124 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 124. 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 124. The vector generated in this way (the vector directly received from the instruction execution unit 103 in the case of the solid drawing) is transferred to the matrix conversion unit 128.
[0055]
The font management unit 127 stores outline vector data for various fonts, and provides outline vector data for the character according to a given character code and font ID.
[0056]
The matrix conversion unit 128 affine-transforms the vector data received from the vector data generation unit 126 using the conversion matrix acquired from the drawing state storage unit 124. 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 129. Sent.
[0057]
[Expression 1]
Figure 0003755265
[0058]
The short vector generation unit 129 includes a plurality of curve vectors so that an error is smaller than a flatness value acquired from the drawing state storage unit 124 when the input vector includes a curve vector. 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 the 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 trapezoid data generation unit 130.
[0059]
The trapezoid data generation unit 130 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. 16A, 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 decomposition unit 131.
[0060]
The band decomposing unit 131 divides the 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 132 for each band. For example, in FIG. 17, four trapezoid data are divided into six trapezoid data by the band decomposition unit.
[0061]
The intermediate data management unit 132 generates intermediate data by adding additional information to the trapezoidal data input for each band, and performs a process of writing the intermediate data to the DRAM 15 of the main body processing unit 2 for each band. The additional information is management information for managing the intermediate data and color information indicating the color of the trapezoid data. The management information for the character / graphic drawing command is data of object ID, object type, and number of trapezoids. For example, the value of CMYBk is color information.
[0062]
As shown in FIG. 18A, 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 image data. As shown in FIG. 18B, one image header and one image data are added to each trapezoidal 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.
[0063]
Next, a rendering process for expanding the intermediate data into raster data executed by the intermediate data rendering processing means 54 (see FIG. 3), which is an additional calculation processing means, will be described. The rendering processing LSI 113 (see FIG. 14) generates trapezoidal data (sx, sy, x0, x1, x2, h), which is intermediate data input from the DRAM 15 of the main body processing unit, from four points as shown in FIG. The trapezoid area is drawn by converting into the data format. FIG. 19 shows a block diagram of the rendering processing LSI 113. The intermediate data input unit 141 reads each trapezoidal data from the input buffer allocated to the DRAM 115, and outputs the trapezoid data to the coordinate calculation unit A142 and the coordinate calculation unit B143. The coordinate calculation unit A142 is in charge of coordinate calculation of the left edge of the trapezoid (edge P0P1 in FIG. 20), and sequentially outputs coordinate values on the edge from P0 to P1. The coordinate calculation unit B143 takes charge of coordinate calculation of the right edge of the trapezoid (edge P2P3 in FIG. 20), and sequentially outputs coordinate values on the edge from P2 to P3. The edge drawing unit 457 draws a straight line parallel to the x-axis of the trapezoid based on the coordinate values input from the coordinate calculation unit A 142 and the coordinate calculation unit B 143.
[0064]
FIG. 21 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 151, and the initial slope and residual are obtained. A DDA parameter such as a value is calculated and output to the DDA processing unit 152. The DDA processing unit 152 performs DDA processing based on the input parameters, and outputs a moving direction and a moving amount with respect to the last obtained point. The coordinate updating unit 153 updates and outputs the currently held coordinate value from the input movement direction and movement amount. Assume that the initial value of the coordinates is set in advance by a CPU (not shown).
[0065]
FIG. 22 is a block diagram of the edge drawing unit 144. The edge drawing unit 144 fills the trapezoidal internal region by inputting the coordinate values A / B and the image data. The address calculation unit 161 inputs the coordinate value A / B and calculates the address of the edge component to be drawn. The mask calculation unit 162 inputs the coordinate value A / B and outputs a mask representing valid bits in the word to be drawn. When the input data is a character / graphic, the data calculation unit 163 inputs color data representing a fixed color by a trapezoidal area, performs screen processing using this value, and outputs it. If the input data is image data, the image data input is subjected to screen processing and output. Further, the data calculation unit 163 is provided with a JPEG decompression circuit for decompressing JPEG-compressed image data. The compressed image data is subjected to screen processing after being decompressed in real time. The
[0066]
The RmodW processing unit 164 performs drawing by performing the following processing using the input address, mask, and data. First, the output buffer 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.
[0067]
As described above, when the intermediate data rendering processing means is installed on the main body as the additional arithmetic processing means as shown in FIGS. 5 and 14, the rendering process in the drawing process can be executed with the configuration shown in FIG. It becomes. Such a processing process is determined based on the drawing processing process determination table in the drawing processing process database of FIG. 11 described above, and the transfer of data between the main body processing unit and the additional processing unit is also determined by the table. It is executed according to the process.
[0068]
Next, an effect when the above drawing process flow is applied to print information including complicated character / graphic processing will be described. For example, if the output resolution of the printer 22 to be applied is set to a high resolution such as 1200 dpi, in the case of only software processing of the main body arithmetic processing means 2, the processing time until the print information is converted to trapezoid data is the raster data. The processing time until it becomes 50% or less on average. On the other hand, the processing time in the rendering processing LSI 113 is about 1/5 to 1/10 compared to the software processing time. Accordingly, as shown in FIG. 5 and FIG. 14, an intermediate data rendering processing unit is installed as an additional calculation processing unit, and the rendering process by the added intermediate data rendering processing unit is executed without depending on the software processing by the CPU of the main body. Thus, the processing time until print information is converted to raster data can be reduced to 50% or less on average compared to the case of only CPU processing by the main body.
[0069]
Next, drawing processing when the additional calculation processing means 3 shown in FIGS. 4 and 7 is applied will be described. Hereinafter, as an accelerator process of the additional calculation processing unit 3, a color conversion process of a three-dimensional interpolation method will be described as an example.
[0070]
As shown in FIGS. 4 and 7, the drawing processing flow when the image processing accelerator 52 is applied as the additional arithmetic processing means basically includes the intermediate data rendering processing means 54 shown in FIGS. 5 and 14 as a whole. Although the drawing processing flow is the same as that when installed as an additional arithmetic processing means, the main body arithmetic processing means and the additional arithmetic processing according to the process determined by the determination table of the drawing processing process based on the installed additional arithmetic processing means Depending on the means, the processes that are executed individually are different.
[0071]
In addition, if there are a plurality of slots in which additional arithmetic processing means can be installed, a plurality of additional arithmetic processing means such as a JPEG compression / decompression card, a color conversion accelerator card, a rendering processing card, and a CPU built-in card may be installed according to the number of slots. Is possible.
[0072]
FIG. 23 shows a block diagram of a configuration in which drawing processing is executed only by the main body arithmetic processing means without installing additional arithmetic processing means. In FIG. 23, the short vector generation unit 129 and the subsequent steps are different from the configuration of FIG. 15 in that intermediate data is not generated. Also, the edge data generation unit 133, the band decomposition unit 134 with edge data, the edge drawing unit 135, and the image processing unit 15 is different from the configuration of FIG. 15 in that 136 is changed and added. The edge data generation unit 133 calculates the coordinate points directly from the short vector, and corresponds to the hardware processing of the coordinate point calculation unit A 142 and the coordinate point calculation unit B 143 shown in FIG. 19 replaced with software processing. . Similarly, the edge drawing unit 135 corresponds to the hardware processing of the edge drawing unit 144 shown in FIG. 19 replaced with software processing. Further, the band decomposition unit 134 does not perform band decomposition using trapezoidal data, but performs band decomposition in units of lines. The processing is simpler than the band decomposition unit 131 shown in FIG. Further, regarding the image processing unit 136, the output image header is added to the image processing unit 125 of FIG. 15 for transfer to the additional calculation processing means as intermediate data, but the output image header addition processing is eliminated. The point is different. Therefore, the basic configuration of the color conversion processing hardware applied in the image processing unit 125 and the image processing unit 136 is the case where the intermediate data rendering processing unit shown in FIGS. 4 and 7 is added as an additional calculation processing unit or not added. Both are common.
[0073]
FIG. 24 is a block diagram of an accelerator calculation processing unit 68 (see FIG. 7) for color conversion processing. The accelerator calculation processing unit 68 for color conversion processing includes a three-dimensional interpolation calculation processing unit 171 and a three-dimensional lookup table 172. The three-dimensional lookup table 172 stores grid point data for color conversion processing, and the three-dimensional interpolation calculation processing unit executes color conversion calculation for the pixel of interest based on the grid point data. In the present embodiment, for example, the triangular prism interpolation calculation shown in FIG. 25 is used for the three-dimensional interpolation calculation. In the triangular prism interpolation calculation, the color signal of the target pixel is determined by the interpolation calculation of the six grid point data forming the triangular column region where the target pixel exists with respect to the eight grid point data shown in FIG. The triangular prism interpolation calculation shown in FIG. 25 is processed by the following equation.
[0074]
[Expression 2]
D (o) = D (m) + ΔG × (D (n) −D (m)). . . (1)
However,
Figure 0003755265
[0075]
Next, an effect when the above drawing process is applied to print information including image processing will be described. For example, in the most basic image processing in which image data is read and only color conversion processing is performed in accordance with the characteristics of the printer device 22, only the software processing in the main body calculation processing means 2 and the color conversion processing are added to the additional calculation processing means. As compared with the case where it is executed by the hardware accelerator added to the main body, the processing time when executed by the hardware accelerator is approximately 30% or less of the processing time of only the software processing.
[0076]
Next, drawing processing when the sub-drawing processing means 57 is applied as the additional calculation processing means as shown in FIGS. 6 and 13 will be described. The drawing flow when the sub-drawing processing unit 57 is applied as the additional calculation processing unit is basically the same as the drawing processing flow described with reference to FIG. The difference is that a print information distribution processing unit 55 for distributing print data included in the print information 1 on a page or object basis is added.
[0077]
If there are a plurality of slots in which the additional arithmetic processing means can be installed, for example, the intermediate data rendering processing means 54 shown in FIGS. 5 and 14 and the image processing accelerator 52 shown in FIGS. 4 and 7 are added as the additional arithmetic processing means 3 and used together. However, the drawing processing program loaded on the main body arithmetic processing means 2 and the additional arithmetic processing means 3 is changed depending on the combination.
[0078]
FIG. 26 shows a block diagram of basic drawing processing when the sub drawing processing means 57 is applied as the additional calculation processing means shown in FIGS. 26 differs from FIG. 23 in that a page distribution processing unit 137 is added, and that the instruction execution unit 123 and the following are provided in parallel with the main body arithmetic processing means 2 and the additional arithmetic processing means 3. ing. FIG. 26 shows a configuration for distributing print data in units of pages, but a similar configuration is used for distributing print data in units of objects. Further, the drawing state storage unit 124 and the font management unit 127 are configured to be used in common by the main body calculation processing unit 2 and the additional calculation processing unit 3. This is because it is necessary to share resource information for print data described in an unstructured description language such as PostScript (PostScript), and font information with a large data size is placed in multiple places. It is for avoiding holding with. The page distribution processing unit 137 is configured to distribute pages to be processed according to the processing performance of the main body arithmetic processing means 2 and the additional arithmetic processing means 3, for example, the processing speed of the CPU. The effect of the above configuration is simply proportional to the processing performance of the additional arithmetic processing means 3.
[0079]
【The invention's effect】
As described above, the print processing apparatus according to the present invention can attach and detach the additional processing means that can execute at least a part of the processing function for executing the drawing process for expanding the print information into the print data. Since it is configured, it is possible to easily construct a drawing processing system configuration corresponding to the drawing processing to be executed. For example, processing speed is increased by executing processing functions that require time with dedicated additional hardware. The
[0080]
The print processing apparatus of the present invention selects an additional processing unit according to print information to be processed, and optimizes a drawing processing flow to be executed based on the selected additional processing unit connected to the main body processing unit. In addition, since the user can designate the drawing process to be executed, it is possible to cause the additional processing means to execute an arbitrary drawing process step, and a print processing apparatus that can efficiently use the limited drawing process resource. Can be provided.
[0081]
In addition, there is a mechanism for automatically recognizing the installation of additional drawing processing resources on the main unit side, reconfiguring the drawing processing configuration, and selecting the optimum program. It is possible to provide a print processing apparatus that can be installed and used. Furthermore, by replacing the drawing processing resources to be added, it is possible to deal with various printing devices having different performances using a common drawing processing device.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a print processing apparatus according to the present invention.
FIG. 2 is a block diagram illustrating a configuration example of hardware in which the print processing apparatus of the present invention is mounted.
FIG. 3 is a configuration example of a color page printer using an electrophotographic system according to an embodiment of a print processing apparatus of the present invention.
FIG. 4 is a diagram (No. 1) illustrating an embodiment of additional hardware as additional processing means of the print processing apparatus according to the present invention;
FIG. 5 is a diagram (No. 2) illustrating an embodiment of additional hardware as additional processing means of the print processing apparatus according to the present invention;
FIG. 6 is a diagram (No. 3) illustrating an embodiment of additional hardware as additional processing means of the print processing apparatus according to the present invention;
7 is a diagram illustrating a hardware configuration example of an additional processing unit corresponding to the configuration of FIG. 4 and a hardware configuration example of an interface unit between main body processing units.
FIG. 8 is a block diagram illustrating a configuration of a detection unit of the print processing apparatus according to the present invention.
FIG. 9 is a diagram illustrating a method for recognizing additional arithmetic processing means and a processing flow for allocating necessary hardware resources to the additional arithmetic processing means in the print processing apparatus of the present invention.
FIG. 10 is a block diagram illustrating a configuration of a drawing process determination unit in the print processing apparatus according to the present invention.
FIG. 11 is a diagram illustrating an example of a drawing process determination table in a drawing process database of the print processing apparatus according to the present invention.
FIG. 12 is a block diagram illustrating a configuration of a drawing processing program load unit of the print processing apparatus according to the present invention.
13 is a diagram illustrating a hardware configuration example of an additional processing unit corresponding to the configuration of FIG. 6 and a hardware configuration example of an interface unit between the main body processing unit.
FIG. 14 is a diagram illustrating a hardware configuration example of an additional processing unit corresponding to the configuration of FIG. 5 and a hardware configuration example of an interface unit between the main body processing unit.
FIG. 15 is a block diagram of intermediate data generation processing implemented in the main body processing means of the print processing apparatus of the present invention.
FIG. 16 is a diagram illustrating trapezoid data processed in the print processing apparatus.
FIG. 17 is a diagram illustrating division at the band boundary of trapezoid data processed in the print processing apparatus.
FIG. 18 is a diagram illustrating an example of data representation of trapezoid data processed in the print processing apparatus.
FIG. 19 is a block diagram showing a configuration of a rendering processing LSI in the print processing apparatus of the present invention.
FIG. 20 is a diagram for explaining trapezoidal data drawing by a rendering processing LSI in the print processing apparatus of the present invention.
FIG. 21 is a block diagram illustrating a configuration of a coordinate calculation unit in the print processing apparatus.
FIG. 22 is a block diagram illustrating a configuration of an edge drawing unit in the print processing apparatus.
FIG. 23 is a block diagram showing a drawing processing configuration of software processing in the main body processing means of the print processing apparatus of the present invention.
FIG. 24 is a block diagram illustrating a configuration of an accelerator calculation processing unit for color conversion processing.
FIG. 25 is a diagram illustrating a triangular prism interpolation calculation in a drawing process.
26 is a block diagram showing a configuration of a drawing process corresponding to a print processing apparatus provided with an additional processing unit having the configuration of FIG.
[Explanation of symbols]
1 Print information
2 Main unit processing means
3 Additional arithmetic processing means
4 Printing device
5 detection means
6 Drawing process determination means
7 Drawing processing program loading means
11 Network
12 Network interface
13 CPU
14 Memory controller
15 DRAM
16 CPU bus
17 System bus controller
18 Magnetic disk
19 Additional hardware interface
20 Additional hardware
21 Printer interface
22 Printer device
51 Drawing processing device
52 Image Processing Accelerator
53 Intermediate data generation processing means
54 Intermediate data rendering processing means
55 Print data distribution processing means
56 Main drawing processing means
57 Sub-drawing processing means
62 PCI card bus controller
63 Cardbus slot
64 Card bus connector
65, 101, 111 card controller
66, 102, 112 Attribute information memory
67 Input buffer
68 Accelerator processing unit
69 Output buffer FIFO
71 Socket service
72 Card service
73 Card Service Client Driver
81 Drawing processing decision service
82 Drawing process database
81 Drawing processing program load service
82 Drawing processing program database
103 CPU
104,114 Memory controller
105,115 DRAM
113 Rendering LSI

Claims (16)

入力印刷情報の描画処理を実行し、印刷装置において出力可能な印字データへの展開を行う印刷処理装置において、
印刷情報を印字データに展開する前記描画処理を実行する本体処理手段と、
前記本体処理手段に接続可能な構成を有し、前記描画処理の少なくとも一部の処理を実行する付加処理手段と、
前記本体処理手段に接続された付加処理手段の種類を識別する検出手段と、
前記検出手段により識別された付加処理手段の実行処理が特定できる形態である場合には前記本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定し、前記検出手段により識別された付加処理手段の実行処理が異なる形態で複数設定できる場合にはユーザによる指定によって前記本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定する描画処理プロセス決定手段と、
前記描画処理プロセス決定手段により決定された描画処理プロセスの実行プログラムを前記本体処理手段および接続された付加処理手段にロードする描画処理プログラムロード手段と、
を備えたことを特徴とする印刷処理装置。
In a print processing device that executes drawing processing of input print information and expands into print data that can be output by the printing device,
Main body processing means for executing the drawing process for expanding print information into print data;
An additional processing means having a configuration connectable to the main body processing means and executing at least a part of the drawing process;
Detecting means for identifying the type of additional processing means connected to the main body processing means;
If the execution processing of the additional processing means identified by the detection means can be specified, the drawing processing process to be executed by the main body processing means and the identified additional processing means is determined and identified by the detection means. A drawing process determination unit for determining a drawing process to be executed by the main body processing unit and the identified additional processing unit when a plurality of execution processes of the added processing unit can be set in different forms ; ,
A drawing processing program loading means for loading an execution program of the drawing processing process determined by the drawing processing process determining means into the main body processing means and the connected additional processing means;
A print processing apparatus comprising:
前記描画処理プロセス決定手段は、前記検出手段により識別された付加処理手段の種類、個数、および描画処理プロセス指示情報に基づいて実行すべき描画処理プロセスを決定することを特徴とする請求項1記載の印刷処理装置。  2. The drawing processing process determining means determines a drawing processing process to be executed based on the type and number of additional processing means identified by the detecting means and drawing processing process instruction information. Print processing equipment. 前記描画処理プロセス決定手段は、付加処理手段の種類、個数、および描画処理プロセス指示情報の有無と、実行すべき描画処理プロセスとを対応させた描画処理プロセス決定テーブルに基づいて実行すべき描画処理プロセスを決定することを特徴とする請求項2記載の印刷処理装置。  The drawing process determination unit is configured to execute a drawing process to be executed based on a drawing process determination table that associates the type and number of additional processing units, the presence / absence of drawing process process instruction information, and the drawing process to be executed. The print processing apparatus according to claim 2, wherein a process is determined. 前記付加処理手段は前記本体処理手段に対して着脱可能な構成を有することを特徴とする請求項1乃至3いずれかに記載の印刷処理装置。  4. The print processing apparatus according to claim 1, wherein the additional processing unit is configured to be detachable from the main body processing unit. 前記付加処理手段は前記本体処理手段または他の付加処理手段のアクセラレータとして構成されることを特徴とする請求項1乃至4いずれかに記載の印刷処理装置。  5. The print processing apparatus according to claim 1, wherein the additional processing unit is configured as an accelerator of the main body processing unit or another additional processing unit. 前記付加処理手段は、一連の描画処理プロセス中、前記本体処理手段または他の付加処理手段の実行する描画処理プロセス以外の描画処理プロセスを実行する構成を有することを特徴とする請求項1乃至4いずれかに記載の印刷処理装置。  5. The additional processing means is configured to execute a drawing processing process other than a drawing processing process executed by the main body processing means or other additional processing means during a series of drawing processing processes. The print processing apparatus according to any one of the above. 前記付加処理手段は、一連の描画処理プロセス中、前記本体処理手段または他の付加処理手段の実行する描画処理プロセスの少なくとも一部の描画処理プロセスを前記本体処理手段または他の付加処理手段とともに並列に実行する構成を有することを特徴とする請求項1乃至4いずれかに記載の印刷処理装置。  The additional processing means parallels at least a part of a drawing processing process executed by the main body processing means or other additional processing means together with the main body processing means or other additional processing means during a series of drawing processing processes. The print processing apparatus according to claim 1, further comprising: 前記付加処理手段は同一の描画処理プロセスを並列処理可能な複数の付加処理手段によって構成され、前記描画処理プロセス決定手段は、印刷情報のページ単位の処理を前記複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする請求項1乃至4いずれかに記載の印刷処理装置。  The additional processing means is composed of a plurality of additional processing means capable of processing the same drawing processing process in parallel, and the drawing processing process determining means performs processing in units of pages of print information in parallel using the plurality of additional processing means. The print processing apparatus according to claim 1, wherein a process to be processed is determined as an execution process. 前記付加処理手段は同様の処理を並列に処理可能な複数の付加処理手段によって構成され、前記描画処理プロセス決定手段は、印刷情報中の描画オブジェクト単位の処理を前記複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする請求項1乃至4いずれかに記載の印刷処理装置。  The additional processing means is composed of a plurality of additional processing means capable of processing similar processing in parallel, and the drawing processing process determining means uses the plurality of additional processing means for processing of drawing objects in print information. The print processing apparatus according to claim 1, wherein a process for parallel processing is determined as an execution process. 入力印刷情報の描画処理を実行し、印刷装置において出力可能な印字データへの展開を行なう印刷処理方法であって、
印刷情報を印字データに展開する前記描画処理を実行する本体処理手段と、前記本体処理手段に接続可能な構成を有し、前記描画処理の少なくとも一部の処理を実行する付加処理手段とを適用して実行する印刷処理方法において、
前記本体処理手段に接続された付加処理手段の種類を識別する検出ステップと、
前記検出ステップにおいて識別された付加処理手段の実行処理が特定できる形態である場合には前記本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定し、前記検出ステップにおいて識別された付加処理手段の実行処理が異なる形態で複数設定できる場合にはユーザによる指定によって前記本体処理手段および該識別された付加処理手段において実行すべき描画処理プロセスを決定する描画処理プロセス決定ステップと、
前記描画処理プロセス決定ステップにおいて決定された描画処理プロセスの実行プログラムを前記本体処理手段および接続された付加処理手段にロードする描画処理プログラムロードステップと、
を備えたことを特徴とする印刷処理方法。
A print processing method that executes drawing processing of input print information and expands into print data that can be output by a printing apparatus,
A main body processing unit that executes the drawing process for expanding print information into print data, and an additional processing unit that has a configuration connectable to the main body processing unit and that executes at least a part of the drawing process are applied. In the print processing method executed as
A detecting step for identifying the type of the additional processing means connected to the main body processing means;
If the execution processing of the additional processing means identified in the detection step is in a form that can be specified, the main body processing means and the drawing processing process to be executed in the identified additional processing means are determined, and are identified in the detection step. A drawing processing process determining step for determining a drawing processing process to be executed in the main body processing means and the identified additional processing means when a plurality of execution processes of the added processing means can be set in different forms; ,
A drawing processing program loading step for loading the drawing processing process execution program determined in the drawing processing process determination step into the main body processing means and the connected additional processing means;
A printing processing method characterized by comprising:
前記描画処理プロセス決定ステップは、
前記検出ステップにおいて識別された付加処理手段の種類、個数、および描画処理プロセス指示情報に基づいて実行すべき描画処理プロセスを決定することを特徴とする請求項10記載の印刷処理方法。
The drawing process determination step includes
11. The print processing method according to claim 10, wherein a drawing processing process to be executed is determined based on the type and number of additional processing means identified in the detecting step and drawing processing process instruction information.
前記描画処理プロセス決定ステップは、
付加処理手段の種類、個数、および描画処理プロセス指示情報の有無と、実行すべき描画処理プロセスとを対応させた描画処理プロセス決定テーブルに基づいて実行すべき描画処理プロセスを決定することを特徴とする請求項11記載の印刷処理方法。
The drawing process determination step includes
The drawing processing process to be executed is determined based on a drawing processing process determination table that associates the type and number of additional processing means and the presence or absence of drawing processing process instruction information with the drawing processing process to be executed. The print processing method according to claim 11.
前記付加処理手段は、一連の描画処理プロセス中、前記本体処理手段または他の付加処理手段の実行する描画処理プロセス以外の描画処理プロセスを実行することを特徴とする請求項10乃至12いずれかに記載の印刷処理方法。  13. The additional processing means executes a drawing processing process other than a drawing processing process executed by the main body processing means or other additional processing means during a series of drawing processing processes. The printing processing method as described. 前記付加処理手段は、一連の描画処理プロセス中、前記本体処理手段または他の付加処理手段の実行する描画処理プロセスの少なくとも一部の描画処理プロセスを前記本体処理手段または他の付加処理手段とともに並列に実行することを特徴とする請求項10乃至12いずれかに記載の印刷処理方法。  The additional processing means parallels at least a part of a drawing processing process executed by the main body processing means or other additional processing means together with the main body processing means or other additional processing means during a series of drawing processing processes. The print processing method according to claim 10, wherein the print processing method is executed. 前記付加処理手段は同一の描画処理プロセスを並列処理可能な複数の付加処理手段によって構成され、前記描画処理プロセス決定ステップは、印刷情報のページ単位の処理を前記複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする請求項10乃至12いずれかに記載の印刷処理方法。  The additional processing means is constituted by a plurality of additional processing means capable of processing the same drawing processing process in parallel, and the drawing processing process determining step performs processing in units of pages of print information in parallel using the plurality of additional processing means. The print processing method according to claim 10, wherein a process to be processed is determined as an execution process. 前記付加処理手段は同様の処理を並列に処理可能な複数の付加処理手段によって構成され、前記描画処理プロセス決定ステップは、印刷情報中の描画オブジェクト単位の処理を前記複数の付加処理手段を用いた並列処理とするプロセスを実行プロセスとして決定することを特徴とする請求項10乃至12いずれかに記載の印刷処理方法。  The additional processing means is composed of a plurality of additional processing means capable of processing the same processing in parallel, and the drawing process determination step uses the plurality of additional processing means for processing of drawing objects in print information. The print processing method according to claim 10, wherein a process to be executed in parallel is determined as an execution process.
JP33005897A 1997-12-01 1997-12-01 Print processing device Expired - Fee Related JP3755265B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33005897A JP3755265B2 (en) 1997-12-01 1997-12-01 Print processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33005897A JP3755265B2 (en) 1997-12-01 1997-12-01 Print processing device

Publications (2)

Publication Number Publication Date
JPH11157144A JPH11157144A (en) 1999-06-15
JP3755265B2 true JP3755265B2 (en) 2006-03-15

Family

ID=18228315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33005897A Expired - Fee Related JP3755265B2 (en) 1997-12-01 1997-12-01 Print processing device

Country Status (1)

Country Link
JP (1) JP3755265B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4795138B2 (en) * 2006-06-29 2011-10-19 富士ゼロックス株式会社 Image processing apparatus and program
JP6575216B2 (en) * 2015-08-14 2019-09-18 富士ゼロックス株式会社 Image processing apparatus, image forming apparatus, and image processing program

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3826038B2 (en) Printing system, printing method therefor, and printing apparatus
JP4235347B2 (en) Information processing apparatus, information processing method, and storage medium
JP4174476B2 (en) Data processing apparatus, data processing method, printer driver program, print control apparatus, print control method, and printing system
US7023579B2 (en) Information processing apparatus, information processing method, and memory medium storing print control program therein
US7161702B2 (en) Method and apparatus for generating a print command capable of generating improved stable throughput
JP4095166B2 (en) Image processing apparatus and method
JP3755265B2 (en) Print processing device
JP3885282B2 (en) Print data processing apparatus and print data processing method
JP3384223B2 (en) Print processing system
JP2006159738A (en) Print controller, its data processing method, and storage medium
JP3671633B2 (en) Print data processing device
JP3640133B2 (en) Print processing device
JP3792881B2 (en) Image processing apparatus, data processing method for image processing apparatus, and storage medium storing computer-readable program
JP4663140B2 (en) Data processing apparatus and method, storage medium and program
JPH10151815A (en) Printing-processing apparatus
JP3297448B2 (en) Image processing apparatus and image processing method
JP2004326266A (en) Print control method, information processing device, and printer
JPH11144062A (en) Printing processor
JP2005169671A (en) Data processing apparatus, printing controlling method, storage medium with computer readable program stored, and program
JP4853654B2 (en) Image processing apparatus, image processing system, and image processing program
JPH10157217A (en) Printing-processing apparatus
JPH10305639A (en) Print processor and processing method
JP2002007101A (en) Information processor and information processing method and storage medium
US7916351B2 (en) Image processing apparatus and method, printer device, and computer readable recording medium
JPH09218762A (en) Printing processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20020717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050323

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: 20051129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051212

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees