JP2019050062A - Image processing apparatus and method for controlling the same, and program - Google Patents

Image processing apparatus and method for controlling the same, and program Download PDF

Info

Publication number
JP2019050062A
JP2019050062A JP2018248323A JP2018248323A JP2019050062A JP 2019050062 A JP2019050062 A JP 2019050062A JP 2018248323 A JP2018248323 A JP 2018248323A JP 2018248323 A JP2018248323 A JP 2018248323A JP 2019050062 A JP2019050062 A JP 2019050062A
Authority
JP
Japan
Prior art keywords
image processing
memory
data
processing means
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.)
Granted
Application number
JP2018248323A
Other languages
Japanese (ja)
Other versions
JP6808712B2 (en
Inventor
伊藤 忠幸
Tadayuki Ito
忠幸 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018248323A priority Critical patent/JP6808712B2/en
Publication of JP2019050062A publication Critical patent/JP2019050062A/en
Application granted granted Critical
Publication of JP6808712B2 publication Critical patent/JP6808712B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Input (AREA)

Abstract

To solve the problem in which: in an image processing apparatus including a plurality of image processing circuits, a dedicated memory belonging to an image processing circuit temporarily stopped according to an operation mode cannot be used from the other operating image processing circuits.SOLUTION: An image processing apparatus comprises: a plurality of image processing means that each processes image data stored in an external storage of the image processing apparatus for every partial image data; an interface with the external storage; a common memory that is shared by the plurality of image processing means, holds data processed by the image processing means through the interface, and constituted by a plurality of SRAMs included inside the image processing apparatus; and a memory control circuit that allocates, to the common memory, an input buffer area that temporarily holds the partial image data input to the image processing means from the external storage, the partial image data before being processed by the image processing means, and an output buffer area that temporarily holds the partial image data after being processed by the image processing means output to the external storage from the image processing means.SELECTED DRAWING: Figure 2

Description

本発明は、画像処理装置及びその制御方法、並びに、プログラムに関する。   The present invention relates to an image processing apparatus, a control method therefor, and a program.

近年、入力デバイスとして、スキャナ、ビデオカメラなどが普及している。また、出力デバイスとして、インクジェット、染料熱昇華型あるいは電子写真などの方式を用いた、各種カラープリンタが普及している。一般に、これらのカラー入/出力デバイスの中で使用されている代表的な画像処理として、「色空間変換」や「空間フィルタ処理」が挙げられる。   In recent years, scanners, video cameras and the like have become widespread as input devices. In addition, various color printers using an inkjet, dye thermal sublimation type or electrophotographic system as an output device are in widespread use. In general, typical image processing used in these color input / output devices include "color space conversion" and "spatial filtering".

「色空間変換」とは、カラー画像等に対する、上記入/出力デバイス間での色再現性に関する問題を解決するために、入力デバイスの色空間を出力デバイスの色空間に変換する処理である。具体的には入力γ補正、輝度濃度変換、マスキング、黒生成、UCR、出力γ補正等の一連の画像処理全体のことを指す場合と、その中の一定の処理のみを指す場合とがある。   The “color space conversion” is a process of converting the color space of the input device into the color space of the output device in order to solve the problem relating to the color reproducibility between the input / output devices with respect to a color image or the like. Specifically, it may refer to the entire series of image processing such as input γ correction, luminance density conversion, masking, black generation, UCR, output γ correction, etc., and it may refer to only certain processing among them.

また「空間フィルタ処理」とは、処理対象となる画素(以下、処理画素と略称する)を含む空間フィルタ領域に含まれるすべての画素を用いて何らかの演算を行なう局所(近傍)画像処理のことである。例えば、エッジ強調処理やぼかし処理といった処理のことを指す。   Also, "spatial filtering" refers to local (near-by) image processing that performs some operation using all the pixels included in the spatial filter area including the pixel to be processed (hereinafter referred to as a processing pixel). is there. For example, it refers to processing such as edge enhancement processing and blurring processing.

このような画像処理を実現する画像処理回路では、各種演算回路の他に、各種演算回路で必要となる参照データを一時的に記憶したり、カラー画像の処理画素の画素値を一時的に記憶したりするためのメモリを付属することが多い。これらの画像処理回路で用いられるメモリについて、具体的な例を挙げて詳しく説明する。   The image processing circuit for realizing such image processing temporarily stores reference data required by various operation circuits in addition to various operation circuits, and temporarily stores the pixel value of the processing pixel of the color image. It often comes with a memory to The memories used in these image processing circuits will be described in detail by way of specific examples.

先の色空間変換では、入力デバイスの3色のデジタル画像信号を同時に参照して、出力デバイスの3色あるいは4色のデジタル画像信号に変換することが多い。ここで、入力デバイスの3色とは、例えば、レッド、ブルー、グリーンの3色(以下、「RGB」と略す)を指す。また、出力デバイスの3色とは、例えば、シアン、マゼンタ、イエローの3色を指す(以下、「CMY」と略す)。また、出力デバイスの4色とは、例えば、シアン、マゼンタ、イエロー、ブラックの4色(以下、「CMYK」と略す)を指す。また電子写真方式の複写機の場合、稼働時間とともにプリンタのエンジン特性が変化するため、定期的なキャリブレーションが必要となる。このような場合には、出力デバイスの4色(例えば、「CMYK」)から出力デバイスの4色(例えば、「C'M'Y'K'」)への変換も必要となる。   In the above color space conversion, the three-color digital image signal of the input device is often referred to simultaneously to be converted to the three-color or four-color digital image signal of the output device. Here, the three colors of the input device indicate, for example, three colors of red, blue, and green (hereinafter, abbreviated as “RGB”). Further, the three colors of the output device refer to, for example, three colors of cyan, magenta and yellow (hereinafter abbreviated as "CMY"). Further, the four colors of the output device indicate, for example, four colors of cyan, magenta, yellow, and black (hereinafter, abbreviated as "CMYK"). In the case of an electrophotographic copying machine, the engine characteristics of the printer change with the operating time, so periodic calibration is required. In such a case, conversion from four colors (for example, "CMYK") of the output device to four colors (for example, "C'M'Y'K '") of the output device is also required.

上記色空間変換を実現する手段として、予め変換結果をルックアップ・テーブル(以下、「LUT」と略す)としてメモリに記憶しておき、入力されたデジタル画像信号に対してそのLUTから変換結果を出力する方法がある。   As a means for realizing the above color space conversion, the conversion result is stored in advance as a look-up table (hereinafter abbreviated as "LUT") in a memory, and the conversion result is converted from the LUT to the input digital image signal. There is a way to output.

このLUTを用いた色空間変換方法では、3色入力のデジタル画像信号に対して使用されるLUTを、三次元ルックアップ・テーブル(以下、「3D-LUT」と略す)と呼ぶ。また、4色入力のデジタル画像信号に対して使用されるLUTを、四次元ルックアップ・テーブル(以下、「4D-LUT」と略す)と呼ぶ。   In the color space conversion method using this LUT, the LUT used for digital image signals of three-color input is called a three-dimensional look-up table (hereinafter abbreviated as "3D-LUT"). Also, the LUT used for digital image signals of four-color input is called a four-dimensional look-up table (hereinafter abbreviated as "4D-LUT").

ここで、三次元入力の色空間(RGB空間)の各軸方向に16分割される場合、3D-LUTは16の3乗のエントリ数をもつメモリが必要となる(特許文献1を参照)。従って、RGB空間をCMYK空間に変換するために1エントリあたり4バイトのデータ量なら、16Kバイトの容量のメモリが色空間変換回路の専用メモリ(同回路の一部)として実装される。   Here, in the case of dividing into 16 in each axial direction of the color space (RGB space) of the three-dimensional input, the 3D-LUT needs a memory having the number of entries of the cube of 16 (see Patent Document 1). Therefore, a memory of a capacity of 16 Kbytes is implemented as a dedicated memory (part of the same circuit) of the color space conversion circuit if the data amount is 4 bytes per entry to convert RGB space to CMYK space.

また、四次元入力の色空間(CMYK空間)の各軸方向に16分割される場合、4D-LUTは16の4乗のエントリ数(3D-LUTの16倍の大きさ)をもつメモリが必要となる。即ち、CMYK空間をC'M'Y'K'空間に変換するため、1エントリあたり4バイトのデータ量なら、256Kバイトの容量のメモリが色空間変換回路の専用メモリ(同回路の一部)として実装される。   In addition, when divided into 16 in each axis direction of color space (CMYK space) of four-dimensional input, 4D-LUT needs memory with the entry number of 16 4 (16 times the size of 3D-LUT) It becomes. That is, in order to convert the CMYK space into the C'M'Y'K 'space, if the amount of data is 4 bytes per entry, a memory with a capacity of 256 Kbytes is a dedicated memory of the color space conversion circuit (part of the same circuit) Implemented as

また先の空間フィルタ処理の場合、デジタル画像データの左上端の画素から主走査方向に沿って1画素ずつ画像処理を行ない、右端の画素まで画像処理を行なう。そして、副走査方向に1画素だけ進み、再度左端の画素から主走査方向に沿って1画素ずつ右端まで画像処理を行なう。この一連の画像処理を、デジタル画像データの右下端の画素についての画像処理を終えるまで繰り返し実行し、所望の画像処理を行なう。   In the case of the above-mentioned spatial filter processing, image processing is performed pixel by pixel from the upper left end pixel of the digital image data in the main scanning direction, and image processing is performed up to the right end pixel. Then, it advances by one pixel in the sub scanning direction, and image processing is performed again from the pixel at the left end to the right end by one pixel along the main scanning direction. This series of image processing is repeatedly executed until image processing on the pixel at the lower right of the digital image data is completed, and desired image processing is performed.

かかる技術では、デジタル画像データの主走査方向の幅が大きくなるにつれて、大きなメモリ容量が必要になる。例えば、A4サイズの画像を、解像度が600dpiのスキャナで読み取り、デジタル画像データに変換した場合、デジタル画像データの幅は4953画素となる。また1画素が前述RGBで構成され、RGBが3バイトのデータ量である場合に、3×3の空間フィルタ領域に対しては2ライン分の遅延メモリが必要となる。約29Kバイト(4953画素×2ライン×3バイト)の容量をもつメモリが空間フィルタ回路の専用メモリ(同回路の一部)として実装される。   Such a technique requires a large memory capacity as the width in the main scanning direction of digital image data increases. For example, when an A4 size image is read by a scanner having a resolution of 600 dpi and converted into digital image data, the width of the digital image data is 4953 pixels. Further, when one pixel is constituted by the aforementioned RGB, and RGB has a data amount of 3 bytes, a delay memory for 2 lines is required for the 3 × 3 spatial filter area. A memory having a capacity of about 29 Kbytes (4953 pixels × 2 lines × 3 bytes) is implemented as a dedicated memory (part of the same circuit) of the spatial filter circuit.

また1画素が前述CMYKで構成され、CMYKが4バイトのデータ量である場合を考える。この場合、上記3×3の空間フィルタ領域に対しては、約39Kバイト(4953画素×2ライン×4バイト)の容量をもつメモリが空間フィルタ回路の専用メモリ(同回路の一部)として実装される。   Further, it is assumed that one pixel is constituted by the above-mentioned CMYK, and the CMYK has a data amount of 4 bytes. In this case, a memory having a capacity of about 39 Kbytes (4953 pixels × 2 lines × 4 bytes) is mounted as a dedicated memory (part of the same circuit) of the space filter circuit for the 3 × 3 space filter area. Be done.

近年、製品の高画質化や機能強化のために画像処理装置には種々の画像処理回路が必要となる。しかしながら、画像処理回路はCPUのようにプログラムを交換すれば、処理内容を変更できるというものではない。よって、多岐に渡る製品の動作モードの変更により、画像処理装置の種々の画像処理回路のうち、ある画像処理回路は動作させられ、別の画像処理回路は不必要であるために一時的に停止させられるという状況が起こる。   2. Description of the Related Art In recent years, various image processing circuits are required for an image processing apparatus in order to improve the image quality and enhance functions of products. However, the image processing circuit can not change the contents of processing if programs are exchanged like a CPU. Therefore, by changing the operation mode of various products, one image processing circuit is operated among the various image processing circuits of the image processing apparatus, and another image processing circuit is temporarily stopped because it is unnecessary. A situation occurs in which

このとき、停止状態の画像処理回路付属の専用メモリも同時に停止し、動作中の他の画像処理回路から使用することはできない。上述の説明で示したように画像処理回路に専用メモリとして接続されるメモリ容量は非常に大きく、専用メモリの回路規模は画像処理LSI全体の中で占める割合は大きい。これらのメモリは一時的に無駄となってしまい、ハードウェア資源が有効活用されない(画像処理LSI全体の活性率が向上しない)。   At this time, the dedicated memory attached to the image processing circuit in the stopped state is also stopped at the same time, and can not be used from other image processing circuits in operation. As described in the above description, the memory capacity connected as a dedicated memory to the image processing circuit is very large, and the circuit scale of the dedicated memory occupies a large proportion of the entire image processing LSI. These memories are temporarily wasted, and hardware resources are not effectively used (the activation rate of the entire image processing LSI is not improved).

特開2007−67956号公報JP 2007-67956 A

このように複数画像処理回路を含む画像処理装置において、動作モードにより一時的に停止状態の画像処理回路付属の専用メモリが、動作中の他の画像処理回路から使用できないという課題がある。   As described above, in the image processing apparatus including a plurality of image processing circuits, there is a problem that the dedicated memory attached to the image processing circuit temporarily stopped due to the operation mode can not be used from other image processing circuits in operation.

本発明は、上述した課題に鑑みてなされたもので、複数の画像処理回路の専用メモリを互いに共用することで、一部の画像処理回路が動作しない場合でも、他の動作中の画像処理回路が使用できるような技術を提供することを目的とする。   The present invention has been made in view of the problems described above, and by sharing the dedicated memories of a plurality of image processing circuits with each other, the image processing circuits in other operations may be operated even when some of the image processing circuits do not operate. To provide technology that can be used by

上記の課題を解決するための本発明に係る画像処理装置は、
前記画像処理装置の外部の外部記憶に保持されている画像データを部分画像データごとに処理する複数の画像処理手段と、
前記外部記憶とのインタフェースと、前記複数の画像処理手段が共有し、前記インタフェースを介して前記画像処理手段が処理するデータを保持する、前記画像処理装置が内部に有する複数のSRAMで構成される共有メモリと、
前記共有メモリに、前記画像処理手段へ前記外部記憶から入力される前記部分画像データであって前記画像処理手段が処理する前の前記部分画像データを一時的に保持する入力バッファ領域と、前記画像処理手段から前記外部記憶へ出力される前記画像処理手段が処理した後の前記部分画像データを一時的に保持する出力バッファ領域と、を割り当てるメモリ制御回路と
を有する。
An image processing apparatus according to the present invention for solving the above problems is:
A plurality of image processing means for processing image data held in an external storage outside the image processing apparatus for each partial image data;
An interface with the external storage, and a plurality of SRAMs internally included in the image processing apparatus, which share the plurality of image processing units and hold data to be processed by the image processing units through the interface Shared memory,
An input buffer area for temporarily holding the partial image data that is the partial image data input from the external storage to the image processing means from the external storage in the shared memory and before the image processing means processes the image; And a memory control circuit for assigning an output buffer area for temporarily holding the partial image data processed by the image processing means which is output from the processing means to the external storage.

本発明によれば、複数の画像処理回路の専用メモリを互いに共用することで、一部の画像処理回路が動作しない場合でも、当該回路のための領域を他の動作中の画像処理回路に割り当てることができる。これにより、常に画像処理に使用するメモリの活性率を向上させることができる。   According to the present invention, by sharing the dedicated memories of a plurality of image processing circuits with one another, even if some of the image processing circuits do not operate, the area for the circuit is allocated to the other image processing circuits in operation. be able to. Thereby, the activation rate of the memory used for image processing can always be improved.

画像処理装置10の全体構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of the overall configuration of an image processing apparatus 10. 画像処理部150の回路構成の一例を示すブロック図である。FIG. 3 is a block diagram showing an example of a circuit configuration of an image processing unit 150. 共有メモリ制御回路270の一例を説明する図である。FIG. 16 is a diagram for explaining an example of a shared memory control circuit 270. 共有メモリ280のアドレスマップの一例を説明する図である。It is a figure explaining an example of the address map of shared memory 280. FIG. 未使用メモリのクロックを停止可能な状態の画像処理部の回路構成の一例と、共有メモリのアドレスマップの一例を示す図である。FIG. 6 is a diagram illustrating an example of a circuit configuration of an image processing unit in a state in which a clock of an unused memory can be stopped and an example of an address map of a shared memory. 共有メモリ制御処理の一例を示すフローチャートである。5 is a flowchart illustrating an example of shared memory control processing; 発明の第4の実施形態に対応するバンド処理の動作の一例を説明する図である。It is a figure explaining an example of operation of band processing corresponding to a 4th embodiment of the invention.

以下、添付の図面を参照して本発明の好適な実施形態を説明する。   Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

[第1の実施形態]
図1は、第1実施形態による画像処理装置10の全体構成の一例を示すブロック図である。図1において、画像読み取り部120は、レンズ124、CCDセンサ126、及びA/D変換部127等を有する。画像読み取り部120において、レンズ124を介しCCDセンサ126に結像された原稿110の画像情報が、CCDセンサ126によりR(Red),G(Green),B(Blue)のアナログ電気信号に変換される。アナログ電気信号に変換された画像情報は、A/D変換部127に入力され、R,G,Bの色毎に補正等が行われた後にアナログ/デジタル変換(A/D変換)される。こうして、デジタル化されたフルカラー信号(デジタル画像信号という)が生成される。1組のR,G,Bで構成されるデジタル画像信号が画像の1画素を表現する。
First Embodiment
FIG. 1 is a block diagram showing an example of the entire configuration of an image processing apparatus 10 according to the first embodiment. In FIG. 1, the image reading unit 120 includes a lens 124, a CCD sensor 126, an A / D conversion unit 127, and the like. In the image reading unit 120, image information of the document 110 formed on the CCD sensor 126 via the lens 124 is converted by the CCD sensor 126 into analog electric signals of R (Red), G (Green) and B (Blue). Ru. The image information converted into the analog electrical signal is input to the A / D conversion unit 127, corrected and the like for each of the R, G, and B colors, and then analog / digital converted (A / D conversion). Thus, a digitized full color signal (referred to as a digital image signal) is generated. A digital image signal composed of one set of R, G, B represents one pixel of the image.

CPU102は書込用のDMAC(Direct Memory Access Controller)192を制御し、生成されたデジタル画像信号を、共有バス190を介してCPU回路部100のRAM106に画像データとして格納させる。次にCPU102は読出用DMAC194を制御して、RAM106に格納された画像データを読み出して画像処理部150に入力する。   The CPU 102 controls a write DMAC (Direct Memory Access Controller) 192 and stores the generated digital image signal as image data in the RAM 106 of the CPU circuit unit 100 via the shared bus 190. Next, the CPU 102 controls the read DMAC 194 to read out the image data stored in the RAM 106 and input the image data to the image processing unit 150.

画像処理部150は、入力されたデジタル画像信号に対し、例えばスキャナなどのセンサ・デバイスの読み取り素子の個体差の補正と入力ガンマ補正などの色補正を行い、読み取り画像を正規化して一定水準の画像データを作成する。そしてこれら処理が施されたデジタル画像信号は、CPU102の制御に応じて、書込用DMAC196によりRAM106に再度、格納させる。   The image processing unit 150 performs, for example, correction of individual differences of the reading elements of the sensor or device such as a scanner and color correction such as input gamma correction on the input digital image signal, normalizes the read image, Create image data. The digital image signal subjected to these processes is stored again in the RAM 106 by the write DMAC 196 in accordance with the control of the CPU 102.

画像処理部150は、入力されたデジタル画像信号に対し、その他に入力色補正処理、空間フィルタ処理、色空間変換、および濃度補正処理、印刷のための前処理としての画像処理を施し印刷可能な画像データを作成することもできる。この場合も、上述同様に書込用DMAC196によりRAM106に格納させる。   The image processing unit 150 can also print the input digital image signal by performing input color correction processing, spatial filter processing, color space conversion, density correction processing, and image processing as preprocessing for printing. Image data can also be created. Also in this case, the write DMAC 196 causes the RAM 106 to store the same as described above.

最後にCPU102は、読出用DMAC198を制御してRAM106に格納された画像処理済みの画像データを読み出し、中間調処理を施して画像印刷(プリンタ)部170へ出力する。この画像印刷(プリンタ)部170は、たとえば、インクジェットヘッドやサーマルヘッド等を使用したラスタプロッタ等の印刷出力部(図示せず)を備えて構成され、入力されたデジタル画像信号により紙上に画像を記録する。   Finally, the CPU 102 controls the read DMAC 198 to read out the image-processed image data stored in the RAM 106, performs halftone processing, and outputs the processed image data to the image printing (printer) unit 170. The image printing (printer) unit 170 includes, for example, a print output unit (not shown) such as a raster plotter using an ink jet head or a thermal head, and the image is printed on paper by the input digital image signal. Record.

また、CPU回路部100は、演算制御用のCPU102、固定データやプログラムを格納するROM104、データの一時保存やプログラムのロードに使用されるRAM106、及び外部記憶装置108等を備える。CPU回路部100は、画像読み取り部120、画像処理部150、及び画像印刷(プリンタ)部170等を制御し、本実施形態の画像処理装置10のシーケンスを統括的に制御する。   The CPU circuit unit 100 further includes a CPU 102 for arithmetic control, a ROM 104 for storing fixed data and programs, a RAM 106 for temporarily storing data and loading a program, and an external storage device 108. The CPU circuit unit 100 controls the image reading unit 120, the image processing unit 150, the image printing (printer) unit 170, and the like, and controls the overall sequence of the image processing apparatus 10 of the present embodiment.

外部記憶装置108は、本実施形態の画像処理装置10が使用するパラメータやプログラムや補正データを記憶するディスク等の記憶媒体であり、RAM106のデータやプログラム等は、外部記憶装置108からロードされる構成としても構わない。   The external storage device 108 is a storage medium such as a disk that stores parameters, programs, and correction data used by the image processing apparatus 10 according to the present embodiment. Data, programs, and the like of the RAM 106 are loaded from the external storage device 108 It does not matter as a structure.

次に、図1の画像処理部150について詳細に説明する。図2は、本実施形態の画像処理部150の回路構成の一例を示すブロック図である。   Next, the image processing unit 150 of FIG. 1 will be described in detail. FIG. 2 is a block diagram showing an example of the circuit configuration of the image processing unit 150 of the present embodiment.

デジタル画像信号が画像処理部150に入力され、以下に説明する画像処理が実行される。画像処理部150は、画像処理入力回路210、空間フィルタ処理回路(1)220、空間フィルタ処理回路(2)230、色空間変換回路240、出力γ補正回路250、及び画像処理出力回路260を備えて構成される。   The digital image signal is input to the image processing unit 150, and the image processing described below is performed. The image processing unit 150 includes an image processing input circuit 210, a spatial filter processing circuit (1) 220, a spatial filter processing circuit (2) 230, a color space conversion circuit 240, an output γ correction circuit 250, and an image processing output circuit 260. Is configured.

以下、画像処理入力回路210、空間フィルタ処理回路(1)220、空間フィルタ処理回路(2)230、色空間変換回路240、出力γ補正回路250、及び画像処理出力回路260について詳細に説明する。   The image processing input circuit 210, the spatial filter processing circuit (1) 220, the spatial filter processing circuit (2) 230, the color space conversion circuit 240, the output γ correction circuit 250, and the image processing output circuit 260 will be described in detail below.

[画像処理入力回路210]
画像処理部150の外部にある読出用DMAC194を経由してデジタル画像信号205が入力される。このデジタル画像信号205はR,G,Bの輝度信号で構成される。画像処理入力回路210は、ダブルバッファ構成のメモリを制御可能でデジタル画像信号205を受け取りながら、一旦バッファに格納する。また一方で前回バッファに格納したデジタル画像信号を読み出してデジタル画像信号215として出力する。
[Image processing input circuit 210]
A digital image signal 205 is input via a readout DMAC 194 external to the image processing unit 150. The digital image signal 205 is composed of R, G and B luminance signals. The image processing input circuit 210 can control the memory of the double buffer configuration and temporarily store it in the buffer while receiving the digital image signal 205. On the other hand, the digital image signal stored in the previous buffer is read out and output as a digital image signal 215.

[空間フィルタ処理回路(1)220/空間フィルタ処理回路(2)230]
画像処理入力回路210から出力されたデジタル画像信号215が、空間フィルタ処理回路(1)220に入力される。空間フィルタ処理回路(1)220は、フィルタ処理を行うための遅延メモリを制御可能であり、すでに遅延メモリに蓄積されたデジタル画像信号と入力されたデジタル画像信号215をもとに平滑化やエッジ強調といった局所(近傍)画像処理を行う。処理結果は、デジタル画像信号225として出力される。処理と同時に、既に遅延メモリに蓄積されたデジタル画像信号のうち、不必要なデジタル画像信号を入力されたデジタル画像信号215と置き換える。
[Spatial filter processing circuit (1) 220 / Spatial filter processing circuit (2) 230]
The digital image signal 215 output from the image processing input circuit 210 is input to the spatial filter processing circuit (1) 220. The spatial filter processing circuit (1) 220 can control a delay memory for performing filter processing, and performs smoothing or an edge based on the digital image signal already accumulated in the delay memory and the input digital image signal 215. Perform local (near-by) image processing such as enhancement. The processing result is output as a digital image signal 225. Among the digital image signals already accumulated in the delay memory, unnecessary digital image signals are replaced with the input digital image signals 215 simultaneously with processing.

また空間フィルタ処理回路(2)230も、デジタル画像信号225の入力を受け、空間フィルタ処理回路(1)220と同様な処理を行い、デジタル画像信号235として出力する。   The spatial filter processing circuit (2) 230 also receives the input of the digital image signal 225, performs the same processing as the spatial filter processing circuit (1) 220, and outputs it as a digital image signal 235.

[色空間変換回路240]
空間フィルタ処理回路(2)230から出力されたデジタル画像信号235が、色空間変換回路240に入力される。色空間変換回路240は色変換のための3D−LUTや4D−LUTを保持するメモリを制御可能である。色空間変換回路240は、3D−LUTから参照データを取得して補間演算を行い、入力されたデジタル画像信号235の輝度信号R,G,Bを別色空間の輝度信号R',G',B'や濃度信号C,M,Yや濃度信号C,M,Y,Kに変換する。変換結果は、デジタル画像信号245として出力される。また入力されたデジタル画像信号235が、濃度信号C,M,Y,Kの4成分の場合、色空間変換回路240は、4D−LUTから参照データを取得して補間演算を行う。デジタル画像信号235の濃度信号C,M,Y,Kは、別の濃度信号C',M',Y',K'に変換され、デジタル画像信号245として出力される。
[Color space conversion circuit 240]
The digital image signal 235 output from the spatial filter processing circuit (2) 230 is input to the color space conversion circuit 240. The color space conversion circuit 240 can control a memory that holds a 3D-LUT or 4D-LUT for color conversion. The color space conversion circuit 240 acquires reference data from the 3D-LUT and performs interpolation operation, and the luminance signals R, G, B of the input digital image signal 235 are converted into luminance signals R ', G', of another color space. It is converted into B ', density signals C, M, Y and density signals C, M, Y, K. The conversion result is output as a digital image signal 245. When the input digital image signal 235 has four components of density signals C, M, Y, and K, the color space conversion circuit 240 acquires reference data from the 4D-LUT and performs interpolation. The density signals C, M, Y, K of the digital image signal 235 are converted into other density signals C ′, M ′, Y ′, K ′ and output as digital image signals 245.

[出力γ補正回路250]
色空間変換回路240から出力されたデジタル画像信号(輝度信号R',G',B'、濃度信号C,M,Yなど)245が、出力γ補正回路250に入力される。出力γ補正回路250は出力デバイス機器固有の色補正を行うための1D−LUTを保持するメモリを制御可能である。出力γ補正回路250は、1D−LUTから参照データを取得して補間演算を行い、入力されたデジタル画像信号245を補正し、デジタル画像信号255として出力する。
[Output γ correction circuit 250]
The digital image signals (luminance signals R ′, G ′, B ′, density signals C, M, Y, etc.) 245 output from the color space conversion circuit 240 are input into the output γ correction circuit 250. The output γ correction circuit 250 can control a memory holding a 1D-LUT for performing color correction specific to the output device. The output γ correction circuit 250 acquires reference data from the 1D-LUT, performs interpolation operation, corrects the input digital image signal 245, and outputs it as a digital image signal 255.

[画像処理出力回路260]
画像処理出力回路260は、ダブルバッファ構成のメモリを制御可能でデジタル画像信号255を受け取りながら、一旦バッファに格納する。また一方で前回バッファに格納したデジタル画像信号を読み出して画像処理部150の外部にある書込用DMAC196を経由してRAM106へデジタル画像信号265を出力する。
[Image processing output circuit 260]
The image processing output circuit 260 can control the memory of the double buffer configuration and temporarily store it in the buffer while receiving the digital image signal 255. On the other hand, the digital image signal stored in the previous buffer is read, and the digital image signal 265 is output to the RAM 106 via the write DMAC 196 outside the image processing unit 150.

画像処理部150を構成する複数の画像処理回路210〜260は、いずれもメモリを制御して画像処理を行う。各処理回路は、このメモリ制御のために制御ポート272を介して共有メモリ制御回路270を操作する。画像処理回路の各々は、共有メモリ制御回路270に対してメモリ・アクセス方法指定信号274を送付し、共有メモリ制御回路270からメモリ・アクセス終了信号276を受け取り、共有メモリ制御回路270との同期を実現する。また画像処理回路の各々からのメモリ制御がデータ書き込み(ライト)の場合、メモリ・アクセス方法指定信号274の送付と同時もしくは連続して書き込み(ライト)データを画像処理回路の各々は共有メモリ制御回路270へ送付する。   The plurality of image processing circuits 210 to 260 constituting the image processing unit 150 all control the memory to perform image processing. Each processing circuit operates the shared memory control circuit 270 via the control port 272 for this memory control. Each of the image processing circuits sends a memory access method designation signal 274 to the shared memory control circuit 270, receives a memory access end signal 276 from the shared memory control circuit 270, and synchronizes with the shared memory control circuit 270. To realize. When the memory control from each of the image processing circuits is data writing, each of the image processing circuits has a shared memory control circuit simultaneously or sequentially with the sending of the memory access method designation signal 274. Send to 270

また画像処理回路の各々からのメモリ制御がデータ読み出し(リード)の場合、読み出し(リード)データを画像処理回路の各々は共有メモリ制御回路270から受け取る。メモリ制御がデータ読み出し(リード)の場合には、読み出し(リード)データの受け取りにより、メモリ制御の完了を画像処理回路の各々は判断できる。そこで、メモリ・アクセス終了信号276を省く実装方法でも良いし、読み出し(リード)データの受け取りと同時、もしくは、前もって、もしくは最後にメモリ・アクセス終了信号276を受け取る実装方法でもよい。   When the memory control from each of the image processing circuits is data read (read), each of the image processing circuits receives read data from the shared memory control circuit 270. When the memory control is data read (read), each of the image processing circuits can determine the completion of the memory control by receiving the read (read) data. Therefore, the memory access end signal 276 may be omitted, or the memory access end signal 276 may be received simultaneously with, prior to, or at the end of receiving the read data.

共有メモリ制御回路270は、共有メモリ280と読出用DMAC290と書込用DMAC294とに接続される。但し、画像処理回路のすべてが後述するリード・キャッシュ・モードをサポートしない場合、共有メモリ制御回路270は、読出用DMAC290と接続する必要がない。また、画像処理回路のすべてが後述するライト・キャッシュ・モードをサポートしない場合、共有メモリ制御回路270は、書込用DMAC294と接続する必要がない。たとえ画像処理回路のいずれかが、リード・キャッシュ・モードもしくはライト・キャッシュ・モードをサポートする場合であっても、読出用DMAC290と書込用DMAC294とが画像処理部150の外側にあってよい。その際、共有メモリ制御回路270は、読出用DMAC290もしくは書込用DMAC294を制御するための制御ポートと接続する実装方法でかまわない。   The shared memory control circuit 270 is connected to the shared memory 280, the read DMAC 290, and the write DMAC 294. However, if all of the image processing circuits do not support the read cache mode described later, the shared memory control circuit 270 need not be connected to the read DMAC 290. In addition, when all of the image processing circuits do not support the write cache mode described later, the shared memory control circuit 270 need not be connected to the write DMAC 294. The read DMAC 290 and the write DMAC 294 may be outside the image processing unit 150 even if any of the image processing circuits support the read cache mode or the write cache mode. At this time, the shared memory control circuit 270 may be connected to a control port for controlling the read DMAC 290 or the write DMAC 294.

本実施形態の共有メモリ280は、1個以上のメモリ(メモリ280−1からメモリ280−Nで図示)で構成されており、画像処理回路210から260の処理性能との兼ね合いで共有メモリを構成すべきメモリの個数が決定される。このとき共有メモリ280は、複数のメモリ(実体)を統合してできる仮想的なメモリである。   The shared memory 280 according to the present embodiment includes one or more memories (shown as memories 280-1 to 280-N), and configures the shared memory in consideration of the processing performance of the image processing circuits 210 to 260. The number of memories to be determined is determined. At this time, the shared memory 280 is a virtual memory formed by integrating a plurality of memories (entities).

またLSI実装において、ある容量のメモリを1個で実装するより、より小さい容量の複数個のサブメモリに分割して実装する方が、回路規模は増加する。これは、1個のメモリには電源を確保するための領域やメモリをテストするためのテスト回路を接続するための領域が必要となるからである。しかしながら、メモリを複数のサブメモリに分割した場合、並列に読み書きできるデータ量が増加するため、1サイクルあたりの処理性能を向上しやすい。画像処理回路210から260は、合計8個の制御ポート272を必要としている。   Further, in the LSI mounting, the circuit scale is increased if the memory having a certain capacity is divided into a plurality of sub memories having a smaller capacity than in a single case. This is because one memory needs an area for securing a power supply and an area for connecting a test circuit for testing the memory. However, when the memory is divided into a plurality of sub memories, the amount of data that can be read and written in parallel increases, so the processing performance per cycle can be easily improved. The image processing circuits 210 to 260 require a total of eight control ports 272.

たとえば、コンシューマ向けのプリンタ用画像処理装置で、画像処理回路210から260の処理性能が1/10[pixel/cycle]でよければ、画像処理回路の各々は10クロックに1回の割合でメモリ制御すればよいこととなる。この場合、共有メモリ280をメモリ(1)280−1だけで実現すればよい。   For example, in a consumer printer image processing apparatus, if the processing performance of the image processing circuits 210 to 260 may be 1/10 [pixel / cycle], each of the image processing circuits performs memory control at a rate of once every 10 clocks. It will be good. In this case, the shared memory 280 may be realized by only the memory (1) 280-1.

一方、事務機向けのプリンタ用画像処理装置で、画像処理回路210から260の処理性能が1/1[pixel/cycle]であれば、共有メモリ280を少なくとも10基のメモリ(1)〜(N)(N=10)で実現する必要がある。なお、空間フィルタ処理回路は、データの読み出しと書き込みの2回のメモリ制御を必要とすると仮定した場合、上述のような概算となる。   On the other hand, if the processing performance of the image processing circuits 210 to 260 is 1/1 [pixel / cycle] in a printer image processing apparatus for office equipment, at least 10 shared memories 280 (1) to (N) ) (N = 10). When it is assumed that the space filter processing circuit requires two memory controls of reading and writing of data, the above approximation is obtained.

また共有メモリ制御回路270は、メモリ(1)280−1〜メモリ(N)280−Nを制御するためのチップ・セレクト信号(cs)、リード/ライト識別信号(rw)、アドレス信号(address)、ライトデータ(write_data)を出力する。また、メモリ(1)280−1〜メモリ(N)280−Nから、リードデータ(read_data)を受け取る(これらの信号を、メモリ制御信号284と総称する)。   The shared memory control circuit 270 also controls a chip select signal (cs), a read / write identification signal (rw), and an address signal (address) for controlling the memory (1) 280-1 to the memory (N) 280-N. , Write data (write_data). Also, read data (read_data) is received from the memory (1) 280-1 to the memory (N) 280-N (these signals are generically called a memory control signal 284).

本実施形態の動作モードに応じた共有メモリ280の使用領域の割り当てについて、図4を用いて説明する。まず、第1の動作モードに対応するcase1記載のアドレスマップは、図2記載の画像処理回路の全てが使用される場合を示している。   Allocation of the use area of the shared memory 280 according to the operation mode of the present embodiment will be described with reference to FIG. First, the address map described in Case 1 corresponding to the first operation mode shows the case where all of the image processing circuits shown in FIG. 2 are used.

画像処理入力回路210で使用するダブルバッファは、入力バッファ410および入力バッファ412を切り替えて使用することで実現される。また空間フィルタ処理回路(1)220は遅延メモリ(1)420を使用し、空間フィルタ処理回路(2)230は遅延メモリ(2)430を使用する。色空間変換回路240は、3次元LUT440を使用し、出力γ補正回路250は1次元LUT(1)450を使用する。画像処理出力回路260で使用するダブルバッファは出力バッファ460および出力バッファ462を切り替えて使用することで実現される。   The double buffer used in the image processing input circuit 210 is realized by switching and using the input buffer 410 and the input buffer 412. The spatial filter processing circuit (1) 220 uses a delay memory (1) 420, and the spatial filter processing circuit (2) 230 uses a delay memory (2) 430. The color space conversion circuit 240 uses a three-dimensional LUT 440, and the output γ correction circuit 250 uses a one-dimensional LUT (1) 450. The double buffer used in the image processing output circuit 260 is realized by switching between the output buffer 460 and the output buffer 462.

図4に記載のcase2およびcase3は、第1の動作モードとは異なる第2及び第3の動作モードにおけるアドレスマップの一例と画像処理回路の構成例を示している。case2では前述case1の空間フィルタ処理回路(1)220が停止しており、共有メモリ280の未使用領域をcase1の入力バッファ410と412、遅延メモリ(2)430、出力バッファ460と462で使用する。より具体的処理内容は、第4実施形態において説明する。case2では、3次元LUT440および、1次元LUT(1)450についてはcase1と共有メモリ280上の先頭アドレスは異なるが容量は同じである。   Case 2 and case 3 shown in FIG. 4 show an example of the address map in the second and third operation modes different from the first operation mode and a configuration example of the image processing circuit. In case 2, the space filter processing circuit (1) 220 of case 1 is stopped, and the unused area of shared memory 280 is used by input buffers 410 and 412 of case 1, delay memory (2) 430, and output buffers 460 and 462 . More specific processing content will be described in the fourth embodiment. In case 2, for the three-dimensional LUT 440 and the one-dimensional LUT (1) 450, the case 1 and the top address on the shared memory 280 are different but the capacity is the same.

またcase3は、前述case1の空間フィルタ処理回路(1)220、空間フィルタ処理回路(2)230が停止しており、未使用領域は、色空間変換回路240と出力γ補正回路250に割り当てられている。case3の一例では、入力デジタル画像信号がC,M,Y,Kの4色であり、色空間変換回路240が4次元四面体補間法を用いた色空間変換でC',M',Y',K'の4色を出力している。このとき必要となる4D−LUTは前述のように256Kバイトも必要であるため、図示の例ではキャッシュ・データが共有メモリ280の4次元LUT用データキャッシュ440に展開されている。また出力γ補正回路250も4色のデジタル画像信号のための1次元LUT450が割り当てられている。   In case 3, the space filter processing circuit (1) 220 and the space filter processing circuit (2) 230 in case 1 are stopped, and unused areas are allocated to the color space conversion circuit 240 and the output γ correction circuit 250. There is. In one example of case 3, the input digital image signal has four colors of C, M, Y and K, and the color space conversion circuit 240 performs color space conversion using four-dimensional tetrahedron interpolation method C ', M' and Y '. , K 'are output. Since the 4D-LUT required at this time requires 256 K bytes as described above, cache data is expanded in the four-dimensional LUT data cache 440 of the shared memory 280 in the illustrated example. The output γ correction circuit 250 is also assigned a one-dimensional LUT 450 for digital image signals of four colors.

上記のように画像処理装置10の動作モードにより、停止中の画像処理回路が使用していた共有メモリ280の使用領域を、あるときは画像処理の効率(処理性能)向上のために動作中の別の画像処理回路が使用することができる。また、あるときは高画質化を含む機能向上のために動作中の別の画像処理回路が使用することができる。   As described above, depending on the operation mode of the image processing apparatus 10, the use area of the shared memory 280 used by the image processing circuit being stopped is used to improve the efficiency (processing performance) of the image processing, if any. Other image processing circuits can be used. At other times, another image processing circuit in operation can be used to improve the function including high image quality.

図6に記載のフローチャートの処理により、停止中の画像処理回路が使用していた共有メモリ280の使用領域を適切に動作中の別の画像処理回路に割り振る。まず、ステップS601では、CPU回路部100において画像処理の動作モードを決定する。次に、ステップS602では、決定した画像処理の動作モードに基づいて、CPU回路部100が処理回路制御部として機能して、使用する画像処理回路を選定する。さらに、ステップS603では、画像処理部150が他の関連ドメインからデジタル画像データを入出力するためのバッファの容量を読出用DMAC194及び書込用DMAC196の転送量から算出する。続くステップS604以降では、動作モードにより選定された画像処理回路各々に必要となるメモリ容量を画像処理内容に応じて算出する。   By the process of the flowchart shown in FIG. 6, the use area of the shared memory 280 used by the image processing circuit in suspension is appropriately allocated to another image processing circuit in operation. First, in step S601, the CPU circuit unit 100 determines an operation mode of image processing. Next, in step S602, the CPU circuit unit 100 functions as a processing circuit control unit based on the determined operation mode of image processing, and selects an image processing circuit to be used. Further, in step S603, the image processing unit 150 calculates the buffer capacity for inputting / outputting digital image data from another related domain from the transfer amounts of the read DMAC 194 and the write DMAC 196. In step S604 and subsequent steps, the memory capacity required for each of the image processing circuits selected in the operation mode is calculated according to the content of the image processing.

まず、ステップS604では、色空間変換回路240を用いた色空間変換を行うか否かを判定する。もし、色空間変換を行う場合(ステップS604において「YES」)、ステップS605に移行する。一方、色空間変換を行わない場合(ステップS604において「NO」)、ステップS606に移行する。   First, in step S604, it is determined whether color space conversion using the color space conversion circuit 240 is to be performed. If color space conversion is to be performed ("YES" in step S604), the process moves to step S605. On the other hand, when color space conversion is not performed ("NO" in step S604), the process proceeds to step S606.

ステップS605では、色空間変換のLUT容量を算出する。色空間変換では、3次元LUTまたは4次元LUTを使用するので、使用するLUTに応じた容量を算出する。前述のように、例えば3D−LUTの場合は16Kバイト、4D−LUTの場合は256Kバイトとなる。その後、ステップS606に移行する。   In step S605, the LUT capacity for color space conversion is calculated. In color space conversion, since a three-dimensional LUT or a four-dimensional LUT is used, the capacity corresponding to the LUT to be used is calculated. As described above, for example, in the case of 3D-LUT, it is 16 Kbytes and in the case of 4D-LUT, it is 256 Kbytes. Then, it transfers to step S606.

次に、ステップS606では、出力γ補正回路250による出力γ補正を行うか否かを判定する。もし、出力γ補正を行う場合(ステップS606において「YES」)、ステップS607に移行する。一方、出力γ補正を行わない場合(ステップS606において「NO」)、ステップS608に移行する。ステップS607では、出力γ補正に使用する4色のデジタル画像信号のための1次元LUT450の容量を算出する。   Next, in step S606, it is determined whether the output γ correction by the output γ correction circuit 250 is to be performed. If the output γ correction is to be performed (“YES” in step S606), the process proceeds to step S607. On the other hand, when the output γ correction is not performed (“NO” in step S606), the process proceeds to step S608. In step S 607, the capacity of the one-dimensional LUT 450 for the four-color digital image signal used for the output γ correction is calculated.

続くステップS608では、空間フィルタ処理回路(1)220を使用するか否かを判定する。もし、空間フィルタ処理回路(1)220を使用する場合(ステップS608において「YES」)、ステップS609に移行する。ステップS609では、遅延メモリ容量を算出し、ステップS610に移行する。このとき必要で有れば、バンド高さを算出する。バンド高さの算出については、第4の実施形態において詳細を後述する。一方、空間フィルタ処理回路(1)220を使用しない場合(ステップS608において「NO」)、ステップS610に移行する。   In the following step S608, it is determined whether or not the spatial filter processing circuit (1) 220 is to be used. If the spatial filter processing circuit (1) 220 is used ("YES" in step S608), the process proceeds to step S609. In step S609, the delay memory capacity is calculated, and the process proceeds to step S610. If necessary at this time, the band height is calculated. The calculation of the band height will be described later in detail in the fourth embodiment. On the other hand, when the spatial filter processing circuit (1) 220 is not used ("NO" in step S608), the process proceeds to step S610.

続くステップS610では、空間フィルタ処理回路(2)230を使用するか否かを判定する。もし、空間フィルタ処理回路(2)230を使用する場合(ステップS610において「YES」)、ステップS611に移行する。ステップS611では、遅延メモリ容量を算出する。このとき必要で有ればバンド高さを算出する。一方、空間フィルタ処理回路(2)230を使用しない場合(ステップS610において「NO」)、ステップS612に移行する。   In the following step S610, it is determined whether or not the spatial filter processing circuit (2) 230 is to be used. If the spatial filter processing circuit (2) 230 is used ("YES" in step S610), the process proceeds to step S611. In step S611, the delay memory capacity is calculated. If necessary at this time, the band height is calculated. On the other hand, when the spatial filter processing circuit (2) 230 is not used (“NO” in step S610), the process proceeds to step S612.

続くステップS612では、共有メモリ280の使用領域の割当てを決定する。続くステップS613では未使用のメモリの有無を判定し、もし未使用のメモリが存在する場合(ステップS613において「YES」)、ステップS614に移行する。一方、未使用のメモリが存在しない場合(ステップS613において「NO」)、ステップS615に移行する。   In the subsequent step S612, the allocation of the used area of the shared memory 280 is determined. In the following step S613, it is determined whether there is an unused memory, and if there is an unused memory ("YES" in step S613), the process proceeds to step S614. On the other hand, when there is no unused memory ("NO" in step S613), the process proceeds to step S615.

ステップS614では、未使用のメモリに対するクロック供給が停止され、ステップS615に移行する。ステップS615では、決定された共有メモリ280の割り当てに従い、共有メモリ制御回路の変換テーブルに所定の値を予め設定する。ステップS616では、ステップS601において決定された動作モードにおける画像処理を実行する。   In step S614, the clock supply to the unused memory is stopped, and the process proceeds to step S615. In step S615, a predetermined value is set in advance in the conversion table of the shared memory control circuit in accordance with the determined assignment of shared memory 280. In step S616, image processing in the operation mode determined in step S601 is performed.

以下、図3を参照して共有メモリ制御回路の動作と画像処理回路との連携について、より詳細な説明を行う。   Hereinafter, the operation of the shared memory control circuit and the cooperation with the image processing circuit will be described in more detail with reference to FIG.

図3記載のブロック図は、共有メモリ制御回路270の詳細を示している。画像処理回路の各々は、共有メモリ制御回路270との間で接続される制御ポート272を介し、前述のメモリ・アクセス方法指定信号を命令キュー314に入力する。   The block diagram shown in FIG. 3 shows details of the shared memory control circuit 270. Each of the image processing circuits inputs the aforementioned memory access method designation signal to the instruction queue 314 via the control port 272 connected to the shared memory control circuit 270.

制御ポート272には、各画像処理回路に対して1つのポート311が配置されている。ポート311は、命令キュー314と、命令完了キュー316とを有する。命令キュー314には、各画像処理回路からの共有メモリ280に対するメモリ・アクセス方法指定信号が書き込まれる。また、命令完了キュー316には、メモリへの制御の終了を通知するメモリ制御終了信号、又は、共有メモリ280からの読み出し(リード)データが書き込まれる。   In the control port 272, one port 311 is disposed for each image processing circuit. The port 311 has an instruction queue 314 and an instruction completion queue 316. In the instruction queue 314, a memory access method designation signal to the shared memory 280 from each image processing circuit is written. In addition, a memory control end signal for notifying the end of control to the memory or read (read) data from the shared memory 280 is written in the instruction completion queue 316.

メモリ・アクセス調停回路310は優先順位付けに従い、画像処理回路の各々から入力された制御ポートの命令キュー314のメモリ・アクセス方法指定信号を取り出し、変換テーブル370へ送付する。   The memory access arbitration circuit 310 takes out the memory access method designation signal of the instruction queue 314 of the control port input from each of the image processing circuits in accordance with the prioritization and sends it to the conversion table 370.

メモリ・アクセス方法指定信号は、メモリ・アクセス方法を識別するためのID(タグ)と、メモリアクセス位置を特定するための相対開始アドレス(ポインタ)からなる。また変換テーブル370を構成する1エントリのテーブル値は、共有メモリのアドレスマップ上の開始アドレスと容量(ワード数)と1命令で実行すべきメモリ制御回数とメモリ・アクセス方法で構成される。   The memory access method designation signal comprises an ID (tag) for identifying a memory access method and a relative start address (pointer) for specifying a memory access position. Also, the table value of one entry constituting the conversion table 370 is configured by the start address and capacity (number of words) on the address map of the shared memory, the number of memory control times to be executed by one instruction, and the memory access method.

本実施形態におけるメモリ・アクセス方法には、書き込み(Write)、読み出し(Read)、読み出し後の書き込み(Read&Write)、リード・キャッシュ、ライト・キャッシュの5通りがある。これらのメモリ・アクセス方法には、それぞれID(タグ)が割り当てられる。変換テーブル370からは、当該ID(タグ)に従って予め登録された画像処理のためのメモリ・アクセスを実現するためのテーブル値を取得する。   There are five memory access methods in this embodiment: write, read, write after read (Read & Write), read cache, and write cache. Each of these memory access methods is assigned an ID (tag). From the conversion table 370, a table value for realizing memory access for image processing registered in advance according to the ID (tag) is acquired.

以下に各メモリ・アクセス方法の動作を簡単に説明する。   The operation of each memory access method will be briefly described below.

[書き込み(Write)]
テーブル値のメモリ・アクセス方法が書き込み(Write)の場合、相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリに書き込み(ライト)データを書き込む。
[Write]
When the memory access method of the table value is write, write data is written to the shared memory continuously for the number of times of memory control from the addition result of the relative start address (pointer) and the start address.

[読み出し(Read)]
テーブル値のメモリ・アクセス方法が読み出し(Read)の場合、相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリから読み出し(リード)データを読み出す。
[Read]
When the memory access method of the table value is read (Read), read (read) data is read from the shared memory continuously for the number of times of memory control from the addition result of the relative start address (pointer) and the start address.

[読み出し後の書き込み(Read&Write)]
テーブル値のメモリ・アクセス方法が読み出し後の書き込み(Read&Write)の場合、相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリから読み出し(リード)データを読み出す。その後、共有メモリの同アドレスに書き込み(ライト)データを書き込む。
[Write after read (Read & Write)]
When the memory access method of the table value is write after read (Read & Write), read (read) data is read from the shared memory continuously for the number of times of memory control from the addition result of the relative start address (pointer) and the start address. Thereafter, write data is written to the same address of the shared memory.

[ライト・キャッシュ]
テーブル値のメモリ・アクセス方法がライト・キャッシュの場合、相対開始アドレス(ポインタ)をキャッシュのタグ番号に見立て、キャッシュのヒット/ミスヒットを判定する。ヒットであれば相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリに書き込み(ライト)データを書き出す。
[Write cache]
When the memory access method of the table value is the write cache, the relative start address (pointer) is regarded as the cache tag number, and the cache hit / miss hit is determined. If it is a hit, write data is written to the shared memory continuously for the number of times of memory control from the addition result of the relative start address (pointer) and the start address.

また、ミスヒットであれば相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリの所定アドレスのデータを書込用DMACコントローラ360で書込用DMACを制御する。一端RAM106へ書き込む。その後共有メモリの所定アドレスに書き込み(ライト)データを書き込む。   In the case of a mishit, the write DMAC controller 360 controls the write DMAC for data of a predetermined address of the shared memory continuously for the number of times of memory control from the addition result of the relative start address (pointer) and the start address. At the same time, writing to the RAM 106 is performed. Thereafter, write data is written to a predetermined address of the shared memory.

[リード・キャッシュ]
テーブル値のメモリ・アクセス方法がリード・キャッシュの場合、相対開始アドレス(ポインタ)をキャッシュのタグ番号に見立て、キャッシュのヒット/ミスヒットを判定する。ヒットであれば相対開始アドレス(ポインタ)と開始アドレスの加算結果から、メモリ制御回数だけ連続で共有メモリから読み出し(リード)データを読み出す。また、ミスヒットであれば相対開始アドレス(ポインタ)と開始アドレスの加算結果から、メモリ制御回数だけ連続で読出用DMACコントローラ350で読出用DMACを制御する。そして、RAM106から読み出し(リード)データを再取得し、共有メモリの所定アドレスに(リード)データを書き込むと同時に読み出し(リード)データを読み出す。
[Read Cache]
If the table value memory access method is a read cache, the relative start address (pointer) is regarded as a cache tag number to determine a cache hit / miss hit. If it is a hit, from the result of adding the relative start address (pointer) and the start address, read data is read from the shared memory continuously for the number of times of memory control. In the case of a mishit, the read DMAC controller 350 controls the read DMAC continuously for the number of times of memory control based on the addition result of the relative start address (pointer) and the start address. Then, read (read) data is reacquired from the RAM 106, and (read) data is written to a predetermined address of the shared memory, and at the same time read (read) data is read.

上記メモリ・アクセス方法毎の制御は、制御回路380で行われる。制御回路380は、キャッシュのヒット/ミスヒットを判定するキャッシュタグ判定回路、FIFOポインタ回路、読出用回路(READ)、書込用回路(WRITE)と、各回路への入出力を制御するセレクタ(sel)を含む。   Control for each memory access method is performed by the control circuit 380. The control circuit 380 is a cache tag determination circuit that determines cache hit / mishit, a FIFO pointer circuit, a read circuit (READ), a write circuit (WRITE), and a selector that controls input / output to each circuit. sel).

