(57)【要約】【課題】  コストの上昇を抑制しつつ、処理速度の向上を図ることができる画像処理装置を提供する。【解決手段】  複数のデータ処理要素１１を備える画像処理装置であって、画像処理の対象となる画像データを複数のブロックに分割し、分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成し、この生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行うデータ処理要素１１を選択する画像処理装置である。【選択図】        図１
2006195523.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ処理要素を備える画像処理装置であって、
画像処理の対象となる画像データを複数のブロックに分割する手段と、
前記分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成する手段と、
前記生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行う前記データ処理要素を選択する負荷調整手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、前記データ処理要素は、プログラムに従って処理を行う制御手段を含み、
前記制御手段は、各データ処理要素ごとに処理速度が互いに異なっており、
前記負荷調整手段は、前記ブロックごとの負荷属性情報と、各制御手段の処理速度とに基づいて、ブロックごとに、画像処理を行うデータ処理要素を選択することを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置において、
さらに、処理に係るデータを記憶する記憶手段を含み、
前記負荷調整手段は、前記ブロックごとの処理のために、前記記憶手段に確保するメモリ容量を決定することを特徴とする画像処理装置。
【請求項４】
複数のデータ処理要素を備えるコンピュータを用い、
画像処理の対象となる画像データを複数のブロックに分割し、
前記分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成し、
前記生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行う前記データ処理要素を選択することを特徴とする画像処理方法。
【請求項５】
複数のデータ処理要素を備えるコンピュータに、
画像処理の対象となる画像データを複数のブロックに分割する手順と、
前記分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成する手順と、
前記生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行う前記データ処理要素を選択する手順と
を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合機などの画像処理装置に関する。
【背景技術】
【０００２】
従来、複合機等に用いられる画像処理装置は、処理を高速にするために、ハードウエア・ロジックの回路を用いて実現されていた。このため、新規の機能を付加する際には、ハードウエアの開発が不可欠となり、機能的にも制限があった。なお、ハードウエア・ロジック回路を用いた画像処理装置において、複数の画像処理モジュールを切替えて用いる技術が、特許文献１に開示されている。
【０００３】
そこで、近年のＣＰＵ等の高速化技術の発展を背景として、画像処理装置をソフトウエア的に実現することも模索されている。
【特許文献１】特開平１１−１６７６２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のように画像処理装置をソフトウエア的に実現する構成においては次のような問題点がある。すなわち、一般に複合機では、装置全体の処理のために、比較的高速に処理可能なＣＰＵを搭載している。ここにソフトウエア処理のために、同等の処理速度の画像処理専用ＣＰＵを追加すると、複合機のコストが上昇してしまう。一方でＣＰＵのコストを下げると、画像処理速度が低下してしまう。
【０００５】
本発明は上記実情に鑑みて為されたもので、コストの上昇を抑制しつつ、処理速度の向上を図ることができる画像処理装置を提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決するための本発明は、複数のデータ処理要素を備える画像処理装置であって、画像処理の対象となる画像データを複数のブロックに分割する手段と、前記分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成する手段と、前記生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行う前記データ処理要素を選択する負荷調整手段と、を含むことを特徴としている。
【０００７】
ここで前記データ処理要素は、プログラムに従って処理を行う制御手段を含み、前記制御手段は、各データ処理要素ごとに処理速度が互いに異なっており、前記負荷調整手段は、前記ブロックごとの負荷属性情報と、各制御手段の処理速度とに基づいて、ブロックごとに、画像処理を行うデータ処理要素を選択することとしてもよい。
【０００８】
さらにここで、処理に係るデータを記憶する記憶手段を含み、前記負荷調整手段は、前記ブロックごとの処理のために、前記記憶手段に確保するメモリ容量を決定することとしてもよい。
【０００９】
本発明の一態様に係る画像処理方法は、複数のデータ処理要素を備えるコンピュータを用い、画像処理の対象となる画像データを複数のブロックに分割し、前記分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成し、前記生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行う前記データ処理要素を選択することを特徴としている。
【００１０】
さらに本発明の別の態様に係るプログラムは、複数のデータ処理要素を備えるコンピュータに、画像処理の対象となる画像データを複数のブロックに分割する手順と、前記分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成する手順と、前記生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行う前記データ処理要素を選択する手順とを実行させることを特徴としている。
【発明を実施するための最良の形態】
【００１１】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は、複合機などに内蔵されており、図１に示すように、複数のデータ処理要素１１と、記憶部１２と、データ処理制御部１３と、入出力インタフェース部１４とを含んで構成されている。
【００１２】
ここで各データ処理要素１１は、それぞれＣＰＵ等の制御装置を含んで実現されている。このデータ処理要素１１は、それぞれ記憶部１２に格納されているプログラムに従って処理を行う。ここでは、データ処理要素１１は、後に説明するデータ処理制御部１３から入力される指示に従って画像処理を行うほか、複合機など、装置全体の各部を制御する処理を行っている。なお、本実施の形態において、これら複数のデータ処理要素１１の一部のＣＰＵ等の制御装置は、互いにその処理速度が異なるものとなっている。なお、以下では、説明のため、第１のデータ処理要素１１ａが最も高速に処理可能であり、第２のデータ処理要素１１ｂ、第３のデータ処理要素１１ｃ…となるにつれて、処理速度が低くなるものとする。
【００１３】
記憶部１２は、ＲＡＭやＲＯＭなどの記憶素子を含んで構成されている。この記憶部１２は、データ処理要素１１によって実行されるプログラムを格納している。また、この記憶部１２は、データ処理要素１１の処理において必要となるデータを保持するワークメモリとしても動作する。
【００１４】
データ処理制御部１３は、ＣＰＵを含んで実現される。このデータ処理制御部１３は、画像処理の対象となる画像データを複数のブロックに分割し、分割により得られた各ブロックごとに、画像処理の負荷に係る負荷属性情報を生成する。そして、当該生成された負荷属性情報に基づいて、各ブロックごとに、画像処理を行うデータ処理要素１１を選択する等の、負荷調整処理を行う。このデータ処理制御部１３の処理内容については、後に詳しく説明する。
【００１５】
入出力インタフェース部１４は、処理の対象となる画像データの入力を受けてデータ処理制御部１３に出力する。また、この入出力インタフェース部１４は、データ処理要素１１によって処理された画像データを出力する。
【００１６】
ここでデータ処理制御部１３の動作について説明する。このデータ処理制御部１３によって実行されるプログラムは、機能的には、図２に示すように、色変換部２１と、ブロック分割部２２と、負荷属性情報生成部２３と、負荷調整処理部２４と、を含んで構成されている。
【００１７】
色変換部２１は、入出力インタフェース部１４から入力された画像データに基づいて、その画素値を、L*a*b*の色空間の値に変換する。ブロック分割部２２は、入力された画像データを複数のブロックに分割する。ここでは入力された画像データを、予め定めた数Ｎ×Ｍ個の矩形ブロックに分割する。
【００１８】
負荷属性情報生成部２３は、分割して得られた各ブロックについて、それぞれに画像処理を実行した場合の処理負荷に関係する属性情報を生成する。具体的な例を挙げると、データ処理要素１１によって行われる画像処理の内容が、各ブロックに含まれる画像の性状によって異なって規定されている場合、負荷属性情報は、当該画像の性状そのものとすることができる。
【００１９】
具体的な例として、二値化の処理について、図３に示すように、
（１）カラー写真
（２）カラー文字、及びその周辺
（３）白黒写真
（４）白黒文字、及びその周辺
（５）白黒下地
（６）不明
の６つの性状の各々について、それぞれ、
（１）カラー写真の場合に、下地除去（Ｓ１）と、平滑化処理（Ｓ３ａ）と、色空間変換（Ｓ４）と、階調補正（Ｓ５）と、誤差拡散（Ｓ６）とを実行し、
（２）カラー文字、及びその周辺の場合に、下地除去（Ｓ１）と、エッジ抽出（Ｓ２）と、エッジ強調処理（Ｓ３ｂ）と、色空間変換（Ｓ４）と、階調補正（Ｓ５）と、ディザ処理（Ｓ７）とを実行し、
（３）白黒写真の場合に、下地除去（Ｓ１）と、平滑化処理（Ｓ３ａ）と、階調補正（Ｓ５）と、誤差拡散（Ｓ６）とを実行し、
（４）白黒文字、及びその周辺の場合に、下地除去（Ｓ１）と、エッジ抽出（Ｓ２）と、エッジ強調処理（Ｓ３ｂ）と、階調補正（Ｓ５）と、ディザ処理（Ｓ７）とを実行し、
（５）白黒下地の場合に、下地除去（Ｓ１）と、階調補正（Ｓ５）と、単純二値化処理（Ｓ８）とを実行し、
（６）不明の場合には、図４に示すように、ブロック内の全画素についてエッジを検出し（Ｓ１１）、エッジでない部分には平滑化処理を行い、エッジ部分についてはエッジを強調する処理を行う適応的処理を実行し（Ｓ１２）、色空間を変換し（Ｓ４）、エッジでない部分についてはコントラストを文字より弱めに強調し、エッジ部分については、コントラストを強調する適応的階調補正処理を行い（Ｓ１３）、エッジでない部分についてはディザ処理し、エッジ部分については、誤差拡散する適応的二値化を行う（Ｓ１４）こととする。
【００２０】
この場合、（５）白黒下地における処理が最も処理負荷が低く、（６）不明の場合の処理が最も処理負荷が高くなる。また、（１）から（４）のカラー又は白黒の写真や文字の場合の処理負荷は、（５）よりも高く、（６）よりも低いこととなる。また、カラーの処理、つまり（１）カラー写真の場合と、（２）カラー文字、及びその周辺の処理を行う場合、並びに、（６）不明の場合において、カラーの画像データを格納するため、白黒の場合（（３）や（４）のように白黒の写真や文字を含む場合）に比べて、各色成分に対応して３倍分のデータを保持する必要がある。
【００２１】
なお、（５）白黒下地の処理においては、単純二値化の処理を行うだけであるので、ブロック単位で処理をする必要がなく、ブロック内の各ラインごとに処理できるため、処理の際に必要となるメモリ量は、ブロック内の各ラインの画素値（各１ビット）を記憶できる容量であれば足りる。
【００２２】
そこで、行うべき画像処理の負荷と、各データ処理要素１１の処理速度等に応じて、上記（１）から（６）の画像の性状ごとに、予め、利用するべきデータ処理要素１１と、確保するべきメモリ容量とを関連付けた、処理負荷調整テーブルを記憶部１２に格納しておく（図５）。
【００２３】
データ処理制御部１３は、例えば、負荷属性情報として、上述のように画像の性状を用いる場合、次のように動作する。すなわち、まずブロックごとに、ブロックに含まれる画素値のL*（輝度成分）、a*（第１の色差成分）、b*（第２の色差成分）の各々についてヒストグラムを生成する。
【００２４】
データ処理制御部１３は、L*a*b*の各成分についてピークの位置及びその幅を検出する。そして各成分のピーク位置等について、上述の（１）から（５）の画像の性状ごとに、次のように特徴があることを用いて、各ブロックについて、その画像の性状を検出する。
【００２５】
すなわち、
（１）カラー写真の場合、輝度成分については、ピークが一つであるか、あるいは、数多くのピークが検出され、幅広く分布する。また、各色差成分については、いずれも数多くのピークが検出され、幅広く分布する。
（２）カラー文字、及びその周辺の場合、輝度成分については、ピークが２つ程度となり、そのピーク幅は比較的小さくなる。また、各色差成分については、いずれも単数または２つ程度のピークが検出される。
（３）白黒写真の場合、輝度成分については、ピークが一つであるか、あるいは、数多くのピークが検出され、幅広く分布する。また、各色差成分については、いずれも「０」（色差無し）近傍にピークが検出される。
（４）白黒文字、及びその周辺の場合、輝度成分については、ピークは２つ程度となり、そのピーク幅は比較的小さくなる。また、各色差成分については、いずれも「０」（色差無し）近傍にピークが検出される。
（５）白黒下地の場合、輝度成分については、ハイライト部にピークが１つ現れ、各色差成分については、いずれも「０」（色差無し）近傍にピークが検出される。
【００２６】
データ処理制御部１３は、各ブロックごとに、検出したL*a*b*の各成分についてピークの位置及びその幅に基づいて、上記（１）から（５）の各条件と比較して、各ブロックの画像の性状を判断する。
【００２７】
なお、ここではピークの検出を行っているが、画像の性状（１）から（５）に対応する各成分ごとの曲線を予め描画しておき、ブロックごとに生成したヒストグラムの曲線との距離を調べ、当該距離が予め定めたしきい値未満であり、かつ最小となる画像の性状を選択する。ここで距離とは、２つの曲線ｆ（ｘ）とｇ（ｘ）とについて、｜ｆ（ｘ）−ｇ（ｘ）｜を、ｘが、min（最小）から、max（最大）まで積分して得られる値とすることができる。
【００２８】
データ処理制御部１３は、（１）から（５）の条件のどれとも一致しない場合、または、対応する曲線とヒストグラムの曲線の距離が予め定めたしきい値未満となる画像の性状がない場合は、ブロックの画像の性状を（６）「不明」であると判断する。
【００２９】
データ処理制御部１３は、分割して得た複数のブロックについて、それぞれ画像の性状が（１）から（６）のどれであるかを判別した後、処理負荷調整テーブルを参照しながら、記憶部１２上に処理用のメモリ領域を確保し、利用するべきデータ処理要素１１を選択する。そしてブロックごとに、選択したデータ処理要素１１に対して対応する処理を行わせる。具体的な方法の例としては、図３、図４に示した各プログラムに対するポインタと、確保したメモリ領域を表す情報と、ブロックのデータとをデータ処理要素１１に出力して、当該ポインタによって示されたプログラムを実行させればよい。
【００３０】
データ処理制御部１３は、各ブロックについての処理が、それぞれについて選択されたデータ処理要素１１において行われると、各処理の結果を合成して（例えば、ブロックの順序で連接して）、当該合成の結果のデータを入出力インタフェース部１４に出力する。
【００３１】
すなわち、本実施の形態では、行うべき画像処理の負荷と、各データ処理要素１１のＣＰＵの処理速度等に応じて、データ処理要素１１が選択される。また、画像処理の内容に応じて決定されたメモリ容量が記憶部１２内に確保される。
【００３２】
なお、データ処理要素１１は、それぞれ、時分割的にマルチタスク処理を実行していてもよい。すなわち、データ処理制御部１３によって選択されず、画像処理を行っていないデータ処理要素１１は、複合機など、装置全体の各部を制御する処理を実行していてもよい。
【００３３】
このように本実施の形態によると、処理負荷によって比較的低速のＣＰＵを用いて処理を行うことで、コストの上昇を抑制しつつ、かつ、処理負荷の高い処理については比較的高速のＣＰＵを利用することで、全体的な処理速度の向上を図ることができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態に係る画像処理装置の一例を表す構成ブロック図である。
【図２】本発明の実施の形態に係る画像処理装置の一例を表す機能ブロック図である。
【図３】画像の性状ごとの二値化処理群の一部の例を表すフローチャート図である。
【図４】画像の性状ごとの二値化処理群の残りの例を表すフローチャート図である。
【図５】処理負荷に応じたデータ処理要素及び記憶部の利用態様を規定するテーブルの例を表す説明図である。
【符号の説明】
【００３５】
１１  データ処理要素、１２  記憶部、１３  データ処理制御部、１４  入出力インタフェース部、２１  色変換部、２２  ブロック分割部、２３  負荷属性情報生成部、２４  負荷調整処理部。
【図１】
2006195523.tif 000003
【図２】
2006195523.tif 000004
【図３】
2006195523.tif 000005
【図４】
2006195523.tif 000006
【図５】
2006195523.tif 000007