JP5609341B2 - 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
JP5609341B2
JP5609341B2 JP2010157108A JP2010157108A JP5609341B2 JP 5609341 B2 JP5609341 B2 JP 5609341B2 JP 2010157108 A JP2010157108 A JP 2010157108A JP 2010157108 A JP2010157108 A JP 2010157108A JP 5609341 B2 JP5609341 B2 JP 5609341B2
Authority
JP
Japan
Prior art keywords
image processing
program
processing program
parameter information
generation
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
JP2010157108A
Other languages
English (en)
Other versions
JP2012019478A (ja
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 JP2010157108A priority Critical patent/JP5609341B2/ja
Publication of JP2012019478A publication Critical patent/JP2012019478A/ja
Application granted granted Critical
Publication of JP5609341B2 publication Critical patent/JP5609341B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)

Description

本発明は、画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムに関する。
従来から、画像処理装置では、リアルタイム処理(高速処理)が求められており、ASIC(Application Specific Integrated Circuit)や、DSP(Digital Signal Processor)又はSIMD(Single Instruction Stream/Multiple Data Stream)型プロセッサなどの画像認識や画像処理に特化した特殊なプロセッサが用いられている。
このようなプロセッサは、処理の高速化のため、データ領域やプログラム領域を有するRAM(Random Access Memory)を内部に備えているが、当然ながらその記憶容量には制限がある。このため例えば特許文献1には、プロセッサの外部に備えられているROM(Read Only Memory)に当該プロセッサで実行される複数種類のプログラムを予め記憶しておき、処理対象の原稿の読取条件に応じて、ROMからプロセッサにプログラムをロードする技術が開示されている。
しかしながら、上述したような従来技術では、ROMなどの不揮発性の記憶装置に予め記憶しておくプログラムの数が増加すると、不揮発性の記憶装置の記憶容量を逼迫してしまうことになる。
本発明は、上記事情に鑑みてなされたものであり、記憶装置の記憶容量を逼迫せずに、多様なプログラムを実行できる画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる画像処理装置は、制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成される1のパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段と、前記1のパラメータ情報及び前記生成プログラムを用いて、前記1のパラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成手段と、前記第1画像処理プログラムを実行して画像処理を行わせる実行手段と、を備え、前記記憶手段は、更に、前記プログラム領域に、予め定められた1以上のパラメータで構成される所定パラメータ情報の内容に応じた処理を実行する第2画像処理プログラムを記憶し、前記1のパラメータ情報と前記所定パラメータ情報とにおいて構成する各パラメータ同士が全て同一であるか否かを判定する判定手段を更に備え、前記生成手段は、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを生成し、前記実行手段は、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記1のパラメータ情報が前記所定パラメータ情報と同一である場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする。
また、本発明の別の態様にかかる画像処理装置は、制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成されるパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段と、前記パラメータ情報及び前記生成プログラムを用いて、前記パラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成手段と、前記第1画像処理プログラムを実行して画像処理を行わせる実行手段と、を備え、前記記憶手段は、更に、前記データ領域に前記制御装置から書き込まれる情報であって画像処理対象の画像データの生成モードが特定生成モードであるか否かを示す生成モード情報を記憶するとともに、前記プログラム領域に前記特定生成モードに応じた処理を実行する第2画像処理プログラムを記憶し、前記生成モード情報が前記特定生成モードを示すか否かを判定する判定手段を更に備え、前記生成手段は、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを生成し、前記実行手段は、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする。
また、本発明の別の態様にかかる画像形成装置は、上記画像処理装置と、前記パラメータを記憶する不揮発性の記憶手段と、前記パラメータを前記画像処理装置の前記記憶手段に書き込む書込手段と、を備えることを特徴とする。
また、本発明の別の態様にかかる画像処理方法は、画像処理装置で実行される画像処理方法であって、前記画像処理装置は、制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成される1のパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段を備え、生成手段が、前記1のパラメータ情報及び前記生成プログラムを用いて、前記1のパラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、実行手段が、前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、を含み、前記記憶手段は、更に、前記プログラム領域に、予め定められた1以上のパラメータで構成される所定パラメータ情報の内容に応じた処理を実行する第2画像処理プログラムを記憶し、判定手段が、前記1のパラメータ情報と前記所定パラメータ情報とにおいて構成する各パラメータ同士が全て同一であるか否かを判定する判定ステップを更に含み、前記生成ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを生成し、前記実行ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記1のパラメータ情報が前記所定パラメータ情報と同一である場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする。
また、本発明の別の態様にかかる画像処理方法は、画像処理装置で実行される画像処理方法であって、前記画像処理装置は、制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成されるパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段を備え、生成手段が、前記パラメータ情報及び前記生成プログラムを用いて、前記パラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、実行手段が、前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、を含み、前記記憶手段は、更に、前記データ領域に前記制御装置から書き込まれる情報であって画像処理対象の画像データの生成モードが特定生成モードであるか否かを示す生成モード情報を記憶するとともに、前記プログラム領域に前記特定生成モードに応じた処理を実行する第2画像処理プログラムを記憶し、判定手段が、前記生成モード情報が前記特定生成モードを示すか否かを判定する判定ステップを更に含み、前記生成ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを生成し、前記実行ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする。
また、本発明の別の態様にかかる画像処理プログラムは、制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成される1のパラメータ情報を記憶するデータ領域と前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域とを有する記憶手段を備えるコンピュータに、前記1のパラメータ情報及び前記生成プログラムを用いて、前記1のパラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、を実行させ、前記記憶手段は、更に、前記プログラム領域に、予め定められた1以上のパラメータで構成される所定パラメータ情報の内容に応じた処理を実行する第2画像処理プログラムを記憶し、前記1のパラメータ情報と前記所定パラメータ情報とにおいて構成する各パラメータ同士が全て同一であるか否かを判定する判定ステップを前記コンピュータに更に実行させ、前記生成ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを生成し、前記実行ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記1のパラメータ情報が前記所定パラメータ情報と同一である場合、前記第2画像処理プログラムを実行して画像処理を行わせるためのものである。
また、本発明の別の態様にかかる画像処理プログラムは、制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成されるパラメータ情報を記憶するデータ領域と前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域とを有する記憶手段を備えるコンピュータに、前記パラメータ情報及び前記生成プログラムを用いて、前記パラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、を実行させ、前記記憶手段は、更に、前記データ領域に前記制御装置から書き込まれる情報であって画像処理対象の画像データの生成モードが特定生成モードであるか否かを示す生成モード情報を記憶するとともに、前記プログラム領域に前記特定生成モードに応じた処理を実行する第2画像処理プログラムを記憶し、前記生成モード情報が前記特定生成モードを示すか否かを判定する判定ステップを前記コンピュータに更に実行させ、前記生成ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを生成し、前記実行ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記第2画像処理プログラムを実行して画像処理を行わせるためのものである。
本発明によれば、記憶装置の記憶容量を逼迫せずに、多様なプログラムを実行できるという効果を奏する。
図1は、第1実施形態の複合機の構成例を示すブロック図である。 図2は、第1実施形態のROMに記憶されているデータ例を示す図である。 図3は、第1実施形態のプロセッサのRAMに記憶されるデータ例を示す図である。 図4は、第1実施形態の複合機のフィルタ処理例を示すフローチャートである。 図5は、フィルタ係数例を示す図である。 図6は、フィルタ処理対象の入力画像データ例を示す図である。 図7は、フィルタ処理プログラム例を示す図である。 図8は、第1実施形態の生成部で行われるフィルタ処理アルゴリズムの乗算をビットシフトと加減算との組み合わせに展開する処理例を示すフローチャートである。 図9は、第2実施形態の複合機の構成例を示すブロック図である。 図10は、第2実施形態のプロセッサのRAMに記憶されるデータ例を示す図である。 図11は、第2実施形態の複合機のフィルタ処理例を示すフローチャートである。 図12は、第3実施形態の複合機の構成例を示すブロック図である。 図13は、第3実施形態のROMに記憶されているデータ例を示す図である。 図14は、第3実施形態のプロセッサのRAMに記憶されるデータ例を示す図である。 図15は、第3実施形態の複合機のフィルタ処理例を示すフローチャートである。 図16は、フィルタ係数例を示す図である。 図17は、平滑強度の強度値が1の場合の平滑係数例を示す図である。 図18は、平滑強度の強度値が2の場合の平滑係数例を示す図である。 図19は、平滑強度の強度値が3の場合の平滑係数例を示す図である。 図20は、平滑強度の強度値が4の場合の平滑係数例を示す図である。 図21は、平滑強度の強度値が5の場合の平滑係数例を示す図である。 図22は、各実施形態及び各変形例の複合機のハードウェア構成例を示すブロック図である。
以下、添付図面を参照しながら、本発明にかかる画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムの実施形態を詳細に説明する。なお以下の各実施形態では、フィルタ処理を例に取り本発明について説明するが、これに限定されるものではなく、他の画像処理についても本発明を適用できる。また以下の各実施形態では、本発明の画像処理装置を、コピー機能に加え、プリンタ機能、スキャナ機能、及びファクシミリ機能の少なくともいずれかの機能を有する複合機(MFP:Multifunction Peripheral)に適用した場合を例に取り説明するが、これに限定されるものではない。本発明の画像処理装置は、例えば、複写機、スキャナ、プリンタ、及びファクシミリなどに対しても適用することができる。
(第1実施形態)
まず、第1実施形態の複合機の構成について説明する。
図1は、第1実施形態の複合機100の構成の一例を示すブロック図である。図1に示すように、複合機100は、操作表示部110と、コントローラ120と、スキャナ130と、画像処理装置140と、プロッタ170と、を備える。
操作表示部110は、各種画面の表示や各種操作の入力を行うものであり、オペレーションパネルやタッチパネル式ディスプレイなどにより実現できる。操作表示部110は、例えば原稿の読取条件の入力や原稿の読取開始の入力などを行う。なお、操作部と表示部とを別々に実現してもよい。
コントローラ120は、複合機100の各部を制御するものであり、ROM(Read Only Memory)121と、CPU(Central Processing Unit)123と、RAM(Random Access Memory)125と、を備える。
ROM121は、不揮発性の読出専用の記憶装置であり、複合機100で行われる各種処理に使用されるデータなどを記憶する。特に本実施形態のROM121は、フィルタ処理プログラムの生成に用いられるフィルタ係数(パラメータの一例)を記憶する。
図2は、ROM121に記憶されているデータの一例を示す図である。図2に示す例では、ROM121は、フィルタ処理プログラムの生成に用いられるフィルタ係数としてフィルタ係数1〜フィルタ係数4を記憶している。なおフィルタ処理プログラムは、画像処理装置140で生成及び実行される。
CPU123(制御装置、書込手段の一例)は、操作表示部110から各種操作入力を受け付け、受け付けた操作入力に応じて、スキャナ130、画像処理装置140、プロッタ170、及び操作表示部110を制御する。例えばCPU123は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件に応じたフィルタ係数をROM121から読み出して画像処理装置140に書き込むとともに、フィルタ処理プログラムの生成を指示する生成コマンドを画像処理装置140に発行する。また例えばCPU123は、操作表示部110から原稿の読取開始の入力を受け付けると、スキャナ130、画像処理装置140、及びプロッタ170を制御して読取条件に応じた原稿の複写を行わせる。この際、CPU123は、画像処理の実行を指示する実行コマンドを画像処理装置140に発行する。なおCPU123は、RAM125をワーク領域として上述した各種処理を行う。
RAM125は、揮発性の記憶装置であり、CPU123のワーク領域として機能する。
スキャナ130は、コントローラ120からの指示に従い、スキャナ130にセットされた原稿の画像を光学的に読み取って、画像データを生成する。
画像処理装置140は、スキャナ130により生成された画像データに対して各種画像処理を施すものであり、画像処理部150と、プロセッサ160とを備える。
画像処理部150は、プロセッサ160からの指示に従い、スキャナ130により生成された画像データに対して、シェーディング補正、フィルタ処理、変倍処理、γ変換、及び階調処理などの各種画像処理を施す。特に本実施形態の画像処理部150は、プロセッサ160により生成されたフィルタ処理プログラムに従ってフィルタ処理を行う。
プロセッサ160は、コントローラ120からの指示に従い、画像処理部150に上述した各種画像処理を行わせるものであり、DSPやSIMD型プロセッサにより実現できる。プロセッサ160は、RAM161と、生成部163と、実行部165とを、備える。
RAM161は、揮発性の記憶装置であり、データを記憶するデータ領域と、フィルタ処理プログラム(画像処理プログラムの一例)を生成するための生成プログラム(以下、「フィルタ処理プログラム生成プログラム」と称する)などのプログラムを記憶するプログラム領域と、を有する。なおRAM161のデータ領域には、コントローラ120からフィルタ係数が書き込まれ、プログラム領域には、生成部163により動的に生成されるフィルタ処理プログラムも記憶される。
図3は、RAM161に記憶されているデータの一例を示す図である。図3に示す例では、RAM161は、データ領域にコントローラ120から書き込まれたフィルタ係数1を記憶しており、プログラム領域にMainプログラム及びフィルタ処理プログラム生成プログラムを記憶している。Mainプログラムは、プロセッサ160が画像処理部150を制御するために用いるプログラムである。またプログラム領域には、フィルタ処理プログラム生成プログラムによって動的に生成されるフィルタ処理プログラムを記憶する記憶領域(以下、「可変フィルタ処理プログラム記憶領域」と称する)も確保されている。
生成部163は、コントローラ120から発行された生成コマンドに従い、コントローラ120によりRAM161のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムを動的に生成する。図3に示す例の場合、生成部163は、フィルタ係数1及びフィルタ処理プログラム生成プログラムを用いて、フィルタ係数1に応じたフィルタ処理プログラム(以下、「フィルタ係数1用フィルタ処理プログラム」と称する)を動的に生成し、RAM161の可変フィルタ処理プログラム記憶領域に記憶する。
実行部165は、コントローラ120から発行された実行コマンドに従い、生成部163により生成されたフィルタ処理プログラム、即ち、RAM161の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。図3に示す例の場合、実行部165は、RAM161の可変フィルタ処理プログラム記憶領域に記憶されるフィルタ係数1用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。
プロッタ170は、コントローラ120からの指示に従い、画像処理装置140により画像処理が施された画像データを記録紙などの記録媒体に印刷して、出力する。
次に、第1実施形態の複合機の動作について説明する。
図4は、第1実施形態の複合機100で行われるフィルタ処理の手順の流れの一例を示すフローチャートである。
まず、コントローラ120のCPU123は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件に応じたフィルタ係数をコントローラ120のROM121から読み出して画像処理装置140のRAM161のデータ領域に書き込むとともに、生成コマンドを画像処理装置140に発行する(ステップS100)。
続いて、画像処理装置140の生成部163は、CPU123からの発行コマンドに従い、RAM161のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM161の可変フィルタ処理プログラム記憶領域に生成する(ステップS102)。
続いて、CPU123は、操作表示部110から原稿の読取開始の入力を受け付けると、画像処理装置140に実行コマンドを発行するなど、スキャナ130、画像処理装置140、及びプロッタ170に読取条件に応じた原稿の複写を指示する。そして画像処理装置140の実行部165は、CPU123からの実行コマンドに従い、RAM161の可変フィルタ処理プログラム記憶領域に生成されたフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS104)。これにより、画像処理部150は、スキャナ130により生成された原稿の画像データに生成部163により生成されたフィルタ処理プログラムに応じたフィルタ処理を施す。
次に、第1実施形態のフィルタ処理プログラム生成の具体的手法について説明する。
図5は、フィルタ係数の一例を示す図であり、図6は、フィルタ処理対象の入力画像データの一例を示す図であり、数式(1)は、フィルタ処理プログラム生成プログラムに含まれているフィルタ処理アルゴリズムの一例を示す数式である。
outxy=Dxy+(Dx(y−1)*A+Dx(y+1)*A+D(x−1)y*B+D(x+1)y*B−Dxy(2A+2B))/M …(1)
但し、図5において、フィルタ係数の係数値A,Bは、16未満の正の整数とする。また図6において、s,tは、正の整数とする。また数式(1)において、Doutxyは入力画像データの入力画素Dxyにフィルタ処理を行った結果である出力画素Dxyを示し、xはs以下の正の整数、yはt以下の正の整数、A,Bは図5の値、Mは1,2,4,8,16,32のいずれかの値とする。
ここでは、生成部163が、数式(1)にA=1,B=2,M=8を代入して数式(2)を算出し、算出した数式(2)からフィルタ処理プログラムを生成する例について説明する。
outxy=Dxy+(Dx(y−1)*1+Dx(y+1)*1+D(x−1)y*2+D(x+1)y*2−Dxy*6)/8 …(2)
本実施形態の生成部163は、数式(2)に示すフィルタ処理アルゴリズムの乗算をビットシフトと加減算との組み合わせに展開することで、図7に示すフィルタ処理プログラムを生成する。
図8は、第1実施形態の生成部163で行われるフィルタ処理アルゴリズムの乗算Dxy*Cをビットシフトと加減算との組み合わせに展開する処理の手順の流れの一例を示すフローチャートである。
まず、生成部163は、変数iに初期値0を設定する(ステップS110)。
続いて、生成部163は、乗数Cを2進数に変換する(ステップS112)。なお、乗数Cは、255以下の正の整数とする。
続いて、生成部163は、2進数に変換した乗数Cの桁数Nを算出する(ステップS114)。
続いて、生成部163は、2進数に変換した乗数Cの0の数N0を算出する(ステップS116)。
続いて、生成部163は、2進数に変換した乗数Cの1の数N1を算出する(ステップS118)。
続いて、生成部163は、2進数に変換した乗数Cの各桁の値C0〜C7を算出する(ステップS120)。
続いて、生成部163は、N1>N0の場合には(ステップS122でYes)、まずコード展開として、Dxy<<Nをロードする(ステップS124)。
続いて、生成部163は、コード展開として、Dxyを減算する(ステップS126)。
続いて、生成部163は、Ci=0であれば(ステップS128でYes)、コード展開として、Dxy<<iを減算する(ステップS130)。一方、生成部163は、Ci≠0であれば(ステップS128でNo)、ステップS130のコード展開を行わない。
続いて、生成部163は、変数iの値をインクリメントする(ステップS132)。
そして、生成部163は、i≦N−1の間(ステップS134でNo)、ステップS128〜S132の処理を繰り返し、i>N−1になると(ステップS134でYes)、処理を終了する。
一方、N1≦N0の場合には(ステップS122でNo)、生成部163は、まず、コード展開として、0をロードする(ステップS136)。
続いて、生成部163は、Ci=1であれば(ステップS138でYes)、コード展開として、Dxy<<iを加算する(ステップS140)。一方、生成部163は、Ci≠0であれば(ステップS138でNo)、ステップS140のコード展開を行わない。
続いて、生成部163は、変数iの値をインクリメントする(ステップS142)。
そして、生成部163は、i≦N−1の間(ステップS144でNo)、ステップS138〜S142の処理を繰り返し、i>N−1になると(ステップS144でYes)、処理を終了する。
ここで、図8のフローチャートを参照しながら、数式(2)の乗算Dx(y−1)*1をビットシフトと加減算との組み合わせに展開する例を具体的に説明する。なおこの例では、乗数Cの値は1となる。
ステップS110では、生成部163は、変数iに初期値0を設定する。
ステップS112では、生成部163は、乗数Cを2進数「00000001」に変換する。
ステップS114では、生成部163は、2進数に変換した乗数Cの桁数N=8を算出する。
ステップS116では、生成部163は、2進数に変換した乗数Cの0の数N0=7を算出する。
ステップS118では、生成部163は、2進数に変換した乗数Cの1の数N1=1を算出する。
ステップS120では、生成部163は、2進数に変換した乗数Cの各桁の値C0=1、C1=0、C2=0、C3=0、C4=0、C5=0、C6=0、C7=0を算出する。
ステップS122では、N0=7、N1=1であるため、生成部163は、N1≦N0と判定し、ステップS136へ進む。
ステップS136では、生成部163は、コード展開として、0をロードする。
ステップS138では、C0=1であるため、生成部163は、C0=1と判定し、ステップS140へ進む。
ステップS140では、生成部163は、コード展開として、Dx(y−1)<<0を加算する。
ステップS142では、生成部163は、変数iの値を「1」にインクリメントする。
ステップS144では、変数i=1であるため、生成部163は、1≦7と判定し、ステップS138へ戻る。
ステップS138では、C1=0であるため、生成部163は、C0≠1と判定し、ステップS142へ進む。
ステップS142では、生成部163は、変数iの値を「2」にインクリメントする。
以降、変数iの値が「8」にインクリメントされるまで、ステップS144でNo、ステップS138でNo、ステップS142の処理を繰り返す。
そしてステップS142で変数iの値が「8」にインクリメントされると、ステップS144では、変数i=8であるため、生成部163は、8>7と判定し、処理を終了する。
これにより、図7に示すフィルタ処理プログラムのステップ1、2が生成される。以降、数式(2)の乗算、除算を順次行うことにより、図7に示すフィルタ処理プログラムが生成される。
以上のように第1実施形態によれば、プロセッサがコントローラから設定されたフィルタ係数に応じたフィルタ処理プログラムを生成するので、コントローラ内のROMにフィルタ処理プログラムを格納しておく必要がなく、コントローラ内のROMの記憶容量を逼迫せずに、多様なフィルタ処理プログラムを実行できる。
また第1実施形態によれば、フィルタ処理プログラムを生成する際に、乗算をビットシフトと加減算との組み合わせに展開するので、フィルタ処理プログラムのステップ数を大幅に削減することができる。
例えば、数式(2)に示すフィルタ処理アルゴリズムを演算式どおりに実装すると、8bitの乗算は通常8ステップ程度に展開され、8bitの除算は通常25ステップ程度に展開されるため、乗算3回及び除算1回の約50ステップのフィルタ処理プログラムとなる。
これに対し、第1実施形態では、数式(2)に示すフィルタ処理アルゴリズムの乗算を、図8に示すフローチャートに従ってビットシフトと加減算との組み合わせに展開しているので、8bitの乗算を5ステップ以下に展開することができる。また第1実施形態では、除算をビットシフトに展開している。これにより第1実施形態では、数式(2)に示すフィルタ処理アルゴリズムが図7に示すように9ステップのフィルタ処理プログラムとなり、フィルタ処理プログラムのステップ数を大幅に削減することができている。
(第2実施形態)
第2実施形態では、特定のフィルタ処理プログラムの生成を省略する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
図9は、第2実施形態の複合機200の構成の一例を示すブロック図である。図9に示すように、第2実施形態では、複合機200の画像処理装置240のプロセッサ260が判定部262を含む点、生成部263及び実行部265の処理内容、並びにRAM261の記憶内容が第1実施形態と相違する。
RAM261は、プログラム領域に、所定のフィルタ係数(所定パラメータの一例)に応じたフィルタ処理プログラム(以下、「所定フィルタ係数用フィルタ処理プログラム」と称する)を更に静的に記憶する(配置する)。以下第2実施形態では、所定フィルタ係数用フィルタ処理プログラムを静的に記憶するプログラム領域の記憶領域を固定フィルタ処理プログラム記憶領域と称するものとする。図10は、RAM261に記憶されているデータの一例を示す図である。図10に示すように、RAM261は、プログラム領域(固定フィルタ処理プログラム記憶領域)に、フィルタ係数1用フィルタ処理プログラムを更に静的に記憶している。
判定部262は、コントローラ120から生成コマンドが発行されると、コントローラ120によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であるか否かを判定する。図10に示す例の場合、RAM261のデータ領域にはコントローラ120から書き込まれたフィルタ係数1が記憶されている。また、RAM261のプログラム領域(固定フィルタ処理プログラム記憶領域)にフィルタ係数1用フィルタ処理プログラムが記憶されており所定のフィルタ係数がフィルタ係数1となる。従って判定部262は、両フィルタ係数が同一であると判定する。
判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一でない(異なる)と判定されたとする。この場合、生成部263は、データ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM261の可変フィルタ処理プログラム記憶領域に生成し、実行対象に設定する。一方、判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であると判定されたとする。この場合、生成部263は、フィルタ処理プログラムの生成を省略し、RAM261の固定フィルタ処理プログラム記憶領域に記憶されている所定フィルタ係数用フィルタ処理プログラムを実行対象に設定する。従って図10に示す例の場合、生成部263は、フィルタ処理プログラムを生成しない。
判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一でないと判定されたとする。この場合、実行部265は、コントローラ120から発行された実行コマンドに従い、生成部263により生成されたフィルタ処理プログラム、即ち、RAM261の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。一方、判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であると判定されたとする。この場合、実行部265は、RAM261の固定フィルタ処理プログラム記憶領域に記憶されている所定フィルタ係数用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。従って図10に示す例の場合、実行部265は、RAM261のプログラム領域(固定フィルタ処理プログラム記憶領域)に記憶されているフィルタ係数1用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。
図11は、第2実施形態の複合機200で行われるフィルタ処理の手順の流れの一例を示すフローチャートである。
まず、ステップS200の処理は、図4のフローチャートのステップS100と同様である。
続いて、判定部262は、CPU123から生成コマンドが発行されると、CPU123によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であるか否かを判定する(ステップS202)。
判定部262により両フィルタ係数が同一でないと判定されたとする(ステップS202でNo)。この場合、生成部263は、RAM261のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM261の可変フィルタ処理プログラム記憶領域に生成する(ステップS204)。一方、判定部262により両フィルタ係数が同一であると判定された場合(ステップS202でYes)、生成部263は、ステップS204の処理を行わない。
続いて、CPU123は、操作表示部110から原稿の読取開始の入力を受け付けると、画像処理装置240に実行コマンドを発行するなど、スキャナ130、画像処理装置240、及びプロッタ170に読取条件に応じた原稿の複写を指示する。そして実行部265は、CPU123からの実行コマンドに従い、生成部263によりフィルタ処理プログラムが生成されている場合には、RAM261の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。(ステップS206)。一方、生成部263によりフィルタ処理プログラムが生成されていない場合には、実行部265は、RAM261の固定フィルタ処理プログラム記憶領域に記憶されている所定フィルタ係数用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS208)。
以上のように第2実施形態によれば、特定のフィルタ処理プログラムの生成を省略するので、特定のフィルタ処理プログラムの生成に要する時間を省略することができ、生産性を高めることができる。例えば、最も利用される可能性が高いフィルタ係数を所定のフィルタ係数としておけば、フィルタ処理プログラムの生成を省略できるケースが増え、生産性を高めることができる。
(第3実施形態)
第3実施形態では、特定の読取モードのフィルタ処理プログラムの生成を省略する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
図12は、第3実施形態の複合機300の構成の一例を示すブロック図である。図12に示すように、第3実施形態では、複合機300のコントローラ320のROM321の記憶内容、CPU323の処理内容、複合機300の画像処理装置340のプロセッサ360が判定部362を含む点、生成部363及び実行部365の処理内容、並びにRAM361の記憶内容が第1実施形態と相違する。
ROM321は、図13に示すように、フィルタ処理プログラムの生成に用いられるフィルタ係数として、文字写真モード用フィルタ係数、文字モード用フィルタ係数、写真モード用フィルタ係数、及び地図モード用フィルタ係数を記憶している。
CPU323は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件が示す読取モード(画像処理対象の画像データの生成モードの一例)が特定読取モード(特定生成モードの一例)であるか否かを判定する。なお第3実施形態では、ユーザが操作表示部110を用いて特定読取モードを文字写真モード、文字モード、写真モード、及び地図モードなどのいずれかに予め設定しているものとする。そしてCPU323は、読取モードが特定読取モードである場合、画像処理装置340の後述の特定読取モードフラグをONに設定し、フィルタ処理プログラムの生成を指示する生成コマンドを画像処理装置340に発行する。一方、CPU323は、読取モードが特定読取モードでない場合、画像処理装置340の特定読取モードフラグをOFFに設定するとともに、読取モードに応じたフィルタ係数をROM321から読み出して画像処理装置340に書き込み、生成コマンドを画像処理装置340に発行する。
RAM361は、データ領域に、原稿の読取モードが特定読取モードであるか否かを示す特定読取モードフラグ(生成モード情報の一例)を更に記憶し、プログラム領域に、特定読取モード用のフィルタ係数に応じたフィルタ処理プログラム(以下、「特定読取モード用フィルタ処理プログラム」と称する)を更に静的に記憶する(配置する)。以下第3実施形態では、特定読取モード用フィルタ処理プログラムを静的に記憶するプログラム領域の記憶領域を固定フィルタ処理プログラム記憶領域と称するものとする。
図14は、RAM361に記憶されているデータの一例を示す図である。図14に示す例では、RAM361は、データ領域に、コントローラ320により値がONに設定された特定読取モードフラグを更に記憶しているとともに、プログラム領域(固定フィルタ処理プログラム記憶領域)に、文字モード用フィルタ処理プログラムを更に静的に記憶している。また、データ領域にはコントローラ320からフィルタ係数が書き込まれていない。つまり図14に示す例では、特定読取モードが文字モードとなっている。
判定部362は、コントローラ320から生成コマンドが発行されると、RAM361のデータ領域に記憶されている特定読取モードフラグを参照して、特定読取モードか否かを判定する。図14に示す例の場合、特定読取モードフラグがONに設定されているため、判定部362は、特定読取モードと判定する。
判定部362により特定読取モードと判定されなかったとする。この場合、生成部363は、RAM361のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM361の可変フィルタ処理プログラム記憶領域に生成し、実行対象に設定する。一方、判定部362により特定読取モードと判定された場合、生成部363は、フィルタ処理プログラムの生成を省略し、RAM361の固定フィルタ処理プログラム記憶領域に記憶されている特定読取モード用フィルタ処理プログラムを実行対象に設定する。従って図14に示す例の場合、生成部363は、フィルタ処理プログラムを生成しない。
判定部362により特定読取モードと判定されなかったとする。この場合、実行部365は、コントローラ320から発行された実行コマンドに従い、生成部363により生成されたフィルタ処理プログラム、即ち、RAM361の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。一方、判定部362により特定読取モードと判定された場合、実行部365は、RAM361の固定フィルタ処理プログラム記憶領域に記憶されている特定読取モード用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。従って図14に示す例の場合、実行部365は、RAM361のプログラム領域(固定フィルタ処理プログラム記憶領域)に記憶されている文字モード用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。
図15は、第3実施形態の複合機300で行われるフィルタ処理の手順の流れの一例を示すフローチャートである。
まず、CPU323は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件が示す読取モードが特定読取モードであるか否かを判定する(ステップS300)。
CPU323は、読取モードが特定読取モードである場合(ステップS300でYes)、RAM361のデータ領域に記憶されている特定読取モードフラグをONに設定し、生成コマンドを画像処理装置340に発行する(ステップS302)。一方、CPU323は、読取モードが特定読取モードでない場合(ステップS300でNo)、RAM361のデータ領域に記憶されている特定読取モードフラグをOFFに設定するとともに、読取モードに応じたフィルタ係数をROM321から読み出してRAM361のデータ領域に書き込み、生成コマンドを画像処理装置340に発行する(ステップS304)。
続いて、判定部362は、CPU323から生成コマンドが発行されると、RAM361のデータ領域に記憶されている特定読取モードフラグを参照して、特定読取モードか否かを判定する(ステップS306)。
特定読取モードフラグがOFFに設定されており、判定部362により特定読取モードと判定されなかったとする(ステップS306でNo)。この場合、生成部363は、RAM361のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM361の可変フィルタ処理プログラム記憶領域に生成する(ステップS308)。一方、特定読取モードフラグがONに設定されており、判定部362により特定読取モードと判定された場合(ステップS306でYes)、生成部363は、ステップS308の処理を行わない。
続いて、CPU323は、操作表示部110から原稿の読取開始の入力を受け付けると、画像処理装置340に実行コマンドを発行するなど、スキャナ130、画像処理装置340、及びプロッタ170に読取条件に応じた原稿の複写を指示する。そして実行部365は、CPU323からの実行コマンドに従い、生成部363によりフィルタ処理プログラムが生成されている場合には、RAM361の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS310)。一方、生成部363によりフィルタ処理プログラムが生成されていない場合には、実行部365は、RAM361の固定フィルタ処理プログラム記憶領域に記憶されている特定読取モード用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS312)。
以上のように第3実施形態によれば、特定の読取モードのフィルタ処理プログラムの生成を省略するので、特定の読取モードのフィルタ処理プログラムの生成に要する時間を省略することができ、生産性を高めることができる。例えば、ユーザにより利用される可能性が最も高い読取モードを予め特定読取モードに設定しておけば、フィルタ処理プログラムの生成を省略できるケースが増え、生産性を高めることができる。
(変形例)
なお、本発明は、上記実施形態に限定されるものではなく、種々の変形が可能である。
(変形例1)
上記各実施形態において、生成部は、複数種類の乗数の値が同一である場合、被乗数を加算してから乗算をビットシフトと加減算との組み合わせに展開してフィルタ処理プログラムを生成するようにしてもよい。
例えば数式(2)において、Dx(y−1)及びDx(y+1)の乗数は1であり、D(x−1)y及びD(x+1)yの乗数は2であるので、生成部は、被乗数を加算した数式(3)を算出し、算出した数式(3)からフィルタ処理プログラムを生成するようにしてもよい。
outxy=Dxy+((Dx(y−1)+Dx(y+1))*1+(D(x−1)y+D(x+1)y)*2−Dxy*6)/8 …(3)
また数式(1)において、A=1,B=1,M=8の場合には、生成部は、被乗数を加算した数式(4)を算出し、算出した数式(4)からフィルタ処理プログラムを生成するようにしてもよい。
outxy=Dxy+((Dx(y−1)+Dx(y+1)+D(x−1)y+D(x+1)y)*1−Dxy*4)/8 …(4)
このようにすれば、フィルタ処理プログラムのステップ数を更に削減することができる。
(変形例2)
上記各実施形態において、フィルタ係数にフィルタ係数の係数値だけでなく、平滑強度の強度値及びフィルタ係数及び平滑強度いずれかを指定する指定情報を含め、生成部は、指定情報で指定された情報(フィルタ係数or平滑強度)の値(係数値or強度値)を用いてフィルタ処理を行うようにしてもよい。
図16は、フィルタ係数の一例を示す図であり、図17は、平滑強度の強度値が1の場合の平滑係数の一例を示す図であり、図18は、平滑強度の強度値が2の場合の平滑係数の一例を示す図であり、図19は、平滑強度の強度値が3の場合の平滑係数の一例を示す図であり、図20は、平滑強度の強度値が4の場合の平滑係数の一例を示す図であり、図21は、平滑強度の強度値が5の場合の平滑係数の一例を示す図である。
生成部は、フィルタ処理プログラムを生成する際に、フィルタ係数に含まれる指定情報を確認し、指定情報がフィルタ係数を指定していれば、フィルタ係数の係数値に応じた乗算のフィルタ処理プログラムを生成する。一方、生成部は、指定情報が平滑強度を指定していれば、平滑強度の強度値に応じた平滑係数の加算のフィルタ処理プログラムを生成する。
平滑強度に応じた平滑係数を用意しておくことで、マトリクスサイズの制限なく平滑フィルタのフィルタ処理プログラムを生成することができる。
(変形例3)
上記第3実施形態において、コントローラが、過去に画像処理された画像データの読取モードの履歴に応じて、特定読取モード及び特定読取モード用フィルタ処理プログラムを更新するようにしてもよい。
例えば、CPUは、コントローラのRAMに過去100枚分の原稿の読取モードを履歴しておき、最も使用頻度の高い読取モードを特定読取モードに設定しておくようにする。CPUは、特定読取モードを設定した場合、当該特定読取モードに応じた特定読取モード用フィルタ処理プログラムでプロセッサのRAMのプログラム領域に静的に記憶されている特定読取モード用フィルタ処理プログラムを更新する。なお、新たな原稿の読取モードが履歴されると、最も古い原稿の読取モードの履歴が破棄される。
(変形例4)
上記各実施形態及び上記各変形例は適宜組み合わせることができる。
(ハードウェア構成)
上記各実施形態及び変形例の複合機のハードウェア構成の一例について説明する。
図22は、上記各実施形態及び変形例の複合機のハードウェア構成の一例を示すブロック図である。なお、図22では、コントローラ120、320をコントローラ910と称し、ROM121、321をROM912aと称し、CPU123、323をCPU911と称し、RAM125をRAM912bと称し、画像処理装置140、240、340をASIC916と称する。
図22に示すように、上記各実施形態及び変形例の複合機は、コントローラ910とエンジン部(Engine)960とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ910は、複合機全体の制御、描画、通信、及び操作表示部920からの入力を制御するコントローラである。エンジン部960は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部960には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ910は、CPU911と、ノースブリッジ(NB)913と、システムメモリ(MEM−P)912と、サウスブリッジ(SB)914と、ローカルメモリ(MEM−C)917と、ASIC(Application Specific Integrated Circuit)916と、ハードディスクドライブ(HDD)918とを有し、ノースブリッジ(NB)913とASIC916との間をAGP(Accelerated Graphics Port)バス915で接続した構成となる。また、MEM−P912は、ROM912aと、RAM912bとをさらに有する。
CPU911は、複合機の全体制御をおこなうものであり、NB913、MEM−P912およびSB914からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB913は、CPU911とMEM−P912、SB914、AGPバス915とを接続するためのブリッジであり、MEM−P912に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P912は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM912aとRAM912bとからなる。ROM912aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM912bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB914は、NB913とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB914は、PCIバスを介してNB913と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部なども接続される。
ASIC916は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス915、PCIバス、HDD918およびMEM−C917をそれぞれ接続するブリッジの役割を有する。このASIC916は、PCIターゲットおよびAGPマスタと、ASIC916の中核をなすアービタ(ARB)と、MEM−C917を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部960との間でPCIバスを介したデータ転送をおこなうPCIユニットとからなる。このASIC916には、PCIバスを介してFCU(Fax Control Unit)930、USB(Universal Serial Bus)940、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース950が接続される。操作表示部920はASIC916に直接接続されている。
MEM−C917は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD918は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGPバス915は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P912に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
なお、上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムは、ROM等に予め組み込まれて提供される。
上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記録して提供するように構成してもよい。
さらに、上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記各実施形態及び変形例の複合機で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしてはプロセッサがROMからプログラムをRAM上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
100、200、300 複合機
110 操作表示部
120、320 コントローラ
121、321 ROM
123、323 CPU
125 RAM
130 スキャナ
140、240、340 画像処理装置
150 画像処理部
160、260、360 プロセッサ
161、261、361 RAM
163、263、363 生成部
165、265、365 実行部
170 プロッタ
262、362 判定部
910 コントローラ
911 CPU
912 システムメモリ
912a ROM
912b RAM
913 ノースブリッジ
914 サウスブリッジ
915 AGPバス
916 ASIC
917 ローカルメモリ
918 ハードディスクドライブ
920 操作表示部
930 FCU
940 USB
950 IEEE1394インタフェース
960 エンジン部
特開2005−142839号公報

