JP4781327B2 - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP4781327B2 JP4781327B2 JP2007203711A JP2007203711A JP4781327B2 JP 4781327 B2 JP4781327 B2 JP 4781327B2 JP 2007203711 A JP2007203711 A JP 2007203711A JP 2007203711 A JP2007203711 A JP 2007203711A JP 4781327 B2 JP4781327 B2 JP 4781327B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- image processing
- module
- work area
- securing
- 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
- 238000012545 processing Methods 0.000 title claims description 230
- 238000003672 processing method Methods 0.000 title claims description 10
- 230000004044 response Effects 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 122
- 238000000034 method Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 22
- 238000006243 chemical reaction Methods 0.000 description 21
- 230000006835 compression Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 14
- 230000006837 decompression Effects 0.000 description 14
- 239000002131 composite material Substances 0.000 description 11
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012508 change request Methods 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Facsimiles In General (AREA)
- Storing Facsimile Image Data (AREA)
Description
本発明は、画像処理装置及び画像処理方法に関し、詳細には、ASIC等の集積回路を用いた画像処理を安価かつ効率的に行う画像処理装置及び画像処理方法に関する。 The present invention relates to an image processing apparatus and an image processing method, and more particularly, to an image processing apparatus and an image processing method that perform image processing using an integrated circuit such as an ASIC at low cost and efficiency.
デジタル複写装置等の画像処理装置は、近年、画像処理用の集積回路、例えば、ASIC(Application Specific Integrated Circuit)を搭載して、スキャナで読み取った画像データ等に対して、ASICにおいて、種々の画像処理を行って出力画像を作成し、該出力画像をプリンタで印刷出力する等の出力処理が行われている。 In recent years, an image processing apparatus such as a digital copying apparatus is equipped with an integrated circuit for image processing, for example, an ASIC (Application Specific Integrated Circuit), and various kinds of images are obtained in an ASIC for image data read by a scanner. An output process is performed such as processing to create an output image and printing the output image with a printer.
このような画像処理装置における画像処理の中には、注目画素とパラメータのみで処理を行うことのできるγ変換等の処理だけでなく、注目画素とその周辺画素を含めて処理を行うフィルタ処理等の処理やブロックとして処理を行うJPEG圧縮伸張処理等の処理がある。 Image processing in such an image processing apparatus includes not only processing such as γ conversion that can be performed only with the target pixel and parameters, but also filter processing that performs processing including the target pixel and its surrounding pixels. And JPEG compression / decompression processing that performs processing as a block.
そして、画像処理装置の搭載するASICは、上記周辺画素を含めて処理する画像処理及びブロックとして処理を行う画像処理に必要なライン数のSRAM(Static Random Access Memory)等のメモリを搭載して、該メモリを利用して画像処理を行っている。このようなラインメモリを用いた画像処理としては、例えば、プリンタ処理については、特許文献1に記載されており、解像度変換処理については、特許文献2に記載されており、さらに、圧縮伸張処理ついては、特許文献3に記載されている。
The ASIC installed in the image processing apparatus is equipped with a memory such as SRAM (Static Random Access Memory) of the number of lines necessary for image processing including the peripheral pixels and image processing for processing as a block. Image processing is performed using the memory. As image processing using such a line memory, for example, the printer process is described in
しかしながら、上記従来技術にあっては、ASICに画像処理に必要なラインメモリを搭載して画像処理を行っているため、例えば、A3サイズ600dpiの場合、1ラインは約7000dotとなり、各画像処理で複数のラインメモリを用意すると、大量のSRAM等のメモリをASICに搭載する必要があり、搭載するメモリがASICにおいて大きな領域を占め、コストが高くなるという問題があった。特に、大型の紙サイズに対応する広幅機では、さらに数倍の容量のメモリが必要となり、コストがさらに高くなる。 However, in the above prior art, since the line memory necessary for image processing is mounted on the ASIC and image processing is performed, for example, in the case of A3 size 600 dpi, one line is about 7000 dots. When a plurality of line memories are prepared, it is necessary to mount a large amount of memory such as SRAM in the ASIC, and there is a problem that the mounted memory occupies a large area in the ASIC and the cost increases. In particular, a wide-width machine corresponding to a large paper size requires a memory several times larger, which further increases the cost.
この問題を解決するために、ASICの外にあるメモリを使用して画像処理を行うようにすると、例えば、スキャナによる画像の読み取りやプロッタによる画像出力等の機械的な動作タイミングの制約を満たすことが難しいという問題がある。また、ASICの外に画像処理用のメモリを固定的に確保すると、外部メモリを余分に必要とし、全体のコストが高くなる。また、この場合、ASICの外に処理用のメモリを動的に確保しようとすると、画像処理のたびに、CPUがメモリ割り当てを行うこととなり、CPUの負荷が高くなり、処理効率が悪化するという問題がある。 In order to solve this problem, when image processing is performed using a memory outside the ASIC, for example, the restriction of mechanical operation timing such as image reading by a scanner or image output by a plotter is satisfied. There is a problem that is difficult. In addition, if a fixed image processing memory is secured outside the ASIC, an extra external memory is required and the overall cost increases. In this case, if an attempt is made to dynamically secure a processing memory outside the ASIC, the CPU allocates the memory every time image processing is performed, increasing the load on the CPU and degrading the processing efficiency. There's a problem.
そこで、本発明は、ASIC等の集積回路のコストを削減しつつ、処理効率の良好な画像処理装置及び画像処理方法を提供することを目的としている。 SUMMARY An advantage of some aspects of the invention is that it provides an image processing apparatus and an image processing method with high processing efficiency while reducing the cost of an integrated circuit such as an ASIC.
請求項1記載の発明の画像処理装置は、各種画像処理を実行する複数の画像処理モジュールを搭載する集積回路と、該集積回路外の記憶手段と、該記憶手段に該画像処理モジュールの利用可能なワーク領域を確保する領域確保手段と、該領域確保手段の確保したワーク領域に該画像処理モジュールが個別に利用するモジュール利用領域を確保するモジュール領域確保手段とを備え、該画像処理モジュールが、その処理動作タイミングに制約を受けない非制約画像処理を実行する場合に、該モジュール領域確保手段に領域確保の要求を行い、該モジュール領域確保手段が、該記憶手段のワーク領域にそのワーク領域の範囲内で該画像処理モジュール用のモジュール利用領域を確保し、該画像処理モジュールが、該モジュール利用領域を利用して該画像処理を実行することにより、上記目的を達成している。 An image processing apparatus according to a first aspect of the present invention is an integrated circuit on which a plurality of image processing modules for executing various types of image processing are mounted, storage means outside the integrated circuit, and the image processing module can be used for the storage means. Area securing means that secures a work area, and module area securing means that secures a module use area that is individually used by the image processing module in the work area secured by the area securing means, the image processing module comprising: When executing non-restricted image processing that is not restricted by the processing operation timing, the module area securing unit requests the module area securing unit, and the module area securing unit stores the work area in the work area of the storage unit. A module use area for the image processing module is secured within a range, and the image processing module uses the module use area. By performing the image processing, it has achieved the above objects.
この場合、例えば、請求項2に記載するように、前記モジュール領域確保手段は、前記画像処理モジュールから個別に要求されたモジュール利用領域が前記ワーク領域の空き領域よりも大きいときには、前記領域確保手段に対して該モジュール利用領域の確保に必要な該ワーク領域の拡張確保を依頼してもよい。 In this case, for example, as described in claim 2, when the module use area individually requested from the image processing module is larger than an empty area of the work area, the module area securing unit May be requested to secure expansion of the work area necessary for securing the module use area.
また、請求項1または請求項2の場合、例えば、請求項3に記載するように、前記モジュール領域確保手段は、前記ワーク領域の拡張確保を前記領域確保手段に依頼した後、全ての前記モジュールの前記ワーク領域を使用した処理が完了すると、該処理完了通知を該領域確保手段に通知してもよい。
In the case of
さらに、例えば、請求項1から請求項3の場合、例えば、請求項4に記載するように、前記領域確保手段は、前記画像処理モジュールの処理動作タイミングに制約を受ける制約画像処理用の制約画像処理用領域を固定的に前記記憶手段に確保し、前記モジュール領域確保手段は、前記画像処理モジュールから該制約画像処理用領域の領域確保要求があると、該制約画像処理用領域を確保してもよい。
Further, for example, in the case of
請求項5記載の発明の画像処理方法は、集積回路に搭載され各種画像処理を実行する複数の画像処理モジュールが、該集積回路外の記憶手段を利用して画像処理を行う画像処理方法であって、前記記憶手段に前記画像処理モジュールの利用可能なワーク領域を確保する領域確保処理ステップと、該画像処理モジュールがその処理動作タイミングに制約を受けない非制約画像処理を実行する場合に領域確保の要求を発生する領域確保要求処理ステップと、該領域確保要求に応じて、該領域確保処理ステップで確保された該記憶手段の該ワーク領域にそのワーク領域の範囲内で該画像処理モジュールが個別に利用するモジュール利用領域を確保するモジュール領域確保処理ステップとを有していることにより、上記目的を達成している。 According to a fifth aspect of the present invention, there is provided an image processing method in which a plurality of image processing modules that are mounted on an integrated circuit and execute various types of image processing perform image processing using storage means outside the integrated circuit. Area securing processing step for securing a usable work area of the image processing module in the storage means, and area securing when the image processing module executes unconstrained image processing that is not restricted by the processing operation timing. An area securing request processing step for generating the request, and in response to the area securing request, the image processing module is individually within the range of the work area in the work area of the storage means secured in the area securing process step. The above-mentioned object is achieved by having a module area securing processing step for securing a module use area to be used for the above.
本発明の画像処理装置によれば、集積回路に搭載された各種画像処理を実行する複数の画像処理モジュールが、その処理動作タイミングに制約を受けない非制約画像処理を実行する場合、該集積回路外の記憶手段に確保されているワーク領域に、該画像処理モジュールが個別に利用するモジュール利用領域をそのワーク領域の範囲内で確保し、該画像処理モジュールが、該モジュール利用領域を利用して該画像処理を実行するので、集積回路のコストを削減することができるとともに、処理効率を向上させることができる。 According to the image processing apparatus of the present invention, when a plurality of image processing modules that execute various types of image processing mounted on an integrated circuit execute unconstrained image processing that is not restricted by the processing operation timing, the integrated circuit In the work area secured in the external storage means, a module use area individually used by the image processing module is secured within the range of the work area, and the image processing module uses the module use area. Since the image processing is executed, the cost of the integrated circuit can be reduced and the processing efficiency can be improved.
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, since the Example described below is a suitable Example of this invention, various technically preferable restrictions are attached | subjected, However, The scope of the present invention limits this invention especially in the following description. As long as there is no description of the effect, it is not restricted to these aspects.
図1〜図9は、本発明の画像処理装置及び画像処理方法の一実施例を示す図であり、図1は、本発明の画像処理装置及び画像処理方法の一実施例を適用した複合装置1の要部ブロック構成図である。 1 to 9 are diagrams showing an embodiment of an image processing apparatus and an image processing method of the present invention, and FIG. 1 is a composite apparatus to which an embodiment of the image processing apparatus and the image processing method of the present invention is applied. FIG.
図1において、複合装置1は、エンジン100とコントローラ200及び図示しないオペレーションパネル、ファクシミリ通信部等を備えており、コピー処理、プリンタ処理、スキャナ処理及びファクシミリ通信処理等を行う。
In FIG. 1, the
エンジン100は、エンジンASIC101、スキャナ102、 スキャナ画像処理ASIC103、プロッタ104、プロッタ制御ASIC105、RAM(Random Access Memory)106、フラッシュメモリ107及びエンジンCPU(Central Processing Unit )108等を備えており、エンジンASIC101は、アービタ110、ビデオ出力部111、コミュニケーションバッファ112、エンジン側ワークエリア制御部113、解像度変換部114及び圧縮伸張部115等を備えている。
The
一方、コントローラ200は、コントローラASIC201、コントローラCPU202、ハードディスク203及びメインメモリ204等を備えており、コントローラASIC201は、ビデオ入力部210、アービタ211、コントローラ側ワークエリア制御部212、配信画像処理部213、コントローラ画像処理部214及びハードディスクI/F215等を備えている。
On the other hand, the
スキャナ102は、スキャナ動作、コピー動作、ファクシミリ送信動作時に、原稿に読取光を照射して、該原稿を主走査・副走査し、該原稿の画像を読み取って、原稿の画像データをスキャナ画像処理ASIC103に出力する。
The
スキャナ画像処理ASIC103は、スキャナ102で読み取られた原稿の画像データに適宜の補正を行った画像データ及び原稿における文字部/写真部、有彩/無彩を判定した画像分離データを生成してコントローラ200のビデオ入力部210に出力する。
The scanner
プロッタ104は、プロッタ部5としては、例えば、電子写真式記録装置等が使用されており、図示しないホスト装置から受信した画像データやスキャナ部102で読み取った画像データをプロッタ制御ASIC105から受け取って、画像を用紙に記録出力する。
The
プロッタ制御ASIC105は、プロッタ104からの同期信号に合わせて、エンジンASIC101から入力される画像データをプロッタ104へ出力する。
The plotter control ASIC 105 outputs the image data input from the engine ASIC 101 to the
RAM106は、エンジンCPU108がエンジン102の全体の制御を実行するための作業用メモリであり、エンジンCPU108により、プログラム実行中の変数記憶領域等の用途に使用される。
The
フラッシュメモリ107は、エンジンCPU108が実行するプログラムを記憶するための書き換え可能な不揮発性メモリである。
The
エンジンCPU108は、フラッシュメモリ107のプログラムに基づいてRAM106をワークメモリとして利用して、スキャナ制御、用紙の搬送、プロッタ104での作像、定着等のエンジン100全般の制御を行う。
The
エンジンASIC101は、ビデオ出力部111やコミュニケーションバッファ112を備え、コントローラ200とエンジンCPU108、コントローラ200とプロッタ制御ASIC105との間のデータのインターフェイスを行う。
The engine ASIC 101 includes a
ビデオ出力部111は、出力する画像の画像データをコントローラ200のメインメモリ204から読み込み、マスク処理、合成処理、フォーマット変換等を行ってプロッタ制御ASIC105へ出力するが、プロッタ制御ASIC105が画像データをプロッタ104へ出力するのに合わせて、一定時間内に一定量の画像データをプロッタ制御ASIC105に出力する必要がある。すなわち、ビデオ出力部111は、その動作タイミングに制約を受ける制約画像処理を実行する。
The
アービタ110は、エンジンASIC101内の各モジュールであるビデオ出力部111、エンジン側ワークエリア制御部113、解像度変換部114及び圧縮伸張部115等からコントローラCPU202へのアクセスの調停を行う。
The
コミュニケーションバッファ112は、エンジンCPU108とコントローラCPU202との間の通信のためのバッファ領域である。
The
解像度変換部114は、プリンタ動作、ファクシミリ動作時に、コントローラ200のメインメモリ204上の低解像度の画像データをプロッタ104の解像度の画像データに変換する解像度変換処理を行うモジュールであり、変換後の画像データをメインメモリ204に書き込む。この解像度変換部114による画像処理は、メインメモリ204からメインメモリ204へ画像データを転送するため、処理時間に幅をもたせることができる。すなわち、解像度変換部114は、その動作タイミングに制約を受けない非制約画像処理を実行するモジュールである。
The
圧縮伸張部115は、メインメモリ204に確保する画像データ領域を削減するために、メインメモリ204上の画像の圧縮及び伸張を行うモジュールであり、処理後の画像データをメインメモリ204上に書き込む。この圧縮伸張部115による画像処理は、メインメモリ204からメインメモリ204へ画像データを転送する処理であるため、処理時間に幅をもたせることができる。すなわち、圧縮伸張部115は、その動作タイミングに制約を受けない非制約画像処理を実行するモジュールである。
The compression /
エンジン側ワークエリア制御部113は、解像度変換部114及び圧縮伸張部115で使用するワークエリアの管理を行う。
The engine-side work
コントローラ200は、複合装置1の全体制御や各種アプリケーションの実行を行う制御装置であり、コントローラ200のコントローラASIC201は、エンジン100から入力された画像データのメインメモリ204への転送、コピー時の画像処理、ハードディスク203へのリード/ライト等の制御を行う。
The
ビデオ入力部210は、スキャナ画像処理ASIC103から入力されるスキャナ102の読み取った画像データを圧縮して、メインメモリ204へ転送する。ビデオ入力部210は、このデータ転送処理においては、スキャナ102の画像読み取り速度に合わせて画像データを一定時間内に一定量出力する必要がある。すなわち、ビデオ入力部210は、その動作タイミングに制約を受ける制約画像処理を実行する。
The
アービタ211は、コントローラASIC201内の各モジュールであるビデオ入力部210、配信画像処理部213、コントローラ画像処理部214及びハードディスクI/F215からコントローラCPU202へのアクセスの調停を行う。
The
コントローラ側ワークエリア制御部212は、配信画像処理部213及びコントローラ画像処理部214が使用するワークエリアの管理を行う。
The controller-side work
配信画像処理部213は、メインメモリ204上の画像データをネットワークを経由して配信するために、画像の変換処理を行うモジュールであり、変換後の画像データをメインメモリ204へ書き戻す。この配信画像処理部213における画像処理は、メインメモリ204からメインメモリ204へ画像データを転送する処理であるため、処理時間に幅をもたせることができる。すなわち、配信画像処理部213は、その動作タイミングに制約を受けない非制約画像処理を実行するモジュールである。
The distribution
コントローラ画像処理部214は、メインメモリ204上の圧縮画像データを展開して、フィルタ処理、色変換処理、階調処理等を施すモジュールであり、処理後の画像データをメインメモリ204へ書き戻す。このコントローラ画像処理部214における画像処理は、メインメモリ204からメインメモリ204へ処理画像データを転送する処理であるため、処理時間に幅をもたせることができる。すなわち、コントローラ画像処理部214は、その動作タイミングに制約を受けない非制約画像処理を実行するモジュールである。
The controller
ハードディスクI/F215は、ハードディスク203へのリード/ライトの制御を行い、ハードディスク203は、各種画像データの蓄積やコントローラCPU202の一時記憶領域に使用される記憶装置である。
A hard disk I /
コントローラCPU202は、メモリコントローラ及びPCI Express、PCIの汎用インターフェイスを備え、メインメモリ204の領域確保及びリード/ライト制御、プリンタの画像描画、コピー、スキャナ、ファクシミリ、配信等の各種アプリケーションの実行等を行う。特に、コントローラCPU202は、メインメモリ204にモジュール114、115、213、214のワークエリアを確保する領域確保手段として機能する。
The
メインメモリ204は、コントローラCPU202がプロッタ104で出力する画像描画や各種アプリケーションの実行を行うための作業用メモリであり、コントローラCPU202により、各種データの一時記憶領域やDMAC用ディスクリプタ領域等の用途に使用される。特に、メインメモリ204は、コントローラCPU202によって確保されたワークエリアをモジュール114、115、213、214によって利用されるエンジンASIC101、コントローラASIC201外の記憶手段として機能する。
The
上記エンジン側ワークエリア制御部113及びコントローラ側ワークエリア制御部212は、エンジン側ワークエリア制御部113について図2に示すように、ワークエリア設定部301と領域判定部302等を備えており、コントローラ側ワークエリア制御部212についても同様の構成である。
As shown in FIG. 2, the engine-side work
ワークエリア設定部301は、コントローラCPU202がメインメモリ204においてエンジン100側またはコントローラ200側の画像処理のワークエリアとして使用することができる領域を設定するためのモジュールである。
The work
領域判定部302は、ワークエリア設定部301に設定された領域と、各モジュール114、115、213、214からのワークエリア信号に基づいて、ワークエリア割り当てができるか否かを判定し、割り当てができた場合に、割り当てたワークエリアの先頭アドレス信号を出力する。
The
これらのエンジン側ワークエリア制御部113及びコントローラ側ワークエリア制御部212は、コントローラCPU202の確保したメインメモリ204のワークエリアにそのエアー区エリアの範囲内で領域確保要求のあったモジュール114、115、213、214用のモジュール利用領域であるワークエリアを確保するモジュール領域確保手段として機能する。
These engine-side work
そして、上記各モジュール114、115、213、214は、通常のモジュール構成であり、メインメモリ204からディスクリプタ情報や画像データの読み込みを行うリードDMAC401(図9参照)、リードDMACの読み込んだ画像データに対して画像処理を行う画像処理部402(図9参照)、画像処理部402の処理した画像データをメインメモリ204に書き戻すライトDMAC403(図9参照)及びリードDMAC401、画像処理部402、ライトDMAC403が動作するための各種設定及び状態確認を行うレジスタ制御部404(図9参照)等を備えている。
Each of the
次に、本実施例の作用を説明する。本実施例の複写装置1は、モジュール114、115、213、214毎にメインメモリ204にワークエリアを割り当てて使用させて、該メインメモリ204を使用したモジュール処理を可能とする。
Next, the operation of this embodiment will be described. The copying
まず、複合装置1におけるスキャナで読み取った画像データをメインメモリ204に格納した後、コントローラ画像処理部214で必要な画像処理を行った後、プロッタ104で印刷出力する場合の画像データの流れについて、図3に基づいて説明する。
First, after storing image data read by the scanner in the
この場合、複合装置1は、スキャナ102で読み取られた画像データをスキャナ画像処理ASIC103、アービタ211、コントローラCPU202を介してメインメモリ204に蓄積し(図3のa)、このメインメモリ204上の画像データを、コントローラCPU202、アービタ211を介してコントローラ画像処理部214に送り、コントローラ画像処理部214でフィルタ処理、色変換処理、階調処理等の必要な画像処理を施して、アービタ211、コントローラCPU202を介してメインメモリ204に書き戻す(図3のb)。そして、複合装置1は、このメインメモリ204上の画像データをコントローラCPU202、エンジンのアービタ110、ビデオ出力部111、プロッタ制御ASIC105を介してプロッタ104に送り、プロッタ104で用紙に印刷出力する(図3のc)。
In this case, the
また、複合装置1は、図4に示すように、メインメモリ204上の画像データに必要な画像処理を施して、配信処理、ファクシミリ処理及びプリンタ処理等を行う。
Further, as illustrated in FIG. 4, the
すなわち、複合装置1は、配信処理を行う場合、メインメモリ204上の画像データをコントローラCPU202及びアービタ211を介して配信画像処理部213に送り、配信画像処理部213で、ネットワークを経由して配信するのに必要な画像変換処理を行って、アービタ211及びコントローラCPU202を介してメインメモリ204上に書き戻す(図4のd)。複合装置1は、このメインメモリ204上の画像変換処理された画像データを図示しないネットワーク部を介して配信する。また、複合装置1は、ファクシミリ処理を行う場合、メインメモリ204上の画像データをコントローラCPU202及びエンジン100のアービタ110を介して解像度変換部114に転送して、解像度変換部114で解像度変換を行い、アービタ114及びコントローラCPU202を介してメインメモリ204に書き戻して、最終的に、ファクシミリ送信する(図4のe)。さらに、複合装置1は、プリンタ処理を行う場合、図示しないホスト装置から受信してメインメモリ204上に保管した画像データをコントローラCPU202及びアービタ110を介して圧縮伸張部115に送って、圧縮伸張部115で圧縮・伸張した後、アービタ110及びコントローラCPU202を介してメインメモリ204に書き戻して、最終的に、プリンタ104で印刷出力する(図4のf)。
That is, when performing the distribution process, the
そして、上記図3及び図4の画像データの流れにおいて、スキャナ102からメインメモリ204に至るデータ流れ(図3のa)及びメインメモリ204からプロッタ104へ至るデータ流れ(図3のc)は、スキャナ102やプロッタ104の機械的動作が関与するため、一定時間内に一定量の画像データが流れる必要のある制約画像処理であるが、メインメモリ204からコントローラ画像処理部214に送って画像処理後の画像データをメインメモリ204に戻すデータ流れ(図3のb)、メインメモリ204から配信画像処理部213に送って画像処理後の画像データをメインメモリ204に戻すデータ流れ(図4のd)、メインメモリ204から解像度変換部114に送って画像処理後の画像データをメインメモリ204に戻すデータ流れ(図4のe)及びメインメモリ204から圧縮伸張部115に送って画像処理後の画像データをメインメモリ204に戻すデータ流れ(図4のf)に関しては、機械的動作が関与しないため、処理時間に幅をもたせることができる非制約画像処理である。
3 and 4, the data flow from the
そして、複合装置1は、エンジン100のエンジン側ワークエリア制御部113及びコントローラ200のコントローラ側ワークエリア制御部212が、以下のように、ワークエリアの管理を行う。
In the
すなわち、複合装置1は、図5に示すように、初期状態において、各モジュールである解像度変換部114、圧縮伸張部115、配信画像処理部213、コントローラ画像処理部214が、メインメモリ204上にワークエリアを使用しないため、ワークエリアサイズとして「0」をワークエリア制御部113、212に出力し(ステップS101)、初期状態において、ワークエリア制御部113、212は、各モジュール114、115、213、214がワークエリアを使用しないため、ワークエリアアドレスとして、「0」を各モジュール114、115、213、214に出力する(ステップS102)。
That is, as illustrated in FIG. 5, in the initial state, the
そして、各モジュール114、115、213、214は、動作を始める際に、メインメモリ204上の必要なワークエリアサイズをワークエリア制御部113、212に出力し(ステップS103)、ワークエリア制御部113、212は、要求されたワークエリアサイズが、現在ワークエリアとしてメインメモリ204上に設定されている全領域空き領域よりも大きいかどうか判断する(ステップS104)。
Each
ステップS104で、ワークエリア制御部113、212は、要求されたワークエリアサイズが、現在ワークエリアとして設定されている全領域空き領域よりも大きい場合には、ワークエリアのサイズが拡大されないと処理を行うことができないため、要求ワークエリア領域レジスタにモジュール114、115、213、214からの要求ワークエリアサイズをセットして、コントローラCPU202にワークエリア変更要求割り込みを出力し(ステップS105)、コントローラCPU202は、ワークエリア変更要求割り込みがあると、ワークエリア制御部113、212の要求ワークエリア領域レジスタをリードして(ステップS106)、要求されたワークエリア領域よりも大きい新しいワークエリア領域をメインメモリ204に確保する(ステップS107)。
In step S104, if the requested work area size is larger than the total free area currently set as the work area, the work
コントローラCPU202は、メインメモリ204に領域の確保ができると、新しいワークエリア領域をワークエリア制御部113、212に設定し(ステップS108)、ワークエリア制御部113、212は、ワークエリアが使用中(全てのモジュール114、115、213、214からのワークエリアサイズ信号の総和が「0」ではない)であるかチェックして、ワークエリアが使用中の場合には、ワークエリアの使用が終了するまで待つ(ステップS109)。
When the
ワークエリア制御部113、212は、全てのワークエリアが未使用(全てのモジュール114、115、213、214からのワークエリアサイズ信号の総和が「0」)になると、コントローラCPU202にワークエリア変更完了割り込みを出力し(ステップS110)、ワークエリアに空き領域があるか否かを判定する(ステップS111)。
When all the work areas are unused (the sum of the work area size signals from all the
ステップS111で、ワークエリアに空き領域がないときには、ワークエリア制御部113、212は、ワークエリアを使用しているモジュール114、115、213、214の処理が終了してワークエリアサイズ「0」が返ってくるまで待つ(ステップS111)。
If there is no free space in the work area in step S111, the work
ワークエリア制御部113、212は、ステップS111でワークエリアに空き領域があるか、空き領域ができると、空き領域に該モジュール114、115、213、214用のモジュール利用領域としてワークエリアの割り当てを行い(ステップS112)、割り当てが決定すると、ワークエリアの先頭アドレスを各モジュール114、115、213、214に出力する。
The work
各モジュール114、115、213、214は、ワークエリア制御部113、212から「0」以外のワークエリアアドレスがくると、そのアドレスからメインメモリ204をワークメモリとして使用して、画像処理を行う(ステップS114)。
When each
各モジュール114、115、213、214は、画像処理を終了すると、ワークエリアサイズ「0」をワークエリア制御部113、212に出力し(ステップS116)、ワークエリア制御部113、212は、ワークエリアサイズが「0」になると、該モジュール114、115、213、214の使用ワークエリアを開放する(ステップS116)。ワークエリア制御部113、212は、ワークエリアを開放すると、開放通知をコントローラCPU202に行い、開放通知を受けたコントローラCPU202は、領域変更したワークエリアのサイズを予め設定されている元のワークエリアサイズに戻す等の処理を行う。
Upon completion of the image processing, each of the
上記ステップS104で、ワークエリア制御部113、212は、要求されたワークエリアサイズが、現在ワークエリアとして設定されている全領域よりも小さく、該モジュール114、115、213、214が必要とするワークエリアが足りるので、ステップS111に移行して、ワークエリアに空き領域があるか否かを判定する処理から上記同様に処理する(ステップS111〜S116)。
In step S104, the work
次に、コントローラCPU202は、プログラムの実行中にメインメモリ204の空き容量が不足した場合、ワークエリアに割り当てているメモリ領域を削減して、必要なプログラムの実行を行う。そこで、コントローラCPU202がワークエリアに割り当てるメインメモリ204の領域を変更するワークエリア領域変更処理について、図6に基づいて説明する。
Next, when the free space of the
コントローラCPU202は、図6に示すように、プログラムの実行中にメインメモリ204を使用する必要が発生すると、全ワークエリアよりも要求ワークエリアサイズが大きいかチェックし(ステップS201)、プログラムの実行に必要な領域が確保できた場合には、処理を終了する。
As shown in FIG. 6, when it is necessary to use the
ステップS201で、プログラムの実行に必要な領域が確保できなかった場合には、コントローラCPU202は、まず、メインメモリ204に対して領域を削減した新しいワークエリア領域の確保を行い(ステップS202)、ワークエリア制御部113、212のワークエリア設定部301に新しいワークエリアの開始アドレスとサイズを設定する(ステップS203)。
If the area necessary for program execution cannot be secured in step S201, the
ワークエリア制御部113、212は、ワークエリアが使用中(全てのモジュールからのワークエリアサイズ信号の総和が「0」ではない)であるかチェックして、使用中であると、使用が終了するまで待つ(ステップS204)。
The work
ステップS204で、ワークエリア制御部113、212は、全てのワークエリアが未使用(全てのモジュールからのワークエリアサイズ信号の総和が「0」)になると、コントローラCPU202にワークエリア変更完了割り込みを出力し(ステップS205)、コントローラCPU202は、ワークエリア変更完了割り込みがくると、古いワークエリアを他の用途に使用する(ステップS206)。
In step S204, when all work areas are unused (the sum of work area size signals from all modules is “0”), the work
すなわち、いま、コントローラCPU202が、図7に示すように、プリンタアプリ、コピーアプリ、ファクシミリアプリ等の複合装置1の機能を実現する各種プロセスであるプリケーションのうち、図7(a)に示すように、メインメモリ204に、アプリケーションAを実行していて、ワークエリアを割り当てている状態のときに、アプリケーションBを実行する場合、図7(a)の状態では、アプリケーションBを実行するのに必要な空き領域があるため、図7(b)に示すように、メモリの割り当てを行ってアプリケーションBを実行する。 さらに、図7(b)の状態で、アプリケーションCを実行する場合、コントローラCPU202は、アプリケーションCを実行するには空き容量が足りないため、図(c)に示すように、ワークエリアを削減する。
That is, as shown in FIG. 7A, among the applications that are various processes for realizing the functions of the
コントローラCPU202は、メインメモリ204のワークエリアの変更が完了して、アプリケーションCを実行できる空きエリアを確保すると、図7(d)に示すすように、アプリケーションCを実行する。
When the change of the work area of the
このように、本実施例の複写装置1は、プログラムのメモリ使用状態に応じてメインメモリ204中の複数のモジュール114、115、213、214が画像処理に使用することのできるワークエリアの割り当てを行うので、メインメモリ204の利用効率を向上させることができ、メインメモリ204の容量の増大を抑えることができる。
As described above, the copying
そして、ワークエリア制御部113、212は、図8に示すように、ワークエリアの割り当てを行う。なお、図8において、ハッチング部分は、利用されているメモリ領域であり、モジュールMa、Mbは、上記モジュール114、115、213、214のいずれかを示している。
Then, the work
すなわち、初期状態からコントローラCPU202により、あるサイズのワークエリア用の領域がメインメモリ204上に確保され、ワークエリア制御部113、212のワークエリア設定部301に設定されている状態(図8(a))で、例えば、モジュールMaから空き領域のサイズよりも小さいサイズの割り当ての要求がくると(図8(イ))、ワークエリア制御部113、212は、モジュールMaの要求しているサイズ分の領域をメインメモリ204に確保し、ワークエリアアドレスをモジュールMaに割り当てる(図8(b))。
That is, from the initial state, the
この状態で、モジュールMbから空き領域のサイズよりも小さいサイズの割り当ての要求がくると(図8(ロ))、ワークエリア制御部113、212は、その分の領域をメインメモリ204に確保し、ワークエリアアドレスをモジュールMbに割り当てる(図8(c))。
In this state, when the module Mb requests to allocate a size smaller than the size of the free area (FIG. 8B), the work
次に、モジュールMaの処理が終了して、モジュールMaからのワークエリアサイズが「0」になると(図8(ハ))、ワークエリア制御部113、212は、いままでモジュールMaに使用していたメインメモリ204の領域を開放する(図8(d))。
Next, when the processing of the module Ma is finished and the work area size from the module Ma becomes “0” (FIG. 8C), the work
さらに、モジュールMbの処理が終了して、モジュールMbからのワークエリアサイズが「0」になると、ワークエリア制御部113、212は、その領域を開放する(図8(ニ))。この後、コントローラCPU202は、他の用途にメインメモリ204を使用するため、ワークエリアの領域を変更する(図8(e))。
Further, when the processing of the module Mb is finished and the work area size from the module Mb becomes “0”, the work
この状態で、モジュールMaから空き領域のサイズよりも小さいサイズの割り当ての要求がくると、ワークエリア制御部113、212は、その分の領域をメインメモリ204に確保し、ワークエリアアドレスをモジュールMaに割り当て(図8(ホ))、メインメモリ204の該空き領域にモジュールMaを割り当てる(図8(f))。
In this state, when the module Ma requests to allocate a size smaller than the size of the free area, the work
次に、モジュールMbから領域割り当ての要求がくると、ワークエリア制御部113、212は、空き領域がないため、モジュールMaの処理が終了するまで待つ(図8(へ))。
Next, when an area allocation request is received from the module Mb, the work
そして、モジュールMaの処理が終了すると(図8(g))、モジュールMbに割り当てる空き領域ができたため、ワークエリア制御部113、212は、その分の領域を確保し、ワークエリアアドレスをモジュールMbに割り当てて(図8(ト))、メインメモリ204のいままでモジュールMaの使用していた領域に、モジュールMbを割り当てる(図8(f))。
When the processing of the module Ma is completed (FIG. 8 (g)), since there is a free area allocated to the module Mb, the work
この状態で、モジュールMbの処理が終了して、モジュールMbからのワークエリアサイズが「0」になると(図8(チ))、ワークエリア制御部113、212は、その領域を開放する(図8(i))。
In this state, when the processing of the module Mb is finished and the work area size from the module Mb becomes “0” (FIG. 8H), the work
そして、上記メインメモリ204を利用した画像処理においては、図9に示すように、機械的動作を伴うスキャナ102からの画像データの入力処理やプロッタ104への画像データの出力処理においては、メインメモリ204に入力画像領域204aと出力画像領域204bを専用に設け、該機械的動作を伴う画像データ入力処理や画像データ出力処理を該入力画像領域204aと出力画像領域204bを使用して行い、機械的動作を伴わない中間の画像処理では、メインメモリ204のワークエリアに確保した中間画像領域204cを使用して行う。
In the image processing using the
すなわち、複合装置1は、スキャナ102で読み取った画像データを入力するときには、メインメモリ204の入力画像領域204aに格納し、その後、図9(a)に示すように、この入力画像領域204aに格納されている画像データをモジュール114、115、213、214に転送して、該モジュール114、115、213、214で、中間の画像処理を施して、メインメモリ204に転送するときには、メインメモリ204の中間画像領域204cに格納する。なお、図9では、モジュール114、115、213、214とメインメモリ204との間に介在する回路部分については、省略して示している。
That is, when inputting the image data read by the
そして、このメインメモリ204の中間画像領域204cに格納した画像データを、モジュール114、115、213、214で画像処理した後に最終的にプロッタ104に送って出力するときには、図9(b)に示すように、中間画像領域204cの画像データをモジュール114、115、213、214に転送して、画像処理を施した後、メインメモリ204の出力画像領域204bに転送して、該出力画像領域204bの画像データをプロッタ104に転送して出力させる。そして、中間画像領域204cは、処理が終了すると、開放される。
When image data stored in the
このように、本実施例の複合装置1は、ASIC101、201に搭載されている各種画像処理を実行する複数のモジュール114、115、213、214が、該ASIC101、201外の記憶手段であるメインメモリ204を利用して、その処理動作タイミングに制約を受けない非制約画像処理であるを実行する場合、すなわち、スキャナ102やプロッタ104の機械的動作が関与せず、一定時間内に一定量の画像データが流れる必要のない処理を実行する場合、コントローラCPU202の確保したメインメモリ204のワークエリアに、ワークエリア制御部113、212が、該モジュール114、115、213、214が個別に利用する要求ワークエリア(モジュール利用領域)をそのワークエリアの範囲内で確保し、該モジュール114、115、213、214が、該要求ワークエリアを利用して該画像処理を実行している。
As described above, in the
したがって、ASIC101、201のコストを削減することができるとともに、処理効率を向上させることができる。
Therefore, the cost of the
また、本実施例の複写装置1は、ワークエリア制御部113、212が、コントローラCPU202により設定されたワークエリアの範囲内でモジュール114、115、213、214の利用する個別の要求ワークエリアの割り当てを行っているので、コントローラCPU202による領域管理の頻度を削減することができ、コントローラCPU202の負荷を低減させることができる。
Further, in the
さらに、本実施例の複写装置1は、ワークエリア制御部113、212が、モジュール114、115、213、214から個別に要求されたモジュール利用領域である要求ワークエリアがコントローラCPU202によって用意されているワークエリアの空き領域よりも大きいときには、コントローラCPU202に対して要求ワークエリアの確保に必要な該ワーク領域の拡張確保を依頼している。
Further, in the
したがって、処理動作タイミングに制約を受けない非制約画像処理を、メインメモリ204を利用して、確実に実行することができ、ASIC101、201のコストを削減することができるとともに、処理効率を向上させることができる。
Therefore, unconstrained image processing that is not restricted by the processing operation timing can be reliably executed by using the
また、本実施例の複写装置1は、ワークエリア制御部113、212が、モジュール114、115、213、214から個別に要求されたモジュール利用領域である要求ワークエリアの拡張確保をコントローラCPU202に依頼した後、全てのモジュール114、115、213、214のワークエリアを使用した処理が完了すると、該処理完了通知をコントローラCPU202に通知している。
In the
したがって、コントローラCPU202の負荷を抑制しつつ、メインメモリ204がワークエリアを変更する場合のタイミングの制約を無くして、メインメモリ204の利用を適正化することができ、利用性を向上させることができる。
Therefore, while restraining the load on the
さらに、本実施例の複写装置1は、モジュール114、115、213、214の処理動作タイミングに制約を受ける制約画像処理(例えば、スキャナ102を利用した画像データの入力処理やプリンタ104への画像データの出力処理)用の制約画像処理用領域である入力画像領域204a、出力画像領域204bを固定的にメインメモリ204に確保し、ワークエリア制御部113、212が、モジュール114、115、213、214から該入力画像領域204a、出力画像領域204bの領域確保要求があると、入力画像領域204a、出力画像領域204bを確保している。
Furthermore, the copying
したがって、処理動作タイミングに制約を受けない非制約画像処理のためにDMACを追加することなく、ASIC101、201のゲート数の大幅な増加を抑制して、ASIC101、201のコストを下げることができる。
Therefore, a significant increase in the number of gates of the
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 The invention made by the present inventor has been specifically described based on the preferred embodiments. However, the present invention is not limited to the above, and various modifications can be made without departing from the scope of the invention. Needless to say.
本発明は、少ないメモリを搭載したASIC等の集積回路を用いて効率的かつ適切に画像処理を行うプリンタ装置、複写装置、複合装置等の画像処理装置及び画像処理方法に利用することができる。 The present invention can be used in an image processing apparatus and an image processing method such as a printer apparatus, a copying apparatus, and a composite apparatus that perform image processing efficiently and appropriately using an integrated circuit such as an ASIC equipped with a small amount of memory.
1 複合装置
100 エンジン
101 エンジンASIC
102 スキャナ
103 スキャナ画像処理ASIC
104 プロッタ
105 プロッタ制御ASIC
106 RAM
107 フラッシュメモリ
108 エンジンCPU
110 アービタ
111 ビデオ出力部
112 コミュニケーションバッファ
113 エンジン側ワークエリア制御部
114 解像度変換部
115 圧縮伸張部
200 コントローラ
201 コントローラASIC
202 コントローラCPU
203 ハードディスク
204 メインメモリ
210 ビデオ入力部
211 アービタ
212 コントローラ側ワークエリア制御部
213 配信画像処理部
214 コントローラ画像処理部
215 ハードディスクI/F
301 ワークエリア設定部
302 領域判定部
401 リードDMAC
402 画像処理部
403 ライトDMAC
404 レジスタ制御部
1
102
104
106 RAM
107
DESCRIPTION OF
202 Controller CPU
203
301 Work
402
404 Register controller
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007203711A JP4781327B2 (en) | 2007-08-04 | 2007-08-04 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007203711A JP4781327B2 (en) | 2007-08-04 | 2007-08-04 | Image processing apparatus and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009038776A JP2009038776A (en) | 2009-02-19 |
JP4781327B2 true JP4781327B2 (en) | 2011-09-28 |
Family
ID=40440288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007203711A Expired - Fee Related JP4781327B2 (en) | 2007-08-04 | 2007-08-04 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4781327B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5575064B2 (en) * | 2011-06-24 | 2014-08-20 | 京セラドキュメントソリューションズ株式会社 | Controller and image processing device |
JP7001001B2 (en) * | 2018-06-18 | 2022-01-19 | 株式会社リコー | Control device, image forming device, control method and control program |
-
2007
- 2007-08-04 JP JP2007203711A patent/JP4781327B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009038776A (en) | 2009-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3660182B2 (en) | Image processing device | |
JP4854309B2 (en) | Data storage control device | |
US8687223B2 (en) | Image processing apparatus and image processing method utilizing efficient memory regions | |
JP4781327B2 (en) | Image processing apparatus and image processing method | |
US10209931B2 (en) | Image processing apparatus and image forming apparatus | |
JP4560490B2 (en) | Image forming apparatus control method, image forming apparatus control program, and image forming apparatus | |
JP2005167333A (en) | Image processing apparatus | |
JP5340058B2 (en) | Image processing apparatus, control method thereof, and program | |
JP5132451B2 (en) | Image forming apparatus | |
JP2001144920A (en) | Image processor, image processing method and computer- readable recording medium for recording program to allow computer to execute the method | |
JP7158656B2 (en) | Image forming apparatus, image forming method and image forming program | |
JP4332308B2 (en) | Image processing apparatus, program, recording medium on which program is written, and image forming apparatus | |
JP2010124236A (en) | Image forming device, method for transferring image data, and program | |
JP2018118477A (en) | Image processing device, control method and program of the same | |
JP2020104337A (en) | Image processing device, control method of image processing device, and program | |
JP5370065B2 (en) | Image forming apparatus, image forming apparatus control method, and control program | |
JP3669574B2 (en) | Image processing apparatus, image processing method, program for causing computer to execute the method, and computer-readable recording medium storing the program | |
JP4034323B2 (en) | Image data processing method, image data processing apparatus, and image forming apparatus | |
US10282318B2 (en) | Image processing apparatus, method of controlling image processing apparatus, and recording medium | |
JP3670918B2 (en) | Image processing device | |
JP2002268940A (en) | Image processor | |
JP2008124851A (en) | Output processing device and data structure for executing processing thereof | |
JP5587029B2 (en) | Image processing apparatus and image processing apparatus control method | |
JP5952306B2 (en) | Image forming apparatus | |
JP4516336B2 (en) | Image processing apparatus, image forming apparatus, image processing method, computer program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100401 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100401 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110616 |
|
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: 20110621 |
|
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: 20110705 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140715 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |