JP2014197889A - Image processor, method of controlling the same, and program - Google Patents

Image processor, method of controlling the same, and program Download PDF

Info

Publication number
JP2014197889A
JP2014197889A JP2014127597A JP2014127597A JP2014197889A JP 2014197889 A JP2014197889 A JP 2014197889A JP 2014127597 A JP2014127597 A JP 2014127597A JP 2014127597 A JP2014127597 A JP 2014127597A JP 2014197889 A JP2014197889 A JP 2014197889A
Authority
JP
Japan
Prior art keywords
image processing
memory
circuit
read
shared memory
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
JP2014127597A
Other languages
Japanese (ja)
Other versions
JP5885780B2 (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 JP2014127597A priority Critical patent/JP5885780B2/en
Publication of JP2014197889A publication Critical patent/JP2014197889A/en
Application granted granted Critical
Publication of JP5885780B2 publication Critical patent/JP5885780B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem in which in an image processor including a plurality of image processing circuits, a dedicated memory attached to an image processing circuit in a temporarily stopped state due to an operation mode cannot be used from another image processing circuit during operation.SOLUTION: An image processor comprises: a plurality of image processing circuits that process image data; a shared memory that is shared by the plurality of image processing circuits; and a memory control circuit that allocates an input buffer of the image processing circuits, an output buffer of the image processing circuits, and a reference data storage area of the image processing circuits to the shared memory.

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. As output devices, various color printers using an ink jet, dye thermal sublimation type, or electrophotographic system are widely used. In general, as typical image processing used in these color input / output devices, there are “color space conversion” and “spatial filter processing”.

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

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

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

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

上記色空間変換を実現する手段として、予め変換結果をルックアップ・テーブル(以下、「LUT」と略す)としてメモリに記憶しておき、入力されたデジタル画像信号に対してそのLUTから変換結果を出力する方法がある。   As means for realizing the color space conversion, the conversion result is stored in advance in a memory as a lookup table (hereinafter abbreviated as “LUT”), and the conversion result is input 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 this color space conversion method using an LUT, an LUT used for a three-color input digital image signal is referred to as a three-dimensional lookup table (hereinafter abbreviated as “3D-LUT”). The LUT used for the four-color input digital image signal is called a four-dimensional lookup table (hereinafter abbreviated as “4D-LUT”).

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

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

また先の空間フィルタ処理の場合、デジタル画像データの左上端の画素から主走査方向に沿って1画素ずつ画像処理を行ない、右端の画素まで画像処理を行なう。そして、副走査方向に1画素だけ進み、再度左端の画素から主走査方向に沿って1画素ずつ右端まで画像処理を行なう。この一連の画像処理を、デジタル画像データの右下端の画素についての画像処理を終えるまで繰り返し実行し、所望の画像処理を行なう。   In the case of the previous spatial filter processing, image processing is performed pixel by pixel along the main scanning direction from the upper left pixel of the digital image data, and image processing is performed up to the right end pixel. Then, the image is advanced by one pixel in the sub-scanning direction, and image processing is performed again from the leftmost pixel to the rightmost one pixel along the main scanning direction. This series of image processing is repeated until the image processing for the lower right pixel 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バイト)の容量をもつメモリが空間フィルタ回路の専用メモリ(同回路の一部)として実装される。   In such a technique, a large memory capacity is required as the width of the digital image data in the main scanning direction increases. For example, when an A4 size image is read by a scanner having a resolution of 600 dpi and converted to digital image data, the width of the digital image data is 4953 pixels. When one pixel is composed of the above-described 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 mounted as a dedicated memory (a part of the circuit) of the spatial filter circuit.

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

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

このとき、停止状態の画像処理回路付属の専用メモリも同時に停止し、動作中の他の画像処理回路から使用することはできない。上述の説明で示したように画像処理回路に専用メモリとして接続されるメモリ容量は非常に大きく、専用メモリの回路規模は画像処理LSI全体の中で占める割合は大きい。これらのメモリは一時的に無駄となってしまい、ハードウェア資源が有効活用されない(画像処理LSI全体の活性率が向上しない)。   At this time, the dedicated memory attached to the stopped image processing circuit is also stopped at the same time, and cannot be used from other operating image processing circuits. As described above, the memory capacity connected to the image processing circuit as a dedicated memory is very large, and the circuit scale of the dedicated memory accounts for 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 that is temporarily stopped depending on the operation mode cannot be used from other image processing circuits in operation.

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