制御回路380からは、共有メモリ280へのアクセス先を規定する所定アドレスとメモリ制御回数とがメモリ制御回路330に送られる。メモリ制御回路330は、所定アドレスとメモリ制御回数から、メモリ(1)からメモリ(N)のいずれに対するメモリ制御であるかを判別する。メモリ制御回路330は、メモリ制御信号を生成してメモリ(1)からメモリ(N)に対して読み書きを行う。   From the control circuit 380, a predetermined address defining the access destination to the shared memory 280 and the number of times of memory control are sent to the memory control circuit 330. The memory control circuit 330 determines which of the memory (1) to the memory (N) the memory control is based on the predetermined address and the number of times of memory control. The memory control circuit 330 generates a memory control signal and performs reading and writing from the memory (1) to the memory (N).

SRAMコントローラ340−1から340−Nと読出用DMACコントローラ350、および書込用DMACコントローラ360には、メモリ制御回数だけ連続でメモリ制御を行うためにシーケンサ345がそれぞれ搭載されている。   A sequencer 345 is mounted on each of the SRAM controllers 340-1 to 340-N, the read DMAC controller 350, and the write DMAC controller 360 in order to perform memory control continuously for the number of times of memory control.

SRAMコントローラ340−1から340−Nと読出用DMACコントローラ350、および書込用DMACコントローラ360は、書き込みであれば、メモリ制御終了信号をリード・データ取得回路320に送る。また、読み出しであれば読出(リード)データもしくは及びメモリ制御終了信号をリード・データ取得回路320に送る。メモリ制御終了信号は、画像処理回路の各々の制御ポート272にある命令完了キュー316へ入力され、画像処理回路の各々がメモリ制御終了信号もしくは、および読み出し(リード)データを得る。   The SRAM controllers 340-1 to 340 -N, the read DMAC controller 350, and the write DMAC controller 360 send a memory control end signal to the read data acquisition circuit 320 in the case of writing. In the case of read, read data or a memory control end signal is sent to the read data acquisition circuit 320. The memory control end signal is input to the instruction completion queue 316 in the control port 272 of each of the image processing circuits, and each of the image processing circuits obtains a memory control end signal or read data.

