JP2024087384A - Image Processing Module - Google Patents
Image Processing Module Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 29
- 238000001914 filtration Methods 0.000 claims description 16
- 230000000295 complement effect Effects 0.000 claims description 5
- 238000003672 processing method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 abstract description 12
- 230000015654 memory Effects 0.000 description 49
- 230000032258 transport Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000000740 bleeding effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
【課題】フィルタ処理を行う際に、のりしろ部の画素の処理にかかる余計な時間を消費することなく、フィルタ処理の処理効率を向上する。
【解決手段】入力画像の画素のうち少なくともH×2N+2M+1画素の画素値を格納する遅延バッファと、(2M+1)×(2N+1)個の画素値を選択するフィルタ入力画素選択手段と、前記フィルタ入力画素選択手段で選択された画素値を用いて前記フィルタ処理を実行し、注目画素に対応した前記出力画素値を出力するフィルタ演算手段とを備えた画像処理モジュールにおいて、前記フィルタ入力画素選択手段は、前記入力画像外にある画素の画素値を補完して前記フィルタ処理手段に入力し、前記遅延バッファにH×2N+2M+1画素の画素値が格納された後、前記入力画像を1画素入力するごとに前記出力画素値を1画素ずつ出力する。
【選択図】図9
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".
そこで、特許文献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画素ずつ出力することを特徴とする。 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.
以下、図面を参照して本開示の実施の形態について詳細に説明する。最初に、一般的な入力画像のフィルタ処理の概要を説明する。 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:
遅延バッファ301は、フィルタ処理モジュール30に、ラスタ順に入力される各画素値を一時的に格納するサブモジュールであり、フリップフロップ回路、レジスタ、またはメモリなどで構成される。遅延バッファ301には、例えば、図3(a)に示す入力画像の画像データが入力される。
The
フィルタ入力画素選択部302は、遅延バッファ301に格納された複数の画素のうち、フィルタ処理の対象となる幅(2M+1)画素×高さ(2M+1)画素の画素値を選択して読み出す。フィルタ入力画素選択部302は、読みだされた各画素値を、一括して後段のフィルタ演算部303に入力する。
The filter input
フィルタ演算部303は、フィルタ入力画素選択部302で選択された各画素値を入力として、中心画素を注目画素としたフィルタ処理演算を行い、結果を1画素ずつ出力する。ただし、1画素のフィルタ処理演算にかかる時間は、フィルタ処理モジュール30に、ある1画素を入力してから、次の1画素を入力するまでの時間よりも短い時間とする。
The
図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
図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
さらに、入力画像の次のラインの画素が入力されると、図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
このように、入力画像の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
フィルタ処理モジュール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
図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
フィルタ処理モジュール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
図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
以上述べたように、図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
そこで、本実施形態では、右端ののりしろ部を含む注目画素のフィルタ処理結果を出力するとともに、左端のりしろ部の画素値を補完する。これにより、のりしろ部の画素の処理にかかる余計な時間を消費することなく、フィルタ処理の処理効率を向上することができる。 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
プリンタユニットのプリントキャリッジヘッド11004は、コントローラチップ11000内から出力された画像データを、インクの吐出などの手段により、記録材である用紙の面上に画像を形成する。後述の用紙搬送部110055により副走査方向に搬送される用紙の上を、後述のキャリッジヘッド搬送部110056によりプリントキャリッジヘッド11004を主走査方向に走査すると同時に、インクの吐出を行う。
The
機構部11005は、コントローラチップ11000からの出力信号により、複写機内の機械的動作を制御し、複写機内の状態検知を行って、コントローラチップ11000への情報の通知を行う。機構部11005は、以下のサブモジュールを含む。原稿搬送部(オートドキュメントフィーダ)110051は、スキャンする原稿を搬送する。スキャナユニット搬送部110052は、フラットベッドスキャナで原稿を読み込む際にスキャナユニット11001を動かす。原稿位置検知部110053は、オートドキュメントフィーダ110051で原稿を読み込む際に、原稿の存在、原稿の終端を検知してコントローラチップ11000へ送信する。
The
オペレーションパネル110054は、ユーザが複写機を手動で操作するためのパネルである。
The
用紙搬送部110055は、プリントキャリッジヘッド11004において印刷する用紙を搬送する。キャリッジヘッド搬送部110056は、プリントキャリッジヘッド11004を、用紙の搬送方向と直行する方向に動作させる。用紙位置検知部110057は、用紙搬送部110055で搬送される用紙の位置を検知して、その情報をコントローラチップ11000へ送信する。
The
次に、コントローラチップ11000の内部構成について説明する。バス111は、コントローラチップ11000内の各処理部を接続する。
Next, the internal configuration of the
スキャナ画像処理部112は、スキャナユニット11001で得られたデジタル画像データに対して、各種画像処理を行う。スキャナ画像処理部112は、以下の3つのサブモジュールを含む。シェーディング処理モジュール1121は、スキャナユニット11001で得られた画像データのシェーディング処理を行う。フィルタ処理モジュール(A)1122は、シェーディング処理後の画像データに関して、エッジ強調などの処理を行う。変倍処理モジュール1123は、ユーザに指定された変倍率設定に応じてデジタル変倍処理を行う。これらのサブモジュール群は、スキャナ画像処理部112内部で、入力画像のラスタ順に1画素ずつ、パイプライン状に同時に処理を行う。
The scanner
メモリコントローラ113は、バス111に接続され、メインメモリ11002とのデータのやり取りの制御を行う。インターフェース(I/F)114は、コントローラチップ11000と、チップ外部の通信インターフェース11003、機構部11005との間でデータのやり取りを行う。
The
レンダリング処理部115は、複写機が通信インターフェース11003経由で外部から受信した圧縮画像データを伸張したり、PDL(ページ記述言語)データのレンダリング処理を行うことにより、非圧縮のビットマップ画像データに変換する。ただし、このレンダリング処理部をハードウェアとしては搭載せずに、上記のレンダリング処理をCPU116で行うことも可能である。
The
CPU(中央制御装置)116は、バス111経由で装置全体を制御する。
The CPU (central control unit) 116 controls the entire device via the
プリンタ画像処理部117は、スキャナ画像処理部112、レンダリング処理部115において処理されたビットマップ画像データに対し、色変換、量子化などの処理を行い、プリンタ制御部118へ出力する。プリンタ画像処理部117は、以下の3つのサブモジュールを含む。フィルタ処理モジュール(B)1171は、入力されたデジタル画像データに対して、フィルタ処理モジュール(A)1122とは別種のフィルタ処理を行う。フィルタ処理モジュール(B)1171は、レンダリング処理部115の出力画像データに対して、インクのにじみなどを考慮して出力画像のエッジ部を細らせるなどのフィルタ処理を行う。色変換モジュール1172は、輝度(RGB)で表される画像データに対して、マトリクス演算、3D-LUT(ルックアップテーブル)などの処理を用いて、CMYKなどのインク色に対応した多値の濃度データに変換する。量子化モジュール1173は、色変換モジュール1172でインク色に対応した多値データに変換された画像データに対して、ディザ、誤差拡散などの既知の手法を用いて、プリンタユニットで出力できる量子化データに変換する。プリンタ画像処理部117の処理結果は、メインメモリ11002へ出力される。
The printer
プリンタ制御部118は、プリンタ画像処理部117から出力された量子化データを、メインメモリ11002から読み出してプリントキャリッジヘッド11004へ送信する。スキャナ制御部119は、CPU116の命令および機構部11005で検知される状態に応じてスキャナユニット11001を制御する。A/D変換部120は、スキャナユニット11001から出力される画素単位のアナログ信号をA/D変換してデジタル画像データに変換しメインメモリ11002へ書き出す。
The
本実施形態での複写機の内部のデータフローは、コピー時には、
スキャナユニット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:
→ A/
→Scanner
→Printer
→
→
When printing PDL data received from outside the copier,
→
→Printer
→
→
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
図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
遅延バッファ301は、フィルタ処理モジュール(A)1122に、ラスタ順に入力される各画素値を一時的に格納するサブモジュールであり、フリップフロップ回路、レジスタ、またはメモリなどで構成される。
The
フィルタ入力画素選択部302は、遅延バッファ301に格納された複数の画素のうち、フィルタ処理の対象となる幅(2M+1)画素×高さ(2M+1)画素の画素値を選択して読み出す。フィルタ入力画素選択部302は、読み出された各画素値を、一括して後段のフィルタ演算部303に入力する。
The filter input
フィルタ演算部303は、フィルタ入力画素選択部302で選択された各画素値を入力として、中心画素を注目画素としたフィルタ処理演算を行い、結果を1画素ずつ出力する。ただし、1画素のフィルタ処理演算にかかる時間は、フィルタ処理モジュール(A)1122にある1画素を入力してから、次の1画素を入力するまでの時間よりも短い時間とする。
The
第1の実施形態では、上述した端点延長手段を用いず、フィルタ入力画素選択部302において、のりしろ部の画素値を補う処理を行う。図9を参照して、詳細を説明する。
In the first embodiment, the above-mentioned end point extension means is not used, and the filter input
遅延バッファ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
また、遅延バッファ301は、入力画像の画素値を格納するのではなく、2M+1個分の所定の固定値を設定できる固定値レジスタ3012を備える。固定値レジスタ3012については、第3の実施形態で後述する。
In addition, the
フィルタ入力画素選択部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
フィルタ演算部303は、(2M+1)個のセレクタ3021で選択された(2M+1)個の画素値群(総画素数は(2M+1)×(2M+1))を入力としてフィルタ処理を行い、注目画素に対応する処理結果として画素値を1画素分出力する。ここで、フィルタ処理する範囲の2M+1個の各カラム(第0ラインから第2Mライン)の画素値群は、遅延バッファ301のメモリ3011のうち2M+1個のメモリ3011から、セレクタ3021により選択されて読み出された画素値である。
The
メモリ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
図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
その選択のアルゴリズムについて以下で詳しく説明する。ここでは、上述したのりしろ部の画素値を補う手法のうち第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
この選択は、入力画像の左ののりしろ部の画素(図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
(工程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
図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
上記(工程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
なお、本実施形態の説明では、フィルタ処理の対象範囲を縦横同じ(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 (
第1の実施形態によれば、フィルタ入力画素選択部302が、1画素ずつ入力される入力画素の座標に応じて、のりしろ部の画素を補完しながら遅延バッファ301内の画素群を選択して、フィルタ演算部303に入力する。これにより、上記(工程2)の処理以降は、1画素ごとの入力に対して、1画素の出力を得ることができるので、入力レートと同じレートで出力を行うことができる。従って、のりしろ部の画素の補完による処理速度の低下を防ぐことができる。
According to the first embodiment, the filter input
(第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
(工程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
処理レートは第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
(その他の実施形態)
上述した実施形態は、本開示の内容を限定するものではなく、本実施形態で説明されている特徴の組み合わせの全てが、本開示の解決手段に必須のものとは限らない。また、本実施形態に記載されている構成要素の相対配置、形状等は、あくまで例示であり、本開示の内容をこれらに限定する趣旨ではない。
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
構成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
構成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
構成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
構成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
Claims (9)
前記入力画像の画素のうち少なくとも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×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.
前記入力画像の画素の座標を(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.
前記入力画像の画素の座標を(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.
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) |
-
2022
- 2022-12-19 JP JP2022202183A patent/JP2024087384A/en active Pending
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 |