(57)【特許請求の範囲】
【請求項１】
画像データを受信し印刷するまでの画像処理を複数のプロセッサによって分担して実行するように構成された画像形成装置において、
画像データを受信し印刷するまでの画像処理を複数の段階処理に分割し、段階処理の内の１つをそれぞれ分担し、バッファを介して処理データを受け渡しながら処理するように構成された複数のプロセッサと、
前記バッファの割り当てを制御する制御部と、を備え、
前記バッファとして、前記段階処理に対応させて、それぞれの段階処理して生成される最大のデータを格納できるサイズのバッファを複数設け、前記制御部は、各プロセッサに対して、各プロセッサが実行する段階処理に対応したバッファを割り当てるようにしたことを特徴とする画像形成装置。
【請求項２】
前記各々のプロセッサの処理状況を記憶する制御情報テーブルを設け、前記制御部は、該制御情報テーブルを参照し、前記各プロセッサの処理状況に応じて各プロセッサへの処理割り当てを制御するとともに、前記バッファの割り当てを制御することを特徴とする請求項１記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラープリンタや複合機等のカラー画像を印刷する画像形成装置に関するものであり、特に、画像データの印刷処理を複数のプロセッサによって分担して行うように構成された画像形成装置に関するものである。
【背景技術】
【０００２】
近年、ドキュメントのほとんどはパーソナルコンピュータなど情報処理装置により処理され、プリンタを用いて出力されている。そして、大量の書類を高速で印刷するためにプリンタの印刷速度を向上させることが要求されている。
【０００３】
一方、パーソナルコンピュータにおいてカラー画像の処理が容易に行われるようになっており、カラー画像を含んだ文書も増大している。しかも、画像の解像度は、大幅に向上しており、パーソナルコンピュータから印刷するために送信される画像データのデータ量は膨大となっている。
【０００４】
そのため、プリンタの印刷速度を向上させるためには、プリンタ内での画像データの処理速度を向上させることが必須のこととなっている。そこで、例えば、下記の特許文献１（特開２０００−１９８２４０号公報）に示されるように、画像データの印刷処理を複数のプロセッサによって分担して行うことにより、処理速度を大幅に向上させる技術が開発されている。
【０００５】
すなわち、特許文献１に示されるプリンタでは、画像処理用のプロセッサとして２つのＣＰＵを設け、第１のプロセッサには、印刷データを受信する処理及び印刷データを中間コードに変換して出力する処理までを制御させ、第２のプロセッサには、中間コードから描画データを生成する処理、色変換する処理及び２値化する処理を制御させるようにして、処理の高速化を図っている。
【０００６】
しかしながら、そのように画像処理を前処理と後処理の２段階に分けて、それぞれを第１及び第２のプロセッサに分担させるのでは、画像データの内容によって、両プロセッサの処理負担が必ずしも均等にはならず、一方のプロセッサの待機状態が長く続いて無駄が生じ、全体の効率が低下するという問題点がある。例えば、第２のプロセッサの処理が終わっても、第１のプロセッサの処理が継続中であれば、第２のプロセッサは、第１のプロセッサの処理が終了するまで待機せざるを得ず、時間の無駄になる。
【０００７】
このような不都合を解消するための技術が下記の特許文献２（特開２００４−３２６３０７号公報）に開示されている。すなわち、この特許文献２に示されるプリンタでは、各プロセッサの処理状況を記憶する制御情報テーブルを設け、その制御情報テーブルを参照して各プロセッサの処理割り当てを制御して、各プロセッサを効率的に使用できるようにしている。この画像形成装置では、画像データをシアン、マゼンタ、イエロー、ブラックの色別に、ビットマップ化処理，ビットマップ化されたデータの圧縮処理等、画像処理を複数の段階処理に分け、各段階処理毎にそれぞれのプロセッサに処理が割り当てられる。
【０００８】
そのようにすれば、例えば、第１のプロセッサの処理が終わった時に、第２のプロセッサの処理が継続中であれば、第１のプロセッサは、処理が終わったデータの次段階の処理を引き続いて行う。また、第２のプロセッサの処理が終わった時に、第１のプロセッサの処理が継続中であれば、第２のプロセッサは、第１のプロセッサの処理終了を待つことなく、別の色のデータの第１段階の処理をするというように、各プロセッサの処理の分担をダイナミックに変更することができて、効率的運用ができる。その結果、画像データの処理速度をさらに向上させることができる。
【０００９】
そのような処理を実行する際、各プロセッサは、１段階の処理が終了したら、処理した後のデータをデータバッファに格納し、その処理を引き継ぐプロセッサは、そのデータをデータバッファから読み出して次段階の処理を実行する。その際、バッファの割り当ては、次のようにして行われる。
【００１０】
すなわち、図４は、従来方式のデータバッファの説明図である。画像形成装置のＲＡＭ内に固定サイズのバッファを複数用意しておき、第１，第２のプロセッサの処理中にバッファが必要になったら、順次バッファを割り当てていく。そして、データの受け渡しが終わって使用済みになったバッファは、その後の処理のために再割り当てを行って、順次使い回していく。
【００１１】
【特許文献１】特開２０００−１９８２４０号公報
【特許文献２】特開２００４−３２６３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来の画像形成装置におけるバッファ管理では、メモリ中にバッファ領域を必要以上に確保することになって、メモリの使用効率が悪くなるという問題点があった。
【００１３】
すなわち、画像形成装置のプロセッサで行う処理で必要とするバッファのサイズは、処理の内容によって大きく異なる。例えば、ビットマップ化処理では処理後のデータは大きくなり、それを格納するバッファも大きいサイズのものが必要となるが、圧縮処理では処理後のデータは小さくなりそれを格納するバッファサイズも小さくてすむ。
【００１４】
ところが、図４に示すように、ＲＡＭ内に用意しているバッファは、すべて一定のサイズであり、それらの中から空いているものを順番に割り当てるため、各バッファは、ビットマップ化処理にも圧縮処理にも対応する必要があり、結局、最大サイズを必要とする処理に合わせてバッファのサイズを設定することになる。そのため、圧縮処理のように大きいサイズのバッファを必要としない処理でも、大きいサイズのバッファを使うことになって無駄になり、メモリの使用効率が悪くなっていた。
【００１５】
本発明は、そのような問題点に鑑みなされたものであり、画像形成装置のメモリの使用効率を向上させるようなバッファ管理を実現することを目的とするものである。
【課題を解決するための手段】
【００１６】
前記課題を解決するために、本願の請求項１にかかる発明は、
画像データを受信し印刷するまでの画像処理を複数のプロセッサによって分担して実行するように構成された画像形成装置において、
画像データを受信し印刷するまでの画像処理を複数の段階処理に分割し、段階処理の内の１つをそれぞれ分担し、バッファを介して処理データを受け渡しながら処理するように構成された複数のプロセッサと、
前記バッファの割り当てを制御する制御部と、を備え、
前記バッファとして、前記段階処理に対応させて、それぞれの段階処理して生成される最大のデータを格納できるサイズのバッファを複数設け、前記制御部は、各プロセッサに対して、各プロセッサが実行する段階処理に対応したバッファを割り当てるようにしたことを特徴とする。
【００１７】
また、本願の請求項２にかかる発明は、請求項１にかかる画像形成装置において、
前記各々のプロセッサの処理状況を記憶する制御情報テーブルを設け、前記制御部は、該制御情報テーブルを参照し、前記各プロセッサの処理状況に応じて各プロセッサへの処理割り当てを制御するとともに、前記バッファの割り当てを制御することを特徴とする。
【発明の効果】
【００１８】
本発明の画像形成装置は、次のような効果を奏する。
すなわち、請求項１にかかる発明においては、段階処理毎に最適なサイズのバッファを複数設け、制御部は、各プロセッサに対して、該プロセッサが実行する段階処理に対応して生成される最大データを格納できるサイズのバッファを割り当てるようにしたので、使用するバッファサイズを必要最小限にしてメモリの使用効率を向上させることができる。
【００１９】
また、請求項２にかかる発明においては、請求項１にかかる画像形成装置において、前記各々のプロセッサの処理状況を記憶する制御情報テーブルを設け、前記制御部は、該制御情報テーブルを参照し、前記各プロセッサの処理状況に応じて各プロセッサへの処理割り当てを制御するとともに、前記バッファの割り当てを制御するようにした。その結果、各プロセッサの処理状態を監視して各プロセッサの処理の分担をダイナミックに変更することが可能になるとともに、その制御情報テーブルを利用して各プロセッサが実行する段階処理に対応したバッファを割り当てることが可能になる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の具体例を実施例及び図面を用いて詳細に説明する。図１は本発明にかかる画像形成装置の概略構成を示すブロック図である。図２は制御情報テーブルの内容を示す図である。図３はデータバッファの説明図である。
【実施例１】
【００２１】
図１は、本発明に係る画像形成装置の概略構成を示すブロック図である。画像形成装置１０は、クライアントＰＣ等からの画像データを受信する受信バッファ１１と、受信バッファ１１で受信した画像データをディスプレイリストに変換するディスプレイリスト変換部１２と、ディスプレイリスト変換部１２で変換されたディスプレイリストデータに、後述するような処理を施して、印刷用最終データを生成する第１のプロセッサ（ＣＰＵ１）１３及び第２のプロセッサ（ＣＰＵ２）１４と、印刷機構部３０とを備えている。第１のプロセッサ１３、第２のプロセッサ１４は、それぞれキャッシュメモリ１５，１６を有しており、処理後生成されたデータは一旦それらのキャッシュメモリ１５，１６に保持される。
【００２２】
画像データがカラー画像データの場合、第１のプロセッサ１３、第２のプロセッサ１４による処理は、ディスプレイリストデータを、シアン、マゼンタ、イエロー、ブラックの色別に、ビットマップデータに展開するＲＩＰ(Raster Image Processor)処理と、ＲＩＰ処理により展開された色別のビットマップデータの内、シアン、マゼンタ、イエローのビットマップデータにおいて、３色が重なる点をブラックに置き換えるＵＣＲ（Under Color Removal）処理と、ＲＩＰ処理及びＵＣＲ処理により得られた色別のビットマップデータを圧縮する圧縮処理のように、複数の段階処理に分割される。そして、それら一連の処理によって作成された圧縮画像データは、伸長処理されて印刷機構部３０に送られ、印刷される。
【００２３】
第１のプロセッサ１３、第２のプロセッサ１４は、それぞれ、前記のＲＩＰ処理、ＵＣＲ処理、圧縮処理を実行する機能を有しており、両プロセッサ１３，１４で処理を分担して並列処理するようになされている。
【００２４】
画像データは、受信バッファ１１で受信した後、または、ディスプレイリスト変換部１２でディスプレイリストに変換された後に適宜の大きさに分割され、分割されたデータの単位毎に、例えば、第１のプロセッサ１３でＲＩＰ処理され、第２のプロセッサ１４に引き継がれてＵＣＲ処理、圧縮処理される。すなわち、第１のプロセッサ１３と第２のプロセッサ１４は、分割されたデータ単位でパイプライン的に並列処理を進める。このようにして２つのプロセッサ１３と１４によって処理された画像データが１ページ分揃うと、印刷機構部３０に送られ、印刷が行われる。分割の単位は、例えば、１ページ分の画像データを複数のデータに分割してもよく、複数ページの画像データを１ページ分ずつのデータに分割してもよい。
【００２５】
第１のプロセッサ１３と第２のプロセッサ１４の処理を制御するために、画像形成装置１０には制御部２０と、２つのプロセッサ１３，１４により共有されるメモリ２２が設けられている。メモリ２２は、ＳＤＲＡＭ等で構成され、その内部には制御情報テーブル２３とデータバッファ２４とページバッファ２５とが設けられており、それらは、制御部２０内のメモリ制御部２１で管理される。制御情報テーブル２３は、制御部２０が、プロセッサ１３，１４の処理状況を監視するためのものであり、各プロセッサ１３，１４が処理する画像データと、各プロセッサ１３，１４がＲＩＰ処理、ＵＣＲ処理、圧縮処理の内、どの段階の処理を実行し、その処理が完了したか否かが記憶される。
【００２６】
そして、制御部２０は、制御情報テーブル２３を参照して、２つのプロセッサ１３，１４の処理状況をチェックし、それぞれのプロセッサ１３，１４へ処理を割り当てる。
【００２７】
データバッファ２４は、一方のプロセッサが処理した結果のデータをバッファリングするものであり、一連の段階処理が未完了の場合このデータを他方のプロセッサに引き継ぐことができる。ページバッファ２５は何れかのプロセッサにより一連の段階処理が完了したデータをバッファリングするものであり、分割された画像データのそれぞれについて一連の段階処理が完了するとこのページバッファ２５にバッファリングされ、１ページ分の画像データが揃うと印刷機構部３０に送られ、印刷処理が行われる。
【００２８】
図２は、制御情報テーブル２３の内容を示す図であり、制御部２０は、この制御情報テーブル２３のフラグを書換えながら、２つのプロセッサ１３，１４における処理を制御する。制御情報テーブル２３は、図２に示すように、処理すべき画像データを分割した各々の分割画像データのデータＩＤが縦方向に記憶され、横方向には第１のプロセッサ１３と第２のプロセッサ１４におけるそれぞれのＲＩＰ処理、ＵＣＲ処理、圧縮処理の処理状況を記憶するフィールドが設けられている。
【００２９】
図２の場合は、まず、第１のプロセッサ１３で第１分割画像のシアンの画像データＤ１ＣのＲＩＰ処理が実行され（処理フィールドが「ｏｎ」）、その処理が完了（完了フィールドが「１」）し、第２のプロセッサ１４で第１分割画像のマゼンタの画像データＤ１ＭのＲＩＰ処理が実行されて処理が完了している。それに引き続いて、第１のプロセッサ１３で第１分割画像のイエローの画像データＤ１ＹのＲＩＰ処理が実行され、その処理が完了し、第２のプロセッサ１４で第１分割画像のブラックの画像データＤ１ＫのＲＩＰ処理が実行されて処理が完了している。
【００３０】
シアン、マゼンタ、イエローのＲＩＰ処理が完了した時点で、ＵＣＲ処理が可能になる。そこで、第１のプロセッサ１３でＵＣＲ処理が実行されて処理が完了している。その後、シアン、マゼンタ、イエロー、ブラックの画像データＤ１Ｃ，Ｄ１Ｍ，Ｄ１Ｙ，Ｄ１Ｋの圧縮処理を、第２のプロセッサ１４と第１のプロセッサ１３で順次実行し、現在は、データＤ１Ｋの圧縮処理が実行中であることを示している。
【００３１】
上述したように、２つのプロセッサ１３，１４への処理の割り当ては、制御部２０が、制御情報テーブル２３を参照しながら行うが、制御部２０は、それだけでなく、制御情報テーブル２３を参照しながら、プロセッサ１３，１４が処理して生成したデータを一時的に保持するデータバッファ２４の割り当ても行う。次に、データバッファ２４の割り当てについて説明する。
【００３２】
図３は、データバッファ２４の説明図である。データバッファ２４は、ＲＩＰ処理，ＵＣＲ処理及び圧縮処理のそれぞれの段階処理毎に最適なサイズのバッファを、それぞれ、ＲＩＰバッファ，ＵＣＲバッファ，圧縮バッファとして複数個用意する。ＲＩＰバッファＢ１〜Ｂ４は、当該画像形成装置で、例えば、１ページ分の画像データを複数のデータに分割して処理するのであれば、分割データをＲＩＰ処理して生成される最大のデータを格納できるサイズとし、同様に、ＵＣＲバッファＢ５は、ＵＣＲ処理して生成される最大のデータを格納できるサイズとし、圧縮バッファＢ６〜Ｂ９は、圧縮処理して生成される最大のデータを格納できるサイズとする。さらに、各バッファの先頭部分には、ＭＣＢ(Memory Control Block)を設け、その中に、当該バッファが使用中であるか否かを示すフラグを持たせている。
【００３３】
そして、制御部２０のメモリ制御部２１は、制御情報テーブル２３を参照して、各プロセッサ１３，１４が実行する段階処理に対応したバッファを割り当てる。例えば、図２の場合では、まず、制御部２０は、データＤ１Ｃ，Ｄ１ＭのＲＩＰ処理を第１，第２のプロセッサ１３，１４に割り当てるとともに、メモリ制御部２１は、それらの処理用に、ＲＩＰバッファＢ１〜Ｂ４の中から順にＲＩＰバッファＢ１，Ｂ２を割り当てる。その後、各プロセッサ１３，１４のＲＩＰ処理が終了したら、引き続いて、データＤ１Ｙ，Ｄ１ＫのＲＩＰ処理を第１，第２のプロセッサ１３，１４に割り当てるとともに、メモリ制御部２１は、それらの処理用に、ＲＩＰバッファＢ３，Ｂ４を割り当てる。
【００３４】
その後、プロセッサ１３によるデータＤ１ＹのＲＩＰ処理が終了したら、シアン、マゼンタ、イエローのビットマップデータが生成され、ＵＣＲ処理を実行可能になるため、制御部２０は、引き続いてプロセッサ１３にＵＣＲ処理を割り当て、メモリ制御部２１は、その処理用に、ＵＣＲバッファＢ５を割り当てる。一方、ＲＩＰ処理で生成されたシアン、マゼンタ、イエロー、ブラックのビットマップデータの圧縮処理を、第２のプロセッサ１４と第１のプロセッサ１３に順次割り当てるとともに、それらの処理用に、圧縮バッファＢ６〜Ｂ９を順次割り当てる。
【００３５】
このように、本発明の画像形成装置では、データバッファ２４として、各処理毎に最適なサイズのバッファをそれぞれ複数個用意し、メモリ制御部２１は、制御情報テーブル２３を参照して、各プロセッサ１３，１４が実行する処理に対応したバッファを割り当てるようにした。その結果、ＲＩＰ処理のように大きいサイズのバッファを必要とする処理には、大きいサイズのバッファを割り当て、圧縮処理のように大きいサイズのバッファを必要としない処理には、小さいサイズのバッファを割り当てることができて、無駄がなくなりなり、メモリの使用効率が良くなる。
【図面の簡単な説明】
【００３６】
【図１】本発明にかかる画像形成装置の概略構成を示すブロック図である。
【図２】制御情報テーブルの内容を示す図である。
【図３】データバッファの説明図である。
【図４】従来方式のデータバッファの説明図である。
【符号の説明】
【００３７】
１０・・・・・画像形成装置
１１・・・・・受信バッファ
１２・・・・・ディスプレイリスト変換部
１３・・・・・第１のプロセッサ
１４・・・・・第２のプロセッサ４
１５，１６・・キャッシュメモリ
２０・・・・・制御部
２１・・・・・メモリ制御部
２２・・・・・メモリ
２３・・・・・制御情報テーブル
２４・・・・・データバッファ
２５・・・・・ページバッファ
３０・・・・・印刷機構部
【図１】
0004425837.tif 000002
【図２】
0004425837.tif 000003
【図３】
0004425837.tif 000004
【図４】
0004425837.tif 000005