Claims (11)

  1. 制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成される1のパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段と、
    前記1のパラメータ情報及び前記生成プログラムを用いて、前記1のパラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成手段と、
    前記第1画像処理プログラムを実行して画像処理を行わせる実行手段と、
    を備え、
    前記記憶手段は、更に、前記プログラム領域に、予め定められた1以上のパラメータで構成される所定パラメータ情報の内容に応じた処理を実行する第2画像処理プログラムを記憶し、
    前記1のパラメータ情報と前記所定パラメータ情報において構成する各パラメータ同士が全て同一であるか否かを判定する判定手段を更に備え、
    前記生成手段は、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを生成し、
    前記実行手段は、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記1のパラメータ情報が前記所定パラメータ情報と同一である場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする画像処理装置。
  2. 制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成されるパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段と、
    前記パラメータ情報及び前記生成プログラムを用いて、前記パラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成手段と、
    前記第1画像処理プログラムを実行して画像処理を行わせる実行手段と、
    を備え、
    前記記憶手段は、更に、前記データ領域に前記制御装置から書き込まれる情報であって画像処理対象の画像データの生成モードが特定生成モードであるか否かを示す生成モード情報を記憶するとともに、前記プログラム領域に前記特定生成モードに応じた処理を実行する第2画像処理プログラムを記憶し、
    前記生成モード情報が前記特定生成モードを示すか否かを判定する判定手段を更に備え、
    前記生成手段は、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを生成し、
    前記実行手段は、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする画像処理装置。
  3. 前記特定生成モード及び前記第2画像処理プログラムは、過去に画像処理された画像データの生成モードの履歴に応じて、前記制御装置により更新されることを特徴とする請求項に記載の画像処理装置。
  4. 前記生成手段は、乗算をビットシフトと加減算との組み合わせに展開して、前記第1画像処理プログラムを生成することを特徴とする請求項1〜のいずれか1つに記載の画像処理装置。
  5. 前記生成手段は、複数種類の乗数の値が同一である場合、被乗数を加算してから乗算をビットシフトと加減算との組み合わせに展開して、前記第1画像処理プログラムを生成することを特徴とする請求項に記載の画像処理装置。
  6. 前記第1画像処理プログラムは、フィルタ演算プログラムであり、
    前記1のパラメータ情報は、前記1以上のパラメータとして、フィルタ係数の係数値と平滑強度の強度値と前記フィルタ係数及び前記平滑強度いずれかを指定する指定情報とを含み、
    前記生成手段は、前記指定情報で指定された情報の値及び前記生成プログラムを用いて、前記フィルタ演算プログラムを生成することを特徴とする請求項1〜のいずれか1つに記載の画像処理装置。
  7. 請求項1〜のいずれか1つに記載の画像処理装置と、
    前記パラメータ情報1以上記憶する不揮発性の記憶手段と、
    前記1以上のパラメータ情報のいずれか1つを前記画像処理装置の前記記憶手段に書き込む書込手段と、
    を備えることを特徴とする画像形成装置。
  8. 画像処理装置で実行される画像処理方法であって、
    前記画像処理装置は、
    制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成される1のパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段を備え、
    生成手段が、前記1のパラメータ情報及び前記生成プログラムを用いて、前記1のパラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、
    実行手段が、前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、
    を含み、
    前記記憶手段は、更に、前記プログラム領域に、予め定められた1以上のパラメータで構成される所定パラメータ情報の内容に応じた処理を実行する第2画像処理プログラムを記憶し、
    判定手段が、前記1のパラメータ情報と前記所定パラメータ情報とにおいて構成する各パラメータ同士が全て同一であるか否かを判定する判定ステップを更に含み、
    前記生成ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを生成し、
    前記実行ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記1のパラメータ情報が前記所定パラメータ情報と同一である場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする画像処理方法。
  9. 画像処理装置で実行される画像処理方法であって、
    前記画像処理装置は、
    制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成されるパラメータ情報を記憶するデータ領域と、前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段を備え、
    生成手段が、前記パラメータ情報及び前記生成プログラムを用いて、前記パラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、
    実行手段が、前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、
    を含み、
    前記記憶手段は、更に、前記データ領域に前記制御装置から書き込まれる情報であって画像処理対象の画像データの生成モードが特定生成モードであるか否かを示す生成モード情報を記憶するとともに、前記プログラム領域に前記特定生成モードに応じた処理を実行する第2画像処理プログラムを記憶し、
    判定手段が、前記生成モード情報が前記特定生成モードを示すか否かを判定する判定ステップを更に含み、
    前記生成ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを生成し、
    前記実行ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記第2画像処理プログラムを実行して画像処理を行わせることを特徴とする画像処理方法。
  10. 制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成される1のパラメータ情報を記憶するデータ領域と前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域とを有する記憶手段を備えるコンピュータに、
    前記1のパラメータ情報及び前記生成プログラムを用いて、前記1のパラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、
    前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、
    を実行させ
    前記記憶手段は、更に、前記プログラム領域に、予め定められた1以上のパラメータで構成される所定パラメータ情報の内容に応じた処理を実行する第2画像処理プログラムを記憶し、
    前記1のパラメータ情報と前記所定パラメータ情報とにおいて構成する各パラメータ同士が全て同一であるか否かを判定する判定ステップを前記コンピュータに更に実行させ、
    前記生成ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを生成し、
    前記実行ステップでは、前記1のパラメータ情報が前記所定パラメータ情報と同一でない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記1のパラメータ情報が前記所定パラメータ情報と同一である場合、前記第2画像処理プログラムを実行して画像処理を行わせるための画像処理プログラム。
  11. 制御装置から書き込まれ、第1画像処理プログラムの生成に使用される1以上のパラメータで構成されるパラメータ情報を記憶するデータ領域と前記第1画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域とを有する記憶手段を備えるコンピュータに、
    前記パラメータ情報及び前記生成プログラムを用いて、前記パラメータ情報の内容に応じて実行する処理が異なる前記第1画像処理プログラムを生成する生成ステップと、
    前記第1画像処理プログラムを実行して画像処理を行わせる実行ステップと、
    を実行させ、
    前記記憶手段は、更に、前記データ領域に前記制御装置から書き込まれる情報であって画像処理対象の画像データの生成モードが特定生成モードであるか否かを示す生成モード情報を記憶するとともに、前記プログラム領域に前記特定生成モードに応じた処理を実行する第2画像処理プログラムを記憶し、
    前記生成モード情報が前記特定生成モードを示すか否かを判定する判定ステップを前記コンピュータに更に実行させ、
    前記生成ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを生成し、
    前記実行ステップでは、前記生成モード情報が前記特定生成モードを示さない場合、前記第1画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記第2画像処理プログラムを実行して画像処理を行わせるための画像処理プログラム。
