(57)【要約】【課題】本発明の課題は、画像データを高速に画像処理することが可能な画像処理装置を提供することである。【解決手段】上記課題を解決するために、本発明に係る画像処理装置は、画像データを複数のブロックに分割する分割手段と、分割手段により分割された各々のブロックの属性を判別する属性の判別手段と、属性の判別手段により判別された属性に応じて各々のブロックをブロック群に分類する分類手段と、分類手段により分類された各ブロック群の属性と画像処理モジュールの設定情報に応じて必要な画像処理モジュールを選定する選定手段と、選定手段により選定された画像処理モジュールで画像処理フローを生成する生成手段と、画像処理フローの規模を算出する算出手段と、画像処理フローを画像処理領域に構築可能か否かを判断する判断手段と、すべてのブロック群の画像処理フローを画像処理領域に構築する第１の構築手段と、再構築された画像処理フローを画像処理領域に構築する第２の構築手段とを備えることを特徴とする。【選択図】図１２
2010056648.tif 000002
【特許請求の範囲】
【請求項１】
画像データを複数のブロックに分割する分割手段と、
前記分割手段により分割された各々のブロックの属性を判別する属性の判別手段、
前記属性の判別手段により判別された属性に応じて各々のブロックをブロック群に分類する分類手段と、
前記分類手段により分類された各ブロック群の属性と画像処理モジュールの設定情報に応じて必要な画像処理モジュールを選定する選定手段と、
前記選定手段により選定された画像処理モジュールで画像処理フローを生成する生成手段と、
前記生成手段により生成された各ブロック群の画像処理フローの規模を算出する算出手段と、
前記算出手段により算出された各ブロック群の画像処理フローの規模を基に、各ブロック群の画像処理フローを画像処理領域に構築可能か否かを判断する判断手段と、
前記判断手段により構築可能であると判断された場合に、各ブロック群の画像処理フローを画像処理領域に構築する第１の構築手段と、
前記判断手段により構築不可能であると判断された場合に、画像処理領域に構築可能な規模になるように、各ブロック群の画像処理フローの再構築を行い、再構築された前記画像処理フローを画像処理領域に構築する第２の構築手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記第２の構築手段は、前記各ブロック群の画像処理フローの中で、他のブロック群の画像処理フローが保持していない画像処理モジュールを持つ画像処理フローを優先的に前記画像処理領域に構築することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の構築手段は、前記各ブロック群の中で、属性情報を１つしかもたないブロック群の画像処理フローを優先的に前記画像処理領域に構築することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第２の構築手段は、画像処理フローの再構築により前記画像処理領域に構築されないブロック群のブロックを、前記画像処理領域に構築されないブロック群の画像処理モジュールを包含している画像処理フローに割り当てることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、前記画像処理領域にブロックが集中した画像処理フローを追加する追加手段と、
前記追加した画像処理フローにブロックを分配する第１の分配手段とをさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、ブロックが集中した画像処理フローの画像処理モジュールを包含している画像処理フローに、ブロックを分配する第２の分配手段をさらに備えることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記属性は、Scan画像、イメージ、文字、図形のいずれかを含むことを特徴とする請求項１乃至６のいずれかに記載の画像処理装置。
【請求項８】
前記画像処理フローは、下地除去処理、色変換処理、濃度補正処理、フィルター処理、ハーフトーン処理、スムージング処理のいずれかを含むこと（図１１）を特徴とする請求項７に記載の画像処理装置。
【請求項９】
画像データを複数のブロックに分割する分割ステップと、
前記分割ステップにより分割された各々のブロックの属性を判別する属性の判別ステップと、
前記属性の判別ステップにより判別された属性に応じて各々のブロックをブロック群に分類する分類ステップと、
前記分類ステップにより分類された各ブロック群の属性と画像処理モジュールの設定情報に応じて必要な画像処理モジュールを選定する選定ステップと、
前記選定ステップにより選定された画像処理モジュールで画像処理フローを生成する生成ステップと、
前記生成ステップにより生成された各ブロック群の画像処理フローの規模を算出する算出ステップと、
前記算出ステップにより算出された各ブロック群の画像処理フローの規模を基に、各ブロック群の画像処理フローを画像処理領域に構築可能か否かを判断する判断ステップと、
前記判断ステップにより構築可能であると判断された場合に、各ブロック群の画像処理フローを画像処理領域に構築する第１の構築ステップと、
前記判断ステップにより構築不可能であると判断された場合に、画像処理領域に構築可能な規模になるように、各ブロック群の画像処理フローの再構築を行い、再構築された前記画像処理フローを画像処理領域に構築する第２の構築ステップとを備えることを特徴とする画像処理方法。
【請求項１０】
前記第２の構築ステップは、前記各ブロック群の画像処理フローの中で、他のブロック群の画像処理フローが保持していない画像処理モジュールを持つ画像処理フローを優先的に前記画像処理領域に構築することを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
前記第２の構築ステップは、前記各ブロック群の中で、属性情報を１つしかもたないブロック群の画像処理フローを優先的に前記画像処理領域に構築することを特徴とする請求項９に記載の画像処理方法。
【請求項１２】
前記第２の構築ステップは、画像処理フローの再構築により前記画像処理領域に構築されないブロック群のブロックを、前記画像処理領域に構築されないブロック群の画像処理モジュールを包含している画像処理フローに割り当てることを特徴とする請求項９に記載の画像処理方法。
【請求項１３】
前記画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、前記画像処理領域にブロックが集中した画像処理フローを追加する追加ステップと、
前記追加した画像処理フローにブロックを分配する第１の分配ステップとをさらに備えることを特徴とする請求項９に記載の画像処理方法。
【請求項１４】
前記画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、ブロックが集中した画像処理フローの画像処理モジュールを包含している画像処理フローに、ブロックを分配する第２の分配ステップをさらに備えることを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記属性は、Scan画像、イメージ、文字、図形のいずれかを含むことを特徴とする請求項９乃至１４のいずれかに記載の画像処理方法。
【請求項１６】
前記画像処理フローは、下地除去処理、色変換処理、濃度補正処理、フィルター処理、ハーフトーン処理、スムージング処理のいずれかを含むこと（図１１）を特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
請求項９乃至１６のいずれかに記載の画像処理方法をコンピュータに実行させるプログラム。
【請求項１８】
請求項１７に記載のプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを高速に画像処理するための画像処理装置、画像処理方法、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
コピー、プリンタのような機能を有する複合機は、画像データに色変換や階調処理のような画像処理を施し、印刷を行っている。複合機の高速化、高解像度化により、複合機の画像処理部では、大容量の画像データを高速に処理する必要がある。
【０００３】
画像処理の高速化のための技術として、複合機に複数の画像処理部を設け、画像処理を並列に行うことで高速化を実現しているものがある。
【０００４】
このような場合、複合機は、複数の画像処理プロセッサを持ち、画像データをブロックに分割する。そして、複合機は、画像データの各ブロックの画像データの属性とその属性に応じた画像処理の処理負荷量を求め、総負荷量がおおむね均等になるように各ブロックを画像処理プロセッサの数にグルーピングする。
【０００５】
複合機の各画像処理プロセッサには、グルーピングにより割り当てられた各ブロックの画像データに必要な画像処理アルゴリズムのみが含まれる画像処理フローを各々の画像処理プロセッサに読み込む。そして、各々の画像処理プロセッサに各ブロックの画像データが供給され、並列に画像処理が施されて、画像処理が高速化される。（例えば、特許文献１参照。）。
【０００６】
【特許文献１】特開２００７―８１７９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、複合機が保持している画像処理プロセッサの数は固定であり、かつ１つの画像処理プロセッサに対して１つ画像処理フローしか読み込むことができない。そのため、ブロック化された画像データに施される画像処理を、画像処理プロセッサの数だけしか並列処理ができないという問題があった。
【０００８】
また、画像処理は、さまざまな描画モードに対応するために多くの機能を有しており、画像処理のすべての機能を実行するには、複合機は、大容量の画像処理領域や使用メモリを必要とする。そのため、グルーピングにより割り当てられた各ブロックの画像データに多くの描画モードが存在する場合を想定すると、各々の画像処理プロセッサは、画像処理に必要な最大の画像処理領域およびメモリを確保しておかなければならい。このため、単純な描画モードのときの画像処理では、使用しない無駄な画像処理領域およびメモリが生じてしまう。さらに、多数の画像処理の並列処理を行うためには、膨大な画像処理領域やメモリが必要となるという問題があった。
【０００９】
本発明は、このような問題を解決するために、各ブロックの画像データの画像処理に必要なすべての画像処理フローおよび、画像処理領域の容量に応じて、最大数の画像処理フローを画像処理領域に構築する手段を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係る画像処理装置は、画像データを複数のブロックに分割する分割手段と、分割手段により分割された各々のブロックの属性を判別する属性の判別手段と、属性の判別手段により判別された属性に応じて各々のブロックをブロック群に分類する分類手段と、分類手段により分類された各ブロック群の属性と画像処理モジュールの設定情報に応じて必要な画像処理モジュールを選定する選定手段と、選定手段により選定された画像処理モジュールで画像処理フローを生成する生成手段と、生成手段により生成された各ブロック群のすべての画像処理フローの規模を算出する算出手段と、算出手段により算出された各ブロック群の画像処理フローの規模を基に、すべてのブロック群の画像処理フローを画像処理領域に構築可能か否かを判断する判断手段と、判断手段により構築可能であると判断された場合に、すべてのブロック群の画像処理フローを画像処理領域に構築する第１の構築手段と、判断手段により構築不可能であると判断された場合に、画像処理領域に構築可能な規模になるように、各ブロック群の画像処理フローの再構築を行い、再構築された画像処理フローを画像処理領域に構築する第２の構築手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によって、画像のブロック化による画像処理の並列処理を行う際に、画像処理領域を最大限利用した無駄の少ない並列処理が可能になり、画像処理の高速化ができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
＜実施形態１＞
＜画像処理システム（図１）＞
実施形態１について図面を参照して詳細に説明する。図１は、本発明の実施形態に係る画像処理システムを示す図である。このシステムではホストコンピュータ３０及び２台の画像処理装置（１０，２０）がＬＡＮ４０に接続されているが、本発明における画像処理システムにおいては、これらの接続数に限られることはない。また、本実施形態では接続方法としてＬＡＮを適用しているが、これに限られることはない。例えば、ＷＡＮ（公衆回線）などの任意のネットワーク、ＵＳＢなどのシリアル伝送方式、セントロニクスやＳＣＳＩなどのパラレル伝送方式なども適用可能である。
【００１４】
ホストコンピュータ（以下、ＰＣと称する）３０は、パーソナルコンピュータの機能を有している。ＰＣ３０は、ＬＡＮ４０やＷＡＮを介してＦＴＰやＳＭＢプロトコルを用いファイルを送受信したり電子メールを送受信したりすることができる。さらには、ＰＣ３０は、ＬＡＮ４０を介して、画像処理装置１０、２０に対して、プリンタドライバを介した印刷命令を行うこともできる。
【００１５】
画像処理装置１０、２０は、同一であり、スキャナ部を有する画像処理装置である。以下では、説明の簡単のために、画像処理装置１０、２０のうちの画像処理装置１０に注目して、詳細に説明する。
【００１６】
画像処理装置１０は、画像入力デバイスであるスキャナ部１３、画像出力デバイスであるプリンタ部１４、画像処理装置１０全体の動作制御を司るコントローラユニット１１、ユーザインターフェース（ＵＩ）である操作部１２を有する。ここで、画像処理装置１０において、操作部１２、スキャナ部１３、プリンタ部１４は、コントローラユニット１１に接続されている。
【００１７】
画像処理装置２０は、画像入力デバイスであるスキャナ部２３、画像出力デバイスであるプリンタ部２４、画像処理装置２０全体の動作制御を司るコントローラユニット２１、ユーザインターフェース（ＵＩ）である操作部２２を有する。ここで、画像処理装置２０において、操作部２２、スキャナ部２３、プリンタ部２４は、コントローラユニット２１に接続されている。
【００１８】
＜コントローラユニット１１の詳細説明（図２）＞
図２は、画像処理装置１０のコントローラユニット１１をより詳細に説明するための図である。
【００１９】
コントローラユニット１１はスキャナ部１３やプリンタ部１４と電気的に接続されており、一方ではＬＡＮ４０のようなネットワーク介してＰＣ３０や外部の画像処理装置などと接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
【００２０】
図２のＣＰＵ２０１は、ＲＯＭ２０３に記憶された制御プログラムに基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ内部で行われる画像処理についても統括的に制御する。ＲＡＭ２０２は、ＣＰＵ２０１が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。ＲＡＭ２０２は、記憶した内容を電源ｏｆｆ後も保持しておくＳＲＡＭ及び電源ｏｆｆ後には記憶した内容が消去されてしまうＤＲＡＭを有する。ＲＯＭ２０３には装置のブートプログラムなどが格納されている。ＨＤＤ２０４は、ハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
【００２１】
操作部Ｉ／Ｆ２０５は、操作部１２と接続するためのインターフェースである。操作部Ｉ／Ｆ２０５は、操作部１２に表示するための画像データを操作部１２に出力すると共に、操作部１２から入力された情報を取得する。
【００２２】
ＮｅｔｗｏｒｋＩ／Ｆ２０６は、ＬＡＮ４０に接続し、画像データや情報の送受信を行う。伸張部２０８は、受信した圧縮されている画像データを伸張する。圧縮部２０７は、送信前の画像データをネットワーク送信に適切なサイズに圧縮する。
【００２３】
スキャナ画像処理部２１０は、スキャナ部１３からスキャナＩ／Ｆ２０９を介して受取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナ画像処理部２１０は、受取った画像データの属性を判定し、属性を画像データに付随させる。
【００２４】
ＲＩＰ２１１は、ＰＣ３０などから送信されたＰＤＬコードデータを元に生成された中間データを受取り、ビットマップ（多値）の画像データを生成する。
【００２５】
ブロック化処理部２１２は、画像データを小領域のブロックに分割し、属性に応じてブロック群を生成する。ブロック化処理部２１２の詳細については後述する。
【００２６】
画像処理フロー生成部２１３は、ブロック群の画像データの属性から必要な画像処理モジュールを選定して画像処理フローを生成し、画像処理領域構築部２１４は、生成された画像処理フローをプリンタ画像処理部２１６の画像処理領域に構築する。画像処理フロー生成部２１３と画像処理領域構築部２１４の詳細については後述する。
【００２７】
プリンタ画像処理部２１６は、ブロック化された画像データを受取り、この画像データに付随している属性を参照しながら画像データに画像処理を施す。プリンタ画像処理部２１６は、画像処理領域を持ち、複数の画像処理フローを構築したり、更新することができる。画像処理後の画像データは、プリンタＩ／Ｆ２１５を介してプリンタ部１４に出力される。プリンタ画像処理部２１６で行われる処理の詳細については後述する。
【００２８】
＜プリンタの画像処理（図３）＞
図３は、プリンタ画像処理部２１６において画像データに施される画像処理工程を示している。
【００２９】
画像処理工程は、以下の画像処理モジュールを含む。すなわち、下地除去処理（ステップＳ３０１）、色変換処理（ステップＳ３０２）、濃度補正処理（ステップＳ３０３）、フィルター処理（ステップＳ３０４）、ハーフトーン処理（ステップＳ３０５）、スムージング処理（ステップＳ３０６）を含む。そして、図３の画像処理工程に含まれる画像処理モジュールは、複数の設定値を持ち、設定値に応じて、画像データに画像処理を施す。
【００３０】
下地除去処理（ステップＳ３０１）は、画像データの下地色を飛ばす（除去する）処理を行い、ON/OFFの設定を持つ。下地除去処理（ステップＳ３０１）の設定が、「ＯＮ」の場合には、下地除去処理が実行され、下地除去処理（ステップＳ３０１）の設定が、「ＯＦＦ」の場合には、下地除去処理が実行されない。
【００３１】
色変換処理（ステップＳ３０２）は、画像データの属性に応じて色信号の変換を行う。例えば、ＲＧＢ入力された画像データを、ＣＭＹの画像データに変換する。色変換処理は、Scan画像/イメージ/文字/図形の設定を持つ。色変換処理の設定が、「Scan画像」の場合には、Scan画像に最適な色変換処理が行われる。また、色変換処理の設定が、「イメージ」の場合には、写真（イメージ）に最適な色変換が行われる。また、色変換処理の設定が、「文字」の場合には、文字に最適な色変換処理が行われる。また、色変換処理の設定が、「図形」の場合には、図形に最適な色変換処理が行われる。
【００３２】
濃度補正処理（ステップＳ３０３）は、出力の色(CMYK)の濃度を調整する。濃度補正処理は、OFF/ON(-3,-2,-1,0,1,2,3)の設定を持つ。濃度補正処理の設定が、「ＯＦＦ」の場合には、濃度補正処理が実行されない。また、濃度補正処理の設定が、「ＯＮ」の場合には、例えば、「(-3,-2,-1,0,1,2,3)」の値によって、濃度の強度が調整されて、濃度補正処理が実行される。
【００３３】
フィルター処理（ステップＳ３０４）は、画像データの濃淡を鮮明にしたり、逆に滑らかにする。フィルター処理は、OFF/ON(シャープ、スムーズ)の設定を持つ。フィルター処理の設定が「ＯＦＦ」の場合には、フィルター処理は実行されない。また、フィルター処理の設定が、「ＯＮ」で、「シャープ」の場合には、画像をシャープにするように、フィルター処理が実行される。また、フィルター処理の設定が、「ＯＦＦ」で、「スムーズ」の場合には、画像をスムーズにするように、フィルター処理が実行される。
【００３４】
ハーフトーン処理（ステップＳ３０５）は、出力するプリンタ部の階調数に合わせて中間調処理を行う。例えば、ハーフトーン処理は、受取った高階調の画像データに対し２値化や３２値化を行う。ハーフトーン処理（ステップＳ３０５）は、解像度/階調/色調/誤差拡散という設定を持ち、「解像度」、「階調」、「色調」、「誤差拡散」という設定に応じた、ハーフトーン処理を実行する。
【００３５】
スムージング処理（ステップＳ３０６）は、文字や図形のエッジ部分のがたつきを滑らかにする処理であり、OFF/ONの設定を持つ。スムージング処理（ステップＳ３０６）の設定が、「ＯＮ」の場合には、スムージング処理が実行され、スムージング処理（ステップＳ３０６）の設定が、「ＯＦＦ」の場合には、スムージング処理が実行されない。
【００３６】
図２のプリンタ画像処理部２１６は、画像処理フローが構築される画像処理領域を保持する。画像処理領域は書換え可能な有限の領域であり、複数の画像処理フローを構築することで画像処理の並列処理が可能となる。
【００３７】
図２のプリンタ画像処理部２１６の画像処理領域がハードウエアにて実装される場合は、FPGAのような有限のシリコンエリア上に画像処理フローが構築される。また、ソフトウェアにて実装される場合は、プログラムテキストとして有限のメモリ領域内に画像処理フローが構築される。
【００３８】
＜ブロック化処理部２１２の詳細説明＞
図４は、画像処理装置１０のブロック化処理部２１２が実行する処理のフローチャートを示す図である。
【００３９】
まず、ステップＳ４０１で、ブロック化処理部２１２は、画像データを複数の小領域のブロックに分割する。図５は、画像データの一例を示したものである。画像データは、Scan画像５０１、図形５０２、イメージ５０３、文字５０４を含む。この画像データが、例えば、ステップＳ４０１で、ブロック化処理部２１２により、横をＡからＦの6分、横を１から９の９分して、全部で５４のブロックに分割される。
【００４０】
次に、ステップＳ４０２で、ブロック化処理部２１２は、ステップＳ４０１で分割された各ブロックの属性を判別する。例えば、図５のブロックＡ１（縦Ａ、横１のブロックをブロックＡ１と表す）の場合は、属性がないため、属性なしと判定される。属性がある場合には、属性には、例えば、Scan画像、図形、イメージ、文字のいずれかが、含まれる。例えば、図５のブロックＣ５の場合は、イメージ５０３と図形５０２と２つの属性が存在する。同様に、すべてのブロックについて属性の判別が行われる。
【００４１】
次に、ステップＳ４０３で、ブロック化処理部２１２は、属性が同一のブロックをまとめて分類し、ブロック群を形成する。例えば、図５の画像データでは、図７のようにNo0〜9までの10パターンの属性の組み合わせが存在し、各ブロックは図６に示すように判別され、１０種類のブロック群が形成される。
【００４２】
＜画像処理フロー生成部２１３の詳細説明＞
図８は、画像処理装置１０の画像処理フロー生成部２１３の処理のフローチャートを示す図である。
【００４３】
ステップＳ８０１で、画像処理フロー生成部２１３は、まず、ブロック化処理部２１２で形成された画像データのブロック群を獲得する。
【００４４】
次に、ステップＳ８０２で、画像処理フロー生成部２１３は、「Scan画像」、「イメージ」、「文字」および「図形」という各属性に対する画像処理モジュールの設定情報を取得する。
【００４５】
図９は、「Scan画像」、「イメージ」、「文字」および「図形」という各属性に対する画像処理モジュールの設定値を示したものである。画像処理モジュールの設定値は、例えば、初期設定は操作部１２から設定され、ＰＣ３０を介したプリンタドライバからの設定により決定されても良い。
【００４６】
図９では、一例として、Scan画像に対して、下地除去処理の設定は、「ＯＮ」、色変換処理の設定は、「Scan画像」、濃度補正処理の設定は、「2」と設定されている。また、図９では、一例として、Scan画像に対して、フィルター処理の設定は「ＯＮ」、ハーフトーン処理の設定は、「誤差拡散」、スムージング処理の設定は、「ＯＦＦ」と設定されている。図９において、同様に、イメージ、文字、図形に対しても、画像処理モジュールの設定がされる。
【００４７】
次に、図８のステップＳ８０３で、画像処理フロー生成部２１３は、各ブロック群の属性と画像処理モジュールの設定情報により、各ブロック群の画像データに画像処理を施すため必要な画像処理モジュールの選定を行う。
【００４８】
図９の各属性に対する画像処理モジュールの設定情報とNo0からNo9の各ブロック群の属性情報から、各ブロック群に必要な画像処理モジュールは、図１０に示されるようになる。例えば、図７に示されているように、No5のブロック群に含まれる属性は、イメージと図形である。
【００４９】
そして、図９に示されているように、イメージの画像処理モジュールでは、下地除去処理の設定が、「ＯＦＦ」であり、色変換処理の設定が、「イメージ」であり、濃度補正処理の設定が「０」であり、フィルター処理の設定が、「ＯＦＦ」である。また、図９に示されているように、イメージの画像処理モジュールでは、ハーフトーン処理の設定が「階調」であり、スムージング処理の設定が「ＯＦＦ」である。
【００５０】
また、図９に示されているように、図形の画像処理モジュールでは、下地除去処理の設定が、「ＯＦＦ」であり、色変換処理の設定が、「図形」であり、濃度補正処理の設定が「０」であり、フィルター処理の設定が、「ＯＦＦ」である。また、図９に示されているように、図形の画像処理モジュールでは、ハーフトーン処理の設定が「階調」であり、スムージング処理の設定が「ＯＮ」である。このため、図１０に示されているように、No5のブロック群の必要な画像処理モジュールでは、色変換処理の設定が「図形／文字」で、ハーフトーン処理の設定が「階調」で、スムージング処理の設定が、「ON／OFF」となる。
【００５１】
図１０において、グレーアウト部分は、設定が「ＯＦＦ」であり、画像処理工程において画像処理モジュールが必要とされない。
【００５２】
上記と同様にして、画像処理フロー生成部２１３は、No5以外の他のブロック群についても必要な画像処理モジュールを選定する。
【００５３】
次に、図８のステップＳ８０４で、画像処理フロー生成部２１３は、ステップＳ８０３で選定された図１０の各ブロック群の必要な画像処理モジュールより、各ブロック群の画像処理フローを生成する。
【００５４】
図１１は、すべてのブロック群の画像処理フローをまとめたものである。各ブロック群の画像処理フローは、必要な画像処理モジュールのみを含む。図１１に示されているように、各ブロック群の画像処理フローは、下地除去処理、色変換処理、濃度補正処理、フィルター処理、ハーフトーン処理、スムージング処理のいずれかを含む。
【００５５】
＜画像処理領域構築部２１４の詳細説明＞
図１２は、画像処理装置１０の画像処理領域構築部２１４の処理のフローチャートを示す図である。
【００５６】
まず、ステップＳ１２０１で、画像処理領域構築部２１４は、画像処理フロー生成部２１３で生成された、各ブロック群のすべての画像処理フローの規模を算出する。画像処理フローの規模は、画像処理フローが含む処理および各処理の設定値より算出することができる。
【００５７】
次に、ステップＳ１２０２で、画像処理領域構築部２１４は、すべての画像処理フローの規模の合計が、プリンタ画像処理部２１６の画像処理領域と比較し、すべてのブロック群の画像処理フローが画像処理領域に構築可能か否かを判断する。
【００５８】
ステップＳ１２０２で、画像処理フローの規模の合計が画像処理領域以下である場合は、すべてのブロック群の画像処理フローが画像処理領域に構築可能であると判断され、ステップＳ１２０３に処理が進む。
【００５９】
そして、ステップＳ１２０３で、画像処理領域構築部２１４は、すべてのブロック群（No0〜9）の画像処理フローを画像処理領域に構築する。
【００６０】
一方、ステップＳ１２０２で、画像処理フローの規模の合計が画像処理領域より大きい場合、画像処理領域構築部２１４は、すべてのブロック群の画像処理フローを画像処理領域に構築不可能であると判断し、ステップＳ１２０４に処理が進む。
【００６１】
そして、ステップＳ１２０４で、画像処理領域の構築できるよう、画像処理領域再構築処理により、画像処理フローが再構築されて、再構築された画像処理フローが、画像処理領域に構築される。
【００６２】
なお、本実施形態においては、ステップＳ１２０３およびステップＳ１２０４の説明に記載されているように、構築手段が複数存在しても良い。その場合に、「第１の構築手段」、「第２の構築手段」と呼ばれても良い。
【００６３】
図１３は、図１２のステップＳ１２０４の画像処理領域再構築処理のフローチャートを示す図である。
【００６４】
図１２のステップＳ１２０４の画像処理領域再構築処理では、まず、ステップＳ１３０１で、画像処理領域構築部２１４は、他のブロック群の画像処理フローが有していない画像処理モジュールを有する画像処理フローを選定する。
【００６５】
例えば、図１１で、No2（Scan画像、図形）の画像処理フローは、他のNoの画像処理フローが有していない画像処理モジュールを有している。それは、例えば、「ON/OFF」という設定の下地除去処理、「Scan画像／図形」という設定の色変換処理、強度の設定が「２」の濃度補正処理、「ON（シャープ、スムーズ）/OFF」という設定のフィルター処理である。さらに、例えば、No6（イメージ、文字、図形）の画像処理フローは、「図形／文字／イメージ」という設定の色変換処理のような他の画像処理フローは有していない画像処理モジュールを有している。
【００６６】
次に、ステップＳ１３０２で、画像処理領域構築部２１４は、ステップＳ１３０１で選定された画像処理フローを画像処理領域に構築する。
【００６７】
これにより、各ブロック群の画像処理フローの中で、他のブロック群の画像処理フローが保持していない画像処理モジュールを持つ画像処理フローを優先的に画像処理領域に構築することができる。
【００６８】
次に、ステップＳ１３０３で、画像処理領域構築部２１４は、画像処理領域にまだ空きがあるか否かを判断する。
【００６９】
ステップＳ１３０３で、画像処理領域に空きがあると判断された場合は、ステップＳ１３０４に処理が進む。
【００７０】
ステップＳ１３０３で、画像処理領域に空きがないと判断された場合は、ステップＳ１３０８に処理が進む。
【００７１】
ステップＳ１３０４で、画像処理領域構築部２１４は、各ブロック群で、属性を１つしかもたないブロック群の画像処理フローを選定する。ここで、属性が１つしかない画像処理フローは、画像処理モジュール内での設定の切替を行う必要がないために高速な処理が可能である。例えば、図１１の各ブロック群の画像処理フローでは、No1（Scan画像）、No3（図形）、No4（イメージ）、No9（文字）が１つしか属性を持たない画像処理フローとなる。
【００７２】
次に、ステップＳ１３０５で、画像処理領域構築部２１４は、ステップ１３０４で選定された画像処理フローを画像処理領域に構築する。これにより、属性情報を１つしかもたないブロック群の画像処理フローが優先的に画像処理領域に構築される。
【００７３】
次に、ステップＳ１３０６で、画像処理領域構築部２１４は、画像処理領域にまだ空きがあるか否かを判断する。
【００７４】
ステップＳ１３０６で、画像処理領域に空きがあると判断された場合に、ステップＳ１３０７に処理が進み、画像処理領域構築部２１４は、可能な限り残りのブロック群の画像処理フローを画像処理領域に構築する。
【００７５】
ステップＳ１３０６で、画像処理領域に空きがないと判断された場合は、ステップＳ１３０８に処理が進む。
【００７６】
次に、ステップＳ１３０８で、画像処理領域構築部２１４は、すでに画像処理領域に構築された画像処理フローの中から画像処理領域に構築できなかったブロック群の画像処理フローの属性を包含する画像処理フローを選定する。
【００７７】
次に、ステップＳ１３０９で、画像処理領域構築部２１４は、ステップＳ１３０８で選定された画像処理フローに画像処理領域に構築できなかったブロック群のブロックを割り当てる。
【００７８】
例えば、画像処理領域に構築されたブロック群の画像処理フローが、No2, No6, No1, No3, No4, No9 の場合、画像処理領域に構築されなかったブロック群の画像処理フローは、No5,No7,No8となる。この場合、イメージ、図形の属性を包含するNo6（イメージ、文字、図形）の画像処理フローに、No5（イメージ、図形）のブロック群のブロックが割り当てられる。これにより、No6の画像処理フローで、No5（イメージ、図形）のブロック群のブロックに対する画像処理が施される。同様にして、No7（文字、図形）、No8(イメージ、文字)のブロック群のブロックも、No6の画像処理フローに割り当てられる。
【００７９】
これにより、画像処理フローの再構築により画像処理領域に構築されないブロック群のブロックを、画像処理領域に構築されないブロック群の画像処理モジュールを包含している画像処理フローに割り当てることができる。
【００８０】
以上、説明したように、各ブロック毎に必要な画像処理モジュールのみで画像処理フローが構築される。そして、画像処理領域に応じて、複数の画像処理フローを構築することで、画像処理領域を最大限利用した無駄の少ない並列処理が可能になり、画像処理の高速化ができる。
【００８１】
＜実施形態２＞
実施形態２は、前述した実施形態１で画像処理領域に構築した複数の画像処理フローの中で、特定の画像処理フローに対して、画像処理を施すブロックが集中した場合に、ブロックを分配して並列処理の効率を上げる。
【００８２】
以下で、実施形態２について図面を参照して詳細に説明する。
【００８３】
図１４は、画像データの一例を示したものである。画像データは、図形１４０１と文字１４０２を含む。図１４の画像データに対して、前述したブロック化処理部２１２のブロック化処理（図４）により、ブロック群が形成される。この場合、画像データは、図７に示すパターンの属性のうち、No0（下地のみ）、No3（図形のみ）、No7（図形と文字）、No9（文字のみ）の４つが存在し、図１５に示すように４種類のブロック群が形成される。
【００８４】
次に、前述した画像処理フロー生成部２１３の図８に示されている処理により、必要な画像処理モジュールで構築される各ブロック群の画像処理フローが生成される。
【００８５】
図１６は、画像処理フロー生成部２１３により生成される画像処理フローを示したものであり、No0（下地のみ）、No3（図形のみ）、No7（図形と文字）、No9（文字のみ）の４つの画像処理フローとなる。
【００８６】
図１７は、実施形態２の画像処理装置１０の画像処理領域構築部２１４の処理のフローチャートを示す図である。図１７のステップＳ１７０１からステップＳ１７０４は、前述した実施形態１の図１２のステップＳ１２０１からステップＳ１２０４と同じである。
【００８７】
まず、ステップＳ１７０１で、画像処理領域構築部２１４は、画像処理フロー生成部２１３により生成されたすべての画像処理フローの規模を算出する。
【００８８】
次に、ステップＳ１７０２で、画像処理領域構築部２１４は、すべての画像処理フローの規模の合計をプリンタ画像処理部２１６の画像処理領域と比較する。
【００８９】
ステップＳ１７０２で、規模が画像処理領域以下である場合は、ステップＳ１７０３で、画像処理領域構築部２１４は、すべてのブロック群（No0,No3,No7,No9）の画像処理フローを画像処理領域に構築する。
【００９０】
一方、ステップＳ１７０２で、規模の合計が画像処理領域より大きい場合は、ステップＳ１７０４で、画像処理領域構築部２１４は、画像処理領域の構築できるよう画像処理フローの再構築を行う。
【００９１】
次に、構築された画像処理フロー（図１６）の中で、特定の画像処理フローに対して、ブロックが集中しないように、ステップＳ１７０５で、画像処理領域構築部２１４は、負荷分散処理を行う。
【００９２】
図１８は、図１７のステップＳ１７０５の負荷分散処理のフローチャートを示す図である。
【００９３】
まず、ステップＳ１８０１で、画像処理領域構築部２１４は、画像処理領域に構築した各画像処理フロー（図１６）に割当てられるブロック数と割当て比率を算出する。
【００９４】
次に、ステップＳ１８０２で、画像処理領域構築部２１４は、ステップＳ１８０１で算出された割当て比率が規定値より高い画像処理フローがあるか否かを判断する。
【００９５】
ステップＳ１８０２で、割当て比率が規定値より高い画像処理フローがあると判断された場合は、ステップＳ１８０３で、画像処理領域構築部２１４は、ブロック分配処理によりブロックの分配を行う。
【００９６】
以下で、図１８のステップＳ１８０１とステップＳ１８０２を図１９、図２０を用いて詳細に説明する。
【００９７】
ステップＳ１８０１において、画像データ（図１４）をブロック化したブロック（図１５）を、図１６に示す各画像処理フローに割当て、全体のブロックに対する比率を算出すると、図１９に示すようになる。
【００９８】
すなわち、No0（下地）の画像処理フローには、ブロックが13個、割当て比率は20%となる。また、No3（図形）の画像処理フローには、ブロックが33個、割当て比率は52%となる。また、No7（文字／図形）の画像処理フローには、ブロックが3個、割当て比率は5%となる。また、No9（文字）の画像処理フローには、ブロックが5個、割当て比率は8%となる。
【００９９】
規定値は、平均比率のα％以上とし、規定値Ｐ  =  1 ／ 画像処理フロー数  * α%  （式１）で表される。したがって、画像処理フロー数 4個、αを120%とすると、P = 1 / 4 * 1.2 = 0.3  （30%）となり、規定値P = 30% となる。なお、規定値は、上記（式１）に限定されるものではなく、特定の画像処理フローに対して、ブロックが集中し、画像処理の負荷が不均等であると判断できるものであれば構わない。
【０１００】
No3（図形）の画像処理フローの割当て比率は52%であり、上記例の規定値30%より高い。このため、図１８のステップＳ１８０２において、割当て比率が規定値より高いと判断され、図１８のステップＳ１８０３で、ブロック分配処理によりブロックの分配が行われる。
【０１０１】
一方、ステップＳ１８０２で、割当て比率が規定値より高い画像処理フローがないと判断された場合は、処理が終了する。
【０１０２】
図２０は、ステップＳ１８０３のブロック分配処理のフローチャートを示す図である。
【０１０３】
まず、ステップＳ２００１で、画像処理領域構築部２１４は、ブロックの割当て比率が規定値より高い画像処理フローを獲得する。
【０１０４】
次に、ステップＳ２００２で、画像処理領域構築部２１４は、各画像処理フローを構築した画像処理領域に獲得したブロックの割当て比率が規定値より高い画像フローを追加構築するだけの空き容量があるか否かを判断する。
【０１０５】
ステップＳ２００２で、空き容量があると判断された場合は、ステップＳ２００３で、画像処理領域構築部２１４は、獲得したブロックの割当て比率が規定値より高い画像処理フローと同じ画像処理フローを画像処理領域に追加して構築する。これにより、画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合は、画像処理領域にブロックが集中した画像処理フローが追加される。
【０１０６】
そして、ステップＳ２００４で、画像処理領域構築部２１４は、獲得したブロックの割当て比率が規定値より高い画像処理フローに割当てられたブロックの半数を、新たに追加した画像処理フローに分配する。
【０１０７】
例えば、図２１は、ブロック分配処理前の画像処理領域を示した図であり、図２２は、ブロック分配処理後の画像処理領域を示した図である。図２１のブロック配分処理前の画像処理領域２１０７には、すでに構築された各画像処理フロー２１０１〜２１０４と画像処理フローを追加することが可能な空き容量２１０５が存在する。そして、各画像処理フローには、処理を施すブロックが割当てられている。
【０１０８】
図２１、２２の例に示されているように、空き容量２１０５に、ステップＳ２００１で獲得されたブロックの割当て比率が規定値より高い画像処理フロー（No3）２１０２と同じ画像処理フローが、ステップＳ２００３で追加構築される。そして、図２２に示されているように、Ｓ２００４で、画像処理フロー(No3)２１０２に割当てられている33個のブロックの半数（16個）が、新たに追加した画像処理フロー２１０６に分配される。
【０１０９】
ステップＳ２００２で画像処理領域に空きがないと判断された場合は、ステップＳ２００５で、画像処理領域構築部２１４は、獲得したブロックの割当て比率が規定値より高い画像処理フローの属性を包含する画像処理フローがあるか否かを判断する。
【０１１０】
ステップＳ２００５で包含する画像処理フローがあると判断された場合は、ステップＳ２００６に処理が進む。
【０１１１】
ステップＳ２００６で、画像処理領域構築部２１４は、獲得したブロックの割当て比率が規定値より高い画像処理フローに割当てられたブロックを、属性を包含する画像処理フローに分配する。
【０１１２】
分配は、獲得したブロックの割当て比率が規定値より高い画像処理フローと属性を包含する画像処理フローに割当てられるブロックがほぼ同数になるように行われる。
【０１１３】
これにより、画像処理領域に構築された各ブロック群の画像処理フローで画像処理を施すブロック数が、特定の画像処理フローに集中する場合に以下のようなことが可能となる。すなわち、ブロックが集中した画像処理フローの画像処理モジュールを包含している画像処理フローに、ブロックを分配することができる。
【０１１４】
なお、本実施形態においては、ステップＳ２００４およびステップＳ２００６の説明に記載されているように、分配手段が複数存在しても良い。その場合に、「第１の分配手段」、「第２の分配手段」と呼ばれても良い。
【０１１５】
例えば、図２３は、画像処理領域の空き容量がない場合のブロック分配処理前の画像処理領域を示した図であり、図２４は、ブロック分配処理後の画像処理領域を示した図である。図２３のブロック分配処理前の画像処理領域２１０７には、すでに構築した各画像処理フロー２１０１〜２１０４が存在し、各画像処理フローには、処理を施すブロックが割当てられている。
【０１１６】
ステップＳ２００１で獲得されたブロックの割当て比率が規定値より高い画像処理フロー（No3）２１０２の属性は図形のみである。図２３の他の画像処理フローの中で、No7の画像処理フロー２１０３は、図形と文字であり、No3の画像処理フロー２１０２を包含している。
【０１１７】
そのため、図２３のNo3の画像処理フロー２１０２に割当てられるブロックをNo7の画像処理フロー２１０３に分配することが可能である。
【０１１８】
図２４に示されているように、分配は、No7の画像処理フロー２１０３とNo3の画像処理フロー２１０２に割当てられるブロックの数がほぼ同じになるように行われる。例えば、図２４に示されているように、No3の画像処理フロー２１０２に割当てられている33個のブロックのうち15個が、No7の画像処理フロー２１０３に分配される。
【０１１９】
以上、説明したように、画像処理領域に構築した複数の画像処理フローの中で、特定の画像処理フローに画像処理を施すブロックが集中した場合に、ブロックを分配して並列処理の効率を上げることが可能になる。
【０１２０】
＜他の実施形態＞
本発明は、さらに、複数の機器（例えばコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用することも、一つの機器からなる装置（複合機、プリンタ、ファクシミリ装置など）に適用することも可能である。
【０１２１】
また本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が、そのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶／記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
【０１２２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２３】
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行う場合も含まれる。
【０１２４】
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１２５】
【図１】画像処理システムを示す図である。
【図２】画像処理装置１０のコントローラユニット１１をより詳細に説明するための図である。
【図３】プリンタ画像処理部２１６において画像データに施される画像処理工程を示す図である。
【図４】画像処理装置１０のブロック化処理部２１２の処理のフローチャートを示す図である。
【図５】画像データの一例を示す図である。
【図６】画像データのブロック化の一例を示す図である。
【図７】属性の組合せの一例を示す図である。
【図８】画像処理装置１０の画像処理フロー生成部２１３の処理のフローチャートを示す図である。
【図９】各属性に対する画像処理モジュールの設定値を示す図である。
【図１０】各ブロック群に必要な画像処理モジュールを示す図である。
【図１１】ブロック群の画像処理フローを示す図である。
【図１２】画像処理装置１０の画像処理領域構築部２１４の処理のフローチャートを示す図である。
【図１３】ステップＳ１２０４の処理のフローチャートを示す図である。
【図１４】実施形態２の画像データの一例を示す図である。
【図１５】実施形態２の画像データのブロック化の一例を示す図である。
【図１６】実施形態２のブロック群の画像処理フローを示す図である。
【図１７】実施形態２の画像処理領域構築部２１４の処理のフローチャートを示す図である。
【図１８】ステップＳ１７０５の処理のフローチャートを示す図である。
【図１９】ブロックの割当て数、割当て比率の一例を示す図である。
【図２０】ステップＳ１８０３の処理のフローチャートを示す図である。
【図２１】空き容量がある場合のブロック分配処理前の画像処理領域の一例を示す図である。
【図２２】空き容量がない場合のブロック分配処理後の画像処理領域の一例を示す図である。
【図２３】空き容量がある場合のブロック分配処理前の画像処理領域の一例を示す図である。
【図２４】空き容量がない場合のブロック分配処理後の画像処理領域の一例を示す図である。
【符号の説明】
【０１２６】
１０  画像処理装置
１１  コントローラユニット
１２  操作部
１３  スキャナ部
１４  プリンタ部
２０  画像処理装置
２１  コントローラユニット
２２  操作部
２３  スキャナ部
２４  プリンタ部
【図１】
2010056648.tif 000003
【図２】
2010056648.tif 000004
【図３】
2010056648.tif 000005
【図４】
2010056648.tif 000006
【図５】
2010056648.tif 000007
【図６】
2010056648.tif 000008
【図７】
2010056648.tif 000009
【図８】
2010056648.tif 000010
【図９】
2010056648.tif 000011
【図１０】
2010056648.tif 000012
【図１１】
2010056648.tif 000013
【図１２】
2010056648.tif 000014
【図１３】
2010056648.tif 000015
【図１４】
2010056648.tif 000016
【図１５】
2010056648.tif 000017
【図１６】
2010056648.tif 000018
【図１７】
2010056648.tif 000019
【図１８】
2010056648.tif 000020
【図１９】
2010056648.tif 000021
【図２０】
2010056648.tif 000022
【図２１】
2010056648.tif 000023
【図２２】
2010056648.tif 000024
【図２３】
2010056648.tif 000025
【図２４】
2010056648.tif 000026