(57)【特許請求の範囲】
【請求項１】
複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、
処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、
前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段と
を具備する画像処理装置。
【請求項２】
前記処理対象の画像情報の前記演算処理手段による前記各演算処理器の並列数別の処理時間を算出する算出手段
を有し、
前記並列数選択手段は、
前記算出手段により算出される、前記並列数選択手段により選択された前記並列数に対応する前記処理対象画像情報の処理時間が該並列数に対応して予め設定されている閾値以下である場合に当該並列数を選択する
請求項１記載の画像処理装置。
【請求項３】
前記並列数選択手段は、
前記処理対象の画像情報の画像幅Ａ、及び該画像幅Ａと前記要求倍率Ｍに基づく出力画像情報の画像幅Ｂ（Ｂ＝Ａ×Ｍ）を、それぞれ、前記各演算処理器の並列数Ｐ〔Ｐは"２"以上Ｎ（前記演算処理器の総数）までの各整数値〕の倍数に切上げて算出した画像幅Ａ´、及びＢ´に基づいて前記実倍率Ｍ´（Ｍ´＝Ｂ´／Ａ´）を求め、該実倍率Ｍ´と前記要求倍率Ｍとの差（Ｍ´−Ｍ）を前記倍率誤差として算出する
請求項１または２記載の画像処理装置。
【請求項４】
複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、
処理対象の画像情報と画像の拡大、または縮小倍率の要求値である要求倍率を含む画像拡縮指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、
前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡縮命令とともに与え、前記拡縮命令に基づく前記各演算処理器による前記分割画像情報の拡大、または縮小処理結果を合成して前記処理対象画像情報の拡大、または縮小画像情報を生成させる演算処理制御を行う演算処理制御手段と
を具備する画像処理装置。
【請求項５】
コンピュータにより構成され、複数の演算処理器のそれぞれが与えられた各画像情報を並列に演算処理する演算処理手段を備える画像処理装置に実装し、
前記コンピュータを、
処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段、
前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段
として機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及び画像処理プログラムに関する。
【背景技術】
【０００２】
ディジタル画像を処理する画像処理装置において、大量の画像を高速に拡大、縮小する際に画像をブロックに分割し、並列処理する方法が種々提案されている。
【０００３】
この種の並列処理の例として、下記特許文献１には、並列拡大、縮小において、入出力のシリアル・パラレル変換で、エレメント毎の演算内容に応じた並びで格納、あるいは出力する技術が開示されている。
【０００４】
また、下記特許文献２には、ＳＩＭＤプロセッサの前に補間処理部を設け、参照画素を含む画像情報を参照して、拡大画像を構成する技術が開示されている。
【０００５】
また、下記特許文献３には、主を変倍し、副を変倍するときは一つ前のブロックの主方向変倍結果を利用して変倍するブロック単位での変倍処理方法（ブロック拡大、縮小でのメモリの使い方）が開示されている。
【０００６】
特許文献１及び２のいずれの方法においても、任意の倍率で拡大、縮小処理するための専用のハードウェアが必要となり、高価とならざるを得なかった。
【０００７】
一方、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサで画像を拡大、縮小処理する方法では、入力画素数、要求倍率及びプロセッサの並列数の組合せによって倍率誤差が異なってくる。
【０００８】
例えば、１００画素の画像を１０１パーセント拡大する場合は、１画素の増加が望ましいが、４つのＤＰ（Ｄａｔａ  Ｐｒｏｃｅｓｓｅｒ）を用いて並列処理した場合は１０４画素の拡大画像が得られ、４画素増えてしまう。
【０００９】
そして、この場合の要求倍率と実際の処理によって得られる倍率（実倍率）との誤差は、１０４（パーセント）−１０１（パーセント）＝３（パーセント）にもなる。
【００１０】
上述した倍率誤差を低減するためにはプロセッサの並列数を減らす方向もあるが、並列数を減らした場合には、１ＤＰ当たりの処理画素数が増え、処理時間が増加してしまう。
【００１１】
通常、拡大コピー機能を有する複合機等、リアルタイム処理が不可欠なシステム構成の場合、画像の拡大にかけられる処理時間の上限が決まっており、このため、倍率誤差と処理時間のトレードオフにより最適な処理方法を決定することが望まれる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平０９−２１２６３７号公報
【特許文献２】特開２００２−２４７３４７号公報
【特許文献３】実開２００７−１１０４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は、要求倍率と実倍率との倍率誤差に応じてプロセッサ並列数を任意に選択し、少ない倍率誤差での画像の拡大、縮小処理を実現可能な画像処理装置、及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１記載の画像処理装置の発明は、複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段とを具備する。
【００１５】
請求項２記載の発明は、上記請求項１記載の発明において、前記処理対象の画像情報の前記演算処理手段による前記各演算処理器の並列数別の処理時間を算出する算出手段を有し、前記並列数選択手段は、前記算出手段により算出される、前記並列数選択手段により選択された前記並列数に対応する前記処理対象画像情報の処理時間が該並列数に対応して予め設定されている閾値以下である場合に当該並列数を選択する。
【００１６】
請求項３記載の発明は、上記請求項１または２記載の発明において、前記並列数選択手段は、前記処理対象の画像情報の画像幅Ａ、及び該画像幅Ａと前記要求倍率Ｍに基づく出力画像情報の画像幅Ｂ（Ｂ＝Ａ×Ｍ）を、それぞれ、前記各演算処理器の並列数Ｐ〔Ｐは“２”以上Ｎ（前記演算処理器の総数）までの各整数値〕の倍数に切上げて算出した画像幅Ａ´、及びＢ´に基づいて前記実倍率Ｍ´（Ｍ´＝Ｂ´／Ａ´）を求め、該実倍率Ｍ´と前記要求倍率Ｍとの差（Ｍ´−Ｍ）を前記倍率誤差として算出する。
【００１７】
請求項４記載の画像処理装置の発明は、複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、処理対象の画像情報と画像の拡大・縮小倍率の要求値である要求倍率を含む画像拡縮指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡縮命令とともに与え、前記拡縮命令に基づく前記各演算処理器による前記分割画像情報の拡大・縮小処理結果を合成して前記処理対象画像情報の拡大・縮小画像情報を生成させる演算処理制御を行う演算処理制御手段とを具備する。
【００１８】
請求項５記載の画像処理プログラムの発明は、コンピュータにより構成され、複数の演算処理器のそれぞれが与えられた各画像情報を並列に演算処理する演算処理手段を備える画像処理装置に実装し、前記コンピュータを、処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段、前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段として機能させる。
【発明の効果】
【００１９】
請求項１記載の画像処理装置の発明によれば、汎用のＳＩＭＤプロセッサを用い、要求倍率と実倍率との倍率誤差を最小にするプロセッサ並列数を選択して倍率誤差の少ない画像拡大処理を実現できる。
【００２０】
請求項２記載の発明によれば、上記請求項１記載の発明において、リアルタイム性を損なうことなく、倍率誤差の少ない画像拡大処理が行える。
【００２１】
請求項３記載の発明によれば、上記請求項１または２記載の発明において、プロセッサの並列数別の倍率誤差を正確に算出できる。
【００２２】
請求項４記載の画像処理装置の発明によれば、汎用のＳＩＭＤプロセッサを用い、要求倍率と実倍率との倍率誤差を最小にするプロセッサ並列数を選択して倍率誤差の少ない画像拡大、または縮小処理を実現できる。
【００２３】
請求項５記載の画像処理プログラムの発明によれば、複合機等の装置に実装し、倍率誤差を最小にするプロセッサ並列数を選択して少ない倍率誤差で拡大コピー等の処理を実行させることができる。
【図面の簡単な説明】
【００２４】
【図１】実施例に係わる画像処理装置の機能構成を示すブロック図。
【図２】画像処理装置の制御部及び画像処理部の詳細機能構成を示すブロック図。
【図３】実施例に係る画像処理装置の画像処理動作を示すフローチャート。
【図４】図３のＳ１０６でのＤＰ４並列選択画像拡大処理イメージを示す図。
【図５】図３のＳ１０５での並列数選択処理の詳細フローチャート。
【図６】図５のＳ２０５乃至Ｓ２０７での倍率誤差算出処理の詳細フローチャート。
【図７】本実施例の画像拡大処理に係わる入力画像、要求倍率及び出力画像の例を示す図。
【図８】図７に例示した出力画像を得るＤＰ３並列選択画像拡大処理イメージを示す図。
【発明を実施するための形態】
【００２５】
本発明の実施形態では、複数の演算処理器〔以下の実施例に示す各データプロセッサ（ＤＰ）〕を有し、各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段（同、ＳＩＭＤプロセッサ５０）を備える画像処理装置が、処理対象の画像情報と画像の拡大、または縮小（以下、拡縮）倍率の要求値である要求倍率を含む画像拡縮指示を受付けることにより、並列数選択手段（同、並列数選択部１６２）は、演算処理手段の演算処理器を異なる並列数にして画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、倍率誤差が最も小さい並列数を選択する。
【００２６】
そして、演算処理制御手段（同、ＳＩＭＤ制御部１６３）では、処理対象の画像情報を並列数選択手段により選択された並列数の数に分割して該並列数の数の演算処理器に要求倍率での拡縮命令とともに与え、該拡縮命令に基づく各演算処理器による分割画像情報の拡大・縮小処理結果を合成して処理対象画像情報の拡大・縮小画像情報を生成させる演算処理の制御を行う。
【００２７】
以下、本実施形態について実施例を挙げて詳しく説明する。
【実施例】
【００２８】
図１は、本実施例に係わる画像処理装置１０の機能構成を示すブロック図である。
【００２９】
この画像処理装置１０は、例えば、原稿読取（スキャン）、複写（コピー）、印刷（プリント）、ＦＡＸ（ファクシミリ通信）等の複数の機能を有する複合機であり、原稿（紙文書）の画像を読取走査（スキャン）し、電気的な画像信号（画像データ）に変換する読取部１１、読取部１１により原稿をスキャンして得られた読取画像データ（スキャンデータ）や、クライアント端末（不図示）から送られてくる印刷ジョブから印刷データを生成するための画像処理を行う画像処理部１２、スキャンデータや動作プログラム等の各種情報を記憶する記憶部１３、画像処理部１２により生成された印刷データに基づき電子写真プロセスを実行して記録媒体（記録用紙）に該印刷データに対応する画像を形成する画像形成部１４、タッチパネル機能を有する大型ビットマップディスプレイ等から成る表示／操作部１５、スキャン、コピー、プリント及びＦＡＸ等の各機能に係わる該当各部の動作制御等、装置全体の制御を行なう制御部１６、クライアント端末（ＰＣ：パーソナル・コンピュータ）等の装置と通信ネットワーク（ＮＷ）を介して通信する際の通信インタフェースを司る通信インタフェース（Ｉ／Ｆ）部１７を具備して構成される。
【００３０】
上述した複合機能のうち、例えば、コピー機能を実現するために、表示／操作部１５には、コピーモードを選択するボタン、原稿を拡大あるいは縮小コピーする場合の希望の倍率（画像の拡大倍率の要求値：要求倍率）を設定する設定ボタン、コピー開始ボタン等の操作機構が備わる。
【００３１】
これにより、ユーザが、読取部１１の原稿読取位置に原稿をセットし、表示／操作部１５の上記設定ボタンで要求倍率を設定（入力）してコピー開始ボタンを押下する操作を行うと、制御部１６に設けられる印刷制御部１６１が、読取部１１により原稿の画像をスキャンさせ、該原稿のスキャン画像データを画像処理部１２で要求倍率のサイズまで拡大あるいは縮小処理し、該拡縮画像データに基づいて画像形成部１４で上記原稿の拡大画像を用紙上に形成してコピー結果として出力するコピー動作制御を実施する。
【００３２】
上述したコピー等の画像処理に際し、画像データの実時間（リアルタイム）での拡縮処理を実現するために、画像処理部１２にはＳＩＭＤプロセッサ５０が備わる。
【００３３】
ＳＩＭＤプロセッサ５０は、複数のＤＰを有し、処理対象の画像データ（スキャン画像データ）のブロック毎に分割された画像データが各ＤＰに対して１つの処理命令とともに与えられることで、１つの処理命令で複数のデータ（スキャン画像データの各ブロックの画像データ）を並列に処理する演算処理器である。
【００３４】
制御部１６には、印刷制御部１６１の他、本実施例特有のＤＰ並列数選択制御機能を実現する並列数選択部１６２、及びＳＩＭＤ制御部１６３が設けられる。
【００３５】
並列数選択部１６２は、表示／操作部１５でのユーザ操作により、処理対象の画像データと、画像の拡大・縮小（拡縮）に関する要求倍率が指定された画像の拡縮指示（この例では、原稿の拡縮複写指示）を受付けることにより、ＳＩＭＤプロセッサ５０の各プロセッサを異なる並列数で組合せて当該画像データを並列処理する場合の上記要求倍率と実倍率（計算により求める）の倍率誤差を各並列数別に算出するとともに、該倍率誤差が最も小さい並列数を選択する。
【００３６】
ＳＩＭＤ制御部１６３は、表示／操作部１５によりユーザから上記拡縮指示を受付けた処理対象の画像（原稿スキャン画像データ）を並列数選択部１６２により選択された並列数のブロックに分割し、それぞれを、並列数に相当する数のＤＰに与えて各ＤＰ毎に上記要求倍率で拡縮処理させ、該各ＰＤ毎に拡縮処理された画像データを上記処理対象画像データの上記要求倍率による拡縮画像データとして合成し、出力する演算処理制御を行う。
【００３７】
図２は、本実施例に係る画像処理装置１０の制御部１６及び画像処理部１２の詳細機能構成を示すブロック図である。
【００３８】
図２に示すように、本実施例の画像処理装置１０において、画像処理部１２に設けられるＳＩＭＤプロセッサ５０は、例えば、ＤＰ１、ＤＰ２、ＤＰ３及びＤＰ４という４つのＤＰを備えて構成される。
【００３９】
制御部１６において、並列数選択部１６２は、ＳＩＭＤプロセッサ５０を構成する４つのＤＰ１、ＤＰ２、ＤＰ３及びＤＰ４を対象に、例えば、ＤＰ１とＤＰ２により並列処理するパターン（２並列）、ＤＰ１とＤＰ２とＤＰ３により並列処理するパターン（３並列）、及びＤＰ１とＤＰ２とＤＰ３とＤＰ４により並列処理するパターン（４並列）の各パターン毎に、処理対象の画像データを並列処理させた場合の要求倍率と実倍率（計算により求める）の倍率誤差を算出する倍率誤差算出処理機能と、該倍率誤差算出処理機能により算出された倍率誤差の中で最も倍率誤差の値が小さいパターン（並列数）を選択する選択機能を備えて構成される。
【００４０】
上記倍率誤差算出処理機能においては、後述するように、例えば、処理対象の画像データの画像幅Ａ、及び該画像幅Ａと要求倍率Ｍに基づく出力画像の画像幅Ｂ（Ｂ＝Ａ×Ｍ）を、それぞれ、各ＤＰの並列数Ｐ〔Ｐは“２”以上Ｎ（ＤＰの総数）までの各整数値〕の倍数に切上げて算出した画像幅Ａ´、及びＢ´に基づいて実倍率Ｍ´（Ｍ´＝Ｂ´／Ａ´）を求め、該実倍率Ｍ´と要求倍率Ｍとの差（Ｍ´−Ｍ）を倍率誤差として算出することができる。
【００４１】
また、上記選択機能においては、倍率誤差算出処理機能により算出された要求倍率と実倍率倍率との誤差（Ｍ´−Ｍ）の最も小さい並列数を選択する処理の他、該算出された誤差（Ｍ´−Ｍ）に、ＳＩＭＤプロセッサ５０による画像データのリアルタイム処理を維持するために許容し得る処理時間（制限時間：上限値）を更に加味して並列数を選択する処理機能を持たせても良い。
【００４２】
具体的には、処理対象の入力画像データのＳＩＭＤプロセッサ５０の各ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４による並列数別の処理時間を算出する算出機能を設け、選択機能が、上記倍率誤差が最も小さくなるＤＰの並列数をまず選択した後、上記算出機能により算出される、選択機能により選択された並列数に対応する入力画像の処理時間が該並列数に対応して予め設定されている閾値以下である場合に当該並列数を選択する構成が考えられる。
【００４３】
図３は、本実施例に係る画像処理装置１０の画像処理動作を示すフローチャートである。
【００４４】
図３のフローチャートに基づき、画像処理動作の一例として、拡大、または縮小コピーを行う場合の画像処理について説明する。
【００４５】
図３に示すように、画像処理装置１０では、待機中、複写（コピー）開始操作が行なわれたか否かを監視している（ステップＳ１０１）。
【００４６】
この状態で、読取部１１への原稿のセット後、表示／操作部１５で要求倍率を設定（入力）し、コピー開始ボタンを押下するコピー開始操作が行われると、該操作での入力情報が印刷制御部１６１、及び並列数選択部１６２に取り込まれ、コピー開始操作が行なわれたことが検知される（ステップＳ１０１ＹＥＳ）。
【００４７】
これにより、並列数選択部１６２は、上記コピー開始操作による入力情報中から要求倍率を取得し、保持する（ステップＳＳ１０２）。
【００４８】
他方、印刷制御部１６１は、読取部１１を駆動してセット原稿の画像をスキャンさせ（ステップＳ１０３）、該原稿のスキャン画像データを画像処理部１２の図示しない記憶領域に記憶させたうえで（ステップＳ１０４）、並列数選択部１６２に対して並列数選択処理の起動を指示する。
【００４９】
上記起動指示を受取った並列数選択部１６２では、上記ステップＳ１０４で記憶されたスキャン画像データ（処理対象の画像データ）の画像幅を検出するとともに、上記ステップＳ１０２で保持した要求倍率を読出し、これら入力画像の画像幅と要求倍率に基づいて、ＤＰの並列数を２並列、３並列、４並列と異ならせてスキャン画像データをブロック分割により並列処理させた場合の要求倍率と実倍率との倍率誤差を各並列数別に算出したうえで、該算出値（要求倍率と実倍率の誤差）が最も小さい値の並列数を選択する（ステップＳ１０５）。
【００５０】
次いで、ＳＩＭＤ制御部１６３は、画像処理部１２の上記記憶領域から処理対象のスキャン画像データを読み出し、該読み出したスキャン画像データを並列数選択部１６２により選択された並列数の数分のＤＰにより並列処理させることにより、拡大、または縮小画像データを生成させる画像拡大、または縮小処理を行う（ステップＳ１０６）。
【００５１】
具体的には、上記記憶領域から読み出したスキャン画像データを並列数選択部１６２により選択された並列数分のブロックに分割し、該各ブロックの画像データを該選択された並列数に対応する各ＤＰに対してそれぞれ入力し、これに合せて全ＤＰに対して１つの処理命令（上記要求倍率まで拡大、または縮小する旨の処理命令）を与えることにより、各ＤＰで入力された各ブロックの画像データをそれぞれ上記要求倍率で拡大、または縮小処理し、該各ブロックの画像データの拡縮処理結果を合成して上記処理対象の画像データ（スキャン画像データ）の拡縮画像データを生成する。
【００５２】
上記ステップＳ１０６での画像の拡大、または縮小処理の完了後、印刷制御部１６１では、該処理により生成された拡大、または縮小画像データを画像形成部１４に送り、該画像データに基づき前記原稿の拡大、または縮小コピーに相当する画像を印刷出力させる（ステップＳ１０７）。
【００５３】
図４は、図３のステップＳ１０６におけるＳＩＭＤプロセッサ５０による入力画像データ（処理対象の画像データ）の並列処理イメージを示す図である。
【００５４】
図４では、特に、図３のステップＳ１０５で並列数選択部１６２が並列数“４”を選択した時に相当するＤＰ４並列選択画像拡大処理イメージを示している。
【００５５】
この場合、ＳＩＭＤ制御部１６３は、処理対象である、例えば、４Ｎのサイズの入力画像データを取込み〔図４（ａ）〕、次いで、並列数選択部１６２により選択された並列数“４”に基づいて該入力画像を４分割してＮサイズずつの当該分割画像データをそれぞれＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４に割振って入力させる〔図４（ｂ）〕。
【００５６】
次に、各ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４では、それぞれ、割振り入力されたＮサイズの分割画像データを要求倍率に従がって（Ｎ＋Ｍ）サイズまで拡大処理させ〔図４（ｃ）〕させる。
【００５７】
更に、ＳＩＭＤ制御部１６３は、各ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４から出力されるそれぞれ（Ｎ＋Ｍ）サイズの分割拡大処理画像データをシリアルに合成して入力画像が要求倍率で拡大処理された（４Ｎ＋４Ｍ）サイズの拡大画像データを生成し〔図４（ｄ）〕、処理結果として出力する。
【００５８】
図４では、ＳＩＭＤプロセッサ５０で４並列を選択して並列処理する例を挙げたが、本実施例に係る画像処理装置１０では、並列数選択部１６２が、要求倍率と演算により求めた実倍率との誤差に応じて該誤差が最小である並列数を選択し（図３のステップＳ１０５参照）、該選択した並列数分の数のＤＰを用いて入力画像データの拡縮処理を並列に実行する（同、ステップＳ１０６参照）ものであって、上述した４並列に限らず、３並列、あるいは２並列での並列処理も実現可能である。
【００５９】
次に、本実施例に係わる画像処理装置１０での画像拡縮処理における並列数選択処理について更に詳細に説明する。
【００６０】
図５は、図３のステップＳ１０５におけるＤＰ並列数選択処理の詳細動作を示すフローチャートである。
【００６１】
尚、図５においては、特に、要求倍率と実倍率との誤差（Ｍ´−Ｍ）に、ＳＩＭＤプロセッサ５０によるリアルタイム処理維持のために許容し得る処理時間（制限時間：上限値）を更に加味して並列数を選択する例を挙げている。
【００６２】
図５における並列数選択制御を実現するために、並列数選択部１６２は、ＳＩＭＤプロセッサ５０の各ＤＰ１、ＤＰ２、ＤＰ３、ＤＰ４の処理能力を把握している。
【００６３】
また、画像をリアルタイムに処理する画像処理装置１０において、並列数選択部１６２は、上記リアルタイム処理を可能にするＳＩＭＤプロセッサ５０の各並列数（１列を含む）別の処理時間（上限値）をそれぞれの閾値として保持している。
【００６４】
そして、ユーザからの画像拡縮指令を受けて処理対象の画像データが入力されると、該入力画像データの種別及びデータ量と上記各ＤＰ毎の処理能力とから該入力画像データを２並列、３並列及び４並列の各並列数で処理可能な時間を各並列数別に算出し、要求倍率と実倍率との誤差が最小の並列数が選択された後、該並列数での入力画像データの処理時間（算出値）が該並列数に対応して設定されている処理時間（閾値）以下である場合は当該並列数をそのまま選択するように制御する。
【００６５】
かかる機能構成を有する並列数選択部１６２は、図３のステップＳ１０５での並列数選択処理が開始されると、図５に示す如く、まず、処理対象の入力画像データを４並列で処理した場合の時間が閾値以下かどうかをチェックする（ステップＳ２０１）。
【００６６】
ここで、４並列での処理時間が閾値以下でない場合（ステップＳ２０１ＮＯ）、エラーとして処理する（ステップＳ２０２）。
【００６７】
これに対し、４並列での処理時間が閾値以下である場合（ステップＳ２０１ＹＥＳ）、１列での処理時間が閾値以下かどうかをチェックする（ステップＳ２０３）。
【００６８】
ここで、１列での処理時間が閾値以下であれば（ステップＳ２０３ＹＥＳ）、並列ではなく“１”列で対応すると決定し、１列処理の準備を整える（ステップＳ２０４）。
【００６９】
これに対して、１列での処理時間が閾値以下でない場合（ステップＳ２０３ＮＯ）、並列数を“４”（４並列），“３” （３並列），“２” （２並列）とした時の該各並列数別の倍率誤差ＥＲ４，ＥＲ３，ＥＲ２をそれぞれ算出する（ステップＳ２０５、Ｓ２０６、Ｓ２０７）。
【００７０】
なお、このステップＳ２０５、Ｓ２０６、Ｓ２０７における倍率誤差の算出処理については、後で図６を参照して詳述する。
【００７１】
上記ステップＳ２０５、Ｓ２０６、Ｓ２０７で倍率誤差ＥＲ４，ＥＲ３，ＥＲ２をそれぞれ算出し終えると、次いで、並列数選択部１６２は、該算出済みの倍率誤差ＥＲ４，ＥＲ３，ＥＲ２間の大小判定を実施する。
【００７２】
まず、ＥＲ４≦ＥＲ３≦ＥＲ２、またはＥＲ４≦ＥＲ２≦ＥＲ３であるかどうかをチェックし（ステップＳ２０８）、ＥＲ４≦ＥＲ３≦ＥＲ２、またはＥＲ４≦ＥＲ２≦ＥＲ３であれば（ステップＳ２０８ＹＥＳ）、並列数を“４”に決定する（ステップＳ２０９）。
【００７３】
これに対し、ＥＲ４≦ＥＲ３≦ＥＲ２、またはＥＲ４≦ＥＲ２≦ＥＲ３でなければ（ステップＳ２０８ＮＯ）、次にＥＲ３≦ＥＲ４≦ＥＲ２、またはＥＲ３≦ＥＲ２≦ＥＲ４であるかどうかをチェックする（ステップＳ２１０）。
【００７４】
ここで、ＥＲ３≦ＥＲ４≦ＥＲ２、またはＥＲ３≦ＥＲ２≦ＥＲ４であれば（ステップＳ２１０ＹＥＳ）、３並列での処理時間が閾値以下であるか否かをチェックする（ステップＳ２１１）。
【００７５】
そして、３並列での処理時間が閾値以下である場合には（ステップＳ２１１ＹＥＳ）、並列数を“３”に決定し（ステップＳ２１３）、他方、３並列での処理時間が閾値以下でない場合には（ステップＳ２１１ＮＯ）、並列数を“４”に決定する（ステップＳ２１２）。
【００７６】
また、上記ステップＳ２１０において、ＥＲ３≦ＥＲ４≦ＥＲ２、またはＥＲ３≦ＥＲ２≦ＥＲ４でない場合（ステップＳ２１０ＮＯ）、２並列での処理時間が閾値以下であるか否かをチェックする（ステップＳ２１４）。
【００７７】
ここで、２並列での処理時間が閾値以下であれば（ステップＳ２１４ＹＥＳ）、並列数を“２”に決定する（ステップＳ２１５）。
【００７８】
一方、２並列での処理時間が閾値以下でない場合（ステップＳ２１４ＮＯ）、更に、３並列での処理時間が閾値以下であるか否かをチェックする（ステップＳ２１６）。
【００７９】
ここで、３並列での処理時間が閾値以下である場合には（ステップＳ２１６ＹＥＳ）、並列数を“３”に決定し（ステップＳ２１７）、他方、３並列での処理時間が閾値以下でない場合には（ステップＳ２１６ＮＯ）、並列数を“４”に決定する（ステップＳ２１８）、次処理（図３のステップＳ１０６）へ移行する。
【００８０】
次に、図６に示すフローチャートを参照して、図５のステップＳ２０５乃至Ｓ２０７における倍率誤差算出処理について詳細に説明する。
【００８１】
図６に示すように、画像処理装置１０では、図５のステップＳ２０３にて１列の処理時間が閾値以下でないと判定されると（ステップＳ２０３ＮＯ）、当該倍率誤差算出処理に移行し、まず、チェック対象の並列数を初期値“１”に“１”を加算して“２”とし（ステップＳ３０１）、次に、該並列数“２”が全並列数“４”より大きい値かどうかをチェックする（ステップＳ３０２）。
【００８２】
ここで、チェック対象の並列数“２”が全並列数“４”より大きい値でないと判定されると（ステップＳ３０２ＮＯ）、当該並列数“２”に場合における倍率誤差を算出処理に移行する。
【００８３】
並列数“２”に場合における倍率誤差の算出処理においては、入力画素幅ＡをＰ（並列数“２”）の倍数に切上げる処理を行う（ステップＳ３０３）。
【００８４】
具体的には、  
Ａ´＝ＩＮＴ〔（Ａ＋Ｐ−１）／Ｐ〕×Ｐ  
なる式によりＡ´を算出する。
【００８５】
なお、ＩＮＴ関数〔ＩＮＴ（）〕は、整数以下を切り捨てる処理関数である。
【００８６】
従がって、上記式「Ａ´＝ＩＮＴ〔（Ａ＋Ｐ−１）／Ｐ〕×Ｐ」での計算により、Ｐの倍数に切上げられた画素幅Ａ´を求めることができる（以下の“Ｂ´”の算出においても同様）。
【００８７】
次に、要求倍率Ｍから出力希望幅Ｂを下式により算出する（ステップＳ３０４）。
【００８８】
Ｂ＝Ａ×Ｍ  
次いで、出力画素幅Ｂを並列数Ｐ（＝２）の倍数に切上げる処理を行う（ステップＳ３０５）。
【００８９】
具体的には、  
Ｂ´＝ＩＮＴ〔（Ｂ＋Ｐ−１）／Ｐ〕×Ｐ  
なる式によりＢ´を算出する。
【００９０】
次いで、実倍数Ｍ´を下式により求める（ステップＳ３０６）。  
Ｍ´＝Ｂ´／Ａ´  
更に、上記ステップＳ３０６で演算より求めた実倍率Ｍ´とユーザが入力した要求倍率Ｍとから、下式により、並列数Ｐ（＝２）での倍率誤差ＥＲ２＝（Ｍ´−Ｍ）を算出する（ステップＳ３０７）。  
倍率誤差ＥＲｐ＝Ｍ´−Ｍ  （ｐはＤＰの並列数）  
引き続き、ステップＳ３０１に進んでチェック対象の並列数を更に“１”を加算して“３”とし（ステップＳ３０１）、次いで、該並列数“３”が全並列数“４”より大きい値でないことが判明すると（ステップＳ３０２ＮＯ）、上述した並列数“２”の場合における倍率誤差を算出処理と同様にして当該並列数“３”の場合における倍率誤差ＥＲ３を算出する（ステップＳ３０３〜Ｓ３０７）。
【００９１】
以後、同様に、ステップＳ３０１に進んでチェック対象の並列数を更に“１”を加算して“４”とし（ステップＳ３０１）、次いで、該並列数“４”が全並列数“４”より大きい値でないことが判明すると（ステップＳ３０２ＮＯ）、上述した並列数“２”，“３”の場合における倍率誤差を算出処理と同様にして当該並列数“４”の場合における倍率誤差ＥＲ４を算出する（ステップＳ３０３〜Ｓ３０７）。
【００９２】
その後、ステップＳ３０１に進んでチェック対象の並列数を更に“１”を加算して“５”とし（ステップＳ３０１）、次いで、該並列数“５”が全並列数“４”より大きい値であると判定された場合（ステップＳ３０２ＹＥＳ）、それまでに算出した倍率誤差ＥＲ２，ＥＲ３，ＥＲ４に基づく次処理（図５のステップＳ２０８以降の処理）へと移行する。
【００９３】
次に、本実施例のＤＰ並列数選択制御による画像拡大処理の具体例について図７及び図８を参照して説明する。
【００９４】
ここでは、簡単のため、図７に具体値を例示するように、画素数が１５０の画像幅の画像を取り込み、該取り込んだ画像（入力画像）を要求倍率である１．３倍に拡大（１３０パーセントに拡大）した画素数が１９５画素幅の出力画像を得る場合を想定して説明する。
【００９５】
この場合、図５のステップＳ２０５〜Ｓ２０７での倍率誤差算出処理（図６参照）が実施され、以下の各値を有する倍率誤差ＥＲ２、ＥＲ３、ＥＲ４が算出される。
【００９６】
すなわち、ＥＲ２については、  
Ａ´＝ＩＮＴ〔（１５０＋２−１）／２〕×２＝７５×２＝１５０  
Ｂ＝１５０×１．３＝１９５  
Ｂ´＝ＩＮＴ（１９５＋２−１）／２〕×２＝９８×２＝１９６  
Ｍ´＝１９６／１５０  
が算出され、これにより、  
倍率誤差ＥＲ２＝（１９６／１５０）−１．３  
が算出される。
【００９７】
ＥＲ３については、  
Ａ´＝ＩＮＴ〔（１５０＋３−１）／３〕×３＝５０×３＝１５０  
Ｂ＝１５０×１．３＝１９５  
Ｂ´＝ＩＮＴ（１９５＋３−１）／３〕×３＝６５×３＝１９５  
Ｍ´＝１９５／１５０  
が算出され、これにより、  
倍率誤差ＥＲ３＝（１９５／１５０）−１．３＝０（零）  
が算出される。
【００９８】
ＥＲ４については、  
Ａ´＝ＩＮＴ〔（１５０＋４−１）／４〕×４＝３８×４＝１５２  
Ｂ＝１５０×１．３＝１９５  
Ｂ´＝ＩＮＴ（１９５＋４−１）／４〕×４＝４９×４＝１９６  
Ｍ´＝１９６／１５２  
が算出され、これにより、  
倍率誤差Ｅｒ４＝（１９６／１５２）−１．３  
が算出される。
【００９９】
上述した算出結果から、倍率誤差ＥＲ３＜ＥＲ２＜ＥＲ４の関係であることが判定され（図５のステップＳ２１０ＹＥＳ）、該判定結果に基づき、図５のステップＳ２１１において３並列での処理時間が閾値以下である場合に（ステップＳ２１１ＹＥＳ）、図７に示す入力画像を処理する並列数Ｐが“３”（３並列）と決定される。
【０１００】
図８は、図７に例示した具体値での画像拡大処理を実現するＳＩＭＤプロセッサ５０のＤＰ３並列選択画像処理イメージを示す図である。
【０１０１】
上述した如く、並列数が“３”と決定されると、ＳＩＭＤ制御部１６３は、図３のステップＳ１０６において、ＳＩＭＤプロセッサ５０中、並列数“３”の数分のプロセッサ、例えば、ＤＰ１、ＤＰ２、ＤＰ３を選定〔図８（ａ）参照〕したうえで、処理対象の入力画像データ（主走査方向画素数＝１９５）を３のブロックに３分割して５０画素ずつにし、該３分割した５０画素ずつのブロック分割画像データを、選定したＤＰ１、ＤＰ２、ＤＰ３のそれぞれ該当するＤＰに対してＳＩＭＤ命令（１．３倍に拡大する画像処理命令）とともに送出する〔図８（ｂ）参照〕。
【０１０２】
これにより、ＳＩＭＤプロセッサ５０では、ＳＩＭＤ制御部１６３からＳＩＭＤ命令（１．３倍への拡大処理命令）とブロック分割画像データの入力を受けたＤＰ１、ＤＰ２、ＤＰ３が、それぞれ、ＳＩＭＤ命令に基づき該入力されたブロック分割画像データをそれぞれ１．３倍に拡大処理し〔図８（ｃ）参照〕、それぞれの拡大処理データとして出力する。
【０１０３】
更に、ＳＩＭＤ制御部１６３は、上記ＳＩＭＤ命令に基づく各ＤＰ１、ＤＰ２、ＤＰ３によるブロック分割画像データ（拡大処理されたデータ）を合成して上記入力画像データ（処理対象の画像データ）の上記要求倍率での拡大画像データ（主走査方向画素数＝１９５）を生成する〔図８（ｄ）参照〕。
【０１０４】
生成された拡大画像データは、例えば、拡大コピーが指示されている場合には、印刷制御部１６１での制御により画像形成部１４に転送され、拡大コピーの画像形成処理へと渡される。
【０１０５】
以上の如く、本実施例では、要求倍率と実倍率との誤差（算出値）に応じて並列数選択部１６２が選択した該誤差が最小であるＤＰ並列数で入力画像データの処理を並列に実行するため、全ＤＰ数が４個の場合、４ＤＰ、３ＤＰ、２ＤＰのいずれかの並列数による並列処理が行える。
【０１０６】
これにより、例えば、４ＤＰで拡大処理する場合、元の画像サイズが４の倍数であり、かつ、４の倍数だけ画素が増える場合のみ、倍率誤差０（零）パーセントで拡大が可能である。
【０１０７】
また、４ＤＰの内、任意の数のＤＰだけ使用可能であることから、元の画像サイズが３の倍数であり、かつ、３の倍数だけ画素が増える場合と、元の画像サイズが２の倍数であり、かつ、２の倍数だけ画素が増える場合には、それぞれ、３ＤＰ、２ＤＰを選択することにより、いずれも倍率誤差０（零）パーセントでの拡大が可能となる。
【０１０８】
なお、図８（及び図４）においては、簡単のために、入力画像の主走査方向への拡大を念頭に説明しているが、実際の処理では、副走査方向へも要求倍率での拡大処理が行なわれるものである。
【０１０９】
また、図８（及び図４）では、入力画像をＤＰ並列数の制御に基づいて拡大処理する場合について述べたが、本実施例は、入力画像を要求倍率で縮小する場合についても本ＤＰ並列数制御が適用できる。
【０１１０】
この場合の構成は、並列数選択部１６２に、処理対象の画像情報（画像データ）と画像の拡大・縮小倍率の要求値である要求倍率を含む画像拡縮指示に基づき、ＳＩＭＤプロセッサ５０のＤＰを異なる並列数にして画像情報を並列演算処理させる場合の並列数別の要求倍率と実倍率との倍率誤差を算出して、倍率誤差が最も小さい並列数を選択する機能を持たせ、ＳＩＭＤ制御部１６３に、処理対象の画像情報を並列数選択部１６２により選択された並列数の数に分割して該並列数の数のＤＰに要求倍率での拡縮命令とともに与え、該拡縮命令に基づく各ＤＰによる拡大・縮小処理画像データを合成して処理対象画像データの拡大・縮小画像データを生成させる機能を持たせることで実現できる。
【０１１１】
この他、本発明は、上記し、且つ図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【０１１２】
例えば、上記実施例では、原稿から画像を読取って拡大、または縮小コピーする場合の画像処理について例示したが、生成したり、他装置から受取る等により保持している画像情報を選択し、要求倍率を指定して当該画像情報を拡大、縮小する画像処理にも適用できる。
【０１１３】
また、上記実施例では、コンピュータにより構成され、各演算処理器（プロセッサ）のそれぞれが与えられた各画像情報を並列に演算処理する演算処理手段（ＳＩＭＤプロセッサ）を備える画像処理装置１０に画像処理プログラムを実装し、コンピュータを、並列数選択手段（並列数選択部１６２）、演算処理制御手段（ＳＩＭＤ制御部１６３）等として機能させるようにしているが、当該画像処理プログラムをＣＤＲＯＭ等の記憶媒体に格納して提供するようにしても良い。
【産業上の利用可能性】
【０１１４】
本発明は、要求倍率と実倍率との倍率誤差を最小にするプロセッサ並列数を選択して画像の拡大・縮小処理を行う複合機等の画像処理装置、及び該画像処理装置に実装する画像処理プログラムに適用できる。
【符号の説明】
【０１１５】
１０…画像処理装置、１１…読取部、１２…画像処理部、５０…ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサ、ＤＰ１，ＤＰ２，ＤＰ３，ＤＰ４…データプロセッサ（ＤＰ）、１３…記憶部、１４…画像形成部、１５…表示／操作部、１６…制御部、１６１…印刷制御部、１６２…並列数選択部、１６３…ＳＩＭＤ制御部、１７…通信インタフェース（Ｉ／Ｆ）部
【図１】
0005477769.tif 000002
【図２】
0005477769.tif 000003
【図３】
0005477769.tif 000004
【図４】
0005477769.tif 000005
【図５】
0005477769.tif 000006
【図６】
0005477769.tif 000007
【図７】
0005477769.tif 000008
【図８】
0005477769.tif 000009