(57)【要約】【課題】複数の誤差拡散処理ユニットを用いて並列誤差拡散処理を行う際に、ディフェクトの発生を抑制し、効率よく並列誤差拡散処理を行う。【解決手段】画像処理部１２１は、ｎ個（ｎは２以上の整数）の誤差拡散処理ユニット２９Ａ〜２９Ｄを含む並列誤差拡散処理部２９、オブジェクト抽出部２６、オブジェクトリスト管理部２７、グループ化処理部２８を備える。オブジェクト抽出部２６は入力画像データからオブジェクトを抽出し、オブジェクトリスト管理部２７はオブジェクトのサイズを含むオブジェクトリストを作成し、グループ化処理部２８はオブジェクトリストから誤差拡散処理ユニット２９Ａ〜２９Dで誤差拡散処理を行うオブジェクトの組み合わせを、誤差拡散処理が不用な画素数が最小になるようグループ化し、各オブジェクトの画像データを誤差拡散処理ユニット２９Ａ〜２９Ｄに入力し、並列誤差拡散処理する。【選択図】図２
2009071382.tif 000002
【特許請求の範囲】
【請求項１】
ｎ個（ｎは２以上の整数）の誤差拡散処理ユニットを含む並列誤差拡散処理部を備えた画像処理装置において、
前記画像処理装置は、入力画像データからオブジェクトを抽出するオブジェクト抽出部と、オブジェクトリスト管理部と、グループ化処理部と、を備え、
前記オブジェクト抽出部は入力画像を所定の大きさの領域に分割し、各領域ごとに背景画像のみで構成された領域と、それ以外の領域に区分し、注目領域の上下、左右に背景画素のみで構成された領域でない領域が隣接する場合にそれらの領域を１つのオブジェクトとして抽出し、
前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズと横方向の領域サイズを含むオブジェクトデータを有するオブジェクトリストを作成し、
前記グループ化処理部は、オブジェクトリストからｎ個のオブジェクトの組を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返し、
前記各誤差拡散処理ユニットは、前記グループ化処理部によってグループ化されたｎ個のオブジェクトの画像データを誤差拡散処理することを特徴とする画像処理装置。
【請求項２】
前記グループ化処理部は、前記オブジェクトリスト管理部が作成したオブジェクトリストから任意のｎ個のオブジェクトをグループとする組み合わせの全てを順次選択し、前記選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズまたは横方向の領域サイズの大きい順に前記各オブジェクトをソートしてオブジェクトリストを作成し、
前記グループ化処理部は前記オブジェクトの縦方向または横方向のサイズの大きい順に各ｎ個を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返すことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
ｎ個（ｎは２以上の整数）の誤差拡散処理ユニットを含む並列誤差拡散処理部を備えた画像処理装置と、前記画像処理装置に画像データを入力する入力手段と、前記画像処理装置から出力された画像データを表示する表示手段、または、前記画像処理装置から出力された画像データを印刷するプリンタのいずれか一方または両方を備えた画像形成装置において、
前記画像処理装置は、入力画像データからオブジェクトを抽出するオブジェクト抽出部と、オブジェクトリスト管理部と、グループ化処理部と、を備え、
前記オブジェクト抽出部は入力画像を所定の大きさの領域に分割し、各領域ごとに背景画像のみで構成された領域と、それ以外の領域に区分し、注目領域の上下、左右に背景画素のみで構成された領域でない領域が隣接する場合にそれらの領域を１つのオブジェクトとして抽出し、
前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズと横方向の領域サイズを含むオブジェクトデータを有するオブジェクトリストを作成し、
前記グループ化処理部は、オブジェクトリストからｎ個のオブジェクトの組を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返し、
前記各誤差拡散処理ユニットは、前記グループ化処理部によってグループ化されたｎ個のオブジェクトの画像データを誤差拡散処理することを特徴とする画像形成装置。
【請求項５】
前記グループ化処理部は、前記オブジェクトリスト管理部が作成したオブジェクトリストから任意のｎ個のオブジェクトをグループとする組み合わせの全てを順次選択し、前記選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとすることを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズまたは横方向の領域サイズの大きい順に前記各オブジェクトをソートしてオブジェクトリストを作成し、
前記グループ化処理部は前記オブジェクトの縦方向または横方向のサイズの大きい順に各ｎ個を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返すことを特徴とする請求項４に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータディスプレイやカラープリンタなどに用いられる画像処理装置および画像処理装置を有する画像形成装置に関するものであり、特に、効率よく並列誤差拡散処理を行うことのできる画像処理装置および該画像処理装置を有する画像形成装置に関するものである。
【背景技術】
【０００２】
ワープロや図形エディタなどで処理された文書は、プリンタ装置あるいはディスプレイ装置に出力するために、ページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などに変換される。ＰＤＬにおいて、画像はビット列を与えるコマンドによって表現され、文字および図形はベクタデータを作成するコマンドによって表現されている。したがって、プリンタなどの出力装置に出力する場合には、ＰＤＬを受け取ってそれぞれのコマンドを解釈し、出力装置の解像度および色値に対応したビットマップデータを作成して出力する。
【０００３】
また、スキャナユニットを備えたカラープリンタ装置においては、スキャナで読み取られた文書データは多階調のラスターデータとして画像処理され、出力部において印刷される。こうした処理において、カラー画像データにおける個々の画素は、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の輝点（蛍光ドット）または画素エレメントから成っている。通常、各画素のデータは、赤、緑、青に対して、例えば、それぞれ８ビットが割り当てられ、１画素につき２４ビットで表現すると、各赤、緑、青のそれぞれに対して２５６の階調のレベルを持つデータになる。
【０００４】
このようなカラープリンタ装置やカラーディスプレイ装置などの画像出力装置は、画像出力装置の出力する色に対応した各色ごとの多値の階調値を有する画像データに対して、画像出力装置が出力可能なドットの有無を表すデータに変換処理して印刷用紙に印刷を行いあるいは表示手段に表示するようになされている。一般に、この変換処理はハーフトーン処理（中間調処理）と称されている。
【０００５】
中間調処理の方法としては、所定の閾値が格納された閾値マトリックスを利用して、入力階調値が閾値よりも大きいか小さいかにより２値化する分散ディザ法や、ハーフトーンパターン（インデックステーブルとガンマテーブル）を用いて各インデックス位置において入力値に対応したパルス幅データを生成する多値ディザ法がある。同様に閾値を設定しその閾値よりも大きいか小さいかにより２値化するとともにその誤差分をまわりの画素の階調値に加算して処理を進める誤差拡散法も知られている。
【０００６】
図８は、誤差拡散法による中間調処理の概念を説明するための説明図である。図８において、処理する注目画素１０１の画素データを閾値と比較して２値化した後、２値化した値を多階調換算した値（０と最大入力階調値２５５）と元の画素データとの差を誤差として、まだ２値化していない周囲の画素１０２、１０３、２０１、２０２、２０３、２０４に拡散し、全体としての濃度を保存するという方法である。
【０００７】
図８の場合、注目画素１０１のすぐ右隣の画素１０２（これから２値化する画素）に誤差量の２／８を、その右隣の画素１０３に誤差量の１／８を、次の画素ラインにおける注目画素１０１の直下にあたる画素２０３に誤差量の２／８を、注目画素１０１の斜左下にあたる画素２０１、２０２、斜右下にあたる画素２０４に誤差量の１／８を、それぞれ拡散している。このような誤差拡散法は、解像度も高く、濃度も保存されるため高品質な２値化ができる。
【０００８】
ところで、このような誤差拡散処理は、直列的に順次画素を処理して行くものであるから、ある量の画像データを処理するには一定の処理時間を要する。このような問題を解消するため、画像データを分割して分割された画像データごとに並列的に処理する並列誤差拡散方法も提案されている。例えば、下記の特許文献１（特開平６−３０１３６４号公報）、特許文献２（特開平７−２０８３９号公報）には画像データを分割して並列に誤差拡散処理を行う技術が開示されている。
【０００９】
図９は、特許文献１に開示された並列誤差拡散処理方法の概念を示す図である。この並列誤差拡散処理方法は、図９に示すように並列誤差拡散処理装置３００は、例えば、４つの誤差拡散処理ユニット３０１、３０２、３０３、３０４を備え、画像データをそれぞれ並列に処理することができる。このような並列誤差拡散処理装置３００を用いて画像データ４００を処理する。すなわち、処理すべき画像データ４００を主走査方向にｎ（図９ではｎ＝４）の領域４０１、４０２、４０３、４０４に分割し、それぞれを誤差拡散処理ユニット３０１、３０２、３０３、３０４に並列的に入力して誤差拡散処理を行う。
【００１０】
一方、図１０は、特許文献２に開示された並列誤差拡散処理方法の概念を示す図である。この並列誤差拡散処理方法は、図９と同様に４つの誤差拡散処理ユニット３０１、３０２、３０３、３０４を備えた並列誤差拡散処理装置３００を用いて入力画像データを処理するが、入力画像データの分割方法が異なる。特許文献２の並列誤差拡散処理方法においては、図１０に示すように、処理すべき画像データ４００を複数のラインを１つの領域として４領域分４０１〜４０４のように分けてそれぞれ、誤差拡散処理ユニット３０１〜３０４に並列的に入力して誤差拡散処理を行う。
【００１１】
このように、複数の誤差拡散処理ユニットを備えた並列誤差拡散処理装置を用いて入力画像データを複数分割して並列的に誤差拡散処理することによって、入力画像データを高速で処理することができるようになる。
【００１２】
【特許文献１】特開平６−３０１３６４号公報
【特許文献２】特開平７−２０８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記特許文献１に開示された並列誤差拡散処理方法では、図９において説明したように、入力される画像データ４００を主走査方向にｎ（図９ではｎ＝４）の領域４０１、４０２、４０３、４０４に分割し、それぞれを誤差拡散処理ユニット３０１、３０２、３０３、３０４に並列的に入力して誤差拡散処理を行う。この時、特許文献１に開示された並列誤差拡散処理においては、各誤差拡散処理ユニット３０１〜３０４は各領域４０１〜４０４の最初の画素からシリアルに主走査方向に処理をする。
【００１４】
分割された入力画像データの境界部分の画素を処理する際には、誤差拡散すべき隣接画素は、隣接する他の誤差拡散ユニット３０２において処理され、既に誤差拡散処理が完了している。このため、分割した領域の境界の画素に対して誤差拡散処理する際に、他の画素に対して用いた拡散マトリクスを適用できない。このため、特許文献１の発明においては、領域の境界にあたる画素の拡散処理に用いる拡散マトリクスの形状を変化させている。
【００１５】
すなわち、特許文献１においては誤差拡散させる画素および重み付けの係数の調整を行って拡散マトリクスの形状を変化させて処理している。このように分割した領域の境界の同じ位置で毎回拡散マトリクスを変化させた場合、領域境界で誤差が偏り、帯状の画像の乱れ、本来表現される筈のドット抜けなど、画像のディフェクトが発生するという問題点があった。
【００１６】
また、上記特許文献２に開示された並列誤差拡散処理方法では、入力画像データの主走査方向に全画素を処理するため、背景画像、例えば白画像のみの画素についても誤差拡散処理をしなければならず、無駄な処理が含まれ処理速度を阻害するという問題点があった。このような問題点は上記特許文献１に開示された並列誤差拡散処理方法においても同様である。
【００１７】
本願の発明者は上記の問題点を解消すべく種々検討を重ねた結果、複数の誤差拡散処理ユニットを用いて並列誤差拡散処理を行う際に、入力画像データからオブジェクトを抽出し、各誤差拡散処理ユニットで誤差拡散処理を行うオブジェクトの組み合わせを、誤差拡散処理の必要がない背景画像の画素数が少なくなるように選択すれば、全体として誤差拡散処理を効率化でき、またディフェクトを抑制し得ることに想到して本発明を完成するに至ったものである。
【００１８】
すなわち、本発明は上記の問題点を解消することを課題とし、複数の誤差拡散処理ユニットを用いて並列誤差拡散処理を行う画像処理装置および画像形成装置において、ディフェクトの発生を抑制することができ、また効率よく並列誤差拡散処理を行うことのできる画像処理装置および該画像処理装置を有する画像形成装置を提供することを目的とするものである。
【課題を解決するための手段】
【００１９】
前記課題を解決するために、本願の請求項１にかかる画像処理装置の発明は、
ｎ個（ｎは２以上の整数）の誤差拡散処理ユニットを含む並列誤差拡散処理部を備えた画像処理装置において、
前記画像処理装置は、入力画像データからオブジェクトを抽出するオブジェクト抽出部と、オブジェクトリスト管理部と、グループ化処理部と、を備え、
前記オブジェクト抽出部は、入力画像を所定の大きさの領域に分割し、各領域ごとに背景画像のみで構成された領域と、それ以外の領域に区分し、注目領域の上下、左右に背景画素のみで構成された領域でない領域が隣接する場合にそれらの領域を１つのオブジェクトとして抽出し、
前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズと横方向の領域サイズを含むオブジェクトデータを有するオブジェクトリストを作成し、
前記グループ化処理部は、オブジェクトリストからｎ個のオブジェクトの組を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返し、
前記各誤差拡散処理ユニットは、前記グループ化処理部によってグループ化されたｎ個のオブジェクトの画像データを誤差拡散処理することを特徴とする。
【００２０】
また、請求項２の発明は、請求項１に記載の画像処理装置において、前記グループ化処理部は、前記オブジェクトリスト管理部が作成したオブジェクトリストから任意のｎ個のオブジェクトをグループとする組み合わせの全てを順次選択し、前記選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとすることを特徴とする。
【００２１】
また、請求項３の発明は、請求項１に記載の画像処理装置において、前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズまたは横方向の領域サイズの大きい順に前記各オブジェクトをソートしてオブジェクトリストを作成し、
前記グループ化処理部は前記オブジェクトの縦方向または横方向のサイズの大きい順に各ｎ個を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返すことを特徴とする。
【００２２】
また、請求項４の画像形成装置の発明は、
ｎ個（ｎは２以上の整数）の誤差拡散処理ユニットを含む並列誤差拡散処理部を備えた画像処理装置と、前記画像処理装置に画像データを入力する入力手段と、前記画像処理装置から出力された画像データを表示する表示手段、または、前記画像処理装置から出力された画像データを印刷するプリンタのいずれか一方または両方を備えた画像形成装置において、
前記画像処理装置は、入力画像データからオブジェクトを抽出するオブジェクト抽出部と、オブジェクトリスト管理部と、グループ化処理部と、を備え、
前記オブジェクト抽出部は入力画像を所定の大きさの領域に分割し、各領域ごとに背景画像のみで構成された領域と、それ以外の領域に区分し、注目領域の上下、左右に背景画素のみで構成された領域でない領域が隣接する場合にそれらの領域を１つのオブジェクトとして抽出し、
前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズと横方向の領域サイズを含むオブジェクトデータを有するオブジェクトリストを作成し、
前記グループ化処理部は、オブジェクトリストからｎ個のオブジェクトの組を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返し、
前記各誤差拡散処理ユニットは、前記グループ化処理部によってグループ化されたｎ個のオブジェクトの画像データを誤差拡散処理することを特徴とする。
【００２３】
また、請求項５の発明は、請求項４に記載の画像形成装置において、前記グループ化処理部は、前記オブジェクトリスト管理部が作成したオブジェクトリストから任意のｎ個のオブジェクトをグループとする組み合わせの全てを順次選択し、前記選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとすることを特徴とする。
【００２４】
また、請求項６の発明は、請求項４に記載の画像形成装置において、前記オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズまたは横方向の領域サイズの大きい順に前記各オブジェクトをソートしてオブジェクトリストを作成し、
前記グループ化処理部は前記オブジェクトの縦方向または横方向のサイズの大きい順に各ｎ個を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとし、各オブジェクトの画像データを前記各誤差拡散処理ユニットに入力する処理を繰り返すことを特徴とする。
【発明の効果】
【００２５】
本発明は上記のような構成を備えることにより以下に述べるような優れた効果を奏する。
【００２６】
すなわち、請求項１、請求項４の発明によれば、入力画像データからオブジェクトを抽出し、各誤差拡散処理ユニットで誤差拡散処理を行うオブジェクトの組み合わせを、誤差拡散処理が不用な画素数が少なくなるように選択するので、並列誤差拡散処理を効率良く行うことができるようになる。また、オブジェクトを抽出してオブジェクト単位で並列誤差拡散処理を行うので、ディフェクトを抑制することができ出力画像の画質を向上することができるようになる。
【００２７】
また、請求項２、請求項５の発明によれば、グループ化処理部が、オブジェクトリスト管理部が作成したオブジェクトリストから任意のｎ個のオブジェクトをグループとする組み合わせの全てを順次選択し、前記選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとするものであるから、並列誤差拡散処理を最も効率良く行うことができるようになる。
【００２８】
また、請求項３、請求項６の発明によれば、オブジェクトリスト管理部は、抽出されたオブジェクトの縦方向の領域サイズまたは横方向の領域サイズの大きい順に前記各オブジェクトをソートしてオブジェクトリストを作成し、グループ化処理部が、前記オブジェクトの縦方向または横方向のサイズの大きい順に各ｎ個を選択し、選択されたｎ個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、誤差拡散処理領域の中に占める誤差拡散処理の不用な領域数の合計値を算出し、該合計値が最少になるｎ個のオブジェクトをグループとするものであるから、グループ化処理の時間を短縮することができ、並列誤差拡散処理の効率を改善することができるようになる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の具体例を実施例及び図面を用いて詳細に説明する。但し、以下に示す実施形態は、本発明の技術思想を具体化するための画像処理装置および該画像処理装置を有する画像形成装置を例示するものであって、本発明をこれらに特定することを意図するものではなく、特許請求の範囲に含まれるその他の実施形態のものにも等しく適応し得るものである。
【実施例１】
【００３０】
図１は、本発明の実施例にかかる画像処理装置を有する画像形成装置の構成を示す図である。本発明の実施例にかかる画像形成装置１は、図１に示すように、スキャナ部１１と、制御部１２と、記憶部１３と、プリンタ部１４と、操作部１５と、表示部１６と、通信部１７とを含んで構成されている。このような
【００３１】
スキャナ部１１は、紙媒体などに形成された画像を光学的に読み取り、画像データとして制御部１２に出力する。制御部１２は、プロセッサ等であり、記憶部１３に格納されているプログラムに従って動作する。本実施例では、この制御部１２は、例えばスキャナ部１１から入力された画像データ（形成処理の対象となる画像データ）を、通信部１７を介してネットワーク接続されたコンピュータ装置などに送信する。またネットワーク接続されたコンピュータ装置などから通信部１７を介して受信されるコマンド列に従い、この画像データに対して画像処理を実行する。この制御部１２による具体的な処理の内容例については、後に詳しく説明するが、並列誤差拡散処理装置１２１を含んでいる。
【００３２】
記憶部１３は、例えばメモリやハードディスク等であり、制御部１２によって実行されるプログラムを保持している。また、この記憶部１３は、制御部１２のワークメモリとしても動作する。プリンタ部１４は、制御部１２から入力される画像データを、紙媒体等の上に形成する。操作部１５は、キーパッド等であり、利用者の指示操作を受け入れて、当該指示操作の内容を制御部１２に出力する。
【００３３】
表示部１６は、液晶表示パネル等であり、制御部１２から入力される指示に従って、情報を表示する。通信部１７は、ネットワークインタフェース等であり、制御部１２から入力される指示に従って、ネットワークＮＷを介して、例えばコンピュータ装置へと種々のデータを送信する。また、この通信部１７は、ネットワークＮＷを介して、例えばコンピュータ装置から到来するデータを受信して、制御部１２に出力する。
【００３４】
スキャナ部１１から読み込まれた画像データ、あるいは、ネットワークＮＷを介してコンピュータ装置からＰＤＬ記述言語に変換して入力された画像データは、記憶部１３に記憶される。画像処理部１２１は記憶部１３に記憶された画像データを読み出して並列誤差拡散処理を行う。画像処理部１２１は並列誤差拡散処理を終えた画像データを出力し、記憶部１３に書き戻す。制御部は記憶部１３に書き戻された画像データ、すなわち、並列誤差拡散処理を行った画像データをＶＲＡＭなどの描画部（不図示）にビットマップ展開し、表示部１６に表示し、または、プリンタ部１４で印刷する。
【００３５】
図２は、制御部１２に含まれる画像処理部（画像処理装置）１２１の構成を示すブロック図である。画像処理部１２１は、画像処理を司るプロセッサ２１（プロセッサＡ）、プロセッサ２２（プロセッサＢ）を備えている。このプロセッサ２１、２２は単一のプロセッサで構成することもできる。また、画像処理装置１２１は、画像入力部２３、画像出力部２４を備えて構成される。
【００３６】
画像入力部２３には、スキャナ部１１から読み込まれた画像データ、あるいは、ネットワークＮＷを介してコンピュータ装置からＰＤＬ記述言語に変換して入力された画像データが記憶部１３から読み出され並列誤差拡散処理のために入力される。画像出力部２４には、画像入力部２３に入力された画像データを並列誤差拡散処理した結果が出力画像データとして出力され、この出力画像データに基づいてプリンタ部１４で画像が印刷され、または、表示部１６に画像が表示される。
【００３７】
プロセッサ２２は並列誤差拡散を行うものであり、並列誤差拡散処理部２９は、誤差拡散処理ユニット２９Ａ〜誤差拡散処理ユニット２９Ｄを含んで構成され、それぞれの誤差拡散処理ユニット２９Ａ〜２９Ｄに入力された画像データを４並列で誤差拡散処理する。なお、本実施例においては一般的な４並列の並列誤差拡散処理チップ（例えばＳＩＭＤ型の画像処理プロセッサ）を用いているが、並列数は４に限られるものではなくｎ個（ｎは２以上の整数）の誤差拡散処理ユニットを備えた構成であってもよい。
【００３８】
プロセッサ２１は、内部記憶部２５、オブジェクト抽出部２６、オブジェクトリスト管理部２７、オブジェクト抽出部２６が抽出したオブジェクトをグループ化するグループ化処理部２８を含んでおり、オブジェクト抽出部２６は画像入力部２３に入力された画像データから画像（オブジェクト）を抽出する。オブジェクト抽出部２６により抽出されたオブジェクトのデータ（位置、サイズ等）はオブジェクトリスト管理部２７によって管理され、グループ化処理部２８は、後述するアルゴリズムで４つのオブジェクトにグループ化されて各誤差拡散処理ユニット２９Ａ〜２９Ｄに入力され、誤差拡散処理が行われる。
【００３９】
ここで、本発明にかかる並列誤差拡散処理方法の概念について説明する。図３は本発明の実施例にかかる並列誤差拡散処理の方法の概念を示す概念図である。オブジェクト抽出部２６（図２参照）は、画像入力部２３に入力された画像データ４からオブジェクト４ａ〜４ｄを抽出する。抽出されたオブジェクト４ａ〜４ｄのデータはその位置およびサイズを含み、グループ化処理部２８により４つのオブジェクトにグループ化される。この処理の詳細については後述する。
【００４０】
グループ化処理部２８によりグループ化された４つのオブジェクト４ａ〜４ｄの各々は４つの誤差拡散処理ユニット２９Ａ〜２９Ｄに入力され誤差拡散処理が行われる。各誤差拡散処理ユニット２９Ａ〜２９Ｄは並列に動作するものであるから、サイズの大きなオブジェクトとサイズの小さなオブジェクトを並列処理しても、並列誤差拡散処理全体としてはサイズの大きいオブジェクトの処理時間に依存することになる。従って、オブジェクトのサイズを基準にしてサイズの大きいオブジェクトから順に４つのオブジェクトをグループ化しておき、これを４並列で並列誤差拡散処理すると、画像データ全体の並列誤差拡散処理を効率的に行うことができる。
【００４１】
以下、オブジェクト抽出部２６、オブジェクトリスト管理部２７、グループ化処理部２８の処理の詳細について説明する。図４は画像入力部２３に入力された画像データ４の一例を示す図である。この画像データには、図４に示すようにオブジェクト（イ）〜オブジェクト（リ）が含まれている。この画像データは内部記憶部２５に保存される。
【００４２】
オブジェクト抽出部２６は、各オブジェクトを抽出するため、先ず画像データ４を所定の大きさの領域（以下この領域をタイルということとする）に分割し、背景のみで構成されるタイル（例えば、白画像のみのタイル）とオブジェクトを含むタイルとを分離する。タイルの大きさは任意であるが、例えば、画素数で１００ドット四方のタイルに分割する。６００ＤＰＩでＡ４サイズの画像データを想定した場合、タイルは４〜５ｍｍ四方程度の大きさになる。
【００４３】
図５はタイル分割された画像データを示す図である。次に、オブジェクト抽出部２６は図５に示すようにタイル分割された画像データから、オブジェクトを含むタイルを分離し、上下、左右のタイルを順に調べてオブジェクトを抽出する。上下、左右にオブジェクトを含むタイルはひとつのオブジェクトと見なし、斜め上、斜め下のみに隣合うタイルは別オブジェクトと見なしてオブジェクトを抽出する。
【００４４】
抽出されたオブジェクトのデータは、ひとつのオブジェクトと見なして抽出されたタイルすなわちオブジェクトの位置と、サイズを含む。オブジェクトの位置は、オブジェクトを構成するタイルのうち横（Ｘ軸）方向および縦（Y軸）方向の最初のタイルの位置で表し、オブジェクトのサイズは、オブジェクトを構成するタイルの縦方向の数（高さ）と横方向の数（幅）で表しているが、これに限られるものではない。
【００４５】
オブジェクトリスト管理部２７は、オブジェクト抽出部２６が抽出したオブジェクトのデータを各オブジェクトのサイズの大きい順にソートし、グループ化処理部２８は、並列誤差拡散処理するオブジェクトのグループ化を行う。図６は、図５に示すオブジェクトを大きさ順にソートしたオブジェクトリストの構成を示す図である。
【００４６】
図６に示すように、リスト番号、オブジェクト番号（オブジェクトＩＤ）、位置、サイズからなっている。リスト番号はソートされたオブジェクトのデータに付された番号である。オブジェクト番号は、抽出したオブジェクトに付されたＩＤである。オブジェクトの位置は先に述べたようにオブジェクトを構成するタイルのうち横（Ｘ軸）方向および縦（Y軸）方向の最初のタイルの位置であり、サイズはオブジェクトを構成するタイルの縦方向の数（高さ）と横方向の数（幅）である。
【００４７】
図６のオブジェクトリストは、各オブジェクトの幅方向のタイル数を基準に、タイル数が大きいオブジェクトから順にソートしたものである。サイズソートの基準は縦方向でもよく、あるいは、タイルの面積であってもよい。但し、後述するオブジェクトのグループ化において、誤差拡散処理しなければならない背景画像のタイル数を算出するので、タイル面積でソートする場合でも、縦方向または横方向のタイル数のデータをオブジェクトリストに記録しておく必要がある。
【００４８】
次に、グループ化処理部２８は、オブジェクトリスト管理部２７によって作成されたオブジェクトのデータに従って、以下の手順で、４つの誤差拡散処理ユニット２９Ａ〜２９Ｄに入力するオブジェクトを４つずつグループ化する。この時、グループ化にあたって考慮する点は、第１にオブジェクトのサイズ、第２にグループ化された各オブジェクトの誤差拡散処理において、本来、処理する必要のない背景画像（例えば白画像の量）のタイル数である。
【００４９】
処理する背景画像の量が少なくなるオブジェクトを４つずつグループ化することによって、無駄な誤差拡散処理を抑制でき、処理速度を向上することができる。
【００５０】
本実施例において、グループ化処理部２８は、前述のようにしてソートされたオブジェクトリスト（図６参照）に基づいて、効率良く並列誤差拡散処理を行うことが可能なオブジェクトグループを作る（オブジェクトのグループ化）処理を行う。先ず、オブジェクトリストの１〜４（リスト番号１〜４）をグループ化した場合に各誤差拡散処理ユニット２９Ａ〜２９Ｄが処理する画像サイズを求める。
【００５１】
図６の場合、処理すべき画像サイズの幅方向の最大値は、リスト番号１の幅方向のサイズ「１１」、縦方向の最大値はリスト番号３の縦方向のサイズ「５」である。各誤差拡散ユニット２９Ａ〜２９Ｄはタイルの横方向「１１」、縦方向の数「５」に相当するタイルに含まれる画素を対象に誤差拡散処理を行う必要がある。すなわち、各誤差拡散処理ユニット２９Ａ〜２９Ｄは合計５５のタイルに含まれる画素を対象に誤差拡散処理を行うことになる。
【００５２】
従って、リスト番号１〜４の４つのオブジェクトを各誤差拡散ユニット２９Ａ〜２９Ｄに並列に入力して誤差拡散処理する場合、オブジェクトとして抽出したタイル中における画素以外に、背景画像のみを含むタイル中の画素を含めて誤差拡散処理を行う必要がある。例えば、図６のリスト番号１のオブジェクトについてみると、本来は、横方向に１１、縦方向に１のタイル（合計１１のタイル）に含まれる画素を処理すれば足りるのであるが、縦方向の処理すべきタイル数は最大値の「５」（リスト番号３のオブジェクト）であるから、合計５５（１１×５）のタイルに含まれる画素を処理することになり、５５−１１、合計４４のタイルに含まれる背景画像のみの画素を処理する必要がある。
【００５３】
同様にリスト番号２のオブジェクトについてみると、本来は、横方向に４のタイル、縦方向に４のタイル（合計１６のタイル）に含まれる画素を処理すれば足りるのであるが、縦方向の処理すべきタイル数は最大値の「５」（リスト番号３のオブジェクト）、横方向のタイル数は最大値の「１１」であるから、５５−１６、合計３９のタイルに含まれる背景画像のみの画素を処理する必要がある。リスト番号３、４のオブジェクトについても同様であり、それぞれ３５、４７の背景画像のみのタイルの画素を処理する必要がある。従って、リスト番号１〜４のオブジェクトをグループとして４並列の誤差拡散処理をする場合、処理しなければならない背景画像のみのタイルの総数は４４＋３９＋３５＋４７、合計１６５になる。
【００５４】
背景画像のみのタイルの画素を誤差拡散処理の対象とすることは、本来無駄な処理であり、処理しなければならない背景画像のみのタイル数、上記の場合１６５ができるだけ小さい数であることが処理効率を向上させる条件となる。従って、グループ化処理部２８は、リスト番号を「１」ずらせてリスト番号２〜リスト番号５までの各４つのオブジェクトについて、各誤差拡散処理ユニット２９A〜２９Ｄが処理しなければならない背景画像のみのタイル数の合計を算出する。同様にリスト番号をずらしてこの処理を順次繰り返し、この数が最も小さくなるオブジェクトの４つの組を１つのオブジェクトグループとしてグループ化する。
【００５５】
図６のオブジェクトリストの場合、リスト番号５〜リスト番号８のオブジェクトの組み合わせをグループ化すると、本来処理不用のタイル数の合計が１６になり最も小さくなるので、この４つのオブジェクトがグループ化される。
【００５６】
グループ化されたオブジェクトの画像データはそれぞれ誤差拡散処理ユニット２９Ａ〜２９Ｄに入力され、並列誤差拡散処理が行われる。なお、誤差拡散処理ユニット２９Ａ〜２９Ｄには抽出されたオブジェクトエリアのみの画像データのみを入力し、他の部分は背景画像のみの画像データとして扱われる。
【００５７】
オブジェクトリスト管理部２７はこのようにしてグループ化されたオブジェクトを除き、残りのオブジェクト数が並列処理数（ここでは「４」）以下になるまで、残ったオブジェクトを対象に上記の処理を繰り返して、並列誤差拡散処理を行う。最後に残ったグループ化されなかったオブジェクトについては、通常の誤差拡散処理を行う。
【００５８】
図６のオブジェクトリストの場合、リスト番号５〜リスト番号８のオブジェクトの次には、残りのオブジェクト（リスト番号１〜リスト番号４、リスト番号９）に対して同様の処理を行い、リスト番号２〜リスト番号４とリスト番号９のオブジェクトがグループ化される。このオブジェクトをグループ化すると、本来処理不用のタイル数の合計が３２になる。
【００５９】
なお、オブジェクトのグループ化方法は、上記のようなアルゴリズムで行うものに限られるものではない。例えば、抽出したオブジェクトからそれぞれ４つのオブジェクトを総当たりで選んで、背景画像のみのタイル数の合計が最少になる組み合わせを決定する方法を採ることもできる。このような方法によれば、並列誤差拡散処理において無駄な処理を最少にするオブジェクトの組み合わせの最適解が得られる。
【００６０】
先に説明した本実施例のアルゴリズムによれば、準最適解ではあるが、総当たりでグループ化するのに比べてグループ化処理に要する時間は短くて済む。本来の目的は画像処理の効率化であるから、何れの方法を採るかは、グループ化の処理時間と、その結果に基づく並列誤差拡散処理の時間とのトレードオフに基づいて選択すればよい。トータルの画像処理時間が効率化できれば準最適解であっても実用上は十分である。
【００６１】
以下、図７に示すフローチャートを参照して本発明の実施例にかかる並列誤差拡散処理の動作手順について説明する。
画像入力部２３に画像データが入力されると、オブジェクト抽出部２６はステップＳ１０１の処理において、画像データを所定の大きさの領域（以下この領域をタイルということとする）に分割する。そして、分割した各タイルについて、ステップＳ１０２の処理において背景のみで構成されるタイル（例えば、白画像のみのタイル）とオブジェクトを含むタイルとを分離する（図５参照）。
【００６２】
次に、ステップＳ１０３の処理においてオブジェクト抽出部２６は、分割したタイルを順に調べ、上下、左右にオブジェクトを含むタイルが隣り合っている場合は、それらのタイル群をひとつのオブジェクトと見なし、斜め上、斜め下のみにオブジェクトが隣合っているタイルは別のオブジェクトと見なしてオブジェクトを抽出する。（図５参照）
【００６３】
抽出したオブジェクトのデータは、オブジェクトの位置、サイズを含み、オブジェクトリスト管理部２７に送られる。オブジェクトの位置はオブジェクトを構成するタイルのうち、横（Ｘ軸）方向および縦（Y軸）方向の、最初のタイルの位置（ＸＹ座標）で表され、オブジェクトのサイズは、オブジェクトを構成するタイルの縦方向の数（高さ）と横方向の数（幅）で表される。
【００６４】
このオブジェクトのデータは、オブジェクトリスト管理部２７に送られ、リスト番号、オブジェクト番号（オブジェクトＩＤ）、位置、サイズからなるオブジェクトリストが作成される（ステップＳ１０４）。
次に、ステップＳ１０５の処理において、オブジェクトリスト管理部２７は、オブジェクト抽出部２６が抽出したオブジェクトのデータを各オブジェクトのサイズの大きい順にソートしてオブジェクトリストを作成する。ソートの基準は、各オブジェクトの横（幅）方向または縦（高さ）方向のタイル数である。図６はオブジェクトの幅方向を基準として幅方向の大きい順にソートしたものである。
【００６５】
ステップＳ１０６の処理において、グループ化処理部２８は、オブジェクトリストのオブジェクトの数が４以上か否かを判別する。オブジェクトの数が４以上ある場合、ステップＳ１０７の処理において、グループ化処理手段２８は、効率良く並列誤差拡散処理を行うことが可能なオブジェクトグループを作る。この処理は、先に説明したように、オブジェクトリストからサイズ（幅方向のサイズ）の順に４個のオブジェクトの組を選択し、選択された４個のオブジェクトのそれぞれを構成する領域の縦方向および横方向の領域の最大値に基づいて、それぞれのオブジェクトを含む誤差拡散処理領域を求め、処理領域数の中に占める誤差拡散処理の不用な領域数の合計値を算出し、この合計値が最少になる４個のオブジェクトの組をグループとする処理である。
【００６６】
このようにしてグループ化処理部２８がグループ化した４個のオブジェクトの画像データは、ステップＳ１０８の処理において、それぞれが誤差拡散処理ユニット２９Ａ〜２９Ｄに入力される。各誤差拡散処理ユニット２９Ａ〜２９Ｄは入力された画像データを処理し画像出力部２４に出力画像データを出力してステップＳ１０６の判別処理に戻る。
【００６７】
ステップＳ１０６の判別処理においてオブジェクトリストのオブジェクト数が４以上でないと判別されるまでグループ化処理部２８はステップＳ１０７、Ｓ１０８の処理を繰り返す。ステップＳ１０６の判別処理において、オブジェクトリストのオブジェクト数が４以上でないと判別されると、グループ化されなかったオブジェクト（残りのオブジェクト）は、ステップＳ１０９の処理において、通常の方法（例えば、図９や図１０に示す従来の並列誤差拡散処理の方法）で誤差拡散処理され、入力画像データの誤差拡散処理を終了する。
【００６８】
画像出力部２４に出力された画像データは、記憶部１３（図１が参照）に書き戻される。この時、各オブジェクトの画像データは、誤差拡散処理のために読み出したアドレスと同じアドレスに書き戻されるから、オブジェクトの位置は誤差拡散処理の前と後でも同じ位置になる。全てのオブジェクトの誤差拡散処理が完了し記憶部１３に誤差拡散処理後の画像データが揃うと、制御部１２は、記憶部１３に書き戻された画像データをＶＲＡＭにビットマップ展開し、表示部１６に表示し、または、プリンタ部１４で印刷する。
【００６９】
以上、詳細に説明したように本発明によれば、入力画像データからオブジェクトを抽出し、各誤差拡散処理ユニットで誤差拡散処理を行うオブジェクトの組み合わせを、誤差拡散処理が不用な画素数が少なくなるように選択するので、並列誤差拡散処理を効率良く行うことができ、また、オブジェクトを抽出してオブジェクト単位で並列誤差拡散処理を行うので、ディフェクトを抑制することができ出力画像の画質を向上することができるようになる。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施例にかかる画像処理装置を有する画像形成装置の構成を示す図である。
【図２】本発明の実施例にかかる画像処理装置の構成を示す機能ブロック図である。
【図３】本発明の実施例にかかる並列誤差拡散処理の概念を示す概念図である。
【図４】外部から入力された画像データの一例を示す概念図である。
【図５】図４の入力画像データからオブジェクトを抽出する際の処理を説明するための説明図である。
【図６】オブジェクトリストの構成を示すデータ構成図である。
【図７】本発明の実施例にかかる並列誤差拡散処理の手順を示すフローチャートである。
【図８】カラープリンタなどの画像形成装置における誤差拡散法による中間調処理の概念を説明するための説明図である。
【図９】画像データを並列誤差拡散処理する一例の処理概念を示す概念図である。
【図１０】画像データを並列誤差拡散処理する他の一例の処理概念を示す概念図である。
【符号の説明】
【００７１】
１・・・・画像形成装置
１１・・・スキャナ部
１２・・・制御部
１２１・・画像処理部（並列誤差拡散処理装置）
１３・・・記憶部
１４・・・プリンタ部
１５・・・操作部
１６・・・表示部
１７・・・通信部
２１・・・プロセッサ（プロセッサＡ）
２２・・・プロセッサ（プロセッサＢ）
２３・・・画像入力部
２４・・・画像出力部
２５・・・内部記憶部
２６・・・オブジェクト抽出部
２７・・・オブジェクトリスト管理部
２８・・・グループ化処理部
２９・・・並列誤差拡散処理部
２９Ａ〜２９Ｄ・・・誤差拡散処理ユニット
【図１】
2009071382.tif 000003
【図２】
2009071382.tif 000004
【図３】
2009071382.tif 000005
【図４】
2009071382.tif 000006
【図５】
2009071382.tif 000007
【図６】
2009071382.tif 000008
【図７】
2009071382.tif 000009
【図８】
2009071382.tif 000010
【図９】
2009071382.tif 000011
【図１０】
2009071382.tif 000012