以下、各画像処理回路におけるメモリ・アクセス方法を説明する。   Hereinafter, a memory access method in each image processing circuit will be described.

画像処理入力回路210は、ダブルバッファ構成を実現する必要があり、読出用DMAC194からの入力デジタル画像データを随時、メモリ・アクセス方法を「書き込み(Write)」を指定して共有メモリへ書き込む。また前回バッファに格納済みのデジタル画像データを後段画像処理回路へ送る場合は、メモリ・アクセス方法を「読み出し(Read)」を指定して共有メモリからデジタル画像データを読み出す。   The image processing input circuit 210 needs to realize a double buffer configuration, and writes the input digital image data from the read DMAC 194 to the shared memory by designating “Write” as the memory access method as needed. When digital image data stored in the previous buffer is to be sent to the subsequent image processing circuit, digital image data is read from the shared memory by designating "Read" as the memory access method.

空間フィルタ処理回路(1)220と空間フィルタ処理回路(2)230は遅延メモリを制御する。遅延メモリ制御の場合、メモリ・アクセス方法を「読み出し後の書き込み(Read&Write)」を指定して共有メモリの読み出しと書き込みを同時に行う。   The spatial filter processing circuit (1) 220 and the spatial filter processing circuit (2) 230 control the delay memory. In the case of delay memory control, the memory access method is specified as "write after read (Read & Write)" to simultaneously read and write the shared memory.

色空間変換回路240と出力γ補正回路250はLUTを制御する。LUT制御の場合、メモリ・アクセス方法を「読み出し(Read)」を指定して共有メモリからデジタル画像データを読み出す。   The color space conversion circuit 240 and the output γ correction circuit 250 control the LUT. In the case of LUT control, digital image data is read out from the shared memory by designating "Read" as the memory access method.

色空間変換回路240が4次元LUTから読み出し(リード)データを読み出す場合に、全てのLUTを共有メモリへ納めることができない場合は、メモリ・アクセス方法を「リード・キャッシュ」を指定する。これにより、共有メモリからLUT参照時にキャッシュ機能を付加する。   If the color space conversion circuit 240 can not store all the LUTs in the shared memory when reading out read data from the four-dimensional LUT, the memory access method is designated as “read cache”. Thereby, a cache function is added at the time of LUT reference from shared memory.

画像処理出力回路260は、ダブルバッファ構成を実現する必要があり、画像処理回路からの出力デジタル画像データを随時、メモリ・アクセス方法を「書き込み(Write)」を指定して共有メモリへ書き込む。また前回バッファに格納済みのデジタル画像データをDMAC(Write)を介してRAM106へ送る場合は、メモリ・アクセス方法を「読み出し(Read)」を指定して共有メモリから出力デジタル画像データを読み出す。   The image processing output circuit 260 needs to realize the double buffer configuration, and writes the output digital image data from the image processing circuit to the shared memory by designating “Write” as the memory access method as needed. When the digital image data stored in the previous buffer is sent to the RAM 106 via the DMAC (Write), the output digital image data is read from the shared memory by designating "Read" as the memory access method.

