JP3887134B2 - Image processing device - Google Patents
Image processing device Download PDFInfo
- Publication number
- JP3887134B2 JP3887134B2 JP37189699A JP37189699A JP3887134B2 JP 3887134 B2 JP3887134 B2 JP 3887134B2 JP 37189699 A JP37189699 A JP 37189699A JP 37189699 A JP37189699 A JP 37189699A JP 3887134 B2 JP3887134 B2 JP 3887134B2
- Authority
- JP
- Japan
- Prior art keywords
- image
- processing
- clock
- unit
- arithmetic processing
- 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)
- Facsimiles In General (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、画像処理装置にかかり、ディジタル画像信号により転写紙に画像を再生する装置、特にスキャナーから画像を読み込んで転写紙に画像を再生する装置に適用されるディジタル画像信号に対して画像処理をおこなう画像処理装置に関するものである。
【0002】
【従来の技術】
従来、アナログ複写機からディジタル化された画像データの処理をおこなうディジタル複写機が登場し、さらに、ディジタル複写機が複写機としての機能だけでなく、複写機の機能に加えて、ファクシミリの機能、プリンターの機能、スキャナーの機能等の各機能を複合したディジタル複合機が存在する。
【0003】
上述のようなディジタル複合機で使用する画像処理装置として、読み取り信号の画像処理、メモリーへの画像蓄積、複数機能の並行動作およびそれぞれの画像処理の順序、回数を任意に設定できる制御手段を備えた『画像処理装置』(たとえば、特開平8−274986号公報)が既に提案されており、この画像処理装置では、各種の画像処理を一つの画像処理構成で実行することができる。
【0004】
【発明が解決しようとする課題】
上述の画像処理装置は、画像処理の順序、回数を任意に設定できるため、入力された画像データに対して最適な画像処理をおこなうことができ、各種の画像処理を一つの画像処理構成で実行することができるが、並列処理型等の一つのアーキテクチャの画像処理ハードウエア(演算処理手段)しか備えておらず、画像処理の内容に応じて好ましいアーキテクチャの演算処理手段を選択することはできない。
【0005】
たとえば、FIRフィルター(有限インパルス応答フィルター)のような画像処理アルゴリズムによる画像処理は、並列処理型の演算処理手段による演算処理が向いているが、IIRフィルター(無限インパルス応答フィルター)のような画像処理アルゴリズムによる画像処理は、並列処理型の演算処理手段による演算処理には向いておらず、パイプライン処理をおこなうような逐次処理型の演算処理手段による演算処理が向いている。
【0006】
上述のように異なる種類の画像処理アルゴリズムによる画像処理を選択的におこなうことがあるディジタル複合機では、一つのアーキテクチャの画像処理ハードウエアしか備えていないと、リソースを十分に活用した高効率の画像処理をおこなうことができないという問題点があった。
【0007】
また、画像処理の複雑化は、画像処理装置にインプリメントするLSIの大規模化を招き、さらに、画像処理部全体に常にクロック信号が入力され、常にオン状態となるため、消費電力の増大、発熱等の問題点があった。特に近年、地球温暖化防止、環境保全が注目され、電気、電子機器の省エネルギー化が必須となっているにもかかわらず、省エネルギー化ができていないという問題点があった。
【0008】
この発明は、上述した従来技術の問題点を解消するためになされたもので、異なる種類の画像処理アルゴリズムによる画像処理を各々の画像処理アルゴリズムに適したアーキテクチャの画像処理手段によっておこない、リソースを十分に活用した高効率の画像処理をおこない、また、消費電力を低減することができる画像処理装置を提供することを目的としている。
【0009】
【課題を解決するための手段】
上述した課題を解決し、上記目的を達成するために、本発明にかかる画像処理装置は、読み取った画像信号をディジタル変換された画像信号に変換し、もしくはディジタル的に生成された画像情報を画像信号に変換し、ディジタル変換された画像信号を顕像として出力可能な画像信号になるように処理し、前記ディジタル変換された画像信号に対し画像処理をおこなうプログラマブルな画像処理手段を有する画像処理装置において、前記画像処理手段へのクロック信号の停止を制御するクロック停止制御手段を具備し、前記画像処理手段は2種類以上の異なったアーキテクチャによる演算処理手段によって構成されていることを特徴とする。
【0010】
この発明によれば、実行する画像処理アルゴリズムに応じて異なるアーキテクチャによる演算処理手段を使い分けることができ、また、必要のない(使用しない)ときは画像処理手段へのクロック信号を停止することができる。
【0011】
また、本発明にかかる画像処理装置は、上記発明において、前記クロック停止制御手段が前記演算処理手段へのクロック信号の停止と前記演算処理手段以外の部分へのクロック信号の停止とを別個に制御することを特徴とする。
【0012】
この発明によれば、必要に応じて演算処理手段へのクロック信号の停止と演算処理手段以外の部分へのクロック信号の停止とを別個に制御することができる。
【0013】
また、本発明にかかる画像処理装置は、上記記載の発明において、前記クロック停止制御手段が前記各演算処理手段ごと別個にクロック信号の停止を制御することを特徴とする。
【0014】
この発明によれば、必要に応じて各演算処理手段ごと別個にクロック信号の停止を制御することができる。
【0015】
また、本発明にかかる画像処理装置は、上記発明において、前記クロック停止制御手段はあらかじめ設定したタイミングでクロック信号を停止または発振させることを特徴とする。
【0016】
この発明によれば、処理(1ライン処理等)の途中でもあらかじめ設定したタイミングでクロック信号を停止または発振させることができる。
【0017】
また、本発明にかかる画像処理装置は、上記発明において、前記クロック停止制御手段はあらかじめ設定したタイミングで前記各演算処理手段ごと別個にクロック信号を停止または発振させることを特徴とする。
【0018】
この発明によれば、処理(1ライン処理等)の途中でもあらかじめ設定したタイミングで各演算処理手段ごと別個にクロック信号を停止または発振させることができる。
【0019】
また、本発明にかかる画像処理装置は、上記発明において、前記演算処理手段が、複数画素データに対して同時に同じ演算をおこなうSIMD(Single Instruction Multiple Data stream)型演算処理手段と、1画素単位で演算をおこなう逐次型演算処理手段とを有していることを特徴とする。
【0020】
この発明によれば、実行する画像処理アルゴリズムに応じてSIMD型演算処理手段と逐次型演算処理手段とを使い分けることができる。
【0021】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像処理装置の好適な実施の形態を詳細に説明する。
【0022】
まず、本実施の形態にかかる画像処理装置の原理について説明する。図1はこの発明の本実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。図1において、画像処理装置は、以下に示す5つのユニットを含む構成である。
【0023】
上記5つのユニットとは、画像データ制御ユニット100と、画像データを読み取る画像読取ユニット101と、画像を蓄積する画像メモリーを制御して画像データの書き込み/読み出しをおこなう画像メモリー制御ユニット102と、画像データに対し加工編集等の画像処理を施す画像処理ユニット103と、画像データを転写紙等に書き込む画像書込ユニット104と、である。
【0024】
上記各ユニットは、画像データ制御ユニット100を中心に、画像読取ユニット101と、画像メモリー制御ユニット102と、画像処理ユニット103と、画像書込ユニット104とがそれぞれ画像データ制御ユニット100に接続されている。
【0025】
(画像データ制御ユニット100)
画像データ制御ユニット100によりおこなわれる処理としては以下のようなものがある。
【0026】
たとえば、
(1)データのバス転送効率を向上させるためのデータ圧縮処理(一次圧縮)、
(2)一次圧縮データの画像データへの転送処理、
(3)画像合成処理(複数ユニットからの画像データを合成することが可能である。また、データバス上での合成も含む。)、
(4)画像シフト処理(主走査および副走査方向の画像のシフト)、
(5)画像領域拡張処理(画像領域を周辺へ任意量だけ拡大することが可能)、
(6)画像変倍処理(たとえば、50%または200%の固定変倍)、
(7)パラレルバス・インターフェース処理、
(8)シリアルバス・インターフェース処理(後述するプロセス・コントローラー211とのインターフェース)、
(9)パラレルデータとシリアルデータのフォーマット変換処理、
(10)画像読取ユニット101とのインターフェース処理、
(11)画像処理ユニット103とのインターフェース処理、
等である。
【0027】
(画像読取ユニット101)
画像読取ユニット101によりおこなわれる処理としては以下のようなものがある。
【0028】
たとえば、
(1)光学系による原稿反射光の読み取り処理、
(2)CCD(Charge Coupled Device:電荷結合素子)での電気信号への変換処理、
(3)A/D変換器でのディジタル化処理、
(4)シェーディング補正処理(光源の照度分布ムラを補正する処理)、
(5)スキャナーγ補正処理(読み取り系の濃度特性を補正する処理)、
等である。
【0029】
(画像メモリー制御ユニット102)
画像メモリー制御ユニット102によりおこなわれる処理としては以下のようなものがある。
【0030】
たとえば、
(1)システム・コントローラーとのインターフェース制御処理、
(2)パラレルバス制御処理(パラレルバスとのインターフェース制御処理)、
(3)ネットワーク制御処理、
(4)シリアルバス制御処理(複数の外部シリアルポートの制御処理)、
(5)内部バスインターフェース制御処理(操作部とのコマンド制御処理)、
(6)ローカルバス制御処理(システム・コントローラーを起動させるためのROM、RAM、フォントデータのアクセス制御処理)、
(7)メモリー・モジュールの動作制御処理(メモリー・モジュールの書き込み/読み出し制御処理等)、
(8)メモリー・モジュールへのアクセス制御処理(複数のユニットからのメモリー・アクセス要求の調停をおこなう処理)、
(9)データの圧縮/伸張処理(メモリー有効活用のためのデータ量の削減するための処理)、
(10)画像編集処理(メモリー領域のデータクリア、画像データの回転処理、メモリー上での画像合成処理等)、
等である。
【0031】
(画像処理ユニット103)
画像処理ユニット103によりおこなわれる処理としては以下のようなものがある。
【0032】
たとえば、
(1)シェーディング補正処理(光源の照度分布ムラを補正する処理)、
(2)スキャナーγ補正処理(読み取り系の濃度特性を補正する処理)、
(3)MTF補正処理、
(4)平滑処理、
(5)主走査方向の任意変倍処理、
(6)濃度変換(γ変換処理:濃度ノッチに対応)、
(7)単純多値化処理、
(8)単純二値化処理、
(9)誤差拡散処理、
(10)ディザ処理、
(11)ドット配置位相制御処理(右寄りドット、左寄りドット)、
(12)孤立点除去処理、
(13)像域分離処理(色判定、属性判定、適応処理)、
(14)密度変換処理、
等である。
【0033】
(画像書込ユニット104)
画像書込ユニット104によりおこなわれる処理としては以下のようなものがある。
【0034】
たとえば、
(1)エッジ平滑処理(ジャギー補正処理)、
(2)ドット再配置のための補正処理、
(3)画像信号のパルス制御処理、
(4)パラレルデータとシリアルデータのフォーマット変換処理、
等である。
【0035】
(ディジタル複合機のハードウエア構成)
つぎに、本実施の形態にかかる画像処理装置がディジタル複合機を構成する場合のハードウエア構成について説明する。図2は本実施の形態にかかる画像処理装置のハードウエア構成の一例を示すブロック図である。
【0036】
図2のブロック図において、本実施の形態にかかる画像処理装置は、読取ユニット201と、センサー・ボード・ユニット202と、画像データ制御部203と、画像処理プロセッサー(画像処理手段)204と、ビデオ・データ制御部205と、作像ユニット(エンジン)206とを備える。また、本実施の形態にかかる画像処理装置は、シリアルバス210を介して、プロセス・コントローラー211と、RAM212と、ROM213とを備える。
【0037】
また、本実施の形態にかかる画像処理装置は、パラレルバス220を介して、画像メモリー・アクセス制御部221と、ファクシミリ制御ユニット224とを備え、さらに、画像メモリー・アクセス制御部221に接続されるメモリー・モジュール222と、システム・コントローラー231と、RAM232と、ROM233と、操作パネル234とを備える。
【0038】
ここで、上記各構成部と、図1に示した各ユニット100〜104との関係について説明する。すなわち、読取ユニット201およびセンサー・ボード・ユニット202により、図1に示した画像読取ユニット101の機能を実現する。また同様に、画像データ制御部203により、画像データ制御ユニット100の機能を実現する。また同様に、画像処理プロセッサー204により画像処理ユニット103の機能を実現する。
【0039】
また同様に、ビデオ・データ制御部205および作像ユニット(エンジン)206により画像書込ユニット104を実現する。また同様に、画像メモリー・アクセス制御部221およびメモリー・モジュール222により画像メモリー制御ユニット102を実現する。
【0040】
つぎに、各構成部の内容について説明する。原稿を光学的に読み取る読取ユニット201は、ランプとミラーとレンズから構成され、原稿に対するランプ照射の反射光をミラーおよびレンズにより受光素子に集光する。
【0041】
受光素子、たとえばCCDは、センサー・ボード・ユニット202に搭載され、CCDにおいて電気信号に変換された画像データはディジタル信号に変換された後、センサー・ボード・ユニット202から出力(送信)される。
【0042】
センサー・ボード・ユニット202から出力(送信)された画像データは画像データ制御部203に入力(受信)される。機能デバイス(処理ユニット)およびデータバス間における画像データの伝送は画像データ制御部203がすべて制御する。
【0043】
画像データ制御部(画像データ・インターフェース制御部)203は、画像データに関し、センサー・ボード・ユニット202、パラレルバス220、画像処理プロセッサー204間のデータ転送、プロセス・コントローラー211と画像処理装置の全体制御を司るシステム・コントローラー231との間の通信をおこなう。また、RAM212はプロセス・コントローラー211のワークエリアとして使用され、ROM213はプロセス・コントローラー211のブートプログラム等を記憶している。
【0044】
画像処理プロセッサー204は画像処理をおこなうプログラマブルな演算処理手段である。センサー・ボード・ユニット202から出力(送信)された画像データは、画像データ制御部203を経由して画像処理プロセッサー204に転送(送信)され、画像処理プロセッサー204にて光学系およびディジタル信号への量子化に伴う信号劣化(スキャナー系の信号劣化とする)を補正され、再度、画像データ制御部203へ出力(送信)される。
【0045】
画像メモリー・アクセス制御部221は、メモリー・モジュール222に対する画像データの書き込み/読み出しを制御する。システム・コントローラー231は、パラレルバス220に接続される各構成部の動作を制御する。また、RAM232はシステム・コントローラー231のワークエリアとして使用され、ROM233はシステム・コントローラー231のブートプログラム等を記憶している。
【0046】
操作パネル234は、画像処理装置がおこなうべき処理を入力する。たとえば、処理の種類(複写、ファクシミリ送信、画像読込、プリント等)および処理の枚数等を入力する。これにより、画像データ制御情報の入力をおこなうことができる。なお、ファクシミリ制御ユニット224の内容についての詳細は後述する。
【0047】
読取ユニット201より読み取った画像データの処理には、読み取り画像データをメモリー・モジュール222に蓄積して再利用するジョブと、メモリー・モジュール222に蓄積しないジョブとがあり、それぞれの場合について説明する。
【0048】
読み取り画像データをメモリー・モジュール222に蓄積する例としては、1枚の原稿について複数枚を複写する場合があり、この場合には、読取ユニット201を1回だけ動作させ、読取ユニット201により読み取った画像データをメモリー・モジュール222に蓄積し、メモリー・モジュール222に蓄積された画像データを複数回読み出す。
【0049】
メモリー・モジュール222を使わない例としては、1枚の原稿を1枚だけ複写する場合があり、この場合には、読み取り画像データをそのまま再生すればよいので、画像メモリー・アクセス制御部221によるメモリー・モジュール222へのアクセスをおこなう必要はない。
【0050】
メモリー・モジュール222を使わない場合には、画像処理プロセッサー204から画像データ制御部203へ転送されたデータは、再度、画像データ制御部203から画像処理プロセッサー204へ戻される。画像処理プロセッサー204においては、センサー・ボード・ユニット202におけるCCDによる輝度データを面積階調に変換するための画質処理をおこなう。
【0051】
画質処理後の画像データは画像処理プロセッサー204からビデオ・データ制御部205に転送される。ビデオ・データ制御部205は、面積階調に変化された信号に対し、ドット配置に関する後処理およびドットを再現するためのパルス制御をおこなう。その後、画像データは作像ユニット206へ送られ、作像ユニット206が転写紙上に再生画像を形成する。
【0052】
つぎに、メモリー・モジュール222に蓄積し、画像読み出し時に付加的な処理、たとえば画像方向の回転、画像の合成等をおこなう場合の画像データの流れについて説明する。画像処理プロセッサー204から画像データ制御部203へ転送された画像データは、画像データ制御部203からパラレルバス220を経由して画像メモリー・アクセス制御部221に送られる。
【0053】
ここでは、システム・コントローラー231の制御に基づいて、画像データとメモリー・モジュール222のアクセス制御、外部PC(パーソナル・コンピューター)223のプリント用データの展開、メモリー・モジュール222の有効活用のための画像データの圧縮/伸張をおこなう。
【0054】
画像メモリー・アクセス制御部221へ送られた画像データは、データ圧縮後、メモリー・モジュール222に蓄積され、蓄積された画像データは必要に応じて読み出される。読み出された画像データは、伸張され、本来の画像データに戻し画像メモリー・アクセス制御部221からパラレルバス220を経由して画像データ制御部203へ戻される。
【0055】
画像データ制御部203から画像処理プロセッサー204への転送後は画質処理、およびビデオ・データ制御部205でのパルス制御をおこない、作像ユニット206において転写紙上に再生画像を形成する。画像データの流れにおいて、パラレルバス220および画像データ制御部203でのバス制御により、ディジタル複合機の機能を実現する。
【0056】
ファクシミリ送信は、読み取られた画像データを画像処理プロセッサー204にて画像処理し、画像データ制御部203およびパラレルバス220を経由してファクシミリ制御ユニット224へ転送することによりおこなわれる。ファクシミリ制御ユニット224は、通信網へのデータ変換をおこない、それを公衆回線(PN)225へファクシミリデータとして送信する。
【0057】
ファクシミリ受信は、公衆回線(PN)225からの回線データをファクシミリ制御ユニット224にて画像データへ変換し、パラレルバス220および画像データ制御部203を経由して画像処理プロセッサー204へ転送することによりおこなわれる。この場合、特別な画質処理はおこなわず、ビデオ・データ制御部205においてドット再配置およびパルス制御をおこない、作像ユニット206において転写紙上に再生画像を形成する。
【0058】
複数ジョブ、たとえば、コピー機能、ファクシミリ送受信機能、プリンター出力機能が並行に動作する状況において、読取ユニット201、作像ユニット206およびパラレルバス220の使用権のジョブへの割り振りは、システム・コントローラー231およびプロセス・コントローラー211において制御する。
【0059】
プロセス・コントローラー211は画像データの流れを制御し、システム・コントローラー231はシステム全体を制御し、各リソースの起動を管理する。また、ディジタル複合機の機能選択は、操作パネル(操作部)234においておこなわれ、操作パネル(操作部)234の選択入力によって、コピー機能、ファクシミリ機能等の処理内容を設定する。
【0060】
システム・コントローラー231とプロセス・コントローラー211は、パラレルバス220、画像データ制御部203およびシリアルバス210を介して相互に通信をおこなう。具体的には、画像データ制御部203内においてパラレルバス220とシリアルバス210とのデータ・インターフェースのためのデータフォーマット変換をおこなうことにより、システム・コントローラー231とプロセス・コントローラー211間の通信をおこなう。
【0061】
(画像処理プロセッサー204)
つぎに、画像処理プロセッサー204を構成する演算処理手段について説明する。画像処理プロセッサー204は、図3に示されているようなSIMD型演算処理手段(SIMD型プロセッサー)301と、図4に示されているような逐次処理型演算処理手段401、図5に示されているようなパイプライン構成の逐次処理型演算処理手段501を有している。
【0062】
図3はSIMD型演算処理手段301の基本構成を示しており、SIMD型演算処理手段301はレジスター・ファイル303に対して並列にn個接続されたALU(算術論理演算ユニット)302を有している。ALU302は、2画素データを入力し、加算、減算、乗算、除算、論理演算等をおこなうユニットであり、1命令で同時にn個のALU302が同じ演算をおこなう。演算結果はレジスター・ファイル303に書き戻される。レジスター・ファイル303はn個のレジスターを1セットとしてm組で構成される。
【0063】
図4は逐次処理型演算処理手段401の基本構成を示しており、逐次処理型演算処理手段401は、一つのALU402と、p個のレジスターによるレジスター・ファイル403とにより構成されている。パイプライン構成の逐次処理型演算処理手段501は、図5に示されているように、データ入力部504とデータ出力部505との間に、一つのALU502とp個のレジスターによるレジスター・ファイル503との対を複数対、互いに並列に有している。
【0064】
つぎに、ディジタルフィルターを例に、SIMD型演算処理手段301について説明する。図6はFIRフィルターの特性を示している。主走査方向3タップ、副走査方向1タップのFIRフィルターの場合、式(1)による演算をおこなう。
【0065】
ODn=K1・IDn+K2・IDn-1+K3・IDn-2 …(1)
ODn:主走査方向n画素目の演算後濃度
IDn:主走査方向n画素目の入力画像濃度
K1〜K3:係数(K1+K2+K3=1)
【0066】
図7は上述のFIRフィルターの演算式(1)を図式化して示している。FIRフィルターでは、入力データIDnがK1倍され、1画素遅延したデータIDn-1がK2倍され、2画素遅延したデータIDn-2がK3倍され、それらの合計がODnとなる。通常、これらの演算は1画素ごとにおこなわれるため、画素数分の演算時間がかかる。また、ハードウエアで構成した場合、K1,K2,K3などのパラメータは固定となる。
【0067】
SIMD型演算処理手段301によるFIRフィルターの演算手順を説明する。なお、ここでは、演算手順を示し、SIMD型プロセッサー301の動作説明をおこなうのが目的であるため、浮動小数点の扱い等については深く言及しない。ここでは、ALU302を7つ並列に持ち、レジスター・ファイル303は7つの並列なレジスターを3セット持つSIMD型演算処理手段301の動作を説明する。
【0068】
(手順1)
Di・K1を演算し、演算結果をレジスターREG1iにストアする。すなわち、手順1では、入力データD1〜D7すべてにおいてDi・K1をおこない、各演算結果をレジスターREG1にストアする。
【0069】
(手順2)
Di・K2を演算し、演算結果をレジスターREG2iにストアする。すなわち、入力データD1〜D7すべてにおいてDi×K2をおこない、各演算結果をレジスターREG2へストアする。
【0070】
(手順3)
REG1i+REG2(i+1)を演算し、演算結果をレジスターRREG3iにストアする。すなわち、REG1とREG2を加算する。注目画素i番目に対してREG2はi+1番目を加算する。
【0071】
(手順4)
Di・K3を演算し、演算結果をレジスターREG1iへストアする。すなわち、入力データD1〜D7すべてにおいてDi・K3をおこない、各演算結果をレジスターREG1にストアする。
【0072】
(手順5)
REG3i+REG1(i+2)を演算し、演算結果をREG2iへストアする。すなわち、REG3とREG1を加算する。注目画素i番目に対してREG1はi+2番目を加算する。以上で、REG2iに7画素の演算結果がストアされる。
【0073】
(手順6)
REG2iの演算結果を小数点以下、四捨五入して出力データを生成する。
【0074】
K1=0.25、K2=0.50、K3=0.25とした場合のFIRフィルターの計算例を図8に示している。なお、OD6、OD7が不定なのは、OD8、OD9が存在しないためで、通常は0にクランプする。
【0075】
上述のように、SIMD型演算処理手段301を用いると、5ステップで、n画素の演算が可能となる。なお、K1〜K3の値はレジスター・ファイル303へデータをロードすることによりプログラマブルであり、係数を自由に選択できる。
【0076】
SIMD型演算処理手段301は、上述したように、非常に高速な処理が可能であるが、アルゴリズムによってはその能力が発揮されない場合がある。IIRフィルターがその1例であり、それについて説明する。
【0077】
図9はIIRフィルターの特性を示している。IIRフィルターは、式(2)の演算をおこなう。
【0078】
ODn=(1−K)・ODn-1+K・IDn …(2)
ODn:主走査方向n画素目の演算後濃度
IDn:主走査方向n画素目の入力画像濃度
K :係数(0<K≦1)
【0079】
図10は上述のようにIIRフィルターの演算式(2)を図式化して示している。IIRフィルターの場合、演算後濃度ODnは主走査方向の一つ前の演算結果ODn-1と現データIDnから求まる。このようなアルゴリズムの場合、主走査方向に一気に演算をおこなうSIMD型演算処理手段はそのメリットが活かせない。これは、1画素ごとに演算し、それをつぎの演算に使うためである。従来、この部分はハードワイヤーロジックで作るしかなかった。
【0080】
この発明による画像処理装置では、IIRフィルターの演算は図4に示されているような一つのALU構成を基本とした逐次型演算処理手段401によりおこない、係数変更などを可能にした。この場合、以下の手順により演算が可能である。
【0081】
1.レジスター1にDi、レジスター2にKをロードする。
2.Di・Kを演算してレジスター3にストアする。
3.レジスター1に(1−K)をロードする。
4.レジスター0・レジスター1を演算して結果をレジスター2にストアする。
5.レジスター2+レジスター3を演算して結果をレジスター0にストアする。
6.レジスター0の値を結果をOiに出力する。
7.新しいデータDi+1を入力する。
【0082】
ここで、Kの値は、レジスター・ファイル403にロードする値を変更することにより容易に変更ができ、いろいろな特性のIIRフィルターが実現可能である。
【0083】
以上の2つのアーキテクチャの演算処理手段を用いることにより、画像処理アルゴリズムに適した処理がプログラマブルにおこなわれる。
【0084】
逐次型演算処理手段401において上述のIIRフィルターの例では、演算に5ステップ必要であり、これは1画素の演算結果を得るのに5ステップかかることを意味する。これでは、n画素の演算をおこなうとき5・nステップ必要になってしまうことになる。
【0085】
これに対し、図5に示されているように、逐次型演算処理手段501が、ALU502を複数個有し、パイプライン処理をおこなうことにより、IIRフィルター演算を高速化することができる。
【0086】
パイプライン処理とは、図11に示されているように、一定画素ごとに処理手順を並列化して高速化する手段であり、この例では、5画素ごとに一つの処理をおこなうようにしている。IIRフィルターの演算例で、演算器を使う処理は、2.、4.、5.であるため演算器は3つ必要になる。パイプライン処理の採用により1画素の処理に5ステップ必要であったIIRフィルター処理が1画素ごとに出力され高速化が実現できる。以上、プログラマブルな演算処理手段の基本機能と基本高速化手段を説明した。
【0087】
つぎに、画像処理プロセッサー204の構成および動作について説明する。ここで、説明の前提として、FIRフィルターのようにSIMD型演算処理手段301で演算可能な画像処理アルゴリズムをSIMD向きアルゴリズム(SIMD向き画像処理)、IIRフィルターのように逐次型演算処理手段401、501で演算可能な画像処理アルゴリズムを逐次型向きアルゴリズム(逐次型向き画像処理)と呼ぶ。
【0088】
たとえば、画像処理を直列に接続し、画像処理プロセッサー204がSIMD型演算処理手段301と逐次処理型演算処理手段501とを直列に有するようにしてもよい。この構成は、特に高速処理を必要としない場合や画像処理を逐次で処理したいときに有効である。各画像処理間はデータを渡すだけなので、特別な処理は不要である。
【0089】
また、画像処理をSIMD演算向きと逐次型向きとで並行に処理するようにし、画像処理プロセッサー204がSIMD型演算処理手段301と逐次処理型演算処理手段501とを互いに並列に有し、SIMD型演算処理手段301と逐次処理型演算処理手段501の出力側にセレクターを設けるようにしてもよい。この構成は、逐次演算向き画像処理が常時必要でない場合に有効となる。
【0090】
また、画像処理プロセッサー204がSIMD型演算処理手段301と逐次処理型演算処理手段501とを互いに並列に有し、逐次処理型演算処理手段501の結果をSIMD型演算処理手段301が使用するようにしてもよい。この構成は、たとえば、地肌除去などの画像処理をおこなう場合に有効である。IIRフィルターはFIRフィルターにくらべ少ない演算数で強い平滑化が可能なため、地肌除去などに向いている。よって逐次型演算処理手段が必要となる。
【0091】
また、画像処理プロセッサー204がSIMD型演算処理手段301と逐次処理型演算処理手段501の並列構成を前後複数組有するようにしてもよい。この構成は、地肌除去機能と誤差拡散処理など、IIRフィルターを2箇所以上に使用する場合に有効となる。
【0092】
図12は、本実施の形態にかかる画像処理装置の画像処理プロセッサー204の一構成例を示すブロック図である。画像処理プロセッサー204は、たとえば、SIMD型演算処理手段301と、逐次型演算処理手段501と、複数のデータ入出力用バス(DI1、DI2)1207,1208の接続制御をおこなうバス・スイッチ1201と、メモリー・コントローラー、メモリーおよびメモリー・スイッチを有するメモリー部1202と、画像処理プロセッサー204外部の基準クロック発生部1205からのクロック信号を入力し、画像処理プロセッサー204内部で用いるクロック信号を生成する内部クロック生成部1203と、画像処理プロセッサー204外部のCPU1206の制御により画像処理プロセッサー204の各部に制御信号を出力するCPUインターフェース1204と、を備えている。
【0093】
メモリー部1202は、SIMD型演算処理手段301のための複数個のメモリー(RAM)と、このメモリーとバス・スイッチ1201とSIMD型演算処理手段301との間にあって、メモリーの制御をおこなう複数個のメモリー・コントローラーと、複数個のメモリーの接続制御をおこなうメモリー・スイッチとを有している。
【0094】
データ入出力用バス1207,1208は、別々に動作することが可能である。データはバス・スイッチ1201を介して入力され、メモリー部1202のメモリー・コントローラーの制御によりメモリー部1202内のメモリーにストアされる。このメモリー内のデータはメモリー・コントローラーの制御でSIMD型演算処理手段301のレジスター・ファイル303に転送され、SIMD型演算処理手段301にて処理される。
【0095】
この例では、逐次型演算処理手段501はSIMD型演算処理手段301が処理したデータを処理し、SIMD型演算処理手段301のレジスター・ファイル303に書き戻す。メモリー部1202のメモリー・コントローラーは、逐次型演算処理手段501によりレジスター・ファイル303に書き戻されたデータを取り出し、メモリー部1202内部のメモリーにストアし、メモリーからバス・スイッチ1201を介してデータ入出力用バス1207または1208へ出力する。以上の処理を画像データ分、通常は1ページ分おこない、その後、つぎのページまでは待機状態となる。
【0096】
ここで、画像処理プロセッサー204は一定のクロックを基準にして動作している。この例では、クロック信号を発生させる基準クロック発生部1205が画像処理プロセッサー204の外部に設けられており、画像処理プロセッサー204は、基準クロック発生部1205からのクロック信号を入力して基準クロック1211としている。
【0097】
内部クロック生成部1203は、この基準クロック1211をもとに画像処理プロセッサー204内部で使用するクロック信号1212を生成している。画像処理プロセッサー204の各部は、このクロック信号1212をもとに各機能を動作させる。
【0098】
一般に画像処理装置においては、動作時間よりも待機時間が長い。この待機時間の間においても、クロック信号1212が入力されると、メモリー部1202やSIMD型演算処理手段301や逐次型演算処理手段501などは無駄に電力を消費してしまう。これを防ぐため、待機時間中はCPU1206からの制御によりCPUインターフェースからクロック停止信号1213を出力する。
【0099】
内部クロック生成部1203は、CPUインターフェース1204からのクロック停止信号1213を入力し、また、メモリー部1202やSIMD型演算処理手段301や逐次型演算処理手段501などへのクロック信号1212を停止する。
【0100】
図13は、図12に示した内部クロック生成部1203の一構成例を示すブロック図である。内部クロック生成部1203は、たとえば、基準クロック1211を分周して出力する分周回路1301と、CPUインターフェース1204からのクロック停止信号1213を入力し、入力したクロック停止信号1213に応じてクロック信号1212の停止を制御する停止制御回路1302と、を備えている。
【0101】
分周回路1301は基準クロック1211を分周し、停止制御回路1302に出力する。停止制御回路1302は、分周回路1301からの分周回路出力1303およびCPUインターフェース1204からのクロック停止信号1213を入力し、クロック停止信号1213に応じてクロック信号1212の停止を制御する。
【0102】
図14は、図13に示した停止制御回路1302の一構成例を示すブロック図である。停止制御回路1302は、たとえば、分周回路出力1303とクロック停止信号1213とを入力し、クロック信号1212を出力するANDゲート1401により構成される。ANDゲート1401は、入力したクロック停止信号1213が「0(ローレベル)」のときは「0(ローレベル)」を出力する。一方、入力したクロック停止信号1213が「1(ハイレベル)」のときは分周回路1301からの分周回路出力1303をクロック信号1212として出力する。
【0103】
以上の構成において、画像処理プロセッサー204の動作についてタイミングチャートを参照して説明する。図15は、本実施の形態にかかる画像処理装置の分周回路1301の動作を示すタイミングチャートである。分周回路1301は、基準クロック1211を入力し、入力した基準クロックを分周して出力する。図では、分周回路1301が1/2分周をおこなう例を示している。
【0104】
図16は、本実施の形態にかかる画像処理装置の画像処理プロセッサー204の動作を示すタイミングチャートである。画像処理プロセッサー204は、クロック停止信号1213が「0」でクロック信号1212が停止されている間、処理を停止する。クロック停止信号1213が「1」となりクロック信号1212の発振が開始された後、1ライン処理を開始する。このように待機時に画像処理プロセッサー204各部へのクロック信号を停止するので、待機時の消費電力を低減することができる。
【0105】
つぎに、クロック信号の停止制御を各部ごとに別個におこなう例について説明する。すなわち、SIMD型演算処理手段301、逐次型演算処理手段501および演算処理手段以外(メモリー部1202およびバス・スイッチ1201)に対して別個にクロック信号の停止制御をおこなう。たとえば、データ入出力動作のみのときは演算手段(SIMD型演算処理手段301および逐次型演算処理手段501)に対するクロック信号のみを、画像処理にIIRフィルター処理がないときなどは逐次型演算処理手段501に対するクロック信号のみを、それぞれ停止する。
【0106】
図17は、本実施の形態にかかる画像処理装置の画像処理プロセッサー204の他の構成例を示すブロック図である。なお、図12と同一の部分については同一の符号を付してその説明を省略する。この画像処理プロセッサー204は、図12に示した構成に加え、CPUインターフェース1204からSIMD型演算処理手段301、逐次型演算処理手段501用のクロックコントロール信号1705,1706を入力し、入力したクロックコントロール信号1705,1706に応じてSIMD型演算処理手段301、逐次型演算処理手段501へのクロック信号1703,1704の停止制御を別個におこなうクロック停止制御部1702を備えている。
【0107】
また、内部クロック生成部1701は、SIMD型演算処理手段301、逐次型演算処理手段501へのクロック信号1703,1704の停止制御はおこなわず、分周回路出力1303をそのままクロック停止制御部1702に出力する。内部クロック生成部1701は、たとえば、図18に示すように、分周回路1301と停止制御回路1302との間から分周回路出力1303を取り出してクロック停止制御部1702に出力する構成となっている。
【0108】
停止制御回路1302からのクロック信号1212は、バス・スイッチ1201、メモリー部1202に出力されるが、SIMD型演算処理手段301、逐次型演算処理手段501には出力されない。すなわち、バス・スイッチ1201、メモリー部1202へのクロック信号1212は、演算処理手段へのクロック信号1703,1704とは独立して停止することができる。なお、バス・スイッチ1201へのクロック信号とメモリー部1202へのクロック信号とを分けて独立に停止制御するようにしてもよい。
【0109】
図19は、図17に示したクロック停止制御部1702の一構成例を示すブロック図である。クロック停止制御部1702は、たとえば、SIMD型演算処理手段301用のクロックコントロール信号1705と分周回路出力1303とを入力し、クロックコントロール信号1705に応じてSIMD型演算処理手段301用のクロック信号1703を出力するANDゲート1901と、逐次型演算処理手段501用のクロックコントロール信号1706と分周回路出力1303とを入力し、クロックコントロール信号1706に応じて逐次型演算処理手段501用のクロック信号1704を出力するANDゲート1901と、を備えている。
【0110】
ANDゲート1901,1902は、クロックコントロール信号1705,1706が「0」のときは「0」を出力し、「1」のときは分周回路出力1303をクロック信号1703,1704として出力する。このようにして、クロック信号の停止制御が、各部ごとに別個におこなわれる。
【0111】
以上の構成において、この画像処理プロセッサー204の動作についてタイミングチャートを参照して説明する。図20は、この画像処理プロセッサー204の動作を示すタイミングチャートである。CPU1206は、画像処理プロセッサー204でおこなわれる処理に応じてクロック停止信号1213およびクロックコントロール信号1705,1706を制御する。図では、SIMD型演算処理手段301用のクロックコントロール信号1705が「1」で、逐次型演算処理手段501用のクロックコントロール信号1706が「0」の場合を示している。
【0112】
この場合、SIMD型演算処理手段301用のクロック信号1703は出力されるが逐次型演算処理手段501用のクロック用のクロック信号1704は停止される。これにより、SIMD型演算処理手段301において画像処理がおこなわれ、逐次型演算処理手段501の動作は停止する。このように必要に応じて各部ごとにきめこまかくクロック信号の停止制御をおこなうので、消費電力をより一層低減することができる。
【0113】
つぎに、あらかじめ設定した所定のタイミングで演算処理手段を停止させる例について説明する。これにより、画像処理において1ページ内で演算手段がすべて使用される場合、画像処理の途中でも、必要のない演算処理手段を停止させることができる。図21は、本実施の形態にかかる画像処理装置の画像処理プロセッサー204の他の構成例を示すブロック図である。なお、図17と同一の部分については同一の符号を付してその説明を省略する。
【0114】
この画像処理プロセッサー204では、メモリー部2101が、画像データのラインの先頭を知らせるクロックコントロール信号2105を出力する。また、CPUインターフェース1204は、SIMD型演算処理手段301、逐次型演算処理手段501での処理が終了するタイミングにあわせてあらかじめ設定された値を表すクロックコントロール信号2103,2104を出力する。
【0115】
クロック停止制御部2102は、これらのクロックコントロール信号2103,2104,2105および内部クロック生成部1701からの分周回路出力1303を入力し、クロックコントロール信号2103,2104,2105に応じてSIMD型演算処理手段301、逐次型演算処理手段501へのクロック信号1703,1704の停止制御を別個におこなう。クロック信号1703,1704の停止、発振は1ライン処理の途中においてもおこなわれる。
【0116】
図22は、図21に示したクロック停止制御部2102の一構成例を示すブロック図である。クロック停止制御部2102は、たとえば、分周回路出力1303をカウントし、メモリー部2101からのクロックコントロール信号(パルス)2105により画像データのラインの先頭でリセットされるカウンター2201を備えている。
【0117】
また、カウンター2201からの出力信号(カウンター出力)2211およびCPUインターフェース1204からのSIMD型演算処理手段301用のクロックコントロール信号2103を入力し、これらの信号が一致したときにクロック停止トリガー信号(パルス)2212を出力するコンパレーター2202と、カウンター2201からの出力信号(カウンター出力)2211およびCPUインターフェース1204からの逐次型演算処理手段501用のクロックコントロール信号2104を入力し、これらの信号が一致したときにクロック停止トリガー信号(パルス)2213を出力するコンパレーター2203と、を備えている。
【0118】
また、メモリー部2101からのクロックコントロール信号2105により画像データのラインの先頭でセットされ、コンパレーター2202からのクロック停止トリガー信号2212によりリセットされるフリップフロップ(FF)2204と、メモリー部2101からのクロックコントロール信号2105により画像データのラインの先頭でセットされ、コンパレーター2203からのクロック停止トリガー信号2213によりリセットされるフリップフロップ(FF)2205と、を備えている。
【0119】
また、フリップフロップ2204の出力信号(クロック出力イネーブル信号)2214および分周回路出力1303を入力し、クロック出力イネーブル信号2214が「1」のときはSIMD型演算処理手段用クロック信号1703を発振させ、クロック出力イネーブル信号2214が「0」のときはSIMD型演算処理手段用クロック信号1703を停止させるANDゲート2206を備えている。
【0120】
また、フリップフロップ2205の出力信号(クロック出力イネーブル信号)2215および分周回路出力1303を入力し、クロック出力イネーブル信号2215が「1」のときは逐次型演算処理手段用クロック信号1704を発振させ、クロック出力イネーブル信号2215が「0」のときは逐次型演算処理手段用クロック信号1704を停止させるANDゲート2207を備えている。
【0121】
カウンター2201は、1ライン処理のクロック数以上の数を表現することができるビット数を持ち(23クロックの場合は5ビット)、1ライン処理の先頭からのクロック数をカウントする。CPUインターフェース1204からのクロックコントロール信号2103,2104は、カウンター2201のビット数と同一のビット数の信号であって、CPUインターフェース1204にあらかじめ設定されたクロック数を表す。コンパレーター2202,2203は、カウンター出力2211の値とクロックコントロール信号2103,2104の値とを比較し、一致した場合に出力を「1」にする(パルスを発生させる)。
【0122】
フリップフロップ2204,2205は、1ライン処理の先頭でセットされ、コンパレーター出力2212,2213が立ち上がった(「1」になった)ときリセットされる。ANDゲート2206,2207は、フリップフロップ出力2214,2215が「1」のとき(セットされているとき)クロック信号1703,1704を発振させ、フリップフロップ出力2214,2215が「0」のとき(リセットされているとき)クロック信号1703,1704を停止させる。このように、クロック停止制御部2102は、1ライン処理の途中において画像処理が終了した演算処理手段へのクロック信号を停止し、つぎの1ライン処理の先頭でこれら画像処理手段へのクロック信号を発振させる。
【0123】
以上の構成において、この画像処理プロセッサー204の動作についてタイミングチャートを参照して説明する。図23は、この画像処理プロセッサー204の動作を示すタイミングチャートである。たとえば、1ライン処理の処理時間を23クロックとし、SIMD型演算処理手段301が6クロック(画像処理1)+4クロック(画像処理2)+9クロック(画像処理3)=19クロックで1ライン分の処理を終えるとする。また、逐次型演算処理手段501は21クロックで処理を終えるとする。各演算処理手段には動作時のみクロック信号が供給される。
【0124】
この画像処理プロセッサー204の動作においては、まず、画像データの1ラインの先頭のタイミングでメモリー部2101からクロックコントロール信号2105が立ち上がる。クロックコントロール信号2105が立ち上がることにより、カウンター2201がリセットされ、1からカウントを開始する。また、フリップフロップ2204,2205がセットされ、クロック出力イネーブル信号2214,2215が「1」となり、クロック信号1703,1704が出力される。
【0125】
クロックコントロール信号2103,2104は、それぞれSIMD型演算処理手段301が処理を終了するタイミング(画像データのラインの先頭から19クロック目)、逐次型演算処理手段501が処理を終了するタイミング(画像データのラインの先頭から21クロック目)の情報を有している。
【0126】
クロックコントロール信号2103,2104の値とカウンター出力2211の値とが一致したとき、すなわち、画像データのラインの先頭から19クロック目、21クロック目のタイミングのとき、クロック停止トリガー2212,2213が立ち上がり、クロックイネーブル信号2214,2215が立ち下がる。これにより、クロック信号1703,1704が停止する。
【0127】
その後、つぎのラインの先頭を示すクロックコントロール信号2105が再び立ち上がり、上記の動作が繰り返される。このように、1ライン処理の途中においてもきめこまかく各演算処理手段への不要なクロック信号を停止するので、さらに消費電力を低減することができる。
【0128】
(SIMD型演算処理手段301の具体的構成例)
図24はSIMD型演算処理手段301の具体的構成を示している。SIMD(Single Instruction Multiple Data stream)は複数のデータに対し、単一の命令を並列に実行させるもので、複数のPE(プロセッサー・エレメント)より構成される。
【0129】
それぞれのPEはデータを格納するレジスター(Reg)2401、他のPEのレジスターをアクセスするためのマルチプレクサー(MUX)2402、バレルシフター(Shift Expand)2403、論理演算器(ALU)2404、論理結果を格納するアキュムレーター(A)2405、アキュムレーター2405の内容を一時的に退避させるテンポラリー・レジスター(F)2406から構成される。
【0130】
各レジスター2401は、アドレスバスおよびデータバス(リード線およびワード線)に接続されており、処理を規定する命令コード、処理の対象となるデータを格納する。レジスター2401の内容は論理演算器2404に入力され、演算処理結果はアキュムレーター2405に格納される。結果をPE外部に取り出すために、テンポラリー・レジスター2406に一旦退避させる。テンポラリー・レジスター2406の内容を取り出すことにより、対象データに対する処理結果が得られる。
【0131】
命令コードは、各PEに同一内容で与え、処理の対象データをPEごとに異なる状態で与え、隣接PEのレジスター2401の内容をマルチプレクサー2402において参照することで、演算結果は並列処理され、各アキュムレーター2405に出力される。
【0132】
たとえば、画像データ1ラインの内容を各画素ごとにPEに配置し、同一の命令コードで演算処理させれば、1画素ずつ逐次処理するよりも短時間で1ライン分の処理結果が得られる。特に、空間フィルター処理、シェーディング補正処理はPEごとの命令コードは演算式そのもので、PEすべてに共通に処理を実施することができる。
【0133】
以上説明したように本実施の形態によれば、実行する画像処理アルゴリズムに応じて異なるアーキテクチャによる演算処理手段をSIMD演算処理手段301と逐次型演算処理手段401とで使い分けることができる。
【0134】
また、パイプライン処理をおこなう逐次型演算処理手段501を使うことにより、逐次型演算処理も高速演算でおこなうことができる。また、演算処理手段をSIMD演算処理手段301と逐次型演算処理手段401,501とが並行動作するから、画像処理アルゴリズムに応じて最適なアーキテクチャを選択して高速に演算をおこなうことができる。
【0135】
また、SIMD型演算処理手段301による画像処理の際に、SIMD型演算処理手段301と逐次型演算処理手段401,501との間で処理結果の授受がおこなわれ、複雑な画像処理演算を高速でおこなうことができる。このように、画像処理アルゴリズムを選ばずリソースを十分に活用した高効率の画像処理をおこなうことができる。
【0136】
また、待機時等、必要のない場合は画像処理プロセッサー204の各部へのクロック信号を停止するため、消費電力を低減することができる。さらに、クロック信号の停止制御を画像処理プロセッサー204の各部それぞれ独立におこなうことにより、さらに消費電力を低減することができる。また、1ライン処理の途中においても、処理を終えた演算処理手段へのクロック信号を停止することにより、さらに消費電力を低減することができる。
【0137】
【発明の効果】
以上の説明から理解されるごとく、本発明によれば、実行する画像処理アルゴリズムに応じて異なるアーキテクチャによる演算処理手段を使い分けることができ、また、必要のない(使用しない)ときは画像処理手段へのクロック信号を停止することができ、これにより、画像処理アルゴリズムを選ばずリソースを十分に活用した高効率の画像処理をおこなうことができ、また、消費電力を低減することができる画像処理装置が得られるという効果を奏する。
【0138】
また、本発明によれば、必要に応じて演算処理手段へのクロック信号の停止と演算処理手段以外の部分へのクロック信号の停止とを別個に制御することができ、これにより、データ入出力時などに必要な機能のみを動作させ、さらに消費電力を低減することができる画像処理装置が得られるという効果を奏する。
【0139】
また、本発明によれば、必要に応じて各演算処理手段ごと別個にクロック信号の停止を制御することができ、これにより、処理によって使用しない演算処理手段へのクロック信号のみを停止し、さらに消費電力を低減することができる画像処理装置が得られるという効果を奏する。
【0140】
また、本発明によれば、処理(1ライン処理等)の途中でもあらかじめ設定したタイミングでクロック信号を停止または発振させることができ、これにより、画像処理時にもクロック信号の停止制御をおこなうことができ、さらに消費電力を低減することができる画像処理装置が得られるという効果を奏する。
【0141】
また、本発明によれば、処理(1ライン処理等)の途中でもあらかじめ設定したタイミングで各演算処理手段ごと別個にクロック信号を停止または発振させることができ、これにより、画像処理時にもクロック信号の停止制御をおこなうことができ、さらに消費電力を低減することができる画像処理装置が得られるという効果を奏する。
【0142】
また、本発明によれば、実行する画像処理アルゴリズムに応じてSIMD型演算処理手段と逐次型演算処理手段とを使い分けることができ、画像処理アルゴリズムを選ばずリソースを十分に活用した高効率の画像処理を高速演算のもとにおこなうことができる画像処理装置が得られるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の本実施の形態にかかる画像処理装置の構成を機能的に示すブロック図である。
【図2】 本実施の形態にかかる画像処理装置のハードウエア構成の一例を示すブロック図である。
【図3】 本実施の形態にかかる画像処理装置で使用されるSIMD型演算処理手段の一例を示すブロック図である。
【図4】 本実施の形態にかかる画像処理装置で使用される逐次処理型演算処理手段の一例を示すブロック図である。
【図5】 本実施の形態にかかる画像処理装置で使用されるパイプライン構成の逐次処理型演算処理手段の一例を示すブロック図である。
【図6】 FIRフィルターの特性を示すグラフである。
【図7】 FIRフィルターの構成を示すブロック線図である。
【図8】 FIRフィルターの計算例を示す説明図である。
【図9】 IIRフィルターの特性を示すグラフである。
【図10】 IIRフィルターの構成を示すブロック線図である。
【図11】 本実施の形態にかかる画像処理装置で使用されるパイプライン構成の逐次処理型演算処理手段によるパイプライン処理の様子を示す説明図である。
【図12】 本実施の形態にかかる画像処理装置の画像処理プロセッサーの一構成例を示すブロック図である。
【図13】 図12に示した内部クロック生成部の一構成例を示すブロック図である。
【図14】 図13に示した停止制御回路の一構成例を示すブロック図である。
【図15】 本実施の形態にかかる画像処理装置の分周回路の動作を示すタイミングチャートである。
【図16】 本実施の形態にかかる画像処理装置の画像処理プロセッサーの動作を示すタイミングチャートである。
【図17】 本実施の形態にかかる画像処理装置の画像処理プロセッサーの他の構成例を示すブロック図である。
【図18】 図17に示した内部クロック生成部の一構成例を示すブロック図である。
【図19】 図17に示したクロック停止制御部の一構成例を示すブロック図である。
【図20】 本実施の形態にかかる画像処理装置の他の画像処理プロセッサーの動作を示すタイミングチャートである。
【図21】 本実施の形態にかかる画像処理装置の画像処理プロセッサーの他の構成例を示すブロック図である。
【図22】 図21に示したクロック停止制御部の一構成例を示すブロック図である。
【図23】 本実施の形態にかかる画像処理装置の他の画像処理プロセッサーの動作を示すタイミングチャートである。
【図24】 本実施の形態にかかる画像処理装置に用いられるSIMD型プロセッサーの概略構成を示す説明図である。
【符号の説明】
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 操作パネル
301 SIMD型演算処理手段
302,402,502 ALU
303,403,503 レジスター・ファイル
401,501 逐次型演算処理手段
1201 バス・スイッチ
1202,2101 メモリー部
1203,1701 内部クロック生成部
1204 CPUインターフェース
1205 基準クロック発生部
1206 CPU
1702,2102 クロック停止制御部
2401 レジスター(Reg)
2402 マルチプレクサー(MUX)
2403 バレルシフター(Shift Expand)
2404 論理演算器(ALU)
2405 アキュムレーター(A)
2406 テンポラリー・レジスター(F)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus, and performs image processing on a digital image signal applied to an apparatus that reproduces an image on a transfer paper using a digital image signal, particularly an apparatus that reads an image from a scanner and reproduces an image on a transfer paper. The present invention relates to an image processing apparatus that performs.
[0002]
[Prior art]
Conventionally, digital copiers that process image data digitized from analog copiers have appeared. Furthermore, in addition to the functions of copiers, digital copiers function not only as copiers, but also facsimile functions, There are digital multifunction peripherals that combine functions such as printer functions and scanner functions.
[0003]
As an image processing apparatus used in the above-described digital multi-function peripheral, a control means that can arbitrarily set the image processing of the read signal, the image storage in the memory, the parallel operation of a plurality of functions, and the order and number of times of each image processing is provided. In addition, an “image processing apparatus” (for example, Japanese Patent Laid-Open No. 8-274986) has already been proposed, and in this image processing apparatus, various image processing can be executed with one image processing configuration.
[0004]
[Problems to be solved by the invention]
Since the above-described image processing apparatus can arbitrarily set the order and number of times of image processing, it can perform optimal image processing on input image data, and execute various image processing with a single image processing configuration. However, it has only one image processing hardware (arithmetic processing means) of one architecture such as a parallel processing type, and an arithmetic processing means of a preferred architecture cannot be selected according to the contents of the image processing.
[0005]
For example, image processing by an image processing algorithm such as an FIR filter (finite impulse response filter) is suitable for arithmetic processing by a parallel processing type arithmetic processing means, but image processing such as an IIR filter (infinite impulse response filter). Image processing by an algorithm is not suitable for arithmetic processing by a parallel processing type arithmetic processing unit, but is suitable for arithmetic processing by a sequential processing type arithmetic processing unit that performs pipeline processing.
[0006]
As mentioned above, a digital multi-function peripheral that may selectively perform image processing using different types of image processing algorithms has only one architecture of image processing hardware. There was a problem that processing could not be performed.
[0007]
In addition, the complexity of image processing leads to an increase in the scale of an LSI implemented in an image processing apparatus. Further, since a clock signal is always input to the entire image processing unit and is always in an on state, power consumption is increased and heat is generated. There was a problem such as. In particular, in recent years, attention has been paid to prevention of global warming and environmental conservation, and there has been a problem that energy saving has not been achieved despite the necessity of energy saving of electric and electronic equipment.
[0008]
The present invention has been made to solve the above-described problems of the prior art, and image processing using different types of image processing algorithms is performed by image processing means having an architecture suitable for each image processing algorithm, and sufficient resources are provided. An object of the present invention is to provide an image processing apparatus capable of performing highly efficient image processing utilized in the above-described method and reducing power consumption.
[0009]
[Means for Solving the Problems]
In order to solve the above-mentioned problems and achieve the above object, Book The image processing apparatus according to the present invention converts the read image signal into a digitally converted image signal, or converts digitally generated image information into an image signal, and outputs the digitally converted image signal as a visible image A clock for controlling stoppage of a clock signal to the image processing means in an image processing apparatus having programmable image processing means for processing the image signal into a possible image signal and performing image processing on the digitally converted image signal A stop control means is provided, and the image processing means is constituted by arithmetic processing means having two or more different architectures.
[0010]
This Departure According to Meiji, it is possible to properly use arithmetic processing means with different architectures according to the image processing algorithm to be executed, and to stop the clock signal to the image processing means when not necessary (not used).
[0011]
Also, Book An image processing apparatus according to the invention includes: the above In the present invention, the clock stop control means separately controls the stop of the clock signal to the arithmetic processing means and the stop of the clock signal to a part other than the arithmetic processing means.
[0012]
This Departure According to the present invention, it is possible to separately control the stop of the clock signal to the arithmetic processing unit and the stop of the clock signal to the part other than the arithmetic processing unit as necessary.
[0013]
Also, Book An image processing apparatus according to the invention includes: the above In the described invention, the clock stop control means controls the stop of the clock signal separately for each arithmetic processing means.
[0014]
This Departure According to Meiji, it is possible to control the stop of the clock signal separately for each arithmetic processing means as required.
[0015]
Also, Book An image processing apparatus according to the invention includes: the above In the present invention, the clock stop control means stops or oscillates the clock signal at a preset timing.
[0016]
This Departure According to Meiji, the clock signal can be stopped or oscillated at a preset timing even during the processing (one-line processing or the like).
[0017]
Also, Book An image processing apparatus according to the invention includes: the above In the present invention, the clock stop control means individually stops or oscillates the clock signal for each of the arithmetic processing means at a preset timing.
[0018]
This Departure According to Meiji, the clock signal can be stopped or oscillated separately for each arithmetic processing means at a preset timing even during the processing (one-line processing or the like).
[0019]
Also, Book An image processing apparatus according to the invention includes: the above invention In The arithmetic processing means includes a SIMD (Single Instruction Multiple Data Stream) type arithmetic processing means for performing the same operation on a plurality of pixel data at the same time, and a sequential type arithmetic processing means for performing an operation on a pixel-by-pixel basis. It is characterized by.
[0020]
This Departure According to Meiji, the SIMD type arithmetic processing means and the sequential type arithmetic processing means can be used properly according to the image processing algorithm to be executed.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of an image processing apparatus according to the present invention will be explained below in detail with reference to the accompanying drawings.
[0022]
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 includes the following five units.
[0023]
The five units are an image
[0024]
Each of the above units has an
[0025]
(Image data control unit 100)
The processes performed by the image
[0026]
For example,
(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.
[0027]
(Image reading unit 101)
The processes performed by the
[0028]
For example,
(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 processing performed by the image
[0030]
For example,
(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.
[0031]
(Image processing unit 103)
The processing performed by the
[0032]
For example,
(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.
[0033]
(Image writing unit 104)
The processes performed by the
[0034]
For example,
(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.
[0035]
(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.
[0036]
In the block diagram of FIG. 2, the image processing apparatus according to the present embodiment includes a
[0037]
The image processing apparatus according to the present embodiment includes an image memory /
[0038]
Here, the relationship between each component described above and each
[0039]
Similarly, the
[0040]
Next, the contents of each component will be described. A
[0041]
A light receiving element, for example, a CCD is mounted on the
[0042]
Image data output (transmitted) from the
[0043]
The image data control unit (image data interface control unit) 203 relates to image data, and transfers data between the
[0044]
The
[0045]
The image memory
[0046]
The
[0047]
The processing of the image data read by the
[0048]
As an example of storing the read image data in the
[0049]
As an example in which the
[0050]
When the
[0051]
The image data after the image quality processing is transferred from the
[0052]
Next, the flow of image data when it is stored in the
[0053]
Here, based on the control of the
[0054]
The image data sent to the image memory
[0055]
After transfer from the image
[0056]
The facsimile transmission is performed by processing the read image data by the
[0057]
Facsimile reception is performed by converting line data from the public line (PN) 225 into image data by the
[0058]
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 usage rights of the
[0059]
The
[0060]
The
[0061]
(Image processor 204)
Next, arithmetic processing means constituting the
[0062]
FIG. 3 shows a basic configuration of the SIMD type arithmetic processing means 301. The SIMD type arithmetic processing means 301 has n ALUs (arithmetic logic arithmetic units) 302 connected in parallel to the
[0063]
FIG. 4 shows the basic configuration of the sequential processing type arithmetic processing means 401. The sequential processing type arithmetic processing means 401 is composed of one
[0064]
Next, the SIMD type arithmetic processing means 301 will be described by taking a digital filter as an example. FIG. 6 shows the characteristics of the FIR filter. In the case of an FIR filter with 3 taps in the main scanning direction and 1 tap in the sub scanning direction, the calculation according to the equation (1) is performed.
[0065]
ODn = K1, IDn + K2, IDn-1 + K3, IDn-2 (1)
ODn: density after calculation for the nth pixel in the main scanning direction
IDn: input image density of the nth pixel in the main scanning direction
K1 to K3: coefficients (K1 + K2 + K3 = 1)
[0066]
FIG. 7 is a schematic representation of the calculation formula (1) of the FIR filter described above. In the FIR filter, the input data IDn is multiplied by K1, the data IDn-1 delayed by one pixel is multiplied by K2, the data IDn-2 delayed by two pixels is multiplied by K3, and the sum thereof becomes ODn. Usually, since these calculations are performed for each pixel, it takes a calculation time corresponding to the number of pixels. Further, when configured by hardware, parameters such as K1, K2, and K3 are fixed.
[0067]
The calculation procedure of the FIR filter by the SIMD
[0068]
(Procedure 1)
Di · K1 is calculated, and the calculation result is stored in the register REG1i. That is, in the
[0069]
(Procedure 2)
Di · K2 is calculated, and the calculation result is stored in the register REG2i. That is, Di × K2 is performed on all the input data D1 to D7, and each operation result is stored in the register REG2.
[0070]
(Procedure 3)
REG1i + REG2 (i + 1) is calculated, and the calculation result is stored in the register RREG3i. That is, REG1 and REG2 are added. REG2 adds i + 1th to the pixel i of interest.
[0071]
(Procedure 4)
Di · K3 is calculated, and the calculation result is stored in the register REG1i. That is, Di · K3 is performed on all the input data D1 to D7, and each operation result is stored in the register REG1.
[0072]
(Procedure 5)
REG3i + REG1 (i + 2) is calculated and the calculation result is stored in REG2i. That is, REG3 and REG1 are added. REG1 adds i + 2 to the i-th pixel of interest. Thus, the calculation result of 7 pixels is stored in REG2i.
[0073]
(Procedure 6)
The operation result of REG2i is rounded off to the output of the output data.
[0074]
FIG. 8 shows a calculation example of the FIR filter when K1 = 0.25, K2 = 0.50, and K3 = 0.25. Note that OD6 and OD7 are indefinite because OD8 and OD9 do not exist, and are normally clamped to zero.
[0075]
As described above, when the SIMD type
[0076]
As described above, the SIMD type
[0077]
FIG. 9 shows the characteristics of the IIR filter. The IIR filter performs the calculation of Expression (2).
[0078]
ODn = (1-K) .ODn-1 + K.IDn (2)
ODn: density after calculation for the nth pixel in the main scanning direction
IDn: input image density of the nth pixel in the main scanning direction
K: coefficient (0 <K ≦ 1)
[0079]
FIG. Like Fig. 2 shows a schematic diagram of the operational expression (2) of the IIR filter. In the case of the IIR filter, the calculated density ODn is obtained from the previous calculation result ODn-1 in the main scanning direction and the current data IDn. In the case of such an algorithm, the advantage of the SIMD type arithmetic processing means that performs calculations at once in the main scanning direction cannot be utilized. This is because each pixel is calculated and used for the next calculation. Previously, this part had to be made with hard wire logic.
[0080]
In the image processing apparatus according to the present invention, the calculation of the IIR filter is performed by the sequential calculation processing means 401 based on one ALU configuration as shown in FIG. 4, and the coefficient can be changed. In this case, calculation is possible by the following procedure.
[0081]
1. Load Di into
2. Di · K is calculated and stored in the
3. Load (1-K) into
4).
5). Calculate
6). The result of
7). Enter new data Di + 1.
[0082]
Here, the value of K can be easily changed by changing the value loaded into the
[0083]
By using the arithmetic processing means of the above two architectures, processing suitable for the image processing algorithm is performed in a programmable manner.
[0084]
In the example of the IIR filter described above in the sequential arithmetic processing means 401, five steps are required for the calculation, which means that it takes five steps to obtain the calculation result of one pixel. This requires 5 · n steps when calculating n pixels.
[0085]
On the other hand, as shown in FIG. 5, the sequential arithmetic processing means 501 has a plurality of
[0086]
As shown in FIG. 11, pipeline processing is means for parallelizing the processing procedure for each fixed pixel to increase the speed. In this example, one process is performed for every five pixels. . In the calculation example of the IIR filter, processing using an arithmetic unit is as follows. 4. 5. Therefore, three arithmetic units are required. By adopting pipeline processing, IIR filter processing, which requires five steps for processing one pixel, is output for each pixel, and high speed can be realized. The basic functions and basic speed-up means of the programmable arithmetic processing means have been described above.
[0087]
Next, the configuration and operation of the
[0088]
For example, image processing may be connected in series, and the
[0089]
Further, the image processing is performed in parallel in the SIMD calculation direction and the sequential type direction, and the
[0090]
Further, the
[0091]
Further, the
[0092]
FIG. 12 is a block diagram showing a configuration example of the
[0093]
The
[0094]
The data input /
[0095]
In this example, the
[0096]
Here, the
[0097]
The
[0098]
In general, in an image processing apparatus, a standby time is longer than an operation time. Even during this standby time, if the
[0099]
The internal
[0100]
FIG. 13 is a block diagram illustrating a configuration example of the internal
[0101]
The
[0102]
FIG. 14 is a block diagram showing a configuration example of the
[0103]
In the above configuration, the operation of the
[0104]
FIG. 16 is a timing chart showing the operation of the
[0105]
Next, an example in which clock signal stop control is performed separately for each unit will be described. That is, the stop control of the clock signal is separately performed on the
[0106]
FIG. 17 is a block diagram showing another configuration example of the
[0107]
Also, the internal
[0108]
The
[0109]
FIG. 19 is a block diagram showing a configuration example of the clock
[0110]
The AND
[0111]
In the above configuration, the operation of the
[0112]
In this case, the
[0113]
Next, an example in which the arithmetic processing means is stopped at a predetermined timing set in advance will be described. Thereby, when all the calculation means are used in one page in the image processing, unnecessary calculation processing means can be stopped even during the image processing. FIG. 21 is a block diagram illustrating another configuration example of the
[0114]
In the
[0115]
The clock
[0116]
FIG. 22 is a block diagram showing a configuration example of the clock
[0117]
Also, an output signal (counter output) 2211 from the
[0118]
Also, a flip-flop (FF) 2204 that is set at the head of the image data line by the
[0119]
Further, the output signal (clock output enable signal) 2214 of the flip-
[0120]
Further, the output signal (clock output enable signal) 2215 of the flip-
[0121]
The
[0122]
The flip-
[0123]
In the above configuration, the operation of the
[0124]
In the operation of the
[0125]
The
[0126]
When the values of the
[0127]
Thereafter, the
[0128]
(Specific configuration example of SIMD type arithmetic processing means 301)
FIG. 24 shows a specific configuration of the SIMD type arithmetic processing means 301. SIMD (Single Instruction Multiple Data stream) is a system that executes a single instruction in parallel for a plurality of data, and is composed of a plurality of PEs (processor elements).
[0129]
Each PE has a register (Reg) 2401 for storing data, a multiplexer (MUX) 2402 for accessing registers of other PEs, a barrel shifter (Shift Expand) 2403, an arithmetic logic unit (ALU) 2404, and a logical result. The accumulator (A) 2405 to be stored and the temporary register (F) 2406 for temporarily saving the contents of the
[0130]
Each
[0131]
The instruction code is given to each PE with the same content, the processing target data is given in a different state for each PE, and the operation result is processed in parallel by referring to the contents of the
[0132]
For example, if the content of one line of image data is arranged in the PE for each pixel and is processed by the same instruction code, the processing result for one line can be obtained in a shorter time than the sequential processing of each pixel. In particular, in the spatial filter processing and shading correction processing, the instruction code for each PE is an arithmetic expression itself, and the processing can be performed in common for all the PEs.
[0133]
As described above, according to the present embodiment, it is possible to use different arithmetic processing means with different architectures in the SIMD arithmetic processing means 301 and the sequential arithmetic processing means 401 depending on the image processing algorithm to be executed.
[0134]
Further, by using the sequential arithmetic processing means 501 that performs pipeline processing, the sequential arithmetic processing can be performed at high speed. Further, since the SIMD arithmetic processing means 301 and the sequential arithmetic processing means 401 and 501 operate in parallel as arithmetic processing means, it is possible to select an optimum architecture according to the image processing algorithm and perform high-speed arithmetic.
[0135]
In addition, during the image processing by the SIMD type
[0136]
Further, when it is not necessary, such as during standby, the clock signal to each unit of the
[0137]
【The invention's effect】
As can be understood from the above explanation, Book According to the invention, it is possible to properly use arithmetic processing means with different architectures depending on the image processing algorithm to be executed, and when it is not necessary (not used), the clock signal to the image processing means can be stopped, Thereby, it is possible to obtain an image processing apparatus capable of performing high-efficiency image processing using resources sufficiently without selecting an image processing algorithm and reducing power consumption.
[0138]
Also, Book According to the present invention, it is possible to separately control the stop of the clock signal to the arithmetic processing means and the stop of the clock signal to the part other than the arithmetic processing means as necessary. There is an effect that an image processing apparatus capable of operating only necessary functions and further reducing power consumption can be obtained.
[0139]
Also, Book According to the invention, it is possible to control the stop of the clock signal separately for each arithmetic processing means as necessary, thereby stopping only the clock signal to the arithmetic processing means not used by the processing, and further reducing the power consumption. There is an effect that an image processing apparatus that can be reduced is obtained.
[0140]
Also, Book According to the present invention, the clock signal can be stopped or oscillated at a preset timing even during the processing (one-line processing or the like), whereby the clock signal stop control can be performed even during image processing. There is an effect that an image processing apparatus capable of reducing power consumption can be obtained.
[0141]
Also, Book According to the invention, the clock signal can be stopped or oscillated separately for each arithmetic processing means at a preset timing even during the processing (one-line processing or the like). It is possible to obtain an image processing apparatus that can perform power consumption and can further reduce power consumption.
[0142]
Also, Book According to the invention, SIMD type arithmetic processing means and sequential type arithmetic processing means can be properly used according to the image processing algorithm to be executed, and high-efficiency image processing using resources sufficiently without selecting an image processing algorithm can be performed at high speed. There is an effect that an image processing apparatus that can be performed under calculation 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 a block diagram showing an example of SIMD type arithmetic processing means used in the image processing apparatus according to the present embodiment.
FIG. 4 is a block diagram showing an example of a sequential processing type arithmetic processing means used in the image processing apparatus according to the present embodiment.
FIG. 5 is a block diagram illustrating an example of a sequential processing type arithmetic processing unit having a pipeline configuration used in the image processing apparatus according to the present embodiment;
FIG. 6 is a graph showing characteristics of an FIR filter.
FIG. 7 is a block diagram showing a configuration of an FIR filter.
FIG. 8 is an explanatory diagram illustrating a calculation example of an FIR filter.
FIG. 9 is a graph showing characteristics of an IIR filter.
FIG. 10 is a block diagram showing a configuration of an IIR filter.
FIG. 11 is an explanatory diagram showing a state of pipeline processing by a sequential processing type arithmetic processing means having a pipeline configuration used in the image processing apparatus according to the present embodiment;
FIG. 12 is a block diagram illustrating a configuration example of an image processing processor of the image processing apparatus according to the present embodiment;
13 is a block diagram illustrating a configuration example of an internal clock generation unit illustrated in FIG. 12;
14 is a block diagram showing a configuration example of a stop control circuit shown in FIG.
FIG. 15 is a timing chart showing the operation of the frequency dividing circuit of the image processing apparatus according to the present embodiment;
FIG. 16 is a timing chart showing the operation of the image processing processor of the image processing apparatus according to the present embodiment;
FIG. 17 is a block diagram showing another configuration example of the image processing processor of the image processing apparatus according to the present embodiment;
18 is a block diagram showing an example of the configuration of an internal clock generation unit shown in FIG.
19 is a block diagram illustrating a configuration example of a clock stop control unit illustrated in FIG. 17;
FIG. 20 is a timing chart illustrating an operation of another image processor of the image processing apparatus according to the present embodiment.
FIG. 21 is a block diagram illustrating another configuration example of the image processing processor of the image processing apparatus according to the present embodiment;
22 is a block diagram illustrating a configuration example of a clock stop control unit illustrated in FIG. 21;
FIG. 23 is a timing chart showing the operation of another image processor of the image processing apparatus according to the present embodiment.
FIG. 24 is an explanatory diagram showing a schematic configuration of a SIMD type processor used in the image processing apparatus according to the present embodiment;
[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
301 SIMD type arithmetic processing means
302, 402, 502 ALU
303, 403, 503 Register file
401,501 Sequential arithmetic processing means
1201 Bus switch
1202, 2101 Memory part
1203, 1701 Internal clock generator
1204 CPU interface
1205 Reference clock generator
1206 CPU
1702, 2102 Clock stop controller
2401 Register (Reg)
2402 Multiplexer (MUX)
2403 Barrel Shifter (Shift Expand)
2404 Logic Unit (ALU)
2405 Accumulator (A)
2406 Temporary Register (F)
Claims (2)
前記画像処理手段は、複数画素データに対して同時に同じ演算をおこなうSIMD(Single Instruction Multiple Data stream)型演算処理手段と、1画素単位で演算をおこなう逐次型演算処理手段であり、
前記クロック停止制御手段は前記画像信号の1ライン期間が開始される毎に前記SIMD型演算処理手段に対する前記クロック信号と前記逐次型演算処理手段に対する前記クロック信号を出力し、あらかじめ決められた第1の時間後に前記SIMD型演算手段に対する前記クロックを停止し、あらかじめ決められた第2の時間後に逐次型演算処理手段に対する前記クロックを停止することを特徴とする画像処理装置。 The read image signal is converted into a digitally converted image signal, or digitally generated image information is converted into an image signal so that the digitally converted image signal can be output as a visible image. An image processing apparatus comprising: programmable image processing means for processing and performing image processing on the digitally converted image signal; and clock stop control means for controlling stoppage of a clock signal to the image processing means ,
The image processing means is a SIMD (Single Instruction Multiple Data stream) type arithmetic processing means that performs the same calculation simultaneously on a plurality of pixel data, and a sequential type arithmetic processing means that performs an operation on a pixel-by-pixel basis.
The clock stop control means outputs the clock signal for the SIMD type arithmetic processing means and the clock signal for the sequential type arithmetic processing means each time one line period of the image signal is started, The image processing apparatus is characterized in that the clock for the SIMD type arithmetic means is stopped after a predetermined time and the clock for the sequential type arithmetic processing means is stopped after a predetermined second time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37189699A JP3887134B2 (en) | 1999-12-27 | 1999-12-27 | Image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37189699A JP3887134B2 (en) | 1999-12-27 | 1999-12-27 | Image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001184495A JP2001184495A (en) | 2001-07-06 |
JP3887134B2 true JP3887134B2 (en) | 2007-02-28 |
Family
ID=18499493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37189699A Expired - Fee Related JP3887134B2 (en) | 1999-12-27 | 1999-12-27 | Image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3887134B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4579979B2 (en) * | 2004-06-21 | 2010-11-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Power management |
JP4328689B2 (en) | 2004-08-06 | 2009-09-09 | キヤノン株式会社 | Image processing apparatus and image processing apparatus control method |
JP2006065471A (en) | 2004-08-25 | 2006-03-09 | Fuji Xerox Co Ltd | Semiconductor integrated circuit, and its power saving control method and power saving control program |
JP4522216B2 (en) * | 2004-10-12 | 2010-08-11 | キヤノン株式会社 | Image processing device |
US20080072015A1 (en) * | 2006-09-18 | 2008-03-20 | Julier Michael A | Demand-based processing resource allocation |
JP5777670B2 (en) * | 2013-08-19 | 2015-09-09 | 京セラドキュメントソリューションズ株式会社 | Image forming system and power saving printing method |
-
1999
- 1999-12-27 JP JP37189699A patent/JP3887134B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001184495A (en) | 2001-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3732702B2 (en) | Image processing device | |
JP2001169068A (en) | Device and method for image processing and computer readable storage medium with program making computer perform the method stored therein | |
JP2001273267A (en) | Simd type processor, parallel processor, image processor, copy machine, printer, facsimile equipment, scanner, parallel processing method, image processing method and processor for computer to perform the same method | |
JP2001169022A (en) | Image processor | |
JP3887134B2 (en) | Image processing device | |
US6963420B1 (en) | Image processing apparatus | |
JP2001156968A (en) | Image processor | |
JP4402676B2 (en) | Image processing apparatus and image processing method | |
JP2001092946A (en) | Image processor | |
JP4125025B2 (en) | Image processing device | |
JP3669574B2 (en) | Image processing apparatus, image processing method, program for causing computer to execute the method, and computer-readable recording medium storing the program | |
US8643896B2 (en) | Image processing apparatus for outputting raster image using a plurality of processors | |
JP4516336B2 (en) | Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium | |
JP2001101394A (en) | Image processor | |
JP3887135B2 (en) | Image processing apparatus, image processing method, and computer-readable recording medium storing program for causing computer to execute the method | |
JP3670918B2 (en) | Image processing device | |
JP2005333676A (en) | Image data processing method, image data processing apparatus and image forming apparatus | |
JP2003250031A (en) | Image processing apparatus and image processing method | |
JP2002359739A (en) | Image processing unit, image processing method and program to allow computer to perform the method, and computer-readable recording medium for recording the program | |
JP2002359743A (en) | Image processing device, image processing method and program to allow computer to execute the method, and computer-readable recording medium for recording the program | |
JP2001092949A (en) | Device and method for processing image and computer readable recording medium recording program for computer to execute the same method | |
JP2004289427A (en) | Image processing apparatus and image forming apparatus | |
JP3785295B2 (en) | Image processing device | |
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 | |
JP2002051220A (en) | Image processor |
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 |
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 |