(57)【要約】【課題】印刷装置における画像処理などの並列化において、印刷データ解釈系、および各種画像処理に対して最適なプロセッサエレメントの割り当てを可能とすること。【解決手段】印刷データから印刷イメージを生成し、該印刷イメージを出力装置に出力する印刷制御装置において、印刷データを解釈し中間データを生成する印刷データ解釈手段と、印刷データが印刷される印刷領域を複数に分割する領域分割手段と、領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、並列実行手段により並列に実行される部分データ処理手段に部分領域に対する処理要求を分配する処理分配手段と、並列実行手段により並列に処理されたデータを、印刷データが意図する順序に整列する整列手段と、を有することを特徴とする印刷制御装置。【選択図】図１
2007125851.tif 000002
【特許請求の範囲】
【請求項１】
印刷データから印刷イメージを生成し、前記印刷イメージを出力装置に出力する印刷制御装置において、
印刷データを解釈し中間データを生成する印刷データ解釈手段と、
前記印刷データ解釈手段の終了を検知する印刷データ解釈終了検知手段と、
前記印刷データが印刷される印刷領域を複数に分割する領域分割手段と、
前記領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、
前記部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、
前記並列実行手段により並列に実行される前記部分データ処理手段に該部分領域に対する処理要求を分配する処理分配手段と、
前記並列実行手段により並列に処理されたデータを収集し結合するイメージ生成手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記中間データがディスプレイリスト構造であることを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記部分データ処理手段としてレンダリング処理を含むことを特徴とする請求項１記載の印刷制御装置。
【請求項４】
前記部分データ処理手段として色補正処理を含むことを特徴とする請求項１記載の印刷制御装置。
【請求項５】
前記部分データ処理手段として色空間変換処理を含むことを特徴とする請求項１記載の印刷制御装置。
【請求項６】
前記部分データ処理手段としてハーフトーン処理を含むことを特徴とする請求項１記載の印刷制御装置。
【請求項７】
前記部分データ処理手段として圧縮処理を含むことを特徴とする請求項１記載の印刷制御装置。
【請求項８】
印刷データから印刷イメージを生成し、前記印刷イメージを形成する画像形成方法であって、
印刷データを解釈し中間データを生成する印刷データ解釈手段と、
前記印刷データが印刷される印刷領域を複数に分割する領域分割手段と、
前記領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、
前記部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、
前記並列実行手段により並列に実行される前記部分データ処理手段に前記部分領域に対する処理要求を分配する処理分配手段と、
前記並列実行手段により並列に処理されたデータを、前記印刷データが意図する順序に整列する整列手段と、
を有することを特徴とする画像形成方法。
【請求項９】
印刷データから印刷イメージを生成し、前記印刷イメージを生成するプログラムを記憶した記憶媒体であって、
印刷データを解釈し中間データを生成する印刷データ解釈手段と、
前記印刷データが印刷される印刷領域を複数に分割する領域分割手段と、
前記領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、
前記部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、
前記並列実行手段により並列に実行される前記部分データ処理手段に前記部分領域に対する処理要求を分配する処理分配手段と、
前記並列実行手段により並列に処理されたデータを、前記印刷データが意図する順序に整列する整列手段と、
を有することを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に関連し、特に複数のプロセッサエレメントを持つ印刷装置に係る技術である処の、印刷制御装置及び画像形成方法ならびに記憶媒体に関する。
【背景技術】
【０００２】
近年、印刷結果の更なる高品位化、高画質化への要求から印刷装置の高解像度化が進んでいる。このような高解像度化に伴い、印刷装置が処理すべきデータの量も飛躍的に大きくなってきている。
【０００３】
処理データ量の増大に対する対策としては、処理を行うＣＰＵの高速化、利用できるメモリの高速化などがあげられる。特にＣＰＵの高速化については、単にＣＰＵの駆動周波数を上げるだけでなく、複数のＣＰＵを利用する、あるいは単一ＣＰＵであってもＣＰＵ内に複数のプロセッサエレメント（ＰＥ）を持つＣＰＵを利用するなど、同時に複数の処理を実行することができる仕組みを持つ印刷装置も存在する。
【０００４】
複数のＰＥが利用可能な印刷装置においては、例えば、ＰＥ０、ＰＥ１、ＰＥ２、ＰＥ３という４つのプロセッサエレメントが利用可能な場合、ＰＥ０にジョブの管理と印刷データの解釈系を配置し、ＰＥ０、ＰＥ１、ＰＥ２、ＰＥ３にレンダリングなどを行う画像生成系や色補正、色変換、ハーフトーン処理などを行う画像処理系を配置するような構成が考えられる。
【０００５】
ＰＥ０で稼動する解釈系は、ネットワークを介して受信された所定のＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述された印刷データを解釈し、ディスプレイリストと呼ばれる、よりプリミティブな描画命令からなるデータ構造を生成する。
【０００６】
ＰＥ０、ＰＥ１、ＰＥ２、ＰＥ３に配置された画像生成系は、ＰＥ０から受け取ったディスプレイリスト解釈し、担当する領域内を描画する描画命令に従って、ＲＧＢ画素からなるラスター画像を生成する。この場合、ＰＥ０、ＰＥ１、ＰＥ２、ＰＥ３の処理を、ページ内の異なる小領域（バンド）に対して割り当てることにより並列的に処理を進めることができる。
【０００７】
並列処理の様子を、図４を用いて説明する。図４の例では、３ページの文書を処理することを前提としている。まず、ネットワーク等所定の入力手段を通じて印刷データを受け取った印刷データ解釈系は、１ページ目の解釈処理を実行する（図４−Ｉ１）。Ｉ１の処理は、１ページ目のディスプレイリスト生成する。この例では、１ページの印刷領域は、簡単化のために４つのバンドに分割されているものとするが、実際は、メモリの消費量を抑えるために数十バンドに分割することが多い。
【０００８】
画像生成手段がＰＥ０〜３に配置されているため、同時に４バンドの処理が可能である（図４Ｒ１−１〜Ｒ１−４）。各々のＰＥに配置された画像生成手段は印刷データ解釈手段が生成した出ディスプレイリストに基づき、担当するバンドの処理を行う。１ページ目のすべてのバンドの画像生成が終了すると、２ページ目の印刷データ解釈処理を実行する（Ｉ２）。以下、同様に３ページ分の処理を行う。
【特許文献１】特開２００１−２８７４１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
印刷データを部分データに分割してマルチプロセッサで並列に処理する場合、すべてのプロセッサの稼働率を上げることは、困難であった。
【００１０】
図４のような構成で、並列処理を進めると、１ページの文書については非常に高速に処理をすすめることができた。しかし、複数ページの文書を印刷する際には、各ページの印刷データ解釈処理の間、ＰＥ１〜３が解釈処理待ち状態になり、プロセッサを有効に活用できない。このような処理待ちの時間を遊休時間と呼ぶ。
【００１１】
並列処理で高い効果を発揮するためには、可能な限りＰＥの遊休時間を削減することが必要である。上記の例では、ラスタライザが動作可能な状態にあるにもかかわらず、動作に必要な中間データが供給されないことにある。
【００１２】
上述のようなことから、本発明は、印刷装置における画像処理などの並列化において、印刷データ解釈系、および各種画像処理に対して最適なプロセッサエレメントの割り当てが可能な印刷制御装置及び画像形成方法ならびに記憶媒体の提供を目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明は以下の構成を備える。
【００１４】
（１）印刷データから印刷イメージを生成し、前記印刷イメージを出力装置に出力する印刷制御装置において、
印刷データを解釈し中間データを生成する印刷データ解釈手段と、
前記印刷データ解釈手段の終了を検知する印刷データ解釈終了検知手段と、
前記印刷データが印刷される印刷領域を複数に分割する領域分割手段と、
前記領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、
前記部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、
前記並列実行手段により並列に実行される前記部分データ処理手段に該部分領域に対する処理要求を分配する処理分配手段と、
前記並列実行手段により並列に処理されたデータを収集し結合するイメージ生成手段と、
を有することを特徴とする印刷制御装置。
【００１５】
（２）印刷データから印刷イメージを生成し、前記印刷イメージを形成する画像形成方法であって、
印刷データを解釈し中間データを生成する印刷データ解釈手段と、
前記印刷データが印刷される印刷領域を複数に分割する領域分割手段と、
前記領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、
前記部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、
前記並列実行手段により並列に実行される前記部分データ処理手段に前記部分領域に対する処理要求を分配する処理分配手段と、
前記並列実行手段により並列に処理されたデータを、前記印刷データが意図する順序に整列する整列手段と、
を有することを特徴とする画像形成方法。
【００１６】
（３）印刷データから印刷イメージを生成し、前記印刷イメージを生成するプログラムを記憶した記憶媒体であって、
印刷データを解釈し中間データを生成する印刷データ解釈手段と、
前記印刷データが印刷される印刷領域を複数に分割する領域分割手段と、
前記領域分割手段により分割された領域に該当する部分領域に対してデータ処理を行う少なくとも１種類の部分データ処理手段と、
前記部分領域に対する部分データ処理手段を並列的に実行する並列実行手段と、
前記並列実行手段により並列に実行される前記部分データ処理手段に前記部分領域に対する処理要求を分配する処理分配手段と、
前記並列実行手段により並列に処理されたデータを、前記印刷データが意図する順序に整列する整列手段と、
を有することを特徴とする記憶媒体。
【００１７】
このような構成をとることにより、図５（ａ）のように処理を進めることができる。ＰＥ０では、１ページ目の解釈処理の終了後、直ちに２ページ目の解釈処理に入る。ＰＥ０で解釈処理系が稼動している場合には、画像生成系は、ＰＥ１〜３でのみ稼動させる。典型的な文書では、解釈処理にかかる時間（Ｉ２）が、画像生成にかかる時間より短いことが多いため、１ページ目の画像生成処理および画像変換処理がすべて終わった段階で、２ページ目の解釈処理は終了していることが多い。このため、画像生成処理は、直ちに２ページ目の処理に移ることができるため、従来例で示したような、画像生成処理が長い遊休時間を持つことは少なくなり、全体として処理時間を短縮することができる。
【００１８】
更に、プロセッサ稼働率を上げるためには、図５（ｂ）で示すように、３ページ目の解釈処理を終了したＰＥ０において画像生成処理および画像変換処理を実行させる。このように構成することで、すべてのプロセッサの計算資源を有効に利用することができる。
【００１９】
本発明は、上記を鑑み、解釈系の処理終了後にラスタライズ処理および画像処理等、ＰＥで行う処理を代行することにより、すべてのＰＥのＣＰＵ資源を有効に活用することを目的とする。
【発明の効果】
【００２０】
本発明により、印刷装置における画像処理などの並列化において、最適なプロセッサエレメントの割り当てが可能になり、高速な印刷データ処理ができる。
【発明を実施するための最良の形態】
【００２１】
以下に、本発明を実施するための最良の形態を、実施例に基づいて説明する。
【実施例】
【００２２】
本発明の実施の形態に係る印刷装置を含むシステムの全体構成を示すブロック図を図１に示す。本発明の実施の形態に係る印刷装置を含むシステムは、外部装置１０１および印刷装置１０２から構成されている。
【００２３】
更に、印刷装置１０２はコントローラ部１０３、エンジン部１０４を備える構成となっている。
【００２４】
外部装置１０１は、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）として構成されており、印刷装置１０２に対してページ記述言語で記述された印刷データを送出する。
【００２５】
印刷装置１０２のコントローラ部１０３は、エンジン部１０４に接続されており、外部装置１０１から送られるＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等のページ記述言語で記述された印刷データを受け、これらのデータに基づいてＣ、Ｍ、Ｙ、Ｋ各色のドットデータからなる画像データを生成し、エンジン部１０４に対して順次ドットデータを送信する。
【００２６】
印刷装置１０２のエンジン部１０４は、Ｃ、Ｍ、Ｙ、Ｋ各色のドットデータ毎に実際に感光ドラムに潜像を形成することによって用紙にＣ、Ｍ、Ｙ、Ｋの４色を重ね合わせ、熱定着させることによって印刷を行う。印刷装置１０２のコントローラ部１０３とエンジン部１０４は所定のビデオインターフェースによって接続される。
【００２７】
次に本発明の実施の形態に係るコントローラ部１０３の処理フローを図２のブロック図をもとに説明する。
【００２８】
入力手段２００を介してデータ解釈手段２０１に送られる。
【００２９】
印刷データ解釈手段２０１は、入力手段２００から送られた印刷データを解析、所定サイズのバンドを構成するディスプレイリストを生成する。入力される印刷データは特に種類を問わず、プリンタの用途に合わせて任意のＰＤＬでよい。生成される各バンドのディスプレイリストは、後述する任意の部分データ処理手段で処理可能なように、互いに依存しないように構成される。印刷データ解釈手段２０１は、生成したディスプレイリストに、ヘッダ情報として概バンドが属するページの番号と、概バンドのバンド番号を付加してバンドデータを生成する。印刷データ解釈手段２０１は、生成したバンドデータを部分データ処理分配手段２０２に通知し、次ページの処理が必要な場合は、直ちに、次ページに対しての解釈処理を開始する。処理したページが最終ページである場合は、印刷データ解釈処理終了フラグを真とする。
【００３０】
部分データ処理分配手段２０２は、図８に示すフローにしたがって、部分データを処理するプロセッサを決定する。部分データ処理分配手段２０２（８０１）は、ステップ８０２で印刷データ解釈手段２０１からの分配要求を受信し、８０３において、該当する部分データを処理するプロセッサを決定する。続いてステップ８０４において、ステップ８０２で決定したプロセッサで稼動する部分データ処理手段に対して、部分データを送信する。
【００３１】
図９は、前述した図８のステップ８０３で行うプロセッサ決定手段のフローを詳細に示している。プロセッサ決定手段（９０１）は、ステップ９０２において、後述する部分データ処理手段から、データ送信要求を受信する。データ送信要求には、要求を送信したプロセッサ番号などが記述されているものとする。ステップ９０３において、プロセッサ決定手段は、受信したプロセッサ番号を部分データ処理分配手段２０２に返す。
【００３２】
図１０を用いて、部分データ処理手段の処理手順を説明する。
【００３３】
部分データ処理手段１  ２０３、部分データ処理手段２  ２０４、部分データ処理手段３  ２０５、部分データ処理手段４  ２０６は、並列に動作するために別々のＰＥに配置される。
【００３４】
本実施例では、それぞれＰＥ０、ＰＥ１、ＰＥ２、ＰＥ３に配置する。これらの部分データ処理手順は、部分データ処理手順同士が同じＰＥに配置されなければ、本発明を構成する他の手段と同じＰＥに配置することが可能である。
【００３５】
各部分データ処理手段は、どのプロセッサで起動されているかを確認する（ステップ１００１）。ここで、起動されているプロセッサが、印刷データ解釈手段２０１と異なる場合には、そのままプロセッサ決定手段９０１にデータ転送要求を送信する（ステップ１００２）。
【００３６】
起動されているプロセッサが、印刷データ解釈手段２０１と同じＰＥ０である場合には、印刷データ解釈手段２０１が終了するまで、データ転送要求を送信せず、待ち状態に入る（ステップ１００３）。印刷データ解釈手段２０１が終了したかどうかは、前述した印刷データ解釈処理終了フラグを参照すれば判断可能である。
【００３７】
部分データ処理手段１  ２０３、部分データ処理手段２  ２０４、部分データ処理手段３  ２０５、部分データ処理手段４  ２０６は、部分データ処理分配手段２０２から、部分データを受信する（ステップ１００４）。
【００３８】
ステップ１００５において、部分データ処理手段は、受信した部分データに対して所定の画像処理を実行する。部分データ処理手段１  ２０３、部分データ処理手段２  ２０４、部分データ処理手段３  ２０５、部分データ処理手段４  ２０６には、部分データ処理分配手段２０２から通知されたバンドデータ内のディスプレイリストからラスターデータを生成するレンダラー、プリンタエンジンの特性に合わせて色変換、ハーフトーン処理を行うモジュールであるものとする。このように、部分データ処理手段で行う、処理としては同じバンドに対する複数の異なる一連の処理を適用することで、バンド間の処理、あるいは同一バンドの異なる処理が、他の部分データ処理手段に依存する必要性を排除することができる。すなわち並列バンド処理におけるプロセッサ間の同期を最小限に抑えることができるため、高い並列化効果を実現することができる。
【００３９】
部分データ処理手段１  ２０３、部分データ処理手段２  ２０４、部分データ処理手段３  ２０５、部分データ処理手段４  ２０６は、一つのバンドの処理が終了する度に、イメージ生成手段２０７に対して処理結果を送信する（ステップ１００６）。また次のバンドを受け取るために、部分データ処理分配手段２０２に対して、データ送信要求を送信し、受信待ち状態に入る（ステップ１００１に戻る）。
【００４０】
イメージ生成手段２０７は、受信した部分イメージを収集して、１ページ分のイメージを生成する。
【００４１】
出力手段２０８は、イメージ生成手段２０７が生成した１ページ分のイメージを、プリンタエンジンからの印刷要求に応じてプリンタエンジンに転送する。
【００４２】
次に図３を用いて、本発明の実施例における印刷装置を動作させる複数のプロセッサエレメントと、各プロセッサエレメントの高速メモリの構成を示す。本発明の実施例においては、高速メモリはＳＲＡＭで実現される。
【００４３】
図３の３０１、３０２、３０３、３０４はそれぞれプロセッサエレメント１、プロセッサエレメント２、プロセッサエレメント３、プロセッサエレメント４である。
【００４４】
各プロセッサエレメント３０１、３０２、３０３、３０４はそれぞれ、高速小容量のメモリ３０５、３０６、３０７、３０８を備える。各プロセッサエレメント３０１、３０２、３０３、３０４は自身の持つ高速小容量のメモリに対しては、高速にｒｅａｄ／ｗｒｉｔｅが可能である。また、他のプロセッサエレメントが持つ高速小容量のメモリに対しても、自身の持つ高速小容量のメモリアクセスのアクセスレイテンシは長くなるが、高速メモリバス３１０を利用することによりアクセスが可能である。
【００４５】
メモリ３０９は、自他高速小容量のメモリアクセスのレイテンシよりは長くなるが、大容量のメモリであり、メモリバス３１１を利用して各プロセッサエレメント３０１、３０２、３０３、３０４から利用することができる。
【００４６】
本発明の実施形態においては、プロセッサエレメント３０２、プロセッサエレメント３０３、プロセッサエレメント３０４において、それぞれ部分データ処理手段１  ２０３、部分データ処理手段２  ２０４、部分データ処理手段３  ２０５、部分データ処理手段４  ２０６が備えられ、印刷データ解釈処理手段２０１は、プロセッサエレメント３０１において動作する。
【００４７】
図６は、印刷する１ページ分の画像データを複数のバンド領域に分割した様子を表した図である。６０１は、一ページ分の画像データのイメージであり、５つのバンドから構成されている。本実施例では簡単化のためバンド数を５としているが、一般性を失うことなくより多くのバンドで構成することが可能なことは言うまでもない。
【００４８】
一ページ分の画像データ６０１は、画像形成部６０２によりバンド１で示されるバンド６０２、バンド２で示されるバンド６０３、バンド３で示されるバンド６０４、バンド４で示されるバンド６０５、バンド５で示されるバンド６０６の各バンド領域に分割され処理される。
【００４９】
図７は、バンドデータの構成要素を示した図である。
【００５０】
７０１で示されるバンド領域中の１ラインは、画素７０７の集合である。
【００５１】
また画素７０７の構成要素を示したのが７０８である。
【００５２】
画素７０７は、Ｒ（赤）色の情報を格納する領域７０２、Ｇ（緑）色の情報を格納する領域７０３、Ｂ（青）色を格納する領域７０４、画素の透明度情報（Ａ）を格納する領域７０５から構成される。各領域は１バイトの容量を持ち、本実施例においては、Ａを格納する領域７０５の下位４Ｂｉｔを使用し、画素が表す画像オブジェクトを指定するオブジェクト識別子７０６とする。オブジェクト識別子７０６は、上位ビットから順にベクトルオブジェクト、フォントオブジェクト、ラスターオブジェクトの何れかを示す。
【産業上の利用可能性】
【００５３】
以上説明した通り、本発明により、印刷装置における画像処理などの並列化において、印刷データ解釈系、および各種画像処理に対して最適なプロセッサエレメントの割り当てが可能になり、高速な印刷データ処理ができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施の形態に係る印刷装置を含むシステムの全体構成を示すブロック図
【図２】本発明の実施の形態に係るコントローラ部１０３の構成を示すブロック図
【図３】本発明の実施例における印刷装置を動作させる複数のプロセッサエレメントと、各プロセッサエレメントの高速メモリの構成を示す図
【図４】高速小容量のメモリ３０６、３０７、３０８に色処理テーブルを配置した様子を示す図
【図５】画像形成部２０２が生成するバンド情報の構成を表した図
【図６】印刷する一ページ分の画像データを複数のバンド領域に分割した様子を表した図
【図７】バンドデータの構成要素を示した図
【図８】部分データを処理するプロセッサの決定について説明する図
【図９】バンドデータ、バンド情報を各プロセッサエレメントの画像処理部に送信するまでのフローを示す図
【図１０】画像処理を行うプロセッサエレメント選択フローを示す図
【符号の説明】
【００５５】
１０１  外部装置
１０２  印刷装置
１０３  コントローラ部
１０４  エンジン部
２００  入力手段
２０１  印刷データ解釈手段
２０２ 部分データ処理分配手段
２０３  部分データ処理手段１
２０４  部分データ処理手段２
２０５  部分データ処理手段３
２０６  部分データ処理手段４
２０７  イメージ生成手段
２０８  出力手段
３０１  プロセッサエレメント１
３０２  プロセッサエレメント２
３０３  プロセッサエレメント３
３０４  プロセッサエレメント４
３０５  高速メモリ
３０６  速メモリ
３０７  高速メモリ
３０８  高速メモリ
３０９  メモリ
３１０  高速メモリバス
３１１  メモリバス
６０１  ページイメージ
６０２  バンド領域１
６０３  バンド領域２
６０４  バンド領域３
６０５  バンド領域４
６０６  バンド領域５
７０１  １ライン
７０２  Ｒ領域
７０３  Ｇ領域
７０４  Ｂ領域
７０５  Ａ領域
７０６  オブジェクト識別子領域
７０７  画素
７０８  画素構成
【図１】
2007125851.tif 000003
【図２】
2007125851.tif 000004
【図３】
2007125851.tif 000005
【図４】
2007125851.tif 000006
【図５】
2007125851.tif 000007
【図８】
2007125851.tif 000008
【図９】
2007125851.tif 000009
【図１０】
2007125851.tif 000010
【図６】
2007125851.tif 000011
【図７】
2007125851.tif 000012