(57)【特許請求の範囲】
【請求項１】
画像の各属性を示す属性情報と、それらの属性に応じた固有の画像処理に要する処理負荷量を夫々示す負荷量情報とを各々対応付けて記憶した負荷量記憶手段と、
画像データを入力する入力手段と、
前記入力された画像データを予め定められた大きさであるブロック画像データに分割する分割手段と、
所定の属性解析アルゴリズムに従って前記分割されたブロック画像データを解析して各々の属性を求め、求めた各属性と対応付けて前記負荷量記憶手段に記憶された負荷量情報が表す負荷量情報の総量が概ね均等になるような組み合わせで当該ブロック画像データを所定数の組にグルーピングする負荷量見積もり手段と、
画像データに画像処理を個別に施す所定数の手段であって、自身に供給された画像データにその属性に応じた固有の画像処理を施す複数の画像処理プロセッサと、
前記グルーピングしたブロック画像データの各組を前記複数の画像処理プロセッサの各々へ供給する画像データ割当手段と
を備えた画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
画像データの各属性と、それらの属性に応じた固有の画像処理の手順を夫々示す画像処理アルゴリズムとを各々対応付けて記憶したアルゴリズム記憶手段
を更に有し、
前記複数の画像処理プロセッサの各々は、
自身に供給された画像データの属性と対応付けて前記アルゴリズム記憶手段に記憶された画像処理アルゴリズムを読み出し、読み出した画像処理アルゴリズムに従って当該画像データに画像処理を施す
ことを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記負荷量見積もり手段は、
前記分割された各ブロック画像データの全ての画像処理に要する処理負荷量を求め、求めた処理負荷量に応じて当該各ブロック画像データを所定数の組にグルーピングする
ことを特徴とする画像処理装置。
【請求項４】
請求項１乃至３に記載の画像処理装置において、
前記負荷量見積もり手段、画像処理プロセッサ、及び画像データ割当手段は同時並行して処理を実行する
ことを特徴とする画像処理装置。
【請求項５】
請求項１乃至４に記載の画像処理装置において、
前記負荷量見積もり手段は、
前記分割された全ブロック画像データのうちの一部のブロック画像データを所定数の組にグルーピングし、
前記画像データ割当手段は、
前記一部のブロック画像データをグルーピングして得た所定数の各組を前記複数の画像処理プロセッサの各々へ供給する
ことを特徴とする画像処理装置。
【請求項６】
請求項１乃至５に記載の画像処理装置において、
前記画像処理プロセッサの処理能力の一部に前記負荷量見積もり手段及び画像データ割当手段としての処理を実行させる一方で、残りの処理能力に前記画像処理を行わせる
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。          
【背景技術】
【０００２】
コピーサービス、ファクシミリサービス、プリントサービス、及びスキャンサービスなどといった画像処理サービスを提供する複合機の中には、いわゆるマルチプロセッサを搭載しているものも少なくない。この種の複合機は、複数のプロセッサに加え、それらの処理を調停するスケジューラを搭載する。そして、このスケジューラは各プロセッサの稼動状態を監視して処理を均等に割り振る役割を担う（この種の技術については、特許文献１乃至３を参照）。
【特許文献１】特開２０００−３５３２３７号公報
【特許文献２】特開２００３−１５７２４３号公報
【特許文献３】特開平６−２７４６０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、複合機に搭載されたプロセッサに課される処理の１つに画像処理がある。一般に、画像データに対して施すべき画像処理の内容は、その対象となる画像データが、下地の画像を描画するものであるか、絵柄の画像を描画するものであるか、はたまた、文字の画像を描画するものであるかといったような画像自体の属性に依存して決定付けられる。よって、画像データの属性が特定されれば、その画像データに対する画像処理の際に各プロセッサに強いる処理負荷の概ね正確な予測を立てることが可能である。
本発明は、このような背景の下に案出されたものであり、画像処理の対象となる画像データの属性を好適に利用することで、複数のプロセッサの処理負荷を概ね平準化するような仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の好適な態様である画像処理装置は、画像の各属性を示す属性情報と、それらの属性に応じた固有の画像処理に要する処理負荷量を夫々示す負荷量情報とを各々対応付けて記憶した負荷量記憶手段と、画像データを入力する入力手段と、前記入力された画像データを予め定められた大きさであるブロック画像データに分割する分割手段と、所定の属性解析アルゴリズムに従って前記分割されたブロック画像データを解析して各々の属性を求め、求めた各属性と対応付けて前記負荷量記憶手段に記憶された負荷量情報が表す負荷量情報の総量が概ね均等になるような組み合わせで当該ブロック画像データを所定数の組にグルーピングする負荷量見積もり手段と、画像データに画像処理を個別に施す所定数の手段であって、自身に供給された画像データにその属性に応じた固有の画像処理を施す複数の画像処理プロセッサと、前記グルーピングしたブロック画像データの各組を前記複数の画像処理プロセッサの各々へ供給する画像データ割当手段とを備える。
【０００５】
この態様において、画像データの各属性と、それらの属性に応じた固有の画像処理の手順を夫々示す画像処理アルゴリズムとを各々対応付けて記憶したアルゴリズム記憶手段を更に有し、前記複数の画像処理プロセッサの各々は、自身に供給された画像データの属性と対応付けて前記アルゴリズム記憶手段に記憶された画像処理アルゴリズムを読み出し、読み出した画像処理アルゴリズムに従って当該画像データに画像処理を施すようにしてもよい。
【０００６】
また、前記負荷量見積もり手段は、前記分割された各ブロック画像データの全ての画像処理に要する処理負荷量を求め、求めた処理負荷量に応じて当該各ブロック画像データを所定数の組にグルーピングするようにしてもよい。
【０００７】
前記負荷量見積もり手段、画像処理プロセッサ、及び画像データ割当手段は同時並行して処理を実行するようにしてもよい。
【０００８】
前記負荷量見積もり手段は、前記分割された全ブロック画像データのうちの一部のブロック画像データを所定数の組にグルーピングし、前記画像データ割当手段は、前記一部のブロック画像データをグルーピングして得た所定数の各組を前記複数の画像処理プロセッサの各々へ供給するようにしてもよい。
【０００９】
前記画像処理プロセッサの処理能力の一部に前記負荷量見積もり手段及び画像データ割当手段としての処理を実行させる一方で、残りの処理能力に前記画像処理を行わせるようにしてもよい。
【発明の効果】
【００１０】
本発明によると、画像処理の対象となる画像データの属性を好適に利用することで、画像形成装置に搭載された複数のプロセッサの処理負荷を概ね平準化することができる。
【発明を実施するための最良の形態】
【００１１】
（発明の実施の形態）
本願発明の実施の形態について説明する。
本実施形態は、以下の３つの特徴を有する。
１つ目の特徴は、各種画像処理を画像データに施す機能を司る２つのプロセッサを複合機に搭載させた点である。
２つ目の特徴は、原稿をスキャンして得た画像データを複数のブロック画像データに分割し、分割したブロック画像データを各プロセッサに夫々供給して並列に画像処理を行わせるようにした点である。
３つ目の特徴は、分割したブロック画像データの供給先となるプロセッサの割り当てを、それらのブロック画像データの各々が、「下地」、「絵柄」、「文字」、及び「その他」の何れの属性の画像を描画しているかの解析結果に応じて決定するようにした点である。
【００１２】
図１は、本実施形態に係る複合機のハードウェア概略構成図である。この複合機は、スキャンデバイス１０、プリントデバイス１１、通信デバイス１２、ユーザインターフェース（以下、「ＵＩ」と呼ぶ）デバイス１３、第１画像処理プロセッサ１４、第２画像処理プロセッサ１５、スケジューラプロセッサ１６、ＲＡＭ１７、ＲＯＭ１８、及びハードディスク１９の各ハードウェアリソースを備える。図に示すように、本実施形態は、３つのプロセッサを搭載しており、それらのうちの２つである画像処理プロセッサ１４及び１５は、画像処理用に特化されている。一方、残りの１つであるスケジューラプロセッサ１６は、画像処理プロセッサ１４及び１５へその画像処理の対象となる画像データを供給する役割を司る。
【００１３】
スキャンデバイス１０は、ＣＣＤ（Charge Coupled Device）や光源などといった、画像スキャン制御を実現すべく搭載されたデバイス群の総称である。
プリントデバイス１１は、感光体ドラムや帯電器などといった、画像プリント制御を実現すべく搭載されたデバイス群の総称である。
通信デバイス１２は、モデムや各種インターフェースユニットなどといった、外部ノードとの通信制御を実現すべく搭載されたデバイス群の総称である。
ＵＩデバイス１３は、タッチパネルやタッチスクリーンディスプレイなどといった、ＵＩ制御を実現すべく搭載されたデバイス群の総称である。
【００１４】
ＲＡＭ１７は、プロセッサのワークエリアとして各種プログラムやデータを記憶する。
ＲＯＭ１８には、「下地除去」、「デジタルフィルタ」、「後段色補正」、「階調補正」、「スクリーン生成」、「エッジ抽出」などといった各種画像処理のアルゴリズムを記したプログラムが記憶される。なお、これら各種画像処理のアルゴリズムは従来技術の範疇に属するため、ここではその詳細を割愛する。第１画像処理プロセッサ１４及び第２画像処理プロセッサ１５は、自身に画像データが供給されると、画像データに施すべき一又は複数の画像処理のプログラムをこのＲＯＭ１８から適宜読み出し、読み出したプログラムのアルゴリズムに従った画像処理を施すようになっている。
【００１５】
ハードディスク１９には、処理負荷量テーブル１９ａ及び処理拡散制御プログラム１９ｂを記憶する。
図２は、処理負荷量テーブル１９ａのデータ構造図である。図に示すように、このテーブルは、各々が、「下地」、「絵柄」、「文字」、及び「その他」の各画像属性と対応するレコードの集合体である。このテーブルを構成するレコードの各々は、「属性」と、「負荷」の２つのフィールドを有している。「属性」のフィールドには、画像データの各属性を示す属性情報が記憶される。「負荷」のフィールドには、画像データに施す画像処理の処理負荷量を表す負荷量情報が記憶されれる。
画像データに施すべき画像処理の処理負荷量は、その画像の各属性に応じて個別に求められる。例えば、画像データの描画内容の属性が「文字」であれば、文字のエッジ部を強調すべく、「下地除去」、「デジタルフィルタ」、「階調補正」、「スクリーン生成」といった一連の画像処理を施し、また、属性が「絵柄」であれば、絵柄を滑らかにすべく、「下地除去」、「デジタルフィルタ」、「後段色補正」、「階調補正」、「スクリーン生成」といった一連の画像処理を施すのが一般的であるが、本実施形態では、このように画像の属性に依存して決定される一連の画像処理の実行に要する処理負荷量を属性毎に求めて処理負荷量テーブル１９ａの「負荷」のフィールドに予め記憶させておく。図に示す例を参照すると、「下地」の処理負荷量が「ａ（秒）」、「絵柄」の処理負荷量が「２ａ（秒）」、「文字」の処理負荷量が「３ａ（秒）」、「その他」の処理負荷量が「４ａ（秒）」と夫々記憶されている。これは、画像データが「絵柄」であるときに施す画像処理の処理負荷量が、「下地」であるときの２倍であり、「文字」であるときに施す画像処理の処理負荷量は３倍、「その他」である時に施す画像処理の処理負荷量は４倍であることを示している。
【００１６】
処理拡散制御プログラム１９ｂは、本実施形態に特有の機能をスケジューラプロセッサ１６に付与するための固有のプログラムである。このプログラムを実行するスケジューラプロセッサ１６には以下の３つの機能が付与される。
ａ 画像分割機能
これは、スキャンデバイス１０が原稿をスキャンすることによって得た原稿画像データを、所定平方画素（例えば、１２８平方画素）毎の纏まりである複数のブロック画像データに分割する機能である。
ｂ 属性判定機能
これは、各ブロック画像データの各々の描画内容が、「下地」、「絵柄」、「文字」、及び「その他」のどの属性に該当するかを判定する機能である。
ｃ 負荷量見積もり機能
これは、処理負荷量テーブル１９ａから各ブロック画像データの属性と対応する処理負荷量を取得し、取得した処理負荷量の総量が概ね均等になるような組み合わせで各ブロック画像データを２つの組にグループ分けする機能である。
ｄ 画像データ割当機能
これは、グループ分けされた２つの組のブロック画像データ群を第１画像処理プロセッサ１４と第２画像処理プロセッサ１５へ夫々供給する機能である。
【００１７】
次に、本実施形態の動作を説明する。
図３は、本実施形態の動作を示すフローチャートである。
図に示す処理は、スキャンデバイス１０が原稿をスキャンして原稿画像データが取得されたことをトリガーとして開始される。この原稿画像データは、スキャン対象である原稿の描画内容を、一画素あたりＲＧＢ８ビット（２５６階調）の信号列で表したラスタデータである。
【００１８】
原稿画像データがＲＡＭ１７に記憶されると、スケジューラプロセッサ１６は、その原稿画像データの各画素の信号列を所定の行列関数に入力することにより、Ｌ*ａ*ｂ*８ビットの信号列に変換した後、そのＬ*ａ*ｂ*の信号列の各々に所定のＬＵＴ（ルックアップテーブル）を作用させることによって、一画素あたり３ビットの信号列に量子化する（Ｓ１００）。なお、このステップの量子化は、Ｌ*ａ*ｂ*の各メトリック量の特徴に応じて異なる内容のＬＵＴを用いて行う。
【００１９】
続いて、スケジューラプロセッサ１６は、ステップ１１０で量子化された信号列が示すＬ*ａ*ｂ*の原稿画像データを、各々が１２８平方画素の大きさの複数のブロック画像データに分割する（Ｓ１１０）。
スケジューラプロセッサ１６は、ステップ１１０の分割により得た複数のブロック画像データのうちの１つを処理対象として特定する（Ｓ１２０）。
スケジューラプロセッサ１６は、ステップ１２０で特定したブロック画像データから、Ｌ*ａ*ｂ*表色系のメトリック値の濃度ヒストグラムを取得する（Ｓ１３０）。
【００２０】
スケジューラプロセッサ１６は、ステップ１３０で取得した濃度ヒストグラムを解析することにより、ステップ１２０で特定したブロック画像データの描画内容が、「下地」、「絵柄」、「文字」、及び「その他」のどの属性に該当するかを特定する（Ｓ１４０）。このステップの内容について具体的に説明する。
一般に、ある画像データの描画内容が「文字」である場合、その画像から得たメトリクス値Ｌ*（明度）のヒストグラムの形状は、いわゆるハイライトと高濃度に１つずつピークを有し、メトリクス値ａ*及びｂ*（彩度）のヒストグラムの形状は、中央に１つのピークを有するか（黒文字の場合）、又は中央と中央からずれた各位置に１つずつ（カラー文字の場合）のピークを有するものとなる。
また、ある画像データの描画内容が「絵柄」である場合、その画像から得たメトリクス値Ｌ*（明度）のヒストグラムの形状はなだらかでピークが不安定なものとなり、メトリクス値ａ*及びｂ*（彩度）のヒストグラムはなだらかでピークが不安定となるか（白黒の絵柄の場合）又は中央に１つのピークを有するものとなる（カラーの絵柄の場合）。
更に、ある画像データの描画内容が「下地」である場合、その画像から得たメトリクス値Ｌ*（明度）のヒストグラムの形状はハイライトに１つのピークを有するものとなり、メトリクス値ａ*及びｂ*（彩度）のヒストグラムは中央に１つのピークを有するものとなる。
本実施形態では、以上説明した各形状の特徴と「下地」、「絵柄」、「文字」の各属性情報とを対応付けたＬＵＴを設け、濃度ヒストグラムの特徴を基にこのＬＵＴを参照することにより、ブロック画像データの属性が、「文字」、「絵柄」、「下地」のいずれに該当するか、また、それらのいずれでもない「その他」に該当するかを判定する。  
【００２１】
ブロック画像データの属性を特定したスケジューラプロセッサ１６は、特定した属性を示す属性情報をブロック画像データと対応付ける（Ｓ１５０）。
続いて、スケジューラプロセッサ１６は、ステップ１００の分割により得たブロック画像データの全ての属性を特定したか否か判断し、未だ属性の特定されていないブロック画像データがあれば、ステップ１２０に戻り、以降の処理を繰り返す。
【００２２】
ブロック画像データの全ての属性を特定したスケジューラプロセッサ１６は、ステップ１２０乃至ステップ１５０のループを繰り返すことによってブロック画像データと対応付けられた各属性情報の数とそれらの属性情報と対応付けて処理負荷量テーブル１９ａに記憶された負荷量情報が示す処理負荷量の関係を基に、処理負荷量の総量が概ね均等になるような組み合わせでブロック画像データを２つの組にグループ化し、各組のブロック画像データを第１画像処理プロセッサ１４及び第２画像処理プロセッサ１５へ夫々供給する（Ｓ１６０）。
本ステップについて、図４及び５を参照して更に具体的に説明する。図４は、各ブロック画像データとそれらの属性の対応関係を示している。図に示す例では、原稿画像が、ブロック画像１乃至１５の計１５個のブロック画像データに分割されており、ブロック画像１、１０、１２、１３、１４、１５が「下地」、ブロック画像４が「絵柄」、ブロック画像５、６、７，８、９が「文字」、ブロック画像２、３、１１が「その他」の各属性であることが分かる。つまり、属性の解析結果の内訳は、「下地」の属性のブロック画像データが６つ、「絵柄」の属性のブロック画像データが１つ、「文字」の属性のブロック画像データが５つ、「その他」の属性のブロック画像データが３つとなっている。
処理負荷量テーブル１９ａの記憶内容が図２のようになっていた場合、属性が「下地」である６つのブロック画像データ及び「その他」である３つのブロック画像データからなる第１の組と、属性が「絵柄」である４つのブロック画像データ及び「文字」である２つのブロック画像データの組とにグルーピングすれば、第１の組の処理負荷量の総計が「６×ａ＋３×４ａ＝１８ａ（秒）」、第２の組の処理負荷量の総計が「１×２ａ＋５×３ａ＝１７ａ（秒）」となって両者の処理負荷量を概ね均等化できることが分かる。よって、本ステップでは、属性が「下地」及び「その他」である一連のブロック画像データ（１、２、３、１０、１１、１２、１３、１４、１５）が第１画像処理プロセッサ１４へ、属性が「文字」及び「絵柄」である一連のブロック画像データ（４、５、６、７、８、９）が第２画像処理プロセッサ１５へ夫々供給されることになる。なお、供給先となる画像処理プロセッサは逆であってもよい。
【００２３】
図３において、ブロック画像データの供給を受けた画像処理プロセッサは、自身に供給された一連の画像データに対してその属性に応じた画像処理を順次施す（Ｓ１７０）。
【００２４】
以上説明した本実施形態によると、原稿をスキャンして得た原稿画像データを複数のブロック画像データに分割して各々の属性に応じた画像処理負荷量を処理負荷量テーブル１９ａから取得し、処理負荷量の総量が概ね均等になるような組み合わせでブロック画像データを複数の組にグループ化した後、各組のブロック画像データを第１画像処理プロセッサ１４及び第２画像処理プロセッサ１５へ夫々供給するようになっている。従って、１つの原稿画像データの画像処理のために両画像処理プロセッサに強いる処理負荷量を概ね均等化させることができる。
【００２５】
（他の実施形態）
本願発明は、種々の変形実施が可能である。
上記実施形態の係る複合機は、画像処理の機能を司る２つのプロセッサを搭載していたが、３つ以上のプロセッサを搭載してもよい。要するに、画像処理を行う複数のプロセッサの処理負荷量が均等になるように画像データの割り当てが行われればその数は問わない。また、上記実施形態では２つの画像処理プロセッサとは別にスケジューラプロセッサ１６を搭載していたが、このようなプロセッサを搭載せず、画像分割機能、属性判定機能、負荷量見積もり機能、及び画像データ割り当て機能を画像処理プロセッサの処理能力の一部として組み込むようにしてもよい。
また、上記実施形態では、原稿画像データを複数のブロック画像データに分割し、それらの全てのブロック画像データを２つの組にグループ化してから画像処理プロセッサ１４及び１５への供給を行っていた。これに対し、分割されたブロック画像データの一部（例えば、原稿の半分の大きさに相当するブロック画像データ）の属性に応じた処理負荷量の総量が特定できた段階で、それらのブロック画像データを２つの組にグループ分けして各画像処理プロセッサへ供給してしまってもよい。
上記実施形態では、一画素あたりＬ*ａ*ｂ*３ビットの信号列に量子化した文書画像データを複数のブロック画像データに分割した後、各ブロック画像データから得た濃度ヒストグラムをそのまま解析することによってその属性を特定していた。これに対し、濃度ヒストグラムを正規化した上で解析を行ってもよい。上述したように、文書画像データは１２８平方画素毎のブロック画像データに分割されるので、その濃度ヒストグラムのスケールの最頻値は１２８となっている。しかしながら、例えば、ブロック画像データのＬ*（明度）の濃度ヒストグラムであれば、画像内のほぼ全ての画素のメトリクス値が同域に偏ることは通常はありえないので、図６に示すようにその最頻値が７になるように正規化することで、より精度の高い解析を行うことができる。
【図面の簡単な説明】
【００２６】
【図１】複合機のハードウェア概略構成図である。
【図２】理負荷量テーブルのデータ構造図である。
【図３】実施形態の動作を示すフローチャートである。
【図４】ブロック画像データと属性の関係を示す図である。
【図５】ブロック画像データの割り振りを示す図である。
【図６】ヒストグラム正規化を示す図である。
【符号の説明】
【００２７】
１０…スキャンデバイス、１１…プリントデバイス、１２…通信デバイス、１３…ＵＩデバイス、１４…画像処理プロセッサ、１６…スケジューラプロセッサ、１７…ＲＡＭ、１８…ＲＯＭ、１９…ハードディスク
【図１】
0004525541.tif 000002
【図２】
0004525541.tif 000003
【図３】
0004525541.tif 000004
【図４】
0004525541.tif 000005
【図５】
0004525541.tif 000006
【図６】
0004525541.tif 000007