JP2024087384A - Image Processing Module - Google Patents

Image Processing Module Download PDF

Info

Publication number
JP2024087384A
JP2024087384A JP2022202183A JP2022202183A JP2024087384A JP 2024087384 A JP2024087384 A JP 2024087384A JP 2022202183 A JP2022202183 A JP 2022202183A JP 2022202183 A JP2022202183 A JP 2022202183A JP 2024087384 A JP2024087384 A JP 2024087384A
Authority
JP
Japan
Prior art keywords
pixel
pixels
input image
input
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022202183A
Other languages
Japanese (ja)
Inventor
明洋 吉谷
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 JP2022202183A priority Critical patent/JP2024087384A/en
Publication of JP2024087384A publication Critical patent/JP2024087384A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

Figure 2024087384000001

【課題】フィルタ処理を行う際に、のりしろ部の画素の処理にかかる余計な時間を消費することなく、フィルタ処理の処理効率を向上する。
【解決手段】入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、(2M+1)×(2N+1)個の画素値を選択するフィルタ入力画素選択手段と、前記フィルタ入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備えた画像処理モジュールにおいて、前記フィルタ入力画素選択手段は、前記入力画像外にある画素の画素値を補完して前記フィルタ処理手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力する。
【選択図】図9

Figure 2024087384000001

When performing filter processing, the processing efficiency of the filter processing is improved without wasting extra time required for processing pixels in an overlap portion.
[Solution] In an image processing module comprising a delay buffer that stores pixel values of at least H×2N+2M+1 pixels from among the pixels of an input image, a filter input pixel selection means that selects (2M+1)×(2N+1) pixel values, and a filter calculation means that performs the filter processing using the pixel values selected by the filter input pixel selection means and outputs the output pixel value corresponding to a pixel of interest, the filter input pixel selection means complements pixel values of pixels outside the input image and inputs them to the filter processing means, and after pixel values of H×2N+2M+1 pixels are stored in the delay buffer, the filter input pixel selection means outputs the output pixel value one pixel at a time for each pixel of the input image that is input.
[Selection diagram] Figure 9

Description

本開示は、入力画像のフィルタ処理をハードウェアで行う画像処理モジュールに関する。 This disclosure relates to an image processing module that performs filtering of an input image using hardware.

画像処理において、ある注目画素を中心として、その注目画素および周辺画素を参照し、その注目画素の画素値を更新する処理をフィルタ処理という。画像信号をフィルタ処理する場合、画像データは領域が有限であり、画像の左右端などの端点の処理においては、従来から様々な課題があった。図1に示すように、注目画素が入力画像の上下左右端付近にある場合には、フィルタ処理に必要な入力画素の一部が、斜線部として示すように入力画像の外側になってしまう。従って、フィルタ処理に必要なデータが不足するため、正しい処理を行うことができない。この斜線部のように、フィルタ処理の範囲にある画素のうち、入力画像の外側にある画素を、以降「のりしろ」と呼称する。 In image processing, filtering refers to the process of updating the pixel value of a pixel of interest by referring to the pixel of interest and its surrounding pixels, with the pixel being the center. When filtering image signals, image data has a finite area, and there have traditionally been various issues with processing edge points such as the left and right edges of an image. As shown in Figure 1, when the pixel of interest is near the top, bottom, left, or right edge of the input image, some of the input pixels required for filtering are outside the input image, as shown by the shaded areas. As a result, there is a lack of data required for filtering, and correct processing cannot be performed. Pixels that are outside the input image, as shown by the shaded areas, among the pixels within the range of filtering, are hereafter referred to as "overlap".

特開2005-348245号公報JP 2005-348245 A

そこで、特許文献1には、のりしろ部の画素を補間してフィルタ処理を行うことが開示されている。しかしながら、この方法では、補完されたのりしろ部の画素を入力する時間が必要であり、フィルタ処理の処理効率が低下するという問題があった。 Patent Document 1 discloses a method of performing filter processing by interpolating the pixels of the overlapping portion. However, this method requires time to input the pixels of the complemented overlapping portion, which reduces the processing efficiency of the filter processing.