以上、複数画像処理回路においてメモリを共有するための制御方法を説明したが、以上の内容は一例である。よって、メモリ・アクセス方法指定信号のID(タグ)と相対開始アドレス(ポインタ)は、必ずしも上述の通り出なくてもよい。また、変換テーブル370を構成する1エントリのテーブル値である、共有メモリのアドレスマップ上の開始アドレスと容量(ワード数)と1命令で実行すべきメモリ制御回数とメモリ・アクセス方法も、必ずしも上述のような回路構成でなくとも構わない。たとえば変換テーブル370の実装は行わず、上記のメモリ制御を行うための情報をすべてメモリ・アクセス方法指定信号に入れても構わない。   The control method for sharing the memory in the plurality of image processing circuits has been described above, but the above content is an example. Therefore, the ID (tag) and relative start address (pointer) of the memory access method designation signal may not necessarily come out as described above. In addition, the start address and capacity (number of words) on the address map of the shared memory, the number of memory control times to be executed by one instruction, and the memory access method, which are table values of one entry constituting the conversion table 370 It does not matter if it does not have a circuit configuration like this. For example, the conversion table 370 may not be implemented, and all the information for performing the memory control may be included in the memory access method designation signal.

[第2の実施形態]
第1の実施形態ではメモリ・アクセス方法を一般的なメモリ制御要件で定義し、画像処理回路がそれらを組み合わせて共有メモリへの読み書きを実現した。
Second Embodiment
In the first embodiment, the memory access method is defined by general memory control requirements, and the image processing circuit combines them to realize read / write to the shared memory.

