JP3887135B2 - Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method - Google Patents

Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method Download PDF

Info

Publication number
JP3887135B2
JP3887135B2 JP37190199A JP37190199A JP3887135B2 JP 3887135 B2 JP3887135 B2 JP 3887135B2 JP 37190199 A JP37190199 A JP 37190199A JP 37190199 A JP37190199 A JP 37190199A JP 3887135 B2 JP3887135 B2 JP 3887135B2
Authority
JP
Japan
Prior art keywords
data
image
processing
image processing
processor
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.)
Expired - Fee Related
Application number
JP37190199A
Other languages
Japanese (ja)
Other versions
JP2001184499A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP37190199A priority Critical patent/JP3887135B2/en
Publication of JP2001184499A publication Critical patent/JP2001184499A/en
Application granted granted Critical
Publication of JP3887135B2 publication Critical patent/JP3887135B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同種の演算を同時並行に実行させる画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
従来、ASIC(Application Specific Integrated Circuit)による画像処理装置において適応制御する場合には、図12に示すように、入力データをシェーディング補正部でシェーディング補正した後に、たとえばエッジ/非エッジの区別や、ノイズ/非ノイズなどの各画素ごとの特徴量を特徴量抽出部で抽出するとともに、シェーディング補正後のデータが2つの階調処理部で並行処理される。そして、この特徴量抽出部が抽出した特徴量に基づいてセレクター部により階調処理結果が選択される。
【0003】
また、かかる適応階調処理を一つのSIMD(Single Instruction Multiple Date stream)プロセッサーにて実行する場合を考えると、図13に示すように、1SIMD分のデータが同じ動作で処理されるため、階調処理部1301および1302による処理結果が保持され、特徴量抽出部が抽出した特徴量に基づいて、出力選択部が階調処理結果を選択することとなる。
【0004】
具体的には、図14に示すように、この階調処理部1301では、処理に必要なデータをメモリー(DATA RAM)からロードし、そのデータを用いてすべての画素をN値化して処理結果をレジスタに保存する。また、階調処理部1302では、やはり必要なデータをメモリー(DATA RAM)からロードし、そのデータを用いてすべての画素をN値化して処理結果を別のレジスタに保存する。
【0005】
このように、従来、SIMDプロセッサーアレイ構造からなる画像処理システムを用いて画素ごとの適応的処理をおこなう場合には、複数の処理を並列ではなく逐次直列的に処理して処理結果を出力するのが一般的である。
【0006】
【発明が解決しようとする課題】
しかしながら、かかる直列的な処理をおこなうこととしたのでは、適応的におこなう処理の数が多くなればなるほど処理時間が累増するという結果を招く。たとえば、2つの処理結果を適応的に切り分ける場合には、プログラムを2回分実行する必要が生ずる。
【0007】
このため、処理に使用するデータを最適に配置して、処理プログラムを複数回実行しなくとも、たとえば2値化と3値化または2値化と変動2値化といった処理論理が類似した複数の処理をいかにして一度に実行するかが極めて重要な課題となっている。
【0008】
なお、特開平10−124656号公報には、任意のデータを利用して出力データを周辺の要素プロセッサーから最適な形で供給するシステムで拡大縮小処理をおこなう技術が開示されているが、この先行技術は、拡大/縮小というような倍率によって一意にパターンが定まるようなものについては適用できるが、適用的にデータを選択する場合に適用できるものではない。
【0009】
この発明は、上述した従来技術による問題点を解消するため、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項1に記載の発明にかかる画像処理装置は、複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同種の演算を同時並行に実行させる画像処理装置において、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう複数の要素プロセッサーと、所定の要素プロセッサーにより保持されたデータを前記画像データの特徴量に基づいて選択して他の要素プロセッサーに供給するデータ供給手段と、前記データ供給手段による各要素プロセッサーへのデータ供給後に、各要素プロセッサーによる所定の処理を同時並行的に実行制御する制御手段と、を備えたことを特徴とする。
【0011】
この請求項1に記載の発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御することとしたので、処理プログラムを複数回実行しなくとも、処理論理が類似した複数の処理を効率良く一度に実行することができる。
【0012】
また、請求項2に記載の発明にかかる画像処理装置は、請求項1に記載の発明において、前記複数の要素プロセッサーによる処理にそれぞれ必要なデータを記憶する記憶手段をさらに備え、前記記憶手段に記憶したデータを前記所定の要素プロセッサーに格納することを特徴とする。
【0013】
この請求項2に記載の発明によれば、記憶手段に記憶した複数の要素プロセッサーによる処理にそれぞれ必要なデータを所定の要素プロセッサーに格納することとしたので、データ記憶容量の低減およびデータアクセスの高速化を図ることができる。
【0014】
また、請求項3に記載の発明にかかる画像処理装置は、請求項1または2に記載の発明において、前記所定の要素プロセッサーは、ライン方向に所定の間隔で位置する要素プロセッサーであることを特徴とする。
【0015】
この請求項3に記載の発明によれば、ライン方向に所定の間隔で位置する要素プロセッサーを所定の要素プロセッサーとすることとしたので、さらにデータ記憶容量の低減およびデータアクセスの高速化を図ることができる。
【0016】
また、請求項4に記載の発明にかかる画像処理装置は、請求項1または2に記載の発明において、前記所定の要素プロセッサーは、ライン方向の偶数番目若しくは奇数番目に位置する要素プロセッサーであることを特徴とする。
【0017】
この請求項4に記載の発明によれば、ライン方向の偶数番目若しくは奇数番目に位置する要素プロセッサーを所定の要素プロセッサーとすることとしたので、所定の要素プロセッサーおよび他のプロセッサーに迅速かつ簡易にデータを設定することができる。
【0018】
また、請求項5に記載の発明にかかる画像処理方法は、複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同種の演算を同時並行に実行させる画像処理方法において、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持されたデータを前記画像データの特徴量に基づいて選択して他の要素プロセッサーに供給するデータ供給工程と、前記データ供給工程による各要素プロセッサーへのデータ供給後に、各要素プロセッサーによる所定の処理を同時並行的に実行制御する制御工程と、を含んだことを特徴とする。
【0019】
この請求項5に記載の発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御することとしたので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【0020】
また、請求項6に記載の発明にかかる画像処理方法は、請求項5に記載の発明において、前記複数の要素プロセッサーによる処理にそれぞれ必要なデータを記憶手段に記憶し、該記憶手段に記憶したデータを前記所定の要素プロセッサーに格納することを特徴とする。
【0021】
この請求項6に記載の発明によれば、記憶手段に記憶した複数の要素プロセッサーによる処理にそれぞれ必要なデータを所定の要素プロセッサーに格納することとしたので、データ記憶容量の低減およびデータアクセスの高速化を図ることができる。
【0022】
また、請求項7に記載の発明にかかる記録媒体は、請求項5または6に記載された方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムを機械読み取り可能となり、これによって、請求項5または6の動作をコンピュータによって実現することができる。
【0023】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像処理装置、画像処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の好適な実施の形態を詳細に説明する。なお、本実施の形態では、複写機、プリンター、スキャナおよびファクシミリなどの複合したディジタル複合機に本発明を適用した場合を示すこととする。
【0024】
(実施の形態1)
まず、本実施の形態にかかる画像処理装置の原理について説明する。図1は、この発明の本実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。図1において、画像処理装置は、以下に示す5つのユニットから形成される。
【0025】
具体的には、同図に示すように、この画像処理装置は、画像データ制御ユニット100と、画像データを読み取る画像読取ユニット101と、画像を蓄積する画像メモリーを制御して画像データの書込み/読出しをおこなう画像メモリー制御ユニット102と、画像データに対し加工編集等の画像処理を施す画像処理ユニット103と、画像データを転写紙等に書き込む画像書込ユニット104とからなる。
【0026】
各ユニットは、画像データ制御ユニット100を中心に配置され、画像読取ユニット101、画像メモリー制御ユニット102、画像処理ユニット103および画像書込ユニット104がそれぞれ画像データ制御ユニット100に接続されている。なお、本発明にかかる2値画像の密度変換は、画像処理ユニット103によっておこなわれる。
【0027】
(画像データ制御ユニット100)
この画像データ制御ユニット100は、
(1)データのバス転送効率を向上させるためのデータ圧縮処理(一次圧縮)、
(2)一次圧縮データの画像データへの転送処理、
(3)画像合成処理(複数ユニットからの画像データを合成することが可能である。また、データバス上での合成も含む。)、
(4)画像シフト処理(主走査および副走査方向の画像のシフト)、
(5)画像領域拡張処理(画像領域を周辺へ任意量だけ拡大することが可能)、
(6)画像変倍処理(たとえば、50%または200%の固定変倍)、
(7)パラレルバス・インターフェース処理、
(8)シリアルバス・インターフェース処理(後述するプロセス・コントローラー211とのインターフェース)、
(9)パラレルデータとシリアルデータのフォーマット変換処理、
(10)画像読取ユニット101とのインターフェース処理、
(11)画像処理ユニット103とのインターフェース処理、
などをおこなう。
【0028】
(画像読取ユニット101)
画像読取ユニット101は、
(1)光学系による原稿反射光の読み取り処理、
(2)CCD(Charge Coupled Device:電荷結合素子)での電気信号への変換処理、
(3)A/D変換器でのディジタル化処理、
(4)シェーディング補正処理(光源の照度分布ムラを補正する処理)、
(5)スキャナーγ補正処理(読み取り系の濃度特性を補正する処理)、
などをおこなう。
【0029】
(画像メモリー制御ユニット102)
画像メモリー制御ユニット102は、
(1)システム・コントローラーとのインターフェース制御処理、
(2)パラレルバス制御処理(パラレルバスとのインターフェース制御処理)、
(3)ネットワーク制御処理、
(4)シリアルバス制御処理(複数の外部シリアルポートの制御処理)、
(5)内部バスインターフェース制御処理(操作部とのコマンド制御処理)、(6)ローカルバス制御処理(システム・コントローラーを起動させるためのROM、RAM、フォントデータのアクセス制御処理)、
(7)メモリー・モジュールの動作制御処理(メモリー・モジュールの書き込み/読み出し制御処理等)、
(8)メモリー・モジュールへのアクセス制御処理(複数のユニットからのメモリー・アクセス要求の調停をおこなう処理)、
(9)データの圧縮/伸張処理(メモリー有効活用のためのデータ量の削減するための処理)、
(10)画像編集処理(メモリー領域のデータクリア、画像データの回転処理、メモリー上での画像合成処理等)、
などをおこなう。
【0030】
(画像処理ユニット103)
画像処理ユニット103は、
(1)シェーディング補正処理(光源の照度分布ムラを補正する処理)、
(2)スキャナーγ補正処理(読み取り系の濃度特性を補正する処理)、
(3)MTF補正処理、
(4)平滑処理、
(5)主走査方向の任意変倍処理、
(6)濃度変換(γ変換処理:濃度ノッチに対応)、
(7)単純多値化処理、
(8)単純二値化処理、
(9)誤差拡散処理、
(10)ディザ処理、
(11)ドット配置位相制御処理(右寄りドット、左寄りドット)、
(12)孤立点除去処理、
(13)像域分離処理(色判定、属性判定、適応処理)、
(14)密度変換処理、
などをおこなう。
【0031】
なお、この画像処理ユニット103は、複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同一の演算を同時並行に実行させるSIMD型の処理をおこなう。
【0032】
(画像書込ユニット104)
画像書込ユニット104は、
(1)エッジ平滑処理(ジャギー補正処理)、
(2)ドット再配置のための補正処理、
(3)画像信号のパルス制御処理、
(4)パラレルデータとシリアルデータのフォーマット変換処理、
などをおこなう。
【0033】
(ディジタル複合機のハードウエア構成)
つぎに、本実施の形態にかかる画像処理装置がディジタル複合機を構成する場合のハードウエア構成について説明する。図2は本実施の形態にかかる画像処理装置のハードウエア構成の一例を示すブロック図である。
【0034】
図2のブロック図において、本実施の形態にかかる画像処理装置は、読取ユニット201と、センサー・ボード・ユニット202と、画像データ制御部203と、画像処理プロセッサー204と、ビデオ・データ制御部205と、作像ユニット(エンジン)206とを備える。また、本実施の形態にかかる画像処理装置は、シリアルバス210を介して、プロセス・コントローラー211と、RAM212と、ROM213とを備える。
【0035】
ここで、この画像処理プロセッサー204は、SIMD型プロセッサーを用いて画像の処理計算をおこなうプロセッサーであり、画像データ制御部203を介して外部との間でデータの授受をおこなう。
【0036】
また、本実施の形態にかかる画像処理装置は、パラレルバス220を介して、画像メモリー・アクセス制御部221とファクシミリ制御ユニット224とを備え、さらに、画像メモリー・アクセス制御部221に接続されるメモリー・モジュール222と、システム・コントローラー231と、RAM232と、ROM233と、操作パネル234とを備える。
【0037】
ここで、上記各構成部と、図1に示した各ユニット100〜104との関係について説明する。すなわち、読取ユニット201およびセンサー・ボード・ユニット202により、図1に示した画像読取ユニット101の機能を実現する。また同様に、画像データ制御部203により、画像データ制御ユニット100の機能を実現する。また同様に、画像処理プロセッサー204により画像処理ユニット103の機能を実現する。
【0038】
また同様に、ビデオ・データ制御部205および作像ユニット(エンジン)206により画像書込ユニット104を実現する。また同様に、画像メモリー・アクセス制御部221およびメモリー・モジュール222により画像メモリー制御ユニット102を実現する。
【0039】
つぎに、各構成部の内容について説明する。原稿を光学的に読み取る読取ユニット201は、ランプとミラーとレンズから構成され、原稿に対するランプ照射の反射光をミラーおよびレンズにより受光素子に集光する。
【0040】
受光素子、たとえばCCDは、センサー・ボード・ユニット202に搭載され、CCDにおいて電気信号に変換された画像データはディジタル信号に変換された後、センサー・ボード・ユニット202から出力(送信)される。
【0041】
センサー・ボード・ユニット202から出力(送信)された画像データは画像データ制御部203に入力(受信)される。機能デバイス(処理ユニット)およびデータバス間における画像データの伝送は画像データ制御部203がすべて制御する。
【0042】
画像データ制御部203は、画像データに関し、センサー・ボード・ユニット202、パラレルバス220、画像処理プロセッサー204間のデータ転送、画像データに対するプロセス・コントローラー211と画像処理装置の全体制御を司るシステム・コントローラー231との間の通信をおこなう。また、RAM212はプロセス・コントローラー211のワークエリアとして使用され、ROM213はプロセス・コントローラー211のブートプログラム等を記憶している。
【0043】
センサー・ボード・ユニット202から出力(送信)された画像データは画像データ制御部203を経由して画像処理プロセッサー204に転送(送信)され、光学系およびディジタル信号への量子化にともなう信号劣化(スキャナー系の信号劣化とする)を補正し、再度、画像データ制御部203へ出力(送信)される。
【0044】
画像メモリー・アクセス制御部221は、メモリー・モジュール222に対する画像データの書き込み/読み出しを制御する。また、パラレルバス220に接続される各構成部の動作を制御する。また、RAM232はシステム・コントローラー231のワークエリアとして使用され、ROM233はシステム・コントローラー231のブートプログラム等を記憶している。
【0045】
操作パネル234は、画像処理装置がおこなうべき処理を入力する。たとえば、処理の種類(複写、ファクシミリ送信、画像読込、プリント等)および処理の枚数等を入力する。これにより、画像データ制御情報の入力をおこなうことができる。
【0046】
つぎに、読み取った画像データにはメモリー・モジュール222に蓄積して再利用するジョブと、メモリー・モジュール222に蓄積しないジョブとがあり、それぞれの場合について説明する。メモリー・モジュール222に蓄積する例としては、1枚の原稿について複数枚を複写する場合に、読取ユニット201を1回だけ動作させ、読取ユニット201により読み取った画像データをメモリー・モジュール222に蓄積し、蓄積された画像データを複数回読み出すという方法がある。
【0047】
メモリー・モジュール222を使わない例としては、1枚の原稿を1枚だけ複写する場合に、読み取り画像データをそのまま再生すればよいので、画像メモリー・アクセス制御部221によるメモリー・モジュール222へのアクセスをおこなう必要はない。
【0048】
まず、メモリー・モジュール222を使わない場合、画像処理プロセッサー204から画像データ制御部203へ転送されたデータは、再度画像データ制御部203から画像処理プロセッサー204へ戻される。画像処理プロセッサー204においては、センサー・ボード・ユニット202におけるCCDによる輝度データを面積階調に変換するための画質処理をおこなう。
【0049】
画質処理後の画像データは画像処理プロセッサー204からビデオ・データ制御部205に転送される。面積階調に変化された信号に対し、ドット配置に関する後処理およびドットを再現するためのパルス制御をおこない、その後、作像ユニット206において転写紙上に再生画像を形成する。
【0050】
つぎに、メモリー・モジュール222に蓄積し画像読み出し時に付加的な処理、たとえば画像方向の回転、画像の合成等をおこなう場合の画像データの流れについて説明する。画像処理プロセッサー204から画像データ制御部203へ転送された画像データは、画像データ制御部203からパラレルバス220を経由して画像メモリー・アクセス制御部221に送られる。
【0051】
ここでは、システム・コントローラー231の制御に基づいて画像データとメモリー・モジュール222のアクセス制御、外部PC(パーソナル・コンピューター)223のプリント用データの展開、メモリー・モジュール222の有効活用のための画像データの圧縮/伸張をおこなう。
【0052】
画像メモリー・アクセス制御部221へ送られた画像データは、データ圧縮後メモリー・モジュール222へ蓄積され、蓄積された画像データは必要に応じて読み出される。読み出された画像データは伸張され、本来の画像データに戻し画像メモリー・アクセス制御部221からパラレルバス220を経由して画像データ制御部203へ戻される。
【0053】
画像データ制御部203から画像処理プロセッサー204への転送後は画質処理、およびビデオ・データ制御部205でのパルス制御をおこない、作像ユニット206において転写紙上に再生画像を形成する。
【0054】
画像データの流れにおいて、パラレルバス220および画像データ制御部203でのバス制御により、ディジタル複合機の機能を実現する。ファクシミリ送信機能は読み取られた画像データを画像処理プロセッサー204にて画像処理を実施し、画像データ制御部203およびパラレルバス220を経由してファクシミリ制御ユニット224へ転送する。ファクシミリ制御ユニット224にて通信網へのデータ変換をおこない、公衆回線(PN)225へファクシミリデータとして送信する。
【0055】
一方、受信されたファクシミリデータは、公衆回線(PN)225からの回線データをファクシミリ制御ユニット224にて画像データへ変換され、パラレルバス220および画像データ制御部203を経由して画像処理プロセッサー204へ転送される。この場合、特別な画質処理はおこなわず、ビデオ・データ制御部205においてドット再配置およびパルス制御をおこない、作像ユニット206において転写紙上に再生画像を形成する。
【0056】
複数ジョブ、たとえば、コピー機能、ファクシミリ送受信機能、プリンター出力機能が並行に動作する状況において、読取ユニット201、作像ユニット206およびパラレルバス220の使用権のジョブへの割り振りをシステム・コントローラー231およびプロセス・コントローラー211において制御する。
【0057】
プロセス・コントローラー211は画像データの流れを制御し、システム・コントローラー231はシステム全体を制御し、各リソースの起動を管理する。また、ディジタル複合機の機能選択は操作パネル(操作部)234において選択入力し、コピー機能、ファクシミリ機能等の処理内容を設定する。
【0058】
システム・コントローラー231とプロセス・コントローラー211は、パラレルバス220、画像データ制御部203およびシリアルバス210を介して相互に通信をおこなう。具体的には、画像データ制御部203内においてパラレルバス220とシリアルバス210とのデータ・インターフェースのためのデータフォーマット変換をおこなうことにより、システム・コントローラー231とプロセス・コントローラー211間の通信をおこなう。
【0059】
(SIMD型プロセッサーの構成)
つぎに、SIMD型プロセッサーの構成について説明する。図3は、SIMD型プロセッサーの構成を説明するための説明図である。同図に示すように、このSIMD型プロセッサーにおいては、各画素に相当するアキュムレータ(A)が主走査方向に並べられている。
【0060】
各アキュムレータは、16ビットの幅のAおよびFのレジスタのほかに、8ビットのレジスタを複数有しており、このレジスタに計算データや計算結果などを格納する。なお、1画素に相当する一つの単位を1PE{プロセッサー・エレメント)といい、一度に処理できる主走査方向に並んだ複数のPE分を1SIMDという。また、このSIMD型プロセッサーでは、各PEは左右3つ隣りのPEの値(アキュムレータおよびレジスタの持つ値)を参照することができるものとする。
【0061】
(階調処理部の構成)
つぎに、図1に示した画像処理ユニット103上でおこなう階調処理について説明する。なお、ここでは画像処理ユニット103内の階調処理部が階調処理をおこなうこととする。
【0062】
図4は、シェーディング補正後の画像を階調処理する階調処理部の構成を示す機能ブロック図である。同図に示すように、この階調処理部401では、まず最初に階調処理1のデータロード処理403と階調処理2のデータロード処理404とをおこない、画像の特徴量に基づいて必要なデータセット405をおこない、全画素についての量子化(N値化)処理406が一動作で実行される。
【0063】
したがって、この階調処理部401によれば、データの供給および選択を画像の特徴量に合わせてセットすることになるので、処理そのものが似ている部分をなるべく一つにまとめて同じ処理の重複を避けることができる。なお、ここでいう画像の特徴量とは、エッジ/非エッジの区別や、ノイズ/非ノイズなどの各画素ごとの特徴量のことである。
【0064】
(各要素プロセッサーへのデータの供給)
つぎに、データメモリー(DATA RAM)から各要素プロセッサーへのデータの供給について説明する。図5は、データメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。なお、同図に示すL3〜L1、P、U1〜U3は、各画素にそれぞれ相当するものとし、各画素位置を0〜6で示すこととする。また、データを供給する段階では、どの画素にどのデータを供給する必要があるかが分からないので、ここでは、必要とされるデータを規則的に供給することとしている。
【0065】
すなわち、各画素が、それぞれの特徴量に基づいて、2つのしきい値a,bを用いた3値誤差拡散若しくはしきい値cを用いた2値誤差拡散のいずれかを選択する場合には、図5(a)に示すように、すべてのしきい値a,b,cを画素位置が偶数の画素のレジスタにセットする。
【0066】
たとえば、注目画素Pが3値誤差拡散をおこなう画素である場合には、L1またはU1のデータを参照して3値化し、逆に注目画素Pが2値誤差拡散をおこなう画素である場合には、L1またはU1のデータを参照して2値化する。
【0067】
具体的には、同図(b)に示すように、3つのしきい値a,b,cはデータメモリー(DATA RAM)501に格納されており、このデータメモリー501の3つのしきい値を偶数画素のレジスタR10,R11,R12に読み込む。そして、3値誤差拡散をおこなう画素にはフラグをたててレジスタFにしきい値a,bをセットし、3値誤差拡散をおこなわない画素にはフラグをたてることなくレジスタFにしきい値cを重ねてセットする。
【0068】
そして、画像データがレジスタFの上位ビット(aまたはc)よりも小さければ「00」を出力し、大きければレジスタFの下位ビット(bまたはc)と比較して、大きければ「11」を出力し、小さければ「10」または「01」を出力する処理を各画素ごと同時におこなう。
【0069】
ここで、2値誤差拡散をおこなう画素の場合には、レジスタFの上位ビットのしきい値と下位ビットのしきい値がともにcとなるので、「00」または「11」のみしか出力されない。言い換えると、たとえ2値誤差拡散を3値誤差拡散と同様に動作させた場合でも、2値化処理結果が得られることとなる。なお、データのロードは必ずしも偶数位置の画素に限られるものではなく、任意の位置とすることもできる。
【0070】
つぎに、図5に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順について説明する。図6は、図5に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【0071】
同図に示すように、まず最初に偶数位置であるか否かを調べ(ステップS601)、偶数位置である場合には(ステップS601肯定)フラグ=1をセットし(ステップS602)、偶数位置でない場合には(ステップS601否定)フラグ=0をセットする(ステップS603)。
【0072】
そして、このフラグが1でない場合には(ステップS604否定)、特徴量データが1であるか否かをさらに調べ(ステップS609)、特徴量が1である場合には(ステップS609肯定)隣りのレジスタに保持したしきい値a,bをセットして量子化し(ステップS610、S612)、特徴量が1でない場合には(ステップS609否定)隣りのレジスタに保持したしきい値cをセットして量子化する(ステップS611、S612)。
【0073】
これに対して、このフラグが1である場合には(ステップS604肯定)、データメモリー501に記憶したしきい値データをロードした後(ステップS605)、しきい値データ特徴量データが1であるか否かをさらに調べる(ステップS606)。
【0074】
その結果、特徴量が1である場合には(ステップS606肯定)、ロードしたしきい値a,bをセットして量子化し(ステップS608、S612)、特徴量が1でない場合には(ステップS606否定)、ロードしたしきい値cをセットして量子化する(ステップS607、S612)。
【0075】
上述してきたように、本実施の形態1では、データメモリー(DATA RAM)501に記憶したしきい値a,b,cを偶数位置のレジスタR10〜R12に記憶し、偶数位置の場合にはこのしきい値を特徴量に基づいてレジスタFにセットし、奇数位置の場合には、偶数位置のレジスタに保持したしきい値を特徴量に基づいてレジスタFにセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【0076】
(実施の形態2)
ところで、上記実施の形態1では、2値化しきい値および3値化しきい値を設定する場合を示したが、本実施の形態2では、各画素ごとの処理の切替をともなうことなく、すべての画素に対して4×4のディザ処理をおこなう場合について説明することとする。なお、この場合の各要素プロセッサーへのデータの供給以外の説明については実施の形態1に示すものと同様のものとなるので、ここではその説明を省略する。
【0077】
図7は、実施の形態2にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。なお、上記実施の形態1と同様に、同図に示すL3〜L1、P、U1〜U3は、各画素にそれぞれ相当するものとし、各画素位置を0〜6で示すこととする。また、データを供給する段階では、どの画素にどのデータを供給する必要があるかが分からないので、ここでは、必要とされるデータを規則的に供給することとしている。
【0078】
図7(a)に示すように、同図(b)に示すデータメモリー(DATA RAM)701に記憶したディザマトリックスのしきい値データを画素位置が偶数となるレジスタに対して供給する。なお、このデータメモリー701に記憶したデータt00〜t33は、同図(c)に示すディザマトリックスを形成するしきい値であり、それぞれ隣り合う画素のしきい値を並べて16ビットで格納されている。なお、同図(a)に示すレジスタFは、16ビット幅であるので、データメモリー701に格納したデータをたとえばt00とt01というように1動作で2つ取り出すことができる。
【0079】
そして、奇数位置画素は、隣りの偶数位置画素のレジスタFの下位ビットからデータを取得することにより、少ない動作でメモリーからのデータ供給をおこなうことができる。具体的には、ディザの1行目の処理をおこなう場合には、本来であればt00〜t03という4つのデータをロードする際に4回のロード動作が必要となるが、この実施の形態では、t00とt02の位置でのロード動作、奇数位置画素から偶数位置画素からデータをロードするロード動作の合計3回のロード動作で処理することができる。同様にして、8×8のディザマトリックスを使用した場合には、8回のロード動作を5回のロード動作で処理することができる。なお、このデータセット後に、その大小でN値化をおこなうことになる。
【0080】
つぎに、図7に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順について説明する。図8は、図7に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【0081】
同図に示すように、まず最初に画素位置が偶数であるか否かを調べ(ステップS801)、偶数位置である場合には(ステップS801肯定)フラグ=1をセットし(ステップS802)、偶数位置でない場合には(ステップS801否定)フラグ=0をセットする(ステップS803)。
【0082】
そして、このフラグが1であるか否かを調べ(ステップS804)、1である場合には(ステップS804肯定)、データメモリー501に記憶したしきい値データをロードする(ステップS805)。
【0083】
その後、このフラグが0であるか否かを調べ(ステップS806)、0である場合には(ステップS806肯定)、偶数画素からしきい値データを供給する(ステップS807)。
【0084】
そして、画像データがしきい値データよりも大きいか否かを調べ(ステップS808)、大きい場合には(ステップS808肯定)出力=1とし(ステップS809)、大きくない場合には(ステップS808否定)出力=0とする(ステップS810)。
【0085】
上述してきたように、本実施の形態2では、データメモリー(DATA RAM)701にディザマトリックスの各しきい値を記憶しておき、それぞれ隣り合う画素のしきい値を並べて取り出して偶数位置画素のレジスタFに格納し、偶数位置の場合にはこのしきい値をレジスタR10にセットし、奇数位置の場合には、偶数位置のレジスタFに保持したしきい値をレジスタR10にセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【0086】
(実施の形態3)
ところで、上記実施の形態2では、一つのディザマトリックスを用いる場合を示したが、本発明は複数のディザマトリックスを用いる場合に適用することもできる。そこで、本実施の形態3では、2つのディザマトリックスを切り分けて使用する場合を示すこととする。
【0087】
図9は、実施の形態3にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。なおここでは、同図(c)に示すディザマトリックス902と903とを切り分けて使用する場合を示すこととする。
【0088】
なお、SIMDの1画素が1動作でデータを供給できる範囲が、図3に示すように左右3画素までであれば、データのロードを偶数/奇数で動作させる必要はなく、たとえば4の倍数位置と4の倍数+1の位置でのロードというように、プログラム動作させることができる。このため、本実施の形態3では、4の倍数位置でディザマトリックス902の各しきい値をロードし、4の倍数+1の位置でディザマトリックス903の各しきい値をロードするものとする。
【0089】
具体的には、この場合には、ディザマトリックス902の各しきい値t0a〜t0pと、ディザマトリックス903の各しきい値t00〜t33とをデータメモリー(DATA RAM)901に記憶しておく。そして、画素位置0のレジスタFにしきい値t00およびt01を格納し、レジスタR10にしきい値t02およびt03を格納し、各レジスタR11などにもディザマトリックス903のしきい値を格納する。同様に、画素位置が4の倍数の場合にも、ディザマトリックス903のしきい値を格納する。
【0090】
一方、画素位置1のレジスタFにしきい値t0aおよびt0bを格納し、レジスタR10にしきい値t0cおよびt0dを格納し、各レジスタR11などにもディザマトリックス902のしきい値を格納する。同様に、画素位置が4の倍数+1の場合にも、ディザマトリックス902のしきい値を格納する。
【0091】
ここで、SIMDの1画素が1動作でデータを供給できる範囲が、左右3画素までであるため、各画素位置においてディザマトリックス902および903の各しきい値をロードすることができる。
【0092】
上述してきたように、本実施の形態3では、データメモリー(DATA RAM)701に2種類のディザマトリックス902および903の各しきい値を記憶しておき、4の倍数の画素位置の各レジスタにディザマトリックス903の各しきい値を格納し、4の倍数+1の画素位置の各レジスタにディザマトリックス902の各しきい値を格納し、各画素位置は、これらのしきい値データをロードして自身のレジスタにセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【0093】
(実施の形態4)
ところで、上記実施の形態2および3では、単にディザマトリックスの各しきい値をセットする場合を示すこととしたが、本発明はこれに限定されるものではなく、しきい値にノイズデータを加算して2値化をおこなう場合に適用することもできる。そこで、本実施の形態4では、しきい値にノイズデータを加算して2値化をおこなう場合を示すこととする。
【0094】
図10は、実施の形態4にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。なお、偶数位置画素にディザマトリックスの各しきい値をロードし、これを奇数位置画素に振り分ける点は実施の形態2と同様であるので、このディザマトリックスについての説明は省略する。
【0095】
同図(c)に示す3×3のマトリックス1003はノイズデータであり、ここでは、ディザマトリックス1002のしきい値にこのノイズデータを加算して2値化をおこなうことにより、しきい値を変動させた多値化処理をおこなっている。なお、このノイズデータが負であれば、このノイズデータの加算は、ノイズの大きさを減算していることになる。
【0096】
具体的には、本実施の形態4では、ディザマトリックス1002のしきい値およびノイズデータをデータメモリー(DATA RAM)1001に記憶しておき、画素位置が3の倍数のレジスタにノイズデータをロードし、他の画素位置(3の倍数+1、3の倍数+2)の画素は、この3の倍数のレジスタから必要なノイズデータを取得し、画像の特徴量に応じてノイズを付加するか付加しないかを切り換えて適応的な処理をおこなう。
【0097】
つぎに、図10に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順について説明する。図11は、図10に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【0098】
同図に示すように、まず最初に画素位置が偶数であるか否かを調べ(ステップS1101)、偶数位置である場合には(ステップS1101肯定)メモリーからしきい値をロードし(ステップS1102)、偶数位置でない場合には(ステップS1101否定)偶数位置画素からデータをロードする(ステップS1103)。
【0099】
その後、画素位置が3の倍数であるか否かを確認し(ステップS1104)、3の倍数である場合には(ステップS1104肯定)そのままノイズデータをロードする(ステップS1105)。なお、このノイズデータは、ある大きさvの加減算となる値である。
【0100】
これに対して、3の倍数でない場合には(ステップS1104否定)、画素位置が3の倍数+1であるか否かを調べ(ステップS1106)、3の倍数+1であれば(ステップS1106肯定)、隣りの画素からR11のデータを取り出してセットし(ステップS1107)、3の倍数+2であれば(ステップS1106否定)、2つ隣りの画素からR12のデータを取り出してセットする(ステップS1108)。なお、左隣りを参照するか右隣りを参照するかは任意に設定することができる。
【0101】
そして、特徴量データが真であるか否かを調べ(ステップS1109)、真である場合には(ステップS1109肯定)格納データを0にして(ステップS1110)格納データをしきい値に加算する(ステップS1111)。なお、偽である場合には(ステップS1109否定)、そのまま格納データをしきい値に加算する(ステップS1111)。すなわち、ここではこの特徴量データに基づいてノイズを付加するか否かを決定しており、特徴量データが真であればノイズデータを0に変更している。
【0102】
そして、画像データがしきい値データよりも大きいか否かを調べ(ステップS1112)、大きい場合には(ステップS1112肯定)結果=1とし(ステップS1113)、大きくない場合には(ステップS1112否定)結果=0とする(ステップS1114)。
【0103】
上述してきたように、本実施の形態4では、データメモリー(DATA RAM)1001にディザマトリックス1002のしきい値およびノイズデータ1003を記憶しておき、特徴量データに基づいてこのノイズデータ1003をしきい値に付加するか否かを決定しつつ各レジスタにしきい値をセットし、その後一括して各画素の処理をおこなうよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる。
【0104】
【発明の効果】
以上説明したように、請求項1に記載の発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御するよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる画像処理装置が得られるという効果を奏する。
【0105】
また、請求項2に記載の発明によれば、記憶手段に記憶した複数の要素プロセッサーによる処理にそれぞれ必要なデータを所定の要素プロセッサーに格納するよう構成したので、データ記憶容量の低減およびデータアクセスの高速化を図ることができる画像処理装置が得られるという効果を奏する。
【0106】
また、請求項3に記載の発明によれば、ライン方向に所定の間隔で位置する要素プロセッサーを所定の要素プロセッサーとするよう構成したので、さらにデータ記憶容量の低減およびデータアクセスの高速化を図ることができる画像処理装置が得られるという効果を奏する。
【0107】
また、請求項4に記載の発明によれば、ライン方向の偶数番目若しくは奇数番目に位置する要素プロセッサーを所定の要素プロセッサーとするよう構成したので、所定の要素プロセッサーおよび他のプロセッサーに迅速かつ簡易にデータを設定することができる画像処理装置が得られるという効果を奏する。
【0108】
また、請求項5に記載の発明によれば、他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう演算部およびレジスタからなる複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持された処理に要するデータを他の要素プロセッサーに供給した後に、各要素プロセッサーによる適応的処理を同時並行的に実行制御するよう構成したので、処理プログラムを複数回実行しなくとも処理論理が類似した複数の処理を効率良く一度に実行することができる画像処理方法が得られるという効果を奏する。
【0109】
また、請求項6に記載の発明によれば、記憶手段に記憶した複数の要素プロセッサーによる処理にそれぞれ必要なデータを所定の要素プロセッサーに格納するよう構成したので、データ記憶容量の低減およびデータアクセスの高速化を図ることができる画像処理方法が得られるという効果を奏する。
【0110】
また、請求項7に記載の発明によれば、請求項5または6に記載された方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムを機械読み取り可能となり、これによって、請求項5または6の動作をコンピュータによって実現することが可能な記録媒体が得られるという効果を奏する。
【図面の簡単な説明】
【図1】この発明の本実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。
【図2】本実施の形態にかかる画像処理装置のハードウエア構成の一例を示すブロック図である。
【図3】SIMD型プロセッサーの構成を説明するための説明図である。
【図4】シェーディング補正後の画像を階調処理する階調処理部の構成を示す機能ブロック図である。
【図5】実施の形態1にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図6】図5に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【図7】実施の形態2にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図8】図7に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【図9】実施の形態3にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図10】実施の形態4にかかるデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給を説明するための説明図である。
【図11】図10に示したデータメモリー(DATA RAM)から各要素プロセッサーへのデータの供給手順を示すフローチャートである。
【図12】ASICによる画像処理装置を用いて適応階調処理をおこなう場合の構成を示す説明図である。
【図13】SIMD型プロセッサーを用いた場合の従来の一般的な構成を示す構成図である。
【図14】図13に示した階調処理部の一般的な構成を示す構成図である。
【符号の説明】
100 画像データ制御ユニット
101 画像読取ユニット
102 画像メモリー制御ユニット
103 画像処理ユニット
104 画像書込ユニット
201 読取ユニット
202 センサー・ボード・ユニット
203 画像データ制御部
204 画像処理プロセッサー
205 ビデオ・データ制御部
206 作像ユニット(エンジン)
210 シリアルバス
211 プロセス・コントローラー
212,232 RAM
213,233 ROM
220 パラレルバス
221 画像メモリー・アクセス制御部
222 メモリー・モジュール
223 パーソナル・コンピューター(PC)
224 ファクシミリ制御ユニット
225 公衆回線
231 システム・コントローラー
234 操作パネル
401 階調処理部
402 特徴量信号
403 階調処理1のデータロード
404 階調処理2のデータロード
405 データセット
406 N値化
501,701,901,1001 データメモリー
702,902,903,1002 ディザマトリックス
1003 ノイズデータ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus that supplies image data to a plurality of element processors and causes each element processor to execute the same type of operation in parallel. The present invention relates to a readable recording medium.
[0002]
[Prior art]
Conventionally, when adaptive control is performed in an image processing apparatus using ASIC (Application Specific Integrated Circuit), as shown in FIG. 12, after the input data is subjected to shading correction by a shading correction unit, for example, edge / non-edge distinction, noise, etc. / The feature amount for each pixel such as non-noise is extracted by the feature amount extraction unit, and the data after shading correction is processed in parallel by the two gradation processing units. Then, the gradation processing result is selected by the selector unit based on the feature amount extracted by the feature amount extraction unit.
[0003]
Considering the case where such adaptive gradation processing is executed by one SIMD (Single Instruction Multiple Date stream) processor, as shown in FIG. 13, data for one SIMD is processed by the same operation. The processing results by the processing units 1301 and 1302 are held, and the output selection unit selects the gradation processing result based on the feature amount extracted by the feature amount extraction unit.
[0004]
Specifically, as shown in FIG. 14, the gradation processing unit 1301 loads data necessary for processing from a memory (DATA RAM), converts all pixels to N-value using the data, and obtains a processing result. In the register. The gradation processing unit 1302 also loads necessary data from a memory (DATA RAM), converts all pixels to N values using the data, and stores the processing result in another register.
[0005]
As described above, when adaptive processing for each pixel is conventionally performed using an image processing system having a SIMD processor array structure, a plurality of processes are processed serially instead of in parallel, and processing results are output. Is common.
[0006]
[Problems to be solved by the invention]
However, if such serial processing is performed, the processing time increases as the number of adaptive processing increases. For example, when adaptively separating two processing results, it is necessary to execute the program twice.
[0007]
For this reason, even if the data used for processing is optimally arranged and the processing program is not executed a plurality of times, a plurality of processing logics having similar processing logic such as binarization and binarization or binarization and variable binarization are used. How to execute processing at once is a very important issue.
[0008]
Japanese Patent Laid-Open No. 10-124656 discloses a technique for performing enlargement / reduction processing using a system that supplies arbitrary output data from peripheral element processors in an optimal form. The technique can be applied to a pattern whose pattern is uniquely determined by a magnification such as enlargement / reduction, but is not applicable to the case of selecting data appropriately.
[0009]
In order to solve the above-described problems caused by the prior art, an image processing apparatus and an image processing method capable of efficiently executing a plurality of processes having similar processing logic at a time without executing a processing program a plurality of times. Another object of the present invention is to provide a computer-readable recording medium on which a program for causing a computer to execute the method is recorded.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problems and achieve the object, an image processing apparatus according to the first aspect of the present invention supplies image data to a plurality of element processors, and performs the same kind of operations simultaneously on each element processor. In an image processing apparatus to be executed, a plurality of element processors that perform processing of image data in parallel using data of other element processors, and data held by a predetermined element processor are based on the feature amount of the image data Data supply means for selecting and supplying to other element processors, and control means for executing and controlling predetermined processing by each element processor simultaneously after data supply to each element processor by the data supply means, It is characterized by having.
[0011]
According to the first aspect of the present invention, the image data is held by a predetermined element processor among a plurality of element processors including a calculation unit and a register that perform processing of image data in parallel using data of another element processor. After the data required for the processed processing is supplied to other element processors, the adaptive processing by each element processor is controlled in parallel, so the processing logic is similar even if the processing program is not executed multiple times. The plurality of processes can be executed efficiently at a time.
[0012]
An image processing apparatus according to a second aspect of the present invention is the image processing apparatus according to the first aspect, further comprising storage means for storing data necessary for processing by the plurality of element processors, and the storage means The stored data is stored in the predetermined element processor.
[0013]
According to the second aspect of the present invention, the data necessary for processing by the plurality of element processors stored in the storage means is stored in the predetermined element processor. The speed can be increased.
[0014]
According to a third aspect of the present invention, in the image processing apparatus according to the first or second aspect, the predetermined element processor is an element processor positioned at a predetermined interval in the line direction. And
[0015]
According to the third aspect of the present invention, since the element processors positioned at predetermined intervals in the line direction are the predetermined element processors, the data storage capacity can be further reduced and the data access speed can be increased. Can do.
[0016]
According to a fourth aspect of the present invention, in the image processing apparatus according to the first or second aspect of the present invention, the predetermined element processor is an element processor located at an even or odd number in a line direction. It is characterized by.
[0017]
According to the fourth aspect of the present invention, since the element processors located at the even or odd number in the line direction are the predetermined element processors, the predetermined element processors and other processors can be quickly and easily provided. Data can be set.
[0018]
An image processing method according to claim 5 is an image processing method for supplying image data to a plurality of element processors and causing each element processor to execute the same type of operation in parallel. Based on the feature amount of the image data, the data held by a predetermined element processor among a plurality of element processors that perform image data processing in parallel using data included in the image data is supplied to other element processors. And a control step of performing execution control of predetermined processing by each element processor simultaneously after supplying data to each element processor in the data supply process.
[0019]
According to the fifth aspect of the present invention, the data held by the predetermined element processor among the plurality of element processors including the arithmetic unit and the register for performing the processing of the image data in parallel using the data of the other element processors. The processing logic is similar even if the processing program is not executed multiple times, since the adaptive processing by each element processor is controlled in parallel after supplying the data required for the processed processing to other element processors. Multiple processes can be executed efficiently at once.
[0020]
According to a sixth aspect of the present invention, in the image processing method according to the fifth aspect of the present invention, the data necessary for processing by the plurality of element processors is stored in the storage means and stored in the storage means. Data is stored in the predetermined element processor.
[0021]
According to the sixth aspect of the present invention, the data necessary for processing by the plurality of element processors stored in the storage means is stored in the predetermined element processor. The speed can be increased.
[0022]
Further, the recording medium according to the invention described in claim 7 records the program for causing a computer to execute the method described in claim 5 or 6 so that the program can be read by a machine. The operation of 5 or 6 can be realized by a computer.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of an image processing apparatus, an image processing method, and a computer-readable recording medium storing a program that causes a computer to execute the method will be described below in detail with reference to the accompanying drawings. . In the present embodiment, the case where the present invention is applied to a complex digital complex machine such as a copying machine, a printer, a scanner, and a facsimile machine will be described.
[0024]
(Embodiment 1)
First, the principle of the image processing apparatus according to this embodiment will be described. FIG. 1 is a block diagram functionally showing the configuration of the image processing apparatus according to this embodiment of the present invention. In FIG. 1, the image processing apparatus is formed of the following five units.
[0025]
Specifically, as shown in the figure, the image processing apparatus controls an image data control unit 100, an image reading unit 101 that reads image data, and an image memory that stores images to write / write image data. An image memory control unit 102 that performs reading, an image processing unit 103 that performs image processing such as processing and editing on the image data, and an image writing unit 104 that writes image data on transfer paper or the like.
[0026]
Each unit is arranged around the image data control unit 100, and the image reading unit 101, the image memory control unit 102, the image processing unit 103, and the image writing unit 104 are connected to the image data control unit 100, respectively. The density conversion of the binary image according to the present invention is performed by the image processing unit 103.
[0027]
(Image data control unit 100)
The image data control unit 100 includes:
(1) Data compression processing (primary compression) for improving data bus transfer efficiency,
(2) Transfer processing of primary compressed data to image data,
(3) Image composition processing (image data from a plurality of units can be composed. In addition, composition on a data bus is also included),
(4) Image shift processing (image shift in the main scanning and sub-scanning directions),
(5) Image area expansion processing (it is possible to enlarge the image area to the periphery by an arbitrary amount),
(6) Image scaling processing (for example, 50% or 200% fixed scaling),
(7) Parallel bus interface processing,
(8) Serial bus interface processing (interface with process controller 211 described later),
(9) Parallel data and serial data format conversion processing,
(10) Interface processing with the image reading unit 101,
(11) Interface processing with the image processing unit 103,
Etc.
[0028]
(Image reading unit 101)
The image reading unit 101 is
(1) Document reflected light reading process by optical system,
(2) Conversion processing into an electric signal in a CCD (Charge Coupled Device).
(3) Digitization processing by A / D converter,
(4) Shading correction processing (processing for correcting illuminance distribution unevenness of the light source),
(5) Scanner γ correction processing (processing for correcting the density characteristics of the reading system),
Etc.
[0029]
(Image memory control unit 102)
The image memory control unit 102
(1) Interface control processing with the system controller,
(2) Parallel bus control processing (interface control processing with parallel bus),
(3) Network control processing,
(4) Serial bus control processing (control processing of multiple external serial ports),
(5) Internal bus interface control processing (command control processing with the operation unit), (6) Local bus control processing (ROM, RAM, font data access control processing for starting the system controller),
(7) Memory module operation control processing (memory module write / read control processing, etc.)
(8) Memory module access control processing (processing to arbitrate memory access requests from multiple units),
(9) Data compression / decompression processing (processing to reduce the amount of data for effective use of memory),
(10) Image editing processing (memory area data clear, image data rotation processing, image composition processing in memory, etc.),
Etc.
[0030]
(Image processing unit 103)
The image processing unit 103
(1) Shading correction processing (processing for correcting illuminance distribution unevenness of the light source),
(2) Scanner γ correction processing (processing for correcting the density characteristics of the reading system),
(3) MTF correction processing,
(4) Smoothing process
(5) Arbitrary scaling processing in the main scanning direction,
(6) Density conversion (γ conversion processing: corresponding to density notch),
(7) Simple multi-value processing
(8) Simple binarization processing,
(9) error diffusion processing,
(10) Dither processing,
(11) Dot arrangement phase control processing (right dot, left dot),
(12) Isolated point removal processing,
(13) Image area separation processing (color determination, attribute determination, adaptive processing),
(14) Density conversion processing,
Etc.
[0031]
The image processing unit 103 supplies image data to a plurality of element processors, and performs SIMD processing that causes each element processor to execute the same operation in parallel.
[0032]
(Image writing unit 104)
The image writing unit 104
(1) Edge smoothing process (jaggy correction process),
(2) Correction processing for dot rearrangement,
(3) Image signal pulse control processing,
(4) Parallel data and serial data format conversion processing,
Etc.
[0033]
(Hardware configuration of digital multifunction device)
Next, a hardware configuration when the image processing apparatus according to the present embodiment constitutes a digital multi-function peripheral will be described. FIG. 2 is a block diagram showing an example of a hardware configuration of the image processing apparatus according to the present embodiment.
[0034]
In the block diagram of FIG. 2, the image processing apparatus according to the present embodiment includes a reading unit 201, a sensor board unit 202, an image data control unit 203, an image processing processor 204, and a video data control unit 205. And an image forming unit (engine) 206. The image processing apparatus according to the present embodiment includes a process controller 211, a RAM 212, and a ROM 213 via a serial bus 210.
[0035]
Here, the image processing processor 204 is a processor that performs image processing calculation using a SIMD type processor, and exchanges data with the outside via the image data control unit 203.
[0036]
Further, the image processing apparatus according to the present embodiment includes an image memory / access control unit 221 and a facsimile control unit 224 via a parallel bus 220, and a memory connected to the image memory / access control unit 221. A module 222, a system controller 231, a RAM 232, a ROM 233, and an operation panel 234 are provided.
[0037]
Here, the relationship between each component described above and each unit 100 to 104 shown in FIG. 1 will be described. That is, the function of the image reading unit 101 shown in FIG. 1 is realized by the reading unit 201 and the sensor board unit 202. Similarly, the function of the image data control unit 100 is realized by the image data control unit 203. Similarly, the function of the image processing unit 103 is realized by the image processor 204.
[0038]
Similarly, the image writing unit 104 is realized by the video / data control unit 205 and the image forming unit (engine) 206. Similarly, the image memory control unit 102 is realized by the image memory access control unit 221 and the memory module 222.
[0039]
Next, the contents of each component will be described. A reading unit 201 that optically reads a document includes a lamp, a mirror, and a lens, and condenses reflected light of lamp irradiation on the document on a light receiving element by the mirror and the lens.
[0040]
A light receiving element, for example, a CCD is mounted on the sensor board unit 202, and image data converted into an electrical signal in the CCD is converted into a digital signal and then output (transmitted) from the sensor board unit 202.
[0041]
Image data output (transmitted) from the sensor board unit 202 is input (received) to the image data control unit 203. The image data control unit 203 controls all image data transmission between the functional device (processing unit) and the data bus.
[0042]
The image data control unit 203 is a system controller that controls the image board with respect to the image data, the sensor board unit 202, the parallel bus 220, the data transfer between the image processing processors 204, and the process controller 211 for the image data and the overall control of the image processing apparatus. Communicate with H.231. The RAM 212 is used as a work area for the process controller 211, and the ROM 213 stores a boot program for the process controller 211 and the like.
[0043]
The image data output (transmitted) from the sensor board unit 202 is transferred (transmitted) to the image processing processor 204 via the image data control unit 203, and signal degradation (quantization into an optical system and a digital signal) The signal deterioration of the scanner system) is corrected and output (transmitted) to the image data control unit 203 again.
[0044]
The image memory access control unit 221 controls writing / reading of image data to / from the memory module 222. Further, the operation of each component connected to the parallel bus 220 is controlled. The RAM 232 is used as a work area for the system controller 231, and the ROM 233 stores a boot program for the system controller 231.
[0045]
The operation panel 234 inputs processing to be performed by the image processing apparatus. For example, the type of processing (copying, facsimile transmission, image reading, printing, etc.), the number of processings, etc. are input. Thereby, the image data control information can be input.
[0046]
Next, the read image data includes a job that is stored in the memory module 222 and reused, and a job that is not stored in the memory module 222. Each case will be described. As an example of storing in the memory module 222, when a plurality of copies of one document are copied, the reading unit 201 is operated only once and image data read by the reading unit 201 is stored in the memory module 222. There is a method of reading accumulated image data a plurality of times.
[0047]
As an example of not using the memory module 222, when only one original is copied, the read image data may be reproduced as it is, so that the image memory access control unit 221 accesses the memory module 222. There is no need to do.
[0048]
First, when the memory module 222 is not used, the data transferred from the image processor 204 to the image data controller 203 is returned from the image data controller 203 to the image processor 204 again. The image processor 204 performs image quality processing for converting luminance data by the CCD in the sensor board unit 202 into area gradation.
[0049]
The image data after the image quality processing is transferred from the image processor 204 to the video data control unit 205. The post-processing relating to dot arrangement and pulse control for reproducing the dots are performed on the signal changed to the area gradation, and then a reproduced image is formed on the transfer paper in the image forming unit 206.
[0050]
Next, a description will be given of the flow of image data in the case where additional processing such as rotation of the image direction, image synthesis, and the like is performed at the time of reading the image stored in the memory module 222. The image data transferred from the image processor 204 to the image data control unit 203 is sent from the image data control unit 203 to the image memory / access control unit 221 via the parallel bus 220.
[0051]
Here, based on the control of the system controller 231, image data and access control of the memory module 222, development of print data of an external PC (personal computer) 223, and image data for effective use of the memory module 222 Compress / decompress
[0052]
The image data sent to the image memory access control unit 221 is accumulated in the memory module 222 after data compression, and the accumulated image data is read out as necessary. The read image data is decompressed, restored to the original image data, and returned from the image memory / access control unit 221 to the image data control unit 203 via the parallel bus 220.
[0053]
After transfer from the image data control unit 203 to the image processing processor 204, image quality processing and pulse control by the video data control unit 205 are performed, and a reconstructed image is formed on the transfer paper in the image forming unit 206.
[0054]
In the flow of image data, the functions of the digital multi-function peripheral are realized by the bus control in the parallel bus 220 and the image data control unit 203. In the facsimile transmission function, the read image data is subjected to image processing by the image processor 204 and transferred to the facsimile control unit 224 via the image data control unit 203 and the parallel bus 220. The facsimile control unit 224 performs data conversion to the communication network and transmits the data to the public line (PN) 225 as facsimile data.
[0055]
On the other hand, the received facsimile data is converted from line data from the public line (PN) 225 to image data by the facsimile control unit 224, and to the image processor 204 via the parallel bus 220 and the image data control unit 203. Transferred. In this case, no special image quality processing is performed, the video / data control unit 205 performs dot rearrangement and pulse control, and the image forming unit 206 forms a reproduced image on the transfer paper.
[0056]
In a situation where a plurality of jobs, for example, a copy function, a facsimile transmission / reception function, and a printer output function operate in parallel, the system controller 231 and the process allocate the right to use the reading unit 201, the image forming unit 206, and the parallel bus 220 to the job. Control is performed by the controller 211.
[0057]
The process controller 211 controls the flow of image data, and the system controller 231 controls the entire system and manages the activation of each resource. The function selection of the digital multi-function peripheral is selected and input on the operation panel (operation unit) 234, and processing contents such as a copy function and a facsimile function are set.
[0058]
The system controller 231 and the process controller 211 communicate with each other via the parallel bus 220, the image data control unit 203, and the serial bus 210. Specifically, communication between the system controller 231 and the process controller 211 is performed by performing data format conversion for data interface between the parallel bus 220 and the serial bus 210 in the image data control unit 203.
[0059]
(Configuration of SIMD type processor)
Next, the configuration of the SIMD type processor will be described. FIG. 3 is an explanatory diagram for explaining the configuration of the SIMD type processor. As shown in the figure, in this SIMD type processor, accumulators (A) corresponding to the respective pixels are arranged in the main scanning direction.
[0060]
Each accumulator has a plurality of 8-bit registers in addition to the 16-bit width A and F registers, and stores calculation data, calculation results, and the like in these registers. One unit corresponding to one pixel is called 1PE (processor element), and a plurality of PEs arranged in the main scanning direction that can be processed at one time are called 1 SIMD. In this SIMD type processor, each PE can refer to the values of the three adjacent PEs on the left and right (values of the accumulator and the register).
[0061]
(Configuration of gradation processing unit)
Next, gradation processing performed on the image processing unit 103 shown in FIG. 1 will be described. Here, it is assumed that the gradation processing unit in the image processing unit 103 performs gradation processing.
[0062]
FIG. 4 is a functional block diagram illustrating a configuration of a gradation processing unit that performs gradation processing on an image after shading correction. As shown in the figure, the gradation processing unit 401 first performs a data load process 403 of the gradation process 1 and a data load process 404 of the gradation process 2, and is necessary based on the feature amount of the image. Data set 405 is performed, and quantization (N-value conversion) processing 406 for all pixels is executed in one operation.
[0063]
Therefore, according to the gradation processing unit 401, data supply and selection are set in accordance with the feature amount of the image. Therefore, the same processing is integrated into as much as possible and the same processing is duplicated. Can be avoided. Note that the feature amount of the image here is a feature amount for each pixel such as edge / non-edge distinction or noise / non-noise.
[0064]
(Supplying data to each element processor)
Next, supply of data from the data memory (DATA RAM) to each element processor will be described. FIG. 5 is an explanatory diagram for explaining the supply of data from the data memory (DATA RAM) to each element processor. Note that L3 to L1, P, and U1 to U3 shown in the figure correspond to the respective pixels, and each pixel position is indicated by 0 to 6. Further, at the stage of supplying data, since it is not known which data needs to be supplied to which pixel, here, the required data is regularly supplied.
[0065]
That is, when each pixel selects either ternary error diffusion using the two threshold values a and b or binary error diffusion using the threshold value c based on the respective feature values. As shown in FIG. 5A, all the threshold values a, b, and c are set in the registers of the pixels whose pixel positions are even.
[0066]
For example, when the pixel of interest P is a pixel that performs ternary error diffusion, it is ternarized by referring to L1 or U1 data, and conversely, when the pixel of interest P is a pixel that performs binary error diffusion. , L1 or U1 is referred to and binarized.
[0067]
Specifically, as shown in FIG. 5B, the three threshold values a, b, and c are stored in a data memory (DATA RAM) 501, and the three threshold values of the data memory 501 are set. Read into even-pixel registers R10, R11, R12. Then, a flag is set for the pixel for which ternary error diffusion is performed and the threshold values a and b are set in the register F, and a threshold value c is set for the register F without setting a flag for the pixel which is not subjected to ternary error diffusion. Overlay and set.
[0068]
When the image data is smaller than the upper bit (a or c) of the register F, “00” is output. When the image data is larger, compared with the lower bit (b or c) of the register F, when it is larger, “11” is output. If it is smaller, the process of outputting “10” or “01” is performed simultaneously for each pixel.
[0069]
Here, in the case of a pixel that performs binary error diffusion, both the upper bit threshold value and the lower bit threshold value of register F are c, so that only “00” or “11” is output. In other words, even if the binary error diffusion is operated in the same manner as the ternary error diffusion, the binarization processing result is obtained. Note that data loading is not necessarily limited to pixels at even positions, and can be at arbitrary positions.
[0070]
Next, a data supply procedure from the data memory (DATA RAM) shown in FIG. 5 to each element processor will be described. FIG. 6 is a flowchart showing a data supply procedure from the data memory (DATA RAM) shown in FIG. 5 to each element processor.
[0071]
As shown in the figure, first, it is checked whether or not the position is an even position (step S601). In this case (No at step S601), flag = 0 is set (step S603).
[0072]
If this flag is not 1 (No at Step S604), it is further checked whether or not the feature amount data is 1 (Step S609). If the feature amount is 1 (Yes at Step S609), it is adjacent. The threshold values a and b held in the register are set and quantized (steps S610 and S612). If the feature quantity is not 1 (No in step S609), the threshold value c held in the adjacent register is set. Quantization is performed (steps S611 and S612).
[0073]
On the other hand, if this flag is 1 (Yes at step S604), the threshold data feature value data is 1 after loading the threshold data stored in the data memory 501 (step S605). It is further investigated whether or not (step S606).
[0074]
As a result, when the feature amount is 1 (Yes at Step S606), the loaded threshold values a and b are set and quantized (Steps S608 and S612), and when the feature amount is not 1 (Step S606). No), the loaded threshold value c is set and quantized (steps S607 and S612).
[0075]
As described above, in the first embodiment, the threshold values a, b, and c stored in the data memory (DATA RAM) 501 are stored in the even-numbered registers R10 to R12. The threshold value is set in the register F based on the feature amount, and in the case of an odd number position, the threshold value held in the register in the even number position is set in the register F based on the feature amount. Therefore, even if the processing program is not executed a plurality of times, a plurality of processes having similar processing logic can be efficiently executed at a time.
[0076]
(Embodiment 2)
By the way, in the first embodiment, the case where the binarization threshold value and the ternary threshold value are set is shown. However, in the second embodiment, all the processes are performed without switching the processing for each pixel. A case where 4 × 4 dither processing is performed on a pixel will be described. In this case, the description other than the supply of data to each element processor is the same as that described in the first embodiment, and the description thereof is omitted here.
[0077]
FIG. 7 is an explanatory diagram for explaining the supply of data from the data memory (DATA RAM) according to the second embodiment to each element processor. As in the first embodiment, L3 to L1, P, and U1 to U3 shown in the figure correspond to the pixels, and the pixel positions are indicated by 0 to 6. Further, at the stage of supplying data, since it is not known which data needs to be supplied to which pixel, here, the required data is regularly supplied.
[0078]
As shown in FIG. 7A, the dither matrix threshold data stored in the data memory (DATA RAM) 701 shown in FIG. 7B is supplied to a register whose pixel positions are even. The data t00 to t33 stored in the data memory 701 are threshold values for forming the dither matrix shown in FIG. 6C, and the threshold values of the adjacent pixels are arranged and stored in 16 bits. . Since the register F shown in FIG. 6A has a 16-bit width, two pieces of data stored in the data memory 701 can be extracted in one operation, for example, t00 and t01.
[0079]
Then, the odd-numbered pixel can supply data from the memory with a small number of operations by acquiring data from the lower bits of the register F of the adjacent even-numbered pixel. Specifically, when processing the first line of dither, originally four load operations are required to load four data t00 to t03, but in this embodiment, , T00 and t02, and a load operation for loading data from odd-numbered pixels to even-numbered pixels, for a total of three load operations. Similarly, when an 8 × 8 dither matrix is used, eight load operations can be processed by five load operations. Note that, after this data set, N-value conversion is performed depending on the size.
[0080]
Next, a data supply procedure from the data memory (DATA RAM) shown in FIG. 7 to each element processor will be described. FIG. 8 is a flowchart showing a data supply procedure from the data memory (DATA RAM) shown in FIG. 7 to each element processor.
[0081]
As shown in the figure, first, it is checked whether or not the pixel position is an even number (step S801). If it is an even position (step S801 affirmative), flag = 1 is set (step S802). If it is not the position (No at Step S801), the flag = 0 is set (Step S803).
[0082]
Then, it is checked whether or not this flag is 1 (step S804). If it is 1 (Yes at step S804), the threshold data stored in the data memory 501 is loaded (step S805).
[0083]
Thereafter, it is checked whether or not this flag is 0 (step S806). If it is 0 (Yes in step S806), threshold data is supplied from even-numbered pixels (step S807).
[0084]
Then, it is checked whether or not the image data is larger than the threshold data (step S808). If the image data is larger (Yes in step S808), the output is set to 1 (step S809), and if not larger (No in step S808). Output = 0 is set (step S810).
[0085]
As described above, in the second embodiment, the threshold values of the dither matrix are stored in the data memory (DATA RAM) 701, and the threshold values of the adjacent pixels are taken out side by side to obtain the pixels of even-numbered pixels. Stored in the register F, this threshold value is set in the register R10 in the case of the even position, and the threshold value held in the register F in the even position is set in the register R10 in the case of the odd position. Since each pixel is processed, a plurality of processes having similar processing logic can be efficiently executed at a time without executing the processing program a plurality of times.
[0086]
(Embodiment 3)
In the second embodiment, the case where one dither matrix is used has been described. However, the present invention can also be applied to the case where a plurality of dither matrices are used. Therefore, the third embodiment shows a case where two dither matrices are used separately.
[0087]
FIG. 9 is an explanatory diagram for explaining the supply of data from the data memory (DATA RAM) according to the third embodiment to each element processor. Here, the case where the dither matrices 902 and 903 shown in FIG.
[0088]
If the range in which one pixel of SIMD can supply data in one operation is up to three pixels on the left and right as shown in FIG. 3, it is not necessary to load data evenly / oddly. And a program operation such as loading at a position of a multiple of 4 + 1. Therefore, in the third embodiment, each threshold value of dither matrix 902 is loaded at a multiple of 4 positions, and each threshold value of dither matrix 903 is loaded at a position of multiples of 4 + 1.
[0089]
Specifically, in this case, the threshold values t0a to t0p of the dither matrix 902 and the threshold values t00 to t33 of the dither matrix 903 are stored in the data memory (DATA RAM) 901. The threshold values t00 and t01 are stored in the register F at the pixel position 0, the threshold values t02 and t03 are stored in the register R10, and the threshold values of the dither matrix 903 are also stored in each register R11 and the like. Similarly, when the pixel position is a multiple of 4, the threshold value of the dither matrix 903 is stored.
[0090]
On the other hand, threshold values t0a and t0b are stored in the register F at the pixel position 1, threshold values t0c and t0d are stored in the register R10, and threshold values of the dither matrix 902 are also stored in each register R11 and the like. Similarly, the threshold value of the dither matrix 902 is stored when the pixel position is a multiple of 4 + 1.
[0091]
Here, since the range in which one pixel of SIMD can supply data in one operation is up to three pixels on the left and right, each threshold value of the dither matrices 902 and 903 can be loaded at each pixel position.
[0092]
As described above, in the third embodiment, the threshold values of the two kinds of dither matrices 902 and 903 are stored in the data memory (DATA RAM) 701 and stored in the registers at pixel positions that are multiples of four. Each threshold value of the dither matrix 903 is stored, each threshold value of the dither matrix 902 is stored in each register of the pixel position of a multiple of 4 + 1, and each pixel position is loaded with these threshold value data. Since each pixel is processed in a batch after being set in its own register, it is possible to efficiently execute a plurality of processes having similar processing logics at a time without executing the processing program a plurality of times.
[0093]
(Embodiment 4)
By the way, in the second and third embodiments, the case where each threshold value of the dither matrix is simply set is shown. However, the present invention is not limited to this, and noise data is added to the threshold value. Thus, it can also be applied to binarization. Therefore, the fourth embodiment shows a case where binarization is performed by adding noise data to a threshold value.
[0094]
FIG. 10 is an explanatory diagram for explaining the supply of data from the data memory (DATA RAM) according to the fourth embodiment to each element processor. Note that the dither matrix threshold values are loaded to the even-numbered pixels and assigned to the odd-numbered pixels in the same manner as in the second embodiment, and thus the description of the dither matrix is omitted.
[0095]
A 3 × 3 matrix 1003 shown in FIG. 6C is noise data. Here, the threshold value is changed by adding the noise data to the threshold value of the dither matrix 1002 and performing binarization. Multi-value processing is performed. If the noise data is negative, the noise data is added by subtracting the magnitude of the noise.
[0096]
Specifically, in the fourth embodiment, the threshold value and noise data of the dither matrix 1002 are stored in the data memory (DATA RAM) 1001, and the noise data is loaded into a register whose pixel position is a multiple of 3. For the pixels at other pixel positions (multiples of 3 + 1, multiples of 3 + 2), necessary noise data is acquired from this multiple of 3 registers, and whether or not noise is added depending on the feature amount of the image. To perform adaptive processing.
[0097]
Next, a data supply procedure from the data memory (DATA RAM) shown in FIG. 10 to each element processor will be described. FIG. 11 is a flowchart showing a data supply procedure from the data memory (DATA RAM) shown in FIG. 10 to each element processor.
[0098]
As shown in the figure, first, it is checked whether or not the pixel position is an even number (step S1101). If the pixel position is an even position (Yes at step S1101), a threshold value is loaded from the memory (step S1102). If it is not an even position (No in step S1101), data is loaded from the even position pixel (step S1103).
[0099]
Thereafter, it is confirmed whether or not the pixel position is a multiple of 3 (step S1104). If it is a multiple of 3 (Yes in step S1104), the noise data is loaded as it is (step S1105). The noise data is a value that is added / subtracted by a certain magnitude v.
[0100]
On the other hand, if it is not a multiple of 3 (No at Step S1104), it is checked whether the pixel position is a multiple of 3 + 1 (Step S1106). If it is a multiple of 3 + 1 (Yes at Step S1106), R11 data is extracted from the adjacent pixel and set (step S1107), and if it is a multiple of 3 + 2 (No in step S1106), R12 data is extracted and set from the two adjacent pixels (step S1108). It should be noted that whether to refer to the left side or the right side can be arbitrarily set.
[0101]
Then, it is checked whether or not the feature data is true (step S1109). If true (Yes in step S1109), the stored data is set to 0 (step S1110) and the stored data is added to the threshold value (step S1110). Step S1111). If it is false (No at step S1109), the stored data is added to the threshold value as it is (step S1111). That is, here, whether or not to add noise is determined based on the feature amount data. If the feature amount data is true, the noise data is changed to zero.
[0102]
Then, it is checked whether or not the image data is larger than the threshold data (step S1112). If the image data is larger (step S1112 affirmative), the result = 1 is set (step S1113), and if not larger (step S1112 negative). Result = 0 (step S1114).
[0103]
As described above, in the fourth embodiment, the threshold value and noise data 1003 of the dither matrix 1002 are stored in the data memory (DATA RAM) 1001, and the noise data 1003 is stored based on the feature amount data. Since the threshold value is set in each register while deciding whether or not to add to the threshold value, and then the processing of each pixel is performed collectively, the processing logic is similar even if the processing program is not executed multiple times Multiple processes can be executed efficiently at once.
[0104]
【The invention's effect】
As described above, according to the first aspect of the present invention, the predetermined element of the plurality of element processors including the arithmetic unit and the register that performs the processing of the image data in parallel using the data included in the other element processors. After supplying the data required for processing held by one of the element processors to other element processors, the adaptive processing by each element processor is configured to execute and control in parallel, so the processing program does not have to be executed multiple times. There is an effect that an image processing apparatus that can efficiently execute a plurality of processes having similar processing logics at a time can be obtained.
[0105]
According to the second aspect of the present invention, since the data necessary for processing by the plurality of element processors stored in the storage means is stored in the predetermined element processor, the data storage capacity can be reduced and the data access can be performed. It is possible to obtain an image processing apparatus capable of achieving a higher speed.
[0106]
According to the third aspect of the present invention, since the element processors positioned at predetermined intervals in the line direction are configured as the predetermined element processors, the data storage capacity is further reduced and the data access speed is increased. There is an effect that an image processing apparatus capable of performing the above is obtained.
[0107]
According to the invention described in claim 4, since the element processors located at the even or odd number in the line direction are configured as the predetermined element processors, the predetermined element processors and other processors can be quickly and easily provided. Thus, an effect is obtained that an image processing apparatus capable of setting data is obtained.
[0108]
According to the fifth aspect of the present invention, a predetermined element processor among a plurality of element processors including a calculation unit and a register that performs processing of image data in parallel using data of another element processor. After supplying the data required for the retained processing to other element processors, the adaptive processing by each element processor is configured to be executed and controlled in parallel, so that the processing logic is similar even if the processing program is not executed multiple times Thus, there is an effect that an image processing method capable of efficiently executing the plurality of processes at once can be obtained.
[0109]
According to the sixth aspect of the present invention, since data necessary for processing by the plurality of element processors stored in the storage means is stored in the predetermined element processor, data storage capacity can be reduced and data access can be performed. It is possible to obtain an image processing method capable of achieving a higher speed.
[0110]
Further, according to the invention described in claim 7, by recording a program for causing a computer to execute the method described in claim 5 or 6, the program can be read by a machine. There is an effect that a recording medium capable of realizing the operation of No. 6 by a computer is obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram functionally showing the configuration of an image processing apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram showing an example of a hardware configuration of the image processing apparatus according to the present embodiment.
FIG. 3 is an explanatory diagram for explaining a configuration of a SIMD type processor;
FIG. 4 is a functional block diagram illustrating a configuration of a gradation processing unit that performs gradation processing on an image after shading correction.
FIG. 5 is an explanatory diagram for explaining supply of data from the data memory (DATA RAM) according to the first embodiment to each element processor;
6 is a flowchart showing a data supply procedure from the data memory (DATA RAM) shown in FIG. 5 to each element processor; FIG.
FIG. 7 is an explanatory diagram for explaining supply of data from a data memory (DATA RAM) according to the second embodiment to each element processor;
FIG. 8 is a flowchart showing a data supply procedure from the data memory (DATA RAM) shown in FIG. 7 to each element processor;
FIG. 9 is an explanatory diagram for explaining the supply of data from the data memory (DATA RAM) according to the third embodiment to each element processor;
FIG. 10 is an explanatory diagram for explaining the supply of data from the data memory (DATA RAM) according to the fourth embodiment to each element processor;
FIG. 11 is a flowchart showing a data supply procedure from the data memory (DATA RAM) shown in FIG. 10 to each element processor;
FIG. 12 is an explanatory diagram showing a configuration in a case where adaptive gradation processing is performed using an ASIC image processing apparatus.
FIG. 13 is a configuration diagram showing a conventional general configuration when a SIMD type processor is used.
14 is a configuration diagram illustrating a general configuration of a gradation processing unit illustrated in FIG. 13;
[Explanation of symbols]
100 Image data control unit
101 Image reading unit
102 Image memory control unit
103 Image processing unit
104 Image writing unit
201 Reading unit
202 Sensor board unit
203 Image data control unit
204 Image processor
205 Video data controller
206 Imaging unit (engine)
210 Serial bus
211 Process controller
212,232 RAM
213,233 ROM
220 Parallel bus
221 Image memory access controller
222 Memory module
223 Personal computer (PC)
224 Facsimile control unit
225 Public line
231 System Controller
234 Operation panel
401 gradation processing unit
402 Feature signal
403 Data load for gradation processing 1
404 Data load for gradation processing 2
405 Dataset
406 N-value conversion
501,701,901,1001 Data memory
702, 902, 903, 1002 dither matrix
1003 Noise data

