JP4661704B2 - Image processing apparatus, image forming apparatus, and program - Google Patents
Image processing apparatus, image forming apparatus, and program Download PDFInfo
- Publication number
- JP4661704B2 JP4661704B2 JP2006184768A JP2006184768A JP4661704B2 JP 4661704 B2 JP4661704 B2 JP 4661704B2 JP 2006184768 A JP2006184768 A JP 2006184768A JP 2006184768 A JP2006184768 A JP 2006184768A JP 4661704 B2 JP4661704 B2 JP 4661704B2
- Authority
- JP
- Japan
- Prior art keywords
- gradation data
- data
- memory
- image processing
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
本発明は、画像処理装置、画像形成装置およびプログラムに関する。 The present invention relates to an image processing apparatus, an image forming apparatus, and a program.
画像データに対してフィルタ処理を行う画像処理装置においては、フィルタサイズに応じた容量のメモリを備える構成が一般的である。このようなメモリは、ラインメモリやラインバッファと呼ばれる。例えば、フィルタサイズが5×5(画素)である場合には、4行分または5行分のラインメモリを設けることが多い(図13参照)。
ところで、上述の従来例のような構成においては、それぞれのラインメモリにはそれぞれの行に応じた画像データが記憶される。このような構成においては、フィルタサイズが大きくなるほど、多くのラインメモリを備える必要があった。また、画像データのサイズやフィルタサイズが変化した場合には、有効に使用されない記憶領域がラインメモリに生じることがあった。 By the way, in the configuration as in the above-described conventional example, image data corresponding to each row is stored in each line memory. In such a configuration, it is necessary to provide more line memories as the filter size increases. In addition, when the size of the image data or the filter size is changed, a storage area that is not effectively used may be generated in the line memory.
一方、特許文献1には、1個のラインメモリで所定のフィルタ効果を得るための発明が開示されている。しかしながら、特許文献1に記載の発明は特定のフィルタにのみ適用可能なものであるため、汎用性に乏しいという不都合がある。
On the other hand,
本発明はかかる事情に鑑みてなされたものであり、その目的は、画像処理装置において、種々のフィルタ演算に適用可能であり、かつ、メモリを効率良く使用することを可能にする技術を提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide a technique that can be applied to various filter operations in an image processing apparatus and that can efficiently use a memory. There is.
上述の目的を達成するために、本発明は、行方向および列方向に配列されることにより所定の画像を表す複数の階調データを記憶する記憶装置から、前記行方向に連続する前記階調データを順番に読み出す第1の処理を行い、前記第1の処理を前記列方向に連続する各行に対して順番に行ってフィルタ演算を実行する画像処理装置であって、少なくともm−1(mは、m≧2を満たす整数)個の前記階調データを連続的に読み出し可能に記憶する記憶領域を少なくともn(nは、n≧1を満たす整数)個有する記憶手段と、前記記憶装置から読み出された階調データおよび前記記憶手段に記憶された階調データに対して、m行n列のフィルタ係数の集合によるフィルタ演算を実行する演算手段と、前記記憶手段に対する前記階調データの読み出しおよび書き込みと、前記演算手段に対する前記階調データの入力とを制御する制御手段とを備え、前記制御手段は、列方向に連続するm個の前記階調データのうち、1番目からm−1番目までのm−1個の階調データを前記記憶領域に書き込み、前記m−1番目の階調データに連続するm番目の階調データが前記記憶装置から読み出されると、前記記憶領域に記憶された1番目からm−1番目までのm−1個の階調データを読み出し、これらm個の階調データを前記演算手段に入力する第2の処理を、少なくともn個の列に対して行方向に順番に実行することを特徴とする画像処理装置を提供する。 In order to achieve the above-mentioned object, the present invention provides the gradations that are continuous in the row direction from a storage device that stores a plurality of gradation data representing a predetermined image by being arranged in the row direction and the column direction. An image processing device that performs a filter operation by performing a first process of sequentially reading data, performing the first process sequentially on each row in the column direction, and at least m−1 (m Is a storage means having at least n (n is an integer satisfying n ≧ 1) storage areas for continuously reading out the gray scale data satisfying m ≧ 2, and from the storage device An arithmetic means for executing a filter operation on the read gradation data and the gradation data stored in the storage means by a set of filter coefficients of m rows and n columns, and the gradation data of the storage means reading And control means for controlling the input of the gradation data to the arithmetic means, the control means from the first to m− of the m pieces of gradation data continuous in the column direction. writes m-1 pieces of gradation data to the first in the storage area, the m-th gray-scale data to be continuous with the (m-1) th gray-scale data is read from the storage device, in the storage area The second process of reading the stored m-1 grayscale data from the first to the m-1th and inputting these m grayscale data to the calculation means is performed for at least n columns. to provide an image processing apparatus according to claim execution to Rukoto in order in the row direction Te.
この態様において、前記記憶手段は、複数のメモリによって構成されていてもよい。例えば、前記記憶手段が2つのメモリ(第1のメモリと第2のメモリ)を備え、前記制御手段が、前記1番目からm−1番目までの階調データのうち、1番目からx−1番目(xは、2<x<m−1を満たす整数)までの階調データを前記第1のメモリに書き込むとともに、x番目からm−1番目までの階調データを前記第2のメモリに書き込み、前記m個の階調データを前記演算手段に入力した後に、前記1番目からx−1番目までの階調データが読み出された前記第1のメモリの記憶領域に、2番目からx−1番目までの階調データと、x番目の階調データとを書き込むとともに、前記x番目からm−1番目までの階調データが読み出された前記第2のメモリの記憶領域に、x+1番目からm−1番目までの階調データと、前記入力手段に入力されたm番目の階調データとを書き込む構成であってもよい。
また、前記記憶手段が3つ以上のメモリを備える構成としてもよい。すなわち、前記記憶手段は、少なくとも第1のメモリと第2のメモリとを備え、前記制御手段は、前記1番目からm−1番目までの階調データのうち、1番目からx−1番目(xは、2<x<m−1を満たす整数)までの階調データを前記第1のメモリに書き込むとともに、x番目からy番目(yは、x<y<m−1を満たす整数)までの階調データを前記第2のメモリに書き込み、前記m個の階調データを前記演算手段に入力した後に、前記1番目からx−1番目までの階調データが読み出された前記第1のメモリの記憶領域に、2番目からx−1番目までの前記階調データと、x番目の階調データとを書き込むとともに、前記x番目からy番目までの階調データが読み出された前記第2のメモリの記憶領域に、x+1番目からy番目までの階調データと、y+1番目の階調データとを書き込む構成であってもよい。
In this aspect, the storage means may be composed of a plurality of memories. For example, the storage means includes two memories (a first memory and a second memory), and the control means starts from the first to x−1 of the first to m−1 gradation data. The gradation data up to the number (x is an integer satisfying 2 <x <m−1) are written in the first memory, and the gradation data from the xth to the m−1th are stored in the second memory. After writing and inputting the m number of gradation data to the arithmetic means, the second to xth storage areas of the first memory from which the first to x−1th gradation data are read are read. -1th gradation data and xth gradation data are written, and x + 1 to m-1th gradation data are read into the storage area of the second memory where x + 1 is read. To m-1st gradation data and the input means A configuration for writing and input m-th gray-scale data may be.
The storage unit may include three or more memories. In other words, the storage means includes at least a first memory and a second memory, and the control means includes the first to x−1th (of the first to m−1th gradation data). x is an integer satisfying 2 <x <m−1) and gradation data is written in the first memory, and xth to yth (y is an integer satisfying x <y <m−1). Are written in the second memory and the m pieces of gradation data are input to the arithmetic means, and then the first to x−1th gradation data are read out. The gradation data from the 2nd to the (x-1) th and the xth gradation data are written into the storage area of the memory, and the gradation data from the xth to the yth are read out. X + 1 to yth in the storage area of the second memory And tone data, may be configured to write and y + 1 th gray-scale data.
なお、上述した複数のメモリを備える構成においては、例えば、「2番目からx−1番目までの階調データ」や「x+1番目からm−1番目までの階調データ」などが、1個の階調データとなることを妨げない。具体的には、例えば、前記mが「5」であり、前記xが「3」である場合には、前記制御手段は、1番目から2(x−1)番目の階調データを前記第1のメモリに書き込むとともに、3(x)番目から4(m−1)番目の階調データを前記第2のメモリに書き込み、5(m)個の階調データを前記演算手段に入力した後に、1番目から2(x−1)番目までの階調データが読み出された前記第1のメモリの記憶領域に、2(x−1)番目の階調データと、3(x)番目の階調データとを書き込むとともに、3(x)番目から4(m−1)番目までの階調データが読み出された前記第2のメモリの記憶領域に、4(x+1、m−1)番目の階調データと、前記入力手段に入力された5番目の階調データとを書き込む、といったようになる。すなわち、この場合においては、「2番目からx−1番目までの階調データ」は「2番目の階調データ」と同意であり、「x+1番目からm−1番目までの階調データ」は「4番目の階調データ」と同意である。 In the configuration including the plurality of memories described above, for example, “second to x−1th gradation data”, “x + 1 to m−1th gradation data”, etc. It does not interfere with the gradation data. Specifically, for example, when the m is “5” and the x is “3”, the control unit converts the first to 2 (x−1) -th gradation data into the first. After writing to 1 memory and writing 3 (x) th to 4 (m−1) th gradation data to the second memory, and inputting 5 (m) gradation data to the computing means. In the storage area of the first memory from which the first to 2 (x−1) th gradation data is read, the 2 (x−1) th gradation data and the 3 (x) th gradation data are stored. The gradation data is written, and the 4 (x + 1, m−1) th is stored in the storage area of the second memory from which the 3 (x) th to 4 (m−1) th gradation data is read. And the fifth gradation data input to the input means are written. In other words, in this case, “second to x−1th gradation data” is the same as “second gradation data”, and “x + 1th to m−1th gradation data” is This is the same as “4th gradation data”.
また、本発明は、上述した形態と異なる形態によっても提供され得る。例えば、本発明は、上述の画像処理装置を備える画像形成装置の形態によって提供されることも可能であるし、また、上述の画像処理装置が有する機能を実現させるためのプログラムの形態で提供されることも可能である。例えば、本発明に係るプログラムには、行方向および列方向に配列されることにより所定の画像を表す複数の階調データを記憶する記憶装置から、前記行方向に連続する前記階調データを順番に読み出す第1の処理を行い、前記第1の処理を前記列方向に連続する各行に対して順番に行ってフィルタ演算を実行する画像処理装置のコンピュータを、少なくともm−1(mは、m≧2を満たす整数)個の前記階調データを連続的に読み出し可能に記憶する記憶領域を少なくともn(nは、n≧1を満たす整数)個有する記憶手段と、前記記憶装置から読み出された階調データおよび前記記憶手段に記憶された階調データに対して、m行n列のフィルタ係数の集合によるフィルタ演算を実行する演算手段と、前記記憶手段に対する前記階調データの読み出しおよび書き込みと、前記演算手段に対する前記階調データの入力とを制御し、列方向に連続するm個の前記階調データのうち、1番目からm−1番目までのm−1個の階調データを前記記憶領域に書き込み、前記m−1番目の階調データに連続するm番目の階調データが前記記憶装置から読み出されると、前記記憶領域に記憶された1番目からm−1番目までのm−1個の階調データを読み出し、これらm個の階調データを前記演算手段に入力する第2の処理を、少なくともn個の列に対して行方向に順番に実行する制御手段として機能させることを特徴とするものがある。 The present invention can also be provided in a form different from the form described above. For example, the present invention can be provided in the form of an image forming apparatus including the above-described image processing apparatus, and is also provided in the form of a program for realizing the functions of the above-described image processing apparatus. It is also possible. For example, in the program according to the present invention, the gradation data continuous in the row direction is sequentially ordered from a storage device that stores a plurality of gradation data representing a predetermined image by being arranged in the row direction and the column direction. The computer of the image processing apparatus that performs the filter operation by performing the first processing to be read in the above and sequentially performing the first processing on each row continuous in the column direction, Storage means having at least n (n is an integer satisfying n ≧ 1) storage areas for continuously reading out the gradation data of integers satisfying ≧ 2 and read from the storage device against gradation data and the storage means the stored gray-scale data, operating means for executing a filtering operation by a set of filter coefficients of m rows and n columns, the gradation data to the storage means The reading and writing and the input of the gradation data to the arithmetic means are controlled, and among the m number of gradation data continuous in the column direction, m-1 floors from the 1st to the m-1st. When tone data is written in the storage area , and the mth tone data continuous to the m-1st tone data is read from the storage device, the first to m-1th stored in the storage region reads the m-1 pieces of gradation data to the second process of inputting these m pieces of gradation data to the arithmetic unit, run in sequence in the row direction with respect to at least n columns Some of them are characterized by functioning as control means.
本発明によれば、画像処理装置において、メモリを効率良く使用しつつも、種々のフィルタ演算に適用することが可能となる。 According to the present invention, an image processing apparatus can be applied to various filter operations while efficiently using a memory.
以下、本発明の実施の形態について図面を参照しつつ説明する。なお、以下に説明する実施形態においては、「階調データ」とは、階調を表す8ビット(すなわち256階調)のモノクロデータであるとする。また、「画像データ」とは、上述の階調データを行方向および列方向に配列した集合であり、それぞれの階調データが表す階調により所定のグレースケール画像を表すデータであるとする。 Embodiments of the present invention will be described below with reference to the drawings. In the embodiment described below, “gradation data” is assumed to be 8-bit (that is, 256 gradations) monochrome data representing a gradation. The “image data” is a set in which the above-described gradation data is arranged in the row direction and the column direction, and is data representing a predetermined grayscale image by gradations represented by the respective gradation data.
[第1実施形態]
図1は、本発明の第1の実施形態である画像形成装置100の構成を示すブロック図であり、図2は、この画像形成装置100が備える画像処理装置200の構成を示すブロック図である。図1に示すように、画像形成装置100は、画像読取部1と、画像加工部2と、画像形成部3とを備える。画像読取部1はいわゆるスキャナの機能を有し、原稿を光学的に読み取って画像データを生成する。画像加工部2は、画像読取部1により生成された画像データに対して種々の画像処理を実行する。画像形成部3はいわゆるプリンタの機能を有し、画像加工部2により画像処理が実行された画像データに応じた画像を用紙等のシート状物に形成する。
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration of an
画像処理装置200は、画像加工部2の一部を構成するものである。図2に示すように、画像処理装置200は、画像メモリ10と、画像処理部20と、制御部30とを備え、これらの各部はバス40によって互いに接続されている。画像メモリ10は、1ページ分または1ページを所定のバンド単位で分割した分の階調データを記憶する。画像メモリ10としては、例えばDRAM(Dynamic Random Access Memory)を用いることができる。画像処理部20は、加算器やシフト演算器などにより構成され、画像メモリ10からバス40を介して階調データの入力を受け付けて、所定のフィルタ演算を実行する。制御部30はCPU(Central Processing Unit)、ROM(Read Only Memory)およびRAM(Random Access Memory)等を備えた演算装置であり、CPUがRAMをワークエリアとして用いながらROMに記憶されたプログラムを実行し、これにより画像処理装置200全体の動作を制御する。なお、制御部30は、画像形成装置100全体の動作を制御するものであってもよい。
The
ここで、画像処理部20の詳細な構成を図3に示す。同図に示すように、画像処理部20は、フリップフロップ(FF)201と、シフト演算器202と、OR演算器203と、RAM204と、フリップフロップ205と、選択スイッチ206と、シフト演算器207a、207b、207c、207dおよび207eと、加算器208aおよび208bと、フリップフロップ209と、加算器210と、フリップフロップ211a、211b、211c、211dおよび211eと、シフト演算器212a、212b、212c、212dおよび212eと、加算器213と、除算器214とを備える。なお、同図に示す矢印は、データの流れを表している。また、同図においてシフト演算器のブロックに示す数字は、その演算器におけるシフト演算のビット数を表している。
Here, the detailed configuration of the
フリップフロップ201は、8ビット分のデータを保持可能な記憶回路である。フリップフロップ201に保持されたデータは、シフト演算器207eとOR演算器203とに供給される。シフト演算器202は、フリップフロップ205から供給される16ビットのデータに対して、左方向に8ビットのシフト演算(ビットシフト)を行う演算回路である。なお、このとき桁あふれする上位8ビットのデータは、演算結果に影響を与えない(すなわち無視される)。つまり、シフト演算器202は、例えば二進数で「1111111111111111」なるデータが供給された場合には、二進数で「1111111100000000」なるデータを出力する。OR演算器203は、フリップフロップ201または205からのデータとシフト演算器202からのデータの論理和を出力する演算回路である。つまり、OR演算器203は、例えばフリップフロップ201から「10101010」、シフト演算器202から「1111111100000000」なる二進数のデータが供給された場合には、二進数で「1111111110101010」なるデータを出力する。
The flip-
RAM204は、フィルタ演算を実行するためのデータを記憶するメモリであり、いわゆるラインメモリに相当する。RAM204は、1ワードあたり16ビットのデータを一時的に保持し、その全体としての記憶容量は、4ライン分の階調データに相当する容量であると望ましい。このようなRAM204としては、例えばSRAM(Static RAM)を用いることができる。
The
フリップフロップ205は、32ビット分のデータを保持可能な記憶回路であり、RAM204から供給されたデータを保持する。選択スイッチ206は、フリップフロップ205から供給されるデータを選択的に振り分ける回路である。選択スイッチ206は、シフト演算器207a、207b、207cおよび207dに対して、連続する8ビットのデータを供給する。
The flip-
シフト演算器207a、207b、207c、207dおよび207eは、それぞれ、左方向に所定のビット数のシフト演算を実行する演算回路である。シフト演算器207a、207b、207c、207dおよび207eのそれぞれにおけるシフト演算のビット数は、画像処理装置200が実現するフィルタ演算に相当するフィルタのフィルタ係数に応じて決められるが、詳細については後述する。本実施形態においては、それぞれのシフト演算器におけるシフト演算のビット数は、シフト演算器207aが「0」、207bが「1」、207cが「2」、207dが「1」、207eが「0」である。なお、ここにおいて、シフト演算のビット数が「0」であるというのは、シフト演算を実行しないことと同意である。本実施形態においては、説明の便宜上、シフト演算のビット数が「0」である部分にもシフト演算器を設けた表示としている。
The
加算器208aは、シフト演算器207aおよび207bによる演算結果を表すデータを加算する演算回路であり、加算器208bは、シフト演算器207c、207dおよび207eによる演算結果を表すデータを加算する演算回路である。フリップフロップ209は、加算器208bによる演算結果を表すデータを保持する記憶回路である。加算器210は、加算器208aから供給されるデータとフリップフロップ209から供給されるデータとを加算する演算回路である。
The
フリップフロップ211a、211b、211c、211dおよび211eは、それぞれ、加算器210から供給されるデータを保持する記憶回路である。フリップフロップ211eは、加算器210から供給されるデータを保持し、加算器210から新たなデータが供給されてきたときには、これを上書きして保持する。なお、上書きされる前にフリップフロップ211eに保持されていたデータは、フリップフロップ211dに供給される。また、フリップフロップ211dは、フリップフロップ211eから供給されるデータを保持し、フリップフロップ211eから新たなデータが供給されてきたときには、これを上書きして保持する。また、フリップフロップ211c、211bおよび211aも同様に動作するが、フリップフロップ211aには、データを供給すべき後段のフリップフロップが存在しない。
The flip-flops 211a, 211b, 211c, 211d, and 211e are storage circuits that hold data supplied from the
シフト演算器212a、212b、212c、212dおよび212eは、それぞれ、左方向に所定のビット数のシフト演算を実行する演算回路である。シフト演算器212a、212b、212c、212dおよび212eのそれぞれにおけるシフト演算のビット数は、シフト演算器207a、207b、207c、207dおよび207eのそれと同様に、画像処理装置200が実現するフィルタ演算に相当するフィルタのフィルタ係数に応じて決められるが、詳細については後述する。本実施形態においては、それぞれのシフト演算器におけるシフト演算のビット数は、シフト演算器212aが「0」、212bが「1」、212cが「2」、212dが「1」、212eが「0」である。なお、ここにおいても、シフト演算のビット数が「0」であるというのは、シフト演算を実行しないことと同意である。
The
加算器213は、シフト演算器212a、212b、212c、212dおよび212eによる演算結果を表すデータを加算する演算回路である。除算器214は、加算器213により供給されるデータを所定の値Cで除算する演算回路である。除算器214における値C、すなわち除数は、画像処理装置200が実現するフィルタ演算に相当するフィルタに応じて決められる正規化のための値であるが、詳細については後述する。
The
なお、以下においては、シフト演算器207a、207b、207c、207dおよび207eの各々を区別する必要がない場合には、これらを総称して「シフト演算器207」という。同様に、フリップフロップ211a〜211eおよびシフト演算器212a〜212eについても、各々を区別する必要がない場合には、これらを総称して「フリップフロップ211」および「シフト演算器212」という。
In the following, when it is not necessary to distinguish each of the
画像処理部20のうち、シフト演算器207、加算器208a、208b、フリップフロップ209、加算器210、フリップフロップ211、シフト演算器212、加算器213および除算器214は、フィルタ係数の集合(説明の便宜上、以下においては単に「フィルタ」ともいう。)で表されるフィルタ演算を実現するものである。そこで、以下では、これらの各部を総称して「フィルタ演算部50」という。
Of the
フィルタ演算部50は、図4に示すフィルタに相当するフィルタ演算を実行するものである。つまり、画像処理部20におけるフィルタ演算を行列で表現すると、行列Mは以下の(1)式のようになる。
本実施形態におけるフィルタ、すなわち行列Mには、以下の特徴がある。すなわち、第i行第j列(ただし、iおよびjは、2≦i≦5、2≦j≦5をそれぞれ満たす整数)のフィルタ係数の分子は、第1行第j列のフィルタ係数の分子と第i行第1列のフィルタ係数の分子の積により表される。 The filter in this embodiment, that is, the matrix M has the following characteristics. That is, the numerator of the filter coefficient in the i-th row and j-th column (where i and j are integers satisfying 2 ≦ i ≦ 5 and 2 ≦ j ≦ 5, respectively) is the numerator of the filter coefficient in the first row and j-th column. And the numerator product of the filter coefficients in the i-th row and first column.
また、第1行のフィルタ係数の分子と第1列のフィルタ係数の分子は、シフト演算器207a〜207eおよびシフト演算器212a〜212eにおけるシフト演算のビット数と所定の対応関係を有する。具体的には、シフト演算器207b、207c、207dおよび207eにおけるシフト演算のビット数は、それぞれ、第1行第1列、第2行第1列、第3行第1列、第4行第1列および第5行第1列のフィルタ係数の分子によって定められ、シフト演算器212a、212b、212c、212dおよび212eにおけるシフト演算のビット数は、それぞれ、第1行第1列、第1行第2列、第1行第3列、第1行第4列および第1行第5列のフィルタ係数の分子によって定められる。これらの値の間には、それぞれのシフト演算のビット数をn、それぞれのフィルタ係数の分子をmとしたとき、以下の(2)式の関係が成立する。
つまり、例えば左方向に1ビットのシフト演算を行う場合には、2の1乗が「2」であることから、対応するフィルタ係数の分子mは「2」となる。これは、第1行第2列のフィルタ係数の分子とシフト演算器207bにおけるシフト演算のビット数の関係に対応する。また、第1行第4列とシフト演算器207d、第2行第1列とシフト演算器212bおよび第4行第1列とシフト演算器212dのそれぞれについても同様の関係を有している。また、例えば左方向に2ビットのシフト演算を行う場合には、2の2乗が「4」であることから、対応するフィルタ係数の分子mは「4」となる。これは、第1行第3列のフィルタ係数の分子とシフト演算器207cにおけるシフト演算のビット数の関係や、第3行第1列のフィルタ係数の分子とシフト演算器212cにおけるシフト演算のビット数の関係に対応する。
That is, for example, when performing a 1-bit shift operation in the left direction, since the first power of 2 is “2”, the numerator m of the corresponding filter coefficient is “2”. This corresponds to the relationship between the numerator of the filter coefficient in the first row and the second column and the number of bits of the shift operation in the
なお、正規化のための値C、すなわち各フィルタ係数の分母に相当する値は、例えば、各フィルタ係数の分子の総和であると望ましい。この場合、本実施形態における値Cは「100」となる。しかしながら、もちろん、値Cは他の方法により決定されてもよい。 Note that the value C for normalization, that is, the value corresponding to the denominator of each filter coefficient, is preferably the sum of the numerators of each filter coefficient, for example. In this case, the value C in this embodiment is “100”. However, of course, the value C may be determined by other methods.
以上の構成のもと、画像形成装置100は、読み取った原稿に基づいて画像データを生成し、生成した画像データに種々の画像処理を実行し、その後、画像データに応じた画像を形成する。このとき、画像処理装置200は、上記(1)式によって定められるフィルタ演算を画像処理の一部として実行する。以下では、画像処理装置200がフィルタ演算を実行する際の動作について説明する。
Based on the above configuration, the
画像読取部1から階調データが入力されると、画像処理装置200の制御部30は、これを画像メモリ10に順次格納する。そして、所定量の階調データが画像メモリ10に格納されると、制御部30は画像メモリ10から階調データを読み出し、画像処理部20のRAM204に書き込んでいく。このときRAM204に書き込まれる階調データは、画像データの4行分に相当する。
When gradation data is input from the
RAM204に書き込まれる階調データについて、図5および図6を参照しながら説明する。図5は、画像メモリ10に格納された状態の階調データを模式的に示す図であり、図6は、RAM204に書き込まれた状態の階調データを模式的に示す図である。なお、これらの図においては、説明の便宜上、行をアルファベットで表記し、列を数字で表記している。ここにおいて、第A行が第1行、第B行が第2行に対応しており、以下同様に、第C行(第3行)、第D行(第4行)、…、というように続く。
The gradation data written in the
図5に示すように、階調データは、画像メモリ10においては行方向および列方向に連続的に格納されている。制御部30は、このように格納された階調データを読み出し、階調データが図6に示すような順序で並ぶようにRAM204に書き込む。つまり、制御部30は、列方向に連続する行(第A行と第B行、第C行と第D行)の隣り合う階調データが同一ワード内に記憶されるように階調データを書き込む。その結果、RAM204においては、第1ワードには第A行第1列と第B行第1列、第2ワードには第C行第1列と第D行第1列、第3ワードには第A行第2列と第B行第2列、というように階調データが書き込まれていく。なお、図6においては、第A行第1列の階調データ(8ビット)が上位側にあり、第B行第1列の階調データ(8ビット)が下位側にある。これらは合わせて16ビットであり、ワード全体を占めている。
As shown in FIG. 5, the gradation data is continuously stored in the row direction and the column direction in the
このように階調データが書き込まれると、制御部30が読み出しアドレスとして第1ワードのアドレスを指定することで、第A行第1列と第B行第1列の階調データを連続的に読み出すことができる。また、制御部30が読み出しアドレスとして第2ワードのアドレスを指定することで、第C行第1列と第D行第1列の階調データを連続的に読み出すことができる。そして、このような読み出し動作を連続的に行うことによって、4行分の階調データを連続的に読み出すことができる。
When the gradation data is written in this way, the
なお、以下においては、階調データのそれぞれを区別するために、画像メモリ10に格納されているときの行と列の位置に応じた表記を行う。具体的には、例えば、第A行第1列の階調データを「A1」、第B行第2列の階調データを「B2」、というように、それぞれの行と列の位置に対応する符号を階調データに付す。
In the following, in order to distinguish each of the gradation data, the notation according to the position of the row and the column when stored in the
さて、上述のように階調データがRAM204に書き込まれると、制御部30は、フィルタ演算部50に階調データを入力すべく、各階調データの読み出しを行う。本実施形態におけるフィルタは5×5(画素)のフィルタサイズを有するため、制御部30は5行分の階調データの読み出しを行う。5行分の階調データのうちの4行分はRAM204に書き込まれているから、制御部30は4行分の階調データをRAM204から読み出す。一方、これら4行に後続する5行目の階調データは画像メモリ10に格納されているから、制御部30はこの5行目の階調データを画像メモリ10から読み出す。このとき制御部30が行う動作は、以下の通りである。
When the gradation data is written in the
図7は、RAM204の記憶内容の変化を模式的に示す図である。以下、同図を適宜参照しながら、制御部30が行う動作を説明する。まず、制御部30は、第E行第1列の階調データ、すなわち階調データE1を画像メモリ10から読み出し、これをフリップフロップ201に記憶させる。次に、制御部30は、4行分の階調データA1、B1、C1およびD1をRAM204の第1および第2ワードから連続的に読み出し、これをフリップフロップ205に記憶させる。そして、制御部30は、フリップフロップ201およびフリップフロップ205から5行分の階調データA1、B1、C1、D1およびE1を読み出し、それぞれをフィルタ演算部50に入力する。
FIG. 7 is a diagram schematically showing changes in the contents stored in the
フィルタ演算部50は、対応する階調データのそれぞれについて、図4に示すフィルタ係数を乗じ、その総和を算出して出力する。フィルタ演算部50から出力されるデータは、例えば、フィルタの中央に位置する階調データの演算結果に対応する。なお、フィルタ演算部50において、シフト演算器207による演算結果を加算する処理(すなわち前段の処理)は、階調データの演算(シフト演算)結果どうしの総和を列単位で算出する処理に対応している。また、フィルタ演算部50において、シフト演算器212による演算結果を加算する処理(すなわち後段の処理)は、階調データの演算(シフト演算)結果どうしの総和を行単位で算出する処理に対応している。すなわち、加算器210において各列の階調データの演算結果を加算し、その加算結果に対してシフト演算器212a、212b、212c、212dおよび212eにおいて各行に対応するシフト演算を行い、その結果を加算器213において加算することにより、図4に示すフィルタに相当するフィルタ演算を実行している。
The
このようなフィルタ演算を実行している間に、制御部30は、RAM204の書き換えを適当なタイミングで行っている。制御部30は、5行1列分の階調データをフィルタ演算部50に入力する毎に、その階調データを読み出した記憶領域を書き換える。例えば、階調データA1〜E1をフィルタ演算部50に入力したときには、制御部30はRAM204の第1および第2ワードに記憶されたデータの書き換えを行う。具体的には、制御部30は、フリップフロップ205から第1ワードの階調データA1、B1を読み出し、これをシフト演算器202に入力するとともに、フリップフロップ205から第2ワードの階調データC1を読み出し、これをOR演算器203に入力する。
While executing such a filter operation, the
OR演算器203には、シフト演算器202による演算結果と階調データC1とが入力される。シフト演算器202では8ビットのビットシフトが行われるので、OR演算器203による演算結果は、上位8ビットが階調データB1と同等であり、下位8ビットが階調データC1と同等であるデータとなる。そして、制御部30は、このデータをRAM204の第1ワードに書き込む。その結果、この書き込みの前後において、RAM204の記憶内容は図7の(a)から(b)のように変化する。
The OR
このようにして第1ワードの書き換えを行ったら、制御部30は第2ワードの書き換えを行う。具体的には、制御部30は、フリップフロップ205から第2ワードの階調データC1、D1を読み出し、これをシフト演算器202に入力するとともに、フリップフロップ201から階調データE1を読み出し、これをOR演算器203に入力する。
After rewriting the first word in this way, the
OR演算器203には、シフト演算器202による演算結果と階調データE1とが入力されるので、OR演算器203による演算結果は、上位8ビットが階調データD1と同等であり、下位8ビットが階調データE1と同等であるデータとなる。そして、制御部30は、このデータをRAM204の第2ワードに書き込む。その結果、この書き込みの前後において、RAM204の記憶内容は図7の(b)から(c)のように変化する。
Since the calculation result by the
以上の処理が第1列の第A行〜第E行に相当する処理である。制御部30は、このような処理を第2列についても同様に実行する。すなわち、制御部30は、階調データE2を画像メモリ10から読み出すとともに、階調データA2、B2、C2およびD2をRAM204から読み出し、その後第3および第4ワードの書き換えを行う。これにより、RAM204の記憶内容は、図7の(c)から(d)、そして(e)のように変化する。そしてさらに、制御部30は、このような処理を第3列以降についても同様に実行する。
The above processing is processing corresponding to row A to row E in the first column. The
このような処理をRAM204の全体について実行すると、図7の(f)に示すように、記憶されていた第A行〜第D行の階調データのうち、第A行の階調データのみが削除される。そして、第A行の階調データにかわって、第E行の階調データが記憶される。第B行〜第E行の階調データは、第B行と第C行が同一ワードに記憶され、第D行と第E行が同一ワードに記憶されるとともに、これらのワードが交互に並ぶように配置される。そのため、第B行〜第F行についても、第A行〜第E行の場合と同様の要領でフィルタ演算を実行することが可能となる。
When such processing is executed for the
このように、本実施形態の画像処理装置200によれば、フィルタ演算部50に階調データを入力するためのメモリ(RAM204)を1個とすることが可能となる。また、この画像処理装置200によれば、制御部30が、必要な階調データが連続的に読み出されるようにメモリに対して書き込みおよび読み出しを行うので、1個のメモリであっても処理速度の低下を抑制することが可能となる。加えて、この画像処理装置200によれば、メモリの数がフィルタサイズに依存しないので、使用するフィルタが異なるサイズのものに切り替えられた場合であっても、メモリを無駄なく効率的に使用することが可能となる。
Thus, according to the
なお、この画像処理装置200において、使用するフィルタに応じて変化するのは、画像処理部20のうちフィルタ演算部50のみであって、それ以外の部分の構成については、本質的には同様である。ゆえに、本実施形態の画像処理装置200は、種々のフィルタ演算に適用可能であるといえる。ただし、フィルタサイズが異なる場合には、選択スイッチ206の振り分け先の数が変化する。
In this
[第2実施形態]
続いて、本発明の第2の実施形態について説明する。本実施形態は、画像処理装置内の構成および動作を除けば、上述した第1実施形態と同様である。そこで、以下においては、上述した第1実施形態と異なる部分を中心に説明する。なお、上述した第1実施形態と同様の構成要素については、本実施形態においても同じ符号を付し、その説明を適宜省略する。また、上述した第1実施形態の画像処理装置200および画像処理部20と区別するために、本実施形態の画像処理装置および画像処理部には、それぞれ、「画像処理装置200a」、「画像処理部20a」と符号を付す。
[Second Embodiment]
Subsequently, a second embodiment of the present invention will be described. This embodiment is the same as the first embodiment described above except for the configuration and operation in the image processing apparatus. Therefore, in the following, the description will focus on parts that are different from the first embodiment described above. In addition, about the component similar to 1st Embodiment mentioned above, the same code | symbol is attached | subjected also in this embodiment, and the description is abbreviate | omitted suitably. In order to distinguish from the
図8は、画像処理部20aの構成を示す図である。本実施形態の画像処理部20aを図3に示した第1実施形態の画像処理部20と比較すると、画像処理部20のメモリは1個(RAM204)であるのに対して、画像処理部20aのメモリは2個(RAM204a、204b)である点に主たる相違がある。また、これに伴い、画像処理部20では1個ずつであったRAM204周辺の構成(シフト演算器202、OR演算器203およびフリップフロップ205)も、それぞれ2個ずつ(シフト演算器202a、202b、OR演算器203a、203bおよびフリップフロップ205a、205b)となり、選択スイッチ206に相当する部分はなくなっている。
FIG. 8 is a diagram illustrating a configuration of the
なお、フィルタ演算部50aの内部構成は、上述した第1実施形態のフィルタ演算部50とほぼ同様であり、対応するフィルタも、上述した第1実施形態のフィルタ(図4)と同様である。図8において、加算器210aは、第1実施形態の加算器208a、208b、フリップフロップ209および加算器210に相当するものである。第1実施形態においては、第A行および第B行の階調データと第C行〜第E行の階調データの出力タイミングが一致しないためにフリップフロップ209を設けていたが、本実施形態においてはこれらの出力タイミングが一致するため、1個の加算器で加算をすることが可能である。
The internal configuration of the
RAM204aおよび204bは、それぞれ2ライン分の階調データを記憶する記憶容量を有する。つまり、RAM204a、204bそれぞれの記憶容量は、上述したRAM204の記憶容量の半分である。また、フリップフロップ205aおよび205bは、それぞれ16ビット分のデータを保持する。つまりこれも、フリップフロップ205が保持するデータの半分である。
The
続いて、画像処理装置200aにおける動作を説明する。まず、画像読取部1から階調データが入力されると、画像処理装置200aの制御部30は、これを画像メモリ10に順次格納する。このとき、階調データは図5に示すような状態で画像メモリ10に格納される。そして、所定量の階調データが画像メモリ10に格納されると、制御部30は画像メモリ10から階調データを読み出し、画像処理部20のRAM204aおよび204bに書き込んでいく。このときRAM204aおよび204bに書き込まれる階調データは、それぞれ2行分である。
Subsequently, an operation in the image processing apparatus 200a will be described. First, when gradation data is input from the
RAM204aおよび204bに書き込まれる階調データについて、図9および図10を参照しながら説明する。図9は、RAM204aに書き込まれた状態の階調データを模式的に示す図であり、図10は、RAM204bに書き込まれた状態の階調データを模式的に示す図である。なお、階調データの表記方法は、上述した第1実施形態の図6に準じている。
The gradation data written in the
これらの図に示すように、RAM204aには第A行と第B行の階調データが格納され、RAM204bには第C行と第D行の階調データが格納される。RAM204aにおいては、第1ワードには第A行第1列と第B行第1列、第2ワードには第A行第2列と第B行第2列、第3ワードには第A行第3列と第B行第3列、というように階調データが書き込まれていく。また、RAM204bにおいては、第1ワードには第C行第1列と第D行第1列、第2ワードには第C行第2列と第D行第2列、第3ワードには第C行第3列と第D行第3列、というように階調データが書き込まれていく。
As shown in these figures, the
このようにして階調データがRAM204aおよび204bに書き込まれると、制御部30は、フィルタ演算部50aに階調データを入力すべく、各階調データの読み出しを行う。本実施形態におけるフィルタは5×5(画素)のフィルタサイズを有するため、制御部30は5行分の階調データの読み出しを行う。5行分の階調データのうちの4行分はRAM204aおよび204bに書き込まれているから、制御部30は4行分の階調データをRAM204aおよび204bから読み出す。一方、これら4行に後続する5行目の階調データは画像メモリ10に格納されているから、制御部30はこの5行目の階調データを画像メモリ10から読み出す。このとき制御部30が行う動作は、以下の通りである。
When the gradation data is written in the
図11は、RAM204aの記憶内容の変化を模式的に示す図であり、図12は、RAM204bの記憶内容の変化を模式的に示す図である。以下、これらの図を適宜参照しながら、制御部30が行う動作を説明する。まず、制御部30は、第E行第1列の階調データ、すなわち階調データE1を画像メモリ10から読み出し、これをフリップフロップ201に記憶させる。次に、制御部30は、4行分の階調データA1、B1、C1およびD1をRAM204aおよび204bの第1ワードからそれぞれ読み出し、これをフリップフロップ205aおよび205bに記憶させる。そして、制御部30は、フリップフロップ201およびフリップフロップ205aおよび205bから5行分の階調データA1、B1、C1、D1およびE1を読み出し、それぞれをフィルタ演算部50aに入力する。フィルタ演算部50aは、対応する階調データのそれぞれについて、図4に示すフィルタ係数を乗じ、その総和を算出して出力する。
FIG. 11 is a diagram schematically showing changes in the stored contents of the
フィルタ演算を実行している間に、制御部30は、RAM204aおよび204bの書き換えを適当なタイミングで行っている。制御部30は、5行1列分の階調データをフィルタ演算部50aに入力する毎に、その階調データを読み出した記憶領域を書き換える。例えば、階調データA1〜E1をフィルタ演算部50aに入力したときには、制御部30はRAM204aの第1ワードに記憶されたデータの書き換えを行う。具体的には、制御部30は、フリップフロップ205aから第1ワードの階調データA1、B1を読み出し、これをシフト演算器202aに入力するとともに、フリップフロップ205bから第1ワードの階調データC1を読み出し、これをOR演算器203aに入力する。
While executing the filter operation, the
OR演算器203aには、シフト演算器202aによる演算結果と階調データC1とが入力される。シフト演算器202aでは8ビットのビットシフトが行われるので、OR演算器203aによる演算結果は、上位8ビットが階調データB1と同等であり、下位8ビットが階調データC1と同等であるデータとなる。そして、制御部30は、このデータをRAM204aの第1ワードに書き込む。その結果、この書き込みの前後において、RAM204aの記憶内容は図11の(a)から(b)のように変化する。
The OR
また、RAM204aの書き換えに並行して、制御部30はRAM204bの第1ワードに記憶されたデータの書き換えを行う。制御部30は、フリップフロップ205bから第1ワードの階調データC1、D1を読み出し、これをシフト演算器202bに入力するとともに、フリップフロップ201から第1ワードの階調データE1を読み出し、これをOR演算器203bに入力する。
In parallel with the rewriting of the
OR演算器203bには、シフト演算器202bによる演算結果と階調データE1とが入力される。シフト演算器202bでは8ビットのビットシフトが行われるので、OR演算器203bによる演算結果は、上位8ビットが階調データD1と同等であり、下位8ビットが階調データE1と同等であるデータとなる。そして、制御部30は、このデータをRAM204bの第1ワードに書き込む。その結果、この書き込みの前後において、RAM204bの記憶内容は図12の(a)から(b)のように変化する。
The OR
このようにして第1ワードの書き換えを行ったら、制御部30は第2ワードの書き換えを行う。具体的には、制御部30は、フリップフロップ205aから第2ワードの階調データA2、B2を読み出し、これをシフト演算器202aに入力するとともに、フリップフロップ205bから階調データC2を読み出し、これをOR演算器203aに入力する。ここで、制御部30は、RAM204aの第1ワードを書き換えたときと同様の処理を実行することによって、上位8ビットが階調データB2と同等であり、下位8ビットが階調データC2と同等であるデータをRAM204aの第2ワードに書き込む。その結果、この書き込みの前後において、RAM204aの記憶内容は図11の(b)から(c)のように変化する。また、RAM204bについても同様の処理を実行することによって、RAM204bの記憶内容は図12の(b)から(c)のように変化する。
After rewriting the first word in this way, the
このような処理をRAM204aの全体について実行すると、RAM204aの記憶内容は図11の(d)のようになる。つまり、第A行および第B行について記憶されていた階調データのうち第A行の階調データが削除され、かわりに第C行の階調データが記憶される。このとき、各ワードの下位8ビット側に記憶されていた第B行の階調データは、上位8ビット側へと移動する。また、同様に、RAM204bについても同様に、その記憶内容は図12の(d)のようになる。つまり、第C行および第D行について記憶されていた階調データのうち第C行の階調データが削除され、かわりに第E行の階調データが記憶される。このとき、各ワードの下位8ビット側に記憶されていた第D行の階調データは、上位8ビット側へと移動する。
When such processing is executed for the
本実施形態の画像処理装置200aによっても、上述した第1実施形態とほぼ同様の効果が得られる。本実施形態の画像処理装置200aによれば、メモリの個数が2個に増加するが、そのぶん、階調データの読み書きを第1実施形態の画像処理装置200よりも高速にすることが可能となる。
Also by the image processing apparatus 200a of the present embodiment, substantially the same effect as that of the first embodiment described above can be obtained. According to the image processing apparatus 200a of the present embodiment, the number of memories increases to two. However, it is possible to read and write gradation data faster than the
[変形例]
以上においては、2つの好適な実施形態を例示して本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、その他の種々の態様にて実施することも可能である。本発明においては、例えば、上述した実施形態に対して以下のような変形を適用することができる。なお、これらの変形は、各々を適宜に組み合わせることも可能である。
[Modification]
In the above, the present invention has been described by exemplifying two preferred embodiments. However, the present invention is not limited to the above-described embodiments, and can be implemented in various other modes. . In the present invention, for example, the following modifications can be applied to the above-described embodiment. These modifications can be combined as appropriate.
上述した実施形態は、本発明に係る画像処理装置を画像形成装置に搭載した場合を例示したものであるが、本発明に係る画像処理装置は、画像を出力(表示、プリント等)する種々の電子機器に対して適用することが可能である。また、本発明は、画像処理装置のみならず、この画像処理装置の機能をコンピュータに実行させるためのプログラムや、このプログラムを記憶した記録媒体として提供することも可能である。 The embodiment described above exemplifies a case where the image processing apparatus according to the present invention is mounted on an image forming apparatus. However, the image processing apparatus according to the present invention can output various images (display, print, etc.). It can be applied to electronic devices. The present invention can be provided not only as an image processing apparatus but also as a program for causing a computer to execute the functions of the image processing apparatus, and as a recording medium storing the program.
また、本発明において適用されるフィルタの種類も、上述した実施形態に例示されたものに限定されない。例えば、フィルタサイズやフィルタ係数は適宜に変更可能である。上述した実施形態の例によれば、フィルタ係数を変更することによって、近傍の画素に対する種々の重み付け平均を実現することができる。また、上述した実施形態においては、その構成上、フィルタ係数の分子は2のn乗に限定されていたが、ビットシフトと加算(または減算)とを組み合わせることによって、その他のフィルタ係数とすることもできる。 Further, the types of filters applied in the present invention are not limited to those exemplified in the above-described embodiment. For example, the filter size and the filter coefficient can be changed as appropriate. According to the example of the embodiment described above, various weighted averages for neighboring pixels can be realized by changing the filter coefficient. In the embodiment described above, the numerator of the filter coefficient is limited to 2 to the nth power due to its configuration, but other filter coefficients can be obtained by combining bit shift and addition (or subtraction). You can also.
また、上述の実施形態においては、ラインメモリに相当するメモリを1個設ける構成(第1実施形態)と、2個設ける構成(第2実施形態)とを示したが、同様のメモリを3個以上設ける構成であってもよい。例えば、フィルタサイズが7×7(画素)の場合であれば、第2実施形態に示した構成に、同実施形態のシフト演算器202a(202b)、OR演算器203a(203b)、RAM204a(205b)およびフリップフロップ205a(205b)と同様の構成をさらに加え、3個のRAMからそれぞれ2行分ずつの階調データを供給する構成とすればよい。また、あるいは、第1実施形態に示した構成において、選択スイッチ206の分岐を増やすことによっても実現可能である。このように、上述の2つの実施形態の構成を適宜変更することによって、フィルタサイズを5行よりも大きくすることもできるし、逆に小さくすることもできる。
Further, in the above-described embodiment, the configuration in which one memory corresponding to the line memory is provided (first embodiment) and the configuration in which two memories are provided (second embodiment) have been described, but three similar memories are provided. The structure provided above may be used. For example, if the filter size is 7 × 7 (pixels), the
100…画像形成装置、1…画像読取部、2…画像加工部、3…画像形成部、200…画像処理装置、10…画像メモリ、20…画像処理部、30…制御部、40…バス、50…フィルタ演算部、201、205、205a、205b、209、211a、211b、211c、211d、211e…フリップフロップ、202、202a、202b、207a、207b、207c、207d、207e、212a、212b、212c、212d、212e…シフト演算器、203、203a、203b…OR演算器、204、204a、204b…RAM、206…選択スイッチ、208a、208b、210、213…加算器、214…除算器
DESCRIPTION OF
Claims (5)
少なくともm−1(mは、m≧2を満たす整数)個の前記階調データを連続的に読み出し可能に記憶する記憶領域を少なくともn(nは、n≧1を満たす整数)個有する記憶手段と、
前記記憶装置から読み出された階調データおよび前記記憶手段に記憶された階調データに対して、m行n列のフィルタ係数の集合によるフィルタ演算を実行する演算手段と、
前記記憶手段に対する前記階調データの読み出しおよび書き込みと、前記演算手段に対する前記階調データの入力とを制御する制御手段とを備え、
前記制御手段は、
列方向に連続するm個の前記階調データのうち、1番目からm−1番目までのm−1個の階調データを前記記憶領域に書き込み、前記m−1番目の階調データに連続するm番目の階調データが前記記憶装置から読み出されると、前記記憶領域に記憶された1番目からm−1番目までのm−1個の階調データを読み出し、これらm個の階調データを前記演算手段に入力する第2の処理を、少なくともn個の列に対して行方向に順番に実行する
ことを特徴とする画像処理装置。 A first process of sequentially reading the gradation data continuous in the row direction from a storage device that stores a plurality of gradation data representing a predetermined image by being arranged in the row direction and the column direction, An image processing apparatus that performs a filter operation by sequentially performing a first process on each row continuous in the column direction ,
Storage means having at least n (n is an integer satisfying n ≧ 1) storage areas that store at least m−1 (m is an integer satisfying m ≧ 2) so as to be continuously readable. When,
Arithmetic means for performing a filter operation by a set of filter coefficients of m rows and n columns on the gradation data read from the storage device and the gradation data stored in the storage means;
Control means for controlling reading and writing of the gradation data to the storage means and input of the gradation data to the arithmetic means;
The control means includes
Among the m pieces of gradation data continuous in the column direction, m-1 pieces of gradation data from the first to the (m-1) th are written into the storage area , and the m-1 pieces of gradation data are continuous. When the m-th gradation data to be read is read from the storage device , the m-1 gradation data from the first to the (m-1) -th stored in the storage area are read, and these m pieces of gradation data the image processing apparatus according to claim in that the second processing to be input to the arithmetic means, it runs in sequence in the row direction with respect to at least n columns.
前記制御手段は、
前記1番目からm−1番目までの階調データのうち、1番目からx−1番目(xは、2<x<m−1を満たす整数)までの階調データを前記第1のメモリに書き込むとともに、x番目からm−1番目までの階調データを前記第2のメモリに書き込み、
前記m個の階調データを前記演算手段に入力した後に、前記1番目からx−1番目までの階調データが読み出された前記第1のメモリの記憶領域に、2番目からx−1番目までの前記階調データと、x番目の階調データとを書き込むとともに、前記x番目からm−1番目までの階調データが読み出された前記第2のメモリの記憶領域に、x+1番目からm−1番目までの階調データと、前記入力手段に入力されたm番目の階調データとを書き込む
ことを特徴とする請求項1に記載の画像処理装置。 The storage means includes a first memory and a second memory,
The control means includes
Of the first to m−1th gradation data, the first to x−1th gradation data (x is an integer satisfying 2 <x <m−1) is stored in the first memory. And writing the xth to m−1th gradation data into the second memory,
After the m pieces of gradation data are input to the computing means, the first to x−1th gradation data is read out from the second memory area into the first memory storage area. The gradation data up to the th and the x-th gradation data are written, and the x + 1-th gradation data is read into the storage area of the second memory from which the x-th to m−1th gradation data is read out. 2. The image processing apparatus according to claim 1, wherein the first to m−1 gradation data and the mth gradation data input to the input unit are written.
前記制御手段は、
前記1番目からm−1番目までの階調データのうち、1番目からx−1番目(xは、2<x<m−1を満たす整数)までの階調データを前記第1のメモリに書き込むとともに、x番目からy番目(yは、x<y<m−1を満たす整数)までの階調データを前記第2のメモリに書き込み、
前記m個の階調データを前記演算手段に入力した後に、前記1番目からx−1番目までの階調データが読み出された前記第1のメモリの記憶領域に、2番目からx−1番目までの前記階調データと、x番目の階調データとを書き込むとともに、前記x番目からy番目までの階調データが読み出された前記第2のメモリの記憶領域に、x+1番目からy番目までの階調データと、y+1番目の階調データとを書き込む
ことを特徴とする請求項1に記載の画像処理装置。 The storage means includes at least a first memory and a second memory,
The control means includes
Of the first to m−1th gradation data, the first to x−1th gradation data (x is an integer satisfying 2 <x <m−1) is stored in the first memory. And writing the gradation data from the xth to the yth (y is an integer satisfying x <y <m−1) to the second memory,
After the m pieces of gradation data are input to the computing means, the first to x−1th gradation data is read out from the second memory area into the first memory storage area. The grayscale data up to the th and the xth grayscale data are written, and the x + 1 through y are stored in the storage area of the second memory from which the xth through yth grayscale data has been read. The image processing apparatus according to claim 1, wherein the first gradation data and the y + 1th gradation data are written.
少なくともm−1(mは、m≧2を満たす整数)個の前記階調データを連続的に読み出し可能に記憶する記憶領域を少なくともn(nは、n≧1を満たす整数)個有する記憶手段と、
前記記憶装置から読み出された階調データおよび前記記憶手段に記憶された階調データに対して、m行n列のフィルタ係数の集合によるフィルタ演算を実行する演算手段と、
前記記憶手段に対する前記階調データの読み出しおよび書き込みと、前記演算手段に対する前記階調データの入力とを制御し、列方向に連続するm個の前記階調データのうち、1番目からm−1番目までのm−1個の階調データを前記記憶領域に書き込み、前記m−1番目の階調データに連続するm番目の階調データが前記記憶装置から読み出されると、前記記憶領域に記憶された1番目からm−1番目までのm−1個の階調データを読み出し、これらm個の階調データを前記演算手段に入力する第2の処理を、少なくともn個の列に対して行方向に順番に実行する制御手段
として機能させるためのプログラム。 A first process of sequentially reading the gradation data continuous in the row direction from a storage device that stores a plurality of gradation data representing a predetermined image by being arranged in the row direction and the column direction, A computer of an image processing apparatus that performs a filter operation by sequentially performing a first process on each row continuous in the column direction ,
Storage means having at least n (n is an integer satisfying n ≧ 1) storage areas that store at least m−1 (m is an integer satisfying m ≧ 2) so as to be continuously readable. When,
Arithmetic means for performing a filter operation by a set of filter coefficients of m rows and n columns on the gradation data read from the storage device and the gradation data stored in the storage means;
Controlling reading and writing of the gradation data with respect to the storage means and input of the gradation data with respect to the arithmetic means, the first to m−1 of the m gradation data continuous in the column direction. writes m-1 pieces of gradation data to th in the storage area, the m-th gray-scale data to be continuous with the (m-1) th gray-scale data is read from the storage device, stored in the storage area The second process of reading out the m-1 grayscale data from the first to the m-1th and inputting the m grayscale data to the calculation means is performed on at least n columns. program for functioning as a control means you run in order in the row direction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006184768A JP4661704B2 (en) | 2006-07-04 | 2006-07-04 | Image processing apparatus, image forming apparatus, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006184768A JP4661704B2 (en) | 2006-07-04 | 2006-07-04 | Image processing apparatus, image forming apparatus, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008017044A JP2008017044A (en) | 2008-01-24 |
JP4661704B2 true JP4661704B2 (en) | 2011-03-30 |
Family
ID=39073668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006184768A Expired - Fee Related JP4661704B2 (en) | 2006-07-04 | 2006-07-04 | Image processing apparatus, image forming apparatus, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4661704B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6162187A (en) * | 1984-09-03 | 1986-03-31 | Fuji Xerox Co Ltd | Image processor |
JPS61117974A (en) * | 1984-11-12 | 1986-06-05 | Dainippon Screen Mfg Co Ltd | Method and device for filtering picture signal |
-
2006
- 2006-07-04 JP JP2006184768A patent/JP4661704B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6162187A (en) * | 1984-09-03 | 1986-03-31 | Fuji Xerox Co Ltd | Image processor |
JPS61117974A (en) * | 1984-11-12 | 1986-06-05 | Dainippon Screen Mfg Co Ltd | Method and device for filtering picture signal |
Also Published As
Publication number | Publication date |
---|---|
JP2008017044A (en) | 2008-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3557485B1 (en) | Method for accelerating operations and accelerator apparatus | |
EP3557425B1 (en) | Accelerator and system for accelerating operations | |
JP6700712B2 (en) | Convolution operation device | |
JP4488042B2 (en) | Image processing circuit, display device and printing device | |
JP4404116B2 (en) | Image processing circuit, display device and printing device | |
JP2017027314A (en) | Parallel arithmetic device, image processor and parallel arithmetic method | |
JP4661704B2 (en) | Image processing apparatus, image forming apparatus, and program | |
EP2026282A2 (en) | Image processing circuit, display device, and printing device | |
JP4237046B2 (en) | Image processing device | |
JP4803063B2 (en) | Image processing circuit and printer controller equipped with the same | |
JP4420083B2 (en) | Image processing circuit, display device and printing device | |
JP3997808B2 (en) | Drawing processing apparatus and drawing processing method | |
JP4404117B2 (en) | Image processing circuit, display device and printing device | |
JP4424388B2 (en) | Image processing circuit, display device and printing device | |
JP4285513B2 (en) | Image processing circuit and printing apparatus | |
JP3969580B2 (en) | Data processing apparatus, image processing apparatus, image forming apparatus, program, and storage medium | |
JP3860545B2 (en) | Image processing apparatus and image processing method | |
JP4346039B2 (en) | Data processing device | |
JP2004110250A (en) | Sequential data processor, image reader, image forming device, program and storage medium | |
JP2005267362A (en) | Image processing method using simd processor and image processor | |
JP4650539B2 (en) | Image processing apparatus and image processing program | |
JP2006094160A (en) | Method, apparatus and program for image processing | |
JPH08167038A (en) | Pattern drawing system | |
JPH03281363A (en) | Document output device | |
JP2005348079A (en) | Image processing method, and image processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101115 |
|
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: 20101207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101220 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4661704 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140114 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |