JP3887134B2 - Image processing device - Google Patents

Image processing device Download PDF

Info

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
Application number
JP37189699A
Other languages
Japanese (ja)
Other versions
JP2001184495A (en
Inventor
祐二 高橋
啓之 川本
慎也 宮崎
秀人 宮崎
杉高 樗木
泰之 野水
理恵 石井
義幸 波塚
剛治 刀根
史男 吉澤
拓章 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP37189699A priority Critical patent/JP3887134B2/en
Publication of JP2001184495A publication Critical patent/JP2001184495A/en
Application granted granted Critical
Publication of JP3887134B2 publication Critical patent/JP3887134B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 data control unit 100, an image reading unit 101 for reading image data, an image memory control unit 102 for controlling image memory for storing images and writing / reading image data, and an image. An image processing unit 103 that performs image processing such as processing editing on the data, and an image writing unit 104 that writes the image data on transfer paper or the like.
[0024]
Each of the above units has an image reading unit 101, an image memory control unit 102, an image processing unit 103, and an image writing unit 104 connected to the image data control unit 100, with the image data control unit 100 as the center. Yes.
[0025]
(Image data control unit 100)
The processes performed by the image data control unit 100 include the following.
[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 process controller 211 described later),
(9) Parallel data and serial data format conversion processing,
(10) Interface processing with the image reading unit 101,
(11) Interface processing with the image processing unit 103,
Etc.
[0027]
(Image reading unit 101)
The processes performed by the image reading unit 101 include the following.
[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 memory control unit 102 includes the following.
[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 image processing unit 103 includes the following.
[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 image writing unit 104 include the following.
[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 reading unit 201, a sensor board unit 202, an image data control unit 203, an image processing processor (image processing means) 204, and a video. A data control unit 205 and an image forming unit (engine) 206 are provided. The image processing apparatus according to the present embodiment includes a process controller 211, a RAM 212, and a ROM 213 via a serial bus 210.
[0037]
The image processing apparatus according to the present embodiment includes an image memory / access control unit 221 and a facsimile control unit 224 via a parallel bus 220, and is further connected to the image memory / access control unit 221. A memory module 222, a system controller 231, a RAM 232, a ROM 233, and an operation panel 234 are provided.
[0038]
Here, the relationship between each component described above and each unit 100 to 104 shown in FIG. 1 will be described. That is, the function of the image reading unit 101 shown in FIG. 1 is realized by the reading unit 201 and the sensor board unit 202. Similarly, the function of the image data control unit 100 is realized by the image data control unit 203. Similarly, the function of the image processing unit 103 is realized by the image processor 204.
[0039]
Similarly, the image writing unit 104 is realized by the video / data control unit 205 and the image forming unit (engine) 206. Similarly, the image memory control unit 102 is realized by the image memory access control unit 221 and the memory module 222.
[0040]
Next, the contents of each component will be described. A reading unit 201 that optically reads a document includes a lamp, a mirror, and a lens, and condenses reflected light of lamp irradiation on the document on a light receiving element by the mirror and the lens.
[0041]
A light receiving element, for example, a CCD is mounted on the sensor board unit 202, and image data converted into an electrical signal in the CCD is converted into a digital signal and then output (transmitted) from the sensor board unit 202.
[0042]
Image data output (transmitted) from the sensor board unit 202 is input (received) to the image data control unit 203. The image data control unit 203 controls all image data transmission between the functional device (processing unit) and the data bus.
[0043]
The image data control unit (image data interface control unit) 203 relates to image data, and transfers data between the sensor board unit 202, the parallel bus 220, and the image processing processor 204, and controls the entire process controller 211 and the image processing apparatus. It communicates with the system controller 231 that manages the system. The RAM 212 is used as a work area for the process controller 211, and the ROM 213 stores a boot program for the process controller 211 and the like.
[0044]
The image processor 204 is a programmable arithmetic processing unit that performs image processing. The image data output (transmitted) from the sensor board unit 202 is transferred (transmitted) to the image processor 204 via the image data control unit 203, and the image processor 204 converts the image data into an optical system and a digital signal. The signal deterioration accompanying the quantization (scanner signal deterioration) is corrected and output (transmitted) to the image data control unit 203 again.
[0045]
The image memory access control unit 221 controls writing / reading of image data to / from the memory module 222. The system controller 231 controls the operation of each component connected to the parallel bus 220. The RAM 232 is used as a work area for the system controller 231, and the ROM 233 stores a boot program for the system controller 231.
[0046]
The operation panel 234 inputs processing to be performed by the image processing apparatus. For example, the type of processing (copying, facsimile transmission, image reading, printing, etc.), the number of processings, etc. are input. Thereby, the image data control information can be input. Details of the contents of the facsimile control unit 224 will be described later.
[0047]
The processing of the image data read by the reading unit 201 includes a job for storing the read image data in the memory module 222 and reusing it, and a job for not storing the read image data in the memory module 222. Each case will be described.
[0048]
As an example of storing the read image data in the memory module 222, there is a case where a plurality of sheets are copied for one original. In this case, the reading unit 201 is operated only once and read by the reading unit 201. Image data is stored in the memory module 222, and the image data stored in the memory module 222 is read out a plurality of times.
[0049]
As an example in which the memory module 222 is not used, there is a case where only one original is copied. In this case, since the read image data may be reproduced as it is, the memory by the image memory access control unit 221 is used. It is not necessary to access the module 222.
[0050]
When the memory module 222 is not used, the data transferred from the image processing processor 204 to the image data control unit 203 is returned from the image data control unit 203 to the image processing processor 204 again. The image processor 204 performs image quality processing for converting luminance data by the CCD in the sensor board unit 202 into area gradation.
[0051]
The image data after the image quality processing is transferred from the image processor 204 to the video data control unit 205. The video data control unit 205 performs post-processing related to dot arrangement and pulse control for reproducing dots on the signal changed to area gradation. Thereafter, the image data is sent to the image forming unit 206, and the image forming unit 206 forms a reproduced image on the transfer paper.
[0052]
Next, the flow of image data when it is stored in the memory module 222 and additional processing at the time of image reading, for example, rotation of the image direction, image synthesis, or the like, is described. The image data transferred from the image processor 204 to the image data control unit 203 is sent from the image data control unit 203 to the image memory / access control unit 221 via the parallel bus 220.
[0053]
Here, based on the control of the system controller 231, image data and access control of the memory module 222, development of print data of the external PC (personal computer) 223, and image for effective use of the memory module 222 Compress / decompress data.
[0054]
The image data sent to the image memory access control unit 221 is stored in the memory module 222 after data compression, and the stored image data is read out as necessary. The read image data is decompressed, restored to the original image data, and returned from the image memory / access control unit 221 to the image data control unit 203 via the parallel bus 220.
[0055]
After transfer from the image data control unit 203 to the image processing processor 204, image quality processing and pulse control by the video data control unit 205 are performed, and a reconstructed image is formed on the transfer paper in the image forming unit 206. In the flow of image data, the functions of the digital multi-function peripheral are realized by the bus control in the parallel bus 220 and the image data control unit 203.
[0056]
The facsimile transmission is performed by processing the read image data by the image processor 204 and transferring the processed image data to the facsimile control unit 224 via the image data control unit 203 and the parallel bus 220. The facsimile control unit 224 performs data conversion to the communication network and transmits it as facsimile data to the public line (PN) 225.
[0057]
Facsimile reception is performed by converting line data from the public line (PN) 225 into image data by the facsimile control unit 224 and transferring the image data to the image processing processor 204 via the parallel bus 220 and the image data control unit 203. It is. In this case, no special image quality processing is performed, the video / data control unit 205 performs dot rearrangement and pulse control, and the image forming unit 206 forms a reproduced image on the transfer paper.
[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 reading unit 201, the image forming unit 206, and the parallel bus 220 are allocated to the job by the system controller 231 and Control is performed by the process controller 211.
[0059]
The process controller 211 controls the flow of image data, and the system controller 231 controls the entire system and manages the activation of each resource. The function selection of the digital multi-function peripheral is performed on the operation panel (operation unit) 234, and processing contents such as a copy function and a facsimile function are set by selection input on the operation panel (operation unit) 234.
[0060]
The system controller 231 and the process controller 211 communicate with each other via the parallel bus 220, the image data control unit 203, and the serial bus 210. Specifically, communication between the system controller 231 and the process controller 211 is performed by performing data format conversion for data interface between the parallel bus 220 and the serial bus 210 in the image data control unit 203.
[0061]
(Image processor 204)
Next, arithmetic processing means constituting the image processor 204 will be described. The image processor 204 includes SIMD type arithmetic processing means (SIMD type processor) 301 as shown in FIG. 3, sequential processing type arithmetic processing means 401 as shown in FIG. 4, and FIG. A sequential processing type processing means 501 having a pipeline configuration as shown in FIG.
[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 register file 303. Yes. The ALU 302 is a unit that inputs 2-pixel data and performs addition, subtraction, multiplication, division, logical operation, and the like, and n ALUs 302 simultaneously perform the same operation with one instruction. The calculation result is written back to the register file 303. The register file 303 is composed of m sets of n registers as one set.
[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 ALU 402 and a register file 403 with p registers. As shown in FIG. 5, the sequential processing type arithmetic processing means 501 in the pipeline configuration has a register file 503 composed of one ALU 502 and p registers between the data input unit 504 and the data output unit 505. And a plurality of pairs in parallel with each other.
[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 type processing unit 301 will be described. Here, since the purpose is to show the calculation procedure and explain the operation of the SIMD type processor 301, the handling of the floating point will not be described in detail. Here, the operation of the SIMD type arithmetic processing means 301 having seven ALUs 302 in parallel and the register file 303 having three sets of seven parallel registers will be described.
[0068]
(Procedure 1)
Di · K1 is calculated, and the calculation result is stored in the register REG1i. That is, in the procedure 1, Di · K1 is performed on all the input data D1 to D7, and each operation result is stored in the register REG1.
[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 arithmetic processing unit 301 is used, n pixels can be calculated in 5 steps. The values of K1 to K3 are programmable by loading data into the register file 303, and the coefficients can be freely selected.
[0076]
As described above, the SIMD type arithmetic processing unit 301 can perform very high-speed processing, but depending on the algorithm, the ability may not be exhibited. An IIR filter is one example, which will be described.
[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 register 1 and K into register 2.
2. Di · K is calculated and stored in the register 3.
3. Load (1-K) into register 1.
4). Register 0 and register 1 are calculated and the result is stored in register 2.
5). Calculate register 2 + register 3 and store the result in register 0.
6). The result of register 0 is output to Oi.
7). Enter new data Di + 1.
[0082]
Here, the value of K can be easily changed by changing the value loaded into the register file 403, and IIR filters having various characteristics can be realized.
[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 ALUs 502 and performs pipeline processing, thereby speeding up IIR filter arithmetic.
[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 image processor 204 will be described. Here, as a premise of explanation, an image processing algorithm that can be calculated by the SIMD type arithmetic processing unit 301 such as an FIR filter is an SIMD direction algorithm (SIMD direction image processing), and sequential type arithmetic processing units 401 and 501 such as an IIR filter. An image processing algorithm that can be calculated by the method is called a sequential orientation algorithm (sequential orientation image processing).
[0088]
For example, image processing may be connected in series, and the image processor 204 may have SIMD type arithmetic processing means 301 and sequential processing type arithmetic processing means 501 in series. This configuration is particularly effective when high-speed processing is not required or when it is desired to perform image processing sequentially. Since only data is passed between each image processing, no special processing is required.
[0089]
Further, the image processing is performed in parallel in the SIMD calculation direction and the sequential type direction, and the image processor 204 has the SIMD type arithmetic processing unit 301 and the sequential processing type arithmetic processing unit 501 in parallel with each other, and the SIMD type. A selector may be provided on the output side of the arithmetic processing means 301 and the sequential processing type arithmetic processing means 501. This configuration is effective when sequential calculation-oriented image processing is not always necessary.
[0090]
Further, the image processor 204 has the SIMD type arithmetic processing unit 301 and the sequential processing type arithmetic processing unit 501 in parallel with each other, and the SIMD type arithmetic processing unit 301 uses the result of the sequential processing type arithmetic processing unit 501. May be. This configuration is effective, for example, when performing image processing such as background removal. The IIR filter is suitable for removing the background because it can perform strong smoothing with fewer operations than the FIR filter. Therefore, sequential arithmetic processing means is required.
[0091]
Further, the image processor 204 may have a plurality of sets of parallel configurations of the SIMD type arithmetic processing unit 301 and the sequential processing type arithmetic processing unit 501. This configuration is effective when the IIR filter is used in two or more places, such as a background removal function and error diffusion processing.
[0092]
FIG. 12 is a block diagram showing a configuration example of the image processing processor 204 of the image processing apparatus according to this embodiment. The image processor 204 includes, for example, a SIMD type arithmetic processing unit 301, a sequential type arithmetic processing unit 501, a bus switch 1201 that controls connection of a plurality of data input / output buses (DI1, DI2) 1207, 1208, A clock signal from a memory unit 1202 having a memory controller, a memory and a memory switch, and a reference clock generation unit 1205 outside the image processing processor 204 is input, and a clock signal used inside the image processing processor 204 is generated. A CPU interface 1204 that outputs a control signal to each unit of the image processing processor 204 under the control of the CPU 1206 outside the image processing processor 204.
[0093]
The memory unit 1202 includes a plurality of memories (RAM) for the SIMD type arithmetic processing unit 301, and a plurality of memories (RAM) between the memory, the bus switch 1201, and the SIMD type arithmetic processing unit 301 for controlling the memory. A memory controller and a memory switch for controlling connection of a plurality of memories are provided.
[0094]
The data input / output buses 1207 and 1208 can operate separately. Data is input via the bus switch 1201 and stored in the memory in the memory unit 1202 under the control of the memory controller in the memory unit 1202. The data in the memory is transferred to the register file 303 of the SIMD type arithmetic processing unit 301 under the control of the memory controller and processed by the SIMD type arithmetic processing unit 301.
[0095]
In this example, the sequential processing unit 501 processes the data processed by the SIMD type processing unit 301 and writes it back to the register file 303 of the SIMD type processing unit 301. The memory controller of the memory unit 1202 takes out the data written back to the register file 303 by the sequential processing unit 501, stores it in the memory inside the memory unit 1202, and inputs the data from the memory via the bus switch 1201. The data is output to the output bus 1207 or 1208. The above processing is performed for image data, usually for one page, and then the next page is in a standby state.
[0096]
Here, the image processor 204 operates on the basis of a fixed clock. In this example, a reference clock generation unit 1205 for generating a clock signal is provided outside the image processing processor 204, and the image processing processor 204 inputs a clock signal from the reference clock generation unit 1205 as a reference clock 1211. Yes.
[0097]
The internal clock generator 1203 generates a clock signal 1212 that is used inside the image processor 204 based on the reference clock 1211. Each unit of the image processor 204 operates each function based on the clock signal 1212.
[0098]
In general, in an image processing apparatus, a standby time is longer than an operation time. Even during this standby time, if the clock signal 1212 is input, the memory unit 1202, the SIMD type arithmetic processing unit 301, the sequential type arithmetic processing unit 501 and the like consume power wastefully. In order to prevent this, a clock stop signal 1213 is output from the CPU interface under the control of the CPU 1206 during the standby time.
[0099]
The internal clock generation unit 1203 receives the clock stop signal 1213 from the CPU interface 1204, and stops the clock signal 1212 to the memory unit 1202, the SIMD type arithmetic processing unit 301, the sequential type arithmetic processing unit 501, and the like.
[0100]
FIG. 13 is a block diagram illustrating a configuration example of the internal clock generation unit 1203 illustrated in FIG. The internal clock generation unit 1203 receives, for example, a frequency dividing circuit 1301 that divides and outputs a reference clock 1211 and a clock stop signal 1213 from the CPU interface 1204, and a clock signal 1212 according to the input clock stop signal 1213. And a stop control circuit 1302 for controlling the stop.
[0101]
The frequency dividing circuit 1301 divides the reference clock 1211 and outputs it to the stop control circuit 1302. The stop control circuit 1302 receives the frequency divider circuit output 1303 from the frequency divider circuit 1301 and the clock stop signal 1213 from the CPU interface 1204, and controls the stop of the clock signal 1212 according to the clock stop signal 1213.
[0102]
FIG. 14 is a block diagram showing a configuration example of the stop control circuit 1302 shown in FIG. The stop control circuit 1302 includes, for example, an AND gate 1401 that receives the frequency divider circuit output 1303 and the clock stop signal 1213 and outputs the clock signal 1212. The AND gate 1401 outputs “0 (low level)” when the input clock stop signal 1213 is “0 (low level)”. On the other hand, when the input clock stop signal 1213 is “1 (high level)”, the frequency divider circuit output 1303 from the frequency divider circuit 1301 is output as the clock signal 1212.
[0103]
In the above configuration, the operation of the image processor 204 will be described with reference to a timing chart. FIG. 15 is a timing chart showing the operation of the frequency dividing circuit 1301 of the image processing apparatus according to this embodiment. The frequency dividing circuit 1301 receives the reference clock 1211, divides and outputs the input reference clock. In the figure, an example in which the frequency dividing circuit 1301 performs 1/2 frequency division is shown.
[0104]
FIG. 16 is a timing chart showing the operation of the image processing processor 204 of the image processing apparatus according to this embodiment. The image processor 204 stops processing while the clock stop signal 1213 is “0” and the clock signal 1212 is stopped. After the clock stop signal 1213 becomes “1” and the oscillation of the clock signal 1212 is started, one-line processing is started. Thus, the clock signal to each part of the image processor 204 is stopped during standby, so that power consumption during standby can be reduced.
[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 memory units 1202 and the bus switch 1201 other than the SIMD type arithmetic processing unit 301, the sequential type arithmetic processing unit 501, and the arithmetic processing unit. For example, when only the data input / output operation is performed, only the clock signal for the arithmetic means (SIMD type arithmetic processing means 301 and sequential type arithmetic processing means 501) is used, and when there is no IIR filter processing in the image processing, the sequential type arithmetic processing means 501 is used. Only the clock signal for is stopped.
[0106]
FIG. 17 is a block diagram showing another configuration example of the image processing processor 204 of the image processing apparatus according to this embodiment. Note that the same portions as those in FIG. 12 are denoted by the same reference numerals and description thereof is omitted. In addition to the configuration shown in FIG. 12, the image processor 204 inputs clock control signals 1705 and 1706 for the SIMD type arithmetic processing means 301 and the sequential type arithmetic processing means 501 from the CPU interface 1204, and the input clock control signal. According to 1705 and 1706, a SIMD type arithmetic processing unit 301 and a clock stop control unit 1702 for separately performing stop control of the clock signals 1703 and 1704 to the sequential type arithmetic processing unit 501 are provided.
[0107]
Also, the internal clock generation unit 1701 does not perform stop control of the clock signals 1703 and 1704 to the SIMD type arithmetic processing unit 301 and the sequential type arithmetic processing unit 501, and outputs the frequency divider circuit output 1303 as it is to the clock stop control unit 1702. To do. For example, as shown in FIG. 18, the internal clock generation unit 1701 is configured to take out the frequency divider circuit output 1303 from between the frequency divider circuit 1301 and the stop control circuit 1302 and output it to the clock stop control unit 1702. .
[0108]
The clock signal 1212 from the stop control circuit 1302 is output to the bus switch 1201 and the memory unit 1202, but is not output to the SIMD type arithmetic processing unit 301 and the sequential type arithmetic processing unit 501. That is, the clock signal 1212 to the bus switch 1201 and the memory unit 1202 can be stopped independently of the clock signals 1703 and 1704 to the arithmetic processing means. Note that the clock signal to the bus switch 1201 and the clock signal to the memory unit 1202 may be separately controlled to be stopped.
[0109]
FIG. 19 is a block diagram showing a configuration example of the clock stop control unit 1702 shown in FIG. The clock stop control unit 1702 receives, for example, a clock control signal 1705 for the SIMD type arithmetic processing unit 301 and a frequency divider circuit output 1303, and a clock signal 1703 for the SIMD type arithmetic processing unit 301 according to the clock control signal 1705. And the clock control signal 1706 for the sequential arithmetic processing means 501 and the frequency divider circuit output 1303 are inputted, and the clock signal 1704 for the sequential arithmetic processing means 501 is inputted according to the clock control signal 1706. An AND gate 1901 for outputting.
[0110]
The AND gates 1901 and 1902 output “0” when the clock control signals 1705 and 1706 are “0”, and output the divider circuit output 1303 as the clock signals 1703 and 1704 when the clock control signals 1705 and 1706 are “1”. In this way, the stop control of the clock signal is performed separately for each part.
[0111]
In the above configuration, the operation of the image processor 204 will be described with reference to a timing chart. FIG. 20 is a timing chart showing the operation of the image processor 204. The CPU 1206 controls the clock stop signal 1213 and the clock control signals 1705 and 1706 in accordance with processing performed by the image processor 204. The figure shows a case where the clock control signal 1705 for the SIMD type arithmetic processing means 301 is “1” and the clock control signal 1706 for the sequential type arithmetic processing means 501 is “0”.
[0112]
In this case, the clock signal 1703 for the SIMD type arithmetic processing means 301 is output, but the clock signal 1704 for the clock for the sequential type arithmetic processing means 501 is stopped. As a result, image processing is performed in the SIMD type arithmetic processing unit 301 and the operation of the sequential type arithmetic processing unit 501 is stopped. As described above, since the clock signal stop control is performed finely for each unit as necessary, the power consumption can be further reduced.
[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 image processing processor 204 of the image processing apparatus according to the present embodiment. Note that the same portions as those in FIG. 17 are denoted by the same reference numerals and description thereof is omitted.
[0114]
In the image processing processor 204, the memory unit 2101 outputs a clock control signal 2105 for informing the head of the line of image data. Further, the CPU interface 1204 outputs clock control signals 2103 and 2104 representing values set in advance in accordance with the timing at which the processing by the SIMD type arithmetic processing unit 301 and the sequential type arithmetic processing unit 501 ends.
[0115]
The clock stop control unit 2102 receives the clock control signals 2103, 2104, 2105 and the frequency divider circuit output 1303 from the internal clock generation unit 1701, and receives SIMD type arithmetic processing means in accordance with the clock control signals 2103, 2104, 2105. 301, stop control of the clock signals 1703 and 1704 to the sequential arithmetic processing means 501 is performed separately. The clock signals 1703 and 1704 are stopped and oscillated even during the process of one line.
[0116]
FIG. 22 is a block diagram showing a configuration example of the clock stop control unit 2102 shown in FIG. The clock stop control unit 2102 includes, for example, a counter 2201 that counts the frequency divider circuit output 1303 and is reset at the head of the image data line by a clock control signal (pulse) 2105 from the memory unit 2101.
[0117]
Also, an output signal (counter output) 2211 from the counter 2201 and a clock control signal 2103 for the SIMD type arithmetic processing means 301 from the CPU interface 1204 are input, and when these signals match, a clock stop trigger signal (pulse) When the comparator 2202 that outputs 2212, the output signal (counter output) 2211 from the counter 2201, and the clock control signal 2104 for the sequential arithmetic processing means 501 from the CPU interface 1204 are input, and these signals match. And a comparator 2203 for outputting a clock stop trigger signal (pulse) 2213.
[0118]
Also, a flip-flop (FF) 2204 that is set at the head of the image data line by the clock control signal 2105 from the memory unit 2101 and reset by a clock stop trigger signal 2212 from the comparator 2202, and a clock from the memory unit 2101 A flip-flop (FF) 2205 that is set at the head of the image data line by the control signal 2105 and is reset by the clock stop trigger signal 2213 from the comparator 2203.
[0119]
Further, the output signal (clock output enable signal) 2214 of the flip-flop 2204 and the frequency divider circuit output 1303 are input. When the clock output enable signal 2214 is “1”, the clock signal 1703 for SIMD type arithmetic processing means is oscillated. When the clock output enable signal 2214 is “0”, an AND gate 2206 for stopping the SIMD type arithmetic processing means clock signal 1703 is provided.
[0120]
Further, the output signal (clock output enable signal) 2215 of the flip-flop 2205 and the frequency divider circuit output 1303 are inputted, and when the clock output enable signal 2215 is “1”, the clock signal 1704 for the sequential arithmetic processing means is oscillated. When the clock output enable signal 2215 is “0”, an AND gate 2207 is provided for stopping the sequential arithmetic processing means clock signal 1704.
[0121]
The counter 2201 has a number of bits that can represent a number greater than the number of clocks for one line processing (5 bits for 23 clocks), and counts the number of clocks from the head of one line processing. Clock control signals 2103 and 2104 from the CPU interface 1204 are signals having the same number of bits as the counter 2201 and represent the number of clocks set in advance in the CPU interface 1204. The comparators 2202 and 2203 compare the value of the counter output 2211 with the values of the clock control signals 2103 and 2104, and if they match, set the output to “1” (generate a pulse).
[0122]
The flip-flops 2204 and 2205 are set at the head of one-line processing, and are reset when the comparator outputs 2212 and 2213 rise (become “1”). The AND gates 2206 and 2207 oscillate clock signals 1703 and 1704 when the flip-flop outputs 2214 and 2215 are “1” (when set), and are reset when the flip-flop outputs 2214 and 2215 are “0”. The clock signals 1703 and 1704 are stopped. In this way, the clock stop control unit 2102 stops the clock signal to the arithmetic processing means for which image processing has been completed in the middle of one line processing, and outputs the clock signal to these image processing means at the beginning of the next one line processing. Oscillate.
[0123]
In the above configuration, the operation of the image processor 204 will be described with reference to a timing chart. FIG. 23 is a timing chart showing the operation of the image processor 204. For example, the processing time for one line processing is 23 clocks, and the SIMD type arithmetic processing means 301 performs processing for one line at 6 clocks (image processing 1) +4 clocks (image processing 2) +9 clocks (image processing 3) = 19 clocks. Let's finish. Further, it is assumed that the sequential arithmetic processing means 501 finishes the processing in 21 clocks. Each arithmetic processing means is supplied with a clock signal only during operation.
[0124]
In the operation of the image processor 204, first, the clock control signal 2105 rises from the memory unit 2101 at the leading timing of one line of image data. When the clock control signal 2105 rises, the counter 2201 is reset and starts counting from 1. Further, flip-flops 2204 and 2205 are set, clock output enable signals 2214 and 2215 are set to “1”, and clock signals 1703 and 1704 are output.
[0125]
The clock control signals 2103 and 2104 are respectively the timing at which the SIMD type arithmetic processing unit 301 finishes processing (the 19th clock from the head of the image data line) and the timing at which the sequential type arithmetic processing unit 501 ends the processing (image data 21st clock from the head of the line).
[0126]
When the values of the clock control signals 2103 and 2104 coincide with the value of the counter output 2211, that is, at the timing of the 19th clock and the 21st clock from the head of the image data line, the clock stop triggers 2212 and 2213 rise, Clock enable signals 2214 and 2215 fall. As a result, the clock signals 1703 and 1704 are stopped.
[0127]
Thereafter, the clock control signal 2105 indicating the head of the next line rises again, and the above operation is repeated. As described above, since unnecessary clock signals to the respective arithmetic processing means are finely stopped even during one-line processing, power consumption can be further reduced.
[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 accumulator 2405 are configured.
[0130]
Each register 2401 is connected to an address bus and a data bus (read line and word line), and stores an instruction code defining processing and data to be processed. The contents of the register 2401 are input to the logical operator 2404 and the operation processing result is stored in the accumulator 2405. In order to retrieve the result outside the PE, the result is temporarily saved in the temporary register 2406. By extracting the contents of the temporary register 2406, a processing result for the target data is obtained.
[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 register 2401 of the adjacent PE in the multiplexer 2402. It is output to the accumulator 2405.
[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 arithmetic processing unit 301, processing results are exchanged between the SIMD type arithmetic processing unit 301 and the sequential type arithmetic processing units 401 and 501, so that complex image processing arithmetic can be performed at high speed. Can be done. As described above, it is possible to perform high-efficiency image processing using resources sufficiently without selecting an image processing algorithm.
[0136]
Further, when it is not necessary, such as during standby, the clock signal to each unit of the image processor 204 is stopped, so that power consumption can be reduced. Furthermore, by controlling the stop of the clock signal independently for each part of the image processor 204, the power consumption can be further reduced. Further, even during the process of one line, the power consumption can be further reduced by stopping the clock signal to the arithmetic processing means that has completed the processing.
[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.
前記クロック停止制御手段は前記演算処理手段へのクロック信号の停止と前記演算処理手段以外の部分へのクロック信号の停止とを別個に制御することを特徴とする請求項1に記載の画像処理装置。  2. The image processing apparatus according to claim 1, wherein the clock stop control unit separately controls the stop of the clock signal to the arithmetic processing unit and the stop of the clock signal to a part other than the arithmetic processing unit. .
JP37189699A 1999-12-27 1999-12-27 Image processing device Expired - Fee Related JP3887134B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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