本開示の一実施態様は、幅H画素の入力画像をラスタ順に1画素ずつ入力して、幅(2M+1)画素×高さ(2N+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、(2M+1)×(2N+1)個の画素値を選択するフィルタ入力画素選択手段と、前記フィルタ入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備え、前記フィルタ入力画素選択手段は、前記注目画素が前記入力画像の左端または右端からM画素内にある場合に、前記フィルタ演算手段に入力する(2M+1)×(2N+1)個の画素群のうち、前記入力画像内にある画素の画素値を前記遅延バッファから選択し、前記入力画像外にある画素の画素値を補完して前記フィルタ処理手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力することを特徴とする。 One embodiment of the present disclosure is an image processing module that inputs an input image of width H pixels one pixel at a time in raster order, inputs pixel values of width (2M+1) pixels x height (2N+1) pixels (H, M, and N are natural numbers), performs filter processing using a central pixel as a pixel of interest, and outputs output pixel values one pixel at a time, comprising a delay buffer that stores pixel values of at least H x 2N + 2M + 1 pixels from among the pixels of the input image, a filter input pixel selection means that selects (2M + 1) x (2N + 1) pixel values, and performs the filter processing using the pixel values selected by the filter input pixel selection means, and selects a pixel value for the pixel of interest. and a filter calculation means for outputting the output pixel value corresponding to the pixel value. When the pixel of interest is within M pixels from the left or right end of the input image, the filter input pixel selection means selects from the delay buffer the pixel values of pixels within the input image from among a group of (2M+1) x (2N+1) pixels input to the filter calculation means, complements the pixel values of pixels outside the input image, and inputs them to the filter processing means. After pixel values of H x 2N + 2M + 1 pixels are stored in the delay buffer, the output pixel value is output one pixel at a time for each pixel input of the input image.

本開示によれば、のりしろ部の画素値を補完するフィルタ処理の実行において、のりしろ部の画素の処理にかかる余計な時間を消費することなく、フィルタ処理の処理効率を向上することが可能となる。 According to the present disclosure, when performing a filter process that complements pixel values of the overlapping portion, it is possible to improve the processing efficiency of the filter process without wasting extra time on processing the pixels of the overlapping portion.

入力画像に対するフィルタ処理における「のりしろ」を示す図である。FIG. 13 is a diagram showing a “margin” in filter processing for an input image. 一般的なフィルタ処理モジュールの構成を示す図である。FIG. 1 is a diagram illustrating a configuration of a general filter processing module. 一般的なフィルタ処理において、入力画像と出力画像のサイズの関係を示す図である。FIG. 1 is a diagram showing the relationship between the sizes of an input image and an output image in general filter processing. のりしろ部の画素を補完しない場合のフィルタ処理の入力と処理実行のタイミングを示す図である。13A and 13B are diagrams illustrating inputs and timings of processing execution in filtering processing when pixels in an overlap portion are not complemented. 端点延長手段を適用したフィルタ処理モジュールの構成を示す図である。FIG. 13 is a diagram showing the configuration of a filter processing module to which an end point extension means is applied. のりしろ部の画素値を補完する手法について説明する図である。11A and 11B are diagrams illustrating a method for complementing pixel values of an overlapping portion. のりしろ部の画素値を補完する場合のフィルタ処理の入力と処理実行のタイミングを示す図である。13A and 13B are diagrams illustrating inputs and timings of execution of filtering processing when pixel values of an overlapping portion are complemented. 本開示の一実施形態にかかる画像処理モジュールを内蔵する複写機の構成を示すブロック図である。1 is a block diagram showing a configuration of a copying machine incorporating an image processing module according to an embodiment of the present disclosure. 本実施形態の画像処理モジュールの構成を示す図である。FIG. 2 is a diagram illustrating a configuration of an image processing module according to the present embodiment. 本実施形態におけるフィルタ処理の入力と処理実行のタイミングを示す図である。11A and 11B are diagrams illustrating timings of input and execution of filter processing in the present embodiment. 入力画像を複数のバンドに分割してフィルタ処理を行う場合の「のりしろ」の関係を示す図である。FIG. 13 is a diagram showing the relationship of "margins" when an input image is divided into a plurality of bands and filtered;

以下、図面を参照して本開示の実施の形態について詳細に説明する。最初に、一般的な入力画像のフィルタ処理の概要を説明する。 Below, an embodiment of the present disclosure will be described in detail with reference to the drawings. First, an overview of typical input image filtering will be provided.

図2に、一般的なフィルタ処理モジュールの構成を示す。フィルタ処理モジュール30は、遅延バッファ301、フィルタ入力画素選択部302、およびフィルタ演算部303の各サブモジュールから構成される。注目画素を中心として、ライン方向(X軸方向)に2M+1画素、カラム方向(Y軸方向)に2M+1画素の計(2M+1)×(2M+1)画素(Mは自然数)を、フィルタ処理の対象範囲として参照する例を説明する。 Figure 2 shows the configuration of a typical filter processing module. Filter processing module 30 is composed of sub-modules: delay buffer 301, filter input pixel selection unit 302, and filter calculation unit 303. We will explain an example in which a total of (2M+1) x (2M+1) pixels (M is a natural number), consisting of 2M+1 pixels in the line direction (X-axis direction) and 2M+1 pixels in the column direction (Y-axis direction) with the pixel of interest at the center, are referenced as the target range for filter processing.

遅延バッファ301は、フィルタ処理モジュール30に、ラスタ順に入力される各画素値を一時的に格納するサブモジュールであり、フリップフロップ回路、レジスタ、またはメモリなどで構成される。遅延バッファ301には、例えば、図3(a)に示す入力画像の画像データが入力される。 The delay buffer 301 is a submodule that temporarily stores each pixel value input to the filter processing module 30 in raster order, and is composed of a flip-flop circuit, a register, a memory, or the like. For example, image data of the input image shown in FIG. 3(a) is input to the delay buffer 301.

フィルタ入力画素選択部302は、遅延バッファ301に格納された複数の画素のうち、フィルタ処理の対象となる幅(2M+1)画素×高さ(2M+1)画素の画素値を選択して読み出す。フィルタ入力画素選択部302は、読みだされた各画素値を、一括して後段のフィルタ演算部303に入力する。 The filter input pixel selection unit 302 selects and reads out the pixel values of the (2M+1) pixels wide by (2M+1) pixels high that are to be subjected to the filter process from among the multiple pixels stored in the delay buffer 301. The filter input pixel selection unit 302 inputs the read-out pixel values all at once to the downstream filter calculation unit 303.

フィルタ演算部303は、フィルタ入力画素選択部302で選択された各画素値を入力として、中心画素を注目画素としたフィルタ処理演算を行い、結果を1画素ずつ出力する。ただし、1画素のフィルタ処理演算にかかる時間は、フィルタ処理モジュール30に、ある1画素を入力してから、次の1画素を入力するまでの時間よりも短い時間とする。 The filter calculation unit 303 receives as input each pixel value selected by the filter input pixel selection unit 302, performs a filter processing calculation with the center pixel as the pixel of interest, and outputs the results pixel by pixel. However, the time required for the filter processing calculation for one pixel is set to be shorter than the time from when a pixel is input to the filter processing module 30 until the next pixel is input.

図3(b)に示すように、フィルタ処理モジュール30から出力される出力画像の幅をH画素とする。フィルタ処理の対象範囲が(2M+1)×(2M+1)画素であるので、入力画像の幅は(H+2M)画素必要となる。従って、フィルタ処理モジュール30には、幅(H+2M)画素の画像データがラスタ順に入力される。一方、図3(a)に示す入力画像に対して、出力画像は、のりしろ部に相当する、図3(b)に示したグレーの部分(上下左右にM画素分)が削られて出力される。 As shown in FIG. 3(b), the width of the output image output from the filter processing module 30 is H pixels. Because the target range of the filter processing is (2M+1)×(2M+1) pixels, the width of the input image required is (H+2M) pixels. Therefore, image data with a width of (H+2M) pixels is input to the filter processing module 30 in raster order. On the other hand, for the input image shown in FIG. 3(a), the output image is output with the gray portion shown in FIG. 3(b) (M pixels above, below, left and right) corresponding to the overlap portion removed.

図4に、のりしろ部の画素を補完しない場合のフィルタ処理の入力と処理実行のタイミングを示す。フィルタ処理モジュール30には、入力画像が、図4(a)の太矢印で示すように、左上からラスタ順に1画素ずつ入力される。従って、最初の注目画素のフィルタ処理の対象となる(2M+1)×(2M+1)画素が揃うまでは、フィルタ処理を実行することができない。具体的には、入力画像の左上画素のXY座標を(0,0)とすると、図4(b)に示すように、座標(2M,2M)にある画素が入力されるまで、フィルタ処理を実行することができない。このとき、座標(0,0)の入力画素から座標(2M,2M)までの入力画素の全て(図4(b)の斜線部の画素)を、遅延バッファ301に格納しておく必要がある。すなわち、遅延バッファ301には、(2M×(H+2M)+2M+1)個の画素値を格納できる容量が必要である。 Figure 4 shows the timing of input and processing execution of filter processing when the pixels in the overlapping portion are not complemented. The input image is input to the filter processing module 30 in raster order, one pixel at a time, from the top left, as shown by the thick arrow in Figure 4(a). Therefore, filter processing cannot be executed until the (2M+1) x (2M+1) pixels to be the subject of filter processing of the first pixel of interest are complete. Specifically, if the XY coordinates of the top left pixel of the input image are (0,0), filter processing cannot be executed until the pixel at coordinates (2M,2M) is input, as shown in Figure 4(b). At this time, all input pixels from the input pixel at coordinates (0,0) to the coordinates (2M,2M) (pixels in the shaded area in Figure 4(b)) must be stored in the delay buffer 301. In other words, the delay buffer 301 needs a capacity to store (2M x (H + 2M) + 2M + 1) pixel values.

図4(c)に示すように、注目画素をラスタ順に1画素ずつずらして、フィルタ処理を実行する。このとき、フィルタ入力画素選択部302は、同様に、遅延バッファ301に格納された画素群の中から、フィルタ処理の対象となる(2M+1)×(2M+1)個の画素を選択する。図4(d)に示すように、入力画像の右端の座標(H+2M-1,2M)の画素が入力されるまで、1画素入力するごとに1画素のフィルタ処理結果が出力される。遅延バッファ301は、その都度、最古の1画素を消去して、新たに入力された画素値を格納する。従って、遅延バッファ301には、図4(c),(d)の斜線部に示すように、常に(2M×(H+2M)+2M+1)個の画素値を格納しておく必要がある。 As shown in FIG. 4(c), the pixel of interest is shifted by one pixel at a time in raster order to perform filter processing. At this time, the filter input pixel selection unit 302 similarly selects (2M+1)×(2M+1) pixels to be filtered from the group of pixels stored in the delay buffer 301. As shown in FIG. 4(d), the filter processing result of one pixel is output each time a pixel is input until the pixel at the coordinates (H+2M-1, 2M) on the right edge of the input image is input. The delay buffer 301 erases the oldest pixel each time and stores the newly input pixel value. Therefore, the delay buffer 301 must always store (2M×(H+2M)+2M+1) pixel values, as shown in the shaded areas in FIG. 4(c) and (d).

さらに、入力画像の次のラインの画素が入力されると、図4(e)に示すように、そのラインの2M+1番目の画素が入力されるまで、フィルタ処理を実行することができない。2M+1番目の画素が入力されて以降は、図4(f)に示すように、1画素入力ごとに1画素のフィルタ処理結果が出力される。 Furthermore, when pixels of the next line of the input image are input, filter processing cannot be performed until the 2M+1th pixel of that line is input, as shown in FIG. 4(e). After the 2M+1th pixel is input, the filter processing result of one pixel is output for each pixel input, as shown in FIG. 4(f).

図4(a)~(f)のそれぞれの場合の、フィルタ演算部303の各カラムへの入力画素のX座標値を図4(b1)~(d1),(f1)に示す。 The X-coordinate values of the input pixels to each column of the filter calculation unit 303 for each of the cases in Figures 4(a) to (f) are shown in Figures 4(b1) to (d1) and (f1).

このように、入力画像の1ラインの幅(H+2M)画素に対して、出力画像の幅はH画素となる。同様に、フィルタ処理モジュール30から出力される出力画像のカラムの幅(入力画像のラインの総数)についても、フィルタ処理の対象となる画素の範囲が(2M+1)×(2M+1)画素であるので、入力画像の1カラムの幅は(H+2M)画素必要となる。従って、副走査方向を無視すると、出力レートは入力レートのH/(H+2M)倍となる。 Thus, the width of one line of the input image is (H+2M) pixels, while the width of the output image is H pixels. Similarly, the width of a column of the output image output from the filter processing module 30 (total number of lines in the input image) is also (H+2M) pixels, since the range of pixels subject to filter processing is (2M+1) x (2M+1) pixels. Therefore, ignoring the sub-scanning direction, the output rate is H/(H+2M) times the input rate.

次に、上述したように、のりしろが必要な入力画像において、入力画像外ののりしろ部の画素を補完してフィルタ処理を実行する方法の一例を説明する。 Next, we will explain an example of a method for performing filter processing by complementing pixels in the overlap area outside the input image when an input image requires an overlap area, as described above.

図5に、端点延長手段を適用したフィルタ処理モジュールの構成を示す。フィルタ処理モジュール30aは、遅延バッファ301、フィルタ入力画素選択部302、およびフィルタ演算部303を備えている。加えて、遅延バッファ301の入力側に、入力画像の左端点より左側の画像データを延長する左端点延長手段305と、入力画像の右端点より右側の画像データを延長する右端点延長手段304とが縦続して接続されている。さらに、端点延長動作の実行を指示する端点検出手段306が、右端点延長手段304および左端点延長手段305に接続されている。 Figure 5 shows the configuration of a filter processing module to which an end point extension means is applied. The filter processing module 30a comprises a delay buffer 301, a filter input pixel selection unit 302, and a filter calculation unit 303. In addition, a left end point extension means 305 that extends image data to the left of the left end point of the input image, and a right end point extension means 304 that extends image data to the right of the right end point of the input image are connected in tandem to the input side of the delay buffer 301. Furthermore, an end point detection means 306 that instructs the execution of an end point extension operation is connected to the right end point extension means 304 and the left end point extension means 305.

フィルタ処理モジュール30aに幅H画素の入力画像を、ラスタ順に1画素ずつ入力すると、端点検出手段306において、各ラインの左右の端点を検出する。左端点を検出すると、左端点延長手段305により左にM画素分端点を延長し、右端点を検出すると、右端点延長手段304により右にM画素分端点を延長して、遅延バッファ301に格納する。従って、入力画像の幅がH画素であるとき、遅延バッファ301にはH+2M画素の幅の画像が格納されることになる。 When an input image with a width of H pixels is input one pixel at a time in raster order to the filter processing module 30a, the left and right endpoints of each line are detected by the endpoint detection means 306. When the left endpoint is detected, the left endpoint is extended to the left by M pixels by the left endpoint extension means 305, and when the right endpoint is detected, the right endpoint is extended to the right by M pixels by the right endpoint extension means 304, and these are stored in the delay buffer 301. Therefore, when the width of the input image is H pixels, an image with a width of H+2M pixels is stored in the delay buffer 301.

図6を参照して、のりしろ部の画素値を補完する手法について説明する。ここでは、フィルタ処理の対象となる画素の範囲2M+1=5として説明する。注目画素mを中心とした5×5画素のフィルタ処理を行う際に、右端点延長手段304によりのりしろ部の画素値を補完する例である。第1の例では、図6(a)に示すように、注目画素mが入力画像の右端に存在する場合、フィルタ処理の対象となる5×5画素のうち、右の2カラム、すなわちグレーで示した5×2画素がのりしろ部の画素となる。そこで、右端点延長手段304は、のりしろ部の2カラム分の画素の画素値を、入力画像の同じラインの右端の画素(c,h,m,r,w)として補完する。 With reference to FIG. 6, a method for complementing pixel values of the overlapping portion will be described. Here, the range of pixels to be filtered is 2M+1=5. This is an example in which the right end point extension means 304 complements pixel values of the overlapping portion when performing filter processing on 5×5 pixels centered on the pixel of interest m. In the first example, as shown in FIG. 6(a), when the pixel of interest m is located at the right end of the input image, the right two columns of the 5×5 pixels to be filtered, that is, the 5×2 pixels shown in gray, become the pixels of the overlapping portion. Therefore, the right end point extension means 304 complements the pixel values of the two columns of pixels of the overlapping portion as the right end pixels (c, h, m, r, w) of the same line of the input image.

同様に、注目画素mが入力画像の右端から1カラム内側に存在する場合、右の1カラムがのりしろ部の画素となる。そこで、右端点延長手段304は、図6(b)に示すように、のりしろ部の1カラム分の画素の画素値を、入力画像の同じラインの右端の画素(d,i,n,s,x)として補完する。 Similarly, if the pixel of interest m is located one column inside from the right edge of the input image, the one column to the right becomes a pixel of the overlap portion. Therefore, as shown in FIG. 6(b), the right edge point extension means 304 complements the pixel values of the pixels of one column of the overlap portion as the pixel (d, i, n, s, x) at the right edge of the same line of the input image.

また、右端点延長手段304は、のりしろ部の画素値を補完する場合に、第2の例として、図6(c)に示すように、入力画像の端部にして鏡像位置にあるカラムの画素の画素値を用いて補完することもできる。すなわち、右端点延長手段304は、のりしろ部の1カラム目を右端の画素(c,h,m,r,w)で延長し、のりしろ部の2カラム目を右端から2番目の画素(b,g,l,q,v)で補完する。フィルタ処理の内容がエッジを強調する処理の場合は、図6(a),(b)に示した第1の例よりも、図6(c)に示した第2の例の方が、より良い結果を得ることができる。 When complementing pixel values of the overlap portion, the right end point extension means 304 can also complement using pixel values of pixels in a column at the end of the input image and in a mirror image position, as shown in FIG. 6(c) as a second example. That is, the right end point extension means 304 extends the first column of the overlap portion with the right end pixel (c, h, m, r, w), and complements the second column of the overlap portion with the second pixel from the right end (b, g, l, q, v). When the filter process is for enhancing edges, the second example shown in FIG. 6(c) can produce better results than the first example shown in FIGS. 6(a) and (b).

注目画素が入力画像の左端に存在する場合は、左端点延長手段305により、右端点と同様に端点を延長して、のりしろ部の画素を補完すればよい。フィルタ処理モジュール30aに入力された入力画像は、左端点延長手段305と右端点延長手段304とにより、のりしろ部の画素が補われ、ラスタ順に全てのカラムが処理される。図6(d)に示すように、入力画像の1ラインの幅に対して、左右の端点が延長された分だけ大きくなって遅延バッファ301に入力される。このように、注目画素が入力画像の端部の画素であっても、のりしろ部の画素値を補完することにより、5×5画素の範囲でフィルタ処理を行うことができる。 If the pixel of interest is at the left end of the input image, the left end point extension means 305 extends the end point in the same way as the right end point, and the pixels in the overlapping part are complemented. The input image input to the filter processing module 30a has the pixels in the overlapping part complemented by the left end point extension means 305 and the right end point extension means 304, and all columns are processed in raster order. As shown in FIG. 6(d), the width of one line of the input image is increased by the amount by which the left and right end points are extended, and input to the delay buffer 301. In this way, even if the pixel of interest is at the edge of the input image, filter processing can be performed within a range of 5 x 5 pixels by complementing the pixel value of the overlapping part.

フィルタ処理モジュール30aにおける処理レートについて述べる。ここでは、注目画素を中心として、(2M+1)×(2M+1)画素(Mは自然数)を参照したフィルタ処理を例にして説明する。フィルタ処理モジュール30aに幅H画素の入力画像を、ラスタ順に1画素ずつ入力すると、右端点延長手段304および左端点延長手段305により左右にM画素分端点が延長される。上述した、のりしろ部の画素値を補完する第1の例に従うと、入力画像の第yライン(y=0,1,2,…)のそれぞれについて、そのラインの左端の座標(0,y)の画素の画素値をM回入力する。次に、入力画像1ラインのH画素を入力し、そのラインの右端の座標(H-1,y)の画素の画素値をM回入力する。以後のラインでも同様の処理を繰り返すので、遅延バッファ301には、各ラインあたり左右に端点が延長された、H+2M画素が入力される。 The processing rate in the filter processing module 30a will be described. Here, the filter processing will be described by taking as an example a filter processing that references (2M+1)×(2M+1) pixels (M is a natural number) with the pixel of interest at the center. When an input image with a width of H pixels is input to the filter processing module 30a one pixel at a time in raster order, the end points are extended to the left and right by M pixels by the right end point extension means 304 and the left end point extension means 305. According to the first example of complementing the pixel values of the overlapping portion described above, for each of the y-th line (y=0, 1, 2, ...) of the input image, the pixel value of the pixel at the left end coordinate (0, y) of the line is input M times. Next, H pixels of one line of the input image are input, and the pixel value of the pixel at the right end coordinate (H-1, y) of the line is input M times. Similar processing is repeated for subsequent lines, so that H+2M pixels with the end points extended to the left and right for each line are input to the delay buffer 301.

図7に、のりしろ部の画素値を補間する場合のフィルタ処理の入力と処理実行のタイミングを示す。フィルタ処理モジュール30aでは、図7(a)に示すように、入力画像の左右にMカラム分の画素が補完された、H+2M画素の幅の画像を、新たな入力画像として処理することになる。従って、図7(b)に示した入力と処理実行のタイミングは、図4(b)に示した入力と処理実行のタイミングと同じである。同様に、図7(c)~(f)の入力と処理実行のタイミングも、図4(c)~(f)の入力と処理実行のタイミングと同じである。図7(b1)~(d1),(f1)に示す、フィルタ演算部303の各カラムへの入力画素のX座標値も、図4(b1)~(d1),(f1)に同じである。従って、副走査方向を無視すると、出力レートは入力レートのH/(H+2M)倍となる。 Figure 7 shows the timing of input and processing execution of the filter processing when pixel values of the overlapping portion are interpolated. In the filter processing module 30a, as shown in Figure 7(a), an image with a width of H+2M pixels, in which M columns of pixels are added to the left and right of the input image, is processed as a new input image. Therefore, the timing of input and processing execution shown in Figure 7(b) is the same as the timing of input and processing execution shown in Figure 4(b). Similarly, the timing of input and processing execution in Figures 7(c) to (f) is the same as the timing of input and processing execution in Figures 4(c) to (f). The X coordinate values of the input pixels to each column of the filter calculation unit 303 shown in Figures 7(b1) to (d1) and (f1) are also the same as those in Figures 4(b1) to (d1) and (f1). Therefore, if the sub-scanning direction is ignored, the output rate is H/(H+2M) times the input rate.

以上述べたように、図2に示したフィルタ処理モジュール30を用いて、図4に示した処理を行うと、出力レートは入力レートのH/(H+2M)倍となり、入力レートより遅くなる。この遅くなる理由は、フィルタ処理の際に、出力画像の画素には含まれない画素も入力する必要があり、その画素分の入力に時間が掛かるためである。さらに、出力レートと入力レートの比は、入力画像の主走査画素数Hが小さいほど小さくなる。一方、図5に示したフィルタ処理モジュール30aを用いて、図7に示した処理を行う場合も、出力レートは入力レートのH/(H+2M)倍となり、入力レートより遅くなる。 As described above, when the processing shown in FIG. 4 is performed using the filter processing module 30 shown in FIG. 2, the output rate is H/(H+2M) times the input rate, which is slower than the input rate. The reason for this slowness is that during filter processing, pixels that are not included in the pixels of the output image must also be input, and it takes time to input those pixels. Furthermore, the ratio of the output rate to the input rate decreases as the number of main scanning pixels H of the input image decreases. On the other hand, when the processing shown in FIG. 7 is performed using the filter processing module 30a shown in FIG. 5, the output rate is also H/(H+2M) times the input rate, which is slower than the input rate.

そこで、本実施形態では、右端ののりしろ部を含む注目画素のフィルタ処理結果を出力するとともに、左端のりしろ部の画素値を補完する。これにより、のりしろ部の画素の処理にかかる余計な時間を消費することなく、フィルタ処理の処理効率を向上することができる。 Therefore, in this embodiment, the filter processing result of the pixel of interest including the right-end overlap portion is output, and the pixel value of the left-end overlap portion is complemented. This makes it possible to improve the processing efficiency of the filter processing without wasting extra time on processing the pixels of the overlap portion.

(第1の実施形態)
図8に、本開示の一実施形態にかかる画像処理モジュールを内蔵する複写機の構成を示す。本実施形態ではデジタル複写機を例とするが、本開示の技術は、他にも動画表示装置など二次元画像を処理する多種の画像処理装置に適用可能である。一般的なデジタル複写機は、スキャナユニット、プリンタユニット、コントローラASIC、メインメモリ、通信インターフェース、機構部を備えている、以下、その各部およびその内部について説明する。
First Embodiment
8 shows the configuration of a copying machine incorporating an image processing module according to an embodiment of the present disclosure. In this embodiment, a digital copying machine is taken as an example, but the technology of the present disclosure can be applied to various other types of image processing devices that process two-dimensional images, such as video display devices. A typical digital copying machine includes a scanner unit, a printer unit, a controller ASIC, a main memory, a communication interface, and a mechanism unit. Each of these units and their internal structure will be described below.

コントローラチップ11000は、複写機全体を制御する。後述の多くの内部モジュールを1つのチップにまとめたASIC(Application Specific Integrated Circuit)の形で実装されることが多い。スキャナユニット11001は、原稿を光学的に走査してデジタル画像データを得る。コントローラチップ11000内の後述のスキャナ制御部119により制御される。スキャナユニット11001は、内部に図示しない点灯部とラインセンサを備え、読み取り結果を画素単位のアナログ信号としてコントローラチップ11000へ転送する。メインメモリ11002は、画像データや各種制御用データなどを一時的に格納する。メインメモリ11002は、一般的にはDRAM(Dynamic Random Access Memory)で構成される。通信インターフェース11003は、複写機と外部との間で通信を行う。具体的には無線LAN、USB(Universal Serial Bus)などが適用される。一般的なデジタル複写機は、複数種類の通信インターフェースを備え、外部と制御コマンド、画像データのやり取りなどを行う。 The controller chip 11000 controls the entire copier. It is often implemented in the form of an ASIC (Application Specific Integrated Circuit) that integrates many internal modules described below into one chip. The scanner unit 11001 optically scans an original to obtain digital image data. It is controlled by a scanner control unit 119 (described below) in the controller chip 11000. The scanner unit 11001 has a lighting unit and a line sensor (not shown) inside, and transfers the read result to the controller chip 11000 as an analog signal in pixel units. The main memory 11002 temporarily stores image data and various control data. The main memory 11002 is generally composed of a DRAM (Dynamic Random Access Memory). The communication interface 11003 communicates between the copier and the outside. Specifically, a wireless LAN, a USB (Universal Serial Bus), etc. are applied. A typical digital copier has multiple types of communication interfaces and exchanges control commands and image data with the outside.

プリンタユニットのプリントキャリッジヘッド11004は、コントローラチップ11000内から出力された画像データを、インクの吐出などの手段により、記録材である用紙の面上に画像を形成する。後述の用紙搬送部110055により副走査方向に搬送される用紙の上を、後述のキャリッジヘッド搬送部110056によりプリントキャリッジヘッド11004を主走査方向に走査すると同時に、インクの吐出を行う。 The print carriage head 11004 of the printer unit forms an image on the surface of the paper, which is a recording material, by means of ejecting ink or the like, based on the image data output from the controller chip 11000. The print carriage head 11004 is scanned in the main scanning direction by the carriage head transport unit 110056 (described below) over the paper, which is transported in the sub-scanning direction by the paper transport unit 110055 (described below), and ink is ejected at the same time.

機構部11005は、コントローラチップ11000からの出力信号により、複写機内の機械的動作を制御し、複写機内の状態検知を行って、コントローラチップ11000への情報の通知を行う。機構部11005は、以下のサブモジュールを含む。原稿搬送部(オートドキュメントフィーダ)110051は、スキャンする原稿を搬送する。スキャナユニット搬送部110052は、フラットベッドスキャナで原稿を読み込む際にスキャナユニット11001を動かす。原稿位置検知部110053は、オートドキュメントフィーダ110051で原稿を読み込む際に、原稿の存在、原稿の終端を検知してコントローラチップ11000へ送信する。 The mechanism unit 11005 controls the mechanical operations within the copier using output signals from the controller chip 11000, detects the status within the copier, and notifies the controller chip 11000 of the information. The mechanism unit 11005 includes the following submodules: The document transport unit (auto document feeder) 110051 transports the document to be scanned. The scanner unit transport unit 110052 moves the scanner unit 11001 when the document is read by the flatbed scanner. The document position detection unit 110053 detects the presence of the document and the end of the document when the document is read by the auto document feeder 110051, and sends this to the controller chip 11000.

オペレーションパネル110054は、ユーザが複写機を手動で操作するためのパネルである。 The operation panel 110054 is a panel that allows the user to manually operate the copier.

用紙搬送部110055は、プリントキャリッジヘッド11004において印刷する用紙を搬送する。キャリッジヘッド搬送部110056は、プリントキャリッジヘッド11004を、用紙の搬送方向と直行する方向に動作させる。用紙位置検知部110057は、用紙搬送部110055で搬送される用紙の位置を検知して、その情報をコントローラチップ11000へ送信する。 The paper transport unit 110055 transports the paper to be printed by the print carriage head 11004. The carriage head transport unit 110056 operates the print carriage head 11004 in a direction perpendicular to the paper transport direction. The paper position detection unit 110057 detects the position of the paper being transported by the paper transport unit 110055 and sends this information to the controller chip 11000.

次に、コントローラチップ11000の内部構成について説明する。バス111は、コントローラチップ11000内の各処理部を接続する。 Next, the internal configuration of the controller chip 11000 will be described. The bus 111 connects each processing unit within the controller chip 11000.

スキャナ画像処理部112は、スキャナユニット11001で得られたデジタル画像データに対して、各種画像処理を行う。スキャナ画像処理部112は、以下の3つのサブモジュールを含む。シェーディング処理モジュール1121は、スキャナユニット11001で得られた画像データのシェーディング処理を行う。フィルタ処理モジュール(A)1122は、シェーディング処理後の画像データに関して、エッジ強調などの処理を行う。変倍処理モジュール1123は、ユーザに指定された変倍率設定に応じてデジタル変倍処理を行う。これらのサブモジュール群は、スキャナ画像処理部112内部で、入力画像のラスタ順に1画素ずつ、パイプライン状に同時に処理を行う。 The scanner image processing unit 112 performs various image processing on the digital image data obtained by the scanner unit 11001. The scanner image processing unit 112 includes the following three sub-modules. The shading processing module 1121 performs shading processing on the image data obtained by the scanner unit 11001. The filter processing module (A) 1122 performs processing such as edge emphasis on the image data after shading processing. The magnification processing module 1123 performs digital magnification processing according to the magnification setting specified by the user. These sub-modules process each pixel of the input image in raster order in a pipeline manner simultaneously within the scanner image processing unit 112.

メモリコントローラ113は、バス111に接続され、メインメモリ11002とのデータのやり取りの制御を行う。インターフェース(I/F)114は、コントローラチップ11000と、チップ外部の通信インターフェース11003、機構部11005との間でデータのやり取りを行う。 The memory controller 113 is connected to the bus 111 and controls data exchange with the main memory 11002. The interface (I/F) 114 exchanges data between the controller chip 11000 and the communication interface 11003 and mechanism unit 11005 outside the chip.

レンダリング処理部115は、複写機が通信インターフェース11003経由で外部から受信した圧縮画像データを伸張したり、PDL(ページ記述言語)データのレンダリング処理を行うことにより、非圧縮のビットマップ画像データに変換する。ただし、このレンダリング処理部をハードウェアとしては搭載せずに、上記のレンダリング処理をCPU116で行うことも可能である。 The rendering processing unit 115 expands compressed image data that the copier receives from the outside via the communication interface 11003, and converts it into uncompressed bitmap image data by performing rendering processing of PDL (page description language) data. However, it is also possible to perform the above-mentioned rendering processing by the CPU 116 without installing this rendering processing unit as hardware.

CPU(中央制御装置)116は、バス111経由で装置全体を制御する。 The CPU (central control unit) 116 controls the entire device via the bus 111.

プリンタ画像処理部117は、スキャナ画像処理部112、レンダリング処理部115において処理されたビットマップ画像データに対し、色変換、量子化などの処理を行い、プリンタ制御部118へ出力する。プリンタ画像処理部117は、以下の3つのサブモジュールを含む。フィルタ処理モジュール(B)1171は、入力されたデジタル画像データに対して、フィルタ処理モジュール(A)1122とは別種のフィルタ処理を行う。フィルタ処理モジュール(B)1171は、レンダリング処理部115の出力画像データに対して、インクのにじみなどを考慮して出力画像のエッジ部を細らせるなどのフィルタ処理を行う。色変換モジュール1172は、輝度(RGB)で表される画像データに対して、マトリクス演算、3D-LUT(ルックアップテーブル)などの処理を用いて、CMYKなどのインク色に対応した多値の濃度データに変換する。量子化モジュール1173は、色変換モジュール1172でインク色に対応した多値データに変換された画像データに対して、ディザ、誤差拡散などの既知の手法を用いて、プリンタユニットで出力できる量子化データに変換する。プリンタ画像処理部117の処理結果は、メインメモリ11002へ出力される。 The printer image processing unit 117 performs processing such as color conversion and quantization on the bitmap image data processed by the scanner image processing unit 112 and the rendering processing unit 115, and outputs the data to the printer control unit 118. The printer image processing unit 117 includes the following three submodules. The filter processing module (B) 1171 performs a different type of filter processing on the input digital image data from the filter processing module (A) 1122. The filter processing module (B) 1171 performs filter processing on the output image data of the rendering processing unit 115, such as thinning the edges of the output image, taking into account ink bleeding and the like. The color conversion module 1172 converts image data represented by luminance (RGB) into multi-value density data corresponding to ink colors such as CMYK, using processes such as matrix calculations and 3D-LUT (lookup table). The quantization module 1173 converts the image data converted into multi-value data corresponding to ink colors by the color conversion module 1172 into quantized data that can be output by the printer unit, using known methods such as dithering and error diffusion. The processing results of the printer image processing unit 117 are output to the main memory 11002.

プリンタ制御部118は、プリンタ画像処理部117から出力された量子化データを、メインメモリ11002から読み出してプリントキャリッジヘッド11004へ送信する。スキャナ制御部119は、CPU116の命令および機構部11005で検知される状態に応じてスキャナユニット11001を制御する。A/D変換部120は、スキャナユニット11001から出力される画素単位のアナログ信号をA/D変換してデジタル画像データに変換しメインメモリ11002へ書き出す。 The printer control unit 118 reads the quantized data output from the printer image processing unit 117 from the main memory 11002 and transmits it to the print carriage head 11004. The scanner control unit 119 controls the scanner unit 11001 according to commands from the CPU 116 and the state detected by the mechanism unit 11005. The A/D conversion unit 120 A/D converts the pixel-by-pixel analog signal output from the scanner unit 11001 into digital image data and writes it to the main memory 11002.

本実施形態での複写機の内部のデータフローは、コピー時には、
スキャナユニット11001
→A/D変換部120 →メインメモリ11002
→スキャナ画像処理部112→メインメモリ11002
→プリンタ画像処理部117→メインメモリ11002
→プリンタ制御部118
→プリントキャリッジヘッド11004
となる。複写機の外部から受信したPDLデータのプリント時には、
通信インターフェース11003→メインメモリ11002
→レンダリング処理部115 →メインメモリ11002
→プリンタ画像処理部117 →メインメモリ11002
→プリンタ制御部118
→プリントキャリッジヘッド11004
となる。
In this embodiment, the internal data flow of the copier is as follows:
Scanner unit 11001
→ A/D conversion unit 120 → Main memory 11002
→Scanner image processing unit 112 →Main memory 11002
→Printer image processing unit 117 →Main memory 11002
Printer control unit 118
Print carriage head 11004
When printing PDL data received from outside the copier,
Communication interface 11003 → main memory 11002
Rendering processing unit 115 →Main memory 11002
→Printer image processing unit 117 →Main memory 11002
Printer control unit 118
Print carriage head 11004
It becomes.

本実施形態におけるフィルタ処理の動作は、上記の複写機の例においては、フィルタ処理モジュール(A)1122、およびフィルタ処理モジュール(B)1171のどちらでも行うことができる。コピー時にはフィルタ処理モジュール(A)1122でフィルタ処理を行い、PDLプリント時にはフィルタ処理モジュール(B)1171でフィルタ処理を行う。なお、フィルタ処理の動作は、レンダリング処理部115の中で行っても良い。さらに、本実施形態の複写機に限らず、二次元画像に対してハードウェアによるフィルタ処理を行う装置であれば、本実施形態のフィルタ処理を適用することが可能である。 In the example of the copier described above, the filter processing operation in this embodiment can be performed by either filter processing module (A) 1122 or filter processing module (B) 1171. When copying, filter processing is performed by filter processing module (A) 1122, and when PDL printing, filter processing is performed by filter processing module (B) 1171. Note that the filter processing operation may be performed in the rendering processing unit 115. Furthermore, the filter processing of this embodiment can be applied not only to the copier of this embodiment, but also to any device that performs hardware filter processing on two-dimensional images.

図9に、本実施形態の画像処理モジュールの構成を示す。画像処理モジュールとして、上記の複写機におけるフィルタ処理モジュール(A)1122に適用する場合を説明する。フィルタ処理モジュール(B)1171の構成も同様である。フィルタ処理モジュール(A)1122は、遅延バッファ301、フィルタ入力画素選択部302、およびフィルタ演算部303の各サブモジュールから構成される。 Figure 9 shows the configuration of the image processing module of this embodiment. A case will be described in which the image processing module is applied to the filter processing module (A) 1122 in the above-mentioned copier. The filter processing module (B) 1171 has a similar configuration. The filter processing module (A) 1122 is composed of the sub-modules of a delay buffer 301, a filter input pixel selection unit 302, and a filter calculation unit 303.

遅延バッファ301は、フィルタ処理モジュール(A)1122に、ラスタ順に入力される各画素値を一時的に格納するサブモジュールであり、フリップフロップ回路、レジスタ、またはメモリなどで構成される。 The delay buffer 301 is a submodule that temporarily stores each pixel value input to the filter processing module (A) 1122 in raster order, and is composed of a flip-flop circuit, a register, or a memory.

フィルタ入力画素選択部302は、遅延バッファ301に格納された複数の画素のうち、フィルタ処理の対象となる幅(2M+1)画素×高さ(2M+1)画素の画素値を選択して読み出す。フィルタ入力画素選択部302は、読み出された各画素値を、一括して後段のフィルタ演算部303に入力する。 The filter input pixel selection unit 302 selects and reads out the pixel values of the (2M+1) pixels wide by (2M+1) pixels high that are to be subjected to the filter process from among the multiple pixels stored in the delay buffer 301. The filter input pixel selection unit 302 inputs the read pixel values all at once to the downstream filter calculation unit 303.

フィルタ演算部303は、フィルタ入力画素選択部302で選択された各画素値を入力として、中心画素を注目画素としたフィルタ処理演算を行い、結果を1画素ずつ出力する。ただし、1画素のフィルタ処理演算にかかる時間は、フィルタ処理モジュール(A)1122にある1画素を入力してから、次の1画素を入力するまでの時間よりも短い時間とする。 The filter calculation unit 303 receives as input each pixel value selected by the filter input pixel selection unit 302, performs a filter processing calculation with the center pixel as the pixel of interest, and outputs the results pixel by pixel. However, the time required for the filter processing calculation for one pixel is set to be shorter than the time from inputting one pixel in the filter processing module (A) 1122 to inputting the next pixel.

第1の実施形態では、上述した端点延長手段を用いず、フィルタ入力画素選択部302において、のりしろ部の画素値を補う処理を行う。図9を参照して、詳細を説明する。 In the first embodiment, the above-mentioned end point extension means is not used, and the filter input pixel selection unit 302 performs processing to compensate for the pixel values of the overlapping portion. Details will be described with reference to FIG. 9.

遅延バッファ301は、入力画像の画素値を、入力画像におけるX座標値ごとに最新の2M+1画素だけをFIFO形式で保持するH個(Hは入力画像の画素の幅)のメモリ3011[0]~メモリ3011[H-1]を備える。さらに、遅延バッファ301は、入力画素値を、H個のメモリ3011のうち、どのメモリに保持させるかを、入力画像のX座標値から選択するマルチプレクサ3010を備える。入力画像でのX座標値がxである画素の画素値は、メモリ3011[x]に最新の2M+1画素分だけ保持される。メモリ3011[x]の各々では、2M+1個を越えて新たな入力画素があると、最古の画素を消去し、新たな画素を格納する。すなわち、入力画像の第0ラインから第2Mラインまでの画素値が入力された時点で、メモリ3011[x]には、X座標値ごとに1カラム分の2M+1画素(座標(x,0)~(x,2M))の画素値が格納される。 The delay buffer 301 comprises H memories 3011[0] to 3011[H-1] (H is the pixel width of the input image) that hold only the most recent 2M+1 pixels of the pixel values of the input image in FIFO format for each X coordinate value in the input image. In addition, the delay buffer 301 comprises a multiplexer 3010 that selects which of the H memories 3011 the input pixel value will be held in, based on the X coordinate value of the input image. The pixel value of a pixel whose X coordinate value in the input image is x is held in memory 3011[x] for the most recent 2M+1 pixels. In each of memories 3011[x], when there is a new input pixel beyond 2M+1, the oldest pixel is erased and the new pixel is stored. In other words, when the pixel values from line 0 to line 2M of the input image are input, the pixel values of 2M+1 pixels (coordinates (x,0) to (x,2M)) for one column are stored in memory 3011[x] for each X coordinate value.

また、遅延バッファ301は、入力画像の画素値を格納するのではなく、2M+1個分の所定の固定値を設定できる固定値レジスタ3012を備える。固定値レジスタ3012については、第3の実施形態で後述する。 In addition, the delay buffer 301 does not store pixel values of the input image, but instead includes a fixed value register 3012 that can set 2M+1 predetermined fixed values. The fixed value register 3012 will be described later in the third embodiment.

フィルタ入力画素選択部302は、フィルタ演算部へ入力する(2M+1)×(2M+1)個の画素の画素値を、遅延バッファ301内のH個のメモリ3011または固定値レジスタ3012から選択する。フィルタ入力画素選択部302は、この選択を行うためのセレクタ3021を(2M+1)個備えている。セレクタ3021[0]は、遅延バッファ301のメモリ3011[0]~メモリ3011[2M]から第0ラインのフィルタの処理の対象範囲(座標(0,0)~(2M,0))の画素値を選択する。同様にして、セレクタ3021[2M]は、メモリ3011[0]~メモリ3011[2M]から第2Mラインのフィルタの処理の対象範囲(座標(0,2M)~(2M,2M))の画素値を選択する。このようにして、座標(0,0)を左上の画素とする対象範囲(注目画素の座標(M,M))の(2M+1)×(2M+1)個分のすべての画素値を、フィルタ演算部303へ入力する。 The filter input pixel selection unit 302 selects pixel values of (2M+1) x (2M+1) pixels to be input to the filter calculation unit from H memories 3011 or fixed value registers 3012 in the delay buffer 301. The filter input pixel selection unit 302 has (2M+1) selectors 3021 for this selection. Selector 3021[0] selects pixel values in the target range (coordinates (0,0) to (2M,0)) of the 0th line of filter processing from memory 3011[0] to memory 3011[2M] of the delay buffer 301. Similarly, selector 3021[2M] selects pixel values in the target range (coordinates (0,2M) to (2M,2M)) of the 2nd M line of filter processing from memory 3011[0] to memory 3011[2M]. In this way, all (2M+1) x (2M+1) pixel values in the target range (coordinates of the pixel of interest: (M, M)) with coordinates (0, 0) as the upper left pixel are input to the filter calculation unit 303.

フィルタ演算部303は、(2M+1)個のセレクタ3021で選択された(2M+1)個の画素値群(総画素数は(2M+1)×(2M+1))を入力としてフィルタ処理を行い、注目画素に対応する処理結果として画素値を1画素分出力する。ここで、フィルタ処理する範囲の2M+1個の各カラム(第0ラインから第2Mライン)の画素値群は、遅延バッファ301のメモリ3011のうち2M+1個のメモリ3011から、セレクタ3021により選択されて読み出された画素値である。 The filter calculation unit 303 performs filtering on the (2M+1) pixel value groups (the total number of pixels is (2M+1) x (2M+1)) selected by the (2M+1) selectors 3021, and outputs one pixel value as the processing result corresponding to the pixel of interest. Here, the pixel value groups of the 2M+1 columns (line 0 to line 2M) in the range to be filtered are pixel values selected and read out by the selector 3021 from the 2M+1 memories 3011 of the delay buffer 301.

メモリ3011は、H個分を別々のメモリとして表現しているので、メモリ3011の総容量は(2M+1)画素×入力画像の幅H画素分を格納できる量となる。H個のメモリを1つのメモリにまとめておいて、フィルタ入力画素選択部302により、カラムごとに(2M+1)個ずつの画素値を(2M+1)カラム分選択する構成としてもよい。 Since the memory 3011 is represented as H separate memories, the total capacity of the memory 3011 is an amount that can store (2M+1) pixels x the width H pixels of the input image. It is also possible to combine the H memories into one memory and have the filter input pixel selection unit 302 select (2M+1) pixel values for each column for (2M+1) columns.

図10に、本実施形態におけるフィルタ処理の入力と処理実行のタイミングを示す。フィルタ処理モジュール(A)1122には、入力画像が、図10(a)の太矢印で示すように、左上からラスタ順に1画素ずつ入力される。フィルタ入力画素選択部302は、遅延バッファ301から、入力画像の各カラム(X座標値)に対応したメモリ3011を選択して、そこに格納されている2M+1個の画素値をフィルタ演算部303へ入力する。図10では、フィルタの処理の対象範囲を、細い破線の矩形により示す。対象範囲が、のりしろ部(グレーの部分)を含む場合(図10(b),(c),(f),(g),(h))には、のりしろ部の入力画素値を、入力画像内の画素値で代替する。具体的には、(2M+1)個あるセレクタ3021のうちいくつかで、同じメモリ3011を選択することにより、のりしろ部の画素を補完する。 Figure 10 shows the timing of input and processing execution of the filter processing in this embodiment. The input image is input to the filter processing module (A) 1122 one pixel at a time in raster order from the top left as shown by the thick arrow in Figure 10 (a). The filter input pixel selection unit 302 selects a memory 3011 corresponding to each column (X coordinate value) of the input image from the delay buffer 301, and inputs the 2M + 1 pixel values stored there to the filter calculation unit 303. In Figure 10, the target range of the filter processing is shown by a thin dashed rectangle. If the target range includes the overlap part (gray part) (Figures 10 (b), (c), (f), (g), and (h)), the input pixel value of the overlap part is replaced with the pixel value in the input image. Specifically, the pixels of the overlap part are complemented by selecting the same memory 3011 in some of the (2M + 1) selectors 3021.

その選択のアルゴリズムについて以下で詳しく説明する。ここでは、上述したのりしろ部の画素値を補う手法のうち第1の例と同様に、入力画像の左右端の画素と同じ画素値でのりしろ部の補完を行う。入力画像における入力画素の座標を(X,Y)とする(0≦X≦H-1、0≦Y)。 The selection algorithm is explained in detail below. Here, as in the first example of the method for supplementing pixel values in the overlapping portion described above, the overlapping portion is supplemented with the same pixel value as the pixels at the left and right ends of the input image. The coordinates of the input pixel in the input image are (X, Y) (0≦X≦H-1, 0≦Y).

(工程1)Y<2MまたはX<Mのとき、すなわち図10(b)より以前の状態で、フィルタ処理の対象範囲の画素が副走査方向に揃わない場合:フィルタ演算を行わない。 (Step 1) When Y<2M or X<M, i.e., in the state prior to FIG. 10(b), if the pixels in the range subject to filtering are not aligned in the sub-scanning direction: do not perform filter calculation.

(工程2)Y≧2MかつM≦X≦2M-1のとき、すなわち図10(b),(c)の状態:フィルタ入力画素選択部302のセレクタ3021[k]では、0≦k≦Xのとき、メモリ3011[0]を選択する。X<k≦2Mのとき、メモリ3011[X-M+k]を選択して、フィルタ演算処理を行う。 (Step 2) When Y≧2M and M≦X≦2M-1, i.e., the state of FIG. 10(b) and (c): When 0≦k≦X, the selector 3021[k] of the filter input pixel selection unit 302 selects the memory 3011[0]. When X<k≦2M, the memory 3011[X-M+k] is selected and filter calculation processing is performed.

この選択は、入力画像の左ののりしろ部の画素(図10(b),(c)のグレーの部分)を、入力画像の同じラインの左端の画素の画素値で補完することを意味する。 This selection means that the pixels in the left overlapping part of the input image (the gray parts in Figures 10(b) and (c)) are complemented with the pixel value of the pixel at the left end of the same line in the input image.

(工程3)Y≧2Mかつ2M≦X≦H-1のとき、すなわち図10(d),(e)の状態:セレクタ3021[k](0≦k≦2M)では、メモリ3011[X-2M+k]を選択して、フィルタ演算処理を行う。 (Step 3) When Y≧2M and 2M≦X≦H-1, i.e., the state shown in FIG. 10(d) and (e): Selector 3021[k] (0≦k≦2M) selects memory 3011[X-2M+k] and performs filter calculation processing.

この状態のとき、フィルタ処理を行うには、フィルタ処理の対象範囲の左上画素に対応する最古の入力画素(X-2M、Y-2M)の画素値が必要である。つまり、遅延バッファ301には、最古から最新までの入力画素を格納できる容量が必要である。この容量は図10(d),(e)の斜線部の面積に相当し、(2MH+2M+1)画素分である。これは、図10(e)から明らかなように、カラム0からカラム(H-2M-2)までの、最も上のラインの画素値は不要だからである。 In this state, to perform filter processing, the pixel value of the oldest input pixel (X-2M, Y-2M) corresponding to the top left pixel of the range targeted for filter processing is required. In other words, the delay buffer 301 needs a capacity to store input pixels from the oldest to the newest. This capacity corresponds to the area of the shaded areas in Figures 10(d) and (e), and is (2MH+2M+1) pixels. This is because, as is clear from Figure 10(e), the pixel values of the topmost line from column 0 to column (H-2M-2) are not required.

(工程4)Y≧2M+1かつ0≦X≦M-1のとき、すなわち図10(f),(g)の状態:セレクタ3021[k](0≦k≦2M)では、0≦k≦Xのとき、メモリ3011[H-2M-1]を選択する。X<k≦2Mのとき、メモリ3011[H-1]を選択して、フィルタ演算処理を行う。 (Step 4) When Y≧2M+1 and 0≦X≦M-1, i.e., the state of FIG. 10(f) and (g): When 0≦k≦X, selector 3021[k] (0≦k≦2M) selects memory 3011[H-2M-1]. When X<k≦2M, selects memory 3011[H-1] and performs filter calculation processing.

この選択は、入力画像の右ののりしろ部の画素(図10(f),(g)のグレーの部分)を、入力画像の同じラインの右端の画素の画素値で補完することを意味する。ここでは、最新の入力画素の画素値、具体的には次のラインの右端の画素の画素値は、フィルタ演算には使われないことに注意が必要である。つまり、入力画像のラスタの左端からM画素内(左側ののりしろ幅)を1画素ずつ入力している間に、右側ののりしろ部の補完処理を行う。補完処理を行った画素のフィルタ演算を行って、1画素ずつ出力画素値を出力する間に、左側ののりしろ部の処理を行うことにより、処理時間を節約している。 This selection means that the pixels in the right overlap part of the input image (the gray parts in Figures 10(f) and (g)) are complemented with the pixel value of the pixel at the right end of the same line in the input image. It is important to note that the pixel value of the most recent input pixel, specifically the pixel value of the pixel at the right end of the next line, is not used in the filter calculation. In other words, while M pixels (left overlap width) from the left end of the input image raster are being input one pixel at a time, the right overlap part is complemented. Processing time is saved by performing the processing of the left overlap part while performing the filter calculation of the complemented pixels and outputting the output pixel values one pixel at a time.

(工程5)Y≧2M+1かつM≦X≦2M-1のとき、すなわち図10(h)の状態:上記(工程2)の処理と同じ。以降は、(工程2)から(工程4)の処理を繰り返す。 (Step 5) When Y ≥ 2M+1 and M ≤ X ≤ 2M-1, i.e., the state of FIG. 10(h): The same as the process in (Step 2) above. After this, the processes in (Step 2) to (Step 4) are repeated.

このように、入力画像から1画素ずつラスタ順にフィルタ処理モジュール1122(A)へ入力する際に、入力画素の座標値に応じて、のりしろ部の画素の補完処理を行うように、フィルタ演算部303への入力画素群を選択する。これにより、上記(2)の処理以降は、1画素入力するごとに必ず1画素の出力画素値を得ることができる。従って、端点延長手段を用いてフィルタ処理を行った場合と比較して、補完した画素による処理速度の低下を防ぐことができる。 In this way, when inputting one pixel at a time from the input image to the filter processing module 1122(A) in raster order, a group of input pixels to the filter calculation unit 303 is selected so that the pixels in the overlapping portion are complemented according to the coordinate value of the input pixel. As a result, after the process of (2) above, it is possible to obtain an output pixel value of one pixel every time one pixel is input. Therefore, compared to when filter processing is performed using an end point extension means, it is possible to prevent a decrease in processing speed due to complemented pixels.

図10(b)~(h)のそれぞれの場合の、フィルタ演算部303の各カラムへの入力画素のX座標値を図10(b1)~(h1)に示す。ここで「カラムr」は、入力画像内でのX座標がrである画素群のことであり、メモリ3011[r]に格納されている。 The X-coordinate values of the input pixels to each column of the filter calculation unit 303 for each of the cases in Fig. 10(b) to (h) are shown in Fig. 10(b1) to (h1). Here, "column r" refers to the pixel group whose X-coordinate in the input image is r, and is stored in memory 3011[r].

上記(工程4)から(工程5)に処理が遷移したとき、つまり入力画素の座標がX=M-1からX=Mになったとき、フィルタ演算部303への入力画素群は、入力画像の右端部から左端部へ移動する。このとき、Y座標値の範囲が0~2Mから1~2M+1となる。 When the process transitions from (Step 4) to (Step 5) above, that is, when the coordinates of the input pixel change from X=M-1 to X=M, the input pixel group to the filter calculation unit 303 moves from the right end to the left end of the input image. At this time, the range of Y coordinate values changes from 0 to 2M to 1 to 2M+1.

なお、本実施形態の説明では、フィルタ処理の対象範囲を縦横同じ(2M+1)×(2M+1)画素としたが、縦と横の画素数は異なっていても同様に処理することができる。フィルタ処理の対象範囲が(2M+1)×(2M+1)画素の場合のメモリ3011の総必要量は、前述のように(H×2M+2M+1)画素分となる。フィルタ処理の対象範囲を(2M+1)×(2N+1)画素とすると、メモリ3011の総必要量は(H×2N+2M+1)画素分となる。 In the description of this embodiment, the target range of the filter process is (2M+1) x (2M+1) pixels in both the vertical and horizontal directions, but the same processing can be performed even if the number of pixels in the vertical and horizontal directions are different. When the target range of the filter process is (2M+1) x (2M+1) pixels, the total required capacity of the memory 3011 is (H x 2M + 2M + 1) pixels, as described above. If the target range of the filter process is (2M+1) x (2N+1) pixels, the total required capacity of the memory 3011 is (H x 2N + 2M + 1) pixels.

第1の実施形態によれば、フィルタ入力画素選択部302が、1画素ずつ入力される入力画素の座標に応じて、のりしろ部の画素を補完しながら遅延バッファ301内の画素群を選択して、フィルタ演算部303に入力する。これにより、上記(工程2)の処理以降は、1画素ごとの入力に対して、1画素の出力を得ることができるので、入力レートと同じレートで出力を行うことができる。従って、のりしろ部の画素の補完による処理速度の低下を防ぐことができる。 According to the first embodiment, the filter input pixel selection unit 302 selects a group of pixels in the delay buffer 301 while complementing the pixels in the overlap portion according to the coordinates of the input pixels that are input one by one, and inputs the selected group to the filter calculation unit 303. As a result, after the processing in step 2 above, one pixel of output can be obtained for each pixel input, so that output can be performed at the same rate as the input rate. Therefore, it is possible to prevent a decrease in processing speed due to complementing pixels in the overlap portion.

(第2の実施形態)
第1の実施形態においては、左右ののりしろ部で補完する画素として、入力画像の左端および右端の画素を延長していた。しかし、フィルタ処理がエッジを強調する処理の場合には、上述したように、のりしろ部の画素値を補う手法のうち第2の例を用いた方が、良い結果を得られることが知られている。
Second Embodiment
In the first embodiment, the pixels at the left and right ends of the input image are extended as pixels to be complemented in the left and right overlapping parts. However, when the filter process is a process for emphasizing edges, it is known that better results can be obtained by using the second example of the method for complementing pixel values of the overlapping parts, as described above.

この場合は、第1の実施形態における(工程1),(工程3)の処理は同じで、(工程2),(工程4)の処理は以下のようになる。 In this case, the processing of (step 1) and (step 3) is the same as in the first embodiment, and the processing of (step 2) and (step 4) is as follows.

(工程2)Y≧2MかつM≦X≦2M-1のとき、すなわち図10(b),(c)の状態:0≦k≦Xのとき、メモリ3011[M-1-k]を選択し、X<k≦2Mのとき、メモリ3011[X-M+k]を選択して、フィルタ演算処理を行う。このとき、フィルタ演算部303の各カラムへの入力画素のX座標値を図10(b2),(c2)に示す。 (Step 2) When Y≧2M and M≦X≦2M-1, that is, the state of FIG. 10(b) and (c): When 0≦k≦X, memory 3011[M-1-k] is selected, and when X<k≦2M, memory 3011[X-M+k] is selected, and filter calculation processing is performed. At this time, the X coordinate value of the input pixel to each column of filter calculation unit 303 is shown in FIG. 10(b2) and (c2).

(工程4)Y≧2M+1かつ0≦X≦M-1のとき、すなわち図10(f),(g)の状態:0≦k≦Xのとき、メモリ3011[H-M-1+k]を選択し、X<k≦2Mのとき、メモリ3011[H+M-k]を選択して、フィルタ演算処理を行う。このとき、フィルタ演算部303の各カラムへの入力画素のX座標値を図10(f2),(g2)に示す。 (Step 4) When Y≧2M+1 and 0≦X≦M-1, that is, the state of FIG. 10(f) and (g): When 0≦k≦X, memory 3011[H-M-1+k] is selected, and when X<k≦2M, memory 3011[H+M-k] is selected, and filter calculation processing is performed. At this time, the X coordinate value of the input pixel to each column of filter calculation unit 303 is shown in FIG. 10(f2) and (g2).

処理レートは第1の実施形態と同じである。第2の実施形態では、エッジを強調する処理の場合、第1の実施形態に比べ、入力画像の端部におけるフィルタ処理結果の画質が向上する。 The processing rate is the same as in the first embodiment. In the second embodiment, when processing to emphasize edges, the image quality of the filter processing result at the edge of the input image is improved compared to the first embodiment.

(第3の実施形態)
第1、第2の実施形態においては、フィルタ処理の左右で補完する画素を、入力画像内から選択していた。フィルタ処理の内容によっては、入力画像の画素によらない所定の固定値、例えば白または黒に相当する画素値でも良い。
Third Embodiment
In the first and second embodiments, the pixels to be complemented on the left and right of the filter process are selected from within the input image. Depending on the content of the filter process, a predetermined fixed value that does not depend on the pixels of the input image, for example, a pixel value corresponding to white or black, may be used.

この場合は、固定値レジスタ3012の全画素にあらかじめ上記の固定値を設定しておいた上で、第1の実施形態における(工程2),(工程4)は以下のようになる。 In this case, the above fixed values are set in advance for all pixels in the fixed value register 3012, and steps 2 and 4 in the first embodiment are carried out as follows.

(工程2)Y≧2MかつM≦X≦2M-1のとき、すなわち図10(b),(c)の状態:0≦k≦Xのとき、固定値レジスタ3012を選択し、X<k≦2Mのとき、メモリ3011[X-M+k]を選択して、フィルタ演算処理を行う。 (Step 2) When Y≧2M and M≦X≦2M-1, i.e., the state of FIG. 10(b) and (c): When 0≦k≦X, select fixed value register 3012, and when X<k≦2M, select memory 3011[X-M+k] to perform filter calculation processing.

(工程4)Y≧2M+1かつ0≦X≦M-1のとき、すなわち図10(f),(g)の状態:0≦k≦Xのとき、メモリ3011[H-M-1+k]を選択し、X<k≦2Mのとき、固定値レジスタ3012を選択して、フィルタ演算処理を行う。 (Step 4) When Y≧2M+1 and 0≦X≦M-1, i.e., when 0≦k≦X, as in the state of FIG. 10(f) and (g), select memory 3011[H-M-1+k], and when X<k≦2M, select fixed value register 3012 to perform filter calculation processing.

処理レートは第1の実施形態と同じである。第3の実施形態では、第1、第2の実施形態に比べ、入力画像端部におけるフィルタ処理結果の画質は低下するが、回路構成が単純になるので低コストで、フィルタ処理を実現することができる。 The processing rate is the same as in the first embodiment. In the third embodiment, the image quality of the filter processing result at the ends of the input image is lower than in the first and second embodiments, but the circuit configuration is simpler, so filter processing can be realized at low cost.

(第4の実施形態)
図11に、入力画像を複数のバンドに分割してフィルタ処理を行う場合の「のりしろ」の関係を示す。入力画像を複数のバンドに分割した上で、各バンドを縦ラスタ順に1画素ずつフィルタ処理モジュールに入力して処理を行う。このとき、フィルタ処理モジュールは、入力順が(横)ラスタ順からカラム(縦ラスタ)順になるだけで、フィルタ処理を行う構成は、上記の実施形態と同様の構成とすることができる。
Fourth Embodiment
11 shows the relationship of "margins" when an input image is divided into multiple bands and filtered. After dividing an input image into multiple bands, each band is input to a filter processing module one pixel at a time in vertical raster order for processing. In this case, the filter processing module can have a configuration similar to that of the above embodiment, except that the input order is changed from (horizontal) raster order to column (vertical raster) order.

この縦ラスタ順の処理方式のメリットのひとつは、フィルタ処理のような、注目画素の周辺の画素を参照する必要のある処理において、過去の入力画素を格納しておくために必要な遅延バッファの必要量をかなり小さくできることにある。 One of the advantages of this vertical raster order processing method is that it significantly reduces the amount of delay buffer required to store past input pixels in processes such as filtering that require reference to pixels surrounding the pixel of interest.

フィルタ処理モジュールは、図11に示すように、出力バンドの高さに対して、上下ののりしろ画素(グレーの部分)に相当する分を足して入力画像から1バンドとして読み込む。次に、フィルタ処理モジュールは、のりしろ部を削って出力する。これは、フィルタ処理モジュールの動作としては、図4に示した、のりしろ部の画素値を補う手法の縦横を入れ替えたものとなる。図4における出力画像の幅Hは、図11における出力バンド高さとなる。このとき、入力レートに対する出力レートは、H/(H+2M)倍となり、遅延バッファの必要量を小さくするために幅Hを小さくとると、出力レートは入力レートよりかなり小さくなってしまう。 As shown in Figure 11, the filter processing module adds the amount equivalent to the overlap pixels (gray areas) above and below to the height of the output band and reads it as one band from the input image. Next, the filter processing module removes the overlap areas and outputs the result. In terms of the operation of the filter processing module, this is the same as the method of compensating for pixel values in the overlap areas shown in Figure 4, but with the vertical and horizontal sides swapped. The width H of the output image in Figure 4 is the output band height in Figure 11. In this case, the output rate relative to the input rate is H/(H+2M) times, and if the width H is made small to reduce the amount of delay buffer required, the output rate will be significantly smaller than the input rate.

そこで、第1の実施形態のフィルタ処理モジュールを適用して、ラインとカラムを逆にし、フィルタ入力画素選択部302において入力バンドの外の画素の画素値を補完する。さらに、入力バンドの高さを、のりしろを含めずに、出力バンドと同じHラインにすることにより、入力レートと同じ出力レートで出力することができる。 Therefore, the filter processing module of the first embodiment is applied to reverse the lines and columns, and the pixel values of the pixels outside the input band are complemented in the filter input pixel selection unit 302. Furthermore, by making the height of the input band the same as the output band, H lines, without including the overlap, it is possible to output at the same output rate as the input rate.

(その他の実施形態)
上述した実施形態は、本開示の内容を限定するものではなく、本実施形態で説明されている特徴の組み合わせの全てが、本開示の解決手段に必須のものとは限らない。また、本実施形態に記載されている構成要素の相対配置、形状等は、あくまで例示であり、本開示の内容をこれらに限定する趣旨ではない。
Other Embodiments
The above-described embodiment does not limit the contents of the present disclosure, and not all of the combinations of features described in the present embodiment are necessarily essential to the solution of the present disclosure. Furthermore, the relative arrangements, shapes, and the like of the components described in the present embodiment are merely examples, and are not intended to limit the contents of the present disclosure.

また、本実施形態の開示は、以下の構成を含む。
構成1)
幅H画素の入力画像をラスタ順に1画素ずつ入力して、幅(2M+1)画素×高さ(2N+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、
前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、
(2M+1)×(2N+1)個の画素値を選択する入力画素選択手段と、
前記入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備え、
前記入力画素選択手段は、前記注目画素が前記入力画像の左端または右端からM画素内にある場合に、前記フィルタ演算手段に入力する(2M+1)×(2N+1)個の画素群のうち、前記入力画像内にある画素の画素値を前記遅延バッファから選択し、前記入力画像外にある画素の画素値を補完して前記フィルタ演算手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力することを特徴とする画像処理モジュール。
The disclosure of this embodiment also includes the following configuration.
Configuration 1)
An image processing module which receives an input image with a width of H pixels, pixel by pixel, in raster order, receives pixel values of a width of (2M+1) pixels by a height of (2N+1) pixels (H, M, and N are natural numbers), executes a filter process using a central pixel as a pixel of interest, and outputs output pixel values,
a delay buffer for storing pixel values of at least H×2N+2M+1 pixels among the pixels of the input image;
an input pixel selection means for selecting (2M+1)×(2N+1) pixel values;
a filter calculation means for performing the filtering process using the pixel value selected by the input pixel selection means and outputting the output pixel value corresponding to the pixel of interest,
an input pixel selection means for selecting from the delay buffer, when the pixel of interest is within M pixels from the left or right end of the input image, a pixel value of a pixel within the input image from a group of (2M+1)×(2N+1) pixels to be input to the filter calculation means, complementing pixel values of pixels outside the input image and inputting the complemented pixel values to the filter calculation means, and outputting the output pixel value one pixel at a time for each pixel of the input image input after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer.

構成2)
前記入力画素選択手段は、
前記入力画像の画素の座標を(X,Y)(0≦X≦H-1,0≦Y)とするとき、
前記注目画素の座標がY≧2MかつM≦X≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完し、
前記注目画素の座標がY≧2M+1かつ0≦X≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完する、
構成1に記載に画像処理モジュール。
Configuration 2)
The input pixel selection means
When the coordinates of the pixel of the input image are (X, Y) (0≦X≦H−1, 0≦Y),
When the coordinates of the pixel of interest are Y≧2M and M≦X≦2M−1, the pixel values of pixels located outside the left edge of the input image are complemented;
When the coordinates of the pixel of interest are Y≧2M+1 and 0≦X≦M−1, the pixel values of pixels outside the right end of the input image are complemented.
The image processing module according to configuration 1.

構成3)
高さHラインの入力画像を縦ラスタ順に1画素ずつ入力して、幅(2N+1)画素×高さ(2M+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、
前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、
(2N+1)×(2M+1)個の画素値を選択する入力画素選択手段と、
前記入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備え、
前記入力画素選択手段は、前記注目画素が前記入力画像の左端または右端からM画素内にある場合に、前記フィルタ演算手段に入力する(2N+1)×(2M+1)個の画素群のうち、前記入力画像内にある画素の画素値を前記遅延バッファから選択し、前記入力画像外にある画素の画素値を補完して前記フィルタ演算手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力することを特徴とする画像処理モジュール。
Configuration 3)
An image processing module which receives an input image of a line of height H, pixel by pixel, in vertical raster order, receives pixel values of width (2N+1) pixels by height (2M+1) pixels (H, M, and N are natural numbers), executes a filter process using a central pixel as a pixel of interest, and outputs output pixel values pixel by pixel,
a delay buffer for storing pixel values of at least H×2N+2M+1 pixels among the pixels of the input image;
an input pixel selection means for selecting (2N+1)×(2M+1) pixel values;
a filter calculation means for performing the filtering process using the pixel value selected by the input pixel selection means and outputting the output pixel value corresponding to the pixel of interest,
an input pixel selection means for selecting from the delay buffer, when the pixel of interest is within M pixels from the left or right end of the input image, a pixel value of a pixel within the input image from a group of (2N+1)×(2M+1) pixels to be input to the filter calculation means, complementing pixel values of pixels outside the input image and inputting the complemented pixel values to the filter calculation means, and outputting the output pixel value one pixel at a time for each pixel of the input image input after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer.

構成4)
前記入力画素選択手段は、
前記入力画像の画素の座標を(X,Y)(0≦X,0≦Y≦H-1)とするとき、
前記注目画素の座標がX≧2MかつM≦Y≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完し、
前記注目画素の座標がX≧2M+1かつ0≦Y≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完する、
請求項3に記載に画像処理モジュール。
Configuration 4)
The input pixel selection means
When the coordinates of a pixel in the input image are (X, Y) (0≦X, 0≦Y≦H−1),
When the coordinates of the pixel of interest are X≧2M and M≦Y≦2M−1, the pixel values of pixels located outside the left edge of the input image are complemented;
When the coordinates of the pixel of interest are X≧2M+1 and 0≦Y≦M−1, the pixel value of a pixel outside the right end of the input image is complemented.
4. The image processing module according to claim 3.

構成5)
前記入力画素選択手段は、
前記入力画像の左端から外にある画素の画素値として、前記入力画像の左端部の画素の画素値を、前記遅延バッファから選択して補完し、前記入力画像の右端から外にある画素の画素値として、前記入力画像の右端部の画素の画素値を、前記遅延バッファから選択して補完する、
構成1ないし4のいずれか1つに記載に画像処理モジュール。
Configuration 5)
The input pixel selection means
selecting from the delay buffer a pixel value of a pixel at the left end of the input image to complement the pixel value of a pixel located outside the left end of the input image, and selecting from the delay buffer a pixel value of a pixel at the right end of the input image to complement the pixel value of a pixel located outside the right end of the input image;
5. The image processing module according to any one of configurations 1 to 4.

構成6)
前記入力画素選択手段は、
前記入力画像の左端から外にある画素の画素値として、前記入力画像の左端部に対し鏡像位置にある前記入力画像内の画素値を選択して補完し、前記入力画像の右端から外にある画素の画素値として、前記入力画像の右端部に対し鏡像位置にある前記入力画像内の画素値を選択して補完する、
構成1ないし4のいずれか1つに記載に画像処理モジュール。
Configuration 6)
The input pixel selection means
a pixel value in the input image that is located in a mirror image position with respect to the left end of the input image is selected and complemented as a pixel value of a pixel located outside the left end of the input image, and a pixel value in the input image that is located in a mirror image position with respect to the right end of the input image is selected and complemented as a pixel value of a pixel located outside the right end of the input image;
5. The image processing module according to any one of configurations 1 to 4.

構成7)
前記入力画素選択手段は、
前記入力画像外にある画素の画素値として、所定の固定値を用いて補完する、
構成1ないし4のいずれか1つに記載に画像処理モジュール。
Configuration 7)
The input pixel selection means
A pixel value of a pixel outside the input image is interpolated using a predetermined fixed value.
5. The image processing module according to any one of configurations 1 to 4.

構成8)
幅H画素の入力画像をラスタ順に1画素ずつ入力して、幅(2M+1)画素×高さ(2N+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファから、(2M+1)×(2N+1)個の画素値を選択して、選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力する画像処理方法において、
前記入力画像の画素の座標を(X,Y)(0≦X≦H-1,0≦Y)とするとき、
前記注目画素の座標がY≧2MかつM≦X≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完するステップと、
前記注目画素の座標がY≧2Mかつ2M≦X≦H-1のとき、前記入力画像内にある画素の画素値を選択するステップと、
前記注目画素の座標がY≧2M+1かつ0≦X≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力するステップと
を備えたことを特徴とする画像処理方法。
Configuration 8)
An image processing module which inputs an input image with a width of H pixels one pixel at a time in raster order, inputs pixel values of a width of (2M+1) pixels by a height of (2N+1) pixels (H, M, and N are natural numbers), performs filter processing using a central pixel as a pixel of interest, and outputs output pixel values one pixel at a time, further comprising: a delay buffer which stores pixel values of at least H×2N+2M+1 pixels among the pixels of the input image; selects (2M+1)×(2N+1) pixel values from the delay buffer; performs the filter processing using the selected pixel values; and outputs the output pixel value corresponding to the pixel of interest,
When the coordinates of the pixel of the input image are (X, Y) (0≦X≦H−1, 0≦Y),
when the coordinates of the pixel of interest are Y≧2M and M≦X≦2M−1, complementing pixel values of pixels located outside the left edge of the input image;
selecting a pixel value of a pixel in the input image when the coordinates of the pixel of interest are Y≧2M and 2M≦X≦H−1;
and when the coordinates of the pixel of interest are Y≧2M+1 and 0≦X≦M−1, complementing pixel values of pixels outside the right end of the input image, and after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer, outputting the output pixel value one pixel at a time each time one pixel of the input image is input.