具体的には、画像処理入力回路210は、2つのメモリ・アクセス方法である[書き込み(Write)]と[読み出し(Read)]を組み合わせた。実際には変換テーブルに4つのメモリ・アクセス方法(入力バッファ[A]410への[書き込み(Write)]と[読み出し(Read)]、入力バッファ[B]412への[書き込み(Write)]と[読み出し(Read)])を登録する。その上で、画像処理入力回路210が4つの変換テーブル値のうち2つを選びダブルバッファを実現していた。   Specifically, the image processing input circuit 210 combines two memory access methods [Write] and [Read]. Actually, four memory access methods ([Write] and [Read] to the input buffer [A] 410, [Write] to the input buffer [B] 412, [Read] is registered. Then, the image processing input circuit 210 selects two of the four conversion table values to realize a double buffer.

これに対し第2の実施形態ではメモリ・アクセス方法を画像処理回路特有の要件で定義する。つまり、上述の画像処理入力回路210に対しては、メモリ・アクセス方法としてダブル・バッファ・モードを定義する。そして、メモリ・アクセス方法指定信号の相対開始アドレス(ポインタ)の指定により入力バッファ[A]410と入力バッファ[B]412を共有メモリ制御回路側で自動的に切り替える。   On the other hand, in the second embodiment, the memory access method is defined by the requirements specific to the image processing circuit. That is, for the image processing input circuit 210 described above, a double buffer mode is defined as a memory access method. Then, the input memory [A] 410 and the input buffer [B] 412 are automatically switched on the shared memory control circuit side according to the specification of the relative start address (pointer) of the memory access method specification signal.

また空間フィルタ処理回路(1)220および(2)230のメモリ・アクセス方法に対しては上述の[読み出し後の書き込み(Read&Write)]を遅延バッファ(FIFO)モードとして定義する。このとき変換テーブルに遅延バッファの容量とは別にリング式FIFOの長さを登録してもよい。また色空間変換回路240と出力γ補正回路250のメモリ・アクセス方法に対しては上述の[読み出し(Read)]をルックアップテーブル・モードとして定義する。このとき変換テーブルにLUTの読み出し方を共有メモリの所定アドレスから連続に読み出すのではなく、特開2007−67956号公報に記載の4面体補間に必要な頂点を連続的に読み出すことを共有メモリ制御回路側で自動的に行う実装方法であってもよい。   Further, with respect to the memory access method of the spatial filter processing circuits (1) 220 and (2) 230, the above-mentioned [write (read & write) after reading] is defined as a delay buffer (FIFO) mode. At this time, the length of the ring FIFO may be registered in the conversion table separately from the delay buffer capacity. Further, for the memory access method of the color space conversion circuit 240 and the output γ correction circuit 250, the above [Read] is defined as the look-up table mode. At this time, shared memory control is to continuously read out the vertexes necessary for tetrahedron interpolation described in Japanese Patent Application Laid-Open No. 2007-67956, instead of reading out the LUT reading method continuously from the predetermined address of the shared memory in the conversion table. The mounting method may be performed automatically on the circuit side.

またメモリ・アクセス方法指定信号のID(タグ)が、第1実施形態のような変換テーブルのエントリ番号を示すのではなく、画像処理内容を示す固有の番号とする実装方法であってもよい。   Further, the ID (tag) of the memory access method designation signal may not be the entry number of the conversion table as in the first embodiment, but may be a unique number indicating the image processing content.

[第3の実施形態]
図5は、本実施形態を示し、未使用メモリのクロックを停止可能な状態の画像処理部の回路構成の一例と共有メモリのアドレスマップの一例を説明する図である。図5の回路構成では共有メモリは同容量のメモリ(1)280−1、メモリ(2)280−2、メモリ(3)280−3、およびメモリ(4)280−4の4個のメモリにより構成されている。またアドレスマップも図5に示すようにメモリ(1)、メモリ(2)、メモリ(3)、メモリ(4)の順で同容量ずつ割り振られているとする。
Third Embodiment
FIG. 5 shows the present embodiment and is a view for explaining an example of the circuit configuration of the image processing unit in a state in which the clock of the unused memory can be stopped and an example of the address map of the shared memory. In the circuit configuration of FIG. 5, the shared memory includes four memories of the same capacity: memory (1) 280-1, memory (2) 280-2, memory (3) 280-3, and memory (4) 280-4. It is configured. Also, as shown in FIG. 5, it is assumed that the same capacity is allocated to the address map in the order of the memory (1), the memory (2), the memory (3) and the memory (4).

図5の回路構成にあるように、画像処理装置10のすべての画像処理回路の中で動作モードにより、画像処理入力回路210、空間フィルタ処理回路(1)220、および画像処理出力回路260だけが動作し、それ以外が停止しているとする。このとき共有メモリ280の指定領域を図5記載のメモリマップのように、共有メモリを構成するメモリ(1)280−1の領域に収まるように割り当てる。或いは、使用領域が複数のメモリ間に分散しないように、できるだけまとめるようにして、領域が割り当てられないメモリが存在するように割当てを調整する。   As in the circuit configuration of FIG. 5, among the image processing circuits of the image processing apparatus 10, only the image processing input circuit 210, the spatial filter processing circuit (1) 220, and the image processing output circuit 260 are selected depending on the operation mode. Assume that it works and the rest is stopped. At this time, as in the memory map shown in FIG. 5, the designated area of the shared memory 280 is allocated so as to fit in the area of the memory (1) 280-1 constituting the shared memory. Alternatively, the allocation is adjusted such that there is a memory to which no area is allocated, as much as possible so that the used areas are not dispersed among a plurality of memories.

この結果、図5の場合ではメモリ(2)280−2からメモリ(4)280−4は未使用となり、画像処理に使用されない。そして、画像処理回路の消費電力を下げるために余剰なメモリのクロックを停止することができる。それ以外の場合でも、領域が割り当てられないメモリについてはクロックを停止して、消費電力を下げることができる。   As a result, in the case of FIG. 5, the memory (2) 280-2 to the memory (4) 280-4 become unused and are not used for image processing. Then, the surplus memory clock can be stopped to reduce the power consumption of the image processing circuit. Even in the case other than that, the clock can be stopped for the memory to which no area is allocated to reduce the power consumption.

画像処理回路の各々が専用メモリと接続されている場合は、動作モードにより未使用の画像処理回路とその専用メモリに対するクロックを停止し、消費電力を押さえることが可能である。その一方、本発明では動作モードによる共有メモリの指定領域を操作することで、消費電力を抑制することができる。   When each of the image processing circuits is connected to the dedicated memory, it is possible to suppress the power consumption by stopping the clock for the unused image processing circuit and the dedicated memory in the operation mode. On the other hand, in the present invention, power consumption can be suppressed by operating the designated area of the shared memory according to the operation mode.

[第4の実施形態]
特開2006−139606号公報に記載されるように、エッジ強調処理やぼかし処理といった局所(近傍)画像処理の空間フィルタ処理回路に必要な遅延メモリ容量を小さくすることができる。たとえば、図7のデジタル画像データ700に対してエッジ強調処理やぼかし処理といった局所画像処理を施すとする。このときデジタル画像データを領域ごとに分割し、別々の領域ごとに局所画像処理を行なう。一般に、かかる技術では、図7の(a)〜(d)に示されるように、1枚のデジタル画像データ全体が帯状(短冊状)に分割され、逐次的に領域毎に各種の画像処理が行なわれる。
Fourth Embodiment
As described in Japanese Patent Application Laid-Open No. 2006-139606, it is possible to reduce the delay memory capacity required for the spatial filter processing circuit of local (nearby) image processing such as edge enhancement processing and blurring processing. For example, local image processing such as edge enhancement processing and blurring processing is performed on the digital image data 700 in FIG. 7. At this time, digital image data is divided into areas, and local image processing is performed for each of the areas. In general, in such a technology, as shown in (a) to (d) of FIG. 7, the entire digital image data of one sheet is divided into strips (stripes), and various image processing is sequentially performed for each area. It takes place.

この分割された細長い領域をバンド領域と呼び、バンド領域が展開される記憶領域をバンドメモリと呼び、画像を分割する行為をバンド分割と呼ぶ。バンドメモリは、メインメモリ内に記憶領域として確保されると決まっているわけではなく、システム上のどの記憶領域に確保してもよいが、ここでは、説明を簡潔にするためにバンドメモリをメインメモリ内に確保する場合を例に挙げて説明する。   The divided elongated area is called a band area, the storage area in which the band area is expanded is called a band memory, and the action of dividing the image is called a band division. The band memory is not necessarily reserved as a storage area in the main memory, but may be secured in any storage area on the system, but here, in order to simplify the explanation, the band memory is mainly used. The case of securing in the memory will be described as an example.

また、デジタル画像データの座標系(主走査方向−副走査方向)は、図7の(e)に示すように、長さ方向、高さ方向という新たな座標系(バンド領域座標系)を定義し、バンド領域を長さ×高さで表現する。バンド領域は、長さ及び高さのいずれかが必ずデジタル画像データの主走査方向の幅、或いは、副走査方向の高さの値を有するように設定される。例えば、バンド領域の長さをデジタル画像データの主走査方向の幅に合わせる場合、バンドの高さは任意の値となる。一方、バンド領域の高さをデジタル画像データの副走査方向の高さに合わせる場合、バンドの長さは任意の値となる。   Further, as shown in FIG. 7E, the coordinate system (main scanning direction-sub scanning direction) of the digital image data defines a new coordinate system (band area coordinate system) in the length direction and the height direction. And express the band area by length × height. The band area is set such that either the length or the height always has a width in the main scanning direction of the digital image data or a height in the sub-scanning direction. For example, when the length of the band area is adjusted to the width in the main scanning direction of the digital image data, the height of the band is an arbitrary value. On the other hand, when the height of the band area is adjusted to the height of the digital image data in the sub-scanning direction, the length of the band is an arbitrary value.

バンド処理について詳しく説明する。まず、図7の(a)に示す第1のバンド領域701を、メインメモリ上のバンドメモリに展開して画像処理を行なう。次に、図7の(b)に示す第2のバンド領域702を第1のバンド領域701が展開されたバンドメモリに上書き展開して画像処理を行なう。さらに、図7の(c)に示す第3のバンド領域703を第2のバンド領域702が展開されたバンドメモリに上書き展開して画像処理を行なう。最後に、図7の(d)に示す第4のバンド領域704を第3のバンド領域703が展開されたバンドメモリに上書き展開して画像処理を行なう。   The band processing will be described in detail. First, the first band area 701 shown in (a) of FIG. 7 is developed in a band memory on the main memory and image processing is performed. Next, the second band area 702 shown in (b) of FIG. 7 is overwritten and expanded in the band memory in which the first band area 701 is expanded, and image processing is performed. Further, the third band area 703 shown in (c) of FIG. 7 is overwritten and expanded in the band memory in which the second band area 702 is expanded, and image processing is performed. Finally, the fourth band area 704 shown in (d) of FIG. 7 is overwritten and expanded in the band memory in which the third band area 703 is expanded, and image processing is performed.

図7の(a)〜(d)で明らかなように、バンド領域701〜704の長さは同じであるが、高さは同じである必要性はない。図7では、バンド領域701〜703は同じ高さを有し、バンド領域704はそれよりも低い高さを有している。よって、メインメモリに確保される記憶領域であるところのバンドメモリの高さは、高さ方向のサイズが最も大きいバンド領域(図7の場合、第1〜第3のバンド領域701〜703)によって決定される。   As apparent from (a) to (d) of FIG. 7, the band regions 701 to 704 have the same length but the height does not have to be the same. In FIG. 7, banded regions 701-703 have the same height, and banded region 704 has a lower height. Therefore, the height of the band memory which is the storage area secured in the main memory is determined by the band area having the largest size in the height direction (the first to third band areas 701 to 703 in FIG. 7). It is determined.

かかる技術では、各バンド領域間で隙間なく局所画像処理を行なうために、各バンド領域が、夫々隣接する領域との境界で一部分が互いに重なり合うように工夫している。また、特開2006−139606号公報では各バンド領域の高さと同一の方向に1画素ずつ画素を走査し、局所画像処理に必要な処理画素を保持する遅延メモリの容量を各バンド領域の高さの大きさで規定する。これにより、この遅延メモリの省メモリ化を実現している。   In this technique, in order to perform local image processing without gaps between the band regions, it is devised that the respective band regions overlap with each other at the boundaries with the respective adjacent regions. Further, in Japanese Patent Application Laid-Open No. 2006-139606, a pixel is scanned one pixel at a time in the same direction as the height of each band area, and the capacity of the delay memory holding processing pixels necessary for local image processing is the height of each band area. It defines by the size of. Thus, the memory saving of the delay memory is realized.

通常、例に挙げた局所画像処理を行うためには、紙面の横幅の画素数の整数(空間フィルタ処理のタップ数−1)倍の容量の遅延メモリが必要となる。かかる技術では、遅延メモリ容量は紙面の大きさにより決定し、変更することができない。しかしながら特開2006−139606号公報では、遅延メモリ容量は分割したバンド高さの整数(空間フィルタ処理のタップ数−1)倍となるが、バンド分割数に応じて任意のバンド高さを指定できるため、遅延メモリ容量を変更することができる。   In general, in order to perform the local image processing described in the example, a delay memory having a capacity equal to an integer (the number of taps of spatial filtering minus one) times the number of pixels in the horizontal width of the paper surface is required. In such a technique, the delay memory capacity is determined by the size of the paper and can not be changed. However, in Japanese Patent Application Laid-Open No. 2006-139606, the delay memory capacity is an integer (divided by the number of taps of spatial filtering processing) times the divided band height, but any band height can be specified according to the number of divided bands. Therefore, the delay memory capacity can be changed.

本実施形態では、この遅延メモリ容量を変更できるという特徴を利用する。つまり、共有メモリの空き容量(共有メモリ上に確保できる遅延メモリ容量)と空間フィルタ処理のタップ数に応じて下記の式1によりバンド高さを算出する。   In this embodiment, the feature that the delay memory capacity can be changed is used. That is, the band height is calculated according to the following equation 1 according to the free space of the shared memory (delayed memory capacity which can be secured on the shared memory) and the number of taps of the space filtering process.

バンド高さ =共有メモリ上に確保できる遅延メモリ容量/(タップ数-1)/(1画素のデータ量)・・・(式1)
本発明によれば、画像処理装置10の画像処理回路の一部が動作しない場合でも、常に他の動作中の画像処理回路がメモリを使用し、画像処理用に実装されたメモリを有効活用でき、LSI全体のメモリの活性率を向上できる。また、各画像処理回路は接続先のメモリが共有されていることを意識する必要がないため、各画像処理回路にとってメモリ制御方法は容易で、各画像処理回路の設計も容易となる。
Band height = Delay memory capacity that can be secured on shared memory / (Number of taps-1) / (Data amount of one pixel) ... (Equation 1)
According to the present invention, even when a part of the image processing circuit of the image processing apparatus 10 does not operate, the image processing circuit in operation can always use the memory, and the memory mounted for image processing can be effectively used. The memory activation rate of the entire LSI can be improved. In addition, since each image processing circuit does not need to be aware that the memory of the connection destination is shared, the memory control method is easy for each image processing circuit, and the design of each image processing circuit is also easy.

また、従来は各画像処理回路に付属する専用メモリは各々の処理内容に応じて様々な大きさを持ち、各々偏在していた。これに対し本発明は、ある程度の大きさのメモリ(多くの場合、同一容量が望ましい)を統合して1つの仮想的な共有メモリとして構成するため、LSI開発時の回路の配置配線も容易となる。   Also, conventionally, the dedicated memory attached to each image processing circuit has various sizes according to the contents of each processing, and has been unevenly distributed. On the other hand, since the present invention integrates memories of a certain size (in many cases, the same capacity is desirable) into one virtual shared memory, it is easy to arrange and route circuits during LSI development. Become.

さらに、複数画像処理回路のうち動作モードの指定により動作する画像処理回路のメモリの総量より共有メモリの容量が大きければよいので、従来のように複数画像処理回路のすべてのメモリの総量をLSIに実装する必要はない。よって、トータルとして搭載されるメモリの回路規模は小さくなる。   Furthermore, among the plural image processing circuits, the capacity of the shared memory may be larger than the total amount of memories of the image processing circuits operated by the designation of the operation mode, so that the total amount of all memories of plural image processing circuits is LSI as in the prior art. There is no need to implement it. Therefore, the circuit scale of the memory mounted as a total decreases.

また、バンド分割して逐次的に画像処理を行う方法では、空間フィルタ回路などの局所画像処理に使用する遅延メモリの容量は、空間フィルタのタップ数とバンド高さに依存する。このような画像処理では、バンド高さに対する空間フィルタのタップ数の割合により、重複して再送される画素数が変わり、バンド高さが大きいほど画像処理の効率が良い。本発明の共有メモリとバンド分割して逐次的に画像処理を組み合わせることで、より柔軟な画像処理を実現することができる。具体的には、機能を重視し動作モードにより動作する画像処理回路が非常に多い場合、当然共有メモリの空き容量は小さくなる。このとき、共有メモリの空き領域と空間フィルタのタップ数から、実行可能なバンド高さを算出し、効率は落ちるが所定のバンド高さ毎の逐次的な画像処理を行う。また逆に動作モードにより動作する画像処理回路が非常に少ない場合、当然共有メモリの空き容量も多くなり、できるだけ大きなバンド高さを設定することで効率的な画像処理を行うことができる。つまり、共有メモリの空き領域に応じてバンド高さを調節し、画像処理の機能と効率をトレードオフし、柔軟な画像処理を実現することができる。   Further, in the method of performing image processing sequentially by band division, the capacity of the delay memory used for local image processing such as a spatial filter circuit depends on the number of taps of the spatial filter and the band height. In such image processing, the ratio of the number of spatial filter taps to the band height changes the number of redundantly retransmitted pixels, and the larger the band height, the better the image processing efficiency. More flexible image processing can be realized by combining the shared memory of the present invention and band division and sequentially combining image processing. Specifically, when there are a large number of image processing circuits operated with an operation mode with emphasis on functions, the free capacity of the shared memory naturally decreases. At this time, an executable band height is calculated from the space area of the shared memory and the number of taps of the spatial filter, and although the efficiency is lowered, sequential image processing for each predetermined band height is performed. Conversely, when there are very few image processing circuits that operate in the operation mode, the free space of the shared memory naturally increases, and efficient image processing can be performed by setting the band height as large as possible. That is, the band height can be adjusted according to the free space of the shared memory, and the function and efficiency of the image processing can be traded off to realize flexible image processing.

以上の各実施形態では、本発明を、複数の画像処理回路を有する画像処理装置として説明したが、発明の実施形態は画像処理装置に限定されるものではない。即ち、複数の処理回路を含む情報処理装置において、動作モードにより一時的に停止状態の処理回路付属の専用メモリが動作中の他の処理回路から使用できないという課題を解決するために本発明を提供することができる。このような情報処理装置では、複数の処理回路の専用メモリを互いに共用させてことで、一部の処理回路が動作しない場合でも、当該回路のための領域を他の動作中の処理回路に割り当てることができる。   In the above embodiments, the present invention has been described as an image processing apparatus having a plurality of image processing circuits, but the embodiments of the invention are not limited to the image processing apparatus. That is, in the information processing apparatus including a plurality of processing circuits, the present invention is provided to solve the problem that the dedicated memory attached to the processing circuit temporarily stopped in the operation mode can not be used from other processing circuits in operation. can do. In such an information processing apparatus, by sharing the dedicated memories of a plurality of processing circuits with one another, even if some of the processing circuits do not operate, an area for the circuit is allocated to the processing circuit in another operation. be able to.

[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
Other Embodiments
Even if the present invention is applied to a system constituted by a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), an apparatus consisting of one device (for example, a copying machine, a facsimile machine, etc.) It may apply to

また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。   The object of the present invention is also achieved by supplying a storage medium storing computer program code for realizing the functions described above to a system, and the system reads out and executes the computer program code. In this case, the code itself of the computer program read from the storage medium implements the functions of the above-described embodiments, and the storage medium storing the code of the computer program constitutes the present invention. In addition, an operating system (OS) or the like operating on a computer performs part or all of the actual processing based on the instruction of the code of the program, and the above-described functions are realized by the processing. .

さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。   Furthermore, it may be realized in the following form. That is, the computer program code read out from the storage medium is written in a memory provided in a function expansion card inserted in the computer or a function expansion unit connected to the computer. Then, based on the instruction of the code of the computer program, the CPU included in the function expansion card or the function expansion unit may execute part or all of the actual processing to realize the above-described function.

本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。   When the present invention is applied to the storage medium, the storage medium stores the code of the computer program corresponding to the flowchart described above.

10:画像処理装置10、100:CPU回路部、150:画像処理部、280:共有メモリ 10: Image processing apparatus 10, 100: CPU circuit unit, 150: image processing unit, 280: shared memory

Claims (13)

画像処理装置であって、
前記画像処理装置の外部の外部記憶に保持されている画像データを部分画像データごとに処理する複数の画像処理手段と、
前記外部記憶とのインタフェースと、
前記複数の画像処理手段が共有し、前記インタフェースを介して前記画像処理手段が処理するデータを保持する、前記画像処理装置が内部に有する複数のSRAMで構成される共有メモリと、
前記共有メモリに、前記画像処理手段へ前記外部記憶から入力される前記部分画像データであって前記画像処理手段が処理する前の前記部分画像データを一時的に保持する入力バッファ領域と、前記画像処理手段から前記外部記憶へ出力される前記画像処理手段が処理した後の前記部分画像データを一時的に保持する出力バッファ領域とを割り当てるメモリ制御回路と、
を有することを特徴とする画像処理装置。
An image processing apparatus,
A plurality of image processing means for processing image data held in an external storage outside the image processing apparatus for each partial image data;
An interface with the external storage,
A shared memory composed of a plurality of SRAMs internally included in the image processing apparatus, which is shared by the plurality of image processing units and holds data processed by the image processing unit through the interface ;
An input buffer area for temporarily holding the partial image data that is the partial image data input from the external storage to the image processing means from the external storage in the shared memory and before the image processing means processes the image; an output buffer area for temporarily storing the partial image data after the image processing unit outputted from the processing unit to the external storage has processed, a memory control circuit for assigning a,
An image processing apparatus comprising:
前記メモリ制御回路は、さらに、前記画像処理手段が前記部分画像データを処理するための参照データの記憶領域を割り当て、前記参照データは、前記画像処理手段が使用するキャッシュされたデータであることを特徴とする請求項1記載の画像処理装置。 The memory control circuit further allocates a storage area of reference data for the image processing means to process the partial image data, and the reference data is cached data used by the image processing means. The image processing apparatus according to claim 1, characterized in that 前記メモリ制御回路は、さらに、前記画像処理手段が前記部分画像データを処理するための参照データの記憶領域を割り当て、前記参照データは、前記画像処理手段が使用するルックアップテーブルであることを特徴とする請求項1記載の画像処理装置。 The memory control circuit is further characterized in that the image processing means allocates a storage area of reference data for processing the partial image data, and the reference data is a look-up table used by the image processing means. The image processing apparatus according to claim 1, wherein 前記メモリ制御回路では、さらに、前記画像処理手段が前記部分画像データを処理するための参照データの記憶領域を割り当て、前記画像処理装置の画像処理モードが使用する画像処理手段によって、前記共有メモリに割り当てる前記参照データの記憶領域に記憶する参照データの種類を異ならせることを特徴とする請求項1記載の画像処理装置。 Further, in the memory control circuit, the image processing means allocates a storage area of reference data for processing the partial image data, and the image processing means used by the image processing mode of the image processing apparatus makes the shared memory 2. The image processing apparatus according to claim 1, wherein types of reference data to be stored in the storage area of the reference data to be allocated are made different. 前記入力バッファ領域は、DMA転送量に基づいて割り当てられることを特徴とする請求項1記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the input buffer area is allocated based on a DMA transfer amount. 前記出力バッファ領域は、DMA転送量に基づいて割り当てられることを特徴とする請求項1記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the output buffer area is allocated based on a DMA transfer amount. 前記外部記憶から前記入力バッファ領域にDMA転送により、前記画像処理手段が処理する前の前記部分画像データを入力することを特徴とする請求項1記載の画像処理装置。   2. The image processing apparatus according to claim 1, wherein said partial image data before being processed by said image processing means is input by DMA transfer from said external storage to said input buffer area. 前記入力バッファ領域には、ダブルバッファ可能な記憶領域を確保することを特徴とする請求項1記載の画像処理装置。   2. The image processing apparatus according to claim 1, wherein a storage area capable of double buffering is secured in the input buffer area. 前記出力バッファ領域には、ダブルバッファ可能な記憶領域を確保することを特徴とする請求項1記載の画像処理装置。   2. The image processing apparatus according to claim 1, wherein a storage area capable of double buffering is secured in the output buffer area. 前記画像処理手段が処理する前の前記部分画像データのデータ量と、前記画像処理手段が処理した後の前記部分画像データのデータ量とが予め定められており、前記メモリ制御回路は、前記共有メモリに前記入力バッファ領域と前記出力バッファ領域とを割り当てた残りの記憶領域の少なくとも一部を、前記画像処理手段が前記部分画像データを処理するための参照データの記憶領域として割り当てることを特徴とする請求項1記載の画像処理装置。 The data amount of the partial image data before processing by the image processing means and the data amount of the partial image data after processing by the image processing means are predetermined, and the memory control circuit The image processing means allocates at least a part of the remaining storage area allocated the input buffer area and the output buffer area to a memory as a storage area of reference data for processing the partial image data. The image processing apparatus according to claim 1. 前記メモリ制御回路は、前記入力バッファ領域と前記出力バッファ領域と前記参照データの記憶領域とを割り当てた残りの領域の共有メモリへのクロック供給を停止することを特徴とする請求項10記載の画像処理装置。   11. The image according to claim 10, wherein the memory control circuit stops the clock supply to the shared memory of the remaining area to which the input buffer area, the output buffer area, and the storage area of the reference data are allocated. Processing unit. 画像処理装置の外部の外部記憶に保持されている画像データを部分画像データごとに処理する複数の画像処理手段と、
前記外部記憶とのインタフェースと、
前記複数の画像処理手段が共有し、前記インタフェースを介して前記画像処理手段が処理するデータを保持する、前記画像処理装置が内部に有する複数のSRAMで構成される共有メモリと、
を有する画像処理装置の制御方法であって、
前記共有メモリに、前記画像処理手段へ前記外部記憶から入力される前記部分画像データであって前記画像処理手段が処理する前の前記部分画像データを一時的に保持する入力バッファ領域と、前記画像処理手段から前記外部記憶へ出力される前記画像処理手段が処理した後の前記部分画像データを一時的に保持する出力バッファ領域とを割り当てるメモリ制御工程を有する、画像処理装置の制御方法。
A plurality of image processing means for processing image data held in external storage external to the image processing apparatus for each partial image data;
An interface with the external storage,
A shared memory composed of a plurality of SRAMs internally included in the image processing apparatus, which is shared by the plurality of image processing units and holds data processed by the image processing unit through the interface ;
A control method of an image processing apparatus having
An input buffer area for temporarily holding the partial image data that is the partial image data input from the external storage to the image processing means from the external storage in the shared memory and before the image processing means processes the image; It said image processing means to be output from the processing means to the external memory has a memory control step of assigning and an output buffer area temporarily retaining the partial image data after the process, a method for controlling the image processing apparatus.
コンピュータを、
画像処理装置の外部の外部記憶に保持されている画像データを部分画像データごとに処理する複数の画像処理手段と、
前記外部記憶とのインタフェースと、
前記複数の画像処理手段が共有し、前記インタフェースを介して前記画像処理手段が処理するデータを保持する、前記画像処理装置が内部に有する複数のSRAMで構成される共有メモリに、前記画像処理手段へ前記外部記憶から入力される前記部分画像データであって前記画像処理手段が処理する前の前記部分画像データを一時的に保持する入力バッファ領域と、前記画像処理手段から前記外部記憶へ出力される前記画像処理手段が処理した後の前記部分画像データを一時的に保持する出力バッファ領域とを割り当てるメモリ制御手段
として機能させるためのプログラム。
Computer,
A plurality of image processing means for processing image data held in external storage external to the image processing apparatus for each partial image data;
An interface with the external storage,
The image processing means is shared by a plurality of SRAMs internally included in the image processing apparatus, which shares the plurality of image processing means and holds data processed by the image processing means through the interface. An input buffer area for temporarily holding the partial image data which is the partial image data input from the external storage and before being processed by the image processing means, and is outputted from the image processing means to the external storage program for functioning as the image processing unit memory control means for assigning the output buffer area, the temporarily holding the partial image data after being processed that.
JP2018248323A 2018-12-28 2018-12-28 Image processing device, its control method, and program Active JP6808712B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018248323A JP6808712B2 (en) 2018-12-28 2018-12-28 Image processing device, its control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018248323A JP6808712B2 (en) 2018-12-28 2018-12-28 Image processing device, its control method, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017197036A Division JP6463437B2 (en) 2017-10-10 2017-10-10 Image processing apparatus, control method therefor, and program

Publications (2)

Publication Number Publication Date
JP2019050062A true JP2019050062A (en) 2019-03-28
JP6808712B2 JP6808712B2 (en) 2021-01-06

Family

ID=65905809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018248323A Active JP6808712B2 (en) 2018-12-28 2018-12-28 Image processing device, its control method, and program

Country Status (1)

Country Link
JP (1) JP6808712B2 (en)

Also Published As

Publication number Publication date
JP6808712B2 (en) 2021-01-06

Similar Documents

Publication Publication Date Title
US8477383B2 (en) Processing based on command and register
US5493415A (en) Imgae processing system
JP6403430B2 (en) Image processing apparatus and image processing method
CN102035968A (en) Image processing apparatus, control method therefor and program
US20150170375A1 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
KR20040058076A (en) Image processing apparatus and image processing method
JP5893338B2 (en) Image processing apparatus, image processing method, and program
JP6463437B2 (en) Image processing apparatus, control method therefor, and program
JP5567790B2 (en) Image processing apparatus, control method therefor, and program
JPH07288705A (en) Device and method for processing color image
JP6808712B2 (en) Image processing device, its control method, and program
JP2004023739A (en) Method for preparing color conversion table and its device
JP5671635B2 (en) Image processing apparatus and control method thereof
JP6225202B2 (en) Image processing apparatus, control method therefor, and program
JP5885780B2 (en) Image processing apparatus, control method therefor, and program
US8514441B2 (en) Image processing apparatus and control method thereof, in which an address for image data depends on whether the image data is input via a detachable image processing device
JP3669574B2 (en) Image processing apparatus, image processing method, program for causing computer to execute the method, and computer-readable recording medium storing the program
JP2000032258A (en) Image processing unit and image processing method
JP2018118477A (en) Image processing device, control method and program of the same
US20120121201A1 (en) Image processing apparatus and image processing method
JP2005094565A (en) Image processor and image forming apparatus
JP3785295B2 (en) Image processing device
US20100165385A1 (en) Image processing apparatus and control method therefor
JP2005117523A (en) Image processor
JPH06218989A (en) Image processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200928

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200928

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201006

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201009

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201209

R151 Written notification of patent or utility model registration

Ref document number: 6808712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151