JP2010157108A 2010-07-09 2010-07-09 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム Expired - Fee Related JP5609341B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010157108A JP5609341B2 (ja) 2010-07-09 2010-07-09 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010157108A JP5609341B2 (ja) 2010-07-09 2010-07-09 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2012019478A JP2012019478A (ja) 2012-01-26
JP5609341B2 true JP5609341B2 (ja) 2014-10-22

Family

ID=45604352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010157108A Expired - Fee Related JP5609341B2 (ja) 2010-07-09 2010-07-09 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Country Status (1)

Country Link
JP (1) JP5609341B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1084475A (ja) * 1996-09-09 1998-03-31 Sharp Corp 画像領域判別方法および画像処理装置
JP2003216365A (ja) * 2002-01-21 2003-07-31 Ricoh Co Ltd 画像処理装置および画像形成装置
JP2007200246A (ja) * 2006-01-30 2007-08-09 Sharp Corp 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2012019478A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP6632709B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
CN108475213B (zh) 图像处理装置、图像处理方法和图像处理程序
JP5187331B2 (ja) 画像処理装置、画像処理方法、およびコンピュータプログラム
JP6534492B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
CN110248043B (zh) 图像处理装置以及图像形成装置
JP2019205128A5 (ja)
JP6575216B2 (ja) 画像処理装置、画像形成装置、及び画像処理プログラム
JP5609341B2 (ja) 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム
JP7321336B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2008236169A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6600077B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP5560785B2 (ja) 情報処理装置、画像形成装置及び情報処理方法
JP2009027224A (ja) 印刷システム、画像処理装置、色補正装置、画像処理方法、色補正方法、画像処理プログラム、および色補正プログラム
JP2011000794A (ja) 画像形成装置及び画像形成方法ならびに画像形成方法を実行するプログラム
JP5753370B2 (ja) 画像処理装置、方法およびプログラム
JP2024147236A (ja) 画像処理装置
JP5834401B2 (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP2006260093A (ja) プリンタドライバ、画像形成装置、印刷方法および文書印刷プログラム
JP5712613B2 (ja) 画像形成装置、画像処理制御方法及び画像処理制御プログラム
JP2010141608A (ja) 画像処理方法、画像処理装置、画像処理プログラム及び記録媒体
JP5076759B2 (ja) 画像処理装置、画像形成装置
JP2005175946A (ja) 画像形成装置
JP2018067839A (ja) 色変換装置及びプログラム
JP2009071675A (ja) 画像処理装置、プログラムおよび画像処理方法
JP2015207231A (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140711

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R151 Written notification of patent or utility model registration

Ref document number: 5609341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees