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 PDFInfo
- 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
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
[0004]
Specifically, as shown in FIG. 14, the
[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
[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
[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
[0026]
Each unit is arranged around the image
[0027]
(Image data control unit 100)
The image
(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
(9) Parallel data and serial data format conversion processing,
(10) Interface processing with the
(11) Interface processing with the
Etc.
[0028]
(Image reading unit 101)
The
(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
(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
(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
[0032]
(Image writing unit 104)
The
(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
[0035]
Here, the
[0036]
Further, the image processing apparatus according to the present embodiment includes an image memory /
[0037]
Here, the relationship between each component described above and each
[0038]
Similarly, the
[0039]
Next, the contents of each component will be described. A
[0040]
A light receiving element, for example, a CCD is mounted on the
[0041]
Image data output (transmitted) from the
[0042]
The image
[0043]
The image data output (transmitted) from the
[0044]
The image memory
[0045]
The
[0046]
Next, the read image data includes a job that is stored in the
[0047]
As an example of not using the
[0048]
First, when the
[0049]
The image data after the image quality processing is transferred from the
[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
[0051]
Here, based on the control of the
[0052]
The image data sent to the image memory
[0053]
After transfer from the image
[0054]
In the flow of image data, the functions of the digital multi-function peripheral are realized by the bus control in the
[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
[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
[0057]
The
[0058]
The
[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
[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
[0063]
Therefore, according to the
[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
[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
[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
[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
[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
[0089]
Specifically, in this case, the threshold values t0a to t0p of the
[0090]
On the other hand, threshold values t0a and t0b are stored in the register F at the
[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
[0092]
As described above, in the third embodiment, the threshold values of the two kinds of
[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
[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
[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
[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
[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
404 Data load for
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:
他の要素プロセッサーが有するデータを利用して画像データの処理を並列におこなう複数の要素プロセッサーのうちの所定の要素プロセッサーにより保持されたデータを前記画像データの特徴量に基づいて選択して他の要素プロセッサーに供給するデータ供給工程と、
前記データ供給工程による各要素プロセッサーへのデータ供給後に、各要素プロセッサーによる所定の処理を同時並行的に実行制御する制御工程と、
を含んだことを特徴とする画像処理方法。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:
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5115470B2 (en) * | 2008-12-24 | 2013-01-09 | 富士ゼロックス株式会社 | Image processing device |
-
1999
- 1999-12-27 JP JP37190199A patent/JP3887135B2/en not_active Expired - Fee Related
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 |