Claims (7)

複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同種の演算を同時並行に実行させる画像処理装置において、
他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう複数の要素プロセッサーと、
所定の要素プロセッサーにより保持されたデータ前記画像データの特徴量に基づいて選択して他の要素プロセッサーに供給するデータ供給手段と、
前記データ供給手段による各要素プロセッサーへのデータ供給後に、各要素プロセッサーによる所定の処理を同時並行的に実行制御する制御手段と、
を備えたことを特徴とする画像処理装置。
In an image processing apparatus that supplies image data to a plurality of element processors and causes each element processor to execute the same type of operation in parallel,
A plurality of element processors that process image data in parallel using data of other element processors ; and
Data supply means for selecting data held by a predetermined element processor based on the feature amount of the image data and supplying the selected data to another element processor;
Control means for performing execution control of predetermined processing by each element processor simultaneously after supplying data to each element processor by the data supply means;
An image processing apparatus comprising:
前記複数の要素プロセッサーによる処理にそれぞれ必要なデータを記憶する記憶手段をさらに備え、前記記憶手段に記憶したデータを前記所定の要素プロセッサーに格納することを特徴とする請求項1に記載の画像処理装置。2. The image processing according to claim 1, further comprising storage means for storing data required for processing by the plurality of element processors, and storing the data stored in the storage means in the predetermined element processor. apparatus. 前記所定の要素プロセッサーは、ライン方向に所定の間隔で位置する要素プロセッサーであることを特徴とする請求項1または2に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the predetermined element processor is an element processor positioned at a predetermined interval in a line direction. 前記所定の要素プロセッサーは、ライン方向の偶数番目若しくは奇数番目に位置する要素プロセッサーであることを特徴とする請求項1または2に記載の画像処理装置。The image processing apparatus according to claim 1, wherein the predetermined element processor is an element processor located at an even or odd number in a line direction. 複数の要素プロセッサーに画像データをそれぞれ供給し、各要素プロセッサーに同種の演算を同時並行に実行させる画像処理方法において、
他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持されたデータ前記画像データの特徴量に基づいて選択して他の要素プロセッサーに供給するデータ供給工程と、
前記データ供給工程による各要素プロセッサーへのデータ供給後に、各要素プロセッサーによる所定の処理を同時並行的に実行制御する制御工程と、
を含んだことを特徴とする画像処理方法。
In an image processing method of supplying image data to a plurality of element processors and causing each element processor to execute the same type of operation in parallel,
Using the data included in the different elements processors of the image data to the data held by the given element processors of the plurality of elements processors performing the processing of the image data in parallel feature amount to another selected based A data supply process to be supplied to the element processor;
A control step of performing execution control of a predetermined process by each of the element processors simultaneously after supplying data to each of the element processors by the data supply step;
An image processing method comprising:
前記複数の要素プロセッサーによる処理にそれぞれ必要なデータを記憶手段に記憶し、該記憶手段に記憶したデータを前記所定の要素プロセッサーに格納することを特徴とする請求項5に記載の画像処理方法。6. The image processing method according to claim 5, wherein data necessary for processing by the plurality of element processors is stored in a storage unit, and the data stored in the storage unit is stored in the predetermined element processor. 前記請求項5または6に記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。A computer-readable recording medium having recorded thereon a program for causing a computer to execute the method according to claim 5 or 6.
JP37190199A 1999-12-27 1999-12-27 Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method Expired - Fee Related JP3887135B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37190199A JP3887135B2 (en) 1999-12-27 1999-12-27 Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37190199A JP3887135B2 (en) 1999-12-27 1999-12-27 Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006287808A Division JP4402676B2 (en) 2006-10-23 2006-10-23 Image processing apparatus and image processing method