構成9)
高さHラインの入力画像を縦ラスタ順に1画素ずつ入力して、幅(2N+1)画素×高さ(2M+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファから、(2M+1)×(2N+1)個の画素値を選択して、選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力する画像処理方法において、
前記入力画像の画素の座標を(X,Y)(0≦X,0≦Y≦H-1)とするとき、
前記注目画素の座標がX≧2MかつM≦Y≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完するステップと、
前記注目画素の座標がX≧2Mかつ2M≦Y≦H-1のとき、前記入力画像内にある画素の画素値を選択するステップと、
前記注目画素の座標がX≧2M+1かつ0≦Y≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力するステップと
を備えたことを特徴とする画像処理方法。
Configuration 9)
An image processing module which inputs an input image of a height H line one pixel at a time in vertical raster order, inputs pixel values of a width of (2N+1) pixels by a height of (2M+1) pixels (H, M, and N are natural numbers), performs filter processing using a central pixel as a pixel of interest, and outputs output pixel values one pixel at a time, the image processing method comprising the steps of: selecting (2M+1)×(2N+1) pixel values from a delay buffer which stores pixel values of at least H×2N+2M+1 pixels out of the pixels of the input image; performing the filter processing using the selected pixel values; and outputting the output pixel value corresponding to the pixel of interest,
When the coordinates of a pixel in the input image are (X, Y) (0≦X, 0≦Y≦H−1),
When the coordinates of the pixel of interest are X≧2M and M≦Y≦2M−1, complementing pixel values of pixels located outside the left edge of the input image;
selecting a pixel value of a pixel in the input image when the coordinates of the pixel of interest are X≧2M and 2M≦Y≦H−1;
and when the coordinates of the pixel of interest are X≧2M+1 and 0≦Y≦M−1, complementing a pixel value of a pixel outside the right end of the input image, and after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer, outputting the output pixel value one pixel at a time every time one pixel of the input image is input.

