(57)【要約】【課題】  非対称型デュアルＣＰＵ構成のプリンタコントローラにおいて、ＣＰＵを効率よく利用することを目的とする。【解決手段】  情報処理装置から送信された印刷ジョブデータを受信する手段と、印刷ジョブデータを格納する手段と、印刷ジョブをページ毎に各ＣＰＵに処理担当を振り分けるページ管理手段と、画像処理し終えたページをページ順にプリンタエンジンへ転送するページ管理手段と、該ページ管理を行うために必要な情報を格納する記憶手段と、ＣＰＵ間のデータ転送およびＣＰＵとプリンタエンジンの間のデータ転送を実現する手段とを有するプリンタコントローラにおけるページ管理方法において、入力側ＣＰＵにページ毎に画像処理するＣＰＵを決定するページ管理機構をもたせ、出力側ＣＰＵにページ順に印刷するように画像処理し終えたページを管理する機構をもたせることで、各ＣＰＵの負荷を平等にして効率よく２つのＣＰＵに画像処理させることができる。【選択図】        図１
2005219222.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から送信された印刷ジョブデータを受信する手段と、印刷ジョブデータを格納する手段と、印刷ジョブをページ毎に各ＣＰＵに処理担当を振り分けるページ管理手段と、画像処理し終えたページをページ順にプリンタエンジンへ転送するページ管理手段と、該ページ管理を行うために必要な情報を格納する記憶手段と、ＣＰＵ間のデータ転送およびＣＰＵとプリンタエンジンの間のデータ転送を実現する手段とを有するプリンタコントローラにおけるページ管理方法において、
入力側ＣＰＵにページ毎に画像処理するＣＰＵを決定するページ管理機構をもたせ、出力側ＣＰＵにページ順に印刷するように画像処理し終えたページを管理する機構をもたせることで、各ＣＰＵの負荷を平等にして効率よく２つのＣＰＵに画像処理させることを特徴とするページ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタコントローラのページ管理方法に関するものである。
【背景技術】
【０００２】
ＣＰＵを２個搭載した非対称型デュアルＣＰＵのプリンタコントローラにおいて、コントローラで行う処理を、入出力処理およびＰＤＬ解析を入力側ＣＰＵに、色変換およびエンジンへのデータ転送を出力側ＣＰＵにそれぞれ担当させる処理分割方法がある。
【０００３】
また、特許文献１のように画像形成装置において２つのＣＰＵを用いて処理を高速かするものもあった。
【特許文献１】特開２０００−１９８２４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の方法には以下の問題点がある。
・入出力処理およびＰＤＬ解析に係る処理時間の合計と色変換およびエンジンへの転送処理に係る処理時間の合計が等しくなければ、２つのＣＰＵを効率的に利用できない。
・ＰＤＬ解析後のラスタデータのデータサイズがＰＤＬ解析前のデータに比べて大きいので、ＣＰＵ間でデータを転送するのに時間が係る。
【０００５】
本発明は、以上の点に着目して成されたもので、非対称型デュアルＣＰＵ構成のプリンタコントローラにおいて、ＣＰＵを効率よく利用することを目的とするデュアルＣＰＵ構成のプリンタコントローラにおけるページ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そこで本発明では、
情報処理装置から送信された印刷ジョブデータを受信する手段と、印刷ジョブデータを格納する手段と、印刷ジョブをページ毎に各ＣＰＵに処理担当を振り分けるページ管理手段と、画像処理し終えたページをページ順にプリンタエンジンへ転送するページ管理手段と、該ページ管理を行うために必要な情報を格納する記憶手段と、ＣＰＵ間のデータ転送およびＣＰＵとプリンタエンジンの間のデータ転送を実現する手段とを有するプリンタコントローラにおけるページ管理方法において、
入力側ＣＰＵにページ毎に画像処理するＣＰＵを決定するページ管理機構をもたせ、出力側ＣＰＵにページ順に印刷するように画像処理し終えたページを管理する機構をもたせることで、各ＣＰＵの負荷を平等にして効率よく２つのＣＰＵに画像処理させることができる。
【発明の効果】
【０００７】
本発明に係る発明によれば、
情報処理装置から送信された印刷ジョブデータを受信する手段と、印刷ジョブデータを格納する手段と、印刷ジョブをページ毎に各ＣＰＵに処理担当を振り分けるページ管理手段と、画像処理し終えたページをページ順にプリンタエンジンへ転送するページ管理手段と、該ページ管理を行うために必要な情報を格納する記憶手段と、ＣＰＵ間のデータ転送およびＣＰＵとプリンタエンジンの間のデータ転送を実現する手段とを有するプリンタコントローラにおけるページ管理方法において、
入力側ＣＰＵにページ毎に画像処理するＣＰＵを決定するページ管理機構をもたせ、出力側ＣＰＵにページ順に印刷するように画像処理し終えたページを管理する機構をもたせることで、各ＣＰＵの負荷を平等にして効率よく２つのＣＰＵに画像処理させることができた。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面に従って本発明にかかる実施形態を詳細に説明する。
【実施例】
【０００９】
図１は本発明の実施の形態に係るプリンタコントローラ１０１を含むシステム全体のブロック図を示したものである。１０１は本発明のプリンタコントローラである。プリンタコントローラ１０１はプリンタ１０２に搭載されており、接続ケーブル１０３を介して情報処理装置１０４から印刷データを受信する。印刷データは、通常、プリンタ１０２で解析可能なプリンタ記述言語（ＰＤＬ）と呼ばれる形式のデータで記述される。接続ケーブル１０３に関して、オフィス環境などでは、イーサネット（Ｒ）などのＬＡＮが用いられている。単独で情報処理装置とプリンタを接続する手段としては、ＩＥＥＥ１２８４などのパラレルインターフェースやＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４などのシリアルインターフェースがある。本発明において、プリンタと情報処理装置を接続する手段に制限はない。情報処理装置１０４に関して、例えばマイクロソフト株式会社製のＯＳであるＷｉｎｄｏｗｓ（登録商標）２０００などを搭載したパーソナルコンピュータが考えられる。本発明において、プリンタコントローラ１０１で解析可能なＰＤＬデータを生成することができ、かつプリンタ１０１と接続することができる手段を備えた装置であれば、例えばデジタルカメラやＰＤＡなどでも適用可能である。
【００１０】
図２は本発明の実施の形態に係るプリンタコントローラ１０１および、プリンタコントローラ１０１を搭載したプリンタ１０２のブロック図を示したものである。入出力Ｉ／Ｆ２０１は、情報処理装置１０４とのデータ送受信において、受信したデータをメモリ０２０３に格納したり、メモリ０２０３上のデータを送信したりするためのインターフェイスである。ＣＰＵ０２０２は、受信データが印刷ジョブである場合、ジョブをページ単位で管理し、ページ単位で処理を行うＣＰＵを決定するページ管理機構や、受信データをプリンタエンジンへ転送可能なラスタデータに変換する画像処理手段や、受信データをＣＰＵ１に転送する手段を有する演算処理装置である。ＣＰＵ１２０３は、ＣＰＵ０より転送されたＰＤＬデータをラスタデータに変換する画像処理手段や、ＣＰＵ０またはＣＰＵ１で生成したラスタデータをページ順にプリンタエンジンに転送するた画像処理が完了したページを管理する手段や、エンジンＩ／Ｆ２０７を介してプリンタエンジン２０８へラスタデータを転送する手段を有する演算処理装置である。メモリ２０４および２０５はＰＤＬデータやラスタデータを格納するための記憶媒体である。ページ管理レジスタ付きバスブリッジ２０６は、ＣＰＵ０からＣＰＵ１へＰＤＬデータを転送するときの媒体手段、ＣＰＵ０またはＣＰＵ１で生成されたラスタデータをエンジンＩ／Ｆを介してプリンタエンジンエンジンへ転送するための媒体手段を有しており、さらにＣＰＵ０またはＣＰＵ１で行うページ管理機構で使用するページ管理用レジスタを搭載する。プリンタエンジン２０８は、転送されたラスタデータをもとに、紙に印字して印刷を行う装置である。
【００１１】
図３は本発明の実施の形態にかかるページ管理レジスタ付きバスブリッジ２０６内のページ管理用レジスタ群を示したものである。ページ情報３０１は、値の有効または無効を示す有効ビット、画像処理が完了したことを示す完了ビット、および画像処理を担当するＣＰＵを示す担当ＣＰＵビットから構成されるレジスタである。ＣＰＵ０のページ管理機構では、ページの割り振りを決定した際、担当ＣＰＵビット（ＣＰＵ０なら０、ＣＰＵ１なら１）、有効ビットをセットする。ページデータアドレス３０２は、生成したラスタデータの格納先アドレスを示すレジスタである。画像処理を完了したＣＰＵは、ページデータアドレスレジスタにラスタデータの格納先アドレスを書き込み、ページ情報レジスタの完了ビットを１にセットする。ページデータサイズ３０３は、ラスタデータのデータサイズを格納するためのレジスタである。ページ情報レジスタ、ページデータアドレスレジスタ、ページデータサイズレジスタは、これら３種類のレジスタを１組として複数存在し、物理ページナンバーと呼ばれる固有の数字が割り振られている。その個数については、ラスタデータを格納するメモリ容量、ラスタデータ圧縮方法、プリンタエンジン性能を鑑みて、必要個数を算出する。空きページナンバー３０４は、ＣＰＵ０のページ管理機構が次にページ情報を格納すべき物理ページナンバーを格納するためのレジスタである。ＣＰＵ０のページ管理機構では、画像処理するＣＰＵを決定したら、担当ＣＰＵビット、有効ビットをセットするとともに、空きページナンバーの値を１だけ増加させる。このとき物理ページナンバーの最大数に達したら、空きページナンバーの値を０にする。転送ページナンバー３０５は、ＣＰＵ１のページ管理機構が次にラスタデータをプリンタエンジンへ転送すべきページの物理ナンバーを格納するためのレジスタである。ラスタデータを転送し終えたら、転送ページナンバーの値を１だけ増加させる。このとき物理ページナンバーの最大数に達したら、転送ページナンバーの値を０にする。ＣＰＵ０処理ページ総数３０６、ＣＰＵ１処理ページ総数３０７は、割り振られたページに対して画像処理が完了していないページの数を格納するレジスタである。各ＣＰＵは、１ページ分の画像処理が完了したら、完了ビットに１をセットするとともにＣＰＵ処理ページ総数を１だけ減少させる。
【００１２】
図４は本発明の実施の形態にかかるＣＰＵ０のページ管理機構の処理フローを示したものである。以下、ステップごとに説明する。
【００１３】
Ｓ４０１：ＣＰＵ１は、印刷ジョブがあるかどうかをチェックする。印刷ジョブがあればＳ４０２へ進む。印刷ジョブがなければＳ４０１へ進む。
【００１４】
Ｓ４０２：ＣＰＵ１は、空きページナンバーが示す物理ページナンバーのページ情報レジスタの有効ビットをチェックする。有効ビットが０であればＳ４０４へ進む。有効ビットが１であればＳ４０３へ進む。
【００１５】
Ｓ４０３：ＣＰＵ０は、ページ情報レジスタの有効ビットが０になるまで待つ。ＣＰＵ１のページ管理機構では、１ページ分のラスタデータをプリンタエンジンへ転送し終えると、そのページの情報が格納されたページ情報レジスタの有効ビットを０にセットする。このとき、ＣＰＵ０に対して割り込みが発生し、ＣＰＵ０は待ち状態を解除され、Ｓ４０２へ進む。
【００１６】
Ｓ４０４：ＣＰＵ０は、１ページ分のＰＤＬデータをどちらのＣＰＵに割り振るか決定する。ＣＰＵ０処理ページ総数＞ＣＰＵ１処理ページ総数であればＳ４０５へ進む。ＣＰＵ０処理ページ総数＜＝ＣＰＵ１処理ページ総数であればＳ４０６へ進む。
【００１７】
Ｓ４０５：ＣＰＵ０は、空きページナンバーレジスタが示す物理ページナンバーのページ情報レジスタに担当ＣＰＵビットを０、有効ビットを１にそれぞれセットする。さらに、ＣＰＵ０処理ページ総数を１だけ増加し、空きページナンバーも１だけ増加させる。ただし、空きページナンバーが物理ページナンバーの総数に達した場合は０をセットする。
【００１８】
Ｓ４０６：ＣＰＵ０は、１ページ分のＰＤＬデータをＣＰＵ１のメモリへ転送する。
【００１９】
Ｓ４０７：ＣＰＵ０は、ＰＤＬデータの転送が完了するまで待つ。
【００２０】
Ｓ４０８：ＣＰＵ０は、空きページナンバーレジスタが示す物理ページナンバーのページ情報レジスタに担当ＣＰＵビットを１、有効ビットを１にそれぞれセットする。さらに、ＣＰＵ１処理ページ総数を１だけ増加し、空きページナンバーも１だけ増加させる。ただし、空きページナンバーが物理ページナンバーの総数に達した場合は０をセットする。
【００２１】
Ｓ４０９：ＣＰＵ０は、次に管理すべきページがあるかどうかチェックする。次に管理すべきページがあればＳ４０２へ進む。次に管理すべきページがなければＳ４０１へ進む。
【００２２】
図５は本発明の実施の形態にかかるＣＰＵ１のページ管理機構の処理フローを示したものである。以下、ステップごとに説明する。
【００２３】
Ｓ５０１：ＣＰＵ１は、ページ情報レジスタの完了ビットが０になるまで待つ。各ＣＰＵは１ページ分のＰＤＬデータを画像処理し終えると、そのページの管理情報が格納されたページ情報レジスタの完了ビットを１にセットする。このときＣＰＵ１に対して割り込みが発生し、ＣＰＵ１は待ち状態を解除され、Ｓ５０２へ進む。
【００２４】
Ｓ５０２：ＣＰＵ１は、転送ページナンバーが示すページ情報レジスタの完了ビットをチェックする。完了ビットが１であればＳ５０３へ進む。完了ビットが０であればＳ５０１へ進む。
【００２５】
Ｓ５０３：ＣＰＵ１は、転送ページナンバーが示すページ情報レジスタのページアドレス、ページデータサイズをＣＰＵ０のＤＭＡＣにセットし、ラスタデータをプリンタエンジンへＤＭＡ転送する。
【００２６】
Ｓ５０４：ＣＰＵ１は、ＤＭＡ転送が完了するまで待つ。ＤＭＡ転送が完了したら、ＣＰＵ１は待ち状態を解除され、Ｓ５０５へ進む。
【００２７】
Ｓ５０５：ＣＰＵ１は、転送ページナンバーが示すページ情報レジスタの完了ビットおよび有効ビットに０をセットし、さらに転送ページナンバーを１だけ増加させる。
【００２８】
図６は本発明の実施の形態に係るＣＰＵの画像処理に関する処理フローを示したものである。以下、ステップごとに説明する。
【００２９】
Ｓ６０１：ＣＰＵは、画像処理すべき１ページ分のＰＤＬデータが割り振られるまで待つ。ＣＰＵ０のページ管理機構では、割り振るＣＰＵを決定すると、空きページナンバーが示すページ情報レジスタの担当ＣＰＵビットに、各ＣＰＵに対応した値を書き込む。このとき割り振られたＣＰＵは待ち状態を解除され、Ｓ６０２へ進む。
【００３０】
Ｓ６０２：ＣＰＵは、１ページ分のＰＤＬデータを画像処理しラスタデータを生成する。
【００３１】
Ｓ６０３：ＣＰＵは、ページデータアドレスに処理を完了したラスタデータの先頭アドレスをセットし、ページデータサイズにラスタデータのデータサイズをセットする。さらにＣＰＵはＣＰＵ処理ページ総数を１だけ減少させ、完了ビットに１をセットする。
【図面の簡単な説明】
【００３２】
【図１】本発明に係るプリンタコントローラを含むシステム全体の構成図である。
【図２】本発明に係るプリンタコントローラのブロック図である。
【図３】本発明に係るページ情報レジスタのブロック図である。
【図４】本発明に係るＣＰＵ０のページ管理機構の処理フローを示したものである。
【図５】本発明に係るＣＰＵ１のページ管理機構の処理フローを示したものである。
【図６】本発明に係るＣＰＵ０およびＣＰＵ１の画像処理に関するフローである。
【符号の説明】
【００３３】
１０１  プリンタコントローラ
１０２  プリンタ
１０３  接続ケーブル
１０４  情報処理装置
２０１  入出力Ｉ／Ｆ
２０２  ＣＰＵ０
２０３  ＣＰＵ１
２０４  メモリ
２０５  メモリ
２０６  ページ管理レジスタ付きバスブリッジ
２０７  エンジンＩ／Ｆ
２０８  プリンタエンジン
３０１  ページ情報レジスタ
３０１１  担当ＣＰＵビット
３０１２  完了ビット
３０１３  有効ビット
３０２  ページデータアドレスレジスタ
３０３  ページデータサイズレジスタ
３０４  空きページナンバー
３０５  転送ページナンバー
３０６  ＣＰＵ０処理ページ総数
３０７  ＣＰＵ１処理ページ総数
【図１】
2005219222.tif 000003
【図２】
2005219222.tif 000004
【図３】
2005219222.tif 000005
【図４】
2005219222.tif 000006
【図５】
2005219222.tif 000007
【図６】
2005219222.tif 000008