Publications (2)

Publication Number Publication Date
JP2001184499A JP2001184499A (en) 2001-07-06
JP3887135B2 true JP3887135B2 (en) 2007-02-28

Family

ID=18499502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37190199A Expired - Fee Related JP3887135B2 (en) 1999-12-27 1999-12-27 Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method

Country Status (1)

Country Link
JP (1) JP3887135B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5115470B2 (en) * 2008-12-24 2013-01-09 富士ゼロックス株式会社 Image processing device

Also Published As

Publication number Publication date
JP2001184499A (en) 2001-07-06

Similar Documents

Publication Publication Date Title
JP3732702B2 (en) Image processing device
JP3789711B2 (en) Image processing device
US7599087B2 (en) Method and apparatus for image processing, and a computer product
JP3927388B2 (en) Image processing apparatus, image processing method, and recording medium
JP2010171552A (en) Image forming apparatus, control method, and program
JPH04261265A (en) Picture processor
KR100386095B1 (en) Method and apparatus for processing images,and a computer product
JP4402676B2 (en) Image processing apparatus and image processing method
JP3887135B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method
JPH11112753A (en) Picture processor
JP2001126057A (en) Picture processor
JP3938837B2 (en) Image processing device
JP4063840B2 (en) Image processing device
JP5696697B2 (en) Image processing apparatus and image processing method
JP4863846B2 (en) Color image forming apparatus and color image processing apparatus
JP3785295B2 (en) Image processing device
JP2001184502A (en) Device and method for processing image and computer readable recording medium with recorded program for computer to execute the same method
JP2002101303A (en) Image processing unit
JP2001101394A (en) Image processor
JP2002051220A (en) Image processor
JP2001092946A (en) Image processor
JP2001274993A (en) Image processor, printer device, copying device, facsimile equipment, image forming composite device, image processing method and computer readable recording medium with the processing method recorded therein
JP2001092949A (en) Device and method for processing image and computer readable recording medium recording program for computer to execute the same method
JP2006014378A (en) Image processing apparatus, image processing method, and computer readable recording medium recorded with program for computer to execute the method
JP2002218229A (en) Image processor, image processing method, program for making computer perform image processing method and computer readable recording medium having the program recorded thereon

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061023

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: 20061114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061124

R150 Certificate of patent or registration of utility model

Ref document number: 3887135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101201

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111201

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121201

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131201

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees