JP5477769B2 - 画像処理装置、及び画像処理プログラム - Google Patents

画像処理装置、及び画像処理プログラム Download PDF

Info

Publication number
JP5477769B2
JP5477769B2 JP2009292648A JP2009292648A JP5477769B2 JP 5477769 B2 JP5477769 B2 JP 5477769B2 JP 2009292648 A JP2009292648 A JP 2009292648A JP 2009292648 A JP2009292648 A JP 2009292648A JP 5477769 B2 JP5477769 B2 JP 5477769B2
Authority
JP
Japan
Prior art keywords
parallel
magnification
image
processing
image information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009292648A
Other languages
English (en)
Other versions
JP2011135302A (ja
Inventor
聖二 白木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2009292648A priority Critical patent/JP5477769B2/ja
Publication of JP2011135302A publication Critical patent/JP2011135302A/ja
Application granted granted Critical
Publication of JP5477769B2 publication Critical patent/JP5477769B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理装置、及び画像処理プログラムに関する。
ディジタル画像を処理する画像処理装置において、大量の画像を高速に拡大、縮小する際に画像をブロックに分割し、並列処理する方法が種々提案されている。
この種の並列処理の例として、下記特許文献1には、並列拡大、縮小において、入出力のシリアル・パラレル変換で、エレメント毎の演算内容に応じた並びで格納、あるいは出力する技術が開示されている。
また、下記特許文献2には、SIMDプロセッサの前に補間処理部を設け、参照画素を含む画像情報を参照して、拡大画像を構成する技術が開示されている。
また、下記特許文献3には、主を変倍し、副を変倍するときは一つ前のブロックの主方向変倍結果を利用して変倍するブロック単位での変倍処理方法(ブロック拡大、縮小でのメモリの使い方)が開示されている。
特許文献1及び2のいずれの方法においても、任意の倍率で拡大、縮小処理するための専用のハードウェアが必要となり、高価とならざるを得なかった。
一方、SIMD(Single Instruction Multiple Data)プロセッサで画像を拡大、縮小処理する方法では、入力画素数、要求倍率及びプロセッサの並列数の組合せによって倍率誤差が異なってくる。
例えば、100画素の画像を101パーセント拡大する場合は、1画素の増加が望ましいが、4つのDP(Data Processer)を用いて並列処理した場合は104画素の拡大画像が得られ、4画素増えてしまう。
そして、この場合の要求倍率と実際の処理によって得られる倍率(実倍率)との誤差は、104(パーセント)−101(パーセント)=3(パーセント)にもなる。
上述した倍率誤差を低減するためにはプロセッサの並列数を減らす方向もあるが、並列数を減らした場合には、1DP当たりの処理画素数が増え、処理時間が増加してしまう。
通常、拡大コピー機能を有する複合機等、リアルタイム処理が不可欠なシステム構成の場合、画像の拡大にかけられる処理時間の上限が決まっており、このため、倍率誤差と処理時間のトレードオフにより最適な処理方法を決定することが望まれる。
特開平09−212637号公報 特開2002−247347号公報 実開2007−110419号公報
本発明は、要求倍率と実倍率との倍率誤差に応じてプロセッサ並列数を任意に選択し、少ない倍率誤差での画像の拡大、縮小処理を実現可能な画像処理装置、及び画像処理プログラムを提供することを目的とする。
上記目的を達成するために、請求項1記載の画像処理装置の発明は、複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段とを具備する。
請求項2記載の発明は、上記請求項1記載の発明において、前記処理対象の画像情報の前記演算処理手段による前記各演算処理器の並列数別の処理時間を算出する算出手段を有し、前記並列数選択手段は、前記算出手段により算出される、前記並列数選択手段により選択された前記並列数に対応する前記処理対象画像情報の処理時間が該並列数に対応して予め設定されている閾値以下である場合に当該並列数を選択する。
請求項3記載の発明は、上記請求項1または2記載の発明において、前記並列数選択手段は、前記処理対象の画像情報の画像幅A、及び該画像幅Aと前記要求倍率Mに基づく出力画像情報の画像幅B(B=A×M)を、それぞれ、前記各演算処理器の並列数P〔Pは“2”以上N(前記演算処理器の総数)までの各整数値〕の倍数に切上げて算出した画像幅A´、及びB´に基づいて前記実倍率M´(M´=B´/A´)を求め、該実倍率M´と前記要求倍率Mとの差(M´−M)を前記倍率誤差として算出する。
請求項4記載の画像処理装置の発明は、複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、処理対象の画像情報と画像の拡大・縮小倍率の要求値である要求倍率を含む画像拡縮指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡縮命令とともに与え、前記拡縮命令に基づく前記各演算処理器による前記分割画像情報の拡大・縮小処理結果を合成して前記処理対象画像情報の拡大・縮小画像情報を生成させる演算処理制御を行う演算処理制御手段とを具備する。
請求項5記載の画像処理プログラムの発明は、コンピュータにより構成され、複数の演算処理器のそれぞれが与えられた各画像情報を並列に演算処理する演算処理手段を備える画像処理装置に実装し、前記コンピュータを、処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段、前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段として機能させる。
請求項1記載の画像処理装置の発明によれば、汎用のSIMDプロセッサを用い、要求倍率と実倍率との倍率誤差を最小にするプロセッサ並列数を選択して倍率誤差の少ない画像拡大処理を実現できる。
請求項2記載の発明によれば、上記請求項1記載の発明において、リアルタイム性を損なうことなく、倍率誤差の少ない画像拡大処理が行える。
請求項3記載の発明によれば、上記請求項1または2記載の発明において、プロセッサの並列数別の倍率誤差を正確に算出できる。
請求項4記載の画像処理装置の発明によれば、汎用のSIMDプロセッサを用い、要求倍率と実倍率との倍率誤差を最小にするプロセッサ並列数を選択して倍率誤差の少ない画像拡大、または縮小処理を実現できる。
請求項5記載の画像処理プログラムの発明によれば、複合機等の装置に実装し、倍率誤差を最小にするプロセッサ並列数を選択して少ない倍率誤差で拡大コピー等の処理を実行させることができる。
実施例に係わる画像処理装置の機能構成を示すブロック図。 画像処理装置の制御部及び画像処理部の詳細機能構成を示すブロック図。 実施例に係る画像処理装置の画像処理動作を示すフローチャート。 図3のS106でのDP4並列選択画像拡大処理イメージを示す図。 図3のS105での並列数選択処理の詳細フローチャート。 図5のS205乃至S207での倍率誤差算出処理の詳細フローチャート。 本実施例の画像拡大処理に係わる入力画像、要求倍率及び出力画像の例を示す図。 図7に例示した出力画像を得るDP3並列選択画像拡大処理イメージを示す図。
本発明の実施形態では、複数の演算処理器〔以下の実施例に示す各データプロセッサ(DP)〕を有し、各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段(同、SIMDプロセッサ50)を備える画像処理装置が、処理対象の画像情報と画像の拡大、または縮小(以下、拡縮)倍率の要求値である要求倍率を含む画像拡縮指示を受付けることにより、並列数選択手段(同、並列数選択部162)は、演算処理手段の演算処理器を異なる並列数にして画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、倍率誤差が最も小さい並列数を選択する。
そして、演算処理制御手段(同、SIMD制御部163)では、処理対象の画像情報を並列数選択手段により選択された並列数の数に分割して該並列数の数の演算処理器に要求倍率での拡縮命令とともに与え、該拡縮命令に基づく各演算処理器による分割画像情報の拡大・縮小処理結果を合成して処理対象画像情報の拡大・縮小画像情報を生成させる演算処理の制御を行う。
以下、本実施形態について実施例を挙げて詳しく説明する。
図1は、本実施例に係わる画像処理装置10の機能構成を示すブロック図である。
この画像処理装置10は、例えば、原稿読取(スキャン)、複写(コピー)、印刷(プリント)、FAX(ファクシミリ通信)等の複数の機能を有する複合機であり、原稿(紙文書)の画像を読取走査(スキャン)し、電気的な画像信号(画像データ)に変換する読取部11、読取部11により原稿をスキャンして得られた読取画像データ(スキャンデータ)や、クライアント端末(不図示)から送られてくる印刷ジョブから印刷データを生成するための画像処理を行う画像処理部12、スキャンデータや動作プログラム等の各種情報を記憶する記憶部13、画像処理部12により生成された印刷データに基づき電子写真プロセスを実行して記録媒体(記録用紙)に該印刷データに対応する画像を形成する画像形成部14、タッチパネル機能を有する大型ビットマップディスプレイ等から成る表示/操作部15、スキャン、コピー、プリント及びFAX等の各機能に係わる該当各部の動作制御等、装置全体の制御を行なう制御部16、クライアント端末(PC:パーソナル・コンピュータ)等の装置と通信ネットワーク(NW)を介して通信する際の通信インタフェースを司る通信インタフェース(I/F)部17を具備して構成される。
上述した複合機能のうち、例えば、コピー機能を実現するために、表示/操作部15には、コピーモードを選択するボタン、原稿を拡大あるいは縮小コピーする場合の希望の倍率(画像の拡大倍率の要求値:要求倍率)を設定する設定ボタン、コピー開始ボタン等の操作機構が備わる。
これにより、ユーザが、読取部11の原稿読取位置に原稿をセットし、表示/操作部15の上記設定ボタンで要求倍率を設定(入力)してコピー開始ボタンを押下する操作を行うと、制御部16に設けられる印刷制御部161が、読取部11により原稿の画像をスキャンさせ、該原稿のスキャン画像データを画像処理部12で要求倍率のサイズまで拡大あるいは縮小処理し、該拡縮画像データに基づいて画像形成部14で上記原稿の拡大画像を用紙上に形成してコピー結果として出力するコピー動作制御を実施する。
上述したコピー等の画像処理に際し、画像データの実時間(リアルタイム)での拡縮処理を実現するために、画像処理部12にはSIMDプロセッサ50が備わる。
SIMDプロセッサ50は、複数のDPを有し、処理対象の画像データ(スキャン画像データ)のブロック毎に分割された画像データが各DPに対して1つの処理命令とともに与えられることで、1つの処理命令で複数のデータ(スキャン画像データの各ブロックの画像データ)を並列に処理する演算処理器である。
制御部16には、印刷制御部161の他、本実施例特有のDP並列数選択制御機能を実現する並列数選択部162、及びSIMD制御部163が設けられる。
並列数選択部162は、表示/操作部15でのユーザ操作により、処理対象の画像データと、画像の拡大・縮小(拡縮)に関する要求倍率が指定された画像の拡縮指示(この例では、原稿の拡縮複写指示)を受付けることにより、SIMDプロセッサ50の各プロセッサを異なる並列数で組合せて当該画像データを並列処理する場合の上記要求倍率と実倍率(計算により求める)の倍率誤差を各並列数別に算出するとともに、該倍率誤差が最も小さい並列数を選択する。
SIMD制御部163は、表示/操作部15によりユーザから上記拡縮指示を受付けた処理対象の画像(原稿スキャン画像データ)を並列数選択部162により選択された並列数のブロックに分割し、それぞれを、並列数に相当する数のDPに与えて各DP毎に上記要求倍率で拡縮処理させ、該各PD毎に拡縮処理された画像データを上記処理対象画像データの上記要求倍率による拡縮画像データとして合成し、出力する演算処理制御を行う。
図2は、本実施例に係る画像処理装置10の制御部16及び画像処理部12の詳細機能構成を示すブロック図である。
図2に示すように、本実施例の画像処理装置10において、画像処理部12に設けられるSIMDプロセッサ50は、例えば、DP1、DP2、DP3及びDP4という4つのDPを備えて構成される。
制御部16において、並列数選択部162は、SIMDプロセッサ50を構成する4つのDP1、DP2、DP3及びDP4を対象に、例えば、DP1とDP2により並列処理するパターン(2並列)、DP1とDP2とDP3により並列処理するパターン(3並列)、及びDP1とDP2とDP3とDP4により並列処理するパターン(4並列)の各パターン毎に、処理対象の画像データを並列処理させた場合の要求倍率と実倍率(計算により求める)の倍率誤差を算出する倍率誤差算出処理機能と、該倍率誤差算出処理機能により算出された倍率誤差の中で最も倍率誤差の値が小さいパターン(並列数)を選択する選択機能を備えて構成される。
上記倍率誤差算出処理機能においては、後述するように、例えば、処理対象の画像データの画像幅A、及び該画像幅Aと要求倍率Mに基づく出力画像の画像幅B(B=A×M)を、それぞれ、各DPの並列数P〔Pは“2”以上N(DPの総数)までの各整数値〕の倍数に切上げて算出した画像幅A´、及びB´に基づいて実倍率M´(M´=B´/A´)を求め、該実倍率M´と要求倍率Mとの差(M´−M)を倍率誤差として算出することができる。
また、上記選択機能においては、倍率誤差算出処理機能により算出された要求倍率と実倍率倍率との誤差(M´−M)の最も小さい並列数を選択する処理の他、該算出された誤差(M´−M)に、SIMDプロセッサ50による画像データのリアルタイム処理を維持するために許容し得る処理時間(制限時間:上限値)を更に加味して並列数を選択する処理機能を持たせても良い。
具体的には、処理対象の入力画像データのSIMDプロセッサ50の各DP1、DP2、DP3、DP4による並列数別の処理時間を算出する算出機能を設け、選択機能が、上記倍率誤差が最も小さくなるDPの並列数をまず選択した後、上記算出機能により算出される、選択機能により選択された並列数に対応する入力画像の処理時間が該並列数に対応して予め設定されている閾値以下である場合に当該並列数を選択する構成が考えられる。
図3は、本実施例に係る画像処理装置10の画像処理動作を示すフローチャートである。
図3のフローチャートに基づき、画像処理動作の一例として、拡大、または縮小コピーを行う場合の画像処理について説明する。
図3に示すように、画像処理装置10では、待機中、複写(コピー)開始操作が行なわれたか否かを監視している(ステップS101)。
この状態で、読取部11への原稿のセット後、表示/操作部15で要求倍率を設定(入力)し、コピー開始ボタンを押下するコピー開始操作が行われると、該操作での入力情報が印刷制御部161、及び並列数選択部162に取り込まれ、コピー開始操作が行なわれたことが検知される(ステップS101YES)。
これにより、並列数選択部162は、上記コピー開始操作による入力情報中から要求倍率を取得し、保持する(ステップSS102)。
他方、印刷制御部161は、読取部11を駆動してセット原稿の画像をスキャンさせ(ステップS103)、該原稿のスキャン画像データを画像処理部12の図示しない記憶領域に記憶させたうえで(ステップS104)、並列数選択部162に対して並列数選択処理の起動を指示する。
上記起動指示を受取った並列数選択部162では、上記ステップS104で記憶されたスキャン画像データ(処理対象の画像データ)の画像幅を検出するとともに、上記ステップS102で保持した要求倍率を読出し、これら入力画像の画像幅と要求倍率に基づいて、DPの並列数を2並列、3並列、4並列と異ならせてスキャン画像データをブロック分割により並列処理させた場合の要求倍率と実倍率との倍率誤差を各並列数別に算出したうえで、該算出値(要求倍率と実倍率の誤差)が最も小さい値の並列数を選択する(ステップS105)。
次いで、SIMD制御部163は、画像処理部12の上記記憶領域から処理対象のスキャン画像データを読み出し、該読み出したスキャン画像データを並列数選択部162により選択された並列数の数分のDPにより並列処理させることにより、拡大、または縮小画像データを生成させる画像拡大、または縮小処理を行う(ステップS106)。
具体的には、上記記憶領域から読み出したスキャン画像データを並列数選択部162により選択された並列数分のブロックに分割し、該各ブロックの画像データを該選択された並列数に対応する各DPに対してそれぞれ入力し、これに合せて全DPに対して1つの処理命令(上記要求倍率まで拡大、または縮小する旨の処理命令)を与えることにより、各DPで入力された各ブロックの画像データをそれぞれ上記要求倍率で拡大、または縮小処理し、該各ブロックの画像データの拡縮処理結果を合成して上記処理対象の画像データ(スキャン画像データ)の拡縮画像データを生成する。
上記ステップS106での画像の拡大、または縮小処理の完了後、印刷制御部161では、該処理により生成された拡大、または縮小画像データを画像形成部14に送り、該画像データに基づき前記原稿の拡大、または縮小コピーに相当する画像を印刷出力させる(ステップS107)。
図4は、図3のステップS106におけるSIMDプロセッサ50による入力画像データ(処理対象の画像データ)の並列処理イメージを示す図である。
図4では、特に、図3のステップS105で並列数選択部162が並列数“4”を選択した時に相当するDP4並列選択画像拡大処理イメージを示している。
この場合、SIMD制御部163は、処理対象である、例えば、4Nのサイズの入力画像データを取込み〔図4(a)〕、次いで、並列数選択部162により選択された並列数“4”に基づいて該入力画像を4分割してNサイズずつの当該分割画像データをそれぞれDP1、DP2、DP3、DP4に割振って入力させる〔図4(b)〕。
次に、各DP1、DP2、DP3、DP4では、それぞれ、割振り入力されたNサイズの分割画像データを要求倍率に従がって(N+M)サイズまで拡大処理させ〔図4(c)〕させる。
更に、SIMD制御部163は、各DP1、DP2、DP3、DP4から出力されるそれぞれ(N+M)サイズの分割拡大処理画像データをシリアルに合成して入力画像が要求倍率で拡大処理された(4N+4M)サイズの拡大画像データを生成し〔図4(d)〕、処理結果として出力する。
図4では、SIMDプロセッサ50で4並列を選択して並列処理する例を挙げたが、本実施例に係る画像処理装置10では、並列数選択部162が、要求倍率と演算により求めた実倍率との誤差に応じて該誤差が最小である並列数を選択し(図3のステップS105参照)、該選択した並列数分の数のDPを用いて入力画像データの拡縮処理を並列に実行する(同、ステップS106参照)ものであって、上述した4並列に限らず、3並列、あるいは2並列での並列処理も実現可能である。
次に、本実施例に係わる画像処理装置10での画像拡縮処理における並列数選択処理について更に詳細に説明する。
図5は、図3のステップS105におけるDP並列数選択処理の詳細動作を示すフローチャートである。
尚、図5においては、特に、要求倍率と実倍率との誤差(M´−M)に、SIMDプロセッサ50によるリアルタイム処理維持のために許容し得る処理時間(制限時間:上限値)を更に加味して並列数を選択する例を挙げている。
図5における並列数選択制御を実現するために、並列数選択部162は、SIMDプロセッサ50の各DP1、DP2、DP3、DP4の処理能力を把握している。
また、画像をリアルタイムに処理する画像処理装置10において、並列数選択部162は、上記リアルタイム処理を可能にするSIMDプロセッサ50の各並列数(1列を含む)別の処理時間(上限値)をそれぞれの閾値として保持している。
そして、ユーザからの画像拡縮指令を受けて処理対象の画像データが入力されると、該入力画像データの種別及びデータ量と上記各DP毎の処理能力とから該入力画像データを2並列、3並列及び4並列の各並列数で処理可能な時間を各並列数別に算出し、要求倍率と実倍率との誤差が最小の並列数が選択された後、該並列数での入力画像データの処理時間(算出値)が該並列数に対応して設定されている処理時間(閾値)以下である場合は当該並列数をそのまま選択するように制御する。
かかる機能構成を有する並列数選択部162は、図3のステップS105での並列数選択処理が開始されると、図5に示す如く、まず、処理対象の入力画像データを4並列で処理した場合の時間が閾値以下かどうかをチェックする(ステップS201)。
ここで、4並列での処理時間が閾値以下でない場合(ステップS201NO)、エラーとして処理する(ステップS202)。
これに対し、4並列での処理時間が閾値以下である場合(ステップS201YES)、1列での処理時間が閾値以下かどうかをチェックする(ステップS203)。
ここで、1列での処理時間が閾値以下であれば(ステップS203YES)、並列ではなく“1”列で対応すると決定し、1列処理の準備を整える(ステップS204)。
これに対して、1列での処理時間が閾値以下でない場合(ステップS203NO)、並列数を“4”(4並列),“3” (3並列),“2” (2並列)とした時の該各並列数別の倍率誤差ER4,ER3,ER2をそれぞれ算出する(ステップS205、S206、S207)。
なお、このステップS205、S206、S207における倍率誤差の算出処理については、後で図6を参照して詳述する。
上記ステップS205、S206、S207で倍率誤差ER4,ER3,ER2をそれぞれ算出し終えると、次いで、並列数選択部162は、該算出済みの倍率誤差ER4,ER3,ER2間の大小判定を実施する。
まず、ER4≦ER3≦ER2、またはER4≦ER2≦ER3であるかどうかをチェックし(ステップS208)、ER4≦ER3≦ER2、またはER4≦ER2≦ER3であれば(ステップS208YES)、並列数を“4”に決定する(ステップS209)。
これに対し、ER4≦ER3≦ER2、またはER4≦ER2≦ER3でなければ(ステップS208NO)、次にER3≦ER4≦ER2、またはER3≦ER2≦ER4であるかどうかをチェックする(ステップS210)。
ここで、ER3≦ER4≦ER2、またはER3≦ER2≦ER4であれば(ステップS210YES)、3並列での処理時間が閾値以下であるか否かをチェックする(ステップS211)。
そして、3並列での処理時間が閾値以下である場合には(ステップS211YES)、並列数を“3”に決定し(ステップS213)、他方、3並列での処理時間が閾値以下でない場合には(ステップS211NO)、並列数を“4”に決定する(ステップS212)。
また、上記ステップS210において、ER3≦ER4≦ER2、またはER3≦ER2≦ER4でない場合(ステップS210NO)、2並列での処理時間が閾値以下であるか否かをチェックする(ステップS214)。
ここで、2並列での処理時間が閾値以下であれば(ステップS214YES)、並列数を“2”に決定する(ステップS215)。
一方、2並列での処理時間が閾値以下でない場合(ステップS214NO)、更に、3並列での処理時間が閾値以下であるか否かをチェックする(ステップS216)。
ここで、3並列での処理時間が閾値以下である場合には(ステップS216YES)、並列数を“3”に決定し(ステップS217)、他方、3並列での処理時間が閾値以下でない場合には(ステップS216NO)、並列数を“4”に決定する(ステップS218)、次処理(図3のステップS106)へ移行する。
次に、図6に示すフローチャートを参照して、図5のステップS205乃至S207における倍率誤差算出処理について詳細に説明する。
図6に示すように、画像処理装置10では、図5のステップS203にて1列の処理時間が閾値以下でないと判定されると(ステップS203NO)、当該倍率誤差算出処理に移行し、まず、チェック対象の並列数を初期値“1”に“1”を加算して“2”とし(ステップS301)、次に、該並列数“2”が全並列数“4”より大きい値かどうかをチェックする(ステップS302)。
ここで、チェック対象の並列数“2”が全並列数“4”より大きい値でないと判定されると(ステップS302NO)、当該並列数“2”に場合における倍率誤差を算出処理に移行する。
並列数“2”に場合における倍率誤差の算出処理においては、入力画素幅AをP(並列数“2”)の倍数に切上げる処理を行う(ステップS303)。
具体的には、
A´=INT〔(A+P−1)/P〕×P
なる式によりA´を算出する。
なお、INT関数〔INT()〕は、整数以下を切り捨てる処理関数である。
従がって、上記式「A´=INT〔(A+P−1)/P〕×P」での計算により、Pの倍数に切上げられた画素幅A´を求めることができる(以下の“B´”の算出においても同様)。
次に、要求倍率Mから出力希望幅Bを下式により算出する(ステップS304)。
B=A×M
次いで、出力画素幅Bを並列数P(=2)の倍数に切上げる処理を行う(ステップS305)。
具体的には、
B´=INT〔(B+P−1)/P〕×P
なる式によりB´を算出する。
次いで、実倍数M´を下式により求める(ステップS306)。
M´=B´/A´
更に、上記ステップS306で演算より求めた実倍率M´とユーザが入力した要求倍率Mとから、下式により、並列数P(=2)での倍率誤差ER2=(M´−M)を算出する(ステップS307)。
倍率誤差ERp=M´−M (pはDPの並列数)
引き続き、ステップS301に進んでチェック対象の並列数を更に“1”を加算して“3”とし(ステップS301)、次いで、該並列数“3”が全並列数“4”より大きい値でないことが判明すると(ステップS302NO)、上述した並列数“2”の場合における倍率誤差を算出処理と同様にして当該並列数“3”の場合における倍率誤差ER3を算出する(ステップS303〜S307)。
以後、同様に、ステップS301に進んでチェック対象の並列数を更に“1”を加算して“4”とし(ステップS301)、次いで、該並列数“4”が全並列数“4”より大きい値でないことが判明すると(ステップS302NO)、上述した並列数“2”,“3”の場合における倍率誤差を算出処理と同様にして当該並列数“4”の場合における倍率誤差ER4を算出する(ステップS303〜S307)。
その後、ステップS301に進んでチェック対象の並列数を更に“1”を加算して“5”とし(ステップS301)、次いで、該並列数“5”が全並列数“4”より大きい値であると判定された場合(ステップS302YES)、それまでに算出した倍率誤差ER2,ER3,ER4に基づく次処理(図5のステップS208以降の処理)へと移行する。
次に、本実施例のDP並列数選択制御による画像拡大処理の具体例について図7及び図8を参照して説明する。
ここでは、簡単のため、図7に具体値を例示するように、画素数が150の画像幅の画像を取り込み、該取り込んだ画像(入力画像)を要求倍率である1.3倍に拡大(130パーセントに拡大)した画素数が195画素幅の出力画像を得る場合を想定して説明する。
この場合、図5のステップS205〜S207での倍率誤差算出処理(図6参照)が実施され、以下の各値を有する倍率誤差ER2、ER3、ER4が算出される。
すなわち、ER2については、
A´=INT〔(150+2−1)/2〕×2=75×2=150
B=150×1.3=195
B´=INT(195+2−1)/2〕×2=98×2=196
M´=196/150
が算出され、これにより、
倍率誤差ER2=(196/150)−1.3
が算出される。
ER3については、
A´=INT〔(150+3−1)/3〕×3=50×3=150
B=150×1.3=195
B´=INT(195+3−1)/3〕×3=65×3=195
M´=195/150
が算出され、これにより、
倍率誤差ER3=(195/150)−1.3=0(零)
が算出される。
ER4については、
A´=INT〔(150+4−1)/4〕×4=38×4=152
B=150×1.3=195
B´=INT(195+4−1)/4〕×4=49×4=196
M´=196/152
が算出され、これにより、
倍率誤差Er4=(196/152)−1.3
が算出される。
上述した算出結果から、倍率誤差ER3<ER2<ER4の関係であることが判定され(図5のステップS210YES)、該判定結果に基づき、図5のステップS211において3並列での処理時間が閾値以下である場合に(ステップS211YES)、図7に示す入力画像を処理する並列数Pが“3”(3並列)と決定される。
図8は、図7に例示した具体値での画像拡大処理を実現するSIMDプロセッサ50のDP3並列選択画像処理イメージを示す図である。
上述した如く、並列数が“3”と決定されると、SIMD制御部163は、図3のステップS106において、SIMDプロセッサ50中、並列数“3”の数分のプロセッサ、例えば、DP1、DP2、DP3を選定〔図8(a)参照〕したうえで、処理対象の入力画像データ(主走査方向画素数=195)を3のブロックに3分割して50画素ずつにし、該3分割した50画素ずつのブロック分割画像データを、選定したDP1、DP2、DP3のそれぞれ該当するDPに対してSIMD命令(1.3倍に拡大する画像処理命令)とともに送出する〔図8(b)参照〕。
これにより、SIMDプロセッサ50では、SIMD制御部163からSIMD命令(1.3倍への拡大処理命令)とブロック分割画像データの入力を受けたDP1、DP2、DP3が、それぞれ、SIMD命令に基づき該入力されたブロック分割画像データをそれぞれ1.3倍に拡大処理し〔図8(c)参照〕、それぞれの拡大処理データとして出力する。
更に、SIMD制御部163は、上記SIMD命令に基づく各DP1、DP2、DP3によるブロック分割画像データ(拡大処理されたデータ)を合成して上記入力画像データ(処理対象の画像データ)の上記要求倍率での拡大画像データ(主走査方向画素数=195)を生成する〔図8(d)参照〕。
生成された拡大画像データは、例えば、拡大コピーが指示されている場合には、印刷制御部161での制御により画像形成部14に転送され、拡大コピーの画像形成処理へと渡される。
以上の如く、本実施例では、要求倍率と実倍率との誤差(算出値)に応じて並列数選択部162が選択した該誤差が最小であるDP並列数で入力画像データの処理を並列に実行するため、全DP数が4個の場合、4DP、3DP、2DPのいずれかの並列数による並列処理が行える。
これにより、例えば、4DPで拡大処理する場合、元の画像サイズが4の倍数であり、かつ、4の倍数だけ画素が増える場合のみ、倍率誤差0(零)パーセントで拡大が可能である。
また、4DPの内、任意の数のDPだけ使用可能であることから、元の画像サイズが3の倍数であり、かつ、3の倍数だけ画素が増える場合と、元の画像サイズが2の倍数であり、かつ、2の倍数だけ画素が増える場合には、それぞれ、3DP、2DPを選択することにより、いずれも倍率誤差0(零)パーセントでの拡大が可能となる。
なお、図8(及び図4)においては、簡単のために、入力画像の主走査方向への拡大を念頭に説明しているが、実際の処理では、副走査方向へも要求倍率での拡大処理が行なわれるものである。
また、図8(及び図4)では、入力画像をDP並列数の制御に基づいて拡大処理する場合について述べたが、本実施例は、入力画像を要求倍率で縮小する場合についても本DP並列数制御が適用できる。
この場合の構成は、並列数選択部162に、処理対象の画像情報(画像データ)と画像の拡大・縮小倍率の要求値である要求倍率を含む画像拡縮指示に基づき、SIMDプロセッサ50のDPを異なる並列数にして画像情報を並列演算処理させる場合の並列数別の要求倍率と実倍率との倍率誤差を算出して、倍率誤差が最も小さい並列数を選択する機能を持たせ、SIMD制御部163に、処理対象の画像情報を並列数選択部162により選択された並列数の数に分割して該並列数の数のDPに要求倍率での拡縮命令とともに与え、該拡縮命令に基づく各DPによる拡大・縮小処理画像データを合成して処理対象画像データの拡大・縮小画像データを生成させる機能を持たせることで実現できる。
この他、本発明は、上記し、且つ図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
例えば、上記実施例では、原稿から画像を読取って拡大、または縮小コピーする場合の画像処理について例示したが、生成したり、他装置から受取る等により保持している画像情報を選択し、要求倍率を指定して当該画像情報を拡大、縮小する画像処理にも適用できる。
また、上記実施例では、コンピュータにより構成され、各演算処理器(プロセッサ)のそれぞれが与えられた各画像情報を並列に演算処理する演算処理手段(SIMDプロセッサ)を備える画像処理装置10に画像処理プログラムを実装し、コンピュータを、並列数選択手段(並列数選択部162)、演算処理制御手段(SIMD制御部163)等として機能させるようにしているが、当該画像処理プログラムをCDROM等の記憶媒体に格納して提供するようにしても良い。
本発明は、要求倍率と実倍率との倍率誤差を最小にするプロセッサ並列数を選択して画像の拡大・縮小処理を行う複合機等の画像処理装置、及び該画像処理装置に実装する画像処理プログラムに適用できる。
10…画像処理装置、11…読取部、12…画像処理部、50…SIMD(Single Instruction Multiple Data)プロセッサ、DP1,DP2,DP3,DP4…データプロセッサ(DP)、13…記憶部、14…画像形成部、15…表示/操作部、16…制御部、161…印刷制御部、162…並列数選択部、163…SIMD制御部、17…通信インタフェース(I/F)部

Claims (5)

  1. 複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、
    処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、
    前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段と
    を具備する画像処理装置。
  2. 前記処理対象の画像情報の前記演算処理手段による前記各演算処理器の並列数別の処理時間を算出する算出手段
    を有し、
    前記並列数選択手段は、
    前記算出手段により算出される、前記並列数選択手段により選択された前記並列数に対応する前記処理対象画像情報の処理時間が該並列数に対応して予め設定されている閾値以下である場合に当該並列数を選択する
    請求項1記載の画像処理装置。
  3. 前記並列数選択手段は、
    前記処理対象の画像情報の画像幅A、及び該画像幅Aと前記要求倍率Mに基づく出力画像情報の画像幅B(B=A×M)を、それぞれ、前記各演算処理器の並列数P〔Pは"2"以上N(前記演算処理器の総数)までの各整数値〕の倍数に切上げて算出した画像幅A´、及びB´に基づいて前記実倍率M´(M´=B´/A´)を求め、該実倍率M´と前記要求倍率Mとの差(M´−M)を前記倍率誤差として算出する
    請求項1または2記載の画像処理装置。
  4. 複数の演算処理器を有し、前記各演算処理器が、それぞれに画像情報を与えられて該各画像情報を並列に演算処理する演算処理手段と、
    処理対象の画像情報と画像の拡大、または縮小倍率の要求値である要求倍率を含む画像拡縮指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段と、
    前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡縮命令とともに与え、前記拡縮命令に基づく前記各演算処理器による前記分割画像情報の拡大、または縮小処理結果を合成して前記処理対象画像情報の拡大、または縮小画像情報を生成させる演算処理制御を行う演算処理制御手段と
    を具備する画像処理装置。
  5. コンピュータにより構成され、複数の演算処理器のそれぞれが与えられた各画像情報を並列に演算処理する演算処理手段を備える画像処理装置に実装し、
    前記コンピュータを、
    処理対象の画像情報と画像の拡大倍率の要求値である要求倍率を含む画像拡大指示に基づき、前記演算処理手段の前記演算処理器を異なる並列数にして前記画像情報を並列演算処理させる場合の並列数別の前記要求倍率と実倍率との倍率誤差を算出し、前記倍率誤差が最も小さい並列数を選択する並列数選択手段、
    前記処理対象の画像情報を前記並列数選択手段により選択された並列数の数に分割して該並列数の数の前記演算処理器に前記要求倍率での拡大命令とともに与え、前記拡大命令に基づく前記各演算処理器による前記分割画像情報の拡大処理結果を合成して前記処理対象画像情報の拡大画像情報を生成させる演算処理制御を行う演算処理制御手段
    として機能させる画像処理プログラム。

JP2009292648A 2009-12-24 2009-12-24 画像処理装置、及び画像処理プログラム Active JP5477769B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009292648A JP5477769B2 (ja) 2009-12-24 2009-12-24 画像処理装置、及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009292648A JP5477769B2 (ja) 2009-12-24 2009-12-24 画像処理装置、及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2011135302A JP2011135302A (ja) 2011-07-07
JP5477769B2 true JP5477769B2 (ja) 2014-04-23

Family

ID=44347574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009292648A Active JP5477769B2 (ja) 2009-12-24 2009-12-24 画像処理装置、及び画像処理プログラム

Country Status (1)

Country Link
JP (1) JP5477769B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101963198B1 (ko) * 2017-04-18 2019-07-31 한국과학기술원 3차원 안면 정면화 시스템 및 방법
JP7551405B2 (ja) 2020-09-01 2024-09-17 キヤノン株式会社 装置、方法、およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3932813B2 (ja) * 2001-02-22 2007-06-20 富士ゼロックス株式会社 画像処理装置
JP2005269502A (ja) * 2004-03-22 2005-09-29 Canon Inc 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
JP2011135302A (ja) 2011-07-07

Similar Documents

Publication Publication Date Title
US8861022B2 (en) Image processing apparatus with preview display function, image processing method, and image processing program
US7773810B2 (en) Image processing apparatus and computer program product
JP5534078B2 (ja) 制御装置及びプログラム
JP5963431B2 (ja) 画像形成装置及び画像表示方法、並びにプログラム
JP2007188054A (ja) 画像形成装置、プログラムおよび項目設定処理方法
US20130016366A1 (en) Image forming apparatus performing combine printing
JP5477769B2 (ja) 画像処理装置、及び画像処理プログラム
JP2001157042A (ja) 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2020017899A (ja) 画像形成装置及びその制御方法、並びにプログラム
US20140111828A1 (en) Image processing apparatus capable of synthesizing form image with aggregate image, method of controlling the same, and storage medium
US20200177734A1 (en) Image forming apparatus, display control method, and recording medium
JP4591208B2 (ja) 画像形成装置
JP4449364B2 (ja) 印刷制御装置
JP2006287609A (ja) 画像合成装置及び画像合成処理プログラム
JP5471101B2 (ja) 情報処理装置及びプログラム
JP2011061691A (ja) 画像処理装置、及び画像処理プログラム
JP2008125026A (ja) 画像処理装置、画像処理方法、画像処理プログラム
JP4784635B2 (ja) 画像処理装置、画像形成装置およびプログラム
JP5668285B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6194771B2 (ja) 画像形成装置及び画像形成方法
JP2012178041A (ja) 画像処理装置、画像処理方法および画像処理プログラム
JP2022121515A (ja) 画像形成装置、プログラム、およびプレビュー画像表示方法
JP6260144B2 (ja) 画像処理装置およびコンピュータプログラム
JP2005244899A (ja) 複写装置および集約複写方法
JP2011040892A (ja) 画像処理装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Ref document number: 5477769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140202

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350