上記の課題を解決するための本発明に係る画像処理装置は、
画像データを処理する複数の画像処理回路と、
前記複数の画像処理回路が共有する共有メモリと、
前記共有メモリに、前記画像処理回路の入力バッファと前記画像処理回路の出力バッファと前記画像処理回路の参照データ記憶領域とを割り当てるメモリ制御回路と、を有する。
An image processing apparatus according to the present invention for solving the above problems is as follows.
A plurality of image processing circuits for processing image data;
A shared memory shared by the plurality of image processing circuits;
A memory control circuit that allocates an input buffer of the image processing circuit, an output buffer of the image processing circuit, and a reference data storage area of the image processing circuit to the shared memory;

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

画像処理装置10の全体構成の一例を示すブロック図である。1 is a block diagram illustrating an example of the overall configuration of an image processing apparatus 10. 画像処理部150の回路構成の一例を示すブロック図である。3 is a block diagram illustrating an example of a circuit configuration of an image processing unit 150. FIG. 共有メモリ制御回路270の一例を説明する図である。5 is a diagram illustrating an example of a shared memory control circuit 270. FIG. 共有メモリ280のアドレスマップの一例を説明する図である。5 is a diagram for explaining an example of an address map of a shared memory 280. FIG. 未使用メモリのクロックを停止可能な状態の画像処理部の回路構成の一例と、共有メモリのアドレスマップの一例を示す図である。It is a figure which shows an example of the circuit structure of the image process part of the state which can stop the clock of an unused memory, and an example of the address map of a shared memory. 共有メモリ制御処理の一例を示すフローチャートである。It is a flowchart which shows an example of a shared memory control process. 発明の第4の実施形態に対応するバンド処理の動作の一例を説明する図である。It is a figure explaining an example of operation | movement of the band process corresponding to the 4th Embodiment of 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 overall configuration of the 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 original 110 formed on the CCD sensor 126 through the lens 124 is converted into analog electric signals of R (Red), G (Green), and B (Blue) by the CCD sensor 126. The The image information converted into the analog electric signal is input to the A / D conversion unit 127, corrected for each color of R, G, and B, and then subjected to analog / digital conversion (A / D conversion). Thus, a digitized full color signal (referred to as a digital image signal) is generated. A digital image signal composed of a set of R, G, and 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 DMAC (Direct Memory Access Controller) 192 for writing, 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 reading DMAC 194 to read the image data stored in the RAM 106 and input it to the image processing unit 150.

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

画像処理部150は、入力されたデジタル画像信号に対し、その他に入力色補正処理、空間フィルタ処理、色空間変換、および濃度補正処理、印刷のための前処理としての画像処理を施し印刷可能な画像データを作成することもできる。この場合も、上述同様に書込用DMAC196によりRAM106に格納させる。   The image processing unit 150 can perform printing on 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 data is stored in the RAM 106 by the write DMAC 196 as described above.

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

また、CPU回路部100は、演算制御用のCPU102、固定データやプログラムを格納するROM104、データの一時保存やプログラムのロードに使用されるRAM106、及び外部記憶装置108等を備える。CPU回路部100は、画像読み取り部120、画像処理部150、及び画像印刷(プリンタ)部170等を制御し、本実施形態の画像処理装置10のシーケンスを統括的に制御する。   The CPU circuit unit 100 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 programs, an external storage device 108, and the like. 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 comprehensively controls the 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. The data, programs, and the like in the RAM 106 are loaded from the external storage device 108. It does not matter as a configuration.

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

デジタル画像信号が画像処理部150に入力され、以下に説明する画像処理が実行される。画像処理部150は、画像処理入力回路210、空間フィルタ処理回路(1)220、空間フィルタ処理回路(2)230、色空間変換回路240、出力γ補正回路250、及び画像処理出力回路260を備えて構成される。   A digital image signal is input to the image processing unit 150, and image processing described below is executed. 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. Configured.

以下、画像処理入力回路210、空間フィルタ処理回路(1)220、空間フィルタ処理回路(2)230、色空間変換回路240、出力γ補正回路250、及び画像処理出力回路260について詳細に説明する。   Hereinafter, 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.

[画像処理入力回路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 read DMAC 194 outside 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 is capable of controlling a double buffer memory and receives the digital image signal 205 and temporarily stores it in the buffer. On the other hand, the digital image signal stored in the previous buffer is read 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 the delay memory for performing the filter processing, and performs smoothing and edge processing based on the digital image signal already stored in the delay memory and the input digital image signal 215. Perform local (neighboring) image processing such as enhancement. The processing result is output as a digital image signal 225. Simultaneously with the processing, unnecessary digital image signals among the digital image signals already stored in the delay memory are replaced with the input digital image signal 215.

また空間フィルタ処理回路(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 obtains reference data from the 3D-LUT, performs an interpolation operation, and converts the luminance signals R, G, B of the input digital image signal 235 into luminance signals R ′, G ′, Conversion 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 is 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 an interpolation operation. The density signals C, M, Y, and K of the digital image signal 235 are converted into other density signals C ′, M ′, Y ′, and K ′, and are output as the digital image signal 245.

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

[画像処理出力回路260]
画像処理出力回路260は、ダブルバッファ構成のメモリを制御可能でデジタル画像信号255を受け取りながら、一旦バッファに格納する。また一方で前回バッファに格納したデジタル画像信号を読み出して画像処理部150の外部にある書込用DMAC196を経由してRAM106へデジタル画像信号265を出力する。
[Image processing output circuit 260]
The image processing output circuit 260 is capable of controlling a memory with a double buffer configuration and receives the digital image signal 255 and temporarily stores it in the buffer. 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 perform image processing by controlling the memory. Each processing circuit operates the shared memory control circuit 270 via the control port 272 for the 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. Realize. When the memory control from each of the image processing circuits is data write (write), each of the image processing circuits writes the write (write) data simultaneously or continuously 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, a mounting method in which the memory access end signal 276 is omitted, or a mounting method in which the memory access end signal 276 is received at the same time, in advance, or at the end of reception of read data.

共有メモリ制御回路270は、共有メモリ280と読出用DMAC290と書込用DMAC294とに接続される。但し、画像処理回路のすべてが後述するリード・キャッシュ・モードをサポートしない場合、共有メモリ制御回路270は、読出用DMAC290と接続する必要がない。また、画像処理回路のすべてが後述するライト・キャッシュ・モードをサポートしない場合、共有メモリ制御回路270は、書込用DMAC294と接続する必要がない。たとえ画像処理回路のいずれかが、リード・キャッシュ・モードもしくはライト・キャッシュ・モードをサポートする場合であっても、読出用DMAC290と書込用DMAC294とが画像処理部150の外側にあってよい。その際、共有メモリ制御回路270は、読出用DMAC290もしくは書込用DMAC294を制御するための制御ポートと接続する実装方法でかまわない。   Shared memory control circuit 270 is connected to shared memory 280, read DMAC 290, and 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. If all of the image processing circuits do not support the write cache mode described later, the shared memory control circuit 270 does not need to be connected to the write DMAC 294. Even if any of the image processing circuits supports the read cache mode or the write cache mode, the read DMAC 290 and the write DMAC 294 may be outside the image processing unit 150. At that time, the shared memory control circuit 270 may be mounted by connecting 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 of the present embodiment is composed of one or more memories (illustrated by the memories 280-1 to 280-N), and constitutes 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 (substances).

またLSI実装において、ある容量のメモリを1個で実装するより、より小さい容量の複数個のサブメモリに分割して実装する方が、回路規模は増加する。これは、1個のメモリには電源を確保するための領域やメモリをテストするためのテスト回路を接続するための領域が必要となるからである。しかしながら、メモリを複数のサブメモリに分割した場合、並列に読み書きできるデータ量が増加するため、1サイクルあたりの処理性能を向上しやすい。画像処理回路210から260は、合計8個の制御ポート272を必要としている。   Also, in LSI mounting, the circuit scale increases when the memory of a certain capacity is mounted by dividing it into a plurality of sub memories having a smaller capacity. This is because one memory requires a region for securing power and a region for connecting a test circuit for testing the memory. However, when the memory is divided into a plurality of sub-memory, the amount of data that can be read / written in parallel increases, so it is easy to improve the processing performance per cycle. 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, if the processing performance of the image processing circuits 210 to 260 is 1/10 [pixel / cycle] in a consumer printer image processing apparatus, each of the image processing circuits controls the memory at a rate of once per 10 clocks. It will do. In this case, the shared memory 280 may be realized only by 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 an office machine, the shared memory 280 includes at least 10 memories (1) to (N). ) (N = 10). Note that the spatial filter processing circuit is approximated as described above when it is assumed that memory control is required twice for reading and writing data.

また共有メモリ制御回路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 memories (1) 280-1 to (N) 280-N. , Write data (write_data) is output. Further, read data (read_data) is received from the memory (1) 280-1 to the memory (N) 280-N (these signals are collectively referred to as a memory control signal 284).

本実施形態の動作モードに応じた共有メモリ280の使用領域の割り当てについて、図4を用いて説明する。まず、第1の動作モードに対応するcase1記載のアドレスマップは、図2記載の画像処理回路の全てが使用される場合を示している。   The allocation of the used 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 a case where all of the image processing circuits described 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 between 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 an address map and a configuration example of an image processing circuit in second and third operation modes different from the first operation mode. In case 2, the spatial filter processing circuit (1) 220 of the case 1 is stopped, and the unused area of the shared memory 280 is used by the input buffers 410 and 412 of the case 1, the delay memory (2) 430, and the output buffers 460 and 462. . More specific processing contents will be described in the fourth embodiment. In case 2, the three-dimensional LUT 440 and the one-dimensional LUT (1) 450 have the same capacity, although the start addresses on case 1 and shared memory 280 are different.

また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 spatial filter processing circuit (1) 220 and the spatial filter processing circuit (2) 230 of the case 1 are stopped, and unused areas are allocated to the color space conversion circuit 240 and the output γ correction circuit 250. Yes. In an 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 C ′, M ′, Y ′ by color space conversion using a four-dimensional tetrahedral interpolation method. , K 'are output. Since the 4D-LUT required at this time also requires 256 Kbytes as described above, in the illustrated example, the cache data is expanded in the data cache 440 for the four-dimensional LUT in the shared memory 280. 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 used area of the shared memory 280 used by the stopped image processing circuit may be used to improve the efficiency (processing performance) of image processing. Another image processing circuit can be used. In some cases, another image processing circuit in operation can be used to improve functions including high image quality.

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

まず、ステップS604では、色空間変換回路240を用いた色空間変換を行うか否かを判定する。もし、色空間変換を行う場合(ステップS604において「YES」)、ステップS605に移行する。一方、色空間変換を行わない場合(ステップS604において「NO」)、ステップS606に移行する。   First, in step S604, it is determined whether or not color space conversion using the color space conversion circuit 240 is performed. If color space conversion is to be performed (“YES” in step S604), the process proceeds 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 color space conversion LUT capacity is calculated. Since color space conversion uses a three-dimensional LUT or a four-dimensional LUT, the capacity corresponding to the LUT to be used is calculated. As described above, for example, in the case of 3D-LUT, it is 16K bytes, and in the case of 4D-LUT, it is 256K bytes. Thereafter, the process proceeds to step S606.

次に、ステップS606では、出力γ補正回路250による出力γ補正を行うか否かを判定する。もし、出力γ補正を行う場合(ステップS606において「YES」)、ステップS607に移行する。一方、出力γ補正を行わない場合(ステップS606において「NO」)、ステップS608に移行する。ステップS607では、出力γ補正に使用する4色のデジタル画像信号のための1次元LUT450の容量を算出する。   Next, in step S606, it is determined whether or not to perform output γ correction by the output γ correction circuit 250. If 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 S607, the capacity of the one-dimensional LUT 450 for the digital image signals of four colors used for output γ correction is calculated.

続くステップS608では、空間フィルタ処理回路(1)220を使用するか否かを判定する。もし、空間フィルタ処理回路(1)220を使用する場合(ステップS608において「YES」)、ステップS609に移行する。ステップS609では、遅延メモリ容量を算出し、ステップS610に移行する。このとき必要で有れば、バンド高さを算出する。バンド高さの算出については、第4の実施形態において詳細を後述する。一方、空間フィルタ処理回路(1)220を使用しない場合(ステップS608において「NO」)、ステップS610に移行する。   In a succeeding step S608, it is determined whether or not the spatial filter processing circuit (1) 220 is 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. At this time, if necessary, the band height is calculated. Details of the calculation of the band height will be described later 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 a succeeding step S610, it is determined whether or not the spatial filter processing circuit (2) 230 is 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. At this time, if necessary, 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, allocation of the used area of the shared memory 280 is determined. In the following step S613, it is determined whether or not there is an unused memory. 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, in accordance with the determined allocation of the shared memory 280, a predetermined value is set in advance in the conversion table of the shared memory control circuit. In step S616, image processing in the operation mode determined in step S601 is executed.

以下、図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 above-described 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からの読み出し(リード)データが書き込まれる。   The control port 272 has one port 311 for each image processing circuit. The port 311 has an instruction queue 314 and an instruction completion queue 316. A memory access method designation signal for the shared memory 280 from each image processing circuit is written in the instruction queue 314. 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 in 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 includes an ID (tag) for identifying the memory access method and a relative start address (pointer) for specifying the memory access position. The table value of one entry constituting the conversion table 370 is constituted by the start address and capacity (number of words) on the address map of the shared memory, the number of times of memory control 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 the present embodiment: write (Write), read (Read), write after read (Read & Write), read cache, and write cache. Each of these memory access methods is assigned an ID (tag). A table value for realizing memory access for image processing registered in advance according to the ID (tag) is acquired from the conversion table 370.

以下に各メモリ・アクセス方法の動作を簡単に説明する。   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), 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 continuously read from the shared memory by the memory control count from the addition result of the relative start address (pointer) and the start address.

