JP2006350843A - Image processing device, control program for the same, computer-readable storage medium storing control program - Google Patents
Image processing device, control program for the same, computer-readable storage medium storing control program Download PDFInfo
- Publication number
- JP2006350843A JP2006350843A JP2005178327A JP2005178327A JP2006350843A JP 2006350843 A JP2006350843 A JP 2006350843A JP 2005178327 A JP2005178327 A JP 2005178327A JP 2005178327 A JP2005178327 A JP 2005178327A JP 2006350843 A JP2006350843 A JP 2006350843A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- transfer
- data
- unit
- image
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、複数の画像処理モジュールを備え、各々の画像処理モジュールに画像データの処理を実行させる画像処理装置、画像処理装置の制御プログラム、該制御プログラムを記憶した記憶媒体に関するものである。 The present invention relates to an image processing apparatus that includes a plurality of image processing modules and causes each image processing module to execute image data processing, a control program for the image processing apparatus, and a storage medium that stores the control program.
従来から、複数種類の画像処理を実行する画像処理装置においては、画像処理の種類毎に画像処理モジュールが設けられていることがある。例えば、「回転処理」「変倍処理」「圧縮処理」を行える画像処理装置においては、回転処理用の画像処理モジュールと、変倍処理用の画像処理モジュールと、圧縮処理用の画像処理モジュールと、が設けられている。なお、「画像処理モジュール」とは、画像処理を実現する一つのユニットであって、画像データを入出力するためのDMAC(Direct Memory Access Controller),画像処理を実行する演算回路,等からなるユニットである。 Conventionally, in an image processing apparatus that executes a plurality of types of image processing, an image processing module may be provided for each type of image processing. For example, in an image processing apparatus that can perform “rotation processing”, “magnification processing”, and “compression processing”, an image processing module for rotation processing, an image processing module for magnification processing, an image processing module for compression processing, , Is provided. The “image processing module” is a unit that realizes image processing, and includes a DMAC (Direct Memory Access Controller) for inputting / outputting image data, an arithmetic circuit for executing image processing, and the like. It is.
つぎに、従来の画像処理装置における画像データの転送方式について、図に基づいて説明する。図8は、従来の画像処理装置の内部構成を模式的に示したブロック図である。図8に示すように、画像処理装置100には、画像処理モジュールIP1,IP2,IP3,および、メモリ70が設けられている。また、同図に示すように、画像処理モジュールIP1,IP2,IP3の各々には、入力用DMACおよび出力用DMACが含まれている。この入力用DMACとは、メモリ70から画像処理モジュールへ画像データを転送(入力)するものであり、出力用DMACとは、画像処理モジュールからメモリ70へ画像データを転送(出力)するものである。
Next, an image data transfer method in a conventional image processing apparatus will be described with reference to the drawings. FIG. 8 is a block diagram schematically showing an internal configuration of a conventional image processing apparatus. As shown in FIG. 8, the
この画像処理装置100においては、実行する画像処理の種類に対応する画像処理モジュールのみが画像処理を実行し、当該モジュールのみにメモリ70から画像データが転送される。例えば、利用者による実行命令のあった画像処理の種類に対応する画像処理モジュールがIP1,IP2の場合、メモリ70上の画像データは、処理を実行する画像処理モジュールIP1,IP2の各々に順次転送されて画像処理が実行されるものの、画像処理モジュールIP3には転送されずに画像処理装置100から出力されることになる。なお、この転送は、画像処理を実行する画像処理モジュールIP1,IP2に備えられているDMACによって行われる。
In this
つぎに、図8に示す画像処理モジュールIP1,IP2,IP3の全てが画像処理を実行する場合を例にして、画像処理装置100における画像データの転送の流れについて、より詳細に説明する。
Next, the flow of image data transfer in the
まず、スキャナ等によって画像処理装置100に入力された画像データは、一旦メモリ70に展開される。ここで、メモリ70に展開される画像データに対応する画像(ビットマップ画像)には、図7に示すように、処理対象の画像が展開されている実画像領域と、実画像領域を囲むように展開されているマージン領域とが含まれている。
First, image data input to the
そして、図8に示すように、メモリ70に書き込まれた画像データは、画像処理モジュールIP1,IP2,IP3に含まれるDMACによって、これら画像処理モジュールIP1,IP2,IP3に対して、カスケードに転送される。より詳細に説明すると、画像データは、画像処理モジュールIP1→メモリ70→画像処理モジュールIP2→メモリ70→画像処理モジュールIP3→メモリ70の順に転送される。
As shown in FIG. 8, the image data written in the
また、この転送において、画像処理装置100は、図7に示すように、所定の画素数(図では5000画素)からなる主走査方向1行分の画像を1転送ラインとして設定している。そして、画像処理モジュールIP1,IP2,IP3の各々に含まれるDMACは、転送ライン毎に画像データを転送するように設定されている。
In this transfer, as shown in FIG. 7, the
ところで、このような画像処理モジュールIP1,IP2,IP3の各々のバウンダリは、図8に示すように、互いに共通かつ固定値である。なお、画像処理モジュールのバウンダリとは、その画像処理モジュールにおいて転送単位となるデータ量を示すものである(つまり、その画像処理モジュールに含まれるDMACの転送単位となるデータ量とも表現できる)。 By the way, such boundaries of the image processing modules IP1, IP2, and IP3 are common and fixed values as shown in FIG. Note that the boundary of an image processing module indicates the amount of data serving as a transfer unit in the image processing module (that is, it can also be expressed as the amount of data serving as a transfer unit of DMAC included in the image processing module).
よって、画像処理モジュールIP1,IP2,IP3の各々においては、DMACの1転送処理当たりで、バウンダリの倍数のデータ量の画像データの転送(入力または出力)が可能であるが、バウンダリの倍数でないデータ量の画像データを転送することはできない。例えば、バウンダリが3byteの場合、画像処理モジュールIP1,IP2,IP3の各々においては、DMACの1回の転送処理において、3byteの倍数のデータ量の画像データを転送可能である。 Therefore, in each of the image processing modules IP1, IP2, and IP3, it is possible to transfer (input or output) image data having a data amount that is a multiple of the boundary per DMAC transfer process, but data that is not a multiple of the boundary. The amount of image data cannot be transferred. For example, when the boundary is 3 bytes, each of the image processing modules IP1, IP2, and IP3 can transfer image data having a data amount that is a multiple of 3 bytes in one transfer process of the DMAC.
ここで、上述したように、各画像処理モジュールIP1,IP2,IP3の各々に含まれるDMACは、転送ライン毎に画像データを転送するように設定されているため、1転送ライン分の画像のデータ量(以下、「転送データ数」と称する)は、1転送処理当たりの転送データ量に該当する。したがって、この転送データ数は、上記バウンダリの倍数になるように設定されていなければならず、仮にバウンダリの倍数でないデータ転送数が設定されると、DMACは処理を停止し、転送処理を行うことができない。 Here, as described above, since the DMAC included in each of the image processing modules IP1, IP2, and IP3 is set to transfer image data for each transfer line, image data for one transfer line is stored. The amount (hereinafter referred to as “transfer data number”) corresponds to the transfer data amount per transfer process. Therefore, this transfer data number must be set to be a multiple of the above boundary. If a data transfer number that is not a multiple of the boundary is set, the DMAC stops the process and performs the transfer process. I can't.
そこで、画像処理装置100においては、画像データの転送処理を適切に実行するために、処理対象となる画像がカラーかモノクロかの相違に応じて上記転送データ数を切り換える必要がある。以下、この切り換えについて詳細に説明する。
Therefore, in the
例えば、図7に示す画像において、1色/1画素当たりのデータ量は1byteであるものとする。さらに、図8に示すように、各画像処理モジュールIP1,IP2,IP3の各々のバウンダリは3byteで固定されているものとする。 For example, in the image shown in FIG. 7, the data amount per color / pixel is 1 byte. Further, as shown in FIG. 8, it is assumed that the boundaries of the image processing modules IP1, IP2, and IP3 are fixed at 3 bytes.
この例において、図7の画像が3色の色成分からなるカラー画像の場合、1画素当たりのデータ量は3byteとなる。ここで、図示の通り、上記1転送ラインの画素数を5000画素として設定すると、上記転送データ数は15Kbyteとして設定される。これにより、上記転送データ数は、各画像処理モジュールIP1,IP2,IP3のバウンダリ(3byte)の倍数となり、DMACによる転送処理を適切に実行できる。 In this example, when the image in FIG. 7 is a color image composed of three color components, the data amount per pixel is 3 bytes. Here, as shown in the figure, when the number of pixels of the one transfer line is set to 5000 pixels, the number of transfer data is set to 15 Kbytes. As a result, the number of transfer data is a multiple of the boundary (3 bytes) of each image processing module IP1, IP2, IP3, and transfer processing by DMAC can be executed appropriately.
これに対し、図7の画像がモノクロの場合、1画素当たりのデータ量は1byteとなる。ここで、仮に、カラーの場合と同様、上記1転送ラインの画素数を5000画素として設定すると、上記転送データ数は、5000byteとして設定され、各画像処理モジュールIP1,IP2,IP3のバウンダリ(3byte)の倍数とならない。 On the other hand, when the image in FIG. 7 is monochrome, the data amount per pixel is 1 byte. As in the case of color, if the number of pixels of one transfer line is set to 5000 pixels, the number of transfer data is set to 5000 bytes, and the boundary (3 bytes) of each image processing module IP1, IP2, IP3. It is not a multiple of.
そこで、モノクロの場合、上記1転送ラインにマージン領域の画素を1画素分だけ余分に加えることにより(図7参照)、上記1転送ラインの画素数を5001画素に設定変更する。このようにすることにより、上記転送データ数は、5001byteとして設定され、各画像処理モジュールIP1,IP2,IP3のバウンダリ(3byte)の倍数となり、適切にデータ転送を実行することができる。 Therefore, in the case of monochrome, the number of pixels in the one transfer line is changed to 5001 pixels by adding one extra pixel in the margin area to the one transfer line (see FIG. 7). By doing so, the number of transfer data is set as 5001 bytes, which is a multiple of the boundary (3 bytes) of each image processing module IP1, IP2, IP3, and data transfer can be executed appropriately.
従来の画像処理装置100においては、このようにして、上記転送データ数をカラーかモノクロかの相違に応じて切り換えることとしていた。
また、以上示した画像処理装置100では、上述したように、画像処理モジュールIP1,IP2,IP3の各々のバウンダリは、各々で共通値となるように設定されている。しかし、本来、各々の画像処理モジュールIP1,IP2,IP3において設定されるべきバウンダリの最適値は、各々の画像処理モジュールにて実行される画像処理の種類によって異なるものである。したがって、画像処理装置100において、画像処理モジュールIP1,IP2,IP3の各々のバウンダリは、全画像処理モジュールで共通の値とはせずに、画像処理モジュール毎に、各々で実行される処理に最適なバウンダリを設定することが好ましい。
In the
ところが、画像処理装置100において、画像処理モジュールIP1,IP2,IP3の各々のバウンダリが異なっていると、上記転送データ数が、あるモジュールのバウンダリの倍数に該当するが、別の画像処理モジュールのバウンダリの倍数にならないという不都合が起こり得、この場合、画像処理モジュール間でのデータ転送を行うことができなくなる。
However, in the
また、ある画像処理においては画像処理モジュールIP1にのみ画像データの転送が行われ、別の画像処理においては画像処理モジュールIP2にのみ画像データの転送が行われるという場合もあり得る。ここで、常に上記転送データ数を一定とすると、画像処理モジュールIP1と画像処理モジュールIP2とでバウンダリが互いに異なる場合、いずれかの画像処理においてデータ転送を実現できなくなる事があり得るという問題が生じる。 In some image processing, image data may be transferred only to the image processing module IP1, and in another image processing, image data may be transferred only to the image processing module IP2. Here, if the number of transfer data is always constant, there is a problem that data transfer may not be realized in any of image processing when the boundary is different between the image processing module IP1 and the image processing module IP2. .
また、画像処理モジュールIP1,IP2,IP3の各々のバウンダリを共通としない場合に、仮に、選択された各画像処理モジュールIP1,IP2,IP3の各々に対してモジュール別に上記転送データ数を設定すれば、当該転送データ数を画像処理モジュール別に計算する必要があり、CPUや演算回路等の演算処理の負荷が増大するという問題も生じる。例えば、選択された複数の画像処理モジュールIP1,IP2,IP3において、各々の転送データ数が3byte,6byte,9byteとして設定されている場合、画像処理モジュール毎に転送データ数を計算すると、画像処理モジュールIP1に対しては3の倍数の5001byteを上記転送データ数として計算し、画像処理モジュールIP2に対しては6の倍数の5004byteを上記転送データ数として計算し、画像処理モジュールIP3に対しては9の倍数の5004byteを上記転送データ数として計算する必要がある。 Further, if the boundaries of the image processing modules IP1, IP2, and IP3 are not common, the transfer data number is set for each module for each of the selected image processing modules IP1, IP2, and IP3. Therefore, it is necessary to calculate the number of transfer data for each image processing module, which causes a problem that the processing load on the CPU, arithmetic circuit, etc. increases. For example, when the number of transfer data is set as 3 bytes, 6 bytes, and 9 bytes in the selected plurality of image processing modules IP1, IP2, and IP3, the image processing module is calculated by calculating the number of transfer data for each image processing module. For IP1, 5001 bytes, which is a multiple of 3, is calculated as the number of transfer data, for image processing module IP2, 5004 bytes, which is a multiple of 6, is calculated as the number of transfer data, and for image processing module IP3, 9 It is necessary to calculate 5004 bytes which is a multiple of the number as the number of transfer data.
本発明は、以上の問題に鑑みてなされたものであり、複数の画像処理部を備えた画像処理装置において、少なくとも2つの画像処理部のバウンダリが互いに異なっている場合であっても、適切にデータ転送を実現できる画像処理装置、画像処理装置の制御プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。 The present invention has been made in view of the above problems, and in an image processing apparatus including a plurality of image processing units, even when the boundaries of at least two image processing units are different from each other, An object of the present invention is to provide an image processing apparatus capable of realizing data transfer, a control program for the image processing apparatus, and a computer-readable recording medium on which the program is recorded.
以上の目的を達成するために、本発明の画像処理装置は、複数の画像処理部と制御部とを備え、さらに、画像処理部に対するデータ転送を実行するデータ転送部を含み、上記複数の画像処理部のうちの少なくとも2つの画像処理部においては、上記データ転送の転送単位のデータ量を示す転送パラメータが互いに異なっており、上記制御部は、実行すべき画像処理の種類に対応した画像処理部を選択する画像処理選択手段と、選択した画像処理部において画像データの転送が行われるように上記データ転送部を制御する転送制御手段と、上記選択された画像処理部の上記転送パラメータに応じて、上記データ転送部の1転送当たりの転送データ量を調整する転送データ量調整手段と、を含むことを特徴とする。 In order to achieve the above object, an image processing apparatus of the present invention includes a plurality of image processing units and a control unit, and further includes a data transfer unit that executes data transfer to the image processing unit, and the plurality of images At least two image processing units of the processing units have different transfer parameters indicating the data amount of the transfer unit of the data transfer, and the control unit performs image processing corresponding to the type of image processing to be executed. An image processing selection unit for selecting a copy unit, a transfer control unit for controlling the data transfer unit so that image data is transferred in the selected image processing unit, and the transfer parameter of the selected image processing unit. And a transfer data amount adjusting means for adjusting a transfer data amount per transfer of the data transfer unit.
上記構成によれば、上記複数の画像処理部のうち、画像処理を実行する画像処理部のみにおいて画像データの転送処理が実行されることとなるが、当該画像処理部の転送パラメータ(バウンダリ)に応じて、データ転送部の1転送当たりの転送データ量を調整することができる。それゆえ、データ転送のなされる画像処理部の転送パラメータがどのような値であっても、上記データ転送部の1転送当たりの転送データ量を上記転送パラメータに適した値に調整することができる。 According to the above configuration, among the plurality of image processing units, the image data transfer process is executed only in the image processing unit that executes the image processing, and the transfer parameter (boundary) of the image processing unit is set as the transfer parameter (boundary). Accordingly, the transfer data amount per transfer of the data transfer unit can be adjusted. Therefore, the transfer data amount per transfer of the data transfer unit can be adjusted to a value suitable for the transfer parameter regardless of the transfer parameter of the image processing unit to which data transfer is performed. .
これにより、画像処理装置において、画像処理部を複数含み、少なくとも2つの画像処理部の上記転送パラメータが互いに異なっている場合でも、データ転送のなされる画像処理部の転送パラメータに応じて、上記データ転送部における1転送当たりの転送データ量を該転送パラメータに適合した値に調整することが可能となり、適切にデータ処理を実行することができる。 Thus, in the image processing apparatus, even if the image processing unit includes a plurality of image processing units and the transfer parameters of at least two image processing units are different from each other, the data is transferred according to the transfer parameters of the image processing unit to which data transfer is performed. The amount of transfer data per transfer in the transfer unit can be adjusted to a value suitable for the transfer parameter, and data processing can be executed appropriately.
なお、前記特許文献1には、バウンダリの異なる2つのプロセッサ間でデータ転送を行う構成において、データバッファを介して転送データを変換する方式が開示されている。しかしながら、この方式では、転送元および転送先は定まっており、バウンダリを異ならせる複数のプロセッサのなかから転送先のプロセッサを選択し、選択されたプロセッサのバウンダリに応じて1転送当たりのデータ転送量を調整するといった構成は開示されていない。 The above-mentioned patent document 1 discloses a method of converting transfer data via a data buffer in a configuration in which data transfer is performed between two processors having different boundaries. However, in this method, the transfer source and the transfer destination are determined, and a transfer destination processor is selected from a plurality of processors having different boundaries, and the data transfer amount per transfer is selected according to the boundary of the selected processor. There is no disclosure of a configuration that adjusts.
また、本発明の画像処理装置においては、上記データ転送部における1転送当たりの転送データ量を、データ転送のなされる画像処理部における転送パラメータの倍数となるように設定することが可能となり、データ転送が行えないという事態の発生を回避できる。 In the image processing apparatus of the present invention, the transfer data amount per transfer in the data transfer unit can be set to be a multiple of the transfer parameter in the image processing unit to which data transfer is performed. Occurrence of a situation where transfer cannot be performed can be avoided.
さらに、本発明の画像処理装置は、上記画像処理選択手段は2以上の画像処理部を選択し、上記転送指示手段は、選択された各画像処理部に順に画像データが転送されるように上記データ転送部を制御し、上記転送データ量調整手段は、上記選択された2以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整する構成であってもよい。 Furthermore, in the image processing apparatus of the present invention, the image processing selection unit selects two or more image processing units, and the transfer instruction unit transfers the image data to each of the selected image processing units in order. The data transfer unit may be controlled, and the transfer data amount adjusting unit may adjust the transfer data amount so as to be a common multiple of each of the transfer parameters in the two or more selected image processing units. .
上記構成によれば、画像処理部が2以上選択され、選択された各画像処理部に対して順に画像データを転送する場合、データ転送のなされる各画像処理部の転送パラメータが夫々で異なることもあり得る。 According to the above configuration, when two or more image processing units are selected and image data is sequentially transferred to each selected image processing unit, the transfer parameters of each image processing unit to which data transfer is performed are different. There is also a possibility.
そこで、上記構成において、上記データ転送量調整手段は、上記選択された2以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整している。それゆえ、データ転送のなされる各画像処理部の上記転送パラメータが夫々で異なっていても、選択された画像処理部の各々に対して、これら画像処理部の上記転送パラメータの倍数のデータ量の画像データを順に転送することができ、適切にデータ処理を実行することができる。 Therefore, in the above configuration, the data transfer amount adjusting means adjusts the transfer data amount so as to be a common multiple of each of the transfer parameters in the two or more selected image processing units. Therefore, even if the transfer parameters of the image processing units to which data transfer is performed are different from each other, the data amount that is a multiple of the transfer parameters of the image processing units is selected for each of the selected image processing units. Image data can be transferred in order, and data processing can be performed appropriately.
なお、本発明の画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させる画像処理装置の制御プログラム,該プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。 The image processing apparatus of the present invention may be realized by a computer. In this case, a control program for the image processing apparatus that causes the computer to operate as each of the above-described means, and a computer-readable recording medium that records the program are also included. Falls within the scope of the present invention.
以上のように、本発明の画像処理装置は、複数の画像処理部と制御部とを備え、さらに、各画像処理部における画像データの転送処理を実行するデータ転送部を含み、上記複数の画像処理部のうちの少なくとも2つの画像処理部においては、上記転送処理における転送単位のデータ量を示す転送パラメータが互いに異なっており、上記制御部は、実行すべき画像処理の種類に対応した画像処理部を選択する画像処理選択手段と、選択した画像処理部へ画像データが転送されるように上記データ転送部を制御する転送制御手段と、上記選択された画像処理部の上記転送パラメータに応じて、上記データ転送部の1転送当たりの転送データ量を調整する転送データ量調整手段と、を含むことを特徴とする。 As described above, the image processing apparatus of the present invention includes a plurality of image processing units and a control unit, and further includes a data transfer unit that executes a transfer process of image data in each image processing unit. At least two image processing units of the processing units have different transfer parameters indicating data amounts of transfer units in the transfer processing, and the control unit performs image processing corresponding to the type of image processing to be executed. An image processing selection unit for selecting a copy unit, a transfer control unit for controlling the data transfer unit so that image data is transferred to the selected image processing unit, and the transfer parameter of the selected image processing unit. And a transfer data amount adjusting means for adjusting a transfer data amount per transfer of the data transfer unit.
それゆえ、画像処理装置において、画像処理部を複数含み、少なくとも2つの画像処理部の上記取扱データ量が互いに異なっている場合でも、適切なデータ処理を実現できる。 Therefore, even if the image processing apparatus includes a plurality of image processing units and the handling data amounts of at least two image processing units are different from each other, appropriate data processing can be realized.
また、上記の画像処理装置において、上記画像処理選択手段が2以上の画像処理部を選択し、上記転送指示手段が、選択された各画像処理部に順に画像データが転送されるように上記データ転送部を制御し、上記転送データ量調整手段が、上記選択された2以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整する構成を採用すれば、1転送当たりの転送データ量を画像処理部毎で計算する必要がなく、各画像処理部に共通の上記転送データ量を1回計算するだけでよく、制御部の演算処理の負荷を軽減できるという効果が生じる。また、開発者にとっては把握すべき転送データ量の個数が減り(3個→1個)、開発が容易になるメリットがある。 In the image processing apparatus, the image processing selection unit selects two or more image processing units, and the transfer instruction unit transfers the data so that the image data is sequentially transferred to each selected image processing unit. If the transfer unit is controlled and the transfer data amount adjusting means adjusts the transfer data amount so as to be a common multiple of each of the transfer parameters in the two or more selected image processing units, 1 There is no need to calculate the transfer data amount per transfer for each image processing unit, and it is only necessary to calculate the transfer data amount common to each image processing unit once, and the load of calculation processing of the control unit can be reduced. Occurs. Further, there is an advantage that the number of transfer data to be grasped is reduced (3 → 1) for the developer, and the development becomes easy.
例えば、選択された複数の画像処理部a,b,cにおいて、各々の転送パラメータが3byte,6byte,9byteであるとき、(3,6,9)の最小公倍数→18から、18の倍数の5004byteを選択されたすべての画像処理部a,b,cに対する共通の転送データ量として演算すれば、画像処理モジュール毎に転送データ量を演算する構成よりも演算処理の負荷を軽減できる。 For example, in the plurality of selected image processing units a, b, and c, when the transfer parameters are 3 bytes, 6 bytes, and 9 bytes, the least common multiple of (3, 6, 9) → 18 to the multiple of 18, 5004 bytes Is calculated as a common transfer data amount for all the selected image processing units a, b, and c, the load of the calculation process can be reduced as compared with the configuration in which the transfer data amount is calculated for each image processing module.
以下、本発明の画像処理装置の一実施形態を図に基づいて説明する。図1は、本実施形態の画像処理装置10の概略構成を示すブロック図である。なお、以下で説明する画像処理装置10は、図示しないものの、MFP(Multi Function Printer)等の画像形成装置に備えられている画像処理手段であるものとする。
Hereinafter, an embodiment of an image processing apparatus of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a schematic configuration of an
図1に示すように、画像処理装置10は、複数の画像処理モジュール(M1,M2,・・・,Mn),メモリ15,バス20,入力部30,出力部40,制御部50を含む構成である。
As shown in FIG. 1, the
画像処理モジュールM1,・・・,Mnの各々は、画像処理を実現するユニットである。また、図1に示すように、各々の画像処理モジュールM1,・・・,Mnは、メモリ15に書き込まれている画像データを該画像処理モジュールに転送する入力用DMACと、転送されてきた画像データに対して画像処理を実行する演算回路(不図示)と、画像処理の実行された画像データをメモリ15に転送する出力用DMACと、を含んでいる。
Each of the image processing modules M1,..., Mn is a unit that realizes image processing. As shown in FIG. 1, each of the image processing modules M1,..., Mn has an input DMAC that transfers the image data written in the
なお、図1に示すように、本実施形態の画像処理モジュールの各々においては、入力用DMACと出力用DMACとが別々に構成され、これらDMACはバス20に接続されている。そして、図2に示すように、この入力用DMACとは、メモリ70から画像処理モジュールへ画像データを転送(入力)するものであり、出力用DMACとは、画像処理モジュールからメモリ70へ画像データを転送(出力)するものである。
As shown in FIG. 1, in each of the image processing modules of this embodiment, an input DMAC and an output DMAC are configured separately, and these DMACs are connected to a
また、各画像処理モジュールM1,・・・,Mnは、各々で互いに異なる種類の画像処理を実行するものである。ここで、実行される画像処理の種類としては、「回転処理」「変倍処理」「圧縮処理」「伸張処理」等がある。 Each of the image processing modules M1,..., Mn executes different types of image processing. Here, types of image processing to be executed include “rotation processing”, “magnification processing”, “compression processing”, “decompression processing”, and the like.
なお、図1の画像処理装置10において、各画像処理モジュールM1,・・・,Mnは、カラー画像を処理するためのものであり、図示しないが、モノクロ画像を処理する画像処理モジュールm1,・・・,mnも備えられているものとする。
In the
メモリ15は、各々の画像処理モジュールM1,・・・,Mnにおいて処理対象とされる画像データが書き込まれるデータ展開領域であり、バス20に接続されている。
The
入力部30は、外部装置(例えば、スキャナ、PC等)から送られてくる画像データを画像処理装置10に入力するインターフェイスであり、バス20に接続されている。出力部40は、画像処理装置10にて画像処理された画像データをプリンタエンジン(画像形成手段)へ出力するインターフェイスである。
The
制御部50は、画像処理装置10に備えられている各種ハードウェア(各画像処理モジュール,DMAC,メモリ,入力部,出力部)の動作を統括的に制御するコンピュータであり、例えば、プログラムコードを実行するCPU(Central Processing Unit)、該プログラムコードを格納するROM(Read Only Memory)やRAM(Random Access Memory)などによって実現される。
The
つぎに、画像処理装置10における画像データの転送の概略について説明する。まず、入力部30から画像データが入力されると、この画像データはメモリ15に書き込まれる。そして、ある画像処理の実行コマンドが利用者によって入力されると、制御部50は、当該画像処理を実行する画像処理モジュールを選択・起動する。なお、ここで選択される画像処理モジュールは単数であっても複数であってもよいが、以下では、説明の便宜上、画像処理モジュールM1,M2,M3が選択されたものとする。
Next, an outline of image data transfer in the
そして、図2に示すように、メモリ15に書き込まれた画像データは、上記選択された各画像処理モジュールM1,M2,M3に含まれる各DMACによって、これら画像処理モジュールM1,M2,M3に対して、カスケードに転送される。より詳細に説明すると、画像データは、画像処理モジュールM1→メモリ15→画像処理モジュールM2→メモリ15→画像処理モジュールM3→メモリ15の順に転送される。
As shown in FIG. 2, the image data written in the
つぎに、以上示した画像データの転送について、より詳細に説明する。転送される画像データは、図3に示すように、ビットマップ形式のデータであり、処理対象の画像が展開されている実画像領域と、実画像領域を囲むように展開されているマージン領域とが含まれている。 Next, the transfer of the image data described above will be described in more detail. As shown in FIG. 3, the transferred image data is bitmap format data, and an actual image area in which an image to be processed is expanded, and a margin area expanded so as to surround the actual image area, It is included.
画像処理装置10は、入力部30から入力した画像データがメモリ15に書き込まれると、メモリ15上に展開された画像について、図3に示すように、所定の画素数(図では5000画素)からなる主走査方向1行分の画像を1転送ラインとし、上記1転送ライン×n列個の画素からなる画像を1転送ブロックとして、メモリ15上に展開された画像を転送ブロック毎に分割設定する。
When the image data input from the
この設定の後、まず、画像処理モジュールM1では、入力用DMACによって、1転送ライン分の画像データが転送・入力される。さらに、画像処理モジュールM1は入力した画像データを処理し、その後、画像処理モジュールM1の出力用DMACによって該画像データはメモリ15に転送される。画像処理モジュールM1では、上記1転送ライン毎に、このような処理がn回繰り返され、最初の転送ブロックa(図3参照)の画像データの処理が行われる。
After this setting, first, in the image processing module M1, image data for one transfer line is transferred / input by the input DMAC. Further, the image processing module M1 processes the input image data, and then the image data is transferred to the
つぎに、図6に示すように、画像処理モジュールM1は、最初の転送ブロックaの画像データの処理・転送が終了すると、次段の画像処理モジュールM2に対して、転送ブロックaに対する処理の完了を通知する。この通知を受けた画像処理モジュールM2においては、転送ブロックaに対応する画像データの転送・処理が上記1転送ライン毎に行われる。また、図6に示すように、この画像処理モジュールM2の動作と並行して、画像処理モジュールM1においては、次の転送ブロックb(図3参照)に対応する画像データの転送・処理が上記1転送ライン毎に行われる。 Next, as shown in FIG. 6, when the image processing module M1 finishes processing and transferring the image data of the first transfer block a, the image processing module M1 completes the processing for the transfer block a with respect to the next-stage image processing module M2. To be notified. In the image processing module M2 that has received this notification, image data transfer / processing corresponding to the transfer block a is performed for each transfer line. Further, as shown in FIG. 6, in parallel with the operation of the image processing module M2, in the image processing module M1, the transfer / processing of image data corresponding to the next transfer block b (see FIG. 3) is performed as described above. This is done for each transfer line.
さらに、画像処理モジュールM1が転送ブロックbの画像データの処理を終え、画像処理モジュールM2が転送ブロックaに相当する画像データの処理を終えると、次は、画像処理モジュールM1において、転送ブロックcに相当する画像データの転送・処理が上記1転送ライン毎に行われ、画像処理モジュールM2において、転送ブロックbに相当する画像データの転送・処理が上記1転送ライン毎に行われ、画像処理モジュールM3において、転送ブロックaに相当する画像データの転送・処理が上記1転送ライン毎に行われる。このようにして、画像処理モジュールM1,M2,M3は、処理を進行していく。 Further, when the image processing module M1 finishes processing the image data of the transfer block b and the image processing module M2 finishes processing the image data corresponding to the transfer block a, the image processing module M1 then transfers the transfer block c to the transfer block c. Corresponding image data transfer / processing is performed for each transfer line, and in the image processing module M2, image data transfer / processing for the transfer block b is performed for each transfer line, and the image processing module M3. The transfer / processing of the image data corresponding to the transfer block a is performed for each transfer line. In this way, the image processing modules M1, M2, and M3 proceed with processing.
つまり、画像処理モジュールM1,M2,M3においては、DMACによる1転送処理当たり、1転送ラインの画像が転送(入力または出力)されることになる。 That is, in the image processing modules M1, M2, and M3, one transfer line image is transferred (input or output) per transfer process by the DMAC.
また、本実施形態では、1転送ラインの画像のデータ量を表現する際、「転送データ数」というパラメータを使用することとする。つまり、「転送データ数」は、上記1転送ブロックの画像における主走査方向1行分のデータ量であって、DMACの1転送処理当たりの転送データ量に該当する。例えば、1画素当たりのデータ量が3byteからなり、上記1転送ラインの画素数が5000画素の場合、上記「転送データ数」は15Kbyteとなる。 In this embodiment, a parameter “number of transfer data” is used when expressing the data amount of an image of one transfer line. That is, the “number of transfer data” is the amount of data for one row in the main scanning direction in the image of the one transfer block, and corresponds to the amount of transfer data per DMAC transfer process. For example, when the data amount per pixel is 3 bytes and the number of pixels of the one transfer line is 5000 pixels, the “number of transfer data” is 15 Kbytes.
ところで、本実施形態の画像処理装置10では、画像処理モジュールM1,M2,M3,・・・,Mnは、各々、バウンダリを異ならせている。具体的に説明すると、図2に示すように、画像処理モジュールM1のバウンダリは3byteであり、画像処理モジュールM2のバウンダリは6byteであり、画像処理モジュールM3のバウンダリは9byteとなっている。
Incidentally, in the
なお、画像処理モジュールのバウンダリ(転送パラメータ)とは、その画像処理モジュールにおけるデータ転送の転送単位となるデータ量を示すものであり、より具体的には、その画像処理モジュールに含まれる入力用DMACおよび出力用DMACの転送単位となるデータ量を示すものである。つまり、各画像処理モジュールにおいては、1転送当たりで、バウンダリの倍数のデータ量の画像データを転送可能であるが、バウンダリの倍数でないデータ量の画像データを転送することはできない。例えば、バウンダリが3byteの画像処理モジュールにおいては、DMACによる1回の転送処理にて、3byteの倍数のデータ量の画像データを転送可能である。 The boundary (transfer parameter) of an image processing module indicates the amount of data that is a transfer unit of data transfer in the image processing module, and more specifically, the input DMAC included in the image processing module. And the amount of data that is a transfer unit of the output DMAC. That is, in each image processing module, image data having a data amount that is a multiple of the boundary can be transferred per transfer, but image data having a data amount that is not a multiple of the boundary cannot be transferred. For example, in an image processing module having a boundary of 3 bytes, image data having a data amount that is a multiple of 3 bytes can be transferred by a single transfer process by the DMAC.
そして、制御部50は、選択・起動させる画像処理モジュールのバウンダリに基づいて、上記「転送データ数」を調整する機能を実現する。以下では、制御部50における上記した機能について詳細に説明する。
Then, the
図4に示すように、制御部50には、モジュール選択部51,転送データ数調整部60,データ転送制御部71が含まれている。
As shown in FIG. 4, the
モジュール選択部51は、画像処理の実行コマンドが利用者によって入力されると、当該画像処理を実行する画像処理モジュールを選択かつ起動させる制御を行う。つまり、モジュール選択部51は、実行される画像処理の種類に対応した画像処理モジュールを選択・起動する制御を行う。また、モジュール選択部51は、選択した画像処理モジュールおよび当該画像処理モジュールのバウンダリを示す情報を、転送データ数調整部60およびデータ転送制御部71に伝達する機能をも有する。
When an execution command for image processing is input by the user, the
転送データ数調整部60は、モジュール選択部51に選択されている画像処理モジュールのバウンダリに応じて、上記転送データ数を調整する。以下では、転送データ数調整部60において実行されている制御の具体的手順について詳細に説明する。
The transfer data
転送データ数調整部60には、転送ブロック初期設定部61、転送データ数演算部62、転送データ数修正部63、転送ブロック再設定部64が含まれている。
The transfer data
転送ブロック初期設定部61は、メモリ15にアクセスすることによって、メモリ15に書き込まれた画像データに対応する画像について、上述した各転送ブロック(図3参照)を初期設定する。なお、転送ブロック初期設定部61は、図3に示すように、各転送ブロックにおいて、実画像領域の主走査方向両端と該両端に隣接するマージン領域とが必ず含まれるように、上記初期設定を行う。
The transfer block
転送データ数演算部62は、メモリ15にアクセスすることによって、転送ブロック初期設定部61によって初期設定された各転送ブロックの1転送ラインの画素数から、初期設定された各転送ブロックの転送データ数を演算する。なお、上述通り、上記転送データ数とは、1転送ライン分の画像のデータ量に相当するものである。
The transfer data
例えば、1画素当たり3byteのデータ量の画像データ(例えば、8bitの3色カラー画像のデータ)において、初期設定された各転送ブロックの1転送ラインの画素数が5000画素である場合、転送データ数は、5000×3=15000byteになる。また、例えば、1画素当たり1byteのデータ量の画像データ(例えば、8bitのモノクロ画像のデータ)において、初期設定された各転送ブロックの1転送ラインの画素数が5000画素である場合、転送データ数は、5000×1=5000byteになる。 For example, in the case of image data having a data amount of 3 bytes per pixel (for example, 8-bit 3-color image data), when the number of pixels of one transfer line in each transfer block that is initially set is 5000 pixels, the number of transfer data Becomes 5000 × 3 = 15000 bytes. Further, for example, in the case of image data having a data amount of 1 byte per pixel (for example, 8-bit monochrome image data), when the number of pixels in one transfer line of each initially set transfer block is 5000 pixels, the number of transfer data Becomes 5000 × 1 = 5000 bytes.
なお、転送データ数演算部62は、演算した転送データ数を転送データ数修正部63へ伝達する。
The transfer data
転送データ数修正部63は、モジュール選択部51によって選択された画像処理モジュールのバウンダリを示す情報をモジュール選択部51から取得し、このバウンダリを参照して、上記転送データ数の修正値を演算する。この演算について、以下、詳細に説明する。
The transfer data
まず、転送データ数修正部63は、モジュール選択部51によって選択された画像処理モジュールが単一の場合、該選択された画像処理モジュールのバウンダリの倍数であって、転送データ数演算部62に演算された転送データ数以上かつ該転送データ数と最も差のない値になるように、転送データ数の修正値を演算する。
First, when there is a single image processing module selected by the
具体的には、転送データ数演算部62に演算された転送データ数をT,選択された画像処理モジュールのバウンダリをBとした場合、転送データ数修正部63は、TをBで除算し、除算して得られた値の小数部分を切り上げて、切り上げて得られた値にBを乗算することによって上記修正値を得ることとしている。
Specifically, when the transfer data number calculated by the transfer data
例えば、転送データ数演算部62に演算された転送データ数が5000byte(上記モノクロ画像の場合)であって、モジュール選択部51に選択された画像処理モジュールのバウンダリが3byteの場合、
5000/3≒1667(小数点以下切り上げ)
1667×3=5001
となり、転送データ数の修正値は5001byte(3の倍数)となる。
For example, when the transfer data number calculated by the transfer data
5000 / 3≈1667 (rounded up after the decimal point)
1667 × 3 = 5001
Thus, the correction value of the number of transfer data is 5001 bytes (multiple of 3).
また、例えば、転送データ数演算部62に演算された転送データ数が15000byte(上記カラー画像の場合)であって、モジュール選択部51に選択されたのが画像処理モジュールM1のみの場合、該画像処理モジュールM1のバウンダリは3byteであることから(図2参照)、転送データ数修正部63によって演算される転送データ数の修正値も15000byte(3の倍数)となる。
Also, for example, when the transfer data number calculated by the transfer data
また、転送データ数修正部63は、モジュール選択部51に選択された画像処理モジュールが複数の場合、該選択された複数の画像処理モジュールにおける各々バウンダリの公倍数であって、転送データ数演算部62に演算された転送データ数以上かつ該転送データ数と最も差のない値になるように、上記転送データ数の修正値を演算する。
In addition, when there are a plurality of image processing modules selected by the
具体的には、転送データ数演算部62に演算された転送データ数をT,選択された各画像処理モジュールの各バウンダリをE,F,Gとした場合、転送データ数修正部63は、E,F,Gの最小公倍数を求め、Tを当該最小公倍数で除算して得られた値の小数部分を切り上げて、切り上げて得られた値に当該最小公倍数を乗算することによって上記修正値を得ることとしている。
Specifically, when the number of transfer data calculated by the transfer data
例えば、転送データ数演算部62に演算された転送データ数が5000byte(上記モノクロ画像の場合)であって、モジュール選択部51に選択された各画像処理モジュールの各バウンダリが3byte,6byte,9byteの場合、
(3,6,9)の最小公倍数→18
5000/18≒278(小数点以下切り上げ)
278×18=5004
となり、転送データ数修正部63によって演算される転送データ数の修正値は5004byte(3,6,9の公倍数)となる。
For example, the transfer data number calculated by the transfer data
Least common multiple of (3, 6, 9) → 18
5000/18 ≒ 278 (rounded up after the decimal point)
278 × 18 = 5004
Thus, the correction value of the transfer data number calculated by the transfer data
また、例えば、転送データ数演算部62に演算された転送データ数が15000byte(上記カラー画像の場合)であって、モジュール選択部51に選択されたのが画像処理モジュールM1,M2,M3の場合、該画像処理モジュールM1,M2,M3のバウンダリは3byte,6byte,9byteであることから、転送データ数修正部63によって演算される転送データ数の修正値は、
(3,6,9)の最小公倍数→18
15000/18≒834(小数点以下切り上げ)
834×18=15012となり、転送データ数修正部63によって演算される転送データ数の修正値は15012byte(3,6,9の公倍数)となる。
Further, for example, when the transfer data number calculated by the transfer data
Least common multiple of (3, 6, 9) → 18
15000/18 ≒ 834 (rounded up after the decimal point)
834 × 18 = 15021, and the transfer data number correction value calculated by the transfer data
なお、転送データ数修正部63は、演算した転送データ数の修正値を、転送ブロック再設定部64へ伝達する。
The transfer data
転送ブロック再設定部64は、1転送ラインのデータ量が上記転送データ数の修正値になるように、メモリ15にアクセスして上記1転送ラインおよび各転送ブロックを再設定する。なお、転送データ数の修正値は、初期設定された各転送ブロックの1転送ラインの転送データ数と同一または増加することになるが、増加する場合は、図3に示すマージン領域の画素を増加することによって、上記1転送ラインおよび各転送ブロックを再設定する。
The transfer
なお、転送ブロック再設定部64は、各転送ブロックの再設定を終えると、修正された転送データ数、および、再設定された転送ブロックにおけるデータ転送を開始すべき箇所の画素位置(図3の符号α参照)を示すアドレスをデータ転送制御部71へ伝達する。
When the transfer
データ転送制御部71は、転送ブロック再設定部64から上記アドレスおよび転送データ数が伝達されると、モジュール選択部51に選択されている各画像処理モジュールに含まれているDMACを制御することによって、各画像処理モジュールにおけるデータ転送を制御する。具体的に、データ転送制御部71は、転送ブロック再設定部64から伝達されてきたアドレスをスタートアドレスとして上記DMACに設定し、上記伝達されてきた転送データ数を1転送処理当たりの転送データ量として上記DMACに設定する。
When the address and the number of transfer data are transmitted from the transfer
これにより、モジュール選択部51に選択されている各画像処理モジュールにおいては、カスケードに画像データが転送されることとなる。また、モジュール選択部51に選択されている画像処理モジュールM1,M2,M3の各々が互いにバウンダリを異ならせていても、メモリ15に展開されている画像の1転送ラインのデータ量(1回の転送処理における転送データ量)を、画像処理モジュールM1,M2,M3の各々のバウンダリの倍数にすることができる。それゆえ、互いにバウンダリの異なる各画像処理モジュールM1,M2,M3に対する1転送当たりのデータ量は、各画像処理モジュールのバウンダリの共通の倍数に該当することとなる。
Thereby, in each image processing module selected by the
つぎに、以上示した制御部50に含まれる各部の処理の流れを図5に示すフローチャートに基づいて説明する。
Next, the flow of processing of each unit included in the
入力部30から入力された画像データがメモリ15に書き込まれ、かつ、画像処理の実行コマンドが利用者によって入力されると、モジュール選択部51は、当該実行コマンドに応じた画像処理を実行する画像処理モジュールを選択かつ起動させる(S1)。さらに、転送ブロック初期設定部61は、メモリ15に書き込まれた画像データに対応する画像について、上述した各転送ブロック(図3参照)を初期設定する(S2)。その後、転送データ数演算部62が、S2において初期設定された1転送ブロックにおける1転送ラインの画素数から転送データ数を演算する(S3)。つぎに、転送データ数修正部63が、モジュール選択部51によって選択されている各画像処理モジュールのバウンダリに基づいて、上記転送データ数の修正値を演算する(S4)。さらに、転送ブロック再設定部64は、転送ブロックの1転送ラインのデータ量が転送データ数の修正値になるように、上記各転送ブロックを再設定する(S5)。
When the image data input from the
ここで、再設定された各転送ブロックの1転送ライン分のデータ量は、画像処理モジュールに対してデータ転送を行うDMACにおける1転送処理当たりの転送データ量に該当することとなる。それゆえ、転送データ数調整部60は、モジュール選択部51に選択されている画像処理モジュールのバウンダリに応じて、該画像処理モジュールにデータ転送を行うDMACにおける1転送処理当たりの転送データ量(1転送ラインのデータ量,転送データ数)を調整(修正)していることとなる。
Here, the data amount for one transfer line of each transfer block that has been reset corresponds to the transfer data amount per transfer process in the DMAC that performs data transfer to the image processing module. Therefore, the transfer data
以上示したように、図1に示す画像処理装置10は、複数の画像処理モジュール(画像処理部)を備え、この複数の画像処理モジュールのうち、少なくとも、画像処理モジュールM1,M2,M3は、バウンダリが互いに異なっている。さらに、上記複数の画像処理モジュールの各々には、各々の画像処理モジュールに対して画像データを転送するDMAC(データ転送部)が備えられている。また、画像処理装置10には、上記複数の画像処理モジュールおよびDMACの動作を制御する制御部50が備えられている。さらに、制御部50には、モジュール選択部51と転送データ数調整部60とデータ転送制御部71とが含まれている。
As described above, the
モジュール選択部(画像処理選択手段)51は、上述通り、実行される画像処理の種類に対応した画像処理モジュールを選択・起動する。そして、データ転送制御部(転送制御手段)71は、選択・起動された画像処理モジュールにおいて画像データの転送が行われるように、該画像処理モジュールに含まれるDMACを制御する。また、転送データ数調整部(転送データ量調整手段)60は、モジュール選択部51に選択された画像処理モジュールのバウンダリに応じて、該画像処理モジュールに含まれるDMACにおける1転送処理当たりの転送データ量を調整していることとなる。
As described above, the module selection unit (image processing selection means) 51 selects and activates an image processing module corresponding to the type of image processing to be executed. Then, the data transfer control unit (transfer control unit) 71 controls the DMAC included in the image processing module so that the image data is transferred in the selected / activated image processing module. Also, the transfer data number adjusting unit (transfer data amount adjusting means) 60 transfers transfer data per transfer process in the DMAC included in the image processing module according to the boundary of the image processing module selected by the
これにより、画像処理装置100において、画像処理モジュールを複数含み、各画像処理モジュールのバウンダリが互いに異なっている場合でも、データ転送のなされる画像処理モジュールのバウンダリに応じて、データ転送を行うDMACにおける1転送当たりの転送データ量を該バウンダリに適合した値に調整することが可能となり、適切にデータ処理を実行することができる。
As a result, in the
また、本実施形態においては、上記DMACにおける1転送当たりの転送データ量を、データ転送のなされる画像処理モジュールにおけるバウンダリの倍数となるように設定することが可能となり、データ転送が行えないという事態の発生を回避できる。 In this embodiment, the transfer data amount per transfer in the DMAC can be set to be a multiple of the boundary in the image processing module to which data transfer is performed, and data transfer cannot be performed. Can be avoided.
さらに、本実施形態においては、モジュール選択部(画像処理選択手段)51によって画像処理モジュールが2以上選択され、選択された各画像処理モジュールに対して順に画像データを転送する場合、上記選択された2以上の画像処理部における各々のバウンダリの公倍数になるように上記転送データ量を調整している。それゆえ、データ転送のなされる各画像処理モジュールのバウンダリが夫々で異なっていても、選択された画像処理モジュールの各々に対して、これら画像処理モジュールの上記バウンダリの共通の倍数のデータ量の画像データを順に転送することができ、適切にデータ処理を実行することができる。 Further, in the present embodiment, when two or more image processing modules are selected by the module selection unit (image processing selection means) 51 and image data is sequentially transferred to each selected image processing module, the above-described selection is performed. The transfer data amount is adjusted so as to be a common multiple of each boundary in two or more image processing units. Therefore, even if the boundary of each image processing module to which data is transferred is different, an image having a data amount that is a common multiple of the above-mentioned boundary of these image processing modules for each of the selected image processing modules. Data can be transferred in order, and data processing can be performed appropriately.
また、以上の構成によれば、1転送当たりの転送データ量を画像処理モジュール毎で計算する必要がなく、制御部50の演算処理の負荷を軽減することが可能になる。例えば、モジュール選択部51によって選択された複数の画像処理モジュールIP1,IP2,IP3において、図2に示すように、各々のバウンダリが3byte,6byte,9byteであるとき、画像モジュール毎に1転送あたりの転送データ量を計算すると、画像処理部IP1に対しては3の倍数の5001byteを上記転送データ量として計算し、画像処理部IP2に対しては6の倍数の5004byteを上記転送データ量として計算し、画像処理部IP3に対しては9の倍数の5004byteを上記転送データ量として計算する必要がある。これに対し、本実施形態の構成によれば、画像処理モジュール毎に1転送当たりの転送データ量を計算する必要がなく、各画像処理モジュールに共通の上記転送データ量を1回計算するだけでよく、制御部の負荷を軽減することができる。また、開発者にとっては把握すべき転送データ量の個数が減り(3個→1個)、開発が容易になるメリットがある。
Further, according to the above configuration, it is not necessary to calculate the transfer data amount per transfer for each image processing module, and it is possible to reduce the calculation processing load of the
また、以上の実施形態では、画像処理モジュールM1,M2,M3の各々が互いにバウンダリを異ならせているが、少なくとも2つの画像処理モジュールが互いにバウンダリを異ならせている構成であればよく、3つの画像処理モジュールが互いにバウンダリを異ならせている必要はない。 In the above embodiment, each of the image processing modules M1, M2, and M3 has a different boundary from each other. However, any configuration may be used as long as at least two image processing modules have different boundaries from each other. It is not necessary for the image processing modules to have different boundaries.
なお、以上の実施形態においては、画像処理モジュールのバウンダリとは、その画像処理モジュールにおける転送単位となるデータ量であり、より具体的には、その画像処理モジュールに含まれる入力用DMACおよび出力用DMACの転送単位となるデータ量であった。つまり、以上の実施形態においては、各画像処理モジュールにおいて、入力用DMACの転送単位となるデータ量と、出力用DMACの転送単位となるデータ量とは同一となるように設定されていることとなる。 In the above embodiment, the boundary of an image processing module is the amount of data serving as a transfer unit in the image processing module, and more specifically, the input DMAC and output output included in the image processing module. The amount of data was a DMAC transfer unit. That is, in the above embodiment, in each image processing module, the data amount that is the transfer unit of the input DMAC and the data amount that is the transfer unit of the output DMAC are set to be the same. Become.
しかし、各画像処理モジュールにおいて、入力用DMACの転送単位となるデータ量と、出力用DMACの転送単位となるデータ量とが異なるように設定されていてもよい。この場合、画像処理モジュールのバウンダリとは、該画像処理モジュールに含まれている入力用DMACの転送単位となるデータ量である入力バウンダリと、該画像処理モジュールに含まれている出力用DMACの転送単位となるデータ量である出力バウンダリとの両方を意味するものとなる。さらに、この場合、転送データ数修正部63は、モジュール選択部51に選択された全画像処理モジュールの入力バウンダリおよび出力バウンダリの公倍数であって、転送データ数演算部62に演算された転送データ数以上かつ該転送データ数と最も差のない値になるように、上記転送データ数の修正値を演算する。
However, in each image processing module, the data amount serving as the transfer unit of the input DMAC may be set to be different from the data amount serving as the transfer unit of the output DMAC. In this case, the boundary of the image processing module refers to the input boundary that is the amount of data serving as a transfer unit of the input DMAC included in the image processing module, and the transfer of the output DMAC included in the image processing module. It means both the output boundary which is the data amount as a unit. Further, in this case, the transfer data
なお、上記実施形態の制御部50は、CPUなどの演算手段が、ROM(Read Only Memory)やRAMなどの記憶手段に記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力手段、あるいは、インターフェイス回路などの通信手段を制御することにより実現することができる。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の制御部50の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
In the
この記録媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、例えばROMのようなものがプログラムメディアであっても良いし、また、図示していないが外部記憶装置としてプログラム読み取り装置が設けられ、そこに記録媒体を挿入することにより読み取り可能なプログラムメディアであっても良い。 As the recording medium, a program medium such as a memory (not shown) such as a ROM may be used for processing by the microcomputer, and a program reading device is provided as an external storage device (not shown). It may be a program medium that can be read by inserting a recording medium there.
また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセスして実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプログラムは予め本体装置に格納されているものとする。 In any case, the stored program is preferably configured to be accessed and executed by the microprocessor. Furthermore, it is preferable that the program is read out, and the read program is downloaded to the program storage area of the microcomputer and the program is executed. It is assumed that the download program is stored in the main device in advance.
また、上記プログラムメディアとしては、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスクやCD/MO/MD/DVD等のディスクのディスク系、ICカード(メモリカードを含む)等のカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する記録媒体等がある。 The program medium is a recording medium configured to be separable from the main body, such as a tape system such as a magnetic tape or a cassette tape, a magnetic disk such as a flexible disk or a hard disk, or a disk such as a CD / MO / MD / DVD. Fixed disk system, card system such as IC card (including memory card), or semiconductor memory such as mask ROM, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), flash ROM, etc. In particular, there are recording media that carry programs.
また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する記録媒体であることが好ましい。 In addition, if the system configuration is capable of connecting to a communication network including the Internet, the recording medium is preferably a recording medium that fluidly carries the program so as to download the program from the communication network.
さらに、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記録媒体からインストールされるものであることが好ましい。 Further, when the program is downloaded from the communication network as described above, it is preferable that the download program is stored in the main device in advance or installed from another recording medium.
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、上述した実施形態において開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope shown in the claims, and the embodiments can be obtained by appropriately combining the respective technical means disclosed in the above-described embodiments. The form is also included in the technical scope of the present invention.
本発明の画像処理装置は、複写機,インクジェットプリンタ,MFP(Multi Function Printer)等に含まれる画像処理手段として好適であるが、これに限定されず、画像処理装置単体としても構成することが可能である。 The image processing apparatus of the present invention is suitable as an image processing means included in a copying machine, an ink jet printer, an MFP (Multi Function Printer), etc., but is not limited to this, and can be configured as a single image processing apparatus. It is.
10 画像処理装置
15 メモリ
20 バス
50 制御部
51 モジュール選択部(画像処理選択手段)
60 転送データ数調整部(転送データ量調整手段)
61 転送ブロック初期設定部
62 転送データ数演算部
63 転送データ数修正部
64 転送ブロック再設定部
70 メモリ
71 データ転送制御部(データ転送制御手段)
M1,M2,M3 画像処理モジュール(画像処理部)
DMAC(データ転送部)
DESCRIPTION OF
60 Transfer data number adjustment unit (transfer data amount adjustment means)
61 Transfer block
M1, M2, M3 Image processing module (image processing unit)
DMAC (data transfer unit)
Claims (5)
さらに、画像処理部に対するデータ転送を実行するデータ転送部を含み、
上記複数の画像処理部のうちの少なくとも2つの画像処理部においては、上記データ転送の転送単位のデータ量を示す転送パラメータが互いに異なっており、
上記制御部は、
実行すべき画像処理の種類に対応した画像処理部を選択する画像処理選択手段と、
選択した画像処理部において画像データの転送が行われるように上記データ転送部を制御する転送制御手段と、
上記選択された画像処理部の上記転送パラメータに応じて上記データ転送部の1転送当たりの転送データ量を調整する転送データ量調整手段と、
を含むことを特徴とする画像処理装置。 A plurality of image processing units and a control unit;
And a data transfer unit that executes data transfer to the image processing unit,
In at least two image processing units of the plurality of image processing units, transfer parameters indicating data amounts of transfer units of the data transfer are different from each other,
The control unit
Image processing selection means for selecting an image processing unit corresponding to the type of image processing to be executed;
Transfer control means for controlling the data transfer unit so that image data is transferred in the selected image processing unit;
Transfer data amount adjusting means for adjusting the transfer data amount per transfer of the data transfer unit according to the transfer parameters of the selected image processing unit;
An image processing apparatus comprising:
上記転送データ量調整手段は、上記選択された画像処理部の上記転送パラメータの倍数となるように上記転送データ量を調整することを特徴とする画像処理装置。 The image processing apparatus according to claim 1,
The transfer data amount adjusting unit adjusts the transfer data amount so as to be a multiple of the transfer parameter of the selected image processing unit.
上記画像処理選択手段は2以上の画像処理部を選択し、
上記転送制御手段は、選択された各画像処理部に順に画像データが転送されるように上記データ転送部を制御し、
上記転送データ量調整手段は、上記選択された2以上の画像処理部における各々の上記転送パラメータの公倍数になるように上記転送データ量を調整することを特徴とする画像処理装置。 The image processing apparatus according to claim 1, wherein:
The image processing selection means selects two or more image processing units,
The transfer control means controls the data transfer unit so that image data is sequentially transferred to each selected image processing unit,
The transfer data amount adjusting means adjusts the transfer data amount so as to be a common multiple of the transfer parameters of each of the two or more selected image processing units.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005178327A JP2006350843A (en) | 2005-06-17 | 2005-06-17 | Image processing device, control program for the same, computer-readable storage medium storing control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005178327A JP2006350843A (en) | 2005-06-17 | 2005-06-17 | Image processing device, control program for the same, computer-readable storage medium storing control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006350843A true JP2006350843A (en) | 2006-12-28 |
Family
ID=37646582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005178327A Pending JP2006350843A (en) | 2005-06-17 | 2005-06-17 | Image processing device, control program for the same, computer-readable storage medium storing control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006350843A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009017297A (en) * | 2007-07-05 | 2009-01-22 | Ricoh Co Ltd | Image processing apparatus, image processing control method and image processing control program |
JP2018157492A (en) * | 2017-03-21 | 2018-10-04 | 富士ゼロックス株式会社 | Image processing apparatus, image processing method and program |
-
2005
- 2005-06-17 JP JP2005178327A patent/JP2006350843A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009017297A (en) * | 2007-07-05 | 2009-01-22 | Ricoh Co Ltd | Image processing apparatus, image processing control method and image processing control program |
US8891091B2 (en) | 2007-07-05 | 2014-11-18 | Ricoh Company, Ltd. | Image processing apparatus, image processing control method and computer-readable storage medium |
JP2018157492A (en) * | 2017-03-21 | 2018-10-04 | 富士ゼロックス株式会社 | Image processing apparatus, image processing method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009151102A (en) | Image forming apparatus and image processing method | |
JP2006254169A (en) | System and method for controlling printing | |
JP2006325186A (en) | Image processing apparatus | |
JP2006350843A (en) | Image processing device, control program for the same, computer-readable storage medium storing control program | |
US9036197B2 (en) | Data transfer control apparatus and data transfer control method | |
JP2000165563A (en) | Image processing unit | |
JP2006304243A (en) | Image processor, printer and image processing method | |
JP2008299519A (en) | Image processor | |
JP5560785B2 (en) | Information processing apparatus, image forming apparatus, and information processing method | |
JP2006285792A (en) | Image processor and image processing method | |
JP2005094564A (en) | Image processing apparatus and method for image processing | |
JP2002314763A (en) | Controller for color copying machine | |
WO2017163590A1 (en) | Image processing device, image processing method, and image processing program | |
JP2008263311A (en) | Image forming apparatus | |
JP4468754B2 (en) | Image forming apparatus and memory control method | |
JP6794765B2 (en) | Image processing accelerator and image forming device | |
CN107734210B (en) | Image processing apparatus, image forming apparatus, and image processing method | |
JP2009265776A (en) | Image processor | |
JP4905294B2 (en) | Image processing circuit, printing apparatus, and image processing program | |
JP5753370B2 (en) | Image processing apparatus, method, and program | |
JP2007164665A (en) | Image processor and image forming apparatus | |
KR20070008129A (en) | Image forming method and system capable of displaying thumbnail image | |
JP2003224716A (en) | Image processing system | |
JP2007122318A (en) | Print controller | |
JP2006050402A (en) | Image processing device |