1122 フィルタ処理モジュール
301 遅延バッファ
302 フィルタ入力画素選択部
303 フィルタ演算部
3010 マルチプレクサ
3011 メモリ
3012 固定値レジスタ
3021 セレクタ
1122 Filter processing module 301 Delay buffer 302 Filter input pixel selection unit 303 Filter calculation unit 3010 Multiplexer 3011 Memory 3012 Fixed value register 3021 Selector

Claims (9)

幅H画素の入力画像をラスタ順に1画素ずつ入力して、幅(2M+1)画素×高さ(2N+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、
前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、
(2M+1)×(2N+1)個の画素値を選択する入力画素選択手段と、
前記入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備え、
前記入力画素選択手段は、前記注目画素が前記入力画像の左端または右端からM画素内にある場合に、前記フィルタ演算手段に入力する(2M+1)×(2N+1)個の画素群のうち、前記入力画像内にある画素の画素値を前記遅延バッファから選択し、前記入力画像外にある画素の画素値を補完して前記フィルタ演算手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力することを特徴とする画像処理モジュール。
An image processing module which receives an input image with a width of H pixels, pixel by pixel, in raster order, receives pixel values of a width of (2M+1) pixels by a height of (2N+1) pixels (H, M, and N are natural numbers), executes a filter process using a central pixel as a pixel of interest, and outputs output pixel values,
a delay buffer for storing pixel values of at least H×2N+2M+1 pixels among the pixels of the input image;
an input pixel selection means for selecting (2M+1)×(2N+1) pixel values;
a filter calculation means for performing the filtering process using the pixel value selected by the input pixel selection means and outputting the output pixel value corresponding to the pixel of interest,
an input pixel selection means for selecting from the delay buffer, when the pixel of interest is within M pixels from the left or right end of the input image, a pixel value of a pixel within the input image from a group of (2M+1)×(2N+1) pixels to be input to the filter calculation means, complementing pixel values of pixels outside the input image and inputting the complemented pixel values to the filter calculation means, and outputting the output pixel value one pixel at a time for each pixel of the input image input after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer.
前記入力画素選択手段は、
前記入力画像の画素の座標を(X,Y)(0≦X≦H-1,0≦Y)とするとき、
前記注目画素の座標がY≧2MかつM≦X≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完し、
前記注目画素の座標がY≧2M+1かつ0≦X≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完する、
請求項1に記載に画像処理モジュール。
The input pixel selection means
When the coordinates of the pixel of the input image are (X, Y) (0≦X≦H−1, 0≦Y),
When the coordinates of the pixel of interest are Y≧2M and M≦X≦2M−1, the pixel values of pixels located outside the left edge of the input image are complemented;
When the coordinates of the pixel of interest are Y≧2M+1 and 0≦X≦M−1, the pixel values of pixels outside the right end of the input image are complemented.
2. The image processing module according to claim 1.
前記入力画素選択手段は、
前記入力画像の左端から外にある画素の画素値として、前記入力画像の左端部の画素の画素値を、前記遅延バッファから選択して補完し、前記入力画像の右端から外にある画素の画素値として、前記入力画像の右端部の画素の画素値を、前記遅延バッファから選択して補完する、
請求項1または2に記載に画像処理モジュール。
The input pixel selection means
selecting from the delay buffer a pixel value of a pixel at the left end of the input image to complement the pixel value of a pixel located outside the left end of the input image, and selecting from the delay buffer a pixel value of a pixel at the right end of the input image to complement the pixel value of a pixel located outside the right end of the input image;
3. An image processing module according to claim 1 or 2.
前記入力画素選択手段は、
前記入力画像の左端から外にある画素の画素値として、前記入力画像の左端部に対し鏡像位置にある前記入力画像内の画素値を選択して補完し、前記入力画像の右端から外にある画素の画素値として、前記入力画像の右端部に対し鏡像位置にある前記入力画像内の画素値を選択して補完する、
請求項1または2に記載に画像処理モジュール。
The input pixel selection means
a pixel value in the input image that is located in a mirror image position with respect to the left end of the input image is selected and complemented as a pixel value of a pixel located outside the left end of the input image, and a pixel value in the input image that is located in a mirror image position with respect to the right end of the input image is selected and complemented as a pixel value of a pixel located outside the right end of the input image;
3. An image processing module according to claim 1 or 2.
前記入力画素選択手段は、
前記入力画像外にある画素の画素値として、所定の固定値を用いて補完する、
請求項1または2に記載に画像処理モジュール。
The input pixel selection means
A pixel value of a pixel outside the input image is interpolated using a predetermined fixed value.
3. An image processing module according to claim 1 or 2.
高さHラインの入力画像を縦ラスタ順に1画素ずつ入力して、幅(2N+1)画素×高さ(2M+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、
前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、
(2N+1)×(2M+1)個の画素値を選択する入力画素選択手段と、
前記入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備え、
前記入力画素選択手段は、前記注目画素が前記入力画像の左端または右端からM画素内にある場合に、前記フィルタ演算手段に入力する(2N+1)×(2M+1)個の画素群のうち、前記入力画像内にある画素の画素値を前記遅延バッファから選択し、前記入力画像外にある画素の画素値を補完して前記フィルタ演算手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力することを特徴とする画像処理モジュール。
An image processing module which receives an input image of a line of height H, pixel by pixel, in vertical raster order, receives pixel values of width (2N+1) pixels by height (2M+1) pixels (H, M, and N are natural numbers), executes a filter process using a central pixel as a pixel of interest, and outputs output pixel values pixel by pixel,
a delay buffer for storing pixel values of at least H×2N+2M+1 pixels among the pixels of the input image;
an input pixel selection means for selecting (2N+1)×(2M+1) pixel values;
a filter calculation means for performing the filtering process using the pixel value selected by the input pixel selection means and outputting the output pixel value corresponding to the pixel of interest,
an input pixel selection means for selecting from the delay buffer, when the pixel of interest is within M pixels from the left or right end of the input image, a pixel value of a pixel within the input image from a group of (2N+1)×(2M+1) pixels to be input to the filter calculation means, complementing pixel values of pixels outside the input image and inputting the complemented pixel values to the filter calculation means, and outputting the output pixel value one pixel at a time for each pixel of the input image input after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer.
前記入力画素選択手段は、
前記入力画像の画素の座標を(X,Y)(0≦X,0≦Y≦H-1)とするとき、
前記注目画素の座標がX≧2MかつM≦Y≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完し、
前記注目画素の座標がX≧2M+1かつ0≦Y≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完する、
請求項6に記載に画像処理モジュール。
The input pixel selection means
When the coordinates of a pixel in the input image are (X, Y) (0≦X, 0≦Y≦H−1),
When the coordinates of the pixel of interest are X≧2M and M≦Y≦2M−1, the pixel values of pixels located outside the left edge of the input image are complemented;
When the coordinates of the pixel of interest are X≧2M+1 and 0≦Y≦M−1, the pixel value of a pixel outside the right end of the input image is complemented.
7. An image processing module according to claim 6.
幅H画素の入力画像をラスタ順に1画素ずつ入力して、幅(2M+1)画素×高さ(2N+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファから、(2M+1)×(2N+1)個の画素値を選択して、選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力する画像処理方法において、
前記入力画像の画素の座標を(X,Y)(0≦X≦H-1,0≦Y)とするとき、
前記注目画素の座標がY≧2MかつM≦X≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完するステップと、
前記注目画素の座標がY≧2Mかつ2M≦X≦H-1のとき、前記入力画像内にある画素の画素値を選択するステップと、
前記注目画素の座標がY≧2M+1かつ0≦X≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力するステップと
を備えたことを特徴とする画像処理方法。
An image processing module which inputs an input image with a width of H pixels one pixel at a time in raster order, inputs pixel values of a width of (2M+1) pixels by a height of (2N+1) pixels (H, M, and N are natural numbers), performs filter processing using a central pixel as a pixel of interest, and outputs output pixel values one pixel at a time, further comprising: a delay buffer which stores pixel values of at least H×2N+2M+1 pixels among the pixels of the input image; selects (2M+1)×(2N+1) pixel values from the delay buffer; performs the filter processing using the selected pixel values; and outputs the output pixel value corresponding to the pixel of interest,
When the coordinates of the pixel of the input image are (X, Y) (0≦X≦H−1, 0≦Y),
when the coordinates of the pixel of interest are Y≧2M and M≦X≦2M−1, complementing pixel values of pixels located outside the left edge of the input image;
selecting a pixel value of a pixel in the input image when the coordinates of the pixel of interest are Y≧2M and 2M≦X≦H−1;
and when the coordinates of the pixel of interest are Y≧2M+1 and 0≦X≦M−1, complementing pixel values of pixels outside the right end of the input image, and after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer, outputting the output pixel value one pixel at a time each time one pixel of the input image is input.
高さHラインの入力画像を縦ラスタ順に1画素ずつ入力して、幅(2N+1)画素×高さ(2M+1)(H、M、Nは自然数)画素の画素値を入力し、中心画素を注目画素としてフィルタ処理を実行し、出力画素値を1画素ずつ出力する画像処理モジュールであって、前記入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファから、(2M+1)×(2N+1)個の画素値を選択して、選択された画素値を用いて前記フィルタ処理を実行し、前記注目画素に対応した前記出力画素値を出力する画像処理方法において、
前記入力画像の画素の座標を(X,Y)(0≦X,0≦Y≦H-1)とするとき、
前記注目画素の座標がX≧2MかつM≦Y≦2M-1のとき、前記入力画像の左端から外にある画素の画素値を補完するステップと、
前記注目画素の座標がX≧2Mかつ2M≦Y≦H-1のとき、前記入力画像内にある画素の画素値を選択するステップと、
前記注目画素の座標がX≧2M+1かつ0≦Y≦M-1のとき、前記入力画像の右端から外にある画素の画素値を補完し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力するステップと
を備えたことを特徴とする画像処理方法。
An image processing module which inputs an input image of a height H line one pixel at a time in vertical raster order, inputs pixel values of a width of (2N+1) pixels by a height of (2M+1) pixels (H, M, and N are natural numbers), performs filter processing using a central pixel as a pixel of interest, and outputs output pixel values one pixel at a time, the image processing method comprising the steps of: selecting (2M+1)×(2N+1) pixel values from a delay buffer which stores pixel values of at least H×2N+2M+1 pixels out of the pixels of the input image; performing the filter processing using the selected pixel values; and outputting the output pixel value corresponding to the pixel of interest,
When the coordinates of a pixel in the input image are (X, Y) (0≦X, 0≦Y≦H−1),
When the coordinates of the pixel of interest are X≧2M and M≦Y≦2M−1, complementing pixel values of pixels located outside the left edge of the input image;
selecting a pixel value of a pixel in the input image when the coordinates of the pixel of interest are X≧2M and 2M≦Y≦H−1;
and when the coordinates of the pixel of interest are X≧2M+1 and 0≦Y≦M−1, complementing a pixel value of a pixel outside the right end of the input image, and after pixel values of H×2N+2M+1 pixels have been stored in the delay buffer, outputting the output pixel value one pixel at a time every time one pixel of the input image is input.
JP2022202183A 2022-12-19 2022-12-19 Image Processing Module Pending JP2024087384A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022202183A JP2024087384A (en) 2022-12-19 2022-12-19 Image Processing Module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022202183A JP2024087384A (en) 2022-12-19 2022-12-19 Image Processing Module

Publications (1)

Publication Number Publication Date
JP2024087384A true JP2024087384A (en) 2024-07-01

Family

ID=91671426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022202183A Pending JP2024087384A (en) 2022-12-19 2022-12-19 Image Processing Module

Country Status (1)

Country Link
JP (1) JP2024087384A (en)

Similar Documents

Publication Publication Date Title
US10027848B2 (en) Image processing apparatus and control method for applying spatial filters to images
JP3224866B2 (en) Tile processing method for batch rotation, scaling and digital halftone screening of images
US6901170B1 (en) Image processing device and recording medium
US6331902B1 (en) System and method for digital color image processing
JPH06233120A (en) Blue noise type method for usage in half-tone tile type screener and for masking screener-induced badness of picture
US9531911B2 (en) Data processing apparatus, data processing method and storage medium for storing image data
JP4100210B2 (en) Image processing device
JPH11154226A (en) Method and device for improving resolution
JP5222227B2 (en) Image processing method, image processing apparatus, and program
JP4594042B2 (en) Image processing method, image processing apparatus, and computer program
US6025586A (en) Image processing device, image recording apparatus, and image reading device and image forming apparatus
JP2024087384A (en) Image Processing Module
JP2012110036A (en) Printer
JP6463437B2 (en) Image processing apparatus, control method therefor, and program
JP5567790B2 (en) Image processing apparatus, control method therefor, and program
JP2007110605A (en) Image forming device
JPH11168610A (en) Image processor
US20100165420A1 (en) Image processing appratus, image processing method and computer program
US12030307B2 (en) Image processing apparatus, method of controlling the same, and storage medium
JP4863846B2 (en) Color image forming apparatus and color image processing apparatus
JP6225202B2 (en) Image processing apparatus, control method therefor, and program
JP2829932B2 (en) Image forming device
JP5597272B2 (en) Arithmetic method, arithmetic device, image processing device, and program
JP3785295B2 (en) Image processing device
JPH0622128A (en) Picture processing unit