[読み出し後の書き込み(Read&Write)]
テーブル値のメモリ・アクセス方法が読み出し後の書き込み(Read&Write)の場合、相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリから読み出し(リード)データを読み出す。その後、共有メモリの同アドレスに書き込み(ライト)データを書き込む。
[Write after reading (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 in the shared memory.

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

また、ミスヒットであれば相対開始アドレス(ポインタ)と開始アドレスの加算結果からメモリ制御回数だけ連続で共有メモリの所定アドレスのデータを書込用DMACコントローラ360で書込用DMACを制御する。一端RAM106へ書き込む。その後共有メモリの所定アドレスに書き込み(ライト)データを書き込む。   If there is a miss hit, the write DMAC controller 360 controls the write DMAC for data at a predetermined address in 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. One end is written into the RAM 106. Thereafter, write data is written to a predetermined address of the shared memory.

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

上記メモリ・アクセス方法毎の制御は、制御回路380で行われる。制御回路380は、キャッシュのヒット/ミスヒットを判定するキャッシュタグ判定回路、FIFOポインタ回路、読出用回路(READ)、書込用回路(WRITE)と、各回路への入出力を制御するセレクタ(sel)を含む。   Control for each memory access method is performed by the control circuit 380. The control circuit 380 includes a cache tag determination circuit that determines a hit / miss hit of the cache, 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 that defines an access destination to the shared memory 280 and the memory control count are sent to the memory control circuit 330. The memory control circuit 330 determines the memory control for the memory (1) to the memory (N) from the predetermined address and the memory control count. The memory control circuit 330 generates a memory control signal and reads / writes data from / to the memory (1) to the memory (N).

SRAMコントローラ340−1から340−Nと読出用DMACコントローラ350、および書込用DMACコントローラ360には、メモリ制御回数だけ連続でメモリ制御を行うためにシーケンサ345がそれぞれ搭載されている。   The SRAM controllers 340-1 to 340 -N, the read DMAC controller 350, and the write DMAC controller 360 are each equipped with a sequencer 345 for performing 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 if writing. If it is 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 an instruction completion queue 316 in each control port 272 of the image processing circuit, and each of the image processing circuits obtains a memory control end signal or read (read) data.

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

画像処理入力回路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 at any time by designating “Write” as the memory access method. When digital image data stored in the previous buffer is sent to the subsequent image processing circuit, the memory access method is designated as “Read” and the digital image data is read from the shared memory.

空間フィルタ処理回路(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 the delay memory control, the memory access method is designated as “write after read (Read & Write)”, and the shared memory is read and written simultaneously.

色空間変換回路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, “Read” is designated as the memory access method, and digital image data is read from the shared memory.

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

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

以上、複数画像処理回路においてメモリを共有するための制御方法を説明したが、以上の内容は一例である。よって、メモリ・アクセス方法指定信号のID(タグ)と相対開始アドレス(ポインタ)は、必ずしも上述の通り出なくてもよい。また、変換テーブル370を構成する1エントリのテーブル値である、共有メモリのアドレスマップ上の開始アドレスと容量(ワード数)と1命令で実行すべきメモリ制御回数とメモリ・アクセス方法も、必ずしも上述のような回路構成でなくとも構わない。たとえば変換テーブル370の実装は行わず、上記のメモリ制御を行うための情報をすべてメモリ・アクセス方法指定信号に入れても構わない。   The control method for sharing the memory in the multiple image processing circuits has been described above, but the above content is an example. Therefore, the ID (tag) and the relative start address (pointer) of the memory access method designation signal do not necessarily have to be output as described above. Also, the start address and capacity (number of words) on the shared memory address map, the number of times of memory control to be executed by one instruction, and the memory access method, which are table values of one entry constituting the conversion table 370, are not necessarily described above. The circuit configuration may not be as follows. For example, the conversion table 370 may not be mounted, 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 reading and writing 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 (Write)] and [Read (Read)]. Actually, there are four memory access methods ([Write (Write)] and [Read (Read)] to the input buffer [A] 410), [Write (Write)] to the input buffer [B] 412 and the conversion table. [Read (Read)]) is registered. In addition, 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 requirements specific to the image processing circuit. That is, the double buffer mode is defined as the memory access method for the image processing input circuit 210 described above. Then, the input buffer [A] 410 and the input buffer [B] 412 are automatically switched on the shared memory control circuit side by specifying the relative start address (pointer) of the memory access method specifying signal.

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

またメモリ・アクセス方法指定信号のID(タグ)が、第1実施形態のような変換テーブルのエントリ番号を示すのではなく、画像処理内容を示す固有の番号とする実装方法であってもよい。   Further, an implementation method may be used in which the ID (tag) of the memory access method designation signal does not indicate the entry number of the conversion table as in the first embodiment, but is 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 is a diagram illustrating an example of a circuit configuration of the image processing unit and an example of an address map of the shared memory in a state where the clock of the unused memory can be stopped according to the present embodiment. In the circuit configuration of FIG. 5, the shared memory is composed of four memories of the same capacity (1) 280-1, memory (2) 280-2, memory (3) 280-3, and memory (4) 280-4. It is configured. As shown in FIG. 5, it is assumed that the same capacity is allocated 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 shown in the circuit configuration of FIG. 5, only the image processing input circuit 210, the spatial filter processing circuit (1) 220, and the image processing output circuit 260 depend on the operation mode among all the image processing circuits of the image processing apparatus 10. Suppose it is working and the others are stopped. At this time, the designated area of the shared memory 280 is allocated so as to fit within the area of the memory (1) 280-1 constituting the shared memory as shown in the memory map of FIG. Alternatively, the allocation is adjusted so that there is a memory to which the area is not allocated, by collecting as much as possible so that the used area is not distributed among a plurality of memories.

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

画像処理回路の各々が専用メモリと接続されている場合は、動作モードにより未使用の画像処理回路とその専用メモリに対するクロックを停止し、消費電力を押さえることが可能である。その一方、本発明では動作モードによる共有メモリの指定領域を操作することで、消費電力を抑制することができる。   When each of the image processing circuits is connected to a dedicated memory, it is possible to suppress power consumption by stopping the clocks for the unused image processing circuit and the dedicated memory depending on the operation mode. On the other hand, in the present invention, the 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 JP-A-2006-139606, the delay memory capacity required for a spatial filter processing circuit for local (neighboring) image processing such as edge enhancement processing and blurring processing can be reduced. For example, it is assumed that local image processing such as edge enhancement processing and blurring processing is performed on the digital image data 700 of FIG. At this time, the digital image data is divided for each region, and local image processing is performed for each separate region. In general, in such a technique, as shown in FIGS. 7A to 7D, the entire digital image data is divided into strips (strips), and various image processing is sequentially performed for each region. Done.

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

また、デジタル画像データの座標系(主走査方向−副走査方向)は、図7の(e)に示すように、長さ方向、高さ方向という新たな座標系(バンド領域座標系)を定義し、バンド領域を長さ×高さで表現する。バンド領域は、長さ及び高さのいずれかが必ずデジタル画像データの主走査方向の幅、或いは、副走査方向の高さの値を有するように設定される。例えば、バンド領域の長さをデジタル画像データの主走査方向の幅に合わせる場合、バンドの高さは任意の値となる。一方、バンド領域の高さをデジタル画像データの副走査方向の高さに合わせる場合、バンドの長さは任意の値となる。   In addition, as shown in FIG. 7E, the digital image data coordinate system (main scanning direction-sub-scanning direction) defines a new coordinate system (band region coordinate system) of the length direction and the height direction. The band region is expressed by length × height. The band area is set so that either the length or the height always has the value of the width of the digital image data in the main scanning direction or the height of the sub scanning direction. For example, when the length of the band area is matched with the width of the digital image data in the main scanning direction, the height of the band is an arbitrary value. On the other hand, when the height of the band area is matched with 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 FIG. 7A is developed in a band memory on the main memory to perform image processing. Next, the second band area 702 shown in FIG. 7B is overwritten on the band memory in which the first band area 701 is expanded to perform image processing. Further, the third band area 703 shown in FIG. 7C is overwritten on the band memory in which the second band area 702 is expanded to perform image processing. Finally, the fourth band area 704 shown in FIG. 7 (d) is overwritten on the band memory where 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 is clear from FIGS. 7A to 7D, the band regions 701 to 704 have the same length, but the heights need not be the same. In FIG. 7, the band regions 701 to 703 have the same height, and the band region 704 has a lower height. Therefore, the height of the band memory, which is a storage area secured in the main memory, depends on the band area having the largest size in the height direction (in the case of FIG. 7, the first to third band areas 701 to 703). It is determined.

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

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

バンド高さ =共有メモリ上に確保できる遅延メモリ容量/(タップ数-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 it is not necessary for each image processing circuit to share the connection destination memory, the memory control method is easy for each image processing circuit, and the design of each image processing circuit is also easy.

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

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

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

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

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

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

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

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

Claims (6)

画像データを処理する複数の画像処理回路と、
前記複数の画像処理回路が共有する共有メモリと、
前記共有メモリに、前記画像処理回路の入力バッファと前記画像処理回路の出力バッファと前記画像処理回路の参照データ記憶領域とを割り当てるメモリ制御回路と、
を有することを特徴とする画像処理装置。
A plurality of image processing circuits for processing image data;
A shared memory shared by the plurality of image processing circuits;
A memory control circuit that allocates an input buffer of the image processing circuit, an output buffer of the image processing circuit, and a reference data storage area of the image processing circuit to the shared memory;
An image processing apparatus comprising:
前記参照データは、画像処理回路が使用するキャッシュであることを特徴とする請求項1記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the reference data is a cache used by an image processing circuit. 前記参照データは、画像処理回路が使用するルックアップテーブルであることを特徴とする請求項1記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the reference data is a look-up table used by an image processing circuit. 前記メモリ制御回路では、前記画像処理装置の画像処理モードが使用する画像処理回路によって、前記共有メモリに割り当てる前記参照データ記憶領域に記憶する参照データの種類を異ならせることを特徴とする請求項1記載の画像処理装置。   2. The memory control circuit according to claim 1, wherein the type of reference data stored in the reference data storage area allocated to the shared memory varies depending on an image processing circuit used in an image processing mode of the image processing apparatus. The image processing apparatus described. 画像データを処理する複数の画像処理回路と、
前記複数の画像処理回路が共有する共有メモリと、
を有する画像処理装置の制御方法であって、
前記共有メモリに、前記画像処理回路の入力バッファと前記画像処理回路の出力バッファと前記画像処理回路の参照データ記憶領域とを割り当てるメモリ制御工程を有することを特徴とする画像処理装置の制御方法。
A plurality of image processing circuits for processing image data;
A shared memory shared by the plurality of image processing circuits;
An image processing apparatus control method comprising:
A control method for an image processing apparatus, comprising: a memory control step for allocating an input buffer of the image processing circuit, an output buffer of the image processing circuit, and a reference data storage area of the image processing circuit to the shared memory.
コンピュータを、
複数の処理手段と、
前記複数の処理手段が共有する共有メモリに、前記画像処理回路の入力バッファと前記画像処理回路の出力バッファと前記画像処理回路の参照データ記憶領域とを割り当てるメモリ制御手段として機能させるためのプログラム。
Computer
A plurality of processing means;
A program for causing a shared memory shared by the plurality of processing means to function as a memory control means for allocating an input buffer of the image processing circuit, an output buffer of the image processing circuit, and a reference data storage area of the image processing circuit.
JP2014127597A 2014-06-20 2014-06-20 Image processing apparatus, control method therefor, and program Active JP5885780B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014127597A JP5885780B2 (en) 2014-06-20 2014-06-20 Image processing apparatus, control method therefor, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014127597A JP5885780B2 (en) 2014-06-20 2014-06-20 Image processing apparatus, control method therefor, and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009120390A Division JP5567790B2 (en) 2009-05-18 2009-05-18 Image processing apparatus, control method therefor, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016025180A Division JP6225202B2 (en) 2016-02-12 2016-02-12 Image processing apparatus, control method therefor, and program

Publications (2)

Publication Number Publication Date
JP2014197889A true JP2014197889A (en) 2014-10-16
JP5885780B2 JP5885780B2 (en) 2016-03-15

Family

ID=52358350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014127597A Active JP5885780B2 (en) 2014-06-20 2014-06-20 Image processing apparatus, control method therefor, and program

Country Status (1)

Country Link
JP (1) JP5885780B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118246A (en) * 2002-09-24 2004-04-15 Ricoh Co Ltd Image processing apparatus
JP2005086565A (en) * 2003-09-09 2005-03-31 Canon Inc Image processing device, image processing method, its recording medium, and program
JP2008072341A (en) * 2006-09-13 2008-03-27 Canon Inc Method and apparatus for processing image
JP2008205636A (en) * 2007-02-16 2008-09-04 Canon Inc Image processing device, image processing method of image processing device, and program
JP2008276280A (en) * 2007-04-25 2008-11-13 Sony Corp Image processor and camera system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118246A (en) * 2002-09-24 2004-04-15 Ricoh Co Ltd Image processing apparatus
JP2005086565A (en) * 2003-09-09 2005-03-31 Canon Inc Image processing device, image processing method, its recording medium, and program
JP2008072341A (en) * 2006-09-13 2008-03-27 Canon Inc Method and apparatus for processing image
JP2008205636A (en) * 2007-02-16 2008-09-04 Canon Inc Image processing device, image processing method of image processing device, and program
JP2008276280A (en) * 2007-04-25 2008-11-13 Sony Corp Image processor and camera system

Also Published As

Publication number Publication date
JP5885780B2 (en) 2016-03-15

Similar Documents

Publication Publication Date Title
US8477383B2 (en) Processing based on command and register
US9531911B2 (en) Data processing apparatus, data processing method and storage medium for storing image data
JP6403430B2 (en) Image processing apparatus and image processing method
JP2008193529A (en) Scanning converter, and scanning conversion method
US9786250B2 (en) Control apparatus, image processing apparatus, control method, and non-transitory computer-readable storage medium
JP5605778B2 (en) Image processing apparatus and image processing method
JP6463437B2 (en) Image processing apparatus, control method therefor, and program
JP5567790B2 (en) Image processing apparatus, control method therefor, and program
JP5671635B2 (en) Image processing apparatus and control method thereof
JP6808712B2 (en) Image processing device, its control method, and program
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
JP7526060B2 (en) Data transfer device, multifunction printer, and method and program for controlling data transfer device
US11521302B2 (en) Image processing apparatus and image processing method
JP2012143991A (en) Image forming apparatus
JP2018118477A (en) Image processing device, control method and program of the same
JP4725799B2 (en) Image forming apparatus
EP3122028B1 (en) Image processing apparatus and processing method
JP2006044058A (en) Printer controlling device and printer control method
JP2018196156A (en) Data processing device, method, and program
JP2006014378A (en) Image processing apparatus, image processing method, and computer readable recording medium recorded with program for computer to execute the method
JP2017005675A (en) Image processing apparatus and image formation apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160209

R151 Written notification of patent or utility model registration

Ref document number: 5885780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151