(57)【要約】【課題】  プリンタエンジンへのデータ転送量に応じて，CPU間転送で一回に送るデータ量を変更することを目的とする。【解決手段】  ホストコンピュータより印刷データを受信しPDL解読処理を行う機能と、PDL解読処理を行ったデータを色変換しプリンタエンジンへ転送する機能とを機能分離したデュアルCPUプリンタコントローラにおいて、プリンタエンジンへの印刷データの転送量を測定する手段と、CPU間転送で一回に送るデータ量を制御する手段とを有し、測定した印刷データの転送量の結果に基づいてCPU間転送で一回に送るデータ量を変更する。【選択図】  図１
2006035636.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータより印刷データを受信しPDL解読処理を行う機能と、PDL解読処理を行ったデータを色変換しプリンタエンジンへ転送する機能とを機能分離したデュアルCPUプリンタコントローラにおいて、
プリンタエンジンへの印刷データの転送量を測定する手段と、
CPU間転送で一回に送るデータ量を制御する手段とを有し、
測定した印刷データの転送量の結果に基づいてCPU間転送で一回に送るデータ量を変更することを特徴とする印刷処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ホストコンピュータより印刷データを受信しPDL解読処理を行う機能と、PDL解読処理を行ったデータを色変換しプリンタエンジンへ転送する機能とを、機能分離をしたデュアルCPUプリンタコントローラにおいて、CPU間転送で一回に送るデータ量を変更するデータ転送制御手段に関するものである。
【背景技術】
【０００２】
近年のプリンタエンジンの高画質化により、プリンタコントローラに求められる処理速度が求められている。その解決方法として、マルチプロセッサを用いた並列処理により、デジタルデータの処理速度を向上させる方法が一般的である。しかし、開発期間やコストがかかるため、プリンタなどの周辺機器には採用されない。そこで、特許文献１のようにCPUを２個搭載し、プリンタコントローラにおける処理を段階的に行い、それぞれの段階でのデータを受け渡すことにより、複数のCPUでの並列処理を可能とするデュアルCPUのプリンタコントローラが提案されている。
【特許文献１】特開２０００−１９８２４０号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ホストコンピュータより印刷データを受信しPDL解読処理を行う機能と、PDL解読処理を行ったデータを色変換しプリンタエンジンへ転送する機能とを、機能分離をしたデュアルCPUプリンタコントローラにおける出力側のバスにおいて、エンジンへのデータ転送とCPU間のデータ転送の競合が生じる。その際、エンジン側へのデータ転送帯域は必ず保証をする必要があるのと同時に、次のページの印刷に必要なデータをCPU転送する必要もある。そのため、データ転送の競合が生じた場合、CPU間転送の帯域が制限されるため、転送が終了するまで出力側CPUの処理が待たされる可能性が高くなる。そこで，本発明は，プリンタエンジンへのデータ転送量に応じて、CPU間転送で一回に送るデータ量を変更することを目的とする。
【課題を解決するための手段】
【０００４】
上記の目的を達成するための本発明による印刷処理装置は以下の構成を備える。即ち、
ホストコンピュータより印刷データを受信しPDL解読処理を行う機能と、PDL解読処理を行ったデータを色変換しプリンタエンジンへ転送する機能とを、機能分離をしたデュアルCPUプリンタコントローラにおいて、
プリンタエンジンへの印刷データの転送量を測定する手段と、
CPU間転送で一回に送るデータ量を制御する手段とを有し、
測定した印刷データの転送量の結果に基づいてCPU間転送で一回に送るデータ量を変更する。
【発明の効果】
【０００５】
以上説明したように、本願の請求項1に記載した発明によれば、ホストコンピュータより印刷データを受信しPDL解読処理を行う機能と、PDL解読処理を行ったデータを色変換しプリンタエンジンへ転送する機能とを、機能分離をしたデュアルCPUプリンタコントローラにおいて，プリンタエンジンへのデータ転送量に応じて、CPU間転送で一回に送るデータ量を変更することが可能となり、出力側CPUの処理を効率的に行うことが可能となる。
【発明を実施するための最良の形態】
【０００６】
以下、添付図面を参照して本発明に係る実施形態を詳細に説明する。
【０００７】
図１は、本発明の実施形態を示すブロック図である。
【０００８】
本発明の実施の形態に係る印刷処理装置は、プリンタコントローラ101、プリンタ102、ホストコンピュータ103、エンジン104、Memory#0 105、CPU#0 106、CPU間転送サイズレジスタ107、CPU#1 108、Memory#1 109、Bus Bridge 110、エンジン転送サイズレジスタ111、Input I/F 112、Engine I/F 113を備えている。
【０００９】
図１において、プリンタコントローラ101は本発明のプリンタコントローラである。プリンタコントローラ101はプリンタ102に搭載されており、ホストコンピュータ103から印刷データを受信する。印刷データは、通常、プリンタ102で解析可能なプリンタ記述言語（PDL）と呼ばれる形式のデータで記述される。プリンタ102とホストコンピュータ103の接続に関して，オフィス環境などでは，イーサネット（登録商標）などのLANが用いられている。単独で情報処理装置とプリンタを接続する手段としては、IEEE1284などのパラレルインターフェースやRS232C，USB，IEEE1394などのシリアルインターフェースがある。本発明において，プリンタ102とホストコンピュータ103を接続する手段に制限はない。ホストコンピュータ103に関して、例えばマイクロソフト株式会社製のOSであるWindows（登録商標） 2000などを搭載したパーソナルコンピュータが考えられる。本発明において、プリンタコントローラ101で解析可能なPDLデータを生成することができ、かつプリンタ101と接続することができる手段を備えた装置であれば，例えばデジタルカメラやPDAなどでも適用可能である。
【００１０】
Input I/F 112は、ホストコンピュータ104とのデータ送受信において、受信したデータをMemory#0 105に格納したり、Memory#0 105上のデータを送信したりするためのインターフェイスである。CPU#0 106は、受信データが印刷ジョブである場合、ジョブをページ単位で管理するページ管理機構や、受信データをラスタデータに変換する画像処理手段や、受信データをCPU#１ 108に転送する手段を有する演算処理装置であり、受信データをCPU#１ 108に転送する際の一回に転送するデータ量を示すCPU間転送サイズレジスタ 107を搭載する。CPU#１ 108は，CPU#0 106で生成したラスタデータをプリンタエンジンへ転送可能なデータに変換する画像処理手段や、ページ順にプリンタエンジンに転送するために画像処理が完了したページを管理する手段や、Engine I/F 113を介してエンジン104へラスタデータを転送する手段を有する演算処理装置である。Memory#0 105およびMemory#1 109はPDLデータやラスタデータを格納するための記憶媒体である。Bus Bridge 110は，CPU#0 106からCPU#1 108へPDLデータを転送するときの媒体手段であり、CPU#1 108からエンジン104へのデータ転送状態を示すエンジン転送レジスタ111を搭載する。エンジン104は、転送されたラスタデータをもとに、紙に印字して印刷を行う装置である。
【００１１】
図２に、Bus Bridge 110に搭載されたエンジン転送レジスタ111の詳細を示す。エンジン転送中フラグレジスタ202には、CPU#１からエンジンへの印刷データ転送が行われているかどうかを示すフラグが格納されている。この値は、Bus Bridge 110がCPU#１側のバス状態を監視しながら設定している。エンジン転送サイズレジスタ203には、CPU#１が処理を行った後のページデータ量、つまりエンジンへ転送するデータのデータ量が格納されている。この値は、CPU#1がMemory#1の状態から算出し、エンジン転送サイズレジスタ203に値を格納する。
【００１２】
図３は本発明の実施の処理フローを示したものである。以下、ステップごとに説明する。
（１）  S101：CPU#0 106は，印刷ページがあるかどうかをチェックする。印刷ページがあれば，S102へ進む。
（２）  S102:入力データにレンダリングを行う。S103へ進む。
（３）  S103：CPU#0 106は，Bus Bridge 110に搭載されたエンジン転送中フラグレジスタ202をチェックし，その値が'0'であればCPU間転送で一回に送るデータ量を変更する必要はないため，S105へ進む。'0'でなければ，S104へ進む。
（４）  S104：エンジン転送サイズレジスタ203の値をもとに、CPU間転送で一回に送るデータ量を変更する。具体的には、エンジン転送サイズレジスタ203の値が大きいほど、CPU間転送の帯域が制限されるため、CPU間転送で一回に送るデータ量を小さくして、CPU間転送サイズレジスタ 203に格納する。S105へ進む。
（５）  S105：CPU#0 106からBus Bridge 110へデータ転送を行う。Bus Bridge 110はCPU#1 108へデータ転送を行う。 S106へ進む。
（６）  S106：CPU#1 108では，CPU#0から印刷ジョブを受けたら，S107へ進む。
（７）  S107：CPU#1 108で，色変換処理を行う。S108へ進む。
（８）  S108：S107で色変換処理を行った結果，エンジンへ転送するデータのデータ量が決定する。CPU#1 108はSDRAM#1 109の状態から算出し，その値をBus Bridge 110に搭載されたエンジン転送サイズレジスタ203に値をセットする。S109へ進む。
（９）  S109：S107で色変換処理を行ったデータを，エンジンへ出力する。S106へ進む。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態に係る画像処理システムの概略構成を示すブロック図である。
【図２】実施形態１のレジスタを示す図である。
【図３】実施形態１で実行される処理フローを示すフローチャートである。
【符号の説明】
【００１４】
101  プリンタコントローラ
102  プリンタ
103  ホストコンピュータ
104  エンジン
105  Memory#0
106  CPU#0
107  CPU間転送サイズレジスタ
108  CPU#1
109  Memory#1
110  Bus Bridge
111  エンジン転送レジスタ
112  Input I/F
113  Engine I/F
201  エンジン転送レジスタ
202  エンジン転送中フラグレジスタ
203  エンジン転送サイズレジスタ
【図１】
2006035636.tif 000003
【図２】
2006035636.tif 000004
【図３】
2006035636.tif 000005