JP2012019478A - Image processing device, image formation device, image processing method, and image processing program - Google Patents
Image processing device, image formation device, image processing method, and image processing program Download PDFInfo
- Publication number
- JP2012019478A JP2012019478A JP2010157108A JP2010157108A JP2012019478A JP 2012019478 A JP2012019478 A JP 2012019478A JP 2010157108 A JP2010157108 A JP 2010157108A JP 2010157108 A JP2010157108 A JP 2010157108A JP 2012019478 A JP2012019478 A JP 2012019478A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- program
- processing program
- generation
- filter
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 132
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 230000015572 biosynthetic process Effects 0.000 title abstract 2
- 238000009499 grossing Methods 0.000 claims description 20
- 238000010586 diagram Methods 0.000 description 34
- 238000000034 method Methods 0.000 description 22
- SYITWHOFSUDLBP-FHLIZLRMSA-N ram-361 Chemical compound C1CCC[C@@]2(O)[C@H]3CC(C=CC(O)=C4OC)=C4[C@]21CCN3C SYITWHOFSUDLBP-FHLIZLRMSA-N 0.000 description 20
- 238000001914 filtration Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 230000002093 peripheral effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003705 background correction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimiles In General (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
Description
本発明は、画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムに関する。 The present invention relates to an image processing apparatus, an image forming apparatus, an image processing method, and an image processing program.
従来から、画像処理装置では、リアルタイム処理(高速処理)が求められており、ASIC(Application Specific Integrated Circuit)や、DSP(Digital Signal Processor)又はSIMD(Single Instruction Stream/Multiple Data Stream)型プロセッサなどの画像認識や画像処理に特化した特殊なプロセッサが用いられている。 2. Description of the Related Art Conventionally, image processing apparatuses have been required to perform real-time processing (high-speed processing), such as ASIC (Application Specific Integrated Circuit), DSP (Digital Signal Processor) or SIMD (Single Instruction Stream / Multiple Data Stream) type processors. A special processor specialized in image recognition and image processing is used.
このようなプロセッサは、処理の高速化のため、データ領域やプログラム領域を有するRAM(Random Access Memory)を内部に備えているが、当然ながらその記憶容量には制限がある。このため例えば特許文献1には、プロセッサの外部に備えられているROM(Read Only Memory)に当該プロセッサで実行される複数種類のプログラムを予め記憶しておき、処理対象の原稿の読取条件に応じて、ROMからプロセッサにプログラムをロードする技術が開示されている。
Such a processor is internally provided with a RAM (Random Access Memory) having a data area and a program area in order to increase the processing speed. However, the storage capacity is naturally limited. For this reason, for example, in
しかしながら、上述したような従来技術では、ROMなどの不揮発性の記憶装置に予め記憶しておくプログラムの数が増加すると、不揮発性の記憶装置の記憶容量を逼迫してしまうことになる。 However, in the conventional technology as described above, when the number of programs stored in advance in a non-volatile storage device such as a ROM increases, the storage capacity of the non-volatile storage device is limited.
本発明は、上記事情に鑑みてなされたものであり、記憶装置の記憶容量を逼迫せずに、多様なプログラムを実行できる画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and provides an image processing apparatus, an image forming apparatus, an image processing method, and an image processing program capable of executing various programs without constricting the storage capacity of the storage device. For the purpose.
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる画像処理装置は、制御装置から書き込まれるパラメータを記憶するデータ領域と、画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段と、前記パラメータ及び前記生成プログラムを用いて、前記パラメータに応じた可変画像処理プログラムを生成する生成手段と、前記可変画像処理プログラムを実行して画像処理を行わせる実行手段と、を備えることを特徴とする。 In order to solve the above-described problems and achieve the object, an image processing apparatus according to an aspect of the present invention includes a data area for storing parameters written from a control apparatus, and a generation program for generating an image processing program. A storage unit having a program area to store; a generation unit that generates a variable image processing program according to the parameter using the parameter and the generation program; and image processing by executing the variable image processing program Execution means to perform.
また、本発明の別の態様にかかる画像形成装置は、上記画像処理装置と、前記パラメータを記憶する不揮発性の記憶手段と、前記パラメータを前記画像処理装置の前記記憶手段に書き込む書込手段と、を備えることを特徴とする。 An image forming apparatus according to another aspect of the present invention includes: the image processing apparatus; a nonvolatile storage unit that stores the parameter; and a writing unit that writes the parameter to the storage unit of the image processing apparatus. It is characterized by providing.
また、本発明の別の態様にかかる画像処理方法は、画像処理装置で実行される画像処理方法であって、前記画像処理装置は、制御装置から書き込まれるパラメータを記憶するデータ領域と、画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段を備え、生成手段が、前記パラメータ及び前記生成プログラムを用いて、前記パラメータに応じた可変画像処理プログラムを生成する生成ステップと、実行手段が、前記可変画像処理プログラムを実行して画像処理を行わせる実行ステップと、を含むことを特徴とする。 An image processing method according to another aspect of the present invention is an image processing method executed by an image processing device, the image processing device including a data area for storing parameters written from a control device, and image processing A generating step for generating a variable image processing program in accordance with the parameter using the parameter and the generating program. And executing means for executing image processing by executing the variable image processing program.
また、本発明の別の態様にかかる画像処理プログラムは、制御装置から書き込まれるパラメータを記憶するデータ領域と画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域とを有する記憶手段を備えるコンピュータに、前記パラメータ及び前記生成プログラムを用いて、前記パラメータに応じた可変画像処理プログラムを生成する生成ステップと、前記可変画像処理プログラムを実行して画像処理を行わせる実行ステップと、を実行させるためのものである。 An image processing program according to another aspect of the present invention includes a storage unit having a data area for storing parameters written from a control device and a program area for storing a generation program for generating an image processing program. In addition, a generation step of generating a variable image processing program corresponding to the parameter using the parameter and the generation program, and an execution step of executing the variable image processing program to perform image processing are executed. belongs to.
本発明によれば、記憶装置の記憶容量を逼迫せずに、多様なプログラムを実行できるという効果を奏する。 According to the present invention, there is an effect that various programs can be executed without reducing the storage capacity of the storage device.
以下、添付図面を参照しながら、本発明にかかる画像処理装置、画像形成装置、画像処理方法及び画像処理プログラムの実施形態を詳細に説明する。なお以下の各実施形態では、フィルタ処理を例に取り本発明について説明するが、これに限定されるものではなく、他の画像処理についても本発明を適用できる。また以下の各実施形態では、本発明の画像処理装置を、コピー機能に加え、プリンタ機能、スキャナ機能、及びファクシミリ機能の少なくともいずれかの機能を有する複合機(MFP:Multifunction Peripheral)に適用した場合を例に取り説明するが、これに限定されるものではない。本発明の画像処理装置は、例えば、複写機、スキャナ、プリンタ、及びファクシミリなどに対しても適用することができる。 Hereinafter, embodiments of an image processing apparatus, an image forming apparatus, an image processing method, and an image processing program according to the present invention will be described in detail with reference to the accompanying drawings. In the following embodiments, the present invention will be described using filter processing as an example. However, the present invention is not limited to this, and the present invention can also be applied to other image processing. In each of the following embodiments, the image processing apparatus of the present invention is applied to a multifunction peripheral (MFP) having at least one of a printer function, a scanner function, and a facsimile function in addition to a copy function. However, the present invention is not limited to this. The image processing apparatus of the present invention can be applied to, for example, a copying machine, a scanner, a printer, and a facsimile.
(第1実施形態)
まず、第1実施形態の複合機の構成について説明する。
(First embodiment)
First, the configuration of the MFP according to the first embodiment will be described.
図1は、第1実施形態の複合機100の構成の一例を示すブロック図である。図1に示すように、複合機100は、操作表示部110と、コントローラ120と、スキャナ130と、画像処理装置140と、プロッタ170と、を備える。
FIG. 1 is a block diagram illustrating an example of the configuration of the multifunction peripheral 100 according to the first embodiment. As illustrated in FIG. 1, the multifunction peripheral 100 includes an
操作表示部110は、各種画面の表示や各種操作の入力を行うものであり、オペレーションパネルやタッチパネル式ディスプレイなどにより実現できる。操作表示部110は、例えば原稿の読取条件の入力や原稿の読取開始の入力などを行う。なお、操作部と表示部とを別々に実現してもよい。
The
コントローラ120は、複合機100の各部を制御するものであり、ROM(Read Only Memory)121と、CPU(Central Processing Unit)123と、RAM(Random Access Memory)125と、を備える。
The
ROM121は、不揮発性の読出専用の記憶装置であり、複合機100で行われる各種処理に使用されるデータなどを記憶する。特に本実施形態のROM121は、フィルタ処理プログラムの生成に用いられるフィルタ係数(パラメータの一例)を記憶する。
The
図2は、ROM121に記憶されているデータの一例を示す図である。図2に示す例では、ROM121は、フィルタ処理プログラムの生成に用いられるフィルタ係数としてフィルタ係数1〜フィルタ係数4を記憶している。なおフィルタ処理プログラムは、画像処理装置140で生成及び実行される。
FIG. 2 is a diagram illustrating an example of data stored in the
CPU123(制御装置、書込手段の一例)は、操作表示部110から各種操作入力を受け付け、受け付けた操作入力に応じて、スキャナ130、画像処理装置140、プロッタ170、及び操作表示部110を制御する。例えばCPU123は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件に応じたフィルタ係数をROM121から読み出して画像処理装置140に書き込むとともに、フィルタ処理プログラムの生成を指示する生成コマンドを画像処理装置140に発行する。また例えばCPU123は、操作表示部110から原稿の読取開始の入力を受け付けると、スキャナ130、画像処理装置140、及びプロッタ170を制御して読取条件に応じた原稿の複写を行わせる。この際、CPU123は、画像処理の実行を指示する実行コマンドを画像処理装置140に発行する。なおCPU123は、RAM125をワーク領域として上述した各種処理を行う。
The CPU 123 (an example of a control device and a writing unit) receives various operation inputs from the
RAM125は、揮発性の記憶装置であり、CPU123のワーク領域として機能する。
The
スキャナ130は、コントローラ120からの指示に従い、スキャナ130にセットされた原稿の画像を光学的に読み取って、画像データを生成する。
In accordance with an instruction from the
画像処理装置140は、スキャナ130により生成された画像データに対して各種画像処理を施すものであり、画像処理部150と、プロセッサ160とを備える。
The
画像処理部150は、プロセッサ160からの指示に従い、スキャナ130により生成された画像データに対して、シェーディング補正、フィルタ処理、変倍処理、γ変換、及び階調処理などの各種画像処理を施す。特に本実施形態の画像処理部150は、プロセッサ160により生成されたフィルタ処理プログラムに従ってフィルタ処理を行う。
The
プロセッサ160は、コントローラ120からの指示に従い、画像処理部150に上述した各種画像処理を行わせるものであり、DSPやSIMD型プロセッサにより実現できる。プロセッサ160は、RAM161と、生成部163と、実行部165とを、備える。
The
RAM161は、揮発性の記憶装置であり、データを記憶するデータ領域と、フィルタ処理プログラム(画像処理プログラムの一例)を生成するための生成プログラム(以下、「フィルタ処理プログラム生成プログラム」と称する)などのプログラムを記憶するプログラム領域と、を有する。なおRAM161のデータ領域には、コントローラ120からフィルタ係数が書き込まれ、プログラム領域には、生成部163により動的に生成されるフィルタ処理プログラムも記憶される。
The
図3は、RAM161に記憶されているデータの一例を示す図である。図3に示す例では、RAM161は、データ領域にコントローラ120から書き込まれたフィルタ係数1を記憶しており、プログラム領域にMainプログラム及びフィルタ処理プログラム生成プログラムを記憶している。Mainプログラムは、プロセッサ160が画像処理部150を制御するために用いるプログラムである。またプログラム領域には、フィルタ処理プログラム生成プログラムによって動的に生成されるフィルタ処理プログラムを記憶する記憶領域(以下、「可変フィルタ処理プログラム記憶領域」と称する)も確保されている。
FIG. 3 is a diagram illustrating an example of data stored in the
生成部163は、コントローラ120から発行された生成コマンドに従い、コントローラ120によりRAM161のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムを動的に生成する。図3に示す例の場合、生成部163は、フィルタ係数1及びフィルタ処理プログラム生成プログラムを用いて、フィルタ係数1に応じたフィルタ処理プログラム(以下、「フィルタ係数1用フィルタ処理プログラム」と称する)を動的に生成し、RAM161の可変フィルタ処理プログラム記憶領域に記憶する。
In accordance with the generation command issued from the
実行部165は、コントローラ120から発行された実行コマンドに従い、生成部163により生成されたフィルタ処理プログラム、即ち、RAM161の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。図3に示す例の場合、実行部165は、RAM161の可変フィルタ処理プログラム記憶領域に記憶されるフィルタ係数1用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。
The
プロッタ170は、コントローラ120からの指示に従い、画像処理装置140により画像処理が施された画像データを記録紙などの記録媒体に印刷して、出力する。
The
次に、第1実施形態の複合機の動作について説明する。 Next, the operation of the multifunction machine of the first embodiment will be described.
図4は、第1実施形態の複合機100で行われるフィルタ処理の手順の流れの一例を示すフローチャートである。 FIG. 4 is a flowchart illustrating an example of a flow of a filtering process performed by the multifunction peripheral 100 according to the first embodiment.
まず、コントローラ120のCPU123は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件に応じたフィルタ係数をコントローラ120のROM121から読み出して画像処理装置140のRAM161のデータ領域に書き込むとともに、生成コマンドを画像処理装置140に発行する(ステップS100)。
First, when the
続いて、画像処理装置140の生成部163は、CPU123からの発行コマンドに従い、RAM161のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM161の可変フィルタ処理プログラム記憶領域に生成する(ステップS102)。
Subsequently, the generation unit 163 of the
続いて、CPU123は、操作表示部110から原稿の読取開始の入力を受け付けると、画像処理装置140に実行コマンドを発行するなど、スキャナ130、画像処理装置140、及びプロッタ170に読取条件に応じた原稿の複写を指示する。そして画像処理装置140の実行部165は、CPU123からの実行コマンドに従い、RAM161の可変フィルタ処理プログラム記憶領域に生成されたフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS104)。これにより、画像処理部150は、スキャナ130により生成された原稿の画像データに生成部163により生成されたフィルタ処理プログラムに応じたフィルタ処理を施す。
Subsequently, when the
次に、第1実施形態のフィルタ処理プログラム生成の具体的手法について説明する。 Next, a specific method for generating the filter processing program according to the first embodiment will be described.
図5は、フィルタ係数の一例を示す図であり、図6は、フィルタ処理対象の入力画像データの一例を示す図であり、数式(1)は、フィルタ処理プログラム生成プログラムに含まれているフィルタ処理アルゴリズムの一例を示す数式である。 FIG. 5 is a diagram illustrating an example of filter coefficients, FIG. 6 is a diagram illustrating an example of input image data to be filtered, and Equation (1) is a filter included in the filter processing program generation program. It is a mathematical formula showing an example of a processing algorithm.
Doutxy=Dxy+(Dx(y−1)*A+Dx(y+1)*A+D(x−1)y*B+D(x+1)y*B−Dxy(2A+2B))/M …(1) D out xy = 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のいずれかの値とする。 However, in FIG. 5, the coefficient values A and B of the filter coefficient are positive integers less than 16. In FIG. 6, s and t are positive integers. In Formula (1), D out xy represents an output pixel Dxy that is a result of filtering the input pixel Dxy of the input image data, x is a positive integer that is less than or equal to s, and y is a positive integer that is less than or equal to t. , A, and B are values in FIG. 5, and M is any one of 1, 2, 4, 8, 16, and 32.
ここでは、生成部163が、数式(1)にA=1,B=2,M=8を代入して数式(2)を算出し、算出した数式(2)からフィルタ処理プログラムを生成する例について説明する。 Here, an example in which the generation unit 163 calculates Formula (2) by substituting A = 1, B = 2, and M = 8 into Formula (1), and generates a filter processing program from the calculated Formula (2). Will be described.
Doutxy=Dxy+(Dx(y−1)*1+Dx(y+1)*1+D(x−1)y*2+D(x+1)y*2−Dxy*6)/8 …(2) D out xy = 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に示すフィルタ処理プログラムを生成する。 The generation unit 163 according to the present embodiment generates the filter processing program shown in FIG. 7 by expanding the multiplication of the filter processing algorithm shown in Equation (2) into a combination of bit shift and addition / subtraction.
図8は、第1実施形態の生成部163で行われるフィルタ処理アルゴリズムの乗算Dxy*Cをビットシフトと加減算との組み合わせに展開する処理の手順の流れの一例を示すフローチャートである。 FIG. 8 is a flowchart illustrating an example of a flow of a process procedure of expanding the multiplication Dxy * C of the filter processing algorithm into a combination of bit shift and addition / subtraction performed by the generation unit 163 according to the first embodiment.
まず、生成部163は、変数iに初期値0を設定する(ステップS110)。
First, the generation unit 163 sets an
続いて、生成部163は、乗数Cを2進数に変換する(ステップS112)。なお、乗数Cは、255以下の正の整数とする。 Subsequently, the generation unit 163 converts the multiplier C into a binary number (step S112). The multiplier C is a positive integer of 255 or less.
続いて、生成部163は、2進数に変換した乗数Cの桁数Nを算出する(ステップS114)。 Subsequently, the generation unit 163 calculates the number of digits N of the multiplier C converted into a binary number (step S114).
続いて、生成部163は、2進数に変換した乗数Cの0の数N0を算出する(ステップS116)。 Subsequently, the generation unit 163 calculates a number N0 of 0 of the multiplier C converted into a binary number (step S116).
続いて、生成部163は、2進数に変換した乗数Cの1の数N1を算出する(ステップS118)。 Subsequently, the generation unit 163 calculates a number N1 of 1 of the multiplier C converted into a binary number (step S118).
続いて、生成部163は、2進数に変換した乗数Cの各桁の値C0〜C7を算出する(ステップS120)。 Subsequently, the generation unit 163 calculates values C0 to C7 of each digit of the multiplier C converted into binary numbers (step S120).
続いて、生成部163は、N1>N0の場合には(ステップS122でYes)、まずコード展開として、Dxy<<Nをロードする(ステップS124)。 Subsequently, when N1> N0 (Yes in step S122), the generation unit 163 first loads Dxy << N as code expansion (step S124).
続いて、生成部163は、コード展開として、Dxyを減算する(ステップS126)。 Subsequently, the generation unit 163 subtracts Dxy as code expansion (step S126).
続いて、生成部163は、Ci=0であれば(ステップS128でYes)、コード展開として、Dxy<<iを減算する(ステップS130)。一方、生成部163は、Ci≠0であれば(ステップS128でNo)、ステップS130のコード展開を行わない。 Subsequently, if Ci = 0 (Yes in step S128), the generation unit 163 subtracts Dxy << i as code expansion (step S130). On the other hand, if Ci ≠ 0 (No in step S128), the generation unit 163 does not perform code expansion in step S130.
続いて、生成部163は、変数iの値をインクリメントする(ステップS132)。 Subsequently, the generation unit 163 increments the value of the variable i (step S132).
そして、生成部163は、i≦N−1の間(ステップS134でNo)、ステップS128〜S132の処理を繰り返し、i>N−1になると(ステップS134でYes)、処理を終了する。 Then, the generation unit 163 repeats the processes in steps S128 to S132 while i ≦ N−1 (No in step S134), and ends the process when i> N−1 (Yes in step S134).
一方、N1≦N0の場合には(ステップS122でNo)、生成部163は、まず、コード展開として、0をロードする(ステップS136)。
On the other hand, if N1 ≦ N0 (No in step S122), the generation unit 163
続いて、生成部163は、Ci=1であれば(ステップS138でYes)、コード展開として、Dxy<<iを加算する(ステップS140)。一方、生成部163は、Ci≠0であれば(ステップS138でNo)、ステップS140のコード展開を行わない。 Subsequently, if Ci = 1 (Yes in step S138), the generation unit 163 adds Dxy << i as code expansion (step S140). On the other hand, if Ci ≠ 0 (No in step S138), the generation unit 163 does not perform code expansion in step S140.
続いて、生成部163は、変数iの値をインクリメントする(ステップS142)。 Subsequently, the generation unit 163 increments the value of the variable i (step S142).
そして、生成部163は、i≦N−1の間(ステップS144でNo)、ステップS138〜S142の処理を繰り返し、i>N−1になると(ステップS144でYes)、処理を終了する。 Then, the generation unit 163 repeats the processes of steps S138 to S142 while i ≦ N−1 (No in step S144), and ends the process when i> N−1 (Yes in step S144).
ここで、図8のフローチャートを参照しながら、数式(2)の乗算Dx(y−1)*1をビットシフトと加減算との組み合わせに展開する例を具体的に説明する。なおこの例では、乗数Cの値は1となる。 Here, an example in which the multiplication Dx (y−1) * 1 of Expression (2) is developed into a combination of bit shift and addition / subtraction will be specifically described with reference to the flowchart of FIG. In this example, the value of the multiplier C is 1.
ステップS110では、生成部163は、変数iに初期値0を設定する。
In step S110, the generation unit 163 sets an
ステップS112では、生成部163は、乗数Cを2進数「00000001」に変換する。 In step S112, the generation unit 163 converts the multiplier C into a binary number “00000001”.
ステップS114では、生成部163は、2進数に変換した乗数Cの桁数N=8を算出する。 In step S114, the generation unit 163 calculates the number of digits N = 8 of the multiplier C converted to a binary number.
ステップS116では、生成部163は、2進数に変換した乗数Cの0の数N0=7を算出する。
In step S116, the generation unit 163 calculates the
ステップS118では、生成部163は、2進数に変換した乗数Cの1の数N1=1を算出する。 In step S118, the generation unit 163 calculates the number N1 = 1 of the multiplier C converted to a binary number.
ステップS120では、生成部163は、2進数に変換した乗数Cの各桁の値C0=1、C1=0、C2=0、C3=0、C4=0、C5=0、C6=0、C7=0を算出する。 In step S120, the generation unit 163 has values C0 = 1, C1 = 0, C2 = 0, C3 = 0, C4 = 0, C5 = 0, C6 = 0, C7 of the multiplier C converted into binary numbers. = 0 is calculated.
ステップS122では、N0=7、N1=1であるため、生成部163は、N1≦N0と判定し、ステップS136へ進む。 In step S122, since N0 = 7 and N1 = 1, the generation unit 163 determines that N1 ≦ N0, and proceeds to step S136.
ステップS136では、生成部163は、コード展開として、0をロードする。
In step S136, the generation unit 163
ステップS138では、C0=1であるため、生成部163は、C0=1と判定し、ステップS140へ進む。 In step S138, since C0 = 1, the generation unit 163 determines that C0 = 1, and proceeds to step S140.
ステップS140では、生成部163は、コード展開として、Dx(y−1)<<0を加算する。 In step S140, the generation unit 163 adds Dx (y-1) << 0 as the code expansion.
ステップS142では、生成部163は、変数iの値を「1」にインクリメントする。 In step S142, the generation unit 163 increments the value of the variable i to “1”.
ステップS144では、変数i=1であるため、生成部163は、1≦7と判定し、ステップS138へ戻る。 In step S144, since the variable i = 1, the generation unit 163 determines that 1 ≦ 7, and returns to step S138.
ステップS138では、C1=0であるため、生成部163は、C0≠1と判定し、ステップS142へ進む。 In step S138, since C1 = 0, the generation unit 163 determines that C0 ≠ 1, and proceeds to step S142.
ステップS142では、生成部163は、変数iの値を「2」にインクリメントする。 In step S142, the generation unit 163 increments the value of the variable i to “2”.
以降、変数iの値が「8」にインクリメントされるまで、ステップS144でNo、ステップS138でNo、ステップS142の処理を繰り返す。 Thereafter, until the value of the variable i is incremented to “8”, the process of No in Step S144, No in Step S138, and Step S142 is repeated.
そしてステップS142で変数iの値が「8」にインクリメントされると、ステップS144では、変数i=8であるため、生成部163は、8>7と判定し、処理を終了する。 When the value of the variable i is incremented to “8” in step S142, since the variable i is 8 in step S144, the generation unit 163 determines that 8> 7 and ends the process.
これにより、図7に示すフィルタ処理プログラムのステップ1、2が生成される。以降、数式(2)の乗算、除算を順次行うことにより、図7に示すフィルタ処理プログラムが生成される。 Thereby, steps 1 and 2 of the filter processing program shown in FIG. 7 are generated. Subsequently, the filter processing program shown in FIG. 7 is generated by sequentially performing multiplication and division of Equation (2).
以上のように第1実施形態によれば、プロセッサがコントローラから設定されたフィルタ係数に応じたフィルタ処理プログラムを生成するので、コントローラ内のROMにフィルタ処理プログラムを格納しておく必要がなく、コントローラ内のROMの記憶容量を逼迫せずに、多様なフィルタ処理プログラムを実行できる。 As described above, according to the first embodiment, since the processor generates a filter processing program corresponding to the filter coefficient set by the controller, there is no need to store the filter processing program in the ROM in the controller. Various filter processing programs can be executed without reducing the storage capacity of the internal ROM.
また第1実施形態によれば、フィルタ処理プログラムを生成する際に、乗算をビットシフトと加減算との組み合わせに展開するので、フィルタ処理プログラムのステップ数を大幅に削減することができる。 Further, according to the first embodiment, when the filter processing program is generated, multiplication is expanded into a combination of bit shift and addition / subtraction, so that the number of steps of the filter processing program can be greatly reduced.
例えば、数式(2)に示すフィルタ処理アルゴリズムを演算式どおりに実装すると、8bitの乗算は通常8ステップ程度に展開され、8bitの除算は通常25ステップ程度に展開されるため、乗算3回及び除算1回の約50ステップのフィルタ処理プログラムとなる。 For example, when the filtering algorithm shown in Equation (2) is implemented according to the arithmetic expression, 8-bit multiplication is normally expanded to about 8 steps, and 8-bit division is normally expanded to about 25 steps. It becomes a filter processing program of about 50 steps at one time.
これに対し、第1実施形態では、数式(2)に示すフィルタ処理アルゴリズムの乗算を、図8に示すフローチャートに従ってビットシフトと加減算との組み合わせに展開しているので、8bitの乗算を5ステップ以下に展開することができる。また第1実施形態では、除算をビットシフトに展開している。これにより第1実施形態では、数式(2)に示すフィルタ処理アルゴリズムが図7に示すように9ステップのフィルタ処理プログラムとなり、フィルタ処理プログラムのステップ数を大幅に削減することができている。 On the other hand, in the first embodiment, the multiplication of the filter processing algorithm shown in Equation (2) is expanded into a combination of bit shift and addition / subtraction according to the flowchart shown in FIG. Can be deployed. In the first embodiment, division is expanded to bit shift. As a result, in the first embodiment, the filter processing algorithm shown in Equation (2) becomes a 9-step filter processing program as shown in FIG. 7, and the number of steps of the filter processing program can be greatly reduced.
(第2実施形態)
第2実施形態では、特定のフィルタ処理プログラムの生成を省略する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
(Second Embodiment)
In the second embodiment, an example in which generation of a specific filter processing program is omitted will be described. In the following, differences from the first embodiment will be mainly described, and components having the same functions as those in the first embodiment will be given the same names and symbols as those in the first embodiment, and description thereof will be given. Is omitted.
図9は、第2実施形態の複合機200の構成の一例を示すブロック図である。図9に示すように、第2実施形態では、複合機200の画像処理装置240のプロセッサ260が判定部262を含む点、生成部263及び実行部265の処理内容、並びにRAM261の記憶内容が第1実施形態と相違する。
FIG. 9 is a block diagram illustrating an example of the configuration of the
RAM261は、プログラム領域に、所定のフィルタ係数(所定パラメータの一例)に応じたフィルタ処理プログラム(以下、「所定フィルタ係数用フィルタ処理プログラム」と称する)を更に静的に記憶する(配置する)。以下第2実施形態では、所定フィルタ係数用フィルタ処理プログラムを静的に記憶するプログラム領域の記憶領域を固定フィルタ処理プログラム記憶領域と称するものとする。図10は、RAM261に記憶されているデータの一例を示す図である。図10に示すように、RAM261は、プログラム領域(固定フィルタ処理プログラム記憶領域)に、フィルタ係数1用フィルタ処理プログラムを更に静的に記憶している。
The
判定部262は、コントローラ120から生成コマンドが発行されると、コントローラ120によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であるか否かを判定する。図10に示す例の場合、RAM261のデータ領域にはコントローラ120から書き込まれたフィルタ係数1が記憶されている。また、RAM261のプログラム領域(固定フィルタ処理プログラム記憶領域)にフィルタ係数1用フィルタ処理プログラムが記憶されており所定のフィルタ係数がフィルタ係数1となる。従って判定部262は、両フィルタ係数が同一であると判定する。
When the generation command is issued from the
判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一でない(異なる)と判定されたとする。この場合、生成部263は、データ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM261の可変フィルタ処理プログラム記憶領域に生成し、実行対象に設定する。一方、判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であると判定されたとする。この場合、生成部263は、フィルタ処理プログラムの生成を省略し、RAM261の固定フィルタ処理プログラム記憶領域に記憶されている所定フィルタ係数用フィルタ処理プログラムを実行対象に設定する。従って図10に示す例の場合、生成部263は、フィルタ処理プログラムを生成しない。
It is assumed that the
判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一でないと判定されたとする。この場合、実行部265は、コントローラ120から発行された実行コマンドに従い、生成部263により生成されたフィルタ処理プログラム、即ち、RAM261の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。一方、判定部262によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であると判定されたとする。この場合、実行部265は、RAM261の固定フィルタ処理プログラム記憶領域に記憶されている所定フィルタ係数用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。従って図10に示す例の場合、実行部265は、RAM261のプログラム領域(固定フィルタ処理プログラム記憶領域)に記憶されているフィルタ係数1用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。
Assume that the
図11は、第2実施形態の複合機200で行われるフィルタ処理の手順の流れの一例を示すフローチャートである。
FIG. 11 is a flowchart illustrating an example of a flow of a filtering process performed by the
まず、ステップS200の処理は、図4のフローチャートのステップS100と同様である。 First, the process of step S200 is the same as step S100 of the flowchart of FIG.
続いて、判定部262は、CPU123から生成コマンドが発行されると、CPU123によりRAM261のデータ領域に書き込まれたフィルタ係数と所定のフィルタ係数とが同一であるか否かを判定する(ステップS202)。
Subsequently, when a generation command is issued from the
判定部262により両フィルタ係数が同一でないと判定されたとする(ステップS202でNo)。この場合、生成部263は、RAM261のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM261の可変フィルタ処理プログラム記憶領域に生成する(ステップS204)。一方、判定部262により両フィルタ係数が同一であると判定された場合(ステップS202でYes)、生成部263は、ステップS204の処理を行わない。
Assume that the
続いて、CPU123は、操作表示部110から原稿の読取開始の入力を受け付けると、画像処理装置240に実行コマンドを発行するなど、スキャナ130、画像処理装置240、及びプロッタ170に読取条件に応じた原稿の複写を指示する。そして実行部265は、CPU123からの実行コマンドに従い、生成部263によりフィルタ処理プログラムが生成されている場合には、RAM261の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。(ステップS206)。一方、生成部263によりフィルタ処理プログラムが生成されていない場合には、実行部265は、RAM261の固定フィルタ処理プログラム記憶領域に記憶されている所定フィルタ係数用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS208)。
Subsequently, when the
以上のように第2実施形態によれば、特定のフィルタ処理プログラムの生成を省略するので、特定のフィルタ処理プログラムの生成に要する時間を省略することができ、生産性を高めることができる。例えば、最も利用される可能性が高いフィルタ係数を所定のフィルタ係数としておけば、フィルタ処理プログラムの生成を省略できるケースが増え、生産性を高めることができる。 As described above, according to the second embodiment, since the generation of the specific filter processing program is omitted, the time required for generating the specific filter processing program can be omitted, and the productivity can be improved. For example, if the filter coefficient that is most likely to be used is set as a predetermined filter coefficient, the number of cases where the generation of the filter processing program can be omitted increases, and the productivity can be increased.
(第3実施形態)
第3実施形態では、特定の読取モードのフィルタ処理プログラムの生成を省略する例について説明する。なお以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
(Third embodiment)
In the third embodiment, an example in which generation of a filter processing program in a specific reading mode is omitted will be described. In the following, differences from the first embodiment will be mainly described, and components having the same functions as those in the first embodiment will be given the same names and symbols as those in the first embodiment, and description thereof will be given. Is omitted.
図12は、第3実施形態の複合機300の構成の一例を示すブロック図である。図12に示すように、第3実施形態では、複合機300のコントローラ320のROM321の記憶内容、CPU323の処理内容、複合機300の画像処理装置340のプロセッサ360が判定部362を含む点、生成部363及び実行部365の処理内容、並びにRAM361の記憶内容が第1実施形態と相違する。
FIG. 12 is a block diagram illustrating an example of a configuration of the
ROM321は、図13に示すように、フィルタ処理プログラムの生成に用いられるフィルタ係数として、文字写真モード用フィルタ係数、文字モード用フィルタ係数、写真モード用フィルタ係数、及び地図モード用フィルタ係数を記憶している。
As shown in FIG. 13, the
CPU323は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件が示す読取モード(画像処理対象の画像データの生成モードの一例)が特定読取モード(特定生成モードの一例)であるか否かを判定する。なお第3実施形態では、ユーザが操作表示部110を用いて特定読取モードを文字写真モード、文字モード、写真モード、及び地図モードなどのいずれかに予め設定しているものとする。そしてCPU323は、読取モードが特定読取モードである場合、画像処理装置340の後述の特定読取モードフラグをONに設定し、フィルタ処理プログラムの生成を指示する生成コマンドを画像処理装置340に発行する。一方、CPU323は、読取モードが特定読取モードでない場合、画像処理装置340の特定読取モードフラグをOFFに設定するとともに、読取モードに応じたフィルタ係数をROM321から読み出して画像処理装置340に書き込み、生成コマンドを画像処理装置340に発行する。
When the
RAM361は、データ領域に、原稿の読取モードが特定読取モードであるか否かを示す特定読取モードフラグ(生成モード情報の一例)を更に記憶し、プログラム領域に、特定読取モード用のフィルタ係数に応じたフィルタ処理プログラム(以下、「特定読取モード用フィルタ処理プログラム」と称する)を更に静的に記憶する(配置する)。以下第3実施形態では、特定読取モード用フィルタ処理プログラムを静的に記憶するプログラム領域の記憶領域を固定フィルタ処理プログラム記憶領域と称するものとする。
The
図14は、RAM361に記憶されているデータの一例を示す図である。図14に示す例では、RAM361は、データ領域に、コントローラ320により値がONに設定された特定読取モードフラグを更に記憶しているとともに、プログラム領域(固定フィルタ処理プログラム記憶領域)に、文字モード用フィルタ処理プログラムを更に静的に記憶している。また、データ領域にはコントローラ320からフィルタ係数が書き込まれていない。つまり図14に示す例では、特定読取モードが文字モードとなっている。
FIG. 14 is a diagram illustrating an example of data stored in the
判定部362は、コントローラ320から生成コマンドが発行されると、RAM361のデータ領域に記憶されている特定読取モードフラグを参照して、特定読取モードか否かを判定する。図14に示す例の場合、特定読取モードフラグがONに設定されているため、判定部362は、特定読取モードと判定する。
When the generation command is issued from the
判定部362により特定読取モードと判定されなかったとする。この場合、生成部363は、RAM361のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM361の可変フィルタ処理プログラム記憶領域に生成し、実行対象に設定する。一方、判定部362により特定読取モードと判定された場合、生成部363は、フィルタ処理プログラムの生成を省略し、RAM361の固定フィルタ処理プログラム記憶領域に記憶されている特定読取モード用フィルタ処理プログラムを実行対象に設定する。従って図14に示す例の場合、生成部363は、フィルタ処理プログラムを生成しない。
Assume that the
判定部362により特定読取モードと判定されなかったとする。この場合、実行部365は、コントローラ320から発行された実行コマンドに従い、生成部363により生成されたフィルタ処理プログラム、即ち、RAM361の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。一方、判定部362により特定読取モードと判定された場合、実行部365は、RAM361の固定フィルタ処理プログラム記憶領域に記憶されている特定読取モード用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。従って図14に示す例の場合、実行部365は、RAM361のプログラム領域(固定フィルタ処理プログラム記憶領域)に記憶されている文字モード用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる。
Assume that the
図15は、第3実施形態の複合機300で行われるフィルタ処理の手順の流れの一例を示すフローチャートである。 FIG. 15 is a flowchart illustrating an example of a flow of a filtering process performed by the multifunction peripheral 300 according to the third embodiment.
まず、CPU323は、操作表示部110から原稿の読取条件の入力を受け付けると、受け付けた読取条件が示す読取モードが特定読取モードであるか否かを判定する(ステップS300)。
First, when receiving an input of a document reading condition from the
CPU323は、読取モードが特定読取モードである場合(ステップS300でYes)、RAM361のデータ領域に記憶されている特定読取モードフラグをONに設定し、生成コマンドを画像処理装置340に発行する(ステップS302)。一方、CPU323は、読取モードが特定読取モードでない場合(ステップS300でNo)、RAM361のデータ領域に記憶されている特定読取モードフラグをOFFに設定するとともに、読取モードに応じたフィルタ係数をROM321から読み出してRAM361のデータ領域に書き込み、生成コマンドを画像処理装置340に発行する(ステップS304)。
When the reading mode is the specific reading mode (Yes in step S300), the
続いて、判定部362は、CPU323から生成コマンドが発行されると、RAM361のデータ領域に記憶されている特定読取モードフラグを参照して、特定読取モードか否かを判定する(ステップS306)。
Subsequently, when the generation command is issued from the
特定読取モードフラグがOFFに設定されており、判定部362により特定読取モードと判定されなかったとする(ステップS306でNo)。この場合、生成部363は、RAM361のデータ領域に書き込まれたフィルタ係数及びプログラム領域に記憶されているフィルタ処理プログラム生成プログラムを用いて、フィルタ係数に応じたフィルタ処理プログラムをRAM361の可変フィルタ処理プログラム記憶領域に生成する(ステップS308)。一方、特定読取モードフラグがONに設定されており、判定部362により特定読取モードと判定された場合(ステップS306でYes)、生成部363は、ステップS308の処理を行わない。
It is assumed that the specific reading mode flag is set to OFF and the
続いて、CPU323は、操作表示部110から原稿の読取開始の入力を受け付けると、画像処理装置340に実行コマンドを発行するなど、スキャナ130、画像処理装置340、及びプロッタ170に読取条件に応じた原稿の複写を指示する。そして実行部365は、CPU323からの実行コマンドに従い、生成部363によりフィルタ処理プログラムが生成されている場合には、RAM361の可変フィルタ処理プログラム記憶領域に記憶されているフィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS310)。一方、生成部363によりフィルタ処理プログラムが生成されていない場合には、実行部365は、RAM361の固定フィルタ処理プログラム記憶領域に記憶されている特定読取モード用フィルタ処理プログラムを実行して画像処理部150にフィルタ処理を行わせる(ステップS312)。
Subsequently, when the
以上のように第3実施形態によれば、特定の読取モードのフィルタ処理プログラムの生成を省略するので、特定の読取モードのフィルタ処理プログラムの生成に要する時間を省略することができ、生産性を高めることができる。例えば、ユーザにより利用される可能性が最も高い読取モードを予め特定読取モードに設定しておけば、フィルタ処理プログラムの生成を省略できるケースが増え、生産性を高めることができる。 As described above, according to the third embodiment, since the generation of the filter processing program for the specific reading mode is omitted, the time required for generating the filter processing program for the specific reading mode can be omitted, and productivity can be reduced. Can be increased. For example, if the reading mode most likely to be used by the user is set in advance as the specific reading mode, the number of cases where the generation of the filter processing program can be omitted increases, and the productivity can be improved.
(変形例)
なお、本発明は、上記実施形態に限定されるものではなく、種々の変形が可能である。
(Modification)
In addition, this invention is not limited to the said embodiment, A various deformation | transformation is possible.
(変形例1)
上記各実施形態において、生成部は、複数種類の乗数の値が同一である場合、被乗数を加算してから乗算をビットシフトと加減算との組み合わせに展開してフィルタ処理プログラムを生成するようにしてもよい。
(Modification 1)
In each of the above embodiments, when a plurality of types of multiplier values are the same, the generation unit adds the multiplicands and then expands the multiplication into a combination of bit shift and addition / subtraction to generate a filter processing program. Also good.
例えば数式(2)において、Dx(y−1)及びDx(y+1)の乗数は1であり、D(x−1)y及びD(x+1)yの乗数は2であるので、生成部は、被乗数を加算した数式(3)を算出し、算出した数式(3)からフィルタ処理プログラムを生成するようにしてもよい。 For example, in Equation (2), the multipliers of Dx (y−1) and Dx (y + 1) are 1, and the multipliers of D (x−1) y and D (x + 1) y are 2, so the generation unit is Formula (3) obtained by adding the multiplicand may be calculated, and a filter processing program may be generated from the calculated formula (3).
Doutxy=Dxy+((Dx(y−1)+Dx(y+1))*1+(D(x−1)y+D(x+1)y)*2−Dxy*6)/8 …(3) D out xy = 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)からフィルタ処理プログラムを生成するようにしてもよい。 In addition, in Formula (1), when A = 1, B = 1, and M = 8, the generation unit calculates Formula (4) obtained by adding the multiplicand, and calculates a filter processing program from the calculated Formula (4). You may make it produce | generate.
Doutxy=Dxy+((Dx(y−1)+Dx(y+1)+D(x−1)y+D(x+1)y)*1−Dxy*4)/8 …(4) D out xy = Dxy + (( Dx (y-1) + Dx (y + 1) + D (x-1) y + D (x + 1) y) * 1-Dxy * 4) / 8 ... (4)
このようにすれば、フィルタ処理プログラムのステップ数を更に削減することができる。 In this way, the number of steps of the filter processing program can be further reduced.
(変形例2)
上記各実施形態において、フィルタ係数にフィルタ係数の係数値だけでなく、平滑強度の強度値及びフィルタ係数及び平滑強度いずれかを指定する指定情報を含め、生成部は、指定情報で指定された情報(フィルタ係数or平滑強度)の値(係数値or強度値)を用いてフィルタ処理を行うようにしてもよい。
(Modification 2)
In each of the above embodiments, the generation unit includes not only the coefficient value of the filter coefficient but also the specification information specifying the smoothing strength value and any one of the filter coefficient and the smoothing strength in the filter coefficient. Filter processing may be performed using the value of (filter coefficient or smoothness intensity) (coefficient value or intensity value).
図16は、フィルタ係数の一例を示す図であり、図17は、平滑強度の強度値が1の場合の平滑係数の一例を示す図であり、図18は、平滑強度の強度値が2の場合の平滑係数の一例を示す図であり、図19は、平滑強度の強度値が3の場合の平滑係数の一例を示す図であり、図20は、平滑強度の強度値が4の場合の平滑係数の一例を示す図であり、図21は、平滑強度の強度値が5の場合の平滑係数の一例を示す図である。 FIG. 16 is a diagram illustrating an example of the filter coefficient, FIG. 17 is a diagram illustrating an example of the smoothing coefficient when the intensity value of the smoothing intensity is 1, and FIG. 19 is a diagram illustrating an example of the smoothing coefficient, FIG. 19 is a diagram illustrating an example of the smoothing coefficient when the smoothness intensity value is 3, and FIG. FIG. 21 is a diagram illustrating an example of the smoothing coefficient, and FIG. 21 is a diagram illustrating an example of the smoothing coefficient when the intensity value of the smoothing strength is 5.
生成部は、フィルタ処理プログラムを生成する際に、フィルタ係数に含まれる指定情報を確認し、指定情報がフィルタ係数を指定していれば、フィルタ係数の係数値に応じた乗算のフィルタ処理プログラムを生成する。一方、生成部は、指定情報が平滑強度を指定していれば、平滑強度の強度値に応じた平滑係数の加算のフィルタ処理プログラムを生成する。 When generating the filter processing program, the generation unit confirms the designation information included in the filter coefficient. If the designation information designates the filter coefficient, the generation unit executes a filter processing program for multiplication according to the coefficient value of the filter coefficient. Generate. On the other hand, if the designation information designates the smoothness intensity, the generation unit generates a filter processing program for adding a smoothing coefficient corresponding to the intensity value of the smoothness intensity.
平滑強度に応じた平滑係数を用意しておくことで、マトリクスサイズの制限なく平滑フィルタのフィルタ処理プログラムを生成することができる。 By preparing a smoothing coefficient corresponding to the smoothing strength, a filter processing program for a smoothing filter can be generated without any limitation on the matrix size.
(変形例3)
上記第3実施形態において、コントローラが、過去に画像処理された画像データの読取モードの履歴に応じて、特定読取モード及び特定読取モード用フィルタ処理プログラムを更新するようにしてもよい。
(Modification 3)
In the third embodiment, the controller may update the specific reading mode and the filtering process program for the specific reading mode in accordance with the history of the reading mode of the image data subjected to image processing in the past.
例えば、CPUは、コントローラのRAMに過去100枚分の原稿の読取モードを履歴しておき、最も使用頻度の高い読取モードを特定読取モードに設定しておくようにする。CPUは、特定読取モードを設定した場合、当該特定読取モードに応じた特定読取モード用フィルタ処理プログラムでプロセッサのRAMのプログラム領域に静的に記憶されている特定読取モード用フィルタ処理プログラムを更新する。なお、新たな原稿の読取モードが履歴されると、最も古い原稿の読取モードの履歴が破棄される。 For example, the CPU records the past 100 document reading modes in the controller's RAM, and sets the most frequently used reading mode to the specific reading mode. When the specific reading mode is set, the CPU updates the specific reading mode filter processing program statically stored in the program area of the processor RAM with the specific reading mode filter processing program corresponding to the specific reading mode. . When a new document reading mode is recorded, the oldest document reading mode history is discarded.
(変形例4)
上記各実施形態及び上記各変形例は適宜組み合わせることができる。
(Modification 4)
Each said embodiment and each said modification can be combined suitably.
(ハードウェア構成)
上記各実施形態及び変形例の複合機のハードウェア構成の一例について説明する。
(Hardware configuration)
An example of the hardware configuration of the multifunction machine of each of the above embodiments and modifications will be described.
図22は、上記各実施形態及び変形例の複合機のハードウェア構成の一例を示すブロック図である。なお、図22では、コントローラ120、320をコントローラ910と称し、ROM121、321をROM912aと称し、CPU123、323をCPU911と称し、RAM125をRAM912bと称し、画像処理装置140、240、340をASIC916と称する。
FIG. 22 is a block diagram illustrating an example of a hardware configuration of the MFP according to each of the embodiments and the modifications. In FIG. 22, the
図22に示すように、上記各実施形態及び変形例の複合機は、コントローラ910とエンジン部(Engine)960とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。コントローラ910は、複合機全体の制御、描画、通信、及び操作表示部920からの入力を制御するコントローラである。エンジン部960は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部960には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
As shown in FIG. 22, the MFPs of the above embodiments and modifications have a configuration in which a
コントローラ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とをさらに有する。
The
CPU911は、複合機の全体制御をおこなうものであり、NB913、MEM−P912およびSB914からなるチップセットを有し、このチップセットを介して他の機器と接続される。
The
NB913は、CPU911とMEM−P912、SB914、AGPバス915とを接続するためのブリッジであり、MEM−P912に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
The
MEM−P912は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM912aとRAM912bとからなる。ROM912aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM912bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
The MEM-
SB914は、NB913とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB914は、PCIバスを介してNB913と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部なども接続される。
The
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に直接接続されている。
The
MEM−C917は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD918は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
The MEM-
AGPバス915は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P912に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
The
なお、上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムは、ROM等に予め組み込まれて提供される。 Note that a program executed by the processor of the multifunction machine of each of the above embodiments and modifications is provided by being incorporated in advance in a ROM or the like.
上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記録して提供するように構成してもよい。 The program executed by the processor of the MFP of each of the above embodiments and modifications is a CD-ROM, flexible disk (FD), CD-R, DVD (Digital Versatile Disk) in an installable or executable format file. ) Or the like may be recorded and provided on a computer-readable storage medium.
さらに、上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上記各実施形態及び変形例の複合機で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。 Further, the program executed by the processor of the multifunction device of each of the above embodiments and modifications may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. good. Further, the program executed by the MFPs of the above embodiments and modifications may be provided or distributed via a network such as the Internet.
上記各実施形態及び変形例の複合機のプロセッサで実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしてはプロセッサがROMからプログラムをRAM上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。 The program executed by the processor of the multifunction machine of each of the above embodiments and modifications has a module configuration for realizing the above-described units on a computer. As actual hardware, a processor reads out a program from a ROM onto a RAM and executes it, so that the above-described units are realized on a computer.
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 エンジン部
100, 200, 300
123, 323 CPU
125 RAM
130
163, 263, 363
912
912b RAM
913
917
940 USB
950
Claims (10)
前記パラメータ及び前記生成プログラムを用いて、前記パラメータに応じた可変画像処理プログラムを生成する生成手段と、
前記可変画像処理プログラムを実行して画像処理を行わせる実行手段と、
を備えることを特徴とする画像処理装置。 Storage means having a data area for storing parameters written from the control device and a program area for storing a generation program for generating an image processing program;
Generating means for generating a variable image processing program according to the parameter using the parameter and the generating program;
Execution means for executing the variable image processing program to perform image processing;
An image processing apparatus comprising:
前記パラメータが前記所定パラメータと同一であるか否かを判定する判定手段を更に備え、
前記生成手段は、前記パラメータが前記所定パラメータと同一でない場合、前記可変画像処理プログラムを生成し、
前記実行手段は、前記パラメータが前記所定パラメータと同一でない場合、前記可変画像処理プログラムを実行して画像処理を行わせ、前記パラメータが前記所定パラメータと同一である場合、前記固定画像処理プログラムを実行して画像処理を行わせることを特徴とする請求項1に記載の画像処理装置。 The storage means further stores a fixed image processing program according to a predetermined parameter in the program area,
Determination means for determining whether or not the parameter is the same as the predetermined parameter;
The generating means generates the variable image processing program when the parameter is not the same as the predetermined parameter,
The execution means executes the variable image processing program to perform image processing when the parameter is not the same as the predetermined parameter, and executes the fixed image processing program when the parameter is the same as the predetermined parameter. The image processing apparatus according to claim 1, wherein image processing is performed.
前記生成モード情報が前記特定生成モードを示すか否かを判定する判定手段を更に備え、
前記生成手段は、前記生成モード情報が前記特定生成モードを示さない場合、前記可変画像処理プログラムを生成し、
前記実行手段は、前記生成モード情報が前記特定生成モードを示さない場合、前記可変画像処理プログラムを実行して画像処理を行わせ、前記生成モード情報が前記特定生成モードを示す場合、前記固定画像処理プログラムを実行して画像処理を行わせることを特徴とする請求項1に記載の画像処理装置。 The storage means further stores generation mode information indicating whether the generation mode of image data to be processed is a specific generation mode, which is information written from the control device to the data area. A fixed image processing program according to the specific generation mode is stored in a program area,
A determination means for determining whether or not the generation mode information indicates the specific generation mode;
The generation means generates the variable image processing program when the generation mode information does not indicate the specific generation mode,
The execution means executes image processing by executing the variable image processing program when the generation mode information does not indicate the specific generation mode, and executes the variable image processing program when the generation mode information indicates the specific generation mode. The image processing apparatus according to claim 1, wherein the image processing is performed by executing a processing program.
前記データは、フィルタ係数の係数値と平滑強度の強度値と前記フィルタ係数及び前記平滑強度いずれかを指定する指定情報とを含み、
前記生成手段は、前記指定情報で指定された情報の値及び前記生成プログラムを用いて、前記フィルタ演算プログラムを生成することを特徴とする請求項1〜6のいずれか1つに記載の画像処理装置。 The variable image processing program is a filter operation program,
The data includes a coefficient value of a filter coefficient, an intensity value of a smoothing intensity, and designation information that specifies either the filter coefficient or the smoothing intensity,
The image processing according to claim 1, wherein the generation unit generates the filter calculation program using a value of information specified by the specification information and the generation program. apparatus.
前記パラメータを記憶する不揮発性の記憶手段と、
前記パラメータを前記画像処理装置の前記記憶手段に書き込む書込手段と、
を備えることを特徴とする画像形成装置。 An image processing apparatus according to any one of claims 1 to 7,
Non-volatile storage means for storing the parameters;
Writing means for writing the parameter to the storage means of the image processing apparatus;
An image forming apparatus comprising:
前記画像処理装置は、
制御装置から書き込まれるパラメータを記憶するデータ領域と、画像処理プログラムを生成するための生成プログラムを記憶するプログラム領域と、を有する記憶手段を備え、
生成手段が、前記パラメータ及び前記生成プログラムを用いて、前記パラメータに応じた可変画像処理プログラムを生成する生成ステップと、
実行手段が、前記可変画像処理プログラムを実行して画像処理を行わせる実行ステップと、
を含むことを特徴とする画像処理方法。 An image processing method executed by an image processing apparatus,
The image processing apparatus includes:
A storage unit having a data area for storing parameters written from the control device and a program area for storing a generation program for generating an image processing program;
A generating step for generating a variable image processing program corresponding to the parameter using the parameter and the generating program;
An execution step of executing the variable image processing program to perform image processing;
An image processing method comprising:
前記パラメータ及び前記生成プログラムを用いて、前記パラメータに応じた可変画像処理プログラムを生成する生成ステップと、
前記可変画像処理プログラムを実行して画像処理を行わせる実行ステップと、
を実行させるための画像処理プログラム。 A computer comprising storage means having a data area for storing parameters written from the control device and a program area for storing a generation program for generating an image processing program,
A generation step for generating a variable image processing program according to the parameter using the parameter and the generation program;
An execution step of executing the variable image processing program to perform image processing;
An image processing program for executing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010157108A JP5609341B2 (en) | 2010-07-09 | 2010-07-09 | Image processing apparatus, image forming apparatus, image processing method, and image processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010157108A JP5609341B2 (en) | 2010-07-09 | 2010-07-09 | Image processing apparatus, image forming apparatus, image processing method, and image processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012019478A true JP2012019478A (en) | 2012-01-26 |
JP5609341B2 JP5609341B2 (en) | 2014-10-22 |
Family
ID=45604352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010157108A Expired - Fee Related JP5609341B2 (en) | 2010-07-09 | 2010-07-09 | Image processing apparatus, image forming apparatus, image processing method, and image processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5609341B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1084475A (en) * | 1996-09-09 | 1998-03-31 | Sharp Corp | Image area discrimination method and image-processing unit |
JP2003216365A (en) * | 2002-01-21 | 2003-07-31 | Ricoh Co Ltd | Image processor and image forming device |
JP2007200246A (en) * | 2006-01-30 | 2007-08-09 | Sharp Corp | Method for evaluating image processing algorithm, method, device, and program for generating same algorithm, and recording medium |
-
2010
- 2010-07-09 JP JP2010157108A patent/JP5609341B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1084475A (en) * | 1996-09-09 | 1998-03-31 | Sharp Corp | Image area discrimination method and image-processing unit |
JP2003216365A (en) * | 2002-01-21 | 2003-07-31 | Ricoh Co Ltd | Image processor and image forming device |
JP2007200246A (en) * | 2006-01-30 | 2007-08-09 | Sharp Corp | Method for evaluating image processing algorithm, method, device, and program for generating same algorithm, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP5609341B2 (en) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6632709B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP5187331B2 (en) | Image processing apparatus, image processing method, and computer program | |
CN108475213B (en) | Image processing apparatus, image processing method, and image processing program | |
JP2011118779A (en) | Image processing apparatus and control method thereof | |
JP2019205128A5 (en) | ||
JP2019205128A (en) | Image processing apparatus and image forming apparatus | |
WO2017163591A1 (en) | Image processing device, image processing method, and image processing program | |
JP5609341B2 (en) | Image processing apparatus, image forming apparatus, image processing method, and image processing program | |
JP2008236169A (en) | Image processor, image processing method, and image processing program | |
US8724161B2 (en) | Method, apparatus, and computer program product for processing image data of plural images to combine for output to a recording medium | |
JP2007235384A (en) | Image processing apparatus, image processing method, image processing program, and recording medium | |
JP6015173B2 (en) | PRINT SERVER, PRINT SYSTEM, PRINT PROCESSING METHOD, AND PROGRAM | |
JP7114807B2 (en) | Image processing device, image processing method, and image processing program | |
JP6600077B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP5560785B2 (en) | Information processing apparatus, image forming apparatus, and information processing method | |
JP2006287609A (en) | Image composite apparatus and image composite processing program | |
JP5753370B2 (en) | Image processing apparatus, method, and program | |
JP2006260093A (en) | Printer driver, image formation device, printing method, and document print program | |
JP5834401B2 (en) | Image forming apparatus, image forming method, and image forming program | |
JP2010141608A (en) | Image processing method, image processor, image processing program, and recording medium | |
JP4516336B2 (en) | Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium | |
JP2021150869A (en) | Information processing device, determination method, and program | |
JP2005175946A (en) | Image forming apparatus | |
JP2003224716A (en) | Image processing system | |
JP2003346139A (en) | Image processor, image processing method, and computer- readable recording medium having program for running the method on computer recorded therein |
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 |